6 txs
108 calls
constructor
constructor(address _owner, address _admin, uint256 _maxEquipment, string _tokenURI, address _xcall) payable
functions
ADMIN_ROLE
viewfunction ADMIN_ROLE() view returns (bytes32)
balanceOf
viewfunction balanceOf(address account, uint256 id) view returns (uint256)
balanceOfBatch
viewfunction balanceOfBatch(address[] accounts, uint256[] ids) view returns (uint256[])
BURNER_ROLE
viewfunction BURNER_ROLE() view returns (bytes32)
connectionAddress
viewfunction connectionAddress() view returns (string)
DEFAULT_ADMIN_ROLE
viewfunction DEFAULT_ADMIN_ROLE() view returns (bytes32)
getRoleAdmin
viewfunction getRoleAdmin(bytes32 role) view returns (bytes32)
hasRole
viewfunction hasRole(bytes32 role, address account) view returns (bool)
isApprovedForAll
viewfunction isApprovedForAll(address account, address operator) view returns (bool)
maxEquipment
viewfunction maxEquipment() view returns (uint256)
mintedCount
viewfunction mintedCount(uint256) view returns (uint256)
MINTER_ROLE
viewfunction MINTER_ROLE() view returns (bytes32)
name
viewfunction name() view returns (string)
owner
viewfunction owner() view returns (address)
sourceAddress
viewfunction sourceAddress() view returns (string)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
tokenURI
viewfunction tokenURI() view returns (string)
totalSupply
viewfunction totalSupply(uint256) view returns (uint256)
uri
viewfunction uri(uint256 tokenId) view returns (string)
XCALL_ROLE
viewfunction XCALL_ROLE() view returns (bytes32)
xCallContract
viewfunction xCallContract() view returns (address)
burn
nonpayablefunction burn(uint256 _id, uint256 _count)
burnFrom
nonpayablefunction burnFrom(address _account, uint256 _id, uint256 _count)
grantRole
nonpayablefunction grantRole(bytes32 role, address account)
handleCallMessage
nonpayablefunction handleCallMessage(string _from, bytes _data, string[] _protocols)
mint
nonpayablefunction mint(address _address, uint256 _id, uint256 _count)
renounceRole
nonpayablefunction renounceRole(bytes32 role, address account)
revokeRole
nonpayablefunction revokeRole(bytes32 role, address account)
safeBatchTransferFrom
nonpayablefunction safeBatchTransferFrom(address from, address to, uint256[] ids, uint256[] amounts, bytes data)
safeTransferFrom
nonpayablefunction safeTransferFrom(address from, address to, uint256 id, uint256 amount, bytes data)
setApprovalForAll
nonpayablefunction setApprovalForAll(address operator, bool approved)
setMaxEquipment
nonpayablefunction setMaxEquipment(uint256 _maxEquipment)
setProtocolAddress
nonpayablefunction setProtocolAddress(string _protocol)
setSourceAddress
nonpayablefunction setSourceAddress(string _source)
setURI
nonpayablefunction setURI(string _tokenURI)
setXcallContract
nonpayablefunction setXcallContract(address _xcall)
transferOwnership
nonpayablefunction transferOwnership(address _newOwner)
events
ApprovalForAll
event ApprovalForAll(address indexed account, address indexed operator, bool approved)
Locked
event Locked(address indexed owner, uint256 indexed id, uint256 amount)
RoleAdminChanged
event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)
RoleGranted
event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)
RoleRevoked
event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)
TransferBatch
event TransferBatch(address indexed operator, address indexed from, address indexed to, uint256[] ids, uint256[] values)
TransferSingle
event TransferSingle(address indexed operator, address indexed from, address indexed to, uint256 id, uint256 value)
Unlocked
event Unlocked(address indexed owner, uint256 indexed id, uint256 amount)
URI
event URI(string value, uint256 indexed id)
errors
ErrorOnParsingAddress
error ErrorOnParsingAddress()
ExceededMaxMintCount
error ExceededMaxMintCount()
creation bytecode
0x60a0604052600060809081526003906200001a90826200031c565b5060405162004149380380620041498339810160408190526200003d9162000553565b604080516020810190915260008152620000578162000143565b50600880546001600160a01b0319166001600160a01b0387161790556200008060008662000155565b620000ac7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c217758562000155565b620000d87f60cd00dcfd7a15a07cd49d8c39dd66655888b430bf6412aa1c7b4b5fc410017b8262000155565b620001047f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a68262000155565b600c839055600d6200011783826200031c565b50600980546001600160a01b0319166001600160a01b039290921691909117905550620005f392505050565b60026200015182826200031c565b5050565b620001518282620001678282620001e5565b620001515760008281526005602090815260408083206001600160a01b03851684529091529020805460ff19166001179055620001a13390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b60008281526005602090815260408083206001600160a01b038516845290915290205460ff165b92915050565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052602260045260246000fd5b6002810460018216806200025357607f821691505b60208210810362000268576200026862000228565b50919050565b60006200020c6200027c8381565b90565b6200028a836200026e565b815460001960089490940293841b1916921b91909117905550565b6000620002b48184846200027f565b505050565b818110156200015157620002cf600082620002a5565b600101620002b9565b601f821115620002b4576000818152602090206020601f85010481016020851015620003015750805b620003156020601f860104830182620002b9565b5050505050565b81516001600160401b0381111562000338576200033862000212565b6200034482546200023e565b62000351828285620002d8565b6020601f8311600181146200038857600084156200036f5750858201515b600019600886021c1981166002860217865550620003e4565b600085815260208120601f198616915b82811015620003ba578885015182556020948501946001909201910162000398565b86831015620003d75784890151600019601f89166008021c191682555b6001600288020188555050505b505050505050565b60006001600160a01b0382166200020c565b6200040981620003ec565b81146200041557600080fd5b50565b80516200020c81620003fe565b8062000409565b80516200020c8162000425565b601f19601f83011681018181106001600160401b038211171562000461576200046162000212565b6040525050565b60006200047460405190565b905062000482828262000439565b919050565b60006001600160401b03821115620004a357620004a362000212565b601f19601f83011660200192915050565b60005b83811015620004d1578181015183820152602001620004b7565b50506000910152565b6000620004f1620004eb8462000487565b62000468565b9050828152602081018484840111156200050e576200050e600080fd5b6200051b848285620004b4565b509392505050565b600082601f830112620005395762000539600080fd5b81516200054b848260208601620004da565b949350505050565b600080600080600060a08688031215620005705762000570600080fd5b60006200057e888862000418565b9550506020620005918882890162000418565b9450506040620005a4888289016200042c565b93505060608601516001600160401b03811115620005c557620005c5600080fd5b620005d38882890162000523565b9250506080620005e68882890162000418565b9150509295509295909350565b613b4680620006036000396000f3fe608060405234801561001057600080fd5b50600436106102265760003560e01c806375de8db811610130578063d5391393116100b8578063f0b773791161007c578063f0b773791461054a578063f242432a1461055d578063f2fde38b14610570578063f6f34e9e14610583578063f9d0262a146105aa57600080fd5b8063d5391393146104ae578063d547741f146104d5578063e1d6e876146104e8578063e985e9c5146104fb578063ec21afbc1461053757600080fd5b8063a217fddf116100ff578063a217fddf14610458578063a22cb46514610460578063b0fa844414610473578063b390c0ab1461047b578063bd85b0391461048e57600080fd5b806375de8db81461040a5780638c006259146104125780638da5cb5b1461042557806391d148541461044557600080fd5b80632eb2c2d6116101b35780633c130d90116101825780633c130d901461039a5780634e1273f4146103a25780635d6a16f5146103c25780635e354332146103d557806375b238fc146103f557600080fd5b80632eb2c2d61461034e5780632f2ff15d14610361578063351b6d031461037457806336568abe1461038757600080fd5b80630e89341c116101fa5780630e89341c146102cb578063124d91e5146102de578063156e29f6146102f1578063248a9ca314610304578063282c51f31461032757600080fd5b8062fdd58e1461022b57806301ffc9a71461025457806302fe53051461027457806306fdde0314610289575b600080fd5b61023e610239366004612497565b6105b3565b60405161024b91906124dc565b60405180910390f35b610267610262366004612505565b61060d565b60405161024b9190612536565b610287610282366004612635565b610618565b005b6102be6040518060400160405280601681526020017547616e6757617220546f75726e616d656e745061737360501b81525081565b60405161024b91906126c5565b6102be6102d93660046126d6565b610641565b6102876102ec3660046126f7565b610721565b6102876102ff3660046126f7565b61075c565b61023e6103123660046126d6565b60009081526005602052604090206001015490565b61023e7f3c11d16cbaffd01df69ce1c404f6340ee057498f5f00246190ea54220576a84881565b61028761035c3660046127e9565b610810565b61028761036f3660046128af565b61085c565b610287610382366004612933565b610881565b6102876103953660046128af565b6108a6565b6102be6108dc565b6103b56103b03660046129ef565b61096a565b60405161024b9190612ab2565b6102876103d0366004612b0d565b610a51565b61023e6103e33660046126d6565b60076020526000908152604090205481565b61023e600080516020613af183398151915281565b6102be610c92565b610287610420366004612bb7565b610c9f565b600854610438906001600160a01b031681565b60405161024b9190612be1565b6102676104533660046128af565b610cda565b61023e600081565b61028761046e366004612c02565b610d05565b6102be610d10565b610287610489366004612c35565b610d1d565b61023e61049c3660046126d6565b60066020526000908152604090205481565b61023e7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a681565b6102876104e33660046128af565b610d28565b600954610438906001600160a01b031681565b610267610509366004612c57565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205460ff1690565b610287610545366004612933565b610d4d565b6102876105583660046126d6565b610d72565b61028761056b366004612c79565b610d90565b61028761057e366004612bb7565b610dd5565b61023e7f60cd00dcfd7a15a07cd49d8c39dd66655888b430bf6412aa1c7b4b5fc410017b81565b61023e600c5481565b60006001600160a01b0383166105e45760405162461bcd60e51b81526004016105db90612d1d565b60405180910390fd5b506000818152602081815260408083206001600160a01b03861684529091529020545b92915050565b600061060782610e03565b600080516020613af183398151915261063081610e28565b600d61063c8382612dfd565b505050565b60008181526004602052604081208054606092919061065f90612d43565b80601f016020809104026020016040519081016040528092919081815260200182805461068b90612d43565b80156106d85780601f106106ad576101008083540402835291602001916106d8565b820191906000526020600020905b8154815290600101906020018083116106bb57829003601f168201915b5050505050905060008151116106f6576106f183610e35565b61071a565b60038160405160200161070a929190612f53565b6040516020818303038152906040525b9392505050565b7f3c11d16cbaffd01df69ce1c404f6340ee057498f5f00246190ea54220576a84861074b81610e28565b610756848484610ec9565b50505050565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a661078681610e28565b600c548311156107a9576040516369dcbfcd60e11b815260040160405180910390fd5b6107c484848460405180602001604052806000815250610efc565b600083815260066020526040812080548492906107e2908490612f81565b909155505060008381526007602052604081208054849290610805908490612f81565b909155505050505050565b6001600160a01b03851633148061082c575061082c8533610509565b6108485760405162461bcd60e51b81526004016105db90612fdf565b6108558585858585610fe4565b5050505050565b60008281526005602052604090206001015461087781610e28565b61063c8383611180565b600080516020613af183398151915261089981610e28565b600a610756838583612fef565b6001600160a01b03811633146108ce5760405162461bcd60e51b81526004016105db906130fd565b6108d88282611206565b5050565b600d80546108e990612d43565b80601f016020809104026020016040519081016040528092919081815260200182805461091590612d43565b80156109625780601f1061093757610100808354040283529160200191610962565b820191906000526020600020905b81548152906001019060200180831161094557829003601f168201915b505050505081565b6060815183511461098d5760405162461bcd60e51b81526004016105db90613153565b600083516001600160401b038111156109a8576109a8612544565b6040519080825280602002602001820160405280156109d1578160200160208202803683370190505b50905060005b8451811015610a4957610a1c8582815181106109f5576109f5613163565b6020026020010151858381518110610a0f57610a0f613163565b60200260200101516105b3565b828281518110610a2e57610a2e613163565b6020908102919091010152610a4281613179565b90506109d7565b509392505050565b7f60cd00dcfd7a15a07cd49d8c39dd66655888b430bf6412aa1c7b4b5fc410017b610a7b81610e28565b610b108787600b8054610a8d90612d43565b80601f0160208091040260200160405190810160405280929190818152602001828054610ab990612d43565b8015610b065780601f10610adb57610100808354040283529160200191610b06565b820191906000526020600020905b815481529060010190602001808311610ae957829003601f168201915b505050505061126d565b610b2c5760405162461bcd60e51b81526004016105db906131c1565b60018214610b4c5760405162461bcd60e51b81526004016105db906131fd565b610b8183836000818110610b6257610b62613163565b9050602002810190610b74919061320d565b600a8054610a8d90612d43565b610b9d5760405162461bcd60e51b81526004016105db90613298565b6000610ba986866112d6565b805151602082015191925090600090815b83811015610c3e57600085604001518281518110610bda57610bda613163565b60200260200101519050610c1c86600001518381518110610bfd57610bfd613163565b6020026020010151848360405180602001604052806000815250610efc565b610c268185612f81565b93505060010180610c3681613179565b915050610bba565b5060008181526006602052604081208054849290610c5d908490612f81565b909155505060008181526007602052604081208054849290610c80908490612f81565b90915550505050505050505050505050565b600a80546108e990612d43565b600080516020613af1833981519152610cb781610e28565b50600980546001600160a01b0319166001600160a01b0392909216919091179055565b60009182526005602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6108d833838361155e565b600b80546108e990612d43565b6108d8338383610ec9565b600082815260056020526040902060010154610d4381610e28565b61063c8383611206565b600080516020613af1833981519152610d6581610e28565b600b610756838583612fef565b600080516020613af1833981519152610d8a81610e28565b50600c55565b6001600160a01b038516331480610dac5750610dac8533610509565b610dc85760405162461bcd60e51b81526004016105db90612fdf565b6108558585858585611600565b6000610de081610e28565b50600880546001600160a01b0319166001600160a01b0392909216919091179055565b60006001600160e01b03198216637965db0b60e01b1480610607575061060782611736565b610e328133611786565b50565b606060028054610e4490612d43565b80601f0160208091040260200160405190810160405280929190818152602001828054610e7090612d43565b8015610ebd5780601f10610e9257610100808354040283529160200191610ebd565b820191906000526020600020905b815481529060010190602001808311610ea057829003601f168201915b50505050509050919050565b610ed48383836117df565b60008281526006602052604081208054839290610ef29084906132a8565b9091555050505050565b6001600160a01b038416610f225760405162461bcd60e51b81526004016105db906132f9565b336000610f2e856118e6565b90506000610f3b856118e6565b90506000868152602081815260408083206001600160a01b038b16845290915281208054879290610f6d908490612f81565b92505081905550866001600160a01b031660006001600160a01b0316846001600160a01b03167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f628989604051610fc4929190613309565b60405180910390a4610fdb83600089898989611931565b50505050505050565b81518351146110055760405162461bcd60e51b81526004016105db90613369565b6001600160a01b03841661102b5760405162461bcd60e51b81526004016105db906133bb565b3360005b845181101561111257600085828151811061104c5761104c613163565b60200260200101519050600085838151811061106a5761106a613163565b602090810291909101810151600084815280835260408082206001600160a01b038e1683529093529190912054909150818110156110ba5760405162461bcd60e51b81526004016105db90613412565b6000838152602081815260408083206001600160a01b038e8116855292528083208585039055908b168252812080548492906110f7908490612f81565b925050819055505050508061110b90613179565b905061102f565b50846001600160a01b0316866001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8787604051611162929190613422565b60405180910390a4611178818787878787611a3f565b505050505050565b61118a8282610cda565b6108d85760008281526005602090815260408083206001600160a01b03851684529091529020805460ff191660011790556111c23390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6112108282610cda565b156108d85760008281526005602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6000816040516020016112809190613447565b6040516020818303038152906040528051906020012084846040516020016112a9929190613466565b60405160208183030381529060405280519060200120036112cc5750600161071a565b5060009392505050565b6112fa60405180606001604052806060815260200160008152602001606081525090565b600061134361133e85858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611afa92505050565b611b27565b905080516003146113665760405162461bcd60e51b81526004016105db906134a7565b600061138b8260008151811061137e5761137e613163565b6020026020010151611b27565b9050600081516001600160401b038111156113a8576113a8612544565b6040519080825280602002602001820160405280156113d1578160200160208202803683370190505b50905060005b82518110156114495761140a6114058483815181106113f8576113f8613163565b6020026020010151611c4f565b611d07565b82828151811061141c5761141c613163565b6001600160a01b03909216602092830291909101909101526001018061144181613179565b9150506113d7565b5060006114628460018151811061137e5761137e613163565b9050600081516001600160401b0381111561147f5761147f612544565b6040519080825280602002602001820160405280156114a8578160200160208202803683370190505b50905060005b825181101561150b576114d98382815181106114cc576114cc613163565b6020026020010151611fe1565b8282815181106114eb576114eb613163565b60209081029190910101526001018061150381613179565b9150506114ae565b5060008560028151811061152157611521613163565b60200260200101519050600061153682611fe1565b6040805160608101825296875260208701919091528501929092525091979650505050505050565b816001600160a01b0316836001600160a01b03160361158f5760405162461bcd60e51b81526004016105db906134fd565b6001600160a01b0383811660008181526001602090815260408083209487168084529490915290819020805460ff1916851515179055517f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31906115f3908590612536565b60405180910390a3505050565b6001600160a01b0384166116265760405162461bcd60e51b81526004016105db906133bb565b336000611632856118e6565b9050600061163f856118e6565b90506000868152602081815260408083206001600160a01b038c168452909152902054858110156116825760405162461bcd60e51b81526004016105db90613412565b6000878152602081815260408083206001600160a01b038d8116855292528083208985039055908a168252812080548892906116bf908490612f81565b92505081905550876001600160a01b0316896001600160a01b0316856001600160a01b03167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f628a8a604051611715929190613309565b60405180910390a461172b848a8a8a8a8a611931565b505050505050505050565b60006001600160e01b03198216636cdb3d1360e11b148061176757506001600160e01b031982166303a24d0760e21b145b8061060757506301ffc9a760e01b6001600160e01b0319831614610607565b6117908282610cda565b6108d85761179d8161206d565b6117a883602061207f565b6040516020016117b992919061350d565b60408051601f198184030181529082905262461bcd60e51b82526105db916004016126c5565b6001600160a01b0383166118055760405162461bcd60e51b81526004016105db906135a1565b336000611811846118e6565b9050600061181e846118e6565b60408051602080820183526000918290528882528181528282206001600160a01b038b168352905220549091508481101561186b5760405162461bcd60e51b81526004016105db906135f2565b6000868152602081815260408083206001600160a01b03808c16808652919093528184208986039055905190918716907fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62906118ca908b908b90613309565b60405180910390a4604080516020810190915260009052610fdb565b6040805160018082528183019092526060916000919060208083019080368337019050509050828160008151811061192057611920613163565b602090810291909101015292915050565b6001600160a01b0384163b156111785760405163f23a6e6160e01b81526001600160a01b0385169063f23a6e61906119759089908990889088908890600401613602565b6020604051808303816000875af19250505080156119b0575060408051601f3d908101601f191682019092526119ad9181019061365f565b60015b611a0f576119bc613680565b806308c379a0036119f557506119d061369b565b806119db57506119f7565b8060405162461bcd60e51b81526004016105db91906126c5565b505b60405162461bcd60e51b81526004016105db90613771565b6001600160e01b0319811663f23a6e6160e01b14610fdb5760405162461bcd60e51b81526004016105db906137c6565b6001600160a01b0384163b156111785760405163bc197c8160e01b81526001600160a01b0385169063bc197c8190611a8390899089908890889088906004016137d6565b6020604051808303816000875af1925050508015611abe575060408051601f3d908101601f19168201909252611abb9181019061365f565b60015b611aca576119bc613680565b6001600160e01b0319811663bc197c8160e01b14610fdb5760405162461bcd60e51b81526004016105db906137c6565b60408051808201825260008082526020918201528151808301909252825182529182019181019190915290565b6060611b32826121ea565b611b4e5760405162461bcd60e51b81526004016105db90613850565b6000611b5983612225565b90506000816001600160401b03811115611b7557611b75612544565b604051908082528060200260200182016040528015611bba57816020015b6040805180820190915260008082526020820152815260200190600190039081611b935790505b5090506000611bcc85602001516122aa565b8560200151611bdb9190612f81565b90506000805b84811015611c4457611bf28361232b565b9150604051806040016040528083815260200184815250848281518110611c1b57611c1b613163565b6020908102919091010152611c308284612f81565b925080611c3c81613179565b915050611be1565b509195945050505050565b8051606090611c705760405162461bcd60e51b81526004016105db90613885565b6000611c7f83602001516122aa565b90506000818460000151611c9391906132a8565b90506000816001600160401b03811115611caf57611caf612544565b6040519080825280601f01601f191660200182016040528015611cd9576020820181803683370190505b5090506000816020019050611cfe848760200151611cf79190612f81565b82856123d4565b50949350505050565b60008151602a148015611d485750600360fc1b6001600160f81b03191682600081518110611d3757611d37613163565b01602001516001600160f81b031916145b8015611d825750600f60fb1b6001600160f81b03191682600181518110611d7157611d71613163565b01602001516001600160f81b031916145b611d9f5760405163363fcec960e01b815260040160405180910390fd5b60408051601480825281830190925260009160208201818036833701905050905060008080805b6028811015611f375786611ddb826002612f81565b81518110611deb57611deb613163565b016020015160f81c935060016030851015611e04575060005b8460ff166039108015611e1a575060418560ff16105b15611e23575060005b8460ff166046108015611e39575060618560ff16105b15611e42575060005b8460ff1660661015611e52575060005b80611e705760405163363fcec960e01b815260040160405180910390fd5b60418560ff161015611e855760309250611e9f565b8460ff1660461015611e9a5760579250611e9f565b603792505b611eaa6002836138ab565b600003611ec257611ebb83866138bf565b9350611f24565b611ecc83866138bf565b611ed78560106138dc565b611ee191906138fc565b60f81b866002611ef26001866132a8565b611efc9190613919565b81518110611f0c57611f0c613163565b60200101906001600160f81b031916908160001a9053505b5080611f2f81613179565b915050611dc6565b50600084604051602001611f4b9190613447565b60408051601f198184030181529190526014810151965090506001600160a01b038616611fd75760025b8751811015611fd557878181518110611f9057611f90613163565b6020910101516001600160f81b031916600360fc1b14611fc35760405163363fcec960e01b815260040160405180910390fd5b80611fcd81613179565b915050611f75565b505b5050505050919050565b805160009015801590611ff657508151602110155b6120125760405162461bcd60e51b81526004016105db90613957565b600061202183602001516122aa565b9050600081846000015161203591906132a8565b905060008083866020015161204a9190612f81565b9050805191506020831015611cfe57506020919091036101000a90049392505050565b60606106076001600160a01b03831660145b6060600061208e836002613967565b612099906002612f81565b6001600160401b038111156120b0576120b0612544565b6040519080825280601f01601f1916602001820160405280156120da576020820181803683370190505b509050600360fc1b816000815181106120f5576120f5613163565b60200101906001600160f81b031916908160001a905350600f60fb1b8160018151811061212457612124613163565b60200101906001600160f81b031916908160001a9053506000612148846002613967565b612153906001612f81565b90505b60018111156121cb576f181899199a1a9b1b9c1cb0b131b232b360811b85600f166010811061218757612187613163565b1a60f81b82828151811061219d5761219d613163565b60200101906001600160f81b031916908160001a90535060049490941c936121c48161397f565b9050612156565b50831561071a5760405162461bcd60e51b81526004016105db906139c8565b805160009081036121fd57506000919050565b6020820151805160001a9060c082101561221b575060009392505050565b5060019392505050565b8051600090810361223857506000919050565b60008061224884602001516122aa565b84602001516122579190612f81565b905060008460000151856020015161226f9190612f81565b90505b808210156122a1576122838261232b565b61228d9083612f81565b91508261229981613179565b935050612272565b50909392505050565b8051600090811a60808110156122c35750600092915050565b60b88110806122de575060c081108015906122de575060f881105b156122ec5750600192915050565b60c081101561231957612301600160b86138bf565b61230e9060ff16826132a8565b61071a906001612f81565b612301600160f86138bf565b50919050565b80516000908190811a608081101561234657600191506123cd565b60b881101561236c5761235a6080826132a8565b612365906001612f81565b91506123cd565b60c08110156123995760b78103600185019450806020036101000a855104600182018101935050506123cd565b60f88110156123ad5761235a60c0826132a8565b60f78103600185019450806020036101000a855104600182018101935050505b5092915050565b806000036123e157505050565b6020811061241957825182526123f8602084612f81565b9250612405602083612f81565b91506124126020826132a8565b90506123e1565b801561063c576000600161242e8360206132a8565b61243a90610100613ae1565b61244491906132a8565b84518451821691191617835250505050565b60006001600160a01b038216610607565b61247081612456565b8114610e3257600080fd5b803561060781612467565b80612470565b803561060781612486565b600080604083850312156124ad576124ad600080fd5b60006124b9858561247b565b92505060206124ca8582860161248c565b9150509250929050565b805b82525050565b6020810161060782846124d4565b6001600160e01b03198116612470565b8035610607816124ea565b60006020828403121561251a5761251a600080fd5b600061252684846124fa565b949350505050565b8015156124d6565b60208101610607828461252e565b634e487b7160e01b600052604160045260246000fd5b601f19601f83011681018181106001600160401b038211171561257f5761257f612544565b6040525050565b600061259160405190565b905061259d828261255a565b919050565b60006001600160401b038211156125bb576125bb612544565b601f19601f83011660200192915050565b82818337506000910152565b60006125eb6125e6846125a2565b612586565b90508281526020810184848401111561260657612606600080fd5b610a498482856125cc565b600082601f83011261262557612625600080fd5b81356125268482602086016125d8565b60006020828403121561264a5761264a600080fd5b81356001600160401b0381111561266357612663600080fd5b61252684828501612611565b60005b8381101561268a578181015183820152602001612672565b50506000910152565b600061269d825190565b8084526020840193506126b481856020860161266f565b601f01601f19169290920192915050565b6020808252810161071a8184612693565b6000602082840312156126eb576126eb600080fd5b6000612526848461248c565b60008060006060848603121561270f5761270f600080fd5b600061271b868661247b565b935050602061272c8682870161248c565b925050604061273d8682870161248c565b9150509250925092565b60006001600160401b0382111561276057612760612544565b5060209081020190565b60006127786125e684612747565b8381529050602080820190840283018581111561279757612797600080fd5b835b818110156127bb57806127ac888261248c565b84525060209283019201612799565b5050509392505050565b600082601f8301126127d9576127d9600080fd5b813561252684826020860161276a565b600080600080600060a0868803121561280457612804600080fd5b6000612810888861247b565b95505060206128218882890161247b565b94505060408601356001600160401b0381111561284057612840600080fd5b61284c888289016127c5565b93505060608601356001600160401b0381111561286b5761286b600080fd5b612877888289016127c5565b92505060808601356001600160401b0381111561289657612896600080fd5b6128a288828901612611565b9150509295509295909350565b600080604083850312156128c5576128c5600080fd5b60006128d1858561248c565b92505060206124ca8582860161247b565b60008083601f8401126128f7576128f7600080fd5b5081356001600160401b0381111561291157612911600080fd5b60208301915083600182028301111561292c5761292c600080fd5b9250929050565b6000806020838503121561294957612949600080fd5b82356001600160401b0381111561296257612962600080fd5b61296e858286016128e2565b92509250509250929050565b60006129886125e684612747565b838152905060208082019084028301858111156129a7576129a7600080fd5b835b818110156127bb57806129bc888261247b565b845250602092830192016129a9565b600082601f8301126129df576129df600080fd5b813561252684826020860161297a565b60008060408385031215612a0557612a05600080fd5b82356001600160401b03811115612a1e57612a1e600080fd5b612a2a858286016129cb565b92505060208301356001600160401b03811115612a4957612a49600080fd5b6124ca858286016127c5565b6000612a6183836124d4565b505060200190565b6000612a73825190565b80845260209384019383018060005b83811015612aa7578151612a968882612a55565b975060208301925050600101612a82565b509495945050505050565b6020808252810161071a8184612a69565b60008083601f840112612ad857612ad8600080fd5b5081356001600160401b03811115612af257612af2600080fd5b60208301915083602082028301111561292c5761292c600080fd5b60008060008060008060608789031215612b2957612b29600080fd5b86356001600160401b03811115612b4257612b42600080fd5b612b4e89828a016128e2565b965096505060208701356001600160401b03811115612b6f57612b6f600080fd5b612b7b89828a016128e2565b945094505060408701356001600160401b03811115612b9c57612b9c600080fd5b612ba889828a01612ac3565b92509250509295509295509295565b600060208284031215612bcc57612bcc600080fd5b6000612526848461247b565b6124d681612456565b602081016106078284612bd8565b801515612470565b803561060781612bef565b60008060408385031215612c1857612c18600080fd5b6000612c24858561247b565b92505060206124ca85828601612bf7565b60008060408385031215612c4b57612c4b600080fd5b60006124b9858561248c565b60008060408385031215612c6d57612c6d600080fd5b60006128d1858561247b565b600080600080600060a08688031215612c9457612c94600080fd5b6000612ca0888861247b565b9550506020612cb18882890161247b565b9450506040612cc28882890161248c565b93505060606128778882890161248c565b602a81526000602082017f455243313135353a2061646472657373207a65726f206973206e6f742061207681526930b634b21037bbb732b960b11b602082015291505b5060400190565b6020808252810161060781612cd3565b634e487b7160e01b600052602260045260246000fd5b600281046001821680612d5757607f821691505b60208210810361232557612325612d2d565b6000610607612d758381565b90565b612d8183612d69565b815460001960089490940293841b1916921b91909117905550565b600061063c818484612d78565b818110156108d857612dbc600082612d9c565b600101612da9565b601f82111561063c576000818152602090206020601f85010481016020851015612deb5750805b6108556020601f860104830182612da9565b81516001600160401b03811115612e1657612e16612544565b612e208254612d43565b612e2b828285612dc4565b6020601f831160018114612e5f5760008415612e475750858201515b600019600886021c1981166002860217865550611178565b600085815260208120601f198616915b82811015612e8f5788850151825560209485019460019092019101612e6f565b86831015612eab5784890151600019601f89166008021c191682555b600160028802018855505050505050505050565b60008154612ecc81612d43565b600182168015612ee35760018114612ef857612f28565b60ff1983168652811515820286019350612f28565b60008581526020902060005b83811015612f2057815488820152600190910190602001612f04565b838801955050505b50505092915050565b6000612f3b825190565b612f4981856020860161266f565b9290920192915050565b6000612f5f8285612ebf565b91506125268284612f31565b634e487b7160e01b600052601160045260246000fd5b8082018082111561060757610607612f6b565b602e81526000602082017f455243313135353a2063616c6c6572206973206e6f7420746f6b656e206f776e81526d195c881bdc88185c1c1c9bdd995960921b60208201529150612d16565b6020808252810161060781612f94565b826001600160401b0381111561300757613007612544565b6130118254612d43565b61301c828285612dc4565b6000601f83116001811461305057600084156130385750858201355b600019600886021c1981166002860217865550610fdb565b600085815260208120601f198616915b828110156130805788850135825560209485019460019092019101613060565b8683101561309c57600019601f88166008021c19858a01351682555b60016002880201885550505050505050505050565b602f81526000602082017f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636581526e103937b632b9903337b91039b2b63360891b60208201529150612d16565b60208082528101610607816130b1565b602981526000602082017f455243313135353a206163636f756e747320616e6420696473206c656e677468815268040dad2e6dac2e8c6d60bb1b60208201529150612d16565b602080825281016106078161310d565b634e487b7160e01b600052603260045260246000fd5b6000600019820361318c5761318c612f6b565b5060010190565b6014815260006020820173496e76616c6964536f757263654164647265737360601b815291505b5060200190565b6020808252810161060781613193565b6015815260006020820174092dcecc2d8d2c8a0e4dee8dec6ded898cadccee8d605b1b815291506131ba565b60208082528101610607816131d1565b6000808335601e193685900301811261322857613228600080fd5b8084019250823591506001600160401b0382111561324857613248600080fd5b60208301925060018202360383131561326357613263600080fd5b509250929050565b6016815260006020820175496e76616c696450726f746f636f6c4164647265737360501b815291506131ba565b602080825281016106078161326b565b8181038181111561060757610607612f6b565b602181526000602082017f455243313135353a206d696e7420746f20746865207a65726f206164647265738152607360f81b60208201529150612d16565b60208082528101610607816132bb565b6040810161331782856124d4565b61071a60208301846124d4565b602881526000602082017f455243313135353a2069647320616e6420616d6f756e7473206c656e677468208152670dad2e6dac2e8c6d60c31b60208201529150612d16565b6020808252810161060781613324565b602581526000602082017f455243313135353a207472616e7366657220746f20746865207a65726f206164815264647265737360d81b60208201529150612d16565b6020808252810161060781613379565b602a81526000602082017f455243313135353a20696e73756666696369656e742062616c616e636520666f81526939103a3930b739b332b960b11b60208201529150612d16565b60208082528101610607816133cb565b604080825281016134338185612a69565b905081810360208301526125268184612a69565b600061071a8284612f31565b60006134608385846125cc565b50500190565b6000612526828486613453565b601b81526000602082017f496e76616c696420656e636f6465642064617461206c656e6774680000000000815291506131ba565b6020808252810161060781613473565b602981526000602082017f455243313135353a2073657474696e6720617070726f76616c20737461747573815268103337b91039b2b63360b91b60208201529150612d16565b60208082528101610607816134b7565b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008152601701600061353f8285612f31565b7001034b99036b4b9b9b4b733903937b6329607d1b8152915060118201612f5f565b602381526000602082017f455243313135353a206275726e2066726f6d20746865207a65726f206164647281526265737360e81b60208201529150612d16565b6020808252810161060781613561565b602481526000602082017f455243313135353a206275726e20616d6f756e7420657863656564732062616c815263616e636560e01b60208201529150612d16565b60208082528101610607816135b1565b60a081016136108288612bd8565b61361d6020830187612bd8565b61362a60408301866124d4565b61363760608301856124d4565b81810360808301526136498184612693565b979650505050505050565b8051610607816124ea565b60006020828403121561367457613674600080fd5b60006125268484613654565b600060033d1115612d755760046000803e5060005160e01c90565b600060443d10156136a95790565b60405160043d036004823e80513d60248201116001600160401b03821117156136d157505090565b80820180516001600160401b038111156136ec575050505090565b80602083010160043d03850181111561370757505050505090565b6137168260200185018661255a565b5090949350505050565b603481526000602082017f455243313135353a207472616e7366657220746f206e6f6e2d455243313135358152732932b1b2b4bb32b91034b6b83632b6b2b73a32b960611b60208201529150612d16565b6020808252810161060781613720565b602881526000602082017f455243313135353a204552433131353552656365697665722072656a656374658152676420746f6b656e7360c01b60208201529150612d16565b6020808252810161060781613781565b60a081016137e48288612bd8565b6137f16020830187612bd8565b81810360408301526138038186612a69565b905081810360608301526138178185612a69565b905081810360808301526136498184612693565b600e81526000602082016d135d5cdd0818994818481b1a5cdd60921b815291506131ba565b602080825281016106078161382b565b600e81526000602082016d092dcecc2d8d2c840d8cadccee8d60931b815291506131ba565b6020808252810161060781613860565b634e487b7160e01b600052601260045260246000fd5b6000826138ba576138ba613895565b500690565b60ff91821691908116908282039081111561060757610607612f6b565b60ff9182169190811690828202908116908181146123cd576123cd612f6b565b60ff91821691908116908282019081111561060757610607612f6b565b60008261392857613928613895565b500490565b601381526000602082017224b73b30b634b2103ab4b73a10373ab6b132b960691b815291506131ba565b602080825281016106078161392d565b8181028082158382048514176123cd576123cd612f6b565b60008161398e5761398e612f6b565b506000190190565b60208082527f537472696e67733a20686578206c656e67746820696e73756666696369656e74910190815260006131ba565b6020808252810161060781613996565b80825b6001851115613a17578086048111156139f6576139f6612f6b565b6001851615613a0457908102905b8002613a108560011c90565b94506139db565b94509492505050565b600082613a2f5750600161071a565b81613a3c5750600061071a565b8160018114613a525760028114613a5c57613a89565b600191505061071a565b60ff841115613a6d57613a6d612f6b565b8360020a915084821115613a8357613a83612f6b565b5061071a565b5060208310610133831016604e8410600b8410161715613ab7575081810a838111156106f1576106f1612f6b565b613ac484848460016139d8565b92509050818404811115613ada57613ada612f6b565b0292915050565b600061071a6000198484613a2056fea49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775a264697066735822122096031be640d46bde2476dc518f28fc021b98c7c26bf21f72e24cd665f40af50f64736f6c634300081300330000000000000000000000002472d36f785ca4cfad266269081cbb7fca8e31fe000000000000000000000000d960dd5d7aa13d9d523693f990a8c426ef18666000000000000000000000000000000000000000000000000000000000000007d000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000fc83a3f252090b26f92f91dfb9dc3eb710adaf1b000000000000000000000000000000000000000000000000000000000000003b68747470733a2f2f676265742e6d7970696e6174612e636c6f75642f697066732f516d4e5362534c33356364756b5a4c4859374b53707152326a760000000000