60a06040523480156200001157600080fd5b506040518060400160405280601381526020017f4d33315f4469766964656e5f547261636b6572000000000000000000000000008152506040518060400160405280601481526020017f4d33315f4469766964656e645f547261636b65720000000000000000000000008152508181620000a062000094620000f660201b60201c565b620000fe60201b60201c565b8160049080519060200190620000b8929190620001c2565b508060059080519060200190620000d1929190620001c2565b5050505050610e10601181905550680ad78ebc5ac620000060808181525050620002d7565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b828054620001d090620002a1565b90600052602060002090601f016020900481019282620001f4576000855562000240565b82601f106200020f57805160ff191683800117855562000240565b8280016001018555821562000240579182015b828111156200023f57825182559160200191906001019062000222565b5b5090506200024f919062000253565b5090565b5b808211156200026e57600081600090555060010162000254565b5090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620002ba57607f821691505b60208210811415620002d157620002d062000272565b5b50919050565b608051613acc620002fa600039600081816113f701526115750152613acc6000f3fe6080604052600436106102085760003560e01c8063715018a611610118578063bc4c4b37116100a0578063e7841ec01161006f578063e7841ec0146107ee578063e98030c714610819578063f2fde38b14610842578063fbcbc0f11461086b578063ffb2c479146108af57610217565b8063bc4c4b3714610720578063be10b6141461075d578063dd62ed3e14610788578063e30443bc146107c557610217565b806395d89b41116100e757806395d89b4114610601578063a457c2d71461062c578063a8b9d24014610669578063a9059cbb146106a6578063aafd847a146106e357610217565b8063715018a61461055757806385a6b3ae1461056e5780638da5cb5b1461059957806391b89fba146105c457610217565b80633009a6091161019b5780634e7b827f1161016a5780634e7b827f146104575780635183d6fd146104945780636a474002146104d85780636f2789ec146104ef57806370a082311461051a57610217565b80633009a6091461039b578063313ce567146103c657806331e79db0146103f1578063395093511461041a57610217565b806318160ddd116101d757806318160ddd146102b9578063226cfa3d146102e457806323b872dd1461032157806327ce01471461035e57610217565b806303c833021461021c57806306fdde0314610226578063095ea7b31461025157806309bbedde1461028e57610217565b36610217576102156108ee565b005b600080fd5b6102246108ee565b005b34801561023257600080fd5b5061023b6109c7565b6040516102489190612cbe565b60405180910390f35b34801561025d57600080fd5b5061027860048036038101906102739190612d79565b610a59565b6040516102859190612dd4565b60405180910390f35b34801561029a57600080fd5b506102a3610a77565b6040516102b09190612dfe565b60405180910390f35b3480156102c557600080fd5b506102ce610a87565b6040516102db9190612dfe565b60405180910390f35b3480156102f057600080fd5b5061030b60048036038101906103069190612e19565b610a91565b6040516103189190612dfe565b60405180910390f35b34801561032d57600080fd5b5061034860048036038101906103439190612e46565b610aa9565b6040516103559190612dd4565b60405180910390f35b34801561036a57600080fd5b5061038560048036038101906103809190612e19565b610ba1565b6040516103929190612dfe565b60405180910390f35b3480156103a757600080fd5b506103b0610c44565b6040516103bd9190612dfe565b60405180910390f35b3480156103d257600080fd5b506103db610c4a565b6040516103e89190612eb5565b60405180910390f35b3480156103fd57600080fd5b5061041860048036038101906104139190612e19565b610c53565b005b34801561042657600080fd5b50610441600480360381019061043c9190612d79565b610de3565b60405161044e9190612dd4565b60405180910390f35b34801561046357600080fd5b5061047e60048036038101906104799190612e19565b610e8f565b60405161048b9190612dd4565b60405180910390f35b3480156104a057600080fd5b506104bb60048036038101906104b69190612ed0565b610eaf565b6040516104cf989796959493929190612f25565b60405180910390f35b3480156104e457600080fd5b506104ed610f4a565b005b3480156104fb57600080fd5b50610504610f57565b6040516105119190612dfe565b60405180910390f35b34801561052657600080fd5b50610541600480360381019061053c9190612e19565b610f5d565b60405161054e9190612dfe565b60405180910390f35b34801561056357600080fd5b5061056c610fa6565b005b34801561057a57600080fd5b5061058361102e565b6040516105909190612dfe565b60405180910390f35b3480156105a557600080fd5b506105ae611034565b6040516105bb9190612fa3565b60405180910390f35b3480156105d057600080fd5b506105eb60048036038101906105e69190612e19565b61105d565b6040516105f89190612dfe565b60405180910390f35b34801561060d57600080fd5b5061061661106f565b6040516106239190612cbe565b60405180910390f35b34801561063857600080fd5b50610653600480360381019061064e9190612d79565b611101565b6040516106609190612dd4565b60405180910390f35b34801561067557600080fd5b50610690600480360381019061068b9190612e19565b6111ec565b60405161069d9190612dfe565b60405180910390f35b3480156106b257600080fd5b506106cd60048036038101906106c89190612d79565b61124f565b6040516106da9190612dd4565b60405180910390f35b3480156106ef57600080fd5b5061070a60048036038101906107059190612e19565b61126d565b6040516107179190612dfe565b60405180910390f35b34801561072c57600080fd5b5061074760048036038101906107429190613028565b6112b6565b6040516107549190612dd4565b60405180910390f35b34801561076957600080fd5b506107726113f5565b60405161077f9190612dfe565b60405180910390f35b34801561079457600080fd5b506107af60048036038101906107aa9190613068565b611419565b6040516107bc9190612dfe565b60405180910390f35b3480156107d157600080fd5b506107ec60048036038101906107e791906130a8565b6114a0565b005b3480156107fa57600080fd5b506108036115f0565b6040516108109190612dfe565b60405180910390f35b34801561082557600080fd5b50610840600480360381019061083b9190612ed0565b6115fa565b005b34801561084e57600080fd5b5061086960048036038101906108649190612e19565b611704565b005b34801561087757600080fd5b50610892600480360381019061088d9190612e19565b6117fc565b6040516108a6989796959493929190612f25565b60405180910390f35b3480156108bb57600080fd5b506108d660048036038101906108d19190612ed0565b611972565b6040516108e5939291906130e8565b60405180910390f35b60006108f8610a87565b1161090257600080fd5b60003411156109c557610955610916610a87565b61093a70010000000000000000000000000000000034611b0490919063ffffffff16565b610944919061317d565b600654611b1a90919063ffffffff16565b6006819055503373ffffffffffffffffffffffffffffffffffffffff167fa493a9229478c3fcd73f66d2cdeb7f94fd0f341da924d1054236d78454116511346040516109a19190612dfe565b60405180910390a26109be34600954611b1a90919063ffffffff16565b6009819055505b565b6060600480546109d6906131dd565b80601f0160208091040260200160405190810160405280929190818152602001828054610a02906131dd565b8015610a4f5780601f10610a2457610100808354040283529160200191610a4f565b820191906000526020600020905b815481529060010190602001808311610a3257829003601f168201915b5050505050905090565b6000610a6d610a66611b30565b8484611b38565b6001905092915050565b6000600a60000180549050905090565b6000600354905090565b60106020528060005260406000206000915090505481565b6000610ab6848484611d03565b6000600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610b01611b30565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610b81576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b7890613281565b60405180910390fd5b610b9585610b8d611b30565b858403611b38565b60019150509392505050565b6000700100000000000000000000000000000000610c33610c2e600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c20610c1b610c0a88610f5d565b600654611b0490919063ffffffff16565b611d13565b611d3090919063ffffffff16565b611d7b565b610c3d919061317d565b9050919050565b600e5481565b60006012905090565b610c5b611b30565b73ffffffffffffffffffffffffffffffffffffffff16610c79611034565b73ffffffffffffffffffffffffffffffffffffffff1614610ccf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cc6906132ed565b60405180910390fd5b600f60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610d2657600080fd5b6001600f60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550610d89816000611d92565b610d9d81600a611dff90919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167fa878b31040b2e6d0a9a3d3361209db3908ba62014b0dca52adbaee451d128b2560405160405180910390a250565b6000610e85610df0611b30565b848460026000610dfe611b30565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e80919061330d565b611b38565b6001905092915050565b600f6020528060005260406000206000915054906101000a900460ff1681565b600080600080600080600080610ec5600a6120cb565b8910610f0c5760007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80600080600080600097509750975097509750975097509750610f3f565b6000610f228a600a6120dc90919063ffffffff16565b9050610f2d816117fc565b98509850985098509850985098509850505b919395975091939597565b6000610f5557600080fd5b565b60115481565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610fae611b30565b73ffffffffffffffffffffffffffffffffffffffff16610fcc611034565b73ffffffffffffffffffffffffffffffffffffffff1614611022576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611019906132ed565b60405180910390fd5b61102c6000612127565b565b60095481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000611068826111ec565b9050919050565b60606005805461107e906131dd565b80601f01602080910402602001604051908101604052809291908181526020018280546110aa906131dd565b80156110f75780601f106110cc576101008083540402835291602001916110f7565b820191906000526020600020905b8154815290600101906020018083116110da57829003601f168201915b5050505050905090565b60008060026000611110611b30565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050828110156111cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111c4906133d5565b60405180910390fd5b6111e16111d8611b30565b85858403611b38565b600191505092915050565b6000611248600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461123a84610ba1565b6121eb90919063ffffffff16565b9050919050565b600061126361125c611b30565b8484611d03565b6001905092915050565b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60006112c0611b30565b73ffffffffffffffffffffffffffffffffffffffff166112de611034565b73ffffffffffffffffffffffffffffffffffffffff1614611334576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161132b906132ed565b60405180910390fd5b600061133f84612201565b905060008111156113e95742601060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508215158473ffffffffffffffffffffffffffffffffffffffff167fa2c38e2d2fb7e3e1912d937fd1ca11ed6d51864dee4cfa7a7bf02becd7acf092836040516113d79190612dfe565b60405180910390a360019150506113ef565b60009150505b92915050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6114a8611b30565b73ffffffffffffffffffffffffffffffffffffffff166114c6611034565b73ffffffffffffffffffffffffffffffffffffffff161461151c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611513906132ed565b60405180910390fd5b600f60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611573576115ec565b7f000000000000000000000000000000000000000000000000000000000000000081106115bf576115a48282611d92565b6115ba8282600a6124269092919063ffffffff16565b6115df565b6115ca826000611d92565b6115de82600a611dff90919063ffffffff16565b5b6115ea8260016112b6565b505b5050565b6000600e54905090565b611602611b30565b73ffffffffffffffffffffffffffffffffffffffff16611620611034565b73ffffffffffffffffffffffffffffffffffffffff1614611676576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161166d906132ed565b60405180910390fd5b610e10811015801561168b5750620151808111155b6116ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116c19061348d565b60405180910390fd5b601154817f474ea64804364a1e29a4487ddb63c3342a2dd826ccd8acf48825e680a0e6f20f60405160405180910390a38060118190555050565b61170c611b30565b73ffffffffffffffffffffffffffffffffffffffff1661172a611034565b73ffffffffffffffffffffffffffffffffffffffff1614611780576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611777906132ed565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156117f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117e79061351f565b60405180910390fd5b6117f981612127565b50565b60008060008060008060008088975061181f88600a61261d90919063ffffffff16565b96507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9550600087126118c457600e548711156118725761186b600e54886126e590919063ffffffff16565b95506118c3565b6000600e54600a600001805490501161188c5760006118aa565b6118a9600e54600a600001805490506121eb90919063ffffffff16565b5b90506118bf8189611d3090919063ffffffff16565b9650505b5b6118cd886111ec565b94506118d888610ba1565b9350601060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205492506000831161192b576000611941565b61194060115484611b1a90919063ffffffff16565b5b9150428211611951576000611965565b61196442836121eb90919063ffffffff16565b5b9050919395975091939597565b600080600080600a600001805490509050600081141561199e57600080600e5493509350935050611afd565b6000600e5490506000805a90506000805b89841080156119bd57508582105b15611ae45784806119cd9061353f565b955050600a6000018054905085106119e457600094505b6000600a60000186815481106119fd576119fc613588565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050611a72601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612730565b15611a9757611a828160016112b6565b15611a96578180611a929061353f565b9250505b5b8280611aa29061353f565b93505060005a905080851115611ada57611ad7611ac882876121eb90919063ffffffff16565b87611b1a90919063ffffffff16565b95505b80945050506119af565b84600e819055508181600e549850985098505050505050505b9193909250565b60008183611b1291906135b7565b905092915050565b60008183611b28919061330d565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611ba8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b9f90613683565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611c18576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c0f90613715565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611cf69190612dfe565b60405180910390a3505050565b6000611d0e57600080fd5b505050565b6000808290506000811215611d2757600080fd5b80915050919050565b6000808284611d3f9190613735565b905060008312158015611d525750838112155b80611d685750600083128015611d6757508381125b5b611d7157600080fd5b8091505092915050565b600080821215611d8a57600080fd5b819050919050565b6000611d9d83610f5d565b905080821115611dce576000611dbc82846121eb90919063ffffffff16565b9050611dc88482612763565b50611dfa565b80821015611df9576000611deb83836121eb90919063ffffffff16565b9050611df78482612822565b505b5b505050565b8160030160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611e57576120c7565b8160030160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81549060ff02191690558160010160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000905560008260020160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050600060018460000180549050611f4991906137c9565b90506000846000018281548110611f6357611f62613588565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050828560020160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508460020160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600090558085600001848154811061203257612031613588565b5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508460000180548061208e5761208d6137fd565b5b6001900381819060005260206000200160006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905590555050505b5050565b600081600001805490509050919050565b60008260000182815481106120f4576120f3613588565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905092915050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600081836121f991906137c9565b905092915050565b60008061220d836111ec565b9050600081111561241b5761226a81600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b1a90919063ffffffff16565b600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff167fee503bee2bb6a87e57bc57db795f98137327401a0e7b7ce42e37926cc1a9ca4d826040516122f39190612dfe565b60405180910390a260008373ffffffffffffffffffffffffffffffffffffffff1682610bb8906040516123259061385d565b600060405180830381858888f193505050503d8060008114612363576040519150601f19603f3d011682016040523d82523d6000602084013e612368565b606091505b5050905080612411576123c382600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121eb90919063ffffffff16565b600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600092505050612421565b8192505050612421565b60009150505b919050565b8260030160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156124c557808360010160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612618565b60018360030160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808360010160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555082600001805490508360020160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555082600001829080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b505050565b60008260030160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661269a577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90506126df565b8260020160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490505b92915050565b60008082846126f49190613872565b9050600083121580156127075750838113155b8061271d575060008312801561271c57508381135b5b61272657600080fd5b8091505092915050565b600042821115612743576000905061275e565b60115461275983426121eb90919063ffffffff16565b101590505b919050565b61276d82826128e1565b6127db61278d61278883600654611b0490919063ffffffff16565b611d13565b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126e590919063ffffffff16565b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b61282c8282612a42565b61289a61284c61284783600654611b0490919063ffffffff16565b611d13565b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d3090919063ffffffff16565b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612951576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161294890613952565b60405180910390fd5b61295d60008383612c1b565b806003600082825461296f919061330d565b9250508190555080600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546129c5919061330d565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612a2a9190612dfe565b60405180910390a3612a3e60008383612c20565b5050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612ab2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612aa9906139e4565b60405180910390fd5b612abe82600083612c1b565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015612b45576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b3c90613a76565b60405180910390fd5b818103600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508160036000828254612b9d91906137c9565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612c029190612dfe565b60405180910390a3612c1683600084612c20565b505050565b505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612c5f578082015181840152602081019050612c44565b83811115612c6e576000848401525b50505050565b6000601f19601f8301169050919050565b6000612c9082612c25565b612c9a8185612c30565b9350612caa818560208601612c41565b612cb381612c74565b840191505092915050565b60006020820190508181036000830152612cd88184612c85565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612d1082612ce5565b9050919050565b612d2081612d05565b8114612d2b57600080fd5b50565b600081359050612d3d81612d17565b92915050565b6000819050919050565b612d5681612d43565b8114612d6157600080fd5b50565b600081359050612d7381612d4d565b92915050565b60008060408385031215612d9057612d8f612ce0565b5b6000612d9e85828601612d2e565b9250506020612daf85828601612d64565b9150509250929050565b60008115159050919050565b612dce81612db9565b82525050565b6000602082019050612de96000830184612dc5565b92915050565b612df881612d43565b82525050565b6000602082019050612e136000830184612def565b92915050565b600060208284031215612e2f57612e2e612ce0565b5b6000612e3d84828501612d2e565b91505092915050565b600080600060608486031215612e5f57612e5e612ce0565b5b6000612e6d86828701612d2e565b9350506020612e7e86828701612d2e565b9250506040612e8f86828701612d64565b9150509250925092565b600060ff82169050919050565b612eaf81612e99565b82525050565b6000602082019050612eca6000830184612ea6565b92915050565b600060208284031215612ee657612ee5612ce0565b5b6000612ef484828501612d64565b91505092915050565b612f0681612d05565b82525050565b6000819050919050565b612f1f81612f0c565b82525050565b600061010082019050612f3b600083018b612efd565b612f48602083018a612f16565b612f556040830189612f16565b612f626060830188612def565b612f6f6080830187612def565b612f7c60a0830186612def565b612f8960c0830185612def565b612f9660e0830184612def565b9998505050505050505050565b6000602082019050612fb86000830184612efd565b92915050565b6000612fc982612ce5565b9050919050565b612fd981612fbe565b8114612fe457600080fd5b50565b600081359050612ff681612fd0565b92915050565b61300581612db9565b811461301057600080fd5b50565b60008135905061302281612ffc565b92915050565b6000806040838503121561303f5761303e612ce0565b5b600061304d85828601612fe7565b925050602061305e85828601613013565b9150509250929050565b6000806040838503121561307f5761307e612ce0565b5b600061308d85828601612d2e565b925050602061309e85828601612d2e565b9150509250929050565b600080604083850312156130bf576130be612ce0565b5b60006130cd85828601612fe7565b92505060206130de85828601612d64565b9150509250929050565b60006060820190506130fd6000830186612def565b61310a6020830185612def565b6131176040830184612def565b949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061318882612d43565b915061319383612d43565b9250826131a3576131a261311f565b5b828204905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806131f557607f821691505b60208210811415613209576132086131ae565b5b50919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b600061326b602883612c30565b91506132768261320f565b604082019050919050565b6000602082019050818103600083015261329a8161325e565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006132d7602083612c30565b91506132e2826132a1565b602082019050919050565b60006020820190508181036000830152613306816132ca565b9050919050565b600061331882612d43565b915061332383612d43565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156133585761335761314e565b5b828201905092915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b60006133bf602583612c30565b91506133ca82613363565b604082019050919050565b600060208201905081810360008301526133ee816133b2565b9050919050565b7f544f4b454e5f4469766964656e645f547261636b65723a20636c61696d57616960008201527f74206d757374206265207570646174656420746f206265747765656e2031206160208201527f6e6420323420686f757273000000000000000000000000000000000000000000604082015250565b6000613477604b83612c30565b9150613482826133f5565b606082019050919050565b600060208201905081810360008301526134a68161346a565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000613509602683612c30565b9150613514826134ad565b604082019050919050565b60006020820190508181036000830152613538816134fc565b9050919050565b600061354a82612d43565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561357d5761357c61314e565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60006135c282612d43565b91506135cd83612d43565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156136065761360561314e565b5b828202905092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061366d602483612c30565b915061367882613611565b604082019050919050565b6000602082019050818103600083015261369c81613660565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006136ff602283612c30565b915061370a826136a3565b604082019050919050565b6000602082019050818103600083015261372e816136f2565b9050919050565b600061374082612f0c565b915061374b83612f0c565b9250817f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038313600083121516156137865761378561314e565b5b817f80000000000000000000000000000000000000000000000000000000000000000383126000831216156137be576137bd61314e565b5b828201905092915050565b60006137d482612d43565b91506137df83612d43565b9250828210156137f2576137f161314e565b5b828203905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b600081905092915050565b50565b600061384760008361382c565b915061385282613837565b600082019050919050565b60006138688261383a565b9150819050919050565b600061387d82612f0c565b915061388883612f0c565b9250827f8000000000000000000000000000000000000000000000000000000000000000018212600084121516156138c3576138c261314e565b5b827f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0182136000841216156138fb576138fa61314e565b5b828203905092915050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b600061393c601f83612c30565b915061394782613906565b602082019050919050565b6000602082019050818103600083015261396b8161392f565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b60006139ce602183612c30565b91506139d982613972565b604082019050919050565b600060208201905081810360008301526139fd816139c1565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b6000613a60602283612c30565b9150613a6b82613a04565b604082019050919050565b60006020820190508181036000830152613a8f81613a53565b905091905056fea2646970667358221220e57ecfc5650655d2fb61065f63b99873a83e0bb1798f28b14ae456c7c7c4726064736f6c634300080a0033