0x608060405234801561001057600080fd5b50610680806100206000396000f3fe6080604052600436106100345760003560e01c80630d78d4e8146100395780632bee23b11461004e578063e30d6e1e1461006e575b600080fd5b61004c61004736600461053b565b6100ad565b005b34801561005a57600080fd5b5061004c610069366004610583565b6104f4565b34801561007a57600080fd5b5061009b6100893660046105b4565b60006020819052908152604090205481565b60405190815260200160405180910390f35b6040516331a9108f60e11b815262ffffff8216600482015260009073ff6000a85baac9c4854faa7155e70ba850bf726b90636352211e90602401602060405180830381865afa158015610104573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061012891906105d8565b60405163e985e9c560e01b815290915073ff6000a85baac9c4854faa7155e70ba850bf726b9063e985e9c59061016490849030906004016105f5565b602060405180830381865afa158015610181573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101a5919061060f565b6101c257604051630233014760e51b815260040160405180910390fd5b60405163e985e9c560e01b815273b04b8b5a0ba5e9e8029dd01de2ca22af509263539063e985e9c5906101fb90339030906004016105f5565b602060405180830381865afa158015610218573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061023c919061060f565b61025957604051631ad4874d60e11b815260040160405180910390fd5b6001600160a01b0381166000908152602081905260409020543414610291576040516307ecc7c560e51b815260040160405180910390fd5b6040516323b872dd60e01b815273b04b8b5a0ba5e9e8029dd01de2ca22af50926353906323b872dd906102cc90339030908890600401610631565b600060405180830381600087803b1580156102e657600080fd5b505af11580156102fa573d6000803e3d6000fd5b50506040516323b872dd60e01b815273ff6000a85baac9c4854faa7155e70ba850bf726b92506323b872dd915061033990849030908790600401610658565b600060405180830381600087803b15801561035357600080fd5b505af1158015610367573d6000803e3d6000fd5b50506040516314d6810d60e31b815261ffff8616600482015262ffffff8516602482015273b04b8b5a0ba5e9e8029dd01de2ca22af50926353925063a6b408689150604401600060405180830381600087803b1580156103c657600080fd5b505af11580156103da573d6000803e3d6000fd5b50506040516323b872dd60e01b815273b04b8b5a0ba5e9e8029dd01de2ca22af5092635392506323b872dd915061041990309033908890600401610631565b600060405180830381600087803b15801561043357600080fd5b505af1158015610447573d6000803e3d6000fd5b50506040516323b872dd60e01b815273ff6000a85baac9c4854faa7155e70ba850bf726b92506323b872dd915061048690309085908790600401610658565b600060405180830381600087803b1580156104a057600080fd5b505af11580156104b4573d6000803e3d6000fd5b50506040516001600160a01b03841692503480156108fc029250906000818181858888f193505050501580156104ee573d6000803e3d6000fd5b50505050565b336000818152602081815260409182902084905590518381527f713ee93e86adfa026672d8982d6eb80edd285676229233c950eaf847dfa4db33910160405180910390a250565b6000806040838503121561054e57600080fd5b823561ffff8116811461056057600080fd5b9150602083013562ffffff8116811461057857600080fd5b809150509250929050565b60006020828403121561059557600080fd5b5035919050565b6001600160a01b03811681146105b157600080fd5b50565b6000602082840312156105c657600080fd5b81356105d18161059c565b9392505050565b6000602082840312156105ea57600080fd5b81516105d18161059c565b6001600160a01b0392831681529116602082015260400190565b60006020828403121561062157600080fd5b815180151581146105d157600080fd5b6001600160a01b03938416815291909216602082015261ffff909116604082015260600190565b6001600160a01b03938416815291909216602082015262ffffff90911660408201526060019056