0x608060405234801561001057600080fd5b506135e6806100206000396000f3fe608060405234801561001057600080fd5b506004361061023d5760003560e01c806393ef0b5f1161013b578063af04a9a0116100b8578063cf756fdf1161007c578063cf756fdf14610654578063d21220a714610670578063d547741f1461068e578063f6f72580146106aa578063f7d97577146106c65761023d565b8063af04a9a0146105c2578063b2855b4f146105e0578063c24e9561146105fc578063c92b08911461061a578063c9dc5263146106365761023d565b8063a035b1fe116100ff578063a035b1fe14610532578063a217fddf14610550578063a714da7b1461056e578063a889ceea1461058a578063a9f6462e146105a65761023d565b806393ef0b5f146104a057806397208431146104bc578063978ccb7a146104da5780639c466f1f146104f85780639eb94eb4146105145761023d565b80632f2ff15d116101c95780635a8563e71161018d5780635a8563e7146103fc5780635b149feb146104185780636b1b4987146104365780639072e3061461045457806391d14854146104705761023d565b80632f2ff15d1461038057806336568abe1461039c57806338c8bf55146103b857806338e3127f146103d45780633a5a707f146103de5761023d565b806317461c101161021057806317461c10146102ca578063247f1e60146102e6578063248a9ca314610316578063258836fe146103465780632e90d05f146103625761023d565b806301ffc9a7146102425780630dfe16811461027257806313d112a914610290578063164795c5146102ae575b600080fd5b61025c600480360381019061025791906124c0565b6106e2565b6040516102699190612508565b60405180910390f35b61027a61075c565b6040516102879190612564565b60405180910390f35b610298610782565b6040516102a59190612598565b60405180910390f35b6102c860048036038101906102c391906125df565b610788565b005b6102e460048036038101906102df91906125df565b6107bd565b005b61030060048036038101906102fb91906125df565b61082b565b60405161030d9190612598565b60405180910390f35b610330600480360381019061032b9190612642565b610843565b60405161033d919061267e565b60405180910390f35b610360600480360381019061035b91906126c5565b610863565b005b61036a61091f565b6040516103779190612598565b60405180910390f35b61039a60048036038101906103959190612705565b610925565b005b6103b660048036038101906103b19190612705565b610946565b005b6103d260048036038101906103cd91906125df565b6109c9565b005b6103dc6109fe565b005b6103e6610b35565b6040516103f39190612598565b60405180910390f35b610416600480360381019061041191906125df565b610b3b565b005b610420610ee5565b60405161042d9190612598565b60405180910390f35b61043e610eeb565b60405161044b9190612598565b60405180910390f35b61046e600480360381019061046991906125df565b610ef1565b005b61048a60048036038101906104859190612705565b610f26565b6040516104979190612508565b60405180910390f35b6104ba60048036038101906104b591906125df565b610f91565b005b6104c4610fc6565b6040516104d19190612598565b60405180910390f35b6104e2610fcc565b6040516104ef9190612598565b60405180910390f35b610512600480360381019061050d91906125df565b610fd2565b005b61051c611007565b6040516105299190612598565b60405180910390f35b61053a61100d565b6040516105479190612598565b60405180910390f35b61055861103e565b604051610565919061267e565b60405180910390f35b610588600480360381019061058391906125df565b611045565b005b6105a4600480360381019061059f91906125df565b61107a565b005b6105c060048036038101906105bb91906125df565b611112565b005b6105ca6111ac565b6040516105d79190612598565b60405180910390f35b6105fa60048036038101906105f59190612745565b6111b8565b005b610604611227565b6040516106119190612598565b60405180910390f35b610634600480360381019061062f91906125df565b61122d565b005b61063e6115d7565b60405161064b9190612598565b60405180910390f35b61066e60048036038101906106699190612772565b6115dd565b005b61067861199b565b6040516106859190612564565b60405180910390f35b6106a860048036038101906106a39190612705565b6119c1565b005b6106c460048036038101906106bf91906125df565b6119e2565b005b6106e060048036038101906106db91906127d9565b611a50565b005b60007f7965db0b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610755575061075482611adf565b5b9050919050565b60a460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60a95481565b7f523a704056dcd17bcf83bed8b68c59416dac1119be77755efe3bde0a64e46e0c6107b281611b49565b8160ac819055505050565b7f523a704056dcd17bcf83bed8b68c59416dac1119be77755efe3bde0a64e46e0c6107e781611b49565b81609d819055507fbc0a21788a7b5ddca26ff44aa320042f0d6e2b5a4ac8e79a481bf365f1fa7894609d5460405161081f9190612598565b60405180910390a15050565b60a86020528060005260406000206000915090505481565b600060656000838152602001908152602001600020600101549050919050565b6000801b61087081611b49565b6000839050610919838273ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016108b29190612564565b602060405180830381865afa1580156108cf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108f3919061282e565b8373ffffffffffffffffffffffffffffffffffffffff16611b5d9092919063ffffffff16565b50505050565b60ac5481565b61092e82610843565b61093781611b49565b6109418383611be3565b505050565b61094e611cc4565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146109bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109b2906128de565b60405180910390fd5b6109c58282611ccc565b5050565b7f523a704056dcd17bcf83bed8b68c59416dac1119be77755efe3bde0a64e46e0c6109f381611b49565b8160ab819055505050565b7f523a704056dcd17bcf83bed8b68c59416dac1119be77755efe3bde0a64e46e0c610a2881611b49565b600060a2541115610aad57610aa460a660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660a25460a460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611b5d9092919063ffffffff16565b600060a2819055505b600060a3541115610b3257610b2960a660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660a35460a560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611b5d9092919063ffffffff16565b600060a3819055505b50565b60ab5481565b60ab548110158015610b4e575060a95481105b610b8d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b849061294a565b60405180910390fd5b6000609c541115610c3a576000609c54609c5442610bab91906129c8565b610bb591906129f9565b905060008260a7600084815260200190815260200160002054610bd89190612a3b565b9050609d54811115610c1f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c1690612ae1565b60405180910390fd5b8060a760008481526020019081526020016000208190555050505b600060a560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600060a460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506000610c9261100d565b90506000609a546305f5e100610ca891906129f9565b609b548387610cb791906129f9565b610cc191906129f9565b610ccb91906129c8565b9050808473ffffffffffffffffffffffffffffffffffffffff166370a08231610cf2611cc4565b6040518263ffffffff1660e01b8152600401610d0e9190612564565b602060405180830381865afa158015610d2b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d4f919061282e565b1015610d90576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d8790612b4d565b60405180910390fd5b6000859050600060a0541115610e1e5760006305f5e10060a05488610db591906129f9565b610dbf91906129c8565b90508082610dcd9190612b6d565b9150610e1c60a660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16828773ffffffffffffffffffffffffffffffffffffffff16611b5d9092919063ffffffff16565b505b610e52610e29611cc4565b30848873ffffffffffffffffffffffffffffffffffffffff16611dae909392919063ffffffff16565b610e84610e5d611cc4565b828673ffffffffffffffffffffffffffffffffffffffff16611b5d9092919063ffffffff16565b610e8c611cc4565b73ffffffffffffffffffffffffffffffffffffffff167f9d9b6e19ef4dd321474eface4979243f908e7fd91daba674d9409a100bce2ecb878486604051610ed593929190612ba1565b60405180910390a2505050505050565b60a15481565b60a05481565b7f523a704056dcd17bcf83bed8b68c59416dac1119be77755efe3bde0a64e46e0c610f1b81611b49565b8160a0819055505050565b60006065600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b7f523a704056dcd17bcf83bed8b68c59416dac1119be77755efe3bde0a64e46e0c610fbb81611b49565b8160a9819055505050565b609e5481565b609f5481565b7f523a704056dcd17bcf83bed8b68c59416dac1119be77755efe3bde0a64e46e0c610ffc81611b49565b8160a1819055505050565b60aa5481565b600080609954111561103557611021611e37565b60975461102e9190612a3b565b905061103b565b60975490505b90565b6000801b81565b7f523a704056dcd17bcf83bed8b68c59416dac1119be77755efe3bde0a64e46e0c61106f81611b49565b8160aa819055505050565b7f523a704056dcd17bcf83bed8b68c59416dac1119be77755efe3bde0a64e46e0c6110a481611b49565b81609e81905550600082426110b991906129c8565b9050600060a86000838152602001908152602001600020819055507f2d30e3dbde0320dbec1cefcbd3251d552061b658e8782ac13e148fa440729e5a609e546040516111059190612598565b60405180910390a1505050565b7f523a704056dcd17bcf83bed8b68c59416dac1119be77755efe3bde0a64e46e0c61113c81611b49565b81609c819055506000609c544261115391906129c8565b9050600060a76000838152602001908152602001600020819055507f6e9313e6dd1af16ab46ced93bb2b9bb74601616ef60e8ee97e285e8871b8b9a5609c5460405161119f9190612598565b60405180910390a1505050565b60006305f5e100905090565b7f523a704056dcd17bcf83bed8b68c59416dac1119be77755efe3bde0a64e46e0c6111e281611b49565b8160a660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b609d5481565b60ac548110158015611240575060aa5481105b61127f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112769061294a565b60405180910390fd5b6000609e54111561132c576000609e54609e544261129d91906129c8565b6112a791906129f9565b905060008260a86000848152602001908152602001600020546112ca9190612a3b565b9050609f54811115611311576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161130890612c4a565b60405180910390fd5b8060a860008481526020019081526020016000208190555050505b600060a560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600060a460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050828173ffffffffffffffffffffffffffffffffffffffff166370a0823161139f611cc4565b6040518263ffffffff1660e01b81526004016113bb9190612564565b602060405180830381865afa1580156113d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113fc919061282e565b101561143d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161143490612cb6565b60405180910390fd5b611471611448611cc4565b30858473ffffffffffffffffffffffffffffffffffffffff16611dae909392919063ffffffff16565b6000839050600060a15411156114ff5760006305f5e10060a1548361149691906129f9565b6114a091906129c8565b905080826114ae9190612b6d565b91506114fd60a660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16828573ffffffffffffffffffffffffffffffffffffffff16611b5d9092919063ffffffff16565b505b600061150961100d565b90506000609a546305f5e10061151f91906129f9565b609b54838561152e91906129f9565b61153891906129f9565b61154291906129c8565b905061157661154f611cc4565b828773ffffffffffffffffffffffffffffffffffffffff16611b5d9092919063ffffffff16565b61157e611cc4565b73ffffffffffffffffffffffffffffffffffffffff167f08d4dd786c6647ce74ef58420268d60e8046f26a5df00ac94643ef9b9130f0488783856040516115c793929190612ba1565b60405180910390a2505050505050565b609c5481565b60008060019054906101000a900460ff1615905080801561160e5750600160008054906101000a900460ff1660ff16105b8061163b575061161d30611e81565b15801561163a5750600160008054906101000a900460ff1660ff16145b5b61167a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161167190612d48565b60405180910390fd5b60016000806101000a81548160ff021916908360ff16021790555080156116b7576001600060016101000a81548160ff0219169083151502179055505b6116bf611ea4565b6116d36000801b6116ce611cc4565b611ef5565b6117047f523a704056dcd17bcf83bed8b68c59416dac1119be77755efe3bde0a64e46e0c6116ff611cc4565b611ef5565b8460a460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508360a560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508260a660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060a460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015611834573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118589190612da1565b600a6118649190612f01565b609a8190555060a560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118fb9190612da1565b600a6119079190612f01565b609b8190555081609781905550600060a081905550624c4b4060a181905550620151804261193591906129c8565b60988190555080156119945760008060016101000a81548160ff0219169083151502179055507f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498600160405161198b9190612f91565b60405180910390a15b5050505050565b60a560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6119ca82610843565b6119d381611b49565b6119dd8383611ccc565b505050565b7f523a704056dcd17bcf83bed8b68c59416dac1119be77755efe3bde0a64e46e0c611a0c81611b49565b81609f819055507ff4cb9495c05045013be22b9472d83d5ee60d2c1e63a55553b390d5c1da813ab5609f54604051611a449190612598565b60405180910390a15050565b7f523a704056dcd17bcf83bed8b68c59416dac1119be77755efe3bde0a64e46e0c611a7a81611b49565b82609781905550816099819055506201518042611a9791906129c8565b6098819055507f7a23754ec05fb9abcc146d222035598f3cf9aac8c35fe1c74b08f0b7717713a4609754609954604051611ad2929190612fac565b60405180910390a1505050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b611b5a81611b55611cc4565b611f03565b50565b611bde8363a9059cbb60e01b8484604051602401611b7c929190612fd5565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050611f88565b505050565b611bed8282610f26565b611cc05760016065600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550611c65611cc4565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b600033905090565b611cd68282610f26565b15611daa5760006065600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550611d4f611cc4565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45b5050565b611e31846323b872dd60e01b858585604051602401611dcf93929190612ffe565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050611f88565b50505050565b6000806201518042611e4991906129c8565b9050609854811115611e785760995460985482611e669190612b6d565b611e7091906129f9565b915050611e7e565b60009150505b90565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b600060019054906101000a900460ff16611ef3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611eea906130a7565b60405180910390fd5b565b611eff8282611be3565b5050565b611f0d8282610f26565b611f8457611f1a81612050565b611f288360001c602061207d565b604051602001611f399291906131d0565b6040516020818303038152906040526040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f7b9190613254565b60405180910390fd5b5050565b6000611fea826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166122b99092919063ffffffff16565b905060008151148061200c57508080602001905181019061200b91906132a2565b5b61204b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161204290613341565b60405180910390fd5b505050565b60606120768273ffffffffffffffffffffffffffffffffffffffff16601460ff1661207d565b9050919050565b60606000600283600261209091906129f9565b61209a9190612a3b565b67ffffffffffffffff8111156120b3576120b2613361565b5b6040519080825280601f01601f1916602001820160405280156120e55781602001600182028036833780820191505090505b5090507f30000000000000000000000000000000000000000000000000000000000000008160008151811061211d5761211c613390565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f78000000000000000000000000000000000000000000000000000000000000008160018151811061218157612180613390565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600060018460026121c191906129f9565b6121cb9190612a3b565b90505b600181111561226b577f3031323334353637383961626364656600000000000000000000000000000000600f86166010811061220d5761220c613390565b5b1a60f81b82828151811061222457612223613390565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600485901c945080612264906133bf565b90506121ce565b50600084146122af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122a690613434565b60405180910390fd5b8091505092915050565b60606122c884846000856122d1565b90509392505050565b606082471015612316576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161230d906134c6565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff16858760405161233f919061352d565b60006040518083038185875af1925050503d806000811461237c576040519150601f19603f3d011682016040523d82523d6000602084013e612381565b606091505b50915091506123928783838761239e565b92505050949350505050565b606083156124005760008351036123f8576123b885611e81565b6123f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123ee90613590565b60405180910390fd5b5b82905061240b565b61240a8383612413565b5b949350505050565b6000825111156124265781518083602001fd5b806040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161245a9190613254565b60405180910390fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61249d81612468565b81146124a857600080fd5b50565b6000813590506124ba81612494565b92915050565b6000602082840312156124d6576124d5612463565b5b60006124e4848285016124ab565b91505092915050565b60008115159050919050565b612502816124ed565b82525050565b600060208201905061251d60008301846124f9565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061254e82612523565b9050919050565b61255e81612543565b82525050565b60006020820190506125796000830184612555565b92915050565b6000819050919050565b6125928161257f565b82525050565b60006020820190506125ad6000830184612589565b92915050565b6125bc8161257f565b81146125c757600080fd5b50565b6000813590506125d9816125b3565b92915050565b6000602082840312156125f5576125f4612463565b5b6000612603848285016125ca565b91505092915050565b6000819050919050565b61261f8161260c565b811461262a57600080fd5b50565b60008135905061263c81612616565b92915050565b60006020828403121561265857612657612463565b5b60006126668482850161262d565b91505092915050565b6126788161260c565b82525050565b6000602082019050612693600083018461266f565b92915050565b6126a281612543565b81146126ad57600080fd5b50565b6000813590506126bf81612699565b92915050565b600080604083850312156126dc576126db612463565b5b60006126ea858286016126b0565b92505060206126fb858286016126b0565b9150509250929050565b6000806040838503121561271c5761271b612463565b5b600061272a8582860161262d565b925050602061273b858286016126b0565b9150509250929050565b60006020828403121561275b5761275a612463565b5b6000612769848285016126b0565b91505092915050565b6000806000806080858703121561278c5761278b612463565b5b600061279a878288016126b0565b94505060206127ab878288016126b0565b93505060406127bc878288016126b0565b92505060606127cd878288016125ca565b91505092959194509250565b600080604083850312156127f0576127ef612463565b5b60006127fe858286016125ca565b925050602061280f858286016125ca565b9150509250929050565b600081519050612828816125b3565b92915050565b60006020828403121561284457612843612463565b5b600061285284828501612819565b91505092915050565b600082825260208201905092915050565b7f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560008201527f20726f6c657320666f722073656c660000000000000000000000000000000000602082015250565b60006128c8602f8361285b565b91506128d38261286c565b604082019050919050565b600060208201905081810360008301526128f7816128bb565b9050919050565b7f4465783a20616d6f756e74206572726f72000000000000000000000000000000600082015250565b600061293460118361285b565b915061293f826128fe565b602082019050919050565b6000602082019050818103600083015261296381612927565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006129d38261257f565b91506129de8361257f565b9250826129ee576129ed61296a565b5b828204905092915050565b6000612a048261257f565b9150612a0f8361257f565b9250828202612a1d8161257f565b91508282048414831517612a3457612a33612999565b5b5092915050565b6000612a468261257f565b9150612a518361257f565b9250828201905080821115612a6957612a68612999565b5b92915050565b7f4465783a20616363416d6f756e74203e2062757954656d70657254687265736860008201527f6f6c640000000000000000000000000000000000000000000000000000000000602082015250565b6000612acb60238361285b565b9150612ad682612a6f565b604082019050919050565b60006020820190508181036000830152612afa81612abe565b9050919050565b7f4465783a20746f6b656e3120496e73756666696369656e742062616c616e6365600082015250565b6000612b3760208361285b565b9150612b4282612b01565b602082019050919050565b60006020820190508181036000830152612b6681612b2a565b9050919050565b6000612b788261257f565b9150612b838361257f565b9250828203905081811115612b9b57612b9a612999565b5b92915050565b6000606082019050612bb66000830186612589565b612bc36020830185612589565b612bd06040830184612589565b949350505050565b7f4465783a20616363416d6f756e74203e2073656c6c54656d706572546872657360008201527f686f6c6400000000000000000000000000000000000000000000000000000000602082015250565b6000612c3460248361285b565b9150612c3f82612bd8565b604082019050919050565b60006020820190508181036000830152612c6381612c27565b9050919050565b7f4465783a20746f6b656e3020496e73756666696369656e742062616c616e6365600082015250565b6000612ca060208361285b565b9150612cab82612c6a565b602082019050919050565b60006020820190508181036000830152612ccf81612c93565b9050919050565b7f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160008201527f647920696e697469616c697a6564000000000000000000000000000000000000602082015250565b6000612d32602e8361285b565b9150612d3d82612cd6565b604082019050919050565b60006020820190508181036000830152612d6181612d25565b9050919050565b600060ff82169050919050565b612d7e81612d68565b8114612d8957600080fd5b50565b600081519050612d9b81612d75565b92915050565b600060208284031215612db757612db6612463565b5b6000612dc584828501612d8c565b91505092915050565b60008160011c9050919050565b6000808291508390505b6001851115612e2557808604811115612e0157612e00612999565b5b6001851615612e105780820291505b8081029050612e1e85612dce565b9450612de5565b94509492505050565b600082612e3e5760019050612efa565b81612e4c5760009050612efa565b8160018114612e625760028114612e6c57612e9b565b6001915050612efa565b60ff841115612e7e57612e7d612999565b5b8360020a915084821115612e9557612e94612999565b5b50612efa565b5060208310610133831016604e8410600b8410161715612ed05782820a905083811115612ecb57612eca612999565b5b612efa565b612edd8484846001612ddb565b92509050818404811115612ef457612ef3612999565b5b81810290505b9392505050565b6000612f0c8261257f565b9150612f1783612d68565b9250612f447fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612e2e565b905092915050565b6000819050919050565b6000819050919050565b6000612f7b612f76612f7184612f4c565b612f56565b612d68565b9050919050565b612f8b81612f60565b82525050565b6000602082019050612fa66000830184612f82565b92915050565b6000604082019050612fc16000830185612589565b612fce6020830184612589565b9392505050565b6000604082019050612fea6000830185612555565b612ff76020830184612589565b9392505050565b60006060820190506130136000830186612555565b6130206020830185612555565b61302d6040830184612589565b949350505050565b7f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960008201527f6e697469616c697a696e67000000000000000000000000000000000000000000602082015250565b6000613091602b8361285b565b915061309c82613035565b604082019050919050565b600060208201905081810360008301526130c081613084565b9050919050565b600081905092915050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000600082015250565b60006131086017836130c7565b9150613113826130d2565b601782019050919050565b600081519050919050565b60005b8381101561314757808201518184015260208101905061312c565b60008484015250505050565b600061315e8261311e565b61316881856130c7565b9350613178818560208601613129565b80840191505092915050565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000600082015250565b60006131ba6011836130c7565b91506131c582613184565b601182019050919050565b60006131db826130fb565b91506131e78285613153565b91506131f2826131ad565b91506131fe8284613153565b91508190509392505050565b6000601f19601f8301169050919050565b60006132268261311e565b613230818561285b565b9350613240818560208601613129565b6132498161320a565b840191505092915050565b6000602082019050818103600083015261326e818461321b565b905092915050565b61327f816124ed565b811461328a57600080fd5b50565b60008151905061329c81613276565b92915050565b6000602082840312156132b8576132b7612463565b5b60006132c68482850161328d565b91505092915050565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b600061332b602a8361285b565b9150613336826132cf565b604082019050919050565b6000602082019050818103600083015261335a8161331e565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60006133ca8261257f565b9150600082036133dd576133dc612999565b5b600182039050919050565b7f537472696e67733a20686578206c656e67746820696e73756666696369656e74600082015250565b600061341e60208361285b565b9150613429826133e8565b602082019050919050565b6000602082019050818103600083015261344d81613411565b9050919050565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b60006134b060268361285b565b91506134bb82613454565b604082019050919050565b600060208201905081810360008301526134df816134a3565b9050919050565b600081519050919050565b600081905092915050565b6000613507826134e6565b61351181856134f1565b9350613521818560208601613129565b80840191505092915050565b600061353982846134fc565b915081905092915050565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b600061357a601d8361285b565b915061358582613544565b602082019050919050565b600060208201905081810360008301526135a98161356d565b905091905056fea264697066735822122026a585f50b7aa57db74a1c15c2aadd15158164cdc992047fbc07d450128f360964736f6c63430008120033