{
    "_format": "hh-sol-artifact-1",
    "contractName": "IndexerRegistry",
    "sourceName": "contracts/IndexerRegistry.sol",
    "abi": [
        {
            "anonymous": false,
            "inputs": [
                {
                    "indexed": false,
                    "internalType": "uint8",
                    "name": "version",
                    "type": "uint8"
                }
            ],
            "name": "Initialized",
            "type": "event"
        },
        {
            "anonymous": false,
            "inputs": [
                {
                    "indexed": false,
                    "internalType": "uint256",
                    "name": "rate",
                    "type": "uint256"
                }
            ],
            "name": "MinimumCommissionRateUpdated",
            "type": "event"
        },
        {
            "anonymous": false,
            "inputs": [
                {
                    "indexed": true,
                    "internalType": "address",
                    "name": "previousOwner",
                    "type": "address"
                },
                {
                    "indexed": true,
                    "internalType": "address",
                    "name": "newOwner",
                    "type": "address"
                }
            ],
            "name": "OwnershipTransferred",
            "type": "event"
        },
        {
            "anonymous": false,
            "inputs": [
                {
                    "indexed": false,
                    "internalType": "string",
                    "name": "name",
                    "type": "string"
                },
                {
                    "indexed": false,
                    "internalType": "bytes",
                    "name": "value",
                    "type": "bytes"
                }
            ],
            "name": "Parameter",
            "type": "event"
        },
        {
            "anonymous": false,
            "inputs": [
                {
                    "indexed": true,
                    "internalType": "address",
                    "name": "indexer",
                    "type": "address"
                },
                {
                    "indexed": false,
                    "internalType": "uint256",
                    "name": "amount",
                    "type": "uint256"
                },
                {
                    "indexed": false,
                    "internalType": "bytes32",
                    "name": "metadata",
                    "type": "bytes32"
                }
            ],
            "name": "RegisterIndexer",
            "type": "event"
        },
        {
            "anonymous": false,
            "inputs": [
                {
                    "indexed": true,
                    "internalType": "address",
                    "name": "indexer",
                    "type": "address"
                },
                {
                    "indexed": false,
                    "internalType": "uint256",
                    "name": "amount",
                    "type": "uint256"
                }
            ],
            "name": "SetCommissionRate",
            "type": "event"
        },
        {
            "anonymous": false,
            "inputs": [
                {
                    "indexed": true,
                    "internalType": "address",
                    "name": "indexer",
                    "type": "address"
                },
                {
                    "indexed": true,
                    "internalType": "address",
                    "name": "controller",
                    "type": "address"
                }
            ],
            "name": "SetControllerAccount",
            "type": "event"
        },
        {
            "anonymous": false,
            "inputs": [
                {
                    "indexed": true,
                    "internalType": "address",
                    "name": "indexer",
                    "type": "address"
                }
            ],
            "name": "UnregisterIndexer",
            "type": "event"
        },
        {
            "anonymous": false,
            "inputs": [
                {
                    "indexed": true,
                    "internalType": "address",
                    "name": "indexer",
                    "type": "address"
                },
                {
                    "indexed": false,
                    "internalType": "bytes32",
                    "name": "metadata",
                    "type": "bytes32"
                }
            ],
            "name": "UpdateMetadata",
            "type": "event"
        },
        {
            "inputs": [
                {
                    "internalType": "address",
                    "name": "",
                    "type": "address"
                }
            ],
            "name": "commissionRates",
            "outputs": [
                {
                    "internalType": "uint256",
                    "name": "era",
                    "type": "uint256"
                },
                {
                    "internalType": "uint256",
                    "name": "valueAt",
                    "type": "uint256"
                },
                {
                    "internalType": "uint256",
                    "name": "valueAfter",
                    "type": "uint256"
                }
            ],
            "stateMutability": "view",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "address",
                    "name": "indexer",
                    "type": "address"
                }
            ],
            "name": "getCommissionRate",
            "outputs": [
                {
                    "internalType": "uint256",
                    "name": "",
                    "type": "uint256"
                }
            ],
            "stateMutability": "view",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "address",
                    "name": "indexer",
                    "type": "address"
                }
            ],
            "name": "getController",
            "outputs": [
                {
                    "internalType": "address",
                    "name": "",
                    "type": "address"
                }
            ],
            "stateMutability": "view",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "contract ISettings",
                    "name": "_settings",
                    "type": "address"
                },
                {
                    "internalType": "uint256",
                    "name": "_minimumStakingAmount",
                    "type": "uint256"
                }
            ],
            "name": "initialize",
            "outputs": [],
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "address",
                    "name": "_address",
                    "type": "address"
                }
            ],
            "name": "isIndexer",
            "outputs": [
                {
                    "internalType": "bool",
                    "name": "",
                    "type": "bool"
                }
            ],
            "stateMutability": "view",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "address",
                    "name": "",
                    "type": "address"
                }
            ],
            "name": "metadata",
            "outputs": [
                {
                    "internalType": "bytes32",
                    "name": "",
                    "type": "bytes32"
                }
            ],
            "stateMutability": "view",
            "type": "function"
        },
        {
            "inputs": [],
            "name": "minimumCommissionRate",
            "outputs": [
                {
                    "internalType": "uint256",
                    "name": "",
                    "type": "uint256"
                }
            ],
            "stateMutability": "view",
            "type": "function"
        },
        {
            "inputs": [],
            "name": "minimumStakingAmount",
            "outputs": [
                {
                    "internalType": "uint256",
                    "name": "",
                    "type": "uint256"
                }
            ],
            "stateMutability": "view",
            "type": "function"
        },
        {
            "inputs": [],
            "name": "owner",
            "outputs": [
                {
                    "internalType": "address",
                    "name": "",
                    "type": "address"
                }
            ],
            "stateMutability": "view",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "uint256",
                    "name": "amount",
                    "type": "uint256"
                },
                {
                    "internalType": "bytes32",
                    "name": "_metadata",
                    "type": "bytes32"
                },
                {
                    "internalType": "uint256",
                    "name": "rate",
                    "type": "uint256"
                }
            ],
            "name": "registerIndexer",
            "outputs": [],
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "inputs": [],
            "name": "renounceOwnership",
            "outputs": [],
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "uint256",
                    "name": "rate",
                    "type": "uint256"
                }
            ],
            "name": "setCommissionRate",
            "outputs": [],
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "address",
                    "name": "controller",
                    "type": "address"
                }
            ],
            "name": "setControllerAccount",
            "outputs": [],
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "uint256",
                    "name": "rate",
                    "type": "uint256"
                }
            ],
            "name": "setMinimumCommissionRate",
            "outputs": [],
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "contract ISettings",
                    "name": "_settings",
                    "type": "address"
                }
            ],
            "name": "setSettings",
            "outputs": [],
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "uint256",
                    "name": "amount",
                    "type": "uint256"
                }
            ],
            "name": "setminimumStakingAmount",
            "outputs": [],
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "inputs": [],
            "name": "settings",
            "outputs": [
                {
                    "internalType": "contract ISettings",
                    "name": "",
                    "type": "address"
                }
            ],
            "stateMutability": "view",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "address",
                    "name": "newOwner",
                    "type": "address"
                }
            ],
            "name": "transferOwnership",
            "outputs": [],
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "inputs": [],
            "name": "unregisterIndexer",
            "outputs": [],
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "bytes32",
                    "name": "_metadata",
                    "type": "bytes32"
                }
            ],
            "name": "updateMetadata",
            "outputs": [],
            "stateMutability": "nonpayable",
            "type": "function"
        }
    ],
    "bytecode": "0x608060405234801561001057600080fd5b506116ed806100206000396000f3fe608060405234801561001057600080fd5b506004361061012c5760003560e01c806388c662aa116100ad578063cd6dc68711610071578063cd6dc687146102d4578063e06174e4146102e7578063e0cc26a2146102fa578063f2fde38b1461030d578063f9177cd81461032057600080fd5b806388c662aa146102505780638da5cb5b1461029457806399b3c88f146102a5578063a01d3c2c146102b8578063b0d2d011146102cb57600080fd5b80634f2d7778116100f45780634f2d7778146101d0578063612151cb146101e3578063715018a6146101eb5780637b056c1b146101f35780637ef9ea981461023d57600080fd5b806319fac8fd1461013157806325f7bb80146101465780632ba21572146101625780632c6cf4e214610182578063380e5d76146101bd575b600080fd5b61014461013f36600461141e565b610333565b005b61014f606a5481565b6040519081526020015b60405180910390f35b61014f61017036600461144c565b60676020526000908152604090205481565b6101ad61019036600461144c565b6001600160a01b0316600090815260676020526040902054151590565b6040519015158152602001610159565b6101446101cb36600461141e565b6105c5565b6101446101de36600461141e565b610671565b610144610721565b610144610a00565b61022261020136600461144c565b60686020526000908152604090208054600182015460029092015490919083565b60408051938452602084019290925290820152606001610159565b61014461024b36600461141e565b610a14565b61027c61025e36600461144c565b6001600160a01b039081166000908152606960205260409020541690565b6040516001600160a01b039091168152602001610159565b6033546001600160a01b031661027c565b6101446102b3366004611469565b610a57565b6101446102c636600461144c565b610c33565b61014f60665481565b6101446102e2366004611495565b610c5d565b60655461027c906001600160a01b031681565b61014f61030836600461144c565b610e0c565b61014461031b36600461144c565b610f62565b61014461032e36600461144c565b610fdb565b336000908152606760205260409020546103685760405162461bcd60e51b815260040161035f906114c1565b60405180910390fd5b606a54811015801561037d5750620f42408111155b6103995760405162461bcd60e51b815260040161035f906114df565b60655460405163f4e5699160e01b81526000916001600160a01b03169063f4e56991906103cb906005906004016114fe565b602060405180830381865afa1580156103e8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061040c9190611526565b6001600160a01b0316636f853a5d6040518163ffffffff1660e01b81526004016020604051808303816000875af115801561044b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061046f9190611543565b60655460405163f4e5699160e01b81529192506001600160a01b03169063f4e56991906104a190600a906004016114fe565b602060405180830381865afa1580156104be573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104e29190611526565b6001600160a01b031663b6262314336104fc84600261155c565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b15801561054257600080fd5b505af1158015610556573d6000803e3d6000fd5b50503360009081526068602052604090208054909250831115905061058357818155600281015460018201555b6002810183905560405183815233907ffb621a017bb038be49d13b22e821cbca1b2f153f0a4933795e7a363aa47fdf88906020015b60405180910390a2505050565b6105cd61105e565b620f42408111156105f05760405162461bcd60e51b815260040161035f906114df565b606a8190556040518181527fb20039ed1c468d5634eef3f42e47e70e5ea75c57ac7418fdebd3e8dfa71a0c8e9060200160405180910390a1600080516020611698833981519152606a5460405160200161064c91815260200190565b60408051601f1981840301815290829052610666916115cf565b60405180910390a150565b3360009081526067602052604090205461069d5760405162461bcd60e51b815260040161035f906114c1565b806106d25760405162461bcd60e51b8152602060048201526005602482015264495230303560d81b604482015260640161035f565b3360008181526067602052604090819020839055517f44289b921d3e02ec951a3de29d99dc8810fc78e19cb9befe7dbadfbc2522f9b0906107169084815260200190565b60405180910390a250565b3360009081526067602052604090205461074d5760405162461bcd60e51b815260040161035f906114c1565b60655460405163f4e5699160e01b81526001600160a01b039091169063f4e569919061077d9060049081016114fe565b602060405180830381865afa15801561079a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107be9190611526565b60405163314d16b760e11b81523360048201526001600160a01b03919091169063629a2d6e90602401602060405180830381865afa158015610804573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108289190611543565b1561085d5760405162461bcd60e51b815260206004820152600560248201526412548c0c0d60da1b604482015260640161035f565b336000908152606760209081526040808320839055606990915280822080546001600160a01b0319169055606554905163f4e5699160e01b81526001600160a01b039091169063f4e56991906108b8906002906004016114fe565b602060405180830381865afa1580156108d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108f99190611526565b604051631c50303960e01b8152336004820181905260248201529091506000906001600160a01b03831690631c50303990604401602060405180830381865afa15801561094a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061096e9190611543565b604051630615339760e51b8152336004820152602481018290529091506001600160a01b0383169063c2a672e090604401600060405180830381600087803b1580156109b957600080fd5b505af11580156109cd573d6000803e3d6000fd5b50506040513392507f60da6651c250ab7d79cb948c43525e34c7f78f2412e89a17abb94800e029b57b9150600090a25050565b610a0861105e565b610a1260006110b8565b565b610a1c61105e565b60668190556040805160208101839052600080516020611698833981519152910160408051601f19818403018152908290526106669161160e565b3360009081526067602052604090205415610a9c5760405162461bcd60e51b8152602060048201526005602482015264495230303160d81b604482015260640161035f565b606654831015610ad65760405162461bcd60e51b815260206004820152600560248201526424a918181960d91b604482015260640161035f565b81610b0b5760405162461bcd60e51b8152602060048201526005602482015264495230303560d81b604482015260640161035f565b336000818152606760205260409020839055610b27908261110a565b60655460405163f4e5699160e01b81526001600160a01b039091169063f4e5699190610b58906002906004016114fe565b602060405180830381865afa158015610b75573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b999190611526565b6040516356e4bb9760e11b8152336004820152602481018590526001600160a01b03919091169063adc9772e90604401600060405180830381600087803b158015610be357600080fd5b505af1158015610bf7573d6000803e3d6000fd5b505060408051868152602081018690523393507f8e35b797463c2d9c47a13c7e78bdcd45873d462332995c29023a516085f27f799250016105b8565b610c3b61105e565b606580546001600160a01b0319166001600160a01b0392909216919091179055565b600054610100900460ff1615808015610c7d5750600054600160ff909116105b80610c975750303b158015610c97575060005460ff166001145b610cfa5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840161035f565b6000805460ff191660011790558015610d1d576000805461ff0019166101001790555b610d256113a7565b606580546001600160a01b0319166001600160a01b03851617905560668290556040805160208101849052600080516020611698833981519152910160408051601f1981840301815290829052610d7b9161160e565b60405180910390a16040805160006020820152600080516020611698833981519152910160408051601f1981840301815290829052610db9916115cf565b60405180910390a18015610e07576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050565b60655460405163f4e5699160e01b815260009182916001600160a01b039091169063f4e5699190610e42906005906004016114fe565b602060405180830381865afa158015610e5f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e839190611526565b6001600160a01b0316637d884c746040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ec0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ee49190611543565b6001600160a01b0384166000908152606860209081526040808320815160608101835281548082526001808401549583019590955260029092015492810192909252939450928491610f36919061155c565b10610f45578160200151610f4b565b81604001515b9050610f5981606a546113d6565b95945050505050565b610f6a61105e565b6001600160a01b038116610fcf5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161035f565b610fd8816110b8565b50565b336000908152606760205260409020546110075760405162461bcd60e51b815260040161035f906114c1565b3360008181526069602052604080822080546001600160a01b0319166001600160a01b03861690811790915590519092917f2a463b1631b8f93341dbed1b8977e705efa18406ba5a9ddcd4e3a8e1e849dfd091a350565b6033546001600160a01b03163314610a125760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161035f565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60655460405163f4e5699160e01b81526000916001600160a01b03169063f4e569919061113c90600a906004016114fe565b602060405180830381865afa158015611159573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061117d9190611526565b604051631d24c11360e31b81526001600160a01b0385811660048301529192509082169063e926089890602401602060405180830381865afa1580156111c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111eb9190611543565b156112205760405162461bcd60e51b8152602060048201526005602482015264525330303160d81b604482015260640161035f565b606a5482101580156112355750620f42408211155b6112515760405162461bcd60e51b815260040161035f906114df565b60655460405163f4e5699160e01b81526000916001600160a01b03169063f4e5699190611283906005906004016114fe565b602060405180830381865afa1580156112a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112c49190611526565b6001600160a01b0316636f853a5d6040518163ffffffff1660e01b81526004016020604051808303816000875af1158015611303573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113279190611543565b6040805160608101825282815260208082018781528284018881526001600160a01b038a166000818152606885528690209451855591516001850155516002909301929092559151868152929350917ffb621a017bb038be49d13b22e821cbca1b2f153f0a4933795e7a363aa47fdf88910160405180910390a250505050565b600054610100900460ff166113ce5760405162461bcd60e51b815260040161035f9061164c565b610a126113ee565b60008183116113e557816113e7565b825b9392505050565b600054610100900460ff166114155760405162461bcd60e51b815260040161035f9061164c565b610a12336110b8565b60006020828403121561143057600080fd5b5035919050565b6001600160a01b0381168114610fd857600080fd5b60006020828403121561145e57600080fd5b81356113e781611437565b60008060006060848603121561147e57600080fd5b505081359360208301359350604090920135919050565b600080604083850312156114a857600080fd5b82356114b381611437565b946020939093013593505050565b6020808252600490820152632398181960e11b604082015260600190565b60208082526005908201526424a918181b60d91b604082015260600190565b602081016015831061152057634e487b7160e01b600052602160045260246000fd5b91905290565b60006020828403121561153857600080fd5b81516113e781611437565b60006020828403121561155557600080fd5b5051919050565b6000821982111561157d57634e487b7160e01b600052601160045260246000fd5b500190565b6000815180845260005b818110156115a85760208185018101518683018201520161158c565b818111156115ba576000602083870101525b50601f01601f19169290920160200192915050565b6040815260156040820152746d696e696d756d436f6d6d697373696f6e5261746560581b60608201526080602082015260006113e76080830184611582565b6040815260146040820152731b5a5b9a5b5d5b54dd185ada5b99d05b5bdd5b9d60621b60608201526080602082015260006113e76080830184611582565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b60608201526080019056fe63c3003ba148ae22ef0cecea7dab164660fafd04037d699677e4478e17ef7b1ba26469706673582212200af5f103c180424c1da6f125fe83226befbdca1d95fcb86386b2e0671b07166764736f6c634300080f0033",
    "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061012c5760003560e01c806388c662aa116100ad578063cd6dc68711610071578063cd6dc687146102d4578063e06174e4146102e7578063e0cc26a2146102fa578063f2fde38b1461030d578063f9177cd81461032057600080fd5b806388c662aa146102505780638da5cb5b1461029457806399b3c88f146102a5578063a01d3c2c146102b8578063b0d2d011146102cb57600080fd5b80634f2d7778116100f45780634f2d7778146101d0578063612151cb146101e3578063715018a6146101eb5780637b056c1b146101f35780637ef9ea981461023d57600080fd5b806319fac8fd1461013157806325f7bb80146101465780632ba21572146101625780632c6cf4e214610182578063380e5d76146101bd575b600080fd5b61014461013f36600461141e565b610333565b005b61014f606a5481565b6040519081526020015b60405180910390f35b61014f61017036600461144c565b60676020526000908152604090205481565b6101ad61019036600461144c565b6001600160a01b0316600090815260676020526040902054151590565b6040519015158152602001610159565b6101446101cb36600461141e565b6105c5565b6101446101de36600461141e565b610671565b610144610721565b610144610a00565b61022261020136600461144c565b60686020526000908152604090208054600182015460029092015490919083565b60408051938452602084019290925290820152606001610159565b61014461024b36600461141e565b610a14565b61027c61025e36600461144c565b6001600160a01b039081166000908152606960205260409020541690565b6040516001600160a01b039091168152602001610159565b6033546001600160a01b031661027c565b6101446102b3366004611469565b610a57565b6101446102c636600461144c565b610c33565b61014f60665481565b6101446102e2366004611495565b610c5d565b60655461027c906001600160a01b031681565b61014f61030836600461144c565b610e0c565b61014461031b36600461144c565b610f62565b61014461032e36600461144c565b610fdb565b336000908152606760205260409020546103685760405162461bcd60e51b815260040161035f906114c1565b60405180910390fd5b606a54811015801561037d5750620f42408111155b6103995760405162461bcd60e51b815260040161035f906114df565b60655460405163f4e5699160e01b81526000916001600160a01b03169063f4e56991906103cb906005906004016114fe565b602060405180830381865afa1580156103e8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061040c9190611526565b6001600160a01b0316636f853a5d6040518163ffffffff1660e01b81526004016020604051808303816000875af115801561044b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061046f9190611543565b60655460405163f4e5699160e01b81529192506001600160a01b03169063f4e56991906104a190600a906004016114fe565b602060405180830381865afa1580156104be573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104e29190611526565b6001600160a01b031663b6262314336104fc84600261155c565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b15801561054257600080fd5b505af1158015610556573d6000803e3d6000fd5b50503360009081526068602052604090208054909250831115905061058357818155600281015460018201555b6002810183905560405183815233907ffb621a017bb038be49d13b22e821cbca1b2f153f0a4933795e7a363aa47fdf88906020015b60405180910390a2505050565b6105cd61105e565b620f42408111156105f05760405162461bcd60e51b815260040161035f906114df565b606a8190556040518181527fb20039ed1c468d5634eef3f42e47e70e5ea75c57ac7418fdebd3e8dfa71a0c8e9060200160405180910390a1600080516020611698833981519152606a5460405160200161064c91815260200190565b60408051601f1981840301815290829052610666916115cf565b60405180910390a150565b3360009081526067602052604090205461069d5760405162461bcd60e51b815260040161035f906114c1565b806106d25760405162461bcd60e51b8152602060048201526005602482015264495230303560d81b604482015260640161035f565b3360008181526067602052604090819020839055517f44289b921d3e02ec951a3de29d99dc8810fc78e19cb9befe7dbadfbc2522f9b0906107169084815260200190565b60405180910390a250565b3360009081526067602052604090205461074d5760405162461bcd60e51b815260040161035f906114c1565b60655460405163f4e5699160e01b81526001600160a01b039091169063f4e569919061077d9060049081016114fe565b602060405180830381865afa15801561079a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107be9190611526565b60405163314d16b760e11b81523360048201526001600160a01b03919091169063629a2d6e90602401602060405180830381865afa158015610804573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108289190611543565b1561085d5760405162461bcd60e51b815260206004820152600560248201526412548c0c0d60da1b604482015260640161035f565b336000908152606760209081526040808320839055606990915280822080546001600160a01b0319169055606554905163f4e5699160e01b81526001600160a01b039091169063f4e56991906108b8906002906004016114fe565b602060405180830381865afa1580156108d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108f99190611526565b604051631c50303960e01b8152336004820181905260248201529091506000906001600160a01b03831690631c50303990604401602060405180830381865afa15801561094a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061096e9190611543565b604051630615339760e51b8152336004820152602481018290529091506001600160a01b0383169063c2a672e090604401600060405180830381600087803b1580156109b957600080fd5b505af11580156109cd573d6000803e3d6000fd5b50506040513392507f60da6651c250ab7d79cb948c43525e34c7f78f2412e89a17abb94800e029b57b9150600090a25050565b610a0861105e565b610a1260006110b8565b565b610a1c61105e565b60668190556040805160208101839052600080516020611698833981519152910160408051601f19818403018152908290526106669161160e565b3360009081526067602052604090205415610a9c5760405162461bcd60e51b8152602060048201526005602482015264495230303160d81b604482015260640161035f565b606654831015610ad65760405162461bcd60e51b815260206004820152600560248201526424a918181960d91b604482015260640161035f565b81610b0b5760405162461bcd60e51b8152602060048201526005602482015264495230303560d81b604482015260640161035f565b336000818152606760205260409020839055610b27908261110a565b60655460405163f4e5699160e01b81526001600160a01b039091169063f4e5699190610b58906002906004016114fe565b602060405180830381865afa158015610b75573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b999190611526565b6040516356e4bb9760e11b8152336004820152602481018590526001600160a01b03919091169063adc9772e90604401600060405180830381600087803b158015610be357600080fd5b505af1158015610bf7573d6000803e3d6000fd5b505060408051868152602081018690523393507f8e35b797463c2d9c47a13c7e78bdcd45873d462332995c29023a516085f27f799250016105b8565b610c3b61105e565b606580546001600160a01b0319166001600160a01b0392909216919091179055565b600054610100900460ff1615808015610c7d5750600054600160ff909116105b80610c975750303b158015610c97575060005460ff166001145b610cfa5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840161035f565b6000805460ff191660011790558015610d1d576000805461ff0019166101001790555b610d256113a7565b606580546001600160a01b0319166001600160a01b03851617905560668290556040805160208101849052600080516020611698833981519152910160408051601f1981840301815290829052610d7b9161160e565b60405180910390a16040805160006020820152600080516020611698833981519152910160408051601f1981840301815290829052610db9916115cf565b60405180910390a18015610e07576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050565b60655460405163f4e5699160e01b815260009182916001600160a01b039091169063f4e5699190610e42906005906004016114fe565b602060405180830381865afa158015610e5f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e839190611526565b6001600160a01b0316637d884c746040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ec0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ee49190611543565b6001600160a01b0384166000908152606860209081526040808320815160608101835281548082526001808401549583019590955260029092015492810192909252939450928491610f36919061155c565b10610f45578160200151610f4b565b81604001515b9050610f5981606a546113d6565b95945050505050565b610f6a61105e565b6001600160a01b038116610fcf5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161035f565b610fd8816110b8565b50565b336000908152606760205260409020546110075760405162461bcd60e51b815260040161035f906114c1565b3360008181526069602052604080822080546001600160a01b0319166001600160a01b03861690811790915590519092917f2a463b1631b8f93341dbed1b8977e705efa18406ba5a9ddcd4e3a8e1e849dfd091a350565b6033546001600160a01b03163314610a125760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161035f565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60655460405163f4e5699160e01b81526000916001600160a01b03169063f4e569919061113c90600a906004016114fe565b602060405180830381865afa158015611159573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061117d9190611526565b604051631d24c11360e31b81526001600160a01b0385811660048301529192509082169063e926089890602401602060405180830381865afa1580156111c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111eb9190611543565b156112205760405162461bcd60e51b8152602060048201526005602482015264525330303160d81b604482015260640161035f565b606a5482101580156112355750620f42408211155b6112515760405162461bcd60e51b815260040161035f906114df565b60655460405163f4e5699160e01b81526000916001600160a01b03169063f4e5699190611283906005906004016114fe565b602060405180830381865afa1580156112a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112c49190611526565b6001600160a01b0316636f853a5d6040518163ffffffff1660e01b81526004016020604051808303816000875af1158015611303573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113279190611543565b6040805160608101825282815260208082018781528284018881526001600160a01b038a166000818152606885528690209451855591516001850155516002909301929092559151868152929350917ffb621a017bb038be49d13b22e821cbca1b2f153f0a4933795e7a363aa47fdf88910160405180910390a250505050565b600054610100900460ff166113ce5760405162461bcd60e51b815260040161035f9061164c565b610a126113ee565b60008183116113e557816113e7565b825b9392505050565b600054610100900460ff166114155760405162461bcd60e51b815260040161035f9061164c565b610a12336110b8565b60006020828403121561143057600080fd5b5035919050565b6001600160a01b0381168114610fd857600080fd5b60006020828403121561145e57600080fd5b81356113e781611437565b60008060006060848603121561147e57600080fd5b505081359360208301359350604090920135919050565b600080604083850312156114a857600080fd5b82356114b381611437565b946020939093013593505050565b6020808252600490820152632398181960e11b604082015260600190565b60208082526005908201526424a918181b60d91b604082015260600190565b602081016015831061152057634e487b7160e01b600052602160045260246000fd5b91905290565b60006020828403121561153857600080fd5b81516113e781611437565b60006020828403121561155557600080fd5b5051919050565b6000821982111561157d57634e487b7160e01b600052601160045260246000fd5b500190565b6000815180845260005b818110156115a85760208185018101518683018201520161158c565b818111156115ba576000602083870101525b50601f01601f19169290920160200192915050565b6040815260156040820152746d696e696d756d436f6d6d697373696f6e5261746560581b60608201526080602082015260006113e76080830184611582565b6040815260146040820152731b5a5b9a5b5d5b54dd185ada5b99d05b5bdd5b9d60621b60608201526080602082015260006113e76080830184611582565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b60608201526080019056fe63c3003ba148ae22ef0cecea7dab164660fafd04037d699677e4478e17ef7b1ba26469706673582212200af5f103c180424c1da6f125fe83226befbdca1d95fcb86386b2e0671b07166764736f6c634300080f0033",
    "linkReferences": {},
    "deployedLinkReferences": {}
}
