6101606040527f22ceab5e60371dc5abc9a79b25c97c47affa931e95192909b0c481bbe2cc481a60001b600d556000600e60006101000a81548160ff02191690836004811115620000555762000054620005ec565b5b02179055506001608090815250600260a090815250664380663abb800060c09081525061177060e09081525060c861010090815250610af061012090815250610bb8610140908152506040518060400160405280600581526020017f2e6a736f6e000000000000000000000000000000000000000000000000000000815250600f9080519060200190620000eb9291906200053c565b506040518060200160405280600081525060109080519060200190620001139291906200053c565b503480156200012157600080fd5b5060405162005f1538038062005f15833981810160405281019062000147919062000685565b6040518060400160405280601281526020017f546f792041706520596163687420436c756200000000000000000000000000008152506040518060400160405280600481526020017f5441594300000000000000000000000000000000000000000000000000000000815250620001d3620001c76200029060201b60201c565b6200029860201b60201c565b8160039080519060200190620001eb9291906200053c565b508060049080519060200190620002049291906200053c565b50620002156200035c60201b60201c565b60018190555050506001600b8190555080600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620002896200027a6200036560201b60201c565b6102ee6200038e60201b60201c565b5062000837565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60006001905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6200039e6200053260201b60201c565b6bffffffffffffffffffffffff16816bffffffffffffffffffffffff161115620003ff576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620003f6906200073e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141562000472576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200046990620007b0565b60405180910390fd5b60405180604001604052808373ffffffffffffffffffffffffffffffffffffffff168152602001826bffffffffffffffffffffffff16815250600960008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160000160146101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff1602179055509050505050565b6000612710905090565b8280546200054a9062000801565b90600052602060002090601f0160209004810192826200056e5760008555620005ba565b82601f106200058957805160ff1916838001178555620005ba565b82800160010185558215620005ba579182015b82811115620005b95782518255916020019190600101906200059c565b5b509050620005c99190620005cd565b5090565b5b80821115620005e8576000816000905550600101620005ce565b5090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006200064d8262000620565b9050919050565b6200065f8162000640565b81146200066b57600080fd5b50565b6000815190506200067f8162000654565b92915050565b6000602082840312156200069e576200069d6200061b565b5b6000620006ae848285016200066e565b91505092915050565b600082825260208201905092915050565b7f455243323938313a20726f79616c7479206665652077696c6c2065786365656460008201527f2073616c65507269636500000000000000000000000000000000000000000000602082015250565b600062000726602a83620006b7565b91506200073382620006c8565b604082019050919050565b60006020820190508181036000830152620007598162000717565b9050919050565b7f455243323938313a20696e76616c696420726563656976657200000000000000600082015250565b600062000798601983620006b7565b9150620007a58262000760565b602082019050919050565b60006020820190508181036000830152620007cb8162000789565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200081a57607f821691505b60208210811415620008315762000830620007d2565b5b50919050565b60805160a05160c05160e051610100516101205161014051615628620008ed6000396000610c9601526000818161243b01528181612cf50152612e090152600081816118f50152818161209b0152818161241a0152612cd40152600081816117ed01528181611c82015261265c015260008181611c35015281816133c101526133f2015260008181611d3801528181611f5e015281816122dd0152612c0d015260008181611d5c015261339501526156286000f3fe60806040526004361061025c5760003560e01c8063715018a611610144578063ac0b434c116100b6578063defcbacb1161007a578063defcbacb146108ab578063e0b9e893146108d6578063e985e9c514610913578063f2fde38b14610950578063f607cc4c14610979578063f6847d2f146109955761025c565b8063ac0b434c146107ef578063b182e8181461080b578063b88d4fde14610827578063bf7b779c14610843578063c87b56dd1461086e5761025c565b8063902d55a511610108578063902d55a5146106dd57806395d89b4114610708578063975e840e1461073357806398710d1e1461075e5780639a9c1bb114610789578063a22cb465146107c65761025c565b8063715018a6146106305780637cb6475914610647578063853828b6146106705780638d859f3e146106875780638da5cb5b146106b25761025c565b80632a55205a116101dd57806342842e0e116101a157806342842e0e1461051b5780635033b633146105375780635503a0e81461056257806355f804b31461058d5780636352211e146105b657806370a08231146105f35761025c565b80632a55205a146104255780632e1a7d4d146104635780632e49d78b1461048c5780632fca0c6f146104b5578063355e71d8146104de5761025c565b8063174f08b811610224578063174f08b81461035f57806318160ddd1461038a5780631d80009a146103b557806323b872dd146103e0578063275193ce146103fc5761025c565b806301ffc9a714610261578063069824fb1461029e57806306fdde03146102db578063081812fc14610306578063095ea7b314610343575b600080fd5b34801561026d57600080fd5b5061028860048036038101906102839190613c06565b6109c0565b6040516102959190613c4e565b60405180910390f35b3480156102aa57600080fd5b506102c560048036038101906102c09190613df8565b6109f2565b6040516102d29190613c4e565b60405180910390f35b3480156102e757600080fd5b506102f0610a3f565b6040516102fd9190613ec9565b60405180910390f35b34801561031257600080fd5b5061032d60048036038101906103289190613f21565b610ad1565b60405161033a9190613f8f565b60405180910390f35b61035d60048036038101906103589190613fd6565b610b50565b005b34801561036b57600080fd5b50610374610c94565b6040516103819190614025565b60405180910390f35b34801561039657600080fd5b5061039f610cb8565b6040516103ac9190614025565b60405180910390f35b3480156103c157600080fd5b506103ca610ccf565b6040516103d7919061404f565b60405180910390f35b6103fa60048036038101906103f5919061406a565b610cd5565b005b34801561040857600080fd5b50610423600480360381019061041e9190614118565b610ffa565b005b34801561043157600080fd5b5061044c60048036038101906104479190614165565b611442565b60405161045a9291906141a5565b60405180910390f35b34801561046f57600080fd5b5061048a60048036038101906104859190613f21565b61162d565b005b34801561049857600080fd5b506104b360048036038101906104ae91906141f3565b6117a9565b005b3480156104c157600080fd5b506104dc60048036038101906104d7919061425a565b6117de565b005b3480156104ea57600080fd5b506105056004803603810190610500919061429a565b611873565b6040516105129190613c4e565b60405180910390f35b6105356004803603810190610530919061406a565b6118d3565b005b34801561054357600080fd5b5061054c6118f3565b6040516105599190614025565b60405180910390f35b34801561056e57600080fd5b50610577611917565b6040516105849190613ec9565b60405180910390f35b34801561059957600080fd5b506105b460048036038101906105af919061437c565b6119a5565b005b3480156105c257600080fd5b506105dd60048036038101906105d89190613f21565b6119c7565b6040516105ea9190613f8f565b60405180910390f35b3480156105ff57600080fd5b5061061a600480360381019061061591906143c5565b6119d9565b6040516106279190614025565b60405180910390f35b34801561063c57600080fd5b50610645611a92565b005b34801561065357600080fd5b5061066e600480360381019061066991906143f2565b611aa6565b005b34801561067c57600080fd5b50610685611ab8565b005b34801561069357600080fd5b5061069c611c33565b6040516106a99190614025565b60405180910390f35b3480156106be57600080fd5b506106c7611c57565b6040516106d49190613f8f565b60405180910390f35b3480156106e957600080fd5b506106f2611c80565b6040516106ff9190614025565b60405180910390f35b34801561071457600080fd5b5061071d611ca4565b60405161072a9190613ec9565b60405180910390f35b34801561073f57600080fd5b50610748611d36565b6040516107559190614025565b60405180910390f35b34801561076a57600080fd5b50610773611d5a565b6040516107809190614025565b60405180910390f35b34801561079557600080fd5b506107b060048036038101906107ab91906143c5565b611d7e565b6040516107bd9190614025565b60405180910390f35b3480156107d257600080fd5b506107ed60048036038101906107e8919061444b565b611d90565b005b6108096004803603810190610804919061429a565b611e9b565b005b6108256004803603810190610820919061448b565b61221a565b005b610841600480360381019061083c9190614588565b612520565b005b34801561084f57600080fd5b50610858612593565b6040516108659190614682565b60405180910390f35b34801561087a57600080fd5b5061089560048036038101906108909190613f21565b6125a6565b6040516108a29190613ec9565b60405180910390f35b3480156108b757600080fd5b506108c0612650565b6040516108cd9190614025565b60405180910390f35b3480156108e257600080fd5b506108fd60048036038101906108f891906143c5565b61268a565b60405161090a919061475b565b60405180910390f35b34801561091f57600080fd5b5061093a6004803603810190610935919061477d565b612a32565b6040516109479190613c4e565b60405180910390f35b34801561095c57600080fd5b50610977600480360381019061097291906143c5565b612ac6565b005b610993600480360381019061098e919061429a565b612b4a565b005b3480156109a157600080fd5b506109aa612e07565b6040516109b79190614025565b60405180910390f35b60006109cb82612e2b565b806109db57506109da82612ebd565b5b806109eb57506109ea82612ebd565b5b9050919050565b60008033604051602001610a069190614805565b60405160208183030381529060405290506000818051906020012090506000610a3285600d5484612f37565b9050809350505050919050565b606060038054610a4e9061484f565b80601f0160208091040260200160405190810160405280929190818152602001828054610a7a9061484f565b8015610ac75780601f10610a9c57610100808354040283529160200191610ac7565b820191906000526020600020905b815481529060010190602001808311610aaa57829003601f168201915b5050505050905090565b6000610adc82612f4e565b610b12576040517fcf4700e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6007600083815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000610b5b826119c7565b90508073ffffffffffffffffffffffffffffffffffffffff16610b7c612fad565b73ffffffffffffffffffffffffffffffffffffffff1614610bdf57610ba881610ba3612fad565b612a32565b610bde576040517fcfb3b94200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5b826007600084815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550818373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a4505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000610cc2612fb5565b6002546001540303905090565b600d5481565b6000610ce082612fbe565b90508373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610d47576040517fa114810000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080610d538461308c565b91509150610d698187610d64612fad565b6130b3565b610db557610d7e86610d79612fad565b612a32565b610db4576040517f59c896be00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161415610e1c576040517fea553b3400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610e2986868660016130f7565b8015610e3457600082555b600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600081546001900391905081905550600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000815460010191905081905550610f0285610ede8888876130fd565b7c020000000000000000000000000000000000000000000000000000000017613125565b600560008681526020019081526020016000208190555060007c020000000000000000000000000000000000000000000000000000000084161415610f8a576000600185019050600060056000838152602001908152602001600020541415610f88576001548114610f87578360056000838152602001908152602001600020819055505b5b505b838573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4610ff28686866001613150565b505050505050565b6002600b541415611040576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611037906148cd565b60405180910390fd5b6002600b819055506000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231336040518263ffffffff1660e01b81526004016110a59190613f8f565b60206040518083038186803b1580156110bd57600080fd5b505afa1580156110d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110f59190614902565b11611135576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161112c906149a1565b60405180910390fd5b6004808111156111485761114761460b565b5b600e60009054906101000a900460ff16600481111561116a5761116961460b565b5b146111aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111a190614a0d565b60405180910390fd5b600082829050116111f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111e790614a79565b60405180910390fd5b600080600090505b838390508161ffff1610156113df57600084848361ffff168181106112205761121f614a99565b5b9050602002016020810190611235919061429a565b61ffff161415801561134757503373ffffffffffffffffffffffffffffffffffffffff16600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636352211e86868561ffff168181106112ae576112ad614a99565b5b90506020020160208101906112c3919061429a565b6040518263ffffffff1660e01b81526004016112df9190614b03565b60206040518083038186803b1580156112f757600080fd5b505afa15801561130b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061132f9190614b33565b73ffffffffffffffffffffffffffffffffffffffff16145b8015611384575061138284848361ffff1681811061136857611367614a99565b5b905060200201602081019061137d919061429a565b611873565b155b156113cc576113bd84848361ffff168181106113a3576113a2614a99565b5b90506020020160208101906113b8919061429a565b613156565b81806113c890614b8f565b9250505b80806113d790614b8f565b9150506111f8565b5060008161ffff1611611427576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161141e90614c06565b60405180910390fd5b611435338261ffff166131bc565b506001600b819055505050565b6000806000600a60008681526020019081526020016000206040518060400160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016000820160149054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff166bffffffffffffffffffffffff16815250509050600073ffffffffffffffffffffffffffffffffffffffff16816000015173ffffffffffffffffffffffffffffffffffffffff1614156115d85760096040518060400160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016000820160149054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff166bffffffffffffffffffffffff168152505090505b60006115e26131da565b6bffffffffffffffffffffffff1682602001516bffffffffffffffffffffffff168661160e9190614c26565b6116189190614caf565b90508160000151819350935050509250929050565b6116356131e4565b6002600b54141561167b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611672906148cd565b60405180910390fd5b6002600b819055503373ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff16146116f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116e890614d2c565b60405180910390fd5b60003373ffffffffffffffffffffffffffffffffffffffff168260405161171790614d7d565b60006040518083038185875af1925050503d8060008114611754576040519150601f19603f3d011682016040523d82523d6000602084013e611759565b606091505b505090508061179d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161179490614dde565b60405180910390fd5b506001600b8190555050565b6117b16131e4565b80600e60006101000a81548160ff021916908360048111156117d6576117d561460b565b5b021790555050565b6117e66131e4565b8061ffff167f000000000000000000000000000000000000000000000000000000000000000081611815610cb8565b61181f9190614dfe565b1115611860576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161185790614ea0565b60405180910390fd5b61186e838361ffff166131bc565b505050565b600080610100836118849190614ec0565b61ffff16905060006101008461189a9190614ef1565b61ffff1690506000601183600c81106118b6576118b5614a99565b5b015490506000826001901b90508081831614945050505050919050565b6118ee83838360405180602001604052806000815250612520565b505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b600f80546119249061484f565b80601f01602080910402602001604051908101604052809291908181526020018280546119509061484f565b801561199d5780601f106119725761010080835404028352916020019161199d565b820191906000526020600020905b81548152906001019060200180831161198057829003601f168201915b505050505081565b6119ad6131e4565b80601090805190602001906119c3929190613af7565b5050565b60006119d282612fbe565b9050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611a41576040517f8f4eb60400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b67ffffffffffffffff600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054169050919050565b611a9a6131e4565b611aa46000613262565b565b611aae6131e4565b80600d8190555050565b611ac06131e4565b6002600b541415611b06576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611afd906148cd565b60405180910390fd5b6002600b819055503373ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff1614611b7c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b7390614d2c565b60405180910390fd5b60003373ffffffffffffffffffffffffffffffffffffffff1647604051611ba290614d7d565b60006040518083038185875af1925050503d8060008114611bdf576040519150601f19603f3d011682016040523d82523d6000602084013e611be4565b606091505b5050905080611c28576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c1f90614dde565b60405180910390fd5b506001600b81905550565b7f000000000000000000000000000000000000000000000000000000000000000081565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b606060048054611cb39061484f565b80601f0160208091040260200160405190810160405280929190818152602001828054611cdf9061484f565b8015611d2c5780601f10611d0157610100808354040283529160200191611d2c565b820191906000526020600020905b815481529060010190602001808311611d0f57829003601f168201915b5050505050905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000611d8982613326565b9050919050565b8060086000611d9d612fad565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff16611e4a612fad565b73ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051611e8f9190613c4e565b60405180910390a35050565b6002600b541415611ee1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ed8906148cd565b60405180910390fd5b6002600b819055503373ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff1614611f57576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f4e90614d2c565b60405180910390fd5b8061ffff167f000000000000000000000000000000000000000000000000000000000000000081611f8733613326565b611f919190614dfe565b1115611fd2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fc990614f6e565b60405180910390fd5b8161ffff16611fe1338261337d565b341015612023576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161201a90614fda565b60405180910390fd5b600160048111156120375761203661460b565b5b600e60009054906101000a900460ff1660048111156120595761205861460b565b5b14612099576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161209090615046565b60405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000008361ffff166120c7610cb8565b6120d19190614dfe565b1115612112576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612109906150d8565b60405180910390fd5b6000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231336040518263ffffffff1660e01b815260040161216f9190613f8f565b60206040518083038186803b15801561218757600080fd5b505afa15801561219b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121bf9190614902565b116121ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121f690615144565b60405180910390fd5b61220d338461ffff166131bc565b50506001600b8190555050565b6002600b541415612260576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612257906148cd565b60405180910390fd5b6002600b819055503373ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff16146122d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122cd90614d2c565b60405180910390fd5b8161ffff167f00000000000000000000000000000000000000000000000000000000000000008161230633613326565b6123109190614dfe565b1115612351576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161234890614f6e565b60405180910390fd5b8261ffff16612360338261337d565b3410156123a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161239990614fda565b60405180910390fd5b600260048111156123b6576123b561460b565b5b600e60009054906101000a900460ff1660048111156123d8576123d761460b565b5b14612418576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161240f90615046565b60405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006124649190614dfe565b8461ffff16612471610cb8565b61247b9190614dfe565b11156124bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124b3906150d8565b60405180910390fd5b6124c5836109f2565b612504576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124fb906151b0565b60405180910390fd5b612512338561ffff166131bc565b50506001600b819055505050565b61252b848484610cd5565b60008373ffffffffffffffffffffffffffffffffffffffff163b1461258d5761255684848484613425565b61258c576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5b50505050565b600e60009054906101000a900460ff1681565b60606125b182612f4e565b6125f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125e790615242565b60405180910390fd5b60006125fa613585565b9050600081511161261a5760405180602001604052806000815250612648565b8061262484613617565b600f60405160200161263893929190615332565b6040516020818303038152906040525b915050919050565b600061265a610cb8565b7f00000000000000000000000000000000000000000000000000000000000000006126859190615363565b905090565b60606000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231846040518263ffffffff1660e01b81526004016126e99190613f8f565b60206040518083038186803b15801561270157600080fd5b505afa158015612715573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127399190614902565b90506000811161277e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612775906149a1565b60405180910390fd5b6000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b1580156127e857600080fd5b505afa1580156127fc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128209190614902565b905060008267ffffffffffffffff81111561283e5761283d613c7f565b5b60405190808252806020026020018201604052801561286c5781602001602082028036833780820191505090505b509050600080600190505b838161ffff16116129c2578673ffffffffffffffffffffffffffffffffffffffff16600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636352211e836040518263ffffffff1660e01b81526004016128f49190614b03565b60206040518083038186803b15801561290c57600080fd5b505afa158015612920573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129449190614b33565b73ffffffffffffffffffffffffffffffffffffffff1614801561296d575061296b81611873565b155b156129af5780838361ffff168151811061298a57612989614a99565b5b602002602001019061ffff16908161ffff168152505081806129ab90614b8f565b9250505b80806129ba90614b8f565b915050612877565b506000826000815181106129d9576129d8614a99565b5b602002602001015161ffff161415612a26576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a1d90614c06565b60405180910390fd5b81945050505050919050565b6000600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b612ace6131e4565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415612b3e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b3590615409565b60405180910390fd5b612b4781613262565b50565b6002600b541415612b90576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b87906148cd565b60405180910390fd5b6002600b819055503373ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff1614612c06576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612bfd90614d2c565b60405180910390fd5b8061ffff167f000000000000000000000000000000000000000000000000000000000000000081612c3633613326565b612c409190614dfe565b1115612c81576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c7890614f6e565b60405180910390fd5b8161ffff16612c90338261337d565b341015612cd2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612cc990614fda565b60405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000612d1e9190614dfe565b8361ffff16612d2b610cb8565b612d359190614dfe565b1115612d76576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d6d90614ea0565b60405180910390fd5b60036004811115612d8a57612d8961460b565b5b600e60009054906101000a900460ff166004811115612dac57612dab61460b565b5b14612dec576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612de390615046565b60405180910390fd5b612dfa338461ffff166131bc565b50506001600b8190555050565b7f000000000000000000000000000000000000000000000000000000000000000081565b60006301ffc9a760e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480612e8657506380ac58cd60e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80612eb65750635b5e139f60e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b9050919050565b60007f2a55205a000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480612f305750612f2f82613778565b5b9050919050565b600082612f4485846137e2565b1490509392505050565b600081612f59612fb5565b11158015612f68575060015482105b8015612fa6575060007c0100000000000000000000000000000000000000000000000000000000600560008581526020019081526020016000205416145b9050919050565b600033905090565b60006001905090565b60008082905080612fcd612fb5565b11613055576001548110156130545760006005600083815260200190815260200160002054905060007c010000000000000000000000000000000000000000000000000000000082161415613052575b600081141561304857600560008360019003935083815260200190815260200160002054905061301d565b8092505050613087565b505b5b6040517fdf2d9b4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b919050565b60008060006007600085815260200190815260200160002090508092508254915050915091565b600073ffffffffffffffffffffffffffffffffffffffff8316925073ffffffffffffffffffffffffffffffffffffffff821691508382148383141790509392505050565b50505050565b60008060e883901c905060e8613114868684613838565b62ffffff16901b9150509392505050565b600073ffffffffffffffffffffffffffffffffffffffff83169250814260a01b178317905092915050565b50505050565b6000610100826131669190614ec0565b61ffff16905060006101008361317c9190614ef1565b61ffff169050806001901b601183600c811061319b5761319a614a99565b5b015417601183600c81106131b2576131b1614a99565b5b0181905550505050565b6131d6828260405180602001604052806000815250613841565b5050565b6000612710905090565b6131ec6138df565b73ffffffffffffffffffffffffffffffffffffffff1661320a611c57565b73ffffffffffffffffffffffffffffffffffffffff1614613260576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161325790615475565b60405180910390fd5b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600067ffffffffffffffff6040600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054901c169050919050565b600080600061338b85613326565b119050806133ef577f0000000000000000000000000000000000000000000000000000000000000000836133bf9190615363565b7f00000000000000000000000000000000000000000000000000000000000000006133ea9190614c26565b61341c565b827f000000000000000000000000000000000000000000000000000000000000000061341b9190614c26565b5b91505092915050565b60008373ffffffffffffffffffffffffffffffffffffffff1663150b7a0261344b612fad565b8786866040518563ffffffff1660e01b815260040161346d94939291906154ea565b602060405180830381600087803b15801561348757600080fd5b505af19250505080156134b857506040513d601f19601f820116820180604052508101906134b5919061554b565b60015b613532573d80600081146134e8576040519150601f19603f3d011682016040523d82523d6000602084013e6134ed565b606091505b5060008151141561352a576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050949350505050565b6060601080546135949061484f565b80601f01602080910402602001604051908101604052809291908181526020018280546135c09061484f565b801561360d5780601f106135e25761010080835404028352916020019161360d565b820191906000526020600020905b8154815290600101906020018083116135f057829003601f168201915b5050505050905090565b6060600082141561365f576040518060400160405280600181526020017f30000000000000000000000000000000000000000000000000000000000000008152509050613773565b600082905060005b6000821461369157808061367a90615578565b915050600a8261368a9190614caf565b9150613667565b60008167ffffffffffffffff8111156136ad576136ac613c7f565b5b6040519080825280601f01601f1916602001820160405280156136df5781602001600182028036833780820191505090505b5090505b6000851461376c576001826136f89190615363565b9150600a8561370791906155c1565b60306137139190614dfe565b60f81b81838151811061372957613728614a99565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a856137659190614caf565b94506136e3565b8093505050505b919050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b60008082905060005b845181101561382d576138188286838151811061380b5761380a614a99565b5b60200260200101516138e7565b9150808061382590615578565b9150506137eb565b508091505092915050565b60009392505050565b61384b8383613912565b60008373ffffffffffffffffffffffffffffffffffffffff163b146138da5760006001549050600083820390505b61388c6000868380600101945086613425565b6138c2576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8181106138795781600154146138d757600080fd5b50505b505050565b600033905090565b60008183106138ff576138fa8284613ad0565b61390a565b6139098383613ad0565b5b905092915050565b600060015490506000821415613954576040517fb562e8dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61396160008483856130f7565b600160406001901b178202600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055506139d8836139c960008660006130fd565b6139d285613ae7565b17613125565b6005600083815260200190815260200160002081905550600080838301905073ffffffffffffffffffffffffffffffffffffffff85169150828260007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600080a4600183015b818114613a7957808360007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600080a4600181019050613a3e565b506000821415613ab5576040517f2e07630000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b806001819055505050613acb6000848385613150565b505050565b600082600052816020526040600020905092915050565b60006001821460e11b9050919050565b828054613b039061484f565b90600052602060002090601f016020900481019282613b255760008555613b6c565b82601f10613b3e57805160ff1916838001178555613b6c565b82800160010185558215613b6c579182015b82811115613b6b578251825591602001919060010190613b50565b5b509050613b799190613b7d565b5090565b5b80821115613b96576000816000905550600101613b7e565b5090565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b613be381613bae565b8114613bee57600080fd5b50565b600081359050613c0081613bda565b92915050565b600060208284031215613c1c57613c1b613ba4565b5b6000613c2a84828501613bf1565b91505092915050565b60008115159050919050565b613c4881613c33565b82525050565b6000602082019050613c636000830184613c3f565b92915050565b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b613cb782613c6e565b810181811067ffffffffffffffff82111715613cd657613cd5613c7f565b5b80604052505050565b6000613ce9613b9a565b9050613cf58282613cae565b919050565b600067ffffffffffffffff821115613d1557613d14613c7f565b5b602082029050602081019050919050565b600080fd5b6000819050919050565b613d3e81613d2b565b8114613d4957600080fd5b50565b600081359050613d5b81613d35565b92915050565b6000613d74613d6f84613cfa565b613cdf565b90508083825260208201905060208402830185811115613d9757613d96613d26565b5b835b81811015613dc05780613dac8882613d4c565b845260208401935050602081019050613d99565b5050509392505050565b600082601f830112613ddf57613dde613c69565b5b8135613def848260208601613d61565b91505092915050565b600060208284031215613e0e57613e0d613ba4565b5b600082013567ffffffffffffffff811115613e2c57613e2b613ba9565b5b613e3884828501613dca565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015613e7b578082015181840152602081019050613e60565b83811115613e8a576000848401525b50505050565b6000613e9b82613e41565b613ea58185613e4c565b9350613eb5818560208601613e5d565b613ebe81613c6e565b840191505092915050565b60006020820190508181036000830152613ee38184613e90565b905092915050565b6000819050919050565b613efe81613eeb565b8114613f0957600080fd5b50565b600081359050613f1b81613ef5565b92915050565b600060208284031215613f3757613f36613ba4565b5b6000613f4584828501613f0c565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000613f7982613f4e565b9050919050565b613f8981613f6e565b82525050565b6000602082019050613fa46000830184613f80565b92915050565b613fb381613f6e565b8114613fbe57600080fd5b50565b600081359050613fd081613faa565b92915050565b60008060408385031215613fed57613fec613ba4565b5b6000613ffb85828601613fc1565b925050602061400c85828601613f0c565b9150509250929050565b61401f81613eeb565b82525050565b600060208201905061403a6000830184614016565b92915050565b61404981613d2b565b82525050565b60006020820190506140646000830184614040565b92915050565b60008060006060848603121561408357614082613ba4565b5b600061409186828701613fc1565b93505060206140a286828701613fc1565b92505060406140b386828701613f0c565b9150509250925092565b600080fd5b60008083601f8401126140d8576140d7613c69565b5b8235905067ffffffffffffffff8111156140f5576140f46140bd565b5b60208301915083602082028301111561411157614110613d26565b5b9250929050565b6000806020838503121561412f5761412e613ba4565b5b600083013567ffffffffffffffff81111561414d5761414c613ba9565b5b614159858286016140c2565b92509250509250929050565b6000806040838503121561417c5761417b613ba4565b5b600061418a85828601613f0c565b925050602061419b85828601613f0c565b9150509250929050565b60006040820190506141ba6000830185613f80565b6141c76020830184614016565b9392505050565b600581106141db57600080fd5b50565b6000813590506141ed816141ce565b92915050565b60006020828403121561420957614208613ba4565b5b6000614217848285016141de565b91505092915050565b600061ffff82169050919050565b61423781614220565b811461424257600080fd5b50565b6000813590506142548161422e565b92915050565b6000806040838503121561427157614270613ba4565b5b600061427f85828601613fc1565b925050602061429085828601614245565b9150509250929050565b6000602082840312156142b0576142af613ba4565b5b60006142be84828501614245565b91505092915050565b600080fd5b600067ffffffffffffffff8211156142e7576142e6613c7f565b5b6142f082613c6e565b9050602081019050919050565b82818337600083830152505050565b600061431f61431a846142cc565b613cdf565b90508281526020810184848401111561433b5761433a6142c7565b5b6143468482856142fd565b509392505050565b600082601f83011261436357614362613c69565b5b813561437384826020860161430c565b91505092915050565b60006020828403121561439257614391613ba4565b5b600082013567ffffffffffffffff8111156143b0576143af613ba9565b5b6143bc8482850161434e565b91505092915050565b6000602082840312156143db576143da613ba4565b5b60006143e984828501613fc1565b91505092915050565b60006020828403121561440857614407613ba4565b5b600061441684828501613d4c565b91505092915050565b61442881613c33565b811461443357600080fd5b50565b6000813590506144458161441f565b92915050565b6000806040838503121561446257614461613ba4565b5b600061447085828601613fc1565b925050602061448185828601614436565b9150509250929050565b600080604083850312156144a2576144a1613ba4565b5b60006144b085828601614245565b925050602083013567ffffffffffffffff8111156144d1576144d0613ba9565b5b6144dd85828601613dca565b9150509250929050565b600067ffffffffffffffff82111561450257614501613c7f565b5b61450b82613c6e565b9050602081019050919050565b600061452b614526846144e7565b613cdf565b905082815260208101848484011115614547576145466142c7565b5b6145528482856142fd565b509392505050565b600082601f83011261456f5761456e613c69565b5b813561457f848260208601614518565b91505092915050565b600080600080608085870312156145a2576145a1613ba4565b5b60006145b087828801613fc1565b94505060206145c187828801613fc1565b93505060406145d287828801613f0c565b925050606085013567ffffffffffffffff8111156145f3576145f2613ba9565b5b6145ff8782880161455a565b91505092959194509250565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6005811061464b5761464a61460b565b5b50565b600081905061465c8261463a565b919050565b600061466c8261464e565b9050919050565b61467c81614661565b82525050565b60006020820190506146976000830184614673565b92915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6146d281614220565b82525050565b60006146e483836146c9565b60208301905092915050565b6000602082019050919050565b60006147088261469d565b61471281856146a8565b935061471d836146b9565b8060005b8381101561474e57815161473588826146d8565b9750614740836146f0565b925050600181019050614721565b5085935050505092915050565b6000602082019050818103600083015261477581846146fd565b905092915050565b6000806040838503121561479457614793613ba4565b5b60006147a285828601613fc1565b92505060206147b385828601613fc1565b9150509250929050565b60008160601b9050919050565b60006147d5826147bd565b9050919050565b60006147e7826147ca565b9050919050565b6147ff6147fa82613f6e565b6147dc565b82525050565b600061481182846147ee565b60148201915081905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061486757607f821691505b6020821081141561487b5761487a614820565b5b50919050565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00600082015250565b60006148b7601f83613e4c565b91506148c282614881565b602082019050919050565b600060208201905081810360008301526148e6816148aa565b9050919050565b6000815190506148fc81613ef5565b92915050565b60006020828403121561491857614917613ba4565b5b6000614926848285016148ed565b91505092915050565b7f4164647265737320646f6573206e6f74206f776e20616e7920546f796269726460008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b600061498b602183613e4c565b91506149968261492f565b604082019050919050565b600060208201905081810360008301526149ba8161497e565b9050919050565b7f436c61696d206973206e6f74206163746976652e000000000000000000000000600082015250565b60006149f7601483613e4c565b9150614a02826149c1565b602082019050919050565b60006020820190508181036000830152614a26816149ea565b9050919050565b7f4e6f2049447320676976656e0000000000000000000000000000000000000000600082015250565b6000614a63600c83613e4c565b9150614a6e82614a2d565b602082019050919050565b60006020820190508181036000830152614a9281614a56565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000819050919050565b6000614aed614ae8614ae384614220565b614ac8565b613eeb565b9050919050565b614afd81614ad2565b82525050565b6000602082019050614b186000830184614af4565b92915050565b600081519050614b2d81613faa565b92915050565b600060208284031215614b4957614b48613ba4565b5b6000614b5784828501614b1e565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000614b9a82614220565b915061ffff821415614baf57614bae614b60565b5b600182019050919050565b7f4e6f20746f6b656e7320746f20636c61696d0000000000000000000000000000600082015250565b6000614bf0601283613e4c565b9150614bfb82614bba565b602082019050919050565b60006020820190508181036000830152614c1f81614be3565b9050919050565b6000614c3182613eeb565b9150614c3c83613eeb565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615614c7557614c74614b60565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000614cba82613eeb565b9150614cc583613eeb565b925082614cd557614cd4614c80565b5b828204905092915050565b7f496e76616c696420557365720000000000000000000000000000000000000000600082015250565b6000614d16600c83613e4c565b9150614d2182614ce0565b602082019050919050565b60006020820190508181036000830152614d4581614d09565b9050919050565b600081905092915050565b50565b6000614d67600083614d4c565b9150614d7282614d57565b600082019050919050565b6000614d8882614d5a565b9150819050919050565b7f5472616e73666572206661696c65642e00000000000000000000000000000000600082015250565b6000614dc8601083613e4c565b9150614dd382614d92565b602082019050919050565b60006020820190508181036000830152614df781614dbb565b9050919050565b6000614e0982613eeb565b9150614e1483613eeb565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115614e4957614e48614b60565b5b828201905092915050565b7f4d617820737570706c7920726561636865640000000000000000000000000000600082015250565b6000614e8a601283613e4c565b9150614e9582614e54565b602082019050919050565b60006020820190508181036000830152614eb981614e7d565b9050919050565b6000614ecb82614220565b9150614ed683614220565b925082614ee657614ee5614c80565b5b828204905092915050565b6000614efc82614220565b9150614f0783614220565b925082614f1757614f16614c80565b5b828206905092915050565b7f4578636565646564207478206c696d6974000000000000000000000000000000600082015250565b6000614f58601183613e4c565b9150614f6382614f22565b602082019050919050565b60006020820190508181036000830152614f8781614f4b565b9050919050565b7f496e73756666696369656e742066756e64730000000000000000000000000000600082015250565b6000614fc4601283613e4c565b9150614fcf82614f8e565b602082019050919050565b60006020820190508181036000830152614ff381614fb7565b9050919050565b7f4e6f7420696e2077686974656c697374206d696e742073746167650000000000600082015250565b6000615030601b83613e4c565b915061503b82614ffa565b602082019050919050565b6000602082019050818103600083015261505f81615023565b9050919050565b7f4d61782077686974656c697374206d696e7420737570706c792072656163686560008201527f6400000000000000000000000000000000000000000000000000000000000000602082015250565b60006150c2602183613e4c565b91506150cd82615066565b604082019050919050565b600060208201905081810360008301526150f1816150b5565b9050919050565b7f4e6f74206120546f79626972647320686f6c6465720000000000000000000000600082015250565b600061512e601583613e4c565b9150615139826150f8565b602082019050919050565b6000602082019050818103600083015261515d81615121565b9050919050565b7f496e76616c69642050726f6f6600000000000000000000000000000000000000600082015250565b600061519a600d83613e4c565b91506151a582615164565b602082019050919050565b600060208201905081810360008301526151c98161518d565b9050919050565b7f4552433732314d657461646174613a2055524920717565727920666f72206e6f60008201527f6e6578697374656e7420746f6b656e0000000000000000000000000000000000602082015250565b600061522c602f83613e4c565b9150615237826151d0565b604082019050919050565b6000602082019050818103600083015261525b8161521f565b9050919050565b600081905092915050565b600061527882613e41565b6152828185615262565b9350615292818560208601613e5d565b80840191505092915050565b60008190508160005260206000209050919050565b600081546152c08161484f565b6152ca8186615262565b945060018216600081146152e557600181146152f657615329565b60ff19831686528186019350615329565b6152ff8561529e565b60005b8381101561532157815481890152600182019150602081019050615302565b838801955050505b50505092915050565b600061533e828661526d565b915061534a828561526d565b915061535682846152b3565b9150819050949350505050565b600061536e82613eeb565b915061537983613eeb565b92508282101561538c5761538b614b60565b5b828203905092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006153f3602683613e4c565b91506153fe82615397565b604082019050919050565b60006020820190508181036000830152615422816153e6565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061545f602083613e4c565b915061546a82615429565b602082019050919050565b6000602082019050818103600083015261548e81615452565b9050919050565b600081519050919050565b600082825260208201905092915050565b60006154bc82615495565b6154c681856154a0565b93506154d6818560208601613e5d565b6154df81613c6e565b840191505092915050565b60006080820190506154ff6000830187613f80565b61550c6020830186613f80565b6155196040830185614016565b818103606083015261552b81846154b1565b905095945050505050565b60008151905061554581613bda565b92915050565b60006020828403121561556157615560613ba4565b5b600061556f84828501615536565b91505092915050565b600061558382613eeb565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156155b6576155b5614b60565b5b600182019050919050565b60006155cc82613eeb565b91506155d783613eeb565b9250826155e7576155e6614c80565b5b82820690509291505056fea2646970667358221220c5f37fb2629dca76c5565f187786733f4afdcd226d46c411f5d44d2e66277a3e64736f6c63430008090033000000000000000000000000f4efd3d0c43a6a7e6a43baf306536cd6d6643553