60806040526001600960006101000a81548160ff0219169083151502179055506000600960016101000a81548160ff0219169083151502179055506000600960026101000a81548160ff0219169083151502179055506000600d553480156200006757600080fd5b506040518060400160405280600f81526020017f50726f746f6e2050726f746f636f6c00000000000000000000000000000000008152506040518060400160405280600681526020017f50524f544f4e00000000000000000000000000000000000000000000000000008152508160039081620000e5919062000df5565b508060049081620000f7919062000df5565b50505060006200010c620005b960201b60201c565b905080600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35060003390506000737a250d5630b4cf539739df2c5dacb4c659f2488d905080600960036101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000256573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200027c919062000f46565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002e4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200030a919062000f46565b6040518363ffffffff1660e01b81526004016200032992919062000f89565b6020604051808303816000875af115801562000349573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200036f919062000f46565b600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620003e4600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166001620005c160201b60201c565b62000419600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660016200065760201b60201c565b60006b033b2e3c9fd0803ce800000090506103e86023826200043c919062000fe5565b62000448919062001075565b60068190555061271060058262000460919062000fe5565b6200046c919062001075565b600b8190555060076010819055506001601181905550601154601054620004949190620010ad565b600f8190555060076013819055506001601481905550601454601354620004bc9190620010ad565b601281905550620004d5836001620005c160201b60201c565b620004e8306001620005c160201b60201c565b620004fd61dead6001620005c160201b60201c565b620005108360016200070a60201b60201c565b620005233060016200070a60201b60201c565b6200053861dead60016200070a60201b60201c565b7320b73b38dd5af08956ee4c2bf60f0810f07e9739600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506200059f83826200085760201b60201c565b620005b083620009a760201b60201c565b5050506200132c565b600033905090565b80601860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f6b4f1be9103e6cbcd38ca4a922334f2c3109b260130a6676a987f94088fd674682826040516200064b92919062001127565b60405180910390a15050565b80601960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620006c08282620005c160201b60201c565b8015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b6200071a620005b960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614620007ac576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620007a390620011b5565b60405180910390fd5b80601760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7826040516200084b9190620011d7565b60405180910390a25050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603620008c9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620008c09062001244565b60405180910390fd5b8060026000828254620008dd9190620010ad565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254620009349190620010ad565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516200099b919062001277565b60405180910390a35050565b620009b7620005b960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161462000a49576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000a4090620011b5565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160362000abb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000ab2906200130a565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168062000bfd57607f821691505b60208210810362000c135762000c1262000bb5565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b60006008830262000c7d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000c3e565b62000c89868362000c3e565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b600062000cd662000cd062000cca8462000ca1565b62000cab565b62000ca1565b9050919050565b6000819050919050565b62000cf28362000cb5565b62000d0a62000d018262000cdd565b84845462000c4b565b825550505050565b600090565b62000d2162000d12565b62000d2e81848462000ce7565b505050565b5b8181101562000d565762000d4a60008262000d17565b60018101905062000d34565b5050565b601f82111562000da55762000d6f8162000c19565b62000d7a8462000c2e565b8101602085101562000d8a578190505b62000da262000d998562000c2e565b83018262000d33565b50505b505050565b600082821c905092915050565b600062000dca6000198460080262000daa565b1980831691505092915050565b600062000de5838362000db7565b9150826002028217905092915050565b62000e008262000b7b565b67ffffffffffffffff81111562000e1c5762000e1b62000b86565b5b62000e28825462000be4565b62000e3582828562000d5a565b600060209050601f83116001811462000e6d576000841562000e58578287015190505b62000e64858262000dd7565b86555062000ed4565b601f19841662000e7d8662000c19565b60005b8281101562000ea75784890151825560018201915060208501945060208101905062000e80565b8683101562000ec7578489015162000ec3601f89168262000db7565b8355505b6001600288020188555050505b505050505050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000f0e8262000ee1565b9050919050565b62000f208162000f01565b811462000f2c57600080fd5b50565b60008151905062000f408162000f15565b92915050565b60006020828403121562000f5f5762000f5e62000edc565b5b600062000f6f8482850162000f2f565b91505092915050565b62000f838162000f01565b82525050565b600060408201905062000fa0600083018562000f78565b62000faf602083018462000f78565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600062000ff28262000ca1565b915062000fff8362000ca1565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156200103b576200103a62000fb6565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000620010828262000ca1565b91506200108f8362000ca1565b925082620010a257620010a162001046565b5b828204905092915050565b6000620010ba8262000ca1565b9150620010c78362000ca1565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115620010ff57620010fe62000fb6565b5b828201905092915050565b60008115159050919050565b62001121816200110a565b82525050565b60006040820190506200113e600083018562000f78565b6200114d602083018462001116565b9392505050565b600082825260208201905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006200119d60208362001154565b9150620011aa8262001165565b602082019050919050565b60006020820190508181036000830152620011d0816200118e565b9050919050565b6000602082019050620011ee600083018462001116565b92915050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b60006200122c601f8362001154565b91506200123982620011f4565b602082019050919050565b600060208201905081810360008301526200125f816200121d565b9050919050565b620012718162000ca1565b82525050565b60006020820190506200128e600083018462001266565b92915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000620012f260268362001154565b9150620012ff8262001294565b604082019050919050565b600060208201905081810360008301526200132581620012e3565b9050919050565b61530a806200133c6000396000f3fe6080604052600436106102975760003560e01c806386b92c541161015a578063d257b34f116100c1578063ee40166e1161007a578063ee40166e14610a2b578063f11a24d314610a56578063f2fde38b14610a81578063f5648a4f14610aaa578063f637434214610ac1578063f886538014610aec5761029e565b8063d257b34f1461091b578063d85ba06314610944578063dd62ed3e1461096f578063e2f45605146109ac578063e6a94f11146109d7578063e800dff714610a025761029e565b8063a62068ce11610113578063a62068ce146107f7578063a9059cbb14610822578063aa4bde281461085f578063b62496f51461088a578063bbc0c742146108c7578063c0246668146108f25761029e565b806386b92c54146106e75780638da5cb5b1461071257806395d89b411461073d5780639a7a23d614610768578063a457c2d714610791578063a4cb1a91146107ce5761029e565b806351f205e4116101fe578063715018a6116101b7578063715018a6146105ed578063751039fc146106045780637571336a1461061b57806382aa7c68146106445780638366e79a1461066d57806385ecfd28146106aa5761029e565b806351f205e4146104ed57806358a6d531146105045780636a486a8e1461052f5780636b0a894c1461055a5780636ddd17131461058557806370a08231146105b05761029e565b80631a8145bb116102505780631a8145bb146103c757806323b872dd146103f2578063313ce5671461042f578063395093511461045a578063452ed4f1146104975780634a62bb65146104c25761029e565b806306fdde03146102a35780630758d924146102ce578063095ea7b3146102f957806310d5de5314610336578063130a2c3c1461037357806318160ddd1461039c5761029e565b3661029e57005b600080fd5b3480156102af57600080fd5b506102b8610b17565b6040516102c59190613cf5565b60405180910390f35b3480156102da57600080fd5b506102e3610ba9565b6040516102f09190613d96565b60405180910390f35b34801561030557600080fd5b50610320600480360381019061031b9190613e2f565b610bcf565b60405161032d9190613e8a565b60405180910390f35b34801561034257600080fd5b5061035d60048036038101906103589190613ea5565b610bed565b60405161036a9190613e8a565b60405180910390f35b34801561037f57600080fd5b5061039a60048036038101906103959190613f63565b610c0d565b005b3480156103a857600080fd5b506103b1610d49565b6040516103be9190613fd2565b60405180910390f35b3480156103d357600080fd5b506103dc610d53565b6040516103e99190613fd2565b60405180910390f35b3480156103fe57600080fd5b5061041960048036038101906104149190613fed565b610d59565b6040516104269190613e8a565b60405180910390f35b34801561043b57600080fd5b50610444610e51565b604051610451919061405c565b60405180910390f35b34801561046657600080fd5b50610481600480360381019061047c9190613e2f565b610e5a565b60405161048e9190613e8a565b60405180910390f35b3480156104a357600080fd5b506104ac610f06565b6040516104b99190614086565b60405180910390f35b3480156104ce57600080fd5b506104d7610f2c565b6040516104e49190613e8a565b60405180910390f35b3480156104f957600080fd5b50610502610f3f565b005b34801561051057600080fd5b5061051961109a565b6040516105269190613e8a565b60405180910390f35b34801561053b57600080fd5b506105446110a6565b6040516105519190613fd2565b60405180910390f35b34801561056657600080fd5b5061056f6110ac565b60405161057c9190613fd2565b60405180910390f35b34801561059157600080fd5b5061059a6110b2565b6040516105a79190613e8a565b60405180910390f35b3480156105bc57600080fd5b506105d760048036038101906105d29190613ea5565b6110c5565b6040516105e49190613fd2565b60405180910390f35b3480156105f957600080fd5b5061060261110d565b005b34801561061057600080fd5b50610619611265565b005b34801561062757600080fd5b50610642600480360381019061063d91906140a1565b611345565b005b34801561065057600080fd5b5061066b600480360381019061066691906140e1565b6114cd565b005b34801561067957600080fd5b50610694600480360381019061068f919061410e565b611634565b6040516106a19190613e8a565b60405180910390f35b3480156106b657600080fd5b506106d160048036038101906106cc9190613ea5565b6118e8565b6040516106de9190613e8a565b60405180910390f35b3480156106f357600080fd5b506106fc611908565b6040516107099190613fd2565b60405180910390f35b34801561071e57600080fd5b5061072761190e565b6040516107349190614086565b60405180910390f35b34801561074957600080fd5b50610752611938565b60405161075f9190613cf5565b60405180910390f35b34801561077457600080fd5b5061078f600480360381019061078a91906140a1565b6119ca565b005b34801561079d57600080fd5b506107b860048036038101906107b39190613e2f565b611b45565b6040516107c59190613e8a565b60405180910390f35b3480156107da57600080fd5b506107f560048036038101906107f09190613ea5565b611c30565b005b34801561080357600080fd5b5061080c611d7a565b6040516108199190613fd2565b60405180910390f35b34801561082e57600080fd5b5061084960048036038101906108449190613e2f565b611d80565b6040516108569190613e8a565b60405180910390f35b34801561086b57600080fd5b50610874611d9e565b6040516108819190613fd2565b60405180910390f35b34801561089657600080fd5b506108b160048036038101906108ac9190613ea5565b611da4565b6040516108be9190613e8a565b60405180910390f35b3480156108d357600080fd5b506108dc611dc4565b6040516108e99190613e8a565b60405180910390f35b3480156108fe57600080fd5b50610919600480360381019061091491906140a1565b611dd7565b005b34801561092757600080fd5b50610942600480360381019061093d91906140e1565b611f17565b005b34801561095057600080fd5b5061095961207f565b6040516109669190613fd2565b60405180910390f35b34801561097b57600080fd5b506109966004803603810190610991919061410e565b612085565b6040516109a39190613fd2565b60405180910390f35b3480156109b857600080fd5b506109c161210c565b6040516109ce9190613fd2565b60405180910390f35b3480156109e357600080fd5b506109ec612112565b6040516109f99190613fd2565b60405180910390f35b348015610a0e57600080fd5b50610a296004803603810190610a2491906140a1565b612118565b005b348015610a3757600080fd5b50610a4061220a565b604051610a4d9190613fd2565b60405180910390f35b348015610a6257600080fd5b50610a6b612210565b604051610a789190613fd2565b60405180910390f35b348015610a8d57600080fd5b50610aa86004803603810190610aa39190613ea5565b612216565b005b348015610ab657600080fd5b50610abf6123dc565b005b348015610acd57600080fd5b50610ad66124e4565b604051610ae39190613fd2565b60405180910390f35b348015610af857600080fd5b50610b016124ea565b604051610b0e9190613fd2565b60405180910390f35b606060038054610b269061417d565b80601f0160208091040260200160405190810160405280929190818152602001828054610b529061417d565b8015610b9f5780601f10610b7457610100808354040283529160200191610b9f565b820191906000526020600020905b815481529060010190602001808311610b8257829003601f168201915b5050505050905090565b600960039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610be3610bdc6124f0565b84846124f8565b6001905092915050565b60186020528060005260406000206000915054906101000a900460ff1681565b610c156124f0565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ca4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c9b906141fa565b60405180910390fd5b60005b83839050811015610d43578160076000868685818110610cca57610cc961421a565b5b9050602002016020810190610cdf9190613ea5565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610d3b90614278565b915050610ca7565b50505050565b6000600254905090565b60165481565b6000610d668484846126c1565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610db16124f0565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610e31576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e2890614332565b60405180910390fd5b610e4585610e3d6124f0565b8584036124f8565b60019150509392505050565b60006012905090565b6000610efc610e676124f0565b848460016000610e756124f0565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ef79190614352565b6124f8565b6001905092915050565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600960009054906101000a900460ff1681565b610f476124f0565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610fd6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fcd906141fa565b60405180910390fd5b600b54610fe2306110c5565b1015611023576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161101a9061441a565b60405180910390fd5b6001600a60146101000a81548160ff0219169083151502179055506110466133d9565b6000600a60146101000a81548160ff0219169083151502179055507f1b56c383f4f48fc992e45667ea4eabae777b9cca68b516a9562d8cda78f1bb32426040516110909190613fd2565b60405180910390a1565b6000600e544310905090565b60125481565b60085481565b600960029054906101000a900460ff1681565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6111156124f0565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161119b906141fa565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b61126d6124f0565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112f3906141fa565b60405180910390fd5b6000600960006101000a81548160ff0219169083151502179055507fa4ffae85e880608d5d4365c2b682786545d136145537788e7e0940dff9f0b98c60405160405180910390a1565b61134d6124f0565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146113dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113d3906141fa565b60405180910390fd5b8061147257600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611471576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611468906144ac565b60405180910390fd5b5b80601860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6114d56124f0565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611564576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161155b906141fa565b60405180910390fd5b600960019054906101000a900460ff16156115b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115ab90614518565b60405180910390fd5b6001600960016101000a81548160ff0219169083151502179055506001600960026101000a81548160ff02191690831515021790555043600d8190555080600d546115ff9190614352565b600e819055507fa56feb2d31b9a7424db0be063fd450863979c9e2382cf5110f869bd1ad361bb760405160405180910390a150565b600061163e6124f0565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146116cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116c4906141fa565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361173c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161173390614584565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036117aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117a1906145f0565b60405180910390fd5b60008373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016117e59190614086565b602060405180830381865afa158015611802573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118269190614625565b90508373ffffffffffffffffffffffffffffffffffffffff1663a9059cbb84836040518363ffffffff1660e01b8152600401611863929190614652565b6020604051808303816000875af1158015611882573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118a69190614690565b91507fdeda980967fcead7b61e78ac46a4da14274af29e894d4d61e8b81ec38ab3e43884826040516118d9929190614652565b60405180910390a15092915050565b60076020528060005260406000206000915054906101000a900460ff1681565b60105481565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600480546119479061417d565b80601f01602080910402602001604051908101604052809291908181526020018280546119739061417d565b80156119c05780601f10611995576101008083540402835291602001916119c0565b820191906000526020600020905b8154815290600101906020018083116119a357829003601f168201915b5050505050905090565b6119d26124f0565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611a61576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a58906141fa565b60405180910390fd5b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611af1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ae89061472f565b60405180910390fd5b611afb8282613591565b8015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b60008060016000611b546124f0565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015611c11576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c08906147c1565b60405180910390fd5b611c25611c1c6124f0565b858584036124f8565b600191505092915050565b611c386124f0565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611cc7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cbe906141fa565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611d36576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d2d90614853565b60405180910390fd5b80600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600e5481565b6000611d94611d8d6124f0565b84846126c1565b6001905092915050565b60065481565b60196020528060005260406000206000915054906101000a900460ff1681565b600960019054906101000a900460ff1681565b611ddf6124f0565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611e6e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e65906141fa565b60405180910390fd5b80601760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df782604051611f0b9190613e8a565b60405180910390a25050565b611f1f6124f0565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611fae576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fa5906141fa565b60405180910390fd5b620186a06001611fbc610d49565b611fc69190614873565b611fd091906148fc565b811015612012576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120099061499f565b60405180910390fd5b6103e8600161201f610d49565b6120299190614873565b61203391906148fc565b811115612075576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161206c90614a31565b60405180910390fd5b80600b8190555050565b600f5481565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600b5481565b60155481565b6121206124f0565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146121af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121a6906141fa565b60405180910390fd5b80600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600d5481565b60115481565b61221e6124f0565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146122ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122a4906141fa565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361231c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161231390614ac3565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6123e46124f0565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612473576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161246a906141fa565b60405180910390fd5b60003373ffffffffffffffffffffffffffffffffffffffff164760405161249990614b14565b60006040518083038185875af1925050503d80600081146124d6576040519150601f19603f3d011682016040523d82523d6000602084013e6124db565b606091505b50508091505050565b60145481565b60135481565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612567576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161255e90614b9b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036125d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125cd90614c2d565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516126b49190613fd2565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612730576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161272790614cbf565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361279f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161279690614d51565b60405180910390fd5b600081116127e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127d990614dbd565b60405180910390fd5b600960019054906101000a900460ff166128d757601760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806128975750601760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b6128d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128cd90614e29565b60405180910390fd5b5b6000600e5411156129e557600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158061296d575061293e61190e565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b806129a5575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b6129e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129db90614ee1565b60405180910390fd5b5b600960009054906101000a900460ff1615612d4657612a0261190e565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015612a705750612a4061190e565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015612aa95750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015612ae3575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015612b395750601760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015612b8f5750601760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15612d4557601960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015612c375750601860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15612c9957600654612c48836110c5565b82612c539190614352565b1115612c94576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c8b90614f4d565b60405180910390fd5b612d44565b601860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16612d4357600654612cf6836110c5565b82612d019190614352565b1115612d42576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d3990614f4d565b60405180910390fd5b5b5b5b5b6000612d51306110c5565b90506000600b548210159050808015612d765750600960029054906101000a900460ff165b8015612d8f5750600a60149054906101000a900460ff16155b8015612de55750601960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015612e3b5750601760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015612e915750601760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15612ed5576001600a60146101000a81548160ff021916908315150217905550612eb96133d9565b6000600a60146101000a81548160ff0219169083151502179055505b600060019050601760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680612f7c5750601760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15612f8657600090505b600081156133c557612f9661109a565b8015612feb5750601960008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b80156130415750601960008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b801561304f57506000600f54115b156131d557600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661314f576001600760008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600860008282546131109190614352565b925050819055507f55678e47d0a699d3ab99b0184c4ff14f2246ba80522deb921aa0c8823578c44a866040516131469190614086565b60405180910390a15b6064605a8661315e9190614873565b61316891906148fc565b9050600f546011548261317b9190614873565b61318591906148fc565b601660008282546131969190614352565b92505081905550600f54601054826131ae9190614873565b6131b891906148fc565b601560008282546131c99190614352565b925050819055506133a1565b601960008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16801561323057506000601254115b156132bc576064601254866132459190614873565b61324f91906148fc565b9050601254601454826132629190614873565b61326c91906148fc565b6016600082825461327d9190614352565b92505081905550601254601354826132959190614873565b61329f91906148fc565b601560008282546132b09190614352565b925050819055506133a0565b601960008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16801561331757506000600f54115b1561339f576064600f548661332c9190614873565b61333691906148fc565b9050600f54601154826133499190614873565b61335391906148fc565b601660008282546133649190614352565b92505081905550600f546010548261337c9190614873565b61338691906148fc565b601560008282546133979190614352565b925050819055505b5b5b60008111156133b6576133b587308361363c565b5b80856133c29190614f6d565b94505b6133d087878761363c565b50505050505050565b60006133e4306110c5565b905060006015546016546133f89190614352565b905060008214806134095750600081145b1561341557505061358f565b6014600b546134249190614873565b82111561343d576014600b5461343a9190614873565b91505b600080600283601654866134519190614873565b61345b91906148fc565b61346591906148fc565b905061347b81856134769190614f6d565b6138a5565b600047905060008190506000600260165461349691906148fc565b866134a19190614f6d565b601554846134af9190614873565b6134b991906148fc565b905080826134c79190614f6d565b9150600060168190555060006015819055506000841180156134e95750600082115b156134f9576134f88483613ae8565b5b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff164760405161353f90614b14565b60006040518083038185875af1925050503d806000811461357c576040519150601f19603f3d011682016040523d82523d6000602084013e613581565b606091505b505080955050505050505050505b565b80601960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506135f28282613bc8565b8015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036136ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016136a290614cbf565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361371a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161371190614d51565b60405180910390fd5b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156137a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161379790615013565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546138339190614352565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516138979190613fd2565b60405180910390a350505050565b6000600267ffffffffffffffff8111156138c2576138c1615033565b5b6040519080825280602002602001820160405280156138f05781602001602082028036833780820191505090505b50905030816000815181106139085761390761421a565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600960039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156139af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906139d39190615077565b816001815181106139e7576139e661421a565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050613a4e30600960039054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846124f8565b600960039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401613ab295949392919061519d565b600060405180830381600087803b158015613acc57600080fd5b505af1158015613ae0573d6000803e3d6000fd5b505050505050565b613b1530600960039054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846124f8565b600960039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71982308560008061dead426040518863ffffffff1660e01b8152600401613b7e969594939291906151f7565b60606040518083038185885af1158015613b9c573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190613bc19190615258565b5050505050565b80601860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f6b4f1be9103e6cbcd38ca4a922334f2c3109b260130a6676a987f94088fd67468282604051613c509291906152ab565b60405180910390a15050565b600081519050919050565b600082825260208201905092915050565b60005b83811015613c96578082015181840152602081019050613c7b565b83811115613ca5576000848401525b50505050565b6000601f19601f8301169050919050565b6000613cc782613c5c565b613cd18185613c67565b9350613ce1818560208601613c78565b613cea81613cab565b840191505092915050565b60006020820190508181036000830152613d0f8184613cbc565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b6000613d5c613d57613d5284613d17565b613d37565b613d17565b9050919050565b6000613d6e82613d41565b9050919050565b6000613d8082613d63565b9050919050565b613d9081613d75565b82525050565b6000602082019050613dab6000830184613d87565b92915050565b600080fd5b600080fd5b6000613dc682613d17565b9050919050565b613dd681613dbb565b8114613de157600080fd5b50565b600081359050613df381613dcd565b92915050565b6000819050919050565b613e0c81613df9565b8114613e1757600080fd5b50565b600081359050613e2981613e03565b92915050565b60008060408385031215613e4657613e45613db1565b5b6000613e5485828601613de4565b9250506020613e6585828601613e1a565b9150509250929050565b60008115159050919050565b613e8481613e6f565b82525050565b6000602082019050613e9f6000830184613e7b565b92915050565b600060208284031215613ebb57613eba613db1565b5b6000613ec984828501613de4565b91505092915050565b600080fd5b600080fd5b600080fd5b60008083601f840112613ef757613ef6613ed2565b5b8235905067ffffffffffffffff811115613f1457613f13613ed7565b5b602083019150836020820283011115613f3057613f2f613edc565b5b9250929050565b613f4081613e6f565b8114613f4b57600080fd5b50565b600081359050613f5d81613f37565b92915050565b600080600060408486031215613f7c57613f7b613db1565b5b600084013567ffffffffffffffff811115613f9a57613f99613db6565b5b613fa686828701613ee1565b93509350506020613fb986828701613f4e565b9150509250925092565b613fcc81613df9565b82525050565b6000602082019050613fe76000830184613fc3565b92915050565b60008060006060848603121561400657614005613db1565b5b600061401486828701613de4565b935050602061402586828701613de4565b925050604061403686828701613e1a565b9150509250925092565b600060ff82169050919050565b61405681614040565b82525050565b6000602082019050614071600083018461404d565b92915050565b61408081613dbb565b82525050565b600060208201905061409b6000830184614077565b92915050565b600080604083850312156140b8576140b7613db1565b5b60006140c685828601613de4565b92505060206140d785828601613f4e565b9150509250929050565b6000602082840312156140f7576140f6613db1565b5b600061410584828501613e1a565b91505092915050565b6000806040838503121561412557614124613db1565b5b600061413385828601613de4565b925050602061414485828601613de4565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061419557607f821691505b6020821081036141a8576141a761414e565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006141e4602083613c67565b91506141ef826141ae565b602082019050919050565b60006020820190508181036000830152614213816141d7565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061428382613df9565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036142b5576142b4614249565b5b600182019050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b600061431c602883613c67565b9150614327826142c0565b604082019050919050565b6000602082019050818103600083015261434b8161430f565b9050919050565b600061435d82613df9565b915061436883613df9565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561439d5761439c614249565b5b828201905092915050565b7f43616e206f6e6c792073776170207768656e20746f6b656e20616d6f756e742060008201527f6973206174206f7220686967686572207468616e207265737472696374696f6e602082015250565b6000614404604083613c67565b915061440f826143a8565b604082019050919050565b60006020820190508181036000830152614433816143f7565b9050919050565b7f43616e6e6f742072656d6f766520756e697377617020706169722066726f6d2060008201527f6d61782074786e00000000000000000000000000000000000000000000000000602082015250565b6000614496602783613c67565b91506144a18261443a565b604082019050919050565b600060208201905081810360008301526144c581614489565b9050919050565b7f43616e6e6f74207265656e61626c652074726164696e67000000000000000000600082015250565b6000614502601783613c67565b915061450d826144cc565b602082019050919050565b60006020820190508181036000830152614531816144f5565b9050919050565b7f5f746f6b656e20616464726573732063616e6e6f742062652030000000000000600082015250565b600061456e601a83613c67565b915061457982614538565b602082019050919050565b6000602082019050818103600083015261459d81614561565b9050919050565b7f43616e2774207769746864726177206e617469766520746f6b656e7300000000600082015250565b60006145da601c83613c67565b91506145e5826145a4565b602082019050919050565b60006020820190508181036000830152614609816145cd565b9050919050565b60008151905061461f81613e03565b92915050565b60006020828403121561463b5761463a613db1565b5b600061464984828501614610565b91505092915050565b60006040820190506146676000830185614077565b6146746020830184613fc3565b9392505050565b60008151905061468a81613f37565b92915050565b6000602082840312156146a6576146a5613db1565b5b60006146b48482850161467b565b91505092915050565b7f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060008201527f6175746f6d617465644d61726b65744d616b6572506169727300000000000000602082015250565b6000614719603983613c67565b9150614724826146bd565b604082019050919050565b600060208201905081810360008301526147488161470c565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b60006147ab602583613c67565b91506147b68261474f565b604082019050919050565b600060208201905081810360008301526147da8161479e565b9050919050565b7f5f646576416e644d61726b6574696e674164647265737320616464726573732060008201527f63616e6e6f742062652030000000000000000000000000000000000000000000602082015250565b600061483d602b83613c67565b9150614848826147e1565b604082019050919050565b6000602082019050818103600083015261486c81614830565b9050919050565b600061487e82613df9565b915061488983613df9565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156148c2576148c1614249565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061490782613df9565b915061491283613df9565b925082614922576149216148cd565b5b828204905092915050565b7f5377617020616d6f756e742063616e6e6f74206265206c6f776572207468616e60008201527f20302e3030312520746f74616c20737570706c792e0000000000000000000000602082015250565b6000614989603583613c67565b91506149948261492d565b604082019050919050565b600060208201905081810360008301526149b88161497c565b9050919050565b7f5377617020616d6f756e742063616e6e6f74206265206869676865722074686160008201527f6e20302e312520746f74616c20737570706c792e000000000000000000000000602082015250565b6000614a1b603483613c67565b9150614a26826149bf565b604082019050919050565b60006020820190508181036000830152614a4a81614a0e565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000614aad602683613c67565b9150614ab882614a51565b604082019050919050565b60006020820190508181036000830152614adc81614aa0565b9050919050565b600081905092915050565b50565b6000614afe600083614ae3565b9150614b0982614aee565b600082019050919050565b6000614b1f82614af1565b9150819050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000614b85602483613c67565b9150614b9082614b29565b604082019050919050565b60006020820190508181036000830152614bb481614b78565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000614c17602283613c67565b9150614c2282614bbb565b604082019050919050565b60006020820190508181036000830152614c4681614c0a565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000614ca9602583613c67565b9150614cb482614c4d565b604082019050919050565b60006020820190508181036000830152614cd881614c9c565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000614d3b602383613c67565b9150614d4682614cdf565b604082019050919050565b60006020820190508181036000830152614d6a81614d2e565b9050919050565b7f616d6f756e74206d7573742062652067726561746572207468616e2030000000600082015250565b6000614da7601d83613c67565b9150614db282614d71565b602082019050919050565b60006020820190508181036000830152614dd681614d9a565b9050919050565b7f54726164696e67206973206e6f74206163746976652e00000000000000000000600082015250565b6000614e13601683613c67565b9150614e1e82614ddd565b602082019050919050565b60006020820190508181036000830152614e4281614e06565b9050919050565b7f426f74732063616e6e6f74207472616e7366657220746f6b656e7320696e206f60008201527f72206f75742065786365707420746f206f776e6572206f72206465616420616460208201527f64726573732e0000000000000000000000000000000000000000000000000000604082015250565b6000614ecb604683613c67565b9150614ed682614e49565b606082019050919050565b60006020820190508181036000830152614efa81614ebe565b9050919050565b7f43616e6e6f7420457863656564206d61782077616c6c65740000000000000000600082015250565b6000614f37601883613c67565b9150614f4282614f01565b602082019050919050565b60006020820190508181036000830152614f6681614f2a565b9050919050565b6000614f7882613df9565b9150614f8383613df9565b925082821015614f9657614f95614249565b5b828203905092915050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000614ffd602683613c67565b915061500882614fa1565b604082019050919050565b6000602082019050818103600083015261502c81614ff0565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008151905061507181613dcd565b92915050565b60006020828403121561508d5761508c613db1565b5b600061509b84828501615062565b91505092915050565b6000819050919050565b60006150c96150c46150bf846150a4565b613d37565b613df9565b9050919050565b6150d9816150ae565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61511481613dbb565b82525050565b6000615126838361510b565b60208301905092915050565b6000602082019050919050565b600061514a826150df565b61515481856150ea565b935061515f836150fb565b8060005b83811015615190578151615177888261511a565b975061518283615132565b925050600181019050615163565b5085935050505092915050565b600060a0820190506151b26000830188613fc3565b6151bf60208301876150d0565b81810360408301526151d1818661513f565b90506151e06060830185614077565b6151ed6080830184613fc3565b9695505050505050565b600060c08201905061520c6000830189614077565b6152196020830188613fc3565b61522660408301876150d0565b61523360608301866150d0565b6152406080830185614077565b61524d60a0830184613fc3565b979650505050505050565b60008060006060848603121561527157615270613db1565b5b600061527f86828701614610565b935050602061529086828701614610565b92505060406152a186828701614610565b9150509250925092565b60006040820190506152c06000830185614077565b6152cd6020830184613e7b565b939250505056fea264697066735822122054b32c1cfd9d5c2268c0e88b736608ec30dcb7bc3dec2e362139e7fe48045cfe64736f6c634300080f0033