0x6080604052604051806080016040528060428152602001620043e760429139600c90816200002e919062000484565b506040518060400160405280600581526020017f2e6a736f6e000000000000000000000000000000000000000000000000000000815250600d908162000075919062000484565b503480156200008357600080fd5b506040518060400160405280600781526020017f4f524947494e53000000000000000000000000000000000000000000000000008152506040518060400160405280600781526020017f4f524947494e5300000000000000000000000000000000000000000000000000815250816000908162000101919062000484565b50806001908162000113919062000484565b505050620001366200012a6200013c60201b60201c565b6200014460201b60201c565b6200056b565b600033905090565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200028c57607f821691505b602082108103620002a257620002a162000244565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026200030c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620002cd565b620003188683620002cd565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b6000620003656200035f620003598462000330565b6200033a565b62000330565b9050919050565b6000819050919050565b620003818362000344565b6200039962000390826200036c565b848454620002da565b825550505050565b600090565b620003b0620003a1565b620003bd81848462000376565b505050565b5b81811015620003e557620003d9600082620003a6565b600181019050620003c3565b5050565b601f8211156200043457620003fe81620002a8565b6200040984620002bd565b8101602085101562000419578190505b620004316200042885620002bd565b830182620003c2565b50505b505050565b600082821c905092915050565b6000620004596000198460080262000439565b1980831691505092915050565b600062000474838362000446565b9150826002028217905092915050565b6200048f826200020a565b67ffffffffffffffff811115620004ab57620004aa62000215565b5b620004b7825462000273565b620004c4828285620003e9565b600060209050601f831160018114620004fc5760008415620004e7578287015190505b620004f3858262000466565b86555062000563565b601f1984166200050c86620002a8565b60005b8281101562000536578489015182556001820191506020850194506020810190506200050f565b8683101562000556578489015162000552601f89168262000446565b8355505b6001600288020188555050505b505050505050565b613e6c806200057b6000396000f3fe60806040526004361061019c5760003560e01c8063715018a6116100ec578063c66828621161008a578063e086e5ec11610064578063e086e5ec146105cd578063e985e9c5146105e4578063f2fde38b14610621578063fe3165c71461064a5761019c565b8063c66828621461053a578063c87b56dd14610565578063d5abeb01146105a25761019c565b8063a0712d68116100c6578063a0712d68146104a1578063a22cb465146104bd578063b228d925146104e6578063b88d4fde146105115761019c565b8063715018a6146104345780638da5cb5b1461044b57806395d89b41146104765761019c565b80632f745c591161015957806355f804b31161013357806355f804b3146103665780636352211e1461038f5780636c0360eb146103cc57806370a08231146103f75761019c565b80632f745c59146102c357806342842e0e146103005780634f6ccce7146103295761019c565b806301ffc9a7146101a157806306fdde03146101de578063081812fc14610209578063095ea7b31461024657806318160ddd1461026f57806323b872dd1461029a575b600080fd5b3480156101ad57600080fd5b506101c860048036038101906101c391906126a4565b610675565b6040516101d591906126ec565b60405180910390f35b3480156101ea57600080fd5b506101f36106ef565b6040516102009190612797565b60405180910390f35b34801561021557600080fd5b50610230600480360381019061022b91906127ef565b610781565b60405161023d919061285d565b60405180910390f35b34801561025257600080fd5b5061026d600480360381019061026891906128a4565b6107c7565b005b34801561027b57600080fd5b506102846108de565b60405161029191906128f3565b60405180910390f35b3480156102a657600080fd5b506102c160048036038101906102bc919061290e565b6108eb565b005b3480156102cf57600080fd5b506102ea60048036038101906102e591906128a4565b61094b565b6040516102f791906128f3565b60405180910390f35b34801561030c57600080fd5b506103276004803603810190610322919061290e565b6109f0565b005b34801561033557600080fd5b50610350600480360381019061034b91906127ef565b610a10565b60405161035d91906128f3565b60405180910390f35b34801561037257600080fd5b5061038d60048036038101906103889190612a96565b610a81565b005b34801561039b57600080fd5b506103b660048036038101906103b191906127ef565b610a9c565b6040516103c3919061285d565b60405180910390f35b3480156103d857600080fd5b506103e1610b22565b6040516103ee9190612797565b60405180910390f35b34801561040357600080fd5b5061041e60048036038101906104199190612adf565b610bb0565b60405161042b91906128f3565b60405180910390f35b34801561044057600080fd5b50610449610c67565b005b34801561045757600080fd5b50610460610c7b565b60405161046d919061285d565b60405180910390f35b34801561048257600080fd5b5061048b610ca5565b6040516104989190612797565b60405180910390f35b6104bb60048036038101906104b691906127ef565b610d37565b005b3480156104c957600080fd5b506104e460048036038101906104df9190612b38565b610e7f565b005b3480156104f257600080fd5b506104fb610e95565b60405161050891906128f3565b60405180910390f35b34801561051d57600080fd5b5061053860048036038101906105339190612c19565b610e9a565b005b34801561054657600080fd5b5061054f610efc565b60405161055c9190612797565b60405180910390f35b34801561057157600080fd5b5061058c600480360381019061058791906127ef565b610f8a565b6040516105999190612797565b60405180910390f35b3480156105ae57600080fd5b506105b761105a565b6040516105c491906128f3565b60405180910390f35b3480156105d957600080fd5b506105e2611060565b005b3480156105f057600080fd5b5061060b60048036038101906106069190612c9c565b6110b1565b60405161061891906126ec565b60405180910390f35b34801561062d57600080fd5b5061064860048036038101906106439190612adf565b611145565b005b34801561065657600080fd5b5061065f6111c8565b60405161066c91906128f3565b60405180910390f35b60007f780e9d63000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806106e857506106e7826111d3565b5b9050919050565b6060600080546106fe90612d0b565b80601f016020809104026020016040519081016040528092919081815260200182805461072a90612d0b565b80156107775780601f1061074c57610100808354040283529160200191610777565b820191906000526020600020905b81548152906001019060200180831161075a57829003601f168201915b5050505050905090565b600061078c826112b5565b6004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b60006107d282610a9c565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610842576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161083990612dae565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16610861611300565b73ffffffffffffffffffffffffffffffffffffffff161480610890575061088f8161088a611300565b6110b1565b5b6108cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108c690612e40565b60405180910390fd5b6108d98383611308565b505050565b6000600880549050905090565b6108fc6108f6611300565b826113c1565b61093b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161093290612ed2565b60405180910390fd5b610946838383611456565b505050565b600061095683610bb0565b8210610997576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161098e90612f64565b60405180910390fd5b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002054905092915050565b610a0b83838360405180602001604052806000815250610e9a565b505050565b6000610a1a6108de565b8210610a5b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a5290612ff6565b60405180910390fd5b60088281548110610a6f57610a6e613016565b5b90600052602060002001549050919050565b610a8961174f565b80600c9081610a9891906131f1565b5050565b600080610aa8836117cd565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610b19576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b109061330f565b60405180910390fd5b80915050919050565b600c8054610b2f90612d0b565b80601f0160208091040260200160405190810160405280929190818152602001828054610b5b90612d0b565b8015610ba85780601f10610b7d57610100808354040283529160200191610ba8565b820191906000526020600020905b815481529060010190602001808311610b8b57829003601f168201915b505050505081565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610c20576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c17906133a1565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610c6f61174f565b610c79600061180a565b565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060018054610cb490612d0b565b80601f0160208091040260200160405190810160405280929190818152602001828054610ce090612d0b565b8015610d2d5780601f10610d0257610100808354040283529160200191610d2d565b820191906000526020600020905b815481529060010190602001808311610d1057829003601f168201915b5050505050905090565b61012c81610d436108de565b610d4d91906133f0565b1115610d8e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d8590613470565b60405180910390fd5b6005610d9933610bb0565b82610da491906133f0565b1115610de5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ddc906134dc565b60405180910390fd5b8066753d533d968000610df891906134fc565b341015610e3a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e319061358a565b60405180910390fd5b60005b81811015610e7b57610e4f600b6118d0565b6000610e5b600b6118e6565b9050610e6733826118f4565b508080610e73906135aa565b915050610e3d565b5050565b610e91610e8a611300565b8383611912565b5050565b600581565b610eab610ea5611300565b836113c1565b610eea576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ee190612ed2565b60405180910390fd5b610ef684848484611a7e565b50505050565b600d8054610f0990612d0b565b80601f0160208091040260200160405190810160405280929190818152602001828054610f3590612d0b565b8015610f825780601f10610f5757610100808354040283529160200191610f82565b820191906000526020600020905b815481529060010190602001808311610f6557829003601f168201915b505050505081565b6060610f9582611ada565b610fd4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fcb90613664565b60405180910390fd5b6000600c8054610fe390612d0b565b905011611025576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161101c906136d0565b60405180910390fd5b600c61103083611b1b565b600d604051602001611044939291906137fb565b6040516020818303038152906040529050919050565b61012c81565b61106861174f565b3373ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f193505050501580156110ae573d6000803e3d6000fd5b50565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b61114d61174f565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036111bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111b3906138a9565b60405180910390fd5b6111c58161180a565b50565b66753d533d96800081565b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061129e57507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806112ae57506112ad82611be9565b5b9050919050565b6112be81611ada565b6112fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112f49061330f565b60405180910390fd5b50565b600033905090565b816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff1661137b83610a9c565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000806113cd83610a9c565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148061140f575061140e81856110b1565b5b8061144d57508373ffffffffffffffffffffffffffffffffffffffff1661143584610781565b73ffffffffffffffffffffffffffffffffffffffff16145b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff1661147682610a9c565b73ffffffffffffffffffffffffffffffffffffffff16146114cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114c39061393b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361153b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611532906139cd565b60405180910390fd5b6115488383836001611c53565b8273ffffffffffffffffffffffffffffffffffffffff1661156882610a9c565b73ffffffffffffffffffffffffffffffffffffffff16146115be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115b59061393b565b60405180910390fd5b6004600082815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a461174a8383836001611db1565b505050565b611757611300565b73ffffffffffffffffffffffffffffffffffffffff16611775610c7b565b73ffffffffffffffffffffffffffffffffffffffff16146117cb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117c290613a39565b60405180910390fd5b565b60006002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6001816000016000828254019250508190555050565b600081600001549050919050565b61190e828260405180602001604052806000815250611db7565b5050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611980576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161197790613aa5565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051611a7191906126ec565b60405180910390a3505050565b611a89848484611456565b611a9584848484611e12565b611ad4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611acb90613b37565b60405180910390fd5b50505050565b60008073ffffffffffffffffffffffffffffffffffffffff16611afc836117cd565b73ffffffffffffffffffffffffffffffffffffffff1614159050919050565b606060006001611b2a84611f99565b01905060008167ffffffffffffffff811115611b4957611b4861296b565b5b6040519080825280601f01601f191660200182016040528015611b7b5781602001600182028036833780820191505090505b509050600082602001820190505b600115611bde578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a8581611bd257611bd1613b57565b5b04945060008503611b89575b819350505050919050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b611c5f848484846120ec565b6001811115611ca3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c9a90613bf8565b60405180910390fd5b6000829050600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1603611cea57611ce5816120f2565b611d29565b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614611d2857611d27858261213b565b5b5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611d6b57611d66816122a8565b611daa565b8473ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614611da957611da88482612379565b5b5b5050505050565b50505050565b611dc183836123f8565b611dce6000848484611e12565b611e0d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e0490613b37565b60405180910390fd5b505050565b6000611e338473ffffffffffffffffffffffffffffffffffffffff16612615565b15611f8c578373ffffffffffffffffffffffffffffffffffffffff1663150b7a02611e5c611300565b8786866040518563ffffffff1660e01b8152600401611e7e9493929190613c6d565b6020604051808303816000875af1925050508015611eba57506040513d601f19601f82011682018060405250810190611eb79190613cce565b60015b611f3c573d8060008114611eea576040519150601f19603f3d011682016040523d82523d6000602084013e611eef565b606091505b506000815103611f34576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f2b90613b37565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050611f91565b600190505b949350505050565b600080600090507a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310611ff7577a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008381611fed57611fec613b57565b5b0492506040810190505b6d04ee2d6d415b85acef81000000008310612034576d04ee2d6d415b85acef8100000000838161202a57612029613b57565b5b0492506020810190505b662386f26fc10000831061206357662386f26fc10000838161205957612058613b57565b5b0492506010810190505b6305f5e100831061208c576305f5e100838161208257612081613b57565b5b0492506008810190505b61271083106120b15761271083816120a7576120a6613b57565b5b0492506004810190505b606483106120d457606483816120ca576120c9613b57565b5b0492506002810190505b600a83106120e3576001810190505b80915050919050565b50505050565b6008805490506009600083815260200190815260200160002081905550600881908060018154018082558091505060019003906000526020600020016000909190919091505550565b6000600161214884610bb0565b6121529190613cfb565b9050600060076000848152602001908152602001600020549050818114612237576000600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002054905080600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002081905550816007600083815260200190815260200160002081905550505b6007600084815260200190815260200160002060009055600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008381526020019081526020016000206000905550505050565b600060016008805490506122bc9190613cfb565b90506000600960008481526020019081526020016000205490506000600883815481106122ec576122eb613016565b5b90600052602060002001549050806008838154811061230e5761230d613016565b5b90600052602060002001819055508160096000838152602001908152602001600020819055506009600085815260200190815260200160002060009055600880548061235d5761235c613d2f565b5b6001900381819060005260206000200160009055905550505050565b600061238483610bb0565b905081600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002081905550806007600084815260200190815260200160002081905550505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612467576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161245e90613daa565b60405180910390fd5b61247081611ada565b156124b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124a790613e16565b60405180910390fd5b6124be600083836001611c53565b6124c781611ada565b15612507576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124fe90613e16565b60405180910390fd5b6001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4612611600083836001611db1565b5050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6126818161264c565b811461268c57600080fd5b50565b60008135905061269e81612678565b92915050565b6000602082840312156126ba576126b9612642565b5b60006126c88482850161268f565b91505092915050565b60008115159050919050565b6126e6816126d1565b82525050565b600060208201905061270160008301846126dd565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612741578082015181840152602081019050612726565b60008484015250505050565b6000601f19601f8301169050919050565b600061276982612707565b6127738185612712565b9350612783818560208601612723565b61278c8161274d565b840191505092915050565b600060208201905081810360008301526127b1818461275e565b905092915050565b6000819050919050565b6127cc816127b9565b81146127d757600080fd5b50565b6000813590506127e9816127c3565b92915050565b60006020828403121561280557612804612642565b5b6000612813848285016127da565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006128478261281c565b9050919050565b6128578161283c565b82525050565b6000602082019050612872600083018461284e565b92915050565b6128818161283c565b811461288c57600080fd5b50565b60008135905061289e81612878565b92915050565b600080604083850312156128bb576128ba612642565b5b60006128c98582860161288f565b92505060206128da858286016127da565b9150509250929050565b6128ed816127b9565b82525050565b600060208201905061290860008301846128e4565b92915050565b60008060006060848603121561292757612926612642565b5b60006129358682870161288f565b93505060206129468682870161288f565b9250506040612957868287016127da565b9150509250925092565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6129a38261274d565b810181811067ffffffffffffffff821117156129c2576129c161296b565b5b80604052505050565b60006129d5612638565b90506129e1828261299a565b919050565b600067ffffffffffffffff821115612a0157612a0061296b565b5b612a0a8261274d565b9050602081019050919050565b82818337600083830152505050565b6000612a39612a34846129e6565b6129cb565b905082815260208101848484011115612a5557612a54612966565b5b612a60848285612a17565b509392505050565b600082601f830112612a7d57612a7c612961565b5b8135612a8d848260208601612a26565b91505092915050565b600060208284031215612aac57612aab612642565b5b600082013567ffffffffffffffff811115612aca57612ac9612647565b5b612ad684828501612a68565b91505092915050565b600060208284031215612af557612af4612642565b5b6000612b038482850161288f565b91505092915050565b612b15816126d1565b8114612b2057600080fd5b50565b600081359050612b3281612b0c565b92915050565b60008060408385031215612b4f57612b4e612642565b5b6000612b5d8582860161288f565b9250506020612b6e85828601612b23565b9150509250929050565b600067ffffffffffffffff821115612b9357612b9261296b565b5b612b9c8261274d565b9050602081019050919050565b6000612bbc612bb784612b78565b6129cb565b905082815260208101848484011115612bd857612bd7612966565b5b612be3848285612a17565b509392505050565b600082601f830112612c0057612bff612961565b5b8135612c10848260208601612ba9565b91505092915050565b60008060008060808587031215612c3357612c32612642565b5b6000612c418782880161288f565b9450506020612c528782880161288f565b9350506040612c63878288016127da565b925050606085013567ffffffffffffffff811115612c8457612c83612647565b5b612c9087828801612beb565b91505092959194509250565b60008060408385031215612cb357612cb2612642565b5b6000612cc18582860161288f565b9250506020612cd28582860161288f565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680612d2357607f821691505b602082108103612d3657612d35612cdc565b5b50919050565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b6000612d98602183612712565b9150612da382612d3c565b604082019050919050565b60006020820190508181036000830152612dc781612d8b565b9050919050565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60008201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000602082015250565b6000612e2a603d83612712565b9150612e3582612dce565b604082019050919050565b60006020820190508181036000830152612e5981612e1d565b9050919050565b7f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560008201527f72206f7220617070726f76656400000000000000000000000000000000000000602082015250565b6000612ebc602d83612712565b9150612ec782612e60565b604082019050919050565b60006020820190508181036000830152612eeb81612eaf565b9050919050565b7f455243373231456e756d657261626c653a206f776e657220696e646578206f7560008201527f74206f6620626f756e6473000000000000000000000000000000000000000000602082015250565b6000612f4e602b83612712565b9150612f5982612ef2565b604082019050919050565b60006020820190508181036000830152612f7d81612f41565b9050919050565b7f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60008201527f7574206f6620626f756e64730000000000000000000000000000000000000000602082015250565b6000612fe0602c83612712565b9150612feb82612f84565b604082019050919050565b6000602082019050818103600083015261300f81612fd3565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026130a77fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8261306a565b6130b1868361306a565b95508019841693508086168417925050509392505050565b6000819050919050565b60006130ee6130e96130e4846127b9565b6130c9565b6127b9565b9050919050565b6000819050919050565b613108836130d3565b61311c613114826130f5565b848454613077565b825550505050565b600090565b613131613124565b61313c8184846130ff565b505050565b5b8181101561316057613155600082613129565b600181019050613142565b5050565b601f8211156131a55761317681613045565b61317f8461305a565b8101602085101561318e578190505b6131a261319a8561305a565b830182613141565b50505b505050565b600082821c905092915050565b60006131c8600019846008026131aa565b1980831691505092915050565b60006131e183836131b7565b9150826002028217905092915050565b6131fa82612707565b67ffffffffffffffff8111156132135761321261296b565b5b61321d8254612d0b565b613228828285613164565b600060209050601f83116001811461325b5760008415613249578287015190505b61325385826131d5565b8655506132bb565b601f19841661326986613045565b60005b828110156132915784890151825560018201915060208501945060208101905061326c565b868310156132ae57848901516132aa601f8916826131b7565b8355505b6001600288020188555050505b505050505050565b7f4552433732313a20696e76616c696420746f6b656e2049440000000000000000600082015250565b60006132f9601883612712565b9150613304826132c3565b602082019050919050565b60006020820190508181036000830152613328816132ec565b9050919050565b7f4552433732313a2061646472657373207a65726f206973206e6f74206120766160008201527f6c6964206f776e65720000000000000000000000000000000000000000000000602082015250565b600061338b602983612712565b91506133968261332f565b604082019050919050565b600060208201905081810360008301526133ba8161337e565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006133fb826127b9565b9150613406836127b9565b925082820190508082111561341e5761341d6133c1565b5b92915050565b7f4d6178696d756d206c696d6974206f6620746f6b656e73206578636565646564600082015250565b600061345a602083612712565b915061346582613424565b602082019050919050565b600060208201905081810360008301526134898161344d565b9050919050565b7f4578636565646564206d6178696d756d206d696e742070657220757365720000600082015250565b60006134c6601e83612712565b91506134d182613490565b602082019050919050565b600060208201905081810360008301526134f5816134b9565b9050919050565b6000613507826127b9565b9150613512836127b9565b9250828202613520816127b9565b91508282048414831517613537576135366133c1565b5b5092915050565b7f4e6f7420656e6f756768204554482073656e7400000000000000000000000000600082015250565b6000613574601383612712565b915061357f8261353e565b602082019050919050565b600060208201905081810360008301526135a381613567565b9050919050565b60006135b5826127b9565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036135e7576135e66133c1565b5b600182019050919050565b7f4552433732314d657461646174613a2055524920717565727920666f72206e6f60008201527f6e6578697374656e7420746f6b656e0000000000000000000000000000000000602082015250565b600061364e602f83612712565b9150613659826135f2565b604082019050919050565b6000602082019050818103600083015261367d81613641565b9050919050565b7f496e76616c696420626173655552490000000000000000000000000000000000600082015250565b60006136ba600f83612712565b91506136c582613684565b602082019050919050565b600060208201905081810360008301526136e9816136ad565b9050919050565b600081905092915050565b6000815461370881612d0b565b61371281866136f0565b9450600182166000811461372d576001811461374257613775565b60ff1983168652811515820286019350613775565b61374b85613045565b60005b8381101561376d5781548189015260018201915060208101905061374e565b838801955050505b50505092915050565b7f2f00000000000000000000000000000000000000000000000000000000000000600082015250565b60006137b46001836136f0565b91506137bf8261377e565b600182019050919050565b60006137d582612707565b6137df81856136f0565b93506137ef818560208601612723565b80840191505092915050565b600061380782866136fb565b9150613812826137a7565b915061381e82856137ca565b915061382a82846136fb565b9150819050949350505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000613893602683612712565b915061389e82613837565b604082019050919050565b600060208201905081810360008301526138c281613886565b9050919050565b7f4552433732313a207472616e736665722066726f6d20696e636f72726563742060008201527f6f776e6572000000000000000000000000000000000000000000000000000000602082015250565b6000613925602583612712565b9150613930826138c9565b604082019050919050565b6000602082019050818103600083015261395481613918565b9050919050565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006139b7602483612712565b91506139c28261395b565b604082019050919050565b600060208201905081810360008301526139e6816139aa565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000613a23602083612712565b9150613a2e826139ed565b602082019050919050565b60006020820190508181036000830152613a5281613a16565b9050919050565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b6000613a8f601983612712565b9150613a9a82613a59565b602082019050919050565b60006020820190508181036000830152613abe81613a82565b9050919050565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b6000613b21603283612712565b9150613b2c82613ac5565b604082019050919050565b60006020820190508181036000830152613b5081613b14565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f455243373231456e756d657261626c653a20636f6e736563757469766520747260008201527f616e7366657273206e6f7420737570706f727465640000000000000000000000602082015250565b6000613be2603583612712565b9150613bed82613b86565b604082019050919050565b60006020820190508181036000830152613c1181613bd5565b9050919050565b600081519050919050565b600082825260208201905092915050565b6000613c3f82613c18565b613c498185613c23565b9350613c59818560208601612723565b613c628161274d565b840191505092915050565b6000608082019050613c82600083018761284e565b613c8f602083018661284e565b613c9c60408301856128e4565b8181036060830152613cae8184613c34565b905095945050505050565b600081519050613cc881612678565b92915050565b600060208284031215613ce457613ce3612642565b5b6000613cf284828501613cb9565b91505092915050565b6000613d06826127b9565b9150613d11836127b9565b9250828203905081811115613d2957613d286133c1565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b6000613d94602083612712565b9150613d9f82613d5e565b602082019050919050565b60006020820190508181036000830152613dc381613d87565b9050919050565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b6000613e00601c83612712565b9150613e0b82613dca565b602082019050919050565b60006020820190508181036000830152613e2f81613df3565b905091905056fea2646970667358221220b9427db908e682c6e8887fd00a6df09c50d8c260b7b2e497c73ae22dbbef337064736f6c63430008130033697066733a2f2f6261667962656966743777657670797467676e72686177646b33336d7a716a737771666479706435366e78746f687875776873356d646736616d34