60806040525f600760016101000a81548160ff0219169083151502179055505f6009555f600a5534801562000032575f80fd5b506040516200350c3803806200350c83398181016040528101906200005891906200061c565b620000686200020f60201b60201c565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603620000db575f6040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401620000d291906200070c565b60405180910390fd5b620000ec816200021660201b60201c565b508360059081620000fe919062000955565b50826006908162000110919062000955565b508160075f6101000a81548160ff021916908360ff160217905550600160035f620001406200020f60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555062000205620001f86200020f60201b60201c565b82620002d760201b60201c565b5050505062000acc565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036200034a575f6040517fec442f050000000000000000000000000000000000000000000000000000000081526004016200034191906200070c565b60405180910390fd5b8060045f8282546200035d919062000a66565b925050819055508060015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254620003b2919062000a66565b925050819055508173ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405162000418919062000ab1565b60405180910390a35050565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b62000485826200043d565b810181811067ffffffffffffffff82111715620004a757620004a66200044d565b5b80604052505050565b5f620004bb62000424565b9050620004c982826200047a565b919050565b5f67ffffffffffffffff821115620004eb57620004ea6200044d565b5b620004f6826200043d565b9050602081019050919050565b5f5b838110156200052257808201518184015260208101905062000505565b5f8484015250505050565b5f620005436200053d84620004ce565b620004b0565b90508281526020810184848401111562000562576200056162000439565b5b6200056f84828562000503565b509392505050565b5f82601f8301126200058e576200058d62000435565b5b8151620005a08482602086016200052d565b91505092915050565b5f60ff82169050919050565b620005c081620005a9565b8114620005cb575f80fd5b50565b5f81519050620005de81620005b5565b92915050565b5f819050919050565b620005f881620005e4565b811462000603575f80fd5b50565b5f815190506200061681620005ed565b92915050565b5f805f80608085870312156200063757620006366200042d565b5b5f85015167ffffffffffffffff81111562000657576200065662000431565b5b620006658782880162000577565b945050602085015167ffffffffffffffff81111562000689576200068862000431565b5b620006978782880162000577565b9350506040620006aa87828801620005ce565b9250506060620006bd8782880162000606565b91505092959194509250565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f620006f482620006c9565b9050919050565b6200070681620006e8565b82525050565b5f602082019050620007215f830184620006fb565b92915050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806200077657607f821691505b6020821081036200078c576200078b62000731565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302620007f07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620007b3565b620007fc8683620007b3565b95508019841693508086168417925050509392505050565b5f819050919050565b5f6200083d620008376200083184620005e4565b62000814565b620005e4565b9050919050565b5f819050919050565b62000858836200081d565b62000870620008678262000844565b848454620007bf565b825550505050565b5f90565b6200088662000878565b620008938184846200084d565b505050565b5b81811015620008ba57620008ae5f826200087c565b60018101905062000899565b5050565b601f8211156200090957620008d38162000792565b620008de84620007a4565b81016020851015620008ee578190505b62000906620008fd85620007a4565b83018262000898565b50505b505050565b5f82821c905092915050565b5f6200092b5f19846008026200090e565b1980831691505092915050565b5f6200094583836200091a565b9150826002028217905092915050565b620009608262000727565b67ffffffffffffffff8111156200097c576200097b6200044d565b5b6200098882546200075e565b62000995828285620008be565b5f60209050601f831160018114620009cb575f8415620009b6578287015190505b620009c2858262000938565b86555062000a31565b601f198416620009db8662000792565b5f5b8281101562000a0457848901518255600182019150602085019450602081019050620009dd565b8683101562000a24578489015162000a20601f8916826200091a565b8355505b6001600288020188555050505b505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f62000a7282620005e4565b915062000a7f83620005e4565b925082820190508082111562000a9a5762000a9962000a39565b5b92915050565b62000aab81620005e4565b82525050565b5f60208201905062000ac65f83018462000aa0565b92915050565b612a328062000ada5f395ff3fe608060405260043610610117575f3560e01c806370a082311161009f578063a9059cbb11610063578063a9059cbb1461039e578063b63a35f6146103da578063dd62ed3e14610402578063f2fde38b1461043e578063ffb54a99146104665761011e565b806370a08231146102bc578063715018a6146102f85780638da5cb5b1461030e57806394b775e81461033857806395d89b41146103745761011e565b80631694505e116100e65780631694505e146101d857806318160ddd146102025780631f3fe43f1461022c57806323b872dd14610256578063313ce567146102925761011e565b806303ef20bc1461012257806306fdde031461014a578063095ea7b31461017457806310ded16a146101b05761011e565b3661011e57005b5f80fd5b34801561012d575f80fd5b5061014860048036038101906101439190611fe4565b610490565b005b348015610155575f80fd5b5061015e610523565b60405161016b91906120a5565b60405180910390f35b34801561017f575f80fd5b5061019a600480360381019061019591906120f8565b6105b3565b6040516101a79190612150565b60405180910390f35b3480156101bb575f80fd5b506101d660048036038101906101d19190612169565b6105d5565b005b3480156101e3575f80fd5b506101ec610b0d565b6040516101f991906121ef565b60405180910390f35b34801561020d575f80fd5b50610216610b33565b6040516102239190612217565b60405180910390f35b348015610237575f80fd5b50610240610b3c565b60405161024d9190612217565b60405180910390f35b348015610261575f80fd5b5061027c60048036038101906102779190612230565b610b42565b6040516102899190612150565b60405180910390f35b34801561029d575f80fd5b506102a6610b70565b6040516102b3919061229b565b60405180910390f35b3480156102c7575f80fd5b506102e260048036038101906102dd9190612169565b610b85565b6040516102ef9190612217565b60405180910390f35b348015610303575f80fd5b5061030c610bcb565b005b348015610319575f80fd5b50610322610bde565b60405161032f91906122c3565b60405180910390f35b348015610343575f80fd5b5061035e60048036038101906103599190612169565b610c05565b60405161036b9190612150565b60405180910390f35b34801561037f575f80fd5b50610388610c22565b60405161039591906120a5565b60405180910390f35b3480156103a9575f80fd5b506103c460048036038101906103bf91906120f8565b610cb2565b6040516103d19190612150565b60405180910390f35b3480156103e5575f80fd5b5061040060048036038101906103fb91906122dc565b610cd4565b005b34801561040d575f80fd5b5061042860048036038101906104239190612307565b610ce6565b6040516104359190612217565b60405180910390f35b348015610449575f80fd5b50610464600480360381019061045f9190612169565b610d68565b005b348015610471575f80fd5b5061047a610dec565b6040516104879190612150565b60405180910390f35b610498610dff565b5f5b815181101561051f57600160035f8484815181106104bb576104ba612345565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550808060010191505061049a565b5050565b6060600580546105329061239f565b80601f016020809104026020016040519081016040528092919081815260200182805461055e9061239f565b80156105a95780601f10610580576101008083540402835291602001916105a9565b820191905f5260205f20905b81548152906001019060200180831161058c57829003601f168201915b5050505050905090565b5f806105bd610e86565b90506105ca818585610e8d565b600191505092915050565b6105dd610dff565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361064b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161064290612419565b60405180910390fd5b600760019054906101000a900460ff161561069b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161069290612481565b60405180910390fd5b80600760026101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061070b30600760029054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600454610e8d565b600760029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610776573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061079a91906124b3565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600760029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610821573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061084591906124b3565b6040518363ffffffff1660e01b81526004016108629291906124de565b6020604051808303815f875af115801561087e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108a291906124b3565b60085f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600760029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473061092a30610b85565b5f80610934610bde565b426040518863ffffffff1660e01b81526004016109569695949392919061253e565b60606040518083038185885af1158015610972573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061099791906125b1565b50505060085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600760029054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610a38929190612601565b6020604051808303815f875af1158015610a54573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a789190612652565b50600160035f60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600760016101000a81548160ff02191690831515021790555050565b600760029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f600454905090565b60095481565b5f80610b4c610e86565b9050610b59858285610e9f565b610b64858585610f31565b60019150509392505050565b5f60075f9054906101000a900460ff16905090565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610bd3610dff565b610bdc5f6115dc565b565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6003602052805f5260405f205f915054906101000a900460ff1681565b606060068054610c319061239f565b80601f0160208091040260200160405190810160405280929190818152602001828054610c5d9061239f565b8015610ca85780601f10610c7f57610100808354040283529160200191610ca8565b820191905f5260205f20905b815481529060010190602001808311610c8b57829003601f168201915b5050505050905090565b5f80610cbc610e86565b9050610cc9818585610f31565b600191505092915050565b610cdc610dff565b80600a8190555050565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b610d70610dff565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610de0575f6040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401610dd791906122c3565b60405180910390fd5b610de9816115dc565b50565b600760019054906101000a900460ff1681565b610e07610e86565b73ffffffffffffffffffffffffffffffffffffffff16610e25610bde565b73ffffffffffffffffffffffffffffffffffffffff1614610e8457610e48610e86565b6040517f118cdaa7000000000000000000000000000000000000000000000000000000008152600401610e7b91906122c3565b60405180910390fd5b565b5f33905090565b610e9a838383600161169d565b505050565b5f610eaa8484610ce6565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610f2b5781811015610f1c578281836040517ffb8f41b2000000000000000000000000000000000000000000000000000000008152600401610f139392919061267d565b60405180910390fd5b610f2a84848484035f61169d565b5b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610fa1575f6040517f96c6fd1e000000000000000000000000000000000000000000000000000000008152600401610f9891906122c3565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611011575f6040517fec442f0500000000000000000000000000000000000000000000000000000000815260040161100891906122c3565b60405180910390fd5b5f60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490508181101561109b578381836040517fe450d38c0000000000000000000000000000000000000000000000000000000081526004016110929392919061267d565b60405180910390fd5b5f6110a4610bde565b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161415801561111257506110e2610bde565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b801561112a5750600760019054906101000a900460ff165b801561126b575060085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161480156111db5750600760029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b8061126a575060085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614801561126957503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b5b5b156114e057600a5460095410156113065760035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16611305576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112fc90612722565b60405180910390fd5b5b60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614801561136e5750600b5f9054906101000a900460ff16155b156114c857612710606484026102588502018161138e5761138d612740565b5b0490505f8111156114c7578060015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546113e5919061279a565b925050819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516114499190612217565b60405180910390a35f61145b30610b85565b90505f610258606461146d919061279a565b90505f82861061147d578261147f565b855b90506114a2826102588361149391906127cd565b61149d919061280e565b61186c565b6114c330836064846114b491906127cd565b6114be919061280e565b61191b565b5050505b5b60095f8154809291906114da9061283e565b91905055505b82820360015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555080830360015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516115cd9190612217565b60405180910390a35050505050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff160361170d575f6040517fe602df0500000000000000000000000000000000000000000000000000000000815260040161170491906122c3565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361177d575f6040517f94280d6200000000000000000000000000000000000000000000000000000000815260040161177491906122c3565b60405180910390fd5b8160025f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508015611866578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161185d9190612217565b60405180910390a35b50505050565b6001600b5f6101000a81548160ff0219169083151502179055505f600282611894919061280e565b90505f81836118a39190612885565b90506118ae82611adb565b5f4790505f8190506118c08382611d47565b7f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb5618482856040516118f3939291906128b8565b60405180910390a1505050505f600b5f6101000a81548160ff02191690831515021790555050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361198b575f6040517f96c6fd1e00000000000000000000000000000000000000000000000000000000815260040161198291906122c3565b60405180910390fd5b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015611a15578281836040517fe450d38c000000000000000000000000000000000000000000000000000000008152600401611a0c9392919061267d565b60405180910390fd5b81810360015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508160045f828254611a6a9190612885565b925050819055505f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611ace9190612217565b60405180910390a3505050565b6001600b5f6101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115611b1157611b10611e4e565b5b604051908082528060200260200182016040528015611b3f5781602001602082028036833780820191505090505b50905030815f81518110611b5657611b55612345565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600760029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611bfb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c1f91906124b3565b81600181518110611c3357611c32612345565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611c9a30600760029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610e8d565b600760029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401611cfd9594939291906129a4565b5f604051808303815f87803b158015611d14575f80fd5b505af1158015611d26573d5f803e3d5ffd5b50505050505f600b5f6101000a81548160ff02191690831515021790555050565b611d7430600760029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610e8d565b600760029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7198230855f80611dbf610bde565b426040518863ffffffff1660e01b8152600401611de19695949392919061253e565b60606040518083038185885af1158015611dfd573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190611e2291906125b1565b5050505050565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b611e8482611e3e565b810181811067ffffffffffffffff82111715611ea357611ea2611e4e565b5b80604052505050565b5f611eb5611e29565b9050611ec18282611e7b565b919050565b5f67ffffffffffffffff821115611ee057611edf611e4e565b5b602082029050602081019050919050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611f1e82611ef5565b9050919050565b611f2e81611f14565b8114611f38575f80fd5b50565b5f81359050611f4981611f25565b92915050565b5f611f61611f5c84611ec6565b611eac565b90508083825260208201905060208402830185811115611f8457611f83611ef1565b5b835b81811015611fad5780611f998882611f3b565b845260208401935050602081019050611f86565b5050509392505050565b5f82601f830112611fcb57611fca611e3a565b5b8135611fdb848260208601611f4f565b91505092915050565b5f60208284031215611ff957611ff8611e32565b5b5f82013567ffffffffffffffff81111561201657612015611e36565b5b61202284828501611fb7565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015612062578082015181840152602081019050612047565b5f8484015250505050565b5f6120778261202b565b6120818185612035565b9350612091818560208601612045565b61209a81611e3e565b840191505092915050565b5f6020820190508181035f8301526120bd818461206d565b905092915050565b5f819050919050565b6120d7816120c5565b81146120e1575f80fd5b50565b5f813590506120f2816120ce565b92915050565b5f806040838503121561210e5761210d611e32565b5b5f61211b85828601611f3b565b925050602061212c858286016120e4565b9150509250929050565b5f8115159050919050565b61214a81612136565b82525050565b5f6020820190506121635f830184612141565b92915050565b5f6020828403121561217e5761217d611e32565b5b5f61218b84828501611f3b565b91505092915050565b5f819050919050565b5f6121b76121b26121ad84611ef5565b612194565b611ef5565b9050919050565b5f6121c88261219d565b9050919050565b5f6121d9826121be565b9050919050565b6121e9816121cf565b82525050565b5f6020820190506122025f8301846121e0565b92915050565b612211816120c5565b82525050565b5f60208201905061222a5f830184612208565b92915050565b5f805f6060848603121561224757612246611e32565b5b5f61225486828701611f3b565b935050602061226586828701611f3b565b9250506040612276868287016120e4565b9150509250925092565b5f60ff82169050919050565b61229581612280565b82525050565b5f6020820190506122ae5f83018461228c565b92915050565b6122bd81611f14565b82525050565b5f6020820190506122d65f8301846122b4565b92915050565b5f602082840312156122f1576122f0611e32565b5b5f6122fe848285016120e4565b91505092915050565b5f806040838503121561231d5761231c611e32565b5b5f61232a85828601611f3b565b925050602061233b85828601611f3b565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806123b657607f821691505b6020821081036123c9576123c8612372565b5b50919050565b7f496e76616c696420726f757465722061646472657373000000000000000000005f82015250565b5f612403601683612035565b915061240e826123cf565b602082019050919050565b5f6020820190508181035f830152612430816123f7565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f61246b601783612035565b915061247682612437565b602082019050919050565b5f6020820190508181035f8301526124988161245f565b9050919050565b5f815190506124ad81611f25565b92915050565b5f602082840312156124c8576124c7611e32565b5b5f6124d58482850161249f565b91505092915050565b5f6040820190506124f15f8301856122b4565b6124fe60208301846122b4565b9392505050565b5f819050919050565b5f61252861252361251e84612505565b612194565b6120c5565b9050919050565b6125388161250e565b82525050565b5f60c0820190506125515f8301896122b4565b61255e6020830188612208565b61256b604083018761252f565b612578606083018661252f565b61258560808301856122b4565b61259260a0830184612208565b979650505050505050565b5f815190506125ab816120ce565b92915050565b5f805f606084860312156125c8576125c7611e32565b5b5f6125d58682870161259d565b93505060206125e68682870161259d565b92505060406125f78682870161259d565b9150509250925092565b5f6040820190506126145f8301856122b4565b6126216020830184612208565b9392505050565b61263181612136565b811461263b575f80fd5b50565b5f8151905061264c81612628565b92915050565b5f6020828403121561266757612666611e32565b5b5f6126748482850161263e565b91505092915050565b5f6060820190506126905f8301866122b4565b61269d6020830185612208565b6126aa6040830184612208565b949350505050565b7f5365656d73206c696b6520706172747920686173206e6f7420737461727465645f8201527f2e00000000000000000000000000000000000000000000000000000000000000602082015250565b5f61270c602183612035565b9150612717826126b2565b604082019050919050565b5f6020820190508181035f83015261273981612700565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6127a4826120c5565b91506127af836120c5565b92508282019050808211156127c7576127c661276d565b5b92915050565b5f6127d7826120c5565b91506127e2836120c5565b92508282026127f0816120c5565b915082820484148315176128075761280661276d565b5b5092915050565b5f612818826120c5565b9150612823836120c5565b92508261283357612832612740565b5b828204905092915050565b5f612848826120c5565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361287a5761287961276d565b5b600182019050919050565b5f61288f826120c5565b915061289a836120c5565b92508282039050818111156128b2576128b161276d565b5b92915050565b5f6060820190506128cb5f830186612208565b6128d86020830185612208565b6128e56040830184612208565b949350505050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61291f81611f14565b82525050565b5f6129308383612916565b60208301905092915050565b5f602082019050919050565b5f612952826128ed565b61295c81856128f7565b935061296783612907565b805f5b8381101561299757815161297e8882612925565b97506129898361293c565b92505060018101905061296a565b5085935050505092915050565b5f60a0820190506129b75f830188612208565b6129c4602083018761252f565b81810360408301526129d68186612948565b90506129e560608301856122b4565b6129f26080830184612208565b969550505050505056fea2646970667358221220a516c8317a3018f2ebd82ffe4844dfcc6a7dc9432d1037b608a3f48c7b2701cf64736f6c63430008180033000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000005af3107a4000000000000000000000000000000000000000000000000000000000000000000c52554e452056494b494e47530000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000356494b0000000000000000000000000000000000000000000000000000000000