0x6080604052600436106102135760003560e01c80637f2feddc11610118578063a9059cbb116100a0578063c492f0461161006f578063c492f04614610762578063dd62ed3e1461078b578063e70ef8a4146107c8578063ea1644d5146107f1578063f2fde38b1461081a5761021a565b8063a9059cbb146106a6578063bf5976d3146106e3578063bfd792841461070e578063c3c8cd801461074b5761021a565b80638f70ccf7116100e75780638f70ccf7146105d55780638f9a55c0146105fe57806390107afe1461062957806395d89b411461065257806398a5c3151461067d5761021a565b80637f2feddc146105175780638199040e146105545780638743da6d1461057f5780638da5cb5b146105aa5761021a565b806352f7c9881161019b57806370a082311161016a57806370a0823114610458578063715018a61461049557806374010ece146104ac578063751039fc146104d55780637d1db4a5146104ec5761021a565b806352f7c988146103c65780636b999053146103ef5780636d8aa8f8146104185780636fc3eaec146104415761021a565b806323b872dd116101e257806323b872dd146102dd5780632fd689e31461031a578063313ce567146103455780633d6a9afe1461037057806349bd5a5e1461039b5761021a565b806306fdde031461021f578063095ea7b31461024a5780631694505e1461028757806318160ddd146102b25761021a565b3661021a57005b600080fd5b34801561022b57600080fd5b50610234610843565b6040516102419190613053565b60405180910390f35b34801561025657600080fd5b50610271600480360381019061026c9190613113565b610880565b60405161027e919061316e565b60405180910390f35b34801561029357600080fd5b5061029c61089e565b6040516102a991906131e8565b60405180910390f35b3480156102be57600080fd5b506102c76108c4565b6040516102d49190613212565b60405180910390f35b3480156102e957600080fd5b5061030460048036038101906102ff919061322d565b6108d4565b604051610311919061316e565b60405180910390f35b34801561032657600080fd5b5061032f6109ad565b60405161033c9190613212565b60405180910390f35b34801561035157600080fd5b5061035a6109b3565b604051610367919061329c565b60405180910390f35b34801561037c57600080fd5b506103856109bc565b60405161039291906132d8565b60405180910390f35b3480156103a757600080fd5b506103b06109e2565b6040516103bd9190613302565b60405180910390f35b3480156103d257600080fd5b506103ed60048036038101906103e8919061331d565b610a08565b005b3480156103fb57600080fd5b506104166004803603810190610411919061335d565b610b37565b005b34801561042457600080fd5b5061043f600480360381019061043a91906133b6565b610c27565b005b34801561044d57600080fd5b50610456610cd9565b005b34801561046457600080fd5b5061047f600480360381019061047a919061335d565b610daa565b60405161048c9190613212565b60405180910390f35b3480156104a157600080fd5b506104aa610dfb565b005b3480156104b857600080fd5b506104d360048036038101906104ce91906133e3565b610f4e565b005b3480156104e157600080fd5b506104ea611037565b005b3480156104f857600080fd5b506105016110ec565b60405161050e9190613212565b60405180910390f35b34801561052357600080fd5b5061053e6004803603810190610539919061335d565b6110f2565b60405161054b9190613212565b60405180910390f35b34801561056057600080fd5b5061056961110a565b6040516105769190613212565b60405180910390f35b34801561058b57600080fd5b50610594611110565b6040516105a191906132d8565b60405180910390f35b3480156105b657600080fd5b506105bf611136565b6040516105cc9190613302565b60405180910390f35b3480156105e157600080fd5b506105fc60048036038101906105f791906133b6565b61115f565b005b34801561060a57600080fd5b50610613611211565b6040516106209190613212565b60405180910390f35b34801561063557600080fd5b50610650600480360381019061064b919061343c565b611217565b005b34801561065e57600080fd5b50610667611332565b6040516106749190613053565b60405180910390f35b34801561068957600080fd5b506106a4600480360381019061069f91906133e3565b61136f565b005b3480156106b257600080fd5b506106cd60048036038101906106c89190613113565b61140e565b6040516106da919061316e565b60405180910390f35b3480156106ef57600080fd5b506106f861142c565b6040516107059190613212565b60405180910390f35b34801561071a57600080fd5b506107356004803603810190610730919061335d565b611432565b604051610742919061316e565b60405180910390f35b34801561075757600080fd5b50610760611452565b005b34801561076e57600080fd5b50610789600480360381019061078491906134e1565b61152b565b005b34801561079757600080fd5b506107b260048036038101906107ad9190613541565b611665565b6040516107bf9190613212565b60405180910390f35b3480156107d457600080fd5b506107ef60048036038101906107ea919061335d565b6116ec565b005b3480156107fd57600080fd5b50610818600480360381019061081391906133e3565b6117dc565b005b34801561082657600080fd5b50610841600480360381019061083c919061335d565b6118c5565b005b60606040518060400160405280600881526020017f372d456c6576656e000000000000000000000000000000000000000000000000815250905090565b600061089461088d611a87565b8484611a8f565b6001905092915050565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600067016345785d8a0000905090565b60006108e1848484611c5a565b6109a2846108ed611a87565b61099d856040518060600160405280602881526020016142dd60289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610953611a87565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546124369092919063ffffffff16565b611a8f565b600190509392505050565b60185481565b60006009905090565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610a10611a87565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a9d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a94906135cd565b60405180910390fd5b6023821115610ae1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ad89061365f565b60405180910390fd5b6023811115610b25576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b1c906136f1565b60405180910390fd5b81600a8190555080600b819055505050565b610b3f611a87565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bcc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bc3906135cd565b60405180910390fd5b6000601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b610c2f611a87565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610cbc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cb3906135cd565b60405180910390fd5b80601560166101000a81548160ff02191690831515021790555050565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610d1a611a87565b73ffffffffffffffffffffffffffffffffffffffff161480610d905750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610d78611a87565b73ffffffffffffffffffffffffffffffffffffffff16145b610d9957600080fd5b6000479050610da78161249a565b50565b6000610df4600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461259f565b9050919050565b610e03611a87565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e90576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e87906135cd565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610f56611a87565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610fe3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fda906135cd565b60405180910390fd5b6601c6bf5263400081101561102d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110249061375d565b60405180910390fd5b8060168190555050565b61103f611a87565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146110cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110c3906135cd565b60405180910390fd5b67016345785d8a000060178190555067016345785d8a0000601681905550565b60165481565b60116020528060005260406000206000915090505481565b600b5481565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b611167611a87565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111eb906135cd565b60405180910390fd5b80601560146101000a81548160ff02191690831515021790555050565b60175481565b61121f611a87565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112a3906135cd565b60405180910390fd5b81601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b60606040518060400160405280600381526020017f3731310000000000000000000000000000000000000000000000000000000000815250905090565b611377611a87565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611404576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113fb906135cd565b60405180910390fd5b8060188190555050565b600061142261141b611a87565b8484611c5a565b6001905092915050565b600a5481565b60106020528060005260406000206000915054906101000a900460ff1681565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611493611a87565b73ffffffffffffffffffffffffffffffffffffffff1614806115095750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166114f1611a87565b73ffffffffffffffffffffffffffffffffffffffff16145b61151257600080fd5b600061151d30610daa565b90506115288161260d565b50565b611533611a87565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146115c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115b7906135cd565b60405180910390fd5b60005b8383905081101561165f5781600560008686858181106115e6576115e561377d565b5b90506020020160208101906115fb919061335d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080611657906137db565b9150506115c3565b50505050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6116f4611a87565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611781576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611778906135cd565b60405180910390fd5b6001601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6117e4611a87565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611871576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611868906135cd565b60405180910390fd5b6601c6bf526340008110156118bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118b290613896565b60405180910390fd5b8060178190555050565b6118cd611a87565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461195a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611951906135cd565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156119ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119c190613928565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611aff576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611af6906139ba565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611b6f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b6690613a4c565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611c4d9190613212565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611cca576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cc190613ade565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611d3a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d3190613b70565b60405180910390fd5b60008111611d7d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d7490613c02565b60405180910390fd5b6000611d87611136565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480611df25750611dc3611136565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b9050806121df57601560149054906101000a900460ff16611e8357611e15611136565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614611e82576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e7990613c94565b60405180910390fd5b5b601654821115611ec8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ebf90613d00565b60405180910390fd5b601060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611f6c5750601060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b611fab576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fa290613d92565b60405180910390fd5b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614612058576017548261200d85610daa565b6120179190613db2565b10612057576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161204e90613e7a565b60405180910390fd5b5b600061206330610daa565b905060006018548210159050601654821061207e5760165491505b808015612096575060158054906101000a900460ff16155b80156120f05750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614155b80156121085750601560169054906101000a900460ff165b801561215e5750600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156121b45750600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156121dc576121c28261260d565b600047905060008111156121da576121d94761249a565b5b505b50505b600060019050600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806122865750600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b8061228e5750815b1561229c5760009050612423565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161480156123475750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b1561235f57600654600c81905550600a54600d819055505b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614801561240a5750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b1561242257600754600c81905550600b54600d819055505b5b61242f85858584612893565b5050505050565b600083831115829061247e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124759190613053565b60405180910390fd5b506000838561248d9190613e9a565b9050809150509392505050565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc60646032846124e59190613ece565b6124ef9190613f57565b9081150290604051600060405180830381858888f1935050505015801561251a573d6000803e3d6000fd5b50601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc60646032846125669190613ece565b6125709190613f57565b9081150290604051600060405180830381858888f1935050505015801561259b573d6000803e3d6000fd5b5050565b60006008548211156125e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125dd90613ffa565b60405180910390fd5b60006125f06128c0565b905061260581846128eb90919063ffffffff16565b915050919050565b60016015806101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156126445761264361401a565b5b6040519080825280602002602001820160405280156126725781602001602082028036833780820191505090505b509050308160008151811061268a5761268961377d565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561272c57600080fd5b505afa158015612740573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612764919061405e565b816001815181106127785761277761377d565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506127df30601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611a8f565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612843959493929190614184565b600060405180830381600087803b15801561285d57600080fd5b505af1158015612871573d6000803e3d6000fd5b505050505060006015806101000a81548160ff02191690831515021790555050565b806128a1576128a0612935565b5b6128ac848484612978565b806128ba576128b9612b43565b5b50505050565b60008060006128cd612b57565b915091506128e481836128eb90919063ffffffff16565b9250505090565b600061292d83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612bb6565b905092915050565b6000600c5414801561294957506000600d54145b1561295357612976565b600c54600e81905550600d54600f819055506000600c819055506000600d819055505b565b60008060008060008061298a87612c19565b9550955095509550955095506129e886600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c8190919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612a7d85600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ccb90919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612ac981612d29565b612ad38483612de6565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051612b309190613212565b60405180910390a3505050505050505050565b600e54600c81905550600f54600d81905550565b60008060006008549050600067016345785d8a00009050612b8b67016345785d8a00006008546128eb90919063ffffffff16565b821015612ba95760085467016345785d8a0000935093505050612bb2565b81819350935050505b9091565b60008083118290612bfd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612bf49190613053565b60405180910390fd5b5060008385612c0c9190613f57565b9050809150509392505050565b6000806000806000806000806000612c368a600c54600d54612e20565b9250925092506000612c466128c0565b90506000806000612c598e878787612eb6565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b6000612cc383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612436565b905092915050565b6000808284612cda9190613db2565b905083811015612d1f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d169061422a565b60405180910390fd5b8091505092915050565b6000612d336128c0565b90506000612d4a8284612f3f90919063ffffffff16565b9050612d9e81600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ccb90919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b612dfb82600854612c8190919063ffffffff16565b600881905550612e1681600954612ccb90919063ffffffff16565b6009819055505050565b600080600080612e4c6064612e3e888a612f3f90919063ffffffff16565b6128eb90919063ffffffff16565b90506000612e766064612e68888b612f3f90919063ffffffff16565b6128eb90919063ffffffff16565b90506000612e9f82612e91858c612c8190919063ffffffff16565b612c8190919063ffffffff16565b905080838395509550955050505093509350939050565b600080600080612ecf8589612f3f90919063ffffffff16565b90506000612ee68689612f3f90919063ffffffff16565b90506000612efd8789612f3f90919063ffffffff16565b90506000612f2682612f188587612c8190919063ffffffff16565b612c8190919063ffffffff16565b9050838184965096509650505050509450945094915050565b600080831415612f525760009050612fb4565b60008284612f609190613ece565b9050828482612f6f9190613f57565b14612faf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612fa6906142bc565b60405180910390fd5b809150505b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612ff4578082015181840152602081019050612fd9565b83811115613003576000848401525b50505050565b6000601f19601f8301169050919050565b600061302582612fba565b61302f8185612fc5565b935061303f818560208601612fd6565b61304881613009565b840191505092915050565b6000602082019050818103600083015261306d818461301a565b905092915050565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006130aa8261307f565b9050919050565b6130ba8161309f565b81146130c557600080fd5b50565b6000813590506130d7816130b1565b92915050565b6000819050919050565b6130f0816130dd565b81146130fb57600080fd5b50565b60008135905061310d816130e7565b92915050565b6000806040838503121561312a57613129613075565b5b6000613138858286016130c8565b9250506020613149858286016130fe565b9150509250929050565b60008115159050919050565b61316881613153565b82525050565b6000602082019050613183600083018461315f565b92915050565b6000819050919050565b60006131ae6131a96131a48461307f565b613189565b61307f565b9050919050565b60006131c082613193565b9050919050565b60006131d2826131b5565b9050919050565b6131e2816131c7565b82525050565b60006020820190506131fd60008301846131d9565b92915050565b61320c816130dd565b82525050565b60006020820190506132276000830184613203565b92915050565b60008060006060848603121561324657613245613075565b5b6000613254868287016130c8565b9350506020613265868287016130c8565b9250506040613276868287016130fe565b9150509250925092565b600060ff82169050919050565b61329681613280565b82525050565b60006020820190506132b1600083018461328d565b92915050565b60006132c28261307f565b9050919050565b6132d2816132b7565b82525050565b60006020820190506132ed60008301846132c9565b92915050565b6132fc8161309f565b82525050565b600060208201905061331760008301846132f3565b92915050565b6000806040838503121561333457613333613075565b5b6000613342858286016130fe565b9250506020613353858286016130fe565b9150509250929050565b60006020828403121561337357613372613075565b5b6000613381848285016130c8565b91505092915050565b61339381613153565b811461339e57600080fd5b50565b6000813590506133b08161338a565b92915050565b6000602082840312156133cc576133cb613075565b5b60006133da848285016133a1565b91505092915050565b6000602082840312156133f9576133f8613075565b5b6000613407848285016130fe565b91505092915050565b613419816132b7565b811461342457600080fd5b50565b60008135905061343681613410565b92915050565b6000806040838503121561345357613452613075565b5b600061346185828601613427565b925050602061347285828601613427565b9150509250929050565b600080fd5b600080fd5b600080fd5b60008083601f8401126134a1576134a061347c565b5b8235905067ffffffffffffffff8111156134be576134bd613481565b5b6020830191508360208202830111156134da576134d9613486565b5b9250929050565b6000806000604084860312156134fa576134f9613075565b5b600084013567ffffffffffffffff8111156135185761351761307a565b5b6135248682870161348b565b93509350506020613537868287016133a1565b9150509250925092565b6000806040838503121561355857613557613075565b5b6000613566858286016130c8565b9250506020613577858286016130c8565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006135b7602083612fc5565b91506135c282613581565b602082019050919050565b600060208201905081810360008301526135e6816135aa565b9050919050565b7f427579207461782073686f756c64206265206c657373207468616e206f72206560008201527f7175616c20746f20333500000000000000000000000000000000000000000000602082015250565b6000613649602a83612fc5565b9150613654826135ed565b604082019050919050565b600060208201905081810360008301526136788161363c565b9050919050565b7f53656c6c207461782073686f756c64206265206c657373207468616e206f722060008201527f657175616c20746f203335000000000000000000000000000000000000000000602082015250565b60006136db602b83612fc5565b91506136e68261367f565b604082019050919050565b6000602082019050818103600083015261370a816136ce565b9050919050565b7f4d61782054786e2063616e2774206265206c657373207468616e20302e352520600082015250565b6000613747602083612fc5565b915061375282613711565b602082019050919050565b600060208201905081810360008301526137768161373a565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006137e6826130dd565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415613819576138186137ac565b5b600182019050919050565b7f4d61782057616c6c65742063616e2774206265206c657373207468616e20302e60008201527f3525200000000000000000000000000000000000000000000000000000000000602082015250565b6000613880602383612fc5565b915061388b82613824565b604082019050919050565b600060208201905081810360008301526138af81613873565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000613912602683612fc5565b915061391d826138b6565b604082019050919050565b6000602082019050818103600083015261394181613905565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006139a4602483612fc5565b91506139af82613948565b604082019050919050565b600060208201905081810360008301526139d381613997565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000613a36602283612fc5565b9150613a41826139da565b604082019050919050565b60006020820190508181036000830152613a6581613a29565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000613ac8602583612fc5565b9150613ad382613a6c565b604082019050919050565b60006020820190508181036000830152613af781613abb565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000613b5a602383612fc5565b9150613b6582613afe565b604082019050919050565b60006020820190508181036000830152613b8981613b4d565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000613bec602983612fc5565b9150613bf782613b90565b604082019050919050565b60006020820190508181036000830152613c1b81613bdf565b9050919050565b7f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060008201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c656400602082015250565b6000613c7e603f83612fc5565b9150613c8982613c22565b604082019050919050565b60006020820190508181036000830152613cad81613c71565b9050919050565b7f544f4b454e3a204d6178205472616e73616374696f6e204c696d697400000000600082015250565b6000613cea601c83612fc5565b9150613cf582613cb4565b602082019050919050565b60006020820190508181036000830152613d1981613cdd565b9050919050565b7f544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c69737460008201527f6564210000000000000000000000000000000000000000000000000000000000602082015250565b6000613d7c602383612fc5565b9150613d8782613d20565b604082019050919050565b60006020820190508181036000830152613dab81613d6f565b9050919050565b6000613dbd826130dd565b9150613dc8836130dd565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613dfd57613dfc6137ac565b5b828201905092915050565b7f544f4b454e3a2042616c616e636520657863656564732077616c6c657420736960008201527f7a65210000000000000000000000000000000000000000000000000000000000602082015250565b6000613e64602383612fc5565b9150613e6f82613e08565b604082019050919050565b60006020820190508181036000830152613e9381613e57565b9050919050565b6000613ea5826130dd565b9150613eb0836130dd565b925082821015613ec357613ec26137ac565b5b828203905092915050565b6000613ed9826130dd565b9150613ee4836130dd565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613f1d57613f1c6137ac565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613f62826130dd565b9150613f6d836130dd565b925082613f7d57613f7c613f28565b5b828204905092915050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b6000613fe4602a83612fc5565b9150613fef82613f88565b604082019050919050565b6000602082019050818103600083015261401381613fd7565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600081519050614058816130b1565b92915050565b60006020828403121561407457614073613075565b5b600061408284828501614049565b91505092915050565b6000819050919050565b60006140b06140ab6140a68461408b565b613189565b6130dd565b9050919050565b6140c081614095565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6140fb8161309f565b82525050565b600061410d83836140f2565b60208301905092915050565b6000602082019050919050565b6000614131826140c6565b61413b81856140d1565b9350614146836140e2565b8060005b8381101561417757815161415e8882614101565b975061416983614119565b92505060018101905061414a565b5085935050505092915050565b600060a0820190506141996000830188613203565b6141a660208301876140b7565b81810360408301526141b88186614126565b90506141c760608301856132f3565b6141d46080830184613203565b9695505050505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000614214601b83612fc5565b915061421f826141de565b602082019050919050565b6000602082019050818103600083015261424381614207565b9050919050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006142a6602183612fc5565b91506142b18261424a565b604082019050919050565b600060208201905081810360008301526142d581614299565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220c0bae421548a57687f62558660823e93113a03a8e4d87c953eea0ff8fa42720264736f6c63430008090033
0x60806040526000600655600060075567016345785d8a000060001962000026919062000798565b600019620000359190620007ff565b6008556000600a556000600b55600754600c55600b54600d55600c54600e55600d54600f557380e5340f42718ad22e6d59ee12bb7103d6175bb3601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507381f61cc9624a203db2c8076f9f70dc18fdfac043601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060006015806101000a81548160ff0219169083151502179055506001601560166101000a81548160ff02191690831515021790555066071afd498d000060165566071afd498d000060175565048c273950006018553480156200016657600080fd5b506000620001796200072e60201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350600854600260006200022e6200072e60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000737a250d5630b4cf539739df2c5dacb4c659f2488d905080601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156200030d57600080fd5b505afa15801562000322573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003489190620008a4565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015620003ab57600080fd5b505afa158015620003c0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003e69190620008a4565b6040518363ffffffff1660e01b815260040162000405929190620008e7565b602060405180830381600087803b1580156200042057600080fd5b505af115801562000435573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200045b9190620008a4565b601560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160056000620004b16200073660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016005600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620006b86200072e60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef67016345785d8a00006040516200071f919062000925565b60405180910390a35062000942565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000620007a5826200075f565b9150620007b2836200075f565b925082620007c557620007c462000769565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006200080c826200075f565b915062000819836200075f565b9250828210156200082f576200082e620007d0565b5b828203905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006200086c826200083f565b9050919050565b6200087e816200085f565b81146200088a57600080fd5b50565b6000815190506200089e8162000873565b92915050565b600060208284031215620008bd57620008bc6200083a565b5b6000620008cd848285016200088d565b91505092915050565b620008e1816200085f565b82525050565b6000604082019050620008fe6000830185620008d6565b6200090d6020830184620008d6565b9392505050565b6200091f816200075f565b82525050565b60006020820190506200093c600083018462000914565b92915050565b61433a80620009526000396000f3fe6080604052600436106102135760003560e01c80637f2feddc11610118578063a9059cbb116100a0578063c492f0461161006f578063c492f04614610762578063dd62ed3e1461078b578063e70ef8a4146107c8578063ea1644d5146107f1578063f2fde38b1461081a5761021a565b8063a9059cbb146106a6578063bf5976d3146106e3578063bfd792841461070e578063c3c8cd801461074b5761021a565b80638f70ccf7116100e75780638f70ccf7146105d55780638f9a55c0146105fe57806390107afe1461062957806395d89b411461065257806398a5c3151461067d5761021a565b80637f2feddc146105175780638199040e146105545780638743da6d1461057f5780638da5cb5b146105aa5761021a565b806352f7c9881161019b57806370a082311161016a57806370a0823114610458578063715018a61461049557806374010ece146104ac578063751039fc146104d55780637d1db4a5146104ec5761021a565b806352f7c988146103c65780636b999053146103ef5780636d8aa8f8146104185780636fc3eaec146104415761021a565b806323b872dd116101e257806323b872dd146102dd5780632fd689e31461031a578063313ce567146103455780633d6a9afe1461037057806349bd5a5e1461039b5761021a565b806306fdde031461021f578063095ea7b31461024a5780631694505e1461028757806318160ddd146102b25761021a565b3661021a57005b600080fd5b34801561022b57600080fd5b50610234610843565b6040516102419190613053565b60405180910390f35b34801561025657600080fd5b50610271600480360381019061026c9190613113565b610880565b60405161027e919061316e565b60405180910390f35b34801561029357600080fd5b5061029c61089e565b6040516102a991906131e8565b60405180910390f35b3480156102be57600080fd5b506102c76108c4565b6040516102d49190613212565b60405180910390f35b3480156102e957600080fd5b5061030460048036038101906102ff919061322d565b6108d4565b604051610311919061316e565b60405180910390f35b34801561032657600080fd5b5061032f6109ad565b60405161033c9190613212565b60405180910390f35b34801561035157600080fd5b5061035a6109b3565b604051610367919061329c565b60405180910390f35b34801561037c57600080fd5b506103856109bc565b60405161039291906132d8565b60405180910390f35b3480156103a757600080fd5b506103b06109e2565b6040516103bd9190613302565b60405180910390f35b3480156103d257600080fd5b506103ed60048036038101906103e8919061331d565b610a08565b005b3480156103fb57600080fd5b506104166004803603810190610411919061335d565b610b37565b005b34801561042457600080fd5b5061043f600480360381019061043a91906133b6565b610c27565b005b34801561044d57600080fd5b50610456610cd9565b005b34801561046457600080fd5b5061047f600480360381019061047a919061335d565b610daa565b60405161048c9190613212565b60405180910390f35b3480156104a157600080fd5b506104aa610dfb565b005b3480156104b857600080fd5b506104d360048036038101906104ce91906133e3565b610f4e565b005b3480156104e157600080fd5b506104ea611037565b005b3480156104f857600080fd5b506105016110ec565b60405161050e9190613212565b60405180910390f35b34801561052357600080fd5b5061053e6004803603810190610539919061335d565b6110f2565b60405161054b9190613212565b60405180910390f35b34801561056057600080fd5b5061056961110a565b6040516105769190613212565b60405180910390f35b34801561058b57600080fd5b50610594611110565b6040516105a191906132d8565b60405180910390f35b3480156105b657600080fd5b506105bf611136565b6040516105cc9190613302565b60405180910390f35b3480156105e157600080fd5b506105fc60048036038101906105f791906133b6565b61115f565b005b34801561060a57600080fd5b50610613611211565b6040516106209190613212565b60405180910390f35b34801561063557600080fd5b50610650600480360381019061064b919061343c565b611217565b005b34801561065e57600080fd5b50610667611332565b6040516106749190613053565b60405180910390f35b34801561068957600080fd5b506106a4600480360381019061069f91906133e3565b61136f565b005b3480156106b257600080fd5b506106cd60048036038101906106c89190613113565b61140e565b6040516106da919061316e565b60405180910390f35b3480156106ef57600080fd5b506106f861142c565b6040516107059190613212565b60405180910390f35b34801561071a57600080fd5b506107356004803603810190610730919061335d565b611432565b604051610742919061316e565b60405180910390f35b34801561075757600080fd5b50610760611452565b005b34801561076e57600080fd5b50610789600480360381019061078491906134e1565b61152b565b005b34801561079757600080fd5b506107b260048036038101906107ad9190613541565b611665565b6040516107bf9190613212565b60405180910390f35b3480156107d457600080fd5b506107ef60048036038101906107ea919061335d565b6116ec565b005b3480156107fd57600080fd5b50610818600480360381019061081391906133e3565b6117dc565b005b34801561082657600080fd5b50610841600480360381019061083c919061335d565b6118c5565b005b60606040518060400160405280600881526020017f372d456c6576656e000000000000000000000000000000000000000000000000815250905090565b600061089461088d611a87565b8484611a8f565b6001905092915050565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600067016345785d8a0000905090565b60006108e1848484611c5a565b6109a2846108ed611a87565b61099d856040518060600160405280602881526020016142dd60289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610953611a87565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546124369092919063ffffffff16565b611a8f565b600190509392505050565b60185481565b60006009905090565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610a10611a87565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a9d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a94906135cd565b60405180910390fd5b6023821115610ae1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ad89061365f565b60405180910390fd5b6023811115610b25576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b1c906136f1565b60405180910390fd5b81600a8190555080600b819055505050565b610b3f611a87565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bcc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bc3906135cd565b60405180910390fd5b6000601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b610c2f611a87565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610cbc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cb3906135cd565b60405180910390fd5b80601560166101000a81548160ff02191690831515021790555050565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610d1a611a87565b73ffffffffffffffffffffffffffffffffffffffff161480610d905750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610d78611a87565b73ffffffffffffffffffffffffffffffffffffffff16145b610d9957600080fd5b6000479050610da78161249a565b50565b6000610df4600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461259f565b9050919050565b610e03611a87565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e90576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e87906135cd565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610f56611a87565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610fe3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fda906135cd565b60405180910390fd5b6601c6bf5263400081101561102d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110249061375d565b60405180910390fd5b8060168190555050565b61103f611a87565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146110cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110c3906135cd565b60405180910390fd5b67016345785d8a000060178190555067016345785d8a0000601681905550565b60165481565b60116020528060005260406000206000915090505481565b600b5481565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b611167611a87565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111eb906135cd565b60405180910390fd5b80601560146101000a81548160ff02191690831515021790555050565b60175481565b61121f611a87565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112a3906135cd565b60405180910390fd5b81601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b60606040518060400160405280600381526020017f3731310000000000000000000000000000000000000000000000000000000000815250905090565b611377611a87565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611404576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113fb906135cd565b60405180910390fd5b8060188190555050565b600061142261141b611a87565b8484611c5a565b6001905092915050565b600a5481565b60106020528060005260406000206000915054906101000a900460ff1681565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611493611a87565b73ffffffffffffffffffffffffffffffffffffffff1614806115095750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166114f1611a87565b73ffffffffffffffffffffffffffffffffffffffff16145b61151257600080fd5b600061151d30610daa565b90506115288161260d565b50565b611533611a87565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146115c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115b7906135cd565b60405180910390fd5b60005b8383905081101561165f5781600560008686858181106115e6576115e561377d565b5b90506020020160208101906115fb919061335d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080611657906137db565b9150506115c3565b50505050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6116f4611a87565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611781576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611778906135cd565b60405180910390fd5b6001601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6117e4611a87565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611871576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611868906135cd565b60405180910390fd5b6601c6bf526340008110156118bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118b290613896565b60405180910390fd5b8060178190555050565b6118cd611a87565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461195a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611951906135cd565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156119ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119c190613928565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611aff576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611af6906139ba565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611b6f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b6690613a4c565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611c4d9190613212565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611cca576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cc190613ade565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611d3a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d3190613b70565b60405180910390fd5b60008111611d7d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d7490613c02565b60405180910390fd5b6000611d87611136565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480611df25750611dc3611136565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b9050806121df57601560149054906101000a900460ff16611e8357611e15611136565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614611e82576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e7990613c94565b60405180910390fd5b5b601654821115611ec8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ebf90613d00565b60405180910390fd5b601060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611f6c5750601060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b611fab576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fa290613d92565b60405180910390fd5b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614612058576017548261200d85610daa565b6120179190613db2565b10612057576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161204e90613e7a565b60405180910390fd5b5b600061206330610daa565b905060006018548210159050601654821061207e5760165491505b808015612096575060158054906101000a900460ff16155b80156120f05750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614155b80156121085750601560169054906101000a900460ff165b801561215e5750600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156121b45750600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156121dc576121c28261260d565b600047905060008111156121da576121d94761249a565b5b505b50505b600060019050600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806122865750600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b8061228e5750815b1561229c5760009050612423565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161480156123475750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b1561235f57600654600c81905550600a54600d819055505b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614801561240a5750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b1561242257600754600c81905550600b54600d819055505b5b61242f85858584612893565b5050505050565b600083831115829061247e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124759190613053565b60405180910390fd5b506000838561248d9190613e9a565b9050809150509392505050565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc60646032846124e59190613ece565b6124ef9190613f57565b9081150290604051600060405180830381858888f1935050505015801561251a573d6000803e3d6000fd5b50601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc60646032846125669190613ece565b6125709190613f57565b9081150290604051600060405180830381858888f1935050505015801561259b573d6000803e3d6000fd5b5050565b60006008548211156125e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125dd90613ffa565b60405180910390fd5b60006125f06128c0565b905061260581846128eb90919063ffffffff16565b915050919050565b60016015806101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156126445761264361401a565b5b6040519080825280602002602001820160405280156126725781602001602082028036833780820191505090505b509050308160008151811061268a5761268961377d565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561272c57600080fd5b505afa158015612740573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612764919061405e565b816001815181106127785761277761377d565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506127df30601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611a8f565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612843959493929190614184565b600060405180830381600087803b15801561285d57600080fd5b505af1158015612871573d6000803e3d6000fd5b505050505060006015806101000a81548160ff02191690831515021790555050565b806128a1576128a0612935565b5b6128ac848484612978565b806128ba576128b9612b43565b5b50505050565b60008060006128cd612b57565b915091506128e481836128eb90919063ffffffff16565b9250505090565b600061292d83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612bb6565b905092915050565b6000600c5414801561294957506000600d54145b1561295357612976565b600c54600e81905550600d54600f819055506000600c819055506000600d819055505b565b60008060008060008061298a87612c19565b9550955095509550955095506129e886600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c8190919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612a7d85600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ccb90919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612ac981612d29565b612ad38483612de6565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051612b309190613212565b60405180910390a3505050505050505050565b600e54600c81905550600f54600d81905550565b60008060006008549050600067016345785d8a00009050612b8b67016345785d8a00006008546128eb90919063ffffffff16565b821015612ba95760085467016345785d8a0000935093505050612bb2565b81819350935050505b9091565b60008083118290612bfd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612bf49190613053565b60405180910390fd5b5060008385612c0c9190613f57565b9050809150509392505050565b6000806000806000806000806000612c368a600c54600d54612e20565b9250925092506000612c466128c0565b90506000806000612c598e878787612eb6565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b6000612cc383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612436565b905092915050565b6000808284612cda9190613db2565b905083811015612d1f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d169061422a565b60405180910390fd5b8091505092915050565b6000612d336128c0565b90506000612d4a8284612f3f90919063ffffffff16565b9050612d9e81600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ccb90919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b612dfb82600854612c8190919063ffffffff16565b600881905550612e1681600954612ccb90919063ffffffff16565b6009819055505050565b600080600080612e4c6064612e3e888a612f3f90919063ffffffff16565b6128eb90919063ffffffff16565b90506000612e766064612e68888b612f3f90919063ffffffff16565b6128eb90919063ffffffff16565b90506000612e9f82612e91858c612c8190919063ffffffff16565b612c8190919063ffffffff16565b905080838395509550955050505093509350939050565b600080600080612ecf8589612f3f90919063ffffffff16565b90506000612ee68689612f3f90919063ffffffff16565b90506000612efd8789612f3f90919063ffffffff16565b90506000612f2682612f188587612c8190919063ffffffff16565b612c8190919063ffffffff16565b9050838184965096509650505050509450945094915050565b600080831415612f525760009050612fb4565b60008284612f609190613ece565b9050828482612f6f9190613f57565b14612faf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612fa6906142bc565b60405180910390fd5b809150505b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612ff4578082015181840152602081019050612fd9565b83811115613003576000848401525b50505050565b6000601f19601f8301169050919050565b600061302582612fba565b61302f8185612fc5565b935061303f818560208601612fd6565b61304881613009565b840191505092915050565b6000602082019050818103600083015261306d818461301a565b905092915050565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006130aa8261307f565b9050919050565b6130ba8161309f565b81146130c557600080fd5b50565b6000813590506130d7816130b1565b92915050565b6000819050919050565b6130f0816130dd565b81146130fb57600080fd5b50565b60008135905061310d816130e7565b92915050565b6000806040838503121561312a57613129613075565b5b6000613138858286016130c8565b9250506020613149858286016130fe565b9150509250929050565b60008115159050919050565b61316881613153565b82525050565b6000602082019050613183600083018461315f565b92915050565b6000819050919050565b60006131ae6131a96131a48461307f565b613189565b61307f565b9050919050565b60006131c082613193565b9050919050565b60006131d2826131b5565b9050919050565b6131e2816131c7565b82525050565b60006020820190506131fd60008301846131d9565b92915050565b61320c816130dd565b82525050565b60006020820190506132276000830184613203565b92915050565b60008060006060848603121561324657613245613075565b5b6000613254868287016130c8565b9350506020613265868287016130c8565b9250506040613276868287016130fe565b9150509250925092565b600060ff82169050919050565b61329681613280565b82525050565b60006020820190506132b1600083018461328d565b92915050565b60006132c28261307f565b9050919050565b6132d2816132b7565b82525050565b60006020820190506132ed60008301846132c9565b92915050565b6132fc8161309f565b82525050565b600060208201905061331760008301846132f3565b92915050565b6000806040838503121561333457613333613075565b5b6000613342858286016130fe565b9250506020613353858286016130fe565b9150509250929050565b60006020828403121561337357613372613075565b5b6000613381848285016130c8565b91505092915050565b61339381613153565b811461339e57600080fd5b50565b6000813590506133b08161338a565b92915050565b6000602082840312156133cc576133cb613075565b5b60006133da848285016133a1565b91505092915050565b6000602082840312156133f9576133f8613075565b5b6000613407848285016130fe565b91505092915050565b613419816132b7565b811461342457600080fd5b50565b60008135905061343681613410565b92915050565b6000806040838503121561345357613452613075565b5b600061346185828601613427565b925050602061347285828601613427565b9150509250929050565b600080fd5b600080fd5b600080fd5b60008083601f8401126134a1576134a061347c565b5b8235905067ffffffffffffffff8111156134be576134bd613481565b5b6020830191508360208202830111156134da576134d9613486565b5b9250929050565b6000806000604084860312156134fa576134f9613075565b5b600084013567ffffffffffffffff8111156135185761351761307a565b5b6135248682870161348b565b93509350506020613537868287016133a1565b9150509250925092565b6000806040838503121561355857613557613075565b5b6000613566858286016130c8565b9250506020613577858286016130c8565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006135b7602083612fc5565b91506135c282613581565b602082019050919050565b600060208201905081810360008301526135e6816135aa565b9050919050565b7f427579207461782073686f756c64206265206c657373207468616e206f72206560008201527f7175616c20746f20333500000000000000000000000000000000000000000000602082015250565b6000613649602a83612fc5565b9150613654826135ed565b604082019050919050565b600060208201905081810360008301526136788161363c565b9050919050565b7f53656c6c207461782073686f756c64206265206c657373207468616e206f722060008201527f657175616c20746f203335000000000000000000000000000000000000000000602082015250565b60006136db602b83612fc5565b91506136e68261367f565b604082019050919050565b6000602082019050818103600083015261370a816136ce565b9050919050565b7f4d61782054786e2063616e2774206265206c657373207468616e20302e352520600082015250565b6000613747602083612fc5565b915061375282613711565b602082019050919050565b600060208201905081810360008301526137768161373a565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006137e6826130dd565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415613819576138186137ac565b5b600182019050919050565b7f4d61782057616c6c65742063616e2774206265206c657373207468616e20302e60008201527f3525200000000000000000000000000000000000000000000000000000000000602082015250565b6000613880602383612fc5565b915061388b82613824565b604082019050919050565b600060208201905081810360008301526138af81613873565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000613912602683612fc5565b915061391d826138b6565b604082019050919050565b6000602082019050818103600083015261394181613905565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006139a4602483612fc5565b91506139af82613948565b604082019050919050565b600060208201905081810360008301526139d381613997565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000613a36602283612fc5565b9150613a41826139da565b604082019050919050565b60006020820190508181036000830152613a6581613a29565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000613ac8602583612fc5565b9150613ad382613a6c565b604082019050919050565b60006020820190508181036000830152613af781613abb565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000613b5a602383612fc5565b9150613b6582613afe565b604082019050919050565b60006020820190508181036000830152613b8981613b4d565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000613bec602983612fc5565b9150613bf782613b90565b604082019050919050565b60006020820190508181036000830152613c1b81613bdf565b9050919050565b7f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060008201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c656400602082015250565b6000613c7e603f83612fc5565b9150613c8982613c22565b604082019050919050565b60006020820190508181036000830152613cad81613c71565b9050919050565b7f544f4b454e3a204d6178205472616e73616374696f6e204c696d697400000000600082015250565b6000613cea601c83612fc5565b9150613cf582613cb4565b602082019050919050565b60006020820190508181036000830152613d1981613cdd565b9050919050565b7f544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c69737460008201527f6564210000000000000000000000000000000000000000000000000000000000602082015250565b6000613d7c602383612fc5565b9150613d8782613d20565b604082019050919050565b60006020820190508181036000830152613dab81613d6f565b9050919050565b6000613dbd826130dd565b9150613dc8836130dd565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613dfd57613dfc6137ac565b5b828201905092915050565b7f544f4b454e3a2042616c616e636520657863656564732077616c6c657420736960008201527f7a65210000000000000000000000000000000000000000000000000000000000602082015250565b6000613e64602383612fc5565b9150613e6f82613e08565b604082019050919050565b60006020820190508181036000830152613e9381613e57565b9050919050565b6000613ea5826130dd565b9150613eb0836130dd565b925082821015613ec357613ec26137ac565b5b828203905092915050565b6000613ed9826130dd565b9150613ee4836130dd565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613f1d57613f1c6137ac565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613f62826130dd565b9150613f6d836130dd565b925082613f7d57613f7c613f28565b5b828204905092915050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b6000613fe4602a83612fc5565b9150613fef82613f88565b604082019050919050565b6000602082019050818103600083015261401381613fd7565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600081519050614058816130b1565b92915050565b60006020828403121561407457614073613075565b5b600061408284828501614049565b91505092915050565b6000819050919050565b60006140b06140ab6140a68461408b565b613189565b6130dd565b9050919050565b6140c081614095565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6140fb8161309f565b82525050565b600061410d83836140f2565b60208301905092915050565b6000602082019050919050565b6000614131826140c6565b61413b81856140d1565b9350614146836140e2565b8060005b8381101561417757815161415e8882614101565b975061416983614119565b92505060018101905061414a565b5085935050505092915050565b600060a0820190506141996000830188613203565b6141a660208301876140b7565b81810360408301526141b88186614126565b90506141c760608301856132f3565b6141d46080830184613203565b9695505050505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000614214601b83612fc5565b915061421f826141de565b602082019050919050565b6000602082019050818103600083015261424381614207565b9050919050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006142a6602183612fc5565b91506142b18261424a565b604082019050919050565b600060208201905081810360008301526142d581614299565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220c0bae421548a57687f62558660823e93113a03a8e4d87c953eea0ff8fa42720264736f6c63430008090033