From 7f49dc0758c227c293664aa50a40c05a9404d942 Mon Sep 17 00:00:00 2001 From: Ghost <62809003+Ghost6446@users.noreply.github.com> Date: Sun, 21 Apr 2024 09:27:40 +0200 Subject: [PATCH] Added compatibility for Win 7 #114 --- README.md | 179 +++++++++++-------- Src/Api/series.py | 3 +- Src/Api/site.py | 3 +- Src/Assets/win_7_install/explorer11.png | Bin 0 -> 34554 bytes Src/Assets/win_7_install/internet_option.png | Bin 0 -> 38726 bytes Src/Lib/FFmpeg/util/helper.py | 7 +- Src/Lib/Request/my_requests.py | 12 +- Src/Util/os.py | 3 +- run.py | 9 +- 9 files changed, 130 insertions(+), 86 deletions(-) create mode 100644 Src/Assets/win_7_install/explorer11.png create mode 100644 Src/Assets/win_7_install/internet_option.png diff --git a/README.md b/README.md index e499d8f..a1c5437 100644 --- a/README.md +++ b/README.md @@ -14,6 +14,7 @@ You can chat, help improve this repo, or just hang around for some fun in the ** * [Requirement](#requirement) * [Usage](#usage) * [Update](#update) + * [Win 7](#win-7) * [CONFIGURATION](#Configuration) * [DOCKER](#docker) * [TUTORIAL](#tutorial) @@ -65,114 +66,138 @@ python update.py python3 update.py ``` +## Win 7 + +Windows 7 does not enforce TLS 1.2 by default, which can lead to security issues. Follow these steps to ensure TLS 1.2 is enabled: + +1. **Update Internet Explorer**: + - Ensure Internet Explorer is updated to the latest version (11). + ![Internet Explorer Update](./Src/Assets/win_7_install/explorer11.png) + +2. **Enable TLS 1.1 and TLS 1.2**: + - Open Internet Options. + - Go to Advanced settings. + - Check "Use TLS 1.1" and "Use TLS 1.2". + + ![Internet Options](./Src/Assets/win_7_install/internet_option.png) + + > [!IMPORTANT] + > If Internet Explorer is not updated, these Registry values won't take effect. Also, ensure update "KB3140245" is installed. + > Microsoft Knowledge Article: [KB3140245](https://support.microsoft.com/kb/3140245) + +3. **Update Windows**: + - Ensure all important updates, including up to the latest 2020 Cumulative updates, are installed. This ensures the OS Trusted Certificates Store is regularly updated by Microsoft servers. + +4. **Registry Configuration**: + - After installing all the latest Windows Updates, download and run the Microsoft Easy Fix tool linked in KB3140245 article ([download link](https://download.microsoft.com/download/0/6/5/0658B1A7-6D2E-474F-BC2C-D69E5B9E9A68/MicrosoftEasyFix51044.msi)). + - Alternatively, add the following values manually by copying and saving them as a `.reg` file: + +```bash + Windows Registry Editor Version 5.00 + + ; Make all protocols available + [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp\] + DefaultSecureProtocols=DWORD:0xAA0 + + ; Make all protocols available + [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp\] + DefaultSecureProtocols=DWORD:0xAA0 + + ; TLS 1.1 + [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Client] + DisabledByDefault=DWORD:0 + Enabled=dword:1 + + ; TLS 1.2 + [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client] + DisabledByDefault=DWORD:0 + Enabled=dword:1 +``` + +They should be added automatically by some .Net framework update, but in case the OS doesn't have them added already, you can put them manually, this will also improve compatibility with a lot of new .Net apps + + ## Configuration -You can change some behaviors by tweaking the configuration file. +You can customize the behavior of the script by tweaking the configuration file. + +--- ### Options (DEFAULT) -* debug: Whether debugging information should be displayed or not. - - Default Value: false +- **get_moment_title**: Whether to fetch the title of the moment or not. + - **Default Value**: false -* get_info: Whether additional information should be fetched or not with debug enabled. - - Default Value: false +- **root_path**: Path where the script will add movies and TV series folders (see [Path Examples](#Path-examples)). + - **Default Value**: media/streamingcommunity -* show_message: Whether messages should be displayed to the user or not. - - Default Value: true +- **movies_folder_name**: The folder name where all the movies will be placed. Do not put a trailing slash. + - **Default Value**: Movies -* clean_console: Whether the console should be cleared before displaying new information or not. - - Default Value: true +- **series_folder_name**: The folder name where all the TV series will be placed. Do not put a trailing slash. + - **Default Value**: Series -* get_moment_title: Whether to fetch the title of the moment or not. - - Default Value: false +- **anime_folder_name**: The folder name where all the anime will be placed. Do not put a trailing slash. + - **Default Value**: Anime -* root_path: Path where the script will add movies and TV series folders (see [Path Examples](#Path-examples)). - - Default Value: media/streamingcommunity - - Example Value: /path/to/root +- **not_close**: Whether to keep the application running after completion or not. + - **Default Value**: false -* movies_folder_name: The folder name where all the movies will be placed. Do not put a trailing slash. - - Default Value: downloaded-movies - - Example Value: Movies - -* series_folder_name: The folder name where all the TV series will be placed. Do not put a trailing slash. - - Default Value: mytvseries - - Example Value: Series - -* anime_folder_name: The folder name where all the anime will be placed. Do not put a trailing slash. - - Default Value: myanime - - Example Value: Anime - -* not_close: Whether to keep the application running after completion or not. - - Default Value: false - -### Options (SITE) - -* streaming_domain: The domain of the streaming site. - - Default Value: forum - - Example Value: express - -* anime_domain: The domain of the anime site. - - Default Value: to - - Example Value: estate +--- ### Options (M3U8) -* tdqm_workers: The number of workers that will cooperate to download .ts files. **A high value may slow down your PC** - - Default Value: 20 +- **tdqm_workers**: The number of workers that will cooperate to download .ts files. **A high value may slow down your PC** + - **Default Value**: 20 -* tqdm_progress_timeout: The timeout duration for progress display updates in seconds after quit download. - - Default Value: 10 +- **tqdm_progress_timeout**: The timeout duration for progress display updates in seconds after quit download. + - **Default Value**: 10 -* minimum_ts_files_in_folder: The minimum number of .ts files expected in a folder. - - Default Value: 15 +- **use_openssl**: Indicates whether OpenSSL should be utilized for encryption during the conversion of TS files with key and IV. + - **Default Value**: false -* download_percentage: The percentage of download completion required to consider the download complete. - - Default Value: 1 - - Example Value: 0.95 +- **use_codecs**: Specifies whether specific codecs (e.g., h264 for video, AAC for audio) should be used for converting TS files to MP4. **May slow down your PC** + - **Default Value**: false -* requests_timeout: The timeout duration for HTTP requests in seconds. - - Default Value: 5 +- **enable_time_quit**: Whether to enable quitting the download after a certain time period. + - **Default Value**: false -* use_openssl: Indicates whether OpenSSL should be utilized for encryption during the conversion of TS files with key and IV. - - Default Value: false +- **tqdm_show_progress**: Whether to show progress during downloads or not. **May slow down your PC** + - **Default Value**: false -* use_codecs: Specifies whether specific codecs (e.g., h264 for video, AAC for audio) should be used for converting TS files to MP4. **May slow down your PC** - - Default Value: false +- **cleanup_tmp_folder**: Whether to clean up temporary folders after processing or not. + - **Default Value**: true -* enable_time_quit: Whether to enable quitting the download after a certain time period. - - Default Value: false - -* tqdm_show_progress: Whether to show progress during downloads or not. **May slow down your PC** - - Default Value: false - -* cleanup_tmp_folder: Whether to clean up temporary folders after processing or not. - - Default Value: true +--- ### Options (M3U8_OPTIONS) -* download_audio: Indicates whether audio files should be downloaded or not. - - Default Value: true +- **download_audio**: Indicates whether audio files should be downloaded or not. + - **Default Value**: true -* download_subtitles: Indicates whether subtitles should be downloaded or not. - - Default Value: true +- **download_subtitles**: Indicates whether subtitles should be downloaded or not. + - **Default Value**: true -* merge_subtitles: Indicates if you want to merge subs in mp4 file or separate files .vtt - - Default Value: true +- **merge_subtitles**: Indicates if you want to merge subs in mp4 file or separate files .vtt + - **Default Value**: true -* specific_list_audio: A list of specific audio languages to download. - - Default Value: ["ita"] - - Example Value: ["eng", "fra"] +- **specific_list_audio**: A list of specific audio languages to download. + - **Default Value**: ["ita"] + - **Example Value**: ["eng", "fra"] -* specific_list_subtitles: A list of specific subtitle languages to download. - - Default Value: ["eng"] - - Example Value: ["spa", "por"] +- **specific_list_subtitles**: A list of specific subtitle languages to download. + - **Default Value**: ["eng"] + - **Example Value**: ["spa", "por"] -* map_episode_name: Mapping to choose the name of all episodes of TV Shows (see [Episode Name Usage](#Episode-name-usage)). - - Default Value: %(tv_name)_S%(season)E%(episode)_%(episode_name) - - Example Value: %(tv_name) [S%(season)] [E%(episode)] %(episode_name) +- **map_episode_name**: Mapping to choose the name of all episodes of TV Shows (see [Episode Name Usage](#Episode-name-usage)). + - **Default Value**: %(tv_name)_S%(season)E%(episode)_%(episode_name) + - **Example Value**: %(tv_name) [S%(season)] [E%(episode)] %(episode_name) + +--- > [!IMPORTANT] -> If you're on **Windows** you'll need to use double black slashes. On Linux/MacOS, one slash is fine. +> If you're on **Windows**, you'll need to use double black slashes. On Linux/MacOS, one slash is fine. + #### Path examples: diff --git a/Src/Api/series.py b/Src/Api/series.py index 1123cc0..a3c608f 100644 --- a/Src/Api/series.py +++ b/Src/Api/series.py @@ -3,6 +3,7 @@ import os import sys import logging +from typing import List # Internal utilities @@ -30,7 +31,7 @@ table_show_manager = TVShowManager() # --> LOGIC -def manage_selection(cmd_insert: str, max_count: int) -> list[int]: +def manage_selection(cmd_insert: str, max_count: int) -> List[int]: """ Manage user selection for seasons to download. diff --git a/Src/Api/site.py b/Src/Api/site.py index 81508b1..feef8d3 100644 --- a/Src/Api/site.py +++ b/Src/Api/site.py @@ -3,6 +3,7 @@ import sys import json import logging +from typing import Tuple # External libraries @@ -185,7 +186,7 @@ def get_version(text: str) -> str: raise -def get_version_and_domain() -> tuple[str, str]: +def get_version_and_domain() -> Tuple[str, str]: """ Retrieves the version and domain of a website. diff --git a/Src/Assets/win_7_install/explorer11.png b/Src/Assets/win_7_install/explorer11.png new file mode 100644 index 0000000000000000000000000000000000000000..74cc75842eb2e3a809a4f3e5089f80f3be3ab1b9 GIT binary patch literal 34554 zcmXuKb9g1s(>@$-w6T+ujcwbuZQJ(7wv&yqv2AWPJhAO;Y@X!J=llHLxvu`BYo=?e zs=LrLcSk8HNFu`H!GnQ;AxcY$seplj$9^?>*l%AHd~Z!~Ffbx8X)$3nuV3f6p4|lE ztD}8Q#~ZG`Jg2EjB1CQ?RKh4qr&8#sbU!iHtBAxgP_Ij6)alevm6Z&kpfHqu9D~5% z=yTarE_I z#l5|G;o;x@ot;&Dby{1~MGA!|Qf>|d@Pw$vEiEZ0G8liCmWHLLW2Mt+56XMK`}-Se z219*`pcTUf8V2PI*gMso(%9-Lzrg#b|BkMx{{1Rz?N0Mf$egnqC&f+$H{t$Uj)JaSmeU0a*?R$iWVI5CQe-e4HhD$E|b((>#3>H-voD8u*@rAK;4J z*Lfec`m^A}5_79(5ue^AhyZMJ$khf!Pe{IQp}=d)Ari_!~hV zsBpjGQTKPcN)XC!XH7i3qp$t-zcl!gTLOQi#iQ)3aB}H6W0*s?Qid*J%(|9m`kTiiwGjJc(y*t-Qya=*?b^nWva72F!JQx%dmeYV&&Lx+A?D)N}Nl8M3*gcsI-Op5x>qkWzL4RCOVo}>(ADNB$d8b6>38!**eJY z-bMkUedjXSSC2ig=n>6QLu_0!uyZ~<{xu_?Klr)_*vp@YyM}Occ zQ7-vWBN_u@lA}N#RJgUA_B>>kYK@V>AV5%o3B-_xi*;|Z&u^*UKNSiK*6nwva3{F;5>4Ab zUeB^vEs=)85$}r2R4P(Gr9C}8=VxaJXzRKMp8}mY9H;DtoS~>Cy-J9sxRIz~LP`1J zM2)KcC>%JXrYxqx-R3D<^WPjsdrC}=~#?_^g*m~}K>LQ%TK2Fmqc zEND%`l~uGUC_tI3BKkTiYgS+@7aEmXPQDQGI)@^mJ4r}b;42o4n|}%v&Qb%!C2$$% zq*A$KBpqZBbSu;%ne-~C+R-$F-3BmqJ~~xWLQ~OQeqt*aCR_V#>K0 zdzxCI&f3#bPS!)ndpz_Vw)`N8j)kDU8b`N3oaFtB8TY3f@}a zIY%+1YYMEKB0QDR-@mN0*)Cg8B85NQ^n*DSIPc?5Ctf~QkFRHX+E@bKz3}kxzH;i~ zZu61ppv~_o{V`+7A4A1;bVL`Z;VE-wNgQIkT7;-p1V?qJ=gBAJtyHDz!|8FGsybCv z>VbMUUQObbzYi9%d6)tG|Q{2oCf8bQi5~+U`CKU znJuqaM}c|8DQ;Lckfr$Z0v=KzR>3rVNT37|r)I4=dKBI3v^5}{Z6t3Dm|-lu{Wt%tlS zf~!GKLoEaSqw?M3#YQwa--V*Q-Jc&dA@+wOf-gylas2I+6o)YtM!X`!0CTGmj5%OL zV|}m$MHH{>g2wN=*gN5)WB9$Cf7007f!)J8bf zq+hpNp%PI(@Qol1Et_dB{>Ng8s)#M1qMz-s1hCC^2#eBsOktC!;@oD;t|XGFNwRM` zp(cz)<56}0kV;yFGAlL__UE^77L_+t@$FA2ySU+Vno32K5W?(wG( zv8bsft7h)%P{YB_-f{~x5*%Am@itkMaCw#jdA8cKtYSU!0e2^T=`HmVJ@HyF5h*Bz zXQO4U#L`}a3Xx-CGbFg$5zZ8x+j?nr99)}CNyFzi-e|j5nOy|0(_AefY1OoSC=e9@ zginJq_eajmmbEo-NIkt@B`9kgC5zdgTfz$A5WR>PgAWaLtLbRn2qOT$NGGhOXO$v{ zi-j3zn2HmuTi)$|vnFvOAIBu#vL-=2msndhrP84%m4gx=a6AW56*nZ1g7tBxVZzFMU$<`@ropKHm;|%Wsy{qloy?~g4&|6 z31k3annS2Se)%D1q6=$m*Kq1!&&`6leGJcI&iSbJeC6L~dDo#-Gq|)4I!sF=ebJ$$)QECv>!tg=+ULbNr zV%?8erHS*_urMXHvq&__o#T4j`94@TAtph^TN0xNN@9YvETIFpMf8iE2+R=<^X+%CFNKKmHD%C(Lt9B5D%`AcozB zI)Za%+`+JB51a4gGmUEFh0Eh`AQ5PVBxkc-c3)tBd^qNLgQLHea@!ew%bI|u&{vG< z|0RoQi-&2WTy;QRVAuJCi)U*dt*`qs2O!@VMCO<@~|+22@Fr-?Gsb23)JLQ2H|dmd+@GCkl+ z^^jT%_upuq6f5IJgkfT_nLY_49N}XGXVrur#VUdk0VIgN;8~_r&YyRBh~W9iQEU9P%%k@`^1o!2_Mu^%#B*TLkw)&)Lw)%ux=**z zcUl6b-w+G}6ei^FDdR{Et@6d;qe#CND^8i*c;&i8>$ZiGVC?1P<@Lu1f>qXsvlY`0 z+A}k}(15R*K0q(@@l@M96=Ig}=OM!Jh+#8~C{8%xq*!k=e+qDeh}Fe8G=K`gVcaH5 zxStA%6xQWnj7*QsrX9Is;hR9;bP3{XBe=J`?0F^nmS(R3P35^iF_6w9igZ9($4G;> zo9?5uSBYv0JV??6o;Tzg&xbtBtcpyBY#e!}dKE*WNHC|hLWm_hA z&_wcj#`3^FXpyB-6#bb>xsitY7mC<3Z}6v@0k?Vl(fy`wj_uSb%(DB622e_Bim4WgIGeM*W&7hi&R$|(xKX5NUt1@$j~@y}ycJF@L7_TEcop3(8iqB# zh!$khwLOA0Tbd0%YWyRN5QPbAJgf+mk@TkunJJ;B%z8b0tdQ@+WtHh=od$Yosd1)< znBvPuKYf;tU~Eop--;(D*oGTuV+DSSs46+$V?TPD=R8S%OCBc16HJ*y33D-8;6?Z{zQeZB=hdNAvp)y=-*h z_5$eS0<%bLDaA7WBBe13`1Y#Ta5N-X_gjbePVDAeYU~4yf`(_1@HziT^^0%=`yjp`@Is*hJ*J<-vj#MOn z?q@lm6dtcS%Yj8$I*_AWKe}FchBOAlP12JuU>b1W-3;bkusjA-G5A7QG$XOXb1ECX zdNHQ1$jPz2rCO%5K1f$sw#&Y+USceo%0IFhk7@Xps4YD}*}K+g+4RM3E9ONlbZ#k$ z8JysS^deB?e)Es_yeRaXz&nuG=GH#qJmUy;)Vf)|9bGZ^Z|W`fBemUWT6aI&-Wp$_jBjm^>g_%;9?P*rNtTwh`0uS2%AdUFYOKNP|skRhao*? zwZH%2^tp)SS=$Hn6A3l8#X-U3F@R1|&OnjP^1HFB{g}AW>ll?n%3=x*Vf0Jp0B^d& zA8T_|avD13@*2$Q-XgK`J*7j+V;cO_yO~1+p|uH2rJ+wB4EO>McHl_AN?%{T_EFd$ zolhJ{xlF;L6tO$w8R=e!_m3g-Elye=bJ~Eti@OQtxIj6;K%uWzKB3^4OW~6s+a@{| ztHbei6e-uF-(}8G)>hfgbsp*SsDGRD@GvSsz?m#!`zdd!NGJa&JIa!|V+37dOHdMa zICh=e1(*crSeA{S@m9?!u}*u$=)yU8aWeSIbn-1mszI!5~O zGGP_JWyv-whc`vaI$-S|ewOgc!+1lb3231n1wHr!h%?{XosCqy8_SzZ`yd zGY$VWK4x8_|2cgZe0y|0VFP`eqQQ}1NPrn&Hz!2fpD@9LyWn+z)cIq`SGR(#i% zO`-od^2^6V;KAxy>oLrz18{ZJ9=NHR9u_q_3lXqey#KO$v(Nn``+E1Tr|)TV$^Xl9 zkiYx7j)3bb)b+(FtiW^}nfo)8pnYe8_c|qI+VqG9hFB-_WnJIvq%ZI&smbH`=(h!! zjAYHqaIh!+*1rAVi0GBPR-@J+NgfvoOO4dYy826!jRwEO$%GY%JW{kUO4QYhC^N1g zW9dc$r)!QU|9d<&MLbgyG#UEBnZ(iKv%5HSk2sgggB;#RsH$uxbu@G*zcQQ8?{kzJ zE|L?(IU#Tbc*>OU@b3!#-;^_m)$<3e%fnuE#Qgb-dcl9Ug0mnhE&r^v{rT#1rFtA# z#({KPIRU)$|8{KX#m;M%;qnot`Sw=Z`Of!s>nVQLy}VPRyecAAAfen*Xkl5@pI$+f zp1Mx|i~C~Y?1j6^u547t^)-=n;GFW{wGX)9X2f7VKGZ-=c<`~~ugT93UsP;fMduN0 zg`=zlEa!7+gpRNzzZlBrtFisv;`QgjCrr)vV{{56@UQHB3%r_y415XQ{|3o7NPqQ_ z)z|CI3%SVl1I(cV+#%~74$^=x1--A273fTsA@~8e{c>+ zkESnknkCaeYQ^8>tYb8pIBj!Xk?uQqVBGlgBMJ3)T{44ja+P90i0ntp4Ci8DI#bmG zy5{{145;$cU_AFdBCxxezv+`DyXo_qEx+R(Y})tv$AWU;VL^nW@v?CJdzz#3<$`bf z-3yQfEc2mFp8M1B?Ya%!jX&@mQSWY2k3&_~`^@nApX2sk@Mq4{7Z=XJQ#OM<_7u@q z!HKDDpA^>*mfYNL5Uf{w3s)N>?V}2Z@rFaEdD1q`%MQEj+kE(+Pax-aLa>PI%`Qii z_t5;?P3gDWt1(HZzrn@cJIxW#4-TSQHx$=E#6~hj3Y=3DnJh1DKBpQbnX$BS<5~;JF)n&X_cy zM$a%qfv$}9 znchE+1l0DIf9~CC$iD9bDC4A-lN_wzr@EYGxJv+%#G&^f{MXDqA8?OE`}gPH%VDig z#h7NDR)TSe0kVMm9%nv~K9y6dsEm()0ukcJq^r$8r(bSPN&JanJ-G}tQJ(YaGr4GC zra0R)Pg(eZ)5F9CI6!Ox-grimv!k}3xIA|MvHyT> z&-hW;+>$qVA~huU1~H%ZXbiB@uU83K{fJ%nI!*QONJi+mF0{YNsRz~o+SXApW*nEB zxWY}fy5GO$Ghs|*elF~vyUdDb(}A^e{bGIU2-mcvH{B5WN$9+_YpN{M;Pj6jOwaS3 zU1Qy|2;^(3+~3~BXe1~2w`(AhqxMraUP#@D1hut0K2c(Z@*ByeqSY|q_*f}OlXoML zCQ?*u*chsnNz_TPs}V%dORBq)WTW#F=Tl;4Ywrc0<0f@n9&<|8+)j0F{s>?kRz6zK5mF z{qx1;!t7lD%fd-nq^I!-8#P?56E%niAs&-~y5yFW8Y6sUf06yuT*o^V>)8u{iwaSy&`o7C$b( z(RI-Ki6ZNNIlMgNayLQq(ux3`B8EzOC3v`2T_;Xm12cN(+a)N5liRY+$qcPqb8n4q zokJr*F0!6S_>IPgsF#3O1Ay#Ql>H71O!# z4gEuI-n_v6=Pm0__AjGwF1zElBoPkl=e7Yp)1npST19Nus*PU9$C_v>{8A~%0z+5y z#$Lh)(eQnbmXLZW@EYS10@*vKd+0LuuGca63E`2{nmI|2q+{q{JiVGPj|!#NxfVynN;1qAPZKDdfMF1! z4}|Gz%7$;xUNzi0jDj#}NovD<_#&~|^&VuodH!`CPckr$AY6@UKTfuLzu<7B>G_fO z$!SSoNJN1r1l+W5GCw{csbpxf(-*&(=eYlq_tf| z`TA4F9_HyXB~Q5q+I~QPaA6%NqJIxK&Uay7e&6@kTkdjX%pJjJbq7ssw}(YMqv|?P z)ZBfy7`8;V7{}CPX<6jGIuCStn}A_8z8erW^t!-l1wlJKHSn?O`k+6VIXS{c>Wmd^ zgFX`T2!CGpz+Og3(qK84XIfSOiUN@Cd@7W1@8B-$^k2}J z&X(qUqMYAIaB~%$lb1Kk&MrUQMc1U5Ul8l8i25Sd^?r1Ilv%LIPnl&uyqtCWyMth6 zxa`Qj_)d<-STt?MqrdmYiMj<=OOIchEI$t{2M#a>Hj^e~4^o2S@&f`AYgJXmP=eBpQCo>a zGc~>be=Gn3rh}|gzMSJ)F9N7-<1Z_fZCK+YqmD2ClrR)f5+zx;+Bx$D ztM$*W;s^Sy_P%grb;X}HkgCsz1U0LA!R~NQg`1S46TO6gqCrP0duQ9*Du;B`ioNVQ zios>|Uw;*Yk;Q4Ggsx*oIosU=gxZ~DOTVO{1n%&fw(T@jcU-CyHCgInCGN!Acbu)V zWky>h(v0T7LAlO_3KvY_0O~p1bob-T*R7oQyFwW5w|GgfL(tM3X2#FoJ@M(cJlb{) zJ#hxcF-$UO%`3)s9_B)6BP+JVlOAklU~}Y}ppVc-un@`P6B7ZH80p|BJSoo5!`f&L zER%5yC*X!c1l2bH3&xcJH8HXRxIj)~Uk@~FHcDwhojNsnfVVC+!&@ig$J)wY4O36ExiC(qi+v=l*29?BdtOPq5siJ1BU;JJ z35p!M!JpueC)<63h=_=6?Cj$HI6>v52yJQl;2qSdHW*r;3-g%;`_$+#g8ZZ5IA#5{-3 z5dkO0E14Ec8f~&Sz{63#)rn;e=MF8wI)RBHl_9c4uK3RW=g~BBUUnPSv}}fg_5C0O zS~F+vwpMm4?O^jKPB2uMaJcTK;_jR3M(YlzVE8DFLB$ek2BEZ8pD0%t49d86=~o_J zn^H2^ck1qR<91xAyUyJe*4Q8_s$3Wrr0!uOl}KS0L7fiK zy*JtekZwrox4N<>k;;~8=)7UX>8EJtKD;D%)OJulWyZZ%xlVw*cDSCQ$nqae;1l>JRaaM3NzO{G`jc29=Hm@ar|xe?v0dgdmZft~vYgwLC1XVy%Msh%@LwARA5O(;>%d>8tLt$rq7la{BVfgDVRcpZo#l@gfSB!^ND1d>qLz@}WjOayZ}0xh3`>aX zx>TWxPIl3UmMP*>O}U?=J&70_Ni)EMHZ8kVqZ>j2SJpzLE%kj0g^w(7K@=MCi{Yg( zs8T9qDFvE_dN|3!4cNd@7z*hi39C9X!NbS5v>@Jf!P~C}2|WEeaxB?5K&wO}VfzMeP^GCFc7cA(V5kJ$(Ou-qS+Xelv4JSO^K{*u(vJCYE}nfJ5Es6N z=Rzlrcf?PfU2JV_>0E+(@0r;>0k@8_I-DAZ@1&-J3Kj@N3GI0=tvH6-&y$8Edslji>zsR>UO~}sNqXLzh8YH7K#xe6 zSw2jDUvYc2k8&;tD3~hKS`}j#qV}uaYfg%7_^6>O@u!^cQp7TVR#Uy4>Ou5Rs8BTg z;ChJ{FZXW>&NL~`G-U0h zYk&SFhclp4?hHNA#Iw2iGnbLoB&pRieAA>~rH)xKwuFQ^o-R zNnN5A$c^&aK|*ISULGe2ad&2AHHtO3!x?nca3~+O%8?~(ir{Bd3qRbu9<4LjjJ6D+ z7JrD@vPzF)fb#MQqMeWeTq+IPFGB$^;54N6pQuOUm9LPyFCQ%dHIRL3^T815o zxEh-$oa?-)hQs-pf`Ig3;*C@3a7t~E6sfNoER5*zDGGM&+#mVxXfsP>cVi18>29$r zO>kd2TRibbd8_iY7^a@-!IoB!CZhH5X4e-bs?2y9osD$s(`flLqk$$WuPNEGm#TUx zZ9Hf7B8~~b4>xRf&xTwU--*IgmyW9rcjf}cH3+9)xXqTsR8-vXgR6E!JPktx6M#-{ zVvDD|>xdAbDw!#zrraZ*BunGht)D>9VHUu&eZl3S>lN{@gO^&xN9#q*=l zrlX@lh^E0ZEy(q(75V}5p~4+;mjS)>O1Z>Qw9CgU5tD|gMmy?p@*P7H+PJ0Hb$y=Z z`mHXLj;7`8ae+gNbGSjLj0QLM59A(f#87A6H5;<=SX7{h(zu-YAg?MG>Iv14njWf2 z6Iq>TSx5it@>b)Vaw4aqoZ2X!;WSADi5W?0(n0Yu%AQ7ps}XCG0701Jv(w)2zkeKJ zK7D~DsG7+4VtCBv-7+-%zlD>e$6=vQ^<%Gdjq-eKmU^$JcfDSJZ)+%?%>WDFJ@X63{eNR$&;uoz*(XfyqHpNx3JB^Cv_3Y0(*);6x+AyanZ$Y$Ma@GZs zqwVhIz3Ij-+xstcY6bR0_uW6s9fu67rNg2|Vcm%7`l8OpFc@hjmN?D>*w(`Pe<1|& zis5YuE8COq?0U^zUj^ycV#}$GKz>IJQ2GMbiCG{royRaaDm$UFxqD~6S0Y*nHoL9g;R7ADO6)sJs(YK*eRUfH20B@1!e9k@qi>i>SbSldLJi-9PN! zQ_b-OdVhCi`@tWz{Su;ykx*eV3{R*qr7-I_cnb@26QpGr5hJhvd5WQ^Rt#EHs;q_g zaiQgUg=JDvcMTjJ@>;c_E-aUdR{n}h%waTh zfNvFl?rRCg(N^u0OQky}xG{_|__K0L(@jezL4T`UxJg5W&o4k$a^VvLZIHSkV&4YD zBra6)HV;HTe-#hzCPNjg?E=h?rWwlrwR$_Jhfd@7oYm~$oVmNM?PQhM>d6c-J-dVU zFl&RwgtM0PI2G~;3%rh5UxGYKzStf*Za9#**K>AHFX!ZW#U5_!^Xh6Qrf}$sJc~{4 z+Jj-|&!auMiNPIIQ&C+dfjF6z$;)nB*;cNwu8d?Vn&SRah7WYm*YQLMyx%Bj3E%RG z@-<0naT*s0+GCzy;~!n)QzSpG#X4)OsS0s-|6D4$TMD@&>p(wJWE&PNM&Tg#BoC%mt7E zTWR5oYd7zO@ak+OEMMqjI5fK%CFaYBy$&#OscqK}TetQaA7aNUr_u`c|0fD`F;V+c zHE71K9;e&$N|wv8%Y#Jn-N{M`6^iwPW?tq0Jq9J4!=z0#4);33*gX|<7mkynCWIsY z(u3amKW*dC#!X{yU*6MMKd0zSjbJ3 z=YaucMJ4H^Dg!`|rLmS@MjZcpOSLVIe}5y{7|Xvu_5Pj~DrdYUeI6HLN5Fg_Z=a8> zrU`yU_de}k>9qeq*>D_O!;DDK^``;*E6zfKfxd4kk8r#_&`XV#TS&gU#s4#S{qB$z zc12N3+_>yp5mg1%I+@@9A-eI!RyK_ox6~xIbVCcX2ArdDNq1xZ8?q9)L$8bT_ibDw z=N^tUAj#FS({m8#zsakgE$|vy&C5UwkCYx?Y3Z-N$^Jh%G+<%svDOiiB)>;n`XG!> zm{{RAqy76ot9%=j@(4mp!z+>D>Iti}Ak&d>6b8TR!nB7TsSGY!pAa=X>;KtoBvxbO zG}U=_fnaIo-8dyq&E@Tt?aDDx-Q-Fsl~{l*B(z|Tc=%g6H8xqr;-BFlPF0wK=FPT7 z2Cjaxre=G0rwWT8ZHx;q-U6@F^$y!8vb^is->;;Ztfgpxu%zAM_W&(>0Ol00EbLZe?2n?(U+Bfthj%+(im_7 zce~p%0MgIMjzfgrXrcl}2k-gjSR_-{ViRL-v`{5f?My1$27)CUiH7tq!9qkCe$anM z4+kSwlOmTk*vq@|k_}qNI`ZyZEUl?OqQ*Bg*lj$s&6Ueq>CbGD!aGCH08Tr<4e}9s z%KqWxc?Xt7NmsWyZH{sWurrQ!JB$QCs=yhOMMe}@;fX71^ACm=zMld#pyAAijm3p; zBE-D|_!)t*4BCqg><|=>ip(seRx+m__G7eV&9VZIzwl`hqNP)Kvji)sm!{hb_h-$a zKXuw<37T3Ti;5o@QazneJ3BebnN zOKcbagQ{NGt}0%K;y3o9@M@KLnM5NaBDtc?D$+j~D%TKS)tbp({)ouXXz%WwJ1m}N z$2JAc1z$Pp3<*QdpK}r|7MCTWIStmcjUvh4g|+c`cTOEH-*GAo{uhN_!%&#B_rLsY+xw($*rGUy|6owv&@Z|1AHwNJAbliAgUTl1rIla67?AfGE|yL*JLY&UTjZ1 za;N3d6PM{f;rU%@T72S!8RHTi9Quk8TkBrlobye~pUH?HnvLw_ZD!1(inokP*FH(2 zAxXgTQ%h&3Gr_gHena2(_{*O0zHKq#sY`6rTWmx1a)$)3>-J|{&NkSNwK{^KH+DG_ zkg^D{MrJiT!BZ_|tW~nN>o49Pj?z03U^x1;&*Rs4)0@@LJWXf}xw)n5VX>m++lE?~ zx5c>Hw_73%@HqOETy?`6i7(nC`UrO$ZCpUfT(qG(cO<#hN*{{TaCYRvgFnXkrMTvg_}U*W;eLMYmEjl9n=^9ks>n%=U&!_#?Dmf*V4 zLj}CAC9?C8irYDnpY!u{3)j!4wTzEQ$9jHChWNChp0UZ|lU#<6$JH6ih$zd#@Wx8_ zy7(r)@o7!{+z0wy+8+ktVz4b^B-gWZPWG25i0V;U^Y|Vsv61TcJB=JZMOk(7yPHOO zAOr2aUVFyODNSu&%D(5_-MgDySqV|>UV*R<6WwGjq3C^}4#K-l9+p@fwLA_oBkgsm zXV>2mt@9&G%;o8+o3}9Uyserbf*c6pRdRR2VPlDm18morz?ie&hSL+yyRmee%*R*h z*BdSw$LU?~9s%(%9+e4*@_CD;&xhSRew=oy6OG*_5t=+A0Tm7vnd|f~->E6;Ttr9p zdfe#=-J}FQH7M^)FM*BSd+}l3ms**}j=W2ErG?C>=SjD}yO;HEJAUP>Z}2gWPTje@ zo5g(Bv{OI(Y$d8{w>I$GRya$PJA?hyI8H>7fKVK|UK%QQs##(|f8r3Jdky99MqMDQrMS&zHS*eX#Fx2(6AT z<*r8R;9FXUuf=ES-6nlwxpbR#QO%m-GFDS0@m6~%*xc>|v2@E4k><-55yI@j!E@OO zQAj>r`i-M!xpLcGNy4a2av|(Ogz8o7F(69MS2N}rTQ^GVw|F0$TZfKRUH#=M+?B`8he2E{Eh=Iw*YA~w79=d~VOBQMmDT~`{r+f( z4>H-Gw8sZ0PP=6d*=+wR+5FRNB!d;PLs4KAg;C;9R`Tp51WT3c$!W3?R1FqW}( zVKPoL1v`NdZF_Xo{?~PdlPB2o$*!cpP3y)}aPoFrLx1}iru1d1wWZg(qM(4;B_JX9c6T{tye&vERa!WNtG3KS1qv zS-R-A-%9=4=@>ZZq;cyAP6zARbVvlhjy(5mRySytHI)3^Z8$$0^V&XN%5y$1*HG5O zfqjd(Br$}JNxPP&Hlkuo#j>|)6`KOi?=A-M`{89TlRq(Z7kRteG)ckOk>0H&(qYn1 zTnTyErr33tRjwmD3koW_8&h^vA%xAq$tCZ(;)?!~ne+Cfso=l!#dd5aGj=a7(kd(V z#F>8CZ;sx!!%VK*+o*$6hF}5aNZtC$hkUD|&}tN(a{ zeFf>$H*`3qz9xCSwG~G!`A|W+$GbJz#ceKz=xJ}LdH>emyp!Lx&~#=?AP^)lTNy%= zO`3OR2n60Z_+Hy>^_lXIj%3!g)_QvRCwy!5?-&Y954=|9bX2e-+Ye=LOv<``s^Od) z%ZFR~-aFp~k4os148>EulvxC@9Ewl!Y13~!tIG9Hru)v2n|8QP=r;Oc0c)yezwNdA zC3!SCLP+Y*iPrA{pY6K0(oy$Rxl2$%(?2K>^aOa%Yze=z4Yo%DVFms#o}zGm`rzkz z%2IY&*5lhSI7D@Ec6;rs;pDJ5-d2RqkA%`)54SHM&?Ibg*_C5<6gdL^(*?@H%M#7l zFC0sS2+WJ+*@>h;I1Un6CxASjLfEaqZ8R(Zc$4cAs`vw+#KJ@R(XXdiQ^md7exs2H zhVLBnZ7Re-y&h&E-#)+kqvl5tMlj}AGRdmR&#P%ne=3qyO)89jg$ud z;vxfWMc_yUPomW8%f6GY62GC}>jz<*&?BHjnSbks`#~vJE7X?u$Yi$Ll|Y@_ZFXHo zQas4%3YBf+>5G;PuG^&;w^&=Fkujmu|Pym7Fdb9S&|l$z|1 z>YCxGkUn3$`<-9?uMlc5HH}6OFFkd`OwsHBaI`ymQAKES1(pz#TPeiM0D{>EOw;$d z=$ql{(CFfR1$qmQl$nCBw2u49J|Nj?8)^r}Hc#WWAo1Ix{=ui!XUNIDV-e37JxBwW zcB|>J7K7t(;fkDLi}k!EGaV;u)X>`(L%2SEF(VT%q@czI;TdgM<7!#k0rUEXfSGF8z#h zHHHeBagE@u+tu{OSni_Ndh?0`m05#-4JS_Sk!RT^TRzzfSw^HkwdU`SL=qKFchi;Q ziaSbQSrjtY)SIt-i&;0i?dcWUIsnfWmg)}#99&Zsq_$ihDQ?=5XO!F{H3+vGEP`!+ zIDCKl3e1)~^~{dh>FGA%rlaaLi+{_ArYs|wHO-fo%`666iufxpneBRz$d-?vS{Y5$ z)adx!hGv)PB-S8ZNoj3ZZOlc&_h|yT8*?TwjafSLUyM~C)E?TWhepa$k)tTBSMM2$ zGqvS*kuooS+r=FqH)Z+NWQ}+X{2N~6qk&BgzHC45x-j_%$ycM5bj1ow2QLxpdo}7u zWo*QEg}dBY|DpHH9o68!-CZ*22S~_@-Ci51gf=b4nI*UI0W73W;T)wo8qRZ9i+PY-?Y34LK~1*HY-V_^SPM=fnLw+8_~01^+eU<6@mu^`4@E2j~;n%Abha zdTCyD=+(Mb(87VulULe;k-6=bYM7(W9I(HiT3lT-3o;9F2XfHyR~&_+SM`%Y6q*j< zuS?~4AFZbTiwZMT(|GDbx$8B!)>6>N3JLi$ZOr`~J*gA@{?`Re&Vs9*H`~%3~lb%y;rkR@^7T^td(O!%IEz}9g7d73J zA-{byYiFu5f#g`ic_q0pBO5r+!gHYX^c3O6R}$YMSZ1u5iNIyr`U|8m8gEN zh_IEp(vQQ~H`JT5Kd&%aNKNk5Ef?ImI6^qOjCqJuiRI~763V<_607N(i5QTSW^1dF z5u1xi7*TPNygdojJSQ?-UI{d!N#%b0mC%``S7`lj`l~{-i(|CqUC7stIqM-?sV5dA zI##6??u5|BWR|urlh)1emB)6vk>lU^)_=}g4yiW8i{cMakLa-AoW0l>oqK9 zb6bD;8z^-XAN|~ovc@}ib?MJJ!)Xp~A4_$3E}h{Y0)#sNM`=}wQ|=aZhlxTwf#Jo@ zk#|R>CZ=vi`vi;r5$5@g4khPQOhT)!vJ&6ok;_UdgF;|mj-t##^!BPwy|qWifhX#e zxktu%TH+QIK1V1K*_kTl-?yTyEq3b|Q8jaqnuoBj4N_gL+siV;!-v#GT?~S{I5lD= zYE>Fuk;*T2nxQ8_9S}Pg#f^Aqo% zYzSKT2QLob({372#zLnrHI|6sC1}Wgg%6PlZKEs**-|UqOsscrKLSccgh|<}W?8{q zlQ`HMjc`jSM|r!Q;fl@fZju=~fs;f(6xOEgU;7)G8>$|`nwrAG)IQP34a>fUhn3Nk zlxv{wcCpZ9=p0KcIk@SM@^!+OW3!jl?Fb}=h@xscwlb);xT<|QT7=tF^*P0W6-IiR zypDXM{V)_L3o7Fax{$wo--XBFTJLZCpT>9stmLW4AB@#Qfp{y@|CX?N`I;@_VD}9t z^j2E2@k4*?=7hOD(kCH$W|XD&$(?Ip9(`c-XGD~OLW7)Xk8yvob%&QV?^JSg3tVed zR5{;6^_X%{Q~dqf3mat5^h3(Rzk3MBKk>S~x{-FD5#VGy;ubxNQxQgt|G7!7+pBPiRZ@P+Yxm={8bB+(ayIcB4 zH)+ILzj8sb4RjaBZ!Ui`#J9&p*xOiT_Ai$VVCEdXXBeZYa#RGgI$Kx4X&}cR57jF_ z4ELO5Z~3o~V3NdC9UXYp4NElv9t~hBhLC@BTO2d3YRHlUbqP+ybH?8^x4$gQu1zrzeLI~@utDXEp8^r0 zmbv)T20Zy=qgV))RGE)D{4=tIsyCv_+&FaVEVoXJEd9LFFpYZE*V2Q8i8TMsIyu#2 z7l309sWQ5+3D_8Qkp|`{-l-eYpGaF};1iS->Lg3dOWcX)m=O1zrF~dxz=D1d zK;UO&5OFa3BF>@oaqm_*r?|IijUv1~xF9a8Sc+Ft>wvvU+$QjKDh-W|^JdKDRyu6L zu^A5S$IlqYveS$x>M5ovSMaq!1qjFM^7KenF^e!p^rxxtaq zx(sX-evsyjA&>&#(gD6b>{RNqmKb-BIgX#CRAtm;s_cob*LGV)-Ja)x)j{qtKfqND zJ_Si4p&h`^%B|!+L9x$a7t~9?HM?(1exFA#iTEw~4qhEmP5BXNrEOFLt4Kv9)Ac|C z*%45=b8JCpg#^C(N(SJ<@7dEaCxT3uFcc5YWO3Q`!hK)$rnLiObM8f(-RnnBnL(?4 z!9Lzb`Ey8Ef+^9r^A3Uz8Y!ZgNbDiIpAn}Al zzYvS5%GvqBhRiBi=Nut$wIt5{MEx72ZG4c4<;{^>Y%wQCG4-vC;oWKtax`#tc;iZJ zWcg87tbx0=;q0$@I%OE2z#5d3b6|WR{Hl~Y-pd?@2Lwa#a6`!pu7|s(-}c&JPS!>s zXw<4I9?qKUb68A~L2uiaSd6aiBmo*BeVwx>ZU^uub+tu89A(eY42hB+F%xE_}M0#o)%}v}Hm5!qk@lb6VGx1K2wd&1Xn*Mqr z4qzCkvl18ZGt6PP3bA&nwQa*rlb#-`sZWF9@{uy6jS82mdCGZs3Elc6WwHQ=zr-K8 zNs3KB3XiuxU&qlYu&n?Jp;(v?qA(W-HjXH7C$Pitq2n3@MMKU_!3znWJGDZQ$0 zsCG}kebneJ)V}jH7QX>ZiFTgW;O4rG=eJIAO&@lKZR^P?t3_ja=rwHR z%F(BBl%iYLAb-SK((S#G+hs)IEztYpkv?rzI!8Z9t&=~0{Z-ve?#Se)cI&NRy_GZ0 z5`sWJCX{GPX`)wojoOJ$oa#>emu*;r&zhX3MqDn{pf zpjT`7DoAZg1%+Kn=F-Gs9E9|;i&H-ZE_*u2T^d_4gRIr|?E!@-a1v+r9S0z^=xe82 zo9UizEc41XXL!+2e^EHf52uGM^q9zoW6K$ks9#TBTtc3R=1+n3y<1r0T&pdu=WyJ} zBfv_6xwO6kOSDitrjK-fwaER}$~7KB$Z{iNtG91Iuz}IB&|I%R@1>!rpu@}ApF0dc z^0Ukb222>anxd@p$D^Qs_Pin`b~`gea&JS(f`KUa6XN?o21hxKoWw{#Y0vSta#v-W zL;Y1(Z+`JoiySOnnP91`L$+StxQO`7{=#HRtrY;!I{Vobf{#URkWnW(^5vh#>D`*_ z#S#GVCs&N~8;h^S^V2pyArRG?S?HZxxnZWx!nL!MnbyH-L98zf%;l})WVJ?pqlJ}& zBCQe)%$A`yhdx5U>q9Sx+DZs$w4{BFNfW51oXb{2BGOdbn9|f_Sgm&3Gij}pa=g$^ zw^9+;dcS0JU<>cfi%yG*I{(jOFIlPLV3IZEwPVvrvo0J}+Jz=bglqtjV3&Pu?299z z1x?|nQ@}tvwNNxL{O0>p`!|4hjD)XfTPij)#O%k!HEn+(QVJZ!eMjOo^Nrh0q<|*WES?tfw>jKB_0CBu zkt#vsKA`MJAp1bsrUhRTC|H^a(6*#GQW0ZjI`p!E`IL|k7M&JkmhL7&!*Q;Ox+w(h9Icee ztW}?dai@O#+VR#H(((ywzcSw;U+KtOAaL0$`t$4g*v4w{DxZB^?-@YkYZ}x|9?M#k zccr#$voY#AEVRRRdzBt+^BZ`bQ4JcLOQQL#PSTspxmJx{{nXJv}j>b=9yi z_GM8h_10M1D|SxwJ^-;oSi>^K`vU(XOPCoJ_{K0w&5#+3ko+p}Y)WPG%wDdh_11!Q zIA{#L%)zBo=R)6at;C1p;m|ZJT2sw;jAW{(wRu%%vAV+AUR&@%i>%Qi!$*K&=}Y&# z*bGy_7)VHMoSCKi^_ke@F%eVqrd*L-r`g0NR0qR;H;q8>ma=ASoMy~jaJY>(&Ne{B z{>T%o;Jo#RO>lv&+jf+?Ie$yAoBvP#FvJf<#^YJG^axr(wzM}+PC&B5!p{(pRI@`p1j-5ddBXJ(fIj3~8K zKC#l@)KZ-@J(Z0!(Z_}Q3gkD1zMjctciX06{>&ZfqA58>bqhmoSMyd%w||i?)^CO| z5a(_ZXWD7|wB23z2Y}As1Qg`s(Z!VOsRf}H&*{w0#avIH#>WM6vWMLTEtZcJ*D^7H z$vYMtb9mdEjXu5d->SX$zdM~exmY5Kh})Wy{G`NJqy0&|eYH1txYpp`G?hm?dr3i= z=1El8)ehzgM@1xSnb3F=ID|Q)??NbK$21I5de;faHq7-`k|?$(@KcCS z&NE#1$^SS#^Q6YUc1}k$7hdcpeAL)k**E8~P6d^4A2Z=&An6AKfL}%0hn2r<+jxY~ z1-JfWHXgk&=`m(YD?}pjrM;a2(*(@Mt0t!}c2<7>`XDjCEAD@rpLp1@f7i+Fs^x-9 zuVXNas30Kub<5rhhB>2Uh35dmowph*k*KAvy5*UxjVb@kh`al+D^>J9ikgofPGQ{* z=YwO6LEF*k$GBHIEp}baVB1J>=(xMh9ZUjda>6fRU*-OhkW>KnouBfm#a$+Noqpia ziJVA7%OIp+YJNQpxcxkI>xUopQ+^$>t)80W!v@pjG}v>VE$K#-p(xOJn0BWa*6S)=YqS z%My9QlcLbrE%~i^yqs%U!ZN+MbMxIQ`)dx(FWMp0ziDTG0-ly^Xb`%%j1?~A_@>n| zUdBs*$hg_bIXn&EA>$_RMk`jMF!i-CGrqZ+IG&yZ zw2eE}WRAvdh@7AC?s{=#E}c|aN|Em#&#C)%at+>(;4M-G^Gf(p?I@jx&D-(`Ur|5y>0K@iI; z1!lOumBp^*B9@0BjY;a*}^uO9&5ETnXfXEI89x!CEhA=T?)M3%B;2U zZ{GGcv^)$nhoGFPBts{msbF?B>E?E4;cd!SSXCNojXh(5U=5~e)Hzr37qdwz4sLQn zu}q~q*gfwU1vk&BX|wgk%nMyB{4e5B=%!Dl)F;&xs+KgR$Sr!%&A*-t7S~Faph1zU z@jw|@z3qc)MQ1!eSSzkyfBHABdz5@5M#WgZz@)av>p6{xtzzMJPOn0yL)&SyeFW$f z6S;;lIryjcSD$AdXf>{;3TBFusai;$lNnU8`d>*GnpoLL6`v7{l(IMqAhqWZ3hIxY zT;sU!vG|i*O*JXUfDEQ+Y4n&rnA&7(VgnX0wipBM?>tQ)> zL`sEE80;Y24PE7W4UBN3!^xBOKykylQ=cDgJ$&psU@4SKl1@wG;vKT4jD$TBX!{+d zKikNK&9ZbaI1vstF@c+N*5GyNO`^}Nj+eQ?b-i}yiMceAHMY-_`DW} z_TpXG{3TP=O7Buqj+u=tX__KgVRxsq{YU1=$W<+8w#_t8XREDfLm*?@^61bjZK?`Y zyxwb-l1$Xd{Gq<69`&+JEnVfcn5xk}0APMsmRle>YAqtD8>N z!B5&pZc>d!!#FQ-&RLCjg1P+wXh2&r`9|ARt+Vy2c5(cx=D&&}Q>`6tMxQn5#;ARG z1;=lR_ZzL%-qXbH_7>|i;ZmEYu7j#;)`xf>&QE6#3hfW=F{$K_Y1|s4T-B>cv>&~F zzOY0Y-|r2bU%Okyq^f{1`z$ZUXmF+4I*fuQH64;B2>8w`%bgE*i%ucoyuKGM4Z_ci zFHkL;;~Xy&K-qhZoJ`FkCBKJEi?MiNN-|}%)~e_B>&Uk+M*Co~{ssCBTc<^Uttt7o zz4e+i2Hnx(hi(&Xgi;I1<*!GS=2BBMPFqex&TW3O2x zmYV2+%kuwDo;yEUeU7qnrpdsmr(CF*+)QwA@v3zrqe@6}KA_P^NR+|*y>%PU({&&% zGHndm+UN%xaqhJ+>NW1w=oH({+4hJC)GK7SYV>z3>na+G#X1#J@l76GwX*we=CM$V zZ!r~#*_Z78{`cDD^;O7_+gVz85nSqU(hr*7QyD09T)R1n1y%e5>G>mlXiuy3X9G4A z;BAga^>IIa`Ywf1xcF=CA){LADy)fHtYcyfq}=?_{|*iaeAw#~?(Z#)@A4=a z)=Lt`Z>r1PW5YMBx~(1n^7)>)G>a&qwrX(;MD}?3cQ+=$^XpjZq9bPJ>8}@DSZ%YP zfze;)zK_M-?nVRQtb;TX(fk?dJ(2gu<$q~Vp~}u*^SAW|s_iXzekbi0udt5x zVsakOr>(r9PgK+DfgQME_T%3yvFGgizIa{f8}4J!EEUzrJhlWXTDn1tDUTIGlnb7c zc_-$a6-|9C;A3m9g+MNg;6H!G{t`*{)t8Ekh_gixb?UPu6CSSoin45XnTj{`hK!TC z=x2RB)vm;lt^T}o0q^8O;cc(l)=*glgkpPY9W_jQ@O2%-6`E+C` z`rvW(F`dndUti8jzHUXUS6*y5&ex(Ky}g}N;)E4Nu05$@3Me1`La^n`?($_)T^gnR zrD;_)G3I7Vzl#pmI6V*UYns>X;m3+L_<)5)otCNa2pswl@Rvf%j^?L!k-1XPd3gAB zufBdHLhq%us-{}E;cys6`=g(dKxMxJ4=dJYy?$$d2L7+dvUyBSUt^`&FJI5`n+fJK z@2pjEamOBOcCLqY2)wqXoS~n51$oB~rD^n=v$+m6an$ReV&3`(xW?aH{ZSYhjMpQa z>}Jw`d*~n4uJBdTd{_8`O$l8I>B>@-NyA zgD8~KgglKjKRnygZR#^xln!~n?!|`C!RLAaEH9Mg@o zXUK-SP%o8=Nq`s)Odr;1<-q${ud`01{&=mNxX9@oq-wGh*e)Hrgu2;N`)VakfP(AV zB{)A~bUMBkhCF}j?diYPK&7Es5-+4l+R9pi)|?Yj!kTo%`c+4}=ySY;-TX z0aSC1p~p|dMQ;9dcPR`$is^Ogf2oM#ACs9A2lU&)+<0sF8`=$d$Y~Ef^!Y0{)Au>c z_`Z)s{TvjG(qJ%~aO}M3hpImZg$$xxCRK8Z(I547bz`P5Z=cNRI>@L^`|HXXK%y2O z^uf1|Gq8F|D%=i}&8@a{v>SHni3`ErFk9i$IoVZ47FAuB%li)J9pRVKvCM+NgbI%c zDFF+8_&1w_I5LUGAR{*(sB>-os6vZL$zlnX_h1b;4lFjRWe7i9i#|a1MDs`KlV2DP z@xb}1(uk3wjxpUTtPMlLm+k1Fl&_(vq0ys?vcjqTSk@nZdm*2j&rxhC?ZyGF{pD>@ zWw=~y_ot-nN2In??q|(zbeir&)wz+d4m+dIHn&ZudZVwmx14>C`)-EWJ7EY}U>{O9 zI)*%tAlg&=L!c^$xu_CKF|~l=B50T4%nAGQ-mL#|w8Gnw?u>)UU^$NSj!_fub%=Vs68 z>B3!)60w9OIZCDTH?uK&6>~42aT^uZ_3`lS|B!@ORU?dr20>1Si(z@=FdIcPl8&8z zRj6GMRMura)7n88*8Mvpc7yR%D~we6t!5sRP{>4_REw`D=3~&hw#LA}M%B_lIo+u} zzQ(ZlaIr?sHjl!buKe%MA1l6Za3+$qa>DJ3E-eu!|5-gA;`&&TZ1YrIn-wG|D46XM z*%F2+j*cPN+Q_sYz=O6JYtk_oVFJbHfr*WPZiwTJ;~++cRG+>E{HuN}ktD@}Wf^VR z8$F}RWPw!-Y;)3$Yd^0fcbXAGm2SdariUz91Tv0e`Sd$WAyi1A#w8q=wqNa(Vtt#V zs>(OQ>>Oh1Ky#9IQBQviOBYJP7mr^4wn9FA;Q&~F64>c)wLzc5R8lL38cw=HD~|d3 zE#ZM?j~^vlTuSr{Hz1ro;fRr!U!Fjt@Y&B^cxR%u6+`~;1vG=VxE!R77xz@xmctdM)d+L=U6#aDlA}BNrNDw$QH6XjB$g%+a zen!I_b-R*8hhD(P`?HAK4g*mv2`se&uo%g6OdEd0OqLAfE(E-vIg&ZykNuHkwZ^x> zg9kCYf*mD(ptGdJOkNUwUc6LDkYNIdr(IrQDzreScCg4^lp%vY!ic1yY2gG{DdfJ< z9}d1>1Wz20Q0=)U-6TA-(Pu@{Eo)69;AcQsXg^W4L9>3+)N2L@u}nF~tzT@Zg-`>V zB%H_6@mTQ=X1Zf)DtrBONQ{&%$Q&Dwp*Zb`lLDG2 z_3*CtPs^OmnxvC2`&(bh2~-H!!s;})z=YFua(e6=)hMA59@=!>GBL$>J8fFsZU}*t zmk9EGpC4m;$R8oxw@r|or&h8FJD0x=pJ}bsv!v&l6xKu_XX`C#wcv2bg&qAa9`h%W zi9aycQi-$HQ9=!)ikIidQJodwc@i-wp@Dw-^iYCdNV%XpZ0mbEV{9C#2j}VaKyWJG z*nAJGn?d=~QVM%pKe@#H+n5Q4hZmNkcB9h8YM(WmKCSEMFny7))Xc0%*s2|`Z)_Wv~DDwT46tX<>uKM+UEC+B-jDK_Phj{%!JgaQ3 zGlFPq>Gpidsm8lvN7?hU9pnWrSjD$Q8-fgXES|SgceCMd-xQDwG}ti5X0w(qaz8cZ zksOvY^CT=AR524mb@VTe9Ors4Pzf%9${nH&+g$q=(Gd3LCstDO!_VhqyJgO47?*m; zB{c6hGbhdm64Z-{o%JD!nck1>l!6heOWZ{Gi9cPDvxcwO+z*bX2&s@Lv6EGwKBcp{ zc{&~l!+j>W+hPuEqP?8xmw+v?Mz`O-L`FwMLPc~hw&0R-a{3#`$(y{G7cU2M18w*t zat}hXf~ud#ETx?U_Gix%L#>=03=wshoZYm-(o0J4rm09o;zsCQN=Z|0c#6@Fu{i-t zt(S*apBLGQRjbx9Wb_;B?sL05%Z;Kv!%M4u3U$6u&h@UF7E`;mY^W#ZWHi4(&Hl4s zJb~br$RoRz;;C_VA{u421zWzgZ*;GIxr(3QCd6g_eG@ON=tv)NwlK*KXh~QFKQ^#^ zQ@5h}q98x{iLOBarV&*iOs!jBbY>?rgOrV7HLiG38qAOKqgUbkEbVHRXeJ( zG&NeGfakbeMhLYau*CAVH7DjVWi18bw9+39K_Z^9kyD}jvmD|#Vs`7W(jR4Fm*lNs zM}#ZcYaA)5AxY#c6@q#wwxM6wae!! zs#b(7{Oej~Aw01DztLt_80?wKIJmXS-#E|1p|YCtvr2OjEIE4gG*;u?VYysCHCee$ zPoX;5^&*=)J|Xd^>TdbZGvkT zQgD>BP`6r1QO*)4L7SS>vwM;A^56&?J?{t)`A$hqz>kJtB-@tjQ)gE#TYr)T(9A`2 z==J5FL55;Je7V$6U_jOw3~ebPO3bY-vPSJKARbaKs3IHLqxSp7W7m-!W}8S0lTH5~ z#L2E({*hdF{2S|G`)OiHCb7XUVHKYX)Fjy6y`tL^5nQj9k~+ChPOjQr@Q8Rxc&!>i zUu8AwQ4^gkK;P1;;y9xe5_nC&Z@@JJtlPBglCfrzII0YHVSdj$I^XMC-z-M^@P7~S z`aM|CFmKCL^HbGkjAlM}=@x35?;Z=U>}BE;-yJXQvGM<^1yGNgx*O@ht>Ra}aBntY z6j}$}64@LW z<^F4Exupvf2V=Ex0PE^+AUbr*gu!oE4!mdLRAfzZGixFWZp;C!dIce3ZuBA_;?$kT z2+pVU(OS(>r-L-ZtWX6;o5+0(ncQ$MDKie{3CSAO6grrym7@&&1R^(gG{KV`(r}LkvQUgT#bSTJXqhDy9r~=5&UBi$<{1;KQ|oG!mBAw*>l*>ekD7DO8#o3KwI%x>ek4Fz}=Y; zMb&cNW{vZ^{4>oF1kSd>I*uDTg@T;h4MD_oyxz>6>Qdh&X`G12O03k_CDX}8wwhLY z=2zeFfM@w?D-Uj7G`8YpAKH#J!JbY_eiUJ!-=fLUaSc%a#b1s)^4ua z4AWtxF0KMIJGwyE=jw}0E9R#gnAVwE^YI@}$wn_5CXH_5{)z|0hO)J@pzcei5W9PG zyVr1s3y+1GhPeFTuq% zNC&)_@H{3buCxup-ufVrUNfWM!2ZSFoeKL=^^5Go$JOSt2j}`pY^1R0Ck@kPvFmg( zH!H$ht7eckTdg~*_(B56-L2HQ)cl5Xvs+puOwcq-X^(1thlFzWo3Ah(T_KA&E}#0) z($IrXMZwTjnmv5nQmhw4d zM6c8rHsOioAEZON+Qiqfg**w_6_=OwN(Z+2xelWoujTC}c$u07nqnzeZYrk5SIV=Y zg8Rqryp3)ap-s7tq&4B6P{1C$3SJ=&Hw(F1P~`$zeMY=6+*~Yuo%{V<3Yj_VAImDP zlXN7Tmy1?Iw9v&Cxxb?v?%wcu#OMyIPqs6szsx*pH;fE=bj|h@ZKvZQEnn<;NCL~L zfn-Kn8;0%iRpoO|!|4DUWda5F^rX<^J`!?wPhrnV9epTCr*1-|ZRXGhc zxh*mUkmcIj#&th`JYk7E#fPLiBb|6A_kRH!$8};jh6`XGxBrxx&{DmZD0Exf$~$W? z2bm+6ds*q4?^w7y@d^tCw-L#XPryCpl#Z!x;huGcE)gD`Mz$>$@^BC~FC8Yq;U@Uf z;3hmKUou?|27+7AR}_nlDPy*5Jhy4&R$0Z`Jc>$^qnXCjXpMADxKEq4C2aJ2kyG0P zGpItiTFcVp$<=21yPw`L93zjtX{f`4%3sLa`rS=5ajmA(D0RG9ijTLoaY`QLGs+Lk zV>35LZHktpMBHf0M|C%DH^bWf)Fu~pa+`9KA+-AIqXc03w*vRY)U^p&(YDH7&?}1X zTqZzAH)C{y(}a|3ay~ZB-{TrgwS!rZq#k=H%}kZTe7onQ{oeFW!u|S?0vJZC-{4ZrXC*>( zQ${i&4&vakwqlyorY;x{w5o7uhXW&rWZ4qt1N{Vgun z5~dS^iM>oxuL}5J1;cbS*2&k_f6n6Uvk@~)sFNfGZx;E(#?9}Iv%i3^v`^0Cp&X%5 zn=c<0DYQE)UOsD~yz-!DvJws$p|92KnG+HK{s$0XaQ9G901*h6Fk&#^V>UuHw_;cx zZ`+V+PbzlIyUKPN8^zRvip8|k;rD<&mIAq3UJpcm1+XRE%7(56S}YWmr^PiVZEKp8 z7-4y&I5rtK3fgLLL{j-6J9A76#oFvF#r30~rvinEp}qT4A>{h6`$|d2dDftv@iIHk zx|Z7o5wRk8GURBYPlMC5Jhyes1wlPO4aO*g^S|JUEuR)1U}zQ z=Jn69blEKoHjJ&oE$l`0{epKkKmKN1V6^vKsK=mr;$|1oN6Na-K02Did(e%2Qs2H$ z9TjqLiW0-ePWhODZtzMm; zk9%}Vxlu}Wd!bc<{r9cTePk#>8qZz(&L%nz7o-23S*1W z5ceB8x7`hG&nvQ)X$k~CU0yeD)AgeezUq{Z+~cIVhiNT>8~)e^Ta35+_v)FJ>v2Uy z0`!3;yAIuA;2ZL!XC8ulo8l%g&J0&PlS2W%nun zR@Ja;VOm-Q_Pe_>(y_z#Z%wQ>J!UV3;n6<4VoT=nW1VI0eobhWaY_mH96#^ZUnQ2F zFVJCgi~UT_D!>Ig+9n0J1XTUG;OIF^PF=D=nwTv)oH)f!Sp#8qR)fEnx@l2sC zDY=|1Zz(AoGWn6K+l^=hKLGnp@Kc1UNSti5~EH!Idjk#d{gmOHVUA%OHMm-9jJ z|BdU^Lt)bBauTeA+|Pp{LUn*&5BDj9rpLAU_s(K4-Z)oTgD%dgOqUfE>%?Mq$nls0 z5c-yTv)A@CnX$|=V|z3YSx}bOo4K_5VHvT-u1Bq}3kRro%u`3HPaZ@?K-?_er~-ZU zsNBQL1C>ISVmOY`S%3l$Y^HgmqHd}|ZWIT!trm6$TA4py8=V+4Ha@4M-eMM}zHkT@ zsF2oA2a?M>=o;dj7YE(eqvYDOt%GpvonYI+tS(*l@yze^&|G`{~%`b1lBZ6;>RHg>GlmqdeX=@wMZFSAFGV|A5@OVx8)v& zpKVRYGsI0D+^>_<45)z6!xv|BRJ$XUV9jfq@;~yIMCLQ|e`GG1sU&fqN>R=v&)=3Z>dW|a@Rt=YusDitc$6t($LT}9#^y^3HrXtlu`m}+^mWnrzFKU z`04$7JA<*UcS}}f+6|FV2v}JqG}sI}8_8xFn+2)1hObYzI=-*Bkvra}fBnK;9=0lU zarMc7pTL$_>>9vkoE(g$;&wg3!DiGm9!{XQUTKUD@nsp}4Zm#I%{1D~>0NQ2Cc>iA z_^T|>-y1_AT~t!CHK%PSOY7OcFJR_bR#XHls+g3PMvnH={y}?v$fW)q`e0g!OYR0t zK5U}+4%jrT_K6EVDZcIW&tD!AJzShxHDOR2F6OLPSL|Wz?h|ia74uuKwI-+9wI^fi zxp!8*tP!`x-EcqJ6+ZU+K5={gJM#z@vCB1{SUIwpo_CYeqGwD*oLF2Dv-^7aOaM5y zWu5VD9Wv~DnKMs4W?ITKSs9r>K-6QYuhVnNsn_rO(tXeRkTBG9z}0)5kkcs8YtztD zbkjbzn@F5jR))wfBHdv4cy+M0l4_*x~;Gb*n)y?L7mFy8(_0I z|1QN}@Z(t}_?k_7Xy`I>)am{ogMLwjJ?`rxU*7SaJ8b_tE`It(5iLP3&J7^5r1X(r zz%DmA2X+rM{bQ}e512v6{^u;rJVJg};SKudg@1}dyJC*N(oE9a$!OzT@5QrJmc>aY zifJmf|MmrMio(OgH&$k+gq`aecluk48yrgaaJ-`yHQmT^;8{~*HI>D1JU4a8vQ|DQ zfTIM_EtH*0C+7rQmyb*8jLj`nP%WgCVgDCuMgF?XrO4NxR}s+5;R=3mZ-0H6*3>Z9?h>fl}tQ|MX;JF6Cy~-&XDum8BWdu+HEw? zv^*e>BRnAx0fu%uIrl18EYC4-$+H>o?XO6zFD;qmefQ6`YN5x*V#%hWh#pwN)16|d$z_+oO=W>F*k}A&dv|fBx-cc1By0v-dxm$mt zUp_+%{d8Eis=YTm{exRStxYCl;S(@Bm&9emGFNR4vSRDkP*v;h?kAhA%Z$mf{){?- ze65rdJ=>!8-ag=!vcY|N{or-$vtn`UVCGO>;5&g%+a1|swphH@_d3`}7g#!4#)K0e zA0HkWd9|L%_gDOF)oU+45hCj=4W~~_*f2VLuPA(&6ugGRC42j2=P(fV&s2FuwfKJ$ z_vx(Ed!;{~2S4hKLqI{n`zkd6vrJeLy00IP5lQ=2yrTq^#WLEvTIQGf)h6D|hWdw8g6U-er>bWBGR9Oo*~-L=;H|QZN)-q7YVd zpxgxKNv=l5(;A3qii+9{O9zq#OoTevy>DRew3Pn@eR+GR%_YZ;UYBO z_84P*Rb1*bkrYQayCT2#T!PbU1-sTm-WfBRc`=g({^2IDULdZCT4NsIagvgfzA0h= zdw-e^9*~<PvuL(n_^}{wpmqd^WOPWaA&k(X3auXL`cK^?8N z@AU8HV(K_kmFdUpeUGi5RKVjax7+kjO(t`gv2^c|iC=_Z)+VLn#KgERa8U%GCZiVG zy?GI^8Dvsl=8*|PQxD6(!i$QE7L^R`>=;i;lym{e>`Wbo&1gEABRZ1G83mla5DqCuyrMV=0lV7eSS`c% z&Eu@yQ?OH?zn@m{S>SBL!gg7sE7PYa25_Z*EoaTc(N#>p?TG=!am{ryY`t}rLZuweE*kgFL1wgvv6Z2-ZY@3h3o@y5P{@Q=VwDE;4nz>&`zKcm4Fl)INSf7o$n`ob$2kyyF>IDGM1S`&rJo@OL&OxKUJ7?n69YniR8S zmdkD~lv>Paf|y0SPWUiP`vU})IFFWj1Ij#shs~|=0I~l$zUga#z)VDyH%wHw2tNH- zCNtUT*-bet{^Vfs;;te%oCx*MHz`jsE67mEwI5ox`~&Mbt0`E-u_|FJEL(^7(4# zLz>(8Bu9>Tn~08 zEnAbXX=t@9$UM`JqtrOnWP1_0$pUb=Q)5fH5WJsTr zWgBwNWOah<Ya_SR5f?SVmvlBUTT7E)vKOFE7;o(L$FBmRluCKMjkBlBRPd%J| zPl&JTCCWv{?*_%6 za(wxKI+P6pAC;{{DrfU)_MdKI@bHof=mYCU^Ao`zKF&)$8O6fwWPZ2eVeVCz!>eei zOs0E*qiu>+_O>Ro@aASn?*0&kr>%%=uZ(o5q;(sXHG1Z;1ERIX?fo8aI8(Rd<&Wd_$JPts*)w6=SJOz9Q%P_77 zyC4BhW$sBoSP=r(7#NtV-15Ig&r?4)a7~TF)e}5CG{)zTc;w;d&9>T-zG(8haqOl| zUR%bZXnWrz{2hZB%4QNoiliJ~)EJA@56mr(+8^s1V%s*ei8QogQej`$QQqY{fpbCy zz$rj#foIf3lZ-3cYEoyO;pP!Jm1c#z49idfv|Ngk9+@g$(uDgSZ4ahDfX~$Dq9E)) zp!&f0tEjSo_TuhJ3*CrQQyi{IxPIp7R&_K3rgLq8Zw=QjZrD#B`Fa#x5Vj&1cPGh zNW*f}2cq(?lhqTdiIjW!(RQlzd+zDWDzy8HJ%`*Wxb_ab%;K&lR(A;m;uJ^^a`RZ^ z&Dc1;{#_A_`I#22=wsP9DAvX2G$zDR%@AenHEmL+Z3^ZUAj)XxoE}n|%f#Pv;0I=w zzxpdZ7uC4#ScbZl_taba1oYpFE2gLp9XzW`v+J_a$+vLL*$_};5I6%di{RI3+cpvH zx}bUbD2NN&baZUjyaMhO65rq2N4$*RBB*=7Ln09uD!9W=h zp@&QtP?u0q(BoBZXumHRw=cs(`KmBv;X52gDd*G6aiP=S_A` zLfdaC_PRljy9A>HG$9|gb_qF!8JfyYU0j8^Pf_}&nzxA4j{p6AXCf%Rw>6FE?Kg+1i_Zgk z?|OzcFNdjNz!@l3fNe7UKk9=@))O;h^&Z4wv()qIW&=8$%BRz7O%e^mVzyi31GbJ6 zY|&8yj_DftpI*0z?zkJ(RB*Spp)jTU3()@CrzfuV|J^@F8#7__9P*sQ~IqAW1XgvW0rg0ft3;inLa6%0&iUZPB%l$w9?Z^ zI$@xM2Dt6s&fNH3F1p`4ES<e{atoFPHshTJdS1)sWBH%1D<|aQ?rk zx3{C?%@Mm^@<`o_c5@yE zltR7@DQwqFk`?A&U1Wd&A~S(MiE#){c$26Oaj?f*5KsjJ3EK0B5UJaZOFYh85^070 z8|GEjnjliCsp}Z3)nY`=JUF7&x6+q`BJx2+1t=pYfnCfkp#kDL&kvQ}vE{_ppw(%+ z%ej8T=k`VX&1>Rm=zpcru#%ExD}$2_t{<`bm8=M2J&fvE(8$NCu++2?<8Y9KP^&4P z;hjS51QxpJ<=Y0=y;UNRdYV8~ymk{j({)3-qnjk@hrhWSBqG(q=7vy3fKI3|i%FTh zc+@4Hcf3H{64&vH%Nrb|&Zw#YnFyg(PW{=aSK_zUoJhO&l!sNrXVvT5LZp29is3WX z`9B0|VU}-SfDz?JM@LT+^c83cTW=XL9+g^id*ho!TQf>aT)dtwf4P`d*L>XOU%AOd zxp;Yva-ceA9wSd&=N*5%-aGGe>AQ=qK50B_KCbTI zLaEX~5z)d1YMefJ7fP<~>vWU(K5MFdTzOgTQ?e?`TFtR ztn|3-`>6X=dYd$S?k62!_VIp+mT=9)^!=uL>*jGO?z&%8RK&6Dx*pr0IxAph8vxCMAyBRdr2q$dusS6;7TX?MsVJ3Ut}dr96VR8fcfP zlN44sL1vM@W{dS@d&3MZ2n~er4Bdd5N(EYzkdTpAK1X5C69( zz)}pvXmTo<<0V-=Hn>RkE&@|A5YfI#2Z-kr=(YRs?OK_qk49i=)yhZ+khdM1OyAcb zhzSEjG-npx|2IFdRChhspNTS`W(qahz_&7`tYodvXDwdmp6f<{{d!-Hp{zKj&jyVJ z|FI#|D1t9c`j12ET<#YeXNv_P0sW znE6@J7}D^0s_z__+~{-p+>1J02#~MJ0xfohioY*F|KEKEp;l5r_n9P?Lr6K^BNB*V zsJQUYN>g3HdsIWNgYNfN$p3^w!tf)Pf6AVjZhW8K4W~H}S+~|1E+z@I-&* zC@2`%adu(%KMtJxhQe83&=(lA(l%vG7!wep`&ojx>l(XGdt}a6m>m^aOqog z_X$?RrC8^1%6fr5H1p$sKk87&ruhr>jml{ptnukfPQKMV;J2*3@XL7--C@a%ucmg2 zF6OwzST>bYs@Rs4P|nJ$-KxIDzF4<;Z^C;QuFDB1Pa=K?fj~17NrFJUEZV5UV5{5o z`&{sut+WlFo8OC>hQyvmWwm^>{xQG7>F#no-RPH3w5;I)}EFY7b2cqbBL*=bF{G?vi05lYDicprD@a zcbw2+QuFZKSz=`#y~#8UE1;GNjUTy6>V1uFV{ZHD$Y#&SaarveS!XL_e- zt26YNOW>4;9~2f9g#zw~!**q$^V9zb90TM0U*nJO@Hk7`HpBW41fo9_1!LQMOi5U* zDPCqazn|Pc+%uJ?QDQ01NKxS^CKqE)Dxy5C%q&S8H8Z=s7!`uHgt0|sWAPx^RXB+< z6TjyZxxe*S?^&|a-OAV}9=H2g$+6p>jePpfl^i_qHQa7D#l^)G6%{2LjpE{BN=r*w zym&F^FHLYd@B$6DS7w!9tjv;)Mzm?3p}b7*gVvJCFrhh4x}np8GmMJg%4nF6CmRaI z)WVK8Ac^1ek=#eF&M%{3d{1RO63@5Vp3Qvn!|&(pD?j4=r3n@;Tu4bt2`-l_xuxN9 zxhO3y#q0I5{oa4im-n{d`t477_>*h6dHDiIiN&p-VfS7CFOybAzL0JdLB9OXGk0-h zP}UCQ#l;{qUzha{OEG;#KG#}G{#2sh&SB?}iWq_nh@`Sa&9Z{ED<=ep~zL;1;1exhEyc##ViE)WifdFP#XICJI<@4ovk z|McRqna+hW;-@@2-y$C;RzU~+QOviS{j%bzC*f-sj+6eZd}QBqPuNl6K% zrKPxBE(!_?;#^YZPm#;zqNJoGY7mU!fW^hdl$Din<;oSVT)D#JwJ;))NXkw- vK@bEXe=&F58y+UZ%VahlrKP1wM&thja>#_3`7`gP00000NkvXXu0mjf_K_>B literal 0 HcmV?d00001 diff --git a/Src/Assets/win_7_install/internet_option.png b/Src/Assets/win_7_install/internet_option.png new file mode 100644 index 0000000000000000000000000000000000000000..5e9b22c940970b23a70ca00cfeac89e46a64e27e GIT binary patch literal 38726 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

