From 9e21f9a61935233aa849ef9283366c4823c8afde Mon Sep 17 00:00:00 2001 From: Gunhyun Park Date: Wed, 15 Mar 2023 01:05:07 +0000 Subject: [PATCH] Address feedback --- docs/spec.md | 55 +- output.mlir | 12 - stablehlo/dialect/StablehloOps.td | 4 +- stablehlo/dialect/TypeInference.cpp | 61 +-- stablehlo/dialect/TypeInference.h | 5 + stablehlo/reference/Ops.cpp | 514 +++++++++--------- stablehlo/tests/interpret_convolution.mlir | 71 ++- stablehlo/tests/ops_stablehlo.mlir | 8 +- ...rify_conv.mlir => verify_convolution.mlir} | 336 ++++++------ valgrind-out.txt | 39 -- 10 files changed, 554 insertions(+), 551 deletions(-) delete mode 100644 output.mlir rename stablehlo/tests/{verify_conv.mlir => verify_convolution.mlir} (94%) delete mode 100644 valgrind-out.txt diff --git a/docs/spec.md b/docs/spec.md index 88c34826a55..4964c728465 100644 --- a/docs/spec.md +++ b/docs/spec.md @@ -1943,42 +1943,41 @@ If `batch_group_count > 1`: #### Constraints -* (C1) rank(`lhs`) $\ge$ 2. -* (C2) $N =$ rank(`lhs`) $=$ rank(`rhs`). -* (C3) element_type(`lhs`) $=$ element_type(`rhs`). -* (C4) size(`window_strides`) $= N - 2$. -* (C5) `window_strides[i]` $\gt 0$ for all i $\in$ [0, size(`window_strides`)). -* (C6) dim(`padding`, 0) $= N - 2$ and dim(`padding`, 1) = 2. -* (C7) size(`lhs_dilation`) $= N - 2$. -* (C8) `lhs_dilation[i]` $\gt 0$ for all i $\in$ [0, size(`lhs_dilation`)). -* (C9) size(`rhs_dilation`) $= N - 2$. -* (C10) `rhs_dilation[i]` $\gt 0$ for all i $\in$ [0, size(`rhs_dilation`)). -* (C11) size(`window_reversal`) $= N - 2$. -* (C12) `dim(lhs, input_batch_dimension) % batch_group_count = 0`. -* (C13) `dim(lhs, input_feature_dimension) % feature_group_count = 0`. -* (C14) size(`input_spatial_dimensions`) $= N - 2$. -* (C15) Given `input_dimensions = [input_batch_dimension] + +* (C1) $N =$ rank(`lhs`) $=$ rank(`rhs`). +* (C2) element_type(`lhs`) $=$ element_type(`rhs`). +* (C3) size(`window_strides`) $= N - 2$. +* (C4) `window_strides[i]` $\gt 0$ for all i $\in$ [0, size(`window_strides`)). +* (C5) dim(`padding`, 0) $= N - 2$ and dim(`padding`, 1) = 2. +* (C6) size(`lhs_dilation`) $= N - 2$. +* (C7) `lhs_dilation[i]` $\gt 0$ for all i $\in$ [0, size(`lhs_dilation`)). +* (C8) size(`rhs_dilation`) $= N - 2$. +* (C9) `rhs_dilation[i]` $\gt 0$ for all i $\in$ [0, size(`rhs_dilation`)). +* (C10) size(`window_reversal`) $= N - 2$. +* (C11) `dim(lhs, input_batch_dimension) % batch_group_count = 0`. +* (C12) `dim(lhs, input_feature_dimension) % feature_group_count = 0`. +* (C13) size(`input_spatial_dimensions`) $= N - 2$. +* (C14) Given `input_dimensions = [input_batch_dimension] + input_spatial_dimensions + [input_feature_dimension]`: * All dimensions in `input_dimensions` are unique. * For any i $\in$ `input_dimensions`, 0 $\le$ i $\lt$ N. -* (C16) `dim(rhs, kernel_input_feature_dimension = dim(lhs, input_feature_dimension) / feature_group_count`. -* (C17) `dim(rhs, kernel_output_feature_dimension) % batch_group_count = 0`. -* (C18) `dim(rhs, kernel_output_feature_dimension) % feature_group_count = 0`. -* (C19) size(`kernel_spatial_dimensions`) $= N - 2$. -* (C20) Given `kernel_dimensions = kernel_spatial_dimensions + +* (C15) `dim(rhs, kernel_input_feature_dimension = dim(lhs, input_feature_dimension) / feature_group_count`. +* (C16) `dim(rhs, kernel_output_feature_dimension) % batch_group_count = 0`. +* (C17) `dim(rhs, kernel_output_feature_dimension) % feature_group_count = 0`. +* (C18) size(`kernel_spatial_dimensions`) $= N - 2$. +* (C19) Given `kernel_dimensions = kernel_spatial_dimensions + [kernel_input_feature_dimension] + [kernel_output_feature_dimension]`: * All dimensions in `kernel_dimensions` are unique. * For any i $\in$ `kernel_dimensions`, 0 $\le$ i $\lt$ N. -* (C21) size(`output_spatial_dimensions`) $= N - 2$. -* (C22) Given `output_dimensions = [output_batch_dimension] + +* (C20) size(`output_spatial_dimensions`) $= N - 2$. +* (C21) Given `output_dimensions = [output_batch_dimension] + output_spatial_dimensions + [output_feature_dimension]`: * All dimensions in `output_dimensions` are unique. * For any i $\in$ `output_dimensions`, 0 $\le$ i $\lt$ N. -* (C23) `feature_group_count > 0`. -* (C24) `batch_group_count > 0`. -* (C25) Either `feature_group_count` $= 1$ or `batch_group_count` $= 1$. -* (C26) size(`precision_config`) $=$ 2. -* (C27) For result_dim $\in$ [0, N), `dim(result, result_dim)` is given by: +* (C22) `feature_group_count > 0`. +* (C23) `batch_group_count > 0`. +* (C24) Either `feature_group_count` $= 1$ or `batch_group_count` $= 1$. +* (C25) size(`precision_config`) $=$ 2. +* (C26) For result_dim $\in$ [0, N), `dim(result, result_dim)` is given by: * `dim(lhs, input_batch_dimension) / batch_group_count`, if `result_dim = output_batch_dimension`. * `dim(rhs, kernel_output_feature_dimension)`, if `result_dim = output_feature_dimension`. * `num_windows` otherwise, where: @@ -2026,8 +2025,8 @@ If `batch_group_count > 1`: // "i" is input feature dimension, "o" is output feature dimension, // "0/1/etc" are spatial dimensions. dimension_numbers = #stablehlo.conv<[b, 0, 1, f]x[0, 1, i, o]->[b, 0, 1, f]>, - feature_group_count = 1 : i64, batch_group_count = 1 : i64, + feature_group_count = 1 : i64, precision_config = [#stablehlo, #stablehlo] } : (tensor<1x4x4x1xi64>, tensor<3x3x1x1xi64>) -> tensor<1x2x2x1xi64> // %result: [[ diff --git a/output.mlir b/output.mlir deleted file mode 100644 index 63990db59f6..00000000000 --- a/output.mlir +++ /dev/null @@ -1,12 +0,0 @@ -module @jit_testcase { - func.func public @main() -> tensor { - %0 = stablehlo.constant dense<"0x977C4DC0E2B466BFC7CD23C054E585BFEBA143C0D420B5BEEBCFBC3E23EA134081A07D3CA2782FBEDC0D0A408D4C4A4043733F3E5746BF40496790BF74AAB43F9B9008401D899940A86B9740EC8BA940819639409532AF3FAC634F3FC45C35BF3EAAB7BF708309BF2B5E38C02B3B7FBF0A6668BF687EC33F9FC2E9BDAB48BDBFE1D5BC3F37B0263E1A9B09C02FFC0FC0B9DDBBC0C5967140CEE3B53ED65AA3BF005D82C006CD51C084D7823FA31655C0EF726740CC0AA4BF66CC014088AF9ABFDC1EAB4022E2A5BF84B65FC0BFE8B8BFAB53E5BFF6D4E0BFC9AE983E6E11B5BF0DEF063EDAEFC93FE5ECDABF7EC642C0A4D7D7BE018722BF7938E03F27807CC0988204C0855877BF254488C034B62C40E83419C0B2386BC0208095BFCB961D408EC7B740DDED2CBE0F01773FDE49EB3F646FEE3F136BB2C0A10F0E4074C6544080C66E4055192940415F4840FC909A400E5DD33D4391F4BFF0FB13C03939B5BFA903B73F296165BF7607EE4055210B3F25796140A6FE4A3F696AA2C0B1B551C03A6110C01B69FC3E36777A3F6E631CBF70E4F63FF1F41AC036031CBF601FA040743C4F3F00BF7CBFF634983FA21950402B47A13F4E337ABFD68AA24067FC0AC00B01A0BD5547AE404510B940D99207C0BC32A440B91601C1AEF3F8BF478D3D40FE72B8BDDF989B40C18F8C408CA24E403A4DB5BFBE0F72C0C3DD1740DF9BC7401DE4ABBFEA9AF63FC59888BEA846E2BF376C66C060AAADBF6CADD33F3F9576BD1799203F6C7421C0EF2B87BFE0F1A7BF57FBB3C030C65FBD0009E840B539FFBF53A9623E916E98C0B7647E4088C2C53EA9A3633F55229AC0F9732340982A05C0F6FF843F27B1C73F8744C2BFEFB7D2BF70EB50403AA901404E4811BFE01651C006925DC0E7611740D347B94018B978C0774C70403B483040E581B83F0BE156402C33F3BFFF6697BFEDBC34409F6881BF4FC28BC01FBBA43E0BF3F3BC20FE84BF56DB064152E4F93FE58EC0BEE8D516C05624E9C016290FC089C63E3FAF6E85BF09931C404A8588BF7EADE9BF51800B4091C5E5BEDB344CC0C6A515408EC3C1C0A4F2C8BF4565BCC06162F0BF8258213F9F7CCEBF42EC3C3F9B302D40FC67D240876ECB40C7E187C0484681BF238ABA40B3F898C0CF99C2BD7281773FED5E2D3F1644583F89278B3F4C600ABF587AF540C8A01B3F00EB38C0B6AC2E40B31FB83F1C568D40F70F9B3FDF24A2C04BFC06C04E258A3FBFC58ABF99034D3FCF8F96407990B64053126940BDFBA2C08616BCC071592DC0B55C40BFFA5A183F7AB07C40F22490C0F610A13F20DF09C04C9251C09D583C3EA8F4C63F9CF9B83E25D3EFBFD4C96040C2A5A9BEC94B9940C65154C0944D9EBF1AA4A3BF13B347402EAE814089DFA13F2AED24C0C7CA7BBFD7E59BC0E25175BF1E176BC09FBD3F40EE3766BE6B502B4078E329BF842080C07936C2BFAC95CBBFEA5D57C0C43A033D07F9FC3FB5829CC08CF9D03FE0966B40B58429BE1576E83F126CB0BF6AC2914078B58FBD48C69B3E2725DBBF24E2C0C0BFC02EBF631611C17E41E240FD175640C181BEC0CD00A0BFA3E6C7405042E2BF49FA6C3EDD7D4BC07E05D83F41CAE23FE3E69640704203C053ADE6BE0D01BE3F19AF78C0274D8FBF2E015CC0B7D6BD3D01902240FB95B8BE1D0120403B363DBFE5DE19C0D345A8BF4DA923BFA0A707BF05FA93BC1EB40C403436FAC092CC60C01C8EA13FC3D90EC0F126AFBF119888BFE6030E407400BF40AF785DC0420E19BE83BAD13E02D9A940197913C0C11FA23F90E2B3BF552771BF8703C3BF3BE93EBE536DAEC086458B3E0164F3C0F689C4407BAD2FC052858AC0C1E86F40DEAFC5BF2663D2BFC7FD643FBC34924070B586BF12FDFEBEE1A41A3FCD91DE3FDC009640141873BF5508B8BFE05628C000988DBFF200F1BF78FD63C0A1FE093B471D17C0000596404F8C0BC090919BC0A85B373F7A5D25BF14F8EF3F9779D8BE971DE340C320364092DAABBF074EBFBF5E8911C0307FB440E17A57BFC39F1C3F307C2AC0BAABF83D0EB6F0BFA48830C0756AB3BE2B939CC0B96D59402041914023F22F3F55777A3F95A2CC3F89C2AAC08746A74069C15DBEC0EDDE3F297D27BF756F9CBF89B9C63F6EEB493E5F2BF1BFD633EB4051BF0B40654B7A3F2012183F08A522BE3A6549BF999B73C02CD1163DDDD292BF11A5433F7DA3D1403AB5D5BF996B3B407BA6383F87AE4340C9889AC07949AC40C43CCEBDE795224029F86AC038F8634022A5C43E19E06040DCF52640A1733640611D853EE82DFF3EC30A9A408B2614C193762A40A224E2BEA43556402B32BBBF7BC02940D9D7CB3EE175C540BE441B3F03228DBFE0B5ACBFF18AE2BF64C2344059B7DEBF4FDE25C0A8BFC140DAD90540F29C1FBF2875573DC0D0B740A85BDD3F7A5DF9C074576BBF0F7EF33F8978C5C00CB2F5BF804856404C012F40A1CE413F3F96B8BFF7E767BF0FECF23F7FD60F40B1DAD03F40770740C07EF7BFB633B2C07F4601BF21F122C0731733BE9475E53F1EEE0040C600F43F533CAA40CC3F50C084F5163F9C24DA3FE44B313EEDCFF2BE9E9212C03847A53ED194A53FAE72AF40D7BF9D40FA7469BF5A86A43F94B7D9C07A3D013D69E52BC0B139A040F81C83C036E593BF1DD7683E1DC19FBF6D983C4080D9ECC0EE4E6E40D8B1B23F328303C05FD2ACC0740DC0400C9F44C06DF054406AD807407094B7BE9C829BC07A832940E3CBABC036CA2FC0235E10BFB640CA3FB5AD45BF26CCE3BF83AC9EC0DF4BC63F7A7881400FD300C140A6FABFDB750DC1491627C06B8B82BF8A60B93F927E983F15218ABF3B83803F55D3B23E4596F23FE8AB0640C8023DC07F413D401E9192BCFC229D3E5905B5BFA8071FBF5EE281BF9CC875BE4CEA9EBB62F5B13FFFAD50406812883FF777D2BF690F88BFD32CC740CE6BA8C08F46A23F29DE4440D0921040DFE6703F528BEBBF6BBFA8BE1D39C2C0A11C033E2F369FC0108884BE86ABB6BF115F274085E20AC043EA4040ED02E940490DA6408399EEBF6F1F95C0898C763F4EDB2BC01591EEBFE19914BF1B9DBABF4FEF2BC0798324BF225AE53FCA4428C0972218C0E347BEC0916FE8BF34E2EA3F6C6FD6BE5F9278BDBB950EC0E0443ABF976489400D5DE03F18C334BF0AC0A7BFDB1334C09694E540582E2E3F27AC15C00B7BC83E28F584C080591CC000EDE940C22B013F66B1C23E0504FEBFC92EEBBFBD1F78408C94ACBFF08B04C02D9076C09128C7BF0CFE9F40C807F93F25F53EC03BF4A940B8B4ED3F79F2A6BFD7818C408144A1C00FC704404458AA40CF2809BF29F0373F63D52EC00A036CBF5B15043FC466D9BF42EEF03FA3B065C0338A864071F627409E3D83402E79BAC0197CA33F0A6C54C063AC9C3E1AC280BFAF1F7EC0A717DC3E2B9E9740914081C064B43140EF37883F32A3AA40621C6740C38B9E4065E8BFBFEB4D274084E50C3FC9C6BB3F440D58400733DF405E1976C0DA37C43E4AE266C099C9D1BF7E20B0BE9B5BCE3E2F6703C029C331C038A8BCBF78B15DC057F1683FA4F793BFC4BDDEBEB58FE23F4D0B213F3D9AE53F260E19BF31CB43BF0AFB0540DB582740678970401C7D93408B494DC0160A34402F9691406E0CE2BF476C893DDEEF853F17D768BF246C0AC0D8EAC93F3CD7A1BB1E2C7DC0BE0447BF5CA6953F44E6B0BEF43F0240C9F0B83F3AFE364044ACA8C0972CA33E326BB84087FE1F40475A20C042BD0ABEC0AD3BC05D7DFBBF155C813E472FB53F74189F3F485792BF0BD6B2BF67ADAF3F1196EABF0705B53F5BFF94BED747BFBF49444440052687BFEE46A340E957ECBF37F4BB40E908A3C0C60C6240CAEC9FBF9B0AC23F0E11B1BE02331EBD41661F40A4FF8EC0483D9AC02F9C7BBF1E5A61C053B265BFD739D3BF96BF374039D36DC0473D3FC0A2861E4097240D4058F2F8BFDE548A3BF82B96C0876035401F87123E59E173C003DB01406BE4FABFA9B8134034AC0EC0DD91DEBFD40BDC3F856AAB40CB886FC025A804C04326584051A1D83F8F5FDC3FCC6D77C04CD10EC065BC1BC09DC5BC40C8767DC074DA23C02331B73FA91513C191FA2EC0803D13BE087681BFEAFF78C00306A0BFC7DC70404C59A83FF3213440D2FCF5BFF9F30241E5CA773F958339BFB2E1FB3F7786213F91619340CA2D71BFD78C39C09D99EB3C61B5D040C31C39BE8A614EC01AEB20BF69E5BEBFCB62CEBE374195BFEAB44640E663893F6D5AADBFE0EA3F3EA93F91C09AB2F3BE74C7BD40619833BF29F6F4BE1AC4C3BF319E723FD557D2BFF349C0C0ED2E8F4009FD10C025E498C0BF31BE3FE52C5DC07E98D6BF82889540245E4BC0B1FB30405C991E40E3B820C060CCA0BF9197A6400A69B53FA1B8A440174AAE3FD825D3BF986913C0D05F50C0C66C884003714040A99DB3BF5A2E193E27EA533F3953B7404068A6402A709BC06DA25B40DEEA3B408B31423D304FB13FBE78E2409CB45D3F2FA08B3FB031B5BF7876A84009ED8A3ED649BD4056E87FBFA9AA93BF761D1AC0A4103840321ECEBE90BB7A3E5A5C9BBE44C0914070803C3FF7C13A408F7A8A4036F72F40577356BF1713BABEF39769C0ECA09240C1D04DC083063240ABBD5CC042EFBF3FB89F1640436DD5BEDA620FC0C3AAC7C0616332C035123D4067D360C08CDDC140334C9C40283C90C07BF2324038EF5040FA41094083C0B7BF63405B4013CCA1BDF35DA140F513813E98CEC0BE63B9F1BE41AF3640895DF13D0F830B3D7C77C4BFDD909F3F9CA126BFE5D3883E9531983FD427684049821640AE13F73FCDFF3D40DB045C4094F24940AB925BC007EBA73E89FFA0BF85DDA3BF742A0540BB6EDDBFF440D7C0B8805540400744C09BE01C40541EA740FC60544035C0ED3F8E3ED03FEDB341BE67FB50403AA8FA3E51DDACBE0744A1BF741BDDBFBCBA8340EF48C3400F83CFBE0B9313BF793E0EC0D26BAB3C82BAEA3DF4928A4016C69B3F95C410C053A0B2BEFE766E3EDB562AC00338AE408AA6A7BFC2E7BCC071559DC01AFFFB3F0E60F1C0B8E8904032C947C081818EC09748EB3F4E037140569945C06687B540DA88D2BF588F1641F27FDB3F6BBAB43F82D0EB3F9E2EF64091D0F3C0306B4AC02AF8504066F3EF3EDECF29C021D4E1BEBFEDA7BF4D8C03403589B53E438995C069A280400753D63F023DDEBF4AC8754068C5E03F5F5758BE4A2BAD3B2860BEC043533FBF87C36CBE7FD02B40097D07C0B81861C0EE424D40F1F49EC0A5D9DDC0E5A0F03F4AC22E40B150963F889DB3BF22F38BC097F67ABF99381BC0A69BA43FE7930FC078E7C940288B823F342F8ABF45341A404031D83E7FF93FBF955081C0440829C09BDA9BBFCE9E3DBF699D7A408CBA7CBFA6B21CC0EB412DC03FD398BF1F5B9AC02FB0963F868EA1BF6AAA1E403003AAC02678F6BFC5B69CC05C8C88C0DE352F3F991692405F6D7440CCCE76C0100BCBBF8CD00DC023ABBF3F161A6CBF717702C041AA83402FADF63DC69762C07B40D73F5A847A3F6EB51440A23CD8BD0901AD40CC91B9BF30733A404D84723FC4CDD4C0C73A9E406EDB0BC0B44FC13F8F7BB5C0671041BF16EB673FE47DB43F20CF12C01C1A9B3D902AF43FF9F546C0CA1495C091B326C0951C133FECD536BF552A3CBECC4FB9BDFA34DFC02453CD3F5F338BC0392170C0E3641BBF06438EC07F264E4004EA273FC54192402529343E16C5C9BFCD292E4009B31EBEC1BBB5BFDC562D3ECAF4CD40836337405ECF6EC0A68585403785113EEF269B406BF449BF0A6D2D3F57FC824068E6BDBF3C196040ADA285BF40554140F82A15C02BFF8FBD2CB1AAC097046F405ACACABE0B0A12C09C84B6C0E80F81BF1559BF409CDE93C069F92240038A6EBFAA8921C0F47398C0A8E947BE70CDADBF4C2103405C4C503FD4C435C0A02933BEB15478C0441F39C0A75581C03F989A40EC72B3C089F0CE3F909A85C01BAA2BBFAE2B6DC05A988F3FFAF89A3E723EDABF04FD5FC031721840D97EA03FD23565C03B0EB2BF4EFB143FA4B2764072D95A403EB58BC0B7C1163F370A60C0C52E483ED0A76BC0476504C0142331BF0D1C8E4001F254BF1B9B1E40195773C02DCE7E4008359E400246CF3EF2EB88C02E1500BFF91E5ABDF1467EC0597EAA3FA08AC73F2E269F3E34264DBF920FF440554DA340241155C0044D89408A786ABFC05F5FBF5F41A9BF45D64B3F7F4698401AC38A40D1DA3BBE6EDD1040AE124B4053BFAFBFF65F243FDE1143BF2B4F0341EF96F5BF3B70DCBC0B81E0BF752BB0406EB8C5BDF654F3BF34C9B53FB13668405D7F3D40B500E0C0B82740406F721BC00A0702BFBD94BD3FD665CABE02AE5C40491217C0178BCBC02A579DBF0D342740A3BD50C0B4B0953E5592A63F500FE8BF6A6C2D406150C1BF70E0C0BEE61182BFA8B7F4BFD95EC0C081E4AF405086B4BE7959AF3F92BEB43F398916C09916A040E1627840C6DAD03DAC72863D2AA79ABF1AF21B40D8E064407E98FEBFAD4FEDC0ED1EDE3F846C2DC01E68C9BFE95B8F3FAAE95A40A671B940F6A0EE3FED6BAE403B28B73FCF51E93FF769C4401F22463FC2D9A63E2014F340978EAD3EA04FCF3F2728244074DC20C025AFAF3FB9849F4040F399C045CBB8C0EBAA86BF5A4C62BE1973FFBF4C88064097D5A1BFCE5F2140B155CC3F8A6380C03E221F3FBA18833F48A2A940FDC75CC05485B43F040FA2C0131E4DBFB05A543F1199E6BFF4E65D40663FEF406B3E4740C411D63F930B9B3E65953FC0D1D2B23F625E90C059796FC08B980AC07FC9A9C0E9C6E73FA0F33F40BB666E40344DD7BED86B93BFFA2A3DC016FA2D4004CEA5C07515EE3F0912ABBE1FA64D405510B2C0D6BD063F6F45E33F6EAFD440AD65D63F40A24F3F518A39400F2047C0F34A38BFA0497E409AB20540D0E6A4C0DD4748C0AA9EC2C050E9C6BE947AD23FF9F73BC0949750C066257A3FC0732A3F9C2F74C00AE96CC0BEE7463F678C65401060C73F7900CAC051E369C0A6D94CC036865DC09E1C2140B126B3BF57976B3F66F7A1C09CB638C050C28ABFA77F1B3EA69B47C0191FD33CE068B2C0C0B649C066A2B3BFB459BB3E201E6FBF11274D4056BF46C09AA91F3F52A43F40A62CD2BFDB8CD54045143C40D772093FE8AA563F33F3B03F3B2DF9BF7BA5413FB1543B40F44C2EC0B6FEF23E3F3A2FC0FDF04BC07CA007402A2A36C0CF21FB3F5380A83FAAB9E5BF662D80BFF604B2406A69B53FC3EC7D4011F3CB3F4F491440B09C8E3FDBFCF33FBC671EBFE90305BF6F873840C9F56AC03089C9BED73513BF5B9B2040686C94C0307A633F49C3A140206B6ABE1C7EF4BF78F3FD3F5DC09DC0A9500B40109E33BE336F8F4044B71140470B59C03CC98BC0D628083FE954E2BF407600C0316B94BFEE27A84052F118BED8C7844082127EC074748240DBA3EA3FFE1ED63FA97107C1F81D64C0639F3DBEEFB33BC0E954D53DC73253C0F768D3BF44534BC0A37ABA3E2284C1BEB80EC1409FBE1040E06722C0F82886404F22D8BF4236554046F22C4064702AC0FF2951BF8E36A03F6AC8C93FCDD68AC00E6F43C0B66BF63FBFFEED3FA7DCEA3EFA6398404333D9BFEC67F43FFB1E0A402ECC77C0288016C035ABB23F0C116940D4CD6C40DA0E8D3FD7CED4C08465833FC07F6B4085A2533FE4214FBEA6C82B40498CE1C0D3643BC0F533853FC64794C0F9A6A63FF060923F5A2DB0BDB03FB73FD7AB0940094643BEF6D94C3F3E0C053E6DD4F2C0353F71403E3F0ABECE0B4E40A0F99C3F571FDABF15CC6B3D34BD5FC0272586C082684440037099BF8E5439C0C85DAE3F830498BE2C7F20C011E6804074D90F40CC507DC0D32B723FFD87F23F127C5FC00C19274027D3C340EDC319BF6AFB8140A87807400E98BABE036F7FC0E7649FC0B68B8C3E4D6E903F6CA92C401ED6F5BFEBC3C83FC25E1D40C3C271BF54A76B40D9CBA9C078FA0C40E90204C0825A37C0C033F6BF4C4014C0114237408E754F404068C93FAA0431405A4955C0DF2AFBC023C6CFBF4FB95A40BBD49ABFBCCC23C06A487640FCA01B3E5CCF75BFF73512C031B573C07DD946C047869640CB5A8F40A5EBD5C0F2B8913FAE68DCBDE19DD2401C5087C0B2B0BABF2E454AC0B04D703D6229943FC644A7BFF0E4AE3F63479F3FBBFEC8BF3631EA3F25951CC0127F1B401AF916C08FBB55C0C559C740840F563F2B9DB9BFCF74B3BF3BDF8B3F1698CEBFA26406C0EA159C3F32C2ECBF294EAF3F0EBE3AC0CED617403AC58DBFADD2814060BB38C05C333D4035A260BF7E992B3F293439BF99FFBB3FF29E8E3F1E4728C0DD2806404CA66D40B27DD03FB3F86F3FF27986BE3C6E2E40A0F742C0855B86407BD6A73E7A3ED73ED3990B3FE91013404CF7E5BF35414FC022D9E040551C133F1578943FC8336D3F42179F405A151840DA6E67C0D95085C0E83D1640B606FFBFF137AFBFBA6125406150963F9AF933400FA48B402813F83F5CE751BFDC9C06407119AE3EF859564017CA8DBF7761833F0B34B93FFA69AB3F59AEFEBD8C83C0408CC75D4083B1F2BF8FE48940F56A97C0B7290EBFBEB626C04838EC3FBC50873F7BC4C9C02DDE84400F46883F13DB04C0743139C0AB01733FBEEF89BF32940740DF59804046F682400D6A3340199E82402AF11B401ED0FCBFE060C43F38E467C00E8032C0C348163FD960A03F433612C03A38313FB70B35BFF3CC0D4031E430402454E73E23A7913F52FD29405FA7CFBF592B15C044090F3FF76B05C04F4128C0275201C00DF5BD3FE5A158C0A466B7BF369BB440D02F67C043003ABFF86F5F3F23F8ECBB024259BFAD28AB403050E03E5E0C6BC07B15F73E3C2848401B36D5BFD0DE94C060DA12C0844241C0F66D7D408EF39BC01EB032406459203F4B88C2BF9711823FF970B8BE8FC39DBEA0C720BF50917E3F2D0C8440C4BBB6BF7390A340DA8686BF97E88A40F8BEC2BF99004840A3E9CBC084295B40BC1CF8C0C0A74140A87170C0577349C0AAE7FBBF4D745540063F003FE9E67140BE535D403884A93F4568B63FFE31A6BF8EF6C2BF2C97D13FB715C8BF606C3240A4E00AC0255C7E3E5B27234078D94740609E2BC0C70B064089EA613FEA323BC0D8D9A7BF6827744070703EBF8B9B8A3DB79C22C009ED9FC00C3F3FBE955BE4BE3233D93F2B7658C0349E6DBF447693C092EC5A408B4A214036B261C0E58D3440ADEF1040EA6E3140E04D1540A4708FBE47DFDD3FCCC30340FCE11FC0B7C5603FB1F539C00E572A4045CF57C08E784A40C681273E2E90F53EF8CF17407D9528C07AC7333F069FF2C0ED9781C0F86324BF886D90407741C0C0CE862FBEFAC991C06EEA8540227974400C908440377BBB3FB4519F3F0C7AE8BF6FB8EB40B3A4B63FE09C5EBFA30F05C05C509CBEA7F39FC0428E3740E09A1B3FF35A6E4064C514BF0CB5F4C0C050F2BF56CA203FE9A6B43F857A94BE5D9DE0BF97BDC9C069F39BC0A94CB13EEFECA33FC4816AC06B1027BEA7A825C05CBD00C0D59F04401DB1EC3F35269840A8AF22C08F79D93F1049C9BE958B06C0F35528BF3A701240CD9BB53F29DCA64088BB3A3F003DB340B2DCBA3F7111F0BF8845B43FA0CF0B407DF8B13F1143504068A62F3EED21433F6062B5BF435710C06E874E3E36E0BCBECC1CCDBF027E31C04AA7BE3F972CB93CC4329A3E404B76C013905CBFE23EF7BCBC462440815F864087DD7D402B9789C035F78F4079151BC05E44BB402191E5BFF1B4F13F1D4DE540BEA3B5C06F867CC0718E6FC0A0F108BF670520C09E0B4B407DF24240E6FF333FF82D4DBFA1562FBE082590C0D5AB58C0434ACD3FF674094033AA284000B36ABE8FECFA3F4F236CC04F856ABE1D81023EC78F99C05809734012E096C0541D8DBEE89A5CC088E30AC0DFC8123F67DD113F01138240EC5E85C09A5B9BBE7B1B894050749BBF122D87404342FE3E8A50AA3EF89854C00CF3C9403337FDC0EBD8FB3E5F5E05C0E8408BC04BFE5D3F697237BF520187C05F74A340E248D03D874AE53FE46470C0D2B8E4BF9677893FA650CE3D2ED8E3408CBC013F7CC6B33F1D27A6409EE8B2C0F66E2DC0417E6F3F553791404705C440E4D848BF5764783E5F2913C05AD28F40836A2640C6C451C055866F40C9580FC031F021404C760D3F061EFFBC4AC6AE3CB1E30D40A9D679406BF53A405A72B6C0137F5DC02C32C040575302BE7F1481C0688809C0BE5D19C0023B9940AC458EBFA773A6BF97F15A401E441140165F333F96F71640C8D42CC003B903404D733140C61489C0F9EBBC3E901F2BBF34C6EBBF576118BF31A69F4048217AC090AA6C40DD3E17408E43A8BF299E603F7566B53FB15632C07974C9BF39797ABF0511C1BF8AB127C075A7A83E9C0C703EE69D26C098514DC061287C3FB7B505C032E969C04749B3BF281A30406BB83C3F616503BFF9856A3F9161B3BF1D329ABF7D3799BF81F8EB3E252429BFF590DBBFDB92B1BF3D653440935BDFBF83C31ABD0CAAA2405436D53E0D2B35C0F631353F361AE83F72D0ACBF27EB593F9C9387BFC4ACE13F08DA25C03B7AD43FF1CBB740BBA181406679A23E3BF36EC0A268863F7E1FC23F882E084042DC6CC01A442CBF8B1B03400BB88BBF6CA713BE1AD7E53F252177BFB1A47040A2439340F370C8BEADA51C40DDE4903FEA9D00BFE89CCABFF64305409B7B493F7877724075648D3F942102404347723FA6E4DABFBFCF8AC01BB179C0EDDAFC3F1CB538C07F4D5DC0140A4940355760BF2F838F40E410F6BFA5E30041BF2B5540DFB6E8BFFAF69140FB1647C056105640F4E515C053A7CA3F99AF8BC03916D6C0A421C7BF2327303EF38BF1BFC2E071BF842F55C0B61BA4BF9C246CC000CC5FBF715375BF4D4EA4403D94D2C0ED517EBF7D17E0BD8D4A9F3EC405EA3FFCA41C3F2C90B4BEE949573FD1D341C08F21723F8AE8C7C0C72B21C04B7171C04E0D6EBFB37A12401C8C8940E80495C0A3F023BF260AE1BF36805D3F513DF23E43DB5EBF2920A5C04ABB1B40633954C054C1A43FE17E2740F88A10408E57EBBD1FF713C096616FBFD5361B40C666933FB540ED3FE360A03F1F3A46C08BCF9F3F1032EF3FF67E56BFB2F6714092658BC05FF842401AC2003F841FAFC0C4174D404CD226BF17AC8AC0C1C9BFC05D753CC076DAF7BF86BFA93E86EA68C0C25633C0E9316A405D44D6BE00E5963F652E8B3E10FDE7BC2F58723F9383543E8823B1BFB7E93640968007BFA101EF3F110AFDC06E38F23F23038C3F8B75DCBF6EEF6A3F8A24233F98AE2040A2D7CDBF9E0A56C054DE1640B6AFC0C067F478BFCC9A1DBFC316BEBD3780A0C0FC30A5C056F167407F46D7C01CA68DC078C192C01970E03F7FC0C8406C1BCC40F01597BF255C20C0E5B7B23E47DFA5C0A94906C09EE9A040A5BEAD3F6DA40040AD7485BF1594863E10BC57C019716A40E1AB8340AA1779BF51CE8A40E0A258C02DED3E40D213CABF0628C4BEABA27BC041379FBF8009ECBF991B49BF50EF703FF58E31C0874750BFF204284077B863404D5F113FF6B927C0DE207B3EBBDFF7BFB802B0C0F57CB5C018D18540541DA7C0760F5D3F622ABD40A813853F225D6340C886C6BEB15C1840A4E310C11FC4A8C01E213BC0E2343FBCB1AEC4BE5C540741ED9DBCBE7EEDCEBF782E90C0793C80BF6FF4F03F840D6F407CF34140D60982401889E23D2C89EC3F1B883A3FDBC0AABF75A13FC06BD98940826914C072D154BFD53F0ABF192D16BF503393403EE022C076E7FABE41A40FBF2AD18EC09BFC0EC0059B7340C2A08E4038F1923E92D490BE756801BF63330040F535ECBFB7883D3F77261E3EB30981BF3D0FA4BF69A4D9BF7CFD2840468BF5C015474F4078BC76C039D87240A01EF040EC062CC03E1D3E4081BBCAC068284F40A66420406143B2C0D1B4E93FBD3A60C0CD37C43F785106C1D4B040BED2BF8BBFE54D1F3F7C16FD4077EA36BFC606793FCFF436BF220A4A3E4A1A40C02453D53FD8A7FA3E528809C023B420BF0DFA1FC0B707D83FB0C1873FD201043FBC8A653FAEF40F404CFFF3BFAFDD27BE0A540140014C12C1573D97C0B2E143C0DF58E3BC3838C840EADEFC4019F3B740E0E38D3F8B13C43FADD9F73F912D7540A0F18EC0035B983F72280B3F4569843F13E9A7400A58CBBFF74B1A3FE1AE5EBC3BDD55402ED5293E702AE83F42D4CCC0183746BFF15512C15A210AC046013E40F6C317BDD0D81FBF59978540296AA6C06F51D63F81C0EEBF1B5186C0391C80BFDFB8A13FB24FC2BF2DF902BFE3B8314034C325C047D9E4C08423D9BFEA1D9DC0246AD4C021FD334043C141BB0D785D408D49D44033F19240142C8DBE532ABD3F9E64BE3F082A484086BC4040EB5094BF60EF6940EDB02FC09D4EDFBF79978BBF44D26CC0749A36C010EF8340D56A83BFAFEA5D40169F8F40FC838C40367889BED0289E405E6A89C06197AEC0E3D03E4022C2813F97A007BFABBF893EC08CB6400CBC343FA8061ABF87A5FDBF964656C0541F86C071A0C23E891D0FC082107FBFD424E5BEE2A7E7BE2CE92FC000D6EDBFB402C3BE2EBE1ABFE27A24C09A822640484B80C018D6F9BFFEBE80C090A0D63F1DBACD3F742B90BF7C1D754007B6DFBF8F05CCBFDA7A0B3FB6C159BFD530DC40CC228CC032921F404DE7A3BFD92A8F3F03623F3F79C423C04202DEBF002189402C27C7BF927B83BF36E032C0FE76B1BFF03D98BFDF7E11BF68E988C07DF34CC099B7183FE83C8340375708C1AEC53AC0D0BB4D40297D95404B3177BF3A9B8FC0C84C2840B4D89E4011A1F2C03967A3C0951D3040427A6D40384885402C74DEBFA928DDBE414A50400002B9C0450FA6C0A2F34F404DAD4540600270BF22A5B7408ACC71BD2A8B12BE54E8E03F717411C0AEA78440B3411C3FEE5CCDC099F0B13F5F6BFD3E203E313F7A481AC0A3755CBFAEF20640406214BEAED64EC09F065FBE0048ACC086D21440AD194B4028F385BF420DFA3E87CA9FC00CB1943F4F11D9C0C3C09ABF09774BBFBBB6FFBF4E083AC0BD32E440BA08983E338E58C0C19AE63F3B834FC0EC6F3D40F050DD3E963EBBBF324EA93F9DDA55409693014077298A3F4DA250C0A79764C0B9A914C0F45EFCBE6FDF84BFC57D104054345040CF5F50C0F90D97BE44FE0EC005A57340B9F415C0A6E044C01B26BF3FC25444408CA7E03F62F2BE40B8A831C08AC4C9C075D8C9BFF0A006C08CCBF53FDCF2A73FA7085A406E4892BF8532FFBED8768540E2B7493FF101C13F40010CBF3A4602BF1FC1B240011CA9C083CF184037B25CC089553BC08C9FE3BFAB1C1BC0A462DC3E4BBD01C056328840C202DCC0ACBC74C0A89297BF0EF98A3E542CC1C0690F1340ECDC9DC0B81F113FC7C82B40931228C0350A8BBFAAA29D407CA0CDBF84111040281BB8BDF4716DBFE0ABD8C0F124D4BD6CF994BF26A976C09C2C9D40834AB44064360FBEC98F43C0E5E8A5BFABD3B4BF847CA8BF267E1240E3A39740BF862D4068A8603FBC652CBFE4DD393EDE57D63FD8820BC0BCFA59C0A928644065BB5340DC90F0BF305745401897C4BCBC58B83DCB7B18C0725AC13F79CF154073F3D23F744E0EBD46337DBF4D71B9C0F56E813F1B958340C9E9F93F8EDF77400DBD7A40B6EA32400C88FEBFA5446BBEE83694BF4F51913F02AEED3EA18605407834D83F1A748FBFC781C03ED6F9813F857E8A3FB646F7BEF9D964C0E4563F40A634263F53A0533F40707840E92AAD3C1D1C90C06F259A3E26FAFBBFB27D96C08701BF40D913A3408A9D53C064E4D83F477BDFBEF47926BF0D47A4BF50432A40B9B2C3407A32513F9F0EB5BF635609C09E8160C0F6461340C4E9F83F05AB8DC0B9199CBBCFF01C4028070F402228DA3FA20B8C405D8578400DC0363F7E552E40940432C05CC2323F6A84BC3F6C9657BD5AFA48BE5A40AFBF019D9D40D784CE402E65B93F0380B2BCAFDD4040126655407C770440293DDDBF8F25BE3DFBE021C0706640C078517D406054143F4E5D0540B3F68BBD7CDBC43F0B4D3B40636E0E40E947BCBF2F9C8B40A1169ABFF9CE1EC0327B14C0A91E3A4047BCA94045787F40113EF1BF76F9D3BF7658AA3F622F8ABF8B4184401E18A2405E8050BE1E7FBA40AE004CC0375F17407D31BA3ECB53F23F110821C0C21E6340E3FCDEBF1FEC68C0C554D2BE936C85C0FA2DE7BF413EAAC007FC1540115A8140F79D1040EB781BC04883364018249D3ECD0CC8BF71090EBF4BA20E40F01B273F917681BF140E92BF2BA9603F4BCBFFBF1354A0BF80B7A63E9449DBBF5126F4BF521CE63FBBD71F40F0E5254097C6833FE813EBC0E4D078BF25D8D43FD0B6493F85ED0C40B6EF92C0E188AB3ED9678B3F7DA825BFCBD1903FFA3E6DBD7D732940702DE4BF8CE693C001415C40748298BE6C11024029838F40862BDD3F2C940D407E8AEA3FEE3D5EBE3E7A29402E1BE73FF5189BC0191A384089EE2D406B2BFEBF8E3A44BFC2DF2FBFDCD518C0A22FD8C0BFA4334044CBABBE7274CD3F32DD893F1AFD843F935375BF67F36B3E2DB0E03FA164A53FA76D5CBF6627D33EAD33493F80E97940C57998C0CB96A0BFD2D37BC0AD7E943EAAA151C0674D2FC04C0473BFC63803402A1321C055DBCE3F89E51DC0FB3055C0F42331C0D1FD633F40C2E93F328DD9C093802B4053388DC0AF59B23FDA3B674052BD76BFFC94F6BD8A5C2DBFEEDD54C0B38D13407590AAC04D96BCC052C790C0EEF07C3FE1C892BF6C10303FD6D614C0DCD476400E24603FFE4D5B40B6EEC94090996F3FC88916C0CDD02A3D4F5F12C0190E31407698E03FE5A3F33E0F38113FAA60A8C0D00458C0B24088C0F0D1B5409175854099CD79BF019419BF12CA0FC082B1E1C0E3E9094023AFDF3F55B19E4033B406C07BF6F0BF18A7BCC05CC726C01557C0BFB53D0B40DED77F40579970C09F3F11C079A67AC06EB7CDC06CEEB53FEFCF82BFAEB92A40D656BAC09247B63E2E7E04401A517940FC1EFA3DADAF8C3FA45B7240EA53EFBFCB9D0640088E7740F0C6044029BAFEBF06269840E022B6BF02F244BF460DA1BF2B990C4058DB99BD5D92EA3F6FF8D7C09F0421C0904EFC3EA10F1C41F6B80BC03A15D93FF2B927C08343EA3FC0B1373F41DF09402A13744031520ABDBB7A43406F791240AF7BD3BF8B54B8BF33EB8E3E61690C3F3EEDAFC027D08FBF41E78CC0D0725BBE4D09AFC0460EBB40B84E29C0512C90BFA2085E3E05BD163D0F9D52C0F5280FC05D1F0DBF3FC54E40F1D802C0C0F3E93EB41494BDB4B6D0BF5C5455C0547C2E40BACDFA3F7D5A7CBF3A66D63E471BB240DA0DF33FBEAB6FBF92B52B3FA6C104C0B235AB3F30DA3FC0115C414000E40EC0520AA83F7024403F9F6197BEAB7D4AC0085B50C0ACCB84406DA839C034FDDF3F30837F40BB32494024ED4040925E52C09C9A0540B5FFFCBFA6C5584029284B408BB4A23F4C385940FD05DFC05A80993FE5B0C93F9D48844035141040738478BF819517C036A0AE402C6082C0C5A22EBFEB5D04C0340ADABF21162D3C3BF866BFFE9D0FBF836994BF4A5202411126483F7FF34840FB88374020718CBFAC789CC01C4FB14022C4743FCD3133BF2996C340F08FAEBFFA18DE3E3132794016B33BC0544C2A3FDB337DC08D3EECC0197582C011850EC04A5F81C033472D4009840EC05B7D14C07C55AB3FDDD664BE9BB1A63F661FDBC0388558408445E0408BF769C07306A74087148F40D723813FCC51A9BEC6443EC0FD3796BF6D55EBBE23C4F33FCF9316C02B5092C0EC60A7BE164393BF4477DA3F3CC6B7C0258819C006FC79C0ED16943F8962C63FA5AAB440789B77BFA14092BE80C5143FC94CBFBE199D1E3F611E9EBFD05439C0759F41C0A242414080AE68405D8599405B172440E25F234044284940CDAF70C0020790BE233DD03F24463BBF11A0FEBF82D7B8408432B9C0A2DA3C400B7D9DBFF9F51C4098BFD03FCDA15F3F2C41A54035C4AF40F86F42C0CB3C3E409B6CEABFFCBF1240375BD5BF7F15A03F3801CF4026E395BE245C1EC09EA50CC0F6C988BF3B4EB8BF82791A40D399B9BE075B3F40ECAE843FF31685C03ACC6BC0D84221BF6F323A40879D5F401CD786BFA7E355405BC06240092F93C0BC1D26C051DDD4BEC91DC2BFEFF61EC008EBE83D3F77E03F47D0204081F2374090576A40C839763FFDC938C09E6D77BE0A0769C07BF1CD3D0E1ED8BF79126DC0DE378CC0953121C0ADB0393FE18E62C016C1744002FD323ED85634C099EF1CC0263D353F7E28FABF7DB506C026091A40190AEABE1C467C40C6A70CC034CAB0C017179040FD0FAEC09D3914BFCAD06CBFF3B26ABFF5442140A6CC43C014BA0A41DD31DC3FDCD62FC004E158C0CE6ABA3FB7AD8FC0C2A385407D91043FB7CB95C019088440B92A6F3FED85103F2303064056672340D172B3C089752FC0A99B18C05E01D0BF3D89EC407445C23F0C35333FD1F6443F691105C15D374ABFCA5777C0BBCD52C0B9F18940ACBA99BFE89785C0FBADE93E227134C0F7589F406FB71B401F795DC0CA9B273FF5D19A407B4AA6BC8F3A13BFD2FB0DC0FBBD73403AD393C0DEF6AD406A93D0BF9DDAA3BF42B08B3E360DA13F5BBC913FBC932CC09C251D4072A942C035A802C010887FBF490204C0B8DAF93F82A8EC3F1D31EE3F18060C3D604AB1BF2E06B53F37AC98BD6C151740499B0C40F96811401FE2A940D1EB923F83E1124011EB39405B97EFBF465D8DBF8B9B773F9D824040469B2E3FECFA2240D49680BD6C75C94063811D4038D8FC3F243901BFCF6EC13FF918FEBEC3E8B03FF17439C0148E4FC02C78A33FE551833FE99CE4BF40CE9D3F2A7425BF0CD2CE3EE98E15C0EB04BE408BC6A1BFA6378A3FCEC78AC02697D1BE9CAA3DC0DF904BC0EB94C1BF2D0EAF3F0B48173F5D1114403FF18140FB1D62C0D07C18C0EFE58640C2428540DA61E340BAC94D4015F05EC090F22740FDBD3F40D6C7AFBF9C2E0CC0EDC491C00B24823F04384E405B7D12C195DE3E3F753B9CC0319FF7BF358949BF2DDCE73FA8D39F402557AABF118209C0AC04BAC0774E27BFCFD30A40AB47E0403D1D18C05CA6CF3F6E76EC3D517136BF9B1E9ABDEB2BA93CD8D94F3F27786FC056AA75BFDD720EC00104993F19FA453E8257A0BF4DC56CBE1806BCC06381CB3F66E3033E37D074C0DE6B96BEE7EC64C05CAD97C0FFE293403A6EBEBFC7D3ECBEC23B7EBF6F01AF3E55DAF03FCBE13140CF9B034084F94E403E7514BDB5C3B9BE2E18EC40C26411C0036514C03865B9BFB40A7C3E5DDB5BC0648D823FE7F7AF405E5ABEC06A340640B20E3B3F4E1F7040D16597C058D91D4050B11BC07EBDBABF469439C0073F66C0DFB202C0F87C1AC078512B401EB5C74064E491BF2F9E943FE8A232C05033E03D3198D3C00185553EDE3F89C0BBDE1940530E8D3FAC0F86BF07D566C077B7F3BF236C07BD2AC5B53ED8FF45C07C524F3F90A5823EC101863E0EE479BF6C2BBE4066DD473EF6E0D1BF773F4E3D26FFE9BECADA133F2C2292C057400BC1EB52B3C01129333F2670DFBEC3DEA4403DCE0740E69CD33F1ED0A83FFA58553DC6CF3DC038C41DC011672E3F7E4A6840F008DD4064513D3F4D43BB3F43EEA9BF84CA93406E468ABFBB730E3E69349CC0AA466E40D9C26B3F6BBF0AC0ACC749C05012E73FDC21C7BFCB315C404B47AC40"> : tensor<1x4x28x28x1xf32> - %0 = stablehlo.constant dense<"0x977C4DC0E2B466BFC7CD23C054E585BFEBA143C0D420B5BEEBCFBC3E23EA134081A07D3CA2782FBEDC0D0A408D4C4A4043733F3E5746BF40496790BF74AAB43F9B9008401D899940A86B9740EC8BA940819639409532AF3FAC634F3FC45C35BF3EAAB7BF708309BF2B5E38C02B3B7FBF0A6668BF687EC33F9FC2E9BDAB48BDBFE1D5BC3F37B0263E1A9B09C02FFC0FC0B9DDBBC0C5967140CEE3B53ED65AA3BF005D82C006CD51C084D7823FA31655C0EF726740CC0AA4BF66CC014088AF9ABFDC1EAB4022E2A5BF84B65FC0BFE8B8BFAB53E5BFF6D4E0BFC9AE983E6E11B5BF0DEF063EDAEFC93FE5ECDABF7EC642C0A4D7D7BE018722BF7938E03F27807CC0988204C0855877BF254488C034B62C40E83419C0B2386BC0208095BFCB961D408EC7B740DDED2CBE0F01773FDE49EB3F646FEE3F136BB2C0A10F0E4074C6544080C66E4055192940415F4840FC909A400E5DD33D4391F4BFF0FB13C03939B5BFA903B73F296165BF7607EE4055210B3F25796140A6FE4A3F696AA2C0B1B551C03A6110C01B69FC3E36777A3F6E631CBF70E4F63FF1F41AC036031CBF601FA040743C4F3F00BF7CBFF634983FA21950402B47A13F4E337ABFD68AA24067FC0AC00B01A0BD5547AE404510B940D99207C0BC32A440B91601C1AEF3F8BF478D3D40FE72B8BDDF989B40C18F8C408CA24E403A4DB5BFBE0F72C0C3DD1740DF9BC7401DE4ABBFEA9AF63FC59888BEA846E2BF376C66C060AAADBF6CADD33F3F9576BD1799203F6C7421C0EF2B87BFE0F1A7BF57FBB3C030C65FBD0009E840B539FFBF53A9623E916E98C0B7647E4088C2C53EA9A3633F55229AC0F9732340982A05C0F6FF843F27B1C73F8744C2BFEFB7D2BF70EB50403AA901404E4811BFE01651C006925DC0E7611740D347B94018B978C0774C70403B483040E581B83F0BE156402C33F3BFFF6697BFEDBC34409F6881BF4FC28BC01FBBA43E0BF3F3BC20FE84BF56DB064152E4F93FE58EC0BEE8D516C05624E9C016290FC089C63E3FAF6E85BF09931C404A8588BF7EADE9BF51800B4091C5E5BEDB344CC0C6A515408EC3C1C0A4F2C8BF4565BCC06162F0BF8258213F9F7CCEBF42EC3C3F9B302D40FC67D240876ECB40C7E187C0484681BF238ABA40B3F898C0CF99C2BD7281773FED5E2D3F1644583F89278B3F4C600ABF587AF540C8A01B3F00EB38C0B6AC2E40B31FB83F1C568D40F70F9B3FDF24A2C04BFC06C04E258A3FBFC58ABF99034D3FCF8F96407990B64053126940BDFBA2C08616BCC071592DC0B55C40BFFA5A183F7AB07C40F22490C0F610A13F20DF09C04C9251C09D583C3EA8F4C63F9CF9B83E25D3EFBFD4C96040C2A5A9BEC94B9940C65154C0944D9EBF1AA4A3BF13B347402EAE814089DFA13F2AED24C0C7CA7BBFD7E59BC0E25175BF1E176BC09FBD3F40EE3766BE6B502B4078E329BF842080C07936C2BFAC95CBBFEA5D57C0C43A033D07F9FC3FB5829CC08CF9D03FE0966B40B58429BE1576E83F126CB0BF6AC2914078B58FBD48C69B3E2725DBBF24E2C0C0BFC02EBF631611C17E41E240FD175640C181BEC0CD00A0BFA3E6C7405042E2BF49FA6C3EDD7D4BC07E05D83F41CAE23FE3E69640704203C053ADE6BE0D01BE3F19AF78C0274D8FBF2E015CC0B7D6BD3D01902240FB95B8BE1D0120403B363DBFE5DE19C0D345A8BF4DA923BFA0A707BF05FA93BC1EB40C403436FAC092CC60C01C8EA13FC3D90EC0F126AFBF119888BFE6030E407400BF40AF785DC0420E19BE83BAD13E02D9A940197913C0C11FA23F90E2B3BF552771BF8703C3BF3BE93EBE536DAEC086458B3E0164F3C0F689C4407BAD2FC052858AC0C1E86F40DEAFC5BF2663D2BFC7FD643FBC34924070B586BF12FDFEBEE1A41A3FCD91DE3FDC009640141873BF5508B8BFE05628C000988DBFF200F1BF78FD63C0A1FE093B471D17C0000596404F8C0BC090919BC0A85B373F7A5D25BF14F8EF3F9779D8BE971DE340C320364092DAABBF074EBFBF5E8911C0307FB440E17A57BFC39F1C3F307C2AC0BAABF83D0EB6F0BFA48830C0756AB3BE2B939CC0B96D59402041914023F22F3F55777A3F95A2CC3F89C2AAC08746A74069C15DBEC0EDDE3F297D27BF756F9CBF89B9C63F6EEB493E5F2BF1BFD633EB4051BF0B40654B7A3F2012183F08A522BE3A6549BF999B73C02CD1163DDDD292BF11A5433F7DA3D1403AB5D5BF996B3B407BA6383F87AE4340C9889AC07949AC40C43CCEBDE795224029F86AC038F8634022A5C43E19E06040DCF52640A1733640611D853EE82DFF3EC30A9A408B2614C193762A40A224E2BEA43556402B32BBBF7BC02940D9D7CB3EE175C540BE441B3F03228DBFE0B5ACBFF18AE2BF64C2344059B7DEBF4FDE25C0A8BFC140DAD90540F29C1FBF2875573DC0D0B740A85BDD3F7A5DF9C074576BBF0F7EF33F8978C5C00CB2F5BF804856404C012F40A1CE413F3F96B8BFF7E767BF0FECF23F7FD60F40B1DAD03F40770740C07EF7BFB633B2C07F4601BF21F122C0731733BE9475E53F1EEE0040C600F43F533CAA40CC3F50C084F5163F9C24DA3FE44B313EEDCFF2BE9E9212C03847A53ED194A53FAE72AF40D7BF9D40FA7469BF5A86A43F94B7D9C07A3D013D69E52BC0B139A040F81C83C036E593BF1DD7683E1DC19FBF6D983C4080D9ECC0EE4E6E40D8B1B23F328303C05FD2ACC0740DC0400C9F44C06DF054406AD807407094B7BE9C829BC07A832940E3CBABC036CA2FC0235E10BFB640CA3FB5AD45BF26CCE3BF83AC9EC0DF4BC63F7A7881400FD300C140A6FABFDB750DC1491627C06B8B82BF8A60B93F927E983F15218ABF3B83803F55D3B23E4596F23FE8AB0640C8023DC07F413D401E9192BCFC229D3E5905B5BFA8071FBF5EE281BF9CC875BE4CEA9EBB62F5B13FFFAD50406812883FF777D2BF690F88BFD32CC740CE6BA8C08F46A23F29DE4440D0921040DFE6703F528BEBBF6BBFA8BE1D39C2C0A11C033E2F369FC0108884BE86ABB6BF115F274085E20AC043EA4040ED02E940490DA6408399EEBF6F1F95C0898C763F4EDB2BC01591EEBFE19914BF1B9DBABF4FEF2BC0798324BF225AE53FCA4428C0972218C0E347BEC0916FE8BF34E2EA3F6C6FD6BE5F9278BDBB950EC0E0443ABF976489400D5DE03F18C334BF0AC0A7BFDB1334C09694E540582E2E3F27AC15C00B7BC83E28F584C080591CC000EDE940C22B013F66B1C23E0504FEBFC92EEBBFBD1F78408C94ACBFF08B04C02D9076C09128C7BF0CFE9F40C807F93F25F53EC03BF4A940B8B4ED3F79F2A6BFD7818C408144A1C00FC704404458AA40CF2809BF29F0373F63D52EC00A036CBF5B15043FC466D9BF42EEF03FA3B065C0338A864071F627409E3D83402E79BAC0197CA33F0A6C54C063AC9C3E1AC280BFAF1F7EC0A717DC3E2B9E9740914081C064B43140EF37883F32A3AA40621C6740C38B9E4065E8BFBFEB4D274084E50C3FC9C6BB3F440D58400733DF405E1976C0DA37C43E4AE266C099C9D1BF7E20B0BE9B5BCE3E2F6703C029C331C038A8BCBF78B15DC057F1683FA4F793BFC4BDDEBEB58FE23F4D0B213F3D9AE53F260E19BF31CB43BF0AFB0540DB582740678970401C7D93408B494DC0160A34402F9691406E0CE2BF476C893DDEEF853F17D768BF246C0AC0D8EAC93F3CD7A1BB1E2C7DC0BE0447BF5CA6953F44E6B0BEF43F0240C9F0B83F3AFE364044ACA8C0972CA33E326BB84087FE1F40475A20C042BD0ABEC0AD3BC05D7DFBBF155C813E472FB53F74189F3F485792BF0BD6B2BF67ADAF3F1196EABF0705B53F5BFF94BED747BFBF49444440052687BFEE46A340E957ECBF37F4BB40E908A3C0C60C6240CAEC9FBF9B0AC23F0E11B1BE02331EBD41661F40A4FF8EC0483D9AC02F9C7BBF1E5A61C053B265BFD739D3BF96BF374039D36DC0473D3FC0A2861E4097240D4058F2F8BFDE548A3BF82B96C0876035401F87123E59E173C003DB01406BE4FABFA9B8134034AC0EC0DD91DEBFD40BDC3F856AAB40CB886FC025A804C04326584051A1D83F8F5FDC3FCC6D77C04CD10EC065BC1BC09DC5BC40C8767DC074DA23C02331B73FA91513C191FA2EC0803D13BE087681BFEAFF78C00306A0BFC7DC70404C59A83FF3213440D2FCF5BFF9F30241E5CA773F958339BFB2E1FB3F7786213F91619340CA2D71BFD78C39C09D99EB3C61B5D040C31C39BE8A614EC01AEB20BF69E5BEBFCB62CEBE374195BFEAB44640E663893F6D5AADBFE0EA3F3EA93F91C09AB2F3BE74C7BD40619833BF29F6F4BE1AC4C3BF319E723FD557D2BFF349C0C0ED2E8F4009FD10C025E498C0BF31BE3FE52C5DC07E98D6BF82889540245E4BC0B1FB30405C991E40E3B820C060CCA0BF9197A6400A69B53FA1B8A440174AAE3FD825D3BF986913C0D05F50C0C66C884003714040A99DB3BF5A2E193E27EA533F3953B7404068A6402A709BC06DA25B40DEEA3B408B31423D304FB13FBE78E2409CB45D3F2FA08B3FB031B5BF7876A84009ED8A3ED649BD4056E87FBFA9AA93BF761D1AC0A4103840321ECEBE90BB7A3E5A5C9BBE44C0914070803C3FF7C13A408F7A8A4036F72F40577356BF1713BABEF39769C0ECA09240C1D04DC083063240ABBD5CC042EFBF3FB89F1640436DD5BEDA620FC0C3AAC7C0616332C035123D4067D360C08CDDC140334C9C40283C90C07BF2324038EF5040FA41094083C0B7BF63405B4013CCA1BDF35DA140F513813E98CEC0BE63B9F1BE41AF3640895DF13D0F830B3D7C77C4BFDD909F3F9CA126BFE5D3883E9531983FD427684049821640AE13F73FCDFF3D40DB045C4094F24940AB925BC007EBA73E89FFA0BF85DDA3BF742A0540BB6EDDBFF440D7C0B8805540400744C09BE01C40541EA740FC60544035C0ED3F8E3ED03FEDB341BE67FB50403AA8FA3E51DDACBE0744A1BF741BDDBFBCBA8340EF48C3400F83CFBE0B9313BF793E0EC0D26BAB3C82BAEA3DF4928A4016C69B3F95C410C053A0B2BEFE766E3EDB562AC00338AE408AA6A7BFC2E7BCC071559DC01AFFFB3F0E60F1C0B8E8904032C947C081818EC09748EB3F4E037140569945C06687B540DA88D2BF588F1641F27FDB3F6BBAB43F82D0EB3F9E2EF64091D0F3C0306B4AC02AF8504066F3EF3EDECF29C021D4E1BEBFEDA7BF4D8C03403589B53E438995C069A280400753D63F023DDEBF4AC8754068C5E03F5F5758BE4A2BAD3B2860BEC043533FBF87C36CBE7FD02B40097D07C0B81861C0EE424D40F1F49EC0A5D9DDC0E5A0F03F4AC22E40B150963F889DB3BF22F38BC097F67ABF99381BC0A69BA43FE7930FC078E7C940288B823F342F8ABF45341A404031D83E7FF93FBF955081C0440829C09BDA9BBFCE9E3DBF699D7A408CBA7CBFA6B21CC0EB412DC03FD398BF1F5B9AC02FB0963F868EA1BF6AAA1E403003AAC02678F6BFC5B69CC05C8C88C0DE352F3F991692405F6D7440CCCE76C0100BCBBF8CD00DC023ABBF3F161A6CBF717702C041AA83402FADF63DC69762C07B40D73F5A847A3F6EB51440A23CD8BD0901AD40CC91B9BF30733A404D84723FC4CDD4C0C73A9E406EDB0BC0B44FC13F8F7BB5C0671041BF16EB673FE47DB43F20CF12C01C1A9B3D902AF43FF9F546C0CA1495C091B326C0951C133FECD536BF552A3CBECC4FB9BDFA34DFC02453CD3F5F338BC0392170C0E3641BBF06438EC07F264E4004EA273FC54192402529343E16C5C9BFCD292E4009B31EBEC1BBB5BFDC562D3ECAF4CD40836337405ECF6EC0A68585403785113EEF269B406BF449BF0A6D2D3F57FC824068E6BDBF3C196040ADA285BF40554140F82A15C02BFF8FBD2CB1AAC097046F405ACACABE0B0A12C09C84B6C0E80F81BF1559BF409CDE93C069F92240038A6EBFAA8921C0F47398C0A8E947BE70CDADBF4C2103405C4C503FD4C435C0A02933BEB15478C0441F39C0A75581C03F989A40EC72B3C089F0CE3F909A85C01BAA2BBFAE2B6DC05A988F3FFAF89A3E723EDABF04FD5FC031721840D97EA03FD23565C03B0EB2BF4EFB143FA4B2764072D95A403EB58BC0B7C1163F370A60C0C52E483ED0A76BC0476504C0142331BF0D1C8E4001F254BF1B9B1E40195773C02DCE7E4008359E400246CF3EF2EB88C02E1500BFF91E5ABDF1467EC0597EAA3FA08AC73F2E269F3E34264DBF920FF440554DA340241155C0044D89408A786ABFC05F5FBF5F41A9BF45D64B3F7F4698401AC38A40D1DA3BBE6EDD1040AE124B4053BFAFBFF65F243FDE1143BF2B4F0341EF96F5BF3B70DCBC0B81E0BF752BB0406EB8C5BDF654F3BF34C9B53FB13668405D7F3D40B500E0C0B82740406F721BC00A0702BFBD94BD3FD665CABE02AE5C40491217C0178BCBC02A579DBF0D342740A3BD50C0B4B0953E5592A63F500FE8BF6A6C2D406150C1BF70E0C0BEE61182BFA8B7F4BFD95EC0C081E4AF405086B4BE7959AF3F92BEB43F398916C09916A040E1627840C6DAD03DAC72863D2AA79ABF1AF21B40D8E064407E98FEBFAD4FEDC0ED1EDE3F846C2DC01E68C9BFE95B8F3FAAE95A40A671B940F6A0EE3FED6BAE403B28B73FCF51E93FF769C4401F22463FC2D9A63E2014F340978EAD3EA04FCF3F2728244074DC20C025AFAF3FB9849F4040F399C045CBB8C0EBAA86BF5A4C62BE1973FFBF4C88064097D5A1BFCE5F2140B155CC3F8A6380C03E221F3FBA18833F48A2A940FDC75CC05485B43F040FA2C0131E4DBFB05A543F1199E6BFF4E65D40663FEF406B3E4740C411D63F930B9B3E65953FC0D1D2B23F625E90C059796FC08B980AC07FC9A9C0E9C6E73FA0F33F40BB666E40344DD7BED86B93BFFA2A3DC016FA2D4004CEA5C07515EE3F0912ABBE1FA64D405510B2C0D6BD063F6F45E33F6EAFD440AD65D63F40A24F3F518A39400F2047C0F34A38BFA0497E409AB20540D0E6A4C0DD4748C0AA9EC2C050E9C6BE947AD23FF9F73BC0949750C066257A3FC0732A3F9C2F74C00AE96CC0BEE7463F678C65401060C73F7900CAC051E369C0A6D94CC036865DC09E1C2140B126B3BF57976B3F66F7A1C09CB638C050C28ABFA77F1B3EA69B47C0191FD33CE068B2C0C0B649C066A2B3BFB459BB3E201E6FBF11274D4056BF46C09AA91F3F52A43F40A62CD2BFDB8CD54045143C40D772093FE8AA563F33F3B03F3B2DF9BF7BA5413FB1543B40F44C2EC0B6FEF23E3F3A2FC0FDF04BC07CA007402A2A36C0CF21FB3F5380A83FAAB9E5BF662D80BFF604B2406A69B53FC3EC7D4011F3CB3F4F491440B09C8E3FDBFCF33FBC671EBFE90305BF6F873840C9F56AC03089C9BED73513BF5B9B2040686C94C0307A633F49C3A140206B6ABE1C7EF4BF78F3FD3F5DC09DC0A9500B40109E33BE336F8F4044B71140470B59C03CC98BC0D628083FE954E2BF407600C0316B94BFEE27A84052F118BED8C7844082127EC074748240DBA3EA3FFE1ED63FA97107C1F81D64C0639F3DBEEFB33BC0E954D53DC73253C0F768D3BF44534BC0A37ABA3E2284C1BEB80EC1409FBE1040E06722C0F82886404F22D8BF4236554046F22C4064702AC0FF2951BF8E36A03F6AC8C93FCDD68AC00E6F43C0B66BF63FBFFEED3FA7DCEA3EFA6398404333D9BFEC67F43FFB1E0A402ECC77C0288016C035ABB23F0C116940D4CD6C40DA0E8D3FD7CED4C08465833FC07F6B4085A2533FE4214FBEA6C82B40498CE1C0D3643BC0F533853FC64794C0F9A6A63FF060923F5A2DB0BDB03FB73FD7AB0940094643BEF6D94C3F3E0C053E6DD4F2C0353F71403E3F0ABECE0B4E40A0F99C3F571FDABF15CC6B3D34BD5FC0272586C082684440037099BF8E5439C0C85DAE3F830498BE2C7F20C011E6804074D90F40CC507DC0D32B723FFD87F23F127C5FC00C19274027D3C340EDC319BF6AFB8140A87807400E98BABE036F7FC0E7649FC0B68B8C3E4D6E903F6CA92C401ED6F5BFEBC3C83FC25E1D40C3C271BF54A76B40D9CBA9C078FA0C40E90204C0825A37C0C033F6BF4C4014C0114237408E754F404068C93FAA0431405A4955C0DF2AFBC023C6CFBF4FB95A40BBD49ABFBCCC23C06A487640FCA01B3E5CCF75BFF73512C031B573C07DD946C047869640CB5A8F40A5EBD5C0F2B8913FAE68DCBDE19DD2401C5087C0B2B0BABF2E454AC0B04D703D6229943FC644A7BFF0E4AE3F63479F3FBBFEC8BF3631EA3F25951CC0127F1B401AF916C08FBB55C0C559C740840F563F2B9DB9BFCF74B3BF3BDF8B3F1698CEBFA26406C0EA159C3F32C2ECBF294EAF3F0EBE3AC0CED617403AC58DBFADD2814060BB38C05C333D4035A260BF7E992B3F293439BF99FFBB3FF29E8E3F1E4728C0DD2806404CA66D40B27DD03FB3F86F3FF27986BE3C6E2E40A0F742C0855B86407BD6A73E7A3ED73ED3990B3FE91013404CF7E5BF35414FC022D9E040551C133F1578943FC8336D3F42179F405A151840DA6E67C0D95085C0E83D1640B606FFBFF137AFBFBA6125406150963F9AF933400FA48B402813F83F5CE751BFDC9C06407119AE3EF859564017CA8DBF7761833F0B34B93FFA69AB3F59AEFEBD8C83C0408CC75D4083B1F2BF8FE48940F56A97C0B7290EBFBEB626C04838EC3FBC50873F7BC4C9C02DDE84400F46883F13DB04C0743139C0AB01733FBEEF89BF32940740DF59804046F682400D6A3340199E82402AF11B401ED0FCBFE060C43F38E467C00E8032C0C348163FD960A03F433612C03A38313FB70B35BFF3CC0D4031E430402454E73E23A7913F52FD29405FA7CFBF592B15C044090F3FF76B05C04F4128C0275201C00DF5BD3FE5A158C0A466B7BF369BB440D02F67C043003ABFF86F5F3F23F8ECBB024259BFAD28AB403050E03E5E0C6BC07B15F73E3C2848401B36D5BFD0DE94C060DA12C0844241C0F66D7D408EF39BC01EB032406459203F4B88C2BF9711823FF970B8BE8FC39DBEA0C720BF50917E3F2D0C8440C4BBB6BF7390A340DA8686BF97E88A40F8BEC2BF99004840A3E9CBC084295B40BC1CF8C0C0A74140A87170C0577349C0AAE7FBBF4D745540063F003FE9E67140BE535D403884A93F4568B63FFE31A6BF8EF6C2BF2C97D13FB715C8BF606C3240A4E00AC0255C7E3E5B27234078D94740609E2BC0C70B064089EA613FEA323BC0D8D9A7BF6827744070703EBF8B9B8A3DB79C22C009ED9FC00C3F3FBE955BE4BE3233D93F2B7658C0349E6DBF447693C092EC5A408B4A214036B261C0E58D3440ADEF1040EA6E3140E04D1540A4708FBE47DFDD3FCCC30340FCE11FC0B7C5603FB1F539C00E572A4045CF57C08E784A40C681273E2E90F53EF8CF17407D9528C07AC7333F069FF2C0ED9781C0F86324BF886D90407741C0C0CE862FBEFAC991C06EEA8540227974400C908440377BBB3FB4519F3F0C7AE8BF6FB8EB40B3A4B63FE09C5EBFA30F05C05C509CBEA7F39FC0428E3740E09A1B3FF35A6E4064C514BF0CB5F4C0C050F2BF56CA203FE9A6B43F857A94BE5D9DE0BF97BDC9C069F39BC0A94CB13EEFECA33FC4816AC06B1027BEA7A825C05CBD00C0D59F04401DB1EC3F35269840A8AF22C08F79D93F1049C9BE958B06C0F35528BF3A701240CD9BB53F29DCA64088BB3A3F003DB340B2DCBA3F7111F0BF8845B43FA0CF0B407DF8B13F1143504068A62F3EED21433F6062B5BF435710C06E874E3E36E0BCBECC1CCDBF027E31C04AA7BE3F972CB93CC4329A3E404B76C013905CBFE23EF7BCBC462440815F864087DD7D402B9789C035F78F4079151BC05E44BB402191E5BFF1B4F13F1D4DE540BEA3B5C06F867CC0718E6FC0A0F108BF670520C09E0B4B407DF24240E6FF333FF82D4DBFA1562FBE082590C0D5AB58C0434ACD3FF674094033AA284000B36ABE8FECFA3F4F236CC04F856ABE1D81023EC78F99C05809734012E096C0541D8DBEE89A5CC088E30AC0DFC8123F67DD113F01138240EC5E85C09A5B9BBE7B1B894050749BBF122D87404342FE3E8A50AA3EF89854C00CF3C9403337FDC0EBD8FB3E5F5E05C0E8408BC04BFE5D3F697237BF520187C05F74A340E248D03D874AE53FE46470C0D2B8E4BF9677893FA650CE3D2ED8E3408CBC013F7CC6B33F1D27A6409EE8B2C0F66E2DC0417E6F3F553791404705C440E4D848BF5764783E5F2913C05AD28F40836A2640C6C451C055866F40C9580FC031F021404C760D3F061EFFBC4AC6AE3CB1E30D40A9D679406BF53A405A72B6C0137F5DC02C32C040575302BE7F1481C0688809C0BE5D19C0023B9940AC458EBFA773A6BF97F15A401E441140165F333F96F71640C8D42CC003B903404D733140C61489C0F9EBBC3E901F2BBF34C6EBBF576118BF31A69F4048217AC090AA6C40DD3E17408E43A8BF299E603F7566B53FB15632C07974C9BF39797ABF0511C1BF8AB127C075A7A83E9C0C703EE69D26C098514DC061287C3FB7B505C032E969C04749B3BF281A30406BB83C3F616503BFF9856A3F9161B3BF1D329ABF7D3799BF81F8EB3E252429BFF590DBBFDB92B1BF3D653440935BDFBF83C31ABD0CAAA2405436D53E0D2B35C0F631353F361AE83F72D0ACBF27EB593F9C9387BFC4ACE13F08DA25C03B7AD43FF1CBB740BBA181406679A23E3BF36EC0A268863F7E1FC23F882E084042DC6CC01A442CBF8B1B03400BB88BBF6CA713BE1AD7E53F252177BFB1A47040A2439340F370C8BEADA51C40DDE4903FEA9D00BFE89CCABFF64305409B7B493F7877724075648D3F942102404347723FA6E4DABFBFCF8AC01BB179C0EDDAFC3F1CB538C07F4D5DC0140A4940355760BF2F838F40E410F6BFA5E30041BF2B5540DFB6E8BFFAF69140FB1647C056105640F4E515C053A7CA3F99AF8BC03916D6C0A421C7BF2327303EF38BF1BFC2E071BF842F55C0B61BA4BF9C246CC000CC5FBF715375BF4D4EA4403D94D2C0ED517EBF7D17E0BD8D4A9F3EC405EA3FFCA41C3F2C90B4BEE949573FD1D341C08F21723F8AE8C7C0C72B21C04B7171C04E0D6EBFB37A12401C8C8940E80495C0A3F023BF260AE1BF36805D3F513DF23E43DB5EBF2920A5C04ABB1B40633954C054C1A43FE17E2740F88A10408E57EBBD1FF713C096616FBFD5361B40C666933FB540ED3FE360A03F1F3A46C08BCF9F3F1032EF3FF67E56BFB2F6714092658BC05FF842401AC2003F841FAFC0C4174D404CD226BF17AC8AC0C1C9BFC05D753CC076DAF7BF86BFA93E86EA68C0C25633C0E9316A405D44D6BE00E5963F652E8B3E10FDE7BC2F58723F9383543E8823B1BFB7E93640968007BFA101EF3F110AFDC06E38F23F23038C3F8B75DCBF6EEF6A3F8A24233F98AE2040A2D7CDBF9E0A56C054DE1640B6AFC0C067F478BFCC9A1DBFC316BEBD3780A0C0FC30A5C056F167407F46D7C01CA68DC078C192C01970E03F7FC0C8406C1BCC40F01597BF255C20C0E5B7B23E47DFA5C0A94906C09EE9A040A5BEAD3F6DA40040AD7485BF1594863E10BC57C019716A40E1AB8340AA1779BF51CE8A40E0A258C02DED3E40D213CABF0628C4BEABA27BC041379FBF8009ECBF991B49BF50EF703FF58E31C0874750BFF204284077B863404D5F113FF6B927C0DE207B3EBBDFF7BFB802B0C0F57CB5C018D18540541DA7C0760F5D3F622ABD40A813853F225D6340C886C6BEB15C1840A4E310C11FC4A8C01E213BC0E2343FBCB1AEC4BE5C540741ED9DBCBE7EEDCEBF782E90C0793C80BF6FF4F03F840D6F407CF34140D60982401889E23D2C89EC3F1B883A3FDBC0AABF75A13FC06BD98940826914C072D154BFD53F0ABF192D16BF503393403EE022C076E7FABE41A40FBF2AD18EC09BFC0EC0059B7340C2A08E4038F1923E92D490BE756801BF63330040F535ECBFB7883D3F77261E3EB30981BF3D0FA4BF69A4D9BF7CFD2840468BF5C015474F4078BC76C039D87240A01EF040EC062CC03E1D3E4081BBCAC068284F40A66420406143B2C0D1B4E93FBD3A60C0CD37C43F785106C1D4B040BED2BF8BBFE54D1F3F7C16FD4077EA36BFC606793FCFF436BF220A4A3E4A1A40C02453D53FD8A7FA3E528809C023B420BF0DFA1FC0B707D83FB0C1873FD201043FBC8A653FAEF40F404CFFF3BFAFDD27BE0A540140014C12C1573D97C0B2E143C0DF58E3BC3838C840EADEFC4019F3B740E0E38D3F8B13C43FADD9F73F912D7540A0F18EC0035B983F72280B3F4569843F13E9A7400A58CBBFF74B1A3FE1AE5EBC3BDD55402ED5293E702AE83F42D4CCC0183746BFF15512C15A210AC046013E40F6C317BDD0D81FBF59978540296AA6C06F51D63F81C0EEBF1B5186C0391C80BFDFB8A13FB24FC2BF2DF902BFE3B8314034C325C047D9E4C08423D9BFEA1D9DC0246AD4C021FD334043C141BB0D785D408D49D44033F19240142C8DBE532ABD3F9E64BE3F082A484086BC4040EB5094BF60EF6940EDB02FC09D4EDFBF79978BBF44D26CC0749A36C010EF8340D56A83BFAFEA5D40169F8F40FC838C40367889BED0289E405E6A89C06197AEC0E3D03E4022C2813F97A007BFABBF893EC08CB6400CBC343FA8061ABF87A5FDBF964656C0541F86C071A0C23E891D0FC082107FBFD424E5BEE2A7E7BE2CE92FC000D6EDBFB402C3BE2EBE1ABFE27A24C09A822640484B80C018D6F9BFFEBE80C090A0D63F1DBACD3F742B90BF7C1D754007B6DFBF8F05CCBFDA7A0B3FB6C159BFD530DC40CC228CC032921F404DE7A3BFD92A8F3F03623F3F79C423C04202DEBF002189402C27C7BF927B83BF36E032C0FE76B1BFF03D98BFDF7E11BF68E988C07DF34CC099B7183FE83C8340375708C1AEC53AC0D0BB4D40297D95404B3177BF3A9B8FC0C84C2840B4D89E4011A1F2C03967A3C0951D3040427A6D40384885402C74DEBFA928DDBE414A50400002B9C0450FA6C0A2F34F404DAD4540600270BF22A5B7408ACC71BD2A8B12BE54E8E03F717411C0AEA78440B3411C3FEE5CCDC099F0B13F5F6BFD3E203E313F7A481AC0A3755CBFAEF20640406214BEAED64EC09F065FBE0048ACC086D21440AD194B4028F385BF420DFA3E87CA9FC00CB1943F4F11D9C0C3C09ABF09774BBFBBB6FFBF4E083AC0BD32E440BA08983E338E58C0C19AE63F3B834FC0EC6F3D40F050DD3E963EBBBF324EA93F9DDA55409693014077298A3F4DA250C0A79764C0B9A914C0F45EFCBE6FDF84BFC57D104054345040CF5F50C0F90D97BE44FE0EC005A57340B9F415C0A6E044C01B26BF3FC25444408CA7E03F62F2BE40B8A831C08AC4C9C075D8C9BFF0A006C08CCBF53FDCF2A73FA7085A406E4892BF8532FFBED8768540E2B7493FF101C13F40010CBF3A4602BF1FC1B240011CA9C083CF184037B25CC089553BC08C9FE3BFAB1C1BC0A462DC3E4BBD01C056328840C202DCC0ACBC74C0A89297BF0EF98A3E542CC1C0690F1340ECDC9DC0B81F113FC7C82B40931228C0350A8BBFAAA29D407CA0CDBF84111040281BB8BDF4716DBFE0ABD8C0F124D4BD6CF994BF26A976C09C2C9D40834AB44064360FBEC98F43C0E5E8A5BFABD3B4BF847CA8BF267E1240E3A39740BF862D4068A8603FBC652CBFE4DD393EDE57D63FD8820BC0BCFA59C0A928644065BB5340DC90F0BF305745401897C4BCBC58B83DCB7B18C0725AC13F79CF154073F3D23F744E0EBD46337DBF4D71B9C0F56E813F1B958340C9E9F93F8EDF77400DBD7A40B6EA32400C88FEBFA5446BBEE83694BF4F51913F02AEED3EA18605407834D83F1A748FBFC781C03ED6F9813F857E8A3FB646F7BEF9D964C0E4563F40A634263F53A0533F40707840E92AAD3C1D1C90C06F259A3E26FAFBBFB27D96C08701BF40D913A3408A9D53C064E4D83F477BDFBEF47926BF0D47A4BF50432A40B9B2C3407A32513F9F0EB5BF635609C09E8160C0F6461340C4E9F83F05AB8DC0B9199CBBCFF01C4028070F402228DA3FA20B8C405D8578400DC0363F7E552E40940432C05CC2323F6A84BC3F6C9657BD5AFA48BE5A40AFBF019D9D40D784CE402E65B93F0380B2BCAFDD4040126655407C770440293DDDBF8F25BE3DFBE021C0706640C078517D406054143F4E5D0540B3F68BBD7CDBC43F0B4D3B40636E0E40E947BCBF2F9C8B40A1169ABFF9CE1EC0327B14C0A91E3A4047BCA94045787F40113EF1BF76F9D3BF7658AA3F622F8ABF8B4184401E18A2405E8050BE1E7FBA40AE004CC0375F17407D31BA3ECB53F23F110821C0C21E6340E3FCDEBF1FEC68C0C554D2BE936C85C0FA2DE7BF413EAAC007FC1540115A8140F79D1040EB781BC04883364018249D3ECD0CC8BF71090EBF4BA20E40F01B273F917681BF140E92BF2BA9603F4BCBFFBF1354A0BF80B7A63E9449DBBF5126F4BF521CE63FBBD71F40F0E5254097C6833FE813EBC0E4D078BF25D8D43FD0B6493F85ED0C40B6EF92C0E188AB3ED9678B3F7DA825BFCBD1903FFA3E6DBD7D732940702DE4BF8CE693C001415C40748298BE6C11024029838F40862BDD3F2C940D407E8AEA3FEE3D5EBE3E7A29402E1BE73FF5189BC0191A384089EE2D406B2BFEBF8E3A44BFC2DF2FBFDCD518C0A22FD8C0BFA4334044CBABBE7274CD3F32DD893F1AFD843F935375BF67F36B3E2DB0E03FA164A53FA76D5CBF6627D33EAD33493F80E97940C57998C0CB96A0BFD2D37BC0AD7E943EAAA151C0674D2FC04C0473BFC63803402A1321C055DBCE3F89E51DC0FB3055C0F42331C0D1FD633F40C2E93F328DD9C093802B4053388DC0AF59B23FDA3B674052BD76BFFC94F6BD8A5C2DBFEEDD54C0B38D13407590AAC04D96BCC052C790C0EEF07C3FE1C892BF6C10303FD6D614C0DCD476400E24603FFE4D5B40B6EEC94090996F3FC88916C0CDD02A3D4F5F12C0190E31407698E03FE5A3F33E0F38113FAA60A8C0D00458C0B24088C0F0D1B5409175854099CD79BF019419BF12CA0FC082B1E1C0E3E9094023AFDF3F55B19E4033B406C07BF6F0BF18A7BCC05CC726C01557C0BFB53D0B40DED77F40579970C09F3F11C079A67AC06EB7CDC06CEEB53FEFCF82BFAEB92A40D656BAC09247B63E2E7E04401A517940FC1EFA3DADAF8C3FA45B7240EA53EFBFCB9D0640088E7740F0C6044029BAFEBF06269840E022B6BF02F244BF460DA1BF2B990C4058DB99BD5D92EA3F6FF8D7C09F0421C0904EFC3EA10F1C41F6B80BC03A15D93FF2B927C08343EA3FC0B1373F41DF09402A13744031520ABDBB7A43406F791240AF7BD3BF8B54B8BF33EB8E3E61690C3F3EEDAFC027D08FBF41E78CC0D0725BBE4D09AFC0460EBB40B84E29C0512C90BFA2085E3E05BD163D0F9D52C0F5280FC05D1F0DBF3FC54E40F1D802C0C0F3E93EB41494BDB4B6D0BF5C5455C0547C2E40BACDFA3F7D5A7CBF3A66D63E471BB240DA0DF33FBEAB6FBF92B52B3FA6C104C0B235AB3F30DA3FC0115C414000E40EC0520AA83F7024403F9F6197BEAB7D4AC0085B50C0ACCB84406DA839C034FDDF3F30837F40BB32494024ED4040925E52C09C9A0540B5FFFCBFA6C5584029284B408BB4A23F4C385940FD05DFC05A80993FE5B0C93F9D48844035141040738478BF819517C036A0AE402C6082C0C5A22EBFEB5D04C0340ADABF21162D3C3BF866BFFE9D0FBF836994BF4A5202411126483F7FF34840FB88374020718CBFAC789CC01C4FB14022C4743FCD3133BF2996C340F08FAEBFFA18DE3E3132794016B33BC0544C2A3FDB337DC08D3EECC0197582C011850EC04A5F81C033472D4009840EC05B7D14C07C55AB3FDDD664BE9BB1A63F661FDBC0388558408445E0408BF769C07306A74087148F40D723813FCC51A9BEC6443EC0FD3796BF6D55EBBE23C4F33FCF9316C02B5092C0EC60A7BE164393BF4477DA3F3CC6B7C0258819C006FC79C0ED16943F8962C63FA5AAB440789B77BFA14092BE80C5143FC94CBFBE199D1E3F611E9EBFD05439C0759F41C0A242414080AE68405D8599405B172440E25F234044284940CDAF70C0020790BE233DD03F24463BBF11A0FEBF82D7B8408432B9C0A2DA3C400B7D9DBFF9F51C4098BFD03FCDA15F3F2C41A54035C4AF40F86F42C0CB3C3E409B6CEABFFCBF1240375BD5BF7F15A03F3801CF4026E395BE245C1EC09EA50CC0F6C988BF3B4EB8BF82791A40D399B9BE075B3F40ECAE843FF31685C03ACC6BC0D84221BF6F323A40879D5F401CD786BFA7E355405BC06240092F93C0BC1D26C051DDD4BEC91DC2BFEFF61EC008EBE83D3F77E03F47D0204081F2374090576A40C839763FFDC938C09E6D77BE0A0769C07BF1CD3D0E1ED8BF79126DC0DE378CC0953121C0ADB0393FE18E62C016C1744002FD323ED85634C099EF1CC0263D353F7E28FABF7DB506C026091A40190AEABE1C467C40C6A70CC034CAB0C017179040FD0FAEC09D3914BFCAD06CBFF3B26ABFF5442140A6CC43C014BA0A41DD31DC3FDCD62FC004E158C0CE6ABA3FB7AD8FC0C2A385407D91043FB7CB95C019088440B92A6F3FED85103F2303064056672340D172B3C089752FC0A99B18C05E01D0BF3D89EC407445C23F0C35333FD1F6443F691105C15D374ABFCA5777C0BBCD52C0B9F18940ACBA99BFE89785C0FBADE93E227134C0F7589F406FB71B401F795DC0CA9B273FF5D19A407B4AA6BC8F3A13BFD2FB0DC0FBBD73403AD393C0DEF6AD406A93D0BF9DDAA3BF42B08B3E360DA13F5BBC913FBC932CC09C251D4072A942C035A802C010887FBF490204C0B8DAF93F82A8EC3F1D31EE3F18060C3D604AB1BF2E06B53F37AC98BD6C151740499B0C40F96811401FE2A940D1EB923F83E1124011EB39405B97EFBF465D8DBF8B9B773F9D824040469B2E3FECFA2240D49680BD6C75C94063811D4038D8FC3F243901BFCF6EC13FF918FEBEC3E8B03FF17439C0148E4FC02C78A33FE551833FE99CE4BF40CE9D3F2A7425BF0CD2CE3EE98E15C0EB04BE408BC6A1BFA6378A3FCEC78AC02697D1BE9CAA3DC0DF904BC0EB94C1BF2D0EAF3F0B48173F5D1114403FF18140FB1D62C0D07C18C0EFE58640C2428540DA61E340BAC94D4015F05EC090F22740FDBD3F40D6C7AFBF9C2E0CC0EDC491C00B24823F04384E405B7D12C195DE3E3F753B9CC0319FF7BF358949BF2DDCE73FA8D39F402557AABF118209C0AC04BAC0774E27BFCFD30A40AB47E0403D1D18C05CA6CF3F6E76EC3D517136BF9B1E9ABDEB2BA93CD8D94F3F27786FC056AA75BFDD720EC00104993F19FA453E8257A0BF4DC56CBE1806BCC06381CB3F66E3033E37D074C0DE6B96BEE7EC64C05CAD97C0FFE293403A6EBEBFC7D3ECBEC23B7EBF6F01AF3E55DAF03FCBE13140CF9B034084F94E403E7514BDB5C3B9BE2E18EC40C26411C0036514C03865B9BFB40A7C3E5DDB5BC0648D823FE7F7AF405E5ABEC06A340640B20E3B3F4E1F7040D16597C058D91D4050B11BC07EBDBABF469439C0073F66C0DFB202C0F87C1AC078512B401EB5C74064E491BF2F9E943FE8A232C05033E03D3198D3C00185553EDE3F89C0BBDE1940530E8D3FAC0F86BF07D566C077B7F3BF236C07BD2AC5B53ED8FF45C07C524F3F90A5823EC101863E0EE479BF6C2BBE4066DD473EF6E0D1BF773F4E3D26FFE9BECADA133F2C2292C057400BC1EB52B3C01129333F2670DFBEC3DEA4403DCE0740E69CD33F1ED0A83FFA58553DC6CF3DC038C41DC011672E3F7E4A6840F008DD4064513D3F4D43BB3F43EEA9BF84CA93406E468ABFBB730E3E69349CC0AA466E40D9C26B3F6BBF0AC0ACC749C05012E73FDC21C7BFCB315C404B47AC40"> : tensor<1x4x28x28x1xf32> - %1 = stablehlo.constant dense<"0x23847EC035AF8EBF84EC924048F83D40EB0ACDBE90600CC0C09F5BC0FBACB7406D3FDDBF511C9440E769C53F0410B2C0F9700E3FB98B623F7683A4C0F58AD2BF4C6FE03E9D6F0840FBE2423F1CF1263F7A3AB3C0EF7F253E7ED463408782AF400C98DB3FD47E1C401573A33E8376244062442EBF65C6524023A64CC0BEB959BF4F807A3F7FDF69C03C63D0BFBA1E3B40D8B85140099F39408CA51EC0E56B01408E6929C0D4E19E3DD3840CC0D97B32C02FF6F43F780DD0BEFCB8393F3ADD2D3F257CB23F14D5DC3EBA6B0A40E2AC43BF049B4F3F3F18D1BED7167B40F40B733F6D18C640FFCCF43E695D104009752EC027DD81C0320984401A24BBBF7218A5BF7E3B3E3EA860A2BF6494BF3F98ECBFC0D6F163C01C5030C06BC935C02535774035434D403EC4A14049ABF5BF32CDA2C0686BC8BFAB331CC0C380693F8B1F5940AC9F603FEB9E353F62640DC08345D33E7E30034056C2D6404960AF3F1F168040FA920840812A7BBF1409653F5FBEBCBF0AF850C0005CEF3F45CBD33F0A79C4C0F194643FDC53AE3F65C2D7BF77943B40660C55C0DCE63EC022E1403F1A396D3F49290C3F8D0D12BFFF9577C055FB2140A869B73FB3B5F3BDA13D1740C728353F3F8A59C01CCBFBBFC1D8A6BFD40BC93FBC308A3EB3A68540D9854E40C5A75E40BFF94B405EE096C084FD95C0E749B9BFE168983FF482A13F2F3B4DBD0D39214031001ABFB256E53E2891CA3FBA8B0C3EA46156C00B644340D7B72EC0020832C0BAC9933FB8AA343F321B21C09EB0A93FD220A4C0C73D643F6FA19FBFCB910E400A284FC0359D9B3F3194D7C0089F0340B67BD73F55F30BC04B82AD40CA897ABF74C3F53C110AB0C0412C44C08B16A7C0EF7D25BF2AB0E3BF229B193F333533BFDBAD80BE69E40BC01A3805BFB5B232C0F8B132C0EC3F3FC0EEF4B43FF04B323E449B1BC02B74F2BF6106A1C06B590740D342B63E6C24A43FECBFCBC0FCFD4940986CA33E2588C63FDAF92BC094D9D43F040FE240670398BF646611405EF478409B2C33BD9C01BE409242A0BF14CE13C0783D45BF22ABF53F04AFBEBF53839540DD147F3E4182BC3FFCDC5A407D70913FCEBC54C05E6A86BFD8702AC012BDBA3FA5D1E33C4CFD1FC02765E1BF5DAE8DBF20133BC0A50540C0EA5C5CC03F1CCE4076017040042CD0BF140954408B1D8B40F6CF3AC03737AEBFDCB48C40F23CDE3E5E30D3BF18A9ABC0208225BF4C2920C0813304409A6959BFB8B0FDC0DD98863F0AA33BBF7EA8F13F3AD0DEBD4E53B33F7BDD50BFC84588C031FA68C0C407EBBFBF16763F348E19C0C61C09400A2DEBC07C5CF040FC5E63C0333F233F1C823FC08AC8B83F4EE37AC007006E40DC815E405A8EC73F9F6284BFF3EE9DC01CF2CCBE5E99193F3C06054065AA0840356E34C0BE4A9CBF12329ABF8664EB3F3C0378C0451BB7C0B9D65CC0E71E9E3F62B36740AF3969C042CA50C0ACC3AF40204D4E40958E9E40F0F7C5BF92A67CC02B4DC53FDCB486404F97983FB4A6C5BFC136E0BE28F42D4059BDF13DAA4A63C096EA913FF167E53F833363C02AABD6C075FB65BFBF33A7BF4529963FB89FB3C06EB9614074F63CBFEBAB02403E8549BF10540B40"> : tensor<2x3x3x1x16xf32> - %2 = stablehlo.constant dense<"0xAAA90141765E75C1C9801F41891A3C4261DE2AC1D7A1FCC1A676C34107FB61C16D6682C1C07CF2C1F967C2C14E710C425946AB41AA2844417C5B41C2C2B97A418213AAC1EC3CB7C1D85C6E41B7A60C429DE99DC1FC5F94C199A150426BEE8B41B31B7C4168C10FC2582D85C106F13CC059992142B0949B3FF167F4C1157E3A40BF13D2C15B0E38C17FF7CA4105FA0542889C94C11DA8B1C1CCF3FFC13A3393C1B3FC6AC1B2B551C1614142C1E0AE58412936894112AAD7C199C104C1D649D641FEC23040A0DDC74035360C42E87FE74157B579C11B39CFC18B2C0BC257B98DC1333F9AC03A6573C19FC120429E9766C28DE909428B943BC237EAEF406CB4C3C10FF61C41CA1164C0F86CC9C10F8B33429802EB4173C0DEC169AB40C271069BC1CAF8C9C195A0D9C1E738BFC08DD562C139C57C4238F43CC1ACEAEF40A3F10AC291FF0F4217278FC0EE3A6A412D2F02C047062A414139504217055742C9DB76418B4808C27B1ACBC1E171DA4121435F3F9085F1C1F1C3A33F354718C2B53FA5BEA48ABF4091BC4FC1D4CB73BF1F7F3C424DC5B4C11BF49BC2726D5A41BB0F9341907C87C1F3F314C2F316A3C17C187CC13571BA4264F3E8C1FA4C10C289A0CBC069031EC1600A4842966419411ED55BC2F79BF0C1E9F20D417AC845C2978473C10029FABE2C25B7414F0B9541E0B6C3C196C20AC2968C13C2060C9E417E052D426315E94138496CC183C550429095064212CA94C146D600C23D0306C21FA8D33ED3375CC02E3F3040E2488641422C96C11AA4B9C1B02999C1FB4331C25DF2FDC0F558B14105C3FB40100114C2F82941C1DDDC1F42F70023426362EE4109B60741CCC782405962CEC1E81BB8405653B8C16C28D74026E1FB41094525C1A925F9C1493C54C1A57D2EC1EA13F54141BCB7BFC6B7D9407BED18C2146C0DC24F994541B5BA884109FF54C1B43F1B4241FEBDC239375D4261EC34C2FBB731C1AA698CC1E41F7EC0C7E872417C11C5C07A164DC0673606C23094853D8F3F3942CAB16942538DD9413FA095C1943E1CC1DE08C8C1B3D0574182724EC10A002AC08BDB05C13090E741C5ADB6C0DBF48042D4E6A3412CDE0FC2BE4F82C169A04742EE205AC11B286DC08198ABC1A7C760422BB146C26BF00B411710B8C10D5F51C2BF788DC10723004205A7BBC0A6DA1542F81E3BC2FB36E9BECCB822C1A16AA1C013FFDD41FFAE8F419B3532427C5A4442DCE364C21A5D1AC2E35A87C1BF8AF43FADE512C1910C1742EABF1C428C0C4C41AB2836C0FAA9D440C438BE414C0FB0C27216DBC1072EC2C13B9AFCC137183A41DFC150C2F3D30FC2F007EAC1074E0CC209580142E7BE9E410D3ADE41888A334145F852C2B4E6CA41214B26420CC3D041F4E86741A27DEF41C915B241DDFA9042DE0536C26E2D58C2064971418CCABB4001A321C22F0E59C094B3684154E005C25858DA4176F525C235B459C159ACFF40815D0642CB2AC341A66084C2B21FA0C21A7BE8C14F6C4342F564ECBD0E944DC2C76EC7411A7A2142F7006F4124E2FFC1E71A69C21521FD41CA3FC841E98307C21686B141EB859C3FECAF124266E0A83F8BB782C17CC141C244789341E59B5440EB7E13C1795C96C1390713C2966F9A429E672B42BCE9C3C217818240A3C96A4252D07842D64B9842A29611C2A7043AC2B4983FC26AD6FFC1B2F64AC1F27169C2B1F90A42967A6BC16F730EC10A4A07C099DD1DC2666A91C1FF94BBC19883054239F03E42A3657542228B0042FAA4FDC126BCF63F5231D8C12C01FA413E4740C14B10B04176230042F9760BC01A999241B27EEC407D696A418E4997C14D2D88C26E6A0042883C1142451C9AC0671C16C1F6CB92C2D04FD0C17A3D7AC13D864141FC1D9E41743363BF1B71D4C1B94A9941456D72BF2B7393414E9C02C22F116DC1A2CF134101093B42A49D22424B284E41463974C1756690C178C1B54126BE8441486CE3C1B5FFF23F101F4E418FCCA43F9011054147E629C28ED056C2BFC48A424E662A4110169041A9D922C1B6911DC1BC3E3441352F0F426163E640169BADC12C83D240B6BCA9401630A0C10AFA88C03F6E52410E9BC3414764DBC1543657C13AF1AAC01020BB40B4A79A41420E13406AE72841DF0F1C4129B98F41EEC9C2403274E5C19522424182CC6640C1DD0D42ADE42841908DC6400D1404C29F3552C2E71E12C2252C60C16DFD79C08E29234241EF35C288448041368FF7C140AC83C1F483CBBFF02E81BFAE8E8EC1CDF5B9C07137A841AD371E41887437C2D83608C2BC6BD5C000C358C06E953F410DC196C17D557F41F2CFC1413C487740600F6EC0D9B0EAC053F3254181A591BFC7A3B640B826E34171FF6ABF875D26415B89E141255427C1364ED7C1B0282EC20A16D93F006EBB4066E091413746A2BF96FE30C22D9E6140C65797C13568F8C13F2CB441332C0042E80DB3C0960B93C102C11A412470764056345D412362BFBF9E0DCC3F8E203F3F77F0974108894F3FEABB27C1FC47C1C1C29F8A3FD0C116C1E0572A419F14C4BFFCB77FC15F1D13C24D504A412E5AE6C12CD960C1CFD357C234AC83C0320275C1FDCB1A42BB3598C100BC13C2046788C013ABA041F70097C1232FC73F8D23DC3C887A10C1ED9D21C2F3EF3D4151D9F340A10483C1333DC6C1D1B311C25743F5BEEB91934194796FBF125C4CC2138C0C42E6D68241E836B6415659D7C14DB6F3406F632A41ADC02FC1C233E041F7080EC23A2746C0BB214FC25EB17FC07D894AC17F1D93C1BF0BFCC18EFACA4053B02A412A79E6C0762174416507C5C11C38BD4112B704426A17C6C151B84242AAF69541500DF140B1E75C41C37FE8C162657141BC8B1AC2F4B43F41100A65C1E60C464283632D40B7E81E413D789A40F75472C18220CD412506CCC1C5D3C7C1AC23B4C1A92E1F404B1449419ECC15BFC9D02AC2C9099D413BC901C299971AC011F3634289FC67C0222A3EC2206ACDC0B9BB25C28B792DBF13F033C1094403C278A0C1C1E79514C23662A1C0633C71C1697D3642BB078F4013F76FC027E21541FAD7ABC032CFB841261494C02E370BC1DB194341913CC44073CA63C29E555242795EE8C15F6ECEC10A9646C21193B9C1DCC829C197C84A4282AC9DC05E6E83C296945F42472C66C109B7E841998390C22A2B974170268E422873F741AA885D426C7C5941CFE44641510A0E42D0E3EF418F1A1E41F41E13C246BDFF4191C67742EFB186C2AA4EB24009A776410BEC37C271DB6F428E553A41E0A71CC2B2BA00420EFE42C1115682C208F3B1C241ACF8C1097ED2C084A52A427C86BDC13D834BC20FE543412C4BBFBFA7A306C260F68F41C2DD1FC2B47780418EA36CC1AEB7E4C2DE6F0C4165C5ABC19C69BE42375835C16464ABC0DC0A63417B30CF40006CE5BF9E6C58419EA31CBE2B38894199C605C2F3CFB0415013E941A28C95C2FCE5E6BFE69A5541F5826BC221281242B47CE7C1002245C066A3DF41ED30D4C1B11427C2786A9242CB964DC182673BC25F45F2C1A093394264F2BA41D0B39BC15C58A44249872D426EA94241F9CABEC1A69337C23397C4C07343134289672C425E1518C22639AD404891B9C062EBE3C1B2ADE040CADD3D3F367085418A4BEAC0CC899B4133FB614139CD09C221782641B5E9F1C1AD648A42C09E3AC2AD264542B3A09FC2A1899B41EE25FBC070DD6DC084AA9941B91347423C5C43C2492931C219C222C2E7E93F419437CCC136D81242EBB3EFC1B42C7242A2C3B2C1743AAA419D89F9C1EF760A41241A5DC23CE98E3F1E68AFC23BB77C41667B7F42BE9B5CC0F8343BC276CB1240C6ADF53F386BF4415FEC6DC271C045C240FE84C140902EC1E4392F429B3CE2BFB8A792C2B08147C2C03C77417D38464263480E42580D374270707441C06B4E42561AABC12E2BDF41C0EA43412B4057C16579A44191B48841974F45C07ADBF6C118CF8FC14DCB52C27D1A12C28EB5ED41B014E141EEF84BC1566838424D5785427A6C1B42530423C050F678C2535EB6C2DA438542E7F2B941FE6910C25436CBC0D452AA406BE2D7BF1D8624C0BF54A741C1C684C09BEE1D41C7D89CC2C1C4E23E738F10C2B98C1B424F2BB341A05E89C172AF2A4259294BC184401A4225AD2EC2C63F6541B9A7EAC171333A415200494265F694C2FAA1C4404C73A9423891AF42BD94B1414A8F46C20B1995C2493BF6C1B38A7FC20694F341FFE2BDC2A018F940C55D913E5AE668400001BFBF44A71542C36EB3C185D8E5C176B7DF41CB303E42B30600C2DDA7BBC15EE84941E8DDDCC19F2FA7428E312B412A0A61C2F3C70FC209BC5DC251C1DD417867CD40E46084C0E51EC2C13FD24FC2C161D9C1E27E6742438E0E428F1925427828ADC1CFD4E4C252CFC1C1B0D4FBC125501FC169337D42C369BFC1E5E0AD41C359B64255BD1F42427D97C2602BDCC1853F8740B31A644186FB2CC1487D34415C116042A6AE1BC2B0886341EB320FC25EE45FC22CDA92BF10438741A198C4BFC2C20D410E85A541A6EFD6C0395B96C034B4DD41F1EBCAC0A24A4140B6B55EC0E897C8C1097307427FCEBAC132A48642D9A783C2B4426F40F9739B414DDAA840F8836A42DD15EEC086AE3941DEB82E425ABA75C213C3FEC10B310DC21C367AC181BC6E42CD9068C2EC1D11C1D5150BC21906F3C1E24F5141E2334EC214A88941024E2EC2E79B194241C89A405F7E6DC17B8191413FAF8541076AF640C655B8C13BC3A4C2C4ED844149350ABFB6ABCE3F0D5655C16C647B42A754B34143724D42198F09C263E38A418249F1C1DD8795C1F712F3C1B44815C21A5EC7C17A5D5EC2FF467AC2155C7B414553C141E58117C195EB17C213588A42B4E388C185CC1FC25CB182C109457941FFA106C17F829BC15D59FE4020D7A7C0581726408EF902C2F8FD71C282F75541F440E6415703D6C0538DE640E2871841A786E6C168538CC1CF17A840663959426C3C4AC23D2FFEC0DC7D8A4228EFE9414D9D6A41EEF5ADC2E0F594C2655B7841E461374249EC9DC05A7264C2C4E35242953861C17A7D96C1955920C12D670241A7192441B37737C261EDAB41B4458541FC4917BF0242AB40EB1218C2222C22412463D3412FD815415722E3C1394C02428FF73CC1662464C09FFE6441B5C4AEC159793DC2CF2A8CC28626E53FA736A5C0E34096BE8E87BF3F712B22C1BC57ADBF53901D42702A3AC1224AFFC1C29455410AB2794042228AC150C6A7C11C4ECD4187F6B340739000C2399EA8C1DD7ACEC1078A5AC1375764C1470A0AC226BF334135EBA2C0C5EDFB3FE33E10C17D8783C0C58A8FBF89993DC1E5166E40ADA61142102213410F393EC17ABA56417B0C0FC2DBFC82C1371A64C27523B8411798FAC19738CA40E7933DC124B088C1BB4933C222EA11C24EBB2FBFB4732BC153BDC441DC6C0840E682E641FC0D0B427F5483410F36E64135225041BC590DC21E33D23F5E9739C2C152B8418961A3C138958C41FBDDD2C089D86541549303429BA079C04ADB28C2233255C1FC69D5C179793BC2956B15C15113B4C13E4BE941CCBF9941E417A941B5772BC2C66787413888334141952CC2845E82C14E4BA241289888C1849998C1725913C1D4AEF2401CDB4141EF07ED41BB454140F8F043C262B9D6C0759BB9C181E8CA4059F8AEC1B3005B421CABFC4106D08FC1141E7341CC2A0E42AA54C1418055F0418FA698C22E8B2BC2D88B0FC27D6499C184001C415D75F2410C7577416B4B09C035486E41199274C10BA819416D103C3F44DBC5C2CA7ADC4127C47542633DA0C2A7B26A4072E23EC2A9E9BFC1308A78C21C8CADC2F735FA401AF04F42D3C6FFC0B34706428C0E294259E51FC1D3AFA4419B3997C0DA21E8413F0860C1B39D29409971D3411619284297ABB34196CCC9BF646F35418366894123597D42BDF5AAC0919B8A41EB4B90C18ADA26C11E60CB41E72629C2478DB841655A26C2D51D9CC21A69AA42C11B80C25BA24FBE645A8EC228CB8BC160BC8E4213EC8E42E01C87C1FB72F24084EF42C1FC855041E49ABAC1BADEC542586BE7C01B1C83C2D81D8BC2EA4764C2285C85C14F0BA9C11011EA41C8F01A42AF0FE7C1B714C041D48712C226D34AC2C4421DC02FCCA940DE4C1FC2C1152042B0EEE741F13E87BEADCCAFC0F475AEC2C59AA8C28A405AC2558072C2E7C4274266A41DC2171501427C2B88C2AFA4A140346652C2292638415DF2EE4170481C4050362E413F9E984108659941AA0A9840BD0B59C23C8511415AEFA9C25659384281E322C223910FC1E9BEC3C1499A9C3F05E20AC2AA061D420F35974126C61EC2C61A48424B844142F2267142BB1EE4C1C2B3FA4066518B407AC4C4C1633709C172F29BC1EFE98E3F2BD8F2C09A3FCB4107AFF9C0D623FD413BA3B4C046530A418144BEC1E384D1C1313B004142B143C12486F3C1E8FEA5C1B14D05C2371A12C1783044427E7D494027840DC2E79A93411A47E641DF072DC07113F6C175D17442669C6C40B2F644C26C6495C11B0AA94121A4E642F137F241E9BD7542943420C2A500A6C1EB08B041F03A30413E9C96C276DE9042AF0C5D411ABCEC41CCF51F4140F776C1C51BEF4180EC1242D4D09CC181EB34C1E1CD29426CC46342A8C685419697E641690092C2B9768241A3971A42B595EC41B7087241E04B12C28C94FC41C8AE7141B04219C2C7D2BBC0FC24B1C153F40C421EAE333FD85490C1E26DC7C1801F41C2D3494EC27BB8574149975CC2ED544CC19ED89CC1B266EFC1FF4C8841AFB82EC2B0DF19418138B7C19E44DF407FF7EFC09A938B4001ED9D41022CE3C0B054E6C06679344268CB693DFEB53EC107472A422B99A1C19FBF4742BBEE62C233BE1F412C7F2041EB9002C18F57F641B6C35E42B9761D4282840542689AF8C1646A38C135CC58C25192124232D71EC05E0D0B413628A74131529F4106875AC2D9BDEF41D39CEA41E72E35422038B542A1B1B8C102E6A5C1573633C20E6901C2A87A6642EFFF9DC204D52C42B7A872C10F28FEBFAF4B82C259A90BC292359342A0653BC1C86030C23E74A93F242D1B4192DF3F42CF945A42B35098415484C241A0DE4EC284E300421A403240475582C158823FC2883558C2D0CF9341D91F6DC20E7D87C27C5BEA41603C47427679EA411551F24114DC75C0323C824188CFD4C12529BF3F138C00C276B0ADC1F0A7514274E7384232D4724240BBDF3F74EDA1C1AADB6DBFA491B941CA1BD0418C2141C2CBBF24C2A1828741490399C1269CF6BFD0218BC240E954C2A1A8A7C18A220E424706B8C192E4424049071C421FF971C24D866EC2EF6F804216676641940F7C42D1AFCC40C4D7C641C9ECE5416F816942B180A9C2FF605E416293873F526D77422F2183C2E62B03C1204BF640A96BB740BA1A86C14CE042C25324F040A87B8042BE6D274259236042F7812DC276EE4FC2FB3416C07C40D7BF4CA853416A2B13C2700C8A42A2F06F428BAEB2418EC918C2433A97C2E9862B40F9CE5AC1406EEC4159A200C20FBC10C2B45DB3C109F2E2C0868A1EC2BBB6E5C1E14EF5C045A139C2E92E0242D94407C2CA1944C157104B426EBDA54156C28CC21C3660C169A13F4291184BC1F3A3F241C545EEC198179CC0987439C18D2F8141933A34C1ED0B29C21DE137418F8D1D4140D28841EC637BC1E0BE7A41E63AC2419C02494093B0CA41354D6C41F02573C0E17A85C1D0373EC186D695405DAA6940616D8C41EB5EB2C1D7B5DE412CC9B441A3AC0A3F7E50DC4082622D42AC9491417B3BFE41264A99C2E676D5C126EE80C0C6B930C2072CCCC1A41814C2C3F4EEC17CFE38C1C0D314C130FD6E41CF4894C1F278A740C1D613C1AEA6F0403A6DE5C008BB70C2CC9122427618504191EF01C2C9AAD8C1EDF813C073C00841E26C9442F5C1E0C166E89EC0D34BF24087F5084021B7F4C023E968C2137114428952FBC1E038BF41EA2A0542348873423D8ABD41E19495C2AA2FD9C2508005422E07E0412E836541DED195C0FAF379413C0D1F42973D1342CB86EFC0BF89FBC156EB6D417AB5ADC0F49F16C1C57495C2D6C205C2F39896417310564203A697413FF65FC2C9FDA2C10B805B4148179AC1D05B8A4142AA46C1896222408DEB1241AA6969C2C78090C27AFC65C241856A42368C85426DD745421C5CA4C22404A241DB611FC2C603414197391D4174FF9A41292299C16ED5DD40EAF65EC16DD832C2286CF741F6CA0D42AC413FC2352635C2A3B174C0B8B8C1C12C91A1C019FE14C233C619C1B82376C184B70DC15F5DCC41EA8663C2DFE90DC2F3EFA742B61A5F41AC5C29C236F0D2C2F4B4CCC1A81A62C0949BE242352C3342AEAB04401D4B83C21967C34176F0AA402FE784C1B71841C04211AD4034B785C145421DC2467E0042D7AFAB3F49F9F1C02E954D428FC94BC0A2556E41C8DA2BC2CC20B3C20F6D1841F2D88E411AB71A416CC29BC14389994208D52E42DBDB5CC2623D194133E4AD425E237D42980528C2264A44C1CFB724C2CC999140CFC543C2212518C221984741ECDF3A41224ADB4113680BC29C6A32C07267F6C1E8EDF34029F9A54137A0BC413E1222C23F502540A238ED421C2740423869EF419C852DC2DDC522C094A2C541EC4B1D40AEF32241AFFCCBC1952C5C415F421DC2590BCFC0B7EC20C18667364291D41DC2A167CCC1A6F62C42776528C1BE5C0D41CB6953C258ED84C25D993042CE6AB241630C0DC24052A23F30544542FB160242EE3BA441D39E3EC2A64449C096E969427D5F55C1952EF4C287CA4AC2B8EBA4C227125A42C393E6C1A11CC9C1FAE050C2D5F7CBC1BAF7A241A82A0942D2C4C541B3F01DC218C213C2DDC3E04180E99642D1EAFF40EDA865C23193F8BE3212EBC19FC024C1D96A5BC1D137ABC23129DE417CFC09C2FACCD641771B83C15A8167C22E2E30BF44F10EC2BE8717C27CFD71C20E22ED41AA0FEA42B1872CC1584D0B42C4B4C1C2D35A4AC2F92300425BC61942F205924155D3F8C18033FA41CFBF744170BC1F4104DE82C127C970BF58147CC2416AD2C124DEAE424E721C42B324873F42B7ADC19D2836C234BE9641413FF1C072FAA441475686C2A983114277C1B340842F7A40042FBDC197DD8C426949CA41A1491942D1510D412DC6E1414D95C2C061DA12C221E52141CC552BC2415CEFBF72B811C189B61E427DBF83C23367C7C13344AABED4F4B440A92CB04116535A410DD2BFC191B5E5C1CE193842554206C1C7459B40F0952940ACEC58C22FE5F4C0EFDDAEBF9E43D9C11008F5C0B96697411AF90F4213289E41DA046CC2FB2C1FC20BE4D8C1D8603EC1C6A8C4410DC25740C4D78C426C5EA040DEC336427EABCEC14BEF26C0F7BAB03E7AC648421D939CC13DC53D40B46FA241F1B80741A76F01C2DB3886C06E2CD040EFB7353F66F8344180120F40E87345426F5B5BC2A4EC43428F98C0C156F83C419F5B7DC29B62B0400B41F7C1AC941E40CD5DC3C1371C9E41252FD541610D63C2FF8FFAC165F8F03FA12FA4C1D4E70EC0D74C3C4185E9EBC1F9489D41847874417B1628C250A45C42ABE4B8C1A642CE4194A392415F0838429AAF7042EA8B15C122464E4256E6E3C13DAC28420719BF40BFFB90C1081C89C2775BF6418F8358C207ECEB41F7B021C1C11794C13ACAD6C1CCE760C1C7B110C12B301B4255A2764298A50A41322A2C4235BB4FBEC03E22410F0D124234A92FC006A8F0BFF419A742C710E0C18AF5A2C15AB5CE419E02F7C1DE455DC1CF2725C1296D7DBCA8F1E0C129D0B3425C8CB14151F22042398769C23DDCE740C15A52C1F1B00442B01297C1B79A1C428C9F0F421291ABC1495C2242A17F62407200A04246C602429E9485C299A96042D6EF3DC16DA22643E39129422D655742D4CE89C2146D85420435CB41B0B217418163FDC19FDD05C20CD16D40107A5D4074D514C24F4F57C24FBC32422BB165426204F64182440A421939B5C1A63641C2BD6FA541C589A641076A12C2C98508C28DA725C2EF0209BFF8483CC120842EC2E6FB66C02E02C040E134D8C08109CA416BC5F5C01C37934289E417413FCA8342D6364841A9955E424FB4833E04A90AC2028CB441A7A7D6407B0C20424A6245C1DB501CC251FC56423D3D6E421127363F41A48AC07D120C410B8CAC41947D9D41DC9EAFC29BDB94416A376AC2524B42C13D9E8AC1434E80C0C67E1040787362C2AA8334C165E138C2FC9AECC1F089F03D3EA365419AE6F341FC6963C0844700C2741B7E418D94E1C162EBBF413610B14118879DC1DB1D4141993534C2006F69C2A59F8642552A6E427DFD4BC2C8752642024D99419703D3BF0FA692C19B28F8C2852032C225C9F7C13AB1CD417ADF1F42AABEEF41F2A06CC09A9373C102C612C007E01B42D0428AC222072C42CAC551C24FC53BC1D2DC71C00AB31741FA7C014212CC2A41AB79A441B9920CC15CF9A741BC118B412637F73EFD8B05C285B110C1C3EB6DC27E5D09C2406068428FDF1741C6B005425ACF02C23FB071C27ECC67C2DCDF4242DCAA614048FAA9C13516E44185DE8DC1ACD62841605BEDC0F20DA341D55BA7414ED84342D23FDB4154A623C23A3CE9C13893F6C1FFF52442EFDA824281BFC3C0C7A8A14051BA99419B2D42C212509541FAB9BC412D551541C66C9842585F4FC2D7C2F3C127632E41061D0F42C6A8D04179CBA7C2E8A380C1C678C6C237E53342A007883F6974A7C2CA47EBC05D1C0BC0304FE7BFA4DC0DC20E55ECC1BF24A042EA365E429B305DC1340B0042191E1BC2325C2B42F3797E4260C382C2FFF6FA41854F26C28DC577423CF351C2D2FD07C2AB69EF418A48AA423E76AD42A654A1C2963A21C125DACC429A87EB4299B8C94152133EC15A13044157F098C2030C0F41B11F84C062E903C32A14C441626C6342E52417423532A4BF06D99DC2F7BBA6C155E50DC27B1D8CC1008F72406915FEC0E5631742953BCE41181372C1F254C3C17CA30A413D43FFC1A5CB1DC132B5F04143A99E40DE057842369DC2C1FC250DC2FF6994C2A9641AC3600C9CC1AC1608C2FFE497C1D8B7CFC12C88CFC2C522273C9ECE97C288A180C2C7F7A642265E5FC1B48876C151680441896130C2E57126C17A6F0DC131C84542B4A16FC1CAF7444181B231C1D712E0C1A97EFC40D03E91C250845041376D3BC2F387854265AC23416DCE54411CAE70C2F1C4F241B058F3C016B68641946B2D43D4B644C01C9CF041DA9705C33C9A5AC201F71F406F21A8C0F51E3041A24B19C265A4F14132EEE5C12A4AC6410E1598C1F9B2EBC0728A43423DA89742308BCC41C9E99E40621182423B5648C123AC8442CADE7FC142546EC17E3F3941CC00B242A2C2A2C2D25B6F4161888141BE198041E1C801C163A79EC06E9303C1BF5F81C2ED0EE1402F691DC0E103374211E396C1832E3BC1826437C28EFA01C24C192441AAD69F4268E21A42DB18EAC004241A41292654C2D84623C0C9AEBA41B4057DC1340C2640CA7DB9C15A758C420B38DB411C6E27C0B790B9C195FD79C0445197410325C2C127D3CDC01AF631C1155607C16E587DC1FA9B60C16ECD01412B450B424738E240719337409E7BD2C1B2258FC129C99B4101C53540E83C1B4298C61CC2DA0929C18163F2BD0E6128C0A25CD9C0B06A3FC28D260042FBB0AE418A25A941CE166F41154A70415E4D09C1C9C7903F591D11C214A3B2C16AE22740E098644012904742F77B55C16C142D41ACBE4EC27D522A4222FD8541B97FA9C2728AF3C1FDDB99C0B31EACC11DAF31C16B943BC2110C73C13EFC564214B29AC1628F384186509241C3A4C841E5D52E4218A6D2C1F95DADC1B0D717C23E075BC001818541A9481BC24ADAD93FF4FC4A3FF5AC5A412EDC6542D42696C1F313C54127047F410486BFC12EDDA0C0A607B2C15FD4BC410A5D48421AB4F040D6C5E1417B1745424E79A14178461A419832154256049BC145E37642D16A19C201034042B57E29C2295F5D41E606FDC11AD677C1BCE094C0FD920E426FEB1242DED7ACC03D5107C2E02CD3418451B6C117CD32C1FBD26941096567C2C8169B427E2237C1B9F8D2C0692404C2E7E111C2B72D42C2FD79BC416CF9B1C14CA539C203C0FF41C98DB4C2D26CA1C083094AC025D3CAC137BD15C2152359C171B669C15ABEBBC13536BB40537F9CC01235BB41429904C132FB7D4249376C41BF9FC9C2FCE4A2C175BE2BBFAA7ABDC1A6315DC0D58B11C134DB164179307A422AB52340A6D4E7C0DF7CDAC1AFACDDC06A5A09C2FF35B440070D39C2F58D8842678B9C411F7A1641C0B18B423934FE41B2A30D424AF2D9C12B59CAC064A1BFC29A3B5E42E0DB12C10A8135426FD108C242B70CC2860919C0F5B5A342E21835411CFE2FC24FBE3142492B76C2512716C2B4DF7C41A53416C230398342EE32CBC1439B61C15A2706C296438B412E2922C2750C56429E752541AFF85B42E5935F41877A56C236180541511066C1D18B144282B98AC161CC754145C5AA402AE6044282C4D0C00F5DBE41184974C26673A64133B5E141CF55354163C10441A126BA414F6EE6412B72594210AF05C255E489C1FE28FEC058486D40A9080042117EA6413751A141714E2CC1A589724256974FC1B6480942CC62D8C1F84703C2DCEAAD41021389414F1CB24273E893C1CEBA10C1028C40C2DFE415C23D8D22C2C444A842872E89C28BAC4742AB118DC1F3EA17C299ADD540A397F44171C233415E6FE73F42B870C1437A24C13787D041CF94B44128C31F41B61A1942384504428D0758413C0DFDC00E5B4141C8321CC0A10ABDBD82E790C2B97ADDC0B1D97CC2ECE258C12FCAA44150611541A60FFB415D66D7421B78F44131247042D2EFDCC1DFC36EC23B571A428CC7B4C116FF88421FCA8241347FFEC162CC91416C0F9E426278E9C1F5084EC27AB556C23CE3F2C100592DC2B50668C175CE1541E138754279E45B40A345CE4132EA85C188A41BC2510B29C199151D425860AD40AEC14542DF53D2C038ACB341CFA8B4C0DBA58341B2B8A4421562D0414E930D43C46A7942838FA2C0D96374C210C1B942BB9E3AC2056481C250D92C419D657BC129ECB6C140BBAC411A38984213CA9742B30CFB41609690C268C955C245139CC2CB4C15423BF651C0CF8C0C40BDF80EC2806F35427DF4ABC110662BC203225D410EC0E8C18A5EF4C1378C3A428353B7C1395303C21EDB03425BCFA4C0575E9342BA7C55C2A6F2BAC242E136C29E504B41D63E88C22BFF9542BC4D51423AB5C641FF4009C21F365DC2D355F240100D65425B1104C26ED12EC2B2C850C22EEC0D420A5183C1E979D942E5C027C2DA3166C10A0B69420CACC042CDC65EC11CD771C2F6E79BC24571A94037D09B4182E61742EE350043699F6E42D6F28F419C99A4C235640EC377734A41288D2AC2B6B58442A3EC94C2FCA07442099831C2409A9F4177B192C1470CD4C02953C741FA3C0642CA4E5942B2F213428FEE83C11D7ED64127852042DB580541596844427EEA154282DB92BFC0C7B4C1E04562C25B144642E2C2C6C2B240B3418FE5BD418216BDC203CBA842886EB242AF1D4242B089C44190D33DC20AEE82C220CADF412D001AC1737A3F4224BC684177768FC0D442C041B9A25641DF2075C1D30D7BC2568B0041744F7041F5F0A2C1B4B977C289800AC2C69F8E4267BBB13F88821742DBC0ACC1A7BA17C14479CAC2439B7A41EC7032C257C01D423CCFD9C172E87FC1951418C289D4BC40E6CED9C1871048C2574AE14178D02942573CFEC1E3B1F4BE7B37B640522659C2F1C36BC2E5AFA741E7B684415A4DD1C1C4F821409B23B94288731D42953D2EC2270EEC401D3083C2586B3942A1A1B3414D5835C20DD8EFC1E6FCD7C11852A8417CB14C42165DA34091CB484263B68BC231734AC18CDE5642ED45524211D86640A72D96C1C304673FE743FBC11FF78A3F0429BEC14184A6C2762C3641A5A5B0404F68343E4137064246BD634165A383BE204673C2E3E118C2594D3742D89B41C171D89C413987EC40E6550542384E42C17EE30743A825E4C100408142A3590DC1E67B8041EF6662C28C668BC162DEBA417559B6C1A70116C274FF15C1F7BD094261A1354202ABD741ED201E41A2F0FBC07B3151C131206E42C344F2C0A9A525C0BCDE2041BB4392C2180376C15DA39A411EADB3401476D8C1611EDEC1C44835415E08D54122216D4181155E42F0FE3D41AF3F8FC191958940A3E0EB40EA6C8F405A7FF9C1936D064296CFE5412702B641672BEB400D500C41236573C2D9388CC13D0346C2DA5C0D410B1AB240176F754233656CC2D891CE41D8E1DEC1E9275E41A254CCC13374C04046F008C16764D240FC8283413F12874229E6C441C62B09C2162D0F404382E640BF7EAD41AFF84142DD1E2DC11CA49D40A485B8416F980D42615D83C21A220042B303B8C02185F24017742041B87355C1AB5193421B39AC411FF407C2689021C29CD2C3C273A021406ED11B41BB1A98C13FE89CC0775F49C21F14B1C1FF6CBA4087483B40C3CF84C15B7553C1A1EB8A412DB894C253B5924177941CC0FE17DBC15BF9E74164753241A6410AC120ABAD425A7B0BC29F437441F65FAB41E7395541B1AB0242608D48C2441C9BC1EC895540C06A91417EB804C214EE26425110A341173518C0204137C2503CB1C11811C8C13D0E07C2BEDF2242A3965F42E2CB494296BB1B4182BF154118FC54C10107A04136A388C1B552BE41157F01C264530AC28D25E6C1B5CB72420735954148B233C138C2C840D35414C285B650C2895342C0B5FE85C1C62D52420C4FCAC1A47F8EC163DB25C1583F8E423848A242E53376424B6F9A42939B2F418E8E16416BD7E8C101354D42738E02C254C8414183779EBF0B319A416F20F9C1349D16C275EE1F429194F440ADCCD4C1D9735FC11AA1EFC109F1DA4102622E4157F370C11AFB49C2D218DDC13CCBFD40B4FD36413CAC44416EC895C0ADCA4940E01723C2F3C9F04143F74FC1B8A13AC2B1B781C1EEF5E23E1B4615423C12AB410C3E04C2808C48C2D0B9E63FFC7C4841B2742EC19BD6FAC017C7AAC1B0F217413E9C74C26C6B6D41466047413AA6A1C02EFE86C05E8914426FADBD41749B0641ED7BE8C033B999C15BE41C41DDDB3241B68C074172DE91C043E101C2280DB2C0E5F1B141C4C35741C2C50E42C35389C2870854C268269BC167E75DC2ABF2674086360AC2081BFA4153290BC2DC482F4243ED58C2420D27C174E1723EFDD063C0EE6639413E25D8C1B13DDBC00AD206C2AF9EDBC1FBBB5E415934073F4D205AC2CA4A58424B3108C24B7FC7413B835CC105C3D641409AAD41A49E9640EBD3A941FD2F943F05AA81C2ABE82A429B8013425D4DDEC07AD70042E4CCBD3F39A6E0C0B13816425F3AF7C10D2B1040B3BB9D40B4A21B42E42F3AC2429BCEC173D1B5C1CAE70042786DF14148E45FC11CB54042E396194202C723422CDD70C1E89347C2981CF4413279BB41661DC34143B96441FFD71B41597792C11746ADC107B867429F4F3E42C295B43E73EB2E4296EE54C27D9F7B420F786CC0E7BE36417994C3C07835EE40DE0D4AC02ADB0E42B141E3C101B82D4199CF46C101B525C2E0C91D42FD8C0DC1A3FF49C2C7A51441572201C10F686AC24A23584016BAEA40BA82B8C0FD086742D18C1FC22634ADC104D559421AA379C1CF608A4117F0F3416F5BA5C2A5D21642BAC7F741E380CE40A5B305BF609696424D839DC09BA80542CB7DF0C11E9ED541C87109427193CB413C4C3D428EAB58C2C14EF43F1E32CA41048314C2A29C6EC2DEAA104273B7C942B030A2400EB374C2404CDE419E1727C24C167B42536C354118E265C229866DC0C9BED542818E88C249585AC1373959C2CD4D9142DE700FC27002D6C21D008EC28F6E8EC25FA5DD41AE687341D5001B42C2F642C1C4181DC2F4F10542FBD5C6C100061FC2376DB3C1B523A1C00BC0E0410843EDC0A15344C24521934110CF1E42C8FF1E420F3D75C16B6468C0872256426CD3E9412484474220DF51C14E5359409A978B424D9DBA41A4B98FC0EB367CC1CD1B6142B1EF45421134F541AF1AB2C165642942DCAE354184436D42ACF5CC418A7C3E421FA58AC240AA16C286549C415B7CC5C1B65A5B41A991404222475F41FC11F0C103E18CC257D968429CB37A42BB220AC26FEE61C29FD1DCC1C21224428835FB3F1995D3429A537CC23985124272965342792B3B42340B6141DE00E2C0F753454212A2A4415151D1C037881442F49106C22647A74037BE01C29C678441B0B525410DCAD8425F9DEAC199323C42127600C275F908C0BF2F52C28353E141944048C2942E2AC25D9E53C2BA4530420CB40F4299E674C22F671641DCD407C2AEC6B8C17CFF954268E8D7BEF65E84418A7C2F42BFE89DC18F5133C248BCFFBE40576CC23A693941C340A6419192A14003815FC25B3BF9C048F1EDC1ED3C57C0AAE47BC185EF06C2D0767842C34036C2D69B8C423CD41EC250F28EC1F40A8AC10F5A18C2B7DC2842C9F231423E279F4183C2B8C16EE1AAC0486A0CC1CA1339C245C8AEBF98174DC239BC9A42717992C1BC315B42E8303BC28AC79E41E83596C1AC1708429F2EE2C0D900E6C1C61DBF41BF1B6E42DE738341BA559A413DD8D44192203C41D9CF8841B299CDC1E8C3C741C683C9C16523B34016F5B84153E1DB412F283842631C7F418B1AB9C248636E4156E4634289716B40ACEE9441EF6F87C11EECB141657C8E42AC1B164043A3EF3F7CFB3ABFB13A9CC147CBAAC1E90A04425331BF419DDC0FC1EC14D041A76FD64104DF5CC01A87D74109BA5F41ACA15242DEE2553E935A52C0CC14A3C2CB45DA417456CBC191D481424AD3654166FECAC03359164228277EC166641442AB7CDF40F6FDE6C23C0581C1349EF4C19B2C2742FC2FB841550C57C2100E70C1815D24C277B4584107B13D42D3971EC181AEF2C1E117A9C250C7A6C163A153420F620B42280ACF41C94E39413FFC32C264033CC2EC355BC2FEAB6A40A0843042E0A28140638FE141670730C008561C410306E541AFE70FC1F7536AC1C29B90C118D6F9C12865B342881198C147B5B6405EDE40C190F930C16A26B042B2F59F41B9F3174272BB00C2362A5A427C753F41C61D3042CF4896C27F1708BF5815E5C1985640C267B5D5415A323DC17A33F4BFBBA782BE6D6790C1E1FEA3C11659F2419CD496C1BD180E42DF5A0FC19A571BC287DD76C186069341D7BBEB41D2A97641EF5C91C1C07AD83FC24B51C28AA48DC2DA1FF5C1156FE9413B79D0BED1BF51424CFF2DC2DE02933EEC92EA40354C65C0C235F5C123A87A42F37A9341771310C2AAD4844136A61B4199780442DBE966C1482FDABD6CC75841FF64934074809DC1C5892042FF54BAC2155212C10423E041B8A5EA415BCC25C24505AD40354875414223B642B6A83AC1A4EEA4C291859AC2A0B861C2F1F13542D651BA412BD799BF7DBFEAC12DF01942844F2EC2310922C29AC483419F2D4841D6960F4254EF9BC0825D8E4083FACEC1493804425C51E24021188D41EA34BE4044FEAFC08278A2BF7E26C6C0C06083418CD5D13E099424C125B20A42725E9EC10CBE36C1692482C1684E3A426D65E43FB8881142B48924C2413203C10A6527C1E44C62401395984167A3DCC0B504B0C1F5651442F76C1740C15691C0D052CBC16580AB41BE92A742ADCA814237AB3F42A2C72542ACAD18C19DA6C4C16860C741F93969C2D18D9441674473C03FABA441707AF8C07D804641050F83404821E6C18E65984178C0D541D5D97E40CB1796C0325AFF413DDC8E4172BF50C211345940789274C2A4CE4E425BEB3CC10FD53541387E5BC2B61C654296E1604249B1D0C1C2BD87C25B5D6CC2404361C0BC492840C02103412E87A0C17FAD174139BC9C3F394F8342EC3319C2758C7640FC2D80401BFC69C1F0962142E9D6FBC074F21842E967F6BFC407A7C2BD8FF3C21DA84AC24517A5C1357290406D4A0840E08E02C2A78E80C117C52A426A7F3CC25152FCC13C813042586204C23D2FC440309C4AC01C5B6DC2DBE46B417F0DD5C1907D92C1E25F03C1B0DAAD416111C54192929641AF5EAAC2CAC385C130E1E0C1E1E41C417A662741BF7BA840B7C2DBC1A10CA542846600428A90EFC1C8B1BF42C6A966420D36BE40CFBE8342DE4C4FC26441204267CF0942EF8FDEC2C13D3242A9DD24C25F1637C2646F2F4286D5DFC137FF1BC1417F9741103F7E427135CAC1D5D075C195049AC1BC3D1F413883F8C0A7817C41FC9E1EC2691E854260D5AE40557F5841C0777440B77E8BC14398BBC14E38BA4173CE09C2202F3241A5FB49421BACEBC21DF5B94139D261411B848E42DD14E03FED4B55C130381EC266F211C2EB45BC426CAEAB4172EDAF415065A141EB48D141D8BF71420B0534C2D948E6C172D78F42EB7529420C646CC160C597C0B691D04140E1F641F5651B42FC14CD417067A0C218FDCFC151BAA14173D844C0FC451741D72835C22AD5C1C16CC2174212B94B424E40094140C54842BD64DB411E16F2412ECAC542C29ADFC15DFF8D42847B4842DCB577C27AC036C165DE5540C4A75642B6A0493E2B050BC230EF79C27722D4C27B343941C02252C2AE66D241CA2DB4C0F46280C1051B05C222C5A9C13DF1B0C21F8C754141E12BC1C70CA241A275AC3FF9FBCBC1DD02913C41C6D63F4F46B3C2D7BE27C2B47D6B411297364262362942A37EAF41DABB4EC19969F3C09484B4428A4183C2523980C2B17E01C2CFA76341A7750D40B1792DC119266CC028B7E041757211C2692914421FAF8AC2118F3840AA853AC294B20C42776E34C29ED4F64145C783C11E5DCD4110EEA9C12C2067C1E7700EC100FF81428A4298422423203FFFE9BF41EE013342C50505421E3BC441E690074272AD55C117FF3A42A2BF604253BC8FC2DCED9542E692EA3F225A09C11B3AA34174E7754234D35C42D69201C29EC111C2C16C2841892FCA414E45CE41E7E66740FF2C2EC20866F53D444F71424CC70AC00C8F82418A439BC15A89D341B5D618C2F25086C1C7D1B0C29FE49DC276229641C22A314248ADBF42B1021EC233E2B240486B2041816FD5C0C8628941527872420FB026C19C6253C0FF6D0E42AB7B20C2D72CB5C2C4A96242BE4A8041AC5CD3419D4767415A398BC18B2129C282539342D6093AC2FA6A0D42D9C850C2EF06FE41FDCCA3408EE97AC24F766041902EE2411691CB416B414540665D9F42751460417B5A194203C0F8C11175BFC041119241A28DA3C158066642A7EA05C257D735C26455D4C1DEDD4C40A7C35DC2148411419C30CC4182D5DF41D4B663C153281B4298650A42C1C02CC172FA2EC23514D0C11DB516C222E4D14012167C42EEF9ACC1097D95C1F65CA9414C8A7BC1C9D203C1C3AAFD40928ABBC16D8B8FC188DFEB3F043238415E2E1342FCA0E941BB818EC17D9D8CC178F9E5C139985A4207F2EEC1785C74404DBB95C16A4A1C41A4A7A0C1CC9B17C2E2E135C242892AC2DD3039C1F2322B425B23804263202DC2F3124F42B02401418258874155CE3442A2B90942A79A99C08AC177C005DB394296444FC2E14E7EC1D3B41DC1A0A4B1C1AA785BC224825B40C7F8D541B71B2F424012E13F20E2CEC1C01EB240D5FA66C113E1B8C199C5AFC078963DC145477240DE205642BD10314282BB8941957AFC4118B0B941B8C14F42BF40AB41ACD8683E2934E841C4F93FC10F258D422CF0F0C02FF500C296A72FC1B3D0E940C54AA6C1D70FEDC1BB643B42D0613442815D9C42D4962CC2C86E5F410D4E4BC2159B0041C19C40427C8A3FC24D3D95407DC50D4280F5D34111CE00C2099619C2108AA5411B3F5F41980857C218951AC26BDF05C2DB55BA40B16D66C11C30B1C1E14B07C246BAB140BC2555427037E1C1EBCDB1C07309B6C110A79E413BB69241AB007CC25A0A6DC293A9A2424D948B421F5E6441A05C07C2EAD28DC157138B416C3D0642FDAF8342E6EAD4C110045DC1209D0243B27BAAC186FC1D4168483FBF70DD7AC113ECD04105BBB041A49A2CC13CCDF74008AAB7C1BA875D415762AAC1E6620A4167F81FC289A20EC1D91EB9C1A8250A4201A3A5C1346B3642F4DFE241A7BC84C2A8B7ECC23D990E4254AB79415C32E1C151B772C25EDBB1C1195079427B2C0B42363E0742DECCBEC16E8AF5BFD933A04292FBA3C14AB51AC27BCE1AC2B98AA541255334C235FFEDC16714A0C1CC1524C112A9DF4098729741236262425C5A1BC2DEC5634155BACEC1732B09C1909B884148C87D42C5CCEABFAFCE50C1174F6641F5BF5EC16F9A6341B2214CC22991C1C07B586D415F26CAC13E347342A3EF5B41ED778FC2F4FA31428A950AC2C18E66C13866524203D035BEFE789BC1D46195C17B90BD41930D3E4290F25642A226C2BD1FEADDC1B50D834112FB8DC02A88A34145095A3EAD4D6BC1B36A23425ADE3042F51433C2C2CB3742613D51426BC4D3C174BE604127E46D41405735C2DD7F8141B6C565C1EDE0F4C15395B6C12C46E74022B95F3FFC408EC0B9BF4242FC65CCC2175B1DC0194FDFC15621B0418F689EC1092BE541ABC05FC16EE4C141B912994203FB65428F0CB3C19985D23F93ECDE41C1557241B1B37A42011265416749F33FC0C838C207FA73C24D9347C208DCB6C17BEA714227F12BC27C2B42C184D95A41BCD6054213A274C2C1E3DAC2F6F8B2C253A0D9C1C67B6642FA7F0CC2DC3B97C2C85CFC3FE802C840A1712D4281F4FD41AC9C32C14A5AF840B9D8ADC215BB6BC25D2958BFC1B170C2D3A99E42D9E92142080707C2471BCF41145FE2C1152216C226770F42934E503FDACB9940A9C99641848F1B419EC414C273CAE53FD8573341252801427F8C6642BB8A944000442942A008F8C1031565C187281BC2F75483429CDA17C2DD6781C05FFB76C0F88CCAC0892980C1C1F5074282A17941DEBA8B42CE7B4FC2F8B24AC2396667C215BE3741A1FCF140354F0141E6ED93C0356161C24BE90B426BA1CF4129D5A8C1C93CE742462CAFC1BD5A13C24C84C4C0427CD4C2B02283C153B299C0C88A9942C2D6AB4273CB2EC1703E99C19649A94019A533C17DA82EC2293E364145F922427A8493C2E15235C129A0DB41664116C1CF1B5CC0E82247C2C8A249C268E4A1C25B9C80417E0818C2D2A36E4251DC7FC2512712423E7A1AC136B2774022FCB341D18064C04D2FD3414F861A42A9284842175D5AC1813B36C02B208341ACE686C0D9800042EBBF0FC1D90DEE40900B8D41B78F74415D6AB7C1839E04423B0EB5419EB9C1C07604664053F29DC169F31440D2510542FB691CC1C0A734C2C8C4894095AC20C13FD1E841ECF1FEC1FCFD1241038772C2936CD94156D68A3FB1883DC2E5134A429D06EF41D93F51C2D83C2D3C3A2A12C202A0E4411F54B0C1A55F34C18C4A47C1D862BDC135CBB4424E6E00C22161A9C149852B41E02B0CC2FCF05CBFDF4345413435AAC1FFEF9F3FDB0D5142F7D8B1C16C4D0842D247BB415C3B2FC10CF696C18DCA91C1A21D28C2F99D683FDE4C7FC151E80E427B82A24112AA3D42273C2C421C4E3842029130C22E60B6C14D343642798D1342CDB3814115A945C15E607642961764C25EC097414BC9FCC09AFD3DC2609FC5C16552C8C0414A97C1CDD84AC11A60D4C0B06E08C214026E421E11A041B0ADA141C2580742DEB345C1CCCA9EC1D9979BC1D2AAD6C1278DD34082671242C05232C2342191BD33AB2DC13853B742E5C99D40206D64C22F0F92C16D1C41C2C4B4CAC02D6E93C290AFCCC163930A42699240C2CA99C9418A8944C2B4E4AEC2448DE34134C3874111DE033F5DFF12C17D7CC1BFAF107DC1FCCD04C1C65F83C2CBC0E741A2C0094218B30741A23CDEC1DB326AC268491B41435231C03A48C541C7212B415A165741FC8E3E4261941CC1E287633FFB98924166645F42B6A66342474E90C14B95A1C14B7D31C2AAA34E426934FBBFEFC291C19C11C9C164197D41E342C041C82D18C068CFE041524301428BEF33425E2E64C27A1C4CC2760DA34206799242C8268842113467C14858C241E9A6183F753071423CB02742863729C27AB86AC2FC11B641979E2E42523B8141FEDD47C26F4E4DC0036C8342CADF72C1FD5002418DAE27C2BA9F024264C077429056124245ACCCC1106FD13F2FA6AE4034D583C14FF3BE4117700DC2BE459142E2F7E2412ECE9B41B541A5C2CD3E95C25BF1E041DAD603C2B579EC4173E075424B61BCC265358142530186C2714B84C194D706C26E3367C1BDE861416825BC41BB61B1C2EE758AC247472B4263F9DAC1F50B71C2A1AC89C1FD72DDC05F1B624188755F41F07B4AC271B2D4C120EE30419DC0AA4118C19142FEB05341E45118425414F7C102BD00C045AA93C12BC0FDC1E6AB59C2CA02E7C0779DF941DD49304238999A4095FF73C2D17D21C1F1EF0BC229D4C5413F158740FEC35CC02A470DC2C26F11C17C246E42AFEE914249F910422EC66DC121AAB340BC2B27C2EA9C8A419B2A0B429C69C3BF17939441F6349442E81C2A41E1B0E6C1A06D87C13A23D441E09247C1D4963141BFB1F241FB265C418DD29E41555335416FDAA6C10D36E44018F0CEC1B2A075C1B8ED3D41B51D5EC2029EA941BD6FC341719B6542546E03C1868D2540FAAD97C1F4644741CD9DF7C1E87650C180D792C1CB169B4230893642C5820243FF03AF41DEF0F441FECD9242399F22C275D91242107C03425CF29A41F9B3C84083F853C2691784416C43C44101412141DB761F413A0090C1195819421145314240D9F4C1338CA041191576C191E053C2310F673F29D9EF418DF391C1FA6B44409B159941F2ED424283215C42EE3EC34108F7E74098E07140AEC371C1D27E8A424F077CC2B3A05D426AF989C1C383004203C219C2C34B0F40BD4B7C426206A0C1D3835C41E431CE4011F205C20E573642D7F58741B5D36D422E4E764233AD34C2D04872C0EB62DDC15A9AA241A0F523C1FE1D6CC27DBAAD419F351BC26E3F94BF1B53AF41320A52C27B3138C2AFF6CBC0D20DA1C13DEBDB41753020C207B6D2C118F2824238DDE7C10668FD418267F641209D8742EEF783C146A5BD41797392C23DC9D74189BD48417D314CC2B60585C2BFA918C1C47E7E426104D141085A6D42153280C2A6481B412AF20E42F3000542CD51304273CB00C2C83367C2353499413EDB29C0DDA2B1C07EFE4341AA3092C26BB3D8C1B0B6ABC230F38FC2AB8AED40A548E441BE00A6BEBA1DB2C1DC82C440017E86C1ADD61942A10763C24172EFC1C5D24742B3EDACBFDA7F33427382BAC17186AF41893B1C3F7016AAC009FE804272DD59C1C8363A4218879041299E8441FFCC47C2EF543EC0D95DC74083306242996373C24967AD3F15A2E042CDAA34424A04CC413010A3C2BC9B43C2E22795C0C56D4441BD1B46C142DE2FC276DD74423F01C5C14D9AF9C1570099C192834BC0882A4840156DB4C06FBABB409CC619C24961EFC1D49EAA3FFBCF00C2E6909742C0C1B13F95F91141273F8941DF2A86C1323FC840985BD4412CA9F141436EA341466BCA4045FAAB40DE07D8C1DFA6B541D677CDC1B011D341CC856D423096A9BF5E01F3C00C870DC125CF994160FB2AC2E3AC87C17293BBC08AAD61C25CB303C13F5CB34205E778C1F26101BF8FB5F2C182B56F3E36EF0B4200527DC158828C40FDDEFCBD57C137C182AD86428D0334421CB114419DECAD418622F4C1DB1F1DC2737D5A42DEA21640010F09C1E61E5BC0EAF653C28E8103428E51394266A739C2EF7E1442256807C2C1CEC241509851C1F6CFAE401D3258C1ADD1ABC1418D0AC12D202AC136BC0342E4C100424E4311C2C6FD7CC1327830C21ACDF64042FF6F42AC23A1411AC8DB41CDA91941D96C95C2E98B3542207203426E0B33C1609580C2AD142E413489644109711D427F0585C1E82C47C18E4BF341CB4113411B09CE410A7B89C2C8B7BF41D42E35C296235242A3F68C4017B43DBEB69F93C20BB56241436F25426D79A84030711CC2BD570D413F3102C21C6132C0F4DB0BC2E53C4AC208E2CC3F460BFCC1DF5B15423B7AA3C099BF1CC24DF4B840347BE8C12F3106C2B1F41B4292FF884163AD2442B1C28D418D5346C01EE749418A0338C259F246BF12F667C2D922DA41D03C2AC20B15A542DFC6F9404AF9C2C111CC6F41D48265408AFAB9C113AF034266AC9C410E34A142B1F02E42B118FB41EC5DE3C17816FA41C67FC1C1FEE5584201DDB3C19D209AC0EB990AC2161EF840ABF976C2C5A40DC2F1D061412A693541028CBB42DFA9A9C02D5067407722D6C1223FC8C119EF2A42E59784C149A8A14126F7DC41171715BECB4A86C104022F40E38B68418E343341B1D6E93EDFBC93C2862F51C2823D924204FF42421F5DBB42E570DF3F161389C260BA7841D6A14641B3A593C097AF81C107B73941991F5741BC93A7C2329717C2A03047420D5A76C1491E01C2C80F6DC2BBF63CC2B13693418F3F06C2E6467642C16432C26776F44081A37142B5C67540E8AF28C1F2B766C2C782584200BA3A42B7EAB340F293B7C24E1E82413AD5D041D8E85FC08362EC413C8170C15A246FC29C4B5642AB6B93413683C1C28F59BB41ADAB4BC2460C99C14CAE33C2C283E0C174390742281A7142007F8F42672280C18B4A954100DC343F2504AA40A5186342DED1A540F60CAD414C758F428D63AEC1FD1DA5C0A70DDBC0BD616341AE566F4293842CC1229D70C29837D041F39719C2C9B61CC250AB17C2E7F102C24349894117BEA53F4307D6C0563299C29B449C423BBA0642950482404FE502C2A5B80DC299EA5842C1FD8A426658B0BFDFD2E0419D3B63C07BD237425A319842583E324284FCCFC1A67605428729B14292FEF8C290D240C2F56124411970FBC1EED97C425963C641B2610642757F53427ADF3041DA146DC239589DC270C86041CDA7883FE4784042197916C15FFCBCC1D7D547C278C481C1D6BCBA41755A09426BC6C5C27BC76FC2397EAFC27226ACC253AA62C25DB50AC102DCB742DB513342DE80534182E199408A9BFEC151101642E2FADFC0595E4B4102D76E419A5609C235146BC1B22093C0EB4CBBC1A9CE6BC26A95A0C1DDBAA1C271BB7941C4D231C139AC5EC1CDB5904158BA73C299B699416B614B4148C0DF40E8DF38C1C2182A4102212641992FC642BD658642F8B90342270771C2BD831D42A732BDC13A3EA242431A16C0AE4127C159E216425F270D423BAD79C2822B3FC1D83895C17226333FF34D14C0F8533AC1EDD5F7C1850F81C1F8F0BBC1E676A6C11DBE8BC1D3BB89C0E68B07BF8F2A2642E4736CC1AD2690C00F2A0CC1572BC140E9D832C10F2A33C1AA2459C21F95D9C1913412C2EDB1F6C2BF9F19C2ABAF4C41A1E4AB41425B26C2FCA34F401ED99AC13980BCC1622E4042C705AC40A76DA741912711C147A6B2C1199307421E772FBD99983541EE16AFC14EB315C2A60CEDC1C0DF8EC0FE7F14C220531C420F342BC2D33D8A4132E18AC14826914175D8CAC17D0E6AC1F9A9F2C0D729F0410558694239AEB2410E270D43CB63584284F5D2421F1239410E31E441B29BBFC13981634154C03642A5160742BC4F06C2996C7CC2E22A40C0D1B781418A40CA410E9057C21EC6594197E04BC10CD30B42B1F51C4253A9FEC115E708C2B1E95F42F8FE96418176DF41A3D1E3C001EC93C1B9025C42CEAAEFC059C54842F212B6C1F18973406A786FC128A7BFC255A88640F8CC0AC1668085427D6A12427D38A6C18BD7A7C1B7AB0FC1150B15BEABDAF0C1147107C2F3D6D9C1BF3A1C429FC35942DEC3FEC1BE6925C2451772C27993D0C11788B141687BB241055C0CC00654FCC174D04242B7FE18C27B354F4226B518C2DAB503C11240A1C0562BA4C16EE06AC2BE6AABC1F72E40C124E0B342185B89C0E339F0404C1848C2792C7FC16FFDBEC1A145FEC1EA24CAC05A001EC24A30A6419A151D4216EC03C230962B4273FAA74158C29EC15B6061426E61A6C10F340DC2A197C341C51B89C2C901C040CD12C141620C6CC07798323F4EEF394162A4C9C1993D8A4145C76C415ED202C2140781C15D1D4B42EC0DD0C1906028C2A1AC25C240B651BF3E9C7D4194F885C1ECEBBB41C49851C2665EC43F66D12A42C65B4342C87A3A41F91805420DC131C0A925344132523AC284351DC251A1DFC108320EC173B89F4190095CC1A4A5F8C1CE4C2B42FB1DE6404033A8C13C4DEF41B5E501427C5089C101C072C1C346CBC124AAA0C04EE504427BCC3C418AD64C4228853DC10C827D3EC68D0942F6880C40AB34C542C52AAC4114B135423DC1DC416E0021C0BF020A41271D24C224B8C241FC10F4419039F94125034440A5E005C2B504223F35599D40CA6EA5417DA68AC19675EB417813034162E34741D9B730414DA93641246A16C02DD8B1C178DFB6C12051384131D313420F9BC4BFE19641C2DA5DE23EF8032EC2796A9F41688CC24146FC134266A8E141CB303D414AD5044274E1ACC23ED25640DBF839C11BA38F406D1684405BE6A3C1F823AAC07B7C5FC180201DC13F67B84197C136C09E6F1441226C6D3FB2AC0F426D7F72C1E427FD412B97B5C1428A70C107AF02C1F7218DC1A32C80C108ACCA40735A05C20351824060FE2F41228641C1037D934152BD3C42D454E3C012833D42E470B4C13B0837423C97AEC2D057A34095FADEC18914244245FE3E429A1611C205716741C46C04C218FA28C0A7DE93C1735D80C1337A46404EED5AC273E0024157E1CCC0C2C033C2B3E3DCC14E6C6042E6ECADC1AD721942C44512C21CBCBD41297727C231F6DDC20FA732C2A76341C1303F9D42C5D83B4262292B42E77421C2AA6EC440E86BC541199BCCC10D2B8AC1D580C1411B28274161C74A42B73A6140DBD305C157B93742777D9F42E75D7C419BBC8FC10D6B444066A286C2C765524205B90AC1DD9025C2D8F01E42D57D37C23B6C51C1ECA57742B08DF4C0C56615C29DCDDC4032EEF1C1D9C852C2A24E85427A3F0AC09D138642529B8E412DA0E9416CA64540B76604424C8A99C28447C441A33CF44154BB62428C3EF54098C274C21E5995C2B1BF93407B8A4E41CCE31CC29BDE8E413A8E5641B339A341A5931A417EA06BC0C0CDA9C27C21AD41A71728423BE382C2959A3A42490339423B24D941D9C21542668485C2916990C1663F28C17843A9BFF1B3A541A1A7FC410639CABF03BCAF4073B0C841BDB85AC2B31192C1C61C1942C0B03BC103BA2AC226970541DF6232C1746911418DE073C202784CC149325CC2F6075241393580C1232341C22F650BC21B7F9BC1C6D86041BDDBACC1B7B7E9C18D4082428BFAA04124CF88C2A8BA54C1753097C23280F7C100F137410AECBD41AF5A9BC109585F4270BCD841505804C2BB8C37420F9C7042F11866412ECAE1C1ECB95DC23B4512C20A4D93421C2A0941997204C1BB298BC2A654ADC15862F9C1A08A3BC29ED9884135F91DC197A706C22EA4614250A29442F342BF41302CB1412D6D4F418E524942CCC1A54158E3304239F1E9BF006311C06E6597416C5F224161CD63421F978742EE395940FF9C77421DB66E416606ABC22B53B741A3F0BE416A1545C2F868AFC1E6E0CCBE8445AD4102FC4342530034C21C53FD416282C2C1D74EB6C0F819BB42B38128C10925E441A4E65B42316705C1B4EA28C2C796F6C1383B01426449FF41CB2FB5C1ED9013C27AF378C2282BC4416D5750C2BF50BE41F9D70EC2F547503E416785425DF614C266458CC1E84FA14113951AC19A08953E785B9D3E7C4B144273B56D402B97C8C099D23640A86182C165253E41B40746C03DF505C25A2BE04194E95DC1B18194419DAF9BC148A6CE414B04ED412D2B6D4237BAF6C048184441AFF93741B5ED004231B55DC12845884117D2ABBF12C815BF4B9293422E538EC26B93D04115DF56C145FF9941883F4CC26912E3C16A6786C1AEEDF240A2137441FF47F6C1B67E90414E96E4C0D9029C40E2370A42B5EA92C2278821C12C1C5BC1D8D836423DA5A3C128259C419AC65BC2FCF9E141F578DAC0DA4D3D4280501BC052424BC2E52F0FC273C444BD22572542F58283C245EB304140BDA1C16A963541AE04CD41CBAD1D40F3B4D7C2A7FF82426875FF41905128C135288BC07290CB41E6C60BC086F74DC2BF3ECFC10E5822C1D555C2409B766AC16DAA13C082E5BAC25D3D3C421F8F82C270630B42901C09C141FBBB3FE17DC841A68BD7C1CE0A094250DB3342BB4BCCC05DA647C18FFA04429C9601C1565285411302B0C1617A1441DD67CBC1154B7A41A1466BC1B29D4842D28C5A422FE6AC418AB82642678602C1F446B93F3A8CE34159919042D3003D4284D4324257ED01C1DEF82842915CF2C0AC6335C2FA24DC41A6604DC2E294E340FE5D2FC2A8D60BC2277259428B3EC6C15031A0C2DE9523C07D5E184289DE52416F420EC164BC5741E1980242D299F54125DC02425E6A19BF0762D9C1D8FC21C2500D4341D17794BE15268141A55E42C2A8DE92BF557EF9C1AAE441C28121A741D5C3B5C146A1FE4181ADD640A7CC73C222D986C149281BC2D3949CC1D96C02429C2486BF14C413422E214241A51584419E5665419928BAC02115C7C2F46882C291CB8AC148C776BF7FEB7042435881C2334BBAC19F00CAC10147C941A5756FC26E0378405C19F24169660CC19E0014C2ED8C2D4030A0D3C153457D424F2785C1B3BDF1419B67B4C10D305642CDB984C2CA18544197DAF3C0AAA932C13B49BCC103224FC1F0528BC0CA795F4109AA6740B3E0BCC147A4D94044A245425F5C63C1A1F983BEE40794C217FD6E3F53672942ED479C4267BA2FC18165CEC0BC71C740056E0242F92D25418EF6A441900277404F4C85C067812BC1CD54CEC1D81705C22D2DFDC11515F2C13B5AD94115800BC239E4473F3C277BC1E56734C2D03303C1528817422C87AC4098F11A427585D54198F031C17BF242C22E5294C29D5992C2CE63D8C1E2963EC09E00FE4150606041CB4E3642041A86C24C554F422324C941E28E934075FB9C41318538C1E0E2774174BA4F417934F24043456841CF9F8D41AFECA73FFEB062C0B9B114C2E6043441E962C9C1DE50BB40568F17C23FAD8E4297B70D42CFBB01C1BEE6144243A165411FE0C83EDCE4B040FE7837C088C47EC29D155AC23A22C5C1856B3342BC8A404239C52B42297F17C1F85EF8C114BFB3415B0893C1354D48C1EA2B52410BC4EC3F3B4EC3C13CCD3E42616650C08B390C420D910742B8D31C41147553C2D8FF9A41413968C285B1EF416A38E4C183709C417E9BAFC1160C3142154CE74144AB4042104365C2861E96C1087842C2F3FB6EC2C83859C2D56386C20066164220DF6F40B8EB96423F452EC22C67FEC16053B7C114FC1AC2A55DD7C13048DEC13FF0A4C1F83B0D4136040DC2405943427BDE2042879002426849DF40A4B580C206E056C20BE4A4BFE0291CC114F29340500A8942EEEEA3C0A858D63FAE696A41301889423BF81542EEEC69421D056A4230841542B7A748C2E3512BC2DE5DFC41FEEF4BC241B83D427CBD0CC2330916C2206E6FC01CE5F641761CA54116266CC2D0F5764117F5E341D9655AC227DB7141E18FF9C16E7AD9C0296589C1BDE941C2C2F96442E59EA3C1DDCF3242522BFF3F35B62B4128FE4142681CE641ED6647426AAC6DC23F55D3C276F3C0C1CA74FDC2F4A96CC2618719C2149CC5C1DA2CBFC1BA22224075A57EC1DFCC8DC2BBDECAC1E72AA44227E727C227D74FC10A087CC20FC99441F2156441EB0543C1C8B1E7418A7B33C1546488C1B022E9C1EB5317C2F09FC0414E0F31420DC9FEC035E8B2412FFA9AC169BD4CC1EEEC4B4289AD1BC25DE835411F9329C0D1283D4229A60443A51748412D0F6F42420DBDC2535D2DC10673F1C0E07B30C2C4940F4207B101C2697EF2C0D4EE36C14A8A8FC1C6E11842D458D9C0BF750EC2C5DAB7C1803391BFE30E6CC1D64A6141E63ABFC0EB845342265146C1E998E14199C3BFC1EAF79A41014F81C2CC341C41FF4B17C13624C840807982C0AAD7533EE0BB6DC2DB51FBC2549013C1726694BF7F439F41793185C2FC3280C15C91E541993A49C2F66A0142579F9A42B56DB341E6E087409A61C541306B794193EE29424F77BD40082731C29E20DEC1CD2FA1C163F69841D1265C42195F05C2121F43C10E9981C14B388041420BE2C1248CC3413FF89EC1E40426C1325F3E418F94C4C104B610C1BE46BD421C449FC1EFC76D424F6960C2A5D0CCC16A3718424E1E2F41AB95D041FF8DACC0DD02DDC025FB9EC094043FC11AD0FB40CE0482410E0790C11A0380C168278D417A35D040E66C8F410CC30CC251AB69C083CFE4C1B54EE741895424C15512A9C11B4F15C2579F49C17112D940F1122DC2710705C2FBA8BE42CF878CC1C627F5C04BE111420C710EC1C933CD426F6A254102CAAAC0477C1CC10DD4FF40FE8E56420133F341CBB0044259E806C2EB00F53F8D10AC4137D90B422FE333C178EE32C2C40F7241C1ABD0BED98DEE4135E239C2C11074C2BCEB01C292FD9FC15B9A99C1964A90426F3A74412A08C2405AD07AC1B25786C209540DC2E23333C2749CD6C19FFCA0C2806691C1A2DFB441030AB5BFED4F8942E93472C1C0A11242CA20B1C11394FAC1359D8DC173CF4B3F9BD18D417E39FE40F07103C20600B0C07295AA4275E67C427A5B42426D624A3F825310C23A197741A3A5A1C1D42C5142BB2093C2E358554208C1C3C241E68DC1D23B7CC197BD394264A3D9412259BB415DB7C54225218DC1F79E9C412DECBFC234E6DF411447DBC2710B8142EBB11AC2EFD4DB409DE52FC230C7B2C115C70EC2C0A097C1D9783542058E8640598F09C2E1130FC2C6404341BB3C75C28F29A8BFC3B27FC2BDCBC2C1586806BF86FF08C056351AC2077AD041F7C5A0428DC4FF40F2889D4118E8B1C08E819640652D30423139E140668C99C125EA4AC2094E7FC19CCC1B42C3C58C42BDBB06C2F37145C10FF9BD4124AE60409A7D3AC2DE2AA24157EB0DC20D67F741DB7ECDC16AE8B74141706C427854AD40845909417AE88AC13A550BC2CDC007428ACB52C12FD9C5419A3595C050CA854137BB8B409827A44263C865C260FD4CC2C9335542B253F84070DF4DC2E29F54C08785B4C136F07042C14CA34149B30641E1C5B5C182FA1DC13E14414242259C417866C1C17DE13DC1CBC33EC1C41E1742736C0A421FEAA44081B1EBC1E8872042E62607C290B24C42A9C93FC2CBA2F54169140CC1024B1742337FC4C15B0C0F42D5E08341D672EAC1252695C1DADF89C27E308DC0E7197BC2921511C16D1B14C20FAC58C1E94D7A4164D32BC2FD18E2417F6C054295105941752624C2E7272A429AB929C2336EE6BF69AB5AC2C7F7C141B3969A40BA5D14C291348B418C29AB4152F8DAC0822617C1D7378EC2FF900242185B41423AA17941BCD86440BF3C4541EDF5B1C157816F41A890E9C1AD794C429D2D9D41968C4EC231867442402EB7C1A5CA3942BC1E1CC2D30243C2656D1242EE0F0FC2B0E21B42A1DCF7C13F9DAB411360D1C0AE399AC18B7E16C28B8DCC41D987F7C0CD4B0AC2AB6B26408CEC7DC1AC3E9BC03E780BC22197E4C1B3EBCFC1820910429FEA8DC1B4C13A41792C3BC2A9071DC22CC20DC2EBC1CE3FD96EBE3FDD2BBF4084F13DC285C24AC1672206C2A53D9540F2E889C1BFA20EC22CBC3942A3B0A241D8D9A1C1C5D391416746954031E3B74137D1DCC14B3BA5C11E4434420901B5401E495E429A694BC254D6C74171388B4189F164C1D32080C25D67F6C138CD6FC281AC8541C91A5BC16EF117C1D62C2041D77FB1C046E884C2AA103B414649D342C515E6C04D18D6407A6C48C2AF774A418BED6C41F6C2D5C199CD41C003F305C24B84E7C0BCD5844235E58C4074FF52C2BE37B8C124196442A3948DC15B94E9C2A17D8DC1E58A3F427EA1BA421995DA42E3203441844566C22B28DA409BF79DC1A234BA41E18BFCC121E33B42B2301342913D72C20DAF8DC25DB34CC2FE4AD441D6212FC0EDED9FC1C92D19C2AAFBA4C178E196C15C41FFC233B7B742F05424C26662C841EEDE43BE81D2A7424DA98EC17DE42EC1111162428D836942CEA4F93F2EF58DC2D10380C277A001C1F61F37424D7A7B41BCC804422204A0C288F6EE41F937E7C08A31E14150CB66C2DD9482C2BF2AB641AB74D8C280C710422D711F4254FC0BC1737FEA426AAE6F42345AB042814FA0C0AF0D6BC254484140DD5C96C1215254429E653C42C75D12C2F859454275CC20C1C93682C17B8D0B42DDCDB041430668C11F3040417E3B14C24BF8C2C1EB4E44C26A79073FDAD1C9412B9F6F42010642C1A202B040F30C31C14EEC9AC1F253ABC2D9BA0042F97382C0AA80E7C09D9DE4C1078051C2D03FE641E4DD10C1BC513A427DFC92C0E53796C2D0CC144261C39AC1CC9094409F0961C2C7088A419BD18340BBF6EC41D0773F41454DE1C1436627C28BF839C1D1ACA9C0D924B1C10FF5294164744FC161715442819994C09EC263C1232F0AC23BEF6442F5CFF34164672142958436C22A90C1412E8DEF41728B20C202D72341AE93C5403A3D1B42AE8C39BF3FEC59C08BAC8AC2F4867FC12E62954127CE2AC1645213C1CBE48EC13A2675C17B265741C8E7D5403812BF41879C2D40D5FBD5C14D6F68C1A8AF60C18BA8B04035688541DE073D4096C26AC062AD0DC05E557CC057065CC13C02DFC1A328F9C1C3B6484264C4FF417B6B56C285FA10C263C41F42D3234C42AAAA7E406908B4C1178D1BC2D8703BC145CE074229C56141446FCFC24C6BE941B86F9C419F7486C1184E41C1CDFCF74196FBD8417C1D5942240888416CBD8F417432F0C192C71AC2950B24C2083FE8C11B77D9C042B150415E674AC2622B4242EEDA0B428C321F42E0448941EB405D40179AF94073337F41B8F119C26D0865C2D677F6C113705441366E8A428BE4AB41F932B0C1CC9668C1F01818424A5C3BC1BC9EC6C1D7714742CDD501C2387D3F41862EAAC229B5FD40044858420FB426420A6136410C666BC2835577C2B7C0B240975AE2BF397622BF7D8508C23E7BF641699F624017921E42406DCBC02D9CFF3FDAE72E42F545044204C2B5C132527741C37CA9C19E36184120CA3D4215F81442EA065C428E1984419B171F41F8EC0BC25C21BAC13EADE5BE8FCA4541FA1BD140412D08C20BD76B41B6117F400482D0412A22D540E0DD99C0425710C2CE7D37C267312AC2DB8FBDC04C63E4C1E0F6DE416FAF09424379B7C1D6E75540B400E4C1B4248EBEA870A9C1478908C1FB223541E62A12C2B1787B423A1121C2A7838942824A0CC291D84F40935DBDC18EB2514236D0F0C05D15DE41184301C15CA6A5C1285309C26DB69C4156B8F2BF654D0BC1D5CC5B42574727C2C899FBC1D54816418A84EBC1E1AD0C41D969AD415243954178DF34C291F203C269CBF341874E91C20EEBBFC1AE1083C160C14A411E1F24C2547D0A42EC06B9C18321B941D1047F414DE6A6C1CD7D8FC133BC0942D9B41C4132F366BE298CDF3FA7EB87C1092B0B416C478CC12D182242AD48D0417147024098BC35422DCCE6C186380CC2C9BF90417ED2D6C14BB64C41CF3610427F779EC149F60042BDC1A841597199C2EFFA1C422B25FF4297851A42960BABC124226CC27226F7C1AE7F0A420B158542E8244AC129A07240D81766416EA3CC426182B4C254CD7D410F379CBFE5ED3F40D633EFC1AE562DC2FA4404C1123A9EC2C999B4C1C4A7744205B844C181D13EC267D7C43FBF928AC109407AC14F29434259EF8641B02895C1D1D5C441BE05304289FC1FC2B43195C2894E813FBA9B05412B4870BEBF33F7C0ED316E4196030C4257D50042C4287F426E499CBFAFC23BC2F1199DC055E883C0B611BCC1CA454F41DADC2942D09C74C1D3CA93C1BA9D1D4285AAEB40C7EB9D426F19BEC1889121C27461A5C19491A841705681417762B540F0CC5741D09C4CC11C46CBC006CD154260271F4253F905C0C72DB03F2F711B407F4B34C1FFEEA5C175489DC2BF771742B34F00C33505254241665EC21D031CC21BB607C2BC16AD41F18AC5C122AB104278BC4C420B1A1BC1EB2B0BC0B1F719C024E9C741EC0EC941E29335C1B4EDB6C19708B6C01F43E34067B44E407AE989C1A241BA414CF3724200852D425441904093B825C142C666C29B3A48408CA3BAC1D5EA6CC201A68DC11D4E87C24CA7E0C1279CAB401FC0D5C15C8939C21D72A8C16059A242D19E6241DC0C77C1C46306C2107D3842E3CECF419DD06B3F79C5214193599842127D9AC1DB9341C26E98F240D387BFC23C92AB4285A6F2C1474B5640666584C239480540E4D01841E30D90C0B66FE941EF0797C161B93242752540BF84AE95413FE88D416B9477C2DA4963C2E2C1604141B827C110D853412F5F02C28B48544242B19042B0EA0042BB118441DD3B9AC1AB6BA7C2E37CBFC203C244C2E4E4F541F6F491C1855D5142438807C124178EC1BBFAFBC1E513EDC0655494C25F2FF140B05A81C17C9068404D1ECB41CDF5E241FE71EBC25F2029C2F7EB52C282EEB1BF0A292E425F894BC2C2D82DC2D498CDC0A81070423624F3C12BB3AE406EC48AC16F0D76C2D4FB22C18F7A94429CEF9941E3A0EE414A7A32C24F23E241771CAC42216E8B4213AA4D42BFF4B3412DF6B0C2B3A0BCC184250442E7D3C7C2C2BC17428996B340C0D248C2B9A66E42A692D342BD873FC1CB197C40FDC011C1B1990F42A632DA41A2C1ECC161495AC13A28A0C2DE9A0542DD9E54C1EAC8E9C19AF1A7C096D4694072192BC20E5B5F42D3AE87405BB010C1A36C64C20B63C2C11AFF08C20A18A1BF7038FC404C2651414855ABC18F09C6415525B7C122E7B4C1F6A6B540606B114215A89B3F913E9142261013420F1E9BC24392FF41058109C2807C2A42CF85D4415901AA4182922EC26B8384421E3C86C24D94D841DA084DC2E8CC9742A462E6BF80E1614176752BC1FBC42A41315E92C043540E4191985F42BE4083C2E5AC96C16AF7BAC201E1F6417377D4C1174FF03F1A2CFBC1597B03C10A74D3C176DA88C2F79B1CBFD6431941429A1B424A7A1641660349C191426841C0ACAA424021C8418FF67C41ED467AC11488A7C2654154429E8F4CC074ED96C1BE734B41091E9341729CF0414D8FE5C146284DBFBEABB941AA17C64136B1B5C1510E0FC2B82843C215DC14C280053C3F64232FC0079DEBBF852B17C235257D41D914ED4154F42A428EAE8CC0946507C1452F4B41B06FD3C1A57F17C2A8AC5441A9D0B2C0B3B111C26496A2C18E31EDC1D5E5C1C051DDEF40A33CEABF651C27C27E994640BD0A9340B0FFCD3D2C6393C169EAA1C202B906C0C4C25040D16E88C25CD8B340C5060541BF4573423C86F7C1FDBD9DC0140F79C24870DABF7EA2DD414A47C041B5F68F41E17C2B426559FEC1FA3D51C225793442955FA7BFCBBE8AC278EE61C28EA9C2C14EAFD541F3070B42FDE50E42DE5216C24B0B0AC0D34A6F42B349AAC17D8BA2C0AB9383C13A469FC29D636CC197C78B42CBF89041C9988E4247C933426EF56642D823724045A02CC24BACE9C1B97BA5C193DB5D423B15BC4142D84BC10E0CA9C1EAE92BC1FBDF36C202A955C162BA2642D469A1C0CA82A73FA70E7BC2E30F82C1C22B6141E893F1C1D7AD1B40A6713242680F26C1996ADF41CA4A25427E68E3C0A6714EC1F69F1C417F375DC141B559C21DAC324102EBD7410C2F3B42780064421A0CD541E0D755C145374641984D1CC2DFE6FF410816F5400A4C38C2D7CEBF400D85D8C15F38AA41482A8941AC3D80C2E77A4D42AA8C4F42EE07EBC176926241C0E7F1C246FED140975E034200871542A77F8B401F5381C19D6F39C287BFEFC082588DC1B3DA84C0E0F437C068792D42DAD5373F8CFE2BC233525C42487F1D42B2C36242B195C7405B24C9C2FFA3CFC176DB15416C9E7C414747EDC12075C1C111172C42ACCC2E42943D0042902F9CC27EEBD540B92FF84056AFA0C189BA9FC1EA19BEC09E15CE41119BC5403EB720C2F88B29C2367D1341B6955441F93B56411D2BDFC17CCA4A41BB6A1B4182E6F6C1CF4232417DA9284106A84C4285B03042225AC64074A607C270D471C12BE3F6C012BB1C423885DAC1768072C1106B4041DF848E4130DD34409BACA9C14AEBB642A0F45642A38454C2E142703EA836CFC1294AE240F3835742D47B0E419902FD4136C0C6C00A0A5C42047D0941EEFB67C05F437540550B8CC0DC4D1E427F9E81BF0146E9C1BC4610C1EFE3AC42D4DB5C42B102DC416B1886C12B57B4C21C9566410337274158F694C18EAB7CC130DD2C42BD8326426E0F24C2461B24C26A0C8640720EBA41F5328C4292BF9BC1FF15F4C1B38649426A253E4172AEB042B74267C1BD642141C202F6413B335641F5DF9A40410BD8C12F725B42CCD1DF416571F4C1996C8FC20E7D11422355C842261DE041873EBB41BA62CF3E782686C2A12D0A426FF38B410105B3C2916F8BC18B1F6F410D3119C138FC1CC299019BC2A171B6426CFA0E42B0E498C15851CC41FF0C16C2994B6842B2D2A2C155ACEBC0B2329BC226E4CB4186AED5C17AD790426B2C024207ECF9BF166A8341F5671541584D97C03B518BC237A090C22F9899C04745C8BF4D5A0642895015C2AEC202C289BF8FC246486AC04EBB5AC25A8C2642C1DF16C20E2A2542BA3FC7C2AB7C24C2261CA43F318F0BC168E98A4268CC334176270542054BC9BFA14862C2E1DAA241312FEDC1C16041424B76DD40C4446EC1166548C2F8DA77C2D4093EC080E1E541F6752E42EAA71DC268AD2642E702E1416432964176C58741142D8DC28410C7C1E632C34183528C41BCDD49C25394DB42AFC8E8C1472615C204A35BC29182BD40DA452242F0A2D4C1CE2288402764F7414A13A14108BF4AC13CA924C230F0C7C28B141B428C37DEC0A0D2E44072840DC2498698C158C8D43F2A3FB6BFED52A94233F8B1C1C22502C2F9660B4297ED2740BA87EBC0AEDF40C2B137814199A7B3C03B3F954222F38B41D681E1C1F1D496C2000E8441E7DE2241DD78EDC096990D4243E2B940B38FFEC13D4B7D42014D6442DCCF754251C59A4197C3B9C111AC84C2992638C1F608A241EA6C10C25B4D57414E1E91C0E92922C0B37E91C10AC292420E335DC17EAD5DC2164142C2BF86953FE3B9CFC2D7D5C1C1ECBD23C2883F61C2AA1F3B42CA722AC20F079EC28EFBC2402D6D32419928CDC10066F241FD85D4C0738CEDC1A494CEC1853A09C162734142F57F3841F365ADC036E153C2D06541C289AA28C23B675441BE41C3C26DE82E4280AC44C201F75D419C3029420FCB754146A53FC223F79441D8DEAE42C7C21C42A5C2E641AB521CC235D8A2C155F816419E9AFFC133F5A1BFF86485C264468B4253C624C22ECA104029EAFBC1935908411535CBC1EBF1664019ADA54216783442830E5D421D97A2C224FCC5C1DDEBAFC226372CC1869487C17A5812C0472804C22A938E407DFE2CC1990D02C0A692FCC1A12D50426032F74170A6F940F381B1402EFAE7C1D6DD0941E88AEC41B2442BC1867CEBC182F1C8C1F7243342B672B840F906244262A3AB40A805C0BD0DB4B4C1CEA004427B3B6DC1DF5A35BF2F97F041C9545B415791914265F8A8403E6428C2881972C27DB321C0373B504145F929423DAF144202166D42EF7CA5C22E13A0C2E02F0D420847C03FE7C138C174F089C2B9C712C2256CAC41F8AE8E41CEFC1242EC63E4C1216BA9C0BF8D864285C226C0FA8804BFA1EB3C41A7752F41250A48C2BABF8CC086AF3C400D7C5641C545C64030A7BB41CAAF8F41073D6740E8BDD041FAA805C25FCD2D42D307F6C18C6C9E415CD734C10975B44109E71A411310CB411776C1C11E8730425FF78141248B044296D5E441128FBD41853B4B42ED3BE5C0B50423BF1AE81D41E13C044200217EC2D12370C09C88034248E899C18C9DDABFEEDA3E423A2C9441D08199C2E8ED3EC2F04B22C0BF7DDC41B117234286B055C17C4D3EC03E1595C17269A742D51B9EC16B39D440F9F2C9C1DA2397427FB17D40A334DDC199DE0CC04486C8C270DA05421392CDC1C368734223F90F42BC9D70C269A7FE4133EF03C1EE041DC294534FC1DCEB7F408F547E411C8C804129D554C157CC95C11E22B14257BB834223D805414EBDE441287E4C40E0B1C641AAB05E42810A69C148F030420BAA03C12A5A1CC2D46C1EC08526F3C0ECEFCF41A71F5542A3006AC154B63142853794425E888F427504D7405FF911C2317B894189C5C8C150D9AA41F893A9413CA329C2060693C1F9958340F28898C1D42B7DC0A5B211C236EC8741941CA3406A2547C2B35EB0419D5B1DC14DF19741828B78C22825EEC1EEA025C2279BCDC161525840B1F1B6425F280C427AA1F54172EC9541FCCC04416B1EC2C1A449CFC1A9D5D9C20FDC10422BB009C21E8899427DDD823F306B63C17F2543C1C8CF3DC1C91581C1DA56CC4100F31B41144BEF416F8771C2950C37C2705901C2E9901F423F42B3429C6B1DC1FF4880420C6452C234E236C298CDBD425AE39DC2AC4B644239DA1842030E96C1B07D4DC2D284C6C105754042BA7E9F418B03C6C12361D2416DC5A342333BA842CE38B541AA4497C05387CF41C4568CC2BA3627422D43AB418B5998C28A87B8C1DD844AC2E1036CC166BB35C12CA524C2AE8CDC4168E94CC232DF1FC1453599C1864C9F4103AB5B42541D8141131937C2B95D0B42769334C2A304B142DD46B541A683FD41A30A7B412DB59241262BCD41D4AD9E4158E764C15261FFC1B4BE2942C95EF3C1FA9729421256C741BC39C5C2EC03EEC0ADAFC8C1FF7401C20CB1C541CC836E42B9D818C149A53941EE6AD1C01ECC134296E0CE42CE8B2F4294E568C2A99D30C1ABDD22C1F8708E424B37C24279CF70C270358342EFCCF34139DB9FC24A60EE400B198E41C390144104B913C0228B47C218E419C2F50007C030744C40BE643AC2435453C06E1A7AC220710641D2F22DC19F3DBF414768F9C25DAAD442494C15C25B250242A704A5C16FFB50C2BC5C2EC253A83C427F7E95C27DBB17C2203102C2851E004190FD2841B9748B41190A2540188C31C297E48042AC211240E4D483C2C83EAF41347032C2D661A442D33470C178210EC026E06642718C22424E7FEF408A5FDEC214C42AC2B69655C2A7778842B74BE23FD02748C22701C4C19F9E33C1EA1D82C0A417D540A9BA084245FF12425FCCBF42C8E5374219DB2B4257D1A64188D0B63FE7A93942015D31C25964014293A6E5417F8FCA41DCE261C2D2A0ABC0208C254168CE1F42A871AF4123C79FC29C18A5C2D439254235FCEB41CEE836C1BD8700C2A3A3AE4128BFDEC1AFB47F42E75964C26135E0C1E7D2F5C11396384272B7C541E040AE41E172ACC00EC607C2D706FEC0AD361FC227013C4260CCCAC1B42D4342F3B9FBC01A3EEBC00015A64135C001C1882BCAC1176D6342968A504217F979417E74BE41ED7F39C1B9BED2429DCE0FC2151455C29A04DFC101CF06C264AC77425A1828427EAD2BC2FE6978C20C96F6C1360537C0C9368742FDA03CC16FB96341D67168411A3EBA41FD86C7C18FB5E0410D476342D40B6D42C046FFC0C03D333F6085CBC1AC09E6C154A706C2884E13427AA5C1C205701942E7C1E5415EB2A441FB124EC20290B2C28E3BFC413ED0D8BF4C5BE841035653C2A8DED4BF99DA00C21A6E3741BFC22942FF3A9941C074663D1A63D240F0711F41FC5D15C232517940B58106C1994956C002E4A6C19E03E7417AF716423DEC83428FE367C04CAEFFC148F144C110AFA1C24C082741FABDA6C123BCE4C1AE958641A8A610C0E7D6B2C1FB39C9C1EC1F90C1E3445CC0C1306D41EC2493422F05A0C1575BAFC1589229C2399497409541BEC122E410C20C0368C1C4E175C132170EC297F3E041D51C3841F4B0C2C10CE21741B9AD1041D77924C0B679BB410F192D4267C027C2E547C341A0EE74C1E1CBFFC1868F94C18F9518414BF0D3C149C40342F50EF2BFB81FA1409D989541A5217DC2B3D56AC1C25CFB418BCA3AC258962EC287A2D040286CB141A8401441E39D1342C224BEC27EBDF2C031CF154262C35742A9C87CC1387E204298B730C02D6909C2A84F11C2A1F661C1CC8D3542A3A92142F4E60DC1333F8EC055F51542EA35E041669B8A412387A4411BB0CDC1BC2891C12701E9C170A6B7413ADF00C279A34A40E2E55842CB7474425542844161FB0FC1616ECE411689CC418F2619421AB65A4228DA3F41710F53428E839542D58A5BC2EC94C8C0148090416FAE0741B457D4408725FD413B42B2C1787A35C21B6028C124C938C2B3AA83428F958442AD3CF0C1BF90C340A98131C116820F41D5DB5DC2E3E171C13AB6E9C11F8C8DC1C6A35342184F2E4275591E42A95044423AD71542E9591C41F0B6D8C14FF1DFC13F171141376813417788B6414A45A5BD1398A43F11AB6341430B04420ECC2CC2987F15C0D0C8AF4211471A41952307C2D14110416CBA314077F2FE41D9530B42C44AB9C1A3512E40BF0766C020CB8B425526B0C19664A13F0942A0412C3A7F41157146C18ADE21C2BDD3A8BFD2350BC2F7335241C1D698413FC4804263F77BC173BEFB41C0A926C2FAD81E4028706641B4ABA041C3F2634225DE0EC2A6CFF9C1CC29A0C1E72CC041EEBCC54094D50AC25F02C5417A0BDEC15CA53142332039C2CBD99D42BCB9C43F1A221F4214E3303DA222D2C0815698C1B8A849C297EEE9C0E7D747C1B6146341B1203D41837A47C1762E083F4ED700C122DCE9C01C9B84C2BEB232C154E7F6C1E477CC415C0111C20C1F33421FD91FC2EEEB64C1E14FA941FF8805C20DD486C274DED3C17E3AFD40B0CFE641BF059C426AF001424EE7BF3F64AA80C1EF5BDDC1340AA6402988F9402DD1E2C119400CC2E0D91042691D9BC2B34D3942D95B2D414A8F10C1FD0A7F4267419E41CA034D422E082CC2F7E144C20B639040BDF9EC41E88A9B414D61334283D0D2C0E9D4CFC093A18FC298AF5342C1D53C42CD3122426CCD1F40E45646C2B5FC19422158A2419DE560413D2C6942D674C9C2C2130E42155003418F2F3641B2B4CFC27BBBC940744841C28E96B441DA0C9D41957584C131311C410F7091414CB2FD415643F3C100301C42E56D15C21B970042CB00A2C1D7818B41DC9D09C25EA9964174070142D90C28423F2A3F422DD9EBC0FE3052C290C450C2DE030C42C0F88741D1FFB7417E32594237357742038C9942773F32C18E7D8F41AD9B3CBF93298AC1F6175DC11407994143193FC2DF3A9FC1B6DE3B4251091040CABE3CC036490B4294DE1F41C929ED41AFB808C2D9029241E7B05FC2256CE141FAE58341744E2542E1266AC119E92CC26136AA42EBB4C4C10505F74180DD1E4232C3BFC2B53011C225F321C27CE42442F104AB423A92CD409AE9D5C11E8B86C114409241AAB858C2ABD51AC24FADCF415E933CC27CEED4C11EA0F3C0054DBCC11354FC41DFDF7EBF3F65E441B9779C41BC3891C0D3A459416B95254174E4DB410662C141986591C2A692E24161340142E2434BC294A677C2AA7586426957CA4286FBB141C342C8C1DA58C741C431F641A4439642F1A9C8416D102CC2DA46FF3FA116E24249C26EC2D43917C12AE03BC27029BBC1B4F74EC08AB5B542421E70C14A21C241F23C62414224964099DD89411337C7C074CDECC25BE5CB41D24A04C223AA5041E428B14140A81142B814B4C1F72921BFF3BD89C26D72484283D08B41C1760BC2BDBF4042AF72A7C1D43EBF4211868F406204BF41C4D5BBC136AF0742C59602418DA499418F2D4442DE8F134172713541D35C1FC2647D31C2E5D3F0C158A06942376533C28AB289C0948F9BC158B9ABC1CCD069426A3341C288B18941868246C24F2CA6423265C7C08D2A0C42EB2A09C2FE1248C2366DBDBF3AA3AAC134EEBF413B7194C05E963142091880422F1F58C1C6D31F425E3278C2C1524542B2A2FE40925B614138B21BC251DCE541607A7FC234CB9A4138CD2A4258CDC4C1375D134242A98FC1D63C5CC27BA48EC2B5044F41C074FFBF8693344251D0BAC0735445C06CA3C9C1A3B32BC2B77663C293F769C1B75545C0D1A6564242B6804259E74C42B2D8434221AA9B41EC25C8C083594140540A0DC27C8231C1256A18426C4E97BF237481C2C48785401C8384412FD437C2EE13D5413C95844277408CC2628608419F5571C11627B4C29FE7264238AD2E4238A49341480ACD42EB2F14C2DA5E0442701271C1C228FE411D0E963FCFFD6BC220F4C6C11EB9E241162C0CC2AF6F00C2C62ECA417CAFA9C0AC4D93423A1A4EC2F5B40742370945C2FD5F7441C4AB404232C70C4264BB3C42223E9CC1D9D31542754206C2407BE2C0C3388C41734867C2690863C2F1B1A3C2DC528641996B6E42C512A642C33FAEC13790B140947414C2263B26C2DA2521C28A0FBCC0E81B5040B4CEEEC1C3D7D7C1B501FFC1E1D7A240848583C018973642F6A71E4278B521C1652D8142EE6291C15F907442754A4AC03426EBC1A80152C23F09C541D7BED7BF29C4EEC133FAA6C162E904429754C8C1D3739FC1B5B943416A2648C13F1B5342C8C1DFC0F3DCADC177678EC1C4E2F34163ED90C24CDA2CC2322845C2AA16FD3F1E8A1342EF492342530D4AC2DF889EC1D1520BC24EBA63BF3B84A841EDF67D4023A775C02F0240422B4A65C0B7660A423542CAC1E9B84EC0F8ECF6C1CC6738421BD49CBFB87617420DD79E41251461C2E290043F3E92BC4141AA5142559E2C42A56BF7C1B1027841DA4126C14A294A42CFA4E3C1CE8702414E6B50C1DFDBDD40C8025442B551C641221C75414E67C5C019871EC2C1BE76C1B8D54CC15634AD41A9158742396ECD41207E8041BB41D541671F3CC2E3423EC00D8E0FC207CDE741442D1AC18F4538C2F14096C17D153DC114565FC1CDE4CE3F810101C25786E8C1B8B2E3C1118A884196DBE0C11EB6C6C1971CC841542EF1C1B1628ABF8A15BF403DCB3540D7CFC8BF7769FDC1EE8508C2F51A6BC11CB1804112A3E94140E8C6BFE528C4C142DBFD41D21DAAC157D2034271ABD0415E7A0042B69D5541C47B0DC23DDE1C429D182642B4F24942DA14FE41971C17429E8F0842B61804C257F8B1C0F9204CC0A58523C23B45DE414520AE41841ECDC13685B8403BC7D4C1BCEC2A4234B45D42BD4FF3C1E347914132D261C00A2118C252A64CC17B4D6DC281E3084260E6C5C156499C42EBA5ADC078C2A4C113644EC235BE5FC1B270D3405D882D42401E31C2785AB5C2C3F404C2D05D2CC24664074222C60142C13C2142D4F92E41DE7F4CC042A48041B26B9DC122CBF74065C7EBC1D957B3410A20D941B15AB44077A69942CE4DCCC1AED71942A01F95412890254296872AC2EEB53BC2FD347ABE50887AC13C7E774153F469C1F2823FC29DAB6A40C713B64154C3B4C10E6291413F518141F79D92420FD2A3C1F4029DC1C2E0A041EE1EFD412A5229424F8AE441C9F3C1C253AF53C128EEDC40A32C88C0C3BF1AC14AB4D1C1DF8B5D4150559242983C16C0DEEE85C2C41D34C249A5D6C166823A42C43CEEC143E9F141F993BEBFAB6DCBC166D20A422BEF24C2DE6374C25715B3421706DB41039C6CC1B6091F42D845D6C1D0E599C22CE14741B6628D41CC2595C02A2EE441E01F2AC27D9E00C140BF8F42C33EC4C1363EAC411353DCC10EC939C1FC060E424FA9BC4134FD5BBDD514C64082CC34C19A3C36C2CA751AC2987293C231E636C2EC4021C233A7F43E8B8228422B93103F7CCEA54096450BC27E496641EC1BEAC16F5F343FE6596F41FE8C3241E49AC1C01B6CE8C1D31646C28BB490C1DE1A9D417BE2CB4034801642BCDD8DC2B3B799410AC542C246315442285E03C2A78948C25A8B91C01D684CC1FCAD3442165487C159A91342F1743B4222FEF1C1F523CDC1950994C2902D66C130A359429C90FC41204583C18AB8EF40FFFB4EC0551F45420F9397C1954DF441F6F62C424D862D42C3FD6042B92F0FC219F206414B29603FFB2D10429B09B241CD912341C5BCDFC01D6D194226D1F8C0EFFE77C156681B412159EFC110ADEF41A483E940B0FB2C4192DEA142EF9B54C2170DC2C09237DEC17E77DF41751014425C1AD241830107C12E5AE4C17F368D42DC8B4BC11CD3BBC0DF5551C1CDD7C1411AAD69C0A32A64C21C226CC11E5E1941C2BF8042DEE8583F3386AE41C2205AC2421F714237403CBF7606B641846C5FC27B6385422FD05A413AB0A64104D789410354E7C1740521C286E9E83F5FEA4AC20C6997C1B637D1C1CC35BE416E30214240FB0542762C07421BC3863F1050D0411C9E96C1C14F15C2510E5A41FB9A73418DDA61413FDC38C2CE34E6C19F5710C2456654C1E497C5419654994172EB00C28C7F3342D77890C2EE7E05424A7650C1D462ABC19B8FD03FE5F2F941E95A8BC13AA34D42821D024205237A41052C82410D690242300FBCC149FF06C1CC744642F122C3BF72186642B22AB541943E35BF4265A1C249FBA1C2796521C2C6720041405DA4C0B1CD944156DED3C1D626F340F1344FC23D2A0C427EA195C1FFA621C1E252E8C152AE6B42414924C2B3F57842C80CCC416BF5D640DD3617C2DC38AB42642F74C1E64B8CC203B61041AB9071C2DE8D8340F11912C25C733342D52CB4418C961A41F6481941044E32C207C18AC1A268B841290C614255AE294160C88B3E900EE641FB771D4105D3CDC13C06363FFB2F07C31733CCC1DBD930C2AEFB40406843E742B61D18418FD8E540E7EE144270DFB141F8047840D057BC4159C56442805656C19B0F07C204A7E141377017C2D8E9E2C16CE4F7410611C3C19AEBAB42DC5E2FC2684A31C0D38718C128F80041A4633AC293B0EBC157C91941954942C26210174278DB6A417D9A03429C7E534111999BC27F7B8EC20E96E3C2C75E44C15E608C4200E8A042060429C214E81642AF85BAC06312AC400778DA4186CDF84127184942630E56C1CA365A41FC6B72C0AAEBDF40A28DB1C12860C7C1656540422DF302C2416D7842318664C1250E84C1788A2FC2EBF24B42753D0C410BA196C22C40F141BE7F40421BC145C11D306EC2B804CDC126349AC2AB6481C16D3575C1A1B70C42FFC89042A28E2DC21899784274B571C115B6F541A9360F42ABF889422E80BCC1C18891C2B985F4C180CC0DC2911AD0C1E3E20FC007227CC1A8A7AC41E7B5D041ACE00B41738D21C2F3FE05C27AB54042EBA4D23FA7CAF1BF104B304288B8B3C065965CC291B20EC2FD02D9408070AF4137F74440CBDC0E42208F38414E5A0242925883410F1B90403F6336C200E2B0408E8C8341D9F1B3C054D589416897B9401315D9418459B54079798CC1F6B229C2434BF7C0C15C30C2FC51B63EC69D55C1119EB3C07E32E0C1444428C090F805426AA82941BDA3E73F1A8A9BBFA3658CBF57CB1BC2100267C26BA56741AEABE5419229D240ABEFD0417CB6CEC13A5122425A9774BD0FC5D341AEFF3DC22993ACC0280906422FD53A421141A2BFC147E7C0C88B32410B488341844A12C132424EC01598C640B0E2E5417B7AB841D06F61404F7857C23B1C4E411E8C51C07EF20340A9DB13C2091D76C28D91B441DD7302423477BC41896465C2716757C2F16E3C416BF9D4C002234040ABCD67C0565CC0C24A063D42249703C210FD93C1061B54C150E033C2E1ECB5BFD94AF54152DE27C2531F5A41CE9159423F239C42AC783B422A96F6411DB8DD418E60A8C04F2C41C190F337C2BABE42416CAEEBC1D3247E4209336C413587D1C09041014261A15D423CE37DC1B2E82442FDF131420B99F3409DBEB041AD5857411927AF41552CFFBF956116C22D67E4414CE0F6C1363A90C197582342A2B4A14026BB80C206B78EC2C3BDEA416BBA1942BEBC1FC2060E6DC2ED164AC1739979C1B5BE5BC2AC3B60C002CB9CC2D18CE9C03DBF31421E414E42386A12C281162CC12D94394214FC1F41E59589C10DC823411274BFC16B758642F4FAB0C113A887400FCBC04036E671C2D4A0E24105603CC1EDE568C2019ACE41C1ABFFC10D9F3E42EA1CDDC230551AC23E34A8402E70423FE50A3043225CC04173B626427B7D6AC2582568C224E23F42A93018C195DA40425BD42741112400426943A23F9DF5A2413F522DC1EF47EB419B5E09C2E0A88CC1FD6DCA41E479BEC06B371AC2ED2513C2616C03C146E8B9C1491BBB415F0691C119A897C1546E1DC0F794B0C16A8F1742A6162DC1684798C1B4B23441EF8C9EC21A63F4C1D9A61FC21E54EABF8611B4411FDB1542860DB0C1039B27427D6CFCC1545341424CC514C2EC0331403E863642DF0BAEC0E70E3CC1662520413491B9411E0037422233844143292AC15BDA97C0C88E0C42191B1BC112E128C12A90D9C0E7436BC17BAEB341A8373942CA51AEC1237BC0C10A19F0C1618620420605DB419838A341D719AAC2F64E05C22D5162C2753BCA41604A4A410B859CC0581C81C1AC783C412D0E13C25B6E754199074E41163FBCC06FB39BC14676A241AFDCD040EC9D18C2803BE340D81628C2941A104159692241DB6AADC197FC324102A232C175B95FC1E38D9BBFA52BEB41FD284941EE150EC2C95517C29EA5DA4096D48A418FF8AEC1F8ABB7C1D8A2ED400A47A6C1842AFBC139328F420B125EC2045838C06C7E1542AECA2242B8BE3941AB8F9E415D2CB1C1C8B01DC2365F37C266A722C2027B4B412D9EF2C15D3D7540B2F617C28CA057C1ED9992C0E7197A41D396A9C18AA249C1513C4C419B062FC2FFF412410CADE141AF55E2C1862306C11A158FC1C1608841036872C0EE217E42B99A8A4239611442A5F6F5410BC1C8C088AE7E4116123C42D606A0C15B160441A5CF81BD5BC407BFEC933C42AB96A64161A6A6407AED9EC1954F704170B4D441E80340C2E9279B41241766C23CAEC5415109B0BFF53AA8BF86F189C2BC0A94413D6E65C2E0518441EF9A2D40132EAD424F252EC1C20E4AC2C0653CC21FB208C2DA6CAA41E97D154286DF35C23D3D4C4224C084C1BA3CD141738260C18849FB410DE5CCBE0F084042F97FB4C17F6B35C22C0B79C279A45E41723F3442358F174244C331425E590B417E2C01427D5D05C10593C0C0DF8AAAC1849E814170CF3E42939A0D42B1C471C22C689740DC9657C116CAD3411C2F8F42860ADDC1C433F7C19F0575C2FF11ABC1C122E042BAB3F4C1A4590C4267EB55C12E2D5AC1E3C965C1173B0140056DBE42A3E44CC2CFF91AC1FEEE14C2ADF32DC240743BC24C3176427FA718426CA697429323BCC1B13C87C2600B67C10E07DA405801F3C126A06FC294096C413E3A79C1F15793C17C781242794D89C1BE6693C1FFCC3242387508C10CE39442C1DFADC02EAED2C1469B47C18E29A0C1EA795F41E9910D42B7E31A42FA1DE7C178BB25C24E695EC2FA41CD42431AF041215078C10E5FCAC2DA96E83F284EC3C15C701941344714C1516CFDC18621CAC18103914283B87E41AE5FC84177C803C24948B9C1C67511C29E439042733A45C19CFFE0C0C444CAC0BBF8A0C011DD3D4200FB08C1FA97DE40AA1E08C16AE000424C1C96406375904014BC9F400ADAB241B478E4C1B4E4C9C1AC13B5C0085EFFC100995242A9FE91C2E6ABA441463E49C203E56C3F2D5FBD411C2C7D42F6ADD1C19D4827421C8E29422E06CCC1A6DA6A41C2662DC2F28F83C1031B27C1FB94DCC0237899421B929CC19E8C7F41DA358AC1EB2CC2C1ECA0F93F3F6ECFC110AC3F41E19936C1299ABF40109F30421ABD0B41849B82C1D8A527425831A7416CFD8741A8FBBD41605E2DC2A6D47AC297505AC23C368C41A5D7A241F18433413BE06E40363E12C2BEF6CDC17E358EC19AC550C15DB6D6C1D0B523C03037FB413A95724152FE8B40231486BE591450C16F79E7C1B0EF86C172FF36C2E3750DC1D50589C0DC5007C10FBD453F92702EC0A6E848C1C52D8540573F824221E40DC1A33BA3C183DDFA415B70FEC0DA486EC197348DC2010C17C1779938C15D119042AE78BDBF49F63BC272E053C18CA3C0C0FD52B1C0CFAE21C23A9A99BF5D85BA419D8E8CC1AF661AC28F237F41FD13793F166436412363DEC1EC333241D1A5A1413C9E4A41E3A1B54108F1A2C1781FABC0340AA4412FCD1C4238814C4265736CC2AAECD2C1DF8556C1600B6AC18E6FBCC1B1602FC1A87197C10A2686C04216C6C08D4A02C2AC1F63C281C44342DA9246BF2AAD56C2370C10C0A034E5407A9ABEC1058CE7419D3C18427B401142500F4441BFF49841BEECF3C1179046425DEE3AC25A1918426C0632C0FA341DC2AAFFDABF9A46C6C1BED833C17FADB54165E30A42CF6799420364AB408D0646420B3A52C1A47F73C2CD9136C28D0D3E3FD0C80EC282EC874174960AC241133241838439C27B9588C0C87006420A7CBDC1BD7F3741459B7142C068DBC12D5E86421D929D42E0469A4240ED77421D0E48C2C6C565C24E004441F47E9342FEB288C2073284C143C39A41BF5E2EC29AB838C26429EAC175807AC24A6F1942CD4EFD4187CEB94140AA1F42BEC630C2ECDC6B41D88D2840EE9101C2D4E16E425C456642DAB6CF41EBD3D1C122A61C42238C5EC2549C5AC1D3F304C2355069C29DA833C12D0C414096D78B42336C3C42785047C1C56BA24193F232414574E041DF3737C2F6B40A425F017D40E5CDEC3FE7B60BC2E8DE25420E4FC041A36E19C29E9A4CC2109D7A4142E27C42DF0A6C41731D2542C67CDFC2FC80844247F331BF452FA1C1D1FD54410A270E42A21B93C142E30742C6506C423BB280C15C10E841E3A528C1337F4841DE3A0442C1900A4189360F42D7F995C1A69B414225D1ECC02140C641DE3388C23399F9C15FBC54C2DEA0C1C1881E994130EA0142FCFA4D42C0121F41436EC941B4BDE3C1DEA984C20730DF4166A3DF40B5E7A3417CD79F4116A80642FD1114C25C1631C220B730429B96FBC06470E6C1C9AAB0414C649341676AA4BDC32FC9C1722B9AC1C33FA54114740E422E5A6B4270F083C1FD4A40C181127AC170CFC13EA2EB65C14E9133C2A4802E42ABB216423D47C3C12514193F44F78940EB60954017C6AA41846EE8C1DC52A6416F5CDA419E6B8341899E7442A9B3A4C1D7EC0642AA1BBA4113A4D8C1ACB87441807D1EC130C4E4C1F4ECD7C229C1B0C20FB64CC26802F7C1E7F48A4124D532C2A66878418BB051C20852114244A029C29AEA94BF9B91044137EE74C1DA431441D5834C3E49A217C2B1A31641DD518F401E2346C1E3A1C2413F1DB14038F18E4174891B429C8C5041C0F416C1825FBEC1637796C12492A74086654A413E6426428A6D63C182A63942422CC3423AA24042FB4A8641439F55C22DFED9BF91F7BF4145ABD6419FD7DB410AD348C28FC3AD40434D3EC0CC4DFBC16CA5ABC15D0A54429F7784429F1785C2B10A08C2E151A5418A435DC203561341CD59A8C1DF73A1C232DA9E42B36AAFC1B44530C2183891412389D4C00C204841EC0BAD4222A9B8C1533B2AC26FEBDDC11343DDC1F5BA5D41D76FAE3F26E07642CC7942422D3C7241134981C1988923C2ACCE4941EC2B1C4250DA97C08459A5C0EF3C4142844FE3410F6EE7C22F1D62C2CB890D4272CE21C2DC2997C1A5CE70C260CE34C124E563412E4E0642BC439DC1ECE9B8C27D99B1415FBF2042C84F90BE66A187C1D0A01CC26D153C420611AB41C556ACC2C545D3C2361E60C226A3CDC16A0E0B42647725C1E2EBA6C0DA91ABC187BE0B42A814C9C1F8FE06C273F74BC19BD4A841050DB242177B4A42B5F08E42F1AE2E4251C95942D62A28C28B8663C2F17727420B159BC2A89EADC09B7057C17C2932C26991D5C152E990BFF7F0FD41089361C2067A884097ACF7C18EBF6742BEA28342EEEC11C25246D440A3028AC265CA16C2504C7542C93BE3BF5731354149910B41D4FDB141F841C9414F064642B5DF0A41B5941FC23F5583C2CC6976C1819EC2C204CF38C1EBD14BC2938025427241BDC047B0524251DAEFC0B204FCC16D805B41A67C0A425505DEC166985FC19B5A4442A8E5EC41334A0AC2F289AEC0BDDD0FC28C3A1742399A2A4117FC4140C23E03C11A37A13DA4A024423CD00FC1B81DC0C06EB89B4171DFD8C1CE1CBE41FB7D02C10FF48AC187E3E74144237E41CD2F6B42690912410AC1DA4153190E42B7B665C14610C041435062C2F79B4842636E11C249222E429D63054273C73AC0161945C10C991B42A827B9414134E7405C46D7403708EE4159A776C1894C9840E0BC36406CA81A4268978240C6BBA541E9208541C9E62CC2FC37D1C1F563F4C1EA6D83C167039EC1A05C9A4126DAA940EA53ACC182F3B5C19E98E6402F72DBC11AB858C23C39D741D3EBF140E68F86C0EA39DE41986B0A422EB195C011A3BE3FDE5C6741C8932AC2C74BA4C1FD3AE6C19CE941C2AFBF654022A11A3C2F1D6E4282321C41EC91B240392DDCC002BEBAC11F7BA94165DC2E41E1E422C063A289C17B5EDFC0DEF539C1AE1AE641BAC404C2F4D1E640952983C0A6E620C1D98EDDC0E15B16C2F858E1C1EB4A44417B9C27C1C09B01C293CC5942E3471BC2D2E4F0C07CFCCC4198942842550F80408EE2D1410BA04A4284C7644172F4D841A1DD1BC2EE7C01423890A9C26C877F42AFD202C2D17B3D41311D9FBFFBC9EC4120A69741F283A3C227BDEDBFB34803421AA3CC400E5D6242D74EB4BFF49B5841FA5C70C20C5F57C293D0F041A12720C21F26AA41AF208640898C85C0A7CC9B429EF36B40AC53274270B28A410CB091C205F7DD41798160C21BCFFFC1ECDE67C2529C8CC2C860A241635BDF4177288E418687ADC1252AB5C1D2A2E6C1DD548BC1CFCC37C2F360F8C1F85FABC110B4C4C132AA70C273B977C25C5941C1F95F58C06205B4C02EAB88C2FAEA43C21B4E0C4284E348C249EAC441A009E6416FF80BC04DBA00421A739FC125E005425C0C70C0F76C0B42121068415A916842EE47C7C178600C40084A32C15EECFE3D3D5204C149F624C194EC60C0628628429CE344C02C1FE9C083594B4239ECE1415B4254C21F3D4C403001B8426FE4CCBF30EC95422C9387C1CF81254274FDAE4108CE02C25B123D42939EB9C1D4EC1DC2BB6C3BC020C5AC41893FA44219B111C2A4124AC2F69420C2A95932C237602C422CEDA041A61DBE42407F6C424E2A40429A4683411783B841AAFF97C197ABB5BC6F00EEC1B20D66C0C3EC78427EE54E42A94F75406A5EAF423FFDB0C28542AE418399D7C0020B404069D78142128159C22E6FFAC0AA4A61C1AEF6B8411B6FB8C2B122C0C17B87BBC0BA3442424C253F4147DA0D41C1CC1FC10DBE8EC1C5D730C27D9380C1CC44AF3F9F319A428FAE67C230D3D441E12394C1D45030C178C69CC2A3270942747BD940ECB5D0403BA522C2A31781C2D271B44113D76CC29611B6C06175034170103740E2C600C2E228E14079775EC01D5DC1C19B43AB4139E2D641B4DE2C42B59D44C1591750C13618E8C1B5954742CFEF2842CD6E1142D637C4C15AD722C26D0613C2020E51415033EB414378B4C1C644B0C137462B41B191374291A9B9C19E1A2841B87C6542C8BD7241CFAF41C242F54AC0938055428B3BD8415866A442674DC6C158080BC0604C8BC1B63A6EBF8C0067413EDB7FC1FC0E11427C3EA541B235A242EF8867C2213111C237DA5B422801C6C1FD4CBAC12303DAC0D3EBFFBF2827524200D9C74153EAF241D750A9C0F7BB4D4067404D4234B2F74061641C42AD55BF40D03D7D415D0FA7414C787B419BDFBCBF9D97E8C1CC3AB5C1386819C196C46D402317C8407D126341F35712BE5EFBD3C09A2B6A413D0C92417013EDBFC27757C222FCFA409B0A66C2CE8829C1927DC4C170ABBC41C84E06C2A1F51CC2E66E0DC15146FD4097BD91C108E63342E05492C1A7761EC287E66AC14C69314168BED44152651AC20F047F3FAD699441F8E996C27EAE4E3F2E4A7BC109F9FAC1CEF50FC19AFF16C2C163C741EC345D42F952EFC0C8DCD4C162FF77425288AA413409B541E44A97C15471FBC0151F6A4109C2AC410ADA1842DA3A08C253FB10410D35E5C1EEA59240833A164216A9D0C2105B98411A7943BF2F69A041F6AAA6C1EDAE3E416774413F9A428441E91666C1558F5241F376B542FCE188C1FCF82F40E0200AC248E326C112C819420A1532C2E02F804142364BC2CA95E3C0C4FE2BC2D1F6904105BDF2C16F9F8CC1870F74424B86B74036EECAC19D29A041DFE8A140D4DC4242C5B29441A46D9541F95FE04112240841589C68424C678AC1D57EE9C0674241C2C648E3C1786567C283BBC74118C7C7412EF3A2C2250458C2278E0EC2E468D5C160738CC2996C29C1512E77C20B0B4AC235660942DA4C9F42310C95411D11ABC1480089C043C1EBC139FD54408DE3BD41C54B3B416B12AEC15F1DFE3F59CC74418E44124268780FBFE1AB6641898FC2BFBFE10E429EBAAAC2238361C173873F42E793C4C29C6CF840472C5541498F1742980C89429FAAD1C1DEA296422D6408C2A5AA53C28D845E421FBEE9C110D8574219F89442C5B116C12AA70442A5DE4441B54878C14AB023C2357B554194DB92C1AAFF53C2F4B9ADC10C7B70413801A4410F22F8C1F9DCFEC17A3681C223277EC04CF145C1617E5E42F6A7FBC1ECE51EC29F4FAC4175F0644167537AC2D7933242310934C1BBE7B941AC36F8416E7BBCC146150DC2DC3C94405BEDA54131DD1541E7AD04416D0E4CC22D6F00C210BB0FC288E6EBBFC1D6DD417AD4CEC1A62552C2DEA29E41DA9673C02D1F0D42098E75C228748FC276BA2E4159677A42D4F673419B64E1C1700A324284CA923F9035D1C02230B840F3EEC041D8235FC1165DDBBF8EC11E3EE18F074205F84742CFA603C12E4DCBC111D24DC26DD80DC1B17B81C100660C42A9BB5E41C97FB340B18EF6C0AFD18340B248B942201D96C1FB6C5CC162251042CBE01BC0EC583E419C6FE5C13E9981406BDD03421703C541A84DBE40CB1A444175994CC239E609C29B001BC147A3A4416C1053C1686F2DC24A574F40BA944042136DF04172CF0542E04F88C033874CC11B973BC18C254A40634D1140AFDE97C18B087D41DDD8E5C0B0C50AC11401B04165A649C2A34713C1837E0542358E6B4283502B422FD0AE418CBF6542D0268BC1893E224100E9B0C26C959041D8DEBCC178E878421A3927411E8B85C115C31F40E2D30D422584FA3FADEE0E41DC0295C2CE250CC2DF0FAAC1A3B287C1C52DBEC108B179C2F65C64C0B77597C1FA4B1840EA8C264141DB59C04CF24341F64765C2109373C28A4191420DEE8DC05B0687C1F6A058C0F2FC0E41B2738B4190F391C1C3BE91C108E606C25F048741F62E2742FBD5FE41B98ABDC0C17B20422B6806C280183B4252C913C2CF112941FEBE9A42122439428D06ED41963264C26E1536C283A88F417ABB1042864A0A4275AA39C2D7D0B7414C3B1DC1D5D18241630596C2FA1BC0C1409B84C192B91CC2F37BB94291BA3BC2F5D61BC130E74AC277F75540C8CADD41EC0183420807D43F5D650E422B6A68C284B7B0C12F0B5DC19EBA5342CFC02C4204AB93C2B5EA5EC2EA1A9CC1C0544542E90261C1977A56C1788832C2F71B2B417AF5874101CE31C13D4C78C24F7564416A659341D73ABA41942B614080631A41E74D09426FDEFEC1FCB7F9C1495226C261B6FBC14D7CC2418731334293C8D5C0DAE7C2C01D9E50C1724D62C0572B4CC0867D1241D8F4EFC1C77DF8C13D2BB641918C9A4223E84342BAA659C1C64BBC41D62DE0403B2F9641F21CA8C1E18818C216C63BC2F5BF60C18B595542575059415008CE405F467BC1B6F315C1D0A5204109347142F1E9E5416D211EC013279B41E4E2ECC1184EA34127AEA4C144B07F421D5B51C1A28012427C43F4C13DCAD741973A27417C9E1441F223E23FD9FA83C21F72C6C16F1CFB4100732E42A1FB664226B45242256D224262522A421FB599C1F7D27DBF0B8C8F415729BC41B94126C2860FE0C1179CE9C16D089B3F551D3AC20B3395C2D82596C2F50022C2D4C651C2682026C1123B31C1A8711CC20F7B86427F75D941616502C23D89C9415BFA7A41517E5541A603324160276A416B3CDEC1FFD09A410B4FC1C15B330A428EAC5342DF1349C127395642396443427F6CA5C24BBA1FC222D78941E9B93DC2C240F6C18844DCC1910639C15AF08CC10A4B9942448ECD42DD7141411FA8E14131A809C2E23CEA403A782341DFAA7842EF205AC27470E241DD365B40A8145E4228797AC21227F9BF37D020426CC295C0178B82C2616C834175BB54C088147841B11A0BC10411E64087198E416D26074248C099C1198C27C2A9F31ABF7472C9C02A1BC9412D0409425D4C12C107E01D42A02288C1F979D9C18D1A1F42980822C16E913EC1F78C5DC2AB6163415D9DC4413ADFBF424BA2BA4016CE3A415E92DFC1DF97AF4066BF16411B7BFB41DA32D9C107421DC2062EDA417B563FC2437783C16B0276C2A3548CC01F144941DFB00A4146190FC1A2274641789DE8BF86928BC0A115B341C91FDAC18125BB41461DCCC1454F00C1AF95F6C161C884C149B088C212032EC2C4591DC2A4EF3FC2BD1A41C174D98DC069835D41310711C2DCC78F419D71C0C190084340E3E23AC2AC95D0C197DD1E429AAA7F410452884249893A42D3E214C1222488C1AE78B6C2D60565C206190F42DFD546C18F95C541E11805C24CCC06C12C3805C0E10D94C04777A7C18410F6419420D141313F90C18F688F40E714A8C1C34F0A41132297C06D9EFDC02F6F843FCB005742210145C177540C42F74B54415B2CF2C11824A04189571AC0CEF0CAC1144EA8C285484E4161C98340F2EEAA419ED95C42F92FD8C1FA2670408F9214C165C017C0937C41C21B8391429F65DBC132253841AE4125C21A7E9E420E521242F12C8AC1B86B9942A0F70D42C91FF941BE444340B6F380412C5408422889384268936EC1D505B141F73FA3C19B2854C07795D94101F3E5BF7FAA254218FA46419E0D304290BE2F421A1641C2EFD8F941DAA5EB418D987C427E668D421CEAC4C20E55C5C1002930411618D24117D096C2501E92412BC92E429764BEC1A63983C13A95BCC0E014A0413CEEE5C268F9D540BE3ED9C16366EE41367E8E4095BF21C207A7B6C19D0066C1B05C6041CDDFABC14D9D234214369DC0EF30A5410B9123C24BC7EAC14CB19E42FF55F940A43F5442D62C1A42DDB56841CE49DDC153452CC1E4AA60C21892B941C38AE4C195F93F42910864C2A67E6E41B6CAD3405CA5B540D1582BC27A9F88C2B1BFDF4234B36E422EFC0E42F87502C29BA07EC1925F9AC29B78B342BE3A12C08D7E90C235BD86419A5738C1C7B73641E8C73541949AAEC1A4F454C215172DC1DFC8034252A899422EFA6F42D94F1E417C2C1AC239DC21C2045309C28C14C441B0C30AC29C4D2D425D4468426F13AFBFC6EA134266C5D04155E05DBD6E2405C2CFC0EAC1FD892EC28D3F9BC1F37023C24217AB3FCE2F9AC12245FDC1F607EEC1AC8CFCC1DF70ED416925A0C129C4CFC17E5C404190BCC2405CC3F1C1B0B15241294689425ACD7B422F7A13429DABADC0223DECC1E8362D41EAF2F8C01037A3417021BDC1078B34416C9386C124FFACC1EA469041A5686AC137B899C2A3779E42FF3D4D421652304203B6E541FAC531C28F5442C1BB413942D0131BC2E6F2DF418C414FC051F20AC22475ACC02705AE41498B8741BAFBFEC02096C0417AA8D6412AD203C1AD4B3E423B423242E71874427093244285B83AC2D7727FC2A9C82041C35304428EAD28C25D530BC2AF86FE41AEDDAE41BBE490C072E5A7BFD4E6BEC197BD30C2A204CE41EB0FB641F1569C4218805C4249F968C2A45EB4401497D2C1A259944220DF85C1BBC100421920EBC00BB32FC2356F81C2B1064D42C93619C2EE753CC2F2E6E440A518BBC0ADDF2E426111EBC1ACC164C2E1A9E540D9FF95BF3185293EDC37E44139995842CCEB2241191CC841A26681C1B7D9EB415C824B400CB81AC20E9728C29C59C7C10B7B66425151C74144C7B0420EB866C13C2B6F421BFD9CC16D6F1E41952CCCC1C4287AC0320EF740A43592C0B1376AC2838CEDC1486A0C43EF9F1AC0068D5942275593C2C8920DC0C06E0AC2FEADB8419BC61C404EFE28C23786183F774739C258C32941A29000C20B9F0D412FD7A93FFB46F1C1468AE741A7625AC17871D1C09F6A47C2F59BB0C1D6791A42E7058D42D7E233C15D2F5C406AC991400FA62B42D0B3C6C08F901941A5A8C341E11AC041D0482442840B3DC28CA583C17F6828C2FCEBE4C168DF1C42D94137C2AEA317C21BABBDC1F28964404161E8C174460642DBC804C26D5276C19B5D1C42F0E568C0F7B681C21AFBD0C2BE5BA5C2588E44C2150504C297B4F2C143255C40C3EA5C42514A3AC2F830BC41F4F5D8C11D8C7DC17357A241C934D740ABF621C1EAADB0C0A677204220BF4742FC2670426B1896C1A77A6042348102416778074258D780C122599241E6356FC1B998704211D8DEC18F01EB4084F3364282680942838C7FC2F7CD26C15FCF86425C269DC1C2F46E42840F77C29DA69D410B8E6C411932BC4176E622C12EADC4C106D614C1DAB229C190A25B40310D2E4201D00EC284BFC5C196ABE541C6A41FC268A28D3FB36E0BC2255963423C962B4236E53642BBEED2C10424DC419B7D2CC1012CFDC0C0588B41014FDBC13C4490428EF8114285059441C70EB541B3D298C2721B60C10ED08DC1FE9275412F711D41A0041440412932C2E8BF8BC18C4319C19F36914135D0C6C17CE6B64129B683C229EA0341F6FF79429BE37641345ACC4111672941C13845C2A392EA40DC48B241294A364100FF0E42DD4991412B4BF041EA1120C28C8EB0BFC3B892BF5ECABBC1079739C2CAA9A1C1F443F241F2C6F240B0282AC294292F416D7D35C2B9AA19C281E4804217107DC1ECEE96C110805242EB2F2C42976749C077413D42E7DFE2C0C7C22EC189ACFFC0B2D186C10D3722C2A1CF9CC1C94B58C1F3EF8642E0B90B41F8982C42E3BB52BFCA87404195272A40AF8781C0EFDC2F413ED7D341B76E5EC216DC72408E28204244BBFA40684647C1E9D70AC2F107964110398F4019B68BC0298AD5C0881B8640E31DFC3E7ED08842AA498BC1D68BBBC127FB98C283BE11410D9216C0230D4A41E571134227B1DA40D0BD31419C3005C1853291C262249CC1C4D67AC252C556429A6AAFC19948B4C1100BA3C12BD08E408E61F73F4935AF40DDCDBAC0E5F1F0C1DDFAF9C1369EB341D58F67BEF4BC5D4143FA8FC1A001B6C177F37A418DC91E421D973041624214C288DE5141A74420425155CB418702C8C124E4BD41DFD211C1A569F5C03DC576428794EB41EDE36A4145ABF63F6269563F200F51C06C2DEBC18F5C13C16E4CED4156608E41EC6624415D7C17C25CB183BF2161D941D60EA8C0950A1B41C43CA541C34C8C4063634DC105964CC27EA051C225371F4292BB3AC2388C8B40C16591C175C386412DC1EC409271A73F8C24054225CA89C1DC8BF641527140425EF609C2ECFC78425A9FC4C16E8BB042F3B02742445533C1A29024C28DAB0A427686F0C10245D1BF6395B9C14B0FBA41FE3125C20668F1C0DEC95F421E5700421D0E92C1C9BCE2415C913E4263017842708F8F4152EB2CC2EA765BC126D18CC1809CC3426F5601C11B4D1441D21092C0F18E5FC25B25AFC12B856D417F120A423AA30EC22CB569427E3EA6C18C5D2B42A0EC34C22A7E54BFDEF503C23FDE38425B01AFC1267963C133FC1D42BB5CFAC16AC8B841878237C2F302054122FED0C1E628A441A76F0D42BDD330C1DC93A14212D64CBFE08329415D7517C14E3859424E5B84C2B7AD9641E3A58DC2A03126C17C9C2D417BFCCC408B4460C22FAE1AC286836B420B32C4421B9686425B7F1842ED52F7C182022AC210EB50414F760342D0EA0EC26D5ACEC0B09D31C2B0DDA441309706C2F5055E41EB194E40DA070BC2F8962C42E21969404139F8BF88C724C2638A09C21D60B5C19EC685C108F03341518F1FC275479141A00200428B8083C19183BB41378573C172175CC2EEE6E1C1DA68A6C0B2697D404590ACC19A4C6CC1CBFE0CC10A0E5040F0F6F840B0A21DC1E9452AC2F3611841241D5440C75CCEC12CE1A241A035FBC1EFF22BC2DDB40A42452293C13A7B24410033D2408A0F9CC01AAA03C17D1941C1F0CBC5C107D568C10D1D5A416C3248408FC74EC1C280C2C02C0401412B3A19421996E9416CC23B42CBF9BA41C33F3B42ED35D33F69573E419A328F4186D8DAC11D7A17C22DB84F4112E48CC078FA27BE4C08AF40510C2742AC110D3F617560C1FFACD0408C2D2341CD3DF0416118E241F8953D42D78C2F426EF1DA419654DA414D194AC2B74426428D3AC74156219E3FB7FF97C0DD5DB64153900542FB43B5C14842C1C1477464BF5FA65EC2840AD941F04CBF3E98BDAE42B2A91C42B58C26C15D114C416801E8403E6B2DC08545F73EB0BD81C1217F0D41D283AE412D06ABC1243452C05E69E7C1CC8771C2B27298C108A62740D56ED941A199F8415B3D1541E46F3142CC4C223FBAD2A64175433DC2DBD0ADC1CE4885C116B80A42C18E90410BF826C17F7643429E918E424BD8204295679CC18B052141A02F4FC188DD3741BC9F60C2BDAD6642DBFABEC268C87F4154C6CB41E27E8DC14568A8C149091C4118951C4228F74AC24AD4D440C3583FC2A84135C1B86867C1677BF1C0727880C1F8E2374259B8D1C1C63818419D488F41EEAA37C2618FB84180C20AC2CEDEB0C17F2692C1186B1142A5F724C2C0A783C14A93D1BF6CCFBEC1115479C244BF0441400E31C2598CA3C15F64134214EE81429CB6EE41DC9F9A419A1D0BC1E453FF4139A4DC4107F482C2D127FFC031C360C1A98E7D40D20F07C28C68E13FB77845C0BAF25F425D91D2C0F60EE6C10245934027DFC9C19ECB6340894409C2496B8FC106243FC266147D4299AAA8420C69D0C128EDE14170AE64C2AF9ADCC1FC3F89423AF984C179D1EB41636D3742972EDDC1D8429041E73BEEC13F12063FC8A3E9416180B3C0940772C24DE148418E064E3E359E16C29AB3A3C142841BC2EF0C62C094EC4F412727A3C11D278FC268C37341F31031C1C3C6FA41457380C18DCB54C1499AA2409D495B42E0989DC1A8C76FC1375FA141EA0BE0407A80D74070132742D4C02AC2D87D653E0334B5424F5C30C149A15AC1C6F5DBC1AFBB4A41C9ED1CC1D9453BC1F6876CC0C034A4C1D2C57AC04851C8410E0428C2FBBE5FC1E6F122C2FD8713C23668F8C1DD66DFC0B15BD73FC6E672402993CE40E66B41BF002C4CC231F3F7C0F83811C1C85506C23C3B67C229D4BC40D719B541DA722941C6BF5742A855244263EA36C1C071974291C96D41384BC4406B9225C1291B7C40D850F5C0794243C189D10741B59A06C1728A31C1B7DB16425BFCED404A698840B9E736C154F31BC22DFD3E4069A0E34193EBC8C1732C2742BB6E6B41F0165BC2DD900E42D578AD42C2AF4342599E1C42B1DDD1BF17B523C05E48B9C17D1AEB41F33C9D417B3BE341FDE3F441D4082A42471E81C2CC1F45C1A824C0C0AB866D4193C6224151283A426081A6415BB4E741FB896B42B483284290AEE04194BC1F4220B130C278F3A941032162411461B54107A9D9C1C6F7C9412A516FC12844EB40A9F510C26A971DC2440064C296DA33C2DBF385418A4E2CC2E4735F42B30825C2B5F4F141434D6841A627CBC183EBF3C1BA288842C40A73428E331D4117BC8AC070AAACC15CE444413B1D8AC2CB8E4BC2B5CA753F2CC9F2C199B26742462C7840300C5240A0C4654151AE42B863C669C1510AC6402870B4C1FAA04EC10DD7B64130DB17BFD2EA41C1A8EBC0C150A8DB4153B5ECC02A5DB34185F269C1A503224124BC1741338D02C2A4FCFC41E4DE1FC2D49B25C1A3F3A8C16C03BBC1FB279041579322C1773F60C2BA033EC2D8916241D5E011C283287AC0059B98C2DCE4F23FE0B1BDC1625A2042629DB2C1CA0942C25BFABCC18834DFC1420B95C158A5D2C089BC0C420DE3D04140C61C42E1D9CBC13E1081C1486781C1110A1741B5E9284163C96141453B36C16846343F1B622042F35E1EC29222CF4198F0F2C0E93673C1C8938C4294BBA342C868CC411274F040036104428D4EB8C0F7E991415A45F5417CD4D6C153EC95C1EFDD9A4065B792415B06BDC1377B2AC1CED078C197B2C53F717D03416C78424132AC024223ABFFC16E19BB41E522BF3F4E05A040BD1A2742162C2EC2B982A442C72FB8C1DCF1574254266CC284AA9740970737C0C7699942687B24C21DF4ABC29ABE2DC2AC6AD1C281E5EA402F5206C0CA5CA042FD62DCBFBC95A24224371CC1270182417EC41DC238649641A43D494273665D41C67E114233B99A41E6D021C2F78391C18892A4405E27E44160BDADC157BDF04163EEE941494812C195FE7140E92A33410D324BC2126396C1CB225AC2D66722C28FC18540781E3A4268E83442F91AA23F6A2BD641589B2341F7FCD141A23980C1809E1E4159377CC25548A5415533D4406572293FC43244C2B6238EC1329402400BAAE2BFBF82F1C0A69508C2DE819FC1AD0560415770D33F95B94B401EF384C10226BEC1EC47D941887E5C41A7266B41DF1AD4C15C4B464176CE3F41D1C393406D890AC1A6F984C1C0FDA4C130C864C19EEE0E406D7F0C425C3D4040D0FFB041383EBB404001E641F1718EBFD4A67841C162A340DCCBC9C1FB53E7C1934375C1AB5A21C0C62F0A42197C97C147D46841723C7541C5DFA0C1A6888AC14E4926C2901625C10131B5C03CF643C07FBB33C1F76271409C05E0C1BA0806C2C3507DC01E495A42EE9039C1A12DDFC1C3D3E1C1BEB47CC1F0C011BF6B146041A43D2642DD93884204A820C267013B4149375DC18A53AE40ADEB5AC2B1C2DC4143A7DB413B3464C25BE4DB40CAB4924247648F41B4E401C25A7AFB41477E1D40286F1942186EADC1BB470E429AD3C1C10566C2417C8B2B4227B78541E571FF41C644BABE97DB87413455424197F79942E3AEF64119392AC2B04385C1AA834CC1D914364292484942D7D813C2927F7AC19D470A41B96C0B4095CA75C0EA279EC1F6762EC27DFD974139A819C27F828EC233C34EC1E44BBFBE1775BA41CEB2AD412FF1C440802101C21B178C42071D3F41D41D97410810A740D5C739C2923782C0E32894418ADA4D415F8488C191FB5DC21113D0C14B324A41CBA301C197DB79C06461A1C10D7417C2A1C03B427308A74163DB23413BA773C2BF965E4219A67A41DA0B0FC1393F0FC242F0F4C07CB58E4277876B4119A817C21D7B8241D7A8844260EB4342E1BC0B424BFF6FC21A3871C21F9D5C4012C9BF420A80ABC25692B4C110D89DC086A128C2AA748642D2B26842233BACC2564194405A1DCEC0F65BF4C1608EFBC17A3B67C2416388C2D5E48A42351BECC1238807C2977D8042253067C0D2B034C2DDA3AE42C5D37BC279EC59C240671942F918C5408F2CFE41DE41A1421048784264FF3A4276655D412F4626C235AEF441FACE8441677251C2C07C27407B6F3EC129484A418A1F314296C793C2B91A39C1763F4442C2F450C2B0EFD7C1CAB6C5C298EC1CC23156F6419127024285719FC1020D7DC221159841469204422CBD73C1DBB2FC409F53ECC152CE4742D07FF041D8A055C28CAEC740D65B304213FA08426D315242B8923DC2DC2A34C26C1BE740D1609242765560C2C42769C1944864C02194D4C147CC5942C7159C41D8A3DB41B9245241457EB241959836C28C6196C2667363C182E59BC2FF179441476945C211A98FC186B987414DAF4F409D361B42223308424C781DC2489D1FC2B7E5A1C00318F4419914B5BFCC0E6042A1FB8542E080244248DA46425C8FEFC116061642B8F74941D9E050C11F45BC41DD512842727F41C0F1051D4162D457C29C0207C17DA208C2657B9D411B8AA1C12AE829400279C0C172D8E1418A13B5C0B1544740BF8ABCC1C645704145A4733F27CD57C29CA4CA41742A80405A727E42EB371941CAF29DC2BE09BCC1B90AC0C19958AD416573FDC0242025C252857141AD72E7C0FCBA61C087821642D78AA1C1CD4CE4C14D7A044198472541841FE7405C9828C210F5A74069243642527518C1C756BA417ECA08C20F6530C1D5F9EA41172E3940570919C26DF2654227A79641380AFB4181F758C2641CD741FFAE27C2CCA2F8C1D8E06742B107A5C1474D1F41AB908DC2E7A630C24C4EA542A9332642AF82D341D6B1D1C0E9D991C051E1FB3EA9AA35411F8D534182EC1F4241D34840537098C228FA91C16EBB31C1C0D7BF3D5B56BF413B8588416117AB4161022B423BA250415D272CC170394BC170864FC2EE4522C1DFCC4B4260B15342CEED7CC2FA7F19C2181F0FC29F6890C1CF5951C16FB067C196FF0AC1392D99C154FDB54122800DC2C93DFDC1D8F45BC11C9ABFC0E307AAC1BEF9A9BFB5A63442ACB311421C8E5DC20A460740637905C192E46EC261872BC08E6B5941CDD8BAC0936B7E42799D08C179674AC206E9CAC197645141977CFFC16CA54D41FB8FB3419D6AF4413A4D6A42F0EC94C1CD81B9C04D753A41960C69C249031941A4D689C1E57E1040C397A1C1C23C014281F3B3C1F5B711C024539EC1C5866041FB81B041B532EFC16B3B81C20A5B92C2FE5B7FC2151A4EC2991725C28ABFCCC14CA94640BE090D42BFD144C2802100C2BEF4B341C9A60C422B5F4E41CF7BA1C16E29A6C0AF1E1442975356C2A616EF4168DF2F42149927C1F9A379429071D23E0121CE4139270442A3EB41C1F55215420F105D4243A84FC1F6291D4073E487C1D0CC76425D6CD441A87F2340C27E1342C0F29F3F13A277416F717BC297A1A34146020FC2842050420BE755C1EF7872BF476644C28D6F05426E0D49415A93AD4182152DC2B0539D40269AEEC164E702C2FEAF13C2233111C2FF7F5F42D29D454249ED3A42143AE9C15DEECF41A3CEFBC1B293C5C16CA3CD414473D6C15EDE754214C99641052B1DC2CD790BC2029A5BC2B5382E41E24CEAC1D4339B41642D1BC05351FCC073516F41AC350CC2345617C2DADE9B41599AC7C061963ABEECB7A13ED74AE3C0066A3D410FA1E0C1D937424170757641A7107641A8D714412D023B41FB40BAC1CCDDBA410D3756C1E3BC53417AB352C03DD621413151AFBFF8CEFEC001DBF7411F93D0C0DC536FC20A2D32C25DC7DCC1B14A94C1FEBBF2C0F897A4C19979B2410DAC35423BB300C00A1C0AC1ED922C41E31821422331A7C0305C5541364E58C1438E05C1555A34410B1136C286ED0FC28FB607404AD21A41D55A8BC05253184298AC66C22B4D7C41E2D2DABFC02956C14E5BE3C119568FC1E9F21C4293B56D421CFE89C182263C41B16759425DBE91413D5A8740C55A81C094A708419E6F3E42229AB6409814B541391A15C2F40F74C1720609C2288B93C1CBD047C1C5DF8B40076A5BC1192A04C21A0A6EC250CDB5C156460C42B0BAD4C1280C26C25AD550C223086242B57DF2C10CEAA441260CC241168F83C1198189C197BEF3414C9093C030C9DE413440D541721947C261286841D13DAFC16E52DA41D90327425BCC0AC265E78D3F1D6C15C2B14DFC410933AAC178B6014134343DC27B1D7242CA4BD342A6DE92C27B76B741C0BEE941FB790DC06E450042CDC965C2BD4204C20E582B41831EA7411123D34101BD4AC29F408BC1E357DE41E8D60342D03E03C2E54D33C2050EB74169746541D9E69441BDD998C1D48C30C19EEF7441B3DCC2419BC1A5C1CB0BA4C1342C8DC0E6AD9541B8933DC18CA857C112ACAEC112A71A4250D9CB42140B16C2B8A7BA3FC3D993C211977F42E6E045C1ACEE16C2E5F521C2EB2748C2860F8042BE1604C2FCCFC2C133810642CF524240B2C42C4262B3B2C1C5A953C2C56BB940F55204C202CBA6419BBCB1C1B40D2741B34B09C059E68FC1AC2AAFC13AFA8FC1B2F079BDD02D13C2A40D8442CEE993C0CB255CC1EFB28C42D71297429421C7C2AB80F341F1A673426C3EA4420FCE4AC1F088F7C0D88DB2409876E14101847941B4937041E8CF5CC21414C8C147DD0C4108DA1BC09C6159C263F4074183460242EF0A1042AAA13942CE5509C1333327418F354CC226F6B2C289A016423BBE8DC2608D2742BFDA17C254DF344281FB3F403409B741D0FC2D4253D59CC00614E5C07C1B92C1F05DFDC2FCDFD241A1F91FC2D5118542C68A1742799850C24869D6C07D360DC24C39024042BCCD41B7884CC2BFDCC8C1A83342C210A112C2B078A3C147ADDCC16B615C42173B994183502F4283B202C286B2A3C238264B40164B3141D3A2E6C1B24D35421CEC81424C3A1DC1D37582410D965D41BF2646418A762FC171E841425F059742416704423AA9F03F2D661BC026A712426213E841F1A31E418CF1424216BA0BC2EA4D3FC25E2ED54108B01F417E3B0BC2D7CFD841816F0A42A648754044DBB4C1D46228C2D067A741B96A9541DF96853FD75EAAC1516F1FC2AD91D44113092A4259B252C28D0699BF534CC241BDFA9B41EB5B0EC2715E0EC179DC50BF2A1248C29A59484199DFE9C0195B1542FA52D54182C0D6C14C288FC1A34CFDC171313B41BB14F7408A9BEFC1A3C978C045129AC0A2388FC1A9BE4AC22C8F24C279631B42EE0C8D40E875514181A163C2381AF1C13E3B81BFC394854230D0DEC0FDE919C220ECA041D4778E41F91F3B41925487C104D8A6C1DCB4F341BB3B68C2C2B4F0C14C15F8C1B9BB1D40FAD14240885462C172090DC24883EC41761B9BC09D433BC14522F141A3550F415E56BF415CFCACBF737A9D426451CE416C90C2C2170D58C1CFCDD4C13F1E18C13D2523C135676BC1FA1918C17025F84171114BC1816972C12E6784413DCCB44177C40AC0278D0DC2CC65E5419373FB400352484186EE94424E5D83406F48C341E02885C29E9A2EC24AE9F341A6772EC1398BD7416F7807C236FA8EC0F5F169416189D2C1DA3FF54024801B41F980A5BF989480C2B0041AC2111787C261B10DC2BE811FC2A1AE18C25D405942CB535842A06FF6C1D8A3F2C175935342083C42C1B17A19C2E8B25E41C58B74C0381112C23B0C42C2C1AF8CC2A94F38407EFBA54079D84841DA4986C254D001C2AEE52EC12F412DC2486FDAC0CB348342873C9CC1136DE73F8F0045C11D6648421A2922415B80B6C1B9223942EA411CC2DEA0FB4016D284C2EF1E3B3FCDB391C1ABE8DD41F1C1E6C1ABAE00C1C68FA1C1404394C1051073C1757AF341FAE79A41049F23C2CB5A7EC2D1C8494272E2EBC1ED702842DB9006C2F1D9D7C02AA4FA41D5895A41DFBECD414C40CCC1444D7441E22B4341822C02C26AF72C41AD0B62418E3F01420FC152C1EE6F8EC1F6D790C1B4D53AC2507A84C15B384FC12F9669C22EEEB5416C4E5EC297AEA8C1384B5D42AAC192C1F67DD63F0DBF59BD7B66B04237B32F42D93AFF40337AACC121E20FC2A7F31EC27CCDB0C1EE9FC84152ED0242234EF441186208C08C28D441633347C2A0E2F241D6FB0042C2F40EC2861608C1453081C1E169614031122A427757B6C13C5597C1716874C24B9FDBC151D1DE41C861C2C15A67A74089B806C25C6815428B750942BF0DA841E70AA541C6B502C13D57EDC1F9E8C4C1E7812CC290932DC26627FBC1EE060C422CEF8840703ABB41EF340DC26D4942BE0853FFC196EA0242524950C16068BC41E15252418B58C44002979BBFA39043C2F2A169417D3FD2C1780E13413FEC9CC121280042B73031C228204E4249F4D8C1F54234C159FB1CC11B1625C2B46535C175EE68C17C1D06421B4E9C41252461425BB5784183A8E841CC14A6400CC98CC28CCB4AC170AA14C2807F0C4233D32B41BF9ED6C188DABBC1C51226425C42ADC112C52D4111A497400ACB32BF992A6541EBF41C4191293DC2EFED2FC29B339EC213F5183F81744C40EA3101C0A3F8EAC127B6EBC1947ACE3ECD9281414FDC0E42F409AFC183DB1442298883C149405FC266434EC0E9344B42C293784109F41842340108C29D4C0EC21E4ADE412D1A56C15F830BC141F38741631BB641BFE8AA41987E21C289D4A7C1F1A47D418BD7C340233C1CC1787D70C162CD59C19C4276C0AB0F05C253AC39429A2539C25CF497C1DB730242199497423F5617411AE209C2156F0342D815AFC002E4A43F8D8F6FC192C71B42C126A042DB72CB418CDFC9C1D441A6C182D754C2783F13C1C9157B41B9C2A6C2095D9EC0DCBF4FC11B5FFAC040EDFB3FEC9534C141A70441AE222342AD7B79C14BE31B41AA237C4154F27642B010CEC0F20A85423B1B20C2FB695642FA2B4341700DD9C00BA3BC41A932C941E50928C26FD022C266A87B4161C4DEC290051FC1B1EABEC0D7AEF041F3EBF3416900F2C1093799C2C3A5FDC1A22D36C2D65F5341E8716042FC482DC2DA4391C101F6AFC1F848A3BEC6A71442BEF0F140F2520B42A93473427586A441B5A1DF41E0FC6041127A09C200CB2242CD58894114D1B64134534BC26863C440DB0E44C2B6770A423B210DC20E28A6C06B1C0F425C9F9E42710AB3C11CF0FA41BCA010C24C390D41A7EAA4416E3E96C253702F42E84453C21C6320C1EB4AF941951D8EC13E3D54C15938264158FDAB3FBDFED7C17D7941C29D219940C722DAC129E6F4C0D8C28341A2F478C29DB933425359C2C1B1D59D413792A2C2EDC8E5C1F9F72442A76E21C20E2DCEC11A912C426602BD40D47C6140FAA224C18A0CD741F5EC8941DF70154240F808C2365CCDC141DABCC132DE9942EBCB0BC1719B2541AC6AA1410F53484221A007C201619EC2D36E303F020B3E42C2A8A0C0EFA713423E2020415A160F4246414FC1223A5AC2C1FFD5C07E651BC239879D41184CB641C81EE7C1ED5F61BF337AAEC1FF031B421EB4B941D7240341B54D32C1149334C2B1B59D41959FD94160C8C941B73ABF41B9AE9741D0630441351F06C2585E15C021712C4027171A4278A0D041B6AE8642593CB442457A70C2586E5A424FACD3414605F3414E59E841EF4659C24A237EC254FC1C42A1C888C16F8259C1104EE240EAF41042CA7CF3C1BBA706C2C60E5440397D1742051CB041E78796C1D28DCAC006C578415215B64155CF8F41B0AD1CC2C7BCC5C072430342CEC93541C9B642C183D30B412BAE14C17FC330C2882171C2127F85C2E6AE1E429DF70742D901B7419CD49E4116613CC22E23104129FA6E42C7E87BC1D624B1C0FB5670426D5D6D407FABCF412EE8D7C1254463C1873E4A423525D4C1FD6034C2BDBCAC41493987C13D914B42FFFB89BF127FBAC1BBCAAE41AE5EE7416CBEE3C14DFD2B41AEB6C03F7139A041A640F441FB83D441A0EB01C03CE91EC23B01B24176E94BC2A3297641C3F5F0C1E4ACC4416A2677C2DEE292C1A1058EC0F82827C2EC5D9CC0B9F0E5C1163E1FC2CC3FBBC06EE43B42DFF409C2A3E21DC28D311E424AC52F41A58A70C1239960C273F479C2B44ED2C168DD9342BCCEF5C0332673C2F07347413A4CD1409FB2D541CB5001C26B55083FBE431DBF44391B4132CBDC40149280C2B8C2A3C14C43B7C293EA2DC2AA2699C1F93A5B40D34D07C2BC4A0CC2832F7E42DBBC4241D86A874117929F40E0792642041905C20A7EA34099C9B0414D3E9C4171A6DA411AF633C23D6427409BFD24C26047C9C1712351C16B83BFC1C2F9A8C1C7FB8AC021685EC0D8DA3AC2FB101C42522716417F400C41B7A29C423255A641309A22C1D0CDB1C2C542B3C2AD34C740B21C8E413B0A41C18B5CE8C17CEAA342075844C1EC838E41CEAD2C4228000FC1093441C294F5B7C245EB40C26B8763417F6EC1407E9CD340DC1D92C1EC5C9FC105EE2D41F70681C1DD0960C2F1E7FE41BAD0A6412256BA41867C0FC2AFF1C0C126EDC4C1926908C25EE6CD418856104076D2B0C0421FDDC078A42EC26BC37142690604C29164D6C0F4FA55419A3F3A42B5B6B9C0F667AEC1D48E9D40B4C8C841FF47D24104E3D4C1D7177A4196D754C23363BD4106F44FC262205AC160E4D1C0E9503841B8F9BDC145629441759B1D41D866C5C1F78C6540DAD5F2C16821C6C1E9321242673489C16AC6E5C06B8EBDC1B247C0C0680A9A41EB2C3E41499D9AC1FFCD0DC1EBCDE2BF611CC841B47DB5C107A634C10761DB41BBBBBBC1FC72654036A39441D3210D42616C7141D230C6C0BB192741ED87A7C1B9029F41E792CF41008175C1A27AB641068B8941971C64C2E9B14540B1E26940321049C154797740A0F12242E17216C1A3C8D2410BCE7541122202C143D5F94154B286C1CCA30941243196C17A448F41D3F0B6C141F82942917549C0311EE9C1855B08C245CC3EC1A8D52242B49C7BC1FD2300C2E3011641ED2DDEC15FACEE41F85B09C2FCF966C2B00803427F381FC21230BE411FA5F8419FAB3BC180B28FC189D597C1F1DEBBC1472D3FC1914B77C12C4A72C00E17CEC160E4BDC10691DBC168121CC263F2D14112CDE83F20C188C0AFC635C1B671BF4147A3F841A45B1C41EB557CC1C3902840458C2B41DEA48AC016694D42BAFFD84152590D42BCFBC6BF7B8C81C1618F50C17C9855C15FBD0F4295E809C236C2BA415E52C6C1C1849641A7471CC2B7F10841460BB2C163699BC10B6EC941125B49C2AA3AB040D49A7FC20F532041A7254BC1142FF341DA75B6C17DD20E42C5604AC2F7077DC17E4B26C2FB3CAA40EA7109423552CEC17E1151C26C96C3C08DADE841128D46C2D4431DC1585753C2511542C2145A26424C4958C106F695C27DDE4E4200654341850D79C028948141B98E104248A74241E33A41425199AFC1BE11F9BF3BE5A7C0A39FBEC1A21B174264E68CC166F37E41474337C192C5B241461C77C28C22B8C19AF620423AADD0C0A94687422099A6C15B93F1C12B955042E7EFEC41692378C0F8FBA5C121600F41581F45C1CE8E8C415B37B641EEB467C29C1512C1DC57D641FC5940C155CB3842460EAEC19768EDC1FBEF64C19EB72FC26E692A4128675DC01A114142CAB5CAC00ACF99417339343FDBB4B2C1DD1F1CBF736294427C23E5C164B908C25C9B3A424AE61142699243C2F33A37413D672CC2969C91416C628AC20850DAC1452482C08FB0FC40F5F3AE41D76D7FC113A863C2FE2D00C268DDE34075F8EBBF33714E41A8330C4286F21E42961682C024D85040D07F8341E151A2C0FD190242736FBC4082990F418C02A0403A411C4299CDEDC13EE4DC411E7A4BC171E6B7416D592BC1A5FE443F8B2D304167F1EA40A5F268C16CF60C40F9F31341F254C94121AD0C4197D40940F850B6C19A95B1C1195B4A42F997B7410DB955C1A7C292404AF07AC18E4D2B41C59212C2FAE4F5414D2516423FA1CE4149DAFFC13EADB6C1A53C5CC1ECD671420B0A18C1F0E9E5416C731AC271D12AC2B30E06414621A5C17898334295BED2C1D8444CC191A812412BDA08C2B321C6C1C6C2DEC0AC4505421569B8413A508742DA000240E38DC54110F8FA4028E5A6C0209B18C2DE2CADC152B00AC219DE5C41A4583842A9C501419A3378C2821C3742205B9EC14EE7EE41040EB0C152D0CDC27A026A412C3B26C2547F19424F4DBFC0ED33BBC0B791D3408A5E08C21E342A41120A0242F4465A42C9CB8E41420B50C1E6A3BFC0B37CC6C017C15D4128D037427CC2ACC1290A894152EC47428B112BC2266AE941BE797541899FA44121A813C2EBFC2AC2B952B2C1CE5B77421D6CDC41E03F4B42D1D23442C9C4E640C0D911425843DAC1C3034342D19DF6C19988984167C444C1E67A6B4112500DC1DE97A1C1956BBB41112DE3C1E13C6AC2684F39403F14593EFD4D7D422FD67641915AE1C1E7074F4274C9ABC11A5F2542213A7340EE0ECCC1FD8964BD956E374085DAA94174D86C4223ABC041DF9B744187215842CEA5723F0BA90542ADB2CCBDC85CC2C1520C6BC2E80C2642A35C14C262B510C1ECF3E541A9198AC1D1379140CB4B704151255D41DCF539C081256542C80516419AFBABC008E760C1915E1FC1CF92283F5E7B3940E3090942AFC37EC2D81C32C0A4D401C13C75C040EFC586C24B1A66C240EDFA417F96B540B91A1740884D9441B7E56E4141CCD841DCA31DC2A1E98BC1EC6C8CC1EAE9E4C06CCB224289151F41337D12C1CFC55EBFA1E0EFC1B605F6405D980E41FC220EC183E981BF7250C1410BA459C1BC38ACC1FDBE4CC2850814C299CD89C1132BC3C109C2A4C1365A5A42364AAA3F0E6BCCC14E0CA5C1FA6135C2177D72C1050E07C2577B2742CEF60DC1500DF741F41572C1B231FAC1C00C0FC2D77677C17161F040705E11C135FBC0404DA637C154269641C45067C1D3D4A5C03117BAC1E6456EC229249741581408407E7A884134D6CEC0F5A602C150A433C2CB750B424D1EE3C0D904BDC11AAAC7402A4AFBC0FEEF404198FDB2C0DF3D0341CBBD78C139DA83C13EE1F941E01A05C2B255EF41026631C2A5943E414BC734C1E12B24C1776EB33F254A4B415E705BC1CFB6A03ED1083FC1F0445341255034420FBEF6BDD96593C12B4F0D42A9E23E40020B99C1DBAC33C22925D9C0096C0EC220552C415FEE284004D184C2A9F599C0C866D23F64B3C540A5EE2541DABBF841B0E688418515B64199293EC1DF5FD6C07FF162C1B1B6B5409AEDED4152819041AE277A412CE36F4022896A410A36CFC183DB3EC119245B41C04306BE397842C24D6902C14A7B2541B55A3CC2C7638AC061668141D17AD641304F9D40B2E63AC26CDB32C17813BBC141CF11424890A54173BB84411CABA8C047FF85C10BF598C19F832F4178A25141F37EBCC1F8CA9D4185F7DF3E88ED874006F407C27B549EC05CCBB7C19607C7401B1F953FA2CB0142AD7DAA4145129D407046BDC12027CE3FCFC03741E62715423E7F9D42F7906741C345334151E8AAC1D56196C130E61342636DF2C1F4D15542037E92C1A8F039402BABB53E941537413B242AC25C28B240DEC2C2400DBB81BE1CF017422CB04942C53D14428D14B93FDC3117C25A0F1742066563C10F2126429CA68141C74794C1602DE2C04C4AAB41444206C22DE279C1733131C1D6F92542F17923C2F2CE94417B8C454105ECCA41FB845CC2EC945942751990C28E4DA441DA47EA410335B941458368C1680DBAC14FCB9A416A1DC5C176C66DC12FF5CEC2637E4AC254492FC028679D41724F6B42A6B63141BEA62FC2B9DB6742EF0007C2371DC741205092C00B2D12C23CC013C27334BAC125FD04C24C7BA63FEFE24742864CBF41C9F8534296F079427E132342A9FA53C211A19E414C8F41C286D8364294DA0F423392BDC02CECCF4195FD58C1E953E64164DF3242DD522D42A61551BF09183D42711116C10E468441C373DEC1BAAEA0429DE235C2476AA941FA19B2412528DFC1E592C2C2CDFEC8C186106AC16DA44A3FEF3C6DC1F8D4C6C0FD3B8DC057A68B401255C841E52D98426903224285BE13C16A16C1C17FA390C15CF1B641BCDC6C42D471CCC1F74AE6415B5A5EC09E75C741441439C16F10A0C1AAB1903FA7767BC2B313B5C021DF25C203F882416423BEC068547BC02AD50EC28E910CC2C602FFC177F50742A4E47841C9CC993EF26AA9C12F65D7407B67E141648F4E4269E01842238CDF4101E91542F3A784C09268CB41FFDFF9C1756B50C17DE5004205AE0142C5DCA9C2946B50C1B01C91C044641CC0491982C10FC83441A06F593F41B671409693F141BFB20542ADE044C0543487C197EA40C1345B72C104367241419E3FC1AD82AF417D335E418D17D73F4A1D0540D5843FC2DAFD47C1E278BEC162E97C41C7F04142B43E1D410EEAAE41A79C4041D16D41C290795A41584BDBC1142D2741D0023441DC27F8BFCDD25FC1B449894034E300416E5A90C04EFE30C22E0B58419D590041D3E85A41F26EA2412C7BA23F8253E540F06EA941CA2B8A4002583C4189897AC1B1D4444220E610429E9B67408194ECC1FE3F1341506C064123F5CCC1D230EEC0AF81E2418F320D4289D805427F8D92C1D51598C2A700EB413F6CDEC0DD08FBC1B62083415079AC3DF0014BC067E754414AE60542B3BD25C2DFDF2DC2527388C14E2D0FC174010641C64003426C5ED5C16B910D42734409C1DC0F0441ADD72DC26305FFC17ED697C1D663A341D6BA28C29843B5C1ED62A54238421B42F6273B427542744234FA1F4024D621C1625426C2918D73C221528F41C405B8C165EBB83F22F65D40CF2EBBC041F6C64113BFC7415F3D06C2EAB52BC26E07FBC1C27404C2AB56C4C0629036C1627874C0CFE7D9C19E9D0D42D795A1C1629434C29F0975C0D757144111C96CC1591C9340617AE6C1050C994084AD71C1373BFDBF648A4F42B9225542565F9241E9F0A7C1161840C26DC6A8C100C0BC405392BB41767FE7415407AEC18389DAC1AD347E4237994A4281C616C246B863C0AADF8B41E3A18E3FFE10B141D2E28BC202CC1AC039058BC2AA2104427800FAC176F480C22F59D54142835A41C673E541D92BDCC077359EBFC2AE91C180F9E240D5842C42861A90BF8EF011428C3B95410BFEB540E303FB41A2F439C2252825428BB74841F8BFDCC1020E1342B16A52411D9B0C41114880429893D9C1ED07B6C103BA42C2ECA45AC1E58DB7C189AF63C2FF9837C2D67F1BC14B85044150E5B3C17A5015C2A7E521427E881AC1116BDAC16B3FA6BF4F3D2FC2E7C6DF412CD2544200FA3641471ADE41084F793EDED8E7410C16DEBF418C6C41224047C27DE36F4129A73841077E8E41920AD1C1A7EFCE40F81633410FCB2C42F60F84C2C362AFC105B279415B682441EEA92C41F4A36FC2A5BF69C2E04FBBC090CE1D42C0D1BDC128ED2FC26FB445423EB3E7C0109C4441B2CDEBC175B533C2AF38CF4121AC8942E13C1A42F98CEE41205ADA41131D5C42D4A30F41CF8B7A421653B4C2B82C4A42A3F57B424CFECDC1D8BC1CC184BB3DC160AE4A42071D3542ADCD3BC242F7AF41FAC41F415C219E403F27B44110FC3EC2591301C0665657C2E3BF793FF9DDE5C1EBF6C7C1099CAA404E3288C149F9ED40410F2EC24A23A9C24A962242F2DB8C4156E122C239AF8AC04BA66A41AB7AA8423747B341BA2A2EC0B2A08BC14B935841C5BEAC42EA3CFAC1AE37D441B1862C411D557A408E6E4F41BFF16CC1D7A98B41157100C1FF2457417D0633C10C4D1CC274CBD8C1DF70A6C1CE365EC182A37FC1ECD597C1C6B93442B1AE0AC01A01DF4134E1B1C135E19DC16B758841A1DFAF41E76467C029946142E4E11142210F9342E489A940E3CD1841F3D732C2A3F4D9413B601D42E9754FC0C291A3C151752B41B134A2419CCD2AC209EA58C2C7E4ACC088AAA7C18CF009417CA7E341E138E54171D47B41B11906C2363888BE0A439BC103D69A418A117CC01F77B2C1844414C2A39F46426C9F11C2300C1BC2D07C61C1BA0CF2C1B7015D41763E94413FEF0D42C1636A41E35BF8C0663F6F41E79A80412AF2E8C0F63E15C28EFCD0BEBCF798C1BA51FF4163EBE241DC75FD4015498341FFA09041371971BFB8406AC0B027F3C1C3E93E42D737BAC244C13742AEA718C149AF86C11C4BFBC1A350C74185F751C060012FC20D0E1742FEDD2F423E4D024230E4A6C1DAD412BFB5E99F41347807C2187C984136D268C2ECD25441471BA5BFE1EB5C4211DEA6C27E1F2F42EB0898421CDE0341A7C5CE416FBBFCC1E62CE1C1C61BF24064C388BF6F14CFC1F31AC040C5476A40FFFA3342C497F5C0D96C6A410E516BC2F5C06D42A905D5408003A7C1C0629642416A953FF577BDC2D565B3419E7B09416310814242350D42794839416BD111424731A5C135BDF441341720C1614F85C1991927C2695E09C24C34D1C1C5912C41165C1A42508456415D390EC221B604C286087D41322C8AC222A5EBC0A58692C26316A24102DC20429D8A3FC04C2CAAC20935BE42880C1C425EAFEE401B71A1424D6330417B4822C0588F8441859A8DC216687442B5CECA41E85AA842355352429DFD46C22CAC97C22C68AD41F7F4F2C189A4BFC0ED4AF9C0A629DBBF365665C2726019422015D7C1690AD940E9FFE6400640EAC1DF35B8BFC44388C29FD585C236903A42A1348A400E4CA6BF8EEF424138221BC175CF0EC14F84F4C1C722DF41CBA69C3FB2D75C3F108DAE41D3EC1FC2190B6742E08F0141BADA5842C66D20C2C8F8C74032744CC167F01242619C0AC277634C4278723DC2FF23EAC123E6284121D13342F553F6C14648E3C1673801C14C41DF411E4A1E41440640C1E8DFF5C1BC0575C2D8094542F917D6C1D96831C1C297E3BF8FC9A4C130B482C12D002F41BCD29741C17857C2F6CDE7C1F996A3411B4EAD412D57C0412D03D041B90F39C2987648426FF0F2C020D92242CA64D1C1015005426F4D73415DBF53C0C1692E421A303D4222B71EC2009ABBC1DC2E98C19E640FC151282841EE2A58C13633A4C173677841C93938C11A785141ECB718C2AC6AA941D5BB68C24CFDB0C18E9C2A407620C142FA51F441C5BB304259F248C0847E4842E1F3C6C0EB9416C058C8B23F98C445C22668EE4103EEC241C88BBCC091607FC2F6EED1C151ABEC3EF55F3EC180F05742A923D641B1293AC2947E4B406EA26C416F1560C17DE2ADC16384F3C136AB87C1F2B69042015F9AC1637B47C16379374280374D41C99CFBC13E7934C1B1B79F411C3BE5C18F9CA4422ED6F7408B99A2427767EBC16BD5CF3F1829D8C115BE0DC197E1E3BFF3DE193E9F32223F5E18E9C13434184226F01F414F9CFBC1F9854242EB4EC44161D5EBC1DD00A940BD0D0241EE5E09C2AC64DCC0A6C6D2C16C48BA41A00DBF4166691C419BD006C2962E48C1BAF0C8C18A5111423F962F42A42D24C2C41898C2A1C845C2CFBE53BFCFCF8442372BF741B2BD7C426563B541C3FF5BC269B03FC163B70FC13B8189C15B700A4213B454C15E1085C1B0B6A1C17A6F8EC10C56C7C0B77306C27EB8AC40992C0A42E90508C1FB9930416D969DC2435580C14B343AC23D0CE7C0723886C2984E894299EE9341E327D540807F3B4112CDAF417A194B42EB7A304233E802416CAB9E41F83D69C1D7C53941FF745F42AC8D99C17931A0C1BFDA44427DBF9FC1ED1683C22DFF0CC266677FC1F4B32BC21E60DAC0AC02434225746FC2222C2F4253C22142431D5D42C86BCAC1E2D8D2C13A07BCC2EF97D24136DDFBC0EA35B440D81F84C00479F83DBE2D1B411A74EF4091FE38C2662CA6C2A65DD5402A6064C21292D3C1868677C1E5E3D53FF87698C16FF7654207AA00C13576B0C1D5DF614126B8924107AD1542A6BD1CC047FAC3C14AA90D40B94DC9416AAA30C2053E8C42769692406F2BB74047C59F402F6EB34182B03EC26CC284C0307F23C0010C15C10EE537C2B42BCDC19EBC18C2AF202942C02D004254F79CC1D4FD8B42091195C178A0E24000411342D3D698C14B31A241569D9040D40E68C19BE8B1415F64F2415B605BC24745C23FD6D509BEF8FAD941DF9170C2410B54413A81A24263823742BF11BE41E7D21C419FF3CA41E0580642CA6753C260F2FDC20027C63F2BE722C262F0BC41F171BD40287A124199F61842FCB3D2414EC46FC1688E17422EA828C258662142EC7E0E42A4998542BA93184280041842F17710419E1B7F4164FB8242740BF9C15C6487C07078C641069C3EC21271BBC24EFCDC4112680842BB142AC1F63C4141D8B27F411C8D4F4139E451C1DB2348C23EFD73C20AE8DC4096B0A241B2A51D42A840C941514C4E41716A89C125FC4E41F2E99A40ED86D941A54D73C2948A72BF722F9AC093F0BEBF9F211EC1551412C17FF8F9C0028823406A44B041D4A6CA3E3DE64AC1C59A974102B0E540E8E6A5400F401541D50B8B4282749E422D1473429113EF41171ED941F2ED1C426CE715C0938719C2ED02C64189014441BB5782C1BCF5D9C183FA6040DF3D0942D0B7FA41B67174C2EE3EE8409A0215425AA255423A430342E8C07E41FF27E3C1CF6A1A427D2F2D41D6DA1042DC811CC2F32D9941127E4640A5849D410234EF4126A48CC2EE784A41A53FA841C07F96C1EA3C04428282B6C103ECC442C9F3ED41CF6F2141618788C2B1C380419929DCC038D20F42128427404732F5C11B78F5409518544224051742B0A2F6C1B548B0C2A0730F42C06249C18F030C425B9D19C269C53AC2E5150642C6189CC0E1FBFAC0F7E2E341D6CA6CBFC82248428CBDC1C2ABED8DC2DE6D7442A6377CC1B2B40C3F92C72CC2C1CDC7C05DAEE9C0743799C1F9B93CBFCE3F24C1560F92414922FB413164924032C42C419ACCCDC1F204AEC15B5B464273AFE1C1ACE413C262A96742DF0244426E8500C1D12C13C1938A9CC2922479427A748841118F3A4283507EC2E1A8E04110B495C19E8646417EDC52C2391B99C1DF94F5C17F3F02C25D2B67421B2276C23EE7CA414B5D7FC2FB8A32C2A20B3641A81CE14107DEB3C06CFB0B401FA2B1C0DED15CC2F7166CC15FD4B2417F2F37424DD43BC27D1AB9C14C8161C2E908B741524C3641FCEE574157D8FCC179A4F9C197F082C1298CD7C048D6B6C116C881C13D4ACE3F6AE9E3C1C7AD22C0DD5D25429A8B1942ED660A42D511AC41183AFC40AB430B42717A7DC28937CDC0E4D097C28F6A4741FE37D1C171DF6841B42027C11D1D35C1B5770AC2E22B6DC15D2B3F422E3447419BCCBDC0044110C2621416424F18B6415D0F81C168681BC21CAA27C2F493DC41E07C914165EF0AC119442FC2DD3A5842138A9241ACFA96BFED3F4EC1A8CFD8C14A29E0C12183F140AE5CED414D784D41D0D430418446CCC1A4C73641202D9FC1730D26C0B3447AC1CBD01942599AF1C17E7C63BD7C0D5F425639FF4194A4C0C2528356C267F5104293501542F92C984259C89BC1063A45C1A4C9F7BF6004B341BDACE3C07D9D47C1E184DAC1F1EBADC175EE6D4156E39041A065B7C11E4199C11CADBFC1CB63C44176089841BF000342BDC4EFC0EBB82C413A0359C219FF97C192CD97C00E6F03C232FCD3C043550D424EFD38C2325A34420CD09E4180205B42602F32427C048BC2C5FE1EC0218791417C7D09429E58EB4035B667C23DFE93C23FB370C13B77B6416863D3409DAA403FD094E9402B066B41145712C202EF3B41446CAFC120C11C420F7705C2F1B493410B9166C0589EED414E5480C2E61285C199A300C2931C76C0E4E9F7411BBEF5413B89DAC12A7AF3C12DFE2CC2808069C18A82244257D189402E52D041C853ED41444287C1DCDB7BC206155142D468C9C1E7F0D0411F8FBE41B7823A4216F5264219461241D00710C2F6F27740054A754287D74341062B2AC152ED2FC2BB4A11C2A45E42C21F825EC17135B3C12950A940A19CB3C0B36644C1E1A82842FF94AEC1D5520542FD8971C1AB043641F48206C220C74BC2D2591842B8ED2D42FAD23E42FEDE84421F2164C1D44D48425C2A0EC22C7668425EB69440F4718BC136686440DF36AF41CDF05CC2E0B43741AB814EC2BECC22BE941183422C35DB4011CEB5C1304FB3C2FE5402C2E845604162A97342A9F48AC1891EA7C17899EEC0FC5393C24E3D6EC2F37998427B184A41EA188F402A570D42325DC4C1647CF7BF87F5D9408DB1184237052F42902834C2B0173C4125958CC0F9DBC240383622C2BD15EEC010663540AF092D421D231442F62902C1DA018CC2A2CF1FC1A5B41742CFC702C2B12547425A35A041E72B8FC25913D84157F901C2C3BA5CC2C7614C42098C48424BC3B0415E1567C2EFC977C0A5EE5A42E09D534217AED540B7B01BC177FE1CC1B2D820C2A6D11D42B4DF21C151CA87418330ACBF3B3E8242A9CD85C2B761C04197692FC15ACDE941A4B9C64142C2D04120F0EAC02B3F87C09605374146BC73C2936E933F13F88C412D962E424A0BAE40CDD60242A2B995C2241FB3410205E140CBAEFE41880C1441079EA1C180E589C2D676CFC14D3F4BC1A259EC40557F95C108AA4D41FC3704C1D8C10C41F1B0384126CA8FC1FA408FC1A72B91401DF4A8C1FFEC68C1BD833DC239242C41367F4E4183955542E24B1A420C632F425C698EC23CDE65C1CA1B6E414ECB6642A256D63F6035AABE21B6BA4128A185C2A3FAF4406D98D3C027EFF241AB9EBAC1DFE45141345ED741A7CB37C0B84A0341729D1742EC930C407FE3D841A5A31EC26B8500C25A02A8BF92A8AEC0B5F55641B50417C1A8DBD841DBA51F418B2D82C253738941D22C91C0F8A6C4C2BFF79B41699017C1BE7D1943AE84B142ED87ACC1D9C700C26E822AC18A378D42C0C960C23C68014197F9E141F40518C22A4231C21CC1434211021F4175D237C2EA51BE4187899940D7F9B5415AE1A1412B3E83C2314760419D6B95C1E4045442E90E96C04BD43242A0958BC0ED4D21401D291EC23753D23F324416429CAD56C2BC85C9C1E01D1FC2863602425096BE403AF619423F5E96C2D0D302406267914173792F414AFB9341E24DA54170DB8F3FEBC1A0C14DD84CC22ABA0D4164D9994287F4DBBB9D5B6B41D5CC39C1EADA7A40A06A8B40AE1B2FC1AA9DAE41B7A500C2D2EDADC1A4FC0AC2BFCA5141E02F9BC197254BC2CAEB8AC05CFC6842970C1942F4EAAC411F290E429A69194187BEAA41152C70427644E0C1F9B10F4211934D42253CB8C1611418C1A5D4D74115FCAA412A14D1C1B78CA43FEFB8C3410226A8C12A58C23FFE290442BF1D8E3DFA0332412AAEB8C2E9FE33C26C74D7C1E84191C13C13524200D216C1296E1841AFFCD240AAABF0BE0DC64B42960470C195FF4DC2D5DCD340A8DE59407F03CD4209ED9A4268A9FAC17A9048427CA9B6BE60989C42CDEF89C2427506410FF4FF4046C96841F36587405ED59EC2B772904067D13DC1DB7A30C23CE9834198D59EC2A9F38BC2AAFDF5BE5391CFC0C9D4084148876AC2B8324642078B484269F93AC0998823411BEA9CC0AAEEEC41CA560042075239C121B8CE4080929DC1F5BA054210C4D14115711941308995C0A61E21426BCC2EC24BBC05C264164BC188A04E41AD6E8AC2889FB84236B0DF40DA4E2D42D7F360424ABD5D42C3453042F5EBD6C20543DCC2A684A4C1EF1DDE40A2F23341E41BC0C065E40F42A327FDC1A899B5C1C5B6764097F88CC0E59DA6C18AA2C53FDEE4064213085F42DFCA7C3E0C598BC041A166C2224338C21DF16BC1199E5DC1BE2164C2CF4B9D42E13EA3C0D9594BC1E34E1242E099184289EFDBC26A4A92C27B3F90C280621942308A34423D2F8A414C03D0C2C786EFC16BBC2642213902C2D2D1BAC16E109742500997409AF826403E3098C192E58540D5D84241FE3428C2B06AF441C3010B4218C29C40125F72C100349D404BA318C2D379CD418EF891407D2CBAC0B5DF91C042312EC00F6C5AC2F8AA0042A7B9A342CCC0DAC0F4FE39BFF293D9429581A642C1783C420B5C8CC2D81814C2B2B699C27C0F63412EA6E2413D13ABC203F11E412A471741DB8C9541E5C14DC18626EE41539BF140A12129C1895C374135D455405F323DC29D5E25426542274188DBB2402465A0C10B00864120DA01C2253A43C178B6D0410CD89C417EB13BC031091B42841A53C20BCE84C11C5A5EC21B4716425FE5AFC1F9D11AC1D0A42AC2205E72BFBE691BC2C30072C1955C58C1DD9CED406030BFC1B41A7EC0F7B67340391C1EC2B8BD5D41D5C613428FD88141673244425BDFF6C09232D6416400BFBE2E3E0442A4FA35C2FF40024255B31FC2C17BAF4120DED5C1F972D2BF061F2B3FADB715C193A314C20ABE46C2A1F513C2A37BD04135E5A44173BF8F418F5D92C180E811C278C8F7414CF890C015F06DC11C2FF93EF2B911C219B61741E33C0AC251E835C18F031642CDF252C23AA6A7C1DBA8B2401E0C0CBFDA6D59421A7714C1EB2991C135804541C5E16EBF1D7414429266FEC0DF8431C068E388C12B5B5F42DC27824230141EC2874C28C256700CC2643FE83E0A9036422B8041C115064D40FC56EDC0DD15D741A89FBE4177BA04C287D345C24ED48841759ECBC1FBC00CC25BFA19C1C7BA5442504D82C1D39E90411E450BC21F343FC186935A41111E6AC1CB2A464188FA1B4106AA934160369F3F35D2ED40D1B9AFC06A5954C27623594291AE3E42DD685A4094E44842F17E46425512904218E6E84141CDA6C022E80641EC80C8417D55C3C1DC900A416A7780C003A2C9C1E3B3A7C18C0E9D4184E6FEC0E6DCD6C0FD5714C2FEAB91C139A11E4269DDEAC14A754741AB50B3C100D1FCC12C427242329A24C2CB24C541680815C2A759B8412E22E541F4A119C14783E541DEBB3FC2A3767A41E2557AC26FDE21C37CB4E1C12EDE32C18469FA42D5B8F8BFD1052FBE07D001C2837E13C21AF38242242383425EC661C2EDB2BBC1BB7E85C11A175741B4308241CFF74DC25EB1DEC10C5358C2B5348DC1CEFF56C2F9DDEDC14CA48EC105945A422A2526C2FB5ED0418F131B413DD33F3E4E6A52C1A0812CC2A6B59A41912C2042CAF85A4282CE92421BD401C15148D44108B59CC1592F4DC160C13842427B37C14F4EBC422E24F2C180B34EC2BB7AD74135ED00C27EA55BC1DC731542411FD1C1A71288C04C1D2DC1550F00C3D4261AC27EF8B2C2D66293C17EC7B242FD22324274200AC225897D4205C489C061795FC2A3DCCEC1B1D25EC05A9013426D401CC20C849AC1D1D4363E72D7664209CC15C0564CACC090325EC2DD2D9CC1DB620D421B9B89C161776BC14AC73F415B027B40397FE341282FA9C0C8A760424D889E41C9608C424798D9C0C3067BC1C8134CC1200B3DC1FCEE3742AE6590424A1583417C09B9409BD05442B30A0FC2AE36DDC1AA6B5D41A73B6AC1CF2AF9C1F5660F42162413C271DB42BF9CBB5B42C1C4CF41BCDDBF4216CBEF41946402C22DCCE04100942CC1AB3E81421DCCB441078723C1574C8741129827C1C22047C1F63579C1F94502425D16EAC160F8CBC19E23103FCC8AB4C1AFE2FC417369FA41C8EF87BFBB0C2340E54746426AEC7CC2BC0B3C42572D8DC1ED9EA3419C642BC092BC19424CB61942A05BA540373C304180F30AC2F1677E42B5B75D42885C39421F5A14C266A29742E27A05C2643AA0C2F8E567C1540FE2C0E0A6BC4144580EC05FA501C2752C5341C7BBBFC11144EBC1F40E18C1EF844D41966A0E425A6E1CBF5F43E4417D14BBC111121B4233B912C2904C2BC267AB9641241749C2F9F62EC2EF2D2E42230D4A42817923421BBB99423984E1BF232E3F422AB93B41DBA329C2D8EB14C29FCEC83FDA0434417F2DD5C0A3D7E84153FC5541ACDCD6410CB47441175C5642EB34CD4169D21FC1C4909C41F282BC40489C2F42518D1B42E3A215422FDAFCC048C9F641CBD71B4107009D414E1F0E411E40994199F685C11B7974C27664FB413CF3D1417E51A5C1D1E46742344A1A420206AE425DEA6541A45388C21BB586C28A7C1A42EED284BFB69234C2D3F530412DEA3DC1A9C85FC1632F5F403B07BC418BA0B2C1C21809C27BE28A41BDEA41C21CA8DC41F76C9CC0CACAF0410616824209908AC0DF00C140B59BEFC0AD7682C1462F11C231DC07C27BD142C2688AD4412AB1E7C1F672954219978E42318D35422C8DC8C1A19A61C1772323C3FD5969426219B3C1D53C68C1AD0636406EE13B415FDB4DC0F66A99C0E615A1C1B55DF7C142CFCD40CAD0E641887AB5C067E536C10B2DA9400DD05F41E25716418C0813C29C903340C9CDA8C1A37306C29E34A342E0E68A424A7899C1F106464182040B41E090FEC01C779442EEE6544242654242F2310642D572BA41B79680C265FBC1C2761745425BB071C2F68B81C1D2E909C24297F33F4359EB412B779DC126455141025A44C2358445C28445A8C0BD807240F8504442D4EC064049030CC257F99DC1BB1C99C046F6C3C1795C7742C04AECC19EB30BC22BEE1742C48582C2669635C269FD75C229BCDFC179AF7C4214C741C1EE6C6A41C43992C2112F5AC2FB9ACAC1C677EDBF80F102C37E30E442A8B14A408EBC38C154D413C2D5C930429B572742623479415770F241084B69C1362FC7C054D657C2D04939C144708942F2DB0E42D70036421029294195FE6BC29AEB2EC2CFEF89402F3002C209B154425D276D4101C16AC17C9EC6422A101241B1A3694258BD75C25B0D9C4017C488C212A33541EAF4A540E8AB9F4153E027C242B773BF2B8BBBC1820992C1E639BE40739B2DC2ED6C8FC20E0A9EC2DFF41CC240410AC26BDD86C0430EE6C1A22AEC41848F8642723476C2D5044F42828664C1EC8AE241F6C4A741EB10C5416509A640FFCD48C0554424C1964DF9C19A39A0C07528AFC1221C06421525694294BA3EC26CC4BA418C00B3C15CD524C119A6F6C1193388416E5E8CC14BEBFE412FC1474282320D42F7DF03C20724DBC18F4421C0087CD3414BAFF1412EE9134238B0D1401DF8744197F7D241BCCD93C0805027C27B958CC0A94AA241FDE9CF41CFEAA04119B925C1C04EC740FABE84C0A66D404185748EC151DAD4C1449C40C1BB74A8C240ABA3406E022BC1A660BEC2EF232342611D26C1402901C221288A42C627E041EB8B04C27ADDFDC14A2F54C23D53C7BFFD0BA1403AA2BB41EA7C2D410598E9417D9BD041B84873C00F78E5C127AF9BC1AD9DDD4118581CC2C4279CC126654A4155D795C2C2C5DAC104639CC1B78176C16E850FC2D544FDC2736A01C306CBB1414F2B7741E60CCCC1AF9587C26277CD42FF6CAEC1F05B01C2963B394291029741D57222C1D2E42C4210F9CD4018F505C1774FD541560F13C2D99B21428C3D67C28D41C9C0528607C2146F7E4133BF69C27D267DC2449D8E42D6BDC340DC099B42FA7D8BC2C2A5ADC1B2ACDE4225D01B42B7F8B342A2D41DC29BB6B041CF1A284139A02041E06BC840F614B641718E10C2966FF4416EFDE041B839BA41CE8F2EC245CA8DC0071885BF707ABDC03CCAAEC1AD8B7941CD51304092C323423CDB29C2EEFC9CC1E1991FC2F748DA41990FCF41A0C610421ED064C2F16590429AAF61419F43674297BE8141F3C00EC335FC78414A6473C22E5C574243408742DD4B95C290A8444232AB2BC2EBF14341AEA97FC2A6EBCE4108CC58423560D84031415AC2AD5131C1BACACD3FE1754442573D42C209D2084146D947C289722942C490D541752F97C14DC633BFE64290C0FBFC6ABF2F9C4642684EFE414D7D4DC195572AC2A74B2AC2DF4E8CC15CE81842095484C1A3356041776F85C140C2EFC0068D84417DF999C144BA50C1E37A33C10CBE224215CDE1411EC1A941251134C2D5013CC210112F42CE271241733ABFC1E3F8A0C227A7E7C1421704C2E9A0E93F5A9C26BF059C0BC10BBE4DC2FEFC5A424FE606421B297EC130A2C0413D68174279EB8F4108ED5DC27E15F4C10412A941B6C319C1A20D0642AFF40C4265693A41D60C4342EA6493C1CAB453418A1ABCC0A904C0414365A4C1D5CC02C15C7354C0EA61AD41C49C1C425C81353FE7B6A7C08E3D21C0C1A4724172DE65419FE787414721ADC1254BAC41060179C1E50E3F42C00022C1197A9CC1A57361C28152604205C32D42ED251942DAB92E4215AF8BC2E6F9D6BF629FE9C1AADE26C12607D841A0425341BAF30E425729C540FF74F140CCF813C2C2B6F3410E8E37C030F71842C82AEFC17D42F4C08C671A42B35AF541C7843040F4BE3F41BF91944128297D424BA52842671246C1C4A45C41FDAB72415C1F35C2B0DA9841A21200C1BE9EE2C186746E4100EB9DC15C78EF41092A2F41F5B689C16C4D1CC263672FC02014CD401C3D6442B6BF014251C0DDC163B68E421CD995C1E8FF674107E18241D12BB5C01F4F41C20CE3AD41D93466C2F6A186C247B31BC2F7AE2AC22282A341B0EB0942113B06C2576B994194CB2EC29B03B64167C1994025DBDC419C0287BF6C6D253FA9E5DF41992561420E85944289799BC2568F7C420B690FC2B4E0AC423A8FF441F3631FC19A9EA9C196651D427E3B6240A240DEC1FF37C641564F8241F40ACBC167BB2A40E9152E42554B12C2F4CEBC41BD7072C270A3A9C1B3A385C0ED2F7A41369F1442C347E54165693141C325D1C0DEDBA841030C19C2962620C1AF4711427B6A29C159F66DC225840BC234DCF741CC4DC542C77914C1A471E042E37427C2B9B214423B4B7E40FE1D5942D2DBBBC2FDBCA6422F710041BBBFD8C17A484A3F4431BD412B2E6141A6DD81419B2A53C0F1D840C0CA671FC20CD210C2CF874941AD0257422560164221C75B4024D084C155220CC2AC2B65C2DAB80AC22123943F8E5A9C421B5F7242EBC20C42A14DAD41C03FAA42CDBCC5C13D600841D41BBD40F34282C23CFD4541BDDF334215C02AC2D2A24EC219738DC1F9B9EB4142FD54413B1D14C128AEADC1FA2389C23BDB8BC1E5F43240E29858C00B580142348372428E879DC1BD090E42D21B24C2AE18AB41D52D6AC28C6A7AC080CA1B42785936C2240E99C1232A5EC2AE1C89C2325172BFCDE53E4144EF38C2702E9B40307F04415D4182C1103B8742254C08C265057C4080BD1CC21DD40B4113E31FC2960B9B42341046C1DCBB0A425013DFC18F6472C220E080C20142EEC12BF782414926A842AB01B9C27D822042268361C2109C1FC14B0B7BC12DACF43D61462F40220EC74155B50642D260E141909979C1A64161C1F062D6409EA1FCC124CC2042B0C4A9C0CDD989C1980D5AC2B562F6418FD9A1C283E3E441D2063D42AC3E44423C3D8941E5C425C1C05449C15FEA214283C03B4218359BC2D1911BBFB0448BC24C4D7142EEC3293FB8C425C1C7F794C1014DC1C1776F9041177A05C2DB5C55C1D158A1C148C263C1238A2F423C93EB41C4C51C42186148424824C341F6A50641159C06C2D59412429CB1BEC02352A7416BF7A53F9C3B5C42E8BB11C16F45EA41A6C08341A8DA9A41D1C05AC1A96C73C1FAB594C0636B41C1754B7AC2AB6691C26CBCF3404FDA6DC24B749442234265C22A4671C2A5194042E4480441FF345AC1AA4560C27AF3833F06F2794200D1ED3ED260C0417EA73A42CEA16CC14EE56E429E0529C170AC88C1BFE86DC112C3A54138CDE841ADCD3AC27DAD3C4252932F4260E2EDC1B8DCC941872989C1BA90CEC06B3A6E41A3B209C27D2748C23A2E94C28E5907C24C24024183FD0241ED3EFEC1B3B827C2C4A15E42DC7452C1F505C9414C6FC0C1B50BA9C24D841CC2C825A8C2AE2B37C16490C3C1CE678841F1119CBE5ACE3641C73D9CC217A5B3416687F3C1FAC25AC10FCA94C17F508341D61345C15D4602C2DA3060402AD524410ACAE5418D8F4141E1203F42C6CCE1C1C8D9BCC1A2A49DC2DBDD1342C0B613C20EF80C41D3B432C27E1AA742EB9EC9C0ECD66BC102B20841198E104244C51D425C140442299FDB424A7CD8C05335884143BA34C2DA6D5541075990C281534AC23F2C8F41C8BA63C2506014BE5D9F17C29DCEDE40EA322DC0B925CEC1F36111C21C14F0C12EDFCF41765C3942AB2A2442FE9671426BEADFC1830E26420DDA29C22B40D3418E87FF400201C94195B90E42437FD1403B7C02C2DE74C1C1804E1042A9B4ADC03FBC81C2F2769E40C6F2EEC1C8B71A41F7BA5EC2E0DE04425D5E4CC13B9A3DC12C2214417B96E4424748FCC1C24E1FC2776BDF40293355C097434C4219D1CD4076738FC16DCBF0C094DD6CC014845A42B6EBAC41AF79A5C1BF54A3C1C282D64130629741C46117C239B9F6C19FD38241D8E71AC2380DDC4132C20BC28BCB19C256E1A24242176E41C0E680C0F7A617C1B02BE3C13A235C424CA517427FF12D42D03AF9C18EF0E9C19DF7F9C0C7FB2C4148183FC22ADA32C08421CA41A429D3417EF3BE41A7A687C1EB4787C02F7F16C1DBA2103E2118F0413571EC4005CC9D4188DF0F42C72BDEC1391C96C190ACDA3DCDF28D41E8D78B417F1740C2366BB8C0FA515A42ADC8C7402911144272645DC23DBEB2C0077C82414D762F41724025417E5DF9C1685117C23F2945C1958F8AC0DFD7F4412C57A5413FBAEFC1D1920342D48E0C4218AEEAC0B67C79416A4AC9C116461CC0A3A3A0C0F0DE8EC11CC82C3FC787BEC196E2784147FF9E411E4FD3C1E8196940A93528418AB8BB41AA5576C2C387C9C2E774E9C1D4E92AC17523E840B5D919C21569D6C11293F13E6EA23AC23352D341467A27421B9280C18CC28AC188E81D42CB3656C0BAF3CAC12FE19942DEAAC141A7E627405D5314C1A61FD6C184320EBFD5994541003914C2654859C17AC7E340D9863C420ADC7B40331C56C1EF5A9A41C77166C0F73820C201DDDB3FCD306A4266CE1EC275495A42F96A0AC2BEBC26C15F00C342926CA5C10659F141A9172E41A4C913BECDC32441E4EB9142D6E14EC2AA8DEDC1D126DC41423F8CC10F9E7441785786C13107F8C152F0FB4088BA15429436DB4104760F42EAB707C1BAE26F4287A15741F444C7C15F62E2C10A8EB6418F01E541DD16FF41A03C644229CC68C268A8B9C1B9C0C0404B855941995112420E4430C250568EC09E84F5C1431D8342260A34C2EB3D66410B6464421CFCE3C19E6680C103B82C41749C60C284AD7E40E32985C2F16495C2D3DE70BF1F8F1542645D51429775794221D72BC06D7389C1A7FCBFC1867ACD4128C9A94127217A41B6C722C273C968C2911F47421A738E4179842CC15168B841BD88CCC11B2299415A3C2C42F5E3B9C15FBD7441D6961341742906C2485D0DC1BB8296C1CDEE81C0CAB66EC14C760242D432D7C17BD3A4412B968BC222A980C2A2058AC21C7F11429185DEC1BFF3AA42B7089AC2B85236C03A0BC541AA08FF3FD71174C09031B2C19DBB044128F204427F048AC10E1051C2B36995404E8557C13AE845411EF36AC2E63D20BFE40E73C1B2C209C18E3ABA4115E28642C1BD824261E30842FCE7BDC0C4193E41BD4AEC41F19729C19EF08CC1F49CA1C2707785C2E638A7C03A481742C8DD3A42F3475AC139108CC12BFF39C132E00A420A93874077438441508F7FC13CFA27C124580CC1BF49F1C1174B05421F2DAFC140114442CDF5024266FEE8C1C46EC942F646DA4008641D42E375D34101503F42173010C28E9B9D4150B562BF037B6AC1A4CCBB41FF902B42478D92427903C941399B3DC238A8B9BF7AC0894147B46642A1493EC1FCCC9D411EE069C2BBF9084207A4F5C173AE1CC2C8FC8341CDF4184221FEBDC024E48E412F7E02C1889F4FC123320AC1699350C23ACFB5416B73B6C1D2AD3D42FBB0EFBF58B37BC09027D6C264A630C000F28941C7CF7CC272F82FC2F9C5854247C6AA41D06D2DC23F2D48C12C2458C2E0395642E060FEC14CB7F441A6FD8DC2685A1EBEEFBDF541D3E2DA41681C7141B9263DC1FC384FC1CC2B1D41E85E37C1FEA515C268C48EC1BDD1A7C1A6EDE7C191BFF0C1BDF5C8C06E6E35C2F69C1142AB4888C26928FA41E0086D41FFD93FC1600A5240E9E0FFC2FE2798C211D5AC4257FA37C281B424425A2667BF367F0E4104E0024202C1B0C28DFD36424AF60FC1C6351C420D81FA41404C82427AE22042DAB73BC05D2A08423BA49E41D45A0F41C40D8C41850050C12704F9BF2AE236C112F00341C6FFF7413BEA2E420FB8E8C05AE49C41A8A7ABC0DFC83741318300C2E59AB2C196C884C27454F040A4F9D9415A3E59C2425C73420C53A7C10219014245A7BBC003E940C237D29D41D86C6C410D730C42E73D8241E53717C2CF1C1D416542FE413B3D8AC1E9689341D2E2254262A1C3C1C2FB23C2A0A11942BE75E3C18EECC442D03CD940D85A2B42C0F6D84032450842917395C1B7F99741E47907C2362655C23F3B1441E42B97405737C4C154BEF3C0D05D9B41507C24C2F2DCC5408D6185C260D508425DB0A6C2E01253424E2759C2EBAAC54128E999C2606156C2C63584C24FB2444211774C3F175325C28413AB4179C7E04136A64242878892C10BEC52C009C74BC19672B141268084400564DD4150EA8DC2B4A230C268D24642EB40C441815FD440B2B8F841AB868841948E7A40A1979C40783732C0D02EB0C1F6FB0CC2DF268D429A0DEFC118CD0B4147C665C15D993A4197E668C2420721C1B648F34115E61DC21F2276C1BD34354142D184C203F3A8C2CFA548C26BF597415ADF8A416BFB68BFD3A37DC23FEF5EC1FCBC45C2460A8E42AE1685C003500B42443518429C45DF4132C4C3C1916EA2C1891B09C23E189EC27C85833E06C602C2AEF44342EAB8F0415BB48B42B48B00405E0588C07983AEC0789298405A20BBC071F1DEC1D5D5B6417AF50442725069416ABD2341C83E7642EE090CC1F2FAD241307707C25D117B408C119C418BAB1D425C5D1A42FBDBEAC102CEBAC149966BC1CD70F1C1FD033D421E84B2C18ADB79419EC884C02B12EEC1B65E42C12CC6C041FCC240426D6E3642E96BCA3F635CF44086E1C1C0B7066041B366ADC1DC5000425ADCB3C1DEDD1D41D8C77A40132F4141D2F8E1C104018D418EA9FE4047A427C29A8E1DC1315A6F41445612C2A7B40E429DEEAEC1784619C2B502C83E4AE9904155BC1BC175EF69C1AD55AFC1807F4FC1CE2AB6414987B1C1A64C5F41C809C24067D315417A9C4BC26A9307421CE180C2E1C1DD41D1809BC1E6BAC940E2F1AE41DD4C54429483DBBF02BB78C1A0D4E2C1A31B72C23F1C07C2CE800BC2AD4D0CC192425AC1D97EC941340115C2E81013406AEBD8C1BA5C13C29DA21741B2EC6DC265CCDBC1F4464A414AB049C2B3C56AC2652C78421FE78042B658E0415C73AD4241C50CC153DE11C2841DC2417697C4C247C39F41DF7605422F334B407D7A3AC1643FB3C1C95FE24152D70842F52B97C1501F4FC15C41B24073934EC0265C5FC1F07872C2B55D3EC11C08B6C14F22BC41E71D93BED80C9EC209E827C1083988C1194A26419E739A40E22554C2830345427E5440C12CA49CC1F063CEC1A9528042518C9B428AAB2E42B11B86C0934C13C2F6ADFA402A25EA42DC7D85403EF311410BD94AC196801940B02C13423017C940A08E2842B1047AC106C7FC417CDADE4193D3043F72B43BC2733AC041610282C21196BBBE98EB5641F0F10B42932A004229EEBE4160403DC2D99144C1B060914253B3B13F92A66141E713A5C26D60C6C1EF805C415ACEB6413F38AA425916FC413AC22E42D421484215FFD4C1868637C16D8927C239A09141C20EFAC1AD063FC1015325417FF1FAC10278574272723642E5BF41424D9CC2C175927CBF6FA210C1ADBD2241A1A3FE419721BC407750FEC009071E415AAA35C237E4F5C123F0B8BF90AEC0C100E04B42B30B8EC2434F4FC2DABCEDC14B381DC2BB12CF42AC0A54417C402AC1E208D7C01F6A82427EE4A7BFFF004541A8F83B414D400C408FE25FC218831EC280B9F9C10BEAFFC1B11C4B42C0EB0D41EBCDB540A5D6F6C196DA15C103E86A41B7F13141072767C2B2ADAAC17BCFA5415CE355C214396240B0BE1F42347A9DBF342F0AC2F86AA3C28BF9B1C181A328C250AEF4C1D0AF5E428F54A9C104A9FDBF1F7F05425A80C6BF1DF18FC18ACC21C15B1E5A41A2D24042FE1E78417100F0C0270D1E42CC9E0442A5D31942B0B34CC2A4DE65BF7D3935C2402A2742615B1441342BE6C109B9ACC106F536C2CC2340C2FAC1A9C15F3A95C10A4D00C2715D4D4203D95542D1528DC21C6EB4BE522397C2734E0DC22E6245420490A241742017C2FECF7D424BAC96BD1403DB4152BCD2C1456E15427147074260DC28C00E8E89C12A8383C158345F41DDEE10C13920B241BF32AFC105565E40C4480E40577000C28C9CA840FF735842D6A54E42A3EE3B41604E37C2B59E85411619CF41D2F39C42C8ECD2C2773974C2FE33F5409FBCDFC1E1DB8FC10C6D1442E06C44C296966340BBA5D14230ACF2C18001D841797A9641170923411C0A56C257E5B8C1B6057EC144DE963F956AEFC1CEB1794064EE2E40F83B984167F8FC419FA809C28FED9140E0FA73C13D17BF41FF0F7BC2D3931541AE401C424E9C5741C04AE3C276E3EDC1CF2F3F426CA6C5417D706842EBCDBDC135373740CA66CA3FAF8902437A6680C1F9D45E415FE140C14B8D3FC2F62F644150CA2BBF51462F41D7FFF9C04BE62EC150C08B41565542C2104BA1C15E840CC2FA1B1241255F91C17790BC40B83124C1EA1E82C1A53F2FC1B226694228D87EC127B7A6420A15BE42EDCAA441E7B36041CC6002C2F1930641FBFDDBC162360CC162E7864299CE3DC2D680A04183F714C1ECE9E0C1553335C23E47814152F09D41507B2AC28CD99F414517E04190D34D4125636AC2E3FB84C2D7D06BC1ADA54DC279D2E9C16D7BF840F69EE5414429B6C1FBDDFE4193C791410F0C04421C7D0D4211A571417167EDC1F4DEA9C1F7BE8641149BEB40B5D4CE415A0631C2E403D8410C7090C16F519442E9563EC2AC35F9C0B7BE27C288FED142BE0506C1B5C038C22F47844151FF2E426AEE96C2A56D074216F64142CEBB7D40C366AC3F2C27A7C200DB94C2CE18604295EEF9412B7352C00DEFDCC1F9E9F9411548A4C11DFDBE40CBEB9DC1905736C250E174414A9293C2998E69C2671A17C2BF0511C2B8CEC441B286CAC175179B41D860A141153518C1415792C09E2972424B708640B41F3642CCB4E8C0FB1E254201748740116E90C1D80E2AC28D080B42776C2242B4CFB2410B0587BFD8DCFBC1C46802C14D0747C1D9761342D3D1D740BFDCA3C18BEA803F65AF6FC22CE6594293AA1C42A4DD7FC2881767429E447DC2B29AD9C15B9393C20A84BE41EC8DCAC00AB0004382AB26C122F182410CA38AC2494A6ABF99F919C279F02B42F4810E416791F9C1837411C2813391BDB654BC413CF76CC10C7101417CDDE0C142D621C021D41D42C4390B41FFAB7DC2E50D3941898FF9412B920DC1E200F741223A7A423E420AC18D6535C1CAE0A2C195D4E9C117B094C264079BC10B51054217A3A541D13703424447FAC1B51F30C2328CD9C12DADCDC10DC3BFC1641753C19F819C41D01647C01169E1C16D8F1542C8D57740AFEE47C112CBE7C1BBCC5BC23FC76742E582D341CE8AE5410AE81CC218822942EADF04422C9501C02F25DEC178636B41BF619041741F0F404A1621C262488441C31EDBC147D8DCC18CC97541B13814C2AF3F4E42448441C1A6E45141D81657C21B7E26C2E16BB341060730C273996542D381394277D2F5C16FFA35428F64AD4050EB8FC1279CB040EC952F410907CBC166F5304216F778C107D5C8410456E9C1CFFD46411032BEC0DF3F4342104BC3409468E6C23D9B20421D30673F75E4E241B2583E41FDA72CC0D91394408EB8A741F46444C251EE11416EC91AC2AB1837C2996EE441AC5D96C11A9380C1B34299C1BB30EC4101BBF4C133F6FFC159B0A6C19CC395C2DC9390C10470564127D32DC2DCDC70426F661CC23765D3C170DB65C1642B49C2538EBE40E454E642C5D3F4C1D0C03CC2F9EE1E42507716C2FD96744203C0B74201A58C4264CC8242D06F28C288549AC239EC114199909040B8D2D7401A0F8541F9058241971513C2684C124152ECD1C1FE7B7BC01F4F0E425E038CC1DBC7C3C114F4ACC212281BC0F4584BC28C6077412D770CC29B2FCCC11481A7C17F76E74117E0F7BF3EC98841C7516640D5F86B421B804BC143BA9DC274363BC1C5A363418ECE5C42AF385C4197DBF341FEC53D41C6790A42B9C74642F90B8EC15ACE3440A234F14000B83D42662D80C06B0FB2C1EE6459400E62F44194234B42E64ADD401FE20D41D6DF7E42DE656BC2479A25412156CFC1BB2ACEC1A69D073F40AC6541A0C5D8404622B8C11140F0C187A263C20B0617C205EC91413E6C91C26FAAAE41333C3FC2035702C27168DE425F89DF412650D1BF9DFE0A4225FE3FC19E5041429E082F42F3BBE8414173C040495D5042453F2741959573C27CDF554279CC65C14330B04259FD8242076108C234041DC21DBAFA4149480DC2F21DF0C149A574C1BAE9D9C192B42E413AEE0942583D2C42EBCC9841B95801C203FA0BC2D7040B427183D0C104F8EB41EA118AC218AB8841458625C243266B42C8714BC2503391C18890BBC1F2089C41FD1448C288A70DC2801789C2CC438CC176838841D54F6EC10262CE41B77F22C2D7EA35C2A58F2342A32FB2C111099BC2983A964293588742C1B0DCC1FA59D141411803C25C10E6C10ACE5842EB3D4741F96CA940CC82AB419519A4C1430E793F3EE1864249FA49C227796A4137164541A1F960C1AFFE8EC08B7257C1642A5541EF400B42B53A1DC1EEEB81410534CE42638EBE3F1F5CF44124BF93C2B57D8C4000B363C1A7AD3BC253E3D24187B846C2386873C1174C90C170B6EC41F86023C108F690C1DB31E441281985C1A74427C263A01E42BAB14C421DFF1942ED1E27420B33BAC2C3DA9C41A4C60CC2F63E9842E25712C2C58B65C142FBED4116191DC1D1F14AC17F6D1941BFA751C15BEE04C285BD37C07F5FBEC121E37241DF27B9414FA8E3C0056121C0FC8D09C2026F1142F8168540B7F08D4295C962BE13FEFE41582A56C21E640D42069691C19F639442526E15426ECAAE4183A2B942CE1A6F42D52BA83FC05315C2C61F384212022FC27FF201C0CFEBD940EB998E4181A8B33EB64D09C2C99A434100925F428DC56E41B671E9C1346517BFA65AAC413089F741440F0042E51A41C230D5A74117FD6B41CA66F3C1DF6C3A3F86FA66C07F5EBA40691E7AC2973136427A1B48C27B6A96C17E29D7BFA285D7C13812B6414E8C5540C73D9CC196E21FC202FD55C031EA2CC2F1496942DD9739C0D99A88413ECD3FC2B2A030C2808B6642D76C08425409B3C11C9DE4406A0AD8410EBF0041181385C1B4F781C2228994C00A0B7BC1CB461442606EDE41AFED12C10ABF164109537BC2C9AF45C21A361541F22D0BC1ED1792421F7094C2B1AA63C1DF9362C257FA2E427F5BA341290A47414AF869C1C5CB4142C5198DC26044974138B96FC1058A8FC0AC83E0C1E57273C2224EB940207DC542AC6C92418A8A0E4284CA7DC2353C19C2ACEB09BF35A887C00DE86A417F1C03C2FCD6CE3E6E2CBB402150494202B962C025EDCDC1C59B49421D411CC24FF6F4C1F28059C2EEC182C1CB121142925DCF4245D7D7C15679B841E3D7D3C1A99D1E42BDB35AC2FA5EB94099181C423234BBC1865E8D3F38F4FA41DD5B42C1F6D71540832D73416B92D0416C6F4B41BBE6B4405808BCC295A61FC21304E3C12710A841A16B1842FEF70041BA5636402B035042CBE5B1C1FAEA2D425F0511C2D75A1041B21076C26F491BC25240FD4146E25842F7235841D7050A42D07081C1AF6C30C20A894542B4F0BF41D97930407EBC35411113EFC18917A5C10B1CDC4033AFF54170C833417D3025C01AA8CBC002DFF4C01010964107FDBDC09D49054279FC65C210A1A4411A011A42F17A7BBFDF531BC2C0A891C1B75E2A42E68CE44140E792C004A5BFC25ECE75C2FE58B7C292178FC102B635428EF939C1E4E2D3C1F47E0CC108D31542000E5E4170DF164170ACF641967207C29FA710C250992FC29FAB30C2A26457C20F3DF93FCF17ADC09B3B47413B85C1C1C5B54DC0E66F1BC2E1F0EEBFC8EE52413ACF97C1A1A129C07A6D58C0A59440414334C2419B5370C29C45C3C122F981C1033D41C187CB4342BB1FB0C0611867C19B391C420A164BC1D4DA854050A61A425888AD41390615C1FF4A56C1D764224184AF8342C919CE4154BE534270E546C1FEA44E413E070DC21910E9C0635BBA419CA9A2C1CF5F72411AE1714040402E42DEA06F411F2A15C252ED0FC142182142213A7041988993420520264247374D41D556D9C166A087C27A1E87415AEF544085BE8541A10BE941FD1509C214F4ADC24D2B224133565241D4591BC1EA4EBBC116762EC0D37715C231839AC1997B0AC23CA8AEC135A52D42957E84C1FBC3924206BB3F40668E18C15085C4413F9C7342F856A3C1E1B0CD4174B5D2403D123EC1D6E797C2BFCB2A410FDFB2C1A60C3242BB7855C01359B7412C9C49C1ECD8F5C1E3A339C2047D0DC2D8EA2ABF97AEF040BA6F46C1A6C386C107A921C214D29641E796644280B5D2414C952E41F229CAC183F127C2131B78C0D95E7CC17116FE40C8038AC0DED7E441257FB1C1F34703C1EADEA1C1388F204061363342B9608CC176D5B841106DE3C1B3E3D7C1AD2B1F4239622D42DBF60E4239514342FA1EB6C2EEC41B42C2A20BBF1351133FC18A41C0F7EE31C246FE91C03D36E2C107F884BE007506C27F5B0FC12F876642C1843A40AA2BD6C11CD8DBC1829058C2D21D3A423768F740877B3E3E4E16B8C161244E42E16A4A42CD71824147A246413A83BA413B3D02C110D423C2006B05424524C7C162706EC1998FCEC1920D2742C42CE9BFE88A6342F9B081C0A4239EC133F710C2FF5257C10EF8B0BE8F4E70C221956B4280FB9142CF91EBC0EBEE59C2C55303C1F22C3DC239E89A4042C1F6C12AD199C1A71305423648E63E211D0042AADE26C02CC1ED418CCA2A40ED7EFA40B2633541304321421BAC3F41C9541F4177AAE1414C8244C2FA09E43F2946CE41396D10C2DE30CAC020D5CAC1F0DB3BC2F4A3E941E9ED33C182FB8A411419FBC168E74C41FB2505C2F882B7C1D9E3A2428A7E0D428617BCC0587D5CC0953B9BC16E7C4C428A7B5642B562CB414A8B0EC2774E42C12FC2CF41B385DCC0D0AA2941AC5B20C202C248C2E7E02DC2BD8CB1C2BD9CACC1A52F2DC2E38892BFCA47B1C1C7065E4169C71E3F28BA98C1269019C2F2210242DC08B1C1D5CD08C26A883E429DC86741419205C2B40C93C1BEAB7CC23A1114C1C2A90DC2DB90A43FEC03B5C1A302C7C19DAE25C24ADBA4C10FA23EC2E11B1141211C43C22601C1C0C5B5C8C0F09091421AAE4842355310C0BA94C5423D5C7342AC348941A878E54173EEA44176933EC2A017D3410FFAE941C54CF8C12A3674409425C3C1CFCF1141AB2100C21CC4F4C0573E4A415104D2415BD59241738CE3C16A171142B6B1DDC182E5B2C181BC40415B8DC8C121B742BFF3E533420376F3414924B1414B75FBC17AB08B42EE788C403C4723C2B128F6C10AA1ADC2568DEC40A70793C230E51542B7199C41214D8842160F9B4185873F41B87660C2CE2196C04A8C2F3F9A35CEC18A4821C015CEEE417C4CB7BE6B3FB2421E2F663F694D5141EFF3E8406B9709C11F8F96C106E7454207779BC1F35A0D421C8408423A2F27C22CC46FC219C6DC416E9D82C1C0621442C6C6AAC1D0F51FC294E545C19CC458C2984F20C219DADFC0D48E9C40806C2C41103B9D4159E490C14C22D1BFF5CF3CC1081BDAC0A4025340A7FD0EC2642482C014569441202207420034E2C079379442718F9A4105916E42D469EAC15FC7EDC1CFF515C0011C0740A3D03342374CC441108E5BC131A805C260F890418C270442CCBF2842D6EBAE41A6716DC10E03A5C117DB19C20A2590C17801834175276E42313543422587C340C84CD140541665C0A7F007402970A7C129850542046980C1C4D231C2A66B57BE0C8020428FCA7B4275F4194152A518425EE527C185E61741153392C1AB674742421049C272E7FF3F15D7954042F9CB4102C58BC19F92E941868F2E41283A62C2867039C2672C42C2AB0135C213BC0B42297ADFC06B17A042C2422F422D0091C104D716424168A24191728ABF7DDF0142D4867AC20443164156805D42B1AFA9C1DFB1E4C056092D4278FA2DC1A7E41B4231356DC1E60E05C180C5F9C17B2603424882B6403B6785C073D701BDAF8194C19EF92EC13D6D9AC0CE86B34115526D403513B8C0C4EA36C20BF10EC2FF3A0BC1D094BAC12924AC42689B70C165FFBA417E2ED6C1CA8D0940154225C2A9FF79C12BCCE6400B516FC1ECFAABC1D85B19C2BC88234117F9AF41E7ECBB402BF6374231AAE3C08E27A141FC63FA41D09A944197B078C131E18EC115FF40C2624BBFC17DC733C2646353403748D2414FA51EC17344E7C0160BFBC1998329400C9010C20A6C38C24BE67FBF885AA841F6B810C2420D5A42A5B039410C4705C1F4B28B41F4FA9AC126F95B40B0C70AC07D9A4F40C924E141FA04044202015841634D8A40F8AE4CC1DB8DA2419EE265C0CF4DF9411FF190C16BD7EEC0B85CD641E2D037423B9EB84066B78D418CFE0E412F3010426F9B1AC107252DC22CCE59C02B4950BF1EB65041CCF9C641313A84C26FA998417E2D90C108640741F24DE3C149A2A0C134D99241F7CCCBBFE31A76C230105BC2E37352C2795510C2069884C1FD2729C1ADB82CC2F25630C16B8C1241C0E2C1C1DFF2C7C1FAE769418C0D23C2B8294DC26DF117C1E36BBBC00B6C9C4146D01E42D17A91414BA3F941977CB0C1DCC04CC2250F7AC2F4F831C100EF5B42F294F0C14287283FA6C19C420634D9C16DAF2A419196853F2E100842858772C0BC6D3E42CFDC7442752BD6C1EB8B6E4253E180C22D3454C02B057941A8C60FC2B5718A41C26D8341A55D2BC16C3C8442A99D15425B0F8CC21659FB40F99C74C1093383416A487941D7D20DC1AEDD11C0D18470C158A68CC1693D76423F1A0FC20829A3411AE35E4276891DC293CF364006325BC1F21087404C9AB74000E3D640E20B1142E9C22DC2911AA53FC455054039FB55C1E5E960C1492E5B4191878641B0BEC6C18ADC6A428FE5BDC0F4CD48C23486654172408241A6BEB2C138202F409FDB5BC2E6654A41E0177942F98724403951BB4231C32241672203C205C5854158F62241E50620C268A7294203FA0D42C2D1A04179F633C1E57E47C2A26154C20B7E1DC152A21DBF896331C2437DD2412E5F81C1842675C18E1772424292EFC16398B1C0C66E2D4212A13E3E901875C02D558DC17F240C4213842C41F0CCE641ABAC54C185CAC2C0EFF8E2C18A527EC1251A0B42C8B78B3F1D7A904142E501C2BFD61742C40A57C24AEAD1416C72E3C0F7326B41BA7E27C17FD0803FB8341A4270A550C098CC22C23D9EFAC1105937424F495841DB5E22C15770AFC16B4692C1E9C97440ADDE0942824979418F2698C1FF2190C10F40A5C2D87C68417FF8C341783400C0A8F9AD3F97872BC22A6551C2B8BB90C2ABBBAFC231E5454266E4A241E3603CC05007613ED7083542A138AA4040FE30C217628B41840A2D41E65DB3C1F711CD40A9F701428F4A46C16E80F0416F7101C2161841C2F22D1742F805CE411A8D4841972A53C1682C0E42D6C13CC220330842F8F45AC28CD46A425852D6C145BA50C2114E8D41856793C1BA8A41411322F3C1009639C22EB6AD41CE2D6C422B6253C0A8999E41382F81C1E0D7094156EE84BF5683A1C126FF21429AEB79C170F7684127A6A84066BC084193305B41DBC979C27BECCFC18A0B07400F4811C1F01B86C009F49541737D09C2035772C1651C4EC2C8294442D4CD0C427499D9C1394DC3C0DC8C1E4122ECA9C0324953C1765101C2A93989C1E5C77341EF938441C7EFFEC01D1323C2AE75C5C0A2513AC135665A41A1DFD540DBA162C11AF205C20B9856C188A41F40AD84AA41477FB74199B95241FF055A419BB6DFC1F97BB940013DDAC1C9D9DC418225B4C1925DCCC0626EC941557FE840FACD1E40C90619C26218C7C1FAD299C25548B7C2F34F5E413714F1C1123819C2A0ECDA411AE223C24D6B1FC20E7C1842B38B5D42284F27423656F4C1B9EEBC418BCD87C1FBA4FF41DEF432422CB51CC2518E58410EB14D41EF264041722ADD41304300C280F5FEC1B95FB14008419D41715BF6C18C96FEC017DB013F360B40C22689D94112DB0A4228535242E6B334428CA7A8C126E2224299BCA5C24BB01BC2A8E0354281CC9841700DD94141550342507ED6C10C3AB541551A7A414C0288C0583508C287058DC1E827F33FA33E4641D3FB0F423FF8194288FE30429C230C4185505E41B04AB5C134418641BEC9A0416DE30441E9C5A9BF92A846C1EC409441C43B07C1FB33BDC2CC3A9FC231F47EC200368EC2C2BE9A410C67D2C123CAA3C2E3EE2F422677BB41907671C23B58124286EC8442B939E9C03FB493C177B86D42EC7E5FC1949BCAC18738AAC0066A99C10091CE4121F28D413FEE4C42A1DF05422DEE4141644DEDC1CA441642AEF3E7C16F9B01C2FC938AB93C77C7C0132A64BF8C5D1C420DD0254202D69441126A8F42717D26C24F11804241A7ADC2A6F38F41BA2740C1D7034A411CA1963FC8BC0B42D7B4ABC16B9E24C25A5DBABF527F0342D3BCEE40BB80D6C0CC865CC18E74DAC168F2F8C11B0969413E35583FD19F6A424CA07EC2F9F752423C2E14C29F8612424F9619C24BF201428E49DA3FC25BAB4182D4803F97B552C20BA42041D9F852C2495E91C24909CFC14D5656C2FDAFDD400D1627414327DD411A1583C256C22342467143C1F1325B421989734023AFA04102FD0642ABFE8F41096D2142AF0A5C40EC50ACC1461807C20B03ABC163841F429BE98A411F542041416942418704A1C1068BCFC19FD00842E15D9441CAEE53C127E4DEC0A11806413E722542AD3CA541B9774FC1E6E753407F7E3EC203726840B1B1AAC10FC774C11A3293C1993967406143EA41EE28F3C14458A7C1759B634110E946411E11A5C0CBD7B541CFC17241059228419C03C941EE6437C1383632C101A021C241D84541D7F568C1BF761041B5F073413020234268E19041A6782CC23EB018C222EF6B42B5BAC0406F319CC2C49AA4C127790AC2F2C904426E03DC418C51D2C00330CFC18363C7C010B7304279426CC2095EF741F0EFE1411C3AF1BFC6133A409236DBC0830B044263B8A4416CFCA241DADAE54145BF91C12B4A87411541AFC005F79AC128A681416859C540527903C2ECE0B83F32E27FC1E4C6A5C1317C99C2F7C3D7C1E50E03C2A123A2414C038DC11306C441B2BAD941CB2A09C26DB6BD41981AECC1383A0541F02548C199F11F4212CFD9BF7A448BBFBB446B3DAC28C6C1B795B3C11EE8FB402E448940B3B3004281C4EDBFAB9018C1124A8FC1DFB735C2E14F12C10FA8C6C1DDB4FAC06A9B0D411EDF67C15330F3C1BDC20441FEF14442ACC70A42813B4FC171A086C2EE3E23C1855E51428806BA40AA9E01C23982C1C02BBD9FC1AFE0304214265440C55F29C1E5852942A6DB9F40A9FFBCC17BA70BC2D2EEAB41920C18C1A0C039C136C50D41D925D04112448441C05784C1E39481C1B5B910C26370A340AF139B41BB981F425AA82AC2297417C21828A041552842422E302CC21FF71AC2441EB34239352E4244AC2B42FDCDC3C14FC907BE56220E42AD2FB642DB51FA4004ACC54006584CC25D6A3A40050BE640904908BFB2F97840FFFEB6C1A9BC02C2F2F31A4027149A410963FB415E325741F1CEA4C0FB48C34189EC3D41F6C22142C74F9EC168B5D3C11BB6B741B0CB85C06D7B8B425CD9C541D7FF9F3F21AF994027FEA0C258B2DFC113FE98C1E5C5194233B58F423052B4C1CBF359C22C06ECC1C75ABF41648F94C27F9770C124E7A7C116688440569E564243860C42987309C2408087C1CE5069422D6787410059D6419AB535412F5789C2207D3A4270D41340C7CA81C17AA065C2C2B8A13D0CD68C418A8462BFA154ADC22253C2408173C94151ECD7C1CD5C5EC2473599412DFDC9C128352C42559043C2A0B410419B6151C23C573B42117C9C4034F2A14193A102C2F9787842F22610C08D3845C2F52426C2243DC2C1CD0ACA414DA0B5419885D3410F1E1EC180FE86C1867AC3C1AE612FC045A960C25EFEFC3F381129421036F641EA4A51C1D0D9BA3E1F4449423EC1CD41547E9E420A120AC0FC56E3413350D1C158CC1E42355F3FC23D22EF405DF8EA3F3C0D044193F5A5C0803207C226120EC2F6F135424A990141623A7340336A95415323AB4133463F41E76F2642AA0C8DC110A09A412EFCD0C2FCCBACC11EDEE9C1368AF6C0A9796041682255424281594168039341D55B87C2A36B56C22C856DC085A007C1B301CAC16309DAC1DF7911C2DB38AAC0888198415F37C7C10B1DFDC172B706C28C174B42AE61564239D74C41BC7C63C1664CF13F96F6884127A31E428A07EA40A7CFC940C96875C16B69A0BF81B5B240BF483541FDD50FC2CCF9C141F0075CC052A22841AF93BEC01036824277843CC2C100B4C160010C42DD5D1C42C88B80427B708C41B33E30424725F4C1D3DB2442BB5683C2411B34C27243BEBF9C46A941B3A927C290DD03C26CE3834174E957C1090CD9405515F8C19CC98CC117FA384101291F42E2D2F8C14935BE3C6399A3C110DA833FEA7A32424DDBB7BE87B8CEC13655BD4111D9DF41F4EBE7C1522C8D4145216BC27BFCA8410C79C5C1D614D2C16B06CC41256113C12176C3412336D841A7AAC5C2838E604270404CC24FB5C940D72A8841B609C6C0194E5E41477EC6410100AC41E54010C2BFE1E6404EF22FC16A2939C107D04EC14E6C7C41928FB841E02A87BD41E108C16AA9E3407888B8C1AFA5A1C16D867C4251E98C4286623D4102F406C29516B9C184ED08412DC8C042990BA040E34C4642437A56C1B43B9B423187F1C141D983C27271D3417FEA28C25C1C21C23D2AEBC1788CECC08775FF41EC079E4170D0A2C1B7281B42631750C1E3C38441099E08C12C58FAC12B0AA34062C194C1F67D6941F0E948C038C4DDC173DF56C0CBFECDC0B558A5C0BAD81F4258E95EC269C23141A23A08C14E8225C23CD05741396905C2093EFB41969E414037869AC275C932C27491F5C166D989C2B55AA142380CC641008DF741733316C21CAFAE4134B40B4221EA69C1F3819740E55D16427B49C0C0B0F219421AC237C29AEC5B422212DAC1CF8FD6418B13B040AF944542B4B29DC0BFACD241BBB2DCC18B86D7C1F745C1411392C042A787E242CED50E4140C238421A52B4C1CFA79CC0FA586541CE39B9C2E91127428FC61B3F5BA303426412F1C1CD79C6C187C67140A3320FC2EFAF96C1550B1FC2853F93C1E4EAC7C0A612154164779F41ABDC24C2AD651942D0E666417E8407BF0A686240BF6ED641008106C06730504124484AC2993B76C2C23FB9403D00AD41845DC7C198C93F413E068DC11B294A41E44F0FC2C9CA11C16F29A1C1AD0B0EC033E0CC41DF5AF3417E92D2408F2105C1860944C0881126C147FEE4C0DD3B1942D29700422F464E423151A3418E4930406123E4C1000400BFEBFF1EC2B744AA4125AF92C137DD9841729EC7BFEE1A703F610018C2FEEE8B42B7E89B4216A57A4118C311C277779DC146FD09C239C7D4C016534D41BE4080C0A0AD5342A84422408F0D23424AAB9BC1539318C1F76FF2C0B80A30C1EBED80C03B57AF40E8F7F4C0BEA3E5C18923114269F9864111E63242F97F43C26CE0A4C15818EDC174492341A4C018417ACA44420A34A6BF70694E41AE850C429B1AA0416D80D7C2684C76BF5F7AC5C04D1325C0753CABC11F148AC10D22454184A66A42DB6C6B42C02AAC3F254E2DC2D73D51C2A10DA8BF7650B6C1CA96E4C1FD0ED840B58932408B7482410E0E5042AA76254242498741DA348A3E5E8FCAC12EC0924154E15A40CD8040424BDDECC0EF517CC1CFFE12C2BB7FACC0C90614421A2A844291D01842E16D01C2C2BD6DC131878E42550791C0D3E8F7C1C2596242A84337C3F2A9C142A75086C2206BCFC1F3433EC2B21502C24B8194418BCA40418082DB412F6330C2D95262C2FB0FE3C1F4708841DD9252BE3F0B00424080A0403A24B4C1E44FCE417AFFAF3DB4475CC13B35CAC1183CA5423CDB08416418B742F3890EC24CDE9AC2BB8191C29920C4415FD01EC2431A16C23F7D33BE44F63A4224F92541D0A1983F79AC52C204A781C20A919042A07DC6C1EF8D84C1AE970042E9C24F424FD1C441F2E16CC11DC94041E66D924140A532C1327B38C146A41C425B1397C2DFAF8E428E8539C1794010C2622402C223EBD9412F8DF941AE520A40EEAC83C1F4087F424777D1427F4B743F7A2417C20A4835C238552CC2F9D97F429FFD27C11D8FBBC28A7430C01CBC8CC114BD554137231E42D3E1A53FF505A44198B62742D53423C1A0A4C8C1016C11C23E0782C1C4D856C221D102C14C799AC12C80C9C17F74C541A3E300C2BD935BC210907C42DAB2E0BD24CD3F42422E7EC217146CC2AEE11641E4CA5D423C48ACC1CD51714125F5F8C193238842328A20C2F5846742891741C2E7FDAA4185883141070889423EF39340E952F940ED2C92C13D822442E61B05C2DC200041CCD0F040B4D3D24138A0DDC17F0C8AC209D589C2CEDDE6403627EE3F10AD6F41C341B7C2CEC23C429D288DC2CF720DC2E3412C41131A0DC177E248C1C9A63642A8C78B4232A67742A0C3C841D579DA41D11067C231E80241AECDD1C1AEC6674244A139C23CCB4D42A6884DC253A70DC13F83593E2DA02B4277C045C2D2550641C8978342FA93AC4202554E41F351A7C01B508CC29B818841247C20C211FC7C41F2FD3BC2EA18154298229AC1A48030414BBA61C24979C940F851203F69FBCE41A280D3415B17A73FC97391BDCEB392C133F31DC2A0816A41606CCDC19CFC97415FE02042787558BFFEFFDAC10EE01BC1C331C541A944CAC1B604AEC1E438EF3F9B0BBBC2D8AFE9C0ED81F941805C4D42500AA8C1369E03C1B91B6AC2C34CECBF879A1E42EB501F4131C88EC104CE55C0B6E596C2F544114238B331429940D04164015D41DC070742DCC533C24662774158C25CC224565C40E538D04197AEB6416A10A4417DB37941CAB2D0C1AC5813C196EC05C231E638409010B541F5CF9E4146929A42456C49C046743742586EA6C1AD3D6EC17DC9CE40835C7941B8E2084272830042E1BC81C1976C08C2D3BB8B4175A797418A6BBDC0D78287C2791634419881764203A6DF41859A1F40E18262422FDAD3C14CFD8342E716FDC1AEED2442056231C242F48242972BC141C09D68415831EEC14CE389417E3485410FBBB24156A25EC1B110914002B8044009BB66BFEA09DDC14D8D3842FAD5D4C19A23A64117EFF1412AD788C10C3F51C20D4ED7C15003AEC1901538426E6D8942E7FA9D421F470041A396494247AC63C25F1B2A4088E2BCC190D2C8C107B996C1716E1B424952D9C15436A74012006BC16ACF4EC1B7AED3C14FF112C2D46150C1265791C0A30914C12EA403414530AF4183CB964165E755C2FE5437406CB169C132FC00C1D365AC41E7DBFD41E97A46C1A382514216EAD4C2613799C143F008C2E77F01C17B6FD7414B199641B21014C2E2CE58C143057AC22FB09842317DBC41B5335341BF121A42C3C26EC01DC5AAC0B415A3C1F08CAE40827C403FD240F0C17F7708C22BC8A2C1E841ECC14A6B4E42AD2420C2C17983C114061BC26A52CE41A8AB26C07E0E71413ADBAFC126BF0CC27A29C5C119F716C16BEA70402A7535C1EBA276422B2CE44097D9F941C9226DBD6FB1CC417517B5C19AA88D41C2C561C2D320FC41AF3E4341EBCF2CC23452C3402FEC8AC07D2837419FD28E428F2033C1B923113FFA0A574264394A413DE3BA418A3D1DC2191E2240CA8713C160D4AA41EF1C1941FC434DC1E6ADD0C121D6A8C1DD144FC0DFF5C03E5E243EC24D2D0641C2F92642F00DEEC114F41F422E268C4236298042E7697041453145C19D18ECC1D3F85A41A3829D42114405C1C911114221BD773E227C8D3F84FB23C293EE02C214A7D9C1D71470C2C456613CAE52C1C17BCB0E42ECD55740AA3C1440D2362CC159F01FC19BB7613EED10F9C0B5DEAD410133B34101DB83C03E5009C1BD8C78424C8F34C22B445FC2A5D67BC22A7DBEC129550A42320025421F4ACEC11EB05B4055960BC2D1300E42447195BD0B64A3C1679639410E8217403C71E240CF8D2341DCDB7B40990812420806294222211D429FB32841AC9A1142788A18C2DCA5A3C039B5F741D7A399C1B07E49C2909518427DA848C15287DCC1458DBFC1E63B5C42580353424B1BA641285CDDC1B4474FBFDEDD82C1911897C108F50F421E14B7C11332A3414E0960C1AD91EB415AD521C17029D0C1EDA59D424C51D0C0CB9108C2F25FD6C111EFF6C1C99B5741C36BE5400617174281A044426491F2C1C8D0BB41F047AFC1ECDA30C1BEF298C1940443C10FF1C7C1DCE504C2AD9549C096A667415E105AC21DB096412C71BE411D7F4EC15DEE17421F57CFC26B760A40A31178C1DBA8214066A736C203D30E4370771842C738D74109C1CB407C89D440CEC43F42D72F7541A220D1C1A9FC92C1A0483C407D2EC741263B1C42DFDD41C1295827C2CA496E412A94D7BF33C13AC1BE0135C2FE3B1940B26FADC102C0F140A323D5C1E0E5FAC1367FF6423335864024C29E4043A954C2CDF003C2B9A4BB42B9BDDCC122B38242480256C2BDD783C053BF77C03B0E25C1C19481C1CE3AA6C1236543416897C1C15203EDBEFCD15C410A4A6FC10901A54174A68EC28CF82142BD0EA7C0AA4277419BEC37C2ABF5B542CC3677C2421112C138868BC2FE396441994374422A0C004208A3DEC1506464C2E91391C2A85F1FC1760E59413CBB11C112DD0AC071214EC24073D242945F83C23110B9C1018A5A40AEF736C2A87B2B417C558A400887EEC0B723EC41D79EEFC09F672242B80E87C1657399C205940D426F3355C2F1510D424B1C03C10759A241477F1342C66AC5416BE389C2691A85C22ED95842DE48B2422F5B86C17A78C1C13ADB8240EECB0941222E7742460ABC410B2C2941B3767840CE8BE342732AB8C241DD7AC2766929C2CBFFEFC167E118419EC92141FC7A66400C583242B1E277414FCC1C4210273EC2C04E13C23DCEC2C2DEBC374261970EC2D484F0414A2A93C1217EF741EA5A09BF46D2314196EA4DC25A88DAC1BD37EE40F760A54051AA4D425B826C41738F3C42D54AB041C8C3EF4162459FC1C239E141864AC04075D148C26CB26F4284173CC19A6F2CC1D374D03F175030C2DD8F8541BBAD9041D6EFBBC12CFBDF3FFC269DC2C8622DC19E6D9DC15949ACC1B05C5EC1525544419EF408C214B97EC1353F0D4084B5894204ED83C2319648C1A8698841DCE058C10652574180219E4207579C4272F5A2422AC2FDC1D70386C2C57842C0C02A4742399EF4C1E5D386C12934724257F70240D11A40C0FC6464C1B8F46742D7D1854236998142709341423201ACC0123C7542135C65C2888EBFC11FAA1CC18F0EE441591606C275DAFF41294F1CC1C3C04142E44182C2D0E6F1418EBC8D42A22C14C2340425C2A96A1E428BB3374216A3B342E385AEC15BD160C238A99741CC4F3D426B9D62C2AD933242E0063141F066AF4258C49FC22B8B43C26980114291A1B4C23426A6C0D47C803F4F4EB94207893542E086F4C0CA92A1C2EFA50E401935A4C1DFD1C141ED5E8941462506426EE36FC11E3A55C2B30798C16DD3D04249083442761C473E68842C4273A5C5C17B68564052107C42909DB9C201C83042A050D44193D4DEC169C7D0C1CCAAB9BE199545C12D1785C182499441C7B5984222F23E4243FA8841F3523442AB786AC28D30D5C06C7183C2E72F54BF07112741C94BB1404571B64188F6DBC166E5F4C063DAEA3CB3B09BC299C183C185DF3142D7A0ACC1CEBFCE40B4F1584207FFA4414BAC42C1286C87BED77215C291F1C0C100B1C6428FF8944136D15F42CCF907423AA824C2E946A5419929E2C15A2A303F431A234128880D425175A03B16877DC19F95E1C1FDEFEB41B9739041DB209C4131EB33410D6B21C19A7C37426BA790417EAF3EC1A3BC33C20119AF41EF708C4154654EC16F3057C2C3367342313800429CFC2C420E2648412A3325C12739A541C090C54218AEF7C107D0A1C156FEC9412838A0415A238541E5BC0EC1D2C295C2B331824152E4AD42A3176E41A8426D42F5AE3640CC892DC2D9161742AD39B940071257C2F1B7984158CAE841D9ADA7C14EEC873E5EBF59412E7CFCC08B628E42DD1BBA41A96D8841ACBB5BC0CE394DC2D0CACF41987BC8416F670642A8D9D841154916414EBAA1C2800C97410B6B0BC22EC65442EB2136C1DD93D6C001762EC2C84BD2C1903C0DC127DF24C1FC208A415B42584141B8E6C1318780C1DBF9A8C0C70C6EC2AEA6CB3E42822C418545E741E2450042688679C032243DC2B09B80C15FFA21C25E2C354251D24B41BC438C423FC6F1415BB867C1C3222AC16EE1BAC124EAA341ADDB5140FBBF49C0739CEC413C5AABC0D318C641208D3EC0BCBCDDBF7F6BE9C0482595C1CAB1FBC09FB8044137CFC9415578D94160931241DF8C6741503E9F40E08FCBC1BC8E683FC660D7413FAA63400D32CF4131FD5241E2EFB6C0617A8A407D092CC2B8DC9DC1ABA908411E05114200F6F741415581C01BC90D4110FC91C052E3CBC1F08F6FC1852AC9C1704B05412C8E154220010F40665867C0D9505CC25AD22B3FE5923DC24B11F9403C77E9C1152843C16DBB1C4282B797C0DCAF26C239236541B82DF2C0DB6609C2F96E67C125F848406D030D42432443429E00F3C1D36CBD3FDF1541C217F7DEC1F501B5C0B76EF5C1F689FD419353CAC1AD47D0C01D1B0AC138E083C1939FE6C0D88F763FD2E21C422603F5C14AD94FC17F2C45426563094231E019410838F7C13E045AC25C433E425D8F1140E2DBAB41AC9A27C2FAA0254288427EC1CE423542BC36BB41538E08C2958EADC22BA048C01080C442C3CC8B4100562A42C0F829C2AFA659427AF169C1ED8DBE404BABC5C11A47BB406C5D2BC225A1A5C1F6F009C1FD0406C1856A2342F67AFE407C609DC1D5BE82C25B481A40C43D25C19B4D8241DA8306C2E6E916C1E248A9403EA83DC1208E9641F1E19CC0AA1036423BCD41410B722942144355C286E8A141AE2619C258D6BEC2441792C2EBD44BC2BACECB3F836D9A422E192CC245F53EC11E5764C24A97CC4156060FC11F5192C1721980C1B933B2407B6CC9BE8A0936C2620AE43F6C95D541F7D709C1716CF34122772BC2FD9B42C0ECB9C0C153671542B0B947C168C4863F4B6411C2D15F2E42BFFF164242C8C8C1C1A822C2537BB541C1438F42F5B0FC4139F5A2C29358654086C908C20DCF30425C16E442A30118C269746F4136577742A78ED4C04D67A741EF48CFC013E92941C316584237D42940F7AF1142AF3B00C2A1C1A241353D6441D0140FC2BC89D0C08ECC9BC2804442C1B38B68C1ADDB3AC0B863E9C1A1028441CF5BD2C14A8356C0F36598C18E868B4258391841606AA8C237010C41EB26ECC1DA1AA24212CFF1416331DA41A04359425F6D35C1CD507E42C8E74D41CBC79541F6C2CFC09002AD41FAE812C11F3BF9C11A1D15421FBE5542107EB742F4AD0D42C07A04420D163CC2A309434137B754C21940B24121C814C24A93AB42EBFF7140049ED7C11263744284769D41403387C2BA29DCC17376DBC0597CBAC1B672BEC193C79641534C4742C953F041668F82426E9C4A4109EF01C249FC60C2362706C196AAA4404065C541A92EBAC145C22BC2021906C108FE81C2BAC5A941C0E1DC4100865942905A3CC21F4B414150B79CC2B073164291B1BDC17BC335429CF1A7C11B48F7C019094F42827D6C42C4C0B640E687C342D8C40742C105164220C527C2DE842BC1A42B9A4286FDFDC1947008C201559B4041AA24C2843253C291FC59C2089735C2C04256C278C60F42430B11428CE05442B581BB422D005942BA088441FA035FC147787DC27858224006196DC0EE2A4E429588844030D216416803FA3ED7420642D18A8B417126E9C13C5F91C099D89E421E7FB1C236394D42F8F729C212E6994279250D411DFFE741F56769C20DD6B34091045E41929AE841F9C15CC0479296414EC80CC2A9995E41F105B4C0EF5039420E35CA40A88E97420E788D4131D2114235AD6CBF45A63D42C872C9C10FC53042B4235A426A0C92C208E7F0C12EC6A5C1B78178C11C4329C2EDE5AFC153A59742C5A6C541BC364342872E6441699434C0CF386440C59EC4C1056BE341B0BC11419C9825424EF122C270E815C29D0A1CC14D0185416FF33BC2EEBFAFC05E448C41AF37C93FA2EF72425A84FA403215EE42FD7BBA41AC903DC2528E23C24BCE0641062478413163A2C11EE848428055F141182A82C0C2035BC1CE630DC2182EE041640DAFC1BCAFDE41E311A5416C73544213B96D41DB8DA1414B7E7DC229191F42DF2DB841D010DBC15530D9C02E8BB5BF4A1F6041D89767C270384A425AF6674169DE0542AEEEA24160F7F041EBB2A1417C65914248BFBAC27D538E4123A7B24089118541440B55C13AD07FC294D378411FF37242D721ACC0E97FA2C0437C8A41AC904742608FD142BEB85B42323C9242B4CD5E427DA6C3C119955041047F2742E2A7B2C11D5A75C147D63A4249C04E42791D08C24DF796C09171BD413DDD35C2F1AF9A42A2A0AAC16C2189C28D73B6C055F06B42264755C181114842ED508AC05170CDC1DC29ECC077794942B0C001C2C074A341C0FD39C18A9C01426DBB02C21135D4C2760EF3C135646BC228297E42E8413441053B01C13F45264158D73CC1D62725414CB0AB40DFB6944144F74E42C6D6FCC0D65AA9C1886DDD40C001A440A3B24BC19F77F8C150AEB6C290D631C1CEDC0F4228A498414BD164C1D29125C15C0F8CC2A986BA415BD93FC1D1A7E74137C213C240FD9740A0B921C13D878A41485EAD42478EE9BDC25C48418D5022C2CD18A4BF64E40E428B7952408477024274E0C8C15A6CC0C07C5B2EC2F9DC9CC174B21FC134B826428D3B33420A67F1BFBB3850425E3B71412B86FA419436DAC1EC0F02C0098663C17C032E4262EDC3BF12A4B241F11BA1C10DC7EEC1D87398C1E8498740916D4C427FE807424A0C90416E734542DDB8BBC1D42CC1406B460DC2AC303641FA6D904160DE4841E7008D40D999AA403C3B16C2396751428776F6BFFC903B409BFD64C14F74CD409F043BC1881460C2E861F9C17A7C30C029FCA641DE90584189BE6F40DF06DDC07BDAC5C1F5790A42724DCDC1C4C0B041012FFEC1BAC9C63F008A09C2355602423BEDF94105D7B3C12AF042C19D11CFC10C6D0141042EF74144328EC1D81A3A418C0458C2921E6342EB058240A43CFFC076DD62C1F70430411D8512C22E68BDC1493BF7C1119D2042B23B2FC1E3D870418EC457C2462B4041DA2569C26B6AEA41A26303C2C4FCB2C14DE224BFC4BD6A4285C589418E2F16C23768FDC1D353FB41803FC13FAA313AC1E8845CC19F5E38C2FCBD6442806ED6C14FF69C425CCAABC25F604C4216658DC105355042E6EC34427F7DF941846814C118D5C3412167ED4131FC53411AAF9FC1A20FE9C1E2A91441BAE40AC1F5BD9441CD460BC20D1336C2E4A9B2C073C802410BEEBDC07ABAB3C2A33DD3417B8DB8C153A9F7C14108D8C13DA61FC22E447C414B135FC17749A541C3417D419AF9B5C1879B734203C1B1410775E741FB5E43C01D1EB9414CEB8F3F134089C1810D66404F8AB4C1FCCB884179E88F41D9AB5642C2469A42DA0E0441D545F940503646C14425ACC048369B412E773641AE141CC20BD02B42B0D2CEC1559E5DC29F7273C1301F8242020D3D42AF5AE3BFCD8091C0549220C2879E0AC253033EC2FCACC44193FDD0C0DE4CAB42C83F03C1D3782E42D53ADFC29F789741E3D7093F6E6307C1183EC6BD9693C5411068D7C1F37D064018543B42572D5AC17EBC39423FF48541392F69C28CB21DC13BEFC3C040796DC0EC957CC175CC07428767D8411172DDC0C5534D411EEF1BC15B34A1C2125653C26F6F69C2662A03C27D7E1141E2A66E41A9CD2B4218B867426B7841C2A02C1A429C548841FBC1CF410090D93EE489F1C0709262C2AA3220C2CB2BA1406770C9C1948321C154C47EC128E4D240F731E2BFBB1979BE8DD26DC272EB9E419E0C34C286697FC1F1892E40C8B69BC0E0393C42967A9A4170F5034217E2EB40434E08422EF138C17ADB64C1496935417BDB334219EB5C42C7482FC16B64CC41E5DF39C2388F48C19CE05EC203FA9541ECC296C13515FE41D20F5F4148D0DC41F728454133398F4273128B42291F76BFC9183EC0C37980C2133B61C1389F064227F02ABF088E57C27402B33F75B031C2C50BA9C03FFD6EC208BABF41B8EE20425044E7C157CF12C2D52641C2AE5DAFC16FC44B41E24D094222E0C4C1C5EE4BC2A02F62424BAF97C02B8922419F3C65C27DC0934239A140C1431899C24D661DC2D7CD42C2AE570C42297A34421FCFC34182E620C16BF418410B5CBB4131939DC079E895409BCCF6C1A190D2410A90F641D80784C21CFB74C2BBD84B426E4062428CAB27C1E5CB31C205E021413C92CE410FBF80424D2EC13F292A1CC23E13EBC01FBCFA4226F494C204917141F63213C25AB83942C5CE2442856597410FED0FC1682F23C2772308C1C6C52442E167B7416D070242AFFA34C263A002C13D8044C1B0AC3C424BB788C16C084C41F8F23EC127EEB841270573C20EE8EC41CEA78042E6B11D424CAC344294B23940152DAE42644C9542A5D17E410B7387C12FE72342775C74417CFED9C1B42D18427F3278C1316B4B42D932DE3F6CB1C8C19353CE42ED905541E8420A42285E7541F4B0DB411CB85F426E9CAC42C75F53C29EDD64428A6488400F2C7FC2AAE30B4143CF01429FBD9A4181412EC2A6B916411FA56640B46717C26000AC418320ACC00F5B4842438BBB42CF5BC0C17B697D41BD3210415145C54156E194C2E31C1FC29B2DED40072E0842E7BB0DC2595E8641F611CAC1A0FD1BC21F3D8A428E748EC15B3A0F4327EDBE4187537E410F4CF8C16EC921414039554101AE3F429047CA417C2464BFA15FCF409091CBC104769141182D56C147632840FC15CEC00A6649C2227C60426E5F1D4206AFF6403CA7AFC06B4D0841E71DC2C15D8198C060FB9AC10FBA1E41E0717F41980265C23AEE124204CB62C111236F4163A974C24B0962C12BE79042455D46420EABC34244A1EDC13CE15442318E974194CB60C0DB199FC1E74705424F560042EB46FCC15CA94C406839AA40EF5DEBC007660EC11EF99E418C46AA41040266428533A74145BE56C18A9D544186F3E3C02DCC8CC091C395C145CFC8407CCFCCC24A9481C10C16CC426D153D4269BA01C04789BFC2B84080C20D3D11C2D98136417B2C2742314ACA41DECACBC0EBC5A2425F1345C21C0A4440B890AEC121688BC09F81094029E91042289E404020E1C6C1821DEEC1826A21C27F1EB740F10282417A7C1BC1ADE8CE41037F54C180450141A267E4C1051101C04ACA2AC2ABC2BB4170F60742276AA0C154B6A3C13FD9F1419C6F0241D832CB3FAFFD24C255593EC213059CC11D70E1413BBC1DC1C0D74EC29AE244423794E840063C29C26B25FD418F1D40420582B0C0374A894152981642D68206C25C7DC7C15E566AC2C874D3C09900774098FE8B40B73320C1A63D34C2794DE3C01CBC804122047B40B683D7C075B05142878E8441C73D4B3F450B0A40F7F2D041FF1FBC40C55681C1523DBDC1F3898740EBC3D1C064D70D40D348FEBE09D5ED41E910B84089E55940D400A6410FFAE7C1830615C28CB06C426BF4D4C15A2707C201990D40387C87C0DBB8C1C113E6554213EDBEC20FF6A4C1E4948A41C575AC425526BEC158FB1BC0B42201421FF718C14E1248C280D072C1A7DE0942730E73418D4FB0C1502B15424EDF644019288B4171D855C01DEF9CBF5B4523C220C9DB41B71D7FC2115CAA4105D44941C1A85AC17D4A3CC2F27A50429CD154410708B0C12B430042FD6082C253DB3842C48FF7C0D5B13642264F88C0AF736042041EA2C26042824068C82A418AA34FC2784FC0415746A642FDEE1A42120A4FC23281004183671AC2B98AD2C0A95D83C155DB26C2BE6BE0C1B2A2A0418B6C00C16EAC35C12A3DF3410C5F5442BCDB03C13BB6184166DA07416AAB0942EE77B141E31617C2252534C17B2C23C19D1F8642691EE4C1EF90BE41E5A41EC2E36B8742EB8A40C2FA0603C2D1E856C141B007C2825051C1504392C226FE86C2A5D15942336B6541FA8849C1A8F2BBC128C2A3C246452B422FB98F422A943AC1975ABDC1BFD48242133E954261B8B4417F0C994136525EC23D435B3F693044C1F951C0C20F854DC26FB518C2E608A9402C8514C2050F664212A688C1B70D47C18D4BD9C17CDEFA420C3D39C050B241C12FBEA5414A59924295F8BD411130323ECD1AC7C01AF3ECC0326911C1C0B584417BDCCC40F750A541C8D71FC21D340842AB9E8AC19BBB06C13BD8B0C1D9562242FC2F44C2D439404171F198C14F2BA1C2D3B9A542A3CB0AC24A171042857C8BC220924FC236E86A42E2047B4225F31241475791C182C74842C09F25C2D24060C04BFAEBC02A6BAB41DDFD11C1110B0B422B6D13C220FD834185FBA0C10DFC03C13105CB4085380E41ABD2564288DDB2C00AAF8141554740C221351C41F7737CC22F823D41A2A77542C7472341E7BA40C217F30FC2C9D65CC2B0AD62C22CD771C26E01BAC100E58C4134345042886F17C2CD0038C13654BCC139A085C1FFF6E2C196087F4152B03E42BFA6594150D40C41EAA81E420F067842F586A7C193A31B40E8743042302EF8C2786CBA42FB0A38C2D68B8F40EBE839C21FC63AC1A3C08FC1C101FE419E25913FCC5465C2231BB541627E47410B178CC2044508C1E37B4AC22EAAE04121273B42D2B451C116F54FC2C05629429433B73F19E59C42344A2A420E306142220CCDC1637452C20E6EE8C1E1708CC1DB58DF40CC9E2EC28E1EFB40E46981424FF818C25E57DEC0F709A6C10A878FC2FADCB641DD8D7C4113F6E34074488641C183AB416F597542E269B0422B7497C2769F95C1B09006C2B4AD2F42480D84427034B441B247ECC18FAB67413BC45442FF970BC2A14967C1F6A17B42894693414A5462C0C08FACC1B41006C036F6EF4180812241722B12C264DC8FC184A3E941E73EA3C14A1AEBC1B796B7404D65BDC299BBF3415B141D41EC59873E9F2674C14992A8C19EE130C245D0BCC09AAF74C2B711A5BFA19338C24D94E041D4DB50C29C301343E6ECEA41E1F91442054B464055D8C5418AF145C111B6BFC1F4FC1C41EBE376C1B1850FC188A51742512018C231BF61C19B5711C2AEBA2BC274D304C1FEF83E40ED1D42419DD501C2AC7F2C40F6488541F2EC94C2C1A188C1268C8B4193D1744285AEBD409AE5A0C1961F0941B70263401CBDB041AC8F744263AC75C136AE0B42CD07A841D5818C41900AD041982189419EA8A5C056AF0F4239CC0F42720F02C2B78DB1C283B561414475044274BD42C2B906154214CCB3C1A3C87642BCC74E426F074FC1B4D984C17FD25142A8C818C24F7E97C042221FC24F644A4283AC4C41552CDFC15E75434234F14FC2436948C2EFCC44C1EDDD92C147C4B4412EEA83428D9A024139A48A417AA928418FE465C28FBB72418106A341B5274E429ACE66C16C93BA41738C64429CCCA2C2DFD55FC2ABA24FC128D3A241503198422C61294255D831C2F514B8408210344273B633C21257ADC1E62353418C2583C22F1263429DE9FB41627189BE624D98C12AEF41C1FEFD03C2FF45C1C1876180C284E2C140A37FB14145847FC18B7910428749C241B0DC8C40EAD0C34012018DC10CE60CC2F947D2411F3F32427237FDC1D36739C2A5E401415F206440196D54BF39CD8B42CD02F141CE6691C1FFA4B94297EDB64197FFBDC03A1736C191E1C13F9423BF40E2F40CC26C8A993FB72C6D4159AE9940B8F58B41D6A896C1763637C2DF2788423B02F14160A80841BC1B194140CBE641D9E164C1AFE59EC183859B414C77AFC197F690C22EBC32C2F4222A42E65CE941533FAE413ECAC9C125EF32C207CC7D407B8279417BD9C9407DB584C2A3F99841940E1DC1107848C2517C8EC098EAF241173181C186A2F940AA3238424F0A464086963CC1B7F19DC2F6B782C22E4E2042E3F53741E79EBA419BDA76C276B40B3E3E1466C1A50EB9C0C5D37DC089740B426AF5694112770AC20DA92DC1EFCAA1C181095F415BE6B8C13788A2C1F2A68AC2AA90FAC1F52EB4C1402547C0590C6541F624ABC1AA171741800C07C20B54E2C0050D0BC2786C84416EE2CC4149514941651F1C4216A553C23182B03FF1FC17C108E9F0C16F7D24C26C2F9A42828A7EC297C3AABF56FE17C022611541E1C1A0C14D27AEC1C1B78742117A98423ECF4640C1A5F741C0E41AC2E5B3C240EDD086428AA644C2912AD8411710F040154E2FC110E02A425A0D21C13CBCC93FDCB827C22A5DAC42EFB4BABE62748FC28D8CBA411AF68741310F0E43B0209F41136C13C1F9F797C2A88CB041DD63634289F48341448A34C18B353C4179D9B3C1DF848DC13B231F42D068684178F5ACC2380B6CC14C11BEC068BF2742CF3E6041D27082C20CD8AC40F16633C283E7AB42C089B7C0985CBDBFEE93EFC116DE13C015AC8FC283890E420B51E541D56B824223C320429E235842B2026B42D4E862408E1D9942F34D0EC2FB5F99420E562241B6609240C92BF44111DDDE41324EBA40C89341C254804DC297AA87BF5F689942EB7ECCC142B40242FD2EBCC1270A7A41F0242C4234842240C1900A421293EBC10D9460C0C9FDC5C12628C641A5ECE4C1E570E3C18C4C1D40BF3F29C235731AC2F73F34C293E99D4185283C42548D1042FDF147C28094F2C0314ED0C054753B423FA79FC2B4EEDBC0930C8D412E2492C0C75ABB41191CD13E56E17FC140A32FC294B2C3C197A8E2C0776A6BC25248BCC1352D53C1FE9300C167518DC15519F7C0611A61BF2BA3BCC143AE65C1C8E1B13FD2C0B940B1403A42CD26AAC195A19042230196C0B0F6164141A918C220E8B6412C4EBDC277376A421B5205C1B6A832C2666A2BC04838C940122952C1DF0AC7C117EBCE406248A5415C575141429588419AC407C10A76E141835C0ABF333A17C245B91C41259F1741FFC8ACC19BF237421CD4334245B13B422096AA41C0B3E8BCCEDE2D416F0FA9C1951285C2357920413B7E63C214441DC2BA6DAAC279F830C1D8483A41C91819424B943CC2401DD4C198453842BBEEAE412ABE15C23E443642C4BBC0C1432009C013B92942019B5842DFEDE9416E638641D0C95542247389C1194A89420F0CB2C244074142B615FDC1AA02914246BA75410C4A0A423B552BC1AF3EAEC1F226CAC13A7BD74190266842B6C772C27E19E6C1F69786C2DD40CB41780480421EF552C24BD0B5C1EEF962C04B5791C0C68105C2BFA61B4274E28AC2BC75E8C1FF4416427C5EC5C042DA0DC2BD6AA8C118D4A8C190843842ABD062C2398E62420DCA93C292692E424FE68A4189A34642ED527440ACB25241923CA7C17DDD5CC2FD023F42AD7A1D42B844EBC2B3734EC28D1223C16A81D041DC110141136C0741102039C2972CE8C1A2439242ECCB2F41984796C2F87F95C17DDCDCC2BADF1441A9143B42D553C54063F2B242F02237403D6308C1DF8450C2A30869C23CAED7410C229E42872FD641DFEB274251DE3AC2A90E5EC1A9710B3CE40F6CC00F07FEC1417E07C2378F32C2D10AFE41C9D51BC2BCBC8342F9FA3FC27DE4E741455D14C13391E842252B8CC19F7B5A4243EE60C243C84C41B4BB9EC0B86AE7C1CCD7D540B7985DC187DDF3C12BCC07C118A018C2444547C1D5F7933F59DD04C1078E8941A21C39418748D2C1525C584285E1E3C1DA3F95428E9C68405DD3334248F53542C12991BE6125A3BF208DE3401A13EEC1290FF240256603C225CE5F42FDACFB408258D8C17D650FC0FF6022C1DF0495C2529A3FC06543253F65A18141129AB3C19E9C8B414CD227429962214239BED140BDFA4F4197FBAE40799626428DAFB7412EF129C27B2BAD412DEC734069D9BAC1B1105D41F94C46C0387D0A42B2B160C222FF0D411FB58D41097E8AC20E587C405F68A341283FB84104289D4022A815C1B57C2EC214843AC29442C941EA375A42D2A8C0BF1D374741D288A1BFB4DF1DC2199883C01903D541D3DAADC2D89A40C23C9148C0D3CAC641268D4F4114B955400C2CDEC11B6FA1C142236B42E7DA8FC10BE7E04121B48AC0A6540C41DB315AC2F2E61F3F589D473DA1B90F40CF91CAC1211A8442F8D05440DF6D0442C6A7EBC1C87D12C16D6498BF57C82442BEB80CC2232D713F442F01C1D486AAC163C260C1CB0D7441A3152E4230984A42B2A766404D071B420D65AFC155E33BC0EA820EC0BDD24941274A9B413C79BC41C7ADFCC04CE1E241DBBADFC0B4553941465FE3C0A912B640871C58C001CAB7416B28D0C0BFC1B74115003EC1DC84554150B519C23CEC88C19C54AF3F517B5BC190F061C0CB05274142A307C1C4BED63F61DD1541CB2212C2965CD2407558A43F6250A841F99A3B40F8A979C1B89E68C2DD458A406C8183C14234A54110DA62C2C4A83342012B6E4135C2ADC185C3414236BB9EC1E9EF14C25E68A73EC7F51E41999509C2C036F5C1A57000C2842F1B4260C563C2B1F38341E87A42C216D5F1C13A111DC1266A15C2E5BD1B41FD6C8DC179B43742A691FDC1869564C19E5BAC41CE3F4742D30A0E421A1A12C2CB7B8DC2FBE33EC1339AE2C04A0E9A41E478FEC186899141E0102D4202AE3B4130A69EC15DA956C145F931421F2E18425DC02042D013113F69802AC2CAAB60C257995542B83059C22CFED840D6F70DC29D68DE402AC1B141FD3380C06A6A5AC2165F8B3E3E25B14199CF06C2BD82F0C1727BC1C1255A98411B8693404440DAC1A6336EC2F60B8141AFF2B5414A1031C13EA18641E82970C0EAF64B42011FA34225568BC03DE821C1E7A079C2D9C834C2D03EBFC28C7DF8C15E2C6FC2B41DD141B1A501426B1C8E4241779441941C2A41F35DB6C182B4C2C1887DCDBFB7B92C41300B9CBEB232E741F7321C4267C145416CB73B426D984542BED257426717774220594042F312A7BFABB0C3C1E01BB3410DB06742095F2EC2E5D56CC2708A36C286448A4296461F420D762EC2F0ED92C1699175C1C1CD80418BC086C156B4B1C0628F5B414BE375BFE1ED87420FD6AAC0DFB484C234B31DC1B6ACFB40B23BA1C1B7AB8D42D8BA83C24BF61141050F2041DF88D0C1D866D541270380C1FFE9BB427C44BD428B9F9BC123C5D1C085FE334015D0B8C05DA33BC25F42C841E25736C1429F1642065EB04202568A4272180D42148061C25A356442B07192412C20774222A7F14174CE6B41EA4492C1641FDC417D6698417FC5F5C104BF01420EE4E5412E186DC2DD97FEC14AEF9D422EE0E1C1D7161DC2A5DD07C284EC2DC2BA13D3408E53074249B8A2C291128441A7A991C13266384172E09FC14C4BB7C12CFD19C29E168942337A37C25CD250C2844506C2D6E0473FEC373342AFB2CAC032A5AB4292E681C0F6CCC241C0A5EE40A3D2EBC089E11AC2D34329421D388241E1857B4194FD9FC16F101AC103C4E1C124DE8FBF3327914238781941733311BF33E607C20FB666C17D3CE041146EBF40EB7DC441833677C23ED0DB4067FD45C1CB5E7A41F56885C0F52BC5C1EDAB17422852F6C0769F044150DC88C2D78337C0E7A5963E5D408C419A6933C2987794C23862FD3FA6ED15C145DECA418EF6ADC126D7B7C1D3AB8042CA4D95C1CA0AABC2B08F97417A3E20C211E2E93E051AA0414C60CAC107694ABD7931AB411E008AC2191D15C18098A8C1F1CFA6C11D8211C25DF86DBFEAD068C2C8BDA5C119812F418519B94281E1E542A9F431C2625D06C2B2E203C371389A4056A5AC41013FFC4124AB71C1E5A609420F96A1C1F7D704C2CB778A41AD3B604127C900C039633A41B780514213A25EC2960C64C176FEA7426097564178364F4294F65AC2951EC0C191A184C178BCD842FA969AC2D0CA36429686A142DA75A4C2AEAF21C19F4CE341275BD14199362DC2A56903C298CF4CC24BFDC5BF86EB1C42B50D62C1CE15C641397242C28BD6C942886D03C21EE83C422F8123C2A464704245D48CC1C24E9AC114139B41C3DA31C2529B92C107681042232E0842D1512FC0AEA69F415A9A61417880DD40A9B3C3416890D4410B892242BAA41242341C47C0AA33D9C175206A41727354C26742C1C16A7DC5417E25FAC13F3FC142365C27C22CCE31424D61AFBFFFB746422E47C0C24DD3E14292B5884138E8594129676E4199ECBE410CC0A1C13AB46541F9BB4B4225767B41FD57264214C52BC2C690A8C07C532642FA7989C045B4C741378F9BBF00A14141C4FB72C2B49D78C2575A7441125C484273C6E8C13DB21EC27A6EFE413A8ABF416972923F61AC9FC2A094A9C2C15181BE57B67342BC105741BBD8B7C26AAF2D422236444071432FC1EB9098410D989CBF06A628C206781FC126E447C20ABCEBC1DB791AC27BA71740E5362EC042DFF2418E6E59408423EEC149149C41180B0BC081746FC00CAE9BC161C11BC29D42B642F70582C11170ACC1A6B82A417F97B5C0FD4EABC120B63BC235CBFCC1B98DECC1A799AB41C489F9C1AF91874180FA14C2FCB80DC0FD8A8441E372C4C15BE20041712A88428C6497421CDA264258FA1A42A5369C414FF2A24067187A425AD4D0C1BC71AF3F8FCE4F41B5CA4C4259A473C20CF11AC1DC041AC1813FB641502C46425840A9414BA1D0C0D80686C15440A9424F36BBC1AB1D4842413125C05BA5A1C17A057041FEAE9E41F7AD47C2625A864152EA1D42F7E7A340A9FEFF4171BA64C21B0702C25C02AFC1C15E80C295DD60418001E6C184EEA742EA17AB4132202F4118F7C6C0C996E3C0FBF5F6C046440241A79E72C1DB239AC0CBE5CA419CA4B240D1C819C29EAA1BC2A14584C138D40042BAAF93C10D2D1042E2A31CC1D7DC5041372C0B416D311A410B152EC23A981E3FD50869C1F3A31DC0CF86C9C0D359F2C149ACC5C11660B640A730E53E7F492142FAFD0242959B9B406DBCA0C19ADC10C2BBC58DBFADFE22BFDBBB01C0C954E6C053C16AC08199203E86CE03C174E412C19239CB4098C3A142A0E64842951C334150A46AC136BC08413A41CAC1FB9DA042E932B9C2ADFA5F42CBC5DEC12FD1D54142D35C41961A16C1A08594C15C4959411E156141B0CC04C2F986B5409B2E03429E11CE413CA0DEC0619682C1EC18B6C2848B8341287497C0F6AE07C1E8375EC17B1084C2E5CD4D41D52C46C2D9CC6AC2846089C1B22E02C2B552BFC15E9C02C27F5BBAC1EF6FB2417E3181C2220257420F687AC1B4E800C1029C2142A5639942A13127411D29D6406CED40427CEB574041CAADC2231471C23AA7BA40B0F640C11087FB419FAFE6C17AA8ACC0C946A6C1170B67419CE926C1D5385BC23783AC419E4B02C218E409422B07CFC23BFB5F42A70CDB423EC4CDC16EB53E42E0E029C28DF54C400C6606C232EA7041135120C16B5CDA4247BBB7418D929A4234E099C297332F40F78AE3C1AFBE0E4237AA8242772E1C41AA8D97BF008084BFB7AC0041BCFD88C1E68E25C21A8485BD7D452DC165F283407269B03FF7BA2BC2217C2441D93BFA41FF5C98C0F33CF440BA696040D78782C2F8E02DC259468441B66279C2B37265C206724AC29232BCC0D1702542957E8D42CC4332C2A63312C22ECF80C1BB6C83C0BF00BC3E3541FF41568D90412F831FC2769B9C41AC84D5C135FEE9C04F61B2C160D61A422BBA8BC108B7DF4266192AC21EE324411D47FF4003E73C4220CCEF4013045BC128E8C03FBEBD0B428E08A7416254A3BF9E5982C2D9602AC26A41E8C1E96494C226510BC2842BB0C2908511C1D22A78C20085F2C12FE57C42E7888CC26CF601C0ECEEB7414C56953F67CC314217C724428DB94341772D5941F9DC333E2BF55642D2A683427466EBC1BD1E17429D566AC0D06F234222C0ACC1F19B5C40E011EA3F815E3541D8386340CBC86AC2425A19424E160F43BC892D420688E5419DA894C251D9953E2CD68E420FAD9240927F8041406395C12AFE3C41996A2942336FE840C7EFE2C1BBFD5AC0CE2CB541A23602420F656EC126CD2DC2AF1BAEC24D4EA4C1535097411205553E3772E841C283C3C010C557C0F340ECC1177A7B4103084B42FDDEB9417D3FE6C13DCBD440E4C6E7416A1BD0C2E900D7C05E09A1C1166BB742C0A25D426FB2A241B932DCC282C3B7C06F1351428AF720C24BE51D414E623E42D265A3C265CCEABF626D0FC2AD7C27417245F7C00FD534C1DFD127C2233DA8C2D5FB8DC237C09D416B32144174C445C1AD15A5C1D4370242477FE53E403716C2A2CB2AC2DABFD9C2CDD044420E721342476027C2CDECBBC109E19F40C3D15242E5025CC2DC3EA642A7415FC2D10A2142CCC02A42484166426E8B86C14C65E1C0F4EA98C10A77694295371D3F5DDA0A41A73544C088A5B042490E1942232EFC4166198EC245DE33C1737843BF9239F3412AEEA9C1C9FCE541354706C261BFB9C042268FC2A26139414F529E424FA0F0C1ADFD9942A47DB0412D4A9942CEF526428E2241C1A3596342CBEE2442750B5C426655CE42FFCEC5C1296585C119AC26C289018C42A77ADF405F6382C2F04523C239A9463F72E8CB4210BF954252E93442882CA9C1F67DF6C0F3C06C409FF204423A2937C25C4189C16CA9BB41BB07A3C0D3A01641754935402EFC80C036907FC2C1808EC2BC2047C21F996FC1F1755442FA117042E37460408E796A42102C33403A2EA241E6B502C3DCFB2C3FA2B517C2BC147C417291E44109E6B3416F6CCDC2308920C24A1A674131C3D0404423FB41052010C133778AC2F669F040EE3757C18348ACC092406DC1EA2E02C258EE10C259130942A6A49141B05855417CE125C185BD664265110CC0584894C03A943AC284A19A41434CE5C27018B841F4AF2BC2251288C2C88A904017641941EE1475402DB92A413AD9A1BF442C0CC178DA3AC02B30A4417ED41EC28BB4FF41E91644C1474AD441F1662C42BFADEAC1483A9B41A969C34029FD19C2DDE353424FD0B1412E23DD40DE6813C1584060400C7B5A41A31DA3C166C7D1C1ADEEF13F0F2D3EC22A6132C15BD576BF05AD5EC2A2F697C10A1532C1EA1D5342631130C14ED66AC21A3891416B623D41DFDE1D42DEA06A414D1971C2F31626C11845DDC1E5890342604A31C1494414C1308333BF6E0280C1F81766416436DA416E10F83EE8969141402E28C2F36577C1554EDFC123F041C27287B8C1A91D15C2B6DE15C10523E9C15CDC88C2257DBE41963D6C41979156C1ED0B06C1DA957242058914C0BDCC3341DA1BE4C043718F41A1531EC14086B841BF47D84124D92141F8C8AE4102685C40524EA440F4A372429E6BCD3ECBB52342C5DF71412C0DC1C17E5ED2C105FE92C1D1AC7A3FD78F4542F428ADC06C30443F93D97242B408CE403B4E0A42095D44C284C0A2C1374D224130DABD41B52D8141378151C19A4E21C132389D418E482A40DDDCF9C0A203CE401BBA2C41EE698E419BBA93BF5637364239714FC06AA6204274E620C0922A95C15DCE54C19DC33541A33BB1C098D56141ABB373400CADF1C1BE1BBAC1E785A8C1DB4B9D4108FACC4129B505C2DEBF9040180F1F40E72C0FC2F5F873403A61F240DB961C41F9E55DC1E7528642E6BD78C2084376C104C1E2408CD3CC417150A94017CAC3C126BB98C1E90616C1C40441425D0D9540CF9B5242354A8FC11A879CC1D8990BC1546CF641532C81C20804154216F3B141B3274542FF97B14198AE68C2F1345DC24ACD12C204EFA5C1F4101DC24E8E9B4276DA6C42EAB899424D7B2D420368CDC13013D5C0253FB742D1419CC2EB6950C279D902413C5F8041EC3EBC417A1373C18468BC41CBFFB842D342484299C3AF41361C90C166B2E83F09A049C209FF49C129FDA541080A79C2E9AFA1C0879C0941E4E531C2E46DA94280E13CC1A0B9D942711F4BC0593373C2765966C19EA9D6415D14D242520F9542CA1D86C246E319C0190ACF405C12ABBDB4D5A241CCFBA9C1A90F3E4156D888411C2F13C2013D10C2B1372EC1D2F4B341DD30D0C10178D6C18CA274C231F4C941F70697C2B1E7A641EA608BC243E93340AFCA5441041C494247A93DC14CCE2DC1F741ACC19FB064419D7A2142BE10684283B800C24EA7B0BFD28D24C20E00B7C17E16A542C6D6D1C1333EF7416F51A4C197D30D42E2D49042EECE994230D390C211E81BC2E7386D414482F5419F301841A48EAAC272DC08C29A52C1C2655CF541A9FED541710101C2573D90C1EFDF3C42166310C212A9A4C17588FD41C9FDB5C2DFD208C1DC071942E9FDD0C1F62EEF41CBE7AC416AC6BEC1E89BCFC10F11F1C11D6E4DC25F877A419CBAE5C1DEF184417633B1BFB38F24BE8DF70C4298DFBCC0D16584C2947F72C0F9EE5D427C3E264255BA14C0DCE17841EDD941421FD40DC1BDCCBF4259F7A2C2412E2741B844D04129F29D42B2BC8E418B3CC0C103A165C0A66F3DC2CEB53DC25AA19DC25AC31DC116AB48C217180BC24BFD08C17A0F2CC2EECD2A42B95217C1D49BF0C0051004C206C32D420DB842C13F04C4C15C67B241E1B1ADC206E77E4262598B42FEAE1CC159D0D9403C363542EFFF86427A5649426AFBE841D4F23BC2884CC741CC219D423A5C71C076EBDBC1F55013C04C5A0EC2653A5242B3165342AFF29142A3DAE74013649BC19AF901427FFF33C272DDB841D67DC640C43EACC15FD6B541D3407042D20091C23313DA412E3BE74188FDA8C27D0F23C208266A424337FAC0C1D39DC0FCF04BC224BE67C11095AE4160511042922125C29A092842C981C9C052A6A642727C8DC20466A0C12F4191C15B149742354577C14428D2C2F164A8C057FB56C2D448C0403B8A9F418E97BE40CA76AD42782EBEC185C1E1426E7A50C29B764D42A366E5C29EEC984178DB314176B395C1273F914049EC8DC14903CA4171C01A4283B98E3F960215C1C0534BC2F49582BF07D588C25175F5413443273C115670C29D2181C1984D5142C0700541D765DB42E51E4642DB9731C1E48F41C2D98197C2F2B718C2AA7FA7C189271442E141A042EEFC5DC2E9F2F13FB85AB6C1AE7524C25BB2164084C751BE20CC8CC04D040C42ED2005429A5639C227EEF1C15BED214204F49642C450B4BFB8C829C24441BDC1BF239DC2C9C508423FE6CBC15DA7AFC244F48A4245F0A641490CAC41FE60D241D51D2D426A4F574249525E42D280E5BF76546B41E12F5BC1B06DEAC09CD2263E06091942119D3141DDB380410C7C34C2974DA74287DC8441D2753F42107B4B4237DA0E42D8478FC24C5AB8C2089732C292FA51C1A34F8AC1ECB95B406EB133405CDAB03F79577C40F872B9C0B57796C2528B1442AC121E41D2C4BDC1519DDCC0038590C1E6DF2BC2131504BFDA11224205A9184203F852C2D30062C144D250C21A097F42554F0D41D29EC6C0DB673BC2DCFF2C42658859C20AD5ABC1B06A2B421F465342A89BAEC0B4665342297E5C42E91A4A3FFEA893C1E5538EC2F9DCF441A96A40C276010F42E7AEC5C1673D43C2301FA1C1EA1EFFC12267E6419C870DC2E65861C1A9847640290C08C1A5CDCBC1D285AFC1BC8A07C1870F4A41B81149C14CF869C2B15E6FC20DFAAAC1BA937E41F14A27415F6F03428B23F941EE0ACF41F100E2C1611632C25954214267E2C0C1ABADCCC10876ABC175A924C25D7429422108D9C041B48DC1F19C62C28CB7E3415C1750C0EA881DC2ED3FBD4159400AC1C2AFBEC1CEC07ABF7FCA80421CAAA5427668A74091444442F62E13C284C8124281C87EC25F3969417A362A41715342BF3C660CC21BF2C241D4092E42198075C136F3FDC171C08D417E27524119A18DC15226A2C1FC7EABC1B616EFBF7FBC3B410A766FC1697861C159548AC1FA60614147F80B4272791A42895AF7406FFEA3C060E35A4039F026C1A85C58BF09BE00C164DD3140FF2DFFC19AF41BC2C45911C2C2A109C2184A27C07F52A0C14E9FE6C196633642EA0A83C1528A3FC1D597ACC1C7C63541A735D03E9A18A2C19F9A0B41FBAF024256086C411222B1C0C9EDF7C1698899418BEEE74197B489418B471B404BE042C0536AA641A08D66C1410D1EC11D2CB54177CF5EBFA4E6A9C26A5E88C2267786C147ACF8C1247CBF3E5DA2A3C1E97D0EC17D2A9E42A602BAC1B337BA3FFB7DCC419ECC9040244CC3BFB1A611C1C5AF0542ACAA0D4161A913C26619CAC15ADEB041C6D446415B762A42C9CC35C1AB80EC4006D4B2C0B55DA54124A6244034D62AC2299FEBC0F8939F3F29932E42712BC042ECD4C5C16B3688C147B92B4260738941E26E663F2F4C8FC016DC00427CE4FA41A57233427D64FE41E68668C23E0634C26CCD50C153F980C2C2A8B941EC730CC127C6FE403A9311428833B9C078482742E7D3C341B9861242C24325C277322B41B3D07EC23B0FCE4163DB95C1FE8E6141F038E1C02A2ADCC1BF428142DFABCE41D014F7C062620AC185C295C23F8A2042240D3AC2F373074236369741288E33C1E66983401209B7C1F25D59C2610124C0773979C1B7F18DC13FE784C1D4C317C2E9EF5C41BED71841551F3741CA7D054235A26F42BF379642B62656C2828A8542D5BBE1C242746742F6CD0E42C8923D426970F4C0D4DC90C1EBB2743F8976293F795500C1A4E289C1D89B40C287A16EC102F649C10CCB13409E4B26C2BE760B41BCDCD0C1061E0BC10F9A86C06100C0411B2285C25AA1EDC1C50314C2F21893BF09AF40421A12DEC1F1A752C1A2F610C1E69EC941DC141842C64FA8C0EC024BC12F2C61427889B04177EF97426AA93CC229D81CC15A359DC1AF0DE7C14C5183413878A5414C6999BFF3EB36C1AF7177C1C236E241CCF21D41D16149C2457BA2417A3E4FC055FF8541D891C6419C70264268ADB2419066CAC1B6FED9C148D99C415EE3A0C177F21F422BB983429FB901C29515AAC143DA98C2F053654211CEFC4134456042A602A740CC13454219651CC322E632C27B8EDABF5724464277250242C47ABEC2DA88C0C18AAA0042A2873FC1E9DB2B42C9E245C231060E41B6E30B42AC424242E96083417546B1C176606BC22F9D5B415B739E418AE22D42C14978C13D6514C143920441508280C2E38BA740EA3B1DC2D6D98A4257DB8B425254383FE4AE08C20C8522C22F211D42040B094089CEE3C09DD7FAC16733AF409C4DA442CA4467422DF688410E87C9C167CBD53DAB3130C266D035C20601D241C6A8C6C2B8B56F42D59382C2508F104244D527C26E1B4641FA6BB141385927424D5021C245F2A54214867042E40472C1C5A8F441EA4DAC405903FC4214F7C34272F6184289A9DDC15CD2534217F89D4112CCB2BEC5D9BE424BF2264212E5A6C1ADA0EDC14DB6A64132FA9CC12B8C46C1417D1241861C02C2934D88429854F3C145BFBF42AD672FC29D3090412A1781C10241EA42E8517E41AA3DBEC0E2ECEFC19C0012C2E6775F421E4B4442EDE184C14C7EBC4195EE42C22EC19B42D50E40C01131B441DE4AB0C1201F2142795B95C19D3D3EC0249850C25DC8CB41363F48BF16470DC21FC607C283483AC26E8E9B40ED641340AC7F684113B25A4118E415C2C0E13D42EA21D4C16A163242426A94C2F0808B413CF6F6C1C78A0941767A6FC2326542C20307B6C1FDBE65C2E035EB41AECF30411A4D3BC067C1AD3F30CCB3C214DD6940B64FAFC145929F41A0EF53C2907F97420A9125C2162063C2016192C261850642EDD68C42185A86C13BE282C0A605CAC1BFBD143E2C8E26C2E1E3A6C2AED476C2E20DF8409EF593C174ABA141E5FEA5BEE2BF80C286839B413E364FC280333B4202D92B42100154C28688C2428883A7411C17344223832EC2472191C1208733C216E41042DB5BB5417CECD5C0A9E703C2909F8241776A28C27EF207C2EDA2C340F1FDE4C1956466C20D470C42704114C11C5A034297CC82C2475B8FC238778842C1AC12421D9B0840A3B2FD417AABA2416C28DD41D2B13CC2091925C12FA73FC1514CE741FB05B741DB900042846D66C1680031C26D9376C0CE5E24C1D8A6AC415D8602C21D30B5C1D7625E41D06EAEBF5BDFA6C1006F2241835E9D41F00A5342EC398840B65D0F4273720942D9B22541B66312421CF81742759A8A425554C63FA37C28C25F585041529455429C44D9C2C3B8BC41932BBF41F4B086C2D28FA0C2BF0D5242B8E6A1419708DAC11D519AC1428C8CC05CCE214283958EC132A90C422403BBC2819B1D41FF085A42E5D5434203680A4272C13BC28D371C41DA077DC2ED7CCD42F4BBB242353991C25A7C8F42FE0CE4C126D9F742CD44C24197549EC1ACA894C2BDA5B24184508F41CD5254416D2E35C2599AE040E4A838C242140BC2B321A441BC41A83F49C04B426591D4403BBADC41493A0F422DF3E540C232BE41A9536641CFC84842719FD44115A238C2E0F99DC1A6E3D941005C0CC23806A3C2FF060AC2850317C266B90342475ADC416A81414288CD514210DBF8C16BA7C541B750D9C1D8E92B42D8F124418825994112FD3541578CCFC0DD89C0C03C2F8F41AC4C90C013D14DC2C08424C2C8359AC02C599D3F8AE18CC1AEB11FC2BD97E8C117A2314210A670C1CBB984C191AB1E4225BF63C1655E2242F518ED40D29CD5C007345CC11A17C4C2F1AB6740CC1CC2C150084B41D66EA940FB5DA14184EDB8C180F67642F35899C1A8A39AC187168F416B9365C020485DC1F9108F410E21A4428FC69BC1F9622EC2CFE62A42E41AC241F3BC5941DF3566C223B718C15B0593C16634AE420878B6C0B5CF06C2CB4F74C1CC20844141CFC8C14077AD4048C2424285C849428B2192C1F8CE304234A014C2E03457C271F78AC26D651E4105AAA6C1541E1E42F3EC94C1B89C54C2F29E22C19A73DF418C7BD2C1A20B95422E2C0D42FB3BB3C2CFF3E641B98C4DC218754FC19996E7C1CDF815C2C5EEFC411EEAC7C151782FC10E803DC29D8502C2454A3DC2DA968D4163079A410DE337C1162E09C254EB1BC2DDC4194134A993C1439D9AC2762207C25A0B62C25AB834C19477914074A6B6C1701498C2CA29634125187B42EF87CFC09FDA574104EE52429C19DCC08A684EC26E75A44187910CC2DE5C1842C8FBAC41DFBF53C2BD188742AF6E9AC25115C641069A28C24CE3B1409F4555C250CF0CC0A185A041F69436C1DE68CEBFB57AC54072D77D4258D3E6413757E6C0F87AB240DC677FC2B933E441DCD839C240EB0DC0FBFBE5BFC563D3C09DD0F4C107BE21428FE93B42EB1F9A4266311341AB4036C16BA3E6C10945B7C118065A4102E293413B40BA4257FE9E42F9BEF740DB2C82C1CC5A7DBDF848E8405C2A824038DBB840BE384E4233E1194152DC5AC012D482C222C47841DA575FC1C5FC3D409C4C8B41297381C108196FC15BB797C1618982C1B84F8AC1A9CF54C130CD79413CAC0A42C84633C2424293425ACD52C29510F841802435416C2474C2942BDEC198B413C2F65A0842DE9C1642523D4342D07B2C40F4005DBFFFE5C3C1C00E6B42D875DFBF51A619C1521B984119350BC1E2817B411186FD410D245D42C3FE6642571E1F42387994C10A44D9C131CF3CC267B195C18723A53F8E59E9C16CA7814232E8A1BE68F80D42B654F0C1E45E75C1B75EB0C19704BAC0AD4B3B42E58A88C2A6DAA4C1CAE536C2FADD414237329942C64E4641968E88C0D4E72742B18860C24728284227D73941D02787C17DC91BC202B37AC13897E5C14BAFCA40B66781C1CA97233EF1A62D41AA294DC2B8813A4295A254C26B231D40CB42EA40A85DAC42253B09C123D8CABE0A9A48418F95BDC0927F294272900842FCEE70C27A0A47C2776D74C20D96144280607A425BC798416B2383C05ED2B2C16DF61B42C5F204C202B71AC293A7FC4120BA01C26D61E8C11C8BA3C1DAFD97C1E0F64342089B47C20F2A684142436BC2AA47EC41BCDBBDC0AD6A0A42C402D7C02C02B141F10E2AC2631DAD415B30F1C02C4B98C17C1F8FC1E0DF1D42F1F0A742443553C2D29165C18CA66DC15D598641BC0B61404058794295872FC16035A441C8D93B42CD782BC1A7491241484F19416E7B6CC10455354230D44C420CFE31423C2A114197F89FC191960AC2F5F8CAC1CE266642001E8EC2780F18420A82F0C14E35BA41F84887C28CC9DBC1E53C6E417EF01F41FB969BC1C75D69C2E75280C15DCCBA41B21EFB41BBA53442839F1641D71DAC419F01E1C0517E5842C26A97C0AA66B94109D43CC2C49715422993A841CEFC1E429E0212C2439F5FC2C39828423C4393C18F844C415285F6C07C92B7C1DA28A3417CDA02C27927A940836613C24DB300C2D595F541FB0109421D65CAC12FC913426431FE4131003B4247C152C2F19621C245C6DD40B422C5C1E8002442F01C9741AFE87CC29B655941399917C17328EBC17E965E41E98D2241ECFE1D42724B2E42F8EC75C17B21A9C279DEA4C28D23B1C1D4BF00C2E8DD4240BB7116C2923733C1881C48C256288B4133D105C2454C8DC2A88F97420A9F8A411DD960C151E3C6419512A3C1A94573C210C19B413DE90342B0A602C2EEC360C1481480C2067582BF249CB942BBA579C1AAC59B40A241AEC1F6A150411533B24153D89EC19FF592C117CEB742F8F23A42247F744298AD3F4271989B41AA8AD0C12CB7BAC2BA7624C2FB2C3042F207DCC0886D0A42D39E19C2207F3A41E39A07C205D3F14110C0784174F91C411D95CCC15942FB41A0898CC2BA7C4EC20FB5F9BF721A44418B0D8342D1A79AC156EF3DC1DE110DC22B0886424A8283C2D19D81C1E90309C1531FE54187E495C19296EAC2DA0059C19B36A0C256D4F5BF14E612C187689141FB687BC1BFE7824218A20C42BC596AC2EA7A7342808250415077CE40181B8CC16D9326424D0B79419196D54107B689426B57A7C110A6A74172CD63C05F8C9B4145B51C423B00884014E1EF41DA3AA641803C2840413AADC1F356253E2F54CCC0C5954C429B7F3742D1A6224259E80D424AEA4EC1049013428EB7964117E58242FDC2BC42120432C27AE8F3C0BD5F30423BAFE43F4BB3BDC2C5B22F416948D5415D578AC180E1B3C1179FA6C1AB94BAC2B29F63C28D71A94051596341CEE5314262D225C25A4379C11C0890418FFED63F131EF4C13D840D429E63B6C0870CFA41C6F01D41AC3B5FC12548D2419BD707C262063742CAA299403C115340E08F1E42B16C20421D0BB4C1A5349E4065B2DFC02DAE2CC17BB3C2415E4EF3C1FD3E4AC2DBF79E40F0AB6E424F36D54174E5A9C2D6849842E779B041A06F6441FDD108C2BC2D76C26FCD20C234882F42E7519941C349BCC23D9E3D4265A0BD4141534EC1D073BFBE4F7507C2516DC241AE6F31C054C597C1998285C2154788C2569BBAC1FCE904C128B4A441C98F9EC1694E2CC1BCF713C23F7E3342AB0D934163A3E1C13372EEC104264E42C57ACF41A87D0341D1507C410D5EF840CDAA64C1B39530C228C238C2CAB4F1413DEC16C2040F4D3F0C7EC4C02935A0BFCD491EC1988038425CACD7C226E87DC18B7E1542FF2E8B429414A842102E9CC1DDFC86C0F3DB6FC20ACD1DC2BCCB62422E6F6DC27F0BA041C43AF341678F364159F01DC2AEF669C163218FC1F3FBC5C1C4D1A0404B0094C2FCB9D6BF5F0F8741DE05A4C100845742AB8FF7C0724935C2128C1542A2051FC2FE4C314135941D42A66709C290388CC1500FE0C1E9E80EC28176A0410462C941566386C1BAF60C423FD486BEED406B425CAE23C2ACCC8DC034E478C133EE883E1B660B422A65024250D0D3415A1FF440C34541C17A47A741D7B21A4263996AC187BB77408AE6E9C1AA41F3C1910D04C092ABD6418DEBF5416901AAC176215F423C6A29C25F1559C2709D084102DFC1BF660950C2148246C13041204223BE974249FB3F42B5B03642893B37421927BC419DA2B2C18428B1C1CFAE6AC2DC0E6642535AAC41AF20F6C1CB0C86C2883BAA4057A17EC0972B42C18AB216C286F457C2E090B9418DCDD2C136A9C1C10D7BE9C195B36D3F4C8CB14190386342B0502DC24993A5BEE70EEE40D58FF4C107AF91C1862056C063B324C2EA3F82C2F5DA0141875220420DCE68428618B941F3A85A411E645FC2684AE2C1B4C7F5C1196862417D14D9C178431A429CDC86413D062AC12F91D541C4F63441B51C4742B4A289BE1BF006C27B06A4C2B41DE7C1DF0E913FDF768042E632C141F00F7AC078C0A4C130453342506906C2DC69D4C19E0E14426E1676C0D587373FB955D9C16B2526410C752B42F1665B4140314442214BA1C194CF8B4199EF95C1CF0720C23037FD41A8CF5F417DBD14C2A7A3A1418EA659414C5996C1120E10C24BED8B411EFC51429BA49EC14AF092C21144EFC191F6FBC199C40A4285EA964242C27F40D75A91C1E4DF674245FDBCC1F95989C10E31A24175AA62409D76B4C0F2C6F0410F36C341169BD24127BAB34072EF79C01F0A3D4256CECE41802BD040B3A9F0C001B87540B4A6E44133366D41DDF6483BCDDCC23DBE1231C1E91062C1534E6F4124132542DBCDA7C14E4CCDC1211C2DC19063A4C00502FA412FBDB1C147D6F1412A5B0BC21A5460420C35E1C1043C25421379D8C0B7E11EC2065F17C2D02291427C294442F6FC40C193D9D93D6F771DC216A1D5419A0CA3C14B99634294F2EFC15CCCDA41F4FF9B419AE92542B3695F4216AC09415E2089C0AC06B3C01FB9B241E8A25841EF18A1C11AFC7641752BF6C0DBE243420CCAB5C1A5B1D941EFF715C2B76C0442513BD4C127F46942BCB113C21EBFA34156176BC23E1030C209ED80BE63A55142763ADF428081ED4171A28E409587F04137277CC1BC2FAC4190AF2AC2BFD4AD41867B93412A3D8F4138A97DC2A2060141CD470B42B61C7DC02CE092C2B2D70EC2C17E4842595BCA412509F14179B592C1F68DDCC1DF758B41FC50AC41F8DE7A41412371C25C951342E9CBAEBE3C5C57426FD75BC28D0384C2314B5642444FD6BEDD709AC146A999418A9FAF3F4FA9744298ABC140FD8314C20C527CC2D856224295191BC15D6BB5C0A0600941A38883C1E2B2C8C102AE1242A5BA7841646CE0C1B17833C25C0D74C280F126C2B9BA55C26A2CC1C13E712540C26C90408D4E9AC16E146A41EEA8BCC1F05473C2B48FCCC12BAC16C20B7A85C1254B3DC2BB1B62C22B711242EA7136C20722B9C0CF94B7C219349BC25F843FC2B85A9A4260B6E7C1549BC2C12B0BB64180E6CCC12D08AF41B12F0DC25D36A541A8F00142729269423DB2B242D50BE541DEA9F8412FDDCDC1B5678B41E94BD44186582641CFA87BBFC84B62428192E3C13ACA264291F30242CCFE2AC21F4D4E4202DD5E409CF52042702D81425BEB26C2CD8D364273E596C2B9FAABC1FC700042310872C28A008241FB77BE41459B1C40619B5242917D8BC1949CEE41008691C261FB9B3E73C32EC1C758D6C2AEE297C11BA2DDC10E73A242A6BCC041C4BDAABF50B9CAC17F94E6C1044802421075E6403F720CC207C1B1C10AA12542781522410ABCFEC10DF3D23C05733BC2EA2E284251875BBF775D3D4175C425C29EDD8941F287D3410C5E31C152035AC1D13943422D572DC23573924110D22941BD413242B5313BC1B1D2A8C1D1AF9042B5653F42CF133A42E41FC63FD158B941C20568C210768142E731CC3E6D51AFC104B6AEC1528B3142A9F2EC41730872C17FAEFCC1B9F1E441A2A6E241E7722BC29B2814C28C2D29C2214DE0419E63FC3F53ED4742F5AF9AC227C69741ACCADF3F8E460D42C4513C423CDD93C19FFE3E42C0E35E414B8BC7C16B6D9BC2B1A783C2555A4AC13C3369C296E771C1626610C1F9442BC2AB17A641C8B5CBC126ABBAC269358F418F4330C2EBD7B8410F5A85C2F88702C27691CF408AE200C0B8C3D441AA596DC0ED229340D740ECC1748B3EC2BED28F425B91B841690FB5411E12CE41CE3131412A5807C2D81751401AA699C017B3234267A950C2BCDB16C0CE15EC4164EC4AC2FA0102C00CA6DCC20DD363C2FCFFC9C11817C6C02EFF28C21BC116C27C266B429F44D3C024C125C2A17393C12CD4724104AF354074C33E40C130CCC1FC7510C21934B94008291AC1E84E4A3FF46A963FC39F194298FDC3C178029F42D8188BC2C65146410DD99241A13313418A0E4D410599C2C109F7B1411E310541C9B828C1CA61B9413D14CBC17B1292C1CCE38142D47913C2C0D959412E9CC6BF6B4B24426DC88A414C9966C1DDE840427A0520C1E15D8CC18677A4420D78FF41CA858D416C832D427F7151413DEA9542A5271DC1490D0CC25BCEAF4021731042A63075C248107FC25D77A1C0C4B52442EEDB144287040DC2AC1624C1EB8D04C2DD43B5C1F30B4F3D08388BC118EA04C179714FC19DD35B4204A3FEC16F108E4135FA383F1144244264D280C0873089419351F2C02ABFF641D9AF8E424B92D9C2B9995342EF1C97C1C8AC9A427076E740ABD0AFC11D7D6FC2F1A2C3417D9B374199ABDFBF20046F428A47B740CBBE20C2892F3DBFF014AA411676E63CB1E934418E2073C28E02D3C1D3CE73C24ED04BC162563F42C13E8D41FBF574C191F8F041900F53412C1DE3C1D5312D414CBA7140607936C21CDD89C21B1CA441CDAAAC42A342C2420D9582424129BB416332C8C090FA17429C7086BFF57D4D4273A205C1CFEB85C13ED123BFF51803427A147DC1AE5F0F410B9B14C2CFA039C2C0630EC248144EC235A383C160FEC6C1F5C868C29351BD428CE109C1F7D22FC0D9333DC078304B4281A710BFA2C2C8C0DC9F2442C9DD51C0AB40C341FA8FF2C17EEF65C2FC0A084275507341BB92BE422E886642B4AF58C20836E2C13BA9E340E49FE841B2DF57C296B3F5C16BF53AC228D841C1564E77418DC8FB4164169441D65D0A415882CCC14BE58941B5FBF8C17D3B36C135AD9B41EC3A1A42B39B89C1A5084E421CDE59C146F0AB41D2B7A8C0CA00814139C755C28B88D73D25763842A90FEEC0DF38B7C12FC49C41ABA90A42FCE4C541C8256F42FBFC83C219F42642456E2041B575ACC165F3EE41BBC08CC12A1BE640A0DD8141780CB4417C17044273EF2BBE07662D3F6A9EC73F76501E420E8F6441A69A0C425D54FAC170C3384145431B4237B58DC14FF2DFC138968BC1F530A8C076CB8AC11420B6C08E5B814051D380C28DD1DCC1112CCA41E8C001415534BAC1F70A55413721B1BFB44D693F20723B423962B93F68CB45C1C357804199D0C23F7CCF0EC20653E2C179BC7741849D5BC2507627C15809DD40BF1A1A41CE05623F2FF05FC1BBF650C1D3845BBFF4AE8140EFE28BC122E199C1641C2CC2B1DBF7413D40EC418BDFB4C1D55CEF42D0BDCB428556F141391D4D42DFBA87C1470FBB4127699242BB4827C2807D4A422D9236426F758FC265AB41C1DC8386C0813AE5C1CC4C4E41BBCD83410EC0254168738E4243F51042C071D841247EADC1E05C0AC286A59FC13D4605C1EFA0B84184B774C1A0EFDD4039FE714157B0B44153757C3F1D26F6C141F40A4274B91B42934A1AC3341F9941E2A55DBF7837E14247DF0342F1ADE8C1E93CD2C1D6AAA4C1EC77D742C35117C14AC229BF4FD2814160028A414D8889C1729726C2043D56C29B4C38C2C437B1C1A30309422861EAC0E0E16FC1D29288C0F0146041B977D1C1E7D7B241B8969441658E55C049579641F925A53FD6E5DAC10EDC8DC14F4F0F4298EAD242076F4C42D07D31424969224296B415407453D9410B4B02C12481A142229634C253BC6FC1259FB94148F85BC28040A2C00EBBD94127C8E44156D4A041F9AC274269BCB5C1EB7B90C167F91EC2EA8541C19C3B70BF9A63E040E81D6BBFF1FBFDBECC7A374052B4C3C0E8E3E6C018C23DC17339F9C0DA89AAC0AAB29D3F14E152C2D1189641FC969F401117F4C157353FC2E3DA6FC221B489C1F88C8CC1E1E316C1CA234F41CF851941EDC21C42553F453F8F2D1C40BDBF9FC1772BA041242A65C1D0ECF5400286FD4085EE9341C0419A419E1D5342FDB5DEC1BE9F304100C2B9417AEA8B40ADA743BE3733084134B10DC28F8952C0B6C7FFC1F4E2ABC1FA549642CADB6541BA1A4D42AF980EC2450227C289379FC1555B3F40BE7E8ABF1302174103C18D413046A641792F8EC1E670DBC056B4D2415073454279528E419ABF594283D22442B5AF5DC12158814103BC04C2345408C0E11AF4C1846CBF41DEE144C230436442BF2E10C24569D9419DCFD940728460C2D97BA4C1A9A18A42CE1F3DC27C432DC29023DE417C1F2740B2DA39426FF077C1197024C2A484AAC121ECA54275E035C268B452C13720DA41848D88C1D3AE05C2133A0BC2A36C63C28D5A31C2C5D263C17A4EAC4081C22441F85A79C2D11A93414F9E89C16F1A76C0AFEFC4C1733E9642A9ADED4168B7024181023CC2C0D458C18FB11942EB7DC140985199C1C80D00C20FF5B3C0114AA7C1017F3D4036690AC2DB8E814253B103C187D04A4236D544C1613920C29B8A7FC16FCD67C2A0391B42D988B6411B185042B413DC42FCC68441E710D74164B092C290073AC275F200C2C474D0C1009C0C42345BD3C1A2B64BC218440342711EA041550A094133BE2642B9DFF2C1D8DEABC12E7D84429AB8EE41BF85B640C271F6C1127C3FC1A2256D4293523042B706AE41E23405C238AEA341ADB8E0C1B2E5923F3B0CD340075B27C27FA16DC2200837C18AD955C0E5470641C26E2D427F4F27C2980F8CC1A0CA8BC28F2EE540A20188C2BF333542FD1A8741E67EB341FABBD7C1BECA094264099BBF0A2D08C11C5B3240028E49C26CBBAC41936034C26AF31D42A853DA40568E21420CE818C2486610C1241684C18D7E0A419C563A42F5F5E941B3A99BC0B6F786C1E3044342AF639E424DECC642CA1E5141D14923429B7531419AED3D4286FCF1C1720DC5C26C22F341BB49BC4120986BC1821CEAC1335885BE965ABDBF53E490C1D0129141E52DE54113F730C2F24E6C416FD28B41975E2B423F303A42ECC038C253AA6CBF95A559C057922C42A09268C2E6C4A04105F32E4209E87CC14AD1FBC24A2010C1AD6D0FC24BD81AC208ABB3C1BE851EC115B93441063C5141A2ECE8BF4DB13B41335F09C2CE58D24189DE8942CE6D9340447705C2BA275A425ABE7FC0367F21C205EDA9413B2F64C04518F44083E57B3FCFD80842D7F3E041175687C13C19533F987E8441FBB3E2C1076297C12CC83E412C2C5A4222273EC26508F93FC7F46F41367B56C1B22CA1427B8A8DC210D48B40DC1381C2F7D76542434D20C223591342C7B2B0BFC9662341F6C2A2C24181CE409BEB8C41EAE15D40C1DD3942631603417233F8C0B7103DC202DEE541C258D8C0EA2A46BFFE55A5C16DC3C241C48590BFF26C09427169CBC10766A641F7001D42C2088FC0B65AAE41F3BCC1C1FD24D73F28412341DA5C4EC11044A2C1A1CE14C29A7416C27C2D9941BA0C9EC1CB6530411BB035C2CBBB05C2696A2B42989349C2FFA888C1AA97FF410B6F35425B2F93C2C5C55940A57382414A13C341EE9FB14030759CC1BA63C03F7F6CE4411D4D8B423DE31AC1053DC240F90667C28052C741A5C17241BEC7714190F8AAC0F843D0C14284A640C3E948C1757D16C1AD0A36C09FF0B9C148F984C067692D42C2F003C22193793F3C6F2DC1E30DAF41D7B895411CEF4940C7615C42FCC32D41F84AB13FF49BF141951562C28AF1CB40BA458E419E18EA41A44C9B42F525A8C2C37B25C1ADCC13C27ECEDD41C9D469C224882ABFB441D940AA24C7C16D1DE740B8FD2C42CDE7224254891EC270D3CF413FEC9741DA2260420DCFFFC029C6F3C0CE1401C2737989416BA8E3414F56CCC0BFA42042E8AD09C2CA39704229F109C261C988C25DD59F42A5DEF9C189442FC0CFE908C1587909C27E78C0C1C4D71D42D35D93C251283E415CA00EC20E8AD941666ACDC14CF253C2699853427609A0C1CB848EC2FA95293F5C050BC0133D1842AF272142E4E9D140815CECC1DD1689C1F3A78D416DA84A41C70612C2894655405F86A8C17614664248DB21C2979A2BC0310F3341C3406F42CE208ABF92893342A669AB42EE9C1542678E99C11D47F2BEB9266DC2557CAB416C7DA44225B108428618CF402E8B95412928B4C16A308342FCA50342FBA884C1ED8223412ABC094284F10942CA191E412B00EDC1975150C210880AC2625DD941F37C1FC1E9461541A5C04541AB6E5AC271060142361640C0582539C14C5CE941C6E848C1FA08A342394C9D4128C771426082CAC1DF792042352B9041D39E8642EF6C5EC1103500C202B3D1C13C8EA1C137ED1C4285DF0BC1827DBEC23888E1C1B57B2040354EA540F3BD294174BF09C2E43E62C25A796842FED55A416B5007419B4047C26F48F5418A059EC1054E4D3FB99697C13FDA964133CCE6404B0708C2F7C7FD4124FE844275530442287E0B42FAF79E406EAD91C2996ECF41D7BE25C124E5F14167C4A4C1DDB6ABC1FFE150C0FF54D3C16E7F3F42284C0E421EB399BF12B58340783689C14FC99E41CD13FEC1390E94C01EDA17C26A4AB6BE4F4BB5C125415E42FB16B7C1D30C1742316EC6BD12B11F42DC4088C12B6240C1F93E82C15B6131C1A8E896415F4A30C148B65042303736422EC2A9C1D157D7C1E963DB41BF7653C2E25AF1C1E833CB41FA5A76C0BD0C774110A33FC24E6D3EC21411A8C0F87F16C29FB70BC2E04503C2C99732C1052D7640D4A26D415889ADC1F3C451C1686190C1A881B5C0A6B646417ABA854162BBFEC14EC758C0A92DA3427CBFC142FABE5F40EDA85F420D959A415E1874429CA4244280C6DBC0205184C2B56B9D413E2DAA422D9F09C2D8798AC197674042235A6FC2EF0343413A165D42D44EA541ABDB0B42B2348E412869FE4172E301C1E947E8408DC060C2E2FF83C1236D2841E1BE8A41827267C183ED9B413506D94156875A41595DBBC2C8E513C15D8769C27B3596C2D5ACCE41D40DAC4150550D43143718413874F741959BCE40136BE94121ED5341955302424E23F340FC046EC28F452942F2DAAEC03CAF05C23A665242085401C100363D42ADF96340BCBB1E40FF66DEC152333CC178645240E668424091DDCCC181806640A6B8E1C131C410C24B272A416CA15441B9D65740901A3FC2F3B875423B5410C2E5442A4161A4F4C18FC765C1F083D6C1E3C6AB411794EB4109E282C2312395C00DAC6E418CBB8241115607C1FD0690C12F87DBC0E466ED41CEF356427DA2854282DC2D423E0B2E4214450DC1BB659DC16A1AB0C252C2C641213E4040F4A22842FC3B4D3FAE6F14C1EFC0BDC151FC3A420495B1C1184F1EC0E8AED2C1D9C087C29E17AAC1DC5FD3C2E8ED15C2BE74D741E6C25A41463CDCC1ED561A4187AA93BFBCC8CAC1D0239DC1A8F5DA41830BFAC1F00CD1C1B9768D42D5BFDFC06E7545425CD098C054782F42070169C08C140F42361897C233276A42560C5FC1EE6174C1FD9ADBC1F47F4BC0E35905C120D69042D714A841951BEE4161EB2F42172A32428ADC88C0DF3CBEBFF53C434020128540DFDE2F42B8330EC12D2CD5418B2822C1EC0B1DC280664442A5AC73C290DA11C2C2EA05425248ECC106A55B41BB657441D1E498415EB09F421D4446416DBD5341F547C3409F01AC417A388D42A2572B41D7BD3742184BA34000812042424105C2902201C209264041803BA8C22FB87341DF5199C142B1774211EB0F4182428242551C50C23D21934135812CC1713239C17BC63E403AED98C106C087C175DF08427526BC42E9021140B202574162C6B341E73827C22C548C424A8048406E8E5E4206B4C441E45296429B13ACC118B6CEC1F3A72EC212F1FF404DCB1EC2D7267FC12093934173E2C1C2D99130C231AA24C175EACA41195F55C095CEE8C1D54E9CC276028E42E1BDEBC1538E75419D809F409C9CE8C13E2013C1430004C2270024C2CB68D8C15BEF23C2EC2FB9419C1ECFC1BAE206C204022EC106B299C1EAB9FB41FD001842745004C21B73CA4010FC6B41E2DF93411AB347C278DE2E4260004E4212DD0DC08E30CA41B8D8EF429FEB9AC0C60C11424AD61FC22D409741AC8F8440CBA30FC001A890410BD8F2C14218CDC1F8D0F9C0C6A6F6BF94BCBFC1235F9841428042424D287DC1F1363241B9470FC2356B0BC2A4E809C233E34F4279707FC26633E14187EDA0C192063E4126F988C20BB90F422FF46E3EA2EE8E40C59694C10B82494293386742046F52C24F760F42435EEFC1C4BE27428E04414159BF91C1A6389EC20EC680C1068C41411AA03A423B8DFF4116F2B641DE32C3C1B79F7841D91E38419DFD4042EFB53AC2A2BFA4C1F4C1FFC126B42AC00C7F2440A47CD6C05E4018C19A700FC1FEAC103F4FC435C1F01011C1D3E58141A48944C2D5E86BC262D00DC23485CE40252A2C41AD5ADC415A9B34C1180B1AC1B12915C1577535416EF733419DB8A7410CFFDF40D60D4EC2BAA2EBC0D34878C1F1298441A2A6A4C0562009C266DCA3410DF5A0413CA6B642FCE8FA410A6A0541C12249C2D22FCFBFDC1436C1E057EC41301E81C25E542E42A45C7FC1054C8F4126A185C15B3C9F40DB199041481880415C9BC54165F23242B6DA1D4223F62442D2A83442A514ACC2F9F52FC11D362440A052F141152286C2EDF2E7C16972CBC094D4E841A6B8E441EB3D05C23C6D5AC203FF4BC18D956B4203BF4B429F73A641CDDBA1C10C7A89C23225F440C7E843C077684CC1855320C15C191B42E61303C28C758F42FE61C9C155CEC1C1337783C16B9EACC23000EE416D715941DC9F524225766C417E72C4C121A745405DB66A41F20922C20B635241743EA4414D023FC10DE3B041E3E7E93F84FED6C1DA0B4A4087EDBAC01D0D56C11A71FC414D3D0DC1BC2EAEC04D590AC272231CC22234B2402357B0C1626182C1C2643CC12A0213C0F105C1414121474217198BC1F6F6F6C1B9285D42F6261E4261D8D141136592415FA095C15A56B141ABD63EC1ACE427427F9153C2E73D01425CB895C1D7AE10C175B23341CDA43041DE9E24C12CDA23415C24B44154C7EF41215D1A42540410C2CCECF6C132A710C257AE15C19AB101C0409C87C1CAD1134268C9CCC16305A5C1EED90F42855CEA41CD7B803FE518923CF78F3AC2AE6A894140E085C18399C9412FE4EF40FC869441F046A240936A0241BEA559C1D9DC67C1F88E3FC1FC2B4D41D10F86C16E10D33F88F35A411FF1BC415172F93ED240D13ED88D144066C4F040916C1741A350E941E8933EC1232C9141AE7DC0416FCEB1C18EE488C090B4A7C1C5F0B6409122214082137FC12FCBC241C1B618C2AF27FFC05924B6C0B7D0F8BF3A89CA4037C5C240EB68F1402EE548C18EC12C42369D7BC1697F09C1CC1C52C16740C0C11F3026410DB6094228050D408FE1C1C1C960994191CBA2C1B29F004230DB5AC0393A09C22EE41C427218C8C018908A410A9782C1BAB4993FB1521842FF4D8C415713D3415368DA40FDA04E405757993F3A10F441C59ECB41434F72421BEC6742340972400FACBA41D362ED4136E264419CD919C26188A441F203C4C153B5474020D1C940E58B95C1E4E4FE419C18F7416B192A42D69741C0EF2115C077DBB2C19DBA6A419749C1C16850ED41DE0412C2215692BF3FFBAABFA0F63AC19B5E79429EFF55401EF0A9C15156C5C0C347C2C1C517E74112BDC9C1F88FDE412C088641F87E17413D560B418B436741A13287C247C363C1003CECC197D6DD4036139B41C5D18BC1187469C2E36C6B4015B628C1151B1642ADC8AA410D80654185B0584055AB9EBF28D417C2129D9440DF56EF3F5ACD82C144AD1AC10378794111F5B7C1657088C1CE451C41696B03C2B3D681C11F58E3C10C04414192CC0CC296E579C149DE64C298C5F6407B4046C2BF719841B667B541A50C71C1356C87C1146CCC41247BD5BF67D55AC0DEC354423579F8C172034441295FAA417536A14185A33F42394DBAC04E17A5C1D25B854112EB4C42EF0CACC24C340E42D462AEC1AECF37C06FAB69C11F6571C080D83F40F5FF1F42EF9013C2A197C640E3912FC2A1B2B1C115E7AE41051C9FC1189D38BF20180BC128A6EF41E18A46406D84064261D92B42569A1DC22371D5C197AF09C1A37A04C233C92DC1AD194342CD1B874210FE84421245C8418272144014E89B3F8B896B424A33C9C103B189BE38982441D89C93C176163E4106B6CE3FDF0382416E44B4C14ED463C1EACF1841F0C406C20EED873EBDC051C1125FF94087C38FC1CAA50D42A9B4C1C0F9B58A4125CCF2C1C9DF6D42D751A9400C13844130C03E40884B5DC2DFD83DC27CAE34C14F4780BDDEC92942A11E95401DF811420F0DE9BF17009540B2C7CCC1619C8540ED82DD41D4F662404ED9ED41BB573241AC9951C2646A3841119AE9418FCD014005D54442CAD1AB415BE539C2613A7B423220973F9EE7F1C1B0B6DB40E17CED41AF3DA041C7521DC12C0B1EBF2B9427C12F6F854118D70242BF5E34C2533062C04193FAC1FB63623F53019B42E6A44CC168DDE1C022B2AE41FE0BE341B7A68341CCFE40C25DE06E42952AA54101DC2EC2ABE94D418346A24194E19A416B8340C29AB03DC2850114C23CA91F42AF150CC28141B241B376ECC2379BEE41DE783BC130E7B5BF552B7F4170FDB4C0EB03AB4187F423C1E9FD22C21EEEA8C194B0E2C12753F24106C090BE92591B426E2A883F984ACEC098B9E7400C5A2442CB2517C2105E9541E08449C2D5003BC11D0811C15F94FB406B76A5C1C76074C1F59F0A4028BADCC1798FEAC1F94F1DC0FD3909C2012C34C2CB818D424D5EE441DE7CFF4047EE4BC015B888C213589E415CEF8D4276AD544221BD1E412B2662C01D5397C11C1780C1A59124C180419C401F919A412EC25041B7131842DF6B24C2655AA33F018935C1290B4040A59B2741E3060242B6331B4125CFA0C1F9B3AABF34CEB93E6E7D684216C31542A0B61B41894C1E428205DE41C2381C42901917C2EC9DDF3F8F0873C1E3FD4DC189E69CC12D915FC291A609C28B8606C1C400B4419B8821C17E58C2C06E9F0DC2682F17C2EEF33142CD9EE9C130859CC10F753241720C3841181A63C1CFAD314101322042F2F11D41A50F07420CA99240FC211C428787F4C15149D1417678D340739AF44135A68241F764114202A0FAC13B2797C139185D3FC6DE884068BE8B4111AF53429943694143AD43C1F47F3E427E8F734257C7AB419F6E1141846653400FAF85C286AEC0C190D1E9414B2381C26E6A1541C01DF1C1933CA44141023B41C63A1241CCBBFEC1713936C2BE8FDAC1AA7C1F42F03A59C1221401426B3DE4BFA6FD05C2FD2E0E42A29A5BC15D500BC230311641658F10C042730EBE76555F41F2741741E55660C19EADA441073A72C16B127B42D5FA8BC0E8085D41C26F4CC1F76979C188EC76C1473D544189E328C2F87EF2BF747A2CC1C6F9E7C0A79DFA41E6E07641208307C2F29FF6C1E0664E4107CD3AC10119EEC03D7E30C2B3EC1F41CBEEFDC189939541F62CCDC06D2158C2A98DFBC1005282C12E7CD1C05725E9BF69FD88C18740D5C1CE47F7C19815CA403C581E42E7123B415641954109B8AAC1519255C2F536D7C010BD19C15F88AFC168733841C8F6C3407AA5DA40461EB6C07FB165416E4D51412957E23F73D60CC1F90FD1C1EE9384BFD1AE1EC2BC88A2C03EBCC0C19172EDC0A64F1FC2B24B9841793CCD4113CE35422732404271318AC1CBAC4FC09FC93242DB5849411DA030C2442722C2D36E34C2007FD5C0FCFC9B42E74B15C2328365414B19ACC135E5BD41717979C2C7C918BFB6BB56C0F1DAD141A49EB3C1FE198FC170F5AD4194F69A419FBA46C11C08FDC05544014264DD6F412B5A0D426A085AC22F8DBD405C671DC054629241C4AABD4173227E4103A42FC17C66D8C1526EDAC1BD9E66C2E17FE6C1B0AFEFC1D04256C2621D27C1B85BF7C11262ABBF4BDD36428CE9DEC1C38F80C2E61D8C42435CDD3F73CAE74028E005C2B98AF8C185FF3042AAC41B42567584C2A016F9C113BF71C1A4320442B28FF3C1F972604292BD86C29D120C42C978C3416EFD184232F1B2C1D47E29C1B2B530429DD83742B7610CC25A1597BF45E94F424FB5B9C0D6D99D41BB263FC2FF31E7C15CBF1842C686D5C1A227A941CCE390C2F4665E428CFC89C2E3BDF0C0843F48C25A7149411DDF20C0D0E86642A7B4B842CDE009421D701E425D3A9BC1AE6D0DC257B04D420672CC41C6A12742F4CF2F425E9326C270D0DDC1EDB6B2C1FF3E6841BB7DE341D81BB1BD7CCAD24094B40DC2EF2AADC14B6FEBC1FCC675C09DD99FC119F7144255FF3F3ECF4BA1C1AD659741DCB50E42AE345941C87772C1B94A2EC159EA3FC1BD287941E6C84641424C24C263AE9441BD3F254059151B426D424541F03502C267C2B4BFF3AC86C17E04814244473AC2629E21C1BFF7E6408B4922C2A2A2A441732CF641239A0742BF14A9412F3135C16507F9C1A1C031C10A66BB3F12EB5A425C82824120CF6941BB2527423C75F7C1EF1A8A41C126C041544103C1FF2DCDC1B3C566C1995424C20D4E98C129E66FC188AFA141786C6741625131C082DEF9C17FFF2941366D3740B0708DC0E8720B415CD08741522781BFC91451C29BE3B8C1CFA9D64199847141E812E9C1083F1D4051C542C233BD2D4283301CC265ECB14271E801C264EA9E41FBC5F541B9B96941BDE0BF406C4B83C1085B4F4126A8D04189DE60C1082A6441024431429E9DE2401D227A416D47E8C1B5011FC284F70242C84207C28BA11742AF7B6AC2F07DFF41360038C2A8C3CAC06619D8C159C208C2A798914140AE66C16AE49F4004825B4125CEEE4183CE40422F3F46C0A9F7FA415542F6402AA8A7417BF443427B0089C17FAE19C2402013C1966DF54090FC8E41D9F18BC18F738AC0572D8AC113418D41AD53A4412AD2DAC0A66AEEC10CBEB140E4487F40BD8866C1DD4AA5416216C341B668E8404B7411C21950A43EE3ECF6C00F280F426E7B12425917CC40636830C18951B040926966425C329941CEDE2D424AD25AC23D4135423F56EC4149B15CC2827E57417A84C8BFB953A0C17D7DBD415C4D2741C21499419232C7C11FC5BDC007E0034161CC51401442A6C048CBE5C0059491BF85544F416135D541DCEF5CC2FF000EC2422389C12E7643C1744629C2153B024212C80542397A5C41FC6E9841248C384151161F42CE0A02417383DF41DFD0D5C110167A4196B04342BC518040198D96C1BAD848C194D9474143E5A9C0943A04C2DF8A2D423C342042F098484207752742B588A1C1FA0075C1D7BB36C223C70AC10617C8C0A9980FC199F1DDC079363841FA8AB041631C44C26AF087C190D91942DBF5BDC1E42E5BC25D8231C2308339C1109644424547514164DECC41436F5241D8979F41A9407C42FBFC3AC2B7D92D425B9C8F3E410CABC0938EAAC1B7E6F940CB0D18410A2494C1DE9B54429D7B024275D19F41D1ECB5C113FFCCC1323174C2406A6F411434064119B93C41AC2DD9C1F7F8BFC1398D9CC015E5FA40F2CA2D400BBB8C4018198F42CF922F4012191BC094269EC1A9DD5A40F1AE56415DCF3C42073358410B3D99C1A2158FC1DB7309C1497DCF41FDC11DC1ED6FD6C1891C0EC25F6C10C229B5B7C165E47241F4BB87421810E741F81DC3C16FB8F5C1180241C126BF5241B0482341EC0E75C0C5613F414EDD8CC0AEC8CA41A4D01541FCA5AFBFFEFA21C24B9B2FC27F800CC22D6F11C2BFC7834151F0E4409959AD41978F5BC033C2B7C12D94013F89901B42D5D91BC0046429C2659EEB416211A94108145DC01B19224196ED2C429FEB2B42A5E48342C271C6C1EB3F453FF1AC97C2AA291F41BFDB8B419C5D01C22C1B23C27B06B4C147A70741EEF783C0DD3E52411F099C4106F9D4C1D0B5D2411A8554C2131940C27DE48FC10440E841D6853442337A5B42BBABBEC0C7B3B7BF07D552417EE30042947106C19C1DAB4184677C41B66E66C1D21DEFC13B99A4BF492D5642BB63E94162E289C070D85AC145DD0BC21BB08FC10FC908C1A70344C1ADAC0E41641E284146588941F328EDC1B31B09420AF11942FD68C9418292A6C191525EC26612A9C203A4ADC1F748DC41300A6442285AE341856D06C1C5E12741154509C2EE422F41E53EDA40CC4AC9418AE0C0C1DCB59DC192BA13C2C44D57C1A98AAA40B226C14170A116429E1E7F41C9B376C18DE2D5C172FE75C07ED48CC06F3EBA4067DE15C22C5E85C0C60021C295BF8441E314AF42E6DC3A41C0EA94C12DB452C100D7D5C065BF37422D1C8BC1CD6AAA41535AAFC0353380418FEE4642023EDC41838CD8C05611E5C02931CA40D404C540582F99C19264124204C02E42CC016A3F8F668A4098F42AC260CBBB4138A14F427E4224C1BD987841E08A3D41136B6CC219819EC1928BE8400B24D3C1CE78B6C1B53ACFC05AF305C0F7648642F21495C16963A83F843166C1A2C3DE41AECE52419B5F8442FC361940CCDB7C413E955AC2DCDA24401E3BC641F5E892C0D9D7DAC12B68774106B788C1F99CB9C2EBD780C141D59A406EC2E341EF8A92427BB44EC2DD222042F61F62C2F15FC142A644ABC2D6BBE34166403F41B7F800C2F5A396408003B33FE5110AC1722B29C2482A44C2BD395AC2F28A5CC2A7B7F2C15AD90AC2C44D12C2C160BDC12947FBC1547261C1F314824291E00FC28FB841428B0CB2C1B66AAA40B24B0A4276CAD3C1DB2374C19E1B044189212942E76F04426D573C414551FAC1A9539641D12003C1EACD91C1E58EB6C158EEBA41B88E2BC2661F14C292CDD9C1DB2D48C1008C4B425B4D5BC0B548664274A396C22CE661C2842BD341068296C0D60E8BC14DC4BE41374B4E421F26E840ADBA16C176D90942800E3DC1A1356DC10738E04169222BC24B92F74166DC4842BC3F1042FF9DC1C17DD7DB4120A367C26C6CF441C1B038C1CE8A6C428058C641C0ECE9C163F3E54182587A40109793C0F65EE9C1703769C2A9DF4BC28AC80F426BE0CD418FA7D0C04E1014425DB69DC10D0F83C0FFDC62428416E3C0E5D63EC2DF32C6C0D131A541922F2D42686ED2C0D85432BFCD85084250DE814202A4454218643142ADC769C03AB2A0C1061B92410E7D2C42B66E82C1BB43F1C1A1D59BC0A99EE4C1BF6D0242F8EEEE3F6E5216C24C2BC1413F84F7C12C7B7DC296DA2E42C7D95AC22628F34165E51A412BD21042BAEF7BC108E74342F43169C23D2ABCBF51AFFBC1721AA6419C9D3041D40207C21F10C4C0EF74D8C15D650B4123072AC1343A1DC21B5C29C129224DC2361BCB41C870B8C1201383C11FCB25C239419C419387B4C00D2F13429BC28242CBE874C1B368FE4089A2B5C1067C26C10E69EA3F6BDA3CC161B39B41D91A17C09795D5416B8124C123A72041F4CAA7C101FE5F413572EA41F3EEA8C1E984C84030E687C19AFBB3C08171D641122585C00ACEB841EB2CD9C18614A6C13B6BEBC1BC3607C2F1CE8BC190CCF040BEC3E841C39B8F41595B6EC1422C5F420FC9C3419F2F53C22349C741E94768C2F52F5841D570F4C0420B08C25B913A3F83E44A4205ACBE41B321FAC0E2A3A0C0782549C12A2265411BCEE7C041EFCC40180B0141DD4CBD41716905427B41D9C1E5A0144285A9B041DBDE58418C5F98C1CEFA78C11FBF20C158409C4115D503C1D762B7411737963D2AC24DC0D5C52542A1E34FC03BAE52C2CE7FAAC1430E84C1E3FAF2C0713E1A41366E4A41C2BF15423027C64178D583410D7C07C246FD3442ACC4ACC1D6F60A41E5BEF6C125CBCAC01FB42741ED680BC27AC6CA412C5CE2413473734269736241C6DF7241643175C2BFFF5F41889DEBC1C0E2EF41E85FEAC1E3E5BC41A6CCF741399F9C41AAD01C42F7F2DF402AFA8D42A8AC04400D118AC248B20CC1C01AC840B2058A427B6FC54205688CC124C868418DEBAB408BA61F429C0F4EC2068717C24A203AC1C890A341AB3C9241B6AC4CC2823ECEC1602026C20AD32C42D376FD41D7D888414F73E9C167DF63C2F8F7A63FD3EFAD40CBA889C10C590141B070E141E78EA6C1B3D82442FF1813C25CDAEDC1DB4DEEC0B033C5C0020DEAC1E5A405C24E096D41BE007541EA0261420FFC45415C59D2BF1F8B19C2A8E1384165D5BFC10A55703F6AF98840DD52B4425A64D541864B0642E9AF9342FB23BA42A71DE0411A752441D6A2B1419B749DC27BCF1042C58B1E423E0203C2D6B068C2878D21C14F99E2414A84083FF7EE91C14C39C6C0551041C1AEDAC2C102A153C276808B416213D3C101975D407D6D6B4160F941C2A43712C1A4099940C33B40411121F841819B86C18CF70642AD54ED40EF0CFFC19C890BC20FBC49C2D38E9D4236C74EC2588F2742D3C40FC2CF1303C26EF0554188D646C1069698C2B582654232BFDAC1290027C0EBC9A63FB81980C19E28A4408A677DC18C919C417F3960C298329E414740ACC1648246C10CFF5642891B4D408BB088C07293DD4179AF8D417F5D03C1B32E45411F5CCBC148B95D41447341C1BB8FD5C233C5C04161680342703299C1871B7AC1143ED5C152D908C2B6CE3D42EF5EE1BE0F876BC2225D0642BA4080411C4F89C1959FF3C130C122BEFFC95342B029894181C6D6C1FF0CA6C29BC7C1BFF0211EC276E237C1F4072A42F2300F410FBCC9C1A363A942524E67BF708F45C1D38CDA40A1D7B641A7855242908DA6C038E90AC2868EB341E5C790BFF6E6B3C12D873A417DA831428E829A40526C33417A16554104733EC2380D53C2261B9E416B929D41BFD4B041E347764173BDDB40AE239F417CEC0AC257F347C2EA6DCD40BEF982409A253342A73020C17701FCC1745FA9C1F42C0742F3BF03C261FFF541373689C131D6F6407CE63BC1EADDC841696999C0ADC390C1F51C12C28B685BC2F15800C277811A425BD199C185C4FD4192B617C200707341FC5CD8C0E34E0F415312D3C1DEF52F42BC071AC21BCC0D42A4BA9E427944F3415B00E441516BA541D8411C42F8D14141D98D1042740B2FC279BD5A4179039040DDE993424F175C422BB05A42BD177BC292725941839B8D42996C47C232BED6C1969FAAC1DF1B5EC22D5A3D4275900941066D3442846BE4413A8BD04061F33941A29D4242949916428DE5BD4165DD64C2E65DB1C1ABCD7A41C0B853415A5BC0C2FB55D3C1FEB938C11D4F8E41BCF93AC2A4CDCE41365FE7C11CC9A041A6251E42F94289BD1F891EC22712D2C1C2A374421E64384114548AC2B8679C4168FE884111CD2D418E7BDAC1C66FEEC019F7C941DD0B1D42787C15424EE5AA41C1A7B2C21B9443C262C060C2B9676DC1AAD119C262F8B241250285C2182F24C2735993427B9A9741093C0A42920052C2DA019EC2D9FB12C2829E90428E00AD407BFD27C290AE8341D506C0C1C74EFCC053901A419914FF41BAE0F040855AA2414C3A4EC22B489741B305FCC0B0B7C7C1C239CF4172DAF8C2BB1B3F3FCC1751C26BB59B3F3E7B3DC257BC1DC115511DC1B8B0744225ABBD428FB62FC2A14378C047BB7741C3CA1D420C313042AAE85CC2808AD1BEB87A3EC23EF6BA40E61EC740D7DB35C24238FFC18EE1BC41DD803E3FB724AC410EE0D9400B7B69C0724E9A411AC40542CC227B42E0A0964124571B4140AF30C1A7ECA7C117AB41C13A0E3741E0C0D3C171A803429A6C7C41F7BC1E41CCD48641372A0E42B2428CC17E125D40204976C27163A54195574FC0BDC7E34114B56AC2C6B9EAC0DBCD36C2CCA640C1EE56C8C18A8082429601284265F4194120DB52C15F8EADC1DD7D9F3F0BB7DCC1047776C248CFA24137280240741758425AB261C2D671D3414E0B53C2D497B341CE1293C1BAA39142710CD5C1281E91C126D11EC0D43D63C19E93DFC181E2A6C0FA411842287824421BE45E42EFB935C2CB9191C206D3BDC009ABB64042625241BD9AE5C1EDC34E4295496BC264AEA4C1FBA31BC160341E41023DA2C1838102C18A79B342AB9A6342422B49425761A2C1728483C17F2A81C14FD9D741E41B104259A3E8C1A51913C28B7B23BF48E732C1B976B9C16D4E0542B1F241C1CDFC6EC22383D64170E780C14929664175090FC29AB804C2D6134CC22DF5F041DF5E01C233F4C041E53DA440FAED6D4017BDBDC1584914415BD2FB41DFC124424A3CD5C151BA40C157AF184278185DC1574200426AD23C42A042C4C29F36F4415D0DFBC19CADAC4131185CC23FFAF041EB1191413A87424114A5AE3FF8360BC2C314E0C026902940D57F3DC26B508BC0BBF8F5C1437D12C000103642370A10C2B9A7414184C0EDC1A7098941A3EB52426ED066415FFE6641B576EBC12E3ACEC161271F4151570AC2DE27C9C05EF2B6C18D4F2E419E2FE641F0DE1B408D3E09C268A1194128B401C2DC11CDC11E4975C2E3F3A83F4D2A4D4182631642BB8A70418C2B68418EAB87414D7B563E82C8C3C0B29D08C1E4E1E6C06CE2BDC1723DCD41A40E93C193EDDEC07A6732427EE30AC28ED1E14131C58540A2850AC1C012174140E7E640700F1442A9A78242E78525426C7FDB41AE11AB4123DD70C2685773C1ACAE3041B940EBC142B1123F5BFD3142A136A2C0E827F9C1E4798540B1228A418D367FBFDD3F9DC07E445BC1773543C2B3C639C2155623C1A8086942C8442942CA87953F803D3041D3665EC1AFD9EA41A43537C2C6ACC6413816CEC00ED21142726654C111480FC29B6A3342CC0721C158E66F42F85AE0C1C8A32CC190E7CDC1B065AB41524004C2593E1E42493811C113203342200431C26EDC4541509B84C11A6955C2EE6C71C175B4ACC18E75B8C155A30EC0334509C16B860AC02045E541FEDA03C20A0F9D4190208BC1BAFCAAC067A64741B7E712C2CEE196C16EC3C1C14F5B55C2AFDC9E40FB574BC12BA7D541BCDAB440C58945C2960D0342B212A0C18566B941628C05C13CBAF741CAE27041114AF0C14BC0104224EDB2C17E19E2C045067AC07DBA03C2365B80C1FEE880412D1711C1155956418E3121C12FE114C0D6D84DC0B6F2DBC1813C60C1378A7AC2CC152BC192D25E4113DB2A4268E179BE5A28CCC27CB4044296E283C1C3D52F41E45505C132D0E7401B890EC2B2D0A042856EE6BFC20210C27CA543C1ED8906C18AF56DC17D33CD417995C841D668AEC0B15282C1A159AE40D0C21F40F63A1842B4075BC156798EC04B3D9CC160131DC0690838C1BE21C24034A6D7409C6E7F418456C8C1F26E234128619A429F4E0942590301C18C2D32C1DFFF70C2BD1C68C25C5977C25A359C407C9A9D41F490F141D44598C1E1179DC1D249CFC17D3D3941B516B03ECDFB25C18CB6CD410C833A41A2A1B73F8E01814064F222C1B8B3A5C1750C84C082D32E41A4FBDD411BF93FBE1B4D7E41A78F61C1A44C42C29F482A4101EAD24131248940CE0955C2F27A04C1611449C2EA2D62C2ED0A89C23E830BC2EF5F4C4209E78841A150764283D105C2FD7181C0EF7C7A41D437EC41346860C1B6211FC2163A8A4193BE2AC22ADCF9C16CE23A411D669FC060B21F412BB434C1D02317C1CD241A41E29B454077BA71C1DE97CEC15FAD424070A589C105CF45C2AD0AC341146A0BC251815340C5944C42E530E3C1319CC541EE92A4C28A69EDC0810529C25F761642FB82C9C01FF599425921F6C0E62C9E4106C0F3C159B4C2BEDA3FEA41D83C5AC1796B9A41E457AF428FA21B41FE60FEC19670FC41322413422217844289B19C42595FB5C25DB503414C029FBF2DA29342C5FF8AC295D35D42E797FFC189F159C2ED206A42C7FF8B424FACF3412DEEFBC0B60602C2A86799C20CA752C241C541C2D2BE7742D97EBC419C99DFBE92DA40C0159C16C0474D8E42C8DC5C400C537F41FEAE30C21EDC25C1915A85C1739918C297C9C141837E16C0862993423202CAC00A1AC741346499C1CE6B384243128DC267C8303F579463C1A8772EBFAB1508C2A51244C17CA6C8C1892880C189BF5FC118940942286925412E58B9418D0A9DC251A7DF41045B5EC1967F9BC11FB2C84047D89B42E1D276C2DAA220C27DE89E41310E83414294A7C118BABDC1D1B523422BB16E42A53B5442E27DB2C1F571AAC2B32BA6C20B880DC2C527A140D0A1AEC29B979642BD0C31C135FE5EC2EF3DF24051081C41474AC73F35D005C2A0E9583FCE461642ADE57A414BD07A41A79BBCC1B9E4C7C14B437B40331708429FDAF9C1701FCAC1A19C7A4132EC90C121AA28C2EB1903425DAECC4047A9F6415E631F40E5431142754E7F4299C846C2D4F168C223EF43C2B50D20C2AF209E4198648C41235F08C2B133E2C1276A9C41C92068C1A851564225BA55C165AC56C2B756EDC0EDCA30413699CB41DCE71FC1AC4E56410DBF50C2F38232420ACA78C095C70A41EE928AC2D876DBC15594A6C15C1ACB404A9866410E424FC2C27766C20EC64E42F38BA84278353942872C4C417DA12FC2109195C285E20B4239C339C1E292AAC1D668A641625D1841A9854BC211BB6742FC121C4269E69FC0DF108AC10E0831C18C62C3418E4DB0C14719834135960A41B5C5EBC130CDE041CFC314C1ABE056C295482C406D5BA34112E755419E25764201CA0041BDA779C1E72929C171F7BF411BE0A14157860C42CF4F1442EF840F42887C8EC14C7D99C2C6F905426C5B3BC263F5694023A2D0BFD739A8BF9A014F42C067184127FAA7C116E38AC0EDC15A40B5793840245D7DC0399CA0412B2197401771ED41F4AA28C241B2763F1423FDC1E19384426DA05BC11EC0A34176C3B7C139B2C2C1DA1369407B61A3418D2270C264E1E5C1BFFEB3C0897A87C13024EFC19EACCDC02FA20DC24F3AD23FF616D1C016410C41AEB842C1FF2BE64085EE08C276219C41BEBD32421B42FA4121A00DC287352AC19B252FC258088BBF57C88E405ADB894044CC7341AD5B2C4135B34B414AE6C9C11B0FCEC1C2B210C130B627C2A7440DBFFBEB92C14E73294266AB8B424E3F4E41D66D6742D7241BC20826B3C2BF85114263413CC23508E541D8BAFB4092E80342562875C1088696C081FE1BC270459A41426A53C1C8697540A4AEC34150BBB441845907C232A366C0227F28C2A5B3D440E5EA1F4275DF88BE1B9470C1062246412C64ADC108D6EEC111CFD040F89A24C1C6F498C1F10F9BC201242FC2EFD195C140A54242698F8CC03F3872C2E4CC0BC1BF3D1C42643EE9C1CCC24F4247DA894211D816C17E55CFBFFB36B141EAAAA341E53A5BC28B8CE9C187D813C26E09F840BBC1E53CCB758EC1AC3BC0C1F96E6EC0733734416806A13FF33D0FC25774BC403D500C423634BD4080763EC295B6AB423B0A35421DF8A4C03D8D3B421DA221C280597440EE7007C2C5545CC1BA261642F04BAF415B242C425D59594150BE3AC29B0915C2D9E96D41A595914127806B4264369DC173F442C145E0D5412E7DA141454CE1417C77D2C1BC1B8841EA5945C2DE0D29429E930FC1E4D648C1254318C2CD4C63C104FE91C1AC5201C083C6F341FFA126C28AC0E3C1136F7EC20D812341A59C09C23DA992C1B23990C29DF466405E4832420982D5C1344945C2243A36422DF6A341113803416BFC6C42FE9A09BF1F1596C1D50821C2B35266C14808E0C0E09646C0FF0559415D2D4041F6D904C1B54ABA3D1126C0C15EF922C23AAD3542104108C20D86EDC107B68141C1EC844298C111C2B5B7F0C146C1524271673342666CD2414F2349C2609D44C281500FC25A68B6418D38B43F5D9055C224E207416F846E4179DFA9BFA53780C1A8F41DC1B265B041E04BF8C0300B96C0FF4063C281E0AAC1C0D686C259C708C2922B8040A6702BC155C4D5C1680708C1468C4D424CBF01426EDA52C16BACF3C185F663426F659842E3C29841CCC2ACC1C1A412C26C206AC262F458C28CC07DC0AB75D8BF6852F541E7A5B2BFBED1CBC07F1427C1CE047741A21F5542C1E2B0C11FD1CF401809D341AB519E3F12B456C294D46DC27BCE70C06A3444C052561C42F57A3A42514696C1A65F0A4115C5444271EC44C28387DB40AE3D1541FEB36AC1C520BAC03AC0B8C201DB3AC25CEA95C1BAFAFAC14674FDC1FDDA1DC2291E59C2E36BB942701D2342A334E2C154F41EC1E9E82B42AFC8E8C1839828C1DEAED140C4B811C127891C4210D550C1F92BDA410BAFCD3FC1FD6040A3FB04427780D040868B8241B670564265B350C1ADCF59418E05B241E9460FC26ADAECC13DF6CA413547A442F46492429318C4C0460D694194FB4342E60BC7C0C13A2D429D8602422A4239C2AFC1F141DEE407419F1517C19C3617C1D70051421FD911C275D81541A35C8CC10E0714C0EEC5E5C155B0B2C23708BEC2BB6FC7C1EDD03DC2884273C1B22072C0E831B2411F1F2EC23D789441715C06414552E641D00BFBC023EE9941C3688541E3C0203EBE870EC0544293C278450B41AA723EC2AE39084213D1DB4180B4D8C07DFB4D42BAB10DC1E09F7BC1C4510DC231397341CBB091411AF588C231754B42F642D83FFE9C46416CF4884279C8EFC0CF0B4D419C93B2C2DAF61AC223B997C03E7B7241CA15BB40B91037C1ECAD2CC16D753641B9C0D1C0196711C27F33E7416B3D3FC035AE83C14A6FC941019C8842D19610C2E038E9C1013B04C26A9257C2D613914118930841DB53A1C2BE5DC1C148FBDCC1AEFB46C1F1D69E4247DFE6412CDBA1C25E3981C2EE0315C27D5C1E42721E4C41C87515416114D2C0496DA3C12D074142C118F1C13EE740C2D3EDDA41F1E326C1D67F65C1F38CB6404981284277D7F3C0378688C250EE80C2C178A542B953854191D432425F116BC26269A7C28EB52D41A1F52AC1A79D42C25A4A37425AD627418949D6C0B0571442528C75429699394201C9CFBF4C02493F6812C04009F086BFFC0691410B06FA41551282C2878307C0F5DCC3C0AC1FD9C1065C62408332EFC0409724C210F59142A280D441AEF390C29EAF17C2B45D0B4256656242C5E07342BCB40F4238DADBC11464CB40216D13C2AF6A624222B2CAC246DA6541CD439A415FA4474022828241F974CEC106E76CC2CB2127419ABE81C156C6C6C17FFEEBC1F02E2DC2A2C12DC20FEB1D4281A9C4C17031CFC0149176C2DFA66B423BE64BC2257D2FC20326E1418CA57742044888419E800CC1B2E939C171418742796471410ACA62C1308665C18D8336C278B329C12DA85F419993C8C1FA3B0EC29F405FC2E5FCC641CA43A0C172388240ABD443C266F70242ACE78842C2AC57C17F22E741254FA2C21AC314C2A8C547403BCE3BC2A2AA01C18EDBF83F7CD536414C7C8041F14BB740A36D56C2988CC041D7C227422AA6E8C1C82C61C27F09AB41E2CE7740B05C334290F6BEC02CD3F0C1B8AA0D426F5A76C190B9904217A35EC24E9E80C003EE1241FB7A8DC1A348F7C08E27F741B59E6942A0D72FC2350EDFC14649B5416E470141EB558EC1B78C29C11EB2F9C1F0BB8FC1A7A5A1420469D84136742D418B204EC24FA061423070A9C1EEDD4FC20978B241D10AF3417EFF504283C51E42C7A383C00D34294222B073C2CA91AC419710A43EB4BDFEC133999EC2DD24BC41FE59DF40D1CBE4C19F37DCC1B772B6C163903E4274FC2D427D33DFBF54D704428193F3C14EA82CC27CDA5942EC2471C05B17F641F28AAF41A21DA641658BB840B1DA46429D06BC42AD4FDBC11EAA6AC2F13AADC18E7AF1C03ECD504164218742C2E07B4263EB93420F9CC2C2F3F7C5C22A346AC14DDD20C2B0519141AC064BC1AD52D441E8DC05C2745A11410B48B440EA001CC2AA064342D4CD1D424D39A0411D439AC151E7F2C031B937C28BA53742BABA73C101388F416A2C4DC0C4260BC1533520C18F541942B17558C11C6D8142500C6042F2CBE3417D94CC41FFF0DF408EED28C2C39724427F95A8C2DEB86C4175A52F40CF180CC275355541CC6F6A42532DB740CB2BAAC1C0CBACC0AF923B42467629C26AD85AC022F7EE4022DA0BC2A8061342720025C0B93ABCC0DD0D21C198898F40384BBCC1D2E0944161FDA9420C8C9442EB11CCC267D4BCC14A3E9340915A17C24594E6C0B57217C2DB79EDC1D62DE3C1CFC74AC24BF98C419C2AA840AD58DDC1B772D841F7AF2F4264297BC031A2DE40CBAA75C15EC741C2AC8CA8C0FD6B1BC2329CC641AB613540FCFD884046556640A3F367C116368C41CB15C2C146B9174145A228C2D278F7415888A8C1286F42C1440C5641D9F5ACC150573AC2C62504C2BAC687420C97F34183939641722B1AC2D5F725C2A069E6C10F0AD34096A45040089BBBC29A815042D137E0C16C5994C1133F16C1B71D1F40AE18F641FD1AB0C1984FE640900843C1523DD44012F871409A1A514171D12AC27144CCC03F025FC0EB5CA23F437002C20D204AC16AFE21C1EC7991C103FEC8C158D51C421EE74FC19ACC4EC2C5D828C25B0F76C1329065C1C930AEC119390CC2E9F18F413117E0C119EBB741CC790742AB4D2BC25B49EBC055CF74C10169EF4198863F425D16EB3F257202C1A0262EC112B7C5410BF1D4C1CADD0C4103ED68C2BC9874421917D8C18D134A427107A0C1D55C6141E8CB104255D35AC22F7D9F4085AAA3C1ABBDB9C1DFBBA7428D195DC220819E41829DACC2707470C1C84BAE4159592E422360B7C0C75E5541154E3EC106F391427D8A8CC117461EC0896FD240344507C13BCAD8C1EFC12A41F9429AC1D775EEC157CE67C1189E2BC1CD706642A813DD417759DF3DC80ADAC0979BB640B02F3B417A78E4C09C0D8F41D12D4A41D0DA1FC1ADBD22C2EDDD2CC0F14BE0C1BBE211C21F5430C26400EEC0BF4A8F40B7149B4135F215C2E686D5C14738054290B29EC195381B427E143140F70B3A4136C730410DB2C8C14837C84015B04541F834AE40A433D041D9511F41096B80C1ABF2B8C1E078A6C0C86DBDC17164CF41EE797041A724A841401CC2C177C564418D4C75428491814185E4503EFC85C4C169245EC14F699B41352903C073489841578CF1C19F9DD1C0D11DA34185974442DD6AC83F608301C208BE9BBF275938C1CD28AF4170805AC05F8430C27BE285C16A21B0C12CC9DEC061EE95C1E4474EC23710B341BAB771C14B56FAC1AA9F0441E7D99CC0FCFAE5C1C27B0BC125D6B8C1AD6DDEC0902731C11A949FC18D6F96C148AA13C265D594C1739884C1772B6EC19A4B8942D9CFA6C1F0B59EC1E22ABB41A91A24C1081E8141662BB9C1A815B1412917E4C102059FC10B48C24202895641E249E14157FD5EC24D7642C210BD94C1F75339C103A0BA40D7F947C2A1513842D8A7A040FB6E0742D41951C266699F421744AC41778544C261F284427E91E141FE99EDC1F85457C24517AB3FF72B9CC2C8A19042344D9AC056EA4DC27457E4C1FCAF0EC1FAF479C090A5E0BF61D655410F576441B41B8D41DAB09341C8E3E841491BFEC0EE6984C1C912F8C1D39A17C1F0C627C21ED9EA3FE00DBBC13E6C0642A9D9F73E08D2544165E4554286B5AD41BDDC9CC25650C1C1732EF33FAE0B0C42190D1BC23ACF0DC2798907416D6B07C21659864148B2F3C145B4CDC2F1A44CC0B890FA40D88CA341B4BC94C234711EC261E9CF416A78EAC0A651DE40C5DD204101D7313FDF6509C16969B7C16E55BCBF03438FBE5008FBC0E00C4142D38F3BC13C3CBA3F931F0EC11B240442C4C723C0805DE7C14ADC08C2683DA1C2BAA8DCC171FE7BC1EA81B6C1108BB6C1B9729AC227579AC1144566C2E93F11C21354864278199741A1EA36C1645002C2BF0905C240CB1E41B3063AC17412B34169749C4100FB6741961945411DDEA44026053EC08FE524C14ECA65415D88AD41238C59C234944640F1E7F83FB1B3ABC0F4E087429EEBCF41CEDBA74000202942A7C4C8412978E641F39D02C2BC70A3C177BB68C1B9802F42E7F3C641D8E0D1C1C7570F4280D825C1C6D6AFC01BF91142286132C2CE47A44198DA3D421BA05542B43465429E8A814230AB694243E1C5427DA97DC22E1E2FC22268F63FBB3C2642E7CA94C20C897A410D151CC2607BE7416415824213EFFCC1A38C53C1BED9484129F78442725172C2D4AD704162AA2CC2921B2A42957DED41E1CE5041EE3295C2C9AE1E42C6928242A6E738BEA34803425322A5C28B422042DB83C34181D4C3C269F88E40E7295BC0B418D84234138A425A793AC2637D99C258FB7841E6175441E435D5C14AEFC0C1CB2BE641DD959EC1448054415578C9BF028504421A26A8408BC99842E15067C1506B1F42E0DFF3C0ABC45541B3989EC2CFD00942E307F0C1427ECAC1AC45A4C148874A41930724C18E6D12C28EEA2DC073DB8FC1A9963B428C382641F7E40042A53614428C5413C272053C419869E6C1BB854942AC9948C26B3E9F4285D480C2452029C2603D5FBE33106DC2EA7D0242D529A4C1CF3D8541DC3B8142072B43C14298B542E004F9BE3A784CC2BFEA79408CB207C1367346416022F541AF1516C2E73BAEC116B5B240C8F33A42ECB806C16C1A97C1CB318041833EACC0078A8840838727C2BFB7AEC1FBD9594163D93D42F7CAAC4115B7BBC1AD10E7C0560D0B42C6102142E39451C29F7539C1908B934226EBDE3FE00BB0C15CEA32C273888640FA1B5F426DE700426CD012C1BDB612C20F723F42B9420542136005C2AD9D58C17EF98FBEA5AF87C11E588C42F9476DC1D0B810C2CC1E5240FAFDA3C1384F3DC2E08B26C2B6FF59C07D76BDBFCF71934254EC02C27778CB406F5801C219E619C230FD8CC197B904C2D19B9F3F0B5698C11C614841A6449F42C62A06424E6CDDC185DD31C274332EC22B886F3F10BF44428F94C441166F99C2D8A68840516E304177D478404608BA41788CF7416CBEB2C0419F884010A8D8C1A85FACC0E67C24C2D0BEF2C0F6B75A41DDFC38412F68514194C390C190F8B5C1D55F8A40D648B2C1D3D91041D924A1C1DE8016C1CB1557411C7A8B3F0894E8C00FF61B42C4A0344260E50342F041E9C186933AC1B9D83CC15F084C414F94D341FD99B9411A9F1541D69B9EC094CAEC3FC5EF9440B6212542F2E838C1A7100842C8A6174205B28240291DF341516F0A41DD4C2BC2026AE440603D16C120D29FC03ED4FD4136788DC1199E93C159FE0842696AC7409B4A87C1B6326A40372A144298F54141538C1D42608A0842FFC290C1ABC5F6BF2236AEC1303DD941BA3A8FC166868F41863B1C4292FF3041E513234128781BC24E503FC1660DBFC234AD0EC21E31F9C14F7FD9C1EAE1EDBE81BD2741CCE80142E4F81342961C00C19C09C3C11962C441655BACBFEEEDB2BFE72792C1EA71AFC136FF25C1E20D83C09EAFD74084011AC28B415EBF683C6BC296ECF6C1ED48D5C0CCAA32C156AD40C11BB0AFBFE63000421D2F933E91C5F5409C963FC2DCD32C4206286F4271EABCC197F6204278E5F7C14E9C1CC285B29EC1AB20AF4199D133BD02F08941AF55833F864D1EC1B42C3DC23B7DAC40A93DE2411AD3B0C26D1313423721014287E95EC1A88C1742F09843C1ABF49CC1278D82C2F02C3EC225200342DF61CE419394CA403B63F641F51523C1E5538C402D5588C11FB63C41D76E66C1721EF341F6ED3741853856C2313A9041285559C149F84A429999D940BA2AEFC07DBE4DC1185714C183CC84C1841C4C41AF7D3B4023726F4124DA4FC1C2E784C102924340BAC633C23158023F12F9B740BFA2F04096AF7642AE2A96C13DFC6942EDDE5EC045B9783F10756D41F7C01442FC57FCC0982901C2C4770ABFD95044C1A8A75740F7A2DCC1BBB0B94193142F42D8EE63416C580140CE239DC19CEFC0C19AA6983F33CF8541030A0EC28D8247C173968AC1999818C23008C541F98925C193F13A42927CE3C16108F1C1E405E3C1C48F884075215442FD9873C12BF379C1B0E6BAC10F7A6641C10AF4C1902B2E42F7E6BB3F713B7BC188692FC133A51E40D7800AC13EFC0BC2279AB1C15D1249C198330541EF3AC93F7B2C8EC1138B40C12881D2C1CFC5DFC0AECF7541209A5DC1AADDC6C0877509C2B6EAA1C2157F0342938D4842893FF9416F345842C81D4DC1A78E91C1CEAE89C2C09FAEC26A038D41FBADF6C059CDDB415BA379C133ADD841BACAD8C1ECDCB9C13C2AD241E1DB1041E943AC41EA519AC0CDAF0742648C5241F13DB84151B48D4152C07242194133C2246E4E4208CF21C1587FC4412551CAC170490CC25C851142187D9FC20643C341A736D4C1EA7432C22BB12C426DFA2A4278577B41D052EBC14CEA87C21AB9904044E9C841890D6240BEDCAB40A12014C1D4505E42A5E029C039DA1A4279AD1542EFEFABC092F8B2C163D7B7C2D8D420C2B7E894C285E2D84134742942878995412A26E041E6287D40285801C2DB99D0C11384F6C14BFEAEC199F2934173604141260D8E400BA585C24B2D88417643B8418AEE194182ADD0419F1514C1F22397C2A0DEA941A75B97C11E14F5C18A8A0540A88920C237A3ABC1ABF5CC4163075842D9872FC29E8A8F42DFE4F54185BCC141D7004BC2B4B765C1B3D528C215538E42E4E2E8C16747E1410EDB98C2540F63420953D041E56733C174827841F39EF6C1912F99C1405F09C1B1F50C41B2D185C23510F840E3CA79C279E8E03E3B03E640376A18C26EF07EC1D79223C138988541588578C2F47C0740CDEF8B41EF191842F4C652C117D2784231A14CC26D94814215740440D725EC4124284440A3869F4094275E410A41F24066240542A25577C141C9B2C1DCC343C05EAA85C10CB19A412579D5BFCF3EAD42C33FBD4178FE30C2BC42F1BF323B92C24ED48D41FC8A08C2C92093C07CFC12C22E985D425000C1C1A1627D408744AC410F3A9CC1FDA85941EBDE86C106CF01C259ADE4C0097F3542882A84C126B3B841AA4571415BD9B7402237804244BE8A41A3E759412027B0C261EC184211E4DA41B54AE1418BB529C28C5271C24E4C3C42B3566E4076C692BFDC4E1EC16ACF154013F5104295CAA8421205BCC1D6DE3141E09DA341DF111A41A6A248400007624129A3C041BADB6CC16589F2C016398AC24526CDC1A0D350C1C13E0441383E154277BAE8BE99F0BDC1B75BBAC06130CDC1ABB66AC140AA004222A6B3C1E2616F4202C06FC02143D84107063D428E9D0942770B66C2A3989B4118B99AC0F69898422E44C4418D506041048BB8C13F84F0416B93FC411E8245C1ECFD884139A685C1E82BD341FF44E9C166676441959C8A41E4D8B9C085B672C28FA91F428AE452C1F5636BC11077B54164317EC22D484D41B4938FC122B249424400A340CD522BC2332C3FBFCE755DC2CF6583C184D7C941F7DF34C09DFE6440CB603B3DDC24A440882711C235071842338D0D42D5FE1440067BAA3F8002CA4173C2A7C13A90A7C1595627C2CDED484184FC7341BD5F8D41947E12425EE187C116A7914141E58FC2FA9E62C29DD7B840DD612C41496D94C00791A6419587A7411AC4A34161B040415045393F92B202C17D6243C1DF66D1C12D7DB5C195F9FE41E06D43414BAEE341805C3D41767F24C2BB1B91411D4550C17416B0401A2EB8C023DE6EC0583093C05053874164636BC1DCA16CC2FC7F71C143C7A9C028422BC147A09BBF2BFBC740E2EC17C2AB5C37424D9BDCC12E988941FA721BC2DA011D42F60E4041D7AE12C18D0A5042DA6D324099A3BAC1113F4D42D43B0342D0C35A425537FE41CCD2C641C228814153B71F411D8697C208274442D63B55C2910DC4C1557870C2187A6841723DE1C05D590F42C9579E417B949CC2F1AABA41C41B4FC18AE8F040F3CB9DC1760C78BF0B43F6C1E7738842784834C12DCAB9C037D8BE41C118C6C1A9C1D840771788418A4869C2473887C12156D7405BE962C246399E41069E3A420F8157422B725BC181E1F1C1B2F281C2439514C114C8C2412A761542EE7A124217186AC196FEB2C1A7A88E42944EEB41918844C2D0C714C2F35C9DC2830DA6C25BDF62C2686E8BC1BB636942F9AA9F42057F75C12722EBC0BB93A6C1B43BE4C1A66AA1C14B1D7C41BF4A37C0D31DD3C0C65A17C119111942DD96E0C174A044423019DDC1EC4A0F41FE6F5FC2491E354252B8A13F1C189B4193E83FC1E1C81BC182C8A2C07967C2C1BDA31D42415912C1B5731541B530574116CF96C12AB411C20D0A5AC24D1B8CC1C71B3741AC2B354281533FC22FC0F9BF6FBB3541C5351A423463C04125DC61BF6C080E4226F1A6C19DEBF9419E9B4942F61219C25DE449C1B239A6C21DB0ED41B206533FEA0EAA41FF1B5BC1C5D72A40029CC9C1372304411FC4C6C1F41246423575824107E7EFC14022F3C1782F64C20A862940C62DEBC1E99505418934C1407FFFE3C1F3FCC04170D9DBC19AD31AC2DF7FA741534BF54096D65E42CAD64C41EC4C61C0FCE000C2136751424C9B3640BD3F75416BA4CEC131999CC1D8C09A413B42404079E3F0C1DADDB3C1003F8AC1EBF1584134159FC1C3219D4197CDF74105D833428F3D20C2DD7C6841D869B7410E00AAC0BED35440FC6524C2AF39B041923F93C1C561DE4092D5483DA34E13C2D8ECADC1B160C940038A2D41CCD9194112EE6BC22ECEC6C11EE3F641AFD042C240C813C1812F7D40E59009C1028946C14AD1FCC164A89BC16EEE02C209E234411CB31E42337511417E9D364025BE4441A5E762400CCC4F418CF3A7C1FE3BD1BE3AAFA7417C1320C26B780C412CDA0CC1DBB2044271C08A40652406C166A8CCC12AD3644285438941B23735416C2DCEC11BB4E7BE012DB641F487F3BFB4BF8642EE619341A93F1642F517E3C131FD2B3F19774DC29E6813421B3B16C0E0F58141774BC9412FC930C16E4A4B42C1F137C15E2722C140FC31C0AD6F0EC27B6644C21B3982C2B0B983BF6D56B8417B4946C19804684297D3B5C1DC448B3FE16B9441A7E99C415FEF294271BAB741C3EBF841CCE4F43F6D6813C29CBC44C06D930D4254B07841099E9CC17CC23D41E1279A4190DE09426A49DDC116BAA541C9855AC2FFB3674111B1B6C1C13D55C2A2ECD4C165CD14C250D939408613A44267898F422792FBC1B0169341ADEBFCC28A843041DAD8F8C0CE09F1415107C7C16A4C23423FDBB9C2AEA102C2AC28A5410AF890401B82FBC1EF4F0C407EE20141B8BF7C40CC9950417F51CCC1830C82C0127EE94129D5FEC1590F5FC1CA6CA0C1C71C98C1E72E98409AE36E42C196F841B66511C2C6D8D7C1C1BF114282E848C1EC0C21C2E7B55FC1BF9DA84167D22342468B3341F3A4F4C1FD7853C28CE83FC2EC8BD94245C78D416AB2D04112B245415FD11EC2D4B7EDC1FBFF214293E39B42B29994C0B2320EC1463C57C10B93FC41625C65C1C2C439420204CAC21ADE0C42A858BB41C8398CBF658A4E412B08B5C0E0F17242B0CD8AC20B2A1D40C74378BFFDFDE041DDCA08C1AC050D42A77C6242C28B8F426AEBEDC0118EC4419DF76141674594C0D044E841920731C2FCAEE93F2EB982C1428AB8C274EA3BC21A8958C1D8FA6CC1003EA9C06D335D424268FA403EA20AC2D0423342732623C0873FA140653A4442C893E341E226FD41809AF041C15B00419F7930414F742E4150F44A427B400B4262E0F4C1ACE014C250FABFC19A648442B4EC90C1B7F6DBC1D8519441E5402AC26ADE3FC29DB18E4037E588C1DDC418C2F57380426CCE98427EE3FC417DBE1441096CEBC093671F424E4925419F814341A95ADFC1D205B240D3F7124278A4904221A8BEC2FFA90FC1F13C1B426E4B3DC2692B1AC155A9D2BF594728421ADFE0C12AEA09427FE432C2BA041BC2485F29C274C6C2C1184629C1B41B5AC168B20DC213ABC141DBA5A841E139C7C1181EE6417155E6C165C945C2727522417BC12EC1746FEA41AC5CB641F95AC441583E86C171C8F341E1680A4121F639BFC7F2D3BFE639AC41EC0B9FC148D27D3F788C2FC09D91ABC1ED824DC2D3BF04C22930F541B11316428B9C2C4269824BC0D6E74FC2E5E487C1A6C829411D1E46C19A98ADC0B7DD474267321EC1BAFF52416CEC45C03FE7D740599938C153A828C065B43841329393410127AB4059DD6241931453C110CEBCBF595798409D816C41A20DA7C1BFF6D9411A9005BFB0A7B0410AE0A941D98A88C1380F0CC27068CE41CC42504136AB0CC1DA7F9B414310C2C0CFE423421666F7C077A1CDC1CE53ABC0043AA540369A45C204E506C0B1E911C26708ACC1BC8E3642DA3132404C68614174465EC092501D42D37130C223A146C2E4810BC287501CC1BC9D2242A0522041EC4DD8C14C780CC25BAA63C12023BF4167762042005165C2EDADA440F08F2CC1428DB2410F4D56C14DAABF410DEDB4417974474295396FC28FB1A3C1A71203C2BF2AE7BFAF0A2042FC2FAEC108A7034260C9DD40AB0E1F41FF424FC221EF4F41AAF746426BA26942221DF0418381B6418A763642850903C294B3F23FC7A8A9C1E70FE741906042C2A17CFD41CE940842D1500FC16F2C0AC22C1F3742F3F02AC18356B041E768A3C2FBEC88C14DA75CC2582C094294AC92C1E15E9E414908CCC1ABEC2D413E9FF341AE891A426417A540DBD884425B9341C2521B3A42A231D441D2A951C207EA7542A8859AC027FC0143AD2C82429582D9C11391BCC2F8C22742CA1730C21E392640B68A484269482042E71C9AC21C36BCC157634641E6E83542943A3F427D68AFC2D2415CC27703A0C262C01AC2124D4D426E48F5C16C2CA6C120400AC0025568429B4FADC187888640AE3209C2FDBD97C2CDFD114238308CC1E7CCF94113619E41BD33394109DD0342354EFEC1C309CC41148BECC1F495DA411A24B3BF59686042F7CF0FC2FA401A4274D8BFC1216115C2B16BFCC14F2BF741A0143D42F4A78ABCB7FF8141A4AF2EC2444F20C25D7122418ADEE6C11DDD03C15F86A8C1A0F990422FA290413F2088C11DCFAEC2108BA7C139FB67424F44B0414DA80D3F692015C20A9645BD10E66041AEB31AC2B5F218428A9944C27F5F0B425B3F6142B86EE5C1DD275240A4C68ABF9F5D5CC240C80D411F644C422E3AD041BA85E0417DCEBE4114A3A6C04C938EC153E142C255BFB0C02D38A8C12E1D8A4124346841806644418D8B04C211AF88C14E4645C27DE49BC08ADB9F41B835D141538FD141F68F6942840A3342A5E815424EDA14C227117A402EB650C1665C3E42DA288541CB90BEC1082C98407670B34112CF0FC2587669C2C2BDA5C2E556C2C2FE972EC219658DC2124A46410F08B6C1F31893C232648142548158416696A8C13745B541C9895A4206F102C2B0AC0BC2F0C8E7414DFD5241083BC3C0AB178FC20D48824161BC87424A45E14115499B420E2C99C19FB051C1BC4A2F414DB9084247C3E1C173EAA4406B2A19C24BC97EC11CB4CCC1DE38AF4233F3A6427D123D42A9ECCA423E159941C5AC5F423F0062C24D780842412562C222660042CB28CE415343D341C9D4BCC2E02310C18859A1C11F6B3540ADB15341BD499941B0F07AC1C52ADF3EF643AFC17F97F6C0542F7E3E2C8E314133CE94412901A4C1BB589741C13B9240CC6924C2BF996E42FBC47FC258234642447EC6C1C1C0F9C116A3A4C01FD4A9C2EE988C40042F6AC28CAB404219888BC167E7A0413060D640552550C27663174168897442EE969DC042BCE5C0024F45C212273EC170DE2942D01A6DC0621D6DC14ECCDFC14ED5E5C168463541D40E3BC0B33DFE4115F3BB40ABA5F3C0E0BB4242EBC417C1C1BACF3FA89B2F42823717C1EC34C23FBAF682C13FAE50C0ED32824133291A3E0D4C5E4161C9913E2FAED14152975B41EF88F5C190A12242888E93C1E41571C1A64BBEC09AE9C5C1315D8CBED38D0D414F1D24C1F4D73F42737712C2305323C1383E0940C23575C1D17AD841C47D954181F4C641FF56F040DB5536429CA0C2C2B6C825C21AF49140A4F95C4143798E41737B9041B0DFC5BF49AB3142702F50426F1DE6C1A9C26B4230347A41A6D34E424B5A93C098BB2642275A21C254CC64C0CFDE3DC156A1AA40DB13484255A8F3C0CB6BEFC177E199C03A70B84164971E423A8F1342191F26428FA4B3429AF584C2DA3A2B42EB97F7C1ECB6F24112DF64C2C10ABCC1BFAE9EC1DA74983F298FF2C1A353514204F23C4292802FC2D9BEACC0D526C2C156396242CE3939413BC40D42A4083BC2A6001B3F88FA494298D9E9C0F89B59423CFFC5C084D7AC42A9CB194149AB2342CC050242965F54C2A03AD2417B25F4C1763C4B42DE56C142825F86C25FA21AC1943DF23E02A506C2F88AEFC1E622F3410F1520C110F6EEC2E08E3AC28D29B442C3A31E400C9942C21645ACC1F3C297C1F7CB9F4178B7E2C1C7F4A1C1D1241742DF18D9BE86B5AD429EB8CEC16F591C4245EE2C42EDE619C142C46AC2975A02C219FB5E41F8B2C0408DEC1A3D3497CEC1458E1740B6D3F740CBEB9B41657ECEC1B90CD3C078120AC22D3A3C424F9453C11F1E04408D61003F2A3B8841E6DA72C2542432C2D64ED142D1193A4250181B42A394C640332834C180CC55414751D14163AB4042335271C29360E9C129C1BEC18C3D89BFB824A2405757F8C0FC0700C18D5119C1654BA241C789B741ABE71642777ED641B24D8FC0DBDA00C00E0328C180318E40FB6C2441566E8BC0CC784ABF2D1A8DC1EE6E94C1EBF3C84103D928426E9F90429518104212530042E50439C1117C60C18E00E3C033AFBC40E99798C195A6B541A80875405292ADC0D69C38C19A181AC2462B5342DD4C9EC165487CC00F2B71C00EBAB3C0F636CBC1F2565041E67B544082A62A42D13F7FC2D09A9D41D01505C25A5C5F41AE2C97C0C7ECF54015C0D041B180D8C134713BC2D4F3D9C1EB149AC0751B53C07ABC0A422A4622C124E46642960BE7C18DFD91422BBB46C2D6B1BF410C6B40410A7CE541740D8342A626734146B130C253807C41E9945C42FE8E6A42D5CEEF41EF4D57C113B73BC211428EC1C0E27BBF937F3E42D35E63C22080134256F290C09A0D7D417A2C13C28753853FE23818C276A2BFC1DF5388428D7421C248B9FBC015DE8341E298DC408215A9422280D1C16519DE4126CC01C2D6794842390A32410114A0417A2B5DC22B5DC241268FF5C0052FE5C1A24D8DC20516324188E858C156919541A498AAC12061203F672C3FC1AAE337420EAD0042B85C28C1A6C31C4123FC0441468FF1C1587E0DC2BADA25C2BB0298C1D20B084291551742FFAC3342B3307DC1F231D941BB342DC1F55A253FDA5D1B42D8FDA4405F48E141413462423A899EC2F8B5B1C1DDA104C1A73F1F42804E2C41185B18C1CFB95241339EA541517CD1C0E72B0AC1D487264134E3B8424BB232C208C82B429E2871C1E373D441FF46A1C262B7F54042DA82C16AEC07C291E8FEC161E41342393D0B424F82434121A6384173074A412FB3F24120A1DE415EE022C23FEFF9C1DBFE5AC1AF728A422C466AC291881C428FA909426FD71F42E04C4C4122FA283E0FE7784226239FC2354FFDC1C51A1FC288CE853FB5839C4240C926C169FA9B3F912D6AC10EB86A41E1E142C29EF4C64184BD52C07261CA3F30CF45C2D40FCC40B86B39C109203CC282688B3FA8791041FFDE134266D15F413D00BAC1A01D1CC199A2014106488E4119850EC0B7A5C74117215041755257C094B28BBFFDC6B8C1484AB341407E2EC2904DC8416DE0AFC1A25D34C1C13BA4C1EA6199C0F4B538423F0958C1713BB1C1DD2B004249DEC0C1E947604241D7B341B2C5D43FF2BA1BC2118461C04D18864283AC55C0D1868842C8F48240E4037442020A0AC26C76E3406CAAA441B07E80C18DD649C2500879C1475FCA404A7FAF42671A8B41E202DFC268CA3BC2437411424BC6FD41E0232D42E00751C19B6FC140C8841541080B9C4111D835BF852A7EC25091BD4139FF8141A4A28CC2F3CD5342B6BECD417A774442DFAC0842A92A84C10F5B0542319365C2E65D81C165C1553F6588A0C254C4B24113EEECC1F9E861C231852F42490FD8C0D2A73FC1FE1C9742B056ED41A1658F3FC6F9F741565EA9C1CB54BEC104761CC1C95CB9C1837A9042A48247C218B634C1FD9C14C2AF01AC40E55CE2C11FD427427F829F42DB4DE4C16C5A30C26319B5C2896257C10763B941ED5A2EC2E574E83FA7DD17C2EF28EBC1C7AADB42FDAE8CC22D4AD54035B0E53E887E62423FF8234298E32E42B8A6FEBFBDB116C2DE8821C1A67F7741970F27C2CD1585C2674913C25093DEC1F5B0344271A2CA41A344AA418EA922C25CD6244225E1FF4048ED71C23E934D41E1F1BEC1B0373C4127274442B9F8DDBF757EBFC1F4126B3ECD319DC01270424115F08940060407C292FAC04112435840D4D92941753795C10F0C0841DD8E6A41CDF5753E3A546541391DE6412760414203133942D13BD7BD545708C287EF99C13FFC1C42521C3DC170AC1B42411764C1B66005BFCF8EDD4041B00F41E63A09C28483E441F6A339C1C50A8AC2413B22C1B57D92C1D7A588C253D8DD40CDD759C294FA8BC10DAA764253C71542A03DA7C12DADB641D5914CC1F33B704275F7D9414C3A7B3FB81F32C27B6326BFA203A33F14C192C15004C940FF8162C2094A4342E6CB31C01000A2426F9B3CC237106741D94F0BC223B79C4211DAAE411BAE83C13F731BC1FC8A4E429899834161A160423BAF09C2A988F0C1BBB8FB402E882CC274F33EC1200B0442BFF604C27614B0BF10E85F42E088B0C1E88E66C28E86FE404986A3C17D1328C1561D204153F92641EA9B38408DD215C0D9AEDAC1DAE21442945A20C2D81040427C5534C2B4A51242660FEEC17A443F42C60C8EC148913441554101421412964137B0F3C10E39A4C17E9987C25A858741376D0E42DFC98D422BDBDCC0B77DA541FE435142197B6BC0D73F0742C66F0442862D32C2336083C1EED271C27FA699BFD3951042820B2342B2BAC54135B863BF8589F13F260477C1BD61A5C174D88A419ADCA341D1899E41001D30428D1D08C2D29804418B0446C2B5315F4251ED784228CE85C15EA1A53F3949AA419D37F341C2C4E3C07BBA95C14B3B11C1CB90FD4041DD0F42158B164278FB94C264E8CAC1C976F03F6A31A0C17814164126774F42BFA6D9C196FBDB3EC703F6410C00BA41C5590D41F931E9C141B5ECC1F9BE60414E987C419E6D8F4172F224C2728D76C09C4BFC415FCA45C1F9BE82C067C1F7C15B6F224020E9D9C02880A2C2E76312C29B8EE6C170DCC94165044CC154228541253D0BC2BBD151C168C2B341027C1A41391B33C1A64205C1B98F1F421CB16D41AC1DC1C16794E2406EBF0BC1EB624D42E4F6914122BF4C42A50D00C2E13B4F42E31DA2C26472E3418D0CFAC105472D424F9901C2D1E41AC041F4D24001FB81C1595DDFC11711454133E64F427BC19EC0CC4958426E2E23C2D3E527425CED2E4063993142C4DCAA3F81C017428A714AC2101A22C2AD99EDC14DB2B3C0072EC9C15E320AC188320FC21CF6B9C2F767F6C1692D7A4164CE9C3E02A905C2989B6B41445B9441C88BEDC09B475542CA54A8C10B47CD41E1272141B66194429FA3E941C8420BC2CF106AC1C63C9DC264353CC2E85719C1F5D294417863BE42727FE7C128AC04429250FEC1A0E8CD4169E5ACC21EB14AC031B751C1408A25C2A3811F42D222174236203941DCDEAA42122F95C1B6C72D42446E4BC101F07041703AB4416978BC41D2F8954183289042AB6388C24D74F0411417CCC1273853425D82B341D46F87411A538942631CBCC12C8E6A4066F000C258EC7EC1BDB2F441A02D5AC010E60741718655C14B42B2C1764FB641F433F541924E7AC1AA1B60420CCD02C223DAFDC0E315B740F8A68EC2A8E67EC1F04918C16F76954247518540F1CFB342FAD88BC2957D93419A531540D2D614422AE9E1410C8F1E41A722CE4103B7E6C0E0973EC2DE4CEA415D49E7C1F898B0413BC167C12EC582418DD6A1C016959042C3E282C142C88740FD4697401F9721426ACA0FC2228024C1C6027AC288CF19C04B4FA042B6B5404253A20AC1523A4BC021807541C12DCA41022027C200318941DC5C00C22DE40442DA554642DE0592407E4A43C28922D1412DDF3D4266644040905301C24CD29641999E3A41E4919C41D3432B419A0755420D4B8042ABE3C5C13F92A740EE2ABE40BDF54BC0D22EFAC1EC8EADC1EFDD9BC1A8543EC250F33DC19B6C66407DF03DC175193C425923AA41FD6EED411B1C5C401BA109C215B0A2C1BDD46B42F5676540CE7AFB41EC6A3BC1A420EE41692FF8BF409C88C164C04F416B80B64263E8BF4285FF5CC1BF523942D79A2AC22ECA2D42AD0759C0E51349C165896BC2900A31429027DDC157773F41215F2D423EA3B54012E40EC2854FE8413996B63D2A457CC22D7C93C1E1AC1E400A6B80C1B24E91BF295095C2B2F9974173A232C20E962742A6F178C2161BA34120B317C242D64441EDE2E1C13CCAA7C248D8B9C2A1FFC0C14DCD4F420092BF41B22AD340F35859C1C17BAFC28DDB87426E1646C120F1E6BF96234DC1F0B0C042D16F9AC2AC93F6C17E0BA8C11B596D4176F777C1A5BC9EC1F0669442DAD23242224E22429519E6C1F1E7AAC2B9FE2D42DCB088C182529241009394C18BC743427641E1C11CCEF741966129C2E441D140913007428399B1412BFE0A42194E17C2F9820742131DC1C1EC622C42862C2DC254D1E2C12445344199858442CFF3ABC24B904CC044649BC129585CC1343985C0DFB63A42070102C208F758C21B48F0C1430CEE417D2D8D4294C3764061F9A1414D06FEC1189AA040669EA64287F0E0C1858C91417A6A2D413B08A5C1697F88C1491EAD41241613425A5E05C24D49B1C16EAA19C114C94F4116A560BE17A30DC1FFB95D410A9704C17314E24197B58240059ABFC0DA3E30C23B93E3C1725A3DC1E7E53542AAFE9541B3B6B941DB32BDC104F9C8C070AB8D414168F6C116127E42BA43C8C149503A420196334168C107C195DB7441C753214187E908C089E51AC0F46417C29F8DB1BEA6BA8B41175A8541D2B9FF41B5D0E5C162EE6CC21A1F0242A83A65C1B520DA41165620C235203242A1EB32C2B5059A4013CBC6C1CDDEA2C1DE631CC2BC04B1C1B29022C12FDF6AC251CBBD41346C19C2ECD318C1E9A40F42C4DDA941E41C9BC12D8D82426EB9F4C16D0BAAC1BB8298C1FA391AC1D350FF4153D406C2CA3837C2A47192C181D82941E158F641582F6EC2D06856C247911AC2187736424F07D7C19B2FED40B8AFC2C066F65341567C12C1EF4AE8C160DE1142A7F741425EDC1A42811B4E409447A7C1F0AB52404E8227C24B1635427E83F4BF6ED6FD41D046F73F20848C427549F8C2E614AE414CB43B4175EEA640AFBF12429E09B141890EC2C1F7B18842DB713442CE665842E65B5541AE4AFB414C832BC2BFF1F0402E849C3E768E084131E904C24F87F641826ABBBF34521A42A2170DC2ECF2D3C1D4C468C186EE7BC2A8D517C10F744641BA4A5D420F4897416EF79341FB494740D7A61EC23EAA3B4237AEB341C2F016425380D6C140D982423A8434C20B9974C173F21AC2107296C2EFBF06C1FA65A0C13C5C1542E23F0741D924DAC19CF102C28538BFC1A57640C269ED1542C4D48C41F3C78FC1910C84C0FA8592406F337A3FBAA88AC1B79E37419493D84091DFA7C1170042C23CE48EC1F435FAC19D821642307036C1962E25C2B0EA5D40FBC78CC14424E0410D31B44184B923417AD006C21FC1D94117D77741207CC0C1ABBB19418F9177C107807C42405CBFC06ACA244170B403C14B4087419E4B80C22FE8D8400E5C6541E827233E70E78440E12190C226B986C178236141F55CB5C16ED28040A880A2C2B8387F400514BFC1314921413AF22FC21E6BA43F70D5FAC191F148407AF7D6BF24F32C425D4932C12A75B24020F22942A0A947C146740EC1592C1BC20E5ECF41913A0342DB7804C27F25B7C1FF389FC18C22DFC1AF88134230666541BD18D641CE910B4212D32A41343397412ABF80C1845CEEC11BF12241532BAE41E1BDC04164588E4218DDA6C257B2A841129301C255AD2241F13080C1A3E508C14FB049428B3BB4C0CE0785C192F46140CBEEB642B6072742D0DF123F9A4CEC40E97F40C1D7C7B0C12288FE41314797C20F07E54175AE95C17C1897428B226842693581C18E9387421608943FF4FB24C2744B60C1FFF791C2A8CDB0C143B4A9C1A6E52E41EB1091C19F1F5C42EAFAABC1AA7CAF412A2498C2CCAC2742372496C1F3410441AFF889C260E54EC288D978C143D7094282D92D42C6F7EB3FEAEECCC1199E7CC202EF80C247C187417E2F7F4125FC57C18DB6B24125972D42C6B06CC2F0ACB4C034DFCD41D25EBD417006A1C244B7DF413BA39C41DA7D2EC1F19F66420615B0C2B375B9C12BCCF8BCD573C03F43C2A5C1B183EE3F658449C127BCD7407F275C42D0B690C251A953C191553EC1607C0AC25F734342868AF2C1D0579FBD620A20C273C938C1979E8E41EC964041143C07C179465442C23027C1E8F28941C61BEEC18B62DF41F2A05A42652E044107DB69421D6E80C263067341BB06D34180BA90C04E71EA40DDEF59C277F7DCBF5FD3A7C15AD85D42312338C2EEE6414137854B41062051C06076D8C115CE3A427C7C8842D057704219C995416E7254BF31091142E1D24D42C4D03B4269E64FC285CDE641E23AB44189B8D2C1ADB5C5418432BF40B6512A42AD8F14C11E2326C216F5B8414700E741D4A87F42E54C3642179B3A42F963B2C12D7EDB4119CCF4C17CCEC1410DAD76C178238B42C6AF8E4156F592C15A394AC11FB4AFC2BF2F04426BE7F8416DB5B7C2485CAAC0CE6FBAC17E5D3F427AAD0C425BCF4FC15ACA8BC02463D8C10AE49442A672DAC1E4B6B34025297B41F51D83C0BA975740910061C0FFAE8FC2831973C2D2058C415ACDC5407CBDB2C10791F140513187C27618A042663364C191AB80C0EB5C0CC2B06E5C4180B0F641B79DD5C0487F69C27800E6C15109F8407206A542167935C1EFFD264254FBB74181F79442D0C78F41D2B6BBC1D8450142F912DB41E43593C2CB50B941C1A5FAC003179641E7E11D42E80CA7C2851883C25E463442655B28C22F8790C15BA898C2AD44F740C12FA9C12C016542039F11C22B9441C2897A2FC2791DC540750385C071251A42463036C14B6F9842E77A4042A58255C27710E54158891EC17A219A4211D38F4224AFE5C187E31EC2A48595417A6347410897C8C1749DE040FCEA17413B25B64274EDF641AF24CDC04908E24124631BC230E71041A828C541D92E8CC19F209C42E99055C2D655C1C1318212C2C08FA0C1A61263BFC69A59416A212641D82D52C1D2835BC25FF1B9410D5D0642201BBE41C570FE4157932B41F75B474297481C425EF5474132451D41E87559414A9AF941BDA7BDC127A923423C65C1C05B2B6D42C01467C13E6633C22498C9BFAB9BBCC20299C1C1C52D9EC1D4258BC0859DF441F0ADB541EA54A3410642C3C1EA9FC43EB393B4C10B20F441ECAB7640135F86C12EBE00C21333D741868F17C2951800C2BC498E41145080C13A28044254F5D541F15292C2858889419618A1C009AC61C146DD0CC2243CF33F6EE79E413853974182F800417BAD9D40B93BE83FC5DAFA41061B12414F11124283E6C240D0510042971647C1AFC3AEBFB54C14C10D674541494ACA3F133D4C40A6C44541B70E923F296DB5400AB888407ACC6AC2FA953842B4DED141229F3A41190A1841C77D964057D188C279DAAA41673F1940DE0D89C20DFBD641E7973C42086D15C271732A42787F11BF65345940F774B5C16BB90CC3D3A12EC20C6EE1C1F9751C42280E0DC23EBB46410F80A6C0EA4B07C115819EC15C8081423BFE9041B92713C2D160DA41BE04EC41440B9A4123E550C22036084136430042B25020C22C1E07C143D205C1585B95C1F6F9B841ACA48A40EA19ACC2A42B2242554C11C23485E3C03F31A4C1BD996542B4720FC20DF48841B98AEC4227650C42238F344258369BC2306133C2039008422B01F541A89B2042B8B522C2B827DEBFF11170C14EB2BF41FE97D2C05988E541FA4F8CC1C3380EC2B5F6D84026172AC0EACEF4C1F8AB8840EC6E5A4155248A413D5A9FC074D51BC0A0C6E5C161E791C1739695C06BB295C025829540CFB2EEC14B1CC1C0471702C2149FA9C02C011DBFF09166C1A409EF41B65917C13CFC33C1A698B540CE430DC13C4987C1F65524428160FD4028B217C1EBD5CAC12069EE41C73A9142732A5C42F03E4341B6428E40C30B30C120B55D41217C8EC13808FB41235151C283CAEA413EA33A41015827418178DDC05E2AB3409102E4C1FABB6B4184A809426717AC41C8728042825655C0D8F98FC16FBBBAC152D4A940DD6383C112B642C185A699413A52C4C169F288BF2508A2C07D4496C02FCEFCC106918CC2ED0BE9C1C60A01421BEE63C1F97B8141245FC4412D70A641E8684DC20A1AC042020953C21B44C741D34C204297A61B41505C68C1FA22EC412EAEF2C13C36E3C032D56C410A4A61C073E2A04197AA4B41A64519C2589C9741CFA05DC1C9739ABF2ECDEEBF230663C09E4AACC193D13E4276CCD6C1E82707C2006073C2DBA492C17DD68142CF6D3242F6D1D74117D6514294BD57423D3B1442004832C101C5C0C1A2A73CC24CD908426560B5425C1AABC2946066C1EC59C3415A7B17C2B3F71CC008935FC037480EC1DE53AAC0834731C14976ADC17D8937C20D3E70C178D308C286AF064263C491C08E7ACCC105F2CCC1D31E9141270791C11B8871404AFCB1C243BDBD408051FEC173798FC08EB8A34198E3754286B9C642ADDA2B423A293B4100BA72C1060858412235AF4252C303C2CC4D3EC079E7E2C0249616C2A54FA041230C47411B789F417368B442A97241426787A83FB9D148C24481B4C184DA84C217AC62418636B0C12B1C8FC1E8CDF33E3E140041681A81403AFD1A4222F9EDC1615D4042D208E4C1C172AB41CF71C0C15E0FAA41F7868F42D7E2EE424381A3C19AB9F9BE22220342113CA941735BA3C28C926542E7BB3341693159C0022BDFC1D2FD98400E3331C1CFAE83C2BF432842520D9940EE2B35425376D6C1E274C0C1A09F6EC214FD3C40EC9066C13B7B36423A64A141C929DCC13508F5419DB5E6C1078A9D40D75B8342E0EA18C22F7B97C2479688C2F45E4AC197897F420A3D12425A3E8DC1D41D44C173A0F0406E4520C2F1E6ECC15FB3C8C093B320413034DCC1ECE381C2C9C2A3BF9E8B4342628820429ECF64424A9E26414CD00CC22142DE40B2D848C2D8CA3F42C8644FC2277B7F3FB4858840393100420C183BC215679C3F3EDA5142C1E29F41BF55E9C15BCED63FB89705C24DB9B741D3FA9F41F0EF07427331DA414891164096183A42DD259141279519C221575CC1E0B57FC0EA2C46427C56A5425CBD99C2C2B8DEC1A2804842438C0542F1BF9D42754DCEC1FCAABEC2F779DA41004D2041C5D60AC1FF6C7142E6CF5BC0A70BB6C04EF21242177FA141355B15C2A9C500C2487BC2C1E8E748414ED918C25B985E424CB93E418F04DB42D149364264A72C421375F4C1CE3CEEC155CB323E0DD2B0C13D21B04159AD2742340B1FC2F81FDCC1407AAD42853C46C0171031C1AFCF2EC26A24D7C1D27C7442888E094275AE3042152CA9C2FBE030C16AE2EEC174CE15C268F49041FB04E74182BD77410124E5C050C98FC2E294A2C14B5BF7C14A458F41CCC17541DC7E5CBFA8CEC641ADA9AAC15C949041318208C26D20DAC1148562C0E1D75BC2BE9AD14164060E424B334DC1F6166A40B66F18C1DE6384C22F7B3EC2093B0EC264297CC29531CAC03C7E76C2AA1055C00C130442004C4541D0F71AC2094620C05F480E424ECD31425563CCC0A7EA60C1753894419671B7C10BAB03426CAE723FC3A82842441F0642FDF99541D9B9764147DBB7C0C1C02D41E5D106424B904DC26D3A23C1F13F33413DADA8C15D1E9AC16E84D0C192E590C1AEB51AC0980214C28F5F3A416ABAD03E81988640921580C09BD41C42292108C1A20C8FBF72CF3D4159A40D429EDA8C41F8B588C2B12C0DC27287A3419BC4F7C1E89F984282999C416E1FE441CF09634215512841EC1C08C1370EC8C0F4BDACC1C484A6C1DD82C0C1B2FAF04199F379C1DEF849C1BD261A42E22D64417B10B3C0112E15C2CAE982C2AF6CAF41CCECA84110DEC341C74251C2D4DEBA41316909C2AE6797C1D2DE3C42BB47AC4195EA3240FB009E3F7E34284271D3273F761C19C2A765C14136FC6D42E67ACEC17A91874186732040431082C2036325C2048E08C23DE2A741FDB003C170994242DA4696C171E4BCC18F78AEC0F606DF410BD72E420F5599C14DE5A8C1750526C291215141BC7204C18698A23E361CF5C1B8CE20C000606041ACC03BC00C00B0C179850B4080F337C2E44C78C2888286C24C218FC2CB0A1BC2000B68C00ED5E0C119C50F41AFF045C2ABCE06C2E1304642EAB4B740587E53C2F774EF4194E81E414B008AC14899FDC1315907C135C15941E0544540AC4F93C13B5118C24BD25EC21A1F9D41D097E2C1EE2604C265D1A241DE8380C1BF340042E6E17BC2F9AD24420555B5418E7E2A41AB0C924226F545C205C3C8C1A3EBBBC2D9EED8C10B2A1F4207280B421EF036C0AFA45D40803824415535BEC167033341C61D8641480BB940D69AFBC1FEAE5AC083881242D42EBE4037D8F141E062A2419DB2DF40CB6628425291B7C18DD4A3417CBF52C0DF9F26C1E5B25BC1F7B9ECC1DA649B414A10F740CB08E5C1A7CEA7414A5AE5C0EF3DB9C184E1274053B748C29F8FFA40BB5394C19834B141D953C7C126145641062D24C23CC91040E7AB09C24B56BF4023B3C2C078AD1242F9BA8E41D8F4AEC2F3DA6DC11EA648C1C76BED41FCDABEC1FE18AC41C26027C23A2E55419BF46F411A0D503FC4199B4130304AC0F966D241D2390D41FD12E7C195B7454293FE83C1D6A144C16C208641F1E0ECC16FE64D42F53A53C2B871434144A022C20FD73C4251511DC2AEA80EC27C2DEFC0FC671BC240D416C1475189BC88330D3FF03D8E42527E3941D1014F4249C26FC1E8FCD0C18ACE3A42E2239641C6477A41432A6742F8065CC129520D42632EF1C0026D9642C29DBE41127756C208713942BA5946C296DEB74154A8A8C1E5BF9B40FBD330427D958FC19E409C41215588C0F990B6C1C5F13FC0FFB3AE41014383C1B2B4D9C043844141280990426E27824014AC25C20A43A0BF3BDE07C095B19E420C59BB4153BB00C232714AC18653CF3F897E46426227AEC16164B53F65433142006D8B423538BC41AAEC9EC2AACF3FC12699CDC02AB0F4415A0547C17D0BBC41F40425423B3F40423E5394417BF27341ECD03FC2C41DD941CD1631418B4804C2E29E76BF59570CC27B7DCFC1D0480D42846FB8412E2A3DBF46D58DC164B88CC0F0EA22C2619F0642E23FF9C1A571EF41E5EF3FC2ED5A2A42841DB4C1DEFDF240CE10744238D0174256155A41024B8EC1DC3ADBC1448951416DD96DC232DD234290B0474242B253428F330742A5091041F5B0FAC1E1E71240D5FC5AC2108ED44116CA20C2FA663842117805C10EAB0241005FAE419437EF415F355C413798EBC16BDDBBC1F24569C26CB9894153DB96402D585E3FA47AEDC0255F02428B420C4101F616C2297E8FC1D25EC541711A1E41B101D8C2B27499C2E4E385C270363141B8FE87C134B4FB424B2BA2C1568FDE3E38493842C1F385C1A6B4A440C49314C1B389B5C0EE3844424C4075C1629C174179D5A4415A278D42A5E4B6C1A8B1CFC1DA7ED43EF729B9C1D63C8642E2673A417F2BD3C106037AC2B9B27BC20FE425C10A4564C148AC95C15C43A0C1067558C27CB0AEC114E262C2F8762942BB8603408EA9C6C1810AAB41C1907642DCE5CAC1C3E54142F3B0E140FC9B1E4194F65642E26F02421ED04CC0D32D4BC26B23D2C260E41CC2BD94D541162F1C41450A704269C80A413507EBC157CB2B403417D1C146A113C2B63803425B013D419C6D63C2BCB93D42453882423CADC9415274A0C1F161624154EB32C20BAAA84162D480C265C52142549651C1664F9842AE842AC1FA1485419AFD8CC220AF0DC1195556C2789476422EB426C1A9C62C422BBBDA40AF836E42973B6F41850E924049ABB0C12A6D3A42C92721C23AEF11402B304EBDB30D51C288FCA9C0796885420779AA417C4E8AC1B0170D42838FA240640050C2A3818FC265D464C2E7EC3EC2DE57E9C18D08DFC01C911542DC50D841ADFB40C241AEB8418949B840D5FB6A4233AAFD416FBE16C2618462C28A6A8D41B80945C139902DC2F32E99C254C1FBC151191A40DC58CD41F31A194298F15FC267370FC26A7E78426882DA4073FEB2C16DE520C170C47642E48055C1C26C8BC2BCBE84C2A1FF37C16AA25AC214408C40D53C0FC270B17A4142212C41AC6E5F4282A039C275140CC239F0C841F5561BC0050AE8414BBA78C29C94BEC140EE9F42EA1B5BC11F5C12C1A72674C0D9C905BFE8E6CB4165DF9541153B09C1FAB8DE41FC77C741A3915F4122CFF1C1BD849B41AD1713C0222B0D426B874242A0E551424EFD85C120DF8740033764C29A403DC181E61AC2C9B07A421A33B3C15239A641F3E0E6C179B92F3F13FE60C1270A01C15260F6C1CDF70742393C55BF5D7F4EC21AD71CC20A80AAC009497BC13CD3A0418FF7AAC04F6956C1AFC402C1D1AF04422B9923C12C6410C20CA795C15D195742B56E86BFC2278AC1E4F109C1BEBBC6414BC90D425D2613C2B39423C2D8388CC25F081DC1C85D08C2753DF3428FA144C2E7FF3D40E330A0C087423742E49F4A407F5920C20DBF5541CB755942E14A7542EFA01742BC61BB411DB83342E586ED416A9788C1DCCD13C08694E7C285C19CC119F15CC1E1E3A2C19BF1614137B253C2BBF9F741024631C2F07F7DC206105AC04FB4F2C1BBC6343E0D95C0C1EE531342EA278D41FD3497C126D6E8411FD8BABFC21A99C122875F425CB4BE41D3F4FD41B30E264116B47A41347496C188C787C2405DA4C1B66EDF409A7019423D7FC93F7526DABF273920C276817041875CBEC1A9842A4140385CC2B0744642682BED4088453BC26D0F2BC1E837983F416C6B42C72F9EC013CABC40CEE23FC25948A240903F2CC10DE60F416873BFC11CEC74412B23CA4073ADD641F17744C20211E7416AB69F4053E79D41A7B13E41D3833840EF335C4295BCD141AFB593C18842C2C15AFB34C2BE19394274B97CC1AB2074C183AD35C183911FC1DD4B07C242483B4291B424414CB6FBC0A5A91CC1D1242C4288F34A42B8A74240EA5AB13D8A0136C2AAB115C06418DF41A5836AC1197407C26C6FFFBD97F900C19633D340F4DC6C40B0B22D4251465E415BD119C2A26A39C295B21642741F2DC2A1E796C1E5DE4BC0AFFED7C197930542C5CA33C22EF9A640ED605DC2C0A3CE41FAAEC540E7581541CC6B3C42C05D5CC265EC3AC2D5BEF140C8BA15418EAA88417BA9E94116CFAFC18A2606420E052FC274F365427D8041C245D7D941F19F68C122B78A42BD10E741695D0841C78D1942907F66C1536E12C2728DEF41D761C541C1BFB0C0C42B0540D055AFC164449E4130097AC1D7E4D1C06D41A7BF1DC4F4C1D53BE84198AE38C2440469BFB30FD8C1DC9733C225C8E24186AACCC136AD9242945B3B428C3A97418227D541904F8B410E630CBF178EA541E11CAA4148871F419C89CEC15F639541652F1342EF23C94081A18141D2B89CC0268C414240A121C14083A541DC4736401B2C9BC0DD4365C117B524429D6536C2F095C341832938C105892C42C86294412E5ECC41CDA5EDC07AC35AC2960395410E5754C2A6B6E0C11C829DC230A23AC131A63742F9E765427742A1BDD48212C216E24EC108EC0E4227C743C213D787C1D6B71740E186FCC03502D1C15FF025C21541814137688BC0463BFB41DBDA28411A3D83BFD02CAEC190E42B42A4E314414CA6F74046B88341C5DB8FC1ABA807C2076C00C13837A341C19F81C21C726B41144D00420CC5634200ECBCC2CA52E640CCF773C2388B7E4223EE54C1C5C1B73F290EFEC10D5B96418011A9C0C9CCF840B2C1454024A3ADC13D67C63F82894042E4BA59C134C1BAC1F83AD841BBB80642BE8D8342EC8623C1E294D9C1B5980AC280FE6A41C20F12420D21FCC0DCDA8D4289212342C4658AC207824B418EAA5D428B16AA410CD9EEC2F7A9FAC25F4B1FC20A668FC2C570084072EC9A405BEDEA415A2D1BC26DE9A44277B3B3C11C112BC111CC4AC28A210A429EFAF5C18B1444C020D206C2DBA6B241BD8E0B416571D641155BCC41B8CDF0C05C9F8BC105910D42F5D6303F751C4FC1F0632D424776ED407B05C341531AFEC1A4E01C42880814C2FA3902C2BCCEAD42C93D3B42765FE841142E4DC26EFE6CC2F41C384296BEB2426B0959419E344AC2A874F341A27017427A5407422CB928C281A43A42F0180A427603E5C169E141C00A32F6C19BC181C1D00904C170C37CC0E1284FBF0E7CA1C19D100242025FD5C109CE98C1EAFE0C41013557C2BA19B94289BB00425E85CFC1320206C3ECAC35C20801F541F037D2C0CFFEE9414AEED6C127A7E1C169FDD541C08A2EC2188E8DC24791984239897CC28B5C38C200AE8C41C57192410A4B6CC2E19009C249A0264284566341861F4AC2AB7F40C24A5F89C20E671D42B7EE3642ABBE44C1783DA1C288B48342ABAA2641361FB3404670C6BE490D8D41E2081542AD8B6AC201A9C4408276A1C24F7FCBC078B018C2A7E33E423FE53CC2E8D4A941D77818C29A5ABA3FAAE892C1419E9AC1B854B141156121C1605B3742085C4241CF8D45C0B9A3B4C1B1EF37C25CF392C03C79C0C1A09C0042F88B844147BC07BFB017A2C1A5507B4238C71FC218F7C441BE885541B54AC7C1F066F23F131D4142A52C0DC1D96068420010B6C1736D66C2B2BF25C2805504425E36A0C055CD9341F50D55C1921E49C21F62DCC03A6F2A41EFCF88C03034BFC10B9DE04167498342DD5221C2163B68C29E908CC1D42286C20B60D6415FBDF14128E2AEC1E54DFA42B386F0C107B3BF41B31C9FC10E3C71C1AED6C241C9A23841E57F18C2CD80B2C1798621C214BDA4C1CC1B66C2B49335C21682D0C058DF73C1C6D44A41520904C2A55939C26B6706C25A949E42561CFD41BDC00B3F2C5968410C741342E15A974052B118C17303B242D21D2042D3D722C22B9DB9C1920A23426BB87F40FE725F421AD74D3FD19987C217A0DEC100E92AC05C9267C1E9624FC2C1F2B7C134B709420C8000421A38B5406CFEA0C2726380C12A45F6C2AFBD88419712BEC137914E4279AB1CC2886B4F42B7E733C2CEBCF84139465ABEE0E47741594317C238C9984126ACAFC1F0054DC284DDDD41B6CC9AC2F8D02F420519F841F83D4DC2488A2DC2AF6B36C274983BC2E468F241A9EB2A42625239427E7908C2172707423007E4C03A67B1C0A8654841BC1CC4C1AB9F3DC1200BBC3F2A5C2341B03AD641BA7D2F415B3E49C1DCE5F9410DB823C1B6BA36C173840042AC5678C1E9B970C2BCF15441B1CDA8C0E5758841CAA48FBCB61D5840E30CF541BDC30E42F56DC7C191E223C29D1B8541B20BC2C1C986DDBF2675B0C0354EC8C11F4D9E422C6123C150FFC1C1DFF567413CFF25C24AF50E42B98C32BD87FECF41966A2241DD590741A6F8983FF857DC406EA16BC20DC20A423A7920C14B6897C10978ADC13F2037C2E1E21542F5C09542D19BAA40BF6AB8400F3FB1C1FD3768C1F1C256C15C9196407D0B1BC2B4CCA54002AFD341FDD4CF414FFCF7C19DE666C1A3F311C24B7D3AC2ECA6C0414EF4EC41D6B2F6C13497F8407B6D8440BD9C7240656C0BC25114C4411DAE5FC1204A1641AF335942233EB241A5638C412BD26A42FD3FFDC21116BAC15C137342FF73094205A65142DC85AF411BEE1EC1A0E032428B692EC294E44942FCA240C22FED33424D1F7C42D0248D413C95074121478C41C9E4A6C26753784147612B41ADA35AC26ED3F63F7C33D8C127AD6ABF8F2534C14F9726C1D0081742685B9742A30C7941C8AA994298349FC27D0A22C2442654BFE55065C1C24992C25101C5C14A0A23C03E292E4298353642C0508B41ED362942CA3F3AC1B7C40B425C66BAC0E5A52442ED5E5EC164D331C10C0438C1D3E003C2F8B994421403DA41BA6457C209501BC200EF9BC1146A1EC20D9D22C1D2F822420E62A7417EF03342C3688E4134747BC0114DD4C135D91C4140DC54C1434EE2C0E8E519C2C58AA9C0378C2342FC2CA7C08EDE9DC174EBABC11332374144BCC440AE57384170E586C2BF6368C15B32CEC04B5F4042571173C270096DC10C9D76C1136248427E6C4E4241F0164297749F42655016C237FD42C020161D405FFFEFC0B7E333426568C441CDE9B6C11F9FC6410A429D3DA56606C2F2DA7341745B6DC1437A0AC1F37D02C1A7B419407FCD0C418EF97D41A2A3BE3FB3E19841FFFA08C150E73C3F86263FC14149D0410EA08340C7D139414C2255BF7D125AC13EA5B0C09EC3B3C03B435FC11742F3C18C2FE0411F4EB04099776041C85803C2308FB0410B5304C2A795B242F37B71C10AE5353E609EC44165F97E414FC48C4030968B3EF08C144239AA17429F87B4C1FE45E7C01BA5814163FC1F42E0CAD940DFF2BDC071E92F42078013C2E07E3442BFC8E3BF10EC99C1497F26C248C8CAC13D2A1842E61737C22A2B85C163C7A5424A931941BF2E19C2BE73C5C05438F441F9575F4236CC66418BD796C251E37C40A8EE7AC1B777994210D880409F03F141E8CAD54108B34A42045B9CC0EBF926C237DCADC11CF625C25E4666BF0545EDC1287A61420FC54D411FB30D425D6583C2F03D544150B981C223F2F441FB2A5B42C816DEC1DB7645C2C5265CC1AC741E4179C051C2DED9D041EC198EC111C9EFC13DD022C2B1538DC2A297BBC12AFB9942DD372741F7A183C23FE23942D1C250C284B83040324159C1DF0B3A41849E24421AC3C94014D671C23051504034E3B3416A13D3C0F3AD44C20ACBFCC180FFF23FBE3CFC4058DA63C1D2B91642CA01BEC1E8F40442091350C1D46B6C4266CAAEC2C32F05C3069ED142601E7CC09EC28F3FA9F3E3C208778EC28F358B4072921642A6F350C16789DEC215CB8D423FD698C0938106C2C8F896C0F83F36404626C4C2C42D10C26329404205B22BC265E63B42E1E5ADC2FEE9A5C2A56A7F42175AC041B3DC24C02B1F39C0FDD6C83F0AF15FC143BB593FD67163C001009D42C5028C42129638C20BDB96C1869D4BC193EB4AC2D2A4D03F119D22C11040E2400C0D36C13F6854C1D12206C26C41D641FEDFEEC1E8AB26C159BE8741B76E5A42DD65C04144BB1340F286E641A7BD0AC1F0664A42769230C2B6668B40E1C03DC254B573C1167206C227CE534285A8B9BDD0BD79C1693925C2F1B618C1A1F6FEC1E596BA40373941C24618EBC1DB1162C2F5474DC29C6C7AC17B77C5C1C3D56142FEB5614217392AC2F99E5D4106081C4241156E42A32CCE412FA028C19679F6C16F0A2142FCFB3EC2CFB648C264346FC22B299FC155413E4298767F40B9D04C424C795A41A2294FC13B1F1A42F5187542CDAC0C41FBC0644145E84DC2CF277C4168D73242537AC841BFCE5942C02643C22E2A4DC1EBD11EC26D2A2C421FFFE5419E1ABBC19BE20541B57728425E4AB3C22546ECC0B102FEC10E83B4C1A67A8B40FC0D7941B476A1C1D5AC8E42860F5DC212AD7CC29C505BC295C236C2C2358D428AD7DF410E051C415C9450C2C8A68342AD766A40AE5E81BF9516AFC1B3F90DC27DD44342DEA033C2AE90CFC29239E3C169FD32C29DE59B4240AAC4C1DC6E074163AEE13FD4ACC6C199969341DD248442C75BF5C16C259841916638C227F6324123BC84403FE48841EDF33442D77970C256545FC2FCFA85C20C84EA4163F424425172C3411E0819C235643C420CED88C1EFCF4DC13A0BA5C1C497CDC16804A141994A8E417100C2C0DE2C5942108FCFC0DA5D054287AF1EC24FA6F9C1D31C2B425CD00042820A46428854AAC1819FBCC1B65909415E530E42ADA908C2EB250A4171904842ABB00542A7AC3FC267E703C2AFC4B5C2C9230242E30C6242F133B441E2229841A51EE6C0396FF341B4B24DC23B4777C12F0904C23859C3C0BBFC1442A6CE77C1866511C27FD86EC0710E5E40EE7C0EC1B1D56CC1BBE2E6C149B2C6C11100B641588F04C20E4C5840BA1C5EC1579E83C1A67BB9C0584272C06B5C78C2C53D78C10971DB4165DE62C2BD6C20417E450542DB7E40426FC733C116B4614124C44CC22B10C5C0582D9C4293706C41245103C291C40EBFD3312F4116189CC14910C3C1E3919BC1681296C1EC6BF541F15B7B42BFF5D241C889024130C914C2B9A6C8415836CCC12BAC8442EDE6EABEACAF254113CE8FC0E02246C145210A40B08D794133546B411FCD18C2149431C100074A425DB2FA41DC644A41AF451642DE0E4E415C675242447C8C42C50988C2A58A4A42F7EC2A40CD534542427C1842D479D3410065B4C2DF2391C2F102D9C17C4F82411DE97A428E6D1442687FB140F6A46642FDAEC541104D34C034EA44C18D6D69C1A0461FC203862D420CCDE1415836BDC12D2393C0868124427AFE1C422D62A341DEB4934141042842871B8B4188D29442D0D4844078E0B3418A2655C26D2C28412143C6C08A59AE412F38FE411C99ECC1CF57D0C1B4C46242BE6618C12293ACC0EDBA98C2C3662A41B170894230271E42BB10414160D277C21B3454C248091D4281F2F540687A8842790EC1413EBA2B41F32ECC416F1CB4C259B544C03AEEB8C1610CA5428A18974253DF27C1858A35C2324C993F0E5C88405FA31AC20B25AC40EACD12C21DECFA3F642393401AAF384255F05CC2D13BC1C2F89593C166D4FAC18CD3164101F50940925B7AC294934D412ED7B4C2D52346429268E33F1A71A9C1FF37314036239C41BA7016C26419EEC0BB4BEE4192811D41F4DBCD414BA5EEC04BF45D418C611B41C4374DC10FBFB740BA54FA4021ED2AC29228EE4119D14342ABC2ADC1AB472E4222216CC2DDA75BC2C3D301424478EBC161E5A2C2272248428899E6C0CAA2F441A74C694210C58BC2D1381E417A70D4417BF1FFC1C3F585419921FF40169116C20098B741A34EDD4131AD30C2DE92B3C18C7EBDBF676AE5C185C8824171F997C25B030442FDC3B3C1BDA6D241223CF7C1FF2F9742384CC6C1FBAF67C1F6502CC09CFD1142CEFCB74220B6CA42F31BA041C4EA93424F89664287BC634292572441D85F45C286687EC247593342E0FEC1411D361C3F0CF872C2E4A9B0BF0B6EB4C1499E3B41B56C46C21E8905411DBE85420733A03F868C144214639DC2160CB6C17440E741F8EA34424B6B50400F5C1B415FD143C2509509C1DE166E407E680B42F5A119C2D95750C2F65719C2F4DC96C1EAD453427B5105421E7A9B4299F70FC2DEDF6B41B12D7B41A1F2C6418BC9C3C1CE7349421AA5CD41860682C1AAD513C2375D284209A4C0426A25D1C119AE9FC110543A42523592C1441B9B4148CA4642F55B0EC301939142EBBD60C22AFF65423CF497C2278BACC131DA3F415B7B0AC268851941D0682A41810DBCC23A26BA42C37B97C13C0D6CC0819292C2C4804EC162C386C2FAA94442BD8617C1C88B3BC2FD9A7CC036D2A8426122C941F9A82A4284B750C26D5A5FC23B5D84C2DC228DC114A22D416CFA64C02F6CED419028D741821E2BC081984BC1B85E403FC86097C2BA3E0C416594A7412F90ED41EB370EC22D204D41443487C0EB2B43C2CFE4BFBF0A5DDAC27BC347C2AA69D0C2CAF93CC0475D06C115C8D84188E783C2ED92CC4087F40B414A2120C1577A87C1B914F24125A894C11C67D63F7275AEC1E26053419543814106C080410FFFA9C0BE6EBEBE9C6D44C2D13B7EC2EB841340CB8995C29FA30742A03C5541BE2FF24174CEE140604D81C1E44511C2B8D39E41AC9F7EC07390C9C2B8E2E1C0F4BA53C2798E19C18A815B42CBC21DC26881D8C1194C55C1B0AF7642FEB313C2AFB1704146621A42858695C1532E94BFA61476C167DCE341E26684C0C8436B42D56D9C410765534205019CC1358548C153417DC0F0918F415EE11DC1DB080FC215182BC28A599141F6B40542BB9D8441221076423FF3484102DAF2C01108F5C0475EA5C2AC7DA3C1DA05A840B9152B421C6EAFC118A47441514BF1411D97E441FA8215C1AF6E9E419AA01BC22A8362417A182CC1D1124AC1E6AC8EC2A4AD02C2688CDBC12FF75E42EEF5D3416AFD1C40ACC27EC1741EA141909151C22C124D425A9C8B42DDF047C280AF654146FBF4C1563616C256631BC25FB03DC2177E44C1BF3A8DC14A695D409CE84842DF7223429185D1C18EC08942B77FEDC11C45AC41F4F31F42D21E38C2879345C24C83EC41B8BB05BF414193C1C4C1DDC28C98A1C183D337C1A86EECC0B23EBF42DDF676C21C639FC13F878642A1DF4042D4D874C13005A9C191D4234234D0D341613F2EC1B9BF82C1217A1BC1257BF23C600EA7C1F28BDCC0A840F5C094D344C2CDED40421231ADC1DA847CC2A35ED041C7D374C1E55A71C17A87DDC13A7B1CC2D9BF694202BE5F42E17A20C12CEC79C2B0F5B4414C68CDC053B04341CB209242F84569415D31FB407DC5AF422DC024C1786FEA41B357D9C0631598418D9875416264C6C105308341CE918641A3B855BEA13F4E4199B873C2E412CCC1A4608F40622DA9C1174C14C10B910BC2B5813642961834C21E9005411F2A0D4237134F406FED98C26BF4E84127B74342DD68474273359342DB0ECEC0F122114236FBB0C128789541AA96A9C09A11074255733BC2421208C2E2D0B03FD2C4154298C83641E5459BC25FEC69C1BD008642F7D96D427300784210BBB740D37E5DC1DA4D92C1EFBF7E410C8C01412D4D0AC228E3CF41CA6703426619C04081469542B37AFE41770EAF410932F9C06AC3C2C29D78AD4147608BBF770F90420642954215B3A2C293D18841F38ACBC0BC8F1940A5452AC2A61FB4C0BA4EB0414BB36B42EAAC3642A808BF41F10986C2B0BAEAC1940BAE41E869CF40B00BFC41948E1942C9A19BC2C679CC417ECC77C0B61D36C2CED2E5407D48A941BF11703F26D84142C236D6C1123060C2C107BCC1FCA97142FBF6ACC0820B89C1C2E8D7C15892683FE0D54B4217C59A41C47E47BFB0E386C224218C426BB2CE416600A2C1A73D74C144EC9E41785986C129EE2CC236B9A9C1B778AEC26E839FC26E12A3C2652A84C2E6F4AEBE7FD8504223FE3EC29AA364C2CF8BA04223139A414FBDF34183C00AC2104EBE4199737C428E90FE418E8ADFC1256559C1D7940FC272FF58C1249E81415F38A441846E22C25333803FA80DCA41A01F61C1227C18C035E3AB414EF44FC236147842D2DAB4C10D4D9CC1D2BE67425E4DEFC1B280B2C10EE3F8C2EE1377C2E601A84113872C421DB498C148ED25C2C6A98242680CDBBF64D3EF3D94F310C29FFA62C2B2CE72C0077DA0C031C6A1C13C8C6C40716283C1C40E414289F5B3C150DD49421EF5B9401360D1BD41EAAE413DB446410CD92BC17FBAC64016301EC07803BB421A89D8C15820ADBF5DFDD3C12ADC314232D71FC2B02E03C25E57F7C10125B741E4C91042DAFDFA3F0DC917C2886E1DC2E8B1F7C1717FCD3EBF8EE441AEB717C1EDBF02C24CC3E7C14F73E4C1F733EBC1D54D6E4265CBE9C0816BAD4168964AC201F5F14056AAAA3F91ECC03FBC5660C236C3BDC146973FC239F11A429F0CE4402E5525C2976B12414711D1C1BECB7B42DAE8FC3EE21ACE406B20B83E99FB5CC23DF1ED41361645C2E897E04075E6B1C1432E7441211F53C2408B1440DD655E420B6155421B04E941E82A174224C3AD418D40ED40BD84E6C17D7CC2C11F3048C2EEC61841C960BFBF04C538C15EA491413EE0164282DD964184FA41420450B9C176D08441DE6CC641193E6F41D5DB56427C6C4A42EC3DAC4246B89642F82738C224A0A0C2C847BC413780FF40F796A5C1F130DD4177921640E98D2141B7CCD0400C4269C1286C99C2AF1E13C17066AA4164A3B0C1DE6E1E42DD9732C2B9F94A42CA55BB4126DB91C07BB7B3C186B0F5421ECC02C0354361415BD520422C4499C26653174123F71FC2E1370DC10A24FF404FE52CC15AB194425C9B07429457B0C0E1B3AAC1BB2184418E052BC247EA5B42C683FBC176794C41C857F0C0551C6642BEB312410FFA86C1C4721642FCFE88C1214F67C23D7BB03FBA79AE410B19B240639FE94109D4DE41020D7BC2297EF2C1E41A88C1ADAB0A4261752BC2C4ED3EC17F2B3B4226DDDD41073C8A42172A71C2CED858C1EAF2D4C1868D8A41F59D1441C311FCC1904A8F41EFEC8EBF81CD27C0D1CE2CC235728AC0E01F41C120AAC741CB3CC7C172EEAB416F2A4EC08283E7C0C5489FC2613A95C2FB639C40268031C2F43F6142F8A42CC2DED63AC2DA45E9C1FED09E40A41EC5413A34A3C2EBD124C2F3C30442930C9742127B7B415B4B65C188CE90C1956882C2C42BADC1949C924043BD87C1BC560BC1755DED414588DEC19E93EFC0F4EFF94153C063C0B6D7B9417450B9C0A1848A41C12F40421709C7412824F0C10A5736C17F33064086DBB4C094D491C1E6E68BC1C8675DC120B409424BF62C402556A0407ED221C2E7AA59C2A6F21BC204C53BC28F990E3F558913C130B69E412D339A406371AEC2904B6141A15509C25D2984C1A7737B41A4FA9C42BE204941E0779941A61A83412E5361C2256138C1BE896DC105B96BC24FA615C2854A04C22E09A841ED8C3F41D4734D421B2287C06EDF69C1E1926741CD4347420F20B3C1E8949B40628B0AC169350941F6065842C93D873F39457A4238A85940937FAD426D75A540BA700C41542709C270D9AFC09F2BE4416E06F541E97D5441C1728BC18BAAFC419757CAC1FC63CBC076F563C1D066CB4108691B42463D87C2717D513F788188C2C98F6242AD3C9141E08F1F42B3E102C1D8653042AE85BCC2456D2F42940E73C1D2E5D1C19D53D34001C9C9413B164541D8AA914114CB17410DA3E5C1F4BAA2BFC963A5C14EE8B5418D97C9C05C42C441CFFBB2C15A8294C17666E7410D184ABF937E5B41C3368F3F72BFCC41A894EB412D6B3DC208BDC2C185B9ECC1C81CC540FBA80A4283F398C1833C4141EDC922C2A2A1F8416BB4F6BFC1FBFBC112602341CE9C11C2E13BBDC1C60CC6C173D823C2635E8C41E1725A41C8B75AC09DB6A6C186BC50C281F10EC29534F9C04B59D4C14CA196C1066932429B5F1E429F31CB3FCC560141D93FD0C0456243C1C7863C4153D8AAC03FA4BB411C89FDC06B322242E666A3C1D5E09B41C4DF70C2B2CF9C410351F9C1ED11164231AE1542F286B84008FBCE40B6C809C2350F80C10FF1EFC1F0633E42F1F8614282F306C1797CA24135F28C41085EC4C09B3340C07E9C9D402FA41FC2585700BF139D07C2DC10FF40AF82EEC03D18EABF7327B0417C70F9BECA0BA1C1756E5842C745124273AC5742C86D5CC2FDD1AD4047FE2FC2A8863B423CF8EFC16AF47D42BA64C0C0381803429AF3214121F218C2CD744542A41982C257A12E4183408C4101ADE4C05BB79942FF7E42424F9749C2F57814C28AB6C2C09039B7C12E81F041AE537DC2A05102C2AAF4E04196F586C17307A8C2BFCA89C186E1A842F50329C171122342ED6DEAC16E4FEAC1496B07423D1D463F52AC724179848FC106ED26C19BCBD241D4EBDF41E80504C2D75486C25BE02C4272F7C441B15AD4C1D83D89C251C44DC0A0D8C74100E0B53FC2EE1242074DB8C2AC17294257FDDAC118D6A5C0B2AC5FC1708D14C1E42705C26B910E4243429C42D41AF54151A928C1329143C25BBDC5C1CA9E6CC21B421F421414ABC2B799D241631856C2B708B442148323C26809A5C211B288C1B5F340C2CE08FFC14ED5913F2265A0C126158842B54A54C1ABEC54421E508BC2D6FA9DC2BC8C62C2C18EBD4164B8B3C10AC200C1763D54427A1C8C422AEF6642AFE638C24AD4C0C16872E7C05551C540F67BAE41D6170EC2B66D4DC2FDBCCDC156AC3B42CD347742AC3D874238086CC120B32642DDD6C9C1E5ABF241ED88F2C16F961AC24A566042C8C8CA4139DF03C14E143741F08941C26C00A1416B8AA5C27C6A7BC2D4DD46C2EB589141B8B6BCC1D69E0342ABEB8941D873D241DFF52842915018BED7835841D488134233CBF440CDC002C2E7661C4203EE32C2EAF68942A3749841B84092C15B08A6C151B960413E3174C2B31493414898B8411B0D75C0C968D8C1571FAC4100D90BC288BFBE403A89D1423243054266881CC1A6928CC2080B10C2E0C4E64167D5CF41251B95C0D3EDB0C190A6304277BF6AC05F4A19C2D36197411B6F29C2C6D95CC212F816C28A957EC2DE9FAE419686C03F457407C033E2B5C248D9AE41AE8E8BC17D4C744139AEB3C290889442DB6937412FD4C7411885C2406C018441FC3C02C1B8AAC3C148F83BC251FAE64131C16CC2827F3842ADB89741B500E341A752D5C1810ED7401C5C69C10D04E3C0DAFAB4C2DB869140E61CD84117FF1F4245FC8AC2E5F9A3C28C64E2424721BBC0EB61CD423CBD4EC2D16463C13472A3C1F5BED7406B31E53E162100C18AB912C15BC23DC2ED83A24172CD5F41DC1742C2C4F60F4135A6C8C174D82942B8768541582A58C1F22E43429713BB4296E09141B99827424A2BAF3D85E275412CB85BC2B9641542846DEBC1973D0E41A9521E42B933D242A522374235847DC277F940C2567DB2C18F5C73403A94BC41A83E8341C8E041C20F5639BF10BB5A4247FC12C27BE8EF41CBC659C09123C64198DE09C2462EA742D31E77426EC913C2257024C248A850C2BDC3874294F5EE420CBAA640CCB14BC2EBD66BBF75E63E428EFBB6C2AA7FAC412D6DE540DB3BACC2FDDA87C2586E8F4131D0B5BF332587C1CD5B1FC285838DC058831D413F46B1C2BDF0C2426A0870C193BB06C18AA18242BC80A3420994E041BE9007C034C622C2E4DCB1C2BB0E424220D8B642CFE5B5C2C4FD3AC26049E5C108F05A421A593FC06D4653C0D0BA4DC28A3240C1E1D84E42AA803942141418C222720FC2E1FEA0C048B8F0C137F4D0C161187241DE08BB429D3F5EC18C954C42B4710DC2EDD7CCBE28B1E34142DE32C1E9A6AC415F08EA41A87725C2C42690C116199441A735C8C12C42C1C0507E7CC2B792D0412A418542D97C4B424CF18B42A8F937C251140EC2D80D74418D48A74106358D4258AA16C2EB9801C243C53841901EFC4110DCB1C1B7DE68C1DB56274272C916C11B7127C2023B4EC2AB3FA7BED990E34188C656423CB305C1514BD2C1C0D94FC12D2A9D422A353AC2DD3415C26E0474C1FA2705424003A54226C3B0C1970837C2ADAE97412BC8B042686898416F0D074201A624C2EB0C2BC2888AF540D40CED40E2A217C2499E5A4102945E41BF83F8C010EAF7C1A5370DC1B509984231AB874123E9E540DDD49AC0B1ABEAC1720DEA415E453DC05C633B426BB2C4416558D64114B54E4139CF6641EC36AA416FA8FEC15B59F741981126C077A933C1366722C10FC4A7C2608E09C18943E440975D9641A5FFF6C161A7824196DE8FC18D511EC0FAA8B540341A03420673E440EA8004C0C97E87C1983EE9C1E60A9DC1CB8B59C13E9CB63FD80CA8C1F55C59C05931CF4065E369C1BF9E574228012740488F73BF814952419A05C4407A20A0C1814534C0850FCAC13E29E14102201DC14C1BC23FD6568042B29095417768EA41D809AEC17AF154C1EA262940C3E17341089AB541E8E89C3F7F1ADDC15F7A8341A14EA541C67CEABF077605C2BC8DD2C131581342A48D86C17A9549C185559EC1FDA9DBC16FDD0E42CC2066C07983F7C083AA9DC01F8BEF401FA638C2E8F3EA40B204E53FD1DE5E410A4AC3C158DF04C2D48835C28EB708C130AFE5C176A539C25AAD1F41E0017C41DCD41442EF18BF41FFD4C3C0E7AE9BC1A043C0416CE4544189CF2142F2C46AC2A21C3741937264416E3A43C1A23F44C22DE20241195F51C114AF91BF75A1CBC1BA2147C2C8694F416DF5C2C005593C4034DD51C1A3DAA2C17A60F54189DDA2C1068D0F42D1EBAC4151CB10BF39113541F97630C23BDE68C2D1542DC1882FF04178103242A451FF3E3CAA9941FA4192C1C3EACAC1760144C1E10FEEC12FAA82422537FFC02086A6C26838B741003286427FD8854299EB9142114C16C179C408C2D4155A42501018C21E122642CFED66C23750A341F59FD5C19FC6BBC0970302C205321F42E0563E422FA89642389B74C25E5E8341E76B22C2A2414BC16BF4B74069D124C155A65D424B2D6DC15D290B427CC46CC2198009C24FB3AFC1DE1699421910D2C10D33C2BED7048E410C87BFC0FDC960415E69704273639042A21D324292D7EDC15A02ADC2AE7795C191686942065DAF41F518B141865C71C1C72A12411CCC7FC1444A1DC2C277BAC0A888CF41AD28954269988741DC6B1842C5258CC110D6A3C19E9C5B418E83C1C0DC7E87C1F388CE40BB30E04189849941E867B9C148C181C2C36EA442C1F4EA41D26103C15C9991C25247A8C13C083942C8E75842FDD8F641B831B3C19F98A741C1118642DB373C41C71FD7BF242C0B41B72F54424C7E71C1289F1BC0B1687CC093765641EA26774275653C42BE3652424B919241E34791C29A84A0C24C79B04107204BC251FAA2413E1CDF4101700A42134612C330B29C400EDFC142C973DF40BE2F1E42079FA3C11202A7C2F03166C219C1B4C1974736428970BA4238169C41861D01429E7004C2E7E20BC0EA7AD7C096E0F8BF265390C2E56253C118140FC29B8F0A42F0CC9CC16AD1B0BF684781C166B6D33CD98106BFFCE753C12EA8CFC0041C2AC1987115429F4495C140BC0E42C31A60C1DCAD1CC0ED898AC21C33A4C2D1521742638801417431BCC1A11E51C17D541B4217474FC2265EE342D9D575C28BE29CC187E054C274CB3BC050913142642F13C236B4A840CF4C99410A22DDC13D779E3F6AEAB8C245827BC1B1DE14C216441C422E31B941B5714141D5FF0FC1D2884842B51A18C2B2730D427C0B23C19EF9E342384CD0C01FA48FC13018ED41E57745C120CEE0C0A4DD28C1CC33664163E69B425499A3C26A4FD0C2A1E9E2C09E4AE5C2F621A9C0B2BC21412E44A3C045095341CF48D0BF34C583C1638614413FAB67C23EF4D2C2F49248C2A55C9C40FD5EA0C1D69CEF42114208C183E95840ECDA9AC0D56C594243E35FC18D8E0240BCEDA540EA8FF9C1FAB96CC1D9A45F427D51A0C298D1C5C1A8442441D11972C27BB669C2E66EE3C1D5A94CC214FEE4C1FDA68CC05027B842C88481C291F759C24E3B6B41860A76421A5B20407A68CE42A592D84124EAF6C044A485C0AE5598C20A6CE3C1FC32B0428579D5410BDC52416D7E1042C07335C0C51EE7C076629E415D501BC28A2804420AD266C2FD0D6F41D14183426090EC4057C18642481E8CC2069927C2A4229B41F18B4E42F45165419FD0224269C6A5C1B35E1242523FF641C23E92C216DF09427A81BA41268E7E42EDB9B9C2F9F86A410DB092C109DA4542C6FD92C194518A42F40D4EC12BD30741C160F342264D93C2460340413539D3C1270FA04254F62D422D7598C2C2794B418028BFC13AF2C6416CDBD1407170F24045D892C19B8B0D42FC1A05C26F3A0A418407F8C17EA24741AFDC1CC259C9F6C116814C41E14E94C16A80A9C0CF2242C23BD5A8407321D1422C8901428DA3944276E692C13E398FC28C0EB942C886DE3FBE2766C1F25299409300E4C13E8196414F34DB4125B3A1BE5603D9C0C58ED841F440D2C1C26B01418CB9194270ED40415B1484411725703F6C2A75C1279C0EC1A35034424DDB8341ED347942082C8BC1319521426276614182B027C2E1956CC2193B69C1A4CA10C1F4BDAC4110F59AC0AEE011C0D33576C1A51B12C2CA91BD414DD166C27EC0BAC11256FC40155DFCC09FB3C341524F0FC12449AFC1C37C0941232837C0C69F2AC276A05CC1612B2BC12AB3004276F514414C78394249C77DC122D4E9418460CBC1632103C24A7D33413C37FFBFB95A1142B1B027C1979B53C1DC4DC2C129064C41E31D1042C43B89C15EFE13C2554A2DC25998D5C133B22040B76518C2150F9141AB0F0B426F9B06424DCBABC1AD80334186CE8C414888074225B2D340E528EDC13AA3E2C1215912C21B3C6341E54881415D25D7C0CF8FCEC03B401041CB19014109D3D8C15F4562C2DEB73E420D7B184235F0F5C1F68AFBC059305C4127AA3342BC302F422B1188C16D1E1EC27DBA71C17C2CE5411ED8924040D4E0C1DC7D4041DB9A7CBF4461FE40CFDBDEC12941B5C119796E420AA2A241FE002AC2BA4515C080C42DC19D8E804270302041F203264183DF06C204068940C1756E4220D43F4162E04DC1001C0E4280F9AB409279B4C1743CA7C0E6385EC0DC3E89C198D15FC2F3F43041BFFD1A41626C6641605054425C062CC2B5B0EC4024C0CA419F121C4105DBCD3E11F50F41867F38C26C15E4C009482C424FEA20C0F43C0BC103FE3D41C93CB84027DE05424DADD340A1A0D3C10E98794232D6C4415C836441322912C22A6C03C268A3AEC0F75F0DC1BE756BC126B9844115891742F55D5840950B86C2B91D03415D9A53C202CE1C41E575BD41BB45EB4195519CC15E856842CFE6E1C158B16641FB5D41C2D30695400EF40742D3E248C2D5F13EC2B9490D426E5B2E426171FCC1B8A680C26FCFE8C188B510C2F00190428FB3A5C0F7F69CC2A8CC0FC23D7C40427B3483C1FEF876C2BF366C416B35A2427ED55842D01FA440B230C9C1AFBAAFC160FAAAC16C2C72C1FAD6AFC16E0CE241A00B10C25311A442CAA3A341C10B21C0BDDD5F417C884442ECFE6B41C48737C2F1B98AC1D1AC684279406E4260B66641C0BD39BFB58581424CAB3141889A57C29C2424C1757CF4C05E3C2DC2E2F33D42ABB18B41F99735C0E19C12C297B367C2C54A68C043F50B427CBEBD415D7774C1D066433F51258AC190595A42F6FC18C054D89A4125491DC205ED35425F51204014C6E941D758B342E2C0BEC2E51FCE4173E7B941150CFFC280692EC2F1F56640C153244368F80D43A4BAE4418C0ED1C201BB91C0E4638C42099732C2C9E5C3C144B02A41376284C1D272EE4151AB4441D6703C417C12AF40EF725942E0F0ECC1980FA2415A6CA1C059FDA8C12D6B0DC2E5B1F44125B92DC2089E8CC19708BB3E6DC4D5C172E55EC1023589C28A1EE842E69315C0A84F87C2CCBCB5C220A886C12DC54C42BB203A42FFB137C18540814284B4274024DD5C427F3C964104B932C2146B4141E00E104284BB1AC25CE995C2020406C2F9B507C25C9E1FC15534844167953742753CB5C067413F42BA7196C13A84094154BD35C1BC4E9F41FE2E2542A826BF40506F90C2D8AB7942D8E49442A43BDCC0337C10439D35BCC065D82AC20536DCC1F436FCC11C64E142396D3D42C9587442FBE205C284D40B42851A34C2F40B36C15187544195592942F0F86D4223B2CC41241064417C9592C1D5FBE341E047C3C04397E84122318EC1F5BE1B412CDB9E415617E241AFB82DC2A49E6AC1C7D531C1859107C2CC93ECBFC82F87C170E7B9400DF25BC2D5AD6A41E919BDC2CE1A10C19F381EC21ADC6B42C7326FC1A04283C11FD8D3C1DDE596C14EE8EE41444EC9419F05D8C16C65EEC1BE73A0C181FF3E4130E733C11AF635C26FB8254110D48CC287829841A5F70242419F3442DADC14C270998C4252E096C281DF31C283AD1F411B8BA3C23DF0B7C12D3544423A3096C0368BB1BFA664264241DBA8412B2F0942C95518402D62C7C269643D3D149283C14495444285B183C2D8A5384219085AC1606C653F25E43CC29B3CB4C1502D86C1047C02C26ED778C2B3E17D406F93DDC18E8397C1D64B29C184B51DC2E40D5DC219791642C1B0AB416FD2A541A3DDEBC17550FD418E7190C16DB6AB417C7D12C22850B240FEF97842DEA6504271F39242994C2E4016B563C2F81518C13B4F15422B351FC271C56CBE784232429DD79FC0A01FA6C1A2F0E6C075566D42C51C15429DB75AC28E214FC14E499542352D1FC102FD82C0F933C3C126DE28C18A5AD140B94E86423A968241F62F7B40F8A096C116C306425EE144C1867F6FC202FC95C05FB9F340DF5E7E40520F4842F60606C2F2FE7CC1DB0446C14F2A56C2E89B9141FD6C21C27ACACDC12603BD4103ADEFC1D3031B42A0CE0B426E3D35C2C1E887C2566B47425A478A425149D741EF1371427E35BFC1D9CB1B4232514C421A5239422DC581C2A0E8C64100F43CC1FD684AC1A8D7E5C1CD152B415DAA50428F9882C1A180A94163374D420C36114233608A4060A8FBBF69C56AC2D37D27C0BBC1C4C06A0E0A42E3E14AC13CCD0FC2213791C131C58D42BFBD87424ECF24C19DA063C24E23DDC1CC3529421EDF47C17A53FE406986064252DA8CC2442DC74128C888C0D6C09AC2223512C2EADCE341601B1F40310010424DA911C213B09140617A15C2FCC19241574A9F41BDF3BF41F386AC42D4D82D420A3F7742770CFDC1F982F841879D7541470F74C1342C8F411E3F8ABE3F4632C250151042AFD875428731B4C1036E09C1F181E041F0333AC290CAD3C14A44C4419AA2CBC2A037854210B029C2F5A31CC1CF0265C2BE2D3140791454C18AD274C0DB2B71C264FE7742D14E03BF800F5AC2CEA546C2026360C150644D42687F55426E809CC1C90A00C2BC0BD6C0586F09422BC50EC2536D0542EA03624083692B4202FFD4C1F1E881C2BDF26BC27C9A9840038990410D1F2CC1DA6F40410C9A3CC02D38E2C1E8866CC19285BBC11A30A6C21CB428422167E2C1086D404060C212BFF474FD4131D650C1BF2BD541954E6AC1C3B30AC1E1691A42C0D16CC12A602AC1E0B9A741721283C07D901C410602174235FD93C123355FC14A486B4135FC0E41ADBDCFC0401A8BC144A817422B88F2C13117D8C1F6A7044201242EC039CDDE406325A0C06AD11CC2579296C038C00242A7E7CAC1FAE551417E89A1C11FC0E4BE8B676342EBD62F42144F88BF30FE8FC218520A42E4F46041BA0C9442977C6CC23604A741F510FA40014F06421967B540CA33244291495541955BFAC144CC33C144B6F5C072FA0142F2A03F42703DE8BFAC73EF41F9F1FD41D0A61C40F81B28C225AC5940097894C196C18B41E967BC41B95BED41ED8206C2FC0951C29A98DB41DA940342C1AC9BC22D28AEC251136341020288414093A14195F1CDC1C0FACEC2FA6B0742F5308942166A4141E0488DC20D609142D6DA64400EDDA6BF17460EBF7F1E36C176451FC2757B47C16DE4C941855FA741B8C42E422041CF41D2713FC278AB5F42980804C2EA0DD541B3E2994103C11E420995EFC1FAED35C2ACB47A4114D1CB4282318BC2A1B675C281225E408AD393C2E56DFDC15441E0C25F5063C23DA4C941FCA1C141C022B8C17B1CE0C11D8EA5BF4565BFC1D2647DC0730005400C5116C1CAD018C0D03E354094C0C23E48D081C129319641D57F8C4135F25540A47810416ACDDCC12B13A8413F8368410CE978C129B7D6C1F242664126E7AFC1637FBF425F7D8441D93F9942705E18C19CA9DDC02C65A8C152896AC27B658E4178068742237E8341C08850C060028542CB9587C256ACF0C1909629C1532F02C116AC86418EFE9EC0ABA1284200E5D23E01A8EDC1B1F247BF881127C274CC2C40620364C12089B94167C10FC18D070442385513C2CCA289C18BF9CB41713C5942D560CCC1C792A5C1411D0EC281BD57C26251C041CD13EFC08EC7DB42E0047542224E0B4239C66842429002C27DCC44426DEF37C13CC7BE41C1011542D250B7C1DA3491405ACE6BC10D3DED4115664641C197D540D4E98141BA2407C2D0232D41193D4D417F9D1F41535A04C0A22904427AF612C25790274204BBD8C1877A46428C814BC2122A334142C048C2DC7186C2515EDEC2B3F02AC2E39769C176160B4210EB9A4121B901417C81BEC17FC033C1B935AE401F13D7403769C9C0F666F14183CE7CC1F45004C1F03392C104B057C02E930742B002304050E9B14102B9A54072F199C1BE445E41FCEEB6C1FE20B53F7747A541B082994165BDF2405251ACC26882BE4198A66B42D7B0E5410CA3FB4194EDBEC22C2CCCC1FB04EAC27A2FBAC0DF58C841BFC836421C431CC241508D424F03B2BFC2FD4142295410C1346FCD3F040B94C1CA993342DCBF614079DA1CC21A88D3C101AF9BC0561A66428F231EC094E060C1180827C2BBD92C3E53D70941C82B8942C2090E42967915C0D0B49E404C332042D799B13F6372144184E5EDC17ADE8541957D16C2A57308420EE89641209DFF416F9A62422613F8C0C0E5944063236DC0390DBBC1C0466A40C50888405143A63D304A6CC2CFC05D42976A814265D6954108BA66418F7262C26F7D73C065909841A94796BD93053742A8FB76C29B86E6C11333A4400E2438C1C4385842803D2142884A37C29B1A14C23B96A9C266FB2042757D0DC2E067494228AED6C15890163F1F26824059EFC7412C7FD3C2327CC84176EB38C2EDFCAA414E4B7BC1C83198420FB9EF405C75A1C17DA3BFC1C8AF60421020B0C164E45041779AD1C1185CF9C2B5B51F42463603C24235C6C15C8B84410ABA7FC2731B2AC28B1C2041E672AB42680A6EC1249AD03F99B4FE4172AEAD42A706704132A32EC28A5B5BC28F0D68C2809F23420B1A31415B5B85C2FA10CFC0B35E2CC00E405241363E8C42C8192EBEF55CDCC2E5DD40C15C9F474293F0B2402E6972415C8048C2B2C5BEC18CAA1941B1B3D440E8079940D821C6C276636A421EEB1AC0A4E8C8C17B71414208AA1642628D87C24566D2C265CD16C299BC9541FD4CF8C06178E64078FACCC07DEE13C2127F8C42668F3FC23C9240C12F317241738117C10FCF7241FAD40CC2E5573D42C0D56A4247C895C03BAE514289C39141CF7E18C2694D85C234F1C1C119BA62C2FDC43541062A09C2025D4DC19149774212795F40BB830F3D81D197421A2F6142D83017C2AA2B8DC0260A9240D11E47C24415FBC1186ED4C15697834287A772417EE5A2C0D131F93FC3A83CC2A8B109C2F23617422FA80F42B9483DC2219984C1170F22413CBF44C2D5E06CC1CCB340C23E4396C28119CB41049A13C216D95A4271A2CC4170E3BCC12924BDBE35B6CE421E31D3C02EE99241C6C69E40CBECC84172CD08429E58864296EB5AC2881B3DC1B45960C2EAF701C123B00D425281B7417B152341F1C3AEC147FA89411AFFD93F7E7A8FC17F906141883D2FC22D2A2B4176C3D340F8BEB941082290429022B5C01A083EC2B41061C2B5F50EC1C2E9F6412C7A3941009A0E42668491C2465736C14075194135DEB2BF4BF30541C1C14A41F95194C1C118EA40591AFFC1041500C0FD6ABE41BCBF5EC03261ADC1B8B40CC24FFC7EC17A3E00C1DD9E1EC18C2C38C0EAFB9741E9F18EC05C0F04C2F7FFE5416D270A4276B32B42B58A8EC16BAB1B42661EF040E8A49540019FC8C1EDDD09C1F6C19FC1B65EBB41B082E9404245CBC15DC160C1CE5156C12A6A0142B449444142BEC5C1D6AE994102D21042BEB5624294B79742FC1138C2D33C353EDBB8C0C2658CFB41972B8AC1D18370C1108602C19E32D7C1155BF0C1C5822442CC25ADC1D9769CC2684707C23BA8E040D1767242860F2F42AFDB5841CF5A2AC18C342CC2A72B254296A89CC1156242C1EF445EBFE1D486429A85F3417B4C884145B5D23FBE28F1C1B19CA9C27063C5C01644BC41B5E1A7415E87DF3F818572C1F28322C2EFF77DC1829A02C1AF743EC20C12D3418DB02C42CE282C3FA8D6EE41B913ED4148B0294180D3DEC14E6AA6C1A5F29B4100C29A414F20374122193C4271701EC2D891E0C13A09B7412A4055C1A21B83C2C476203F2B11EE41E95D54413995DBC1B0A433C235BEA4C2386D28C14D4510C2C4EA3042A57D4CC2EF3D23C2D5781C414BD50DC2ED1099C0DE495FC222AC0642B80D65C02D1E1941F2B1CC41FA1E1FC1631F46C192AA95C1B98AE6C1F91AB941B70284415D800B42D1F69C4130118B416AD81DC0F5F5F73FEC2410C0E1B46FC1588EC5C1168786C2872E3541C7A707419E09BB41EBD614C1D9E0B34171FD61C2EE0443426E829EC228F59FC023EB84C2625C11424CFA86C2033D5E42502B09C0B2558D41CBD012C26D0DD5416F3E74C16D172642D19F76414A3310C2F40AB04112E0ED41ABD17F4210D17341C06E773FD2252BC2AB3C9B41E50C654170F09BC16E91C1425B09A740FEA870401E5C4CBF67F4C0412359F6404DF384C15D004CC28B573741EEF95B4193D274417BC28A42506973C20258694111B60D422992B5416BAEB0C0D9B11BC205480741ACC3BBC17C99C94122DCBCC19C9FCCC0A5F8B341D862FA41CB9623424FF67E40D1161CC2473190415A5B21C0EFBBA8416071B64090D453C284A9A841DCDDAF4189E18FC199C1BAC11F69D3C1C32FBA41E2E17A4034BA234025969D402BF79F41FF22F9410A50ED4108339A40DE72A3C17574124065A33B41118230C1CAC2CE41DDD64C407E528DC188D508C15874634235E01AC1A357A3C059188340768D334246C621C0619D11C1F9808E419484C6C1D041FEC14D5F65412F55CEC0AFD0B0C1708E9440E0766142E22613C231D31EC29FB08EC2D3B13DC28E8324C04DBD8141C9417DC17FDFD741A1CA07C2890EDA419C1E35C1994309402CCA3C427FD5CAC15ABC433EAE142542B5F7C841FDD1CDC1CB1B3641FA6A0AC2FF8F0E41971A174242758040D7C301C21B1179414787B8C02A311BC2F0B463C1F19A4941DAF8BB40F93F75C113418BC01BCC21426477B842471139C2044B6E3F8A0D53C20180EF41F6E6324101FADD403816B1C1C0D411C00FCEA541C3F785C1995965C1A25EECC14856F5C1B7181042045B86C0BA3B323D9582204250708DC16B1C2E42F7448AC10EA4823F92E8C3410D81DAC0AEA68841A292E440D94FF541CCAA25420C5400C292F7AFC11E5D444273183A420F4D3CC18738A5C1E8F81CC2B4AA2CC21AC74E42B3A09AC2A77D3541FBD937C2C3C8AE4123A2CCC14C0FEA413753313FBC3E6DC1E84D40C27FD357423EE31B408B682242507B0F4254A62C4285258142860217423AEC9BC178362EC2DE7ABD410E1DC8416BE2BFC1F6D51D4261600B42788A23C26BF91DC2430BCFC15D3B4CC1FBB1E34138811DC1D31B3AC2BD640CC217892AC235E7FFC17B37AD402772ECC1BE9647C2E62998428D5F94410E75B4BFC39262C1CC0690C2B2C1EC41F7C2F64075C9194092DBA4417D1F224108F2854275A32BBC1E2F10C13AA1C7C2F2C42542E493E4C1756C04C1027BC240E2BC6F42C5EF3BC1FA37DBC1718EE8C176D382C2573A46421F7929BF57B5E6417635BCC1C4C320C28615EF41760617C22581C041946795C28241CB424F9F6DC215DF69C1843F46C194C799C2E0F293C1B54FABC187C20D4292F5F3C13D9A40425B38C13FA94A0AC21C5084C168F04AC24B844A4002D1E84051EE4B42E2CC49C250DC60C1E5799B406AF59C411072DE40507B15C191135D42D5466FC19ACFACBDA72347C2BF4204C174CBEE41AFBAF83FDD064A40C6EB57C138ABC3C173CDC0C13D0AE041E933E1C1A13BEDBFE83853428B7547422489E042017008C2E37E5E42B4B613C2F4957642DB2C74418EFDBFC1D2200942558B8842D4948EC22A1BC1413D01FCC029F150C2A3E522C2211A5742E0B00041C3986FC2A533A3C2174897C126B4A9C084BA474046C545C081C665C1CB3073C25396D542566361C02C021042A9EE364192AF2AC25DDD32C2AFA930425F752B41F2809AC2F82D8DC25E1E8FC298955F41EEF3563F142FDE41D3763F41E29525C216D78A42C1E90F413283EE41778F2B40C12512C2D06FEF41DD789D404858D841D8FF44C2B7B1C2419AF980C021A2DD40EDEF8EC224727D40046211C2CF221E42DED22BC26B9A34418970E4C0D134D8C1DB95AAC09638DC419D118941C52746C1634817413B50E2410ACFFAC0280295C125D42441991071C20DA3944230AFBBC1EEA97A4017DAD4C191BA7CC23B6858C2046967C1D8812F42EF20CBC1850882C179DC904268E90543EFB23942ED059341C38409C396711DC2D83D4BC0A33F0A42048AA3C2186BCD42084C444275D06141A22BCF4156E9064113239BC142EAEEC10AE89741F148CD41C2F2BCC10C412F42B1D3D7414EA1DB4045C7D7C1938D4841129F5EC2621A4D415CD709C2E8638AC14FB9BA4152F35442D80033C2636CA9C22B7A84BE2C7A5442612234427E2C784184C242C25A6E53C242A94E41D5DCA0419AA61BC2C2BE4A4101DC2FC2131B6D40ADF72D42204B43407E7523C1501139C2B95B5FC2286E184046C0F8C15F295C41A0D38141A4FE4DC2DB04E241A8787FC1CA0982C27F49EB41DE4B9FC1507ABEC0073A24C258E3B442C2E1DB4126FD51C22C1901420CCBB641B56003C21BD962C2179709C1CE6AD7C245C6BD420FBA5DC1BC2829C2606465C259C180402EFF19C12A94C3C170E26942500C8E41793065C1A166C041DF13A9C19B881EC22FBC6EC2A2A6523F8C40ABC1C1748F42832138C1FF91C2C139A8C3C1B2B609411C45D640020638420C38E841C1709BC29E1213C1AEA14E4202DEA6413AAC01C2BD9CACC11B88AFC1E27AB340DB6202C28A7080C1DFC2C6C2A6F36C42F1118F4038F49DC0CDC5F341B4FF50424EBA46C23A7369C1398DA1C1DF29454126BE30C272AA26C281319740D53A28C1EF0B5E42115A15C261691CC25F5774C0132811C24C93A74162E3E74152819FC1EE3E91C1B2D0FE400CF116C280B88DC0092655BF69BD36C2B77BA941D18B59C2F8B641C182A114C2A2E43FC13FAD8C41017C404156425C4138911D425FE8C441743F49C1063B00C2156081C1951EE441E715E8C11A1FF041DA67D8411680FEBF38782C401ABF12C1EF7F34C2B2F7B1414619BF41B9A3C04136AD27C2854F734032E4C941372506C1022E10421D4E05C265C7D5C15D4154C1DAE5C8BF05FCC34165EE61410C70BBC00F29D841424D0C41BED17DC162C2FFBE56385242BBA27DC1BD5B87C17884493ED55FB6C09D1A5BC030BEA9C1C492A941BAA6F541118F5F422BC1EEC107AC39414592FAC12DE34140BDFFF7404DF6DC41CDD0A240D9A7F5C1B29847BF2DBFA2C07A4F17C12571F2C136AC53C0AE17FA3FBECD4E41B8783D42B3AE28BE87DD89C049A8A0407124EA41A688BBC13FD840C1A292A9C1EBFAA1C1BB9E834238BF3541BE6ABBC13A8031C2D877F8C146A949C0A32F8242165E5BC26A35764207306FC2E483AD42D96F15C223738541BE21C2C116960CC253478AC1C38A4C4216ED1C4250CF1B420785103FF4A2F8C1BC3BD23F809296C1065386428B3F48C2F89BD641B803CF404362143F828C984253AD8E41DAC7AFC04D6C79C1A688DABF5A294841FB1E84C1E17188C2096A76C2A967B03FCF7C4A4213313542BE197941E04C1240DCE4CD3E7B35A9C14135FBC1AB8D83BF9E191BC298D74EC2C96351429D56EE414EB704C1E7B12F40D854FD40B898C0429E68A5C10E04E541FE6386C2CFAFB34040B88C4298B879421615AFC1E617ED3FE3F1D6407F3CCF4158197441538B7ABF7E70E641A80E394226E270C208967BC1AF8DC7412BEC1E4184337A429FA41DC097393FC238DBBD41D76C48C1EBDB08C19B9642C239B253C2C4FD5D4244176B42CBEB8D423B5EA241D4D22C410C61CA41E40A0F4217C85841A928AFC0D1588242BEE6CF4108138FC277472C40EF5D3C4106704442E5E4C541F02B3CC22DBCE9415F2969C27D6B39C191FC5FC29114094244BC98425F7090413C115E417D3999C1442EBB406C8994C2ACD96BC118945D4213AA77C2BBBE6CC1F75FA3C1F8EB96C2607F39C2038426C26823F1C104405741B5ECECC129D5EFC1E39A7141429440C1673CD4BEFAC046C1C5AACBC049409441512E2D4212E210C2DF0629C1865D9F420D2A0DC1BE072242B5F5E5C02F7EC241834DAE42B785D7C16835F8C10F5F9C40199788C18A5775C2AD01F2C1BF3950C244EA0CC04A88DD41CB2D0C4121421D411AA6AD42D178AD400FC508415020C2C28914F2C1DE2D5AC14D2C5F42C5EA5FBFA7F808C290A831410615F8BFF5C817C02CB24B42EC2A22C21A3865C14B68AE41373051C29A11354106F6A4C0266E8042ECEC1D3F791C954131E965C232C09D3E9A1E12412FF85A42F42C2242E8C9E641AFEACE40049BCF412A6D9DC176184BC1F8851FC2A251C4C19CC7CD3D26C46241303C9D41326C2D42130DBAC1E4B0B9C1E8A953426BE0AFC0B3300C411714AF41BBFCEFC11E1934C2921CF941DCA257426AEC344138A7C3C1E2CA3342E1603441C2729441065F5D429109C1C1B4060A424C5091428340EFC00F097AC099B67CC1D5BB67C268A70942C07081426F0F9C41C23B81C1C1E180422AC84C41BF50FAC14D4EEAC10E47ACC2E4E38A423F7E38C09DEB9441FF4E0EC25F2CD64102B7364067154F4123CB65413A4F4440105274C2000839C17E2CD4C1E13C0DC2A7D75B422C930AC107C8184231D881C180790F4103E231C2E9A934421AE81F4258D301C0CDFED0411DE38540CF8507C32C918AC20494FE40CEBDF74197AEE04141EE93C0B2F74EC2138283C0045F8AC0EA85C5BF4F4084C231F7AFC0270237C20C97A1C17ECBC54158A454C0A44493C11C19CE410600A7C0964EFEC1D7A26ABFF21F26C21C9C0EC1DBF1D041A4749DC16E8C3041248D2DC24FE3D54007C82EC2B46C08C126A0884209ED08422451A74184FA89C1B9440E42DF70B74219E5A2425EF29341DF04A1412748EBC2A92A49C2FC6E3E41D79682C25AE8D2417EF14FC1AE3D3A41A1C19DC2DFF14542178270423F8EE0C1F5469CC186B50CC05DB240C15B73EAC01C8D81C2BDB4F240AA1060413F698B406BFEEC41A8C401415470A741C5E02AC1C12E0542BC55A1C04502A6417E0A10C24888D5C11E7435C002A3E43FF088814291AF84C171A6B6C035B0CEC1FB945640504999C1BE5B8642CA8101C20F0AE1C1BD93E13ED109A240EA771CC166679CC2D0746942F4FC65411B4B8A4127F82DC128B314C2079DBB41DA76A2428D1E68C10A483BC0AC6EE8418BC81F404C2030C11A4C66C2E4CAF8C13CD03E417C46384298A7BF42B94049C0F7CC1DC19CC7BDC2D093AEC1200CFE4171C0B0C1BCF0B24142AD50C1848BDBC127223B42BB9BDAC0A75B6EC1FC5AF54059CE234220AEF8C12254C8C1F5E5A1C2541D00C2673BF83FE1B8DB407A70A63DAB9D43C281418AC137E9D34051913DBF8F28CAC171B03042A5C254C26565F2C1C55D5041B63E86C11BB903418F733EC1BFD601C1DDAF46424B5E853D721FF4C1DBF72EC20CDF10C26F7977429926B841A33A02C21FD2B140904A07C27918E0C13867643FFAA70DC180E5E441122A1FC2C1ED22C179B881C286CDB5C104E824415391A3414F8A4AC160B18EC19D61ED41C2C0A641EDAB803F6AD0923FD4E56FC2FB5F134162EE0B422F8458C2E0F258C2157E324175E36D41E2A61AC12AD94C4280D150C21D025342B29F4CC141272E41D2F8BBC17545EFC01C17D340925BB84176EDDBC1A260404127594C42FA6F38C2D5583FC185E087C2DCCDC541F970E9401110C741704903C24F81F041F02022C2ECA966C28078D8C0A67372C29F9B33428DB1E04071B0C9C052F19142D1AD7B41EFD3084222CA63C2ED2197C2136C8041F0083E4270DB6A41B58D90412BF08041B0D12A42CD21F94193A5A8C0B0E9C9C122D13D421A991042AEB024C2EB4042C29BF621C2587C4942997DBD414540864243658BC2ED0557C0F4BE2342B58C674217EA9E41EB443EC21D73C94196E8F7416FB48AC29B7D51C222719FC28C0043C25E2B55C12ABB44C2356AF6C1701044428A747042E21603C27DC21742296A01C212853FC25E2FF041D7CD88C063974FC29240DDC0D30E58421D33E3419A5A03C22A4CAD40BEC40D40DF49114180B89D427010BFC066DCCD41F0BC9741ED4D3B4116EFAF40F500E9409D203141438A60425C0A8CC168663E426C3082417B5E91C018C3FE417342A3C102D819426A594A4277C0FBC1373F85414B8A34427906AFC23977FEC0D40BA7C0EF823DC2917116C28AC6D84171CC3EC249CFC54173729DC2F29347C243CA3EC2805DED403F48BF40613B94429DFF4BC293AA65420C402541F54D62C1371C43C27E96C8429159BCC1456310C12E3DF341E4A9E2C2F362C74168C600416F68DE425B1A12422879C541582975C1F58480C173773042B2A3B7415B372D428A7B404295C66EC26C3E8F41D35C8B42C80C83428EC96742F98A8BC2E49144C2E20002C2F69304421E11AF4272D326C2825C874189573C42EC7CA6C11EB860417585C341838D963F5CD9B2BF328669424C886142CA3D6A4183088441BE1F4E429E14484221818E42845F6DC1C009D9BF88882A425CB350424F2C90C20999BEBFDAC61EC175790BC21890ADC281137D41EE9E5B42FC4B39C26A9F4DC1DB5073C2E96CC3414AE89940992A1D4209A77841CDC112C2DFE24142BB89FD414D304B4130FB98C125DDCF41AA4740C29B0C5CC2330A30C2D5301A40C6BE69C125B93AC2F821C3C0947550C119001BC141A206427DE6E5C1661C47C296C51142F70711417A64FB418700ACC1F04BC7C18853F7C1CB58C54165D0ED4058E571C11718704157837640DC74C941272B144257F01AC2C6CE2D4236728941C7BC96C2E41FAB40F98842429B1C17C2646C8E41E476F8410AA31D4130A42242C17611C21255504081FC79C2F62AF7404E9754C140830EC212CFACBF80686B403D92664178CB2AC2191C19C159DE96413735CF3FF8BF6B41D8818841A82581C1C5DF0A4201DAD1417E5A1442BB3C9A41588C12C2EC63874176675CC017E3C541F98C47C119F9D6C1967D18C268EAC9C050E9F84191999B41C0A590C26B974DC03C0864421E9E9E411B3E6A427ED66AC264EA72C2C20380428A882CC1694991C193259442C40A5C41F6A1CD41A0A190404772A94198AE1541679398C0944941427C3724C2618304C2028B85C263F38C425AE8A5414A321842855B7FC049D07DC16B079EC26E39BB41BDF2B3C11AD705422E3E8442CA4ABCC178FC393F201D0342E3E42D42A99A9941CE7388C100F4A0C0663B65C1C61606C1273B6142EDF9B5C28F8937C2476AAF402B47A64108CDC64026960BC2D15DEB40BE754442C7C2B2C15BB32BC20F374AC256FDE8C0CE5B6542AA603AC266E7BDC129B39BC29FE4DB41C0445DC1D8E144C2317DB6C1728E614046CE1C4292EA2DC2F9EB4DC2D3CBA53C1B798242AA0511C23B96B2C1FC3759C2B42FAAC228FEBF41DB951FC20E2D91C272DE0E429780F5417E5DE541CB01784144FBA1C2D3BA17415FE217421C8CDAC1B65807C250F794410282B7C1FAE26342FD53AFC2CD4ADB40435331C2934C88417DE4C341FDB4BE40DB8EAE41D38884C096BBB14144CB1A419E2A91C113D3E04197532C42161F9941ADABBABFD9FAE24038815540D938E9C140AED3414B7765C19E23A7C1616D504206E01542337016407B04FAC08BD012C297F5EBC18FA585429778DFC1190581C109D715C2053FC3C1FA0E0842907C82C1EA679941050094C2E1B5A54290F725C1735A24C2C434A0410D92EEC14AD3253EDAE572C2140A28C252FC45C1042616C2DE2604428E94BE4136A198C09A2A614262DF2DC24760EC41C8C3BEBFDDE211C2101D0342442F0240F9267941947425C1D441184262CC23423B96814023A4F6BFC6CC88C280E0BB40A192A541DCB272C00B6B04C1E6CD57C1236738417A8715427FC6BA41C23B3A41A08AF9C0163B0042B77476422A94FF4179D805C289E1C8403F9BC74128E1DF421B764A42796A71C23C4B1A42F7A40E4214CAD0C2973DAA41A3927C41BFDEEAC100F8FCC1CE209041A702BFC132981CC2BC37FFC198121EC215BEA341427A4C415939E8C0DD77BA41AFD435C2519738427550AB3FB73482C192504341E8583241E48C37C203EC3642B1F7EF41DABBC3C2C6A7EB41522B9BC1898A8442E9C09842222986C260510C42D355E3C15C890F42CD6183C20400D840CE627240B8A9CF4161D31EC21EB0CFC11EB35F42145C3142BAEB2CC27AAE2A413BD316C12C0588BF866E72425D5FB0C23890DE4176CCC3C117B1054222921F427D5F03C1709FE441022011C292F9D0C1EF4813C2D6CA8340DC01B9C0F229A54165838E410BC061410B720CC2CFAB6241CFBE70C0A443EDC1F7BB6BBF0339D8C1C9B08A41E74313C21CAF55C266F9B8404416524274BA51C10F68EEC14969DE41D7F26FC247A8364151E46141A5DEEDC008E78CC19404A942D41FF1C11CFECD40BC56A141CA1D31423EB32940D5B99DC1DC2D19C2F5592841608A91C1B0EE38422A53DDC10D324E41E1BD32C2355D8BC1352BFAC0182946C248A324428FDDE641E16016415F432CC25489AAC068FF2F4267E80242C24C0F4217E60340955DB440BFA5FC41ADD7B8410CEF1242EF2E12C0D86E2D41B255B9422F455BC2CC0BC741734CF9C1651D18C088E63E42848F26C11C36CBBF52777CC277ED1EC2A1EAD2C1BDB998C2E4716DC2A0783CBF09449641357256C104C2FAC126375941F7EEBE411F39E64135B35F428110EFC2570B27C2D6FE25C2C26C30C2FED465C2F1B4EE41CC35B142DE6F3D428ECAB042507455C270C33A40A7DCDB4175755142A91BEFC1237710BDA1395141E90E0A428B97AEC28547F340C328A542547E06428F0E5F425EA491C283DDCCC1493AF6411AFA8441319E58C1CF5A4B40632187C0415578C1516713C21B8299C1848A434017ADA4425A048942880F14C0C146A2C2A7EC68C1850A3BC2AE19E041C305C741B4EA68C1FCA9CA41D5BC3A4249B77EC2BB79BC4136E3E4C1DCED57425FB41642EA935C42DB25E841AB6EC5C258E6154258EB27C161A3D442B8268041DAE8F6C1231777C2BF5B7B3F0208C24176DA9941B1CA3441492A8E4155C352C28E17E0C1DED27EC18B092542291334C0860A5EC2FD9F803E0975B3C0C4C672C16076C842CF4F933FE5997BC1066DC6426D2E1B411BC485C16B524141FE959841BCEF9AC255645AC21DAC1842F2EF8342E44D624173F51F4297338A419874E34022989242EBFA09C2F2B82742DD4409C185F39741107308C26B508AC144EC2A4223636D41707C904175C65B4251EFDA4156370E429A654B4132181E412769A44282D124C2BE5F6F42B06FD2BF26AA1842A6D49FC253F59DC1599C3D41DF543DC20A07A5409A437042846C21BF9565A2C1506F98C1E6E2D5C11BDB4840AB86834076E643C2F5B4C0C0DCBFB2C033531F4239DCE9C1E647A042D79F03428EF62B3EA6E4FCC19A8FDD3EC54E29415ABA5AC24F63BCC1339160C2539E24427F4E3142151E8040967DB0C171E28BC138154B41595F00C137877E4267DF4B429A1ABE41426F9EC0B0FCC4C10B62EBC13260B34115BFE7BF426FE1C11F667741E3BE42427D77EEC0C6E78CC19DC10C403DAA82C26BD0DB3FB94D284133D9DFC103C4E9C183DE62419EBD9842942D42C2D9A25BC28C5381C261E96DC21D32E840F22D2AC232382442288B2841C7C461C058C93740486B5F42D51063C15654D1BE51A4923F5B4BB540AAF011422CE90F414E821DC2B0A4D041142726C2AE9CA7C053FE28C248F046C20751BFC17A5203C1EC359CC224C79842285189C071BCC8C1313D94C2471C8F41A354A5415B559D4271577042CEF5BBC1D1B7EEC01E0013C21DDC7BC2445A0443768624C2B7C535424DD5F5411E9E8FC0E7E4A8C06920E83F742A1AC26D4CC4C1EDC41CC2D05D09C2CC6F79423C034341143ADD41BD8633C244DB4FC229F8BB41E2608941199939BE54DE39C13DA60742536E61C265129FC15E3418C213ACE0BECBAF5A428BA24041FC63EBC03CC1B142B6270A41B0E0E4422BC203C28BA6E7BF6B79D8C11E69D64132CB18425C5C5641BBB6BEC10CFFA0C12B68D941E75920427FAFBEC0A23787C26A3A81C0104285C152DF69C166A547C1781AE441690283C2BD994E426EF007C28FD884C0BB7FCBC1E48A23C2011263C03A226D41757E38C2367230C2A018C3C121152A41CD770BC1DBFEF641569F02420207A940905D284103388FC168011C425FDB96C0819E6EC29C730342164DED415129E04137BE59401C172BC1DEA602C24876BD4072DB86C2F1C121C254AD5EC13E0F7342DA9A6A428F9D034114CBB8C095BEADC178F8ED3E56B027C066FFD6C1E921B6C2BCDB5941C1F6C642FB801441157096419B3CB8C18C51ADC1088B26C268F32DC2AED02FC251EE9DBF912803C1D9D53F4265A23740782D43BFCB9E30C1D85008C1EC9F1A42640B1042DF516841C978D4C2C1CC6EC24CC9AFC24808A0C10516BBC166D29242D350494101E1FAC0B2F2A8C0B67349418207EC40F39C03424CBB8DC1798B92C129473FC2F06B9EC172E6B0418603D1C19FCA0642A44B8941713CECC16363C942DA6D1DC1519EBB410C9CDB417CC90A42AF8BDDC1310BDEC128102BC205C42E424556F441A8635341B4030B4049387A410B9DF5BF4C48D541E0C856C218A73A4247736842EC3DF1BFEFE31A423F2D2D42DC15F2C1124E34C23A15C34126DB644155C35AC10D4AD34258E6E9C06B79674007593941E09CF4C111B106419363BE40A15E52C26978DD4194A03B403D8FB5C2130D2941AFAD10C29A65B9419B445642CBA3D6C063C42CC2BFC2EAC114016E422F4F59C120E52442474DDFC1A4C7F8416E4A0042CECA4042FA3E66C2BF43BCC18134A3C1E599B9C0B2F0DBC1E5FF9BC19906AC41C92B4AC126816AC1A2C03942F83FE541AFF0E041D20512C1D22C62C22B33254265472CC2A5C5B6420C60E44176D456C20473B4C0D2A876C187FD474213D6EF3FD2978DC2B60202425CA156421B541AC193BF5941DCE1F0C1E08D46C2BB23D141B575EFC0D56E32C210A532C1C4104442BE4AA7BF950F72425C9BC3C0C25926C26EBEF7C0B23CBC411F42CEC1F6336DC09A7ABE4103A19642D1885E42A32C81413C8DF341C540B840015254C267E031411A6E6CC1936646C1FF800D41BF66024254891EC2379989C23F7D48C19A0A6EBFE54927402BCB8FC17FCA99C2948FCA402985A9C105D582C1DC493CC17EB5F0409C9E7142D4E145419906BDC14D8E18C034820B42FA340EC2FC0E1AC2F6D3F4C1DDAC6C41591DAA42F1C9BF4186F111C27E905DC02570AA40B06635C2936463C1951A1BC2EEF67C418333294159AC72C22414C9C0FD3AAA423AF4E2400DB70042B1FD87C2F29553C2AC29D1C1975FF8C05EBF7AC0A43E7FC260DE11423CB804C2B3AA90C1DAFC1142E78B9BC18BE51F4183B02D42312AD6C1D07CBCBF3B4AB2C1271960C0248013420C3167C1A4AE21426014CFC1EFDC6241AAC985C1C46DB5408FAEA6400E569340196003427B2F1FC135DFF841ECBECAC131EDA041AC7ED74168A431C2196B18C14842B2C1C05844C2A8AA5DBF3FC16E418F9887C1AAD54D42C6AFFB4129E2054105791EC2711EE4C14B0B46423EF29AC144C35EC27BAECF416BD0D3C0B9C60842E84A14428D5E3CC2E9494AC1CBAF6A4209567AC17EF99BBE838DA8BECE7624C0117536C166F70BC25D39C340BBA388C17541CF41F5E167410AA31B428F1EEBC12A745D422724C9C1293290415CA6D441E3210A4075B5A441CC14A5C10061EBC06C5CA7C1609C2A426927134257C29CC1EB389E4182101AC1D9DE4042EBEF75C22AE176422D8688C263C82E42D6CF63C1152DC94270B4BBC1617480C1F289F74189E720C1517A3141CAEAEE403833C8C1C3879D4117805C424BA054428F94AD41F9A73040FD8206C107B5A3414E492C428A29A6C1CA1F41C2AD9011415B5A02C28293FEC0D153A4C1B3101CBFCC24F9418ACE5A4101004A4267860D41A9652AC2A9D7B042E2D71041692C2E42CD403C422F9557403320BAC1BA118F3FA130E7C18FD89FC1F4649A41285095C0773B06C0FF8450C1AC9E94C1B1CD0341D496BAC171863B42D690D4C08795BF41E0098BBF7EB5364138891CC193F6AD41B2906F41AC9B8E408C6B81C1128203C22AEA84C19DCF77C26D74B7406C4C46C243890842165D78C1CC4023423C8FF3C1F4E93B41EBEF06C2760ACBC148D0CDC02EB3A3C2609F8A41AD5E1A42B61BA640D494CB41FD2A35C12B83C9C1FD3D00C26A38A7C1850710C22B802042DFC12DC14677FF41191450C25F560642D2EDD4C1ED040541DDDACB41E18C13C171D933427032E0C16DE66EC25B57B5C1F7F8C4C2D69E2C41BD2506C1CBE30842C1C145C2919EE541338229C2A057663F1DE36140B9F50E41B6416CC04FB608C2A7D724C247D7364186860A404922F23FBB2E1F3E1DAFF9C02A8B80C139A8A041711D47C165C7C3C1157DAF4183CC1B427DA579412527144290E549C1662983C2965AD2412730D0C1C33311C1C9DAF34194BDA2C19AA89F411EE6BD4107344AC1FB5110C2978A1742F9E68341E005C0C06EB07B41C2C7DC41050B8141AB8AB040247CAEC1580C0442E6205EC049B1173FD73429405C870341BCBAB3413163FFC16FB0AB41F7C73AC2D96BE9415C64AE4141C3C2BFDE957442B9954D41E048824173B76042B59DDEC1929B6542C5EDDA41C4B181427A383842DC30CE40EA6C2BC228591542B860DEBFDFC598C13BA8C4C15D0684417D0E00C194EAEDC16FB557C07D4904C2DE1FBFC1D65E91C2DBA6AAC13E98E8C146A375C02AE72B42DBC52D415012F1C1B96FA8416D059241A69A8EC0AC5B44C007523A423BB042C2CCEE79C2A7C114C2A59F81C23B5307C1853451416DD9FC41BE306741B1A40640DC47F34127CBA2C140C112417E9FC240958F1F40B3DCDC401C6E66C2B9760C4186F32A4241D209C0D40842C1CDA5C6C299D12EC1FEFFB2C2EF944841366BF9C1E55A8B42D38C52C25D198D4297EE56C2ECBA214122F14241A3BD2440CFAE1F426A3DE6412504AF41EFAF34429797A6C08549C741B4DFE7C172AD2542CAC1E2C18BEB96C0DBC8AE41426E3FC0CD037CC2C5434D4225CE2C41C13ECABFA885813FD64CBCC1E7E4C440A12B014200E50CC24F50D640A9986EC2F2A48CBF06773D413F297A4119CCF3C1895D0DC0973F2D414D2DDE41A1B815C29B575B41B1C293C0D3E9E3C0BFB78842E4D675C2C40BE741EBC897C12B0D21C13821A2C1169390C00F173DC1CA79CFC1B728934194391740F9DC4441ED5F9740F04D3042702C6B3FBB0FB5C1E6D842C21A2C40C2B02C78C1C604BA40DE4FA0C1F4F8AEC07ED544C2AEECA4419DC03AC25600E5C159FE7D426A7592402B35DB41633FF541416E45C268788AC2349146C283D49941D5FCC3415FFF674231AC74425CAC1041CC064F41DC87DFC105940B41BE0A0840EEE43F428682F2413478B2C04C1076401B510142154699C03B3C7BC0AEFB1A428DAEB0C16FDC20C127BC5BC2A89133C11E1C0A411DAB2241D84B583FA0351DC23B2CA941940597C122B317C152386D426403A1416E7FD941A031C1402D37FC40D5B9AEC08C2470BFE6B6E8415ADD2A42B84D1A4252541EC29A0A6B423F9E18C2A82ABFC10E07E9BFA3BE9041B336A3C1FCDE334244E2F441AC8B7AC0E63A4BC1CB731B42025EA6C1D7017C40FDC093C1FAF62AC2777DAE41FABF7EC18B0EC0C1CDD50442E67775C128C8DF40BE6070C21B0228C1087D3E42BE7CFA4139D61DC2BEF248C2FE3802C2A86123C18F86A9C0432A1842F0A0C84171F1EBC14043AD422E327AC17F3CD24074AD81C1BA858B41F81536C1871972C2EB85EEBF8BF5F741AF7E2D42986D51C155D083C18CD604C278DC49419CAA8AC18BEC7341D46B99C2E48457404AE3924129D69EC14FDBBDC17318A5C1E0470C4136109B4140B89B41DF0E6DC1769959C15B6E5041CEC24DC19B7B3F426A0E7340955432416CC3C1412DAC0A3F200F07C2444B293DAB6173C1FEEC0D4114172341CF02D6C13903BDC1E50EB041AB136E41A088A9C0519184C12592C1C2E46205C186B108C2480C3941A7D27941D16F99C00A7B8F40714A93C1933B0140BF53C34163B5314237538340A6010142D8C35141B607864192C1843F0CC2EF4023870DC23A7CD141B2CD9541E929ADC1D2E1AA41DB0176BEB598A5412CF80D4061372CC2AF23F640D702364186BF05C173DAE041156FEFC112D0E6413E505DC06C78BD41AE514541F2F41BC037785AC2B0ADA5C16108594047B09C417E5A3AC2843FAFC23072AFC165F620C2E8C77CC11CBFCF4166E19EC11D4DD4413F25C4C1657D1E42737CDAC1BA2BE2419B5999C2D85E2740627876407E2B1D421B630C4208816AC128FB86BF39E626C11D98FB4154147B3F50B92041BBB5AE41D26511C29E741A40FD962DC199F9BEC11813F9BF5FE185414E3824BF03F8F9419E1C1B422282F141D79C034197BB42414690C13F6B42074254AF2ABF3684474232B68FC223A76FC0B741F0C058AD5B41D63604C2A01EE441C4A38B41339EC5C058B5A6C0E58277412138E540EB7017C19DCA92BD7C1D4CC1C1DCB6412BDB22429A72334058CE9BC169C20C40B88E28415C355FC230E603C0500A94C03E609E401912383E472877400C0E39C27E8B8C406C204CC106848DC1D5FBC23EA9F3CD400B82AD40EAC816428F5043C108B28CC089FDAE417E272BC00FC425C1E1D9B4418C6554C2D9BF1AC13C84F941220714C2081BD440330A8F414FCE194229751741AC8F1DC2CE694AC253B0F6C0EF8E43C1F06F034133D89C40A408604116904B412A9FC841A6A203C1D5D4DEC0A8D99CC17B807FC2262C05C24726AFBF2915234175933842AF9140C17FB6904083E186C1A166D5407EC53FC1611860C180AE8B41F03778C159C689C0423A9EC078D2D3411EAA9941BC634B42FB5B9FC0B44B4CC1863205C2F83E3FC14FAC8F4115795AC1EDD6F0410997F2C101F086C1ADC392C1F1F8A841D97EE7416F60CB414FE7234184EB6CBFE1000DC2B5F132C23C322BC1CAC34941FC0A464206EF3DC1C2337CC0711C2B41E197C94051851641FE5780C0A3D4E5417DE494C06EF3E2C1C230A941901E31C160C7773FD25C65C13AE9C7C0C4FAB641A39C8241D6C028415DCF4340CBD20640681738414F0162413F9096C1B7FDC74141DA26C14E7AC5C133591AC1B7651EC125AB09C289755DBF2CB7FCC07D7D0A427A6ED84104E76DC124E39A419C5E31C1F2709EBF742F0940D966B4C07FF754419417D44089F66BC1BC2501C148DBA9C151C90FC224D0CCC0E749C540259BB8410A67DA41EDED4BC1CBABB93D3300DA3F1D010240BDB1AC3F67C2FEBF713A25C159EBFB400A3A194275A477C1DE643940C08082C09E6BE540586A3A4170B9C8C0D43CC9C10455453E0BBBF73CE1FFB7C1832915C17442CFBEB781924150A5BE406105A6C132DAD5C1BAA6FAC1537462C2F7700EC2DA1FB440F38D07C170B8FF41D653F740E10E73C18FB594C1B5233342E5314AC15C3852C1EB809B4112DBDCC1CD47D3C1183678C163C285C14A6D273F8D748E4175348B41E0A9B5C100DCA3C13B1612C17C9F24C1788B1EC1FBAC4042EDA0B7C1EFB16DC09D0C6AC1230238424D19B94123E01842C6DBAE41372BA3C1EFD9ADC1F4245EC2A83C3CC12AE40442EDE8B04189EB5141AE581BC14631F5BE84FBA6BF7C918B40406FB2C0B759F54126EE4F4145F15041DFF9204250277240313CBE416E8200C29ADE2BC0F1DA0641A95E0DC08B9AEF417B7F49C03BDF52C17B6F5FC146E56FBF046842C10445C9416506EFC17E6F31C2F5CBCFC1B399E2C1F98F56C2B40521C1FC2726C2678632428C7B61421C3F10C215951E41E5873F426EBBDF3E95EDAC4094BB5FC1E0CA1541D2CA62C126282741DE9D8AC1021E0840D30385C1288FCB3D3F1C95C186637B41007A0540592C3DC103E45F4139AD89C025F2B3C0E59360402A9FBBC05A881642C3B76D41A811C4C192084F4195B712C2F4B41AC2AF19E9C1EFC6B74051212142EF132C42D12999BF2CF0E4C0CBE1F14095423CC0E91E02C1B17C6AC0960E59C1E69FE9400A0781C0BB251841CAA0D04144BA3441C729A33F416B203D2E47AFC14E293F4145B188C0BDB2A640ED89F43D8BA5C6BFD40D3B41528A91C192A003423A5DA140F13A0D425BFCB4C1E7FFFAC1A2C848C2DF248EC1615F9ABFD8BE3742ACA535403326EEC019829B4089CFB6C101654141A6F00D41C9C79341BE47C7C021EAB8C1F4F4E9C17B436FC13020CDC1783E8A40D5D4BF41C9D83940367704414519A2C1F5D4D13F60F1E5C05FEE70417022A2C1E40389C1523003C1F42C5DC1F0EFA2BF5BF93E40289757C129938741ADFF81C1E1B093C0AA60A6C165693CC11C00F1419CD7CEC177139C40D71DCB418B4238C107742CC0CFEDE8C060CA4F41F780AE416AE892421AFF804186361E41B3B48E41C788EAC16133223FA6A498C0EE3BF8C14750CA412E42E4C090BED8C1087A3B414D001F41C0328440BFB33441DBAA18C16988DBC16FA001410AEF33C1B66CB440EAB7854041E9E33F64A44441060274BF11F6FC40A7B5793FD1E7E63E3DA405C1FEBCE9C00FBC4BC104E940C14F57CCC18B9BBC40B23910C169591C4200B58041AD70A240435E23C2558C89C111DA62407B2671C18DDE9C4101B38441ED8903C0DDBC04C0C10BA4C05FC291400319974116DC1F40B30CA64067CB32C050CC7EC16EC510C185EE5E410CB35840B2B98541903F2AC04852BFBF721E23C1CC30004160D75340AC5F5241553504C1BECAA9C1902E95C1676C2241170B0A4173D11D4249705841990F23C1F3615DC1A9ADBDC1BD0C63419187A4BFE5064C41903FBA40B06882400F08EDBE36E902C0D7DBC5BF6A9C0FC1DE0E5CC1BFEF22C1B7B78EC1F2642041D8E4F940CC970341D87C7240B09916C1911415401C0F88C05E9A05C0B78C33BF580AAE3FDB51CF402696A7409FA5F5406C448341022A79407A2F7D41A3932CC1271612BFCA1358C0E82CB8C0132857411E0180C061970BC046A09FC0807B93C12D70A1C1BC1B6F42A9622F42F08012423AE01741116864C1870402C20F3534C26CE935C191ED7B41DB70E3418F3653411AF517C0B8E5B7C01BD55CC1A1053F41FDCB4D4168C964C1A7EC91C1138114C2E61F6541C78EA6C129B70A41BBAEDBC0D0333D4043187F41C13A2041471FA9C049E0F0C07BD4B04112CCE94037D0CF4090D129C2C78CE941CF4F3AC07824B941114B86416CED6C423DEA11C2FA6AFCC0F213E8C0DE55D141DC0B3B42A4AE8EC07A418341B3C41BC26C849440BB327641C89698C13D565E4155370A4210170342C601A1402B2810C26C608FBFDEAC10C2344B504130278B4195D499C162342140583CCD4183772EC29F83F5C050BF7E419AF94D42927DDDC100986CC27F9637C2864C50C29C52C741835B53C0373EAC42A795A4417823C5C100AE0AC29F50D6C0FAC815C231BCB43E425AA840A76A06C11B515BC11A2261C2829E86C1BD1977C164D7DEC12E3347C208520D3FAFFFC6C01FAA05C2D3922741BCA42440BF2C3EC2613317426ED76D422490E7C186A44EC102FB114250A575C1E0FB8541F0CCB941725B6740817622C1E1721B425854D7C03F723A410A3321C20F4920C232C8A741396E03C2C6324F41A0053541D3D444408983A6C05EE51D41358615418114B2419334ED4140D02FC22A880C4230A41AC2732747C170EDA4411C61EDC16987C641D7AAF840320F4E41A47985C0ED68AC400CFE96C1E5911A41AF9341C1786FEC406AC57B41BC5F0CC2B71182417F5F2EC252C323C2AE8B044286594CBFE9EE2EC0C9AAC1415610E24186BDBBBFABF283C1765D20C2066BF641C2B3A541CE2225423B983C416048B441041C6CC103BE1AC230FA0BC23F09FD40934EFD41E1EE74C082BDC5413F9828C09490E3BFA532DD41280DDAC1223804C0499203C1816CA341BC6C0F42E03845C19357DC4127BC30C2E5484FC1CD9310424E8933C120DF6340EE4EFE410E9CACC14534034191A7ED41A9ACB3BC764D27C128ED47C2B23FB3C1EA5268415F7811426D8478413D4BD541100316401F639541D2D4EFC01D29B340F340583F1B6896C1188BC940842314C178C44EC1111C04C2E7E7C3407DF248C14BF506C2452802C289FFBB40F00962C013C5D4C164C97FC11DEFB7C00BB01BC236CB3142E589C5417F9D55C1E15388C1A31F01426A066FC127648141A09E9CC112260CC2A361D9408D2E23400303034267728041D03160C2A54347C18BE302C1185085C1FEB36140E036B441062DD5414A5214C116FA38C2AA9473C1DD5BC140F6EF414222784EC2748A804255A501C208A9E03F7BC30B42F8CA35C221A058415ACBCD41B4FD344133939841D6F204C0B2A47EC1E46287C043485E41D7861642AB039A41C4B754C143E5AF41DB8DA7C1247779C0EFA7F840BFCFB8C1D3496C41D28E5C412C958AC0DF2B0DC1F84801400A0FB6BFA5AA90C16C106441B025D2C1C081AC40B39436C28B6C4141F964E3C11EE992C02E714640F57FE4402B9892C13C82A841424BA141C1FD0AC163859AC0E61F04417A103AC069B1D7C119AA97C12F56B9BF07384C41A223FD3F070C2741D84194C12BB5C23E586C3A4141BF4FC024972EC1D8EEF6418C080242E8392EC0C2253CC2C399B34016A72D42A51F29421C375E407E305CC2C5D794C025A945C222EB65C12720D841AB2DECC07B372BC1D27C6042F8774AC121CBE8C0F56E8D41091D9B403EB7CD41C5C7C9BFA1609141BD9CA741717048417B3C5D411E161DC1E5E93B4137B6104100A398C10FEADC410AD14FC1F4130EC26CB4384156F194405E3964C13C4319C2757FEAC15E95EAC0ABC93A414CD1F8C043044041E24401C00F2088C1B20EB841B3929A4048F674C194C88941A4E9004297499ABF856CF7C110C5C2C17F98373FDFAB0542DC9090416A06E4C10D090B421825B7C177C2503F3BA09CC1D55B24C2292DF2416406E3C10899DB410E1C69C037E5EBC0FE3B024121B2B54195A25B4179D487C0C52045C08ADB9E3FAF72DAC0D8A981410DAEB540651C1C41FA52C4C0AFEFD5C1E119A5419E189EC15DF413C1D2330342474A3941CDB05D40C8BCAAC12A1308C2B06145C113104D41BC509541094FDC41DE62074235A7A4409FCD9D40C1BBC8C1E1747341EE1B11BF8304013F6B7544C1DA6328C1F19FD5C0FA2B0BBF77821D40640D4A4087F5A9C01BE697C1E5F7E6C0C90EA7C11755B4C15D13CF4079396641D1CC5CC12EC4E340A5C0E84141D5ACC1217A133F52872242C8510B40864A54C182D3A541342378C077DB1042B6F7C7411A30F341090A9C418DE50BC2C5A729C2A0BB004264C941C2C6747DC14772B7404AD1E140076F89C1F4559C41278DEDBD42C29340144A864126B154C1D55765BFC183CAC14DD956C1A81EDA41763704418CF09540D7E85641E54791BF308AACC104DB51C1E0C7BD406E589E40ED2308C031B49F403D6BF9BF32E2DE41BE5A4A41D8ED35C00FD1A1C11A87D6C11B969640B1C7E23E20ACC0C0DA53454104277DC0DA5051C135F5443FE160AEC1C196C541E14E22C18359E5C149D0FAC100E22FBF5F5795C04D949FC0C124CDC13D162CC05D79DAC12110B441078C5D4114D04141AD619841D1A25941C8C6E7C1B71569C184C43CC2514DC0C0B82B81C1554C5BC0FBBEE4412D8FF3414FE3EE40E6FBF5BF145A41C1260BA93D250FD3C031C3F94199E094C17238F0C1D54429C142DCF941D60DC0C18EAEB041C81829C271B4B7C01B67FFC19B7431C14DB38541D9A42142F9D685C1C8CE0B4274D018422622CA408CBFCCC194E1DB40833F5140AFF325427FDE40427DD72AC2C0B110C2DF1B60C17347B23F6B448C40E303D5C1D0040AC2FF6618BF03A82BC0575D3C3F2E87B2415AE8094214B7B0C02A1EF041EB6D8EC1A923264299C16E411EED81C1388602C1DC5991BFC0D2B641BB4F65424A1B1FC278DD0D42829D5AC125013EC2E45397C03DEC33419B86B8C1166990C1067FA9C14771FF41FC557E421C16264207531F42E56DF7C15F673EC125E5A8415D26AF40087392416A4A8B406501C4BF7B493DC2C967ADC1915D5941E4B857C1426EAFC0EED82B424DE40BC237626D429D1683C079DD824102A788C190C54FC2619492C049A85CC1F7C1A4C18FB405404A8145C0176FF140EAA87D41599B3F41AD95E5C0C427EBC14F36DFC1D89700420AF6EE3FEB8613428088CB40C6A809C2E86329C18DAB42C0DCCCB03F5B86FBC16738D940629A8B40D33033C0B0184DC13B7280C13358EDC08C6299416C40FF4156235342CBC46140D8549BC123ABC2C18E82A7C1E25E1D4127989641CBAD1DC0AB7F6C41F0D28DC12B3276BE0EA61EC2320E76411975F6C0FEC9D9C0174D4AC1EF624841FDEF0441D9FD3E40972AC6C1D04626C022016DC137FE514128BAC34197728841D8027FC1CF171A3F709BCBC06CE5B33F07D3BC40881252C11EDFC53ED288AE411960354113E69EC1548FC8C113BDB0C16FDF2A40299738410CDA8E41AC555A41F86A9340FBBF2F4155993341F6CB6DC1296AB0412D569140E264A4C1E49E8A415FDE3540C74F5EC0667E814108B91EC29F65DF41EC2081C1BB83F34097113A40CB319D4063DBDFBF7EF775407FA48CC12CD6E641C1001942EE9903426A8F10422114DFC0A528D6C0E07C90406D6997C19CDD01421DB44DC1EE0292C0B2F100C27403F9C0D1DBB7BF3C32A741EBEC85C08012CD4194C0B1416FAA3842C73193402C8199C1A9E680C1D1B1E7C026A2994144385541820E9FC1BCBE1A3F9CC47AC10E1645C07B701C412A769141BBCBF3C0344D1DC13D608BC0DEB3604278558B3F9252A641471317C0071FF1C19A542841AACDBF4012A854C15E598FC1E72C394037526DBF5E8F25C1DE30D44104385D3D163ACCC13D7B1CC175DB0442B6798CC1E6F73D4110641EC1E4EE24C12F99E5412F420EC125CE534110D188C1FE53054001992C41AEA7A6416B3991C1BC9CE2C1D699D2C1E6F748C143B4DAC0D68542410169DE413C619B406ECC0AC09EABA9C1421D7FBF0ADB11C193711B4146C72D41027DA74176B5834108ACF4C1D520DFC1F31E6FC1BA345CC0AC5C40C19CFC4641DF97DE412214B1419162334127BCEFC1E2951140068B07C1EBFEA9C08CFCD5BF2623C2C1D8D446C109DC3C4106B65842C015A94176F556415FC08241995874BFDE05B5C17EE90241D8AB02C28B03A64133347F40891CD240205B65C1647A34C1166CE6C10BFD9C40DE1006408DDA2E4215D4EB41792A76C14494084145773F3FB20ABBC0E05C3040866F3CC2919A82C0A1A90CBEDC2181C06A1530C059C7B1415ECCDD4187A9D93FF4216FC1D7593FC2DB56BCC1430117C0B3CF7EC13F9D033E4FC1C6418BD32A40BB77224241058AC175518DBF1AE93340D09444408A108041E3BC01BF6B56F1C0326398BF6534FFC112E812C115889540270816C1C752A6403E9A0D40772AE4C18DE9CB41928DC33F347E1B3F4BEAAF4066761142C01BC3C1D0F96CC11077864100027040C80EDB4191C025423BCF17C144DFA641DF741241ADD051BF6BF74241EB4127C23A99B0C1403251412E31B0C144F595C1A149A4C12A7CB240D5B88741E94F1442612C8BC1FDD3EF41903C1F418CF2AB41ACF00141331532C0A263B6C0CA51C340B552A6C14DB20842A79C10C20F3F22C1F8E14CBE41FF104194F757C015129BC182E713C2BB09CC40113B73BE4F197CC0A914E941A35AC8BFA01AF8C1990B2D413310CBC1D6994CC072D95A41D8E6AE416D1CCCC10CF759C1B89D3EC110BADC411F622CC0A3971442B53C2BC15CD54C42DD549EC0838610C1CA4E0DC22C36A1C157E02141DF9446BF8274AF3F613EDEC035DC04C1A21022C157EC09C04E7C0E401457034168B8E94085BF6C411F47FD405660F3414FE09CC1687AA3C1AE369DC16A1798C09EB6E440AAA7FE4094094041F65B5A4080064240AB9FF03E0B3E09C1DCAF10C28CE1A7C17D310C40ED9BF741449CBC410F7491412C21CDC1348401C1277C24C07E32AEBF635AF3403CB67C417BB306C18035843E41CA9EBF187EB940BE9464C143FA7B41927B7A41A7B6AC41D9E46441B62BDAC0419257C198C322400EE740C04FB54441570000C1AD0A9440334CB840409A8C41C8C2CD40ECB5A141D2D8C4C0B47328C16B54AD40BD0900C275E8A2C1BE8A2EC0BC47974162251B42239FCDBE6F162F41C9CB70C13FDB0FC1199097C137C688410AA7CB41E69F96C01C861CC20BDE6EC2CE4F5C40BA3C30C1C96FBE401AFF3841A4F405C0484B6341D69D2041BAD693C0009489C19473CD41A1716CC141FE19C102FB91C1E16498419768084220507142633846C1DE79A941B1DBCDC1865991C1684C5440B49827C10D69854092E133C0D1EE6B40AE9515C2167DE840E88289C19EBF00C2B3FA1F42874497422D784E4241CEA2C0B30387C1DAD0C3C1AE082FC255648A40ECBF28C1A51D14417458BE3D9E0AE6414B2B2AC262D9443F98B920C1889529417257DCC14ED447C26C15A0C1581820C21504A0BF2A72814072560842061526C2A4AADDC0AB2E37C140F3B9C115E35D40C1CF62429EE8C94152B834BF5ADDBFC11B17F7C18A4941C26D031842840DDEC1E2FF68C0FDC2393F82648341B28132C25C7BD64100C3DEC104698EC19E6BCD41F50602426FB51CC16C1362C17D1F9C4003B61842819E65411C201B42BB1617422C10E44114A20742B31ACEC14E8F4FC1646080C108C34BC167943442D1A6BCC135B7B3BFFAB7E1C15F34ACC1A10FD1411A2F6B41A5A730C13D969C41D11ED7416F0BA142131A3E422B272B4118BF7CC1F9745CC2250226C105E21C42480928C298FD23410A3181C18FF18641876699407B36C241D9646CC251B56EC17F1794BF68739F419C8EA6C0F5BF06419E4702C274F50042946EC740C4738C4057305EC1A1EF844123D4BFC0210282419F683841BBC10E422AE825C2668E8A3FEBEBA140F3E42D4229D6A04117729341207F93C18FBBE93F02E7B4C110ABE341A8BC84C14C858DC1C316BAC1C6F7CFBFF3228EBFAE1CD641245F394181463C42F23C0BC025A90942246B3E41A56F51C17C9D20C1FB74B7C187939EC1F21A7A4192118BC0339B06C2FEEDA0C1FF8B91C15F329140D019A43F6D9F1440F6498840100FD8C0FD9839423C6ED44069EFFB40ACA274C184CF1DC295E74741114A6EC0C4B7C4C060F6B740D3A0C73F810633C12F540EC1DDE2EBC15B9FD5C12ADAA2C18D8C61C1A9691A4126CF8941E8710441C4C927C249AE5FC19618E4404E57D2C1443AD241EAD82C4271E27C4199DAE53EBA9F423FFE91A140989BF5C0F68C0FC29FC80A418A512541D054974097845D41EA1CFBBEE3E411C09E735B41D8C73440015F5F4000EEB64014D36F4132AE28BF79DE3140ED721F419C91164159BFECC1ADD60A428AE571C038F7B041FAE409C126D0E440929A83BEC8E21941631399412261DABF1950D040591C2F400C098341B124694140E9C440F3A22FC10C5AB241C4CEC0BF72A880C059E84E409026544186D0AB41CA0040418DC510C2F14AAE41AB79ACC1F225CDC161C10441ACA8534190E4A3C0EC0CB141D1DE7640512E4941D06225BFBFEFCCC022F3BCC1AB4B053F85E08F419030C741F476DABF98500E412C01B9C03D6BF1C196ADF9C183ABCDC1BF779041ADF9CEC08D7DF7C0C590D1C02413ECC1CF1E2940C0E81EC1DB4EC640FFCDD4C1D928D0C1C4405D41E6D38EC19A268AC15229434252406AC10E8864C1DA2DBA40168D07C12A0DB03F8DE8D6405E21D5C12D388C41DC0BA4C1CCA07E4135B00DC0E57FA2C1671A2B41AB867EC16A1214C1C3F7FE407ECA8F408A1F784173DB8CC13B411342E081F6BF5638F441E8831C420A259ABE7F92A6415EB315C2AB9B56C10AF0FE41EF3546C132B6F74171D0C4403A52A7C15EF35BBF05F49C41CD073641A7A3E5C08907BCC13FE121411BB5654182BC72407689F741241E9C40AB43BC40AA13F140FA4013C24424A041B09E16C1FD4957C1D80924C196B480C188CF43C1D9601A41AF622BC146DE9E4127A008C24D41B3418C518EC18BA4AF40F1C41CC23F6E42C1B24609419B5B9AC1A481414189476A4180C321C19F8A8BC1D6C332C19CE393C05764E54113ADF0410872A0C09221E241E6866541B9B437C1888730C121C224C24DD023C04F78BFC0D93E89410D8658C1F483174006CCA64042B719BFC73B853FBCC7E8C10C532942003F86419521134229B93642E7E2344015E0B9C1F9FAD1C0702D2EC21D8AE641260680C0E3DDBFC0BF91F94146CFD1C041DC8AC1D734A3C1F2DEFCC099A2F0C0C93A414048685B410180AF4161F04341D0938FC10BAB2BC1837294C02535C0C01D29EC4167B43341E22BAAC1610035C1F2A76641F6E1E6BF090DC4C10E7EC7C0D10D83403E355E42C6830942E26C67418156DEC14E621EC2C8C960C02A9D024109C43EC1415C8F41F9210241E05F0E410826A4412FEC15C17A6383C1331BA6C0D3EBAD414107D3415F37F241E9B4C541199AB041C7DD32C1129BC5C164A4E2411D4FC7C1F6A63AC18AB80141D6C90A401C5A1E41563A95C1BD818EC1C14D5BC0C72EBBC160942BC014489D40B34BD7419E8D72BFAD9D03C156D4BEC1D6DEBDC0F9A6933E37C5AB404FFDC83FB5B3114147CA7140AED2B54099DE5441ACE88C41A199B9C1776C61C26B0219C180D23FC12D03E240D04B82416FFCF8C12AF72BC024F2CB40B93A20C102C872C16BE42B41D9F4AD41DF84AFC1DB89AEC17B516B41CD3E8F41886DBEC0DEBF3142960484C000D7903FDEEC14C06EF126C29C0D9F41923A97C1D27E2241EB25123E39891AC2530725C2CAC12DC023D01F42B3CF37422EC299BF635444BFC3932DC1999B2FC20D6524C2890D45C150270242D059B8C11BDC0D427E92F34163C107C107E208C2231D96C1CE13D441BD3D1742C720DF4042D11CC1BB1C1A40CC1A07C18D95EFC1F34316C21E9FE1C1E10401425E105AC179B9B44198BCB5418E1FBF41D5A12B4269AB37C1A6004F40C57258C2B7E9104156432E42701BEE41974F1F42BE00DD40E60F4DBFCE9B2C42A2D40AC2DFCF0442B881AD4036AE0BC2781617429557C341F6AE2CC2BDEE6241A69B52C1C62824426EDC2C42B88BCE41AFD18841FB778DC133D4C0C07DCD2C42B05D44C1A5CABC4147D7EB41D49A2DC2CB9301C267F8A5C170511542EBFE8AC1FFD9E7C0FF63A440936C51C28420FA41511E2D4102702242E2790DC163BD88C25CC7E9C1EF6C1FC1956EB7C160E43F4165F7ADC1C222CBC065D53242858BE9C1B33246C2082D64C1FA8B50C24F8F254217F4174136908A42E969DEC058B03CC26DB706C2D48AF7C0FCA709C2515FA74129EF0B4189865D407B6C73C166216BC122C5F83FE7D2F24136D53C42F8B06841C7627E42F91EF1C1C27076C1AF88E8C060C7E1C155A6BB418F179E41E14F83C028FF62C1662785C1F23F5F4129CA68410743144127BB83424C906D41DCB5FA412EC56842BADA4FC10BB8A0C1F9052DC2D1E55FC20AA42B4200B595C13A2F8AC000D38E41C5CDADC105E7ACC1B96E0C41CF9C97418713133F2E9EE3C07B711042B5275640630EB240E47BB1C104E806C29C118841C02603C1F5BDE441B70845C0755D51C151F9B1C01079BDC0AC5EBA4028714AC2F4DCC7BDBAAF5E41C35D1342DAE50942002DD3C0263D7BC22383AB3FAB04FC3F461EA84031E08B406E6533428E05AC411643C441DACC78413884C1C17D0C32C241A291C1378FC2417205B241A96100429A791042B665A64118044841507BEAC1E4B2BB4188FB88C126980DC11BFD62C162654941E10E854143E3EF416C6908C2AED2D9C104D6A341063F224196CAC841FE0E6AC0B1F8A5C140D32841035A89C09A24B941798689C1882F5241B368F5C1B9C491C0788C33425CB4B0C08FD1044115FE26C23153FEC016A17D414DEB01BFB67DDA4177C60D42BCF825C2B833F64095CE5D40DB2927C2742205C0AEB7F9C0E12DF1C044E195C15116114238407B4112D649428EE341C136B8693F58FF21C1F86DD4C11A7FD7C10DB94D40170103C191EE8D403AB04241CA2E64C137EB7F41048282C0D7FF8FC1DD5C644151022A42215A59402A15BBC069CE10C2C20FD3C18F26A2C1A12D5B41E8F91D41658A63412DFF18C1521CA94103A889C125DD7BC004F34C4184F594C1AB15E1C17089FCC11CB0B2C0B142F841623713428008E8413C6204C1B3B598C15A720B418E293A41C6D5F6C08B6CA041134B94405736694114E6B9407BD663C1593FA4C1F7989BC0A18FC440DE1475BFC6F18CC1F13B6EC17C3B10BFD565C640F0E4CB416A139540CF8B4EC18F6E34411DA85240BEE2844171F32AC1638369407D90AC3EF515004262CE08C2754C7BC160306141737EF73FB201B941810F87414CD337C29EDAD8400A6802C1EF4084411339AEC1690FA1BFB3E124C14EED153F6051EF406A2CC841CC329E41EC785DC07A16ED4148A980C0101FFC4021BD75417992E6C15DB523BEE5FDDC403FB2C8C0FD52D7C19D761E42F359AA40858981C1EC9C09C26EAAB94167360640470AC7413873A740F1150841AB4A23417ADE23421DF054BFFE8BF2BF42A239402E7F8341CFAEEDC184D10C415C733FC131AC0C410CCEF2C0821A95C1042880C09D10D0C1C8F953411B32A6C0389001421B5A3DC15F9B64C1881CEDC0BCA297C07240EDC04D0FA44153C15141D13CB8C0DEE7BC410E0550C1E64E574048E7F941B98216C2246DC941636249BE375B57422056EE413D241EC27D8245C25EA34A41B3EFB6C1964FFBC1624F67C1FC94E43ECA44B64193E282411EC796C114A56B41DC78A1418EF8F5419366AD41F242FA402E1DF83F54BEDBC0B4328BC185CE0A422C201FC283A0AF3F87379DC1934C56C12996CE416129ECC19FEA8AC19EB48541B6965541A1B66C4281D2254265D5C341668809400B563CC295F1A2C10D8594417EE904C203E243412BA2C7C102E86DC04C220C4165DF0042EA8F1DC1CDA447C08BADB8C06B1604426A262DC1AC324E40E7FE5AC163931BC130A27D414648B5400E7092C1351429C051A64041831E56415796B1C0EE038141BD47163E2BE09C41E1252541E5A41141131ACAC0E23C3F4033848A41AD7E8A412B8429C1BB1E8B411851BDC0FD3406C241DC89C00EA52EC15B2CCFC1BFE1B641222F364252CD534213615C41DD2D6441497F1F4043AC18C215638BC0EB9257C19CFC1B40416F0041956F9341337A05C2F2FB4DC14C33EEC06B73C340359A43C10E872A3F91E2A441C1A994C13A4B3242DC8CF0BF9AA7BB412A36C940BCD809C22E1BDBC049AB9EC01C4307C1EEDE95C1A71362415D1FBB406B3E5FC002E901C21E2E47C2EE30E6C18FA3A3C12331D1C0A055B440C6A4CC416871EEC1FFCA65414EC29BC05E30BFC119C89441F82C1B42189C783F121B6E3F4774B441668DE5C17CA9B8C15D65F0C13E5197C0B5A21041EA02E641F4BDE841F76CA03F6767BCC1C94693C1A778D13BE375FAC06797914155CFA2BFD236ABC1F5C41B4084CAC941EC551E428673074229669641CD4FEC414F52964129883EC13506CA40E22917C2FA0DDEC087CFED41CBFB52C16F7E90C180520341E880CFC1271E9FC07EFCBB41146C26425B25734178D83F40B37E4F400BAEE4BFEDFA40C13293C1BF6398CFC1551C10413E003341B1D18D3E247C523EF70928418C66344181633CC191F3E2409C84F9C18D9AB041C3FEA340E14333425B58AC4059168941A7BB31C1170224414C1D32C1B1763641DEA4AB3F3AA0A2C13C9D7D41B3CFAE417303A4C19E221C41D29194C1B084E641910106427EE230428327A0406CFFE83FB77E2B4109A5DB41A3E95FC07E36B041A3BF973ECDF82AC2188885C19425AFC1E33AD741BE6951C0E8FECEC0E54444C17531A4C1E8A480428538FB40BA6D2F42A7CA37BFE8BC77C23F681540D57442400437D9C124229F40538E44C1BE459DC1E4CEAC41865696C0EE5C6A40174C8941164D45C2683D99422E6294C0E3016F42894D0A41BB8098C2AB3792C177B96EC023CE8EC1C53BF5C12AC4D2407D17A9BD7D8B954137EB1641E7752AC1542401C25B9465419304A541733F1D41E206B44190D44441E8AC1DC12E1EA740A9F09541897BB6C1A92A6A405A5A05413173B6404F0C9D41119B39C24904B8C10DC0A5C01754DC41362B60424CAF7C4217F60E42F18191419DF925C2B9BF0EC2A2B1AD41A47245C13D9A21C1B36EFDC00DB5EC40227C83418EFEBE41AA1C38C000CAEB40498DBAC0144CB540EF7385C12926484181829B41B708C740B15BFFC03B3E8541ED57E9C19315A5C1896C7EBFB3310041DADA0F426A7691C1C2981BC1C7E946C1DB00AAC0362558410D9D2A4223DD094264B5AE41A6061FC2A1D647C2990E9F41347297C1AEC27DC18A55D7C125EB0B3F0697924122B8A6C09ADCB5C135C414C155FA96C1B6A5FDC09CC839C16CFED540E7400AC1BCDE84400BB01340D8A329C1564A9DC141DFC24192DFB24011BEBEC111B869C116E906C1656A07423C0B4F4284F69DBE217E4041487EC441EDF384C18E4C63C1BF3D11C25CD6A6C1724A9340948E90415DEE5FC0AFA7ACC0465447C1ECC49FC19F7BB3414ED42E42B20CA7C13A08BC41D5D137BC55FB79C1069410C21FEDB13F0B758DC0E6CC5A42529B12C16A038941C55E82C0AA1054412084D7BF016AD1BF923664C147B016C218E2E6C11B958E419B88A741D10FC441A45759417466C8C1BB1A8440801C054198871B406593574009641142CCEF0842F329C341E7DE48C1361383BE93FF71C1DA39BEC155D699C1070953C283F80EC2DC8B4341D47D534182895842A75BBDBFB47C7BC10B109B4122440BC1265A0FC13B1BA23F62CAEB41576412420F11E8C0B91DE0C193E08140175BA840DF07F2C09E9B774156E05341974D69BFC6429D400E94C641C6371FC2A384BC3F5BC688C1924CCAC1A26B324175B9AAC04BEEBC4198080242C778BEC143FA0BC16203A8C11C59FBBE6CAB98404F1FA1C1A07285BEC0EBB0C03D24ADC1D17187414DE485C1C09742C1FF0AF3BF8C30144219568D41776BE3C1589224C03D2DACBF78BA65C2CABC26C17546AF403B0C7741494684423F4A3CC1F5498FC178EA304185069EC0F3CC5841C4A619C1152C8F410BC182C16BE6B341DDC6E34102BFB7412336604171E97FC149700EC14A91A241EEE796C09D33A141A1DD75C0A0437EC1FA763841EDF7AF401D058FC199204B426E778C4160B20B421F9AA8C184405040935466C283E0004023885A411967DC418D171D41BEE4AA40B64B4CC0EC203EC2DB8445C1884106C0D4AD6D40BEAB24BFDC27E4C0D315FBC0617A93C16A79DD416D18DBBF30447541DD2A05C12778B6C161CB5E40C00B32C104E85240AB6DE0C02A42ABC1B9FA0FC1FE736641D4CAB3C1CEABE3C12E62A340993DC3C19C323B42E3FD75C155601142179C11C0FD77A3C11DF2034166F058C1B0A8C6C1EB2C4B41E2213841E9CC86BF7597873F3D3CA4C163F9D8BD6E46FBC04DEBD93FED10C1C0D6D2A24110D9B44018F9083DC02030C19E6855C16AEAFBBF75ED2D41C531D6404B3377C089835AC1FB8D03C155C5BD418429C1411EC1EC414DC744C11E809AC168DA46C16C1DAFC10B5563C1FC4235BFAC4D0BC022F26F3FE4499F405B4E2D408B3B93406CEBEDC1EEA2ADC078D982C00AC4B7418B5310C104C1D7C1AD97F040BC3D67C11A401B417CFD67C156F30CC2F989AB41D9BAAAC14620584136D5A5419DB8C040B40853C1D35AFFC17A444D410583C040148CEF40B4979E41326FEC4193DF4CC1432A9CC1180BBBC10CE40E41B1CA2F42F9E0DEC004948C410B321141154A9A41635AF441EB844E40779754C0DA4B09C2A17EAE4196050C42EC04DD3F81060742BE5187402E89594141BC0E42BD1233C247061342535D4AC19F08ACC192E3F6404C77C9418D8C9441D8722341AECB09C20E7403C2CDD1C5BD3F9AB9410300BDC08F751F42E742BF41BF6D4B412AAADEC0C4235D41EA72AFC1372DD0C1762117C26066DAC14C6BC5418AD9C84066F0C83F64DEB0403E6017C22B59F441055704C1CC408E41C73593C1B9D249C264CD8140B27717C1986BC4C1DE07AC41E2FAC8C11BCA19C12B98114291F91BC10D2931BF8D369B4010CB1CC2CB8A0BC1E15F0FC1349FCD41015A4741183BE7C11AF0BDC103E554C0D5F603C2BA3C204103022F4124B8BAC055BC95C115C9CC41952029C0B7CCDC41F6B391411D384041E00E8B416910A3C1F6EEF7C167770341603CBCC0514A90412145394175878F406074DAC0D521D7C1075666C14E7BA94108C8944191F30742EC440E3F5682F9C0206ECE3E054903C2345516C280D8A0C0E2CA0B41AC091540A1D9D440E53AF541C2FE32C19554BA4006400B419C701F410E322DC2E81DD0C0528292403ADEF041663CFE4085B2564174BAAEC11AE80F41B73F91BDAC951C41E98A8CC15F0580416FFAE4400496ABC0C56DDCC13FE13A426F6179C11991BB41BF5DA041C84F1942ED4C06C1212482C11EDA19C2276EBB41DDCBBF41BC9B814181229740D66A18402D7BD3C1AC67E940E2AAD541720C8A41AB69BBC1A75181C14F8117C0F909BD40F8C108414EAFCC4092F7B8C0D73439C0C57B09C1949543415DD8DBC1255C0141A26290C128F57ABE6712BD41AB6FF741ED523CC2017891C147B88EC16B485742D47C8EC16FE825424E1E67C1C0AB9CC096B42D414AE432411BA61FC268070C414D63A5C01BF91DC1E445DBC194C09941A7FD1A42E0451141825C60419FB9BB40CA4F3AC16EBB12C2A87BEBC003D986C022250D426D611AC151E8C74139556CC17176D0C15D2ED3C0C2FCA241AAC51C426109B4C0DA8CFF41438805C1F8134D42F3B957BFB4BE69414E7329C030C7CEC1976262C185B9DD41FFB319C2B1E0ADC1E660DE41169BD54113932DC1C2B2C3C1DAAFF5C1785ADEC041EC2DC1E150DDC1C8122840EFCE6E41763BAE3F2BD80A42FE9FD8C1AC7B33C15F8DC7411A9D0AC133DF55C1F45897C1525EC2C0B225714119C1DAC0601ED94067DCE8C02730714219247EC001FA28415E78D9C18D8EEBC124E0BB41F6A860C0F73F11C0C7ECB3400286A6C1D0589BC18B04F041E9980EC217E89A408CDD1FC2B5D010C1E199CEC1EFE108414444BF40890181400FD5E0C1B0F73641A3A484C1B32091C110965642C22441401BD1CA411A7DB841CA28BFC0900430C266F02DC277AF9241B8C5B84124BBBC4115F8FD4129D86B41DDB7EB4070EC39C16BD98A41D84CA2C1D996DBC0D9249841D3C982410211E5C1E6911D428C5B1F42B9947C416C6F2B42F95D16C2305DA7C0D55954C222EC874159642D4234871C418024A44143439F4173D819C2667253C1B083B03F914B4E4165A5CFC08B10214278EEF3C14BF6F940A954DD407E5FEFC0846ACE3F311139424EDBEBC10AD9B141F4C4B6C0D379DEC070E304C253382E4035C80D41729D6CC1A83F9EC12D408EC1B88749414FEC15C234C0C3C1539604C2427FE640E7D418C147D9D94177CB1DC0115403C2BB579D4161E551409D07C641C817B141A7D2ED40E27F3EC2105C81C043CE87C2DE48B7C1B3F6BBC2CCE7B2C1FE414941545E00421D8615427789833FBA3518C2D2DEAE411F4A9E41CA6BCFC00ACCAEC12DBFFD3F861444C124B97741E63FD541B72BE7C0799CDF40ABC4974183DEA8C096D767C1306604C22ADD61C120F2D93DCE77F73FC63A80418FDC5D412DB0B4C1788EBEC182804B409975A5426FBD7642C468C4C0B9FA87C2A85BBDC12FCE46C2D3749C41BF6D2B400230C4C02B92A0C05467A441EA1146C15394164144D453BD8CC40AC1C9471B4162FB90C18E6DC7403F95A141F15452413BB4B2411345F0C06502C2C111D01241A39EA0C096086E416F8196406004524137494C4149C20941F0E8F3C1518377C12AA3D5C185928541AD2C6C414BA5A2C00CAFB1C0868782C189E7B8C1C43B3242EA4D4041B49C39C1DE47AA41AE3F8B41FD4921C1E0FE53401DD2024101219341ADA580C120F764C0E4ECF6407A1FE6415A778040BF4BEE4033DE97C0BCF512C032363D40E48E5941A1E684C1CED394C077177E40FDE24BC06C951EC0D89DF4C07CEE1D41350D84415E0887C17D76BEC0D45B51408C9B3D402FEC96BFB9B550C12C8F92C15E8BB2C083323441185A0AC11F8A5AC04E992B4108FC24419BC223C04476E6C17B802FC1306D0F41370915404682E84079230241EDBCBCBF5CD57F4119F8ABC0F7700441140D6EC13C872B41554B763F6AEDBCC06332924061A2DBC1710B60C1C88EDBC197ED0A4114794FC1E7707E4192B5D3BE852B37C1534ED63B4BD60D413D9F1CC12F213C402556244217C03AC1375240C1E4A062C06608E74181C5D341B7D2074259B001C10F99B5419AAEF0C055C40CC1110E27C02481B5C11E4BC5BF8CD20F41F2657BC067E9C4C1CB95B840443EEA40D4D499BF5674FF41A89C6641A7338B407DC06D41EE61A0C180E749C0D7A190C1374D0B41F61A944141D851C028DC9941AF5A96C02F4180C19FB46240331B1341650864C063E49CC1A3E927C2CD7E78416328D1C082664B41D392A04171334C41A261C8C1462C17412062D6C1168BDEBF9543EE403B31424115A8E1BF72243940EC40DDC1D1572B3F0FFA92417FFCB04184F32C419988CD4153EC92C1080D7CC10B0FF540200FBA40C445CE4124D12FC1CEB18D41E8FB00C20D7B5EC16A5A76C1E1CADD405BDACA3FE2042A41C5585541D82550417B0A324289490B420FE7B2BF7D4F22C1EEF337C26938F0C0C93D684105FCB1C0FED641C0B7938441213409410E1AA740558210C2A78B34C0C03A1CC2862182C16D0667410461293E67B31E422B6DD7414CB3B4C16A3CB1BD7D29A0C1B6856041BB3F9DC168547841599E7741E4685FC0BCA1F7C0C163BDC1781429C1830A5641A6C12D41E39CD84182B11241A47EB2C0D0AECD40EB088FC110F504419CCE4041B335F6C04C5CAC41E173ADC065D46241A27924C2BA340742E4D593C1BB62ACBE01925EC1FE52524141DAB24197BD3E421D3D06C2D61C65C101E515C039CB1D3F96AE5BC13DDA8CBFCA3E18BFD15A79401A4A90C1FB876C41D6B6C13F5A27174118E4AB418958A14117B7B84061D58E41C7E6E3C186CDFBC045EC4140E8B20D40BA92A0C1DC58984158FC5041EE8D814023FCDDC1B2366641EBF5BB409324594183A18BC10F934341CB67D340C6C8244282914D40B17DC1C1DC9F094195E20BBFE6E2D0C1A5E95141E61902C157A86F41B742B0C1B47227C1DCBA1BC26795DBC1E1620DC2E7910FC07BEFBA4169FDA4C0992BCBC0D5B2A6C0FAE088C139114D4042F51B4218F1954000F68CC102D4ABC063345EC18F6B1442C11A9641AFC26CC125747641BEBAF2C046CDF940AAE083414E1113C2FB58004007BC1FC1958206418A5096C1D3AA9D409294C6BF25F15BC13AF9D9419ECDE241B5F97E426F7E074237C81E3D79B74B41DACA10C252B0DB40559149418D2898C1E22B0E42BB4EEEC0A758D5C14782A1413429FB3FA852A140CE64DCC150523FC10605EDC1BB33DF4032F6DD406F1E1A417B07CB4103CC6041DCED8FC0041C0A40BB5D1BC0BD39663E413A0D41C449AEC12E40B341BC32D440352E9AC189E446C2D21234C2A8651541865FEA418802943E8FF47141A33F87C086C18041C154C841360381C1FEA5B4C0E00C02412D82D23EA773CD40AC6DAD41BC7B4240CE777041E98A9DC19DFC32415893E340FD471CC0CF058941DD1131423CC33BC1CF3C233E8029814116E7D2C13946D0C190A7F03F166170C10D16854116D40E41E6541142755B04C27C4126C2A13B32C2EA5AA7C13D7E1541A562294178AADEC10D0BB03F4E778CC12CE5B34032FDCC4070F1CEC0D42CFFC042B4B7418C1770C0F29881C0019125C2EB441FC2CA9D39C2FD082AC2AE36A34155350441F1120A419AE68D41FEA4BAC16ADF93C167E91242D417F9417EE074BF1A2557C21E71F0C002564242DE972542FADC5042A42E06C103C061C0DC3650C201EC78411703F34198B0DE41631EBA3F08C918422F86DBC1414B51C1C155AB41F3AC37BF80DDA1410B3F8F40C82BED418A64F041E33129C28AA081C0ECE028C2FDA3754173854B4285052FC17033AD41135484C16DD458C180B59E4167622C41E73B9440C9B67AC10EFD28C110512BC2027BB8C1F7FCD541D7E9E4C1A00B5442FDE4024238BE06C1BD057F41A4DF8DC1FE9FA73FF1ACDFC19979A7C1BE3F94C1A015BCC1D9379F41E8F9864150CAAC41ED6C1EC250816BC1664A26C2BA61D1C1DA9F1DC2A8A0F33F03E1E541B8030EC2CAC0C9415D5477416BC82840DDC5C93F441B2242DA5E03C288794940CC24F4404CE0D0C15161B0C0CCB61941DF883A4280FA3B42ABDC03C246434CC20C243641A78708C26E3D86C1B20381414AD0DA401B9ACDC14B4811C1434F87C1A7CCA740C730AE41645D13C168B98841BB3AABC16EA5D3C1C365E441BA5CF03F5B3C43C07AE0DE4113F58041AF7F76C128F177C130D30C41F35362C1100F8641452CBF412FA1034149424641466DA541BB7708C10EBD044009B4ECC11D9118C143C5EA400D983AC133D6ED40761E0241596B4DC00F3B09C13981554147BE3541A4848141463EAA3F33A3564153FB03C1A283F13EB3C28540ED92D8BF1B0E1940A074CE406AF69C3FD40889C1DD90E83FC263B840C04498C035D0D7C0CA6DED400A98F9C040526041AA902F417513794090650AC04DBD5841535D1FC0BF6C0F4169D33ABFAD9CAC409C3480C1162A19C15E9798413DC8BA410D36B1C14FAD2FC2DCC594C1646408C0C8C98D40A0834A4133DCCF413B27F14081241F41D8A0A0C1753E44407F6BA9C1D72AFF40FD269141F91459C17C9F19C13DC6AAC0464A0C4299F7A6C1406D52C18E57DB40B280B3C106DD5D41A0569D418EC7C1C10B58D541E07E8DC1C1628441355A6DC1513F6CC10E408BC173E1A5BF072D0F41DA465242BC9BDAC0D1070A41D04D68412E90E1BF60FB8FC1AECE814199D320C20CADDD416FA786C064149140D57E93C1AE0A07427C150A41851B0BC1F8918DC122C3A3413FFF0B4140967341524DB141CB6D31C09D3BB84100F9424255779FC0E6BDBFC00F1B234141752840B6DD42C268981B42E3EBB8BFB2C758C177FB12C12EFBF3C08EAD1CC2C477E3C11E4064C2F80007C2F31C5A419F1109C164FC05424711744108D6E0C13890D44163AE034213FFCE3E45B525C132711442075FF4C1125738C0296CE0C18F240EC2C8DCDA413DC554C1FB86834277C11C424F6439C2FFE0DFC00788E7C0D3F903C2785661C095C0DEC0985A88C0E60C374157E19941E8F815419FFB8F4127CE9C41D9BE1FC1CBE67BC1A1712EC1A5979F413FD69B41C0D1EA407676BD415D2D18C20B48A040278E983FE1CED7C0B23F98412BCCE53FBD45D2413198D1409F7B52415441B941E8ABD14088C57541447B1F425255ECC1043CE9C0A7D4BB41F602E6C1194DCFC1EFD1F8C1A5EE35408EB18941E30F3242C4DEDBC18D61F3C0D660D4C1324F34C0103635C2EE81C340E3806CC13F51CE41A6C39941C69F26BF665B0BC29E6668418F629CBF679AE4C0E3397241735FA840A9F71AC194D190C1E2D3D1C1F9BD2C409D81D4C14FCBE341FA669740F8DA95C0425B1741122AD1C00F8597C1379141415EE2E4C179B64DC138DDA0C0B6082A42A189473D5704E9416C5185C18C9501BF52EBE9C1998BBEC1F9B105C2E0673941B6438841F36CD5BF494130C105627641ED2E90C1C571C241D6A9B841001FAF403F50F3C12F980542FC9F2B41395161C01C28A341693A033F9A1031417EACAB41983041C25749F8418E5F09C23D9181C19FFD33C17ABD17C147E485C1A7AA0342DAA8A0C19C44EB3F5DC909C0F53D284132C495C13FAA8FC141EB3CC28BB0AA4142AAFF41D8D7D3C027D19E40CD6CF541C827FAC1F18018C2D8E27CC1DA377441ADCA0D42A05BC14193EA9FC143D50C42564712C1439DBEC18A911CC29F9D48C2B9BD0542B6F7B1C198BA8841A2475741EB703FC1D60D7441AC36CD40BC01DE4117FDFBC18C67C5C171FB67414A2AFE40FC89E7C003D1EDBFA74013C1074AEA41993E8741AFD02441944C87C13937BE40F0D40B42A652B54123A17EC1B30B50C19EC622C2D0B559C25409F4412F5279C16E3B99419A971C405F2E60C177252E426BBC3F419FEC1FC08325D4416302AF41C2CAA2C14BAD1AC0C9A04841FA03C041A92565C03CBA58C130DEE4C1A599CBC1E77A00C2308FAABFEF320EC19D6A2441B03F3F417E892DC14B4155C150A774412548CEC09B2F3B415360B0414D35174164703B4118B88940BC8B43C0DFC081C156ADA0C06F25DE4029B60D420FC1F53E4A0AAFC1262F8241AE80C6C1607CDEC11A5030C1830EC0416B3F71C1AB9A14C0422DDCC06860934108ADEB41B8B0D1C143601441C75B24C2616EB2BF3FE12B42D8A388C0281328402F992F413A9821C1CBB460C11791E1C1326EDA3F9910A3C0622014417934ABC109680DC2516511C232EB15C2EA0BC5C05ABEC1C131E92CC0A52E1342CD4A0DC28960EC3F584A694265A7124053B758C15247F4C150C4E0C011362942A6DA0CC1060274C14257F5C073EF90C198D9AFC1E44818C1DCB297C192DD0A42A70718C21A7440429EAB09C14F2D2141DDB70641E4D497C13A1D2D42330C4041013161C14F552D421D40C9C12924B1C14FF01EC2BE3C764093595742A318274247DC7F4160C100C0EA502A3FCAA553426A912541519DE6C15CE125C2AEA6624156468AC1708D7C411163D6C14D2C1B41E4102540FDF9A64166E581414471AFBF039B66C1FB743542CD7E41C1712B00C100ED3A410B028EC0E7D92A427DE42EC1E96B174237A026C29FB910C1FC0E65C2E2C6EF4019E5DFBF81790C424505E6C0D8F41BC0B7E347C1B9DAE8C1BB3979418D2651401DA4AC41E63B03C2CCBAF540D88FC3C0AE38C5C0BE01F9C02517E140B6EE0142000A2E42AB4C87C165B0D4C1A71DC54033B284C141B058C1E0F206C262AEAEC1ADA013405C2A5DC1EB3B22C1045CB2414D8159C19844254235EDECBE6D5AA13F9E40DDC1840CEBC1AFDF6541EAD269C18A6621C183CDD24184A754C1568181C181B61EC1B4D083413E658241B5129541D9491241CB9D0041ADE3E23FCC04D4C172A2A7C18C9D04C1F8657C4102DFF83FB82638402D0A4141DCF24540ACC7B0C0E22F3D4085E8B73FEE4A7440991EE9C1F63E67C0E87CE1C006B481C1A3ABCA4085149740008E703FDECEBD4180D20EC1EDF423C05FB3534154C0644162CA5B41E81ADAC156883D413CAA6A40E3DC96C1EBBB0542E3D7EB41EB6181C0C6262EC1E4FBD24099EE874147040E42F8E18ABE7DD0AF4100DCEFC1631E763D89D6AD400F417E4141AF674109B51BC1FB6ECCC1DD8B16C145121FC2DD22DAC1E22BA940DF632141EA17ED417E31004146EC923FE199ACC102CC96415AC321411DDA63BE1F6708427421ABC1D33F9FC180568BC26A3261C2BA5A19C23B0513C22D176842E2B1A34170728BC0718A4E40D981E2C1E5A579C1DDABE741AA63B8C1B4538EC1098B624099943642B4E106415BA0C841A23FC8C16CA402C2715A3FC27276B1C1994BADC132D4BC411A82934105355ABFB9B9C1C1C360E841EE0C0EC104BA734150479540027E4BBE3CDB10426F20004241184B420FE8ABC1EF4F4341502C17C20DB04C429E5B99419D7C2BC19065F5415346B6C16B3213C25CE1C1C1FD33ED406A77AFC1C8BD3242F5E181C1CD1D3941A3D5E54174DB9441C8ADCEC1BA7F1BC21590D4C159063942791C39428BCE9E4077CFD1C0C4806240147F87C036B37A4008E87EC1E88C46C1FE9E9F41326E26C2862CC2C193458FC108162EC21B3A03C064373B41CC1281404F0A3A42F9D63BC2FEABF441AF1526C1C6683FC183A371BF9BA6DD3DA3DE0042D139C7C0608D44C2F7E8FBC10B585840447252C237EA5841E56A0EC14004F5406E3F46426668D2C11B5B6E3FFCDB80405FE31742AFEB9941CF5180C1ADD634C2B45AEF41D6E6773F30DC943F47365BC20205A140D6FC74C0E0032A42EAF66D410DFED1C1B0316CC11AD91542896505C28F52E140631E9541E0CD843F196BB5C0E2292BC088AA0F41E27BAABE0F510AC2098C19C13EFC64C003D1A641D463F74152488DC12F921A40E87A1FC0CB136EC1EF777641F56692C0C2138DBFD6B267C270E183416ECF2342258F9CC1470F0CC28FDCC1412A075C40CE8B3F4189F58EC1C02352C2C2E73AC12CD69A418532383F513FABC0EB6FA6C1F928D1C1AD7109BF2EEB4E42DA8D4C42094A5EC036540342EFABF2C036FB9BC106CA4840D41312C204D0384147371DC11788AE41C51109C26BC85A40C0C907C06100D1C05D001DC2CA009D40F1F413412FF91A42B7FF2541B46B63427C2B98C1288E82C001F498C19C197DC1ABECEF40ED4E81416A751541DB3BF641AF8E533F9CE104C0157C26C28587D6C1A79862C2D63A9AC0EF9F6641DED21441003B23426C9497BE383414C13F5D5241F813A8C130F79B415066AF417F2DA34141ED404184BCEFC09DE349C1379758416CD448C2CEF4C341D9F160C0710A7B41080F07BFC7CDA34199A465C022A287413E79A8C0C907C5411D7785C1D9079840F716A5417EC133427BBE33C11C1FA9C0E92ED1C19CDB7E4196529BC1614BAE41BE55E14149116442211BE5BF268818C2F30E0342EEF62EC2D59193C10731F341D6919841F65A17C05C8A07C2AD3EAA41629700C1A961B3C0C64E2CC2ECB068C0E8E72E412C983D424CF72B4161A2BCC125C110C1B86792418D1407C2A5E898C17B5E7FC12595913C8665494192FE0C42B1322D425CB0CCC118BC8AC1DA69BCC174B58CC1154FF33FC42750C1D1A6AAC0AF69C3C09208ADC0C0F2FEC0EBC7494129A6B2C15B6724C1F5D925C20A0B594291813C401C6BA6C0A0A4CAC047C00AC1B2A405BE52A3F64165830FC2791E8B41B593BBC1BCD791416B0FC1C03C2059C0FBF1C341FEE646C13C91EAC1544F18C24FE48BC01FDAD741DCFD37C13A39DD41FC799DC1F5BF86C1FED91142AFD9ECC077AFCCC06D139041B6B060413227FB41E30DA14018AA7341397F91C189E27AC169451AC2D10159C1050D30C284B107C1C805F241CCB088416C0A9841B06637C1865F1FC0CE05D6C06C21C341DEBD46C104833D40573A9B4146AA3EC135DFC2C0F8700DC2752BB9C1508467C221D0304123E0C8C0C7D650C1D577B4BF315B80C1614785C1851FF84055AB044263ACA8C12A0F18C11D389041450CD7410D119641AF534941431C4C411074EEC073B4ADC1A9EF56C1EBEEA341BF86E040BD037941BA0FA1410D042EC22FA49640E09DA1411A9352C1D71673C209CA8741E95E6E4298E1B44230CCE04112680BC29EE95441BD46A4C2E21CEBC1AC09A341FEC01EC1C738A140CFCF6142E15089C114ED85C1F138B640359A00C1CDB93242C6CE9AC01DEE2340E94B2DC1292A7B40A8CA3BC280CB1FC18068F6C082E6ED415166FD41C96C8EC0929618C157A837C1019B7341E53EE3409E74C2C1E6C6E8C1D17458C298A430C1486AA340034BA5416A53864123D00141189331C2783AB3419EDCD840010597C15939F341605D054298946FC1F7DA3CC18D86CA40B710ADC13C6D97C1BE449340A82CFEC03B03664159DCD541D61C3940CF40F3C182EBBCC15FD937C1477BF1C001B6254030AB0142163BB7BF059E87413F148B41C912E9C09F87C6C10C7390C17B5611C1FBA615C2F8C251BF363B0441FFECC440E39FC84193E19BC1E602663EFDD935C109BE43410A36953EDD9F14C189B01241B0027A41CF8981C1737A0BC2C0F8F1407FEFD0C1EBAB66414BBA2AC191FC00C2111109417BB60A415189B04087FF50C01CDD5042F19D9DC13CD8AD405DE41AC136672BC0A12ED6410FCBA741DC60BE41ECE556C1C9840F41057826C22AB50941C8C69D409D4C92408E27A1BD9A330341A59881C1065E2BC150301842E860C6C0DB460F42B1DAD0C1EE4C0442A20D22427F4AE0C1C2FD354136F12CC214F05CC080628B423AD7C2C152010842874C3EC1B268ABC13B4099412AE98941FFD8F5C10FC5DDC15A190641959B27C0F07C83C04B84F6C1D091C940EA398DC1F4FC6DC0BB7C80415376DBC0493DE1C1C6535D421B0896C1C7F30FC2307901C22F9166C102FA5541A72580419238FCC09A683FC2F1789BC0136E2FC2D63DA2C1DE1048C261899FC192185242CE0548C29B0BAE41B4482642DD75C1412FEAD5C0A4DFD2C0C1207AC27D5F6641941FBBC17BDDBAC0C56C3DC2F518B541554C6BBFF47F81401EDF3BC1C19428C13583E4C1DEEE10426D26ED4106A3D741E906664163758AC1AC77E140E0E1DBC1F1B4F0C1502AAF4126DE75C2558D87407AE7D2C1BF27DFC12C398042844BEE401FB3FDBE9A8AAF4194C52942D65AB44147766441F4A58CBE3DACA5C17B5C2A41543249C1570E064202C55DC237DFD1410195AEC17C92AE4164E4D541201190C143CE3D4167110C414CBEB640665867C1715B4CC1D7101FC1ACCE51426BEDAC41E4D70442CD4A24C0FD5B3BC10BBD14C2AF3FFBC169F856C1CF18A641080BB241D26B0F4150B157C17CF4B53FEB76CC40B0C6EDC08D9CEDC14BF92D411B605D4248FF20413C7B5B41AB5457C05F51E3C1B49AF6C116D1A341ED858F3FA4D71F42834B45C14C1EBB415D68FBC14601AEC0AE6C93C0FD8E05C24EDC1A4226FB8BBE6E650F42516B7B40852850421F2701C2EE0652C15798B6C186B85E41EC180F420271BABFAB7D0B41D471BCC12AD9FE41711D3CC15FF894C0C6E433C10AB382C0044C04C2AB1E45C29797EEC10F5D45C2731316429E82D63DE47316410DAC9741699803C227AC4D4161DDC9415B173FC1C13E824017AA284253C592C0E3759AC2952388C1B35364C2ED115941B987AFBE3B7083426FA4DFC1DF62DEC08F2C26C2895414BFAAE60EC2DAFE1542101A28C1EFC94D41EE4EDD41D4834EBE3CA2CBC0163910C18D692642B37F044180A07C403A48A540C9C539429F7A8141E3796940C4470342A3E852C2D91005C1A95648C2AC4EBEC10C52F041D2E2D7418A3A40C0EFDCF440A0ECED41488AA84174E9F7418CAAE3C12120D9C1891BC7C1D4AF0F414AD4F14149B83EC21B1E3B423F32BDC176968E40CD413A41D5750C42131FBC4150A48CC15371CCC19CD9BA407E9C4DC2A036074183E1E94198A5B8C0A140E84152D81AC104188EC1035818C20B158DC06BF6C440E39FE1C15588A44212952BC14197AA3F0C86BB40C88A20C19D6F03C239CE20C2516842C206F750429B080C42F5BFDB40001F584180AB3C4076D35B417161F8C0C9379BC1368591C1141AA74105C7B941E9E800C27978B9C10DB9D9C19CD2EB3E8FC3C43F9833863FD2B1AEBF5BFEDAC1E789D1414F85C1C0200796C16610E9BFA16638C0E8CDA041B6511FC285EEB5C1D6BFA3C1E29A70C13E592BC275F266C0B2A219C2386F2542CA401D42FF7FAFC1F2770AC17F5A4442215BC4408B73C9BF0FB2B64061A4D7C1FC3994C13DE6BE4126798D3FD340393E51A6E641A3E20541A1200AC1AFDE9DC0D3CC0BC2229502418BDD5EC0E11281410267B2C1AF81BE41BD0F3D3EC5C31942529210C0CF9348416944E841687DFA3F74C032C076F9ECC119A21941A5A4FA41E4C240409AECB341761B7BC1661E04C2CBE687C14E4C1E4140512541D8E0D33FF6338DC18C8F0642DE52BD41FC59FA416FAB43422086F7C0209013C1EF0056C17B4620C2EE51ED41EA7A4BC16B496EC1604F75C11A5232407DD593C0A8EC7CC111D535C1D1A082C141682CC2AD1311C24C18C0C19ACD38C0D343B4C18B6B16411AEBDF40202629C2970EC141BDFAA8412AAAFCBF949D08C2FB8990C1A2910A414C049D4176D3F040A5C097C1BB180B42E7B3A44045A484C0731D2DC2702E3CC2D66F9F4171D587C18328DE41A42394410F8A6241F0B1E0C0B554CDC1BFB689C10C6FDF413FA59A41AA4590419BBF2CC29B2FB2413AB82FC2CD2C7AC17ECA0A418E3EBEC03A64F1C0F3391642C7307C41DE24EF419791BC414A1383C0346B18C1105D27C295EF44C114C32342B88686410E841E4259CC3B41FE2649BF3C5ADA4102EFA6C1C358D541E354E53FEFEB24C0EBAE0541DD992D41F95DFD403885B8C116E812C2D06DDCBFB32A1440F9AF1842F85CAB41E2A10942796C28403B49E5C06B7FAAC1EBF0EA405B5CEEC000AFCDC0A6D83140BBBF034176F28BC1933EA9406F75F941A9150D4190ECE441BC126A41DA4F893FCC06A8C1B59CC141A78600BE1E157341724A9E401A705041DA5329C2E2DC95C1C9E885419F7413423466D6C131264EC149B29FC1C819844119DFF04188D63242021FC941B7A90742AD5C0CC284D0FEC15D82964195D5D6C1B121BEC133A3B74115AA17C1251775C0BA96E8C15800504162D551C2F03212C217C26FC152F606C2C9B105421F5D7641C9C672C11A9FEC4113A523C29C46B94194571441A0E94E4196F181C1E1E159C149BC58C1EA7B4042B8C5BC418012A9C14FAE45C169AB2941579B03C1EFE8D73FE3E920C2A99997C17B2E5AC1B5D50C42A5EA9CC1C1D8FE4138DC11C1C707EFBF62E2C4C00A4C3F4269B895C0266294417397BEC08C1466C10CA40741FB205542E5760EC1C85C5C41838937417F8AF0C08686C7C14B84D041C8B17141EA8139C008C96CC2A0593AC26C762D41009B3B41BBC80FC2D6A55242319841406292A1C1D3E4D041F55C59C2D910763F1CED994144331A4246BF7740687395414390BB417D2903C1953B3EC1EB12F7C145F189C019D4F24009CD02C267EA2542C1F35D425D9E5C41CA0F16412D4B4B40B46A0EC269EAD2C1F5DFC4C18ABFEC40761C34416CC548C0BFED0E41053A7441A0FF3A42EC5FA141D85C67425729ECC1B1CAAC40D3CCABC120B0ADC19E17E8417E191FC1B11174C18539ABC1E4769EBF8F2E074249C9B5C040AE9F410B4814C1027C02C2FD4408C125ABE8C1F66AD7415DAF33421C03C4C126CCA1C093FBC5C08C7C06C253CCA2C15B8E64415A3B694049A7B3C15C2C2FC1A3878B40EE4A81C15DF080C1EDBDF7C133535640825255C1CB8ABCC1C43DAE40ECDA023FE3E2DEC183444242BCF6C0400568ACBE892BB1C1F5ED47C0BA9D22C1B03CDE416E390FC2FDD367C14AF626C219DC07C292C931C1C4B4833E0825D33DC0FC3542ADDAF8C1378E00411BC2234219DFE0411E1588C1C6DABAC1F866C0C1B5CFC941E696EEBFA10B254176C4ECC1E2E70041D9D197C1418A15C14C9CA53EE89C3B4171795BC1E7BE014208ABD6419D629341CFB9124241D347C183949641289AE13FFEA3823F9A6C1242B50932C23E095EC18756D5C11E8308426FF18942A739D2BFD36796411FC31CBE5D3A0DC240C5AE41E0280D4251B958C19166C8406E5325C1C2D38A4259CF12422150B84147B21042BACABEC068B8BE41A4FECF41AFB579C203033342917E213F54558FC2DF9DC9C1FBD5B0C023E8EF40187887C1EED35441EFC1E5C144BF22C2A096E4C18F7B4AC2E16DA040BD7A51412804FDBF528A0C42A67E30C2B90500BF847C4741569412C27328E8C026240342526983C2BDE211C29C71A5C1837B06C224E03D4216900C420E0B35424B672FC1D44A82C2CDAEA6C10AB7DCC1CF8409C116E1C3412CDB98410CB69FC0C8CF77C1798730C06FB501426CF9E4C0CBC0DAC0841F84C2726DA3C1DA8AC9C1D8EF95401CE6AF41E2A92641AD5C87C12FC9C541123B4D416555B841935FA8BF339D2BC0B19AA6C1FF110842EEAB01C1B307FE4112C590C1C0558542E714A0C18C46D140A46806C2DB1406C253087841088BFB41CA091CC12BA88241061E66C0ADD304C288880341EDAEEA41B8D4C841419998411ECA37C15586BBC10B49F2C1F52ABE40B8F1D541B246D541D7577DC0ECBD9641B5D747C18699E241FA0BFA41B3F057C1AF0544C25DD5B4C1B86EBD40EB3AC741BF3E47C235C22F42FA7976C124FB7240649F1D42954F38C29146423EAD6F02426E97123FFBDEB84087D72C41E89B21407F0C8C3F676F93C19BF57441A7259CC1808CAF41911E50C10D37E74169B31541A2014440EB3F8BC13EF30040CF5BE7C06E63D0C192E06AC0B6A8E6C12B50F3C09EE57BC135102C4231315A418C4231C1B2A54FC138F23141E6099DC19D1A40C1AE5121C25E7F2840FFFE7EC155CAAE41C7B38541873C42C13225D8C166A82641401714C11CF75241806F0A42EAA895C1EA5E5D428F855C4153D4B841D96194C06D7D75C2AE006CC1AAD39140DCA550C1D3D0A8C0FD03FD41CC97A9415E78A2C1F3EE0DC15C51F2C1D21B0342D94AB3417B0FD9C19EBA104249F881C1FF6DACC1930C3042B29139C2BD1492412881BC41793733409A939F40ECD24B40617F93410C1A07C1A03529C2E19382C16B673941FEB501422E8C16429E21E34108E65AC1699F3AC1DE2EADC12A059F41D72C86C13EDA9841BECCDCC15C0D8AC13B6DEB407DC6CFBFA70F9DC050FD7541AE917A40283E1F4271B1A7415BDE87C0D917BCC1943C05C24A913540688F69405E1438C154FA8C41B11B89C16222E0BF42669D41FE83C04126A771BE5A3FCF3FE99D5A412434FF4111AD7041CE4C944004C9BC40EDB0A3C194E5B0C04263D041F7F5E4C170EB3CC1ACCA054107F66040BD12BFC08AA37B415F1DAFBF84C4834013017C417C5AC1411CBEFCC0A8C3914094481741E9CF0F41BBF93641B8055241C3AE05C13F3288C1BA849CC0CDC3B8C1C9BBC240D54BEC40A6B3D24053E99EC17C74D0C166FBC5C16DCFA4C15713A13E7D70A8C16CA601C19A04A141963885C1EF22E1BF565A2E427B67DFC09509FFC0E5637541F9C91941DBBB2C3F0C7BCBC1A2E694C10AE80742E188E4C1E4DD084223548C41EF02B0C1F7E7C64199FFA3C0D07FB2C1B4ED08C102EB44C085ABA9413315CE3FA7A0D4417A2EE5C1DB5830C0857B014284100DC2ABFB02C019F7D9C1C23AD0C000737D4210D5B63FEE3DB441E44399C1DA41884132DBE7402D713BC10909EB40A01285414A9AA54131130DC0F35C3BC1EAFEB14114C3D4C161B1BD4178EAC241D9BA97C15B0060416CE2BA40932C91C1048899C1B22E23C2D8B9F1C062CA0041B7E42C4212AC45C0500AB5C13BB6D1C1C7E8DCC1422359C2CA68A5C1B03CB8C1024BBC41EE843A42AD299FC116B191C17AA8FC41A13B883FB06E73417846FC4026CD1FBFFC9034C199B210424F278D408D333542341A6340D2A3D4413C7CED41DB3BA0C0D464E4C17BACB6410CBBB9C1A3E144C28728A0C071870541117ADAC1D7C50D42116ACD40C4A49AC0DEDDDA40E8EA45C2547B22C2F94840C218459DC16A0C70425EBC1F4239AF6AC1690E9341347C3C4115829FC1D2ACE9C1B5C2D14199FFA8C10C1B91408CF9DCC1937108C2E3E55A42746D34C03D6739425DCA28400AF991C2E68585416DAC90C10FD08FC1F9C76941B0D49E3F8AC19E3F35F0F4C1BE798E41970D9A41BDE4B4BFF15884C09428A4C1587635C2782DDCC1B9DF9FC052830142E71E2F42E817C4C1563CC341EFB2DEC026BEB54189CD3E41C9567741E5819340EBAA66C1872BB140F60A3241B9B812C13926E041197D8341E99F4541C13AD14029E331C2AB75014203F067C17E3C12C1D1148C4052DAD64151B1E540283FF4C17C41A8C11B0170C2A8F31D40A4A21EC29B6F85C159002041A3DAD9414AD612425B3D9141B801B7C1A1F56040A6F5E040313DFFC1CE014AC029A7A6414E041CC0A5D199C18175B44039437740C84765410391FC4082836BBE686CD7C02C64C0C0BA98CBBF9525E8401CF0F6C1EB59A4415872CA3F20AB12C12907C24078102740DB923B4232087941D20919C27DC196C20B7BECC1B13967C1C0CE98419B6DAABDB93888C1F4FC64C1EB25B240020E25C0427902BFE12409C283B3C0C1D18579421244104248E26042A675E2C161ACAF41B701AFC1E32E9EC1662E31C22EAFC9C1337BC3402B5BB14051FF6B41E6FDEBC093C5EB3EE2547B406738D0C14F7AB7C12A8837C1B2E40042442F9541D3494CC22DECCC4007643EC2A9DAE5C1314C4A4204510FC0DE2B37C18030AD417D621B4253A6D540C26AEC401030A1C12D6280C063A959C264FD9E40D20B294275BE9842511EAA41542E10417F77E4C1BFBC964191BEA64176655C416FACFCBF93EC1D4178166AC110DBE340CD94D2C03406AE41257215C17F1D594022B2F340F6666CC1FF6DCD400973E6C13C2BD3C10CCE9B41B2DA823F342F0540E8C3004196DF0841026A8FC198A28DC0AFE748426D39054272D267C1A1E469C22F5CCDC12E8A804242873DC16465864299E9C541CE9C56C22304204145D88241A7BE4CC2A3759AC155B37FC0CC40EDC043B94CC1DD79E340A55632C1AE4F9AC064E781C16A8721C29F8A26C1EB9DBDC1EBD32CC245EEBA412CB52A41546AA0C1279EA2411F6830422E1B443F11F853BFE5683541C0742C41CB7DF54000AB12426F1740C17DCB26410E5CD0C0F2A373415179984195630FC164D1DDC15DBF92418A3DB2C18FD1CFC116BBA1403ABCE4C0C85D04C2FA3A11428F077141E0594C42D0F6B74146D3D73FB0550740F69934C228CDFAC1CFFBB041C0149F402977724125738B41D1A183C0A8C3BCC1989F19C1FB288B4191D611C14929EFC138A844415B8068C1287AD8411DF22141B1188241C2DFAFC136FE8CC1A38036C1FCF2443F4029B1C1E694D5411F5E493F827807C17EFAB2C1E0BA774173C500C1EE2C9BC1C1743241F17A8042B30B93C17A13FE40236E86C17DF6D6C0666A5B42A4FD2CC185152541999E79C0AC71E8C0F5E3C8C040CE19C1E2F307420BA02441F7EC44427D0C9041631F4542A48BED41BB5580C1E8319FC103F5C2C1F9399DC13938EF4103715A3FAD35ECC19D8A4E4198D8D04157850242B8EADFBF5698FBC148B4EFC1FFA46DC1126B97416D5D593F0CB86D42D6541E42C30569C041F101C25E6D89413C32E4C1F09E0FC2B8B67EBE668C9CBE365D003FD93C9BC14B9C31C2CBD09CC146919FC081F42042354FAB41BA1DCC4102D4F7C1704B4BC1981F1B398C8E10C12CAEEA403C7CBD41091BBCC17DF9ADC143A9D1418B60ADC153DDC94181057041AC3DA2C1B99B73417323E33FB08B83419879A8413CDB4FC263571FC196F434C0B2C9CEC17904A93FBEE478C1AECC5EC10271B7C0A4883C4137025541D82A8A40772215410029D0BF15E0333F52D1D2C1683E95C16CBE95C05F5CA141255F0DC0932CDC3FC5439B410FFB22C190B37441F76F073F2C3781C139F42AC1E52FD3C0BF3CE241C4754C4105D2C341D8381FC1ED57EF401C8288406D71A6BF27E39740B3F1483F113618C11C288840C2B88741A4D57A3D09778041A9FB17C2DE1E5CC1CEFBE3C029A02CC2BB13DFC062B1EAC01F90CCC152BC4442B7611BC1F0AE89BE203E1740B5CED241E9480841AD202B413497C3C0A9CCA4C173E8BD413700D8C166B5BBBF131166C19389B340E1FCAEBF2220B541D23A4CC1BBE8054077728EC1ABAAE54188CDD8C17860DAC1403054C1BE5C09C1025BC4410D3A86413F867B414C512B41B760BEC0424757C1A7591FC24F91A0C1400BF3407556ED419CBF09C0E3D78FC07C4B8D41C318F941EB249241734F12C14ED186C288AD7A41E1BCA6C10CBFBD4058C16CC2A33CA4415A553AC056EF074203D62B4179E5B4C15DF9B9C13D231A42914FE0C0A8FB654153B827C1A04E15C2E52F314289887341B1FDEE402BA413C16CC7494068AC1CC20F9C9EC19187F0C17FE8A2413CA61E4236ED49C105C2EA413CE87DC073DCA04176F55D3F88B0ABBFDA7547C2EC78074290F00BC084EB113EABBC81C28D9D9541B51858C1B9D8D5418A677DC02EF6CBC1D9E063C1AEB2C741B3D28C4070511240DFC96A414C6D2841594410C1A5EC29C2BA4D00C24700B2403EE949412F133AC141A2D641CB0FF3402FA6CE418557594140B6A0BE98C2A0C1DCF14A411F6F9141F65599C0C4EA74C1542FC0C1DC6EAF41F0DD9BC0ACA5254148DA6AC225F234404DA9E5C14F70643E2B229E41A6A39B40624C5DC1F5C8C74177FFCF411BE38AC1646C35C08CA87D41E228F241D7210742CA17A941B952F2C07779F841BDD05EC1B6131041C2290742408A00C222DAA3C01F779041A398D0C1487F4FC2B16F593FF62DB141030EFC40BFB0BE3F190004C2147F06410286F5BFDB6E8BC2E4333440B5AD8AC1606D3BC1E8F36642214F0AC2090DF2407584DDC0BE8BCE415D7237404ABBB0407676DDBFB0DD0FC2472EA6C184010BC0A08996C15FB40C400B8A0640C1E197410E2C59C0455A02C0EECC2FC1AE49A4C1C7EB44415FCCBC40FFFA09C29A3B78C18224CCC16700F0418FB2CF41D3929D42AA4AE440763E36406DD37140BB5D7CC2067C26C26275123F02C597BFC06B754008414141859A78BF4293AF40212F85C1EC115540CF9BC1C08223A9418FF51B42121BD5C026D43641A4CDF5413622D93FD8B0AAC0E84F20C2373C16C2B33C5C411DAD6B40F19CE4C0DB4AEE4014652341F4DE1AC226EBFDC0DF1C0DC278903AC05A26714101ADA1414011C5415B01A9C10EF25EC2AEE7A241F58F3541F3AB8FC11E1C4A42CC0168413C4F994087DD93C0E41AB3C0CAF794C13A568DC100B7EFC1AFAC0A429D0AF641B72ED0413ED8F13D99B349C15819A3C04507CE41265B853FCE8585405EBBD54153244641611A9A407A8A17410D6073C1C9BFA8C183C9F64085C238C107C0E1C05C602442A15D6D41BCAA89C1956B66C1AD1250C2232810417E022441BE0CD54012D6CC406442AB415C15D941A9C7B3417BF650C1C72B2DC2DBCE2BC0461287C104180BC120E8C6412B12EE4158A76641C78816C1F95285412950C2C1925090C193BFDFC07BC92940645B05C1AD2DBFC1200C82BE3B540B42D9173242B88ACE41BA45744216C2D9C102FC1FC15C2471C15C4ECBC12BDB9B410AD716414A339AC0102855C1B14583C184997FC024343F41479CC64155F18F422A6409C2638288C1F452BAC11CE55BC1F516F1C0E80CB5C00386C4C1EBBAD1BF0314C4C0D0F4DCC0D3BD5841AEE105C11DE71DC1ECDB45C09A7452407EB79FC1FD6528C1EC933E416B256F41D1EEF64009D4A6C1CB8FC9C13ADA094091F53DC1A660EB41F2BC8C40B07E4AC17318E2BFE6C39DC116C019C12F47D6C1C3FE1F428B10C741FF0D424239300F421AF091C136BC21C21C9C32C0B540C8C0FFB2CB4015363C413E6A134196957041AEAC97404E019A415F1EC1C1C3A80DC2F5250AC2042BF93F6B232EC2219E8F410BB35D410B79E5C0A9DAB241C3B68FC11B764040767629C156504E42B1E8C0409C43ABC1737A60C000069D41F99DA640F5BE8FC16C1B03C1A2026742D9D15441834BA4417740C7C1FAD747C20AB670411C47953FCE133B41D08D6CBFAAF195C10923DEC0013AD5C0B6515D4236270E42E9935342A5C8D541D98906415252CCC0D9292CC226D0FE3F3CE5CA407B308A4082D80442C51F9FC10B61D7C1605FAD414F229A4127043F4174B146C1FB210AC239BD72C1C3BFBF413060B741BAFFD7419280F2414C6F8D41A5731C4142E0B6C1C343C64131D176C18B0A28C135B010C1718524407E3886C1C7092D4189650BC2DE122FC1C053ABC168AE91419770FAC1F369BB405FB20EC2FA61B3410B07F941D3D1CCC18C1F4941F8B28341BF045641EC73B34034391B414D921AC2DDB7B5C0202A54C217664EC1A46EA83E90AB0FC05BB40C42FF12C241905F7EC1E1041941CA2CB6C115F80E4117F4A53E2103D341EFFDB040C08B5041CC42B0C15EF5D8C057F85EC2BB7DE2C101405EC19898D2C148BD42426960F84168E40EC016160F41CF789CC1833EDB3DE93B85BF8A13B841DD847441D8349E3CED48D4C1A11C3742A408514162E6C4414EBAECC08751A2414EE0333FFD45824287BD79C18DA8DDC1EF936E418796E84058C07BC2F4DF26BFA50145C19416E9411FE710C01DA597413A34D840451073C1B025E1C1A4D689C133A88241DDF4034228C10AC1C6F25FC1B2443B4153C019C212591141030E74418FDE15C0CE580041BD0683C288F209418E9804C2D167E2C1A6ADD8C1D81F53C05E07F4418C63DE41ABB4ABC17FF09FC0770210C2FFF2894182E725417E0A93C1F51DD2C06CDB72C0C350024242C6314134A4284138017C41FB2B67411720E0C1DE3599C13F542240D532644162820F428E430841E41EAEC1D671EFBF458DA641E3482BC0FB201B41F2D7C0C1CC36DF41751F5D405662F34072B13DC216779C41F83196C0D28CDE4139E0A8C02C4DECC19CCC1841286F103F0D383D40A417EBC0B6951841A9A6C33FEDF1E541BD6965C12D4E92C122269FC18005E64067C220C2C0E75F413779BD3FD94F974175C8B141BB3201C1210611C186A348C1E43551C03AB73C413D671FC0BB4914C1883ED3C0DD782F41AA829141EBB7D7C143BFCE408C57A7C114A06E40BE7AE9417680F6C05FAD914015110EC05A21C74041A611C1E9902D40E405A03F73E949C135959141E6E5F1C1342F1D412D863441E81C90C14EAC10408A35F941326FE6C031C31142BD5663C1B8823FC0E0E076C1963412C1270FB3C1EF53D9C08AB9C741B6987041FE6C88411F7007C2484A90C164ABC6C1C61D4BC12249FFC17D5FDEC052DC0B411DFC5EC143B3FC406B5AB241249EB641B951D6414A081E401C6873C12DFC3D40478225423FE5FFC118FF19C229BB8C40C9DC874173A3E441BA272D41EB5B93C2812D8F40A09A5D41E0BE51C2780AE640E9578C3F6B1500C2256C7041A0B61AC0E5A3A4419DFB2F420AA2E841AE0BF340D08EF5C1FA9991C12F2DC1419DA8D241B5463941329B544123045AC0A82360C16A1039C28F290FC11C6B5DC25BED6C41D07DA5421607D7C145EDA3416530304242AC17C1453441C25B2383C2F0A624C2E48A80C1EF7E9A41A23130427428923FE7FEFA3FCCBA5B413E8CC6411FDFD1C15CF4C440366520C2DE35F94173DF7AC1081B2B42653A0BC10A034AC1CC7DA9C1A394B940394F6EC129F283C1DFFA7141873C4ABF7FFBEEC04493C540C3CB2DC29DA7C53EB6636642BFA142422558A7425DBA27C11C4852C2216BE1C008F3AEC1029A1F426B4408411E4CF54183D3EDC16B7D7BC0828001429E58CFC153CB08C265A3CAC19A216241A9CBCF41CC50D44173877F41CB6C4BC00F5491C1DB2628409949C3404E0212C254971B42F4FEE9BE2C249A4018E295C045722B42796279BF713D8241037FF141E86AA242F905B9416F4FD640814E41BFE508BDC158F282BF426F12425D4D11C1ED9147C25501C4C054B330413D513D4081732542ABA9AA418EE84BC121D9654129F920C1F580D8BF5FF79DC16DE1404162C5AE406F41A4400B8D8241590407C08845F1C127301A40F65044C150A29641AEEF63C1F4D8D3C1B12D03C23F8F1FC2F51F3442920329C111707242456095C0CA181BC2BB0BA240E69677C1B5BF31C1F472444106A88441C4C706C1AE3E1DC2709D72C03FD0B241698369428715D3C1205C17C176F5AFC133E381C1D8A490C15C4FE640F70BF5C05540ACC1003C224217728DC1D122933FC7E7D1BFC770CF416EBCE13FCE82C640C21021C1F667D241B9AC0142BA64B141748EA541F3D60642CABCCFC1A53806C1D2BA0042EAD10EC26EA271C15D6D2A415CDE8EC184AA1AC138A300C29477C7C02B4A08C02E5C664198C0654236C9D341BC289241C2CB38C151C211C24B7C464175D08BC0653A2341EBA1574144301CC1A0CB014278429841C95788C0D16C88C15FF0D6C00B831941EC536441CBF8C7406B8F9241E9541C4203510C4103B7AEC1C68168419DFAA6C136FC37C27D066041284826418CEE114272D09C40A55EB5C1A9655AC27D88D840D276C041B85D744143F24A422018F5413C5387C1078A2FC1913BC941F71F06C298E806C108DE12C1A814E7C111F0CE40D101CBC1AD6C00421709BA407F4160C2ED339BC1A58153C1FBE23641A5E6EAC0F3AC46C21703D9C0A7DC0BC2C8E37D412BD68841725751C1AA43A4BF9303B24117824E413C0D8D418DC21741CD1A90C0CDE4DC40F69985C1E2E54041C7380D4237913FC10D9180C069E46F417A5C0DC22AF7B9C117EFDE416D930241ED73B8C1AA39C7C1769C6CC04DC7A141D9B140422EAF9BC1F5FD38422F54F8C1A09917C14246CC41C4D6A1C12D817A416DC8C6416FD33641035D9341FD45C04190DF1141138E4541E00F11C1FF135AC25F7C6E418508A0C117290AC267D4924169973042216B2A423D3DE04120FDA940F4F198C183C17BC18152334035D1D34134BA8C407C2C094231794AC0422FF3C0F93BA741C8BE25C232DDC4C150808DC1816CD341B0F56842D7657E40DCE1A141CF43A5C19CE692C14E1562C1C7B9CBC156D6A6418A28F541823D1642A39A08C0E63F77C25DC0EBC1E081A6C2FF7BAB4183EDCF4182E320C18DB7E141A16E94C17D7C08C2200A5840AB3FFEC1F210BC402569AD3FD1710E41256883C010A11D420EE519C2D8DFD7C100600DC222BB53C167660AC1A2969F41F57A35C1AEB28AC1C567CFC08E2AAAC0EBA72FC152270341AB74C3C0EBB17F41AA8B13C140FE60414EAFAC41234B75BFA767E3C1F65389C110830941A0852B42615BCE412F90FA4045BDB3C1C44F313F4D1D88C1C4FD62C12F1280C13E1198C1F8C515BF3B678AC085177CBF79769CC1192D2D412AAC06C2EAB52BC28BDBB6BF33BB9D417F9DE0C1942EE341C3A73A4246C7C1C17FBE9F404F7D3D4126FEF64190B77AC06479E4C08A65E1C1A9265841ECE013C2CCA5504102B2AB40422966BF9EA35D411660CBC09A3A90C15240A1C1CC87C5418E1542412E41D9C18F3D6641BC34B4406E2BD8C01DCEDE419DDD12C20BED60415B1111C2E75881C14226114203F30C403225944058C70B423B7E6B3FDEE475C0FE745FC0337DD9C0716356C19D27884062513C417A914CC1622FEDC073F580C0670597C087AED2C010604CC0B74A08C0DE7467C1CF7E3D41624162403D511D3EC8C8B3BF498F5B3E0F3F11C1D24033C150D837C2BCEDEBC02E3426C2AB19DBC111DE81C0896EDDC080B6E641037F0D423983C7C1EBCC3B4042932D42B59D2741891074408AEC79C1521863C156035441EAFC2C41774EB0413F585841F9C7B841FD2939C12410AA40562502C1D0B594C0FBD332404BABA44156379EC12E778F419CBF86C1329C29C28B528042AEE49E4261709842E0171F4148F19441D3421AC2DA8C19C22A6B7B41456111C0E6D991413D4B9C4162398241C5318CC25E943A41C13E30C09E5789415B16D2C1183BB0C136340CC2A3CCECC1C97CE1C147554D40B156EE414259D7C018EBB7C073916EC1E3097BC1E3D7F13F70750C4285354341D7AF8840F4E4B1C0388CEDC1B1377FC22C480142566814C28DF68642003404C10688784265A29CC1505C54C09AC1C0C1289B2FC1AB3A49C083386DC0A9696BBCE790BFC0D2460EC1B269BC412E5FC6413D29AB42A636BF4138B49C40C0BCE04110BA06C2B9E286C049FA05C053D12DC2E33B2042021905C1C044C6C12C4014C2582036C167778542454580C1724503C2084E833FCFF11C40EDA3BE42DBC38A42E1BA7142DF032E416AB9B5C22B1553C2662C2D42A01C86C23924CEBF30B9D2C1B3203741C643BE403C3A8CC13D8C8AC2A2761AC1030F3C40D0C40C42ED40DB41643E0E41DD7133C2C41407415D71A0C007B2D0C03CC384C0581C0B4217C520C1BB45CFC197729B419C36E541B6288BC054B6CCC04A1E47C167A9BD419623A841DB8F2D41D9F509C21F4124C21E17FAC0A943804118367BC1D911F441B39719C18C577CC172941240830ABE4157AFE841D0D3E1C138FD154118225A4194876A41F5B266C1E3FD29C1D80212C2D849B1415AE01940DA460B411782ED3F124FD5BFD140854166BC1CC1AEBDDC417858E9C1DE6029414E5C4742C13CC341D1A6A0417B47B1C1A1236CC11EA91342A15AA640893FFC418D7A34C1A9EF35C009AF23425CB50BBF02B70CC214AF5D4174C21741A735D341ED399FC03A71B7C10C5A84C1D0B125C14F9F5CC128F7F541262678C042C50CC0E3150542351EFDC01D27CEC120180CBFF2F29841DFD9C541C99E83C1A74229C29EFFE1C1A9917241A35900C2E044AB41A090B3C089C0F0C0ACB2EA414D605CC18ACA96C1CA2CE540C2F25AC11C02A0C081909E4109F550C19370F5C109EBBAC1BE860F41D5250E42ED9C19C0EA38D04161598040659DA2C01D4DA541B30F5F4045FB0AC2E09CD4416D105940698622C1022F74C0E282AC41F579164101020242071ED0C1525205C2C3BB92C1F01026C16E3587C1E2DB3341895982C1A7434D3F3900703F38642641D3E667C122BB62410D6ABD41FCC41042CBAA6641A64C42C26BA08A415B12AE416E269CC1EFA24641FC943642D6FFB3C0F19BF24191408841338902C2944820C21B0081C1B85742C0ABAF75C153BA43412EBDB1C184BA58426DB0A7413E57EB419CC585413869CFC1F59514C24BF76F415A8ADEC055267A41650E96C00AFD36417ABA044156A9B63F737D74BF5AD0A4C02D9EAD4169076AC13E183BC2C76E31C2853D65C2681974417198D34175593B4190A64D413F9801C2D7F505413B6343C104A2A1C166A24AC04CBED440538EBC41B07DF0C1C6408FC198FD4FC02D983F4229DB26418B962E41F5E307C2E9348BC1F3884241A91D4A406172D3C0FB332C419887E0C0010F62415400FB403AFE8441F43B77413A21B8C1B04CB8BFBA2799C2AC4EC6C11FE7E1C13D058741FC7D2042D5D5D940F24998C0F0BD7EC0C61AB440CE515BC1F7B702C1874A1FC1AC63F04065D02A42910D9D4127A4DAC04A1C2EC2FFED4AC089BC29C2C8B8B0C076F194C0905C51BF1B4538C1FC0AA441FE7B16C03839E4C0F7FF3741200EE2C13AEDF23F8F6B2D417B313842E6D61FC1F6D29AC239E9BDC196CB5FC2A2DA93C109B4654292C211C116ED9DC1F649E3416D8BD340302EE6416E8A53BFDB0952C234950EC13EC55E4001F190423A0993C0972A09C250685241D38927C2E91F40C25A700142174FFCC11BC936C1FD616F42A4E68C40943F00C1252819C132CD11C2A4BA77C1B6354741003BBF3D0F0D244166EFBDC1603FB6BF0FBD45C2B9D318C2181B7541367E1342C97208C27DB734422A0C0142C8E817C1E0A2CA3F073F5140AC950BC2BA0D54C209F420416748AB41DC4EF641D2D872421FD49A3FB5422AC23FF5EDC06DA1DCC1D76CFA406E390B40EF1A2142F7C40B42D1D71541AEACEBC1FCC1AD4068E84741B6CC75C13A6F3541235C05C2326CCEBF5B7E95C1317DA4C0365DDF41E04B0541D833F6C0835125429C2BEFC0246F31C17F30FABFAF2062415F91C141A17912C1039DFEC056C74E417CD56241AD2F21428729E2C048A0C0C13A36A9C1138097C15C3FBA41DD5EBAC0BE99FC40798E68411DB4B5BF7DBB10C1D76F83C1977D3441AB76024166FA6E3F523663C0CE7318C1F30E844083C87E41EEE76D405F5F5640E2E1B8C0A557C2402AE4F4C0A97EA0C010A4D541659184C027E549C152A00CC291628BC1A5E7E4416F5FDEC1C33CD4416608C2C1BCAD70C1D12E27423D82FCC0101E893F23EB3041B4A785416AC53AC0DDC71FC1B3AACD41AFAE1040CB7FA3C16C5B7D40D4D610C21D8447C17D9D07C184E6EA41CCD90CC1A7C8F4C0F3A0CAC1C5E35C40A2D5CFC14B49D841CC0430BF77AC20C26EA59CC103A0F3414AF4534290A4E73EA11612C24A730AC27CF616C253CFE0C1ED5E04C2B03BA4C1E9371642A1E5E5C10A1DE241CD81EF41FF48D2C15D951141DF4F96C07DAC934144E1913FF30D1E42EA36674288E23F42878EF84127560AC2AC334840A8AE5740C898CB3F83D20C4280259FC1F67DD8C173001F429CDF2A4129275CC2F3FDB7415FFC6F3F90775342C8EF4842BD198D41C06315C0AAF209C2671E37C194855E4290094041D811AC41ADD2DA417324D7C19D2E9C40FB0B83C1C4EE81C136EBAD41B2173E41B40038C0B50F45C2D58B13421F4CDCC171B1BB41ED4FC4C178C712C206BB8041AD6FD0C14AAFE9414A7397C16A858EC1846F98BFF094E641A9DC864001B506C297087EC1D247F0C1D5D5B042C90782C1076B8A427FF45C41D09727C26CDF9A40E07C1940892C1BC236E8BDC159E6BB416C803A41CD9D9340211F3EC2BAD108C25D00A6419DC79841A718AE41D5AC514264A9CA41610F9D405244A5C0320A4CC25AF991415261B9BED2C2BEBE5B523CC1F967ED4072591D426D3991C1F85111C198AEFDC099BD79BFC0844542736FFE4183303742669E1442B7D446C2F9070EC25223AF41E9A50AC22AF702C23157D1C1A4A121C138524042B05B1DC19301B4C1C3C9C8C158F405C1706E9F41CEEC0C422B2FF0412AF831C047D834C224B4C5C13B727B41FD4120C29369ED41D0EB21C0985B1AC15F3A94417CE5CEC13FB5C840A1CB1AC10CF589C1D05B5EC0A2D29741B723904117D0B840C12011C28A1CA4C1F11FB6C0AF7202C0D4452041B62EB93F01C3D0C04218BEC17F2F11420FCC19426C169741DFEE17422822624189EAD8400C3228C2BA1061C06B5BE3BE869DB641FDCB8C410BAD514103D5B9C1540836416526FE407DF40BC1C9AE87C149F33E4187203AC19C9F1E42FFAB3DC11A63D3411564ACC125A35341AB010941A1DB7540E147E540A8BB4A418DED2BC0126B3841EA9AE74174F7CA3F725AA9C162443CC2398D5BC2B28916C10EDCA5C1EE098AC1F2A7C54164E19E4036582742E82B31410641B2C13C080641AC6320417DB98541E5EF3841C4CA22C1D13F483F8115454148D3F741B93281C1590181C1420BFABF87B4B63F6717324140A9A64002B506C2E3DE9C3F9BA78F41AE7614C2BC748CC1678236C1314C074285FAA2C0FDB49C41CAAFAEC1977DF4C1502B76C26D0088C1D271E03FF97A84419C6A1EC19405E8C08F8415C1ED6CBFC11751EF4170037B3FD296A8C1BA8E48C15FCA25C23E3C1D413CB00842B64544C0DCC2F941E991CA41569302408CF064C1BFBD1CC214161FC1477C44C1EA7D904178AC21418D0EB23F21CEB23FD44D19C22D68CC419F83F241A1482C420F3CF84120E734C2D57D62C18A988CC292D16BC1CDCC4A42450D9541133424405F35B941AB365ABEA4A286417E910C41C7D55241FD9171C1E8C8C9C1E495B4C14C2AA241762EBB418FCD3B42A32BBD41C7788B3F10A37AC133EED3C1D74DA2417B9226C039A0863FF6AD5BC199B278C0437B71C169AE1FC0B3992D424733FF3FF9779241583453C1FA94AB4018AD24C27741CF40D01F2FC1FFD8A441478532C16966B54138865CC167DC12C153B99FC1391E2BC1294DEAC049789F4117290F4140BEAB3FCB95AD41198D2D41B6594CC1976F8AC141CFFDC127FA6A41FD0F29C1C0087441D3D00E41E08432422B70DC40EA282FC201119AC1AE7DB041A6708541F6CA39C1C1CB14C23FACB1C03FFC5EC184B4A3C015D59C41AEC428C11D62C4C1E3777E422550A7C1A97C1342041F19C024B2EEC18D483641AC417B4151EAE941A04A37417D39F1413BEE4C41A537C13F0CBF95C03006FEC038EE2CC1AAA549412F62EB41BF250AC25E276A4154A557C041E7E440DB6F75C2050A21C178F4C6C1CBC12D4186DBAAC0DA7ACB410FAC9241E9335A41F07E42C1EAB986C095503BC1BD2E7E40F478E541CDB6A64024D2D9401634A1414C4F10C2E6BA17C2F8C57040C08DC93FF4E57B42937DFD41697854429AA27241BA84F0C1CDA4FDC1BACC5F41050EAEC10EB950C160DFC0406A587E404386B6419FED64410CB74C410DE53AC1C10244405768BAC1A046CA402A4FDE405BDDCB41191472C06615A1C135D1AD418BCDA6C192321BC1588E7FC10839CFC07BD72F42655818C125FAD4C0F59E83402FA32DC10BD63F42E56826420EA32B42B2738941148382C207F23AC2E1BED341AE8612C2810B79C1CBD333C1A72CB5C05FFD85C01BD4F94065588ABF7AF5B441885313C18380AFC1114B9DC1473F87C1257855C18A84A141A1B7954004C7A9C07AE0BEC0C327944195BBA6C0E950183E44731D4154DD76C130FE87C1EE70994115B9F840678D124114612F424D1A013E01C07DC12B4480C1208616C27A286741C1DA35C038832C41F47B2DC166596541089690C1A11E8C4153EA70C012904342E62DAE413357DC413D9B80413F55CCC1F7E825C1FEBB3E417C7C7BC115EC84415CF0F240EE570FC28DE0E9C064643D40742375C02C47EDC05AAC6FC0744A78C14224F841675A5E41B94F0742B71C90C1B4ED36C1A076F3C07FC1E94012098E40485D2541396EE840B42694C06152D5C18B67493F56E99EC1638A41C1BE6F00C2772E29C2CB645F41BFC290C0C310C041430720C269DE19C28B809A41FA6813C2B66D9C410CCE3A420B6FB14119881FC1C3146FC1C74829413811D141D8230FC279F216C12EC2ACC1BCBBAFC18BAB26C0970E67BF37AB8CBF0AFAFA4187C090C1AD26D241CD5AA540EB36D64194665DBF5ACAE9C002789A411AB70341C6F8624113A21D42691ADC3FBB81D94126A455C1D2FEC03F15131F41D6CA4CC156570F424C1F27C02DAE8DC019F1C641CBC2BB40448E11C1035437BF30C50241C65C14BF0E622C41AF538BC1101BB3C14FD6374072F7CC4115D3E6412D422441B8877D406F2E2DC0356A19C1F793E8C095BF29C0A94690C0F158DE41A1598B3EA8A6384103E5E84035B07942236FABC117076041B7041041A9380AC10840CF4104343341F6A992C11AE4F5C1E78E0CC115D250C1F12E0D415B278F41096FBB41249BB2C0755F46C17D830C42938A26C29C7FB241024BF041B718A9C1769507427CBAB9BFA7EAD2C1FB88B3C16597BBC065D8954107B2CB419E2956C14932C6C11700F5C1FF1D20C1D7AF41426C358EBFE62B5242D2AA0D42272AA9C14433DAC0638F22401A3DBAC1BA1C11C207362C40106F4141120D9341D1014F3F6CBD74C1F20307C11C078CC1C8115F41EDB0A1C1D7821842E38EE941B9E9EE3F1D5019C1B8EC9D40FCF7C4C1937CBBC1DF6B23C0BA7DC1C10724E841D349D7C17650FD41C19A43C221A000C297D7FAC07D845AC10F570A428991F141B2F159C2775F8041665FAEC19E063DC1C3187D41C080CCC1B12633C1153B1342631B3AC1FB573AC12E850BC1AF50F6C123E703C143D7CDC0A51BC24146EB854071C3B0C10CC949C1D0AC7AC0EE480EC2F462E34127F5D141C647C5414B4701C0ABFCCDC070A50A41C3CE0040CC0A0242DC463EC2708DBD40C3F164C198951C42EE4B2E42E8569AC1C917A14121B420C0C8A9A7C10E6A64BFEDBAB7C140F4FCC1B94F3742307C4C42FFD64E42391FB9416B23D2414260BDC07D3D30C2849B6FC163B043C18B08BC4187E67E41C7344F417691B6C14C1591C1080B2541DFC0D7BE5BD876C1AAD38C41D42A2041BCEC5DC09FFAC2BF9FD976C1466BDDC06DA8E441348C8CBFE848AB408E4D56C1F8B76BBED055F5C113FC7541B367EC402691D6C0D2430240EB0B57C254FCBBC1416184C191F3E5415C7393C155331242D0C0BFC1B269B1419C345A41C69927C10A880140C78E8441E82B5A4186331CC1C2A7D8C0E9F705C28219984179A085C1A6CF07C26D861AC262E8DCC0E9DDAE40EE670EC03EEA7DC1450E30C0993F0CC2D781054279E86C41B9E9B5C19E6532C09C3D1542F02380411A1E4AC07D13623FD701A840DF893F4268C526412E4AE2410824D041AD250DC2045942C12412F541B9294CC2F2619CC1DC8C35403E9A32C1E06C8F4195B9A5C1EA7B8DC1366F11C28C6014C28E91B3C171960FC1B681EB41566A36C199913EC17B886DBF7B57AEC1AA4B16C034AE28424FAEF7403277BABEF10858418D49ACC19CCCDEC100BF09C2249549C1E5664741AB73F73E3E7E10425F57423FA181FCC0B9253140187A0DC1F712F3C08C24A1410606E73F89C24AC11D09A5C097DA0F42BAC7A3412D7D5942C0ED9241F45905C1869AEE40E305F0C1A0D425C18B560541AB8988C159D20442061369C192DE783E8182033EF333A1C1EE6F2C4165A0E7416D830D42962E7840B38B4D40DC879E4172E040C199F0B8408A7C9B415C20E4C1B2185A41C62D9541E178BDC1785C4AC17E53BEC124FB2141D5FAD4C0DF60864101430DC2132103C2C754ED4105C13B42515B58C17FFBB8C041836DC1F35CC041A2EE5D42634E4AC09AC647C1595C1F41FF3E1940693CCF407D57BF40158CAE41D1FCFFC1EF339C41751782C17C054B415599B5C15DE4B341B510B1C00AA6BC41385036C1447A4241B512BFC15F811AC0CC0E1A40B4984741F4CBFA40CF7BD041CC43C541F22547C2756D81C1CDD1BB40C64517C21A88AE4162032342E6D117C1530CE2414AAE15C1BD470BBF003A44C2806B0CC238549AC1AD1B40412318D84177BF294020630F4229E314C0068799426FBAD2BF66E51D41C26B02C1B44529C23200064121798A413D3109C2607D69C18F28B9411580E2401E36D9C004873DC29552BD41C128FE40A384AFC17C9D11C2C33494C116576541C2C12442B0E04740495275C106D2C1C17CFC94416BF3B5C1764C493FDDC55440C0057D3F95DA474112E3BAC11B2C64C0A03E32C07861754241F93941AB1EE14149E031C1AEDFACC1C39A59C068610C41D3BEDABFAA43A3C160A35741618BFEC1C5A3FB3D0BBBB6C1445D07420C8A21421FE7ECC13E2FA7C085AE124080DE39410A81463F552A28C2B3A7C0C106C5BFC06865A440F6731D41711231C09C2099C046A3D44183E9AEC11F065EC116703EC22AD70EC0A97AE941712A5541F7BE1A4275FB6D41CC9208C26A35E4405F26C2BFDCF194C196714541D0B665C035A5B141CCE2AB41157A59C1BA178DC288ACFE41E6DFD64115D0224122B46942F26812413CAEA5C15176CF419F7C82C28EA823427816F6C191DAAC4178BC2A40356263410FF5E74109C6364073CC73C0A275FFC13AA91B406F9915C23814063F92A73C41BC14F64100224E41D1A578C1F5A162419D10CAC1DF88533CFD2850C26624B5C15E80324105620F422F4A4C41045C64406BE0594104B17742F61895417879AAC1A1B8E9C12EEC4AC2494BDB41D4272F418C1195C1F213B240C5EB5EC128ABBFC0255E31C185B22141D87D1342E61DFA3F705EBE40050FDDC15CD902C212E906C25E685441EA7D6241A5371242175159C14C482040D33F11C0EBF4C241344DD540752B88C172EC92415DF4DDC1F7B236C24BA15EC16FB40DC2F69F75C14CE750BF065B17C2D7021742AF909441BC7990C13020F84158E401428F606441E94AA540D03E87C16A61D73F59C02341B5E652C22AF618C19EDE39C2C43D48C246D9FBC0445D09415F4A1742EEFF5042B87A08C2DD0DB041E24B524185158EC055D5CBC0BA44D23F126BB8414BE1BC3E348EFD415BAC624085EBA1C1129929C161F78AC1CB1D11C14A90B44115BAD0C0CF608341022D9CC1EB7D784174957F416ED4DA40120C00C172A31741107FF041E85E8541D6EF28C179EE2FC2D29B1DC28280F5C0E0F405424CFFE441810BACBDB9C026C0798A0E3F9C86D2C15668F9C1C6391A412DA35C3F4CEEBC417960A5C1A87D05C25B5BDE41959FBA414A268FC1F28F85C1BDC4C9C0B656CB41FCCE5342389E94BF633E95C1F50C1C41CC4849C1981E2B418452DA3F9D00B3C165426CC1298B2F4277B94EC103ED6EC06E5006BF2F17B63F69FF914047D52E41B338F6C182824FC0DB51D0C0FC632DC1696D3B3F8C210F417DFE7E3F52430242A7954A412D13D2C1366716C2F93515C2570C43C2014B964002EA154184128D41F69E61413A558EC1B7DCE4401F3093C19C578CC1425905C2731BAC40DAB8ECC0AF1B0741ED63D8C0C6CABCC1EE221141153A1041236A64BF8ED013C26A2A32C257E43A4143E392C17382D440A70B33420D658040B8E7A1C1FE088AC104C35DC11E8E87412A5BDF418AD5A4C11AB31EC22E28D7C1326E99C151BD82C129B65B41FF0A29413986B9C102D05741A7AD0642C772A441B74CCC41325962C19EAF7741E08ACEC1A3B3644141323E42A4E350C118351542A8C2D2C1DDEA4CC1DC2B3B429DD0CFC1E1E804428BC00641A40BBEC0F7551DC092D707412E84FAC0B512A84179C94FC1406D6941FFB0ED410A486641FE8AEF4072B888C133F302C15087BE41A5758740F27DA141A22C05C1756791C07407C0C1A7B13DC13A734F402F5738416A80A1BFEF72D03F681591C14C17A341570059C166E9423F1AB98DC17AAB88C1021884414B8431C105BDB3C0B3A50F413BAB99413C5418428D6EAA40D70BF6C0A4C176C138B7AFC14D7DA4415BA1E1BFB95776C095A6A241986D4542FC0F03427C2A25C1A51B4F41351A09C18B3F3BC254470841F563C0419118B940752F284094B088C1D016A5C132E89F41C0354BBFF283ACC0C4CA20416E36DB417651EC4172B11E406F8E414167975BC1A3179DC1841B7EC11CF34BC12E90DB412736C6C15FF4634159B52242E80688C25EC28DC180B82AC12FB4F94164C65541A7B62BC2023355C2D96E65C1F1D258C1F2460EC130FA9BC158EEB5C0BE29CC4174EF22C04867E540BD9099C1B73F1CC27A8BAFC1FF68F5C113909841E83E8441A0D056C147C96740A4C586C12140A2C1415AEB40EB174CC1E09F40C11BBDB43FADEA30C2C7579EC1705BBFC07C42FA4129FB85C1E27F524208FAE7C1452510C261AE34C07FB448C033EB86C0A760E740BBD389424B3CB3401935343ED708CCC182249840F6ADEE413B185F42B3AF76419F0544C1D9CCC440AF9414C2BC4092BE3A9E2B41001661C14F5BEB40311D9C4158E9C3C1D6393341E578B6BFE051A7C14D184F4249F50B42C24177C206E62942D74D9BC1C67883C1CCD227C2E462CCBF78BDB8419C9F8A42D8E2394008D59A417E970140B198A04096EC61C1013648C1F5C788C1420450C174C607C1E35688C185278241BD72EEBFC8EC2A419069EBC1AA8E4AC1799F6C41A658B8C1CD35A141252ED841B79B0C425B2A77418A00EAC1E7C7D84172ABAF41972DBCC1E1C179C1104739C20B06A9C2821706BE39490642D5627C428B383F4207E8B6C1D0C88D417355F1C18C3C6F41FEEF9FC0E41FF23F81584E4108921F41825234C1A670C4410EAEDA416C5649417CA700417F754641B23C5AC185AE0041CF20A941B4030AC193362CC1F370E6C0065005BF31617D413B7913C1D396264072A92B42D6BE2FC205A580C0A8352FC2A2D4FB4170D40242DCFC823F9FC9B3C19D819CC02087F8C10A4DB2C17A5C6AC08A509941B311D7412302C9BFCF80E5C14D8638C291DC70BE1FB35E40829E7CC1A154064270F1F4415F8F7641342B0441E3698E4080D0FFC1CB3A8AC03168A0C1314055C198610CC1AD2DF0C090D9E541A93F7642FC2F8D4103BFAF4211DBC7419A02D2BF67BF3541D1F265C2BA61E0C0EABA6341138385C01A8349C277E296C1F360BB40CE26904127E8D3407884CC41CABBEF40F2895FC121DF83C1258594C1101DFCBD37240D4255B201C10AFE08C10997B23FAB0999C1441BF1C1FCEE9441FDE87EBF8C3BB241328539C228D11CC2213AA8C25F8BCBC10FC8D4412500A84141AB8542E2660FC041DD1FC2A725DD3FEF74C1C174DC174128D4DF413FC289C044A492C0AD7E06BF2607DBC13A8C41C1453096C089B405C201A27CC2E0492EC10FAD1CC16A5EC9C1853B974150A504C1ACE2FEC1F900854164B8424256146A4112D4B941D2DDF741FDE18AC151F042413F5D3B41E2320D425495CAC12A9D4742ADE9A14055AB64422D5648C03B8081C2E0BD37427E62DAC1732511C250F7E4C07C4CF340FE9970C1F3748F3F4CBB43419EFD8CC1E7B65542474D24C217908A41A89E6DC2F9F6D1C0E5B012428970E041924E4740B5C55041FBACBB41C30D79C1DDA3E6C000130AC1F9F495C13E95AB4108561642EAAD48C1DBCB88BF9E806B407BE681C1428E39C0536197C1972838C1BFDD62C15A7B62414BA224C140265B41C4F823416682BDC1993B074299EE02419255F940013B00C288418FC2F9082EC2F946D3C1B50C9BC124D24D423330393F055E97C17EBAF641D7EEBABF82250D412019B74027FFCB3F79B12BC22C3AD9C1AC994AC2026D7D40AF791BC26025DA41075CD5BFB9BEA0C1091A2E41EAD7AB3DC36CB4C1A0A5C141E9BF4842638C7DBE1896ADC19FE834C25F14F9BF8395DF41A9619B42FB7E14415C4E8041B5BDB8C04E1F2CC28091F1C184F32440073D41417BD011C13425E941EC510EBE722D8341829B3D40E45A99C1E69F8C411A844242DBBD614167360442FBC014C28C210641C5E832C2CFE98741A9AD6341DF6A773FB9D265415D0A9F41C416C2C11024004086A8B3417BFB774139376BC1CE2892C2C320B1C19E6D163FC422F041897D0E42D1B80E422B9EBAC155A708416544FAC18B911941DC2CEBC0B3685F4106528C418C3F5D4178EBEEC1DA37B7C10D79904032CA13C19E56C440728E3AC1B527A8C1BB1708C1ADB539418187E741B282C741753ED1C1B3620342838B78C15A0DC3C102287DC126FBB741523E324112E4FB40574B2542ECFE1CC1FDB6AE41675416428FD81ABF46BF75C15E9040C212F232C2C7AABF414A139EC1F95F99BF63495A415C10CEBFBD9F5D4178E3E0C155A25141CBD99CC19484E1C165C8ACC11F51FEC05021E741667BDE4130369BC122BA5FC15CDE6BC1D36A1E40C953B0C0513813C0648C76C09FE5A6C1CC867CC00177B5C100052641CC84DC411B65A44172B81442DD82CFC162D83FC280AE974033DF6540E9E91540F9A0B341CBD9E2416A4C6F40A1C586C05938BFC0328F0F42DD41024229050D3E9B7BC8C0ABF02DC24CB416C220CEB5C19CC11A41A541B8410D4E99417767A439886CA9BFACB592C00F0C943E8FC22540D4751240929A334170A04241ACC8D0C04CD605C1B21016C23D4F8AC1276028C1871EDF4023B27B4177750B40AF9665C03D5C97BEB8FFDD3F8DE3FA407E645FC0939225C240EBC541C300A841241AA8423D5943C04C3AAA4107CAE1C1B729C3C1803823C1AE999C4106FE2CBFD6C129402C739141D74C21C20B3012BF3AD6BD402C30AFC17B8929C07415844119AC6C417E858B41715332C11D3C21C19433E9C17030B2401744AC4107258941B5B2F4C0BC0080411AE34AC176869DC15BB57341D1C6EA416DF036C2D99799C2775ABFC1A0F54BC1F2F04A42F31D094220655042B59766C1C9928DC15293D7C10FDBB3C00D97A0C17D93AA413E908041807088C10AB88BC147F2EE3FEFFCDA41BF2B0FC149FED3C1B6AB044025EFEEC14F980D4183A5E0BF344288C1E90FCE41A0A7C5C154A2C441AF498FC0B70DD3C192D582C04B394742C4C362C1FA24DA3F12E7AAC2AF2C244152BCD7C10FD20942BD1CBC404DF955414E260FC2A839D4404E45F13F07E4CAC1E478234245F5A141DD587241B476EC400196C1C1CBEE8EC1BC113EC1B192944181DAED3F31942E41B3DDAA41C214DE418A876C413AC048C1BEEC3941A61A35C1CEC6DCC0B4BFC841A1D54741BF8D0CC29375E641906448424F3A87C12AD8BE4121DEDAC2FDDB0DC2732E8CC239EB31415AC38F42514D054298CB32C157641A425FAC9BBEF326ACC163C0A6C0C7011C42F78738400BEDC7BFAA13B0C19BA9CAC16B1DCDC099DE5BC1B03CD641F2DEA441FEFDA6C1A86BB1C03E1F0F4045521BC2E8210B41E8E199411063AE3F731558C2A86B4F41A227FC41A05D824201E19EC157EB4BC2F75E6CC2F0292BC2F6A90CC1B76F6442AC9E54419C57D3C19CF62542BD6C9FC17B1748C1D7D9074199198EBE76F60F410E16CB3F54572641CF283641EA8300C2BFB32AC09AA3E2C148AC79BF4A8ED941A9A1F5BFA18F8F40069C9DC08C53A7402D5B48C0A13C27C2481E00C1C3C760C0E1FFA3C0D5CF4F40B29F18C201EED541EEDFF9C1E29B984114A224C2CA31CDC146FF0F421FABDDC10648273F78215742DBA585C0FFB64FC1F169D9C1256995416E9AC24136193F4172351AC15DDE45C1FEAED0C1CF65F4C1515EBDC1DD96E8404CE9F5417B16A4C122BBD3412146B440E0D2AEC027D10742C930F841C5C8FA41A47C63C273A3B2C1B9504E42F555F8413C9BDE416F3F814102398841354A1042789680C16BC15E42C9605BC2ED0A34C134639641BEFAD84137AEACC1E3CF65C171CD91C149FE9141F0C8B7410F242C40DC1093414D7EFEC078CF6740AEF5F8413678A0C16357B140D1ECB5411C60E4C1F7AA32C2542998C181749441D7CF4F42EB89A541EB99BC41702548C2294EF74115FE37C257E31D41A085A7C0914010C2524F48410A2078C0ADDFF0C123ACA9C10B0084C1DC2B04C06F7D0A42E4FE36C28732BDC178C72FC236B5F9C18E099DC1E7668041EF72F64180BC8BBC5CC1DDC12B2A88C11134B4C1A50312C1AB1F1942E8C793407F1B6AC1DD95C0C11C42803FC69B6AC1D15AEE41B35725C16A53534146C391BFDCB10DC16D9036C2D1CB9C40C2D28440357D2DC17380A24172F9CF41E7533D411DF6733E8D099AC119EF36417C291642BF919342F82BB741AFFC1DC2BEB41F42963554C284790FC1871BCE40CB9454C20076DC418587B6410B86A6C1FE9B35C177CCBE41E63295419417E5BF38374BC2433E51C1416E0C4224D205424F103042A1551D41B33693C0434F1F414AFCACC1CBA8E7412F95B9C140F1023D3135663EF66FBBC1A59B03C2A41747C170EFB2C11300E64137FE08C181234A4180E1354106F0A3C15C2B91C22C53B23FFD6E314158FCB4C101050C42AAC85842BD3AB3C1ED6989C1A82F9D4141229D413DB8D54010BF76C1FDF410C2732122C1466623C178E8B540377298C105BFE2C163D7D13F97AE1BC1EC810CC1BC65AB416E92054166D158411CD111C1DCDED041E0C493C180F26541A8705742BDE1794278ED43428B16DFC0D38224C1BF4D06C0A2B34AC14E9A2B428124FDBFD477F1C1D75406415EE9B1C0FE8BC6C1556E40413F3F2540806F43C070C3DA4198C7F2C1ADBE8AC0B52B24C2ABBAD5C1A5FE17422365F14155852BC0F53B8741B1700B421A1B94BF8FA2D6C09A7BF840FDC9754032842BC1E26A4F41C570F8C1092A73423F736F4068122A42DC07ABC0179C32C2BADD93C1E160993F1FD062C0A97BD1C1AA7BCDBE91466741129314C1E4472142C553EDC01297ADBF084DE940BC1888C0CC02E4C167B536C1587CB8BD44BB1A42376D91411AAC01419F8DB1C026D686C13650713E768C9CC05A6EB641279210C2CB76C2C1F781F7C0E4CC054166F42D428DE53942AAAA0A427D352340800723C2CA60D7C159C14C41AD2E81C1ADAF38414AE384C1D937B8C0DC7154C0F7988A40EEE9B14163AF96419F72C9C0A39915C2B06192406B260BC2E0145BC1E9D759BFCC0A09C1F947DEC0C4713D4177261341DC9986C038CC9E3F8D04A4C0F61B2E40AA808C411B8B17417111004092EF7AC1CED28E3E6F5D8EC119224F407E6C893F74A80DC0758D05C042BC0841E02F14C158128C41C86BC1C13E9E2EC2DA5C8941AC3117412A2B774261079FC1017B00C20AC36DC09D0924C22A7B88C2ADE19041DE491DC1B5C749C1B3D8354211820B423034E340598DFBC0635906C13E3C23C1BCF4CCC00779B5C056B296C1A1A40CC2ED1F0BC1033BD0C065ABC2C1FAD94F4192DD32409A0C9EC1D4F58B41B6D10C42A21885C0F4DE0341C9B597C1C8363641656349C2C1A8394234364B422A1776424C144542006199C1F43D3AC2D0D6A041AB996EC18028094270653BC030B90941FF7AD3BFE84E8EBF4CBCC1C063BD7F417100D03F0BE8BB3F7B2ED6412BF62EC123275040AEC2CDC1110C07C14071A941C82F6041E9ED3F41A6449DC0136D6D41F3E71BC2A37FC7415E743F42CCD7594016418FC20F2286C2EFFF11BF2D6121424FF90142BC991942391238C163555AC1A75027C1F04423410ABB10C2F7A95C419BBDEEC0F51C0F412E5967C03F87E741D34AF2C08FDA5AC177440FC07813A2C08FFFE4C18BE3C6C0633B2EC050A9D24100F5B9412D962FC038829BC0C31FA1C05CE452C156BDEEBFABFADB40AE574E408DFCDE413C5E95C1BD62E7C0CAEA6FC210E6CF40385DFEC17EAD6BC0CE0E47C04E9975C0ADA030C1C91E6341EF6D62417CA2CBC0B2321D41E5BCE5C0A15EB3BF6BA51A413F2A6CC0F9F90D407612B83E1F4788C16DABCEC0075484415F700F41C1E57B41712023C1EE92AC4025BBB2C13E5F02422D945CC1866D8AC268E0C740E4275B42FEA121427472974144F73DC26BE28BC1ECFC8CC2BA6CD5C18CBA0C42B2B300422DCAB8C104E78B4227A4C03FD0391C41D1791040AB7F64BF1317C0C10029EF40166DBEBF4047D1C164A6C8C175C5A2C0F9BB2941BE240541F454C1C01B5082C1C15C97C1815D8B41072DA1C0A67DB241850E0942C141BDC0A522FAC1488255C215EFABC106F65641D14868C14C741F412D1D7E416FB06B4074C647427DA76DC1CAFC74C0CB6A1F410A066B40E8461041251125C1413ECAC0BE75E9C19A0C8D418E72D43FE3F45241C68D65C1858A8F41E93641C1BD323640713C25C13577983D439FB8C0D08E4F41BBE48141C23FC8C14CE2F0C034AEE14166BDDDC02418BD41A5EA0041F18E80C107BC533F397325414C7AE2402914AC4156D728C2B4A0B0C163CA8540DD89A3C11BEF55C195C49D41F7A306C1E01340C1D6F597410AB58F4194D8CE40C4CBBF3FAEA1B7BF4F4B12C1D6FD36C000EE4ABF44BD813F27BDCD401C56CB40BA230241CFA2D6C076E484417A3033C15AFAF7C16A6F1AC119A4A641021BF8411016A13FB82177C1FAE52A415A55DAC180C3BFC1801B63BEAC269EC09A2231C150FE1C425413BD40909883BFC2CDAC41E4B36D4071C81AC19F58B1C1ECB9463F1FCCCB4196E202427EB4E14071E253418F93C541B73C6241F56122C0B09361416CB183C1E91CDBC1EDAA5741A9560B411CC672C012B661C1A45E13C2B8200342651E964064418240DA3A1542FC419D40FE6BCFC151EA344110243CC28BB47341F7B5D04033DA254113CF5FC0B014D4C1ED59BC40300A204109F92742D9BBA34133F234C2565A2F42D09595C1848BFA41C23D4F4150A689C26AFD53C0D1250BC156501C3D0EAB10C2F648C9C108074FC1905F2F412AA0524023453EC136AAB041BCE36E41DF9F4C4201DC2642CD7C47C0D9EED0C1328316C2687C5EC18A88984177946CC10A172B41089DD1416A9A1741FA659DC0C9334BC2636D90C170DE9EC0C2D5044272282B42060E2442B317CD41B55EA141DFC74EC1296A5AC11824054117F7E840239D43C13A974140E12C6B414EF1A7C0951AE2409082AEC15870DDC0B31EAF41DB36DE415B7C0B4265D8F5BFB2B779C1D1C966BFDD9E47C1325E5B41B1C3414143DA56C10D21BA40130788C1C8E2164279B38CC06E2C98415C6930C2F99EB9C1DAB7F541E56391BF675861420EF51542A2077DC26AD4DBBE22BBB540B4E1E0C110F62DC18E44E63C0AD410413F050B41CE78FDC1F3E4EDC0CDF230C26C36D140A8F8A9C0CD1891411328184198D4324185021EC1BACD8D40068E55C11C7B18412ABFD2401BB4A041D5E8F9C080805A3EC6800F41BB6BCF410F5FC2410BFC0F41893B8A41659122C11036524191020242056610C1002581C0E5CBA84185A187C19F06DEC171B6A841B6777A3FBE9287C0D33C36C1CE38064278D0C2C048D89BC00D184CC27C0232BC327228C1A725A24127FCDE3FF05F48C184B8CEC06CEAA0416A7C03C1F52C4BC1D2F38740F1ECCF4185F614BF15D6DBC17A41DBC092BA2EC14A833642E9F242C129F22E42E1ABA041F2A045C10007C6BF93271A413F1621C2F89631C1ED716CC08E2402C185106EBF97A06CC1139B36C063DBB04120F456C198F93B411DC09441236F7B4038C986C1675AB7C19E0CADC1829688C06D97164107AA9740AC6C6DC0AD90F2C055BA724037EB593E51A696C00C0F8041050697C1525535C1C0504640E7760E3FDA398CC1A1BCB4C096A88DC1B52909C0AA77DC3E7BD57241EB345641810460C09B0CBDC1C45B12C16C4A8841F4E50E42594D0C4206ED4D42932532422E564DC1026294C06955E3C174404DC17C8D8441468FC1418EF9FDC1ECA6B7C0C7A3FA40DF526AC159660DC0D11E1CC0EC319C41A5572742E544CD41B75EFA418805D5C16A9DE3C00B55A540FC85EF3E1FB069410413F9408B8A3AC1EB799E4179B5B1BEB08580419DC9E2C1F91816C2219DE6C0EA90EAC15259CC41EB36F041419F564233E142C1DC1EF6C1505134C23CBC5A3FFE681A40892D0541369082BCC9A048414D8581413DB351C1FD5005C23E12FCC10C6DF2C12739B3C1D9B0E340B80CBE41A45349C1CA690C40E2E7BCC1954758C1AF0EBF40155F7D41E4E285C12D473240E8700D42F1429EC1C911F5C122C92F4276C5B441EA3ED94105C69742DD871C414739A6C0982AEBC1D80496C240EB3742670A16C2A0EAFC4050D3DCC012A407C1C4C76EC021723FC1377D7E410D9907428AC9624128C501C25C94F241378F13C25D2274C156B89DBF0CEABEC1B9B3DB407A2C0241BFC6A34128C9D5C155EE16C1AE50AAC027624F41710D1340067C6CBFF715F34127264942C2AE1A420D67C7C1201DF3C14F0202C2253F8241CF160B419A56E44056D760406A51B83F17C3DFC0DC25A3C1A2F87C41429652C18945544003AB76406FE1C9C1F54542405AABFFC11C7247C2F8A1D341998A35411A28E5C05724B1414C5123422266C74147EFB24064B884C0F8003F40AB5DD4C1A01E2DC20F69ABC1D7781DC26508E5BF1D6B3041CFB7E5C18843AC418DF24EC05DF871C1C1C7CA417892FF41AF28A83FD7CEB83F9DFACAC1CB930D424C272D4027AEAE41F579E34103EF90417F3974BFC724F8C16A98A5C1FCE4B04145AC9641BD7F5E41EAD71941115A1FC1FD5F34BF93EA84BD3EFE5BC13E230341AEC9C84103931142FD8C2A42AA9D91403FA641410FCA0DC2CEA5484115B93441BEA96540DD39B04115DE86C0E34C88C1D5FA7AC0436ADE40A76A184057B9D73F4333A1C1A22847C29B4783C092BEBF41FBF2B2C1A681B0411CFC73409C158D409CFF1842FCCE80C1ABF625C047A6C63F3E219C3E369E0CBE85D824C08D5B3F416D6460C1898102C17D1BFAC11FE63C41129EC9C19419A44123E944C1AA0D76BEAFC3F64074E969C1FD9BA140798049C049DCA340ED63C4402CD6B341F79148404372AC400ED718C103B7D3C1AB62FBC1902C81C16FC5AF410100D7414EFA773E98DEB2C10BB934401B5886C1650E2FC1E8ED9C40E81979C149F738C1D34AC5C0C0370D42986A34C13D23D64105393C422A499FBF3E01F73DA115B341EEA7FFC113C52442FD3E69BF2BE95F40774995C11A1048C14EAEA3C14711A0C002DAD2BF1F2B8E41045FCC410BD78CC01EC248C1597750C1A08BA2C1258633C1DAB10DC0CAC24D411A1BE8C005EF97C053C6C641116A1E42E3BF844186C730C098ED1ABFCD377E41B82961C15798B6C0EB510B42318F88C1AAC44142672462421C504FC1A0CCBCC01E03E940A77485401E6191C29D87B0401BA02CC1AB0B97C16C482442D81CC9409BBADD3FC6DDEC402CF594410E87B3C1709842C1231BA2C1597D344192D50942D193904070F87A407BF2174029A38740C2AF3CC174811A42D1F968C29DE2514073CAC7C02AA814C211C80242B76B5ABF07D2924294715242333472C2DE26DBC1932EEFC0B77601C2162B49C191F4A9C02F7F68402F468941DF52BD41AFCB19C26FFBD5C149CE83C1DC4A2D4137D200C20C68F04155DAA1C01668AA414EC8884146753A401258FFC101C99341E96410C0159F4AC137661C42ACF020C19072CF3F7F07B041D98C31C185974341574AF2411B140142ED9E934131DE2DC2BAD74FC2CC02EE41AD601DC2058FBB3FB7C208C21CF5EF3F1E49CA41751D0A422CBAB0BFA3AB6DC1C230BD407B5F8D416850C9C1E0AC02407A8F914152190B4061EDCC41B5CA6241FD0338C2C7A0D3C0D4F6B0C1E3D285C0C5211741F33BF4400BEA55C1DB3014C1DA90FC416CFDEC417D1C8C41BA7D2BC14A5517C1ADAC82C0243F9841424C70419419B5C17A0497413138E9C0FD27D9C0254757C1EB71FA41540AEE41DEA1FBC135A76AC1AE4E62C0001E6DC24CFE04C1C2BD134125FCF440B9A079420AC0C8C19FD9F3407E883BC1CDC1B7BFB1B614414EC99D3FB5391A42D1FC97BF35F0ABC130451AC119F09CC0B11DBEC1D41AE03FAE0B6E3DE6BE604156BB59417DDDD93F01CBE5BF2AAD7FC19733B04150956641D5BCD6C085DAD3C02C99963F74BB2AC1DCCD89C14C340EC25F3A16C26CE74C416C47D0417AE106424A72774087F362C13529D4407D336AC19C3083404A12B83F22BFE040DF0F0640812301C263321942F97E8CC1DAB96641DA085C4115CBA14136209EC1D3F9FD3EF7612EC2BE8B74411F7436C102AB64408C1D02C0182DC2BF7BDD60C18398BC3FBDD72B41E6D8DA412CA89F41C93B1142A487804126D133C12B3BAABF9EB755C13A58A03BEBA71041A761FC40240ABBC19DA6F6C1C3ED1EC2B72564418575AF41253E29C15ED68C41F5D7A6C02C496D42B7456B413B9F9D40C52C3DC220C13EC22E0A5741E0F64341E28CE5C16DFC3642D7A21141F5AE0CC1B123354126855FC1F3C997C16D5317C25EF6DBC18BD20A419A4E1DC0B8911142E71628C123F1A3C1D4D775407CF77AC1649D1E405067C0410A6C0040AAF48E41EC2836C1B35F76420BB4D9C1A47AAF41F57F3842B65E914211BBAA41769BB6C0C7D478C17D2C8341A1398ABFBF41434286CB60C1CC6126C236A4E740EC433641763E0A40E4AAC1409F905141A2111D4286AD154226C5AE41273CF84124C1F7C09AC9E041FB8152C07B3CFFC1DEE41B4293936AC1391F2BC264EF85C1E43ED1C03355124181180641AEDE8CC17C44A541BE340EC2F2B9B442244BC1C0B0BD4442D462B5C0F4314DC20EB110C1A35998BF4D974FC14B8411C2069D25C11AB8ABC0DF66DC40A88D7FC1895051C1F065BF40AC3DE1C185890A421B111B4019E7DD41F4EDFCC00781FCC18DCE2AC10F654AC1CFB7EF3EDE7899C07B461EBE491583C1BE5EF54102D41BC2C7C096C157DD57C2CED95FC03CFD46427E4F014209DF4F420081AA405E0C71C26C9A81402D8E61C0CB9883C1AB62DD41AF2AAD409D62F1407702F340710DF6C197D2B0C0B3C4B83E660EB941CC94A641174A4B4207E4ED4092581E4112D3C4C1F5AFF1C18C43584178D287409DF936C14B1B8B41B2E8E841B70291413B5ECF40466C3B4129E302C1A6AB2E422FC3024155460442537C10413B64694262C5233F5DEC01C20AB02F42E31AA1C1EC706EC272CA0F416FDB1AC18C0512415AD88AC17D008340FDB781C1CDF363C19D0F66C1104E85415C593C414315A5C05077BAC1F64D6AC15B5BCEC08C3D0A41373E9141817400C1B5879DC16C2958416E45CDC1381C6341483F9DC120265AC25D3DA0C10CDE10C27B86D7410A50F640C227DBC10B8B48417F6217C2A1F142BF79B3AB415A72B240C3DCFC40B98315405CF11BC15768CEC02993B3C1F4B405421942DCC1B02A7E41E0F38CC1A243B34025F1C841F654DE40F38B0841E8EE77C0A878AF410BAF854126BB2440C96E40C173FDACBEE125A14122D6E941A85FF541A69A4CC179648741F5C9B6C1826D4C416D0748415E715FC1035B9F41F7819340E6765DC1E2A31B408407C2405F40A8C1DD54F941F6D031426A314240AF9F7B415F805440D457EFC1B832C2C12C13DB41EE2B15411DEE04420495D63CE6384141C48A47C2BAA760C1E951E9C089F4C3419CFB2FC069C110C2CBAD73C2E1CBE8C1100AD3C190DFEAC1D5C5B74146498DC1420259416358EC41D7DDB5C1ACA8ABC1087D7C4263AD9141D4A058415692CBBF36E523C249FD6CC1DB1ACBC1AD8C12C26804EBC18DFDDAC149E1FE41C3849341869A73412B245EC07DB30CC2307A8C4189C6A2BF9255D9C0803B96C1197642C1ED659542928F584241B81140EB88A941817885C1227C48C267AA2FC29BFAF1404B56A541BB6D6C423B5780413CBF88C1F743ADC040E910C086560FC1228897417070FFC1C235CE41BFDBE7BF1E0FD93F8D87C8C17E4878411E15713F3C0AE041F570C0C1F7FB7DC1CFFE333F1E102EC1DE91FE4017648840D14A904105DCC0C1CC6029426EFF7DC1103984C173F2EDC026828F4029ACA5C29EA832400F1E0F41648D834207C27642D88180C1B8BA87C0140DABC180AE2B411F99934102028AC14F5116C1AE0AA34176D6D1C0810B154247C682C1B49F1441F9CFDBC12CB9CA41D8A6AB412DEB1741ACBB064035419A41FF0BDFC13235A1C1E2BE6040813CC341783C374100B58CC02DE60842F88952C2D232B541714E16C2E8BF2442AE63CA41476E8CC1885CD7C1F5C81F3EA9DE08C2EAB31DC2EC0B57411392E540CCD7C03F99C106C2BE4E10419F782CC26D26EEC1124C47C2D637BBC12D1B654198ECA9412F30CA40B919F040E47111C23C24AF41984FA340A21FE2C1782A4DC170F09C41C88F1FC2498585C1DE532FC1898780C0F31FAC41C72EC541187B2A41F1CE36C1DF910AC2397B8BBD9D624BC1801848C103930E423E17514149E3CABFE3DA5A401728FBC1FE01D341085FD4C198F8AA4033669BC224E1F0C0F79D94C1807AC7411DD69F41AE81DE40F24875C165CFE9404F38E141E9F64741D24DB84018B079C0CDC894415AC26241EF4237C145278E413C6EA5C1BBADA241BFCF94C1E4C3FBBFC25A72401C570EC1E0185E414E525F41BCF503C101BF234127D4D940BC46B4C1FB6DA141DBDD074207D4B841ED033C415F6C57C29EABE2C1D79F27C2A83058419DE92D423E1A2941D51B8E3C71FC5341965F76C1FDD9C140B7CF553F17C173C1162E7641E4BBEC40225D8342EE7483402255F94185185641D3CFC9C0D9F0B6C0E63ED8C056DA00C2B465A94125549A40872717C254A7A2C03261A6C1C8D648409F9FC03F5DB40FC1A3A78240366087C1264D32416B73053F3662F4409E1AE8C17FAD8AC1AC485B40E184A7C081A063C0EB1C0642003E89C119C69740AFA1A141FC441FC259E269C2719510BF3C9EF1C0A6513D42C5863642B2E30842DCE1CAC1109BD7C1B6ED07C2418A1DBED52F25C1BBEDB341CA27B0C08BE8994183E59440A09096413650CFC1603DE03F6E9F2742E07AB941A8C4CE41358016C198752E3E434DAC41F6EFE3C034AE0042091694C1B0EC32C11EF7AEC0515CDEC1A3192C41E6EF6A4194A7BF416256B6BF75F18E40CAA3DA41B20A1542D5501CC08C089EC10D9468C20878E6C025087C41EA5520BFFE4F4341AFA597C1B1F99EC1D21858417F02F6410C280BC1116399416AD174C20D740CC084D6D8C19F238841BE980EC2F9549AC1770656C10D331EC10AED31C11D279F41B9E4F341CF4CEAC02610F6C14E6AC5417497DD3FC91A4641EA36CB416214C141C6E6A43EBE4021C1CC009EC11AC47841D4A798412791574153C28A4172B3A2BFF38B06C13E8B71C1BC16DFC1964087412C15923D52B6324225AE3B426D474B428732CE41FE7918C2E08313C27D1D8E3C0BEF9C414FCC9D4197DA99400B1229416EFE50C19A20BC419AE31942D119813FDE1A5FC209A05FC224A3FA40E55C11420025EAC0E4C9474279F8D841032745414EF82141B11E674167F44BC2CF3516BFE8EC703F4C2FB3401A1A374118C10B42890828C2E55B22C257C57DC12C9E304259AA39C169FD1C421C8A99C1167C18C008DD5D417734B140357C54C1BB955E3F4417C4C14A37C7C176E7C54135BA1E4236C4574272DDAEC1523C06C23BDFD940D18C52C24551594132EC0242562A2BC238F61642B4EABEC08DD9FAC1193C95C17AF967C1CB47C8405E04AF41FF2DD3400D7219C1AE802C4125C1B0400755DE419CAEF8403E8383419C6D96417F9034C153A784C14CC1AB418D1003C2F0C196C1B1306A41B4F3D641340ACCC0AB62ECC08464FEC11DEC8B41C874E7C0A4D43FC28B9492C15E86A5BF4D538840351A7C426802C4C14A779DBFAA2EC83E65DBB43E6E088BC1B9DF684015E01B419DEF3DC16E755F403F8834C2F8CB034181AD8A41EB2646C00737C340212D8A41BB917CC1FCEFFE41C9D659C11E1D81C00AFE70C0A3AE18C20134DDC1FEC3054196D61B41689F8A4128DB09426F1EA6C14AFD704120D2E6C0D21F5CC19963ADC1515706C2C2ADAE40DD15BBC038F279C13951954178B1BC41BB9C09C19BA3BB40871F973E467CB441A9054AC217DC1EC222B696C277BB22C225D42B4130B43441553A2E414DDE7641D500DCC1B55F5241B9C2CF41EBF529C0717632424A7A78C0E4942CC1D58C73C20A86D1C04C5E184269378FC1108F3E4261FFAAC1C690A9C11AFB594254A707C242D66C41B1713B41A269504012554941B1369240E803EFC11D312141F7F82842015B1242B9FD3F425C29A1C1284CAAC107DD3BC213B80142BD1F29429565D94160A25141687C0940EC10D6C190A7E4C143F830C1B0473741A8967CC1967EDE409B0EF7C1E083DDC143075EC26C5CDD404C36BCC1264CECC145DC63C144CB4D40B14A02C201438D41DB9F4142478393C0B2F83541595FF74028941740E71253C1F06727C2A6030EC2E19359407EFA54C25A8F0B422550A9417D622A41429DF04178ECD9C15B44E4C065FC63C1A1B1DD417EF5A840F9D04AC28F981040769BE8412EEA1CC05AD72B425DC7B8C21B8CF640037CA8C29F00E5C118FA8142DEE0BD41AEA054C18AC27342F7D5F941BB4B92BE6FBA8BC1C1E77D41F41542C151DA0242759802C296B5B4C10779DBC15F6A05C26B5E63414A63F141E6AF92C11278CE413B3C99C1BF3041C115715A4153B8FA41F0056DC054BB7BC24C9AF2410828354270432C42C06F204141935FC1B3801BC2449736C2DD5D20C11B71124271A506429A214BC13C6C4E42E0B505C27A085841F78089417132A4C0F5E8F340034C60412006E7C09C58A84181410CC2CA38B9C1F56C5AC15F0D0F42D14A2642F96A424192B6E5406C2DC7C0E33C9BC1F8F73041436D7A4131EFE6402E2D23C2F1252CC2087710C25CAE01C12BD8BF41B0C7F7C0FD653A424FA0824105170741791BDB40215E86C1D8E8A1C0F1D74F4024EC93C18455864160279241B7093BC15E444CC1822E56C1DBDAE2C16F7720C2FE1EFAC1A59C1041A2AAA341F7A7BE414C0597C0C15E90C1BAED76C184F9093E464117C1D502F7C08B3D1F4254BAD5BFEF06D6412B4234C1D27C7DC1311CF8407D96A4400A59F941D53E2E42EEAC44C2068CAEC10DC86E41317709C2BC5BB4C162FE26C1D1B392C18A9574C13B6D1BC01BC52B4270C1B44147B240C1D76515C230774AC1E63E16C2991320C14EFFEEC0172031419254A3C176E9AD415BB12F41A6664DC1B4E414C278ACBEC163FEE8415538E741821687420A5BD93D90102642345A09416B45F5C1F6C337C20F3B0AC27826B7407B5D0441133125412DFDF6404FA2CA408CF955413ECF5C3FB02891C1FA1D56C19E5233C1027470411B1DD341D94A5941F42580413210844159FF1CC0AC862EC0FAE55B40FCD76DBB595296C18A634A418EC16E417C9566C174843E41C7FE65C20AE6F740C496E9416AFC8E426E2308424C948241EB7307C222AC3841F90909C16BB6BA41A2158240C620E2C009B8BB40BE0C0CC1F98E24414E8A89C1E68E004273B71FC2A16FD0C0ECE08641E0DCE3C089B1C5416BF11242909726C2FE20AA41EAF248C1370AA53FC51C9AC1B24AB9C1F4EC5CC070D53142C40EDB3F8C29E6C1281B00C2C7126AC15DF6784227ACA44199695542FB36E340222055C2D90950C1D1AC6E4100E423C27DD40DC0DE4E254213FB84412A9480C1E151C5C144691B425D39AB41FED37441C4BC9040FDE3A940354349419EBB71423DE6B7C04262BEC1FA790D412662A0417A0091C20345CBC0160216C07E87AD415BFE84409534B6C076BF34C159E256C0B6E7FAC070D6564141C10541A6263C3FA5F835C188327AC12247374180EA8CC1104D47410E30F340BA9D65C1A6DF064283F488C228C82DC13ADDE4C1DA2143C2258942C03700A6BB287B8142EEB6C74165BC38C25E31B3C199E2D4C186A659C1FFACD54127F725C1FAB7344123BB52C0D0379040153973C0A315CCC0D6E8CC41ACD66FC17EB8A3400EC0CFC1FF6290BD5F5CC64150882B41D1E68B40AA31B0BF4B6B8440FC458C404F5BFF3F25D05D41AFE9AEC090F60642F5C90E41B7444E429E1B3041694C1F4273AB42C1DB463042BAD4A5C10F167EC10DFA184213BEA8C1E53EE3C1EEF25FC0154F4240E2528AC08450A8405C5800418A672AC2D8FC5BC13B1A2AC2F894F6C1DDA940C10D6CA5BFA272A141E2DD034213BED7C1E8B16A41540F7941DBDB0741534D2C3F74A943C0919F63400140714009E91CC1FE41E2C1503AD9C02541E4C1A1F087410637C840933E9B3F704FD140D6657EC17A7AFC40B16028C1FDABAC416B500D41CC350BC29236BF4069DB1A42F67E4E42E54F024150090AC2788045C1187F11C248C35641C3A2E3419FBD47C196F81F3C3109FE41837720C2506E34C0FB7B5CC07F886F41FC4FCCC163A56BC007F82BC24034C640CE907FC1D8D2D0C0526418410C9686411D3DD13FF4EFBD417FF135C11DBC5BC1BCCAEE4197C858409422C5C0A9FD17C1DD3B26C2EACF74C1114463412D989EC142863641DD22D5407FC5634161097AC1B5FD46C1D29A1CC10C22BCC186199541E86F6E414D20743E1C8300423781244159487D41CF6F1341158F30C1E7948941B6E929C2833517C1720258C166CF2A42CB9D16427EA43FC17EDA7B41A2A245C1607D18C2C8111741AE63A4C0A5176840D0F9F9C0E94E1441D36FC34111FA8B41CA40074289A53B42E549C5400410294073E214C2E1A509C29683C441C6D3B93F3B7499C1D1214DC11ED1BCC17EA906C19E188EC142C4F241A0CDAEC1B1B33EC210BB70C2C25C5BC2EFA76CC1BCA11EC1FA0CBF3F097C2B42CE775FC26D01A641F57E2A4278F3A9BD35299641E6369641F290F2C14EF149C2BB9B3D4107660740664732418AAD4E427B8BB441EF8B30C1B68236C038E96FC2A8CD814166CBF7C08505B940608EC44109826D416203CBC18FDAFA4048BE3541962687406DA7F641DE4481C2B3DBEDC0A8F52DC2057C5140925077426766D540C499884005A8A4414390AE40A98ED0C1908337C1DF53674194F484C17CE6D140DB0459C115E09A411F3E5A41807C3542567B7EC171B353C189C11DC259FFE8BF46174040231DE9BF6294B141AC8083C135935D4148980540098B4B3F09BD3EC1582FA8C13065B3C0474511C2A57FFAC12D8648C196C594403D701A428F06B2417C368CC12E7EB4C035274641E8A8EA413E5D0CC1C683CAC1C5E19F41EEB28E41A017CFC14A67DEBF626543C2BC8835C1C5EDC5C18094D1C14224B041AEA3B041FC7853C1DB0C194263E6CB4163EA06C1CD042FC08461E3C081352D41C01ABB41C09AF8C00A678CC17F8156C266C0FBC1C798D6C1083639C00C7B99415264954113EBABC1CBBD4D41F44F2E41FB055D4112F46541A1CF99C153DED240DE5CAC3F0E6F16C1114523421A8037C1D21890C11284AFC1994693414277454242C507424F2BC140A3EABEBCCF24CBC0FBC09341EF74804085864CC222E220C0BE1B3A4225BFF740DABC1442068F30C1FC9695C1DB8843C217CE52419C5FDB41C56440427A9D8DC1839E3842AD10E9C1DFE90EC14DF36E400D918141DA0CB141E5ACD640DE6A9EC189601FC2B8F1A1C0926556C22E07E141A05DD5415EFE223F56C67241CA8141C1DF95A0C14EADB4C1C1EA044250BF524119ED1740C446FCC1D8DB14C18D0A26C253C726C284500DC20DE3F4C129C92F4203A1D141F8C13B41FCE7B2C013C7F4C1436B9041AF45D0C076DDC2418A2EB6C095FF1141F5DA15C246474BC1512CD0C17CCD1AC236BC8F41900C29C08A4C66421AEB2641703503C20B924EC1F131A4C1E5CA15415A3D0D3FF3A9A9C0E6CF46C091951C4137AE6B413E41B4C18041154195AF2CC1E7E44FC1CD7769C0FFB6044052CAA3C1A3506D41DCA140C182670641E12585C1DC74D241D9B4E74010CE2CC1E34BD6411ECD81C14E1EEF401E80CB4198E3294147D7AF4110CC10421705C1411126C541B26316C2F2CA29C2FD1505422F3300C2AD35BBC0E9A201C23244F5C02E344F41DF4B0042A93BBBC1D94B7AC1C3AAFF407B7116C0858C30C1AEA88FC16C14F4C1A1D193416A93E64109D5C240FE18E6C1B08C3342158384C17618BA3F53AE90415333214184A0AEC1C00303415527254119811A42E2E08D41D32A4D41FE7537C0BF9C49C1FE6C3CC1A29CB041626DE7C1CB0700C029892EC12135ABC16D809EC195C1AA42FB609941DAC859BFD52067C1D14007C1928A7AC2E2FDF9C1102C19C25A6CD141003B704243564BC0F0E207C036B28841DAEF5BC1BF1E8C40FF2F6140043224414D344B3FCC9B01C101312541A2431542E1800341AE5B48401ED99D4015BC8FC162680E41877AB9401AAD8EC01441B4C17714A5C0B942E541097DA5C169FC064226DD07C2120587401C3EE04105A5CD4134050DC2408F32C16A12A13F826081429B2F0E425A0002416E7D28C1CA25C6C184261B4181C6A24069C000419507B4C1D23F1EC19301FEC1E512A9C17D5CB9C1B3011DBF682B9D41BB827940D10E20C0DB20F8C001C78BC171642A41B07C2D41624203C2CD3D55C1ABAD2342AB12514103A387C1B1D022C29ECF99C2EFD42FC0C2EE4EC236D8464266EE2CC01C45DEC189294241E0C0E1C1D33C05C209A6BA41E6FF25C0A5A32B41B5868741A5FBA5C1C09E58C1CF8585410FE5034025A163C2CB26D441B0EC53C179624B3EC2F8A5419B793EC21F6F2E41495917C1F068B541D06374C0DD33B8C0F27567C177D079412E2EBA41B6782842184FE541380D6AC16E8CFF40D4A22BC22945B6C0312679416CF49CBF5E518941710D43BCDA62E3BDBFE279C1D65E0EC2C1A1FFC197CE0B42C4C81C42D8A36742C34597BE26B617C04D78B6C0064D64C2BBF451C2C2BA26C19C9B9E41B3AF79C018EFB1417D22B7415F3A49C1E194B6411F3FB23F4BD42CC0C98D27C20E7842C23A6BFF409C4135C1867512C137740BC0E4D533C161081B4271EACD41C76574C1D21BBD3F50929D419E966A410FA67C4128F0D4C170DBB241761477C2CDC69A41D7E980418A0C8141FFD86A413E7C1CC19D6966C2354D4C423F9D12C1786C42415F4984419F949F413FDB05BF253114C1FED8F0C0353C9F4155773E421A86F0BF490F92C18ABA14C28177E4C122CAA4C1C4E02341CCE7A5C049E17241CF1D5DC1A1E2714124E955C1AC07F7C127B6B8C11DF35D4118CD0C420BA9F9C09F3D5E41C421B4C0EA669042BD43A640BED84541CA1CDAC1ABC82FC2401942412C0680415364E4C15737AC40DE2C9D415D0FAA41DC47DAC19E5B13C2FAD209C08703B0C1DE0EEB4161E313C2A736C5C02D82B7C1A0797941AFEA414291A2C24139A5ADC132AAF7415EEA1040B4706140450C094121ED92C0C94AF341FA62EDC134A7204200668C40D44D664281B5B041609A6441D5DCB1C1FC1599C0AE5100C26EC4EF41F3C4BAC00193EDC141F2004197500041A53B404119EF4FC13A18AC41170E9FC19CDDE2C1B0DD47C2AC4899C1DE6D2E41214A0142EC16C53DC71A54C16BB175C110B8A64040DD6AC1FFB4D3C1279B24C1345AD041AEA7B0C1026F12C2213BF8C147920ABFC4BA8742F3D2E14190950F42A29770C1E9A53BC29CAD0541BE6BDABF4281B8C1323BCA41B99C00418E7D373E90F795C11F3817C28D8CFD41BDDE2841CACB924142881BC2A68D3F40D810FBC1761F92418B343E41B5A0E7403BFC83C1694CC0410405AB3F4E174E40E4FFAD414C17D741F9570B41C38A5EC180A4FDC18BCF5741F9124CC14033F44162103F412EC294412050A93EBFA9F8C17F82C7416E8E6EC1FCC767C13C589D41CBEA3241F4C32BC142188EC1AAAF4F416A8090C1581E3BBF165F14C2574483C0A588AFC01AC47C413B916F418FE1FFBE455C69C17F4DCA4109D714C165836AC1E0AAB1C00F1DE34060BA6AC1A09074BDD57609C1C34593C17E8C6FC2625321C1EE9399C1C3DC5BC11B837941C3DD313F3BF5A5C1500F0B40F1662C42A2FCA040B8E284C169B286410D36A1C16433CEC05D12D7C11AA91DC201999CC2C4A1B3C14EAFC640DD8A5DC1316E69411934E3BF1F27C5C133F394C0B5FE8A42971AD73F6DAC1A3EA2D306C23572D1410E31CE416506EA417125DB41864719C211735CC020707CC23F90ADC1678817429947754190301040227CD6417AC34040544933C12C08D2403A16BCC17C594D425D62BF41241D5F42CFE56E42A2214DC15AACBA3DEC3E8EC26F4860C062DC4442F2184841367216425BA22CC197D185C17DA91C40BEC57D41450092C0D09323420A5D41C1551587418CA10A426AF45241BC5534C122CD48C1D4ED1C41A8CF2742AAC402413EC50342D593C7C158CFA6C163BEB53F3A992841FF12D5C0649B2FC1A2C9A94097F5C24196D9FD4012E23641D6609541F4A890C02F7E104173AEC9C0B1DFB3C1DFD2A9404F872C418D7BF1C141E3F1C123ABA7C018603E418706DB41E117E9C05C8B914069920DC262982F42D19622C25920C64189A818BE56748DC1401B9B4138970CC1364BC3C104AD93C1B7D8633E8AC16641A1AC0F41D3285DC21AC79FC1831BA4C18C153E3FE8A200C11D471C42A74F4241F239A14053284FC1218DDDC124C161C137328341F9E1C540E6095BC0721B71C07C958C40D216F7C0974BB3C00C31A13F04B420C1DDFAA5414C8491408B1D6E41CD9720C0537E92C1A3639CC019724DC081C2B4BFEC9B0CC000AB384179369B40F6B5284077E01BC227F5B3414F1F5BC15B2A444197E645C263912842A23495C180F23741767F40C1AC6BE7C186DAA5C0E68BD341FA40BE40DF0D2740AB3335C121CE1D4173FD50C00EE818C07C198DC1657CA2C08B8AEF3F8AEB9A4053B63C419320AEC010626EC170C06140F1A84FBE2F59C9C0FDC6A941762BCD418CD8DCC0D98DD2C1205DAEC10F12D3416151B6BEE7D9F44008B186C2A570C940A82316C2C60249C1EA7FAC414FE32640A3B892C19D3D2842FE9DE341A9F58A3F3C8E58416159B33FBD7B814131F17CC05B8F1141CBC4C7413F3B99402B91D4400B4904C154A54A414A6C93418CA6CEC0B4DBB341A66950C1425B98C1AD7A8641B847D041409EC4C1DD14CAC0E7A63CBCF706F2416F0B1F42B07FA6C1EA1A9841F3BC05C273071C413E372F42EDEE91C143166541D7B99C41895FD8C1584E1DC1C1AA9940510AEAC03477F53FA8B8FF4085E70A4228DA35C1D259FD41943716C048C16A400B91B740609C82C15BD652C1D601C4BF7ED0BF401A8522C2ADC201C1F9075FC1EFB5553F3E0E96C18DB6C740EF00E4C0C6060EC23DD48E3F4ABD20C17A8F4B4183E833C11828E1C12C2A9D40DF4AE4C134B65F4114F54241453BE640D8E939C16A27DF3FFFA032C2F3D80CC14706CFC0470D98C120928B4137C6D841E9A8C241ABA056C1CCD71CC295B687C14C3A95C1DFA49B41AC3E8941035D7541C60D6F4160D7AE3EDA3DDCC1E2B82EC188F157C1CBFCF141EB35D1C14E7F1142B6CF23C14C95D940D84F874190A99BC1B4510A4189331941F2681D41C9CEB341DB3B8A405B5637C0653673C12E93344199D0F541793F0C4219CFBA4196416C429A7DDBBFAFDB44416EAABEC1489D34C2DFE20242B2E50141DA60E7C1CFB291BF3B22C8C01C626CBFD99DB2409453AA41404065C0BAE2CAC06E22CBC1CD26FDC048EF4FC1224DD33F9A6009C07BC8A540369CC1C0A161C540C21481407D090E40342898C0FB6F3941004FD3C18D6296C1306A44C1D882C5C0255AD641ABFDC141D26EDC41D7A9A6C04383E2C1BB9C57C1D06E06C0B8E5F5BF2C513D414DFFA3409C9E9C405000C4C0C883CCC01DFC29C1DDF7C9C1FEB9A34040372DC2B5B05BC1AD3D71C1C6BAFAC0679F1342FC089A41C28557C1F64EE84065E8004208124741FED58CC1764572C003F98841CC85E44143E018420BE5C74035B417421066A241907583404D17E23FE3C61CC296C59BC1EEBDC641F3BC93BF22E6CEC177D536C048475340F30F39C18064F9418537C34168589F410FBEC140AA829DC10315B8C1404CDAC18819ED407596AF41FE332341F387C34016161A3F213AA2C1364887BFF7AF4241D276984107C7BBC1A16A61C269DBE9C1A6273541F77612422012B2414585124252B637C00BE61040884DCBC0F8E4FC403876AFC1C64E9941FA53ACC0B81686C04021D4C097EBB6C0A2D163C1CA129BC1DA55B1C1150591C1396A00C29364B03F543989C14B8098414AA9E0419B35E4C11E1BE640A403F241C56993C1FA0B34C045CEDC419916D1413CFA9D418B91F83FC50BEEBF42A4D441E1240141E92B4841A98EBE41822717C20AF960C18996C0413A98F0C1FE73FFC1A7055BBF2641893F3943343F2CEA9E417D1C2541574860BF0B3C08417B766FC18E2A18C1E8664EC15524B940E6195441C9ABEE4041080B416856F1C0B77013C057B60B40850E8641127920C16723D2C141224EC1207B1441E5D3CC403CDF1DC05F985D416C1C8BC0BDCC044090644541B3A669C1114900C162B28841228243C110CC06C10AA615426A72C6C06C532FC1CF098EC112908341A310B741004CCCBF90C62E4100F15AC11B7EA0411D2F084238F39AC19FD7CA40C1736B40F60023C25B373E4013FD4CC128A95E40CFCBD2C114876F4109381FC1FA068BC173AA4AC191A57241AC299F405C3596C050EFFCC1F1BD1DC1192483C1A89B8B41C4AB5F415BFEE8C09E95D5C1E827383FF83E0CC2B79FE041F0F486C1237059C2F5CEC8C11DB104C104A3FB4011AD7BC14DE942C2A526844095D73EC2B02E0042D1C8D541"> : tensor<1x4x28x28x16xf32> - %3 = stablehlo.convolution(%0, %1) dim_numbers = [b, 0, 1, 2, f]x[0, 1, 2, i, o]->[b, 0, 1, 2, f], window = {pad = [[0, 1], [1, 1], [2, 2]], rhs_dilate = [1, 1, 2]} {batch_group_count = 1 : i64, feature_group_count = 1 : i64} : (tensor<1x4x28x28x1xf32>, tensor<2x3x3x1x16xf32>) -> tensor<1x4x28x28x16xf32> - %4 = stablehlo.custom_call @check.eq(%3, %2) : (tensor<1x4x28x28x16xf32>, tensor<1x4x28x28x16xf32>) -> tensor - return %4 : tensor - } -} - diff --git a/stablehlo/dialect/StablehloOps.td b/stablehlo/dialect/StablehloOps.td index f99e1df30b4..3a912229440 100644 --- a/stablehlo/dialect/StablehloOps.td +++ b/stablehlo/dialect/StablehloOps.td @@ -2044,10 +2044,10 @@ def StableHLO_ConvolutionOp : StableHLO_Op<"convolution", [Pure]> { pad = [[0, 0], [0, 0]], lhs_dilate = [2, 2], rhs_dilate = [1, 1], - reverse = [false, false] + reverse = [0, 0] } { - feature_group_count = 1 : i64, batch_group_count = 1 : i64, + feature_group_count = 1 : i64, precision_config = [#stablehlo, #stablehlo] } : (tensor<1x4x4x1xi64>, tensor<3x3x1x1xi64>) -> tensor<1x2x2x1xi64> diff --git a/stablehlo/dialect/TypeInference.cpp b/stablehlo/dialect/TypeInference.cpp index b4373beeaef..c5d1a33946f 100644 --- a/stablehlo/dialect/TypeInference.cpp +++ b/stablehlo/dialect/TypeInference.cpp @@ -313,18 +313,18 @@ verifyWindowAttributesAndInferWindowDimensions( " to have same dimension-size as size of window dimensions (", windowDimensions.size(), "), but got: ", attrSize, "."); }; - // convolution_c4 + // convolution_c3 if (failed(verifySize(windowStrides.size(), "window-strides"))) return failure(); - // convolution_c7 + // convolution_c6 if (failed(verifySize(lhsDilation.size(), "base-dilation factors"))) return failure(); - // convolution_c9 + // convolution_c8 if (failed(verifySize(rhsDilation.size(), "window-dilation factors"))) return failure(); - // convolution_c6 + // convolution_c5 if (failed(verifySize(padding.size(), "padding-entries"))) return failure(); - // convolution_c11 + // convolution_c10 if (failed(verifySize(windowReversal.size(), "window-reversal"))) return failure(); @@ -339,21 +339,21 @@ verifyWindowAttributesAndInferWindowDimensions( "-th window dimension, but got ", dim.size, "."); if (!windowStrides.empty()) dim.stride = windowStrides[i]; - // convolution_c5 + // convolution_c4 if (dim.stride <= 0) return emitOptionalError( loc, "expects window to have positive stride for ", i, "-th window dimension, but got ", dim.stride, "."); if (!lhsDilation.empty()) dim.baseDilation = lhsDilation[i]; - // convolution_c8 + // convolution_c7 if (dim.baseDilation <= 0) return emitOptionalError( loc, "expects window to have positive base dilation factor for ", i, "-th window dimension, but got ", dim.baseDilation, "."); if (!rhsDilation.empty()) dim.windowDilation = rhsDilation[i]; - // convolution_c10 + // convolution_c9 if (dim.windowDilation <= 0) return emitOptionalError( loc, "expects window to have positive window dilation factor for ", i, @@ -763,7 +763,7 @@ LogicalResult isSpatialDimensionsValid( int64_t outputFeatureDimension, ArrayRef outputSpatialDimensions, std::optional location) { uint64_t spatialDimNum = inputSpatialDimensions.size(); - // convolution_c19, convolution_c21 + // convolution_c18, convolution_c20 if ((spatialDimNum != kernelSpatialDimensions.size()) || (spatialDimNum != outputSpatialDimensions.size())) return emitOptionalError(location, @@ -793,7 +793,7 @@ LogicalResult isSpatialDimensionsValid( auto numDims = lhsType.cast().getRank(); const auto inRange = [numDims](int64_t i) { return 0 <= i && i < numDims; }; - // convolution_c15, convolution_c20, convolution_c22 + // convolution_c14, convolution_c19, convolution_c21 if (!llvm::all_of(inputDimNums, inRange) || !llvm::all_of(windowDimNums, inRange) || !llvm::all_of(outputDimNums, inRange)) @@ -801,17 +801,17 @@ LogicalResult isSpatialDimensionsValid( "expects input, kernel, and output " "dimension-numbers to be in-range [0, ", numDims, ")."); - // convolution_c15 + // convolution_c14 if (hasDuplicates(inputDimNums)) return emitOptionalError( location, "expects input dimension-numbers to be unique, got {", inputDimNums, "}."); - // convolution_c20 + // convolution_c19 if (hasDuplicates(windowDimNums)) return emitOptionalError( location, "expects kernel dimension-numbers to be unique, got {", windowDimNums, "}."); - // convolution_c22 + // convolution_c21 if (hasDuplicates(outputDimNums)) return emitOptionalError( location, "expects output dimension-numbers to be unique, got {", @@ -850,17 +850,17 @@ LogicalResult verifyConvolutionAttributes( location))) return failure(); - // convolution_c23 + // convolution_c22 if (featureGroupCount <= 0) return emitOptionalError( location, "expects feature_group_count to be a positive number, got ", featureGroupCount, "."); - // convolution_c24 + // convolution_c23 if (batchGroupCount <= 0) return emitOptionalError( location, "expects batch_group_count to be a positive number, got ", batchGroupCount, "."); - // convolution_c25 + // convolution_c24 if (batchGroupCount > 1 && featureGroupCount > 1) return emitOptionalError( location, @@ -878,7 +878,7 @@ LogicalResult verifyConvolutionAttributes( const int64_t kernelOutputFeatures = rankedRhsType.getShape()[kernelOutputFeatureDimension]; - // convolution_c12 + // convolution_c11 if (!isDynamicDimSize(inputBatch) && inputBatch % batchGroupCount != 0) return emitOptionalError(location, "expects input batch dimension (", inputBatch, @@ -886,14 +886,14 @@ LogicalResult verifyConvolutionAttributes( "batch_group_count. Got batch_group_count = ", batchGroupCount, "."); if (!isDynamicDimSize(inputFeatures)) { - // convolution_c13 + // convolution_c12 if (inputFeatures % featureGroupCount != 0) return emitOptionalError(location, "expects input feature dimension (", inputFeatures, ") to be a multiple of feature_group_count. Got " "feature_group_count = ", featureGroupCount, "."); - // convolution_c16 + // convolution_c15 if (!isDynamicDimSize(kernelInputFeatures) && inputFeatures / featureGroupCount != kernelInputFeatures) return emitOptionalError( @@ -904,14 +904,14 @@ LogicalResult verifyConvolutionAttributes( "). Got feature_group_count = ", featureGroupCount, "."); } if (!isDynamicDimSize(kernelOutputFeatures)) { - // convolution_c17 + // convolution_c16 if (kernelOutputFeatures % batchGroupCount != 0) return emitOptionalError( location, "expects output feature dimension size (", kernelOutputFeatures, ") to be a multiple of batch_group_count. Got batch_group_count = ", batchGroupCount, "."); - // convolution_c18 + // convolution_c17 if (kernelOutputFeatures % featureGroupCount != 0) return emitOptionalError(location, "expects kernel output feature dimension (", @@ -921,7 +921,7 @@ LogicalResult verifyConvolutionAttributes( featureGroupCount, "."); } - // convolution_c26 + // convolution_c25 if (failed(verifyPrecisionConfig(location, precisionConfig))) return failure(); @@ -1700,7 +1700,6 @@ LogicalResult inferConvertOp( return success(); } -// TODO(b/232574102): Verify the element-type of return-value. LogicalResult inferConvolutionOp( std::optional location, Type lhsType, Type rhsType, std::optional windowStrides, @@ -1723,20 +1722,20 @@ LogicalResult inferConvolutionOp( return success(); } - // convolution_c1 + // convolution_c14 int numDims = rankedLhsType.getRank(); if (numDims < 2) return emitOptionalError( location, "expects convolution arguments to have >= 2 dimensions. Got: ", rankedLhsType, " and ", rankedRhsType, "."); - // convolution_c2 + // convolution_c1 if (numDims != rankedRhsType.getRank()) return emitOptionalError(location, "expects convolution arguments to have same " "number of dimensions. Got: ", rankedLhsType, " and ", rankedRhsType, "."); - // convolution_c3 + // convolution_c2 if (!isCompatibleForHloTypeInference(rankedLhsType.getElementType(), rankedRhsType.getElementType())) return emitOptionalError( @@ -1752,7 +1751,7 @@ LogicalResult inferConvolutionOp( outputSpatialDimensions, featureGroupCount, batchGroupCount, precisionConfig))) return failure(); - // convolution_c14 + // convolution_c13 if ((size_t)numDims != inputSpatialDimensions.size() + 2) return emitOptionalError(location, "expects convolution arguments to have ", inputSpatialDimensions.size() + 2, @@ -1762,7 +1761,7 @@ LogicalResult inferConvolutionOp( for (size_t i = 0; i < windowDimensions.size(); i++) windowDimensions[i] = rankedRhsType.getShape()[kernelSpatialDimensions[i]]; - // convolution_c6, convolution_i4 + // convolution_c5, convolution_i4 auto paddingOrErr = convertPaddingAttribute(padding, location); if (failed(paddingOrErr)) return failure(); @@ -1788,10 +1787,9 @@ LogicalResult inferConvolutionOp( *rhsDilationOrErr, *windowReversalOrErr, location); if (failed(windowOrErr)) return failure(); + // convolution_c26 SmallVector outputDimensions(rankedLhsType.getShape().size(), ShapedType::kDynamic); - - // Infer the output spatial dimensions. auto numSpatialDims = inputSpatialDimensions.size(); SmallVector inputSpatialDimVals(numSpatialDims); for (int64_t i = 0; i < static_cast(numSpatialDims); ++i) @@ -1803,7 +1801,6 @@ LogicalResult inferConvolutionOp( for (int64_t i = 0; i < static_cast(windowOrErr->size()); ++i) outputDimensions[outputSpatialDimensions[i]] = windowOutputShape[i]; - // Infer the output-batch-dimension and output-feature-dimension. const int64_t inputBatch = rankedLhsType.getShape()[inputBatchDimension]; const int64_t kernelOutputFeatures = rankedRhsType.getShape()[kernelOutputFeatureDimension]; @@ -3256,7 +3253,7 @@ LogicalResult verifyConvolutionOp( auto inferredShape = inferredReturnShapes[0]; auto shapedResultType = resultType.dyn_cast(); - // convolution_c27 + // convolution_c26 if (inferredShape.hasRank() && shapedResultType.hasRank() && failed(verifyCompatibleShape(inferredShape.getDims(), shapedResultType.getShape()))) diff --git a/stablehlo/dialect/TypeInference.h b/stablehlo/dialect/TypeInference.h index 3c8a8a39af7..5b22fcdd021 100644 --- a/stablehlo/dialect/TypeInference.h +++ b/stablehlo/dialect/TypeInference.h @@ -43,6 +43,11 @@ void reifyGatherDimSizes(int64_t resultRank, ArrayRef startIndexMap, int64_t indexVectorDim, SmallVectorImpl& shape); +// Convert a Nx2 dense int64 padding attribute to a list of tuples. +FailureOr>> convertPaddingAttribute( + std::optional optionalAttr, + std::optional loc); + // Convert a 1D dense bool attribute to a list of values. FailureOr> convertWindowReversalAttribute( std::optional optionalAttr, std::optional loc, diff --git a/stablehlo/reference/Ops.cpp b/stablehlo/reference/Ops.cpp index 81e21ac9aaa..6a871f65907 100644 --- a/stablehlo/reference/Ops.cpp +++ b/stablehlo/reference/Ops.cpp @@ -20,6 +20,7 @@ limitations under the License. #include "llvm/Support/Errc.h" #include "llvm/Support/Error.h" #include "mlir/Dialect/Func/IR/FuncOps.h" +#include "mlir/IR/BuiltinAttributes.h" #include "mlir/IR/BuiltinTypes.h" #include "mlir/Support/DebugStringHelper.h" #include "stablehlo/dialect/TypeInference.h" @@ -38,6 +39,71 @@ Index evalIndices(ArrayRef runtimeIndices) { return index; } +SmallVector extractElements(ArrayRef arr, + ArrayRef indices) { + SmallVector elements; + for (auto index : indices) elements.push_back(arr[index]); + return elements; +} + +template +DenseIntElementsAttr getDenseIntElementsAttr(SmallVector shape, + Type elementType, T values) { + return DenseIntElementsAttr::get(RankedTensorType::get(shape, elementType), + values); +} + +SmallVector split(const Tensor &input, int64_t groupSize, + Axis splitDimension, MLIRContext *context) { + Builder builder = mlir::Builder(context); + auto i64Type = builder.getI64Type(); + + auto getScalarTensor = [&](auto value) { + return makeTensor( + DenseElementsAttr::get(RankedTensorType::get({}, i64Type), value)); + }; + auto splitInputShape = SmallVector(input.getShape()); + splitInputShape[splitDimension] /= groupSize; + + auto splitInputType = + RankedTensorType::get(splitInputShape, input.getElementType()); + SmallVector splitResults; + for (auto idx = 0; idx < groupSize; ++idx) { + SmallVector inputStartIndices(input.getRank(), getScalarTensor(0L)); + inputStartIndices[splitDimension] = + getScalarTensor(idx * splitInputShape[splitDimension]); + Sizes strides(input.getRank(), 1); + auto resultTensor = + evalDynamicSliceOp(input, inputStartIndices, strides, splitInputType); + splitResults.push_back(resultTensor); + } + return splitResults; +} + +Tensor getZeroScalarTensor(Type elementType) { + Tensor tensor; + if (isSupportedIntegerType(elementType)) { + tensor = makeTensor( + DenseElementsAttr::get(RankedTensorType::get({}, elementType), + Element(elementType, 0L).getIntegerValue())); + } else if (isSupportedBooleanType(elementType)) { + tensor = makeTensor( + DenseElementsAttr::get(RankedTensorType::get({}, elementType), false)); + } else if (isSupportedFloatType(elementType)) { + tensor = makeTensor( + DenseElementsAttr::get(RankedTensorType::get({}, elementType), + Element(elementType, 0.0).getFloatValue())); + } else if (isSupportedComplexType(elementType)) { + tensor = makeTensor(DenseElementsAttr::get( + RankedTensorType::get({}, elementType), + Element(elementType, std::complex(0.0)).getComplexValue())); + } else { + report_fatal_error(invalidArgument("Unsupported element type: %s", + debugString(elementType).c_str())); + } + return tensor; +} + } // namespace Tensor evalAbsOp(const Tensor &operand, TensorType resultType) { @@ -146,50 +212,27 @@ Tensor evalConvolutionOp( int64_t batchGroupCount, TensorType resultType) { Tensor result(resultType); + // This check is necessary here as we are not looping over result tensor but + // instead creating iterators using output spatial dimension size, which may + // fail if the dimension size is zero. if (resultType.getNumElements() == 0) return result; Builder builder = mlir::Builder(resultType.getContext()); Type i64Type = builder.getI64Type(); Type i1Type = builder.getI1Type(); - auto split = [&](Tensor input, int64_t groupSize, Axis splitDimension) { - auto getScalarTensor = [&](auto value) { - return makeTensor( - DenseElementsAttr::get(RankedTensorType::get({}, i64Type), value)); - }; - auto splitInputShape = SmallVector(input.getShape()); - splitInputShape[splitDimension] /= groupSize; - - auto splitInputType = - RankedTensorType::get(splitInputShape, input.getElementType()); - SmallVector splitResults; - for (auto idx = 0; idx < groupSize; ++idx) { - SmallVector inputStartIndices(input.getRank(), - getScalarTensor(0L)); - inputStartIndices[splitDimension] = - getScalarTensor(idx * splitInputShape[splitDimension]); - Sizes strides(input.getRank(), 1); - auto resultTensor = - evalDynamicSliceOp(input, inputStartIndices, strides, splitInputType); - splitResults.push_back(resultTensor); - } - return splitResults; - }; - auto flattenPadding = [&](SmallVector> padding) { - SmallVector vector; - for (auto pair : padding) vector.append(pair.begin(), pair.end()); - return vector; - }; - auto getDenseIntElementsAttr = [](SmallVector shape, - Type elementType, auto value) { - return DenseIntElementsAttr::get(RankedTensorType::get(shape, elementType), - value); + auto flattenPadding = [&](auto padding) { + SmallVector paddingVector; + for (auto pair : padding) paddingVector.append(pair.begin(), pair.end()); + return paddingVector; }; if (featureGroupCount > 1) { auto flatPadding = flattenPadding(padding); - auto lhses = split(lhs, featureGroupCount, inputFeatureDimension); - auto rhses = split(rhs, featureGroupCount, kernelOutputFeatureDimension); + auto lhses = split(lhs, featureGroupCount, inputFeatureDimension, + resultType.getContext()); + auto rhses = split(rhs, featureGroupCount, kernelOutputFeatureDimension, + resultType.getContext()); SmallVector paddingShape{static_cast(padding.size()), 2}; SmallVector results; for (auto [left, right] : llvm::zip(lhses, rhses)) { @@ -232,10 +275,13 @@ Tensor evalConvolutionOp( results.push_back(convolutionResult); } return evalConcatenateOp(results, outputFeatureDimension, result.getType()); - } else if (batchGroupCount > 1) { + } + if (batchGroupCount > 1) { auto flatPadding = flattenPadding(padding); - auto lhses = split(lhs, batchGroupCount, inputBatchDimension); - auto rhses = split(rhs, batchGroupCount, kernelOutputFeatureDimension); + auto lhses = split(lhs, batchGroupCount, inputBatchDimension, + resultType.getContext()); + auto rhses = split(rhs, batchGroupCount, kernelOutputFeatureDimension, + resultType.getContext()); SmallVector paddingShape{static_cast(padding.size()), 2}; SmallVector results; for (auto [left, right] : llvm::zip(lhses, rhses)) { @@ -278,196 +324,165 @@ Tensor evalConvolutionOp( results.push_back(convolutionResult); } return evalConcatenateOp(results, outputFeatureDimension, result.getType()); - } else { - auto lhsShape = [&](auto n, auto hw, auto c) { - SmallVector permInput; - permInput.push_back(n); - permInput.append(hw.begin(), hw.end()); - permInput.push_back(c); - SmallVector permDims; - permDims.push_back(inputBatchDimension); - permDims.append(inputSpatialDimensions.begin(), - inputSpatialDimensions.end()); - permDims.push_back(inputFeatureDimension); - SmallVector permOutput(permDims.size()); - for (auto [idx, dim] : llvm::enumerate(permDims)) - permOutput[dim] = permInput[idx]; - return permOutput; - }; - auto lhsShapePadding = [&](auto n, auto hw, auto c) { - SmallVector> permInput; - permInput.push_back(n); - permInput.append(hw.begin(), hw.end()); - permInput.push_back(c); - SmallVector permDims; - permDims.push_back(inputBatchDimension); - permDims.append(inputSpatialDimensions.begin(), - inputSpatialDimensions.end()); - permDims.push_back(inputFeatureDimension); - SmallVector> permOutput(permDims.size()); - for (auto [idx, dim] : llvm::enumerate(permDims)) - permOutput[dim] = permInput[idx]; - return permOutput; - }; - auto extractElements = [&](ArrayRef arr, - ArrayRef indices) { - SmallVector elements; - for (auto index : indices) elements.push_back(arr[index]); - return Sizes(elements); - }; - auto lhsWindowDimensions = - lhsShape(lhs.getShape()[inputBatchDimension], - extractElements(rhs.getShape(), kernelSpatialDimensions), - lhs.getShape()[inputFeatureDimension]); - auto lhsWindowStrides = lhsShape(1, windowStrides, 1); - auto lhsPadding = lhsShapePadding(SmallVector(2, 0), padding, - SmallVector(2, 0)); - SmallVector padDilations; - for (auto dilation : lhsDilation) padDilations.push_back(dilation - 1); - auto lhsBaseDilations = lhsShape(0, padDilations, 0); - auto lhsWindowDilations = lhsShape(1, rhsDilation, 1); - - auto outputSpacialIndexIt = IndexSpaceIterator( - extractElements(result.getShape(), outputSpatialDimensions), - Index(outputSpatialDimensions.size())); - - auto outputSpacialIndexItEnd = IndexSpaceIterator( - extractElements(result.getShape(), outputSpatialDimensions), - std::nullopt); - auto resultElementType = result.getElementType(); - for (; outputSpacialIndexIt != outputSpacialIndexItEnd; - ++outputSpacialIndexIt) { - SmallVector lhsPaddingLow; - SmallVector lhsPaddingHigh; - for (auto paddingPair : lhsPadding) { - lhsPaddingLow.push_back(paddingPair[0]); - lhsPaddingHigh.push_back(paddingPair[1]); - } - SmallVector inferredPadType; - auto padStatus = hlo::inferPadOp( - {}, lhs.getType(), RankedTensorType::get({}, resultElementType), - getDenseIntElementsAttr({static_cast(lhsPaddingLow.size())}, - i64Type, lhsPaddingLow), - getDenseIntElementsAttr({static_cast(lhsPaddingHigh.size())}, - i64Type, lhsPaddingHigh), - getDenseIntElementsAttr( - {static_cast(lhsBaseDilations.size())}, i64Type, - llvm::to_vector(lhsBaseDilations)), - inferredPadType); - if (failed(padStatus)) - report_fatal_error( - invalidArgument("Could not infer PadOp's return type")); - - Tensor paddingValue; - if (isSupportedIntegerType(resultElementType)) { - paddingValue = makeTensor(DenseElementsAttr::get( - RankedTensorType::get({}, resultElementType), - Element(resultElementType, 0L).getIntegerValue())); - } else if (isSupportedBooleanType(resultElementType)) { - paddingValue = makeTensor(DenseElementsAttr::get( - RankedTensorType::get({}, resultElementType), false)); - } else if (isSupportedFloatType(resultElementType)) { - paddingValue = makeTensor(DenseElementsAttr::get( - RankedTensorType::get({}, resultElementType), - Element(resultElementType, 0.0).getFloatValue())); - } else if (isSupportedComplexType(resultElementType)) { - paddingValue = makeTensor(DenseElementsAttr::get( - RankedTensorType::get({}, resultElementType), - Element(resultElementType, std::complex(0.0)) - .getComplexValue())); - } - auto paddedLhs = evalPadOp(lhs, paddingValue, Sizes(lhsPaddingLow), - Sizes(lhsBaseDilations), - inferredPadType[0].cast()); - SmallVector lhsWindowStart; - for (auto [i, offset] : - llvm::enumerate(lhsShape(0, *outputSpacialIndexIt, 0))) { - lhsWindowStart.push_back(lhsWindowStrides[i] * offset); - } - SmallVector limitIndices; - int64_t i = 0; - for (auto [startIndex, offset] : - llvm::zip(lhsWindowStart, - Sizes(lhsWindowDimensions) * Sizes(lhsWindowDilations))) { - limitIndices.push_back( - std::min(startIndex + offset, paddedLhs.getShape()[i++])); - } - SmallVector inferredSliceType; - auto sliceStatus = hlo::inferSliceOp( - {}, paddedLhs.getType(), - getDenseIntElementsAttr({static_cast(lhsWindowStart.size())}, - i64Type, llvm::to_vector(lhsWindowStart)), - getDenseIntElementsAttr({static_cast(lhsWindowStart.size())}, - i64Type, llvm::to_vector(limitIndices)), - getDenseIntElementsAttr({static_cast(lhsWindowStart.size())}, - i64Type, llvm::to_vector(lhsWindowDilations)), - inferredSliceType); - if (failed(sliceStatus)) - report_fatal_error( - invalidArgument("Could not infer SliceOp's return type")); - - auto lhsWindow = evalSliceOp(paddedLhs, Sizes(lhsWindowStart), - Sizes(lhsWindowDilations), - inferredSliceType[0].cast()); - - SmallVector reverseDims; - for (auto [i, isReverse] : llvm::enumerate(windowReversal)) - if (isReverse) reverseDims.push_back(inputSpatialDimensions[i]); - auto reversedLhsWindow = - evalReverseOp(lhsWindow, Axes(reverseDims), lhsWindow.getType()); - auto lhsContractingDimensions = llvm::to_vector(inputSpatialDimensions); - lhsContractingDimensions.push_back( - static_cast(inputFeatureDimension)); - auto rhsContractingDimensions = llvm::to_vector(kernelSpatialDimensions); - rhsContractingDimensions.push_back( - static_cast(kernelInputFeatureDimension)); - SmallVector inferredDotGeneralType; - auto dotGeneralStatus = hlo::inferDotGeneralOp( - /*location=*/{}, reversedLhsWindow.getType(), rhs.getType(), - /*lhsBatchingDimensions=*/{}, /*rhsBatchingDimensions*/ {}, - lhsContractingDimensions, rhsContractingDimensions, - /*precisionConfig=*/{}, inferredDotGeneralType); - if (failed(dotGeneralStatus)) - report_fatal_error( - invalidArgument("Could not infer DotGeneralOp's return type")); - - auto dotProduct = evalDotGeneralOp( - reversedLhsWindow, rhs, /*lhsBatchingDimensions=*/{}, - /*rhsBatchingDimensions=*/{}, Axes(lhsContractingDimensions), - Axes(rhsContractingDimensions), - RankedTensorType::get(inferredDotGeneralType[0].getDims(), - reversedLhsWindow.getElementType()) - .cast()); - - auto resultShape = [&](auto it) { - SmallVector resultIndex; - int64_t outputSpacialIndexItIdx = 0; - int64_t indexer = 0; - for (auto i = 0; i < result.getRank(); ++i) { - if (llvm::find(outputSpatialDimensions, i) == - outputSpatialDimensions.end()) - resultIndex.push_back((*it)[indexer++]); - else - resultIndex.push_back( - (*outputSpacialIndexIt)[outputSpacialIndexItIdx++]); - } - return resultIndex; - }; + } + auto lhsShape = [&](auto n, auto hw, auto c) { + SmallVector permInput; + permInput.push_back(n); + permInput.append(hw.begin(), hw.end()); + permInput.push_back(c); + SmallVector permDims; + permDims.push_back(inputBatchDimension); + permDims.append(inputSpatialDimensions.begin(), + inputSpatialDimensions.end()); + permDims.push_back(inputFeatureDimension); + SmallVector permOutput(permDims.size()); + for (auto [idx, dim] : llvm::enumerate(permDims)) + permOutput[dim] = permInput[idx]; + return permOutput; + }; + auto lhsShapePadding = [&](auto n, auto hw, auto c) { + SmallVector> permInput; + permInput.push_back(n); + permInput.append(hw.begin(), hw.end()); + permInput.push_back(c); + SmallVector permDims; + permDims.push_back(inputBatchDimension); + permDims.append(inputSpatialDimensions.begin(), + inputSpatialDimensions.end()); + permDims.push_back(inputFeatureDimension); + SmallVector> permOutput(permDims.size()); + for (auto [idx, dim] : llvm::enumerate(permDims)) + permOutput[dim] = permInput[idx]; + return permOutput; + }; - SmallVector resultOffset; - for (auto i = 0; i < result.getRank(); ++i) + auto lhsWindowDimensions = + lhsShape(lhs.getShape()[inputBatchDimension], + extractElements(rhs.getShape(), kernelSpatialDimensions), + lhs.getShape()[inputFeatureDimension]); + auto lhsWindowStrides = lhsShape(1, windowStrides, 1); + auto lhsPadding = lhsShapePadding(SmallVector(2, 0), padding, + SmallVector(2, 0)); + auto lhsBaseDilations = lhsShape(0, Sizes(lhsDilation) - 1, 0); + auto lhsWindowDilations = lhsShape(1, rhsDilation, 1); + + auto outputSpacialIndexIt = IndexSpaceIterator( + Sizes(extractElements(result.getShape(), outputSpatialDimensions)), + Index(outputSpatialDimensions.size())); + + auto outputSpacialIndexItEnd = IndexSpaceIterator( + Sizes(extractElements(result.getShape(), outputSpatialDimensions)), + std::nullopt); + auto resultElementType = result.getElementType(); + for (; outputSpacialIndexIt != outputSpacialIndexItEnd; + ++outputSpacialIndexIt) { + SmallVector lhsPaddingLow; + SmallVector lhsPaddingHigh; + for (auto paddingPair : lhsPadding) { + lhsPaddingLow.push_back(paddingPair[0]); + lhsPaddingHigh.push_back(paddingPair[1]); + } + SmallVector inferredPadType; + auto padStatus = hlo::inferPadOp( + {}, lhs.getType(), RankedTensorType::get({}, resultElementType), + getDenseIntElementsAttr({static_cast(lhsPaddingLow.size())}, + i64Type, lhsPaddingLow), + getDenseIntElementsAttr({static_cast(lhsPaddingHigh.size())}, + i64Type, lhsPaddingHigh), + getDenseIntElementsAttr({static_cast(lhsBaseDilations.size())}, + i64Type, llvm::to_vector(lhsBaseDilations)), + inferredPadType); + if (failed(padStatus)) + report_fatal_error( + invalidArgument("Could not infer PadOp's return type")); + auto paddedLhs = evalPadOp(lhs, getZeroScalarTensor(resultElementType), + Sizes(lhsPaddingLow), Sizes(lhsBaseDilations), + inferredPadType[0].cast()); + + SmallVector lhsWindowStart; + for (auto [i, offset] : + llvm::enumerate(lhsShape(0, *outputSpacialIndexIt, 0))) + lhsWindowStart.push_back(lhsWindowStrides[i] * offset); + SmallVector limitIndices; + for (size_t i = 0; i < lhsWindowStart.size(); ++i) + limitIndices.push_back(std::min( + lhsWindowStart[i] + lhsWindowDimensions[i] * lhsWindowDilations[i], + paddedLhs.getShape()[i])); + SmallVector inferredSliceType; + auto sliceStatus = hlo::inferSliceOp( + {}, paddedLhs.getType(), + getDenseIntElementsAttr({static_cast(lhsWindowStart.size())}, + i64Type, llvm::to_vector(lhsWindowStart)), + getDenseIntElementsAttr({static_cast(lhsWindowStart.size())}, + i64Type, llvm::to_vector(limitIndices)), + getDenseIntElementsAttr({static_cast(lhsWindowStart.size())}, + i64Type, llvm::to_vector(lhsWindowDilations)), + inferredSliceType); + if (failed(sliceStatus)) + report_fatal_error( + invalidArgument("Could not infer SliceOp's return type")); + + auto lhsWindow = + evalSliceOp(paddedLhs, Sizes(lhsWindowStart), Sizes(lhsWindowDilations), + inferredSliceType[0].cast()); + SmallVector reverseDims; + for (auto [i, isReverse] : llvm::enumerate(windowReversal)) + if (isReverse) reverseDims.push_back(inputSpatialDimensions[i]); + auto reversedLhsWindow = + evalReverseOp(lhsWindow, Axes(reverseDims), lhsWindow.getType()); + + auto lhsContractingDimensions = llvm::to_vector(inputSpatialDimensions); + lhsContractingDimensions.push_back( + static_cast(inputFeatureDimension)); + auto rhsContractingDimensions = llvm::to_vector(kernelSpatialDimensions); + rhsContractingDimensions.push_back( + static_cast(kernelInputFeatureDimension)); + SmallVector inferredDotGeneralType; + auto dotGeneralStatus = hlo::inferDotGeneralOp( + /*location=*/{}, reversedLhsWindow.getType(), rhs.getType(), + /*lhsBatchingDimensions=*/{}, /*rhsBatchingDimensions*/ {}, + lhsContractingDimensions, rhsContractingDimensions, + /*precisionConfig=*/{}, inferredDotGeneralType); + if (failed(dotGeneralStatus)) + report_fatal_error( + invalidArgument("Could not infer DotGeneralOp's return type")); + + auto dotProduct = evalDotGeneralOp( + reversedLhsWindow, rhs, /*lhsBatchingDimensions=*/{}, + /*rhsBatchingDimensions=*/{}, Axes(lhsContractingDimensions), + Axes(rhsContractingDimensions), + RankedTensorType::get(inferredDotGeneralType[0].getDims(), + reversedLhsWindow.getElementType()) + .cast()); + + auto resultShape = [&](auto it) { + SmallVector resultIndex; + int64_t outputSpacialIndexItIdx = 0; + int64_t indexer = 0; + for (auto i = 0; i < result.getRank(); ++i) { if (llvm::find(outputSpatialDimensions, i) == outputSpatialDimensions.end()) - resultOffset.push_back(result.getShape()[i]); - - auto resultOffsetIt = - IndexSpaceIterator(Sizes(resultOffset), Index(resultOffset.size())); - for (auto dotProductIt = dotProduct.index_begin(); - dotProductIt != dotProduct.index_end(); - ++dotProductIt, ++resultOffsetIt) { - auto resultIndex = resultShape(resultOffsetIt); - result.set(Index(resultIndex), dotProduct.get(*dotProductIt)); + resultIndex.push_back((*it)[indexer++]); + else + resultIndex.push_back( + (*outputSpacialIndexIt)[outputSpacialIndexItIdx++]); } + return resultIndex; + }; + + SmallVector resultOffset; + for (auto i = 0; i < result.getRank(); ++i) + if (llvm::find(outputSpatialDimensions, i) == + outputSpatialDimensions.end()) + resultOffset.push_back(result.getShape()[i]); + + auto resultOffsetIt = + IndexSpaceIterator(Sizes(resultOffset), Index(resultOffset.size())); + for (auto dotProductIt = dotProduct.index_begin(); + dotProductIt != dotProduct.index_end(); + ++dotProductIt, ++resultOffsetIt) { + auto resultIndex = resultShape(resultOffsetIt); + result.set(Index(resultIndex), dotProduct.get(*dotProductIt)); } } return result; @@ -926,10 +941,14 @@ SmallVector eval( windowStrides = llvm::to_vector( convolutionOp.getWindowStridesAttr().getValues()); if (convolutionOp.getPadding().has_value()) { - auto paddingIt = - (*convolutionOp.getPadding()).getValues().begin(); - for (auto i = 0; i < rank - 2; ++i) - for (auto j = 0; j < 2; ++j, ++paddingIt) padding[i][j] = *paddingIt; + auto paddingOrErr = + hlo::convertPaddingAttribute(convolutionOp.getPadding(), {}); + if (failed(paddingOrErr)) + report_fatal_error(invalidArgument("Invalid padding format found.")); + for (auto i = 0; i < rank - 2; ++i) { + padding[i][0] = (*paddingOrErr)[i].first; + padding[i][1] = (*paddingOrErr)[i].second; + } } if (convolutionOp.getLhsDilation().has_value()) lhsDilation = llvm::to_vector( @@ -941,35 +960,22 @@ SmallVector eval( windowReversal = llvm::to_vector( convolutionOp.getWindowReversalAttr().getValues()); - Axis inputBatchDimension = - convolutionOp.getDimensionNumbers().getInputBatchDimension(); - Axis inputFeatureDimension = - convolutionOp.getDimensionNumbers().getInputFeatureDimension(); - Axes inputSpatialDimensions = - Axes(convolutionOp.getDimensionNumbers().getInputSpatialDimensions()); - Axis kernelInputFeatureDimension = - convolutionOp.getDimensionNumbers().getKernelInputFeatureDimension(); - Axis kernelOutputFeatureDimension = - convolutionOp.getDimensionNumbers().getKernelOutputFeatureDimension(); - Axes kernelSpatialDimensions = Axes( - convolutionOp.getDimensionNumbers().getKernelSpatialDimensions()); - Axis outputBatchDimension = - convolutionOp.getDimensionNumbers().getOutputBatchDimension(); - Axis outputFeatureDimension = - convolutionOp.getDimensionNumbers().getOutputFeatureDimension(); - Axes outputSpatialDimensions = Axes( - convolutionOp.getDimensionNumbers().getOutputSpatialDimensions()); - int64_t featureGroupCount = convolutionOp.getFeatureGroupCount(); - int64_t batchGroupCount = convolutionOp.getBatchGroupCount(); - Tensor runtimeResult = evalConvolutionOp( runtimeLhs, runtimeRhs, windowStrides, padding, lhsDilation, - rhsDilation, windowReversal, inputBatchDimension, - inputFeatureDimension, inputSpatialDimensions, - kernelInputFeatureDimension, kernelOutputFeatureDimension, - kernelSpatialDimensions, outputBatchDimension, outputFeatureDimension, - outputSpatialDimensions, featureGroupCount, batchGroupCount, - convolutionOp.getType()); + rhsDilation, windowReversal, + convolutionOp.getDimensionNumbers().getInputBatchDimension(), + convolutionOp.getDimensionNumbers().getInputFeatureDimension(), + Axes(convolutionOp.getDimensionNumbers().getInputSpatialDimensions()), + convolutionOp.getDimensionNumbers().getKernelInputFeatureDimension(), + convolutionOp.getDimensionNumbers().getKernelOutputFeatureDimension(), + Axes( + convolutionOp.getDimensionNumbers().getKernelSpatialDimensions()), + convolutionOp.getDimensionNumbers().getOutputBatchDimension(), + convolutionOp.getDimensionNumbers().getOutputFeatureDimension(), + Axes( + convolutionOp.getDimensionNumbers().getOutputSpatialDimensions()), + convolutionOp.getFeatureGroupCount(), + convolutionOp.getBatchGroupCount(), convolutionOp.getType()); scope.add(op.getResults(), {runtimeResult}); } else if (auto cosineOp = dyn_cast(op)) { Tensor runtimeOperand = scope.find(cosineOp.getOperand()); diff --git a/stablehlo/tests/interpret_convolution.mlir b/stablehlo/tests/interpret_convolution.mlir index 8d7f8aa4e27..b5d0e327358 100644 --- a/stablehlo/tests/interpret_convolution.mlir +++ b/stablehlo/tests/interpret_convolution.mlir @@ -1,32 +1,21 @@ // RUN: stablehlo-translate --interpret -split-input-file %s -func.func @convolution() { +func.func @convolution_op_test_si64() { %lhs = stablehlo.constant dense<[[ [[1], [2], [5], [6]], [[3], [4], [7], [8]], [[10], [11], [14], [15]], [[12], [13], [16], [17]] ]]> : tensor<1x4x4x1xi64> - %rhs = stablehlo.constant dense<[[[[1]], - [[1]], - [[1]]], - [[[1]], - [[1]], - [[1]]], - [[[1]], - [[1]], - [[1]]]]> : tensor<3x3x1x1xi64> + %rhs = stablehlo.constant dense<1> : tensor<3x3x1x1xi64> %result = stablehlo.convolution(%lhs, %rhs) dim_numbers = [b, 0, 1, f]x[0, 1, i, o]->[b, 0, 1, f], window = { stride = [4, 4], - pad = [[0, 0], [0, 0]], - lhs_dilate = [2, 2], - rhs_dilate = [1, 1], - reverse = [false, false] + lhs_dilate = [2, 2] } { - feature_group_count = 1 : i64, batch_group_count = 1 : i64, + feature_group_count = 1 : i64, precision_config = [#stablehlo, #stablehlo] } : (tensor<1x4x4x1xi64>, tensor<3x3x1x1xi64>) -> tensor<1x2x2x1xi64> @@ -36,3 +25,55 @@ func.func @convolution() { ]]> : tensor<1x2x2x1xi64> func.return } + +// ----- + +func.func @convolution_batch_group_count_4() { + %lhs = stablehlo.constant dense<[[ + [[1], [2], [5], [6]], + [[3], [4], [7], [8]], + [[10], [11], [14], [15]], + [[12], [13], [16], [17]] + ]]> : tensor<1x4x4x1xi64> + %rhs = stablehlo.constant dense<1> : tensor<1x2x1x4xi64> + %result = stablehlo.convolution(%lhs, %rhs) + dim_numbers = [0, b, 1, f]x[0, 1, i, o]->[b, 0, 1, f], + window = { + stride = [4, 4], + lhs_dilate = [2, 2] + } { + batch_group_count = 4 : i64, + feature_group_count = 1 : i64, + precision_config = [#stablehlo, #stablehlo] + } + : (tensor<1x4x4x1xi64>, tensor<1x2x1x4xi64>) -> tensor<1x1x2x4xi64> + check.expect_eq_const %result, dense<[[[[1, 3, 10, 12], + [5, 7, 14, 16]]]]> : tensor<1x1x2x4xi64> + func.return +} + +// ----- + +func.func @convolution_feature_group_count_4() { + %lhs = stablehlo.constant dense<[[ + [[1], [2], [5], [6]], + [[3], [4], [7], [8]], + [[10], [11], [14], [15]], + [[12], [13], [16], [17]] + ]]> : tensor<1x4x4x1xi64> + %rhs = stablehlo.constant dense<1> : tensor<1x2x1x4xi64> + %result = stablehlo.convolution(%lhs, %rhs) + dim_numbers = [b, 0, f, 1]x[0, i, 1, o]->[b, 0, 1, f], + window = { + stride = [4, 4], + lhs_dilate = [2, 2] + } { + batch_group_count = 1 : i64, + feature_group_count = 2 : i64, + precision_config = [#stablehlo, #stablehlo] + } + : (tensor<1x4x4x1xi64>, tensor<1x2x1x4xi64>) -> tensor<1x2x1x4xi64> + check.expect_eq_const %result, dense<[[[[3, 3, 11, 11]], + [[21, 21, 29, 29]]]]> : tensor<1x2x1x4xi64> + func.return +} diff --git a/stablehlo/tests/ops_stablehlo.mlir b/stablehlo/tests/ops_stablehlo.mlir index 65f143ec129..ce39b6acb9f 100644 --- a/stablehlo/tests/ops_stablehlo.mlir +++ b/stablehlo/tests/ops_stablehlo.mlir @@ -5046,8 +5046,8 @@ func.func @eltwise_static_and_dynamic_type(%arg0: tensor<10x10xf32>, %arg1: tens // ----- -// CHECK-LABEL: func @conv_i4 -func.func @conv_i4(%arg0: tensor<64x8x8x8xi4>, %arg1: tensor<4x4x8x32xi4>) -> tensor<64x3x3x32xi8> { +// CHECK-LABEL: func @convolution_operand_element_type_i4 +func.func @convolution_operand_element_type_i4(%arg0: tensor<64x8x8x8xi4>, %arg1: tensor<4x4x8x32xi4>) -> tensor<64x3x3x32xi8> { // Note: This has been lowered and adapted from: // %0 = "tf.Conv2D"(%arg0, %arg1) { // data_format = "NHWC", @@ -5066,11 +5066,11 @@ func.func @conv_i4(%arg0: tensor<64x8x8x8xi4>, %arg1: tensor<4x4x8x32xi4>) -> te // ----- -// CHECK: func @quantized_conv2d +// CHECK: func @convolution_quantized_conv2d // CHECK: stablehlo.convolution // CHECK-SAME: dim_numbers = [b, 0, 1, f]x[0, 1, i, o]->[b, 0, 1, f] // CHECK-SAME{LITERAL}: window = {stride = [1, 1], pad = [[1, 1], [1, 1]], lhs_dilate = [1, 1], rhs_dilate = [1, 1]} -func.func @quantized_conv2d(%arg0: tensor<1x8x8x207x!quant.uniform>, %arg1: tensor<3x3x207x16x!quant.uniform>) -> tensor<1x8x8x16x!quant.uniform> { +func.func @convolution_quantized_conv2d(%arg0: tensor<1x8x8x207x!quant.uniform>, %arg1: tensor<3x3x207x16x!quant.uniform>) -> tensor<1x8x8x16x!quant.uniform> { %0 = stablehlo.convolution(%arg0, %arg1) dim_numbers = [b, 0, 1, f]x[0, 1, i, o]->[b, 0, 1, f], window = {stride = [1, 1], pad = [[1, 1], [1, 1]], lhs_dilate = [1, 1], rhs_dilate = [1, 1]} diff --git a/stablehlo/tests/verify_conv.mlir b/stablehlo/tests/verify_convolution.mlir similarity index 94% rename from stablehlo/tests/verify_conv.mlir rename to stablehlo/tests/verify_convolution.mlir index 12d56fa2b5c..c9197e8aca7 100644 --- a/stablehlo/tests/verify_conv.mlir +++ b/stablehlo/tests/verify_convolution.mlir @@ -1,28 +1,5 @@ // RUN: stablehlo-opt %s -verify-diagnostics -split-input-file | FileCheck %s -// CHECK: func @conv_empty_spatial_dimensions -// CHECK: stablehlo.convolution -// CHECK-SAME: dim_numbers = [b, f]x[i, o]->[b, f] -// CHECK-SAME: window = {stride = [], pad = [], lhs_dilate = [], -// CHECK-SAME: rhs_dilate = [], reverse = []} -func.func @conv_empty_spatial_dimensions(%arg0: tensor<3x2xf16>, - %arg1: tensor<2x2xf16>) -> tuple> { - %0 = stablehlo.convolution(%arg0, %arg1) - dim_numbers = [b, f]x[i, o]->[b, f], - window = {stride = [], pad = [], lhs_dilate = [], rhs_dilate = [], - reverse = []} - { - batch_group_count = 1 : i64, - feature_group_count = 1 : i64, - precision_config = [#stablehlo, #stablehlo] - } - : (tensor<3x2xf16>, tensor<2x2xf16>) -> tensor<3x2xf16> - %1 = "stablehlo.tuple"(%0) : (tensor<3x2xf16>) -> tuple> - func.return %1 : tuple> -} - -// ----- - // CHECK-LABEL: func @convolution func.func @convolution(%arg0 : tensor<100x26x26x32xf32>, %arg1 : tensor<3x3x1x32xf32>) -> tensor<100x28x28x1xf32> { @@ -51,6 +28,29 @@ func.func @convolution(%arg0 : tensor<100x26x26x32xf32>, %arg1 : tensor<3x3x1x32 // ----- +// CHECK: func @convolution_empty_spatial_dimensions +// CHECK: stablehlo.convolution +// CHECK-SAME: dim_numbers = [b, f]x[i, o]->[b, f] +// CHECK-SAME: window = {stride = [], pad = [], lhs_dilate = [], +// CHECK-SAME: rhs_dilate = [], reverse = []} +func.func @convolution_empty_spatial_dimensions(%arg0: tensor<3x2xf16>, + %arg1: tensor<2x2xf16>) -> tuple> { + %0 = stablehlo.convolution(%arg0, %arg1) + dim_numbers = [b, f]x[i, o]->[b, f], + window = {stride = [], pad = [], lhs_dilate = [], rhs_dilate = [], + reverse = []} + { + batch_group_count = 1 : i64, + feature_group_count = 1 : i64, + precision_config = [#stablehlo, #stablehlo] + } + : (tensor<3x2xf16>, tensor<2x2xf16>) -> tensor<3x2xf16> + %1 = "stablehlo.tuple"(%0) : (tensor<3x2xf16>) -> tuple> + func.return %1 : tuple> +} + +// ----- + // CHECK-LABEL: func @convolution_upcast func.func @convolution_upcast(%arg0 : tensor<100x26x26x32xi8>, %arg1 : tensor<3x3x1x32xi8>) -> tensor<100x28x28x1xi32> { @@ -114,115 +114,7 @@ func.func @convolution(%arg0: tensor<2x2x3x4xf32>, %arg1: tensor<3x5x5x3xf32>) - // ----- -func.func @convolution_i3(%arg0: tensor<1x4x4x1xi64>, - %arg1: tensor<3x3x1x1xi64>) -> tensor<1x2x2x1xi64> { - // expected-error@+1 {{expects the shape of window_strides attribute to be 1-D, but got {2, 2}.}} - %0 = "stablehlo.convolution"(%arg0, %arg1) { - window_strides = dense<4> : tensor<2x2xi64>, - padding = dense<0> : tensor<2x2xi64>, - lhs_dilation = dense<2> : tensor<2xi64>, - rhs_dilation = dense<1> : tensor<2xi64>, - window_reversal = dense : tensor<2xi1>, - dimension_numbers = #stablehlo.conv<[b, 0, 1, f]x[0, 1, i, o]->[b, 0, 1, f]>, - feature_group_count = 1 : i64, - batch_group_count = 1 : i64, - precision_config = [#stablehlo, #stablehlo] - } : (tensor<1x4x4x1xi64>, tensor<3x3x1x1xi64>) -> tensor<1x2x2x1xi64> - func.return %0 : tensor<1x2x2x1xi64> -} - -// ----- - -func.func @convolution_i4(%arg0: tensor<1x4x4x1xi64>, - %arg1: tensor<3x3x1x1xi64>) -> tensor<1x2x2x1xi64> { - // expected-error@+1 {{expects the shape of padding-attribute to be {N, 2}, but got {2}.}} - %0 = "stablehlo.convolution"(%arg0, %arg1) { - window_strides = dense<4> : tensor<2xi64>, - padding = dense<0> : tensor<2xi64>, - lhs_dilation = dense<2> : tensor<2xi64>, - rhs_dilation = dense<1> : tensor<2xi64>, - window_reversal = dense : tensor<2xi1>, - dimension_numbers = #stablehlo.conv<[b, 0, 1, f]x[0, 1, i, o]->[b, 0, 1, f]>, - feature_group_count = 1 : i64, - batch_group_count = 1 : i64, - precision_config = [#stablehlo, #stablehlo] - } : (tensor<1x4x4x1xi64>, tensor<3x3x1x1xi64>) -> tensor<1x2x2x1xi64> - func.return %0 : tensor<1x2x2x1xi64> -} - -// ----- - -func.func @convolution_i5(%arg0: tensor<1x4x4x1xi64>, - %arg1: tensor<3x3x1x1xi64>) -> tensor<1x2x2x1xi64> { - // expected-error@+1 {{expects the shape of lhs_dilation attribute to be 1-D, but got {2, 2}.}} - %0 = "stablehlo.convolution"(%arg0, %arg1) { - window_strides = dense<4> : tensor<2xi64>, - padding = dense<0> : tensor<2x2xi64>, - lhs_dilation = dense<2> : tensor<2x2xi64>, - rhs_dilation = dense<1> : tensor<2xi64>, - window_reversal = dense : tensor<2xi1>, - dimension_numbers = #stablehlo.conv<[b, 0, 1, f]x[0, 1, i, o]->[b, 0, 1, f]>, - feature_group_count = 1 : i64, - batch_group_count = 1 : i64, - precision_config = [#stablehlo, #stablehlo] - } : (tensor<1x4x4x1xi64>, tensor<3x3x1x1xi64>) -> tensor<1x2x2x1xi64> - func.return %0 : tensor<1x2x2x1xi64> -} - -// ----- - -func.func @convolution_i6(%arg0: tensor<1x4x4x1xi64>, - %arg1: tensor<3x3x1x1xi64>) -> tensor<1x2x2x1xi64> { - // expected-error@+1 {{expects the shape of rhs_dilation attribute to be 1-D, but got {2, 2}.}} - %0 = "stablehlo.convolution"(%arg0, %arg1) { - window_strides = dense<4> : tensor<2xi64>, - padding = dense<0> : tensor<2x2xi64>, - lhs_dilation = dense<2> : tensor<2xi64>, - rhs_dilation = dense<1> : tensor<2x2xi64>, - window_reversal = dense : tensor<2xi1>, - dimension_numbers = #stablehlo.conv<[b, 0, 1, f]x[0, 1, i, o]->[b, 0, 1, f]>, - feature_group_count = 1 : i64, - batch_group_count = 1 : i64, - precision_config = [#stablehlo, #stablehlo] - } : (tensor<1x4x4x1xi64>, tensor<3x3x1x1xi64>) -> tensor<1x2x2x1xi64> - func.return %0 : tensor<1x2x2x1xi64> -} - -// ----- - -func.func @convolution_i7(%arg0: tensor<1x4x4x1xi64>, - %arg1: tensor<3x3x1x1xi64>) -> tensor<1x2x2x1xi64> { - // expected-error@+1 {{expects the shape of window_reversal attribute to be 1-D, but got {2, 2}.}} - %0 = "stablehlo.convolution"(%arg0, %arg1) { - window_strides = dense<4> : tensor<2xi64>, - padding = dense<0> : tensor<2x2xi64>, - lhs_dilation = dense<2> : tensor<2xi64>, - rhs_dilation = dense<1> : tensor<2xi64>, - window_reversal = dense : tensor<2x2xi1>, - dimension_numbers = #stablehlo.conv<[b, 0, 1, f]x[0, 1, i, o]->[b, 0, 1, f]>, - feature_group_count = 1 : i64, - batch_group_count = 1 : i64, - precision_config = [#stablehlo, #stablehlo] - } : (tensor<1x4x4x1xi64>, tensor<3x3x1x1xi64>) -> tensor<1x2x2x1xi64> - func.return %0 : tensor<1x2x2x1xi64> -} - -// ----- - -func.func @convolution_c1(%arg0: tensor<1xi64>, - %arg1: tensor<1xi64>) -> tensor<1xi64> { - // expected-error@+1 {{expects convolution arguments to have >= 2 dimensions. Got: 'tensor<1xi64>' and 'tensor<1xi64>'.}} - %0 = "stablehlo.convolution"(%arg0, %arg1) { - dimension_numbers = #stablehlo.conv<[b, f]x[i, o]->[b, f]>, - feature_group_count = 1 : i64, - batch_group_count = 1 : i64 - } : (tensor<1xi64>, tensor<1xi64>) -> tensor<1xi64> - func.return %0 : tensor<1xi64> -} - -// ----- - -func.func @convolution_c2(%arg0: tensor<1x8x8x207xf32>, +func.func @convolution_c1(%arg0: tensor<1x8x8x207xf32>, %arg1: tensor<3x3x207xf32>) -> tensor<1x8x8x16xf32> { // expected-error@+1 {{expects convolution arguments to have same number of dimensions. Got: 'tensor<1x8x8x207xf32>' and 'tensor<3x3x207xf32>'.}} %0 = stablehlo.convolution(%arg0, %arg1) @@ -240,7 +132,7 @@ func.func @convolution_c2(%arg0: tensor<1x8x8x207xf32>, // ----- -func.func @convolution_c3(%arg0: tensor<1x4x4x1xi64>, +func.func @convolution_c2(%arg0: tensor<1x4x4x1xi64>, %arg1: tensor<3x3x1x1xi32>) -> tensor<1x2x2x1xi64> { // expected-error@+1 {{expects lhs and rhs to have compatible element type. Got: 'i64' and 'i32'}} %0 = "stablehlo.convolution"(%arg0, %arg1) { @@ -259,7 +151,7 @@ func.func @convolution_c3(%arg0: tensor<1x4x4x1xi64>, // ----- -func.func @convolution_c4(%arg0: tensor<1x8x8x207xf32>, +func.func @convolution_c3(%arg0: tensor<1x8x8x207xf32>, %arg1: tensor<3x3x207x16xf32>) -> tensor<1x8x8x16xf32> { // expected-error@+1 {{expects window-strides to have same dimension-size as size of window dimensions (2), but got: 1.}} %0 = stablehlo.convolution(%arg0, %arg1) @@ -277,7 +169,7 @@ func.func @convolution_c4(%arg0: tensor<1x8x8x207xf32>, // ----- -func.func @convolution_c5(%arg0: tensor<1x8x8x207xf32>, +func.func @convolution_c4(%arg0: tensor<1x8x8x207xf32>, %arg1: tensor<3x3x207x16xf32>) -> tensor<1x8x8x16xf32> { // expected-error@+1 {{expects window to have positive stride for 1-th window dimension, but got 0.}} %0 = stablehlo.convolution(%arg0, %arg1) @@ -294,7 +186,7 @@ func.func @convolution_c5(%arg0: tensor<1x8x8x207xf32>, // ----- -func.func @convolution_c6(%arg0 : tensor<100x26x26x32xf32>, %arg1 : tensor<3x3x1x32xf32>) -> +func.func @convolution_c5(%arg0 : tensor<100x26x26x32xf32>, %arg1 : tensor<3x3x1x32xf32>) -> tensor<100x28x28x1xf32> { // expected-error@+1 {{expects padding-entries to have same dimension-size as size of window dimensions (2), but got: 3.}} %result = "stablehlo.convolution"(%arg0, %arg1) { @@ -322,7 +214,7 @@ func.func @convolution_c6(%arg0 : tensor<100x26x26x32xf32>, %arg1 : tensor<3x3x1 // ----- -func.func @convolution_c6(%arg0: tensor<1x4x4x1xi64>, +func.func @convolution_c5(%arg0: tensor<1x4x4x1xi64>, %arg1: tensor<3x3x1x1xi64>) -> tensor<1x2x2x1xi64> { // expected-error@+1 {{expects the shape of padding-attribute to be {N, 2}, but got {2, 3}.}} %0 = "stablehlo.convolution"(%arg0, %arg1) { @@ -341,7 +233,7 @@ func.func @convolution_c6(%arg0: tensor<1x4x4x1xi64>, // ----- -func.func @convolution_c6(%arg0: tensor<1x8x8x207xf32>, +func.func @convolution_c5(%arg0: tensor<1x8x8x207xf32>, %arg1: tensor<3x3x207x16xf32>) -> tensor<1x8x8x16xf32> { %0 = stablehlo.convolution(%arg0, %arg1) dim_numbers = [b, 0, 1, f]x[0, 1, i, o]->[b, 0, 1, f], @@ -359,7 +251,7 @@ func.func @convolution_c6(%arg0: tensor<1x8x8x207xf32>, // ----- -func.func @convolution_c7(%arg0: tensor<1x8x8x207xf32>, +func.func @convolution_c6(%arg0: tensor<1x8x8x207xf32>, %arg1: tensor<3x3x207x16xf32>) -> tensor<1x8x8x16xf32> { // expected-error@+1 {{expects base-dilation factors to have same dimension-size as size of window dimensions (2), but got: 1.}} %0 = stablehlo.convolution(%arg0, %arg1) @@ -376,7 +268,7 @@ func.func @convolution_c7(%arg0: tensor<1x8x8x207xf32>, // ----- -func.func @convolution_c8(%arg0: tensor<1x8x8x207xf32>, +func.func @convolution_c7(%arg0: tensor<1x8x8x207xf32>, %arg1: tensor<3x3x207x16xf32>) -> tensor<1x8x8x16xf32> { // expected-error@+1 {{expects window to have positive base dilation factor for 0-th window dimension, but got 0.}} %0 = stablehlo.convolution(%arg0, %arg1) @@ -394,7 +286,7 @@ func.func @convolution_c8(%arg0: tensor<1x8x8x207xf32>, // ----- -func.func @convolution_c9(%arg0: tensor<1x8x8x207xf32>, +func.func @convolution_c8(%arg0: tensor<1x8x8x207xf32>, %arg1: tensor<3x3x207x16xf32>) -> tensor<1x8x8x16xf32> { // expected-error@+1 {{expects window-dilation factors to have same dimension-size as size of window dimensions (2), but got: 1.}} %0 = stablehlo.convolution(%arg0, %arg1) @@ -411,7 +303,7 @@ func.func @convolution_c9(%arg0: tensor<1x8x8x207xf32>, // ----- -func.func @convolution_c10(%arg0: tensor<1x8x8x207xf32>, +func.func @convolution_c9(%arg0: tensor<1x8x8x207xf32>, %arg1: tensor<3x3x207x16xf32>) -> tensor<1x8x8x16xf32> { // expected-error@+1 {{expects window to have positive window dilation factor for 0-th window dimension, but got 0.}} %0 = stablehlo.convolution(%arg0, %arg1) @@ -429,7 +321,7 @@ func.func @convolution_c10(%arg0: tensor<1x8x8x207xf32>, // ----- -func.func @convolution_c11(%arg0: tensor<1x8x8x207xf32>, +func.func @convolution_c10(%arg0: tensor<1x8x8x207xf32>, %arg1: tensor<3x3x207x16xf32>) -> tensor<1x8x8x16xf32> { // expected-error@+1 {{expects window-reversal to have same dimension-size as size of window dimensions (2), but got: 1.}} %0 = stablehlo.convolution(%arg0, %arg1) @@ -446,7 +338,7 @@ func.func @convolution_c11(%arg0: tensor<1x8x8x207xf32>, // ----- -func.func @convolution_c12(%arg0: tensor<5x8x8x207xf32>, +func.func @convolution_c11(%arg0: tensor<5x8x8x207xf32>, %arg1: tensor<3x3x207x16xf32>) -> tensor<1x8x8x16xf32> { // expected-error@+1 {{expects input batch dimension (5) to be divisible by batch_group_count. Got batch_group_count = 2.}} %0 = stablehlo.convolution(%arg0, %arg1) @@ -464,7 +356,7 @@ func.func @convolution_c12(%arg0: tensor<5x8x8x207xf32>, // ----- -func.func @convolution_c13(%arg0: tensor<1x8x8x207xf32>, +func.func @convolution_c12(%arg0: tensor<1x8x8x207xf32>, %arg1: tensor<3x3x20x16xf32>) -> tensor<1x8x8x16xf32> { // expected-error@+1 {{expects input feature dimension (207) to be a multiple of feature_group_count. Got feature_group_count = 2.}} %0 = stablehlo.convolution(%arg0, %arg1) @@ -487,7 +379,7 @@ func.func @convolution_c13(%arg0: tensor<1x8x8x207xf32>, // but negative here: stablehlo.convolution does no support unknown dimenstion // dim_numbers = [b, 0, 1, ?, f]x[0, 1, ?, i, o]->[?, b, 0, 1, f] // window = {stride = [1, 1], pad = [[1, 1], [1, 1]], lhs_dilate = [1, 1], rhs_dilate = [1, 1]} -func.func @convolution_c14(%arg0: tensor<1x8x8x32x207xf32>, %arg1: tensor<3x3x32x207x16xf32>) -> tensor<32x1x8x8x16xf32> { +func.func @convolution_c13(%arg0: tensor<1x8x8x32x207xf32>, %arg1: tensor<3x3x32x207x16xf32>) -> tensor<32x1x8x8x16xf32> { // expected-error@+1{{expects convolution arguments to have 4 dimensions. Got: 5}} %0 = "stablehlo.convolution"(%arg0, %arg1) {batch_group_count = 1 : i64, dimension_numbers = #stablehlo.conv, %arg1: tensor<3x3x32 // ----- -func.func @convolution_c15(%arg0 : tensor<100x26x26x32xf32>, +func.func @convolution_c14(%arg0: tensor<1xf32>, %arg1: tensor<3xf32>) + -> tensor<1x8x8x16xf32> { + // expected-error@+1 {{expects convolution arguments to have >= 2 dimensions. Got: 'tensor<1xf32>' and 'tensor<3xf32>'.}} + %0 = stablehlo.convolution(%arg0, %arg1) + dim_numbers = [b, 0, 1, f]x[0, 1, i, o]->[b, 0, 1, f], + window = {stride = [1, 1], pad = [[1, 1], [1, 1]], + lhs_dilate = [1, 1], rhs_dilate = [1, 1]} + { + batch_group_count = 1 : i64, + feature_group_count = 1 : i64, + precision_config = [#stablehlo, #stablehlo] + } : + (tensor<1xf32>, tensor<3xf32>) -> tensor<1x8x8x16xf32> + func.return %0 : tensor<1x8x8x16xf32> +} + + +// ----- + +func.func @convolution_c14(%arg0 : tensor<100x26x26x32xf32>, %arg1 : tensor<3x3x1x32xf32>) -> tensor<100x28x28x1xf32> { // expected-error@+1 {{expects input dimension-numbers to be unique, got {0, 0, 1, 2}.}} %result = "stablehlo.convolution"(%arg0, %arg1) { @@ -535,7 +446,7 @@ func.func @convolution_c15(%arg0 : tensor<100x26x26x32xf32>, // ----- -func.func @convolution_c15(%arg0 : tensor<100x26x26x32xf32>, +func.func @convolution_c14(%arg0 : tensor<100x26x26x32xf32>, %arg1 : tensor<3x3x1x32xf32>) -> tensor<100x28x28x1xf32> { // expected-error@+1 {{expects input, kernel, and output dimension-numbers to be in-range [0, 4).}} %result = "stablehlo.convolution"(%arg0, %arg1) { @@ -563,7 +474,7 @@ func.func @convolution_c15(%arg0 : tensor<100x26x26x32xf32>, // ----- -func.func @convolution_c15(%arg0 : tensor<100x26x26x32xf32>, +func.func @convolution_c14(%arg0 : tensor<100x26x26x32xf32>, %arg1 : tensor<3x3x1x32xf32>) -> tensor<100x28x28x1xf32> { // expected-error@+1 {{expects input, kernel, and output dimension-numbers to be in-range [0, 4).}} %result = "stablehlo.convolution"(%arg0, %arg1) { @@ -591,7 +502,7 @@ func.func @convolution_c15(%arg0 : tensor<100x26x26x32xf32>, // ----- -func.func @convolution_c16(%arg0: tensor<1x8x8x207xf32>, +func.func @convolution_c15(%arg0: tensor<1x8x8x207xf32>, %arg1: tensor<3x3x20x16xf32>) -> tensor<1x8x8x16xf32> { // expected-error@+1 {{expects input feature dimension (207) / feature_group_count = kernel input feature dimension (20). Got feature_group_count = 1.}} %0 = stablehlo.convolution(%arg0, %arg1) @@ -609,7 +520,7 @@ func.func @convolution_c16(%arg0: tensor<1x8x8x207xf32>, // ----- -func.func @convolution_c17(%arg0: tensor<3x8x8x207xf32>, +func.func @convolution_c16(%arg0: tensor<3x8x8x207xf32>, %arg1: tensor<3x3x207x16xf32>) -> tensor<3x8x8x16xf32> { // expected-error@+1 {{expects output feature dimension size (16) to be a multiple of batch_group_count. Got batch_group_count = 3.}} %0 = stablehlo.convolution(%arg0, %arg1) @@ -627,7 +538,7 @@ func.func @convolution_c17(%arg0: tensor<3x8x8x207xf32>, // ----- -func.func @convolution_c18(%arg0: tensor<1x8x8x207xf32>, +func.func @convolution_c17(%arg0: tensor<1x8x8x207xf32>, %arg1: tensor<3x3x69x16xf32>) -> tensor<1x8x8x16xf32> { // expected-error@+1 {{expects kernel output feature dimension (16) to be divisible by feature_group_count. For feature_group_count = 3.}} %0 = stablehlo.convolution(%arg0, %arg1) @@ -645,7 +556,7 @@ func.func @convolution_c18(%arg0: tensor<1x8x8x207xf32>, // ----- -func.func @convolution_c19(%arg0: tensor<1x8x8x207xf32>, +func.func @convolution_c18(%arg0: tensor<1x8x8x207xf32>, %arg1: tensor<3x3x207x16xf32>) -> tensor<1x8x8x16xf32> { // expected-error@+1 {{expects the same size for input, kernel and output spatial-dimensions, but got 2, 3, and 2 resp.}} %0 = stablehlo.convolution(%arg0, %arg1) @@ -663,7 +574,7 @@ func.func @convolution_c19(%arg0: tensor<1x8x8x207xf32>, // ----- -func.func @convolution_c20(%arg0 : tensor<100x26x26x32xf32>, +func.func @convolution_c19(%arg0 : tensor<100x26x26x32xf32>, %arg1 : tensor<3x3x1x32xf32>) -> tensor<100x28x28x1xf32> { // expected-error@+1 {{expects kernel dimension-numbers to be unique, got {3, 2, 0, 0}.}} %result = "stablehlo.convolution"(%arg0, %arg1) { @@ -691,7 +602,7 @@ func.func @convolution_c20(%arg0 : tensor<100x26x26x32xf32>, // ----- -func.func @convolution_c20(%arg0 : tensor<100x26x26x32xf32>, +func.func @convolution_c19(%arg0 : tensor<100x26x26x32xf32>, %arg1 : tensor<3x3x1x32xf32>) -> tensor<100x28x28x1xf32> { // expected-error@+1 {{expects input, kernel, and output dimension-numbers to be in-range [0, 4).}} %result = "stablehlo.convolution"(%arg0, %arg1) { @@ -719,7 +630,7 @@ func.func @convolution_c20(%arg0 : tensor<100x26x26x32xf32>, // ----- -func.func @convolution_c20(%arg0 : tensor<100x26x26x32xf32>, +func.func @convolution_c19(%arg0 : tensor<100x26x26x32xf32>, %arg1 : tensor<3x3x1x32xf32>) -> tensor<100x28x28x1xf32> { // expected-error@+1 {{expects input, kernel, and output dimension-numbers to be in-range [0, 4).}} %result = "stablehlo.convolution"(%arg0, %arg1) { @@ -747,7 +658,7 @@ func.func @convolution_c20(%arg0 : tensor<100x26x26x32xf32>, // ----- -func.func @convolution_c21(%arg0: tensor<1x8x8x207xf32>, +func.func @convolution_c20(%arg0: tensor<1x8x8x207xf32>, %arg1: tensor<3x3x207x16xf32>) -> tensor<1x8x8x16xf32> { // expected-error@+1 {{expects the same size for input, kernel and output spatial-dimensions, but got 2, 2, and 3 resp.}} %0 = stablehlo.convolution(%arg0, %arg1) @@ -765,7 +676,7 @@ func.func @convolution_c21(%arg0: tensor<1x8x8x207xf32>, // ----- -func.func @convolution_c22(%arg0 : tensor<100x26x26x32xf32>, +func.func @convolution_c21(%arg0 : tensor<100x26x26x32xf32>, %arg1 : tensor<3x3x1x32xf32>) -> tensor<100x28x28x1xf32> { // expected-error@+1 {{expects output dimension-numbers to be unique, got {0, 3, 0, 3}.}} %result = "stablehlo.convolution"(%arg0, %arg1) { @@ -793,7 +704,7 @@ func.func @convolution_c22(%arg0 : tensor<100x26x26x32xf32>, // ----- -func.func @convolution_c22(%arg0 : tensor<100x26x26x32xf32>, +func.func @convolution_c21(%arg0 : tensor<100x26x26x32xf32>, %arg1 : tensor<3x3x1x32xf32>) -> tensor<100x28x28x1xf32> { // expected-error@+1 {{expects input, kernel, and output dimension-numbers to be in-range [0, 4).}} %result = "stablehlo.convolution"(%arg0, %arg1) { @@ -821,7 +732,7 @@ func.func @convolution_c22(%arg0 : tensor<100x26x26x32xf32>, // ----- -func.func @convolution_c22(%arg0 : tensor<100x26x26x32xf32>, +func.func @convolution_c21(%arg0 : tensor<100x26x26x32xf32>, %arg1 : tensor<3x3x1x32xf32>) -> tensor<100x28x28x1xf32> { // expected-error@+1 {{expects input, kernel, and output dimension-numbers to be in-range [0, 4).}} %result = "stablehlo.convolution"(%arg0, %arg1) { @@ -849,7 +760,7 @@ func.func @convolution_c22(%arg0 : tensor<100x26x26x32xf32>, // ----- -func.func @convolution_c23(%arg0: tensor<1x8x8x207xf32>, +func.func @convolution_c22(%arg0: tensor<1x8x8x207xf32>, %arg1: tensor<3x3x207x16xf32>) -> tensor<1x8x8x16xf32> { // expected-error@+1 {{expects feature_group_count to be a positive number, got 0.}} %0 = stablehlo.convolution(%arg0, %arg1) @@ -867,7 +778,7 @@ func.func @convolution_c23(%arg0: tensor<1x8x8x207xf32>, // ----- -func.func @convolution_c24(%arg0: tensor<1x8x8x207xf32>, +func.func @convolution_c23(%arg0: tensor<1x8x8x207xf32>, %arg1: tensor<3x3x207x16xf32>) -> tensor<1x8x8x16xf32> { // expected-error@+1 {{expects batch_group_count to be a positive number, got 0.}} %0 = stablehlo.convolution(%arg0, %arg1) @@ -885,7 +796,7 @@ func.func @convolution_c24(%arg0: tensor<1x8x8x207xf32>, // ----- -func.func @convolution_c25(%arg0: tensor<1x8x8x207xf32>, +func.func @convolution_c24(%arg0: tensor<1x8x8x207xf32>, %arg1: tensor<3x3x207x16xf32>) -> tensor<1x8x8x16xf32> { // expected-error@+1 {{expects batch_group_count and feature_group_count not to be both greater than 1. Got 2 and 2 resp.}} %0 = stablehlo.convolution(%arg0, %arg1) @@ -903,7 +814,7 @@ func.func @convolution_c25(%arg0: tensor<1x8x8x207xf32>, // ----- -func.func @convolution_c26(%arg0: tensor<3x2xf16>, +func.func @convolution_c25(%arg0: tensor<3x2xf16>, %arg1: tensor<2x2xf16>) -> tuple> { // expected-error@+1{{expects precision config to be empty or have <= 2 elements}} %0 = stablehlo.convolution(%arg0, %arg1) @@ -922,7 +833,102 @@ func.func @convolution_c26(%arg0: tensor<3x2xf16>, // ----- -func.func @invalid_conv_window_attributes(%arg0: tensor<1x8x8x207xf32>, +func.func @convolution_i3(%arg0: tensor<1x4x4x1xi64>, + %arg1: tensor<3x3x1x1xi64>) -> tensor<1x2x2x1xi64> { + // expected-error@+1 {{expects the shape of window_strides attribute to be 1-D, but got {2, 2}.}} + %0 = "stablehlo.convolution"(%arg0, %arg1) { + window_strides = dense<4> : tensor<2x2xi64>, + padding = dense<0> : tensor<2x2xi64>, + lhs_dilation = dense<2> : tensor<2xi64>, + rhs_dilation = dense<1> : tensor<2xi64>, + window_reversal = dense : tensor<2xi1>, + dimension_numbers = #stablehlo.conv<[b, 0, 1, f]x[0, 1, i, o]->[b, 0, 1, f]>, + feature_group_count = 1 : i64, + batch_group_count = 1 : i64, + precision_config = [#stablehlo, #stablehlo] + } : (tensor<1x4x4x1xi64>, tensor<3x3x1x1xi64>) -> tensor<1x2x2x1xi64> + func.return %0 : tensor<1x2x2x1xi64> +} + +// ----- + +func.func @convolution_i4(%arg0: tensor<1x4x4x1xi64>, + %arg1: tensor<3x3x1x1xi64>) -> tensor<1x2x2x1xi64> { + // expected-error@+1 {{expects the shape of padding-attribute to be {N, 2}, but got {2}.}} + %0 = "stablehlo.convolution"(%arg0, %arg1) { + window_strides = dense<4> : tensor<2xi64>, + padding = dense<0> : tensor<2xi64>, + lhs_dilation = dense<2> : tensor<2xi64>, + rhs_dilation = dense<1> : tensor<2xi64>, + window_reversal = dense : tensor<2xi1>, + dimension_numbers = #stablehlo.conv<[b, 0, 1, f]x[0, 1, i, o]->[b, 0, 1, f]>, + feature_group_count = 1 : i64, + batch_group_count = 1 : i64, + precision_config = [#stablehlo, #stablehlo] + } : (tensor<1x4x4x1xi64>, tensor<3x3x1x1xi64>) -> tensor<1x2x2x1xi64> + func.return %0 : tensor<1x2x2x1xi64> +} + +// ----- + +func.func @convolution_i5(%arg0: tensor<1x4x4x1xi64>, + %arg1: tensor<3x3x1x1xi64>) -> tensor<1x2x2x1xi64> { + // expected-error@+1 {{expects the shape of lhs_dilation attribute to be 1-D, but got {2, 2}.}} + %0 = "stablehlo.convolution"(%arg0, %arg1) { + window_strides = dense<4> : tensor<2xi64>, + padding = dense<0> : tensor<2x2xi64>, + lhs_dilation = dense<2> : tensor<2x2xi64>, + rhs_dilation = dense<1> : tensor<2xi64>, + window_reversal = dense : tensor<2xi1>, + dimension_numbers = #stablehlo.conv<[b, 0, 1, f]x[0, 1, i, o]->[b, 0, 1, f]>, + feature_group_count = 1 : i64, + batch_group_count = 1 : i64, + precision_config = [#stablehlo, #stablehlo] + } : (tensor<1x4x4x1xi64>, tensor<3x3x1x1xi64>) -> tensor<1x2x2x1xi64> + func.return %0 : tensor<1x2x2x1xi64> +} + +// ----- + +func.func @convolution_i6(%arg0: tensor<1x4x4x1xi64>, + %arg1: tensor<3x3x1x1xi64>) -> tensor<1x2x2x1xi64> { + // expected-error@+1 {{expects the shape of rhs_dilation attribute to be 1-D, but got {2, 2}.}} + %0 = "stablehlo.convolution"(%arg0, %arg1) { + window_strides = dense<4> : tensor<2xi64>, + padding = dense<0> : tensor<2x2xi64>, + lhs_dilation = dense<2> : tensor<2xi64>, + rhs_dilation = dense<1> : tensor<2x2xi64>, + window_reversal = dense : tensor<2xi1>, + dimension_numbers = #stablehlo.conv<[b, 0, 1, f]x[0, 1, i, o]->[b, 0, 1, f]>, + feature_group_count = 1 : i64, + batch_group_count = 1 : i64, + precision_config = [#stablehlo, #stablehlo] + } : (tensor<1x4x4x1xi64>, tensor<3x3x1x1xi64>) -> tensor<1x2x2x1xi64> + func.return %0 : tensor<1x2x2x1xi64> +} + +// ----- + +func.func @convolution_i7(%arg0: tensor<1x4x4x1xi64>, + %arg1: tensor<3x3x1x1xi64>) -> tensor<1x2x2x1xi64> { + // expected-error@+1 {{expects the shape of window_reversal attribute to be 1-D, but got {2, 2}.}} + %0 = "stablehlo.convolution"(%arg0, %arg1) { + window_strides = dense<4> : tensor<2xi64>, + padding = dense<0> : tensor<2x2xi64>, + lhs_dilation = dense<2> : tensor<2xi64>, + rhs_dilation = dense<1> : tensor<2xi64>, + window_reversal = dense : tensor<2x2xi1>, + dimension_numbers = #stablehlo.conv<[b, 0, 1, f]x[0, 1, i, o]->[b, 0, 1, f]>, + feature_group_count = 1 : i64, + batch_group_count = 1 : i64, + precision_config = [#stablehlo, #stablehlo] + } : (tensor<1x4x4x1xi64>, tensor<3x3x1x1xi64>) -> tensor<1x2x2x1xi64> + func.return %0 : tensor<1x2x2x1xi64> +} + +// ----- + +func.func @convolution_invalid_window_attributes(%arg0: tensor<1x8x8x207xf32>, %arg1: tensor<0x3x207x16xf32>) -> tensor<1x8x8x16xf32> { // expected-error@+1 {{expects window to have positive value for 0-th window dimension, but got 0.}} %0 = stablehlo.convolution(%arg0, %arg1) diff --git a/valgrind-out.txt b/valgrind-out.txt deleted file mode 100644 index 9a5a635ec7d..00000000000 --- a/valgrind-out.txt +++ /dev/null @@ -1,39 +0,0 @@ -==1240396== Memcheck, a memory error detector -==1240396== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al. -==1240396== Using Valgrind-3.19.0-8d3c8034b8-20220411 and LibVEX; rerun with -h for copyright info -==1240396== Command: ./build/bin/stablehlo-translate --deserialize stablehlo/testdata/conv_general_dilated_tf_conversion_path_3d_lhs_float32_1_4_28_28_1__rhs_float32_2_3_3_1_16__windowst6072174321640638276.mlir.0_9_0.bc -==1240396== Parent PID: 10338 -==1240396== ---1240396-- ---1240396-- Valgrind options: ---1240396-- --leak-check=full ---1240396-- --show-leak-kinds=all ---1240396-- --track-origins=yes ---1240396-- --verbose ---1240396-- --log-file=valgrind-out.txt ---1240396-- Contents of /proc/version: ---1240396-- Linux version 5.19.11-1rodete1-amd64 (glinux-core@google.com) (gcc-11 (Debian 11.3.0-5) 11.3.0, GNU ld (GNU Binutils for Debian) 2.39) #1 SMP PREEMPT_DYNAMIC Debian 5.19.11-1rodete1 (2022-10-31) ---1240396-- ---1240396-- Arch and hwcaps: AMD64, LittleEndian, amd64-cx16-lzcnt-rdtscp-sse3-ssse3-avx-avx2-bmi-f16c-rdrand-rdseed ---1240396-- Page sizes: currently 4096, max supported 4096 ---1240396-- Valgrind library directory: /usr/libexec/valgrind ---1240396-- Reading syms from /usr/local/google/home/gunhyun/stablehlo/build/bin/stablehlo-translate ---1240396-- ELF section outside all mapped regions ---1240396-- Reading syms from /usr/local/google/home/gunhyun/stablehlo/build/bin/stablehlo-translate -### unhandled dwarf2 abbrev form code 0x25 -### unhandled dwarf2 abbrev form code 0x25 -### unhandled dwarf2 abbrev form code 0x25 -### unhandled dwarf2 abbrev form code 0x23 -### unhandled dwarf2 abbrev form code 0x25 -### unhandled dwarf2 abbrev form code 0x25 -### unhandled dwarf2 abbrev form code 0x25 -### unhandled dwarf2 abbrev form code 0x23 -==1240396== Valgrind: debuginfo reader: ensure_valid failed: -==1240396== Valgrind: during call to ML_(img_get) -==1240396== Valgrind: request for range [939419898, +4) exceeds -==1240396== Valgrind: valid image size of 377839416 for image: -==1240396== Valgrind: "/usr/local/google/home/gunhyun/stablehlo/build/bin/stablehlo-translate" -==1240396== -==1240396== Valgrind: debuginfo reader: Possibly corrupted debuginfo file. -==1240396== Valgrind: I can't recover. Giving up. Sorry. -==1240396==