60a06040526040518060e0016040528060b0815260200162005f4d60b09139600990816200002e9190620005dd565b503480156200003c57600080fd5b5060405162005ffd38038062005ffd83398181016040528101906200006291906200072e565b80338060006040518060400160405280600481526020017f4c616e64000000000000000000000000000000000000000000000000000000008152506040518060400160405280600381526020017f4c4e4400000000000000000000000000000000000000000000000000000000008152508160009081620000e49190620005dd565b508060019081620000f69190620005dd565b505050600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036200016b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200016290620007c1565b60405180910390fd5b81600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614620001f357620001f2816200023260201b60201c565b5b5050508073ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff1681525050505062000855565b3373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603620002a3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200029a9062000833565b60405180910390fd5b80600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fed8889f560326eb138920d842192f0eb3dd22b4f139c87a2c57538e05bae127860405160405180910390a350565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620003e557607f821691505b602082108103620003fb57620003fa6200039d565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620004657fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000426565b62000471868362000426565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b6000620004be620004b8620004b28462000489565b62000493565b62000489565b9050919050565b6000819050919050565b620004da836200049d565b620004f2620004e982620004c5565b84845462000433565b825550505050565b600090565b62000509620004fa565b62000516818484620004cf565b505050565b5b818110156200053e5762000532600082620004ff565b6001810190506200051c565b5050565b601f8211156200058d57620005578162000401565b620005628462000416565b8101602085101562000572578190505b6200058a620005818562000416565b8301826200051b565b50505b505050565b600082821c905092915050565b6000620005b26000198460080262000592565b1980831691505092915050565b6000620005cd83836200059f565b9150826002028217905092915050565b620005e88262000363565b67ffffffffffffffff8111156200060457620006036200036e565b5b620006108254620003cc565b6200061d82828562000542565b600060209050601f83116001811462000655576000841562000640578287015190505b6200064c8582620005bf565b865550620006bc565b601f198416620006658662000401565b60005b828110156200068f5784890151825560018201915060208501945060208101905062000668565b86831015620006af5784890151620006ab601f8916826200059f565b8355505b6001600288020188555050505b505050505050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620006f682620006c9565b9050919050565b6200070881620006e9565b81146200071457600080fd5b50565b6000815190506200072881620006fd565b92915050565b600060208284031215620007475762000746620006c4565b5b6000620007578482850162000717565b91505092915050565b600082825260208201905092915050565b7f43616e6e6f7420736574206f776e657220746f207a65726f0000000000000000600082015250565b6000620007a960188362000760565b9150620007b68262000771565b602082019050919050565b60006020820190508181036000830152620007dc816200079a565b9050919050565b7f43616e6e6f74207472616e7366657220746f2073656c66000000000000000000600082015250565b60006200081b60178362000760565b91506200082882620007e3565b602082019050919050565b600060208201905081810360008301526200084e816200080c565b9050919050565b6080516156d56200087860003960008181610782015261206601526156d56000f3fe608060405234801561001057600080fd5b506004361061018e5760003560e01c806379ba5097116100de578063c623674f11610097578063d40d17bc11610071578063d40d17bc14610498578063e985e9c5146104b4578063f2fde38b146104e4578063fe0cb7dc146105005761018e565b8063c623674f14610417578063c87b56dd14610435578063d074b04a146104655761018e565b806379ba50971461037b5780638da5cb5b1461038557806395d89b41146103a3578063a22cb465146103c1578063a6ac704e146103dd578063b88d4fde146103fb5761018e565b806323b872dd1161014b5780634cc82215116101255780634cc82215146102cf5780635a09007b146102eb5780636352211e1461031b57806370a082311461034b5761018e565b806323b872dd146102795780633bc5de301461029557806342842e0e146102b35761018e565b806301ffc9a71461019357806306fdde03146101c3578063081812fc146101e1578063095ea7b3146102115780630ca761751461022d5780632378502714610249575b600080fd5b6101ad60048036038101906101a891906139f6565b610530565b6040516101ba9190613a3e565b60405180910390f35b6101cb610591565b6040516101d89190613ae9565b60405180910390f35b6101fb60048036038101906101f69190613b41565b610623565b6040516102089190613baf565b60405180910390f35b61022b60048036038101906102269190613bf6565b610669565b005b61024760048036038101906102429190613da1565b610780565b005b610263600480360381019061025e9190613ea8565b610842565b6040516102709190613f0a565b60405180910390f35b610293600480360381019061028e9190613f25565b610929565b005b61029d610989565b6040516102aa9190613ae9565b60405180910390f35b6102cd60048036038101906102c89190613f25565b610a17565b005b6102e960048036038101906102e49190613b41565b610a37565b005b61030560048036038101906103009190614019565b610afe565b604051610312919061412f565b60405180910390f35b61033560048036038101906103309190613b41565b610c76565b6040516103429190613baf565b60405180910390f35b6103656004803603810190610360919061414a565b610cfc565b604051610372919061412f565b60405180910390f35b610383610db3565b005b61038d610f4a565b60405161039a9190613baf565b60405180910390f35b6103ab610f74565b6040516103b89190613ae9565b60405180910390f35b6103db60048036038101906103d691906141a3565b611006565b005b6103e561101c565b6040516103f2919061436f565b60405180910390f35b61041560048036038101906104109190614391565b611287565b005b61041f6112e9565b60405161042c9190613ae9565b60405180910390f35b61044f600480360381019061044a9190613b41565b611377565b60405161045c9190613ae9565b60405180910390f35b61047f600480360381019061047a9190613b41565b611489565b60405161048f9493929190614414565b60405180910390f35b6104b260048036038101906104ad919061414a565b611681565b005b6104ce60048036038101906104c9919061446e565b6116cd565b6040516104db9190613a3e565b60405180910390f35b6104fe60048036038101906104f9919061414a565b611761565b005b61051a60048036038101906105159190613b41565b611775565b604051610527919061451f565b60405180910390f35b6000634906490660e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061058a5750610589826119bd565b5b9050919050565b6060600080546105a090614570565b80601f01602080910402602001604051908101604052809291908181526020018280546105cc90614570565b80156106195780601f106105ee57610100808354040283529160200191610619565b820191906000526020600020905b8154815290600101906020018083116105fc57829003601f168201915b5050505050905090565b600061062e82611a9f565b6004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b600061067482610c76565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036106e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106db90614613565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16610703611aea565b73ffffffffffffffffffffffffffffffffffffffff16148061073257506107318161072c611aea565b6116cd565b5b610771576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610768906146a5565b60405180910390fd5b61077b8383611af2565b505050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610805576040517fc6829f8300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610810838383611bab565b827f85e1543bf2f84fe80c6badbce3648c8539ad1df4d2b3d822938ca0538be727e660405160405180910390a2505050565b600061084c613843565b6108d23073ffffffffffffffffffffffffffffffffffffffff16633bc5de306040518163ffffffff1660e01b8152600401600060405180830381865afa15801561089a573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906108c39190614735565b82611c4090919063ffffffff16565b6108e66108de82611c51565b868686612061565b91507f24a5d69f0e061297f5ad1cfb60d3bcfbde0095cd44739922aec5a683544ecb3b428360405161091992919061477e565b60405180910390a1509392505050565b61093a610934611aea565b82612144565b610979576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161097090614819565b60405180910390fd5b6109848383836121d9565b505050565b6009805461099690614570565b80601f01602080910402602001604051908101604052809291908181526020018280546109c290614570565b8015610a0f5780601f106109e457610100808354040283529160200191610a0f565b820191906000526020600020905b8154815290600101906020018083116109f257829003601f168201915b505050505081565b610a3283838360405180602001604052806000815250611287565b505050565b610a3f6124d2565b610a4881612564565b600c8181548110610a5c57610a5b614839565b5b9060005260206000209060040201600080820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055600182016000610aa291906138b5565b600282016000610ab291906138b5565b600382016000610ac291906138b5565b50507fda823045d73fd00466a03f71fcdedec54c8f2a70f3e1a6271f6f19b3d1e58d7581604051610af3919061412f565b60405180910390a150565b600080610b0b600a6125b7565b9050610b1733826125c5565b610b2181886127e2565b600c60405180608001604052803373ffffffffffffffffffffffffffffffffffffffff16815260200187815260200186815260200185815250908060018154018082558091505060019003906000526020600020906004020160009091909190915060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506020820151816001019081610bdf9190614a14565b506040820151816002019081610bf59190614a14565b506060820151816003019081610c0b9190614a14565b505050803373ffffffffffffffffffffffffffffffffffffffff167f0ebd0c547e55e6c673bf2fbf3ec9327af567ebcc120ce1faa5f02ca5a83282e98989604051610c57929190614ae6565b60405180910390a3610c69600a612886565b8091505095945050505050565b600080610c828361289c565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610cf3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cea90614b69565b60405180910390fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610d6c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d6390614bfb565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610e43576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e3a90614c67565b60405180910390fd5b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905033600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060018054610f8390614570565b80601f0160208091040260200160405190810160405280929190818152602001828054610faf90614570565b8015610ffc5780601f10610fd157610100808354040283529160200191610ffc565b820191906000526020600020905b815481529060010190602001808311610fdf57829003601f168201915b5050505050905090565b611018611011611aea565b83836128d9565b5050565b6060600c805480602002602001604051908101604052809291908181526020016000905b8282101561127e57838290600052602060002090600402016040518060800160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820180546110c990614570565b80601f01602080910402602001604051908101604052809291908181526020018280546110f590614570565b80156111425780601f1061111757610100808354040283529160200191611142565b820191906000526020600020905b81548152906001019060200180831161112557829003601f168201915b5050505050815260200160028201805461115b90614570565b80601f016020809104026020016040519081016040528092919081815260200182805461118790614570565b80156111d45780601f106111a9576101008083540402835291602001916111d4565b820191906000526020600020905b8154815290600101906020018083116111b757829003601f168201915b505050505081526020016003820180546111ed90614570565b80601f016020809104026020016040519081016040528092919081815260200182805461121990614570565b80156112665780601f1061123b57610100808354040283529160200191611266565b820191906000526020600020905b81548152906001019060200180831161124957829003601f168201915b50505050508152505081526020019060010190611040565b50505050905090565b611298611292611aea565b83612144565b6112d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112ce90614819565b60405180910390fd5b6112e384848484612a45565b50505050565b600d80546112f690614570565b80601f016020809104026020016040519081016040528092919081815260200182805461132290614570565b801561136f5780601f106113445761010080835404028352916020019161136f565b820191906000526020600020905b81548152906001019060200180831161135257829003601f168201915b505050505081565b606061138282611a9f565b60006006600084815260200190815260200160002080546113a290614570565b80601f01602080910402602001604051908101604052809291908181526020018280546113ce90614570565b801561141b5780601f106113f05761010080835404028352916020019161141b565b820191906000526020600020905b8154815290600101906020018083116113fe57829003601f168201915b50505050509050600061142c612aa1565b90506000815103611441578192505050611484565b60008251111561147657808260405160200161145e929190614cc3565b60405160208183030381529060405292505050611484565b61147f84612ab8565b925050505b919050565b600c818154811061149957600080fd5b90600052602060002090600402016000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010180546114e290614570565b80601f016020809104026020016040519081016040528092919081815260200182805461150e90614570565b801561155b5780601f106115305761010080835404028352916020019161155b565b820191906000526020600020905b81548152906001019060200180831161153e57829003601f168201915b50505050509080600201805461157090614570565b80601f016020809104026020016040519081016040528092919081815260200182805461159c90614570565b80156115e95780601f106115be576101008083540402835291602001916115e9565b820191906000526020600020905b8154815290600101906020018083116115cc57829003601f168201915b5050505050908060030180546115fe90614570565b80601f016020809104026020016040519081016040528092919081815260200182805461162a90614570565b80156116775780601f1061164c57610100808354040283529160200191611677565b820191906000526020600020905b81548152906001019060200180831161165a57829003601f168201915b5050505050905084565b6116896124d2565b80600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6117696124d2565b61177281612b20565b50565b61177d6138f5565b600c828154811061179157611790614839565b5b90600052602060002090600402016040518060800160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200160018201805461181090614570565b80601f016020809104026020016040519081016040528092919081815260200182805461183c90614570565b80156118895780601f1061185e57610100808354040283529160200191611889565b820191906000526020600020905b81548152906001019060200180831161186c57829003601f168201915b505050505081526020016002820180546118a290614570565b80601f01602080910402602001604051908101604052809291908181526020018280546118ce90614570565b801561191b5780601f106118f05761010080835404028352916020019161191b565b820191906000526020600020905b8154815290600101906020018083116118fe57829003601f168201915b5050505050815260200160038201805461193490614570565b80601f016020809104026020016040519081016040528092919081815260200182805461196090614570565b80156119ad5780601f10611982576101008083540402835291602001916119ad565b820191906000526020600020905b81548152906001019060200180831161199057829003601f168201915b5050505050815250509050919050565b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480611a8857507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80611a985750611a9782612c4e565b5b9050919050565b611aa881612cb8565b611ae7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ade90614b69565b60405180910390fd5b50565b600033905090565b816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16611b6583610c76565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000815114611bf157806040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611be89190613ae9565b60405180910390fd5b81600d9081611c009190614a14565b507f38944c35fa87deb6b9e51ddf2077c0341c4fe34dbbdf0098f3f9d7603e7eb511600d42604051611c33929190614d6b565b60405180910390a1505050565b611c4d8260008084612cf9565b5050565b60606000611c60610100612da3565b9050611caa6040518060400160405280600c81526020017f636f64654c6f636174696f6e000000000000000000000000000000000000000081525082612dca90919063ffffffff16565b611cd383600001516002811115611cc457611cc3614d9b565b5b82612df390919063ffffffff16565b611d1b6040518060400160405280600881526020017f6c616e677561676500000000000000000000000000000000000000000000000081525082612dca90919063ffffffff16565b611d4483604001516000811115611d3557611d34614d9b565b5b82612df390919063ffffffff16565b611d8c6040518060400160405280600681526020017f736f75726365000000000000000000000000000000000000000000000000000081525082612dca90919063ffffffff16565b611da3836060015182612dca90919063ffffffff16565b60008360a00151511115611e5957611df96040518060400160405280600481526020017f617267730000000000000000000000000000000000000000000000000000000081525082612dca90919063ffffffff16565b611e0281612e43565b60005b8360a0015151811015611e4e57611e438460a001518281518110611e2c57611e2b614839565b5b602002602001015183612dca90919063ffffffff16565b806001019050611e05565b50611e5881612e6b565b5b60008360800151511115611f9a5760006002811115611e7b57611e7a614d9b565b5b83602001516002811115611e9257611e91614d9b565b5b03611ec9576040517fa80d31f700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611f116040518060400160405280600f81526020017f736563726574734c6f636174696f6e000000000000000000000000000000000081525082612dca90919063ffffffff16565b611f3a83602001516002811115611f2b57611f2a614d9b565b5b82612df390919063ffffffff16565b611f826040518060400160405280600781526020017f736563726574730000000000000000000000000000000000000000000000000081525082612dca90919063ffffffff16565b611f99836080015182612e9390919063ffffffff16565b5b60008360c0015151111561205057611ff06040518060400160405280600981526020017f627974657341726773000000000000000000000000000000000000000000000081525082612dca90919063ffffffff16565b611ff981612e43565b60005b8360c00151518110156120455761203a8460c00151828151811061202357612022614839565b5b602002602001015183612e9390919063ffffffff16565b806001019050611ffc565b5061204f81612e6b565b5b806000015160000151915050919050565b6000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663461d27628688600188886040518663ffffffff1660e01b81526004016120c6959493929190614e5a565b6020604051808303816000875af11580156120e5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121099190614ec9565b9050807f1131472297a800fee664d1d89cfa8f7676ff07189ecc53f80bbb5f4969099db860405160405180910390a280915050949350505050565b60008061215083610c76565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480612192575061219181856116cd565b5b806121d057508373ffffffffffffffffffffffffffffffffffffffff166121b884610623565b73ffffffffffffffffffffffffffffffffffffffff16145b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff166121f982610c76565b73ffffffffffffffffffffffffffffffffffffffff161461224f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161224690614f68565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036122be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122b590614ffa565b60405180910390fd5b6122cb8383836001612ebc565b8273ffffffffffffffffffffffffffffffffffffffff166122eb82610c76565b73ffffffffffffffffffffffffffffffffffffffff1614612341576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161233890614f68565b60405180910390fd5b6004600082815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a46124cd8383836001612ec2565b505050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612562576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161255990615066565b60405180910390fd5b565b61256d81612ec8565b600060066000838152602001908152602001600020805461258d90614570565b9050146125b4576006600082815260200190815260200160002060006125b391906138b5565b5b50565b600081600001549050919050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612634576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161262b906150d2565b60405180910390fd5b61263d81612cb8565b1561267d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126749061513e565b60405180910390fd5b61268b600083836001612ebc565b61269481612cb8565b156126d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126cb9061513e565b60405180910390fd5b6001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a46127de600083836001612ec2565b5050565b6127eb82612cb8565b61282a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612821906151d0565b60405180910390fd5b8060066000848152602001908152602001600020908161284a9190614a14565b507ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce78260405161287a919061412f565b60405180910390a15050565b6001816000016000828254019250508190555050565b60006002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612947576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161293e9061523c565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051612a389190613a3e565b60405180910390a3505050565b612a508484846121d9565b612a5c84848484613016565b612a9b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a92906152ce565b60405180910390fd5b50505050565b606060405180602001604052806000815250905090565b6060612ac382611a9f565b6000612acd612aa1565b90506000815111612aed5760405180602001604052806000815250612b18565b80612af78461319d565b604051602001612b08929190614cc3565b6040516020818303038152906040525b915050919050565b3373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612b8e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b859061533a565b60405180910390fd5b80600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fed8889f560326eb138920d842192f0eb3dd22b4f139c87a2c57538e05bae127860405160405180910390a350565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b60008073ffffffffffffffffffffffffffffffffffffffff16612cda8361289c565b73ffffffffffffffffffffffffffffffffffffffff1614159050919050565b6000815103612d34576040517f22ce3edd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8284600001906002811115612d4c57612d4b614d9b565b5b90816002811115612d6057612d5f614d9b565b5b815250508184604001906000811115612d7c57612d7b614d9b565b5b90816000811115612d9057612d8f614d9b565b5b8152505080846060018190525050505050565b612dab613933565b612db981600001518361326b565b506000816020018181525050919050565b612dd782600383516132e4565b612dee81836000015161348d90919063ffffffff16565b505050565b612e1560026005600660ff16901b1783600001516134a990919063ffffffff16565b50612e3f8282604051602001612e2b919061412f565b604051602081830303815290604052612e93565b5050565b612e4e816004613513565b600181602001818151612e619190615389565b9150818152505050565b612e76816007613513565b600181602001818151612e8991906153bd565b9150818152505050565b612ea082600283516132e4565b612eb781836000015161348d90919063ffffffff16565b505050565b50505050565b50505050565b6000612ed382610c76565b9050612ee3816000846001612ebc565b612eec82610c76565b90506004600083815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506002600083815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905581600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4613012816000846001612ec2565b5050565b60006130378473ffffffffffffffffffffffffffffffffffffffff16613539565b15613190578373ffffffffffffffffffffffffffffffffffffffff1663150b7a02613060611aea565b8786866040518563ffffffff1660e01b815260040161308294939291906153f1565b6020604051808303816000875af19250505080156130be57506040513d601f19601f820116820180604052508101906130bb9190615452565b60015b613140573d80600081146130ee576040519150601f19603f3d011682016040523d82523d6000602084013e6130f3565b606091505b506000815103613138576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161312f906152ce565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050613195565b600190505b949350505050565b6060600060016131ac8461355c565b01905060008167ffffffffffffffff8111156131cb576131ca613c76565b5b6040519080825280601f01601f1916602001820160405280156131fd5781602001600182028036833780820191505090505b509050600082602001820190505b600115613260578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a85816132545761325361547f565b5b0494506000850361320b575b819350505050919050565b613273613953565b600060208361328291906154ae565b146132ae5760208261329491906154ae565b60206132a091906153bd565b826132ab9190615389565b91505b8183602001818152505060405180845260008152828101602001818110156132d557600080fd5b80604052505082905092915050565b60178167ffffffffffffffff161161331f576133198160058460ff16901b60ff161784600001516134a990919063ffffffff16565b50613488565b60ff8167ffffffffffffffff161161337d57613352601860058460ff16901b1784600001516134a990919063ffffffff16565b506133778167ffffffffffffffff16600185600001516136af9092919063ffffffff16565b50613487565b61ffff8167ffffffffffffffff16116133dc576133b1601960058460ff16901b1784600001516134a990919063ffffffff16565b506133d68167ffffffffffffffff16600285600001516136af9092919063ffffffff16565b50613486565b63ffffffff8167ffffffffffffffff161161343d57613412601a60058460ff16901b1784600001516134a990919063ffffffff16565b506134378167ffffffffffffffff16600485600001516136af9092919063ffffffff16565b50613485565b61345e601b60058460ff16901b1784600001516134a990919063ffffffff16565b506134838167ffffffffffffffff16600885600001516136af9092919063ffffffff16565b505b5b5b5b505050565b613495613953565b6134a18383845161373c565b905092915050565b6134b1613953565b6000836000015151905060006001826134ca9190615389565b9050846020015182106134ee576134ed856002836134e891906154df565b61381f565b5b84516020838201018581538151831115613506578282525b5050849250505092915050565b613534601f60058360ff16901b1783600001516134a990919063ffffffff16565b505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b600080600090507a184f03e93ff9f4daa797ed6e38ed64bf6a1f01000000000000000083106135ba577a184f03e93ff9f4daa797ed6e38ed64bf6a1f01000000000000000083816135b0576135af61547f565b5b0492506040810190505b6d04ee2d6d415b85acef810000000083106135f7576d04ee2d6d415b85acef810000000083816135ed576135ec61547f565b5b0492506020810190505b662386f26fc10000831061362657662386f26fc10000838161361c5761361b61547f565b5b0492506010810190505b6305f5e100831061364f576305f5e10083816136455761364461547f565b5b0492506008810190505b612710831061367457612710838161366a5761366961547f565b5b0492506004810190505b60648310613697576064838161368d5761368c61547f565b5b0492506002810190505b600a83106136a6576001810190505b80915050919050565b6136b7613953565b60008460000151519050600081846136cf9190615389565b905085602001518111156136f4576136f3866002836136ee91906154df565b61381f565b5b60006001856101006137069190615654565b61371091906153bd565b90508651828101878319825116178152815184111561372d578382525b50508693505050509392505050565b613744613953565b825182111561375257600080fd5b600084600001515190506000838261376a9190615389565b9050856020015181111561378f5761378e8660028361378991906154df565b61381f565b5b600080875180518560208301019350808511156137aa578482525b60208901925050505b602086106137f157805182526020826137cc9190615389565b91506020816137db9190615389565b90506020866137ea91906153bd565b95506137b3565b60006001876020036101000a0390508019825116818451168181178552505050879450505050509392505050565b600082600001519050613832838361326b565b5061383d838261348d565b50505050565b6040518060e001604052806000600281111561386257613861614d9b565b5b81526020016000600281111561387b5761387a614d9b565b5b815260200160008081111561389357613892614d9b565b5b8152602001606081526020016060815260200160608152602001606081525090565b5080546138c190614570565b6000825580601f106138d357506138f2565b601f0160209004906000526020600020908101906138f1919061396d565b5b50565b6040518060800160405280600073ffffffffffffffffffffffffffffffffffffffff1681526020016060815260200160608152602001606081525090565b6040518060400160405280613946613953565b8152602001600081525090565b604051806040016040528060608152602001600081525090565b5b8082111561398657600081600090555060010161396e565b5090565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6139d38161399e565b81146139de57600080fd5b50565b6000813590506139f0816139ca565b92915050565b600060208284031215613a0c57613a0b613994565b5b6000613a1a848285016139e1565b91505092915050565b60008115159050919050565b613a3881613a23565b82525050565b6000602082019050613a536000830184613a2f565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015613a93578082015181840152602081019050613a78565b60008484015250505050565b6000601f19601f8301169050919050565b6000613abb82613a59565b613ac58185613a64565b9350613ad5818560208601613a75565b613ade81613a9f565b840191505092915050565b60006020820190508181036000830152613b038184613ab0565b905092915050565b6000819050919050565b613b1e81613b0b565b8114613b2957600080fd5b50565b600081359050613b3b81613b15565b92915050565b600060208284031215613b5757613b56613994565b5b6000613b6584828501613b2c565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000613b9982613b6e565b9050919050565b613ba981613b8e565b82525050565b6000602082019050613bc46000830184613ba0565b92915050565b613bd381613b8e565b8114613bde57600080fd5b50565b600081359050613bf081613bca565b92915050565b60008060408385031215613c0d57613c0c613994565b5b6000613c1b85828601613be1565b9250506020613c2c85828601613b2c565b9150509250929050565b6000819050919050565b613c4981613c36565b8114613c5457600080fd5b50565b600081359050613c6681613c40565b92915050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b613cae82613a9f565b810181811067ffffffffffffffff82111715613ccd57613ccc613c76565b5b80604052505050565b6000613ce061398a565b9050613cec8282613ca5565b919050565b600067ffffffffffffffff821115613d0c57613d0b613c76565b5b613d1582613a9f565b9050602081019050919050565b82818337600083830152505050565b6000613d44613d3f84613cf1565b613cd6565b905082815260208101848484011115613d6057613d5f613c71565b5b613d6b848285613d22565b509392505050565b600082601f830112613d8857613d87613c6c565b5b8135613d98848260208601613d31565b91505092915050565b600080600060608486031215613dba57613db9613994565b5b6000613dc886828701613c57565b935050602084013567ffffffffffffffff811115613de957613de8613999565b5b613df586828701613d73565b925050604084013567ffffffffffffffff811115613e1657613e15613999565b5b613e2286828701613d73565b9150509250925092565b600067ffffffffffffffff82169050919050565b613e4981613e2c565b8114613e5457600080fd5b50565b600081359050613e6681613e40565b92915050565b600063ffffffff82169050919050565b613e8581613e6c565b8114613e9057600080fd5b50565b600081359050613ea281613e7c565b92915050565b600080600060608486031215613ec157613ec0613994565b5b6000613ecf86828701613e57565b9350506020613ee086828701613e93565b9250506040613ef186828701613c57565b9150509250925092565b613f0481613c36565b82525050565b6000602082019050613f1f6000830184613efb565b92915050565b600080600060608486031215613f3e57613f3d613994565b5b6000613f4c86828701613be1565b9350506020613f5d86828701613be1565b9250506040613f6e86828701613b2c565b9150509250925092565b600067ffffffffffffffff821115613f9357613f92613c76565b5b613f9c82613a9f565b9050602081019050919050565b6000613fbc613fb784613f78565b613cd6565b905082815260208101848484011115613fd857613fd7613c71565b5b613fe3848285613d22565b509392505050565b600082601f83011261400057613fff613c6c565b5b8135614010848260208601613fa9565b91505092915050565b600080600080600060a0868803121561403557614034613994565b5b600086013567ffffffffffffffff81111561405357614052613999565b5b61405f88828901613feb565b955050602086013567ffffffffffffffff8111156140805761407f613999565b5b61408c88828901613feb565b945050604086013567ffffffffffffffff8111156140ad576140ac613999565b5b6140b988828901613feb565b935050606086013567ffffffffffffffff8111156140da576140d9613999565b5b6140e688828901613feb565b925050608086013567ffffffffffffffff81111561410757614106613999565b5b61411388828901613feb565b9150509295509295909350565b61412981613b0b565b82525050565b60006020820190506141446000830184614120565b92915050565b6000602082840312156141605761415f613994565b5b600061416e84828501613be1565b91505092915050565b61418081613a23565b811461418b57600080fd5b50565b60008135905061419d81614177565b92915050565b600080604083850312156141ba576141b9613994565b5b60006141c885828601613be1565b92505060206141d98582860161418e565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61421881613b8e565b82525050565b600082825260208201905092915050565b600061423a82613a59565b614244818561421e565b9350614254818560208601613a75565b61425d81613a9f565b840191505092915050565b6000608083016000830151614280600086018261420f565b5060208301518482036020860152614298828261422f565b915050604083015184820360408601526142b2828261422f565b915050606083015184820360608601526142cc828261422f565b9150508091505092915050565b60006142e58383614268565b905092915050565b6000602082019050919050565b6000614305826141e3565b61430f81856141ee565b935083602082028501614321856141ff565b8060005b8581101561435d578484038952815161433e85826142d9565b9450614349836142ed565b925060208a01995050600181019050614325565b50829750879550505050505092915050565b6000602082019050818103600083015261438981846142fa565b905092915050565b600080600080608085870312156143ab576143aa613994565b5b60006143b987828801613be1565b94505060206143ca87828801613be1565b93505060406143db87828801613b2c565b925050606085013567ffffffffffffffff8111156143fc576143fb613999565b5b61440887828801613d73565b91505092959194509250565b60006080820190506144296000830187613ba0565b818103602083015261443b8186613ab0565b9050818103604083015261444f8185613ab0565b905081810360608301526144638184613ab0565b905095945050505050565b6000806040838503121561448557614484613994565b5b600061449385828601613be1565b92505060206144a485828601613be1565b9150509250929050565b60006080830160008301516144c6600086018261420f565b50602083015184820360208601526144de828261422f565b915050604083015184820360408601526144f8828261422f565b91505060608301518482036060860152614512828261422f565b9150508091505092915050565b6000602082019050818103600083015261453981846144ae565b905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061458857607f821691505b60208210810361459b5761459a614541565b5b50919050565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b60006145fd602183613a64565b9150614608826145a1565b604082019050919050565b6000602082019050818103600083015261462c816145f0565b9050919050565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60008201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000602082015250565b600061468f603d83613a64565b915061469a82614633565b604082019050919050565b600060208201905081810360008301526146be81614682565b9050919050565b60006146d86146d384613f78565b613cd6565b9050828152602081018484840111156146f4576146f3613c71565b5b6146ff848285613a75565b509392505050565b600082601f83011261471c5761471b613c6c565b5b815161472c8482602086016146c5565b91505092915050565b60006020828403121561474b5761474a613994565b5b600082015167ffffffffffffffff81111561476957614768613999565b5b61477584828501614707565b91505092915050565b60006040820190506147936000830185614120565b6147a06020830184613efb565b9392505050565b7f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560008201527f72206f7220617070726f76656400000000000000000000000000000000000000602082015250565b6000614803602d83613a64565b915061480e826147a7565b604082019050919050565b60006020820190508181036000830152614832816147f6565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026148ca7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8261488d565b6148d4868361488d565b95508019841693508086168417925050509392505050565b6000819050919050565b600061491161490c61490784613b0b565b6148ec565b613b0b565b9050919050565b6000819050919050565b61492b836148f6565b61493f61493782614918565b84845461489a565b825550505050565b600090565b614954614947565b61495f818484614922565b505050565b5b818110156149835761497860008261494c565b600181019050614965565b5050565b601f8211156149c85761499981614868565b6149a28461487d565b810160208510156149b1578190505b6149c56149bd8561487d565b830182614964565b50505b505050565b600082821c905092915050565b60006149eb600019846008026149cd565b1980831691505092915050565b6000614a0483836149da565b9150826002028217905092915050565b614a1d82613a59565b67ffffffffffffffff811115614a3657614a35613c76565b5b614a408254614570565b614a4b828285614987565b600060209050601f831160018114614a7e5760008415614a6c578287015190505b614a7685826149f8565b865550614ade565b601f198416614a8c86614868565b60005b82811015614ab457848901518255600182019150602085019450602081019050614a8f565b86831015614ad15784890151614acd601f8916826149da565b8355505b6001600288020188555050505b505050505050565b60006040820190508181036000830152614b008185613ab0565b90508181036020830152614b148184613ab0565b90509392505050565b7f4552433732313a20696e76616c696420746f6b656e2049440000000000000000600082015250565b6000614b53601883613a64565b9150614b5e82614b1d565b602082019050919050565b60006020820190508181036000830152614b8281614b46565b9050919050565b7f4552433732313a2061646472657373207a65726f206973206e6f74206120766160008201527f6c6964206f776e65720000000000000000000000000000000000000000000000602082015250565b6000614be5602983613a64565b9150614bf082614b89565b604082019050919050565b60006020820190508181036000830152614c1481614bd8565b9050919050565b7f4d7573742062652070726f706f736564206f776e657200000000000000000000600082015250565b6000614c51601683613a64565b9150614c5c82614c1b565b602082019050919050565b60006020820190508181036000830152614c8081614c44565b9050919050565b600081905092915050565b6000614c9d82613a59565b614ca78185614c87565b9350614cb7818560208601613a75565b80840191505092915050565b6000614ccf8285614c92565b9150614cdb8284614c92565b91508190509392505050565b60008154614cf481614570565b614cfe8186613a64565b94506001821660008114614d195760018114614d2f57614d62565b60ff198316865281151560200286019350614d62565b614d3885614868565b60005b83811015614d5a57815481890152600182019150602081019050614d3b565b808801955050505b50505092915050565b60006040820190508181036000830152614d858185614ce7565b9050614d946020830184614120565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b614dd381613e2c565b82525050565b600081519050919050565b600082825260208201905092915050565b6000614e0082614dd9565b614e0a8185614de4565b9350614e1a818560208601613a75565b614e2381613a9f565b840191505092915050565b600061ffff82169050919050565b614e4581614e2e565b82525050565b614e5481613e6c565b82525050565b600060a082019050614e6f6000830188614dca565b8181036020830152614e818187614df5565b9050614e906040830186614e3c565b614e9d6060830185614e4b565b614eaa6080830184613efb565b9695505050505050565b600081519050614ec381613c40565b92915050565b600060208284031215614edf57614ede613994565b5b6000614eed84828501614eb4565b91505092915050565b7f4552433732313a207472616e736665722066726f6d20696e636f72726563742060008201527f6f776e6572000000000000000000000000000000000000000000000000000000602082015250565b6000614f52602583613a64565b9150614f5d82614ef6565b604082019050919050565b60006020820190508181036000830152614f8181614f45565b9050919050565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000614fe4602483613a64565b9150614fef82614f88565b604082019050919050565b6000602082019050818103600083015261501381614fd7565b9050919050565b7f4f6e6c792063616c6c61626c65206279206f776e657200000000000000000000600082015250565b6000615050601683613a64565b915061505b8261501a565b602082019050919050565b6000602082019050818103600083015261507f81615043565b9050919050565b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b60006150bc602083613a64565b91506150c782615086565b602082019050919050565b600060208201905081810360008301526150eb816150af565b9050919050565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b6000615128601c83613a64565b9150615133826150f2565b602082019050919050565b600060208201905081810360008301526151578161511b565b9050919050565b7f45524337323155524953746f726167653a2055524920736574206f66206e6f6e60008201527f6578697374656e7420746f6b656e000000000000000000000000000000000000602082015250565b60006151ba602e83613a64565b91506151c58261515e565b604082019050919050565b600060208201905081810360008301526151e9816151ad565b9050919050565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b6000615226601983613a64565b9150615231826151f0565b602082019050919050565b6000602082019050818103600083015261525581615219565b9050919050565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b60006152b8603283613a64565b91506152c38261525c565b604082019050919050565b600060208201905081810360008301526152e7816152ab565b9050919050565b7f43616e6e6f74207472616e7366657220746f2073656c66000000000000000000600082015250565b6000615324601783613a64565b915061532f826152ee565b602082019050919050565b6000602082019050818103600083015261535381615317565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061539482613b0b565b915061539f83613b0b565b92508282019050808211156153b7576153b661535a565b5b92915050565b60006153c882613b0b565b91506153d383613b0b565b92508282039050818111156153eb576153ea61535a565b5b92915050565b60006080820190506154066000830187613ba0565b6154136020830186613ba0565b6154206040830185614120565b81810360608301526154328184614df5565b905095945050505050565b60008151905061544c816139ca565b92915050565b60006020828403121561546857615467613994565b5b60006154768482850161543d565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006154b982613b0b565b91506154c483613b0b565b9250826154d4576154d361547f565b5b828206905092915050565b60006154ea82613b0b565b91506154f583613b0b565b925082820261550381613b0b565b9150828204841483151761551a5761551961535a565b5b5092915050565b60008160011c9050919050565b6000808291508390505b6001851115615578578086048111156155545761555361535a565b5b60018516156155635780820291505b808102905061557185615521565b9450615538565b94509492505050565b600082615591576001905061564d565b8161559f576000905061564d565b81600181146155b557600281146155bf576155ee565b600191505061564d565b60ff8411156155d1576155d061535a565b5b8360020a9150848211156155e8576155e761535a565b5b5061564d565b5060208310610133831016604e8410600b84101617156156235782820a90508381111561561e5761561d61535a565b5b61564d565b615630848484600161552e565b925090508184048111156156475761564661535a565b5b81810290505b9392505050565b600061565f82613b0b565b915061566a83613b0b565b92506156977fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484615581565b90509291505056fea2646970667358221220cf0fc4aea4abb509319fedb4056ac52d750d3ffed10840f9af31bc196556d60f64736f6c63430008180033636f6e7374206765744c616e6444657461696c7346726f6d536572766572203d2061776169742046756e6374696f6e732e6d616b654874747052657175657374287b75726c3a206068747470733a2f2f61677269637969656c642e76657263656c2e6170702f6170692f6c616e64602c7d293b72657475726e2046756e6374696f6e732e656e636f6465537472696e67286765744c616e6444657461696c7346726f6d5365727665722e64617461293b000000000000000000000000f9b8fc078197181c841c296c876945aaa425b278