diff --git a/DocGen/docgen.simba b/DocGen/docgen.simba index e9ea343eb..bc48ac051 100644 --- a/DocGen/docgen.simba +++ b/DocGen/docgen.simba @@ -46,7 +46,7 @@ begin APIFiles += ['Source\script\imports\simba.import_web.pas', 'Web' ]; APIFiles += ['Source\script\imports\simba.import_file.pas', 'File' ]; APIFiles += ['Source\script\imports\simba.import_encoding.pas', 'Encoding' ]; - APIFiles += ['Source\script\imports\simba.import_timing.pas', 'Timing' ]; + APIFiles += ['Source\script\imports\simba.import_datetime.pas', 'Date & Time' ]; APIFiles += ['Source\script\imports\simba.import_string.pas', 'String' ]; APIFiles += ['Source\script\imports\simba.import_process.pas', 'Process' ]; APIFiles += ['Source\script\imports\simba.import_math.pas', 'Math' ]; diff --git a/Images/property.png b/Images/property.png index 511cf537e..63b2138bf 100644 Binary files a/Images/property.png and b/Images/property.png differ diff --git a/Images/property_150.png b/Images/property_150.png index 7a13bca02..483c40170 100644 Binary files a/Images/property_150.png and b/Images/property_150.png differ diff --git a/Images/property_200.png b/Images/property_200.png index 8ae7f28e8..3257abb36 100644 Binary files a/Images/property_200.png and b/Images/property_200.png differ diff --git a/Images/variable.png b/Images/variable.png index 2a4b9e354..d84374680 100644 Binary files a/Images/variable.png and b/Images/variable.png differ diff --git a/Images/variable_150.png b/Images/variable_150.png index 380def386..d88ed698b 100644 Binary files a/Images/variable_150.png and b/Images/variable_150.png differ diff --git a/Images/variable_200.png b/Images/variable_200.png index f38de1010..15d9d89dd 100644 Binary files a/Images/variable_200.png and b/Images/variable_200.png differ diff --git a/Source/ide/simba.form_functionlist.pas b/Source/ide/simba.form_functionlist.pas index dfa05cf8b..f59eef2a0 100644 --- a/Source/ide/simba.form_functionlist.pas +++ b/Source/ide/simba.form_functionlist.pas @@ -115,7 +115,8 @@ implementation uses simba.form_main, simba.ide_events, simba.threading, simba.settings, - simba.form_tabs, simba.ide_tab, simba.ide_showdeclaration, simba.nativeinterface; + simba.form_tabs, simba.ide_tab, simba.ide_showdeclaration, simba.nativeinterface, + simba.vartype_string; function GetImage(const Decl: TDeclaration): Integer; begin @@ -150,7 +151,7 @@ function GetURL(const Section: String): String; 'TQuad': Result := ROOT + 'TQuad.html'; 'Random': Result := ROOT + 'Random.html'; 'T2DPointArray': Result := ROOT + 'T2DPointArray.html'; - 'Debug Image': Result := ROOT + 'Debug Image.html'; + 'Date & Time': Result := ROOT + 'Date %26 Time'; 'TWindowHandle': Result := ROOT + 'TWindowHandle.html'; 'Image': Result := ROOT + 'Image.html'; 'Finder': Result := ROOT + 'Finder.html'; @@ -801,8 +802,7 @@ procedure TSimbaFunctionListForm.ArrangeSimbaNodes; MoveToTop('File'); MoveToTop('String'); MoveToTop('Random'); - MoveToTop('Timing'); - MoveToTop('DateTime'); + MoveToTop('Date & Time'); MoveToTop('TBox'); MoveToTop('TBoxArray'); MoveToTop('TPoint'); @@ -829,21 +829,35 @@ function TSimbaFunctionListForm.CompareNodes(A, B: TTreeNode): Integer; begin Result := NaturalCompareText(A.Text, B.Text); + if ((A.ImageIndex = IMG_FUNC) or (A.ImageIndex = IMG_PROC) or (A.ImageIndex = IMG_PROPERTY)) and + ((B.ImageIndex = IMG_FUNC) or (B.ImageIndex = IMG_PROC) or (B.ImageIndex = IMG_PROPERTY)) then + begin + if ('.' in A.Text) then Dec(Result, 100); + if ('.' in B.Text) then Inc(Result, 100); + end; + case A.ImageIndex of - IMG_TYPE: Dec(Result, 2000); - IMG_CONST: Dec(Result, 1500); - IMG_VAR: Dec(Result, 1000); - IMG_PROC: Dec(Result, 500); - IMG_FUNC: Dec(Result, 500); + IMG_TYPE: Dec(Result, 500); + IMG_CONST: Dec(Result, 400); + IMG_VAR: Dec(Result, 300); + IMG_PROC: Dec(Result, 200); + IMG_FUNC: Dec(Result, 200); + IMG_PROPERTY: Dec(Result, 200); end; case B.ImageIndex of - IMG_TYPE: Inc(Result, 2000); - IMG_CONST: Inc(Result, 1500); - IMG_VAR: Inc(Result, 1000); - IMG_PROC: Inc(Result, 500); - IMG_FUNC: Inc(Result, 500); + IMG_TYPE: Inc(Result, 500); + IMG_CONST: Inc(Result, 400); + IMG_VAR: Inc(Result, 300); + IMG_PROC: Inc(Result, 200); + IMG_FUNC: Inc(Result, 200); + IMG_PROPERTY: Inc(Result, 200); end; + + if (A.ImageIndex = IMG_PROPERTY) and (A.Text.Before('.') = B.Text.Before('.')) then + Inc(Result, 100); + if (B.ImageIndex = IMG_PROPERTY) and (A.Text.Before('.') = B.Text.Before('.')) then + Dec(Result, 100); end; procedure TSimbaFunctionListForm.DoIdleBegin(Sender: TObject); diff --git a/Source/ide/simba.form_main.lfm b/Source/ide/simba.form_main.lfm index 5ebf87469..4a840d77c 100644 --- a/Source/ide/simba.form_main.lfm +++ b/Source/ide/simba.form_main.lfm @@ -484,1232 +484,1232 @@ object SimbaMainForm: TSimbaMainForm Left = 60 Top = 50 Bitmap = { - 4C7A400000001000000010000000A63700000000000078DAED9D075C14D71687 - C71A8D9AD83516EC0D8D3DC616C55E6343D4D85B2CB1468D468D8A885DB1A148 - 0745051454B0371450698A521544407A4758FAEE9E77EE9DD9655966ABFA92BC - C7E8FF37B377CE77CFB96DE6CE2E33C3305F66E9D4B076FD2DC33B3811916D75 - 98FE6DEA371ED8A67E67B23DA875FD4189A7E70211D92669641FB1E1630760FA - A3DF8786BDDA393EEFCF911D176E19D6E1489AE57248B35A06649BA405EE1C93 - F770DD90B0013C790C6AD3A03361C1ED2F483E3517B2EC16033CFC03E0F106C8 - BC8871581A003C5D092F778CCE23B67C316C1EDE6161D2E9D9001E9B001EAD81 - 64DBD9906C370BB79761DA32883F3D15888D3CD7B971EDFA98E7201267E6A539 - 004F5680D726BDD8D57A1DF5570FEDA8EFF9FBD058B1CB0248359D46CB426C09 - 23E1491D279AE943EA855FA89F648BE94058C9FEC53FEAE8271E9E0460F30BA4 - E03A7AF738208C2C9F603A15526C66005C5F04C927A602F12BE5FBE94C4FD837 - 1144660690B87F0244EE1A5386978D3FF5D8141059FF024FD6FE14BBF8C756FA - E87BBAC7AA41B17927A741CC9EF1BCF1CBD65FCC9E7100E633A0C8541FDE639C - 91BBC642C691C9908E7ABD75246FFD49DAEFF97ABDBC42E422768E81F746E320 - EDF064483A3809C2768C86975B464024E6F770D54FBCED47FAC4DD9583C29EAE - 1B2AED3F41DB46C12BF429E93FF77F1B9C7773D900DEFEC3D77F9F6ED003EFDF - 87AAD57F3FC7F8D1660180CF26663793CC1831B3B4E60D1960F633798C317382 - 7166AA68C53F479DC23CF630FEF8B9B1C67C00A7F34C11E69186697DB5E289DC - 1931E6918FF5B2402B9EE891B44E6C717F558D79A227A8DD8C48551C9FDDFFA7 - 945F52FF464C1F2DDBDF4FABF6FF94FEF789FDFFEFD0E75C1C7EED0BB25295CE - C7438033953CCF975EC157F0FF6BFCA78C9F7FF7E20CEA8B9FF7F5C529FB4300 - 3737808B17012C2C004C4C008C8C00366F0658B50A94F2AAD8050B94F3AA587D - 7DE5BC2A76CC18E5BC2A76D020E5BC2AB6470FE5BC2AB67D7BE5BC2AB66953E5 - BC2AB6766DE5FCA7F5BF7FE7A27C6E004B509B359B4FC0B7A8EADCB61B2A80DB - AE4EF6A9600D50D9A8C33CFC6154164A5F092B4279A25AF2F02D51DE28216ABA - 1CDB04F591636BC8A44B79EE730D2E0F1263239974635431AA9D5CBE65782EAD - 03AA046524931684BACB53A6723C977E1F1528F3B9007548DDF6C3B4232881CC - E77C3E5E493B1D96E30351F734E0E5E3DFC3D5493B35D88E5C1BEE966BBF1CD4 - 13D4574A58D9F66B2CB76F864CFF69C7C376E05891923E3883CB9BC4778FABE7 - 235C79855CFF9DAEA27C4DB9FA7885CAE344B68D4839BFD87540404035BABE9D - 705BF6B35AAC3354616EC7073077133B33B712FC993BF113989BF12E1AF9BF19 - DFB1DBD3B4C875EF0AF21A3C4C0960EEC4D5579BBD957087F85F8F6C4A09C0D8 - 9759C0DC8801C60DE51C524E552F87E696F71F3796F8256CDF67A910F2B11040 - 580C5082EBE20280A23C8042ECF20539348F72E5BF95E0CA5C8DAECBDC888570 - 6497BDCE400ED9A27CE4902D4097F9390079D9E5F83279B9C7A0CF22CE673EE7 - 93B01F91CD0210642AE7C93EB978213F9B6331A6DC74D5BC34DE8F345EE21372 - 91CD4903F898AA9AA73E4BE3253E593605203B49352F172FE4A4229B4C59C84A - 50CD978997F844362B1120330120234E352FF599C2F9246C3C65213D56352F17 - 2FCB7E4016DB362D5A352F172FF10969C8A6BE07488952CA93BECDD7E7CBF6FF - 90DC7FCAF70FB55CC3F757BE1C5222898D6C933475F92A68FF28530801582222 - B25DD325AC5859F9ABC88C7FF259C2AA2BD9FAFF1CBC67B6086ABB8683AA762B - 5F8E900CB23689CA81EEF7A2E062AC40A1CEC508C03A5A0067DF0BC0344A004B - 5FA4C2D7AE61BE849FE693087351125B7B39DBE3EF0470385200FB220460F456 - 003BDE08A0C783D882CA97433712BE89FB1B300CCD2A63BB9FB3DD89B65BC305 - F0479800D6870A6075880096070BA0864B9880710CEE42F806D7DF28B55D1224 - 80F9AF0530FB95000C020530D2270BAA5C094D27F557E97208F47AF841A1EDD4 - 970298F8420063030430C25F0043FD04D0FA7EA2B8CA95705BC257BB120643BD - 5315DA0EF415403F1F01F47A5EAA5AD7223E324E213F131EEB40A469BB55720E - 1530CEA1B5FF4DDF13568C7FCDC77F309E46D3700A512406C0FF744D3EB7B919 - A172FC8FF58C81A4FC223872C70B4CED1DE0AC85255D9BDC7E028982021883FB - 158D7FB7843CC82B168283CB35B871FB36646666824824A2EB3BF71F80FD95AB - 905D54023DEF45BDE21BFF11B92570F3993FB8DF225341A0F38965CB96B1E7E3 - 828F70FDE62DB07CF85CE49D9EFF8C6FFCE79488C1C6E122F507C53887C94E64 - F9A4375801EFF1941645CA222E128913F9C6BF10EBC91CCB4B6206010EF3E4B7 - 94277273B000219E07CF5A5A92C80AF9C67F46B1182CCFA3FF0C643FE23938FE - 3540F8038057D700DE79434664209CB53B87932488E11BFFB7D24AC0E6910FDC - BC771FCFE5380748C0F68EF00408C3CFD1BEE072D545ECF2D013330533BEF14F - DA97B4D1910B97E1CA7537C8880A06517C1064843D832B2E9749BA482812E124 - 015A29E9DB63B0FC291E1E1E8FECECECD22C2C2C847636D6698F1E3D7A48D271 - FF2835C6476BD459542CE97EA4BC24E6327E1DB05DCE2F0538B718C06E212427 - 2529159C9E04603A3116CE4C684B79C2DAB32CD8CE87D8F7EFCA09CE4E033833 - 85DD369D08706A3CC089B1D1949761C1662E448406951361895FBACDB200C747 - B363488605ABD9101CF0BC9CB898D96D097B6C24CBDBCE03B09E83EC2F009633 - 21C0EB8152495993E12C2FC382850196152F0DCDA662CC93D12F9E224C27009C - 1C877EC7208B4D766C04C0D161004786B2BC32F69412F6F04F2C2F610B7341AD - 85CCCB097B6810CB9B737E35590E227B6000CB4B62C625313151A5E842D8FD3F - B2BCA4BC9A2C84DDF703CB736DAB917FC21AF76179497FD46431EE0DB0A727CB - 13F6E458CD78C21A7567F9936C7F647018AA2BCA1A766379D9FE78540FDB7608 - B6ED606CA38158CFFDB1ACFD00F6F62D8D7937C7EED205E9F83FB704C7F02248 - 4A4CE015D6B1184E4D5CC17B8C212C3706DF47844B9579F7341DB7649BF6E313 - 6345BC3C65D93118F2C257AA14B7A3740C906D76CC8EE2BFE6B121EC6C1C43B3 - C0EFC97D5EC1B151A5E3555E94C53144C7011EA734AD0FC2FA9C2F6D5B4DEBC3 - 7C3A80BF23E4E4E4B0FD53D3FA20E3C7EF52A97F4DEB838C1FBF0BA5FEE5EB83 - 8C4DE9317B4C695F931CBF48597C1D4AFDCBD707DFF2E42CDB47B9FEBFCBF445 - 69DF96AB0F799174786A537AFC39CE95E5881E7B5C93AF0FBEC5DB8A1D177CFD - 41AE3E78FD7BE1DC636F1F7E5EBE3EF8164FF3D2E387BCE4EA834FBB4EE0796C - F7F7FCBC7C7D90E3C0FEFEDC310F8F01463D58961BFF2A179FE6CBB4FA61C1BB - 793BCA3ED389432D65BCDBB4558BF36FD410ED2FA39250B6726B67BA5F391B81 - DACFBCAE5983A63DD3F1A7EB7BED6B32CF9A1FA4FB7D751AF0F2ACDFFDEC76F3 - 9F31FE1BA8E774EDAD3381AB8F432847DEF29218895F6F9D89C85B322FDB7D45 - F791B54F732B9A078D432799F16AD5A6ACEFE6BF32DE2D6D381F3728E3DD721F - DA0A189F167BD9CF3A37B938ED707B894C1B2DC4B4485434A6DF679E357DCAD9 - E5A20095C37D7ECAEE473B624F3859FFA49E6959D00F8D19FD923C7C9A1B73E5 - E2F72F5B7E523E524E525E49F9298B65F369318E79ACFB356FF9D97C9D5107B8 - 1826E0B63BAE9FD3356169595B1CC6582F2969FFB7B48D481CB2ED4FFC12D6A7 - F91B94E2BFA7237D83B42F89919493ED7776EC67F4ABA8EFC82FA47CA48E48FF - 276BBEF2AAB3683BFEFE81CBE34DCC4F8F3632CF3D3632198F3630869AB08F36 - 31D3902B4101D1E38D4CB63A9CC72666E9E33F9856C808242CA7A76AF11B99CB - 18F73339B604FD0F56AB1BEC6CB4EFD9812E51C8A4736CCEE3DF9929EAB04FB6 - 37D8EB6F362E2BFE436C319787CFE3B54C2B0D59F03F3BE1A3F78EC6074859B0 - FE57AA64773434F43B332A3B3E2E06D989D99E3B1A1D50B79D082BEBF7C98EC6 - FBD565DD363335BD76B748D586A56DF547157DE40B481E4FFE6A6CA871FFDC5A - A3DFE38D55A69338B4E9DFD8D72E7AFEC9D4D17A7C6C6452B1AF596BCB7B6C60 - 7EC6BED5EDEF1ADFE6E6E6F029367F174FD2B4115F3E858FCE64E5DF3F25CCBB - 734C28B8754498EB7E4098737DAFF0A3EB6E61B6CBCE2C55F11316E21E0244E3 - 3CFDDD1D80B7B700426F8038E83A64396E15AAE2895F8829CF8A5F5E85CC0B7F - A8E449CCE5D8C0AB20F677818CF31B54F2A4BC940D23AC9B9415FB5C8674BBB5 - 2AF99C6BC659B4AE9CFF1292F2929833CE6D101236CD7A75D6976EBF7F63FFFD - D2CB5755BF66568FB168797A85EBB4DEED067FAD095BBB66D74A0EEB1F0D8E32 - 87489438F0F847D32EDFF5ABAED63D10DF7D5FC5D3387D3E729928E054ECF2A7 - EFBA6FBFAE5F49193BEAFB355FFB9964EC21F632AC44B90EABFCC657A95C9587 - FC9A59327C53E30833A133DA89785889E2364D3DD45596AC51BD26737CBE5BB7 - 0833F053C249F5EE2CF849D856CDDB5672DCF26E1CC9571D96530461DBB56B57 - D5D7D77775EC8BB49C282B31A8EB7BFAC0C51D0C0C0CEABC7FFFFECC870F1F44 - 1F3EC4418C67164459286585CF0F255EECD761583DE23B2626E60AB220554C1C - 44DFCE55C4E65FDAE4BDBB6DD32E5F49CA8D8C5F199EE87D3CBCBF5220CFA698 - AF749B5DA35ACDCAB275BE7BF7EE7EC8A495CBE36D22BC7728A12CB665D8D251 - 9B067E55AD7CD7AD53A70E73FDFAF559C8E4CBE7111B9422F43B917C7B6CEF19 - 3ACAFA5AC3860DAB040606EE60EB50CA97BC7EFDDAAC7307DDDAEAF4F51F7EF8 - A14648488803C70A90DD386DDAB49AC3870FAFAA4455E4F2A8676161B103F533 - 6A366A910ACD57FE773D2F1B1169FA9B5E0DE7D76D3ADC0DBF34DE273E66CCF3 - F898B6B8CD609A2AAEEEF557BD66B9DC7E7AC9FE50817D6402D8A60358A4019C - 8D48844BE78EE44FBA72DBAFA6DBEBFEF25C931B4123BBDF7FF378E1ABA4CC4B - E922B81A1507DE974FC2E36B16F0E0C67978E26402D661D17030510C535EA6A6 - EBDC097F5AD335C880FA747BFD7298D7FBBC9BD96270CB02704139A714C2DDC7 - 37C0CF7A2BF85A6D855B779CC1342E1F0E2701EC47192688A1EBA3F779B5AE07 - 07D6BE19F1B8BD6762B1EEFD37B9F35E26E6DFF3BC037EE78CE046800FD8A489 - C13C550C97FD7CE0A9BD113879DC81692F530A74EEBECDD77914575CFB56C4E3 - 9AC8770F2C84A121C530E2E907E155B33F85939FC7E45BA408A5E53F962882C9 - 7EF17957CE6C15E979C50A8786140161085BC33DE27167DCEE1F5404D35F67C2 - E58B27616AD0477197071139A39FC5E58E4475BA1F91A31F9C2326FB880DB125 - CC57EE6F1E5743B5092880DEAF8B60D2AB4C70429BA5EF85F0C70711FCF23A03 - 86FB24D0EDA55142BA8FD8105BC25443DF55906FE6970FDD30BFB12F33E0D285 - 13302FB204D6C688607E58368C0948A6DB24EDD28593D4A62BDA12A60AF295DC - DF7A36F4CD870E2F0B615840065C407E464409AC8816C1EC906C18E19F04CB31 - 9E999846F6111B624B180659C639784255B7375E4DBD33F206F967C079871330 - E56D092CC2780D82B341CF2F896E9334B28FD8A06D4155F7B77ECC35F6377CEC - 44952A5F0B5ADEFC7AE01BEB73C7C4E3C28A6136C63B25281B06FB24D16D9266 - 7DFEB8B8A55B604855D7E03F1867E772F70731E601D5DA5C7DBEA7F1DD771163 - 8305E209AFB3A1BF4F228C0FCD1737BBFF3E4CC7E5D931E656E4572AFF9EEDDC - EB5A756F861D6F76FB4D66839B611975DD438F93348DFFA6EF925F4BC6C1A785 - D67F135831FE3F69FC9F8F4A801B978EC2A3BD33E0FEF6F17073E7343031DD2D - EC75D5BB40D5F8BF18E00F4FF74E83A7BB27C2939DE3E1C1B6B1706BF328B8B6 - 71045CDA300626BB3F5538FE173D8F107B1A4F85E7461321E4FC76281664D3AF - 9D8B0459F0F4EC46705A3D18EC560F87168E9EBE7CE3DFFEFC11EAD7DB701C65 - 03CC56C39D8D43C0EBF83228CCCD828BCBFBC1B95F7F80E586BF27F38DFF3BFB - E6D0981F6F1F43FDDE45F6C6DA01E0BAB22FFD7C7E710FB05DD01D8E2FFBA998 - 6FFC93BA22E5BDBF6504B527EC55649D96D2DFCCC0766E67B09AD3192C667701 - BEF1EF6A388BD6D58D8D7AD49EF8755AD21D1CE677A19FAD66B605F3196DE1F0 - BCDED97CE3FFD0D9FDB49E5DD70DA1E5BD7F6001382CD0859B860650F03103CC - F575E0CCB496F0E0C4FAF37CE35FF7EAF368D246A49E3D4EAE81829C4CEA97B0 - 37F7CC8533535BC05983B685D949D1ED148DFF81F657AEDAAD1A46EB99D41529 - 2F8999F8256CEC4B8F31AAC653639B5B837FDDF69B8BC36ABD545257764BFBA5 - 929815F9AD18FFFF7BE39F8CE1D776DB4054524CFBE055ECD39A8CFF60BBAD94 - 0D753D46F92BBFF5D768FC13360C593286C9E2F86B2F8DC6FF1DEED871953B76 - 9071A8C9F8775B37483AFEC96237BB8346E39F9497C44CFCD26387416B8DC63F - A92B5A5E8C992C94AD18FF15E3FFFFE4FCFFE8CFE1D2F3FFE3C38BA010CF859A - 8EFF5B1B8640F84D4B3C9614C1C323BF6A34FE49CC82B438487DE30FD7368DD6 - 78FC171708C0CF7E371DFF94D570FCF32D15E3BF62FC578C7FCDCEFF9225E8DA - 19ADCFFF77F6CCC2B97846C5FCBF62FCFF5FCDFFC9380CBF7642ABF9BFE7F6D1 - F0165972ECD066FE2F619FEC9FADD5FC9FFEB920B2DACEFFF9968AF97FC5F8FF - 7F19FF7C8B26E39F2CE41C4ECEC3E45CAAE9F897FFFE4F9BF12F59C8DC41D3F9 - FFA79EFF65C7BF36E77F72FD20592ACEFF15E3FFBF3DFE9FED990409BEEE5042 - EEE9273780F9DCD468FC27229B11E10F8F764ED26AFC13BF1EC87ECAF82FCACD - D27AFC93855C7754CCFF2BC67FC5F95FF3F33F99FFCB9EFFC9A2EDF5FF2BC783 - 5A5FFF4B58F76D93343EFF4BD9AD3F6BF5FD3F59885F6DBEFF237525FDCD92F8 - AD98FF578CFFFFA3EFFF08EF7B6AA5D6DFFFBDBB6757E6D8A5E9F77F64EE5071 - FEAF18FF15E3FF9F31FE35FDFB9F00CB8D65E6FF9AFEFD8FECF5FFE55503A138 - 3F57ABEBFFCBAB074142901784DD3DAFD1F88F7AEAC63E4205FD86DD7300AB59 - EDFF51E33FF8C21FA050173717059FDFA4A7CC07B1138B44A812FAFBACA8B810 - 8445F9505220809CF8500871DA9E177A71D370A5BCB0044A9E18965371FE47C8 - 8E79052197361729E3895FE2535894877E735139509C978DFD3D13FB4E062D8B - 329EC62BE75B59BD84C8D40BCBB37E49BCD42FE793D48B08CB26121683B0B880 - 8DB150001FE3422194AB1762579C9F03252197CA4869BDA08FEC98405A2FC4AE - 04FD92B15D887E8B72D3F13C93427921690BF44BAEC14BD02FF1235F2F44842D - 490D2F23962FE0F54F7C147E4C95F285E4734E1A1464A7A092213F3381A6139F - 25856CBD101FC46F610ECB123B298F6C21C65C9095844A84BC8C38962F285F2F - 44AC6DA2D236A2F58A652DCE237E33A431B3F1254A6354D62FF8EA8588B079E9 - 1F54F358C7C4278D97AB97FC8C78CA0AD26254F26CBC844D627DCAB082D46895 - BC3AE263AF5EBDBACFD1D1719CE433D97675753556E7DC6F6D6DDD232C2C2CEB - C68D1BD2E7C192EDD0D0D04C2B2BAB6EAA78E78B0EFB051FB3E0E5CB9789A74F - 9F6E4944B67331CDE9D285BDAA78A70BF67B3313A2A1B0B010AE5DBB664144B6 - B312A3C1E9C2B93DAA783B2BAB4161FE5E82223CD778787884A3C28A723321C4 - D733CFC6C262A0CAF89D9DABDC72750CCA498C82E4C478E1CB800021D9BEE5EA - 14E4CCF337E37CBA78DEF6687CF073EC2B89F0CCDB1312427CC0F182ED5175E7 - 5F67CE9CA9F7E0BA537C760C1E7F5F05C02D974B09A6A6A60D3499C35D717488 - 4F7EED05D909EFE0AACB950FEA3FDB37F3DBDF7FBF53FFEE2DF70FBEF7AE417A - C40B78FCE0DE8755AB5C1B907D8AB9E45A0C93E0C43089A22A55E28B4D8F848A - B10C10EB770F4C0F878BAB54492C26FB1826C991D896E713CFA04A50462D5B46 - C67FFB4D3C5CB970E1FDB54B8EEFC9364923FB381BB3B26CE457982640FFA6E4 - 73BD7AD17FE267D8B0D67DFC86753727926D4CDBC2DA269C666D43AB97F2A9B5 - 314D8CDA86FA1AE58B7A8F138B4AAC12A3B934B26F3B6B5BB60C98760755884A - 4709D1CFE4D27D0993D9B4C40CCEE676F9F2677C8376BBD9F892FB97DF1F3F80 - DD476C32BEE16B03BDDFCFBC597CDC359AEAC455BA1E8669CADA5BD7F5A5677B - E700209A68E909675301CC5167399134C97E622BCFB773F405E3342155FF0BA1 - F0137A231ACCAD499A614A31EC4C2E86F68E7EE58E57ED2E3E97F2DD6DDEA29F - 0FD0FE721C553BDCFEDEFA0D6C4F2C843F130A80D8CAF36DCF7B4B7922A3D412 - D885BE762417C1B6C402CA6D8ACB830D1FF280D896E3ED9F506E37723B91F92B - A908B622B3253E9F72BF7F10C0BAD85C581D9D03C4569E6F63EB013B90D99E54 - 085BD1DF66E436729CE279D996A2406EFED1C6FA018DF10F1AA300D6A3D6C4E4 - C06FEF3F42A0DD5ADEEFFF04295110E4B039EF85CDEAE1AD2DEF524E1223E156 - 4465C3AFEFB2E085D50A3A77913FFF9379C9479CDBBDB45E55D4DAFC36AC8AFE - 082B915B86CCD2C82C58F4360316BC4D07DF338BA4F39E1232F729E6D6DC673F - B3C5D0DAEC26E5964466C242E4E62337273C0D7E094B856727E740319903F89F - 2E27329721FB5B99BA515FF3DEA4C36C646685A6C08C9064D00F4E02AFA3D3D9 - B90E39FF4BD719EC3C09D7DE2606D0EAD435EA6B267206C84D0B4A82C9AF13E0 - E75709F0F8C0243A97E29B839074B2BFD57117984E38F43709998981F1301E35 - EE651C3C321E4BCFD9F4BC4FCEDF9992ED789AFED0780CB439E9EAA963E20C7C - BAB74B8F3DD72B10D9AF6C6CDEDE361054E9B33ECFD3B8973E980C7B0DC7C7C6 - C3F1D1F17078C86B30EE3D552DF6F0E0B3E0B43E8B3C1F923E7739230620C61F - E0E2AA4C383AF48C52764FEF69E0B8360B72D3D8E75EE7E17562563C7D6E2424 - 860138ADCB04E3BE9315F2478604417C08FBAC47F2EC69F2CCC9CC38F67995DC - 332BC164C42B85FCB151F19012C932D989ACEFB428808450764D9E876D3A215E - 214FEA8A3C6332390220F51DD0BC48DC44E419D2E419E4CA7852E71F0201E283 - 50C10071AFD9B8491CE4B980A43E4D862B8E7FDF0FD3C07943267D5635794E35 - 795E357986759180FA165DDE98FDF2A8FE62A56D7074D819B8BC29938DB7808D - 19FD12F6CCD91DE4F9AE05E45A5D691EFBFA4DA1F57C6A7C3C15C6FCC264E622 - 96A5CFD62C549907EFF758A16365F228C2CF93FE9E3C8227B065E0CAE21436FE - 13F348D3EABE3EF44B58D485FF95E7085772AAF48E719279CF9C71BFA9E2C3C3 - DE888F8D8E171F1AFA06F6F79BAA82C78B07C650CADA2ECCA0CF7027C2F124B6 - 9E9741FBA71ABCF8F090B7741C93630979FE6C327B1C111F1D19AE166F82C713 - C267C4E2F1208A1DD7B9A9203EA1F81850863F32EC2DC4BE608F0544E4B884E7 - 3B75FDC3FE0153C5768B33A8FF7CF639FC42BB255946A6BB2C998B010D55F2DC - 58161F19F186C44CFC1A9E32B4AA74CE1F50C1CCB9D78D55F2F27DD6DEB70161 - E5F3402E9271667652DE99395AC9B1520CAEE7F1E661F3B211B2415C1EE1CCF9 - 80EF2A3B55B64056CCF98FC7750EF29D94DC9BDB58260E3FE616F35525E74A3E - 1C2F4656E5F98EE671DE3F00792F764C33CD91CF44FEF4BF71ECE1354E73145E - 9BC0492D58BCF6021FF2252C0AAF8B60AA86BC05C7113E9E7B0F4C270DF848D4 - 4E8E3F8A8A41CDD3A21C8437943DFEC091616FD87990EAE34F199EB072C71FB0 - 517EFC29C31FE13FFE8089E2F15F863FC67FFC81538A8F3F65F8A3FCC71FB5FD - E3F107ECCB1E7F44F678FC3133C6E3CFDB866AD53F3B9778436346BF86678DAD - D873667030E35AFEF883EC3B94C2F79432AEE10D28AB240FF57E4F0B0DE2CEDD - E18C4BD8771AE7817E4BE308F1D36ABCD23C420390F7D2EEB900CC4AD450AD8F - 174ECC103CDEA53297183D356C179063AB0209BF987F25F30795E5D762FE202B - 6DE60F65782DE60F65782DE60F65A4C5FC81A95A32B472E5E295DACC1F90D5AB - 5CA53815D743349D3FD07778542929411EF854A54AF10265F30775FD2B9A3F28 - 2CBF06F387CF7C2EAFFF09EC6EEEFD689DB4608DB8633879E75D552DFC12F696 - ECFBFBD464E770AC2A91F7B74573738406327C77EE1D6D85E41D7E286705BA82 - 0AE7F28A45B595C9A317377F4A457DAF22DE055C2CBEE4BB6599F41FB8F7CBA5 - AA7A4F1CEE37E1E2182C974EF2B8866AA8821FCCF1EBB5EC279FCA1FE7F8415A - B08BB8FA7B2E5B7F32EF113CA7A0FD5C506F38BF648ED88627EFDEDCBB1815F5 - 9FF7DCBB13EBFF2BE7F9CE8CF6C70647A60BB9CEC273EF2EAD7873A61AF23754 - 5D27AA88BF3AF2D7491E78DD77406E5F234C3B46AE1FC9BC42C99C432A2CD32C - 8E6D8F9FE3B8F430D495CACEFCFFF05AF12EEE2F440990EFC618329571FB05AA - 043FCF51A30E935059E8B31FFB8C27468F96C7B1F22115656F4AE63CF43AD399 - E9233317DAC85D3B0F50C137C2D8AFC9B29AF04AF21DCAB5C761AD78602A615C - FE5CFDCDD7B26FB643FE036D3FC74AE1989F0B6FEB39563EC7B832BCF37EE622 - D310F71FC53CA295F49F022C6FCF7FD6B5FBA72F9D3A7D98BC7B374C5666B374 - E9D22E6BD6ACD9B36CD9B21FCBEE39378B619E40C78EB1606848CE4BE517E456 - 9E3E7D3AE1F1E3C7B07AF5EA10CCA35AE95EA31538B9034579CC9B37AFF1F1E3 - C763C97315F7EEDDFBCEC0C0803EFBBD340FC3AA0CB3C759511EF3E7CF9FE8E5 - E525CEC8207F9B7621F9975F7EE94EF258B56A55C8F2E5CBFB2ACA03EB632AF5 - B364C994674FBD4505050520C963DFBE7DEF3C3C3C60EDDAB532CFA82E9B479B - 364E7F011E1B5ECCADE7607BFA28105E9207290BD647FCE2C58B3B95AD299AC7 - F2DAB5FF3A9E9C949CEC39BD967BD1E52DF0C86836581E36048C438865011313 - 9318F4BD42E13BA1D1EFC3E9DFDC236CDAA171F06E4573301F56FDFAB2250BA7 - 90FAC03A68A88C0D9FFBB59D2C7B7270150FF33E4C3595EFA2E6618FFF54CD3B - 252931B9458B163FAA64E77C6D2BCBDAE831AEC46FE7CE9D27A6A6A6A68C1C39 - B2BF22FECDDC5A73F858C9FE69D3A64D7272722A767474B4373434AC2BCF1739 - FF3953C25AEB3157F9CA8BFC3D232323F8EEBBEF7E2DFF1E6EA652D4F266BFD8 - 0E63161BEA317C0FA6658C8D8D5B366BD66CED7FEBFDDFFF9A7989219E053801 - 949D77D1CF595952F118FCED3C7CDAC23021E89B135956AC281559A6CA88C7E0 - 6FE73FB9FC50FA8F2CBEBEA5A2F7EEC8882E01CEA5FA07F0FF541589A18A470E - 2C2E01A8AC0D7F3F077E5EF301043E82B2D799EA284704D577248077D3D70007 - 93E172BE58B3EF041EE4C094816FA088090018130902BF3C507B7E9A2D84AFB7 - A3EF9A2FF103F2F55F01EC4F06974231287E27BAB0A81A08D23BA2FAF9A4E72C - 1BF4465C4C5889464742A1BFA218B2E275847E4E4E59D6CB33528E4E11259DDF - 506CF3CC131A041449F97A188351125C2DC71617D42AF630F7885AD316426730 - 1062C0E0BA12BCDFD40D2E7BDF03D918C64682F0C25330BE7E1DB612858763BB - 7C08D44F301E413979A59C9801FD0232A47CED4080C52EF9D0BEC37B1830200E - FBB7D84414E5B32F6A751B5E3E066338F83A12FA8781544B4245F0DDF751D0A2 - C53B78FE5C64228EF6DF12BD5197978FDB3100D6AF0A80663DA34AD5230ABEAA - 132EE52123B67BA6F5F2FCD01995CBB0A133AB4096E34EE8D3E32D3940959394 - 17955482F0FB1B33CE2EC87BBBA421E0FC03229635856CBB551F231FBF7AD601 - CBAA9467DBBE3224858D12BD72B72F7AE6F0441C74CB0252220646BC116E548B - 57A08808F8FDA79FE24147E75D39FDF0C307F0F1112BE55353A11FDAEC7FF64C - 544E243D3E1E46C9CF071A376AF223CA0A158512728AE2D214CEC1705F6DD439 - 14A810B1A92DC7D641F9AAC14A446CEBC8F0E7B9F400D44A541017773C272197 - B692B321B6E73976804CBEE65C5A55542D99FC6B91346EDB5CC69EB0B6329F4F - AB9A6F111B197BC24673DB62540B35F8169C2D70AC88DBCE5277CE476C3946C4 - D50D70EBEA6AB0D5E5984899F2FCAC06FFB38C3D61CD643EC7A17A29617B7136 - 127BC27ECF95E318CA81AB1B2FD440196E30EAA94CBD49CAFE3DB7FF0497368A - 6B9F6BA8BA327C239E3E7842AE4E6E72E59984EA87AA2CB3BF861C7B53BEAEF1 - 7335D47E5431675383872FE66CA4D7160F1E3C2823DCD71AB5A16993EF2A4BD2 - C8364923FBE4ED151C3BBA71D315F252D93872CB37AA8B92630D991F90073491 - EFC53B151665E4C4C559C1B6DBB361E7DDF9101F6F0DC5C559E45EABF69C4D5F - 283BA7B8F836FD2D148B8A3370DBE576D041284CBF082B6FCC8115EEB3E9F69D - E043F4F151C486D8723149F8921AC635C0FE953D494F9E7A71242C47EE90DF21 - 2AB26D7089BEA3358ED8105BC2C8F050C9B012183E36A4B799E99ED685894E13 - E1902FCB4F709C00DDCDE8F363F3890DB195CC3D39052DBEBE18AAECAE020E41 - 0EF0ED816FA1994933F8D1FA47AAE626CDA1FEC1FA741FB121B68491E13B89C4 - A2C4F957E7D3FD75F6D5813E567D60BAE318AA3E967D681AD9476CD036813032 - FC6AF267BD980EFA4EFAD0E05003307031803537E65291ED86871A82BEB33E61 - E99F00A3D672ECDA888C08687DBC35BD7EA9BEA73AE5E7B9CD83E53717C0B21B - F361BEDB7C9A46F6119B56C75A0161705983CA6E73BC0D7436ED0CE601E630F3 - F24C6A4B9899AE3360D6D55934AFFA87EAC3CC2B33A90DB16D7B82FCFC01A44F - 3CBB1276059205C9A2B4BC3471C7531DA1DEC17A60E06A80F65361A6CB341A3F - A93FB28FD8A408528484212CAA1E79A735A697F430EB01F50ED48306071BC0E8 - 0BA341DF712C18388DA3DB84AF7FA03E101B624B1EC3C9B1A40E52FA98F78146 - 871A41704A30B43DDE16BA9EED0A932F0CA1EA6AD695C61B9412446DFA5AD067 - 91A5C8F61F522FA7FD4ED3989C439D697D8FB4ED0523AC7BD26D49BCC446729D - 28C30B48FE37236E9234F27BA3EF29BF53D0E47063AAD3FE345FF2C7EBF3890D - 577702199EB4430EEA21AA368AFC7D3F819239997269B5399B1C8EA918FF1A8E - FFD7C9AF618ECB1C8DC77F636CC7D8EC58D8BE3D143CBDE8BBBA63D51DFFFDAC - FB816BB82BD8DA92B96328D4A923022FAF7CF2B70F06AAC6FF3A1CC3CFE29F81 - 8FAF1FBC78F102D6AD13611EE1340EAE0E158EFF95B716815FC27338E6F20AFA - 662440AEB098DC97057676A1905B44CBB05ED1F85FE8BE10BCE3BCE190E30BA8 - 5C24A4410ECE4D8367CF7DE0CEBB3B742C2B1AFF64BC10D6E472A094253AE0F4 - 020A4B0A41D5F8BF187C114CAE0442A5A212297B10D9EB6FAE436FF3DE4AC73F - E95BC1313930EF4158A95F2CC3ADC85BF4D8A0C6F84F3A76F53D2C381A0C0B3C - C2E120B26E6FDCC025DC45ADF19F9A9AFA71D1D2DFC0E46A1484601C8EC197C0 - 2CC04CEDF12F1289AC525252D2B9F34B9AAAF1FFEDB783191D9DADAD5AB5DA3A - 5B47678B934E8BF51E2D9BAD78DAB2F91AA3962DD6D6A95EADA1D2F95C8BEF56 - 3546D604F51625D269F907E8B4DC88D7285BC8FA6EA3061B70AE5F45218F7691 - C8A1FD9FD0B2C57A8EDD0CAD7B1841FB81FBA0D3D03D31BA8BDD3C7597DE98D3 - 6186C3CF7DC61F99D17BD43EBD964D7E6CF84DED160CE15AA1745A6CA01CC9AB - 55DBBFA0DBCC733068B92DF438740B062CB6876EABEEC18FBFB981DEF4933064 - C86618D867DDCEE64D7F60B8384B5954EBAEC6D067DD7DF8F5881FE81FF483FE - 1B1FC114434F30B27D05C6F6AF618FDD2B58BEC3E97CCF815358BE15C6D0E14F - 29DFE6FB7DD075F57DD02542BF44EB4DFD393E88F0A23F4D3D4D068F5BC4B46A - BD0D3A8C3E0B6D7A1997F23D0E505E22C2AF3BE547FDCEDF681DB7FEE0EDADBF - 1F79F4DB9C95676BB71B7A0ABA8E3D8E1CEB5F47E70FE838F51CE8AEBC0DBABF - A1EFDFEEE2F61D5877D207B69B3D83F5076F8A4919481C0BD7591AB5EEBC135A - 77D84AEB900A3F771C6A0CEDA75940871976D0C1C0163ACDB085DF0E3E82DD36 - 81C0B2AC56ECBCF652A7C5EF587F9BA4B1EBB4FE1DDAF7C7320C3786D6B86ED5 - 630DB4EDB516F4A61DCC98BFC5A560EB191FAC8740F10EB3E749060B4C3690BA - 97B0946FBB02DA0CC075A725D0A2E50CBC4E269A2E6ED978F828DD3ED3BA4E98 - 653475C8B8E53D9A37EF5EAB574F3DB6FD65F9D61BA165EB5F919905CD9B1B60 - 1E33A165CBE9A9AD9B0EE37D0F972C2BED87CDD742F3A68BB05DD7430B9DD984 - 8F6ED3A87F55853CE97F588E16DF2D87E68DE7A2E6408B66BFB1F9B5DA8CFB96 - 64B76E3CB81E2F4FD94D68BF92E59A107E361D0BD2B87436885B359B3BBA6EAD - F2AF7EC5F196D4A2F9EA24F49B842C55B346B392B03F2721CB4A674B52AB96EB - DC5A3533A8FCA5DE1118ECF0072853C805F69E79653C88C5201609E9FD65E4BD - 11A29242E9FD633909E110EAB83D2FF4DCA6E18AF852967B0E0165D97BDFC9FD - F91FE3422044411E8427F7BA11D6DDDDBD9C24F7F6D3E7115CDC5CC4CB93E710 - 70CF3F10164AFCE6943E174072DF3DDAF2F1D27BE50AD9E709C8C740EF27CF49 - 53CC5356C03D8B2047E6FEF74C294BEFDB57C097B26CBCF2FEA5F7ED2BE2659F - 8140EEF7273EB9670348EE8127F7F82BE215F99588DCF34FEFDB57C4F39455FA - 4C028E25F7DF2BE279598C57C292E712D0FBFE15F1D2B2A64ACBCA3E6B205ECA - D2FBFE15F09A88A958A48BDE99F71FE6B926454B34D329317A8479B4DABF932E - BA9E1C7D311527C39CCE278B61DBB38F19BF5C498C9EE59C103D133503A5EF14 - 1FADEF181F3DD8F4DD07597EC1B5E468EBF812B0882B06B3D822308D2E841351 - 056012990787DF0AE0C09B5CD81B960346211F615750364CBE141B2DCBCF7249 - 885EE89E0C8BDC53A816BA1125532DB8CE6ABE5449F08B4B5289815342DC20D3 - 777B093FD5F143F47CB43D8F335275651C9857D2F74804FDFE77FC8598E845EE - E5F973580F764962B04D1481758208ACE285584621987F288105EE29713D0DA3 - E977647A9651F1EB9F64D07433D499D862308D298253D14570E27D211C8F2A04 - 9377057034B2008E44E4C3A1B7F930C9E1C30B49F98798BF4BDFF9F2234D3FF8 - 260FF6870B605F98008C4373610F6A77480E1806E7C0CEA08FB0E3F547D8FE2A - 1B4658BCBF216D7F8B28C15FAFD8F46D8159B0F565166C7991099B033261937F - 066CF4CB80DF7DD361BD4F3AAC7D9E06BF79A5C0805391D2BFF1186EF5BE80A4 - AF799E0AAB9EA5C26F4F536085770A2CF74A865F3D9361E9932458F238091679 - 24C2C2470930F56A9CB8E79130E977E73F9C882C1E611B45359CC826AA7898CD - 3B85FAF1644489A4EEFE5797B4F187EBA6F5B73E4585DBEA7286868695D2FADB - 2F4CEB6F9982AC9015D9B65F48F629F5D9D7B607DA7BA3206D80A57FDAA033FD - F8D278D91FED7728F2552E26B42DC7F7B7F6A03E54F3406C15F06F514F391B5C - DBF764259B466D14F11EAAEA4F62A788976BBF502A99F65397D7244D263D4C99 - 2F2EA6305E9EA7FD14D6094FFBB1FE78EBBA5C9B68D07F41519FF852E3E79FB2 - 7CCF04D6EDC4F89E2222DB6A83BA50A923E3B7109582127222DB0BC93E656807 - C6B707DA79A300E5DF81F1EFC797C6CFFAED50E84B2E26622BCF63BA07E74315 - 4F6C3C14F06F514F399BA79D19BF9E44B2699C8D22DE4355FD49ED14F132ED87 - 9F438964DB4F5D5E9334493AB64D98325F641FB1E1E3F9DA4F519DF0B51F5914 - D475B936D1A0FF82C23EF1A5C6CFDFBC981830352DF46B8CB4D2AF7EC042BF7A - A8A57EF5284BFDAFCCADA65737B09EC4D4E1636CF46BB4B5D4AFB60C6D9D5139 - 2850A002B4BB6F31BDFA164B836A7DB4E0F325BC8D41755DBE580C7E5F527FE5 - BAC9DBFE5C3128E0C89C964547E6EA14FFF19B5EF0924D73F64D35DCD498F73B - 4C1BAFB66D2C9F2C6B6DE9E9DCDAF2490E0A14A8A095A5E7FDD6164FB6E8587A - F5D182CF97F2369EBCF17F6370A77E935537B635DB7E2740E7E8C3229DA38F8A - BFFBF35670935FDDF73599EACA1BFFB71D6DDAD6E968B7EC9B8EF6CE753ADAE7 - A040810AD0E67E9D4EF65BBEED6CD7470B3E5FC2D76EEFC01B7FD70186F53BF7 - 33DCD6AAF7A180865DCD8A1A75332B6EDBF76070B7017FEDEB3E90BFFEB76EDD - DA76F3E6CDCB50CEA81C14285001EA3E6A0BAA8F167CBE0CCF1BFFB66DDB6AE2 - BE71A893A8484E647B1CD95771B5FEDF5F921D9826C93799FA1A316799AF925D - 99E9C9D79803B85E8FEBED541E8CD21F44D0A62F6A37A7BE65F621CBE5B35F36 - 9E644FA65EF2659A7E80FA44DF3CF17C83FB4D51EF5102D448E9BECBCC289AE6 - CABC48BE87A74D59CE8D9985FB5EE2BE345C97A080CA8DD193B1D193A65F63B2 - 508168FF189580CA93D9076AF0CA24A0795F638E26FB32D2BFAFC2BAA88D6916 - A8773C8C0815893E5C92EF30C394D63D5BBF56187316DA7FC4ED07A8C57CF5A9 - 349F074C4B6C93B61523E7BFBB1818187CAB8E14F153A64C0175A48825F7D6A8 - 23BE3C485A6E6EAE5A52C4676565A925457C7A7ABA5A52C4272727AB25457C42 - 42825A52C4C7C6C6AA25457C5858985A52D607B4ED3F9FA3FF562C9FB67CEAF8 - 27CF0956478AFADFE7E2ADF4195EFDB7FCFF3FC6FF39C67FC522B35809A731B6 - A204C61EE2191BE1548DD839F15591CD602E426F2AB24DD2D45DF666D4442687 - B185068C2B34A4DB244D93C546B89DB1176552D90AB7695507B6C22354DA2EB6 - 42432A8D3951340AE414FDC5FCDB621D9D0707C658F0B54AFE42712DEC131728 - 2359EC219FB1114562DA3BC6AAA48F42FE9CE8076A43ED847934CD0B6AE0E742 - CC23156DD762BB4D50C85B0927629F58CBD916E1BA3A7313BE41DE9DB103035C - 7F401F3D14F2F6D0136DE2B04FE8E3F60DC61ACA7E9FC5E69182CC49F4F323AE - F7525D84FE987E8AEEB387E94AEBF2BCB009E6BF076D0351459C02B17E8CE8BE - CFBC94F93BDE5DBAA0B6BEC43D8715FE2BFC57F8FFFBFCFFDB9F03C080172A00 - C5F77CC7C6DC3E2F25BC1F775B7EB06C1E1C1BCCEDF353C23742057176E4595F - DFF1A435555106595FC172DB8DD5AC07D93C346279CA212D8B16BE358A9FAFAE - F8EAF40BB6DF27F59F7FA3AA5E0ECDE59E25AA50C446F1F39B42543FA081B5F9 - E27CDDABE1A0695964796D62F922BC8769F9E33D49FB3BFCBB1B72EF1048A2BB - 5AB8BF95DC77F311B55C1DFFEDDB036CDCC86EBFCB2DA2DB248DDCFFA3D27FDC - 6BD8B4893D0EAD5FCF8A6C9334724F8CBAE59770927C4828A438F2FDBF9C7F93 - E1F49D085BB694E5C5629657A72F2B8B5F1D5E59FDA91ACBCB0312E063B1089E - A7E743CB1B6FA1CDCD084199F6FB072F4DF6F4D6FABB9626C6BDA1F19E5ED0D8 - A897C67934D98BAC712F68B4A72734DADD031A1AF6008DD8BDC81AF78486463D - A081E1F7507F176A6737D088DDD303EAEFFE1EEAEDEA0675777685BA3B507F75 - 559847532C6F136319D6A83BD433EC06DFEED4856FFEEA02DF6C67F5ED765D95 - 713490B0BBBAC2373BBA409DED9D35AAC3FA58E6BA12F6AFCE506B5B47CD792C - 3389BBF6F64E9AF358DFA4BEBE41DFB5B77582AFB776D08CDFC9F1585F84AFB5 - 5533FF0D90AF876DF52DF275B6610C5B3B557C67A8C1D2A9930D74EA640D1D3B - 5AE1DA12D716A029DFB1A30D74E860856B4B5C9B6BC477EC688B8C351E63ADA0 - 5D3B0B68DB5653DE06596B642D91B580366DCE6AC44B7CB3AC39B46A65A611CF - B2561C7B167474CE80EA3A2375654DEB8CC4DDA68D85946DD1E234CA14750A5A - B63C058AF3B0C4B8D932B76E4D5833B43F0DCD9B9BA24E51A98E9DD4F759E4CD - 38DF2CDBACD949B5EBA05D3B33E4CF207F5ACA6BDA07DBB4398D3C5B666DFB71 - EBD6A6FFF8712F3FFF50575FE6F9C29FD1BF61373DA934F45FEEBB189ED8BEA4 - FFFF89FAAFF05FE1FF5FE6FFEFFEFEB5A2FD2BFCFFADFDFF53B543B72B8E8D92 - B263A58BBFDABC2153190CBB0C418D849D9DF5912FA2DAD6AD89C6B1ECECB21D - D9282AB2AD096BA85715B93830ECBA0176EA6EC4ED0458D6A79AFA7C9759C8E4 - 215F1F0C7BD6C5ED5C8C61A6FAC7A12E4F913D23735C3203435D6F35DBA017C6 - 2C861D9D4BDF2362D85597A61976EBAB46EC76687F8FE7D8781F65AB94DDDABE - 11DA14C0CEAE3F97CFB7EB242C43A1D2B634ECB2076DC40A8FB9649F61172315 - 6D769CF61F3EEDD23DA1B02D49FB48DA4C617CD89686BA02D48CD2B4EF3BB3F9 - EB8620EB46B7FFEA54FEFD37248DC6D0C51DFD04B30C6175FD78CAFA9CA7FE9F - F3D4871F54FCEEF7F9B4A6FD57D8775761BD3A63FD46B2FD413713DB3500FBC7 - 4A3060AA28E5B775F90E6D83681BEFD4DD85792D406E1EE671848E0BC3AE87B4 - 8E6DA7EE56E453D5B6DFDAB901FCD5AD1D8D89C44DE2207D46D9718C612A61BF - 5C8AF186C9F53511FA16AAE40DBB1A53DB5DBA97B1ECFAF8B91F1E7346D37AD8 - A57B5D296FD8A537DDBFB3EBAF0A8EE75395F2E49843C744D7F6E5F3FEBE2DEE - 7B48F79336E6E33777AA83FBC3516FD1D71F58077331A6CDB8BE232DBBE47CB6 - 4BF7A882F23745C6029918DCCEC77504DA5EC0B4F1D87E06B86D4E65A8BBE9DF - F4FB9FB2DF00D5F9CD49D96F789AFE7E271F8BA6BF7FC9C7F2C5F8371E0036F3 - 012C7F01B09E0BF0D6437D9EB017574199F77F3AACC03C1EABC7137F7CEFFFB4 - 5BA41E4F62E67BFF27298F3ABCCD3CE07DFFA7ED42F578524EC73520FBFE40B1 - E35A707FEC0E698542A87B2D2C5365FD933C883F120B96DBEDF10DBABFDBDD48 - 78922698A369FBA71709294B6CAA5D090997BCFF93F7F743054B6A610974B913 - 59ACE8FD9FEAF4BFD8BCA2BB8ADEFFA9CE58FEDA353499EFFD9FEA1E07141D0B - D41D3B8A8E05B27CEB9B733E89679C47B21B6AFE86AE90D7D0FFABAC28F0C908 - A73C5993CF657E4B56E1FF797A1834BAAE4F79B2269F352DBF47EA2BA8727934 - 5D97FB2D5BCDF27F4AFBEDDAA5F81D8A64DF97F6CFFBB713FFC5F26BCB7FEAF8 - D35A0ECB00CE2F0538B7188F930B21392949A9E0F42400D389B1706602FBFE4A - C2DAB32CD8CE87D8F7EFCA09CE4E03383385DD369D08706A3CC089B1D1949761 - C1662E448406951361895FBACDB200C747B37528C382D56C080E785E4E5CCCEC - B6843D3692E56DF1FC608DC71B2B3CE759CE8400AF074A2565C9DF85105E8605 - 0B032CAB3E80D9548C7932FAC5CB60D3090027C7A1DF31C88E427604C0D16100 - 4786B2BC32F69412F6F04F2C2F610B7315F6B712B110F24585200231E409F3A1 - C4C7AE347E73CEAF82857001F9116010B903FABC9C0B135FAD82FB498F202FF1 - 35D95D551A332E8989896594999305FE8237D0276409747F310BE20B53A0ADC7 - 706871E747F04E7C0C0525053BA4E555E09BF8256CE7673FB37F7F846C13B76E - 30F0EE18C82DC94D92B42D9F7FA1584463267ECB9C43057150FF620BDC2F2C91 - F6479E254F5440CB2B89992CF52EB7815A0E8DA1B76B3FC829CA49A2ECC9B10A - EABD04EEA73F95C64CFC12B6BA752DF088BE057925797F5116FB1483C3505E35 - 710AE81D9D0F77E37D6979EB5D6C4EFD123637C687AD7FD9FE78540FFBC51080 - 4383010E0E0438D01F35004A3C4E416EF607100A8B2137331A8AEFE3E5CBEEEF - E173BDFFEFDFB2646666364605A0BCB464835180F2D3906D840AE2D87054D3CF - CD923271656BAC20E660D97D3CBC9FAC9D26AC025F6AB30AF2D088E569E3004D - D98AE533FE5D41F4F0BA70AFC7292ADC56973B7AF46825B8D963213CEC9182AC - 908A6C631AD9A7D4E78DAE3DD0DE1B05F0B0A73F3CEDDD8F2F8D9FEDBE4391AF - 7231A16D39FE5E0F0FD6874A1E88AD02FE2DEA2967F314999E54B269AC8D22DE - 4355FD49EC14F172ED174A25D37EEAF29AA4C9A48729F3C5C514C6CBF3B49FC2 - 3AE1693F9A077F5D976B130DFA2F28EA135F6AFC68BAFC07AC332762 + 4C7A400000001000000010000000A23700000000000078DAED9D075C14D71687 + 4751A35113BBC682BDA18935C6165BEC1A1BA2C6DE6289356A346A5444EC8A0D + 453A282AA0A082BDA18048B3D10569D23BC2D277F7BC73EFCCAECB325BD597E4 + 3D46FFBF99BD73BE7BCE6D337776991986F93C4BE746751A6C19D1D189886CAB + C3F46FDBA0C9C0B60DBA90ED416D1A0C4A3E3D1788C8364923FB880D1F3B00D3 + 1FFD3E34ECD5CEF1057F8EECB470CBF08E47322C974386D53220DB24EDE5CE31 + 050FD70D091BC093C7A0B60DBB1016DCFE82D4537321C76E31C0C33F001E6F80 + EC8B1887A501C0D395F062C7E80262CB17C3E6111D17A69C9E0DE0B109E0D11A + 48B59D0DA976B3707B19A62D83C4D35381D8C8735D9AD46980790E2271665F9A + 03F06405786D1A16BF7A5827FDD5433BE97BFE3E345EECB200D24DA7D1B2105B + C2487852C7C966FA907EE117EA27D5623A1056B27FF10FBAFAC9872701D8FC02 + 69B88EDD3D0E0823CB27994E85349B1900D71741EA89A940FC4AF97EBAD393F6 + 4D0491990124EF9F0051BBC694E365E34F3F360544D6BFC093B53FC62FFEA1B5 + 3EFA9EEEB16A507CC1C96910B7673C6FFCB2F517B7671C80F90C2831D587188C + 336AD758C83A32193251AFB78EE4AD3F49FB3D5B3FACA018B9C89D6320C6681C + 641C9E0C29072741D88ED1F062CB4F1085F93D5CF5236FFB913E7177E5A0B0A7 + EB864AFB4FD0B651F00A7D4AFACFFDDF0617DC5C3680B7FFF0F5DFA71B8681F7 + EF43D5EABF9F62FC68B300C02713B39B49658C98595AF3860C30FB9902C69839 + C138333A5AF1CF50A7308F3D4C007E6EA2311FC8E93C53827964605A5FAD7822 + 77468C791462BD2CD08A277A24AD135BDC5F4D639EE8096A37235215C727F7FF + 31E597D4BF11D347CBF6F7D7AAFD3FA6FF7D64FFFF3BF42917875FFB82AC54A5 + F3F110E84C25CFF3A557F295FCFF1AFF31E3E7DFBD3883FAE2E7FDFC70CAFE10 + C0CD0DE0E245000B0B00131300232380CD9B0156AD02A5BC2A76C102E5BC2A56 + 5F5F39AF8A1D334639AF8A1D344839AF8AEDD14339AF8AEDD04139AF8A6DD64C + 39AF8AAD534739FF71FDEFDFB9289F1BC012D466CDE613F035AA06B7ED860AE4 + B66B907D2A5803542EEA300F7F189583D257C28A509EA8563C7C2B94374A889A + 2EC73645BDE7D89A32E9529EFB5C93CB83C4D85826DD18558A6A2F976F399E4B + EB882A4319C9A405A1EEF294A902CFA5DF47BD94F95C843AA46EFB61DA119440 + E673211FAFA49D0ECBF12F51F734E0E5E3DFC3D5497B35D84E5C1BEE966BBF3C + D413D4174A58D9F66B22B76F864CFF69CFC376E45891923E3883CB9BC4778FAB + E7235C79855CFF9DAEA27CCDB8FA78852AE044B68D48393FDB7540606075BABE + 9D745BF6B35AAC33E830B7130399BBC95D985B4901CC9DC409CCCD44178DFCDF + 4CECD4FD6946D4BAB745050D1FA6053277121AA8CDDE4ABA43FCAF4736AD0C60 + EC8B1C606EC401E386720EA9A06A9743F32BFA4F184BFC12B6AF4F3A84BC2F06 + 10960294E1BAB408A0A400A018BB7C511ECDA342F96F25B9325763EB3137E221 + 1CD965AFB39043B6A41039648BD065611E40416E05BE5C5EEE71E8B384F359C8 + F924EC7B64730004D9CA79B24F2E5E28CCE5588C293F53352F8DF73D8D97F884 + 7C64F33200DEA7ABE6A9CF0FF1129F2C9B06909BA29A978B17F2D2914DA52CE4 + 24A9E6CBC54B7C229B930C909D049095A09A97FA4CE37C123691B29019AF9A97 + 8B9765DF218B6D9B11AB9A978B97F8840C64D36300D2A295F2A46FF3F5F9F2FD + 3F24FF9FF2FD436DD7F0FD552F8794496223DB244D5D5E07ED1F650B21104B44 + 44B66BB984952A2BBF8ECCF8279F25ACBA92ADFF4FC17BE68AA08E6B38A86AB7 + 8AE508C9226B93E83CF8EE5E345C8C1728D4B9380158C70AE06C8C004CA305B0 + F4793A7CE91AE647F869BEC9301725B1B597B33DFE560087A304B02F5200466F + 04B02342003D1EC41755BD1CBA91F04DDD23C03034A79CED7ECE7627DA6E0D17 + C01F6102581F2A80D52102581E2C809A2E6102C631B82BE11B5E8F506ABB2448 + 00F35F0B60F62B0118BC14C048DF1CD0B9129A49EAAFCAE510E8F5F09D42DBA9 + 2F0430F1B900C6060AE0A700010CF517409BFBC9629D2BE1B684AF7E250C867A + A72BB41DE827807EBE02E8F5EC836A5F8B7CCF3885FC4C78AC0391A6ED56C539 + 54C03887D6F9377D4F5839FE351FFFC1781ACDC02944891800FFD335F9DCF666 + A4CAF13FD6330E520A4BE0C81D2F30B57780B31696746D72FB09240B8A600CEE + 5734FEDD920AA0A054080E2ED7E0C6EDDB909D9D0D229188AEEFDC7F00F657AE + 426E4919F4BC17FD8A6FFC47E697C14D9F0070BF45A68240E713CB962D63CFC7 + 45EFE1FACD5B60F9F099C83BB3D0876FFCE79589C1C6E122F507A53887C94D66 + F99408AC80183CA54593B2884B44E264BEF12FC47A32C7F292984180C33CF50D + E589DC1C2C4088E7C1B3969624B262BEF19F552A06CBF3E83F0BD9F7780E4E7C + 0D10FE00E0D53580B7DE9015F512CEDA9DC34912C4F18DFF5B196560F3C8176E + DEBB8FE7729C0324617B477A0284E1E7583F70B9EA227679E889998219DFF827 + ED4BDAE8C885CB70E5BA1B64450783283108B2C27CE08ACB65922E128A443849 + 80D64AFAF6182C7F9A8787C7233B3BBB0C0B0B0BA19D8D75C6A3478F1E9274DC + 3F4A8DF1D1067516154FBA1F292F89B99C5F076C97F34B01CE2D06B05B08A929 + 294A05A72701984E8C873313DA519EB0F62C0BB6F3213EE66D05C1D9690067A6 + B0DBA613014E8D0738313696F2322CD8CC85C8D0A00A222CF14BB75916E0F868 + 760CC9B060351B82039F55101733BB2D618F8D6479DB7900D67390FD05C07226 + 047A3D502A296B3282E56558B030C0B2E2A5A1D9548C7932FAC55384E9048093 + E3D0EF1864B1C98EFD04707438C091A12CAF8C3DA5843DFC23CB4BD8E27C506B + 21F372C21E1AC4F2E69C5F4D9683C81E18C0F2929871494E4E5629BA1076FF0F + 2C2F29AF260B61F77DCFF25CDB6AE49FB0C67D585ED21F35598C7B03ECE9C9F2 + 843D3956339EB046DFB1FC49B63F32380CD515650DBBB3BC6C7F3C3A0CDB7608 + B6ED606CA38158CFFDB1ACFD00F6F6FD10F36E8EDDA507D2F17F6E098EE14590 + 929CC42BAC63319C9AB882F71843586E0CC644864B957DF7341DB7649BF6E313 + 6345BC3C65D93118F2DC4FAA34B7A3740C906D76CC8EE2BFE6B121EC6C1C43B3 + C0FFC97D5EC1B1511FC6ABBC288B63888E033C4E695A1F84F53DFFA16D35AD0F + F3E900018E909797C7F64F4DEB838C1FFF4B1FFC6B5A1F64FCF85FF8E05FBE3E + C8D8941EB3C77CE86B92E317298B9FC307FFF2F5C1B73C39CBF651AEFFEF327D + FEA16FCBD587BC483A3CB5F970FC39CE95E5C830F6B8265F1F7C8BB7153B2EF8 + FA835C7DF0FAF7C2B9C7DE3EFCBC7C7DF02D9EE61F8E1FF292AB0F3EED3A81E7 + B1DDDFF2F3F2F5418E03FBFB73C73C3C0618F560596EFCAB5C7C5B2CD3EA8705 + EF16ED29EBA39B805ACA78B76DA71617D0B811DA5F46A5A06CE5D6CE74BF7236 + 12B59F795DAB264DF3D10DA0EB7B1D6A313E2D0ED2FD7EBA0D7979D6EF7E76BB + C5CF18FF0DD433BAF6D69DC0D5C72194236F79498CC4AFB7EE44E42D9917EDBF + A0FBC8DAB78515CD83C6A19BCA78B56E5BDE778B5F19EF56369C8F1B94F16EB5 + 0F6D058C6FCBBDEC67DD9B5C9C76B8BD44A68D16625A142A16D3EF333ECD9E72 + 76F92840E5719F9FB2FBD18ED8134ED63FA9675A16F4436346BF240FDF16C65C + B9F8FDCB969F948F94939457527ECA62D97C5B8E631EEB7DC95B7E365F67D401 + 2E8609B8ED8EEB67744D585AD6968731D64B4ADAFF0D6D2312876CFB13BF84F5 + 6D118152FCF774A46F90F625319272B2FDCE8EFD8C7E15F51DF985948FD411E9 + FF64CD575E75166DC7DF3F7079BC89F9F1D146E699C74626EBD106C65013F6D1 + 26661A726528207ABC91C95587F3D8C42C7DFC07D31A198184E5F4542D7E2373 + 19E3F69163CBD0FF60B5BAC1CEC6FB7C0E748D46269363F31EFFCE4C51877DB2 + BDE1DE00B3713989EFE24BB93C7C1FAF655A6BC842C0D909EFBD77343940CA82 + F5BF5225BBA391A1FF9951B9890971C84ECCF5DCD1F880BAED445859BF4F7634 + D9AF2EEBB699A9E5B5BB65BA362C6DAB3F74F4912F22793CF9AB89A1C6FD736B + CD7E8F37EA4C277168D3BFB1AF5DF4FC93A9ABF5F8D8C8A4635FB3D696F7D8C0 + FC8C7DABFBDF35BECDCDCDE1636CFE2E9EA46923BE7C8A1F9DC929BC7F4A5870 + E7985070EB8830DFFD8030EFFA5EE17BD7DDC25C979D39AAE2272C243C0488C5 + 79FADB3B006F6E0184DE0071D075C871DC2A54C513BF10579115BFB80AD917FE + 50C993982BB02FAF8238C005B2CE6F50C993F252368CB06E5256EC7B1932EDD6 + AAE4F3AE19E7D0BA72FE4B48CA4B62CE3AB74148D80CEBD5399FBBFDFE8DFDF7 + 732F5F54FB92593DC6A2D5E915AED37AB71FFCA5266C9D5ADDAA38AC7F3438DA + 1CA250E297C7DF9B76FDA65F0DB5EE81F8E65B1D4FE3CCF9C865A38053A9CB9F + 7EEBBEFEB2411565ECA86FD77CE96F92B587D8CBB012E53BACF21FAF53B51A0F + F925B364C4A62691664267B413F1B012256C9A7AA89B2C59B3462DE6F87CB7EE + 9166E0AF8493EAED59F097B0AD5BB4ABE2B8E5ED3892AF3A2CA748C2B66FDFBE + 9A9F9FDFEAF8E71979D1566250D7F7F4818B3B1A1818D48D898939F3EEDD3BD1 + BB770910E79903D1164A59E1B343C917FB751C5E9FF88E8B8BBB822C48159700 + B1B7F315B185973679EF6ED7ACEB17927223E35F8E278A4984982B45F26C9AF9 + 4AB7D935ABD7AA2A5BE7BB77EFEE874C46853CDE24438C431965B12DC3968EDA + 34F08BEA15BB6EDDBA7599EBD7AFCF42A6503E8FF8A034A1FF89D4DB637BCFD0 + 55D6D71A356AA4F3F2E5CB1D6C1D4AF9B2D7AF5F9B75E9A857479DBEFEFDF7DF + D70C090971E05801B21BA74D9B566BC48811D59448472E8FFA1616163B503FA3 + 66A316A9D07CE57FD7F3A23191A6BFE9D5747EDDB6E3DDF04BE37D13E3C63C4B + 8C6B87DB0CA6A9E2EA5D7FD56B96CBEDA797EC0F15D94725816D26804506C0D9 + C864B874EE48E1A42BB7FD6BB9BDEE2FCF35BD1134F2BBFB118F17BE4AC9BE94 + 2982ABD109E07DF9243CBE66010F6E9C87274E26601D160B0793C530E5457AA6 + EE9DF0A7B55C830CA84FB7D72F867BC514DCCC15835B0E800BCA39AD18EE3EBE + 01FED65BC1CF6A2BDCBAE30CA60985703805603FCA30490CDD1EC514D4BE1EFC + B2CECDC8C71D3C934BF5EE47E4CF7B915C78CFF30EF89F33821B81BE60932106 + F374315CF6F785A7F646E0E47107A6BD482BD2BDFBA650F75142699D5B918F6B + 21FFDDCB62181A520A3F3D7D27BC6AF6A770F2B3B8428B34A1B4FCC7924530D9 + 3FB1E0CA99ADA2615EF1C2A121254018C2D6748F7CDC05B7FB0795C0F4D7D970 + F9E249981AF45EDCF54164DE689F84FC91A8CEF723F3F483F3C4641FB121B684 + F9C23DE2717554DBC022E8FDBA0426BDCA0627B4591A23843FDE89E097D75930 + C237896E2F8D16D27DC486D812A63AFAD641BEB97F2174C7FCC6BEC8824B174E + C0BCA832581B2782F961B9302630956E93B44B174E529B6E684B181DE4ABB8BF + F16CE457081D5F14C3F0C02CB880FC8CC83258112B82D921B9F053400A2CC778 + 66621AD9476C882D61186419E7E009D5DC22BC9A7967150C0AC882F30E2760CA + 9B325884F11A04E7C230FF14BA4DD2C83E6283B645D5DCDFF833D7D8DFF0B113 + 55A97A2D68798BEB2F23ACCF1D138F0B2B85D918EF94A05C18EC9B42B7499AF5 + F9E3E2566E2F43AAB906FFC1383B57B83F88310FACDEF6EAB33D4DEEBE8D1C1B + 2C104F789D0BFD7D93617C68A1B8F9FD98305D179F63CCADA82F54FE3DDBB9D7 + B5EBDD0C3BDEFC764476C39B6159F5DC438F93348DFFA6EF927F2BC6C1B7A5D6 + 7F135839FE3F6AFC9F8F4E821B978EC2A3BD33E0FEF6F17073E7343031DD2DEC + 75D5BB48D5F8BF1818004FF74E83A7BB27C2939DE3E1C1B6B1706BF328B8B6F1 + 27B8B4610C4C767FAA70FC2F7A1629F6349E0ACF8C2642C8F9ED502AC8A55F3B + 970872E0E9D98DE0B47A30D8AD1E012D1D3DFDF8C6BFFDF923D4AFB7E138CA06 + 9AAD863B1B8780D7F165509C9F031797F78373BF7E0FCB0D7F4FE51BFF77F6CD + A1313FDE3E86FABD8BEC8DB503C075655FFAF9FCE21E60BBE03B38BEECC752BE + F14FEA8A94F7FE969FA83D61AF22EBB494FE6606B673BB80D59C2E6031BB2BF0 + 8D7F57C359B4AE6E6C1C46ED895FA725DF81C3FCAEF4B3D5CC76603EA31D1C9E + D73B976FFC1F3ABB9FD6B3EBBA21B4BCF70F2C0087057A70D3D0008ADE6781B9 + BE2E9C99D60A1E9C587F9E6FFCEB5D7D164BDA88D4B3C7C9355094974DFD12F6 + E69EB970666A4B386BD0AE383725B6BDA2F13FD0FECA55BB55C3693D93BA22E5 + 253113BF848D7FE13146D5786A62736BF0AFDB7E7371583D2C9DD495DDD27EE9 + 2466457E2BC7FFFFDEF82763F8B5DD36109595D23E7815FBB426E33FD86E2B65 + 435D8F51FECA6FFD351AFF840D43968C61B238FEDA4BA3F17F873B765CE58E1D + 641C6A32FEDDD60D928E7FB2D8CDEEA8D1F827E5253113BFF4D861D046A3F14F + EA8A961763260B652BC77FE5F8FF3F39FF3FFA7384F4FCFFF8F02228C673A1A6 + E3FFD68621107ED3128F2525F0F0C8AF1A8D7F12B3202301D22302E0DAA6D11A + 8FFFD22201F8DBEFA6E39FB21A8E7FBEA572FC578EFFCAF1AFD9F95FB2045D3B + A3F5F9FFCE9E593817CFAA9CFF578EFFFFABF93F1987E1D74E6835FFF7DC3E1A + DE204B8E1DDACCFF25EC93FDB3B59AFFD33F174456DBF93FDF5239FFAF1CFFFF + 2FE39F6FD164FC93859CC3C979989C4B351DFFF2DFFF6933FE250B993B683AFF + FFD8F3BFECF8D7E6FC4FAE1F244BE5F9BF72FCFFB7C7BFCF9E4990E4E70E65E4 + 9E7E720398EF4D8DC67F32B2599101F068E724ADC63FF1EB81ECC78CFF92FC1C + ADC73F59C87547E5FCBF72FC579EFF353FFF93F9BFECF99F2CDA5EFFBF723CA8 + F5F5BF8475DF3649E3F3BF94DDFAB356DFFF9385F8D5E6FB3F5257D2DF2C89DF + CAF97FE5F8FF3FFAFE8FF07EA7566AFDFDDFDB7B76E58E5D9A7EFF47E60E95E7 + FFCAF15F39FEFF19E35FD3BFFF09B4DC586EFEAFE9DFFFC85EFF5F5E35104A0B + F3B5BAFEBFBC7A1024057941D8DDF31A8DFFE8A76EEC2354D06FD83D07B09AD5 + E11F35FE832FFC010A75717349F0F94DC394F9207662910855467F9F15951683 + B0A410CA8A049097180A214EDB0B422F6E1AA194179641D913C30A2A2D7C0FB9 + 71AF20E4D2E612653CF14B7C0A4B0AD06F3E2A0F4A0B72B1BF6763DFC9A26551 + C6D378E57C2BAB9710997A6179D62F8997FAE57C927A1161D944C252109616B1 + 31160BE07D42288472F542EC4A0BF3A02CE4523929AD17F4911BF792D60BB12B + 43BF646C17A3DF92FC4C3CCFA4515E48DA02FD926BF032F44BFCC8D70B1161CB + D2C3CB89E58B78FD131FC5EFD3A57C31F99C970145B969A85428CC4EA2E9C467 + 59315B2FC407F15B9CC7B2C44ECA235B8C3117E5A4A092A1202B81E58B2AD60B + 116B9BACB48D68BD62594B0B88DF2C69CC6C7CC9D21895F50BBE7A21226C41E6 + 3BD53CD631F149E3E5EAA5302B91B2828C38953C1B2F6153589F32AC203D5625 + AF8EF8D8AB57AFEE7374741C27F94CB65D5D5D8DD539F75B5B5BF7080B0BCBB9 + 71E386F479B0643B343434DBCACAAABB2ADEF9A2C37EC1FB1C78F1E245F2E9D3 + A75B1191ED7C4C73BA7461AF2ADEE982FDDEECA458282E2E866BD7AE591091ED + 9CE45870BA706E8F2ADECECA6A50588097A004CF351E1E1EE1A8B092FC6C08F1 + F32CB0B1B018A8327E67679D5BAE8E4179C9D1909A9C287C11182824DBB75C9D + 829C79FE669C4F17CFDB1E4D0C7E867D25197CBC3D2129C4171C2FD81E5577FE + 75E6CC99FA0FAE3B25E6C6E1F1F75520DC72B994646A6ADA509339DC154787C4 + D4D75E909BF416AEBA5C79A7FEB37DB3BFFEFDF73B0DEEDE727FE777EF1A6446 + 3E87C70FEEBD5BB5CAB521D9A7984BADCD30494E0C932CD2D1492C353D122AC6 + 3240BCFF3D303D1C2ED6D1492E25FB1826C591D856E493CFA0CA5046AD5A4525 + 7EFD55225CB97021E6DA25C718B24DD2C83ECEC6AC3C1BF505A609D0BF29F95C + BF7EEC9FF81936AC751FBF61DDCD89641BD3B6B0B649A759DBD01A1FF8F43A98 + 26466D437D89F243C5E0C4A20AABE4582E8DECDBCEDA962F03A6DD4115A33251 + 42F433F9C3BEA4C96C5A72166773BB62F9B3BE42BBDD6C7CA9FD2BEE4F1CC0EE + 2336595FF1B5C1B0DFCF442C3EEE1A4B75E22A5D0FC73465EDADE7FAC2B38373 + 20104DB4F484B3E900E6A8B39C489A643FB195E7DB3BFA81718690AAFF8550F8 + 11BD110DE6D624CD30AD1476A696420747FF0AC7ABF6179F49F9EF6CDEA09F77 + D0E17202557BDCFED63A02B62717C39F4945406CE5F976E7BDA53C91517A19EC + 425F3B524B605B7211E5362514C0867705406C2BF0F64F28B71BB99DC8FC9552 + 025B91D9925848B9DFDF09605D7C3EAC8ECD03622BCFB7B5F5801DC86C4F2986 + ADE86F33721B394EF1BC6C4BC94B6EFED1D6FA018DF10F1AA300D6A3D6C4E5C1 + 6F31EFE1A5DD5ADEEFFF0469D110E4B0B9E0B9CDEA116D2CEF524E1223E15644 + E7C2AF6F73E0B9D50A3A77913FFF9379C97B9CDBBDB05E55D2C6FC36AC8A7D0F + 2B915B86CCD2A81C58F4260B16BCC904BF338BA4F39E3232F729E5D6DC677FB3 + C5D0C6EC26E5964465C342E4E62337273C037E094B079F9373A094CC01024E57 + 1099CB90FDAD4DDDA8AF791199301B9959A16930232415F48353C0EBE87476AE + 43CEFFD275163B4FC2B5B78901B43E758DFA9A899C0172D3825260F2EB24F8F9 + 55123C3E3089CEA5F8E620249DEC6F7DDC05A6130EFD4D4266E2CB44188F1AF7 + 22011E198FA5E76C7ADE27E7EF6CC976224D7F683C06DA9E74F5D43571063EDD + DB358C3DD72B10D9AF6C6CDEDE361054E9933ECFD3B8973E980C7F0DC7C726C2 + F1D1897078C86B30EE3D552DF6F0E0B3E0B43E873C1F923E77392B0E202E00E0 + E2AA6C383AF48C52764FEF69E0B83607F233D8E75E17E075624E227D6E242487 + 0138ADCB06E3BE9315F2478604416208FBAC47F2EC69F2CCC9EC04F67995DC33 + 2BC1E4A7570AF963A312212D8A65729359DF19D10049A1EC9A3C0FDB7442A242 + 9ED41579C6646A2440FA5BA07991B889C833A4C933C895F1A4CEDFBD04480C42 + 050324BC66E3267190E70292FA3419A138FE7DDF4F03E70DD9F459D5E439D5E4 + 79D5E419D62502EA5B747963EE8BA3FA8B95B6C1D1E167E0F2A66C36DE223666 + F44BD833677790E7BB16916B75A579ECEB3785D6F3A9F1895418F37393998B58 + 963E5BB358651EBCDF63858E95C9A3043F4FFA7BF2089EC096812B8B53D8F88F + CC2343ABFBFAD02F615117FE579E235CC5A9CA5BC649E63D73C6FDA68A0F0F8F + 101F1B9D283E343402F6F79BAA82C78B07C650CADA2ECCA2CF7027C2F124B69E + 9745FBA71ABCF8F09037741C93630979FE6C2A7B1C111F1D19AE166F82C713C2 + 67C5E3F1209A1DD7F9E9203EA1F818508E3F32FC0DC43F678F0544E4B884E73B + 75FDC3FE0153C5768BB3A8FF42F639FC42BB253946A6BB2C998B818D54F2DC58 + 161FF92982C44CFC1A9E32B4AA722E0050C1CCB9D74D54F2F27DD6DEAF2161E5 + F3402E8A71667652DE99395AC5B14A1CAEE7F1E661F3A231B2415C1EE1CCF9C0 + 6FAA3A55B54056CCF94FC4751EF29D95DC9BDB44260E7FE616F34515E72ABE1C + 2F4656E5F98EE6713E2010792F764C332D90CF46FEF4BF71ECE1354E0B145E9B + C0492D58BCF6025FF2252C0AAF8B60AA86BC05C7113E917B0F4C670DF828D44E + 8E3F8A8A43CDD3A21C8437943DFEC091E111EC3C48F5F1A71C4F58B9E30FD828 + 3FFE94E38FF01F7FC044F1F82FC71FE33FFEC029C5C79F72FC51FEE38FDAFEF1 + F803F6E58F3F227B3CFE9819E3F1E74D23B5EA9F9D4B44D098D1AFE159632BF6 + 9C191CCCB8563CFE20FB16A5F03DA58C6B7843CA2AC943BDDFD34283B8737738 + E312F68DC679A0DF0F7184F86B355E691EA181C87B69F75C0066256AA8D6C70B + 2766081EEFD2994BCC30356C179063AB02093F9B7F25F30795E5D762FE202B6D + E60FE5782DE60FE5782DE60FE5A4C5FC81A95636B46AD5D295DACC1F901D5655 + A7341DD743349D3FD07778E89495210F7CD2D1295DA06CFEA0AE7F45F30785E5 + D760FEF089CFE50D3E82DDCDBD1FADB316AC11770C27EFBCABA6855FC2DE927D + 7F9F9AEC1C8E5525F2FEB6586E8ED05086FF8E7B475B3179871FCA5981AEA0C2 + B9BCE251ED64F2E8C5CD9FD251DFAA887701178B1FF96E5926FD7BEEFD72E9AA + DE1387FB4DB83806CBA5933CAEA11AA9E00773FC7A2DFBC9C7F2C7397E9016EC + 22AEFE9EC9D69FCC7B04CF29683F175404E797CC11DBF2E4DD9B7B17A3A2FE13 + C3BD3BB1C1BF729EEFCC687F6C7064BA92EB2C3CF7EED28A3767AA237F43D575 + A28AF86B207F9DE481D77D07E4F635C6B463E4FA91CC2B94CC39A4C232CDE2D8 + 0EF839814B0F435DA9EACCFF0FAF15EFE2FE629400F9EE8C215315B79FA3CAF0 + F31C35EA300595833EFBB1CF786286D1F238563DA4A2ECCDC89C875E673A337D + 64E6421BB96BE7012AF8C618FB355956135E49BE43B9F638AC150F4C158C2B80 + ABBFF95AF6CDF6C8BFA3EDE758251CF373E16D3DC7AAE718578677DECF5C641A + E1FEA39847AC92FE5384E5EDF9CFBA76FFF8A573E7779377EF86C9CA6C962E5D + DA75CD9A357B962D5BF643F93DE76631CC13E8D4291E0C0DC979A9E282DCCAD3 + A74F273D7EFC1856AF5E1D827954FFB0D768054EEE40511EF3E6CD6B72FCF8F1 + 78F25CC5BD7BF7BE353030A0CF7EFF9087613586D9E3AC288FF9F3E74FF4F2F2 + 12676591BF4DBB90FACB2FBF7C47F258B56A55C8F2E5CBFB2ACA03EB632AF5B3 + 64C9149FA7DEA2A2A22290E4B16FDFBEB71E1E1EB076ED5A99675497CFA36D5B + A7BF008F0DCFE7D677B03D7D14082FC9839405EB2371F1E2C59DCBD714CD6379 + 9D3A7F1D4F4D494DF59C5EDBBDE4F2167864341B2C0F1B02C621C4B280898949 + 1CFA5EA1F09DD0E8F7E1F4AFEE1136E3D03878BBA205980FAF717DD992855348 + 7D601D3452C686CFFDD24E963D3958C7C3BC0F535DE5BBA879D8E33F56F74E4B + 494E6DD9B2E50F2AD9395FDACAB236C31857E2B74B972E13D3D3D3D3468E1CD9 + 5F111F31B7F61C3E56B27FDAB469939C9C9C4A1D1D1DED0D0D0DEBC9F325CE7F + CE94B0D6C398AB7CE545FE9E9191117CF3CD37BF567C0F3753257A79F35F6C87 + 338B0D87317C0FA6658C8D8D5B356FDE7CED7FEBFDDFFF9A7989219E05380194 + 9F77D1CF393952F118FCED3C7CDCC23021E89B135956ACF820B24C95118FC1DF + CE7F74F9E1C33FB2F8F97D10BD774746740974FEA07F00FF4F558918743CF260 + 711940556DF8FB79F0F39A7720F01594BFCE54477922A8B12309BC9BBD063898 + 0A970BC59A7D27F0200FA60C8C80122610604C1408FC0B40EDF969AE10BEDC8E + BE6BBDC00FC8377805B03F155C8AC5A0F89DE8C292EA20C8EC84EAE79B99B76C + 5084B894B0128D8E82E2004531E424EA0AFD9D9C72AC9767A51D9D224A39BFA1 + D4C6C7131A069648F9FA1883510A5CADC09616D52EF530F7885ED30E42673010 + 62C0E0BA0AC46CEA0E97BDEF816C0C63A34078E129185FBF0E5B89C2C3B15DDE + BDD44F32FE8972F24A3B3103FA056649F93A2F0116BB1442878E3130604002F6 + 6FB18928DA775FF4EAB6BC7C1CC670F07514F40F03A996848AE09B6FA3A165CB + B7F0EC99C8441C1BB02576A31E2F9FB06300AC5F1508CD7B467F508F68F8A26E + B89487ACF8EFB2AD971786CEA85A8E0D9DA903398E3BA14F8F37E4005541525E + 545605C2EF6FCC3ABBA0E0CD924680F30F885CD60C72ED56BD8F7AFCCAA72396 + 5529CFB67D5548091B257AE56E5FE2E3F0441C74CB02D2220746460837AAC52B + 506424FCFEE38F89A0ABFBB682BEFFFE1DF8FA8A95F2E9E9D00F6DF6FBF8882A + 88A42726C228F9F94093C64D7F4059A1A251424ED15C9AC23918EEAB833A8702 + 15223675E4D8BA283F355889886D5D19FE3C971E885A890AE2E24EE424E4D256 + 7236C4F63CC70E90C9D79C4BAB86AA2D937F6D92C66D9BCBD813D656E6F36955 + F32D6223634FD8586E5B8C6AA906DF92B3058E1571DB39EACEF9882DC788B8BA + 016E5D430DB6861C1325539E9FD5E07F96B127AC99CCE704542F256C2FCE4662 + 4FD86FB9721C43397075E3851A28C30D463D95A93749D9BFE5F69FE0D24671ED + 730D554F866FCCD3074FC8D5C94DAE3C9350FD505565F6D794636FCAD7357EAE + 8EDA8F2AE56C6AF2F0A59C8DF4DAE2C18307E584FBDAA036346BFA4D55491AD9 + 2669649FBCBD826347776EBA425E2A9B406EF946755572AC21F303F28026F2BD + 78E7E292ACBC84042BD8767B36ECBC3B1F1213ADA1B43487DC6BD581B3E90BE5 + E71417DF64BE81525169166EBBDC0E3A08C5991761E58D39B0C27D36DDBE137C + 883E3E8AD8105B2E26095F56D3B826D8BFB227E9A9532F8E84E5C81DF23F4445 + B60D2ED177B426101B624B18191EAA185601C3C786F43633BDD37A30D169221C + F263F9098E13E03B33FAFCD84262436C25734F4E418BAF2F069DDD3AE010E400 + 5F1FF81A9A9B34871FAC7FA06A61D2021A1C6C40F7111B624B1819BEB3482C4A + 9E7F753EDD5F775F5DE863D507A63B8EA1EA63D987A6917DC4066D930823C3AF + 267FD68BE9A0EFA40F0D0F35040317035873632E15D96E74A811E83BEB1396FE + 09306A2DC7AE8DCC8A8436C7DBD0EB971A7B6A507E9EDB3C587E73012CBB311F + E6BBCDA769641FB1697DAC3510069735A8DCB6C7DB4217D32E601E680E332FCF + A4B68499E93A03665D9D45F36A70A801CCBC3293DA10DB7627C8CF1F40FA84CF + 95B02B902A4815651464883B9DEA04F50FD607035703B49F0A335DA6D1F849FD + 917DC4264D9026240C6151F5C93BAD31BDAC87590FA87FA03E343CD810465F18 + 0DFA8E63C1C0691CDD267C83030D80D8105BF2184E8E257590D6C7BC0F343ED4 + 1882D382A1DDF176D0ED6C37987C61085537B36E34DEA0B4206AD3D7823E8B2C + 4DB6FF907A39ED7F9AC6E41CEA4CEB7BA46D2FF8C9BA27DD96C44B6C24D78932 + BC80E47F33F2264923BF37FA9DF23F054D0F37A13A1D40F3257FBC3E9FD87075 + 2790E1493BE4A11EA2EAA0C8DFF71328959329975687B3C9E398CAF1AFE1F87F + 9DFA1AE6B8CCD178FC37C1768CCF8D87EDDB43C1D38BBEAB3B5EDDF1DFCFBA1F + B886BB82AD2D993B8642DDBA22F0F22A247FFB60A06AFCAFC331EC93E803BE7E + FEF0FCF97358B74E847984D338B83A5438FE57DE5A04FE49CFE098CB2BE89B95 + 04F9C252725F16D8D985427E092DC37A45E37FA1FB42F04EF086438ECFA16A89 + 900639383F037C9EF9C29DB777E8585634FEC97821ACC9E5975296E880D37328 + 2E2B0655E3FF62F04530B9F212AA949449D983C85E8FB80EBDCD7B2B1DFFA46F + 05C7E5C1BC07611FFC62196E45DDA2C70635C67FCAB1AB31B0E068302CF00887 + 83C8BA45B8814BB88B5AE33F3D3DFDFDA2A5BF81C9D56808C1381C832F8159A0 + 99DAE35F241259A5A5A56572E7970C55E3FFEBAF0733BABA5B5BB76EBD75B6AE + EE1627DD96EB3D5A355FF1B4558B3546AD5AAEAD5BA37A23A5F3B996DFAC6A82 + AC09EA0D4AA4DBEA0FD06DB511AF51B690F5DDC60D37E05C5F47218F7651C8A1 + FD9FD0AAE57A8EDD0C6D7A18418781FBA0F3D03D717A8BDD3CF596DE98D37186 + C3CF7DC61F99D17BD4BE61AD9AFED0E8AB3A2D19C2B546E9B6DC40399257EB76 + 7F41F799E760D0725BE871E8160C586C0FDD57DD831F7E738361D34FC290219B + 61609F753B5B34FB9EE1E2FCC0A2DA7433863EEBEEC3AF47FC41FFA03FF4DFF8 + 08A6187A8291ED2B30B67F0D7BEC5EC1F21D4EE77B0E9CC2F2AD31868E7F4AF9 + B6DFEE836EABEF831E11FA255A6F1AC0F1418417FD69EA693278DC22A6759B6D + D071F45968DBCBF803DFE300E52522FCBA53FED4EFFC8DD609EB0FDEDEFAFB91 + 47BFCD5979B64EFBA1A7A0DBD8E3C8B1FE7575FF804E53CF81DECADBA0F71BFA + FEED2E6EDF8175277D61BB990FAC3F78534CCA40E258B8CED2A84D979DD0A6E3 + 565A8754F8B9D35063E830CD023ACEB0838E06B6D079862DFC76F011ECB67909 + 2CCB6AC5CE6B2F745BFE8EF5B7491ABB6E9BDFA1437F2CC308636883EBD63DD6 + 40BB5E6B61D8B48359F3B7B8146D3DE38BF5F052BCC3EC598AC102930DA4EE25 + 2CE5DBAD80B60370DD7909B46C3503AF9389A68B5B3519314AAFCFB46E136619 + 4D1D326E798F162DBEABDDABE730B6FD65F9361BA1559B5F9199052D5A18601E + 33A155ABE9E96D9A0DE77D0F972C2BED872DD6428B668BB05DD7434BDDD9848F + 6DDBB87F35853CE97F588E96DF2C87164DE6A2E640CBE6BFB1F9B5DE8CFB96E4 + B66932B83E2F4FD94D68BF92E59A127E361D0BD2B87437885B379F3BBA5EED8A + AF7EC5F196D2B2C5EA14F49B822C55F3C6B352B03FA720CB4A774B4AEB56EBDC + 5A3737A8FAB9DE1118ECF0072853C805F69E79653C88C5201609E9FD65E4BD11 + A2B262E9FD637949E110EAB8BD20F4DCA6118AF80F2CF71C02CAB2F7BE93FBF3 + DF27844088823C084FEE7523ACBBBB7B0549EEEDA7CF23B8B8B9849727CF21E0 + 9E7F202C96F8CDFBF05C00C97DF768CBC74BEF952B669F27201F03BD9F3C2F43 + 314F5901F72C823C99FBDFB3A52CBD6F5F01FF8165E395F72FBD6F5F112FFB0C + 0472BF3FF1C93D1B40720F3CB9C75F11AFC8AF44E49E7F7ADFBE229EA7ACD267 + 12702CB9FF5E11CFCB62BC12963C9780DEF7AF889796355D5A56F65903895296 + DEF7AF80D7444CE5225D869D897937CF352556A2994EC9B13F99C7AAFD3BE9A2 + EBA9B117D37132CCE97CAA18B6F9BCCFFAE54A72EC2CE7A4D899A819287DA7C4 + 587DC7C4D8C1A66FDFC9F20BAEA5C65A27968145422998C59780696C319C882E + 0293A80238FC46000722F2616F581E1885BC875D41B930F9527CAC2C3FCB2529 + 76A17B2A2C724FA35AE846944AB5E03AABF952A5C02F2E2965064E4909834CDF + EE25FC54C777B1F3D1F63CCE48D595F1CB82B2BE4722E9F7BFE32FC4C52E72AF + C89FC37AB04B11836DB208AC9344609528C4320AC1FC5D192C704F4BE869184B + BF231B66199DB8FE49164D37439D892F05D3B81238155B0227628AE178743198 + BC2D82A351457024B2100EBD2984490EEF9E4BCA3FC4FC6DE6CE17EF69FAC188 + 02D81F2E807D6102300ECD873DA8DD217960189C073B83DEC38ED7EF61FBAB5C + F8C922E686B4FD2DA2057FBD62D3B7BDCC81AD2F7260CBF36CD81C980D9B02B2 + 60A37F16FCEE9709EB7D3361EDB30CF8CD2B0D069C8A92FE8DC708AB982292BE + E6593AACF24987DF9EA6C10AEF3458EE950ABF7AA6C2D22729B0E4710A2CF248 + 86858F9260EAD50471CF2361D2EFCEBF3F1155FA936D34D508229BE8D2E1366F + 15EA8793916592BAFB5F5D32C61FAE97D1DFFA14156EABCB191A1A56C9E86FBF + 30A3BF651AB2425664DB7E21D9A7D4675FDB1E68EF8D828C0196011983CEF4E3 + 4BE3657FB0DFA1C8578598D0B602DFDFDA83FA50CD03B155C0BF413DE56C706D + DF93956C1AB551C47BA8AA3F899D225EAEFD42A964DA4F5D5E933499F43065BE + B898C278799EF65358273CEDC7FAE3ADEB0A6DA241FF05457DE2738D9F7FCAF2 + 2DF3B25E67C6EF1411D9561BD4832A9D18FF85A834949013D95E48F629433B32 + 7E3DD0CE1B05A8808E4C403FBE347ED67F87425F7231115B791ED33D381FAA78 + 62E3A1807F837ACAD93CEDC2F8F724924DE36C14F11EAAEA4F6AA78897693FFC + 1C4A24DB7EEAF29AA449D2B16DC294F922FB880D1FCFD77E8AEA84AFFDC8A2A0 + AE2BB48906FD1714F689CF357EFEE6C5C480A965A15F73A4957E8D0316FA3542 + 2DF56B445BEA7F616E35BD8681F524A62E1F63A35FB39DA57EF56568EB8CCA43 + 810215A1DD7D8BE935B6581A54EFA3055F28E16D0C6AE8F1C562F0FB92062BD7 + 4DDEF6E78A418147E6B42A393257B7F48FDF86052FD93467DF54C34D4D78BFC3 + B4F16AD7D6F2C9B236969ECE6D2C9FE4A140818A5A5B7ADE6F63F1648BAEA557 + 1F2DF842296FE3C91BFF5706771A345D75635BF3ED7702758F3E2CD13DFAA8F4 + 9B3F6F0537FDD57D5FD3A9AEBCF17FDDC9A65DDD4E76CBBEEA64EF5CB7937D1E + 0A14A8086DEED7ED6CBFE5EB2E767DB4E00B257C9D0E0EBCF1771B60D8A04B3F + C36DAD7B1F0A6CD4CDACA47177B3D2767D0F06771FF0D7BEEF06F2D7FFD6AD5B + DB6DDEBC7919CA19958702052A42DD476D41F5D1822F94E179E3DFB66D5B2DDC + 370E751215C5896C8F23FB2AAFD6FFFB0BDC619AC22BA68146CC25E60BF061A6 + 831F7300D7EB71BD9D2A8651FA8308DAF445EDE6D4B7DC3E64B97CF6CBC60309 + 4C7DF0A4E907A84FF4CD13CF57B8DF14158312A0464AF77932A3689A0FF31CC2 + F1B429CB0532B370DF0BDC9781EB3214500532C3646C8649D3FD981CD44BB47F + 8C4A4215C8EC0335786512D0BCFD98A390C548FFBE0AEBA20EA659A0DEF23022 + 5414FA70815066B8D2BA67EBD70A63CE41FBF7B8FD00B598AF3E95E613C9B4C2 + 3669573972FEBB8B8181C1D7EA48113F65CA1450478A58726F8D3AE2CB83A4E5 + E7E7AB25457C4E4E8E5A52C4676666AA25457C6A6AAA5A52C4272525A925457C + 7C7CBC5A52C4878585A925657D40DBFEF329FA6FE5F271CBC78E7FF29C6075A4 + A8FF7D2ADE4A9FE1D57FCBFFFF63FC9F62FC572E328B95701A632B4A62EC2191 + B1114ED5889D93580DD92CE622F4A622DB244DDD656F562D64F2185B68C8B842 + 23BA4DD234596C84DB197B513695AD709B5675602B3C42A5ED622B34A4D29813 + C5A2404EB19FCDBF2DD6D17970608C055FAAE42F94D6C63E71813292C51E0A19 + 1B5114A6BD65ACCAFA28E4CF89BEA736D44E5840D3BCA0267E2EC63CD2D1762D + B6DB0485BC957022F689B59C6D09AE6B3037E12BE4DD193B30C0F53BF4D14321 + 6F0F3DD12601FB843E6EDF60ACA1FCF7596C1E69C89C443F3FE07A2FD545E88F + E9A7E83E7B98AEB42ECF0B9B62FE7BD0F625AA84D34BAC1F23BAEF535F1BCBFE + 1DEF2E3D505B9FE39EC34AFF95FE2BFDFF7DFEFFEDCF0160C08B7E1BC500DFF3 + 1D9B70FBBC94F0FEDC6DF9C1B279706C30B7CF5F09DF1815C4D991677D7DC393 + D64C4519647D05CB6D3751B31E64F3D088E52987B42C5AF8D6287EBEBAE2ABD3 + CFD87E1FD57FFE8DAA7639349F7B96A842111BC5CF6F0A51FD8006D6E6B3F3F5 + AE8683A66591E5B589E5B3F01EA6158FF724EDEFF0EF6EC8BD432085EE6AE9FE + 4672DFCD7BD47275FC77E800B07123BBFD36BF846E933472FF8F4AFF09AF61D3 + 26F638B47E3D2BB24DD2C83D31EA965FC249F221A190E2C8F7FF0AFE4D46D077 + 226CD9529E178B595E9DBEAC2C7E757865F5A76A2C2F0F4C82F7A52278965908 + AD6EBC81B6372305E5DAEF1FBC34DDD35BEBEF5A9A1AF786267B7A4113A35E1A + E7D1742FB2C6BDA0F19E9ED078770F6864D8033462F7226BDC131A19F5808686 + DF42835DA89DDD4123764F0F68B0FB5BA8BFAB3BD4DBD90DEAED40FDD54D611E + CDB0BC4D8D6558A3EFA0BE6177F87AA71E7CF55757F86A3BABAFB7EBA98CA3A1 + 84DDD50DBEDAD115EA6EEFA2511D36C032D793B07F7581DADB3A69CE639949DC + 75B677D69CC7FA26F5F515FAAEB3AD337CB9B5A366FC4E8EC7FA227CEDAD9AF9 + 6F887C7D6CABAF91AFBB0D63D8DAB9F23B430D96CE9D6DA073676BE8D4C90AD7 + 96B8B6004DF94E9D6CA063472B5C5BE2DA5C23BE53275B64ACF1186B05EDDB5B + 40BB769AF236C85A236B89AC05B46D7B56235EE29B65CDA1756B338D7896B5E2 + D8B3A0AB7B0654D719A92B6B5A6724EEB66D2DA46CCB96A751A6A853D0AAD529 + 509C8725C6CD96B94D1BC29AA1FD6968D1C214758A4A75ECA4BECF226FC6F966 + D9E6CD4FAA5D07EDDB9B217F06F9D3525ED33ED8B6ED69E4D9326BDB8FDBB431 + FDC78F7BF9F987BAFA3CCF17FE84FE0DBB0F934A43FF15BE8BE189ED73FAFF9F + A8FF4AFF95FEFF65FEFFEEEF5F2BDBBFD2FFDFDAFF3F563BF4BAE1D8282B3F56 + BA06A8CD1B3255C1B0EB10D448D8D9451FF912AA6DDD9B6A1CCBCEAEDB918DA6 + 22DB9AB086C3AA21970086DD36C04EBD8DB89D04CBFA54579FEF3A0B9902E41B + 8061CF7AB89D8F31CC54FF38D4F529B267648E4B6660A8E7AD661BF4C298C5B0 + A3CB87F7881876D3A36986DDFBAA11BB1DDADFE33936DE47D92A65B776688C36 + 45B0B3DBCF15F3ED3609CB50ACB42D0DBBEE411BB1C2632ED967D8D548459B1D + A7FD874FBBF44E286C4BD23E923653181FB6A5A19E0035E343DAB75DD8FCF542 + 9075A3DB7F75AEF8FE1B924663E8EA8E7E825986B07AFE3C657DC653FFCF78EA + C31F2A7FF7FB745AD3E10BECBBABB05E9DB17EA3D8FEA0978DED1A88FD632518 + 303A4AF96D5DBF41DB20DAC63BF576615E0B909B87791CA1E3C2B0DB21AD63DB + A9B715F974B5EDB77669087F756F4F6322719338489F51761C63982AD82F9762 + BC61727D4D84BE852A79C36EC6D47697DE652CBB3E7EEE87C79CD1B41E76E95D + 57CA1B76ED4DF7EFECF6AB82E3F954A53C39E6D031D1AD43C5BCBF6D87FB1ED2 + FDA48DF9F8CD9DEBE2FE70D41BF4F507D6C15C8C6933AEEF48CB2E399FEDD23B + AAA0FCCD90B140260EB70B711D89B617306D3CB69F016E9B5319EA6DFA37FDFE + A7EC3740757E7352F61B9EA6BFDFC9C7A2E9EF5FF2B17C363EC203C0663E80E5 + 2F00D67301DE78A8CF13F6E22A28F7FE4F871598C763F578E28FEFFD9F768BD4 + E349CC7CEFFF24E55187B79907BCEFFFB45DA81E4FCAE9B80664DF1F28765C0B + EE8FDD21A35808F5AE8565ABAC7F9207F14762C172BB3DBE41F777BF1B054F32 + 0473346DFFCC122165894DF52B21E192F77FF2FE7EA860492F2E83AE77A24A15 + BDFF539DFE175F507257D1FB3FD519CB5FBA86A6F2BDFF53DDE380A26381BA63 + 47D1B140966F7373CE47F18CF3487643CDDFD015F21AFA7F95130DBE59E19427 + 6BF2B9DC6FC92AFC3FCB0C83C6D7F5294FD6E4B3A6E5F7487F053A9747D37585 + DFB2D52CFFC7B4DFAE5D8ADFA148F67D6EFFBC7F3BF15F2CBFB6FCC78E3FADE5 + B00CE0FC5280738BF138B910525352940A4E4F02309D180F6726B0EFAF24AC3D + CB82ED7C888F795B4170761AC09929ECB6E9448053E3014E8C8DA5BC0C0B3673 + 213234A882084BFCD26D9605383E9AAD431916AC664370E0B30AE26266B725EC + B1912C6F8BE7076B3CDE58E139CF7226047A3D502A294BFE2E84F0322C581860 + 59F501CCA662CC93D12F5E069B4E0038390EFD8E417614B23F011C1D0E706428 + CB2B634F29610FFFC8F212B6385F617F2B130BA150540C22104381B010CA7CED + 3EC46FCEF955B0102EB030120CA276409F177361E2AB55703FE5111424BF26BB + AB4963C6253939B99CB2F372204010017D4296C077CF674162711AB4F318012D + EFFC00DEC98FA1A8AC6887B4BC0A7C13BF84EDE2F333FBF747C83675EB0E03EF + 8E81FCB2FC1449DBF2F9178A453466E2B7DC395490000D2EB6C4FDC232697FE4 + 590A4445B4BC9298C952FF725BA8EDD0047ABBF683BC92BC14CA9E1CABA0DECB + E07EE65369CCC42F616B58D7068FD85B505056F01765B14F31380CE5550BA780 + DEB1857037D18F96B7FEC516D42F61F3E37CD9FA97ED8F478761BF1802706830 + C0C1810007FAA3064099C729C8CF7D07426129E467C742E97DBC7CD9FD2D7CAA + F7FFFD5B96ECECEC26A8409497966C300A50FE1AB28D51411C1B8E6AF6A95952 + 26AE6C4D14C41C2CBB8F87F797B5D38455E04B6D56411E1AB13C6D1CA8295BB9 + 7CBA2523627CBD8CBBFD4F51E1B6BA1C7D7EDACDFE0B33EEF74F43564845B631 + 4DE5F3FF6EF4ED81F6DE28C8B83F2020C373503FBE347EF6871D8A7C5588096D + 2BF077FB7BB03E54F2406C15F06F504F399BA7C8F4A4924D636D14F11EAAEA4F + 62A788976BBF502A99F65397D7244D263D4C992F2EA6305E9EA7FD14D6094FFB + D13CF8EBBA429B68D07F41519FF85CE347D3E53FCF89305F } BitmapAdv = { 4C69020000004C7A400000001800000018000000106100000000000078DAEC9D 074014D7D6C747D0689A9A981863C16EA2C6961863D7A85163EFBD45A3468DB1 - F76850ACB177915E1429F686BDA12220A814457AEF48593ABBE73B67CA322CBB - CBEEB2BCBC2F6F27FE33B377EEFDDD73CF3D73E730BBB00CF3BFB1DDFCADE7D9 - CB73BA02898E2BC282F39BAA3C5DDDAF9AB8ECF66F3D23E0E10220D1B1F81CD5 - A5369AB0C3CC861ADF5AD8D3E5E6FC1E5157E67EDF5628BF3EB75B1EDC5E0D24 - 3A16CAA9CE8D79DDA3502ED4B65C3FCCEDE11AB8EE2709584F91621BC9B55FBB - FEEA3EB79B191E17A08D009737021D53199DA33A603E51FA72ED0089FB9CEEAE - E5D97E73418F6864CB5896C702F059D12F3B7DE7F03CD637EE6B58FBE1D65C48 - DC312CCF73D98FD970F11700EF45203D3C4E76E3B7EED1E58DE1EABC2E5FDD98 - DF43020FE6015C5D57C2BCBB027DBF14E0C91F00CF162373211EA31EFD067066 - 3A5C9BD74322F6A7BA8DC6EDBD026D23E683E5008F916B3D1512B60FCF8FDF36 - 2C1F2C2603DC47EE9DB938965FE1C9B23ED9D446D3F821DF266E1B92074FD14E - AFDF2166CBCF39377EED117E7576973F48377FEB1E11FED7E01CB83C1BC83F6F - 370ECCA336EA981833676F61DCA11D79E89F7C383F8BF53FCE1D10FBF49CAE35 - 84BA748CBE8E283C3816C0693AC0C9F1E03EAF7BFE955FBBE5E17C47E07199EB - 83AE1B7045E6EDB99C4FEFCD638FA3CC86E45D9BF3C312C5FAC85A1ABC69501E - D8A0AFAC50D69341766C3C64ED1FCD5E834AF9A7D0161AF38D390057E6B0C7E1 - 7FFD9CAF8AFFFACF9FF2C072228E713CCBCE3D3C1692778D50CAC7B83C7B13C7 - 46FEA1B182E52400E719908B3E205F28FA07E3253269E748283A3A0ED2F68CA4 - F861FD83F310717D7EB7B3E5CD2F6B9BED141CF71408583F2087FA40BB969088 - FD7C65FF1CB25772680C60ACE5A15D669AC60FC5DAC325BDB2C10AC76081E33F - 3E816213FCD60CC8F75DDD3F3F6AEB50C83A301AD2F78E8294DD23E1F6C29E1A - C7275D5F57E77697641D1805521C7BE191B19077641CE4A0ADD9074B9849A884 - 5DC32166C73008FE6B10A06FCABDBEE8DABE3EAF6B34CEA98C98897F8F80DB0B - 7A65D3F8A3B70D9333434C7F068F657DF2709DCEF6DF3410DE6C1E0C4F57F693 - 5DC3B6E5AD0FD76777737DB0B8B7E4F5C641521C33BBBE916F5105D1686B84D9 - 10B2B5802FA373128F657DA5B4A65C9EDDD55593F519DBB820A3D4FA8CF39AF7 - DA741090BD742C5E9F2FCDC5BAF3BA69B43EABBABF5C99D32DE2D9EA01E0B9AA - 3FD0B1AEF71755DBA5D9DDCE09F7473AFE1F490B1800F8D789D9CC24A2C6571A - DF9401660793C36C6176A10BAB540AFF29EA002361B63277999D4C2DBDF37D50 - DE281B268F3163C2B1AC99DEF982CE3252EC2313E7A47FA5F04937515B714EB6 - 32EB2B854FF240ED65B2712C0E58E73DBDF3499EA8E34C2EF6F182D9C67CA177 - BE30EF679802EC2305EB76D63B5F900D23C36B24FEFF95FD95E9FFCA8C9FCA8C - FFCABA7E2B73FDA9ECF5B332D7FF4ABE7F1924F2F53FB039CEED0CCAA46D1D75 - 7CF071292565FCF2EA18F806BE816FE01BF806BE81AF1DBF32EFEF86ED9FDA5C - A0E252CFF7F50578FA14E0FE7D801B37002E5D0270C1F0737000B0B404387A14 - 60DF3E801D3B004C4D01D6AD0358BE1C60D122D088AF2B7BCE1CCDF8BAB2A74D - D38CAF2B7BFC78CDF8BAB2478CD08CAF2B7BD020CDF8BAB2FBF6D58CAF2BBB5B - 37CDF8BAB2BFFD5633BEAEECB66D35E3EBCA6ED14233BEAEEC860D35E3EBCAFE - FC73CDF8BAB26BD6D48CAF2BBB7A75CDF895BBFE1BB6FFD6F7BFB0A611CA9E97 - 91FE9F43810959C3CBA482AC2AA899A8F582ADB86F22E237118D693D5FB78A86 - EC4F50D745AC6FD5F0BF15955D43D52E87FD29EAB9A88D15CA580DDF98AF2394 - FB907D6A7C7299AF57889AAC70BE0C5F746E2ADF86CE5D54E62B2C9B256A3F45 - C979957CFEFC34D1F9190AE7AAA1C2F9730E2AC6A796CFD739CD9F0F43551595 - 0FE4CB8B51CD2AC06F8E92F2750688CA0FF3650FD4CC7DB97CBEDE23BECE7E51 - D93DBE6CAB9A76755045BCEAA8A9B79367DD1295BDE6CBE69713BFBD49E5D459 - C0B3024565817CD9023DAC238B785680A8EC365FF6B71EF87B78D64D25654FF5 - C07FCAB3F688CAFAF06532D4D71560B7E619209E277E1D7CCB975FA800FF12CF - 08565C23F0F558517C2FD281FD87A8FDE872AE6FBA06FFD082BD4474DD3AAAA9 - F701EAA1C88EABA88E6AEA7752B857DC47BD5F8E2DEF8BC621C8177508B582D7 - 21BE4C5CE714AA8616631E897AA9C050A617A8E11588899EA8CDBCAFBC50CF50 - 57F8B21EFF35EF835D8992DF37996BB111CACA2BC2466632733DA62FCF07768F - AFD9727DF4713DBE27B292EADF4F19DEE4610A347C9436985EA3FAE9CB478D1E - A60D5A1F2395EE4F9402EDBFB897324C2FBE477F934FC86E62D3B60FF7F49ACA - 992BD1C0B80494ABAA6E01A9EAFAF9F251F260B29BD8EBA3A5702C320B7CD224 - E0934ACA46E1EB944CF049CE40BD039FA474F0494C43A582434802DB87CA31B8 - C7F7227F934F1AA3DDE6515950F7763CDC49C901282E04282A40E50314E60114 - E4A2B03C5F0290978DCA02EF8414957C65F1E38D36DF43F6E7D8477A2E320B45 - EC7C819D05909B89CA00EFF824F5F68BE31FFDED8DFE20BB4BD8229BF3B34BB1 - 21E71D78C725AAE597EA0BEB79A39FD5F98365E7706C90A481776C8296FC0CE5 - 6C91CD204967D9909D8AFC78EDF81823EAFC216643560A78C7C469C7C7D853ED - 8F748E9B9D82EC6480CC24E4C76AC7C7B82E612BB759604346227847C768C94F - 55EB0F311BDEC583775494767CBC5E4AFB4360F3DC4CE46624B06C781707DE91 - 5AF2F17A811C35360BECF438145E8F9191DAF1F17A51CFE6B8901683C2EB3122 - 5C3B7E6C62095B893FC46C488D02EFF0302DF9F16AFDC1B253891D09901201DE - 61A15AF2E394B0919B5E62B3C086E470F00E0DD18AEFF03A127C30A67DA2A251 - 51E083F3C729027CD0D73EE80F9FF050F041BB7D90EDF0EA8DC6FCAAAE01A99A - DCAFCADCBF5CD5DFBF0CFA07F242A737F58D5D032E1BB906E488E7AA8A6B4011 - E61B418CABFFC08AF09173F9FD7341C553BC1260A64F6229B5BC1E2A35720DCC - 621C436AEACA27BBA77927800F2EF58A3A1C9EAD758C1AB90446285E4BF37C93 - 94F29F64C860E18BE432E352A50EB7CAAE71EAF8DA8A38FF14DF3353065F5E0E - 065DD60555C2D80913F827A3246C598F3B1130DC2346670D430D7914031F9F7B - 4D73ED2FF0697E8C5D03C1323C0B4E635F9AC8215202B628CB080998874BE068 - 98040EA176BECD068C6B29B27708FC16D743A1ED8D50952C47941DB2AC907512 - 59C7518791752054027B4224B00BB5EDAD04B6044B60E2336E1E18E7A0DEB4A7 - F8AF82FB299E712CEB14CA1E5936C8B2409D40D611641D44D65ED4DFC8DA812C - 336499A2FE7C238175AF25B02A4802CB0325F0CDAD28F27D3663EE538DF8BDEF - 73B9C5E6A077A5C6B91F59BB4368BC12D88ADA8CAC8DC85A8FAC35C85A815A8A - BCDF0324B0C05F02F350B35F49E083736F8A91E726C44FD3AB21F0C9F9372C4B - 3CCEBF90B501596B512B91B50C598B91B510351F59739035EBA504A6A126BF90 - C0043F090CF04CE7E3C77F8EC07FCF2D08BEBB1355669C4B508B90F51BB27E45 - D62FA819C89A82AC89C81A8B1AE52B8161CF25F0B38F0406A29ADF66F35C19E3 - F2A281C0270D7F9A5C669C33913515599350E390351A5923903504350859FDBD - 25D0D74B023D51DD9E49A08BA7043EBA182AAB827129BEBE3096608A5F56A971 - 8E41D648D450640D46D60064FD88EA8DACEEC8FA0159DFA13A3D2D51FB27D938 - AF5C5C8AD667A871F635B4BD1307AD716C5FA15AA29ADF8A8366A8C637E3C004 - D51055FF867A7D762D8AF7FDAB3E72BE4B40913ED704C635208AE2D270EF36C8 - 90FF18F29FFF6FF90FCE17DEA763E0727C16C4E715418154C6EE2FC565C1642C - A7F3BAE63F737D12204C520869F94570E37504B8DE79084E57AEB3FB9BF83ABD - A00842B30BE1178C176DF39F4B7139908FB60627A4828DAD1D5CBA7215FCFDFD - 212C2C8CDD5FBC7C05ACB13C30210D728A65D0FC5A88C6F98F132ABD400A6F90 - 6D656D0351F8F3AAB0CD9B370F405A0C2093B2E59678DE3326197CD273A186EB - EBBE9AE43FB793F341522465ED23C623D7212C8F9E9DB17C7A0E92F30E1E390F - 82A88830B0B4B185A4BC42595E314CD524FF099514C393D068B8883E613762D3 - 73A7AC248E4F3FC7A7E19832E2D9BEDC2E5C846B4161C958F3A226F94F56910C - 2EDC7FCCFA99DD0A24DCF38E94308E1FFB12200ECF25BD0578170BFEBEDE70FE - D65DFABDBC384DF21FC483F3D51BEC5C3E72F999F307D98C4CE20B82683F7874 - AA2F8405F8C2F98B97899FAF49FEF3AE5006AEF778FBE999283D57490A0188F2 - 01787317E015FA2DE82640B827407C10F87B79C09D3B770205FBCBCB7F3C338A - C13D3806CE5DBAC2F393385F447A03BCBE0DE0771E20E03A40D813E407C2B9B3 - 6E45111111F7917F4193FC67F1AB7448CA2F060B8C0B8A8F476706002487B1FE - 8090475C1FC1F7E1917D0F887CF104ACADAD0B6532194E104CD424FFA16BFE79 - 7A1E5C0E89839356D6101512C43D074A7C038F1C7A72E3887A0E917E8FE0A4A5 - 952C3925C503D95E286D3EA7D21495949292F2D0C6C626FFD2B9B379FECF1E41 - 98DF13F07F72172EBA9EC9A3723C8F0302B2BD890EF723EAC307C79E141E1E7E - FFF6EDDB41172F5E8CB97DFB5610F99BF789978E6C4134E64974ED507CD0D5C0 - EFE97DDD89657CE28871EB3017C01E7F1CB09F0D60F70B242725692D383612E0 - E8708023C3000E0DDD29E72BB0C17626C4C544AB15988F03383106E0F8E89232 - 817D7828F2F11A3C3088EB43810D3633202A3C44AD04361C1B555226661F1C8C - 1AC4DDC7EC4AB3C17A3A84BE09542B810D474794941D1E529A7DE0279E5F9A0D - 5653E1CD2B5FB512D8E41379999C3D9063EF1FC0F115D8603505FC7D3CD54A60 - 934FE4658AEC7DFD39BE021B2C2783DFD3076A553297434ACA0E88D9FD00F6FE - C8F1ADA79562D3DF3BF17A70536B9561EFE9CBF1896D496CFE6FA99C9CC0FE3D - 19383156142723399F1C21BB87969E4B6576137B4F6F8EAF337B907AF6EE5E3C - 5FCC1EA73FF6DF3D39BE984DF7096911E8B415633B4F8712F6AEEE1C5F6CB7AE - 6C791F8525EC9DDD38BEC03E3E465E2D3E3E5E6BC93781BDA32BC717D8C74781 - 5E3681BDA30BC717D83497FAB05F606FFF9EE78F2A89137D6CDB79F6B6CE1C5F - 1E83C3F4633FCBFE0E60EBB71C5F7C5FD0C726B0CD3A717CF97D61887EF8027B - 4B078E2FDC730E0DD60F5F606F69CFF105365EF30CDEEA2B2A96BD19D99BDBF1 - FC92FB995EF802DBB42DC717EE95C23D87D6A9BDB44EF5C1B5A4377FBDF7E0AF - 4B8AED1FB818A4F813CFA5D86E62FFD50694E64074BFB79D05498909E58A8FEB - E7706CA8FACFEFC8D9BFB06CBA674647869711B7968C2E79CDDF23D1C71E6AF9 - 72B670AF9F863947401909F704F96B620BF730757C397B3ACBA67B5A909F7719 - 0939A0FCB5C01672115512D8C2BDD86212E6040FCB88BDD6F17A91BF16D874FF - 52C717F213367F98C4DECF9EDD732F5725F7C6BEEAF972B6F83E8CEBB6BEE24A - 603F3C01F0CC91BB8F3EB507BDC5156BF7F8B26B89BEE2EA249FF328ACFF7A8B - 2B7E7C65367DC595904B296EFA8A2BE1672745FFA88AABE3A34AF23AF9CF2CC2 - 3AD99F63532EB7BBB7E81EA9E4FEA82AAE9ED8A16C011EDBA0AC013CAC509600 - 8F2CB0EE49809B7B4AD65EF13D4C715315579A6CE21C911F5F997B858AB8D23C - 8FEBAA708F51F09DAAB8D2288FEBCADD87882FB0851C5BF09DAAB8D234CF1272 - 2C555211571AF987D8428EA54AAAE24AE33CA8A37ABEAAB8D2280FEA589203A9 - 928AB8D2384F31FD463D5F555C897F4661F31521A7A53CA563095B9CA32893AA - B82A950BF16C710E24B0515AFFC29867834F2BED97D19E99D4619E9814B17B7D - 6EF76B57633C4CFA324F1AAC463EB07B7A7DB577D50A711F36AF8DBC1DA8748E - 5B46E98C47A3EDCCFDA6B5B4667B34EE8CBE8E458614750AED1DC6F87CD191E5 - B2FB06C3F1F8347F3E86ADAF0DFB89490E2A14FBE8282FF7FABC3ECBA7BD7C4E - EA7D8B65616C7D0F93EF34F4491CCB7ED0F4732AAA93C618319E0DC7334FEA9D - E27C857B7CCD96D3F6A8595DB4239C1D87EFA735D5F2C9DF9E0D8A19CF469D44 - 6D9F60B91FDAB7048FC7E1F152D40B948760033F0E299EDFAA364EB8B93C5562 - 37B23D1B1C63ECBA95FEDBADF4DAA3D109ACFB483E8E270D9CF0759ACAB86263 - 10FD4B73C95E4BE413B49B58D4C6C36415BEBECCEEE935957B367885DCB1FCB5 - 37826FDFA72CFB8B2F98678D36B0E71F35FD81F168DA8CB76729DFF7AA52B1E9 - D168256FF332368EA8BE874937FEDC7A9627BEE6E9BA548C6F0F8A6F9331FCBC - 5C56387F89EF770C5BAFECB551546A2DA1FE3C1BAEE7EC6FD65563FB3D1B2C67 - 9E343EC5D9DF94B7DF645D29FB15FD4FD70ED7761C1B2772FF2393ECA67DC99C - F8CBC7E8D97024DBFED997BDCB899FD3F2F8A118A438518C1F623F313989EC07 - F2F8F16C7006CB52D5AE4BB49E501C533CD346F18D31C8C609F982C6C4ED316E - 4C1ECAE39FBBE671AD68A0FEEF4CD35A45EB0E5D8F746DC9C78131E8D1C8915F - D31C599FA48DA9A270FD46977BFD8AD71F6A235E5394AD3FDC3A486C897CCC9A - AF7131FC989DD86BC7F7B34E2C9FF634979CBFA5ACDDDAB04BF9AAE136F69A57 - BEFEA7B1FED6C4276AFF28371B877D188F06DC35407B7A5DD1FBD77FEAFEFB9F - CA1FFEC5DBFD55CC97F75730B350CBEF2E679AEB8B6BBE9E31BEB782D9812A42 - 01AFEC3BAB98661565BBCF65AA21EBB2885BA2E5CCA20AFB640563A9948DBABB - 8299A30B13DBBAA07F27A07D3DF058A6825F787729F3858E36DF4415A35C54D9 - 8EE7B6EAECF38DCC07C80840865485FD9768CE75F6F94AA3F5F757552DF2DCF7 - C31B853E686F4E735E5176E8D33310171797F36C7F77B68F3BCB19D7FBCB98AE - 158A15965DAD986703EDA92FE407B2F3B19219AF2BFBEE0AA35522BB21F4D939 - B8BFE6BDA27B2B8D36D27C602CDEC23ECEE89B5DD1EBA732D9F75719FD518ACD - FABB5A31CD4345D9713F3146F7D7544F0D72DFAD7736172B4CAFFB2BAB164705 - 7B03F5A14F36BBC6AC343E824C19F541E3205FE9F35E716F65D53FD93E701CE4 - 2B7DB2E3AE3355706D1C5459F739648FC5752411AF17934AE2AFE1D7ABC44AB9 - 4FAF647EA0F504F92FC95795D1C783A54C2BECE3234356A4249F31373745810E - ED80DA1AF8BAF1F9F37A930ABB49F7E9FC45FB1367AF9D3A71F39AC3715E476F - 5EB5271DB979D596749893CDC19BE7AD0F9DE5B9F7054E79FEC9BB73AC20F7F6 - 1159EECD43B21CF7FD32C9F5BD32C9D5DDB2ECCB3B655997B6CBB22E6C95659E - DB2C7BE7B64996E1F26781B6FECFBD75B8A8D0CF0920E60E40E42D80F09B00A1 - EE006FAF03BCBE0A10780564FE9720F7EE317877665D91D6FC1B078B0A7D4F03 - 44A966CB5E5E443B8E40FAE9355AF373AEEF2B2AF0712CCD7E539A2DF33D0F39 - 370E439AE34AADF992AB7B8A0A9ED9AB66FB9D0799CF39B4E320A4392CD79E7F - 655751C1535BB56C99971BE45CDB0FA9764BB4E6675FDA51944FEF9D113B4839 - 5BE6E98A76EC8514EBC55AF331FE0A32CF9BF131B85196EEB24196EEBC4E96E6 - B45A967A6AA52CD561B92CC57E892CD976B12CC96A518106D76FA9EBEB82CDE1 - F3D76D0F3EBC6EB39F93F53ED4DE87572D49BB3959FC8DDAF5F0FCC93DE7CBBB - BE2A7B7D30ACCFFF1DFCFF9DAD0A53BFF624A39523B77DB16CE4B62F1B7DDEC2 - 587FE42ACC849E8BAA07ED83716127E075983904DF338B1CDDB86EAB0AE7F235 - 6A7CC6CCEA635733EC38AC42EE3B14F00ABBBA2EA2D727EFD7D33967ADFD7E1D - C66AA1FF971127E104F2F2456C414F978FDCDEAAAA91F68F2DEBD4EC50E5F2FA - 176DC2CDE13A72644AD82469E871705B3478FBE7465534EF6378C7F9556F6C2E - 1C80ED5FAAE08A55F4E620EC1EDDF1F70F3461FFD2E7B71A4147F37FC576B11A - B005653FDE11BBA0D9976D54C654ADEA75997903AE7CF2FA509E19D6CFD0822D - 28E9C1CE84A14A7DFD715DC6E98FC7CD30461CB05E810E6C41FE8AEC6F1BCD30 - 3ABF36F17B3CF790E6AB026CC0588815B3870E1D5A35E071D8C8F0D385C115E1 - 0AFE39BBF6D94C813D6AD4A8F7434343FF888E8E498DF24B9686DB16EBCAA5D8 - 7DEDB6FA59BF1AEF7D50A5468D1A8CA3A363DDD8D8D843D1D1D14528888E8A81 - C8C769106E25D3965DF4F678F1CDE52377B5AA5EED7DD6EEB367CF368F8989B9 - 865C19CB1614190311B73221CC4263766ED0918293C3BB4CAD2BF639B2AF94E2 - 8A15160B11977220EC64B9EC6497D54FD6FFF0D54F1F2AC60BF2BD55F249C1F1 - 10EE9CAFCED76F9D573E9EF4E9C775952E085E5E5E139193A5AE8F28FF440877 - 28526417071DCE7B72ECB72B3DEB7C5457E59AD9AA55ABF7306EFE424EBEEA3E - 70BEBD5221DC462AB00B828EE4BB4CEEF5DB57E5DE2BAA5461962F5F5E2B2A2A - CA065952957D504C3D7C27C5F9CEBC61FA7ACFB81EF3357E8FC7D8D89859B56A - 5563E4DC543B179131F1578F3E9983EB47756DD7F79A356B32EEEEEEDF212750 - 099B62F7F5AD5BB7867CF2C9273ADF039B356B66F4E8D1A321C84A14B1C96777 - 67CE9CD9016DA8F0F39AA64D9B567BFCF8F1EFC87C87CA419D4E484818F4FAF5 - EBAE4141415A29303050E9673A9A3469520DE7A30F6AC89A356B1AAE5EBD7A22 - 1ECFD241D3FE677E8FFDCCB35635CEF9D956757B9E437B7AAD17AEB3778F0FCE - F9DDAC71D6377784576CE196C83C18FA2CAE185FE77D78FEC56D3AAFFDF7EB81 - 516DA727A3FFB43890D8CEE56ECE8C174952AB1429D8A40058A2CC93010E26CA - 60DAAB545907B7FB39EB2C0FA47DECFC683673EF5E55F57F6731A4BAB19BCFCC - F7CFFAC5985CF3CFB6B9E4047E4717C363D74370EE7508D8A472FC13C877080A - 81BB2E87E0399E37BFE40C0DAF0766D770F34B36727BBE8CB17FF961E9DFF1F6 - FDBCAAAB8FD97B6ECFB33ADE0ECEDE1A960917DF019C45B9A614C1752F0FF0B1 - 5C0BCF6C37C1ADEBA7C1E3D42EF0365F09E71EDC8003F105B03B0160076AE1DB - 1C6873372CBBAA9B6F8EF1D9E7471927DFFAC43776792E7DEFACAFCC2C3403DC - 3301AE20F702F1D3015C504EC94570EDD923787E6219BC38380F7CD1E68BF7AF - C36164EF4F02D89D08B013F95B51A6710093023200FB9019B93E2FE6ECF781DA - 57DF48AB9FF39575B8155C2CD87F3E390F6E3FBA01BEC8F574D80A175EF8B1FE - 710A0C86FBCEFBE1F9B13FE0E2ADF3B03F4A5262FF9DD0A26A6EBEF0D1A5A062 - E20AFC0E2FF2A1CBCB3C68783B5C86FE97599E3493791F5A080F2F58C0D9D018 - B047DFDBA696CCEF51B4DB2A38066E9CB3002FAC677972ABAC3AB6AB732DB8F8 - 7BBF6C688F3C31BF8D5F3E7CFFB200FA0516C2D0A042F0DF3B139AB97A486B5D - 78299BFE22496699242DE1A30E26C9602AC64FED8BAF8A1A393F9452FDC18179 - F063400174795500AD7D4BF35B3CCF878ED8674FFF0218FC9AE3CF0A2D82FEDE - C9F0C9A55714EF30DC2B4E4AF13F848D7F3FE907E7FD8ADB3F88964E0FE1EA53 - 3B6ADF11ED6CF13CAF14DFC4270FDAE2187E7845632860EB4F0D2982F9E1C5B0 - 224A0AD3FCD3E1CB2B41C578FDC207E75F14F57B96205B16590CF3F0FCD4D062 - B67EFF40CEF636683BF1C4FCFADE79D012FBEC8463E81DC0D933E16D11FC8263 - F82392FE9EA90CB6C5CBD836DBE264B02E46CA96CF0E2B86F1C1456C7D6AD7E9 - 653EB444FE97DEA5F99F3DCB8526FC18BABEE2EC1FF5A610A6E1187E8B288695 - D1528C3D8E4FFB55F8FA37B49DCE8F7AC3F1A91DB56F82BEAE833C31BFE6D35C - 760C5F61DFDFE218A8FE50F4278D610E72FE405F6C88E1F81B6265ECEB3968FB - 443C3F849F2F6AD70ADB138778627E0D8F6C760C4DB1EF767E1CFF278CA3D138 - F6E968E3021CC3EA688E4FB62F8C90B2E5A3830BD97A54BF1DF2A9FDE75E792C - 4FCE777B7E98717D9E5BE36674517DAF1C760C54BF2FC6EA30B46D12727EC531 - 2CC579A636B4FF156DA7F261E89B3E019C3FBF46BBA87D8D1BD1C58CAB6F1E32 - 8F96AC413E26F8DAB1CAD917D99FDD4D60E3B93BC6DAC0A002188336CEC0795E - 886320FE22DCD36B2A1F88B6F7F0E7F85F3C4C9219B9BD90306E7E571997E72D - 94AEA16EBE9DABB8FA3E7BBEF71768FE38197EC4310C471B278714C3DC708E4F - FBC968FB709CFFBE68FB574FD2E0F9BE5FA08A9BEF4B4DEF077DAD5D26E25A1B - F6E1A50049179F7730166D9D15C6F1694FAFBB3DCF849A57822446677DA37F70 - B8344F97FB8CB1DBF309C66E7E49F5AE074B8607E4B0FC918139D0E85658B6F1 - 59DF74C6D9E737C6C5C5B842F7C8CB3E1FA08D1B8DDD7C25C4A77D557C4DE57A - BDC79FF6F98C71F6B2A5BDE16FF718F21F43FE63C87F0CF98FEEF9CF7AFF58B0 - 75D803D7B74F855B1B8680DB5F9360CBD1EDF0C383880AE73FBB9FFA80C7B631 - F078F33078B06908DC5E3F18AEADFE092EACE80FA7970F829EE73D74CE7FB6BD - 8E63D94FB70C8300870D5028C9E0FF2CD03B787C620538FFDE136C16F583BA76 - EE3AE53F4EA7F6B0767B98FECCB27D8EFF0EEE2B7AC3A303F3203FFB1D9C9EDF - 05ECE77E0F73FFFC5DA7FCE7C68EA9AC4FEE6F60FF0609DC40F6953FBAC1B905 - ECEF7B81C3EC0E6033B33D1C98DB335797FC87E692FC7D6B0DFB373C58F67964 - 3BFFCAFEBE14D84CFB1A2CA77E0D27A7B4065DF29FF3A693D8B9BCB282FDFD46 - D66EE739EDC171466BEED70E273603F309CDC0F6D72EC9BAE43F872D76B27172 - 6E496FD6DFB776CE04C7996DE0AAE978C8CB4C03F3B126706C4C23B87D70A983 - 2EF9CFD4A7A1707AD940364EEE1D5A0C7959E9ACDDC4BE6A360D8E8D6E0827C6 - 37CBCF488868AE6BFED3C9C2C9CE66D18FF914273497E46FF209D94DEC28DF7B - 832A9AFF6425C7367F60B1C9C1F1F7BEC93497E46FF289A6761BF21F43FE63C8 - 7F0CF98F21FFF9FF9BFF508EF2D2763D488B0AD97BD879BC67EA33FFF1B75DC7 - B203CFED67F96E0BBBEA35FF217610B22947A1EDCCDC4E7ACD7FDCF9DCEA3C9F - 5B511EA1CFFCE7D2921EF2FC87FD9314535AEA35FF217F934FC86E36B71ADF44 - AFF90FCD25EBEF695FB37C966DC87F0CF98F21FF31E43F86FCC790FF189EFF54 - EAF39FBB6BFBC99FFFDCDFFD0BE467A5EB3DFFB9B6BC37BCBE6A81B95601DCD9 - 3357AFF90FF944921203C96FBCE1C2CA817ACF7F0AF324E065B799CD7F58B69E - F31F659B21FF31E43F86FCC790FF18F21F43FE63C87FFEFFE73FC2B325DA5E5D - 385669CF7FDCCD26415E569AE1FD2F43FE63C87F0CF98F21FF31E43F86FCE73F - F0FE17E511AF2F1CAC94F7BF1E6E1808C1C8A6DCAA32DEFF12D80F764CA994F7 - BF68237665BDFFA56C33BCFF65C87F0CF98F21FF31E43F86FCC790FF546EFEA3 - 6CD367FE431B3DA3A1E728F4AC43DFF98FE2E79F2B23FF11367AB6A4EFF7BF2A - FBF98F38FFA98CE73FF4FE9AB0199EFF18F21F43FE63C87F0CF98F21FFF9FF92 - FF3C311B0171CF2E43517E0E7B0F8BF4BCAAD7FC271ED9696FBDE1EEA6119592 - FF90DDF7905D99F94F41F6BB4ACB7F68A3F7ED0CEF7F19F21F43FE63C87F0CF9 - 8F21FF31E43FFF9EE73FF4FE97F8F90F6D95F5F99F17677655DAE77F04F6E5F5 - 23F4FEFC47CE5E37BC527EFF8B36B2BB323EFF4C7329FF9B0064B7E1FD2F43FE - 63C87F0CF98F21FF31E43F86CF3F57FAE79F89FFECF0824AFBFC73E84DDB52B9 - A1BE3FFF4CCF960CCF7F0CF98F21FF31E43F86FCC790FF18F21F43FE5391FC47 - DF7FFFD0C76245A9F7BFF4FDF70FC59FFF715DD41D0A73B32BE5F33FAEBFF780 - B8578F20E886835EF39FB0C797589F90DD41371DC172528B7F55FEE37F6A1568 - AA80D3AB0BFC1D56F6D5C6266A0732194A8AFF8A40564C2A84E2C27C541E1417 - E4A272A0284F0259B14110E0BC2127F0F4CA7EDAF0652236FD0D076911B20B90 - 5D28B0B339E56641667480567DB07C6931FB77B88A1E98AA56A83BC64826BBC6 - 6444FA4180D3EA024DF952F487B4B8008AC36FA36E4171D84D5645A137388520 - 3B3180651748D2F17A4D63E743633EFA84F537EBEB5C28CA97B0FE28447F90CD - 8539191C1BB9A4FCAC14ADF8EC3CA254F946754CAD94290AFD962F8E31814F9F - 03280A157CE2CEF924E43A2BCE56993C0E387F723126958F3B078A71DC19B101 - 10E8BC41F2D29E9B7F969FCF9D2BED93D2BEA61860C5C65821C7E5E397F5A7BC - 7D2664C4F8631FEBD93EA8AD3CFE029C948A8B012E7ECB8D319C2BB28D8FB17C - 8E9FC5C67651AC0FCA1B0A49315EA867ACE43156248EB15B50248EB15021C6D2 - F19EC38DFB95E34AB66D498CA4CB7D42319297990CF9A85231C6CF15F994F349 - 498C897D4AED057E015BFE0E8A925F2B953CC6C8D7EAFC83CACF4A65D96497DC - 7EFEBA294C8F4645B12A488BE4941A01A5622C4C1463E2387B7B8D95C0CECF4C - 2AB19F1D4FAADC27791949A844C87D170FB9E97120C498384684B542F04741B6 - D03E8965E7BD4B90F35936EF6B3A978BE7E83CB173D262419318134476716DE3 - 457C6E4CECB98C04B9DDB9C8CE4D8B01C5182B54126305D19EACA87D1EDF5EE0 - 6BA222F13AC4FA24B5C4A7BC3F59DBD06ECEAE5896AFC91A45F584F855156382 - 389FC6404E6AB4967C6EFD2C1363185F250A472EC7CE498DD28A9F2F8A91FC2C - 61AE124BC501F984D8929428C84989D48ACFB2F918237F538C89E340F0490EB2 - 25C911ACB4B25FCEE66CA618C913C5580E6B3367B7B67CFEDE0172396A286CA7 - 8E6B6E6E5EEDD4A953E6363636B314CF5199A3A3E309AAA3EBB313645BBC78F1 - 220F396F14CF5199AFAF6F1EF5AF0BDBC5C5E5BD33679C12C881B76FDF4E3979 - F2E4F7C2393AA6323AE7E4E414AFCB18B0CDD7B7DCAF25D23D2B252505D0CECB - A2715DA632BA5FDEBC763511FBD3FA59D3B163C7BEBA79F552A2F0B39BABAB6B - C2912347EA60F9276E6E6EF16C4E8EE7DC2F5F4CB4B4B46CA12DDFCACAAAFE45 - 37E784DCD4385C9B73213838B8D0CECE6E23898EE95E93931207175C9D132C2C - 2CBED0650E1CECAC23336382213F23058A0A0BC84791A4C2827CB62C333A181C - ED6DC2748D1F7B1B2BFB60EF07909D10C1FAC2C3C323DBDDDD5D42C75446E7A8 - 8EAE7C1C77FBCBAE4EC919918178EDC741467A0A5CBD7A05C8675476C9E57432 - D5A9C8F3437B6BABC0B8578F31F77FCBFAE41AF213DEBE022A73B0B17A55D1E7 - 93D6D6D6331F5C7595A487F8B13E090B0E8247B7AFC1FD2B6ED9369696D32BCA - A76B077D1C9B883F7BB27EC29871733903F6D6963115591BC4B2B5B13AEF75F3 - 02A4BC7E0699316FE1D9E387606D65714E5FCF861D1C1C82DC9C1C21D1EF2EA4 - 87BE80D4E8B770CAD13150E767C20C546598C47E0C133F65D8B0FBC3AF5E3A9F - 7CDFFD12F8DDBD04C9FE1EAC9FAE5EBE984CE7A80E5717AA6AC64E6CC730092F - B11D708A8345F38221CEFF09B89EB687B8E7B721F58D172C9C1BCC9E2BA9476D - 12DBA967A77C897593F8365254AAD0DEF9F833B870C621EFEE2597BCD347BD44 - 5CB68E943F4E6498E47AAAF9F1B67C3DEC23B6038ED9B87EFD10B6BFB1C35E4A - 1D6C6D1ED8D9587AD0319571E7C098AB1B9FCCB7B555CE0EA98EE732799FCC16 - CA3FFA28F2349575ECF02271DFBE7DEF93F098ED13CF9D2A691F3787E767124B - 89DFEB968C39A979C93CC707F37D9A8A589BF9BA6F84796598989625ED13EB96 - E5277F84E78AF93AD31826A206EE4F88E6A2B5C88FAD453E3FC1D54D98C1BF2E - 2696721F255C14CD5B81E8788B92B9325351F7BCEAF94DFA02CFFB28B45B8B3E - 3052728DE0BCC6AF5360FB28F38D423B23ACF303D61D8CFAACFCEB25FE331CF7 - CFA82ECAEC505483D16B3AB49FB53DBAFBA2FDB1DD16ED8F11F63D704FC774AE - E188F53AAFF9DF2C38B17BAF67245CC5DBFA359184D774EE9B05C7766BCA6BED - F6FC404B17EFE216CEDED0C2C5075AFDED0E131F26C0C2288045BCC4C793F01C - D569E1C2D5C77D71DBF37EFB55F15B3A7B15FF9558005B538A598D38F7069ABA - A74063BC3329AA893FEEAF27C3C8F3C1B039A9084C930A615D6C2E20A34815BF - F9694F399BB4F24D367C73C81FDA1C0B82D64703CBECE9DCD2A04CD89850007F - A2D6C5E7410B274F957972F3534F4AF11565965C045B928B595B372516C2461C - EB86F87C588F5A1B9707ABD17E62A8E23773F450CE456D4E2EE2B99CADC45C87 - 5A83DC553139B012B53C3A0788A192EFF0A80C97987F91AD0902378FF5C31AB4 - 95B82B78EE92A86C56CDEC1FA9E6DB3D60B95B785BFF127C9050DA072B79EEB2 - 6809CB5C1C9905BF4764C1C2F04C20864ABEED3D9649BEFD13991B7826EB8358 - F2412EDA2A81A5C8D4E867E5D36B0AFC9D4A9E8F35B3B9CB72D78BB9BC6F97B1 - 5C09FCC1DBFACA613994B74992C220E0CCBA9C97F64BD9E7634DAD6E97F641B4 - 820F500B23326101FAC1CFF60F9621A3E7BDF24DA6B0E7FAC09FED24D44753CB - 5B7C1C484AB81125BEFD2D2C03E685BE835F43D2C1D76A01F79C0C7FAE288EB8 - 23D25DF931F7FCAF08B2E282C0D7FAF782A6276FB03E202E31172193B8F3898B - 22EE1CD42F6FD3C1DB7C2EFFFCB840E5F325E13CC9E7E45C6872E29ADC56F2C1 - 7CB4752E6FEFECB769302B380D6606A7C2F43729F0ECD82FF267B0ECB32C7A26 - 297A2D2EA33DD56F72FCAADC07C4E56CE5B833DEA4C2B4D7293015353930099E - 1E9E0E85F49C869E034579708AF628391644CFA0B01ED56F7CF4B29CCBD99A86 - B6A6B2CC2941C9301935212011C6A39E1C980C05EC73BC0C28F23EAA52ECB3BE - DC0C787C601234397AA9940F585B91390935116D1EE79F0863FD1360F4AB0478 - B4771CF79C43C23D8766F7A87C85E37CFE39B507D66F7CF882DC079390474CB2 - 97986350A35EC6C3C8977130FC451C3CD835927D76422A887EC6AAE4F955C96B - E1B926D56F7CF09CDCD6F101491CF795C08D67B943FD626108EADE8EA1FC7393 - 84729EC125B0BAB77D28F18B47FBC5F03E8867B92390390C3504CB7FF62DD19D - AD8320273D967BDEC3EF8563F6F90FFB3A567EEE8ED9206872E8FCFEC607DC8A - 4DF6BB02AB7D2EA5F68DD963EEDC2DD37EF267531241F44C46695914D6EF0FDA - DCFB6F6CEA836D233516D5D7867F7D7D77D056FFD86772D6B6FB044CDB8E432D - 874D6D97A1C68269C7DA15E6AEFFE60B30EB680B9BBF2986FD03B2C16E562ED8 - CECC857DFD246C9959076B58D7E2739DD8A6ADBF417632D8FE920F913E005949 - 0019F10069985825850004DC00B09C920F5B3A26C1C6366DB563B7AFCBB2AF6C - 95025E9F80EB07ABEC148077B10029E100F1AF016231C9BA6C2A85AD9D12B51A - 8759275BB099990FEFE2F0069406B890D10702B8631A434A044002CF4F8D04B0 - 9B9D8F7D58693C97E4DBB70F81E3A7D287E53865A77265643FF1E302D05FD100 - D17E009BDB156B34E71427347FC9A100E9D8363391F30B293381E3D1B9B840CE - 47E4AFFC2C80033F49C0F49B31E5F3DBAC04EBE9B990F886B393FA209B89436C - D6763C17FB8A9B679AF7C25C00C7DF7261539B15E5F2A98E0DF269EC89C19CAD - C424D131F54BE7E283B8FE72D2018AF2011CE6E7B0D746B97CBC76F6F597B0E3 - A7F9230EF99A44C76C199E4BC539A6D8A2B927FEFE0112D8D47A74F9FEC13962 - E7F711673FD91AF38A9330268A19F24B7E36C7A6FE687ED734ABA5597C76B406 - 9B59F9901ECB5D4F148F642F1D537C521C09ECC23C00DB39149F161AC73F5D2B - 669D92E0DA0E291BF314A324F235E6022C5760BBEF92A66DEF5550FFF4434FC6 - E5D5771AF741D73CF56187B62504953005914F6C67E713BB8D833B302E01A477 - CC9980EFB51A075D97ECFA3650028EF37359EDC758277F9B75B2E4EC0E0091B4 + F76850ACB177910E2A52ECBD37549A805214E9BD2365E9EC9EEF9C29CBB0EC2E + BBCBF2F2BEBC9DF8CFCCDEB9F777CF3DF7CC9DC3ECC232CCFFC676FBB79EE7AE + CCE90A243AAE080B2E6CAAF27C75BF6AE2B2BBBFF58C80C70B8044C7E2735497 + DA68C20E331B6A7C67614FE7DBF37B445D9DFB7D5BA1FCC6DC6E7970773590E8 + 5828A73AB7E6758F423953DB72FD30B7874BE0BA9F24603D458A6D24D77FEDFA + EBCDB9DDCCF0B8006D04B8B211E898CAE81CD501F389D2976B07486ECEE9EE52 + 9EEDB717F48846B68C65B92D00EF15FDB2D3770ECF637D73730D6B3FDC990B89 + 3B86E5B92FFB311B2EFD02E0B508A487C7C96EFDD63DBABC315C9BD7E5AB5BF3 + 7B48E0D13C806BEB4A98F757A0EF97023CFB03C063313217E231EAC96F0067A7 + C3F5793D24627FAADB68DC5E2BD036623E5A0EF014B9D6532161FBF0FCF86DC3 + F2C16232C043E4DE9B8B63F9159E2DEB934D6D348D1FF26DE2B62179F01CEDF4 + FC1D62B6FC9C73EBD71EE1D76677F98374FBB7EE11E17F0DCE812BB381FCF376 + E3C03C6AA38E893173EE0EC61DDA9187FEC9870BB358FFE3DC01B1CFCCE95A43 + A84BC7E8EB88C28363011CA7039C1C0F37E775CFBFFA6BB73C9CEF083C2E737D + D075032EC8BC3B97F3E98379EC7194D990BCEB737E58A2581F594B83370DCA03 + 1BF49515CA7A32C88E8D87ACFDA3D96B5029FF34DA4263BE3507E0EA1CF638FC + AF9FF355F15FFFF9531E584EC4318E67D9B987C742F2AE114AF91897E76EE3D8 + C83F3456B09C04E0340372D107E40B45FF60BC4426ED1C094547C741DA9E9114 + 3FAC7F701E226ECCEF76AEBCF9656DB39D82E39E0201EB07E4501F68D71212B1 + 5FACEC9F43F64A0E8D018CB53CB4CB4CD3F8A1587BBCA4573658E1182C70FCC7 + 27506C82EF9A01F93EABFBE7476D1D0A59074643FADE5190B27B24DC5DD853E3 + F8A4EBEBDADCEE92AC03A3408A632F3C3216F28E8C831CB435FB6009330995B0 + 6B38C4EC1806C17F0D02F44DB9D7175DDB37E6758DC639951133F1EF11707741 + AF6C1A7FF4B661726688E9CFE0B6AC4F1EAED3D9FE9B06C29BCD83E1F9CA7EB2 + EBD8B6BCF5E1C6EC6E2E8F16F796BCDE38488A6366D737F22DAA201A6D8D301B + 42B616F065744EE2B6ACAF94D6942BB3BBBA68B23E631B6764945A9F715EF35E + 9B0E02B2978EC5EBF3E5B958775E378DD66755F797AB73BA4578AC1E00EEABFA + 031DEB7A7F51B55D9EDDEDBC707FA4E3FF91B48001807F9D98CD4C226A7CA5F1 + 4D1960763039CC166617BAB04AA5F09FA30E3012662B739FD9C9D4D23BDF1BE5 + 85B261F21833261CCB9AE99D2FE81C23C53E32714EFA570A9F741BB515E7642B + B3BE52F82437D45E261BC7E28075DED33B9FE48E3ACEE4621F7ECC36E60BBDF3 + 85793FCB14601F2958B7B3DEF9826C18195E23F1FFAFECAF4CFF5766FC5466FC + 57D6F55B99EB4F65AF9F95B9FE57F2FDCB2091AFFF81EDD4DCCEA04CDAD651C7 + 076FE75252C62FAF8E816FE01BF806BE816FE01BF8DAF12BF3FE6ED8FEA9CD19 + 2A2EF57C1F1F80E7CF011E3E04B8750BE0F26500670C3F0707004B4B80A34701 + F6ED03D8B103C0D41460DD3A80E5CB01162D028DF8BAB2E7CCD18CAF2B7BDA34 + CDF8BAB2C78FD78CAF2B7BC408CDF8BAB2070DD28CAF2BBB6F5FCDF8BAB2BB75 + D38CAF2BFBDB6F35E3EBCA6EDB5633BEAEEC162D34E3EBCA6ED85033BEAEECCF + 3FD78CAF2BBB664DCDF8BAB2AB57D78C5FB9EBBF61FB6F7DFF0B6B1AA1EC7919 + E9FF3914989035BC4C2AC8AA829A895A2FD88AFB26227E13D198D6F375AB68C8 + FE047543C4FA560DFF5B51D97554ED72D89FA25E88DA58A18CD5F08DF93A42B9 + 37D9A7C62757F87A85A8C90AE7CBF045E7A6F26DE8DC2565BEC2B259A2F65394 + 9C57C9E7CF4F139D9FA170AE1A2A9C3FE7A0627C6AF97C9D33FCF930545551F9 + 40BEBC18D5AC02FCE628295F6780A8FC305FF648CDDC97CBE7EB3DE1EBEC1795 + 3DE0CBB6AA69570755C4AB8E9A7A3B79D61D51D96BBE6C7E39F1DB9B544E9D05 + 3C2B505416C8972DD0C33AB288670588CAEEF2657FEB81BF8767DD5652F65C0F + FCE73C6B8FA8AC0F5F26437D5D01766B9E01E279E2D7C1B77CF9C50AF02FF38C + 60C535025F8F15C5F7221DD87F88DA8F2EE7FAA66BF00F2DD84B44D7ED2935F5 + 3E403D16D9710DD5514DFD4E0AF78A87A8F7CBB1E57DD13804F9A00EA156F03A + C49789EB9C46D5D062CC23512F1518CAE4871A5E8198E889DACCFBCA13E581BA + CA97F5F8AF791FEC6A94FCBEC95C8F8D50565E11363293991B317D793EB07B7C + CD96EBA38F1BF13D919554FF61CAF0268F53A0E193B4C1F41AD54F5F3E6AF438 + 6DD0FA18A9747FA21468FFC58394617AF13DFA9B7C4276139BB67DB8A7D754CE + 5C8D06C639A05C55750D4855D7CF974F920793DDC45E1F2D85639159E09D2601 + EF5452360A5FA76482777206EA1D7827A58377621A2A151C4212D83E548EE166 + 7C2FF237F9A431DA6D1E950575EFC6C3BD941C80E24280A202543E40611E4041 + 2E0ACBF3250079D9A82CF04A4851C957163F5E68F303647F8E7DA4E722B350C4 + CE17D85900B999A80CF08A4F526FBF38FED1DF5EE80FB2BB842DB2393FBB141B + 72DE81575CA25A7EA9BEB09E17FA599D3F58760EC706491A78C52668C9CF50CE + 16D90C9274960DD9A9C88FD78E8F31A2CE1F623664A580574C9C767C8C3DD5FE + 48E7B8D929C84E06C84C427EAC767C8CEB12B6729B053664248257748C96FC54 + B5FE10B3E15D3C78454569C7C7EBA5B43F0436CFCD446E4602CB867771E015A9 + 251FAF17C85163B3C04E8F43E1F51819A91D1FAF17F56C8E0B693128BC1E23C2 + B5E3C72696B095F843CC86D428F00A0FD3921FAFD61F2C3B95D891002911E015 + 16AA253F4E091BB9E925360B6C480E07AFD010ADF80EAF23C11B63DA3B2A1A15 + 05DE387F9C22C01B7DED8DFEF00E0F056FB4DB1BD90EAFDE68CCAFEA1290AAC9 + FDAACCFDCB45FDFDCBA07F202F747C53DFD825E08A914B408E78AEAAB8041461 + BE11C4B8F80FAC081F3957DE3F1F543CC53301667A279652CB1BA1522397C02C + E654484D5DF964F734AF04F0C6A55E5187C3B3B58E5123E7C008C56B699E4F92 + 52FEB30C192CF44B2E332E55EA70A7EC1AA78EAFAD88F34FF1DD3365F0E59560 + D0655D50258C9D30817F324AC296F5B81701C3DD6274D630D4902731F0F1F9D7 + 34D7FE029FE6C7D825102CC3B3E00CF6A5891C2225608BB28C908079B8048E86 + 49E0106AE7DB6CC0B896227B87C06F712314DADE0A55C93A85B2439615B24E22 + EB38EA30B20E844A604F880476A1B6BD95C09660094CF4E0E681710AEA4D7B8A + FF2AB89FE21EC7B24EA3EC9165832C0BD409641D41D64164ED45FD8DAC1DC832 + 439629EACF371258F75A02AB8224B03C5002DFDC8922DF6733E6DED588DFFB21 + 975B6C0E7A576A9CFB91B53B84C62B81ADA8CDC8DA88ACF5C85A83AC15A8A5C8 + FB3D40020BFC25300F35FB95043E38FFA61879AE42FC34BD16029F5C78C3B2C4 + E3FC0B591B90B516B51259CB90B518590B51F391350759B35E4A601A6AB29F04 + 26F84A60807B3A1F3FFE7304FE7BAE41F0DDBDA832E35C825A84ACDF90F52BB2 + 7E41CD40D614644D44D658D4281F090C7B21819FBD253010D5FC2E9BE7CA1867 + BF06029F34FC79729971CE44D654644D428D43D668648D40D610D42064F5F792 + 405F4F09F44475F390401777097C7429545605E3527C7D612CC114DFAC52E31C + 83AC91A8A1C81A8CAC01C8FA11D51B59DD91F503B2BE43757A5EA2F6CFB2715E + B9B814ADCF50E3DC6B687B2F0E5AE3D8BE42B54435BF1307CD508D6FC78109AA + 21AAFE2DF5FAEC7A14EFFB577DE47CE780227DAE098C4B4014C5A5E1DE6D9021 + FF31E43FFFDFF21F9C2FBC4FC7C095F82C88CF2B8202A98CDD5F8ECB82C9584E + E775CD7FE67A274098A410D2F28BE0D6EB0870B9F7181CAFDE60F7B7F1757A41 + 11846617C22F182FDAE63F97E372201F6D0D4E48051B5B3BB87CF51AF8FBFB43 + 585818BBBF74E52A58637960421AE414CBA0F9F5108DF31F47547A8114DE20DB + CADA06A2F0E755619B376F1E80B418402665CB2DF1BC7B4C3278A7E7420D97D7 + 7D35C97FEE26E783A448CADA478C272E43581E3D3B63F9F41C24E71D3C711A04 + 5111616069630B497985B2BC6298AA49FE132A298667A1D170097DC26EC4A6E7 + 4E59491C9F7E8E4FC33165C4B37DB95EBC04D783C292B1E6254DF29FAC22195C + 7CF894F533BB1548B8E71D29611C3FF625401C9E4B7A0BF02E16FC7DBCE0C29D + FBF47B79719AE43F8807A76BB7D8B97CE2FC33E70FB21999C41704D1BEF0E474 + 5F080BF0810B97AE103F5F93FCE75DA10C5C1EF0F6D333517AAE92140210E50D + F0E63EC02BF45BD06D80707780F820F0F774837BF7EE050AF69797FFB86714C3 + CDE018387FF92ACF4FE27C11E905F0FA2E80EF0580801B0061CF901F08E7CFB9 + 164544443C44FE454DF29FC5AFD22129BF182C302E283E9E9C1D00901CC6FA03 + 429E707D043F8427F63D20D2EF19585B5B17CA64329C2098A849FE43D7FC8BF4 + 3CB812120727ADAC212A24887B0E94F8069E38F4E4C611F502227D9FC0494B2B + 59724A8A1BB23D51DA7C4EA5292A292525E5B18D8D4DFEE5F3E7F2FC3D9E4098 + EF33F07F761F2EB99CCDA3723C8F0302B2BD890EF723EAC31BC79E141E1EFEF0 + EEDDBB41972E5D8AB97BF74E10F99BF789A78E6C4134E64974ED507CD0D5C0EF + E97DDD89657C720AE3D6612E803DFE38603F1BC0EE17484E4AD25A706C24C0D1 + E1004786011C1ABA53CE576083ED4C888B89562B301F0770620CC0F1D1256502 + FBF050E4E335786010D787021B6C66405478885A096C3836AAA44CCC3E381835 + 88BB8FD9956683F574087D13A856021B8E8E28293B3CA434FBC04F3CBF341BAC + A6C29B573E6A25B0C927F232397B20C7DE3F80E32BB0C16A0AF87BBBAB95C026 + 9FC8CB14D9FBFA737C0536584E06DFE78FD4AA642E8794941D10B3FB01ECFD91 + E35B4F2BC5A6BF77E2F9E8B6D62AC3DED397E313DB92D8FCDF52393981FD7B32 + 7062AC284E46723E3942760F2D3D97CAEC26F69EDE1C5F67F620F5ECDDBD78BE + 983D4E7FECBF7B727C319BEE13D222D0692BC676EE0E25EC5DDD39BED86E5DD9 + F23E0A4BD83BBB717C817D7C8CBC5A7C7CBCD6926F027B47578E2FB08F8F02BD + 6C027B47178E2FB0692EF561BFC0DEFE3DCF1F551227FAD8B6F3EC6D9D39BE3C + 0687E9C77E96FD1DC0D66F39BEF8BEA08F4D609B75E2F8F2FBC210FDF005F696 + 0E1C5FB8E71C1AAC1FBEC0DED29EE30B6CBCE619BCD557542C7B33B237B7E3F9 + 25F733BDF005B6695B8E2FDC2B857B0EAD537B699DEA836B496FFE7AEFC15F97 + 14DB3F703148F1279E4BB1DDC4FEAB0D28CD81E87E6F3B0B921213CA151FD72F + E0D850F59FDF91B37F61D974CF8C8E0C2F236E2D195DF29ABF47A28FDDD4F2E5 + 6CE15E3F0D738E803212EE09F2D7C416EE61EAF872F674964DF7B4205FAF3212 + 7240F96B812DE422AA24B0857BB1C524CC091E97117BADE3F5227F2DB0E9FEA5 + 8E2FE4276CFE3089BD9F793CB859AE4AEE8D7DD5F3E56CF17D18D76D7DC595C0 + 7E7C02C0E314771F7D6E0F7A8B2BD6EEF165D7127DC5D5493EE75158FFF51657 + FCF8CA6CFA8A2B219752DCF41557C2CF4E8AFE511557C74795E475F29F598475 + B23FC7A65C6E776FD13D52C9FD51555C3DB343D9023CB5415903B859A12C019E + 5860DD9300B7F794ACBDE27B98E2A62AAE34D9C439223FBE32F70A1571A5791E + D755E11EA3E03B5571A5511ED795BB0F115F600B39B6E03B5571A5699E25E458 + AAA422AE34F20FB1851C4B9554C595C6795047F57C5571A5511ED4B124075225 + 1571A5719E62FA8D7ABEAAB812FF8CC2E62B424E4B794AC712B6384751265571 + 552A17E2D9E21C4860A3B4FE8531F7069F56DA2FA37998D4619E9914B17B7D6E + 0F6B5763DC4CFA32CF1AAC463EB07B7A7DAD77D50A711F37AF8DBC1DA8748E5B + 46E98C5BA3EDCCC3A6B5B466BB35EE8CBE8E458614751AED1DC6787FD191E5B2 + FB06C3F1F80C7F3E86ADAF0DFB99490E2A14FBE8282FF7FCBC3ECBA7BD7C4EEA + 7D8B65616C7D3793EF34F4491CCB7ED4F4732AAA93C61831EE0DC733CFEA9DE6 + 7C857B7CCD96D3F6A4595DB4239C1D87CFA735D5F2C9DFEE0D8A19F7469D446D + 9F61B92FDAB7048FC7E1F152941FCA4DB0811F8714CF6F551B27DC5C9E2EB11B + D9EE0D8E3176DD4AFFED567AEDD6E804D67D221FC7B3068EF83A4D655CB13188 + FEA5B964AF25F209DA4D2C6AE366B20A5F5F61F7F49ACADD1BBC42EE58FEDA1B + C1B7EF5396FDC5178C47A30DECF9274D7F60DC9A36E3ED59CAF7BDAA546CBA35 + 5AC9DBBC8C8D23AAEF66D28D3FB79EE589AF79BA2E15E3DB8DE2DB640C3F2F57 + 14CE5FE6FB1DC3D62B7B6D14955A4BA83FF786EB39FB9B75D5D87EF706CB9967 + 8D4F73F637E5ED375957CA7E45FFD3B5C3B51DC7C689DCFFC824BB695F3227FE + F231BA371CC9B6F7F8B27739F173461E3F148314278AF143EC67262791FD481E + 3FEE0DCE6259AADA7589D6138A638A67DA28BE3106D938215FD098B83DC68DC9 + 6379FC73D73CAE150DD4FF9D695AAB68DDA1EB91AE2DF9383006DD1A9DE2D7B4 + 53AC4FD2C65451B87EA3CBBD7EC5EB0FB511AF29CAD61F6E1D24B6443E66CDD7 + B8187ECC8EECB5E3F35927964F7B9A4BCEDF52D66E6DD8A57CD5701B7BCD2B5F + FFD3587F6BE213B57F949B8DC33E8C5B03EE1AA03DBDAEE8FDEB3F75FFFD4FE5 + 0FFFE2EDE12AE6CB872B9859A8E5F79733CDF5C5355FCF183F58C1EC4015A180 + 57F6BD554CB38AB26FCE65AA21EB8A885BA2E5CCA20AFB640563A9948DBABF82 + 99A30B13DB3AA37F27A07D3DF058A6825F787F29F3858E36DF4615A39C55D98E + E7B6EAECF38DCC07C80840865485FD9769CE75F6F94AA3F50F57552D72DFF7C3 + 1B853E686F4E735E5176E8F3B310171797E3B1BF3BDBC7BDE58CCBC3654CD70A + C50ACBAE56CCB381F6D417F203D9F958C98CD7957D7F85D12A91DD10EA711E1E + AE79AFE8C14AA38D341F188B77B08FB3FA6657F4FAA94CF6C355467F9462B3FE + AE564CF3505176DC4F8CD1C335D553836EEED63B9B8B15A6D7C395558BA382BD + 80FAD0279B5D63561A1F41A68CFAA07190AFF479AF78B0B2EA9F6C1F380EF295 + 3ED97137982AB8360EAAACFB1CB2C7E23A9288D78B4925F1D7F0EB5562A5DCA7 + 57323FD07A82FC97E4ABCAE8E3D152A615F6F191212B5292CF989B9BA2408776 + 406D0D7CDDF8FC79BD4985DDA48774FE92FD8973D74F9FB87DDDE138AFA3B7AF + D9938EDCBE664B3ACCC9E6E0ED0BD687CEF1DC8702A73CFFE4DD3B56907BF788 + 2CF7F62159CECDFD32C98DBD32C9B5DDB2EC2B3B655997B7CBB22E6E95659EDF + 2C7BE7BA4996E1FC6781B6FECFBD73B8A8D0D71120E61E40E41D80F0DB00A137 + 01DEDE00787D0D20F02AC8FC2F43EEFD63F0EEECBA22ADF9B70E1615FA9C0188 + 52CD96BDBC84761C81F4336BB4E6E7DCD85754E07DAA34FB4D69B6CCE702E4DC + 3A0C69A7566ACD975CDB5354E061AF9AED7B0164DEE7D18E8390E6B05C7BFED5 + 5D4505CF6DD5B2659EAE90737D3FA4DA2DD19A9F7D7947513EBD7746EC20E56C + 99BB0BDAB11752AC176BCDC7F82BC8BC60C6C7E04659BAF30659BAD33A599AE3 + 6A59EAE995B25487E5B214FB25B264DBC5B224AB45051A5CBFA5AEAF8B36872F + DCB03DF8F886CD7E4ED6FB507B1F5FB324EDE664F1376AD7E30B27F75C28EFFA + AAECF5C1B03EFF77F0FF77B62A4CFDDA938C568EDCF6C5B291DBBE6CF4790B63 + FD91AB30137A2EAA1EB40FC6859D80D761E610FCC02C7274E3BAAD2A9CCBD7A8 + F11933AB8F5DCDB0E3B00AB9EF50C02BECDABA885E9FBC5F4FE79CB5F6FB7518 + AB85FE5F469C8413C8CB17B1053D5F3E727BABAA46DA3FB6AC53B343952BEBFD + DA849BC30DE4C894B049D2D0E3E0BA68F0F6CF8DAA68DEC7F08EF3ABDEDA5C38 + 00DBBF54C115ABE8CD41D83DBAE3EF1F68C2FEA5CF6F35828EE6FF8AED623560 + 0BCA7EBA237641B32FDBA88CA95AD5EB32F3065CFDE4F5A13C33AC9FA1055B50 + D2A39D094395FAFAE3BA8CE31F4F9B618C3860BD021DD882FC15D9DF369A6174 + 616DE2F778EE31CD5705D880B1102B660F1D3AB46AC0D3B091E1670A832BC215 + FC736EADC74C813D6AD4A8F7434343FF888E8E498DF24D9686DB16EBCAA5D87D + EDBADAA35F8DF73EA852A3460DE6D4A953756363630F45474717A1203A2A0622 + 9FA641B8954C5B76D1DBE3C5B7978FDCD5AA7AB5F759BBCF9D3BD73C2626E63A + 72652C5B50640C44DCC984300B8DD9B941470A4E0EEF32B5AED8E7C8BE5A8A2B + 56582C445CCE81B093E5B2939D573F5BFFC3573F7DA8182FC8F752C92705C743 + B853BE3A5FBF755AF974D2A71FD755BA20787A7A4E444E96BA3EA2FC1321DCA1 + 48915D1C7438EFD9B1DFAEF6ACF3515D956B66AB56ADDEC3B8F90B39F9AAFBC0 + F9F64C85701BA9C02E083A92EF3CB9D76F5F957BAFA8528559BE7C79ADA8A828 + 1B644955F64131F5F89D14E73BF396E9EB3DE37ACCD7F83D1E63636366D5AA55 + 8D91735BED5C44C6C45F3BFA6C0EAE1FD5B55DDF6BD6ACC9DCBC79F33BE4042A + 6153ECBEBE73E7CE904F3EF944E77B60B366CD8C9E3C79320459892236F9ECFE + CC99333BA00D157E5ED3B469D36A4F9F3EFD1D99EF5039A833090909835EBF7E + DD352828482B0506062AFD4C4793264DAAE17CF4410D59B3664DC3D5AB574FC4 + E3593A68DAFFCCEFB19FF56855E3BCAF6D55D71739B4A7D77AE13A79F5F8E0BC + EFED1AE77C724778C6166E89CC83A11E71C5F83AEFC30B7E77E9BCF6DFAF0746 + B51D9F8DFED3E240623BE7FB3933FC92A4562952B04901B0449927031C4C94C1 + B457A9B20EAE0F73D6591E48FBD8E9C96CE6C183AAEAFFCE6248756357EF99EF + 9FF38D31B9EE9F6D73D9117C8F2E86A72E87E0FCEB10B049E5F82790EF101402 + F79D0FC10B3C6F7ED9091ADE08CCAEE1EA9B6CE4FA621963FFF2C3D2BFE3EDF3 + 7955176FB3F75C5F6475BC1B9CBD352C132EBD033887724929821B9E6EE06DB9 + 163C6C37C19D1B67C0EDF42EF0325F09E71FDD8203F105B03B0160076AE1DB1C + 68733F2CBBAAAB4F8EF1B9174719479FFAC437767E217DEF9C8FCC2C34036E66 + 025C45EE45E2A70338A31C938BE0BAC71378716219F81D9C073E68F3A58737E0 + 30B2F72701EC4E04D889FCAD28D33880490119807DC88C5C5E1473F67B43ED6B + 6FA4D5CFFBC83ADC092E16ECBF909C07779FDC021FE4BA3B6C858B7EBEAC7F1C + 0383E1A1D37E7871EC0FB874E702EC8F9294D87F2FB4A89AAB0F7C7439A898B8 + 02BF835F3E747999070DEF86CBD0FF32CB936632AF430BE1F1450B38171A03F6 + E87BDBD492F93D8A765B05C7C0ADF316E089F52C4F6E9555C77675AE07177FEF + 9B0DED9127E6B7F1CD87EF5F1640BFC042181A5408FE7B674233173769AD8B2F + 65D3FD92649649D2123EEA60920CA662FCD4BEF4AAA891D36329D51F1C98073F + 061440975705D0DAA734BFC58B7CE8887DF6F42F80C1AF39FEACD022E8EF950C + 9F5C7E45F10EC33DE3A414FF43D8F8F7957E70C1B7B8FDA368E9F410AE3EB5A3 + F61DD1CE162FF24AF14DBCF3A02D8EE18757348602B6FED49022981F5E0C2BA2 + A430CD3F1DBEBC1A548CD72F7C70C1AFA89F47826C596431CCC3F353438BD9FA + FD0339DBDBA0EDC413F3EB7BE5414BECB3138EA1770067CF84B745F00B8EE18F + 48FA7BA632D8162F63DB6C8B93C1BA18295B3E3BAC18C60717B1F5A95DA797F9 + D012F95F7A95E67FE6910B4DF831747DC5D93FEA4D214CC331FC16510C2BA3A5 + 187B1C9FF6ABF0F56F683B9D1FF586E3533B6ADF047D5D0779627ECDE7B9EC18 + BEC2BEBFC53150FDA1E84F1AC31CE4FC81BED810C3F137C4CAD8D773D0F68978 + 7E083F5FD4AE15B6270EF1C4FC1A6ED9EC189A62DFED7C39FE4F1847A371ECD3 + D1C6053886D5D11C9F6C5F182165CB470717B2F5A87E3BE453FBCF3DF3589E9C + EFFAE230E3F222B7C6EDE8A2FA9E39EC18A87E5F8CD56168DB24E4FC8A63588A + F34C6D68FF2BDA4EE5C3D0377D02387F7E8D7651FB1AB7A28B19179F3C641E2D + 5983BC4DF0F5A92AE7FCB23FBB9FC0C673778CB581410530066D9C81F3BC10C7 + 40FC45B8A7D7543E106DEFE1CFF1BF789C243372F59330AEBED718E7172D94AE + A1AE3E9DABB8F878BCD8FB0B347F9A0C3FE21886A38D93438A616E38C7A7FD64 + B47D38CE7F5FB4FDAB6769F062DF2F50C5D5E7A5A6F783BED6CE1371AD0DFBF0 + 7280A48BF73B188BB6CE0AE3F8B4A7D7DD5E6442CDAB4112A3733ED13F385C9E + A7CB7DC6D8F5C5046357DFA47A378225C3037258FEC8C01C6874272CDBF89C4F + 3AE3E4FD1BE3EC6C5CA17BE415EF0FD0C68DC6AE3E12E2D3BE2ABEA672BDDEE3 + CF787FC63879DAD2DEF0B77B0CF98F21FF31E43F86FC47F7FC67BD7F2CD83AEC + 811BDBA7C29D0D43C0F5AF49B0E5E876F8E1514485F39FDDCFBDC16DDB1878BA + 79183CDA3404EEAE1F0CD757FF041757F48733CB0741CF0B6E3AE73FDB5EC7B1 + ECE75B864180C306289464F07F16E81D3C3DB1029C7EEF09368BFA415DBB9B3A + E53F8EA7F7B076BB99FECCB2BD8FFF0E3757F4862707E6417EF63B3833BF0BD8 + CFFD1EE6FEF9BB4EF9CFAD1D53599F3CDCC0FE0D12B885ECAB7F7483F30BD8DF + F70287D91DC066667B3830B767AE2EF90FCD25F9FBCE1AF66F78B0EC0BC876FA + 95FD7D29B099F635584EFD1A4E4E690DBAE43F174C27B173797505FBFB8DACDD + 4E73DAC3A919ADB95F3B9CD80CCC273403DB5FBB24EB92FF1CB6D8C9C6C9F925 + BD597FDFD939134ECD6C03D74CC7435E661A988F358163631AC1DD834B1D74C9 + 7FA63E0F8533CB06B271F2E0D062C8CB4A67ED26F635B369706C74433831BE59 + 7E464244735DF39F4E168E76368B7ECCA738A1B9247F934FC86E6247F93C1854 + D1FC272B39B6F9238B4D0EA77EEF9B4C7349FE269F686AB721FF31E43F86FCC7 + 90FF18F29FFFBFF90FE5282F6DD783B4A890BD875DC07BA63EF31F7FDB752C3B + F0FC7E96EFBAB0AB5EF31F6207219B7214DACECEEDA4D7FCE7269F5B5DE0732B + CA23F499FF5C5ED2439EFFB07F92624A4BBDE63FE46FF209D9CDE656E39BE835 + FFA1B964FD3DED6B96CFB20DF98F21FF31E43F86FCC790FF18F21FC3F39F4A7D + FE737F6D3FF9F39F87BB7F81FCAC74BDE73FD797F786D7D72C30D72A807B7BE6 + EA35FF219F48526220F98D175C5C3950EFF94F619E043CED36B3F90FCBD673FE + A36C33E43F86FCC790FF18F21F43FE63C87F0CF9CFFFFFFC4778B644DBAB8BC7 + 2AEDF9CF4DB3499097956678FFCB90FF18F21F43FE63C87F0CF98F21FFF90FBC + FF4579C4EB8B072BE5FDAFC71B064230B229B7AA8CF7BF04F6A31D532AE5FD2F + DA885D59EF7F29DB0CEF7F19F21F43FE63C87F0CF98F21FF31E43F959BFF28DB + F499FFD046CF68E8390A3DEBD077FEA3F8F9E7CAC87F848D9E2DE9FBFDAFCA7E + FE23CE7F2AE3F90FBDBF266C86E73F86FCC790FF18F21F43FE63C87FFEBFE43F + CFCC46409CC71528CACF61EF6191EED7F49AFFC4233BEDAD17DCDF34A252F21F + B2FB01B22B33FF29C87E5769F90F6DF4BE9DE1FD2F43FE63C87F0CF98F21FF31 + E43F86FCE7DFF3FC87DEFF123FFFA1ADB23EFFE3777657A57DFE47605F593F42 + EFCF7FE4EC75C32BE5F7BF6823BB2BE3F3CF3497F2BF0940761BDEFF32E43F86 + FCC790FF18F21F43FE63F8FC73A57FFE99F81E871754DAE79F436FDB96CA0DF5 + FDF9677AB66478FE63C87F0CF98F21FF31E43F86FCC790FF18F29F8AE43FFAFE + FB87DE162B4ABDFFA5EFBF7F28FEFC8FCBA2EE50989B5D299FFF71F9BD07C4BD + 7A0241B71CF49AFF843DBDCCFA84EC0EBA7D0A2C27B5F857E53FFEA75781A60A + 38B3BAC0DF61655F6D6CA2762093A1A4F8AF0864C5A442282ECC47E54171412E + 2A078AF22490151B04014E1B7202CFACECA70D5F2662D3DF70901621BB00D985 + 023B9B536E1664460768D507CB9716B37F87ABE891A96A85DEC418C964D7988C + 485F08705C5DA0295F8AFE9016174071F85DD41D280EBBCDAA28F416A7106427 + 06B0EC02493A5EAF69EC7C68CC479FB0FE667D9D0B45F912D61F85E80FB2B930 + 2783632397949F95A2159F9D47942ADFA88EA9953245A1DFF2C53126F0E97300 + 45A1824F6E723E09B9C18AB355268F03CE9F5C8C49E5E3CE81621C77466C0004 + 3A6D90BCB4E7E69FE5E773E74AFBA4B4AF290658B13156C871F9F865FD296F9F + 091931FED8C77AB60F6A2B8FBF0047A5E262808BDF72630CE78A6CE3632C9FE3 + 67B1B15D14EB8DF28242528C27CA83953CC68AC43176078AC431162AC4583ADE + 73B871BF3AB5926D5B1223E9729F508CE46526433EAA548CF173453EE57C5212 + 63629F527B815FC096BF83A2E4D74A258F31F2B53AFFA0F2B3525936D925B79F + BF6E0AD3A35151AC0AD22239A54640A9180B13C59838CEDE5E6725B0F333934A + EC67C7932AF7495E46122A1172DFC5436E7A1C0831268E1161AD10FC51902DB4 + 4F62D979EF12E47C96CDFB9ACEE5E2393A4FEC9CB458D024C604915D5CDB7811 + 9F1B137B2E23416E772EB273D3624031C60A95C45841B43B2B6A9FC7B717F89A + A848BC0EB13E492DF129EF4FD636B49BB32B96E56BB246513D217E55C59820CE + A73190931AAD259F5B3FCBC418C65789C291CBB17352A3B4E2E78B62243F4B98 + ABC45271403E21B624250A725222B5E2B36C3EC6C8DF1463E238107C92836C49 + 72042BADEC97B3399B2946F2443196C3DACCD9AD2D9FBF77805CA73414B653C7 + 353737AF76FAF469731B1B9B598AE7A8ECD4A95327A88EAECF4E906DE1E7E797 + 879C378AE7A8CCC7C7278FFAD785EDECECFCDED9B38E09E4C0BB77EFA69C3C79 + F27BE11C1D53199D7374748CD7650CD8E6EB3B37AF27D23D2B252505D0CE2BA2 + 715DA132BA5FDEBE7E2D11FBD3FA59D3B163C7BEBA7DED72A2F0B39B8B8B4BC2 + 912347EA60F927AEAEAEF16C4E8EE76E5EB994686969D9425BBE959555FD4BAE + 4E09B9A971B836E742707070A19D9DDD46121DD3BD2627250E2EBA3825585858 + 7CA1CB1C38D8594766C604437E460A141516908F22498505F96C596674309CB2 + B709D3357EEC6DACEC83BD1E41764204EB0B3737B7EC9B376F4AE898CAE81CD5 + D1958FE36E7FC5C53139233210AFFD38C8484F816BD7AE02F98CCA2E3B9F49A6 + 3A15797E686F6D1518F7EA29E6FE6F599F5C477EC2DB5740650E3656AF2AFA7C + D2DADA7AE6A36B2E92F4105FD62761C141F0E4EE757878D535DBC6D2727A45F9 + 74EDA08F6313F1674FD64F1833AECE67C1DEDA32A6226B8358B63656173C6F5F + 8494D71E9019F3163C9E3E066B2B8BF3FA7A36ECE0E010E4EA780A127DEF437A + A81FA446BF85D3A74E05EAFC4C9881AA0C93D88F61E2A70C1BF670F8B5CB1792 + 1FDEBC0CBEF72F43B2BF1BEBA76B572E25D339AAC3D585AA9AB113DB314CC24B + 6C079CE260D1BC6088F37F062E67EC21EEC55D487DE3090BE706B3E74AEA519B + C476EAD9295F62DD24BE8D14952AB4773AEE0117CF3AE4DDBFEC9C77E6A8A788 + CBD691F2C7890C935C4F353FDE96AF877DC476C0311BD7AF1FC2F63776D84BA9 + 83ADCD233B1B4B373AA632EE1C187375E393F9B6B6CAD921D5F15C26EF93D942 + F9471F459EA1B28E1DFC12F7EDDBF73E098FD93EF1DCE992F67173787E26B194 + F8BD6EC998939A97CC737C30DFA7A988B599AFFB46985786896959D23EB16E59 + 7EF24778AE98AF338D61226AE0FE84682E5A8BFCD85AE4F3135CDD8419FCEB62 + 6229F751C225D1BC15888EB728992B3315752FA89EDFA42FF0BCB742BBB5E803 + 2325D708CE6BFC3A05B6B732DF28B433C23A3F60DDC1A8CFCABF5EE23FC371FF + 8CEAA2CC0E453518BDA643FB59DBA3BB2FDA1FDB6DD1FE1861DF03F7744CE71A + 8E58AFF39AFFCD8213BBF7BA47C235BCAD5F1749784DE7BE59706CB7A6BCD6AE + 2F0EB474F62A6EE1E4052D9CBDA1D5DF3761E2E304581805B08897F878129EA3 + 3A2D9CB9FAB82F6E7BC177BF2A7E4B27CFE2BF120B606B4A31AB11E7DF40D39B + 29D018EF4C8A6AE28FFB1BC930F242306C4E2A02D3A44258179B0BC82852C56F + 7EC65DCE26AD7C930DDF1CF28736C782A0F5D1C0327B3AB7342813362614C09F + A875F179D0C2D15D659EDCFCF4B3527C45992517C196E462D6D64D8985B011C7 + BA213E1FD6A3D6C6E5C16AB49F18AAF8CD4EB929E7A2362717F15CCE5662AE43 + AD41EEAA981C58895A1E9D03C450C9777852864BCCBFC8D604819BC7FA610DDA + 4ADC153C77495436AB66F64F54F3ED1EB1DC2DBCAD7F093E4828ED83953C7759 + B484652E8ECC82DF23B260617826104325DFF601CB24DFFE89CC0D3C93F5412C + F920176D95C052646AF4B3F2993505FE8E25CFC79AD9DC67B9EBC55CDEB7CB58 + AE04FEE06D7DE5B01CCADB2449611070765DCE4BFBA5ECF3B1A656774BFB205A + C107A8851199B000FDE06BFB07CB90D1F35EF92653D8737DE0CF7612EAA3A9E5 + 1D3E0E2425DC8812DFFE169601F342DFC1AF21E9E063B5807B4E863F571447DC + 13E9BEFC987BFE5704597141E063FD7B41D393B7581F1097988B9049DCF9C445 + 11770EEA97B7E9E0653E977F7E5CA0F2F992709EE47D722E3439715D6E2BF960 + 3EDA3A97B777F6DB3498159C0633835361FA9B14F038F68BFC192CFB2C8B9E49 + 8A5E8BCB684FF59B1CBF26F70171395B39EE8C37A930ED750A4C454D0E4C82E7 + 87A743213DA7A1E740516E9CA2DD4A8E05D13328AC47F51B1FBD22E772B6A6A1 + ADA92C734A50324C464D084884F1A86707264301FB1C2F038ABC8EAA14FBAC2F + 37039E1E98044D8E5E2EE503D656644E424D449BC7F927C258FF0418FD2A019E + EC1DC73DE79070CFA1D93D2A5FE1389F7F4EED86F51B1FBE28F7C124E41193EC + 25E618D4A897F130F2651C0CF78B8347BB46B2CF4E4805D11EAC4A9E5F95BC16 + 9E6B52FDC607CFCB6D1D1F90C4715F09DC78963BD4371686A01EEC18CA3F3749 + 28E7195C02AB07DB8712BF78B46F0CEF8378963B0299C35043B0FC679F12DDDB + 3A0872D263B9E73DFC5E38669FFFB0AF63E5E7EE990D8226872EEC6F7CC0B5D8 + 64BF0BB0DAE75C6ADF983DE6CEDD31ED277F36251144CF6494964561FDFEA0CD + BDFFD6A63ED8365263517D6DF837D677076DF58F7D26676DBB4FC0B4ED38D472 + D8D476196A2C9876AC5D61EEFA6FBE00B38EB6B0F99B62D83F201BEC66E582ED + CC5CD8D74FC2969975B086752D3ED7896DDAFA1B642783ED2FF910E90D909504 + 90110F90868955520840C02D00CB29F9B0A563126C6CD3563B76FBBA2CFBEA56 + 29E0F509B87EB0CA4E0178170B90120E10FF1A201693AC2BA652D8DA2951AB71 + 9875B2059B99F9F02E0E6F4069800B197D20803BA631A4440024F0FCD44800BB + D9F9D88795C67349BE7DFB18387E2A7D588E53762A5746F6133F2E00FD150D10 + ED0BB0B95DB146734E7142F3971C0A908E6D331339BF903213381E9D8B0BE47C + 44FECACF0238F093044CBF19533EBFCD4AB09E9E0B896F383BA90FB29938C466 + 6DC773B1AFB879A6792FCC0538F55B2E6C6AB3A25C3ED5B1413E8D3D3198B395 + 98243AA67EE95C7C10D75F4E3A40513E80C3FC1CF6DA28978FD7CEBEFE1276FC + 347FC4215F93E8982DC373A938C7145B34F7C4DF3F40029B5A8F2EDF3F3847EC + FC3EE1EC275B635E7112C64431437EC9CFE6D8D41FCDEF9A66B5348BCF8ED660 + 332B1FD263B9EB89E291ECA5638A4F8A23815D9807603B87E2D342E3F8A76BC5 + AC53125CDF2165639E629444BEC65C80E50AEC9BBBA469DB7B15D43FF3D89D71 + 7EF59DC67DD0354F7DD8A16D0941254C41E413DBD9F9C46EE3701318E700D23B + E66CC0F75A8D83AE4B767D1B288153F37359EDC758277F9B75B2E4EC0E0091B4 EB439873BA76B8B579191B27FC5C924F586645FB50FB79CDA06F919956BA8FC0 - 0CC62DF007431F8A7D047CAF743EB4895D9DFA087CA3DFCFE896E92345EF9F03 - E662371895CA38074C367C37FC7F8FAA385779445291037CC4DEE736B65E0D1B + 0CC635F007431F8A7D047CAF743EB4895D9DFA087CA3DFCFE896E92345EF9F03 + E662371895CA38054C367C37FC7F8FAA385579425291037CC4DEE736B65E0D1B DBFE0E1BBF6EA7031F4865D7EDB653649B3B64CBF6F6CB9139CCCB939D9C2491 - 99B62F926DF9F606ACFBBA4E85F89BDA4E966DE95800BE67B97B0DDD23E9BE16 - FE146456D3F3B18F4058D6F07D9DF8ABBFFA18EDCE021F6764BFE3EE5D744FA3 + 99B62F926DF9F616ACFBBA4E85F89BDA4E966DE958003EE7B87B0DDD23E9BE16 + FE1C6456D3F3B18F4058D6F07D9DF8ABBFFA18EDCE026F2764BFE3EE5D744FA3 7B267FFF971D1A960BA6EDD6EAC4C7BC4BB6FB47099B9350DE40F653EE45F6D3 BD2C250C685CB26DDF87E9C4DFD876ADCCE6973C3607A23EDEF1F7FEC4B7985B BC04361748C43198B62BD491FFBBECE444893C47497ACBE771FE5CDE457940A4 - 37C8B674CAD48DFF753BD9960E8510EDCBE59E941F52BE45791DE5A678CF975D - DD5E2CDBDAF992AEF12333FBEE860C7306D617940751FCD0CF05944F843E06EA - DF7CEF82F13AC7A769DB4F2906658787E7C28B8B5C2E1AE1C5D98DEC85477667 - 56B1F706233B2F0BFABCA84ED717C5F7A6B66B64DB3A87E15C1691BF655BBFBD - 7468CFE2C9C4166464EF6DA5AE0F957C3542A6A5BA3ED835C7A58A2763CF7C28 - F0D9632C53B91689EF2700559079BC541F76DED6421FC878414C2367235B812F - 3A7EA1D13D4B4D1FCC69A62D727204B64879CC19A68336BF7342BE51F0D521EE - 9EC9CC52E453992EBFD7A2D087443E4F0AFED1F9FECEF6E17510D97946F63EDB - E5E5DCFC6691E8D870BFFD97FD7E17031FA2B2797D58097C5BBA1079D9EA993D - 4BC416344B4FECB6A81C25FC3C54073DF05F083E11FB87DFBFD003FF11CA939F - 5F81FF215FF6A84C7E688AF9A1A96EF9A1C057927B4E812D1DB2615FBF1CC0FC - 102C26E1CFDAED8BC04CBBFC50291FF34330539E1F82F5F47CD8AA797E58868F - F921DAAD363F84C3981F6ED12C3F2CC3A7E7727BCACF0F61BB66F9A112FE5AD0 - 203F84CD9AE5874AF8BF8345F9F9219869961F96E1530C9AA9CF0FE1DAF662D8 - A6597EA8347EB67E77837D56AB223FA4FECD0F2C19AF331FF34336068F94CE0F - 59BB91BDC07C7F26FBB3BA7340B9F9A1CAEB8BE27B73DB35B0BD7318CE6511EB - EF6D981FEE5F3AB9D4F306D740B5F9A14ABEDAE70181969AF6C1AF458FB4E263 - EE86CCE3A5FA70F6B72ECF57FF757D50AE49BE29DDC721BDDE07CBF621D1FB7D - 9CEBE320B2F3D0FEEDFA7DB6C418637E196D74C6687365E539981B1FE773E49D - 3AD968C3D4609C9965A8354AE5C2AC45FE133E17BFA235DF8D6989ED7295FC3C - A24C857A9FDF334C6BE42690702C6D2A617E93515178ACF967AE4D1923D8D466 - BCD4ECDB3332B3CE4FA45B3A3971EF7D32653F17E7CCCC46B68936EF1BCACCBE - F595EDEA912BBBBA4D06F7CD417671A34CB6A35BAECCAC938FCEEF75F276CBB6 - 20DB7676017B5FA7FB0AEDE9FE15F91C64B6BF1460DF3ECAC6A191D027B25DDD - 73D9F78EE8BD427A7F87EE5FF4DE0F7F4F96EDEA99CBE6753AF0A59B3B9D915D - DC2483F4182E3F61DF4B8DE3EEED742FC67BA6ECC66E99D4ACD3695DF8B2AD9D - 1FC3AD031C8FF212527218FFFE1BDE27B3B1CF67A7E9F998874EF69B7DEBC4DA - 4FF98890AFB1EF710672B95081A442F6B3CFF776F6C865B9745F279B692C1971 - DC7B6238DF14571ABD87AA2A7E303E64F6F30A58BF93FF73F93C94D80EF30A12 - B7F709AB66FF783ADDC374EA03E39BED03E3847CC1FAFBC6DF32B23B615B9FF0 - BA3677347AB6C4DDDFF34C8C8D0B672BBF7EDB8E253FCBB675798CFB53E4936A - 0E4F6668FAFC8A61F25B18191746A192E9B3AF15782653A60F64B732322E8A65 - D9EF15B4D7367750F7FC8ABDE7181716A14003E5A22D2DB5EDC3D8B8E01AB5AF - 52B5F0B951D5829D2A6554B41E613534F51563EFB5493E066ACFD978BC62CF96 - 447D38F894FA1D04EC6333F2A3359D5F95F9899DCF46E49F671C3DDBFC4B9FD5 - 8C46BD444DA904F6785411FFB3C0E54A64A7A0DAE9913D0E55C8B3D351DFFD3F - 61F742152B79BEA4A924A857A8DDA8664AF8F32AC05654016A1DAA4AE9DFD501 - 57511D7FD442BE5F4DB406E5CC3F4F131807CAFEAE039C129D7757B58EA9F173 - 13FE9997C0185B097DD44285F0EDDF8AFD24F2958BA88F233AC4CB4451FBEF95 - FFEE14EB4F3A7F52C7E7C052BEFD021575AAA0DAA3AAE918F3E93C7F63253DC7 - 16ECFFAD12F89345FEEFAC67766D5418CF0E568C9F0AB29BA29E896C1FADA6EE - 27A8D91A5EBFEBF8EB3F5FC4DE5B8E2DD63AAE3FD4C76A0DC63A975FABB4593F - FFA635C2F05ED0BF2C577261265671A9F212F7E32AE93337E7F96731C5CC1966 - 92DEEDE7DE9F4EAED43EDC98AFF9673E5C1FCECCB47FAA0FE62CD3CCC8D96837 - D6F14749347C0E565667AA481927A66FC9CF504C15EC731D9E2BD099A9F81EFE - 1966A1E8B9E23ED1B97C231723177A16889AA7919045712A67B85439C79833D5 - F8675A6345EC6738AE265A5E03EF21EF82887D56CE46BF6059307F2E04EBD6D2 - 179B3FFF9DDC5FCE8CD69F17343A637440159B7F5E399F3F2FC3BE3ED2817F8C - 6FEFA6C8E67DBF8E3F9FA953DCDF63AAD2E7481815CFF868EE2B62BF06CF73BF - 15C5EB54BDF3B9F879C35F7361CC29E613BDF7E1CC8C12C5BF17FAA96925BC2F - B0477CFDA25C69EE35BA76B967CE9F6A308ED53C5BEBB506EDB3D3C857B83660 - DD5DFC5A92AD21BF80AE2343BEA04B5EFD9FD9060E4C6BB47D3B7CAE6DBBE9D3 - A77F386DDAB4AFC68F1FFF9EEA5A0F4E54AB16040307A6484D4D81DE17AB521E - 77DEBC79D5E6CE9D6BB568D1A2A48D1B3726E1711CF633B86CCD131DF0E68F8E - 7A00D4C74F3FA500F671545D1FC4FEF5D75FBD6D6C6C72828383E9EFD2009625 - 4E9C38B175D9DA5BBB30CC71D0A60F646FB5B2B2CA898C8C84A0A020983F7F7E - 8A72366DA6460CB3E5AA367D202F36222202121212203E3E9EF849E87F63E13C - F53565CA9441252DF6BD8F7DDCD2A48F9F7FFEB9FAD2A54B937083F4F474C8C8 - C88003070EA44F9D3A7536F5416CF215D9407ED4B08FD942ADBE7DFB565DBC78 - 7112B1251209E4E5E5018D85FAA07190AF683E68CE710C2D4B8F5C651FCE420D - 9F794CB535BFCDCC888D8D65D9ECDF85C73D8D837C45F3F1E6CD1B58B8706112 - C56ED9F960FBB82DEEA35933A72B02FBF5B40FCEDD39B2166C2DCDE5F6D39EC6 - 43F341734E738FF17A5275749BD6C03E76601F0F5BB73EF8322E2E09A64C18B3 - 9ED8B26BDB21DB763E6C5F320B6CCD8F414C4C0CCBA6F9080F0F070B0B0B627B - 95F6BDDACD78F1C2F98E61BB4603B125C84EF9FB67885CD1069C66758425BF4E - C9C66B2C19E724199931B367CFFE8BE648D3EB9F7C1234ED83F3627614B2DF4C - FF10ACFB328F8EF6653ED2754D12FCAD8A6DD583F9B832D8E7E77781E9E34698 - 5506DBAA0FF3F88F79B39D92939361C284097FEA95DD97F1E07D62BC60C1027B - 5DFA40B6AD0A7F3F54984BEAE3145E673E4E4E4EF62E2E2E26E5B183A6546FA9 - 215BDEC7A953A71E9D39730650B9A74F9F5EAB8E0F37CC9A6A1B8368774FE263 - 3F3073E64C68D0A0417F757D24FF3D6487C0B6E9CB5CD124BE916D4FECFAF5EB - 9B6A320741536AB6B4FA11737A0D37BAF7227B12F32FDC0C39E07F410E6A8A3F - 85290840F9F34EB6FCDDBB3252D3C0C0FF87F950B91BC304A0CD0AA2EDB7DFCA - 8AB6D14AA4A68181FF0FF32B3D7EA0EC7FB43D7B5656EC776D2A11BBF9B89495 - 81FF8FF30DD29F02F3A057A6143EAB0CB6A7041A98C6438255AAFEDFF7CE92C2 - 7BC83D322B12A4AB62213AA6103ED6B35F3A6E8883B79FBF0498180E32977730 - 5B9F7CF48B79FFB778E00350FF15C0C678788E7D36D793DFEB2F89814CE2129F - 790E303D12F22D53957F7E4217BFFFF81664559EF37C54337F007DCC83E0F79A - 7E256C52755F1DE7213DA609A447F7C3FD18DC0F3B1E95613F28585A8A2D48AB - 79C84EAD01A14F6682F719AF821BFB52B39DD714E79C37CD4DF2BD5260E7FB1C - 6AFB1496ED43D37990A4D590799D76C839F75751E84213081CCF4000AFE059B5 - 21F9C814F07A7A053AFABC2BD387300F6FD3E0D3A828A826282606AAE6E5F1FC - B02733891D32AF9E9C2B56E0A4AA907462165CF07A50864FF330291CE0B027DC - C11F832F08727101E7D858E8CCFA1B7D42762B630B7A33AB1648CE99425F9F64 - A5F3B0EC7121F41B95009D3B47B33233CB051CC3789A4BF277A01AB6A0E44393 - C0CCDB5FE93C4C792383CE33E96FD406B05AB62C93E7C78CCE3AB3BA3840037E - ECE6DEF0F0A5278CC7EB5851BF86012C7C50A0841F3D0CE3244F137EC28EC1E0 - 7AE2017C35385AA95AF48B52667F6B7876DA9FE2441DFBF5D41A9075660D2C99 - E92B67A8939C5F985B1D5EDF3E9E72648A8CE244153F6A7D67C8BA7B0AFAF589 - D08E4FF199FCB6B6ECA9834FEA8999528A1345BB895DFCC83ADAC73D2CA16BD7 - 18EDF9A4D8171DC1CBE9225E0790726822C46EE903093B07A34F56CB8A1F5AC6 - C09B3BC39E3EC8BDA8335F50F8D3BE10FAD80CAF3907DC1F87B0A763F0FAAE49 - E79E3E05970AF3D5A8B2F94F9E80EDF6ED7945AB566595AB13278AF2903F4A1B - 7E6A2AB48F8E86511A6A786E2E7C217E16F47E8D0F983A9FD661EA7EFE05A91A - CA04B510751D958892F14AE4CB16F275A82EDB9618AA369E4BEA86724215A0A0 - 1C15F075BB09EDCB612F436568C0555406DFB6541F1FBCFF8198BD4207AEA256 - 083C627FFCD1C7CAD839A8582D98B17C9B527D88D83D147C6286AA8DFA999F4B - 2ACB4605F2CAE6CB12F93AB5F936625FF5E0D9EFA19C15EC192AF219E93385D7 - CACA862A309C7976135491C2B905D4E6F3CFEACADBD371F5EA35582996F3C70B - 1418453CFB0F25FEFC41559CA989BD1F9470887D4BA1EC2CAA3AD9A5E9C68FA1 - 3ADF56CC22768A42D95A6D6C5718C35A05560A7FBD0BAFA5A84515E02FE21902 - 4FA6C0276DA8007F83028BD8090A6556A8AA753EFD4C6336D5A5367C5B318BD8 - 1715CAD2509FEA103F9FF26DC52C62CF561257EEA8F7C5D70FD9686464CC181B - 1B0BF68AF53EDF469143ECFAA2EBFD0AEA3E7F1CC0AFEFED51B58853FFCB06CC - 97F5EA335FD4AD27D8DB919FD30025EC6C9E6D8C32E7CBC251AD51F7F8D7C57C - BDFDC46F50BF21DB076FF341FE9C54C59A67CEB3A96E1B54125FEE86FA081584 - CAE2D745BA473155AB5665C5B769AA663D4DE299E2F56382E8FC40BEAC1DEA73 - C57B86C8EFAAF8130436CD17EF4FD228FE7C2ECA023502350755450B3E315826 - B115D610D23025F7164DEC8FE3DB32AAD6AE36ADDB08ED1AA176A0A2043ED923 - 6CA2F1025F67873047C4106F99999972A5A5A531FDFB0F606A7D5C9B69D9A2A5 - 700F31A9F971AD527569A3329EF919D5A536FDFBF7671962A6067915FD0E097D - 1199372A1B95458FE650F47769AB57F0F9800980F44DE63B0F7815760CBE3DD1 - 01BE33EF08FE61C721EBDD633C2DA5EFE0A9AF218B3EFB38183512F53EFFFA65 - 4CC22580741756DD2D3B400FCB8EF2D7718957D8A7862863BECD489EA1F8394A - 3AF734B728178A65F495E1F01A353F0F5FE7A79C66592F42F6C308971130DC79 - 387B4C657929A7A0504A5F830A33A90DB52506B178A6C09F199D190D1F6FFF18 - 7E76FC59789AE97FE1CD05B8F16223DC09D80A8BDDE7C1FA07EB61C3C30DF0BB - FB5CB8EDBF15DCF1DCCDB09B54D797FE476D89412CBE4F81FFD7DD88BBECFB3A - 5FEEF952E0A7ECF2D805B577D686C14E8361D5BD5560176407F6AFED61D5DD55 - 30F8F460F864D72760EE435FBF06ECF7A8515B62108B9822BEA9C0FF74D7A750 - 50CC8E39D7D2D7126AEDAC05031C07C0D2DB4BE1D88B63ACE898CAA8EED9A0B3 - EC5722501B7A2DE29B8AF8ABDFA6BD05E3CDC6ECF9914E23D93EEE45DC83AA5B - AA42C7931D61FCD9F1F0FB8DDF61D18D4530EEEC38E874B213186F318697892F - D9BAD486DA128358C414F1E9BB750A9C039C591ED5235F927FE8F8836D1FC017 - 7BBE80C6071A43E3838DD9632AA3737B9FEE85516746C9D90E2F1DD8AFDAE699 - E2189A802A3AF5EA947C1CB576D482F7B7BD0FAD8FB5865EB6BD60E4A93E30D2 - B137F4B2EBC596D1399A1F814D6D89C1B314E39FFEE6D509BA681C5F39727DFC - C540BDBDF5D8B95CE0BE00E6BB0D86796E8360E18D856C198D4360531B6A8B32 - E75962367DA75380F84D93BD4FF6B26D5B1C6E01A35C47B1F133C36520CC7419 - 042BEFAE64CB9A1F6ECED6D9F7749FE27B2E013C93D8F4DD72416F52DF40F383 - CDE5EF3FD2DCD1FE9B13DFB073FBE7C33F618C537F187DBA1F6C7CB4912DA373 - 82FD423B62108B983CFB52706A30D4DF5BBFCC7B9C554CAB40FB13ED61E2F989 - 60FAD814FADBF584FEF6BDC0D4C314269E9B08EDCDDBB37514DB118B98C4A638 - 1FE430882D37D96F02DE71DE10961E06FB9FEE67DBB63BDE0E269C9BC0DADCD5 - AA0B74B5FE813DA6323A47750E781E60DB505B62108B98C4A66BDBEE851D0C3F - 3D1CC2DF85B37344EBC8C8335C3CB73ADA0A46BB8E66AFD9DE363F402FEB2EB0 - FADE6AD6FF748EBD5EB02EBF6E4989412C62F2EB06FD2E680C3F2F05546FDAB9 - 69F2B136D8D7808D158A9901B63F407F9B2EECF1CF4E3F43FD7D253EA5367C1F - 053C2B8667D31CBF8772A7F333CECFE07CFF5715F868FB475073674DE863DF07 - A65F9A0E836DBBA0BE678FFBD8F5819A3B6AB2A2BAD466A2EB44289252F8833B - CF14E273347DE7CAF473D3E5F37AD4EB282CB8B200AA9B55874E169DD8757918 - B287DB75618FA9ACFAD6EAB0F8DA62B6AE30CFC4E0BFBF45FCFB651B9FC63C2D + 17C8B674CAD48DFF753BD9960E8510EDC3E59E941F52BE45791DE5A678CF975D + DB5E2CDBDAF9B2AEF12333FBEE960C7306D617940751FCD0CF05944F843E05EA + DF7CEF82F13AC7A769DB4F2906658787E782DF252E178DF0E4EC46F6C223BB33 + ABD87B81919DA7057D5E54A7EB8BE27B53DB35B26D9DC3702E8BC8DFB2ADDF5E + 3EB467F164620B32B2F7B252D7874ABE1A21D3525D1FEC9AE35CC59DB1673E14 + F8EC3196A95C8BC4F713802AC83C5EAA0F3B2F6BA10F64F811D3C8C9C856E08B + 8EFD34BA67A9E98339C3B4454E8EC016298F39CB74D0E6774EC8370ABE3AC4DD + 3399598A7C2AD3E5F75A14FA90C8E749C13F3ADFDFD93E3C0F223BCFC8DE7BBB + BC9C9BDF2C121D1BEEB7FFB2DFEF62E0435436AF0F2B816F4B17222F5B3DB367 + 89D88266E989DD1695A3849F87EAA007BE9FE013B17FF8BD9F1EF84F50EEFCFC + 0AFC0FF9B22765F24353CC0F4D75CB0F05BE92DC730A6CE9900DFBFAE500E687 + 6031097FD66E5F0466DAE5874AF9981F8299F2FC10ACA7E7C356CDF3C3327CCC + 0FD16EB5F9211CC6FC708B66F961193E3D97DB537E7E08DB35CB0F95F0D78206 + F9216CD62C3F54C2FF1D2CCACF0FC14CB3FCB00C9F62D04C7D7E08D7B717C336 + CDF243A5F1B3F5BB5BECB35A15F921F56F7E60C9789DF9981FB23178A4747EC8 + DA8DEC05E6FB33D99FD59D02CACD0F555E5F14DF9BDBAE81ED9DC3702E8B587F + 6FC3FC70FFD2C9A59E37B804AACD0F55F2D53E0F08B4D4B40F7E2D7AA2151F73 + 37641E2FD58793BF7579BEFAAFEB83724DF24DE93E0EE9F53E58B60F89DEEFE3 + 5C1F07919D87F66FD7EFB325C618F3CB68A3B3469B2B2BCFC1DCF8389F23EFD4 + C9461BA606E3C42C43AD512A67662DF29FF1B9F855ADF9AE4C4B6C97ABE4E711 + 652AD4FBFC9E655A2337818463695309F39B8C8AC263CD3F736DCA18C1A636E3 + A566DF9E9599757E26DDD2C9917BEF9329FBB938276636B24DB479DF5066F6AD + 8F6C578F5CD9B56D3278680EB24B1B65B21DDD7265669DBC757EAF93B75BB605 + D9B6B30BD8FB3ADD57684FF7AFC81720B3FDA500FBF656360E8D843E91EDEA9E + CBBE7744EF15D2FB3B74FFA2F77EF87BB26C57CF5C36AFD3812FDDDCE9ACECD2 + 2619A4C770F909FB5E6A1C776FA77B31DE3365B776CBA4669DCEE8C2976DEDFC + 14EE1CE07894979092C3F8F7DFF03E998D7D7A9CA1E7636E3AD96FF6AD236B3F + E52342BEC6BEC719C8E54205920AD9CF3EDFDBD92397E5D27D9D6CA6B164C471 + EF89E17C535C69F41EAAAAF8C1F890D9CF2B60FD4EFECFE5F350623BCC2B48DC + DE27AC9AFDD3E9740FD3A90F8C6FB60F8C13F205EBEF5B7FCBC8EE846D7DC2EB + DADCD3E8D912777FCF3331362E9CADFCFA6D3B96FC2CDBD6E529EE4F934FAA39 + 3C9BA1E9F32B86C96F61645C18854AA6CFBE56E0994C993E90DDCAC8B8289665 + BF57D05EDBDC41DDF32BF69E635C5884020D948BB6B4D4B60F63E382EBD4BE4A + D5C21746550B76AA9451D17A84D5D0D4578CBDE726F918A83D67E3F18A3D5B12 + F5E1E05DEA7710B08FCDC88FD6747E55E62776DE1B917F8139E5DEE65FFAAC66 + 34EA256A4A25B0C7A38AF89F05AE54223B05D54E8FEC71A8429E9D8EFAEEFF09 + BB17AA58C9F3254D2541BD42ED463553C29F5701B6A20A50EB50554AFFAE0EB8 + 88EAF8A316F2FD6AA2352827FE799AC03850F6771DE0B4E8FC4D55EB981A3F37 + E19F79098CB195D0472D5408DFFEADD84F225F398BFA38A243BC4C14B5FF5EF9 + EF4EB1FEA4F327757C0E2CE5DB2F5051A70AAA3DAA9A8E319FCEF33756D2736C + C1FEDF2A813F59E4FFCE7A66D74685F1EC60C5F8A920BB29CA4364FB6835753F + 41CDD6F0FA5DC75FFFF922F6DE726CB1D671FDA13E566B30D6B9FC5AA5CDFAF9 + 37AD1186F782FE65B9923333B18A739597B81F57499FB9B9C03F8B2966CE3293 + F46E3FF7FE7472A5F6E1CA7CCD3FF3E1FA7062A6FD537D30E79866464E46BBB1 + 8E3F4AA2E173B0B23A5B45CA38327D4B7E8662AA609FEBF05C81CE4CC5F7F0CF + 320B45CF15F789CEE51B391B39D3B340D43C8D842C8A5339C3B9CA79C69CA9C6 + 3FD31A2B627BE0B89A68790DBC87BC8B22F639391BFD8265C1FCB910AC5B4B5F + 6CFEFC77727F39315A7F5ED0E8ACD101556CFE79E57CFEBC0CFBFA4807FE31BE + BDAB229BF7FD3AFE7CA64E71FF80A94A9F2361543CE3A3B9AF88FD1A3CCFFD56 + 14AF53F5CEE7E2E70D7FCD8531A7994FF4DE8713334A14FF9EE8A7A695F0BEC0 + 1EF1F58B72A1B9D7E8DAE59E397FAAC13856F36CADD71AB4CF4E235FE1DA8075 + 77F16B49B686FC02BA8E0CF9822E79F57F661B3830ADD1F6EDF0B9B6EDA64F9F + FEE1B469D3BE1A3F7EFC7BAA6B3D3A51AD5A100C1C98223535057A5FAC4A79DC + 79F3E6559B3B77AED5A2458B92366EDC9884C771D8CFE0B2354F74C09B3F3AEA + 11501F3FFD9402D8C751757D10FBD75F7FF5B2B1B1C9090E0EA6BF4B03589638 + 71E2C4D6656B6FEDC230C7419B3E90BDD5CACA2A2732321282828260FEFCF929 + CAD9B4991A31CC966BDAF481BCD888880848484880F8F878E227A1FF8D85F3D4 + D79429530695B4D8F73EF67147933E7EFEF9E7EA4B972E4DC20DD2D3D3212323 + 030E1C38903E75EAD4D9D407B1C9576403F951C33E660BB5FAF6ED5B75F1E2C5 + 49C4964824909797073416EA83C641BEA2F9A039C731B42C3D72957D380935BC + E731D5D6FC36332336369665B37F171EF7340EF215CDC79B376F60E1C2854914 + BB65E783EDE3AEB88F66CD1CAF0AECD7D33E387FEFC85AB0B53497DB4F7B1A0F + CD07CD39CD3DC6EB49D5D16D5A03FBD8817D3C6EDDFAE0CBB8B824983261CC7A + 62CBAE6F876CDBF9B07DC92CB0353F063131312C9BE6233C3C1C2C2C2C88ED59 + DAF76A37E3C50BE79F0ADB351A882D4176CADF3F43E48A36E038AB232CF9754A + 365E63C93827C9C88C993D7BF65F34479A5EFFE493A0691F5C10B3A390FD66FA + 8760DD977972B42FF391AE6B92E06F556CAB1ECCC795C1BE30BF0B4C1F37C2AC + 32D8567D98A77FCC9BED989C9C0C13264CF853AFECBE8C1BEF13E3050B16D8EB + D207B26D55F8FBB1C25C521FA7F13AF3767474B477767636298F1D34A57A4B0D + D9F23E4E9F3EFDE4ECD9B380CA3D73E6CC5A757CB865D654DB1844BB7B121FFB + 819933674283060DFAABEB23F9EF213B04B64D5FE6AA26F18D6C7B62D7AF5FDF + 549339089A52B3A5D58F98D36BB8D1BD17D993987FE166C801FF0B725053FC29 + 4C4100CA9F77B2E5EFDE95919A0606FE3FCC87CADD1826006D56106DBFFD5656 + B48D5622350D0CFC7F985FE9F10365FFA3CDC3A3ACD8EFDA542276F3762E2B03 + FF1FE71BA43F05E641AF4C297C56196C770934308D8704AB54FDBFEF9D2585F7 + 907B6456244857C542744C217CAC67BF74DC10076F3F7F0930311C64CEEF60B6 + 3EF9E817F3FE6FF1C01BA0FE2B808DF1F002FB6CAE27BFD75F120399C4253EF3 + 02607A24E45BA62AFFFC842E7EFFF12DC8AABCE0F9A866FE00FA9807C1EF357D + 4BD8A4EA3E3ACE437A4C13488FEE87FB31B81F763C2AC37E50B0B4145B9056F3 + 909D5A03429FCD04AFB39E05B7F6A5663BAD29CEB9609A9BE473B5C0CEE705D4 + F62E2CDB87A6F32049AB21F33CE39073FEAFA2D0852610389E81005EC1B36A43 + F29129E0F9FC2A74F47E57A60F611EDEA6C1A75151504D504C0C54CDCBE3F961 + CF66123B645E3D3957ACC0495521E9C42CB8E8F9A80C9FE6615238C06177B887 + 3F065F14E4EC0C4EB1B1D099F537FA84EC56C616F466562D909C3785BEDEC94A + E761D9D342E8372A013A778E666566960B3886F13497E4EF40356C41C9872681 + 9997BFD27998F246069D67D2DFA80D60B56C5926CF8F199D757675718006FCD8 + CDBDE1F14B77188FD7B1A27E0D0358F8A840093F7A18C6499E26FC841D83C1E5 + C423F86A70B452B5E817A5CCFED6E071C69FE2441DFBF5D41A9075760D2C99E9 + 2367A8939C5F985B1D5EDF3D9E72648A8CE244153F6A7D67C8BA7F1AFAF589D0 + 8E4FF199FCB6B6ECB98377EA8999528A1345BB895DFCC43ADAFB665842D7AE31 + DAF349B17E1DC1D3F1125E0790726822C46EE903093B07A34F56CB8A1F5BC6C0 + 9B7BC39E3FCABDA4335F50F8F3BE10FAD40CAF3907DC1F87B0E763F0FAAE49E7 + 9E3F07E70AF3D5A8B2F9CF9E81EDF6ED7945AB566595AB13278AF2903F4A1B7E + 6A2AB48F8E86511A6A786E2E7C217E16F47E8D0F983A9FD661EA7EFE05A91ACA + 04B5107503958892F14AE4CB16F275A82EDB9618AA369E4BEA86724415A0A01C + 15F075BB09EDCB612F436568C0555406DFB6541F1FBCFF8198BD4207AEA25608 + 3C627FFCD1C7CAD839A8582D98B17C9B527D88D83D147C6286AA8DFA999F4B2A + CB4605F2CAE6CB12F93AB5F936625FF5E0D9EFA19C14EC192AF219E93385D7CA + CA862A309C7876135491C2B905D4E6F3CFEACADBD371F5EA35582996F3C70B14 + 18453CFB0F25FEFC41559CA989BD1F9470887D47A1EC1CAA3AD9A5E9C68FA13A + DF56CC22768A42D95A6D6C5718C35A05560A7FBD0BAFA5A84515E02FE219024F + A6C0276DA8007F83028BD8090A6556A8AA753EFD4C6336D5A5367C5B318BD897 + 14CAD2509FEA103F9FF26DC52C62CF5612573751EF8BAF1FB2D1C8C898313636 + 16EC15EB7DBE8D2287D8F545D7FB55D443FE38805FDFDBA36A11A7FE970D982F + EBD567BEA85B4FB0B7233FA7014AD8D93CDB1865CE9785A35AA31EF0AF8BF97A + FB89DFA07E43B60FDEE683FC39A98A35CF9C6753DD36A824BEDC15F5112A0895 + C5AF8B748F62AA56ADCA8A6FD354CD7A9AC433C5EBC704D1F9817C593BD4E78A + F70C91DF55F127086C9A2FDE9FA451FCF95C94056A046A0EAA8A167C62B04C62 + 2BAC21A4614AEE2D9AD81FC7B76554AD5D6D5AB711DA3542ED4045097CB247D8 + 44E305BECE0E618E8821DE323333E54A4B4B63FAF71FC0D4FAB836D3B2454BE1 + 1E6252F3E35AA5EAD246653CF333AA4B6DFAF7EFCF32C44C0DF22AFA1D12FA22 + 322F54362A8B1ECDA1E8EFD256AFE0F3011300E99BCC776EF02AEC187C7BA203 + 7C67DE11FCC38E43D6BBA7785A4ADFC1535F43167DF671306A24EA7DFEF5CB98 + 84CB00E9CEACBA5B76801E961DE5AFE312AFB24F0D51C67C9B913C43F1739474 + EE796E512E14CBE82BC3E1356A7E1EBECE4F39C3B2FC42F6C308E71130DC6938 + 7B4C657929A7A1504A5F830A33A90DB52506B178A6C09F199D190D1F6FFF187E + 3EF5B3F034D3FFE29B8B70CB6F23DC0BD80A8B6FCE83F58FD6C386C71BE0F79B + 73E1AEFF56B889E76E87DDA6BA3EF43F6A4B0C62F17D0AFCBFEE47DC67DFD7F9 + 72CF97023F6597DB2EA8BDB3360C761C0CAB1EAC02BB203BB07F6D0FABEEAF82 + C16706C327BB3E01736FFAFA3560BF478DDA128358C414F14D05FEA7BB3E8582 + 6276CCB9963E96506B672D18706A002CBDBB148EF91D6345C7544675CF059D63 + BF1281DAD06B11DF54C45FFD36ED2D186F3666CF8F741CC9F6F120E20154DD52 + 153A9EEC08E3CF8D87DF6FFD0E8B6E2D8271E7C641A7939DC0788B31BC4C7CC9 + D6A536D49618C422A6884FDFAD53E014E0C4F2A81EF992FC43C71F6CFB00BED8 + F305343ED0181A1F6CCC1E53199DDBFB7C2F8C3A3B4ACE7678E9C07ED536CF14 + C7D00454D1E957A7E5E3A8B5A316BCBFED7D687DAC35F4B2ED05234FF78191A7 + 7A432FBB5E6C199DA3F911D8D496183C4B31FEE96F5E9DA08BE6D4AB535C1F7F + 31506F6F3D762E17DC5C00F35D07C33CD741B0F0D642B68CC621B0A90DB54599 + F32C319BBED32940FCA6C9DE677BD9B62D0EB780512EA3D8F899E13C10663A0F + 8295F757B265CD0F3767EBEC7BBE4FF13D97009E496CFA6EB9A037A96FA0F9C1 + E6F2F71F69EE68FFCD896FD8B9FDF3F19F30C6B13F8C3ED30F363ED9C896D139 + C17EA11D3188454C9E7D39383518EAEFAD5FE63DCE2AA655A0FD89F630F1C244 + 307D6A0AFDED7A427FFB5E60EA660A13CF4F84F6E6EDD93A8AED88454C62539C + 0F7218C4969BEC3701AF382F084B0F83FDCFF7B36DDB1D6F0713CE4F606DEE6A + D505BA5AFFC01E53199DA33A07DC0FB06DA82D3188454C62D3B56DE76707C3CF + 0C87F077E1EC1CD13A32F22C17CFAD8EB682D12EA3D96BB6B7CD0FD0CBBA0BAC + 7EB09AF53F9D63AF17ACCBAF5B5262108B98FCBA41BF0B1AC3CF4B01D59B767E + 9A7CAC0DF635606385626680ED0FD0DFA60B7BFCB3E3CF507F5F894FA90DDF47 + 01CF8AE1D934C7EFA16ED2F919176670BEFFAB0A7CB4FD23A8B9B326F4B1EF03 + D32F4F87C1B65D50DFB3C77DECFA40CD1D3559515D6A33D16522144929FCE126 + CF14E273347DE7CAF4F3D3E5F37AD4F3282CB8BA00AA9B55874E169DD8757918 + B287DB75618FA9ACFAD6EAB0F8FA62B6AE30CFC4E0BFBF45FCFB651B9FC73C2F C566032C25887D5D6F4F3DE86DD71BC6D87586D128BA7EE9BAABB2B98A108BA5 - FA20163195AD9FA2F5F906CDFFC2AB0BA1DA966AECB534D2B6238CB4E9C81E53 - D9E2EB8B85187157B23E8BD7CFF5F723EF73F3B9B781C0A7DFDD5C4AF7A3FE76 - FDD96BA8E19E3A60B2E733F6F827FB9F20AF88FD7CE31F7C5DB62D3188454C11 - BF677641B68CD6D8BF1FFF2DF08567435B69CE4EF89C80418E8358D13D859F47 - 33BE0ED565DB128358C454588316A1E87B2F53519B14CEF5465D4525F2A2E35E - 0A7536F16DE37996A6398A21FF31E43F959EFFD0F570EDED35787FEBFB7ACF7F - 889D5F54005151B9E01EE20E21E9217ACB7FDC82DCA000D98B16F9C1279F7883 - 8F4F81904774AC68FE43F7295A83D6AE7D090CE3898A86CF3E93C2CB97F467A3 - E03A7F6DEA94FF6CB8B701F20AF3E0F1E3C770DAE911D4F9220CF952542CF6E1 - 8BBECAA13ECEEB92FF58BCB0C0F92984478F3DE1CE9D3BECE7AADF62CAD9A041 - 22F29FC1AFBF3E07A954968F9881DAE63F9BEFAE66E7D3CCD11BBAFA46824748 - 106B0FF571DAC90356AF7E816C723F446B9BFFACB9B51CF231AECC4E7943CDA7 - 11ECC03F48790D0F4302D871D0E7E6693EA69F9FAE75FE63E76F8731980F9B1D - BCA0966744A9C0E81914C7FA8AEEBBB32ECCD23AFFD9FC703314A2BFC5760BFA - F8452C6CB47F0652EE9E2ED336FF9972760A6B37F9BB96676429F6477E31B009 - D979787ECF933D5AE73F1D70BDCF2DCC65ED2EC3E6EDCEC5181DEC3058A7FC87 - EED3BEA15998278497F589DD33C8C1BE8F791DD339FF91CAA4B0C3251C66EEF5 - 875E176FCA7D426C5A6F863B0DAF48FEF33632219B650B5A70E32DACB67EC0FA - 7BE8A9A115CD7FD2B76CD9225DB9F334CBDE89E3F00BCB82E88C2876EDD343FE - 937CE0C081822D666610952861E7ED72F065987D71B6BEF29F61A8085408FF33 - DB4D5DF29FEAD54D983A7586563531595FA771E3751D51334C1AADDA65D27089 - 79A32FE79F6FF8E5AF768D1AFC3EAF51C3A52DEBD79B695CD5B89656CFA51B9B - ACAD86CCD6A8E9287BD46B545163933580FDA0568089C9AA2CDC5FC4F2AEF5EA - 4E61DEABA6F9AF897D5967FA4726266B2662DB4BA844541E8A672F079386CBD9 - 63B4A3D0A4E18AFBF53E5FDED0D8A817B6ACAE11DFA4D16A776C2B2126CB3541 - 6EC3A5D0A8E112AE0F93D5D0B8C55A68DA692B34EB6C062DBAFE15FCF518ABEB - AD675EB4FA7AFAF91F1BFEF1A469BB21075A7FF7F3EEF6A8561D06ED30A9F951 + FA20163195AD9FA2F5F916CDFFC26B0BA1DA966AECB534D2B6238CB4E9C81E53 + D9E21B8B8518B9A9647D16AF9FEB1F463EE4E6736F03814FBFBBB994EE47FDED + FAB3D750C33D75C064CF67ECF14FF63F415E11FBF9C63FF8BA6C5B62108B9822 + 7ECFEC826C19ADB17F3FFD5BE00BCF86B6D29C9DF03E01834E0D6245F7147E1E + CDF83A54976D4B0C621153610D5A84A2EFBD4C456D5238D71B750D95C88B8E7B + 29D4D9C4B78DE7599AE62886FCC790FF547AFE43D7C3F5B7D7E1FDADEFEB3DFF + 21767E51014445E5C2CD909B10921EA2B7FCC735C8150A90BD68912F7CF28917 + 787B17087944C78AE63F749FA23568EDDA97C030EEA868F8EC3329BC7C497F36 + 0A6EF0D7A64EF9CF86071B20AF300F9E3E7D0A671C9F409D2FC2902F45C5621F + 3EE8AB1CEAE3822EF98F859F05CE4F213C79EA0EF7EEDD633F57FD1653CE060D + 1291EF01BFFEFA02A452593E62066A9BFF6CBEBF9A9D4FB3535ED0D52712DC42 + 82587BA88F338E6EB07AB51FB2C9FD10AD6DFEB3E6CE72C8C7B8323BED05359F + 47B003FF20E5353C0E0960C7419F9BA7F9987E61BAD6F98F9DBF1DC6603E6C76 + F0845AEE11A502A367501CEB2BBAEFCEBA384BEBFC67F3E3CD5088FE16DB2DE8 + 63BF58D868EF0152EE9E2ED336FF99726E0A6B37F9BB967B6429F647BE31B009 + D979787ECFB33D5AE73F1D70BDCF2DCC65ED2EC3E6EDCEC5181DEC3058A7FC87 + EED33EA15998278497F5899D07E460DFC73C8FE99CFF486552D8E11C0E33F7FA + 43AF4BB7E53E2136AD37C31D875724FF791B9990CDB2052DB8F516565B3F62FD + 3DF4F4D08AE63FE95BB66C91AEDC798665EFC471F8866541744614BBF6E921FF + 493E70E040C1163333884A94B0F37625F80ACCBE345B5FF9CF3054042A84FF99 + EDB62EF94FF5EA264C9D3A43AB9A98ACAFD3B8F1BA8EA819268D56ED3269B8C4 + BCD197F32F34FCF257BB460D7E9FD7A8E1D296F5EBCD34AE6A5C4BABE7D28D4D + D65643666BD474943DEA35AAA8B1C91AC07E502BC0C4645516EE2F6179D77A75 + A730EF55D3FCD7C4BEAC33FD2313933513B1ED6554222A0FC5B3978349C3E5EC + 31DA5168D270C5C37A9F2F6F686CD40B5B56D7886FD268F54D6C2B2126CB3541 + 6EC3A5D0A8E112AE0F93D5D0B8C55A68DA692B34EB6C062DBAFE15FCF518AB1B + AD675EB2FA7AFA851F1BFEF1AC69BB21075A7FF7F3EEF6A8561D06ED30A9F951 C39A353F6CC0181B5767D8F68DD7F2EC35C825F632B2972B6BBC065AF43F0C6D - 471D876F46EC81AF876E83B6230E40DB3917A0CDBCAB616DE65C7AD866DA9917 - DF0ED9FBBA733F33EF2E3FACB9D3ADC3D265DD3B2CA95EF3C386C8E738C463FD - 816A2C2F5B074D5AFD056D279F825E134E401FD38BD0F9EC2BE8617611FACE3D - 05DFFC7E0BBA2CBD057D165D8041332C60D0A89DD0E7C795D0B3EBB24B5D3A2E - ACFDF147F519968B6360E7B1D1CA1236DF67D34EBBA0D3E29B3075EB63D86A13 - 007F5806C088AD4FA1C7AABBD07BF55D587EC41BB6D8BC0033DB97A817B0D9C6 - 17166FBBE43D76EEBEE675EBB724FFB35CC1D79CBF4AF8CDBEDF036DD14E52C7 - 3F6E43FBC5B7A0F5C29BA81B3065BB07FC65E5C772B7DABDE464FF0A361C7FE2 - BF74D7F5B6262D3AF2F6AF81C64DD7439376A6E8EF552AF96D488B38B5452D38 - F00C4CAD7C610BCB7FC5F2B7D8F81522DF6DF9EE1B751B35EFC010A7C957A6D0 - 72E00968DE679F7CAE05FF37EBB257CE17AB0DDA3F77CF13E281197297FD7D5D - B2C0D4CD6DE196F3BF2D34BB3A70DAEFD6CD464DDD654CF347EC3663ACA069EB - 8D2C53B0BD71B30DD0728835F26E97E52FBA0973F77AC2666B3FD870EC318C98 - B15D32EFCF338F713CCF702EC2D71D7C787AFAA2134D9B77DF076DC7DB40EB1E - 5B91BB06C4D741D3EFB6C3D7535DA0F5BCABD066813B6B33BB5F80FBDFAEC1C2 - 7D4FD03FCF59FEEA0377682C326E1E5E81A9A54FE6D405471735F9EA2F68FEFD - 0E6882D710AD099CEDB8363447DF74DF01ADFAEF821663ADA0E564476835E514 - B4C27DCB890ED07A8A232CD8751FFE34F72E995B91685C33579CBEC0C525BF06 - 087E27355F0FCDDAAD8256DD3740B3817F43B39FF7A1F6E2F16E683A6017B419 - BE1F26AC70857966EEB0E6C853364605F6367BB2FFB974E2AF479D4CF05AE5D6 - B035A5F94D5640B3B68BA179CF8DD0B4DF56688AFBC69D968249EB79D0A8D51C - 68DA662E74EEBB267DF0B48321535738172CDFFF10365AF8C066ABE7D20D473C - 62FED872D1A9FFC0953DB8754CC176F27F93DFA169C73F90FB2798B45F048D9A - 4E83868D2642C3861330CF1C8FFB71D0B0DEC0554D1AFDF859E75EF3C68E9CF1 - F7A6A98B8ECD1A3E65D38F1DBF1B5377E2D835C62D31FED96B4B7CCDCAF97F80 - 499B0568EF5C68D878323468381E1AD41F2BEFA351C3D1598DEBF56F57EBA366 - CC174DDA328D5B76AD52AFE1374CB5F74A7FFE41199B13CE719325D0A8F17CE4 - 4D85FAF5C6716C92C94468D468ECDB26F5FAD5ACFD5153F5F717A5EC75A2F574 - 1934F86216346C803E6AFC1BF227E17E32F17D9B7ED6E5BDDA1F9A68C5E7D6BA - 95C85B0C0DBF9C070DBF9881FC99DCFAD47835B217A266E33D62CCDBA69F7FFF - 71ED0F1B69C6A77508EF558DEAFF0EF5EBCE820675A7B26AF805AADE5CD1BABA - 96EDA771C359A94DEAF66A54FBC326E5F285F5B911DADCE08B5F903B05B9D358 - B1C7F51796F55FA325D2C6F5678C6B526F48951AD53E56777F67C7CEFAB9DE1C - DEEE69727EFDCF27B0F7B4D27CBAD657E018169C6BDC607683CF6A7FA7E6FEBB - 2AA451C3E5210DEACD0D41760832E542DB43EA7F3E3904C71782DCD23259835A - E9D9B8C18CA14DEA0D3262FE47367FC755A08D02CF6CB8447F06481B3EFE8080 - FFA4ECF7500BDF372DC59FBFD8EF852ECC8762FC9985FD0EE7BC2C08B97E4812 - 7466C37E6DF8A5D98525DF392D621717E44051BE04F2B352E1CD85ED12FF53EB - 9768CC27B6D8E622E28AD8F91C9BFD1E691C434E6A0C04396FCCF5775C3B5A23 - BE88FDE675102A10DE04717A1D14C029D01F92E2A3A1303793FDBEE8ACD8D710 - 707A4DBE267C695189AF2F5FBEAC52AF035F71DF459DF30E0A24E9EC7C6BC657 - EF8FC2DC2CB9DD029BBE8F5A537EC91C628C88D8E413B2F97500A7A08097ACD8 - EFC2CE4ED59C2F8F0F91DD68B32A3FE5233B3F2B450BBED81FD92AFD41A2F824 - 367D9FB6A6FCD2BECE94B3057F04F9BFE0E5C78AD87919499AF3797F94B6F99D + 471D876F46EC81AF876E83B6230E40DB3917A1CDBC6B616DE65C7EDC66DA59BF + 6F87EC7DDDB99F9957971FD6DCEBD661E9B2EE1D9654AFF96143E4731CE2B1FE + 40359697AD8326ADFE82B6934F43AF0927A08FE925E87CEE15F430BB047DE79E + 866F7EBF035D96DE813E8B2EC2A019163068D44EE8F3E34AE8D975D9E52E1D17 + D6FEF8A3FA0CCBC531B0F3D86865099BEFB369A75DD069F16D98BAF5296CB509 + 803F2C0360C4D6E7D063D57DE8BDFA3E2C3FE2055B6CFCC0CCF625CA0F36DBF8 + C0E26D97BDC6CEDDD7BC6EFD96E47F962BF89AF35709BFD9F77BA02DDA49EAF8 + C75D68BFF80EB45E781B750BA66C7783BFAC7C59EE56BB979CEC5FC186E3CFFC + 97EEBAD1D6A44547DEFE35D0B8E97A68D2CE14FDBD4A25BF0D6911A7B6A80507 + 3CC0D4CA07B6B0FC572C7F8B8D6F21F25D97EFBE55B751F30E0C719A7C650A2D + 079E80E67DF6C9E75AF07FB32E7BE57CB1DAA0FD73F73C231E982177D9DF3724 + 0B4C5D5D176EB9F0DB42B36B03A7FD6EDD6CD4D45DC6347FC46E33C60A9AB6DE + C83205DB1B37DB002D875823EF6E59FEA2DB3077AF3B6CB6F6850DC79EC28819 + DB25F3FE3CFB14C7E3817311BEEEE0E333D3179D68DABCFB3E683BDE065AF7D8 + 8ADC3520BE0E9A7EB71DBE9EEA0CADE75D83360B6EB236B3FB05B8FFED3A2CDC + F70CFDF382E5AF3E708FC622E3E6E115985A7A674E5D70745193AFFE82E6DFEF + 8026780DD19AC0D98E6B4373F44DF71DD0AAFF2E6831D60A5A4E3E05ADA69C86 + 56B86F39D1015A4F39050B763D843FCDBD4AE656241AD7CC15672E7271C9AF01 + 82DF49CDD743B376ABA055F70DD06CE0DFD0ECE77DA8BD78BC1B9A0ED8056D86 + EF87092B5C609ED94D5873E4391BA3027B9B3DD9FF423AF1D7A38E2678AD726B + D89AD2FC262BA059DBC5D0BCE74668DA6F2B34C57DE34E4BC1A4F53C68D46A0E + 346D33173AF75D933E78DAC190A92B9C0A96EF7F0C1B2DBC61B3D50BE986236E + 317F6CB9E4D87FE0CA1EDC3AA6603BF9BFC9EFD0B4E31FC8FD134CDA2F82464D + A741C34613A161C30998678EC7FD3868586FE0AA268D7EFCAC73AF796347CEF8 + 7BD3D445C7660D9FB2E9C78EDF8DA93B71EC1AE39618FFECB525BE66E5FC3FC0 + A4CD02B4772E346C3C191A341C0F0DEA8F95F7D1A8E1E8ACC6F5FAB7ABF55133 + E68B266D99C62DBB56A9D7F01BA6DA7BA53FFFA08CCD09E7B8C91268D4783EF2 + A642FD7AE33836C96422346A34F66D937AFD6AD6FEA8A9FAFB8B52F63AD17ABA + 0C1A7C310B1A36401F35FE0DF993703F99F83E4D3FEBF25EED0F4DB4E2736BDD + 4AE42D86865FCE83865FCC40FE4C6E7D6ABC1AD90B51B3F11E31E66DD3CFBFFF + B8F6878D34E3D33A84F7AA46F57F87FA75674183BA535935FC02556FAE685D5D + CBF6D3B8E1ACD426757B35AAFD619372F9C2FADC086D6EF0C52FC89D82DC69AC + D8E3FA0BCBFAAFD11269E3FA33C635A937A44A8D6A1FABBBBFB36367FD5C6F0E + 6FF73439BFFEE713D87B5A693E5DEB2B700C0BCE376E30BBC167B5BF5373FF5D + 15D2A8E1F29006F5E686203B049972A1ED21F53F9F1C82E30B416E6999AC41AD + 746FDC60C6D026F5061931FF239BFFA955A08D02CF6EB84C7F06481B3EFE8080 + FFA4ECF7500BDF372DC59FBFD8EF852ECC8762FC9985FD0EE7BC2C08B9714812 + 7476C37E6DF8A5D98525DF392D621717E44051BE04F2B352E1CDC5ED12FFD3EB + 9768CC27B6D8E622E28AD8F91C9BFD1E691C434E6A0C04396DCCF53FB576B446 + 7C11FBCDEB205420BC09E2F43A288053A03F24C54743616E26FB7DD159B1AF21 + E0CC9A7C4DF8D2A2125F5FB97245A55E07BEE2BE8B3AE71D1448D2D9F9D68CAF + DE1F85B95972BB05367D1FB5A6FC9239C41811B1C92764F3EB004E41012F59B1 + DF859D9DAA395F1E1F22BBD166557ECA47767E568A167CB13FB255FA8344F149 + 6CFA3E6D4DF9A57D9D29670BFE08F2F7E3E5CB8AD87919499AF3797F94B6F99D 4AFF103B2F235163BE527FF03E11FB233F93E3B27A97A0059F6393CDA5FDC1FB - E4951F04BEF2E5F4F239B2E321373D5E733ECF269BD55D5F8284EF1DD794AFA9 + E4952F04BEF2E1F4F205B2E321373D5E733ECF269BD55D5F8284EF1DD794AFA9 3F7259BB919D46DF6F1EA3399FBF5EC4EC3C818D5CC11F62367DC7B9E67C9E2B B03392CADAACC0CE4989D2985FDA1F494AFD91CB724BD8F47DE99AF22B22C6B0 - 19363D6F9D76BF7DD7FF4444AC32753B18EAD5C434A24645F8FD4E44249C4E06 - 50A6BFBCB20BBA1F0C79D0D7F45E557DF14F25C9C03E5106760952B0892B86A5 - F7D2243F1E0F8BED2B529F63A1A5D49B57C7BFDFA697E11F8F48105856B14560 + 19363D6F9D76BF7DD7FF4444AC32753B18EAD9C434A24645F8FD4E44249C4906 + 50A6BF3CB30BBA1F0C79D4D7F441557DF14F27C9C03E5106760952B0892B86A5 + 0FD2243F1E0F8BED2B529F63A1A5D49B57C7BFDFA697E11F8F48105856B14560 115308E6D185703CB2008E46E4C3E1F03C3818960BFB437361EFDB1CD81D2C81 5D6FB261C7EB2CD8169805660199B0D93F03FE7AF50E7A1C0E8B57E4F73D169E - A00B6BE38B77B0C12F1DD6F9A6C19AE7A9B0CA2705BA1F0A2DC3EF7D342C8158 - 231CA261884D14AB9F5945CA35D8BAAC0629CA2A027E3C11518CFE8EEDB43B38 - 4DE0F73A12964076FD6419010E495061D92702FA293444E0E371C2D2272930C6 - 2956679E1DC6836D820C6CE2A5B02F380F7A1C09BB2AF0BB1D0A4D9872390616 - DF4953DBCE1A651527054B8C038BD8623819530CE631457022BA088E4715C231 - D4D1C84258FE281D3AEF0B592FF07F38149230F454246CF193A86D770463E070 - 44011C0A2F8083E1F970202C1FE3201FF685E6C1DE903CD813920BBBDFE6C2E4 - B3F119ED76BC1D20F0BB1C0C4EE8631E06FBDEE6A96DF777702EEC0ACE819D6F - 72309E7260FB6B096C0B92C0D6A06C300B440564C396802CE8671191D07E77A8 - FC43A6DF1F084EE87D22B4DC769BFDB3C014F5D7AB4CD8F4321336BECC803F5F - 64608C66C07ABF7718A7EF602DEA870321D1E2F8ECBC2F3865884364B9EDD63C - 4F87D53EE918E7E9B0D23B0D5678A5C172AF5458F62C1596A29678A6C0228F64 - F87E5FC80B31FFDB3D6F33265D8853DBEE8FA729B018F5FB936458F43819163E - 4E82051E49F01B6AFEA34498F73011E6A2265D8985EFF787DA88F95DD0F1B36E - C4AB6DF7EB830498839A7D3F017EB9170FB35033EFC6C18C3B71301D35ED762C - 4C450D3E1D29EBF0F79BD9A5FDF3B688DAA86B37E5562C4CBE1953AE7A99874A - 3BEC08E924E6B7DFF546F6FDC1B7C5FA10DA2EABE8FDC2B0FD335BCA90539F93 - F4CEADDED428A5DBC919295DAD5250EF52BA5B2D71747434D60BFB7B9BAE29DD - ED9E23174A89CAF05C857CD1D5CA1225E59952FE75D9322D7CA6E00BCED61F2C - 7DD1DEEEF23ABD6DBEC3724FD17834F2594A17A7CE58D747D42E2DA5ABDD0265 - EDA88CCE7175E4F57D88A192DFD5CA46543723A5A775EB72C78B75D8BA25ED6C - 34E4EB62BFA6FCE032E316C50A1B5365FCC8B6D1946FA36DFC88DB6AC2D736FE - 75E5CB7DDDD976859C8DC78A7352113E7BAEBD7313391F8FB569FB1FE777B675 - D09A8F6DB4B0BFCCBAA28AAF24CE6C74591F14F9BAAC0F6AD7959E1613E5AFB9 - 638DD6292DD66765D27A7DFE4FDD5F54F82C9D9376BEF8A7EFEFFF96ED2BC6F7 - 7392BEB9E31930FA8A7936A315E395D292F17A875AD28D71D1CBFC7ECD787645 - EE731428E8399DAB882F5A31DE96C891F23C29F7BA6C99363E13FB4264AB6F0B - C64B9EFFB4643CBF6BC93CF314CE6BEAB3AF99679DBF62BC7D44DCB4AF18AF05 - CADA51199DA33A427D6A4B0C557CAC63236267B4619E969BFF501DAA2B6A67A3 - 215F6BFBB5E007971D7749ACD0B1A21FF9369AF26DB48D1F715B4DF8DAC6BFAE - 7CC1D7187F2B44F1B842714E2AC2E7AEB7A74D4AE6E369136DDAFE037C071DF8 - 0E5AF0CBAC2BAAF84AE2CC4697F54191AFCBFAA06E5DC1B28925AFBD266ABA4E - 69B13E2B93D6EBF37FEAFEA2DC67DEE9246D7DF14FDFDFFF0D9BF964E6B393E3 - DE9B4AA2E38AF24C4D19238BF1D5BE43DE1A8BB1D56E598C7DAF0805BCA4281F - CBB1EFED3C39B6C600D3BE8C46EFFDD88D66EA588E7B6FBCC5D8EAE6D83E5EC4 - 2B4FA92817B4639ED5880FEA2BE35A8CAB7608EB146AC154A5426211B332EC37 - 1FF3C197DAF8FFD8849A7F1E9852F7F9C97135A425BCEAB283933E0F3B3EA1E6 - 3E6DFC2F6C26D68F9A35B57830AF89C5439726160FB250D0FAD82518B665132B - 3AA632545E638B87B79A9C7CB0C6C4E291CA0FD935DCF7E4FD6627EF0D6862F9 - 6027D60DE4DBEAA230947953CBFBE3BFB2F2F858191FEDF6D1375F13FFA850AE - DC3FD60FDB68798519D5FADAF6BB9AEDECFFFC6CA49B6FBD8597A58DFEBE03A4 - 7A0B2ECBEA0C730DA9F58DE39E0F5BD90D60FA6AF6DEEAC75FDBD5F9E82BFBF1 - 1FB7B237FFB8955D3C0A34546ACD56762E1FB7B29DF7C15756F595725BD91DC2 - 7A855A3055A9906521B352EC6FEDF0A536FEAFDDDAFACFCFDA9C7C5EB395AD54 - C4937DF2B54558EDAFADF769E37F615BB76E5DB3D5AB57CF43B9A0B250B062E5 - 9FF0EBA23DACE898CA5079A85BA8352895D7D7F8F1E3DFC7F303D6AC59B313F7 - 817C5B5D14863247CEF81123467CAC82EFA36FBE26FE51A15C917FDAE8721F5B - BF7E3D8DED67D42154082F3AFE99CE193207C366D8F4BF259E63BE4FBCC0B4D5 - 2BD391A98FDCD5C87D8C3A867266759569A733F304531D19C35167122F31D751 - 3312ED19F92FA1D01850B6A80BD8F7B71A732F303FF0363E666D46DBD5D6C731 - F0E3B98D75BFD270FC3F68E8B74ED8EE26D6CFC37D11EE1794A9E3CACCC47332 - 3C679EF89C29F7FD7FB4B716D6DD8D4A45E5A3DF8A710FACCE31B394C4C32CFE - 7C3E1EA7E07E8252AE3B330DCFBDC13AC42C9433C552CF1794874AC3F22989CE - 4C47645DC6E35CB67F654CEDF942DD22DEA7520DB8C5A854D4508DF99A89C619 - C1CEC739A6B18AF96A803EB8834AD488798EC941C5E3F155D48044E6CB2A1AC6 - 3D5D2FD750C94AB852B6FF4B8C1F1ECF165F675A5FB7DCF572176D2C60758109 - 476D2EEF3AD3611DFB31F13433C4B0A21B36C3F6DFBF8D193366E8C891238FEB - 226A5B1E7FD4A851A628D051A6E5B0C1CCCCEC217D4FA72EA2B6C450C7DFBE7D - FB7DFA3E505D446DCBE36FDBB6ED7E565616E8226AAB099FBE2B551769C2471F - DE4F4B4B035D446D35E1A7A4A4802ED284BF65CB96FBF45DACBA88DA96C7DFBC - 79F37DFA9E5A5D446D35E1D377E3EA224DF8A6A6A6F7A3A3A34117515B4DF8F4 - 7DC1BA4813FE9F7FFEF9F0C58B17A08B366CD8F0481DBFB2D7B7FFC4FA6CD80C - DBFFF286D7605FFE1AD6457DFFE9FC67C78E1DF7F3F3F3411751DBF2D6CF7F13 - DFEBF49F603996512BAAA32B3FCAEF26DB5E9DA8CEFFAAFF2BDB3F953DBF86EB - EB3F9FFF54F6FA6CD8FE47B723B99F3376D2C9ACE8589F9B9DB40763234D4501 - AF54C60E7AEA8D6F237D8B0A622C8ADB339645EDF0381015A21FBF14D6656DB6 - 2E2E79CFC316E673E3802F2BCC3F23A986AC3CC65A6A5B329E626BB68CCEE963 - B3966EE1C7E0CD8A8EEDA4667AF3FF7AA8C2FB84E635953DA6327D6F36D2BBC8 - BF5F69D780BEF9270A1AA0BF57A1AFD7B0B29186E25C84C95F5B4B97B27574DD - 6CE117D135A55CD6C5732A348603925A8C43D127AC6CE121323DE4AFB74A347B - FFC50E3E6263DA0EEA55D8FF0EC55FA01D562C53D10FD6C5EFFEAFBD33818EA2 - 48E37840DD7D827204228702E10A99994012E281B88B882882079E889C4F5056 - DDE7737DEBEA034C329CEAA20221211C390C11944B404116445940050D042484 - 5B408E4020044820E74CFEFB5555F75C999974F7F400BADDBCEF4D1F55BFFAEA - AB7F1D3D4CA729AE8F6BE6B3BC99F662CECAC66897FE33428AE715D177B0802C - 54319FA565795C198CE9E4BF2D5DAB09598079F4594596A398CFD2B23C226F8D - C47FDB85FF31D5AD94CE9F22DB13B2C07E57C8A7E8AB98CFD266E16E695C2586 - AD94339D71CBE2E36F96FD014A67A3FD75210BAB1A2AE6331D65613D5DAF0E49 - B3F5965859CE7E54DD81AEC788BAD886F37499F65F68FC8DAD93BF08DD455A96 - C7364C6A8F18CEF4B5A5D91EA63427298F9D6C25E51B14B214AD1D7CBE4FE732 - EDAB781A9696E551B389FE9448F90B5DFA6B0DB16A5C8E0B799AE9E54D34F7DF - A7726EE06D97617F8D780BB9B17D768E5DBBC65BADF748249A11B0F97B4F85D5 - 6C0DD8AEC17BEF8DF818F131E263C4C7888F111F233E7FE0F818764D8D56A4F5 - C88649562F08E987B355AF64E964F5FDA4AD2FA591D30F57C9F7598617B652BE - B77C6E652849A320A6A91EF93324AECF6B2ADBD9978F9AFD56588F80FC56588F - 80FC5658073D7C0F5A7C82D9BEC1D467B0FBD755181F823DBE05757C36ECEADA - 8DCBF28B4296EC815A63F914F5274A9B7DEC02B617972936969EE553CACF292E - 839A8DA5BF5EF92DBEDC0F3DDBC393AF777B78E3EB192FBFFC8DC9FEEF533626 - 07C637FCFFBDF9DF936C1759B9F40EC496AAFD3FB809A5A5C08C19E0EF6C65DB - FE920AF4DEC85EB5882BEC1CBBC6D2B032B4F83F7DBA986FC3C280DDBBD97B34 - 096CB3F37D768E5D6369D8BB2D55FB7F7A3FF75BE6C865B8B2D9A754B75D5AE3 - EFC9F32C8FC58AB587E778A3483F992381AA72B732BCB07BFB9ABF94EA67EF5E - 12484B9FFC3E75EAD59BFF69436AF9EE2F3E5AE61B35EDAB763E665AF4D46775 - 4D8D4F7DAA5D4FAC292875EB5F8CCBFA56BFCDC72E79EB5F1AD6342DA57CE552 - FD5D635C7B7C3036DDB69693BA07EDFD282D2677470BE2B79818AB7B192DA610 - 77722C6E9B148BB08931089B10033DD9B74D2136F1C32645133F1ACD27744373 - 6BB780CB683155B0C326C7706B4EEC66C46E66ED8AD044B2842804CA66D67C32 - F94CBE379BD80DA1C46E9A1885A6C46E126F415332D53A61F19EE2F45D66379D - 404C2B5982058DE3CD68FCAEB026E3CD8ACB6839D90B7B12F93DA12B6737A631 - BA51BC098DDE35E1D6F19168C4CD84C6645AE2C4F8A1135DD809C47D3712B78C - EFA28B86445C18DF22D8F182DD705C843E7CD24B5397B8DC42BE371C1F8106E3 - 3AEBC297F5D238C1ECE67B83B1FAF099D69B240ABDC871D7954FFD88699DF11B - 31FE38E28F0D029F74CEB4A837BF7902693F9EFA14E7937EC65119634519FAF2 - 2DBC0F3522FEAD5407568631231A9BB105B6454666A24B970CB2744444A4D1E7 - 7CFA9C473617C1E04744CC47A74EF3D0B9B33EFC2E5D043F22229D9869C416FC - 8E1DF5E3474464103B9DB869C49DCFD91D3ACCD1851F119149EC0C62A713378D - B8F3D0BEFD5C327DF89D3B0BBE60A711771EC2C3E7A05DBB549DF84EDF057B2E - B1E7A06DDBD93AF1D31DBE8787CF97D8A968D3461F3EF35D8E4BBB76F31CEC3B - EE488136BDA44B5A97F522FB2EE2D2A64D2A67DF7E7BB264B3E878169D9F05E5 - 9A497368BD6347A117D6A6B2EF32BB75EB596449B49F04F5BA74F623A645A617 - D6A6B2EF329B99D6D88B7EC4F8A9C49F4DBEA7105FC444E607DABEAC9F86877B - E327E9B67EE8D06136F153889FCCDB92F1F51EA719BF6DDB64553A51BB858727 - 1B6BAA20FFFE59CBFFBD789ADFFFEF599C670DD4AEE9EF73FE88F1D1F1F7676E - 75957DF1F2FB39EE6BA0F1599AD7DB279FAE19FA31FA97111F233E467C8CF818 - F131E2633C5F70ED9F2F30F463C4C7888F111F233ED7E9FC75352C3EF25E582D - 655EE73EABB998A2582F407E5762E593FDEAB0045381A38C04F3834198F757B9 - D461A5AEEC77BBB4A778D9885B208CF6D939BDF856F387C26F4B02C52651AAC7 - 347DD8710D88759EAC92F82D61ED761B955741C717F056B7863AF8FE8AE4FB02 - 97B6C896DAF96F81F32DBB25FEDD2EFA8A9362941F9056ADA6BE1267AB977A6D - 0B58ABB226AD9621B5AE25988706A4D5F1A6764E4D5AFE54EBFA98B89BE8FC49 - 2AC30E6BD70E0169D2571AAD5AF5D4A4CF741AB59A607A55F26B07122CEFF837 - 732E4F1B4F3A56DCAE967DAAEF2912CC07156995E98DE7A132AC96310A6D9FD4 - 567D14B4EB4A9F9AF4EDD350A91E2B02D2A42F53AA5559934C775ABE63F7A655 - 762CE6A723483451F9E61AB2632E73D77B7EFAF77B8E742C0FCBCB189CC5CF4F - A33166917F6D58B2FCE82CCB6F5EC6369E2133CC302FFD3DA2398DEF2F501F9A - 4E7D6593E89FB4E6E5C6FBEA32DA7F421B3BAA37E5AF5234EEB3725EEFF46775 - EB4D5367F2ED471A4B964B6BC2FEB04686F379F3CD3B6EC6F8A836C41D45FC4B - 9AC74345E33E8B1FAFC3C1A0F0DFE9D0589A8BCA02E28C8D6C468C18C45BEEA3 - 4F3359A888635447A91D2A35AC3B43A539E3908F76AD70D1803A3EF7D35CE0CE - A275AED5B29D8EF3C84E7B9457A9821D4DBCCB123797B431D0EB5C6CEDD488AE - 0F52CDB79A374B6DF6459D733CBBAE866FB5DCE2A8F33853ABBAD3D3FA50159F - AF3BAB6BDD4F781A5BA725989E7269FB6A587BDFA8706D9825C5FE38F59F9779 - 5F65FD9FDF7BD1FACC6A9A28AD0D3C35B596AECFA03CFD14C4E8DBBAC71DCB7E - F26183976B07EAACC3732137906E5EA4FCDF51FA735CE756CB117ECC7C64F74D - D690FA52BD5CD6A13426B1FE67CC3F417FFE5DE973F05A9EB756F31CBC96E765 - D53CA7AED7F3E9BEE2A5C7F3E9FEE2A5C7F3C5FEE275DDF02BAF00F9EB81EFD3 - 809F1602670EE8C7DFBD1AF8E05E206900B0F0EF40C64860522CEDBF065CB910 - 187FF71A60CA5D40EE72621503258540D151E0C856E093178139CFF2E76935F1 - 2B2E03EFF704B62F167E32CE6592DFF9DF80D3FB84A53E2D62A6859FBF0E98F9 - 08F18E93DF6785FF97CE08FF0BF28173BF8A7ACD7E521B7FCB7C60C118E0EC61 - 51C68593C2F733B41C3CF10B504CC767F689B6D0C2673AC918019CDA23F45278 - 903F3F8E9379A2CCCBE7816339C0BFFFA28DCF9853BA03C773A90C8AC7C9DD14 - 97BD14972340E939A0BA02584BB7F74BDED4AE9F45A4C7EC312216170B847ECA - 2E0AF6E11FA8FC38FC7A30573B9FB19806539F0176ADA23A517C8EFE2CFC26F6 - 9B99293CCF4B39A770B0A4120DBFD85BA4BA7F315D320D329D4C8A11F1A6981C - D89FEB36768EA2324A2B61D673FC194D4CD732EA2FCDCF08B1BAFCAD237FCFEF - 2BD86AC85ED951008FDF453ACA08E4F97DA565E8315FB2E7E24DFF39FC8D4719 - 497ACEF74B8E5D6C1FB2343FDDA58CCBBAAE5716E78D6231A13266D271391D4F - ADC55F9A7F3EA0F99DF2D7B59E587CFCA2A6F8B07C4AD62B79172B34CDBF2C9F - 5AFE2747D7A1E3D723C4011B7BD858EACD34F213F764519EBE75FFBD153DF841 - 888F57BEB738E9C9F7162795FCA4432B30213FDBC1DF57721C4FFF604561C505 - 5DE2C3D88CDB63C3EBFCB3E59783B871BE4EF1F9C7CED99C2DF3591DF48A8FBC - F5DF3C96D6F4FD9C6C9DF513CCFE9B93A3DCB4F0FDFC5DC55A763DC6C7E758A6 - D7F8A6EE3781D75F7C82C40FE6FC18ECF9FD77679FD2BD43F6CB749F359A6C14 - 90F522CE1616AA36CC1E08A43C0E243F46F7C98FBEEFE07BB0F1C9489C3A71DC - AF612EDD6FCCA1FBD2D4A79CE764F6AC4789DF1F98D14F94E1C146E608FC76E4 - 905F93D9EC7EC371CE95CDEE6967F6133ACA72672363380EEFCFF76B321B294F - 38CFCD1AE0CE9EF190C47767237D28F6EFCEF56B329BC5C471CEC17E58B0A7F7 - 157C0F36D287206FFB36BF26B3594C1CE73CD91F3F28F81E6CA4BD809D5B37F9 - 35675B0E709E9BE1CAEE037CF480E0670C736363FEF3F879D37AD5568BFD616F - C1676CF637CBD2067336E60D22FD3D471A79C6452703454C9299DF8FBAB7A537 - BF19FBC35E82AF99DDCF3F7BDA5F25BE2BFB59FDD8E23B8F1037F6CE15742358 - AD78BCAFAEB1A1B2A60A76BA43ADB457A1BAE888F8BE82B13FE829F8AE7E2B64 - DBA57FAB2F6DC35BC75330E290156F1C9E8655E7BE839D18B69DCB9DFECB6CF6 - 3D97B4F97BC77BE995529CAF2EC1B063537167FE4B88D9350C5139CF2172EBE3 - E8B4F961F4FF69148ACA0A61CB5D26F8323BF54945BEDBC86F5776CCF6C14839 - F11922B70C40F8B7BDD066DD3DE8BBF979D8442CEE73B0595BD6E17F69D965AC - BEB8CDCDEF5E3B46F23CF77CFF3467B75A1D83B01591F8FCE83254D82A9638D8 - 4C27756C9535D5F8D789D99C1D4D7E3F94FB329EDDF906BF3670DB68F4F8EE31 - B45A6941D325ED316CCB4B28B3959F736AF0B13AFDB7D7D831F2D004EE378B89 - B7ED83FC99B875512B3CF0F523B0D5D8AADDE6853AFDAFE23A616DD9654B7FF4 - FA7130F79BAFE3370D46EC9AFBD1F4B336B8392B1483360C21FFCBCE39E78501 - 8AF4CE34C87422B765CC063ECEC3F4550FEE3763DF94D6000B0F648BF8CB734E - D2230ABF87B1630069506ECBD6ABA2784C423F6FEB60775F1647FAA9127F0F54 - 66539F0FA1A9BE2E4BD964C7A92BC55C834C27AC2D5DFD66ECB3A5276163DF9D - 32FD2739E73325FC1B5F116554D9ED58747405866E19CDDB92C53BEBC042EEB7 - EDE745C0C46E822FCF95F29CC3C6A98FD838753F8D53BDA4B1E43E319EBCDF03 - 78EF1E60EADD34678F4675FE5A94979C86DD5685F24B05A8CE5B23E62AABC5F9 - 9CB0B1FDEEB7A2A2A2FAC5C5C533C9CAC9A606819D4E06C92E0791CD2C490F76 - 4949493D62A57AB03358997F54366B7B490333BDA5F711EF74A57EB3B6F7952F - 50B6C44FF2965F0FB63F1FF560D751862E6C0565A4EBA1411F65E8C6F6D0FA30 - 666CDF18C98DEDFFFA6F116DEC13C64C6F6E1542EA6363CC08AC8F3E4776011B - 62DF58BE7CB92EEF9EC59AA81E581BBB83B87033768EAE05148BF5D169647689 - 69978E6B9F5311338F58085FBFE9964BFEF67494FDED5D71747E9B4B7D14C50C - CBBADE4969B7BBE43B8F35D1AF7ACBC7CEB16B3C8D33FD76C6F0C95F1F9DE992 - F62236C499EA8C23A5E1699DF93215F2B5F8AF947FA056BD5DB4C235E5194791 - 47293F53AD7E5CF32AE1ABD5BF56BE23D65F59FEE960D3BE679B04C2E7D7B23B - 853BF8B4AF26EF55E77F65C956CDA73C2AFCAF35AEF8E27BD159A696F1C193AF - 657CF03BAEFC37EE79C7B1D857344EA9189FBD99EAF1F96ACD2F3E6256CC4D65 - 2CAEF5FC1EC8F63FC0A986AF4C7A4000000020000000200000002F8500000000 + A00B6BA3DF3BD8E09B0EEB7CD260CD8B5458E59D02DD0F8596E1F73E1A9640AC + 110ED130C4268AD5CFAC22E51A6C5D5683146515013F9E8828467FC776DA1D9C + 26F07B1D094B20BB7EB28C008724A8B0EC1301FD141A22F0F13861E9B31418E3 + 18AB33CF0EE3C136410636F152D8179C073D8E845D13F8DD0E85264CB912038B + EFA5A96D678DB28A938225C681456C319C8C2906F3982238115D04C7A30AE118 + EA6864212C7F920E9DF785AC17F83F1C0A49187A3A12B6F84AD4B63B82317038 + A2000E8517C0C1F07C3810968F71900FFB42F3606F481EEC09C985DD6F7361F2 + B9F88C763BDE0E10F85D0E0627F4310F837D6FF3D4B6FB3B38177605E7C0CE37 + 39184F39B0FDB504B60549606B50369805A202B2614B4016F4B3884868BF3B54 + FE21D3EF0F0427F43E115A6EBBCDFE59608AFAEB55266C7A99091B5F66C09F7E + 1918A319B0DEF71DC6E93B588BFAE14048B4383E3BEF0B4E19E210596EBB352F + D261B5773AC6793AACF44A83159E69B0DC33159679A4C252D412F71458E4960C + DFEF0BF113F3BFDDF33663D2C538B5EDFE789E028B51BF3F4B86454F9361E1D3 + 2458E09604BFA1E63F4984798F13612E6AD2D558F87E7FA88D98DF051D3FEB56 + BCDA76BF3E4A8039A8D90F13E09707F1300B35F37E1CCCB81707D351D3EEC6C2 + 54D4E03391B20E7FBF995DDA3F6F8BA88DBA7653EEC4C2E4DB31E5AA9779A8B4 + C38E904E627EFB5D6F64DF1F7C5BAC0FA1EDB28ADE2F0CDB3FB3A50C39FD3949 + EFDCEA4D8D52BA9D9C91D2D52A05F52EA5BBD59253A74E19EB85FDBD4DD794EE + 762F900BA5446578AE42BEE86A658992F24C29FFBA6C99163E53F00567EB0F96 + 3E686F77799DDE36DF61B9BB683C1AF92CA58B6367ACEB2D6A9796D2D56E81B2 + 765446E7B83AF2FADEC450C9EF6A6523AA9B91D2D3BA75B9E3C53A6CDD927636 + 1AF275B15F537E7099718B62858DA9327E64DB68CAB7D1367EC46D35E16B1BFF + BAF2E5BEEE6CBB42CEC663C539A9089F3DD7DEA9899C8FC7DAB4FD8FF33BDB3A + 68CDC7365AD85F665D51C557126736BAAC0F8A7C5DD607B5EB4A4F8B89F2D7DC + B146EB9416EBB33269BD3EFFA7EE2F2A7C96CE493B5FFCD3F7F77FCBF615E3F3 + 3949DFDCF10C187DC578CC68C578A6B4643CDFA19674639CF532BF5F33EE5D91 + FB02050A7A41E72AE28B568C972572A43C4FCABD2E5BA68DCFC4BE10D9EAD382 + F194E73F2D19F7EF5A321EEEC2794D7DF635E3D1F92BC6CB5BC44DFB8AF15CA0 + AC1D95D139AA23D4A7B6C450C5C73A362276461BE679B9F90FD5A1BAA276361A + F2B5B65F0B7E70D97197C40A1D2BFA916FA329DF46DBF811B7D584AF6DFCEBCA + 177C8DF1B742148F2B14E7A4227CEE7A7BDEA4643E9E37D1A6ED3FC077D081EF + A005BFCCBAA28AAF24CE6C74591F14F9BAAC0FEAD6152C9B58F2DA73A2A6EB94 + 16EBB33269BD3EFFA7EE2FCA7DE6954ED2D617FFF4FDFDDFB0994F663E3B39EE + BDA9243AAE28CFD49431B2185FED3BE4ADB1185BED8EC5D8F78A50C04B8AF2B6 + 1CFBDECE93636B0C30EDCB68F4DE8FDD68A68EE5B8F7C65B8CAD6E8EEDE345BC + F2948A72463BE6598DF8A0BE32AEC5B86A87B04EA1164C552A2416312BC37EF3 + 311F7CA98DFF8F4DA8F9E78129755F9C1C57435AC2AB2E3B38E9F3B0E3136AEE + D3C6FFC26662FDA459538B47F39A583C766E62F1280B05AD8F5D86615B36B1A2 + 632A43E535B6787CA7C9C9476B4C2C9EA8FC905DC37DCFDE6F76F2C18026968F + 7662DD40BEAD2E0A439937B57C38FE2B2BB78F95F1D16E6F7DF335F18F0AE5CA + FD63FDB88D96579851ADAF6DBFABD9CEFECFCF46BAFAD45B7845DAE8EF7B40AA + B7E08AACCE3097905ADF9CDAF3612BBB014C5FCDDE5BFDF86BBB3A1F7D653FFE + E356F6E61FB7B28B4781864AADD9CACEF9E356B6F33EF8CAAABE526E2BBB4358 + AF500BA62A15B22C64568AFDAD1DBED4C6FFB55B5BFFF9599B932F6AB6B2958A + 78B24FBEB608ABFDB5F53E6DFC2F6CEBD6AD6BB67AF5EA79286754160A56ACFC + 137E5DB487151D53192A0F7507B506A5F2FA1A3F7EFCFB787EC09A356B76E23E + 906FAB8BC250E6C8193F62C4888F55F0BDF5CDD7C43F2A942BF24F1B5DEE63EB + D7AFA7B1FD8C3A840AE145C73FD33943E660D80C9BFE3778C67C0F1E4C5BBD32 + 6F32F591BB1AB94F51C7504EACFC98763A331D99EAC8188E3A0BDECC0DD40CB8 + C6C87F0985C680B2455DC4BEBFD598EBC1FCC0DBF894B5196D575B1FC7C08FE7 + 2ED6FD4AC3F1FFA0A1DF3A61BBDB583F0FF745B85F50A6CE6366269E93E13973 + C862CA7DFF1FEDAD857577A35251F9E8B762DC03AB67CC2C25F1308B3F9F8FC7 + 29B89FA0941BC84CC3736FB00E310BE54CB1D4F305E5A1D2B07C0A3C603A22EB + 0A1EE7B2FD2B636ACF17EA16F13E956AC02D46A5A2866ACCD74C34CE08763E9E + 318D55CC5703F4C13D54A246CC674C0E2A1E8FAFA10600A3D9EF78F0D7CB7554 + B212AE94EDDF9BF1C5E3D9E2EB4CEBEB96BB5EEEA38D05AC3C9870D4E6F2AE33 + 1DD6B11FE10E33C4B0A21B36C3F6DFBF8D193366E8C891238FEB226A5B1E7FD4 + A851A628D051A6E5B0C1CCCCEC317D4FA72EA2B6C450C7DFBE7DFB43FA3E505D + 446DCBE36FDBB6ED61565616E8226AAB099FBE2B551769C2471F3E4C4B4B035D + 446D35E1A7A4A4802ED284BF65CB9687F45DACBA88DA96C7DFBC79F343FA9E5A + 5D446D35E1D377E3EA224DF8A6A6A60FA3A3A34117515B4DF8F47DC1BA4813FE + 9F7FFEF9D8CFCF0F74D1860D1B9EA8E357F6FAF69F589F0D9B61FB5FDEF01AEC + CB5FC3BAA8EF3F9DFFECD8B1E3617E7E3EE8226A5BDEFAF96FE27B9EF9132CC7 + 326A457574E547F9DE66DBAB13D5F95FF57F65FBA7B2E7D7707DFDE7F39FCA5E + 9F0DDBFFE87624F773C64E3A99151DEB73B393F6606CA4A928E095CAD8414FBD + F16DA46F51418C45717BC6B2A81D1E07A242F4E397C2BAACCDD6C525EF79D8C2 + 7C6E1CF06585F96725D59095C7584B6D4BC6536CCD96D1397D6CD6D22DFC18BC + 58D1B19DD44C6FFE5F0F55789FD0BCA6B2C754A6EFCD467A1FF90F2BED1AD037 + FF444103F4F72AF4F51A5636D2509C8B30F96B6BE952B68EAE9B2DFC22BAA694 + CBBA784E85C67040528B7128FA84952D3C46A69BFCF5568966EFBFD8C1476C4C + DB41BD0AFBDFA1F80BB4C38A652AFAC1BAF81DFA75F8FFB57726C05154691C8F + A86B09CA11881C1A0857C8CC70844388E8B25151241E78227296A0ACBA65B9D6 + BA5A1C4986535D5420E48030490C01944B404117442C40050D04240CB7801C81 + 302140023967F2EDF7BDD73DD33399A3BBA707D0EDA6BE9A3EDEFBBDEF7DEFFF + 8E1EA6D3AAF99437C751CA5879304ED27F460BF1BCCAFB0E2C420B97CDA7B494 + 47CA20A68BFFAE70AD2E6C1164E2670D5ABE6C3EA5A53C3C6F9DC07F57C2FF04 + EB568EE7CFA0ED0B5BE4B8376C310C94CDA7B4B9D057185791612F674C57DC72 + D9F89BEB7810D3D9717F43D8929A46B2F9A4A35CD888D76BC32CF6788195EBEA + 47B51DF07A2CAF8B7D144B97E3F815C7DF9E01F94BA1174F4B79EC2385F68865 + 4C5F9BC5FE28A6398D791C686B30DFD0B015D0C6C967FB782EC7B196A5A1B494 + 47C9C6FB5332E62F96F4D73A64D5498E8B599AD9954D55F7DF67F26F666D97ED + 7803794B98D13E9DA36BD779ABF71E896423046DFEDE5361369A83B6EBF0DE7B + 3D3E7A7CF4F8E8F1D1E3A3C7478FCF9F383EBA5D57C315E94D682305BB2904E9 + 47D1AA57B02CB4067ED23610D288E94729E4FB2CC30B5B2EDF5B3EB732E4A491 + 11D30C8FFCD902D7E73585EDECCB47D57ECBAC47507ECBAC47507ECBAC8316BE + 872C3EA16CDF50EA33D4FDEB1A8C0FA11EDF423A3EEB766DED9695D692B0E5FB + 40A9513E59FD09D3E69DB8083B4B2B641BA5A77C72F9F9A515A064A3F4372ABF + E5970741CBF6F0E46BDD1EDEF85AC6CB2FFFFB54FFF729DFA706C7D7FDFFA3F9 + DF1F6D0F5AA5F00EC4568AFD3FBC05CACB01E6CC01F6CE56DA0E965541FCF7F4 + AA45B84AE7E81AA5A132D4F83F7B369F6F232200F6EEA5F76822D8EE60FB748E + AE511A7AB7A562FFCF1E647E8B1CB10C299B3E85BAED511B7F4F9E6779142B6A + 0FCFF146967E72C600D454BA95E1851DEF6BFE92AB9FFDFB5120AD7CF21F0AA8 + 576FFE5B86D7F3DD5F7CD4CC374ADA57E97C4C5AF4D4676D5D9D4F7D2A5D4FAC + 2F2A77EB5FC4A5BE3568EB89CBDEFA978A354D2B215FA5507F698CEB8F0FFAA6 + D9D66A5AAF90BD1FA5E5F45ED012F92DA7F6D4BC8C9633903BBD27DC35AD2744 + 4C8D858829B1A025FBAE19C8467EC4B41EC8EF012DA6748716E6EE4197D17226 + 67474C8F65D602D9CD91DDDCDC0DC293D192BA42B06CB216D3D167F4BDF9D4EE + 108EEC66C95DA119B29B269AA0199A629D50BC67B87C17D9CDA620D38C966482 + 2689466832995BD34946D965B49AEE853D0DFD9ED28DB19BE018DD38D1008D27 + 1BE0CE4931D09899019AA0A98913F1C3A74AD849C89D1C03774CEAA28986785C + 886FE2EC44CE6E34315A1B3EEAA599242E77A0EF8D264543C3899D35E18B7A69 + 926474F3BDE1046DF8A4F5A6C95C2F62DC35E5633F22AD13BF31F127227F4208 + F8A873D2A2D6FC1649A8FD44EC538C8FFA9988654CE06568CB37B13ED418F977 + 621DA80C7D46D4377D0B6E8B89C9812E5DB2D1B2203ADA829F0BF133136D0184 + 821F1DBD103A75CA84CE9DB5E177E9C2F9D1D159C8B4209BF33B76D48E1F1D9D + 8DEC2CE45A90BB90B13B7498AF093F3A3A07D9D9C8CE42AE05B999D0BEFD0234 + 6DF89D3B733E675B909B095151F3A15DBB0C8DF82EDF397B01B2E743DBB6E91A + F1B39CBE47452D14D8191019A90D9F7C17E3D2AE5DA6937DCF3D69A04E2F5982 + D645BD88BEF3B844466630F6DD77A70A360F8FE7E1F979205F3316A7D63B76E4 + 7AA136157D17D96DDACC434BC1FD1450AE4B573F222D925EA84D45DF453699DA + D8F37E44FC0CE4A7A3EF69C8E73111F9C1B62FF5D3A8286FFC14CDD60F1D3AA4 + 233F0DF9A9AC2D89AFF5384DFCB66D5315E944E9161595AAAFA942FCFB6735FF + F7E2697EFFBF6759A13958BBAEBFCFF933C647C3DF9FB9D555F4C5CBEFE798AF + C1C6674561BC4F3E5ED3F5A3F72F3D3E7A7CF4F8E8F1D1E3A3C7477FBEE0FA3F + 5FA0EB478F8F1E1F3D3E7A7C6ED0F9EB5A5862CC7D603655789DFBCCC652FA5B + ED41F2BB21CB8AF69BD3920C45CE32928C0F8760DE5F2BA9C31A4DD993BBB4C7 + 78D9915BC40DF7E99C567CB3F123EEB7290963932CD4639636ECDE0D917501AD + 1AF9ADC0DCFD2E2CAF0A8F2FC23BDD1B69E0FB6B82EF8B246D9127B4F3DF83E7 + 9BF60AFCBE127DF51662640D4AAB66C34081B3DD4BBD7604AD55519366D3F07A + D7928C2382D2EA24433B97264D7FA9777D7CEF5BF1FC692CC301E66E1D82D2A4 + AF346AB5EAA9499FE9546A35C9F0BAE0D72E4832BDE7DF8C052C6D22EA5876BB + 9A0E28BEA748321E96A555D21BCB8365984DE365DA01A1AD1E92D1AE6B7C6AD2 + B74F23847AAC0E4A93BE4CAE56454D92EED47CC7EE4DAB74CCE7A763906CC0F2 + 8D7568272473D7FB7EFAF7FBCE749487F21283B1D8F95938C62CF5AF0D53AE1F + 9DE5FACD4B6CFD1932DD74F3D2DFA35BE0F8FE12F6A1D9D857B6F0FE896B5E66 + ACAFAEC4FDA7D4B1BBC663FE1A59E33E95F366A7DB94AD370D9DD1B79F702C59 + 25AC09078339268ACD9B6FDF733B4CEA1A89DCB1C8BFAC7A3C9435EE53FC581D + 0E8784FF5E8726C25C54111467424C7364C442A2E97EFC34A285F33876ED28B4 + 43B58A7567B830671CF1D1AE55120D28E3333F8D45EE2C5CE79A4D3BF1B810ED + AC4779D50AD83D907745E016A03686789D8BCD9D1AE3F5A18AF966E356A1CDBE + 0838C7D375257CB3E90E679D271A5A074E8FEB43457CB6EEACAD773FE169B44E + 4B323C2369FB5A30C7DF22736D982BC4FE24F69F57595FA5FECFEEBD707D6636 + 4C15D6069E9AFA06AFCFC13C8364C4E8BBC0E38EE920FAB0C9CBB54301EBF042 + D8CDA89B9731FF664C6F633A379B8EB163F291EE9BCC610D847A49D6A1382651 + FFD3E79F903FFF2EF7397835CF5B2B790E5ECDF3B24A9E53D7EAF9745FF1D2E2 + F9747FF1D2E2F9627FF1BA61F8D55701AC1B017EB000FCBC04E0DC21EDF87BD7 + 017C781F404A02C0927F00648F0198D613F7DF00B87A3138FEDEF50033EE0528 + 5885AC5280B2628092E300C7B6037CFA32C0FCE7D9F3B4AAF85557003EE80FB0 + 7319F7933857507E177E07387B805BC6B33C666AF8D60D00731F43DE49F4FB3C + F7FFF239EE7F9115C0F61BAF57FAD3EAF8DB16022C1A0F70FE282FE3E269EEFB + 395C0E9EFA15A0148FCF1DE06DA1864F3AC91E0D70661FD74BF161F6FC389C2E + E4655EB90070221FE03F0FA8E31373462F8093055806C6E3F45E8CCB7E8CCB31 + 80721B406D15C037787BBFFC6DF5FA598A7ACC1BCF6371A988EBA7E212671FFD + 11CBEF0DBF1D2E50CF27166930E339803D6BB14E189FE3BF70BF91FD764E1ACB + F34AFE19385C560D8DBED85FA2B87F912E4983A49369B13CDE189343070BDCC6 + CEB15846793518B51C7FC621535A468315D6EC30B3E46F1DF97B7E5FC65687F6 + DAAE22F0F85DA4B38C609EDF975B8616F3253D176FF8EFD16F3DCA48D172BE5F + 7EE252FBB015D62C491957345DAF2C2B1C4B31C132E6E271251ECFACC75F61BD + 10D4FC8EF903AD27969DBCA42A3E944FCE7AA5F05295AAF997F229E57F7A7C03 + 74FC7A343FA0B187C6526FA6929FBC2F17F30C0CFCF756B4E087203E5EF9DEE2 + A425DF5B9C14F2538EAC8629D63C27FF40D94978F6473314575DD4243EC4266E + DCA637D967AB2F8732637C8DE2F3CFDDE98C2DF2A90E5AC547DC066F9D806BFA + 412EB6C6FA0965FFCDCF976F6AF87EFEAE623DBB11E3E3732CD36A7C53F69BC0 + 1B2F3E21E287727E0CF5FCFE87B3C578EF90F72ADE678D431B0B90FB329C2F2E + 566C903E0420ED4980D427F03EF9F10F9C7C0F367C3A06CE9C3AE9D76001DE6F + CCC7FBD28C675CE744F6BCC7913F1860CE205E86071B7246C3EFC78EF835914D + F71BCE735236DDD3CE1DC47594EBCE86EC5170F4A0D5AF896C487BCA756E5E82 + 3B7BCE2302DF9D0D5923E0E0DE02BF26B22926CE734EF6A39C3D7B20E77BB021 + 6B3814EEDCE1D74436C5C479CE93FDC9C39CEFC106CB4BB07BFB16BFE66ACB04 + D7B93952F643001F3FC8F9D923DDD8B0F045F865CB46C5568FFD513CE7139BFE + 669965186343E650D4DF0BA891E7243A19C263924A7E3FEEDE96DEFC26F64703 + 385F357B907FF6ACBF0A7C29FB79EDD8FC3B8F3037F6EED57823582B7BBCAFAD + B343755D0D38F00EB5DA5103B525C7F8F715C4FEB03FE74BFD96C97608FFD65D + DE01EF9C4C83D147CCF0D6D159B0D6B6191CC8B0EF5EE5F25F64D3F75CC2E6EF + 1DEFE557CBE1426D198C3C3113FA585F81D83D23A16BFE0B10B3FD49E8B4F551 + 18FCF35828A928067BC14ACE17D9194FCBF2DD8E7E4BD9B13B8741DAA9CF2066 + 5B02447D37002237F483815B5F043B8FC5FD4E36B56500FFCB2BAEC0BA4B3BDC + FC1EB06B0CCBD3EF876719BBF5BA5888581D039F1F5F0955F6AAE54E36E924C0 + 565D570BFF3E95CED83DD0EF470A5E85E777BFC5AE0DD9310EE2363F01ADD798 + A0D9F2F63072DB2B5061AFB4B934F84440FF1D750E1873640AF39B62E26DFBD0 + 3A17EE5CDA1A1EFCFA31B0D7D96BDDE68580FED7309D505B76D9361806FC348C + F9CDD6F15B8641CFF57F83669F45C2EDB9E13074D370F4BFC2E69A171264E99D + 34483A11DB3276131BE7C1F0551CF39BD8B75A1AC29243793CFEE29C93F298CC + EF611C90801A14DBB2CDDAAE2C26E19FB775B27BADEC8DFAA9E17F0F5464639F + 0FC3A93E90A56D71C099ABA54C83A4136A4BA9DFC43E5F7E1AECF4DD29E93FC5 + 359FC9E1DFF21A2FA3C6E180A5C757C3886DE3585B52BC730F2D617EDB7F590A + 30B53BE78B73A538E7D038F5318D537FC3716A803096DCCFC7930FE200DEEF07 + 30B32FCED9E3A0D6FA0D54969D0587BD062A2F17416DE17A3E57994DAEE784F5 + ED0FBF95949434282D2D9D8B5689363304EC2C3410EC4A08D964295AB0CBCACA + 6E425686073B9BCAFCB3B2A9ED050DCCF596DE47BCB3E4FA4D6DEF2B5FB06C81 + 9FE22DBF166C7F3E6AC10E5086266C19656469A1411F6568C6F6D0FA4832DAD7 + 47727DFB7FDE6C9B1322C8B4E6FE60BBAD816DD37DA36D1BE26C68176D1BFBBF + B578F1624DDE3D6B5B7F6F9CEDEBFEBB900B6E46E7F05A50B1D810674173084C + 87705CFF9C829879C442F0B75F01FADBDF59F6B7037AE3F91D92FAC88A996D55 + DF3E9876A724DF05DBFAB8D7BDE5A373748DA571A5DF490C9FFC0D713992B497 + 6CDF3E600818474CC3D2BAF2E5C8E4ABF15F2EFF50BD7A4BB4C234E519479E47 + 2E3F47A97EA479E5F095EA5F2DDF19EBAFFAFCCBC9C67DCF360986CFAE2DE91E + E5E4E3BE92BCD79CFF559F3CC57CCCA3C0FF7AE38A2FBE179DE5A8191F3CF96A + C607BFE3CAE6075E741EF37D59E39482F1D99B291E9FAFD5FCE22366A5CC14C6 + E27ACFEFC16CFF032CA0980C4C7A4000000020000000200000002D8500000000 000078DAEC9D078013D5D6C74351297611EBB3A08814F5292A888A088828457A EF5DAA4AEF4BEFD2CBC2EED2CB16DA2E2C2CBD2CCB2E6CEFBDF7DE7B72BE73EE CC2493906CCA2659DF67F2DEDF243377EEEF9E73CFBD73CFCC6C90482C2F7D5F @@ -2404,378 +2404,378 @@ object SimbaMainForm: TSimbaMainForm 07CD1707BE80E7363C075FDA7C09039D06B2BE5FE1BE8269D6B55930F0EC40B6 AFE9FAA6D0F3444FF9715407D525D44B0C62A9E1C7E697E7C347BB3F52DB86CE 873B43FD55F5E1FD5DEFC37747BE837E8EFD60D4C5514CF4F9DB23DF428B5D2D - A09E553DE875AA975A36D55D504ED325C4FE5F7BE701DF44F9C6F13840F90B2A - 8A32BA4B5B685A5AA0204B702120B22B205340454019828C96D286BD87CCD20D - 222228A28083A5A0C8903D8422A58C165ACA2C9DB4E9F37F9EF7EE926B724973 - C9A538EED5DF27C7E5BDF7FBBECF7847BA24F81FD31B193919A05DA6353CF3F4 - ACA7E1978BBFB071D1BF2B4CA90095675466ED929F49744DF72A4CADC0EA909D - F65EDE0BCFCE7ED6D08EEF625F48CB4E13CC3242824FF34434BD999E9DCEEA0B - CF52DBF45A697A2536C6FA31F5A145620B68BFBA19B45FD58C8D3D7865307B8F - EA889F11D8D4265FA2ADFC6E138B7D20B92E746531D66B532F18B16D04F45FD3 - 9889AE7B7DD38BBD4775C4CFC860933AA38E0B95E939713CF82FF787B66BDBC2 - C02D03216C7718F4F92C8489AE29FEE93DFF65FEA5FC2D6203DFB6A5BF65338C - 8FCB5285E2E191C98FC023531E61367E73DD9B30F4C7A12CE7DE8C0F843713EA - B1EB213F0E61EF05AD0C62751F9DF22864E6664A7DCF7509CF326367E566B138 - 97FA59988A532B42C3D886D0797D67966F730ECE81E62B7CA145B42FBBA67B94 - 075487EA4AB5D132A12510C3A40FDD0476F08A60B0F4B3388F4F7B1C426243A0 - EB86AE306AC72858706801042C76878025EEEC9AEE75FBAA1BABF3D8B4C72CB6 - 13B42248DC07621FA79CA4FB429D4AD330CE3FF566725DE05A8A4F0C815F73DE - 734C0B0F2F34F2E342585D16AFF8ACD00EB529EE033F0F503C147C7EE273C37B - B49FA0DC154ACAAD1476FFB1A98F31DB7659DF05466C1F01730FCE85EA73ABC1 - F3739F65D7748FECDF20A681C1FEA9B7530DED509BD4B6C021263F3F1FBF72F7 - 0A78E2FA4673FCEF577E17C709241D4B62F5299E28FE3A7CD90186FE3494CDFF - 5E0B6A80D7C21AEC9A62B2E3971D591DAA4BCFD0B3E2B6A86D62108B98A27CD0 - 4BC4287B9EE65C6AEBA1C90F41C08A0068B7B61D0CDA3A08C2778783F65357F0 - FFD4855DD33DCA3FAA4373303D43CF9AF64154F4A25C6C8BDA85BA22AC7762B6 - 209ADF688EE9BDA9378CDC31121A2DF38490A51ECCF774EF95CF5E6175C4CF98 - F4A19067ECE299E21CA4BF857043588729E7C5F308BD3E8BBE6E96D08CE5C0BB - 5BDF8596D13EF0E28ADAEC9A7CDF2CB19961BD11AF21267D2086D4EF83FF5E8A - DDFEF3F670F8DA61C31C40737F9BB56DA0E7C69ED026B62EB489A9033DBFE9C9 - EED17B42EC1DCF380E5DD675B1D487EF25F8B927334F966277FAA293B05F8316 - F12DD83D8F4F3DA079627368BFAE3D74490884CE0901D0FE8BF66C0DA2F78479 - 86191B9FA536C47D38917942D89B5ADDFFBC92F48A814D65CBB92D061BD01CDB - 32A925F44C0A82B75705B3EBA0E820C3D8B79EDB6A788EDAA0B6E4EEBF44FB3F - CA912D74D163430F6E6D9D5919826382A147523DA6E0E860C37ADBEBAB5EE21F - 4B382E63FFA7B7C0A79F74A885BA793BFF36348E69CCD9614A45A8B7D815EA61 - 0E0AFB8E26B14D80F650FCBED3957F568AAF97E09F3D7AEDA821E7128F260AFC - 35FCFBF47B497368DE7CFFBBF74BC509AD7783370F86ECC26C616FFD32FF0C3D - CBDA12FC4F0CFE0C62CA1F406FECBBB20F36276F16E76B88A84E0B7EEFC6F652 - 9BCE6E6212EDAB5250CD44F54384F984DAA4B6F932C0C21EA03FEA0CAA98A64B - DA765A388B8EE2CF9819BCB6F17BBA8A12F55BF16D15F36DF757CFFFEAF95F3D - FFABE7FFF23AFF9FBB79CE70AE28EFF37FCEFD1CC32BF5A13CCFFFC4D4EB4B60 - E2C45390965608F70AEF09FD71EAF9BFD6825A6C2D2CC1517EF0C111D0687E01 - 4FCF73909A5A2C986581B3CEFF1423B4CFA7710F1C7888FFBD81F43DB299E0E3 - 5382766073D35D93755291F33FED030F5D3DC406F8DB6FBFC1D0A147F8EF39BC - 8ED2A36EA01DCEA31DF22DF5C1EEF3FF873F7E087F66FD89362F81BD7BF7B2DF - BB77E4C81118FA618681ADD1D0F7A0EF61F1C0971F9538FFCFDE3F1B526EA730 - 9BEFDCFD3B631F3E7C98FDDE412A63C6DC41EE19C6269FE8B9D316ED099E74F4 - FCDF26A101A4DF4B67E3D67D76105ED87606369F3C02D7AEB16993F581FA3278 - F0119E6D18E26847CFFF4DA2B5700CF353603FBFE9043C54540C15F0DC7BF85E - 06EB03B1C91EBB77EF61EC6319C7E046DE0D87CFFF4B8F2E65B1463946ECE7BE - 398E6CBDC199D487EF4E70EC3D7BF6B03E525ED07EC1D1F3FFB89FC7B1354D8F - 6D8627EC33630B6AB4331976FDBA9FB1693E7059E0E2F0F9BFC7C61E38515E30 - B3B929BBDAD653109EB84FEC6F87CFFF4DE29BC099AC33CCE651AB0F70E3BE2F - C1DE720A2626EE67F6B99E735D91F33FDBE7F1B116B59AC67D1C1E96B03937EE - FDAC8F345E9ABF9538FF2FFF63391B0F8DEBB94DC7A56DBE85B739D6A3738EF0 - 798FA3E7FFE399C721F77E2E1C48BE03A337A748C65AB5ADA7195B88F35399A7 - 143DFF5399B23605DE997F125EFC769B457F13BBDD67ED143FFF5FB896C7D882 - 843E08FE26369DEFC8E60A9FFF2FB30FAE37A794E2938660EE8D88FE91E5D881 - B4038CED84F37F36CDE1DD42BBC3D005FB0CECA95FA4C01FE7EEC29FE8E75DA9 - BB18DB49E7FFBC8D1B37E6858484B03E446FB900E7AFE6B1372826971D5C0655 - 675775E6F97F5B7E7E3E7CFBEDB786358D6D1E70FEFEFEAFEFCBE3FC4F67A8B5 - FC39E437FED9314A9DFF85E2E1315EE3EE1E81AF618FA13C3C3C267475771B3D - CCDD75C428B79A8317BAD67827C6B5C6C07037970FDF70ADF9FEB39E1EE19AE7 - ABBEEEF0F7C6218BF430C70CEB8FFA14B5197503FBA067721F07EE6E63C0DD75 - 6409F6E99EBBDB27DBDC5C3E6AECEDB75053B35AA8637CF771C4AF8BEA831A83 - 4A44ED47E5A2C0C37D3C6A2CB8A3A81FD81FA0FBF8EF3FDD5C86B5F4F4D2696A - 3DD7D3FEEF8FABDCFE611C4F036C733EEA3CAA9871791117C78CFA18C73F8A5D - 7BB84F60C2E74EBAD518D650A399C9B7564536DFDD6DEC5C1CE34531938D91B8 - C8C3313236B383C7788E5F7B3C78064C01CFE0A9E0D960E259DFD7E77FE1DFEF - 9BE575FB6EFCC4AFF36AAF60DD318DE6FDC39A96CDC73CD2A8DDEC0A0DDE98FB - 50A337E66AB4ED674BD87FBCC1A6E231BBB90E47F6709ECBDFC718F0AC17057E - 5D13C0BFD312D0BEA6838056E110DC6E16D47BF71B08F8701BF8BFBBF9B0B6DF - 57510103BF9E13D86BF517211D167ED7A8FDBC558DDACC9ADBE4C549E39A37F8 - B843F3A011159AD71FC58D9FFC2AE6238FD9D975A459BF3CBC27826FE724087C - 3B091AB69B03C17D97835FFFC5E0F34A040476980F01EF7DCBFAA0FDE007F01F - F203D4EDF3053468BF001ABD360D9A34FA049A040F8766C123CF20BB46F3E051 - 42FC976693AF914FB62EFDDE04F00A980A75FBAE87E6BDE2E18DB797C16BB8DE - 363B76139AFFF817B41FBF06DA0CFA0C023FDA0E0D47ED8057C7ED8037466C84 - CE43D640A77E4BA043D7E9D0AAF5C7F052AB4FD25F6830C4B771830F447CDEDF - 9463065F8799F1BD5F980FDAA13F40E7893FC3CCD863B0766B2ACCFF2E15062D - 3F06DDA6EC8596637741BDE1DBA1EFCCBD3039E1284C4D3C065393384D493C0A - BAF8433076C18E9CF6BD26BFDC65E01C21FF288E79F6187EDC13CC6D8FFCDA2F - 2E86001C1F2968C40E68367A2734FE781768C9EFC3B641DD613FC14BE376C2F8 - 157F4054FC11C69DB6EAB851AB4F501F4AFA8D8EEB336AF6F786F87317F29BE7 - BA49F91EF93EAD961AF824E26A912956BF597B0DE32EC5E685F78BC6CCDF1EAA - 8B3F6C627F54ED08F06E3A1BDCBD3F96B4BF4FCB25A5F8A622DF0F9AB70F7471 - 87210A25F4613A8E9BAE27C71FCE8B8C397060C4CC2D5E86F1B3B6C3C0D33712 - 7CDF88C5F88E050FAF7192FCDA2D3EB5CAD70EFD11FA4CDF0353128CB69F9278 - 04C62EDC79F1A3A99BE60D1CBFBADDA0F02F7D074DDC54E5F5B61334AFB51FAF - A17619BB433C68FB7D093E4D6770B630E5A37CDBC641C0F01D96FB80FE7867EE - 7E166B2CFEB00FDDDE9D0BF59BF7DD3066DEF6D1BAF8A38953924EECD2C51DD9 - 362C6243FD88E5FB349E3E93D8B8B5FDD641BDB6F3C0ABB6F9D8293EBDEACF04 - EDFB5BAD8F1FF9BDA6ED61F6D761FC8D9CB505DAF59C04A3E7FE5888B6D08BE3 - 60ECBCED1B1B06F778CABBD16CA88BE3AEDF7929F8D59B60967B2C27D01FBE1D - E3C07FD03738BF7D0BDA21DF335B33D135CE35EC7AF066183C6F2F44C6FCC16C - 10B1E2779673D33F3B699607912BF7E7F419B2B43BC59CCF2B4BC0B739DADD63 - 2C949A8FD99CF00978369C0E3EED16419D36F3C0B77B22F8F5FD02EAF45FCF09 - FB4EF2EBF53904F45F0743E6EC8188E88386B893CA015254EC21E8392C610197 - 7F98FF1EE21C14D9DF2B1C3C43A6814FFD4FC0BF5514D47E6301D4EEB80C6A77 - 5ECEA913691978775C0A81DD63A077D8B7F0E1AC1D10B69CE2E098457E64CC41 - 78B3D7DC0D34CF7373EE487E7D37893BCF70CCC791E0577F24E6DF24F07E751A - 78BF3603BC5BCF64D75E2FE9C0EBC549E0D92202EABF391B3A7E9004A123BF80 - 8193B6C09845BFF17968E4924D48E14B7ECB6DDF69D287DC9AFE09B38154CC7B - 78609FBCDF03BF17C682F7CB53903D9D313D1BE17CE93F18DC6BF70737CF3EE0 - EAD10B6DD507EA04BE97D7BC6DD8AEF6EF2C4FED35724DC98733B7C3B825341F - 1F015DEC1FF7C397EC491B357DCB0F0346C6BFD3B05E9F27B8F5EE6373BB0BF1 - E7310A3CFD0661EE4FC4F1E27ADF04E76BFCB71BF2DCDCDF0657B71EE0EADA03 - 5C5CDEC2D7B770CDEEBCB16695C0A71A361D5AA769AB8F66747967FEC6F7C6AF - 5D347CF23723078C8CEBFC66B749BEB5DD5A55DABB1BF8FDC7682B6347DB7B8C - 603CAFE613C123E84370C33172EC9EE052AB1BC7677DE88E76EC76DFA366EB1E - 1EB5DAB1B65BF518F3D0AB9DC73DDAB865FF87821A7593DEFFB0980BB3228C4B - DF21D88781C87D9BB15DDD7A42CDEA9D1893FD9B5ED116EEAE9D2E79D678A536 - 4ACEFE17CA16DADC03E3D403C7EF3E006A55EF8663EFC9F705C7EECE5DBBB985 - EEF3ACF1EA932885F9BC2FD05678060097EAEF605FC6207380C10624B4FF76AF - 6A8D1FF7ACDE5251BE3BE625EEF7C115B92ECFF762D75C6C8C462EF9A537F38D - BB6BC75FBDAB357CC2CBF28F28D8C6677B92D16CFFE952E35D64F66172ADCEBD - 52BE1AEB63FE78E0DEDC633078B8743EE3F55CE31A5ED55BD8C7E773918DB5E6 - 60A8590D63FCB9B719D7B57A5F8E5F7D80C55CF570E977DDAB7AAB7A9ED55F93 - C9A7B304BFFF43BE6BAD6138CE7EA8B7792E2797E77B63BFDEB3EC2BB761451E - B57AF7F2701DACF17AAEBEED7C3ACBF0E71C1ABB4BF57E1C4BC426D57AAE07EB - 1BF9DE9C4F6B27CEE16E1F7D87E3AFEC59B393CD7C77C1DFAE2390DD5F646FB1 - FAA03FDEE2F6C792E327FE185A330B3C5C070D74AFBD5483BE28FBFCE53EEE28 - 728F624C1DADF57CDFA338EEA3C83313FA02D5E728C6C851E459D0047A3DE1E1 - F6619CE7F32D9FF0ACE1F8F9FCBF564EAE190B8EEACF2F276D3BBD5E57D15E3E - FBA8BAA404FFD743899E548C2A8292E222D017DF077D11A9105500C5F749F950 - 5C48CA83A2FC6CB8B07365DE9FEB227EFE6BF1F0C7ECE21BD8C59C185760174A - B0F378E54251412EDCCFBB0B177644631F26CAEE03F1CDD9F74BB305AE985D40 - EC1C4EF9F7E07EEE1DBBFAC0F8A6F62E36DADB9C9D6BC6261FDCCFCB86C29C5B - B2FBC0F1A57DAD37F1B5606F8E5B9A4D3EB89F7B170AEFDD840BDB57E49D5E17 - B1DD56BE94AFE96F89D92223FB0EAFDB50907D83E585ED7C735FDBCE2FCD261F - 9064F165C459297B1BD8C435B2C907F2F876F8DA0ABBF09E3CFB5BCA6BE398EF - 95E9078ECBB1E5FADFBABDB971DBC22F60EC2C26597C6B6C337BDF91B0F74D36 - 66815D70F7BA4CBEC8DE05F27D6DCA2EB89B298B6FEAEBD2730A37E6B2ECCF71 - 3976FE1DB97C53F65DB3BCB6859FCFD8194CB2F80EFADA949D7FFB9A4CBE63BE - 267B8BD9F9B7AFCAE24BCDE1B6CEBF82F2EF5C63EC3C64E7DD92CB379DC3EDE0 - 1BD8E94CB2F8D67C7DAF6C5F9BB2F36EA6C9E43BE66BB2B7989D77F38A2CBE91 - 7D53827D5D825DDAD71C3B8DB173919D7B432EFF96D9FA616EEF4C097B5F158D - D9C8CEBD71591EDF415F1BD99739655D92C977CCD7A6EC9CAC8BB2F8D6D9D724 - D8E6F6CEBD71C9C0CEB92E8FEF2CA9A75BB5A8E5EF5982669DBD576FE659B0A6 - E059C9F9F5669D6BE50C3EB5BFF63A58D59C9379D0706E724EE0CC332F3F083E - 69DAD11CA83F3BB9A82C5B59B0DF1D39FCCF334BE0B38C1258754D0F4957F590 - 985E0CF1694510878AB9721FA22FDF8715970A61F9C502589A5A004B2EE4C3A7 - 29F9B0E87C1E2CF82B17E69FCB053417CC3E9B03E85ED6076B7C62ADB6C05A69 - 236B0ECF9A79261BA6FF990DD34EDF8529A7EEC2E49377CAE42BC98A3A710722 - 8FDF868863B760E2D15B1076E466997C622DFC2B0F42E69F037BFC2B474133CF - 1699F2695CE3F7DD8257575E80CF32C1699A732A1F1A2F389762CA271B0ED872 - 0D7A7F7DCDA9FCD1BFDC261B7F6ECA277F755C7309C6ECBEED547ECFF5577303 - 679E1D62CA1F77E806B45C761EE69CCEB7ABDDD51900AB308792AE714AC43C4A - E0159FAE8738CCA9D8B4627871C9F9BB0133931B9BF287FF9E09F5E79CC3E74A - EC6A971473A518565E29C2B981D38A4BF761396AD9454E8BCE1740F0ECE4FB9E - BAD4C74DF97DBEBF022FAD48B1ABDDA5A985B084D7E20B05F0296A510AA785E7 - F361016AFE5FF91076E02E84CC3B775E2AFFDE5C970A6F7D996657BBA479E7F2 - 602E6A4E322917E7BD5C9C1F38CD3C9303335003B7664283B9673F97E2BF1C77 - 1E3ED8966557BBD3FF24DDC339E81E4C454D3945CAC6B9281B74A8A813A4BBD0 - 7EF525B3D813F84D179F83B1FB6EDBD56E246AD271D21D9CF3EEC04454F851D2 - 6D9CFB6EC304D4F8C3B7A1C9A2BFCC624FE007CF4986C86377ED6A77FCE15B98 - 3FB7602CEA933F6E328D418D3E48BA011F1FB801C3F7DD802089D813F8CD97FE - 6557BBA35023F767318DD897859C2CF8E8F7EB4C1FEEBD0EC350437FCB84BE3F - 5C45DF279FB734FFB75D75D1AE764943501FFC9AC134784F06BC8F7A6FF735A6 - 777FB906837EB90A1DD65DC4FC368F3D2AB8A7806E5F5DB1ABDD813F731AB0EB - 2ABCB32B1DFAEFE4D40FD577471A539FED69D072E579908A3DC647DFBFBD35CD - AE767B6FBF02BDB695AD9005C920157BFCFED3F96BEEECB32552B1A716B5A8E5 - 9F55B2DA6455C86A94348609AFCB95DD6055ABACA6F12750C02B39AB696C1BA7 - 734336D444CE6AE49588D822C56ECE7A69B69B536CDD34763432B24D98D9D2F7 - B0AE423E91B0B571AC4D56BA5BB189433E91DBAED57ECAF089555B9711EB869C - 70C027594D574D9488ADB5598DA7D7B2790C58973D63D6CEAA8965F3E375CEE3 - C7EBECE43B6A7F7BF9E9126D9CCA7A31D6ECF32FBAC7DE33AF9FEE005FE768FE - 99B627975F765C5BCF1325F836C495C53855926FE2EBE452B696880967F19D51 - 4FE5FF2DF90EC595449CEA945A7FECCB531BD69F26598F66358F1F89F5EF9A3C - 9F439CF42E6F57B4384FD9F8AC12FB0F59F3B4037B421BD7159BD72985F79FD2 - EBB482FB4F47E77FA79C03CC7DA298ADFF09E72FB5A8A5AAE650055FCDC13124 - BA2E4F765DCDC1567E9A832750C02BB9AE66BFD3CFFFBE9A4335FD34075623AF - 44C436A88EE6E0661FCD413767D81AB9A391916DC2CC96BE7760B4523E91B0B5 - 61ACDE9A43EE566CE2904FE4B66BAD9F727C62CDD665C5BA90138EF8A48EE6C0 - 44F3D83AB0B6B6E688CDEB1AD5A567CC6D71A0CCFD173EA773169FDAB68FEFB0 - FDEDE5A74BB473CA4FF3C7CBE6CFFDF132F79E59FD74FBF907748EE69F697B72 - F965C7B5F53C51825F765C598E5325F926BE4E16DB5A2A269CC577463D95FF77 - E43B1657E6715A36DFD6F5C79E3CB565FDF1D4FCFC28CE1F23B1FE5D93E77388 - D34073BAA225BEADCF2AB1FF90334F3BB227B46D5DB17D9D5278FF29B94E2BB9 - FF7474FE774691F08962B6FE279CBFD4F2DF2D0BBA6B2AC5843EDE3A2EB4E2AC - 98D08AA763432BA6C4863EB632EEAD8ADDE33BD9F10BF86C2809A18F7BC78656 - 188CACF5A86C1458503ED6DB1EF356C5F1B1DD2B84283846B05336DB46C618ED - 9555DB94033F4FE02774AFA8B5D5FEF8DCA1F2B0BF42BEB1798C728A7BC2AFDE - 5EB1BB077BC6EE59EFB3727BF66B33E7C107A3BBC39C7E9E4C744DF77C566ECB - F788DDB3DD3366F778F7D85FED8E7FD705BF57F28EF9B9B567DCEE59D8D669CF - D8DD60A752502BBDE27EE95E27FEB72AB68E119FC976806949566D530EFC3C03 - 3F618FD656FB639F0E9587FD15F28DCD6394539EF24BF0AEE29734F849BF55EB - 9FD47E96FD4CDBF55063E866709BB39389AEE9DE93DAD5F958677B953AABC63F - 5537C9EEF8D7B8AEAFF484DFAAD655FC56CD42EE697C05FBB43A05B5B2729DD5 - DDABD589AF62EB18F1D96CFB991665D536E5C0CF13F8957DD6686DB7FFAA43E5 - 617F857C63FB186594D0D050EF2E5DBA0C46ADEFD82934BB65EB0FC0BF69243C - 1FB88C89AEE95E878EA1F958677BE7CE9DC7E3ABDDF11F1E1E5E69DCB871ADC7 - 8F1F3F0B5F4FA3C04EA5A056623BDDC78E1D6BD5FE616161DE5877306A3D2ADB - 01A625E5A3B6A3C6A3421E003F4FC4D7CAB0FFA1F2B0BF42BEB1798C0EC6E61B - A8C5A8BF78D1F51BF49E7A42538B5AD4A296FF56C938AC793C63A3A667C6779A - 0E199A9A0F951B77ABA61972A33336696EA27E441D66DAA8E9E4AC7E64ACD1D4 - 42C648D471D4591CB32EE34B8DA7E1FD4D9AD6A883A813F85E7725FA9111AD79 - 8CB5B549B3197503B59A71ACB4AD443F24ECDB8B7C6DF3F3C864BEF88ED9EA42 - C606CDEB36305DF09930665B125DE33DBBECF6A3E67DBE9D126CA704FB31CF62 - DDEF34AFF1F173938D19C76E1773A3A621B6B505DBB98FD233F6260D3061AC58 - 19F77CBE5E01DA691ADAEE61197E7A0A9F5BC4FB8978C506A658D6F814C7C6BA - D4EF42BCB7C05A3FD0BE7DB1DE49AB4CFBF816FB81F9D700EF7DC3EE9BDA5779 - BEF09C1E45BC6C3E968A6C662AC177441B319E28A6BED3FC8E7152BF9CF8E497 - 7BC84EC776A78AE7472BF315F93599B7B1BD5C7A361799EBCB9A1FCB9837FF64 - FDB7DDBEF9A863A8C11907344F28B2CE58EF876CFBDAD50761FEE6FC52C27373 - 5149F6CE8F0EF463386A9C9CF5472D6A518B5AD4A21639A563C78EEE4A4A2EBF - 4B972EA0A4FE297CA1FEE5CB971595ADFD10EAE5E6E62A2AB9FC7BF7EE292AB9 - FCECEC6C4525977FE7CE1D4525977FEBD62D4525977FE3C60D4525979F9595A5 - A8E4F233333315955C3EFDAD652525974F7FF35A49C9E5A7A5A5292AB9FC073D - FF5FBC785151C9E5A7A6A62A2AB9FC43870E292A7BF701FFB5FDCFDF65FFA916 - B5A8452D6A7930E5BF7EFE2F2828505472F73F2AFFEFC58F0BD5C8D2BF8DAFC6 - 9F1AFF6AFCABF1F76FE7ABE77FB5A8452D6AB152A28BBC3589FA0DA874D45576 - 9D545CBB5CD87145F590770F0526CAD1C41607399D9F50BC8FF156E9BFD06C80 - 5A9A44A8A949D0AFE5FB70C0A9EC45394F21A344B30AEE687E05E3F7A0C5C163 - 78FF167BEFB3A2AA4EE32782073FCE54F3F7F4E7D97BCE8C8370780819599CFD - A19371FCC51DD8D813F537591DA7FA5F3F8CE717632C6CC5D72DEC9ABBF791D3 - E38FD9A0381C7985A2D82FC47E45387DECE2B2F4FEF338FE127EDC351EC83C94 - A8D7333EC0C32ADFE9F3DE6E8939D792F6FEEBF8FF76FF27147FCDE6D004FD42 - 4DD73F1E519C4F6D26E817A068CEF8DABCADE2F322FFEDC73945AB189FDAA236 - 85F6138A5324DA4AE6E7323D5F2F1FAF2768FAA43D6A379F9EA536A8ADD26D27 - 4BB4754DD4BFDDFC7A066CBF31FD6625D97C7A46D8AB505B49F08BC8BED724FA - 596C6026EA2F6BE28BBAE0EB45B6B64417BAC8E6D333DC1A75916FEB92A12FC4 - 12DB95EDA3D87B19A23E7FAD9996F33FCDEA6237BBED4FCF521BAB60A321AE88 - 41D7C434C6477DFEFD2378ED8EAF37B8BD0CACB01A5B65F1693D5E058BF8B66F - 6962EE7B3106170BC69F83E1FAB80E3580EB8FBE2D5EE7B17A71C55F5ADCD359 - E3D333F42CC7CAD3AC81D6FC5807301631ADEEB38B5FC667B3F9BEA763DEF6D7 - ACCBA950269FEA505DEE6C00AC0D6ACB9E427BC944FD1E51DC5E617308EDF7B8 - 33889E1F9F0FC6CD9BEC3D8A5D63FD3DEC3D470A8D2DA1B81FB67342C6FA739C - 3DA3E4BAC06249DF02E7491DB6FF332A05ED508CF7F4EC9ADDC3F7A84E79EE03 - FFE10500CC15A505A7488AF577E4FFD7A5FA5FF5BFEA7FD5FFAAFF55FFABFE57 - FDAFFA5FF5BFEA7FD5FFAAFF55A952F51F9046031D50E9BC42ED78BEABE8F90E - 763C9F469FCEF12A42F594F16C4FFE19E1F93407F936F741826D2F3F54A21DAB - 7DB0C0A67F77B53306DE9268AF18D557A26E770B75FB38188765F6C1596C5BFA - E06CB60DBE2DB2274E15B48353C76DA31D9C3A6E1BE2DC625E9413DBE97D7890 - F1672DC7E4CC514AB3ED992795663BAB0F0F7AFDF91BACBF0F7AFFF140F75FAA - 54FD17F4F0FAD3A99AF5A74009515BB2F3149F6BB7E722CC3A93E590A80D6ACB - 1EFE4C7CDED1426DA87C65F8DE5BCF4179C5A414BF3C63D212BFBC7CF28FE0CB - FF9C5759FECF4BE5E9DF667FD5FFAAFF1DE7F7409D4415F0AF3D14F1FFFAD100 - 252565F1C7A04C2BD1BF7B38ECFF9C9BAC4A5818C0E38F038C1801A0D7738FED - CACC814F8E67B06BBA47EF511DAACB97934AD9FF89278CE7BD41838C7D10D874 - 4F789FEAF2A54029FEF0E1A53F8B11FA60CA26515D59E3B7E6FF0D6324C728F4 - 41EA1E6F1B65FC4F3ABF976B105B1C32C4E2675330706029BF8C7146FE49D941 - 22263EB1B6FF76846FC90626630F2FEBFC216BFEFF69AEDDF6B7694EB4E6FBD3 - 3F39147F4AEDC9EDCD3FA5F8F6CE3F8E9E09AF17145B9C7F632FDC2A73FE75F4 - 4CDC63DF65905A7D882B3A7F585C7F143AC79BAEAD3D6DA8C3ADBF6A51CB3FB4 - D498D6106A4C6DF84082B8FAF486501DF9D5A7921A946B1F6ACC080123BF013C - 3F8554BF5CFA507D4643C67E7E3A32A7A1A672ECE72673723ABB141F99535153 - 82A1DA64942E08AA450539A50F35668680C017C64EEC6A8C1D04CF9290FF6C54 - 3D7836B29EA27DA8CEB39F17D8A8E770ECD5A606333EB19FD1D5836790FD4C64 - 20A74981A058AC09E39E815C6457E3D9CF4E0932B0AB460542D5C800789A3409 - 15C1492936E93961DCD3903D3588F1AB4E46B62E90719F8AD4C253935011BC26 - 6AE169945DECE97C8E896D3E5D6007C333627694C0F687272350134975F9577F - EC873FC865D798CEC5B921D6F9B13FCBDBFD1913F693C8AE125117AA20B7F2C4 - 3A50255C10F603F554B8BFC3F1C07C8E767F660AB2279BB3895B1999CECAFF6A - A2B13FAD4336EEFD9F8C44F6246447D4812790FF44B89FD3F842BC8BED5E05C7 - 2EB0FF87ECFF85F93A8F3FD9E8F7A7902FB63B8DFB7FE1BE5029CCC7B97CCC75 - 53BF0B63AF8463AF34C1897C9C5F698E63B98E794EB966187B1837F6C79DCE0F - B4CC47B633C74F6B1BCDED551F281FE38FCDEF5A36B7D1FC5299E7FF6F82AFD3 - F9CF8AF84F19F86883303FE7F323393EADADB4B6119FE6D62A3CFF89099C0D9C - CA9FC4F1ABD2FA8A6BDB93E1BC0DC28C7D504F066A518B5A942E75EB2602C9DF - 3F01EAD421C5A3E250B1A818263FBF95E03C7E12E3D7A99368E0FBF9717C3FBF - 185EE5C7F7F3E3F87E7E1CDFD777259333F975EA2431BE9F1FC7F7F5E5F83E3E - 1CBF766DE7F139B691EFEBCBF17D7C62911BC3D8DEDED14EE6133B11B91CDFC7 - 270EB9B1C85DC9E4E5E55C3EB1B9B12788D831C8E5D89E9E2B9CC6E7D8893C3B - 1ED971C88E33F03D3DA3C1C3C3B97C8ECDF1A5D8EEEECBCB816F1CBB97570CB2 - 57223B9AB19DC917624E9ABD02DCDC96A39639912FC43BB163911D5B8AEDEABA - 0CB5D461BEBF7F3C3FB7C71BE63921D7A5C6EEE6B602B91CDFC565296A09D4AA - B584BD925C5D97609D25202FD7E2F9F93DDE30CF89F3CDD4EE029BB89C1633B9 - B870B22FDFE3D8FC6E9CE36225E3DD945DB3E66226A10F8ECD39B186F99DE658 - 618EA37986D8A66317D89C3E0565F22E86E773F3BB78EC14EF82CF6BD65C62E0 - 2AC536C63EAD6DD186B17B7850AE2F43FE5289B17FEA941CE4F82B90BFDCC0A7 - 7CE3E2DD687767EEC16AD716F8CB90BFD4C0A7187734D66C2D623EE535E5B7BD - 39666F31E53F88FDB0A7E752B4C312F5BCAD967F6CB1F4FD17CE909CEF097F90 - FCFFFCCFBEABFEFFFB4AA7D549CAC9FE2FF377B3D8E0BB7F0AFF41DB5FCD7F35 - FF55FFABFE57FDAFFA5FF5BFEA7FD5FFAAFF55FFABFE57FDAFFA5FFDFDAFEAEF - 7F55F35FCD7FD5FFAAFF55FFABFE57FDAFFA5FF5BFEA7F55CEF85A6BC08B786E - B86DF54CA1D316C0447F0FA7F023B5636C3AD7E802163885FFB16B25880CF818 - 74FEB34A29CA7F36BEDE11F5E112E85E7EB4DCFC1219106A6E83C06EE51817BF - F0DC9BBC80DD2B17B67F20C64509C7245F04CC36D860524070398C3D8E1F6F31 - 44D4F1C25777FC7711D7878058A7B227D4AB8A9C5C8EE5FFB5A84F1BF93EE541 - 58DD679D38F609A2787B59148FAF18EE47068C770ABBBBE6116C3F959F737041 - D33C54FA3313FFE34ECD4571CE4506BC2F619BC14ECD4521E774DA5BF049D013 - 9273954E7B838F8D9F9D9673946F96FB3847648320E53E8FC3BC12E79CA57AB4 - 0E511D6E6E88716ACE59B681B2B948F924957396EB1B7351E73FCEE19CD3055C - B0987316FDA5502E969573967DA04C2E466A7F73F833D748FF5F1DCF3907654F - 2E0A3917A5D5A33F5798ED81CAD672EE593B7291724EA7CDE1F368A3039FE37F - 63572E8A738EF2C9FE39FB55D9B9686FCED9928BD476997DC67CB127E76CC9C5 - 487FF3BF03A1ABE78DF7C7329B73764FE1ED95071101930CF7A98E2DE70CAA23 - 6E4F17106198BF75DAF3A5DA23B64EBB43462E6DB521E6B6DA9E97C88ED486E1 - EB7D1BEADE67E7215BCE4CB6B717A69E7355A952A5CAEA1A5619D7A35638677E - 825A8FDA8FBA8CF3683E5B5B74DA0C7CDD8975A680AEAE9F62DC88407F5CBF37 - DB349F1B857BAE8065A0F37CDCF1B387FF440B8C2B9C0D02B63045F9EFC5D7B4 - D275FC7F029DE661C7C68F673D5A4F75FE6B91178EEB765BABFBB848FFD74BF5 - 4389FD8B5C4DAA1B62DCB72B7C0EB7FD67348E19FCF460BE7F663BCFBFADFCD8 - FCAA613C3465B110A9ED8EFBD5363029A0054CF473617BE5E13E8FE1F8CF29CA - A79C8ED2CE47FD55E667E13A6DB6E89E637C1A0B7DDE227CA6215FF6F3E93326 - 9D7697C9F872D8994AE71FC1724B173000EF8D60FF8ED2C6F3F3C01D45F83AED - 26D1E7FB77B87D2DCEC336CDD5DA8B0EF175FE5D44634865E784F28C7FFA9CC9 - 38F657EDB0DD0EC7C6AF3D62E04B7DD668DDFE3EF85C9663E3179DA174019D6C - E43EC37DEE803968F4DD3D3BD7BDAEA56258E7FF360C0EA960CEACFF34E64147 - ACF339BF1790CAC1443E767BB3CF356CF741B4C9D7B8EEA00EE1F5B76C5D89D2 - 9E317CBE62F37933609BED7C5CBBE9E7FA0C5FDB28B3ED1368B777D95C6CF81C - 5AC216B26391CEE8CCAFFBF976F5FCD7244FB3BD189DE327D5AD67365FD33A2C - 5644606D752FABCA91BF75E08CBF0348F55BECBA00E34F6428226A4BEEF79A44 - 9DCA04A50AB5F56FE02BF937F8ACC585257E79C585357E79F845E5FF03F9F437 - BF767E0AB0A21BC0F4104ED178BD73B1E1EF81398D7FEA4780198D01A6040124 - F403D81401F04D18405C6F80C981DC7BFCDF24529C4FECA8008098B701D24E70 - 63CDC63AB7F0989DF917C0991D6887B7B83AA7B729CB27168D2DA607C0ED7480 - FC6C80821CEE3EFDFB7A0AC0D5D300E927B93A335E28E50B87F9E4DB29B8CDBA - B01FC77C1DF977917FCF9C9F910C70F110FA02EBEE5AAC1C7F4517CEC7372E02 - DCB90A702F0BD93700EE66A0FD2F73F64F3FC5BDD27B4903D017A1CAF1A73702 - D83801DB3F0F70F3128E398D1B37B1B32E005C3B0370E504D7BF5C3CF67C3F83 - F397527C6AEBAB7168E33FB93166A570DCEBD89F6B67311ED1EF19E7D01ED700 - 0A73913F9D8B01C5EC8FF91DDB9BE3909DA91FA4F4D3DCB8C9EF94077938F6A2 - 02E5ED4FF1473195F23BC762FCD3DCD829F6C817B9B7387666B2F2F127E45F6C - 2FF4FF65DEFF69C658A47C2036E5651CD699D984EB8F92F30FCD6B34B7501ED0 - F829FF0A7338AE30EED8B7599DF756AF825A9BCFC25757EEB24793526FC3E35F - 9FBEE2F0FC4BF31A8D8DEC9B34908B3312F99BEEE17BC416F63C8F6E380DEB2E - DFA1270B518F29B6FE906F69AEA5BC24D135DD439BBB6C4E2EB5EFA23EC45EB8 - 952267FFE7C8FA4B3627A6C9DE4FAF597FB26779ADFF1B24FAA0597FBA58F3E5 - C9BEA6FCD6BB53CDFEAE9C12FB0F5BFA60EDFCA5C4FEC7563B38F35C42B187ED - 15998C0FFF7DB26B399D8BA229F6CCFB703ACD1A5F2A2EECD1B0C3E9F15C9BA6 - 7DB0CC57F25CFEC886D3178CE33AD915EFA5336D38D9E1BFF079849CCF2594FA - DBEFF6FC2D78B0F36F6FDA526CF95BD0D6F82FEE1AC5F4A0F89AF5AD99FE367C - 197F07DC297C197F07FD5F69FFBF13DF49FEA77C0BD93E14320B6E1BF8744DF7 - 4AE5A293FCDF78C7878C19F8D37B06BE704DEF39DBFE3456315BDC077AAF3CFC - 6FDA0749B693F39F7895377664921C7739E4FF835E7F1E243F2ACA3E29C5B7F4 - F7CCCB92EA7F85F8B6ACF5CE5CFFEDFF7D37AAFF55BE6CFE833CFF3CE8F3DF7F - 526B06037CF63EEA3D80D5EFA20601AC1AC83ED3BC7EFDBA4382E55D509D0196 - 7542750458DA719619DF021B92DE816B57D31D9281BD94D81D0096BC09B0F88D - D27DB0C086C4FE9076F9A24D82956F719FF7D3D709567435DE37652F694F7C80 - 456D8D7D20F62A733624F6834B297FD924F6F5479E4D3637DC97627FDA0ED5D6 - 988B526CFADA62425F4849FED326312E7D8D8AF7B7E1BE25F6A23622BE341BE2 - FBC0B9D3276C12C7465F2FEFC46C6EB86F89BDE87523DF021BE27BC399E3876D - 52E918EF60BCBFD8027B616B115F9A4D5F47397978BF4D12B361E99BC6FBA6EC - 853C7BC16B46BE05367D2DE5D8FE5F6D92984DF636DCB7C45EF0AA912F66C719 - D910DB130EFFB6CB2689D93466C37D4BECF9AF88F8D26CFA3AF2C15F7E72489C - AF25D8F35E36F22DB0616577E3BC126DCC6DD3582B15E38B25E26CE16BE6EC79 - 2F19F94E67F35C317B6E2B11BF3CD83C5760CF6969E4133B46C43EFA0D80BEC8 - EEBD5689C97F50A2E7BE37621E72E7B6E4D8735E34F2634CC66D07BB847FD5E3 - D5C9BC0BF0C3EDFDF0FDADDFE178CE39BCA7E7EA5C3ECAD9794E0B80D92D44FC - EEA56D2EB310B3B0A408E26FFE00AF9F1B0D21270741FD63FDA0DEE19EA03DD0 - 0D9A1DEC0DCB2FAF85C2E202D0176403AC1D86FC66463E7157861AD74F51B97A - F5AA45D1FEA2585F0C378AEEC23B97E6C00B673E3063D7FDBD03F8FEDA16BC7F - 7E153A1C7817B20AB2B83ED0780D7C519C9164D8BCB0E4BE24FBEBEB3BE1ABCC - 6D06B6C78E17C1EDA726F0C66F7DA100ED5072E9B0916F60F3312EA324DCFC51 - 72DC99853751374AB16B6D6D08D5BF0B848567A385C75F637C319BF2CB06FBE7 - E6E64231C6759B7363246D4EEC8C821B66EC6A1BEB80EF778D405F524CCDAFE4 - F826B96D638E9DCC4BB1E86F6267A0AF4DD9553778C353EB5CE18FACC3D8077D - 32E39BCE2B36F229C7C4FEBE9C7F0D75152EE75D45DB14335DCC4D435D818B39 - 97614DEA7AC6AEBCA63AAC4FFD9AF8B98C6FB276DB627F7C16F9BF1BC64DB126 - B02FE5A58BF81C3B15F5D985758C5D695555F8F2C2066A83FBF90093B5DBD69C - A7B9C534C7047F67E45F876BF999A56C2EB02B265486039907897F96F14DE772 - 9BE71D3D9B5B4CD9E46F6293A4D83556BB08F117CDF8A6EB888C42F39A548E31 - 7E5E8619FB9198C760C69119C2E3DCCFB698AE6172E61FFD7D36AF99C639C59A - D8DF02FB85AF5FC079381F4A520F18E71F93F55383C7415BE41B01702B4F0F99 - F937A1DD6F7DCC72CC94DDF8ABC690918BB19B7787DB171BF8A5D76E5BF9A456 - 73B10FB97AC82F2E64F31ACD2D52FE269BD3B8193BF11DFA9D2046BE4DFB0661 - ED7E915F3F9B739A85EB58747728A1EFF9A398C4B8A2B9651DE6D7BA94F570F0 - FA1F42AC41C98503DCB889AD0B30F2C5EC05B6B2913BAB29C0CCA6DCF723D1F7 - BAD1BA7A6423E8B352405F98CB89BE4FEEF05778B67D8FFBFE2481CDFF3E6CB5 - A8452DCE2BB76EDDEA8A4AE7D5A19CD93D514528E095F600D9E5C6B7C0A67F77 - 2D077677097631AA8FCAFEFBB3294745F91AEA40ACF5B4732C69B6B6A3345B82 - 6FB13D67B0F97643CB6AD7596C51FB6F5988A7BEE515E756C6E8B471DBD88772 - 61DBD007A7B3ADC443B9CC6B56F611A11AB5A8452D6A51CB032930B85505D81C - 308609AFCB95BDA94E2BD8167C0205BC926167701BA7733FD7D644CE6AE49588 - D846ED0CDE0C675F70738AAD77068F4646B609335BF21ED555C82712B6368E75 - 5790BB159B38E413B9ED5AEDA70C9F58B57519B16EC809077C025B83274AC4D6 - 5A381D58CBE631605DF68C693BD87699CF6E0BD6398D8F6DDBC977D4FEF6F2D3 - 25DA3805BF84BC6CF61CDE63EF99D74F7780AF7334FF4CDB93CB2F33AECBC813 - 25F836C495C53855926FE2EBE452B696880967F19D514FE5FF2DF90EC595449C - EA945A7FECCA535BD69FDE418FC28E0623B1FE5D93E77388930E6F54B4384FD9 - F8AC12FB0F59F3B4037B421BD7159BD72985F79FD2EBB482FB4F47E77FA79C03 - CC7DA298ADFF09E7AF7F53F93F67FCB770 + A09E553DE875AA975A36D55D504ED325C4FE5F7BE701DF44F9C6F13800F90B22 + 82ACEED2169AB20BB2111501915D0199022A02CA90DD52DAB0F79059BA414404 + C50138580ACA943D8402A58C162865964EDAF4F93FCF7B77C935B9A4B9E4521C + F7EAEF93E3F2DEFB7DDF67BC235D12FC4FE98D5B19B740BB426B78E6C5392FC2 + 6F577E63E3A27F97985602CACC2AC3DA253F93E89AEE95985E82D5213BEDBBB6 + 0F2ACCAD6068C777A92F24A7270B661929C1A7792282DE4C494F61F58567A96D + 7A2D3DB3341B63BDC87AD03CAE397458DB143AAC69CAC65E77755DF61ED5113F + 23B0A94DBE4458F9DD2616FB40725DECCA62ACF777BD61E4F69130605D2326BA + EEFD6D6FF61ED5113F23834DEA823A2954A6E7C4F1E0BFD21FDAAD6F0783B60E + 82E03DC1D0F7F34026BAA6F8A7F7FC57F817F2B7880D7CDB96FE96CD703E2E0B + 158A8767A63E03CF4C7B86D9F8ED0D6FC3B09F87B19C7B3BA616BC1D5B9B5D0F + FD79287BAFCEEA3AACEEB3D39E85D4CC54A9EFB92EE05966ECB4CC3416E7523F + 0B53727A496810D500BA6CECC2F26DDEE179D06C952F348FF065D7748FF280EA + 505DA9365AC6B6046298F4A1BBC0AEBBAA2E58FA599CE7663C07815181D06D53 + 3718BD73342C3AB2080296BA43C03277764DF7BA7FDD9DD52935A394C576EAAC + AA23EE03B14F524ED27DA14EE91918E79F7933B92E722DC42786C0AFBAE065A6 + C547171BF9D181AC2E8B577C566887DA14F7819F07281E72BE38F585E13DDA4F + 50EE0A25F15E22BB5F6A7A2966DBAE1BBBC2C81D2361FEE1F950797E45A834BF + 02BBA67B64FFFA91F50DF64FBA9F646887DAA4B6050E31F9F9F9E4F587D7C113 + D7379AE3F75FDF2F8E13883F11CFEA533C51FC75FCAA230CFB65189BFFBD1655 + 01AFC555D835C564A7AF3AB13A54979EA167C56D51DBC420163145F9A0978851 + F63CCDB9D4D653539F82805501D07E7D7B18BC6D3084EC0901ED67AEE0FF990B + BBA67B947F5487E6607A869E35ED83A8E845B9D80EB51B755D58EFC46C4134BF + D11CD3E7BB3E306AE72868B8C21302977B30DFD3BDD73E7F8DD5113F63D2875C + 9EB19B678A7390FE16C21D611DA69C17CF23F45A017DDD34B629CB81F7B7BD0F + 2D237CA0C5AAEAEC9A7CDF34AEA961BD11AF21267D2086D4EF83FF518ADDE18B + 0E70F4E651C31C40737FDBF56DA1D7E65ED036AA26B48DAC01BDBEEDC5EED17B + 42EC9DBC7512BA6EE86AA90F3F4AF0334FA79E2EC4EEFC656761BF06CD639AB3 + 7B1E9F7940B3B866D0614307E81A5B0BBAC40640872F3BB03588DE13E619666C + 7C96DA10F7E154EA29616F6A75FFF35AFC6B063695AD17B61A6C40736CCBF896 + D02BBE0EBCBBA62EBBAE1351C730F66D17B6199EA336A82DB9FB2FD1FE8F7264 + 2B5DF4DCD4935B5B679781BA9175A1677C6DA6BA11750DEB6DEFAF7B8B7F2CE1 + A48CFD9FDE029F7ED2A11AEAEEFDECFBD028B21167876925A1F65257A88D3928 + EC3B1A473506DA43F1FB4E57FE5929BE5E827FFEF8CDE3869C8B3B1E27F0D7F1 + EFD3EF25CDA079F3C31F3E2C1427B4DE0DD93204D273D385BD756BFE197A96B5 + 25F89F18FC19C4943F90DE3870FD006C49D822CED740519DE6FCDE8DEDA5BE3B + FF1D93685F95886A2AAA1F28CC27D426B5CD978116F6000350E750F9345DD2B6 + D3C25974347FC6BCC56B3BBFA72B2951BF15DF563EDFF600F5FCAF9EFFD5F3BF + 7AFE2FAEF3FF85BB170CE78AE23EFF673CCE30BC521F8AF3FC4F4CBDBE00264F + 3E03C9C9B9F028F791D01FA79EFFAB2DAAC6D6C2021CE5471F1D038DE637F0F4 + BC004949F982591639EBFC4F3142FB7C1AF7A04147F8DF1B48DF239B0A3E3E05 + 680736373D3459271539FFD33EF0C88D236C807FFCF1070C1B768CFF9EC3DB28 + 3DEA0EDAE112DA21DB521FEC3EFF7FFCF3C7F057DA5F68F302D8B76F1FFBBD7B + C78E1D83611FDF32B0351AFA1EF4BD2C1EF8F2B312E7FFB907E742E2FD4466F3 + 5D7BF633F6D1A347D9EF1DA43276EC03E49E636CF2899E3B6DD19EE00547CFFF + 6D63EB43CAA314366EDDE787E195EDE760CBE96370F3269B36591FA82F43861C + E3D986218E71F4FCDF38420B27303F0576A5EF4EC15379F95002CFBD471FDD62 + 7D2036D963CF9EBD8C7DE2D609B89375C7E1F3FFF2E3CB59AC518E11FBE56F4F + 225B6F7026F5E187531C7BEFDEBDAC8F9417B45F70F4FC3FE1D7096C4DD3639B + 21B107CCD8821AEE4A80DDBF1F646C9A0F5C16B9387CFEEFB9B9274E9497CD6C + 6ECAAEB8ED0C84C41D10FBDBE1F37FE398C6702EED1CB379F8DA43DCB81F4BB0 + B79E81C97107997D6E67DC56E4FCCFF6797CAC85AFA5719F84A7256CCE8DFB20 + EB238D97E66F25CEFF2BFF5CC9C643E37AF9BB93D236DFCADB1CEBD13947F8BC + C7D1F3FFC9D49390F938130E253C80315B122563ADE2B6B38C2DC4F999D4338A + 9EFFA94C5B9F08EF2D3C0D2DBEDF6ED1DFC46EFF797BC5CFFF976F6631B620A1 + 0F82BF894DE73BB2B9C2E7FF6BEC83EB2D8985F8A4A1987B23237E66397628F9 + 10633BE1FC9F4E7378F7A01E306CD101037BFA9789F0E78587F017FA7977D26E + C676D2F93F6BF3E6CD59818181AC0F115B2FC3A51B59EC0D8AC915875740F9B9 + E59D79FEDF9E9D9D0DDF7FFFBD614D639B079CBF7FBCF863719CFFE90CB59E3F + 87FCC13F3B56A9F3BF503C3C266ADCDD43F135B814CAC3C363523777B731C3DD + 5D478E76AB3A64B16B95F7225DAB0C0A7173F9F82DD7AA1F56F0F408D1542AFF + A6C3DF1B872CD2D31C337800EA33D416D41DEC839EC97D02B8BB8D0577D75105 + D8A747EE6EE3B6BBB97CD2C8DB6FB1A66AC520C7F8EE13885F13D51735161587 + 3A88CA448187FB44D4787047513FB03F40F7F1DF7FB9B90C6FE9E9A5D3547BB9 + 97FDDF1F57A6C3D3389EFAD8E642D425543EE3F2222E8E19F5298E7F34BBF670 + 9FC484CF9D76AB32BC8146339B6FADAC6CBEBBDBF8F938C62B62261B23719187 + 63646C66078F891CBFFA44F00C98069E75A78367FDC9E77DDF5CF8A57FFF6F57 + D6ECB7799C5F97B55E757527349A0F8F6A5A361BFB4CC3F6734BD47F6BFE530D + DF9AAFD176982B61FF89069B8AC7ECE63A02D923782E7F1F63C0B37638F8758B + 05FFCECB40FB860E025A8540DDF673A0F6FBDF42C0C7DBC1FFFD2D47B5FDBF0E + 0F18F4CDBC5ABDD77E19D871F10F0D3B2C58D3B0ED9CF98D5B4C99D0ACFEA71D + 9BD51959A259BDD1DCF8C9AF623EF2989D5D4799F5CBC37B32F87689875AEFC6 + 4383F6F3A06EBF95E0376029F8BC160AB53A2E84800FBE677DD07EF413F80FFD + 096AF6FD12EA7758040DDF98018D1B8E83C6754740D3BAA3CE21BB4AB3BAA385 + F82FCC265F239F6C5DF8BD49E015301D6AF6DB08CD7AC7C05BEFAE803770BD6D + 7AE22E34FBF9227498B80EDA0EFE1C6A7DB2031A8CDE09AF4FD8096F8DDC0C5D + 86AE83CEFD9741C76E33A1559B4FE1D556E3525EA93FD4B751FD8F447CDEDF94 + 63065F079BF1BD5F5908DA613F4197C9BFC2ECA813B07E5B122CFC210906AF3C + 01DDA7ED8396E37743ED113BA0DFEC7D3035F6384C8F3B01D3E3394D8B3B0EBA + 9823307ED1CE8C0EBDA7B6EE3A689E907F14C73C7B2C3FEE49E6B6477EF5164B + 2100C747AA337227341DB30B1A7DBA1BB4E4F7E1DBA1E6F05FE0D509BB60E2AA + 3F213CE618E3CE5873D2A8B5A7A80F05FDC744F71D3DF74743FCB90BF9CD73DD + A47C8F7C9F56CB0D7C1271B5C814ABFF9C7D86711762F3C2FB796317EE08D2C5 + 1C35B13FAA7A287837990BEEDE9F4ADADFA7E5B2427C5391EF072F3800BAE8A3 + 108E12FA3013C74DD753638E6685451E3A3472F6562FC3F859DBC1E0E91B06BE + 6F45617C478187D704497EF5E69F59E56B87FD0C7D67EE8569B146DB4F8B3B06 + E317EFBAF2C9F4EF160C9AB8B6FDE090AF7C074FFEAEEC9BED2669DEE8305143 + ED3276C718D0F6FF0A7C9ACCE26C61CA47F9B68B8680113B2DF701FDF1DEFC83 + 2CD658FC611FBABF3F1FEA35EBB769EC821D637431C7E3A6C59FDAAD8B3EB67D + 78E8A67AA12B0F683C7DA6B0716BFB6F80DAED16805775F3B1537C7AD59B0DDA + 0FB7591F3FF27BCFD8CBECAFC3F81B35672BB4EF3505C6CCFF39176DA117C7C1 + F8053B3637A8DBB39C77C3B95013C75DAFCB72F0AB3DC92CF7584EA03F7C3B45 + 83FFE06F717EFB1EB4437F64B666A26B9C6BD8F5902D3064C13E088BFC93D920 + 74D57E9673333F3F6D960761AB0F66F41DBABC07C59CCF6BCBC0B719DADD633C + 149A8FD99C300E3C1BCC049FF64BA046DB05E0DB230EFCFA7D0935066CE4847D + 27F9F5FE0202066C80A1F3F64268C46143DC49E500293CEA08F41A1EBB88CB3F + CC7F0F710E8AECEF15029E8133C0A7DE38F06F150ED5DF5A04D53BAD80EA5D56 + 72EA4C5A01DE9D9643AD1E91D027F87BF878CE4E085E497170C2223F2CF230BC + DD7BFE269AE7B9397714BFBE9BC49D6708E6E328F0AB370AF36F0A78BF3E03BC + DF9805DE6D66B36BAF5775E0D5620A78360F857A6FCF854E1FC543D0A82F61D0 + 94AD3076C91F7C1E1AB9641352C8B23F323B749EF231B7A68F6336908A790F0F + EC93F707E0F7CA78F06E3D0DD93319D3B321CE97FE43C0BDFA0070F3EC0BAE1E + BDD1567DA146AD0FB29AB50BDEDDE1BD9549BD47AD2BF878F60E98B08CE6E363 + A08BFAF371C8B2BDC9A3676EFD69E0A898F71AD4EEFB3CB7DE7D6A6E7721FE3C + 4683A7DF60CCFDC9385E5CEF1BE37C8DFF76439E9BFBBBE0EAD6135C5D7B828B + CB3BF8FA0EAED95D36572D5BAB5C8326C36A3469F5C9ACAEEF2DDCFCC1C4F54B + 464CFD76D4C051D15DDEEE3EC5B7BA5BABD2FBF600BFFF186365EC687B8F918C + E7D56C3278D4F918DC708C1CBB17B854EBCEF1591F7AA01DBB3FF6A8DAA6A747 + B5F6ACED563DC73EF57A9709CF366A39E0A93A0DBB4BEF7F58CC055B11C6A5EF + 50ECC320E4BECBD8AE6EBDA06AE5CE8CC9FE4DAF680B77D7CE573DABBC561D25 + 67FF0B450B6DEE8171EA81E3771F08D52A77C7B1F7E2FB826377E7AEDDDC820E + 785679FD0594C27CDE17682B3C03804BE5F7B02F639139D0600312DA7F8757C5 + 46CF79566EA928DF1DF312F7FBE08A5C974ABDD935171B63904B7EE9C37CE3EE + DAE977EF8A0D9EF7B2FC230AB6F1D99E640CDB7FBA54791F997D995C2B73AF94 + AFC6FA983F1EB837F718021E2E5DCE79BDDCA88A57E5E6F6F1F95C6463AD3A04 + AA56C4187FF95DC675ADDC8FE3571E6831573D5CFADFF6AADCAAB667E53764F2 + E92CC1EFFF90EF5A6D388EB33FEA5D9ECBC9A5521FECD707967DE5363CCFA35A + 9FDE1EAE43345E2FD7B39D4F6719FE9C436377A9DC9F6389D8A46A2FF7647D23 + DF9BF369EDC439DCED931F70FC653CAB76B699EF2EF8DB7524B20788EC2D565F + F4C73BDCFE5872FCC41F4B6B668E87EBE041EED5976BD017459FBFDC271C47EE + 718CA9E3D52AF53B8EE33E8E3C33A12F507D8F638C1C479E054DA2D7531E6E1F + 477B566AF9BC6715C7CFE7FFB5727ADD7870547F7D3565FBD98DBA92F6F2D947 + D50505F8BF1E0AF4A47C541E14E4E7813EFF31E8F348B9A81CC87F4CCA86FC5C + 5216E465A7C3E55DABB3FEDA10FAEBC5A5234AD9C537B0F33931AEC0CE956067 + F1CA84BC9C4C789CF5102EEF8CC03E4C96DD07E29BB31F17660B5C313B87D819 + 9CB21FC1E3CC0776F581F14DED9D6FB4B7393BD38C4D3E789C950EB919F764F7 + 81E34BFB5A6FE26BC1DE1CB7309B7CF038F321E43EBA0B9777ACCA3ABB217487 + AD7C295FD3DF12B34546F6035EF72127FD0ECB0BDBF9E6BEB69D5F984D3E20C9 + E2CB88B342F636B0896B64930FE4F1EDF0B51576EE2379F6B794D7C6313F2AD2 + 0F1C9763CBF5BF757B73E3B6859FC3D8694CB2F8D6D866F67E2061EFBB6CCC02 + 3BE7E16D997C91BD73E4FBDA949DF3305516DFD4D785E7146ECC45D99FE372EC + EC0772F9A6EC8766796D0B3F9BB16F31C9E23BE86B5376F6FD9B32F98EF99AEC + 2D6667DFBF218B2F3587DB3AFF0ACA7E7093B1B3909D754F2EDF740EB7836F60 + A730C9E25BF3F5A3A27D6DCACEBA9B2C93EF98AFC9DE6276D6DDEBB2F846F65D + 09F66D0976615F73EC64C6CE4476E61DB9FC7B66EB87B9BD5325EC7D43346623 + 3BF3CE35797C077D6D645FE394765526DF315F9BB233D2AEC8E25B67DF94609B + DB3BF3CE55033BE3B63CBEB3A49E6ED5A296BF67A933E7FCA3DAB3CF8335D59D + 93905D7BCE8556CEE053FBEB6F8355CD3B9D050DE62764D49A7DAEF593E09366 + 1CCF807A7313F28AB29505FB3D90C3FF22B5003EBF55006B6EEA21FE861EE252 + F22126390FA25191D71F43C4B5C7B0EA6A2EACBC9203CB937260D9E56CF82C31 + 1B965CCA8245173361E1854C4073C1DCF31980EE657DB0C627D65A0BACD536B2 + E6F1ACD9E7D261E65FE930E3EC439876E6214C3DFDA048BE92ACF0530F20ECE4 + 7D083D710F261FBF07C1C7EE16C927D6E28B5910B8F002D8E35F39AA33FB7C9E + 299FC635F1C03D787DF565F83C159CA67967B2A1D1A20B89A67CB2E1C0AD37A1 + CF37379DCA1FF3DB7DB2F117A67CF257A7755761EC9EFB4EE5F7DA7823B3D6EC + F3434DF9138EDC81962B2EC1BCB3D976B5BBF616C01ACCA1F89B9CE2308F6279 + C5A4E8211A732A2A391F5A2CBBF4306076422353FE88FDA9506FDE057CAEC0AE + 764991D7F361F5F53C9C1B38ADBAFA1856A2565CE1B4E4520ED49D9BF0D85397 + F49C29BFEF8FD7E1D5558976B5BB3C291796F15A7A39073E432D49E4B4F85236 + 2C422DBC980DC1871E42E0820B97A4F2EFED0D49F0CE57C976B54B5A70210BE6 + A3E625903271DECBC4F981D3EC7319300B35685B2AD49F7FFE0B297EEBE84BF0 + D1F634BBDA9DF917E911CE418F603A6ADA19523ACE45E9A043859F223D840E6B + AF9AC59EC06FB2F4028C3F70DFAE76C350534E921EE09CF70026A3428E93EEE3 + DC771F26A1261EBD0F8D975C348B3D815F775E02849D786857BB138FDEC3FCB9 + 07E351E3FEBCCB341635E630E90E7C7AE80E8C387007EA48C49EC06FB6FCA25D + ED8E468D3A98C634F2401A72D2E093FDB7993EDE771B86A386FD910AFD7EBA81 + BE4FB86469FE6FB7E68A5DED9286A23EFAFD16D390BDB7E043D4077B6E32BDFF + DB4D18FCDB0DE8B8E10AE6B779EC51C13D0574FFFABA5DED0EFA95D3C0DD37E0 + BDDD29306017A7FEA87E3B9399FAEE488696AB2F8154EC313EFAFEDD6DC976B5 + DB67C775E8BDBD68052E4A00A9D8E3F79FCE5F73E79E2F908A3DB5A8452DFFAC + 92D636AD445AC3F8B14C785DACECFA6B5AA535893985025E09694DA2DA3A9D1B + B8A92A72D622AF40C416296A4BDAAB73DD9C62EB26516390916EC24C97BE8775 + 15F28984AD8D636DBCDADD8A4D1CF289DC76ADF653864FACDABA885837E48403 + 3E496BB266B2446CAD4F6B34B39ACD63C0BAEC19B376D64C2E9A1FA3731E3F46 + 6727DF51FBDBCB4F9168E34C5A8B28B3CFBFE81E7BCFBC7E8A037C9DA3F967DA + 9E5C7ED1716D3D4F94E0DB105716E35449BE89AF130AD95A22269CC577463D95 + FFB7E43B14571271AA536AFDB12F4F6D587F1AA73D9BD62C6614D67F68F27C06 + 7152BABE5BD2E23C65E3B34AEC3F64CDD30EEC096D5C576C5EA714DE7F4AAFD3 + 0AEE3F1D9DFF9D720E30F78962B6FE279CBFD4A296F29A23257C3587C792E8BA + 38D93535875BF9690E9F4201AF849A9A834E3FFFFB6A8E54F5D31C5A8BBC0211 + DBA01A9AC35B7C3487DD9C616BE48E4146BA09335DFADEA1314AF944C2D686B1 + 7A6B8EB85BB189433E91DBAEB57ECAF189355B1715EB424E38E2931A9A4393CD + 63EBD0FAEA9A6336AF6B54979E31B7C5A122F75FF89CCE597C6ADB3EBEC3F6B7 + 979F22D1CE193FCD9FADCD9FFBB335F79E59FD14FBF987748EE69F697B72F945 + C7B5F53C51825F745C598E5325F926BE4E10DB5A2A269CC577463D95FF77E43B + 1657E6715A34DFD6F5C79E3CB565FDF1D4FCFA2CCE1FA3B0FE4393E73388535F + 73B6A425BEADCF2AB1FF90334F3BB227B46D5DB17D9D5278FF29B94E2BB9FF74 + 74FE774691F08962B6FE279CBFD4F2DF2D8B7A684A47063DD7263AA8E49CC8A0 + 9267A3824A264605955A1DFD4EC91E319DEDF8057C3694D8A0E7BCA3824A0C41 + D646543A0A2C281BEBED887CA7E4C4A81E2502151C23D8299B6D23638CF6CAAA + 6D8A819F25F0637B94D4DA6A7F7CEE4871D85F21DFD83C4639C53DF6776FAFA8 + 3D433CA3F66EF459BD23FD8DD90BE0A3313D605E7F4F26BAA67B3EABB7677B44 + EDDDE119B967A27BD4EF76C7BFEBA2FDA5BD237F6DE319BD670EB675D6336A0F + D8A944D46AAFE8DF7AD488F9A3ACAD63C467D21D605A9255DB14033FCBC08FDD + ABB5D5FED8A723C5617F857C63F318E594727EB1DE65FDE287BCE0B766E30BDA + CFD35F6AB711AA0CDB026EF37631D135DD7B41BB361BEBEC285B63CDC47235E3 + ED8E7F8DEBC6D2CFFBAD6953D66FCD1CE49EC557B04F6B1351ABCBD458DBA362 + 8D98B2B68E119F4DB79F6951566D530CFC2C815FC6679DD676FBAF39521CF657 + C837B68F5146090A0AF2EEDAB5EB10D4C64E9D83D25BB6F908FC9B8441A55A2B + 98E89AEE75EC14948D757674E9D26522BEDA1DFF212121A5274C98D066E2C489 + 73F0F52C0AEC54226A35B6D363FCF8F156ED1F1C1CEC8D7587A036A2D21D605A + 52366A076A222AF009F0B3447CAD0CFB1F290EFB2BE41B9BC7E8606CBE855A8A + BAC88BAEDFA2F7D4139A5AD4A216B5FCB70AA46B9E83FD9A5E7044D311349AA7 + 8A8D7B42D314B91170487317F533EA28D37E4D6767F5037ED65443C628D449D4 + 791CB30E7ED5781ADE3FA469833A8C3A85EFF550A21FF0A5A6146BEB90660BEA + 0E6A2DE358695B897E48D8B737F9DAE6E791C97C7184D9EA32ECD5BC6903D305 + 9F0966B625D135DEB3CB6E67351FF2ED14603B05D88F0516EB1ED1BCC1C7CF5D + 36661CBB5DCCFD9A06D8D6566CE7314ACFD88734C084B16265DC0BF97A3968A7 + 1968BBA765F8A91C3EB784F713F1F20D4CB1ACF1298E8D75A9DFB9786F91B57E + A07DFB61BDD35699F6F12DF603F3AF3EDEFB96DD37B5AFF27CE1393D8A78E97C + 2CE5D9CC5482EF88F6633C514C1DD1ECC738A9574C7CF2CB2364A760BBD3C5F3 + A395F98AFC9AC0DBD85E2E3D9B89CC8D45CD8F45CC9B7FB1FEDB6EDF6CD409D4 + 10B8AB795E9175C67A3F64DBD7AE3E08F337E797029E9B898AB7777E74A01F23 + 5013E4AC3F6A518B5AD4A216B5C8299D3A7572575272F95DBB760525F54FE10B + F5AF5DBBA6A86CED87502F33335351C9E53F7AF44851C9E5A7A7A72B2AB9FC07 + 0F1E282AB9FC7BF7EE292AB9FC3B77EE282AB9FCB4B4344525979F9A9AAAA8E4 + F2E96F2D2B29B97CFA9BD74A4A2E3F39395951C9E53FE9F9FFCA952B8A4A2E3F + 29294951C9E51F39724451D9BB0FF8AFED7FFE2EFB4FB5A8452D6A51CB9329FF + F5F37F4E4E8EA292BBFF51F97F2F7E74904696FE6D7C35FED4F857E35F8DBF7F + 3B5F3DFFAB452D6A518B951291E7AD89D36F42A5A06EB0EBF8FCEAC5C28ECEAB + 8DBC4728305186262ABF8ED3F9B1F907186F8DFE4BCD26A8A68983AA9A58FD7A + BE0F879CCA5E92510E19059A35F040F33B18BF072D1A4AE1FD7BECBDCFF3CA3B + 8D1F071EFC3893CCDFD35F62EF39330E42E02964A471F687CEC6F1E77764638F + D3DF65759CEA7FFD709E9F8FB1B00D5FB7B26BEEDE274E8F3F6683FC10E4E58A + 623F17FB15EAF4B18BCBF2C79570FC05FCB8AB3C9179284EAF677C80A755BED3 + E7BD3D1273AE25EDFBD7F1FFEDFE8FCDFF86CDA1B1FAC59A6E7F3EA3389FDA8C + D52F42D19CF18D795BF99744FE3B88738A56313EB5456D0AEDC7E6274AB495C0 + CF657ABE5E365E4FD2F44D7ED66E3E3D4B6D505B85DB4E9068EBA6A87F7BF8F5 + 0CD87E63E6DDD2B2F9F48CB057A1B6E2E137917D6F4AF433DFC08CD35FD3C4E4 + 75C5D72B6C6D89C87591CDA767B835EA0ADFD655435F8825B62BDB47B1F76E89 + FAFC8D6646C6FF346BF3DDECB63F3D4B6DAC81CD86B822065D13D3181FF5F8F7 + 8FE1B53BBEDEE1F632B0CA6A6C15C5A7F5780D2CE1DBBEA7897CECC5185C2C18 + 7F0E86EBE306D440AE3FFA76789DC5EA45E77F65714F678D4FCFD0B31C2B4BB3 + 0EDAF0631DC858C4B4BACFCE6F8DCFA6F37D4FC1BC1DA0D99051A2483ED5A1BA + DCD900581BD4963D85F69271FABDA2B8BDCEE610DAEF7167103D3F3E1F8C9BB7 + D97B14BBC6FA7BD97B8E141A5B6C7E7F6CE7948CF5E7247B46C97581C592BE39 + CE933A6CFF575422DA211FEFE9D935BB87EF519DE2DC07FEC30B00982B5C0B4E + 9114EBEFC8FFAF4BF5BFEA7FD5FFAAFF55FFABFE57FDAFFA5FF5BFEA7FD5FFAA + FF55FFAB52A5EA3F208D063AA2527805D9F17C37D1F31DED783E993E9DE39587 + EA25E3D95EFC33C2F3C90EF26DEE8304DB5E7E90443B56FB60814DFFEE66670C + BC23D15E3EAA9F44DD1E16EAF675300E8BEC83B3D8B6F4C1D96C1B7C9B674F9C + 2A6807A78EDB463B3875DC36C4B9C5BC2826B6D3FBF024E3CF5A8EC999A39466 + DB334F2ACD76561F9EF4FAF337587F9FF4FEE389EEBF54A9FA2FE8E98D679334 + 1BCF8012A2B664E7293ED77EEF1598732ECD21511BD4963DFCD9F8BCA385DA50 + F9CAF0BDB75D80E28A49297E71C6A4257E71F9E41FC197FF39AFB2FC5F97CBD3 + BFCDFEAAFF55FF3BCEEF893A8DCAE15F7B2AE2FF8D63000A0A8AE28F459956A2 + 7FF774D8FF19775995E06080E79E0318391240AFE71EDB9D9A01E34EDE62D774 + 8FDEA33A54972FA795B2FFF3CF1BCF7B83071BFB20B0E99EF03ED5E54B8E52FC + 11230A7F1623F4C1944DA2BAB2C66FCDFF9BC64A8E51E883D43DDE36CAF89F74 + 691FD720B63874A8C5CFA660D0A0427E19EB8CFC93B283444C8CB3B6FF76846F + C90626630F29EAFC216BFEFF65BEDDF6B7694EB4E6FBB3BF38147F4AEDC9EDCD + 3FA5F8F6CE3F8E9E096FE7E45B9C7FA32EDF2B72FE75F44CDCF3C035905A7D88 + 2B3A7F585C7F143AC79BAEADBD6CA8C3ADBF6A51CB3FB45499D100AA4C6FF044 + 82B8F2CC065019F995A793EA176B1FAACC0A0423BF3E549A46AA572C7DA83CAB + 0163579A89CC19A8E91CFBE5A99C9CCE2EC447E674D4B4BA50712A4A57072A86 + D7714A1FAACC0E04812F8C9DD81519BB0E542021BF42786DA810565BD13E54E6 + D9950436EA651C7BC5E975199FD82FE96AC34BC87E29AC16A729B540B15813C6 + 3D0BB9C8AEC8B32B4CAB6360970FAF05E5C302E045D214542827A5D8A4978571 + CF40F6F43A8C5F7E2AB275B518B75C9816CA4D4185F29AAC85175176B167F239 + 26B6F94C815D175E12B3C305B63FBC108A9A4CAAC9BFFA633FFC412EBBCA4C2E + CE0DB1CE8FBD026FF7974CD82F20BB6C684D288BDC32936B40D91041D80F54B9 + 107F87E381F91CEDFED234644F356713B70C329D95FF1545637F51876CDCFBBF + 1086EC29C80EAD01CF23FFF9103FA7F1857817DBBD2C8E5D60FF0FD9FF0BF675 + 1E7FAAD1EFE5902FB63B8DFB7F21BE503AD8C7B97CCC7553BF0B632F8D632F3D + C9897C9C5F698E63B98E794EB966187B3037F6E79CCEAF65998F6C678E9FD636 + 9ADBCB3F513EC61F9BDFB56C6EA3F9A50CCFFFDF245FA7F32B88F8E50C7CB441 + B09FF3F9611C9FD6565ADB884F736B599EFFFC24CE064EE54FE1F8E5697DC5B5 + ED8510DE06C1C63EA82703B5A8452D4A979A35E380E4EF1F0B356A906250D1A8 + 285424939FDF6A701E3F9EF16BD48833F0FDFC38BE9F5F24AFE2E3FBF9717C3F + 3F8EEFEBBB9AC999FC1A35E219DFCF8FE3FBFA727C1F1F8E5FBDBAF3F81CDBC8 + F7F5E5F83E3E51C88D646C6FEF0827F3891D875C8EEFE3138DDC28E4AE66F2F2 + 722E9FD8DCD86345EC48E4726C4FCF554EE373EC389E1D83EC6864471BF89E9E + 11E0E1E15C3EC7E6F8526C77F795C5C0378EDDCB2B12D9AB911DC1D8CEE40B31 + 27CD5E056E6E2B512B9CC817E29DD851C88E2AC476755D815AEE30DFDF3F869F + DB630CF39C90EB526377735B855C8EEFE2B21CB50CAA555BC65E49AEAECBB0CE + 3290976B31FCFC1E6398E7C4F9666A77814D5C4E4B995C5C38D997EFD16C7E37 + CE715192F16ECAAE5A752993D007C7E69C28C3FC4E73AC30C7D13C436CD3B10B + 6C4E9F81327917C9F3B9F95D3C768A77C1E755AB2E337095621B639FD6B608C3 + D83D3C28D757207FB9C4D83F734A0E72FC55C85F69E053BE71F16EB4BB33F760 + D5AB0BFC15C85F6EE0538C3B1A6BB616319FF29AF2DBDE1CB3B798F29FC47ED8 + D37339DA61997ADE56CB3FB658FAFE0B6748CEF7843F49FE7FFE67DF55FFFF7D + A5D3EA24E564FF17F9BB596CF0DD3F85FFA4EDAFE6BF9AFFAAFF55FFABFE57FD + AFFA5FF5BFEA7FD5FFAAFF55FFABFE57FDAFFEFE57F5F7BFAAF9AFE6BFEA7FD5 + FFAAFF55FFABFE57FDAFFA5FF5BF2A677CAD35A0059E1BEE5B3D53E8B43930D9 + DFC329FC30ED589BCE35BA80454EE17FEA5A1AC2023E059DFF9C420AF79F8BAF + 0F447DB80ABAD6CF169B5FC20282CC6D50AB7B31C6C56F3CF72E2F60F78A85ED + 5F0BE3A28063922F02E61A6C3025A06E318C3D9A1F6F3E84D6F0C25777FC771E + D7878028A7B227D52E8F9C4C8EE5FF8DA84F9BF93E654170CD0A4E1CFB2451BC + B516C5E36B86FB6101139DC2EEA17906DB4FE2E71C5CD0344F15FECCC4FFA453 + 73519C7361011F4AD86688537351C8399DF61E8CABF3BCE45CA5D3DEE163E357 + A7E51CE59BE53ECE13D9A08E729FC7615E8973CE523D5A87A80E3737443A35E7 + 2CDB40D95CA47C92CA39CBF58DB9A8F39FE070CEE9022E5BCC398BFE5228178B + CA39CB3E502617C3B47F38FC996B98FFEF8EE79C83B22717859C0BD7EAD19FAB + CCF640456B25F7AC1DB94839A7D366F079B4D981CFF1BFB52B17C53947F964FF + 9CFDBAEC5CB437E76CC9456ABBC83E63BED89373B6E46298BFF9DF81D0D5F6C6 + FBE399CD39BB27F2F6CA82D0802986FB54C7967306D511B7A70B0835CCDF3AED + A542ED115BA7DD292397B6D91073DB6CCF4B64876983F1F5B10D751FB3F3902D + 6726DBDB0B56CFB9AA54A95265750D2B83EB512B9C33C7A136A20EA2AEE13C9A + CDD6169DF616BEEEC23AD34057D34F316E682D7F5CBFB7D8349F1B857BAE8015 + A0F37CCEF1B387FF640B8CEB9C0D02B63285FBEFC3D7E4C275FC7F019DE669C7 + C68F673D5A4F75FEEB911782EB763BABFBB830FF370BF54389FD8B5C4DA91968 + DCB72B7C0EB7FD67344E18FCF464BE7F6607CFBFAFFCD8FC2A623C3461B110A6 + ED81FBD5B63025A0394CF673617BE5113EA570FC1714E5534E876B17A22E16F9 + 59B84E9B2EBAE7189FC6429FB7089F69C897FD7CFA8C49A7DD6D32BE0C76A6D2 + F987B2DCD2050CC47B23D9BFC3B531FC3CF04011BE4EFB9DE8F3FD07DCBE16E7 + 619BE66AED1587F83AFFAEA23124B1734271C63F7DCE641CFBEB76D86EA763E3 + D71E33F0A53E6BB46E7F1F7C2ECDB1F18BCE50BA80CE36725FE23E77C01C34FA + EE919DEB5EB74231ACF37F178604963067D67B11F3A013D6F982DF0B48E5601C + 1FBB7DD8E71AB6FB20C2E46B5C0F5047F0FA7BB6AE846BCF193E5FB1F9BC19B0 + DD763EAEDDF4737D86AF6D14D9F629B4DBFB6C2E367C0E2D610BD9B1486774E6 + D7837CBB7AFE6B9267D95E8CCEF1536AD6369BAF691D162BB45675752FABCA91 + BF75E08CBF0348F59BEFBE0C134FDD5244D496DCEF35093F930A4A156AEBDFC0 + 57F26FF0598B0B4BFCE28A0B6BFCE2F08BCAFF07F2E96F7EEDFA0C6055778099 + 819C22F07AD752C3DF03731AFFCCCF00B31A014CAB0310DB1FE0BB50806F8301 + A2FB004CADC5BDC7FF4D22C5F9C40E0F00887C1720F91437D674AC730F8FD9A9 + 1701CEED443BBCC3D539BB5D593EB1686C913D01EEA70064A703E46470F7E9DF + B713016E9C054839CDD599F54A215F38CC27DF4EC36DD6E58338E6DBC87F88FC + 47E6FC5B0900578EA02FB0EEEEA5CAF15775E57C7CE70AC0831B008FD2907D07 + E0E12DB4FF35CEFE2967B8577A2F7E20FA224839FECC86009B2761FB9700EE5E + C5312773E32676DA65809BE700AE9FE2FA9789C79E1F6771FE528A4F6D7D3D01 + 6DFC1737C6B4448E7B1BFB73F33CC623FAFDD605B4C74D80DC4CE4CFE4624031 + FB637E47F5E1386467EA0729E52C376EF23BE541168E3D2F4779FB53FC514C25 + EEE7588C7F961B3BC51EF922F31EC74E4D503EFE84FC8BEA8DFEBFC6FB3FD918 + 8B940FC4A6BC8CC63AB31B73FD5172FEA1798DE616CA031A3FE55F6E06C715C6 + 1DF52EABF3C1DA35506DCB79F8FAFA43F6687CD27D78EE9BB3D71D9E7F695EA3 + B1917DE307717146227FD33D7C8FD8C29EE7D94D6761C3B507F4642EAA9462EB + 0FF996E65ACA4B125DD33DB4B9CB968442FB2EEA43D4E57B8972F67F8EACBF64 + 73629AECFDF49A8DA77B15D7FABF49A20F9A8D67F3355F9DEE67CA6FB327C9EC + EFCA29B1FFB0A50FD6CE5F4AEC7F6CB58333CF25147BD85E9EC9F8F0DFA7BB15 + D3B9288262CFBC0F6793ADF1A5E2C21E0D3F9A12C3B569DA07CB7C25CFE5CF6C + 3A7BD938AED3DDF05E0AD3A6D31DFF0B9F47C8F95C42A9BFFD6ECFDF82073BFF + F6A62DC596BF056D8DDF62F768A627C5D76C6CC3F4B7E1CBF83BE04EE1CBF83B + E8FF4AFBFF9DF84EF23FE55BE08E61909A73DFC0A76BBA5728179DE4FF463B3F + 66CC5ABF7C60E00BD7F49EB3ED4F6315B3C57DA0F78AC3FFA67D90643B39FF89 + 5766732726C9711743FE3FE9F5E749F2C3C3ED93527C4B7FCFBC28A9FE57886F + CB5AEFCCF5DFFEDF77A3FA5FE5CBE63FC9F3CF933EFFFD27B56E08C0E71FA23E + 0058FB3E6A30C09A41EC33CDDBB76F3B2458D915D505604567542780E59DE698 + F12DB021FE3DB87923C52119D8CB89DD1160D9DB004BDF2ADC070B6C881B00C9 + D7AED82458FD0EF7793F7D9D605537E37D53F6B20EC40758D2CED80762AF3167 + 435C7FB89A78D126B1AF3FF26CB2B9E1BE14FBB3F6A876C65C9462D3D71663FB + 4162C25F368971E96B54BCBF0DF72DB197B415F1A5D910D3172E9C3D65933836 + FA7A65676673C37D4BEC256F1AF916D810D307CE9D3C6A930AC77847E3FDA516 + D88BDB88F8D26CFA3ACAE9A3076D92980DCBDF36DE37652FE6D98BDE30F22DB0 + E96B29270EFE6E93C46CB2B7E1BE25F6A2D78D7C313BDAC886A85E70F48FDD36 + 49CCA6311BEE5B622F7C4DC49766D3D7910FFFF68B43E27C2DC15ED0DAC8B7C0 + 86D53D8CF34A8431B74D63AD508C2F9588B3C56F98B317BC6AE43B9DCD73C5EC + F9AD44FCE260F35C813DAFA5914FEC4811FBF8B700FA3CBBF75A0526FF41819E + FBDE8805C89DDF9263CF6B61E4479A8CDB0E7601FFAAC7ABD35997E1A7FB07E1 + C77BFBE164C605BCA7E7EA5C3BCED9795E7380B9CD45FC1E856D2EB31033B720 + 0F62EEFE046F5E180381A70743BD13FDA1F6D15EA03DD41D9A1EEE032BAFAD87 + DCFC1CD0E7A403AC1F8EFCA6463E71570719D74F51B971E38645D1FE225F9F0F + 77F21EC27B57E7C12BE73E3263D7DCDF117C7F6F07DEBFBE0E1D0FBD0F693969 + 5C1F68BC06BE28CE48326C9E5BF05892FDCDED5DF075EA7603DB63670B70FBA5 + 31BCF5473FC8413B145C3D6AE41BD87C8CCB28B1777F961C776AEE5DD49D42EC + 6ADB1A40E51F6AC1E2F311C2E36F30BE984DF96583FD333333211FE3BAED85B1 + 923627F6AD9C3B66EC8A9B6B80EF0F0D415F904FCDAFE6F826B96D638E9DCE4A + B4E86F62DF425F9BB2CB6FF286721B5CE1CFB4A3D8077D02E39BCE2B36F229C7 + C4FEBE967D137503AE65DD40DBE4335DC94C465D872B19D7605DD246C62EB3AE + 326C4CFA86F8998C6FB276DB627F7C16F9FB0DE3A65813D857B352447C8E9D84 + FAFCF206C62EBDA63C7C757913B5C1FD7C80C9DA6D6BCED3DC629A6382BF6F65 + DF869BD9A9856C2EB04BC6968143A987897F9EF14DE7729BE71D3D9B5B4CD9E4 + 6F6293A4D855D6BA08F117C1F8A6EB888C42F39A548E317ED62D33F63391A560 + D6B159C2E3DCCFB698AE6172E61FFD6336AF99C639C59AD8DF02FB956F5EC179 + 381B0A920E19E71F93F55383C7415BE41B0A702F4B0FA9D977A1FD1F7DCD72CC + 94DDE8EB46702B136337EB01B72F36F00BAFDDB6F249ADE6631F32F5909D9FCB + E6359A5BA4FC4D36A7713376DC7BF43B418C7C9BF60DC2DADD825F3F9B719A83 + EB58440F28A0EFF9A398C4B8A2B96503E6D786C48D70F8F69F42AC41C1E543DC + B889AD0B30F2C5EC45B6B2913BA709C0EC26DCF723D1F7BAD1BA7A6C33E8D312 + 419F9BC989BE4FEEE8D778B6FD80FBFE2481CDFF3E6CB5A8452DCE2BF7EEDDEB + 864AE1D5B198D9BD507928E095FC04D9C5C6B7C0A67F772B06760F09763EAAAF + CAFEFBB3294745F91AE440ACF5B2732CC9B6B6A3345B826FB13D67B0F976838A + 6AD7596C51FBEF5888A77EC515E756C6E8B471DBD8876261DBD007A7B3ADC443 + B1CC6B56F611411AB5A8452D6A51CB132969E3DB9648DBD2702C135E172BFBBB + FAADD27E69720A05BC12D2763469EB74EE97815591B316790522B6513B9A6C49 + 3BF5AA9B536CBDA3C91864A49B30D325EF515D857C22616BE358773676B76213 + 877C22B75DABFD94E113ABB62E22D60D39E1804FD2B635992C115BEBD38E37AA + 66F318B02E7BC6B41D6CBBC8677F69A2731A1FDBB693EFA8FDEDE5A748B47126 + 6D778BD666CFE13DF69E79FD1407F83A47F3CFB43DB9FC22E3BA883C51826F43 + 5C598C5325F926BE4E28646B89987016DF19F554FEDF92EF505C49C4A94EA9F5 + C7AE3CB565FD19DEF8D9B4EDCD4661FD8726CF6710E7F794AE252DCE53363EAB + C4FE43D63CEDC09ED0C675C5E6754AE1FDA7F43AADE0FED3D1F9DF29E700739F + 2866EB7FC2F9EBDF54FE0F2958D5AC } end object MainMenuSearch: TPopupMenu diff --git a/Source/script/imports/simba.import_datetime.pas b/Source/script/imports/simba.import_datetime.pas new file mode 100644 index 000000000..cc642d243 --- /dev/null +++ b/Source/script/imports/simba.import_datetime.pas @@ -0,0 +1,617 @@ +unit simba.import_datetime; + +{$i simba.inc} + +interface + +uses + Classes, SysUtils, + simba.base, simba.script_compiler; + +procedure ImportDateTime(Compiler: TSimbaScript_Compiler); + +implementation + +uses + DateUtils, + lptypes, + simba.datetime, simba.nativeinterface; + +(* +Date & Time +=========== +*) + +(* +TDateTime.Create +---------------- +> function TDateTime.Create(AYear, AMonth, ADay, AHour, AMinute, ASecond, AMillisecond: Integer): TDateTime; static; +*) +procedure _LapeDateTime_Create1(const Params: PParamArray; const Result: Pointer); LAPE_WRAPPER_CALLING_CONV +begin + PDateTime(Result)^ := TDateTime.Create(PInteger(Params^[0])^, PInteger(Params^[1])^, PInteger(Params^[2])^, PInteger(Params^[3])^, PInteger(Params^[4])^, PInteger(Params^[5])^, PInteger(Params^[6])^); +end; + +(* +TDateTime.Create +---------------- +> function TDateTime.Create(AYear, AMonth, ADay: Integer): TDateTime; static; + +Creates just the date part. +*) +procedure _LapeDateTime_Create2(const Params: PParamArray; const Result: Pointer); LAPE_WRAPPER_CALLING_CONV +begin + PDateTime(Result)^ := TDateTime.Create(PInteger(Params^[0])^, PInteger(Params^[1])^, PInteger(Params^[2])^); +end; + +(* +TDateTime.Create +---------------- +> function TDateTime.Create(AHour, AMin, ASecond, AMillisecond: Integer): TDateTime; static; + +Creates just the time part. +*) +procedure _LapeDateTime_Create3(const Params: PParamArray; const Result: Pointer); LAPE_WRAPPER_CALLING_CONV +begin + PDateTime(Result)^ := TDateTime.Create(PInteger(Params^[0])^, PInteger(Params^[1])^, PInteger(Params^[2])^, PInteger(Params^[3])^); +end; + +(* +TDateTime.CreateFromUnix +------------------------ +> function TDateTime.CreateFromUnix(UnixTime: Int64): TDateTime; static; +*) +procedure _LapeDateTime_CreateFromUnix(const Params: PParamArray; const Result: Pointer); LAPE_WRAPPER_CALLING_CONV +begin + PDateTime(Result)^ := TDateTime.CreateFromUnix(PInteger(Params^[0])^); +end; + +(* +TDateTime.CreateFromString +-------------------------- +> function TDateTime.CreateFromString(Value: String): TDateTime; static; +*) +procedure _LapeDateTime_CreateFromString1(const Params: PParamArray; const Result: Pointer); LAPE_WRAPPER_CALLING_CONV +begin + PDateTime(Result)^ := TDateTime.CreateFromString(PString(Params^[0])^); +end; + +(* +TDateTime.CreateFromString +-------------------------- +> function TDateTime.CreateFromString(Fmt, Value: String): TDateTime; static; +*) +procedure _LapeDateTime_CreateFromString2(const Params: PParamArray; const Result: Pointer); LAPE_WRAPPER_CALLING_CONV +begin + PDateTime(Result)^ := TDateTime.CreateFromString(PString(Params^[0])^, PString(Params^[1])^); +end; + +(* +TDateTime.Now +------------- +> function TDateTime.Now: TDateTime; static; +*) +procedure _LapeDateTime_Now(const Params: PParamArray; const Result: Pointer); LAPE_WRAPPER_CALLING_CONV +begin + PDateTime(Result)^ := TDateTime.Now(); +end; + +(* +TDateTime.NowUTC +---------------- +> function TDateTime.NowUTC: TDateTime; static; +*) +procedure _LapeDateTime_NowUTC(const Params: PParamArray; const Result: Pointer); LAPE_WRAPPER_CALLING_CONV +begin + PDateTime(Result)^ := TDateTime.NowUTC(); +end; + +(* +TDateTime.ToUnix +---------------- +> function TDateTime.ToUnix(IsUTC: Boolean = True): Int64; +*) +procedure _LapeDateTime_ToUnix(const Params: PParamArray; const Result: Pointer); LAPE_WRAPPER_CALLING_CONV +begin + PInt64(Result)^ := PDateTime(Params^[0])^.ToUnix(PBoolean(Params^[1])^); +end; + +(* +TDateTime.ToString +------------------ +> function TDateTime.ToString(Fmt: String): String; +*) +procedure _LapeDateTime_ToString1(const Params: PParamArray; const Result: Pointer); LAPE_WRAPPER_CALLING_CONV +begin + PString(Result)^ := PDateTime(Params^[0])^.ToString(PString(Params^[1])^); +end; + +(* +TDateTime.ToString +------------------ +> function TDateTime.ToString: String; +*) +procedure _LapeDateTime_ToString2(const Params: PParamArray; const Result: Pointer); LAPE_WRAPPER_CALLING_CONV +begin + PString(Result)^ := PDateTime(Params^[0])^.ToString(); +end; + +(* +TDateTime.AddYears +------------------ +> function TDateTime.AddYears(Amount: Integer = 1): TDateTime; +*) +procedure _LapeDateTime_AddYears(const Params: PParamArray; const Result: Pointer); LAPE_WRAPPER_CALLING_CONV +begin + PDateTime(Result)^ := PDateTime(Params^[0])^.AddYears(PInteger(Params^[1])^); +end; + +(* +TDateTime.AddMonths +------------------- +> function TDateTime.AddMonths(Amount: Integer = 1): TDateTime; +*) +procedure _LapeDateTime_AddMonths(const Params: PParamArray; const Result: Pointer); LAPE_WRAPPER_CALLING_CONV +begin + PDateTime(Result)^ := PDateTime(Params^[0])^.AddMonths(PInteger(Params^[1])^); +end; + +(* +TDateTime.AddDays +----------------- +> function TDateTime.AddDays(Amount: Integer = 1): TDateTime; +*) +procedure _LapeDateTime_AddDays(const Params: PParamArray; const Result: Pointer); LAPE_WRAPPER_CALLING_CONV +begin + PDateTime(Result)^ := PDateTime(Params^[0])^.AddDays(PInteger(Params^[1])^); +end; + +(* +TDateTime.AddHours +------------------ +> function TDateTime.AddHours(Amount: Int64 = 1): TDateTime; +*) +procedure _LapeDateTime_AddHours(const Params: PParamArray; const Result: Pointer); LAPE_WRAPPER_CALLING_CONV +begin + PDateTime(Result)^ := PDateTime(Params^[0])^.AddHours(PInteger(Params^[1])^); +end; + +(* +TDateTime.AddMinutes +-------------------- +> function TDateTime.AddMinutes(Amount: Int64 = 1): TDateTime; +*) +procedure _LapeDateTime_AddMinutes(const Params: PParamArray; const Result: Pointer); LAPE_WRAPPER_CALLING_CONV +begin + PDateTime(Result)^ := PDateTime(Params^[0])^.AddMinutes(PInteger(Params^[1])^); +end; + +(* +TDateTime.AddSeconds +-------------------- +> function TDateTime.AddSeconds(Amount: Int64 = 1): TDateTime; +*) +procedure _LapeDateTime_AddSeconds(const Params: PParamArray; const Result: Pointer); LAPE_WRAPPER_CALLING_CONV +begin + PDateTime(Result)^ := PDateTime(Params^[0])^.AddSeconds(PInteger(Params^[1])^); +end; + +(* +TDateTime.AddMilliseconds +------------------------- +> function TDateTime.AddMilliseconds(Amount: Int64 = 1): TDateTime; +*) +procedure _LapeDateTime_AddMilliseconds(const Params: PParamArray; const Result: Pointer); LAPE_WRAPPER_CALLING_CONV +begin + PDateTime(Result)^ := PDateTime(Params^[0])^.AddMilliseconds(PInteger(Params^[1])^); +end; + +(* +TDateTime.YearsBetween +---------------------- +> function TDateTime.YearsBetween(Other: TDateTime): Integer; +*) +procedure _LapeDateTime_YearsBetween(const Params: PParamArray; const Result: Pointer); LAPE_WRAPPER_CALLING_CONV +begin + PInteger(Result)^ := PDateTime(Params^[0])^.YearsBetween(PDateTime(Params^[1])^); +end; + +(* +TDateTime.MonthsBetween +----------------------- +> function TDateTime.MonthsBetween(Other: TDateTime): Integer; +*) +procedure _LapeDateTime_MonthsBetween(const Params: PParamArray; const Result: Pointer); LAPE_WRAPPER_CALLING_CONV +begin + PInteger(Result)^ := PDateTime(Params^[0])^.MonthsBetween(PDateTime(Params^[1])^); +end; + +(* +TDateTime.WeeksBetween +---------------------- +> function TDateTime.WeeksBetween(Other: TDateTime): Integer; +*) +procedure _LapeDateTime_WeeksBetween(const Params: PParamArray; const Result: Pointer); LAPE_WRAPPER_CALLING_CONV +begin + PInteger(Result)^ := PDateTime(Params^[0])^.WeeksBetween(PDateTime(Params^[1])^); +end; + +(* +TDateTime.DaysBetween +--------------------- +> function TDateTime.DaysBetween(Other: TDateTime): Integer; +*) +procedure _LapeDateTime_DaysBetween(const Params: PParamArray; const Result: Pointer); LAPE_WRAPPER_CALLING_CONV +begin + PInteger(Result)^ := PDateTime(Params^[0])^.DaysBetween(PDateTime(Params^[1])^); +end; + +(* +TDateTime.HoursBetween +---------------------- +> function TDateTime.HoursBetween(Other: TDateTime): Int64; +*) +procedure _LapeDateTime_HoursBetween(const Params: PParamArray; const Result: Pointer); LAPE_WRAPPER_CALLING_CONV +begin + PInt64(Result)^ := PDateTime(Params^[0])^.HoursBetween(PDateTime(Params^[1])^); +end; + +(* +TDateTime.MinutesBetween +------------------------ +> function TDateTime.MinutesBetween(Other: TDateTime): Int64; +*) +procedure _LapeDateTime_MinutesBetween(const Params: PParamArray; const Result: Pointer); LAPE_WRAPPER_CALLING_CONV +begin + PInt64(Result)^ := PDateTime(Params^[0])^.MinutesBetween(PDateTime(Params^[1])^); +end; + +(* +TDateTime.SecondsBetween +------------------------ +> function TDateTime.SecondsBetween(Other: TDateTime): Int64; +*) +procedure _LapeDateTime_SecondsBetween(const Params: PParamArray; const Result: Pointer); LAPE_WRAPPER_CALLING_CONV +begin + PInt64(Result)^ := PDateTime(Params^[0])^.SecondsBetween(PDateTime(Params^[1])^); +end; + +(* +TDateTime.MilliSecondsBetween +----------------------------- +> function TDateTime.MilliSecondsBetween(Other: TDateTime): Int64; +*) +procedure _LapeDateTime_MilliSecondsBetween(const Params: PParamArray; const Result: Pointer); LAPE_WRAPPER_CALLING_CONV +begin + PInt64(Result)^ := PDateTime(Params^[0])^.MilliSecondsBetween(PDateTime(Params^[1])^); +end; + +(* +TDateTime.Date +-------------- +> property TDateTime.Date: TDateTime +> property TDateTime.Date(NewValue: TDateTime) + +Read or write just the date part. +*) +procedure _LapeDateTime_Date_Read(const Params: PParamArray; const Result: Pointer); LAPE_WRAPPER_CALLING_CONV +begin + PDateTime(Result)^ := PDateTime(Params^[0])^.Date; +end; + +procedure _LapeDateTime_Date_Write(const Params: PParamArray); LAPE_WRAPPER_CALLING_CONV +begin + PDateTime(Params^[0])^.Date := PDateTime(Params^[1])^; +end; + +(* +TDateTime.Time +-------------- +> property TDateTime.Time: TDateTime +> property TDateTime.Time(NewValue: TDateTime) +*) +procedure _LapeDateTime_Time_Read(const Params: PParamArray; const Result: Pointer); LAPE_WRAPPER_CALLING_CONV +begin + PDateTime(Result)^ := PDateTime(Params^[0])^.Time; +end; + +procedure _LapeDateTime_Time_Write(const Params: PParamArray); LAPE_WRAPPER_CALLING_CONV +begin + PDateTime(Params^[0])^.Time := PDateTime(Params^[1])^; +end; + +(* +TDateTime.Year +-------------- +> property TDateTime.Year: Integer +> property TDateTime.Year(NewValue: Integer) +*) +procedure _LapeDateTime_Year_Read(const Params: PParamArray; const Result: Pointer); LAPE_WRAPPER_CALLING_CONV +begin + PInteger(Result)^ := PDateTime(Params^[0])^.Year; +end; + +procedure _LapeDateTime_Year_Write(const Params: PParamArray); LAPE_WRAPPER_CALLING_CONV +begin + PDateTime(Params^[0])^.Year := PInteger(Params^[1])^; +end; + +(* +TDateTime.Month +-------------- +> property TDateTime.Month: Integer +> property TDateTime.Month(NewValue: Integer) +*) +procedure _LapeDateTime_Month_Read(const Params: PParamArray; const Result: Pointer); LAPE_WRAPPER_CALLING_CONV +begin + PInteger(Result)^ := PDateTime(Params^[0])^.Month; +end; + +procedure _LapeDateTime_Month_Write(const Params: PParamArray); LAPE_WRAPPER_CALLING_CONV +begin + PDateTime(Params^[0])^.Month := PInteger(Params^[1])^; +end; + +(* +TDateTime.Day +-------------- +> property TDateTime.Day: Integer +> property TDateTime.Day(NewValue: Integer) +*) +procedure _LapeDateTime_Day_Read(const Params: PParamArray; const Result: Pointer); LAPE_WRAPPER_CALLING_CONV +begin + PInteger(Result)^ := PDateTime(Params^[0])^.Day; +end; + +procedure _LapeDateTime_Day_Write(const Params: PParamArray); LAPE_WRAPPER_CALLING_CONV +begin + PDateTime(Params^[0])^.Day := PInteger(Params^[1])^; +end; + +(* +TDateTime.Hour +-------------- +> property TDateTime.Hour: Integer +> property TDateTime.Hour(NewValue: Integer) +*) +procedure _LapeDateTime_Hour_Read(const Params: PParamArray; const Result: Pointer); LAPE_WRAPPER_CALLING_CONV +begin + PInteger(Result)^ := PDateTime(Params^[0])^.Hour; +end; + +procedure _LapeDateTime_Hour_Write(const Params: PParamArray); LAPE_WRAPPER_CALLING_CONV +begin + PDateTime(Params^[0])^.Hour := PInteger(Params^[1])^; +end; + +(* +TDateTime.Minute +---------------- +> property TDateTime.Minute: Integer +> property TDateTime.Minute(NewValue: Integer) +*) +procedure _LapeDateTime_Minute_Read(const Params: PParamArray; const Result: Pointer); LAPE_WRAPPER_CALLING_CONV +begin + PInteger(Result)^ := PDateTime(Params^[0])^.Minute; +end; + +procedure _LapeDateTime_Minute_Write(const Params: PParamArray); LAPE_WRAPPER_CALLING_CONV +begin + PDateTime(Params^[0])^.Minute := PInteger(Params^[1])^; +end; + +(* +TDateTime.Second +---------------- +> property TDateTime.Second: Integer +> property TDateTime.Second(NewValue: Integer) +*) +procedure _LapeDateTime_Second_Read(const Params: PParamArray; const Result: Pointer); LAPE_WRAPPER_CALLING_CONV +begin + PInteger(Result)^ := PDateTime(Params^[0])^.Second; +end; + +procedure _LapeDateTime_Second_Write(const Params: PParamArray); LAPE_WRAPPER_CALLING_CONV +begin + PDateTime(Params^[0])^.Second := PInteger(Params^[1])^; +end; + +(* +TDateTime.Millisecond +--------------------- +> property TDateTime.Millisecond: Integer +> property TDateTime.Millisecond(NewValue: Integer) +*) +procedure _LapeDateTime_Millisecond_Read(const Params: PParamArray; const Result: Pointer); LAPE_WRAPPER_CALLING_CONV +begin + PInteger(Result)^ := PDateTime(Params^[0])^.Millisecond; +end; + +procedure _LapeDateTime_Millisecond_Write(const Params: PParamArray); LAPE_WRAPPER_CALLING_CONV +begin + PDateTime(Params^[0])^.Millisecond := PInteger(Params^[1])^; +end; + +(* +UnixTime +-------- +> function UnixTime: Int64; +*) +procedure _LapeUnixTime(const Params: PParamArray; const Result: Pointer); LAPE_WRAPPER_CALLING_CONV +begin + PInt64(Result)^ := DateTimeToUnix(Now(), False); +end; + +(* +LocalTimeOffset +--------------- +> function LocalTimeOffset: Integer; +*) +procedure _LapeLocalTimeOffset(const Params: PParamArray; const Result: Pointer); LAPE_WRAPPER_CALLING_CONV +begin + PInteger(Result)^ := GetLocalTimeOffset(); +end; + + +(* +PreciseSleep +------------ +> procedure PreciseSleep(Milliseconds: UInt32); +*) +procedure _LapePreciseSleep(const Params: PParamArray); LAPE_WRAPPER_CALLING_CONV +begin + SimbaNativeInterface.PreciseSleep(PUInt32(Params^[0])^); +end; + +(* +MillisecondsToTime +------------------ +> function MillisecondsToTime(Time: UInt64; out Days, Hours, Mins, Secs: Integer): Integer; +*) +procedure _LapeMillisecondsToTime1(const Params: PParamArray; const Result: Pointer); LAPE_WRAPPER_CALLING_CONV +begin + PInteger(Result)^ := MillisecondsToTime(PUInt64(Params^[0])^, PInteger(Params^[1])^, PInteger(Params^[2])^, PInteger(Params^[3])^, PInteger(Params^[4])^); +end; + +(* +MillisecondsToTime +------------------ +> function MillisecondsToTime(Time: UInt64; out Years, Months, Weeks, Days, Hours, Mins, Secs: Integer): Integer; +*) +procedure _LapeMillisecondsToTime2(const Params: PParamArray; const Result: Pointer); LAPE_WRAPPER_CALLING_CONV +begin + PInteger(Result)^ := MillisecondsToTime(PUInt64(Params^[0])^, PInteger(Params^[1])^, PInteger(Params^[2])^, PInteger(Params^[3])^, PInteger(Params^[4])^, PInteger(Params^[5])^, PInteger(Params^[6])^, PInteger(Params^[7])^); +end; + +(* +PerformanceTimer +---------------- +> function PerformanceTimer: Double; +*) +procedure _LapePerformanceTimer(const Params: PParamArray; const Result: Pointer); LAPE_WRAPPER_CALLING_CONV +begin + PDouble(Result)^ := SimbaNativeInterface.HighResolutionTime(); +end; + +(* +FormatMilliseconds +------------------ +> function FormatMilliseconds(Time: Double; Format: String): String; +*) +procedure _LapeFormatMilliseconds1(const Params: PParamArray; const Result: Pointer); LAPE_WRAPPER_CALLING_CONV +begin + PString(Result)^ := FormatMilliseconds(PDouble(Params^[0])^, PString(Params^[1])^); +end; + +(* +FormatMilliseconds +------------------ +> function FormatMilliseconds(Time: Double; TimeSymbols: Boolean = False): String; +*) +procedure _LapeFormatMilliseconds2(const Params: PParamArray; const Result: Pointer); LAPE_WRAPPER_CALLING_CONV +begin + PString(Result)^ := FormatMilliseconds(PDouble(Params^[0])^, PBoolean(Params^[1])^); +end; + +procedure ImportDateTime(Compiler: TSimbaScript_Compiler); +begin + with Compiler do + begin + ImportingSection := 'Date & Time'; + + addGlobalFunc('function TDateTime.Create(AYear, AMonth, ADay, AHour, AMinute, ASecond, AMillisecond: Integer): TDateTime; static; overload', @_LapeDateTime_Create1); + addGlobalFunc('function TDateTime.Create(AYear, AMonth, ADay: Integer): TDateTime; static; overload', @_LapeDateTime_Create2); + addGlobalFunc('function TDateTime.Create(AHour, AMin, ASecond, AMillisecond: Integer): TDateTime; static; overload', @_LapeDateTime_Create3); + addGlobalFunc('function TDateTime.CreateFromUnix(UnixTime: Int64): TDateTime; static;', @_LapeDateTime_CreateFromUnix); + addGlobalFunc('function TDateTime.CreateFromString(Value: String): TDateTime; static; overload;', @_LapeDateTime_CreateFromString1); + addGlobalFunc('function TDateTime.CreateFromString(Fmt, Value: String): TDateTime; static; overload;', @_LapeDateTime_CreateFromString2); + + addGlobalFunc('function TDateTime.Now: TDateTime; static', @_LapeDateTime_Now); + addGlobalFunc('function TDateTime.NowUTC: TDateTime; static', @_LapeDateTime_NowUTC); + + addGlobalFunc('function TDateTime.ToUnix(IsUTC: Boolean = True): Int64', @_LapeDateTime_ToUnix); + addGlobalFunc('function TDateTime.ToString(Fmt: String): String; overload', @_LapeDateTime_ToString1); + addGlobalFunc('function TDateTime.ToString: String; overload', @_LapeDateTime_ToString2); + + addGlobalFunc('function TDateTime.AddYears(Amount: Integer = 1): TDateTime;', @_LapeDateTime_AddYears); + addGlobalFunc('function TDateTime.AddMonths(Amount: Integer = 1): TDateTime;', @_LapeDateTime_AddMonths); + addGlobalFunc('function TDateTime.AddDays(Amount: Integer = 1): TDateTime;', @_LapeDateTime_AddDays); + addGlobalFunc('function TDateTime.AddHours(Amount: Int64 = 1): TDateTime;', @_LapeDateTime_AddHours); + addGlobalFunc('function TDateTime.AddMinutes(Amount: Int64 = 1): TDateTime;', @_LapeDateTime_AddMinutes); + addGlobalFunc('function TDateTime.AddSeconds(Amount: Int64 = 1): TDateTime;', @_LapeDateTime_AddSeconds); + addGlobalFunc('function TDateTime.AddMilliseconds(Amount: Int64 = 1): TDateTime;', @_LapeDateTime_AddMilliseconds); + + addGlobalFunc('function TDateTime.YearsBetween(Other: TDateTime): Integer;', @_LapeDateTime_YearsBetween); + addGlobalFunc('function TDateTime.MonthsBetween(Other: TDateTime): Integer;', @_LapeDateTime_MonthsBetween); + addGlobalFunc('function TDateTime.WeeksBetween(Other: TDateTime): Integer;', @_LapeDateTime_WeeksBetween); + addGlobalFunc('function TDateTime.DaysBetween(Other: TDateTime): Integer;', @_LapeDateTime_DaysBetween); + addGlobalFunc('function TDateTime.HoursBetween(Other: TDateTime): Int64;', @_LapeDateTime_HoursBetween); + addGlobalFunc('function TDateTime.MinutesBetween(Other: TDateTime): Int64;', @_LapeDateTime_MinutesBetween); + addGlobalFunc('function TDateTime.SecondsBetween(Other: TDateTime): Int64;', @_LapeDateTime_SecondsBetween); + addGlobalFunc('function TDateTime.MilliSecondsBetween(Other: TDateTime): Int64;', @_LapeDateTime_MilliSecondsBetween); + + addProperty('TDateTime', 'Date', 'TDateTime', @_LapeDateTime_Date_Read, @_LapeDateTime_Date_Write); + addProperty('TDateTime', 'Time', 'TDateTime', @_LapeDateTime_Time_Read, @_LapeDateTime_Time_Write); + addProperty('TDateTime', 'Year', 'Integer', @_LapeDateTime_Year_Read, @_LapeDateTime_Year_Write); + addProperty('TDateTime', 'Month', 'Integer', @_LapeDateTime_Month_Read, @_LapeDateTime_Month_Write); + addProperty('TDateTime', 'Day', 'Integer', @_LapeDateTime_Day_Read, @_LapeDateTime_Day_Write); + addProperty('TDateTime', 'Hour', 'Integer', @_LapeDateTime_Hour_Read, @_LapeDateTime_Hour_Write); + addProperty('TDateTime', 'Minute', 'Integer', @_LapeDateTime_Minute_Read, @_LapeDateTime_Minute_Write); + addProperty('TDateTime', 'Second', 'Integer', @_LapeDateTime_Second_Read, @_LapeDateTime_Second_Write); + addProperty('TDateTime', 'Millisecond', 'Integer', @_LapeDateTime_Millisecond_Read, @_LapeDateTime_Millisecond_Write); + + addGlobalFunc('function UnixTime: Int64;', @_LapeUnixTime); + addGlobalFunc('function LocalTimeOffset: Integer', @_LapeLocalTimeOffset); + + addGlobalFunc('procedure PreciseSleep(Milliseconds: UInt32);', @_LapePreciseSleep); + addGlobalFunc('function PerformanceTimer: Double;', @_LapePerformanceTimer); + addGlobalFunc('function MillisecondsToTime(Time: UInt64; out Days, Hours, Mins, Secs: Integer): Integer; overload', @_LapeMillisecondsToTime1); + addGlobalFunc('function MillisecondsToTime(Time: UInt64; out Years, Months, Weeks, Days, Hours, Mins, Secs: Integer): Integer; overload', @_LapeMillisecondsToTime2); + addGlobalFunc('function FormatMilliseconds(Time: Double; Format: String): String; overload;', @_LapeFormatMilliseconds1); + addGlobalFunc('function FormatMilliseconds(Time: Double; TimeSymbols: Boolean = False): String; overload;', @_LapeFormatMilliseconds2); + + addDelayedCode([ + 'type', + ' TStopwatch = record', + ' Name: String;', + ' StartTime: Double;', + ' StopTime: Double;', + ' end;', + '', + 'procedure TStopwatch.Start(AName: String = "");', + 'begin', + ' Self.Name := AName;', + ' Self.StartTime := PerformanceTimer();', + 'end;', + '', + 'procedure TStopwatch.Stop;', + 'begin', + ' Self.StopTime := PerformanceTimer();', + 'end;', + '', + 'function TStopwatch.Elapsed: Double;', + 'begin', + ' if (Self.StopTime > 0) then', + ' Result := Self.StopTime - Self.StartTime', + ' else', + ' Result := PerformanceTimer() - Self.StartTime;', + 'end;', + '', + 'function TStopwatch.ElapsedFmt(Format: String = "u"): String;', + 'begin', + ' Result := FormatMilliseconds(Self.Elapsed(), Format);', + 'end;', + '', + 'procedure TStopwatch.Reset;', + 'begin', + ' Self.StopTime := Self.StartTime := 0;', + 'end;' + ]); + + ImportingSection := ''; + end; +end; + +end. + + diff --git a/Source/script/imports/simba.import_misc.pas b/Source/script/imports/simba.import_misc.pas index 22f795b8d..0de4ed8e7 100644 --- a/Source/script/imports/simba.import_misc.pas +++ b/Source/script/imports/simba.import_misc.pas @@ -530,7 +530,7 @@ procedure ImportMisc(Compiler: TSimbaScript_Compiler); 'begin', ' with TImage.CreateFromTarget() do', ' try', - ' FileName := SimbaEnv.ScreenshotsPath + PathExtractNameWithoutExt(SCRIPT_FILE) + #32 + FormatDateTime("dd-mm hh-mm-ss", Now()) + ".png";', + ' FileName := SimbaEnv.ScreenshotsPath + PathExtractNameWithoutExt(SCRIPT_FILE) + #32 + TDateTime.Now().ToString("dd-mm hh-mm-ss") + ".png";', ' if Save(FileName) then', ' Exit(FileName);', '', @@ -538,7 +538,7 @@ procedure ImportMisc(Compiler: TSimbaScript_Compiler); ' T := GetTickCount() + 1000;', ' while (GetTickCount() < T) do', ' begin', - ' FileName := SimbaEnv.ScreenshotsPath + PathExtractNameWithoutExt(SCRIPT_FILE) + #32 + FormatDateTime("dd-mm hh-mm-ss-zzz", Now()) + ".png";', + ' FileName := SimbaEnv.ScreenshotsPath + PathExtractNameWithoutExt(SCRIPT_FILE) + #32 + TDateTime.Now().ToString("dd-mm hh-mm-ss-zzz") + ".png";', ' if Save(FileName) then', ' Exit(FileName);', '', diff --git a/Source/script/imports/simba.import_timing.pas b/Source/script/imports/simba.import_timing.pas deleted file mode 100644 index a31fca4e5..000000000 --- a/Source/script/imports/simba.import_timing.pas +++ /dev/null @@ -1,193 +0,0 @@ -unit simba.import_timing; - -{$i simba.inc} - -interface - -uses - Classes, SysUtils, - simba.base, simba.script_compiler; - -procedure ImportTiming(Compiler: TSimbaScript_Compiler); - -implementation - -uses - lptypes, - simba.datetime, simba.nativeinterface; - -(* -Timing -====== -Timing -*) - -(* -Sleep ------ -> procedure Sleep(MilliSeconds: UInt32); -*) - -(* -PreciseSleep ------------- -> procedure PreciseSleep(Milliseconds: UInt32); - -Much more accurate sleep method, if you need millisecond accurate sleeps under -50ms use this. - -```{note} - This is only useful on Windows since on Linux and MacOS the regular `Sleep` is accurate to the milliseconds. -``` -*) -procedure _LapePreciseSleep(const Params: PParamArray); LAPE_WRAPPER_CALLING_CONV -begin - SimbaNativeInterface.PreciseSleep(PUInt32(Params^[0])^); -end; - -(* -MillisecondsToTime ------------------- -> function MillisecondsToTime(Time: UInt64; out Days, Hours, Mins, Secs: Integer): Integer; - -Converts time (in milliseconds) to days,hours,mins and seconds. -Any remaining milliseconds are returned in the Result. -*) -procedure _LapeMillisecondsToTime1(const Params: PParamArray; const Result: Pointer); LAPE_WRAPPER_CALLING_CONV -begin - PInteger(Result)^ := MillisecondsToTime(PUInt64(Params^[0])^, PInteger(Params^[1])^, PInteger(Params^[2])^, PInteger(Params^[3])^, PInteger(Params^[4])^); -end; - -(* -MillisecondsToTime ------------------- -> function MillisecondsToTime(Time: UInt64; out Years, Months, Weeks, Days, Hours, Mins, Secs: Integer): Integer; - -Converts time (in milliseconds) to years,months,weeks,days,hours,mins and seconds. -Any remaining milliseconds are returned in the Result. -*) -procedure _LapeMillisecondsToTime2(const Params: PParamArray; const Result: Pointer); LAPE_WRAPPER_CALLING_CONV -begin - PInteger(Result)^ := MillisecondsToTime(PUInt64(Params^[0])^, PInteger(Params^[1])^, PInteger(Params^[2])^, PInteger(Params^[3])^, PInteger(Params^[4])^, PInteger(Params^[5])^, PInteger(Params^[6])^, PInteger(Params^[7])^); -end; - -(* -PerformanceTimer ----------------- -> function PerformanceTimer: Double; -*) -procedure _LapePerformanceTimer(const Params: PParamArray; const Result: Pointer); LAPE_WRAPPER_CALLING_CONV -begin - PDouble(Result)^ := SimbaNativeInterface.HighResolutionTime(); -end; - -(* -FormatMilliseconds ------------------- -> function FormatMilliseconds(Time: Double; Format: String): String; - -Formats milliseconds into a string. Formatting is defined by the `Format` string. - -``` -WriteLn FormatMilliseconds(GetTickCount(), 's\s\e\c, m\m\i\n'); -WriteLn FormatMilliseconds(GetTickCount(), 'hh\h:mm\m:ss\s:uu\m\s'); -WriteLn FormatMilliseconds(GetTickCount(), 'YY-MM-DD h:m:s:u'); -``` -*) -procedure _LapeFormatMilliseconds1(const Params: PParamArray; const Result: Pointer); LAPE_WRAPPER_CALLING_CONV -begin - PString(Result)^ := FormatMilliseconds(PDouble(Params^[0])^, PString(Params^[1])^); -end; - -(* -FormatMilliseconds ------------------- -> function FormatMilliseconds(Time: Double; TimeSymbols: Boolean = False): String; -*) -procedure _LapeFormatMilliseconds2(const Params: PParamArray; const Result: Pointer); LAPE_WRAPPER_CALLING_CONV -begin - PString(Result)^ := FormatMilliseconds(PDouble(Params^[0])^, PBoolean(Params^[1])^); -end; - -(* -GetTimeRunning --------------- -> function GetTimeRunning: UInt64; - -Returns the current script runtime in milliseconds. -*) - -(* -GetTickCount ------------- -> function GetTickCount: UInt64; - -Returns the number of milliseconds that have elapsed since the system was started. -However the more important use case of this function is for measuring time: - -``` - T := GetTickCount(); - Sleep(1000); - WriteLn('Should be around ~1000 :: ', GetTickCount()-T); -``` -Resolution is typically in the range of 10 milliseconds to 16 milliseconds. - -If you need a more accurate timer use `PerformanceTimer` -*) - -procedure ImportTiming(Compiler: TSimbaScript_Compiler); -begin - with Compiler do - begin - ImportingSection := 'Timing'; - - addGlobalFunc('procedure PreciseSleep(Milliseconds: UInt32);', @_LapePreciseSleep); - addGlobalFunc('function PerformanceTimer: Double;', @_LapePerformanceTimer); - addGlobalFunc('function MillisecondsToTime(Time: UInt64; out Days, Hours, Mins, Secs: Integer): Integer; overload', @_LapeMillisecondsToTime1); - addGlobalFunc('function MillisecondsToTime(Time: UInt64; out Years, Months, Weeks, Days, Hours, Mins, Secs: Integer): Integer; overload', @_LapeMillisecondsToTime2); - addGlobalFunc('function FormatMilliseconds(Time: Double; Format: String): String; overload;', @_LapeFormatMilliseconds1); - addGlobalFunc('function FormatMilliseconds(Time: Double; TimeSymbols: Boolean = False): String; overload;', @_LapeFormatMilliseconds2); - - addDelayedCode([ - 'type', - ' TStopwatch = record', - ' Name: String;', - ' StartTime: Double;', - ' StopTime: Double;', - ' end;', - '', - 'procedure TStopwatch.Start(AName: String = "");', - 'begin', - ' Self.Name := AName;', - ' Self.StartTime := PerformanceTimer();', - 'end;', - '', - 'procedure TStopwatch.Stop;', - 'begin', - ' Self.StopTime := PerformanceTimer();', - 'end;', - '', - 'function TStopwatch.Elapsed: Double;', - 'begin', - ' if (Self.StopTime > 0) then', - ' Result := Self.StopTime - Self.StartTime', - ' else', - ' Result := PerformanceTimer() - Self.StartTime;', - 'end;', - '', - 'function TStopwatch.ElapsedFmt(Format: String = "u"): String;', - 'begin', - ' Result := FormatMilliseconds(Self.Elapsed(), Format);', - 'end;', - '', - 'procedure TStopwatch.Reset;', - 'begin', - ' Self.StopTime := Self.StartTime := 0;', - 'end;' - ]); - - ImportingSection := ''; - end; -end; - -end. - diff --git a/Source/script/simba.script_compiler.pas b/Source/script/simba.script_compiler.pas index 2168194b5..854623339 100644 --- a/Source/script/simba.script_compiler.pas +++ b/Source/script/simba.script_compiler.pas @@ -352,31 +352,13 @@ procedure TSimbaScript_Compiler.InitBaseString; ImportingSection := ''; end; -// lpeval_import_datetime but moved sleep & gettickcount to timing section +// Import our own methods later (import_datetime.pas) procedure TSimbaScript_Compiler.InitBaseDateTime; begin - ImportingSection := 'DateTime'; - - addGlobalVar(HoursPerDay, 'HoursPerDay').isConstant := True; - addGlobalVar(MinsPerHour, 'MinsPerHour').isConstant := True; - addGlobalVar(SecsPerMin, 'SecsPerMin').isConstant := True; - addGlobalVar(MSecsPerSec, 'MSecsPerSec').isConstant := True; - addGlobalVar(MinsPerDay, 'MinsPerDay').isConstant := True; - addGlobalVar(SecsPerDay, 'SecsPerDay').isConstant := True; - addGlobalVar(MSecsPerDay, 'MSecsPerDay').isConstant := True; + ImportingSection := 'Date & Time'; addGlobalType(getBaseType(ltDouble).createCopy(True), 'TDateTime', False); - addGlobalFunc('function EncodeDate(Year, Month, Day: UInt16): TDateTime;', @_LapeEncodeDate); - addGlobalFunc('function EncodeTime(Hour, Min, Sec, MSec: UInt16): TDateTime;', @_LapeEncodeTime); - addGlobalFunc('procedure DecodeDate(DateTime: TDateTime; var Year, Month, Day: UInt16);', @_LapeDecodeDate); - addGlobalFunc('function DecodeDateFully(DateTime: TDateTime; var Year, Month, Day, DOW: UInt16): Boolean;', @_LapeDecodeDateFully); - addGlobalFunc('procedure DecodeTime(DateTime: TDateTime; var Hour, Min, Sec, MSec: UInt16);', @_LapeDecodeTime); - - addGlobalFunc('function DateTimeToStr(const DateTime: TDateTime): string;', @_LapeDateTimeToStr); - addGlobalFunc('function DateToStr(const DateTime: TDateTime): string;', @_LapeDateToStr); - addGlobalFunc('function TimeToStr(const DateTime: TDateTime): string;', @_LapeTimeToStr); - TLapeType_OverloadedMethod(Globals['ToString'].VarType).addMethod( TLapeType_Method(addManagedType( TLapeType_Method.Create( @@ -389,45 +371,6 @@ procedure TSimbaScript_Compiler.InitBaseDateTime; )).NewGlobalVar(@_LapeDateTimeToStr) ); - addGlobalFunc('function Date: TDateTime;', @_LapeDate); - addGlobalFunc('function Time: TDateTime;', @_LapeTime); - addGlobalFunc('function Now: TDateTime;', @_LapeNow); - addGlobalFunc('function NowUTC: TDateTime;', @_LapeNowUTC); - - addGlobalFunc('procedure ReplaceTime(var DateTime: TDateTime; NewTime: TDateTime);', @_LapeReplaceTime); - addGlobalFunc('procedure ReplaceDate(var DateTime: TDateTime; NewDate: TDateTime);', @_LapeReplaceDate); - - addGlobalFunc('function FormatDateTime(Format: string; DateTime: TDateTime): string;', @_LapeFormatDateTime); - addGlobalFunc('function StrToDate(s: string): TDateTime; overload;', @_LapeStrToDate); - addGlobalFunc('function StrToDate(s: string; Default: TDateTime): TDateTime; overload;', @_LapeStrToDateDef); - addGlobalFunc('function StrToTime(s: string): TDateTime; overload;', @_LapeStrToTime); - addGlobalFunc('function StrToTime(s: string; Default: TDateTime): TDateTime; overload;', @_LapeStrToTimeDef); - addGlobalFunc('function StrToDateTime(s: string): TDateTime; overload;', @_LapeStrToDateTime); - addGlobalFunc('function StrToDateTime(s: string; Default: TDateTime): TDateTime; overload;', @_LapeStrToDateTimeDef); - - addGlobalFunc('function DateTimeToUnix(const Value: TDateTime; InputIsUTC: Boolean = True): Int64;', @_LapeDateTimeToUnix); - addGlobalFunc('function UnixToDateTime(const Value: Int64; ReturnUTC: Boolean = True): TDateTime;', @_LapeUnixToDateTime); - addGlobalFunc('function UnixTime: Int64;', @_LapeUnixTime); - - addGlobalFunc('function YearsBetween(const ANow, AThen: TDateTime): Int32;', @_LapeYearsBetween); - addGlobalFunc('function MonthsBetween(const ANow, AThen: TDateTime): Int32;', @_LapeMonthsBetween); - addGlobalFunc('function WeeksBetween(const ANow, AThen: TDateTime): Int32;', @_LapeWeeksBetween); - addGlobalFunc('function DaysBetween(const ANow, AThen: TDateTime): Int32;', @_LapeDaysBetween); - addGlobalFunc('function HoursBetween(const ANow, AThen: TDateTime): Int64;', @_LapeHoursBetween); - addGlobalFunc('function MinutesBetween(const ANow, AThen: TDateTime): Int64;', @_LapeMinutesBetween); - addGlobalFunc('function SecondsBetween(const ANow, AThen: TDateTime): Int64;', @_LapeSecondsBetween); - addGlobalFunc('function MilliSecondsBetween(const ANow, AThen: TDateTime): Int64;', @_LapeMilliSecondsBetween); - - addGlobalFunc('function IncYear(const Value: TDateTime; const NumberOfYears: Int32 = 1): TDateTime;', @_LapeIncYear); - addGlobalFunc('function IncWeek(const Value: TDateTime; const NumberOfWeeks: Int32 = 1): TDateTime;', @_LapeIncWeek); - addGlobalFunc('function IncDay(const Value: TDateTime; const NumberOfDays: Int32 = 1): TDateTime;', @_LapeIncDay); - addGlobalFunc('function IncHour(const Value: TDateTime; const NumberOfHours: Int64 = 1): TDateTime;', @_LapeIncHour); - addGlobalFunc('function IncMinute(const Value: TDateTime; const NumberOfMinutes: Int64 = 1): TDateTime;', @_LapeIncMinute); - addGlobalFunc('function IncSecond(const Value: TDateTime; const NumberOfSeconds: Int64 = 1): TDateTime;', @_LapeIncSecond); - addGlobalFunc('function IncMilliSecond(const Value: TDateTime; const NumberOfMilliSeconds: Int64 = 1): TDateTime;', @_LapeIncMilliSecond); - - ImportingSection := 'Timing'; - addGlobalFunc('function GetTickCount: UInt64;', @_LapeGetTickCount); addGlobalFunc('procedure Sleep(MilliSeconds: UInt32);', @_LapeSleep); diff --git a/Source/script/simba.script_imports.pas b/Source/script/simba.script_imports.pas index 53c98e9ab..e5a29b765 100644 --- a/Source/script/simba.script_imports.pas +++ b/Source/script/simba.script_imports.pas @@ -20,7 +20,7 @@ implementation // Simba simba.import_base, simba.import_colormath,simba.import_matrix, simba.import_windowhandle, simba.import_quad, simba.import_box, simba.import_boxarray, simba.import_point, - simba.import_circle, simba.import_timing, simba.import_tpa, simba.import_atpa, + simba.import_circle, simba.import_datetime, simba.import_tpa, simba.import_atpa, simba.import_encoding, simba.import_file, simba.import_process, simba.import_internal, simba.import_target, simba.import_math, simba.import_misc, simba.import_slacktree, simba.import_string, simba.import_random, simba.import_debugimage, simba.import_web, simba.import_threading, @@ -62,7 +62,7 @@ procedure AddSimbaImports(Compiler: TSimbaScript_Compiler); ImportMatchTemplate(Compiler); ImportJSON(Compiler); - ImportTiming(Compiler); + ImportDateTime(Compiler); ImportTPA(Compiler); ImportATPA(Compiler); ImportEncoding(Compiler); diff --git a/Source/simba.datetime.pas b/Source/simba.datetime.pas index bb6be09a9..e659ba894 100644 --- a/Source/simba.datetime.pas +++ b/Source/simba.datetime.pas @@ -2,8 +2,6 @@ Author: Raymond van Venetiƫ and Merlijn Wajer Project: Simba (https://github.com/MerlijnWajer/Simba) License: GNU General Public License (https://www.gnu.org/licenses/gpl-3.0) - - Timing (in milliseconds) functions. } unit simba.datetime; @@ -12,7 +10,74 @@ interface uses - classes, sysutils; + Classes, SysUtils, + simba.base; + +type + TDateTimeHelper = type helper for TDateTime + private + function GetDate: TDateTime; + function GetTime: TDateTime; + function GetDay: Integer; + function GetHour: Integer; + function GetMillisecond: Integer; + function GetMinute: Integer; + function GetMonth: Integer; + function GetSecond: Integer; + function GetYear: Integer; + + procedure SetDate(AValue: TDateTime); + procedure SetTime(AValue: TDateTime); + procedure SetDay(AValue: Integer); + procedure SetHour(AValue: Integer); + procedure SetMillisecond(AValue: Integer); + procedure SetMinute(AValue: Integer); + procedure SetMonth(AValue: Integer); + procedure SetSecond(AValue: Integer); + procedure SetYear(AValue: Integer); + public + class function Create(AYear, AMonth, ADay, AHour, AMinute, ASecond, AMillisecond: Integer): TDateTime; static; overload; + class function Create(AYear, AMonth, ADay: Integer): TDateTime; static; overload; + class function Create(AHour, AMin, ASecond, AMillisecond: Integer): TDateTime; static; overload; + class function CreateFromUnix(UnixTime: Int64): TDateTime; static; + class function CreateFromString(Value: String): TDateTime; static; overload; + class function CreateFromString(Fmt, Value: String): TDateTime; static; overload; + + class function Now: TDateTime; static; + class function NowUTC: TDateTime; static; + + function ToUnix(IsUTC: Boolean = True): Int64; + function ToString(Fmt: String): String; + function ToString: String; + + function AddYears(Amount: Integer = 1): TDateTime; + function AddMonths(Amount: Integer = 1): TDateTime; + function AddDays(Amount: Integer = 1): TDateTime; + function AddHours(Amount: Int64 = 1): TDateTime; + function AddMinutes(Amount: Int64 = 1): TDateTime; + function AddSeconds(Amount: Int64 = 1): TDateTime; + function AddMilliseconds(Amount: Int64 = 1): TDateTime; + + function YearsBetween(Other: TDateTime): Integer; + function MonthsBetween(Other: TDateTime): Integer; + function WeeksBetween(Other: TDateTime): Integer; + function DaysBetween(Other: TDateTime): Integer; + function HoursBetween(Other: TDateTime): Int64; + function MinutesBetween(Other: TDateTime): Int64; + function SecondsBetween(Other: TDateTime): Int64; + function MilliSecondsBetween(Other: TDateTime): Int64; + + property Date: TDateTime read GetDate write SetDate; + property Time: TDateTime read GetTime write SetTime; + + property Year: Integer read GetYear write SetYear; + property Month: Integer read GetMonth write SetMonth; + property Day: Integer read GetDay write SetDay; + property Hour: Integer read GetHour write SetHour; + property Minute: Integer read GetMinute write SetMinute; + property Second: Integer read GetSecond write SetSecond; + property Millisecond: Integer read GetMillisecond write SetMillisecond; + end; function MillisecondsToTime(Time: UInt64; out Days, Hours, Mins, Secs: Integer): Integer; overload; function MillisecondsToTime(Time: UInt64; out Years, Months, Weeks, Days, Hours, Mins, Secs: Integer): Integer; overload; @@ -25,8 +90,239 @@ function HighResolutionTime: Double; implementation uses + DateUtils, simba.nativeinterface; +function TDateTimeHelper.GetDate: TDateTime; +begin + Result := DateOf(Self); +end; + +function TDateTimeHelper.GetDay: Integer; +begin + Result := DayOf(Self); +end; + +function TDateTimeHelper.GetHour: Integer; +begin + Result := HourOf(Self); +end; + +function TDateTimeHelper.GetMillisecond: Integer; +begin + Result := MilliSecondOf(Self); +end; + +function TDateTimeHelper.GetMinute: Integer; +begin + Result := MinuteOf(Self); +end; + +function TDateTimeHelper.GetMonth: Integer; +begin + Result := MonthOf(Self); +end; + +function TDateTimeHelper.GetSecond: Integer; +begin + Result := SecondOf(Self); +end; + +function TDateTimeHelper.GetTime: TDateTime; +begin + Result := TimeOf(Self); +end; + +function TDateTimeHelper.GetYear: Integer; +begin + Result := YearOf(Self); +end; + +procedure TDateTimeHelper.SetDate(AValue: TDateTime); +begin + ReplaceDate(Self, AValue); +end; + +procedure TDateTimeHelper.SetTime(AValue: TDateTime); +begin + ReplaceTime(Self, AValue); +end; + +procedure TDateTimeHelper.SetDay(AValue: Integer); +begin + Self := RecodeDay(Self, AValue); +end; + +procedure TDateTimeHelper.SetHour(AValue: Integer); +begin + Self := RecodeHour(Self, AValue); +end; + +procedure TDateTimeHelper.SetMillisecond(AValue: Integer); +begin + Self := RecodeMilliSecond(Self, AValue); +end; + +procedure TDateTimeHelper.SetMinute(AValue: Integer); +begin + Self := RecodeMinute(Self, AValue); +end; + +procedure TDateTimeHelper.SetMonth(AValue: Integer); +begin + Self := RecodeMonth(Self, AValue); +end; + +procedure TDateTimeHelper.SetSecond(AValue: Integer); +begin + Self := RecodeSecond(Self, AValue); +end; + +procedure TDateTimeHelper.SetYear(AValue: Integer); +begin + Self := RecodeYear(Self, AValue); +end; + +class function TDateTimeHelper.Create(AYear, AMonth, ADay, AHour, AMinute, ASecond, AMillisecond: Integer): TDateTime; +begin + Result := EncodeDateTime(AYear, AMonth, ADay, Ahour, AMinute, ASecond, AMillisecond); +end; + +class function TDateTimeHelper.Create(AYear, AMonth, ADay: Integer): TDateTime; +begin + Result := EncodeDate(AYear, AMonth, ADay); +end; + +class function TDateTimeHelper.Create(AHour, AMin, ASecond, AMillisecond: Integer): TDateTime; +begin + Result := EncodeTime(AHour, AMin, ASecond, AMillisecond); +end; + +class function TDateTimeHelper.CreateFromUnix(UnixTime: Int64): TDateTime; +begin + Result := UnixToDateTime(UnixTime); +end; + +class function TDateTimeHelper.CreateFromString(Value: String): TDateTime; +begin + Result := StrToDateTime(Value); +end; + +class function TDateTimeHelper.CreateFromString(Fmt, Value: String): TDateTime; +begin + case Fmt of + 'iso': + if not TryISOStrToDateTime(Value, Result) then + raise EConvertError.CreateFmt('Invalid ISO value ""', [Value]); + 'iso8601': + Result := ISO8601ToDate(Value); + 'unix': + Result := UnixToDateTime(StrToInt64(Value)); + else + Result := ScanDateTime(Fmt, Value); + end; +end; + +class function TDateTimeHelper.Now: TDateTime; +begin + Result := SysUtils.Now(); +end; + +class function TDateTimeHelper.NowUTC: TDateTime; +begin + Result := IncMinute(SysUtils.Now(), GetLocalTimeOffset()); +end; + +function TDateTimeHelper.ToUnix(IsUTC: Boolean): Int64; +begin + Result := DateTimeToUnix(Self, IsUTC); +end; + +function TDateTimeHelper.ToString(Fmt: String): String; +begin + Result := FormatDateTime(Fmt, Self); +end; + +function TDateTimeHelper.ToString: String; +begin + Result := DateToStr(Self); +end; + +function TDateTimeHelper.AddYears(Amount: Integer): TDateTime; +begin + Result := IncYear(Amount); +end; + +function TDateTimeHelper.AddMonths(Amount: Integer): TDateTime; +begin + Result := IncMonth(Amount); +end; + +function TDateTimeHelper.AddDays(Amount: Integer): TDateTime; +begin + Result := IncDay(Amount); +end; + +function TDateTimeHelper.AddHours(Amount: Int64): TDateTime; +begin + Result := IncHour(Amount); +end; + +function TDateTimeHelper.AddMinutes(Amount: Int64): TDateTime; +begin + Result := IncMinute(Amount); +end; + +function TDateTimeHelper.AddSeconds(Amount: Int64): TDateTime; +begin + Result := IncSecond(Amount); +end; + +function TDateTimeHelper.AddMilliseconds(Amount: Int64): TDateTime; +begin + Result := IncMilliSecond(Amount); +end; + +function TDateTimeHelper.YearsBetween(Other: TDateTime): Integer; +begin + Result := DateUtils.YearsBetween(Self, Other); +end; + +function TDateTimeHelper.MonthsBetween(Other: TDateTime): Integer; +begin + Result := DateUtils.MonthsBetween(Self, Other); +end; + +function TDateTimeHelper.WeeksBetween(Other: TDateTime): Integer; +begin + Result := DateUtils.WeeksBetween(Self, Other); +end; + +function TDateTimeHelper.DaysBetween(Other: TDateTime): Integer; +begin + Result := DateUtils.DaysBetween(Self, Other); +end; + +function TDateTimeHelper.HoursBetween(Other: TDateTime): Int64; +begin + Result := DateUtils.HoursBetween(Self, Other); +end; + +function TDateTimeHelper.MinutesBetween(Other: TDateTime): Int64; +begin + Result := DateUtils.MinutesBetween(Self, Other); +end; + +function TDateTimeHelper.SecondsBetween(Other: TDateTime): Int64; +begin + Result := DateUtils.SecondsBetween(Self, Other); +end; + +function TDateTimeHelper.MilliSecondsBetween(Other: TDateTime): Int64; +begin + Result := DateUtils.MilliSecondsBetween(Self, Other); +end; + function MillisecondsToTime(Time: UInt64; out Days, Hours, Mins, Secs: Integer): Integer; begin Days := Time div 86400000; // 1000 * 60 * 60 * 24 (1 day or 24 hours) @@ -104,7 +400,7 @@ function FormatMilliseconds(Time: Double; Fmt: string): String; case p-q of 1: Include(Flags, fmtYearsNoPad); 2: Include(Flags, fmtYears); - else raise Exception.CreateFmt('FormatMilliseconds: Illegal format "%s"', [Fmt]); + else SimbaException('Illegal format "%s"', [Fmt]); end; end; 'M': begin @@ -112,7 +408,7 @@ function FormatMilliseconds(Time: Double; Fmt: string): String; case p-q of 1: Include(Flags, fmtMonthsNoPad); 2: Include(Flags, fmtMonths); - else raise Exception.CreateFmt('FormatMilliseconds: Illegal format "%s"', [Fmt]); + else SimbaException('Illegal format "%s"', [Fmt]); end; end; 'W': begin @@ -120,7 +416,7 @@ function FormatMilliseconds(Time: Double; Fmt: string): String; case p-q of 1: Include(Flags, fmtWeeksNoPad); 2: Include(Flags, fmtWeeks); - else raise Exception.CreateFmt('FormatMilliseconds: Illegal format "%s"', [Fmt]); + else SimbaException('Illegal format "%s"', [Fmt]); end; end; 'D': begin @@ -128,7 +424,7 @@ function FormatMilliseconds(Time: Double; Fmt: string): String; case p-q of 1: Include(Flags, fmtDaysNoPad); 2: Include(Flags, fmtDays); - else raise Exception.CreateFmt('FormatMilliseconds: Illegal format "%s"', [Fmt]); + else SimbaException('Illegal format "%s"', [Fmt]); end; end; 'h': begin @@ -136,7 +432,7 @@ function FormatMilliseconds(Time: Double; Fmt: string): String; case p-q of 1: Include(Flags, fmtHoursNoPad); 2: Include(Flags, fmtHours); - else raise Exception.CreateFmt('FormatMilliseconds: Illegal format "%s"', [Fmt]); + else SimbaException('Illegal format "%s"', [Fmt]); end; end; 'm': begin @@ -144,7 +440,7 @@ function FormatMilliseconds(Time: Double; Fmt: string): String; case p-q of 1: Include(Flags, fmtMinutesNoPad); 2: Include(Flags, fmtMinutes); - else raise Exception.CreateFmt('FormatMilliseconds: Illegal format "%s"', [Fmt]); + else SimbaException('Illegal format "%s"', [Fmt]); end; end; 's': begin @@ -152,7 +448,7 @@ function FormatMilliseconds(Time: Double; Fmt: string): String; case p-q of 1: Include(Flags, fmtSecondsNoPad); 2: Include(Flags, fmtSeconds); - else raise Exception.CreateFmt('FormatMilliseconds: Illegal format "%s"', [Fmt]); + else SimbaException('Illegal format "%s"', [Fmt]); end; end; 'u': begin @@ -160,7 +456,7 @@ function FormatMilliseconds(Time: Double; Fmt: string): String; case p-q of 1: Include(Flags, fmtMillisecondsNoPad); 2: Include(Flags, fmtMilliseconds); - else raise Exception.CreateFmt('FormatMilliseconds: Illegal format "%s"', [Fmt]); + else SimbaException('Illegal format "%s"', [Fmt]); end; end; else diff --git a/Source/simba.openssl.pas b/Source/simba.openssl.pas index 44db8699d..c623713d0 100644 --- a/Source/simba.openssl.pas +++ b/Source/simba.openssl.pas @@ -16,7 +16,7 @@ interface uses - classes, sysutils; + Classes, SysUtils; procedure ExtractOpenSSL; function LoadSSL(Debug: Boolean = False): Boolean; diff --git a/Tests/file.simba b/Tests/file.simba index 99a6f4ef0..bb34be05c 100644 --- a/Tests/file.simba +++ b/Tests/file.simba @@ -19,7 +19,7 @@ begin Assert(FileWrite(TESTFILE, 'Write')); Assert(FileRead(TESTFILE) = 'Write'); - Assert(MilliSecondsBetween(Now(), FileLastWriteTime(TESTFILE)) < 1000); + Assert(TDateTime.Now().MilliSecondsBetween(FileLastWriteTime(TESTFILE)) < 1000); Assert(FileSize(TESTFILE) = Length('Write')); Assert(FileWrite(TESTFILE, '0' * Round(0.25 * (1024 * 1024))));