6080604052604051806060016040528060408152602001620062d460409139601390816200002e9190620006f8565b5060016017553480156200004157600080fd5b50604051620063143803806200631483398181016040528101906200006791906200088d565b733cc6cdda760b79bafa08df41ecfa224f810dceb660016040518060400160405280600981526020017f594f4c4f204b69647a00000000000000000000000000000000000000000000008152506040518060400160405280600881526020017f594f4c4f4b69647a0000000000000000000000000000000000000000000000008152508160029081620000fb9190620006f8565b5080600390816200010d9190620006f8565b506200011e620003a660201b60201c565b6000819055505050620001466200013a620003b060201b60201c565b620003b860201b60201c565b600160098190555060006daaeb6d7670e522a718067333cd4e73ffffffffffffffffffffffffffffffffffffffff163b11156200034357801562000209576daaeb6d7670e522a718067333cd4e73ffffffffffffffffffffffffffffffffffffffff16637d3e3dbe30846040518363ffffffff1660e01b8152600401620001cf929190620009b1565b600060405180830381600087803b158015620001ea57600080fd5b505af1158015620001ff573d6000803e3d6000fd5b5050505062000342565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614620002c3576daaeb6d7670e522a718067333cd4e73ffffffffffffffffffffffffffffffffffffffff1663a0af290330846040518363ffffffff1660e01b815260040162000289929190620009b1565b600060405180830381600087803b158015620002a457600080fd5b505af1158015620002b9573d6000803e3d6000fd5b5050505062000341565b6daaeb6d7670e522a718067333cd4e73ffffffffffffffffffffffffffffffffffffffff16634420e486306040518263ffffffff1660e01b81526004016200030c9190620009de565b600060405180830381600087803b1580156200032757600080fd5b505af11580156200033c573d6000803e3d6000fd5b505050505b5b5b505088600a8190555087600b8190555086600c8190555085600d8190555084600e8190555083601060006101000a81548160ff021916908315150217905550826011819055508160128190555080600f81905550505050505050505050620009fb565b6000601754905090565b600033905090565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200050057607f821691505b602082108103620005165762000515620004b8565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620005807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000541565b6200058c868362000541565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b6000620005d9620005d3620005cd84620005a4565b620005ae565b620005a4565b9050919050565b6000819050919050565b620005f583620005b8565b6200060d6200060482620005e0565b8484546200054e565b825550505050565b600090565b6200062462000615565b62000631818484620005ea565b505050565b5b8181101562000659576200064d6000826200061a565b60018101905062000637565b5050565b601f821115620006a85762000672816200051c565b6200067d8462000531565b810160208510156200068d578190505b620006a56200069c8562000531565b83018262000636565b50505b505050565b600082821c905092915050565b6000620006cd60001984600802620006ad565b1980831691505092915050565b6000620006e88383620006ba565b9150826002028217905092915050565b62000703826200047e565b67ffffffffffffffff8111156200071f576200071e62000489565b5b6200072b8254620004e7565b620007388282856200065d565b600060209050601f8311600181146200077057600084156200075b578287015190505b620007678582620006da565b865550620007d7565b601f19841662000780866200051c565b60005b82811015620007aa5784890151825560018201915060208501945060208101905062000783565b86831015620007ca5784890151620007c6601f891682620006ba565b8355505b6001600288020188555050505b505050505050565b600080fd5b620007ef81620005a4565b8114620007fb57600080fd5b50565b6000815190506200080f81620007e4565b92915050565b60008115159050919050565b6200082c8162000815565b81146200083857600080fd5b50565b6000815190506200084c8162000821565b92915050565b6000819050919050565b620008678162000852565b81146200087357600080fd5b50565b60008151905062000887816200085c565b92915050565b60008060008060008060008060006101208a8c031215620008b357620008b2620007df565b5b6000620008c38c828d01620007fe565b9950506020620008d68c828d01620007fe565b9850506040620008e98c828d01620007fe565b9750506060620008fc8c828d01620007fe565b96505060806200090f8c828d01620007fe565b95505060a0620009228c828d016200083b565b94505060c0620009358c828d0162000876565b93505060e0620009488c828d0162000876565b9250506101006200095c8c828d01620007fe565b9150509295985092959850929598565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000999826200096c565b9050919050565b620009ab816200098c565b82525050565b6000604082019050620009c86000830185620009a0565b620009d76020830184620009a0565b9392505050565b6000602082019050620009f56000830184620009a0565b92915050565b6158c98062000a0b6000396000f3fe60806040526004361061031a5760003560e01c80638da5cb5b116101ab578063c87b56dd116100f7578063e985e9c511610095578063f5aa406d1161006f578063f5aa406d14610b9e578063f6a1d05b14610bc7578063fb294a6614610bf2578063ff1b655614610c1b5761031a565b8063e985e9c514610b0f578063f2fde38b14610b4c578063f452472e14610b755761031a565b8063dbcad76f116100d1578063dbcad76f14610a41578063dc33e68114610a7e578063e2669baa14610abb578063e5187f4314610ae65761031a565b8063c87b56dd146109b0578063c884ef83146109ed578063d111515d14610a2a5761031a565b8063a22cb46511610164578063b391c5081161013e578063b391c50814610912578063b3ab66b01461093b578063b88d4fde14610957578063c23dc68f146109735761031a565b8063a22cb46514610895578063a69b1cd5146108be578063aca8ffe7146108e95761031a565b80638da5cb5b1461076b57806390aa0b0f1461079657806395d89b41146107c557806398a8cffe146107f05780639943770d1461082d57806399a2557a146108585761031a565b80633ccfd60b1161026a5780636352211e11610223578063715018a6116101fd578063715018a6146106d55780637c69e207146106ec5780638462151c146107035780638bc35c2f146107405761031a565b80636352211e146106305780636ddf297b1461066d57806370a08231146106985761031a565b80633ccfd60b1461054157806341f434341461055857806342842e0e1461058357806345c0f5331461059f57806355f804b3146105ca5780635bbb2177146105f35761031a565b806314ea35e7116102d757806323b872dd116102b157806323b872dd146104b35780632904e6d9146104cf578063386bfc98146104eb578063392f37e9146105165761031a565b806314ea35e71461043457806318160ddd1461045f57806321b97f201461048a5761031a565b8063013d88471461031f57806301ffc9a71461034a57806306fdde0314610387578063081812fc146103b2578063095ea7b3146103ef5780630b2ea3481461040b575b600080fd5b34801561032b57600080fd5b50610334610c46565b60405161034191906138dd565b60405180910390f35b34801561035657600080fd5b50610371600480360381019061036c9190613964565b610c4c565b60405161037e91906139ac565b60405180910390f35b34801561039357600080fd5b5061039c610cde565b6040516103a99190613a57565b60405180910390f35b3480156103be57600080fd5b506103d960048036038101906103d49190613aa5565b610d70565b6040516103e69190613b13565b60405180910390f35b61040960048036038101906104049190613b5a565b610dce565b005b34801561041757600080fd5b50610432600480360381019061042d9190613aa5565b610de7565b005b34801561044057600080fd5b50610449610df9565b6040516104569190613bb3565b60405180910390f35b34801561046b57600080fd5b50610474610dff565b60405161048191906138dd565b60405180910390f35b34801561049657600080fd5b506104b160048036038101906104ac9190613bfa565b610e16565b005b6104cd60048036038101906104c89190613c27565b610e28565b005b6104e960048036038101906104e49190613cdf565b610e77565b005b3480156104f757600080fd5b506105006111c4565b60405161050d9190613bb3565b60405180910390f35b34801561052257600080fd5b5061052b6111ca565b6040516105389190613d9e565b60405180910390f35b34801561054d57600080fd5b506105566111f0565b005b34801561056457600080fd5b5061056d611288565b60405161057a9190613dda565b60405180910390f35b61059d60048036038101906105989190613c27565b61129a565b005b3480156105ab57600080fd5b506105b46112e9565b6040516105c191906138dd565b60405180910390f35b3480156105d657600080fd5b506105f160048036038101906105ec9190613e4b565b6112ef565b005b3480156105ff57600080fd5b5061061a60048036038101906106159190613eee565b61130d565b604051610627919061409e565b60405180910390f35b34801561063c57600080fd5b5061065760048036038101906106529190613aa5565b61136d565b6040516106649190613b13565b60405180910390f35b34801561067957600080fd5b5061068261137f565b60405161068f91906138dd565b60405180910390f35b3480156106a457600080fd5b506106bf60048036038101906106ba91906140c0565b611385565b6040516106cc91906138dd565b60405180910390f35b3480156106e157600080fd5b506106ea61141c565b005b3480156106f857600080fd5b50610701611430565b005b34801561070f57600080fd5b5061072a600480360381019061072591906140c0565b611510565b60405161073791906141ab565b60405180910390f35b34801561074c57600080fd5b506107556115a1565b60405161076291906138dd565b60405180910390f35b34801561077757600080fd5b506107806115a7565b60405161078d9190613b13565b60405180910390f35b3480156107a257600080fd5b506107ab6115d1565b6040516107bc9594939291906141fb565b60405180910390f35b3480156107d157600080fd5b506107da61164d565b6040516107e79190613a57565b60405180910390f35b3480156107fc57600080fd5b50610817600480360381019061081291906140c0565b6116df565b60405161082491906139ac565b60405180910390f35b34801561083957600080fd5b506108426116ff565b60405161084f91906138dd565b60405180910390f35b34801561086457600080fd5b5061087f600480360381019061087a919061424e565b611705565b60405161088c91906141ab565b60405180910390f35b3480156108a157600080fd5b506108bc60048036038101906108b791906142cd565b61181d565b005b3480156108ca57600080fd5b506108d3611836565b6040516108e091906138dd565b60405180910390f35b3480156108f557600080fd5b50610910600480360381019061090b9190613aa5565b61183c565b005b34801561091e57600080fd5b506109396004803603810190610934919061430d565b6118e3565b005b61095560048036038101906109509190613aa5565b611c7c565b005b610971600480360381019061096c919061448a565b611f54565b005b34801561097f57600080fd5b5061099a60048036038101906109959190613aa5565b611fa5565b6040516109a79190614562565b60405180910390f35b3480156109bc57600080fd5b506109d760048036038101906109d29190613aa5565b611ff1565b6040516109e49190613a57565b60405180910390f35b3480156109f957600080fd5b50610a146004803603810190610a0f91906140c0565b612198565b604051610a2191906139ac565b60405180910390f35b348015610a3657600080fd5b50610a3f6121b8565b005b348015610a4d57600080fd5b50610a686004803603810190610a63919061457d565b61222d565b604051610a7591906139ac565b60405180910390f35b348015610a8a57600080fd5b50610aa56004803603810190610aa091906140c0565b612247565b604051610ab291906138dd565b60405180910390f35b348015610ac757600080fd5b50610ad0612259565b604051610add91906139ac565b60405180910390f35b348015610af257600080fd5b50610b0d6004803603810190610b0891906140c0565b61226c565b005b348015610b1b57600080fd5b50610b366004803603810190610b3191906145bd565b612308565b604051610b4391906139ac565b60405180910390f35b348015610b5857600080fd5b50610b736004803603810190610b6e91906140c0565b61239c565b005b348015610b8157600080fd5b50610b9c6004803603810190610b979190613aa5565b61241f565b005b348015610baa57600080fd5b50610bc56004803603810190610bc09190613bfa565b612431565b005b348015610bd357600080fd5b50610bdc612443565b604051610be991906139ac565b60405180910390f35b348015610bfe57600080fd5b50610c196004803603810190610c149190614655565b612456565b005b348015610c2757600080fd5b50610c3061258a565b604051610c3d9190613a57565b60405180910390f35b600f5481565b60006301ffc9a760e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610ca757506380ac58cd60e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80610cd75750635b5e139f60e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b9050919050565b606060028054610ced906146ff565b80601f0160208091040260200160405190810160405280929190818152602001828054610d19906146ff565b8015610d665780601f10610d3b57610100808354040283529160200191610d66565b820191906000526020600020905b815481529060010190602001808311610d4957829003601f168201915b5050505050905090565b6000610d7b82612618565b610d9057610d8f63cf4700e460e01b612677565b5b6006600083815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b81610dd881612681565b610de2838361277e565b505050565b610def61278e565b80600c8190555050565b60125481565b6000610e0961280c565b6001546000540303905090565b610e1e61278e565b8060128190555050565b823373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610e6657610e6533612681565b5b610e71848484612816565b50505050565b3373ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff1614610ee5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610edc9061477c565b60405180910390fd5b6000601460000160149054906101000a900467ffffffffffffffff1667ffffffffffffffff1690506000601460000160049054906101000a900463ffffffff1663ffffffff169050804210158015610f3d5750600081115b610f7c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f73906147e8565b60405180910390fd5b600a5483610f88610dff565b610f929190614837565b1115610fd3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fca906148b7565b60405180910390fd5b600c54831115611018576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161100f90614923565b60405180910390fd5b60001515601560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515146110ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110a29061498f565b60405180910390fd5b60011515611105868680806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505060115461110033612ad7565b612afa565b151514611147576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161113e906149fb565b60405180910390fd5b6001601560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506111a93384612b11565b6111bd83836111b89190614a1b565b612b2f565b5050505050565b60115481565b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6111f861278e565b611200612bd0565b600061120a6115a7565b73ffffffffffffffffffffffffffffffffffffffff164760405161122d90614a8e565b60006040518083038185875af1925050503d806000811461126a576040519150601f19603f3d011682016040523d82523d6000602084013e61126f565b606091505b505090508061127d57600080fd5b50611286612c1f565b565b6daaeb6d7670e522a718067333cd4e81565b823373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146112d8576112d733612681565b5b6112e3848484612c29565b50505050565b600a5481565b6112f761278e565b818160199182611308929190614c50565b505050565b606080600084849050905060405191508082528060051b90508060208301016040525b60008114611362576000602082039150818601359050600061135182611fa5565b905080836020860101525050611330565b819250505092915050565b600061137882612c49565b9050919050565b600c5481565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036113cb576113ca638f4eb60460e01b612677565b5b67ffffffffffffffff600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054169050919050565b61142461278e565b61142e6000612cff565b565b61143861278e565b600a54600d54611446610dff565b6114509190614837565b1115611491576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161148890614d92565b60405180910390fd5b60001515601060009054906101000a900460ff161515146114e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114de90614dfe565b60405180910390fd5b6114f333600d54612b11565b6001601060006101000a81548160ff021916908315150217905550565b6060600061151d83611385565b9050606060405190506001820160051b8101604052818152600080600061154261280c565b90505b84821461159457600061155782612dc5565b905060408101516115885780511561156e57805193505b87841860601b61158757600183019250818360051b8601525b5b60018201915050611545565b5082945050505050919050565b600b5481565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60148060000160009054906101000a900463ffffffff16908060000160049054906101000a900463ffffffff16908060000160089054906101000a900463ffffffff169080600001600c9054906101000a900467ffffffffffffffff16908060000160149054906101000a900467ffffffffffffffff16905085565b60606003805461165c906146ff565b80601f0160208091040260200160405190810160405280929190818152602001828054611688906146ff565b80156116d55780601f106116aa576101008083540402835291602001916116d5565b820191906000526020600020905b8154815290600101906020018083116116b857829003601f168201915b5050505050905090565b60156020528060005260406000206000915054906101000a900460ff1681565b600e5481565b606081831061171f5761171e6332c1995a60e01b612677565b5b61172761280c565b8310156117395761173661280c565b92505b6000611743612df0565b9050808310611750578092505b6060600061175d87611385565b90506000858710905080820291506000821461180f5781878703116117825786860391505b60405192506001820160051b8301604052600061179e88611fa5565b9050600081604001516117b357816000015190505b60005b6117bf8a612dc5565b925060408301516117f0578251156117d657825191505b8a821860601b6117ef57600181019050898160051b8701525b5b60018a019950888a148061180357508481145b156117b6578086525050505b829450505050509392505050565b8161182781612681565b6118318383612df9565b505050565b600d5481565b61184461278e565b600a5461184f610dff565b1061188f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161188690614e6a565b60405180910390fd5b611897610dff565b8110156118d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118d090614ed6565b60405180910390fd5b80600a8190555050565b3373ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff1614611951576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119489061477c565b60405180910390fd5b600060146040518060a00160405290816000820160009054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016000820160049054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016000820160089054906101000a900463ffffffff1663ffffffff1663ffffffff16815260200160008201600c9054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff1681526020016000820160149054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff168152505090506000816000015163ffffffff16905080421015611a8a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a8190614f42565b60405180910390fd5b600a54600f54611a98610dff565b611aa29190614837565b1115611ae3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ada906148b7565b60405180910390fd5b60001515601660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514611b76576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b6d90614fae565b60405180910390fd5b60011515611bd0858580806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f82011690508083019250505050505050601254611bcb33612ad7565b612afa565b151514611c12576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c09906149fb565b60405180910390fd5b6001601660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550611c7633600f54612b11565b50505050565b3373ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff1614611cea576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ce19061477c565b60405180910390fd5b600060146040518060a00160405290816000820160009054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016000820160049054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016000820160089054906101000a900463ffffffff1663ffffffff1663ffffffff16815260200160008201600c9054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff1681526020016000820160149054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff168152505090506000816060015167ffffffffffffffff1690506000826040015163ffffffff169050611dfd828261222d565b611e3c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e339061501a565b60405180910390fd5b600a5484611e48610dff565b611e529190614837565b1115611e93576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e8a906148b7565b60405180910390fd5b600b5484611ea033612f04565b611eaa9190614837565b1115611eeb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ee290615086565b60405180910390fd5b600e54841115611f30576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f27906150f2565b60405180910390fd5b611f3a3385612b11565b611f4e8483611f499190614a1b565b612b2f565b50505050565b833373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611f9257611f9133612681565b5b611f9e85858585612f5b565b5050505050565b611fad613875565b611fb561280c565b8210611fec57611fc3612df0565b821015611feb57611fd382612dc5565b90508060400151611fea57611fe782612fad565b90505b5b5b919050565b6060611ffc82612618565b61203b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161203290615184565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461213957601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c87b56dd836040518263ffffffff1660e01b81526004016120ec91906138dd565b600060405180830381865afa158015612109573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906121329190615245565b9050612193565b600060198054612148906146ff565b9050116121645760405180602001604052806000815250612190565b601961216f83612fcd565b60405160200161218092919061534d565b6040516020818303038152906040525b90505b919050565b60166020528060005260406000206000915054906101000a900460ff1681565b6121c061278e565b601060019054906101000a900460ff1615612210576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612207906153e3565b60405180910390fd5b6001601060016101000a81548160ff021916908315150217905550565b600080831415801561223f5750814210155b905092915050565b600061225282612f04565b9050919050565b601060019054906101000a900460ff1681565b61227461278e565b601060019054906101000a900460ff16156122c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122bb90615475565b60405180910390fd5b80601860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6123a461278e565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612413576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161240a90615507565b60405180910390fd5b61241c81612cff565b50565b61242761278e565b80600e8190555050565b61243961278e565b8060118190555050565b601060009054906101000a900460ff1681565b61245e61278e565b6040518060a001604052808663ffffffff1681526020018563ffffffff1681526020018463ffffffff1681526020018367ffffffffffffffff1681526020018267ffffffffffffffff16815250601460008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a81548163ffffffff021916908363ffffffff16021790555060408201518160000160086101000a81548163ffffffff021916908363ffffffff160217905550606082015181600001600c6101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060808201518160000160146101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055509050505050505050565b60138054612597906146ff565b80601f01602080910402602001604051908101604052809291908181526020018280546125c3906146ff565b80156126105780601f106125e557610100808354040283529160200191612610565b820191906000526020600020905b8154815290600101906020018083116125f357829003601f168201915b505050505081565b60008161262361280c565b11158015612632575060005482105b8015612670575060007c0100000000000000000000000000000000000000000000000000000000600460008581526020019081526020016000205416145b9050919050565b8060005260046000fd5b60006daaeb6d7670e522a718067333cd4e73ffffffffffffffffffffffffffffffffffffffff163b111561277b576daaeb6d7670e522a718067333cd4e73ffffffffffffffffffffffffffffffffffffffff1663c617113430836040518363ffffffff1660e01b81526004016126f8929190615527565b602060405180830381865afa158015612715573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127399190615565565b61277a57806040517fede71dcc0000000000000000000000000000000000000000000000000000000081526004016127719190613b13565b60405180910390fd5b5b50565b61278a8282600161309b565b5050565b6127966131ca565b73ffffffffffffffffffffffffffffffffffffffff166127b46115a7565b73ffffffffffffffffffffffffffffffffffffffff161461280a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612801906155de565b60405180910390fd5b565b6000601754905090565b600061282182612c49565b905073ffffffffffffffffffffffffffffffffffffffff8473ffffffffffffffffffffffffffffffffffffffff161693508373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146128965761289563a114810060e01b612677565b5b6000806128a2846131d2565b915091506128b881876128b36131f9565b613201565b6128e3576128cd866128c86131f9565b612308565b6128e2576128e16359c896be60e01b612677565b5b5b6128f08686866001613245565b80156128fb57600082555b600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600081546001900391905081905550600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008154600101919050819055506129c9856129a588888761324b565b7c020000000000000000000000000000000000000000000000000000000017613273565b600460008681526020019081526020016000208190555060007c0200000000000000000000000000000000000000000000000000000000841603612a4f5760006001850190506000600460008381526020019081526020016000205403612a4d576000548114612a4c578360046000838152602001908152602001600020819055505b5b505b600073ffffffffffffffffffffffffffffffffffffffff8673ffffffffffffffffffffffffffffffffffffffff161690508481887fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600080a460008103612ac157612ac063ea553b3460e01b612677565b5b612ace878787600161329e565b50505050505050565b60008173ffffffffffffffffffffffffffffffffffffffff1660001b9050919050565b600082612b0785846132a4565b1490509392505050565b612b2b8282604051806020016040528060008152506132fa565b5050565b80341015612b72576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b699061564a565b60405180910390fd5b80341115612bcd573373ffffffffffffffffffffffffffffffffffffffff166108fc8234612ba0919061566a565b9081150290604051600060405180830381858888f19350505050158015612bcb573d6000803e3d6000fd5b505b50565b600260095403612c15576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c0c906156ea565b60405180910390fd5b6002600981905550565b6001600981905550565b612c4483838360405180602001604052806000815250611f54565b505050565b600081612c5461280c565b11612ce9576004600083815260200190815260200160002054905060007c0100000000000000000000000000000000000000000000000000000000821603612ce85760008103612ce3576000548210612cb857612cb763df2d9b4260e01b612677565b5b5b600460008360019003935083815260200190815260200160002054905060008103612cfa57612cb9565b612cfa565b5b612cf963df2d9b4260e01b612677565b5b919050565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b612dcd613875565b612de9600460008481526020019081526020016000205461337f565b9050919050565b60008054905090565b8060076000612e066131f9565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff16612eb36131f9565b73ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051612ef891906139ac565b60405180910390a35050565b600067ffffffffffffffff6040600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054901c169050919050565b612f66848484610e28565b60008373ffffffffffffffffffffffffffffffffffffffff163b14612fa757612f9184848484613435565b612fa657612fa563d1a57ed660e01b612677565b5b5b50505050565b612fb5613875565b612fc6612fc183612c49565b61337f565b9050919050565b606060006001612fdc84613564565b01905060008167ffffffffffffffff811115612ffb57612ffa61435f565b5b6040519080825280601f01601f19166020018201604052801561302d5781602001600182028036833780820191505090505b509050600082602001820190505b600115613090578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a85816130845761308361570a565b5b0494506000850361303b575b819350505050919050565b60006130a68361136d565b90508180156130e857508073ffffffffffffffffffffffffffffffffffffffff166130cf6131f9565b73ffffffffffffffffffffffffffffffffffffffff1614155b15613114576130fe816130f96131f9565b612308565b6131135761311263cfb3b94260e01b612677565b5b5b836006600085815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550828473ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a450505050565b600033905090565b60008060006006600085815260200190815260200160002090508092508254915050915091565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff8316925073ffffffffffffffffffffffffffffffffffffffff821691508382148383141790509392505050565b50505050565b60008060e883901c905060e86132628686846136b7565b62ffffff16901b9150509392505050565b600073ffffffffffffffffffffffffffffffffffffffff83169250814260a01b178317905092915050565b50505050565b60008082905060005b84518110156132ef576132da828683815181106132cd576132cc615739565b5b60200260200101516136c0565b915080806132e790615768565b9150506132ad565b508091505092915050565b61330483836136eb565b60008373ffffffffffffffffffffffffffffffffffffffff163b1461337a57600080549050600083820390505b6133446000868380600101945086613435565b6133595761335863d1a57ed660e01b612677565b5b81811061333157816000541461337757613376600060e01b612677565b5b50505b505050565b613387613875565b81816000019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060a082901c816020019067ffffffffffffffff16908167ffffffffffffffff168152505060007c01000000000000000000000000000000000000000000000000000000008316141581604001901515908115158152505060e882901c816060019062ffffff16908162ffffff1681525050919050565b60008373ffffffffffffffffffffffffffffffffffffffff1663150b7a0261345b6131f9565b8786866040518563ffffffff1660e01b815260040161347d9493929190615805565b6020604051808303816000875af19250505080156134b957506040513d601f19601f820116820180604052508101906134b69190615866565b60015b613511573d80600081146134e9576040519150601f19603f3d011682016040523d82523d6000602084013e6134ee565b606091505b5060008151036135095761350863d1a57ed660e01b612677565b5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050949350505050565b600080600090507a184f03e93ff9f4daa797ed6e38ed64bf6a1f01000000000000000083106135c2577a184f03e93ff9f4daa797ed6e38ed64bf6a1f01000000000000000083816135b8576135b761570a565b5b0492506040810190505b6d04ee2d6d415b85acef810000000083106135ff576d04ee2d6d415b85acef810000000083816135f5576135f461570a565b5b0492506020810190505b662386f26fc10000831061362e57662386f26fc1000083816136245761362361570a565b5b0492506010810190505b6305f5e1008310613657576305f5e100838161364d5761364c61570a565b5b0492506008810190505b612710831061367c5761271083816136725761367161570a565b5b0492506004810190505b6064831061369f57606483816136955761369461570a565b5b0492506002810190505b600a83106136ae576001810190505b80915050919050565b60009392505050565b60008183106136d8576136d3828461384e565b6136e3565b6136e2838361384e565b5b905092915050565b6000805490506000820361370a5761370963b562e8dd60e01b612677565b5b6137176000848385613245565b61373783613728600086600061324b565b61373185613865565b17613273565b6004600083815260200190815260200160002081905550600160406001901b178202600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550600073ffffffffffffffffffffffffffffffffffffffff8473ffffffffffffffffffffffffffffffffffffffff16169050600081036137ef576137ee632e07630060e01b612677565b5b6000838301905060008390505b808360007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600080a48181600101915081036137fc5781600081905550505050613849600084838561329e565b505050565b600082600052816020526040600020905092915050565b60006001821460e11b9050919050565b6040518060800160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600067ffffffffffffffff168152602001600015158152602001600062ffffff1681525090565b6000819050919050565b6138d7816138c4565b82525050565b60006020820190506138f260008301846138ce565b92915050565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6139418161390c565b811461394c57600080fd5b50565b60008135905061395e81613938565b92915050565b60006020828403121561397a57613979613902565b5b60006139888482850161394f565b91505092915050565b60008115159050919050565b6139a681613991565b82525050565b60006020820190506139c1600083018461399d565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015613a015780820151818401526020810190506139e6565b60008484015250505050565b6000601f19601f8301169050919050565b6000613a29826139c7565b613a3381856139d2565b9350613a438185602086016139e3565b613a4c81613a0d565b840191505092915050565b60006020820190508181036000830152613a718184613a1e565b905092915050565b613a82816138c4565b8114613a8d57600080fd5b50565b600081359050613a9f81613a79565b92915050565b600060208284031215613abb57613aba613902565b5b6000613ac984828501613a90565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000613afd82613ad2565b9050919050565b613b0d81613af2565b82525050565b6000602082019050613b286000830184613b04565b92915050565b613b3781613af2565b8114613b4257600080fd5b50565b600081359050613b5481613b2e565b92915050565b60008060408385031215613b7157613b70613902565b5b6000613b7f85828601613b45565b9250506020613b9085828601613a90565b9150509250929050565b6000819050919050565b613bad81613b9a565b82525050565b6000602082019050613bc86000830184613ba4565b92915050565b613bd781613b9a565b8114613be257600080fd5b50565b600081359050613bf481613bce565b92915050565b600060208284031215613c1057613c0f613902565b5b6000613c1e84828501613be5565b91505092915050565b600080600060608486031215613c4057613c3f613902565b5b6000613c4e86828701613b45565b9350506020613c5f86828701613b45565b9250506040613c7086828701613a90565b9150509250925092565b600080fd5b600080fd5b600080fd5b60008083601f840112613c9f57613c9e613c7a565b5b8235905067ffffffffffffffff811115613cbc57613cbb613c7f565b5b602083019150836020820283011115613cd857613cd7613c84565b5b9250929050565b600080600060408486031215613cf857613cf7613902565b5b600084013567ffffffffffffffff811115613d1657613d15613907565b5b613d2286828701613c89565b93509350506020613d3586828701613a90565b9150509250925092565b6000819050919050565b6000613d64613d5f613d5a84613ad2565b613d3f565b613ad2565b9050919050565b6000613d7682613d49565b9050919050565b6000613d8882613d6b565b9050919050565b613d9881613d7d565b82525050565b6000602082019050613db36000830184613d8f565b92915050565b6000613dc482613d6b565b9050919050565b613dd481613db9565b82525050565b6000602082019050613def6000830184613dcb565b92915050565b60008083601f840112613e0b57613e0a613c7a565b5b8235905067ffffffffffffffff811115613e2857613e27613c7f565b5b602083019150836001820283011115613e4457613e43613c84565b5b9250929050565b60008060208385031215613e6257613e61613902565b5b600083013567ffffffffffffffff811115613e8057613e7f613907565b5b613e8c85828601613df5565b92509250509250929050565b60008083601f840112613eae57613ead613c7a565b5b8235905067ffffffffffffffff811115613ecb57613eca613c7f565b5b602083019150836020820283011115613ee757613ee6613c84565b5b9250929050565b60008060208385031215613f0557613f04613902565b5b600083013567ffffffffffffffff811115613f2357613f22613907565b5b613f2f85828601613e98565b92509250509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613f7081613af2565b82525050565b600067ffffffffffffffff82169050919050565b613f9381613f76565b82525050565b613fa281613991565b82525050565b600062ffffff82169050919050565b613fc081613fa8565b82525050565b608082016000820151613fdc6000850182613f67565b506020820151613fef6020850182613f8a565b5060408201516140026040850182613f99565b5060608201516140156060850182613fb7565b50505050565b60006140278383613fc6565b60808301905092915050565b6000602082019050919050565b600061404b82613f3b565b6140558185613f46565b935061406083613f57565b8060005b83811015614091578151614078888261401b565b975061408383614033565b925050600181019050614064565b5085935050505092915050565b600060208201905081810360008301526140b88184614040565b905092915050565b6000602082840312156140d6576140d5613902565b5b60006140e484828501613b45565b91505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b614122816138c4565b82525050565b60006141348383614119565b60208301905092915050565b6000602082019050919050565b6000614158826140ed565b61416281856140f8565b935061416d83614109565b8060005b8381101561419e5781516141858882614128565b975061419083614140565b925050600181019050614171565b5085935050505092915050565b600060208201905081810360008301526141c5818461414d565b905092915050565b600063ffffffff82169050919050565b6141e6816141cd565b82525050565b6141f581613f76565b82525050565b600060a08201905061421060008301886141dd565b61421d60208301876141dd565b61422a60408301866141dd565b61423760608301856141ec565b61424460808301846141ec565b9695505050505050565b60008060006060848603121561426757614266613902565b5b600061427586828701613b45565b935050602061428686828701613a90565b925050604061429786828701613a90565b9150509250925092565b6142aa81613991565b81146142b557600080fd5b50565b6000813590506142c7816142a1565b92915050565b600080604083850312156142e4576142e3613902565b5b60006142f285828601613b45565b9250506020614303858286016142b8565b9150509250929050565b6000806020838503121561432457614323613902565b5b600083013567ffffffffffffffff81111561434257614341613907565b5b61434e85828601613c89565b92509250509250929050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61439782613a0d565b810181811067ffffffffffffffff821117156143b6576143b561435f565b5b80604052505050565b60006143c96138f8565b90506143d5828261438e565b919050565b600067ffffffffffffffff8211156143f5576143f461435f565b5b6143fe82613a0d565b9050602081019050919050565b82818337600083830152505050565b600061442d614428846143da565b6143bf565b9050828152602081018484840111156144495761444861435a565b5b61445484828561440b565b509392505050565b600082601f83011261447157614470613c7a565b5b813561448184826020860161441a565b91505092915050565b600080600080608085870312156144a4576144a3613902565b5b60006144b287828801613b45565b94505060206144c387828801613b45565b93505060406144d487828801613a90565b925050606085013567ffffffffffffffff8111156144f5576144f4613907565b5b6145018782880161445c565b91505092959194509250565b6080820160008201516145236000850182613f67565b5060208201516145366020850182613f8a565b5060408201516145496040850182613f99565b50606082015161455c6060850182613fb7565b50505050565b6000608082019050614577600083018461450d565b92915050565b6000806040838503121561459457614593613902565b5b60006145a285828601613a90565b92505060206145b385828601613a90565b9150509250929050565b600080604083850312156145d4576145d3613902565b5b60006145e285828601613b45565b92505060206145f385828601613b45565b9150509250929050565b614606816141cd565b811461461157600080fd5b50565b600081359050614623816145fd565b92915050565b61463281613f76565b811461463d57600080fd5b50565b60008135905061464f81614629565b92915050565b600080600080600060a0868803121561467157614670613902565b5b600061467f88828901614614565b955050602061469088828901614614565b94505060406146a188828901614614565b93505060606146b288828901614640565b92505060806146c388828901614640565b9150509295509295909350565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061471757607f821691505b60208210810361472a576147296146d0565b5b50919050565b7f5468652063616c6c657220697320616e6f7468657220636f6e74726163740000600082015250565b6000614766601e836139d2565b915061477182614730565b602082019050919050565b6000602082019050818103600083015261479581614759565b9050919050565b7f77686974656c6973742073616c6520686173206e6f7420626567756e20796574600082015250565b60006147d26020836139d2565b91506147dd8261479c565b602082019050919050565b60006020820190508181036000830152614801816147c5565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000614842826138c4565b915061484d836138c4565b925082820190508082111561486557614864614808565b5b92915050565b7f72656163686564206d617820737570706c790000000000000000000000000000600082015250565b60006148a16012836139d2565b91506148ac8261486b565b602082019050919050565b600060208201905081810360008301526148d081614894565b9050919050565b7f65786365656473206d696e7420616c6c6f77616e636500000000000000000000600082015250565b600061490d6016836139d2565b9150614918826148d7565b602082019050919050565b6000602082019050818103600083015261493c81614900565b9050919050565b7f616c7265616479206d696e746564000000000000000000000000000000000000600082015250565b6000614979600e836139d2565b915061498482614943565b602082019050919050565b600060208201905081810360008301526149a88161496c565b9050919050565b7f696e76616c69642070726f6f6600000000000000000000000000000000000000600082015250565b60006149e5600d836139d2565b91506149f0826149af565b602082019050919050565b60006020820190508181036000830152614a14816149d8565b9050919050565b6000614a26826138c4565b9150614a31836138c4565b9250828202614a3f816138c4565b91508282048414831517614a5657614a55614808565b5b5092915050565b600081905092915050565b50565b6000614a78600083614a5d565b9150614a8382614a68565b600082019050919050565b6000614a9982614a6b565b9150819050919050565b600082905092915050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302614b107fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82614ad3565b614b1a8683614ad3565b95508019841693508086168417925050509392505050565b6000614b4d614b48614b43846138c4565b613d3f565b6138c4565b9050919050565b6000819050919050565b614b6783614b32565b614b7b614b7382614b54565b848454614ae0565b825550505050565b600090565b614b90614b83565b614b9b818484614b5e565b505050565b5b81811015614bbf57614bb4600082614b88565b600181019050614ba1565b5050565b601f821115614c0457614bd581614aae565b614bde84614ac3565b81016020851015614bed578190505b614c01614bf985614ac3565b830182614ba0565b50505b505050565b600082821c905092915050565b6000614c2760001984600802614c09565b1980831691505092915050565b6000614c408383614c16565b9150826002028217905092915050565b614c5a8383614aa3565b67ffffffffffffffff811115614c7357614c7261435f565b5b614c7d82546146ff565b614c88828285614bc3565b6000601f831160018114614cb75760008415614ca5578287013590505b614caf8582614c34565b865550614d17565b601f198416614cc586614aae565b60005b82811015614ced57848901358255600182019150602085019450602081019050614cc8565b86831015614d0a5784890135614d06601f891682614c16565b8355505b6001600288020188555050505b50505050505050565b7f746f6f206d616e7920616c7265616479206d696e746564206265666f7265206460008201527f6576206d696e7400000000000000000000000000000000000000000000000000602082015250565b6000614d7c6027836139d2565b9150614d8782614d20565b604082019050919050565b60006020820190508181036000830152614dab81614d6f565b9050919050565b7f6465762068617320616c726561647920636c61696d6564000000000000000000600082015250565b6000614de86017836139d2565b9150614df382614db2565b602082019050919050565b60006020820190508181036000830152614e1781614ddb565b9050919050565b7f536f6c64204f7574210000000000000000000000000000000000000000000000600082015250565b6000614e546009836139d2565b9150614e5f82614e1e565b602082019050919050565b60006020820190508181036000830152614e8381614e47565b9050919050565b7f43616e6e6f74206265206c6f776572207468616e20737570706c790000000000600082015250565b6000614ec0601b836139d2565b9150614ecb82614e8a565b602082019050919050565b60006020820190508181036000830152614eef81614eb3565b9050919050565b7f636c61696d20706572696f6420686173206e6f7420626567756e207965740000600082015250565b6000614f2c601e836139d2565b9150614f3782614ef6565b602082019050919050565b60006020820190508181036000830152614f5b81614f1f565b9050919050565b7f616c726561647920636c61696d65640000000000000000000000000000000000600082015250565b6000614f98600f836139d2565b9150614fa382614f62565b602082019050919050565b60006020820190508181036000830152614fc781614f8b565b9050919050565b7f7075626c69632073616c6520686173206e6f7420626567756e20796574000000600082015250565b6000615004601d836139d2565b915061500f82614fce565b602082019050919050565b6000602082019050818103600083015261503381614ff7565b9050919050565b7f63616e206e6f74206d696e742074686973206d616e7900000000000000000000600082015250565b60006150706016836139d2565b915061507b8261503a565b602082019050919050565b6000602082019050818103600083015261509f81615063565b9050919050565b7f746f6f206d616e79207065722074780000000000000000000000000000000000600082015250565b60006150dc600f836139d2565b91506150e7826150a6565b602082019050919050565b6000602082019050818103600083015261510b816150cf565b9050919050565b7f4552433732314d657461646174613a2055524920717565727920666f72206e6f60008201527f6e6578697374656e7420746f6b656e0000000000000000000000000000000000602082015250565b600061516e602f836139d2565b915061517982615112565b604082019050919050565b6000602082019050818103600083015261519d81615161565b9050919050565b600067ffffffffffffffff8211156151bf576151be61435f565b5b6151c882613a0d565b9050602081019050919050565b60006151e86151e3846151a4565b6143bf565b9050828152602081018484840111156152045761520361435a565b5b61520f8482856139e3565b509392505050565b600082601f83011261522c5761522b613c7a565b5b815161523c8482602086016151d5565b91505092915050565b60006020828403121561525b5761525a613902565b5b600082015167ffffffffffffffff81111561527957615278613907565b5b61528584828501615217565b91505092915050565b600081905092915050565b600081546152a6816146ff565b6152b0818661528e565b945060018216600081146152cb57600181146152e057615313565b60ff1983168652811515820286019350615313565b6152e985614aae565b60005b8381101561530b578154818901526001820191506020810190506152ec565b838801955050505b50505092915050565b6000615327826139c7565b615331818561528e565b93506153418185602086016139e3565b80840191505092915050565b60006153598285615299565b9150615365828461531c565b91508190509392505050565b7f4d6574616461746120697320616c72656164792066726f7a656e20666f72207460008201527f68697320636f6c6c656374696f6e000000000000000000000000000000000000602082015250565b60006153cd602e836139d2565b91506153d882615371565b604082019050919050565b600060208201905081810360008301526153fc816153c0565b9050919050565b7f4d657461646174612069732066696e616c20666f72207468697320636f6c6c6560008201527f6374696f6e000000000000000000000000000000000000000000000000000000602082015250565b600061545f6025836139d2565b915061546a82615403565b604082019050919050565b6000602082019050818103600083015261548e81615452565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006154f16026836139d2565b91506154fc82615495565b604082019050919050565b60006020820190508181036000830152615520816154e4565b9050919050565b600060408201905061553c6000830185613b04565b6155496020830184613b04565b9392505050565b60008151905061555f816142a1565b92915050565b60006020828403121561557b5761557a613902565b5b600061558984828501615550565b91505092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006155c86020836139d2565b91506155d382615592565b602082019050919050565b600060208201905081810360008301526155f7816155bb565b9050919050565b7f4e65656420746f2073656e64206d6f7265204554482e00000000000000000000600082015250565b60006156346016836139d2565b915061563f826155fe565b602082019050919050565b6000602082019050818103600083015261566381615627565b9050919050565b6000615675826138c4565b9150615680836138c4565b925082820390508181111561569857615697614808565b5b92915050565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00600082015250565b60006156d4601f836139d2565b91506156df8261569e565b602082019050919050565b60006020820190508181036000830152615703816156c7565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000615773826138c4565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036157a5576157a4614808565b5b600182019050919050565b600081519050919050565b600082825260208201905092915050565b60006157d7826157b0565b6157e181856157bb565b93506157f18185602086016139e3565b6157fa81613a0d565b840191505092915050565b600060808201905061581a6000830187613b04565b6158276020830186613b04565b61583460408301856138ce565b818103606083015261584681846157cc565b905095945050505050565b60008151905061586081613938565b92915050565b60006020828403121561587c5761587b613902565b5b600061588a84828501615851565b9150509291505056fea2646970667358221220b923504415b5faeb210b128ea4fa0314be73be0c2189a062eb95f1c36434cadc64736f6c63430008120033643932386661616665633239653361383261323135333331663136376435376364656564323561646364363535346461666163336536643938343766333763380000000000000000000000000000000000000000000000000000000000000d050000000000000000000000000000000000000000000000000000000000000064000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000032000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000007d1b4a23e52eb92fa7aeca3e32485b27f306258639987690f24b162b812ab7f646ce87a2dd79f912444e582a8c69c3e5880588988cedd4e4f8115bc113a964700000000000000000000000000000000000000000000000000000000000000002