{
  "chainId": 763373,
  "rpc": "https://rpc-gel-sepolia.inkonchain.com",
  "explorer": "https://explorer-sepolia.inkonchain.com",
  "owner": "0x30baBF8E48766bb5E51C55cf4895536eb72b2c5B",
  "dev": "0x30baBF8E48766bb5E51C55cf4895536eb72b2c5B",
  "contracts": {
    "SepoliaMockUSDG": {
      "abi": [
        {
          "inputs": [],
          "stateMutability": "nonpayable",
          "type": "constructor"
        },
        {
          "inputs": [
            {
              "internalType": "address",
              "name": "spender",
              "type": "address"
            },
            {
              "internalType": "uint256",
              "name": "allowance",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "needed",
              "type": "uint256"
            }
          ],
          "name": "ERC20InsufficientAllowance",
          "type": "error"
        },
        {
          "inputs": [
            {
              "internalType": "address",
              "name": "sender",
              "type": "address"
            },
            {
              "internalType": "uint256",
              "name": "balance",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "needed",
              "type": "uint256"
            }
          ],
          "name": "ERC20InsufficientBalance",
          "type": "error"
        },
        {
          "inputs": [
            {
              "internalType": "address",
              "name": "approver",
              "type": "address"
            }
          ],
          "name": "ERC20InvalidApprover",
          "type": "error"
        },
        {
          "inputs": [
            {
              "internalType": "address",
              "name": "receiver",
              "type": "address"
            }
          ],
          "name": "ERC20InvalidReceiver",
          "type": "error"
        },
        {
          "inputs": [
            {
              "internalType": "address",
              "name": "sender",
              "type": "address"
            }
          ],
          "name": "ERC20InvalidSender",
          "type": "error"
        },
        {
          "inputs": [
            {
              "internalType": "address",
              "name": "spender",
              "type": "address"
            }
          ],
          "name": "ERC20InvalidSpender",
          "type": "error"
        },
        {
          "anonymous": false,
          "inputs": [
            {
              "indexed": true,
              "internalType": "address",
              "name": "owner",
              "type": "address"
            },
            {
              "indexed": true,
              "internalType": "address",
              "name": "spender",
              "type": "address"
            },
            {
              "indexed": false,
              "internalType": "uint256",
              "name": "value",
              "type": "uint256"
            }
          ],
          "name": "Approval",
          "type": "event"
        },
        {
          "anonymous": false,
          "inputs": [
            {
              "indexed": true,
              "internalType": "address",
              "name": "from",
              "type": "address"
            },
            {
              "indexed": true,
              "internalType": "address",
              "name": "to",
              "type": "address"
            },
            {
              "indexed": false,
              "internalType": "uint256",
              "name": "value",
              "type": "uint256"
            }
          ],
          "name": "Transfer",
          "type": "event"
        },
        {
          "inputs": [
            {
              "internalType": "address",
              "name": "owner",
              "type": "address"
            },
            {
              "internalType": "address",
              "name": "spender",
              "type": "address"
            }
          ],
          "name": "allowance",
          "outputs": [
            {
              "internalType": "uint256",
              "name": "",
              "type": "uint256"
            }
          ],
          "stateMutability": "view",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "address",
              "name": "spender",
              "type": "address"
            },
            {
              "internalType": "uint256",
              "name": "value",
              "type": "uint256"
            }
          ],
          "name": "approve",
          "outputs": [
            {
              "internalType": "bool",
              "name": "",
              "type": "bool"
            }
          ],
          "stateMutability": "nonpayable",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "address",
              "name": "account",
              "type": "address"
            }
          ],
          "name": "balanceOf",
          "outputs": [
            {
              "internalType": "uint256",
              "name": "",
              "type": "uint256"
            }
          ],
          "stateMutability": "view",
          "type": "function"
        },
        {
          "inputs": [],
          "name": "decimals",
          "outputs": [
            {
              "internalType": "uint8",
              "name": "",
              "type": "uint8"
            }
          ],
          "stateMutability": "pure",
          "type": "function"
        },
        {
          "inputs": [],
          "name": "faucet",
          "outputs": [],
          "stateMutability": "nonpayable",
          "type": "function"
        },
        {
          "inputs": [],
          "name": "name",
          "outputs": [
            {
              "internalType": "string",
              "name": "",
              "type": "string"
            }
          ],
          "stateMutability": "view",
          "type": "function"
        },
        {
          "inputs": [],
          "name": "symbol",
          "outputs": [
            {
              "internalType": "string",
              "name": "",
              "type": "string"
            }
          ],
          "stateMutability": "view",
          "type": "function"
        },
        {
          "inputs": [],
          "name": "totalSupply",
          "outputs": [
            {
              "internalType": "uint256",
              "name": "",
              "type": "uint256"
            }
          ],
          "stateMutability": "view",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "address",
              "name": "to",
              "type": "address"
            },
            {
              "internalType": "uint256",
              "name": "value",
              "type": "uint256"
            }
          ],
          "name": "transfer",
          "outputs": [
            {
              "internalType": "bool",
              "name": "",
              "type": "bool"
            }
          ],
          "stateMutability": "nonpayable",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "address",
              "name": "from",
              "type": "address"
            },
            {
              "internalType": "address",
              "name": "to",
              "type": "address"
            },
            {
              "internalType": "uint256",
              "name": "value",
              "type": "uint256"
            }
          ],
          "name": "transferFrom",
          "outputs": [
            {
              "internalType": "bool",
              "name": "",
              "type": "bool"
            }
          ],
          "stateMutability": "nonpayable",
          "type": "function"
        }
      ],
      "bytecode": "0x60806040523461037f57604080519081016001600160401b03811182821017610292576040908152601982527f51554f4d424f54524f4e2054455354204f4e4c59205553444700000000000000602083015280519081016001600160401b03811182821017610292576040526005815264745553444760d81b602082015281516001600160401b03811161029257600354600181811c91168015610375575b602082101461027457601f8111610312575b50602092601f82116001146102b157928192935f926102a6575b50508160011b915f199060031b1c1916176003555b80516001600160401b03811161029257600454600181811c91168015610288575b602082101461027457601f8111610211575b50602091601f82116001146101b1579181925f926101a6575b50508160011b915f199060031b1c1916176004555b620ba5ed4614801561019b575b156101615760405161069b90816103848239f35b60405162461bcd60e51b815260206004820152601260248201527174657374206e6574776f726b73206f6e6c7960701b6044820152606490fd5b50617a69461461014d565b015190505f8061012b565b601f1982169260045f52805f20915f5b8581106101f9575083600195106101e1575b505050811b01600455610140565b01515f1960f88460031b161c191690555f80806101d3565b919260206001819286850151815501940192016101c1565b60045f527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b601f830160051c8101916020841061026a575b601f0160051c01905b81811061025f5750610112565b5f8155600101610252565b9091508190610249565b634e487b7160e01b5f52602260045260245ffd5b90607f1690610100565b634e487b7160e01b5f52604160045260245ffd5b015190505f806100ca565b601f1982169360035f52805f20915f5b8681106102fa57508360019596106102e2575b505050811b016003556100df565b01515f1960f88460031b161c191690555f80806102d4565b919260206001819286850151815501940192016102c1565b60035f527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b601f830160051c8101916020841061036b575b601f0160051c01905b81811061036057506100b0565b5f8155600101610353565b909150819061034a565b90607f169061009e565b5f80fdfe6080806040526004361015610012575f80fd5b5f3560e01c90816306fdde031461049657508063095ea7b31461041457806318160ddd146103f757806323b872dd14610318578063313ce567146102fd57806370a08231146102c657806395d89b41146101ab578063a9059cbb1461017a578063dd62ed3e1461012a5763de5f72fd1461008a575f80fd5b34610126575f366003190112610126573315610113576002546402540be40081018091116100ff57600255335f525f60205260405f206402540be40081540190556040516402540be40081525f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60203393a3005b634e487b7160e01b5f52601160045260245ffd5b63ec442f0560e01b5f525f60045260245ffd5b5f80fd5b346101265760403660031901126101265761014361058f565b61014b6105a5565b6001600160a01b039182165f908152600160209081526040808320949093168252928352819020549051908152f35b34610126576040366003190112610126576101a061019661058f565b60243590336105bb565b602060405160018152f35b34610126575f366003190112610126576040515f6004548060011c906001811680156102bc575b6020831081146102a85782855290811561028c5750600114610237575b50819003601f01601f191681019067ffffffffffffffff8211818310176102235761021f82918260405282610565565b0390f35b634e487b7160e01b5f52604160045260245ffd5b905060045f527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5f905b828210610276575060209150820101826101ef565b6001816020925483858801015201910190610261565b90506020925060ff191682840152151560051b820101826101ef565b634e487b7160e01b5f52602260045260245ffd5b91607f16916101d2565b34610126576020366003190112610126576001600160a01b036102e761058f565b165f525f602052602060405f2054604051908152f35b34610126575f36600319011261012657602060405160068152f35b346101265760603660031901126101265761033161058f565b6103396105a5565b6001600160a01b0382165f818152600160209081526040808320338452909152902054909260443592915f198110610377575b506101a093506105bb565b8381106103dc5784156103c95733156103b6576101a0945f52600160205260405f2060018060a01b0333165f526020528360405f20910390558461036c565b634a1406b160e11b5f525f60045260245ffd5b63e602df0560e01b5f525f60045260245ffd5b8390637dc7a0d960e11b5f523360045260245260445260645ffd5b34610126575f366003190112610126576020600254604051908152f35b346101265760403660031901126101265761042d61058f565b6024359033156103c9576001600160a01b03169081156103b657335f52600160205260405f20825f526020528060405f20556040519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560203392a3602060405160018152f35b34610126575f366003190112610126575f6003548060011c9060018116801561055b575b6020831081146102a85782855290811561028c57506001146105065750819003601f01601f191681019067ffffffffffffffff8211818310176102235761021f82918260405282610565565b905060035f527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5f905b828210610545575060209150820101826101ef565b6001816020925483858801015201910190610530565b91607f16916104ba565b602060409281835280519182918282860152018484015e5f828201840152601f01601f1916010190565b600435906001600160a01b038216820361012657565b602435906001600160a01b038216820361012657565b6001600160a01b0316908115610652576001600160a01b031691821561011357815f525f60205260405f205481811061063957817fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92602092855f525f84520360405f2055845f525f825260405f20818154019055604051908152a3565b8263391434e360e21b5f5260045260245260445260645ffd5b634b637e8f60e11b5f525f60045260245ffdfea2646970667358221220af84e5866f516bd93cc84c8261c58a7a92b29e62c3814c8b68ae91041c33e59264736f6c634300081e0033"
    },
    "SepoliaTestWETH": {
      "abi": [
        {
          "inputs": [],
          "stateMutability": "nonpayable",
          "type": "constructor"
        },
        {
          "inputs": [
            {
              "internalType": "address",
              "name": "spender",
              "type": "address"
            },
            {
              "internalType": "uint256",
              "name": "allowance",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "needed",
              "type": "uint256"
            }
          ],
          "name": "ERC20InsufficientAllowance",
          "type": "error"
        },
        {
          "inputs": [
            {
              "internalType": "address",
              "name": "sender",
              "type": "address"
            },
            {
              "internalType": "uint256",
              "name": "balance",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "needed",
              "type": "uint256"
            }
          ],
          "name": "ERC20InsufficientBalance",
          "type": "error"
        },
        {
          "inputs": [
            {
              "internalType": "address",
              "name": "approver",
              "type": "address"
            }
          ],
          "name": "ERC20InvalidApprover",
          "type": "error"
        },
        {
          "inputs": [
            {
              "internalType": "address",
              "name": "receiver",
              "type": "address"
            }
          ],
          "name": "ERC20InvalidReceiver",
          "type": "error"
        },
        {
          "inputs": [
            {
              "internalType": "address",
              "name": "sender",
              "type": "address"
            }
          ],
          "name": "ERC20InvalidSender",
          "type": "error"
        },
        {
          "inputs": [
            {
              "internalType": "address",
              "name": "spender",
              "type": "address"
            }
          ],
          "name": "ERC20InvalidSpender",
          "type": "error"
        },
        {
          "anonymous": false,
          "inputs": [
            {
              "indexed": true,
              "internalType": "address",
              "name": "owner",
              "type": "address"
            },
            {
              "indexed": true,
              "internalType": "address",
              "name": "spender",
              "type": "address"
            },
            {
              "indexed": false,
              "internalType": "uint256",
              "name": "value",
              "type": "uint256"
            }
          ],
          "name": "Approval",
          "type": "event"
        },
        {
          "anonymous": false,
          "inputs": [
            {
              "indexed": true,
              "internalType": "address",
              "name": "from",
              "type": "address"
            },
            {
              "indexed": true,
              "internalType": "address",
              "name": "to",
              "type": "address"
            },
            {
              "indexed": false,
              "internalType": "uint256",
              "name": "value",
              "type": "uint256"
            }
          ],
          "name": "Transfer",
          "type": "event"
        },
        {
          "inputs": [
            {
              "internalType": "address",
              "name": "owner",
              "type": "address"
            },
            {
              "internalType": "address",
              "name": "spender",
              "type": "address"
            }
          ],
          "name": "allowance",
          "outputs": [
            {
              "internalType": "uint256",
              "name": "",
              "type": "uint256"
            }
          ],
          "stateMutability": "view",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "address",
              "name": "spender",
              "type": "address"
            },
            {
              "internalType": "uint256",
              "name": "value",
              "type": "uint256"
            }
          ],
          "name": "approve",
          "outputs": [
            {
              "internalType": "bool",
              "name": "",
              "type": "bool"
            }
          ],
          "stateMutability": "nonpayable",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "address",
              "name": "account",
              "type": "address"
            }
          ],
          "name": "balanceOf",
          "outputs": [
            {
              "internalType": "uint256",
              "name": "",
              "type": "uint256"
            }
          ],
          "stateMutability": "view",
          "type": "function"
        },
        {
          "inputs": [],
          "name": "decimals",
          "outputs": [
            {
              "internalType": "uint8",
              "name": "",
              "type": "uint8"
            }
          ],
          "stateMutability": "view",
          "type": "function"
        },
        {
          "inputs": [],
          "name": "deposit",
          "outputs": [],
          "stateMutability": "payable",
          "type": "function"
        },
        {
          "inputs": [],
          "name": "name",
          "outputs": [
            {
              "internalType": "string",
              "name": "",
              "type": "string"
            }
          ],
          "stateMutability": "view",
          "type": "function"
        },
        {
          "inputs": [],
          "name": "symbol",
          "outputs": [
            {
              "internalType": "string",
              "name": "",
              "type": "string"
            }
          ],
          "stateMutability": "view",
          "type": "function"
        },
        {
          "inputs": [],
          "name": "totalSupply",
          "outputs": [
            {
              "internalType": "uint256",
              "name": "",
              "type": "uint256"
            }
          ],
          "stateMutability": "view",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "address",
              "name": "to",
              "type": "address"
            },
            {
              "internalType": "uint256",
              "name": "value",
              "type": "uint256"
            }
          ],
          "name": "transfer",
          "outputs": [
            {
              "internalType": "bool",
              "name": "",
              "type": "bool"
            }
          ],
          "stateMutability": "nonpayable",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "address",
              "name": "from",
              "type": "address"
            },
            {
              "internalType": "address",
              "name": "to",
              "type": "address"
            },
            {
              "internalType": "uint256",
              "name": "value",
              "type": "uint256"
            }
          ],
          "name": "transferFrom",
          "outputs": [
            {
              "internalType": "bool",
              "name": "",
              "type": "bool"
            }
          ],
          "stateMutability": "nonpayable",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "uint256",
              "name": "amount",
              "type": "uint256"
            }
          ],
          "name": "withdraw",
          "outputs": [],
          "stateMutability": "nonpayable",
          "type": "function"
        }
      ],
      "bytecode": "0x60806040523461037f57604080519081016001600160401b03811182821017610292576040908152601982527f51554f4d424f54524f4e2054455354204f4e4c59205745544800000000000000602083015280519081016001600160401b038111828210176102925760405260058152640e8ae8aa8960db1b602082015281516001600160401b03811161029257600354600181811c91168015610375575b602082101461027457601f8111610312575b50602092601f82116001146102b157928192935f926102a6575b50508160011b915f199060031b1c1916176003555b80516001600160401b03811161029257600454600181811c91168015610288575b602082101461027457601f8111610211575b50602091601f82116001146101b1579181925f926101a6575b50508160011b915f199060031b1c1916176004555b620ba5ed4614801561019b575b15610161576040516107a490816103848239f35b60405162461bcd60e51b815260206004820152601260248201527174657374206e6574776f726b73206f6e6c7960701b6044820152606490fd5b50617a69461461014d565b015190505f8061012b565b601f1982169260045f52805f20915f5b8581106101f9575083600195106101e1575b505050811b01600455610140565b01515f1960f88460031b161c191690555f80806101d3565b919260206001819286850151815501940192016101c1565b60045f527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b601f830160051c8101916020841061026a575b601f0160051c01905b81811061025f5750610112565b5f8155600101610252565b9091508190610249565b634e487b7160e01b5f52602260045260245ffd5b90607f1690610100565b634e487b7160e01b5f52604160045260245ffd5b015190505f806100ca565b601f1982169360035f52805f20915f5b8681106102fa57508360019596106102e2575b505050811b016003556100df565b01515f1960f88460031b161c191690555f80806102d4565b919260206001819286850151815501940192016102c1565b60035f527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b601f830160051c8101916020841061036b575b601f0160051c01905b81811061036057506100b0565b5f8155600101610353565b909150819061034a565b90607f169061009e565b5f80fdfe6080806040526004361015610012575f80fd5b5f3560e01c90816306fdde03146105a757508063095ea7b31461052557806318160ddd1461050857806323b872dd146104295780632e1a7d4d146102f8578063313ce567146102dd57806370a08231146102a657806395d89b41146101a2578063a9059cbb14610171578063d0e30db0146100e95763dd62ed3e14610095575f80fd5b346100e55760403660031901126100e5576100ae610689565b6100b661069f565b6001600160a01b039182165f908152600160209081526040808320949093168252928352819020549051908152f35b5f80fd5b5f3660031901126100e557331561015e5760025434810180911161014a57600255335f525f60205260405f203481540190556040513481525f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60203393a3005b634e487b7160e01b5f52601160045260245ffd5b63ec442f0560e01b5f525f60045260245ffd5b346100e55760403660031901126100e55761019761018d610689565b60243590336106d7565b602060405160018152f35b346100e5575f3660031901126100e5576040515f6004548060011c9060018116801561029c575b602083108114610288578285529081156102645750600114610206575b610202836101f6818503826106b5565b6040519182918261065f565b0390f35b91905060045f527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b915f905b80821061024a575090915081016020016101f66101e6565b919260018160209254838588010152019101909291610232565b60ff191660208086019190915291151560051b840190910191506101f690506101e6565b634e487b7160e01b5f52602260045260245ffd5b91607f16916101c9565b346100e55760203660031901126100e5576001600160a01b036102c7610689565b165f525f602052602060405f2054604051908152f35b346100e5575f3660031901126100e557602060405160128152f35b346100e55760203660031901126100e557600435331561041657335f525f60205260405f20548181106103fd575f808381948294338452836020520360408320558060025403600255816040518281527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60203392a3335af13d156103f8573d67ffffffffffffffff81116103e4576040519061039f601f8201601f1916602001836106b5565b81525f60203d92013e5b156103b057005b60405162461bcd60e51b815260206004820152600c60248201526b4554482064656c697665727960a01b6044820152606490fd5b634e487b7160e01b5f52604160045260245ffd5b6103a9565b63391434e360e21b5f523360045260245260445260645ffd5b634b637e8f60e11b5f525f60045260245ffd5b346100e55760603660031901126100e557610442610689565b61044a61069f565b6001600160a01b0382165f818152600160209081526040808320338452909152902054909260443592915f198110610488575b5061019793506106d7565b8381106104ed5784156104da5733156104c757610197945f52600160205260405f2060018060a01b0333165f526020528360405f20910390558461047d565b634a1406b160e11b5f525f60045260245ffd5b63e602df0560e01b5f525f60045260245ffd5b8390637dc7a0d960e11b5f523360045260245260445260645ffd5b346100e5575f3660031901126100e5576020600254604051908152f35b346100e55760403660031901126100e55761053e610689565b6024359033156104da576001600160a01b03169081156104c757335f52600160205260405f20825f526020528060405f20556040519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560203392a3602060405160018152f35b346100e5575f3660031901126100e5575f6003548060011c90600181168015610655575b6020831081146102885782855290811561026457506001146105f757610202836101f6818503826106b5565b91905060035f527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b915f905b80821061063b575090915081016020016101f66101e6565b919260018160209254838588010152019101909291610623565b91607f16916105cb565b602060409281835280519182918282860152018484015e5f828201840152601f01601f1916010190565b600435906001600160a01b03821682036100e557565b602435906001600160a01b03821682036100e557565b90601f8019910116810190811067ffffffffffffffff8211176103e457604052565b6001600160a01b0316908115610416576001600160a01b031691821561015e57815f525f60205260405f205481811061075557817fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92602092855f525f84520360405f2055845f525f825260405f20818154019055604051908152a3565b8263391434e360e21b5f5260045260245260445260645ffdfea264697066735822122070812a00f36f84404f5eb1fb31a99999d607bf1b8f6924212c4b2e127ef22d5164736f6c634300081e0033"
    },
    "SepoliaTestPot": {
      "abi": [
        {
          "inputs": [
            {
              "internalType": "address",
              "name": "owner_",
              "type": "address"
            }
          ],
          "stateMutability": "nonpayable",
          "type": "constructor"
        },
        {
          "inputs": [
            {
              "internalType": "address",
              "name": "owner",
              "type": "address"
            }
          ],
          "name": "OwnableInvalidOwner",
          "type": "error"
        },
        {
          "inputs": [
            {
              "internalType": "address",
              "name": "account",
              "type": "address"
            }
          ],
          "name": "OwnableUnauthorizedAccount",
          "type": "error"
        },
        {
          "inputs": [
            {
              "internalType": "address",
              "name": "token",
              "type": "address"
            }
          ],
          "name": "SafeERC20FailedOperation",
          "type": "error"
        },
        {
          "anonymous": false,
          "inputs": [
            {
              "indexed": true,
              "internalType": "address",
              "name": "previousOwner",
              "type": "address"
            },
            {
              "indexed": true,
              "internalType": "address",
              "name": "newOwner",
              "type": "address"
            }
          ],
          "name": "OwnershipTransferred",
          "type": "event"
        },
        {
          "inputs": [],
          "name": "owner",
          "outputs": [
            {
              "internalType": "address",
              "name": "",
              "type": "address"
            }
          ],
          "stateMutability": "view",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "contract IERC20",
              "name": "token",
              "type": "address"
            },
            {
              "internalType": "uint256",
              "name": "amount",
              "type": "uint256"
            }
          ],
          "name": "recoverTestTokens",
          "outputs": [],
          "stateMutability": "nonpayable",
          "type": "function"
        },
        {
          "inputs": [],
          "name": "renounceOwnership",
          "outputs": [],
          "stateMutability": "nonpayable",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "address",
              "name": "newOwner",
              "type": "address"
            }
          ],
          "name": "transferOwnership",
          "outputs": [],
          "stateMutability": "nonpayable",
          "type": "function"
        }
      ],
      "bytecode": "0x60803461011457601f6103ac38819003918201601f19168301916001600160401b038311848410176101185780849260209460405283398101031261011457516001600160a01b03811690819003610114578015610101575f80546001600160a01b031981168317825560405192916001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09080a3620ba5ed461480156100f6575b156100bf5760405161027f908161012d8239f35b62461bcd60e51b815260206004820152601260248201527174657374206e6574776f726b73206f6e6c7960701b6044820152606490fd5b50617a6946146100ab565b631e4fbdf760e01b5f525f60045260245ffd5b5f80fd5b634e487b7160e01b5f52604160045260245ffdfe60806040526004361015610011575f80fd5b5f3560e01c80632ae4090d14610150578063715018a6146100f95780638da5cb5b146100d25763f2fde38b14610045575f80fd5b346100ce5760203660031901126100ce576004356001600160a01b038116908190036100ce57610073610223565b80156100bb575f80546001600160a01b03198116831782556001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09080a3005b631e4fbdf760e01b5f525f60045260245ffd5b5f80fd5b346100ce575f3660031901126100ce575f546040516001600160a01b039091168152602090f35b346100ce575f3660031901126100ce57610111610223565b5f80546001600160a01b0319811682556001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346100ce5760403660031901126100ce576004356001600160a01b038116908181036100ce5761017e610223565b60018060a01b035f54169060405190602082019263a9059cbb60e01b84526024830152602435604483015260448252608082019282841067ffffffffffffffff85111761020f575f809360209560405251925af115610204575f513d6101fb5750803b155b6101e957005b635274afe760e01b5f5260045260245ffd5b600114156101e3565b6040513d5f823e3d90fd5b634e487b7160e01b5f52604160045260245ffd5b5f546001600160a01b0316330361023657565b63118cdaa760e01b5f523360045260245ffdfea26469706673582212206d20745b3ca0385589d3bc5096c5ce8b3d7d753e2267f4b04247c3b067b176a864736f6c634300081e0033"
    },
    "SepoliaMockAdapter": {
      "abi": [
        {
          "inputs": [
            {
              "internalType": "address",
              "name": "owner_",
              "type": "address"
            },
            {
              "internalType": "contract IERC20",
              "name": "usdg_",
              "type": "address"
            },
            {
              "internalType": "contract SepoliaTestWETH",
              "name": "weth_",
              "type": "address"
            }
          ],
          "stateMutability": "nonpayable",
          "type": "constructor"
        },
        {
          "inputs": [
            {
              "internalType": "address",
              "name": "owner",
              "type": "address"
            }
          ],
          "name": "OwnableInvalidOwner",
          "type": "error"
        },
        {
          "inputs": [
            {
              "internalType": "address",
              "name": "account",
              "type": "address"
            }
          ],
          "name": "OwnableUnauthorizedAccount",
          "type": "error"
        },
        {
          "inputs": [
            {
              "internalType": "address",
              "name": "token",
              "type": "address"
            }
          ],
          "name": "SafeERC20FailedOperation",
          "type": "error"
        },
        {
          "anonymous": false,
          "inputs": [
            {
              "indexed": true,
              "internalType": "address",
              "name": "previousOwner",
              "type": "address"
            },
            {
              "indexed": true,
              "internalType": "address",
              "name": "newOwner",
              "type": "address"
            }
          ],
          "name": "OwnershipTransferred",
          "type": "event"
        },
        {
          "inputs": [],
          "name": "fund",
          "outputs": [],
          "stateMutability": "payable",
          "type": "function"
        },
        {
          "inputs": [],
          "name": "owner",
          "outputs": [
            {
              "internalType": "address",
              "name": "",
              "type": "address"
            }
          ],
          "stateMutability": "view",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "uint256",
              "name": "amount",
              "type": "uint256"
            }
          ],
          "name": "recoverTestLiquidity",
          "outputs": [],
          "stateMutability": "nonpayable",
          "type": "function"
        },
        {
          "inputs": [],
          "name": "renounceOwnership",
          "outputs": [],
          "stateMutability": "nonpayable",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "address",
              "name": "input",
              "type": "address"
            },
            {
              "internalType": "address",
              "name": "output",
              "type": "address"
            },
            {
              "internalType": "uint256",
              "name": "amount",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "minOut",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "deadline",
              "type": "uint256"
            },
            {
              "internalType": "bytes",
              "name": "route",
              "type": "bytes"
            }
          ],
          "name": "swap",
          "outputs": [
            {
              "internalType": "uint256",
              "name": "received",
              "type": "uint256"
            }
          ],
          "stateMutability": "payable",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "address",
              "name": "newOwner",
              "type": "address"
            }
          ],
          "name": "transferOwnership",
          "outputs": [],
          "stateMutability": "nonpayable",
          "type": "function"
        },
        {
          "inputs": [],
          "name": "usdg",
          "outputs": [
            {
              "internalType": "contract IERC20",
              "name": "",
              "type": "address"
            }
          ],
          "stateMutability": "view",
          "type": "function"
        },
        {
          "inputs": [],
          "name": "weth",
          "outputs": [
            {
              "internalType": "contract SepoliaTestWETH",
              "name": "",
              "type": "address"
            }
          ],
          "stateMutability": "view",
          "type": "function"
        }
      ],
      "bytecode": "0x60c03461018257601f61084838819003918201601f19168301916001600160401b03831184841017610186578084926060946040528339810103126101825780516001600160a01b0381169190829003610182576020810151906001600160a01b03821682036101825760400151916001600160a01b038316830361018257801561016f575f80546001600160a01b031981168317825560405192916001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09080a3620ba5ed46148015610164575b1561012d575060805260a0526040516106ad908161019b823960805181818160e8015281816103e90152610536015260a05181818160a7015281816101b3015281816102b90152818161041401526105030152f35b62461bcd60e51b815260206004820152601260248201527174657374206e6574776f726b73206f6e6c7960701b6044820152606490fd5b50617a6946146100d8565b631e4fbdf760e01b5f525f60045260245ffd5b5f80fd5b634e487b7160e01b5f52604160045260245ffdfe6080806040526004361015610012575f80fd5b5f905f3560e01c90816316725787146102e8575080633fc8cef3146102a4578063715018a61461024d5780638da5cb5b14610226578063b60d42881461019d578063f2fde38b14610117578063f5b91b7b146100d25763fe1b74d214610076575f80fd5b346100cf5760203660031901126100cf5761008f6105f9565b80546100cc90600435906001600160a01b03908116907f0000000000000000000000000000000000000000000000000000000000000000166105b7565b80f35b80fd5b50346100cf57806003193601126100cf576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b50346100cf5760203660031901126100cf5761013161056b565b6101396105f9565b6001600160a01b031680156101895781546001600160a01b03198116821783556001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b631e4fbdf760e01b82526004829052602482fd5b505f366003190112610222576101b16105f9565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316803b15610222575f60049160405192838092630d0e30db60e41b825234905af1801561021757610209575080f35b61021591505f90610581565b005b6040513d5f823e3d90fd5b5f80fd5b34610222575f366003190112610222575f546040516001600160a01b039091168152602090f35b34610222575f366003190112610222576102656105f9565b5f80546001600160a01b0319811682556001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b34610222575f366003190112610222576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60c0366003190112610222576102fc61056b565b906024356001600160a01b0381169190829003610222576044359260a4359267ffffffffffffffff841161022257366023850112156102225783600401359367ffffffffffffffff85116102225760248536920101116102225734159182610534575b5081610501575b50156104ce575060843542111590816104c5575b501561049357670de0b6b3a76400008102818104670de0b6b3a7640000148215171561047f57640108e20f00900460643581106104495761040d602092604051906323b872dd60e01b858301523360248301523060448301526064820152606481526103e7608482610581565b7f000000000000000000000000000000000000000000000000000000000000000061061f565b61044181337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166105b7565b604051908152f35b60405162461bcd60e51b815260206004820152600e60248201526d1b5a5b9a5b5d5b481bdd5d1c1d5d60921b6044820152606490fd5b634e487b7160e01b5f52601160045260245ffd5b60405162461bcd60e51b815260206004820152600a6024820152697465737420726f75746560b01b6044820152606490fd5b9050158261037a565b62461bcd60e51b815260206004820152600e60248201526d746573742070616972206f6e6c7960901b6044820152606490fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031614905084610366565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0390811691161491508561035f565b600435906001600160a01b038216820361022257565b90601f8019910116810190811067ffffffffffffffff8211176105a357604052565b634e487b7160e01b5f52604160045260245ffd5b60405163a9059cbb60e01b60208201526001600160a01b0390921660248301526044808301939093529181526105f7916105f2606483610581565b61061f565b565b5f546001600160a01b0316330361060c57565b63118cdaa760e01b5f523360045260245ffd5b905f602091828151910182855af115610217575f513d61066e57506001600160a01b0381163b155b61064e5750565b635274afe760e01b5f9081526001600160a01b0391909116600452602490fd5b6001141561064756fea2646970667358221220bfe0c0a055c094f41c1019d140e6cb5b8e728ccee945a42ac8ef50141d32a7d164736f6c634300081e0033"
    },
    "QuomboAdEscrow": {
      "abi": [
        {
          "inputs": [
            {
              "internalType": "address",
              "name": "admin",
              "type": "address"
            },
            {
              "internalType": "address",
              "name": "moderator",
              "type": "address"
            },
            {
              "internalType": "address",
              "name": "quoteSigner",
              "type": "address"
            },
            {
              "internalType": "contract IERC20",
              "name": "usdg_",
              "type": "address"
            },
            {
              "internalType": "contract IWrappedEther",
              "name": "weth_",
              "type": "address"
            },
            {
              "internalType": "contract ISwapAdapter",
              "name": "adapter_",
              "type": "address"
            },
            {
              "internalType": "address",
              "name": "pot_",
              "type": "address"
            },
            {
              "internalType": "address payable",
              "name": "dev_",
              "type": "address"
            }
          ],
          "stateMutability": "nonpayable",
          "type": "constructor"
        },
        {
          "inputs": [],
          "name": "AccessControlBadConfirmation",
          "type": "error"
        },
        {
          "inputs": [
            {
              "internalType": "uint48",
              "name": "schedule",
              "type": "uint48"
            }
          ],
          "name": "AccessControlEnforcedDefaultAdminDelay",
          "type": "error"
        },
        {
          "inputs": [],
          "name": "AccessControlEnforcedDefaultAdminRules",
          "type": "error"
        },
        {
          "inputs": [
            {
              "internalType": "address",
              "name": "defaultAdmin",
              "type": "address"
            }
          ],
          "name": "AccessControlInvalidDefaultAdmin",
          "type": "error"
        },
        {
          "inputs": [
            {
              "internalType": "address",
              "name": "account",
              "type": "address"
            },
            {
              "internalType": "bytes32",
              "name": "neededRole",
              "type": "bytes32"
            }
          ],
          "name": "AccessControlUnauthorizedAccount",
          "type": "error"
        },
        {
          "inputs": [],
          "name": "EnforcedPause",
          "type": "error"
        },
        {
          "inputs": [],
          "name": "ExpectedPause",
          "type": "error"
        },
        {
          "inputs": [],
          "name": "FailedCall",
          "type": "error"
        },
        {
          "inputs": [
            {
              "internalType": "uint256",
              "name": "balance",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "needed",
              "type": "uint256"
            }
          ],
          "name": "InsufficientBalance",
          "type": "error"
        },
        {
          "inputs": [],
          "name": "InvalidShortString",
          "type": "error"
        },
        {
          "inputs": [],
          "name": "ReentrancyGuardReentrantCall",
          "type": "error"
        },
        {
          "inputs": [
            {
              "internalType": "uint8",
              "name": "bits",
              "type": "uint8"
            },
            {
              "internalType": "uint256",
              "name": "value",
              "type": "uint256"
            }
          ],
          "name": "SafeCastOverflowedUintDowncast",
          "type": "error"
        },
        {
          "inputs": [
            {
              "internalType": "address",
              "name": "token",
              "type": "address"
            }
          ],
          "name": "SafeERC20FailedOperation",
          "type": "error"
        },
        {
          "inputs": [
            {
              "internalType": "string",
              "name": "str",
              "type": "string"
            }
          ],
          "name": "StringTooLong",
          "type": "error"
        },
        {
          "anonymous": false,
          "inputs": [
            {
              "indexed": true,
              "internalType": "uint256",
              "name": "id",
              "type": "uint256"
            },
            {
              "indexed": false,
              "internalType": "uint256",
              "name": "startsAt",
              "type": "uint256"
            },
            {
              "indexed": false,
              "internalType": "uint256",
              "name": "endsAt",
              "type": "uint256"
            }
          ],
          "name": "Activated",
          "type": "event"
        },
        {
          "anonymous": false,
          "inputs": [],
          "name": "DefaultAdminDelayChangeCanceled",
          "type": "event"
        },
        {
          "anonymous": false,
          "inputs": [
            {
              "indexed": false,
              "internalType": "uint48",
              "name": "newDelay",
              "type": "uint48"
            },
            {
              "indexed": false,
              "internalType": "uint48",
              "name": "effectSchedule",
              "type": "uint48"
            }
          ],
          "name": "DefaultAdminDelayChangeScheduled",
          "type": "event"
        },
        {
          "anonymous": false,
          "inputs": [],
          "name": "DefaultAdminTransferCanceled",
          "type": "event"
        },
        {
          "anonymous": false,
          "inputs": [
            {
              "indexed": true,
              "internalType": "address",
              "name": "newAdmin",
              "type": "address"
            },
            {
              "indexed": false,
              "internalType": "uint48",
              "name": "acceptSchedule",
              "type": "uint48"
            }
          ],
          "name": "DefaultAdminTransferScheduled",
          "type": "event"
        },
        {
          "anonymous": false,
          "inputs": [],
          "name": "EIP712DomainChanged",
          "type": "event"
        },
        {
          "anonymous": false,
          "inputs": [
            {
              "indexed": true,
              "internalType": "uint256",
              "name": "id",
              "type": "uint256"
            },
            {
              "indexed": false,
              "internalType": "bytes32",
              "name": "reasonHash",
              "type": "bytes32"
            }
          ],
          "name": "Hidden",
          "type": "event"
        },
        {
          "anonymous": false,
          "inputs": [
            {
              "indexed": false,
              "internalType": "address",
              "name": "account",
              "type": "address"
            }
          ],
          "name": "Paused",
          "type": "event"
        },
        {
          "anonymous": false,
          "inputs": [
            {
              "indexed": true,
              "internalType": "address",
              "name": "payer",
              "type": "address"
            },
            {
              "indexed": false,
              "internalType": "address",
              "name": "asset",
              "type": "address"
            },
            {
              "indexed": false,
              "internalType": "uint256",
              "name": "amount",
              "type": "uint256"
            }
          ],
          "name": "RefundDeliveryDeferred",
          "type": "event"
        },
        {
          "anonymous": false,
          "inputs": [
            {
              "indexed": true,
              "internalType": "uint256",
              "name": "id",
              "type": "uint256"
            },
            {
              "indexed": true,
              "internalType": "address",
              "name": "payer",
              "type": "address"
            },
            {
              "indexed": false,
              "internalType": "address",
              "name": "asset",
              "type": "address"
            },
            {
              "indexed": false,
              "internalType": "uint256",
              "name": "amount",
              "type": "uint256"
            }
          ],
          "name": "Refunded",
          "type": "event"
        },
        {
          "anonymous": false,
          "inputs": [
            {
              "indexed": true,
              "internalType": "uint256",
              "name": "id",
              "type": "uint256"
            },
            {
              "indexed": false,
              "internalType": "address",
              "name": "paymentAsset",
              "type": "address"
            },
            {
              "indexed": false,
              "internalType": "uint256",
              "name": "paymentAmount",
              "type": "uint256"
            },
            {
              "indexed": false,
              "internalType": "uint256",
              "name": "ecosystemInput",
              "type": "uint256"
            },
            {
              "indexed": false,
              "internalType": "uint256",
              "name": "wethToPot",
              "type": "uint256"
            },
            {
              "indexed": false,
              "internalType": "uint256",
              "name": "devAmount",
              "type": "uint256"
            }
          ],
          "name": "RevenueDelivered",
          "type": "event"
        },
        {
          "anonymous": false,
          "inputs": [
            {
              "indexed": true,
              "internalType": "bytes32",
              "name": "role",
              "type": "bytes32"
            },
            {
              "indexed": true,
              "internalType": "bytes32",
              "name": "previousAdminRole",
              "type": "bytes32"
            },
            {
              "indexed": true,
              "internalType": "bytes32",
              "name": "newAdminRole",
              "type": "bytes32"
            }
          ],
          "name": "RoleAdminChanged",
          "type": "event"
        },
        {
          "anonymous": false,
          "inputs": [
            {
              "indexed": true,
              "internalType": "bytes32",
              "name": "role",
              "type": "bytes32"
            },
            {
              "indexed": true,
              "internalType": "address",
              "name": "account",
              "type": "address"
            },
            {
              "indexed": true,
              "internalType": "address",
              "name": "sender",
              "type": "address"
            }
          ],
          "name": "RoleGranted",
          "type": "event"
        },
        {
          "anonymous": false,
          "inputs": [
            {
              "indexed": true,
              "internalType": "bytes32",
              "name": "role",
              "type": "bytes32"
            },
            {
              "indexed": true,
              "internalType": "address",
              "name": "account",
              "type": "address"
            },
            {
              "indexed": true,
              "internalType": "address",
              "name": "sender",
              "type": "address"
            }
          ],
          "name": "RoleRevoked",
          "type": "event"
        },
        {
          "anonymous": false,
          "inputs": [
            {
              "indexed": true,
              "internalType": "uint256",
              "name": "id",
              "type": "uint256"
            },
            {
              "indexed": true,
              "internalType": "address",
              "name": "payer",
              "type": "address"
            },
            {
              "indexed": true,
              "internalType": "bytes32",
              "name": "contentHash",
              "type": "bytes32"
            },
            {
              "components": [
                {
                  "internalType": "address",
                  "name": "payer",
                  "type": "address"
                },
                {
                  "internalType": "address",
                  "name": "asset",
                  "type": "address"
                },
                {
                  "internalType": "uint256",
                  "name": "amount",
                  "type": "uint256"
                },
                {
                  "internalType": "uint8",
                  "name": "x",
                  "type": "uint8"
                },
                {
                  "internalType": "uint8",
                  "name": "y",
                  "type": "uint8"
                },
                {
                  "internalType": "uint8",
                  "name": "width",
                  "type": "uint8"
                },
                {
                  "internalType": "uint8",
                  "name": "height",
                  "type": "uint8"
                },
                {
                  "internalType": "uint8",
                  "name": "durationDays",
                  "type": "uint8"
                },
                {
                  "internalType": "bytes32",
                  "name": "contentHash",
                  "type": "bytes32"
                },
                {
                  "internalType": "uint256",
                  "name": "nonce",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "deadline",
                  "type": "uint256"
                }
              ],
              "indexed": false,
              "internalType": "struct QuomboAdEscrow.Quote",
              "name": "quote",
              "type": "tuple"
            },
            {
              "indexed": false,
              "internalType": "uint256",
              "name": "reviewDeadline",
              "type": "uint256"
            }
          ],
          "name": "Submitted",
          "type": "event"
        },
        {
          "anonymous": false,
          "inputs": [
            {
              "indexed": false,
              "internalType": "address",
              "name": "account",
              "type": "address"
            }
          ],
          "name": "Unpaused",
          "type": "event"
        },
        {
          "inputs": [],
          "name": "COLS",
          "outputs": [
            {
              "internalType": "uint256",
              "name": "",
              "type": "uint256"
            }
          ],
          "stateMutability": "view",
          "type": "function"
        },
        {
          "inputs": [],
          "name": "DAILY_USDG_PRICE",
          "outputs": [
            {
              "internalType": "uint256",
              "name": "",
              "type": "uint256"
            }
          ],
          "stateMutability": "view",
          "type": "function"
        },
        {
          "inputs": [],
          "name": "DEFAULT_ADMIN_ROLE",
          "outputs": [
            {
              "internalType": "bytes32",
              "name": "",
              "type": "bytes32"
            }
          ],
          "stateMutability": "view",
          "type": "function"
        },
        {
          "inputs": [],
          "name": "MODERATOR_ROLE",
          "outputs": [
            {
              "internalType": "bytes32",
              "name": "",
              "type": "bytes32"
            }
          ],
          "stateMutability": "view",
          "type": "function"
        },
        {
          "inputs": [],
          "name": "QUOTE_SIGNER_ROLE",
          "outputs": [
            {
              "internalType": "bytes32",
              "name": "",
              "type": "bytes32"
            }
          ],
          "stateMutability": "view",
          "type": "function"
        },
        {
          "inputs": [],
          "name": "QUOTE_TYPEHASH",
          "outputs": [
            {
              "internalType": "bytes32",
              "name": "",
              "type": "bytes32"
            }
          ],
          "stateMutability": "view",
          "type": "function"
        },
        {
          "inputs": [],
          "name": "REVIEW_WINDOW",
          "outputs": [
            {
              "internalType": "uint256",
              "name": "",
              "type": "uint256"
            }
          ],
          "stateMutability": "view",
          "type": "function"
        },
        {
          "inputs": [],
          "name": "ROWS",
          "outputs": [
            {
              "internalType": "uint256",
              "name": "",
              "type": "uint256"
            }
          ],
          "stateMutability": "view",
          "type": "function"
        },
        {
          "inputs": [],
          "name": "acceptDefaultAdminTransfer",
          "outputs": [],
          "stateMutability": "nonpayable",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "uint256",
              "name": "id",
              "type": "uint256"
            },
            {
              "internalType": "bytes32",
              "name": "approvedContentHash",
              "type": "bytes32"
            },
            {
              "internalType": "uint256",
              "name": "minWethOut",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "swapDeadline",
              "type": "uint256"
            },
            {
              "internalType": "bytes",
              "name": "route",
              "type": "bytes"
            }
          ],
          "name": "activate",
          "outputs": [],
          "stateMutability": "nonpayable",
          "type": "function"
        },
        {
          "inputs": [],
          "name": "adapter",
          "outputs": [
            {
              "internalType": "contract ISwapAdapter",
              "name": "",
              "type": "address"
            }
          ],
          "stateMutability": "view",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "address",
              "name": "newAdmin",
              "type": "address"
            }
          ],
          "name": "beginDefaultAdminTransfer",
          "outputs": [],
          "stateMutability": "nonpayable",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "uint256",
              "name": "id",
              "type": "uint256"
            }
          ],
          "name": "booking",
          "outputs": [
            {
              "components": [
                {
                  "components": [
                    {
                      "internalType": "address",
                      "name": "payer",
                      "type": "address"
                    },
                    {
                      "internalType": "address",
                      "name": "asset",
                      "type": "address"
                    },
                    {
                      "internalType": "uint256",
                      "name": "amount",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint8",
                      "name": "x",
                      "type": "uint8"
                    },
                    {
                      "internalType": "uint8",
                      "name": "y",
                      "type": "uint8"
                    },
                    {
                      "internalType": "uint8",
                      "name": "width",
                      "type": "uint8"
                    },
                    {
                      "internalType": "uint8",
                      "name": "height",
                      "type": "uint8"
                    },
                    {
                      "internalType": "uint8",
                      "name": "durationDays",
                      "type": "uint8"
                    },
                    {
                      "internalType": "bytes32",
                      "name": "contentHash",
                      "type": "bytes32"
                    },
                    {
                      "internalType": "uint256",
                      "name": "nonce",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "deadline",
                      "type": "uint256"
                    }
                  ],
                  "internalType": "struct QuomboAdEscrow.Quote",
                  "name": "quote",
                  "type": "tuple"
                },
                {
                  "internalType": "enum QuomboAdEscrow.Status",
                  "name": "status",
                  "type": "uint8"
                },
                {
                  "internalType": "uint64",
                  "name": "submittedAt",
                  "type": "uint64"
                },
                {
                  "internalType": "uint64",
                  "name": "startsAt",
                  "type": "uint64"
                },
                {
                  "internalType": "uint64",
                  "name": "endsAt",
                  "type": "uint64"
                },
                {
                  "internalType": "bool",
                  "name": "hidden",
                  "type": "bool"
                }
              ],
              "internalType": "struct QuomboAdEscrow.Booking",
              "name": "",
              "type": "tuple"
            }
          ],
          "stateMutability": "view",
          "type": "function"
        },
        {
          "inputs": [],
          "name": "cancelDefaultAdminTransfer",
          "outputs": [],
          "stateMutability": "nonpayable",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "uint48",
              "name": "newDelay",
              "type": "uint48"
            }
          ],
          "name": "changeDefaultAdminDelay",
          "outputs": [],
          "stateMutability": "nonpayable",
          "type": "function"
        },
        {
          "inputs": [],
          "name": "defaultAdmin",
          "outputs": [
            {
              "internalType": "address",
              "name": "",
              "type": "address"
            }
          ],
          "stateMutability": "view",
          "type": "function"
        },
        {
          "inputs": [],
          "name": "defaultAdminDelay",
          "outputs": [
            {
              "internalType": "uint48",
              "name": "",
              "type": "uint48"
            }
          ],
          "stateMutability": "view",
          "type": "function"
        },
        {
          "inputs": [],
          "name": "defaultAdminDelayIncreaseWait",
          "outputs": [
            {
              "internalType": "uint48",
              "name": "",
              "type": "uint48"
            }
          ],
          "stateMutability": "view",
          "type": "function"
        },
        {
          "inputs": [],
          "name": "devWallet",
          "outputs": [
            {
              "internalType": "address payable",
              "name": "",
              "type": "address"
            }
          ],
          "stateMutability": "view",
          "type": "function"
        },
        {
          "inputs": [],
          "name": "eip712Domain",
          "outputs": [
            {
              "internalType": "bytes1",
              "name": "fields",
              "type": "bytes1"
            },
            {
              "internalType": "string",
              "name": "name",
              "type": "string"
            },
            {
              "internalType": "string",
              "name": "version",
              "type": "string"
            },
            {
              "internalType": "uint256",
              "name": "chainId",
              "type": "uint256"
            },
            {
              "internalType": "address",
              "name": "verifyingContract",
              "type": "address"
            },
            {
              "internalType": "bytes32",
              "name": "salt",
              "type": "bytes32"
            },
            {
              "internalType": "uint256[]",
              "name": "extensions",
              "type": "uint256[]"
            }
          ],
          "stateMutability": "view",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "address",
              "name": "",
              "type": "address"
            }
          ],
          "name": "escrowLiability",
          "outputs": [
            {
              "internalType": "uint256",
              "name": "",
              "type": "uint256"
            }
          ],
          "stateMutability": "view",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "bytes32",
              "name": "role",
              "type": "bytes32"
            }
          ],
          "name": "getRoleAdmin",
          "outputs": [
            {
              "internalType": "bytes32",
              "name": "",
              "type": "bytes32"
            }
          ],
          "stateMutability": "view",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "bytes32",
              "name": "role",
              "type": "bytes32"
            },
            {
              "internalType": "address",
              "name": "account",
              "type": "address"
            }
          ],
          "name": "grantRole",
          "outputs": [],
          "stateMutability": "nonpayable",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "bytes32",
              "name": "role",
              "type": "bytes32"
            },
            {
              "internalType": "address",
              "name": "account",
              "type": "address"
            }
          ],
          "name": "hasRole",
          "outputs": [
            {
              "internalType": "bool",
              "name": "",
              "type": "bool"
            }
          ],
          "stateMutability": "view",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "uint256",
              "name": "id",
              "type": "uint256"
            },
            {
              "internalType": "bytes32",
              "name": "reasonHash",
              "type": "bytes32"
            }
          ],
          "name": "hide",
          "outputs": [],
          "stateMutability": "nonpayable",
          "type": "function"
        },
        {
          "inputs": [],
          "name": "nextId",
          "outputs": [
            {
              "internalType": "uint256",
              "name": "",
              "type": "uint256"
            }
          ],
          "stateMutability": "view",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "uint256",
              "name": "cell",
              "type": "uint256"
            }
          ],
          "name": "occupiedUntil",
          "outputs": [
            {
              "internalType": "uint32",
              "name": "",
              "type": "uint32"
            }
          ],
          "stateMutability": "view",
          "type": "function"
        },
        {
          "inputs": [],
          "name": "owner",
          "outputs": [
            {
              "internalType": "address",
              "name": "",
              "type": "address"
            }
          ],
          "stateMutability": "view",
          "type": "function"
        },
        {
          "inputs": [],
          "name": "pause",
          "outputs": [],
          "stateMutability": "nonpayable",
          "type": "function"
        },
        {
          "inputs": [],
          "name": "paused",
          "outputs": [
            {
              "internalType": "bool",
              "name": "",
              "type": "bool"
            }
          ],
          "stateMutability": "view",
          "type": "function"
        },
        {
          "inputs": [],
          "name": "pendingDefaultAdmin",
          "outputs": [
            {
              "internalType": "address",
              "name": "newAdmin",
              "type": "address"
            },
            {
              "internalType": "uint48",
              "name": "schedule",
              "type": "uint48"
            }
          ],
          "stateMutability": "view",
          "type": "function"
        },
        {
          "inputs": [],
          "name": "pendingDefaultAdminDelay",
          "outputs": [
            {
              "internalType": "uint48",
              "name": "newDelay",
              "type": "uint48"
            },
            {
              "internalType": "uint48",
              "name": "schedule",
              "type": "uint48"
            }
          ],
          "stateMutability": "view",
          "type": "function"
        },
        {
          "inputs": [
            {
              "components": [
                {
                  "internalType": "address",
                  "name": "payer",
                  "type": "address"
                },
                {
                  "internalType": "address",
                  "name": "asset",
                  "type": "address"
                },
                {
                  "internalType": "uint256",
                  "name": "amount",
                  "type": "uint256"
                },
                {
                  "internalType": "uint8",
                  "name": "x",
                  "type": "uint8"
                },
                {
                  "internalType": "uint8",
                  "name": "y",
                  "type": "uint8"
                },
                {
                  "internalType": "uint8",
                  "name": "width",
                  "type": "uint8"
                },
                {
                  "internalType": "uint8",
                  "name": "height",
                  "type": "uint8"
                },
                {
                  "internalType": "uint8",
                  "name": "durationDays",
                  "type": "uint8"
                },
                {
                  "internalType": "bytes32",
                  "name": "contentHash",
                  "type": "bytes32"
                },
                {
                  "internalType": "uint256",
                  "name": "nonce",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "deadline",
                  "type": "uint256"
                }
              ],
              "internalType": "struct QuomboAdEscrow.Quote",
              "name": "q",
              "type": "tuple"
            }
          ],
          "name": "quoteDigest",
          "outputs": [
            {
              "internalType": "bytes32",
              "name": "",
              "type": "bytes32"
            }
          ],
          "stateMutability": "view",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "uint256",
              "name": "id",
              "type": "uint256"
            }
          ],
          "name": "refund",
          "outputs": [],
          "stateMutability": "nonpayable",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "address",
              "name": "",
              "type": "address"
            },
            {
              "internalType": "address",
              "name": "",
              "type": "address"
            }
          ],
          "name": "refundCredit",
          "outputs": [
            {
              "internalType": "uint256",
              "name": "",
              "type": "uint256"
            }
          ],
          "stateMutability": "view",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "bytes32",
              "name": "role",
              "type": "bytes32"
            },
            {
              "internalType": "address",
              "name": "account",
              "type": "address"
            }
          ],
          "name": "renounceRole",
          "outputs": [],
          "stateMutability": "nonpayable",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "bytes32",
              "name": "role",
              "type": "bytes32"
            },
            {
              "internalType": "address",
              "name": "account",
              "type": "address"
            }
          ],
          "name": "revokeRole",
          "outputs": [],
          "stateMutability": "nonpayable",
          "type": "function"
        },
        {
          "inputs": [],
          "name": "rollbackDefaultAdminDelay",
          "outputs": [],
          "stateMutability": "nonpayable",
          "type": "function"
        },
        {
          "inputs": [
            {
              "components": [
                {
                  "internalType": "address",
                  "name": "payer",
                  "type": "address"
                },
                {
                  "internalType": "address",
                  "name": "asset",
                  "type": "address"
                },
                {
                  "internalType": "uint256",
                  "name": "amount",
                  "type": "uint256"
                },
                {
                  "internalType": "uint8",
                  "name": "x",
                  "type": "uint8"
                },
                {
                  "internalType": "uint8",
                  "name": "y",
                  "type": "uint8"
                },
                {
                  "internalType": "uint8",
                  "name": "width",
                  "type": "uint8"
                },
                {
                  "internalType": "uint8",
                  "name": "height",
                  "type": "uint8"
                },
                {
                  "internalType": "uint8",
                  "name": "durationDays",
                  "type": "uint8"
                },
                {
                  "internalType": "bytes32",
                  "name": "contentHash",
                  "type": "bytes32"
                },
                {
                  "internalType": "uint256",
                  "name": "nonce",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "deadline",
                  "type": "uint256"
                }
              ],
              "internalType": "struct QuomboAdEscrow.Quote",
              "name": "q",
              "type": "tuple"
            },
            {
              "internalType": "address",
              "name": "signer",
              "type": "address"
            },
            {
              "internalType": "bytes",
              "name": "signature",
              "type": "bytes"
            }
          ],
          "name": "submit",
          "outputs": [
            {
              "internalType": "uint256",
              "name": "id",
              "type": "uint256"
            }
          ],
          "stateMutability": "payable",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "address",
              "name": "asset",
              "type": "address"
            }
          ],
          "name": "supported",
          "outputs": [
            {
              "internalType": "bool",
              "name": "",
              "type": "bool"
            }
          ],
          "stateMutability": "view",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "bytes4",
              "name": "interfaceId",
              "type": "bytes4"
            }
          ],
          "name": "supportsInterface",
          "outputs": [
            {
              "internalType": "bool",
              "name": "",
              "type": "bool"
            }
          ],
          "stateMutability": "view",
          "type": "function"
        },
        {
          "inputs": [],
          "name": "terminalPot",
          "outputs": [
            {
              "internalType": "address",
              "name": "",
              "type": "address"
            }
          ],
          "stateMutability": "view",
          "type": "function"
        },
        {
          "inputs": [],
          "name": "unpause",
          "outputs": [],
          "stateMutability": "nonpayable",
          "type": "function"
        },
        {
          "inputs": [],
          "name": "usdg",
          "outputs": [
            {
              "internalType": "contract IERC20",
              "name": "",
              "type": "address"
            }
          ],
          "stateMutability": "view",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "address",
              "name": "",
              "type": "address"
            },
            {
              "internalType": "uint256",
              "name": "",
              "type": "uint256"
            }
          ],
          "name": "usedNonce",
          "outputs": [
            {
              "internalType": "bool",
              "name": "",
              "type": "bool"
            }
          ],
          "stateMutability": "view",
          "type": "function"
        },
        {
          "inputs": [],
          "name": "weth",
          "outputs": [
            {
              "internalType": "contract IWrappedEther",
              "name": "",
              "type": "address"
            }
          ],
          "stateMutability": "view",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "address",
              "name": "asset",
              "type": "address"
            },
            {
              "internalType": "address payable",
              "name": "recipient",
              "type": "address"
            }
          ],
          "name": "withdrawRefund",
          "outputs": [],
          "stateMutability": "nonpayable",
          "type": "function"
        }
      ],
      "bytecode": "0x610200806040523461051a57610100816144888038038091610021828561051e565b83398101031261051a5761003481610555565b61004060208301610555565b9061004d60408401610555565b9160608401519160018060a01b0383169485840361051a576080810151956001600160a01b03871680880361051a5760a08301516001600160a01b0381169490929085840361051a5760e06100a460c08701610555565b950151956001600160a01b0387169182880361051a57604051906100c960408361051e565b600e8252602082016d51756f6d626f4164457363726f7760901b8152604051926100f460408561051e565b60018452603160f81b60208501908152926001600160a01b0381161561050757600180546001600160d01b03166102a360d81b17905561013390610582565b5060016003556101428161061e565b6101205261014f846107b9565b61014052519020918260e05251902080610100524660a0526040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a081526101b860c08261051e565b5190206080523060c0526001610237556001600160a01b0388161515806104f5575b806104ec575b156104bf57823b151590816104b4575b816104a9575b508061049f575b1561046e5782821415908161045a575b81610446575b8161043b575b50156104065760206004916040519283809263313ce56760e01b82525afa9081156103dc5760069160ff915f916103e7575b5016149081610375575b5015610345576102829661027c9561016052610180526101a0526101c0526101e0526105ca565b506105f4565b50604051613b0e908161097a82396080518161363b015260a051816136f8015260c05181613605015260e0518161368a015261010051816136b00152610120518161127f015261014051816112a90152610160518181816102fa0152818161076a01528181611ea70152818161208a0152612fc60152610180518181816117300152611bca01526101a0518181816120ea0152612c2f01526101c051818181611ca30152612b3e01526101e0518181816111e401528181611d590152611e7d0152f35b60405162461bcd60e51b8152602060048201526008602482015267646563696d616c7360c01b6044820152606490fd5b60405163313ce56760e01b81529150602090829060049082905afa9081156103dc5760129160ff915f916103ad575b5016145f610255565b6103cf915060203d6020116103d5575b6103c7818361051e565b810190610569565b5f6103a4565b503d6103bd565b6040513d5f823e3d90fd5b610400915060203d6020116103d5576103c7818361051e565b5f61024b565b60405162461bcd60e51b815260206004820152600d60248201526c31b7b73334b3bab930ba34b7b760991b6044820152606490fd5b90503014155f610219565b6001600160a01b0386163014159150610213565b6001600160a01b038616811415915061020d565b60405162461bcd60e51b8152602060048201526009602482015268636f6e74726163747360b81b6044820152606490fd5b50843b15156101fd565b90503b15155f6101f6565b843b151591506101f0565b60405162461bcd60e51b8152602060048201526005602482015264726f6c657360d81b6044820152606490fd5b508115156101e0565b506001600160a01b038a1615156101da565b636116401160e11b5f525f60045260245ffd5b5f80fd5b601f909101601f19168101906001600160401b0382119082101761054157604052565b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b038216820361051a57565b9081602091031261051a575160ff8116810361051a5790565b600254906001600160a01b0382166105bb576001600160a01b03199091166001600160a01b038216176002556105b8905f6108f1565b90565b631fe1e13d60e11b5f5260045ffd5b6105b8907f71f3d55856e4058ed06ee057d79ada615f65cdf5f9ee88181b914225088f834f6108f1565b6105b8907f5ad4c58af6038875a8389a5a539d5aa4662d7168cd0c214c7c203da21c0a0d4f6108f1565b908151602081105f14610698575090601f815111610658576020815191015160208210610649571790565b5f198260200360031b1b161790565b604460209160405192839163305a27a960e01b83528160048401528051918291826024860152018484015e5f828201840152601f01601f19168101030190fd5b6001600160401b03811161054157600554600181811c911680156107af575b602082101461079b57601f8111610768575b50602092601f821160011461070757928192935f926106fc575b50508160011b915f199060031b1c19161760055560ff90565b015190505f806106e3565b601f1982169360055f52805f20915f5b8681106107505750836001959610610738575b505050811b0160055560ff90565b01515f1960f88460031b161c191690555f808061072a565b91926020600181928685015181550194019201610717565b60055f52601f60205f20910160051c810190601f830160051c015b81811061079057506106c9565b5f8155600101610783565b634e487b7160e01b5f52602260045260245ffd5b90607f16906106b7565b908151602081105f146107e4575090601f815111610658576020815191015160208210610649571790565b6001600160401b03811161054157600654600181811c911680156108e7575b602082101461079b57601f81116108b4575b50602092601f821160011461085357928192935f92610848575b50508160011b915f199060031b1c19161760065560ff90565b015190505f8061082f565b601f1982169360065f52805f20915f5b86811061089c5750836001959610610884575b505050811b0160065560ff90565b01515f1960f88460031b161c191690555f8080610876565b91926020600181928685015181550194019201610863565b60065f52601f60205f20910160051c810190601f830160051c015b8181106108dc5750610815565b5f81556001016108cf565b90607f1690610803565b5f818152602081815260408083206001600160a01b038616845290915290205460ff16610973575f818152602081815260408083206001600160a01b0395909516808452949091528120805460ff19166001179055339291907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9080a4600190565b50505f9056fe6080806040526004361015610012575f80fd5b5f905f3560e01c90816301ffc9a714612c7b57508063022d63fb14612c5e57806303eadcfc14612c1a5780630aa6220b14612b885780630cc2322514612b6d57806319b858d614612b29578063233b02f514612ab4578063248a9ca314612a8a578063278ecde1146128845780632eb524e8146128695780632f2ff15d14612815578063358dc19c146125c2578063360f6127146118ed57806336568abe1461180057806338e4ab37146117c75780633f4ba83a1461175f5780633fc8cef31461171a5780634584712b146116fc5780635c975abb146116d95780635d2cc9d6146116ba57806361b8ce8c1461169b578063634e93da146115bd578063649a5ec71461141d5780636c58b4b3146113f7578063797669c9146113bc5780638456cb591461136157806384b0196e1461126557806384ef8ffc146112135780638597b7c91461123c5780638da5cb5b146112135780638ea5220f146111ce57806391d1485414611185578063a1eda53c14611122578063a217fddf14611106578063b615c00a14611030578063bd25cf9214610602578063c4a8048d146105af578063cc8463c814610584578063cefc1429146104d7578063cf6eefb71461049d578063d547741f1461043f578063d602b9fd146103db578063e12f4ff014610329578063f5b91b7b146102e4578063f7581615146102a9578063f90a2f30146102605763ffeb71d314610223575f80fd5b3461025d578060031936011261025d5760206040517f5ad4c58af6038875a8389a5a539d5aa4662d7168cd0c214c7c203da21c0a0d4f8152f35b80fd5b503461025d57604036600319011261025d5760209060ff906040906001600160a01b0361028b612ce8565b16815260088452818120602435825284522054166040519015158152f35b503461025d578060031936011261025d5760206040517f7acf6a055f24a97800e1bfb93d0f7ae69bb1b7b8e37a5db645f604dba7b5f1978152f35b503461025d578060031936011261025d576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b503461025d57602036600319011261025d5760043561115c8110156103b0578060031c61022c81101561039c57600b01549160e0600783169260051b169180830460201490151715610388575063ffffffff602092604051921c168152f35b634e487b7160e01b81526011600452602490fd5b634e487b7160e01b83526032600452602483fd5b606460405162461bcd60e51b815260206004820152600460248201526318d95b1b60e21b6044820152fd5b503461025d578060031936011261025d576103f46130db565b600180546001600160d01b0319811690915560a01c65ffffffffffff166104185780f35b7f8886ebfc4259abdbc16601dd8fb5678e54878f47b3c34836cfc51154a96051098180a180f35b503461025d57604036600319011261025d5760043561045c612cfe565b90801561048e57908161048561048061048a945f525f602052600160405f20015490565b613199565b613595565b5080f35b631fe1e13d60e11b8352600483fd5b503461025d578060031936011261025d57600154604080516001600160a01b038316815260a09290921c65ffffffffffff16602083015290f35b503461025d578060031936011261025d576001546001600160a01b03163303610571576001546001600160a01b0381169060a01c65ffffffffffff1680158015610567575b6105555750600254610541919061053b906001600160a01b031661355f565b5061348c565b50600180546001600160d01b031916905580f35b6319ca5ebb60e01b8352600452602482fd5b504281101561051c565b636116401160e11b815233600452602490fd5b503461025d578060031936011261025d57602061059f6130a2565b65ffffffffffff60405191168152f35b503461025d57604036600319011261025d5760406105cb612ce8565b916105d4612cfe565b9260018060a01b03168152600a602052209060018060a01b03165f52602052602060405f2054604051908152f35b5036600319016101a0811261102c576101601361025d5761016435906001600160a01b038216820361025d576101843567ffffffffffffffff811161102c5761064f903690600401612d32565b926106586131d1565b610660613350565b610668612e20565b6001600160a01b0316331480611021575b8061100b575b15610fd15760ff61068e612e4c565b16151580610fbe575b80610f95575b80610f61575b15610f305760ff6106b2612e6c565b16151580610f1b575b80610f0f575b15610ed75761014435918242111580610eae575b15610e7a576001600160a01b036106ea612e20565b16845260086020526040842094610124359586865260205260ff604086205416610e4d577f5ad4c58af6038875a8389a5a539d5aa4662d7168cd0c214c7c203da21c0a0d4f8552602085815260408087206001600160a01b0386165f908152925290205460ff169283610df8575b50505015610dc757610768612e36565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03908116911614610d38575b6001600160a01b036107ac612e20565b1682526008602090815260408084208585529091528220805460ff191660011790556001600160a01b036107de612e36565b16610b8e576107f06044353414613010565b6044356001600160a01b03610803612e36565b16835260096020526040832061081a828254612d84565b9055610237549261082a84613044565b610237556040519261083b84612d9e565b6040519361084885612dce565b610850612ce8565b855261085a612cfe565b602086015283604086015261086d613052565b606086015261087a613062565b6080860152610887613072565b60a0860152610894613082565b60c08601526108a1613092565b60e08601526101043594856101008201528761012082015282610140820152815282610a8067ffffffffffffffff88610a58826020870196600188526040810182421681526007606083019289845261014060408b6080840199818b5260a085019d8e5281528460205220915160018060a01b0360018060a01b03825116166bffffffffffffffffffffffff60a01b84541617835560018060a01b03602082015116600184019060018060a01b03166bffffffffffffffffffffffff60a01b825416179055604081015160028401556003830160ff60608301511681549061ff00608085015160081b169062ff000060a086015160101b169063ff00000060c087015160181b169264ff0000000060e088015160201b169464ff00000000199263ff000000199162ffffff19161716171617171790556101008101516004840155610120810151600584015501516006820155019851610a0081612d14565b610a0981612d14565b89549151925170ffffffffffffffffffffffffffffffffff1990921660ff919091161760089290921b68ffffffffffffffff001691909117911660481b67ffffffffffffffff60481b16178655565b51845467ffffffffffffffff60881b1916911660881b67ffffffffffffffff60881b16178355565b51815460ff60c81b191690151560c81b60ff60c81b16179055610aa1612e20565b9562015180420192834211610388575060209686937f932987391b81a42594de3a6e9acc938edf0e4583c4e07a07b92fe5450e43a59b93610180936040519760018060a01b03610aef612ce8565b1689526001600160a01b03610b02612cfe565b168c8a0152604089015260ff610b16613052565b16606089015260ff610b26613062565b16608089015260ff610b36613072565b1660a089015260ff610b46613082565b1660c089015260ff610b56613092565b1660e089015261010088018990526101208801526101408701526101608601526001600160a01b031693a46001600355604051908152f35b610b983415613010565b602460206001600160a01b03610bac612e36565b16604051928380926370a0823160e01b82523060048301525afa908115610d2d578391610cfb575b5060246001600160a01b03610be7612e36565b1691610c39610bf4612e20565b6040516323b872dd60e01b60208201526001600160a01b039091168482015230604482810191909152356064808301829052825294610c34608483612deb565b613507565b60206001600160a01b03610c4b612e36565b16604051938480926370a0823160e01b82523060048301525afa8015610cf0578590610cb8575b610c7c9250612d91565b146107f05760405162461bcd60e51b815260206004820152600f60248201526e1d1c985b9cd9995c88185b5bdd5b9d608a1b6044820152606490fd5b506020823d602011610ce8575b81610cd260209383612deb565b81010312610ce457610c7c9151610c72565b5f80fd5b3d9150610cc5565b6040513d87823e3d90fd5b90506020813d602011610d25575b81610d1660209383612deb565b81010312610ce457515f610bd4565b3d9150610d09565b6040513d85823e3d90fd5b60ff610d42612e4c565b16806302a619c002906302a619c0820403610db357610d6f610d799160ff610d68612e5c565b1690612e0d565b60ff610d68612e6c565b6044351461079c5760405162461bcd60e51b815260206004820152600a6024820152695553444720707269636560b01b6044820152606490fd5b634e487b7160e01b83526011600452602483fd5b60405162461bcd60e51b81526020600482015260096024820152687369676e617475726560b81b6044820152606490fd5b90919250610e04612e7c565b91610e0e81612ff4565b93610e1c6040519586612deb565b8185523682820111610e495760208286959493899383610e41990137850101526133c5565b5f8080610758565b8680fd5b60405162461bcd60e51b81526020600482015260056024820152646e6f6e636560d81b6044820152606490fd5b60405162461bcd60e51b815260206004820152600c60248201526b71756f74652065787069727960a01b6044820152606490fd5b506103844201804211610ec3578311156106d5565b634e487b7160e01b85526011600452602485fd5b60405162461bcd60e51b815260206004820152601060248201526f191d5c985d1a5bdb8bd8dbdb9d195b9d60821b6044820152606490fd5b506101043515156106c1565b50601e60ff610f28612e6c565b1611156106bb565b60405162461bcd60e51b815260206004820152600960248201526872656374616e676c6560b81b6044820152606490fd5b5060843560ff811690818103610f9157602c91610f8a915060ff610f83612e5c565b1690612d84565b11156106a3565b8480fd5b5060643560ff811690818103610f9157606591610fb7915060ff610f83612e4c565b111561069d565b5060ff610fc9612e5c565b161515610697565b60405162461bcd60e51b81526020600482015260126024820152711c185e595c8bd85cdcd95d0bd85b5bdd5b9d60721b6044820152606490fd5b5061101c611017612e36565b612fae565b61067f565b506044351515610679565b5080fd5b503461025d57604036600319011261025d5760043560243561105061312a565b8183526007602052600260ff60076040862001541661106e81612d14565b14806110fd575b156110c857818352600760208181526040808620909201805460ff60c81b1916600160c81b17905590519182527ffd8049b3d306bf7231210e2281ba14ca1b8bf4338bcc46dd68ae1f250eb0491491a280f35b60405162461bcd60e51b815260206004820152600d60248201526c30b1ba34bb3297b932b0b9b7b760991b6044820152606490fd5b50801515611075565b503461025d578060031936011261025d57602090604051908152f35b503461025d578060031936011261025d576002548060d01c918215158061117b575b15611172575060a01c65ffffffffffff165b6040805165ffffffffffff928316815292909116602083015290f35b91505080611156565b5042831015611144565b503461025d57604036600319011261025d5760406111a1612cfe565b91600435815280602052209060018060a01b03165f52602052602060ff60405f2054166040519015158152f35b503461025d578060031936011261025d576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b503461025d578060031936011261025d576002546040516001600160a01b039091168152602090f35b503461025d57602036600319011261025d57602061125b611017612ce8565b6040519015158152f35b503461025d578060031936011261025d57611305906112a37f000000000000000000000000000000000000000000000000000000000000000061371e565b906112cd7f0000000000000000000000000000000000000000000000000000000000000000613844565b906020611313604051936112e18386612deb565b8385525f368137604051968796600f60f81b885260e08589015260e0880190612d60565b908682036040880152612d60565b904660608601523060808601528260a086015284820360c08601528080855193848152019401925b82811061134a57505050500390f35b83518552869550938101939281019260010161133b565b503461025d578060031936011261025d5761137a6130db565b611382613350565b600160ff1960045416176004557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586020604051338152a180f35b503461025d578060031936011261025d5760206040517f71f3d55856e4058ed06ee057d79ada615f65cdf5f9ee88181b914225088f834f8152f35b503461025d5761016036600319011261025d57506020611415612e7c565b604051908152f35b503461025d57602036600319011261025d5760043565ffffffffffff81168082036115b95761144a6130db565b611453426135d3565b9065ffffffffffff6114636130a2565b168082111561156a57507ff1038c18cf84a56e432fdbfaf746924b7ea511dfe03a6506a0ceba4888788d9b929165ffffffffffff8262069780806114b19510911802620697801816906133a7565b906002548060d01c8061150e575b5050600280546001600160a01b031660a083901b65ffffffffffff60a01b161760d084901b6001600160d01b0319161790556040805165ffffffffffff9283168152919092166020820152a180f35b42111561154057600180546001600160d01b031660309290921b6001600160d01b0319169190911790555b5f806114bf565b507f2b1fa2edafe6f7b9e97c1a9e0c3660e645beb2dcaa2d45bdbf9beaf5472e1ec58480a1611539565b0365ffffffffffff81116115a5577ff1038c18cf84a56e432fdbfaf746924b7ea511dfe03a6506a0ceba4888788d9b92916114b191906133a7565b634e487b7160e01b84526011600452602484fd5b8280fd5b503461025d57602036600319011261025d576115d7612ce8565b6115df6130db565b7f3377dc44241e779dd06afab5b788a35ca5f3b778836e2990bdb26a2a4b2e5ed6602061161c61160e426135d3565b6116166130a2565b906133a7565b600180546001600160d01b031981166001600160a01b039690961695861760a084811b65ffffffffffff60a01b169190911790925565ffffffffffff911c16611672575b65ffffffffffff60405191168152a280f35b7f8886ebfc4259abdbc16601dd8fb5678e54878f47b3c34836cfc51154a96051098580a1611660565b503461025d578060031936011261025d57602061023754604051908152f35b503461025d578060031936011261025d5760206040516302a619c08152f35b503461025d578060031936011261025d57602060ff600454166040519015158152f35b503461025d578060031936011261025d576020604051620151808152f35b503461025d578060031936011261025d576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b503461025d578060031936011261025d576117786130db565b60045460ff8116156117b85760ff19166004557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6020604051338152a180f35b638dfc202b60e01b8252600482fd5b503461025d57602036600319011261025d576020906040906001600160a01b036117ef612ce8565b168152600983522054604051908152f35b503461025d57604036600319011261025d5760043561181d612cfe565b908015806118d6575b611854575b336001600160a01b03831603611845579061048a91613595565b63334bd91960e11b8352600483fd5b60015465ffffffffffff60a082901c16906001600160a01b0316158015906118c6575b80156118b4575b61189a57506001805465ffffffffffff60a01b1916905561182b565b6319ca5ebb60e01b845265ffffffffffff16600452602483fd5b504265ffffffffffff8216101561187e565b5065ffffffffffff811615611877565b506002546001600160a01b03838116911614611826565b5034610ce45760a0366003190112610ce45760843567ffffffffffffffff8111610ce45761191f903690600401612d32565b919061192961312a565b6119316131d1565b611939613350565b6004355f52600760205260405f20926007840154600160ff821661195c81612d14565b14908161259e575b50156125685760243560048501540361253057600384019283549460ff8660201c1662015180810290808204620151801490151715611ade576119a79042612d84565b9563ffffffff87116124f95760081c60ff165b85546119d260ff8260181c1660ff8360081c16612d84565b821015611b0d576065820282810460651483151715611ade5760ff6119fd611a089282851690612d84565b9260101c1682612d84565b905b818110611a1b5750506001016119ba565b8060031c61022c811015611af95780600b0180549160018101809111611ade578060031b9080820460081490151715611ade57848111611af2575b808410611a64575055611a0a565b92916007831660e08460051b169080820460201490151715611ade574263ffffffff83831c1611611aae57611aa89163ffffffff808f16831b921b19161792613044565b92611a56565b60405162461bcd60e51b81526020600482015260086024820152671bd8d8dd5c1a595960c21b6044820152606490fd5b634e487b7160e01b5f52601160045260245ffd5b5083611a56565b634e487b7160e01b5f52603260045260245ffd5b505060078101805470ffffffffffffffff0000000000000000ff19164260481b67ffffffffffffffff60481b161760021767ffffffffffffffff60881b1916608888901b67ffffffffffffffff60881b16179055836002820190815494600184019560018060a01b038754165f526009602052611b8f60405f20918254612d91565b905582546050810281810460501482151715611ade576064611bb391048092612d91565b6040516370a0823160e01b815230600482015290937f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169390602083602481885afa928315612009575f936124c5575b5089546001600160a01b031661205e57501580612054575b8061204a575b1561201457823b15610ce457604051630d0e30db60e41b81525f8160048186885af1801561200957611ff4575b506040516370a0823160e01b815230600482015290602082602481875afa8015611f3d578890611fc0575b611c8b9250612d91565b91818303611f8d575b6040516370a0823160e01b81527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0381166004830181905291929190602084602481865afa938415611f82579086918b95611f48575b5060209291611d00918561336b565b6024604051809481936370a0823160e01b835260048301525afa908115611f3d57908492918991611f04575b5090611d3791612d91565b03611ed05786546001600160a01b0316611e7157824710611e595785808080867f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af196611d8c6131f1565b9715611e365760079697505b60018060a01b03905416935460405194855260208501526040840152606083015260808201527f2865b1f62205ef7b5ccfbcc354a9a5ae2cf363db0db5e3e1d2b257d2172a08d460a060043592a2015467ffffffffffffffff60405191818160481c16835260881c1660208201527f9287e8a5776d6ddc0138ad9de6c13e258200a7b3c68c2fcd78f64136443794a6604060043592a2600160035580f35b87518890889015611e4a5750602081519101fd5b63d6bda27560e01b8152600490fd5b63cf47918160e01b8652476004526024839052604486fd5b949560079590611ecb847f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03167f000000000000000000000000000000000000000000000000000000000000000061336b565b611d98565b60405162461bcd60e51b815260206004820152600c60248201526b706f742064656c697665727960a01b6044820152606490fd5b919250506020813d602011611f35575b81611f2160209383612deb565b81010312610ce45751839190611d37611d2c565b3d9150611f14565b6040513d8a823e3d90fd5b92915093506020823d602011611f7a575b81611f6660209383612deb565b81010312610ce45790519285906020611cf1565b3d9150611f59565b6040513d8c823e3d90fd5b60405162461bcd60e51b815260206004820152600b60248201526a1ddc985c08185b5bdd5b9d60aa1b6044820152606490fd5b506020823d602011611fec575b81611fda60209383612deb565b81010312610ce457611c8b9151611c81565b3d9150611fcd565b6120019197505f90612deb565b5f9588611c56565b6040513d5f823e3d90fd5b60405162461bcd60e51b815260206004820152600e60248201526d06e6f206e617469766520737761760941b6044820152606490fd5b5060643515611c29565b5060443515611c23565b6044351515806124b9575b806124a2575b1561246f576040516370a0823160e01b8152306004820152917f0000000000000000000000000000000000000000000000000000000000000000916001600160a01b03831691602085602481865afa948515612009575f9561243b575b5060405163095ea7b360e01b60208083019182526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000166024840181905260448085018c90528452949092909183905f9061212f606485612deb565b835190828b5af15f513d8261241f575b5050156123dc575b5060e48a846040519586948593631672578760e01b85528a600486015260248501528d60448501526044356064850152606435608485015260c060a48501528160c4850152848401375f838284010152601f801991011681010301815f865af18015612009576123a7575b509060209160249360405190845f81840163095ea7b360e01b81528589860152816044860152604485526121e7606486612deb565b84519082855af15f513d8261238b575b50501561234d575b505050604051928380926370a0823160e01b82523060048301525afa80156120095784915f91612316575b506122359192612d91565b036122e3576040516370a0823160e01b815230600482015290602082602481875afa8015612009575f906122af575b61226e9250612d91565b91604435831015611c945760405162461bcd60e51b815260206004820152600e60248201526d1b5a5b9a5b5d5b481bdd5d1c1d5d60921b6044820152606490fd5b506020823d6020116122db575b816122c960209383612deb565b81010312610ce45761226e9151612264565b3d91506122bc565b60405162461bcd60e51b815260206004820152600b60248201526a1a5b9c1d5d081cdc195b9d60aa1b6044820152606490fd5b9150506020813d602011612345575b8161233260209383612deb565b81010312610ce45751839061223561222a565b3d9150612325565b610c34612383936040519063095ea7b360e01b88830152888201525f60448201526044815261237d606482612deb565b82613507565b8c80806121ff565b90915061239f5750833b15155b5f806121f7565b600114612398565b91906020833d6020116123d4575b816123c260209383612deb565b81010312610ce45790915060206121b2565b3d91506123b5565b6124199061241360405163095ea7b360e01b868201528760248201525f60448201526044815261240d606482612deb565b89613507565b87613507565b8f612147565b9091506124335750853b15155b5f8061213f565b60011461242c565b9094506020813d602011612467575b8161245760209383612deb565b81010312610ce45751938d6120cc565b3d915061244a565b60405162461bcd60e51b815260206004820152600b60248201526a7377617020626f756e647360a81b6044820152606490fd5b506103844201804211611ade57606435111561206f565b50606435421115612069565b9092506020813d6020116124f1575b816124e160209383612deb565b81010312610ce45751918a611c0b565b3d91506124d4565b60405162461bcd60e51b815260206004820152600f60248201526e74696d657374616d702072616e676560881b6044820152606490fd5b60405162461bcd60e51b815260206004820152601060248201526f0c6dedce8cadce840dad2e6dac2e8c6d60831b6044820152606490fd5b60405162461bcd60e51b815260206004820152600e60248201526d6e6f742072657669657761626c6560901b6044820152606490fd5b67ffffffffffffffff915060081c16620151808101809111611ade5742105f611964565b34610ce4576020366003190112610ce4575f60a06040516125e281612d9e565b6040516125ee81612dce565b83815283602082015283604082015283606082015283608082015283838201528360c08201528360e0820152836101008201528361012082015283610140820152815282602082015282604082015282606082015282608082015201526004355f52600760205261020060405f2060076040519161266b83612d9e565b60405161267781612dce565b60018060a01b03825416815260018060a01b0360018301541660208201526002820154604082015260ff60038301548181166060840152818160081c166080840152818160101c1660a0840152818160181c1660c084015260201c1660e08201526004820154610100820152600582015461012082015260068201546101408201528352015467ffffffffffffffff60ff8216602084019061271881612d14565b81528160408501818560081c168152816060870191818760481c1683526080880194828860881c16865260ff60a08a019860c81c1615158852610140604051995160018060a01b038151168b5260018060a01b0360208201511660208c0152604081015160408c015260ff60608201511660608c015260ff60808201511660808c015260ff60a08201511660a08c015260ff60c08201511660c08c015260ff60e08201511660e08c01526101008101516101008c01526101208101516101208c015201516101408a0152516127ec81612d14565b610160890152511661018087015251166101a085015251166101c08301525115156101e0820152f35b34610ce4576040366003190112610ce457600435612831612cfe565b811561285a5781612853610480612858945f525f602052600160405f20015490565b6134c5565b005b631fe1e13d60e11b5f5260045ffd5b34610ce4575f366003190112610ce457602060405160658152f35b34610ce4576020366003190112610ce4576004356128a06131d1565b805f52600760205260405f206007810191825491600160ff84166128c381612d14565b03612a575780546001600160a01b031633148015612a20575b80156129fc575b156129c2576129bb9360036129b29460ff191617905560028101917f1c26abe6289671e3a9d493647349673af828abb9dbadff1e81762387f7cd99a3835492600181019360018060a01b038554165f52600960205261294760405f20918254612d91565b9055845481546001600160a01b039081165f908152600a6020908152604080832089549094168352929052208054909161298091612d84565b90555492549354604080516001600160a01b039687168082526020820193909352949095169590948694918291820190565b0390a381613220565b6001600355005b60405162461bcd60e51b81526020600482015260126024820152711b9bdd081c99599d5b9918589b19481e595d60721b6044820152606490fd5b5067ffffffffffffffff8360081c16620151808101809111611ade574210156128e3565b50335f9081527ff179aafcc4ff8137fca1ef3b9ec4d165f87016ba123e7973fba770bc55e240e3602052604090205460ff166128dc565b60405162461bcd60e51b815260206004820152600b60248201526a6e6f742070656e64696e6760a81b6044820152606490fd5b34610ce4576020366003190112610ce45760206114156004355f525f602052600160405f20015490565b34610ce4576040366003190112610ce457612acd612ce8565b6024356001600160a01b038116808203610ce457612ae96131d1565b15612af8576129bb9133613220565b60405162461bcd60e51b81526020600482015260096024820152681c9958da5c1a595b9d60ba1b6044820152606490fd5b34610ce4575f366003190112610ce4576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b34610ce4575f366003190112610ce4576020604051602c8152f35b34610ce4575f366003190112610ce457612ba06130db565b6002548060d01c80612bbe575b600280546001600160a01b03169055005b421115612bf057600180546001600160d01b031660309290921b6001600160d01b0319169190911790555b8080612bad565b507f2b1fa2edafe6f7b9e97c1a9e0c3660e645beb2dcaa2d45bdbf9beaf5472e1ec55f80a1612be9565b34610ce4575f366003190112610ce4576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b34610ce4575f366003190112610ce4576020604051620697808152f35b34610ce4576020366003190112610ce4576004359063ffffffff60e01b8216809203610ce4576020916318a4c3c360e11b8114908115612cbd575b5015158152f35b637965db0b60e01b811491508115612cd7575b5083612cb6565b6301ffc9a760e01b14905083612cd0565b600435906001600160a01b0382168203610ce457565b602435906001600160a01b0382168203610ce457565b60041115612d1e57565b634e487b7160e01b5f52602160045260245ffd5b9181601f84011215610ce45782359167ffffffffffffffff8311610ce45760208381860195010111610ce457565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b91908201809211611ade57565b91908203918211611ade57565b60c0810190811067ffffffffffffffff821117612dba57604052565b634e487b7160e01b5f52604160045260245ffd5b610160810190811067ffffffffffffffff821117612dba57604052565b90601f8019910116810190811067ffffffffffffffff821117612dba57604052565b81810292918115918404141715611ade57565b6004356001600160a01b0381168103610ce45790565b6024356001600160a01b0381168103610ce45790565b60a43560ff81168103610ce45790565b60c43560ff81168103610ce45790565b60e43560ff81168103610ce45790565b6004356001600160a01b03811690818103610ce457506024356001600160a01b0381169190828103610ce457506064359160ff831692838103610ce457506084359260ff841693848103610ce4575060a43560ff811690818103610ce4575060c4359060ff821691828103610ce4575060e4359560ff871693848803610ce457604297506040519560208701977f7acf6a055f24a97800e1bfb93d0f7ae69bb1b7b8e37a5db645f604dba7b5f197895260408801526060870152604435608087015260a086015260c085015260e08401526101008301526101208201526101043561014082015261012435610160820152610144356101808201526101808152612f886101a082612deb565b519020612f93613602565b906040519161190160f01b8352600283015260228201522090565b6001600160a01b03168015908115612fc4575090565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031614919050565b67ffffffffffffffff8111612dba57601f01601f191660200190565b1561301757565b60405162461bcd60e51b815260206004820152600560248201526476616c756560d81b6044820152606490fd5b5f198114611ade5760010190565b6064359060ff82168203610ce457565b6084359060ff82168203610ce457565b60a4359060ff82168203610ce457565b60c4359060ff82168203610ce457565b60e4359060ff82168203610ce457565b6002548060d01c80151590816130d1575b50156130c75760a01c65ffffffffffff1690565b5060015460d01c90565b905042115f6130b3565b335f9081527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5602052604090205460ff161561311357565b63e2517d3f60e01b5f52336004525f60245260445ffd5b335f9081527ff179aafcc4ff8137fca1ef3b9ec4d165f87016ba123e7973fba770bc55e240e3602052604090205460ff161561316257565b63e2517d3f60e01b5f52336004527f71f3d55856e4058ed06ee057d79ada615f65cdf5f9ee88181b914225088f834f60245260445ffd5b5f8181526020818152604080832033845290915290205460ff16156131bb5750565b63e2517d3f60e01b5f523360045260245260445ffd5b6002600354146131e2576002600355565b633ee5aeb560e01b5f5260045ffd5b3d1561321b573d9061320282612ff4565b916132106040519384612deb565b82523d5f602084013e565b606090565b6001600160a01b039081165f818152600a6020908152604080832094861683529390529190912054909291811561331f575f848152600a602090815260408083206001600160a01b03851680855292528220919091559283613303575f808085819460018060a01b031661c350f16132966131f1565b50156132a3575b50505050565b5f848152600a602090815260408083209583529481529084902083905583516001600160a01b039290921682528101919091527f9a403c1743439c359d9253999ac23cdace6385036037ab26eac350eb2fac1bf99190a25f80808061329d565b61331d945091926001600160a01b0390921691905061336b565b565b60405162461bcd60e51b81526020600482015260096024820152681b9bc818dc99591a5d60ba1b6044820152606490fd5b60ff6004541661335c57565b63d93c066560e01b5f5260045ffd5b60405163a9059cbb60e01b60208201526001600160a01b0392909216602483015260448083019390935291815261331d91610c34606483612deb565b9065ffffffffffff8091169116019065ffffffffffff8211611ade57565b9190823b61340057906133d791613914565b506133e181612d14565b1591826133ed57505090565b6001600160a01b03918216911614919050565b915f9261343661344485946040519283916020830195630b135d3f60e11b87526024840152604060448401526064830190612d60565b03601f198101835282612deb565b51915afa6134506131f1565b8161347e575b8161345f575090565b9050602081805181010312610ce45760200151630b135d3f60e11b1490565b905060208151101590613456565b600254906001600160a01b03821661285a576001600160a01b03199091166001600160a01b038216176002556134c2905f61394e565b90565b9081156134d6575b6134c29161394e565b600254916001600160a01b03831661285a576001600160a01b03199092166001600160a01b038216176002556134cd565b905f602091828151910182855af115612009575f513d61355657506001600160a01b0381163b155b6135365750565b635274afe760e01b5f9081526001600160a01b0391909116600452602490fd5b6001141561352f565b6002546134c291906001600160a01b03808316911614613580575b5f6139d6565b600280546001600160a01b031916905561357a565b906134c2918015806135bc575b156139d657600280546001600160a01b03191690556139d6565b506002546001600160a01b038381169116146135a2565b65ffffffffffff81116135eb5765ffffffffffff1690565b6306dfcc6560e41b5f52603060045260245260445ffd5b307f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031614806136f5575b1561365d577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a081526136ef60c082612deb565b51902090565b507f00000000000000000000000000000000000000000000000000000000000000004614613634565b60ff81146137645760ff811690601f82116137555760405191613742604084612deb565b6020808452838101919036833783525290565b632cd44ac360e21b5f5260045ffd5b506040515f6005548060011c916001821691821561383a575b60208410831461382657838552849290811561380757506001146137a8575b6134c292500382612deb565b5060055f90815290917f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db05b8183106137eb5750509060206134c29282010161379c565b60209193508060019154838588010152019101909183926137d3565b602092506134c294915060ff191682840152151560051b82010161379c565b634e487b7160e01b5f52602260045260245ffd5b92607f169261377d565b60ff81146138685760ff811690601f82116137555760405191613742604084612deb565b506040515f6006548060011c916001821691821561390a575b60208410831461382657838552849290811561380757506001146138ab576134c292500382612deb565b5060065f90815290917ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f5b8183106138ee5750509060206134c29282010161379c565b60209193508060019154838588010152019101909183926138d6565b92607f1692613881565b81519190604183036139445761393d9250602082015190606060408401519301515f1a90613a56565b9192909190565b50505f9160029190565b5f818152602081815260408083206001600160a01b038616845290915290205460ff166139d0575f818152602081815260408083206001600160a01b0395909516808452949091528120805460ff19166001179055339291907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9080a4600190565b50505f90565b5f818152602081815260408083206001600160a01b038616845290915290205460ff16156139d0575f818152602081815260408083206001600160a01b0395909516808452949091528120805460ff19169055339291907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9080a4600190565b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08411613acd579160209360809260ff5f9560405194855216868401526040830152606082015282805260015afa15612009575f516001600160a01b03811615613ac357905f905f90565b505f906001905f90565b5050505f916003919056fea2646970667358221220caa99191da3c11bede5b473b1886ac45c88fdc4e8bd0caa789155cfdcd7a392564736f6c634300081e0033"
    }
  }
}