{
  "_format": "hh-sol-artifact-1",
  "contractName": "FixedRateTaxController",
  "sourceName": "contracts/tax/tax-strategies/fixed-rate/FixedRateTaxController.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": "TaxStrategyMismatch",
      "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": "bytes4",
              "name": "taxStrategyId",
              "type": "bytes4"
            },
            {
              "internalType": "uint256",
              "name": "universeId",
              "type": "uint256"
            },
            {
              "internalType": "address",
              "name": "warperAddress",
              "type": "address"
            }
          ],
          "internalType": "struct ITaxTermsRegistry.Params",
          "name": "taxTermsParams",
          "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": "",
          "type": "tuple"
        },
        {
          "internalType": "uint256",
          "name": "taxableAmount",
          "type": "uint256"
        }
      ],
      "name": "calculateRentalTax",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "universeBaseTax",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "protocolBaseTax",
          "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 ITaxTermsRegistry.TaxTerms",
          "name": "terms",
          "type": "tuple"
        }
      ],
      "name": "decodeStrategyParams",
      "outputs": [
        {
          "internalType": "uint16",
          "name": "baseTaxRate",
          "type": "uint16"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "inputs": [
        {
          "components": [
            {
              "internalType": "contract IACL",
              "name": "acl",
              "type": "address"
            },
            {
              "internalType": "contract IMetahub",
              "name": "metahub",
              "type": "address"
            }
          ],
          "internalType": "struct FixedRateTaxController.FixedRateTaxControllerInitParams",
          "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": "0x60a06040523060805234801561001457600080fd5b50600054610100900460ff16158080156100355750600054600160ff909116105b80610060575061004e3061013660201b6108321760201c565b158015610060575060005460ff166001145b6100c75760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840160405180910390fd5b6000805460ff1916600117905580156100ea576000805461ff0019166101001790555b8015610130576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50610145565b6001600160a01b03163b151590565b60805161140d61017c6000396000818161026c015281816102b501528181610354015281816103940152610427015261140d6000f3fe6080604052600436106100915760003560e01c806359aa1db31161005957806359aa1db31461016b5780636ed93dd01461019e578063b6a597dd146101b4578063d4606269146101d4578063ec21896d1461020457600080fd5b806301ffc9a7146100965780633659cfe6146100cb578063492f4e18146100ed5780634f1ef2861461013557806352d1902d14610148575b600080fd5b3480156100a257600080fd5b506100b66100b1366004610dd1565b610237565b60405190151581526020015b60405180910390f35b3480156100d757600080fd5b506100eb6100e6366004610e03565b610262565b005b3480156100f957600080fd5b507fee19df4431adeb51b71ec0c289647382c94c93f82f24fe8e1ca657f9f045b3a15b6040516001600160e01b031990911681526020016100c2565b6100eb610143366004610f0e565b61034a565b34801561015457600080fd5b5061015d61041a565b6040519081526020016100c2565b34801561017757600080fd5b5061018b610186366004610f5e565b6104cd565b60405161ffff90911681526020016100c2565b3480156101aa57600080fd5b5061018b61271081565b3480156101c057600080fd5b506100eb6101cf366004610fde565b6104d8565b3480156101e057600080fd5b506101f46101ef366004610ff6565b610646565b6040516100c294939291906110db565b34801561021057600080fd5b507fb090982aa2604833f33691b4940cb039a82e456070be3119fffd115d31a6956761011c565b60006001600160e01b031982166359aa1db360e01b148061025c575061025c82610841565b92915050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036102b35760405162461bcd60e51b81526004016102aa90611117565b60405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166102fc600080516020611391833981519152546001600160a01b031690565b6001600160a01b0316146103225760405162461bcd60e51b81526004016102aa90611163565b61032b81610866565b60408051600080825260208201909252610347918391906108e3565b50565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036103925760405162461bcd60e51b81526004016102aa90611117565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166103db600080516020611391833981519152546001600160a01b031690565b6001600160a01b0316146104015760405162461bcd60e51b81526004016102aa90611163565b61040a82610866565b610416828260016108e3565b5050565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104ba5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016102aa565b5060008051602061139183398151915290565b600061025c82610a53565b600054610100900460ff16158080156104f85750600054600160ff909116105b806105125750303b158015610512575060005460ff166001145b6105755760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016102aa565b6000805460ff191660011790558015610598576000805461ff0019166101001790555b6105a0610ade565b6105ad6020830183610e03565b609880546001600160a01b0319166001600160a01b03929092169190911790556105dd6040830160208401610e03565b606580546001600160a01b0319166001600160a01b03929092169190911790558015610416576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b6040805180820190915260008082526060602083015290819060408051808201909152600081526060602082015260655460405163e3dedd6b60e01b815263341871c160e01b60048201526000916001600160a01b03169063e3dedd6b90602401602060405180830381865afa1580156106c4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106e891906111af565b60405163fa77f7b160e01b81529091506001600160a01b0382169063fa77f7b190610717908b906004016111cc565b600060405180830381865afa158015610734573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261075c9190810190611217565b604051630adf772b60e31b81529093506001600160a01b038216906356fbb9589061078b908b906004016111cc565b600060405180830381865afa1580156107a8573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526107d09190810190611217565b915060006107dd84610a53565b905060006107ea84610a53565b90506127106107fd61ffff84168a6112d5565b6108079190611302565b965061271061081a61ffff83168a6112d5565b6108249190611302565b955050505093509350935093565b6001600160a01b03163b151590565b60006001600160e01b03198216639d4f2c7160e01b148061025c575061025c82610b4b565b6098546001600160a01b03166001600160a01b03166312d9a6ad6000336040516001600160e01b031960e085901b16815260048101929092526001600160a01b0316602482015260440160006040518083038186803b1580156108c857600080fd5b505afa1580156108dc573d6000803e3d6000fd5b5050505050565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161561091b5761091683610b80565b505050565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610975575060408051601f3d908101601f1916820190925261097291810190611324565b60015b6109d85760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b60648201526084016102aa565b6000805160206113918339815191528114610a475760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b60648201526084016102aa565b50610916838383610c1c565b80516000907fee19df4431adeb51b71ec0c289647382c94c93f82f24fe8e1ca657f9f045b3a16001600160e01b03198216633b8677d160e21b14610abe5760405163bdf170b760e01b81526001600160e01b03198084166004830152821660248201526044016102aa565b8360200151806020019051810190610ad6919061133d565b949350505050565b600054610100900460ff16610b495760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016102aa565b565b60006001600160e01b0319821663ec21896d60e01b148061025c57506301ffc9a760e01b6001600160e01b031983161461025c565b6001600160a01b0381163b610bed5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016102aa565b60008051602061139183398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b610c2583610c47565b600082511180610c325750805b1561091657610c418383610c87565b50505050565b610c5081610b80565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606001600160a01b0383163b610cef5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b60648201526084016102aa565b600080846001600160a01b031684604051610d0a9190611361565b600060405180830381855af49150503d8060008114610d45576040519150601f19603f3d011682016040523d82523d6000602084013e610d4a565b606091505b5091509150610d7282826040518060600160405280602781526020016113b160279139610d7b565b95945050505050565b60608315610d8a575081610db4565b825115610d9a5782518084602001fd5b8160405162461bcd60e51b81526004016102aa919061137d565b9392505050565b6001600160e01b03198116811461034757600080fd5b600060208284031215610de357600080fd5b8135610db481610dbb565b6001600160a01b038116811461034757600080fd5b600060208284031215610e1557600080fd5b8135610db481610dee565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff81118282101715610e5957610e59610e20565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715610e8857610e88610e20565b604052919050565b600067ffffffffffffffff821115610eaa57610eaa610e20565b50601f01601f191660200190565b600082601f830112610ec957600080fd5b8135610edc610ed782610e90565b610e5f565b818152846020838601011115610ef157600080fd5b816020850160208301376000918101602001919091529392505050565b60008060408385031215610f2157600080fd5b8235610f2c81610dee565b9150602083013567ffffffffffffffff811115610f4857600080fd5b610f5485828601610eb8565b9150509250929050565b600060208284031215610f7057600080fd5b813567ffffffffffffffff80821115610f8857600080fd5b9083019060408286031215610f9c57600080fd5b610fa4610e36565b8235610faf81610dbb565b8152602083013582811115610fc357600080fd5b610fcf87828601610eb8565b60208301525095945050505050565b600060408284031215610ff057600080fd5b50919050565b600080600083850360a081121561100c57600080fd5b606081121561101a57600080fd5b50839250606084013567ffffffffffffffff81111561103857600080fd5b840160e0818703121561104a57600080fd5b929592945050506080919091013590565b60005b8381101561107657818101518382015260200161105e565b83811115610c415750506000910152565b6000815180845261109f81602086016020860161105b565b601f01601f19169290920160200192915050565b63ffffffff60e01b81511682526000602082015160406020850152610ad66040850182611087565b8481528360208201526080604082015260006110fa60808301856110b3565b828103606084015261110c81856110b3565b979650505050505050565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b6000602082840312156111c157600080fd5b8151610db481610dee565b6060810182356111db81610dbb565b6001600160e01b03191682526020838101359083015260408301356111ff81610dee565b6001600160a01b031660409290920191909152919050565b6000602080838503121561122a57600080fd5b825167ffffffffffffffff8082111561124257600080fd5b908401906040828703121561125657600080fd5b61125e610e36565b825161126981610dbb565b8152828401518281111561127c57600080fd5b80840193505086601f84011261129157600080fd5b825191506112a1610ed783610e90565b82815287858486010111156112b557600080fd5b6112c48386830187870161105b565b938101939093525090949350505050565b60008160001904831182151516156112fd57634e487b7160e01b600052601160045260246000fd5b500290565b60008261131f57634e487b7160e01b600052601260045260246000fd5b500490565b60006020828403121561133657600080fd5b5051919050565b60006020828403121561134f57600080fd5b815161ffff81168114610db457600080fd5b6000825161137381846020870161105b565b9190910192915050565b602081526000610db4602083018461108756fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220a36cb255e579073de5c661c6d7ff60ed26587f2e6a42dc064f4038f6194201fc64736f6c634300080d0033",
  "deployedBytecode": "0x6080604052600436106100915760003560e01c806359aa1db31161005957806359aa1db31461016b5780636ed93dd01461019e578063b6a597dd146101b4578063d4606269146101d4578063ec21896d1461020457600080fd5b806301ffc9a7146100965780633659cfe6146100cb578063492f4e18146100ed5780634f1ef2861461013557806352d1902d14610148575b600080fd5b3480156100a257600080fd5b506100b66100b1366004610dd1565b610237565b60405190151581526020015b60405180910390f35b3480156100d757600080fd5b506100eb6100e6366004610e03565b610262565b005b3480156100f957600080fd5b507fee19df4431adeb51b71ec0c289647382c94c93f82f24fe8e1ca657f9f045b3a15b6040516001600160e01b031990911681526020016100c2565b6100eb610143366004610f0e565b61034a565b34801561015457600080fd5b5061015d61041a565b6040519081526020016100c2565b34801561017757600080fd5b5061018b610186366004610f5e565b6104cd565b60405161ffff90911681526020016100c2565b3480156101aa57600080fd5b5061018b61271081565b3480156101c057600080fd5b506100eb6101cf366004610fde565b6104d8565b3480156101e057600080fd5b506101f46101ef366004610ff6565b610646565b6040516100c294939291906110db565b34801561021057600080fd5b507fb090982aa2604833f33691b4940cb039a82e456070be3119fffd115d31a6956761011c565b60006001600160e01b031982166359aa1db360e01b148061025c575061025c82610841565b92915050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036102b35760405162461bcd60e51b81526004016102aa90611117565b60405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166102fc600080516020611391833981519152546001600160a01b031690565b6001600160a01b0316146103225760405162461bcd60e51b81526004016102aa90611163565b61032b81610866565b60408051600080825260208201909252610347918391906108e3565b50565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036103925760405162461bcd60e51b81526004016102aa90611117565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166103db600080516020611391833981519152546001600160a01b031690565b6001600160a01b0316146104015760405162461bcd60e51b81526004016102aa90611163565b61040a82610866565b610416828260016108e3565b5050565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104ba5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016102aa565b5060008051602061139183398151915290565b600061025c82610a53565b600054610100900460ff16158080156104f85750600054600160ff909116105b806105125750303b158015610512575060005460ff166001145b6105755760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016102aa565b6000805460ff191660011790558015610598576000805461ff0019166101001790555b6105a0610ade565b6105ad6020830183610e03565b609880546001600160a01b0319166001600160a01b03929092169190911790556105dd6040830160208401610e03565b606580546001600160a01b0319166001600160a01b03929092169190911790558015610416576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b6040805180820190915260008082526060602083015290819060408051808201909152600081526060602082015260655460405163e3dedd6b60e01b815263341871c160e01b60048201526000916001600160a01b03169063e3dedd6b90602401602060405180830381865afa1580156106c4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106e891906111af565b60405163fa77f7b160e01b81529091506001600160a01b0382169063fa77f7b190610717908b906004016111cc565b600060405180830381865afa158015610734573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261075c9190810190611217565b604051630adf772b60e31b81529093506001600160a01b038216906356fbb9589061078b908b906004016111cc565b600060405180830381865afa1580156107a8573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526107d09190810190611217565b915060006107dd84610a53565b905060006107ea84610a53565b90506127106107fd61ffff84168a6112d5565b6108079190611302565b965061271061081a61ffff83168a6112d5565b6108249190611302565b955050505093509350935093565b6001600160a01b03163b151590565b60006001600160e01b03198216639d4f2c7160e01b148061025c575061025c82610b4b565b6098546001600160a01b03166001600160a01b03166312d9a6ad6000336040516001600160e01b031960e085901b16815260048101929092526001600160a01b0316602482015260440160006040518083038186803b1580156108c857600080fd5b505afa1580156108dc573d6000803e3d6000fd5b5050505050565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161561091b5761091683610b80565b505050565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610975575060408051601f3d908101601f1916820190925261097291810190611324565b60015b6109d85760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b60648201526084016102aa565b6000805160206113918339815191528114610a475760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b60648201526084016102aa565b50610916838383610c1c565b80516000907fee19df4431adeb51b71ec0c289647382c94c93f82f24fe8e1ca657f9f045b3a16001600160e01b03198216633b8677d160e21b14610abe5760405163bdf170b760e01b81526001600160e01b03198084166004830152821660248201526044016102aa565b8360200151806020019051810190610ad6919061133d565b949350505050565b600054610100900460ff16610b495760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016102aa565b565b60006001600160e01b0319821663ec21896d60e01b148061025c57506301ffc9a760e01b6001600160e01b031983161461025c565b6001600160a01b0381163b610bed5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016102aa565b60008051602061139183398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b610c2583610c47565b600082511180610c325750805b1561091657610c418383610c87565b50505050565b610c5081610b80565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606001600160a01b0383163b610cef5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b60648201526084016102aa565b600080846001600160a01b031684604051610d0a9190611361565b600060405180830381855af49150503d8060008114610d45576040519150601f19603f3d011682016040523d82523d6000602084013e610d4a565b606091505b5091509150610d7282826040518060600160405280602781526020016113b160279139610d7b565b95945050505050565b60608315610d8a575081610db4565b825115610d9a5782518084602001fd5b8160405162461bcd60e51b81526004016102aa919061137d565b9392505050565b6001600160e01b03198116811461034757600080fd5b600060208284031215610de357600080fd5b8135610db481610dbb565b6001600160a01b038116811461034757600080fd5b600060208284031215610e1557600080fd5b8135610db481610dee565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff81118282101715610e5957610e59610e20565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715610e8857610e88610e20565b604052919050565b600067ffffffffffffffff821115610eaa57610eaa610e20565b50601f01601f191660200190565b600082601f830112610ec957600080fd5b8135610edc610ed782610e90565b610e5f565b818152846020838601011115610ef157600080fd5b816020850160208301376000918101602001919091529392505050565b60008060408385031215610f2157600080fd5b8235610f2c81610dee565b9150602083013567ffffffffffffffff811115610f4857600080fd5b610f5485828601610eb8565b9150509250929050565b600060208284031215610f7057600080fd5b813567ffffffffffffffff80821115610f8857600080fd5b9083019060408286031215610f9c57600080fd5b610fa4610e36565b8235610faf81610dbb565b8152602083013582811115610fc357600080fd5b610fcf87828601610eb8565b60208301525095945050505050565b600060408284031215610ff057600080fd5b50919050565b600080600083850360a081121561100c57600080fd5b606081121561101a57600080fd5b50839250606084013567ffffffffffffffff81111561103857600080fd5b840160e0818703121561104a57600080fd5b929592945050506080919091013590565b60005b8381101561107657818101518382015260200161105e565b83811115610c415750506000910152565b6000815180845261109f81602086016020860161105b565b601f01601f19169290920160200192915050565b63ffffffff60e01b81511682526000602082015160406020850152610ad66040850182611087565b8481528360208201526080604082015260006110fa60808301856110b3565b828103606084015261110c81856110b3565b979650505050505050565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b6000602082840312156111c157600080fd5b8151610db481610dee565b6060810182356111db81610dbb565b6001600160e01b03191682526020838101359083015260408301356111ff81610dee565b6001600160a01b031660409290920191909152919050565b6000602080838503121561122a57600080fd5b825167ffffffffffffffff8082111561124257600080fd5b908401906040828703121561125657600080fd5b61125e610e36565b825161126981610dbb565b8152828401518281111561127c57600080fd5b80840193505086601f84011261129157600080fd5b825191506112a1610ed783610e90565b82815287858486010111156112b557600080fd5b6112c48386830187870161105b565b938101939093525090949350505050565b60008160001904831182151516156112fd57634e487b7160e01b600052601160045260246000fd5b500290565b60008261131f57634e487b7160e01b600052601260045260246000fd5b500490565b60006020828403121561133657600080fd5b5051919050565b60006020828403121561134f57600080fd5b815161ffff81168114610db457600080fd5b6000825161137381846020870161105b565b9190910192915050565b602081526000610db4602083018461108756fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220a36cb255e579073de5c661c6d7ff60ed26587f2e6a42dc064f4038f6194201fc64736f6c634300080d0033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
