0x6080604052600436106102605760003560e01c80638366e79a11610144578063c876d0b9116100b6578063e884f2601161007a578063e884f260146108d3578063eba4c333146108ea578063ee40166e14610913578063f11a24d31461093e578063f2fde38b14610969578063f63743421461099257610267565b8063c876d0b9146107ec578063d257b34f14610817578063d85ba06314610840578063dd62ed3e1461086b578063e2f45605146108a857610267565b80639a7a23d6116101085780639a7a23d6146106b8578063a457c2d7146106e1578063a9059cbb1461071e578063b62496f51461075b578063bbc0c74214610798578063c0246668146107c357610267565b80638366e79a146105f757806388e765ff146106205780638a8c523c1461064b5780638da5cb5b1461066257806395d89b411461068d57610267565b806339509351116101dd5780636ddd1713116101a15780636ddd17131461050f57806370a082311461053a578063715018a61461057757806371fc46881461058e578063751039fc146105b75780637571336a146105ce57610267565b8063395093511461043a578063452ed4f1146104775780634a62bb65146104a257806351f205e4146104cd5780636a486a8e146104e457610267565b806318160ddd1161022457806318160ddd146103535780631a8145bb1461037e57806323b872dd146103a95780632be32b61146103e6578063313ce5671461040f57610267565b806306e99fef1461026c57806306fdde03146102835780630758d924146102ae578063095ea7b3146102d957806310d5de531461031657610267565b3661026757005b600080fd5b34801561027857600080fd5b506102816109bd565b005b34801561028f57600080fd5b50610298610b05565b6040516102a591906136ef565b60405180910390f35b3480156102ba57600080fd5b506102c3610b97565b6040516102d09190613790565b60405180910390f35b3480156102e557600080fd5b5061030060048036038101906102fb9190613824565b610bbb565b60405161030d919061387f565b60405180910390f35b34801561032257600080fd5b5061033d6004803603810190610338919061389a565b610bd9565b60405161034a919061387f565b60405180910390f35b34801561035f57600080fd5b50610368610bf9565b60405161037591906138d6565b60405180910390f35b34801561038a57600080fd5b50610393610c03565b6040516103a091906138d6565b60405180910390f35b3480156103b557600080fd5b506103d060048036038101906103cb91906138f1565b610c09565b6040516103dd919061387f565b60405180910390f35b3480156103f257600080fd5b5061040d60048036038101906104089190613944565b610d29565b005b34801561041b57600080fd5b50610424610ea2565b604051610431919061398d565b60405180910390f35b34801561044657600080fd5b50610461600480360381019061045c9190613824565b610eb9565b60405161046e919061387f565b60405180910390f35b34801561048357600080fd5b5061048c610f65565b60405161049991906139b7565b60405180910390f35b3480156104ae57600080fd5b506104b7610f89565b6040516104c4919061387f565b60405180910390f35b3480156104d957600080fd5b506104e2610f9c565b005b3480156104f057600080fd5b506104f96110f7565b60405161050691906138d6565b60405180910390f35b34801561051b57600080fd5b506105246110fd565b604051610531919061387f565b60405180910390f35b34801561054657600080fd5b50610561600480360381019061055c919061389a565b611110565b60405161056e91906138d6565b60405180910390f35b34801561058357600080fd5b5061058c611158565b005b34801561059a57600080fd5b506105b560048036038101906105b09190613944565b6112b0565b005b3480156105c357600080fd5b506105cc6113d9565b005b3480156105da57600080fd5b506105f560048036038101906105f091906139fe565b6114e2565b005b34801561060357600080fd5b5061061e60048036038101906106199190613a3e565b6116a1565b005b34801561062c57600080fd5b506106356118f5565b60405161064291906138d6565b60405180910390f35b34801561065757600080fd5b506106606118fb565b005b34801561066e57600080fd5b50610677611a4d565b60405161068491906139b7565b60405180910390f35b34801561069957600080fd5b506106a2611a77565b6040516106af91906136ef565b60405180910390f35b3480156106c457600080fd5b506106df60048036038101906106da91906139fe565b611b09565b005b3480156106ed57600080fd5b5061070860048036038101906107039190613824565b611ce2565b604051610715919061387f565b60405180910390f35b34801561072a57600080fd5b5061074560048036038101906107409190613824565b611dcd565b604051610752919061387f565b60405180910390f35b34801561076757600080fd5b50610782600480360381019061077d919061389a565b611deb565b60405161078f919061387f565b60405180910390f35b3480156107a457600080fd5b506107ad611e0b565b6040516107ba919061387f565b60405180910390f35b3480156107cf57600080fd5b506107ea60048036038101906107e591906139fe565b611e1e565b005b3480156107f857600080fd5b50610801611f5e565b60405161080e919061387f565b60405180910390f35b34801561082357600080fd5b5061083e60048036038101906108399190613944565b611f71565b005b34801561084c57600080fd5b50610855612110565b60405161086291906138d6565b60405180910390f35b34801561087757600080fd5b50610892600480360381019061088d9190613a3e565b612116565b60405161089f91906138d6565b60405180910390f35b3480156108b457600080fd5b506108bd61219d565b6040516108ca91906138d6565b60405180910390f35b3480156108df57600080fd5b506108e86121a3565b005b3480156108f657600080fd5b50610911600480360381019061090c9190613944565b612283565b005b34801561091f57600080fd5b506109286123ac565b60405161093591906138d6565b60405180910390f35b34801561094a57600080fd5b506109536123b2565b60405161096091906138d6565b60405180910390f35b34801561097557600080fd5b50610990600480360381019061098b919061389a565b6123b8565b005b34801561099e57600080fd5b506109a761257e565b6040516109b491906138d6565b60405180910390f35b6109c5612584565b73ffffffffffffffffffffffffffffffffffffffff16600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a54576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a4b90613aca565b60405180910390fd5b60003373ffffffffffffffffffffffffffffffffffffffff1647604051610a7a90613b1b565b60006040518083038185875af1925050503d8060008114610ab7576040519150601f19603f3d011682016040523d82523d6000602084013e610abc565b606091505b50508091505080610b02576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610af990613b7c565b60405180910390fd5b50565b606060038054610b1490613bcb565b80601f0160208091040260200160405190810160405280929190818152602001828054610b4090613bcb565b8015610b8d5780601f10610b6257610100808354040283529160200191610b8d565b820191906000526020600020905b815481529060010190602001808311610b7057829003601f168201915b5050505050905090565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d81565b6000610bcf610bc8612584565b848461258c565b6001905092915050565b60136020528060005260406000206000915054906101000a900460ff1681565b6000600254905090565b60115481565b6000610c16848484612755565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610c61612584565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610d1d5782811015610d08576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cff90613c6e565b60405180910390fd5b610d1c85610d14612584565b85840361258c565b5b60019150509392505050565b610d31612584565b73ffffffffffffffffffffffffffffffffffffffff16600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610dc0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610db790613aca565b60405180910390fd5b610dc8610ea2565b600a610dd49190613df0565b6127106001610de1610bf9565b610deb9190613e3b565b610df59190613eac565b610dff9190613eac565b811015610e41576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e3890613f4f565b60405180910390fd5b610e49610ea2565b600a610e559190613df0565b81610e609190613e3b565b6006819055507ffcc0366804aaa8dbf88a2924100c733b70dec8445957a5d5f8ff92898de41009600654604051610e9791906138d6565b60405180910390a150565b6000600560009054906101000a900460ff16905090565b6000610f5b610ec6612584565b848460016000610ed4612584565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f569190613f6f565b61258c565b6001905092915050565b7f0000000000000000000000007675311d9eede24528bbdb076f2bcad7c12899b381565b600a60009054906101000a900460ff1681565b610fa4612584565b73ffffffffffffffffffffffffffffffffffffffff16600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611033576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161102a90613aca565b60405180910390fd5b60085461103f30611110565b1015611080576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161107790614015565b60405180910390fd5b6001600760006101000a81548160ff0219169083151502179055506110a3612ef7565b6000600760006101000a81548160ff0219169083151502179055507f1b56c383f4f48fc992e45667ea4eabae777b9cca68b516a9562d8cda78f1bb32426040516110ed91906138d6565b60405180910390a1565b600f5481565b600a60029054906101000a900460ff1681565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b611160612584565b73ffffffffffffffffffffffffffffffffffffffff16600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111e690613aca565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000600560016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6112b8612584565b73ffffffffffffffffffffffffffffffffffffffff16600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611347576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161133e90613aca565b60405180910390fd5b80600e81905550600e54600d819055506032600d54111561139d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611394906140a7565b60405180910390fd5b7f03cd3090e7c409e4a7ffd2d90ff610979f4a94a87a512188b7b615671bfb772f600d546040516113ce91906138d6565b60405180910390a150565b6113e1612584565b73ffffffffffffffffffffffffffffffffffffffff16600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611470576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161146790613aca565b60405180910390fd5b6000600a60006101000a81548160ff0219169083151502179055506000600c60006101000a81548160ff0219169083151502179055506114ae610bf9565b6006819055507fa4ffae85e880608d5d4365c2b682786545d136145537788e7e0940dff9f0b98c60405160405180910390a1565b6114ea612584565b73ffffffffffffffffffffffffffffffffffffffff16600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611579576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161157090613aca565b60405180910390fd5b8061160d577f0000000000000000000000007675311d9eede24528bbdb076f2bcad7c12899b373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361160c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161160390614139565b60405180910390fd5b5b80601360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f6b4f1be9103e6cbcd38ca4a922334f2c3109b260130a6676a987f94088fd67468282604051611695929190614159565b60405180910390a15050565b6116a9612584565b73ffffffffffffffffffffffffffffffffffffffff16600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611738576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161172f90613aca565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036117a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161179e906141ce565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415806117ef5750600a60019054906101000a900460ff16155b61182e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161182590614260565b60405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161186991906139b7565b602060405180830381865afa158015611886573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118aa9190614295565b90506118b7838383613048565b7fdeda980967fcead7b61e78ac46a4da14274af29e894d4d61e8b81ec38ab3e43883826040516118e89291906142c2565b60405180910390a1505050565b60065481565b611903612584565b73ffffffffffffffffffffffffffffffffffffffff16600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611992576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161198990613aca565b60405180910390fd5b600a60019054906101000a900460ff16156119e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119d99061435d565b60405180910390fd5b6001600a60016101000a81548160ff0219169083151502179055506001600a60026101000a81548160ff021916908315150217905550436009819055507fa56feb2d31b9a7424db0be063fd450863979c9e2382cf5110f869bd1ad361bb760405160405180910390a1565b6000600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060048054611a8690613bcb565b80601f0160208091040260200160405190810160405280929190818152602001828054611ab290613bcb565b8015611aff5780601f10611ad457610100808354040283529160200191611aff565b820191906000526020600020905b815481529060010190602001808311611ae257829003601f168201915b5050505050905090565b611b11612584565b73ffffffffffffffffffffffffffffffffffffffff16600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611ba0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b9790613aca565b60405180910390fd5b7f0000000000000000000000007675311d9eede24528bbdb076f2bcad7c12899b373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141580611bf85750805b611c37576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c2e906143ef565b60405180910390fd5b80601460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550611c9882826130ce565b8015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b60008060016000611cf1612584565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015611dae576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611da590614481565b60405180910390fd5b611dc2611db9612584565b8585840361258c565b600191505092915050565b6000611de1611dda612584565b8484612755565b6001905092915050565b60146020528060005260406000206000915054906101000a900460ff1681565b600a60019054906101000a900460ff1681565b611e26612584565b73ffffffffffffffffffffffffffffffffffffffff16600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611eb5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611eac90613aca565b60405180910390fd5b80601260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df782604051611f52919061387f565b60405180910390a25050565b600c60009054906101000a900460ff1681565b611f79612584565b73ffffffffffffffffffffffffffffffffffffffff16600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612008576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fff90613aca565b60405180910390fd5b620186a06001612016610bf9565b6120209190613e3b565b61202a9190613eac565b81101561206c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161206390614513565b60405180910390fd5b6103e86001612079610bf9565b6120839190613e3b565b61208d9190613eac565b8111156120cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120c6906145a5565b60405180910390fd5b806008819055507f7c26bfee26f82e8cb57af48f4019cc64582db6fac7bad778433f10572ae8b1458160405161210591906138d6565b60405180910390a150565b600d5481565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60085481565b6121ab612584565b73ffffffffffffffffffffffffffffffffffffffff16600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461223a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161223190613aca565b60405180910390fd5b6000600c60006101000a81548160ff0219169083151502179055507fa29c2b578a5a679452d146ddd35ea04a2e7c57fe555cc7a3d91b3b8b06e6103d60405160405180910390a1565b61228b612584565b73ffffffffffffffffffffffffffffffffffffffff16600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461231a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161231190613aca565b60405180910390fd5b80601081905550601054600f819055506050600f541115612370576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161236790614637565b60405180910390fd5b7f274faecd49018fb411281f27986b6b4acc86e5db4100735531acd18b7b6d5f93600f546040516123a191906138d6565b60405180910390a150565b60095481565b600e5481565b6123c0612584565b73ffffffffffffffffffffffffffffffffffffffff16600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461244f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161244690613aca565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036124be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124b5906146c9565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600560016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60105481565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036125fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125f29061475b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361266a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612661906147ed565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161274891906138d6565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036127c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127bb9061487f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612833576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161282a90614911565b60405180910390fd5b6000810361284c5761284783836000613162565b612ef2565b601260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806128ed5750601260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15612902576128fd838383613162565b612ef2565b600a60019054906101000a900460ff16612951576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129489061497d565b60405180910390fd5b600a60009054906101000a900460ff1615612c8457600c60009054906101000a900460ff1615612b95577f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614158015612a2357507f0000000000000000000000007675311d9eede24528bbdb076f2bcad7c12899b373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15612b9457436001600b60003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612a759190613f6f565b108015612acc5750436001600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612aca9190613f6f565b105b612b0b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b0290614a0f565b60405180910390fd5b43600b60003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555043600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5b601460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015612c385750601360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15612c8357600654811115612c82576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c7990614aa1565b60405180910390fd5b5b5b600854612c9030611110565b118015612ca95750600a60029054906101000a900460ff165b8015612cc25750600760009054906101000a900460ff16155b8015612d175750601460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15612d5b576001600760006101000a81548160ff021916908315150217905550612d3f612ef7565b6000600760006101000a81548160ff0219169083151502179055505b6000601460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015612db857506000600f54115b15612e11576064600f5483612dcd9190613e3b565b612dd79190613eac565b9050600f5460105482612dea9190613e3b565b612df49190613eac565b60116000828254612e059190613f6f565b92505081905550612ec2565b601460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015612e6c57506000600d54115b15612ec1576064600d5483612e819190613e3b565b612e8b9190613eac565b9050600d54600e5482612e9e9190613e3b565b612ea89190613eac565b60116000828254612eb99190613f6f565b925050819055505b5b6000811115612ee557612ed6843083613162565b8082612ee29190614ac1565b91505b612ef0848484613162565b505b505050565b6000612f0230611110565b9050600060115490506000821480612f1a5750600081145b15612f26575050613046565b603c600854612f359190613e3b565b821115612f4e57603c600854612f4b9190613e3b565b91505b600060115411156130435760008160115484612f6a9190613e3b565b612f749190613eac565b9050612fa1307f0000000000000000000000007675311d9eede24528bbdb076f2bcad7c12899b383613162565b7f0000000000000000000000007675311d9eede24528bbdb076f2bcad7c12899b373ffffffffffffffffffffffffffffffffffffffff1663fff6cae96040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561300957600080fd5b505af192505050801561301a575060015b5080836130279190614ac1565b9250601154826130379190614ac1565b91506000601181905550505b50505b565b6130c98363a9059cbb60e01b84846040516024016130679291906142c2565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506133cb565b505050565b80601360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f6b4f1be9103e6cbcd38ca4a922334f2c3109b260130a6676a987f94088fd67468282604051613156929190614159565b60405180910390a15050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036131d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016131c89061487f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603613240576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161323790614911565b60405180910390fd5b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156132c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016132bd90614b67565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546133599190613f6f565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516133bd91906138d6565b60405180910390a350505050565b600061342d826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166134929092919063ffffffff16565b905060008151111561348d578080602001905181019061344d9190614b9c565b61348c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161348390614c3b565b60405180910390fd5b5b505050565b60606134a184846000856134aa565b90509392505050565b6060824710156134ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016134e690614ccd565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff1685876040516135189190614d29565b60006040518083038185875af1925050503d8060008114613555576040519150601f19603f3d011682016040523d82523d6000602084013e61355a565b606091505b509150915061356b87838387613577565b92505050949350505050565b606083156135d95760008351036135d157613591856135ec565b6135d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016135c790614d8c565b60405180910390fd5b5b8290506135e4565b6135e3838361360f565b5b949350505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b6000825111156136225781518083602001fd5b806040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161365691906136ef565b60405180910390fd5b600081519050919050565b600082825260208201905092915050565b60005b8381101561369957808201518184015260208101905061367e565b60008484015250505050565b6000601f19601f8301169050919050565b60006136c18261365f565b6136cb818561366a565b93506136db81856020860161367b565b6136e4816136a5565b840191505092915050565b6000602082019050818103600083015261370981846136b6565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600061375661375161374c84613711565b613731565b613711565b9050919050565b60006137688261373b565b9050919050565b600061377a8261375d565b9050919050565b61378a8161376f565b82525050565b60006020820190506137a56000830184613781565b92915050565b600080fd5b60006137bb82613711565b9050919050565b6137cb816137b0565b81146137d657600080fd5b50565b6000813590506137e8816137c2565b92915050565b6000819050919050565b613801816137ee565b811461380c57600080fd5b50565b60008135905061381e816137f8565b92915050565b6000806040838503121561383b5761383a6137ab565b5b6000613849858286016137d9565b925050602061385a8582860161380f565b9150509250929050565b60008115159050919050565b61387981613864565b82525050565b60006020820190506138946000830184613870565b92915050565b6000602082840312156138b0576138af6137ab565b5b60006138be848285016137d9565b91505092915050565b6138d0816137ee565b82525050565b60006020820190506138eb60008301846138c7565b92915050565b60008060006060848603121561390a576139096137ab565b5b6000613918868287016137d9565b9350506020613929868287016137d9565b925050604061393a8682870161380f565b9150509250925092565b60006020828403121561395a576139596137ab565b5b60006139688482850161380f565b91505092915050565b600060ff82169050919050565b61398781613971565b82525050565b60006020820190506139a2600083018461397e565b92915050565b6139b1816137b0565b82525050565b60006020820190506139cc60008301846139a8565b92915050565b6139db81613864565b81146139e657600080fd5b50565b6000813590506139f8816139d2565b92915050565b60008060408385031215613a1557613a146137ab565b5b6000613a23858286016137d9565b9250506020613a34858286016139e9565b9150509250929050565b60008060408385031215613a5557613a546137ab565b5b6000613a63858286016137d9565b9250506020613a74858286016137d9565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000613ab460208361366a565b9150613abf82613a7e565b602082019050919050565b60006020820190508181036000830152613ae381613aa7565b9050919050565b600081905092915050565b50565b6000613b05600083613aea565b9150613b1082613af5565b600082019050919050565b6000613b2682613af8565b9150819050919050565b7f776974686472617720756e7375636365737366756c0000000000000000000000600082015250565b6000613b6660158361366a565b9150613b7182613b30565b602082019050919050565b60006020820190508181036000830152613b9581613b59565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680613be357607f821691505b602082108103613bf657613bf5613b9c565b5b50919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b6000613c5860288361366a565b9150613c6382613bfc565b604082019050919050565b60006020820190508181036000830152613c8781613c4b565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115613d1457808604811115613cf057613cef613c8e565b5b6001851615613cff5780820291505b8081029050613d0d85613cbd565b9450613cd4565b94509492505050565b600082613d2d5760019050613de9565b81613d3b5760009050613de9565b8160018114613d515760028114613d5b57613d8a565b6001915050613de9565b60ff841115613d6d57613d6c613c8e565b5b8360020a915084821115613d8457613d83613c8e565b5b50613de9565b5060208310610133831016604e8410600b8410161715613dbf5782820a905083811115613dba57613db9613c8e565b5b613de9565b613dcc8484846001613cca565b92509050818404811115613de357613de2613c8e565b5b81810290505b9392505050565b6000613dfb826137ee565b9150613e0683613971565b9250613e337fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484613d1d565b905092915050565b6000613e46826137ee565b9150613e51836137ee565b9250828202613e5f816137ee565b91508282048414831517613e7657613e75613c8e565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613eb7826137ee565b9150613ec2836137ee565b925082613ed257613ed1613e7d565b5b828204905092915050565b7f43616e6e6f7420736574206d61782062757920616d6f756e74206c6f7765722060008201527f7468616e20302e30312500000000000000000000000000000000000000000000602082015250565b6000613f39602a8361366a565b9150613f4482613edd565b604082019050919050565b60006020820190508181036000830152613f6881613f2c565b9050919050565b6000613f7a826137ee565b9150613f85836137ee565b9250828201905080821115613f9d57613f9c613c8e565b5b92915050565b7f43616e206f6e6c792073776170207768656e20746f6b656e20616d6f756e742060008201527f6973206174206f7220686967686572207468616e207265737472696374696f6e602082015250565b6000613fff60408361366a565b915061400a82613fa3565b604082019050919050565b6000602082019050818103600083015261402e81613ff2565b9050919050565b7f4d757374206b65657020627579206665657320617420353025206f72206c657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b600061409160218361366a565b915061409c82614035565b604082019050919050565b600060208201905081810360008301526140c081614084565b9050919050565b7f43616e6e6f742072656d6f766520756e697377617020706169722066726f6d2060008201527f6d61782074786e00000000000000000000000000000000000000000000000000602082015250565b600061412360278361366a565b915061412e826140c7565b604082019050919050565b6000602082019050818103600083015261415281614116565b9050919050565b600060408201905061416e60008301856139a8565b61417b6020830184613870565b9392505050565b7f5f746f6b656e20616464726573732063616e6e6f742062652030000000000000600082015250565b60006141b8601a8361366a565b91506141c382614182565b602082019050919050565b600060208201905081810360008301526141e7816141ab565b9050919050565b7f43616e2774207769746864726177206e617469766520746f6b656e732077686960008201527f6c652074726164696e6720697320616374697665000000000000000000000000602082015250565b600061424a60348361366a565b9150614255826141ee565b604082019050919050565b600060208201905081810360008301526142798161423d565b9050919050565b60008151905061428f816137f8565b92915050565b6000602082840312156142ab576142aa6137ab565b5b60006142b984828501614280565b91505092915050565b60006040820190506142d760008301856139a8565b6142e460208301846138c7565b9392505050565b7f54726164696e6720697320616c7265616479206163746976652c2063616e6e6f60008201527f742072656c61756e63682e000000000000000000000000000000000000000000602082015250565b6000614347602b8361366a565b9150614352826142eb565b604082019050919050565b600060208201905081810360008301526143768161433a565b9050919050565b7f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060008201527f6175746f6d617465644d61726b65744d616b6572506169727300000000000000602082015250565b60006143d960398361366a565b91506143e48261437d565b604082019050919050565b60006020820190508181036000830152614408816143cc565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b600061446b60258361366a565b91506144768261440f565b604082019050919050565b6000602082019050818103600083015261449a8161445e565b9050919050565b7f5377617020616d6f756e742063616e6e6f74206265206c6f776572207468616e60008201527f20302e3030312520746f74616c20737570706c792e0000000000000000000000602082015250565b60006144fd60358361366a565b9150614508826144a1565b604082019050919050565b6000602082019050818103600083015261452c816144f0565b9050919050565b7f5377617020616d6f756e742063616e6e6f74206265206869676865722074686160008201527f6e20302e312520746f74616c20737570706c792e000000000000000000000000602082015250565b600061458f60348361366a565b915061459a82614533565b604082019050919050565b600060208201905081810360008301526145be81614582565b9050919050565b7f4d757374206b6565702073656c6c206665657320617420383025206f72206c6560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600061462160228361366a565b915061462c826145c5565b604082019050919050565b6000602082019050818103600083015261465081614614565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006146b360268361366a565b91506146be82614657565b604082019050919050565b600060208201905081810360008301526146e2816146a6565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061474560248361366a565b9150614750826146e9565b604082019050919050565b6000602082019050818103600083015261477481614738565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006147d760228361366a565b91506147e28261477b565b604082019050919050565b60006020820190508181036000830152614806816147ca565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b600061486960258361366a565b91506148748261480d565b604082019050919050565b600060208201905081810360008301526148988161485c565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006148fb60238361366a565b91506149068261489f565b604082019050919050565b6000602082019050818103600083015261492a816148ee565b9050919050565b7f54726164696e67206973206e6f74206163746976652e00000000000000000000600082015250565b600061496760168361366a565b915061497282614931565b602082019050919050565b600060208201905081810360008301526149968161495a565b9050919050565b7f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60008201527f65642e202054727920616761696e206c617465722e0000000000000000000000602082015250565b60006149f960358361366a565b9150614a048261499d565b604082019050919050565b60006020820190508181036000830152614a28816149ec565b9050919050565b7f427579207472616e7366657220616d6f756e742065786365656473207468652060008201527f6d6178206275792e000000000000000000000000000000000000000000000000602082015250565b6000614a8b60288361366a565b9150614a9682614a2f565b604082019050919050565b60006020820190508181036000830152614aba81614a7e565b9050919050565b6000614acc826137ee565b9150614ad7836137ee565b9250828203905081811115614aef57614aee613c8e565b5b92915050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000614b5160268361366a565b9150614b5c82614af5565b604082019050919050565b60006020820190508181036000830152614b8081614b44565b9050919050565b600081519050614b96816139d2565b92915050565b600060208284031215614bb257614bb16137ab565b5b6000614bc084828501614b87565b91505092915050565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b6000614c25602a8361366a565b9150614c3082614bc9565b604082019050919050565b60006020820190508181036000830152614c5481614c18565b9050919050565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b6000614cb760268361366a565b9150614cc282614c5b565b604082019050919050565b60006020820190508181036000830152614ce681614caa565b9050919050565b600081519050919050565b6000614d0382614ced565b614d0d8185613aea565b9350614d1d81856020860161367b565b80840191505092915050565b6000614d358284614cf8565b915081905092915050565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b6000614d76601d8361366a565b9150614d8182614d40565b602082019050919050565b60006020820190508181036000830152614da581614d69565b905091905056fea264697066735822122076b07d92f70038e0358e59bcc4cd4ca6cde7ad7234fa39f2b1db8c42ee13e4e664736f6c63430008110033
0x60c060405260006009556001600a60006101000a81548160ff0219169083151502179055506000600a60016101000a81548160ff0219169083151502179055506000600a60026101000a81548160ff0219169083151502179055506001600c60006101000a81548160ff0219169083151502179055503480156200008257600080fd5b506040518060400160405280601181526020017f4861626962692fd8add8a8d98ad8a8d98a0000000000000000000000000000008152506040518060400160405280600381526020017f4f696c0000000000000000000000000000000000000000000000000000000000815250601282600390816200010291906200119f565b5081600490816200011491906200119f565b5080600560006101000a81548160ff021916908360ff1602179055505050506000620001456200065c60201b60201c565b905080600560016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35060003390506000600146036200021157737a250d5630b4cf539739df2c5dacb4c659f2488d9050620002c3565b600546036200023757737a250d5630b4cf539739df2c5dacb4c659f2488d9050620002c2565b603846036200025d577310ed43c718714eb63d5aa57b78b54704e256024e9050620002c1565b60614603620002835773d99d1c33f9fc3444f8101754abc46c52416550d19050620002c0565b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620002b790620012e7565b60405180910390fd5b5b5b5b8073ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff168152505060805173ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000345573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200036b919062001373565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060805173ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620003d5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003fb919062001373565b6040518363ffffffff1660e01b81526004016200041a929190620013b6565b6020604051808303816000875af11580156200043a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000460919062001373565b73ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff1681525050620004a860a05160016200066460201b60201c565b6000620004ba6200083660201b60201c565b600a620004c8919062001573565b633b9aca00620004d99190620015c4565b90506103e8600582620004ed9190620015c4565b620004f991906200163e565b600681905550620186a0601982620005129190620015c4565b6200051e91906200163e565b600881905550600f600e81905550600e54600d819055506050601081905550601054600f81905550620005598360016200084d60201b60201c565b6200056e60805160016200084d60201b60201c565b620005813060016200084d60201b60201c565b6200059661dead60016200084d60201b60201c565b620005a9836001620008e360201b60201c565b620005be6080516001620008e360201b60201c565b620005d1306001620008e360201b60201c565b620005e661dead6001620008e360201b60201c565b620005f8838262000a3060201b60201c565b620006098362000b8060201b60201c565b6200063e306080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff62000d5460201b60201c565b62000653336080518362000d5460201b60201c565b50505062001a8a565b600033905090565b620006746200065c60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161462000706576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620006fd90620016c6565b60405180910390fd5b60a05173ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141580620007415750805b62000783576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200077a906200175e565b60405180910390fd5b80601460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620007ec82826200084d60201b60201c565b8015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b6000600560009054906101000a900460ff16905090565b80601360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f6b4f1be9103e6cbcd38ca4a922334f2c3109b260130a6676a987f94088fd67468282604051620008d79291906200179d565b60405180910390a15050565b620008f36200065c60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161462000985576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200097c90620016c6565b60405180910390fd5b80601260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df78260405162000a249190620017ca565b60405180910390a25050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000aa2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000a999062001837565b60405180910390fd5b806002600082825462000ab6919062001859565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825462000b0d919062001859565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405162000b749190620018a5565b60405180910390a35050565b62000b906200065c60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161462000c22576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000c1990620016c6565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160362000c94576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000c8b9062001938565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600560016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160362000dc6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000dbd90620019d0565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000e38576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000e2f9062001a68565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405162000f189190620018a5565b60405180910390a3505050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168062000fa757607f821691505b60208210810362000fbd5762000fbc62000f5f565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620010277fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000fe8565b62001033868362000fe8565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b6000620010806200107a62001074846200104b565b62001055565b6200104b565b9050919050565b6000819050919050565b6200109c836200105f565b620010b4620010ab8262001087565b84845462000ff5565b825550505050565b600090565b620010cb620010bc565b620010d881848462001091565b505050565b5b818110156200110057620010f4600082620010c1565b600181019050620010de565b5050565b601f8211156200114f57620011198162000fc3565b620011248462000fd8565b8101602085101562001134578190505b6200114c620011438562000fd8565b830182620010dd565b50505b505050565b600082821c905092915050565b6000620011746000198460080262001154565b1980831691505092915050565b60006200118f838362001161565b9150826002028217905092915050565b620011aa8262000f25565b67ffffffffffffffff811115620011c657620011c562000f30565b5b620011d2825462000f8e565b620011df82828562001104565b600060209050601f83116001811462001217576000841562001202578287015190505b6200120e858262001181565b8655506200127e565b601f198416620012278662000fc3565b60005b8281101562001251578489015182556001820191506020850194506020810190506200122a565b868310156200127157848901516200126d601f89168262001161565b8355505b6001600288020188555050505b505050505050565b600082825260208201905092915050565b7f436861696e206e6f7420636f6e66696775726564000000000000000000000000600082015250565b6000620012cf60148362001286565b9150620012dc8262001297565b602082019050919050565b600060208201905081810360008301526200130281620012c0565b9050919050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006200133b826200130e565b9050919050565b6200134d816200132e565b81146200135957600080fd5b50565b6000815190506200136d8162001342565b92915050565b6000602082840312156200138c576200138b62001309565b5b60006200139c848285016200135c565b91505092915050565b620013b0816200132e565b82525050565b6000604082019050620013cd6000830185620013a5565b620013dc6020830184620013a5565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156200147157808604811115620014495762001448620013e3565b5b6001851615620014595780820291505b8081029050620014698562001412565b945062001429565b94509492505050565b6000826200148c57600190506200155f565b816200149c57600090506200155f565b8160018114620014b55760028114620014c057620014f6565b60019150506200155f565b60ff841115620014d557620014d4620013e3565b5b8360020a915084821115620014ef57620014ee620013e3565b5b506200155f565b5060208310610133831016604e8410600b8410161715620015305782820a9050838111156200152a5762001529620013e3565b5b6200155f565b6200153f84848460016200141f565b92509050818404811115620015595762001558620013e3565b5b81810290505b9392505050565b600060ff82169050919050565b600062001580826200104b565b91506200158d8362001566565b9250620015bc7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846200147a565b905092915050565b6000620015d1826200104b565b9150620015de836200104b565b9250828202620015ee816200104b565b91508282048414831517620016085762001607620013e3565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006200164b826200104b565b915062001658836200104b565b9250826200166b576200166a6200160f565b5b828204905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000620016ae60208362001286565b9150620016bb8262001676565b602082019050919050565b60006020820190508181036000830152620016e1816200169f565b9050919050565b7f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060008201527f6175746f6d617465644d61726b65744d616b6572506169727300000000000000602082015250565b60006200174660398362001286565b91506200175382620016e8565b604082019050919050565b60006020820190508181036000830152620017798162001737565b9050919050565b60008115159050919050565b620017978162001780565b82525050565b6000604082019050620017b46000830185620013a5565b620017c360208301846200178c565b9392505050565b6000602082019050620017e160008301846200178c565b92915050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b60006200181f601f8362001286565b91506200182c82620017e7565b602082019050919050565b60006020820190508181036000830152620018528162001810565b9050919050565b600062001866826200104b565b915062001873836200104b565b92508282019050808211156200188e576200188d620013e3565b5b92915050565b6200189f816200104b565b82525050565b6000602082019050620018bc600083018462001894565b92915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006200192060268362001286565b91506200192d82620018c2565b604082019050919050565b60006020820190508181036000830152620019538162001911565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000620019b860248362001286565b9150620019c5826200195a565b604082019050919050565b60006020820190508181036000830152620019eb81620019a9565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600062001a5060228362001286565b915062001a5d82620019f2565b604082019050919050565b6000602082019050818103600083015262001a838162001a41565b9050919050565b60805160a051614de262001ada60003960008181610f670152818161158001528181611ba2015281816129d401528181612f7c0152612fa3015260008181610b99015261297d0152614de26000f3fe6080604052600436106102605760003560e01c80638366e79a11610144578063c876d0b9116100b6578063e884f2601161007a578063e884f260146108d3578063eba4c333146108ea578063ee40166e14610913578063f11a24d31461093e578063f2fde38b14610969578063f63743421461099257610267565b8063c876d0b9146107ec578063d257b34f14610817578063d85ba06314610840578063dd62ed3e1461086b578063e2f45605146108a857610267565b80639a7a23d6116101085780639a7a23d6146106b8578063a457c2d7146106e1578063a9059cbb1461071e578063b62496f51461075b578063bbc0c74214610798578063c0246668146107c357610267565b80638366e79a146105f757806388e765ff146106205780638a8c523c1461064b5780638da5cb5b1461066257806395d89b411461068d57610267565b806339509351116101dd5780636ddd1713116101a15780636ddd17131461050f57806370a082311461053a578063715018a61461057757806371fc46881461058e578063751039fc146105b75780637571336a146105ce57610267565b8063395093511461043a578063452ed4f1146104775780634a62bb65146104a257806351f205e4146104cd5780636a486a8e146104e457610267565b806318160ddd1161022457806318160ddd146103535780631a8145bb1461037e57806323b872dd146103a95780632be32b61146103e6578063313ce5671461040f57610267565b806306e99fef1461026c57806306fdde03146102835780630758d924146102ae578063095ea7b3146102d957806310d5de531461031657610267565b3661026757005b600080fd5b34801561027857600080fd5b506102816109bd565b005b34801561028f57600080fd5b50610298610b05565b6040516102a591906136ef565b60405180910390f35b3480156102ba57600080fd5b506102c3610b97565b6040516102d09190613790565b60405180910390f35b3480156102e557600080fd5b5061030060048036038101906102fb9190613824565b610bbb565b60405161030d919061387f565b60405180910390f35b34801561032257600080fd5b5061033d6004803603810190610338919061389a565b610bd9565b60405161034a919061387f565b60405180910390f35b34801561035f57600080fd5b50610368610bf9565b60405161037591906138d6565b60405180910390f35b34801561038a57600080fd5b50610393610c03565b6040516103a091906138d6565b60405180910390f35b3480156103b557600080fd5b506103d060048036038101906103cb91906138f1565b610c09565b6040516103dd919061387f565b60405180910390f35b3480156103f257600080fd5b5061040d60048036038101906104089190613944565b610d29565b005b34801561041b57600080fd5b50610424610ea2565b604051610431919061398d565b60405180910390f35b34801561044657600080fd5b50610461600480360381019061045c9190613824565b610eb9565b60405161046e919061387f565b60405180910390f35b34801561048357600080fd5b5061048c610f65565b60405161049991906139b7565b60405180910390f35b3480156104ae57600080fd5b506104b7610f89565b6040516104c4919061387f565b60405180910390f35b3480156104d957600080fd5b506104e2610f9c565b005b3480156104f057600080fd5b506104f96110f7565b60405161050691906138d6565b60405180910390f35b34801561051b57600080fd5b506105246110fd565b604051610531919061387f565b60405180910390f35b34801561054657600080fd5b50610561600480360381019061055c919061389a565b611110565b60405161056e91906138d6565b60405180910390f35b34801561058357600080fd5b5061058c611158565b005b34801561059a57600080fd5b506105b560048036038101906105b09190613944565b6112b0565b005b3480156105c357600080fd5b506105cc6113d9565b005b3480156105da57600080fd5b506105f560048036038101906105f091906139fe565b6114e2565b005b34801561060357600080fd5b5061061e60048036038101906106199190613a3e565b6116a1565b005b34801561062c57600080fd5b506106356118f5565b60405161064291906138d6565b60405180910390f35b34801561065757600080fd5b506106606118fb565b005b34801561066e57600080fd5b50610677611a4d565b60405161068491906139b7565b60405180910390f35b34801561069957600080fd5b506106a2611a77565b6040516106af91906136ef565b60405180910390f35b3480156106c457600080fd5b506106df60048036038101906106da91906139fe565b611b09565b005b3480156106ed57600080fd5b5061070860048036038101906107039190613824565b611ce2565b604051610715919061387f565b60405180910390f35b34801561072a57600080fd5b5061074560048036038101906107409190613824565b611dcd565b604051610752919061387f565b60405180910390f35b34801561076757600080fd5b50610782600480360381019061077d919061389a565b611deb565b60405161078f919061387f565b60405180910390f35b3480156107a457600080fd5b506107ad611e0b565b6040516107ba919061387f565b60405180910390f35b3480156107cf57600080fd5b506107ea60048036038101906107e591906139fe565b611e1e565b005b3480156107f857600080fd5b50610801611f5e565b60405161080e919061387f565b60405180910390f35b34801561082357600080fd5b5061083e60048036038101906108399190613944565b611f71565b005b34801561084c57600080fd5b50610855612110565b60405161086291906138d6565b60405180910390f35b34801561087757600080fd5b50610892600480360381019061088d9190613a3e565b612116565b60405161089f91906138d6565b60405180910390f35b3480156108b457600080fd5b506108bd61219d565b6040516108ca91906138d6565b60405180910390f35b3480156108df57600080fd5b506108e86121a3565b005b3480156108f657600080fd5b50610911600480360381019061090c9190613944565b612283565b005b34801561091f57600080fd5b506109286123ac565b60405161093591906138d6565b60405180910390f35b34801561094a57600080fd5b506109536123b2565b60405161096091906138d6565b60405180910390f35b34801561097557600080fd5b50610990600480360381019061098b919061389a565b6123b8565b005b34801561099e57600080fd5b506109a761257e565b6040516109b491906138d6565b60405180910390f35b6109c5612584565b73ffffffffffffffffffffffffffffffffffffffff16600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a54576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a4b90613aca565b60405180910390fd5b60003373ffffffffffffffffffffffffffffffffffffffff1647604051610a7a90613b1b565b60006040518083038185875af1925050503d8060008114610ab7576040519150601f19603f3d011682016040523d82523d6000602084013e610abc565b606091505b50508091505080610b02576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610af990613b7c565b60405180910390fd5b50565b606060038054610b1490613bcb565b80601f0160208091040260200160405190810160405280929190818152602001828054610b4090613bcb565b8015610b8d5780601f10610b6257610100808354040283529160200191610b8d565b820191906000526020600020905b815481529060010190602001808311610b7057829003601f168201915b5050505050905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000610bcf610bc8612584565b848461258c565b6001905092915050565b60136020528060005260406000206000915054906101000a900460ff1681565b6000600254905090565b60115481565b6000610c16848484612755565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610c61612584565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610d1d5782811015610d08576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cff90613c6e565b60405180910390fd5b610d1c85610d14612584565b85840361258c565b5b60019150509392505050565b610d31612584565b73ffffffffffffffffffffffffffffffffffffffff16600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610dc0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610db790613aca565b60405180910390fd5b610dc8610ea2565b600a610dd49190613df0565b6127106001610de1610bf9565b610deb9190613e3b565b610df59190613eac565b610dff9190613eac565b811015610e41576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e3890613f4f565b60405180910390fd5b610e49610ea2565b600a610e559190613df0565b81610e609190613e3b565b6006819055507ffcc0366804aaa8dbf88a2924100c733b70dec8445957a5d5f8ff92898de41009600654604051610e9791906138d6565b60405180910390a150565b6000600560009054906101000a900460ff16905090565b6000610f5b610ec6612584565b848460016000610ed4612584565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f569190613f6f565b61258c565b6001905092915050565b7f000000000000000000000000000000000000000000000000000000000000000081565b600a60009054906101000a900460ff1681565b610fa4612584565b73ffffffffffffffffffffffffffffffffffffffff16600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611033576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161102a90613aca565b60405180910390fd5b60085461103f30611110565b1015611080576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161107790614015565b60405180910390fd5b6001600760006101000a81548160ff0219169083151502179055506110a3612ef7565b6000600760006101000a81548160ff0219169083151502179055507f1b56c383f4f48fc992e45667ea4eabae777b9cca68b516a9562d8cda78f1bb32426040516110ed91906138d6565b60405180910390a1565b600f5481565b600a60029054906101000a900460ff1681565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b611160612584565b73ffffffffffffffffffffffffffffffffffffffff16600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111e690613aca565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000600560016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6112b8612584565b73ffffffffffffffffffffffffffffffffffffffff16600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611347576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161133e90613aca565b60405180910390fd5b80600e81905550600e54600d819055506032600d54111561139d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611394906140a7565b60405180910390fd5b7f03cd3090e7c409e4a7ffd2d90ff610979f4a94a87a512188b7b615671bfb772f600d546040516113ce91906138d6565b60405180910390a150565b6113e1612584565b73ffffffffffffffffffffffffffffffffffffffff16600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611470576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161146790613aca565b60405180910390fd5b6000600a60006101000a81548160ff0219169083151502179055506000600c60006101000a81548160ff0219169083151502179055506114ae610bf9565b6006819055507fa4ffae85e880608d5d4365c2b682786545d136145537788e7e0940dff9f0b98c60405160405180910390a1565b6114ea612584565b73ffffffffffffffffffffffffffffffffffffffff16600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611579576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161157090613aca565b60405180910390fd5b8061160d577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361160c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161160390614139565b60405180910390fd5b5b80601360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f6b4f1be9103e6cbcd38ca4a922334f2c3109b260130a6676a987f94088fd67468282604051611695929190614159565b60405180910390a15050565b6116a9612584565b73ffffffffffffffffffffffffffffffffffffffff16600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611738576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161172f90613aca565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036117a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161179e906141ce565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415806117ef5750600a60019054906101000a900460ff16155b61182e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161182590614260565b60405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161186991906139b7565b602060405180830381865afa158015611886573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118aa9190614295565b90506118b7838383613048565b7fdeda980967fcead7b61e78ac46a4da14274af29e894d4d61e8b81ec38ab3e43883826040516118e89291906142c2565b60405180910390a1505050565b60065481565b611903612584565b73ffffffffffffffffffffffffffffffffffffffff16600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611992576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161198990613aca565b60405180910390fd5b600a60019054906101000a900460ff16156119e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119d99061435d565b60405180910390fd5b6001600a60016101000a81548160ff0219169083151502179055506001600a60026101000a81548160ff021916908315150217905550436009819055507fa56feb2d31b9a7424db0be063fd450863979c9e2382cf5110f869bd1ad361bb760405160405180910390a1565b6000600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060048054611a8690613bcb565b80601f0160208091040260200160405190810160405280929190818152602001828054611ab290613bcb565b8015611aff5780601f10611ad457610100808354040283529160200191611aff565b820191906000526020600020905b815481529060010190602001808311611ae257829003601f168201915b5050505050905090565b611b11612584565b73ffffffffffffffffffffffffffffffffffffffff16600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611ba0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b9790613aca565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141580611bf85750805b611c37576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c2e906143ef565b60405180910390fd5b80601460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550611c9882826130ce565b8015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b60008060016000611cf1612584565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015611dae576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611da590614481565b60405180910390fd5b611dc2611db9612584565b8585840361258c565b600191505092915050565b6000611de1611dda612584565b8484612755565b6001905092915050565b60146020528060005260406000206000915054906101000a900460ff1681565b600a60019054906101000a900460ff1681565b611e26612584565b73ffffffffffffffffffffffffffffffffffffffff16600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611eb5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611eac90613aca565b60405180910390fd5b80601260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df782604051611f52919061387f565b60405180910390a25050565b600c60009054906101000a900460ff1681565b611f79612584565b73ffffffffffffffffffffffffffffffffffffffff16600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612008576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fff90613aca565b60405180910390fd5b620186a06001612016610bf9565b6120209190613e3b565b61202a9190613eac565b81101561206c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161206390614513565b60405180910390fd5b6103e86001612079610bf9565b6120839190613e3b565b61208d9190613eac565b8111156120cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120c6906145a5565b60405180910390fd5b806008819055507f7c26bfee26f82e8cb57af48f4019cc64582db6fac7bad778433f10572ae8b1458160405161210591906138d6565b60405180910390a150565b600d5481565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60085481565b6121ab612584565b73ffffffffffffffffffffffffffffffffffffffff16600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461223a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161223190613aca565b60405180910390fd5b6000600c60006101000a81548160ff0219169083151502179055507fa29c2b578a5a679452d146ddd35ea04a2e7c57fe555cc7a3d91b3b8b06e6103d60405160405180910390a1565b61228b612584565b73ffffffffffffffffffffffffffffffffffffffff16600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461231a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161231190613aca565b60405180910390fd5b80601081905550601054600f819055506050600f541115612370576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161236790614637565b60405180910390fd5b7f274faecd49018fb411281f27986b6b4acc86e5db4100735531acd18b7b6d5f93600f546040516123a191906138d6565b60405180910390a150565b60095481565b600e5481565b6123c0612584565b73ffffffffffffffffffffffffffffffffffffffff16600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461244f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161244690613aca565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036124be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124b5906146c9565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600560016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60105481565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036125fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125f29061475b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361266a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612661906147ed565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161274891906138d6565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036127c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127bb9061487f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612833576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161282a90614911565b60405180910390fd5b6000810361284c5761284783836000613162565b612ef2565b601260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806128ed5750601260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15612902576128fd838383613162565b612ef2565b600a60019054906101000a900460ff16612951576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129489061497d565b60405180910390fd5b600a60009054906101000a900460ff1615612c8457600c60009054906101000a900460ff1615612b95577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614158015612a2357507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15612b9457436001600b60003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612a759190613f6f565b108015612acc5750436001600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612aca9190613f6f565b105b612b0b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b0290614a0f565b60405180910390fd5b43600b60003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555043600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5b601460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015612c385750601360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15612c8357600654811115612c82576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c7990614aa1565b60405180910390fd5b5b5b600854612c9030611110565b118015612ca95750600a60029054906101000a900460ff165b8015612cc25750600760009054906101000a900460ff16155b8015612d175750601460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15612d5b576001600760006101000a81548160ff021916908315150217905550612d3f612ef7565b6000600760006101000a81548160ff0219169083151502179055505b6000601460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015612db857506000600f54115b15612e11576064600f5483612dcd9190613e3b565b612dd79190613eac565b9050600f5460105482612dea9190613e3b565b612df49190613eac565b60116000828254612e059190613f6f565b92505081905550612ec2565b601460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015612e6c57506000600d54115b15612ec1576064600d5483612e819190613e3b565b612e8b9190613eac565b9050600d54600e5482612e9e9190613e3b565b612ea89190613eac565b60116000828254612eb99190613f6f565b925050819055505b5b6000811115612ee557612ed6843083613162565b8082612ee29190614ac1565b91505b612ef0848484613162565b505b505050565b6000612f0230611110565b9050600060115490506000821480612f1a5750600081145b15612f26575050613046565b603c600854612f359190613e3b565b821115612f4e57603c600854612f4b9190613e3b565b91505b600060115411156130435760008160115484612f6a9190613e3b565b612f749190613eac565b9050612fa1307f000000000000000000000000000000000000000000000000000000000000000083613162565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663fff6cae96040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561300957600080fd5b505af192505050801561301a575060015b5080836130279190614ac1565b9250601154826130379190614ac1565b91506000601181905550505b50505b565b6130c98363a9059cbb60e01b84846040516024016130679291906142c2565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506133cb565b505050565b80601360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f6b4f1be9103e6cbcd38ca4a922334f2c3109b260130a6676a987f94088fd67468282604051613156929190614159565b60405180910390a15050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036131d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016131c89061487f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603613240576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161323790614911565b60405180910390fd5b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156132c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016132bd90614b67565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546133599190613f6f565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516133bd91906138d6565b60405180910390a350505050565b600061342d826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166134929092919063ffffffff16565b905060008151111561348d578080602001905181019061344d9190614b9c565b61348c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161348390614c3b565b60405180910390fd5b5b505050565b60606134a184846000856134aa565b90509392505050565b6060824710156134ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016134e690614ccd565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff1685876040516135189190614d29565b60006040518083038185875af1925050503d8060008114613555576040519150601f19603f3d011682016040523d82523d6000602084013e61355a565b606091505b509150915061356b87838387613577565b92505050949350505050565b606083156135d95760008351036135d157613591856135ec565b6135d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016135c790614d8c565b60405180910390fd5b5b8290506135e4565b6135e3838361360f565b5b949350505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b6000825111156136225781518083602001fd5b806040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161365691906136ef565b60405180910390fd5b600081519050919050565b600082825260208201905092915050565b60005b8381101561369957808201518184015260208101905061367e565b60008484015250505050565b6000601f19601f8301169050919050565b60006136c18261365f565b6136cb818561366a565b93506136db81856020860161367b565b6136e4816136a5565b840191505092915050565b6000602082019050818103600083015261370981846136b6565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600061375661375161374c84613711565b613731565b613711565b9050919050565b60006137688261373b565b9050919050565b600061377a8261375d565b9050919050565b61378a8161376f565b82525050565b60006020820190506137a56000830184613781565b92915050565b600080fd5b60006137bb82613711565b9050919050565b6137cb816137b0565b81146137d657600080fd5b50565b6000813590506137e8816137c2565b92915050565b6000819050919050565b613801816137ee565b811461380c57600080fd5b50565b60008135905061381e816137f8565b92915050565b6000806040838503121561383b5761383a6137ab565b5b6000613849858286016137d9565b925050602061385a8582860161380f565b9150509250929050565b60008115159050919050565b61387981613864565b82525050565b60006020820190506138946000830184613870565b92915050565b6000602082840312156138b0576138af6137ab565b5b60006138be848285016137d9565b91505092915050565b6138d0816137ee565b82525050565b60006020820190506138eb60008301846138c7565b92915050565b60008060006060848603121561390a576139096137ab565b5b6000613918868287016137d9565b9350506020613929868287016137d9565b925050604061393a8682870161380f565b9150509250925092565b60006020828403121561395a576139596137ab565b5b60006139688482850161380f565b91505092915050565b600060ff82169050919050565b61398781613971565b82525050565b60006020820190506139a2600083018461397e565b92915050565b6139b1816137b0565b82525050565b60006020820190506139cc60008301846139a8565b92915050565b6139db81613864565b81146139e657600080fd5b50565b6000813590506139f8816139d2565b92915050565b60008060408385031215613a1557613a146137ab565b5b6000613a23858286016137d9565b9250506020613a34858286016139e9565b9150509250929050565b60008060408385031215613a5557613a546137ab565b5b6000613a63858286016137d9565b9250506020613a74858286016137d9565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000613ab460208361366a565b9150613abf82613a7e565b602082019050919050565b60006020820190508181036000830152613ae381613aa7565b9050919050565b600081905092915050565b50565b6000613b05600083613aea565b9150613b1082613af5565b600082019050919050565b6000613b2682613af8565b9150819050919050565b7f776974686472617720756e7375636365737366756c0000000000000000000000600082015250565b6000613b6660158361366a565b9150613b7182613b30565b602082019050919050565b60006020820190508181036000830152613b9581613b59565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680613be357607f821691505b602082108103613bf657613bf5613b9c565b5b50919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b6000613c5860288361366a565b9150613c6382613bfc565b604082019050919050565b60006020820190508181036000830152613c8781613c4b565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115613d1457808604811115613cf057613cef613c8e565b5b6001851615613cff5780820291505b8081029050613d0d85613cbd565b9450613cd4565b94509492505050565b600082613d2d5760019050613de9565b81613d3b5760009050613de9565b8160018114613d515760028114613d5b57613d8a565b6001915050613de9565b60ff841115613d6d57613d6c613c8e565b5b8360020a915084821115613d8457613d83613c8e565b5b50613de9565b5060208310610133831016604e8410600b8410161715613dbf5782820a905083811115613dba57613db9613c8e565b5b613de9565b613dcc8484846001613cca565b92509050818404811115613de357613de2613c8e565b5b81810290505b9392505050565b6000613dfb826137ee565b9150613e0683613971565b9250613e337fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484613d1d565b905092915050565b6000613e46826137ee565b9150613e51836137ee565b9250828202613e5f816137ee565b91508282048414831517613e7657613e75613c8e565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613eb7826137ee565b9150613ec2836137ee565b925082613ed257613ed1613e7d565b5b828204905092915050565b7f43616e6e6f7420736574206d61782062757920616d6f756e74206c6f7765722060008201527f7468616e20302e30312500000000000000000000000000000000000000000000602082015250565b6000613f39602a8361366a565b9150613f4482613edd565b604082019050919050565b60006020820190508181036000830152613f6881613f2c565b9050919050565b6000613f7a826137ee565b9150613f85836137ee565b9250828201905080821115613f9d57613f9c613c8e565b5b92915050565b7f43616e206f6e6c792073776170207768656e20746f6b656e20616d6f756e742060008201527f6973206174206f7220686967686572207468616e207265737472696374696f6e602082015250565b6000613fff60408361366a565b915061400a82613fa3565b604082019050919050565b6000602082019050818103600083015261402e81613ff2565b9050919050565b7f4d757374206b65657020627579206665657320617420353025206f72206c657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b600061409160218361366a565b915061409c82614035565b604082019050919050565b600060208201905081810360008301526140c081614084565b9050919050565b7f43616e6e6f742072656d6f766520756e697377617020706169722066726f6d2060008201527f6d61782074786e00000000000000000000000000000000000000000000000000602082015250565b600061412360278361366a565b915061412e826140c7565b604082019050919050565b6000602082019050818103600083015261415281614116565b9050919050565b600060408201905061416e60008301856139a8565b61417b6020830184613870565b9392505050565b7f5f746f6b656e20616464726573732063616e6e6f742062652030000000000000600082015250565b60006141b8601a8361366a565b91506141c382614182565b602082019050919050565b600060208201905081810360008301526141e7816141ab565b9050919050565b7f43616e2774207769746864726177206e617469766520746f6b656e732077686960008201527f6c652074726164696e6720697320616374697665000000000000000000000000602082015250565b600061424a60348361366a565b9150614255826141ee565b604082019050919050565b600060208201905081810360008301526142798161423d565b9050919050565b60008151905061428f816137f8565b92915050565b6000602082840312156142ab576142aa6137ab565b5b60006142b984828501614280565b91505092915050565b60006040820190506142d760008301856139a8565b6142e460208301846138c7565b9392505050565b7f54726164696e6720697320616c7265616479206163746976652c2063616e6e6f60008201527f742072656c61756e63682e000000000000000000000000000000000000000000602082015250565b6000614347602b8361366a565b9150614352826142eb565b604082019050919050565b600060208201905081810360008301526143768161433a565b9050919050565b7f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060008201527f6175746f6d617465644d61726b65744d616b6572506169727300000000000000602082015250565b60006143d960398361366a565b91506143e48261437d565b604082019050919050565b60006020820190508181036000830152614408816143cc565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b600061446b60258361366a565b91506144768261440f565b604082019050919050565b6000602082019050818103600083015261449a8161445e565b9050919050565b7f5377617020616d6f756e742063616e6e6f74206265206c6f776572207468616e60008201527f20302e3030312520746f74616c20737570706c792e0000000000000000000000602082015250565b60006144fd60358361366a565b9150614508826144a1565b604082019050919050565b6000602082019050818103600083015261452c816144f0565b9050919050565b7f5377617020616d6f756e742063616e6e6f74206265206869676865722074686160008201527f6e20302e312520746f74616c20737570706c792e000000000000000000000000602082015250565b600061458f60348361366a565b915061459a82614533565b604082019050919050565b600060208201905081810360008301526145be81614582565b9050919050565b7f4d757374206b6565702073656c6c206665657320617420383025206f72206c6560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600061462160228361366a565b915061462c826145c5565b604082019050919050565b6000602082019050818103600083015261465081614614565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006146b360268361366a565b91506146be82614657565b604082019050919050565b600060208201905081810360008301526146e2816146a6565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061474560248361366a565b9150614750826146e9565b604082019050919050565b6000602082019050818103600083015261477481614738565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006147d760228361366a565b91506147e28261477b565b604082019050919050565b60006020820190508181036000830152614806816147ca565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b600061486960258361366a565b91506148748261480d565b604082019050919050565b600060208201905081810360008301526148988161485c565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006148fb60238361366a565b91506149068261489f565b604082019050919050565b6000602082019050818103600083015261492a816148ee565b9050919050565b7f54726164696e67206973206e6f74206163746976652e00000000000000000000600082015250565b600061496760168361366a565b915061497282614931565b602082019050919050565b600060208201905081810360008301526149968161495a565b9050919050565b7f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60008201527f65642e202054727920616761696e206c617465722e0000000000000000000000602082015250565b60006149f960358361366a565b9150614a048261499d565b604082019050919050565b60006020820190508181036000830152614a28816149ec565b9050919050565b7f427579207472616e7366657220616d6f756e742065786365656473207468652060008201527f6d6178206275792e000000000000000000000000000000000000000000000000602082015250565b6000614a8b60288361366a565b9150614a9682614a2f565b604082019050919050565b60006020820190508181036000830152614aba81614a7e565b9050919050565b6000614acc826137ee565b9150614ad7836137ee565b9250828203905081811115614aef57614aee613c8e565b5b92915050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000614b5160268361366a565b9150614b5c82614af5565b604082019050919050565b60006020820190508181036000830152614b8081614b44565b9050919050565b600081519050614b96816139d2565b92915050565b600060208284031215614bb257614bb16137ab565b5b6000614bc084828501614b87565b91505092915050565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b6000614c25602a8361366a565b9150614c3082614bc9565b604082019050919050565b60006020820190508181036000830152614c5481614c18565b9050919050565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b6000614cb760268361366a565b9150614cc282614c5b565b604082019050919050565b60006020820190508181036000830152614ce681614caa565b9050919050565b600081519050919050565b6000614d0382614ced565b614d0d8185613aea565b9350614d1d81856020860161367b565b80840191505092915050565b6000614d358284614cf8565b915081905092915050565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b6000614d76601d8361366a565b9150614d8182614d40565b602082019050919050565b60006020820190508181036000830152614da581614d69565b905091905056fea264697066735822122076b07d92f70038e0358e59bcc4cd4ca6cde7ad7234fa39f2b1db8c42ee13e4e664736f6c63430008110033