0 txs
13 calls
constructor
constructor()
functions
ADMIN_ROLE
viewfunction ADMIN_ROLE() view returns (bytes32)
bioContracts
viewfunction bioContracts(uint256 id) view returns (address)
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)
LAUNCH_ROLE
viewfunction LAUNCH_ROLE() view returns (bytes32)
launchID
viewfunction launchID() view returns (uint256)
OPERATION_ROLE
viewfunction OPERATION_ROLE() view returns (bytes32)
params
viewfunction params() view returns (tuple)
proxiableUUID
viewfunction proxiableUUID() view returns (bytes32)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
UPGRADE_INTERFACE_VERSION
viewfunction UPGRADE_INTERFACE_VERSION() view returns (string)
cancelLaunch
nonpayablefunction cancelLaunch(uint256 id)
createLaunch
nonpayablefunction createLaunch(tuple gParams) returns (address)
grantLaunchRole
nonpayablefunction grantLaunchRole(uint256 id, address account, bytes32 role)
grantRole
nonpayablefunction grantRole(bytes32 role, address account)
initialize
nonpayablefunction initialize(tuple p)
onLaunchSuccess
nonpayablefunction onLaunchSuccess(uint256 id, tuple p) returns (address)
renounceRole
nonpayablefunction renounceRole(bytes32 role, address callerConfirmation)
resetTime
nonpayablefunction resetTime(uint256 id, uint256 newStartTime, uint256 newEndTime)
revokeRole
nonpayablefunction revokeRole(bytes32 role, address account)
setParams
nonpayablefunction setParams(tuple p)
upgradeToAndCall
payablefunction upgradeToAndCall(address newImplementation, bytes data) payable
withdrawLeftAssetsAfterFinalized
nonpayablefunction withdrawLeftAssetsAfterFinalized(uint256 id, address to, address token, uint256 amount)
events
Initialized
event Initialized(uint64 version)
LaunchCreated
event LaunchCreated(uint256 indexed id, address indexed addr)
ParamsSet
event ParamsSet(address indexed bioToken, address indexed feeAddr, address indexed agentFactory)
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)
Upgraded
event Upgraded(address indexed implementation)
errors
AccessControlBadConfirmation
error AccessControlBadConfirmation()
AccessControlUnauthorizedAccount
error AccessControlUnauthorizedAccount(address account, bytes32 neededRole)
AddressEmptyCode
error AddressEmptyCode(address target)
ERC1967InvalidImplementation
error ERC1967InvalidImplementation(address implementation)
ERC1967NonPayable
error ERC1967NonPayable()
FailedInnerCall
error FailedInnerCall()
InvalidInitialization
error InvalidInitialization()
NotInitializing
error NotInitializing()
UUPSUnauthorizedCallContext
error UUPSUnauthorizedCallContext()
UUPSUnsupportedProxiableUUID
error UUPSUnsupportedProxiableUUID(bytes32 slot)
creation bytecode
0x60a080604052346100cc57306080527ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a009081549060ff8260401c166100bd57506001600160401b036002600160401b031982821601610078575b60405161540890816100d18239608051818181610f65015261101b0152f35b6001600160401b031990911681179091556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a15f8080610059565b63f92ee8a960e01b8152600490fd5b5f80fdfe608080604052600436101562000013575f80fd5b5f905f3560e01c908162ae069814620014335750806301ffc9a714620013d8578063248a9ca3146200139c5780632f2ff15d146200134a57806336568abe14620012fc57806337afc7c3146200126f5780633cfbd2b8146200122e5780634f1ef2861462000fbe57806352d1902d1462000f5157806375b238fc1462000f275780638545d8df1462000eeb57806391d148541462000e91578063925634501462000e55578063966401891462000dab578063a217fddf1462000d8d578063ad3cb1cc1462000d2c578063b0da5d901462000bcd578063cff0ab961462000a3d578063d547741f14620009e6578063dcd0d5f11462000973578063e4ae151314620008ef578063eacfca1f14620002cc578063f61f1a0314620002475763f9fe0cd0146200013e575f80fd5b34620002445760803660031901126200024457606036602319011262000244576200016862001695565b6001600160a01b03806200017e60043562001b42565b169060443581811680910362000240576064358015158091036200023c57606460209286604051968794859363c1891b3160e01b85526024356004860152602485015260448401525af191821562000231578392620001e5575b6020838360405191168152f35b9091506020813d60201162000228575b816200020460209383620014a4565b810103126200022457518181168103620002245760209250905f620001d8565b8280fd5b3d9150620001f5565b6040513d85823e3d90fd5b8480fd5b5f80fd5b80fd5b50346200024457602036600319011262000244576200026562001695565b806001600160a01b036200027b60043562001b42565b16803b15620002c957818091600460405180948193631c9634af60e11b83525af18015620002be57620002ab5750f35b620002b69062001473565b620002445780f35b6040513d84823e3d90fd5b50fd5b503462000244576003196020368201126200079b57600435906001600160401b038211620002245760a09082360301126200079b576040519060a082018281106001600160401b03821117620007c057604052806004013582526024810135602083015260448101356001600160401b038111620008d757620003569060043691840101620015ea565b60408301526064810135906001600160401b038211620008d7576200038460849260043691840101620015ea565b6060840152013560808201525f805160206200529383398151915280545f8051602062005253833981519152545f8051602062005273833981519152546040516323b872dd60e01b81529260209284926001600160a01b039283169284928a928492620003f7921633600485016200160b565b03925af1908115620008e45784916200089e575b50156200085a5781515f80516020620053b3833981519152548101809111620008465760208301525f805160206200539383398151915254905f1982146200084657600182015f8051602062005393833981519152555f80516020620053138339815191525490545f8051602062005373833981519152545f80516020620052d3833981519152545f805160206200523383398151915254604087015151909491936001600160a01b0390811692169015158062000837575b8062000829575b15620007f3576040516132ff81018181106001600160401b03821117620007df5781906132ff62001f148339039089f0968715620007d457805190602081015160408201519060806060840151930151936040519a8b6001600160401b03610180828181011092011117620007c0576001906101808d01604052018b523060208c015260408b015260608a0152608089015260a088015260c087015260e086015261010085015261012084015261014083015261016082015262000667604051809263058f81c960e31b6020830152602060248301528051604483015260018060a01b03602082015116606483015260408101516084830152606081015160a483015261016062000609620005f2608084015161018060c48701526101c48601906200151d565b60a08401518582036043190160e48701526200151d565b60c083015161010485015260e08301516001600160a01b03908116610124860152610100840151166101448501526101208301516101648501526101408301516101848501529101516101a483015203601f198101835282620014a4565b604051916102c890818401918483106001600160401b03841117620007ac57620006b19285949260409262001c4c87396001600160a01b031681526020810182905201906200151d565b039082f080156200079f575f8051602062005313833981519152546001600160a01b0391821691839116803b156200079b57819060246040518094819363aafa2bc760e01b83528760048401525af18015620002315762000783575b602083835f80516020620053938339815191525482525f80516020620052f38339815191528352604082208160018060a01b0319825416179055805f8051602062005393833981519152547f0b21ce10d05414b5f3d580af0db670a050461176e85cf2bd77c8f1f35bf9b8f46040519480a38152f35b6200078f839162001473565b6200079b575f6200070d565b5080fd5b50604051903d90823e3d90fd5b634e487b7160e01b86526041600452602486fd5b634e487b7160e01b5f52604160045260245ffd5b6040513d8a823e3d90fd5b634e487b7160e01b8a52604160045260248afd5b60405162461bcd60e51b815260206004820152600e60248201526d496e76616c696420706172616d7360901b6044820152606490fd5b5060808701511515620004cb565b506060870151511515620004c4565b634e487b7160e01b84526011600452602484fd5b606460405162461bcd60e51b815260206004820152602060248201527f7472616e73666572206372656174654c61756e636820666565206661696c65646044820152fd5b90506020813d602011620008db575b81620008bc60209383620014a4565b81010312620008d757518015158103620008d7575f6200040b565b8380fd5b3d9150620008ad565b6040513d86823e3d90fd5b5034620002445760603660031901126200024457806200090e6200145c565b620009186200162d565b6001600160a01b0390816200092f60043562001b42565b1691823b156200096e5760448492836040519586948593632f2ff15d60e01b8552853560048601521660248401525af18015620002be57620002ab5750f35b505050fd5b50346200024457606036600319011262000244576200099162001695565b806001600160a01b03620009a760043562001b42565b16803b15620002c9578180916044604051809481936343e48f9560e11b83526024356004840152833560248401525af18015620002be57620002ab5750f35b503462000244576040366003190112620002445762000a3960043562000a0b6200145c565b908084525f805160206200533383398151915260205262000a336001604086200154620016f1565b620018bf565b5080f35b503462000244578060031936011262000244576040516101209162000a628262001487565b8082528060208301528060408301528060608301528060808301528060a08301528060c08301528060e0830152610100809201526040519062000aa58262001487565b60018060a01b0391825f80516020620052938339815191525416928382525f805160206200537383398151915254602083019081525f80516020620052d38339815191525460408401908152825f80516020620052538339815191525416606085019081525f80516020620052738339815191525460808601908152845f80516020620053b3833981519152549260a088019384527f40f6a347e5b73cd2e1f4103810af363b4099ae3a1e65d0bfb823ba7ce33e9907549460c08901958652825f805160206200531383398151915254169660e08a019788528a5f8051602062005233833981519152549a01998a526040519b8c525160208c01525160408b0152511660608901525160808801525160a08701525160c0860152511660e08401525190820152f35b50346200024457610120366003190112620002445762000bed366200155d565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0090815460ff8160401c1615916001600160401b0382168015908162000d23575b600114908162000d18575b15908162000d0e575b5062000cfc5767ffffffffffffffff198216600117845562000c98918362000cdc575b5062000c7062001ba1565b62000c7a62001ba1565b62000c853362001721565b5062000c9133620017ae565b506200197b565b62000ca1575080f35b805460ff60401b19169055604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a180f35b68ffffffffffffffffff1916680100000000000000011784555f62000c65565b60405163f92ee8a960e01b8152600490fd5b9050155f62000c42565b303b15915062000c39565b84915062000c2e565b5034620002445780600319360112620002445760405160408101908082106001600160401b03831117620007c05762000d899160405260058152640352e302e360dc1b60208201526040519182916020835260208301906200151d565b0390f35b50346200024457806003193601126200024457602090604051908152f35b503462000240576080366003190112620002405762000dc96200145c565b6044356001600160a01b038082168203620002405762000de86200162d565b62000df560043562001b42565b1691823b15620002405762000e28925f9283604051809681958294633f90cc0b60e11b845260643591600485016200160b565b03925af1801562000e4a5762000e3c575080f35b62000e48915062001473565b005b6040513d5f823e3d90fd5b3462000240575f366003190112620002405760206040517ff17a52ef07e0bf6004487e8a911da5d0c2069acda44a7d6c0664442b85327a9e8152f35b3462000240576040366003190112620002405762000eae6200145c565b6004355f525f805160206200533383398151915260205260405f209060018060a01b03165f52602052602060ff60405f2054166040519015158152f35b3462000240575f366003190112620002405760206040517f20296b01d0b6bd176f0c1e29644934c0047abf080dae43609a1bbc09e39bafdb8152f35b3462000240575f366003190112620002405760206040515f80516020620053538339815191528152f35b3462000240575f36600319011262000240577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316300362000fac5760206040515f80516020620052b38339815191528152f35b60405163703e46dd60e11b8152600490fd5b604036600319011262000240576004356001600160a01b0380821690818303620002405760249283356001600160401b0381116200024057366023820112156200024057620010179036908681600401359101620014e2565b91807f00000000000000000000000000000000000000000000000000000000000000001680301491821562001211575b505062000fac57335f9081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d602090815260409091205490919060ff1615620011f4576040516352d1902d60e01b81528281600481885afa5f9181620011bf575b50620010c757604051634c9c8ce360e01b8152600481018690528690fd5b8490865f80516020620052b383398151915291828103620011aa5750833b1562001194575080546001600160a01b03191682179055604051907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b5f80a28351156200117957505f80848462000e4896519101845af4903d156200116f573d6200115081620014c6565b90620011606040519283620014a4565b81525f81943d92013e62001be3565b6060925062001be3565b92505050346200118557005b63b398979f60e01b8152600490fd5b604051634c9c8ce360e01b815260048101849052fd5b60405190632a87526960e21b82526004820152fd5b9091508381813d8311620011ec575b620011da8183620014a4565b810103126200024057519087620010a9565b503d620011ce565b60405163e2517d3f60e01b81523360048201525f81870152604490fd5b5f80516020620052b3833981519152541614159050858062001047565b346200024057602036600319011262000240576004355f525f80516020620052f3833981519152602052602060018060a01b0360405f205416604051908152f35b34620002405761012036600319011262000240576200128d6200162d565b620012a26200129c366200155d565b6200197b565b6001600160a01b0360043581811690819003620002405760643590828216809203620002405760e43592831680930362000240577f916bbb0e402d7fb4eaa5b4fe0830008d8f2827bba3d130b89be7e1d9f9033b2d5f80a4005b34620002405760403660031901126200024057620013196200145c565b336001600160a01b03821603620013385762000e4890600435620018bf565b60405163334bd91960e11b8152600490fd5b3462000240576040366003190112620002405762000e486004356200136e6200145c565b90805f525f805160206200533383398151915260205262001396600160405f200154620016f1565b6200184c565b346200024057602036600319011262000240576004355f525f80516020620053338339815191526020526020600160405f200154604051908152f35b3462000240576020366003190112620002405760043563ffffffff60e01b81168091036200024057602090637965db0b60e01b811490811562001421575b506040519015158152f35b6301ffc9a760e01b1490508262001416565b3462000240575f36600319011262000240576020905f8051602062005393833981519152548152f35b602435906001600160a01b03821682036200024057565b6001600160401b038111620007c057604052565b61012081019081106001600160401b03821117620007c057604052565b90601f801991011681019081106001600160401b03821117620007c057604052565b6001600160401b038111620007c057601f01601f191660200190565b929192620014f082620014c6565b91620015006040519384620014a4565b82948184528183011162000240578281602093845f960137010152565b91908251928382525f5b84811062001548575050825f602080949584010152601f8019910116010190565b60208183018101518483018201520162001527565b6101209060031901126200024057604051906200157a8262001487565b816001600160a01b0360043581811681036200024057825260243560208301526044356040830152606435818116810362000240576060830152608435608083015260a43560a083015260c43560c083015260e4359081168103620002405760e082015261010061010435910152565b9080601f8301121562000240578160206200160893359101620014e2565b90565b6001600160a01b03918216815291166020820152604081019190915260600190565b335f9081527fb16e88c42fd4e48df2dd6a2eabd6bc9aec654ec170056b470819f8892cc6431c60205260409020545f80516020620053538339815191529060ff1615620016775750565b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b335f9081527f4a2e4cd4e822d4fa122a3b43d34fc2f9bde04478a5461c1d65ad05a22dabc4de60205260409020547f20296b01d0b6bd176f0c1e29644934c0047abf080dae43609a1bbc09e39bafdb9060ff1615620016775750565b805f525f805160206200533383398151915260205260405f20335f5260205260ff60405f20541615620016775750565b6001600160a01b03165f8181527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d60205260409020545f80516020620053338339815191529060ff16620017a8575f805260205260405f20815f5260205260405f20600160ff1982541617905533905f5f80516020620052138339815191528180a4600190565b50505f90565b6001600160a01b03165f8181527fb16e88c42fd4e48df2dd6a2eabd6bc9aec654ec170056b470819f8892cc6431c60205260409020545f805160206200535383398151915291905f80516020620053338339815191529060ff166200184557825f5260205260405f20815f5260205260405f20600160ff1982541617905533915f80516020620052138339815191525f80a4600190565b5050505f90565b90815f525f80516020620053338339815191528060205260405f209160018060a01b031691825f5260205260ff60405f205416155f146200184557825f5260205260405f20815f5260205260405f20600160ff1982541617905533915f80516020620052138339815191525f80a4600190565b90815f525f80516020620053338339815191528060205260405f209160018060a01b031691825f5260205260ff60405f2054165f146200184557825f5260205260405f20815f5260205260405f2060ff19815416905533917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b156200194857565b60405162461bcd60e51b815260206004820152600b60248201526a125b9d985b1a5908185b5d60aa1b6044820152606490fd5b80516001600160a01b039190821615158062001b32575b8062001b22575b1562001aee57610100916020820190815115158062001ae0575b8062001ad2575b620019c59062001940565b60a08301805115158062001ac5575b620019df9062001940565b818451169260018060a01b0319935f80516020620052938339815191529085825416179055515f80516020620053738339815191525560408401515f80516020620052d383398151915255816060850151165f8051602062005253833981519152908482541617905560808401515f805160206200527383398151915255515f80516020620053b38339815191525560c08301517f40f6a347e5b73cd2e1f4103810af363b4099ae3a1e65d0bfb823ba7ce33e99075560e0830151165f80516020620053138339815191529182541617905501515f805160206200523383398151915255565b50838501511515620019d4565b5060808301511515620019ba565b5060408301511515620019b3565b60405162461bcd60e51b815260206004820152600c60248201526b24b73b30b634b21030b2323960a11b6044820152606490fd5b508160e082015116151562001999565b5081606082015116151562001992565b5f9081525f80516020620052f383398151915260205260409020546001600160a01b0316801562001b705790565b60405162461bcd60e51b8152602060048201526009602482015268139bdd08199bdd5b9960ba1b6044820152606490fd5b60ff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460401c161562001bd157565b604051631afcd79f60e31b8152600490fd5b9062001c0c575080511562001bfa57805190602001fd5b604051630a12f52160e11b8152600490fd5b8151158062001c41575b62001c1f575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b1562001c1656fe60806040526102c8803803806100148161018e565b92833981019060408183031261018a5780516001600160a01b03811680820361018a5760208381015190936001600160401b03821161018a570184601f8201121561018a5780519061006d610068836101c7565b61018e565b9582875285838301011161018a5784905f5b8381106101765750505f9186010152813b1561015e577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b03191682179055604051907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b5f80a283511561014057505f80848461012796519101845af4903d15610137573d610118610068826101c7565b9081525f81943d92013e6101e2565b505b604051608290816102468239f35b606092506101e2565b925050503461014f5750610129565b63b398979f60e01b8152600490fd5b60249060405190634c9c8ce360e01b82526004820152fd5b81810183015188820184015286920161007f565b5f80fd5b6040519190601f01601f191682016001600160401b038111838210176101b357604052565b634e487b7160e01b5f52604160045260245ffd5b6001600160401b0381116101b357601f01601f191660200190565b9061020957508051156101f757805190602001fd5b604051630a12f52160e11b8152600490fd5b8151158061023c575b61021a575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b1561021256fe60806040527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc545f9081906001600160a01b0316368280378136915af43d5f803e156048573d5ff35b3d5ffdfea2646970667358221220511b6da48538c676fdbb25b5ef62e320b24afc4ca990835b71d312ed3aec2ba664736f6c6343000817003360a080604052346100cd57306080527ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a009081549060ff8260401c166100be57506001600160401b036002600160401b031982821601610079575b60405161322d9081620000d2823960805181818161145b015261152c0152f35b6001600160401b031990911681179091556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a15f8080610059565b63f92ee8a960e01b8152600490fd5b5f80fdfe6080806040526004361015610012575f80fd5b5f3560e01c90816301ffc9a7146125b75750806304a0fb1714612590578063129874aa146122b8578063248a9ca31461227f5780632c7c0e481461191c5780632f2ff15d146118d357806330f1ebb9146118aa5780633197cbb61461188157806335f6efa91461185857806336568abe14611811578063392c695e146117385780634269036a1461170f5780634b09b72a146116e65780634bc04109146116b25780634f1ef286146114b257806352d1902d14611449578063544736e61461141d5780635de29193146113f45780635de5805a146113d15780636c4470fb1461139557806378e979251461136c5780637970370f146113355780637f2198161461118a57806380f36c6d1461115657806387860b951461112a57806387c91f2a1461102d57806391d1485414610fd85780639443730414610ec957806395ee122114610e98578063a217fddf14610e7e578063a4fd6f5614610e52578063ad3cb1cc14610e09578063af29dea214610dd5578063b69d1a0814610a92578063c1891b3114610583578063c45a01551461054b578063c884ef831461051a578063d547741f146104cf578063f4163340146104a15763ff42420a146101d4575f80fd5b3461049d575f36600319011261049d575f6101c06040516101f48161264c565b82815282602082015282604082015282606082015260606080820152606060a08201528260c08201528260e08201528261010082015282610120820152826101408201528261016082015282610180820152826101a082015201525f805160206131188339815191525460ff5f80516020613058833981519152545f80516020613078833981519152545f805160206130d8833981519152545f805160206131d88339815191525460018060a01b035f80516020613198833981519152541660018060a01b035f8051602061301883398151915254165f805160206130b883398151915254915f80516020612ff883398151915254935f80516020613138833981519152549560018060a01b035f805160206130388339815191525416976040519b61031f8d61264c565b8c5260018060a01b038a60101c1660208d015260408c015260608b01526040516103538161034c8161299c565b038261269e565b60808b01526040516103688161034c816128fd565b60a08b015260c08a015260e089015261010088015261012087015261014086015261016085015261018084015281811615156101a084015260081c1615156101c08201526040518091602082528051602083015260018060a01b03602082015116604083015260408101516060830152606081015160808301526101c061041961040360808401516101e060a08701526102008601906126da565b60a0840151858203601f190160c08701526126da565b9160c081015160e085015260018060a01b0360e08201511661010085015260018060a01b036101008201511661012085015261012081015161014085015261014081015161016085015261016081015161018085015260018060a01b03610180820151166101a08501526101a0810151151582850152015115156101e08301520390f35b5f80fd5b3461049d575f36600319011261049d57602060ff5f8051602061305883398151915254166040519015158152f35b3461049d57604036600319011261049d576105186004356104ee612620565b90805f525f80516020613178833981519152602052610513600160405f200154612d74565b612da2565b005b3461049d57602036600319011261049d57602060ff61053f61053a612636565b612815565b54166040519015158152f35b3461049d575f36600319011261049d575f805160206130588339815191525460405160109190911c6001600160a01b03168152602090f35b3461049d57606036600319011261049d5761059c612620565b60443580158015820361049d576105b1612cb8565b6105b9612a66565b5f805160206130588339815191528054906105e26105d56127a9565b60ff8460081c1615612718565b6106055f805160206130d8833981519152544210156105ff612a1b565b90612718565b60405160208101903360601b82524260348201526034815261062681612683565b519020915f94610a7f575b50505f80516020613038833981519152546001600160a01b03161580610a78575b6106f2575b507f0e2ffc703b1b2d31f46523a903fba493b99085951f6c8057457aab16e909d0eb60606020946004357f868f3d6cead54626e1845e44e8ffa55f6f1761209085bfed631331cbbc85e90c555f80516020613118833981519152549360405191600435835260018060a01b031687830152156040820152a260015f805160206131b8833981519152556040516001600160a01b039091168152f35b5f80516020613018833981519152545f80516020613198833981519152545f805160206130b88339815191525460405163095ea7b360e01b815293955060209284926001600160a01b039182169284925f9284926107569290911660048401612a4b565b03925af180156109a357610a49575b5060018060a01b035f80516020613198833981519152541660405190815f5f805160206130f883398151915280549061079d82612893565b9160018116908115610a2157506001146109e1575b5050916107dd60076108379385662062792042696f60c81b602097520360181981018752018561269e565b6108265f5f805160206131d883398151915254955f805160206130b88339815191525496604051978896879586946309fd832d60e31b865260a0600487015260a48601906126da565b8481036003190160248601526128fd565b604484019290925260648301526001600160a01b038b16608483015203925af180156109a3575f906109ae575b60209150606460018060a01b035f805160206131988339815191525416915f5f80516020613138833981519152549360405197889586946301e7b0fb60e41b86526004860152602485015260448401525af19182156109a3575f9261095f575b506001600160a01b03821692831561091c575f8051602061303883398151915280546001600160a01b0319169094179093557f0e2ffc703b1b2d31f46523a903fba493b99085951f6c8057457aab16e909d0eb610657565b60405162461bcd60e51b815260206004820152601b60248201527a1059d95b9d081d1bdad95b8818dc99585d1a5bdb8819985a5b1959602a1b6044820152606490fd5b9091506020813d60201161099b575b8161097b6020938361269e565b8101031261049d57516001600160a01b038116810361049d5790836108c4565b3d915061096e565b6040513d5f823e3d90fd5b506020813d6020116109d9575b816109c86020938361269e565b8101031261049d5760209051610864565b3d91506109bb565b9091505f5260205f205f905b828210610a0557505081016020016107dd60076107b2565b60209192935080600191548385890101520191018492916109ed565b60ff1916602086810191909152831515909302850190920192506107dd9150600790506107b2565b610a6a9060203d602011610a71575b610a62818361269e565b810190612e5b565b5083610765565b503d610a58565b5081610652565b60ff1916831560ff161790558480610631565b3461049d57606036600319011261049d576004356024803591604435916001600160401b039283811161049d573660238201121561049d5780600401359084821161049d576005908260051b91848383010136811161049d57610af3612a66565b60ff610afe33612815565b5416610d98578615801590610d8f575b15610d4b5786610b1d336127dd565b5410610d07576040516020988982013381528960408401528b606084015260608352608083019183831090831117610cf4579060a08b94939282604052835190209201918252838152610b6f81612668565b519020907f868f3d6cead54626e1845e44e8ffa55f6f1761209085bfed631331cbbc85e90c5496610ba58460405198018861269e565b8652828601948801855b828210610ce4575050509380519384610ca4575b505050505003610c715750610bd733612815565b600160ff19825416179055610c1f8160018060a01b03610c088633835f805160206130388339815191525416612e21565b33905f805160206130188339815191525416612e21565b5f8051602061311883398151915254916040519384528301527f22a0f834e3be5995966afd14cd16dca4d661fbc1a6d2e90a8ac1842a2dbd661c60403393a360015f805160206131b883398151915255005b82600d6064926040519262461bcd60e51b845260048401528201526c24b73b30b634b210383937b7b360991b6044820152fd5b949392949260051b0101915b81518111841b9081528782519118528660405f2091019282841015610cd6579290610cb0565b509150508680868180610bc3565b813581528b949182019101610baf565b88634e487b7160e01b5f5260416004525ffd5b60405162461bcd60e51b815260206004820152601e818801527f41626f766520757365722070617274696369706174656420616d6f756e7400006044820152606490fd5b60405162461bcd60e51b815260206004820152601c818801527f4e6f20746f6b656e7320746f20636c61696d206f7220726566756e64000000006044820152606490fd5b50881515610b0e565b60405162461bcd60e51b81526020600482015260168188015275151bdad95b9cc8185b1c9958591e4818db185a5b595960521b6044820152606490fd5b3461049d575f36600319011261049d575f80516020613038833981519152546040516001600160a01b039091168152602090f35b3461049d575f36600319011261049d57610e4e604051610e2881612668565b60058152640352e302e360dc1b60208201526040519182916020835260208301906126da565b0390f35b3461049d575f36600319011261049d5760205f805160206130d883398151915254421015604051908152f35b3461049d575f36600319011261049d5760206040515f8152f35b3461049d575f36600319011261049d57602060ff5f805160206130588339815191525460081c166040519015158152f35b3461049d575f36600319011261049d5760ff5f80516020613058833981519152541615610f9f57610ef9336127dd565b548015610f6d575f610f0a336127dd565b555f8051602061301883398151915254610f3090829033906001600160a01b0316612e21565b5f80516020613118833981519152546040519182527febba6461d2a021a15e9c1e904fc1699cc5ee60505522ee7c4b7f0867bb8f9a3760203393a3005b60405162461bcd60e51b815260206004820152600a6024820152695a65726f2076616c756560b01b6044820152606490fd5b60405162461bcd60e51b815260206004820152601160248201527013185d5b98da081b9bdd0819985a5b1959607a1b6044820152606490fd5b3461049d57604036600319011261049d57610ff1612620565b6004355f525f8051602061317883398151915260205260405f209060018060a01b03165f52602052602060ff60405f2054166040519015158152f35b3461049d577f29d6ce89701d2d2e06675ce74585fa05425950a176b2de69b63ef83af8490eb9608061105e3661260a565b611066612cb8565b61106e612a66565b6110aa5f805160206130588339815191525461109861108b6127a9565b60ff8360081c1615612718565b60ff6110a2612778565b911615612718565b5f80516020613078833981519152918254926110cf6110c76128cb565b854210612718565b825f805160206130d8833981519152838154936110f56110ed612748565b864210612718565b6110ff8483612a95565b5555604051938452602084015260408301526060820152a160015f805160206131b883398151915255005b3461049d57602036600319011261049d57602061114d611148612636565b6127dd565b54604051908152f35b3461049d575f36600319011261049d575f80516020613018833981519152546040516001600160a01b039091168152602090f35b3461049d57606036600319011261049d576111a3612636565b6111ab612620565b90604435906111b8612d1e565b6111c0612a66565b6111dd5f805160206130d8833981519152544210156105ff612a1b565b6001600160a01b039083821680156112f8576040516370a0823160e01b81523060048201526020908181602481865afa9081156109a3575f916112cb575b50851161128857509061125184827f46136dc7988f307b7670342abc113edcd66636183537de2ca7776cedd89ba4e59594612e21565b6112725f805160206131188339815191525494604051938493169683612a4b565b0390a360015f805160206131b883398151915255005b6064906040519062461bcd60e51b825280600483015260248201527f496e73756666696369656e742062616c616e636520746f2077697468647261776044820152fd5b90508181813d83116112f1575b6112e2818361269e565b8101031261049d57518761121b565b503d6112d8565b60405162461bcd60e51b8152602060048201526015602482015274496e76616c696420746f6b656e206164647265737360581b6044820152606490fd5b3461049d575f36600319011261049d57610e4e6040516113588161034c8161299c565b6040519182916020835260208301906126da565b3461049d575f36600319011261049d5760205f8051602061307883398151915254604051908152f35b3461049d575f36600319011261049d5760207f868f3d6cead54626e1845e44e8ffa55f6f1761209085bfed631331cbbc85e90454604051908152f35b3461049d575f36600319011261049d57610e4e6040516113588161034c816128fd565b3461049d575f36600319011261049d5760205f80516020612ff883398151915254604051908152f35b3461049d575f36600319011261049d5760205f8051602061307883398151915254421015604051908152f35b3461049d575f36600319011261049d577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031630036114a05760206040515f805160206130988339815191528152f35b60405163703e46dd60e11b8152600490fd5b604036600319011261049d576114c6612636565b60249081356001600160401b03811161049d573660238201121561049d578060040135916114f3836126bf565b611500604051918261269e565b838152602093848201933687838301011161049d57815f92888893018737830101526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116308114908115611697575b506114a057611565612d1e565b6040516352d1902d60e01b8152908316948082600481895afa9182915f93611667575b50506115a657604051634c9c8ce360e01b8152600481018690528690fd5b8490865f80516020613098833981519152918281036116525750843b1561163c575080546001600160a01b03191682179055604051907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b5f80a281511561162257505f6105189381925190845af461161c612f25565b91612f54565b925050503461162d57005b63b398979f60e01b8152600490fd5b604051634c9c8ce360e01b815260048101849052fd5b60405190632a87526960e21b82526004820152fd5b9080929350813d8311611690575b61167f818361269e565b8101031261049d5751908780611588565b503d611675565b9050815f805160206130988339815191525416141587611558565b3461049d575f36600319011261049d575f80516020613198833981519152546040516001600160a01b039091168152602090f35b3461049d575f36600319011261049d5760205f805160206130b883398151915254604051908152f35b3461049d575f36600319011261049d5760205f8051602061313883398151915254604051908152f35b3461049d575f36600319011261049d57611750612cb8565b611758612a66565b5f80516020613058833981519152610100815461177661108b6127a9565b61178b611781612778565b60ff831615612718565b6117a75f805160206130788339815191525442106105ff6128cb565b6117c35f805160206130d88339815191525442106105ff612748565b61ff0019161790555f80516020613118833981519152547f979d51f8813f5cf2ff416c3e2a173a4a15d8cf07ed269df06fd2798e401a865e5f80a260015f805160206131b883398151915255005b3461049d57604036600319011261049d5761182a612620565b336001600160a01b038216036118465761051890600435612da2565b60405163334bd91960e11b8152600490fd5b3461049d575f36600319011261049d5760205f8051602061311883398151915254604051908152f35b3461049d575f36600319011261049d5760205f805160206130d883398151915254604051908152f35b3461049d575f36600319011261049d5760205f805160206131d883398151915254604051908152f35b3461049d57604036600319011261049d576105186004356118f2612620565b90805f525f80516020613178833981519152602052611917600160405f200154612d74565b612c48565b3461049d5760031960203682011261049d57600435906001600160401b03821161049d5761018090823603011261049d577ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0080546001600160401b0381168015908161226f575b6001149081612265575b15908161225c575b5061224a5760016001600160401b0319821617825560ff8160401c161561222b575b6119bf612ee4565b6119c7612ee4565b6119cf612ee4565b60015f805160206131b8833981519152556119e8612ee4565b8260040135156121f5576001600160a01b03611a066024850161284d565b16156121b657611a1e60648401356044850135612a95565b611a2e6084840184600401612861565b90501561217b57611a4560a4840184600401612861565b90501561213e5760c4830135156120fb576001600160a01b03611a6a60e4850161284d565b16156120b6576001600160a01b03611a85610104850161284d565b161561207557610124830135156120225761014483013515611fcd5761016483013515611f735782600401355f8051602061311883398151915255611acc6024840161284d565b5f80516020613058833981519152805462010000600160b01b03191660109290921b62010000600160b01b031691909117905560448301355f805160206130788339815191525560648301355f805160206130d883398151915255611b376084840160048501612861565b906001600160401b038211611e40578190611b5f5f805160206130f883398151915254612893565b601f8111611efc575b505f90601f8311600114611e5f575f92611e54575b50508160011b915f199060031b1c1916175f805160206130f8833981519152555b611bae60a4840184600401612861565b6001600160401b038195929511611e4057611bd65f80516020612fb883398151915254612893565b601f8111611dd6575b505f601f8211600114611d4a57611cf99282611cf49360249360ff98995f92611d3f575b50508160011b915f199060031b1c1916175f80516020612fb8833981519152555b60c48101355f805160206131d8833981519152556001600160a01b03611c4c60e4830161284d565b5f805160206131988339815191528054919092166001600160a01b0319918216179091556001600160a01b03611c85610104840161284d565b165f80516020613018833981519152918254161790556101248101355f805160206130b8833981519152556101448101355f80516020612ff8833981519152556101648101355f8051602061313883398151915255611ced611ce883830161284d565b612b24565b500161284d565b612bae565b5060401c1615611d0557005b805460ff60401b19169055604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a1005b013590508980611c03565b5f80516020612fb88339815191525f5260205f20905f5b601f1984168110611dbe57509260018360249360ff9899611cf997611cf497601f19811610611da5575b505050811b015f80516020612fb883398151915255611c24565b01355f19600384901b60f8161c19169055898080611d8b565b9091602060018192858b013581550193019101611d61565b5f80516020612fb88339815191525f527e952f704e33f0029cf7e61821968fbaaa19e8bb38e1ef943ad4c18005001597601f830160051c810160208410611e39575b601f830160051c82018110611e2e575050611bdf565b5f8155600101611e18565b5080611e18565b634e487b7160e01b5f52604160045260245ffd5b013590508580611b7d565b5f805160206130f88339815191525f90815293507f92f1a667bc9c6bd93156f3bd0ab2c10a2a88c36d1c091da5e5678e47200d08f6915b601f1984168510611ee4576001945083601f19811610611ecb575b505050811b015f805160206130f883398151915255611b9e565b01355f19600384901b60f8161c19169055858080611eb1565b81810135835560209485019460019093019201611e96565b5f805160206130f88339815191525f529091507f92f1a667bc9c6bd93156f3bd0ab2c10a2a88c36d1c091da5e5678e47200d08f6601f840160051c810160208510611f6c575b90849392915b601f830160051c82018110611f5e575050611b68565b5f8155859450600101611f48565b5080611f42565b60405162461bcd60e51b815260206004820152602c60248201527f4167656e7420746f6b656e206c7020737570706c79206d75737420626520677260448201526b06561746572207468616e20360a41b6064820152608490fd5b60405162461bcd60e51b815260206004820152602760248201527f4d617820636f6e747269627574696f6e206d75737420626520677265617465726044820152660207468616e20360cc1b6064820152608490fd5b60405162461bcd60e51b815260206004820152602560248201527f5265736572766520616d6f756e74206d75737420626520677265617465722074604482015264068616e20360dc1b6064820152608490fd5b60405162461bcd60e51b8152602060048201526019602482015278496e76616c69642062696f20746f6b656e206164647265737360381b6044820152606490fd5b60405162461bcd60e51b815260206004820152601d60248201527f496e76616c6964206167656e7420666163746f727920616464726573730000006044820152606490fd5b60405162461bcd60e51b815260206004820152601b60248201527a135d5cdd081a185d9948184818dbdbdb191bdddb881c195c9a5bd9602a1b6044820152606490fd5b60405162461bcd60e51b815260206004820152601560248201527424b73b30b634b2103630bab731b4103a34b1b5b2b960591b6044820152606490fd5b60405162461bcd60e51b8152602060048201526013602482015272496e76616c6964206c61756e6368206e616d6560681b6044820152606490fd5b60405162461bcd60e51b8152602060048201526017602482015276496e76616c696420666163746f7279206164647265737360481b6044820152606490fd5b60405162461bcd60e51b815260206004820152600e60248201526d125b9d985b1a5908189a5bc8125160921b6044820152606490fd5b68ffffffffffffffffff198116680100000000000000011782556119b7565b60405163f92ee8a960e01b8152600490fd5b90501584611995565b303b15915061198d565b604083901c60ff16159150611983565b3461049d57602036600319011261049d576004355f525f805160206131788339815191526020526020600160405f200154604051908152f35b3461049d576122c63661260a565b6122ce612a66565b5f80516020613078833981519152544210159061231a6040516122f081612668565b601681526020937513185d5b98da081b9bdd081cdd185c9d1959081e595d60521b85830152612718565b6123365f805160206130d88339815191525442106105ff612748565b6123685f8051602061305883398151915254612353611781612778565b60ff61235d6127a9565b9160081c1615612718565b821561253f5780156124fc575f80516020612ff88339815191525481116124ab57612392336127dd565b5415612476575b6123a2336127dd565b80549082820180921161246257555f80516020613018833981519152546040516323b872dd60e01b848201523360248201523060448201526064808201849052815260a08101916001600160a01b03166001600160401b03831182841017611e405761241092604052612e73565b5f8051602061311883398151915254916040519384528301527f20fe128b25ee6824800a2ffce0bbace6ba602f124f276eeaaacd7a3967ab223f60403393a360015f805160206131b883398151915255005b634e487b7160e01b5f52601160045260245ffd5b7f868f3d6cead54626e1845e44e8ffa55f6f1761209085bfed631331cbbc85e90480545f198114612462576001019055612399565b60405162461bcd60e51b8152600481018390526024808201527f45786365656473206d6178696d756d2062696f2070657220636f6e74726962756044820152633a34b7b760e11b6064820152608490fd5b60405162461bcd60e51b815260048101839052601b60248201527a042696f73206d7573742062652067726561746572207468616e203602c1b6044820152606490fd5b60405162461bcd60e51b815260048101839052602360248201527f506f696e7420616d6f756e74206d75737420626520677265617465722074686160448201526206e20360ec1b6064820152608490fd5b3461049d575f36600319011261049d5760206040515f805160206131588339815191528152f35b3461049d57602036600319011261049d576004359063ffffffff60e01b821680920361049d57602091637965db0b60e01b81149081156125f9575b5015158152f35b6301ffc9a760e01b149050836125f2565b604090600319011261049d576004359060243590565b602435906001600160a01b038216820361049d57565b600435906001600160a01b038216820361049d57565b6101e081019081106001600160401b03821117611e4057604052565b604081019081106001600160401b03821117611e4057604052565b606081019081106001600160401b03821117611e4057604052565b90601f801991011681019081106001600160401b03821117611e4057604052565b6001600160401b038111611e4057601f01601f191660200190565b91908251928382525f5b848110612704575050825f602080949584010152601f8019910116010190565b6020818301810151848301820152016126e4565b156127205750565b60405162461bcd60e51b8152602060048201529081906127449060248301906126da565b0390fd5b6040519061275582612668565b601482527313185d5b98da08185b1c9958591e48195b99195960621b6020830152565b6040519061278582612668565b601582527413185d5b98da08185b1c9958591e4819985a5b1959605a1b6020830152565b604051906127b682612668565b601882527713185d5b98da08185b1c9958591e4818d85b98d95b1b195960421b6020830152565b6001600160a01b03165f9081527f868f3d6cead54626e1845e44e8ffa55f6f1761209085bfed631331cbbc85e9106020526040902090565b6001600160a01b03165f9081527f868f3d6cead54626e1845e44e8ffa55f6f1761209085bfed631331cbbc85e90f6020526040902090565b356001600160a01b038116810361049d5790565b903590601e198136030182121561049d57018035906001600160401b03821161049d5760200191813603831361049d57565b90600182811c921680156128c1575b60208310146128ad57565b634e487b7160e01b5f52602260045260245ffd5b91607f16916128a2565b604051906128d882612668565b601682527513185d5b98da08185b1c9958591e481cdd185c9d195960521b6020830152565b5f80516020612fb883398151915280545f939261291982612893565b918282526020936001916001811690815f1461297d575060011461293f575b5050505050565b90939495505f92919252835f2092845f945b83861061296957505050500101905f80808080612938565b805485870183015294019385908201612951565b60ff19168685015250505090151560051b010191505f80808080612938565b5f805160206130f883398151915280545f93926129b882612893565b918282526020936001916001811690815f1461297d57506001146129dd575050505050565b90939495505f92919252835f2092845f945b838610612a0757505050500101905f80808080612938565b8054858701830152940193859082016129ef565b60405190612a2882612668565b601482527313185d5b98da081b9bdd08195b991959081e595d60621b6020830152565b6001600160a01b039091168152602081019190915260400190565b5f805160206131b88339815191526002815414612a835760029055565b604051633ee5aeb560e01b8152600490fd5b90612b2291612adb604051612aa981612668565b602081527f53746172742074696d65206d75737420626520696e20746865206675747572656020820152428311612718565b60405191612ae883612683565b602183527f456e642074696d65206d7573742062652061667465722073746172742074696d6020840152606560f81b604084015211612718565b565b6001600160a01b03165f8181527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d60205260409020545f805160206131788339815191529060ff16612ba8575f805260205260405f20815f5260205260405f20600160ff1982541617905533905f5f80516020612fd88339815191528180a4600190565b50505f90565b6001600160a01b03165f8181527fae397ad4942fd55c39428db5ea3ac85cc8592b20d92437b6ec53a8b6ff39d42d60205260409020545f8051602061315883398151915291905f805160206131788339815191529060ff16612c4157825f5260205260405f20815f5260205260405f20600160ff1982541617905533915f80516020612fd88339815191525f80a4600190565b5050505f90565b90815f525f805160206131788339815191528060205260405f209160018060a01b031691825f5260205260ff60405f205416155f14612c4157825f5260205260405f20815f5260205260405f20600160ff1982541617905533915f80516020612fd88339815191525f80a4600190565b335f9081527fae397ad4942fd55c39428db5ea3ac85cc8592b20d92437b6ec53a8b6ff39d42d60205260409020545f805160206131588339815191529060ff1615612d005750565b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b335f9081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d602052604090205460ff1615612d5657565b60405163e2517d3f60e01b81523360048201525f6024820152604490fd5b805f525f8051602061317883398151915260205260405f20335f5260205260ff60405f20541615612d005750565b90815f525f805160206131788339815191528060205260405f209160018060a01b031691825f5260205260ff60405f2054165f14612c4157825f5260205260405f20815f5260205260405f2060ff19815416905533917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b612e56612b229392612e4860405194859263a9059cbb60e01b602085015260248401612a4b565b03601f19810184528361269e565b612e73565b9081602091031261049d5751801515810361049d5790565b5f80612e9b9260018060a01b03169360208151910182865af1612e94612f25565b9083612f54565b8051908115159182612ec9575b5050612eb15750565b60249060405190635274afe760e01b82526004820152fd5b612edc9250602080918301019101612e5b565b155f80612ea8565b60ff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460401c1615612f1357565b604051631afcd79f60e31b8152600490fd5b3d15612f4f573d90612f36826126bf565b91612f44604051938461269e565b82523d5f602084013e565b606090565b90612f7b5750805115612f6957805190602001fd5b604051630a12f52160e11b8152600490fd5b81511580612fae575b612f8c575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b15612f8456fe868f3d6cead54626e1845e44e8ffa55f6f1761209085bfed631331cbbc85e90e2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d868f3d6cead54626e1845e44e8ffa55f6f1761209085bfed631331cbbc85e90a868f3d6cead54626e1845e44e8ffa55f6f1761209085bfed631331cbbc85e903868f3d6cead54626e1845e44e8ffa55f6f1761209085bfed631331cbbc85e901868f3d6cead54626e1845e44e8ffa55f6f1761209085bfed631331cbbc85e900868f3d6cead54626e1845e44e8ffa55f6f1761209085bfed631331cbbc85e906360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc868f3d6cead54626e1845e44e8ffa55f6f1761209085bfed631331cbbc85e909868f3d6cead54626e1845e44e8ffa55f6f1761209085bfed631331cbbc85e907868f3d6cead54626e1845e44e8ffa55f6f1761209085bfed631331cbbc85e90d868f3d6cead54626e1845e44e8ffa55f6f1761209085bfed631331cbbc85e905868f3d6cead54626e1845e44e8ffa55f6f1761209085bfed631331cbbc85e90bdfbefbf47cfe66b701d8cfdbce1de81c821590819cb07e71cb01b6602fb0ee2702dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800868f3d6cead54626e1845e44e8ffa55f6f1761209085bfed631331cbbc85e9029b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00868f3d6cead54626e1845e44e8ffa55f6f1761209085bfed631331cbbc85e908a2646970667358221220d849590fff5ac8b96b03e8c8e34ed3b106637c19703cd6143d9c1f373868f41364736f6c634300081700332f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d40f6a347e5b73cd2e1f4103810af363b4099ae3a1e65d0bfb823ba7ce33e990940f6a347e5b73cd2e1f4103810af363b4099ae3a1e65d0bfb823ba7ce33e990440f6a347e5b73cd2e1f4103810af363b4099ae3a1e65d0bfb823ba7ce33e990540f6a347e5b73cd2e1f4103810af363b4099ae3a1e65d0bfb823ba7ce33e9901360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc40f6a347e5b73cd2e1f4103810af363b4099ae3a1e65d0bfb823ba7ce33e990340f6a347e5b73cd2e1f4103810af363b4099ae3a1e65d0bfb823ba7ce33e990a40f6a347e5b73cd2e1f4103810af363b4099ae3a1e65d0bfb823ba7ce33e990802dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800a49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c2177540f6a347e5b73cd2e1f4103810af363b4099ae3a1e65d0bfb823ba7ce33e990240f6a347e5b73cd2e1f4103810af363b4099ae3a1e65d0bfb823ba7ce33e990040f6a347e5b73cd2e1f4103810af363b4099ae3a1e65d0bfb823ba7ce33e9906a26469706673582212207f23424abca95dfc15675431d278f7bfc4898bf101b8ec65e16af9c56d63cb1364736f6c63430008170033