0x000000000000000000000000000000000000000000000000000000000000000060a06040523480156200001157600080fd5b50604051620015fc380380620015fc83398181016040528101906200003791906200022e565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036200009e576040517f8bce6cc100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff1681525050620000e2620000e960201b60201c565b5062000344565b600060019054906101000a900460ff16156200013c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200013390620002e7565b60405180910390fd5b60ff801660008054906101000a900460ff1660ff161015620001ae5760ff6000806101000a81548160ff021916908360ff1602179055507f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249860ff604051620001a5919062000327565b60405180910390a15b565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620001e282620001b5565b9050919050565b6000620001f682620001d5565b9050919050565b6200020881620001e9565b81146200021457600080fd5b50565b6000815190506200022881620001fd565b92915050565b600060208284031215620002475762000246620001b0565b5b6000620002578482850162000217565b91505092915050565b600082825260208201905092915050565b7f496e697469616c697a61626c653a20636f6e747261637420697320696e69746960008201527f616c697a696e6700000000000000000000000000000000000000000000000000602082015250565b6000620002cf60278362000260565b9150620002dc8262000271565b604082019050919050565b600060208201905081810360008301526200030281620002c0565b9050919050565b600060ff82169050919050565b620003218162000309565b82525050565b60006020820190506200033e600083018462000316565b92915050565b60805161128e6200036e60003960008181610211015281816104270152610631015261128e6000f3fe60806040523480156200001157600080fd5b5060043610620000a05760003560e01c80635e6e2a1b116200006f5780635e6e2a1b14620001695780638129fc1c146200019f5780638e7daf6914620001ab578063a9a7d78e14620001cd578063e0aa78fc14620001ed57620000a0565b806330b540c114620000a5578063347cb1e914620000c75780634c96a38914620000fd5780634e1d91d81462000133575b600080fd5b620000af6200020f565b604051620000be919062000b2a565b60405180910390f35b620000e56004803603810190620000df919062000b91565b62000233565b604051620000f4919062000be0565b60405180910390f35b6200011b600480360381019062000115919062000b91565b62000356565b6040516200012a919062000c0e565b60405180910390f35b6200015160048036038101906200014b919062000b91565b620003af565b60405162000160919062000c0e565b60405180910390f35b62000187600480360381019062000181919062000c2b565b620003df565b60405162000196919062000c0e565b60405180910390f35b620001a9620004c7565b005b620001b562000609565b604051620001c4919062000c0e565b60405180910390f35b620001eb6004803603810190620001e5919062000b91565b6200062f565b005b620001f7620006f9565b60405162000206919062000c8d565b60405180910390f35b7f000000000000000000000000000000000000000000000000000000000000000081565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000273576000905062000351565b6000151562000282836200074a565b15150362000294576000905062000351565b8173ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015620002ff57506040513d601f19601f82011682018060405250810190620002fc919062000cc1565b60015b6200030e576000905062000351565b60006200031b82620003af565b90508373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614925050505b919050565b60008162000364816200074a565b156200039c576040517f6e31ab6d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b620003a7836200076d565b915050919050565b6000620003bc826200074a565b15620003cc5760009050620003da565b620003d7826200087a565b90505b919050565b600082620003ed816200074a565b1562000425576040517f6e31ab6d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663f77cbc43846040518263ffffffff1660e01b815260040162000480919062000c0e565b60006040518083038186803b1580156200049957600080fd5b505afa158015620004ae573d6000803e3d6000fd5b50505050620004be848462000915565b91505092915050565b60008060019054906101000a900460ff16159050808015620004f95750600160008054906101000a900460ff1660ff16105b806200052a57506200050b3062000a3c565b158015620005295750600160008054906101000a900460ff1660ff16145b5b6200056c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620005639062000d7a565b60405180910390fd5b60016000806101000a81548160ff021916908360ff1602179055508015620005aa576001600060016101000a81548160ff0219169083151502179055505b8015620006065760008060016101000a81548160ff0219169083151502179055507f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024986001604051620005fd919062000dec565b60405180910390a15b50565b600060029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614620006b5576040517f14389b5500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600060026101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b604051806020016200070b9062000a91565b6020820181038252601f19601f8201166040525060405160200162000731919062000e82565b6040516020818303038152906040528051906020012081565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b60006200077a8262000a5f565b604051620007889062000a91565b8190604051809103906000f5905080158015620007a9573d6000803e3d6000fd5b5090508073ffffffffffffffffffffffffffffffffffffffff1663c4d66de8836040518263ffffffff1660e01b8152600401620007e7919062000c0e565b600060405180830381600087803b1580156200080257600080fd5b505af115801562000817573d6000803e3d6000fd5b505050508073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f0e2d0feff5e8ebc6a92c82e612b2eb241d5fc1f0c7b54ebd2637384f8a75d32460405160405180910390a3919050565b60008060ff60f81b306200088e8562000a5f565b60405180602001620008a09062000a91565b6020820181038252601f19601f82011660405250604051602001620008c6919062000e82565b60405160208183030381529060405280519060200120604051602001620008f1949392919062000f61565b6040516020818303038152906040528051906020012090508060001c915050919050565b6000620009228362000a5f565b604051620009309062000a91565b8190604051809103906000f590508015801562000951573d6000803e3d6000fd5b5090508073ffffffffffffffffffffffffffffffffffffffff166321f9c79384846040518363ffffffff1660e01b81526004016200099192919062000fb7565b600060405180830381600087803b158015620009ac57600080fd5b505af1158015620009c1573d6000803e3d6000fd5b505050508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f682beb1855b53b78c50b7299498ba0f791ce5417da23f6c5d2b35ad0f40aab3960405160405180910390a492915050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b60008160405160200162000a74919062000c0e565b604051602081830303815290604052805190602001209050919050565b6102748062000fe583390190565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600062000aea62000ae462000ade8462000a9f565b62000abf565b62000a9f565b9050919050565b600062000afe8262000ac9565b9050919050565b600062000b128262000af1565b9050919050565b62000b248162000b05565b82525050565b600060208201905062000b41600083018462000b19565b92915050565b600080fd5b600062000b598262000a9f565b9050919050565b62000b6b8162000b4c565b811462000b7757600080fd5b50565b60008135905062000b8b8162000b60565b92915050565b60006020828403121562000baa5762000ba962000b47565b5b600062000bba8482850162000b7a565b91505092915050565b60008115159050919050565b62000bda8162000bc3565b82525050565b600060208201905062000bf7600083018462000bcf565b92915050565b62000c088162000b4c565b82525050565b600060208201905062000c25600083018462000bfd565b92915050565b6000806040838503121562000c455762000c4462000b47565b5b600062000c558582860162000b7a565b925050602062000c688582860162000b7a565b9150509250929050565b6000819050919050565b62000c878162000c72565b82525050565b600060208201905062000ca4600083018462000c7c565b92915050565b60008151905062000cbb8162000b60565b92915050565b60006020828403121562000cda5762000cd962000b47565b5b600062000cea8482850162000caa565b91505092915050565b600082825260208201905092915050565b7f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160008201527f647920696e697469616c697a6564000000000000000000000000000000000000602082015250565b600062000d62602e8362000cf3565b915062000d6f8262000d04565b604082019050919050565b6000602082019050818103600083015262000d958162000d53565b9050919050565b6000819050919050565b600060ff82169050919050565b600062000dd462000dce62000dc88462000d9c565b62000abf565b62000da6565b9050919050565b62000de68162000db3565b82525050565b600060208201905062000e03600083018462000ddb565b92915050565b600081519050919050565b600081905092915050565b60005b8381101562000e3f57808201518184015260208101905062000e22565b60008484015250505050565b600062000e588262000e09565b62000e64818562000e14565b935062000e7681856020860162000e1f565b80840191505092915050565b600062000e90828462000e4b565b915081905092915050565b60007fff0000000000000000000000000000000000000000000000000000000000000082169050919050565b6000819050919050565b62000ee662000ee08262000e9b565b62000ec7565b82525050565b60008160601b9050919050565b600062000f068262000eec565b9050919050565b600062000f1a8262000ef9565b9050919050565b62000f3662000f308262000b4c565b62000f0d565b82525050565b6000819050919050565b62000f5b62000f558262000c72565b62000f3c565b82525050565b600062000f6f828762000ed1565b60018201915062000f81828662000f21565b60148201915062000f93828562000f46565b60208201915062000fa5828462000f46565b60208201915081905095945050505050565b600060408201905062000fce600083018562000bfd565b62000fdd602083018462000bfd565b939250505056fe608060405234801561001057600080fd5b506000803373ffffffffffffffffffffffffffffffffffffffff166040518060400160405280600481526020017f8e7daf690000000000000000000000000000000000000000000000000000000081525060405161006e91906101a5565b6000604051808303816000865af19150503d80600081146100ab576040519150601f19603f3d011682016040523d82523d6000602084013e6100b0565b606091505b50915091506000602082015190508215806100e2575060008173ffffffffffffffffffffffffffffffffffffffff163b145b156100ec57600080fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050506101bc565b600081519050919050565b600081905092915050565b60005b8381101561016857808201518184015260208101905061014d565b60008484015250505050565b600061017f82610134565b610189818561013f565b935061019981856020860161014a565b80840191505092915050565b60006101b18284610174565b915081905092915050565b60aa806101ca6000396000f3fe608060405273ffffffffffffffffffffffffffffffffffffffff600054167f87e9052a0000000000000000000000000000000000000000000000000000000060003503604f578060005260206000f35b3660008037600080366000845af43d6000803e8060008114606f573d6000f35b3d6000fdfea26469706673582212206b87e9571aaea9ed523b568c544f1e27605a9e60767f9b6c9efbab3ad8293ea864736f6c63430008110033a26469706673582212205826616c7b7cb81879c73e8c1004e4849ea4524ac02927f615861ab8114b1c9664736f6c63430008110033000000000000000000000000ffb25fc4dd103102baaf79c996f44a860b8b98ab