0x60806040526004361061026d5763ffffffff60e060020a600035041662bfd441811461027257806307da68f5146102995780630a3dfba7146102ae5780630bc142c6146102c85780631d2a6dcf146102e35780631e466eee1461030f57806326bdce711461032457806328acb0021461034f578063291ed7731461037057806329b20bb6146103a157806330aaed53146103bc5780633728bec2146103d15780633c3c22b3146104225780633ccfd60b146104505780634afe49c2146104655780634f255b801461047a5780635c4c4a1814610498578063603709e3146104c857806361b8ce8c146105a157806372ad21c7146105b6578063772ca5b8146105d4578063773e1e84146105e957806379502c551461060e578063797e2aec1461063f57806383197ef01461064d578063851ad4d6146106625780638da5cb5b146106775780638f4ffcb11461068c5780639271a988146106fc5780639ced242b14610711578063a050d07d14610726578063a9689b4f146106fc578063ad389d5d1461073b578063ad70ae1a14610770578063b066ef3c14610785578063b0eee8db146107a3578063b32dbcd8146107b8578063c10435cc146107cd578063c1255299146107e2578063c2052403146107f7578063d0f9bad11461080c578063d39512b814610821578063d9f8695014610836578063db8d55f114610856578063dc9bb7db1461086b578063e4b971f814610880578063e9fad8ee1461089e578063f10e2ec1146108b3578063f1be42f1146108c8578063f2fde38b146108dd578063f5074f41146108fe578063f690648d1461091f578063fac333ac14610934578063fbe6529f1461094c575b600080fd5b34801561027e57600080fd5b5061029763ffffffff6004351661ffff60243516610961565b005b3480156102a557600080fd5b50610297610cb4565b610297600160a060020a036004351660ff60243516610ce5565b3480156102d457600080fd5b5061029760ff60043516610ede565b3480156102ef57600080fd5b506102f8610f49565b6040805161ffff9092168252519081900360200190f35b34801561031b57600080fd5b50610297610f81565b34801561033057600080fd5b50610339611577565b6040805160ff9092168252519081900360200190f35b34801561035b57600080fd5b506102976001608060020a036004351661157c565b34801561037c57600080fd5b50610385611601565b604080516001608060020a039092168252519081900360200190f35b3480156103ad57600080fd5b506102f860ff60043516611618565b3480156103c857600080fd5b5061033961162e565b3480156103dd57600080fd5b506103ef63ffffffff60043516611633565b6040805160ff90941684526001608060020a039092166020840152600160a060020a031682820152519081900360600190f35b34801561042e57600080fd5b50610437611672565b6040805163ffffffff9092168252519081900360200190f35b34801561045c57600080fd5b50610297611685565b34801561047157600080fd5b506102f86118cd565b34801561048657600080fd5b506102f863ffffffff600435166118d3565b3480156104a457600080fd5b506104b663ffffffff6004351661193f565b60408051918252519081900360200190f35b3480156104d457600080fd5b506104e461ffff60043516611951565b604051808561014080838360005b8381101561050a5781810151838201526020016104f2565b5050505090500184600a60200280838360005b8381101561053557818101518382015260200161051d565b5050505090500183600a60200280838360005b83811015610560578181015183820152602001610548565b5050505090500182600a60200280838360005b8381101561058b578181015183820152602001610573565b5050505090500194505050505060405180910390f35b3480156105ad57600080fd5b50610437611af8565b3480156105c257600080fd5b5061033963ffffffff60043516611b04565b3480156105e057600080fd5b50610339611b19565b3480156105f557600080fd5b5061029763ffffffff6004351661ffff60243516611b29565b34801561061a57600080fd5b50610623612933565b60408051600160a060020a039092168252519081900360200190f35b61029760ff60043516612942565b34801561065957600080fd5b506102976129a3565b34801561066e57600080fd5b506102f86129c8565b34801561068357600080fd5b506106236129fb565b34801561069857600080fd5b50604080516020601f60643560048181013592830184900484028501840190955281845261029794600160a060020a03813581169560248035966044359093169536956084949201918190840183828082843750949750612a0a9650505050505050565b34801561070857600080fd5b5061033961322f565b34801561071d57600080fd5b50610339613234565b34801561073257600080fd5b506102f8613239565b34801561074757600080fd5b5061075c60ff6004358116906024351661326d565b604080519115158252519081900360200190f35b34801561077c57600080fd5b50610339613360565b34801561079157600080fd5b506104b663ffffffff60043516613365565b3480156107af57600080fd5b50610339613377565b3480156107c457600080fd5b506102f861337c565b3480156107d957600080fd5b506104b66133b0565b3480156107ee57600080fd5b506103396133b6565b34801561080357600080fd5b506102976133bb565b34801561081857600080fd5b50610339613593565b34801561082d57600080fd5b50610339613598565b34801561084257600080fd5b50610297600480356024810191013561359d565b34801561086257600080fd5b506104b6613636565b34801561087757600080fd5b506104376118cd565b34801561088c57600080fd5b5061029763ffffffff600435166136cf565b3480156108aa57600080fd5b50610297613c40565b3480156108bf57600080fd5b506103396142ef565b3480156108d457600080fd5b506102f86142f4565b3480156108e957600080fd5b50610297600160a060020a03600435166142fe565b34801561090a57600080fd5b50610297600160a060020a036004351661431e565b34801561092b57600080fd5b50610339614341565b34801561094057600080fd5b50610437600435614346565b34801561095857600080fd5b5061029761437e565b6000803332146109b8576040805160e560020a62461bcd02815260206004820152602480820152600080516020615b5c833981519152604482015260e260020a631d1a1bd902606482015290519081900360840190fd5b600b5461ffff908116908416101580610a1457506007805461ffff85169081106109de57fe5b90600052602060002090600891828204019190066004029054906101000a900463ffffffff1663ffffffff168463ffffffff1614155b15610a2557610a22846118d3565b92505b63ffffffff841660009081526009602052604090206001810154909250600160a060020a03163314610ac7576040805160e560020a62461bcd02815260206004820152602560248201527f6f6e6c79206f776e6572732063616e2073656c6c20746865697220636861726160448201527f6374657273000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b8154600c60ff9091161080610ae257508154600e60ff909116115b1515610b38576040805160e560020a62461bcd02815260206004820152601960248201527f62616c6c6f6f6e7320617265206e6f742073656c6c61626c6500000000000000604482015290519081900360640190fd5b60018201544260a060020a90910467ffffffffffffffff90811662015180011610610bd3576040805160e560020a62461bcd02815260206004820152603360248201527f6368617261637465722063616e20626520736f6c64206f6e6c7920312064617960448201527f2061667465722074686520707572636861736500000000000000000000000000606482015290519081900360840190fd5b508054600b805461ffff19811661ffff91821660001901821617918290556101009092046001608060020a031691610c0d918591166144b2565b60405133906001608060020a03831680156108fc02916000818181858888f19350505050158015610c42573d6000803e3d6000fd5b5060085460a860020a900463ffffffff161515610c6157610c6161437e565b6040805163ffffffff861681523360208201526001608060020a0383168183015290517fe5cc68f68d9672681158062a835b6abc2ff3fba89f8db70f3a227d4ac35da3c39181900360600190a150505050565b600054600160a060020a03163314610ccb57600080fd5b610cd3611685565b610cdb6133bb565b610ce36129a3565b565b333214610d39576040805160e560020a62461bcd02815260206004820152602480820152600080516020615b5c833981519152604482015260e260020a631d1a1bd902606482015290519081900360840190fd5b610d43828261466d565b600160009054906101000a9004600160a060020a0316600160a060020a0316632091f9556040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015610d9657600080fd5b505af1158015610daa573d6000803e3d6000fd5b505050506040513d6020811015610dc057600080fd5b5051600154604080517f5bdaa8e70000000000000000000000000000000000000000000000000000000081529051600160a060020a039384169363a9059cbb938793911691635bdaa8e7916004808201926020929091908290030181600087803b158015610e2d57600080fd5b505af1158015610e41573d6000803e3d6000fd5b505050506040513d6020811015610e5757600080fd5b50516040805160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091525160448083019260209291908290030181600087803b158015610ea657600080fd5b505af1158015610eba573d6000803e3d6000fd5b505050506040513d6020811015610ed057600080fd5b50511515610eda57fe5b5050565b600054600160a060020a03163314610ef557600080fd5b60018160ff1610158015610f0d575060648160ff1611155b1515610f1857600080fd5b6008805460ff90921660a060020a0274ff000000000000000000000000000000000000000019909216919091179055565b600060155b601a60ff821611610f7d5760ff81166000908152600c602052604090205461ffff169190910190600101610f4e565b5090565b6000808080808080606080828080333214610fe3576040805160e560020a62461bcd02815260206004820152602480820152600080516020615b5c833981519152604482015260e260020a631d1a1bd902606482015290519081900360840190fd5b600160009054906101000a9004600160a060020a0316600160a060020a031663afb7e4956040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561103657600080fd5b505af115801561104a573d6000803e3d6000fd5b505050506040513d602081101561106057600080fd5b5051600d54014210156110e3576040805160e560020a62461bcd02815260206004820152602a60248201527f6e6f7420656e6f7567682074696d65207061737365642073696e6365206c617360448201527f74206572757074696f6e00000000000000000000000000000000000000000000606482015290519081900360840190fd5b600b54600061ffff90911611611169576040805160e560020a62461bcd02815260206004820152602360248201527f746865726520617265206e6f206368617261637465727320696e20746865206760448201527f616d650000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b42600d55600b54600154604080517f11a5a793000000000000000000000000000000000000000000000000000000008152905161ffff9093169a50606492600160a060020a03909216916311a5a793916004808201926020929091908290030181600087803b1580156111db57600080fd5b505af11580156111ef573d6000803e3d6000fd5b505050506040513d602081101561120557600080fd5b505160ff16890261ffff1681151561121957fe5b0461ffff1696508761ffff1661271002620138800163ffffffff1695508663ffffffff166000141561124a57600196505b8663ffffffff1660405190808252806020026020018201604052801561127a578160200160208202803883390190505b506008546040805163ffffffff90921680835260208082028401019091529196509080156112b2578160200160208202803883390190505b50935060009250600091505b8663ffffffff168361ffff1610156113de5781806001019250508761ffff166112ee8361ffff16600d5401614f0c565b8115156112f757fe5b06995060078a61ffff1681548110151561130d57fe5b90600052602060002090600891828204019190066004029054906101000a900463ffffffff169850838963ffffffff1681518110151561134957fe5b9060200190602002015115156113d9576001848a63ffffffff1681518110151561136f57fe5b91151560209283029091019091015284518990869061ffff861690811061139257fe5b63ffffffff9092166020928302909101909101526113b28a896000614f65565b9a5060008b6001608060020a031611156113ce57600019909701965b9a8a019a6001909201915b6112be565b50600b805461ffff891661ffff199091161790556001608060020a038086163a0290818116908d1611156114c757611417818d0361508f565b7fa06ad7d0261a795ad8f33fdbef7cf65a0f9f9a825353b13358a96a750acd6b3d85828e03836040518080602001846001608060020a03166001608060020a03168152602001836001608060020a03166001608060020a03168152602001828103825285818151815260200191508051906020019060200280838360005b838110156114ad578181015183820152602001611495565b5050505090500194505050505060405180910390a1611569565b7fa06ad7d0261a795ad8f33fdbef7cf65a0f9f9a825353b13358a96a750acd6b3d856000836040518080602001846001608060020a03168152602001836001608060020a03166001608060020a03168152602001828103825285818151815260200191508051906020019060200280838360005b8381101561155357818101518382015260200161153b565b5050505090500194505050505060405180910390a15b505050505050505050505050565b600b81565b60008054600160a060020a0316331461159457600080fd5b61159c613636565b9050808267016345785d8a0000016001608060020a03161015610eda5760008054604051600160a060020a03909116916001608060020a03851680156108fc02929091818181858888f193505050501580156115fc573d6000803e3d6000fd5b505050565b60085464010000000090046001608060020a031681565b600c6020526000908152604090205461ffff1681565b600c81565b63ffffffff166000908152600960205260409020805460019091015460ff8216926101009092046001608060020a031691600160a060020a0390911690565b60085460a860020a900463ffffffff1681565b600080548190600160a060020a0316331461169f57600080fd5b6002546040805160e060020a6370a082310281523060048201529051600160a060020a03909216916370a08231916024808201926020929091908290030181600087803b1580156116ef57600080fd5b505af1158015611703573d6000803e3d6000fd5b505050506040513d602081101561171957600080fd5b5051915060008211156117d05760025460008054604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a039283166004820152602481018790529051919093169263a9059cbb9260448083019360209390929083900390910190829087803b15801561179c57600080fd5b505af11580156117b0573d6000803e3d6000fd5b505050506040513d60208110156117c657600080fd5b505115156117d057fe5b6003546040805160e060020a6370a082310281523060048201529051600160a060020a03909216916370a08231916024808201926020929091908290030181600087803b15801561182057600080fd5b505af1158015611834573d6000803e3d6000fd5b505050506040513d602081101561184a57600080fd5b505190506000811115610eda5760035460008054604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a039283166004820152602481018690529051919093169263a9059cbb9260448083019360209390929083900390910190829087803b158015610ea657600080fd5b60001981565b6000805b60075461ffff8216101561026d578263ffffffff1660078261ffff168154811015156118ff57fe5b6000918252602090912060088204015460079091166004026101000a900463ffffffff16141561193157809150611939565b6001016118d7565b50919050565b600e6020526000908152604090205481565b611959615afe565b611961615afe565b611969615afe565b611971615afe565b600b5460009081908190819061ffff908116600a8b01909116116119985788600a016119a0565b600b5461ffff165b61ffff169350600092508890505b8363ffffffff168161ffff161015611aed576007805461ffff83169081106119d257fe5b6000918252602090912060088204015460079091166004026101000a900463ffffffff169150818860ff8516600a8110611a0857fe5b63ffffffff9283166020918202929092019190915290831660009081526009909152604090205460ff9081169088908516600a8110611a4357fe5b60ff9283166020918202929092019190915263ffffffff841660009081526009909152604090205461010090046001608060020a03169087908516600a8110611a8857fe5b6001608060020a039092166020928302919091015263ffffffff8316600090815260099091526040902060010154600160a060020a03168560ff8516600a8110611ace57fe5b600160a060020a039092166020929092020152600192830192016119ae565b505050509193509193565b60085463ffffffff1681565b60106020526000908152604090205460ff1681565b60085460a060020a900460ff1681565b6000808080808080808080333214611b88576040805160e560020a62461bcd02815260206004820152602480820152600080516020615b5c833981519152604482015260e260020a631d1a1bd902606482015290519081900360840190fd5b600b5461ffff908116908c16101580611be457506007805461ffff8d16908110611bae57fe5b90600052602060002090600891828204019190066004029054906101000a900463ffffffff1663ffffffff168c63ffffffff1614155b15611bf557611bf28c6118d3565b9a505b63ffffffff8c16600090815260096020908152604080832060015482517f4597dc8e0000000000000000000000000000000000000000000000000000000081529251919e504294600160a060020a0390911693634597dc8e936004808201949293918390030190829087803b158015611c6d57600080fd5b505af1158015611c81573d6000803e3d6000fd5b505050506040513d6020811015611c9757600080fd5b505163ffffffff8e166000908152600f6020526040902054011115611d2c576040805160e560020a62461bcd02815260206004820152603d60248201527f6e6f7420656e6f7567682074696d65207061737365642073696e63652074686560448201527f206c617374206669676874206f66207468697320636861726163746572000000606482015290519081900360840190fd5b60018a0154600160a060020a03163314611db6576040805160e560020a62461bcd02815260206004820152603260248201527f6f6e6c79206f776e65722063616e20696e69746961746520612066696768742060448201527f666f722074686973206368617261637465720000000000000000000000000000606482015290519081900360840190fd5b895460ff169850600c891080611dcf5750600e60ff8a16115b1515611e25576040805160e560020a62461bcd02815260206004820152601560248201527f62616c6c6f6f6e732063616e6e6f742066696768740000000000000000000000604482015290519081900360640190fd5b611e358c63ffffffff168a615550565b975061ffff8089161415611e4857600080fd5b6007805461ffff8a16908110611e5a57fe5b6000918252602080832060088304015460079092166004026101000a90910463ffffffff908116808452600990925260409092209098509650606490611ea1908e16614f0c565b811515611eaa57fe5b069250600160009054906101000a9004600160a060020a0316600160a060020a0316638f7561476040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015611f0057600080fd5b505af1158015611f14573d6000803e3d6000fd5b505050506040513d6020811015611f2a57600080fd5b5051600480546040805160e060020a6370a08231028152339381019390935251600160a060020a03909116916370a082319160248083019260209291908290030181600087803b158015611f7d57600080fd5b505af1158015611f91573d6000803e3d6000fd5b505050506040513d6020811015611fa757600080fd5b505110611fe2576064611fbd8461ffff16614f0c565b811515611fc657fe5b0693508261ffff168461ffff161015611fdd578392505b600093505b60065460018b01546040805160e060020a6370a08231028152600160a060020a039283166004820152905191909216916370a082319160248083019260209291908290030181600087803b15801561203957600080fd5b505af115801561204d573d6000803e3d6000fd5b505050506040513d602081101561206357600080fd5b505160055460018c01546040805160e060020a6370a08231028152600160a060020a039283166004820152905166038d7ea4c680009392909216916370a08231916024808201926020929091908290030181600087803b1580156120c657600080fd5b505af11580156120da573d6000803e3d6000fd5b505050506040513d60208110156120f057600080fd5b50518115156120fb57fe5b60065460018a01546040805160e060020a6370a08231028152600160a060020a03928316600482015290519490930494909401955092909216916370a082319160248083019260209291908290030181600087803b15801561215c57600080fd5b505af1158015612170573d6000803e3d6000fd5b505050506040513d602081101561218657600080fd5b505160055460018801546040805160e060020a6370a08231028152600160a060020a039283166004820152905166038d7ea4c680009392909216916370a08231916024808201926020929091908290030181600087803b1580156121e957600080fd5b505af11580156121fd573d6000803e3d6000fd5b505050506040513d602081101561221357600080fd5b505181151561221e57fe5b88548d5492909104929092019250610100918290046001608060020a03908116929091041614156123925760329350808211156122ef57600160009054906101000a9004600160a060020a0316600160a060020a0316634ad6e6486040518163ffffffff1660e060020a028152600401602060405180830381600087803b1580156122a857600080fd5b505af11580156122bc573d6000803e3d6000fd5b505050506040513d60208110156122d257600080fd5b505160ff1660648115156122e257fe5b0460ff168401935061238d565b8181111561238d57600160009054906101000a9004600160a060020a0316600160a060020a0316634ad6e6486040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561234a57600080fd5b505af115801561235e573d6000803e3d6000fd5b505050506040513d602081101561237457600080fd5b505160ff16606481151561238457fe5b0460ff16840393505b612558565b85548a546001608060020a036101009283900481169290910416111561248957606493508181111561238d57600160009054906101000a9004600160a060020a0316600160a060020a0316634ad6e6486040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561241157600080fd5b505af1158015612425573d6000803e3d6000fd5b505050506040513d602081101561243b57600080fd5b50518a54875460ff90921691610100918290046001608060020a039081169290910481166064021681151561246c57fe5b046001608060020a031681151561247f57fe5b0484039350612558565b8082111561255857600160009054906101000a9004600160a060020a0316600160a060020a0316634ad6e6486040518163ffffffff1660e060020a028152600401602060405180830381600087803b1580156124e457600080fd5b505af11580156124f8573d6000803e3d6000fd5b505050506040513d602081101561250e57600080fd5b505186548b5460ff90921691610100918290046001608060020a039081169290910481166064021681151561253f57fe5b046001608060020a031681151561255257fe5b04840193505b63ffffffff8c16600090815260096020526040902060010154600360e060020a90910460ff1610156125c65763ffffffff8c1660009081526009602052604090206001908101805460ff60e060020a80830482169094011690920260e060020a60ff02199092169190911790555b61ffff808516908416106127b2578554600c60ff90911610806125ef57508554600e60ff909116115b1561275357600b54865461260e918d9161ffff9091169060ff16614f65565b94506000856001608060020a0316111561264157600b805461ffff19811661ffff9182166000190190911617905561265a565b63ffffffff8c166000908152600f602052604090204290555b8554601560ff9091161080159061267857508554601a60ff90911611155b156126bb57600880546001608060020a03640100000000808304821689019091160273ffffffffffffffffffffffffffffffff00000000199091161790556126ed565b85546001608060020a03610100808304821688019091160270ffffffffffffffffffffffffffffffff00199091161786555b6040805163ffffffff808a1682528e1660208201526001608060020a0387168183015261ffff80871660608301528516608082015290517f24758388bd6bf650dde3bbde100b1056920770025a9f1c5998b4587670d4f3859181900360a00190a16127ad565b6040805163ffffffff808a1682528e16602082015260008183015261ffff80871660608301528516608082015290517f24758388bd6bf650dde3bbde100b1056920770025a9f1c5998b4587670d4f3859181900360a00190a15b611569565b63ffffffff8c166000908152600f60205260409020429055600b548a546127e4918a9161ffff9091169060ff16614f65565b94506000856001608060020a0316111561281357600b805461ffff19811661ffff918216600019019091161790555b8954601560ff9091161080159061283157508954601a60ff90911611155b1561287457600880546001608060020a03640100000000808304821689019091160273ffffffffffffffffffffffffffffffff00000000199091161790556128a6565b89546001608060020a03610100808304821688019091160270ffffffffffffffffffffffffffffffff0019909116178a555b60085460a860020a900463ffffffff1615156128c4576128c461437e565b6040805163ffffffff808f168252891660208201526001608060020a0387168183015261ffff80871660608301528516608082015290517f24758388bd6bf650dde3bbde100b1056920770025a9f1c5998b4587670d4f3859181900360a00190a1505050505050505050505050565b600154600160a060020a031681565b333214612996576040805160e560020a62461bcd02815260206004820152602480820152600080516020615b5c833981519152604482015260e260020a631d1a1bd902606482015290519081900360840190fd5b6129a0338261466d565b50565b600054600160a060020a031633146129ba57600080fd5b600054600160a060020a0316ff5b6000805b600560ff821611610f7d5760ff81166000908152600c602052604090205461ffff1691909101906001016129cc565b600054600160a060020a031681565b600354600090819081908190819081908190600160a060020a038a8116911614612aa4576040805160e560020a62461bcd02815260206004820152602760248201527f65766572797468696e67206973207061696420776974682074656c65706f727460448201527f20746f6b656e7300000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b612aad886156c0565b63ffffffff16600114612ac1576000612ac4565b60015b9650861515612ce157612ad6886156c7565b9550600160009054906101000a9004600160a060020a0316600160a060020a0316636121e5226040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015612b2b57600080fd5b505af1158015612b3f573d6000803e3d6000fd5b505050506040513d6020811015612b5557600080fd5b505163ffffffff8716600090815260096020526040902054909550600c60ff90911610801590612ba0575063ffffffff8616600090815260096020526040902054601460ff90911611155b15612bac576002850294505b848a1015612c2a576040805160e560020a62461bcd02815260206004820152603860248201527f696e737566666963696e657420616d6f756e74206f6620746f6b656e7320746f60448201527f2074656c65706f72742074686973206368617261637465720000000000000000606482015290519081900360840190fd5b600354604080517f23b872dd000000000000000000000000000000000000000000000000000000008152600160a060020a038e8116600483015230602483015260448201899052915191909216916323b872dd9160648083019260209291908290030181600087803b158015612c9f57600080fd5b505af1158015612cb3573d6000803e3d6000fd5b505050506040513d6020811015612cc957600080fd5b50511515612cd357fe5b612cdc866156ce565b613222565b612cea886156c7565b63ffffffff8116600090815260096020908152604080832054600154825160e060020a635e383d2102815260ff909216600483018190529251959b50919850600160a060020a0390911693635e383d2193602480840194938390030190829087803b158015612d5857600080fd5b505af1158015612d6c573d6000803e3d6000fd5b505050506040513d6020811015612d8257600080fd5b505163ffffffff871660009081526009602052604090205461010090046001608060020a03908116911614612e4d576040805160e560020a62461bcd02815260206004820152605c60248201527f70726f74656374696f6e20636f756c6420626520626f75676874206f6e6c792060448201527f6265666f72652074686520666972737420666967687420616e64206265666f7260648201527f652074686520666972737420766f6c63616e6f206572757074696f6e00000000608482015290519081900360a40190fd5b600b60ff851611612ef057600160009054906101000a9004600160a060020a0316600160a060020a03166319f353bb6040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015612eab57600080fd5b505af1158015612ebf573d6000803e3d6000fd5b505050506040513d6020811015612ed557600080fd5b5051600660ff86160660010160ff160292506003915061311a565b600c60ff851610801590612f085750600e60ff851611155b15612fab57600160009054906101000a9004600160a060020a0316600160a060020a03166319f353bb6040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015612f6057600080fd5b505af1158015612f74573d6000803e3d6000fd5b505050506040513d6020811015612f8a57600080fd5b505160066003860160ff160660010160ff160260020292506006915061311a565b600f60ff851610801590612fc35750601460ff851611155b1561306657600160009054906101000a9004600160a060020a0316600160a060020a03166319f353bb6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561301b57600080fd5b505af115801561302f573d6000803e3d6000fd5b505050506040513d602081101561304557600080fd5b505160066003860160ff160660010160ff160260020292506003915061311a565b601560ff85161080159061307e5750601a60ff851611155b1561311a57600160009054906101000a9004600160a060020a0316600160a060020a03166319f353bb6040518163ffffffff1660e060020a028152600401602060405180830381600087803b1580156130d657600080fd5b505af11580156130ea573d6000803e3d6000fd5b505050506040513d602081101561310057600080fd5b505160066003860160ff160660010160ff16029250600391505b5063ffffffff851660009081526010602052604081205490945060ff165b8160ff168160ff1610801561315757508060010160ff16830285018a10155b1561316f5760010160ff811683029490940193613138565b600354604080517f23b872dd000000000000000000000000000000000000000000000000000000008152600160a060020a038e8116600483015230602483015260448201899052915191909216916323b872dd9160648083019260209291908290030181600087803b1580156131e457600080fd5b505af11580156131f8573d6000803e3d6000fd5b505050506040513d602081101561320e57600080fd5b5051151561321857fe5b6132228682615880565b5050505050505050505050565b600681565b601481565b6000600f5b601460ff821611610f7d5760ff81166000908152600c602052604090205461ffff16919091019060010161323e565b6000600660ff8416108015906132875750600b60ff841611155b1561329a5750600560ff8216111561335a565b600f60ff8416108015906132b25750601460ff841611155b156132d357600c60ff831610806132cc5750600e60ff8316115b905061335a565b600060ff8416108015906132eb5750600560ff841611155b156132fe5750600f60ff8216101561335a565b601560ff8416108015906133165750601a60ff841611155b1561335657600c60ff8316108015906133335750600e60ff831611155b806132cc5750600660ff8316108015906132cc575050600b60ff8216111561335a565b5060005b92915050565b601581565b600f6020526000908152604090205481565b600f81565b600060065b600b60ff821611610f7d5760ff81166000908152600c602052604090205461ffff169190910190600101613381565b600d5481565b600581565b60008054600160a060020a031633146133d357600080fd5b5060005b600b5461ffff9081169082161015613579576009600060078361ffff1681548110151561340057fe5b6000918252602080832060088304015460079283166004026101000a900463ffffffff16845283019390935260409091018120600101548254600160a060020a03909116926108fc9260099290919061ffff871690811061345d57fe5b90600052602060002090600891828204019190066004029054906101000a900463ffffffff1663ffffffff1663ffffffff16815260200190815260200160002060000160019054906101000a90046001608060020a03166001608060020a03169081150290604051600060405180830381858888f193505050501580156134e8573d6000803e3d6000fd5b506009600060078361ffff1681548110151561350057fe5b6000918252602080832060088304015460079092166004026101000a90910463ffffffff1683528201929092526040019020805470ffffffffffffffffffffffffffffffffff19168155600190810180547cffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19169055016133d7565b61358560076000615b1e565b50600b805461ffff19169055565b601a81565b600e81565b60003332146135f3576040805160e560020a62461bcd02815260206004820152602480820152600080516020615b5c833981519152604482015260e260020a631d1a1bd902606482015290519081900360840190fd5b603282111561360157600080fd5b5060005b818110156115fc5761362e83838381811061361c57fe5b9050602002013563ffffffff166136cf565b600101613605565b60085460009064010000000090046001608060020a0316815b600b5461ffff90811690821610156136c6576009600060078361ffff1681548110151561367857fe5b60009182526020808320600883040154600790921660040261010090810a90920463ffffffff1684528301939093526040909101902054046001608060020a0316919091019060010161364f565b50303103919050565b60008080333214613727576040805160e560020a62461bcd02815260206004820152602480820152600080516020615b5c833981519152604482015260e260020a631d1a1bd902606482015290519081900360840190fd5b60085460006401000000009091046001608060020a031611613793576040805160e560020a62461bcd02815260206004820152600e60248201527f656d707479207472656173757279000000000000000000000000000000000000604482015290519081900360640190fd5b63ffffffff841660009081526009602052604090208054909350601560ff909116108015906137c957508254601a60ff90911611155b1515613845576040805160e560020a62461bcd02815260206004820152602b60248201527f6f6e6c7920617263686572732063616e2061636365737320746865206361737460448201527f6c65207472656173757279000000000000000000000000000000000000000000606482015290519081900360840190fd5b63ffffffff84166000908152600e6020526040902054151561397957600160009054906101000a9004600160a060020a0316600160a060020a03166399bd59ee6040518163ffffffff1660e060020a028152600401602060405180830381600087803b1580156138b457600080fd5b505af11580156138c8573d6000803e3d6000fd5b505050506040513d60208110156138de57600080fd5b5051600184015460a060020a900467ffffffffffffffff1642031015613974576040805160e560020a62461bcd02815260206004820152602d60248201527f6e6f7420656e6f7567682074696d6520686173207061737365642073696e636560448201527f2074686520707572636861736500000000000000000000000000000000000000606482015290519081900360840190fd5b613a8c565b600160009054906101000a9004600160a060020a0316600160a060020a03166399bd59ee6040518163ffffffff1660e060020a028152600401602060405180830381600087803b1580156139cc57600080fd5b505af11580156139e0573d6000803e3d6000fd5b505050506040513d60208110156139f657600080fd5b505163ffffffff85166000908152600e602052604090205401421015613a8c576040805160e560020a62461bcd02815260206004820152603e60248201527f6e6f7420656e6f7567682074696d65207061737365642073696e63652074686560448201527f206c61737420636173746c65206c6f6f7420646973747269627574696f6e0000606482015290519081900360840190fd5b6001830154600360e060020a90910460ff161015613af4576040805160e560020a62461bcd02815260206004820152601560248201527f6e65656420746f20666967687420332074696d65730000000000000000000000604482015290519081900360640190fd5b63ffffffff84166000818152600e6020526040902042905560018401805460e060020a60ff0219169055613b3e906103e890613b2f90614f0c565b811515613b3857fe5b066158e2565b91506003826001608060020a03161015613b5757600391505b60326001608060020a0383161115613b6b57fe5b6008546064906001608060020a03640100000000909104811684021684546001608060020a03610100808304821694909304938401811690920270ffffffffffffffffffffffffffffffff001990911617855560088054640100000000808204841685900384160273ffffffffffffffffffffffffffffffff000000001990911617905560408051828416815263ffffffff8816602082015291851682820152519192507f044748c9c1d4b639839f14eae2bf0670989e54a214f284e8713a6bce527b656f919081900360600190a150505050565b606060008060008060006032604051908082528060200260200182016040528015613c75578160200160208202803883390190505b50600b5490965061ffff169150600090505b8161ffff168161ffff1610156141fe5733600160a060020a03166009600060078461ffff16815481101515613cb857fe5b6000918252602080832060088304015460079092166004026101000a90910463ffffffff168352820192909252604001902060010154600160a060020a0316148015613d685750426009600060078461ffff16815481101515613d1757fe5b6000918252602080832060088304015460079092166004026101000a90910463ffffffff16835282019290925260400190206001015460a060020a900467ffffffffffffffff908116620151800116105b8015613e1c5750600c60ff166009600060078461ffff16815481101515613d8b57fe5b6000918252602080832060088304015460079092166004026101000a90910463ffffffff16835282019290925260400190205460ff161080613e1c5750600e60ff166009600060078461ffff16815481101515613de457fe5b6000918252602080832060088304015460079092166004026101000a90910463ffffffff16835282019290925260400190205460ff16115b156141f6575b60008261ffff16118015613e96575033600160a060020a03166009600060076001860361ffff16815481101515613e5557fe5b6000918252602080832060088304015460079092166004026101000a90910463ffffffff168352820192909252604001902060010154600160a060020a0316145b8015613f095750426009600060076001860361ffff16815481101515613eb857fe5b6000918252602080832060088304015460079092166004026101000a90910463ffffffff16835282019290925260400190206001015460a060020a900467ffffffffffffffff908116620151800116105b8015613fbd5750600c60ff166009600060078461ffff16815481101515613f2c57fe5b6000918252602080832060088304015460079092166004026101000a90910463ffffffff16835282019290925260400190205460ff161080613fbd5750600e60ff166009600060078461ffff16815481101515613f8557fe5b6000918252602080832060088304015460079092166004026101000a90910463ffffffff16835282019290925260400190205460ff16115b1561411057600780546000199093019261ffff8416908110613fdb57fe5b60009182526020808320600883040154600790921660040261010090810a90920463ffffffff1680845260098083526040808620805460ff9081168852600c8652918720805461ffff19811661ffff9182166000190190911617905595839052925292548951939750919091046001608060020a0316949094019385918891881690811061406557fe5b63ffffffff9283166020918202909201015260085460019096019585821660a860020a90910490911614156140b7576008805478ffffffff000000000000000000000000000000000000000000191690555b63ffffffff84166000908152600960205260409020805470ffffffffffffffffffffffffffffffffff1916815560010180547cffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19169055613e22565b8060010161ffff168261ffff1611156141f6576009600060078361ffff1681548110151561413a57fe5b60009182526020808320600883040154600792831660040261010090810a90910463ffffffff16855290840194909452604090920190205481549290046001608060020a031694909401939061ffff831690811061419457fe5b90600052602060002090600891828204019190066004029054906101000a900463ffffffff16868660ff168151811015156141cb57fe5b63ffffffff909216602092830290910190910152600190940193600019909101906141f681836144b2565b600101613c87565b600b805461ffff191661ffff84161790556040805133808252602080830187905260609383018481528a519484019490945289517f1e6d26af567145cb0b46ea7135e21671f1e58e8d1f818dab12b0e10eb5ebb07b94929388938c93919290916080840191858201910280838360005b8381101561428657818101518382015260200161426e565b5050505090500194505050505060405180910390a1604051339084156108fc029085906000818181858888f193505050501580156142c8573d6000803e3d6000fd5b5060085460a860020a900463ffffffff1615156142e7576142e761437e565b505050505050565b600081565b600b5461ffff1681565b600054600160a060020a0316331461431557600080fd5b6129a08161595e565b600054600160a060020a0316331461433557600080fd5b80600160a060020a0316ff5b601b81565b600780548290811061435457fe5b9060005260206000209060089182820401919006600402915054906101000a900463ffffffff1681565b60001960005b600b5461ffff9081169082161015614479578163ffffffff1660078261ffff168154811015156143b057fe5b6000918252602090912060088204015460079091166004026101000a900463ffffffff161080156144315750600560ff166009600060078461ffff168154811015156143f857fe5b6000918252602080832060088304015460079092166004026101000a90910463ffffffff16835282019290925260400190205460ff1611155b15614471576007805461ffff831690811061444857fe5b90600052602060002090600891828204019190066004029054906101000a900463ffffffff1691505b600101614384565b506008805463ffffffff90921660a860020a0278ffffffff00000000000000000000000000000000000000000019909216919091179055565b600060078361ffff168154811015156144c757fe5b6000918252602080832060088084049091015460079093166004026101000a90920463ffffffff9081168085526009835260408086205460ff168652600c90935291909320805461ffff19811661ffff91821660001901909116179055905490925060a860020a90041681141561455b576008805478ffffffff000000000000000000000000000000000000000000191690555b63ffffffff81166000908152600960205260409020805470ffffffffffffffffffffffffffffffffff1916815560010180547cffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191690556007805461ffff84169081106145c157fe5b90600052602060002090600891828204019190066004029054906101000a900463ffffffff1660078461ffff168154811015156145fa57fe5b90600052602060002090600891828204019190066004026101000a81548163ffffffff021916908363ffffffff16021790555060078261ffff1681548110151561464057fe5b90600052602060002090600891828204019190066004026101000a81549063ffffffff0219169055505050565b6000806000806000600160009054906101000a9004600160a060020a0316600160a060020a03166349b3b29f876040518263ffffffff1660e060020a028152600401808260ff168152602001915050602060405180830381600087803b1580156146d657600080fd5b505af11580156146ea573d6000803e3d6000fd5b505050506040513d602081101561470057600080fd5b50516001608060020a03163481151561471557fe5b049450600061ffff8616116147c0576040805160e560020a62461bcd02815260206004820152604260248201527f696e73756666696369656e7420616d6f756e74206f6620657468657220746f2060448201527f7075726368617365206120676976656e2074797065206f66206368617261637460648201527f6572000000000000000000000000000000000000000000000000000000000000608482015290519081900360a40190fd5b600b54600154604080517f49e77c8b000000000000000000000000000000000000000000000000000000008152600160a060020a038b8116600483015260ff8b166024830152915161ffff90941697509116916349e77c8b916044808201926020929091908290030181600087803b15801561483b57600080fd5b505af115801561484f573d6000803e3d6000fd5b505050506040513d602081101561486557600080fd5b50511515614909576040805160e560020a62461bcd02815260206004820152604360248201527f696e737566666963696e657420616d6f756e74206f6620746f6b656e7320746f60448201527f207075726368617365206120676976656e2074797065206f662063686172616360648201527f7465720000000000000000000000000000000000000000000000000000000000608482015290519081900360a40190fd5b601b60ff87161015806149b85750600154604080517f49b3b29f00000000000000000000000000000000000000000000000000000000815260ff891660048201529051600160a060020a03909216916349b3b29f916024808201926020929091908290030181600087803b15801561498057600080fd5b505af1158015614994573d6000803e3d6000fd5b505050506040513d60208110156149aa57600080fd5b50516001608060020a031634105b80614a4b5750600160009054906101000a9004600160a060020a0316600160a060020a0316638882ddc96040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015614a1157600080fd5b505af1158015614a25573d6000803e3d6000fd5b505050506040513d6020811015614a3b57600080fd5b505161ffff908116858701909116115b15614a5557600080fd5b60085463ffffffff169250600560ff871611614cd95760085460a860020a900463ffffffff161580614a96575060085460a860020a900463ffffffff908116145b15614acc576008805478ffffffff000000000000000000000000000000000000000000191660a860020a63ffffffff8616021790555b600091505b8461ffff168260ff161015614c9657614af260ff83168481019086016159db565b6040805160a08101825260ff8816808252600154835160e060020a635e383d21028152600481019290925292519192602080850193600160a060020a0390921692635e383d2192602480830193928290030181600087803b158015614b5657600080fd5b505af1158015614b6a573d6000803e3d6000fd5b505050506040513d6020811015614b8057600080fd5b50516001608060020a039081168252600160a060020a038a81166020808501919091524267ffffffffffffffff9081166040808701919091526000606096870181905260ff8a81168c0163ffffffff168252600985529082902088518154958a015160ff199096169083161770ffffffffffffffffffffffffffffffff0019166101009590971694909402959095178355860151600192830180549688015160809098015173ffffffffffffffffffffffffffffffffffffffff1990971691909416177bffffffffffffffff0000000000000000000000000000000000000000191660a060020a96909116959095029490941760e060020a60ff02191660e060020a939092169290920217905590910190614ad1565b60ff86166000908152600c60205260409020805461ffff1980821661ffff9283168901831617909255600b80549283169282168801909116919091179055614e8d565b5060005b8461ffff168160ff161015614e8d576040805160a08101825260ff8816808252600154835160e060020a635e383d21028152600481019290925292519192602080850193600160a060020a0390921692635e383d2192602480830193928290030181600087803b158015614d5057600080fd5b505af1158015614d64573d6000803e3d6000fd5b505050506040513d6020811015614d7a57600080fd5b50516001608060020a039081168252600160a060020a038a81166020808501919091524267ffffffffffffffff9081166040808701919091526000606096870181905260ff8981168c0163ffffffff168252600985529082902088518154958a015160ff199096169083161770ffffffffffffffffffffffffffffffff0019166101009590971694909402959095178355860151600192830180549688015160809098015173ffffffffffffffffffffffffffffffffffffffff1990971691909416177bffffffffffffffff0000000000000000000000000000000000000000191660a060020a96909116959095029490941760e060020a60ff02191660e060020a939092169290920217905501614cdd565b6008805463ffffffff191661ffff871685810163ffffffff9081169290921790925560408051600160a060020a038b16815260ff8a166020820152808201939093529085166060830152517ff7ad76543f114c7bb00ff2cd992ff749d502ed5c0c6f87901ad48f6871fceca1916080908290030190a150505050505050565b600b546040805160001943014081524260208201527e0100000000000000000000000000000000000000000000000000000000000061ffff90931692909202828201526042820183905251908190036062019020919050565b600080600060078661ffff16815481101515614f7d57fe5b6000918252602090912060088204015460079091166004026101000a900463ffffffff16915060019050600f60ff851610801590614fbf5750601460ff851611155b15614fc8575060025b63ffffffff821660009081526010602052604090205460ff80831691161061501a5763ffffffff82166000908152601060205260408120805460ff8082168590031660ff199091161790559250615086565b6009600060078861ffff1681548110151561503157fe5b60009182526020808320600883040154600790921660040261010090810a90920463ffffffff16845283019390935260409091019020546000199690960195046001608060020a0316925061508686866144b2565b50509392505050565b600880546401000000008082046001608060020a0390811660148683160401160273ffffffffffffffffffffffffffffffff0000000019909116179081905560009081908190606090829081908190819063ffffffff60a860020a9091041615156150fc576150fc61437e565b60085460a860020a900463ffffffff908116146151795760085460a860020a900463ffffffff166000908152600960205260409020805470ffffffffffffffffffffffffffffffff00198116600a6001608060020a038d81169182046101009485900482160116909202179091556055606490910402975061518c565b60646001608060020a038a1604605f0297505b60408051601b8082526103808201909252909650866020820161036080388339019050509450600093505b8560ff168460ff16101561528f57600c60ff851610806151da5750600e60ff8516115b80156151fa575060ff84166000908152600c602052604081205461ffff16115b15615284576001546040805160e060020a635e383d2102815260ff871660048201529051600160a060020a0390921691635e383d21916024808201926020929091908290030181600087803b15801561525257600080fd5b505af1158015615266573d6000803e3d6000fd5b505050506040513d602081101561527c57600080fd5b505196909601955b6001909301926151b7565b600092505b8560ff168360ff1610156153d857600c60ff851610806152b75750600e60ff8516115b80156152d7575060ff83166000908152600c602052604081205461ffff16115b156153cd5760ff83166000818152600c6020908152604080832054600154825160e060020a635e383d210281526004810196909652915161ffff909116946001608060020a038d1694600160a060020a0390931693635e383d219360248084019492938390030190829087803b15801561535057600080fd5b505af1158015615364573d6000803e3d6000fd5b505050506040513d602081101561537a57600080fd5b50518a026001608060020a031681151561539057fe5b046001608060020a03168115156153a357fe5b04858460ff168151811015156153b557fe5b6001608060020a039092166020928302909101909101525b600190920191615294565b5060005b600b5461ffff9081169082161015615545576009600060078361ffff1681548110151561540557fe5b6000918252602080832060088304015460079092166004026101000a90910463ffffffff16835282019290925260400190205460ff169150600c82108061544f5750600e60ff8316115b1561553d57846009600060078461ffff1681548110151561546c57fe5b6000918252602080832060088304015460079092166004026101000a90910463ffffffff168352820192909252604001902054815160ff9091169081106154af57fe5b906020019060200201516009600060078461ffff168154811015156154d057fe5b60009182526020808320600883040154600790921660040261010090810a90920463ffffffff16845283019390935260409091019020805470ffffffffffffffffffffffffffffffff00198116908390046001608060020a03908116949094019093169091029190911790555b6001016153dc565b505050505050505050565b600b5460009081908190819061ffff1661556987614f0c565b81151561557257fe5b600b549190069350600761ffff9182160616156155905760076155ae565b600b805461ffff160661ffff166000146155ab57600b6155ae565b600d5b60ff1691508290505b61560d856009600060078561ffff168154811015156155d257fe5b6000918252602080832060088304015460079092166004026101000a90910463ffffffff16835282019290925260400190205460ff1661326d565b8015615677575033600160a060020a03166009600060078461ffff1681548110151561563557fe5b6000918252602080832060088304015460079092166004026101000a90910463ffffffff168352820192909252604001902060010154600160a060020a031614155b15615684578093506156b7565b600b5461ffff908116908284011681151561569b57fe5b06905061ffff808216908416146156b1576155b7565b60001993505b50505092915050565b5060c05190565b5060a05190565b63ffffffff81166000908152600a602052604081205460ff161561573c576040805160e560020a62461bcd02815260206004820152601260248201527f616c72656164792074656c65706f727465640000000000000000000000000000604482015290519081900360640190fd5b5063ffffffff81166000908152600a60209081526040808320805460ff19166001179055600990915290208054600560ff91909116116157eb576040805160e560020a62461bcd028152602060048201526024808201527f647261676f6e7320646f206e6f74206e65656420746f2062652074656c65706f60448201527f7274656400000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600b546157fd90839061ffff166159db565b600b805461ffff8082166001908101821661ffff1993841617909355835460ff166000908152600c6020908152604091829020805480851690960190931694909316939093179055815163ffffffff8516815291517f663f46f5a2fd740de613966ad0391fbc9d840f82898698e6d7f16ba0ed126b3b9281900390910190a15050565b63ffffffff8216600081815260106020908152604091829020805460ff191660ff861690811790915582519384529083015280517f088ba7785fd329abbf01eaa732bad30e14b205b9fc8ab9378f9f5295731135559281900390910190a15050565b60326000805b60085460ff60a060020a909104811690821610156159575761592f6103e86159208360070260ff1687016001608060020a0316614f0c565b81151561592957fe5b06615a91565b9150826001608060020a0316826001608060020a0316101561594f578192505b6001016158e8565b5050919050565b600160a060020a038116151561597357600080fd5b60008054604051600160a060020a03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60075461ffff82161015615a35578160078261ffff168154811015156159fd57fe5b90600052602060002090600891828204019190066004026101000a81548163ffffffff021916908363ffffffff160217905550610eda565b506007805460018101825560008290527fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c68860088204018054919092166004026101000a63ffffffff818102199092169390911602919091179055565b6000806001602d5b60036001608060020a03821610615af157846001608060020a0316836001608060020a03161115615acc57809350615af6565b9181019160236001608060020a03821614615ae8576001820191505b60001901615a99565b600393505b505050919050565b61014060405190810160405280600a906020820280388339509192915050565b5080546000825560070160089004906000526020600020908101906129a09190615b5891905b80821115610f7d5760008155600101615b44565b905600636f6e7472616374732063616e6e6f7420657865637574652074686973206d65a165627a7a7230582067949d9f96abb63cbad0550203e0ab8cd2695e80d6e3628f574cf82a32544f7a0029
0x60806040526008805460a060020a60ff0219167402000000000000000000000000000000000000000017905534801561003757600080fd5b5060405160c08062005ca583398101604090815281516020830151918301516060840151608085015160a0909501516000805433600160a060020a03199182161782556008805463ffffffff19166001908117909155600380548316600160a060020a0398891617905560028054831698881698909817909755600580548216958716959095179094556006805485169386169390931790925560048054841696851696909617909555835490911691909316179055615ba7908190620000fe90396000f30060806040526004361061026d5763ffffffff60e060020a600035041662bfd441811461027257806307da68f5146102995780630a3dfba7146102ae5780630bc142c6146102c85780631d2a6dcf146102e35780631e466eee1461030f57806326bdce711461032457806328acb0021461034f578063291ed7731461037057806329b20bb6146103a157806330aaed53146103bc5780633728bec2146103d15780633c3c22b3146104225780633ccfd60b146104505780634afe49c2146104655780634f255b801461047a5780635c4c4a1814610498578063603709e3146104c857806361b8ce8c146105a157806372ad21c7146105b6578063772ca5b8146105d4578063773e1e84146105e957806379502c551461060e578063797e2aec1461063f57806383197ef01461064d578063851ad4d6146106625780638da5cb5b146106775780638f4ffcb11461068c5780639271a988146106fc5780639ced242b14610711578063a050d07d14610726578063a9689b4f146106fc578063ad389d5d1461073b578063ad70ae1a14610770578063b066ef3c14610785578063b0eee8db146107a3578063b32dbcd8146107b8578063c10435cc146107cd578063c1255299146107e2578063c2052403146107f7578063d0f9bad11461080c578063d39512b814610821578063d9f8695014610836578063db8d55f114610856578063dc9bb7db1461086b578063e4b971f814610880578063e9fad8ee1461089e578063f10e2ec1146108b3578063f1be42f1146108c8578063f2fde38b146108dd578063f5074f41146108fe578063f690648d1461091f578063fac333ac14610934578063fbe6529f1461094c575b600080fd5b34801561027e57600080fd5b5061029763ffffffff6004351661ffff60243516610961565b005b3480156102a557600080fd5b50610297610cb4565b610297600160a060020a036004351660ff60243516610ce5565b3480156102d457600080fd5b5061029760ff60043516610ede565b3480156102ef57600080fd5b506102f8610f49565b6040805161ffff9092168252519081900360200190f35b34801561031b57600080fd5b50610297610f81565b34801561033057600080fd5b50610339611577565b6040805160ff9092168252519081900360200190f35b34801561035b57600080fd5b506102976001608060020a036004351661157c565b34801561037c57600080fd5b50610385611601565b604080516001608060020a039092168252519081900360200190f35b3480156103ad57600080fd5b506102f860ff60043516611618565b3480156103c857600080fd5b5061033961162e565b3480156103dd57600080fd5b506103ef63ffffffff60043516611633565b6040805160ff90941684526001608060020a039092166020840152600160a060020a031682820152519081900360600190f35b34801561042e57600080fd5b50610437611672565b6040805163ffffffff9092168252519081900360200190f35b34801561045c57600080fd5b50610297611685565b34801561047157600080fd5b506102f86118cd565b34801561048657600080fd5b506102f863ffffffff600435166118d3565b3480156104a457600080fd5b506104b663ffffffff6004351661193f565b60408051918252519081900360200190f35b3480156104d457600080fd5b506104e461ffff60043516611951565b604051808561014080838360005b8381101561050a5781810151838201526020016104f2565b5050505090500184600a60200280838360005b8381101561053557818101518382015260200161051d565b5050505090500183600a60200280838360005b83811015610560578181015183820152602001610548565b5050505090500182600a60200280838360005b8381101561058b578181015183820152602001610573565b5050505090500194505050505060405180910390f35b3480156105ad57600080fd5b50610437611af8565b3480156105c257600080fd5b5061033963ffffffff60043516611b04565b3480156105e057600080fd5b50610339611b19565b3480156105f557600080fd5b5061029763ffffffff6004351661ffff60243516611b29565b34801561061a57600080fd5b50610623612933565b60408051600160a060020a039092168252519081900360200190f35b61029760ff60043516612942565b34801561065957600080fd5b506102976129a3565b34801561066e57600080fd5b506102f86129c8565b34801561068357600080fd5b506106236129fb565b34801561069857600080fd5b50604080516020601f60643560048181013592830184900484028501840190955281845261029794600160a060020a03813581169560248035966044359093169536956084949201918190840183828082843750949750612a0a9650505050505050565b34801561070857600080fd5b5061033961322f565b34801561071d57600080fd5b50610339613234565b34801561073257600080fd5b506102f8613239565b34801561074757600080fd5b5061075c60ff6004358116906024351661326d565b604080519115158252519081900360200190f35b34801561077c57600080fd5b50610339613360565b34801561079157600080fd5b506104b663ffffffff60043516613365565b3480156107af57600080fd5b50610339613377565b3480156107c457600080fd5b506102f861337c565b3480156107d957600080fd5b506104b66133b0565b3480156107ee57600080fd5b506103396133b6565b34801561080357600080fd5b506102976133bb565b34801561081857600080fd5b50610339613593565b34801561082d57600080fd5b50610339613598565b34801561084257600080fd5b50610297600480356024810191013561359d565b34801561086257600080fd5b506104b6613636565b34801561087757600080fd5b506104376118cd565b34801561088c57600080fd5b5061029763ffffffff600435166136cf565b3480156108aa57600080fd5b50610297613c40565b3480156108bf57600080fd5b506103396142ef565b3480156108d457600080fd5b506102f86142f4565b3480156108e957600080fd5b50610297600160a060020a03600435166142fe565b34801561090a57600080fd5b50610297600160a060020a036004351661431e565b34801561092b57600080fd5b50610339614341565b34801561094057600080fd5b50610437600435614346565b34801561095857600080fd5b5061029761437e565b6000803332146109b8576040805160e560020a62461bcd02815260206004820152602480820152600080516020615b5c833981519152604482015260e260020a631d1a1bd902606482015290519081900360840190fd5b600b5461ffff908116908416101580610a1457506007805461ffff85169081106109de57fe5b90600052602060002090600891828204019190066004029054906101000a900463ffffffff1663ffffffff168463ffffffff1614155b15610a2557610a22846118d3565b92505b63ffffffff841660009081526009602052604090206001810154909250600160a060020a03163314610ac7576040805160e560020a62461bcd02815260206004820152602560248201527f6f6e6c79206f776e6572732063616e2073656c6c20746865697220636861726160448201527f6374657273000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b8154600c60ff9091161080610ae257508154600e60ff909116115b1515610b38576040805160e560020a62461bcd02815260206004820152601960248201527f62616c6c6f6f6e7320617265206e6f742073656c6c61626c6500000000000000604482015290519081900360640190fd5b60018201544260a060020a90910467ffffffffffffffff90811662015180011610610bd3576040805160e560020a62461bcd02815260206004820152603360248201527f6368617261637465722063616e20626520736f6c64206f6e6c7920312064617960448201527f2061667465722074686520707572636861736500000000000000000000000000606482015290519081900360840190fd5b508054600b805461ffff19811661ffff91821660001901821617918290556101009092046001608060020a031691610c0d918591166144b2565b60405133906001608060020a03831680156108fc02916000818181858888f19350505050158015610c42573d6000803e3d6000fd5b5060085460a860020a900463ffffffff161515610c6157610c6161437e565b6040805163ffffffff861681523360208201526001608060020a0383168183015290517fe5cc68f68d9672681158062a835b6abc2ff3fba89f8db70f3a227d4ac35da3c39181900360600190a150505050565b600054600160a060020a03163314610ccb57600080fd5b610cd3611685565b610cdb6133bb565b610ce36129a3565b565b333214610d39576040805160e560020a62461bcd02815260206004820152602480820152600080516020615b5c833981519152604482015260e260020a631d1a1bd902606482015290519081900360840190fd5b610d43828261466d565b600160009054906101000a9004600160a060020a0316600160a060020a0316632091f9556040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015610d9657600080fd5b505af1158015610daa573d6000803e3d6000fd5b505050506040513d6020811015610dc057600080fd5b5051600154604080517f5bdaa8e70000000000000000000000000000000000000000000000000000000081529051600160a060020a039384169363a9059cbb938793911691635bdaa8e7916004808201926020929091908290030181600087803b158015610e2d57600080fd5b505af1158015610e41573d6000803e3d6000fd5b505050506040513d6020811015610e5757600080fd5b50516040805160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091525160448083019260209291908290030181600087803b158015610ea657600080fd5b505af1158015610eba573d6000803e3d6000fd5b505050506040513d6020811015610ed057600080fd5b50511515610eda57fe5b5050565b600054600160a060020a03163314610ef557600080fd5b60018160ff1610158015610f0d575060648160ff1611155b1515610f1857600080fd5b6008805460ff90921660a060020a0274ff000000000000000000000000000000000000000019909216919091179055565b600060155b601a60ff821611610f7d5760ff81166000908152600c602052604090205461ffff169190910190600101610f4e565b5090565b6000808080808080606080828080333214610fe3576040805160e560020a62461bcd02815260206004820152602480820152600080516020615b5c833981519152604482015260e260020a631d1a1bd902606482015290519081900360840190fd5b600160009054906101000a9004600160a060020a0316600160a060020a031663afb7e4956040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561103657600080fd5b505af115801561104a573d6000803e3d6000fd5b505050506040513d602081101561106057600080fd5b5051600d54014210156110e3576040805160e560020a62461bcd02815260206004820152602a60248201527f6e6f7420656e6f7567682074696d65207061737365642073696e6365206c617360448201527f74206572757074696f6e00000000000000000000000000000000000000000000606482015290519081900360840190fd5b600b54600061ffff90911611611169576040805160e560020a62461bcd02815260206004820152602360248201527f746865726520617265206e6f206368617261637465727320696e20746865206760448201527f616d650000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b42600d55600b54600154604080517f11a5a793000000000000000000000000000000000000000000000000000000008152905161ffff9093169a50606492600160a060020a03909216916311a5a793916004808201926020929091908290030181600087803b1580156111db57600080fd5b505af11580156111ef573d6000803e3d6000fd5b505050506040513d602081101561120557600080fd5b505160ff16890261ffff1681151561121957fe5b0461ffff1696508761ffff1661271002620138800163ffffffff1695508663ffffffff166000141561124a57600196505b8663ffffffff1660405190808252806020026020018201604052801561127a578160200160208202803883390190505b506008546040805163ffffffff90921680835260208082028401019091529196509080156112b2578160200160208202803883390190505b50935060009250600091505b8663ffffffff168361ffff1610156113de5781806001019250508761ffff166112ee8361ffff16600d5401614f0c565b8115156112f757fe5b06995060078a61ffff1681548110151561130d57fe5b90600052602060002090600891828204019190066004029054906101000a900463ffffffff169850838963ffffffff1681518110151561134957fe5b9060200190602002015115156113d9576001848a63ffffffff1681518110151561136f57fe5b91151560209283029091019091015284518990869061ffff861690811061139257fe5b63ffffffff9092166020928302909101909101526113b28a896000614f65565b9a5060008b6001608060020a031611156113ce57600019909701965b9a8a019a6001909201915b6112be565b50600b805461ffff891661ffff199091161790556001608060020a038086163a0290818116908d1611156114c757611417818d0361508f565b7fa06ad7d0261a795ad8f33fdbef7cf65a0f9f9a825353b13358a96a750acd6b3d85828e03836040518080602001846001608060020a03166001608060020a03168152602001836001608060020a03166001608060020a03168152602001828103825285818151815260200191508051906020019060200280838360005b838110156114ad578181015183820152602001611495565b5050505090500194505050505060405180910390a1611569565b7fa06ad7d0261a795ad8f33fdbef7cf65a0f9f9a825353b13358a96a750acd6b3d856000836040518080602001846001608060020a03168152602001836001608060020a03166001608060020a03168152602001828103825285818151815260200191508051906020019060200280838360005b8381101561155357818101518382015260200161153b565b5050505090500194505050505060405180910390a15b505050505050505050505050565b600b81565b60008054600160a060020a0316331461159457600080fd5b61159c613636565b9050808267016345785d8a0000016001608060020a03161015610eda5760008054604051600160a060020a03909116916001608060020a03851680156108fc02929091818181858888f193505050501580156115fc573d6000803e3d6000fd5b505050565b60085464010000000090046001608060020a031681565b600c6020526000908152604090205461ffff1681565b600c81565b63ffffffff166000908152600960205260409020805460019091015460ff8216926101009092046001608060020a031691600160a060020a0390911690565b60085460a860020a900463ffffffff1681565b600080548190600160a060020a0316331461169f57600080fd5b6002546040805160e060020a6370a082310281523060048201529051600160a060020a03909216916370a08231916024808201926020929091908290030181600087803b1580156116ef57600080fd5b505af1158015611703573d6000803e3d6000fd5b505050506040513d602081101561171957600080fd5b5051915060008211156117d05760025460008054604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a039283166004820152602481018790529051919093169263a9059cbb9260448083019360209390929083900390910190829087803b15801561179c57600080fd5b505af11580156117b0573d6000803e3d6000fd5b505050506040513d60208110156117c657600080fd5b505115156117d057fe5b6003546040805160e060020a6370a082310281523060048201529051600160a060020a03909216916370a08231916024808201926020929091908290030181600087803b15801561182057600080fd5b505af1158015611834573d6000803e3d6000fd5b505050506040513d602081101561184a57600080fd5b505190506000811115610eda5760035460008054604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a039283166004820152602481018690529051919093169263a9059cbb9260448083019360209390929083900390910190829087803b158015610ea657600080fd5b60001981565b6000805b60075461ffff8216101561026d578263ffffffff1660078261ffff168154811015156118ff57fe5b6000918252602090912060088204015460079091166004026101000a900463ffffffff16141561193157809150611939565b6001016118d7565b50919050565b600e6020526000908152604090205481565b611959615afe565b611961615afe565b611969615afe565b611971615afe565b600b5460009081908190819061ffff908116600a8b01909116116119985788600a016119a0565b600b5461ffff165b61ffff169350600092508890505b8363ffffffff168161ffff161015611aed576007805461ffff83169081106119d257fe5b6000918252602090912060088204015460079091166004026101000a900463ffffffff169150818860ff8516600a8110611a0857fe5b63ffffffff9283166020918202929092019190915290831660009081526009909152604090205460ff9081169088908516600a8110611a4357fe5b60ff9283166020918202929092019190915263ffffffff841660009081526009909152604090205461010090046001608060020a03169087908516600a8110611a8857fe5b6001608060020a039092166020928302919091015263ffffffff8316600090815260099091526040902060010154600160a060020a03168560ff8516600a8110611ace57fe5b600160a060020a039092166020929092020152600192830192016119ae565b505050509193509193565b60085463ffffffff1681565b60106020526000908152604090205460ff1681565b60085460a060020a900460ff1681565b6000808080808080808080333214611b88576040805160e560020a62461bcd02815260206004820152602480820152600080516020615b5c833981519152604482015260e260020a631d1a1bd902606482015290519081900360840190fd5b600b5461ffff908116908c16101580611be457506007805461ffff8d16908110611bae57fe5b90600052602060002090600891828204019190066004029054906101000a900463ffffffff1663ffffffff168c63ffffffff1614155b15611bf557611bf28c6118d3565b9a505b63ffffffff8c16600090815260096020908152604080832060015482517f4597dc8e0000000000000000000000000000000000000000000000000000000081529251919e504294600160a060020a0390911693634597dc8e936004808201949293918390030190829087803b158015611c6d57600080fd5b505af1158015611c81573d6000803e3d6000fd5b505050506040513d6020811015611c9757600080fd5b505163ffffffff8e166000908152600f6020526040902054011115611d2c576040805160e560020a62461bcd02815260206004820152603d60248201527f6e6f7420656e6f7567682074696d65207061737365642073696e63652074686560448201527f206c617374206669676874206f66207468697320636861726163746572000000606482015290519081900360840190fd5b60018a0154600160a060020a03163314611db6576040805160e560020a62461bcd02815260206004820152603260248201527f6f6e6c79206f776e65722063616e20696e69746961746520612066696768742060448201527f666f722074686973206368617261637465720000000000000000000000000000606482015290519081900360840190fd5b895460ff169850600c891080611dcf5750600e60ff8a16115b1515611e25576040805160e560020a62461bcd02815260206004820152601560248201527f62616c6c6f6f6e732063616e6e6f742066696768740000000000000000000000604482015290519081900360640190fd5b611e358c63ffffffff168a615550565b975061ffff8089161415611e4857600080fd5b6007805461ffff8a16908110611e5a57fe5b6000918252602080832060088304015460079092166004026101000a90910463ffffffff908116808452600990925260409092209098509650606490611ea1908e16614f0c565b811515611eaa57fe5b069250600160009054906101000a9004600160a060020a0316600160a060020a0316638f7561476040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015611f0057600080fd5b505af1158015611f14573d6000803e3d6000fd5b505050506040513d6020811015611f2a57600080fd5b5051600480546040805160e060020a6370a08231028152339381019390935251600160a060020a03909116916370a082319160248083019260209291908290030181600087803b158015611f7d57600080fd5b505af1158015611f91573d6000803e3d6000fd5b505050506040513d6020811015611fa757600080fd5b505110611fe2576064611fbd8461ffff16614f0c565b811515611fc657fe5b0693508261ffff168461ffff161015611fdd578392505b600093505b60065460018b01546040805160e060020a6370a08231028152600160a060020a039283166004820152905191909216916370a082319160248083019260209291908290030181600087803b15801561203957600080fd5b505af115801561204d573d6000803e3d6000fd5b505050506040513d602081101561206357600080fd5b505160055460018c01546040805160e060020a6370a08231028152600160a060020a039283166004820152905166038d7ea4c680009392909216916370a08231916024808201926020929091908290030181600087803b1580156120c657600080fd5b505af11580156120da573d6000803e3d6000fd5b505050506040513d60208110156120f057600080fd5b50518115156120fb57fe5b60065460018a01546040805160e060020a6370a08231028152600160a060020a03928316600482015290519490930494909401955092909216916370a082319160248083019260209291908290030181600087803b15801561215c57600080fd5b505af1158015612170573d6000803e3d6000fd5b505050506040513d602081101561218657600080fd5b505160055460018801546040805160e060020a6370a08231028152600160a060020a039283166004820152905166038d7ea4c680009392909216916370a08231916024808201926020929091908290030181600087803b1580156121e957600080fd5b505af11580156121fd573d6000803e3d6000fd5b505050506040513d602081101561221357600080fd5b505181151561221e57fe5b88548d5492909104929092019250610100918290046001608060020a03908116929091041614156123925760329350808211156122ef57600160009054906101000a9004600160a060020a0316600160a060020a0316634ad6e6486040518163ffffffff1660e060020a028152600401602060405180830381600087803b1580156122a857600080fd5b505af11580156122bc573d6000803e3d6000fd5b505050506040513d60208110156122d257600080fd5b505160ff1660648115156122e257fe5b0460ff168401935061238d565b8181111561238d57600160009054906101000a9004600160a060020a0316600160a060020a0316634ad6e6486040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561234a57600080fd5b505af115801561235e573d6000803e3d6000fd5b505050506040513d602081101561237457600080fd5b505160ff16606481151561238457fe5b0460ff16840393505b612558565b85548a546001608060020a036101009283900481169290910416111561248957606493508181111561238d57600160009054906101000a9004600160a060020a0316600160a060020a0316634ad6e6486040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561241157600080fd5b505af1158015612425573d6000803e3d6000fd5b505050506040513d602081101561243b57600080fd5b50518a54875460ff90921691610100918290046001608060020a039081169290910481166064021681151561246c57fe5b046001608060020a031681151561247f57fe5b0484039350612558565b8082111561255857600160009054906101000a9004600160a060020a0316600160a060020a0316634ad6e6486040518163ffffffff1660e060020a028152600401602060405180830381600087803b1580156124e457600080fd5b505af11580156124f8573d6000803e3d6000fd5b505050506040513d602081101561250e57600080fd5b505186548b5460ff90921691610100918290046001608060020a039081169290910481166064021681151561253f57fe5b046001608060020a031681151561255257fe5b04840193505b63ffffffff8c16600090815260096020526040902060010154600360e060020a90910460ff1610156125c65763ffffffff8c1660009081526009602052604090206001908101805460ff60e060020a80830482169094011690920260e060020a60ff02199092169190911790555b61ffff808516908416106127b2578554600c60ff90911610806125ef57508554600e60ff909116115b1561275357600b54865461260e918d9161ffff9091169060ff16614f65565b94506000856001608060020a0316111561264157600b805461ffff19811661ffff9182166000190190911617905561265a565b63ffffffff8c166000908152600f602052604090204290555b8554601560ff9091161080159061267857508554601a60ff90911611155b156126bb57600880546001608060020a03640100000000808304821689019091160273ffffffffffffffffffffffffffffffff00000000199091161790556126ed565b85546001608060020a03610100808304821688019091160270ffffffffffffffffffffffffffffffff00199091161786555b6040805163ffffffff808a1682528e1660208201526001608060020a0387168183015261ffff80871660608301528516608082015290517f24758388bd6bf650dde3bbde100b1056920770025a9f1c5998b4587670d4f3859181900360a00190a16127ad565b6040805163ffffffff808a1682528e16602082015260008183015261ffff80871660608301528516608082015290517f24758388bd6bf650dde3bbde100b1056920770025a9f1c5998b4587670d4f3859181900360a00190a15b611569565b63ffffffff8c166000908152600f60205260409020429055600b548a546127e4918a9161ffff9091169060ff16614f65565b94506000856001608060020a0316111561281357600b805461ffff19811661ffff918216600019019091161790555b8954601560ff9091161080159061283157508954601a60ff90911611155b1561287457600880546001608060020a03640100000000808304821689019091160273ffffffffffffffffffffffffffffffff00000000199091161790556128a6565b89546001608060020a03610100808304821688019091160270ffffffffffffffffffffffffffffffff0019909116178a555b60085460a860020a900463ffffffff1615156128c4576128c461437e565b6040805163ffffffff808f168252891660208201526001608060020a0387168183015261ffff80871660608301528516608082015290517f24758388bd6bf650dde3bbde100b1056920770025a9f1c5998b4587670d4f3859181900360a00190a1505050505050505050505050565b600154600160a060020a031681565b333214612996576040805160e560020a62461bcd02815260206004820152602480820152600080516020615b5c833981519152604482015260e260020a631d1a1bd902606482015290519081900360840190fd5b6129a0338261466d565b50565b600054600160a060020a031633146129ba57600080fd5b600054600160a060020a0316ff5b6000805b600560ff821611610f7d5760ff81166000908152600c602052604090205461ffff1691909101906001016129cc565b600054600160a060020a031681565b600354600090819081908190819081908190600160a060020a038a8116911614612aa4576040805160e560020a62461bcd02815260206004820152602760248201527f65766572797468696e67206973207061696420776974682074656c65706f727460448201527f20746f6b656e7300000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b612aad886156c0565b63ffffffff16600114612ac1576000612ac4565b60015b9650861515612ce157612ad6886156c7565b9550600160009054906101000a9004600160a060020a0316600160a060020a0316636121e5226040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015612b2b57600080fd5b505af1158015612b3f573d6000803e3d6000fd5b505050506040513d6020811015612b5557600080fd5b505163ffffffff8716600090815260096020526040902054909550600c60ff90911610801590612ba0575063ffffffff8616600090815260096020526040902054601460ff90911611155b15612bac576002850294505b848a1015612c2a576040805160e560020a62461bcd02815260206004820152603860248201527f696e737566666963696e657420616d6f756e74206f6620746f6b656e7320746f60448201527f2074656c65706f72742074686973206368617261637465720000000000000000606482015290519081900360840190fd5b600354604080517f23b872dd000000000000000000000000000000000000000000000000000000008152600160a060020a038e8116600483015230602483015260448201899052915191909216916323b872dd9160648083019260209291908290030181600087803b158015612c9f57600080fd5b505af1158015612cb3573d6000803e3d6000fd5b505050506040513d6020811015612cc957600080fd5b50511515612cd357fe5b612cdc866156ce565b613222565b612cea886156c7565b63ffffffff8116600090815260096020908152604080832054600154825160e060020a635e383d2102815260ff909216600483018190529251959b50919850600160a060020a0390911693635e383d2193602480840194938390030190829087803b158015612d5857600080fd5b505af1158015612d6c573d6000803e3d6000fd5b505050506040513d6020811015612d8257600080fd5b505163ffffffff871660009081526009602052604090205461010090046001608060020a03908116911614612e4d576040805160e560020a62461bcd02815260206004820152605c60248201527f70726f74656374696f6e20636f756c6420626520626f75676874206f6e6c792060448201527f6265666f72652074686520666972737420666967687420616e64206265666f7260648201527f652074686520666972737420766f6c63616e6f206572757074696f6e00000000608482015290519081900360a40190fd5b600b60ff851611612ef057600160009054906101000a9004600160a060020a0316600160a060020a03166319f353bb6040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015612eab57600080fd5b505af1158015612ebf573d6000803e3d6000fd5b505050506040513d6020811015612ed557600080fd5b5051600660ff86160660010160ff160292506003915061311a565b600c60ff851610801590612f085750600e60ff851611155b15612fab57600160009054906101000a9004600160a060020a0316600160a060020a03166319f353bb6040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015612f6057600080fd5b505af1158015612f74573d6000803e3d6000fd5b505050506040513d6020811015612f8a57600080fd5b505160066003860160ff160660010160ff160260020292506006915061311a565b600f60ff851610801590612fc35750601460ff851611155b1561306657600160009054906101000a9004600160a060020a0316600160a060020a03166319f353bb6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561301b57600080fd5b505af115801561302f573d6000803e3d6000fd5b505050506040513d602081101561304557600080fd5b505160066003860160ff160660010160ff160260020292506003915061311a565b601560ff85161080159061307e5750601a60ff851611155b1561311a57600160009054906101000a9004600160a060020a0316600160a060020a03166319f353bb6040518163ffffffff1660e060020a028152600401602060405180830381600087803b1580156130d657600080fd5b505af11580156130ea573d6000803e3d6000fd5b505050506040513d602081101561310057600080fd5b505160066003860160ff160660010160ff16029250600391505b5063ffffffff851660009081526010602052604081205490945060ff165b8160ff168160ff1610801561315757508060010160ff16830285018a10155b1561316f5760010160ff811683029490940193613138565b600354604080517f23b872dd000000000000000000000000000000000000000000000000000000008152600160a060020a038e8116600483015230602483015260448201899052915191909216916323b872dd9160648083019260209291908290030181600087803b1580156131e457600080fd5b505af11580156131f8573d6000803e3d6000fd5b505050506040513d602081101561320e57600080fd5b5051151561321857fe5b6132228682615880565b5050505050505050505050565b600681565b601481565b6000600f5b601460ff821611610f7d5760ff81166000908152600c602052604090205461ffff16919091019060010161323e565b6000600660ff8416108015906132875750600b60ff841611155b1561329a5750600560ff8216111561335a565b600f60ff8416108015906132b25750601460ff841611155b156132d357600c60ff831610806132cc5750600e60ff8316115b905061335a565b600060ff8416108015906132eb5750600560ff841611155b156132fe5750600f60ff8216101561335a565b601560ff8416108015906133165750601a60ff841611155b1561335657600c60ff8316108015906133335750600e60ff831611155b806132cc5750600660ff8316108015906132cc575050600b60ff8216111561335a565b5060005b92915050565b601581565b600f6020526000908152604090205481565b600f81565b600060065b600b60ff821611610f7d5760ff81166000908152600c602052604090205461ffff169190910190600101613381565b600d5481565b600581565b60008054600160a060020a031633146133d357600080fd5b5060005b600b5461ffff9081169082161015613579576009600060078361ffff1681548110151561340057fe5b6000918252602080832060088304015460079283166004026101000a900463ffffffff16845283019390935260409091018120600101548254600160a060020a03909116926108fc9260099290919061ffff871690811061345d57fe5b90600052602060002090600891828204019190066004029054906101000a900463ffffffff1663ffffffff1663ffffffff16815260200190815260200160002060000160019054906101000a90046001608060020a03166001608060020a03169081150290604051600060405180830381858888f193505050501580156134e8573d6000803e3d6000fd5b506009600060078361ffff1681548110151561350057fe5b6000918252602080832060088304015460079092166004026101000a90910463ffffffff1683528201929092526040019020805470ffffffffffffffffffffffffffffffffff19168155600190810180547cffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19169055016133d7565b61358560076000615b1e565b50600b805461ffff19169055565b601a81565b600e81565b60003332146135f3576040805160e560020a62461bcd02815260206004820152602480820152600080516020615b5c833981519152604482015260e260020a631d1a1bd902606482015290519081900360840190fd5b603282111561360157600080fd5b5060005b818110156115fc5761362e83838381811061361c57fe5b9050602002013563ffffffff166136cf565b600101613605565b60085460009064010000000090046001608060020a0316815b600b5461ffff90811690821610156136c6576009600060078361ffff1681548110151561367857fe5b60009182526020808320600883040154600790921660040261010090810a90920463ffffffff1684528301939093526040909101902054046001608060020a0316919091019060010161364f565b50303103919050565b60008080333214613727576040805160e560020a62461bcd02815260206004820152602480820152600080516020615b5c833981519152604482015260e260020a631d1a1bd902606482015290519081900360840190fd5b60085460006401000000009091046001608060020a031611613793576040805160e560020a62461bcd02815260206004820152600e60248201527f656d707479207472656173757279000000000000000000000000000000000000604482015290519081900360640190fd5b63ffffffff841660009081526009602052604090208054909350601560ff909116108015906137c957508254601a60ff90911611155b1515613845576040805160e560020a62461bcd02815260206004820152602b60248201527f6f6e6c7920617263686572732063616e2061636365737320746865206361737460448201527f6c65207472656173757279000000000000000000000000000000000000000000606482015290519081900360840190fd5b63ffffffff84166000908152600e6020526040902054151561397957600160009054906101000a9004600160a060020a0316600160a060020a03166399bd59ee6040518163ffffffff1660e060020a028152600401602060405180830381600087803b1580156138b457600080fd5b505af11580156138c8573d6000803e3d6000fd5b505050506040513d60208110156138de57600080fd5b5051600184015460a060020a900467ffffffffffffffff1642031015613974576040805160e560020a62461bcd02815260206004820152602d60248201527f6e6f7420656e6f7567682074696d6520686173207061737365642073696e636560448201527f2074686520707572636861736500000000000000000000000000000000000000606482015290519081900360840190fd5b613a8c565b600160009054906101000a9004600160a060020a0316600160a060020a03166399bd59ee6040518163ffffffff1660e060020a028152600401602060405180830381600087803b1580156139cc57600080fd5b505af11580156139e0573d6000803e3d6000fd5b505050506040513d60208110156139f657600080fd5b505163ffffffff85166000908152600e602052604090205401421015613a8c576040805160e560020a62461bcd02815260206004820152603e60248201527f6e6f7420656e6f7567682074696d65207061737365642073696e63652074686560448201527f206c61737420636173746c65206c6f6f7420646973747269627574696f6e0000606482015290519081900360840190fd5b6001830154600360e060020a90910460ff161015613af4576040805160e560020a62461bcd02815260206004820152601560248201527f6e65656420746f20666967687420332074696d65730000000000000000000000604482015290519081900360640190fd5b63ffffffff84166000818152600e6020526040902042905560018401805460e060020a60ff0219169055613b3e906103e890613b2f90614f0c565b811515613b3857fe5b066158e2565b91506003826001608060020a03161015613b5757600391505b60326001608060020a0383161115613b6b57fe5b6008546064906001608060020a03640100000000909104811684021684546001608060020a03610100808304821694909304938401811690920270ffffffffffffffffffffffffffffffff001990911617855560088054640100000000808204841685900384160273ffffffffffffffffffffffffffffffff000000001990911617905560408051828416815263ffffffff8816602082015291851682820152519192507f044748c9c1d4b639839f14eae2bf0670989e54a214f284e8713a6bce527b656f919081900360600190a150505050565b606060008060008060006032604051908082528060200260200182016040528015613c75578160200160208202803883390190505b50600b5490965061ffff169150600090505b8161ffff168161ffff1610156141fe5733600160a060020a03166009600060078461ffff16815481101515613cb857fe5b6000918252602080832060088304015460079092166004026101000a90910463ffffffff168352820192909252604001902060010154600160a060020a0316148015613d685750426009600060078461ffff16815481101515613d1757fe5b6000918252602080832060088304015460079092166004026101000a90910463ffffffff16835282019290925260400190206001015460a060020a900467ffffffffffffffff908116620151800116105b8015613e1c5750600c60ff166009600060078461ffff16815481101515613d8b57fe5b6000918252602080832060088304015460079092166004026101000a90910463ffffffff16835282019290925260400190205460ff161080613e1c5750600e60ff166009600060078461ffff16815481101515613de457fe5b6000918252602080832060088304015460079092166004026101000a90910463ffffffff16835282019290925260400190205460ff16115b156141f6575b60008261ffff16118015613e96575033600160a060020a03166009600060076001860361ffff16815481101515613e5557fe5b6000918252602080832060088304015460079092166004026101000a90910463ffffffff168352820192909252604001902060010154600160a060020a0316145b8015613f095750426009600060076001860361ffff16815481101515613eb857fe5b6000918252602080832060088304015460079092166004026101000a90910463ffffffff16835282019290925260400190206001015460a060020a900467ffffffffffffffff908116620151800116105b8015613fbd5750600c60ff166009600060078461ffff16815481101515613f2c57fe5b6000918252602080832060088304015460079092166004026101000a90910463ffffffff16835282019290925260400190205460ff161080613fbd5750600e60ff166009600060078461ffff16815481101515613f8557fe5b6000918252602080832060088304015460079092166004026101000a90910463ffffffff16835282019290925260400190205460ff16115b1561411057600780546000199093019261ffff8416908110613fdb57fe5b60009182526020808320600883040154600790921660040261010090810a90920463ffffffff1680845260098083526040808620805460ff9081168852600c8652918720805461ffff19811661ffff9182166000190190911617905595839052925292548951939750919091046001608060020a0316949094019385918891881690811061406557fe5b63ffffffff9283166020918202909201015260085460019096019585821660a860020a90910490911614156140b7576008805478ffffffff000000000000000000000000000000000000000000191690555b63ffffffff84166000908152600960205260409020805470ffffffffffffffffffffffffffffffffff1916815560010180547cffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19169055613e22565b8060010161ffff168261ffff1611156141f6576009600060078361ffff1681548110151561413a57fe5b60009182526020808320600883040154600792831660040261010090810a90910463ffffffff16855290840194909452604090920190205481549290046001608060020a031694909401939061ffff831690811061419457fe5b90600052602060002090600891828204019190066004029054906101000a900463ffffffff16868660ff168151811015156141cb57fe5b63ffffffff909216602092830290910190910152600190940193600019909101906141f681836144b2565b600101613c87565b600b805461ffff191661ffff84161790556040805133808252602080830187905260609383018481528a519484019490945289517f1e6d26af567145cb0b46ea7135e21671f1e58e8d1f818dab12b0e10eb5ebb07b94929388938c93919290916080840191858201910280838360005b8381101561428657818101518382015260200161426e565b5050505090500194505050505060405180910390a1604051339084156108fc029085906000818181858888f193505050501580156142c8573d6000803e3d6000fd5b5060085460a860020a900463ffffffff1615156142e7576142e761437e565b505050505050565b600081565b600b5461ffff1681565b600054600160a060020a0316331461431557600080fd5b6129a08161595e565b600054600160a060020a0316331461433557600080fd5b80600160a060020a0316ff5b601b81565b600780548290811061435457fe5b9060005260206000209060089182820401919006600402915054906101000a900463ffffffff1681565b60001960005b600b5461ffff9081169082161015614479578163ffffffff1660078261ffff168154811015156143b057fe5b6000918252602090912060088204015460079091166004026101000a900463ffffffff161080156144315750600560ff166009600060078461ffff168154811015156143f857fe5b6000918252602080832060088304015460079092166004026101000a90910463ffffffff16835282019290925260400190205460ff1611155b15614471576007805461ffff831690811061444857fe5b90600052602060002090600891828204019190066004029054906101000a900463ffffffff1691505b600101614384565b506008805463ffffffff90921660a860020a0278ffffffff00000000000000000000000000000000000000000019909216919091179055565b600060078361ffff168154811015156144c757fe5b6000918252602080832060088084049091015460079093166004026101000a90920463ffffffff9081168085526009835260408086205460ff168652600c90935291909320805461ffff19811661ffff91821660001901909116179055905490925060a860020a90041681141561455b576008805478ffffffff000000000000000000000000000000000000000000191690555b63ffffffff81166000908152600960205260409020805470ffffffffffffffffffffffffffffffffff1916815560010180547cffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191690556007805461ffff84169081106145c157fe5b90600052602060002090600891828204019190066004029054906101000a900463ffffffff1660078461ffff168154811015156145fa57fe5b90600052602060002090600891828204019190066004026101000a81548163ffffffff021916908363ffffffff16021790555060078261ffff1681548110151561464057fe5b90600052602060002090600891828204019190066004026101000a81549063ffffffff0219169055505050565b6000806000806000600160009054906101000a9004600160a060020a0316600160a060020a03166349b3b29f876040518263ffffffff1660e060020a028152600401808260ff168152602001915050602060405180830381600087803b1580156146d657600080fd5b505af11580156146ea573d6000803e3d6000fd5b505050506040513d602081101561470057600080fd5b50516001608060020a03163481151561471557fe5b049450600061ffff8616116147c0576040805160e560020a62461bcd02815260206004820152604260248201527f696e73756666696369656e7420616d6f756e74206f6620657468657220746f2060448201527f7075726368617365206120676976656e2074797065206f66206368617261637460648201527f6572000000000000000000000000000000000000000000000000000000000000608482015290519081900360a40190fd5b600b54600154604080517f49e77c8b000000000000000000000000000000000000000000000000000000008152600160a060020a038b8116600483015260ff8b166024830152915161ffff90941697509116916349e77c8b916044808201926020929091908290030181600087803b15801561483b57600080fd5b505af115801561484f573d6000803e3d6000fd5b505050506040513d602081101561486557600080fd5b50511515614909576040805160e560020a62461bcd02815260206004820152604360248201527f696e737566666963696e657420616d6f756e74206f6620746f6b656e7320746f60448201527f207075726368617365206120676976656e2074797065206f662063686172616360648201527f7465720000000000000000000000000000000000000000000000000000000000608482015290519081900360a40190fd5b601b60ff87161015806149b85750600154604080517f49b3b29f00000000000000000000000000000000000000000000000000000000815260ff891660048201529051600160a060020a03909216916349b3b29f916024808201926020929091908290030181600087803b15801561498057600080fd5b505af1158015614994573d6000803e3d6000fd5b505050506040513d60208110156149aa57600080fd5b50516001608060020a031634105b80614a4b5750600160009054906101000a9004600160a060020a0316600160a060020a0316638882ddc96040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015614a1157600080fd5b505af1158015614a25573d6000803e3d6000fd5b505050506040513d6020811015614a3b57600080fd5b505161ffff908116858701909116115b15614a5557600080fd5b60085463ffffffff169250600560ff871611614cd95760085460a860020a900463ffffffff161580614a96575060085460a860020a900463ffffffff908116145b15614acc576008805478ffffffff000000000000000000000000000000000000000000191660a860020a63ffffffff8616021790555b600091505b8461ffff168260ff161015614c9657614af260ff83168481019086016159db565b6040805160a08101825260ff8816808252600154835160e060020a635e383d21028152600481019290925292519192602080850193600160a060020a0390921692635e383d2192602480830193928290030181600087803b158015614b5657600080fd5b505af1158015614b6a573d6000803e3d6000fd5b505050506040513d6020811015614b8057600080fd5b50516001608060020a039081168252600160a060020a038a81166020808501919091524267ffffffffffffffff9081166040808701919091526000606096870181905260ff8a81168c0163ffffffff168252600985529082902088518154958a015160ff199096169083161770ffffffffffffffffffffffffffffffff0019166101009590971694909402959095178355860151600192830180549688015160809098015173ffffffffffffffffffffffffffffffffffffffff1990971691909416177bffffffffffffffff0000000000000000000000000000000000000000191660a060020a96909116959095029490941760e060020a60ff02191660e060020a939092169290920217905590910190614ad1565b60ff86166000908152600c60205260409020805461ffff1980821661ffff9283168901831617909255600b80549283169282168801909116919091179055614e8d565b5060005b8461ffff168160ff161015614e8d576040805160a08101825260ff8816808252600154835160e060020a635e383d21028152600481019290925292519192602080850193600160a060020a0390921692635e383d2192602480830193928290030181600087803b158015614d5057600080fd5b505af1158015614d64573d6000803e3d6000fd5b505050506040513d6020811015614d7a57600080fd5b50516001608060020a039081168252600160a060020a038a81166020808501919091524267ffffffffffffffff9081166040808701919091526000606096870181905260ff8981168c0163ffffffff168252600985529082902088518154958a015160ff199096169083161770ffffffffffffffffffffffffffffffff0019166101009590971694909402959095178355860151600192830180549688015160809098015173ffffffffffffffffffffffffffffffffffffffff1990971691909416177bffffffffffffffff0000000000000000000000000000000000000000191660a060020a96909116959095029490941760e060020a60ff02191660e060020a939092169290920217905501614cdd565b6008805463ffffffff191661ffff871685810163ffffffff9081169290921790925560408051600160a060020a038b16815260ff8a166020820152808201939093529085166060830152517ff7ad76543f114c7bb00ff2cd992ff749d502ed5c0c6f87901ad48f6871fceca1916080908290030190a150505050505050565b600b546040805160001943014081524260208201527e0100000000000000000000000000000000000000000000000000000000000061ffff90931692909202828201526042820183905251908190036062019020919050565b600080600060078661ffff16815481101515614f7d57fe5b6000918252602090912060088204015460079091166004026101000a900463ffffffff16915060019050600f60ff851610801590614fbf5750601460ff851611155b15614fc8575060025b63ffffffff821660009081526010602052604090205460ff80831691161061501a5763ffffffff82166000908152601060205260408120805460ff8082168590031660ff199091161790559250615086565b6009600060078861ffff1681548110151561503157fe5b60009182526020808320600883040154600790921660040261010090810a90920463ffffffff16845283019390935260409091019020546000199690960195046001608060020a0316925061508686866144b2565b50509392505050565b600880546401000000008082046001608060020a0390811660148683160401160273ffffffffffffffffffffffffffffffff0000000019909116179081905560009081908190606090829081908190819063ffffffff60a860020a9091041615156150fc576150fc61437e565b60085460a860020a900463ffffffff908116146151795760085460a860020a900463ffffffff166000908152600960205260409020805470ffffffffffffffffffffffffffffffff00198116600a6001608060020a038d81169182046101009485900482160116909202179091556055606490910402975061518c565b60646001608060020a038a1604605f0297505b60408051601b8082526103808201909252909650866020820161036080388339019050509450600093505b8560ff168460ff16101561528f57600c60ff851610806151da5750600e60ff8516115b80156151fa575060ff84166000908152600c602052604081205461ffff16115b15615284576001546040805160e060020a635e383d2102815260ff871660048201529051600160a060020a0390921691635e383d21916024808201926020929091908290030181600087803b15801561525257600080fd5b505af1158015615266573d6000803e3d6000fd5b505050506040513d602081101561527c57600080fd5b505196909601955b6001909301926151b7565b600092505b8560ff168360ff1610156153d857600c60ff851610806152b75750600e60ff8516115b80156152d7575060ff83166000908152600c602052604081205461ffff16115b156153cd5760ff83166000818152600c6020908152604080832054600154825160e060020a635e383d210281526004810196909652915161ffff909116946001608060020a038d1694600160a060020a0390931693635e383d219360248084019492938390030190829087803b15801561535057600080fd5b505af1158015615364573d6000803e3d6000fd5b505050506040513d602081101561537a57600080fd5b50518a026001608060020a031681151561539057fe5b046001608060020a03168115156153a357fe5b04858460ff168151811015156153b557fe5b6001608060020a039092166020928302909101909101525b600190920191615294565b5060005b600b5461ffff9081169082161015615545576009600060078361ffff1681548110151561540557fe5b6000918252602080832060088304015460079092166004026101000a90910463ffffffff16835282019290925260400190205460ff169150600c82108061544f5750600e60ff8316115b1561553d57846009600060078461ffff1681548110151561546c57fe5b6000918252602080832060088304015460079092166004026101000a90910463ffffffff168352820192909252604001902054815160ff9091169081106154af57fe5b906020019060200201516009600060078461ffff168154811015156154d057fe5b60009182526020808320600883040154600790921660040261010090810a90920463ffffffff16845283019390935260409091019020805470ffffffffffffffffffffffffffffffff00198116908390046001608060020a03908116949094019093169091029190911790555b6001016153dc565b505050505050505050565b600b5460009081908190819061ffff1661556987614f0c565b81151561557257fe5b600b549190069350600761ffff9182160616156155905760076155ae565b600b805461ffff160661ffff166000146155ab57600b6155ae565b600d5b60ff1691508290505b61560d856009600060078561ffff168154811015156155d257fe5b6000918252602080832060088304015460079092166004026101000a90910463ffffffff16835282019290925260400190205460ff1661326d565b8015615677575033600160a060020a03166009600060078461ffff1681548110151561563557fe5b6000918252602080832060088304015460079092166004026101000a90910463ffffffff168352820192909252604001902060010154600160a060020a031614155b15615684578093506156b7565b600b5461ffff908116908284011681151561569b57fe5b06905061ffff808216908416146156b1576155b7565b60001993505b50505092915050565b5060c05190565b5060a05190565b63ffffffff81166000908152600a602052604081205460ff161561573c576040805160e560020a62461bcd02815260206004820152601260248201527f616c72656164792074656c65706f727465640000000000000000000000000000604482015290519081900360640190fd5b5063ffffffff81166000908152600a60209081526040808320805460ff19166001179055600990915290208054600560ff91909116116157eb576040805160e560020a62461bcd028152602060048201526024808201527f647261676f6e7320646f206e6f74206e65656420746f2062652074656c65706f60448201527f7274656400000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600b546157fd90839061ffff166159db565b600b805461ffff8082166001908101821661ffff1993841617909355835460ff166000908152600c6020908152604091829020805480851690960190931694909316939093179055815163ffffffff8516815291517f663f46f5a2fd740de613966ad0391fbc9d840f82898698e6d7f16ba0ed126b3b9281900390910190a15050565b63ffffffff8216600081815260106020908152604091829020805460ff191660ff861690811790915582519384529083015280517f088ba7785fd329abbf01eaa732bad30e14b205b9fc8ab9378f9f5295731135559281900390910190a15050565b60326000805b60085460ff60a060020a909104811690821610156159575761592f6103e86159208360070260ff1687016001608060020a0316614f0c565b81151561592957fe5b06615a91565b9150826001608060020a0316826001608060020a0316101561594f578192505b6001016158e8565b5050919050565b600160a060020a038116151561597357600080fd5b60008054604051600160a060020a03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60075461ffff82161015615a35578160078261ffff168154811015156159fd57fe5b90600052602060002090600891828204019190066004026101000a81548163ffffffff021916908363ffffffff160217905550610eda565b506007805460018101825560008290527fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c68860088204018054919092166004026101000a63ffffffff818102199092169390911602919091179055565b6000806001602d5b60036001608060020a03821610615af157846001608060020a0316836001608060020a03161115615acc57809350615af6565b9181019160236001608060020a03821614615ae8576001820191505b60001901615a99565b600393505b505050919050565b61014060405190810160405280600a906020820280388339509192915050565b5080546000825560070160089004906000526020600020908101906129a09190615b5891905b80821115610f7d5760008155600101615b44565b905600636f6e7472616374732063616e6e6f7420657865637574652074686973206d65a165627a7a7230582067949d9f96abb63cbad0550203e0ab8cd2695e80d6e3628f574cf82a32544f7a0029000000000000000000000000c596bd09d652827b0106292d3e378d5938df4b12000000000000000000000000a54ddc7b3cce7fc8b1e3fa0256d0db80d2c10970000000000000000000000000a7bd9d58d22d5e35ec4a08083141e0340ea2ca93000000000000000000000000d28525ad63f337c86843d720dae921228e44f0ac000000000000000000000000ca1c217a2200b60dbd52e33c7cb1758db2b30a0e0000000000000000000000002a06579f0ab0f55995884222d8766ab10e6ac4bd