0 txs
0 calls
constructor
constructor(address _timelockAddress, address _fraxErc20)
functions
allBonds
viewfunction allBonds(uint256) view returns (address)
allBondsLength
viewfunction allBondsLength() view returns (uint256 _length)
FRAX
viewfunction FRAX() view returns (address)
isFXB
viewfunction isFXB(address _fxb) view returns (bool _isFXB)
isTimestampFXB
viewfunction isTimestampFXB(uint256 _timestamp) view returns (bool _isFXB)
pendingTimelockAddress
viewfunction pendingTimelockAddress() view returns (address)
timelockAddress
viewfunction timelockAddress() view returns (address)
acceptTransferTimelock
nonpayablefunction acceptTransferTimelock()
createBond
nonpayablefunction createBond(uint256 _maturityTimestamp) returns (address _bondAddress, uint256 _bondId)
renounceTimelock
nonpayablefunction renounceTimelock()
transferTimelock
nonpayablefunction transferTimelock(address _newTimelock)
events
BondCreated
event BondCreated(address newAddress, uint256 newId, string newSymbol, string newName, uint256 maturityTimestamp)
TimelockTransferred
event TimelockTransferred(address indexed previousTimelock, address indexed newTimelock)
TimelockTransferStarted
event TimelockTransferStarted(address indexed previousTimelock, address indexed newTimelock)
errors
AddressIsNotPendingTimelock
error AddressIsNotPendingTimelock(address pendingTimelockAddress, address actualAddress)
AddressIsNotTimelock
error AddressIsNotTimelock(address timelockAddress, address actualAddress)
BondMaturityAlreadyExists
error BondMaturityAlreadyExists()
InvalidMonthNumber
error InvalidMonthNumber()
creation bytecode
0x60a03461009657601f62003d6638819003918201601f19168301916001600160401b0383118484101761009b57808492604094855283398101031261009657610053602061004c836100b1565b92016100b1565b600180546001600160a01b0319166001600160a01b0390931692909217909155608052604051613ca09081620000c6823960805181818161031301526106430152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b51906001600160a01b03821682036100965756fe60808060405260043610156200001457600080fd5b60003560e01c908163090f3f501462000ac557508063450140951462000a125780634bc66f3214620009be5780634f8b4ae714620008e45780636350e4b21462000337578063b0e4556f14620002c6578063b4efcf4a1462000255578063c8bf84a71462000217578063dfea196214620001a7578063f6ccaad414620000fa5763fb5e1f5b14620000a457600080fd5b34620000f55760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620000f5576004356000526004602052602060ff604060002054166040519015158152f35b600080fd5b34620000f55760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620000f5576200013562000bf0565b7fffffffffffffffffffffffff00000000000000000000000000000000000000008060005416600055600154903373ffffffffffffffffffffffffffffffffffffffff83167f31b6c5a04b069b6ec1b3cef44c4e7c1eadd721349cda9823d0b1877b3551cdc6600080a3163317600155005b34620000f55760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620000f55760043573ffffffffffffffffffffffffffffffffffffffff8116809103620000f5576000526003602052602060ff604060002054166040519015158152f35b34620000f55760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620000f5576020600254604051908152f35b34620000f55760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620000f557600435600254811015620000f55773ffffffffffffffffffffffffffffffffffffffff620002b660209262000b16565b9190546040519260031b1c168152f35b34620000f55760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620000f557602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b34620000f55760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620000f5576200037262000b7d565b60025462015180908160043504908183810204831482151715620008b5576200039f83808402046200131c565b50929050620004ac6024620003b886808502046200131c565b9691505062000407620003cf88808702046200131c565b505091600981116000146200089f57620003e99062000dc1565b965b60098111156200088a57620004009062000dc1565b9162000dc1565b906040519687927f465842000000000000000000000000000000000000000000000000000000000060208501527f5f0000000000000000000000000000000000000000000000000000000000000060238501526200046f815180926020888801910162000c63565b830162000486825180936020888501910162000c63565b016200049c825180936020878501910162000c63565b0103600481018652018462000cea565b620004bb84808302046200131c565b509050620006036025620004d387808602046200131c565b94915050620004e688808702046200131c565b505093600981116000146200082257620005009062000dc1565b620005216200051a620005138962000dc1565b9362000f89565b9562000dc1565b906040519586937f465842000000000000000000000000000000000000000000000000000000000060208601527f5f0000000000000000000000000000000000000000000000000000000000000060238601526200058a81518092602060248901910162000c63565b84017f5f000000000000000000000000000000000000000000000000000000000000006024820152620005c7825180936020898501910162000c63565b01620005dd825180936020888501910162000c63565b01620005f3825180936020878501910162000c63565b0103600581018452018262000cea565b60405193612633948581019581871067ffffffffffffffff881117620007e7576200166d82398073ffffffffffffffffffffffffffffffffffffffff96877f0000000000000000000000000000000000000000000000000000000000000000168152608060208201526200068e6200067f608083018662000c88565b82810360408401528662000c88565b9060608a880291015203906000f08015620008165785169460025468010000000000000000811015620007e757806001620006cd920160025562000b16565b819291549060031b9188831b921b19161790558460005260036020526040600020927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0093600185825416179055868102600052600460205260ff60406000205416620007bd5786620007a762000798947f70447ad46f3971bf936af78a90dbb9f714c328506d57cf6034d96dd6c13787189660409a8502600052600460205260018b6000209182541617905589519586958a875289602088015260a08c88015260a087019062000c88565b90858203606087015262000c88565b910260808301520390a182519182526020820152f35b60046040517fe388d64f000000000000000000000000000000000000000000000000000000008152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040513d6000823e3d90fd5b6200082d9062000dc1565b62000884602160405180937f3000000000000000000000000000000000000000000000000000000000000000602083015262000873815180926020868601910162000c63565b810103600181018452018262000cea565b62000500565b62000899620004009162000dc1565b62000d2c565b62000899620008ae9162000dc1565b96620003eb565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b34620000f55760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620000f5576200091f62000b7d565b6200092962000bf0565b7fffffffffffffffffffffffff00000000000000000000000000000000000000008060005416600055600154600073ffffffffffffffffffffffffffffffffffffffff821681817f162998b90abc2507f3953aa797827b03a14c42dbd9a35f09feaf02e0d592773a8280a37f31b6c5a04b069b6ec1b3cef44c4e7c1eadd721349cda9823d0b1877b3551cdc68280a316600155005b34620000f55760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620000f557602073ffffffffffffffffffffffffffffffffffffffff60015416604051908152f35b34620000f55760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620000f55760043573ffffffffffffffffffffffffffffffffffffffff808216809203620000f55762000a7062000b7d565b817fffffffffffffffffffffffff00000000000000000000000000000000000000006000541617600055600154167f162998b90abc2507f3953aa797827b03a14c42dbd9a35f09feaf02e0d592773a600080a3005b34620000f55760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620000f55760209073ffffffffffffffffffffffffffffffffffffffff600054168152f35b60025481101562000b4e5760026000527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace0190600090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b73ffffffffffffffffffffffffffffffffffffffff6001541680330362000ba15750565b6040517f443dc2b400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff919091166004820152336024820152604490fd5b73ffffffffffffffffffffffffffffffffffffffff6000541680330362000c145750565b6040517fbe5a953700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff919091166004820152336024820152604490fd5b60005b83811062000c775750506000910152565b818101518382015260200162000c66565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f60209362000cc68151809281875287808801910162000c63565b0116010190565b6040810190811067ffffffffffffffff821117620007e757604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117620007e757604052565b9062000d84602160405180947f3000000000000000000000000000000000000000000000000000000000000000602083015262000d73815180926020868601910162000c63565b810103600181018552018362000cea565b565b67ffffffffffffffff8111620007e757601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b806000917a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008082101562000f7a575b506d04ee2d6d415b85acef81000000008083101562000f6a575b50662386f26fc100008083101562000f5a575b506305f5e1008083101562000f4a575b506127108083101562000f3a575b50606482101562000f29575b600a8092101562000f1e575b600190816021818601957fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe062000ea162000e888962000d86565b9862000e986040519a8b62000cea565b808a5262000d86565b01366020890137860101905b62000eba575b5050505090565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019083907f30313233343536373839616263646566000000000000000000000000000000008282061a83530491821562000f185791908262000ead565b62000eb3565b916001019162000e4e565b919060646002910491019162000e42565b6004919392049101913862000e36565b6008919392049101913862000e28565b6010919392049101913862000e18565b6020919392049101913862000e05565b60409350810491503862000deb565b60018114620012a957600281146200126d57600390818114620012325760048114620011f75760058114620011bc57600681146200118157600781146200114657600881146200110b5760098114620010d057600a81146200109557600b81146200105a57600c14620010205760046040517fc8d7e9c5000000000000000000000000000000000000000000000000000000008152fd5b604051906200102f8262000ccd565b81527f4445430000000000000000000000000000000000000000000000000000000000602082015290565b50604051906200106a8262000ccd565b81527f4e4f560000000000000000000000000000000000000000000000000000000000602082015290565b5060405190620010a58262000ccd565b81527f4f43540000000000000000000000000000000000000000000000000000000000602082015290565b5060405190620010e08262000ccd565b81527f5345500000000000000000000000000000000000000000000000000000000000602082015290565b50604051906200111b8262000ccd565b81527f4155470000000000000000000000000000000000000000000000000000000000602082015290565b5060405190620011568262000ccd565b81527f4a554c0000000000000000000000000000000000000000000000000000000000602082015290565b5060405190620011918262000ccd565b81527f4a554e0000000000000000000000000000000000000000000000000000000000602082015290565b5060405190620011cc8262000ccd565b81527f4d41590000000000000000000000000000000000000000000000000000000000602082015290565b5060405190620012078262000ccd565b81527f4150520000000000000000000000000000000000000000000000000000000000602082015290565b5060405190620012428262000ccd565b81527f4d41520000000000000000000000000000000000000000000000000000000000602082015290565b506040516200127c8162000ccd565b600381527f4645420000000000000000000000000000000000000000000000000000000000602082015290565b50604051620012b88162000ccd565b600381527f4a414e0000000000000000000000000000000000000000000000000000000000602082015290565b91909160008382019384129112908015821691151617620008b557565b81810392916000138015828513169184121617620008b557565b62010bd991828201928312916000928382129080158216911516176200163f576226496501928262253d8c8512911290801582169115161762001612578260021b6004938482058103620015e65762023ab1809205918281029081058303620015ba57600381019085600383129112908015821691151617620015ba579085620013a892059062001302565b6001810160018112858312908015821691151617620015ba57610fa09080820291820503620015ba5762164b099005906105b582810290810583036200158e579086620013f792059062001302565b91601f83019285601f85129112908015821691151617620015ba5782605002926050840581036200158e5761098f80940593848102908105850362001562579060506200144692059062001302565b94600b840593600281019082600283129112908015821691151617620015365784600c0290600c820586036200150a5790620014829162001302565b967fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcf8301928313600116620014de5782606402926064840503620014de575050620014d99291620014d391620012e5565b620012e5565b929190565b9060116024927f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b60248360118b7f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b60248260118a7f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b60248760118a7f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b6024866011897f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b6024856011887f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b6024846011877f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b6024827f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b6024837f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fdfe6101c06040818152346200048b5762002633803803809162000022828662000490565b84398201906080838303126200048b5782516001600160a01b038116908190036200048b576020848101516001600160401b0394919391908581116200048b578162000070918801620004d9565b90828701518681116200048b576060916200008d918901620004d9565b96015193825190838201828110888211176200039757845260019384835281830194603160f81b86528451898111620003975760038054918383811c9316801562000480575b868410146200046a57601f928381116200041f575b508086848211600114620003b957600091620003ad575b5060001982841b1c191690841b1781555b8b51918b8311620003975760049c8d548581811c911680156200038c575b8882101462000377578e8382116200032c575b50508d87928511600114620002c15750938394918492600095620002b5575b50501b92600019911b1c19161789555b6200017b8462000534565b946101209586526200018d84620006d9565b94610140958652838151910120938460e0525190209861010099808b524660a0528251938401947f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f86528385015260608401524660808401523060a084015260a0835260c0830198838a10908a1117620002a057508790525190206080523060c052610180928352610160913383526101a0948552611e02968762000831883960805187611b0c015260a05187611bd8015260c05187611add015260e05187611b5b01525186611b8101525185610ab501525184610adf015251836111bf01525182818161053f015281816108340152610dd60152518181816101b801528181610599015281816107530152610a5c0152f35b604190634e487b7160e01b6000525260246000fd5b01519350388062000160565b929190601f1985169360005284886000209460005b8a89838310620003145750505010620002f9575b50505050811b01895562000170565b01519060f884600019921b161c1916905538808080620002ea565b868601518955909701969485019488935001620002d6565b600052876000208380870160051c8201928a88106200036d575b0160051c019086905b828110620003605750508e62000141565b600081550186906200034f565b9250819262000346565b60228f634e487b7160e01b6000525260246000fd5b90607f16906200012e565b634e487b7160e01b600052604160045260246000fd5b905088015138620000ff565b859250601f1982169084600052886000209160005b8a8d83831062000409575050508311620003f0575b5050811b01815562000110565b8a015160001983861b60f8161c191690553880620003e3565b84015185558996909401939283019201620003ce565b82600052866000208480840160051c82019289851062000460575b0160051c019085905b82811062000453575050620000e8565b6000815501859062000443565b925081926200043a565b634e487b7160e01b600052602260045260246000fd5b92607f1692620000d3565b600080fd5b601f909101601f19168101906001600160401b038211908210176200039757604052565b60005b838110620004c85750506000910152565b8181015183820152602001620004b7565b81601f820112156200048b5780516001600160401b03811162000397576040519262000510601f8301601f19166020018562000490565b818452602082840101116200048b57620005319160208085019101620004b4565b90565b80516020919082811015620005b4575090601f8251116200057257808251920151908083106200056357501790565b82600019910360031b1b161790565b604490620005a69260405193849263305a27a960e01b845280600485015282519283918260248701528686019101620004b4565b601f01601f19168101030190fd5b6001600160401b03811162000397576005928354926001938481811c91168015620006ce575b838210146200046a57601f811162000697575b5081601f84116001146200062d575092829391839260009462000621575b50501b916000199060031b1c191617905560ff90565b0151925038806200060b565b919083601f1981168760005284600020946000905b888383106200067c575050501062000662575b505050811b01905560ff90565b015160001960f88460031b161c1916905538808062000655565b85870151885590960195948501948793509081019062000642565b8560005284601f846000209201871c820191601f8601881c015b828110620006c1575050620005ed565b60008155018590620006b1565b90607f1690620005da565b805160209081811015620007065750601f8251116200057257808251920151908083106200056357501790565b906001600160401b0382116200039757600654926001938481811c9116801562000825575b838210146200046a57601f8111620007eb575b5081601f84116001146200077f575092829391839260009462000773575b50501b916000199060031b1c19161760065560ff90565b0151925038806200075c565b919083601f198116600660005284600020946000905b88838310620007d05750505010620007b6575b505050811b0160065560ff90565b015160001960f88460031b161c19169055388080620007a8565b85870151885590960195948501948793509081019062000795565b600660005284601f84600020920160051c820191601f860160051c015b828110620008185750506200073e565b6000815501859062000808565b90607f16906200072b56fe608060408181526004918236101561001657600080fd5b600092833560e01c91826306aa6375146111755750816306fdde0314611132578163095ea7b3146110ea57816318160ddd146110ad57816323b872dd14610f7f578163313ce56714610f455781633644e51514610f035781633950935114610e8957816340c10f1914610cf057816370a0823114610c8f57816372c381b314610c525781637ecebe0014610bf057816384b0196e14610a7f5781638e3bc0ac14610a2657816395d89b41146109cd5781639dc29fac14610714578163a457c2d71461060e578163a9059cbb146105bf578163af92058214610563578163b0e4556f146104f4578163d505accf146102a757508063dd62ed3e146102345763f3b39b5b1461012257600080fd5b3461023057817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610230576101f49181805161016081611429565b606081526060602082015201528051906101848261017d816113a2565b0383611490565b610225815161019d81610196816112df565b0382611490565b8251936101a985611429565b845260208401908152828401927f00000000000000000000000000000000000000000000000000000000000000008452805195869560208752516060602088015260808701906111e3565b9151907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe086840301908601526111e3565b905160608301520390f35b5080fd5b503461023057807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610230578060209261026f611241565b610277611269565b73ffffffffffffffffffffffffffffffffffffffff91821683526001865283832091168252845220549051908152f35b839150346102305760e07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610230576102e1611241565b6102e9611269565b906044359260643560843560ff811681036104f0578142116104935773ffffffffffffffffffffffffffffffffffffffff90818516928389526007602052898920908154916001830190558a519060208201927f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98452868d840152858a1660608401528a608084015260a083015260c082015260c0815260e0810181811067ffffffffffffffff821117610467578b525190206103f5916103ed916103ac611ac6565b908c51917f190100000000000000000000000000000000000000000000000000000000000083526002830152602282015260c43591604260a4359220611a2a565b919091611891565b160361040a575061040793945061171c565b80f35b60649060208751917f08c379a0000000000000000000000000000000000000000000000000000000008352820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e617475726500006044820152fd5b60248b6041897f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b60648360208a51917f08c379a0000000000000000000000000000000000000000000000000000000008352820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e650000006044820152fd5b8680fd5b50503461023057817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610230576020905173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b50503461023057817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261023057602090517f00000000000000000000000000000000000000000000000000000000000000004210158152f35b50503461023057807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610230576020906106076105fd611241565b602435903361150d565b5160018152f35b9050823461071157827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261071157610647611241565b918360243592338152600160205281812073ffffffffffffffffffffffffffffffffffffffff8616825260205220549082821061068e57602085610607858503873361171c565b60849060208651917f08c379a0000000000000000000000000000000000000000000000000000000008352820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f0000000000000000000000000000000000000000000000000000006064820152fd5b80fd5b919050346109c957807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126109c95761074d611241565b906024357f000000000000000000000000000000000000000000000000000000000000000042106109a157610784816009546114d1565b600955331561091e573385526020938585528286205482811061089c5782918693604492338a52898652038589205582600254036002558785518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef863392a387855196879485937fa9059cbb00000000000000000000000000000000000000000000000000000000855273ffffffffffffffffffffffffffffffffffffffff8093169085015260248401527f0000000000000000000000000000000000000000000000000000000000000000165af19081156108935750610866578280f35b8161088592903d1061088c575b61087d8183611490565b810190611dea565b5038808280f35b503d610873565b513d85823e3d90fd5b608482878651917f08c379a0000000000000000000000000000000000000000000000000000000008352820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f63650000000000000000000000000000000000000000000000000000000000006064820152fd5b60848460208451917f08c379a0000000000000000000000000000000000000000000000000000000008352820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f73000000000000000000000000000000000000000000000000000000000000006064820152fd5b8382517f1440798b000000000000000000000000000000000000000000000000000000008152fd5b8280fd5b50503461023057817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610230578051610a2291610a108261017d816113a2565b519182916020835260208301906111e3565b0390f35b50503461023057817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261023057602090517f00000000000000000000000000000000000000000000000000000000000000008152f35b919050346109c957827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126109c957610ad97f0000000000000000000000000000000000000000000000000000000000000000611bfe565b92610b037f0000000000000000000000000000000000000000000000000000000000000000611d30565b908251926020928385019585871067ffffffffffffffff881117610bc457509280610b7a838896610b6d998b9996528686528151998a997f0f000000000000000000000000000000000000000000000000000000000000008b5260e0868c015260e08b01906111e3565b91898303908a01526111e3565b924660608801523060808801528460a088015286840360c088015251928381520193925b828110610bad57505050500390f35b835185528695509381019392810192600101610b9e565b8360416024927f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b5050346102305760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610230578060209273ffffffffffffffffffffffffffffffffffffffff610c42611241565b1681526007845220549051908152f35b50503461023057817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610230576020906009549051908152f35b5050346102305760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610230578060209273ffffffffffffffffffffffffffffffffffffffff610ce1611241565b16815280845220549051908152f35b919050346109c957807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126109c957610d29611241565b73ffffffffffffffffffffffffffffffffffffffff926024359184168015610e2c578291606491610d5e6020956002546114d1565b600255808852878552858820848154019055877fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef868851878152a386855196879485937f23b872dd000000000000000000000000000000000000000000000000000000008552339085015230602485015260448401527f0000000000000000000000000000000000000000000000000000000000000000165af1908115610e235750610e08575080f35b610e1f9060203d811161088c5761087d8183611490565b5080f35b513d84823e3d90fd5b60648260208651917f08c379a0000000000000000000000000000000000000000000000000000000008352820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152fd5b50503461023057807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261023057610607602092610efc610eca611241565b913381526001865284812073ffffffffffffffffffffffffffffffffffffffff841682528652846024359120546114d1565b903361171c565b50503461023057817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261023057602090610f3e611ac6565b9051908152f35b50503461023057817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610230576020905160128152f35b839150346102305760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261023057610fb9611241565b610fc1611269565b91846044359473ffffffffffffffffffffffffffffffffffffffff8416815260016020528181203382526020522054907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611027575b60208661060787878761150d565b8482106110505750918391611045602096956106079503338361171c565b919394819350611019565b60649060208751917f08c379a0000000000000000000000000000000000000000000000000000000008352820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152fd5b50503461023057817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610230576020906002549051908152f35b50503461023057807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261023057602090610607611128611241565b602435903361171c565b50503461023057817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610230578051610a2291610a108261017d816112df565b84903461023057817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102305760209073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b919082519283825260005b84811061122d5750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006020809697860101520116010190565b6020818301810151848301820152016111ee565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361126457565b600080fd5b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361126457565b90600182811c921680156112d5575b60208310146112a657565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b91607f169161129b565b600354600092916112ef8261128c565b80825291600190818116908115611366575060011461130d57505050565b9192935060036000527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b916000925b84841061134e57505060209250010190565b8054602085850181019190915290930192810161133c565b905060209495507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091509291921683830152151560051b010190565b600454600092916113b28261128c565b8082529160019081811690811561136657506001146113d057505050565b9192935060046000527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b916000925b84841061141157505060209250010190565b805460208585018101919091529093019281016113ff565b6060810190811067ffffffffffffffff82111761144557604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040810190811067ffffffffffffffff82111761144557604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761144557604052565b919082018092116114de57565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b73ffffffffffffffffffffffffffffffffffffffff80911691821561169857169182156116145760008281528060205260408120549180831061159057604082827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef958760209652828652038282205586815220818154019055604051908152a3565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e636500000000000000000000000000000000000000000000000000006064820152fd5b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f65737300000000000000000000000000000000000000000000000000000000006064820152fd5b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152fd5b73ffffffffffffffffffffffffffffffffffffffff80911691821561180e571691821561178a5760207f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925918360005260018252604060002085600052825280604060002055604051908152a3565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f73730000000000000000000000000000000000000000000000000000000000006064820152fd5b60846040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152fd5b60058110156119fb57806118a25750565b600181036119085760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152fd5b6002810361196e5760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152fd5b60031461197757565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f75650000000000000000000000000000000000000000000000000000000000006064820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9291907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08311611aba5791608094939160ff602094604051948552168484015260408301526060820152600093849182805260015afa15611aad57815173ffffffffffffffffffffffffffffffffffffffff811615611aa7579190565b50600190565b50604051903d90823e3d90fd5b50505050600090600390565b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016301480611bd5575b15611b2e577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a0815260c0810181811067ffffffffffffffff8211176114455760405251902090565b507f00000000000000000000000000000000000000000000000000000000000000004614611b05565b60ff8114611c545760ff811690601f8211611c2a5760405191611c2083611474565b8252602082015290565b60046040517fb3512b0c000000000000000000000000000000000000000000000000000000008152fd5b50604051600554816000611c678361128c565b80835292600190818116908115611cf05750600114611c91575b50611c8e92500382611490565b90565b6005600090815291507f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db05b848310611cd55750611c8e935050810160200138611c81565b81935090816020925483858901015201910190918492611cbc565b60209350611c8e9592507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091501682840152151560051b82010138611c81565b60ff8114611d525760ff811690601f8211611c2a5760405191611c2083611474565b50604051600654816000611d658361128c565b80835292600190818116908115611cf05750600114611d8b5750611c8e92500382611490565b6006600090815291507ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f5b848310611dcf5750611c8e935050810160200138611c81565b81935090816020925483858901015201910190918492611db6565b9081602091031261126457518015158103611264579056000000000000000000000000db3388e770f49a604e11f1a2084b39279492a61f000000000000000000000000853d955acef822db058eb8505911ed77f175b99e