Mt1!zPD)ws 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 (float): return None -def format_duration(seconds: float) -> list[int, int, int]: +def format_duration(seconds: float) -> Tuple[int, int, int]: """ Format duration in seconds into hours, minutes, and seconds. @@ -315,7 +316,7 @@ def concatenate_and_save(file_list_path: str, output_filename: str, v_codec: str return output_file_path -def join_audios(video_path: str, audio_tracks: list[dict[str, str]], prefix: str = "merged") -> str: +def join_audios(video_path: str, audio_tracks: List[Dict[str, str]], prefix: str = "merged") -> str: """ Join video with multiple audio tracks and sync them if there are matching segments. @@ -401,7 +402,7 @@ def join_audios(video_path: str, audio_tracks: list[dict[str, str]], prefix: str return "" -def transcode_with_subtitles(video: str, subtitles_list: list[dict[str, str]], output_file: str, prefix: str = "transcoded") -> str: +def transcode_with_subtitles(video: str, subtitles_list: List[Dict[str, str]], output_file: str, prefix: str = "transcoded") -> str: """ Transcode a video with subtitles. diff --git a/Src/Lib/Request/my_requests.py b/Src/Lib/Request/my_requests.py index 6610c87..8148d0a 100644 --- a/Src/Lib/Request/my_requests.py +++ b/Src/Lib/Request/my_requests.py @@ -9,7 +9,17 @@ import re import urllib.parse import urllib.request import urllib.error -from typing import Dict, Optional, Union, Unpack +from typing import Dict, Optional, Union + +try: + from typing import Unpack +except ImportError: + # (Python <= 3.10), + try: + from typing_extensions import Unpack + except ImportError: + raise ImportError("Unable to import Unpack from typing or typing_extensions. " + "Please make sure you have the necessary libraries installed.") # Constants diff --git a/Src/Util/os.py b/Src/Util/os.py index 89cc633..3ec16c2 100644 --- a/Src/Util/os.py +++ b/Src/Util/os.py @@ -8,6 +8,7 @@ import hashlib import logging import re import zipfile +from typing import List # Costant @@ -223,7 +224,7 @@ def compute_sha1_hash(input_string: str) -> str: return hashed_string -def decode_bytes(bytes_data: bytes, encodings_to_try: list[str] = None) -> str: +def decode_bytes(bytes_data: bytes, encodings_to_try: List[str] = None) -> str: """ Decode a byte sequence using a list of encodings and return the decoded string. diff --git a/run.py b/run.py index 4fe8e90..14fe6b7 100644 --- a/run.py +++ b/run.py @@ -1,6 +1,7 @@ # 10.12.23 -> 31.01.24 import sys +import os import logging import platform import argparse @@ -42,6 +43,10 @@ def initialize(switch = False): Checks Python version, removes temporary folder, and displays start message. """ + # Set terminal size for win 7 + if platform.system() == "Windows" and "7" in platform.version(): + os.system('mode 120, 40') + # Get system where script is run run_system = platform.system() @@ -55,8 +60,8 @@ def initialize(switch = False): logging.getLogger('root').setLevel(logging.ERROR) - if sys.version_info < (3, 11): - console.log("Install python version > 3.11") + if sys.version_info < (3, 7): + console.log("Install python version > 3.7.16") sys.exit(0)