0x608060405234801562000010575f80fd5b50604051620012403803806200124083398181016040528101906200003691906200023b565b620000566200004a6200010e60201b60201c565b6200011560201b60201c565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603620000c7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620000be90620002c9565b60405180910390fd5b8060015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050620002e9565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6200020582620001da565b9050919050565b6200021781620001f9565b811462000222575f80fd5b50565b5f8151905062000235816200020c565b92915050565b5f60208284031215620002535762000252620001d6565b5b5f620002628482850162000225565b91505092915050565b5f82825260208201905092915050565b7f5a4552524f2061646472657373000000000000000000000000000000000000005f82015250565b5f620002b1600d836200026b565b9150620002be826200027b565b602082019050919050565b5f6020820190508181035f830152620002e281620002a3565b9050919050565b610f4980620002f75f395ff3fe608060405234801561000f575f80fd5b506004361061007b575f3560e01c80638da5cb5b116100595780638da5cb5b146100c1578063e4111dfa146100df578063f2fde38b146100fb578063fc0c546a146101175761007b565b806357fc53241461007f57806366829b161461009b578063715018a6146100b7575b5f80fd5b610099600480360381019061009491906109f9565b610135565b005b6100b560048036038101906100b09190610a6f565b6102ff565b005b6100bf6103b8565b005b6100c96103cb565b6040516100d69190610aa9565b60405180910390f35b6100f960048036038101906100f49190610ac2565b6103f2565b005b61011560048036038101906101109190610a6f565b61055e565b005b61011f6105e0565b60405161012c9190610b77565b60405180910390f35b61013d610605565b8051825114610181576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161017890610bea565b60405180910390fd5b5f5b81518110156102fa575f73ffffffffffffffffffffffffffffffffffffffff168382815181106101b6576101b5610c08565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1603610214576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161020b90610c7f565b60405180910390fd5b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3385848151811061026557610264610c08565b5b60200260200101518585815181106102805761027f610c08565b5b60200260200101516040518463ffffffff1660e01b81526004016102a693929190610cac565b6020604051808303815f875af11580156102c2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102e69190610d16565b5080806102f290610d6e565b915050610183565b505050565b610307610605565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610375576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161036c90610dff565b60405180910390fd5b8060015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6103c0610605565b6103c95f610683565b565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6103fa610605565b5f5b8251811015610559575f73ffffffffffffffffffffffffffffffffffffffff1683828151811061042f5761042e610c08565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff160361048d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161048490610c7f565b60405180910390fd5b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd338584815181106104de576104dd610c08565b5b6020026020010151856040518463ffffffff1660e01b815260040161050593929190610cac565b6020604051808303815f875af1158015610521573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105459190610d16565b50808061055190610d6e565b9150506103fc565b505050565b610566610605565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036105d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105cb90610e8d565b60405180910390fd5b6105dd81610683565b50565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61060d610744565b73ffffffffffffffffffffffffffffffffffffffff1661062b6103cb565b73ffffffffffffffffffffffffffffffffffffffff1614610681576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161067890610ef5565b60405180910390fd5b565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f33905090565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6107a682610760565b810181811067ffffffffffffffff821117156107c5576107c4610770565b5b80604052505050565b5f6107d761074b565b90506107e3828261079d565b919050565b5f67ffffffffffffffff82111561080257610801610770565b5b602082029050602081019050919050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61084082610817565b9050919050565b61085081610836565b811461085a575f80fd5b50565b5f8135905061086b81610847565b92915050565b5f61088361087e846107e8565b6107ce565b905080838252602082019050602084028301858111156108a6576108a5610813565b5b835b818110156108cf57806108bb888261085d565b8452602084019350506020810190506108a8565b5050509392505050565b5f82601f8301126108ed576108ec61075c565b5b81356108fd848260208601610871565b91505092915050565b5f67ffffffffffffffff8211156109205761091f610770565b5b602082029050602081019050919050565b5f819050919050565b61094381610931565b811461094d575f80fd5b50565b5f8135905061095e8161093a565b92915050565b5f61097661097184610906565b6107ce565b9050808382526020820190506020840283018581111561099957610998610813565b5b835b818110156109c257806109ae8882610950565b84526020840193505060208101905061099b565b5050509392505050565b5f82601f8301126109e0576109df61075c565b5b81356109f0848260208601610964565b91505092915050565b5f8060408385031215610a0f57610a0e610754565b5b5f83013567ffffffffffffffff811115610a2c57610a2b610758565b5b610a38858286016108d9565b925050602083013567ffffffffffffffff811115610a5957610a58610758565b5b610a65858286016109cc565b9150509250929050565b5f60208284031215610a8457610a83610754565b5b5f610a918482850161085d565b91505092915050565b610aa381610836565b82525050565b5f602082019050610abc5f830184610a9a565b92915050565b5f8060408385031215610ad857610ad7610754565b5b5f83013567ffffffffffffffff811115610af557610af4610758565b5b610b01858286016108d9565b9250506020610b1285828601610950565b9150509250929050565b5f819050919050565b5f610b3f610b3a610b3584610817565b610b1c565b610817565b9050919050565b5f610b5082610b25565b9050919050565b5f610b6182610b46565b9050919050565b610b7181610b57565b82525050565b5f602082019050610b8a5f830184610b68565b92915050565b5f82825260208201905092915050565b7f2052454a454354454400000000000000000000000000000000000000000000005f82015250565b5f610bd4600983610b90565b9150610bdf82610ba0565b602082019050919050565b5f6020820190508181035f830152610c0181610bc8565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f7a6572726f2061646472657373210000000000000000000000000000000000005f82015250565b5f610c69600e83610b90565b9150610c7482610c35565b602082019050919050565b5f6020820190508181035f830152610c9681610c5d565b9050919050565b610ca681610931565b82525050565b5f606082019050610cbf5f830186610a9a565b610ccc6020830185610a9a565b610cd96040830184610c9d565b949350505050565b5f8115159050919050565b610cf581610ce1565b8114610cff575f80fd5b50565b5f81519050610d1081610cec565b92915050565b5f60208284031215610d2b57610d2a610754565b5b5f610d3884828501610d02565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f610d7882610931565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203610daa57610da9610d41565b5b600182019050919050565b7f5a4552524f2061646472657373000000000000000000000000000000000000005f82015250565b5f610de9600d83610b90565b9150610df482610db5565b602082019050919050565b5f6020820190508181035f830152610e1681610ddd565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f610e77602683610b90565b9150610e8282610e1d565b604082019050919050565b5f6020820190508181035f830152610ea481610e6b565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f610edf602083610b90565b9150610eea82610eab565b602082019050919050565b5f6020820190508181035f830152610f0c81610ed3565b905091905056fea2646970667358221220fe2a7b3f6de73ef21bc5446dc2053523197072215f08281a6fe6bcc36ee0b42064736f6c6343000814003300000000000000000000000004765a4e38f67293000303074973162818ba1998