//
0x608080604052346100165761119e908161001c8239f35b600080fdfe6040608081526004908136101561001557600080fd5b600091823560e01c9081631013facc14610dbf5781631b6d7d3014610d975781633540bae714610bec5781633ad9adde14610bae57816358e8bdc714610b86578163683b9c2414610b4257816369f41c3814610969578163715018a6146108e95781638da5cb5b146108b457816395cc70861461087f57816396fcc7ec146107f3578163a035b1fe146107d4578163a2b40d1914610786578163ba13f48d1461060b578163cd6dc687146103eb578163de6d6d96146101da578163f2fde38b14610120575063f60ca60d146100e957600080fd5b3461011c578160031936011261011c5760209073ffffffffffffffffffffffffffffffffffffffff606554169051908152f35b5080fd5b9050346101d65760206003193601126101d65761013b610e9c565b91610144610ef0565b73ffffffffffffffffffffffffffffffffffffffff83161561016d578361016a84610f55565b80f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152fd5b8280fd5b9050346101d657816003193601126101d65767ffffffffffffffff9080358281116103e75761020c9036908301610ebf565b93909260249485358281116103e3576102289036908601610ebf565b9091610232610ef0565b8181036103a157885b818110610246578980f35b8961025282848b611152565b3573ffffffffffffffffffffffffffffffffffffffff8116810361011c578180809261027f86898b611152565b35905af13d1561039c573d868111610371578b8851916020906102c9827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8401160185611033565b83523d92013e5b1561032f577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146103045760010161023b565b888a6011897f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b606487600d8b60208a519362461bcd60e51b85528401528201527f7472616e73666572206661696c000000000000000000000000000000000000006044820152fd5b8a8c60418b7f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b6102d0565b606486600f8a602089519362461bcd60e51b85528401528201527f696e76616c6964207265717565737400000000000000000000000000000000006044820152fd5b8780fd5b8480fd5b9050346101d657816003193601126101d657610405610e9c565b60243590845460ff8160081c1615938480956105fe575b80156105e7575b1561057e575073ffffffffffffffffffffffffffffffffffffffff7ffb9d66c34fa43208534a846ef789547e25046760500fdf53af4204cbe4e16c8992828660017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0060209616178a55610550575b506104ab60ff895460081c166104a681610fc2565b610fc2565b6104b433610f55565b16927fffffffffffffffffffffffff00000000000000000000000000000000000000008481606554161760655581606755339060665416176066558551908152a26104fd575080f35b60207f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff84541684555160018152a180f35b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001661010117885538610491565b608490602087519162461bcd60e51b8352820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152fd5b50303b1580156104235750600160ff831614610423565b50600160ff83161061041c565b83838060031936011261011c5782359060243573ffffffffffffffffffffffffffffffffffffffff6065541691805180937f83927790000000000000000000000000000000000000000000000000000000008252858883015281602460209687935afa90811561077c579060ff91879161074f575b501661070d576067548083029083820414831517156106e157906106c97fd2269acf2bb676815583e7280e00db590013261796873aa44493d1f3124e8f999493923410156110bc565b848652606a835280862082815401905551908152a280f35b6024866011897f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b8583606492519162461bcd60e51b8352820152601560248201527f6f6e6c792068617264776172652070726f6a65637400000000000000000000006044820152fd5b61076f9150853d8711610775575b6107678183611033565b8101906110a3565b88610680565b503d61075d565b82513d88823e3d90fd5b9050346101d65760206003193601126101d6577ffb92488ba7c255b32158331b4dd67ae708a8761b850ca51d1bbf57c177d35f899160209135906107c8610ef0565b8160675551908152a180f35b50503461011c578160031936011261011c576020906067549051908152f35b833461087c57602060031936011261087c5773ffffffffffffffffffffffffffffffffffffffff610822610e9c565b61082a610ef0565b16807fffffffffffffffffffffffff000000000000000000000000000000000000000060665416176066557f0e4e1b407dc09e8d9c52675ad47f0daca260b620f13c8cb810cb0ec77ece03a48280a280f35b80fd5b50503461011c578160031936011261011c5760209073ffffffffffffffffffffffffffffffffffffffff606654169051908152f35b50503461011c578160031936011261011c5760209073ffffffffffffffffffffffffffffffffffffffff603354169051908152f35b833461087c578060031936011261087c57610902610ef0565b8073ffffffffffffffffffffffffffffffffffffffff6033547fffffffffffffffffffffffff00000000000000000000000000000000000000008116603355167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b919050346101d657806003193601126101d657813590610987610e74565b73ffffffffffffffffffffffffffffffffffffffff90816065541694835180967f6352211e00000000000000000000000000000000000000000000000000000000825286838301528160246020998a935afa908115610b38578891610b02575b508333911603610ac05784875260688652828488205416610a7e57508392916069911694858752818152610a1e8388205415611107565b83875260688152828720867fffffffffffffffffffffffff0000000000000000000000000000000000000000825416179055858752528420557f529447bfbe88a9e4f1c50a30b311b0631252ae491f6e151ba8e84d0e649397ac8380a380f35b6064908685519162461bcd60e51b8352820152600e60248201527f70726f6a656374207365747465640000000000000000000000000000000000006044820152fd5b6064908685519162461bcd60e51b8352820152601460248201527f696e76616c642070726f6a656374206f776e65720000000000000000000000006044820152fd5b90508681813d8311610b31575b610b198183611033565b810103126103e3575183811681036103e357386109e7565b503d610b0f565b85513d8a823e3d90fd5b50503461011c57602060031936011261011c578060209273ffffffffffffffffffffffffffffffffffffffff610b76610e9c565b1681526069845220549051908152f35b9050346101d65760206003193601126101d6576020928291358152606a845220549051908152f35b9050346101d65760206003193601126101d6578160209373ffffffffffffffffffffffffffffffffffffffff92358152606885522054169051908152f35b919050602080600319360112610d935782359273ffffffffffffffffffffffffffffffffffffffff80606654163303610d515782602491606554168551928380927f8392779000000000000000000000000000000000000000000000000000000000825289878301525afa908115610d47579060ff918791610d2a575b5016610d0257838552606a825282852054606b8352838620541015610cc15750606b905b838552528220600181540190557f4732294d0fde38d02939b299653d432493659f266b04114cb3072273b2a140098280a280f35b90606492519162461bcd60e51b8352820152601160248201527f696e73756666696369656e7420696f49440000000000000000000000000000006044820152fd5b50606b90610d146067543410156110bc565b838552606a815282852060018154019055610c8d565b610d419150843d8611610775576107678183611033565b38610c69565b84513d88823e3d90fd5b5090606492519162461bcd60e51b8352820152601160248201527f6f6e6c7920696f494452656769737472790000000000000000000000000000006044820152fd5b8380fd5b9050346101d65760206003193601126101d6576020928291358152606b845220549051908152f35b9050346101d657816003193601126101d657358073ffffffffffffffffffffffffffffffffffffffff610df0610e74565b610df8610ef0565b16928385526069602052610e0f8186205415611107565b8185526068602052808520847fffffffffffffffffffffffff000000000000000000000000000000000000000082541617905583855260696020528420557f529447bfbe88a9e4f1c50a30b311b0631252ae491f6e151ba8e84d0e649397ac8380a380f35b6024359073ffffffffffffffffffffffffffffffffffffffff82168203610e9757565b600080fd5b6004359073ffffffffffffffffffffffffffffffffffffffff82168203610e9757565b9181601f84011215610e975782359167ffffffffffffffff8311610e97576020808501948460051b010111610e9757565b73ffffffffffffffffffffffffffffffffffffffff603354163303610f1157565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b6033549073ffffffffffffffffffffffffffffffffffffffff80911691827fffffffffffffffffffffffff0000000000000000000000000000000000000000821617603355167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3565b15610fc957565b608460405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152fd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761107457604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b90816020910312610e97575160ff81168103610e975790565b156110c357565b606460405162461bcd60e51b815260206004820152601160248201527f696e73756666696369656e742066756e640000000000000000000000000000006044820152fd5b1561110e57565b606460405162461bcd60e51b815260206004820152600f60248201527f636f6e74726163742073657474656400000000000000000000000000000000006044820152fd5b91908110156111625760051b0190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fdfea164736f6c6343000813000a