[ { "inputs": [ { "internalType": "string", "name": "_name", "type": "string" }, { "internalType": "string", "name": "_symbol", "type": "string" }, { "internalType": "uint8", "name": "_decimals", "type": "uint8" }, { "internalType": "uint256", "name": "_supply", "type": "uint256" }, { "internalType": "string", "name": "_description", "type": "string" }, { "internalType": "string", "name": "_extended", "type": "string" }, { "internalType": "address", "name": "_emCore", "type": "address" }, { "internalType": "address", "name": "_creator", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "name": "Forbidden", "type": "error" }, { "inputs": [], "name": "NotEmCore", "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": "amount", "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": "amount", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "inputs": [], "name": "DOMAIN_SEPARATOR", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "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": "amount", "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": "creator", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "description", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "emCore", "outputs": [ { "internalType": "contract EmCore", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "extended", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "offset", "type": "uint256" }, { "internalType": "uint256", "name": "limit", "type": "uint256" } ], "name": "getHolders", "outputs": [ { "internalType": "address[]", "name": "", "type": "address[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getHoldersLength", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "offset", "type": "uint256" }, { "internalType": "uint256", "name": "limit", "type": "uint256" } ], "name": "getHoldersWithBalance", "outputs": [ { "internalType": "address[]", "name": "", "type": "address[]" }, { "internalType": "uint256[]", "name": "", "type": "uint256[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getMetadata", "outputs": [ { "components": [ { "internalType": "contract EmToken", "name": "token", "type": "address" }, { "internalType": "string", "name": "name", "type": "string" }, { "internalType": "string", "name": "symbol", "type": "string" }, { "internalType": "string", "name": "description", "type": "string" }, { "internalType": "string", "name": "extended", "type": "string" }, { "internalType": "address", "name": "creator", "type": "address" }, { "internalType": "bool", "name": "isGraduated", "type": "bool" }, { "internalType": "uint256", "name": "mcap", "type": "uint256" } ], "internalType": "struct EmToken.Metadata", "name": "", "type": "tuple" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "holders", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "isGraduated", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "isHolder", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "isUnrestricted", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "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": [ { "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": "bool", "name": "_isUnrestricted", "type": "bool" } ], "name": "setIsUnrestricted", "outputs": [], "stateMutability": "nonpayable", "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": "amount", "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": "amount", "type": "uint256" } ], "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" } ]
6101206040818152346107c757612a43803803809161001e82866107cc565b843982016101009283818303126107c75780516001600160401b0391908281116107c7578361004e9183016107ef565b91602090818301518181116107c757856100699185016107ef565b93868401519360ff851685036107c75760608101519260808201518181116107c757886100979184016107ef565b9760a0830151908282116107c7576100b09184016107ef565b926100c960e06100c260c0860161085e565b940161085e565b938151978389116107b157600098806100e28b54610872565b94601f95868111610765575b508a90868311600114610702578c926106f7575b50508160011b916000199060031b1c19161789555b89518481116105b8578060019b61012e8d54610872565b8681116106a9575b508a90868311600114610640578c92610635575b5050600019600383901b1c1916908b1b178a555b6080524660a052888b5189818b549161017683610872565b928383528c808401968216918260001461061a5750506001146105e0575b6101a0925003826107cc565b5190208b51888101917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83528d8201527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260a0815260c08101818110868211176105cc578d5251902060c05260ff19998a600a5416600a558051908482116105b8578190610240600654610872565b858111610569575b5089908583116001146104ff578b926104f4575b5050600019600383901b1c1916908a1b176006555b80519283116104e057908291610288600754610872565b82811161048f575b508791831160011461042e578892610423575b5050600019600383901b1c191690871b176007555b6001600160a01b031660e052875260025481810190811061040f57600255338352600382528583208181540190558551908152827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef833393a33382526009815260ff858320541615610390575b85855161219691826108ad833960805182610fc4015260a05182611a53015260c05182611a7a015260e0518281816106c2015281816109bf01528181610c08015281816110f501528181611225015281816113c40152611fb1015251818181610d0301526115d10152f35b600854680100000000000000008110156103fb57838101806008558110156103e757600883528183200180546001600160a01b03191633908117909155825260099052839020805490921617905538808080610325565b634e487b7160e01b83526032600452602483fd5b634e487b7160e01b83526041600452602483fd5b634e487b7160e01b84526011600452602484fd5b0151905038806102a3565b600789528789208a94509190601f1984168a5b8a8282106104795750508411610460575b505050811b016007556102b8565b015160001960f88460031b161c19169055388080610452565b8385015186558d97909501949384019301610441565b90919250600789528789208380860160051c8201928a87106104d7575b9186958d929594930160051c01915b8281106104c9575050610290565b8b81558695508c91016104bb565b925081926104ac565b634e487b7160e01b88526041600452602488fd5b01519050388061025c565b60068c528a8c208d94509190601f1984168d5b8d82821061054a5750508411610531575b505050811b01600655610271565b015160001960f88460031b161c19169055388080610523565b91929395968291958786015181550195019301908e9594939291610512565b90915060068b52898b208580850160051c8201928c86106105af575b918e91869594930160051c01915b8281106105a1575050610248565b8d81558594508e9101610593565b92508192610585565b634e487b7160e01b8a52604160045260248afd5b634e487b7160e01b8b52604160045260248bfd5b508a8c8e8180528282205b8583106106015750506101a09350820101610194565b8091929450548385880101520191018b908e85936105eb565b60ff191687526101a094151560051b84010191506101949050565b01519050388061014a565b8d8d528b8d208e94509190601f1984168e8e5b8282106106895750508411610670575b505050811b018a5561015e565b015160001960f88460031b161c19169055388080610663565b91929395968291958786015181550195019301908f95949392918e610653565b9091508c8c528a8c208680850160051c8201928d86106106ee575b918f91869594930160051c01915b8281106106e0575050610136565b8e81558594508f91016106d2565b925081926106c4565b015190503880610102565b8c80528b8d209250601f1984168d5b8d82821061074f575050908460019594939210610736575b505050811b018955610117565b015160001960f88460031b161c19169055388080610729565b6001859682939686015181550195019301610711565b9091508b80528a8c208680850160051c8201928d86106107a8575b9085949392910160051c01905b81811061079a57506100ee565b8d815584935060010161078d565b92508192610780565b634e487b7160e01b600052604160045260246000fd5b600080fd5b601f909101601f19168101906001600160401b038211908210176107b157604052565b919080601f840112156107c75782516001600160401b0381116107b1576020906040519261082683601f19601f85011601856107cc565b8184528282870101116107c75760005b81811061084b57508260009394955001015290565b8581018301518482018401528201610836565b51906001600160a01b03821682036107c757565b90600182811c921680156108a2575b602083101461088c57565b634e487b7160e01b600052602260045260246000fd5b91607f169161088156fe6080604081815260048036101561001557600080fd5b60009260e08435811c91826302d05d3f146115875750816306fdde03146114b8578163095ea7b3146113e85781630c4efc8e1461137857816318160ddd1461133a57816323b872dd146110555781632a11ced014610fe8578163313ce56714610f8b5781633644e51514610f485781636f3921ee14610f0b57816370a0823114610ea85781637284e41614610e585781637a5b4f5914610b545781637ecebe0014610af15781638911e26b14610aae5781638e84697214610a4157816395c996411461096a57816395d89b41146108435781639e5f2602146107fe578163a9059cbb146105b9578163b569807114610584578163d4d7b19a1461051c578163d505accf146101ef57508063db04aef4146101ae5763dd62ed3e1461013857600080fd5b346101aa57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101aa5760209282916101736118db565b61017b611903565b9173ffffffffffffffffffffffffffffffffffffffff8092168452865283832091168252845220549051908152f35b8280fd5b5050346101eb57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101eb576020906008549051908152f35b5080fd5b84915083346101aa57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101aa576102296118db565b610231611903565b9160443590606435926084359460ff86168096036105185760ff600a5416156104f05742851061049357610263611a4e565b9473ffffffffffffffffffffffffffffffffffffffff80931696878a5260209660058852858b20998a549a60018c019055865193868a8601967f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c988528c8a880152169b8c606087015289608087015260a086015260c085015260c08452830167ffffffffffffffff948482108683111761046657818852845190206101008501927f19010000000000000000000000000000000000000000000000000000000000008452610102860152610122850152604281526101608401948186109086111761043a57848752519020835261018082015260a4356101a082015260c4356101c0909101528780528490889060809060015afa15610430578651169687151580610427575b156103cc5786977f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259596975283528087208688528352818188205551908152a380f35b8360649251917f08c379a0000000000000000000000000000000000000000000000000000000008352820152600e60248201527f494e56414c49445f5349474e45520000000000000000000000000000000000006044820152fd5b50848814610389565b81513d88823e3d90fd5b60248c60418f7f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b5060248c60418f7f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b60648960208551917f08c379a0000000000000000000000000000000000000000000000000000000008352820152601760248201527f5045524d49545f444541444c494e455f455850495245440000000000000000006044820152fd5b8883517fee90c468000000000000000000000000000000000000000000000000000000008152fd5b8780fd5b505050346101eb5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101eb5760ff8160209373ffffffffffffffffffffffffffffffffffffffff6105716118db565b1681526009855220541690519015158152f35b505050346101eb576105b5906105a261059c3661198c565b90612019565b90519182916020835260208301906119c0565b0390f35b505091346107fb57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126107fb576105f26118db565b926024359060ff600a54161561067e575b508273ffffffffffffffffffffffffffffffffffffffff856106266020976120bd565b3385526003875282852061063b858254611e53565b90551692838152600386522081815401905582519081527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef843392a35160018152f35b73ffffffffffffffffffffffffffffffffffffffff84517f54028f7c00000000000000000000000000000000000000000000000000000000815260209182828581847f0000000000000000000000000000000000000000000000000000000000000000165afa9182156107f15790839187936107c2575b5087517feb56a3bd0000000000000000000000000000000000000000000000000000000081523086820190815273ffffffffffffffffffffffffffffffffffffffff8b1660208201529093849291839003604001918391165afa9182156107b857859261078b575b5050156106035783517fee90c468000000000000000000000000000000000000000000000000000000008152fd5b6107aa9250803d106107b1575b6107a281836116b0565b810190611a36565b388061075d565b503d610798565b86513d87823e3d90fd5b6107e3919350823d84116107ea575b6107db81836116b0565b810190611a0a565b91386106f5565b503d6107d1565b87513d88823e3d90fd5b80fd5b505050346101eb57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101eb5760209061083a611f64565b90519015158152f35b8385346107fb57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126107fb57815191828260019360015494610888866115f5565b91828552602096876001821691826000146109255750506001146108c9575b5050506105b592916108ba9103856116b0565b51928284938452830190611898565b9190869350600183527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf65b82841061090d57505050820101816108ba6105b56108a7565b8054848a0186015288955087949093019281016108f4565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168782015293151560051b860190930193508492506108ba91506105b590506108a7565b5050346101aa5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101aa57803591821515809303610a3d5773ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163303610a1757505060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00600a5416911617600a5580f35b517f301d76fc000000000000000000000000000000000000000000000000000000008152fd5b8380fd5b8385346107fb5790610a5b610a553661198c565b90611e74565b9092610a7083519484869586528501906119c0565b60208482036020860152602080855193848152019401925b828110610a9757505050500390f35b835185528695509381019392810192600101610a88565b505050346101eb57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101eb5760209060ff600a541690519015158152f35b505050346101eb5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101eb578060209273ffffffffffffffffffffffffffffffffffffffff610b446118db565b1681526005845220549051908152f35b848385346101aa57827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101aa578051610b9081611648565b8381528385606092836020820152838582015283808201528360808201528260a08201528260c0820152015273ffffffffffffffffffffffffffffffffffffffff9482517fbbe4f6db00000000000000000000000000000000000000000000000000000000815230858201526101a09081816024818b7f0000000000000000000000000000000000000000000000000000000000000000165afa918215610e21578792610e2b575b50508351947f06fdde0300000000000000000000000000000000000000000000000000000000865286868281305afa958615610e21578796610e05575b5086855180927f95d89b4100000000000000000000000000000000000000000000000000000000825281305afa968715610dfa578097610dd5575b505086610cbb611f64565b9160c0015193855197610ccd89611648565b30895260208901978852868901908152610ce56117d6565b828a01908152610cf36116f1565b9160808b0192835260a08b0199857f0000000000000000000000000000000000000000000000000000000000000000168b5260c08c019615158752878c0198895289519c8d9c60208e52511660208d015251610100809a8d01526101208c01610d5b91611898565b9051907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe094858d830301908d0152610d9291611898565b905190838b82030160808c0152610da891611898565b9051918982030160a08a0152610dbd91611898565b95511660c08701525115159085015251908301520390f35b610df29297503d8091833e610dea81836116b0565b810190611d26565b948780610cb0565b8551903d90823e3d90fd5b610e1a9196503d8089833e610dea81836116b0565b9488610c75565b85513d89823e3d90fd5b610e4a9250803d10610e51575b610e4281836116b0565b810190611c4d565b8780610c38565b503d610e38565b505050346101eb57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101eb576105b590610e956117d6565b9051918291602083526020830190611898565b505050346101eb5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101eb578060209273ffffffffffffffffffffffffffffffffffffffff610efb6118db565b1681526003845220549051908152f35b505050346101eb57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101eb576105b590610e956116f1565b505050346101eb57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101eb57602090610f84611a4e565b9051908152f35b505050346101eb57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101eb576020905160ff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b5050346101aa5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101aa5735916008548310156107fb575073ffffffffffffffffffffffffffffffffffffffff611046602093611926565b92905490519260031b1c168152f35b505091346107fb5760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126107fb5761108f6118db565b611097611903565b9360443560ff600a5416156111e0575b907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef918573ffffffffffffffffffffffffffffffffffffffff80951694858752602098848a958652838920837f00000000000000000000000000000000000000000000000000000000000000001690818b5287527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9081868c2054036111c7575b50611152836120bd565b888a52818752848a20338b52875285858b20549182036111a4575b50505086885260038552828820611185858254611e53565b9055169586815260038452208181540190558551908152a35160018152f35b6111ad91611e53565b90888a528652838920338a5286528389205538808561116d565b898b52828852858b20908b52875280858b205538611148565b73ffffffffffffffffffffffffffffffffffffffff8551907f54028f7c00000000000000000000000000000000000000000000000000000000825260209182818681857f0000000000000000000000000000000000000000000000000000000000000000165afa9081156113305783916112b4918991611313575b5089517feb56a3bd0000000000000000000000000000000000000000000000000000000081523088820190815273ffffffffffffffffffffffffffffffffffffffff8d1660208201529094859384928391604090910190565b0392165afa9182156107f15786926112f6575b5050156110a7575083517fee90c468000000000000000000000000000000000000000000000000000000008152fd5b61130c9250803d106107b1576107a281836116b0565b38806112c7565b61132a9150833d85116107ea576107db81836116b0565b3861125b565b88513d89823e3d90fd5b505050346101eb57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101eb576020906002549051908152f35b505050346101eb57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101eb576020905173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b505091346107fb57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126107fb576114216118db565b906024359060ff600a54161561148f57838291602096338252875273ffffffffffffffffffffffffffffffffffffffff8282209516948582528752205582519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925843392a35160018152f35b505050517fee90c468000000000000000000000000000000000000000000000000000000008152fd5b8385346107fb57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126107fb57815191828283546114f8816115f5565b908184526020956001918760018216918260001461092557505060011461152c575050506105b592916108ba9103856116b0565b91908693508280527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5635b82841061156f57505050820101816108ba6105b56108a7565b8054848a018601528895508794909301928101611556565b8590346101eb57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101eb5760209073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b90600182811c9216801561163e575b602083101461160f57565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b91607f1691611604565b610100810190811067ffffffffffffffff82111761166557604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6020810190811067ffffffffffffffff82111761166557604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761166557604052565b6040519060008260075491611705836115f5565b808352926020906001908181169081156117935750600114611732575b5050611730925003836116b0565b565b91509260076000527fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688936000925b82841061177b57506117309450505081016020013880611722565b85548885018301529485019487945092810192611760565b9050602093506117309592507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091501682840152151560051b8201013880611722565b60405190600082600654916117ea836115f5565b808352926020906001908181169081156117935750600114611814575050611730925003836116b0565b91509260066000527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f936000925b82841061185d57506117309450505081016020013880611722565b85548885018301529485019487945092810192611842565b60005b8381106118885750506000910152565b8181015183820152602001611878565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f6020936118d481518092818752878088019101611875565b0116010190565b6004359073ffffffffffffffffffffffffffffffffffffffff821682036118fe57565b600080fd5b6024359073ffffffffffffffffffffffffffffffffffffffff821682036118fe57565b60085481101561195d5760086000527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30190600090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc60409101126118fe576004359060243590565b90815180825260208080930193019160005b8281106119e0575050505090565b835173ffffffffffffffffffffffffffffffffffffffff16855293810193928101926001016119d2565b908160209103126118fe575173ffffffffffffffffffffffffffffffffffffffff811681036118fe5790565b908160209103126118fe575180151581036118fe5790565b6000467f000000000000000000000000000000000000000000000000000000000000000003611a9c57507f000000000000000000000000000000000000000000000000000000000000000090565b60405181548291611aac826115f5565b808252816020948582019460019087600182169182600014611bf0575050600114611b97575b50611adf925003826116b0565b51902091604051918201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f845260408301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608301524660808301523060a083015260a0825260c082019082821067ffffffffffffffff831117611b6a575060405251902090565b807f4e487b7100000000000000000000000000000000000000000000000000000000602492526041600452fd5b87805286915087907f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5635b858310611bd8575050611adf935082010138611ad2565b80548388018501528694508893909201918101611bc1565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168852611adf95151560051b8501019250389150611ad29050565b519073ffffffffffffffffffffffffffffffffffffffff821682036118fe57565b80916101a092839103126118fe5760405191820182811067ffffffffffffffff82111761166557604052805173ffffffffffffffffffffffffffffffffffffffff811681036118fe5782526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015190830152610120611cf7818301611c2c565b90830152610140611d09818301611c2c565b908301526101608082015190830152610180809101519082015290565b6020818303126118fe57805167ffffffffffffffff918282116118fe57019082601f830112156118fe5781519081116116655760405192611d8f60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f85011601856116b0565b818452602082840101116118fe57611dad9160208085019101611875565b90565b67ffffffffffffffff81116116655760051b60200190565b90611dd282611db0565b611ddf60405191826116b0565b8281527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0611e0d8294611db0565b0190602036910137565b91908201809211611e2457565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b91908203918211611e2457565b805182101561195d5760209160051b010190565b91906008549081841015611f3657611e8c9084611e17565b90808211611f2e575b50611ea8611ea38483611e53565b611dc8565b90611eb6611ea38583611e53565b93805b828110611ec7575050509190565b80604073ffffffffffffffffffffffffffffffffffffffff611eea600194611926565b919054600392831b1c169081611f09611f038887611e53565b8a611e60565b5260009182526020522054611f27611f218584611e53565b89611e60565b5201611eb9565b905038611e95565b50506040519150611f4682611694565b6000825260405191611f5783611694565b6000835260003681379190565b73ffffffffffffffffffffffffffffffffffffffff6040517fbbe4f6db0000000000000000000000000000000000000000000000000000000081523060048201526101a0908181602481867f0000000000000000000000000000000000000000000000000000000000000000165afa90811561200d5761014092600092611ff0575b5050015116151590565b6120069250803d10610e5157610e4281836116b0565b3880611fe6565b6040513d6000823e3d90fd5b9060085490818310156120a2576120309083611e17565b9080821161209a575b50612047611ea38383611e53565b91805b8281106120575750505090565b8073ffffffffffffffffffffffffffffffffffffffff612078600193611926565b90549060031b1c1661209361208d8584611e53565b87611e60565b520161204a565b905038612039565b5050506040516120b181611694565b60008152600036813790565b9073ffffffffffffffffffffffffffffffffffffffff809216600090808252600960205260ff604083205416156120f5575b50509050565b60085493680100000000000000008510156121695761211d8560016040969701600855611926565b819291549060031b9184831b921b1916179055815260096020522060017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff008254161790558038806120ef565b6024837f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd0000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000033b2e3c9fd0803ce8000000000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000002400000000000000000000000005d74492c382a0646a50f374e1272339c8110cd4c0000000000000000000000005edbebc38c9062b3be1da36a2fa190b8e722e0aa000000000000000000000000000000000000000000000000000000000000000f6c616d626120737472696b657273200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f6c616d626120737472696b657273200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009d476561726564207769746820776f726b696e6720657870657274697365206f6e2074686520626573742066726f6e74656e6420616e64206261636b656e6420746563686e6f6c6f676965732c205769746820616e20657870657269656e6365206f66206372656174696e6720616d617a696e67207765622064657369676e20616e642077656220646576656c6f706d656e7420736f6c7574696f6e732e0000000000000000000000000000000000000000000000000000000000000000000000