61010060405264e8d4a510006a52b7d2dcc80cd2e40000006200002391906200041a565b6080908152503480156200003657600080fd5b50604051620035943803806200359483398181016040528101906200005c919062000739565b33600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600c6000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555086600690805190602001906200012f92919062000331565b5085600790805190602001906200014892919062000331565b508460ff166008819055504260038190555060035460a08181525050603c836200017391906200041a565b60c081815250506b204fce5e3e25026110000000600260006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff160217905550836fffffffffffffffffffffffffffffffff1660e0818152505060006200022b6000600260009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff1660006001620002c4640100000000026401000000009004565b9050600081908060018154018082558091505060019003906000526020600020016000909190919091505581600a8190555082600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508560ff16600a620002b091906200097e565b600b81905550505050505050505062000a34565b6000807affffffffffffffffffffffffffff00000000000000000000000000606860ff16869060020a0216600102811790506cffffffffffffffffff00000000602060ff16859060020a02166001028117905063ffffffff83166001028117905080915050949350505050565b8280546200033f90620009fe565b90600052602060002090601f016020900481019282620003635760008555620003af565b82601f106200037e57805160ff1916838001178555620003af565b82800160010185558215620003af579182015b82811115620003ae57825182559160200191906001019062000391565b5b509050620003be9190620003c2565b5090565b5b80821115620003dd576000816000905550600101620003c3565b5090565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006200042782620003e1565b91506200043483620003e1565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000470576200046f620003eb565b5b828202905092915050565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b620004e48262000499565b810181811067ffffffffffffffff82111715620005065762000505620004aa565b5b80604052505050565b60006200051b6200047b565b9050620005298282620004d9565b919050565b600067ffffffffffffffff8211156200054c576200054b620004aa565b5b620005578262000499565b9050602081019050919050565b60005b838110156200058457808201518184015260208101905062000567565b8381111562000594576000848401525b50505050565b6000620005b1620005ab846200052e565b6200050f565b905082815260208101848484011115620005d057620005cf62000494565b5b620005dd84828562000564565b509392505050565b600082601f830112620005fd57620005fc6200048f565b5b81516200060f8482602086016200059a565b91505092915050565b600060ff82169050919050565b620006308162000618565b81146200063c57600080fd5b50565b600081519050620006508162000625565b92915050565b60006fffffffffffffffffffffffffffffffff82169050919050565b6200067d8162000656565b81146200068957600080fd5b50565b6000815190506200069d8162000672565b92915050565b620006ae81620003e1565b8114620006ba57600080fd5b50565b600081519050620006ce81620006a3565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006200070182620006d4565b9050919050565b6200071381620006f4565b81146200071f57600080fd5b50565b600081519050620007338162000708565b92915050565b600080600080600080600060e0888a0312156200075b576200075a62000485565b5b600088015167ffffffffffffffff8111156200077c576200077b6200048a565b5b6200078a8a828b01620005e5565b975050602088015167ffffffffffffffff811115620007ae57620007ad6200048a565b5b620007bc8a828b01620005e5565b9650506040620007cf8a828b016200063f565b9550506060620007e28a828b016200068c565b9450506080620007f58a828b01620006bd565b93505060a0620008088a828b0162000722565b92505060c06200081b8a828b01620006bd565b91505092959891949750929550565b6000600282049050919050565b6000808291508390505b60018511156200088957808604811115620008615762000860620003eb565b5b6001851615620008715780820291505b808102905062000881856200082a565b945062000841565b94509492505050565b600082620008a4576001905062000977565b81620008b4576000905062000977565b8160018114620008cd5760028114620008d8576200090e565b600191505062000977565b60ff841115620008ed57620008ec620003eb565b5b8360020a915084821115620009075762000906620003eb565b5b5062000977565b5060208310610133831016604e8410600b8410161715620009485782820a905083811115620009425762000941620003eb565b5b62000977565b62000957848484600162000837565b92509050818404811115620009715762000970620003eb565b5b81810290505b9392505050565b60006200098b82620003e1565b91506200099883620003e1565b9250620009c77fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000892565b905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168062000a1757607f821691505b6020821081141562000a2e5762000a2d620009cf565b5b50919050565b60805160a05160c05160e051612ae762000aad60003960008181610ca501528181610ef50152611b4d015260008181611197015281816119c30152611bec0152600081816111c301528181611c0d0152611c520152600081816112360152818161126e015281816112e6015261199f0152612ae76000f3fe608060405234801561001057600080fd5b506004361061027b576000357c0100000000000000000000000000000000000000000000000000000000900480636ffa8a05116101635780639da7d8ba116100e0578063e3ab207a116100a4578063e3ab207a14610820578063e54d63f714610850578063e809529514610880578063eda4e6d61461089e578063f2fde38b146108bc578063f83da35d146108ec5761027b565b80639da7d8ba14610754578063a9059cbb14610784578063ab28cea0146107b4578063b470aade146107d2578063c0ab7077146107f05761027b565b80638da5cb5b116101275780638da5cb5b146106ac5780638f1df6bc146106ca5780638f770ad0146106e857806395d89b4114610706578063983b2d56146107245761027b565b80636ffa8a05146105e057806370a0823114610610578063731f237c1461064057806379ba50971461065e5780638d34855a1461067c5761027b565b8063313ce567116101fc57806351b4541c116101c057806351b4541c146104e4578063573cc5071461051457806358b2833b146105325780636721d4ef146105505780636787a9be146105805780636a2d094e146105b05761027b565b8063313ce5671461040657806340452d9114610424578063449a52f81461045457806347a50517146104845780634abfbba2146104b45761027b565b80631989c6a8116102435780631989c6a81461033a578063229ba1971461035857806323b872dd146103765780633092afd5146103a657806331333487146103d65761027b565b806301ffc9a71461028057806306fdde03146102b0578063095ea7b3146102ce57806309f28f3c146102fe57806318160ddd1461031c575b600080fd5b61029a600480360381019061029591906121bb565b61091c565b6040516102a79190612203565b60405180910390f35b6102b8610ac7565b6040516102c591906122b7565b60405180910390f35b6102e860048036038101906102e3919061236d565b610b55565b6040516102f59190612203565b60405180910390f35b610306610c6f565b60405161031391906123d8565b60405180910390f35b610324610c91565b6040516103319190612402565b60405180910390f35b610342610c97565b60405161034f9190612402565b60405180910390f35b610360610ca3565b60405161036d9190612402565b60405180910390f35b610390600480360381019061038b919061241d565b610cc7565b60405161039d9190612203565b60405180910390f35b6103c060048036038101906103bb9190612470565b610de7565b6040516103cd9190612203565b60405180910390f35b6103f060048036038101906103eb919061249d565b610eda565b6040516103fd9190612402565b60405180910390f35b61040e610f8e565b60405161041b9190612402565b60405180910390f35b61043e600480360381019061043991906124dd565b610f94565b60405161044b9190612523565b60405180910390f35b61046e6004803603810190610469919061236d565b610fb8565b60405161047b9190612203565b60405180910390f35b61049e60048036038101906104999190612470565b61114a565b6040516104ab9190612402565b60405180910390f35b6104ce60048036038101906104c991906124dd565b611193565b6040516104db9190612402565b60405180910390f35b6104fe60048036038101906104f991906124dd565b6111f3565b60405161050b9190612402565b60405180910390f35b61051c611214565b6040516105299190612402565b60405180910390f35b61053a61121a565b6040516105479190612402565b60405180910390f35b61056a6004803603810190610565919061249d565b611220565b6040516105779190612402565b60405180910390f35b61059a600480360381019061059591906124dd565b6112a1565b6040516105a79190612402565b60405180910390f35b6105ca60048036038101906105c591906124dd565b611321565b6040516105d79190612402565b60405180910390f35b6105fa60048036038101906105f5919061256a565b611342565b6040516106079190612402565b60405180910390f35b61062a60048036038101906106259190612470565b61137c565b6040516106379190612402565b60405180910390f35b610648611434565b6040516106559190612203565b60405180910390f35b610666611445565b6040516106739190612203565b60405180910390f35b6106966004803603810190610691919061256a565b6115ec565b6040516106a39190612402565b60405180910390f35b6106b461161a565b6040516106c191906125a6565b60405180910390f35b6106d2611640565b6040516106df9190612203565b60405180910390f35b6106f061178a565b6040516106fd9190612402565b60405180910390f35b61070e611790565b60405161071b91906122b7565b60405180910390f35b61073e60048036038101906107399190612470565b61181e565b60405161074b9190612203565b60405180910390f35b61076e6004803603810190610769919061256a565b6118db565b60405161077b9190612402565b60405180910390f35b61079e6004803603810190610799919061236d565b611907565b6040516107ab9190612203565b60405180910390f35b6107bc61199d565b6040516107c99190612402565b60405180910390f35b6107da6119c1565b6040516107e79190612402565b60405180910390f35b61080a600480360381019061080591906124dd565b6119e5565b6040516108179190612203565b60405180910390f35b61083a6004803603810190610835919061256a565b611b1e565b6040516108479190612402565b60405180910390f35b61086a6004803603810190610865919061249d565b611b32565b6040516108779190612402565b60405180910390f35b610888611be6565b60405161089591906123d8565b60405180910390f35b6108a6611c50565b6040516108b39190612402565b60405180910390f35b6108d660048036038101906108d19190612470565b611c74565b6040516108e39190612203565b60405180910390f35b610906600480360381019061090191906125c1565b611d16565b6040516109139190612523565b60405180910390f35b600063c6bb4b707c010000000000000000000000000000000000000000000000000000000002827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614156109715760019050610ac2565b63449a52f87c010000000000000000000000000000000000000000000000000000000002827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614156109c45760019050610ac2565b6301ffc9a77c010000000000000000000000000000000000000000000000000000000002827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161415610a175760019050610ac2565b639493f8b27c010000000000000000000000000000000000000000000000000000000002827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161415610a6a5760019050610ac2565b6337a47be47c010000000000000000000000000000000000000000000000000000000002827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161415610abd5760019050610ac2565b600090505b919050565b60068054610ad490612657565b80601f0160208091040260200160405190810160405280929190818152602001828054610b0090612657565b8015610b4d5780601f10610b2257610100808354040283529160200191610b4d565b820191906000526020600020905b815481529060010190602001808311610b3057829003601f168201915b505050505081565b600080610b60611640565b50610b6a836112a1565b905080600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610bf891906126b8565b925050819055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92585604051610c5c9190612402565b60405180910390a3600191505092915050565b600260009054906101000a90046fffffffffffffffffffffffffffffffff1681565b60095481565b60008080549050905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000806000610cd4611640565b50610cde846112a1565b915081600d60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610d6957600080fd5b610d74868684611d83565b90508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef86604051610dd39190612402565b60405180910390a380925050509392505050565b6000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610e7057503373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b610e7957600080fd5b6000600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060019050919050565b600080600064e8d4a5100091506a52b7d2dcc80cd2e40000007f0000000000000000000000000000000000000000000000000000000000000000610f1e919061273d565b905060005b84811015610f675764e8d4a510008284610f3d919061276e565b610f47919061273d565b83610f5291906127c8565b92508080610f5f906127fc565b915050610f23565b5064e8d4a510008583610f7a919061276e565b610f84919061273d565b9250505092915050565b60085481565b60008181548110610fa457600080fd5b906000526020600020016000915090505481565b600080600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611047576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161103e90612891565b60405180910390fd5b600a546009548461105891906126b8565b1115611099576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611090906128fd565b60405180910390fd5b6110a1611640565b506110ab836112a1565b905082600960008282546110bf91906126b8565b925050819055506110d08482611da8565b508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fab8530f87dc9b59234c4623bf917212bb2536d647574c8e7e5da92c2ede0c9f88560405161112e9190612402565b60405180910390a361113e611e6d565b50600191505092915050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60007f0000000000000000000000000000000000000000000000000000000000000000826111c1919061276e565b7f00000000000000000000000000000000000000000000000000000000000000006111ec91906126b8565b9050919050565b6000603c824261120391906127c8565b61120d919061273d565b9050919050565b600b5481565b60035481565b6000806402540be40083611234919061276e565b7f000000000000000000000000000000000000000000000000000000000000000061125f91906127c8565b8461126a919061276e565b90507f000000000000000000000000000000000000000000000000000000000000000081611298919061273d565b91505092915050565b60006402540be400600260009054906101000a90046fffffffffffffffffffffffffffffffff166112d2919061291d565b6fffffffffffffffffffffffffffffffff167f000000000000000000000000000000000000000000000000000000000000000083611310919061276e565b61131a919061273d565b9050919050565b6000603c824261133191906127c8565b61133b919061273d565b9050919050565b6000606860ff167affffffffffffffffffffffffffff00000000000000000000000000836001900416908060020a82049150509050919050565b60008060008061138b8561114a565b92506113986003546111f3565b90506113e46402540be400600260009054906101000a90046fffffffffffffffffffffffffffffffff166113cc919061291d565b6fffffffffffffffffffffffffffffffff1682610eda565b6fffffffffffffffffffffffffffffffff16915064e8d4a510006a52b7d2dcc80cd2e4000000611414919061276e565b8284611420919061276e565b61142a919061273d565b9350505050919050565b600061144060006119e5565b905090565b600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146114a257600080fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35090565b60008060006115fa846118db565b915061160584611342565b90506116118282611220565b92505050919050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000806000806000806000806000611656611434565b5061165f611f0f565b9750600060010288141561167e57600098505050505050505050611787565b61168788611b1e565b955060018661169691906126b8565b90506116a186611193565b9150600260009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff1694506116df82611321565b925060008311156116fb576116f48584611b32565b93506116ff565b8493505b61170e60008560095484611d16565b965060008790806001815401808255809150506001900390600052602060002001600090919091909150556117428761200a565b507f55d243082e019fce4009ccea5368b92e436c17586a1e793c7deda16df4e5d675816040516117729190612402565b60405180910390a16001985050505050505050505b90565b600a5481565b6007805461179d90612657565b80601f01602080910402602001604051908101604052809291908181526020018280546117c990612657565b80156118165780601f106117eb57610100808354040283529160200191611816565b820191906000526020600020905b8154815290600101906020018083116117f957829003601f168201915b505050505081565b6000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461187a57600080fd5b6001600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060019050919050565b6000602060ff166cffffffffffffffffff00000000836001900416908060020a82049150509050919050565b6000806000611914611640565b5061191e846112a1565b915061192b338684611d83565b90508473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8660405161198a9190612402565b60405180910390a3809250505092915050565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b60008060006119f56003546111f3565b91506000821415611a0b57600092505050611b19565b600260009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff169050600084118015611a4d57508184105b15611a56578391505b611a608183610eda565b600260006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff160217905550603c82611aa5919061276e565b600354611ab291906126b8565b60038190555080826003547fa0717e54e02bd9829db5e6e998aec0ae9de796b8d150a3cc46a92ab869697755600260009054906101000a90046fffffffffffffffffffffffffffffffff16604051611b0a91906129a2565b60405180910390a46001925050505b919050565b600063ffffffff8260019004169050919050565b600080600064e8d4a5100091506a52b7d2dcc80cd2e40000007f0000000000000000000000000000000000000000000000000000000000000000611b76919061273d565b905060005b84811015611bbf5764e8d4a510008284611b95919061276e565b611b9f919061273d565b83611baa91906126b8565b92508080611bb7906127fc565b915050611b7b565b5064e8d4a510008583611bd2919061276e565b611bdc919061273d565b9250505092915050565b600060017f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000042611c3791906127c8565b611c41919061273d565b611c4b91906126b8565b905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611cd057600080fd5b81600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550919050565b6000807affffffffffffffffffffffffffff00000000000000000000000000606860ff16869060020a0216600102811790506cffffffffffffffffff00000000602060ff16859060020a02166001028117905063ffffffff83166001028117905080915050949350505050565b600080611d908584612056565b50611d9b8484611da8565b5060019150509392505050565b600080600080600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000851415611e055760009350505050611e67565b611e0e8661114a565b92508483611e1c91906126b8565b600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600193505050505b92915050565b6000806000600954905060006001600080549050611e8b91906127c8565b81548110611e9c57611e9b6129bd565b5b90600052602060002001546001900491506cffffffffffffffffff000000001982169150602060ff16819060020a02821791508160010260006001600080549050611ee791906127c8565b81548110611ef857611ef76129bd565b5b906000526020600020018190555060019250505090565b6000806000806001600080549050611f2791906127c8565b81548110611f3857611f376129bd565b5b906000526020600020015491503073ffffffffffffffffffffffffffffffffffffffff1663e80952956040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381865afa158015611fac573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fd09190612a18565b6fffffffffffffffffffffffffffffffff169050611fed82611b1e565b811161200157600060010292505050612007565b81925050505b90565b600080612016836115ec565b905061204c600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16612047836112a1565b611da8565b5080915050919050565b600080600080600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905060008514156120b35760009350505050612158565b6120bc8661114a565b925084831015612101576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120f890612a91565b60405180910390fd5b848361210d91906127c8565b600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600193505050505b92915050565b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61219881612163565b81146121a357600080fd5b50565b6000813590506121b58161218f565b92915050565b6000602082840312156121d1576121d061215e565b5b60006121df848285016121a6565b91505092915050565b60008115159050919050565b6121fd816121e8565b82525050565b600060208201905061221860008301846121f4565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561225857808201518184015260208101905061223d565b83811115612267576000848401525b50505050565b6000601f19601f8301169050919050565b60006122898261221e565b6122938185612229565b93506122a381856020860161223a565b6122ac8161226d565b840191505092915050565b600060208201905081810360008301526122d1818461227e565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612304826122d9565b9050919050565b612314816122f9565b811461231f57600080fd5b50565b6000813590506123318161230b565b92915050565b6000819050919050565b61234a81612337565b811461235557600080fd5b50565b60008135905061236781612341565b92915050565b600080604083850312156123845761238361215e565b5b600061239285828601612322565b92505060206123a385828601612358565b9150509250929050565b60006fffffffffffffffffffffffffffffffff82169050919050565b6123d2816123ad565b82525050565b60006020820190506123ed60008301846123c9565b92915050565b6123fc81612337565b82525050565b600060208201905061241760008301846123f3565b92915050565b6000806000606084860312156124365761243561215e565b5b600061244486828701612322565b935050602061245586828701612322565b925050604061246686828701612358565b9150509250925092565b6000602082840312156124865761248561215e565b5b600061249484828501612322565b91505092915050565b600080604083850312156124b4576124b361215e565b5b60006124c285828601612358565b92505060206124d385828601612358565b9150509250929050565b6000602082840312156124f3576124f261215e565b5b600061250184828501612358565b91505092915050565b6000819050919050565b61251d8161250a565b82525050565b60006020820190506125386000830184612514565b92915050565b6125478161250a565b811461255257600080fd5b50565b6000813590506125648161253e565b92915050565b6000602082840312156125805761257f61215e565b5b600061258e84828501612555565b91505092915050565b6125a0816122f9565b82525050565b60006020820190506125bb6000830184612597565b92915050565b600080600080608085870312156125db576125da61215e565b5b60006125e987828801612358565b94505060206125fa87828801612358565b935050604061260b87828801612358565b925050606061261c87828801612358565b91505092959194509250565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061266f57607f821691505b6020821081141561268357612682612628565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006126c382612337565b91506126ce83612337565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561270357612702612689565b5b828201905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061274882612337565b915061275383612337565b9250826127635761276261270e565b5b828204905092915050565b600061277982612337565b915061278483612337565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156127bd576127bc612689565b5b828202905092915050565b60006127d382612337565b91506127de83612337565b9250828210156127f1576127f0612689565b5b828203905092915050565b600061280782612337565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561283a57612839612689565b5b600182019050919050565b7f4552525f41434345535300000000000000000000000000000000000000000000600082015250565b600061287b600a83612229565b915061288682612845565b602082019050919050565b600060208201905081810360008301526128aa8161286e565b9050919050565b7f4552525f43415000000000000000000000000000000000000000000000000000600082015250565b60006128e7600783612229565b91506128f2826128b1565b602082019050919050565b60006020820190508181036000830152612916816128da565b9050919050565b6000612928826123ad565b9150612933836123ad565b9250816fffffffffffffffffffffffffffffffff048311821515161561295c5761295b612689565b5b828202905092915050565b6000819050919050565b600061298c612987612982846123ad565b612967565b612337565b9050919050565b61299c81612971565b82525050565b60006020820190506129b76000830184612993565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6129f5816123ad565b8114612a0057600080fd5b50565b600081519050612a12816129ec565b92915050565b600060208284031215612a2e57612a2d61215e565b5b6000612a3c84828501612a03565b91505092915050565b7f4552525f4f5645525350454e4400000000000000000000000000000000000000600082015250565b6000612a7b600d83612229565b9150612a8682612a45565b602082019050919050565b60006020820190508181036000830152612aaa81612a6e565b905091905056fea2646970667358221220a34e386e62a58dd57f930ba904b876259533aa4875ee68b32659ea4f3d7b116d64736f6c634300080b0033