{
  "_format": "hh-sol-artifact-1",
  "contractName": "FixedRateListingController",
  "sourceName": "contracts/listing/listing-strategies/fixed-rate/FixedRateListingController.sol",
  "abi": [
    {
      "inputs": [],
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "inputs": [],
      "name": "InvalidContractEntityInterface",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "bytes4",
          "name": "provided",
          "type": "bytes4"
        },
        {
          "internalType": "bytes4",
          "name": "required",
          "type": "bytes4"
        }
      ],
      "name": "ListingStrategyMismatch",
      "type": "error"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "address",
          "name": "previousAdmin",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "address",
          "name": "newAdmin",
          "type": "address"
        }
      ],
      "name": "AdminChanged",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "beacon",
          "type": "address"
        }
      ],
      "name": "BeaconUpgraded",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint8",
          "name": "version",
          "type": "uint8"
        }
      ],
      "name": "Initialized",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "implementation",
          "type": "address"
        }
      ],
      "name": "Upgraded",
      "type": "event"
    },
    {
      "inputs": [],
      "name": "HUNDRED_PERCENT",
      "outputs": [
        {
          "internalType": "uint16",
          "name": "",
          "type": "uint16"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "components": [
            {
              "internalType": "uint256",
              "name": "listingId",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "universeId",
              "type": "uint256"
            },
            {
              "internalType": "address",
              "name": "warperAddress",
              "type": "address"
            }
          ],
          "internalType": "struct IListingTermsRegistry.Params",
          "name": "listingTermsParams",
          "type": "tuple"
        },
        {
          "components": [
            {
              "internalType": "bytes4",
              "name": "strategyId",
              "type": "bytes4"
            },
            {
              "internalType": "bytes",
              "name": "strategyData",
              "type": "bytes"
            }
          ],
          "internalType": "struct IListingTermsRegistry.ListingTerms",
          "name": "listingTerms",
          "type": "tuple"
        },
        {
          "components": [
            {
              "internalType": "uint256",
              "name": "listingId",
              "type": "uint256"
            },
            {
              "internalType": "address",
              "name": "warper",
              "type": "address"
            },
            {
              "internalType": "address",
              "name": "renter",
              "type": "address"
            },
            {
              "internalType": "uint32",
              "name": "rentalPeriod",
              "type": "uint32"
            },
            {
              "internalType": "address",
              "name": "paymentToken",
              "type": "address"
            },
            {
              "internalType": "uint256",
              "name": "listingTermsId",
              "type": "uint256"
            },
            {
              "components": [
                {
                  "internalType": "bytes4",
                  "name": "strategyId",
                  "type": "bytes4"
                },
                {
                  "internalType": "bytes",
                  "name": "strategyData",
                  "type": "bytes"
                }
              ],
              "internalType": "struct IListingTermsRegistry.ListingTerms",
              "name": "selectedConfiguratorListingTerms",
              "type": "tuple"
            }
          ],
          "internalType": "struct Rentings.Params",
          "name": "rentingParams",
          "type": "tuple"
        }
      ],
      "name": "calculateRentalFee",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "totalFee",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "listerBaseFee",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "universeBaseFee",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "protocolBaseFee",
          "type": "uint256"
        },
        {
          "components": [
            {
              "internalType": "bytes4",
              "name": "strategyId",
              "type": "bytes4"
            },
            {
              "internalType": "bytes",
              "name": "strategyData",
              "type": "bytes"
            }
          ],
          "internalType": "struct ITaxTermsRegistry.TaxTerms",
          "name": "universeTaxTerms",
          "type": "tuple"
        },
        {
          "components": [
            {
              "internalType": "bytes4",
              "name": "strategyId",
              "type": "bytes4"
            },
            {
              "internalType": "bytes",
              "name": "strategyData",
              "type": "bytes"
            }
          ],
          "internalType": "struct ITaxTermsRegistry.TaxTerms",
          "name": "protocolTaxTerms",
          "type": "tuple"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "contractKey",
      "outputs": [
        {
          "internalType": "bytes4",
          "name": "",
          "type": "bytes4"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "inputs": [
        {
          "components": [
            {
              "internalType": "bytes4",
              "name": "strategyId",
              "type": "bytes4"
            },
            {
              "internalType": "bytes",
              "name": "strategyData",
              "type": "bytes"
            }
          ],
          "internalType": "struct IListingTermsRegistry.ListingTerms",
          "name": "terms",
          "type": "tuple"
        }
      ],
      "name": "decodeStrategyParams",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "baseRate",
          "type": "uint256"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "inputs": [
        {
          "components": [
            {
              "internalType": "contract IACL",
              "name": "acl",
              "type": "address"
            },
            {
              "internalType": "contract IMetahub",
              "name": "metahub",
              "type": "address"
            }
          ],
          "internalType": "struct FixedRateListingController.FixedRateListingControllerInitParams",
          "name": "params",
          "type": "tuple"
        }
      ],
      "name": "initialize",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "proxiableUUID",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "strategyId",
      "outputs": [
        {
          "internalType": "bytes4",
          "name": "",
          "type": "bytes4"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes4",
          "name": "interfaceId",
          "type": "bytes4"
        }
      ],
      "name": "supportsInterface",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "newImplementation",
          "type": "address"
        }
      ],
      "name": "upgradeTo",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "newImplementation",
          "type": "address"
        },
        {
          "internalType": "bytes",
          "name": "data",
          "type": "bytes"
        }
      ],
      "name": "upgradeToAndCall",
      "outputs": [],
      "stateMutability": "payable",
      "type": "function"
    }
  ],
  "bytecode": "0x60a0604052306080523480156200001557600080fd5b50600054610100900460ff1615808015620000375750600054600160ff909116105b8062000067575062000054306200014160201b6200092e1760201c565b15801562000067575060005460ff166001145b620000cf5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840160405180910390fd5b6000805460ff191660011790558015620000f3576000805461ff0019166101001790555b80156200013a576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5062000150565b6001600160a01b03163b151590565b608051611730620001886000396000818161026e015281816102b70152818161035601528181610396015261042901526117306000f3fe6080604052600436106100915760003560e01c806359aa1db31161005957806359aa1db31461016b5780636ed93dd01461018b578063b6a597dd146101b4578063ec21896d146101d4578063f3e4ff831461020757600080fd5b806301ffc9a7146100965780633659cfe6146100cb578063492f4e18146100ed5780634f1ef2861461013557806352d1902d14610148575b600080fd5b3480156100a257600080fd5b506100b66100b1366004610ecd565b610239565b60405190151581526020015b60405180910390f35b3480156100d757600080fd5b506100eb6100e6366004610f0f565b610264565b005b3480156100f957600080fd5b507f8a83ead3d4d0c829756fe801a3fae053541cc4d87638149a8d5dc1cbbb7bc84e5b6040516001600160e01b031990911681526020016100c2565b6100eb61014336600461101a565b61034c565b34801561015457600080fd5b5061015d61041c565b6040519081526020016100c2565b34801561017757600080fd5b5061015d6101863660046110c5565b6104cf565b34801561019757600080fd5b506101a161271081565b60405161ffff90911681526020016100c2565b3480156101c057600080fd5b506100eb6101cf366004611112565b6104da565b3480156101e057600080fd5b507fe55716112a210b85895aa05547fa5d4cd2ef4175ec64951a5a91e4c76299911461011c565b34801561021357600080fd5b5061022761022236600461112e565b610648565b6040516100c296959493929190611231565b60006001600160e01b031982166359aa1db360e01b148061025e575061025e8261093d565b92915050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036102b55760405162461bcd60e51b81526004016102ac9061127b565b60405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166102fe6000805160206116b4833981519152546001600160a01b031690565b6001600160a01b0316146103245760405162461bcd60e51b81526004016102ac906112c7565b61032d81610962565b60408051600080825260208201909252610349918391906109df565b50565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036103945760405162461bcd60e51b81526004016102ac9061127b565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166103dd6000805160206116b4833981519152546001600160a01b031690565b6001600160a01b0316146104035760405162461bcd60e51b81526004016102ac906112c7565b61040c82610962565b610418828260016109df565b5050565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104bc5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016102ac565b506000805160206116b483398151915290565b600061025e82610b4f565b600054610100900460ff16158080156104fa5750600054600160ff909116105b806105145750303b158015610514575060005460ff166001145b6105775760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016102ac565b6000805460ff19166001179055801561059a576000805461ff0019166101001790555b6105a2610bda565b6105af6020830183610f0f565b609880546001600160a01b0319166001600160a01b03929092169190911790556105df6040830160208401610f0f565b606580546001600160a01b0319166001600160a01b03929092169190911790558015610418576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b600080600080610675604051806040016040528060006001600160e01b0319168152602001606081525090565b604080518082019091526000815260606020820152600061069d6106988a611313565b610b4f565b9050806106b060808a0160608b01611333565b63ffffffff166106c09190611364565b60655460405163e3dedd6b60e01b81526373e1d9db60e01b60048201529197506000916001600160a01b039091169063e3dedd6b90602401602060405180830381865afa158015610715573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107399190611383565b905060006001600160a01b038216633e3bc74861075960208e018e610ecd565b6040516001600160e01b031960e084901b81168252919091166004820152602401602060405180830381865afa158015610797573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107bb9190611383565b905060006001600160a01b03831663e30d2ef46107db60208f018f610ecd565b6040516001600160e01b031960e084901b81168252919091166004820152602401602060405180830381865afa158015610819573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061083d91906113a0565b905060006040518060600160405280836001600160e01b03191681526020018f6020013581526020018f60400160208101906108799190610f0f565b6001600160a01b03168152509050826001600160a01b031663d4606269828e8d6040518463ffffffff1660e01b81526004016108b79392919061146c565b600060405180830381865afa1580156108d4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526108fc91908101906115dc565b929b5090995097509550876109118a8c611653565b61091b9190611653565b9a50505050505093975093979195509350565b6001600160a01b03163b151590565b60006001600160e01b0319821663bacbb19b60e01b148061025e575061025e82610c47565b6098546001600160a01b03166001600160a01b03166312d9a6ad6000336040516001600160e01b031960e085901b16815260048101929092526001600160a01b0316602482015260440160006040518083038186803b1580156109c457600080fd5b505afa1580156109d8573d6000803e3d6000fd5b5050505050565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615610a1757610a1283610c7c565b505050565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610a71575060408051601f3d908101601f19168201909252610a6e9181019061166b565b60015b610ad45760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b60648201526084016102ac565b6000805160206116b48339815191528114610b435760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b60648201526084016102ac565b50610a12838383610d18565b80516000907f8a83ead3d4d0c829756fe801a3fae053541cc4d87638149a8d5dc1cbbb7bc84e6001600160e01b03198216638a83ead360e01b14610bba5760405163dc5b665760e01b81526001600160e01b03198084166004830152821660248201526044016102ac565b8360200151806020019051810190610bd2919061166b565b949350505050565b600054610100900460ff16610c455760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016102ac565b565b60006001600160e01b0319821663ec21896d60e01b148061025e57506301ffc9a760e01b6001600160e01b031983161461025e565b6001600160a01b0381163b610ce95760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016102ac565b6000805160206116b483398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b610d2183610d43565b600082511180610d2e5750805b15610a1257610d3d8383610d83565b50505050565b610d4c81610c7c565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606001600160a01b0383163b610deb5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b60648201526084016102ac565b600080846001600160a01b031684604051610e069190611684565b600060405180830381855af49150503d8060008114610e41576040519150601f19603f3d011682016040523d82523d6000602084013e610e46565b606091505b5091509150610e6e82826040518060600160405280602781526020016116d460279139610e77565b95945050505050565b60608315610e86575081610eb0565b825115610e965782518084602001fd5b8160405162461bcd60e51b81526004016102ac91906116a0565b9392505050565b6001600160e01b03198116811461034957600080fd5b600060208284031215610edf57600080fd5b8135610eb081610eb7565b6001600160a01b038116811461034957600080fd5b8035610f0a81610eea565b919050565b600060208284031215610f2157600080fd5b8135610eb081610eea565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff81118282101715610f6557610f65610f2c565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715610f9457610f94610f2c565b604052919050565b600067ffffffffffffffff821115610fb657610fb6610f2c565b50601f01601f191660200190565b600082601f830112610fd557600080fd5b8135610fe8610fe382610f9c565b610f6b565b818152846020838601011115610ffd57600080fd5b816020850160208301376000918101602001919091529392505050565b6000806040838503121561102d57600080fd5b823561103881610eea565b9150602083013567ffffffffffffffff81111561105457600080fd5b61106085828601610fc4565b9150509250929050565b60006040828403121561107c57600080fd5b611084610f42565b9050813561109181610eb7565b8152602082013567ffffffffffffffff8111156110ad57600080fd5b6110b984828501610fc4565b60208301525092915050565b6000602082840312156110d757600080fd5b813567ffffffffffffffff8111156110ee57600080fd5b610bd28482850161106a565b60006040828403121561110c57600080fd5b50919050565b60006040828403121561112457600080fd5b610eb083836110fa565b600080600083850360a081121561114457600080fd5b606081121561115257600080fd5b50839250606084013567ffffffffffffffff8082111561117157600080fd5b61117d878388016110fa565b9350608086013591508082111561119357600080fd5b50840160e081870312156111a657600080fd5b809150509250925092565b60005b838110156111cc5781810151838201526020016111b4565b83811115610d3d5750506000910152565b600081518084526111f58160208601602086016111b1565b601f01601f19169290920160200192915050565b63ffffffff60e01b81511682526000602082015160406020850152610bd260408501826111dd565b86815285602082015284604082015283606082015260c06080820152600061125c60c0830185611209565b82810360a084015261126e8185611209565b9998505050505050505050565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b600061025e368361106a565b803563ffffffff81168114610f0a57600080fd5b60006020828403121561134557600080fd5b610eb08261131f565b634e487b7160e01b600052601160045260246000fd5b600081600019048311821515161561137e5761137e61134e565b500290565b60006020828403121561139557600080fd5b8151610eb081610eea565b6000602082840312156113b257600080fd5b8151610eb081610eb7565b60008235603e198336030181126113d357600080fd5b90910192915050565b600081356113e981610eb7565b6001600160e01b0319168352602082013536839003601e1901811261140d57600080fd5b8201803567ffffffffffffffff81111561142657600080fd5b80360384131561143557600080fd5b60406020860152806040860152806020830160608701376000606082870101526060601f19601f8301168601019250505092915050565b63ffffffff60e01b8451168152602084015160208201526000604085015160018060a01b03808216604085015260a06060850152853560a0850152602086013591506114b782610eea565b90811660c08401526040850135906114ce82610eea565b1660e08301526114e06060850161131f565b63ffffffff166101008301526114f860808501610eff565b6001600160a01b031661012083015260a084013561014083015261151f60c08501856113bd565b60e06101608401526115356101808401826113dc565b915050826080830152949350505050565b60006040828403121561155857600080fd5b611560610f42565b9050815161156d81610eb7565b8152602082015167ffffffffffffffff81111561158957600080fd5b8201601f8101841361159a57600080fd5b80516115a8610fe382610f9c565b8181528560208385010111156115bd57600080fd5b6115ce8260208301602086016111b1565b602084015250909392505050565b600080600080608085870312156115f257600080fd5b8451935060208501519250604085015167ffffffffffffffff8082111561161857600080fd5b61162488838901611546565b9350606087015191508082111561163a57600080fd5b5061164787828801611546565b91505092959194509250565b600082198211156116665761166661134e565b500190565b60006020828403121561167d57600080fd5b5051919050565b600082516116968184602087016111b1565b9190910192915050565b602081526000610eb060208301846111dd56fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220741ce0cb03c1766a17b800d1c1f46ed23b4b3313e4432c144d60786648984c6564736f6c634300080d0033",
  "deployedBytecode": "0x6080604052600436106100915760003560e01c806359aa1db31161005957806359aa1db31461016b5780636ed93dd01461018b578063b6a597dd146101b4578063ec21896d146101d4578063f3e4ff831461020757600080fd5b806301ffc9a7146100965780633659cfe6146100cb578063492f4e18146100ed5780634f1ef2861461013557806352d1902d14610148575b600080fd5b3480156100a257600080fd5b506100b66100b1366004610ecd565b610239565b60405190151581526020015b60405180910390f35b3480156100d757600080fd5b506100eb6100e6366004610f0f565b610264565b005b3480156100f957600080fd5b507f8a83ead3d4d0c829756fe801a3fae053541cc4d87638149a8d5dc1cbbb7bc84e5b6040516001600160e01b031990911681526020016100c2565b6100eb61014336600461101a565b61034c565b34801561015457600080fd5b5061015d61041c565b6040519081526020016100c2565b34801561017757600080fd5b5061015d6101863660046110c5565b6104cf565b34801561019757600080fd5b506101a161271081565b60405161ffff90911681526020016100c2565b3480156101c057600080fd5b506100eb6101cf366004611112565b6104da565b3480156101e057600080fd5b507fe55716112a210b85895aa05547fa5d4cd2ef4175ec64951a5a91e4c76299911461011c565b34801561021357600080fd5b5061022761022236600461112e565b610648565b6040516100c296959493929190611231565b60006001600160e01b031982166359aa1db360e01b148061025e575061025e8261093d565b92915050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036102b55760405162461bcd60e51b81526004016102ac9061127b565b60405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166102fe6000805160206116b4833981519152546001600160a01b031690565b6001600160a01b0316146103245760405162461bcd60e51b81526004016102ac906112c7565b61032d81610962565b60408051600080825260208201909252610349918391906109df565b50565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036103945760405162461bcd60e51b81526004016102ac9061127b565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166103dd6000805160206116b4833981519152546001600160a01b031690565b6001600160a01b0316146104035760405162461bcd60e51b81526004016102ac906112c7565b61040c82610962565b610418828260016109df565b5050565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104bc5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016102ac565b506000805160206116b483398151915290565b600061025e82610b4f565b600054610100900460ff16158080156104fa5750600054600160ff909116105b806105145750303b158015610514575060005460ff166001145b6105775760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016102ac565b6000805460ff19166001179055801561059a576000805461ff0019166101001790555b6105a2610bda565b6105af6020830183610f0f565b609880546001600160a01b0319166001600160a01b03929092169190911790556105df6040830160208401610f0f565b606580546001600160a01b0319166001600160a01b03929092169190911790558015610418576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b600080600080610675604051806040016040528060006001600160e01b0319168152602001606081525090565b604080518082019091526000815260606020820152600061069d6106988a611313565b610b4f565b9050806106b060808a0160608b01611333565b63ffffffff166106c09190611364565b60655460405163e3dedd6b60e01b81526373e1d9db60e01b60048201529197506000916001600160a01b039091169063e3dedd6b90602401602060405180830381865afa158015610715573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107399190611383565b905060006001600160a01b038216633e3bc74861075960208e018e610ecd565b6040516001600160e01b031960e084901b81168252919091166004820152602401602060405180830381865afa158015610797573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107bb9190611383565b905060006001600160a01b03831663e30d2ef46107db60208f018f610ecd565b6040516001600160e01b031960e084901b81168252919091166004820152602401602060405180830381865afa158015610819573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061083d91906113a0565b905060006040518060600160405280836001600160e01b03191681526020018f6020013581526020018f60400160208101906108799190610f0f565b6001600160a01b03168152509050826001600160a01b031663d4606269828e8d6040518463ffffffff1660e01b81526004016108b79392919061146c565b600060405180830381865afa1580156108d4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526108fc91908101906115dc565b929b5090995097509550876109118a8c611653565b61091b9190611653565b9a50505050505093975093979195509350565b6001600160a01b03163b151590565b60006001600160e01b0319821663bacbb19b60e01b148061025e575061025e82610c47565b6098546001600160a01b03166001600160a01b03166312d9a6ad6000336040516001600160e01b031960e085901b16815260048101929092526001600160a01b0316602482015260440160006040518083038186803b1580156109c457600080fd5b505afa1580156109d8573d6000803e3d6000fd5b5050505050565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615610a1757610a1283610c7c565b505050565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610a71575060408051601f3d908101601f19168201909252610a6e9181019061166b565b60015b610ad45760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b60648201526084016102ac565b6000805160206116b48339815191528114610b435760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b60648201526084016102ac565b50610a12838383610d18565b80516000907f8a83ead3d4d0c829756fe801a3fae053541cc4d87638149a8d5dc1cbbb7bc84e6001600160e01b03198216638a83ead360e01b14610bba5760405163dc5b665760e01b81526001600160e01b03198084166004830152821660248201526044016102ac565b8360200151806020019051810190610bd2919061166b565b949350505050565b600054610100900460ff16610c455760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016102ac565b565b60006001600160e01b0319821663ec21896d60e01b148061025e57506301ffc9a760e01b6001600160e01b031983161461025e565b6001600160a01b0381163b610ce95760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016102ac565b6000805160206116b483398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b610d2183610d43565b600082511180610d2e5750805b15610a1257610d3d8383610d83565b50505050565b610d4c81610c7c565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606001600160a01b0383163b610deb5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b60648201526084016102ac565b600080846001600160a01b031684604051610e069190611684565b600060405180830381855af49150503d8060008114610e41576040519150601f19603f3d011682016040523d82523d6000602084013e610e46565b606091505b5091509150610e6e82826040518060600160405280602781526020016116d460279139610e77565b95945050505050565b60608315610e86575081610eb0565b825115610e965782518084602001fd5b8160405162461bcd60e51b81526004016102ac91906116a0565b9392505050565b6001600160e01b03198116811461034957600080fd5b600060208284031215610edf57600080fd5b8135610eb081610eb7565b6001600160a01b038116811461034957600080fd5b8035610f0a81610eea565b919050565b600060208284031215610f2157600080fd5b8135610eb081610eea565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff81118282101715610f6557610f65610f2c565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715610f9457610f94610f2c565b604052919050565b600067ffffffffffffffff821115610fb657610fb6610f2c565b50601f01601f191660200190565b600082601f830112610fd557600080fd5b8135610fe8610fe382610f9c565b610f6b565b818152846020838601011115610ffd57600080fd5b816020850160208301376000918101602001919091529392505050565b6000806040838503121561102d57600080fd5b823561103881610eea565b9150602083013567ffffffffffffffff81111561105457600080fd5b61106085828601610fc4565b9150509250929050565b60006040828403121561107c57600080fd5b611084610f42565b9050813561109181610eb7565b8152602082013567ffffffffffffffff8111156110ad57600080fd5b6110b984828501610fc4565b60208301525092915050565b6000602082840312156110d757600080fd5b813567ffffffffffffffff8111156110ee57600080fd5b610bd28482850161106a565b60006040828403121561110c57600080fd5b50919050565b60006040828403121561112457600080fd5b610eb083836110fa565b600080600083850360a081121561114457600080fd5b606081121561115257600080fd5b50839250606084013567ffffffffffffffff8082111561117157600080fd5b61117d878388016110fa565b9350608086013591508082111561119357600080fd5b50840160e081870312156111a657600080fd5b809150509250925092565b60005b838110156111cc5781810151838201526020016111b4565b83811115610d3d5750506000910152565b600081518084526111f58160208601602086016111b1565b601f01601f19169290920160200192915050565b63ffffffff60e01b81511682526000602082015160406020850152610bd260408501826111dd565b86815285602082015284604082015283606082015260c06080820152600061125c60c0830185611209565b82810360a084015261126e8185611209565b9998505050505050505050565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b600061025e368361106a565b803563ffffffff81168114610f0a57600080fd5b60006020828403121561134557600080fd5b610eb08261131f565b634e487b7160e01b600052601160045260246000fd5b600081600019048311821515161561137e5761137e61134e565b500290565b60006020828403121561139557600080fd5b8151610eb081610eea565b6000602082840312156113b257600080fd5b8151610eb081610eb7565b60008235603e198336030181126113d357600080fd5b90910192915050565b600081356113e981610eb7565b6001600160e01b0319168352602082013536839003601e1901811261140d57600080fd5b8201803567ffffffffffffffff81111561142657600080fd5b80360384131561143557600080fd5b60406020860152806040860152806020830160608701376000606082870101526060601f19601f8301168601019250505092915050565b63ffffffff60e01b8451168152602084015160208201526000604085015160018060a01b03808216604085015260a06060850152853560a0850152602086013591506114b782610eea565b90811660c08401526040850135906114ce82610eea565b1660e08301526114e06060850161131f565b63ffffffff166101008301526114f860808501610eff565b6001600160a01b031661012083015260a084013561014083015261151f60c08501856113bd565b60e06101608401526115356101808401826113dc565b915050826080830152949350505050565b60006040828403121561155857600080fd5b611560610f42565b9050815161156d81610eb7565b8152602082015167ffffffffffffffff81111561158957600080fd5b8201601f8101841361159a57600080fd5b80516115a8610fe382610f9c565b8181528560208385010111156115bd57600080fd5b6115ce8260208301602086016111b1565b602084015250909392505050565b600080600080608085870312156115f257600080fd5b8451935060208501519250604085015167ffffffffffffffff8082111561161857600080fd5b61162488838901611546565b9350606087015191508082111561163a57600080fd5b5061164787828801611546565b91505092959194509250565b600082198211156116665761166661134e565b500190565b60006020828403121561167d57600080fd5b5051919050565b600082516116968184602087016111b1565b9190910192915050565b602081526000610eb060208301846111dd56fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220741ce0cb03c1766a17b800d1c1f46ed23b4b3313e4432c144d60786648984c6564736f6c634300080d0033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
