60806040523480156200001157600080fd5b506040518060200160405280600081525062000033816200003a60201b60201c565b50620003b0565b80600290816200004b9190620002c9565b5050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620000d157607f821691505b602082108103620000e757620000e662000089565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620001517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000112565b6200015d868362000112565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b6000620001aa620001a46200019e8462000175565b6200017f565b62000175565b9050919050565b6000819050919050565b620001c68362000189565b620001de620001d582620001b1565b8484546200011f565b825550505050565b600090565b620001f5620001e6565b62000202818484620001bb565b505050565b5b818110156200022a576200021e600082620001eb565b60018101905062000208565b5050565b601f82111562000279576200024381620000ed565b6200024e8462000102565b810160208510156200025e578190505b620002766200026d8562000102565b83018262000207565b50505b505050565b600082821c905092915050565b60006200029e600019846008026200027e565b1980831691505092915050565b6000620002b983836200028b565b9150826002028217905092915050565b620002d4826200004f565b67ffffffffffffffff811115620002f057620002ef6200005a565b5b620002fc8254620000b8565b620003098282856200022e565b600060209050601f8311600181146200034157600084156200032c578287015190505b620003388582620002ab565b865550620003a8565b601f1984166200035186620000ed565b60005b828110156200037b5784890151825560018201915060208501945060208101905062000354565b868310156200039b578489015162000397601f8916826200028b565b8355505b6001600288020188555050505b505050505050565b615cff80620003c06000396000f3fe608060405234801561001057600080fd5b50600436106101725760003560e01c806396ee52ae116100de578063c7608f7111610097578063f0ad42f111610071578063f0ad42f1146104e1578063f242432a14610511578063f995df9e1461052d578063fccbbc9d1461056257610172565b8063c7608f7114610465578063db1d946d14610481578063e985e9c5146104b157610172565b806396ee52ae1461038b578063a22cb465146103bf578063a50fdefd146103db578063a6d86818146103f9578063ab0ca44b14610417578063b2845c511461043557610172565b80634e70bf07116101305780634e70bf07146102835780635809d30f1461029f5780636beb7959146102d35780637903a617146102f157806385ecb87f1461032157806390d3be191461035657610172565b8062fdd58e1461017757806301ffc9a7146101a75780630e89341c146101d75780632c52e071146102075780632eb2c2d6146102375780634e1273f414610253575b600080fd5b610191600480360381019061018c9190613a44565b61057e565b60405161019e9190613a93565b60405180910390f35b6101c160048036038101906101bc9190613b06565b610646565b6040516101ce9190613b4e565b60405180910390f35b6101f160048036038101906101ec9190613b69565b610728565b6040516101fe9190613c26565b60405180910390f35b610221600480360381019061021c9190613c88565b6107bc565b60405161022e9190613cd7565b60405180910390f35b610251600480360381019061024c9190613eef565b6107f2565b005b61026d60048036038101906102689190614081565b610893565b60405161027a91906141b7565b60405180910390f35b61029d6004803603810190610298919061455d565b6109ac565b005b6102b960048036038101906102b491906145e8565b610eb8565b6040516102ca959493929190614615565b60405180910390f35b6102db61103a565b6040516102e89190613c26565b60405180910390f35b61030b600480360381019061030691906145e8565b6110c8565b6040516103189190614685565b60405180910390f35b61033b600480360381019061033691906146a0565b6110fb565b60405161034d969594939291906146f3565b60405180910390f35b610370600480360381019061036b91906146a0565b6111cd565b604051610382969594939291906146f3565b60405180910390f35b6103a560048036038101906103a09190614754565b61129f565b6040516103b6959493929190614794565b60405180910390f35b6103d960048036038101906103d49190614813565b61134a565b005b6103e3611360565b6040516103f09190613cd7565b60405180910390f35b61040161137a565b60405161040e9190613cd7565b60405180910390f35b61041f611394565b60405161042c919061486f565b60405180910390f35b61044f600480360381019061044a91906145e8565b611399565b60405161045c9190613cd7565b60405180910390f35b61047f600480360381019061047a919061488a565b6113c0565b005b61049b600480360381019061049691906148f1565b611fb9565b6040516104a89190613a93565b60405180910390f35b6104cb60048036038101906104c69190614931565b611fde565b6040516104d89190613b4e565b60405180910390f35b6104fb60048036038101906104f69190614971565b612072565b6040516105089190613c26565b60405180910390f35b61052b600480360381019061052691906149b1565b61212b565b005b610547600480360381019061054291906145e8565b6121cc565b60405161055996959493929190614a66565b60405180910390f35b61057c60048036038101906105779190614c94565b6123ce565b005b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036105ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105e590614dad565b60405180910390fd5b60008083815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60007fd9b67a26000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061071157507f0e89341c000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80610721575061072082612b1d565b5b9050919050565b60606002805461073790614dfc565b80601f016020809104026020016040519081016040528092919081815260200182805461076390614dfc565b80156107b05780601f10610785576101008083540402835291602001916107b0565b820191906000526020600020905b81548152906001019060200180831161079357829003601f168201915b50505050509050919050565b60086020528160005260406000206020528060005260406000206000915091509054906101000a900467ffffffffffffffff1681565b6107fa612b87565b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161480610840575061083f8561083a612b87565b611fde565b5b61087f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161087690614e9f565b60405180910390fd5b61088c8585858585612b8f565b5050505050565b606081518351146108d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108d090614f31565b60405180910390fd5b6000835167ffffffffffffffff8111156108f6576108f5613cf7565b5b6040519080825280602002602001820160405280156109245781602001602082028036833780820191505090505b50905060005b84518110156109a15761097185828151811061094957610948614f51565b5b602002602001015185838151811061096457610963614f51565b5b602002602001015161057e565b82828151811061098457610983614f51565b5b6020026020010181815250508061099a90614faf565b905061092a565b508091505092915050565b3373ffffffffffffffffffffffffffffffffffffffff16600a60008567ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a61576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a5890615043565b60405180910390fd5b60008290508060000151600660008667ffffffffffffffff1667ffffffffffffffff1681526020019081526020016000206000019081610aa1919061520f565b508060200151600660008667ffffffffffffffff1667ffffffffffffffff1681526020019081526020016000206001019081610add919061520f565b508060400151600660008667ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060020160006101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055508060600151600660008667ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060020160086101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055508060800151600760008667ffffffffffffffff1667ffffffffffffffff1681526020019081526020016000206000019081610bc3919061520f565b508060a00151600760008667ffffffffffffffff1667ffffffffffffffff1681526020019081526020016000206001019081610bff919061520f565b508060c00151600760008667ffffffffffffffff1667ffffffffffffffff1681526020019081526020016000206002019081610c3b919061520f565b508060e00151600760008667ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060030160006101000a81548163ffffffff021916908363ffffffff160217905550806101000151600760008667ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060030160046101000a81548163ffffffff021916908363ffffffff160217905550806101200151600760008667ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060030160086101000a81548161ffff021916908361ffff1602179055506000836040015167ffffffffffffffff16118015610d4d57506000836060015167ffffffffffffffff16115b8015610d63575060008360e0015163ffffffff16115b8015610d79575060648360e0015163ffffffff16105b8015610d905750600083610100015163ffffffff16115b8015610da75750606483610100015163ffffffff16105b8015610dbd5750600083610120015161ffff1610155b8015610dd357506103e883610120015161ffff16105b610e12576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e0990615353565b60405180910390fd5b81600960008667ffffffffffffffff1667ffffffffffffffff1681526020019081526020016000209080519060200190610e4d9291906138c2565b50600360009054906101000a900467ffffffffffffffff1667ffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fa572efbd2d19ac1e29f4ddfd2494d1ba0a7893b282a7c2787531356a071cfb7160405160405180910390a350505050565b6006602052806000526040600020600091509050806000018054610edb90614dfc565b80601f0160208091040260200160405190810160405280929190818152602001828054610f0790614dfc565b8015610f545780601f10610f2957610100808354040283529160200191610f54565b820191906000526020600020905b815481529060010190602001808311610f3757829003601f168201915b505050505090806001018054610f6990614dfc565b80601f0160208091040260200160405190810160405280929190818152602001828054610f9590614dfc565b8015610fe25780601f10610fb757610100808354040283529160200191610fe2565b820191906000526020600020905b815481529060010190602001808311610fc557829003601f168201915b5050505050908060020160009054906101000a900467ffffffffffffffff16908060020160089054906101000a900467ffffffffffffffff16908060020160109054906101000a900467ffffffffffffffff16905085565b6004805461104790614dfc565b80601f016020809104026020016040519081016040528092919081815260200182805461107390614dfc565b80156110c05780601f10611095576101008083540402835291602001916110c0565b820191906000526020600020905b8154815290600101906020018083116110a357829003601f168201915b505050505081565b600a6020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600e60205282600052604060002060205281600052604060002060205280600052604060002060009250925050508060000160009054906101000a900467ffffffffffffffff16908060000160089054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010160009054906101000a900467ffffffffffffffff16908060010160089054906101000a900467ffffffffffffffff16908060020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060030154905086565b600f60205282600052604060002060205281600052604060002060205280600052604060002060009250925050508060000160009054906101000a900467ffffffffffffffff16908060000160089054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010160009054906101000a900467ffffffffffffffff16908060010160089054906101000a900467ffffffffffffffff16908060020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060030154905086565b600d602052816000526040600020602052806000526040600020600091509150508060000160009054906101000a900467ffffffffffffffff16908060000160089054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010160149054906101000a900467ffffffffffffffff16908060020154905085565b61135c611355612b87565b8383612eb0565b5050565b600360009054906101000a900467ffffffffffffffff1681565b600560009054906101000a900467ffffffffffffffff1681565b600181565b600b6020528060005260406000206000915054906101000a900467ffffffffffffffff1681565b60006040518060400160405280600481526020017f30786162000000000000000000000000000000000000000000000000000000008152509050600080600190508367ffffffffffffffff16611420878967ffffffffffffffff1661057e565b1015611461576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114589061540b565b60405180910390fd5b8367ffffffffffffffff16600c60008967ffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015611508576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114ff90615477565b60405180910390fd5b61152986868967ffffffffffffffff168767ffffffffffffffff168761212b565b61153485600161134a565b8367ffffffffffffffff16600c60008967ffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546115a89190615497565b925050819055508367ffffffffffffffff16600c60008967ffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461162391906154cb565b925050819055506005600081819054906101000a900467ffffffffffffffff1661164c906154ff565b91906101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060006040518060a00160405280600360009054906101000a900467ffffffffffffffff1667ffffffffffffffff1681526020018873ffffffffffffffffffffffffffffffffffffffff1681526020018773ffffffffffffffffffffffffffffffffffffffff1681526020018667ffffffffffffffff16815260200142815250905060006040518060c00160405280600360009054906101000a900467ffffffffffffffff1667ffffffffffffffff1681526020018973ffffffffffffffffffffffffffffffffffffffff1681526020018767ffffffffffffffff1681526020018560ff1667ffffffffffffffff1681526020018873ffffffffffffffffffffffffffffffffffffffff16815260200142815250905080600e60008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600360009054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff1681526020019081526020016000206000600560009054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060008201518160000160006101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060208201518160000160086101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060408201518160010160006101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060608201518160010160086101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060808201518160020160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060a0820151816003015590505060006040518060c00160405280600360009054906101000a900467ffffffffffffffff1667ffffffffffffffff1681526020018a73ffffffffffffffffffffffffffffffffffffffff1681526020018867ffffffffffffffff1681526020018560ff1667ffffffffffffffff1681526020018973ffffffffffffffffffffffffffffffffffffffff16815260200142815250905080600e60008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600360009054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff1681526020019081526020016000206000600560009054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060008201518160000160006101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060208201518160000160086101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060408201518160010160006101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060608201518160010160086101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060808201518160020160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060a0820151816003015590505080600f60008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600360009054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff1681526020019081526020016000206000600560009054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060008201518160000160006101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060208201518160000160086101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060408201518160010160006101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060608201518160010160086101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060808201518160020160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060a0820151816003015590505082600d6000600360009054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff1681526020019081526020016000206000600560009054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060008201518160000160006101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060208201518160000160086101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060408201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060608201518160010160146101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060808201518160020155905050600360009054906101000a900467ffffffffffffffff1667ffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff167f4d76ee6fdba0b93457d0613a4f234d3b811bf62a20aaeb54ad347eca632a93218a604051611fa59190613cd7565b60405180910390a450505050505050505050565b600c602052816000526040600020602052806000526040600020600091509150505481565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6009602052816000526040600020818154811061208e57600080fd5b906000526020600020016000915091505080546120aa90614dfc565b80601f01602080910402602001604051908101604052809291908181526020018280546120d690614dfc565b80156121235780601f106120f857610100808354040283529160200191612123565b820191906000526020600020905b81548152906001019060200180831161210657829003601f168201915b505050505081565b612133612b87565b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161480612179575061217885612173612b87565b611fde565b5b6121b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121af90614e9f565b60405180910390fd5b6121c5858585858561301c565b5050505050565b60076020528060005260406000206000915090508060000180546121ef90614dfc565b80601f016020809104026020016040519081016040528092919081815260200182805461221b90614dfc565b80156122685780601f1061223d57610100808354040283529160200191612268565b820191906000526020600020905b81548152906001019060200180831161224b57829003601f168201915b50505050509080600101805461227d90614dfc565b80601f01602080910402602001604051908101604052809291908181526020018280546122a990614dfc565b80156122f65780601f106122cb576101008083540402835291602001916122f6565b820191906000526020600020905b8154815290600101906020018083116122d957829003601f168201915b50505050509080600201805461230b90614dfc565b80601f016020809104026020016040519081016040528092919081815260200182805461233790614dfc565b80156123845780601f1061235957610100808354040283529160200191612384565b820191906000526020600020905b81548152906001019060200180831161236757829003601f168201915b5050505050908060030160009054906101000a900463ffffffff16908060030160049054906101000a900463ffffffff16908060030160089054906101000a900461ffff16905086565b600073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff160361243d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612434906155a1565b60405180910390fd5b6000836040015167ffffffffffffffff1611801561246957506000836060015167ffffffffffffffff16115b801561248357506000836080015167ffffffffffffffff16115b801561249957506000826060015163ffffffff16115b80156124af57506064826060015163ffffffff16105b80156124c557506000826080015163ffffffff16115b80156124db57506064826080015163ffffffff16105b80156124f0575060008260a0015161ffff1610155b801561250557506103e88260a0015161ffff16105b612544576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161253b90615353565b60405180910390fd5b600083905060008390506000856080015167ffffffffffffffff1610156125a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161259790615633565b60405180910390fd5b6003600081819054906101000a900467ffffffffffffffff166125c2906154ff565b91906101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055508160066000600360009054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff168152602001908152602001600020600082015181600001908161263b919061520f565b506020820151816001019081612651919061520f565b5060408201518160020160006101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060608201518160020160086101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060808201518160020160106101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055509050508060076000600360009054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff1681526020019081526020016000206000820151816000019081612735919061520f565b50602082015181600101908161274b919061520f565b506040820151816002019081612761919061520f565b5060608201518160030160006101000a81548163ffffffff021916908363ffffffff16021790555060808201518160030160046101000a81548163ffffffff021916908363ffffffff16021790555060a08201518160030160086101000a81548161ffff021916908361ffff16021790555090505061284533600360009054906101000a900467ffffffffffffffff1667ffffffffffffffff16876080015167ffffffffffffffff166040518060400160405280600181526020017f20000000000000000000000000000000000000000000000000000000000000008152506132b7565b846080015167ffffffffffffffff16600360009054906101000a900467ffffffffffffffff1667ffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f45cb06800ef86f2198c818ff1aa517473fcefada84b9980518925b682cacff4b60405160405180910390a48260096000600360009054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002090805190602001906129099291906138c2565b50846080015167ffffffffffffffff16600c6000600360009054906101000a900467ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550846080015160086000600360009054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055508460800151600b6000600360009054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060006101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555033600a6000600360009054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050505050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b600033905090565b8151835114612bd3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612bca906156c5565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603612c42576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c3990615757565b60405180910390fd5b6000612c4c612b87565b9050612c5c818787878787613467565b60005b8451811015612e0d576000858281518110612c7d57612c7c614f51565b5b602002602001015190506000858381518110612c9c57612c9b614f51565b5b60200260200101519050600080600084815260200190815260200160002060008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015612d3d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d34906157e9565b60405180910390fd5b81810360008085815260200190815260200160002060008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508160008085815260200190815260200160002060008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612df291906154cb565b9250508190555050505080612e0690614faf565b9050612c5f565b508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8787604051612e84929190615809565b60405180910390a4612e9a81878787878761346f565b612ea8818787878787613477565b505050505050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612f1e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612f15906158b2565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c318360405161300f9190613b4e565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff160361308b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161308290615757565b60405180910390fd5b6000613095612b87565b905060006130a28561364e565b905060006130af8561364e565b90506130bf838989858589613467565b600080600088815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905085811015613156576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161314d906157e9565b60405180910390fd5b85810360008089815260200190815260200160002060008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508560008089815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461320b91906154cb565b925050819055508773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f628a8a6040516132889291906158d2565b60405180910390a461329e848a8a86868a61346f565b6132ac848a8a8a8a8a6136c8565b505050505050505050565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603613326576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161331d9061596d565b60405180910390fd5b6000613330612b87565b9050600061333d8561364e565b9050600061334a8561364e565b905061335b83600089858589613467565b8460008088815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546133ba91906154cb565b925050819055508673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6289896040516134389291906158d2565b60405180910390a461344f8360008985858961346f565b61345e836000898989896136c8565b50505050505050565b505050505050565b505050505050565b6134968473ffffffffffffffffffffffffffffffffffffffff1661389f565b15613646578373ffffffffffffffffffffffffffffffffffffffff1663bc197c8187878686866040518663ffffffff1660e01b81526004016134dc9594939291906159e2565b6020604051808303816000875af192505050801561351857506040513d601f19601f820116820180604052508101906135159190615a5f565b60015b6135bd57613524615a99565b806308c379a0036135805750613538615abb565b806135435750613582565b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016135779190613c26565b60405180910390fd5b505b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016135b490615bbd565b60405180910390fd5b63bc197c8160e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614613644576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161363b90615c4f565b60405180910390fd5b505b505050505050565b60606000600167ffffffffffffffff81111561366d5761366c613cf7565b5b60405190808252806020026020018201604052801561369b5781602001602082028036833780820191505090505b50905082816000815181106136b3576136b2614f51565b5b60200260200101818152505080915050919050565b6136e78473ffffffffffffffffffffffffffffffffffffffff1661389f565b15613897578373ffffffffffffffffffffffffffffffffffffffff1663f23a6e6187878686866040518663ffffffff1660e01b815260040161372d959493929190615c6f565b6020604051808303816000875af192505050801561376957506040513d601f19601f820116820180604052508101906137669190615a5f565b60015b61380e57613775615a99565b806308c379a0036137d15750613789615abb565b8061379457506137d3565b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016137c89190613c26565b60405180910390fd5b505b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161380590615bbd565b60405180910390fd5b63f23a6e6160e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614613895576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161388c90615c4f565b60405180910390fd5b505b505050505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b82805482825590600052602060002090810192821561390a579160200282015b828111156139095782518290816138f9919061520f565b50916020019190600101906138e2565b5b509050613917919061391b565b5090565b5b8082111561393b5760008181613932919061393f565b5060010161391c565b5090565b50805461394b90614dfc565b6000825580601f1061395d575061397c565b601f01602090049060005260206000209081019061397b919061397f565b5b50565b5b80821115613998576000816000905550600101613980565b5090565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006139db826139b0565b9050919050565b6139eb816139d0565b81146139f657600080fd5b50565b600081359050613a08816139e2565b92915050565b6000819050919050565b613a2181613a0e565b8114613a2c57600080fd5b50565b600081359050613a3e81613a18565b92915050565b60008060408385031215613a5b57613a5a6139a6565b5b6000613a69858286016139f9565b9250506020613a7a85828601613a2f565b9150509250929050565b613a8d81613a0e565b82525050565b6000602082019050613aa86000830184613a84565b92915050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b613ae381613aae565b8114613aee57600080fd5b50565b600081359050613b0081613ada565b92915050565b600060208284031215613b1c57613b1b6139a6565b5b6000613b2a84828501613af1565b91505092915050565b60008115159050919050565b613b4881613b33565b82525050565b6000602082019050613b636000830184613b3f565b92915050565b600060208284031215613b7f57613b7e6139a6565b5b6000613b8d84828501613a2f565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015613bd0578082015181840152602081019050613bb5565b60008484015250505050565b6000601f19601f8301169050919050565b6000613bf882613b96565b613c028185613ba1565b9350613c12818560208601613bb2565b613c1b81613bdc565b840191505092915050565b60006020820190508181036000830152613c408184613bed565b905092915050565b600067ffffffffffffffff82169050919050565b613c6581613c48565b8114613c7057600080fd5b50565b600081359050613c8281613c5c565b92915050565b60008060408385031215613c9f57613c9e6139a6565b5b6000613cad85828601613c73565b9250506020613cbe858286016139f9565b9150509250929050565b613cd181613c48565b82525050565b6000602082019050613cec6000830184613cc8565b92915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b613d2f82613bdc565b810181811067ffffffffffffffff82111715613d4e57613d4d613cf7565b5b80604052505050565b6000613d6161399c565b9050613d6d8282613d26565b919050565b600067ffffffffffffffff821115613d8d57613d8c613cf7565b5b602082029050602081019050919050565b600080fd5b6000613db6613db184613d72565b613d57565b90508083825260208201905060208402830185811115613dd957613dd8613d9e565b5b835b81811015613e025780613dee8882613a2f565b845260208401935050602081019050613ddb565b5050509392505050565b600082601f830112613e2157613e20613cf2565b5b8135613e31848260208601613da3565b91505092915050565b600080fd5b600067ffffffffffffffff821115613e5a57613e59613cf7565b5b613e6382613bdc565b9050602081019050919050565b82818337600083830152505050565b6000613e92613e8d84613e3f565b613d57565b905082815260208101848484011115613eae57613ead613e3a565b5b613eb9848285613e70565b509392505050565b600082601f830112613ed657613ed5613cf2565b5b8135613ee6848260208601613e7f565b91505092915050565b600080600080600060a08688031215613f0b57613f0a6139a6565b5b6000613f19888289016139f9565b9550506020613f2a888289016139f9565b945050604086013567ffffffffffffffff811115613f4b57613f4a6139ab565b5b613f5788828901613e0c565b935050606086013567ffffffffffffffff811115613f7857613f776139ab565b5b613f8488828901613e0c565b925050608086013567ffffffffffffffff811115613fa557613fa46139ab565b5b613fb188828901613ec1565b9150509295509295909350565b600067ffffffffffffffff821115613fd957613fd8613cf7565b5b602082029050602081019050919050565b6000613ffd613ff884613fbe565b613d57565b905080838252602082019050602084028301858111156140205761401f613d9e565b5b835b81811015614049578061403588826139f9565b845260208401935050602081019050614022565b5050509392505050565b600082601f83011261406857614067613cf2565b5b8135614078848260208601613fea565b91505092915050565b60008060408385031215614098576140976139a6565b5b600083013567ffffffffffffffff8111156140b6576140b56139ab565b5b6140c285828601614053565b925050602083013567ffffffffffffffff8111156140e3576140e26139ab565b5b6140ef85828601613e0c565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61412e81613a0e565b82525050565b60006141408383614125565b60208301905092915050565b6000602082019050919050565b6000614164826140f9565b61416e8185614104565b935061417983614115565b8060005b838110156141aa5781516141918882614134565b975061419c8361414c565b92505060018101905061417d565b5085935050505092915050565b600060208201905081810360008301526141d18184614159565b905092915050565b600080fd5b600080fd5b600067ffffffffffffffff8211156141fe576141fd613cf7565b5b61420782613bdc565b9050602081019050919050565b6000614227614222846141e3565b613d57565b90508281526020810184848401111561424357614242613e3a565b5b61424e848285613e70565b509392505050565b600082601f83011261426b5761426a613cf2565b5b813561427b848260208601614214565b91505092915050565b600063ffffffff82169050919050565b61429d81614284565b81146142a857600080fd5b50565b6000813590506142ba81614294565b92915050565b600061ffff82169050919050565b6142d7816142c0565b81146142e257600080fd5b50565b6000813590506142f4816142ce565b92915050565b60006101408284031215614311576143106141d9565b5b61431c610140613d57565b9050600082013567ffffffffffffffff81111561433c5761433b6141de565b5b61434884828501614256565b600083015250602082013567ffffffffffffffff81111561436c5761436b6141de565b5b61437884828501614256565b602083015250604061438c84828501613c73565b60408301525060606143a084828501613c73565b606083015250608082013567ffffffffffffffff8111156143c4576143c36141de565b5b6143d084828501614256565b60808301525060a082013567ffffffffffffffff8111156143f4576143f36141de565b5b61440084828501614256565b60a08301525060c082013567ffffffffffffffff811115614424576144236141de565b5b61443084828501614256565b60c08301525060e0614444848285016142ab565b60e083015250610100614459848285016142ab565b6101008301525061012061446f848285016142e5565b6101208301525092915050565b600067ffffffffffffffff82111561449757614496613cf7565b5b602082029050602081019050919050565b60006144bb6144b68461447c565b613d57565b905080838252602082019050602084028301858111156144de576144dd613d9e565b5b835b8181101561452557803567ffffffffffffffff81111561450357614502613cf2565b5b8086016145108982614256565b855260208501945050506020810190506144e0565b5050509392505050565b600082601f83011261454457614543613cf2565b5b81356145548482602086016144a8565b91505092915050565b600080600060608486031215614576576145756139a6565b5b600061458486828701613c73565b935050602084013567ffffffffffffffff8111156145a5576145a46139ab565b5b6145b1868287016142fa565b925050604084013567ffffffffffffffff8111156145d2576145d16139ab565b5b6145de8682870161452f565b9150509250925092565b6000602082840312156145fe576145fd6139a6565b5b600061460c84828501613c73565b91505092915050565b600060a082019050818103600083015261462f8188613bed565b905081810360208301526146438187613bed565b90506146526040830186613cc8565b61465f6060830185613cc8565b61466c6080830184613cc8565b9695505050505050565b61467f816139d0565b82525050565b600060208201905061469a6000830184614676565b92915050565b6000806000606084860312156146b9576146b86139a6565b5b60006146c7868287016139f9565b93505060206146d886828701613c73565b92505060406146e986828701613c73565b9150509250925092565b600060c0820190506147086000830189613cc8565b6147156020830188614676565b6147226040830187613cc8565b61472f6060830186613cc8565b61473c6080830185614676565b61474960a0830184613a84565b979650505050505050565b6000806040838503121561476b5761476a6139a6565b5b600061477985828601613c73565b925050602061478a85828601613c73565b9150509250929050565b600060a0820190506147a96000830188613cc8565b6147b66020830187614676565b6147c36040830186614676565b6147d06060830185613cc8565b6147dd6080830184613a84565b9695505050505050565b6147f081613b33565b81146147fb57600080fd5b50565b60008135905061480d816147e7565b92915050565b6000806040838503121561482a576148296139a6565b5b6000614838858286016139f9565b9250506020614849858286016147fe565b9150509250929050565b600060ff82169050919050565b61486981614853565b82525050565b60006020820190506148846000830184614860565b92915050565b600080600080608085870312156148a4576148a36139a6565b5b60006148b287828801613c73565b94505060206148c3878288016139f9565b93505060406148d4878288016139f9565b92505060606148e587828801613c73565b91505092959194509250565b60008060408385031215614908576149076139a6565b5b600061491685828601613a2f565b9250506020614927858286016139f9565b9150509250929050565b60008060408385031215614948576149476139a6565b5b6000614956858286016139f9565b9250506020614967858286016139f9565b9150509250929050565b60008060408385031215614988576149876139a6565b5b600061499685828601613c73565b92505060206149a785828601613a2f565b9150509250929050565b600080600080600060a086880312156149cd576149cc6139a6565b5b60006149db888289016139f9565b95505060206149ec888289016139f9565b94505060406149fd88828901613a2f565b9350506060614a0e88828901613a2f565b925050608086013567ffffffffffffffff811115614a2f57614a2e6139ab565b5b614a3b88828901613ec1565b9150509295509295909350565b614a5181614284565b82525050565b614a60816142c0565b82525050565b600060c0820190508181036000830152614a808189613bed565b90508181036020830152614a948188613bed565b90508181036040830152614aa88187613bed565b9050614ab76060830186614a48565b614ac46080830185614a48565b614ad160a0830184614a57565b979650505050505050565b600060a08284031215614af257614af16141d9565b5b614afc60a0613d57565b9050600082013567ffffffffffffffff811115614b1c57614b1b6141de565b5b614b2884828501614256565b600083015250602082013567ffffffffffffffff811115614b4c57614b4b6141de565b5b614b5884828501614256565b6020830152506040614b6c84828501613c73565b6040830152506060614b8084828501613c73565b6060830152506080614b9484828501613c73565b60808301525092915050565b600060c08284031215614bb657614bb56141d9565b5b614bc060c0613d57565b9050600082013567ffffffffffffffff811115614be057614bdf6141de565b5b614bec84828501614256565b600083015250602082013567ffffffffffffffff811115614c1057614c0f6141de565b5b614c1c84828501614256565b602083015250604082013567ffffffffffffffff811115614c4057614c3f6141de565b5b614c4c84828501614256565b6040830152506060614c60848285016142ab565b6060830152506080614c74848285016142ab565b60808301525060a0614c88848285016142e5565b60a08301525092915050565b600080600060608486031215614cad57614cac6139a6565b5b600084013567ffffffffffffffff811115614ccb57614cca6139ab565b5b614cd786828701614adc565b935050602084013567ffffffffffffffff811115614cf857614cf76139ab565b5b614d0486828701614ba0565b925050604084013567ffffffffffffffff811115614d2557614d246139ab565b5b614d318682870161452f565b9150509250925092565b7f455243313135353a2061646472657373207a65726f206973206e6f742061207660008201527f616c6964206f776e657200000000000000000000000000000000000000000000602082015250565b6000614d97602a83613ba1565b9150614da282614d3b565b604082019050919050565b60006020820190508181036000830152614dc681614d8a565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680614e1457607f821691505b602082108103614e2757614e26614dcd565b5b50919050565b7f455243313135353a2063616c6c6572206973206e6f7420746f6b656e206f776e60008201527f6572206f7220617070726f766564000000000000000000000000000000000000602082015250565b6000614e89602e83613ba1565b9150614e9482614e2d565b604082019050919050565b60006020820190508181036000830152614eb881614e7c565b9050919050565b7f455243313135353a206163636f756e747320616e6420696473206c656e67746860008201527f206d69736d617463680000000000000000000000000000000000000000000000602082015250565b6000614f1b602983613ba1565b9150614f2682614ebf565b604082019050919050565b60006020820190508181036000830152614f4a81614f0e565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000614fba82613a0e565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203614fec57614feb614f80565b5b600182019050919050565b7f596f7520617265206e6f74206f776e6572206f66207468697320686f7573653a600082015250565b600061502d602083613ba1565b915061503882614ff7565b602082019050919050565b6000602082019050818103600083015261505c81615020565b9050919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026150c57fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82615088565b6150cf8683615088565b95508019841693508086168417925050509392505050565b6000819050919050565b600061510c61510761510284613a0e565b6150e7565b613a0e565b9050919050565b6000819050919050565b615126836150f1565b61513a61513282615113565b848454615095565b825550505050565b600090565b61514f615142565b61515a81848461511d565b505050565b5b8181101561517e57615173600082615147565b600181019050615160565b5050565b601f8211156151c35761519481615063565b61519d84615078565b810160208510156151ac578190505b6151c06151b885615078565b83018261515f565b50505b505050565b600082821c905092915050565b60006151e6600019846008026151c8565b1980831691505092915050565b60006151ff83836151d5565b9150826002028217905092915050565b61521882613b96565b67ffffffffffffffff81111561523157615230613cf7565b5b61523b8254614dfc565b615246828285615182565b600060209050601f8311600181146152795760008415615267578287015190505b61527185826151f3565b8655506152d9565b601f19841661528786615063565b60005b828110156152af5784890151825560018201915060208501945060208101905061528a565b868310156152cc57848901516152c8601f8916826151d5565b8355505b6001600288020188555050505b505050505050565b7f5468657365206c6f7420646f6573206e6f74206d65657420746865207265717560008201527f6972656d656e7473000000000000000000000000000000000000000000000000602082015250565b600061533d602883613ba1565b9150615348826152e1565b604082019050919050565b6000602082019050818103600083015261536c81615330565b9050919050565b7f20496e73756666696369656e742062616c616e636520746f207472616e73666560008201527f72206f7220796f75206172652074727920746f2073656e64206d6f726520616d60208201527f6f756e74207468616e20796f75206f776e200000000000000000000000000000604082015250565b60006153f5605283613ba1565b915061540082615373565b606082019050919050565b60006020820190508181036000830152615424816153e8565b9050919050565b7f496e73756666696369656e74206172656120746f207472616e73666572000000600082015250565b6000615461601d83613ba1565b915061546c8261542b565b602082019050919050565b6000602082019050818103600083015261549081615454565b9050919050565b60006154a282613a0e565b91506154ad83613a0e565b92508282039050818111156154c5576154c4614f80565b5b92915050565b60006154d682613a0e565b91506154e183613a0e565b92508282019050808211156154f9576154f8614f80565b5b92915050565b600061550a82613c48565b915067ffffffffffffffff820361552457615523614f80565b5b600182019050919050565b7f4d696e74696e672066726f6d207a65726f2061646472657373206973206e6f7460008201527f20416c6c6f7765642e2e2e000000000000000000000000000000000000000000602082015250565b600061558b602b83613ba1565b91506155968261552f565b604082019050919050565b600060208201905081810360008301526155ba8161557e565b9050919050565b7f20546f74616c50726f706572747953697a65206d75737420626520677265617460008201527f6572207468616e205a65726f0000000000000000000000000000000000000000602082015250565b600061561d602c83613ba1565b9150615628826155c1565b604082019050919050565b6000602082019050818103600083015261564c81615610565b9050919050565b7f455243313135353a2069647320616e6420616d6f756e7473206c656e6774682060008201527f6d69736d61746368000000000000000000000000000000000000000000000000602082015250565b60006156af602883613ba1565b91506156ba82615653565b604082019050919050565b600060208201905081810360008301526156de816156a2565b9050919050565b7f455243313135353a207472616e7366657220746f20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000615741602583613ba1565b915061574c826156e5565b604082019050919050565b6000602082019050818103600083015261577081615734565b9050919050565b7f455243313135353a20696e73756666696369656e742062616c616e636520666f60008201527f72207472616e7366657200000000000000000000000000000000000000000000602082015250565b60006157d3602a83613ba1565b91506157de82615777565b604082019050919050565b60006020820190508181036000830152615802816157c6565b9050919050565b600060408201905081810360008301526158238185614159565b905081810360208301526158378184614159565b90509392505050565b7f455243313135353a2073657474696e6720617070726f76616c2073746174757360008201527f20666f722073656c660000000000000000000000000000000000000000000000602082015250565b600061589c602983613ba1565b91506158a782615840565b604082019050919050565b600060208201905081810360008301526158cb8161588f565b9050919050565b60006040820190506158e76000830185613a84565b6158f46020830184613a84565b9392505050565b7f455243313135353a206d696e7420746f20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b6000615957602183613ba1565b9150615962826158fb565b604082019050919050565b600060208201905081810360008301526159868161594a565b9050919050565b600081519050919050565b600082825260208201905092915050565b60006159b48261598d565b6159be8185615998565b93506159ce818560208601613bb2565b6159d781613bdc565b840191505092915050565b600060a0820190506159f76000830188614676565b615a046020830187614676565b8181036040830152615a168186614159565b90508181036060830152615a2a8185614159565b90508181036080830152615a3e81846159a9565b90509695505050505050565b600081519050615a5981613ada565b92915050565b600060208284031215615a7557615a746139a6565b5b6000615a8384828501615a4a565b91505092915050565b60008160e01c9050919050565b600060033d1115615ab85760046000803e615ab5600051615a8c565b90505b90565b600060443d10615b4857615acd61399c565b60043d036004823e80513d602482011167ffffffffffffffff82111715615af5575050615b48565b808201805167ffffffffffffffff811115615b135750505050615b48565b80602083010160043d038501811115615b30575050505050615b48565b615b3f82602001850186613d26565b82955050505050505b90565b7f455243313135353a207472616e7366657220746f206e6f6e2d4552433131353560008201527f526563656976657220696d706c656d656e746572000000000000000000000000602082015250565b6000615ba7603483613ba1565b9150615bb282615b4b565b604082019050919050565b60006020820190508181036000830152615bd681615b9a565b9050919050565b7f455243313135353a204552433131353552656365697665722072656a6563746560008201527f6420746f6b656e73000000000000000000000000000000000000000000000000602082015250565b6000615c39602883613ba1565b9150615c4482615bdd565b604082019050919050565b60006020820190508181036000830152615c6881615c2c565b9050919050565b600060a082019050615c846000830188614676565b615c916020830187614676565b615c9e6040830186613a84565b615cab6060830185613a84565b8181036080830152615cbd81846159a9565b9050969550505050505056fea26469706673582212206150c5e83e1e5821b4dc70dbc14d3acf780cc0ce256540056a1e6efd40c85fe664736f6c63430008100033