60806040526001600c60006101000a81548160ff0219169083151502179055506000601160006101000a81548160ff0219169083151502179055506361a7015060125560405180610140016040528061271161ffff16815260200161271261ffff16815260200161271361ffff16815260200161271461ffff16815260200161271561ffff16815260200161271661ffff16815260200161271761ffff16815260200161271861ffff16815260200161271961ffff16815260200161271a61ffff16815250601490600a620000d692919062000eb1565b50348015620000e457600080fd5b506040516200695f3803806200695f83398181016040528101906200010a919062001073565b6040518060400160405280600d81526020017f5069636b7920506172726f7473000000000000000000000000000000000000008152506040518060400160405280600381526020017f505054000000000000000000000000000000000000000000000000000000000081525081600090805190602001906200018e92919062000efc565b508060019080519060200190620001a792919062000efc565b505050620001ca620001be6200028060201b60201c565b6200028860201b60201c565b620001db816200034e60201b60201c565b60005b600a81101562000228576200021233601483600a8110620002045762000203620015f3565b5b0154620003f960201b60201c565b80806200021f9062001518565b915050620001de565b5060005b600a81101562000278576001600e60008282546200024b919062001374565b92505081905550620002626200041f60201b60201c565b80806200026f9062001518565b9150506200022c565b5050620017a9565b600033905090565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6200035e6200028060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1662000384620004a160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1614620003dd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620003d490620012c6565b60405180910390fd5b8060139080519060200190620003f592919062000efc565b5050565b6200041b828260405180602001604052806000815250620004cb60201b60201c565b5050565b600062000438600b6200053960201b620021ef1760201c565b9050600081141562000475576200045b600b6200054760201b620021fd1760201c565b62000472600b6200053960201b620021ef1760201c565b90505b620004873382620003f960201b60201c565b6200049e600b6200054760201b620021fd1760201c565b50565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b620004dd83836200055d60201b60201c565b620004f260008484846200074360201b60201c565b62000534576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200052b906200123e565b60405180910390fd5b505050565b600081600001549050919050565b6001816000016000828254019250508190555050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415620005d0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620005c790620012a4565b60405180910390fd5b620005e181620008fd60201b60201c565b1562000624576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200061b9062001260565b60405180910390fd5b62000638600083836200096960201b60201c565b6001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546200068a919062001374565b92505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45050565b6000620007718473ffffffffffffffffffffffffffffffffffffffff1662000ab060201b620022131760201c565b15620008f0578373ffffffffffffffffffffffffffffffffffffffff1663150b7a02620007a36200028060201b60201c565b8786866040518563ffffffff1660e01b8152600401620007c79493929190620011ea565b602060405180830381600087803b158015620007e257600080fd5b505af19250505080156200081657506040513d601f19601f8201168201806040525081019062000813919062001041565b60015b6200089f573d806000811462000849576040519150601f19603f3d011682016040523d82523d6000602084013e6200084e565b606091505b5060008151141562000897576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200088e906200123e565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050620008f5565b600190505b949350505050565b60008073ffffffffffffffffffffffffffffffffffffffff166002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614159050919050565b6200098183838362000ac360201b620022261760201c565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415620009ce57620009c88162000ac860201b60201c565b62000a16565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161462000a155762000a14838262000b1160201b60201c565b5b5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141562000a635762000a5d8162000c8e60201b60201c565b62000aab565b8273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161462000aaa5762000aa9828262000d6a60201b60201c565b5b5b505050565b600080823b905060008111915050919050565b505050565b6008805490506009600083815260200190815260200160002081905550600881908060018154018082558091505060019003906000526020600020016000909190919091505550565b6000600162000b2b8462000df660201b620017f91760201c565b62000b379190620013d1565b905060006007600084815260200190815260200160002054905081811462000c1d576000600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002054905080600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002081905550816007600083815260200190815260200160002081905550505b6007600084815260200190815260200160002060009055600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008381526020019081526020016000206000905550505050565b6000600160088054905062000ca49190620013d1565b905060006009600084815260200190815260200160002054905060006008838154811062000cd75762000cd6620015f3565b5b90600052602060002001549050806008838154811062000cfc5762000cfb620015f3565b5b90600052602060002001819055508160096000838152602001908152602001600020819055506009600085815260200190815260200160002060009055600880548062000d4e5762000d4d620015c4565b5b6001900381819060005260206000200160009055905550505050565b600062000d828362000df660201b620017f91760201c565b905081600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002081905550806007600084815260200190815260200160002081905550505050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141562000e6a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000e619062001282565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b82600a810192821562000ee9579160200282015b8281111562000ee8578251829061ffff1690559160200191906001019062000ec5565b5b50905062000ef8919062000f8d565b5090565b82805462000f0a90620014ac565b90600052602060002090601f01602090048101928262000f2e576000855562000f7a565b82601f1062000f4957805160ff191683800117855562000f7a565b8280016001018555821562000f7a579182015b8281111562000f7957825182559160200191906001019062000f5c565b5b50905062000f89919062000f8d565b5090565b5b8082111562000fa857600081600090555060010162000f8e565b5090565b600062000fc362000fbd8462001311565b620012e8565b90508281526020810184848401111562000fe25762000fe162001656565b5b62000fef84828562001476565b509392505050565b60008151905062001008816200178f565b92915050565b600082601f83011262001026576200102562001651565b5b81516200103884826020860162000fac565b91505092915050565b6000602082840312156200105a576200105962001660565b5b60006200106a8482850162000ff7565b91505092915050565b6000602082840312156200108c576200108b62001660565b5b600082015167ffffffffffffffff811115620010ad57620010ac6200165b565b5b620010bb848285016200100e565b91505092915050565b620010cf816200140c565b82525050565b6000620010e28262001347565b620010ee818562001352565b93506200110081856020860162001476565b6200110b8162001665565b840191505092915050565b60006200112560328362001363565b9150620011328262001676565b604082019050919050565b60006200114c601c8362001363565b91506200115982620016c5565b602082019050919050565b600062001173602a8362001363565b91506200118082620016ee565b604082019050919050565b60006200119a60208362001363565b9150620011a7826200173d565b602082019050919050565b6000620011c160208362001363565b9150620011ce8262001766565b602082019050919050565b620011e4816200146c565b82525050565b6000608082019050620012016000830187620010c4565b620012106020830186620010c4565b6200121f6040830185620011d9565b8181036060830152620012338184620010d5565b905095945050505050565b60006020820190508181036000830152620012598162001116565b9050919050565b600060208201905081810360008301526200127b816200113d565b9050919050565b600060208201905081810360008301526200129d8162001164565b9050919050565b60006020820190508181036000830152620012bf816200118b565b9050919050565b60006020820190508181036000830152620012e181620011b2565b9050919050565b6000620012f462001307565b9050620013028282620014e2565b919050565b6000604051905090565b600067ffffffffffffffff8211156200132f576200132e62001622565b5b6200133a8262001665565b9050602081019050919050565b600081519050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600062001381826200146c565b91506200138e836200146c565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115620013c657620013c562001566565b5b828201905092915050565b6000620013de826200146c565b9150620013eb836200146c565b92508282101562001401576200140062001566565b5b828203905092915050565b600062001419826200144c565b9050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60005b838110156200149657808201518184015260208101905062001479565b83811115620014a6576000848401525b50505050565b60006002820490506001821680620014c557607f821691505b60208210811415620014dc57620014db62001595565b5b50919050565b620014ed8262001665565b810181811067ffffffffffffffff821117156200150f576200150e62001622565b5b80604052505050565b600062001525826200146c565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156200155b576200155a62001566565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b7f4552433732313a2062616c616e636520717565727920666f7220746865207a6560008201527f726f206164647265737300000000000000000000000000000000000000000000602082015250565b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6200179a8162001420565b8114620017a657600080fd5b50565b6151a680620017b96000396000f3fe60806040526004361061025c5760003560e01c80636352211e11610144578063a22cb465116100b6578063d547cfb71161007a578063d547cfb7146108de578063e81223a714610909578063e8a70acf14610932578063e985e9c51461096f578063f2fde38b146109ac578063fdea8e0b146109d55761025c565b8063a22cb465146107e7578063ae10426514610810578063aef6d4b11461084d578063b88d4fde14610878578063c87b56dd146108a15761025c565b80638462151c116101085780638462151c146106c15780638d859f3e146106fe5780638da5cb5b1461072957806395d89b4114610754578063963c41771461077f5780639da70495146107bc5761025c565b80636352211e146105f057806370a082311461062d578063715018a61461066a5780637f649783146106815780637f690c33146106aa5761025c565b806332cb6b0c116101dd5780634f6ccce7116101a15780634f6ccce7146104e2578063548db1741461051f578063556fedd21461054857806355f804b3146105735780635dc70c711461059c578063617b43dd146105b35761025c565b806332cb6b0c1461042b5780633af32abf146104565780633b4b1381146104935780633ccfd60b146104af57806342842e0e146104b95761025c565b806317756f891161022457806317756f891461034657806318160ddd1461036f5780631e08a9e41461039a57806323b872dd146103c55780632f745c59146103ee5761025c565b806301ffc9a71461026157806306fdde031461029e578063081812fc146102c9578063095ea7b3146103065780630c1c972a1461032f575b600080fd5b34801561026d57600080fd5b5061028860048036038101906102839190613a99565b610a00565b6040516102959190614154565b60405180910390f35b3480156102aa57600080fd5b506102b3610a7a565b6040516102c0919061416f565b60405180910390f35b3480156102d557600080fd5b506102f060048036038101906102eb9190613b3c565b610b0c565b6040516102fd91906140cb565b60405180910390f35b34801561031257600080fd5b5061032d60048036038101906103289190613998565b610b91565b005b34801561033b57600080fd5b50610344610ca9565b005b34801561035257600080fd5b5061036d600480360381019061036891906139d8565b610d42565b005b34801561037b57600080fd5b50610384610e40565b60405161039191906144f1565b60405180910390f35b3480156103a657600080fd5b506103af610e4d565b6040516103bc91906144f1565b60405180910390f35b3480156103d157600080fd5b506103ec60048036038101906103e79190613882565b610e53565b005b3480156103fa57600080fd5b5061041560048036038101906104109190613998565b610eb3565b60405161042291906144f1565b60405180910390f35b34801561043757600080fd5b50610440610f58565b60405161044d91906144f1565b60405180910390f35b34801561046257600080fd5b5061047d60048036038101906104789190613815565b610f5e565b60405161048a9190614154565b60405180910390f35b6104ad60048036038101906104a89190613b3c565b610f7e565b005b6104b76112dc565b005b3480156104c557600080fd5b506104e060048036038101906104db9190613882565b611450565b005b3480156104ee57600080fd5b5061050960048036038101906105049190613b3c565b611470565b60405161051691906144f1565b60405180910390f35b34801561052b57600080fd5b50610546600480360381019061054191906139d8565b6114e1565b005b34801561055457600080fd5b5061055d6115f2565b60405161056a91906144f1565b60405180910390f35b34801561057f57600080fd5b5061059a60048036038101906105959190613af3565b6115fd565b005b3480156105a857600080fd5b506105b1611693565b005b3480156105bf57600080fd5b506105da60048036038101906105d59190613b3c565b61172c565b6040516105e791906144f1565b60405180910390f35b3480156105fc57600080fd5b5061061760048036038101906106129190613b3c565b611747565b60405161062491906140cb565b60405180910390f35b34801561063957600080fd5b50610654600480360381019061064f9190613815565b6117f9565b60405161066191906144f1565b60405180910390f35b34801561067657600080fd5b5061067f6118b1565b005b34801561068d57600080fd5b506106a860048036038101906106a391906139d8565b611939565b005b3480156106b657600080fd5b506106bf611a4a565b005b3480156106cd57600080fd5b506106e860048036038101906106e39190613815565b611b7f565b6040516106f59190614132565b60405180910390f35b34801561070a57600080fd5b50610713611c2d565b60405161072091906144f1565b60405180910390f35b34801561073557600080fd5b5061073e611c39565b60405161074b91906140cb565b60405180910390f35b34801561076057600080fd5b50610769611c63565b604051610776919061416f565b60405180910390f35b34801561078b57600080fd5b506107a660048036038101906107a19190613815565b611cf5565b6040516107b391906144f1565b60405180910390f35b3480156107c857600080fd5b506107d1611d0d565b6040516107de91906144f1565b60405180910390f35b3480156107f357600080fd5b5061080e60048036038101906108099190613958565b611d13565b005b34801561081c57600080fd5b5061083760048036038101906108329190613b3c565b611d29565b60405161084491906144f1565b60405180910390f35b34801561085957600080fd5b50610862611d76565b60405161086f9190614154565b60405180910390f35b34801561088457600080fd5b5061089f600480360381019061089a91906138d5565b611d89565b005b3480156108ad57600080fd5b506108c860048036038101906108c39190613b3c565b611deb565b6040516108d5919061416f565b60405180910390f35b3480156108ea57600080fd5b506108f3611e92565b604051610900919061416f565b60405180910390f35b34801561091557600080fd5b50610930600480360381019061092b9190613a21565b611f20565b005b34801561093e57600080fd5b5061095960048036038101906109549190613815565b612038565b60405161096691906144f1565b60405180910390f35b34801561097b57600080fd5b5061099660048036038101906109919190613842565b612050565b6040516109a39190614154565b60405180910390f35b3480156109b857600080fd5b506109d360048036038101906109ce9190613815565b6120e4565b005b3480156109e157600080fd5b506109ea6121dc565b6040516109f79190614154565b60405180910390f35b60007f780e9d63000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610a735750610a728261222b565b5b9050919050565b606060008054610a899061483d565b80601f0160208091040260200160405190810160405280929190818152602001828054610ab59061483d565b8015610b025780601f10610ad757610100808354040283529160200191610b02565b820191906000526020600020905b815481529060010190602001808311610ae557829003601f168201915b5050505050905090565b6000610b178261230d565b610b56576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b4d906143d1565b60405180910390fd5b6004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000610b9c82611747565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610c0d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c0490614451565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16610c2c612379565b73ffffffffffffffffffffffffffffffffffffffff161480610c5b5750610c5a81610c55612379565b612050565b5b610c9a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c91906142f1565b60405180910390fd5b610ca48383612381565b505050565b610cb1612379565b73ffffffffffffffffffffffffffffffffffffffff16610ccf611c39565b73ffffffffffffffffffffffffffffffffffffffff1614610d25576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d1c906143f1565b60405180910390fd5b6000600c60006101000a81548160ff021916908315150217905550565b610d4a612379565b73ffffffffffffffffffffffffffffffffffffffff16610d68611c39565b73ffffffffffffffffffffffffffffffffffffffff1614610dbe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610db5906143f1565b60405180910390fd5b60005b8151811015610e3c57600060106000848481518110610de357610de26149d6565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508080610e34906148a0565b915050610dc1565b5050565b6000600880549050905090565b60125481565b610e64610e5e612379565b8261243a565b610ea3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e9a90614491565b60405180910390fd5b610eae838383612518565b505050565b6000610ebe836117f9565b8210610eff576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ef690614191565b60405180910390fd5b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002054905092915050565b61271a81565b600f6020528060005260406000206000915054906101000a900460ff1681565b6000610f8a600b6121ef565b905061271a610fa2838361277490919063ffffffff16565b1115610fe3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fda90614291565b60405180910390fd5b60008211611026576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161101d906142d1565b60405180910390fd5b61102f82611d29565b341015611071576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161106890614271565b60405180910390fd5b600c60009054906101000a900460ff16156112b157600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611112576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611109906143b1565b60405180910390fd5b81600e60008282546111249190614672565b925050819055506105dc600e541115611172576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611169906144d1565b60405180910390fd5b600080600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414156111c057600190505b82600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461120f9190614672565b925050819055506003600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541115611299576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161129090614251565b60405180910390fd5b80156112af576001836112ac9190614672565b92505b505b60005b828110156112d7576112c461278a565b80806112cf906148a0565b9150506112b4565b505050565b6112e4612379565b73ffffffffffffffffffffffffffffffffffffffff16611302611c39565b73ffffffffffffffffffffffffffffffffffffffff1614611358576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161134f906143f1565b60405180910390fd5b6000479050600081116113a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161139790614391565b60405180910390fd5b60003373ffffffffffffffffffffffffffffffffffffffff16826040516113c6906140b6565b60006040518083038185875af1925050503d8060008114611403576040519150601f19603f3d011682016040523d82523d6000602084013e611408565b606091505b505090508061144c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161144390614471565b60405180910390fd5b5050565b61146b83838360405180602001604052806000815250611d89565b505050565b600061147a610e40565b82106114bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114b2906144b1565b60405180910390fd5b600882815481106114cf576114ce6149d6565b5b90600052602060002001549050919050565b6114e9612379565b73ffffffffffffffffffffffffffffffffffffffff16611507611c39565b73ffffffffffffffffffffffffffffffffffffffff161461155d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611554906143f1565b60405180910390fd5b60005b81518110156115ee576000600f6000848481518110611582576115816149d6565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806115e6906148a0565b915050611560565b5050565b66f8b0a10e47000081565b611605612379565b73ffffffffffffffffffffffffffffffffffffffff16611623611c39565b73ffffffffffffffffffffffffffffffffffffffff1614611679576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611670906143f1565b60405180910390fd5b806013908051906020019061168f9291906134ed565b5050565b61169b612379565b73ffffffffffffffffffffffffffffffffffffffff166116b9611c39565b73ffffffffffffffffffffffffffffffffffffffff161461170f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611706906143f1565b60405180910390fd5b6000601160006101000a81548160ff021916908315150217905550565b601481600a811061173c57600080fd5b016000915090505481565b6000806002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156117f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117e790614331565b60405180910390fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561186a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161186190614311565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6118b9612379565b73ffffffffffffffffffffffffffffffffffffffff166118d7611c39565b73ffffffffffffffffffffffffffffffffffffffff161461192d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611924906143f1565b60405180910390fd5b61193760006127cf565b565b611941612379565b73ffffffffffffffffffffffffffffffffffffffff1661195f611c39565b73ffffffffffffffffffffffffffffffffffffffff16146119b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119ac906143f1565b60405180910390fd5b60005b8151811015611a46576001600f60008484815181106119da576119d96149d6565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080611a3e906148a0565b9150506119b8565b5050565b6000601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411611acc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ac390614351565b60405180910390fd5b6000601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060005b81811015611b7b57611b6861278a565b8080611b73906148a0565b915050611b58565b5050565b60606000611b8c836117f9565b905060008167ffffffffffffffff811115611baa57611ba9614a05565b5b604051908082528060200260200182016040528015611bd85781602001602082028036833780820191505090505b50905060005b82811015611c2257611bf08582610eb3565b828281518110611c0357611c026149d6565b5b6020026020010181815250508080611c1a906148a0565b915050611bde565b508092505050919050565b67011c37937e08000081565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060018054611c729061483d565b80601f0160208091040260200160405190810160405280929190818152602001828054611c9e9061483d565b8015611ceb5780601f10611cc057610100808354040283529160200191611ceb565b820191906000526020600020905b815481529060010190602001808311611cce57829003601f168201915b5050505050905090565b600d6020528060005260406000206000915090505481565b600e5481565b611d25611d1e612379565b8383612895565b5050565b6000600c60009054906101000a900460ff1615611d5a5766f8b0a10e47000082611d5391906146f9565b9050611d71565b67011c37937e08000082611d6e91906146f9565b90505b919050565b601160009054906101000a900460ff1681565b611d9a611d94612379565b8361243a565b611dd9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dd090614491565b60405180910390fd5b611de584848484612a02565b50505050565b6060611df68261230d565b611e35576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e2c90614431565b60405180910390fd5b6000611e3f612a5e565b90506000815111611e5f5760405180602001604052806000815250611e8a565b80611e6984612b2a565b604051602001611e7a929190614092565b6040516020818303038152906040525b915050919050565b60138054611e9f9061483d565b80601f0160208091040260200160405190810160405280929190818152602001828054611ecb9061483d565b8015611f185780601f10611eed57610100808354040283529160200191611f18565b820191906000526020600020905b815481529060010190602001808311611efb57829003601f168201915b505050505081565b611f28612379565b73ffffffffffffffffffffffffffffffffffffffff16611f46611c39565b73ffffffffffffffffffffffffffffffffffffffff1614611f9c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f93906143f1565b60405180910390fd5b60005b825181101561203357818181518110611fbb57611fba6149d6565b5b602002602001015160106000858481518110611fda57611fd96149d6565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550808061202b906148a0565b915050611f9f565b505050565b60106020528060005260406000206000915090505481565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6120ec612379565b73ffffffffffffffffffffffffffffffffffffffff1661210a611c39565b73ffffffffffffffffffffffffffffffffffffffff1614612160576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612157906143f1565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156121d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121c7906141d1565b60405180910390fd5b6121d9816127cf565b50565b600c60009054906101000a900460ff1681565b600081600001549050919050565b6001816000016000828254019250508190555050565b600080823b905060008111915050919050565b505050565b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806122f657507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80612306575061230582612c8b565b5b9050919050565b60008073ffffffffffffffffffffffffffffffffffffffff166002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614159050919050565b600033905090565b816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff166123f483611747565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60006124458261230d565b612484576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161247b906142b1565b60405180910390fd5b600061248f83611747565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614806124fe57508373ffffffffffffffffffffffffffffffffffffffff166124e684610b0c565b73ffffffffffffffffffffffffffffffffffffffff16145b8061250f575061250e8185612050565b5b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff1661253882611747565b73ffffffffffffffffffffffffffffffffffffffff161461258e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161258590614411565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156125fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125f590614211565b60405180910390fd5b612609838383612cf5565b612614600082612381565b6001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546126649190614753565b925050819055506001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546126bb9190614672565b92505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b600081836127829190614672565b905092915050565b6000612796600b6121ef565b905060008114156127b8576127ab600b6121fd565b6127b5600b6121ef565b90505b6127c23382612e09565b6127cc600b6121fd565b50565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612904576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128fb90614231565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31836040516129f59190614154565b60405180910390a3505050565b612a0d848484612518565b612a1984848484612e27565b612a58576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a4f906141b1565b60405180910390fd5b50505050565b606060125442108015612a7d5750601160009054906101000a900460ff165b15612a9957604051806020016040528060008152509050612b27565b60138054612aa69061483d565b80601f0160208091040260200160405190810160405280929190818152602001828054612ad29061483d565b8015612b1f5780601f10612af457610100808354040283529160200191612b1f565b820191906000526020600020905b815481529060010190602001808311612b0257829003601f168201915b505050505090505b90565b60606000821415612b72576040518060400160405280600181526020017f30000000000000000000000000000000000000000000000000000000000000008152509050612c86565b600082905060005b60008214612ba4578080612b8d906148a0565b915050600a82612b9d91906146c8565b9150612b7a565b60008167ffffffffffffffff811115612bc057612bbf614a05565b5b6040519080825280601f01601f191660200182016040528015612bf25781602001600182028036833780820191505090505b5090505b60008514612c7f57600182612c0b9190614753565b9150600a85612c1a91906148e9565b6030612c269190614672565b60f81b818381518110612c3c57612c3b6149d6565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a85612c7891906146c8565b9450612bf6565b8093505050505b919050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b612d00838383612226565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612d4357612d3e81612fbe565b612d82565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614612d8157612d808382613007565b5b5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612dc557612dc081613174565b612e04565b8273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614612e0357612e028282613245565b5b5b505050565b612e238282604051806020016040528060008152506132c4565b5050565b6000612e488473ffffffffffffffffffffffffffffffffffffffff16612213565b15612fb1578373ffffffffffffffffffffffffffffffffffffffff1663150b7a02612e71612379565b8786866040518563ffffffff1660e01b8152600401612e9394939291906140e6565b602060405180830381600087803b158015612ead57600080fd5b505af1925050508015612ede57506040513d601f19601f82011682018060405250810190612edb9190613ac6565b60015b612f61573d8060008114612f0e576040519150601f19603f3d011682016040523d82523d6000602084013e612f13565b606091505b50600081511415612f59576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612f50906141b1565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050612fb6565b600190505b949350505050565b6008805490506009600083815260200190815260200160002081905550600881908060018154018082558091505060019003906000526020600020016000909190919091505550565b60006001613014846117f9565b61301e9190614753565b9050600060076000848152602001908152602001600020549050818114613103576000600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002054905080600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002081905550816007600083815260200190815260200160002081905550505b6007600084815260200190815260200160002060009055600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008381526020019081526020016000206000905550505050565b600060016008805490506131889190614753565b90506000600960008481526020019081526020016000205490506000600883815481106131b8576131b76149d6565b5b9060005260206000200154905080600883815481106131da576131d96149d6565b5b906000526020600020018190555081600960008381526020019081526020016000208190555060096000858152602001908152602001600020600090556008805480613229576132286149a7565b5b6001900381819060005260206000200160009055905550505050565b6000613250836117f9565b905081600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002081905550806007600084815260200190815260200160002081905550505050565b6132ce838361331f565b6132db6000848484612e27565b61331a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613311906141b1565b60405180910390fd5b505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561338f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161338690614371565b60405180910390fd5b6133988161230d565b156133d8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016133cf906141f1565b60405180910390fd5b6133e460008383612cf5565b6001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546134349190614672565b92505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45050565b8280546134f99061483d565b90600052602060002090601f01602090048101928261351b5760008555613562565b82601f1061353457805160ff1916838001178555613562565b82800160010185558215613562579182015b82811115613561578251825591602001919060010190613546565b5b50905061356f9190613573565b5090565b5b8082111561358c576000816000905550600101613574565b5090565b60006135a361359e84614531565b61450c565b905080838252602082019050828560208602820111156135c6576135c5614a39565b5b60005b858110156135f657816135dc88826136f4565b8452602084019350602083019250506001810190506135c9565b5050509392505050565b600061361361360e8461455d565b61450c565b9050808382526020820190508285602086028201111561363657613635614a39565b5b60005b85811015613666578161364c8882613800565b845260208401935060208301925050600181019050613639565b5050509392505050565b600061368361367e84614589565b61450c565b90508281526020810184848401111561369f5761369e614a3e565b5b6136aa8482856147fb565b509392505050565b60006136c56136c0846145ba565b61450c565b9050828152602081018484840111156136e1576136e0614a3e565b5b6136ec8482856147fb565b509392505050565b60008135905061370381615114565b92915050565b600082601f83011261371e5761371d614a34565b5b813561372e848260208601613590565b91505092915050565b600082601f83011261374c5761374b614a34565b5b813561375c848260208601613600565b91505092915050565b6000813590506137748161512b565b92915050565b60008135905061378981615142565b92915050565b60008151905061379e81615142565b92915050565b600082601f8301126137b9576137b8614a34565b5b81356137c9848260208601613670565b91505092915050565b600082601f8301126137e7576137e6614a34565b5b81356137f78482602086016136b2565b91505092915050565b60008135905061380f81615159565b92915050565b60006020828403121561382b5761382a614a48565b5b6000613839848285016136f4565b91505092915050565b6000806040838503121561385957613858614a48565b5b6000613867858286016136f4565b9250506020613878858286016136f4565b9150509250929050565b60008060006060848603121561389b5761389a614a48565b5b60006138a9868287016136f4565b93505060206138ba868287016136f4565b92505060406138cb86828701613800565b9150509250925092565b600080600080608085870312156138ef576138ee614a48565b5b60006138fd878288016136f4565b945050602061390e878288016136f4565b935050604061391f87828801613800565b925050606085013567ffffffffffffffff8111156139405761393f614a43565b5b61394c878288016137a4565b91505092959194509250565b6000806040838503121561396f5761396e614a48565b5b600061397d858286016136f4565b925050602061398e85828601613765565b9150509250929050565b600080604083850312156139af576139ae614a48565b5b60006139bd858286016136f4565b92505060206139ce85828601613800565b9150509250929050565b6000602082840312156139ee576139ed614a48565b5b600082013567ffffffffffffffff811115613a0c57613a0b614a43565b5b613a1884828501613709565b91505092915050565b60008060408385031215613a3857613a37614a48565b5b600083013567ffffffffffffffff811115613a5657613a55614a43565b5b613a6285828601613709565b925050602083013567ffffffffffffffff811115613a8357613a82614a43565b5b613a8f85828601613737565b9150509250929050565b600060208284031215613aaf57613aae614a48565b5b6000613abd8482850161377a565b91505092915050565b600060208284031215613adc57613adb614a48565b5b6000613aea8482850161378f565b91505092915050565b600060208284031215613b0957613b08614a48565b5b600082013567ffffffffffffffff811115613b2757613b26614a43565b5b613b33848285016137d2565b91505092915050565b600060208284031215613b5257613b51614a48565b5b6000613b6084828501613800565b91505092915050565b6000613b758383614074565b60208301905092915050565b613b8a81614787565b82525050565b6000613b9b826145fb565b613ba58185614629565b9350613bb0836145eb565b8060005b83811015613be1578151613bc88882613b69565b9750613bd38361461c565b925050600181019050613bb4565b5085935050505092915050565b613bf781614799565b82525050565b6000613c0882614606565b613c12818561463a565b9350613c2281856020860161480a565b613c2b81614a4d565b840191505092915050565b6000613c4182614611565b613c4b8185614656565b9350613c5b81856020860161480a565b613c6481614a4d565b840191505092915050565b6000613c7a82614611565b613c848185614667565b9350613c9481856020860161480a565b80840191505092915050565b6000613cad602b83614656565b9150613cb882614a5e565b604082019050919050565b6000613cd0603283614656565b9150613cdb82614aad565b604082019050919050565b6000613cf3602683614656565b9150613cfe82614afc565b604082019050919050565b6000613d16601c83614656565b9150613d2182614b4b565b602082019050919050565b6000613d39602483614656565b9150613d4482614b74565b604082019050919050565b6000613d5c601983614656565b9150613d6782614bc3565b602082019050919050565b6000613d7f602983614656565b9150613d8a82614bec565b604082019050919050565b6000613da2602283614656565b9150613dad82614c3b565b604082019050919050565b6000613dc5601583614656565b9150613dd082614c8a565b602082019050919050565b6000613de8602c83614656565b9150613df382614cb3565b604082019050919050565b6000613e0b601383614656565b9150613e1682614d02565b602082019050919050565b6000613e2e603883614656565b9150613e3982614d2b565b604082019050919050565b6000613e51602a83614656565b9150613e5c82614d7a565b604082019050919050565b6000613e74602983614656565b9150613e7f82614dc9565b604082019050919050565b6000613e97601283614656565b9150613ea282614e18565b602082019050919050565b6000613eba602083614656565b9150613ec582614e41565b602082019050919050565b6000613edd601983614656565b9150613ee882614e6a565b602082019050919050565b6000613f00601b83614656565b9150613f0b82614e93565b602082019050919050565b6000613f23602c83614656565b9150613f2e82614ebc565b604082019050919050565b6000613f46602083614656565b9150613f5182614f0b565b602082019050919050565b6000613f69602983614656565b9150613f7482614f34565b604082019050919050565b6000613f8c602f83614656565b9150613f9782614f83565b604082019050919050565b6000613faf602183614656565b9150613fba82614fd2565b604082019050919050565b6000613fd260008361464b565b9150613fdd82615021565b600082019050919050565b6000613ff5601083614656565b915061400082615024565b602082019050919050565b6000614018603183614656565b91506140238261504d565b604082019050919050565b600061403b602c83614656565b91506140468261509c565b604082019050919050565b600061405e601183614656565b9150614069826150eb565b602082019050919050565b61407d816147f1565b82525050565b61408c816147f1565b82525050565b600061409e8285613c6f565b91506140aa8284613c6f565b91508190509392505050565b60006140c182613fc5565b9150819050919050565b60006020820190506140e06000830184613b81565b92915050565b60006080820190506140fb6000830187613b81565b6141086020830186613b81565b6141156040830185614083565b81810360608301526141278184613bfd565b905095945050505050565b6000602082019050818103600083015261414c8184613b90565b905092915050565b60006020820190506141696000830184613bee565b92915050565b600060208201905081810360008301526141898184613c36565b905092915050565b600060208201905081810360008301526141aa81613ca0565b9050919050565b600060208201905081810360008301526141ca81613cc3565b9050919050565b600060208201905081810360008301526141ea81613ce6565b9050919050565b6000602082019050818103600083015261420a81613d09565b9050919050565b6000602082019050818103600083015261422a81613d2c565b9050919050565b6000602082019050818103600083015261424a81613d4f565b9050919050565b6000602082019050818103600083015261426a81613d72565b9050919050565b6000602082019050818103600083015261428a81613d95565b9050919050565b600060208201905081810360008301526142aa81613db8565b9050919050565b600060208201905081810360008301526142ca81613ddb565b9050919050565b600060208201905081810360008301526142ea81613dfe565b9050919050565b6000602082019050818103600083015261430a81613e21565b9050919050565b6000602082019050818103600083015261432a81613e44565b9050919050565b6000602082019050818103600083015261434a81613e67565b9050919050565b6000602082019050818103600083015261436a81613e8a565b9050919050565b6000602082019050818103600083015261438a81613ead565b9050919050565b600060208201905081810360008301526143aa81613ed0565b9050919050565b600060208201905081810360008301526143ca81613ef3565b9050919050565b600060208201905081810360008301526143ea81613f16565b9050919050565b6000602082019050818103600083015261440a81613f39565b9050919050565b6000602082019050818103600083015261442a81613f5c565b9050919050565b6000602082019050818103600083015261444a81613f7f565b9050919050565b6000602082019050818103600083015261446a81613fa2565b9050919050565b6000602082019050818103600083015261448a81613fe8565b9050919050565b600060208201905081810360008301526144aa8161400b565b9050919050565b600060208201905081810360008301526144ca8161402e565b9050919050565b600060208201905081810360008301526144ea81614051565b9050919050565b60006020820190506145066000830184614083565b92915050565b6000614516614527565b9050614522828261486f565b919050565b6000604051905090565b600067ffffffffffffffff82111561454c5761454b614a05565b5b602082029050602081019050919050565b600067ffffffffffffffff82111561457857614577614a05565b5b602082029050602081019050919050565b600067ffffffffffffffff8211156145a4576145a3614a05565b5b6145ad82614a4d565b9050602081019050919050565b600067ffffffffffffffff8211156145d5576145d4614a05565b5b6145de82614a4d565b9050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b600081905092915050565b600061467d826147f1565b9150614688836147f1565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156146bd576146bc61491a565b5b828201905092915050565b60006146d3826147f1565b91506146de836147f1565b9250826146ee576146ed614949565b5b828204905092915050565b6000614704826147f1565b915061470f836147f1565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156147485761474761491a565b5b828202905092915050565b600061475e826147f1565b9150614769836147f1565b92508282101561477c5761477b61491a565b5b828203905092915050565b6000614792826147d1565b9050919050565b60008115159050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b82818337600083830152505050565b60005b8381101561482857808201518184015260208101905061480d565b83811115614837576000848401525b50505050565b6000600282049050600182168061485557607f821691505b6020821081141561486957614868614978565b5b50919050565b61487882614a4d565b810181811067ffffffffffffffff8211171561489757614896614a05565b5b80604052505050565b60006148ab826147f1565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156148de576148dd61491a565b5b600182019050919050565b60006148f4826147f1565b91506148ff836147f1565b92508261490f5761490e614949565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f455243373231456e756d657261626c653a206f776e657220696e646578206f7560008201527f74206f6620626f756e6473000000000000000000000000000000000000000000602082015250565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b7f416464726573732063616e2774206d696e74206d6f7265204e46547320696e2060008201527f7072652d73616c652e0000000000000000000000000000000000000000000000602082015250565b7f4e6f7420656e6f75676820657468657220746f207075726368617365204e465460008201527f732e000000000000000000000000000000000000000000000000000000000000602082015250565b7f4e6f7420656e6f756768204e465473206c656674210000000000000000000000600082015250565b7f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860008201527f697374656e7420746f6b656e0000000000000000000000000000000000000000602082015250565b7f43616e6e6f74206d696e742030204e4654732e00000000000000000000000000600082015250565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760008201527f6e6572206e6f7220617070726f76656420666f7220616c6c0000000000000000602082015250565b7f4552433732313a2062616c616e636520717565727920666f7220746865207a6560008201527f726f206164647265737300000000000000000000000000000000000000000000602082015250565b7f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460008201527f656e7420746f6b656e0000000000000000000000000000000000000000000000602082015250565b7f4e6f2066726565204e465473206c656674210000000000000000000000000000600082015250565b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b7f4e6f206574686572206c65667420746f20776974686472617700000000000000600082015250565b7f41646472657373206973206e6f742077686974656c6973746564210000000000600082015250565b7f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860008201527f697374656e7420746f6b656e0000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f4552433732313a207472616e73666572206f6620746f6b656e2074686174206960008201527f73206e6f74206f776e0000000000000000000000000000000000000000000000602082015250565b7f4552433732314d657461646174613a2055524920717565727920666f72206e6f60008201527f6e6578697374656e7420746f6b656e0000000000000000000000000000000000602082015250565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b50565b7f5472616e73666572206661696c65642e00000000000000000000000000000000600082015250565b7f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f60008201527f776e6572206e6f7220617070726f766564000000000000000000000000000000602082015250565b7f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60008201527f7574206f6620626f756e64730000000000000000000000000000000000000000602082015250565b7f5072652d73616c65206973206f7665722e000000000000000000000000000000600082015250565b61511d81614787565b811461512857600080fd5b50565b61513481614799565b811461513f57600080fd5b50565b61514b816147a5565b811461515657600080fd5b50565b615162816147f1565b811461516d57600080fd5b5056fea2646970667358221220deebbfadbcbe178e936e8f00805b224fd07fdfd7e3290f4c6a02f868f410a8de64736f6c634300080700330000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002168747470733a2f2f7069636b79706172726f74732e696f2f4d657461646174612f00000000000000000000000000000000000000000000000000000000000000