0x60a06040523060805234801562000014575f80fd5b506200001f62000025565b620000d9565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff1615620000765760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b0390811614620000d65780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b6080516131fe620001005f395f818161157b015281816115a4015261172401526131fe5ff3fe6080604052600436106101b2575f3560e01c8063649a5ec7116100e7578063b6a5e52d11610087578063cefc142911610062578063cefc14291461062c578063cf6eefb714610640578063d547741f14610686578063d602b9fd146106a5575f80fd5b8063b6a5e52d14610543578063be33197814610562578063cc8463c814610618575f80fd5b806391d14854116100c257806391d1485414610445578063a1eda53c146104a8578063a217fddf146104db578063ad3cb1cc146104ee575f80fd5b8063649a5ec7146103c257806384ef8ffc146103e15780638da5cb5b14610431575f80fd5b806336568abe116101525780634f1ef2861161012d5780634f1ef2861461035d57806352d1902d146103705780635703e43414610384578063634e93da146103a3575f80fd5b806336568abe146102db5780633c6f7179146102fa5780633d75e4511461032a575f80fd5b80630bf5d35e1161018d5780630bf5d35e1461022f5780631c20fadd14610242578063248a9ca3146102615780632f2ff15d146102bc575f80fd5b806301ffc9a7146101bd578063022d63fb146101f15780630aa6220b14610219575f80fd5b366101b957005b5f80fd5b3480156101c8575f80fd5b506101dc6101d736600461268f565b6106b9565b60405190151581526020015b60405180910390f35b3480156101fc575f80fd5b50620697805b60405165ffffffffffff90911681526020016101e8565b348015610224575f80fd5b5061022d6106fc565b005b61022d61023d3660046126ca565b610711565b34801561024d575f80fd5b5061022d61025c3660046126fc565b6108a4565b34801561026c575f80fd5b506102ae61027b36600461273a565b5f9081527f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800602052604090206001015490565b6040519081526020016101e8565b3480156102c7575f80fd5b5061022d6102d6366004612751565b610a47565b3480156102e6575f80fd5b5061022d6102f5366004612751565b610a73565b348015610305575f80fd5b5061031961031436600461277f565b610b75565b6040516101e895949392919061286b565b348015610335575f80fd5b506102ae7fc809a7fd521f10cdc3c068621a1c61d5fd9bb3f1502a773e53811bc248d919a881565b61022d61036b36600461294a565b610f65565b34801561037b575f80fd5b506102ae610f80565b34801561038f575f80fd5b5061022d61039e366004612a60565b610fae565b3480156103ae575f80fd5b5061022d6103bd366004612ac7565b610fcb565b3480156103cd575f80fd5b5061022d6103dc366004612afc565b610fde565b3480156103ec575f80fd5b507feef3dac4538c82c8ace4063ab0acd2d15cdb5883aa1dff7c2673abb3d8698401546001600160a01b03165b6040516001600160a01b0390911681526020016101e8565b34801561043c575f80fd5b50610419610ff1565b348015610450575f80fd5b506101dc61045f366004612751565b5f9182527f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800602090815260408084206001600160a01b0393909316845291905290205460ff1690565b3480156104b3575f80fd5b506104bc611028565b6040805165ffffffffffff9384168152929091166020830152016101e8565b3480156104e6575f80fd5b506102ae5f81565b3480156104f9575f80fd5b506105366040518060400160405280600581526020017f352e302e3000000000000000000000000000000000000000000000000000000081525081565b6040516101e89190612b15565b34801561054e575f80fd5b5061022d61055d366004612b27565b6110aa565b34801561056d575f80fd5b506105df61057c366004612ac7565b60408051606080820183525f80835260208084018290529284018190526001600160a01b03948516815280835283902083519182018452805463ffffffff8116835264010000000090048516928201929092526001909101549092169082015290565b60408051825163ffffffff1681526020808401516001600160a01b039081169183019190915292820151909216908201526060016101e8565b348015610623575f80fd5b5061020261122a565b348015610637575f80fd5b5061022d6112b8565b34801561064b575f80fd5b505f805160206131a983398151915254604080516001600160a01b0383168152600160a01b90920465ffffffffffff166020830152016101e8565b348015610691575f80fd5b5061022d6106a0366004612751565b6112fa565b3480156106b0575f80fd5b5061022d611322565b5f6001600160e01b031982167f314987860000000000000000000000000000000000000000000000000000000014806106f657506106f682611334565b92915050565b5f6107068161139a565b61070e6113a4565b50565b7fc809a7fd521f10cdc3c068621a1c61d5fd9bb3f1502a773e53811bc248d919a861073b8161139a565b5f805f805f61074a8989610b75565b945094509450945094508287111561078e576040517f95d2fadd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b834710156107c8576040517faec6175a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6107dc6001600160a01b038a16868a6113b0565b5f856001600160a01b031663cbef2aa9868585306040518563ffffffff1660e01b815260040161080e93929190612bb4565b5f6040518083038185885af1158015610829573d5f803e3d5ffd5b50505050506040513d5f823e601f3d908101601f191682016040526108519190810190612cca565b92505050896001600160a01b03167fe80703b9d39d09d58bef629ae1125035c47d1da0342880315557c8ca9a2151cb8a83604051610890929190612d80565b60405180910390a250505050505050505050565b5f6108ae8161139a565b6001600160a01b0383166108d557604051632a9ffab760e21b815260040160405180910390fd5b6001600160a01b03841661099d57815f036108ee574791505b815f0361090e5760405163c740c32d60e01b815260040160405180910390fd5b5f836001600160a01b0316836040515f6040518083038185875af1925050503d805f8114610957576040519150601f19603f3d011682016040523d82523d5f602084013e61095c565b606091505b5050905080610997576040517f4c0f503e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50610a41565b815f03610a0d576040516370a0823160e01b81523060048201526001600160a01b038516906370a0823190602401602060405180830381865afa1580156109e6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a0a9190612db6565b91505b815f03610a2d5760405163c740c32d60e01b815260040160405180910390fd5b610a416001600160a01b03851684846114b0565b50505050565b81610a6557604051631fe1e13d60e11b815260040160405180910390fd5b610a6f82826114e1565b5050565b5f805160206131a983398151915282158015610abb57507feef3dac4538c82c8ace4063ab0acd2d15cdb5883aa1dff7c2673abb3d8698401546001600160a01b038381169116145b15610b66575f805160206131a9833981519152546001600160a01b03811690600160a01b900465ffffffffffff1681151580610afd575065ffffffffffff8116155b80610b1057504265ffffffffffff821610155b15610b3d576040516319ca5ebb60e01b815265ffffffffffff821660048201526024015b60405180910390fd5b505080547fffffffffffff000000000000ffffffffffffffffffffffffffffffffffffffff1681555b610b708383611524565b505050565b5f805f610bbd6040518060e001604052805f63ffffffff1681526020015f80191681526020015f81526020015f81526020016060815260200160608152602001606081525090565b604080518082019091525f80825260208201526001600160a01b0387161580610be4575085155b15610c0257604051632a9ffab760e21b815260040160405180910390fd5b6040516370a0823160e01b815230600482015286906001600160a01b038916906370a0823190602401602060405180830381865afa158015610c46573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c6a9190612db6565b1015610ca2576040517ff4d678b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038088165f90815260208181526040918290208251606081018452815463ffffffff811682526401000000009004851692810183905260019091015490931691830191909152610d25576040517f3df3d86f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604081810151815160e081018352835163ffffffff1681526020808501516001600160a01b0316818301528184018b9052606082018b905283515f808252818301865260808401919091528451908152808201855260a083015283516001808252818601909552929950909260c0840192918201818036833750505090526040517f0d35b4150000000000000000000000000000000000000000000000000000000081529093505f906001600160a01b03881690630d35b41590610ded908790600401612dcd565b5f60405180830381865afa158015610e07573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610e2e9190810190612ddf565b6020810180516060890152516040517f3b6f743b0000000000000000000000000000000000000000000000000000000081529098509093506001600160a01b038a169250633b6f743b9150610e899087905f90600401612f0f565b6040805180830381865afa158015610ea3573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ec79190612f32565b9250825f015195505f6001600160a01b0316876001600160a01b031663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f15573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f399190612f4c565b6001600160a01b031603610f59576040840151610f569087612f7b565b95505b50509295509295909350565b610f6d611570565b610f7682611627565b610a6f8282611631565b5f610f89611719565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b5f610fb88161139a565b610fc485858585611762565b5050505050565b5f610fd58161139a565b610a6f82611a19565b5f610fe88161139a565b610a6f82611a8b565b5f6110237feef3dac4538c82c8ace4063ab0acd2d15cdb5883aa1dff7c2673abb3d8698401546001600160a01b031690565b905090565b7feef3dac4538c82c8ace4063ab0acd2d15cdb5883aa1dff7c2673abb3d8698401545f90600160d01b900465ffffffffffff165f805160206131a9833981519152811580159061108057504265ffffffffffff831610155b61108b575f806110a1565b6001810154600160a01b900465ffffffffffff16825b92509250509091565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000810460ff16159067ffffffffffffffff165f811580156110f45750825b90505f8267ffffffffffffffff1660011480156111105750303b155b90508115801561111e575080155b15611155576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561118957845468ff00000000000000001916680100000000000000001785555b6111938b33611afa565b61119b611b0c565b6111c57fc809a7fd521f10cdc3c068621a1c61d5fd9bb3f1502a773e53811bc248d919a88b611b14565b506111d289898989611762565b831561121d57845468ff000000000000000019168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050505050505050565b7feef3dac4538c82c8ace4063ab0acd2d15cdb5883aa1dff7c2673abb3d8698401545f905f805160206131a983398151915290600160d01b900465ffffffffffff16801580159061128257504265ffffffffffff8216105b61129c578154600160d01b900465ffffffffffff166112b1565b6001820154600160a01b900465ffffffffffff165b9250505090565b5f805160206131a9833981519152546001600160a01b03163381146112f257604051636116401160e11b8152336004820152602401610b34565b61070e611bbe565b8161131857604051631fe1e13d60e11b815260040160405180910390fd5b610a6f8282611c96565b5f61132c8161139a565b61070e611cd9565b5f6001600160e01b031982167f7965db0b0000000000000000000000000000000000000000000000000000000014806106f657507f01ffc9a7000000000000000000000000000000000000000000000000000000006001600160e01b03198316146106f6565b61070e8133611ce3565b6113ae5f80611d6f565b565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f095ea7b30000000000000000000000000000000000000000000000000000000017905261142f8482611e80565b610a41576040516001600160a01b0384811660248301525f60448301526114a691869182169063095ea7b3906064015b604051602081830303815290604052915060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050611f21565b610a418482611f21565b6040516001600160a01b03838116602483015260448201839052610b7091859182169063a9059cbb9060640161145f565b5f8281527f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800602052604090206001015461151a8161139a565b610a418383611b14565b6001600160a01b0381163314611566576040517f6697b23200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610b708282611f9b565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148061160957507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166115fd7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b031614155b156113ae5760405163703e46dd60e11b815260040160405180910390fd5b5f610a6f8161139a565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801561168b575060408051601f3d908101601f1916820190925261168891810190612db6565b60015b6116b357604051634c9c8ce360e01b81526001600160a01b0383166004820152602401610b34565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc811461170f576040517faa1d49a400000000000000000000000000000000000000000000000000000000815260048101829052602401610b34565b610b708383612013565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146113ae5760405163703e46dd60e11b815260040160405180910390fd5b8281811461179c576040517fa24a13a600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b818110156119d4575f8686838181106117b9576117b9612f8e565b90506020020160208101906117ce9190612ac7565b6001600160a01b0316148061181457505f8484838181106117f1576117f1612f8e565b90506060020160200160208101906118099190612ac7565b6001600160a01b0316145b8061185057505f84848381811061182d5761182d612f8e565b90506060020160400160208101906118459190612ac7565b6001600160a01b0316145b1561186e57604051632a9ffab760e21b815260040160405180910390fd5b85858281811061188057611880612f8e565b90506020020160208101906118959190612ac7565b6001600160a01b03168484838181106118b0576118b0612f8e565b90506060020160400160208101906118c89190612ac7565b6001600160a01b031663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611903573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119279190612f4c565b6001600160a01b031614611967576040517fb0fcd49500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b83838281811061197957611979612f8e565b9050606002015f8088888581811061199357611993612f8e565b90506020020160208101906119a89190612ac7565b6001600160a01b0316815260208101919091526040015f206119ca8282612fb3565b505060010161179e565b507fd9ff2f11405f70248dd845c1310ceb089c99cb9fa3e609d251cf0e45b2b88c9c85858585604051611a0a949392919061306a565b60405180910390a15050505050565b5f611a2261122a565b611a2b42612068565b611a359190613130565b9050611a4182826120b7565b60405165ffffffffffff821681526001600160a01b038316907f3377dc44241e779dd06afab5b788a35ca5f3b778836e2990bdb26a2a4b2e5ed69060200160405180910390a25050565b5f611a9582612140565b611a9e42612068565b611aa89190613130565b9050611ab48282611d6f565b6040805165ffffffffffff8085168252831660208201527ff1038c18cf84a56e432fdbfaf746924b7ea511dfe03a6506a0ceba4888788d9b910160405180910390a15050565b611b0261218e565b610a6f82826121f5565b6113ae61218e565b5f5f805160206131a983398151915283611bac575f611b5a7feef3dac4538c82c8ace4063ab0acd2d15cdb5883aa1dff7c2673abb3d8698401546001600160a01b031690565b6001600160a01b031614611b8157604051631fe1e13d60e11b815260040160405180910390fd5b60018101805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0385161790555b611bb6848461226e565b949350505050565b5f805160206131a983398151915280546001600160a01b03811690600160a01b900465ffffffffffff16801580611bfd57504265ffffffffffff821610155b15611c25576040516319ca5ebb60e01b815265ffffffffffff82166004820152602401610b34565b611c5f5f611c5a7feef3dac4538c82c8ace4063ab0acd2d15cdb5883aa1dff7c2673abb3d8698401546001600160a01b031690565b611f9b565b50611c6a5f83611b14565b505081547fffffffffffff00000000000000000000000000000000000000000000000000001690915550565b5f8281527f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b6268006020526040902060010154611ccf8161139a565b610a418383611f9b565b6113ae5f806120b7565b5f8281527f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800602090815260408083206001600160a01b038516845290915290205460ff16610a6f576040517fe2517d3f0000000000000000000000000000000000000000000000000000000081526001600160a01b038216600482015260248101839052604401610b34565b7feef3dac4538c82c8ace4063ab0acd2d15cdb5883aa1dff7c2673abb3d8698401545f805160206131a983398151915290600160d01b900465ffffffffffff168015611e2f574265ffffffffffff82161015611e06576001820154825479ffffffffffffffffffffffffffffffffffffffffffffffffffff16600160a01b90910465ffffffffffff16600160d01b02178255611e2f565b6040517f2b1fa2edafe6f7b9e97c1a9e0c3660e645beb2dcaa2d45bdbf9beaf5472e1ec5905f90a15b5060010180546001600160a01b0316600160a01b65ffffffffffff9485160279ffffffffffffffffffffffffffffffffffffffffffffffffffff1617600160d01b9290931691909102919091179055565b5f805f846001600160a01b031684604051611e9b919061314f565b5f604051808303815f865af19150503d805f8114611ed4576040519150601f19603f3d011682016040523d82523d5f602084013e611ed9565b606091505b5091509150818015611f03575080511580611f03575080806020019051810190611f03919061316a565b8015611f1857505f856001600160a01b03163b115b95945050505050565b5f611f356001600160a01b03841683612341565b905080515f14158015611f59575080806020019051810190611f57919061316a565b155b15610b70576040517f5274afe70000000000000000000000000000000000000000000000000000000081526001600160a01b0384166004820152602401610b34565b5f5f805160206131a983398151915283158015611fe457507feef3dac4538c82c8ace4063ab0acd2d15cdb5883aa1dff7c2673abb3d8698401546001600160a01b038481169116145b156120095760018101805473ffffffffffffffffffffffffffffffffffffffff191690555b611bb6848461234e565b61201c826123f2565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a280511561206057610b708282612475565b610a6f6124de565b5f65ffffffffffff8211156120b3576040517f6dfcc6500000000000000000000000000000000000000000000000000000000081526030600482015260248101839052604401610b34565b5090565b5f805160206131a98339815191528054600160a01b65ffffffffffff84811682027fffffffffffff000000000000000000000000000000000000000000000000000084166001600160a01b038816171784559104168015610a41576040517f8886ebfc4259abdbc16601dd8fb5678e54878f47b3c34836cfc51154a9605109905f90a150505050565b5f8061214a61122a565b90508065ffffffffffff168365ffffffffffff16116121725761216d8382613189565b612187565b61218765ffffffffffff841662069780612516565b9392505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005468010000000000000000900460ff166113ae576040517fd7e6bcf800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6121fd61218e565b5f805160206131a98339815191526001600160a01b03821661223457604051636116401160e11b81525f6004820152602401610b34565b805479ffffffffffffffffffffffffffffffffffffffffffffffffffff16600160d01b65ffffffffffff851602178155610a415f83611b14565b5f8281527f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800602081815260408084206001600160a01b038616855290915282205460ff16612331575f848152602082815260408083206001600160a01b03871684529091529020805460ff191660011790556122e73390565b6001600160a01b0316836001600160a01b0316857f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a460019150506106f6565b5f9150506106f6565b5092915050565b606061218783835f61252b565b5f8281527f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800602081815260408084206001600160a01b038616855290915282205460ff1615612331575f848152602082815260408083206001600160a01b0387168085529252808320805460ff1916905551339287917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a460019150506106f6565b806001600160a01b03163b5f0361242757604051634c9c8ce360e01b81526001600160a01b0382166004820152602401610b34565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b60605f80846001600160a01b031684604051612491919061314f565b5f60405180830381855af49150503d805f81146124c9576040519150601f19603f3d011682016040523d82523d5f602084013e6124ce565b606091505b5091509150611f188583836125dd565b34156113ae576040517fb398979f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8183106125245781612187565b5090919050565b606081471015612569576040517fcd786059000000000000000000000000000000000000000000000000000000008152306004820152602401610b34565b5f80856001600160a01b03168486604051612584919061314f565b5f6040518083038185875af1925050503d805f81146125be576040519150601f19603f3d011682016040523d82523d5f602084013e6125c3565b606091505b50915091506125d38683836125dd565b9695505050505050565b6060826125ed5761216d8261264d565b815115801561260457506001600160a01b0384163b155b15612646576040517f9996b3150000000000000000000000000000000000000000000000000000000081526001600160a01b0385166004820152602401610b34565b5080612187565b80511561265d5780518082602001fd5b6040517f1425ea4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f6020828403121561269f575f80fd5b81356001600160e01b031981168114612187575f80fd5b6001600160a01b038116811461070e575f80fd5b5f805f606084860312156126dc575f80fd5b83356126e7816126b6565b95602085013595506040909401359392505050565b5f805f6060848603121561270e575f80fd5b8335612719816126b6565b92506020840135612729816126b6565b929592945050506040919091013590565b5f6020828403121561274a575f80fd5b5035919050565b5f8060408385031215612762575f80fd5b823591506020830135612774816126b6565b809150509250929050565b5f8060408385031215612790575f80fd5b823561279b816126b6565b946020939093013593505050565b5f5b838110156127c35781810151838201526020016127ab565b50505f910152565b5f81518084526127e28160208601602086016127a9565b601f01601f19169290920160200192915050565b63ffffffff81511682526020810151602083015260408101516040830152606081015160608301525f608082015160e0608085015261283860e08501826127cb565b905060a083015184820360a086015261285182826127cb565b91505060c083015184820360c0860152611f1882826127cb565b6001600160a01b038616815284602082015283604082015260c060608201525f61289860c08301856127f6565b83516080840152602084015160a084015290509695505050505050565b634e487b7160e01b5f52604160045260245ffd5b6040805190810167ffffffffffffffff811182821017156128ec576128ec6128b5565b60405290565b604051601f8201601f1916810167ffffffffffffffff8111828210171561291b5761291b6128b5565b604052919050565b5f67ffffffffffffffff82111561293c5761293c6128b5565b50601f01601f191660200190565b5f806040838503121561295b575f80fd5b8235612966816126b6565b9150602083013567ffffffffffffffff811115612981575f80fd5b8301601f81018513612991575f80fd5b80356129a461299f82612923565b6128f2565b8181528660208385010111156129b8575f80fd5b816020840160208301375f602083830101528093505050509250929050565b5f8083601f8401126129e7575f80fd5b50813567ffffffffffffffff8111156129fe575f80fd5b6020830191508360208260051b8501011115612a18575f80fd5b9250929050565b5f8083601f840112612a2f575f80fd5b50813567ffffffffffffffff811115612a46575f80fd5b602083019150836020606083028501011115612a18575f80fd5b5f805f8060408587031215612a73575f80fd5b843567ffffffffffffffff80821115612a8a575f80fd5b612a96888389016129d7565b90965094506020870135915080821115612aae575f80fd5b50612abb87828801612a1f565b95989497509550505050565b5f60208284031215612ad7575f80fd5b8135612187816126b6565b803565ffffffffffff81168114612af7575f80fd5b919050565b5f60208284031215612b0c575f80fd5b61218782612ae2565b602081525f61218760208301846127cb565b5f805f805f8060808789031215612b3c575f80fd5b612b4587612ae2565b95506020870135612b55816126b6565b9450604087013567ffffffffffffffff80821115612b71575f80fd5b612b7d8a838b016129d7565b90965094506060890135915080821115612b95575f80fd5b50612ba289828a01612a1f565b979a9699509497509295939492505050565b608081525f612bc660808301866127f6565b9050612bdf602083018580518252602090810151910152565b6001600160a01b0383166060830152949350505050565b5f60408284031215612c06575f80fd5b612c0e6128c9565b9050815181526020820151602082015292915050565b5f612c3161299f84612923565b9050828152838383011115612c44575f80fd5b6121878360208301846127a9565b5f60408284031215612c62575f80fd5b612c6a6128c9565b9050815168ffffffffffffffffff81168114612c84575f80fd5b8152602082015167ffffffffffffffff811115612c9f575f80fd5b8201601f81018413612caf575f80fd5b612cbe84825160208401612c24565b60208301525092915050565b5f805f83850360e0811215612cdd575f80fd5b6080811215612cea575f80fd5b506040516060810167ffffffffffffffff8282108183111715612d0f57612d0f6128b5565b8160405286518352602087015191508082168214612d2b575f80fd5b816020840152612d3e8860408901612bf6565b6040840152829550612d538860808901612bf6565b945060c0870151925080831115612d68575f80fd5b5050612d7686828701612c52565b9150509250925092565b8281526040602082015268ffffffffffffffffff82511660408201525f602083015160406060840152611f1860808401826127cb565b5f60208284031215612dc6575f80fd5b5051919050565b602081525f61218760208301846127f6565b5f805f60a08486031215612df1575f80fd5b612dfb8585612bf6565b9250604084015167ffffffffffffffff80821115612e17575f80fd5b818601915086601f830112612e2a575f80fd5b8151602082821115612e3e57612e3e6128b5565b8160051b612e4d8282016128f2565b928352848101820192828101908b851115612e66575f80fd5b83870192505b84831015612eef57825186811115612e82575f80fd5b87016040818e03601f19011215612e97575f80fd5b612e9f6128c9565b858201518152604082015188811115612eb6575f80fd5b8083019250508d603f830112612eca575f80fd5b612edb8e8784015160408501612c24565b818701528352509183019190830190612e6c565b80985050505050505050612f068560608601612bf6565b90509250925092565b604081525f612f2160408301856127f6565b905082151560208301529392505050565b5f60408284031215612f42575f80fd5b6121878383612bf6565b5f60208284031215612f5c575f80fd5b8151612187816126b6565b634e487b7160e01b5f52601160045260245ffd5b808201808211156106f6576106f6612f67565b634e487b7160e01b5f52603260045260245ffd5b63ffffffff8116811461070e575f80fd5b8135612fbe81612fa2565b63ffffffff8116905081548163ffffffff1982161783556020840135612fe3816126b6565b77ffffffffffffffffffffffffffffffffffffffff000000008160201b16837fffffffffffffffff00000000000000000000000000000000000000000000000084161717845550505060018101604083013561303e816126b6565b6001600160a01b03811673ffffffffffffffffffffffffffffffffffffffff1983541617825550505050565b60408082528181018590525f90606080840188845b898110156130b0578135613092816126b6565b6001600160a01b03168352602092830192919091019060010161307f565b5050848103602086810191909152868252879181015f5b888110156131215783356130da81612fa2565b63ffffffff168252838301356130ef816126b6565b6001600160a01b0390811683850152848701359061310c826126b6565b168287015292840192908401906001016130c7565b509a9950505050505050505050565b65ffffffffffff81811683821601908082111561233a5761233a612f67565b5f82516131608184602087016127a9565b9190910192915050565b5f6020828403121561317a575f80fd5b81518015158114612187575f80fd5b65ffffffffffff82811682821603908082111561233a5761233a612f6756feeef3dac4538c82c8ace4063ab0acd2d15cdb5883aa1dff7c2673abb3d8698400a26469706673582212205cd7f705e8285cb58790535659ccb88ef5d7f758855bdbb61fa88d61d935707a64736f6c63430008180033