60a06040526000600b556000600c556001600d60006101000a81548160ff0219169083151502179055506000600d60016101000a81548160ff0219169083151502179055506000600d60026101000a81548160ff0219169083151502179055506001600f60006101000a81548160ff0219169083151502179055503480156200008757600080fd5b506040518060400160405280600981526020017f4e617364617153505800000000000000000000000000000000000000000000008152506040518060400160405280600481526020017f4e5350580000000000000000000000000000000000000000000000000000000081525081600390805190602001906200010c92919062000d37565b5080600490805190602001906200012592919062000d37565b50505060006200013a620005f660201b60201c565b905080600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3506000736d1d50d8fc68f9eb02cc57b8010d999be850c123905060006d14bdda612d475f467e401d3800009050606460038262000216919062000e20565b62000222919062000eb0565b6008819055506103e88162000238919062000eb0565b60098190555060646007826200024f919062000e20565b6200025b919062000eb0565b600a819055506000601181905550600060128190555060125460115462000283919062000ee8565b60108190555060006014819055506000601581905550601554601454620002ab919062000ee8565b601381905550736d1d50d8fc68f9eb02cc57b8010d999be850c123600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000737a250d5630b4cf539739df2c5dacb4c659f2488d905060008173ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156200036857600080fd5b505afa1580156200037d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003a3919062000faf565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308473ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200040657600080fd5b505afa1580156200041b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000441919062000faf565b6040518363ffffffff1660e01b81526004016200046092919062000ff2565b602060405180830381600087803b1580156200047b57600080fd5b505af115801562000490573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004b6919062000faf565b905081600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff168152505062000540816001620005fe60201b60201c565b62000553846001620006b160201b60201c565b62000566306001620006b160201b60201c565b6200057b61dead6001620006b160201b60201c565b6200058e846001620007fe60201b60201c565b620005a1306001620007fe60201b60201c565b620005b4826001620007fe60201b60201c565b620005c961dead6001620007fe60201b60201c565b620005db84846200094b60201b60201c565b620005ec8462000afa60201b60201c565b50505050620012eb565b600033905090565b80601c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620006678282620007fe60201b60201c565b8015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b620006c1620005f660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161462000753576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200074a9062001080565b60405180910390fd5b80601860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df782604051620007f29190620010bf565b60405180910390a25050565b6200080e620005f660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614620008a0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620008979062001080565b60405180910390fd5b80601960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f575f9d01836c9206322151b9e9ec3f2b77b87e71176933b9b44d2d732f768d95826040516200093f9190620010bf565b60405180910390a25050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415620009be576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620009b5906200112c565b60405180910390fd5b620009d26000838362000ccf60201b60201c565b620009ee8160025462000cd460201b62002a581790919060201c565b60028190555062000a4c816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205462000cd460201b62002a581790919060201c565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405162000aee91906200115f565b60405180910390a35050565b62000b0a620005f660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161462000b9c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000b939062001080565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141562000c0f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000c0690620011f2565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b505050565b600080828462000ce5919062000ee8565b90508381101562000d2d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000d249062001264565b60405180910390fd5b8091505092915050565b82805462000d4590620012b5565b90600052602060002090601f01602090048101928262000d69576000855562000db5565b82601f1062000d8457805160ff191683800117855562000db5565b8280016001018555821562000db5579182015b8281111562000db457825182559160200191906001019062000d97565b5b50905062000dc4919062000dc8565b5090565b5b8082111562000de357600081600090555060010162000dc9565b5090565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600062000e2d8262000de7565b915062000e3a8362000de7565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000e765762000e7562000df1565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600062000ebd8262000de7565b915062000eca8362000de7565b92508262000edd5762000edc62000e81565b5b828204905092915050565b600062000ef58262000de7565b915062000f028362000de7565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111562000f3a5762000f3962000df1565b5b828201905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000f778262000f4a565b9050919050565b62000f898162000f6a565b811462000f9557600080fd5b50565b60008151905062000fa98162000f7e565b92915050565b60006020828403121562000fc85762000fc762000f45565b5b600062000fd88482850162000f98565b91505092915050565b62000fec8162000f6a565b82525050565b600060408201905062001009600083018562000fe1565b62001018602083018462000fe1565b9392505050565b600082825260208201905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000620010686020836200101f565b9150620010758262001030565b602082019050919050565b600060208201905081810360008301526200109b8162001059565b9050919050565b60008115159050919050565b620010b981620010a2565b82525050565b6000602082019050620010d66000830184620010ae565b92915050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b600062001114601f836200101f565b91506200112182620010dc565b602082019050919050565b60006020820190508181036000830152620011478162001105565b9050919050565b620011598162000de7565b82525050565b60006020820190506200117660008301846200114e565b92915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000620011da6026836200101f565b9150620011e7826200117c565b604082019050919050565b600060208201905081810360008301526200120d81620011cb565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b60006200124c601b836200101f565b9150620012598262001214565b602082019050919050565b600060208201905081810360008301526200127f816200123d565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620012ce57607f821691505b60208210811415620012e557620012e462001286565b5b50919050565b608051615c1962001315600039600081816115b001528181611f6d015261313e0152615c196000f3fe6080604052600436106103545760003560e01c80637fa787ba116101c6578063c876d0b9116100f7578063e2f4560511610095578063ee40166e1161006f578063ee40166e14610c51578063f2fde38b14610c7c578063f8b45b0514610ca5578063fe575a8714610cd05761035b565b8063e2f4560514610bd0578063e7f444b314610bfb578063e884f26014610c265761035b565b8063ccb61358116100d1578063ccb6135814610b14578063d01dd6d214610b3f578063d0a3981414610b68578063dd62ed3e14610b935761035b565b8063c876d0b914610a95578063c8c8ebe414610ac0578063ca7b260714610aeb5761035b565b8063a457c2d711610164578063b9e937001161013e578063b9e93700146109ed578063bbc0c74214610a18578063c024666814610a43578063c18bc19514610a6c5761035b565b8063a457c2d714610936578063a9059cbb14610973578063b62496f5146109b05761035b565b80638da5cb5b116101a05780638da5cb5b1461088e578063924de9b7146108b957806395d89b41146108e25780639a7a23d61461090d5761035b565b80637fa787ba1461083557806380c1f2291461084c5780638a8c523c146108775761035b565b8063313ce567116102a0578063680789521161023e578063715018a611610218578063715018a61461079f578063751039fc146107b65780637571336a146107e157806375f0a8741461080a5761035b565b8063680789521461070c5780636ddd17131461073757806370a08231146107625761035b565b806349bd5a5e1161027a57806349bd5a5e146106505780634a62bb651461067b5780634fbee193146106a657806366ca9b83146106e35761035b565b8063313ce567146105bf57806339509351146105ea5780633f3539ef146106275761035b565b806310d5de531161030d5780631a8145bb116102e75780631a8145bb146105035780631e433c0d1461052e5780631f3fed8f1461055757806323b872dd146105825761035b565b806310d5de53146104705780631694505e146104ad57806318160ddd146104d85761035b565b806302dbd8f81461036057806306fdde0314610389578063095ea7b3146103b4578063099d0d30146103f15780630f4432e31461041c578063106b5da1146104475761035b565b3661035b57005b600080fd5b34801561036c57600080fd5b5061038760048036038101906103829190614457565b610d0d565b005b34801561039557600080fd5b5061039e610e12565b6040516103ab9190614530565b60405180910390f35b3480156103c057600080fd5b506103db60048036038101906103d691906145b0565b610ea4565b6040516103e8919061460b565b60405180910390f35b3480156103fd57600080fd5b50610406610ec2565b6040516104139190614635565b60405180910390f35b34801561042857600080fd5b50610431610ec8565b60405161043e9190614635565b60405180910390f35b34801561045357600080fd5b5061046e60048036038101906104699190614650565b610ece565b005b34801561047c57600080fd5b506104976004803603810190610492919061467d565b610ff6565b6040516104a4919061460b565b60405180910390f35b3480156104b957600080fd5b506104c2611016565b6040516104cf9190614709565b60405180910390f35b3480156104e457600080fd5b506104ed61103c565b6040516104fa9190614635565b60405180910390f35b34801561050f57600080fd5b50610518611046565b6040516105259190614635565b60405180910390f35b34801561053a57600080fd5b5061055560048036038101906105509190614750565b61104c565b005b34801561056357600080fd5b5061056c611156565b6040516105799190614635565b60405180910390f35b34801561058e57600080fd5b506105a960048036038101906105a4919061477d565b61115c565b6040516105b6919061460b565b60405180910390f35b3480156105cb57600080fd5b506105d4611235565b6040516105e191906147ec565b60405180910390f35b3480156105f657600080fd5b50610611600480360381019061060c91906145b0565b61123e565b60405161061e919061460b565b60405180910390f35b34801561063357600080fd5b5061064e60048036038101906106499190614650565b6112f1565b005b34801561065c57600080fd5b506106656115ae565b6040516106729190614816565b60405180910390f35b34801561068757600080fd5b506106906115d2565b60405161069d919061460b565b60405180910390f35b3480156106b257600080fd5b506106cd60048036038101906106c8919061467d565b6115e5565b6040516106da919061460b565b60405180910390f35b3480156106ef57600080fd5b5061070a60048036038101906107059190614457565b61163b565b005b34801561071857600080fd5b50610721611740565b60405161072e9190614635565b60405180910390f35b34801561074357600080fd5b5061074c611746565b604051610759919061460b565b60405180910390f35b34801561076e57600080fd5b506107896004803603810190610784919061467d565b611759565b6040516107969190614635565b60405180910390f35b3480156107ab57600080fd5b506107b46117a1565b005b3480156107c257600080fd5b506107cb6118f9565b6040516107d8919061460b565b60405180910390f35b3480156107ed57600080fd5b5061080860048036038101906108039190614831565b6119cf565b005b34801561081657600080fd5b5061081f611b0f565b60405161082c9190614816565b60405180910390f35b34801561084157600080fd5b5061084a611b35565b005b34801561085857600080fd5b50610861611c7b565b60405161086e919061460b565b60405180910390f35b34801561088357600080fd5b5061088c611c8e565b005b34801561089a57600080fd5b506108a3611d64565b6040516108b09190614816565b60405180910390f35b3480156108c557600080fd5b506108e060048036038101906108db9190614750565b611d8e565b005b3480156108ee57600080fd5b506108f7611e42565b6040516109049190614530565b60405180910390f35b34801561091957600080fd5b50610934600480360381019061092f9190614831565b611ed4565b005b34801561094257600080fd5b5061095d600480360381019061095891906145b0565b612008565b60405161096a919061460b565b60405180910390f35b34801561097f57600080fd5b5061099a600480360381019061099591906145b0565b6120d5565b6040516109a7919061460b565b60405180910390f35b3480156109bc57600080fd5b506109d760048036038101906109d2919061467d565b6120f3565b6040516109e4919061460b565b60405180910390f35b3480156109f957600080fd5b50610a02612113565b604051610a0f9190614635565b60405180910390f35b348015610a2457600080fd5b50610a2d612119565b604051610a3a919061460b565b60405180910390f35b348015610a4f57600080fd5b50610a6a6004803603810190610a659190614831565b61212c565b005b348015610a7857600080fd5b50610a936004803603810190610a8e9190614650565b61226c565b005b348015610aa157600080fd5b50610aaa612394565b604051610ab7919061460b565b60405180910390f35b348015610acc57600080fd5b50610ad56123a7565b604051610ae29190614635565b60405180910390f35b348015610af757600080fd5b50610b126004803603810190610b0d91906149b9565b6123ad565b005b348015610b2057600080fd5b50610b29612586565b604051610b369190614635565b60405180910390f35b348015610b4b57600080fd5b50610b666004803603810190610b619190614831565b61258c565b005b348015610b7457600080fd5b50610b7d612711565b604051610b8a9190614635565b60405180910390f35b348015610b9f57600080fd5b50610bba6004803603810190610bb59190614a15565b612717565b604051610bc79190614635565b60405180910390f35b348015610bdc57600080fd5b50610be561279e565b604051610bf29190614635565b60405180910390f35b348015610c0757600080fd5b50610c106127a4565b604051610c1d9190614635565b60405180910390f35b348015610c3257600080fd5b50610c3b6127aa565b604051610c48919061460b565b60405180910390f35b348015610c5d57600080fd5b50610c66612865565b604051610c739190614635565b60405180910390f35b348015610c8857600080fd5b50610ca36004803603810190610c9e919061467d565b61286b565b005b348015610cb157600080fd5b50610cba612a32565b604051610cc79190614635565b60405180910390f35b348015610cdc57600080fd5b50610cf76004803603810190610cf2919061467d565b612a38565b604051610d04919061460b565b60405180910390f35b610d15612ab6565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610da4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d9b90614aa1565b60405180910390fd5b8160118190555080601281905550601254601154610dc29190614af0565b60108190555060636010541115610e0e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e0590614b92565b60405180910390fd5b5050565b606060038054610e2190614be1565b80601f0160208091040260200160405190810160405280929190818152602001828054610e4d90614be1565b8015610e9a5780601f10610e6f57610100808354040283529160200191610e9a565b820191906000526020600020905b815481529060010190602001808311610e7d57829003601f168201915b5050505050905090565b6000610eb8610eb1612ab6565b8484612abe565b6001905092915050565b60125481565b600b5481565b610ed6612ab6565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f65576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f5c90614aa1565b60405180910390fd5b670de0b6b3a764000060c86001610f7a61103c565b610f849190614c13565b610f8e9190614c9c565b610f989190614c9c565b8111610fd9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fd090614d3f565b60405180910390fd5b670de0b6b3a764000081610fed9190614c13565b60088190555050565b60196020528060005260406000206000915054906101000a900460ff1681565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600254905090565b60175481565b611054612ab6565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146110e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110da90614aa1565b60405180910390fd5b801515601a60009054906101000a900460ff1615151415611139576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161113090614dd1565b60405180910390fd5b80601a60006101000a81548160ff02191690831515021790555050565b60165481565b6000611169848484612c89565b61122a84611175612ab6565b61122585604051806060016040528060288152602001615b9760289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006111db612ab6565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546139ba9092919063ffffffff16565b612abe565b600190509392505050565b60006012905090565b60006112e761124b612ab6565b846112e2856001600061125c612ab6565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612a5890919063ffffffff16565b612abe565b6001905092915050565b6112f9612ab6565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611388576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161137f90614aa1565b60405180910390fd5b6000600267ffffffffffffffff8111156113a5576113a4614876565b5b6040519080825280602002602001820160405280156113d35781602001602082028036833780820191505090505b509050600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561143e57600080fd5b505afa158015611452573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114769190614e06565b8160008151811061148a57611489614e33565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505030816001815181106114d9576114d8614e33565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b6f9de958360008461dead426040518663ffffffff1660e01b81526004016115789493929190614f5b565b6000604051808303818588803b15801561159157600080fd5b505af11580156115a5573d6000803e3d6000fd5b50505050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b600d60009054906101000a900460ff1681565b6000601860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b611643612ab6565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146116d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116c990614aa1565b60405180910390fd5b81601481905550806015819055506015546014546116f09190614af0565b6013819055506063601354111561173c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161173390614b92565b60405180910390fd5b5050565b60145481565b600d60029054906101000a900460ff1681565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6117a9612ab6565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611838576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161182f90614aa1565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000611903612ab6565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611992576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161198990614aa1565b60405180910390fd5b6000600d60006101000a81548160ff0219169083151502179055506000600f60006101000a81548160ff0219169083151502179055506001905090565b6119d7612ab6565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611a66576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a5d90614aa1565b60405180910390fd5b80601960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f575f9d01836c9206322151b9e9ec3f2b77b87e71176933b9b44d2d732f768d9582604051611b03919061460b565b60405180910390a25050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b611b3d612ab6565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611bcc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bc390614aa1565b60405180910390fd5b60003373ffffffffffffffffffffffffffffffffffffffff1647604051611bf290614fd8565b60006040518083038185875af1925050503d8060008114611c2f576040519150601f19603f3d011682016040523d82523d6000602084013e611c34565b606091505b5050905080611c78576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c6f90615039565b60405180910390fd5b50565b601a60009054906101000a900460ff1681565b611c96612ab6565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611d25576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d1c90614aa1565b60405180910390fd5b6001600d60016101000a81548160ff0219169083151502179055506001600d60026101000a81548160ff02191690831515021790555043600c81905550565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b611d96612ab6565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611e25576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e1c90614aa1565b60405180910390fd5b80600d60026101000a81548160ff02191690831515021790555050565b606060048054611e5190614be1565b80601f0160208091040260200160405190810160405280929190818152602001828054611e7d90614be1565b8015611eca5780601f10611e9f57610100808354040283529160200191611eca565b820191906000526020600020905b815481529060010190602001808311611ead57829003601f168201915b5050505050905090565b611edc612ab6565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611f6b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f6290614aa1565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611ffa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ff1906150f1565b60405180910390fd5b6120048282613a1e565b5050565b60006120cb612015612ab6565b846120c685604051806060016040528060258152602001615bbf602591396001600061203f612ab6565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546139ba9092919063ffffffff16565b612abe565b6001905092915050565b60006120e96120e2612ab6565b8484612c89565b6001905092915050565b601c6020528060005260406000206000915054906101000a900460ff1681565b60135481565b600d60019054906101000a900460ff1681565b612134612ab6565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146121c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121ba90614aa1565b60405180910390fd5b80601860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df782604051612260919061460b565b60405180910390a25050565b612274612ab6565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612303576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122fa90614aa1565b60405180910390fd5b670de0b6b3a76400006064600161231861103c565b6123229190614c13565b61232c9190614c9c565b6123369190614c9c565b8111612377576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161236e90615183565b60405180910390fd5b670de0b6b3a76400008161238b9190614c13565b600a8190555050565b600f60009054906101000a900460ff1681565b60085481565b6123b5612ab6565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612444576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161243b90614aa1565b60405180910390fd5b60005b825181101561258157601b600084838151811061246757612466614e33565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151582151514156124fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124f490615215565b60405180910390fd5b81601b600085848151811061251557612514614e33565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061257990615235565b915050612447565b505050565b60155481565b612594612ab6565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612623576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161261a90614aa1565b60405180910390fd5b601b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151581151514156126b6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126ad906152ca565b60405180910390fd5b80601b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60105481565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60095481565b60115481565b60006127b4612ab6565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612843576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161283a90614aa1565b60405180910390fd5b6000600f60006101000a81548160ff0219169083151502179055506001905090565b600c5481565b612873612ab6565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612902576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128f990614aa1565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415612972576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129699061535c565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600a5481565b601b6020528060005260406000206000915054906101000a900460ff1681565b6000808284612a679190614af0565b905083811015612aac576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612aa3906153c8565b60405180910390fd5b8091505092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612b2e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b259061545a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612b9e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b95906154ec565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051612c7c9190614635565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612cf9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612cf09061557e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612d69576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d6090615610565b60405180910390fd5b601a60009054906101000a900460ff161580612e255750601b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015612e245750601b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b5b612e64576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612e5b9061567c565b60405180910390fd5b6000811415612e7e57612e7983836000613ac9565b6139b5565b600d60019054906101000a900460ff16612f7357601860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680612f335750601860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b612f72576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612f69906156e8565b60405180910390fd5b5b600d60009054906101000a900460ff161561354357612f90611d64565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015612ffe5750612fce611d64565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156130375750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015613071575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561308a5750600660149054906101000a900460ff16155b1561354257600f60009054906101000a900460ff1615613259576130ac611d64565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141580156131355750600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561318d57507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156132585743600e60003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410613213576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161320a906157a0565b60405180910390fd5b43600e60003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5b601c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156132fc5750601960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156133a357600854811115613346576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161333d90615832565b60405180910390fd5b600a5461335283611759565b8261335d9190614af0565b111561339e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016133959061589e565b60405180910390fd5b613541565b601c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156134465750601960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561349557600854811115613490576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161348790615930565b60405180910390fd5b613540565b601960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661353f57600a546134f283611759565b826134fd9190614af0565b111561353e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016135359061589e565b60405180910390fd5b5b5b5b5b5b600061354e30611759565b9050600060095482101590508080156135735750600d60029054906101000a900460ff165b801561358c5750600660149054906101000a900460ff16155b80156135e25750601c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156136385750601860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b801561368e5750601860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156136d2576001600660146101000a81548160ff0219169083151502179055506136b6613d5e565b6000600660146101000a81548160ff0219169083151502179055505b6000600660149054906101000a900460ff16159050601860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806137885750601860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561379257600090505b600081156139a557601c60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156137f557506000601054115b1561388f57613822606461381460105488613f4390919063ffffffff16565b613fbe90919063ffffffff16565b9050601054601254826138359190614c13565b61383f9190614c9c565b601760008282546138509190614af0565b92505081905550601054601154826138689190614c13565b6138729190614c9c565b601660008282546138839190614af0565b92505081905550613981565b601c60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156138ea57506000601354115b1561398057613917606461390960135488613f4390919063ffffffff16565b613fbe90919063ffffffff16565b90506013546015548261392a9190614c13565b6139349190614c9c565b601760008282546139459190614af0565b925050819055506013546014548261395d9190614c13565b6139679190614c9c565b601660008282546139789190614af0565b925050819055505b5b600081111561399657613995873083613ac9565b5b80856139a29190615950565b94505b6139b0878787613ac9565b505050505b505050565b6000838311158290613a02576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016139f99190614530565b60405180910390fd5b5060008385613a119190615950565b9050809150509392505050565b80601c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550613a7f82826119cf565b8015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415613b39576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613b309061557e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415613ba9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613ba090615610565b60405180910390fd5b613bb4838383614008565b613c1f81604051806060016040528060268152602001615b71602691396000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546139ba9092919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613cb2816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612a5890919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051613d519190614635565b60405180910390a3505050565b6000613d6930611759565b9050600080601654601754613d7e9190614af0565b90506000831480613d8f5750600081145b15613d9c57505050613f41565b600060028260175486613daf9190614c13565b613db99190614c9c565b613dc39190614c9c565b90506000613dda828661400d90919063ffffffff16565b90506000479050613dea82614057565b6000613dff824761400d90919063ffffffff16565b90506000613e2a86613e1c60165485613f4390919063ffffffff16565b613fbe90919063ffffffff16565b905060008183613e3a9190615950565b905060006017819055506000601681905550600086118015613e5c5750600081115b15613ea957613e6b86826142a9565b7f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb5618582601754604051613ea093929190615984565b60405180910390a15b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1682604051613eef90614fd8565b60006040518083038185875af1925050503d8060008114613f2c576040519150601f19603f3d011682016040523d82523d6000602084013e613f31565b606091505b5050809850505050505050505050505b565b600080831415613f565760009050613fb8565b60008284613f649190614c13565b9050828482613f739190614c9c565b14613fb3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613faa90615a2d565b60405180910390fd5b809150505b92915050565b600061400083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506143aa565b905092915050565b505050565b600061404f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506139ba565b905092915050565b6000600267ffffffffffffffff81111561407457614073614876565b5b6040519080825280602002602001820160405280156140a25781602001602082028036833780820191505090505b50905030816000815181106140ba576140b9614e33565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561415c57600080fd5b505afa158015614170573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141949190614e06565b816001815181106141a8576141a7614e33565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061420f30600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684612abe565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401614273959493929190615a4d565b600060405180830381600087803b15801561428d57600080fd5b505af11580156142a1573d6000803e3d6000fd5b505050505050565b6142d630600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684612abe565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719823085600080736d1d50d8fc68f9eb02cc57b8010d999be850c123426040518863ffffffff1660e01b815260040161435196959493929190615aa7565b6060604051808303818588803b15801561436a57600080fd5b505af115801561437e573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906143a39190615b1d565b5050505050565b600080831182906143f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016143e89190614530565b60405180910390fd5b50600083856144009190614c9c565b9050809150509392505050565b6000604051905090565b600080fd5b600080fd5b6000819050919050565b61443481614421565b811461443f57600080fd5b50565b6000813590506144518161442b565b92915050565b6000806040838503121561446e5761446d614417565b5b600061447c85828601614442565b925050602061448d85828601614442565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b60005b838110156144d15780820151818401526020810190506144b6565b838111156144e0576000848401525b50505050565b6000601f19601f8301169050919050565b600061450282614497565b61450c81856144a2565b935061451c8185602086016144b3565b614525816144e6565b840191505092915050565b6000602082019050818103600083015261454a81846144f7565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061457d82614552565b9050919050565b61458d81614572565b811461459857600080fd5b50565b6000813590506145aa81614584565b92915050565b600080604083850312156145c7576145c6614417565b5b60006145d58582860161459b565b92505060206145e685828601614442565b9150509250929050565b60008115159050919050565b614605816145f0565b82525050565b600060208201905061462060008301846145fc565b92915050565b61462f81614421565b82525050565b600060208201905061464a6000830184614626565b92915050565b60006020828403121561466657614665614417565b5b600061467484828501614442565b91505092915050565b60006020828403121561469357614692614417565b5b60006146a18482850161459b565b91505092915050565b6000819050919050565b60006146cf6146ca6146c584614552565b6146aa565b614552565b9050919050565b60006146e1826146b4565b9050919050565b60006146f3826146d6565b9050919050565b614703816146e8565b82525050565b600060208201905061471e60008301846146fa565b92915050565b61472d816145f0565b811461473857600080fd5b50565b60008135905061474a81614724565b92915050565b60006020828403121561476657614765614417565b5b60006147748482850161473b565b91505092915050565b60008060006060848603121561479657614795614417565b5b60006147a48682870161459b565b93505060206147b58682870161459b565b92505060406147c686828701614442565b9150509250925092565b600060ff82169050919050565b6147e6816147d0565b82525050565b600060208201905061480160008301846147dd565b92915050565b61481081614572565b82525050565b600060208201905061482b6000830184614807565b92915050565b6000806040838503121561484857614847614417565b5b60006148568582860161459b565b92505060206148678582860161473b565b9150509250929050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6148ae826144e6565b810181811067ffffffffffffffff821117156148cd576148cc614876565b5b80604052505050565b60006148e061440d565b90506148ec82826148a5565b919050565b600067ffffffffffffffff82111561490c5761490b614876565b5b602082029050602081019050919050565b600080fd5b6000614935614930846148f1565b6148d6565b905080838252602082019050602084028301858111156149585761495761491d565b5b835b81811015614981578061496d888261459b565b84526020840193505060208101905061495a565b5050509392505050565b600082601f8301126149a05761499f614871565b5b81356149b0848260208601614922565b91505092915050565b600080604083850312156149d0576149cf614417565b5b600083013567ffffffffffffffff8111156149ee576149ed61441c565b5b6149fa8582860161498b565b9250506020614a0b8582860161473b565b9150509250929050565b60008060408385031215614a2c57614a2b614417565b5b6000614a3a8582860161459b565b9250506020614a4b8582860161459b565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000614a8b6020836144a2565b9150614a9682614a55565b602082019050919050565b60006020820190508181036000830152614aba81614a7e565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000614afb82614421565b9150614b0683614421565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115614b3b57614b3a614ac1565b5b828201905092915050565b7f4d757374206b656570206665657320617420393925206f72206c657373000000600082015250565b6000614b7c601d836144a2565b9150614b8782614b46565b602082019050919050565b60006020820190508181036000830152614bab81614b6f565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680614bf957607f821691505b60208210811415614c0d57614c0c614bb2565b5b50919050565b6000614c1e82614421565b9150614c2983614421565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615614c6257614c61614ac1565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000614ca782614421565b9150614cb283614421565b925082614cc257614cc1614c6d565b5b828204905092915050565b7f43616e6e6f7420736574206d61785472616e73616374696f6e416d6f756e742060008201527f6c6f776572207468616e20302c35250000000000000000000000000000000000602082015250565b6000614d29602f836144a2565b9150614d3482614ccd565b604082019050919050565b60006020820190508181036000830152614d5881614d1c565b9050919050565b7f426c61636b6c697374206d6f646520697320616c726561647920656e61626c6560008201527f6400000000000000000000000000000000000000000000000000000000000000602082015250565b6000614dbb6021836144a2565b9150614dc682614d5f565b604082019050919050565b60006020820190508181036000830152614dea81614dae565b9050919050565b600081519050614e0081614584565b92915050565b600060208284031215614e1c57614e1b614417565b5b6000614e2a84828501614df1565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000819050919050565b6000614e87614e82614e7d84614e62565b6146aa565b614421565b9050919050565b614e9781614e6c565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b614ed281614572565b82525050565b6000614ee48383614ec9565b60208301905092915050565b6000602082019050919050565b6000614f0882614e9d565b614f128185614ea8565b9350614f1d83614eb9565b8060005b83811015614f4e578151614f358882614ed8565b9750614f4083614ef0565b925050600181019050614f21565b5085935050505092915050565b6000608082019050614f706000830187614e8e565b8181036020830152614f828186614efd565b9050614f916040830185614807565b614f9e6060830184614626565b95945050505050565b600081905092915050565b50565b6000614fc2600083614fa7565b9150614fcd82614fb2565b600082019050919050565b6000614fe382614fb5565b9150819050919050565b7f6661696c656420746f2077697468647261770000000000000000000000000000600082015250565b60006150236012836144a2565b915061502e82614fed565b602082019050919050565b6000602082019050818103600083015261505281615016565b9050919050565b7f54686520556e695377617020706169722063616e6e6f742062652072656d6f7660008201527f65642066726f6d206175746f6d617465644d61726b65744d616b65725061697260208201527f7300000000000000000000000000000000000000000000000000000000000000604082015250565b60006150db6041836144a2565b91506150e682615059565b606082019050919050565b6000602082019050818103600083015261510a816150ce565b9050919050565b7f43616e6e6f7420736574206d617857616c6c6574206c6f776572207468616e2060008201527f3125000000000000000000000000000000000000000000000000000000000000602082015250565b600061516d6022836144a2565b915061517882615111565b604082019050919050565b6000602082019050818103600083015261519c81615160565b9050919050565b7f536f6d65206f66207468652076616c7565732061726520616c7265616479207360008201527f657420617320426c61636b6c6973746564000000000000000000000000000000602082015250565b60006151ff6031836144a2565b915061520a826151a3565b604082019050919050565b6000602082019050818103600083015261522e816151f2565b9050919050565b600061524082614421565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561527357615272614ac1565b5b600182019050919050565b7f57616c6c657420697320626c61636b6c697374656420616c7265616479000000600082015250565b60006152b4601d836144a2565b91506152bf8261527e565b602082019050919050565b600060208201905081810360008301526152e3816152a7565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006153466026836144a2565b9150615351826152ea565b604082019050919050565b6000602082019050818103600083015261537581615339565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b60006153b2601b836144a2565b91506153bd8261537c565b602082019050919050565b600060208201905081810360008301526153e1816153a5565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006154446024836144a2565b915061544f826153e8565b604082019050919050565b6000602082019050818103600083015261547381615437565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006154d66022836144a2565b91506154e18261547a565b604082019050919050565b60006020820190508181036000830152615505816154c9565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006155686025836144a2565b91506155738261550c565b604082019050919050565b600060208201905081810360008301526155978161555b565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006155fa6023836144a2565b91506156058261559e565b604082019050919050565b60006020820190508181036000830152615629816155ed565b9050919050565b7f426c61636b6c6973746564210000000000000000000000000000000000000000600082015250565b6000615666600c836144a2565b915061567182615630565b602082019050919050565b6000602082019050818103600083015261569581615659565b9050919050565b7f54726164696e67206973206e6f7420616374697665207965742e000000000000600082015250565b60006156d2601a836144a2565b91506156dd8261569c565b602082019050919050565b60006020820190508181036000830152615701816156c5565b9050919050565b7f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60008201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b60208201527f20616c6c6f7765642e0000000000000000000000000000000000000000000000604082015250565b600061578a6049836144a2565b915061579582615708565b606082019050919050565b600060208201905081810360008301526157b98161577d565b9050919050565b7f427579207472616e7366657220616d6f756e742065786365656473207468652060008201527f6d61785472616e73616374696f6e416d6f756e742e0000000000000000000000602082015250565b600061581c6035836144a2565b9150615827826157c0565b604082019050919050565b6000602082019050818103600083015261584b8161580f565b9050919050565b7f556e61626c6520746f20657863656564204d61782057616c6c65740000000000600082015250565b6000615888601b836144a2565b915061589382615852565b602082019050919050565b600060208201905081810360008301526158b78161587b565b9050919050565b7f53656c6c207472616e7366657220616d6f756e7420657863656564732074686560008201527f206d61785472616e73616374696f6e416d6f756e742e00000000000000000000602082015250565b600061591a6036836144a2565b9150615925826158be565b604082019050919050565b600060208201905081810360008301526159498161590d565b9050919050565b600061595b82614421565b915061596683614421565b92508282101561597957615978614ac1565b5b828203905092915050565b60006060820190506159996000830186614626565b6159a66020830185614626565b6159b36040830184614626565b949350505050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000615a176021836144a2565b9150615a22826159bb565b604082019050919050565b60006020820190508181036000830152615a4681615a0a565b9050919050565b600060a082019050615a626000830188614626565b615a6f6020830187614e8e565b8181036040830152615a818186614efd565b9050615a906060830185614807565b615a9d6080830184614626565b9695505050505050565b600060c082019050615abc6000830189614807565b615ac96020830188614626565b615ad66040830187614e8e565b615ae36060830186614e8e565b615af06080830185614807565b615afd60a0830184614626565b979650505050505050565b600081519050615b178161442b565b92915050565b600080600060608486031215615b3657615b35614417565b5b6000615b4486828701615b08565b9350506020615b5586828701615b08565b9250506040615b6686828701615b08565b915050925092509256fe45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122026cb26ed96f6d55ceef1eb17669c1f3453d349449a85043f2384abd336e5d7aa64736f6c63430008090033