0x6080604052600436106101e65760003560e01c806374010ece11610102578063a9059cbb11610095578063d00efb2f11610064578063d00efb2f1461069e578063dd62ed3e146106c9578063ea1644d514610706578063f2fde38b1461072f576101ed565b8063a9059cbb146105e4578063bfd7928414610621578063c3c8cd801461065e578063c492f04614610675576101ed565b80638f9a55c0116100d15780638f9a55c01461053c57806395d89b411461056757806398a5c31514610592578063a2a957bb146105bb576101ed565b806374010ece146104945780637d1db4a5146104bd5780638da5cb5b146104e85780638f70ccf714610513576101ed565b806349bd5a5e1161017a5780636d8aa8f8116101495780636d8aa8f8146104005780636fc3eaec1461042957806370a0823114610440578063715018a61461047d576101ed565b806349bd5a5e1461036c5780635d5fe6981461039757806362256589146103c05780636b999053146103d7576101ed565b806318160ddd116101b657806318160ddd146102ae57806323b872dd146102d95780632fd689e314610316578063313ce56714610341576101ed565b8062b8cf2a146101f257806306fdde031461021b578063095ea7b3146102465780631694505e14610283576101ed565b366101ed57005b600080fd5b3480156101fe57600080fd5b5061021960048036038101906102149190612f80565b610758565b005b34801561022757600080fd5b50610230610882565b60405161023d9190613051565b60405180910390f35b34801561025257600080fd5b5061026d600480360381019061026891906130a9565b6108bf565b60405161027a9190613104565b60405180910390f35b34801561028f57600080fd5b506102986108dd565b6040516102a5919061317e565b60405180910390f35b3480156102ba57600080fd5b506102c3610903565b6040516102d091906131a8565b60405180910390f35b3480156102e557600080fd5b5061030060048036038101906102fb91906131c3565b610912565b60405161030d9190613104565b60405180910390f35b34801561032257600080fd5b5061032b6109eb565b60405161033891906131a8565b60405180910390f35b34801561034d57600080fd5b506103566109f1565b6040516103639190613232565b60405180910390f35b34801561037857600080fd5b506103816109fa565b60405161038e919061325c565b60405180910390f35b3480156103a357600080fd5b506103be60048036038101906103b99190613277565b610a20565b005b3480156103cc57600080fd5b506103d5610ad7565b005b3480156103e357600080fd5b506103fe60048036038101906103f991906132de565b610b8a565b005b34801561040c57600080fd5b5061042760048036038101906104229190613337565b610c7a565b005b34801561043557600080fd5b5061043e610d2b565b005b34801561044c57600080fd5b50610467600480360381019061046291906132de565b610dfc565b60405161047491906131a8565b60405180910390f35b34801561048957600080fd5b50610492610e4d565b005b3480156104a057600080fd5b506104bb60048036038101906104b69190613364565b610fa0565b005b3480156104c957600080fd5b506104d261103f565b6040516104df91906131a8565b60405180910390f35b3480156104f457600080fd5b506104fd611045565b60405161050a919061325c565b60405180910390f35b34801561051f57600080fd5b5061053a60048036038101906105359190613337565b61106e565b005b34801561054857600080fd5b50610551611127565b60405161055e91906131a8565b60405180910390f35b34801561057357600080fd5b5061057c61112d565b6040516105899190613051565b60405180910390f35b34801561059e57600080fd5b506105b960048036038101906105b49190613364565b61116a565b005b3480156105c757600080fd5b506105e260048036038101906105dd9190613277565b611209565b005b3480156105f057600080fd5b5061060b600480360381019061060691906130a9565b6112c0565b6040516106189190613104565b60405180910390f35b34801561062d57600080fd5b50610648600480360381019061064391906132de565b6112de565b6040516106559190613104565b60405180910390f35b34801561066a57600080fd5b506106736112fe565b005b34801561068157600080fd5b5061069c600480360381019061069791906133ec565b6113d7565b005b3480156106aa57600080fd5b506106b3611511565b6040516106c091906131a8565b60405180910390f35b3480156106d557600080fd5b506106f060048036038101906106eb919061344c565b611517565b6040516106fd91906131a8565b60405180910390f35b34801561071257600080fd5b5061072d60048036038101906107289190613364565b61159e565b005b34801561073b57600080fd5b50610756600480360381019061075191906132de565b61163d565b005b6107606118c2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107e4906134d8565b60405180910390fd5b60005b815181101561087e57600160116000848481518110610812576108116134f8565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061087690613556565b9150506107f0565b5050565b60606040518060400160405280600581526020017f494c6f414c000000000000000000000000000000000000000000000000000000815250905090565b60006108d36108cc6118c2565b84846118ca565b6001905092915050565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000662386f26fc10000905090565b600061091f848484611a93565b6109e08461092b6118c2565b6109db85604051806060016040528060288152602001613f9660289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006109916118c2565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123169092919063ffffffff16565b6118ca565b600190509392505050565b60195481565b60006009905090565b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610a286118c2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ab5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aac906134d8565b60405180910390fd5b8360098190555082600b8190555081600a8190555080600c8190555050505050565b610adf6118c2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b6c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b63906134d8565b60405180910390fd5b662386f26fc10000601781905550662386f26fc10000601881905550565b610b926118c2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c1f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c16906134d8565b60405180910390fd5b6000601160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b610c826118c2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d0f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d06906134d8565b60405180910390fd5b806016806101000a81548160ff02191690831515021790555050565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610d6c6118c2565b73ffffffffffffffffffffffffffffffffffffffff161480610de25750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610dca6118c2565b73ffffffffffffffffffffffffffffffffffffffff16145b610deb57600080fd5b6000479050610df98161237a565b50565b6000610e46600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612475565b9050919050565b610e556118c2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ee2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ed9906134d8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610fa86118c2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611035576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161102c906134d8565b60405180910390fd5b8060178190555050565b60175481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6110766118c2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611103576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110fa906134d8565b60405180910390fd5b80601660146101000a81548160ff0219169083151502179055504360088190555050565b60185481565b60606040518060400160405280600581526020017f494c6f414c000000000000000000000000000000000000000000000000000000815250905090565b6111726118c2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111f6906134d8565b60405180910390fd5b8060198190555050565b6112116118c2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461129e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611295906134d8565b60405180910390fd5b8360098190555082600b8190555081600a8190555080600c8190555050505050565b60006112d46112cd6118c2565b8484611a93565b6001905092915050565b60116020528060005260406000206000915054906101000a900460ff1681565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661133f6118c2565b73ffffffffffffffffffffffffffffffffffffffff1614806113b55750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661139d6118c2565b73ffffffffffffffffffffffffffffffffffffffff16145b6113be57600080fd5b60006113c930610dfc565b90506113d4816124e3565b50565b6113df6118c2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461146c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611463906134d8565b60405180910390fd5b60005b8383905081101561150b578160056000868685818110611492576114916134f8565b5b90506020020160208101906114a791906132de565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061150390613556565b91505061146f565b50505050565b60085481565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6115a66118c2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611633576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161162a906134d8565b60405180910390fd5b8060188190555050565b6116456118c2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146116d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116c9906134d8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611741576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161173890613610565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008083036118105760009050611872565b6000828461181e9190613630565b905082848261182d91906136b9565b1461186d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118649061375c565b60405180910390fd5b809150505b92915050565b60006118ba83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061275c565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611939576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611930906137ee565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036119a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161199f90613880565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611a8691906131a8565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611b02576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611af990613912565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611b71576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b68906139a4565b60405180910390fd5b60008111611bb4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bab90613a36565b60405180910390fd5b611bbc611045565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611c2a5750611bfa611045565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561201557601660149054906101000a900460ff16611cb957611c4b611045565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614611cb8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611caf90613ac8565b60405180910390fd5b5b601754811115611cfe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cf590613b34565b60405180910390fd5b601160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611da25750601160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b611de1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dd890613bc6565b60405180910390fd5b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614611e8e5760185481611e4384610dfc565b611e4d9190613be6565b10611e8d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e8490613cae565b60405180910390fd5b5b6000611e9930610dfc565b9050600060195482101590506017548210611eb45760175491505b808015611ece5750601660159054906101000a900460ff16155b8015611f285750601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b8015611f3e575060168054906101000a900460ff165b8015611f945750600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611fea5750600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561201257611ff8826124e3565b600047905060008111156120105761200f4761237a565b5b505b50505b600060019050600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806120bc5750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b8061216f5750601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561216e5750601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b5b1561217d5760009050612304565b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156122285750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561224057600954600d81905550600a54600e819055505b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156122eb5750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b1561230357600b54600d81905550600c54600e819055505b5b612310848484846127bf565b50505050565b600083831115829061235e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123559190613051565b60405180910390fd5b506000838561236d9190613cce565b9050809150509392505050565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6123ca60028461187890919063ffffffff16565b9081150290604051600060405180830381858888f193505050501580156123f5573d6000803e3d6000fd5b50601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc61244660028461187890919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015612471573d6000803e3d6000fd5b5050565b60006006548211156124bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124b390613d74565b60405180910390fd5b60006124c66127ec565b90506124db818461187890919063ffffffff16565b915050919050565b6001601660156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff81111561251b5761251a612ddf565b5b6040519080825280602002602001820160405280156125495781602001602082028036833780820191505090505b5090503081600081518110612561576125606134f8565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612608573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061262c9190613da9565b816001815181106126405761263f6134f8565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506126a730601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846118ca565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161270b959493929190613ecf565b600060405180830381600087803b15801561272557600080fd5b505af1158015612739573d6000803e3d6000fd5b50505050506000601660156101000a81548160ff02191690831515021790555050565b600080831182906127a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161279a9190613051565b60405180910390fd5b50600083856127b291906136b9565b9050809150509392505050565b806127cd576127cc612817565b5b6127d8848484612854565b806127e6576127e5612a1f565b5b50505050565b60008060006127f9612a33565b91509150612810818361187890919063ffffffff16565b9250505090565b6000600d5414801561282b57506000600e54145b61285257600d54600f81905550600e546010819055506000600d819055506000600e819055505b565b60008060008060008061286687612a8f565b9550955095509550955095506128c486600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612af790919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061295985600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612b4190919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506129a581612b9f565b6129af8483612c5c565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051612a0c91906131a8565b60405180910390a3505050505050505050565b600f54600d81905550601054600e81905550565b600080600060065490506000662386f26fc100009050612a65662386f26fc1000060065461187890919063ffffffff16565b821015612a8257600654662386f26fc10000935093505050612a8b565b81819350935050505b9091565b6000806000806000806000806000612aac8a600d54600e54612c96565b9250925092506000612abc6127ec565b90506000806000612acf8e878787612d2c565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b6000612b3983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612316565b905092915050565b6000808284612b509190613be6565b905083811015612b95576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b8c90613f75565b60405180910390fd5b8091505092915050565b6000612ba96127ec565b90506000612bc082846117fe90919063ffffffff16565b9050612c1481600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612b4190919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b612c7182600654612af790919063ffffffff16565b600681905550612c8c81600754612b4190919063ffffffff16565b6007819055505050565b600080600080612cc26064612cb4888a6117fe90919063ffffffff16565b61187890919063ffffffff16565b90506000612cec6064612cde888b6117fe90919063ffffffff16565b61187890919063ffffffff16565b90506000612d1582612d07858c612af790919063ffffffff16565b612af790919063ffffffff16565b905080838395509550955050505093509350939050565b600080600080612d4585896117fe90919063ffffffff16565b90506000612d5c86896117fe90919063ffffffff16565b90506000612d7387896117fe90919063ffffffff16565b90506000612d9c82612d8e8587612af790919063ffffffff16565b612af790919063ffffffff16565b9050838184965096509650505050509450945094915050565b6000604051905090565b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b612e1782612dce565b810181811067ffffffffffffffff82111715612e3657612e35612ddf565b5b80604052505050565b6000612e49612db5565b9050612e558282612e0e565b919050565b600067ffffffffffffffff821115612e7557612e74612ddf565b5b602082029050602081019050919050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612eb682612e8b565b9050919050565b612ec681612eab565b8114612ed157600080fd5b50565b600081359050612ee381612ebd565b92915050565b6000612efc612ef784612e5a565b612e3f565b90508083825260208201905060208402830185811115612f1f57612f1e612e86565b5b835b81811015612f485780612f348882612ed4565b845260208401935050602081019050612f21565b5050509392505050565b600082601f830112612f6757612f66612dc9565b5b8135612f77848260208601612ee9565b91505092915050565b600060208284031215612f9657612f95612dbf565b5b600082013567ffffffffffffffff811115612fb457612fb3612dc4565b5b612fc084828501612f52565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015613003578082015181840152602081019050612fe8565b83811115613012576000848401525b50505050565b600061302382612fc9565b61302d8185612fd4565b935061303d818560208601612fe5565b61304681612dce565b840191505092915050565b6000602082019050818103600083015261306b8184613018565b905092915050565b6000819050919050565b61308681613073565b811461309157600080fd5b50565b6000813590506130a38161307d565b92915050565b600080604083850312156130c0576130bf612dbf565b5b60006130ce85828601612ed4565b92505060206130df85828601613094565b9150509250929050565b60008115159050919050565b6130fe816130e9565b82525050565b600060208201905061311960008301846130f5565b92915050565b6000819050919050565b600061314461313f61313a84612e8b565b61311f565b612e8b565b9050919050565b600061315682613129565b9050919050565b60006131688261314b565b9050919050565b6131788161315d565b82525050565b6000602082019050613193600083018461316f565b92915050565b6131a281613073565b82525050565b60006020820190506131bd6000830184613199565b92915050565b6000806000606084860312156131dc576131db612dbf565b5b60006131ea86828701612ed4565b93505060206131fb86828701612ed4565b925050604061320c86828701613094565b9150509250925092565b600060ff82169050919050565b61322c81613216565b82525050565b60006020820190506132476000830184613223565b92915050565b61325681612eab565b82525050565b6000602082019050613271600083018461324d565b92915050565b6000806000806080858703121561329157613290612dbf565b5b600061329f87828801613094565b94505060206132b087828801613094565b93505060406132c187828801613094565b92505060606132d287828801613094565b91505092959194509250565b6000602082840312156132f4576132f3612dbf565b5b600061330284828501612ed4565b91505092915050565b613314816130e9565b811461331f57600080fd5b50565b6000813590506133318161330b565b92915050565b60006020828403121561334d5761334c612dbf565b5b600061335b84828501613322565b91505092915050565b60006020828403121561337a57613379612dbf565b5b600061338884828501613094565b91505092915050565b600080fd5b60008083601f8401126133ac576133ab612dc9565b5b8235905067ffffffffffffffff8111156133c9576133c8613391565b5b6020830191508360208202830111156133e5576133e4612e86565b5b9250929050565b60008060006040848603121561340557613404612dbf565b5b600084013567ffffffffffffffff81111561342357613422612dc4565b5b61342f86828701613396565b9350935050602061344286828701613322565b9150509250925092565b6000806040838503121561346357613462612dbf565b5b600061347185828601612ed4565b925050602061348285828601612ed4565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006134c2602083612fd4565b91506134cd8261348c565b602082019050919050565b600060208201905081810360008301526134f1816134b5565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061356182613073565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361359357613592613527565b5b600182019050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006135fa602683612fd4565b91506136058261359e565b604082019050919050565b60006020820190508181036000830152613629816135ed565b9050919050565b600061363b82613073565b915061364683613073565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561367f5761367e613527565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006136c482613073565b91506136cf83613073565b9250826136df576136de61368a565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000613746602183612fd4565b9150613751826136ea565b604082019050919050565b6000602082019050818103600083015261377581613739565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006137d8602483612fd4565b91506137e38261377c565b604082019050919050565b60006020820190508181036000830152613807816137cb565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600061386a602283612fd4565b91506138758261380e565b604082019050919050565b600060208201905081810360008301526138998161385d565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006138fc602583612fd4565b9150613907826138a0565b604082019050919050565b6000602082019050818103600083015261392b816138ef565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061398e602383612fd4565b915061399982613932565b604082019050919050565b600060208201905081810360008301526139bd81613981565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000613a20602983612fd4565b9150613a2b826139c4565b604082019050919050565b60006020820190508181036000830152613a4f81613a13565b9050919050565b7f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060008201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c656400602082015250565b6000613ab2603f83612fd4565b9150613abd82613a56565b604082019050919050565b60006020820190508181036000830152613ae181613aa5565b9050919050565b7f544f4b454e3a204d6178205472616e73616374696f6e204c696d697400000000600082015250565b6000613b1e601c83612fd4565b9150613b2982613ae8565b602082019050919050565b60006020820190508181036000830152613b4d81613b11565b9050919050565b7f544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c69737460008201527f6564210000000000000000000000000000000000000000000000000000000000602082015250565b6000613bb0602383612fd4565b9150613bbb82613b54565b604082019050919050565b60006020820190508181036000830152613bdf81613ba3565b9050919050565b6000613bf182613073565b9150613bfc83613073565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613c3157613c30613527565b5b828201905092915050565b7f544f4b454e3a2042616c616e636520657863656564732077616c6c657420736960008201527f7a65210000000000000000000000000000000000000000000000000000000000602082015250565b6000613c98602383612fd4565b9150613ca382613c3c565b604082019050919050565b60006020820190508181036000830152613cc781613c8b565b9050919050565b6000613cd982613073565b9150613ce483613073565b925082821015613cf757613cf6613527565b5b828203905092915050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b6000613d5e602a83612fd4565b9150613d6982613d02565b604082019050919050565b60006020820190508181036000830152613d8d81613d51565b9050919050565b600081519050613da381612ebd565b92915050565b600060208284031215613dbf57613dbe612dbf565b5b6000613dcd84828501613d94565b91505092915050565b6000819050919050565b6000613dfb613df6613df184613dd6565b61311f565b613073565b9050919050565b613e0b81613de0565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613e4681612eab565b82525050565b6000613e588383613e3d565b60208301905092915050565b6000602082019050919050565b6000613e7c82613e11565b613e868185613e1c565b9350613e9183613e2d565b8060005b83811015613ec2578151613ea98882613e4c565b9750613eb483613e64565b925050600181019050613e95565b5085935050505092915050565b600060a082019050613ee46000830188613199565b613ef16020830187613e02565b8181036040830152613f038186613e71565b9050613f12606083018561324d565b613f1f6080830184613199565b9695505050505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000613f5f601b83612fd4565b9150613f6a82613f29565b602082019050919050565b60006020820190508181036000830152613f8e81613f52565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220582cd3c43ddd21011942046f6a59bc610043f6ba38ca02114a3e1042c14f1b4d64736f6c634300080f0033
0x6080604052662386f26fc100006000196200001b9190620008eb565b6000196200002a919062000952565b60065560006009556004600a556000600b556004600c55600b54600d55600c54600e55600d54600f55600e5460105573f8b7f5d91689a7ef5bc36bef6a27795e1680cb68601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073f8b7f5d91689a7ef5bc36bef6a27795e1680cb68601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000601660156101000a81548160ff02191690831515021790555060016016806101000a81548160ff0219169083151502179055506200017661271062000162610118662386f26fc100006200074460201b620017fe1790919060201c565b620007c760201b620018781790919060201c565b601755620001b7612710620001a3610118662386f26fc100006200074460201b620017fe1790919060201c565b620007c760201b620018781790919060201c565b601855620001f7612710620001e36050662386f26fc100006200074460201b620017fe1790919060201c565b620007c760201b620018781790919060201c565b6019553480156200020757600080fd5b5060006200021a6200081960201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35060065460026000620002cf6200081960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000737a250d5630b4cf539739df2c5dacb4c659f2488d905080601560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620003b3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003d99190620009f7565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000441573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004679190620009f7565b6040518363ffffffff1660e01b81526004016200048692919062000a3a565b6020604051808303816000875af1158015620004a6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004cc9190620009f7565b601660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160056000620005226200082160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620006cf6200081960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef662386f26fc1000060405162000735919062000a78565b60405180910390a35062000c8e565b6000808303620007585760009050620007c1565b6000828462000768919062000a95565b905082848262000779919062000af6565b14620007bc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620007b39062000bb5565b60405180910390fd5b809150505b92915050565b60006200081183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506200084a60201b60201c565b905092915050565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000808311829062000894576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200088b919062000c6a565b60405180910390fd5b5060008385620008a5919062000af6565b9050809150509392505050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000620008f882620008b2565b91506200090583620008b2565b925082620009185762000917620008bc565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006200095f82620008b2565b91506200096c83620008b2565b92508282101562000982576200098162000923565b5b828203905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620009bf8262000992565b9050919050565b620009d181620009b2565b8114620009dd57600080fd5b50565b600081519050620009f181620009c6565b92915050565b60006020828403121562000a105762000a0f6200098d565b5b600062000a2084828501620009e0565b91505092915050565b62000a3481620009b2565b82525050565b600060408201905062000a51600083018562000a29565b62000a60602083018462000a29565b9392505050565b62000a7281620008b2565b82525050565b600060208201905062000a8f600083018462000a67565b92915050565b600062000aa282620008b2565b915062000aaf83620008b2565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000aeb5762000aea62000923565b5b828202905092915050565b600062000b0382620008b2565b915062000b1083620008b2565b92508262000b235762000b22620008bc565b5b828204905092915050565b600082825260208201905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b600062000b9d60218362000b2e565b915062000baa8262000b3f565b604082019050919050565b6000602082019050818103600083015262000bd08162000b8e565b9050919050565b600081519050919050565b60005b8381101562000c0257808201518184015260208101905062000be5565b8381111562000c12576000848401525b50505050565b6000601f19601f8301169050919050565b600062000c368262000bd7565b62000c42818562000b2e565b935062000c5481856020860162000be2565b62000c5f8162000c18565b840191505092915050565b6000602082019050818103600083015262000c86818462000c29565b905092915050565b613ff38062000c9e6000396000f3fe6080604052600436106101e65760003560e01c806374010ece11610102578063a9059cbb11610095578063d00efb2f11610064578063d00efb2f1461069e578063dd62ed3e146106c9578063ea1644d514610706578063f2fde38b1461072f576101ed565b8063a9059cbb146105e4578063bfd7928414610621578063c3c8cd801461065e578063c492f04614610675576101ed565b80638f9a55c0116100d15780638f9a55c01461053c57806395d89b411461056757806398a5c31514610592578063a2a957bb146105bb576101ed565b806374010ece146104945780637d1db4a5146104bd5780638da5cb5b146104e85780638f70ccf714610513576101ed565b806349bd5a5e1161017a5780636d8aa8f8116101495780636d8aa8f8146104005780636fc3eaec1461042957806370a0823114610440578063715018a61461047d576101ed565b806349bd5a5e1461036c5780635d5fe6981461039757806362256589146103c05780636b999053146103d7576101ed565b806318160ddd116101b657806318160ddd146102ae57806323b872dd146102d95780632fd689e314610316578063313ce56714610341576101ed565b8062b8cf2a146101f257806306fdde031461021b578063095ea7b3146102465780631694505e14610283576101ed565b366101ed57005b600080fd5b3480156101fe57600080fd5b5061021960048036038101906102149190612f80565b610758565b005b34801561022757600080fd5b50610230610882565b60405161023d9190613051565b60405180910390f35b34801561025257600080fd5b5061026d600480360381019061026891906130a9565b6108bf565b60405161027a9190613104565b60405180910390f35b34801561028f57600080fd5b506102986108dd565b6040516102a5919061317e565b60405180910390f35b3480156102ba57600080fd5b506102c3610903565b6040516102d091906131a8565b60405180910390f35b3480156102e557600080fd5b5061030060048036038101906102fb91906131c3565b610912565b60405161030d9190613104565b60405180910390f35b34801561032257600080fd5b5061032b6109eb565b60405161033891906131a8565b60405180910390f35b34801561034d57600080fd5b506103566109f1565b6040516103639190613232565b60405180910390f35b34801561037857600080fd5b506103816109fa565b60405161038e919061325c565b60405180910390f35b3480156103a357600080fd5b506103be60048036038101906103b99190613277565b610a20565b005b3480156103cc57600080fd5b506103d5610ad7565b005b3480156103e357600080fd5b506103fe60048036038101906103f991906132de565b610b8a565b005b34801561040c57600080fd5b5061042760048036038101906104229190613337565b610c7a565b005b34801561043557600080fd5b5061043e610d2b565b005b34801561044c57600080fd5b50610467600480360381019061046291906132de565b610dfc565b60405161047491906131a8565b60405180910390f35b34801561048957600080fd5b50610492610e4d565b005b3480156104a057600080fd5b506104bb60048036038101906104b69190613364565b610fa0565b005b3480156104c957600080fd5b506104d261103f565b6040516104df91906131a8565b60405180910390f35b3480156104f457600080fd5b506104fd611045565b60405161050a919061325c565b60405180910390f35b34801561051f57600080fd5b5061053a60048036038101906105359190613337565b61106e565b005b34801561054857600080fd5b50610551611127565b60405161055e91906131a8565b60405180910390f35b34801561057357600080fd5b5061057c61112d565b6040516105899190613051565b60405180910390f35b34801561059e57600080fd5b506105b960048036038101906105b49190613364565b61116a565b005b3480156105c757600080fd5b506105e260048036038101906105dd9190613277565b611209565b005b3480156105f057600080fd5b5061060b600480360381019061060691906130a9565b6112c0565b6040516106189190613104565b60405180910390f35b34801561062d57600080fd5b50610648600480360381019061064391906132de565b6112de565b6040516106559190613104565b60405180910390f35b34801561066a57600080fd5b506106736112fe565b005b34801561068157600080fd5b5061069c600480360381019061069791906133ec565b6113d7565b005b3480156106aa57600080fd5b506106b3611511565b6040516106c091906131a8565b60405180910390f35b3480156106d557600080fd5b506106f060048036038101906106eb919061344c565b611517565b6040516106fd91906131a8565b60405180910390f35b34801561071257600080fd5b5061072d60048036038101906107289190613364565b61159e565b005b34801561073b57600080fd5b50610756600480360381019061075191906132de565b61163d565b005b6107606118c2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107e4906134d8565b60405180910390fd5b60005b815181101561087e57600160116000848481518110610812576108116134f8565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061087690613556565b9150506107f0565b5050565b60606040518060400160405280600581526020017f494c6f414c000000000000000000000000000000000000000000000000000000815250905090565b60006108d36108cc6118c2565b84846118ca565b6001905092915050565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000662386f26fc10000905090565b600061091f848484611a93565b6109e08461092b6118c2565b6109db85604051806060016040528060288152602001613f9660289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006109916118c2565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123169092919063ffffffff16565b6118ca565b600190509392505050565b60195481565b60006009905090565b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610a286118c2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ab5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aac906134d8565b60405180910390fd5b8360098190555082600b8190555081600a8190555080600c8190555050505050565b610adf6118c2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b6c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b63906134d8565b60405180910390fd5b662386f26fc10000601781905550662386f26fc10000601881905550565b610b926118c2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c1f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c16906134d8565b60405180910390fd5b6000601160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b610c826118c2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d0f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d06906134d8565b60405180910390fd5b806016806101000a81548160ff02191690831515021790555050565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610d6c6118c2565b73ffffffffffffffffffffffffffffffffffffffff161480610de25750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610dca6118c2565b73ffffffffffffffffffffffffffffffffffffffff16145b610deb57600080fd5b6000479050610df98161237a565b50565b6000610e46600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612475565b9050919050565b610e556118c2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ee2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ed9906134d8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610fa86118c2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611035576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161102c906134d8565b60405180910390fd5b8060178190555050565b60175481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6110766118c2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611103576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110fa906134d8565b60405180910390fd5b80601660146101000a81548160ff0219169083151502179055504360088190555050565b60185481565b60606040518060400160405280600581526020017f494c6f414c000000000000000000000000000000000000000000000000000000815250905090565b6111726118c2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111f6906134d8565b60405180910390fd5b8060198190555050565b6112116118c2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461129e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611295906134d8565b60405180910390fd5b8360098190555082600b8190555081600a8190555080600c8190555050505050565b60006112d46112cd6118c2565b8484611a93565b6001905092915050565b60116020528060005260406000206000915054906101000a900460ff1681565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661133f6118c2565b73ffffffffffffffffffffffffffffffffffffffff1614806113b55750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661139d6118c2565b73ffffffffffffffffffffffffffffffffffffffff16145b6113be57600080fd5b60006113c930610dfc565b90506113d4816124e3565b50565b6113df6118c2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461146c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611463906134d8565b60405180910390fd5b60005b8383905081101561150b578160056000868685818110611492576114916134f8565b5b90506020020160208101906114a791906132de565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061150390613556565b91505061146f565b50505050565b60085481565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6115a66118c2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611633576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161162a906134d8565b60405180910390fd5b8060188190555050565b6116456118c2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146116d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116c9906134d8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611741576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161173890613610565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008083036118105760009050611872565b6000828461181e9190613630565b905082848261182d91906136b9565b1461186d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118649061375c565b60405180910390fd5b809150505b92915050565b60006118ba83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061275c565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611939576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611930906137ee565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036119a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161199f90613880565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611a8691906131a8565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611b02576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611af990613912565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611b71576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b68906139a4565b60405180910390fd5b60008111611bb4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bab90613a36565b60405180910390fd5b611bbc611045565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611c2a5750611bfa611045565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561201557601660149054906101000a900460ff16611cb957611c4b611045565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614611cb8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611caf90613ac8565b60405180910390fd5b5b601754811115611cfe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cf590613b34565b60405180910390fd5b601160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611da25750601160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b611de1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dd890613bc6565b60405180910390fd5b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614611e8e5760185481611e4384610dfc565b611e4d9190613be6565b10611e8d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e8490613cae565b60405180910390fd5b5b6000611e9930610dfc565b9050600060195482101590506017548210611eb45760175491505b808015611ece5750601660159054906101000a900460ff16155b8015611f285750601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b8015611f3e575060168054906101000a900460ff165b8015611f945750600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611fea5750600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561201257611ff8826124e3565b600047905060008111156120105761200f4761237a565b5b505b50505b600060019050600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806120bc5750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b8061216f5750601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561216e5750601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b5b1561217d5760009050612304565b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156122285750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561224057600954600d81905550600a54600e819055505b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156122eb5750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b1561230357600b54600d81905550600c54600e819055505b5b612310848484846127bf565b50505050565b600083831115829061235e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123559190613051565b60405180910390fd5b506000838561236d9190613cce565b9050809150509392505050565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6123ca60028461187890919063ffffffff16565b9081150290604051600060405180830381858888f193505050501580156123f5573d6000803e3d6000fd5b50601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc61244660028461187890919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015612471573d6000803e3d6000fd5b5050565b60006006548211156124bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124b390613d74565b60405180910390fd5b60006124c66127ec565b90506124db818461187890919063ffffffff16565b915050919050565b6001601660156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff81111561251b5761251a612ddf565b5b6040519080825280602002602001820160405280156125495781602001602082028036833780820191505090505b5090503081600081518110612561576125606134f8565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612608573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061262c9190613da9565b816001815181106126405761263f6134f8565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506126a730601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846118ca565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161270b959493929190613ecf565b600060405180830381600087803b15801561272557600080fd5b505af1158015612739573d6000803e3d6000fd5b50505050506000601660156101000a81548160ff02191690831515021790555050565b600080831182906127a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161279a9190613051565b60405180910390fd5b50600083856127b291906136b9565b9050809150509392505050565b806127cd576127cc612817565b5b6127d8848484612854565b806127e6576127e5612a1f565b5b50505050565b60008060006127f9612a33565b91509150612810818361187890919063ffffffff16565b9250505090565b6000600d5414801561282b57506000600e54145b61285257600d54600f81905550600e546010819055506000600d819055506000600e819055505b565b60008060008060008061286687612a8f565b9550955095509550955095506128c486600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612af790919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061295985600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612b4190919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506129a581612b9f565b6129af8483612c5c565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051612a0c91906131a8565b60405180910390a3505050505050505050565b600f54600d81905550601054600e81905550565b600080600060065490506000662386f26fc100009050612a65662386f26fc1000060065461187890919063ffffffff16565b821015612a8257600654662386f26fc10000935093505050612a8b565b81819350935050505b9091565b6000806000806000806000806000612aac8a600d54600e54612c96565b9250925092506000612abc6127ec565b90506000806000612acf8e878787612d2c565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b6000612b3983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612316565b905092915050565b6000808284612b509190613be6565b905083811015612b95576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b8c90613f75565b60405180910390fd5b8091505092915050565b6000612ba96127ec565b90506000612bc082846117fe90919063ffffffff16565b9050612c1481600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612b4190919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b612c7182600654612af790919063ffffffff16565b600681905550612c8c81600754612b4190919063ffffffff16565b6007819055505050565b600080600080612cc26064612cb4888a6117fe90919063ffffffff16565b61187890919063ffffffff16565b90506000612cec6064612cde888b6117fe90919063ffffffff16565b61187890919063ffffffff16565b90506000612d1582612d07858c612af790919063ffffffff16565b612af790919063ffffffff16565b905080838395509550955050505093509350939050565b600080600080612d4585896117fe90919063ffffffff16565b90506000612d5c86896117fe90919063ffffffff16565b90506000612d7387896117fe90919063ffffffff16565b90506000612d9c82612d8e8587612af790919063ffffffff16565b612af790919063ffffffff16565b9050838184965096509650505050509450945094915050565b6000604051905090565b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b612e1782612dce565b810181811067ffffffffffffffff82111715612e3657612e35612ddf565b5b80604052505050565b6000612e49612db5565b9050612e558282612e0e565b919050565b600067ffffffffffffffff821115612e7557612e74612ddf565b5b602082029050602081019050919050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612eb682612e8b565b9050919050565b612ec681612eab565b8114612ed157600080fd5b50565b600081359050612ee381612ebd565b92915050565b6000612efc612ef784612e5a565b612e3f565b90508083825260208201905060208402830185811115612f1f57612f1e612e86565b5b835b81811015612f485780612f348882612ed4565b845260208401935050602081019050612f21565b5050509392505050565b600082601f830112612f6757612f66612dc9565b5b8135612f77848260208601612ee9565b91505092915050565b600060208284031215612f9657612f95612dbf565b5b600082013567ffffffffffffffff811115612fb457612fb3612dc4565b5b612fc084828501612f52565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015613003578082015181840152602081019050612fe8565b83811115613012576000848401525b50505050565b600061302382612fc9565b61302d8185612fd4565b935061303d818560208601612fe5565b61304681612dce565b840191505092915050565b6000602082019050818103600083015261306b8184613018565b905092915050565b6000819050919050565b61308681613073565b811461309157600080fd5b50565b6000813590506130a38161307d565b92915050565b600080604083850312156130c0576130bf612dbf565b5b60006130ce85828601612ed4565b92505060206130df85828601613094565b9150509250929050565b60008115159050919050565b6130fe816130e9565b82525050565b600060208201905061311960008301846130f5565b92915050565b6000819050919050565b600061314461313f61313a84612e8b565b61311f565b612e8b565b9050919050565b600061315682613129565b9050919050565b60006131688261314b565b9050919050565b6131788161315d565b82525050565b6000602082019050613193600083018461316f565b92915050565b6131a281613073565b82525050565b60006020820190506131bd6000830184613199565b92915050565b6000806000606084860312156131dc576131db612dbf565b5b60006131ea86828701612ed4565b93505060206131fb86828701612ed4565b925050604061320c86828701613094565b9150509250925092565b600060ff82169050919050565b61322c81613216565b82525050565b60006020820190506132476000830184613223565b92915050565b61325681612eab565b82525050565b6000602082019050613271600083018461324d565b92915050565b6000806000806080858703121561329157613290612dbf565b5b600061329f87828801613094565b94505060206132b087828801613094565b93505060406132c187828801613094565b92505060606132d287828801613094565b91505092959194509250565b6000602082840312156132f4576132f3612dbf565b5b600061330284828501612ed4565b91505092915050565b613314816130e9565b811461331f57600080fd5b50565b6000813590506133318161330b565b92915050565b60006020828403121561334d5761334c612dbf565b5b600061335b84828501613322565b91505092915050565b60006020828403121561337a57613379612dbf565b5b600061338884828501613094565b91505092915050565b600080fd5b60008083601f8401126133ac576133ab612dc9565b5b8235905067ffffffffffffffff8111156133c9576133c8613391565b5b6020830191508360208202830111156133e5576133e4612e86565b5b9250929050565b60008060006040848603121561340557613404612dbf565b5b600084013567ffffffffffffffff81111561342357613422612dc4565b5b61342f86828701613396565b9350935050602061344286828701613322565b9150509250925092565b6000806040838503121561346357613462612dbf565b5b600061347185828601612ed4565b925050602061348285828601612ed4565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006134c2602083612fd4565b91506134cd8261348c565b602082019050919050565b600060208201905081810360008301526134f1816134b5565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061356182613073565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361359357613592613527565b5b600182019050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006135fa602683612fd4565b91506136058261359e565b604082019050919050565b60006020820190508181036000830152613629816135ed565b9050919050565b600061363b82613073565b915061364683613073565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561367f5761367e613527565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006136c482613073565b91506136cf83613073565b9250826136df576136de61368a565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000613746602183612fd4565b9150613751826136ea565b604082019050919050565b6000602082019050818103600083015261377581613739565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006137d8602483612fd4565b91506137e38261377c565b604082019050919050565b60006020820190508181036000830152613807816137cb565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600061386a602283612fd4565b91506138758261380e565b604082019050919050565b600060208201905081810360008301526138998161385d565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006138fc602583612fd4565b9150613907826138a0565b604082019050919050565b6000602082019050818103600083015261392b816138ef565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061398e602383612fd4565b915061399982613932565b604082019050919050565b600060208201905081810360008301526139bd81613981565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000613a20602983612fd4565b9150613a2b826139c4565b604082019050919050565b60006020820190508181036000830152613a4f81613a13565b9050919050565b7f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060008201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c656400602082015250565b6000613ab2603f83612fd4565b9150613abd82613a56565b604082019050919050565b60006020820190508181036000830152613ae181613aa5565b9050919050565b7f544f4b454e3a204d6178205472616e73616374696f6e204c696d697400000000600082015250565b6000613b1e601c83612fd4565b9150613b2982613ae8565b602082019050919050565b60006020820190508181036000830152613b4d81613b11565b9050919050565b7f544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c69737460008201527f6564210000000000000000000000000000000000000000000000000000000000602082015250565b6000613bb0602383612fd4565b9150613bbb82613b54565b604082019050919050565b60006020820190508181036000830152613bdf81613ba3565b9050919050565b6000613bf182613073565b9150613bfc83613073565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613c3157613c30613527565b5b828201905092915050565b7f544f4b454e3a2042616c616e636520657863656564732077616c6c657420736960008201527f7a65210000000000000000000000000000000000000000000000000000000000602082015250565b6000613c98602383612fd4565b9150613ca382613c3c565b604082019050919050565b60006020820190508181036000830152613cc781613c8b565b9050919050565b6000613cd982613073565b9150613ce483613073565b925082821015613cf757613cf6613527565b5b828203905092915050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b6000613d5e602a83612fd4565b9150613d6982613d02565b604082019050919050565b60006020820190508181036000830152613d8d81613d51565b9050919050565b600081519050613da381612ebd565b92915050565b600060208284031215613dbf57613dbe612dbf565b5b6000613dcd84828501613d94565b91505092915050565b6000819050919050565b6000613dfb613df6613df184613dd6565b61311f565b613073565b9050919050565b613e0b81613de0565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613e4681612eab565b82525050565b6000613e588383613e3d565b60208301905092915050565b6000602082019050919050565b6000613e7c82613e11565b613e868185613e1c565b9350613e9183613e2d565b8060005b83811015613ec2578151613ea98882613e4c565b9750613eb483613e64565b925050600181019050613e95565b5085935050505092915050565b600060a082019050613ee46000830188613199565b613ef16020830187613e02565b8181036040830152613f038186613e71565b9050613f12606083018561324d565b613f1f6080830184613199565b9695505050505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000613f5f601b83612fd4565b9150613f6a82613f29565b602082019050919050565b60006020820190508181036000830152613f8e81613f52565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220582cd3c43ddd21011942046f6a59bc610043f6ba38ca02114a3e1042c14f1b4d64736f6c634300080f0033