diff --git a/artifacts/bytecode/assets/lsp7/DigitalAssetDrop.bin b/artifacts/bytecode/assets/lsp7/DigitalAssetDrop.bin index 4bb8bac..33fefe2 100644 --- a/artifacts/bytecode/assets/lsp7/DigitalAssetDrop.bin +++ b/artifacts/bytecode/assets/lsp7/DigitalAssetDrop.bin @@ -1 +1 @@ -0x60a060405234801561001057600080fd5b50604051610ca7380380610ca783398101604081905261002f916101a6565b600180556001600160a01b03831661007e5760405162461bcd60e51b815260206004820152600d60248201526c6173736574206973207a65726f60981b60448201526064015b60405180910390fd5b60008290036100be5760405162461bcd60e51b815260206004820152600c60248201526b726f6f74206973207a65726f60a01b6044820152606401610075565b6001600160a01b0381166101045760405162461bcd60e51b815260206004820152600d60248201526c6f776e6572206973207a65726f60981b6044820152606401610075565b6001600160a01b03831660805261011a82600255565b6101238161012b565b5050506101e9565b6000546001600160a01b0382811691161461018e57600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a3505b50565b6001600160a01b038116811461018e57600080fd5b6000806000606084860312156101bb57600080fd5b83516101c681610191565b6020850151604086015191945092506101de81610191565b809150509250925092565b608051610a8f61021860003960008181607c0152818161022c01528181610329015261042d0152610a8f6000f3fe608060405234801561001057600080fd5b50600436106100725760003560e01c8063c8edd8ab11610050578063c8edd8ab146100d5578063f05c55ac146100e8578063f2fde38b146100fb57600080fd5b806338d52e0f14610077578063715018a6146100ba5780638da5cb5b146100c4575b600080fd5b61009e7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b6100c261010e565b005b6000546001600160a01b031661009e565b6100c26100e3366004610892565b610122565b6100c26100f6366004610926565b610298565b6100c2610109366004610926565b610496565b610116610523565b610120600061058c565b565b61012a610609565b61019c858580806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250506040516bffffffffffffffffffffffff193360601b166020820152603481018690528792506054019050604051602081830303815290604052610662565b816001600160a01b0316837f4ec90e965519d92681267467f775ada5bd214aa92c0dc93d90a5e880ce9ed026836040516101d891815260200190565b60405180910390a3604051633b06cddd60e11b81523060048201526001600160a01b038381166024830152604482018390526000606483015260a06084830152600260a483015261060f60f31b60c48301527f0000000000000000000000000000000000000000000000000000000000000000169063760d9bba9060e401600060405180830381600087803b15801561027057600080fd5b505af1158015610284573d6000803e3d6000fd5b5050505061029160018055565b5050505050565b6102a0610523565b6102a8610609565b6001600160a01b0381166102f8576040517f1a3b45fd0000000000000000000000000000000000000000000000000000000081526001600160a01b03821660048201526024015b60405180910390fd5b6040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015610378573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061039c9190610941565b9050816001600160a01b03167feb44e1b23fad598a86840f12d9ab99216d186e1eeebb5ef8e3b3d152ba7cbc7e826040516103d991815260200190565b60405180910390a2604051633b06cddd60e11b81523060048201526001600160a01b038381166024830152604482018390526001606483015260a06084830152600260a483015261060f60f31b60c48301527f0000000000000000000000000000000000000000000000000000000000000000169063760d9bba9060e401600060405180830381600087803b15801561047157600080fd5b505af1158015610485573d6000803e3d6000fd5b505050505061049360018055565b50565b61049e610523565b6001600160a01b03811661051a5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016102ef565b6104938161058c565b336105366000546001600160a01b031690565b6001600160a01b0316146101205760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016102ef565b6000546001600160a01b0382811691161461049357600080546001600160a01b038381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60026001540361065b5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016102ef565b6002600155565b60025461069b576040517f5058901600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6106a482610762565b156106df5781816040517f331e2c3f0000000000000000000000000000000000000000000000000000000081526004016102ef92919061097e565b600082826040516020016106f49291906109b8565b60405160208183030381529060405280519060200120905061071984600254836107a3565b6107535782826040517f4a0e7b130000000000000000000000000000000000000000000000000000000081526004016102ef92919061097e565b61075c836107b9565b50505050565b600080610771610100846109f4565b9050600061078161010085610a08565b60009283526003602052604090922054600190921b9182169091149392505050565b6000826107b085846107f7565b14949350505050565b60006107c7610100836109f4565b905060006107d761010084610a08565b6000928352600360205260409092208054600190931b9092179091555050565b600081815b845181101561083c576108288286838151811061081b5761081b610a1c565b6020026020010151610844565b91508061083481610a32565b9150506107fc565b509392505050565b600081831061086057600082815260208490526040902061086f565b60008381526020839052604090205b9392505050565b80356001600160a01b038116811461088d57600080fd5b919050565b6000806000806000608086880312156108aa57600080fd5b853567ffffffffffffffff808211156108c257600080fd5b818801915088601f8301126108d657600080fd5b8135818111156108e557600080fd5b8960208260051b85010111156108fa57600080fd5b60209283019750955050860135925061091560408701610876565b949793965091946060013592915050565b60006020828403121561093857600080fd5b61086f82610876565b60006020828403121561095357600080fd5b5051919050565b60005b8381101561097557818101518382015260200161095d565b50506000910152565b82815260406020820152600082518060408401526109a381606085016020870161095a565b601f01601f1916919091016060019392505050565b828152600082516109d081602085016020870161095a565b919091016020019392505050565b634e487b7160e01b600052601260045260246000fd5b600082610a0357610a036109de565b500490565b600082610a1757610a176109de565b500690565b634e487b7160e01b600052603260045260246000fd5b600060018201610a5257634e487b7160e01b600052601160045260246000fd5b506001019056fea26469706673582212209eeb67118564fefc4116cca0036adbe0e8d575392b526387dfa7c9b798b66e1264736f6c63430008110033 +0x60a060405234801561001057600080fd5b50604051610ca7380380610ca783398101604081905261002f916101a6565b600180556001600160a01b03831661007e5760405162461bcd60e51b815260206004820152600d60248201526c6173736574206973207a65726f60981b60448201526064015b60405180910390fd5b60008290036100be5760405162461bcd60e51b815260206004820152600c60248201526b726f6f74206973207a65726f60a01b6044820152606401610075565b6001600160a01b0381166101045760405162461bcd60e51b815260206004820152600d60248201526c6f776e6572206973207a65726f60981b6044820152606401610075565b6001600160a01b03831660805261011a82600255565b6101238161012b565b5050506101e9565b6000546001600160a01b0382811691161461018e57600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a3505b50565b6001600160a01b038116811461018e57600080fd5b6000806000606084860312156101bb57600080fd5b83516101c681610191565b6020850151604086015191945092506101de81610191565b809150509250925092565b608051610a8f61021860003960008181607c0152818161022c01528181610329015261042d0152610a8f6000f3fe608060405234801561001057600080fd5b50600436106100725760003560e01c8063c8edd8ab11610050578063c8edd8ab146100d5578063f05c55ac146100e8578063f2fde38b146100fb57600080fd5b806338d52e0f14610077578063715018a6146100ba5780638da5cb5b146100c4575b600080fd5b61009e7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b6100c261010e565b005b6000546001600160a01b031661009e565b6100c26100e3366004610892565b610122565b6100c26100f6366004610926565b610298565b6100c2610109366004610926565b610496565b610116610523565b610120600061058c565b565b61012a610609565b61019c858580806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250506040516bffffffffffffffffffffffff193360601b166020820152603481018690528792506054019050604051602081830303815290604052610662565b816001600160a01b0316837f4ec90e965519d92681267467f775ada5bd214aa92c0dc93d90a5e880ce9ed026836040516101d891815260200190565b60405180910390a3604051633b06cddd60e11b81523060048201526001600160a01b038381166024830152604482018390526000606483015260a06084830152600260a483015261060f60f31b60c48301527f0000000000000000000000000000000000000000000000000000000000000000169063760d9bba9060e401600060405180830381600087803b15801561027057600080fd5b505af1158015610284573d6000803e3d6000fd5b5050505061029160018055565b5050505050565b6102a0610523565b6102a8610609565b6001600160a01b0381166102f8576040517f1a3b45fd0000000000000000000000000000000000000000000000000000000081526001600160a01b03821660048201526024015b60405180910390fd5b6040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015610378573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061039c9190610941565b9050816001600160a01b03167feb44e1b23fad598a86840f12d9ab99216d186e1eeebb5ef8e3b3d152ba7cbc7e826040516103d991815260200190565b60405180910390a2604051633b06cddd60e11b81523060048201526001600160a01b038381166024830152604482018390526001606483015260a06084830152600260a483015261060f60f31b60c48301527f0000000000000000000000000000000000000000000000000000000000000000169063760d9bba9060e401600060405180830381600087803b15801561047157600080fd5b505af1158015610485573d6000803e3d6000fd5b505050505061049360018055565b50565b61049e610523565b6001600160a01b03811661051a5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016102ef565b6104938161058c565b336105366000546001600160a01b031690565b6001600160a01b0316146101205760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016102ef565b6000546001600160a01b0382811691161461049357600080546001600160a01b038381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60026001540361065b5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016102ef565b6002600155565b60025461069b576040517f5058901600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6106a482610762565b156106df5781816040517f331e2c3f0000000000000000000000000000000000000000000000000000000081526004016102ef92919061097e565b600082826040516020016106f49291906109b8565b60405160208183030381529060405280519060200120905061071984600254836107a3565b6107535782826040517f4a0e7b130000000000000000000000000000000000000000000000000000000081526004016102ef92919061097e565b61075c836107b9565b50505050565b600080610771610100846109f4565b9050600061078161010085610a08565b60009283526003602052604090922054600190921b9182169091149392505050565b6000826107b085846107f7565b14949350505050565b60006107c7610100836109f4565b905060006107d761010084610a08565b6000928352600360205260409092208054600190931b9092179091555050565b600081815b845181101561083c576108288286838151811061081b5761081b610a1c565b6020026020010151610844565b91508061083481610a32565b9150506107fc565b509392505050565b600081831061086057600082815260208490526040902061086f565b60008381526020839052604090205b9392505050565b80356001600160a01b038116811461088d57600080fd5b919050565b6000806000806000608086880312156108aa57600080fd5b853567ffffffffffffffff808211156108c257600080fd5b818801915088601f8301126108d657600080fd5b8135818111156108e557600080fd5b8960208260051b85010111156108fa57600080fd5b60209283019750955050860135925061091560408701610876565b949793965091946060013592915050565b60006020828403121561093857600080fd5b61086f82610876565b60006020828403121561095357600080fd5b5051919050565b60005b8381101561097557818101518382015260200161095d565b50506000910152565b82815260406020820152600082518060408401526109a381606085016020870161095a565b601f01601f1916919091016060019392505050565b828152600082516109d081602085016020870161095a565b919091016020019392505050565b634e487b7160e01b600052601260045260246000fd5b600082610a0357610a036109de565b500490565b600082610a1757610a176109de565b500690565b634e487b7160e01b600052603260045260246000fd5b600060018201610a5257634e487b7160e01b600052601160045260246000fd5b506001019056fea2646970667358221220604f44aefb11001d5d752142ae0fa042be0c1e2c4fec71a27d4f38f3bdf2eea664736f6c63430008110033 diff --git a/artifacts/bytecode/assets/lsp7/MintableDigitalAsset.bin b/artifacts/bytecode/assets/lsp7/MintableDigitalAsset.bin index b2621cc..4139984 100644 --- a/artifacts/bytecode/assets/lsp7/MintableDigitalAsset.bin +++ b/artifacts/bytecode/assets/lsp7/MintableDigitalAsset.bin @@ -1 +1 @@ -0x60a06040523480156200001157600080fd5b50604051620024d4380380620024d4833981016040819052620000349162000369565b808585858583838383838383806001600160a01b038116620000ab5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840160405180910390fd5b620000c181620001dc60201b62000a211760201c565b50620001187feafec4d89fa9619884b60000a4d96624a38f7ac2d8d9a604ecf07c12c77e480c60001b604051806040016040528060048152602001632936598960e21b8152506200024360201b62000a9e1760201c565b620001527fdeba1e292f8ba88238e10ab3c7f88bd4be4fac56cad5194b6ecceaf653468af160001b846200024360201b62000a9e1760201c565b6200018c7f2f0a68ab07768e01943a599e73362a0e17a63a72e94dd2e384d2c1d4db93275660001b836200024360201b62000a9e1760201c565b50506005805460ff19169215159290921790915550505060008690039450620001cd93505050505760405163acf1d8c560e01b815260040160405180910390fd5b60805250620005aa9350505050565b6000546001600160a01b038281169116146200024057600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a3505b50565b60008281526001602052604090206200025d8282620004a9565b50817fece574603820d07bc9b91f2a932baadf4628aabcb8afba49776529c14a6104b28260405162000290919062000575565b60405180910390a25050565b634e487b7160e01b600052604160045260246000fd5b60005b83811015620002cf578181015183820152602001620002b5565b50506000910152565b600082601f830112620002ea57600080fd5b81516001600160401b03808211156200030757620003076200029c565b604051601f8301601f19908116603f011681019082821181831017156200033257620003326200029c565b816040528381528660208588010111156200034c57600080fd5b6200035f846020830160208901620002b2565b9695505050505050565b600080600080600060a086880312156200038257600080fd5b85516001600160401b03808211156200039a57600080fd5b620003a889838a01620002d8565b96506020880151915080821115620003bf57600080fd5b50620003ce88828901620002d8565b604088015190955090506001600160a01b0381168114620003ee57600080fd5b606087015190935080151581146200040557600080fd5b80925050608086015190509295509295909350565b600181811c908216806200042f57607f821691505b6020821081036200045057634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620004a457600081815260208120601f850160051c810160208610156200047f5750805b601f850160051c820191505b81811015620004a0578281556001016200048b565b5050505b505050565b81516001600160401b03811115620004c557620004c56200029c565b620004dd81620004d684546200041a565b8462000456565b602080601f831160018114620005155760008415620004fc5750858301515b600019600386901b1c1916600185901b178555620004a0565b600085815260208120601f198616915b82811015620005465788860151825594840194600190910190840162000525565b5085821015620005655787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b602081526000825180602084015262000596816040850160208701620002b2565b601f01601f19169190910160400192915050565b608051611f07620005cd60003960008181610250015261105e0152611f076000f3fe60806040526004361061015f5760003560e01c8063715018a6116100c05780639790242111610074578063dedff9c611610059578063dedff9c6146103ba578063f2fde38b146103e7578063fad8b32a1461040757600080fd5b80639790242114610387578063a457c2d71461039a57600080fd5b8063760d9bba116100a5578063760d9bba1461032c5780637f23690c1461034c5780638da5cb5b1461035f57600080fd5b8063715018a6146102f75780637580d9201461030c57600080fd5b806347980aa31161011757806354f6127f116100fc57806354f6127f1461027457806365aeaa95146102a157806370a08231146102c157600080fd5b806347980aa31461022157806352058d8a1461024157600080fd5b80632d7667c9116101485780632d7667c9146101b8578063313ce567146101da578063395093511461020157600080fd5b806301ffc9a71461016457806318160ddd14610199575b600080fd5b34801561017057600080fd5b5061018461017f36600461157d565b610427565b60405190151581526020015b60405180910390f35b3480156101a557600080fd5b506004545b604051908152602001610190565b3480156101c457600080fd5b506101d86101d336600461186d565b61046b565b005b3480156101e657600080fd5b506101ef610573565b60405160ff9091168152602001610190565b34801561020d57600080fd5b506101d861021c36600461193f565b61058c565b34801561022d57600080fd5b506101d861023c36600461193f565b6105af565b34801561024d57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006101aa565b34801561028057600080fd5b5061029461028f366004611969565b6105ba565b60405161019091906119d2565b3480156102ad57600080fd5b506101aa6102bc3660046119e5565b6105c5565b3480156102cd57600080fd5b506101aa6102dc366004611a18565b6001600160a01b031660009081526002602052604090205490565b34801561030357600080fd5b506101d861062c565b34801561031857600080fd5b506101d8610327366004611a33565b610640565b34801561033857600080fd5b506101d8610347366004611a9b565b61065a565b6101d861035a366004611b07565b610762565b34801561036b57600080fd5b506000546040516001600160a01b039091168152602001610190565b6101d8610395366004611b4e565b610793565b3480156103a657600080fd5b506101d86103b536600461193f565b610885565b3480156103c657600080fd5b506103da6103d5366004611ba8565b6108da565b6040516101909190611be5565b3480156103f357600080fd5b506101d8610402366004611a18565b610985565b34801561041357600080fd5b506101d8610422366004611a18565b610a15565b60006001600160e01b031982167fda1f85e4000000000000000000000000000000000000000000000000000000001480610465575061046582610af3565b92915050565b845184518114158061047e575083518114155b8061048a575082518114155b80610496575081518114155b156104cd576040517f263eee8d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b8181101561056a576105628782815181106104ed576104ed611c47565b602002602001015187838151811061050757610507611c47565b602002602001015187848151811061052157610521611c47565b602002602001015187858151811061053b5761053b611c47565b602002602001015187868151811061055557610555611c47565b602002602001015161065a565b6001016104d0565b50505050505050565b60055460009060ff166105865750601290565b50600090565b6105ab33838361059c86336105c5565b6105a69190611c73565b610b41565b5050565b6105ab338383610b41565b606061046582610c85565b6000826001600160a01b0316826001600160a01b0316036105ff57506001600160a01b038116600090815260026020526040902054610465565b506001600160a01b0380821660009081526003602090815260408083209386168352929052205492915050565b610634610d27565b61063e6000610a21565b565b610648610d27565b61065484848484610d90565b50505050565b836001600160a01b0316856001600160a01b0316036106a5576040517fb9afb00000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b336001600160a01b038616811461074d576001600160a01b038087166000908152600360209081526040808320938516835292905220548085111561073c576040517ff3a6b6910000000000000000000000000000000000000000000000000000000081526001600160a01b0380891660048301526024820183905283166044820152606481018690526084015b60405180910390fd5b61074b87836105a68885611c86565b505b61075a8686868686610d9c565b505050505050565b61076a610d27565b34156107895760405163f36ba73760e01b815260040160405180910390fd5b6105ab8282610f42565b61079b610d27565b34156107ba5760405163f36ba73760e01b815260040160405180910390fd5b80518251146107f5576040517f3bcc897900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8151600003610830576040517f97da5f9500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b82518110156108805761087883828151811061085157610851611c47565b602002602001015183838151811061086b5761086b611c47565b6020026020010151610f42565b600101610833565b505050565b600061089183336105c5565b9050818110156108cd576040517f0ef76c3500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6108803384848403610b41565b6060815167ffffffffffffffff8111156108f6576108f66115ae565b60405190808252806020026020018201604052801561092957816020015b60608152602001906001900390816109145790505b50905060005b825181101561097f5761095a83828151811061094d5761094d611c47565b6020026020010151610c85565b82828151811061096c5761096c611c47565b602090810291909101015260010161092f565b50919050565b61098d610d27565b6001600160a01b038116610a095760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610733565b610a1281610a21565b50565b610a1233826000610b41565b6000546001600160a01b03828116911614610a1257600080546001600160a01b038381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000828152600160205260409020610ab68282611d13565b50817fece574603820d07bc9b91f2a932baadf4628aabcb8afba49776529c14a6104b282604051610ae791906119d2565b60405180910390a25050565b60006001600160e01b031982167f629aa69400000000000000000000000000000000000000000000000000000000148061046557506301ffc9a760e01b6001600160e01b0319831614610465565b6001600160a01b038216610b81576040517f6355e76600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b826001600160a01b0316826001600160a01b031603610bcc576040517fdab7504700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0380841660009081526003602090815260408083209386168352929052208190558015610c405780836001600160a01b0316836001600160a01b03167fd66aff874162a96578e919097b6f6d153dfd89a5cec41bb331fdb0c4aec16e2c60405160405180910390a4505050565b826001600160a01b0316826001600160a01b03167f50546e66e5f44d728365dc3908c63bc5cfeeab470722c1677e3073a6ac294aa160405160405180910390a3505050565b6000818152600160205260409020805460609190610ca290611c99565b80601f0160208091040260200160405190810160405280929190818152602001828054610cce90611c99565b8015610d1b5780601f10610cf057610100808354040283529160200191610d1b565b820191906000526020600020905b815481529060010190602001808311610cfe57829003601f168201915b50505050509050919050565b33610d3a6000546001600160a01b031690565b6001600160a01b03161461063e5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610733565b6106548484848461105c565b6001600160a01b0385161580610db957506001600160a01b038416155b15610dd757604051630d2d5ec360e41b815260040160405180910390fd5b6001600160a01b03851660009081526002602052604090205480841115610e43576040517f08d47949000000000000000000000000000000000000000000000000000000008152600481018290526001600160a01b038716602482015260448101859052606401610733565b336001600160a01b03871660009081526002602052604081208054879290610e6c908490611c86565b90915550506001600160a01b03861660009081526002602052604081208054879290610e99908490611c73565b92505081905550856001600160a01b0316876001600160a01b0316826001600160a01b03167f3997e418d2cef0b3b0e907b1e39605c3f7d32dbd061e82ea5b4a770d46a160a6888888604051610ef193929190611dd3565b60405180910390a4600087878786604051602001610f129493929190611dfd565b6040516020818303038152906040529050610f2d88826110d5565b610f38878683611180565b5050505050505050565b7f2145e1d6d074577dc71ef54c3807742b41b053a9352ae6b491331509acb9750f8201610f9b576040517f85c169bd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7fd0f59754f88971fe6bc5a6618cc9d5f1e859c58d16b22d1c7b2d3e2b246cd8aa8201610ff4576040517f76755b3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600082815260016020526040902061100c8282611d13565b50817fece574603820d07bc9b91f2a932baadf4628aabcb8afba49776529c14a6104b26101008351111561104d576110488360006101006112ba565b61104f565b825b604051610ae791906119d2565b7f00000000000000000000000000000000000000000000000000000000000000008361108760045490565b6110919190611c73565b11156110c9576040517feacbf0d100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610654848484846113e2565b6110e682631aed5a8560e21b6114df565b156105ab57604051631aed5a8560e21b81526001600160a01b03831690636bb56a1490611139907f429ac7a06903dbc9c13dfcb3c9d11df8194581fa047c96d7a4171fc7402958ea908590600401611e4a565b6000604051808303816000875af1158015611158573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526108809190810190611e63565b61119183631aed5a8560e21b6114df565b1561122b57604051631aed5a8560e21b81526001600160a01b03841690636bb56a14906111e4907f20804611b3e2ea21c480dc465142210acf4a2485947541770ec1fb87dee4a55c908590600401611e4a565b6000604051808303816000875af1158015611203573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526106549190810190611e63565b81610880576001600160a01b0383163b1561127d576040517fa608fbb60000000000000000000000000000000000000000000000000000000081526001600160a01b0384166004820152602401610733565b6040517f26c247f40000000000000000000000000000000000000000000000000000000081526001600160a01b0384166004820152602401610733565b6060816112c881601f611c73565b10156113165760405162461bcd60e51b815260206004820152600e60248201527f736c6963655f6f766572666c6f770000000000000000000000000000000000006044820152606401610733565b6113208284611c73565b845110156113705760405162461bcd60e51b815260206004820152601160248201527f736c6963655f6f75744f66426f756e64730000000000000000000000000000006044820152606401610733565b60608215801561138f57604051915060008252602082016040526113d9565b6040519150601f8416801560200281840101858101878315602002848b0101015b818310156113c85780518352602092830192016113b0565b5050858452601f01601f1916604052505b50949350505050565b6001600160a01b03841661140957604051630d2d5ec360e41b815260040160405180910390fd5b33836004600082825461141c9190611c73565b90915550506001600160a01b03851660009081526002602052604081208054869290611449908490611c73565b92505081905550846001600160a01b031660006001600160a01b0316826001600160a01b03167f3997e418d2cef0b3b0e907b1e39605c3f7d32dbd061e82ea5b4a770d46a160a68787876040516114a293929190611dd3565b60405180910390a46000808686856040516020016114c39493929190611dfd565b604051602081830303815290604052905061075a868583611180565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d91506000519050828015611566575060208210155b80156115725750600081115b979650505050505050565b60006020828403121561158f57600080fd5b81356001600160e01b0319811681146115a757600080fd5b9392505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff811182821017156115ed576115ed6115ae565b604052919050565b600067ffffffffffffffff82111561160f5761160f6115ae565b5060051b60200190565b80356001600160a01b038116811461163057600080fd5b919050565b600082601f83011261164657600080fd5b8135602061165b611656836115f5565b6115c4565b82815260059290921b8401810191818101908684111561167a57600080fd5b8286015b8481101561169c5761168f81611619565b835291830191830161167e565b509695505050505050565b600082601f8301126116b857600080fd5b813560206116c8611656836115f5565b82815260059290921b840181019181810190868411156116e757600080fd5b8286015b8481101561169c57803583529183019183016116eb565b8035801515811461163057600080fd5b600082601f83011261172357600080fd5b81356020611733611656836115f5565b82815260059290921b8401810191818101908684111561175257600080fd5b8286015b8481101561169c5761176781611702565b8352918301918301611756565b600067ffffffffffffffff82111561178e5761178e6115ae565b50601f01601f191660200190565b600082601f8301126117ad57600080fd5b81356117bb61165682611774565b8181528460208386010111156117d057600080fd5b816020850160208301376000918101602001919091529392505050565b600082601f8301126117fe57600080fd5b8135602061180e611656836115f5565b82815260059290921b8401810191818101908684111561182d57600080fd5b8286015b8481101561169c57803567ffffffffffffffff8111156118515760008081fd5b61185f8986838b010161179c565b845250918301918301611831565b600080600080600060a0868803121561188557600080fd5b853567ffffffffffffffff8082111561189d57600080fd5b6118a989838a01611635565b965060208801359150808211156118bf57600080fd5b6118cb89838a01611635565b955060408801359150808211156118e157600080fd5b6118ed89838a016116a7565b9450606088013591508082111561190357600080fd5b61190f89838a01611712565b9350608088013591508082111561192557600080fd5b50611932888289016117ed565b9150509295509295909350565b6000806040838503121561195257600080fd5b61195b83611619565b946020939093013593505050565b60006020828403121561197b57600080fd5b5035919050565b60005b8381101561199d578181015183820152602001611985565b50506000910152565b600081518084526119be816020860160208601611982565b601f01601f19169290920160200192915050565b6020815260006115a760208301846119a6565b600080604083850312156119f857600080fd5b611a0183611619565b9150611a0f60208401611619565b90509250929050565b600060208284031215611a2a57600080fd5b6115a782611619565b60008060008060808587031215611a4957600080fd5b611a5285611619565b935060208501359250611a6760408601611702565b9150606085013567ffffffffffffffff811115611a8357600080fd5b611a8f8782880161179c565b91505092959194509250565b600080600080600060a08688031215611ab357600080fd5b611abc86611619565b9450611aca60208701611619565b935060408601359250611adf60608701611702565b9150608086013567ffffffffffffffff811115611afb57600080fd5b6119328882890161179c565b60008060408385031215611b1a57600080fd5b82359150602083013567ffffffffffffffff811115611b3857600080fd5b611b448582860161179c565b9150509250929050565b60008060408385031215611b6157600080fd5b823567ffffffffffffffff80821115611b7957600080fd5b611b85868387016116a7565b93506020850135915080821115611b9b57600080fd5b50611b44858286016117ed565b600060208284031215611bba57600080fd5b813567ffffffffffffffff811115611bd157600080fd5b611bdd848285016116a7565b949350505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015611c3a57603f19888603018452611c288583516119a6565b94509285019290850190600101611c0c565b5092979650505050505050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b8082018082111561046557610465611c5d565b8181038181111561046557610465611c5d565b600181811c90821680611cad57607f821691505b60208210810361097f57634e487b7160e01b600052602260045260246000fd5b601f82111561088057600081815260208120601f850160051c81016020861015611cf45750805b601f850160051c820191505b8181101561075a57828155600101611d00565b815167ffffffffffffffff811115611d2d57611d2d6115ae565b611d4181611d3b8454611c99565b84611ccd565b602080601f831160018114611d765760008415611d5e5750858301515b600019600386901b1c1916600185901b17855561075a565b600085815260208120601f198616915b82811015611da557888601518255948401946001909101908401611d86565b5085821015611dc35787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b8381528215156020820152606060408201526000611df460608301846119a6565b95945050505050565b60006bffffffffffffffffffffffff19808760601b168352808660601b166014840152508360288301528251611e3a816048850160208701611982565b9190910160480195945050505050565b828152604060208201526000611bdd60408301846119a6565b600060208284031215611e7557600080fd5b815167ffffffffffffffff811115611e8c57600080fd5b8201601f81018413611e9d57600080fd5b8051611eab61165682611774565b818152856020838501011115611ec057600080fd5b611df482602083016020860161198256fea26469706673582212206a3dd09943370928d5f34d4fa50097a20f7acb552cc379e28129e25c2f56418564736f6c63430008110033 +0x60a06040523480156200001157600080fd5b50604051620024d4380380620024d4833981016040819052620000349162000369565b808585858583838383838383806001600160a01b038116620000ab5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840160405180910390fd5b620000c181620001dc60201b62000a211760201c565b50620001187feafec4d89fa9619884b60000a4d96624a38f7ac2d8d9a604ecf07c12c77e480c60001b604051806040016040528060048152602001632936598960e21b8152506200024360201b62000a9e1760201c565b620001527fdeba1e292f8ba88238e10ab3c7f88bd4be4fac56cad5194b6ecceaf653468af160001b846200024360201b62000a9e1760201c565b6200018c7f2f0a68ab07768e01943a599e73362a0e17a63a72e94dd2e384d2c1d4db93275660001b836200024360201b62000a9e1760201c565b50506005805460ff19169215159290921790915550505060008690039450620001cd93505050505760405163acf1d8c560e01b815260040160405180910390fd5b60805250620005aa9350505050565b6000546001600160a01b038281169116146200024057600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a3505b50565b60008281526001602052604090206200025d8282620004a9565b50817fece574603820d07bc9b91f2a932baadf4628aabcb8afba49776529c14a6104b28260405162000290919062000575565b60405180910390a25050565b634e487b7160e01b600052604160045260246000fd5b60005b83811015620002cf578181015183820152602001620002b5565b50506000910152565b600082601f830112620002ea57600080fd5b81516001600160401b03808211156200030757620003076200029c565b604051601f8301601f19908116603f011681019082821181831017156200033257620003326200029c565b816040528381528660208588010111156200034c57600080fd5b6200035f846020830160208901620002b2565b9695505050505050565b600080600080600060a086880312156200038257600080fd5b85516001600160401b03808211156200039a57600080fd5b620003a889838a01620002d8565b96506020880151915080821115620003bf57600080fd5b50620003ce88828901620002d8565b604088015190955090506001600160a01b0381168114620003ee57600080fd5b606087015190935080151581146200040557600080fd5b80925050608086015190509295509295909350565b600181811c908216806200042f57607f821691505b6020821081036200045057634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620004a457600081815260208120601f850160051c810160208610156200047f5750805b601f850160051c820191505b81811015620004a0578281556001016200048b565b5050505b505050565b81516001600160401b03811115620004c557620004c56200029c565b620004dd81620004d684546200041a565b8462000456565b602080601f831160018114620005155760008415620004fc5750858301515b600019600386901b1c1916600185901b178555620004a0565b600085815260208120601f198616915b82811015620005465788860151825594840194600190910190840162000525565b5085821015620005655787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b602081526000825180602084015262000596816040850160208701620002b2565b601f01601f19169190910160400192915050565b608051611f07620005cd60003960008181610250015261105e0152611f076000f3fe60806040526004361061015f5760003560e01c8063715018a6116100c05780639790242111610074578063dedff9c611610059578063dedff9c6146103ba578063f2fde38b146103e7578063fad8b32a1461040757600080fd5b80639790242114610387578063a457c2d71461039a57600080fd5b8063760d9bba116100a5578063760d9bba1461032c5780637f23690c1461034c5780638da5cb5b1461035f57600080fd5b8063715018a6146102f75780637580d9201461030c57600080fd5b806347980aa31161011757806354f6127f116100fc57806354f6127f1461027457806365aeaa95146102a157806370a08231146102c157600080fd5b806347980aa31461022157806352058d8a1461024157600080fd5b80632d7667c9116101485780632d7667c9146101b8578063313ce567146101da578063395093511461020157600080fd5b806301ffc9a71461016457806318160ddd14610199575b600080fd5b34801561017057600080fd5b5061018461017f36600461157d565b610427565b60405190151581526020015b60405180910390f35b3480156101a557600080fd5b506004545b604051908152602001610190565b3480156101c457600080fd5b506101d86101d336600461186d565b61046b565b005b3480156101e657600080fd5b506101ef610573565b60405160ff9091168152602001610190565b34801561020d57600080fd5b506101d861021c36600461193f565b61058c565b34801561022d57600080fd5b506101d861023c36600461193f565b6105af565b34801561024d57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006101aa565b34801561028057600080fd5b5061029461028f366004611969565b6105ba565b60405161019091906119d2565b3480156102ad57600080fd5b506101aa6102bc3660046119e5565b6105c5565b3480156102cd57600080fd5b506101aa6102dc366004611a18565b6001600160a01b031660009081526002602052604090205490565b34801561030357600080fd5b506101d861062c565b34801561031857600080fd5b506101d8610327366004611a33565b610640565b34801561033857600080fd5b506101d8610347366004611a9b565b61065a565b6101d861035a366004611b07565b610762565b34801561036b57600080fd5b506000546040516001600160a01b039091168152602001610190565b6101d8610395366004611b4e565b610793565b3480156103a657600080fd5b506101d86103b536600461193f565b610885565b3480156103c657600080fd5b506103da6103d5366004611ba8565b6108da565b6040516101909190611be5565b3480156103f357600080fd5b506101d8610402366004611a18565b610985565b34801561041357600080fd5b506101d8610422366004611a18565b610a15565b60006001600160e01b031982167fda1f85e4000000000000000000000000000000000000000000000000000000001480610465575061046582610af3565b92915050565b845184518114158061047e575083518114155b8061048a575082518114155b80610496575081518114155b156104cd576040517f263eee8d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b8181101561056a576105628782815181106104ed576104ed611c47565b602002602001015187838151811061050757610507611c47565b602002602001015187848151811061052157610521611c47565b602002602001015187858151811061053b5761053b611c47565b602002602001015187868151811061055557610555611c47565b602002602001015161065a565b6001016104d0565b50505050505050565b60055460009060ff166105865750601290565b50600090565b6105ab33838361059c86336105c5565b6105a69190611c73565b610b41565b5050565b6105ab338383610b41565b606061046582610c85565b6000826001600160a01b0316826001600160a01b0316036105ff57506001600160a01b038116600090815260026020526040902054610465565b506001600160a01b0380821660009081526003602090815260408083209386168352929052205492915050565b610634610d27565b61063e6000610a21565b565b610648610d27565b61065484848484610d90565b50505050565b836001600160a01b0316856001600160a01b0316036106a5576040517fb9afb00000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b336001600160a01b038616811461074d576001600160a01b038087166000908152600360209081526040808320938516835292905220548085111561073c576040517ff3a6b6910000000000000000000000000000000000000000000000000000000081526001600160a01b0380891660048301526024820183905283166044820152606481018690526084015b60405180910390fd5b61074b87836105a68885611c86565b505b61075a8686868686610d9c565b505050505050565b61076a610d27565b34156107895760405163f36ba73760e01b815260040160405180910390fd5b6105ab8282610f42565b61079b610d27565b34156107ba5760405163f36ba73760e01b815260040160405180910390fd5b80518251146107f5576040517f3bcc897900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8151600003610830576040517f97da5f9500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b82518110156108805761087883828151811061085157610851611c47565b602002602001015183838151811061086b5761086b611c47565b6020026020010151610f42565b600101610833565b505050565b600061089183336105c5565b9050818110156108cd576040517f0ef76c3500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6108803384848403610b41565b6060815167ffffffffffffffff8111156108f6576108f66115ae565b60405190808252806020026020018201604052801561092957816020015b60608152602001906001900390816109145790505b50905060005b825181101561097f5761095a83828151811061094d5761094d611c47565b6020026020010151610c85565b82828151811061096c5761096c611c47565b602090810291909101015260010161092f565b50919050565b61098d610d27565b6001600160a01b038116610a095760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610733565b610a1281610a21565b50565b610a1233826000610b41565b6000546001600160a01b03828116911614610a1257600080546001600160a01b038381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000828152600160205260409020610ab68282611d13565b50817fece574603820d07bc9b91f2a932baadf4628aabcb8afba49776529c14a6104b282604051610ae791906119d2565b60405180910390a25050565b60006001600160e01b031982167f629aa69400000000000000000000000000000000000000000000000000000000148061046557506301ffc9a760e01b6001600160e01b0319831614610465565b6001600160a01b038216610b81576040517f6355e76600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b826001600160a01b0316826001600160a01b031603610bcc576040517fdab7504700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0380841660009081526003602090815260408083209386168352929052208190558015610c405780836001600160a01b0316836001600160a01b03167fd66aff874162a96578e919097b6f6d153dfd89a5cec41bb331fdb0c4aec16e2c60405160405180910390a4505050565b826001600160a01b0316826001600160a01b03167f50546e66e5f44d728365dc3908c63bc5cfeeab470722c1677e3073a6ac294aa160405160405180910390a3505050565b6000818152600160205260409020805460609190610ca290611c99565b80601f0160208091040260200160405190810160405280929190818152602001828054610cce90611c99565b8015610d1b5780601f10610cf057610100808354040283529160200191610d1b565b820191906000526020600020905b815481529060010190602001808311610cfe57829003601f168201915b50505050509050919050565b33610d3a6000546001600160a01b031690565b6001600160a01b03161461063e5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610733565b6106548484848461105c565b6001600160a01b0385161580610db957506001600160a01b038416155b15610dd757604051630d2d5ec360e41b815260040160405180910390fd5b6001600160a01b03851660009081526002602052604090205480841115610e43576040517f08d47949000000000000000000000000000000000000000000000000000000008152600481018290526001600160a01b038716602482015260448101859052606401610733565b336001600160a01b03871660009081526002602052604081208054879290610e6c908490611c86565b90915550506001600160a01b03861660009081526002602052604081208054879290610e99908490611c73565b92505081905550856001600160a01b0316876001600160a01b0316826001600160a01b03167f3997e418d2cef0b3b0e907b1e39605c3f7d32dbd061e82ea5b4a770d46a160a6888888604051610ef193929190611dd3565b60405180910390a4600087878786604051602001610f129493929190611dfd565b6040516020818303038152906040529050610f2d88826110d5565b610f38878683611180565b5050505050505050565b7f2145e1d6d074577dc71ef54c3807742b41b053a9352ae6b491331509acb9750f8201610f9b576040517f85c169bd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7fd0f59754f88971fe6bc5a6618cc9d5f1e859c58d16b22d1c7b2d3e2b246cd8aa8201610ff4576040517f76755b3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600082815260016020526040902061100c8282611d13565b50817fece574603820d07bc9b91f2a932baadf4628aabcb8afba49776529c14a6104b26101008351111561104d576110488360006101006112ba565b61104f565b825b604051610ae791906119d2565b7f00000000000000000000000000000000000000000000000000000000000000008361108760045490565b6110919190611c73565b11156110c9576040517feacbf0d100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610654848484846113e2565b6110e682631aed5a8560e21b6114df565b156105ab57604051631aed5a8560e21b81526001600160a01b03831690636bb56a1490611139907f429ac7a06903dbc9c13dfcb3c9d11df8194581fa047c96d7a4171fc7402958ea908590600401611e4a565b6000604051808303816000875af1158015611158573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526108809190810190611e63565b61119183631aed5a8560e21b6114df565b1561122b57604051631aed5a8560e21b81526001600160a01b03841690636bb56a14906111e4907f20804611b3e2ea21c480dc465142210acf4a2485947541770ec1fb87dee4a55c908590600401611e4a565b6000604051808303816000875af1158015611203573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526106549190810190611e63565b81610880576001600160a01b0383163b1561127d576040517fa608fbb60000000000000000000000000000000000000000000000000000000081526001600160a01b0384166004820152602401610733565b6040517f26c247f40000000000000000000000000000000000000000000000000000000081526001600160a01b0384166004820152602401610733565b6060816112c881601f611c73565b10156113165760405162461bcd60e51b815260206004820152600e60248201527f736c6963655f6f766572666c6f770000000000000000000000000000000000006044820152606401610733565b6113208284611c73565b845110156113705760405162461bcd60e51b815260206004820152601160248201527f736c6963655f6f75744f66426f756e64730000000000000000000000000000006044820152606401610733565b60608215801561138f57604051915060008252602082016040526113d9565b6040519150601f8416801560200281840101858101878315602002848b0101015b818310156113c85780518352602092830192016113b0565b5050858452601f01601f1916604052505b50949350505050565b6001600160a01b03841661140957604051630d2d5ec360e41b815260040160405180910390fd5b33836004600082825461141c9190611c73565b90915550506001600160a01b03851660009081526002602052604081208054869290611449908490611c73565b92505081905550846001600160a01b031660006001600160a01b0316826001600160a01b03167f3997e418d2cef0b3b0e907b1e39605c3f7d32dbd061e82ea5b4a770d46a160a68787876040516114a293929190611dd3565b60405180910390a46000808686856040516020016114c39493929190611dfd565b604051602081830303815290604052905061075a868583611180565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d91506000519050828015611566575060208210155b80156115725750600081115b979650505050505050565b60006020828403121561158f57600080fd5b81356001600160e01b0319811681146115a757600080fd5b9392505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff811182821017156115ed576115ed6115ae565b604052919050565b600067ffffffffffffffff82111561160f5761160f6115ae565b5060051b60200190565b80356001600160a01b038116811461163057600080fd5b919050565b600082601f83011261164657600080fd5b8135602061165b611656836115f5565b6115c4565b82815260059290921b8401810191818101908684111561167a57600080fd5b8286015b8481101561169c5761168f81611619565b835291830191830161167e565b509695505050505050565b600082601f8301126116b857600080fd5b813560206116c8611656836115f5565b82815260059290921b840181019181810190868411156116e757600080fd5b8286015b8481101561169c57803583529183019183016116eb565b8035801515811461163057600080fd5b600082601f83011261172357600080fd5b81356020611733611656836115f5565b82815260059290921b8401810191818101908684111561175257600080fd5b8286015b8481101561169c5761176781611702565b8352918301918301611756565b600067ffffffffffffffff82111561178e5761178e6115ae565b50601f01601f191660200190565b600082601f8301126117ad57600080fd5b81356117bb61165682611774565b8181528460208386010111156117d057600080fd5b816020850160208301376000918101602001919091529392505050565b600082601f8301126117fe57600080fd5b8135602061180e611656836115f5565b82815260059290921b8401810191818101908684111561182d57600080fd5b8286015b8481101561169c57803567ffffffffffffffff8111156118515760008081fd5b61185f8986838b010161179c565b845250918301918301611831565b600080600080600060a0868803121561188557600080fd5b853567ffffffffffffffff8082111561189d57600080fd5b6118a989838a01611635565b965060208801359150808211156118bf57600080fd5b6118cb89838a01611635565b955060408801359150808211156118e157600080fd5b6118ed89838a016116a7565b9450606088013591508082111561190357600080fd5b61190f89838a01611712565b9350608088013591508082111561192557600080fd5b50611932888289016117ed565b9150509295509295909350565b6000806040838503121561195257600080fd5b61195b83611619565b946020939093013593505050565b60006020828403121561197b57600080fd5b5035919050565b60005b8381101561199d578181015183820152602001611985565b50506000910152565b600081518084526119be816020860160208601611982565b601f01601f19169290920160200192915050565b6020815260006115a760208301846119a6565b600080604083850312156119f857600080fd5b611a0183611619565b9150611a0f60208401611619565b90509250929050565b600060208284031215611a2a57600080fd5b6115a782611619565b60008060008060808587031215611a4957600080fd5b611a5285611619565b935060208501359250611a6760408601611702565b9150606085013567ffffffffffffffff811115611a8357600080fd5b611a8f8782880161179c565b91505092959194509250565b600080600080600060a08688031215611ab357600080fd5b611abc86611619565b9450611aca60208701611619565b935060408601359250611adf60608701611702565b9150608086013567ffffffffffffffff811115611afb57600080fd5b6119328882890161179c565b60008060408385031215611b1a57600080fd5b82359150602083013567ffffffffffffffff811115611b3857600080fd5b611b448582860161179c565b9150509250929050565b60008060408385031215611b6157600080fd5b823567ffffffffffffffff80821115611b7957600080fd5b611b85868387016116a7565b93506020850135915080821115611b9b57600080fd5b50611b44858286016117ed565b600060208284031215611bba57600080fd5b813567ffffffffffffffff811115611bd157600080fd5b611bdd848285016116a7565b949350505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015611c3a57603f19888603018452611c288583516119a6565b94509285019290850190600101611c0c565b5092979650505050505050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b8082018082111561046557610465611c5d565b8181038181111561046557610465611c5d565b600181811c90821680611cad57607f821691505b60208210810361097f57634e487b7160e01b600052602260045260246000fd5b601f82111561088057600081815260208120601f850160051c81016020861015611cf45750805b601f850160051c820191505b8181101561075a57828155600101611d00565b815167ffffffffffffffff811115611d2d57611d2d6115ae565b611d4181611d3b8454611c99565b84611ccd565b602080601f831160018114611d765760008415611d5e5750858301515b600019600386901b1c1916600185901b17855561075a565b600085815260208120601f198616915b82811015611da557888601518255948401946001909101908401611d86565b5085821015611dc35787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b8381528215156020820152606060408201526000611df460608301846119a6565b95945050505050565b60006bffffffffffffffffffffffff19808760601b168352808660601b166014840152508360288301528251611e3a816048850160208701611982565b9190910160480195945050505050565b828152604060208201526000611bdd60408301846119a6565b600060208284031215611e7557600080fd5b815167ffffffffffffffff811115611e8c57600080fd5b8201601f81018413611e9d57600080fd5b8051611eab61165682611774565b818152856020838501011115611ec057600080fd5b611df482602083016020860161198256fea2646970667358221220017ec4369e2803fef71d07578a4d961daa7f364340949b47d5154fae1714561764736f6c63430008110033 diff --git a/artifacts/bytecode/assets/lsp8/MintableIdentifiableDigitalAsset.bin b/artifacts/bytecode/assets/lsp8/MintableIdentifiableDigitalAsset.bin index 3f83343..f1cd706 100644 --- a/artifacts/bytecode/assets/lsp8/MintableIdentifiableDigitalAsset.bin +++ b/artifacts/bytecode/assets/lsp8/MintableIdentifiableDigitalAsset.bin @@ -1 +1 @@ -0x60a06040523480156200001157600080fd5b5060405162002ce638038062002ce683398101604081905262000034916200058e565b80858585828282828282806001600160a01b038116620000aa5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b620000c0816200020d60201b62000b7d1760201c565b50620001177feafec4d89fa9619884b60000a4d96624a38f7ac2d8d9a604ecf07c12c77e480c60001b604051806040016040528060048152602001632936598960e21b8152506200027460201b62000bef1760201c565b620001517fdeba1e292f8ba88238e10ab3c7f88bd4be4fac56cad5194b6ecceaf653468af160001b846200027460201b62000bef1760201c565b6200018b7f2f0a68ab07768e01943a599e73362a0e17a63a72e94dd2e384d2c1d4db93275660001b836200027460201b62000bef1760201c565b50505050505050505080600003620001b65760405163038d9fc360e41b815260040160405180910390fd5b608052604080516020810184905262000202917f715f248956de7ce65e94d9d836bfead479f7e70d69b718d47bfe7b00e05b4fe4910160408051601f19818403018152919052620002bc565b5050505050620007e4565b6000546001600160a01b038281169116146200027157600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a3505b50565b60008281526001602052604090206200028e8282620006bb565b508160008051602062002cc683398151915282604051620002b0919062000787565b60405180910390a25050565b7f2145e1d6d074577dc71ef54c3807742b41b053a9352ae6b491331509acb9750f8201620002fd576040516385c169bd60e01b815260040160405180910390fd5b7fd0f59754f88971fe6bc5a6618cc9d5f1e859c58d16b22d1c7b2d3e2b246cd8aa82016200033e57604051630eceab6760e31b815260040160405180910390fd5b6000828152600160205260409020620003588282620006bb565b508160008051602062002cc683398151915261010083511115620003975762000391836000610100620003a860201b62000c441760201c565b62000399565b825b604051620002b0919062000787565b606081620003b881601f620007bc565b1015620003f95760405162461bcd60e51b815260206004820152600e60248201526d736c6963655f6f766572666c6f7760901b6044820152606401620000a1565b620004058284620007bc565b845110156200044b5760405162461bcd60e51b8152602060048201526011602482015270736c6963655f6f75744f66426f756e647360781b6044820152606401620000a1565b6060821580156200046c5760405191506000825260208201604052620004b8565b6040519150601f8416801560200281840101858101878315602002848b0101015b81831015620004a75780518352602092830192016200048d565b5050858452601f01601f1916604052505b50949350505050565b634e487b7160e01b600052604160045260246000fd5b60005b83811015620004f4578181015183820152602001620004da565b50506000910152565b600082601f8301126200050f57600080fd5b81516001600160401b03808211156200052c576200052c620004c1565b604051601f8301601f19908116603f01168101908282118183101715620005575762000557620004c1565b816040528381528660208588010111156200057157600080fd5b62000584846020830160208901620004d7565b9695505050505050565b600080600080600060a08688031215620005a757600080fd5b85516001600160401b0380821115620005bf57600080fd5b620005cd89838a01620004fd565b96506020880151915080821115620005e457600080fd5b50620005f388828901620004fd565b604088015190955090506001600160a01b03811681146200061357600080fd5b6060870151608090970151959894975095949392505050565b600181811c908216806200064157607f821691505b6020821081036200066257634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620006b657600081815260208120601f850160051c81016020861015620006915750805b601f850160051c820191505b81811015620006b2578281556001016200069d565b5050505b505050565b81516001600160401b03811115620006d757620006d7620004c1565b620006ef81620006e884546200062c565b8462000668565b602080601f8311600181146200072757600084156200070e5750858301515b600019600386901b1c1916600185901b178555620006b2565b600085815260208120601f198616915b82811015620007585788860151825594840194600190910190840162000737565b5085821015620007775787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6020815260008251806020840152620007a8816040850160208701620004d7565b601f01601f19169190910160400192915050565b80820180821115620007de57634e487b7160e01b600052601160045260246000fd5b92915050565b6080516124bf6200080760003960008181610299015261161701526124bf6000f3fe60806040526004361061016a5760003560e01c8063715018a6116100cb578063979024211161007f578063cf5182ba11610059578063cf5182ba146103fd578063dedff9c61461041d578063f2fde38b1461044a57600080fd5b8063979024211461039d578063a3b261f2146103b0578063af255b61146103dd57600080fd5b80637f23690c116100b05780637f23690c1461033f5780638da5cb5b1461035257806392a91a3a1461037057600080fd5b8063715018a61461030a5780637e87632c1461031f57600080fd5b806349a6078d1161012257806352058d8a1161010757806352058d8a1461028a57806354f6127f146102bd57806370a08231146102ea57600080fd5b806349a6078d1461023d578063511b69521461026a57600080fd5b806318160ddd1161015357806318160ddd146101c6578063217b2270146101e55780632a3654a41461021d57600080fd5b806301ffc9a71461016f5780630b0c6d82146101a4575b600080fd5b34801561017b57600080fd5b5061018f61018a366004611ad3565b61046a565b60405190151581526020015b60405180910390f35b3480156101b057600080fd5b506101c46101bf366004611b19565b6104ae565b005b3480156101d257600080fd5b506002545b60405190815260200161019b565b3480156101f157600080fd5b50610205610200366004611b43565b61056a565b6040516001600160a01b03909116815260200161019b565b34801561022957600080fd5b5061018f610238366004611b19565b6105a3565b34801561024957600080fd5b5061025d610258366004611b43565b6105bf565b60405161019b9190611b5c565b34801561027657600080fd5b506101c4610285366004611c7e565b6105e1565b34801561029657600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006101d7565b3480156102c957600080fd5b506102dd6102d8366004611b43565b610649565b60405161019b9190611d47565b3480156102f657600080fd5b506101d7610305366004611d5a565b610654565b34801561031657600080fd5b506101c4610675565b34801561032b57600080fd5b506101c461033a366004611f43565b610689565b6101c461034d366004612008565b610791565b34801561035e57600080fd5b506000546001600160a01b0316610205565b34801561037c57600080fd5b506101d761038b366004611b43565b60009081526007602052604090205490565b6101c46103ab36600461204f565b6107c6565b3480156103bc57600080fd5b506103d06103cb366004611d5a565b6108b3565b60405161019b91906120a9565b3480156103e957600080fd5b506101c46103f83660046120e1565b6108d7565b34801561040957600080fd5b506101c4610418366004611b19565b6108f1565b34801561042957600080fd5b5061043d610438366004612149565b610a42565b60405161019b919061217e565b34801561045657600080fd5b506101c4610465366004611d5a565b610aed565b60006001600160e01b031982167f622e7a010000000000000000000000000000000000000000000000000000000014806104a857506104a882610d6c565b92915050565b60006104b98261056a565b90506001600160a01b038116331461050157604051632d938f5160e11b81526001600160a01b0382166004820152602481018390523360448201526064015b60405180910390fd5b6001600160a01b03831661052857604051639577b8b360e01b815260040160405180910390fd5b826001600160a01b0316816001600160a01b03160361055a576040516344fed6b160e11b815260040160405180910390fd5b610565838284610dba565b505050565b6000818152600360205260408120546001600160a01b0316806104a857604051635747cd1b60e11b8152600481018490526024016104f8565b60006105ae82610e64565b6105b88383610e9c565b9392505050565b60606105ca82610e64565b60008281526005602052604090206104a890610ee5565b336105ec8185610e9c565b610634576040517f1294d2a9000000000000000000000000000000000000000000000000000000008152600481018590526001600160a01b03821660248201526044016104f8565b6106418686868686610ef2565b505050505050565b60606104a8826110dd565b6001600160a01b03811660009081526004602052604081206104a89061117f565b61067d611189565b6106876000610b7d565b565b845184518114158061069c575083518114155b806106a8575082518114155b806106b4575081518114155b156106eb576040517f93a8311900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b818110156107885761078087828151811061070b5761070b6121e0565b6020026020010151878381518110610725576107256121e0565b602002602001015187848151811061073f5761073f6121e0565b6020026020010151878581518110610759576107596121e0565b6020026020010151878681518110610773576107736121e0565b60200260200101516105e1565b6001016106ee565b50505050505050565b610799611189565b34156107b85760405163f36ba73760e01b815260040160405180910390fd5b6107c282826111f2565b5050565b6107ce611189565b34156107ed5760405163f36ba73760e01b815260040160405180910390fd5b8051825114610828576040517f3bcc897900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8151600003610863576040517f97da5f9500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b8251811015610565576108ab838281518110610884576108846121e0565b602002602001015183838151811061089e5761089e6121e0565b60200260200101516111f2565b600101610866565b6001600160a01b03811660009081526004602052604090206060906104a890610ee5565b6108df611189565b6108eb8484848461130c565b50505050565b60006108fc8261056a565b90506001600160a01b038116331461093f57604051632d938f5160e11b81526001600160a01b0382166004820152602481018390523360448201526064016104f8565b6001600160a01b03831661096657604051639577b8b360e01b815260040160405180910390fd5b826001600160a01b0316816001600160a01b031603610998576040516344fed6b160e11b815260040160405180910390fd5b60008281526005602052604081206109b09085611318565b9050806109fb576040517fa7626b680000000000000000000000000000000000000000000000000000000081526001600160a01b0385166004820152602481018490526044016104f8565b82826001600160a01b0316856001600160a01b03167f34b797fc5a526f7bf1d2b5de25f6564fd85ae364e3ee939aee7c1ac27871a98860405160405180910390a450505050565b6060815167ffffffffffffffff811115610a5e57610a5e611bb9565b604051908082528060200260200182016040528015610a9157816020015b6060815260200190600190039081610a7c5790505b50905060005b8251811015610ae757610ac2838281518110610ab557610ab56121e0565b60200260200101516110dd565b828281518110610ad457610ad46121e0565b6020908102919091010152600101610a97565b50919050565b610af5611189565b6001600160a01b038116610b715760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016104f8565b610b7a81610b7d565b50565b6000546001600160a01b03828116911614610b7a57600080546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000828152600160205260409020610c078282612270565b50817fece574603820d07bc9b91f2a932baadf4628aabcb8afba49776529c14a6104b282604051610c389190611d47565b60405180910390a25050565b606081610c5281601f612346565b1015610ca05760405162461bcd60e51b815260206004820152600e60248201527f736c6963655f6f766572666c6f7700000000000000000000000000000000000060448201526064016104f8565b610caa8284612346565b84511015610cfa5760405162461bcd60e51b815260206004820152601160248201527f736c6963655f6f75744f66426f756e647300000000000000000000000000000060448201526064016104f8565b606082158015610d195760405191506000825260208201604052610d63565b6040519150601f8416801560200281840101858101878315602002848b0101015b81831015610d52578051835260209283019201610d3a565b5050858452601f01601f1916604052505b50949350505050565b60006001600160e01b031982167f629aa6940000000000000000000000000000000000000000000000000000000014806104a857506301ffc9a760e01b6001600160e01b03198316146104a8565b6000818152600560205260408120610dd2908561132d565b905080610e1d576040517f4aa31a8c0000000000000000000000000000000000000000000000000000000081526001600160a01b0385166004820152602481018390526044016104f8565b81836001600160a01b0316856001600160a01b03167f17d5389f6ab6adb2647dfa0aa365c323d37adacc30b33a65310b6158ce1373d560405160405180910390a450505050565b6000818152600360205260409020546001600160a01b0316610b7a57604051635747cd1b60e11b8152600481018290526024016104f8565b600080610ea88361056a565b9050806001600160a01b0316846001600160a01b03161480610edd57506000838152600560205260409020610edd9085611342565b949350505050565b606060006105b883611364565b836001600160a01b0316856001600160a01b031603610f3d576040517f5d67d6c100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610f488461056a565b9050856001600160a01b0316816001600160a01b031614610f9657604051632d938f5160e11b81526001600160a01b03808316600483015260248201869052871660448201526064016104f8565b6001600160a01b038516610fbd576040516324ecef4d60e01b815260040160405180910390fd5b33610fc98787876113bf565b610fd387866113ca565b6001600160a01b0387166000908152600460205260409020610ff59086611418565b506001600160a01b03861660009081526004602052604090206110189086611424565b5060008581526003602052604090819020805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0389811691821790925591518792918a16907fb333c813a7426a7a11e2b190cad52c44119421594b47f6f32ace6d8c7207b2bf9061108c9086908a908a90612359565b60405180910390a46000878787866040516020016110ad949392919061238c565b60405160208183030381529060405290506110c88882611430565b6110d38786836114db565b5050505050505050565b60008181526001602052604090208054606091906110fa906121f6565b80601f0160208091040260200160405190810160405280929190818152602001828054611126906121f6565b80156111735780601f1061114857610100808354040283529160200191611173565b820191906000526020600020905b81548152906001019060200180831161115657829003601f168201915b50505050509050919050565b60006104a8825490565b3361119c6000546001600160a01b031690565b6001600160a01b0316146106875760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104f8565b7f2145e1d6d074577dc71ef54c3807742b41b053a9352ae6b491331509acb9750f820161124b576040517f85c169bd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7fd0f59754f88971fe6bc5a6618cc9d5f1e859c58d16b22d1c7b2d3e2b246cd8aa82016112a4576040517f76755b3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008281526001602052604090206112bc8282612270565b50817fece574603820d07bc9b91f2a932baadf4628aabcb8afba49776529c14a6104b2610100835111156112fd576112f8836000610100610c44565b6112ff565b825b604051610c389190611d47565b6108eb84848484611615565b60006105b8836001600160a01b038416611688565b60006105b8836001600160a01b0384166116d7565b6001600160a01b038116600090815260018301602052604081205415156105b8565b60608160000180548060200260200160405190810160405280929190818152602001828054801561117357602002820191906000526020600020905b8154815260200190600101908083116113a05750505050509050919050565b6105658383836117ca565b6000818152600560205260408120906113e28261117f565b905060005b818110156114115760006113fb8482611893565b9050611408818787610dba565b506001016113e7565b5050505050565b60006105b883836116d7565b60006105b88383611688565b61144182631aed5a8560e21b61189f565b156107c257604051631aed5a8560e21b81526001600160a01b03831690636bb56a1490611494907fb23eae7e6d1564b295b4c3e3be402d9a2f0776c57bdf365903496f6fa481ab009085906004016123d9565b6000604051808303816000875af11580156114b3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261056591908101906123f2565b6114ec83631aed5a8560e21b61189f565b1561158657604051631aed5a8560e21b81526001600160a01b03841690636bb56a149061153f907f0b084a55ebf70fd3c06fd755269dac2212c4d3f0f4d09079780bfa50c1b2984d9085906004016123d9565b6000604051808303816000875af115801561155e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526108eb91908101906123f2565b81610565576001600160a01b0383163b156115d8576040517f4349776d0000000000000000000000000000000000000000000000000000000081526001600160a01b03841660048201526024016104f8565b6040517f031731370000000000000000000000000000000000000000000000000000000081526001600160a01b03841660048201526024016104f8565b7f0000000000000000000000000000000000000000000000000000000000000000600254611644906001612346565b111561167c576040517fe8ba229100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6108eb8484848461193d565b60008181526001830160205260408120546116cf575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556104a8565b5060006104a8565b600081815260018301602052604081205480156117c05760006116fb600183612460565b855490915060009061170f90600190612460565b905081811461177457600086600001828154811061172f5761172f6121e0565b9060005260206000200154905080876000018481548110611752576117526121e0565b6000918252602080832090910192909255918252600188019052604090208390555b855486908061178557611785612473565b6001900381819060005260206000200160009055905585600101600086815260200190815260200160002060009055600193505050506104a8565b60009150506104a8565b6001600160a01b0383166118085760006117e360025490565b6000818152600760209081526040808320869055858352600890915290205550505050565b6001600160a01b038216610565576000600161182360025490565b61182d9190612460565b6000838152600860205260409020549091508181101561186f576000828152600760209081526040808320548484528184208190558352600890915290208190555b50600090815260076020908152604080832083905592825260089052908120555050565b60006105b88383611aa9565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d91506000519050828015611926575060208210155b80156119325750600081115b979650505050505050565b6001600160a01b038416611964576040516324ecef4d60e01b815260040160405180910390fd5b6000838152600360205260409020546001600160a01b0316156119b6576040517f34c7b511000000000000000000000000000000000000000000000000000000008152600481018490526024016104f8565b336119c3600086866113bf565b6001600260008282546119d69190612346565b90915550506001600160a01b03851660009081526004602052604090206119fd9085611424565b50600084815260036020526040808220805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03891690811790915590518692907fb333c813a7426a7a11e2b190cad52c44119421594b47f6f32ace6d8c7207b2bf90611a6c90869089908990612359565b60405180910390a4600080868685604051602001611a8d949392919061238c565b60405160208183030381529060405290506106418685836114db565b6000826000018281548110611ac057611ac06121e0565b9060005260206000200154905092915050565b600060208284031215611ae557600080fd5b81356001600160e01b0319811681146105b857600080fd5b80356001600160a01b0381168114611b1457600080fd5b919050565b60008060408385031215611b2c57600080fd5b611b3583611afd565b946020939093013593505050565b600060208284031215611b5557600080fd5b5035919050565b6020808252825182820181905260009190848201906040850190845b81811015611b9d5783516001600160a01b031683529284019291840191600101611b78565b50909695505050505050565b80358015158114611b1457600080fd5b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715611bf857611bf8611bb9565b604052919050565b600067ffffffffffffffff821115611c1a57611c1a611bb9565b50601f01601f191660200190565b600082601f830112611c3957600080fd5b8135611c4c611c4782611c00565b611bcf565b818152846020838601011115611c6157600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080600060a08688031215611c9657600080fd5b611c9f86611afd565b9450611cad60208701611afd565b935060408601359250611cc260608701611ba9565b9150608086013567ffffffffffffffff811115611cde57600080fd5b611cea88828901611c28565b9150509295509295909350565b60005b83811015611d12578181015183820152602001611cfa565b50506000910152565b60008151808452611d33816020860160208601611cf7565b601f01601f19169290920160200192915050565b6020815260006105b86020830184611d1b565b600060208284031215611d6c57600080fd5b6105b882611afd565b600067ffffffffffffffff821115611d8f57611d8f611bb9565b5060051b60200190565b600082601f830112611daa57600080fd5b81356020611dba611c4783611d75565b82815260059290921b84018101918181019086841115611dd957600080fd5b8286015b84811015611dfb57611dee81611afd565b8352918301918301611ddd565b509695505050505050565b600082601f830112611e1757600080fd5b81356020611e27611c4783611d75565b82815260059290921b84018101918181019086841115611e4657600080fd5b8286015b84811015611dfb5780358352918301918301611e4a565b600082601f830112611e7257600080fd5b81356020611e82611c4783611d75565b82815260059290921b84018101918181019086841115611ea157600080fd5b8286015b84811015611dfb57611eb681611ba9565b8352918301918301611ea5565b600082601f830112611ed457600080fd5b81356020611ee4611c4783611d75565b82815260059290921b84018101918181019086841115611f0357600080fd5b8286015b84811015611dfb57803567ffffffffffffffff811115611f275760008081fd5b611f358986838b0101611c28565b845250918301918301611f07565b600080600080600060a08688031215611f5b57600080fd5b853567ffffffffffffffff80821115611f7357600080fd5b611f7f89838a01611d99565b96506020880135915080821115611f9557600080fd5b611fa189838a01611d99565b95506040880135915080821115611fb757600080fd5b611fc389838a01611e06565b94506060880135915080821115611fd957600080fd5b611fe589838a01611e61565b93506080880135915080821115611ffb57600080fd5b50611cea88828901611ec3565b6000806040838503121561201b57600080fd5b82359150602083013567ffffffffffffffff81111561203957600080fd5b61204585828601611c28565b9150509250929050565b6000806040838503121561206257600080fd5b823567ffffffffffffffff8082111561207a57600080fd5b61208686838701611e06565b9350602085013591508082111561209c57600080fd5b5061204585828601611ec3565b6020808252825182820181905260009190848201906040850190845b81811015611b9d578351835292840192918401916001016120c5565b600080600080608085870312156120f757600080fd5b61210085611afd565b93506020850135925061211560408601611ba9565b9150606085013567ffffffffffffffff81111561213157600080fd5b61213d87828801611c28565b91505092959194509250565b60006020828403121561215b57600080fd5b813567ffffffffffffffff81111561217257600080fd5b610edd84828501611e06565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b828110156121d357603f198886030184526121c1858351611d1b565b945092850192908501906001016121a5565b5092979650505050505050565b634e487b7160e01b600052603260045260246000fd5b600181811c9082168061220a57607f821691505b602082108103610ae757634e487b7160e01b600052602260045260246000fd5b601f82111561056557600081815260208120601f850160051c810160208610156122515750805b601f850160051c820191505b818110156106415782815560010161225d565b815167ffffffffffffffff81111561228a5761228a611bb9565b61229e8161229884546121f6565b8461222a565b602080601f8311600181146122d357600084156122bb5750858301515b600019600386901b1c1916600185901b178555610641565b600085815260208120601f198616915b82811015612302578886015182559484019460019091019084016122e3565b50858210156123205787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b808201808211156104a8576104a8612330565b6001600160a01b038416815282151560208201526060604082015260006123836060830184611d1b565b95945050505050565b60006bffffffffffffffffffffffff19808760601b168352808660601b1660148401525083602883015282516123c9816048850160208701611cf7565b9190910160480195945050505050565b828152604060208201526000610edd6040830184611d1b565b60006020828403121561240457600080fd5b815167ffffffffffffffff81111561241b57600080fd5b8201601f8101841361242c57600080fd5b805161243a611c4782611c00565b81815285602083850101111561244f57600080fd5b612383826020830160208601611cf7565b818103818111156104a8576104a8612330565b634e487b7160e01b600052603160045260246000fdfea2646970667358221220977cce285532cba5585a246d05e2a47a215ca8ab10859d7acfeea92fd74c40a364736f6c63430008110033ece574603820d07bc9b91f2a932baadf4628aabcb8afba49776529c14a6104b2 +0x60a06040523480156200001157600080fd5b5060405162002ce638038062002ce683398101604081905262000034916200058e565b80858585828282828282806001600160a01b038116620000aa5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b620000c0816200020d60201b62000b7d1760201c565b50620001177feafec4d89fa9619884b60000a4d96624a38f7ac2d8d9a604ecf07c12c77e480c60001b604051806040016040528060048152602001632936598960e21b8152506200027460201b62000bef1760201c565b620001517fdeba1e292f8ba88238e10ab3c7f88bd4be4fac56cad5194b6ecceaf653468af160001b846200027460201b62000bef1760201c565b6200018b7f2f0a68ab07768e01943a599e73362a0e17a63a72e94dd2e384d2c1d4db93275660001b836200027460201b62000bef1760201c565b50505050505050505080600003620001b65760405163038d9fc360e41b815260040160405180910390fd5b608052604080516020810184905262000202917f715f248956de7ce65e94d9d836bfead479f7e70d69b718d47bfe7b00e05b4fe4910160408051601f19818403018152919052620002bc565b5050505050620007e4565b6000546001600160a01b038281169116146200027157600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a3505b50565b60008281526001602052604090206200028e8282620006bb565b508160008051602062002cc683398151915282604051620002b0919062000787565b60405180910390a25050565b7f2145e1d6d074577dc71ef54c3807742b41b053a9352ae6b491331509acb9750f8201620002fd576040516385c169bd60e01b815260040160405180910390fd5b7fd0f59754f88971fe6bc5a6618cc9d5f1e859c58d16b22d1c7b2d3e2b246cd8aa82016200033e57604051630eceab6760e31b815260040160405180910390fd5b6000828152600160205260409020620003588282620006bb565b508160008051602062002cc683398151915261010083511115620003975762000391836000610100620003a860201b62000c441760201c565b62000399565b825b604051620002b0919062000787565b606081620003b881601f620007bc565b1015620003f95760405162461bcd60e51b815260206004820152600e60248201526d736c6963655f6f766572666c6f7760901b6044820152606401620000a1565b620004058284620007bc565b845110156200044b5760405162461bcd60e51b8152602060048201526011602482015270736c6963655f6f75744f66426f756e647360781b6044820152606401620000a1565b6060821580156200046c5760405191506000825260208201604052620004b8565b6040519150601f8416801560200281840101858101878315602002848b0101015b81831015620004a75780518352602092830192016200048d565b5050858452601f01601f1916604052505b50949350505050565b634e487b7160e01b600052604160045260246000fd5b60005b83811015620004f4578181015183820152602001620004da565b50506000910152565b600082601f8301126200050f57600080fd5b81516001600160401b03808211156200052c576200052c620004c1565b604051601f8301601f19908116603f01168101908282118183101715620005575762000557620004c1565b816040528381528660208588010111156200057157600080fd5b62000584846020830160208901620004d7565b9695505050505050565b600080600080600060a08688031215620005a757600080fd5b85516001600160401b0380821115620005bf57600080fd5b620005cd89838a01620004fd565b96506020880151915080821115620005e457600080fd5b50620005f388828901620004fd565b604088015190955090506001600160a01b03811681146200061357600080fd5b6060870151608090970151959894975095949392505050565b600181811c908216806200064157607f821691505b6020821081036200066257634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620006b657600081815260208120601f850160051c81016020861015620006915750805b601f850160051c820191505b81811015620006b2578281556001016200069d565b5050505b505050565b81516001600160401b03811115620006d757620006d7620004c1565b620006ef81620006e884546200062c565b8462000668565b602080601f8311600181146200072757600084156200070e5750858301515b600019600386901b1c1916600185901b178555620006b2565b600085815260208120601f198616915b82811015620007585788860151825594840194600190910190840162000737565b5085821015620007775787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6020815260008251806020840152620007a8816040850160208701620004d7565b601f01601f19169190910160400192915050565b80820180821115620007de57634e487b7160e01b600052601160045260246000fd5b92915050565b6080516124bf6200080760003960008181610299015261161701526124bf6000f3fe60806040526004361061016a5760003560e01c8063715018a6116100cb578063979024211161007f578063cf5182ba11610059578063cf5182ba146103fd578063dedff9c61461041d578063f2fde38b1461044a57600080fd5b8063979024211461039d578063a3b261f2146103b0578063af255b61146103dd57600080fd5b80637f23690c116100b05780637f23690c1461033f5780638da5cb5b1461035257806392a91a3a1461037057600080fd5b8063715018a61461030a5780637e87632c1461031f57600080fd5b806349a6078d1161012257806352058d8a1161010757806352058d8a1461028a57806354f6127f146102bd57806370a08231146102ea57600080fd5b806349a6078d1461023d578063511b69521461026a57600080fd5b806318160ddd1161015357806318160ddd146101c6578063217b2270146101e55780632a3654a41461021d57600080fd5b806301ffc9a71461016f5780630b0c6d82146101a4575b600080fd5b34801561017b57600080fd5b5061018f61018a366004611ad3565b61046a565b60405190151581526020015b60405180910390f35b3480156101b057600080fd5b506101c46101bf366004611b19565b6104ae565b005b3480156101d257600080fd5b506002545b60405190815260200161019b565b3480156101f157600080fd5b50610205610200366004611b43565b61056a565b6040516001600160a01b03909116815260200161019b565b34801561022957600080fd5b5061018f610238366004611b19565b6105a3565b34801561024957600080fd5b5061025d610258366004611b43565b6105bf565b60405161019b9190611b5c565b34801561027657600080fd5b506101c4610285366004611c7e565b6105e1565b34801561029657600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006101d7565b3480156102c957600080fd5b506102dd6102d8366004611b43565b610649565b60405161019b9190611d47565b3480156102f657600080fd5b506101d7610305366004611d5a565b610654565b34801561031657600080fd5b506101c4610675565b34801561032b57600080fd5b506101c461033a366004611f43565b610689565b6101c461034d366004612008565b610791565b34801561035e57600080fd5b506000546001600160a01b0316610205565b34801561037c57600080fd5b506101d761038b366004611b43565b60009081526007602052604090205490565b6101c46103ab36600461204f565b6107c6565b3480156103bc57600080fd5b506103d06103cb366004611d5a565b6108b3565b60405161019b91906120a9565b3480156103e957600080fd5b506101c46103f83660046120e1565b6108d7565b34801561040957600080fd5b506101c4610418366004611b19565b6108f1565b34801561042957600080fd5b5061043d610438366004612149565b610a42565b60405161019b919061217e565b34801561045657600080fd5b506101c4610465366004611d5a565b610aed565b60006001600160e01b031982167f622e7a010000000000000000000000000000000000000000000000000000000014806104a857506104a882610d6c565b92915050565b60006104b98261056a565b90506001600160a01b038116331461050157604051632d938f5160e11b81526001600160a01b0382166004820152602481018390523360448201526064015b60405180910390fd5b6001600160a01b03831661052857604051639577b8b360e01b815260040160405180910390fd5b826001600160a01b0316816001600160a01b03160361055a576040516344fed6b160e11b815260040160405180910390fd5b610565838284610dba565b505050565b6000818152600360205260408120546001600160a01b0316806104a857604051635747cd1b60e11b8152600481018490526024016104f8565b60006105ae82610e64565b6105b88383610e9c565b9392505050565b60606105ca82610e64565b60008281526005602052604090206104a890610ee5565b336105ec8185610e9c565b610634576040517f1294d2a9000000000000000000000000000000000000000000000000000000008152600481018590526001600160a01b03821660248201526044016104f8565b6106418686868686610ef2565b505050505050565b60606104a8826110dd565b6001600160a01b03811660009081526004602052604081206104a89061117f565b61067d611189565b6106876000610b7d565b565b845184518114158061069c575083518114155b806106a8575082518114155b806106b4575081518114155b156106eb576040517f93a8311900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b818110156107885761078087828151811061070b5761070b6121e0565b6020026020010151878381518110610725576107256121e0565b602002602001015187848151811061073f5761073f6121e0565b6020026020010151878581518110610759576107596121e0565b6020026020010151878681518110610773576107736121e0565b60200260200101516105e1565b6001016106ee565b50505050505050565b610799611189565b34156107b85760405163f36ba73760e01b815260040160405180910390fd5b6107c282826111f2565b5050565b6107ce611189565b34156107ed5760405163f36ba73760e01b815260040160405180910390fd5b8051825114610828576040517f3bcc897900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8151600003610863576040517f97da5f9500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b8251811015610565576108ab838281518110610884576108846121e0565b602002602001015183838151811061089e5761089e6121e0565b60200260200101516111f2565b600101610866565b6001600160a01b03811660009081526004602052604090206060906104a890610ee5565b6108df611189565b6108eb8484848461130c565b50505050565b60006108fc8261056a565b90506001600160a01b038116331461093f57604051632d938f5160e11b81526001600160a01b0382166004820152602481018390523360448201526064016104f8565b6001600160a01b03831661096657604051639577b8b360e01b815260040160405180910390fd5b826001600160a01b0316816001600160a01b031603610998576040516344fed6b160e11b815260040160405180910390fd5b60008281526005602052604081206109b09085611318565b9050806109fb576040517fa7626b680000000000000000000000000000000000000000000000000000000081526001600160a01b0385166004820152602481018490526044016104f8565b82826001600160a01b0316856001600160a01b03167f34b797fc5a526f7bf1d2b5de25f6564fd85ae364e3ee939aee7c1ac27871a98860405160405180910390a450505050565b6060815167ffffffffffffffff811115610a5e57610a5e611bb9565b604051908082528060200260200182016040528015610a9157816020015b6060815260200190600190039081610a7c5790505b50905060005b8251811015610ae757610ac2838281518110610ab557610ab56121e0565b60200260200101516110dd565b828281518110610ad457610ad46121e0565b6020908102919091010152600101610a97565b50919050565b610af5611189565b6001600160a01b038116610b715760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016104f8565b610b7a81610b7d565b50565b6000546001600160a01b03828116911614610b7a57600080546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000828152600160205260409020610c078282612270565b50817fece574603820d07bc9b91f2a932baadf4628aabcb8afba49776529c14a6104b282604051610c389190611d47565b60405180910390a25050565b606081610c5281601f612346565b1015610ca05760405162461bcd60e51b815260206004820152600e60248201527f736c6963655f6f766572666c6f7700000000000000000000000000000000000060448201526064016104f8565b610caa8284612346565b84511015610cfa5760405162461bcd60e51b815260206004820152601160248201527f736c6963655f6f75744f66426f756e647300000000000000000000000000000060448201526064016104f8565b606082158015610d195760405191506000825260208201604052610d63565b6040519150601f8416801560200281840101858101878315602002848b0101015b81831015610d52578051835260209283019201610d3a565b5050858452601f01601f1916604052505b50949350505050565b60006001600160e01b031982167f629aa6940000000000000000000000000000000000000000000000000000000014806104a857506301ffc9a760e01b6001600160e01b03198316146104a8565b6000818152600560205260408120610dd2908561132d565b905080610e1d576040517f4aa31a8c0000000000000000000000000000000000000000000000000000000081526001600160a01b0385166004820152602481018390526044016104f8565b81836001600160a01b0316856001600160a01b03167f17d5389f6ab6adb2647dfa0aa365c323d37adacc30b33a65310b6158ce1373d560405160405180910390a450505050565b6000818152600360205260409020546001600160a01b0316610b7a57604051635747cd1b60e11b8152600481018290526024016104f8565b600080610ea88361056a565b9050806001600160a01b0316846001600160a01b03161480610edd57506000838152600560205260409020610edd9085611342565b949350505050565b606060006105b883611364565b836001600160a01b0316856001600160a01b031603610f3d576040517f5d67d6c100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610f488461056a565b9050856001600160a01b0316816001600160a01b031614610f9657604051632d938f5160e11b81526001600160a01b03808316600483015260248201869052871660448201526064016104f8565b6001600160a01b038516610fbd576040516324ecef4d60e01b815260040160405180910390fd5b33610fc98787876113bf565b610fd387866113ca565b6001600160a01b0387166000908152600460205260409020610ff59086611418565b506001600160a01b03861660009081526004602052604090206110189086611424565b5060008581526003602052604090819020805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0389811691821790925591518792918a16907fb333c813a7426a7a11e2b190cad52c44119421594b47f6f32ace6d8c7207b2bf9061108c9086908a908a90612359565b60405180910390a46000878787866040516020016110ad949392919061238c565b60405160208183030381529060405290506110c88882611430565b6110d38786836114db565b5050505050505050565b60008181526001602052604090208054606091906110fa906121f6565b80601f0160208091040260200160405190810160405280929190818152602001828054611126906121f6565b80156111735780601f1061114857610100808354040283529160200191611173565b820191906000526020600020905b81548152906001019060200180831161115657829003601f168201915b50505050509050919050565b60006104a8825490565b3361119c6000546001600160a01b031690565b6001600160a01b0316146106875760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104f8565b7f2145e1d6d074577dc71ef54c3807742b41b053a9352ae6b491331509acb9750f820161124b576040517f85c169bd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7fd0f59754f88971fe6bc5a6618cc9d5f1e859c58d16b22d1c7b2d3e2b246cd8aa82016112a4576040517f76755b3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008281526001602052604090206112bc8282612270565b50817fece574603820d07bc9b91f2a932baadf4628aabcb8afba49776529c14a6104b2610100835111156112fd576112f8836000610100610c44565b6112ff565b825b604051610c389190611d47565b6108eb84848484611615565b60006105b8836001600160a01b038416611688565b60006105b8836001600160a01b0384166116d7565b6001600160a01b038116600090815260018301602052604081205415156105b8565b60608160000180548060200260200160405190810160405280929190818152602001828054801561117357602002820191906000526020600020905b8154815260200190600101908083116113a05750505050509050919050565b6105658383836117ca565b6000818152600560205260408120906113e28261117f565b905060005b818110156114115760006113fb8482611893565b9050611408818787610dba565b506001016113e7565b5050505050565b60006105b883836116d7565b60006105b88383611688565b61144182631aed5a8560e21b61189f565b156107c257604051631aed5a8560e21b81526001600160a01b03831690636bb56a1490611494907fb23eae7e6d1564b295b4c3e3be402d9a2f0776c57bdf365903496f6fa481ab009085906004016123d9565b6000604051808303816000875af11580156114b3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261056591908101906123f2565b6114ec83631aed5a8560e21b61189f565b1561158657604051631aed5a8560e21b81526001600160a01b03841690636bb56a149061153f907f0b084a55ebf70fd3c06fd755269dac2212c4d3f0f4d09079780bfa50c1b2984d9085906004016123d9565b6000604051808303816000875af115801561155e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526108eb91908101906123f2565b81610565576001600160a01b0383163b156115d8576040517f4349776d0000000000000000000000000000000000000000000000000000000081526001600160a01b03841660048201526024016104f8565b6040517f031731370000000000000000000000000000000000000000000000000000000081526001600160a01b03841660048201526024016104f8565b7f0000000000000000000000000000000000000000000000000000000000000000600254611644906001612346565b111561167c576040517fe8ba229100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6108eb8484848461193d565b60008181526001830160205260408120546116cf575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556104a8565b5060006104a8565b600081815260018301602052604081205480156117c05760006116fb600183612460565b855490915060009061170f90600190612460565b905081811461177457600086600001828154811061172f5761172f6121e0565b9060005260206000200154905080876000018481548110611752576117526121e0565b6000918252602080832090910192909255918252600188019052604090208390555b855486908061178557611785612473565b6001900381819060005260206000200160009055905585600101600086815260200190815260200160002060009055600193505050506104a8565b60009150506104a8565b6001600160a01b0383166118085760006117e360025490565b6000818152600760209081526040808320869055858352600890915290205550505050565b6001600160a01b038216610565576000600161182360025490565b61182d9190612460565b6000838152600860205260409020549091508181101561186f576000828152600760209081526040808320548484528184208190558352600890915290208190555b50600090815260076020908152604080832083905592825260089052908120555050565b60006105b88383611aa9565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d91506000519050828015611926575060208210155b80156119325750600081115b979650505050505050565b6001600160a01b038416611964576040516324ecef4d60e01b815260040160405180910390fd5b6000838152600360205260409020546001600160a01b0316156119b6576040517f34c7b511000000000000000000000000000000000000000000000000000000008152600481018490526024016104f8565b336119c3600086866113bf565b6001600260008282546119d69190612346565b90915550506001600160a01b03851660009081526004602052604090206119fd9085611424565b50600084815260036020526040808220805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03891690811790915590518692907fb333c813a7426a7a11e2b190cad52c44119421594b47f6f32ace6d8c7207b2bf90611a6c90869089908990612359565b60405180910390a4600080868685604051602001611a8d949392919061238c565b60405160208183030381529060405290506106418685836114db565b6000826000018281548110611ac057611ac06121e0565b9060005260206000200154905092915050565b600060208284031215611ae557600080fd5b81356001600160e01b0319811681146105b857600080fd5b80356001600160a01b0381168114611b1457600080fd5b919050565b60008060408385031215611b2c57600080fd5b611b3583611afd565b946020939093013593505050565b600060208284031215611b5557600080fd5b5035919050565b6020808252825182820181905260009190848201906040850190845b81811015611b9d5783516001600160a01b031683529284019291840191600101611b78565b50909695505050505050565b80358015158114611b1457600080fd5b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715611bf857611bf8611bb9565b604052919050565b600067ffffffffffffffff821115611c1a57611c1a611bb9565b50601f01601f191660200190565b600082601f830112611c3957600080fd5b8135611c4c611c4782611c00565b611bcf565b818152846020838601011115611c6157600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080600060a08688031215611c9657600080fd5b611c9f86611afd565b9450611cad60208701611afd565b935060408601359250611cc260608701611ba9565b9150608086013567ffffffffffffffff811115611cde57600080fd5b611cea88828901611c28565b9150509295509295909350565b60005b83811015611d12578181015183820152602001611cfa565b50506000910152565b60008151808452611d33816020860160208601611cf7565b601f01601f19169290920160200192915050565b6020815260006105b86020830184611d1b565b600060208284031215611d6c57600080fd5b6105b882611afd565b600067ffffffffffffffff821115611d8f57611d8f611bb9565b5060051b60200190565b600082601f830112611daa57600080fd5b81356020611dba611c4783611d75565b82815260059290921b84018101918181019086841115611dd957600080fd5b8286015b84811015611dfb57611dee81611afd565b8352918301918301611ddd565b509695505050505050565b600082601f830112611e1757600080fd5b81356020611e27611c4783611d75565b82815260059290921b84018101918181019086841115611e4657600080fd5b8286015b84811015611dfb5780358352918301918301611e4a565b600082601f830112611e7257600080fd5b81356020611e82611c4783611d75565b82815260059290921b84018101918181019086841115611ea157600080fd5b8286015b84811015611dfb57611eb681611ba9565b8352918301918301611ea5565b600082601f830112611ed457600080fd5b81356020611ee4611c4783611d75565b82815260059290921b84018101918181019086841115611f0357600080fd5b8286015b84811015611dfb57803567ffffffffffffffff811115611f275760008081fd5b611f358986838b0101611c28565b845250918301918301611f07565b600080600080600060a08688031215611f5b57600080fd5b853567ffffffffffffffff80821115611f7357600080fd5b611f7f89838a01611d99565b96506020880135915080821115611f9557600080fd5b611fa189838a01611d99565b95506040880135915080821115611fb757600080fd5b611fc389838a01611e06565b94506060880135915080821115611fd957600080fd5b611fe589838a01611e61565b93506080880135915080821115611ffb57600080fd5b50611cea88828901611ec3565b6000806040838503121561201b57600080fd5b82359150602083013567ffffffffffffffff81111561203957600080fd5b61204585828601611c28565b9150509250929050565b6000806040838503121561206257600080fd5b823567ffffffffffffffff8082111561207a57600080fd5b61208686838701611e06565b9350602085013591508082111561209c57600080fd5b5061204585828601611ec3565b6020808252825182820181905260009190848201906040850190845b81811015611b9d578351835292840192918401916001016120c5565b600080600080608085870312156120f757600080fd5b61210085611afd565b93506020850135925061211560408601611ba9565b9150606085013567ffffffffffffffff81111561213157600080fd5b61213d87828801611c28565b91505092959194509250565b60006020828403121561215b57600080fd5b813567ffffffffffffffff81111561217257600080fd5b610edd84828501611e06565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b828110156121d357603f198886030184526121c1858351611d1b565b945092850192908501906001016121a5565b5092979650505050505050565b634e487b7160e01b600052603260045260246000fd5b600181811c9082168061220a57607f821691505b602082108103610ae757634e487b7160e01b600052602260045260246000fd5b601f82111561056557600081815260208120601f850160051c810160208610156122515750805b601f850160051c820191505b818110156106415782815560010161225d565b815167ffffffffffffffff81111561228a5761228a611bb9565b61229e8161229884546121f6565b8461222a565b602080601f8311600181146122d357600084156122bb5750858301515b600019600386901b1c1916600185901b178555610641565b600085815260208120601f198616915b82811015612302578886015182559484019460019091019084016122e3565b50858210156123205787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b808201808211156104a8576104a8612330565b6001600160a01b038416815282151560208201526060604082015260006123836060830184611d1b565b95945050505050565b60006bffffffffffffffffffffffff19808760601b168352808660601b1660148401525083602883015282516123c9816048850160208701611cf7565b9190910160480195945050505050565b828152604060208201526000610edd6040830184611d1b565b60006020828403121561240457600080fd5b815167ffffffffffffffff81111561241b57600080fd5b8201601f8101841361242c57600080fd5b805161243a611c4782611c00565b81815285602083850101111561244f57600080fd5b612383826020830160208601611cf7565b818103818111156104a8576104a8612330565b634e487b7160e01b600052603160045260246000fdfea264697066735822122036e40f95286ea816992e7e798dda110fa23d9ce484124f247fd8c04ccd99332864736f6c63430008110033ece574603820d07bc9b91f2a932baadf4628aabcb8afba49776529c14a6104b2 diff --git a/artifacts/bytecode/drops/LSP7DropsDigitalAsset.bin b/artifacts/bytecode/drops/LSP7DropsDigitalAsset.bin index 4cad419..b930b14 100644 --- a/artifacts/bytecode/drops/LSP7DropsDigitalAsset.bin +++ b/artifacts/bytecode/drops/LSP7DropsDigitalAsset.bin @@ -1 +1 @@ -0x6101006040523480156200001257600080fd5b506040516200376538038062003765833981016040819052620000359162000490565b838382848a8a8a6001838383806001600160a01b038116620000ad5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b620000c381620002e660201b6200111e1760201c565b506200011a7feafec4d89fa9619884b60000a4d96624a38f7ac2d8d9a604ecf07c12c77e480c60001b604051806040016040528060048152602001632936598960e21b8152506200034d60201b6200119b1760201c565b620001547fdeba1e292f8ba88238e10ab3c7f88bd4be4fac56cad5194b6ecceaf653468af160001b846200034d60201b6200119b1760201c565b6200018e7f2f0a68ab07768e01943a599e73362a0e17a63a72e94dd2e384d2c1d4db93275660001b836200034d60201b6200119b1760201c565b50506005805460ff19169215159290921790915550505060008290039050620001ca5760405163acf1d8c560e01b815260040160405180910390fd5b6080526001600655604051633c7bdc1960e01b815263ffffffff82166004820152733582f474f6e9fb087651b135d6224500a89e6f4490633c7bdc1990602401602060405180830381865af415801562000228573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200024e91906200055a565b62000275576040516363a0a0e760e01b815263ffffffff82166004820152602401620000a4565b6001600160a01b03831615806200029357506001600160a01b038216155b15620002b25760405163d92e233d60e01b815260040160405180910390fd5b600c805460ff191690556001600160a01b0392831660c052911660e05263ffffffff1660a052506200071595505050505050565b6000546001600160a01b038281169116146200034a57600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a3505b50565b600082815260016020526040902062000367828262000614565b50817fece574603820d07bc9b91f2a932baadf4628aabcb8afba49776529c14a6104b2826040516200039a9190620006e0565b60405180910390a25050565b634e487b7160e01b600052604160045260246000fd5b60005b83811015620003d9578181015183820152602001620003bf565b50506000910152565b600082601f830112620003f457600080fd5b81516001600160401b0380821115620004115762000411620003a6565b604051601f8301601f19908116603f011681019082821181831017156200043c576200043c620003a6565b816040528381528660208588010111156200045657600080fd5b62000469846020830160208901620003bc565b9695505050505050565b80516001600160a01b03811681146200048b57600080fd5b919050565b600080600080600080600060e0888a031215620004ac57600080fd5b87516001600160401b0380821115620004c457600080fd5b620004d28b838c01620003e2565b985060208a0151915080821115620004e957600080fd5b50620004f88a828b01620003e2565b965050620005096040890162000473565b9450620005196060890162000473565b9350620005296080890162000473565b925060a0880151915060c088015163ffffffff811681146200054a57600080fd5b8091505092959891949750929550565b6000602082840312156200056d57600080fd5b815180151581146200057e57600080fd5b9392505050565b600181811c908216806200059a57607f821691505b602082108103620005bb57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200060f57600081815260208120601f850160051c81016020861015620005ea5750805b601f850160051c820191505b818110156200060b57828155600101620005f6565b5050505b505050565b81516001600160401b03811115620006305762000630620003a6565b620006488162000641845462000585565b84620005c1565b602080601f831160018114620006805760008415620006675750858301515b600019600386901b1c1916600185901b1785556200060b565b600085815260208120601f198616915b82811015620006b15788860151825594840194600190910190840162000690565b5085821015620006d05787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b602081526000825180602084015262000701816040850160208701620003bc565b601f01601f19169190910160400192915050565b60805160a05160c05160e051612ffa6200076b600039600081816102ca01526119380152600081816105d60152611b6c01526000818161037d0152611a840152600081816103f8015261232c0152612ffa6000f3fe6080604052600436106102195760003560e01c8063715018a61161011d578063a457c2d7116100b0578063edb8d1e21161007f578063f575191e11610064578063f575191e14610658578063fad8b32a1461066e578063fc6180711461068e57600080fd5b8063edb8d1e214610625578063f2fde38b1461063857600080fd5b8063a457c2d714610584578063aad3ec96146105a4578063d598d4c9146105c4578063dedff9c6146105f857600080fd5b80638bbd4378116100ec5780638bbd4378146104fd5780638da5cb5b1461051d578063942cd44b1461053b578063979024211461057157600080fd5b8063715018a61461049f578063760d9bba146104b457806378e97925146104d45780637f23690c146104ea57600080fd5b806339509351116101b057806352058d8a1161017f57806365aeaa951161016457806365aeaa95146104495780636817c76c1461046957806370a082311461047f57600080fd5b806352058d8a146103e957806354f6127f1461041c57600080fd5b8063395093511461034b5780633c3e8ae31461036b57806347980aa3146103b457806351b42b00146103d457600080fd5b80632b47da52116101ec5780632b47da52146102a35780632b7ac3f3146102b85780632d7667c914610304578063313ce5671461032457600080fd5b806301ffc9a71461021e5780630f15f4c01461025357806318160ddd1461026a578063186601ca14610289575b600080fd5b34801561022a57600080fd5b5061023e6102393660046124d2565b6106a1565b60405190151581526020015b60405180910390f35b34801561025f57600080fd5b506102686106e5565b005b34801561027657600080fd5b506004545b60405190815260200161024a565b34801561029557600080fd5b50600c5461023e9060ff1681565b3480156102af57600080fd5b5061027b6106f7565b3480156102c457600080fd5b506102ec7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161024a565b34801561031057600080fd5b5061026861031f3660046127bb565b610707565b34801561033057600080fd5b5061033961080f565b60405160ff909116815260200161024a565b34801561035757600080fd5b5061026861036636600461288d565b610828565b34801561037757600080fd5b5061039f7f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff909116815260200161024a565b3480156103c057600080fd5b506102686103cf36600461288d565b61084b565b3480156103e057600080fd5b50610268610856565b3480156103f557600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061027b565b34801561042857600080fd5b5061043c6104373660046128b7565b61089e565b60405161024a9190612920565b34801561045557600080fd5b5061027b610464366004612933565b6108a9565b34801561047557600080fd5b5061027b600a5481565b34801561048b57600080fd5b5061027b61049a366004612966565b610910565b3480156104ab57600080fd5b5061026861092e565b3480156104c057600080fd5b506102686104cf366004612981565b610940565b3480156104e057600080fd5b5061027b60095481565b6102686104f83660046129ed565b610a48565b34801561050957600080fd5b50610268610518366004612a34565b610a79565b34801561052957600080fd5b506000546001600160a01b03166102ec565b34801561054757600080fd5b5061027b610556366004612966565b6001600160a01b03166000908152600d602052604090205490565b61026861057f366004612a66565b610b5e565b34801561059057600080fd5b5061026861059f36600461288d565b610c50565b3480156105b057600080fd5b506102686105bf36600461288d565b610ca5565b3480156105d057600080fd5b506102ec7f000000000000000000000000000000000000000000000000000000000000000081565b34801561060457600080fd5b50610618610613366004612ac0565b610e81565b60405161024a9190612afd565b610268610633366004612b70565b610f2c565b34801561064457600080fd5b50610268610653366004612966565b610ff1565b34801561066457600080fd5b5061027b600b5481565b34801561067a57600080fd5b50610268610689366004612966565b611081565b61026861069c366004612c29565b61108d565b60006001600160e01b031982167fda1f85e40000000000000000000000000000000000000000000000000000000014806106df57506106df826111f0565b92915050565b6106ed61123e565b6106f56112a7565b565b600061070260075490565b905090565b845184518114158061071a575083518114155b80610726575082518114155b80610732575081518114155b15610769576040517f263eee8d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b81811015610806576107fe87828151811061078957610789612c77565b60200260200101518783815181106107a3576107a3612c77565b60200260200101518784815181106107bd576107bd612c77565b60200260200101518785815181106107d7576107d7612c77565b60200260200101518786815181106107f1576107f1612c77565b6020026020010151610940565b60010161076c565b50505050505050565b60055460009060ff166108225750601290565b50600090565b61084733838361083886336108a9565b6108429190612ca3565b6112e9565b5050565b6108473383836112e9565b61085e61123e565b600c5460ff16156106f557600c805460ff191690556040517f1142a68cc39970640eb3524e77b91f78be21abc64f20f5919387eb46699bb77290600090a1565b60606106df8261142d565b6000826001600160a01b0316826001600160a01b0316036108e357506001600160a01b0381166000908152600260205260409020546106df565b506001600160a01b0380821660009081526003602090815260408083209386168352929052205492915050565b6001600160a01b0381166000908152600260205260408120546106df565b61093661123e565b6106f5600061111e565b836001600160a01b0316856001600160a01b03160361098b576040517fb9afb00000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b336001600160a01b0386168114610a33576001600160a01b0380871660009081526003602090815260408083209385168352929052205480851115610a22576040517ff3a6b6910000000000000000000000000000000000000000000000000000000081526001600160a01b0380891660048301526024820183905283166044820152606481018690526084015b60405180910390fd5b610a3187836108428885612cb6565b505b610a4086868686866114cf565b505050505050565b610a5061123e565b3415610a6f5760405163f36ba73760e01b815260040160405180910390fd5b610847828261166b565b610a8161123e565b42841015610abe576040517f76429b5700000000000000000000000000000000000000000000000000000000815260048101859052602401610a19565b81600003610af8576040517f39af805800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6009849055600a839055600b829055610b1081600755565b6040805185815260208101859052908101839052606081018290527f8aeedf0ed8cd3693ef01d328f512281c622ee40528326aa6fba505184ab13a439060800160405180910390a150505050565b610b6661123e565b3415610b855760405163f36ba73760e01b815260040160405180910390fd5b8051825114610bc0576040517f3bcc897900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8151600003610bfb576040517f97da5f9500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b8251811015610c4b57610c43838281518110610c1c57610c1c612c77565b6020026020010151838381518110610c3657610c36612c77565b602002602001015161166b565b600101610bfe565b505050565b6000610c5c83336108a9565b905081811015610c98576040517f0ef76c3500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610c4b33848484036112e9565b610cad611785565b6001600160a01b038216610ced576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600003610d27576040517f1f2a200500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b336000908152600d602052604090205481811015610d74576040517fffb97f8100000000000000000000000000000000000000000000000000000000815260048101839052602401610a19565b336000908152600d602052604081208054849290610d93908490612cb6565b90915550506040516000906001600160a01b0385169084908381818185875af1925050503d8060008114610de3576040519150601f19603f3d011682016040523d82523d6000602084013e610de8565b606091505b5050905080610e35576040517fa00139f80000000000000000000000000000000000000000000000000000000081526001600160a01b038516600482015260248101849052604401610a19565b6040518381526001600160a01b0385169033907ff7a40077ff7a04c7e61f6f26fb13774259ddf1b6bce9ecf26a8276cdd39926839060200160405180910390a350506108476001600655565b6060815167ffffffffffffffff811115610e9d57610e9d6124fc565b604051908082528060200260200182016040528015610ed057816020015b6060815260200190600190039081610ebb5790505b50905060005b8251811015610f2657610f01838281518110610ef457610ef4612c77565b602002602001015161142d565b828281518110610f1357610f13612c77565b6020908102919091010152600101610ed6565b50919050565b600c5460ff161580610f3f575060095442105b15610f5d57604051632e8acb0d60e01b815260040160405180910390fd5b610f65611785565b610fd0888880806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250506040516bffffffffffffffffffffffff193360601b1660208201528a925060340190506040516020818303038152906040526117de565b610fdd85858585856118de565b610fe76001600655565b5050505050505050565b610ff961123e565b6001600160a01b0381166110755760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610a19565b61107e8161111e565b50565b61107e338260006112e9565b600c5460ff1615806110a0575060095442105b156110be57604051632e8acb0d60e01b815260040160405180910390fd5b6110c6611785565b60075415611100576040517f1df4698600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61110d85858585856118de565b6111176001600655565b5050505050565b6000546001600160a01b0382811691161461107e57600080546001600160a01b038381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60008281526001602052604090206111b38282612d43565b50817fece574603820d07bc9b91f2a932baadf4628aabcb8afba49776529c14a6104b2826040516111e49190612920565b60405180910390a25050565b60006001600160e01b031982167f629aa6940000000000000000000000000000000000000000000000000000000014806106df57506301ffc9a760e01b6001600160e01b03198316146106df565b336112516000546001600160a01b031690565b6001600160a01b0316146106f55760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610a19565b600c5460ff166106f557600c805460ff191660011790556040517fed1cd0670ee0c0017f550451a038818c696d0b6a9d6ce5b369e44275573cf9b090600090a1565b6001600160a01b038216611329576040517f6355e76600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b826001600160a01b0316826001600160a01b031603611374576040517fdab7504700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b03808416600090815260036020908152604080832093861683529290522081905580156113e85780836001600160a01b0316836001600160a01b03167fd66aff874162a96578e919097b6f6d153dfd89a5cec41bb331fdb0c4aec16e2c60405160405180910390a4505050565b826001600160a01b0316826001600160a01b03167f50546e66e5f44d728365dc3908c63bc5cfeeab470722c1677e3073a6ac294aa160405160405180910390a3505050565b600081815260016020526040902080546060919061144a90612cc9565b80601f016020809104026020016040519081016040528092919081815260200182805461147690612cc9565b80156114c35780601f10611498576101008083540402835291602001916114c3565b820191906000526020600020905b8154815290600101906020018083116114a657829003601f168201915b50505050509050919050565b6001600160a01b03851615806114ec57506001600160a01b038416155b1561150a57604051630d2d5ec360e41b815260040160405180910390fd5b6001600160a01b03851660009081526002602052604090205480841115611576576040517f08d47949000000000000000000000000000000000000000000000000000000008152600481018290526001600160a01b038716602482015260448101859052606401610a19565b336001600160a01b0387166000908152600260205260408120805487929061159f908490612cb6565b90915550506001600160a01b038616600090815260026020526040812080548792906115cc908490612ca3565b92505081905550856001600160a01b0316876001600160a01b0316826001600160a01b03167f3997e418d2cef0b3b0e907b1e39605c3f7d32dbd061e82ea5b4a770d46a160a688888860405161162493929190612e03565b60405180910390a46000878787866040516020016116459493929190612e2d565b60405160208183030381529060405290506116608882611bc6565b610fe7878683611c71565b7f2145e1d6d074577dc71ef54c3807742b41b053a9352ae6b491331509acb9750f82016116c4576040517f85c169bd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7fd0f59754f88971fe6bc5a6618cc9d5f1e859c58d16b22d1c7b2d3e2b246cd8aa820161171d576040517f76755b3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008281526001602052604090206117358282612d43565b50817fece574603820d07bc9b91f2a932baadf4628aabcb8afba49776529c14a6104b26101008351111561177657611771836000610100611dab565b611778565b825b6040516111e49190612920565b6002600654036117d75760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610a19565b6002600655565b600754611817576040517f5058901600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61182082611ed3565b1561185b5781816040517f331e2c3f000000000000000000000000000000000000000000000000000000008152600401610a19929190612e7a565b60008282604051602001611870929190612e93565b6040516020818303038152906040528051906020012090506118958460075483611f14565b6118cf5782826040517f4a0e7b13000000000000000000000000000000000000000000000000000000008152600401610a19929190612e7a565b6118d883611f2a565b50505050565b6040516bffffffffffffffffffffffff1930606090811b8216602084015246603484015287901b1660548201526068810185905234608882015260009060a8016040516020818303038152906040528051906020012090507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661196c82868686611f68565b6001600160a01b0316146119ac576040517f04f186ef00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000856119b888610910565b6119c29190612ca3565b9050600b54811115611a03576040517f941b43eb00000000000000000000000000000000000000000000000000000000815260048101829052602401610a19565b6000600a5487611a139190612eb9565b9050803414611a50576040517ffe2b8195000000000000000000000000000000000000000000000000000000008152346004820152602401610a19565b6040517f1817cb8e0000000000000000000000000000000000000000000000000000000081526004810182905263ffffffff7f0000000000000000000000000000000000000000000000000000000000000000166024820152600090733582f474f6e9fb087651b135d6224500a89e6f4490631817cb8e90604401602060405180830381865af4158015611ae8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b0c9190612ed0565b9050611b188183612cb6565b600d6000611b2e6000546001600160a01b031690565b6001600160a01b03166001600160a01b031681526020019081526020016000206000828254611b5d9190612ca3565b90915550506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000166000908152600d602052604081208054839290611baa908490612ca3565b90915550611bbb9050898984611f90565b505050505050505050565b611bd782631aed5a8560e21b612016565b1561084757604051631aed5a8560e21b81526001600160a01b03831690636bb56a1490611c2a907f429ac7a06903dbc9c13dfcb3c9d11df8194581fa047c96d7a4171fc7402958ea908590600401612e7a565b6000604051808303816000875af1158015611c49573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610c4b9190810190612ee9565b611c8283631aed5a8560e21b612016565b15611d1c57604051631aed5a8560e21b81526001600160a01b03841690636bb56a1490611cd5907f20804611b3e2ea21c480dc465142210acf4a2485947541770ec1fb87dee4a55c908590600401612e7a565b6000604051808303816000875af1158015611cf4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526118d89190810190612ee9565b81610c4b576001600160a01b0383163b15611d6e576040517fa608fbb60000000000000000000000000000000000000000000000000000000081526001600160a01b0384166004820152602401610a19565b6040517f26c247f40000000000000000000000000000000000000000000000000000000081526001600160a01b0384166004820152602401610a19565b606081611db981601f612ca3565b1015611e075760405162461bcd60e51b815260206004820152600e60248201527f736c6963655f6f766572666c6f770000000000000000000000000000000000006044820152606401610a19565b611e118284612ca3565b84511015611e615760405162461bcd60e51b815260206004820152601160248201527f736c6963655f6f75744f66426f756e64730000000000000000000000000000006044820152606401610a19565b606082158015611e805760405191506000825260208201604052611eca565b6040519150601f8416801560200281840101858101878315602002848b0101015b81831015611eb9578051835260209283019201611ea1565b5050858452601f01601f1916604052505b50949350505050565b600080611ee261010084612f6d565b90506000611ef261010085612f81565b60009283526008602052604090922054600190921b9182169091149392505050565b600082611f2185846120b4565b14949350505050565b6000611f3861010083612f6d565b90506000611f4861010084612f81565b6000928352600860205260409092208054600190931b9092179091555050565b6000806000611f7987878787612101565b91509150611f86816121c5565b5095945050505050565b60408051838152602081018390526001600160a01b038516917f25b428dfde728ccfaddad7e29e4ac23c24ed7fd1a6e3e3f91894a9a073f5dfff910160405180910390a2610c4b838360006040518060400160405280600281526020017f307800000000000000000000000000000000000000000000000000000000000081525061232a565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d9150600051905082801561209d575060208210155b80156120a95750600081115b979650505050505050565b600081815b84518110156120f9576120e5828683815181106120d8576120d8612c77565b60200260200101516123a3565b9150806120f181612f95565b9150506120b9565b509392505050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083111561213857506000905060036121bc565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa15801561218c573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166121b5576000600192509250506121bc565b9150600090505b94509492505050565b60008160048111156121d9576121d9612fae565b036121e15750565b60018160048111156121f5576121f5612fae565b036122425760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152606401610a19565b600281600481111561225657612256612fae565b036122a35760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606401610a19565b60038160048111156122b7576122b7612fae565b0361107e5760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f75650000000000000000000000000000000000000000000000000000000000006064820152608401610a19565b7f00000000000000000000000000000000000000000000000000000000000000008361235560045490565b61235f9190612ca3565b1115612397576040517feacbf0d100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6118d8848484846123d5565b60008183106123bf5760008281526020849052604090206123ce565b60008381526020839052604090205b9392505050565b6001600160a01b0384166123fc57604051630d2d5ec360e41b815260040160405180910390fd5b33836004600082825461240f9190612ca3565b90915550506001600160a01b0385166000908152600260205260408120805486929061243c908490612ca3565b92505081905550846001600160a01b031660006001600160a01b0316826001600160a01b03167f3997e418d2cef0b3b0e907b1e39605c3f7d32dbd061e82ea5b4a770d46a160a687878760405161249593929190612e03565b60405180910390a46000808686856040516020016124b69493929190612e2d565b6040516020818303038152906040529050610a40868583611c71565b6000602082840312156124e457600080fd5b81356001600160e01b0319811681146123ce57600080fd5b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561253b5761253b6124fc565b604052919050565b600067ffffffffffffffff82111561255d5761255d6124fc565b5060051b60200190565b80356001600160a01b038116811461257e57600080fd5b919050565b600082601f83011261259457600080fd5b813560206125a96125a483612543565b612512565b82815260059290921b840181019181810190868411156125c857600080fd5b8286015b848110156125ea576125dd81612567565b83529183019183016125cc565b509695505050505050565b600082601f83011261260657600080fd5b813560206126166125a483612543565b82815260059290921b8401810191818101908684111561263557600080fd5b8286015b848110156125ea5780358352918301918301612639565b8035801515811461257e57600080fd5b600082601f83011261267157600080fd5b813560206126816125a483612543565b82815260059290921b840181019181810190868411156126a057600080fd5b8286015b848110156125ea576126b581612650565b83529183019183016126a4565b600067ffffffffffffffff8211156126dc576126dc6124fc565b50601f01601f191660200190565b600082601f8301126126fb57600080fd5b81356127096125a4826126c2565b81815284602083860101111561271e57600080fd5b816020850160208301376000918101602001919091529392505050565b600082601f83011261274c57600080fd5b8135602061275c6125a483612543565b82815260059290921b8401810191818101908684111561277b57600080fd5b8286015b848110156125ea57803567ffffffffffffffff81111561279f5760008081fd5b6127ad8986838b01016126ea565b84525091830191830161277f565b600080600080600060a086880312156127d357600080fd5b853567ffffffffffffffff808211156127eb57600080fd5b6127f789838a01612583565b9650602088013591508082111561280d57600080fd5b61281989838a01612583565b9550604088013591508082111561282f57600080fd5b61283b89838a016125f5565b9450606088013591508082111561285157600080fd5b61285d89838a01612660565b9350608088013591508082111561287357600080fd5b506128808882890161273b565b9150509295509295909350565b600080604083850312156128a057600080fd5b6128a983612567565b946020939093013593505050565b6000602082840312156128c957600080fd5b5035919050565b60005b838110156128eb5781810151838201526020016128d3565b50506000910152565b6000815180845261290c8160208601602086016128d0565b601f01601f19169290920160200192915050565b6020815260006123ce60208301846128f4565b6000806040838503121561294657600080fd5b61294f83612567565b915061295d60208401612567565b90509250929050565b60006020828403121561297857600080fd5b6123ce82612567565b600080600080600060a0868803121561299957600080fd5b6129a286612567565b94506129b060208701612567565b9350604086013592506129c560608701612650565b9150608086013567ffffffffffffffff8111156129e157600080fd5b612880888289016126ea565b60008060408385031215612a0057600080fd5b82359150602083013567ffffffffffffffff811115612a1e57600080fd5b612a2a858286016126ea565b9150509250929050565b60008060008060808587031215612a4a57600080fd5b5050823594602084013594506040840135936060013592509050565b60008060408385031215612a7957600080fd5b823567ffffffffffffffff80821115612a9157600080fd5b612a9d868387016125f5565b93506020850135915080821115612ab357600080fd5b50612a2a8582860161273b565b600060208284031215612ad257600080fd5b813567ffffffffffffffff811115612ae957600080fd5b612af5848285016125f5565b949350505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015612b5257603f19888603018452612b408583516128f4565b94509285019290850190600101612b24565b5092979650505050505050565b803560ff8116811461257e57600080fd5b60008060008060008060008060e0898b031215612b8c57600080fd5b883567ffffffffffffffff80821115612ba457600080fd5b818b0191508b601f830112612bb857600080fd5b813581811115612bc757600080fd5b8c60208260051b8501011115612bdc57600080fd5b60209283019a509850508901359550612bf760408a01612567565b945060608901359350612c0c60808a01612b5f565b925060a0890135915060c089013590509295985092959890939650565b600080600080600060a08688031215612c4157600080fd5b612c4a86612567565b945060208601359350612c5f60408701612b5f565b94979396509394606081013594506080013592915050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b808201808211156106df576106df612c8d565b818103818111156106df576106df612c8d565b600181811c90821680612cdd57607f821691505b602082108103610f2657634e487b7160e01b600052602260045260246000fd5b601f821115610c4b57600081815260208120601f850160051c81016020861015612d245750805b601f850160051c820191505b81811015610a4057828155600101612d30565b815167ffffffffffffffff811115612d5d57612d5d6124fc565b612d7181612d6b8454612cc9565b84612cfd565b602080601f831160018114612da65760008415612d8e5750858301515b600019600386901b1c1916600185901b178555610a40565b600085815260208120601f198616915b82811015612dd557888601518255948401946001909101908401612db6565b5085821015612df35787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b8381528215156020820152606060408201526000612e2460608301846128f4565b95945050505050565b60006bffffffffffffffffffffffff19808760601b168352808660601b166014840152508360288301528251612e6a8160488501602087016128d0565b9190910160480195945050505050565b828152604060208201526000612af560408301846128f4565b82815260008251612eab8160208501602087016128d0565b919091016020019392505050565b80820281158282048414176106df576106df612c8d565b600060208284031215612ee257600080fd5b5051919050565b600060208284031215612efb57600080fd5b815167ffffffffffffffff811115612f1257600080fd5b8201601f81018413612f2357600080fd5b8051612f316125a4826126c2565b818152856020838501011115612f4657600080fd5b612e248260208301602086016128d0565b634e487b7160e01b600052601260045260246000fd5b600082612f7c57612f7c612f57565b500490565b600082612f9057612f90612f57565b500690565b600060018201612fa757612fa7612c8d565b5060010190565b634e487b7160e01b600052602160045260246000fdfea2646970667358221220e170ff9fd6eb87d3a1a5345fdacb9a06d27b6454bfbb7e064c6202af5844593264736f6c63430008110033 +0x6101006040523480156200001257600080fd5b506040516200376538038062003765833981016040819052620000359162000490565b838382848a8a8a6001838383806001600160a01b038116620000ad5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b620000c381620002e660201b6200111e1760201c565b506200011a7feafec4d89fa9619884b60000a4d96624a38f7ac2d8d9a604ecf07c12c77e480c60001b604051806040016040528060048152602001632936598960e21b8152506200034d60201b6200119b1760201c565b620001547fdeba1e292f8ba88238e10ab3c7f88bd4be4fac56cad5194b6ecceaf653468af160001b846200034d60201b6200119b1760201c565b6200018e7f2f0a68ab07768e01943a599e73362a0e17a63a72e94dd2e384d2c1d4db93275660001b836200034d60201b6200119b1760201c565b50506005805460ff19169215159290921790915550505060008290039050620001ca5760405163acf1d8c560e01b815260040160405180910390fd5b6080526001600655604051633c7bdc1960e01b815263ffffffff82166004820152733582f474f6e9fb087651b135d6224500a89e6f4490633c7bdc1990602401602060405180830381865af415801562000228573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200024e91906200055a565b62000275576040516363a0a0e760e01b815263ffffffff82166004820152602401620000a4565b6001600160a01b03831615806200029357506001600160a01b038216155b15620002b25760405163d92e233d60e01b815260040160405180910390fd5b600c805460ff191690556001600160a01b0392831660c052911660e05263ffffffff1660a052506200071595505050505050565b6000546001600160a01b038281169116146200034a57600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a3505b50565b600082815260016020526040902062000367828262000614565b50817fece574603820d07bc9b91f2a932baadf4628aabcb8afba49776529c14a6104b2826040516200039a9190620006e0565b60405180910390a25050565b634e487b7160e01b600052604160045260246000fd5b60005b83811015620003d9578181015183820152602001620003bf565b50506000910152565b600082601f830112620003f457600080fd5b81516001600160401b0380821115620004115762000411620003a6565b604051601f8301601f19908116603f011681019082821181831017156200043c576200043c620003a6565b816040528381528660208588010111156200045657600080fd5b62000469846020830160208901620003bc565b9695505050505050565b80516001600160a01b03811681146200048b57600080fd5b919050565b600080600080600080600060e0888a031215620004ac57600080fd5b87516001600160401b0380821115620004c457600080fd5b620004d28b838c01620003e2565b985060208a0151915080821115620004e957600080fd5b50620004f88a828b01620003e2565b965050620005096040890162000473565b9450620005196060890162000473565b9350620005296080890162000473565b925060a0880151915060c088015163ffffffff811681146200054a57600080fd5b8091505092959891949750929550565b6000602082840312156200056d57600080fd5b815180151581146200057e57600080fd5b9392505050565b600181811c908216806200059a57607f821691505b602082108103620005bb57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200060f57600081815260208120601f850160051c81016020861015620005ea5750805b601f850160051c820191505b818110156200060b57828155600101620005f6565b5050505b505050565b81516001600160401b03811115620006305762000630620003a6565b620006488162000641845462000585565b84620005c1565b602080601f831160018114620006805760008415620006675750858301515b600019600386901b1c1916600185901b1785556200060b565b600085815260208120601f198616915b82811015620006b15788860151825594840194600190910190840162000690565b5085821015620006d05787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b602081526000825180602084015262000701816040850160208701620003bc565b601f01601f19169190910160400192915050565b60805160a05160c05160e051612ffa6200076b600039600081816102ca01526119380152600081816105d60152611b6c01526000818161037d0152611a840152600081816103f8015261232c0152612ffa6000f3fe6080604052600436106102195760003560e01c8063715018a61161011d578063a457c2d7116100b0578063edb8d1e21161007f578063f575191e11610064578063f575191e14610658578063fad8b32a1461066e578063fc6180711461068e57600080fd5b8063edb8d1e214610625578063f2fde38b1461063857600080fd5b8063a457c2d714610584578063aad3ec96146105a4578063d598d4c9146105c4578063dedff9c6146105f857600080fd5b80638bbd4378116100ec5780638bbd4378146104fd5780638da5cb5b1461051d578063942cd44b1461053b578063979024211461057157600080fd5b8063715018a61461049f578063760d9bba146104b457806378e97925146104d45780637f23690c146104ea57600080fd5b806339509351116101b057806352058d8a1161017f57806365aeaa951161016457806365aeaa95146104495780636817c76c1461046957806370a082311461047f57600080fd5b806352058d8a146103e957806354f6127f1461041c57600080fd5b8063395093511461034b5780633c3e8ae31461036b57806347980aa3146103b457806351b42b00146103d457600080fd5b80632b47da52116101ec5780632b47da52146102a35780632b7ac3f3146102b85780632d7667c914610304578063313ce5671461032457600080fd5b806301ffc9a71461021e5780630f15f4c01461025357806318160ddd1461026a578063186601ca14610289575b600080fd5b34801561022a57600080fd5b5061023e6102393660046124d2565b6106a1565b60405190151581526020015b60405180910390f35b34801561025f57600080fd5b506102686106e5565b005b34801561027657600080fd5b506004545b60405190815260200161024a565b34801561029557600080fd5b50600c5461023e9060ff1681565b3480156102af57600080fd5b5061027b6106f7565b3480156102c457600080fd5b506102ec7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161024a565b34801561031057600080fd5b5061026861031f3660046127bb565b610707565b34801561033057600080fd5b5061033961080f565b60405160ff909116815260200161024a565b34801561035757600080fd5b5061026861036636600461288d565b610828565b34801561037757600080fd5b5061039f7f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff909116815260200161024a565b3480156103c057600080fd5b506102686103cf36600461288d565b61084b565b3480156103e057600080fd5b50610268610856565b3480156103f557600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061027b565b34801561042857600080fd5b5061043c6104373660046128b7565b61089e565b60405161024a9190612920565b34801561045557600080fd5b5061027b610464366004612933565b6108a9565b34801561047557600080fd5b5061027b600a5481565b34801561048b57600080fd5b5061027b61049a366004612966565b610910565b3480156104ab57600080fd5b5061026861092e565b3480156104c057600080fd5b506102686104cf366004612981565b610940565b3480156104e057600080fd5b5061027b60095481565b6102686104f83660046129ed565b610a48565b34801561050957600080fd5b50610268610518366004612a34565b610a79565b34801561052957600080fd5b506000546001600160a01b03166102ec565b34801561054757600080fd5b5061027b610556366004612966565b6001600160a01b03166000908152600d602052604090205490565b61026861057f366004612a66565b610b5e565b34801561059057600080fd5b5061026861059f36600461288d565b610c50565b3480156105b057600080fd5b506102686105bf36600461288d565b610ca5565b3480156105d057600080fd5b506102ec7f000000000000000000000000000000000000000000000000000000000000000081565b34801561060457600080fd5b50610618610613366004612ac0565b610e81565b60405161024a9190612afd565b610268610633366004612b70565b610f2c565b34801561064457600080fd5b50610268610653366004612966565b610ff1565b34801561066457600080fd5b5061027b600b5481565b34801561067a57600080fd5b50610268610689366004612966565b611081565b61026861069c366004612c29565b61108d565b60006001600160e01b031982167fda1f85e40000000000000000000000000000000000000000000000000000000014806106df57506106df826111f0565b92915050565b6106ed61123e565b6106f56112a7565b565b600061070260075490565b905090565b845184518114158061071a575083518114155b80610726575082518114155b80610732575081518114155b15610769576040517f263eee8d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b81811015610806576107fe87828151811061078957610789612c77565b60200260200101518783815181106107a3576107a3612c77565b60200260200101518784815181106107bd576107bd612c77565b60200260200101518785815181106107d7576107d7612c77565b60200260200101518786815181106107f1576107f1612c77565b6020026020010151610940565b60010161076c565b50505050505050565b60055460009060ff166108225750601290565b50600090565b61084733838361083886336108a9565b6108429190612ca3565b6112e9565b5050565b6108473383836112e9565b61085e61123e565b600c5460ff16156106f557600c805460ff191690556040517f1142a68cc39970640eb3524e77b91f78be21abc64f20f5919387eb46699bb77290600090a1565b60606106df8261142d565b6000826001600160a01b0316826001600160a01b0316036108e357506001600160a01b0381166000908152600260205260409020546106df565b506001600160a01b0380821660009081526003602090815260408083209386168352929052205492915050565b6001600160a01b0381166000908152600260205260408120546106df565b61093661123e565b6106f5600061111e565b836001600160a01b0316856001600160a01b03160361098b576040517fb9afb00000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b336001600160a01b0386168114610a33576001600160a01b0380871660009081526003602090815260408083209385168352929052205480851115610a22576040517ff3a6b6910000000000000000000000000000000000000000000000000000000081526001600160a01b0380891660048301526024820183905283166044820152606481018690526084015b60405180910390fd5b610a3187836108428885612cb6565b505b610a4086868686866114cf565b505050505050565b610a5061123e565b3415610a6f5760405163f36ba73760e01b815260040160405180910390fd5b610847828261166b565b610a8161123e565b42841015610abe576040517f76429b5700000000000000000000000000000000000000000000000000000000815260048101859052602401610a19565b81600003610af8576040517f39af805800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6009849055600a839055600b829055610b1081600755565b6040805185815260208101859052908101839052606081018290527f8aeedf0ed8cd3693ef01d328f512281c622ee40528326aa6fba505184ab13a439060800160405180910390a150505050565b610b6661123e565b3415610b855760405163f36ba73760e01b815260040160405180910390fd5b8051825114610bc0576040517f3bcc897900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8151600003610bfb576040517f97da5f9500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b8251811015610c4b57610c43838281518110610c1c57610c1c612c77565b6020026020010151838381518110610c3657610c36612c77565b602002602001015161166b565b600101610bfe565b505050565b6000610c5c83336108a9565b905081811015610c98576040517f0ef76c3500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610c4b33848484036112e9565b610cad611785565b6001600160a01b038216610ced576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600003610d27576040517f1f2a200500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b336000908152600d602052604090205481811015610d74576040517fffb97f8100000000000000000000000000000000000000000000000000000000815260048101839052602401610a19565b336000908152600d602052604081208054849290610d93908490612cb6565b90915550506040516000906001600160a01b0385169084908381818185875af1925050503d8060008114610de3576040519150601f19603f3d011682016040523d82523d6000602084013e610de8565b606091505b5050905080610e35576040517fa00139f80000000000000000000000000000000000000000000000000000000081526001600160a01b038516600482015260248101849052604401610a19565b6040518381526001600160a01b0385169033907ff7a40077ff7a04c7e61f6f26fb13774259ddf1b6bce9ecf26a8276cdd39926839060200160405180910390a350506108476001600655565b6060815167ffffffffffffffff811115610e9d57610e9d6124fc565b604051908082528060200260200182016040528015610ed057816020015b6060815260200190600190039081610ebb5790505b50905060005b8251811015610f2657610f01838281518110610ef457610ef4612c77565b602002602001015161142d565b828281518110610f1357610f13612c77565b6020908102919091010152600101610ed6565b50919050565b600c5460ff161580610f3f575060095442105b15610f5d57604051632e8acb0d60e01b815260040160405180910390fd5b610f65611785565b610fd0888880806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250506040516bffffffffffffffffffffffff193360601b1660208201528a925060340190506040516020818303038152906040526117de565b610fdd85858585856118de565b610fe76001600655565b5050505050505050565b610ff961123e565b6001600160a01b0381166110755760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610a19565b61107e8161111e565b50565b61107e338260006112e9565b600c5460ff1615806110a0575060095442105b156110be57604051632e8acb0d60e01b815260040160405180910390fd5b6110c6611785565b60075415611100576040517f1df4698600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61110d85858585856118de565b6111176001600655565b5050505050565b6000546001600160a01b0382811691161461107e57600080546001600160a01b038381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60008281526001602052604090206111b38282612d43565b50817fece574603820d07bc9b91f2a932baadf4628aabcb8afba49776529c14a6104b2826040516111e49190612920565b60405180910390a25050565b60006001600160e01b031982167f629aa6940000000000000000000000000000000000000000000000000000000014806106df57506301ffc9a760e01b6001600160e01b03198316146106df565b336112516000546001600160a01b031690565b6001600160a01b0316146106f55760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610a19565b600c5460ff166106f557600c805460ff191660011790556040517fed1cd0670ee0c0017f550451a038818c696d0b6a9d6ce5b369e44275573cf9b090600090a1565b6001600160a01b038216611329576040517f6355e76600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b826001600160a01b0316826001600160a01b031603611374576040517fdab7504700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b03808416600090815260036020908152604080832093861683529290522081905580156113e85780836001600160a01b0316836001600160a01b03167fd66aff874162a96578e919097b6f6d153dfd89a5cec41bb331fdb0c4aec16e2c60405160405180910390a4505050565b826001600160a01b0316826001600160a01b03167f50546e66e5f44d728365dc3908c63bc5cfeeab470722c1677e3073a6ac294aa160405160405180910390a3505050565b600081815260016020526040902080546060919061144a90612cc9565b80601f016020809104026020016040519081016040528092919081815260200182805461147690612cc9565b80156114c35780601f10611498576101008083540402835291602001916114c3565b820191906000526020600020905b8154815290600101906020018083116114a657829003601f168201915b50505050509050919050565b6001600160a01b03851615806114ec57506001600160a01b038416155b1561150a57604051630d2d5ec360e41b815260040160405180910390fd5b6001600160a01b03851660009081526002602052604090205480841115611576576040517f08d47949000000000000000000000000000000000000000000000000000000008152600481018290526001600160a01b038716602482015260448101859052606401610a19565b336001600160a01b0387166000908152600260205260408120805487929061159f908490612cb6565b90915550506001600160a01b038616600090815260026020526040812080548792906115cc908490612ca3565b92505081905550856001600160a01b0316876001600160a01b0316826001600160a01b03167f3997e418d2cef0b3b0e907b1e39605c3f7d32dbd061e82ea5b4a770d46a160a688888860405161162493929190612e03565b60405180910390a46000878787866040516020016116459493929190612e2d565b60405160208183030381529060405290506116608882611bc6565b610fe7878683611c71565b7f2145e1d6d074577dc71ef54c3807742b41b053a9352ae6b491331509acb9750f82016116c4576040517f85c169bd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7fd0f59754f88971fe6bc5a6618cc9d5f1e859c58d16b22d1c7b2d3e2b246cd8aa820161171d576040517f76755b3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008281526001602052604090206117358282612d43565b50817fece574603820d07bc9b91f2a932baadf4628aabcb8afba49776529c14a6104b26101008351111561177657611771836000610100611dab565b611778565b825b6040516111e49190612920565b6002600654036117d75760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610a19565b6002600655565b600754611817576040517f5058901600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61182082611ed3565b1561185b5781816040517f331e2c3f000000000000000000000000000000000000000000000000000000008152600401610a19929190612e7a565b60008282604051602001611870929190612e93565b6040516020818303038152906040528051906020012090506118958460075483611f14565b6118cf5782826040517f4a0e7b13000000000000000000000000000000000000000000000000000000008152600401610a19929190612e7a565b6118d883611f2a565b50505050565b6040516bffffffffffffffffffffffff1930606090811b8216602084015246603484015287901b1660548201526068810185905234608882015260009060a8016040516020818303038152906040528051906020012090507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661196c82868686611f68565b6001600160a01b0316146119ac576040517f04f186ef00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000856119b888610910565b6119c29190612ca3565b9050600b54811115611a03576040517f941b43eb00000000000000000000000000000000000000000000000000000000815260048101829052602401610a19565b6000600a5487611a139190612eb9565b9050803414611a50576040517ffe2b8195000000000000000000000000000000000000000000000000000000008152346004820152602401610a19565b6040517f1817cb8e0000000000000000000000000000000000000000000000000000000081526004810182905263ffffffff7f0000000000000000000000000000000000000000000000000000000000000000166024820152600090733582f474f6e9fb087651b135d6224500a89e6f4490631817cb8e90604401602060405180830381865af4158015611ae8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b0c9190612ed0565b9050611b188183612cb6565b600d6000611b2e6000546001600160a01b031690565b6001600160a01b03166001600160a01b031681526020019081526020016000206000828254611b5d9190612ca3565b90915550506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000166000908152600d602052604081208054839290611baa908490612ca3565b90915550611bbb9050898984611f90565b505050505050505050565b611bd782631aed5a8560e21b612016565b1561084757604051631aed5a8560e21b81526001600160a01b03831690636bb56a1490611c2a907f429ac7a06903dbc9c13dfcb3c9d11df8194581fa047c96d7a4171fc7402958ea908590600401612e7a565b6000604051808303816000875af1158015611c49573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610c4b9190810190612ee9565b611c8283631aed5a8560e21b612016565b15611d1c57604051631aed5a8560e21b81526001600160a01b03841690636bb56a1490611cd5907f20804611b3e2ea21c480dc465142210acf4a2485947541770ec1fb87dee4a55c908590600401612e7a565b6000604051808303816000875af1158015611cf4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526118d89190810190612ee9565b81610c4b576001600160a01b0383163b15611d6e576040517fa608fbb60000000000000000000000000000000000000000000000000000000081526001600160a01b0384166004820152602401610a19565b6040517f26c247f40000000000000000000000000000000000000000000000000000000081526001600160a01b0384166004820152602401610a19565b606081611db981601f612ca3565b1015611e075760405162461bcd60e51b815260206004820152600e60248201527f736c6963655f6f766572666c6f770000000000000000000000000000000000006044820152606401610a19565b611e118284612ca3565b84511015611e615760405162461bcd60e51b815260206004820152601160248201527f736c6963655f6f75744f66426f756e64730000000000000000000000000000006044820152606401610a19565b606082158015611e805760405191506000825260208201604052611eca565b6040519150601f8416801560200281840101858101878315602002848b0101015b81831015611eb9578051835260209283019201611ea1565b5050858452601f01601f1916604052505b50949350505050565b600080611ee261010084612f6d565b90506000611ef261010085612f81565b60009283526008602052604090922054600190921b9182169091149392505050565b600082611f2185846120b4565b14949350505050565b6000611f3861010083612f6d565b90506000611f4861010084612f81565b6000928352600860205260409092208054600190931b9092179091555050565b6000806000611f7987878787612101565b91509150611f86816121c5565b5095945050505050565b60408051838152602081018390526001600160a01b038516917f25b428dfde728ccfaddad7e29e4ac23c24ed7fd1a6e3e3f91894a9a073f5dfff910160405180910390a2610c4b838360006040518060400160405280600281526020017f307800000000000000000000000000000000000000000000000000000000000081525061232a565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d9150600051905082801561209d575060208210155b80156120a95750600081115b979650505050505050565b600081815b84518110156120f9576120e5828683815181106120d8576120d8612c77565b60200260200101516123a3565b9150806120f181612f95565b9150506120b9565b509392505050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083111561213857506000905060036121bc565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa15801561218c573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166121b5576000600192509250506121bc565b9150600090505b94509492505050565b60008160048111156121d9576121d9612fae565b036121e15750565b60018160048111156121f5576121f5612fae565b036122425760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152606401610a19565b600281600481111561225657612256612fae565b036122a35760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606401610a19565b60038160048111156122b7576122b7612fae565b0361107e5760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f75650000000000000000000000000000000000000000000000000000000000006064820152608401610a19565b7f00000000000000000000000000000000000000000000000000000000000000008361235560045490565b61235f9190612ca3565b1115612397576040517feacbf0d100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6118d8848484846123d5565b60008183106123bf5760008281526020849052604090206123ce565b60008381526020839052604090205b9392505050565b6001600160a01b0384166123fc57604051630d2d5ec360e41b815260040160405180910390fd5b33836004600082825461240f9190612ca3565b90915550506001600160a01b0385166000908152600260205260408120805486929061243c908490612ca3565b92505081905550846001600160a01b031660006001600160a01b0316826001600160a01b03167f3997e418d2cef0b3b0e907b1e39605c3f7d32dbd061e82ea5b4a770d46a160a687878760405161249593929190612e03565b60405180910390a46000808686856040516020016124b69493929190612e2d565b6040516020818303038152906040529050610a40868583611c71565b6000602082840312156124e457600080fd5b81356001600160e01b0319811681146123ce57600080fd5b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561253b5761253b6124fc565b604052919050565b600067ffffffffffffffff82111561255d5761255d6124fc565b5060051b60200190565b80356001600160a01b038116811461257e57600080fd5b919050565b600082601f83011261259457600080fd5b813560206125a96125a483612543565b612512565b82815260059290921b840181019181810190868411156125c857600080fd5b8286015b848110156125ea576125dd81612567565b83529183019183016125cc565b509695505050505050565b600082601f83011261260657600080fd5b813560206126166125a483612543565b82815260059290921b8401810191818101908684111561263557600080fd5b8286015b848110156125ea5780358352918301918301612639565b8035801515811461257e57600080fd5b600082601f83011261267157600080fd5b813560206126816125a483612543565b82815260059290921b840181019181810190868411156126a057600080fd5b8286015b848110156125ea576126b581612650565b83529183019183016126a4565b600067ffffffffffffffff8211156126dc576126dc6124fc565b50601f01601f191660200190565b600082601f8301126126fb57600080fd5b81356127096125a4826126c2565b81815284602083860101111561271e57600080fd5b816020850160208301376000918101602001919091529392505050565b600082601f83011261274c57600080fd5b8135602061275c6125a483612543565b82815260059290921b8401810191818101908684111561277b57600080fd5b8286015b848110156125ea57803567ffffffffffffffff81111561279f5760008081fd5b6127ad8986838b01016126ea565b84525091830191830161277f565b600080600080600060a086880312156127d357600080fd5b853567ffffffffffffffff808211156127eb57600080fd5b6127f789838a01612583565b9650602088013591508082111561280d57600080fd5b61281989838a01612583565b9550604088013591508082111561282f57600080fd5b61283b89838a016125f5565b9450606088013591508082111561285157600080fd5b61285d89838a01612660565b9350608088013591508082111561287357600080fd5b506128808882890161273b565b9150509295509295909350565b600080604083850312156128a057600080fd5b6128a983612567565b946020939093013593505050565b6000602082840312156128c957600080fd5b5035919050565b60005b838110156128eb5781810151838201526020016128d3565b50506000910152565b6000815180845261290c8160208601602086016128d0565b601f01601f19169290920160200192915050565b6020815260006123ce60208301846128f4565b6000806040838503121561294657600080fd5b61294f83612567565b915061295d60208401612567565b90509250929050565b60006020828403121561297857600080fd5b6123ce82612567565b600080600080600060a0868803121561299957600080fd5b6129a286612567565b94506129b060208701612567565b9350604086013592506129c560608701612650565b9150608086013567ffffffffffffffff8111156129e157600080fd5b612880888289016126ea565b60008060408385031215612a0057600080fd5b82359150602083013567ffffffffffffffff811115612a1e57600080fd5b612a2a858286016126ea565b9150509250929050565b60008060008060808587031215612a4a57600080fd5b5050823594602084013594506040840135936060013592509050565b60008060408385031215612a7957600080fd5b823567ffffffffffffffff80821115612a9157600080fd5b612a9d868387016125f5565b93506020850135915080821115612ab357600080fd5b50612a2a8582860161273b565b600060208284031215612ad257600080fd5b813567ffffffffffffffff811115612ae957600080fd5b612af5848285016125f5565b949350505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015612b5257603f19888603018452612b408583516128f4565b94509285019290850190600101612b24565b5092979650505050505050565b803560ff8116811461257e57600080fd5b60008060008060008060008060e0898b031215612b8c57600080fd5b883567ffffffffffffffff80821115612ba457600080fd5b818b0191508b601f830112612bb857600080fd5b813581811115612bc757600080fd5b8c60208260051b8501011115612bdc57600080fd5b60209283019a509850508901359550612bf760408a01612567565b945060608901359350612c0c60808a01612b5f565b925060a0890135915060c089013590509295985092959890939650565b600080600080600060a08688031215612c4157600080fd5b612c4a86612567565b945060208601359350612c5f60408701612b5f565b94979396509394606081013594506080013592915050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b808201808211156106df576106df612c8d565b818103818111156106df576106df612c8d565b600181811c90821680612cdd57607f821691505b602082108103610f2657634e487b7160e01b600052602260045260246000fd5b601f821115610c4b57600081815260208120601f850160051c81016020861015612d245750805b601f850160051c820191505b81811015610a4057828155600101612d30565b815167ffffffffffffffff811115612d5d57612d5d6124fc565b612d7181612d6b8454612cc9565b84612cfd565b602080601f831160018114612da65760008415612d8e5750858301515b600019600386901b1c1916600185901b178555610a40565b600085815260208120601f198616915b82811015612dd557888601518255948401946001909101908401612db6565b5085821015612df35787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b8381528215156020820152606060408201526000612e2460608301846128f4565b95945050505050565b60006bffffffffffffffffffffffff19808760601b168352808660601b166014840152508360288301528251612e6a8160488501602087016128d0565b9190910160480195945050505050565b828152604060208201526000612af560408301846128f4565b82815260008251612eab8160208501602087016128d0565b919091016020019392505050565b80820281158282048414176106df576106df612c8d565b600060208284031215612ee257600080fd5b5051919050565b600060208284031215612efb57600080fd5b815167ffffffffffffffff811115612f1257600080fd5b8201601f81018413612f2357600080fd5b8051612f316125a4826126c2565b818152856020838501011115612f4657600080fd5b612e248260208301602086016128d0565b634e487b7160e01b600052601260045260246000fd5b600082612f7c57612f7c612f57565b500490565b600082612f9057612f90612f57565b500690565b600060018201612fa757612fa7612c8d565b5060010190565b634e487b7160e01b600052602160045260246000fdfea2646970667358221220bf4844800f2975d140d8ba3c5b4099cf60827f1e5962d764e2b38473d629703064736f6c63430008110033 diff --git a/artifacts/bytecode/drops/LSP8DropsDigitalAsset.bin b/artifacts/bytecode/drops/LSP8DropsDigitalAsset.bin index cd572bf..506c377 100644 --- a/artifacts/bytecode/drops/LSP8DropsDigitalAsset.bin +++ b/artifacts/bytecode/drops/LSP8DropsDigitalAsset.bin @@ -1 +1 @@ -0x6101006040523480156200001257600080fd5b5060405162004491380380620044918339810160408190526200003591620006c0565b838382848a8a8a828282806001600160a01b038116620000ab5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b620000c1816200032260201b620013aa1760201c565b50620001187feafec4d89fa9619884b60000a4d96624a38f7ac2d8d9a604ecf07c12c77e480c60001b604051806040016040528060048152602001632936598960e21b8152506200038960201b6200141c1760201c565b620001527fdeba1e292f8ba88238e10ab3c7f88bd4be4fac56cad5194b6ecceaf653468af160001b846200038960201b6200141c1760201c565b6200018c7f2f0a68ab07768e01943a599e73362a0e17a63a72e94dd2e384d2c1d4db93275660001b836200038960201b6200141c1760201c565b50505050505080600003620001b45760405163038d9fc360e41b815260040160405180910390fd5b6080526001600955604051633c7bdc1960e01b815263ffffffff82166004820152733582f474f6e9fb087651b135d6224500a89e6f4490633c7bdc1990602401602060405180830381865af415801562000212573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200023891906200078a565b6200025f576040516363a0a0e760e01b815263ffffffff82166004820152602401620000a2565b6001600160a01b03831615806200027d57506001600160a01b038216155b156200029c5760405163d92e233d60e01b815260040160405180910390fd5b600f805460ff191690556001600160a01b0392831660c052911660e05263ffffffff1660a052604080516002602082015262000315917f715f248956de7ce65e94d9d836bfead479f7e70d69b718d47bfe7b00e05b4fe49101604051602081830303815290604052620003d160201b620014711760201c565b505050505050506200096d565b6000546001600160a01b038281169116146200038657600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a3505b50565b6000828152600160205260409020620003a3828262000844565b50816000805160206200447183398151915282604051620003c5919062000910565b60405180910390a25050565b7f2145e1d6d074577dc71ef54c3807742b41b053a9352ae6b491331509acb9750f820162000412576040516385c169bd60e01b815260040160405180910390fd5b7fd0f59754f88971fe6bc5a6618cc9d5f1e859c58d16b22d1c7b2d3e2b246cd8aa82016200045357604051630eceab6760e31b815260040160405180910390fd5b60008281526001602052604090206200046d828262000844565b50816000805160206200447183398151915261010083511115620004ac57620004a6836000610100620004bd60201b6200158b1760201c565b620004ae565b825b604051620003c5919062000910565b606081620004cd81601f62000945565b10156200050e5760405162461bcd60e51b815260206004820152600e60248201526d736c6963655f6f766572666c6f7760901b6044820152606401620000a2565b6200051a828462000945565b84511015620005605760405162461bcd60e51b8152602060048201526011602482015270736c6963655f6f75744f66426f756e647360781b6044820152606401620000a2565b606082158015620005815760405191506000825260208201604052620005cd565b6040519150601f8416801560200281840101858101878315602002848b0101015b81831015620005bc578051835260209283019201620005a2565b5050858452601f01601f1916604052505b50949350505050565b634e487b7160e01b600052604160045260246000fd5b60005b8381101562000609578181015183820152602001620005ef565b50506000910152565b600082601f8301126200062457600080fd5b81516001600160401b0380821115620006415762000641620005d6565b604051601f8301601f19908116603f011681019082821181831017156200066c576200066c620005d6565b816040528381528660208588010111156200068657600080fd5b62000699846020830160208901620005ec565b9695505050505050565b80516001600160a01b0381168114620006bb57600080fd5b919050565b600080600080600080600060e0888a031215620006dc57600080fd5b87516001600160401b0380821115620006f457600080fd5b620007028b838c0162000612565b985060208a01519150808211156200071957600080fd5b50620007288a828b0162000612565b9650506200073960408901620006a3565b94506200074960608901620006a3565b93506200075960808901620006a3565b925060a0880151915060c088015163ffffffff811681146200077a57600080fd5b8091505092959891949750929550565b6000602082840312156200079d57600080fd5b81518015158114620007ae57600080fd5b9392505050565b600181811c90821680620007ca57607f821691505b602082108103620007eb57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200083f57600081815260208120601f850160051c810160208610156200081a5750805b601f850160051c820191505b818110156200083b5782815560010162000826565b5050505b505050565b81516001600160401b03811115620008605762000860620005d6565b6200087881620008718454620007b5565b84620007f1565b602080601f831160018114620008b05760008415620008975750858301515b600019600386901b1c1916600185901b1785556200083b565b600085815260208120601f198616915b82811015620008e157888601518255948401946001909101908401620008c0565b5085821015620009005787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b602081526000825180602084015262000931816040850160208701620005ec565b601f01601f19169190910160400192915050565b808201808211156200096757634e487b7160e01b600052601160045260246000fd5b92915050565b60805160a05160c05160e051613aae620009c3600039600081816103930152611dea0152600081816106a7015261201e0152600081816103e70152611f3601526000818161048f0152612bac0152613aae6000f3fe60806040526004361061026a5760003560e01c8063715018a611610153578063a3b261f2116100cb578063dedff9c61161007f578063f2fde38b11610064578063f2fde38b1461071e578063f575191e1461073e578063fc6180711461075457600080fd5b8063dedff9c6146106de578063edb8d1e21461070b57600080fd5b8063cf5182ba116100b0578063cf5182ba14610675578063d598d4c914610695578063dd5ffa1e146106c957600080fd5b8063a3b261f214610628578063aad3ec961461065557600080fd5b80638bbd43781161012257806392a91a3a1161010757806392a91a3a146105b2578063942cd44b146105df578063979024211461061557600080fd5b80638bbd4378146105745780638da5cb5b1461059457600080fd5b8063715018a61461051657806378e979251461052b5780637e87632c146105415780637f23690c1461056157600080fd5b806337e3f8dc116101e657806351b42b00116101b557806354f6127f1161019a57806354f6127f146104b35780636817c76c146104e057806370a08231146104f657600080fd5b806351b42b001461046b57806352058d8a1461048057600080fd5b806337e3f8dc146103b55780633c3e8ae3146103d557806349a6078d1461041e578063511b69521461044b57600080fd5b8063186601ca1161023d5780632a3654a4116102225780632a3654a41461034c5780632b47da521461036c5780632b7ac3f31461038157600080fd5b8063186601ca146102fa578063217b22701461031457600080fd5b806301ffc9a71461026f5780630b0c6d82146102a45780630f15f4c0146102c657806318160ddd146102db575b600080fd5b34801561027b57600080fd5b5061028f61028a366004612d84565b610767565b60405190151581526020015b60405180910390f35b3480156102b057600080fd5b506102c46102bf366004612dca565b6107ab565b005b3480156102d257600080fd5b506102c4610867565b3480156102e757600080fd5b506002545b60405190815260200161029b565b34801561030657600080fd5b50600f5461028f9060ff1681565b34801561032057600080fd5b5061033461032f366004612df4565b610879565b6040516001600160a01b03909116815260200161029b565b34801561035857600080fd5b5061028f610367366004612dca565b6108b2565b34801561037857600080fd5b506102ec6108ce565b34801561038d57600080fd5b506103347f000000000000000000000000000000000000000000000000000000000000000081565b3480156103c157600080fd5b506102c46103d0366004612e0d565b6108de565b3480156103e157600080fd5b506104097f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff909116815260200161029b565b34801561042a57600080fd5b5061043e610439366004612df4565b610931565b60405161029b9190612e7f565b34801561045757600080fd5b506102c4610466366004612fa1565b610953565b34801561047757600080fd5b506102c46109bb565b34801561048c57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006102ec565b3480156104bf57600080fd5b506104d36104ce366004612df4565b610a03565b60405161029b919061306a565b3480156104ec57600080fd5b506102ec600d5481565b34801561050257600080fd5b506102ec61051136600461307d565b610a0e565b34801561052257600080fd5b506102c4610a19565b34801561053757600080fd5b506102ec600c5481565b34801561054d57600080fd5b506102c461055c366004613266565b610a2b565b6102c461056f36600461332b565b610b33565b34801561058057600080fd5b506102c461058f366004613372565b610b68565b3480156105a057600080fd5b506000546001600160a01b0316610334565b3480156105be57600080fd5b506102ec6105cd366004612df4565b60009081526007602052604090205490565b3480156105eb57600080fd5b506102ec6105fa36600461307d565b6001600160a01b031660009081526010602052604090205490565b6102c46106233660046133a4565b610c4d565b34801561063457600080fd5b5061064861064336600461307d565b610d3a565b60405161029b9190613439565b34801561066157600080fd5b506102c4610670366004612dca565b610d5e565b34801561068157600080fd5b506102c4610690366004612dca565b610f3a565b3480156106a157600080fd5b506103347f000000000000000000000000000000000000000000000000000000000000000081565b3480156106d557600080fd5b506104d361108b565b3480156106ea57600080fd5b506106fe6106f936600461344c565b611119565b60405161029b9190613481565b6102c46107193660046134f4565b6111c4565b34801561072a57600080fd5b506102c461073936600461307d565b611289565b34801561074a57600080fd5b506102ec600e5481565b6102c46107623660046135ad565b611319565b60006001600160e01b031982167f622e7a010000000000000000000000000000000000000000000000000000000014806107a557506107a5826116b3565b92915050565b60006107b682610879565b90506001600160a01b03811633146107fe57604051632d938f5160e11b81526001600160a01b0382166004820152602481018390523360448201526064015b60405180910390fd5b6001600160a01b03831661082557604051639577b8b360e01b815260040160405180910390fd5b826001600160a01b0316816001600160a01b031603610857576040516344fed6b160e11b815260040160405180910390fd5b610862838284611701565b505050565b61086f6117ab565b610877611814565b565b6000818152600360205260408120546001600160a01b0316806107a557604051635747cd1b60e11b8152600481018490526024016107f5565b60006108bd82611856565b6108c7838361188e565b9392505050565b60006108d9600a5490565b905090565b6108e66117ab565b60116108f3828483613675565b507ff85f74f3190acca77203c20a6d4934fd0908afeec893df8bc8c9ca6edfbf9be88282604051610925929190613735565b60405180910390a15050565b606061093c82611856565b60008281526005602052604090206107a5906118d7565b3361095e818561188e565b6109a6576040517f1294d2a9000000000000000000000000000000000000000000000000000000008152600481018590526001600160a01b03821660248201526044016107f5565b6109b386868686866118e4565b505050505050565b6109c36117ab565b600f5460ff161561087757600f805460ff191690556040517f1142a68cc39970640eb3524e77b91f78be21abc64f20f5919387eb46699bb77290600090a1565b60606107a582611ac5565b60006107a582611b9e565b610a216117ab565b61087760006113aa565b8451845181141580610a3e575083518114155b80610a4a575082518114155b80610a56575081518114155b15610a8d576040517f93a8311900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b81811015610b2a57610b22878281518110610aad57610aad613764565b6020026020010151878381518110610ac757610ac7613764565b6020026020010151878481518110610ae157610ae1613764565b6020026020010151878581518110610afb57610afb613764565b6020026020010151878681518110610b1557610b15613764565b6020026020010151610953565b600101610a90565b50505050505050565b610b3b6117ab565b3415610b5a5760405163f36ba73760e01b815260040160405180910390fd5b610b648282611bbf565b5050565b610b706117ab565b42841015610bad576040517f76429b57000000000000000000000000000000000000000000000000000000008152600481018590526024016107f5565b81600003610be7576040517f39af805800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600c849055600d839055600e829055610bff81600a55565b6040805185815260208101859052908101839052606081018290527f8aeedf0ed8cd3693ef01d328f512281c622ee40528326aa6fba505184ab13a439060800160405180910390a150505050565b610c556117ab565b3415610c745760405163f36ba73760e01b815260040160405180910390fd5b8051825114610caf576040517f3bcc897900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8151600003610cea576040517f97da5f9500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b825181101561086257610d32838281518110610d0b57610d0b613764565b6020026020010151838381518110610d2557610d25613764565b6020026020010151611bbf565b600101610ced565b6001600160a01b03811660009081526004602052604090206060906107a5906118d7565b610d66611c22565b6001600160a01b038216610da6576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600003610de0576040517f1f2a200500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b3360009081526010602052604090205481811015610e2d576040517fffb97f81000000000000000000000000000000000000000000000000000000008152600481018390526024016107f5565b3360009081526010602052604081208054849290610e4c908490613790565b90915550506040516000906001600160a01b0385169084908381818185875af1925050503d8060008114610e9c576040519150601f19603f3d011682016040523d82523d6000602084013e610ea1565b606091505b5050905080610eee576040517fa00139f80000000000000000000000000000000000000000000000000000000081526001600160a01b0385166004820152602481018490526044016107f5565b6040518381526001600160a01b0385169033907ff7a40077ff7a04c7e61f6f26fb13774259ddf1b6bce9ecf26a8276cdd39926839060200160405180910390a35050610b646001600955565b6000610f4582610879565b90506001600160a01b0381163314610f8857604051632d938f5160e11b81526001600160a01b0382166004820152602481018390523360448201526064016107f5565b6001600160a01b038316610faf57604051639577b8b360e01b815260040160405180910390fd5b826001600160a01b0316816001600160a01b031603610fe1576040516344fed6b160e11b815260040160405180910390fd5b6000828152600560205260408120610ff99085611c7b565b905080611044576040517fa7626b680000000000000000000000000000000000000000000000000000000081526001600160a01b0385166004820152602481018490526044016107f5565b82826001600160a01b0316856001600160a01b03167f34b797fc5a526f7bf1d2b5de25f6564fd85ae364e3ee939aee7c1ac27871a98860405160405180910390a450505050565b60118054611098906135fb565b80601f01602080910402602001604051908101604052809291908181526020018280546110c4906135fb565b80156111115780601f106110e657610100808354040283529160200191611111565b820191906000526020600020905b8154815290600101906020018083116110f457829003601f168201915b505050505081565b6060815167ffffffffffffffff81111561113557611135612edc565b60405190808252806020026020018201604052801561116857816020015b60608152602001906001900390816111535790505b50905060005b82518110156111be5761119983828151811061118c5761118c613764565b6020026020010151611ac5565b8282815181106111ab576111ab613764565b602090810291909101015260010161116e565b50919050565b600f5460ff1615806111d75750600c5442105b156111f557604051632e8acb0d60e01b815260040160405180910390fd5b6111fd611c22565b611268888880806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250506040516bffffffffffffffffffffffff193360601b1660208201528a92506034019050604051602081830303815290604052611c90565b6112758585858585611d90565b61127f6001600955565b5050505050505050565b6112916117ab565b6001600160a01b03811661130d5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016107f5565b611316816113aa565b50565b600f5460ff16158061132c5750600c5442105b1561134a57604051632e8acb0d60e01b815260040160405180910390fd5b611352611c22565b600a541561138c576040517f1df4698600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6113998585858585611d90565b6113a36001600955565b5050505050565b6000546001600160a01b0382811691161461131657600080546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600082815260016020526040902061143482826137a3565b50817fece574603820d07bc9b91f2a932baadf4628aabcb8afba49776529c14a6104b282604051611465919061306a565b60405180910390a25050565b7f2145e1d6d074577dc71ef54c3807742b41b053a9352ae6b491331509acb9750f82016114ca576040517f85c169bd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7fd0f59754f88971fe6bc5a6618cc9d5f1e859c58d16b22d1c7b2d3e2b246cd8aa8201611523576040517f76755b3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600082815260016020526040902061153b82826137a3565b50817fece574603820d07bc9b91f2a932baadf4628aabcb8afba49776529c14a6104b26101008351111561157c5761157783600061010061158b565b61157e565b825b604051611465919061306a565b60608161159981601f613863565b10156115e75760405162461bcd60e51b815260206004820152600e60248201527f736c6963655f6f766572666c6f7700000000000000000000000000000000000060448201526064016107f5565b6115f18284613863565b845110156116415760405162461bcd60e51b815260206004820152601160248201527f736c6963655f6f75744f66426f756e647300000000000000000000000000000060448201526064016107f5565b60608215801561166057604051915060008252602082016040526116aa565b6040519150601f8416801560200281840101858101878315602002848b0101015b81831015611699578051835260209283019201611681565b5050858452601f01601f1916604052505b50949350505050565b60006001600160e01b031982167f629aa6940000000000000000000000000000000000000000000000000000000014806107a557506301ffc9a760e01b6001600160e01b03198316146107a5565b60008181526005602052604081206117199085612078565b905080611764576040517f4aa31a8c0000000000000000000000000000000000000000000000000000000081526001600160a01b0385166004820152602481018390526044016107f5565b81836001600160a01b0316856001600160a01b03167f17d5389f6ab6adb2647dfa0aa365c323d37adacc30b33a65310b6158ce1373d560405160405180910390a450505050565b336117be6000546001600160a01b031690565b6001600160a01b0316146108775760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016107f5565b600f5460ff1661087757600f805460ff191660011790556040517fed1cd0670ee0c0017f550451a038818c696d0b6a9d6ce5b369e44275573cf9b090600090a1565b6000818152600360205260409020546001600160a01b031661131657604051635747cd1b60e11b8152600481018290526024016107f5565b60008061189a83610879565b9050806001600160a01b0316846001600160a01b031614806118cf575060008381526005602052604090206118cf908561208d565b949350505050565b606060006108c7836120af565b836001600160a01b0316856001600160a01b03160361192f576040517f5d67d6c100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061193a84610879565b9050856001600160a01b0316816001600160a01b03161461198857604051632d938f5160e11b81526001600160a01b03808316600483015260248201869052871660448201526064016107f5565b6001600160a01b0385166119af576040516324ecef4d60e01b815260040160405180910390fd5b336119bb87878761210b565b6119c58786612116565b6001600160a01b03871660009081526004602052604090206119e7908661215d565b506001600160a01b0386166000908152600460205260409020611a0a9086612169565b5060008581526003602052604090819020805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0389811691821790925591518792918a16907fb333c813a7426a7a11e2b190cad52c44119421594b47f6f32ace6d8c7207b2bf90611a7e9086908a908a90613876565b60405180910390a4600087878786604051602001611a9f94939291906138a9565b6040516020818303038152906040529050611aba8882612175565b61127f878683612220565b60606000611ad28361235a565b905080516000148015611b0657507f1339e76a390b7b9ec90100000000000000000000000000000000000000000000838116145b156107a55760118054611b18906135fb565b80601f0160208091040260200160405190810160405280929190818152602001828054611b44906135fb565b8015611b915780601f10611b6657610100808354040283529160200191611b91565b820191906000526020600020905b815481529060010190602001808311611b7457829003601f168201915b5050505050915050919050565b6001600160a01b03811660009081526004602052604081206107a5906123f2565b7f8ea0db76a9218319a16b2627c940152b860818f29648e72b840184ff1fa4b01c8201611c18576040517f0e9a7db800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610b648282611471565b600260095403611c745760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016107f5565b6002600955565b60006108c7836001600160a01b0384166123fc565b600a54611cc9576040517f5058901600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611cd28261244b565b15611d0d5781816040517f331e2c3f0000000000000000000000000000000000000000000000000000000081526004016107f59291906138f6565b60008282604051602001611d2292919061390f565b604051602081830303815290604052805190602001209050611d4784600a548361248c565b611d815782826040517f4a0e7b130000000000000000000000000000000000000000000000000000000081526004016107f59291906138f6565b611d8a836124a2565b50505050565b6040516bffffffffffffffffffffffff1930606090811b8216602084015246603484015287901b1660548201526068810185905234608882015260009060a8016040516020818303038152906040528051906020012090507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316611e1e828686866124e0565b6001600160a01b031614611e5e576040517f04f186ef00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600085611e6a88610a0e565b611e749190613863565b9050600e54811115611eb5576040517f941b43eb000000000000000000000000000000000000000000000000000000008152600481018290526024016107f5565b6000600d5487611ec59190613935565b9050803414611f02576040517ffe2b81950000000000000000000000000000000000000000000000000000000081523460048201526024016107f5565b6040517f1817cb8e0000000000000000000000000000000000000000000000000000000081526004810182905263ffffffff7f0000000000000000000000000000000000000000000000000000000000000000166024820152600090733582f474f6e9fb087651b135d6224500a89e6f4490631817cb8e90604401602060405180830381865af4158015611f9a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fbe919061394c565b9050611fca8183613790565b60106000611fe06000546001600160a01b031690565b6001600160a01b03166001600160a01b03168152602001908152602001600020600082825461200f9190613863565b90915550506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000166000908152601060205260408120805483929061205c908490613863565b9091555061206d9050898984612508565b505050505050505050565b60006108c7836001600160a01b038416612669565b6001600160a01b038116600090815260018301602052604081205415156108c7565b6060816000018054806020026020016040519081016040528092919081815260200182805480156120ff57602002820191906000526020600020905b8154815260200190600101908083116120eb575b50505050509050919050565b61086283838361275c565b60008181526005602052604081209061212e826123f2565b905060005b818110156113a35760006121478482612825565b9050612154818787611701565b50600101612133565b60006108c78383612669565b60006108c783836123fc565b61218682631aed5a8560e21b612831565b15610b6457604051631aed5a8560e21b81526001600160a01b03831690636bb56a14906121d9907fb23eae7e6d1564b295b4c3e3be402d9a2f0776c57bdf365903496f6fa481ab009085906004016138f6565b6000604051808303816000875af11580156121f8573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526108629190810190613965565b61223183631aed5a8560e21b612831565b156122cb57604051631aed5a8560e21b81526001600160a01b03841690636bb56a1490612284907f0b084a55ebf70fd3c06fd755269dac2212c4d3f0f4d09079780bfa50c1b2984d9085906004016138f6565b6000604051808303816000875af11580156122a3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611d8a9190810190613965565b81610862576001600160a01b0383163b1561231d576040517f4349776d0000000000000000000000000000000000000000000000000000000081526001600160a01b03841660048201526024016107f5565b6040517f031731370000000000000000000000000000000000000000000000000000000081526001600160a01b03841660048201526024016107f5565b6000818152600160205260409020805460609190612377906135fb565b80601f01602080910402602001604051908101604052809291908181526020018280546123a3906135fb565b80156120ff5780601f106123c5576101008083540402835291602001916120ff565b820191906000526020600020905b8154815290600101906020018083116123d35750939695505050505050565b60006107a5825490565b6000818152600183016020526040812054612443575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556107a5565b5060006107a5565b60008061245a610100846139e9565b9050600061246a610100856139fd565b6000928352600b602052604090922054600190921b9182169091149392505050565b60008261249985846128cf565b14949350505050565b60006124b0610100836139e9565b905060006124c0610100846139fd565b6000928352600b60205260409092208054600190931b9092179091555050565b60008060006124f18787878761291c565b915091506124fe816129e0565b5095945050505050565b60008267ffffffffffffffff81111561252357612523612edc565b60405190808252806020026020018201604052801561254c578160200160208202803683370190505b509050600060125460016125609190613863565b905083601260008282546125749190613863565b90915550600090505b848110156125b75761258f8183613863565b60001b8382815181106125a4576125a4613764565b602090810291909101015260010161257d565b50846001600160a01b03167f3c48674dd1f5f1f6cbbeaa3b830f54a7b75f5c1598e1ea94b968ea1424f7bff383856040516125f3929190613a11565b60405180910390a260005b848110156109b3576126618684838151811061261c5761261c613764565b602002602001015160006040518060400160405280600281526020017f3078000000000000000000000000000000000000000000000000000000000000815250612b45565b6001016125fe565b6000818152600183016020526040812054801561275257600061268d600183613790565b85549091506000906126a190600190613790565b90508181146127065760008660000182815481106126c1576126c1613764565b90600052602060002001549050808760000184815481106126e4576126e4613764565b6000918252602080832090910192909255918252600188019052604090208390555b855486908061271757612717613a33565b6001900381819060005260206000200160009055905585600101600086815260200190815260200160002060009055600193505050506107a5565b60009150506107a5565b6001600160a01b03831661279a57600061277560025490565b6000818152600760209081526040808320869055858352600890915290205550505050565b6001600160a01b03821661086257600060016127b560025490565b6127bf9190613790565b60008381526008602052604090205490915081811015612801576000828152600760209081526040808320548484528184208190558352600890915290208190555b50600090815260076020908152604080832083905592825260089052908120555050565b60006108c78383612b51565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d915060005190508280156128b8575060208210155b80156128c45750600081115b979650505050505050565b600081815b845181101561291457612900828683815181106128f3576128f3613764565b6020026020010151612b7b565b91508061290c81613a49565b9150506128d4565b509392505050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083111561295357506000905060036129d7565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa1580156129a7573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166129d0576000600192509250506129d7565b9150600090505b94509492505050565b60008160048111156129f4576129f4613a62565b036129fc5750565b6001816004811115612a1057612a10613a62565b03612a5d5760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e6174757265000000000000000060448201526064016107f5565b6002816004811115612a7157612a71613a62565b03612abe5760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e6774680060448201526064016107f5565b6003816004811115612ad257612ad2613a62565b036113165760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f756500000000000000000000000000000000000000000000000000000000000060648201526084016107f5565b611d8a84848484612baa565b6000826000018281548110612b6857612b68613764565b9060005260206000200154905092915050565b6000818310612b975760008281526020849052604090206108c7565b60008381526020839052604090206108c7565b7f0000000000000000000000000000000000000000000000000000000000000000600254612bd9906001613863565b1115612c11576040517fe8ba229100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611d8a848484846001600160a01b038416612c3f576040516324ecef4d60e01b815260040160405180910390fd5b6000838152600360205260409020546001600160a01b031615612c91576040517f34c7b511000000000000000000000000000000000000000000000000000000008152600481018490526024016107f5565b33612c9e6000868661210b565b600160026000828254612cb19190613863565b90915550506001600160a01b0385166000908152600460205260409020612cd89085612169565b50600084815260036020526040808220805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03891690811790915590518692907fb333c813a7426a7a11e2b190cad52c44119421594b47f6f32ace6d8c7207b2bf90612d4790869089908990613876565b60405180910390a4600080868685604051602001612d6894939291906138a9565b60405160208183030381529060405290506109b3868583612220565b600060208284031215612d9657600080fd5b81356001600160e01b0319811681146108c757600080fd5b80356001600160a01b0381168114612dc557600080fd5b919050565b60008060408385031215612ddd57600080fd5b612de683612dae565b946020939093013593505050565b600060208284031215612e0657600080fd5b5035919050565b60008060208385031215612e2057600080fd5b823567ffffffffffffffff80821115612e3857600080fd5b818501915085601f830112612e4c57600080fd5b813581811115612e5b57600080fd5b866020828501011115612e6d57600080fd5b60209290920196919550909350505050565b6020808252825182820181905260009190848201906040850190845b81811015612ec05783516001600160a01b031683529284019291840191600101612e9b565b50909695505050505050565b80358015158114612dc557600080fd5b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715612f1b57612f1b612edc565b604052919050565b600067ffffffffffffffff821115612f3d57612f3d612edc565b50601f01601f191660200190565b600082601f830112612f5c57600080fd5b8135612f6f612f6a82612f23565b612ef2565b818152846020838601011115612f8457600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080600060a08688031215612fb957600080fd5b612fc286612dae565b9450612fd060208701612dae565b935060408601359250612fe560608701612ecc565b9150608086013567ffffffffffffffff81111561300157600080fd5b61300d88828901612f4b565b9150509295509295909350565b60005b8381101561303557818101518382015260200161301d565b50506000910152565b6000815180845261305681602086016020860161301a565b601f01601f19169290920160200192915050565b6020815260006108c7602083018461303e565b60006020828403121561308f57600080fd5b6108c782612dae565b600067ffffffffffffffff8211156130b2576130b2612edc565b5060051b60200190565b600082601f8301126130cd57600080fd5b813560206130dd612f6a83613098565b82815260059290921b840181019181810190868411156130fc57600080fd5b8286015b8481101561311e5761311181612dae565b8352918301918301613100565b509695505050505050565b600082601f83011261313a57600080fd5b8135602061314a612f6a83613098565b82815260059290921b8401810191818101908684111561316957600080fd5b8286015b8481101561311e578035835291830191830161316d565b600082601f83011261319557600080fd5b813560206131a5612f6a83613098565b82815260059290921b840181019181810190868411156131c457600080fd5b8286015b8481101561311e576131d981612ecc565b83529183019183016131c8565b600082601f8301126131f757600080fd5b81356020613207612f6a83613098565b82815260059290921b8401810191818101908684111561322657600080fd5b8286015b8481101561311e57803567ffffffffffffffff81111561324a5760008081fd5b6132588986838b0101612f4b565b84525091830191830161322a565b600080600080600060a0868803121561327e57600080fd5b853567ffffffffffffffff8082111561329657600080fd5b6132a289838a016130bc565b965060208801359150808211156132b857600080fd5b6132c489838a016130bc565b955060408801359150808211156132da57600080fd5b6132e689838a01613129565b945060608801359150808211156132fc57600080fd5b61330889838a01613184565b9350608088013591508082111561331e57600080fd5b5061300d888289016131e6565b6000806040838503121561333e57600080fd5b82359150602083013567ffffffffffffffff81111561335c57600080fd5b61336885828601612f4b565b9150509250929050565b6000806000806080858703121561338857600080fd5b5050823594602084013594506040840135936060013592509050565b600080604083850312156133b757600080fd5b823567ffffffffffffffff808211156133cf57600080fd5b6133db86838701613129565b935060208501359150808211156133f157600080fd5b50613368858286016131e6565b600081518084526020808501945080840160005b8381101561342e57815187529582019590820190600101613412565b509495945050505050565b6020815260006108c760208301846133fe565b60006020828403121561345e57600080fd5b813567ffffffffffffffff81111561347557600080fd5b6118cf84828501613129565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b828110156134d657603f198886030184526134c485835161303e565b945092850192908501906001016134a8565b5092979650505050505050565b803560ff81168114612dc557600080fd5b60008060008060008060008060e0898b03121561351057600080fd5b883567ffffffffffffffff8082111561352857600080fd5b818b0191508b601f83011261353c57600080fd5b81358181111561354b57600080fd5b8c60208260051b850101111561356057600080fd5b60209283019a50985050890135955061357b60408a01612dae565b94506060890135935061359060808a016134e3565b925060a0890135915060c089013590509295985092959890939650565b600080600080600060a086880312156135c557600080fd5b6135ce86612dae565b9450602086013593506135e3604087016134e3565b94979396509394606081013594506080013592915050565b600181811c9082168061360f57607f821691505b6020821081036111be57634e487b7160e01b600052602260045260246000fd5b601f82111561086257600081815260208120601f850160051c810160208610156136565750805b601f850160051c820191505b818110156109b357828155600101613662565b67ffffffffffffffff83111561368d5761368d612edc565b6136a18361369b83546135fb565b8361362f565b6000601f8411600181146136d557600085156136bd5750838201355b600019600387901b1c1916600186901b1783556113a3565b600083815260209020601f19861690835b8281101561370657868501358255602094850194600190920191016136e6565b50868210156137235760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b60208152816020820152818360408301376000818301604090810191909152601f909201601f19160101919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b818103818111156107a5576107a561377a565b815167ffffffffffffffff8111156137bd576137bd612edc565b6137d1816137cb84546135fb565b8461362f565b602080601f83116001811461380657600084156137ee5750858301515b600019600386901b1c1916600185901b1785556109b3565b600085815260208120601f198616915b8281101561383557888601518255948401946001909101908401613816565b50858210156138535787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b808201808211156107a5576107a561377a565b6001600160a01b038416815282151560208201526060604082015260006138a0606083018461303e565b95945050505050565b60006bffffffffffffffffffffffff19808760601b168352808660601b1660148401525083602883015282516138e681604885016020870161301a565b9190910160480195945050505050565b8281526040602082015260006118cf604083018461303e565b8281526000825161392781602085016020870161301a565b919091016020019392505050565b80820281158282048414176107a5576107a561377a565b60006020828403121561395e57600080fd5b5051919050565b60006020828403121561397757600080fd5b815167ffffffffffffffff81111561398e57600080fd5b8201601f8101841361399f57600080fd5b80516139ad612f6a82612f23565b8181528560208385010111156139c257600080fd5b6138a082602083016020860161301a565b634e487b7160e01b600052601260045260246000fd5b6000826139f8576139f86139d3565b500490565b600082613a0c57613a0c6139d3565b500690565b604081526000613a2460408301856133fe565b90508260208301529392505050565b634e487b7160e01b600052603160045260246000fd5b600060018201613a5b57613a5b61377a565b5060010190565b634e487b7160e01b600052602160045260246000fdfea2646970667358221220da1b94d8192ad8b0b1865a90a6dbb120401f73204bc81936e47f8e5981b5c00264736f6c63430008110033ece574603820d07bc9b91f2a932baadf4628aabcb8afba49776529c14a6104b2 +0x6101006040523480156200001257600080fd5b5060405162004491380380620044918339810160408190526200003591620006c0565b838382848a8a8a828282806001600160a01b038116620000ab5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b620000c1816200032260201b620013aa1760201c565b50620001187feafec4d89fa9619884b60000a4d96624a38f7ac2d8d9a604ecf07c12c77e480c60001b604051806040016040528060048152602001632936598960e21b8152506200038960201b6200141c1760201c565b620001527fdeba1e292f8ba88238e10ab3c7f88bd4be4fac56cad5194b6ecceaf653468af160001b846200038960201b6200141c1760201c565b6200018c7f2f0a68ab07768e01943a599e73362a0e17a63a72e94dd2e384d2c1d4db93275660001b836200038960201b6200141c1760201c565b50505050505080600003620001b45760405163038d9fc360e41b815260040160405180910390fd5b6080526001600955604051633c7bdc1960e01b815263ffffffff82166004820152733582f474f6e9fb087651b135d6224500a89e6f4490633c7bdc1990602401602060405180830381865af415801562000212573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200023891906200078a565b6200025f576040516363a0a0e760e01b815263ffffffff82166004820152602401620000a2565b6001600160a01b03831615806200027d57506001600160a01b038216155b156200029c5760405163d92e233d60e01b815260040160405180910390fd5b600f805460ff191690556001600160a01b0392831660c052911660e05263ffffffff1660a052604080516002602082015262000315917f715f248956de7ce65e94d9d836bfead479f7e70d69b718d47bfe7b00e05b4fe49101604051602081830303815290604052620003d160201b620014711760201c565b505050505050506200096d565b6000546001600160a01b038281169116146200038657600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a3505b50565b6000828152600160205260409020620003a3828262000844565b50816000805160206200447183398151915282604051620003c5919062000910565b60405180910390a25050565b7f2145e1d6d074577dc71ef54c3807742b41b053a9352ae6b491331509acb9750f820162000412576040516385c169bd60e01b815260040160405180910390fd5b7fd0f59754f88971fe6bc5a6618cc9d5f1e859c58d16b22d1c7b2d3e2b246cd8aa82016200045357604051630eceab6760e31b815260040160405180910390fd5b60008281526001602052604090206200046d828262000844565b50816000805160206200447183398151915261010083511115620004ac57620004a6836000610100620004bd60201b6200158b1760201c565b620004ae565b825b604051620003c5919062000910565b606081620004cd81601f62000945565b10156200050e5760405162461bcd60e51b815260206004820152600e60248201526d736c6963655f6f766572666c6f7760901b6044820152606401620000a2565b6200051a828462000945565b84511015620005605760405162461bcd60e51b8152602060048201526011602482015270736c6963655f6f75744f66426f756e647360781b6044820152606401620000a2565b606082158015620005815760405191506000825260208201604052620005cd565b6040519150601f8416801560200281840101858101878315602002848b0101015b81831015620005bc578051835260209283019201620005a2565b5050858452601f01601f1916604052505b50949350505050565b634e487b7160e01b600052604160045260246000fd5b60005b8381101562000609578181015183820152602001620005ef565b50506000910152565b600082601f8301126200062457600080fd5b81516001600160401b0380821115620006415762000641620005d6565b604051601f8301601f19908116603f011681019082821181831017156200066c576200066c620005d6565b816040528381528660208588010111156200068657600080fd5b62000699846020830160208901620005ec565b9695505050505050565b80516001600160a01b0381168114620006bb57600080fd5b919050565b600080600080600080600060e0888a031215620006dc57600080fd5b87516001600160401b0380821115620006f457600080fd5b620007028b838c0162000612565b985060208a01519150808211156200071957600080fd5b50620007288a828b0162000612565b9650506200073960408901620006a3565b94506200074960608901620006a3565b93506200075960808901620006a3565b925060a0880151915060c088015163ffffffff811681146200077a57600080fd5b8091505092959891949750929550565b6000602082840312156200079d57600080fd5b81518015158114620007ae57600080fd5b9392505050565b600181811c90821680620007ca57607f821691505b602082108103620007eb57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200083f57600081815260208120601f850160051c810160208610156200081a5750805b601f850160051c820191505b818110156200083b5782815560010162000826565b5050505b505050565b81516001600160401b03811115620008605762000860620005d6565b6200087881620008718454620007b5565b84620007f1565b602080601f831160018114620008b05760008415620008975750858301515b600019600386901b1c1916600185901b1785556200083b565b600085815260208120601f198616915b82811015620008e157888601518255948401946001909101908401620008c0565b5085821015620009005787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b602081526000825180602084015262000931816040850160208701620005ec565b601f01601f19169190910160400192915050565b808201808211156200096757634e487b7160e01b600052601160045260246000fd5b92915050565b60805160a05160c05160e051613aae620009c3600039600081816103930152611dea0152600081816106a7015261201e0152600081816103e70152611f3601526000818161048f0152612bac0152613aae6000f3fe60806040526004361061026a5760003560e01c8063715018a611610153578063a3b261f2116100cb578063dedff9c61161007f578063f2fde38b11610064578063f2fde38b1461071e578063f575191e1461073e578063fc6180711461075457600080fd5b8063dedff9c6146106de578063edb8d1e21461070b57600080fd5b8063cf5182ba116100b0578063cf5182ba14610675578063d598d4c914610695578063dd5ffa1e146106c957600080fd5b8063a3b261f214610628578063aad3ec961461065557600080fd5b80638bbd43781161012257806392a91a3a1161010757806392a91a3a146105b2578063942cd44b146105df578063979024211461061557600080fd5b80638bbd4378146105745780638da5cb5b1461059457600080fd5b8063715018a61461051657806378e979251461052b5780637e87632c146105415780637f23690c1461056157600080fd5b806337e3f8dc116101e657806351b42b00116101b557806354f6127f1161019a57806354f6127f146104b35780636817c76c146104e057806370a08231146104f657600080fd5b806351b42b001461046b57806352058d8a1461048057600080fd5b806337e3f8dc146103b55780633c3e8ae3146103d557806349a6078d1461041e578063511b69521461044b57600080fd5b8063186601ca1161023d5780632a3654a4116102225780632a3654a41461034c5780632b47da521461036c5780632b7ac3f31461038157600080fd5b8063186601ca146102fa578063217b22701461031457600080fd5b806301ffc9a71461026f5780630b0c6d82146102a45780630f15f4c0146102c657806318160ddd146102db575b600080fd5b34801561027b57600080fd5b5061028f61028a366004612d84565b610767565b60405190151581526020015b60405180910390f35b3480156102b057600080fd5b506102c46102bf366004612dca565b6107ab565b005b3480156102d257600080fd5b506102c4610867565b3480156102e757600080fd5b506002545b60405190815260200161029b565b34801561030657600080fd5b50600f5461028f9060ff1681565b34801561032057600080fd5b5061033461032f366004612df4565b610879565b6040516001600160a01b03909116815260200161029b565b34801561035857600080fd5b5061028f610367366004612dca565b6108b2565b34801561037857600080fd5b506102ec6108ce565b34801561038d57600080fd5b506103347f000000000000000000000000000000000000000000000000000000000000000081565b3480156103c157600080fd5b506102c46103d0366004612e0d565b6108de565b3480156103e157600080fd5b506104097f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff909116815260200161029b565b34801561042a57600080fd5b5061043e610439366004612df4565b610931565b60405161029b9190612e7f565b34801561045757600080fd5b506102c4610466366004612fa1565b610953565b34801561047757600080fd5b506102c46109bb565b34801561048c57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006102ec565b3480156104bf57600080fd5b506104d36104ce366004612df4565b610a03565b60405161029b919061306a565b3480156104ec57600080fd5b506102ec600d5481565b34801561050257600080fd5b506102ec61051136600461307d565b610a0e565b34801561052257600080fd5b506102c4610a19565b34801561053757600080fd5b506102ec600c5481565b34801561054d57600080fd5b506102c461055c366004613266565b610a2b565b6102c461056f36600461332b565b610b33565b34801561058057600080fd5b506102c461058f366004613372565b610b68565b3480156105a057600080fd5b506000546001600160a01b0316610334565b3480156105be57600080fd5b506102ec6105cd366004612df4565b60009081526007602052604090205490565b3480156105eb57600080fd5b506102ec6105fa36600461307d565b6001600160a01b031660009081526010602052604090205490565b6102c46106233660046133a4565b610c4d565b34801561063457600080fd5b5061064861064336600461307d565b610d3a565b60405161029b9190613439565b34801561066157600080fd5b506102c4610670366004612dca565b610d5e565b34801561068157600080fd5b506102c4610690366004612dca565b610f3a565b3480156106a157600080fd5b506103347f000000000000000000000000000000000000000000000000000000000000000081565b3480156106d557600080fd5b506104d361108b565b3480156106ea57600080fd5b506106fe6106f936600461344c565b611119565b60405161029b9190613481565b6102c46107193660046134f4565b6111c4565b34801561072a57600080fd5b506102c461073936600461307d565b611289565b34801561074a57600080fd5b506102ec600e5481565b6102c46107623660046135ad565b611319565b60006001600160e01b031982167f622e7a010000000000000000000000000000000000000000000000000000000014806107a557506107a5826116b3565b92915050565b60006107b682610879565b90506001600160a01b03811633146107fe57604051632d938f5160e11b81526001600160a01b0382166004820152602481018390523360448201526064015b60405180910390fd5b6001600160a01b03831661082557604051639577b8b360e01b815260040160405180910390fd5b826001600160a01b0316816001600160a01b031603610857576040516344fed6b160e11b815260040160405180910390fd5b610862838284611701565b505050565b61086f6117ab565b610877611814565b565b6000818152600360205260408120546001600160a01b0316806107a557604051635747cd1b60e11b8152600481018490526024016107f5565b60006108bd82611856565b6108c7838361188e565b9392505050565b60006108d9600a5490565b905090565b6108e66117ab565b60116108f3828483613675565b507ff85f74f3190acca77203c20a6d4934fd0908afeec893df8bc8c9ca6edfbf9be88282604051610925929190613735565b60405180910390a15050565b606061093c82611856565b60008281526005602052604090206107a5906118d7565b3361095e818561188e565b6109a6576040517f1294d2a9000000000000000000000000000000000000000000000000000000008152600481018590526001600160a01b03821660248201526044016107f5565b6109b386868686866118e4565b505050505050565b6109c36117ab565b600f5460ff161561087757600f805460ff191690556040517f1142a68cc39970640eb3524e77b91f78be21abc64f20f5919387eb46699bb77290600090a1565b60606107a582611ac5565b60006107a582611b9e565b610a216117ab565b61087760006113aa565b8451845181141580610a3e575083518114155b80610a4a575082518114155b80610a56575081518114155b15610a8d576040517f93a8311900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b81811015610b2a57610b22878281518110610aad57610aad613764565b6020026020010151878381518110610ac757610ac7613764565b6020026020010151878481518110610ae157610ae1613764565b6020026020010151878581518110610afb57610afb613764565b6020026020010151878681518110610b1557610b15613764565b6020026020010151610953565b600101610a90565b50505050505050565b610b3b6117ab565b3415610b5a5760405163f36ba73760e01b815260040160405180910390fd5b610b648282611bbf565b5050565b610b706117ab565b42841015610bad576040517f76429b57000000000000000000000000000000000000000000000000000000008152600481018590526024016107f5565b81600003610be7576040517f39af805800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600c849055600d839055600e829055610bff81600a55565b6040805185815260208101859052908101839052606081018290527f8aeedf0ed8cd3693ef01d328f512281c622ee40528326aa6fba505184ab13a439060800160405180910390a150505050565b610c556117ab565b3415610c745760405163f36ba73760e01b815260040160405180910390fd5b8051825114610caf576040517f3bcc897900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8151600003610cea576040517f97da5f9500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b825181101561086257610d32838281518110610d0b57610d0b613764565b6020026020010151838381518110610d2557610d25613764565b6020026020010151611bbf565b600101610ced565b6001600160a01b03811660009081526004602052604090206060906107a5906118d7565b610d66611c22565b6001600160a01b038216610da6576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600003610de0576040517f1f2a200500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b3360009081526010602052604090205481811015610e2d576040517fffb97f81000000000000000000000000000000000000000000000000000000008152600481018390526024016107f5565b3360009081526010602052604081208054849290610e4c908490613790565b90915550506040516000906001600160a01b0385169084908381818185875af1925050503d8060008114610e9c576040519150601f19603f3d011682016040523d82523d6000602084013e610ea1565b606091505b5050905080610eee576040517fa00139f80000000000000000000000000000000000000000000000000000000081526001600160a01b0385166004820152602481018490526044016107f5565b6040518381526001600160a01b0385169033907ff7a40077ff7a04c7e61f6f26fb13774259ddf1b6bce9ecf26a8276cdd39926839060200160405180910390a35050610b646001600955565b6000610f4582610879565b90506001600160a01b0381163314610f8857604051632d938f5160e11b81526001600160a01b0382166004820152602481018390523360448201526064016107f5565b6001600160a01b038316610faf57604051639577b8b360e01b815260040160405180910390fd5b826001600160a01b0316816001600160a01b031603610fe1576040516344fed6b160e11b815260040160405180910390fd5b6000828152600560205260408120610ff99085611c7b565b905080611044576040517fa7626b680000000000000000000000000000000000000000000000000000000081526001600160a01b0385166004820152602481018490526044016107f5565b82826001600160a01b0316856001600160a01b03167f34b797fc5a526f7bf1d2b5de25f6564fd85ae364e3ee939aee7c1ac27871a98860405160405180910390a450505050565b60118054611098906135fb565b80601f01602080910402602001604051908101604052809291908181526020018280546110c4906135fb565b80156111115780601f106110e657610100808354040283529160200191611111565b820191906000526020600020905b8154815290600101906020018083116110f457829003601f168201915b505050505081565b6060815167ffffffffffffffff81111561113557611135612edc565b60405190808252806020026020018201604052801561116857816020015b60608152602001906001900390816111535790505b50905060005b82518110156111be5761119983828151811061118c5761118c613764565b6020026020010151611ac5565b8282815181106111ab576111ab613764565b602090810291909101015260010161116e565b50919050565b600f5460ff1615806111d75750600c5442105b156111f557604051632e8acb0d60e01b815260040160405180910390fd5b6111fd611c22565b611268888880806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250506040516bffffffffffffffffffffffff193360601b1660208201528a92506034019050604051602081830303815290604052611c90565b6112758585858585611d90565b61127f6001600955565b5050505050505050565b6112916117ab565b6001600160a01b03811661130d5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016107f5565b611316816113aa565b50565b600f5460ff16158061132c5750600c5442105b1561134a57604051632e8acb0d60e01b815260040160405180910390fd5b611352611c22565b600a541561138c576040517f1df4698600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6113998585858585611d90565b6113a36001600955565b5050505050565b6000546001600160a01b0382811691161461131657600080546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600082815260016020526040902061143482826137a3565b50817fece574603820d07bc9b91f2a932baadf4628aabcb8afba49776529c14a6104b282604051611465919061306a565b60405180910390a25050565b7f2145e1d6d074577dc71ef54c3807742b41b053a9352ae6b491331509acb9750f82016114ca576040517f85c169bd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7fd0f59754f88971fe6bc5a6618cc9d5f1e859c58d16b22d1c7b2d3e2b246cd8aa8201611523576040517f76755b3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600082815260016020526040902061153b82826137a3565b50817fece574603820d07bc9b91f2a932baadf4628aabcb8afba49776529c14a6104b26101008351111561157c5761157783600061010061158b565b61157e565b825b604051611465919061306a565b60608161159981601f613863565b10156115e75760405162461bcd60e51b815260206004820152600e60248201527f736c6963655f6f766572666c6f7700000000000000000000000000000000000060448201526064016107f5565b6115f18284613863565b845110156116415760405162461bcd60e51b815260206004820152601160248201527f736c6963655f6f75744f66426f756e647300000000000000000000000000000060448201526064016107f5565b60608215801561166057604051915060008252602082016040526116aa565b6040519150601f8416801560200281840101858101878315602002848b0101015b81831015611699578051835260209283019201611681565b5050858452601f01601f1916604052505b50949350505050565b60006001600160e01b031982167f629aa6940000000000000000000000000000000000000000000000000000000014806107a557506301ffc9a760e01b6001600160e01b03198316146107a5565b60008181526005602052604081206117199085612078565b905080611764576040517f4aa31a8c0000000000000000000000000000000000000000000000000000000081526001600160a01b0385166004820152602481018390526044016107f5565b81836001600160a01b0316856001600160a01b03167f17d5389f6ab6adb2647dfa0aa365c323d37adacc30b33a65310b6158ce1373d560405160405180910390a450505050565b336117be6000546001600160a01b031690565b6001600160a01b0316146108775760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016107f5565b600f5460ff1661087757600f805460ff191660011790556040517fed1cd0670ee0c0017f550451a038818c696d0b6a9d6ce5b369e44275573cf9b090600090a1565b6000818152600360205260409020546001600160a01b031661131657604051635747cd1b60e11b8152600481018290526024016107f5565b60008061189a83610879565b9050806001600160a01b0316846001600160a01b031614806118cf575060008381526005602052604090206118cf908561208d565b949350505050565b606060006108c7836120af565b836001600160a01b0316856001600160a01b03160361192f576040517f5d67d6c100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061193a84610879565b9050856001600160a01b0316816001600160a01b03161461198857604051632d938f5160e11b81526001600160a01b03808316600483015260248201869052871660448201526064016107f5565b6001600160a01b0385166119af576040516324ecef4d60e01b815260040160405180910390fd5b336119bb87878761210b565b6119c58786612116565b6001600160a01b03871660009081526004602052604090206119e7908661215d565b506001600160a01b0386166000908152600460205260409020611a0a9086612169565b5060008581526003602052604090819020805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0389811691821790925591518792918a16907fb333c813a7426a7a11e2b190cad52c44119421594b47f6f32ace6d8c7207b2bf90611a7e9086908a908a90613876565b60405180910390a4600087878786604051602001611a9f94939291906138a9565b6040516020818303038152906040529050611aba8882612175565b61127f878683612220565b60606000611ad28361235a565b905080516000148015611b0657507f1339e76a390b7b9ec90100000000000000000000000000000000000000000000838116145b156107a55760118054611b18906135fb565b80601f0160208091040260200160405190810160405280929190818152602001828054611b44906135fb565b8015611b915780601f10611b6657610100808354040283529160200191611b91565b820191906000526020600020905b815481529060010190602001808311611b7457829003601f168201915b5050505050915050919050565b6001600160a01b03811660009081526004602052604081206107a5906123f2565b7f8ea0db76a9218319a16b2627c940152b860818f29648e72b840184ff1fa4b01c8201611c18576040517f0e9a7db800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610b648282611471565b600260095403611c745760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016107f5565b6002600955565b60006108c7836001600160a01b0384166123fc565b600a54611cc9576040517f5058901600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611cd28261244b565b15611d0d5781816040517f331e2c3f0000000000000000000000000000000000000000000000000000000081526004016107f59291906138f6565b60008282604051602001611d2292919061390f565b604051602081830303815290604052805190602001209050611d4784600a548361248c565b611d815782826040517f4a0e7b130000000000000000000000000000000000000000000000000000000081526004016107f59291906138f6565b611d8a836124a2565b50505050565b6040516bffffffffffffffffffffffff1930606090811b8216602084015246603484015287901b1660548201526068810185905234608882015260009060a8016040516020818303038152906040528051906020012090507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316611e1e828686866124e0565b6001600160a01b031614611e5e576040517f04f186ef00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600085611e6a88610a0e565b611e749190613863565b9050600e54811115611eb5576040517f941b43eb000000000000000000000000000000000000000000000000000000008152600481018290526024016107f5565b6000600d5487611ec59190613935565b9050803414611f02576040517ffe2b81950000000000000000000000000000000000000000000000000000000081523460048201526024016107f5565b6040517f1817cb8e0000000000000000000000000000000000000000000000000000000081526004810182905263ffffffff7f0000000000000000000000000000000000000000000000000000000000000000166024820152600090733582f474f6e9fb087651b135d6224500a89e6f4490631817cb8e90604401602060405180830381865af4158015611f9a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fbe919061394c565b9050611fca8183613790565b60106000611fe06000546001600160a01b031690565b6001600160a01b03166001600160a01b03168152602001908152602001600020600082825461200f9190613863565b90915550506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000166000908152601060205260408120805483929061205c908490613863565b9091555061206d9050898984612508565b505050505050505050565b60006108c7836001600160a01b038416612669565b6001600160a01b038116600090815260018301602052604081205415156108c7565b6060816000018054806020026020016040519081016040528092919081815260200182805480156120ff57602002820191906000526020600020905b8154815260200190600101908083116120eb575b50505050509050919050565b61086283838361275c565b60008181526005602052604081209061212e826123f2565b905060005b818110156113a35760006121478482612825565b9050612154818787611701565b50600101612133565b60006108c78383612669565b60006108c783836123fc565b61218682631aed5a8560e21b612831565b15610b6457604051631aed5a8560e21b81526001600160a01b03831690636bb56a14906121d9907fb23eae7e6d1564b295b4c3e3be402d9a2f0776c57bdf365903496f6fa481ab009085906004016138f6565b6000604051808303816000875af11580156121f8573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526108629190810190613965565b61223183631aed5a8560e21b612831565b156122cb57604051631aed5a8560e21b81526001600160a01b03841690636bb56a1490612284907f0b084a55ebf70fd3c06fd755269dac2212c4d3f0f4d09079780bfa50c1b2984d9085906004016138f6565b6000604051808303816000875af11580156122a3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611d8a9190810190613965565b81610862576001600160a01b0383163b1561231d576040517f4349776d0000000000000000000000000000000000000000000000000000000081526001600160a01b03841660048201526024016107f5565b6040517f031731370000000000000000000000000000000000000000000000000000000081526001600160a01b03841660048201526024016107f5565b6000818152600160205260409020805460609190612377906135fb565b80601f01602080910402602001604051908101604052809291908181526020018280546123a3906135fb565b80156120ff5780601f106123c5576101008083540402835291602001916120ff565b820191906000526020600020905b8154815290600101906020018083116123d35750939695505050505050565b60006107a5825490565b6000818152600183016020526040812054612443575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556107a5565b5060006107a5565b60008061245a610100846139e9565b9050600061246a610100856139fd565b6000928352600b602052604090922054600190921b9182169091149392505050565b60008261249985846128cf565b14949350505050565b60006124b0610100836139e9565b905060006124c0610100846139fd565b6000928352600b60205260409092208054600190931b9092179091555050565b60008060006124f18787878761291c565b915091506124fe816129e0565b5095945050505050565b60008267ffffffffffffffff81111561252357612523612edc565b60405190808252806020026020018201604052801561254c578160200160208202803683370190505b509050600060125460016125609190613863565b905083601260008282546125749190613863565b90915550600090505b848110156125b75761258f8183613863565b60001b8382815181106125a4576125a4613764565b602090810291909101015260010161257d565b50846001600160a01b03167f3c48674dd1f5f1f6cbbeaa3b830f54a7b75f5c1598e1ea94b968ea1424f7bff383856040516125f3929190613a11565b60405180910390a260005b848110156109b3576126618684838151811061261c5761261c613764565b602002602001015160006040518060400160405280600281526020017f3078000000000000000000000000000000000000000000000000000000000000815250612b45565b6001016125fe565b6000818152600183016020526040812054801561275257600061268d600183613790565b85549091506000906126a190600190613790565b90508181146127065760008660000182815481106126c1576126c1613764565b90600052602060002001549050808760000184815481106126e4576126e4613764565b6000918252602080832090910192909255918252600188019052604090208390555b855486908061271757612717613a33565b6001900381819060005260206000200160009055905585600101600086815260200190815260200160002060009055600193505050506107a5565b60009150506107a5565b6001600160a01b03831661279a57600061277560025490565b6000818152600760209081526040808320869055858352600890915290205550505050565b6001600160a01b03821661086257600060016127b560025490565b6127bf9190613790565b60008381526008602052604090205490915081811015612801576000828152600760209081526040808320548484528184208190558352600890915290208190555b50600090815260076020908152604080832083905592825260089052908120555050565b60006108c78383612b51565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d915060005190508280156128b8575060208210155b80156128c45750600081115b979650505050505050565b600081815b845181101561291457612900828683815181106128f3576128f3613764565b6020026020010151612b7b565b91508061290c81613a49565b9150506128d4565b509392505050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083111561295357506000905060036129d7565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa1580156129a7573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166129d0576000600192509250506129d7565b9150600090505b94509492505050565b60008160048111156129f4576129f4613a62565b036129fc5750565b6001816004811115612a1057612a10613a62565b03612a5d5760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e6174757265000000000000000060448201526064016107f5565b6002816004811115612a7157612a71613a62565b03612abe5760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e6774680060448201526064016107f5565b6003816004811115612ad257612ad2613a62565b036113165760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f756500000000000000000000000000000000000000000000000000000000000060648201526084016107f5565b611d8a84848484612baa565b6000826000018281548110612b6857612b68613764565b9060005260206000200154905092915050565b6000818310612b975760008281526020849052604090206108c7565b60008381526020839052604090206108c7565b7f0000000000000000000000000000000000000000000000000000000000000000600254612bd9906001613863565b1115612c11576040517fe8ba229100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611d8a848484846001600160a01b038416612c3f576040516324ecef4d60e01b815260040160405180910390fd5b6000838152600360205260409020546001600160a01b031615612c91576040517f34c7b511000000000000000000000000000000000000000000000000000000008152600481018490526024016107f5565b33612c9e6000868661210b565b600160026000828254612cb19190613863565b90915550506001600160a01b0385166000908152600460205260409020612cd89085612169565b50600084815260036020526040808220805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03891690811790915590518692907fb333c813a7426a7a11e2b190cad52c44119421594b47f6f32ace6d8c7207b2bf90612d4790869089908990613876565b60405180910390a4600080868685604051602001612d6894939291906138a9565b60405160208183030381529060405290506109b3868583612220565b600060208284031215612d9657600080fd5b81356001600160e01b0319811681146108c757600080fd5b80356001600160a01b0381168114612dc557600080fd5b919050565b60008060408385031215612ddd57600080fd5b612de683612dae565b946020939093013593505050565b600060208284031215612e0657600080fd5b5035919050565b60008060208385031215612e2057600080fd5b823567ffffffffffffffff80821115612e3857600080fd5b818501915085601f830112612e4c57600080fd5b813581811115612e5b57600080fd5b866020828501011115612e6d57600080fd5b60209290920196919550909350505050565b6020808252825182820181905260009190848201906040850190845b81811015612ec05783516001600160a01b031683529284019291840191600101612e9b565b50909695505050505050565b80358015158114612dc557600080fd5b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715612f1b57612f1b612edc565b604052919050565b600067ffffffffffffffff821115612f3d57612f3d612edc565b50601f01601f191660200190565b600082601f830112612f5c57600080fd5b8135612f6f612f6a82612f23565b612ef2565b818152846020838601011115612f8457600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080600060a08688031215612fb957600080fd5b612fc286612dae565b9450612fd060208701612dae565b935060408601359250612fe560608701612ecc565b9150608086013567ffffffffffffffff81111561300157600080fd5b61300d88828901612f4b565b9150509295509295909350565b60005b8381101561303557818101518382015260200161301d565b50506000910152565b6000815180845261305681602086016020860161301a565b601f01601f19169290920160200192915050565b6020815260006108c7602083018461303e565b60006020828403121561308f57600080fd5b6108c782612dae565b600067ffffffffffffffff8211156130b2576130b2612edc565b5060051b60200190565b600082601f8301126130cd57600080fd5b813560206130dd612f6a83613098565b82815260059290921b840181019181810190868411156130fc57600080fd5b8286015b8481101561311e5761311181612dae565b8352918301918301613100565b509695505050505050565b600082601f83011261313a57600080fd5b8135602061314a612f6a83613098565b82815260059290921b8401810191818101908684111561316957600080fd5b8286015b8481101561311e578035835291830191830161316d565b600082601f83011261319557600080fd5b813560206131a5612f6a83613098565b82815260059290921b840181019181810190868411156131c457600080fd5b8286015b8481101561311e576131d981612ecc565b83529183019183016131c8565b600082601f8301126131f757600080fd5b81356020613207612f6a83613098565b82815260059290921b8401810191818101908684111561322657600080fd5b8286015b8481101561311e57803567ffffffffffffffff81111561324a5760008081fd5b6132588986838b0101612f4b565b84525091830191830161322a565b600080600080600060a0868803121561327e57600080fd5b853567ffffffffffffffff8082111561329657600080fd5b6132a289838a016130bc565b965060208801359150808211156132b857600080fd5b6132c489838a016130bc565b955060408801359150808211156132da57600080fd5b6132e689838a01613129565b945060608801359150808211156132fc57600080fd5b61330889838a01613184565b9350608088013591508082111561331e57600080fd5b5061300d888289016131e6565b6000806040838503121561333e57600080fd5b82359150602083013567ffffffffffffffff81111561335c57600080fd5b61336885828601612f4b565b9150509250929050565b6000806000806080858703121561338857600080fd5b5050823594602084013594506040840135936060013592509050565b600080604083850312156133b757600080fd5b823567ffffffffffffffff808211156133cf57600080fd5b6133db86838701613129565b935060208501359150808211156133f157600080fd5b50613368858286016131e6565b600081518084526020808501945080840160005b8381101561342e57815187529582019590820190600101613412565b509495945050505050565b6020815260006108c760208301846133fe565b60006020828403121561345e57600080fd5b813567ffffffffffffffff81111561347557600080fd5b6118cf84828501613129565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b828110156134d657603f198886030184526134c485835161303e565b945092850192908501906001016134a8565b5092979650505050505050565b803560ff81168114612dc557600080fd5b60008060008060008060008060e0898b03121561351057600080fd5b883567ffffffffffffffff8082111561352857600080fd5b818b0191508b601f83011261353c57600080fd5b81358181111561354b57600080fd5b8c60208260051b850101111561356057600080fd5b60209283019a50985050890135955061357b60408a01612dae565b94506060890135935061359060808a016134e3565b925060a0890135915060c089013590509295985092959890939650565b600080600080600060a086880312156135c557600080fd5b6135ce86612dae565b9450602086013593506135e3604087016134e3565b94979396509394606081013594506080013592915050565b600181811c9082168061360f57607f821691505b6020821081036111be57634e487b7160e01b600052602260045260246000fd5b601f82111561086257600081815260208120601f850160051c810160208610156136565750805b601f850160051c820191505b818110156109b357828155600101613662565b67ffffffffffffffff83111561368d5761368d612edc565b6136a18361369b83546135fb565b8361362f565b6000601f8411600181146136d557600085156136bd5750838201355b600019600387901b1c1916600186901b1783556113a3565b600083815260209020601f19861690835b8281101561370657868501358255602094850194600190920191016136e6565b50868210156137235760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b60208152816020820152818360408301376000818301604090810191909152601f909201601f19160101919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b818103818111156107a5576107a561377a565b815167ffffffffffffffff8111156137bd576137bd612edc565b6137d1816137cb84546135fb565b8461362f565b602080601f83116001811461380657600084156137ee5750858301515b600019600386901b1c1916600185901b1785556109b3565b600085815260208120601f198616915b8281101561383557888601518255948401946001909101908401613816565b50858210156138535787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b808201808211156107a5576107a561377a565b6001600160a01b038416815282151560208201526060604082015260006138a0606083018461303e565b95945050505050565b60006bffffffffffffffffffffffff19808760601b168352808660601b1660148401525083602883015282516138e681604885016020870161301a565b9190910160480195945050505050565b8281526040602082015260006118cf604083018461303e565b8281526000825161392781602085016020870161301a565b919091016020019392505050565b80820281158282048414176107a5576107a561377a565b60006020828403121561395e57600080fd5b5051919050565b60006020828403121561397757600080fd5b815167ffffffffffffffff81111561398e57600080fd5b8201601f8101841361399f57600080fd5b80516139ad612f6a82612f23565b8181528560208385010111156139c257600080fd5b6138a082602083016020860161301a565b634e487b7160e01b600052601260045260246000fd5b6000826139f8576139f86139d3565b500490565b600082613a0c57613a0c6139d3565b500690565b604081526000613a2460408301856133fe565b90508260208301529392505050565b634e487b7160e01b600052603160045260246000fd5b600060018201613a5b57613a5b61377a565b5060010190565b634e487b7160e01b600052602160045260246000fdfea2646970667358221220b316d98a6e492da6ef7c1cddeadd04445e325a9d6c9909bb161b0af5b4795d9164736f6c63430008110033ece574603820d07bc9b91f2a932baadf4628aabcb8afba49776529c14a6104b2