[ { "inputs": [ { "internalType": "string", "name": "name_", "type": "string" }, { "internalType": "string", "name": "symbol_", "type": "string" }, { "internalType": "string", "name": "defaultBaseURI_", "type": "string" }, { "internalType": "uint8", "name": "decimals_", "type": "uint8" }, { "internalType": "uint256", "name": "ratio_", "type": "uint256" }, { "internalType": "address", "name": "operator_", "type": "address" }, { "internalType": "address", "name": "tradingHubAddress_", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "name": "QueueEmpty", "type": "error" }, { "inputs": [], "name": "QueueFull", "type": "error" }, { "inputs": [], "name": "QueueOutOfBounds", "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": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "spender", "type": "address" }, { "indexed": true, "internalType": "uint256", "name": "id", "type": "uint256" } ], "name": "Approval", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "operator", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "approved", "type": "bool" } ], "name": "ApprovalForAll", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "string", "name": "baseURI", "type": "string" } ], "name": "SetBaseURI", "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": "amount", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": true, "internalType": "uint256", "name": "id", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "inputs": [], "name": "DOMAIN_SEPARATOR", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "ID_ENCODING_PREFIX", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "MAX_TOTAL_SUPPLY", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "SEND_TO_LOCKED_POOL", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "TOTAL_ERC721_SUPPLY", "outputs": [ { "internalType": "uint24", "name": "", "type": "uint24" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "address", "name": "", "type": "address" } ], "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender_", "type": "address" }, { "internalType": "uint256", "name": "valueOrId_", "type": "uint256" } ], "name": "approve", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "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": [ { "internalType": "address", "name": "spender_", "type": "address" }, { "internalType": "uint256", "name": "value_", "type": "uint256" } ], "name": "erc20Approve", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner_", "type": "address" } ], "name": "erc20BalanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "erc20TotalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from_", "type": "address" }, { "internalType": "address", "name": "to_", "type": "address" }, { "internalType": "uint256", "name": "value_", "type": "uint256" } ], "name": "erc20TransferFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender_", "type": "address" }, { "internalType": "uint256", "name": "id_", "type": "uint256" } ], "name": "erc721Approve", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner_", "type": "address" } ], "name": "erc721BalanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "erc721TotalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "target_", "type": "address" } ], "name": "erc721TransferExempt", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from_", "type": "address" }, { "internalType": "address", "name": "to_", "type": "address" }, { "internalType": "uint256", "name": "id_", "type": "uint256" } ], "name": "erc721TransferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "getApproved", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getERC721QueueLength", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "start_", "type": "uint256" }, { "internalType": "uint256", "name": "count_", "type": "uint256" } ], "name": "getERC721TokensInQueue", "outputs": [ { "internalType": "uint256[]", "name": "", "type": "uint256[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "address", "name": "", "type": "address" } ], "name": "isApprovedForAll", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "launchHubAddress", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "assetPool_", "type": "address" }, { "internalType": "address", "name": "lockedPool_", "type": "address" } ], "name": "mintForPools", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "minted", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "nonces", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "operator", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner_", "type": "address" } ], "name": "owned", "outputs": [ { "internalType": "uint256[]", "name": "", "type": "uint256[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "id_", "type": "uint256" } ], "name": "ownerOf", "outputs": [ { "internalType": "address", "name": "erc721Owner", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner_", "type": "address" }, { "internalType": "address", "name": "spender_", "type": "address" }, { "internalType": "uint256", "name": "value_", "type": "uint256" }, { "internalType": "uint256", "name": "deadline_", "type": "uint256" }, { "internalType": "uint8", "name": "v_", "type": "uint8" }, { "internalType": "bytes32", "name": "r_", "type": "bytes32" }, { "internalType": "bytes32", "name": "s_", "type": "bytes32" } ], "name": "permit", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from_", "type": "address" }, { "internalType": "address", "name": "to_", "type": "address" }, { "internalType": "uint256", "name": "id_", "type": "uint256" } ], "name": "safeTransferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from_", "type": "address" }, { "internalType": "address", "name": "to_", "type": "address" }, { "internalType": "uint256", "name": "id_", "type": "uint256" }, { "internalType": "bytes", "name": "data_", "type": "bytes" } ], "name": "safeTransferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "operator_", "type": "address" }, { "internalType": "bool", "name": "approved_", "type": "bool" } ], "name": "setApprovalForAll", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "baseURI_", "type": "string" } ], "name": "setBaseURI", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account_", "type": "address" }, { "internalType": "bool", "name": "value_", "type": "bool" } ], "name": "setERC721TransferExempt", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "state_", "type": "bool" } ], "name": "setSelfERC721TransferExempt", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes4", "name": "interfaceId", "type": "bytes4" } ], "name": "supportsInterface", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "id_", "type": "uint256" } ], "name": "tokenURI", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "tradingHubAddress", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "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": "valueOrId_", "type": "uint256" } ], "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "units", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" } ]
6101206040818152346200085f5762003884803803809162000022828662000864565b843982019160e0818403126200085f5780516001600160401b0381116200085f57836200005191830162000888565b60208201519091906001600160401b0381116200085f57846200007691830162000888565b8184015190946001600160401b0382116200085f576200009891830162000888565b606082015160ff811681036200085f5760808301519060a096620000cc60c0620000c48a8801620008fe565b9601620008fe565b865190966001600160401b03821162000563578190620000ee60025462000913565b601f8111620007fb575b50602090601f8311600114620007815760009262000775575b50508160011b916000199060031b1c1916176002555b8051906001600160401b038211620005635781906200014860035462000913565b601f811162000700575b50602090601f8311600114620006715760009262000665575b50508160011b916000199060031b1c1916176003555b601260ff8216106200062e5780608052604d60ff821611620003ba5760ff16600a0a90818102918183041490151715620003ba5785524660c052835190600060025492620001cf8462000913565b8082528160208101936001968781169081600014620006105750600114620005bd575b620002009250038262000864565b51902085517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201908152818801929092527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc66060820152466080820152308882015287815260c08101916001600160401b0383118284101762000563578288528151902060e052825115620005795750508051906001600160401b0382116200056357620002b3600f5462000913565b601f8111620004f6575b50602090601f83116001146200048b579282939183926000946200047f575b50501b916000199060031b1c191617600f555b601080546001600160a01b03199081163317909155916001600160a01b039182168015620004295783601254161760125516908115620003d05760115416176011558151906106ea9180830292830403620003ba576101009182525190612f139283620009518439608051836110ae015251828181610ae50152818161114601528181611f41015281816122870152818161234a015281816125180152818161259201526125f5015260c0518261169f015260e051826116c601525181818161089a015261117f0152f35b634e487b7160e01b600052601160045260246000fd5b825162461bcd60e51b815260206004820152602c60248201527f455243343034546f6b656e3a2074726164696e6720687562206973207468652060448201526b7a65726f206164647265737360a01b6064820152608490fd5b845162461bcd60e51b815260206004820152602960248201527f455243343034546f6b656e3a206f70657261746f7220697320746865207a65726044820152686f206164647265737360b81b6064820152608490fd5b015192503880620002dc565b90601f19831691600f6000528360206000209360005b87828210620004dc57505010620004c2575b505050811b01600f55620002ef565b015160001960f88460031b161c19169055388080620004b3565b8486015187559095019460209485019487935001620004a1565b600f6000527f8d1108e10bcb7c27dddfc02ed9d693a074039d026cf4ea4240b40f7d581ac802601f840160051c8101916020851062000558575b601f0160051c019084905b8281106200054b575050620002bd565b600081550184906200053b565b909150819062000530565b634e487b7160e01b600052604160045260246000fd5b62461bcd60e51b8252602060c4820152601d60e48201527f455243343034546f6b656e3a206261736555524920697320656d70747900000061010490910152606490fd5b5060026000908152909186600080516020620038648339815191525b828410620005f5575050509060206200020092820101620001f2565b602092945080548385880101520191019091868493620005d9565b60ff19168652506200020092151560051b82016020019050620001f2565b855162461bcd60e51b815260206004820152601060248201526f446563696d616c73546f6f4c6f77282960801b6044820152606490fd5b0151905038806200016b565b6003600090815293507fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b91905b601f1984168510620006e4576001945083601f19811610620006ca575b505050811b0160035562000181565b015160001960f88460031b161c19169055388080620006bb565b818101518355602094850194600190930192909101906200069e565b60036000529091507fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b601f840160051c810191602085106200076a575b90601f859493920160051c01905b8181106200075a575062000152565b600081558493506001016200074b565b90915081906200073d565b01519050388062000111565b60026000908152600080516020620038648339815191529350601f198516905b818110620007e25750908460019594939210620007c8575b505050811b0160025562000127565b015160001960f88460031b161c19169055388080620007b9565b92936020600181928786015181550195019301620007a1565b600260005290915060008051602062003864833981519152601f840160051c8101916020851062000854575b90601f859493920160051c01905b818110620008445750620000f8565b6000815584935060010162000835565b909150819062000827565b600080fd5b601f909101601f19168101906001600160401b038211908210176200056357604052565b919080601f840112156200085f5782516001600160401b038111620005635760209060405192620008c383601f19601f850116018562000864565b8184528282870101116200085f5760005b818110620008ea57508260009394955001015290565b8581018301518482018401528201620008d4565b51906001600160a01b03821682036200085f57565b90600182811c9216801562000945575b60208310146200092f57565b634e487b7160e01b600052602260045260246000fd5b91607f16916200092356fe60806040908082526004918236101561001757600080fd5b600091823560e01c90816301ffc9a7146113d25750806302519da314610c9457806306fdde031461131f578063081812fc146112ee578063095ea7b3146112c657806309674eb01461126b57806309f0ef651461124657806318160ddd14610c1957806323b872dd1461122b57806327d83333146110f95780632f11e040146110d2578063313ce5671461109557806333039d3d1461106f5780633644e5151461104c57806342842e0e146110245780634d96607214610ffc5780634f02c4201461080057806355f804b314610dde578063570ca73514610db75780636352211e14610d005780636598b69b14610ce45780636e8f624b14610cca57806370a0823114610c945780637ecebe0014610c5e5780638575b0d014610c3757806389fb4c6614610c195780638a696e5014610bf257806395d89b4114610b08578063976a843514610ace578063a22cb465146109fe578063a9059cbb14610982578063b1ab9317146108f3578063b3f9ea34146108bd578063b496ecf814610883578063b88d4fde1461081e578063c5ab3ba614610800578063c6e672b9146107a9578063c87b56dd14610775578063d505accf14610486578063d96ca0b914610462578063dd62ed3e1461041a578063dd63769914610402578063dfabc033146103d8578063e985e9c51461038b5763f780bc1a1461021457600080fd5b346103875780600319360112610387578235906024926024359361023785611962565b92849261028160005467ffffffffffffffff908167fffffffffffffff081600f199381838260041b169382607c1c169181808260c01c9260401c1660100316011601160316011690565b9182891b601093808204601014901517159483549367ffffffffffffffff968780871696861c16985b6102b48d8d6119cd565b8110156103765781610364578d8582101561035657818d61034d8e6103478f8f8f8f908861031d848c816102b49f9660019f828099670fffffffffffffff921c1693600f88168c01901c160116011667ffffffffffffffff166000526001602052604060002090565b549408169061033d61ffff93848361033486612eba565b161b1692612eba565b161c169385611677565b906119da565b520190506102aa565b865163580821e760e01b8152fd5b5050634e487b7160e01b815260118c52fd5b8551806103838d826115c4565b0390f35b5080fd5b503461038757806003193601126103875760ff816020936103aa611426565b6103b2611441565b6001600160a01b0391821683526009875283832091168252855220549151911615158152f35b5034610387573660031901126103ff576103fc6103f3611426565b6024359061207a565b80f35b80fd5b82346103ff576103fc6104143661152d565b91611ed3565b503461038757806003193601126103875780602092610437611426565b61043f611441565b6001600160a01b0391821683526007865283832091168252845220549051908152f35b50346103875760209061047d6104773661152d565b91611dd2565b90519015158152f35b5082346107715760e0366003190112610771576104a1611426565b916104aa611441565b9060443590606435936084359360ff851680950361076d5742861061072a576104d28461214d565b6106e7576001600160a01b038091169687156106a557816104f161169a565b911696878a52602096600d8852858b2092835493600185019055865192898401947f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c986528b898601528c606086015289608086015260a085015260c084015260c0835260e0830167ffffffffffffffff9484821086831117610692578189528451902061010085019261190160f01b8452610102860152610122850152604281526101608401948186109086111761067f57848852519020835261018082015260a4356101a082015260c4356101c0909101528880528590899060809060015afa1561067557875116908115801561066b575b61062857508652600783528086208587528352808620829055519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259190a380f35b825162461bcd60e51b8152908101859052600f60248201527f496e76616c69645369676e6572282900000000000000000000000000000000006044820152606490fd5b50858214156105e4565b82513d89823e3d90fd5b634e487b7160e01b8d526041875260248dfd5b634e487b7160e01b8e526041885260248efd5b835162461bcd60e51b815260208185018181526010918101919091526f496e76616c69645370656e646572282960801b604082015281906060010390fd5b0390fd5b506020606492519162461bcd60e51b8352820152601160248201527f496e76616c6964417070726f76616c28290000000000000000000000000000006044820152fd5b506020606492519162461bcd60e51b8352820152601760248201527f5065726d6974446561646c696e654578706972656428290000000000000000006044820152fd5b8780fd5b8280fd5b5090346103ff5760203660031901126103ff57506107966103839235611b6b565b9051918291602083526020830190611508565b5034610387573660031901126103ff576103fc6107c4611426565b6107cc6115b5565b906107ed6001600160a01b03806012541633149081156107f2575b506118d8565b612207565b9050601154163314866107e7565b50346103875781600319360112610387576020906005549051908152f35b82843461038757608036600319011261038757610839611426565b610841611441565b9060643567ffffffffffffffff811161087f573660238201121561087f576103fc938160246108759336930135910161157e565b91604435916119ee565b8480fd5b5034610387578160031936011261038757602090517f00000000000000000000000000000000000000000000000000000000000000008152f35b503461038757602036600319011261038757806020926001600160a01b036108e3611426565b168152600b845220549051908152f35b5090346103ff57602080600319360112610387576001600160a01b03610917611426565b1691828152600b8060205261092e85832054611962565b92825b8584528282528684208054821015610975578161ffff6109578a97969594600194611994565b90549060031b1c1661096982896119da565b52019091929350610931565b87518061038388826115c4565b5090346103ff57816003193601126103ff575061099d611426565b916001600160a01b038316156109be575061047d602092602435903361248d565b6106e3915191829162461bcd60e51b83528201606090602081526012602082015271496e76616c6964526563697069656e74282960701b60408201520190565b50829034610771578060031936011261077157610a19611426565b906001600160a01b03610a2a6115b5565b9216928315610a8c57503384526009602052808420838552602052610a5d828286209060ff801983541691151516179055565b5190151581527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160203392a380f35b6020606492519162461bcd60e51b8352820152601160248201527f496e76616c69644f70657261746f7228290000000000000000000000000000006044820152fd5b5034610387578160031936011261038757602090517f00000000000000000000000000000000000000000000000000000000000000008152f35b5090346103ff57806003193601126103ff578151918282600354610b2b81611457565b9081845260209560019187600182169182600014610bcb575050600114610b6f575b5050506103839291610b609103856114c3565b51928284938452830190611508565b9190869350600383527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b828410610bb35750505082010181610b60610383610b4d565b8054848a018601528895508794909301928101610b9a565b60ff19168782015293151560051b86019093019350849250610b6091506103839050610b4d565b82843461038757602036600319011261038757358015158103610387576103fc9033612207565b50823461077157826003193601126107715760209250549051908152f35b50346103875781600319360112610387576020906001600160a01b03601154169051908152f35b503461038757602036600319011261038757806020926001600160a01b03610c84611426565b168152600d845220549051908152f35b503461038757602036600319011261038757806020926001600160a01b03610cba611426565b1681526006845220549051908152f35b503461038757816003193601126103875751908152602090f35b50346103875781600319360112610387576020905161140a8152f35b50913461038757602036600319011261038757610d336001600160a01b0384833594858152600a6020522054169261214d565b15610d78578115610d48575060209151908152f35b606490602084519162461bcd60e51b8352820152600a6024820152694e6f74466f756e64282960b01b6044820152fd5b6106e390835191829162461bcd60e51b8352820160609060208152601060208201526f496e76616c6964546f6b656e4964282960801b60408201520190565b50346103875781600319360112610387576020906001600160a01b03601254169051908152f35b50913461038757602092836003193601126107715767ffffffffffffffff823581811161087f573660238201121561087f57610e23903690602481870135910161157e565b92610e436001600160a01b0380601254163314908115610fee57506118d8565b8351918211610fdb5750610e58600f54611457565b601f8111610f79575b5084601f8211600114610ed3579181610ec2928697947f23c8c9488efebfd474e85a7956de6f39b17c7ab88502d42a623db2d8e382bbaa9791610ec8575b508160011b916000199060031b1c191617600f5551928284938452830190611508565b0390a180f35b905085015138610e9f565b600f85527f8d1108e10bcb7c27dddfc02ed9d693a074039d026cf4ea4240b40f7d581ac80290601f198316865b818110610f625750927f23c8c9488efebfd474e85a7956de6f39b17c7ab88502d42a623db2d8e382bbaa9697949260019282610ec29610610f49575b5050811b01600f55610b60565b87015160001960f88460031b161c191690553880610f3c565b91928860018192868a015181550194019201610f00565b600f85527f8d1108e10bcb7c27dddfc02ed9d693a074039d026cf4ea4240b40f7d581ac802601f830160051c810191878410610fd1575b601f0160051c01905b818110610fc65750610e61565b858155600101610fb9565b9091508190610fb0565b634e487b7160e01b855260419052602484fd5b9050601154163314386107e7565b503461038757806003193601126103875760209061047d61101b611426565b60243590611843565b5034610387576103fc906110373661152d565b9192519261104484611491565b8584526119ee565b503461038757816003193601126103875760209061106861169a565b9051908152f35b5034610387578160031936011261038757602090516b033b2e3c9fd0803ce80000008152f35b50346103875781600319360112610387576020905160ff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b50346103875781600319360112610387576020906001600160a01b03601054169051908152f35b5034610387578060031936011261038757611112611426565b9061111b611441565b906001600160a01b036010541633036111c3575061113882612168565b61114181612168565b61140a7f000000000000000000000000000000000000000000000000000000000000000081810293918404036111b057906111ab6103fc93926111a57f00000000000000000000000000000000000000000000000000000000000000008095611677565b90612319565b612319565b634e487b7160e01b845260118552602484fd5b5162461bcd60e51b8152602081860152602e60248201527f455243343034546f6b656e3a2063616c6c6572206973206e6f7420746865206c60448201527f61756e636820636f6e74726163740000000000000000000000000000000000006064820152608490fd5b50346103875760209061047d6112403661152d565b91611655565b50346103875760203660031901126103875760209061047d611266611426565b611629565b503461038757816003193601126103875760209061106860005467ffffffffffffffff908167fffffffffffffff081600f199381838260041b169382607c1c169181808260c01c9260401c1660100316011601160316011690565b503461038757806003193601126103875760209061047d6112e5611426565b60243590611600565b50823461077157602036600319011261077157816020936001600160a01b0392358152600885522054169051908152f35b5090346103ff57806003193601126103ff57815191828260025461134281611457565b9081845260209560019187600182169182600014610bcb575050600114611376575050506103839291610b609103856114c3565b9190869350600283527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace5b8284106113ba5750505082010181610b60610383610b4d565b8054848a0186015288955087949093019281016113a1565b83908534610771576020366003190112610771573563ffffffff60e01b81168091036107715760209250630307db5360e21b8114908115611415575b5015158152f35b6301ffc9a760e01b1490508361140e565b600435906001600160a01b038216820361143c57565b600080fd5b602435906001600160a01b038216820361143c57565b90600182811c92168015611487575b602083101461147157565b634e487b7160e01b600052602260045260246000fd5b91607f1691611466565b6020810190811067ffffffffffffffff8211176114ad57604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff8211176114ad57604052565b60005b8381106114f85750506000910152565b81810151838201526020016114e8565b90602091611521815180928185528580860191016114e5565b601f01601f1916010190565b606090600319011261143c576001600160a01b0390600435828116810361143c5791602435908116810361143c579060443590565b67ffffffffffffffff81116114ad57601f01601f191660200190565b92919261158a82611562565b9161159860405193846114c3565b82948184528183011161143c578281602093846000960137010152565b60243590811515820361143c57565b602090602060408183019282815285518094520193019160005b8281106115ec575050505090565b8351855293810193928101926001016115de565b9061160a8161214d565b1561161d576116189161207a565b600190565b61162691611843565b90565b6001600160a01b0316801590811561163f575090565b9050600052600c60205260ff6040600020541690565b91906116608261214d565b1561166e5761161892611ed3565b61162692611dd2565b9190820391821161168457565b634e487b7160e01b600052601160045260246000fd5b6000467f0000000000000000000000000000000000000000000000000000000000000000036116e857507f000000000000000000000000000000000000000000000000000000000000000090565b60405160025482916116f982611457565b8082528160209485820194600190876001821691826000146118255750506001146117cb575b5061172c925003826114c3565b51902091604051918201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f845260408301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608301524660808301523060a083015260a0825260c082019082821067ffffffffffffffff8311176117b7575060405251902090565b634e487b7160e01b81526041600452602490fd5b6002885286915087907f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace5b85831061180d57505061172c93508201013861171f565b805483880185015286945088939092019181016117f6565b60ff1916885261172c95151560051b850101925038915061171f9050565b6001600160a01b03169081156118a057336000526007602052604060002082600052602052806040600020556040519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560203392a3600190565b60405162461bcd60e51b815260206004820152601060248201526f496e76616c69645370656e646572282960801b6044820152606490fd5b156118df57565b60405162461bcd60e51b815260206004820152603660248201527f455243343034546f6b656e3a2063616c6c6572206973206e6f7420746865206f60448201527f70657261746f72206f722074726164696e6720687562000000000000000000006064820152608490fd5b67ffffffffffffffff81116114ad5760051b60200190565b9061196c8261194a565b61197960405191826114c3565b828152809261198a601f199161194a565b0190602036910137565b91909180548310156119b757600052601e60206000208360041c019260011b1690565b634e487b7160e01b600052603260045260246000fd5b9190820180921161168457565b80518210156119b75760209160051b010190565b9190926119fa8261214d565b15611b3357611a0a828585611655565b50833b15159384611a65575b50505050611a2057565b60405162461bcd60e51b815260206004820152601160248201527f556e73616665526563697069656e7428290000000000000000000000000000006044820152606490fd5b611ab0939450906020916001600160a01b039360405180968194829388630a85bd0160e11b9b8c86523360048701521660248501526044840152608060648401526084830190611508565b03916000958691165af1918215611b26578192611adf575b50506001600160e01b031916141538808080611a16565b9091506020813d602011611b1e575b81611afb602093836114c3565b810103126103875751906001600160e01b0319821682036103ff57503880611ac8565b3d9150611aee565b50604051903d90823e3d90fd5b60405162461bcd60e51b815260206004820152601060248201526f496e76616c6964546f6b656e4964282960801b6044820152606490fd5b600f5490611b7882611457565b15611dbd579060009082907a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008281811015611daf575b50506d04ee2d6d415b85acef810000000080831015611da0575b50662386f26fc1000080831015611d91575b506305f5e10080831015611d82575b5061271080831015611d73575b506064821015611d63575b600a80921015611d59575b600180840193611c2f611c1986611562565b95611c2760405197886114c3565b808752611562565b9360209683602189890194601f19809901368737890101905b611d1d575b505050604051958693600093611c6282611457565b9160018116908115611cfe5750600114611c99575b505050611c8c829161162696519384916114e5565b01039081018352826114c3565b909196929350600f6000527f8d1108e10bcb7c27dddfc02ed9d693a074039d026cf4ea4240b40f7d581ac802906000915b838310611ce85750505061162695611c8c9185010192919538611c77565b80548a84018a0152899650918801918101611cca565b60ff1916878501525050801515028401019150611c8c61162638611c77565b600019019082907f30313233343536373839616263646566000000000000000000000000000000008282061a835304908482611c485750611c4d565b9160010191611c07565b9190606460029104910191611bfc565b60049193920491019138611bf1565b60089193920491019138611be4565b60109193920491019138611bd5565b60209193920491019138611bc3565b604094500491503880611ba9565b5050604051611dcb81611491565b6000815290565b91906001600160a01b0392838116938415611e8e57821615611e545761162693338103611e00575b5061248d565b83600082815260076020526040812033825260205260408120546000198103611e2c575b505050611dfa565b604092611e3891611677565b9281526007602052818120338252602052205538838180611e24565b60405162461bcd60e51b8152602060048201526012602482015271496e76616c6964526563697069656e74282960701b6044820152606490fd5b60405162461bcd60e51b815260206004820152600f60248201527f496e76616c696453656e646572282900000000000000000000000000000000006044820152606490fd5b9291906001600160a01b0393848116948515611e8e5780831615611e5457600095848752602091600a83526040978189822054168303612036578890833314159384612015575b5083611ffe575b505050611fbb57611f3183611629565b611f6e5750611f6c939450611f677f00000000000000000000000000000000000000000000000000000000000000008383612706565b61278c565b565b60849086519062461bcd60e51b82526004820152602160248201527f526563697069656e7449734552433732315472616e736665724578656d7074286044820152602960f81b6064820152fd5b60649086519062461bcd60e51b82526004820152600f60248201527f556e617574686f72697a656428332900000000000000000000000000000000006044820152fd5b878152600885522054163314159050388781611f21565b81526009855289812033825285528981205460ff1615935089915038611f1a565b885162461bcd60e51b815260048101859052600f60248201527f556e617574686f72697a656428322900000000000000000000000000000000006044820152606490fd5b6000828152600a6020526001600160a01b038060408320541691823314158061212c575b6120e7577f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591858252600860205260408220941693846001600160a01b031982541617905580a4565b60405162461bcd60e51b815260206004820152600f60248201527f556e617574686f72697a656428312900000000000000000000000000000000006044820152606490fd5b5082815260096020526040812033825260205260ff6040822054161561209e565b801515908161215a575090565b905061ffff600e5416101590565b6001600160a01b0381169081156121c25781600052600b6020526040600020549060005b8281106121b057505050600052600c6020526040600020600160ff19825416179055565b6001906121bc836129aa565b0161218c565b60405162461bcd60e51b815260206004820152601260248201527f496e76616c69644578656d7074696f6e282900000000000000000000000000006044820152606490fd5b91906001600160a01b03831680156121c25781156122715780600052600b60205260406000205460005b81811061225f575050611f6c9293505b600052600c60205260406000209060ff801983541691151516179055565b60019061226b876129aa565b01612231565b91908260005260066020526122ac6040600020547f0000000000000000000000000000000000000000000000000000000000000000906122f9565b9280600052600b60205260406000205460005b6122c98287611677565b8110156122e9579060016122c9926122e089612bf5565b019091506122bf565b505090919350611f6c9250612241565b8115612303570490565b634e487b7160e01b600052601260045260246000fd5b6001600160a01b0381168015611e54576004546b033b2e3c9fd0803ce800000061234385836119cd565b11612453577f00000000000000000000000000000000000000000000000000000000000000009161ffff948561237985836122f9565b1690600e54918783160191878311611684576020978493169061ffff191617600e55600687527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60009788928484526123d7816040862054986119cd565b6004558484526006825260408420818154019055604051908152a36123fb84611629565b15612408575b5050505050565b6124319261242b91865260066020526124258160408820546122f9565b926122f9565b90611677565b915b828110612441578080612401565b60019061244d83612bf5565b01612433565b60405162461bcd60e51b81526020600482015260126024820152714d696e744c696d697452656163686564282960701b6044820152606490fd5b91906001600160a01b039182841660009481865260209060068252604092838820549686169687895284892054956124c6818986612706565b6124cf84611629565b6124d889611629565b9080806126ff575b156124f7575b505050505050505050505050600190565b1561256e57505050505090600661242b9261253e95968852528520546124257f000000000000000000000000000000000000000000000000000000000000000080926122f9565b915b82811061255c575050505b3880808080808080808080806124e6565b60019061256883612bf5565b01612540565b98909196929793986000146125e757505050509161242b9160066125c495946125b87f000000000000000000000000000000000000000000000000000000000000000080956122f9565b958952528620546122f9565b915b8281106125d55750505061254b565b6001906125e1836129aa565b016125c6565b919697909561261b999493997f000000000000000000000000000000000000000000000000000000000000000080986122f9565b988991865b8381106126995750948896929461242b9894889661265e60069561264b61266f9f9e6124259c6122f9565b90885286865261242b8a8a8a20546122f9565b1161268a575b5083525220546122f9565b1161267b575b5061254b565b61268490612bf5565b38612675565b612693906129aa565b38612664565b90918093508752600b808752888820549060001982019182116126eb578d61ffff6126d2600195946126e194898e528c528d8d20611994565b90549060031b1c16908761278c565b01908a9291612620565b634e487b7160e01b89526011600452602489fd5b50816124e0565b60207fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef916001600160a01b0380911693841560001461276d5761274b866004546119cd565b6004555b169384600052600682526040600020818154019055604051908152a3565b84600052600683526040600020612785878254611677565b905561274f565b6001600160a01b03809116918261289d575b16908115612888576000838152600a60205260408120836001600160a01b0319825416019055828152600b602052604081208054906801000000000000000082101561287457816127f791600161281494018155611994565b61ffff87169061ffff8084549260031b9316831b921b1916179055565b828152600b602052604081205460001981019190821161286057506128399084612e2f565b7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600080a4565b634e487b7160e01b81526011600452602490fd5b634e487b7160e01b83526041600452602483fd5b82600052600a60205260006040812055612839565b60008481526008602052604081206001600160a01b03198154169055838152600b602052604081208054600019918282019182116129965761ffff916128e291611994565b90549060031b1c16868103612943575b50848252600b6020526040822091825490811561292f575001906129296129198383611994565b61ffff82549160031b1b19169055565b5561279e565b634e487b7160e01b81526031600452602490fd5b61299090878452600a602052604084205460a01c90878552600b60205261298b816129718460408920611994565b90919061ffff8084549260031b9316831b921b1916179055565b612e2f565b386128f2565b634e487b7160e01b84526011600452602484fd5b6001600160a01b03168015611e8e576000908082526020600b815260409182842091825460001993848201918211612be157906129e691611994565b929061ffff938491549060031b1c1691828752600881528587206001600160a01b03198154169055818752600b81528587208054908682019182116126eb578591612a3091611994565b90549060031b1c1686848203612bb0575b5050818752600b815285872080548015612b9c57889285949288600a930190612a6d6129198383611994565b558484525281878120557fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8280a484549267ffffffffffffffff9081851685871c831680612b8f5750908291011691600f935b82841695838160801c1687149081612b80575b50612b6f578392612b4f92612b3492612b126fffffffffffffffff0000000000000000989767ffffffffffffffff166000526001602052604060002090565b549083612b1e89612eba565b161b191691612b2c87612eba565b161b906119cd565b9167ffffffffffffffff166000526001602052604060002090565b558454931b16916fffffffffffffffffffffffffffffffff191617179055565b8651638acb5f2760e01b8152600490fd5b905060c01c8386161438612ad3565b9183919492011693612ac0565b634e487b7160e01b89526031600452602489fd5b612bda91858a52600a845261298b816129718c8581205460a01c95818a889352600b8a5220611994565b3886612a41565b634e487b7160e01b87526011600452602487fd5b906001600160a01b039182811615611e5457600090819382549467ffffffffffffffff936040968581891c168160c01c149081612e1d575b50612dbc575050600054838160801c16908060c01c908580821684149182612dae575b5050612d9d5786919080612d905750600f94906000190181165b612c888167ffffffffffffffff166000526001602052604060002090565b5461ffff808085612c988b612eba565b161b831685612ca68b612eba565b161c1693612cb389612eba565b161b191695612cc181612eba565b50600096612ce38367ffffffffffffffff166000526001602052604060002090565b556fffffffffffffffffffffffffffffffff77ffffffffffffffff000000000000000000000000000000006000549267ffffffffffffffff60c01b9060c01b169360801b1691161717600055935b848152600a60205220541680612d4c57611f6c93945061278c565b845162461bcd60e51b815260206004820152600f60248201527f416c7265616479457869737473282900000000000000000000000000000000006044820152606490fd5b6000190185169490612c6a565b86516375e52f4f60e01b8152600490fd5b891c16821490508538612c50565b909350600554600019918282146128605750600101600581905586918114612de45793612d31565b505162461bcd60e51b81526020600482015260126024820152714d696e744c696d697452656163686564282960701b6044820152606490fd5b9050858082169160801c161438612c2d565b80600052600a602052604060002054916bffffffffffffffffffffffff8111612e75576001600160a01b0391600052600a60205281199060a01b16911601604060002055565b60405162461bcd60e51b815260206004820152601460248201527f4f776e6564496e6465784f766572666c6f7728290000000000000000000000006044820152606490fd5b60041b90680ffffffffffffffff067fffffffffffffff08316921682036116845756fea264697066735822122058e4b0c6a19c16f2ab8e19b5e27cd1a296272b3146af2e1c6c3b2d0b352f8f5364736f6c63430008180033405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace00000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000186a0000000000000000000000000c5a2d4ffbb95570602616a7acaa4904c88a3be33000000000000000000000000a6137a81039944d3688fae191360caaec9225304000000000000000000000000000000000000000000000000000000000000000867617a65206361740000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003475a430000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002775706c6f6164732f746d702f746f6b656e2f323032342f303832382f67617a656361742e67696600000000000000000000000000000000000000000000000000