608060405234801562000010575f80fd5b5060405162003ca938038062003ca9833981810160405281019062000036919062000412565b8585815f908162000048919062000716565b5080600190816200005a919062000716565b5050506200007d62000071620000f060201b60201c565b620000f760201b60201c565b836007819055508260095f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600a8190555080600b5f6101000a81548160ff021916908315150217905550505050505050620007fa565b5f33905090565b5f60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6200021b82620001d3565b810181811067ffffffffffffffff821117156200023d576200023c620001e3565b5b80604052505050565b5f62000251620001ba565b90506200025f828262000210565b919050565b5f67ffffffffffffffff821115620002815762000280620001e3565b5b6200028c82620001d3565b9050602081019050919050565b5f5b83811015620002b85780820151818401526020810190506200029b565b5f8484015250505050565b5f620002d9620002d38462000264565b62000246565b905082815260208101848484011115620002f857620002f7620001cf565b5b6200030584828562000299565b509392505050565b5f82601f830112620003245762000323620001cb565b5b815162000336848260208601620002c3565b91505092915050565b5f819050919050565b62000353816200033f565b81146200035e575f80fd5b50565b5f81519050620003718162000348565b92915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f620003a28262000377565b9050919050565b620003b48162000396565b8114620003bf575f80fd5b50565b5f81519050620003d281620003a9565b92915050565b5f8115159050919050565b620003ee81620003d8565b8114620003f9575f80fd5b50565b5f815190506200040c81620003e3565b92915050565b5f805f805f8060c087890312156200042f576200042e620001c3565b5b5f87015167ffffffffffffffff8111156200044f576200044e620001c7565b5b6200045d89828a016200030d565b965050602087015167ffffffffffffffff811115620004815762000480620001c7565b5b6200048f89828a016200030d565b9550506040620004a289828a0162000361565b9450506060620004b589828a01620003c2565b9350506080620004c889828a0162000361565b92505060a0620004db89828a01620003fc565b9150509295509295509295565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806200053757607f821691505b6020821081036200054d576200054c620004f2565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302620005b17fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000574565b620005bd868362000574565b95508019841693508086168417925050509392505050565b5f819050919050565b5f620005fe620005f8620005f2846200033f565b620005d5565b6200033f565b9050919050565b5f819050919050565b6200061983620005de565b62000631620006288262000605565b84845462000580565b825550505050565b5f90565b6200064762000639565b620006548184846200060e565b505050565b5b818110156200067b576200066f5f826200063d565b6001810190506200065a565b5050565b601f821115620006ca57620006948162000553565b6200069f8462000565565b81016020851015620006af578190505b620006c7620006be8562000565565b83018262000659565b50505b505050565b5f82821c905092915050565b5f620006ec5f1984600802620006cf565b1980831691505092915050565b5f620007068383620006db565b9150826002028217905092915050565b6200072182620004e8565b67ffffffffffffffff8111156200073d576200073c620001e3565b5b6200074982546200051f565b620007568282856200067f565b5f60209050601f8311600181146200078c575f841562000777578287015190505b620007838582620006f9565b865550620007f2565b601f1984166200079c8662000553565b5f5b82811015620007c5578489015182556001820191506020850194506020810190506200079e565b86831015620007e55784890151620007e1601f891682620006db565b8355505b6001600288020188555050505b505050505050565b6134a180620008085f395ff3fe608060405234801561000f575f80fd5b50600436106101d8575f3560e01c8063715018a611610102578063a2309ff8116100a0578063c87b56dd1161006f578063c87b56dd146104ba578063d5abeb01146104ea578063e985e9c514610508578063f2fde38b14610538576101d8565b8063a2309ff814610458578063af35c6c714610476578063b88d4fde14610480578063bef97c871461049c576101d8565b80638d8f2adb116100dc5780638d8f2adb146103f65780638da5cb5b1461040057806395d89b411461041e578063a22cb4651461043c576101d8565b8063715018a6146103c65780637362377b146103d057806381530b68146103da576101d8565b80633013ce291161017a5780636352211e116101495780636352211e1461032e5780636a326ab11461035e5780636f8b44b01461037a57806370a0823114610396576101d8565b80633013ce29146102ba57806338e21cce146102d85780633a67a0f61461030857806342842e0e14610312576101d8565b8063095ea7b3116101b6578063095ea7b31461025a5780630d39fc81146102765780631249c58b1461029457806323b872dd1461029e576101d8565b806301ffc9a7146101dc57806306fdde031461020c578063081812fc1461022a575b5f80fd5b6101f660048036038101906101f191906122f2565b610554565b6040516102039190612337565b60405180910390f35b610214610635565b60405161022191906123da565b60405180910390f35b610244600480360381019061023f919061242d565b6106c4565b6040516102519190612497565b60405180910390f35b610274600480360381019061026f91906124da565b610706565b005b61027e61081c565b60405161028b9190612527565b60405180910390f35b61029c610822565b005b6102b860048036038101906102b39190612540565b610c40565b005b6102c2610ca0565b6040516102cf91906125eb565b60405180910390f35b6102f260048036038101906102ed9190612604565b610cc5565b6040516102ff9190612337565b60405180910390f35b610310610ce2565b005b61032c60048036038101906103279190612540565b610d05565b005b6103486004803603810190610343919061242d565b610d24565b6040516103559190612497565b60405180910390f35b61037860048036038101906103739190612604565b610da8565b005b610394600480360381019061038f919061242d565b610df3565b005b6103b060048036038101906103ab9190612604565b610e05565b6040516103bd9190612527565b60405180910390f35b6103ce610eb9565b005b6103d8610ecc565b005b6103f460048036038101906103ef919061242d565b610f21565b005b6103fe610f33565b005b610408611079565b6040516104159190612497565b60405180910390f35b6104266110a1565b60405161043391906123da565b60405180910390f35b61045660048036038101906104519190612659565b611131565b005b610460611147565b60405161046d9190612527565b60405180910390f35b61047e61114d565b005b61049a600480360381019061049591906127c3565b611171565b005b6104a46111d3565b6040516104b19190612337565b60405180910390f35b6104d460048036038101906104cf919061242d565b6111e5565b6040516104e191906123da565b60405180910390f35b6104f261124a565b6040516104ff9190612527565b60405180910390f35b610522600480360381019061051d9190612843565b611250565b60405161052f9190612337565b60405180910390f35b610552600480360381019061054d9190612604565b6112de565b005b5f7f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061061e57507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b8061062e575061062d82611360565b5b9050919050565b60605f8054610643906128ae565b80601f016020809104026020016040519081016040528092919081815260200182805461066f906128ae565b80156106ba5780601f10610691576101008083540402835291602001916106ba565b820191905f5260205f20905b81548152906001019060200180831161069d57829003601f168201915b5050505050905090565b5f6106ce826113c9565b60045f8381526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b5f61071082610d24565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610780576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107779061294e565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1661079f611414565b73ffffffffffffffffffffffffffffffffffffffff1614806107ce57506107cd816107c8611414565b611250565b5b61080d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610804906129dc565b60405180910390fd5b610817838361141b565b505050565b600a5481565b5f60075414806108355750600754600854105b610874576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161086b90612a44565b60405180910390fd5b600c5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16156108fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108f590612aac565b60405180910390fd5b5f600a541115610ac557600a5460095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e33306040518363ffffffff1660e01b8152600401610967929190612aca565b602060405180830381865afa158015610982573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109a69190612b05565b10156109e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109de90612b7a565b60405180910390fd5b600a5460095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231336040518263ffffffff1660e01b8152600401610a449190612497565b602060405180830381865afa158015610a5f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a839190612b05565b1015610ac4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610abb90612be2565b60405180910390fd5b5b5f6001600854610ad59190612c2d565b90505f600a541115610b835760095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330600a546040518463ffffffff1660e01b8152600401610b4193929190612c60565b6020604051808303815f875af1158015610b5d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b819190612ca9565b505b610b8d33826114d1565b6001600c5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555060085f815480929190610bf490612cd4565b9190505550803373ffffffffffffffffffffffffffffffffffffffff167f30385c845b448a36257a6a1716e6ad2e1bc2cbe333cde1e69fe849ad6511adfe60405160405180910390a350565b610c51610c4b611414565b826116e4565b610c90576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c8790612d8b565b60405180910390fd5b610c9b838383611778565b505050565b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600c602052805f5260405f205f915054906101000a900460ff1681565b610cea611a64565b5f600b5f6101000a81548160ff021916908315150217905550565b610d1f83838360405180602001604052805f815250611171565b505050565b5f80610d2f83611ae2565b90505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610d9f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d9690612df3565b60405180910390fd5b80915050919050565b610db0611a64565b8060095f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b610dfb611a64565b8060078190555050565b5f8073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610e74576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e6b90612e81565b60405180910390fd5b60035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610ec1611a64565b610eca5f611b1b565b565b610ed4611a64565b610edc611079565b73ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f19350505050158015610f1e573d5f803e3d5ffd5b50565b610f29611a64565b80600a8190555050565b610f3b611a64565b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb610f80611079565b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610fda9190612497565b602060405180830381865afa158015610ff5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110199190612b05565b6040518363ffffffff1660e01b8152600401611036929190612e9f565b6020604051808303815f875af1158015611052573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110769190612ca9565b50565b5f60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600180546110b0906128ae565b80601f01602080910402602001604051908101604052809291908181526020018280546110dc906128ae565b80156111275780601f106110fe57610100808354040283529160200191611127565b820191905f5260205f20905b81548152906001019060200180831161110a57829003601f168201915b5050505050905090565b61114361113c611414565b8383611bde565b5050565b60085481565b611155611a64565b6001600b5f6101000a81548160ff021916908315150217905550565b61118261117c611414565b836116e4565b6111c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111b890612d8b565b60405180910390fd5b6111cd84848484611d45565b50505050565b600b5f9054906101000a900460ff1681565b60606111f0826113c9565b5f6111f9611da1565b90505f8151116112175760405180602001604052805f815250611242565b8061122184611db7565b604051602001611232929190612f00565b6040516020818303038152906040525b915050919050565b60075481565b5f60055f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16905092915050565b6112e6611a64565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611354576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161134b90612f93565b60405180910390fd5b61135d81611b1b565b50565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b6113d281611e81565b611411576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161140890612df3565b60405180910390fd5b50565b5f33905090565b8160045f8381526020019081526020015f205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff1661148b83610d24565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361153f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161153690612ffb565b60405180910390fd5b61154881611e81565b15611588576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161157f90613063565b60405180910390fd5b6115955f83836001611ec1565b61159e81611e81565b156115de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115d590613063565b60405180910390fd5b600160035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508160025f8381526020019081526020015f205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a46116e05f83836001611f8b565b5050565b5f806116ef83610d24565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148061173157506117308185611250565b5b8061176f57508373ffffffffffffffffffffffffffffffffffffffff16611757846106c4565b73ffffffffffffffffffffffffffffffffffffffff16145b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff1661179882610d24565b73ffffffffffffffffffffffffffffffffffffffff16146117ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117e5906130f1565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361185c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118539061317f565b60405180910390fd5b6118698383836001611ec1565b8273ffffffffffffffffffffffffffffffffffffffff1661188982610d24565b73ffffffffffffffffffffffffffffffffffffffff16146118df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118d6906130f1565b60405180910390fd5b60045f8281526020019081526020015f205f6101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055600160035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282540392505081905550600160035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508160025f8381526020019081526020015f205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4611a5f8383836001611f8b565b505050565b611a6c611414565b73ffffffffffffffffffffffffffffffffffffffff16611a8a611079565b73ffffffffffffffffffffffffffffffffffffffff1614611ae0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ad7906131e7565b60405180910390fd5b565b5f60025f8381526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b5f60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611c4c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c439061324f565b60405180910390fd5b8060055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051611d389190612337565b60405180910390a3505050565b611d50848484611778565b611d5c84848484611f91565b611d9b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d92906132dd565b60405180910390fd5b50505050565b606060405180602001604052805f815250905090565b60605f6001611dc584612113565b0190505f8167ffffffffffffffff811115611de357611de261269f565b5b6040519080825280601f01601f191660200182016040528015611e155781602001600182028036833780820191505090505b5090505f82602001820190505b600115611e76578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a8581611e6b57611e6a6132fb565b5b0494505f8503611e22575b819350505050919050565b5f8073ffffffffffffffffffffffffffffffffffffffff16611ea283611ae2565b73ffffffffffffffffffffffffffffffffffffffff1614159050919050565b600b5f9054906101000a900460ff16611f79575f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480611f3957505f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b611f78576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f6f90613372565b60405180910390fd5b5b611f8584848484612264565b50505050565b50505050565b5f611fb18473ffffffffffffffffffffffffffffffffffffffff1661226a565b15612106578373ffffffffffffffffffffffffffffffffffffffff1663150b7a02611fda611414565b8786866040518563ffffffff1660e01b8152600401611ffc94939291906133e2565b6020604051808303815f875af192505050801561203757506040513d601f19601f820116820180604052508101906120349190613440565b60015b6120b6573d805f8114612065576040519150601f19603f3d011682016040523d82523d5f602084013e61206a565b606091505b505f8151036120ae576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120a5906132dd565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161491505061210b565b600190505b949350505050565b5f805f90507a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000831061216f577a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008381612165576121646132fb565b5b0492506040810190505b6d04ee2d6d415b85acef810000000083106121ac576d04ee2d6d415b85acef810000000083816121a2576121a16132fb565b5b0492506020810190505b662386f26fc1000083106121db57662386f26fc1000083816121d1576121d06132fb565b5b0492506010810190505b6305f5e1008310612204576305f5e10083816121fa576121f96132fb565b5b0492506008810190505b612710831061222957612710838161221f5761221e6132fb565b5b0492506004810190505b6064831061224c5760648381612242576122416132fb565b5b0492506002810190505b600a831061225b576001810190505b80915050919050565b50505050565b5f808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b5f604051905090565b5f80fd5b5f80fd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6122d18161229d565b81146122db575f80fd5b50565b5f813590506122ec816122c8565b92915050565b5f6020828403121561230757612306612295565b5b5f612314848285016122de565b91505092915050565b5f8115159050919050565b6123318161231d565b82525050565b5f60208201905061234a5f830184612328565b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561238757808201518184015260208101905061236c565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6123ac82612350565b6123b6818561235a565b93506123c681856020860161236a565b6123cf81612392565b840191505092915050565b5f6020820190508181035f8301526123f281846123a2565b905092915050565b5f819050919050565b61240c816123fa565b8114612416575f80fd5b50565b5f8135905061242781612403565b92915050565b5f6020828403121561244257612441612295565b5b5f61244f84828501612419565b91505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61248182612458565b9050919050565b61249181612477565b82525050565b5f6020820190506124aa5f830184612488565b92915050565b6124b981612477565b81146124c3575f80fd5b50565b5f813590506124d4816124b0565b92915050565b5f80604083850312156124f0576124ef612295565b5b5f6124fd858286016124c6565b925050602061250e85828601612419565b9150509250929050565b612521816123fa565b82525050565b5f60208201905061253a5f830184612518565b92915050565b5f805f6060848603121561255757612556612295565b5b5f612564868287016124c6565b9350506020612575868287016124c6565b925050604061258686828701612419565b9150509250925092565b5f819050919050565b5f6125b36125ae6125a984612458565b612590565b612458565b9050919050565b5f6125c482612599565b9050919050565b5f6125d5826125ba565b9050919050565b6125e5816125cb565b82525050565b5f6020820190506125fe5f8301846125dc565b92915050565b5f6020828403121561261957612618612295565b5b5f612626848285016124c6565b91505092915050565b6126388161231d565b8114612642575f80fd5b50565b5f813590506126538161262f565b92915050565b5f806040838503121561266f5761266e612295565b5b5f61267c858286016124c6565b925050602061268d85828601612645565b9150509250929050565b5f80fd5b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6126d582612392565b810181811067ffffffffffffffff821117156126f4576126f361269f565b5b80604052505050565b5f61270661228c565b905061271282826126cc565b919050565b5f67ffffffffffffffff8211156127315761273061269f565b5b61273a82612392565b9050602081019050919050565b828183375f83830152505050565b5f61276761276284612717565b6126fd565b9050828152602081018484840111156127835761278261269b565b5b61278e848285612747565b509392505050565b5f82601f8301126127aa576127a9612697565b5b81356127ba848260208601612755565b91505092915050565b5f805f80608085870312156127db576127da612295565b5b5f6127e8878288016124c6565b94505060206127f9878288016124c6565b935050604061280a87828801612419565b925050606085013567ffffffffffffffff81111561282b5761282a612299565b5b61283787828801612796565b91505092959194509250565b5f806040838503121561285957612858612295565b5b5f612866858286016124c6565b9250506020612877858286016124c6565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806128c557607f821691505b6020821081036128d8576128d7612881565b5b50919050565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e655f8201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b5f61293860218361235a565b9150612943826128de565b604082019050919050565b5f6020820190508181035f8301526129658161292c565b9050919050565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f5f8201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000602082015250565b5f6129c6603d8361235a565b91506129d18261296c565b604082019050919050565b5f6020820190508181035f8301526129f3816129ba565b9050919050565b7f4d617820737570706c79207265616368656400000000000000000000000000005f82015250565b5f612a2e60128361235a565b9150612a39826129fa565b602082019050919050565b5f6020820190508181035f830152612a5b81612a22565b9050919050565b7f416c7265616479206d696e7465640000000000000000000000000000000000005f82015250565b5f612a96600e8361235a565b9150612aa182612a62565b602082019050919050565b5f6020820190508181035f830152612ac381612a8a565b9050919050565b5f604082019050612add5f830185612488565b612aea6020830184612488565b9392505050565b5f81519050612aff81612403565b92915050565b5f60208284031215612b1a57612b19612295565b5b5f612b2784828501612af1565b91505092915050565b7f496e73756666696369656e7420746f6b656e20616c6c6f77616e6365000000005f82015250565b5f612b64601c8361235a565b9150612b6f82612b30565b602082019050919050565b5f6020820190508181035f830152612b9181612b58565b9050919050565b7f496e73756666696369656e7420746f6b656e2062616c616e63650000000000005f82015250565b5f612bcc601a8361235a565b9150612bd782612b98565b602082019050919050565b5f6020820190508181035f830152612bf981612bc0565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f612c37826123fa565b9150612c42836123fa565b9250828201905080821115612c5a57612c59612c00565b5b92915050565b5f606082019050612c735f830186612488565b612c806020830185612488565b612c8d6040830184612518565b949350505050565b5f81519050612ca38161262f565b92915050565b5f60208284031215612cbe57612cbd612295565b5b5f612ccb84828501612c95565b91505092915050565b5f612cde826123fa565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612d1057612d0f612c00565b5b600182019050919050565b7f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e655f8201527f72206f7220617070726f76656400000000000000000000000000000000000000602082015250565b5f612d75602d8361235a565b9150612d8082612d1b565b604082019050919050565b5f6020820190508181035f830152612da281612d69565b9050919050565b7f4552433732313a20696e76616c696420746f6b656e20494400000000000000005f82015250565b5f612ddd60188361235a565b9150612de882612da9565b602082019050919050565b5f6020820190508181035f830152612e0a81612dd1565b9050919050565b7f4552433732313a2061646472657373207a65726f206973206e6f7420612076615f8201527f6c6964206f776e65720000000000000000000000000000000000000000000000602082015250565b5f612e6b60298361235a565b9150612e7682612e11565b604082019050919050565b5f6020820190508181035f830152612e9881612e5f565b9050919050565b5f604082019050612eb25f830185612488565b612ebf6020830184612518565b9392505050565b5f81905092915050565b5f612eda82612350565b612ee48185612ec6565b9350612ef481856020860161236a565b80840191505092915050565b5f612f0b8285612ed0565b9150612f178284612ed0565b91508190509392505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f612f7d60268361235a565b9150612f8882612f23565b604082019050919050565b5f6020820190508181035f830152612faa81612f71565b9050919050565b7f4552433732313a206d696e7420746f20746865207a65726f20616464726573735f82015250565b5f612fe560208361235a565b9150612ff082612fb1565b602082019050919050565b5f6020820190508181035f83015261301281612fd9565b9050919050565b7f4552433732313a20746f6b656e20616c7265616479206d696e746564000000005f82015250565b5f61304d601c8361235a565b915061305882613019565b602082019050919050565b5f6020820190508181035f83015261307a81613041565b9050919050565b7f4552433732313a207472616e736665722066726f6d20696e636f7272656374205f8201527f6f776e6572000000000000000000000000000000000000000000000000000000602082015250565b5f6130db60258361235a565b91506130e682613081565b604082019050919050565b5f6020820190508181035f830152613108816130cf565b9050919050565b7f4552433732313a207472616e7366657220746f20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f61316960248361235a565b91506131748261310f565b604082019050919050565b5f6020820190508181035f8301526131968161315d565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6131d160208361235a565b91506131dc8261319d565b602082019050919050565b5f6020820190508181035f8301526131fe816131c5565b9050919050565b7f4552433732313a20617070726f766520746f2063616c6c6572000000000000005f82015250565b5f61323960198361235a565b915061324482613205565b602082019050919050565b5f6020820190508181035f8301526132668161322d565b9050919050565b7f4552433732313a207472616e7366657220746f206e6f6e2045524337323152655f8201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b5f6132c760328361235a565b91506132d28261326d565b604082019050919050565b5f6020820190508181035f8301526132f4816132bb565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b7f596f752063616e6e6f74207472616e73666572207468697320746f6b656e00005f82015250565b5f61335c601e8361235a565b915061336782613328565b602082019050919050565b5f6020820190508181035f83015261338981613350565b9050919050565b5f81519050919050565b5f82825260208201905092915050565b5f6133b482613390565b6133be818561339a565b93506133ce81856020860161236a565b6133d781612392565b840191505092915050565b5f6080820190506133f55f830187612488565b6134026020830186612488565b61340f6040830185612518565b818103606083015261342181846133aa565b905095945050505050565b5f8151905061343a816122c8565b92915050565b5f6020828403121561345557613454612295565b5b5f6134628482850161342c565b9150509291505056fea2646970667358221220543c71dfb698bc64c46090c295adf0627353f2d548f21e20afa7c726f884062c64736f6c6343000818003300000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000030000000000000000000000008abc0705c23c5eb2d0917cb9888f21655013cbc500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000357334e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000357334e0000000000000000000000000000000000000000000000000000000000