Safescan
1Chain 130
Executed

0x61fe35c98ccb47deb9740e3a5078c50d695f0ec47740f832fd34ed9f713cdd62

Safe Transaction on 0x82bf...e7a1

Overview

To
0x40a2...130d
Value
0 ETH
Execution Date
Feb 12, 2025, 01:50 AM
Threshold
3 signatures required

Gas & Technical Details

Nonce3
Operation
DelegateCall
Safe Tx Gas0
Base Gas0
Gas Price0
Gas TokenNative
Refund ReceiverNone
Executor0x9285...dd3c

Transaction Data

0x8d80ff0a0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000c50400000000000000b361194cfe6312ee3210d53c15aa000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000646112e8ac00000000000000000000000082bf455e9ebd6a541ef10b683de1edcaf05ce7a182bf455e9ebd6a541ef10b683de1edcaf05ce7a1ca0683ce612aa20186ad6c09000000000000000000000000000000000000000000000000000000000000000000000000000000b361194cfe6312ee3210d53c15aa0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000614461ff715f82bf455e9ebd6a541ef10b683de1edcaf05ce7a1ca0683ce612aa20186ad6c09000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000060c160a060405234801561000f575f5ffd5b506040516160a13803806160a183398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f5ffd5b81516001600160a01b0381168114610065575f5ffd5b9392505050565b608051615fec6100b55f395f8181610a02015281816118f4015281816121aa01528181612ffc01528181613446015281816135600152818161386f01526143af0152615fec5ff3fe60806040526004361061016d575f3560e01c8063ac9650d8116100c6578063c79ee60d1161007c578063efb46dc311610057578063efb46dc3146104aa578063f23a6e61146104c9578063f34f6c1a146104f4575f5ffd5b8063c79ee60d14610427578063e4ecc2391461046c578063e8a792fc1461048b575f5ffd5b8063b7e0ca96116100ac578063b7e0ca9614610386578063bc197c81146103cf578063be22465d14610413575f5ffd5b8063ac9650d814610347578063acd9cb9014610367575f5ffd5b80634d7b0900116101265780636e29ebfb116101015780636e29ebfb146102ec5780637594cdc31461030b578063a461adce14610328575f5ffd5b80634d7b0900146102805780634f94c530146102b15780635036275a146102cd575f5ffd5b80632997633f116101565780632997633f146102125780632a3f8025146102335780632dda106b14610252575f5ffd5b806301ffc9a7146101715780630828a2f8146101a5575b5f5ffd5b34801561017c575f5ffd5b5061019061018b366004614f3c565b610508565b60405190151581526020015b60405180910390f35b3480156101b0575f5ffd5b506101c46101bf366004614f7a565b61053e565b60408051600298890b815296880b602088015294870b948601949094529190940b6060840152608083019390935260a08201929092526001600160801b0390911660c082015260e00161019c565b34801561021d575f5ffd5b5061023161022c366004614ff3565b6105f8565b005b34801561023e575f5ffd5b5061023161024d36600461508b565b61062d565b34801561025d575f5ffd5b5061027161026c366004615121565b61063b565b60405161019c939291906151e3565b34801561028b575f5ffd5b506003546001600160a01b03165b6040516001600160a01b03909116815260200161019c565b3480156102bc575f5ffd5b505f546001600160a01b0316610299565b3480156102d8575f5ffd5b506102316102e736600461520a565b6106db565b3480156102f7575f5ffd5b5061023161030636600461525b565b6106ef565b348015610316575f5ffd5b506002546001600160a01b0316610299565b348015610333575f5ffd5b5061023161034236600461527b565b6108bd565b61035a6103553660046152d4565b610dde565b60405161019c9190615313565b348015610372575f5ffd5b50610231610381366004615397565b610eec565b348015610391575f5ffd5b5061039a610f23565b60408051600296870b815294860b602086015292850b9284019290925290920b6060820152608081019190915260a00161019c565b3480156103da575f5ffd5b506103fa6103e9366004615544565b63bc197c8160e01b95945050505050565b6040516001600160e01b0319909116815260200161019c565b34801561041e575f5ffd5b50610190610fc6565b348015610432575f5ffd5b5061045e6104413660046155f7565b6001600160a01b03165f9081526008602052604090205460f81c90565b60405190815260200161019c565b348015610477575f5ffd5b50610231610486366004615612565b6110ba565b348015610496575f5ffd5b506102316104a5366004615694565b6117d8565b3480156104b5575f5ffd5b506102316104c43660046156f3565b611990565b3480156104d4575f5ffd5b506103fa6104e336600461577e565b63f23a6e6160e01b95945050505050565b3480156104ff575f5ffd5b50610231611eb1565b5f6001600160e01b03198216630271189760e51b148061053857506301ffc9a760e01b6001600160e01b03198316145b92915050565b6001600160a01b0382165f90815260076020908152604080832084845290915280822054905163cacfb53560e01b8152600481019190915281908190819081908190819073000000000001d1d59e8fce3945e7086ef4d80cbe9063cacfb5359060240160e060405180830381865af41580156105bc573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105e091906157d6565b959f949e50929c50909a509850965090945092505050565b610606600186338585611fdc565b50505f61061733868661271061206d565b905080156106255760018190555b505050505050565b61062586868686868661215d565b5f5f60605f5f5f9054906101000a90046001600160a01b03166001600160a01b0316633850c7bd6040518163ffffffff1660e01b815260040160e060405180830381865afa15801561068f573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106b3919061586b565b50505050509150506106ca88878760018b86612422565b935093509350509450945094915050565b6106e983838361341561206d565b50505050565b6002546003546040516370a0823160e01b81523360048201526001600160a01b039283169290911690849083906307a2d13a9082906370a0823190602401602060405180830381865afa158015610748573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061076c91906158ed565b6040518263ffffffff1660e01b815260040161078a91815260200190565b602060405180830381865afa1580156107a5573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107c991906158ed565b108061089f57506040516370a0823160e01b815233600482015283906001600160a01b038316906307a2d13a9082906370a0823190602401602060405180830381865afa15801561081c573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061084091906158ed565b6040518263ffffffff1660e01b815260040161085e91815260200190565b602060405180830381865afa158015610879573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061089d91906158ed565b105b156106e9576040516334b3313560e11b815260040160405180910390fd5b6108c98285855f6126f0565b5f84846108d7600182615918565b8181106108e6576108e661592b565b905060200201359050610902828261276590919063ffffffff16565b158061090e5750600382115b1561092c57604051635bea27bb60e11b815260040160405180910390fd5b6001600160a01b0383165f90815260076020908152604080832084845290915281205461095c908390859061277e565b90505f5f5f9054906101000a90046001600160a01b03166001600160a01b0316633850c7bd6040518163ffffffff1660e01b815260040160e060405180830381865afa1580156109ae573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109d2919061586b565b50505050509150505f5f6109ef86866127eb90919063ffffffff16565b5f80549192509081906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811691633cc3c1da91163086610a378b60e81c90565b610a418c60d01c90565b6040516001600160e01b031960e088901b1681526001600160a01b0395861660048201529490931660248501526044840191909152600290810b606484015290810b608483015288900b60a4820152600160c482015260e4016040805180830381865afa158015610ab4573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ad8919061593f565b9092509050610afc6001600160801b0383168260801b6001600160801b0319160190565b6001600160a01b038a165f9081526004602090815260408083208b845282528083208c84529091529020805490829055909450610b39858261280e565b9450505050505f610b478490565b6001600160801b031690505f610ba8600160401b83610b668660801c90565b6001600160801b03160281610b7d57610b7d615977565b04610ba0600160401b6001600160801b03871686025b046001600160801b031690565b9060801b0190565b6002549091506001600160a01b031663083953d9895f8080866040516001600160e01b031960e088901b1681526001600160a01b039095166004860152600f93840b602486015291830b6044850152820b60648401525f03900b608482015260a4016020604051808303815f875af1158015610c26573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c4a919061598b565b506003546001600160a01b031663083953d9895f8080610c6a8760801d90565b6040516001600160e01b031960e088901b1681526001600160a01b039095166004860152600f93840b602486015291830b6044850152820b60648401525f03900b608482015260a4016020604051808303815f875af1158015610ccf573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf3919061598b565b505f610d048789603002604c011c90565b610d0e888a61284e565b610d18898b6127eb565b60405160e893841b60208201529190921b6023820152602681019190915260460160408051601f1981840301815291815281516020928301205f8181526006909352912054909150610d6a9083612861565b5f828152600660209081526040918290209290925580518a815291820184905288916001600160a01b038c16917f4358c577d4c62044fa8caea3ad9778fe842e777c7903f2452d20661f6ff250b7910160405180910390a3505050610dd386898961271061206d565b505050505050505050565b60608167ffffffffffffffff811115610df957610df961541d565b604051908082528060200260200182016040528015610e2c57816020015b6060815260200190600190039081610e175790505b5090505f5b82811015610ee5575f8030868685818110610e4e57610e4e61592b565b9050602002810190610e6091906159ab565b604051610e6e9291906159ee565b5f60405180830381855af49150503d805f8114610ea6576040519150601f19603f3d011682016040523d82523d5f602084013e610eab565b606091505b509150915081610ebd57805160208201fd5b80848481518110610ed057610ed061592b565b60209081029190910101525050600101610e31565b5092915050565b610efb33838360018a8a6128a0565b50505f610f0c33868661271061206d565b90508015610f1a5760018190555b50505050505050565b5f8054600154604051630fa9923d60e21b81526001600160a01b0390921660048301526024820152819081908190819073000000000001cd07e625a9e225c37bea50b3f44190633ea648f49060440160a060405180830381865af4158015610f8d573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fb191906159fd565b50600154939992985090965094509092509050565b5f805460408051633850c7bd60e01b8152905183926001600160a01b031691633850c7bd9160048083019260e09291908290030181865afa15801561100d573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611031919061586b565b50505050509150505f60015490505f6002600860cc84901c62ffffff168161105b5761105b615977565b0660180262ffffff1683901c600860c985901c62ffffff168161108057611080615977565b0660180262ffffff1684901c0160020b8161109d5761109d615977565b0590506103b96110b182850360020b612968565b13935050505090565b6110c68383835f6126f0565b5f6110cf612982565b5f8054600154604051630fa9923d60e21b81526001600160a01b0390921660048301526024820152919250908190819073000000000001cd07e625a9e225c37bea50b3f44190633ea648f49060440160a060405180830381865af4158015611139573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061115d91906159fd565b50929550909350909150610201905061117a85850360020b612968565b131561119957604051630e7248fb60e41b815260040160405180910390fd5b60408051600480825260a082019092525f916020820160808036833701905050905082815f815181106111ce576111ce61592b565b602002602001019060020b908160020b8152505084816001815181106111f6576111f661592b565b600292830b6020918202929092010152815183918391811061121a5761121a61592b565b602002602001019060020b908160020b8152505083816003815181106112425761124261592b565b602002602001019060020b908160020b8152505061126788888887856127105f612a0d565b505f915081905080808667ffffffffffffffff8111156112895761128961541d565b6040519080825280602002602001820160405280156112c257816020015b6112af614ed3565b8152602001906001900390816112a75790505b5090505f6112d58a8a8a60015f8b612422565b600254929550935091506001600160a01b03166309e085108b898587866040518663ffffffff1660e01b8152600401611312959493929190615a64565b602060405180830381865afa15801561132d573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061135191906158ed565b6003549095506001600160a01b03166309e085108b89856113728860801c90565b61137c8760801c90565b6040518663ffffffff1660e01b815260040161139c959493929190615a64565b602060405180830381865afa1580156113b7573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113db91906158ed565b6002546040516317066a5760e21b81526001600160a01b038d8116600483015292965091169250635c19a95c91506024015f604051808303815f87803b158015611423575f5ffd5b505af1158015611435573d5f5f3e3d5ffd5b50506003546040516317066a5760e21b81526001600160a01b038c811660048301529091169250635c19a95c91506024015f604051808303815f87803b15801561147d575f5ffd5b505af115801561148f573d5f5f3e3d5ffd5b505050505f5f60606114c28b6001620d89e7196114ac9190615ab0565b6114ba620d89e86001615ad5565b5f8e8e6128a0565b90925090505f73000000000001cd07e625a9e225c37bea50b3f441632a7f2f9488886114ed8d612adf565b6040516001600160e01b031960e086901b168152600481019390935260248301919091526001600160a01b03166044820152606481018690526084810188905260a4016040805180830381865af415801561154a573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061156e9190615afa565b80925081955050505f8c90505f8a90505f8d8d808060200260200160405190810160405280939291908181526020018383602002808284375f920182905250600254600354959650909473000000000001cd07e625a9e225c37bea50b3f4419450637679c392935088925086918b918b916001600160a01b0390811691166115f58b612adf565b60066040518963ffffffff1660e01b815260040161161a989796959493929190615b73565b602060405180830381865af4158015611635573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061165991906158ed565b90506116658882612dfa565b6002549098506001600160a01b0316965063e81c105495503394508f9350611692925087915061277b9050565b6040516001600160e01b031960e086901b1681526001600160a01b039384166004820152929091166024830152600f0b60448201526064015f604051808303815f87803b1580156116e1575f5ffd5b505af11580156116f3573d5f5f3e3d5ffd5b50506003546001600160a01b0316915063e81c10549050338b6117168560801d90565b6040516001600160e01b031960e086901b1681526001600160a01b039384166004820152929091166024830152600f0b60448201526064015f604051808303815f87803b158015611765575f5ffd5b505af1158015611777573d5f5f3e3d5ffd5b50505050611789338c8c61271061206d565b506040518181526001600160a01b038a169033907f6f365e31bb09bf241744307ce951bb36bbc5d4a332da9714f77b420a84962de8906020015b60405180910390a35050505050505050505050565b5f546001600160a01b03161561180157604051637983c05160e01b815260040160405180910390fd5b5f80546001600160a01b0319166001600160a01b038716908117825560408051633850c7bd60e01b81529051633850c7bd9160048082019260e0929091908290030181865afa158015611856573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061187a919061586b565b50505050504260d81b65ffffff000000601883901b160162ffffff8216017af590a6f276170d89e9f276170d89e9f276170d89e900000000000001600155600280546001600160a01b038781166001600160a01b0319928316811790935560038054888316931683179055604051636dfff8e560e11b81527f0000000000000000000000000000000000000000000000000000000000000000821660048201526024810193909352604483019190915288811660648301528716608482015290925073000000000001a911be5b2c386cc5807219f10ebe915063dbfff1ca9060a4015f6040518083038186803b158015611972575f5ffd5b505af4158015611984573d5f5f3e3d5ffd5b50505050505050505050565b61199c3383835f6126f0565b5f6119a5612982565b90506119b18682612e89565b5f805460408051633850c7bd60e01b8152905183926001600160a01b031691633850c7bd9160048083019260e09291908290030181865afa1580156119f8573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a1c919061586b565b505050506001600160a01b038c165f9081526007602090815260408083208e84529091528120549294509250611a4f9050565b90505f611a5c8a83612f39565b5060028054604051637e1c061160e11b815286830b60048201529188900b6024830152604482018d90526001600160801b0385166064830152608482018390529192506001600160a01b039091169063fc380c229060a401602060405180830381865afa158015611acf573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611af391906158ed565b6002546040516317066a5760e21b81526001600160a01b038e8116600483015292965091169350635c19a95c925060240190505f604051808303815f87803b158015611b3d575f5ffd5b505af1158015611b4f573d5f5f3e3d5ffd5b50506003546040516317066a5760e21b81526001600160a01b038c811660048301529091169250635c19a95c91506024015f604051808303815f87803b158015611b97575f5ffd5b505af1158015611ba9573d5f5f3e3d5ffd5b50505050611bd86001888a6001620d89e719611bc59190615ab0565b611bd3620d89e86001615ad5565b611fdc565b50506002805460035460405163d42bc5e960e01b81526001600160a01b03808d166004830152602482018690529386900b604482015291831660648301529190911660848201525f9073000000000001cd07e625a9e225c37bea50b3f4419063d42bc5e99060a401602060405180830381865af4158015611c5b573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c7f91906158ed565b6002549091506001600160a01b0316633bec831b8a33846040516001600160e01b031960e086901b1681526001600160a01b039384166004820152929091166024830152600f0b60448201526064015f604051808303815f87803b158015611ce5575f5ffd5b505af1158015611cf7573d5f5f3e3d5ffd5b50506003546001600160a01b03169150633bec831b90508a33611d1a8560801d90565b6040516001600160e01b031960e086901b1681526001600160a01b039384166004820152929091166024830152600f0b60448201526064015f604051808303815f87803b158015611d69575f5ffd5b505af1158015611d7b573d5f5f3e3d5ffd5b50506002546040516374a8f10360e01b81526001600160a01b038d8116600483015290911692506374a8f10391506024015f604051808303815f87803b158015611dc3575f5ffd5b505af1158015611dd5573d5f5f3e3d5ffd5b50506003546040516374a8f10360e01b81526001600160a01b038d8116600483015290911692506374a8f10391506024015f604051808303815f87803b158015611e1d575f5ffd5b505af1158015611e2f573d5f5f3e3d5ffd5b50505050611e4189888861271061206d565b508315611e5857611e5633868661341561206d565b505b87896001600160a01b0316336001600160a01b03167f0678d01a4d4354dc7b249ea5bc59dcd8ce288bfb79e3522e80134a85807f35a285604051611e9e91815260200190565b60405180910390a4505050505050505050565b5f805460408051633850c7bd60e01b8152905183926001600160a01b031691633850c7bd9160048083019260e09291908290030181865afa158015611ef8573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f1c919061586b565b50506001545f8054604051635601910160e01b815261ffff808816600483015286166024820152603c604482015260648101939093526001600160a01b0316608483015293975091955091935073000000000001cd07e625a9e225c37bea50b3f44192506356019101915060a4016040805180830381865af4158015611fa4573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fc89190615c24565b9150508015611fd75760018190555b505050565b5f611fe5614ef1565b6001600160a01b0385165f9081526007602090815260408083208984529091529020546120168886868a858b612f91565b809450819350505086866001600160a01b03167fd7b5aa501d6c32aac0775207ad2e590a1ef403c1c04f5ec35e0f3fa31695e031838560405161205a929190615c50565b60405180910390a3509550959350505050565b5f8054600154604051630fa9923d60e21b81526001600160a01b03909216600483015260248201528190819081908190819073000000000001cd07e625a9e225c37bea50b3f44190633ea648f49060440160a060405180830381865af41580156120d9573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120fd91906159fd565b93985091965094509250905062ffffff851665ffffff000000601886901b160168ffffff000000000000603085901b16016bffffff000000000000000000604884901b160161214f8b8b8b848c61322e565b509998505050505050505050565b5f86865f1981018181106121735761217361592b565b90506020020135905061218933888860016126f0565b5f5460405163caa9a08d60e01b81526001600160a01b0391821660048201527f00000000000000000000000000000000000000000000000000000000000000009091169063caa9a08d90602401602060405180830381865afa1580156121f1573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122159190615c86565b67ffffffffffffffff168167ffffffffffffffff161461224e576040516393db026360e01b81525f600482015260240160405180910390fd5b335f90815260076020908152604080832084845290915290205415612286576040516314c1cb9960e31b815260040160405180910390fd5b5f5f61229583888888886133de565b5f8054600154604051630fa9923d60e21b81526001600160a01b0390921660048301526024820152929450909250908190819081908190819073000000000001cd07e625a9e225c37bea50b3f44190633ea648f49060440160a060405180830381865af4158015612308573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061232c91906159fd565b939850919650945092509050604882901b6bffffff00000000000000000016603084901b68ffffff00000000000016601886901b65ffffff0000001662ffffff88160101019550801561237f5760018190555b5050335f8181526007602090815260408083208b845290915290206001600160801b038d16608089901b73ffffffff000000000000000000000000000000001660a088901b6001600160a01b03191601019081905593506123e8925090508c8c8561341561322e565b6040805182815260208101859052869133917fd25e9c8a7c7dd9c3d0d451d7f1fae7c97675a289891e1003df62e9a9f064d28191016117c3565b5f806060868067ffffffffffffffff8111156124405761244061541d565b60405190808252806020026020018201604052801561247957816020015b612466614ed3565b81526020019060019003908161245e5790505b509150895f5b828110156126e1575f8b8b8381811061249a5761249a61592b565b905060200201359050808583815181106124b6576124b661592b565b60200260200101515f600281106124cf576124cf61592b565b602090810291909101919091526001600160a01b0384165f9081526007825260408082208483529092522054855186908490811061250f5761250f61592b565b60200260200101516001600281106125295761252961592b565b6020020181815250505f5f6125778361256f89878151811061254d5761254d61592b565b60200260200101516001600281106125675761256761592b565b602002015190565b878f8e6134f4565b915091505f612585846137af565b90505f5b818110156126d15761259b8582612765565b5f036126a5578c61267d575f6125b68683603002604c011c90565b6125c0878461284e565b6125ca88856127eb565b60405160e893841b60208201529190921b602382015260268101919091526046016040516020818303038152906040528051906020012090505f61260e878461384c565b50505f83815260066020908152604080832054600590925282205492935090916126679184918a88600481106126465761264661592b565b60200201518a896004811061265d5761265d61592b565b6020020151613952565b90506126738e82612861565b9d505050506126c9565b61269e8482600481106126925761269261592b565b60200201518c90612861565b9a506126c9565b6126c68482600481106126ba576126ba61592b565b60200201518b90613a41565b99505b600101612589565b508460010194505050505061247f565b50505096509650969350505050565b6001600160a01b0384165f9081526008602052604081205482840391805b838110156127445761273a8288888481811061272c5761272c61592b565b905060200201356001613aa1565b915060010161270e565b50818114610f1a57604051634cf43be760e11b815260040160405180910390fd5b5f60026048603084020184901c5b069392505050565b90565b5f808061278b8686613b40565b90925090505f61279b8787613b77565b6127ae906001600160801b038716615ca1565b90506127ba8787613b89565b5f036127d5576127cb838383613b9b565b93505050506127e4565b6127cb838383613c5a565b5050505b9392505050565b5f60026049603084020184901c612773565b60801b6001600160801b0319160190565b808203828111806128305750826001600160801b0316816001600160801b0316115b1561053857604051633486405d60e21b815260040160405180910390fd5b5f6110006064603084020184901c612773565b818101828110806128305750826001600160801b0316816001600160801b0316101561053857604051633486405d60e21b815260040160405180910390fd5b5f60608267ffffffffffffffff8111156128bc576128bc61541d565b6040519080825280602002602001820160405280156128f557816020015b6128e2614ef1565b8152602001906001900390816128da5790505b5090505f5b8381101561295c575f612928878787858181106129195761291961592b565b905060200201358c8c8c611fdc565b84848151811061293a5761293a61592b565b602090810291909101015290506129518482612dfa565b9350506001016128fa565b50965096945050505050565b5f5f821361297e5761297982615cb8565b610538565b5090565b5f8054604051632d60befd60e11b81526001600160a01b039091166004820152610258602482015273000000000001cd07e625a9e225c37bea50b3f44190635ac17dfa90604401602060405180830381865af41580156129e4573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a089190615cd2565b905090565b5f5f5f612a1f8a8a8a60015f8c612422565b885192955090935091505f805b82811015612a7457612a5b8d8a8381518110612a4a57612a4a61592b565b60200260200101518689898d613c95565b612a65575f612a68565b60015b90910190600101612a2c565b50858015612a855750818160ff1614155b15612aa3576040516334b3313560e11b815260040160405180910390fd5b85158015612ab3575060ff811615155b15612ad157604051632a23f1ad60e01b815260040160405180910390fd5b505050505050505050505050565b5f5f5f8360020b12612af4578260020b612afb565b8260020b5f035b9050620d89e8811115612b21576040516333a3bdff60e21b815260040160405180910390fd5b5f816001165f03612b3657600160801b612b48565b6ffffcb933bd6fad37aa2d162d1a5940015b70ffffffffffffffffffffffffffffffffff1690506002821615612b7c576ffff97272373d413259a46990580e213a0260801c5b6004821615612b9b576ffff2e50f5f656932ef12357cf3c7fdcc0260801c5b6008821615612bba576fffe5caca7e10e4e61c3624eaa0941cd00260801c5b6010821615612bd9576fffcb9843d60f6159c9db58835c9266440260801c5b6020821615612bf8576fff973b41fa98c081472e6896dfb254c00260801c5b6040821615612c17576fff2ea16466c96a3843ec78b326b528610260801c5b6080821615612c36576ffe5dee046a99a2a811c461f1969c30530260801c5b610100821615612c56576ffcbe86c7900a88aedcffc83b479aa3a40260801c5b610200821615612c76576ff987a7253ac413176f2b074cf7815e540260801c5b610400821615612c96576ff3392b0822b70005940c7a398e4b70f30260801c5b610800821615612cb6576fe7159475a2c29b7443b29c7fa6e889d90260801c5b611000821615612cd6576fd097f3bdfd2022b8845ad8f792aa58250260801c5b612000821615612cf6576fa9f746462d870fdf8a65dc1f90e061e50260801c5b614000821615612d16576f70d869a156d2a1b890bb3df62baf32f70260801c5b618000821615612d36576f31be135f97d08fd981231505542fcfa60260801c5b62010000821615612d57576f09aa508b5b7a84e1c677de54f3e99bc90260801c5b62020000821615612d77576e5d6af8dedb81196699c329225ee6040260801c5b62040000821615612d96576d2216e584f5fa1ea926041bedfe980260801c5b62080000821615612db3576b048a170391f7dc42444e8fa20260801c5b5f8460020b1315612dd257805f1981612dce57612dce615977565b0490505b640100000000810615612de6576001612de8565b5f5b60ff16602082901c0192505050919050565b5f5f612e068360801d90565b600f0b612e138560801d90565b600f0b019050805f84600f0b86600f0b0190505f8190508383600f0b141580612e3f57508181600f0b14155b15612e5d57604051633486405d60e21b815260040160405180910390fd5b612e7e836001600160801b031987168388016001600160801b031601610ba0565b979650505050505050565b5f612e93836137af565b90505f5b81811015612f1e575f80612ebc612eae878561284e565b603088901c61ffff16613dd4565b90925090505f612ed18785603002604c011c90565b905081810160020b8660020b121580612ef1575082810360020b8660020b125b15612f1057612f008785612765565b600103612f105750505050505050565b505050806001019050612e97565b5050604051633b90fbed60e11b815260040160405180910390fd5b5f5f5f612f45856137af565b90505f5b81811015612f88575f5f612f5e888885613e17565b9092509050612f6d8683612dfa565b9550612f798582612dfa565b94508260010192505050612f49565b50509250929050565b612f99614ef1565b5f612fa2610fc6565b15612fb9578560020b8760020b1315612fb9579495945b60405163266601a360e01b8152600481018690526001600160801b0385166024820152600288810b604483015287900b60648201525f9081906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063266601a39060840160a0604051808303815f875af1158015613042573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906130669190615ced565b915091505f6130788689858a8f613eef565b955090505f806130888a8a612f39565b60025491935091505f906001600160a01b031663083953d98a858589896040516001600160e01b031960e088901b1681526001600160a01b039095166004860152600f93840b602486015291830b6044850152820b6064840152900b608482015260a4016020604051808303815f875af1158015613108573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061312c919061598b565b90506001600160801b031987168782016001600160801b0316016003549097505f91506001600160a01b031663083953d98a6131688660801d90565b6131728660801d90565b61317c8a60801d90565b6131868a60801d90565b6040516001600160e01b031960e088901b1681526001600160a01b039095166004860152600f93840b602486015291830b6044850152820b6064840152900b608482015260a4016020604051808303815f875af11580156131e9573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061320d919061598b565b905061321b878260801b0190565b9650505050505050965096945050505050565b61323a8585855f6126f0565b5f5f5f5f6132478661425f565b9350935093509350606060026103b96132609190615e8e565b600261326c8588615ab0565b60020b6132799190615e8e565b60026132858686615ab0565b60020b6132929190615e8e565b600261329e8789615ab0565b60020b6132ab9190615e8e565b6132b59190615e9c565b6132bf9190615e9c565b13156133865760408051600480825260a08201909252906020820160808036833701905050905083815f815181106132f9576132f961592b565b602002602001019060020b908160020b8152505082816001815181106133215761332161592b565b600292830b602091820292909201015281518391839181106133455761334561592b565b602002602001019060020b908160020b81525050848160038151811061336d5761336d61592b565b602002602001019060020b908160020b815250506133ce565b604080516001808252818301909252906020808301908036833701905050905083815f815181106133b9576133b961592b565b602002602001019060020b908160020b815250505b6119848a8a8a88858b6001612a0d565b5f5f5f6133e9610fc6565b90508015613403578360020b8560020b1315613403579293925b60405163fdf90cc160e01b8152600481018990526001600160801b0388166024820152600286810b604483015285900b60648201525f9081906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063fdf90cc19060840160a0604051808303815f875af115801561348c573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906134b09190615ced565b915091506134c08a838b8b6142af565b6134d48a8a838960020b8b60020b126145a8565b909550935082156134e757632710271094505b5050509550959350505050565b6134fc614ef1565b613504614f0f565b5f61350e886137af565b90505f5b818110156137a3575f6135258a83612765565b905080600114806135335750865b1561379a575f6135448b848c61277e565b90505f6135518c856127eb565b5f549091506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811691633cc3c1da911630846135958760e81c90565b61359f8860d01c90565b6040516001600160e01b031960e088901b1681526001600160a01b0395861660048201529490931660248501526044840191909152600290810b606484015290810b60848301528b900b60a482015260c4810186905260e4016040805180830381865afa158015613612573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613636919061593f565b6001600160801b0391821691168786600481106136555761365561592b565b602002015188876004811061366c5761366c61592b565b60209081029190910151810192909252919091526001600160a01b038b165f9081526004825260408082208f83528352808220878352909252205461373d600160401b846001600160801b03166136c38460801c90565b6001600160801b03168a89600481106136de576136de61592b565b6020020151600160200201510302816136f9576136f9615977565b04610ba0600160401b866001600160801b0316856001600160801b03168c8b600481106137285761372861592b565b602002015151030281610b9357610b93615977565b88866004811061374f5761374f61592b565b60200201525060018390036137975761377f8785600481106137735761377361592b565b60200201515f90613a41565b8785600481106137915761379161592b565b60200201525b50505b50600101613512565b50509550959350505050565b5f7afe0000000000fe0000000000fe0000000000fe00000000000000008216600160401b8110156137e257505f92915050565b6e0100000000000000000000000000008110156138025750600192915050565b600160a01b8110156138175750600292915050565b7a0100000000000000000000000000000000000000000000000000008110156138435750600392915050565b50600492915050565b5f8080808061385b8787613b40565b5f8054929450909250906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081169163e53dec389116306138a38c8c6127eb565b6040516001600160e01b031960e086901b1681526001600160a01b0393841660048201529290911660248301526044820152600286810b606483015285900b608482015260a401602060405180830381865afa158015613905573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061392991906158ed565b90508094506139388160801c90565b93508385016001600160801b031695505050509250925092565b805160208201515f91600160401b6001600160801b038716909103880281900491608087901c9003880204613a356139df821561398f5782613992565b5f195b61399c8a60801c90565b6001600160801b03166139af8960801c90565b6001600160801b031602816139c6576139c6615977565b046139d18860801c90565b6001600160801b0316614762565b613a1a84156139ee57846139f1565b5f195b8a6001600160801b0316896001600160801b03160281613a1357613a13615977565b04886139d1565b6001600160801b03169060801b6001600160801b0319160190565b98975050505050505050565b5f5f613a4d8360801d90565b600f0b613a5a8560801d90565b600f0b039050805f84600f0b86600f0b0390505f8190508383600f0b141580612e3f57508181600f0b14612e5d57604051633486405d60e21b815260040160405180910390fd5b5f5f83604051602001613ab691815260200190565b604051602081830303815290604052805190602001205f1c85187effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1690505f83613b1557613b02856137af565b613b109060f888901c615918565b613b30565b613b1e856137af565b613b2c9060f888901c615ec3565b60ff165b60f81b9190910195945050505050565b5f80613b6c613b548585603002604c011c90565b613b5e868661284e565b603087901c61ffff16614777565b909590945092505050565b5f60806041603084020184901c612773565b5f60026040603084020184901c612773565b5f5f613ba685612adf565b90505f613bb285612adf565b9050613c508686613bf2613bed88613bdc876001600160a01b0316896001600160a01b0316614799565b8888036001600160a01b03166147f7565b6148a1565b7fffffff000000000000000000000000000000000000000000000000000000000060e884901b167cffffff000000000000000000000000000000000000000000000000000060d084901b16016001600160801b038216019392505050565b9695505050505050565b5f5f613c6585612adf565b90505f613c7185612adf565b9050613c508686613bf2613bed88600160601b8888036001600160a01b03166147f7565b6002545f9081906001600160a01b03166309e0851089898989896040518663ffffffff1660e01b8152600401613ccf959493929190615a64565b602060405180830381865afa158015613cea573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613d0e91906158ed565b6003549091505f906001600160a01b03166309e085108a8a8a613d318b60801c90565b613d3b8b60801c90565b6040518663ffffffff1660e01b8152600401613d5b959493929190615a64565b602060405180830381865afa158015613d76573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613d9a91906158ed565b90505f5f613db18484613dac8d612adf565b6148d0565b91509150613dc281876127106149bb565b909110159a9950505050505050505050565b5f806002613de28486615edc565b613dec9190615efb565b613e0b613df98587615f3f565b62ffffff166002808204910615150190565b915091505b9250929050565b5f5f5f613e258686866149f7565b90505f613e328786612765565b159050613e3f87866127eb565b5f03613eac578015613e7e57613e77613e5c83614adc565b614adc565b6001600160801b031985169085016001600160801b03160190565b9250613ee5565b613ea5613e8a83614adc565b6001600160801b031986169086016001600160801b03160190565b9350613ee5565b8015613eca57613e77613ec2613e578460801c90565b60801b840190565b613ee2613eda613e578460801c90565b60801b850190565b93505b5050935093915050565b5f613ef8614ef1565b5f613f02876137af565b9050613f0c614f0f565b613f1d88878b6001627fffff6134f4565b90935090505f5b8281101561422c575f848260048110613f3f57613f3f61592b565b602002015190505f613f568b84603002604c011c90565b613f608c8561284e565b613f6a8d866127eb565b60405160e893841b60208201529190921b602382015260268101919091526046016040516020818303038152906040528051906020012090505f613fde8b8560048110613fb957613fb961592b565b602002015160065f8581526020019081526020015f205461286190919063ffffffff16565b9050613fea8c85612765565b600103614015578815614004576140018184613a41565b90505b61400e8884612dfa565b97506141ec565b5f5f5f6140238f888f61277e565b9050806001600160801b031692506140418f88640900000000614b02565b91505f90506140508383615f5d565b5f8681526005602052604081205491925061408361406e8686615f5d565b87848b8e8e6004811061265d5761265d61592b565b905061408f868261280e565b955061409b8d82612dfa565b9c50808c8a600481106140b0576140b061592b565b602002015289895f86900361411d576141188c82600481106140d4576140d461592b565b6020020151600160200201518d83600481106140f2576140f261592b565b60200201515f60200201516001600160801b03169060801b6001600160801b0319160190565b6141d6565b6141d68661417461412e8d60801d90565b600f0b600160401b028a86866004811061414a5761414a61592b565b60200201516001602002015102896141628a60801c90565b6001600160801b03160203015f614b97565b8161418157614181615977565b04876141b18d600160401b02600f0b8b8787600481106141a3576141a361592b565b602002015151028a8a614162565b816141be576141be615977565b046001600160801b03166127fd90919063ffffffff16565b5f8a815260056020526040902055505050505050505b5f918252600660209081526040808420929092556001600160a01b038e168352600481528183208d84528152818320858452905281205550600101613f24565b506001600160a01b0389165f9081526007602090815260408083208b845290915281208190556137a3908a908a90614ba5565b5f80808060a085901b6001600160a01b0319166bffffffffffffffffffffffff861661428b8260b81c90565b6142958360d01c90565b61429f8460e81c90565b9450945094509450509193509193565b6142bb33856001614ba5565b5f6142c5856137af565b90505f5b81811015610625575f6142dc8783612765565b90505f6142ee8884603002604c011c90565b6142f8898561284e565b6143028a866127eb565b60405160e893841b60208201529190921b602382015260268101919091526046016040516020818303038152906040528051906020012090506143758784600481106143505761435061592b565b602002015160065f8481526020019081526020015f205461286190919063ffffffff16565b5f8281526006602052604081209190915561439189858961277e565b90505f80806143a08c886127eb565b5f549091506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811691633cc3c1da911630846143e48960e81c90565b6143ee8a60d01c90565b6040516001600160e01b031960e088901b1681526001600160a01b0395861660048201529490931660248501526044840191909152600290810b60648401520b6084820152627fffff60a482015260c4810189905260e4016040805180830381865afa158015614460573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190614484919061593f565b6001600160801b0391821694501691506144aa838360801b6001600160801b0319160190565b60045f336001600160a01b03166001600160a01b031681526020019081526020015f205f8e81526020019081526020015f205f8981526020019081526020015f2081905550505f6145268c88885f1461451b5761451667ffffffffffffffff8d16640900000000614762565b614b02565b640900000000614b02565b9050855f03614597575f858152600560205260409020546001600160801b03851680830361458584868402608086901c8402018161456657614566615977565b048583866001600160801b031602858a0201816141be576141be615977565b5f898152600560205260409020555050505b5050505050508060010190506142c9565b5f5f5f5f6145b68888612f39565b60025491935091505f9081906001600160a01b0316630ebd39063386868c6040516001600160e01b031960e087901b1681526001600160a01b039094166004850152600f92830b602485015290820b6044840152900b6064820152891515608482015260a40160408051808303815f875af1158015614637573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061465b9190615f70565b60035491935091505f9081906001600160a01b0316630ebd3906336146808960801d90565b61468a8960801d90565b6146948f60801d90565b6040516001600160e01b031960e087901b1681526001600160a01b039094166004850152600f92830b602485015290820b6044840152900b60648201528b1515608482015260a40160408051808303815f875af11580156146f7573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061471b9190615f70565b909250905065ffffffff0000601083901b16840161474e6001600160801b0385168360801b6001600160801b0319160190565b975097505050505050505b94509492505050565b5f81831061477057816127e4565b5090919050565b5f5f5f5f6147858686613dd4565b90880394508701925050505b935093915050565b5f80805f19848609848602925082811083820303915050805f036147c2575060601c9050610538565b80600160601b116147d1575f5ffd5b5f600160601b85870980840360601c9310909103600160a01b0291909117949350505050565b5f80805f19858709858702925082811083820303915050805f0361482b575f8411614820575f5ffd5b5082900490506127e4565b808411614836575f5ffd5b5f848688095f868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010186841190950394909402919094039290920491909117919091029150509392505050565b806001600160801b03811681146148cb5760405163b668004560e01b815260040160405180910390fd5b919050565b5f5f600160601b836001600160a01b0316101561494f576148fa846001600160801b031684614c10565b61490d906001600160801b038716615f5d565b61492961491a8660801c90565b6001600160801b031685614c6c565b6149338760801c90565b6001600160801b03166149469190615f5d565b91509150614791565b836001600160801b031661496c866001600160801b031685614cc1565b6149769190615f5d565b6149808560801c90565b6001600160801b03166149a56149968860801c90565b6001600160801b031686614d0c565b6149af9190615f5d565b91509150935093915050565b5f6149c78484846147f7565b90505f82806149d8576149d8615977565b84860911156127e4575f1981106149ed575f5ffd5b6001019392505050565b5f80808080614a068887613b40565b915091505f614a37614a1784612adf565b6001600160a01b0316614a2984612adf565b6001600160a01b0316614799565b9050614a438988613b89565b5f03614a7c57614a538988613b77565b614a5d9089615f94565b9450614a75613bed866001600160801b031683614d57565b9350614ab0565b614a868988613b77565b614a909089615f94565b9350614aad613bed856001600160801b0316600160601b846149bb565b94505b614acf6001600160801b0386168560801b6001600160801b0319160190565b9998505050505050505050565b805f600f82900b12156148cb5760405163b668004560e01b815260040160405180910390fd5b5f5f5f614b0f868661384c565b919450925090506001600160801b038216158015614b3457506001600160801b038116155b15614b405750506127e4565b5f826001600160801b0316826001600160801b03166401000000000281614b6957614b69615977565b0490508467ffffffffffffffff168111156127e057604051631d43cae160e11b815260040160405180910390fd5b5f81831361477057816127e4565b6001600160a01b0383165f90815260086020526040812054614bc8908484613aa1565b9050601960f882901c1115614bf057604051630ed7e77760e01b815260040160405180910390fd5b6001600160a01b039093165f908152600860205260409020929092555050565b5f6001600160801b036001600160a01b0383161015614c4b57614c4483600160c01b6002856001600160a01b03160a6147f7565b9050610538565b614c4483600160801b614c676001600160a01b03861680614d89565b6147f7565b5f6001600160801b036001600160a01b0383161015614ca057614c4483600160c01b6002856001600160a01b03160a6149bb565b614c4483600160801b614cbc6001600160a01b03861680614d89565b6149bb565b5f6001600160801b036001600160a01b0383161015614cf057614c44836002846001600160a01b03160a614de7565b614c4483614d076001600160a01b03851680614d89565b614e45565b5f6001600160801b036001600160a01b0383161015614d3b57614c44836002846001600160a01b03160a614ea3565b614c4483614d526001600160a01b03851680614d89565b614ebb565b5f614d628383614799565b90505f600160601b5b8385091115610538575f198110614d80575f5ffd5b60010192915050565b5f80805f19848609848602925082811083820303915050805f03614db2575060401c9050610538565b80600160401b11614dc1575f5ffd5b5f600160401b85870980840360401c9310909103600160c01b0291909117949350505050565b5f80805f19848609848602925082811083820303915050805f03614e10575060c01c9050610538565b80600160c01b11614e1f575f5ffd5b5f600160c01b85870980840360c01c9310909103600160401b0291909117949350505050565b5f80805f19848609848602925082811083820303915050805f03614e6e575060801c9050610538565b80600160801b11614e7d575f5ffd5b5f600160801b85870980840360801c9310909103600160801b0291909117949350505050565b5f614eae8383614de7565b90505f600160c01b614d6b565b5f614ec68383614e45565b90505f600160801b614d6b565b60405180604001604052806002906020820280368337509192915050565b60405180608001604052806004906020820280368337509192915050565b60405180608001604052806004905b614f26614ed3565b815260200190600190039081614f1e5790505090565b5f60208284031215614f4c575f5ffd5b81356001600160e01b0319811681146127e4575f5ffd5b6001600160a01b0381168114614f77575f5ffd5b50565b5f5f60408385031215614f8b575f5ffd5b8235614f9681614f63565b946020939093013593505050565b5f5f83601f840112614fb4575f5ffd5b50813567ffffffffffffffff811115614fcb575f5ffd5b6020830191508360208260051b8501011115613e10575f5ffd5b8060020b8114614f77575f5ffd5b5f5f5f5f5f60808688031215615007575f5ffd5b85359450602086013567ffffffffffffffff811115615024575f5ffd5b61503088828901614fa4565b909550935050604086013561504481614fe5565b9150606086013561505481614fe5565b809150509295509295909350565b6001600160801b0381168114614f77575f5ffd5b67ffffffffffffffff81168114614f77575f5ffd5b5f5f5f5f5f5f60a087890312156150a0575f5ffd5b863567ffffffffffffffff8111156150b6575f5ffd5b6150c289828a01614fa4565b90975095505060208701356150d681615062565b935060408701356150e681615076565b925060608701356150f681614fe5565b9150608087013561510681614fe5565b809150509295509295509295565b8015158114614f77575f5ffd5b5f5f5f5f60608587031215615134575f5ffd5b843561513f81614f63565b9350602085013561514f81615114565b9250604085013567ffffffffffffffff81111561516a575f5ffd5b61517687828801614fa4565b95989497509550505050565b5f8151808452602084019350602083015f5b828110156151d9578151865f5b60028110156151c05782518252602092830192909101906001016151a1565b5050506040959095019460209190910190600101615194565b5093949350505050565b838152826020820152606060408201525f6152016060830184615182565b95945050505050565b5f5f5f6040848603121561521c575f5ffd5b833561522781614f63565b9250602084013567ffffffffffffffff811115615242575f5ffd5b61524e86828701614fa4565b9497909650939450505050565b5f5f6040838503121561526c575f5ffd5b50508035926020909101359150565b5f5f5f5f6060858703121561528e575f5ffd5b843567ffffffffffffffff8111156152a4575f5ffd5b6152b087828801614fa4565b90955093505060208501356152c481614f63565b9396929550929360400135925050565b5f5f602083850312156152e5575f5ffd5b823567ffffffffffffffff8111156152fb575f5ffd5b61530785828601614fa4565b90969095509350505050565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b8281101561538b57603f19878603018452815180518087528060208301602089015e5f602082890101526020601f19601f83011688010196505050602082019150602084019350600181019050615339565b50929695505050505050565b5f5f5f5f5f5f608087890312156153ac575f5ffd5b863567ffffffffffffffff8111156153c2575f5ffd5b6153ce89828a01614fa4565b909750955050602087013567ffffffffffffffff8111156153ed575f5ffd5b6153f989828a01614fa4565b909550935050604087013561540d81614fe5565b9150606087013561510681614fe5565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561545a5761545a61541d565b604052919050565b5f82601f830112615471575f5ffd5b813567ffffffffffffffff81111561548b5761548b61541d565b8060051b61549b60208201615431565b918252602081850181019290810190868411156154b6575f5ffd5b6020860192505b83831015613c505782358252602092830192909101906154bd565b5f82601f8301126154e7575f5ffd5b813567ffffffffffffffff8111156155015761550161541d565b615514601f8201601f1916602001615431565b818152846020838601011115615528575f5ffd5b816020850160208301375f918101602001919091529392505050565b5f5f5f5f5f60a08688031215615558575f5ffd5b853561556381614f63565b9450602086013561557381614f63565b9350604086013567ffffffffffffffff81111561558e575f5ffd5b61559a88828901615462565b935050606086013567ffffffffffffffff8111156155b6575f5ffd5b6155c288828901615462565b925050608086013567ffffffffffffffff8111156155de575f5ffd5b6155ea888289016154d8565b9150509295509295909350565b5f60208284031215615607575f5ffd5b81356127e481614f63565b5f5f5f5f5f60608688031215615626575f5ffd5b853567ffffffffffffffff81111561563c575f5ffd5b61564888828901614fa4565b909650945050602086013561565c81614f63565b9250604086013567ffffffffffffffff811115615677575f5ffd5b61568388828901614fa4565b969995985093965092949392505050565b5f5f5f5f5f60a086880312156156a8575f5ffd5b85356156b381614f63565b945060208601356156c381614f63565b935060408601356156d381614f63565b925060608601356156e381614f63565b9150608086013561505481614f63565b5f5f5f5f5f5f60808789031215615708575f5ffd5b863561571381614f63565b955060208701359450604087013567ffffffffffffffff811115615735575f5ffd5b61574189828a01614fa4565b909550935050606087013567ffffffffffffffff811115615760575f5ffd5b61576c89828a01614fa4565b979a9699509497509295939492505050565b5f5f5f5f5f60a08688031215615792575f5ffd5b853561579d81614f63565b945060208601356157ad81614f63565b93506040860135925060608601359150608086013567ffffffffffffffff8111156155de575f5ffd5b5f5f5f5f5f5f5f60e0888a0312156157ec575f5ffd5b87516157f781614fe5565b602089015190975061580881614fe5565b604089015190965061581981614fe5565b606089015190955061582a81614fe5565b608089015160a08a015160c08b0151929650909450925061584a81615062565b8091505092959891949750929550565b805161ffff811681146148cb575f5ffd5b5f5f5f5f5f5f5f60e0888a031215615881575f5ffd5b875161588c81614f63565b602089015190975061589d81614fe5565b95506158ab6040890161585a565b94506158b96060890161585a565b93506158c76080890161585a565b925060a088015160ff811681146158dc575f5ffd5b60c089015190925061584a81615114565b5f602082840312156158fd575f5ffd5b5051919050565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561053857610538615904565b634e487b7160e01b5f52603260045260245ffd5b5f5f60408385031215615950575f5ffd5b825161595b81615062565b602084015190925061596c81615062565b809150509250929050565b634e487b7160e01b5f52601260045260245ffd5b5f6020828403121561599b575f5ffd5b815180600f0b81146127e4575f5ffd5b5f5f8335601e198436030181126159c0575f5ffd5b83018035915067ffffffffffffffff8211156159da575f5ffd5b602001915036819003821315613e10575f5ffd5b818382375f9101908152919050565b5f5f5f5f5f60a08688031215615a11575f5ffd5b8551615a1c81614fe5565b6020870151909550615a2d81614fe5565b6040870151909450615a3e81614fe5565b6060870151909350615a4f81614fe5565b60809690960151949793965091949392915050565b6001600160a01b03861681528460020b602082015260a060408201525f615a8e60a0830186615182565b6001600160801b03948516606084015292909316608090910152949350505050565b600282810b9082900b03627fffff198112627fffff8213171561053857610538615904565b600281810b9083900b01627fffff8113627fffff198212171561053857610538615904565b5f5f60408385031215615b0b575f5ffd5b505080516020909101519092909150565b5f8151808452602084019350602083015f5b828110156151d9578151865f5b6004811015615b5a578251825260209283019290910190600101615b3b565b5050506080959095019460209190910190600101615b2e565b5f61010082016001600160a01b038b1683526101006020840152808a518083526101208501915060208c0192505f5b81811015615bc0578351835260209384019390920191600101615ba2565b50508381036040850152615bd4818b615b1c565b92505050866060830152615bf360808301876001600160a01b03169052565b6001600160a01b03851660a08301526001600160a01b03841660c08301528260e08301529998505050505050505050565b5f5f60408385031215615c35575f5ffd5b8251615c4081614fe5565b6020939093015192949293505050565b6001600160801b038316815260a0810160208201835f5b60048110156127e0578151835260209283019290910190600101615c67565b5f60208284031215615c96575f5ffd5b81516127e481615076565b808202811582820484141761053857610538615904565b5f600160ff1b8201615ccc57615ccc615904565b505f0390565b5f60208284031215615ce2575f5ffd5b81516127e481614fe5565b5f5f60a08385031215615cfe575f5ffd5b83601f840112615d0c575f5ffd5b6040516080810167ffffffffffffffff81118282101715615d2f57615d2f61541d565b604052806080850186811115615d43575f5ffd5b855b81811015615d5d578051835260209283019201615d45565b50519196919550909350505050565b80825b600185111561475957808604811115615d8a57615d8a615904565b6001851615615d9857908102905b60019490941c938002615d6f565b5f828015615dbb5760018114615dc557615dce565b6001915050610538565b82915050610538565b5081615ddb57505f610538565b5060015f8213808214615df3578015615e1157615e2a565b826001600160ff1b0304831115615e0c57615e0c615904565b615e2a565b826001600160ff1b0305831215615e2a57615e2a615904565b5080831615615e365750805b615e4e6001600160ff1b038460011c84850284615d6c565b806001600160ff1b030482115f83131615615e6b57615e6b615904565b5f8212600160ff1b82900583121615615e8657615e86615904565b029392505050565b5f6127e460ff841683615da6565b8082018281125f831280158216821582161715615ebb57615ebb615904565b505092915050565b60ff818116838216019081111561053857610538615904565b5f8260020b8260020b028060020b9150808214610ee557610ee5615904565b5f8160020b8360020b80615f1d57634e487b7160e01b5f52601260045260245ffd5b627fffff1982145f1982141615615f3657615f36615904565b90059392505050565b62ffffff8181168382160290811690818114610ee557610ee5615904565b8082018082111561053857610538615904565b5f5f60408385031215615f81575f5ffd5b825163ffffffff8116811461595b575f5ffd5b6001600160801b038181168382160290811690818114610ee557610ee561590456fea2646970667358221220c4723cc8cb32955abdfb815d68da00ebc843374af15ce4aa0ce3cc3f7050e80564736f6c634300081c00330000000000000000000000000000000000000dededdd16227aa3d836c57531940000000000000000000000000000000000000000000000000000000000000000000000000000b361194cfe6312ee3210d53c15aa000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000646112e8ac00000000000000000000000082bf455e9ebd6a541ef10b683de1edcaf05ce7a182bf455e9ebd6a541ef10b683de1edcaf05ce7a136f15df6a78bf60145fff15c000000000000000000000000000000000000000000000000000000000000000400000000000000b361194cfe6312ee3210d53c15aa000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000061a461ff715f82bf455e9ebd6a541ef10b683de1edcaf05ce7a136f15df6a78bf60145fff15c0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000612660e060405234801561000f575f5ffd5b506040516160c63803806160c683398101604081905261002e91610047565b6001600160a01b0390921660805260a05260c052610086565b5f5f5f60608486031215610059575f5ffd5b83516001600160a01b038116811461006f575f5ffd5b602085015160409095015190969495509392505050565b60805160a05160c051615fde6100e85f395f8181610f57015281816110c20152818161151a01526115b901525f8181610f330152818161109e015281816114f6015261159501525f8181611304015281816117bb01526118dd0152615fde5ff3fe608060405260043610610156575f3560e01c8063b909a0b3116100bb578063e985e9c511610071578063f242432a11610057578063f242432a146105c0578063fa461e33146105df578063fdf90cc1146105fe575f5ffd5b8063e985e9c5146104cc578063eb1de2e214610505575f5ffd5b8063caa9a08d116100a1578063caa9a08d146103b7578063d348799714610411578063e53dec3814610430575f5ffd5b8063b909a0b314610379578063c035e24214610398575f5ffd5b80633f8e156e11610110578063a22cb465116100f6578063a22cb46514610301578063a734bda814610320578063ac9650d814610359575f5ffd5b80633f8e156e146102655780634e1273f4146102d5575f5ffd5b8063266601a311610140578063266601a3146101cf5780632eb2c2d6146101fc5780633cc3c1da1461021d575f5ffd5b8062fdd58e1461015a57806301ffc9a7146101a0575b5f5ffd5b348015610165575f5ffd5b5061018d610174366004615117565b5f60208181529281526040808220909352908152205481565b6040519081526020015b60405180910390f35b3480156101ab575f5ffd5b506101bf6101ba36600461516e565b61061d565b6040519015158152602001610197565b3480156101da575f5ffd5b506101ee6101e93660046151b4565b6106b5565b604051610197929190615204565b348015610207575f5ffd5b5061021b6102163660046152ba565b6107d1565b005b348015610228575f5ffd5b5061023c61023736600461537d565b6108bf565b604080516fffffffffffffffffffffffffffffffff938416815292909116602083015201610197565b348015610270575f5ffd5b506102b061027f3660046153fd565b67ffffffffffffffff165f9081526003602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610197565b3480156102e0575f5ffd5b506102f46102ef366004615424565b610b31565b6040516101979190615490565b34801561030c575f5ffd5b5061021b61031b3660046154df565b610c3a565b34801561032b575f5ffd5b5061033f61033a366004615516565b610cd0565b60408051600f93840b81529190920b602082015201610197565b61036c61036736600461557a565b610d76565b6040516101979190615605565b348015610384575f5ffd5b5061021b6103933660046153fd565b610e84565b3480156103a3575f5ffd5b5061021b6103b2366004615696565b611267565b3480156103c2575f5ffd5b506103f86103d13660046156de565b73ffffffffffffffffffffffffffffffffffffffff165f9081526002602052604090205490565b60405167ffffffffffffffff9091168152602001610197565b34801561041c575f5ffd5b5061021b61042b3660046156f9565b6117a6565b34801561043b575f5ffd5b5061018d61044a366004615516565b604080517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606097881b81166020808401919091529690971b9096166034870152604886019390935260e891821b6068860152901b606b8401528051808403604e018152606e90930181528251928201929092205f9081526004909152205490565b3480156104d7575f5ffd5b506101bf6104e636600461573c565b600160209081525f928352604080842090915290825290205460ff1681565b348015610510575f5ffd5b506105a661051f3660046153fd565b67ffffffffffffffff165f908152600360209081526040918290208251606081018452905473ffffffffffffffffffffffffffffffffffffffff81168252740100000000000000000000000000000000000000008104600290810b93830184905277010000000000000000000000000000000000000000000000909104900b920182905291565b60408051600293840b81529190920b602082015201610197565b3480156105cb575f5ffd5b5061021b6105da366004615768565b611821565b3480156105ea575f5ffd5b5061021b6105f93660046156f9565b6118c8565b348015610609575f5ffd5b506101ee6106183660046151b4565b611949565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff00000000000000000000000000000000000000000000000000000000831614806106af57507fd9b67a26000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b6106bd6150d5565b5f681face81baddeadbeef805c159030905d8061073b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f5245454e5452414e43590000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b6107583388886fffffffffffffffffffffffffffffffff16611a46565b6040516fffffffffffffffffffffffffffffffff87168152879033907f23833bcc608a225445893342669a9bc035de4ef96cc1edd47cead470f1f7817a9060200160405180910390a36107b78585886107b08b611ae2565b6001611bde565b925092505f681face81baddeadbeef5d5094509492505050565b681face81baddeadbeef805c159030905d80610849576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f5245454e5452414e4359000000000000000000000000000000000000000000006044820152606401610732565b5f5b868110156108975761088f8a8a8a8a8581811061086a5761086a6157df565b90506020020135898986818110610883576108836157df565b90506020020135611fc0565b60010161084b565b506108a8898989898989898961221e565b5f681face81baddeadbeef5d505050505050505050565b6040517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606089811b8216602084015288901b1660348201526048810186905260e885811b606883015284901b606b8201525f9081908190606e01604080518083037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001815291815281516020928301205f81815260049093529082205490925081819050627fffff600289900b12801561098b57506fffffffffffffffffffffffffffffffff811615155b15610ae5576040517f3f63910100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8e166004820152600289810b60248301528b810b60448301528a900b60648201526fffffffffffffffffffffffffffffffff821660848201525f908e908c908c908490730000000000019851aabff4cd57dfc3e739f5975790633f6391019060a401602060405180830381865af4158015610a48573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a6c919061580c565b5f8a815260076020526040902054909150610a88908290612510565b9450505050505f5f610a9a8584612620565b5f89815260056020908152604080832054600690925290912054929450909250610ac6918490846127b2565b909250905060018a14610ad95780610adb565b815b9550505050610b12565b86600114610b00575f84815260066020526040902054610b0f565b5f848152600560205260409020545b92505b82610b1d8460801c90565b955095505050505097509795505050505050565b60608367ffffffffffffffff811115610b4c57610b4c615823565b604051908082528060200260200182016040528015610b75578160200160208202803683370190505b5090505f5b84811015610c31575f5f878784818110610b9657610b966157df565b9050602002016020810190610bab91906156de565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f858584818110610bf757610bf76157df565b9050602002013581526020019081526020015f2054828281518110610c1e57610c1e6157df565b6020908102919091010152600101610b7a565b50949350505050565b335f81815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b6040517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606087811b8216602084015286901b1660348201526048810184905260e883811b606883015282901b606b8201525f90819081906007908290606e016040516020818303038152906040528051906020012081526020019081526020015f20549050610d5d8190565b9250610d698160801d90565b9150509550959350505050565b60608167ffffffffffffffff811115610d9157610d91615823565b604051908082528060200260200182016040528015610dc457816020015b6060815260200190600190039081610daf5790505b5090505f5b82811015610e7d575f8030868685818110610de657610de66157df565b9050602002810190610df89190615850565b604051610e069291906158b1565b5f60405180830381855af49150503d805f8114610e3e576040519150601f19603f3d011682016040523d82523d5f602084013e610e43565b606091505b509150915081610e5557805160208201fd5b80848481518110610e6857610e686157df565b60209081029190910101525050600101610dc9565b5092915050565b67ffffffffffffffff81165f9081526003602090815260408083208151606081018352905473ffffffffffffffffffffffffffffffffffffffff81168252740100000000000000000000000000000000000000008104600290810b9483019490945277010000000000000000000000000000000000000000000000900490920b908201529061ffff603084901c1690610f1c82612974565b90505f5f611089856020015160020b61107f6110667f00000000000000000000000000000000000000000000000000000000000000006127107f00000000000000000000000000000000000000000000000000000000000000008b5f015173ffffffffffffffffffffffffffffffffffffffff1663d21220a76040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fc2573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fe691906158c0565b73ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561102e573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611052919061580c565b0281611060576110606158db565b046129be565b87876fffffffffffffffffffffffffffffffff166129d5565b5f0360020b612a41565b9150611135856040015160020b61112d6110667f00000000000000000000000000000000000000000000000000000000000000006127107f00000000000000000000000000000000000000000000000000000000000000008b5f015173ffffffffffffffffffffffffffffffffffffffff16630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fc2573d5f5f3e3d5ffd5b60020b612a4f565b60408051606081018252875173ffffffffffffffffffffffffffffffffffffffff9081168252600286810b60208085018281529287900b85870181815267ffffffffffffffff8f165f9081526003845288902096518754955191519087167fffffffffffffffffff0000000000000000000000000000000000000000000000909616959095177401000000000000000000000000000000000000000062ffffff92831602177fffffffffffff000000ffffffffffffffffffffffffffffffffffffffffffffff16770100000000000000000000000000000000000000000000009190951602939093179094558a5185519182529381019190915293945016917fac639863cf263ec4d7f6c93d2b312174ee3ec131a2f5789cc0dcc96a7e697226910160405180910390a2505050505050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16106112a15781836112a4565b82825b6040517f1698ee8200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8084166004830152808316602483015262ffffff851660448301529295509093505f917f00000000000000000000000000000000000000000000000000000000000000001690631698ee8290606401602060405180830381865afa158015611349573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061136d91906158c0565b905073ffffffffffffffffffffffffffffffffffffffff81166113bc576040517f4f361fe400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff81165f90815260026020526040902054156113ec5750505050565b5f8173ffffffffffffffffffffffffffffffffffffffff1663d0c93a7c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611436573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061145a9190615908565b9050607082901c65ffffffffffff16603082901b68ffffff00000000000016015b67ffffffffffffffff81165f9081526003602052604090205473ffffffffffffffffffffffffffffffffffffffff16156114ce576001810165ffffffffffff1667ffff000000000000821601905061147b565b5f6114d883612974565b6fffffffffffffffffffffffffffffffff1690505f5f6115896115827f00000000000000000000000000000000000000000000000000000000000000006127107f00000000000000000000000000000000000000000000000000000000000000008c73ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561102e573d5f5f3e3d5ffd5b86856129d5565b5f0391506116216115827f00000000000000000000000000000000000000000000000000000000000000006127107f00000000000000000000000000000000000000000000000000000000000000008d73ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561102e573d5f5f3e3d5ffd5b6040805160608101825273ffffffffffffffffffffffffffffffffffffffff808a16808352600287810b602080860191825287830b86880190815267ffffffffffffffff8d165f81815260038452898120985189549551935162ffffff90811677010000000000000000000000000000000000000000000000027fffffffffffff000000ffffffffffffffffffffffffffffffffffffffffffffff9190951674010000000000000000000000000000000000000000027fffffffffffffffffff000000000000000000000000000000000000000000000090971691909916179490941796909616179095558281529352918390207f800000000000000000000000000000000000000000000000000000000000000090910190559051919250907f4bd4bcef57942fad6bb34f8b7d1b53da46f96eefc173461c3be68165a9e729d1906117939087908690869067ffffffffffffffff939093168352600291820b6020840152900b604082015260600190565b60405180910390a2505050505050505050565b5f6117b382840184615971565b90506117e3337f0000000000000000000000000000000000000000000000000000000000000000835f0151612a5d565b84156117fd5780515160208201516117fd91903388612b5f565b831561181a5761181a815f01516020015182602001513387612b5f565b5050505050565b681face81baddeadbeef805c159030905d80611899576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f5245454e5452414e4359000000000000000000000000000000000000000000006044820152606401610732565b6118a587878787611fc0565b6118b3878787878787612bea565b5f681face81baddeadbeef5d50505050505050565b5f6118d582840184615971565b9050611905337f0000000000000000000000000000000000000000000000000000000000000000835f0151612a5d565b5f5f86136119185781516020015161191c565b8151515b90505f5f871361192c578561192e565b865b90506119408284602001513384612b5f565b50505050505050565b6119516150d5565b5f681face81baddeadbeef805c159030905d806119ca576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f5245454e5452414e4359000000000000000000000000000000000000000000006044820152606401610732565b6119e73388886fffffffffffffffffffffffffffffffff16612e43565b6040516fffffffffffffffffffffffffffffffff87168152879033907f16695fc037c20a8984b20ffc7aadd6ce10e62756f9ca42933a1aa6459ef064ca9060200160405180910390a3611a3987612fd5565b6107b78585888a5f611bde565b73ffffffffffffffffffffffffffffffffffffffff83165f9081526020818152604080832085845290915281208054839290611a83908490615a67565b909155505060408051838152602081018390525f9173ffffffffffffffffffffffffffffffffffffffff86169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f7afe0000000000fe0000000000fe0000000000fe0000000000000000821668010000000000000000811015611b1957505f611b8c565b6e010000000000000000000000000000811015611b3857506001611b8c565b74010000000000000000000000000000000000000000811015611b5d57506002611b8c565b7a010000000000000000000000000000000000000000000000000000811015611b8857506003611b8c565b5060045b7fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000816004036030027b01000000000001000000000001000000000001000000000000000000901c168318915050919050565b611be66150d5565b67ffffffffffffffff83165f9081526003602090815260408083208151606081018352905473ffffffffffffffffffffffffffffffffffffffff8116808352740100000000000000000000000000000000000000008204600290810b958401959095527701000000000000000000000000000000000000000000000090910490930b9181019190915290611ca6576040517f4f361fe400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5f5f5f611cb38961338a565b90505f5b81811015611e16575f611ccb8b838e61343d565b905089611d6d5761ffff60308c901c1660e882901c60d083901c611cef8383615a7a565b60020b151580611d0a5750611d048382615a7a565b60020b15155b80611d1e5750896020015160020b8260020b125b80611d325750896040015160020b8160020b135b15611d69576040517f1577d96600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050505b611d76816134a8565b86019550611d838161354a565b87519501945f90611d97908d85858f61359f565b8b8560048110611da957611da96157df565b60200201529050611dba898261382e565b9850611e07611dc98d856138f0565b15611ded57611de8825b6fffffffffffffffffffffffffffffffff1690565b611e00565b611e00611dfa8360801d90565b60801b90565b869061382e565b94508260010192505050611cb7565b50611e3260046f7fffffffffffffffffffffffffffffff615a9b565b6fffffffffffffffffffffffffffffffff16841180611e7c5750611e6760046f7fffffffffffffffffffffffffffffff615a9b565b6fffffffffffffffffffffffffffffffff1683115b15611eb3576040517f543a6e1000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8a60020b8c60020b1315611ee5578115611ee157611ede86611ed8875f015185613941565b9061382e565b95505b999a995b5f855f015173ffffffffffffffffffffffffffffffffffffffff16633850c7bd6040518163ffffffff1660e01b815260040160e060405180830381865afa158015611f32573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f569190615afa565b50505050509150508b60020b8160020b121580611f7957508c60020b8160020b13155b15611fb0576040517ffd26c92800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050505050509550959350505050565b67ffffffffffffffff82165f9081526003602052604081205473ffffffffffffffffffffffffffffffffffffffff1690611ff98461338a565b90505f5b81811015611940575f61201186838761343d565b90505f848961202089866138f0565b61202a8560e81c90565b6120348660d01c90565b6040517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606096871b811660208301529490951b9093166034850152604884019190915260e890811b60688401521b606b820152606e01604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152919052805160209091012090505f85896120d08a876138f0565b6120da8660e81c90565b6120e48760d01c90565b6040517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606096871b811660208301529490951b9093166034850152604884019190915260e890811b60688401521b606b820152606e01604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815291815281516020928301205f8581526004909352818320548184529190922054919250901515806121a95750836fffffffffffffffffffffffffffffffff168114155b156121e0576040517f90b8ec1800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8281526004602090815260408083209390935584825282822082905560079052818120805493825291812092909255918152905550600101611ffd565b3373ffffffffffffffffffffffffffffffffffffffff89161480612271575073ffffffffffffffffffffffffffffffffffffffff88165f90815260016020908152604080832033845290915290205460ff165b6122a7576040517fea8e4eb500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f80805b87811015612369578888828181106122c5576122c56157df565b9050602002013592508686828181106122e0576122e06157df565b73ffffffffffffffffffffffffffffffffffffffff8e165f9081526020818152604080832089845282528220805493909102949094013595508593925090612329908490615a67565b909155505073ffffffffffffffffffffffffffffffffffffffff8a165f9081526020818152604080832086845290915290208054830190556001016122ab565b508873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8b8b8b8b6040516123e49493929190615bd5565b60405180910390a473ffffffffffffffffffffffffffffffffffffffff89163b15612504576040517fbc197c81000000000000000000000000000000000000000000000000000000008082529073ffffffffffffffffffffffffffffffffffffffff8b169063bc197c819061246b9033908f908e908e908e908e908e908e90600401615c42565b6020604051808303815f875af1158015612487573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124ab9190615cb5565b7fffffffff000000000000000000000000000000000000000000000000000000001614612504576040517f3da6393100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50505050505050505050565b5f5f61251c8360801d90565b600f0b6125298560801d90565b600f0b039050805f84600f0b86600f0b0390505f8190508383600f0b14158061255557508181600f0b14155b1561258c576040517fd219017400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61261561259c84600f0b5f612a4f565b6125eb6125ac84600f0b5f612a4f565b889081016fffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffff00000000000000000000000000000000919091160190565b9060801b7fffffffffffffffffffffffffffffffff00000000000000000000000000000000160190565b979650505050505050565b5f5f5f61262d8560801c90565b6fffffffffffffffffffffffffffffffff908116915085168082015f808781608082901c905061267e826fffffffffffffffffffffffffffffffff168668010000000000000000026002890a613d28565b93506126ab816fffffffffffffffffffffffffffffffff168668010000000000000000026002890a613d28565b92505f91508190506004870486016126cc6126c7868389613d28565b613dd2565b92506126dc6126c7858389613d28565b915061271e6fffffffffffffffffffffffffffffffff84168360801b7fffffffffffffffffffffffffffffffff00000000000000000000000000000000160190565b99505f925082915081905060046002890a048887026002880a0301905061274c6126c7868360028a0a613d28565b925061275f6126c7858360028a0a613d28565b91506127a16fffffffffffffffffffffffffffffffff84168360801b7fffffffffffffffffffffffffffffffff00000000000000000000000000000000160190565b985050505050505050509250929050565b5f80806127ea865b6fffffffffffffffffffffffffffffffff16885b6fffffffffffffffffffffffffffffffff166126c79190615cd0565b90505f6128166127fa8860801c90565b6fffffffffffffffffffffffffffffffff166127ce8a60801c90565b90505f612822866127ba565b90505f6128326127fa8860801c90565b90505f6fffffffffffffffffffffffffffffffff858116148061286657506fffffffffffffffffffffffffffffffff838116145b1590505f6fffffffffffffffffffffffffffffffff858116148061289b57506fffffffffffffffffffffffffffffffff838116145b159050612900816128b5576128b08d60801c90565b6128b7565b855b836128c2578d6128c4565b875b6fffffffffffffffffffffffffffffffff169060801b7fffffffffffffffffffffffffffffffff00000000000000000000000000000000160190565b61296182612917576129128c60801c90565b612919565b845b84612924578c6128c4565b866fffffffffffffffffffffffffffffffff169060801b7fffffffffffffffffffffffffffffffff00000000000000000000000000000000160190565b9750975050505050505094509492505050565b5f600282900b620d89e88161298b5761298b6158db565b0560020260010162ffffff166fffffffffffffffffffffffffffffffff8016816129b7576129b76158db565b0492915050565b5f8183116129cc57816129ce565b825b9392505050565b5f612a39612a32857c01000000000000000000000000000000000000000000000000000000006c01000000000000000000000000612a1288613e04565b0373ffffffffffffffffffffffffffffffffffffffff1686026080614145565b600d614216565b949350505050565b5f8183126129cc57816129ce565b5f8183136129cc57816129ce565b8051602082015160408084015190517f1698ee8200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9384166004820152918316602483015262ffffff16604482015284821691841690631698ee8290606401602060405180830381865afa158015612ae9573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b0d91906158c0565b73ffffffffffffffffffffffffffffffffffffffff1614612b5a576040517f3a94c70500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050565b5f6040517f23b872dd00000000000000000000000000000000000000000000000000000000815284816004015283816024015282816044015260205f6064835f8a5af13d15601f3d1160015f51141617169150508061181a576040517f90b8ec1800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff87161480612c3d575073ffffffffffffffffffffffffffffffffffffffff86165f90815260016020908152604080832033845290915290205460ff165b612c73576040517fea8e4eb500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff86165f9081526020818152604080832087845290915281208054859290612cb0908490615a67565b909155505073ffffffffffffffffffffffffffffffffffffffff8581165f818152602081815260408083208984528252918290208054880190558151888152908101879052919289169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a473ffffffffffffffffffffffffffffffffffffffff85163b15612e3b576040517ff23a6e61000000000000000000000000000000000000000000000000000000008082529073ffffffffffffffffffffffffffffffffffffffff87169063f23a6e6190612da29033908b908a908a908a908a90600401615ce3565b6020604051808303815f875af1158015612dbe573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612de29190615cb5565b7fffffffff000000000000000000000000000000000000000000000000000000001614612e3b576040517f3da6393100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050505050565b73ffffffffffffffffffffffffffffffffffffffff83165f818152602081815260408083208684528252808320805486019055805186815291820185905233917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a473ffffffffffffffffffffffffffffffffffffffff83163b15612b5a576040517ff23a6e61000000000000000000000000000000000000000000000000000000008082523360048301525f60248301819052604483018590526064830184905260a0608484015260a48301529073ffffffffffffffffffffffffffffffffffffffff85169063f23a6e619060c4016020604051808303815f875af1158015612f58573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612f7c9190615cb5565b7fffffffff000000000000000000000000000000000000000000000000000000001614612b5a576040517f3da6393100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612fdf815f614311565b5f0361301a576040517f93db026300000000000000000000000000000000000000000000000000000000815260016004820152602401610732565b77fffffffff200fffffffff200fffffffff200fffffffff200604082901c165f5b6004811015612b5a5761304e8382614311565b5f03613098576040603082020183901c15612b5a576040517f93db026300000000000000000000000000000000000000000000000000000000815260016004820152602401610732565b5f6130a28461338a565b9050600182015b81811015613111578060300284901c65ffffffffffff168360300285901c65ffffffffffff1603613109576040517f93db026300000000000000000000000000000000000000000000000000000000815260066004820152602401610732565b6001016130a9565b5061311c8483614323565b60020b5f0361315a576040517f93db026300000000000000000000000000000000000000000000000000000000815260056004820152602401610732565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff2761861318a8584603002604c011c90565b60020b14806131ac5750620d89e86131a78584603002604c011c90565b60020b145b156131e5576040517f93db0263000000000000000000000000000000000000000000000000000000008152600481810152602401610732565b5f6131f08584614336565b905082811461338057826132048683614336565b1461323e576040517f93db026300000000000000000000000000000000000000000000000000000000815260036004820152602401610732565b6132488584614348565b6132528683614348565b14158061327157506132648584614311565b61326e8683614311565b14155b156132ab576040517f93db026300000000000000000000000000000000000000000000000000000000815260036004820152602401610732565b5f6132b6868561435a565b90505f6132c3878461435a565b90505f6132d088876138f0565b90505f6132dd89866138f0565b905082841480156132ed57508082145b15613326576040517f93db0263000000000000000000000000000000000000000000000000000000008152600481810152602401610732565b82841415806133355750836001145b80156133415750808214155b1561337b576040517f93db026300000000000000000000000000000000000000000000000000000000815260056004820152602401610732565b505050505b505060010161303b565b5f7afe0000000000fe0000000000fe0000000000fe00000000000000008216680100000000000000008110156133c257505f92915050565b6e0100000000000000000000000000008110156133e25750600192915050565b740100000000000000000000000000000000000000008110156134085750600292915050565b7a0100000000000000000000000000000000000000000000000000008110156134345750600392915050565b50600492915050565b5f808061344a868661436c565b90925090505f61345a8787614311565b613476906fffffffffffffffffffffffffffffffff8716615d46565b90506134828787614348565b5f0361349d576134938383836143a3565b93505050506129ce565b613493838383614492565b5f5f6134bc6134b78460e81c90565b613e04565b90505f6134cc6134b78560d01c90565b905073ffffffffffffffffffffffffffffffffffffffff82166135346060866fffffffffffffffffffffffffffffffff16901b84840373ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16613d28565b81613541576135416158db565b04949350505050565b5f5f6135596134b78460e81c90565b90505f6135696134b78560d01c90565b9050612a39846fffffffffffffffffffffffffffffffff1683830373ffffffffffffffffffffffffffffffffffffffff166144e3565b5f808087336135ae89896138f0565b6135b88860e81c90565b6135c28960d01c90565b6040517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606096871b811660208301529490951b9093166034850152604884019190915260e890811b60688401521b606b820152606e01604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152919052805160209091012090505f8061365d898961435a565b5f848152600460205260408120549192508190608082901c9050896fffffffffffffffffffffffffffffffff81165f036136c3576040517f1007454800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b845f036136ee576136d48184615d5d565b955089156136e9576136e68183615d85565b91505b613763565b806fffffffffffffffffffffffffffffffff16836fffffffffffffffffffffffffffffffff16101561374c576040517f4323a55500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b808303955089613763576137608183615d5d565b91505b6137a36fffffffffffffffffffffffffffffffff87168360801b7fffffffffffffffffffffffffffffffff00000000000000000000000000000000160190565b5f888152600460205260409020555050821590506137ca576137c5888c614564565b6137d4565b6137d4888c61465a565b95506fffffffffffffffffffffffffffffffff8116156137ff576137fc888c83878a8761491b565b94505b61380c8b848a6001614b03565b5f94855260076020526040909420939093555092989197509095505050505050565b5f5f61383a8360801d90565b600f0b6138478560801d90565b600f0b019050805f84600f0b86600f0b0190505f8190508383600f0b14158061387357508181600f0b14155b156138aa576040517fd219017400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612615837fffffffffffffffffffffffffffffffff0000000000000000000000000000000087168388016fffffffffffffffffffffffffffffffff16015b9060801b0190565b5f60026049603084020184901c5b069392505050565b7fffffffffffffffffffffffffffffffff00000000000000000000000000000000821691016fffffffffffffffffffffffffffffffff160190565b5f80806060858583608082901d9050604051806040016040528060405180606001604052808673ffffffffffffffffffffffffffffffffffffffff16630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa1580156139af573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906139d391906158c0565b73ffffffffffffffffffffffffffffffffffffffff1681526020018673ffffffffffffffffffffffffffffffffffffffff1663d21220a76040518163ffffffff1660e01b8152600401602060405180830381865afa158015613a37573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613a5b91906158c0565b73ffffffffffffffffffffffffffffffffffffffff1681526020018673ffffffffffffffffffffffffffffffffffffffff1663ddca3f436040518163ffffffff1660e01b8152600401602060405180830381865afa158015613abf573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613ae39190615dad565b62ffffff169052815233602091820152604051613b499291018151805173ffffffffffffffffffffffffffffffffffffffff908116835260208083015182168185015260409283015162ffffff1692840192909252920151909116606082015260800190565b604051602081830303815290604052935081600f0b5f14158015613b70575080600f0b5f14155b15613c11575f8373ffffffffffffffffffffffffffffffffffffffff16633850c7bd6040518163ffffffff1660e01b815260040160e060405180830381865afa158015613bbf573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613be39190615afa565b50505050505090505f613bf983600f0b83614c7b565b84600f0b0390505f81129750805f0396505050613c41565b81600f0b5f14613c30575f82600f0b129550815f03600f0b9450613c41565b5f81600f0b139550805f03600f0b94505b845f03613c56575f96505050505050506106af565b5f5f8473ffffffffffffffffffffffffffffffffffffffff1663128acb08338a8a8c613c965773fffd8963efd1fc6a506488495d951d5263988d25613c9d565b6401000276a45b8b6040518663ffffffff1660e01b8152600401613cbe959493929190615dc8565b60408051808303815f875af1158015613cd9573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613cfd9190615e20565b91509150613d19613d0d82614d5a565b6138e8611dd385614d5a565b9b9a5050505050505050505050565b5f80805f19858709858702925082811083820303915050805f03613d5c575f8411613d51575f5ffd5b5082900490506129ce565b808411613d67575f5ffd5b5f848688095f868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010186841190950394909402919094039290920491909117919091029150509392505050565b806fffffffffffffffffffffffffffffffff81168114613dff57506fffffffffffffffffffffffffffffffff5b919050565b5f5f5f8360020b12613e19578260020b613e20565b8260020b5f035b9050620d89e8811115613e5f576040517fce8ef7fc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f816001165f03613e8157700100000000000000000000000000000000613e93565b6ffffcb933bd6fad37aa2d162d1a5940015b70ffffffffffffffffffffffffffffffffff1690506002821615613ec7576ffff97272373d413259a46990580e213a0260801c5b6004821615613ee6576ffff2e50f5f656932ef12357cf3c7fdcc0260801c5b6008821615613f05576fffe5caca7e10e4e61c3624eaa0941cd00260801c5b6010821615613f24576fffcb9843d60f6159c9db58835c9266440260801c5b6020821615613f43576fff973b41fa98c081472e6896dfb254c00260801c5b6040821615613f62576fff2ea16466c96a3843ec78b326b528610260801c5b6080821615613f81576ffe5dee046a99a2a811c461f1969c30530260801c5b610100821615613fa1576ffcbe86c7900a88aedcffc83b479aa3a40260801c5b610200821615613fc1576ff987a7253ac413176f2b074cf7815e540260801c5b610400821615613fe1576ff3392b0822b70005940c7a398e4b70f30260801c5b610800821615614001576fe7159475a2c29b7443b29c7fa6e889d90260801c5b611000821615614021576fd097f3bdfd2022b8845ad8f792aa58250260801c5b612000821615614041576fa9f746462d870fdf8a65dc1f90e061e50260801c5b614000821615614061576f70d869a156d2a1b890bb3df62baf32f70260801c5b618000821615614081576f31be135f97d08fd981231505542fcfa60260801c5b620100008216156140a2576f09aa508b5b7a84e1c677de54f3e99bc90260801c5b620200008216156140c2576e5d6af8dedb81196699c329225ee6040260801c5b620400008216156140e1576d2216e584f5fa1ea926041bedfe980260801c5b620800008216156140fe576b048a170391f7dc42444e8fa20260801c5b5f8460020b131561411d57805f1981614119576141196158db565b0490505b640100000000810615614131576001614133565b5f5b60ff16602082901c0192505050919050565b5f80805f19868809868802925082811083820303915050805f0361418c575f851161416e575f5ffd5b84820492506141838360018660020a03614d98565b92505050612a39565b80846101000386901c116141aa5760018460020a0392505050612a39565b5f858789095f87810388169788900497600260038a028118808b02820302808b02820302808b02820302808b02820302808b02820302808b0290910302918190038190046001018684119095039490940291909403929092049190911791909102915050949350505050565b5f5f6142a3847f0706060506020504060203020504030106050205030304010505030400000000601f6f8421084210842108cc6318c6db6d54be6fffffffffffffffffffffffffffffffff841160071b84811c67ffffffffffffffff1060061b1784811c63ffffffff1060051b1784811c61ffff1060041b1784811c60ff1060031b1793841c1c161a1790565b607f8190039490941b9360800360401b9050603f838103905b818111156142e757600290950a607f81901c60ff9190911c90811c9590811b909203915f19016142bc565b50700100000000000000000000000000000000693627a301d786ca58a52f83020495945050505050565b5f60806041603084020184901c6138fe565b5f6110006064603084020184901c6138fe565b5f6004604a603084020184901c6138fe565b5f60026040603084020184901c6138fe565b5f60026048603084020184901c6138fe565b5f806143986143808585603002604c011c90565b61438a8686614323565b603087901c61ffff16614da6565b909590945092505050565b5f5f6143ae85613e04565b90505f6143ba85613e04565b9050614488868661442161441c886143fe8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff166144e3565b88880373ffffffffffffffffffffffffffffffffffffffff16613d28565b614dc4565b7fffffff000000000000000000000000000000000000000000000000000000000060e884901b167cffffff000000000000000000000000000000000000000000000000000060d084901b16016fffffffffffffffffffffffffffffffff8216019392505050565b9695505050505050565b5f5f61449d85613e04565b90505f6144a985613e04565b9050614488868661442161441c886c0100000000000000000000000088880373ffffffffffffffffffffffffffffffffffffffff16613d28565b5f80805f19848609848602925082811083820303915050805f0361450c575060601c90506106af565b806c0100000000000000000000000011614524575f5ffd5b5f6c0100000000000000000000000085870980840360601c9310909103740100000000000000000000000000000000000000000291909117949350505050565b5f5f5f8373ffffffffffffffffffffffffffffffffffffffff1663a34123a761458d8760e81c90565b6145978860d01c90565b886040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b168152600293840b60048201529190920b60248201526fffffffffffffffffffffffffffffffff909116604482015260640160408051808303815f875af115801561460e573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906146329190615e20565b91509150614651815f036138e8845f035f61390690919063ffffffff16565b95945050505050565b5f5f604051806040016040528060405180606001604052808673ffffffffffffffffffffffffffffffffffffffff16630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa1580156146bb573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906146df91906158c0565b73ffffffffffffffffffffffffffffffffffffffff1681526020018673ffffffffffffffffffffffffffffffffffffffff1663d21220a76040518163ffffffff1660e01b8152600401602060405180830381865afa158015614743573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061476791906158c0565b73ffffffffffffffffffffffffffffffffffffffff1681526020018673ffffffffffffffffffffffffffffffffffffffff1663ddca3f436040518163ffffffff1660e01b8152600401602060405180830381865afa1580156147cb573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906147ef9190615dad565b62ffffff1690528152336020918201526040516148559291018151805173ffffffffffffffffffffffffffffffffffffffff908116835260208083015182168185015260409283015162ffffff1692840192909252920151909116606082015260800190565b60405160208183030381529060405290505f5f8473ffffffffffffffffffffffffffffffffffffffff16633c8a7d8d3061488f8960e81c90565b6148998a60d01c90565b8a886040518663ffffffff1660e01b81526004016148bb959493929190615e42565b60408051808303815f875af11580156148d6573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906148fa9190615e20565b9092509050614488816fffffffffffffffffffffffffffffffff84166138e8565b5f83815260076020526040812054859082906149439061493d8a858d86614b03565b90612510565b90508360010361495a576149578186614e10565b90505b8015614af7575f5f8973ffffffffffffffffffffffffffffffffffffffff16634f1eb3d8336149898e60e81c90565b6149938f60d01c90565b8761499e8960801c90565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e088901b16815273ffffffffffffffffffffffffffffffffffffffff9095166004860152600293840b60248601529190920b60448401526fffffffffffffffffffffffffffffffff918216606484015216608482015260a40160408051808303815f875af1158015614a37573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190614a5b9190615e9a565b915091505f5f5f614a698a90565b600f0b12614a775783614a7b565b8884015b91505f614a888a60801d90565b600f0b12614a965782614aa3565b614aa08960801d90565b83015b9050614ae56fffffffffffffffffffffffffffffffff83168260801b7fffffffffffffffffffffffffffffffff00000000000000000000000000000000160190565b9650614af28a8c89614e89565b505050505b50509695505050505050565b5f5f5f8673ffffffffffffffffffffffffffffffffffffffff1663514ea4bf30614b2d8860e81c90565b614b378960d01c90565b60405160609390931b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000016602084015260e891821b6034840152901b6037820152603a01604051602081830303815290604052805190602001206040518263ffffffff1660e01b8152600401614baf91815260200190565b60a060405180830381865afa158015614bca573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190614bee9190615ec7565b5050925092505083614c3d57614c38614c1982886fffffffffffffffffffffffffffffffff16614ee3565b6138e8611dd3858a6fffffffffffffffffffffffffffffffff16614ee3565b612615565b612615614c5c82886fffffffffffffffffffffffffffffffff16614f68565b6138e8611dd3858a6fffffffffffffffffffffffffffffffff16614f68565b5f6fffffffffffffffffffffffffffffffff73ffffffffffffffffffffffffffffffffffffffff83161015614d13575f614cf8614cf3614cba86614fa6565b780100000000000000000000000000000000000000000000000060028773ffffffffffffffffffffffffffffffffffffffff160a613d28565b614fba565b90505f8412614d075780614d0b565b805f035b9150506106af565b5f614cf8614cf3614d2386614fa6565b700100000000000000000000000000000000614d5573ffffffffffffffffffffffffffffffffffffffff881680615015565b613d28565b80600f81900b8114613dff576040517fb668004500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8183106129cc57816129ce565b5f5f5f5f614db48686615092565b9088039897019695505050505050565b806fffffffffffffffffffffffffffffffff81168114613dff576040517fb668004500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5f614e1c8360801d90565b600f0b614e298560801d90565b600f0b039050805f84600f0b86600f0b0390505f8190508383600f0b14158061387357508181600f0b146138aa576040517fd219017400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5f614e958484612620565b5f87815260056020908152604080832054600690925290912054929450909250614ec1918490846127b2565b5f96875260056020908152604080892060069092529097205590945550505050565b5f80805f19848609848602925082811083820303915050805f03614f0c575060801c90506106af565b8070010000000000000000000000000000000011614f28575f5ffd5b5f70010000000000000000000000000000000085870980840360801c93109091037001000000000000000000000000000000000291909117949350505050565b5f614f738383614ee3565b90505f70010000000000000000000000000000000083850911156106af575f198110614f9d575f5ffd5b60010192915050565b5f5f8213614fb657815f036106af565b5090565b5f7f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821115614fb6576040517fb668004500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f80805f19848609848602925082811083820303915050805f0361503e575060401c90506106af565b806801000000000000000011615052575f5ffd5b5f6801000000000000000085870980840360401c931090910378010000000000000000000000000000000000000000000000000291909117949350505050565b5f8060026150a08486615f17565b6150aa9190615f36565b6150c96150b78587615f8a565b62ffffff166002808204910615150190565b915091505b9250929050565b60405180608001604052806004906020820280368337509192915050565b73ffffffffffffffffffffffffffffffffffffffff81168114615114575f5ffd5b50565b5f5f60408385031215615128575f5ffd5b8235615133816150f3565b946020939093013593505050565b7fffffffff0000000000000000000000000000000000000000000000000000000081168114615114575f5ffd5b5f6020828403121561517e575f5ffd5b81356129ce81615141565b6fffffffffffffffffffffffffffffffff81168114615114575f5ffd5b8060020b8114615114575f5ffd5b5f5f5f5f608085870312156151c7575f5ffd5b8435935060208501356151d981615189565b925060408501356151e9816151a6565b915060608501356151f9816151a6565b939692955090935050565b60a0810181845f5b600481101561522b57815183526020928301929091019060010161520c565b5050508260808301529392505050565b5f5f83601f84011261524b575f5ffd5b50813567ffffffffffffffff811115615262575f5ffd5b6020830191508360208260051b85010111156150ce575f5ffd5b5f5f83601f84011261528c575f5ffd5b50813567ffffffffffffffff8111156152a3575f5ffd5b6020830191508360208285010111156150ce575f5ffd5b5f5f5f5f5f5f5f5f60a0898b0312156152d1575f5ffd5b88356152dc816150f3565b975060208901356152ec816150f3565b9650604089013567ffffffffffffffff811115615307575f5ffd5b6153138b828c0161523b565b909750955050606089013567ffffffffffffffff811115615332575f5ffd5b61533e8b828c0161523b565b909550935050608089013567ffffffffffffffff81111561535d575f5ffd5b6153698b828c0161527c565b999c989b5096995094979396929594505050565b5f5f5f5f5f5f5f60e0888a031215615393575f5ffd5b873561539e816150f3565b965060208801356153ae816150f3565b95506040880135945060608801356153c5816151a6565b935060808801356153d5816151a6565b925060a08801356153e5816151a6565b96999598509396929591949193505060c09091013590565b5f6020828403121561540d575f5ffd5b813567ffffffffffffffff811681146129ce575f5ffd5b5f5f5f5f60408587031215615437575f5ffd5b843567ffffffffffffffff81111561544d575f5ffd5b6154598782880161523b565b909550935050602085013567ffffffffffffffff811115615478575f5ffd5b6154848782880161523b565b95989497509550505050565b602080825282518282018190525f918401906040840190835b818110156154c75783518352602093840193909201916001016154a9565b509095945050505050565b8015158114615114575f5ffd5b5f5f604083850312156154f0575f5ffd5b82356154fb816150f3565b9150602083013561550b816154d2565b809150509250929050565b5f5f5f5f5f60a0868803121561552a575f5ffd5b8535615535816150f3565b94506020860135615545816150f3565b935060408601359250606086013561555c816151a6565b9150608086013561556c816151a6565b809150509295509295909350565b5f5f6020838503121561558b575f5ffd5b823567ffffffffffffffff8111156155a1575f5ffd5b6155ad8582860161523b565b90969095509350505050565b5f81518084528060208401602086015e5f6020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b8281101561567a577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08786030184526156658583516155b9565b9450602093840193919091019060010161562b565b50929695505050505050565b62ffffff81168114615114575f5ffd5b5f5f5f606084860312156156a8575f5ffd5b83356156b3816150f3565b925060208401356156c3816150f3565b915060408401356156d381615686565b809150509250925092565b5f602082840312156156ee575f5ffd5b81356129ce816150f3565b5f5f5f5f6060858703121561570c575f5ffd5b8435935060208501359250604085013567ffffffffffffffff811115615730575f5ffd5b6154848782880161527c565b5f5f6040838503121561574d575f5ffd5b8235615758816150f3565b9150602083013561550b816150f3565b5f5f5f5f5f5f60a0878903121561577d575f5ffd5b8635615788816150f3565b95506020870135615798816150f3565b94506040870135935060608701359250608087013567ffffffffffffffff8111156157c1575f5ffd5b6157cd89828a0161527c565b979a9699509497509295939492505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f6020828403121561581c575f5ffd5b5051919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f5f83357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112615883575f5ffd5b83018035915067ffffffffffffffff82111561589d575f5ffd5b6020019150368190038213156150ce575f5ffd5b818382375f9101908152919050565b5f602082840312156158d0575f5ffd5b81516129ce816150f3565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f60208284031215615918575f5ffd5b81516129ce816151a6565b6040516060810167ffffffffffffffff8111828210171561596b577f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b60405290565b5f818303608081128015615983575f5ffd5b506040805190810167ffffffffffffffff811182821017156159cc577f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b60405260608212156159dc575f5ffd5b6159e4615923565b915083356159f1816150f3565b82526020840135615a01816150f3565b60208301526040840135615a1481615686565b6040830152908152606083013590615a2b826150f3565b60208101919091529392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b818103818111156106af576106af615a3a565b5f8260020b80615a8c57615a8c6158db565b808360020b0791505092915050565b600f82810b9082900b037fffffffffffffffffffffffffffffffff8000000000000000000000000000000081126f7fffffffffffffffffffffffffffffff821317156106af576106af615a3a565b805161ffff81168114613dff575f5ffd5b5f5f5f5f5f5f5f60e0888a031215615b10575f5ffd5b8751615b1b816150f3565b6020890151909750615b2c816151a6565b9550615b3a60408901615ae9565b9450615b4860608901615ae9565b9350615b5660808901615ae9565b925060a088015160ff81168114615b6b575f5ffd5b60c0890151909250615b7c816154d2565b8091505092959891949750929550565b8183525f7f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff831115615bbc575f5ffd5b8260051b80836020870137939093016020019392505050565b604081525f615be8604083018688615b8c565b8281036020840152612615818587615b8c565b81835281816020850137505f602082840101525f60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b73ffffffffffffffffffffffffffffffffffffffff8916815273ffffffffffffffffffffffffffffffffffffffff8816602082015260a060408201525f615c8d60a08301888a615b8c565b8281036060840152615ca0818789615b8c565b90508281036080840152613d19818587615bfb565b5f60208284031215615cc5575f5ffd5b81516129ce81615141565b808201808211156106af576106af615a3a565b73ffffffffffffffffffffffffffffffffffffffff8716815273ffffffffffffffffffffffffffffffffffffffff8616602082015284604082015283606082015260a060808201525f615d3a60a083018486615bfb565b98975050505050505050565b80820281158282048414176106af576106af615a3a565b6fffffffffffffffffffffffffffffffff81811683821601908111156106af576106af615a3a565b6fffffffffffffffffffffffffffffffff82811682821603908111156106af576106af615a3a565b5f60208284031215615dbd575f5ffd5b81516129ce81615686565b73ffffffffffffffffffffffffffffffffffffffff86168152841515602082015283604082015273ffffffffffffffffffffffffffffffffffffffff8316606082015260a060808201525f61261560a08301846155b9565b5f5f60408385031215615e31575f5ffd5b505080516020909101519092909150565b73ffffffffffffffffffffffffffffffffffffffff861681528460020b60208201528360020b60408201526fffffffffffffffffffffffffffffffff8316606082015260a060808201525f61261560a08301846155b9565b5f5f60408385031215615eab575f5ffd5b8251615eb681615189565b602084015190925061550b81615189565b5f5f5f5f5f60a08688031215615edb575f5ffd5b8551615ee681615189565b6020870151604088015160608901519297509095509350615f0681615189565b608087015190925061556c81615189565b5f8260020b8260020b028060020b9150808214610e7d57610e7d615a3a565b5f8160020b8360020b80615f4c57615f4c6158db565b5f1981147fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80000083141615615f8157615f81615a3a565b90059392505050565b62ffffff8181168382160290811690818114610e7d57610e7d615a3a56fea26469706673582212208acb376c6226414847a7d34667d6a4deaf1ab1e1d37febd066d95b5bedf82fb664736f6c634300081c00330000000000000000000000001f98400000000000000000000000000000000003000000000000000000000000000000000000000000000071d75ab9b9205000000000000000000000000000000000000000000000000000000000000000002710000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

Signatures

0xc16a91fffb3115dabcfdedd5ef1e80c6094538a264ec15e01c71a2fa4e73a75312a3a6666a6c8ec931ab35c89fff73fc4de0b3ede472b6d217a419bf3f6155961c3cc67684d917b0e7cd96ec79a9106da9b20dafa1ddc7103eb818f9d7b0c5f8115fa4afc019e6964de6c1c524d617e15d2b6f453355b4fb1857bafdc7b81fe54a1bf237104f1b1a684cc411852338d0264478baabb0eafa80474076952aa98b815b5272da4f6d6272ed2cf10edee5c3acf08075eda24bb979ebc7a3ff4a58d5c2151b