From 68c157522b25a92455a04a6de5fc3ca309dc0274 Mon Sep 17 00:00:00 2001 From: Mohammad Foroutan Date: Tue, 24 Sep 2024 15:21:45 +0330 Subject: [PATCH] start --- .gitattributes | 1 + .gitignore | 4 + app.py | 229 ++++++ app.spec | 43 ++ gfw/.gitignore | 5 + gfw/Android/README.md | 22 + gfw/Android/matsuri_http_config.json | 137 ++++ gfw/Android/neko_http_config.json | 142 ++++ gfw/Android/pyprox_HTTPS_v1.0.py | 503 +++++++++++++ gfw/Android/v2rayN_http_config.json | 86 +++ .../How_Make_Our_DoH/DoH_json_format_test.py | 68 ++ .../How_Make_Our_DoH/DoH_wire_format_test.py | 73 ++ gfw/Direct_DoH/How_Make_Our_DoH/README.md | 48 ++ gfw/Direct_DoH/README.md | 8 + gfw/Direct_DoH/pyprox_HTTPS_v2.0_DirectDoH.py | 411 +++++++++++ gfw/Irancell/README.md | 3 + gfw/Irancell/pyprox_HTTPS_v1.0_irancell.py | 490 +++++++++++++ gfw/Irancell/v2rayN_HTTPS_config.json | 86 +++ gfw/LICENSE | 674 ++++++++++++++++++ gfw/README.md | 102 +++ gfw/ServerLess_TLSFrag_Xray_Config.json | 192 +++++ gfw/ServerLess_TLSFrag_Xray_Config_New.json | 192 +++++ gfw/__init__.py | 0 gfw/asset/IP_Log.png | Bin 0 -> 38487 bytes gfw/asset/customize_params.png | Bin 0 -> 33621 bytes gfw/asset/firefox_proxy.png | Bin 0 -> 14960 bytes gfw/asset/install_packages.png | Bin 0 -> 3794 bytes gfw/asset/neko_bypass_app.jpg | Bin 0 -> 84567 bytes gfw/asset/neko_http_config.jpg | Bin 0 -> 77291 bytes gfw/asset/neko_http_menu.jpg | Bin 0 -> 59761 bytes gfw/asset/offline_DNS.png | Bin 0 -> 36675 bytes gfw/asset/slide2.png | Bin 0 -> 97243 bytes gfw/asset/swiss_army.png | Bin 0 -> 158774 bytes gfw/asset/temp.txt | 1 + gfw/asset/v2ray_custom.png | Bin 0 -> 41506 bytes gfw/pyprox_HTTPS_current.py | 592 +++++++++++++++ gfw/pyprox_HTTPS_v1.0.py | 468 ++++++++++++ gfw/v2ray_HTTPS_config.json | 108 +++ requirements.txt | 26 + 39 files changed, 4714 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 app.py create mode 100644 app.spec create mode 100644 gfw/.gitignore create mode 100644 gfw/Android/README.md create mode 100644 gfw/Android/matsuri_http_config.json create mode 100644 gfw/Android/neko_http_config.json create mode 100644 gfw/Android/pyprox_HTTPS_v1.0.py create mode 100644 gfw/Android/v2rayN_http_config.json create mode 100644 gfw/Direct_DoH/How_Make_Our_DoH/DoH_json_format_test.py create mode 100644 gfw/Direct_DoH/How_Make_Our_DoH/DoH_wire_format_test.py create mode 100644 gfw/Direct_DoH/How_Make_Our_DoH/README.md create mode 100644 gfw/Direct_DoH/README.md create mode 100644 gfw/Direct_DoH/pyprox_HTTPS_v2.0_DirectDoH.py create mode 100644 gfw/Irancell/README.md create mode 100644 gfw/Irancell/pyprox_HTTPS_v1.0_irancell.py create mode 100644 gfw/Irancell/v2rayN_HTTPS_config.json create mode 100644 gfw/LICENSE create mode 100644 gfw/README.md create mode 100644 gfw/ServerLess_TLSFrag_Xray_Config.json create mode 100644 gfw/ServerLess_TLSFrag_Xray_Config_New.json create mode 100644 gfw/__init__.py create mode 100644 gfw/asset/IP_Log.png create mode 100644 gfw/asset/customize_params.png create mode 100644 gfw/asset/firefox_proxy.png create mode 100644 gfw/asset/install_packages.png create mode 100644 gfw/asset/neko_bypass_app.jpg create mode 100644 gfw/asset/neko_http_config.jpg create mode 100644 gfw/asset/neko_http_menu.jpg create mode 100644 gfw/asset/offline_DNS.png create mode 100644 gfw/asset/slide2.png create mode 100644 gfw/asset/swiss_army.png create mode 100644 gfw/asset/temp.txt create mode 100644 gfw/asset/v2ray_custom.png create mode 100644 gfw/pyprox_HTTPS_current.py create mode 100644 gfw/pyprox_HTTPS_v1.0.py create mode 100644 gfw/v2ray_HTTPS_config.json create mode 100644 requirements.txt diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..ea6bcea --- /dev/null +++ b/.gitattributes @@ -0,0 +1 @@ +ffmpeg/ffmpeg.exe filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..24e7908 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +env +dist +build +gfw/DNS_IP_traffic_info.txt diff --git a/app.py b/app.py new file mode 100644 index 0000000..306eb91 --- /dev/null +++ b/app.py @@ -0,0 +1,229 @@ +import time +import webbrowser +import threading +import os +import sys +import yt_dlp +from urllib.parse import urlparse +from PyQt5.QtCore import QThread, pyqtSignal +from PyQt5.QtWidgets import ( + QApplication, QWidget, QLabel, QLineEdit, QCheckBox, QPushButton, + QVBoxLayout, QMessageBox, QProgressBar, QComboBox, QFileDialog, QHBoxLayout +) + +# GFW Proxy import (assumed it's correct) +from gfw.pyprox_HTTPS_current import start as gfw_proxy_start + +# Set the ffmpeg path based on OS +def get_ffmpeg_path(): + if sys.platform == "win32": + return os.path.join(os.path.dirname(__file__), 'ffmpeg', 'ffmpeg.exe') + elif sys.platform == "darwin": # macOS + return os.path.join(os.path.dirname(__file__), 'ffmpeg', 'ffmpeg') + else: # Linux or Unix + return os.path.join(os.path.dirname(__file__), 'ffmpeg', 'ffmpeg') + + +class DownloadThread(QThread): + progress_signal = pyqtSignal(int) + finished_signal = pyqtSignal(str) + + def __init__(self, video_url, proxy, is_playlist, quality, audio_only, download_path): + super().__init__() + self.video_url = video_url + self.proxy = proxy + self.is_playlist = is_playlist + self.quality = quality + self.audio_only = audio_only + self.download_path = download_path + + def run(self): + # Get the FFmpeg location + ffmpeg_path = get_ffmpeg_path() + + # Basic YDL options + ydl_opts = { + 'progress_hooks': [self.progress_hook], + 'outtmpl': os.path.join(self.download_path, '%(title)s.%(ext)s'), + 'ffmpeg_location': ffmpeg_path, # Specify FFmpeg binary + 'retries': 5, + 'noprogress': True, + 'ignoreerrors': True, + 'continuedl': False, + } + + if self.proxy: + ydl_opts['proxy'] = self.proxy + + if self.audio_only: + ydl_opts['format'] = 'bestaudio/best' + ydl_opts['postprocessors'] = [{ + 'key': 'FFmpegExtractAudio', + 'preferredcodec': 'mp3', + 'preferredquality': '192', + }] + else: + # Set video quality based on user selection + if self.quality == '720p': + ydl_opts['format'] = 'bestvideo[height<=720]+bestaudio/best' + elif self.quality == '480p': + ydl_opts['format'] = 'bestvideo[height<=480]+bestaudio/best' + elif self.quality == '1080p': + ydl_opts['format'] = 'bestvideo[height<=1080]+bestaudio/best' + else: + ydl_opts['format'] = 'best' + + try: + with yt_dlp.YoutubeDL(ydl_opts) as ydl: + ydl.download([self.video_url]) + self.finished_signal.emit("دانلود و ترکیب فایل‌ها با موفقیت به پایان رسید!") + + except Exception as e: + self.finished_signal.emit(f"دانلود شکست خورد: {str(e)}") + + def progress_hook(self, d): + if d['status'] == 'downloading': + downloaded_bytes = d.get('downloaded_bytes', 0) + total_bytes = d.get('total_bytes', d.get('total_bytes_estimate', 0)) + + if total_bytes > 0: + progress = int(downloaded_bytes / total_bytes * 100) + self.progress_signal.emit(progress) + elif d['status'] == 'error': + self.finished_signal.emit("دانلود شکست خورد. لطفا دوباره تلاش کنید.") + + +class YouTubeApp(QWidget): + def __init__(self): + super().__init__() + self.init_ui() + + def open_link(self, url): + webbrowser.open(url) + + def init_ui(self): + # Create the widgets + self.note_label = QLabel("با باز بودن برنامه میتونید روی پورت ۴۵۰۰ یوتوب روی بدون فیلترشکن نگاه کنید") + + self.tut_label = QLabel('برای آموزش کلید کنید') + self.tut_label.linkActivated.connect(self.open_link) + + self.url_label = QLabel("YouTube Video URL:") + self.url_input = QLineEdit(self) + + self.proxy_label = QLabel("Proxy (optional):") + self.proxy_input = QLineEdit(self) + self.proxy_input.setText("http://127.0.0.1:4500") + + self.playlist_checkbox = QCheckBox("Is this a playlist?", self) + + self.quality_label = QLabel("Select Quality:") + self.quality_combo = QComboBox(self) + self.quality_combo.addItems(['720p', '480p', '1080p']) + self.quality_combo.setCurrentText('720p') + + self.audio_only_checkbox = QCheckBox("Download Audio Only (MP3)", self) + + self.path_label = QLabel("Download Path:") + self.path_input = QLineEdit(self) + self.path_input.setReadOnly(True) + + self.browse_button = QPushButton("Browse", self) + self.browse_button.clicked.connect(self.browse_folder) + + self.set_default_download_path() + + self.progress_bar = QProgressBar(self) + self.progress_bar.setValue(0) + self.progress_bar.setMaximum(100) + + self.progress_bar_note = QLabel("تکمیل شدن دانلود چند مرحله داره.\n" + "۱. دانلود ویدیو\n" + "۲. دانلود صدا\n" + "۳. ترکیب کردن تصویر و صدا\n" + "به همین دلیل ممکنه چند بار به صد درصد برسه.") + + self.submit_button = QPushButton("Submit", self) + self.submit_button.clicked.connect(self.start_download) + + # Layout configuration + layout = QVBoxLayout() + layout.addWidget(self.note_label) + layout.addWidget(self.tut_label) + layout.addWidget(self.url_label) + layout.addWidget(self.url_input) + layout.addWidget(self.proxy_label) + layout.addWidget(self.proxy_input) + layout.addWidget(self.playlist_checkbox) + layout.addWidget(self.quality_label) + layout.addWidget(self.quality_combo) + layout.addWidget(self.audio_only_checkbox) + layout.addWidget(self.path_label) + layout.addWidget(self.path_input) + layout.addWidget(self.browse_button) + layout.addWidget(self.progress_bar) + layout.addWidget(self.progress_bar_note) + layout.addWidget(self.submit_button) + + self.setLayout(layout) + self.setWindowTitle('YouTube Video Downloader') + self.setGeometry(100, 100, 400, 350) + + def set_default_download_path(self): + if sys.platform == 'win32': + default_path = os.path.join(os.getenv('USERPROFILE'), 'Downloads') + elif sys.platform == 'darwin': + default_path = os.path.join(os.path.expanduser('~'), 'Downloads') + else: + default_path = os.path.join(os.path.expanduser('~'), 'Downloads') + + self.path_input.setText(default_path) + + def browse_folder(self): + folder = QFileDialog.getExistingDirectory(self, "Select Download Folder") + if folder: + self.path_input.setText(folder) + + def start_download(self): + video_url = self.url_input.text() + proxy = self.proxy_input.text() + is_playlist = self.playlist_checkbox.isChecked() + quality = self.quality_combo.currentText() + audio_only = self.audio_only_checkbox.isChecked() + download_path = self.path_input.text() + + if not video_url: + QMessageBox.warning(self, "Input Error", "لطفا لینک ویدیو یوتیوب را وارد کنید") + return + + if not download_path: + QMessageBox.warning(self, "Input Error", "لطفا مسیر ذخیره‌سازی را انتخاب کنید") + return + + self.submit_button.setEnabled(False) + + self.download_thread = DownloadThread(video_url, proxy, is_playlist, quality, audio_only, download_path) + self.download_thread.progress_signal.connect(self.update_progress_bar) + self.download_thread.finished_signal.connect(self.download_finished) + self.download_thread.start() + + def update_progress_bar(self, value): + self.progress_bar.setValue(value) + + def download_finished(self, message): + QMessageBox.information(self, "Download Status", message) + self.submit_button.setEnabled(True) + self.progress_bar.setValue(0) + + +if __name__ == '__main__': + # Start the GFW proxy in a separate thread + gfw_thread = threading.Thread(target=gfw_proxy_start) + gfw_thread.daemon = True + gfw_thread.start() + time.sleep(1) + + app = QApplication(sys.argv) + window = YouTubeApp() + window.show() + sys.exit(app.exec_()) diff --git a/app.spec b/app.spec new file mode 100644 index 0000000..9e3ecc8 --- /dev/null +++ b/app.spec @@ -0,0 +1,43 @@ +# -*- mode: python ; coding: utf-8 -*- + +block_cipher = None + +a = Analysis( + ['app.py'], # Main script + pathex=[], # Additional paths, if needed + binaries=[], # External binaries (we'll add ffmpeg later) + datas=[('ffmpeg/ffmpeg.exe', 'ffmpeg')], # Add ffmpeg to the bundle + hiddenimports=[], # Any hidden imports can be added here + hookspath=[], + hooksconfig={}, + runtime_hooks=[], + excludes=[], # Modules to exclude + noarchive=False, +) + +# Build a .pyz archive of all the pure Python files +pyz = PYZ(a.pure) + +# Bundle the .pyz with binaries, scripts, and any additional files +exe = EXE( + pyz, + a.scripts, # Scripts to be included + a.binaries, # External binaries like ffmpeg + a.datas, # Data files like ffmpeg.exe + [], + name='app', # Name of the final executable + debug=False, + bootloader_ignore_signals=False, + strip=True, + noarchive=True, + upx=True, # Use UPX to compress the executable (optional) + upx_exclude=[], + runtime_tmpdir=None, + console=False, # Set to False if you don't want a console window + disable_windowed_traceback=False, + argv_emulation=False, + target_arch=None, + codesign_identity=None, + entitlements_file=None, + onefile=True, # Bundle everything into one .exe file +) diff --git a/gfw/.gitignore b/gfw/.gitignore new file mode 100644 index 0000000..599761a --- /dev/null +++ b/gfw/.gitignore @@ -0,0 +1,5 @@ +env +dist +build +DNS_IP_traffic_info.txt +__pycache__ \ No newline at end of file diff --git a/gfw/Android/README.md b/gfw/Android/README.md new file mode 100644 index 0000000..5c9cbac --- /dev/null +++ b/gfw/Android/README.md @@ -0,0 +1,22 @@ +# نحوه اجرا +1. ابتدا کد پایتون را روی گوشی (یا کامپیوتر) اجرا کنید
+(ویدئو آموزشی از نحوه اجرای کد پایتون در گوشی های اندرویدی https://t.me/ircfspace/124) +2. کانفیگ HTTP را روی nekobox یا matsuri بسازید مطابق شکل زیر + +

+اگر پایتون روی گوشی اجرا شده آدرس 127.0.0.1 و اگر روی کامپیوتر باشد ادرس ip کامپیوتر مثلا 192.168.1.2 را میدهید
+

+اگر روی vpn mode هستید باید ترافیک پایتون را از vpn مستثنی کنید
+

+3. در صورت تمایل میتوانید بجای ساخت کانفیگ ، فایل آماده json را import کنید (و بعد باید پایتون را از vpn مستثنی کنید) + +# رفع اشکال +- برنامه v2rayNG روی گوشی از پروتکل HTTP پشتیبانی نمیکند بنابراین از nekobox یا matsuri استفاده کنید +- اگر مشکل loading video دارید از نت ایرانسل استفاده کنید +- از داخل کد ، num_fragment را میتوانید از 10 تا 100 یا حتی بیشتر به دلخواه تنظیم کنید +- زمان fragment_sleep را از 0.001 تا 0.01 به دلخواه تنظیم کنید + +# آپدیت 30-2-1402 +- قسمت logging از کد حذف شد چون نیاز به دسترسی برای نوشتن فایل داشت و در برخی گوشی ها خطا میداد. +- تمام print ها کامنت شد که پردازش روی گوشی ایجاد نکند +- کانفیگ مخصوص nekobox و matsuri قرار داده شد diff --git a/gfw/Android/matsuri_http_config.json b/gfw/Android/matsuri_http_config.json new file mode 100644 index 0000000..8d627d8 --- /dev/null +++ b/gfw/Android/matsuri_http_config.json @@ -0,0 +1,137 @@ +{ + "dns": { + "fallbackStrategy": "disabled_if_any_match", + "hosts": {}, + "queryStrategy": "UseIPv4", + "servers": [ + { + "address": "https://8.8.8.8/dns-query", + "domains": [], + "uidList": [] + } + ] + }, + "inbounds": [ + { + "listen": "127.0.0.1", + "port": 2080, + "protocol": "socks", + "settings": { + "auth": "noauth", + "udp": true + }, + "sniffing": { + "destOverride": [ + "http", + "tls", + "quic" + ], + "enabled": true, + "metadataOnly": false, + "routeOnly": true + }, + "tag": "socks" + }, + { + "listen": "127.0.0.1", + "port": 9080, + "protocol": "http", + "settings": { + "allowTransparent": true + }, + "sniffing": { + "destOverride": [ + "http", + "tls" + ], + "enabled": true, + "metadataOnly": false, + "routeOnly": true + }, + "tag": "http" + }, + { + "listen": "127.0.0.1", + "port": 6450, + "protocol": "dokodemo-door", + "settings": { + "address": "8.8.8.8", + "network": "tcp,udp", + "port": 53 + }, + "tag": "dns-in" + } + ], + "log": { + "loglevel": "error" + }, + "outbounds": [ + { + "domainStrategy": "AsIs", + "protocol": "http", + "settings": { + "servers": [ + { + "address": "127.0.0.1", + "port": 4500 + } + ] + }, + "streamSettings": { + "network": "tcp", + "tcpSettings": {} + }, + "tag": "proxy" + }, + { + "protocol": "freedom", + "tag": "direct" + }, + { + "protocol": "freedom", + "tag": "bypass" + }, + { + "protocol": "blackhole", + "tag": "block" + }, + { + "protocol": "dns", + "settings": { + "userLevel": 1 + }, + "tag": "dns-out" + } + ], + "policy": { + "levels": { + "1": { + "connIdle": 30 + } + }, + "system": { + "statsOutboundDownlink": true, + "statsOutboundUplink": true + } + }, + "routing": { + "domainStrategy": "AsIs", + "rules": [ + { + "inboundTag": [ + "dns-in" + ], + "outboundTag": "dns-out", + "type": "field" + }, + { + "ip": [ + "geoip:private" + ], + "outboundTag": "bypass", + "type": "field" + } + ] + }, + "stats": {} +} \ No newline at end of file diff --git a/gfw/Android/neko_http_config.json b/gfw/Android/neko_http_config.json new file mode 100644 index 0000000..f262944 --- /dev/null +++ b/gfw/Android/neko_http_config.json @@ -0,0 +1,142 @@ +{ + "dns": { + "rules": [ + { + "auth_user": [ + "fakedns" + ], + "server": "dns-remote" + }, + { + "disable_cache": true, + "domain_suffix": [ + ".arpa.", + ".arpa" + ], + "server": "dns-block" + }, + { + "disable_cache": true, + "inbound": [ + "tun-in" + ], + "server": "dns-fake" + } + ], + "servers": [ + { + "address": "https://8.8.8.8/dns-query", + "address_resolver": "dns-direct", + "tag": "dns-remote" + }, + { + "address": "https://223.5.5.5/dns-query", + "address_resolver": "dns-local", + "detour": "direct", + "tag": "dns-direct" + }, + { + "address": "underlying://0.0.0.0", + "detour": "direct", + "tag": "dns-local" + }, + { + "address": "rcode://success", + "tag": "dns-block" + }, + { + "address": "fakedns://198.18.0.0/15", + "strategy": "ipv4_only", + "tag": "dns-fake" + } + ], + "strategy": "ipv4_only" + }, + "inbounds": [ + { + "listen": "127.0.0.1", + "listen_port": 6450, + "override_address": "8.8.8.8", + "override_port": 53, + "tag": "dns-in", + "type": "direct" + }, + { + "domain_strategy": "", + "endpoint_independent_nat": true, + "inet4_address": [ + "172.19.0.1/28" + ], + "sniff": true, + "stack": "system", + "tag": "tun-in", + "type": "tun" + }, + { + "domain_strategy": "", + "listen": "127.0.0.1", + "listen_port": 2080, + "sniff": true, + "tag": "mixed-in", + "type": "mixed" + } + ], + "log": { + "level": "panic" + }, + "outbounds": [ + { + "password": "", + "server": "127.0.0.1", + "server_port": 4500, + "username": "", + "type": "http", + "tag": "proxy", + "domain_strategy": "" + }, + { + "tag": "direct", + "type": "direct" + }, + { + "tag": "bypass", + "type": "direct" + }, + { + "tag": "block", + "type": "block" + }, + { + "tag": "dns-out", + "type": "dns" + } + ], + "route": { + "auto_detect_interface": true, + "rules": [ + { + "outbound": "dns-out", + "port": [ + 53 + ] + }, + { + "inbound": [ + "dns-in" + ], + "outbound": "dns-out" + }, + { + "ip_cidr": [ + "224.0.0.0/3", + "ff00::/8" + ], + "outbound": "block", + "source_ip_cidr": [ + "224.0.0.0/3", + "ff00::/8" + ] + } + ] + } +} \ No newline at end of file diff --git a/gfw/Android/pyprox_HTTPS_v1.0.py b/gfw/Android/pyprox_HTTPS_v1.0.py new file mode 100644 index 0000000..5d23542 --- /dev/null +++ b/gfw/Android/pyprox_HTTPS_v1.0.py @@ -0,0 +1,503 @@ +#!/usr/bin/env python3 + +import dns.message # --> pip install dnspython +import dns.rdatatype +import requests # --> pip install requests +from pathlib import Path +import os +import base64 +import socket +import threading +import time +import random + + + + +listen_PORT = 4500 # pyprox listening to 127.0.0.1:listen_PORT + +num_fragment = 87 # total number of chunks that ClientHello devided into (chunks with random size) +fragment_sleep = 0.001 # sleep between each fragment to make GFW-cache full so it forget previous chunks. LOL. + +log_every_N_sec = 10 # every 30 second , update log file with latest DNS-cache statistics + +# DNS_url = 'https://cloudflare-dns.com/dns-query?dns=' # not working in iran , ip blocked +# DNS_url = 'https://dns.google/dns-query?dns=' # not working in iran , ip blocked +# DNS_url = 'https://doh.opendns.com/dns-query?dns=' # not working in iran , ip blocked +# DNS_url = 'https://secure.avastdns.com/dns-query?dns=' # not working in iran , ip blocked +# DNS_url = 'https://doh.libredns.gr/dns-query?dns=' # not working in iran , ip blocked +DNS_url = 'https://dns.electrotm.org/dns-query?dns=' +# DNS_url = 'https://dns.bitdefender.net/dns-query?dns=' +# DNS_url = 'https://cluster-1.gac.edu/dns-query?dns=' + + + + +offline_DNS = { + + + +# ################# twitter working pack ################### +'ocsp.digicert.com': '192.229.211.108', + +'api.twitter.com': '104.244.42.66', +'twitter.com': '104.244.42.1', +'pbs.twimg.com': '93.184.220.70', +'abs-0.twimg.com': '104.244.43.131', +'abs.twimg.com': '152.199.24.185', +'video.twimg.com': '192.229.220.133', +'t.co': '104.244.42.69', +'ton.local.twitter.com':'104.244.42.1', +# ########################################################## + + + +##################### Google working pack ################### +'ocsp.pki.goog': '172.217.16.195', +'googleads.g.doubleclick.net': '45.157.177.108', +'fonts.gstatic.com': '142.250.185.227', +'rr2---sn-vh5ouxa-hju6.googlevideo.com': '213.202.6.141', +'jnn-pa.googleapis.com': '45.157.177.108', +'static.doubleclick.net': '202.61.195.218', +'rr4---sn-hju7en7k.googlevideo.com': '74.125.167.74', +'rr1---sn-hju7en7r.googlevideo.com': '74.125.167.87', +'play.google.com': '142.250.184.238', +'rr3---sn-vh5ouxa-hjuz.googlevideo.com': '134.0.218.206', +'rr3---sn-hju7enel.googlevideo.com': '74.125.98.40', +'download.visualstudio.microsoft.com': '68.232.34.200', +'ocsp.pki.goog': '172.217.16.195', +'i.ytimg.com': '142.250.186.150', +'rr2---sn-hju7enel.googlevideo.com': '74.125.98.39', +'rr2---sn-hju7en7k.googlevideo.com': '74.125.167.72', +'googleads.g.doubleclick.net': '45.157.177.108', +'rr3---sn-4g5lznl6.googlevideo.com': '74.125.173.40', +'jnn-pa.googleapis.com': '89.58.57.45', +'rr3---sn-hju7en7k.googlevideo.com': '74.125.167.73', +'rr1---sn-hju7enll.googlevideo.com': '74.125.98.6', +'rr6---sn-hju7en7r.googlevideo.com': '74.125.167.92', +'play.google.com': '216.58.212.174', +'www.gstatic.com': '142.250.185.99', +'apis.google.com': '172.217.23.110', +'adservice.google.com': '202.61.195.218', +'mail.google.com': '142.250.186.37', +'accounts.google.com': '172.217.16.205', + +# 'lh3.googleusercontent.com': '193.26.157.66', # filtered +'lh3.googleusercontent.com':'142.251.167.132', + +'accounts.youtube.com': '172.217.16.206', +'ssl.gstatic.com': '142.250.184.195', +'fonts.gstatic.com': '172.217.23.99', +'rr4---sn-hju7enll.googlevideo.com': '74.125.98.9', # good +'rr2---sn-hju7enll.googlevideo.com': '74.125.98.7', +'rr1---sn-hju7enel.googlevideo.com': '74.125.98.38', +'rr5---sn-vh5ouxa-hjuz.googlevideo.com': '134.0.218.208', +'i1.ytimg.com': '172.217.18.14', +'plos.org': '162.159.135.42', +'fonts.googleapis.com': '89.58.57.45', +'genweb.plos.org': '104.26.1.141', +'static.ads-twitter.com': '146.75.120.157', +'www.google-analytics.com': '142.250.185.174', +'rr1---sn-vh5ouxa-hju6.googlevideo.com': '213.202.6.140', +'rr5---sn-vh5ouxa-hju6.googlevideo.com': '213.202.6.144', +'rr3---sn-hju7enel.googlevideo.com': '74.125.98.40', +'rr5---sn-nv47zn7y.googlevideo.com': '173.194.15.74', +'safebrowsing.googleapis.com': '202.61.195.218', +'static.doubleclick.net': '193.26.157.66', +'rr5---sn-vh5ouxa-hju6.googlevideo.com': '213.202.6.144', +'rr1---sn-hju7en7r.googlevideo.com': '74.125.167.87', +'rr4---sn-vh5ouxa-hju6.googlevideo.com': '213.202.6.143', +'rr4---sn-hju7en7r.googlevideo.com': '74.125.167.90', +'r1---sn-hju7enel.googlevideo.com': '74.125.98.38', +'rr1---sn-nv47zn7r.googlevideo.com': '173.194.15.38', +'rr2---sn-vh5ouxa-hjuz.googlevideo.com': '134.0.218.205', +'rr4---sn-nv47zn7r.googlevideo.com': '173.194.15.41', +'rr4---sn-hju7en7r.googlevideo.com': '74.125.167.90', + + +'rr4---sn-nv47znel.googlevideo.com': '74.125.98.7', # good +'rr4---sn-nv47lnl7.googlevideo.com':'74.125.98.7', +'rr4---sn-hju7enll.googlevideo.com':'74.125.98.7', +'rr1---sn-vh5ouxa-hju6.googlevideo.com':'74.125.98.7', +'rr3---sn-hju7enel.googlevideo.com':'74.125.98.7', +'rr5---sn-hju7enll.googlevideo.com':'74.125.98.7', +'rr5---sn-vh5ouxa-hjuz.googlevideo.com':'74.125.98.7', +'rr1---sn-nv47ln7z.googlevideo.com':'74.125.98.7', +'rr3---sn-vh5ouxa-hju6.googlevideo.com': '74.125.98.7', + + +'www.google.com': '142.250.186.36', +# 'www.google.com': '216.239.38.120', +'youtube.com':'216.239.38.120', +'www.youtube.com':'216.239.38.120', +'i.ytimg.com':'216.239.38.120', + +# 'yt3.ggpht.com': '64.233.165.198', # filtered +# 'yt3.ggpht.com': '142.250.179.161', # filtered +# 'yt3.ggpht.com': '142.250.186.65', # sometimes work +'yt3.ggpht.com': '142.250.186.36', # most of times work +####################################################### + + +################## DNS over HTTPS IP Address (leave it intact , it must Exist) ###################### +'cloudflare-dns.com':'1.1.1.1', # not working in iran , ip blocked +'dns.google':'8.8.8.8', # not working in iran , ip blocked +'doh.opendns.com':'208.67.222.222', # not working in iran , ip blocked +'secure.avastdns.com':'185.185.133.66', # not working in iran , ip blocked +'doh.libredns.gr':'116.202.176.26', # not working in iran , ip blocked +'dns.electrotm.org':'78.157.42.100', +'dns.bitdefender.net':'34.84.232.67', +'cluster-1.gac.edu':'138.236.128.101', +########################################################################## + +} + + + + + + + + +# ignore description below , its for old code , just leave it intact. +my_socket_timeout = 21 # default for google is ~21 sec , recommend 60 sec unless you have low ram and need close soon +first_time_sleep = 0.1 # speed control , avoid server crash if huge number of users flooding +accept_time_sleep = 0.01 # avoid server crash on flooding request -> max 100 sockets per second + + +DNS_cache = {} # resolved domains +IP_DL_traffic = {} # download usage for each ip +IP_UL_traffic = {} # upload usage for each ip + + +class DNS_over_Fragment: + def __init__(self): + self.url = DNS_url + self.req = requests.session() + self.fragment_proxy = { + 'https': 'http://127.0.0.1:'+str(listen_PORT) + } + + + + def query(self,server_name): + + offline_ip = offline_DNS.get(server_name,None) + if(offline_ip!=None): + # print('offline DNS -->',server_name,offline_ip) + return offline_ip + + cache_ip = DNS_cache.get(server_name,None) + if(cache_ip!=None): + # print('cached DNS -->',server_name,cache_ip) + return cache_ip + + quary_params = { + # 'name': server_name, # no need for this when using dns wire-format , cause 400 err on some server + 'type': 'A', + 'ct': 'application/dns-message', + } + + + # print(f'online DNS Query',server_name) + try: + query_message = dns.message.make_query(server_name,'A') + query_wire = query_message.to_wire() + query_base64 = base64.urlsafe_b64encode(query_wire).decode('utf-8') + query_base64 = query_base64.replace('=','') # remove base64 padding to append in url + + query_url = self.url + query_base64 + ans = self.req.get( query_url , params=quary_params , headers={'accept': 'application/dns-message'} , proxies=self.fragment_proxy) + + # Parse the response as a DNS packet + if ans.status_code == 200 and ans.headers.get('content-type') == 'application/dns-message': + answer_msg = dns.message.from_wire(ans.content) + + resolved_ip = None + for x in answer_msg.answer: + if (x.rdtype == dns.rdatatype.A): + resolved_ip = x[0].address # pick first ip in DNS answer + DNS_cache[server_name] = resolved_ip + # print("################# DNS Cache is : ####################") + # print(DNS_cache) # print DNS cache , it usefull to track all resolved IPs , to be used later. + # print("#####################################################") + break + + # print(f'online DNS --> Resolved {server_name} to {resolved_ip}') + return resolved_ip + else: + print(f'Error: {ans.status_code} {ans.reason}') + except Exception as e: + print(repr(e)) + + + + + + + + + +class ThreadedServer(object): + def __init__(self, host, port): + self.DoH = DNS_over_Fragment() + self.host = host + self.port = port + self.sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) + self.sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) + self.sock.bind((self.host, self.port)) + + def listen(self): + self.sock.listen(128) # up to 128 concurrent unaccepted socket queued , the more is refused untill accepting those. + + while True: + client_sock , client_addr = self.sock.accept() + client_sock.settimeout(my_socket_timeout) + + time.sleep(accept_time_sleep) # avoid server crash on flooding request + thread_up = threading.Thread(target = self.my_upstream , args =(client_sock,) ) + thread_up.daemon = True #avoid memory leak by telling os its belong to main program , its not a separate program , so gc collect it when thread finish + thread_up.start() + + + + def handle_client_request(self,client_socket): + # Receive the CONNECT request from the client + data = client_socket.recv(16384) + + + if(data[:7]==b'CONNECT'): + server_name , server_port = self.extract_servername_and_port(data) + elif( (data[:3]==b'GET') or (data[:4]==b'POST')): + q_line = str(data).split('\r\n') + q_url = q_line[0].split()[1] + q_url = q_url.replace('http://','https://') + # print('redirect http to HTTPS',q_url) + response_data = 'HTTP/1.1 302 Found\r\nLocation: '+q_url+'\r\nProxy-agent: MyProxy/1.0\r\n\r\n' + client_socket.sendall(response_data.encode()) + client_socket.close() + return None + else: + # print('Unknown Method',str(data[:10])) + response_data = b'HTTP/1.1 400 Bad Request\r\nProxy-agent: MyProxy/1.0\r\n\r\n' + client_socket.sendall(response_data) + client_socket.close() + return None + + + # print(server_name,'-->',server_port) + + try: + server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) + server_socket.settimeout(my_socket_timeout) + server_socket.setsockopt(socket.IPPROTO_TCP, socket.TCP_NODELAY, 1) #force localhost kernel to send TCP packet immediately (idea: @free_the_internet) + + try: + socket.inet_aton(server_name) + # print('legal IP') + server_IP = server_name + except socket.error: + # print('Not IP , its domain , try to resolve it') + server_IP = self.DoH.query(server_name) + + server_socket.connect((server_IP, server_port)) + # Send HTTP 200 OK + response_data = b'HTTP/1.1 200 Connection established\r\nProxy-agent: MyProxy/1.0\r\n\r\n' + client_socket.sendall(response_data) + return server_socket + except Exception as e: + print(repr(e)) + # Send HTTP ERR 502 + response_data = b'HTTP/1.1 502 Bad Gateway\r\nProxy-agent: MyProxy/1.0\r\n\r\n' + client_socket.sendall(response_data) + client_socket.close() + server_socket.close() + return None + + + + + + + + def my_upstream(self, client_sock): + first_flag = True + backend_sock = self.handle_client_request(client_sock) + + if(backend_sock==None): + client_sock.close() + return False + + this_ip = backend_sock.getpeername()[0] + if(this_ip not in IP_UL_traffic): + IP_UL_traffic[this_ip] = 0 + + + while True: + try: + if( first_flag == True ): + first_flag = False + + time.sleep(first_time_sleep) # speed control + waiting for packet to fully recieve + data = client_sock.recv(16384) + #print('len data -> ',str(len(data))) + #print('user talk :') + + if data: + thread_down = threading.Thread(target = self.my_downstream , args = (backend_sock , client_sock) ) + thread_down.daemon = True + thread_down.start() + # backend_sock.sendall(data) + send_data_in_fragment(data,backend_sock) + IP_UL_traffic[this_ip] = IP_UL_traffic[this_ip] + len(data) + + else: + raise Exception('cli syn close') + + else: + data = client_sock.recv(16384) + if data: + backend_sock.sendall(data) + IP_UL_traffic[this_ip] = IP_UL_traffic[this_ip] + len(data) + else: + raise Exception('cli pipe close') + + except Exception as e: + #print('upstream : '+ repr(e) ) + time.sleep(2) # wait two second for another thread to flush + client_sock.close() + backend_sock.close() + return False + + + + + def my_downstream(self, backend_sock , client_sock): + this_ip = backend_sock.getpeername()[0] + if(this_ip not in IP_DL_traffic): + IP_DL_traffic[this_ip] = 0 + + + first_flag = True + while True: + try: + if( first_flag == True ): + first_flag = False + data = backend_sock.recv(16384) + if data: + client_sock.sendall(data) + IP_DL_traffic[this_ip] = IP_DL_traffic[this_ip] + len(data) + else: + raise Exception('backend pipe close at first') + + else: + data = backend_sock.recv(16384) + if data: + client_sock.sendall(data) + IP_DL_traffic[this_ip] = IP_DL_traffic[this_ip] + len(data) + else: + raise Exception('backend pipe close') + + except Exception as e: + #print('downstream '+backend_name +' : '+ repr(e)) + time.sleep(2) # wait two second for another thread to flush + backend_sock.close() + client_sock.close() + return False + + + + def extract_servername_and_port(self,data): + host_and_port = str(data).split()[1] + host,port = host_and_port.split(':') + return (host,int(port)) + + + +def merge_all_dicts(): + full_DNS = {**DNS_cache, **offline_DNS} # merge two dict , need python 3.5 or up + inv_DNS = { v:k for k, v in full_DNS.items()} # inverse mapping to look for domain given ip + stats = {} + for ip in IP_DL_traffic: + up = round(IP_UL_traffic[ip]/(1024.0),3) + down = round(IP_DL_traffic[ip]/(1024.0),3) + host = inv_DNS.get(ip,'?') + if((up>down) and (down<1.0)): # download below 1KB + maybe_filter = 'maybe' + else: + maybe_filter = '-------' + + su = f'UL={up} KB:' + sd = f'DL={down} KB:' + sf = f'filtered={maybe_filter}:' + sh = f'Host={host}:' + stats[ip] = ':'+su+sd+sf+sh + return stats + + + +# only run in separate thread +def log_writer(): + file_name = 'DNS_IP_traffic_info.txt' + BASE_DIR = Path(__file__).resolve().parent + log_file_path = os.path.join(BASE_DIR,file_name) + + with open(log_file_path, "w") as f: + while True: + time.sleep(log_every_N_sec) + all_stats_info = merge_all_dicts() + f.seek(0) + f.write('\n########### new DNS resolved : ##############\n') + f.write(str(DNS_cache).replace(',',',\n')) + f.write('\n#############################################\n') + f.write('\n########### ALL INFO : ######################\n') + f.write(str(all_stats_info).replace('\'','').replace(',','\n').replace(':','\t')) + f.write('\n#############################################\n') + f.flush() + f.truncate() + print("info file writed to",f.name ) + + + +def start_log_writer(): + thread_log = threading.Thread(target = log_writer , args = () ) + thread_log.daemon = True + thread_log.start() + + + + + +def send_data_in_fragment(data , sock): + L_data = len(data) + indices = random.sample(range(1,L_data-1), num_fragment-1) + indices.sort() + # print('indices=',indices) + + i_pre=0 + for i in indices: + fragment_data = data[i_pre:i] + i_pre=i + # print('send ',len(fragment_data),' bytes') + + # sock.send(fragment_data) + sock.sendall(fragment_data) + + time.sleep(fragment_sleep) + + fragment_data = data[i_pre:L_data] + sock.sendall(fragment_data) + # print('----------finish------------') + + + + +if (__name__ == "__main__"): + print('Logging disabled in Android version') + # start_log_writer() + print ("Now listening at: 127.0.0.1:"+str(listen_PORT)) + ThreadedServer('',listen_PORT).listen() + + + + diff --git a/gfw/Android/v2rayN_http_config.json b/gfw/Android/v2rayN_http_config.json new file mode 100644 index 0000000..c1f512a --- /dev/null +++ b/gfw/Android/v2rayN_http_config.json @@ -0,0 +1,86 @@ +{ + "log": { + "loglevel": "warning" + }, + + "inbounds": [ + { + "listen": "127.0.0.1", + "port": 10808, + "protocol": "socks", + "settings": { + "auth": "noauth", + "udp": true, + "userLevel": 8 + }, + "sniffing": { + "destOverride": [ + "http", + "tls" + ], + "enabled": true + }, + "tag": "socks" + }, + { + "listen": "127.0.0.1", + "port": 10809, + "protocol": "http", + "settings": { + "userLevel": 8 + }, + "tag": "http" + } + ], + + + "outbounds": [ + + { + "tag": "pyprox", + "protocol": "http", + "settings": { + "servers": [ + { + "address": "127.0.0.1", + "port": 4500 + } + ] + } + }, + + + { + "protocol": "freedom", + "settings": {}, + "tag": "direct" + }, + { + "protocol": "blackhole", + "settings": { + "response": { + "type": "http" + } + }, + "tag": "block" + } + ], + + + + + "routing": { + "domainMatcher": "mph", + "domainStrategy": "IPIfNonMatch", + "rules": [ + { + "type": "field", + "port": "0-65535", + "outboundTag": "pyprox", + "enabled": true + } + ] + } + + +} diff --git a/gfw/Direct_DoH/How_Make_Our_DoH/DoH_json_format_test.py b/gfw/Direct_DoH/How_Make_Our_DoH/DoH_json_format_test.py new file mode 100644 index 0000000..be18780 --- /dev/null +++ b/gfw/Direct_DoH/How_Make_Our_DoH/DoH_json_format_test.py @@ -0,0 +1,68 @@ +#!/usr/bin/env python3 + +import requests # --> pip install requests +import json + + + +# DNS_url = 'https://your.site:8443/mygoogle/resolve?name=' +# DNS_url = 'https://your.site:8443/mycloudflare/dns-query?name=' + +DNS_url = 'https://8.8.8.8/resolve?name=' +# DNS_url = 'https://8.8.4.4/resolve?name=' +# DNS_url = 'https://1.1.1.1/dns-query?name=' + +query = 'youtube.com' + + +allow_insecure = True # set true to allow certificate domain mismatch + + +class DNS_over_Fragment: + def __init__(self): + self.url = DNS_url + self.req = requests.session() + + + def query(self,server_name): + + quary_params = { + 'name': server_name, + 'type': 'A', + 'ct': 'application/dns-json', + } + + + print(f'online DNS Query',server_name) + try: + + query_url = self.url + server_name + ans = self.req.get( query_url , params=quary_params , headers={'accept': 'application/dns-json'} , verify=(not allow_insecure) ) + + # Parse the response as a DNS packet + if (ans.status_code == 200): + answer_msg = json.loads(ans.content) + + # resolved_ip = answer_msg['Answer'][0]['data'] + resolved_ip = None + + for x in answer_msg['Answer']: + if (x['type'] == 1): + resolved_ip = x['data'] # pick first ip in DNS answer + break + + print(f'online DNS --> Resolved {server_name} to {resolved_ip}') + return resolved_ip + else: + print(f'Error: {ans.status_code} {ans.reason}') + except Exception as e: + print(repr(e)) + + + + +if (__name__ == "__main__"): + DoH = DNS_over_Fragment() + DoH.query(query) + + diff --git a/gfw/Direct_DoH/How_Make_Our_DoH/DoH_wire_format_test.py b/gfw/Direct_DoH/How_Make_Our_DoH/DoH_wire_format_test.py new file mode 100644 index 0000000..01f4afa --- /dev/null +++ b/gfw/Direct_DoH/How_Make_Our_DoH/DoH_wire_format_test.py @@ -0,0 +1,73 @@ +#!/usr/bin/env python3 + +import dns.message # --> pip install dnspython +import dns.rdatatype +import requests # --> pip install requests +import base64 + + +# DNS_url = 'https://your.site:8443/mygoogle/dns-query?dns=' +# DNS_url = 'https://your.site:8443/mycloudflare/dns-query?dns=' + +# DNS_url = 'https://8.8.8.8/dns-query?dns=' +# DNS_url = 'https://8.8.4.4/dns-query?dns=' +DNS_url = 'https://1.1.1.1/dns-query?dns=' +# DNS_url = 'https://dns.electrotm.org/dns-query?dns=' + +query = 'youtube.com' + +allow_insecure = True # set true to allow certificate domain mismatch + + +class DNS_over_Fragment: + def __init__(self): + self.url = DNS_url + self.req = requests.session() + + + def query(self,server_name): + + quary_params = { + # 'name': server_name, # no need for this when using dns wire-format , cause 400 err on some server + 'type': 'A', + 'ct': 'application/dns-message', + } + + + print(f'online DNS Query',server_name) + try: + query_message = dns.message.make_query(server_name,'A') + query_wire = query_message.to_wire() + query_base64 = base64.urlsafe_b64encode(query_wire).decode('utf-8') + query_base64 = query_base64.replace('=','') # remove base64 padding to append in url + + query_url = self.url + query_base64 + ans = self.req.get( query_url , params=quary_params , headers={'accept': 'application/dns-message'} , verify=(not allow_insecure) ) + + # Parse the response as a DNS packet + if ans.status_code == 200 and ans.headers.get('content-type') == 'application/dns-message': + answer_msg = dns.message.from_wire(ans.content) + + resolved_ip = None + for x in answer_msg.answer: + if (x.rdtype == dns.rdatatype.A): + resolved_ip = x[0].address # pick first ip in DNS answer + break + + print(f'online DNS --> Resolved {server_name} to {resolved_ip}') + return resolved_ip + else: + print(f'Error: {ans.status_code} {ans.reason}') + except Exception as e: + print(repr(e)) + + + + +if (__name__ == "__main__"): + DoH = DNS_over_Fragment() + DoH.query(query) + + + + diff --git a/gfw/Direct_DoH/How_Make_Our_DoH/README.md b/gfw/Direct_DoH/How_Make_Our_DoH/README.md new file mode 100644 index 0000000..ab695d9 --- /dev/null +++ b/gfw/Direct_DoH/How_Make_Our_DoH/README.md @@ -0,0 +1,48 @@ +# how to make your DoH server +1. install nginx
+apt install nginx-light +2. add these line in file + /etc/nginx/sites-available/default
+ +# cloudflare HTTPS port [ 443 , 2053 , 2083 , 2087 , 2096 , 8443 ] +server { + listen 8443 ssl default_server; + ssl_certificate /root/my_cert/your_cert.pem; + ssl_certificate_key /root/my_cert/your_cert.key; + location /mycloudflare/ { + proxy_pass https://cloudflare-dns.com:443/; + } + location /mygoogle/ { + proxy_pass https://dns.google:443/; + } +} + + +3. reload nginx
+systemctl daemon-reload
+systemctl restart nginx
+ +4. use your DoH
+Json Format: +DNS_url = 'https://your.site:8443/mygoogle/resolve?name=' +DNS_url = 'https://your.site:8443/mycloudflare/dns-query?name=' +Wire Format: +DNS_url = 'https://your.site:8443/mygoogle/dns-query?dns=' +DNS_url = 'https://your.site:8443/mycloudflare/dns-query?dns=' + +5. you can put your.site behind cloudflare but ensure that your.domain is resolved to clean ip + +# Additional Tutorial: +1. we have two DNS query standard (some server only support WIRE format)
+JSON format: +https://dns.google/resolve?name=yahoo.com +https://cloudflare-dns.com/dns-query?name=yahoo.com +WIRE format: +https://dns.google/dns-query?dns=B64encode +https://cloudflare-dns.com/dns-query?dns=B64encode +2. test your server with curl
+curl -H "accept: application/dns-json" https://your.site:8443/mygoogle/resolve?name=yahoo.com + curl -H "accept: application/dns-json" https://your.site:8443/mycloudflare/dns-query?name=yahoo.com + + + diff --git a/gfw/Direct_DoH/README.md b/gfw/Direct_DoH/README.md new file mode 100644 index 0000000..8b5f4f5 --- /dev/null +++ b/gfw/Direct_DoH/README.md @@ -0,0 +1,8 @@ +# Direct DNS-Over-Https (DoH) + +# چیه این ؟ +- مستقیم تمام ip ها را از DNS over HTTPS (DoH) میگیرد بدون دخل و تصرف +- مقدار DNS_url را باید گزینه ای بگذارید که ایپی اش مسدود نباشد. مثلا سرور گوگل 8.8.8.8 روی یک نت مسدود و روی نت دیگر باز است +- اگر ip هایی که DoH برمیگرداند روی نت شما فیلتر نباشد ، سایت بالا خواهد آمد و محدودیت های comment و live و ... برطرف میشود +- تعداد فرگمنت را بین 10 تا 100 امتحان کنید و زمان فرگمنت بین 0.001 تا 0.01 +- کافیست اسکریپت Direct_DoH.py را اجرا کنید مشابه توضیحات صفحه اول diff --git a/gfw/Direct_DoH/pyprox_HTTPS_v2.0_DirectDoH.py b/gfw/Direct_DoH/pyprox_HTTPS_v2.0_DirectDoH.py new file mode 100644 index 0000000..745946f --- /dev/null +++ b/gfw/Direct_DoH/pyprox_HTTPS_v2.0_DirectDoH.py @@ -0,0 +1,411 @@ +#!/usr/bin/env python3 + +import dns.message # --> pip install dnspython +import dns.rdatatype +import requests # --> pip install requests +from pathlib import Path +import os +import base64 +import socket +import threading +import time +import random + + +listen_PORT = 4500 # pyprox listening to 127.0.0.1:listen_PORT + +num_fragment = 87 # total number of chunks that ClientHello devided into (chunks with random size) +fragment_sleep = 0.001 # sleep between each fragment to make GFW-cache full so it forget previous chunks. LOL. + +log_every_N_sec = 30 # every 30 second , update log file with latest DNS-cache statistics + +allow_insecure = True # set true to allow certificate domain mismatch in DoH + + + +# DNS_url = 'https://8.8.4.4/dns-query?dns=' # blocked? +# DNS_url = 'https://8.8.8.8/dns-query?dns=' # blocked? +# DNS_url = 'https://1.1.1.1/dns-query?dns=' # blocked? +# DNS_url = 'https://cloudflare-dns.com/dns-query?dns=' # blocked? +# DNS_url = 'https://dns.google/dns-query?dns=' # blocked? +# DNS_url = 'https://doh.opendns.com/dns-query?dns=' # blocked? +# DNS_url = 'https://secure.avastdns.com/dns-query?dns=' # blocked? +# DNS_url = 'https://doh.libredns.gr/dns-query?dns=' # blocked? +# DNS_url = 'https://dns.electrotm.org/dns-query?dns=' +# DNS_url = 'https://dns.bitdefender.net/dns-query?dns=' +DNS_url = 'https://cluster-1.gac.edu/dns-query?dns=' + + + + +offline_DNS = { + +################## DNS over HTTPS IP Address (leave it intact , it must Exist) ###################### +'cloudflare-dns.com':'1.1.1.1', +'dns.google':'8.8.8.8', +'doh.opendns.com':'208.67.222.222', +'secure.avastdns.com':'185.185.133.66', +'doh.libredns.gr':'116.202.176.26', +'dns.electrotm.org':'78.157.42.100', +'dns.bitdefender.net':'34.84.232.67', +'cluster-1.gac.edu':'138.236.128.101', +########################################################################## + +} + + + + + +# ignore description below , its for old code , just leave it intact. +my_socket_timeout = 21 # default for google is ~21 sec , recommend 60 sec unless you have low ram and need close soon +first_time_sleep = 0.1 # speed control , avoid server crash if huge number of users flooding +accept_time_sleep = 0.01 # avoid server crash on flooding request -> max 100 sockets per second + + +DNS_cache = {} # resolved domains +IP_DL_traffic = {} # download usage for each ip +IP_UL_traffic = {} # upload usage for each ip + + +class DNS_over_Fragment: + def __init__(self): + self.url = DNS_url + self.req = requests.session() + self.fragment_proxy = { + 'https': 'http://127.0.0.1:'+str(listen_PORT) + } + + + + def query(self,server_name): + + offline_ip = offline_DNS.get(server_name,None) + if(offline_ip!=None): + print('offline DNS -->',server_name,offline_ip) + return offline_ip + + cache_ip = DNS_cache.get(server_name,None) + if(cache_ip!=None): + print('cached DNS -->',server_name,cache_ip) + return cache_ip + + quary_params = { + # 'name': server_name, # no need for this when using dns wire-format , cause 400 err on some server + 'type': 'A', + 'ct': 'application/dns-message', + } + + + print(f'online DNS Query',server_name) + try: + query_message = dns.message.make_query(server_name,'A') + query_wire = query_message.to_wire() + query_base64 = base64.urlsafe_b64encode(query_wire).decode('utf-8') + query_base64 = query_base64.replace('=','') # remove base64 padding to append in url + + query_url = self.url + query_base64 + ans = self.req.get( query_url , params=quary_params , headers={'accept': 'application/dns-message'} , proxies=self.fragment_proxy , verify=(not allow_insecure)) + + # Parse the response as a DNS packet + if ans.status_code == 200 and ans.headers.get('content-type') == 'application/dns-message': + answer_msg = dns.message.from_wire(ans.content) + + resolved_ip = None + for x in answer_msg.answer: + if (x.rdtype == dns.rdatatype.A): + resolved_ip = x[0].address # pick first ip in DNS answer + DNS_cache[server_name] = resolved_ip + print("################# DNS Cache is : ####################") + print(DNS_cache) # print DNS cache , it usefull to track all resolved IPs , to be used later. + print("#####################################################") + break + + print(f'online DNS --> Resolved {server_name} to {resolved_ip}') + return resolved_ip + else: + print(f'Error: {ans.status_code} {ans.reason}') + except Exception as e: + print(repr(e)) + + + + + + + + + +class ThreadedServer(object): + def __init__(self, host, port): + self.DoH = DNS_over_Fragment() + self.host = host + self.port = port + self.sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) + self.sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) + self.sock.bind((self.host, self.port)) + + def listen(self): + self.sock.listen(128) # up to 128 concurrent unaccepted socket queued , the more is refused untill accepting those. + + while True: + client_sock , client_addr = self.sock.accept() + client_sock.settimeout(my_socket_timeout) + + time.sleep(accept_time_sleep) # avoid server crash on flooding request + thread_up = threading.Thread(target = self.my_upstream , args =(client_sock,) ) + thread_up.daemon = True #avoid memory leak by telling os its belong to main program , its not a separate program , so gc collect it when thread finish + thread_up.start() + + + + def handle_client_request(self,client_socket): + # Receive the CONNECT request from the client + data = client_socket.recv(16384) + + + if(data[:7]==b'CONNECT'): + server_name , server_port = self.extract_servername_and_port(data) + elif( (data[:3]==b'GET') + or (data[:4]==b'POST') + or (data[:4]==b'HEAD') + or (data[:7]==b'OPTIONS') + or (data[:3]==b'PUT') + or (data[:6]==b'DELETE') + or (data[:5]==b'PATCH') + or (data[:5]==b'TRACE') ): + + q_line = str(data).split('\r\n') + q_req = q_line[0].split() + q_method = q_req[0] + q_url = q_req[1] + q_url = q_url.replace('http://','https://') + print('************************@@@@@@@@@@@@***************************') + print('redirect',q_method,'http to HTTPS',q_url) + response_data = 'HTTP/1.1 302 Found\r\nLocation: '+q_url+'\r\nProxy-agent: MyProxy/1.0\r\n\r\n' + client_socket.sendall(response_data.encode()) + client_socket.close() + return None + else: + print('Unknown Method',str(data[:10])) + response_data = b'HTTP/1.1 400 Bad Request\r\nProxy-agent: MyProxy/1.0\r\n\r\n' + client_socket.sendall(response_data) + client_socket.close() + return None + + + print(server_name,'-->',server_port) + + try: + server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) + server_socket.settimeout(my_socket_timeout) + server_socket.setsockopt(socket.IPPROTO_TCP, socket.TCP_NODELAY, 1) #force localhost kernel to send TCP packet immediately (idea: @free_the_internet) + + try: + socket.inet_aton(server_name) + # print('legal IP') + server_IP = server_name + except socket.error: + # print('Not IP , its domain , try to resolve it') + server_IP = self.DoH.query(server_name) + + server_socket.connect((server_IP, server_port)) + # Send HTTP 200 OK + response_data = b'HTTP/1.1 200 Connection established\r\nProxy-agent: MyProxy/1.0\r\n\r\n' + client_socket.sendall(response_data) + return server_socket + except Exception as e: + print(repr(e)) + # Send HTTP ERR 502 + response_data = b'HTTP/1.1 502 Bad Gateway (is IP filtered?)\r\nProxy-agent: MyProxy/1.0\r\n\r\n' + client_socket.sendall(response_data) + client_socket.close() + server_socket.close() + return None + + + + + + + + def my_upstream(self, client_sock): + first_flag = True + backend_sock = self.handle_client_request(client_sock) + + if(backend_sock==None): + client_sock.close() + return False + + this_ip = backend_sock.getpeername()[0] + if(this_ip not in IP_UL_traffic): + IP_UL_traffic[this_ip] = 0 + + + while True: + try: + if( first_flag == True ): + first_flag = False + + time.sleep(first_time_sleep) # speed control + waiting for packet to fully recieve + data = client_sock.recv(16384) + #print('len data -> ',str(len(data))) + #print('user talk :') + + if data: + thread_down = threading.Thread(target = self.my_downstream , args = (backend_sock , client_sock) ) + thread_down.daemon = True + thread_down.start() + # backend_sock.sendall(data) + send_data_in_fragment(data,backend_sock) + IP_UL_traffic[this_ip] = IP_UL_traffic[this_ip] + len(data) + + else: + raise Exception('cli syn close') + + else: + data = client_sock.recv(16384) + if data: + backend_sock.sendall(data) + IP_UL_traffic[this_ip] = IP_UL_traffic[this_ip] + len(data) + else: + raise Exception('cli pipe close') + + except Exception as e: + #print('upstream : '+ repr(e) ) + time.sleep(2) # wait two second for another thread to flush + client_sock.close() + backend_sock.close() + return False + + + + + def my_downstream(self, backend_sock , client_sock): + this_ip = backend_sock.getpeername()[0] + if(this_ip not in IP_DL_traffic): + IP_DL_traffic[this_ip] = 0 + + + first_flag = True + while True: + try: + if( first_flag == True ): + first_flag = False + data = backend_sock.recv(16384) + if data: + client_sock.sendall(data) + IP_DL_traffic[this_ip] = IP_DL_traffic[this_ip] + len(data) + else: + raise Exception('backend pipe close at first') + + else: + data = backend_sock.recv(16384) + if data: + client_sock.sendall(data) + IP_DL_traffic[this_ip] = IP_DL_traffic[this_ip] + len(data) + else: + raise Exception('backend pipe close') + + except Exception as e: + #print('downstream '+backend_name +' : '+ repr(e)) + time.sleep(2) # wait two second for another thread to flush + backend_sock.close() + client_sock.close() + return False + + + + def extract_servername_and_port(self,data): + host_and_port = str(data).split()[1] + host,port = host_and_port.split(':') + return (host,int(port)) + + + +def merge_all_dicts(): + full_DNS = {**DNS_cache, **offline_DNS} # merge two dict , need python 3.5 or up + inv_DNS = { v:k for k, v in full_DNS.items()} # inverse mapping to look for domain given ip + stats = {} + for ip in IP_DL_traffic: + up = round(IP_UL_traffic[ip]/(1024.0),3) + down = round(IP_DL_traffic[ip]/(1024.0),3) + host = inv_DNS.get(ip,'?') + if((up>down) and (down<1.0)): # download below 1KB + maybe_filter = 'maybe' + else: + maybe_filter = '-------' + + su = f'UL={up} KB:' + sd = f'DL={down} KB:' + sf = f'filtered={maybe_filter}:' + sh = f'Host={host}:' + stats[ip] = ':'+su+sd+sf+sh + return stats + + + +# only run in separate thread +def log_writer(): + file_name = 'DNS_IP_traffic_info.txt' + BASE_DIR = Path(__file__).resolve().parent + log_file_path = os.path.join(BASE_DIR,file_name) + + with open(log_file_path, "w") as f: + while True: + time.sleep(log_every_N_sec) + all_stats_info = merge_all_dicts() + f.seek(0) + f.write('\n########### new DNS resolved : ##############\n') + f.write(str(DNS_cache).replace(',',',\n')) + f.write('\n#############################################\n') + f.write('\n########### ALL INFO : ######################\n') + f.write(str(all_stats_info).replace('\'','').replace(',','\n').replace(':','\t')) + f.write('\n#############################################\n') + f.flush() + f.truncate() + print("info file writed to",f.name ) + + + +def start_log_writer(): + thread_log = threading.Thread(target = log_writer , args = () ) + thread_log.daemon = True + thread_log.start() + + + + + +def send_data_in_fragment(data , sock): + L_data = len(data) + indices = random.sample(range(1,L_data-1), num_fragment-1) + indices.sort() + # print('indices=',indices) + + i_pre=0 + for i in indices: + fragment_data = data[i_pre:i] + i_pre=i + # print('send ',len(fragment_data),' bytes') + + # sock.send(fragment_data) + sock.sendall(fragment_data) + + time.sleep(fragment_sleep) + + fragment_data = data[i_pre:L_data] + sock.sendall(fragment_data) + print('----------finish------------') + + + + +if (__name__ == "__main__"): + start_log_writer() + print ("Now listening at: 127.0.0.1:"+str(listen_PORT)) + ThreadedServer('',listen_PORT).listen() + + + + diff --git a/gfw/Irancell/README.md b/gfw/Irancell/README.md new file mode 100644 index 0000000..e3eaa2b --- /dev/null +++ b/gfw/Irancell/README.md @@ -0,0 +1,3 @@ +# بهینه شده برای ایرانسل +- یوتیوب و توییتر +- اگر کار نکرد تعداد فرگمنت را از 14 به 87 افزایش و زمان فرگمنت را از 0.01 به 0.001 کاهش دهید diff --git a/gfw/Irancell/pyprox_HTTPS_v1.0_irancell.py b/gfw/Irancell/pyprox_HTTPS_v1.0_irancell.py new file mode 100644 index 0000000..26d2e8e --- /dev/null +++ b/gfw/Irancell/pyprox_HTTPS_v1.0_irancell.py @@ -0,0 +1,490 @@ +#!/usr/bin/env python3 + +import dns.message # --> pip install dnspython +import dns.rdatatype +import requests # --> pip install requests +from pathlib import Path +import os +import base64 +import socket +import threading +import time +import random + + +listen_PORT = 4500 # pyprox listening to 127.0.0.1:listen_PORT + +num_fragment = 14 # total number of chunks that ClientHello devided into (chunks with random size) +fragment_sleep = 0.01 # sleep between each fragment to make GFW-cache full so it forget previous chunks. LOL. + +log_every_N_sec = 10 # every 30 second , update log file with latest DNS-cache statistics + +# DNS_url = 'https://cloudflare-dns.com/dns-query?dns=' # not working in iran , ip blocked +# DNS_url = 'https://dns.google/dns-query?dns=' # not working in iran , ip blocked +# DNS_url = 'https://doh.opendns.com/dns-query?dns=' # not working in iran , ip blocked +# DNS_url = 'https://secure.avastdns.com/dns-query?dns=' # not working in iran , ip blocked +# DNS_url = 'https://doh.libredns.gr/dns-query?dns=' # not working in iran , ip blocked +DNS_url = 'https://dns.electrotm.org/dns-query?dns=' +# DNS_url = 'https://dns.bitdefender.net/dns-query?dns=' +# DNS_url = 'https://cluster-1.gac.edu/dns-query?dns=' + + + + +offline_DNS = { + + + +# ################# twitter working pack ################### +'ocsp.digicert.com': '192.229.211.108', + +'api.twitter.com': '104.244.42.66', +'twitter.com': '104.244.42.1', +'pbs.twimg.com': '93.184.220.70', +'abs-0.twimg.com': '104.244.43.131', +'abs.twimg.com': '152.199.24.185', +'video.twimg.com': '192.229.220.133', +'t.co': '104.244.42.69', +'ton.local.twitter.com':'104.244.42.1', +# ########################################################## + + + +##################### Google working pack ################### +'ocsp.pki.goog': '172.217.16.195', +'googleads.g.doubleclick.net': '45.157.177.108', +'fonts.gstatic.com': '142.250.185.227', +'rr2---sn-vh5ouxa-hju6.googlevideo.com': '213.202.6.141', +'jnn-pa.googleapis.com': '45.157.177.108', +'static.doubleclick.net': '202.61.195.218', +'rr4---sn-hju7en7k.googlevideo.com': '74.125.167.74', +'rr1---sn-hju7en7r.googlevideo.com': '74.125.167.87', +'play.google.com': '142.250.184.238', +'rr3---sn-vh5ouxa-hjuz.googlevideo.com': '134.0.218.206', +'rr3---sn-hju7enel.googlevideo.com': '74.125.98.40', +'download.visualstudio.microsoft.com': '68.232.34.200', +'ocsp.pki.goog': '172.217.16.195', +'i.ytimg.com': '142.250.186.150', +'rr2---sn-hju7enel.googlevideo.com': '74.125.98.39', +'rr2---sn-hju7en7k.googlevideo.com': '74.125.167.72', +'googleads.g.doubleclick.net': '45.157.177.108', +'rr3---sn-4g5lznl6.googlevideo.com': '74.125.173.40', +'jnn-pa.googleapis.com': '89.58.57.45', +'rr3---sn-hju7en7k.googlevideo.com': '74.125.167.73', +'rr1---sn-hju7enll.googlevideo.com': '74.125.98.6', +'rr6---sn-hju7en7r.googlevideo.com': '74.125.167.92', +'play.google.com': '216.58.212.174', +'www.gstatic.com': '142.250.185.99', +'apis.google.com': '172.217.23.110', +'adservice.google.com': '202.61.195.218', +'mail.google.com': '142.250.186.37', +'accounts.google.com': '172.217.16.205', + +# 'lh3.googleusercontent.com': '193.26.157.66', # filtered +'lh3.googleusercontent.com':'142.251.167.132', + +'accounts.youtube.com': '172.217.16.206', +'ssl.gstatic.com': '142.250.184.195', +'fonts.gstatic.com': '172.217.23.99', +'rr4---sn-hju7enll.googlevideo.com': '74.125.98.9', # good +'rr2---sn-hju7enll.googlevideo.com': '74.125.98.7', +'rr1---sn-hju7enel.googlevideo.com': '74.125.98.38', +'rr5---sn-vh5ouxa-hjuz.googlevideo.com': '134.0.218.208', +'i1.ytimg.com': '172.217.18.14', +'plos.org': '162.159.135.42', +'fonts.googleapis.com': '89.58.57.45', +'genweb.plos.org': '104.26.1.141', +'static.ads-twitter.com': '146.75.120.157', +'www.google-analytics.com': '142.250.185.174', +'rr1---sn-vh5ouxa-hju6.googlevideo.com': '213.202.6.140', +'rr5---sn-vh5ouxa-hju6.googlevideo.com': '213.202.6.144', +'rr3---sn-hju7enel.googlevideo.com': '74.125.98.40', +'rr5---sn-nv47zn7y.googlevideo.com': '173.194.15.74', +'safebrowsing.googleapis.com': '202.61.195.218', +'static.doubleclick.net': '193.26.157.66', +'rr5---sn-vh5ouxa-hju6.googlevideo.com': '213.202.6.144', +'rr1---sn-hju7en7r.googlevideo.com': '74.125.167.87', +'rr4---sn-vh5ouxa-hju6.googlevideo.com': '213.202.6.143', +'rr4---sn-hju7en7r.googlevideo.com': '74.125.167.90', +'r1---sn-hju7enel.googlevideo.com': '74.125.98.38', +'rr1---sn-nv47zn7r.googlevideo.com': '173.194.15.38', +'rr2---sn-vh5ouxa-hjuz.googlevideo.com': '134.0.218.205', +'rr4---sn-nv47zn7r.googlevideo.com': '173.194.15.41', +'rr4---sn-hju7en7r.googlevideo.com': '74.125.167.90', + + +'rr4---sn-nv47znel.googlevideo.com': '74.125.98.7', # good +'rr4---sn-nv47lnl7.googlevideo.com':'74.125.98.7', +'rr4---sn-hju7enll.googlevideo.com':'74.125.98.7', +'rr1---sn-vh5ouxa-hju6.googlevideo.com':'74.125.98.7', +'rr3---sn-hju7enel.googlevideo.com':'74.125.98.7', +'rr5---sn-hju7enll.googlevideo.com':'74.125.98.7', +'rr5---sn-vh5ouxa-hjuz.googlevideo.com':'74.125.98.7', +'rr1---sn-nv47ln7z.googlevideo.com':'74.125.98.7', +'rr3---sn-vh5ouxa-hju6.googlevideo.com': '74.125.98.7', + + +'www.google.com': '142.250.186.36', +# 'www.google.com': '216.239.38.120', +'youtube.com':'216.239.38.120', +'www.youtube.com':'216.239.38.120', +'i.ytimg.com':'216.239.38.120', + +# 'yt3.ggpht.com': '64.233.165.198', # filtered +# 'yt3.ggpht.com': '142.250.179.161', # filtered +# 'yt3.ggpht.com': '142.250.186.65', # sometimes work +'yt3.ggpht.com': '142.250.186.36', # most of times work +####################################################### + + +################## DNS over HTTPS IP Address (leave it intact , it must Exist) ###################### +'cloudflare-dns.com':'1.1.1.1', # not working in iran , ip blocked +'dns.google':'8.8.8.8', # not working in iran , ip blocked +'doh.opendns.com':'208.67.222.222', # not working in iran , ip blocked +'secure.avastdns.com':'185.185.133.66', # not working in iran , ip blocked +'doh.libredns.gr':'116.202.176.26', # not working in iran , ip blocked +'dns.electrotm.org':'78.157.42.100', +'dns.bitdefender.net':'34.84.232.67', +'cluster-1.gac.edu':'138.236.128.101', +########################################################################## + +} + + + + + +# ignore description below , its for old code , just leave it intact. +my_socket_timeout = 21 # default for google is ~21 sec , recommend 60 sec unless you have low ram and need close soon +first_time_sleep = 0.1 # speed control , avoid server crash if huge number of users flooding +accept_time_sleep = 0.01 # avoid server crash on flooding request -> max 100 sockets per second + + +DNS_cache = {} # resolved domains +IP_DL_traffic = {} # download usage for each ip +IP_UL_traffic = {} # upload usage for each ip + + +class DNS_over_Fragment: + def __init__(self): + self.url = DNS_url + self.req = requests.session() + self.fragment_proxy = { + 'https': 'http://127.0.0.1:'+str(listen_PORT) + } + + + + def query(self,server_name): + + offline_ip = offline_DNS.get(server_name,None) + if(offline_ip!=None): + print('offline DNS -->',server_name,offline_ip) + return offline_ip + + cache_ip = DNS_cache.get(server_name,None) + if(cache_ip!=None): + print('cached DNS -->',server_name,cache_ip) + return cache_ip + + quary_params = { + # 'name': server_name, # no need for this when using dns wire-format , cause 400 err on some server + 'type': 'A', + 'ct': 'application/dns-message', + } + + + print(f'online DNS Query',server_name) + try: + query_message = dns.message.make_query(server_name,'A') + query_wire = query_message.to_wire() + query_base64 = base64.urlsafe_b64encode(query_wire).decode('utf-8') + query_base64 = query_base64.replace('=','') # remove base64 padding to append in url + + query_url = self.url + query_base64 + ans = self.req.get( query_url , params=quary_params , headers={'accept': 'application/dns-message'} , proxies=self.fragment_proxy) + + # Parse the response as a DNS packet + if ans.status_code == 200 and ans.headers.get('content-type') == 'application/dns-message': + answer_msg = dns.message.from_wire(ans.content) + + resolved_ip = None + for x in answer_msg.answer: + if (x.rdtype == dns.rdatatype.A): + resolved_ip = x[0].address # pick first ip in DNS answer + DNS_cache[server_name] = resolved_ip + print("################# DNS Cache is : ####################") + print(DNS_cache) # print DNS cache , it usefull to track all resolved IPs , to be used later. + print("#####################################################") + break + + print(f'online DNS --> Resolved {server_name} to {resolved_ip}') + return resolved_ip + else: + print(f'Error: {ans.status_code} {ans.reason}') + except Exception as e: + print(repr(e)) + + + + + + + + + +class ThreadedServer(object): + def __init__(self, host, port): + self.DoH = DNS_over_Fragment() + self.host = host + self.port = port + self.sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) + self.sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) + self.sock.bind((self.host, self.port)) + + def listen(self): + self.sock.listen(128) # up to 128 concurrent unaccepted socket queued , the more is refused untill accepting those. + + while True: + client_sock , client_addr = self.sock.accept() + client_sock.settimeout(my_socket_timeout) + + time.sleep(accept_time_sleep) # avoid server crash on flooding request + thread_up = threading.Thread(target = self.my_upstream , args =(client_sock,) ) + thread_up.daemon = True #avoid memory leak by telling os its belong to main program , its not a separate program , so gc collect it when thread finish + thread_up.start() + + + + def handle_client_request(self,client_socket): + # Receive the CONNECT request from the client + data = client_socket.recv(16384) + + + if(data[:7]==b'CONNECT'): + server_name , server_port = self.extract_servername_and_port(data) + elif( (data[:3]==b'GET') or (data[:4]==b'POST')): + q_line = str(data).split('\r\n') + q_url = q_line[0].split()[1] + q_url = q_url.replace('http://','https://') + print('redirect http to HTTPS',q_url) + response_data = 'HTTP/1.1 302 Found\r\nLocation: '+q_url+'\r\nProxy-agent: MyProxy/1.0\r\n\r\n' + client_socket.sendall(response_data.encode()) + client_socket.close() + return None + else: + print('Unknown Method',str(data[:10])) + response_data = b'HTTP/1.1 400 Bad Request\r\nProxy-agent: MyProxy/1.0\r\n\r\n' + client_socket.sendall(response_data) + client_socket.close() + return None + + + print(server_name,'-->',server_port) + + try: + server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) + server_socket.settimeout(my_socket_timeout) + server_socket.setsockopt(socket.IPPROTO_TCP, socket.TCP_NODELAY, 1) #force localhost kernel to send TCP packet immediately (idea: @free_the_internet) + + server_IP = self.DoH.query(server_name) + server_socket.connect((server_IP, server_port)) + # Send HTTP 200 OK + response_data = b'HTTP/1.1 200 Connection established\r\nProxy-agent: MyProxy/1.0\r\n\r\n' + client_socket.sendall(response_data) + return server_socket + except Exception as e: + print(repr(e)) + # Send HTTP ERR 502 + response_data = b'HTTP/1.1 502 Bad Gateway\r\nProxy-agent: MyProxy/1.0\r\n\r\n' + client_socket.sendall(response_data) + client_socket.close() + server_socket.close() + return None + + + + + + + + def my_upstream(self, client_sock): + first_flag = True + backend_sock = self.handle_client_request(client_sock) + + if(backend_sock==None): + client_sock.close() + return False + + this_ip = backend_sock.getpeername()[0] + if(this_ip not in IP_UL_traffic): + IP_UL_traffic[this_ip] = 0 + + + while True: + try: + if( first_flag == True ): + first_flag = False + + time.sleep(first_time_sleep) # speed control + waiting for packet to fully recieve + data = client_sock.recv(16384) + #print('len data -> ',str(len(data))) + #print('user talk :') + + if data: + thread_down = threading.Thread(target = self.my_downstream , args = (backend_sock , client_sock) ) + thread_down.daemon = True + thread_down.start() + # backend_sock.sendall(data) + send_data_in_fragment(data,backend_sock) + IP_UL_traffic[this_ip] = IP_UL_traffic[this_ip] + len(data) + + else: + raise Exception('cli syn close') + + else: + data = client_sock.recv(16384) + if data: + backend_sock.sendall(data) + IP_UL_traffic[this_ip] = IP_UL_traffic[this_ip] + len(data) + else: + raise Exception('cli pipe close') + + except Exception as e: + #print('upstream : '+ repr(e) ) + time.sleep(2) # wait two second for another thread to flush + client_sock.close() + backend_sock.close() + return False + + + + + def my_downstream(self, backend_sock , client_sock): + this_ip = backend_sock.getpeername()[0] + if(this_ip not in IP_DL_traffic): + IP_DL_traffic[this_ip] = 0 + + + first_flag = True + while True: + try: + if( first_flag == True ): + first_flag = False + data = backend_sock.recv(16384) + if data: + client_sock.sendall(data) + IP_DL_traffic[this_ip] = IP_DL_traffic[this_ip] + len(data) + else: + raise Exception('backend pipe close at first') + + else: + data = backend_sock.recv(16384) + if data: + client_sock.sendall(data) + IP_DL_traffic[this_ip] = IP_DL_traffic[this_ip] + len(data) + else: + raise Exception('backend pipe close') + + except Exception as e: + #print('downstream '+backend_name +' : '+ repr(e)) + time.sleep(2) # wait two second for another thread to flush + backend_sock.close() + client_sock.close() + return False + + + + def extract_servername_and_port(self,data): + host_and_port = str(data).split()[1] + host,port = host_and_port.split(':') + return (host,int(port)) + + + +def merge_all_dicts(): + full_DNS = {**DNS_cache, **offline_DNS} # merge two dict , need python 3.5 or up + inv_DNS = { v:k for k, v in full_DNS.items()} # inverse mapping to look for domain given ip + stats = {} + for ip in IP_DL_traffic: + up = round(IP_UL_traffic[ip]/(1024.0),3) + down = round(IP_DL_traffic[ip]/(1024.0),3) + host = inv_DNS.get(ip,'?') + if((up>down) and (down<1.0)): # download below 1KB + maybe_filter = 'maybe' + else: + maybe_filter = '-------' + + su = f'UL={up} KB:' + sd = f'DL={down} KB:' + sf = f'filtered={maybe_filter}:' + sh = f'Host={host}:' + stats[ip] = ':'+su+sd+sf+sh + return stats + + + +# only run in separate thread +def log_writer(): + file_name = 'DNS_IP_traffic_info.txt' + BASE_DIR = Path(__file__).resolve().parent + log_file_path = os.path.join(BASE_DIR,file_name) + + with open(log_file_path, "w") as f: + while True: + time.sleep(log_every_N_sec) + all_stats_info = merge_all_dicts() + f.seek(0) + f.write('\n########### new DNS resolved : ##############\n') + f.write(str(DNS_cache).replace(',',',\n')) + f.write('\n#############################################\n') + f.write('\n########### ALL INFO : ######################\n') + f.write(str(all_stats_info).replace('\'','').replace(',','\n').replace(':','\t')) + f.write('\n#############################################\n') + f.flush() + f.truncate() + print("info file writed to",f.name ) + + + +def start_log_writer(): + thread_log = threading.Thread(target = log_writer , args = () ) + thread_log.daemon = True + thread_log.start() + + + + + +def send_data_in_fragment(data , sock): + L_data = len(data) + indices = random.sample(range(1,L_data-1), num_fragment-1) + indices.sort() + # print('indices=',indices) + + i_pre=0 + for i in indices: + fragment_data = data[i_pre:i] + i_pre=i + # print('send ',len(fragment_data),' bytes') + + # sock.send(fragment_data) + sock.sendall(fragment_data) + + time.sleep(fragment_sleep) + + fragment_data = data[i_pre:L_data] + sock.sendall(fragment_data) + print('----------finish------------') + + + + +if (__name__ == "__main__"): + # start_log_writer() + print ("Now listening at: 127.0.0.1:"+str(listen_PORT)) + ThreadedServer('',listen_PORT).listen() + + + + diff --git a/gfw/Irancell/v2rayN_HTTPS_config.json b/gfw/Irancell/v2rayN_HTTPS_config.json new file mode 100644 index 0000000..c1f512a --- /dev/null +++ b/gfw/Irancell/v2rayN_HTTPS_config.json @@ -0,0 +1,86 @@ +{ + "log": { + "loglevel": "warning" + }, + + "inbounds": [ + { + "listen": "127.0.0.1", + "port": 10808, + "protocol": "socks", + "settings": { + "auth": "noauth", + "udp": true, + "userLevel": 8 + }, + "sniffing": { + "destOverride": [ + "http", + "tls" + ], + "enabled": true + }, + "tag": "socks" + }, + { + "listen": "127.0.0.1", + "port": 10809, + "protocol": "http", + "settings": { + "userLevel": 8 + }, + "tag": "http" + } + ], + + + "outbounds": [ + + { + "tag": "pyprox", + "protocol": "http", + "settings": { + "servers": [ + { + "address": "127.0.0.1", + "port": 4500 + } + ] + } + }, + + + { + "protocol": "freedom", + "settings": {}, + "tag": "direct" + }, + { + "protocol": "blackhole", + "settings": { + "response": { + "type": "http" + } + }, + "tag": "block" + } + ], + + + + + "routing": { + "domainMatcher": "mph", + "domainStrategy": "IPIfNonMatch", + "rules": [ + { + "type": "field", + "port": "0-65535", + "outboundTag": "pyprox", + "enabled": true + } + ] + } + + +} diff --git a/gfw/LICENSE b/gfw/LICENSE new file mode 100644 index 0000000..f288702 --- /dev/null +++ b/gfw/LICENSE @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/gfw/README.md b/gfw/README.md new file mode 100644 index 0000000..f0c392d --- /dev/null +++ b/gfw/README.md @@ -0,0 +1,102 @@ +# آپدیت 8-3-1403 : آپدیت پارامترهای فرگمنت +از آنجایی که تکنولوژی فرگمنت در هسته 1.8.3 xray پیاده سازی شده ، با افزودن [این کانفیگ serverless_TLSFrag_xray.json](https://github.com/GFW-knocker/gfw_resist_HTTPS_proxy/blob/main/ServerLess_TLSFrag_Xray_Config.json) یا [این کانفیگ با پارامترهای جدید serverless_TLSFrag_xray_new.json](https://github.com/GFW-knocker/gfw_resist_HTTPS_proxy/blob/main/ServerLess_TLSFrag_Xray_Config_New.json) در هر کلاینت با هسته 1.8.3 به بالا میتوانید از یوتیوب بصورت مستقیم و بدون سرور واسطه استفاده کنید

+credit: alidxdy , rrouzbeh +# آپدیت 7-4-1402 : اینترنت برای نیازمندان +فاز اول پروژه [MahsaNG](https://github.com/GFW-knocker/MahsaNG) منتشر شد. [دانلود آخرین نسخه اندروید](https://github.com/GFW-knocker/MahsaNG/releases/latest) . در این نسخه **کانفیگ های رایگان v2ray** برای عموم مردم ارائه شده و همچنین **یوتیوب و توییتر و برخی دیگر از سرویس ها** بصورت مستقیم آزاد شدند. در فاز بعدی با گسترش شبکه مهسا ، کانفیگ های چرخشی به تعداد انبوه و مجهز به پایشگر اتومات ارائه خواهد شد. MahsaNG قسمت کلاینت پروژه [Segaro Dream](https://github.com/GFW-knocker/Segaro_Dream) است. + +# آپدیت 22-3-1402 +- یوتیوب ، گوگل پلی ، اینستاگرام ، واتساپ و توییتر به صورت مستقیم آزاد شد +- از نسخه pyprox_HTTPS_v3.0.py استفاده کنید +- مقدار num_fragment : برای همراه اول 80 الی 250 ، برای ایرانسل 10 تا 40 +- مقدار fragment_sleep : از 0.001 الی 0.01 +- برای تست واتساپ یا گوگل پلی میتوانید با nekobox ، ترافیک گوشی را با پروتکل http روی پایتون pc هدایت کنید +- این کد صرفا اثبات ادعا است و ممکنه ایپی ها روی نت شما فیلتر باشد. +- انتشار اپ اندرویدی توسط یکی از دوستان به زودی. + + +# آپدیت 3-3-1402 +- نسخه Direct_DoH تمام ip ها را از DoH میگیرد و محدودیت های comment و ... برطرف میشود (فقط روی برخی نت ها جواب میدهد چون برخی ip های گوگل برخی جاها فیلتر است) +- برای گوشی از پوشه اندروید استفاده کنید +- روی گوشی از اپلیکیشن nekobox یا matsuri استفاده کنید +- نسخه اصلی رو اکثر نت ها اوکیه ، رو ایرانسل بهتر + + +# یوتیوب و توییتر آزاد شد - بدون سرور +با این "تیزافزار" میتوانید فیلترینگ یوتیوب و توییتر را بدون هیچگونه سروری دور بزنید
+رو ایرانسل تضمینی جواب میده ، مابقی اپراتورها بگیرنگیر داره فعلا
+اگر روی نت شما ویدئو ها load نشد دو سه بار refresh صفحه بزنید و چند لحظه صبر کنید
+بخشی از مشکلات بخاطر محدودیت CORS در سرورهای گوگل میباشد
+بزودی مجموعه آیپی های تمیز گوگل را اضافه خواهیم کرد
+این محصول آزمایشی بوده و کارکرد اصلی آن تحقیق روی فیلترینگ میباشد

+نحوه اجرا : +- پکیج های dnspython و requests را با دستور pip در cmd روی پایتون نصب کنید +- اسکریپ pyprox_HTTPS را اجرا کنید +- مرورگر خود را روی پروکسی HTTPS 127.0.0.1:4500 تنظیم کنید +- یا از v2rayN فایل کانفیگ custom را import کنید +- یا از nekobox ، matsuri ، nekoray یک کانفیگ دستی از نوع HTTP با آدرس 127.0.0.1 و پورت 4500 درست کنید ([راهنمایی](https://github.com/GFW-knocker/gfw_resist_HTTPS_proxy/tree/main/Android)) +- اگر روی گوشی و vpn mode هستید باید برنامه python را از داخل v2ray مستثنی کنید +- یوتیوب را باز کنید. +- این آموزش ویدئویی برای ویندوز توسط دوستمون gfwsidehustle +- این آموزش ویدئویی برای لینوکس و مک توسط دوستمون TeleDark + + +# gfw_resist_HTTPS_proxy +- HTTPS proxy in single python script
+- Armed with Fragment technology
+- Equipped with Offline DNS Resolver
+- plus DNS-over-HTTPS (DoH)
+- plus IP Quality Analyzer
+ +# Directly bypass SNI and DNS filtering +- without any VPS or server
+- bypass SNI filtering using Fragment
+- bypass DNS filtering using DoH and offline DNS
+ +# swiss army to injure GFW +- for developers want to expriment around GFW
+
+ +# the structure +
+ +# how to run: +1. install these python package if you dont have
+
+2. set up your browser to use HTTPS proxy
+

+ OR setup v2ray by importing custom config
+

+3. run python
+python pyprox_HTTPS_v1.0.py
+4. surf the web & youtube
+ +# do Research on GFW +1. adjust parameters
+
+2. add your domain:ip to offline DNS to directly connect to it
+
+3. watch the log
+
+ +# Acknowledgement +1. helping on DNS & DoH related things
+SecureDNSClient by msasanmh
+amirhosseinds
+J-Saeedi
+alidxdydz
+ +2. helping on youtube related things
+a Fork by Ehsanfarahi22
+FarhadiAlireza
+free-the-internet
+ +3. & my lovely friends for everything
+IRCF.space
+Segaro
+ + + + + + + diff --git a/gfw/ServerLess_TLSFrag_Xray_Config.json b/gfw/ServerLess_TLSFrag_Xray_Config.json new file mode 100644 index 0000000..3dac993 --- /dev/null +++ b/gfw/ServerLess_TLSFrag_Xray_Config.json @@ -0,0 +1,192 @@ +{ + "log": { + "access": "", + "error": "", + "loglevel": "none", + "dnsLog": false + }, + "dns": { + "tag": "dns", + "hosts": { + "cloudflare-dns.com": [ + "172.67.73.38", + "104.19.155.92", + "172.67.73.163", + "104.18.155.42", + "104.16.124.175", + "104.16.248.249", + "104.16.249.249", + "104.26.13.8" + ], + "domain:youtube.com": [ + "google.com" + ] + }, + "servers": [ + "https://cloudflare-dns.com/dns-query" + ] + }, + "inbounds": [ + { + "domainOverride": [ + "http", + "tls" + ], + "protocol": "socks", + "tag": "socks-in", + "listen": "127.0.0.1", + "port": 10808, + "settings": { + "auth": "noauth", + "udp": true, + "userLevel": 8 + }, + "sniffing": { + "enabled": true, + "destOverride": [ + "http", + "tls" + ] + } + }, + { + "protocol": "http", + "tag": "http-in", + "listen": "127.0.0.1", + "port": 10809, + "settings": { + "userLevel": 8 + }, + "sniffing": { + "enabled": true, + "destOverride": [ + "http", + "tls" + ] + } + } + ], + "outbounds": [ + { + "protocol": "freedom", + "tag": "fragment-out", + "domainStrategy": "UseIP", + "sniffing": { + "enabled": true, + "destOverride": [ + "http", + "tls" + ] + }, + "settings": { + "fragment": { + "packets": "tlshello", + "length": "10-20", + "interval": "10-20" + } + }, + "streamSettings": { + "sockopt": { + "tcpNoDelay": true, + "tcpKeepAliveIdle": 100, + "mark": 255, + "domainStrategy": "UseIP" + } + } + }, + { + "protocol": "dns", + "tag": "dns-out" + }, + { + "protocol": "vless", + "tag": "fakeproxy-out", + "domainStrategy": "", + "settings": { + "vnext": [ + { + "address": "google.com", + "port": 443, + "users": [ + { + "encryption": "none", + "flow": "", + "id": "UUID", + "level": 8, + "security": "auto" + } + ] + } + ] + }, + "streamSettings": { + "network": "ws", + "security": "tls", + "tlsSettings": { + "allowInsecure": false, + "alpn": [ + "h2", + "http/1.1" + ], + "fingerprint": "randomized", + "publicKey": "", + "serverName": "google.com", + "shortId": "", + "show": false, + "spiderX": "" + }, + "wsSettings": { + "headers": { + "Host": "google.com" + }, + "path": "/" + } + }, + "mux": { + "concurrency": 8, + "enabled": false + } + } + ], + "policy": { + "levels": { + "8": { + "connIdle": 300, + "downlinkOnly": 1, + "handshake": 4, + "uplinkOnly": 1 + } + }, + "system": { + "statsOutboundUplink": true, + "statsOutboundDownlink": true + } + }, + "routing": { + "domainStrategy": "IPIfNonMatch", + "rules": [ + { + "inboundTag": [ + "socks-in", + "http-in" + ], + "type": "field", + "port": "53", + "outboundTag": "dns-out", + "enabled": true + }, + { + "inboundTag": [ + "socks-in", + "http-in" + ], + "type": "field", + "port": "0-65535", + "outboundTag": "fragment-out", + "enabled": true + } + ], + "strategy": "rules" + }, + "stats": {} +} diff --git a/gfw/ServerLess_TLSFrag_Xray_Config_New.json b/gfw/ServerLess_TLSFrag_Xray_Config_New.json new file mode 100644 index 0000000..0f5f174 --- /dev/null +++ b/gfw/ServerLess_TLSFrag_Xray_Config_New.json @@ -0,0 +1,192 @@ +{ + "log": { + "access": "", + "error": "", + "loglevel": "none", + "dnsLog": false + }, + "dns": { + "tag": "dns", + "hosts": { + "cloudflare-dns.com": [ + "172.67.73.38", + "104.19.155.92", + "172.67.73.163", + "104.18.155.42", + "104.16.124.175", + "104.16.248.249", + "104.16.249.249", + "104.26.13.8" + ], + "domain:youtube.com": [ + "google.com" + ] + }, + "servers": [ + "https://cloudflare-dns.com/dns-query" + ] + }, + "inbounds": [ + { + "domainOverride": [ + "http", + "tls" + ], + "protocol": "socks", + "tag": "socks-in", + "listen": "127.0.0.1", + "port": 10808, + "settings": { + "auth": "noauth", + "udp": true, + "userLevel": 8 + }, + "sniffing": { + "enabled": true, + "destOverride": [ + "http", + "tls" + ] + } + }, + { + "protocol": "http", + "tag": "http-in", + "listen": "127.0.0.1", + "port": 10809, + "settings": { + "userLevel": 8 + }, + "sniffing": { + "enabled": true, + "destOverride": [ + "http", + "tls" + ] + } + } + ], + "outbounds": [ + { + "protocol": "freedom", + "tag": "fragment-out", + "domainStrategy": "UseIP", + "sniffing": { + "enabled": true, + "destOverride": [ + "http", + "tls" + ] + }, + "settings": { + "fragment": { + "packets": "1-1", + "length": "1-3", + "interval": "5-10" + } + }, + "streamSettings": { + "sockopt": { + "tcpNoDelay": true, + "tcpKeepAliveIdle": 100, + "mark": 255, + "domainStrategy": "UseIP" + } + } + }, + { + "protocol": "dns", + "tag": "dns-out" + }, + { + "protocol": "vless", + "tag": "fakeproxy-out", + "domainStrategy": "", + "settings": { + "vnext": [ + { + "address": "google.com", + "port": 443, + "users": [ + { + "encryption": "none", + "flow": "", + "id": "UUID", + "level": 8, + "security": "auto" + } + ] + } + ] + }, + "streamSettings": { + "network": "ws", + "security": "tls", + "tlsSettings": { + "allowInsecure": false, + "alpn": [ + "h2", + "http/1.1" + ], + "fingerprint": "randomized", + "publicKey": "", + "serverName": "google.com", + "shortId": "", + "show": false, + "spiderX": "" + }, + "wsSettings": { + "headers": { + "Host": "google.com" + }, + "path": "/" + } + }, + "mux": { + "concurrency": 8, + "enabled": false + } + } + ], + "policy": { + "levels": { + "8": { + "connIdle": 300, + "downlinkOnly": 1, + "handshake": 4, + "uplinkOnly": 1 + } + }, + "system": { + "statsOutboundUplink": true, + "statsOutboundDownlink": true + } + }, + "routing": { + "domainStrategy": "IPIfNonMatch", + "rules": [ + { + "inboundTag": [ + "socks-in", + "http-in" + ], + "type": "field", + "port": "53", + "outboundTag": "dns-out", + "enabled": true + }, + { + "inboundTag": [ + "socks-in", + "http-in" + ], + "type": "field", + "port": "0-65535", + "outboundTag": "fragment-out", + "enabled": true + } + ], + "strategy": "rules" + }, + "stats": {} +} diff --git a/gfw/__init__.py b/gfw/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/gfw/asset/IP_Log.png b/gfw/asset/IP_Log.png new file mode 100644 index 0000000000000000000000000000000000000000..7da923cb70689d3907e979f6c025dd25c703a958 GIT binary patch literal 38487 zcmdSBWmp``_Qs1#0tp)2-QC?SK#<_>Zi5pb1PdPAEqHKeaDvO=&fqXOB)D@YXP@a_FxJU%|k@pex8rtHZ#+Pr<;z2BE+~TTZ2l z?xDY60qSy+FjeEk2ha})))LARFfg@ouOCejp`TG*d44n9eJi;@;V%vu3pN-HSK`#=3V1)lyUmb)zU|c_5CH#Mn{}ar{ z$>o1y!k`dG!EoQy-hTJ^&p3Z|0HMEu`JZEh%rQShMBf=Vyg~SDKK~As2kiNuez4>& z%y5(7!L6wIpnuK#KLc{}@x%P@v9U5R84o(2rUd_--+%gHe1;$)|IZkoyK7Oz0c25Z zddUCm2Ll~vs5buFQ;x@H6j>rvl!s6QC12AOaETnT!@fi zIUnQS6Amh;#IQY;u_H<#N~IirT7P-gF5i*>J)MSY8D2KjqL^i@q)hA8s=|HhI7Nb` zhy6U@$z7EpVaoUS@x*ZP5F_5Rl$XSJuEW7Mp<_xtgm8XxAZVzEu2gl1B=Azd!k5Wj zNmeyd|Ey6c@C_;goDNaj*Cd|^{&)uxLg1%R^}kQGD)Ms~@NP5M7j2Ve+a)6V@`ICc z;hFxRn@3wYgf%v=RWKiDnQYZ=o5|8I0iy_$S4$F8UaYc+j_}vFZGsE;Eb1kq_Px2> zg<);i=sIJL;V|d|d@*2(`^)idrqX^Vp4= z@>&!oHcop1cls@x>dAEjDUFNr@486yfTJ_XG9G7L6OO-8{xf9de~0wI{B;d%-Zytf5ReA&&8;qg4^h0iR_j3!o|gC>q|b_Q9;=V2qkk_+3(Q~Kd`^)X2wZeZ z(c9CsmG=+U)iQMcPcW54ze#fcgSo0lMNS&usc3;WmJXkmqmg$%q7uOt!Nmf3Ag zy9=Rw+BVH-D|KouITd5kz24g806e5Mdkqo&eS%K+A-jK{;55p{%9(BH&oASCw_lw; zh6nCdTArN&ymtB&pWYNb#g9V2dt3FapxU*f=@FpzO%Qq|%)dv5f$n}x=nfG33BsrT z=U(Z?gKo-a%G-Uyf8G@S|I+u@M}+66=evoAy{rDE8#>pQ$LGv3pO*&>vV8x{n#+fe z%#(LBn77m?xv^IogJ<@q2bnwE*eN^5d!`>vM^;V-s}54t$YiY1zm-e0dO8-zF!iR` z+N4KO3)ol|To_%IxH&$xfY64X`Ln3ZJ<~~>eTr>gs=&LSX9)@kv{DB*d{M;oq;y!Z zhG-e^?wI1Oc{RHlnLe^h00Ozq<~^)fRl+njT03*q2u(zLC)SCJN`UKAhK)Aq9?y@@ zMS(k7s!JPhSE_Cwq+~|84;Va%l2P|n`7CI+8;BzviszOfr%rOYbdV~R4FT{zo1vSJ+#AZ8KD2N-kO0?-`PyQYbg6|3P1l&} z6tjkCrNDIhpM5>=-Zo-0!s}ekaSSq5R6W0+x0Lfo0+G0^bS7=Xn3Cwjjr;9T-@2Vx zQiwEU;YNHC;Sf&yB*Qfk{c&QhwT3Al_%NS@%KI~u$ABTk|B!xDD}_q|xD>uct%f@zY_=RxpdLe3{Cxrzq+Tw2 zit7E$g58?o_gz2?d-+_u?bnT$Cdw9-d5}9qa zVFYKf%i4)9i9WDjfzBe(p{dQJzy`vc&9j$YWMy98-NxS=&5&kev&mS`XU~eP8=; zfpLYrH$QGYuM(&anA^0|34otjdb}45>Mjx|02Ay;A1>OC$WS}eTsoB0IOMt!#APd{%B`vASHM}Ua- z8#^bVTq44spI|jBfZCj!A-YHWiA^@AW^)zPc*rA2Z5tD=e zS3HK7j-*t38r!*Tb(}YgZnG(oQSM4N!Tw^bsQ&eXIUxN1s53{Iqw@K= zU<`6Pfcy!q?$dJ>@g(>eDS}}G&8JG|CqrEZ+C$xdaMU44# z^rJEC8%n?Uu)cFVGua0{PCpZLPArtasY0hDpG%^CZ_KBApq^?6sUPCKRD+GKveuc8b?WGWPIcPwvF}=^oQ>!(PWZ4%LP*HuL z3FvcIB%Qr>$YEwbTnN2#1Nok&>sMa8+N|j3zH5UEe$yN;q=ccWMh~>#<}_)87@ePw z`$oLC6b|7(d>-_KvFIP#y!Z3(huCDBmm>rBZvS+T#V z>tFNyKkge;Pf^p}w|OPnq)djm&d%CS;REko>WcwqvMbRo+OZT3QSmN&oy@sJ~o=vi&6^#%dr##8`|%CmCdYb zyvk$-C7*6c*vd`58+&=V+4Hr}zx&*(KxqZn$WoXfB36U1b0=OBXg1^zdb*JVp((Ml z)=%ZGcU8X}JqjyRsx80Ke@^F?oudbZm1$T7oo=sJ>t{Pcei`>M+s881r1S9V`tT}T zqDr1D52|J86C5bM4W}@;y?{Ilu*c%bb}5p`-Y5VrluEYJGKwSNXkY~yG2r&Ue2e~` zY>_G!i1K4O-3qI~@26>vAJu$S1-t+FXlGTP6HTT2y4my~mjo z&foZLP$wkC+?U2&V4`b@A@rTW0P#FuuI9QDj4yQ+_V=t$KZ=BgPUtY}R@-8>rc#>igq?Clh-?0^QP?@QJSoI_OGW$$7Qn)7tRp|O7EdaS__sMjAQ}><8`IIs;o6~!UDeDL$Ck`OWL?Mj z#T-XVSyu}g-;&ERN%Cf!2p zfHGbDjXxup1h=wE9#|S?<~`fn5~gJ>ey}q?&6>;KP~Wsb#LfNRSeMv`( z2miQF8rZLz>ixJDt)cF*@x}Itj9?+Y#|;o3Mf{9E;kfja6jV70&ft12&%39?9Bw=3 ze77o#Y>#wr$kLs4MaDpG940b5jW6HRsZ?> z$)xUX2O*a|R@0)~&{|I5$(~*c`>7IDVLB^Xi=xgS-OiCqG*Oz{X)X@kn8q12*ifvzEm~X)5MIY$ zKMtT<(Q!$ImE~#_G3GS6oz6U~@2K{1hpxw7tL%<>NIj^t-57p5BU8Cek_aOU?W|ms zDr`&{v8su+h`YHJ@9tEo$&)j73F56Dd(Lyf))?GRYh{gWC{wfI#H`<{cnd!9`BhER1n=euA(R(g{v%;;; zkWT$q3F}`xrJlM5em4*jZj8NIGwo>Nd1UsZXK{NfM?Mz7e%2GVcA@*+jnJ2 z%%+)e#Gmo}^C3n|;0iHA{-Pm49mV2_2P0wCrV?d}LHYf)yZrnNc+{K*?Ie0Wb;j;s zzt>2`?sTNBUmr)WNl)#RTPboOk4B5$nEV2@?bz-#6_iwC=F?e7W1lcSkPlA$(6vBJ z?*tw)Aa7zE>v)qdd2++ATfm7z%d4==83&`aHqV#JY@+(sKu5v}BeUeq3}%zp?18S$ zDYopo5$zTCjnPvc$v;Hg3R#$=y18%pKL!5iwk5_Uxc?E3Hbe$tEk1W&L50@NoCy<- zzr{#v^3Ter*0*;A1tE}tuv`wszr&?UiVF{WGpv|0W3c~GXIcJ3e}9gKf=tGm>V+`lz%#;YMsdP#x&7#@mZow* z95}0G%Rpk)u_Ju5PtSZ7q7ScHaq$Kg{PA8zv6Yr|jbwefoRmCVIXkomZ9kilHS%Jd z(8O#|o#H0y3({P+yrRAL@Dj^C8~rX-w9;7|(A+rIye?+DnIF6IjZriL_8t!I2)Y)X z<}xx1msl0bwTfHCx&n<~nz_9gtHU?>5TA1w0=r&PoL-(khDZE$)V{!i-y{5I;Zf!mRug>mqG zhT7C3f(pEP(i!i`XYVK|{SLZ|i((RFJUB|P%T<_^tX>f=$eq}kVxp`U5&DXu1@UC8 zWIgLA4G7_$x%DiaOh;eXBpJq8W8OGKRKgSHjj;Es{{V(^q)tnRPwnT0LFFUDVB)Y} z3Wdi`i|g?C=3d+D!mgcpjYp>;x7@2 z=c~SYYf0+&1%!*r(dC2|l`K63Een#b+LUAhDhBo}gZ{VfcId?snptd-`VBjZ!I~Hz z{nI%mm`5Al8*n7##{&tbca^|LaL+DJGp6ACu$CV{L`mT#J-E@h1#Mdj4+BeVFMB&D zYpxY`zjl0i~c?CCuxMfA$GT?a}hu9C9c*dBHvmfO#PUD>KERfAQe^8j6Lh#PiAD?hAQ;weubUaM4|o$eF#0?8gV8#+Cw%8e)2Fk4=ILD|&uCJ30rR z)G%Q1PNID5iWJuaFtM0|>3BzGdt?#|fx`YTQ;y#(jR>O-Vf4K;Sn`4Pr3YEfR;{-` z3fPwJS|ClRl=Yo#E!O9**P4JN!SQNm{0A;JD-ZIK?o5y_(L0-*qmg{)1cw%9 zC2T;(EkoOiZ7N0G33z(6vLBuDeTJ+;--w5Tl`R}=5Z`Uo241BkmPpH=MV`&m+@->U zm_;#x`3uwN`hmll1kV(xAAouI)A49^h1AHn*&F{EE>NC+3jX5c|sfOa*%~YJ3 z4dk9=Dou$oIBcvLc~eZx+KM!q?44@4K<4M`XO|lp={4E^(umrdsj;1D+ic|(x{vH% zGE;9?w>^I23yjZ!trn;qLZ)7eBI_m&bCp4iEd>3U5wVqyG-2h(aIlh^hr z-axOdSyryb-eapQEdl2dil><q?U^$Nq=Dl#-c!?-@v9|0-rc$>#YZmBVi z$7JLeoXPsx+wRbFMg=yi?exd@lYnOnzy7lhP>8bJn=}t2! z0K&t29Mb8VqhN()0fm&rwdN4KBq4;TA2-3@KW!M+);>ynk`Q_L2*I9|@_#Ty+%bJ- zG`!f6#@sx`+5O2pYkxOgrP(9hb$VI=WLwAsCVE?SKIJ&rH7t6=#9iM4eUW3(Gadk} z?UJgfAP{|TK)O`{4M)B4&?G$N0}G%mYvjqa`~C1?oR&aYO7+H|-?DcWtN+( zq7U3zS2Tbyry)VX%@;?)TTdG!6#kM-OK+AUy|mvj5C6E^)y2l=`}^@muF~0VN+sZ^ zLHMGCH;_g9-Y&I1+j_iX7zvau?d}EYAiSHyjgCK=lEtd==$B2LX*K$Azln0m(@ai@ zim#w1l=2BWpFL_JkL;4$@={;r$m-{vvDYAfyJxZz;9U*&FfS#3WzOqY#lT(BuU`v7 zT&-QdC&Ti)JfICY?5?Wu<|r`ATjZ;ZQqoKl13a}Q0l75p>Yn0&5)(p}230r06Ot>^ zFXG04BU|$vO?NoqO>3DD}&-kTdMl-dM|DemU{T_2*7 zRb0h0lPMk<)+|3^+<35)Hk!?;^gBhn(@BWG88&AG&Wudf>@@KW2l_2Rtm@FsXe5@QhaU^2Mp^quSmUk% zP15gwPQmMJjCf(-FM$31`cK7mdTM$rbI>C7jICujeqX^Ch%LT_O8a~<6TfMs7mRg5 zj`&N%lBgi%X3vji0%s!u;sAZlN|!W6VW}Ug3rF)Y;GhnSQ8AqNvV2X{Re&GvFuE)P z@duAfWE7Pc?j;Zl-8hjKj9Vi})VzvyjhHUYQR=wi$XPqSCuuD<&75S;IQ%tMaF03WFBgx+gl_SpB ztf(M=HSISxPLfWwDc{y^6dB)Cs0F9tI+fL zS5$uXp;mLUv&K8En*f{SqYpDpN#D0A8iTv;GyD$wyp>JPm_H~2%GXfe_9rtprDOsvVitDvYy4opBJ5sUqU4A<#UdV}IeY zYT0Wv`(UYlX|s=+8-4JR?%d6uF}f1JJm$3M9odhaDj_OJ<^_tAetQYafeS=8q{BXI z6h)eda7o!04o?MJMaZ0$2o$k)f1j=e~S%nID5;xCOGb_C-8JhwOVy%t{5NP1+6m3=GAzV5>`f z=UEyrj$eJ6`{35H4EgsV*an{g#{F> z!xO*|&SN~+kV;c9L4~gY=LH(gc!~w(-g`@E;+rCaziXD4bJ^8NRKb;Vo@?FV7njDa z%uk1sK5(Q+GKAX;4Al!SUG!TD`l{Zi*9@z=Ercy#`;_nMsg?uhdc8E&vG=S zDo$K0jy5JNuNv3qHOYUt_m^`KIk4YhRos#|m2V1~2unh2*xcV_pgm1htbSE&>VQN?GvfE#fiV3{I+I~w zc$b&{9XYLs{;qa`rt-odAf;qw(UaO|L}vg!m5DY7c4%?0(?D?u$~5S&kpAntYnJRb z@Ngj5R6#$T9ZQMNJC*q(yL>G$q5WHS*`us!YgjGs=~(uuvd`smvpLwOUZ zkzRv_0;5B5tIY>z`+t0e{6tU>o%IFE@&B~8{Au;NpdWxo_=nQt!V5JOPCzgh|F@M7 z+Ij|2i$?y#c;949eByeKk{$F#U*(*PGlt_;I!c`Fcyy@V1uPsluD8EbHSRyDpjhyD z4Ug>*ExlxNHawT*>Y|Ir8NwbX>8{%rTkhHSjg-rtDG}UY*%Fa)t&!4MSy=>v6NI?N zzgw6d2fiIIfb}Oy{=r>9=`k>?wuu&)nfx4Z?`aTcC!u2`H+#Rb#YXn4=tOQLbL5uaQ+}e$ke}tnYcuD^ye-yO@Im@ z{|9jr!BG;uQ}Yefzmr%~mN7gzAaNFN%H8&Um%NQHY%C~4Xq%bWu*TRIO}9lfnX4d7 zIk!En(;b(RLHUC;JFJN&xdoOaZNnaoGU6rc&|9R8YR|HQ*!e!WW-*lUyB{Z2K(eSu z8&W|sI+Lk64Cq6kwVBA)$=Ik}-`lmFi8z|`OmGJ5Ch6`Z?&lxaDgikbN{7|p?X0hU9hCWX+zLQrzvo0?&8aEtTSb&p!QT!(hYw z(T7O;d%Po)p@u{Dk(RBKUvi+*&J4xeE0wWwv9oOSfPy-3?nco&>0x7{A+DO;wSl@Z zPNfv(w7U|p{tWGhE8}|jkVRdWCX9;j`TRph zA_X;=s?)u(3S!m$E}gG;3~uY}>{F*YG_{vYx;~v_UByd^R^wPoimJ02SI)e~xVQi9 zu85QS$Q3beVy>o)Q6QE#Tjk_xw3SkX>oprl7GEr^TO~tCv$_gGLn~w{30h4YEApAE z(+Nasshk5#qU{_LU951~#n_+Xll9id))VTE@f6Hph$)$p9#^B=BQnr-u9;m)Yr1?- zGil?Y{TU*Dod9PTptOUm!2Yj<)MSd?PZkD+Z|USn$lld7LaB{o_M-|~KM|ZPk2#uttTV@*< z7x=avP@ej~3fpME)dR7NE&X8YUZvvkTGz$)xm|T<*mVfQF#>rll3*pL`9NJcM61GC zX}EMHA=xPV#?1rL6+j|ki9h>N!VC?HB&Q?iSk%)GMhg8<2`Y0~#b+i!1u~dS5aLs9 zNBaR?g{tLN=87_(XJ{hWWMe$B#A$%n&MHK}5xD|opb?Ug9sWsl0{&E0vMBEenToab zrzP7!UiJk=O*rJ;s37N%;}<`b?dz1}b=woM8NX84Cfn1XPoAOypBBCcv|c<8T8BL^ zVfE_%unl%YMZNuDX}P$Zzlg}uFzWHuLSHe6_(I#<6z*4%%k11vyby&Leo1h~ipp>b zq)BlgLns#9GMGj8NgXWcgg>`G@Tog z2Xw|V&LtRlld+Pya+y>dKFhSNQk$=3q?MiRMReX@7IZ@hs`T`!Do7ITZHPCj_=tV; zDHYkXd0HT>{xUa9a`U%YD&o#hZbi-unrI@}3wV!;sq^HKyskw-K|oICiO}!(Ki}&f z6!ik>dbcW*zu+oiJ#dR}_R@u|f-vkjECjTy@gP^BEsXW$rEh>2Cp42M+fWLeyp<$-`Nt_^6kX#l#;}& z_J#eRU<%>471S&Xigt^}q#JH_)N}{gL2J+}Q9{e(RYaX^cix@y
d*^=5z>Z60% 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 literal 0 HcmV?d00001 diff --git a/gfw/asset/customize_params.png b/gfw/asset/customize_params.png new file mode 100644 index 0000000000000000000000000000000000000000..4972372c077ea70418eb174b2bd59a60f24065af GIT binary patch literal 33621 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

1^u28AJEy6012XBr2w(H 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 HK7apTdiPng literal 0 HcmV?d00001 diff --git a/gfw/asset/firefox_proxy.png b/gfw/asset/firefox_proxy.png new file mode 100644 index 0000000000000000000000000000000000000000..5d8473b243084c0356a6ec3f41e1a995b022b801 GIT binary patch literal 14960 zcmdUWcRbZ$_%^a7BMu>Z#j$7h9@(T0G7hqLvS*x(V@pW($aW-q)!~q23z=mnBb%)E zd(h|oz2o=(@&56SKl_F0 zv&aLzO+7iwGaVkF99m=CSJr`0KfU8l~n}W?eGZ2qZ3Og!K|zz%wT8 zV=#^neuHZuvllkYZ_@*pzaBq{t?W;)v8`y8_0Mi?t2xNpZJrmrV8p=0m&3p!4f&{v zU76N%%jUoS;%PWe82SqaHX}ypcYH>$jbaqjRb>opQc%owLkw&imJmc5G26?3P30i` zxc`1mi^V`%ioT+Lf$jy}0{V&ivPa-&3sEe5_;+1P{Odt5!*Q(se;n}RPZ;WP+s-%h z2( zt{h(UwV&Bm1-)eVJF6Pc{yX~aQ1xkI$E{YgC`4qfJ}PU!V(wsayv>Zp?&4t6{wG!N zc53WJe!NW6yAn3u#}z?8S1!Ko2Cr_d+eozsfS}vMspk*rtiqm8)lh~V(BjPcU!3gq z`E>`k*)p&^Ap#8lBLrK8fCy)l;be&F@8~+8P5OD(VGBdTr~1~7ubB51D{n)gT8{!G zoY=mR4FoLLlnb^WGX(ucq}=mM9eX&_wo(;1=kmOlPc{-UQA62WJ5wo0EZi&RnC;-k zgLalof*5j;=y&_td9k2{zIf?_w70*4`;NB!#+$vp)~UGgdyc?8@n_r%AWJC&@zl*~ zx1b3>uG!*SvZo!gr56`tBr?HW2mMbS1`=8l5W2tF30_H?RFi0iqh$6PKv<-Z8=+9> z_ICUQ2~1#yGk6RhiIa{@1n3O`F#gxkBm~ zy1L_cnso`h?nH@ovOkzkMVSt8PrO^9mpVjJol3VJwa!UaC7J&nF3djd3AQGZ7!Npn zw$)l+9=jvHw;+3N*`5M6u9R0FWcgPX>jF&AW;53^fRoh^Du#za9q} z@(gbe1TAON9vE{!#3VMgI$@FBu{wYL880keF?M(Bw0EvTW3Qd}kiAz=TjoL{p&rsf zp?(+Gpc3qtFc{C8YDK~k!e02ku(^o<(aksIJdEF=-cwfLsCJ*@0p(thuJnkE3IxJm z$6wC4x01bYJssP9GJ7be%|iv!#|6Ce^%QA&*79ecNd=WWlFi@&|NTTl3V*$5rR+8G zK&}?Qjf9E-9%j%0cing9hf)Qh<>r>QcO-mu2A7~!tHqyB?++YjJ&_U#S9U*5E1jrN ztWZ7Q*16DhY9rpU6xlgXF?W2C{sk}Wm0fwpZxoGhIBK*9z5`&D1i?)rq72*TbLNgA zeOZJN=I1-9hFvb5&nKKKmF;j!NdkVf|Ef5T&;Hx8u5nW!ulEJzYps;gzi_R&}&dJ;qmL z17;8_p0~fVOE?Q7ql+mIo@hcy|7y%_JMkTl)wgNcz9RA2@}H|JD(SDE-l^KR-)M18 zGSqT%?j7^{nuDXK;q&>`WTkby?`UR|vVm{oR(l&qm2F$3#aA}Va;m+Hn)ct56Ki$_ zbrg9!bwn%c-|MFm5OIJ>TJa3I+2}{}9=FV=sB~~8KkoQD-kobNXb^F1;YP{q$(6Gg zzY!zw^gCmfjuGL#TS3|i7+9)G7UhWI4IV^7dih~@&yeLi%SOd&_3y;&{@^?Wf|I-| zr7fKcJkPF*qiuTry8g6V$hLoN5N^lgW#YbDB)ez#+^aW?)cU(iT$TUkVOO1b!=Fa# z0g51+DSDjyW{$2YiwKAI#jfDu`XsWRA7z>KDVZkbXRgGsxb`EeHbq;{MxG#bjMmLs zSN`w0!F4b4cON7-==S3I(I>?=8n3~UDa-5%*unF4MnZNAwhj^O(yMy~Z|Bw2N}*?E zY)rQMyRwIbnF5YI7K3*jEl%|zTPAVuw zoyvRc+|% zG+3nKURWJSq{puZI8AOp+oHP z2=Rk^DSs6)fY~Wvb{$Z2b=f_g*)-rY{d=RZbHAbF;{A)+zw|^?Hm+qqPVk9{CIs2q z1q*Ms@Z>ij5XB`p9)^ndFf-<9kw_b7^R4;_8`IRzA%1npO$EeD&OE!68MDr#3fxl5 z=)_5ReY!*!S)+va-$+f)5qGJ{d9#l?FNRG-`VJtY{U$dI&vPSWN-WnToh=d0x9evP zB-9Ce^-srK+fWImRkebarl*PV0m26gg~@9URT$aEq7CdEDlH(2e_YnW`*YZi83|_3aO5T zHz4u`9WzdL?vjg^u7hOfg2))G`?5t4JGHyV2K2MJ$LHjRU{{MB&1l1Khf{tqIEjne z6eUARAD=4`Jn`jagu9uxLdeftzVF-7-X{XY5BB+2v7 z4?TQMAjPL?w=%iFI}WQcf)X<4sBXOD(HNNKx6i*>0^gmE3q}vjygdq6-etlF-M>xE z4SqCCzQJVZ#wEkpltiCjkk#u9PCmyr!R3`N3HVs<)#ow)_wZgrQ@(4QzIqyWk->nSzV2ES3%`q_Qy#W zY)mHL@TK!Q=Xroauv?AKD@0^)p(QATI`k?krAq)Rp)iMj00;Fd+${kDT!Sb*`hR6E zAT|xV@vrp%bTFL84(2s$@tF%eoO?c=;TpK_=(!4;U1OzV`WNbl;A@hChDp7r&x`Qr zkA58QQt_JlJw*GL_8N;FKp)pes7B6jHqQkONN)*BCo=q1!^t7Ij`=@E-KJ&(ze=zx zCLFoLHTc{yg%CqZ!q9`lV0NkbnTowXsOEcm~5a7;@l1+ zfIC(--hx&a4k?;k?>hky)a6Qri|WUafw&%N7^^`zWtp6FFIsV}!PIfrbBZOS27&zc zI=mh0mSE8(Ze$4raDclWn2d(Q?vY43Xt3IJYjjaWnq>rf>j~R&wBBlZAi5DrsgcA@ z`}_Hu8&?Z}M1Djd2CWLMhAAJZz-W;Q3@B21ArQ(ZJL5eYrH+3Z7-8vG(NXU%e6uvo zXz+rau|Ulu_C2Zl*K6yDYUb1a)Z{_mX!hU3-u&Eqf0aFDa8{=Cnd4t z*UyCsY3Y$Ka-0WcwO(uN)upXXMDUGYPh2}1SUG8&Q4k}y5mF7rvR;v|BdU4i%e|~Y z-=m@}TeU+RcD$@rQ>8KQGMG$*Ck%w!=p(^T6sm_*$T~Px-wJRIFC?I!S8Xj+utvgBF>&5PwF!vN*)lT~eot_& zwou$1OO+k0-BNESb6s}{IJ4YajHP(j71#lFX|=|)MtHsF_c6m!UnC>ft_O~b!a&Za z`N5m6E%Qhl16sXvE6?wG%dD6~5aLC%d6n1Yl-qKU@|Lh-`s-z-0g5=Tq`sK@|LpLy zO!xsmqkA1?ZiQlJqo<}qE(eLhR<1T+M%WnUHf@st8}>1pKr^G@e+C1K(X?vc82K{+ zRW2b^iQZWYK!+09M@qT`kK7;$_;Y$pl*%hzs>rwZh-05jjtOxWFyqD^8xMe$erWjK zY&+RFoZjUfxqX})|1igUW*aXQ2G|0G1vdhuB{n{w{T`?ZKZO0dNlBet-*E8ex91+7 z|E^X&8YIrnTsraxO`k7)>#bF8WjPUQ8l;wdw(Ml~vzpi_8PRaie7=`1b{_T4nccLK z1921BI}2BIaALywVM4FhuydDdY}VC%^V738+my0|wv$szcgf*UD^%<#9*Lv2vMbfydQo z^s^v9TQfc-PW>_D4rS#x!C3?L^tC)hLgu3A2WoTLQsj*aSVFOOQv6r7%}NOPk)lJ# z*bZ$EC6T`XzrU7Kca+9!l^a^LMyz$l#IyO`Y`B!7e0ssuuPvu;FGL~!oDch|Qkbj$ zKsj`pX@uL*Ds)oDE($xO2*=#0{p*MCJ@ccNPXEUFB(fcL+CY)i66CQSXllC(i@Iq* z$tz<$(z{xF>)8f*_hPR>WojA$0!=v<>{w^v$~U#u&n*fNYMb%9UsbJ><~04qb!0qJ zlCj?zS97?^)x?H6L&*$?1PU6TAl``4tj5MZJ$+85yuJ9jt{w)17p&&tw#;bJFSKsa zkdi-fhU%3UkRU^i&#Do+>-B?`)LYCyde&g;FxQYsOXQbk&M4!~0S>P`_$m+^h&{xS zO%NHGj<^HNh6%8soBt&uNXvR{kSjbj?#yj7c00Dojs)@Qb{oq%&6h!uRK2&`oAi$HfKK21yMbi~5 zOl5%v>W^SFAAmE&7WA8RzR5!JubTBb&($hY{r~RJ=jv9j&S|gPr(b;V*d1CI}<7 zjX~C8(Ct{w9d6l8-3nIb9)P6Mg^P7dp3=7QAR-C0s#S zmdVggK~77JBi|f)ZvS52f*{KBW896dqj)F(N+A^+uoG>>na08E$)0&*mGy4Xa9<&i z**Ap>E+liMJL?WJ8HoK}UJ|1AriSaHS5jfZQ3s`0%0`dR0~4?il?CO$#lxo8k8c>E zd~7&2X2PGZig!OWoy) zA^4_0s@ZF{_Cg^iw|AUf^VIJ?5p zY84Y-@p(UdCXQoG-gV)|-Qx!jVq2)X4Tjh<~mX;tf_MQ!=5pgdeyRfZi*6oe(%`9)6M%cISA@v zLsJMVNoo_#A6xl_8;si=HS^CHia6#MilQ>5te~lBboO!(o7W$?0168w!0sX>N?(jm z(E33Wz3dP6sxfFOt;QD0Pra+jGr4wmO=u(OS9^=mv`_VDk9};eFuGACnmoS2Wi#3o zSHLuuv^o}>y5Aak@6>Eq@tVUYzUx4InhFmr%|BJEWeA{&*n%F-=u$E|U%x0Ik&lD} zzAgXIT_EiJVKW>y?v;aeLI4kZ-jQ=yyO19QSWF!t-M5~HBS(Uvp9X^_usmteqf(-& zxZznb%@y_jm_So;MRzgZRoMcCjs!O8N^yY!0sj<7=b5d33#_4YpJ;y-03v~C$%xW_ zkpPgRo}ciG`TH*t&;%lZ`Tksoe~|!?-xjZ<&u_af|6d>eKMC=#xcxfHUsbhufk=3X z&Q(hP`G_}=-R|~lIA3B5cyR;-f-+$y_AmV2PFK^TZmNS75a=U9Us|>R9gTZ^N5nE$U zy+o7-Kl9pw3|+Co-8zzVRC;3WS$<%d1peTeJmc-Wc$f^qO z@^qBL+kWq;*Oz7s!7o>aux64OPzC*d8!K~C%7#k%Y`mMYNC38n7CD@dCuvyb z)JpnSsn3sc)BUFFJ^Bq9uAtNzn-o!p_+;k8JKxtgL5SOIF3snr5AcCrH0C?*+K{^^|5=`*0y8931yVF~nNi**=y@Gy zTwPangOF&dkSywcWkCIdqE|)g@!aXRudyzb85t z#WCTFo&ygg;M0dp@JvY{&WNlq2Dw@ROXdELhU0SAC^ z4D3lXhNn+laI`Meym6P6mtsi1IG3|}&q=!Qb|X6SG27vY$U+^MnOvHE z-L`PDZ1;WkPCVYx;fW>{kEdK61;^XYI}g>`x{*gGLdB0{WGIuo3C$I*@ais>6%4k- zGj^f+*7dHK2DM3Knkd%Logr;#F8F!lyePPwJ)2eu=-s#5dmz9wl>-|km! z%R9nfPIQP?j2&!CI^+G)yV6;rau#n8kY{1Ls=_DZUQE#Hmqp5H?n{yHWdD)~NuhTX zA{4rT4;L{ga=G*!jL_Rm0PZEm6{TO7=>b@k=3KZ=gSasRMULSi;oFyXVH^y@K<42+ z4L~C-U?=Tx092JE-q>6tf*+|IWG^R%{XbueLF-5t|Gs z-u`9x<~rf9Dvtpj3KNvM#w-p645&NvT`i&Ol!i2b|9-k%c-M5GgwAh}n4Ny%%RCF) zI{P+ok)D0NPRS=zb){;CqWJ;D zc-e#IpU1cCd!NtQw(p7L7f}JwXC?>Jq2ugB-{k?2`&KX%6Po+<)@@>al1dH_v%jC0 zV7&LA=6tw&WgWLK*v3fYGs^a$t^BUl8`3kQ{Vl!@Lm${e8cU(4H;Vr0p zB=;t7U7?R=4j1?X6#4K)8KHgTBrZ|lD?6eCleas?c^j8|;`Sc96p8e5bO`Mjl-e>h zw{x9+h{loj&Y#ZR;L#P9h?m#}jSQDwWKo#Jwh~? zzFp?{yFdxKIG46xuVvc)`s*z{nP(kJaVMpx%2MjB0mtkg26VvfAECW=_>92 ziAgo}>5Vx5W6*v(~mx1o^-5KgsjVIvQ0V+I|na_5ZU&> zH9X|8W$3+{yeIY-q=KwJ+tVCX^<+<&b!W%Lp`-cP+U=lK=TXq>4}-9#Cn|Ii1!2s( zK_nH)_;4fKSOU0_W~|r?1oc34(v_RZ89^po9VaCs>CgVW?KBBKA;~XAj7$8&c?e0J zaEOcnG88=oFlJeMsQQYu6?AAQ&WGEH>Wy&J;nMc=m~s)x+CoyvEe(Q3M{`TvrB=w3 z&g$e@VFL}XBXyPpl5)GjV~W<*N#^Jlw_*KW>O0@?TW|+ke9GWbGeytT-fBA_qXOnG z^A(|ew*fofCLHsTezex~Gf_4BbtOMESA>i&2kB+_A*Y_c(aL&1nLdy*I)Fjtt94od zA|8AUHFI#Uwt2?{o`0YU{H=wl|1gC&Fy*9i_PM?~s>ya8=(Cr^JT6Z&DB&?IcKbTN_~PESzTyxmsAm?QrfQE5pX42% z;3I}6ipPE{6ZuKe=K6sQaO9861fHgZWLhK}l^oQyW zBG5#WDS61K4>MRB8kZA`_6Byci6wV~jj_?4h+D1H7Y!v5CR3k&U?CTtkkc$Y>K3>| z6rV#Z$pXxRzp_#E%W>S$X|;~Y`e&irLB2b?^o=m6*Y)$ioFsd1xtV$j2HJKqMZNWi%e}Nv~ zWc^QD%oNT}U&f=a4<9~Zh*D&t+3U-2<^wJu1A6?w-aw(=Fv~R;{A89>1CfVw??Z{bH!`XbuS+!lc7Cl7TLTIU} zZfXHhi&`jTrf&FxB_c?s~~<`3sB-$Oe3lS+>;7RZ>n zcZ#DkW@xy-1=RkvC&B~VMWV}Kbn;N#lI|b*MF3oAZZ3QJr{i$;WE04(Eo`_pBwsP7 zANk;P*&WEPTf6$j&XSh)Nf;{`D6=c=WvYZ?u)ZCWs)R@74Zz6h)AFMADTn(VhG3YG1xxA{|YU;>{%rl603JQNdA9>mJ z3E8SBt@pDJ4DmBnDv^$3Rk}g3`gaDmR<7RWm*3i;7$UJ zYC#w3QsXYBx-cmnd@mezs>xwAeTtu<6oy1E>y~oPl+$$I(4^Y??*Dv9cB^X1W}`}U zI~cjjrIEF++6{L)9FTz`m@i(<^~ED@?4qQBJqUHjZtClrp^J4qJS`*z?FwaDyYI3% zkrQ8@TXBl32|2R#(8IN*-yf5WMX|V`J6%`3>NH5otKF~g4m`uPY3b!}SIswtLK0QU ze(v8=9&diZ9`{uHnYFDV2r9Zd^zn^4PBssOF^Rj*pd4Mnqwwx&HR zrqu1}T52XysSF34!%ZCP*r`QVms)6JAWnYBV7IPY#Q(SI&4yZ1es*C>2CI~(pzh$STu7@?^YSJ3COe=jzkm6B{9n~X#E;_J8KbYoMOWf zCXe0+X#xruN=80coIq@T(<3$|3sE9TNaSj~XF`M-mdiwQUm2QvK;+&p935|*{#`OC z#eD6&L+{XQ_CXLx5*xOUPXv?FuqPpe z8{<>op(&3i1Xr5fCT+u`bQtA-c8IRsQ`5e-h9@^p8_N2G0uk-IAO><5DTuAs{YgnB?#4r zClCu&?Cgq;v$p3VBRv?q&BV)?gt0Dqwj;n&eiwz8Dn;YKSfb;?RfRB8gnT`!?FOI% zfr|xP`4+X!OBY0hP=m)3sw3az)O91D>+oR5kPvr4TanCj5q8bQ^GCgh`V;Rqq(SVg zyY6&CplZ$cE=kr{mi5QKAzkKFsq_a_Ak_1OJVwr2agm+~ImP^Ps9DY}v`xIwHle4W zVPYfzIg)||Konsxw_h#xXwxvzjPZhZ0%6BRq3TFv%9kG_q&+Mo)mGrXl$+BNCZb14 zck4hc@c5?ndti_1r(yZUZ*dJ*EC3AYe+HrgsGFN(Fo>%YOH~s4=5olCySJB&`d|qG zk?ZJz5U7R-K7VV1^+FFUqz-|+E>FYdv>^iy0E(v=6&@=hbn$@IgcFwtc%OH%Y()yh z@dTlt3KQ~ggAQ2LJQkt-*%-yJknP-`i-MpUeE2C@Ou#)>KCA8KH022+$mm1ZQmun5 zl1#Q#nsR;|MAV>C!WQ&MP*s;0?OnQicU8BxNA_j)`GG<+FW?d zS8yuFIR5vBQ3P^mZfjW;5?tVeMgqi*D-4p9OIsob_QGO%=JT@Z#HL*XIY2>js#r5N z3odaINdGt7|J#6S=3Y#g`34P(2ETPDfqWO;y{kbZ*6;-Z$Q;oB9NM#hzSfpw9psty ze&$(xt_-1zJ~as1YB-D4k=pJIii|ChGt<4A3ES}76FpS$zzg%H43rH0se!1sf0);q=3V++?;k9=K}Trk^yqkDwYF1 z)62M&5iB}~5(eBK-PvF~z`qQRQrBcJsspg|F>g`m$%O@M3$NBXuPjtuw$Jx~RvDL^((TUCDkjA8d&8OFz0;*dpIG{$ZZb+IPPRk;S;p-l|x(YR+v1L%uv|`GGSVR z6F=Ek#@u8(Dqa0EJs|L5Z)|tQ&Z_00MUqVQ&FJw@(?(s$VV)tqmJMEs==vQ8m>8>0 zL}y{NrT<0&?FY#drNR=;_rs(7Pw8279Btf(3gUrRrHic%Yaf1)c3&p4V}Nb^B+pdw zXH(~N2yS+wrUzv$&0_*v-eNQ|`tyg*6=FE65G0VZOw3CNeB|hZOwONoZ%hzVvdxnWzDxVN%F#M$mpDsZiyWHhI`EZJuC4#6%H(hJ*UTQ? zkD!aFN^_&iFyNs!Bk)ig)3Ps|jmyJX?;#~1p~^EkT=SO^OSn2Ose}ko6_K@t33;Db zRhAnMRoEFHwdw7K+qTJn4P?DgQTzA$*|BX!$G)r_GrchdEnDR~m zbn0RSyq_rsjtf{^A^?Zg0sf}6m;l}|y!Es58HW1cKJBA;-i=p^ELKq9y~Ee-4Ms4z zDj*O73O|+^C*vH)CDRP_BQ4!p!&=`G1yu_W1IZb*1JNa-Z+C=h$FoFUc++u*3EpkdW7cWysW>LLe5>{2j{ ztx!8ir?);`0K|p37M3+|3JyPYYvBbCOUkH_aj#YLf5%F9orZJYi#=`Rd+)=!ubg1b zk%KdSa7%vbE!5pb7cxrc>t7LTBlKM&VTB-iLyNx)RGWHphfXJUg+>t6bC8OoDtd_( zm+SZupV0TBwP9Ka{`8JI$Yog&eix0592y}ps28Sly8}flB*MHCh_)gsN>FUK(n%e; zD;nQKflOL;V%)Tw5QrRfJo1j#Mr{O*fu3j#d`Y8vje#3z3~Z0LXS&8fS^xvZM#cYO zU^d{%CxMzo*U&WsKvz?47uhuio&cwLYRk&_Dx*%issiNlh(+Si!vIs9;s`-Z1TlSfsI99#~J%sZ)*Mh4U$AaJ<(Xvm?cr9@|vzKl3Z&nPpmhgA|&1;Alj^h zDYO)8^VR=S{J#=VNj;fTKhXq;fxY%Ga;SGC2D)D(<6-mK3BQtNcKC3!n(gIxXT~?s zy#{A6Kr_YXFNrhgs@X=j)nOSKsJSL%=?lQwMx4;gd&1$XuRL1iHVjaA&K;fOnNxg8 ze)DNG3s7GRmIki@b3&+q?1(xDkY(&cIsAaVLlv(@n`qK{_39|ge==mx|9Lql&(TylD7WU7VR~Zme@=ZnvJr}cRqK-H*EVDZhi>d*bIrNq!U7Jw(M#F$}0Bt zp4Ga8;v$@(eR4M92eCUIqt&Y_w${ETI9S+Ll^3IZuQw zzJ6$rKbx;*I9u%&c0I{1dS4%8H_31l(@G)ij!`WF5D4rzNxQrcJS#?{l%j}XVlC%! zkl}ERohq-5^}BS$b*gEW?Gk1zjAWSG6%x&yWUTjgc86Zc#D?`ah(K~46)N9@qTd*P z9LA1DBEyt#a=RHuIMpTVQg}RSx$HH=yI1 zkGc3CV5nR2P-%cqk@}Np<%Fg368CpAk1cp!9QZ>ChWc(tEr?p?sWA!-cgN{G;iCe1Rdhw)GB@QW#22z8Ab)0y#jIB@ zx;`IyM+iBo7vR>DpNp&66~_m#&GuB>Js=-oh~0%xr1fKilr#(lz?a_b(F4fQ8y|Wt zu*zuvc+=LOJMaL1n@WtNlXFfS8h@}RzaP|u)c!M^6FgtbOZD~P`%+7r4VK`$m-k(c zwe1Mb$}raGPt%lms!w?DfPon5o0Qs9-~ikq_yB|9!Bp_oUZ7~gm1A&F7EB=$u9JYR zx*~9Y$8`|Fy9}6!F`*1gFIa4{qnmBOIwD68)mlW0?yT?qM5DLeHLUa*0)V+Lqnif6R+Qp@$R^xo^<=?jz5gqWh{zmUpdXOMOjeS2;NM}& z{;i5`j{f(P3rQKalf#wUmglXw&GGCxn~ws^cwlPLp!)p>{>$ z*TxRIDIgUTnS6!wsTaEOiS#t;TsoC&19pq_#@KpD?0tf_>L~P22?%S_FIJTU=ta&~ zVH(NmIHVxQG|ZA4K=>jVDuA@)$L`!XKAG0(pKVeS?kx9uqR-cbZ)zfGUcORd4Nl_8 zQwFiXV3n~0G`=r7N5f3wnw4l}3x+_Ta}C?9-XwfP`9qI}IjQ8t(?QtOUZ}|bOwD=9 zm~V}x2RxojJLzGgG4tnQHKOaW3O6kBlBrq?g`vpTAKBH^!Bh>UNAXRV*hNs8$y4x>IvqtfJ8U{ef-+c@^!!*JYm?DChjV};_E z9G}A-3cTyT(~wb$7<}Jn9~=o(%SL?sj}j?k%aZ0_c%TY|2k|2Ro+o6W!-D{-5xFbI qmy-p;gP`*5f8oLZud47|mcaQ{4}VIC6Yy7}80yN}N|g#0Fa8V2rpTxO literal 0 HcmV?d00001 diff --git a/gfw/asset/install_packages.png b/gfw/asset/install_packages.png new file mode 100644 index 0000000000000000000000000000000000000000..4c384110be516afaf7a43bea959c618470bce90c GIT binary patch literal 3794 zcmXY!1yqyYAI8T>hop3~5u-~+Bgh8mq+6uNP$ZOwks>k4DN2cif<=xHN$KGT0f`BS zghLu6L=gE8fB*NK_r3Rf&vWkkp7%cIex8dpH#K4c@qqvU0Miv?xFrBUMW*!i7=UNb zE`vErLltOgbQw@NB(Op$XuR}I^Z|gH48}ihw3PbX9b<<;0D!sc?567Te}$rSysp6Y zt;3u*3bgzLG*}atFJf>SvCPHRp;O(lo#zBLsAv#Z$qXUiT&co=R1KFAz=>_P5U>0m zJI?%diQ|r2-qCKZsgAR#9m!*lVAY;4Cn>^E0BsR~<0d?AHs&x6Xbu4B#Tjx;73@%- z4aWl0pa7KGsDlsYuSoNN&SU_*65T)b;F)^NMv>!8t;k6F z)x5h&{?iuB854c9TXjh{=C{{cNN1ZkXPDOd>DRf|A^w6Cj)${v#)xgTxw@f!bDQ|F z4uP4i!VJVlF)-YMR3>{DJRYqsXTkAt8#G{eu=%GV@7df?^XzYOO`Wbtv$c|0%4Q{I z#jokt;;zph6PWv#1h}Jebnh@Qf%Oj3JpY@|T@9yN8L*bSP^ON@QmH~g!n%ztAC!Yo zS>6a%wJ@8_4Ahy>o}P2rA_u^#O0IixKIbA-j;s1ksIZYT)IQFS3om<>2|fyw)WgBUJdg zeeZ2w;ZW9A#^0sss`k;=-)k$oF7Gn>9BuB&eMC4#3pk|}MmH)qinEwiuDiIrVm;A_ ze)sYbj;#Lfz9S*kE1{M=Ae`2o5xN;Z6P3GCm+pvo1TS;E$|dAnP;kKe)N$y%Ei_VB z$amWfMJFxaecklB;8$xahoUaHc4X<7m`UN+tC1*Tgp}gL(KodZ9o-A*O0K^qeTJE+ znj!ZBuBuvLNJdRp>0US5!u(WR=MSsjm#IjA9g#0O25}Xq#N6pP8^|=g^<4L}P8i2f z*TNCTD8|5>TV7!sAFkLPqjquc5C$k+JYQx2(G$&QK=y=WS?849#!m9#%k?xbv0r(Y zO&@%6^t0cTr~5}+LW|zSwLAcwWd6^)720rwaIlumc`RRYYJxtKO}*RFK)``RQKKzC z{*wm0FqMmmt5f*Tn11Z5>?lopD+6YU=e+N~YD%`94%L@zp?`jxBONB+79Y>#D+5Bx zta5boCYu6Dzp@g(KR<|fskw-k^Wx0HRx^`&rJ^O(W;93gX5VbpNt&kDhP>MMZ=0=k z5EUlD&DNIb2xQia%RE_L;jiJ>g3F|BZQO7s_v?r7^sfwCRC?1SHw0M*FMN@n1=%!y zZ#$LG%gy6Qr+#A;ZLYQdral6U<7WnHUNUvmVnVgq3CO;n@4LBv^L)Jyk{nKQUj=0j zD*2YFJr7jZdcd3PKuD(#Tr!r`^1Cu=V%-?b*bV<#v*4k!+4*gBmC&Huhz?>WjU+%x z1akG5&v?t?*E;RKSQ{fTLu!Z;Duo@c0S0vP43KKUo%qjPJww3aNLdv$_XV2)NB=2dQApL_Z&QaL}T%J6kmI{lrb%C>p}V*ScT$ z+mPv1^!6%*SWv9iJiFP87}{-Fx4-lvGFr`b!2+Bt_PqTr%fVr5%WD4u;U+F za1$MV2QaB=;**Vi%e_w3ZTw<99)`EN37hv1KqUfhq2W8R(c>n4VXH<{OK zlwb#Q3gEB|&psxUE%t&v>r;f?00!|B?^LSau~z9)H&owLb@j>Xv=FnS`wNp9bfgo# zK2|)&A}dRu*116j9BcPNo{JW?;WR)bkGQGq{+`UhePFn)UTDl->=oRQPy9}8{vsE< zQo&7}FkmDMwfIVawQjWQo7P0|=cao$KNgKHO){+hOG7kfk16)}ib9w3?C8h$70Msx zgHj1SJj!iPH#|ch5RDV$CGmF<`)SEfs_SL`9(IkfsP5z>w~ z4&JJ0v+Xv;{Z9DO(#Z;EVY?|Khq*vJdH+(Y$B{`@H}0QHKKal}otpzv>K>Z+DXfYt;rt@x|2J z2Z@?CfC%5kZ_6^@GG7}AtMhe;urP}Ebs;V3SFFm7y1akv%f*6v_sL%$ockvgn-A&hzokPTs@pB#%=o&YSchW6C`_BF~fs>o6 z95+qlN^vJU7qAW}$FC&8N`z1qoE74_XY48l6|zd^2A7;Xu~Z(Lda%Nl*Uadu z$Z^v!Zk6Dti_6)?+n|*XAcr#Bd_KV&fl&yYpqUugKE63#UK}{AEmg~+RZc8umNM@e z{h+3Ta)WX-qG{hint#LH69`<#W$75wYq+}YlK#Rs#3KXe-GcZA zgSZr^IX`Jbk{v0UU+P=u&-j>yILek|7bBE6e{8U++8hM?%9if`Xrm?IR1*imxH2~q zVhu_u3pHTz|DVcElJ&|VP?5Qls5i;$P>*b!Qv0<0NyW*8_y^g>H#$=KN2 zE@;FvOj0~xj*P<+l-4B+ebsfUz+B5V>i9*XQ|EtJ(v-kmdpqvG_wZ#c^r66o;Lq90Vn{aO2n#C`koC>rDwR zljgj^{|YV(0Kpk<$N@Yv=Br{rrjvo^XR5Qp9!@2KVdMR06Z4`(U~T3s#SVO$CFvDX z+aXh@t?ihoLeEKX0?P4D1Su3Yw!C>b?G&P!6MuZNd)FC*H|fCU+qlB;{KjG-cXuEd z?2VZ+ZE6m#`+syq6Ze;x02ZioX)S6NtKfoI=bUS?`gLifLVo znBQ)&kAwcuW+c_`=jRxgH{`Y+mkJ%wg!dik!=+w@>{p~jr&@R^MNq_3NJ=OMFQ!VGCiAQvI^tB*uV>yW-?v)PM zJA<*U#R7~_sEciqlnHyTpOiybSa66?s?ngF7o7};u5bqIP*IthliOWRvZBtVA1ElX zFfaYR9rW~5E=f_d>aoM=tk47W)c>N8Xr3 zI(M#O2@_?0>bM-kgRY7r4?pq}{sd{Im4% z(22;5`c;l{yL%2zr~2`lkhcAB+sn*B9|+Op!%NAwaaBH^`GkyMK=hoI>n)VO7%r!y zjx;wklKaxnP0N8XA|2vbln5I2msH?v- z5Lu;e&*1g;K*!_Rv9aq5mLKAozH)cjEigUW`gNRp0!9sbD)|R>r$Q^`7x6MZBv>eN zQ0u^ zVm4_NEp$eD3vH3(=Ie6<kjkGfU&{5b-#+6sNyWO&_AdNQ>1_y@m~X-|I*(r{+OL+WJ*&_k#0*!&n1-pW>A7tu>E{ z-YD4DJ!ABq-~H`9r<2n}1E}Blclx~G%JDQi{59Xi?>$w*5G4nv6INdc+fw7;g-pT9 z-nGddG&ftinnd}$=gSF(#123H=^a?k%2?Rgx#^rR{q9?00GpPl=-y99&}>uq0r>(} zTyQ$<#*BsB@8|estm!NWD{mQy2ao zBKoJstdYhNI|H}-lQp$}@ZHO{OcrN#W5tsCC3!#~LDM&2rtTtEe!#^s_#2-spWd*d;w1`I z@G^25ihYa}*OIa1Q<;XRn^wT9o5tp?83fsI=zGWI|P4tg}_%A~@T+ zi(njd?4&E`@OH|AJ^%1oX+kA({3SwQgM!T>H_En{sKrudKsn3#QW!cpv3OH~f;=V} l%DHVOTv3p+FW$EL7W28iOUeS^(h8tlR}iM~%FC|z{s##l_>KSo literal 0 HcmV?d00001 diff --git a/gfw/asset/neko_bypass_app.jpg b/gfw/asset/neko_bypass_app.jpg new file mode 100644 index 0000000000000000000000000000000000000000..bcf4f43193a98cfeaa18ce3fbda829321d6d6c22 GIT binary patch literal 84567 zcmeFZcT`hRw=Wu+NR4#q(xeGU6BHyM(gj4Nmk3A~5D*9uh=6nf0RaU8X(A#-x)cc= z0jW|Xlu(q8B+>#YyzTeh^PP9kJ!8Cc&l~TLH?G^g2N}b?*Isk3xo7#U-&&{NPZvSw z40R23K@=1ep!>i-(CI8l8$?M#@#p*>2Ney~pW_TQH5Co*8Cu#u*I7CSy0d5L&(hM; zGttvCFaifH9W$7Tk@?T>KaKo({LfRs$#|Cb?4LXS_m0zc5X)K0Qfd+vg)oScg@THO z;i0KNUw;s0?^P*PFToB_H-&j8#|e-7wA6%{4WSsH3;;O=nX|3TC&G^|4M zT4&hI9BGC9*cBqv3eSq%sP5pnGlmsabn=g)qvzy0&&?xtQCvb&N=f;Oit5#C+BbD{ z_4Ex4@7^=Fu(Yzaaem<9>gMj@8SpqTC>RzJ8vQgTHZDFPF+Jl&W>)sgS2;z+C8cl6 z-j%N9?u>f*W0%Jf;`$sMc%3$E4VxguHl0U<$Wk&1h$0n>0d6xY~T48ku zorvNcEQgc-7(J(`(vleNk7)mp?7t>h)PGB|e+l;Qa-l(tR20DAQL%s^prg5hySgiz z9ui26wUe{5E1T|f;l^ULWxldRQb5X%}3*HRQHk6i+lM)J^cqt4^DCnCHVjR@)2nw zZqT(O-w_3|R7<<yDi(dIX|2N=A6CcS1ZuzkvxS}=l7 zi8ZJ9DY08K``s&V>F+k!l3HHucc6R_7e{7=i;*f@l`FtB)}8_!IL_R2&-LVmc(0-j zcOOXUU&s`SP=DCS`TOMqlTtfAmg6xA)rz@3q2))G`jB&zpgZ}n(w5gXe@cJFDb(?$bIumZbtG~Ghgnvx z%6K$A6$&4`NciM5_ii9JDm}t3Us80o=DNCTKy;U*+p}^re=YmE-Q&RD>I6SP2O4ib zQ!Qt=+n$1`;EtcMKTE4BLfm{Gf9wl9bk%S=_sTIcIvHcQ0rAAl+=ElJj-P^R-%cFZ zdJP8WEL%o1_}0H*%v=oI)f3IcIFH0}{LHAl@zgVHGIM2PZRRBZiq%QMaB|*K?*8L1BsewjPI;meZH$SZuq;n*=`HHa1SxaeCJrF=On1)ZB=v zwiTZk%h>cXXyvGs**`4Po0wXi(Ke#1&wy+0Uy@HN2px{%mR;2^N;Ggui;}u<>8q(G zXjfC4L)Tz{%~*Db?h{~E6H`Q%O1$U1%S4^`UDKFhmS5fv60A-r+vx{sg(Jt1hVNHP z#l(K>9@DU!X}vSkVF&%a*g>~L{S_qM>?=`hLYd%V*wlMimk$e)I7ouhj`tv`XkmO7 zZnpGY7MwLRuyZ{$!xn{&gj0+VQ}X5eNFj*BoOZk)&T?rt7S8SAf`n_3=O>or)*MKm zm-lM6Eq_uylVmsrQB-!}MwV1atbPRq`hGIUc+l^~Ru|nbN-F zC$sejzaZpua!<6$ZqW0mphd1zkOxu-7g&|;wj74vw@pg=EOqsjw`*Qdzi7zf$Mz1Q z^i*G;+|%|`P`|h!UMYhp-LGz6{(VbB0@eKO5~B8!_^W&d=w;N*Xg-&C)pf6HuN%fO z()ma9UA#PdClg*`-q(wxZTEjptp>82Squ8Jo9Te4UEAK^%?U<$-eqJ5Nv$2qR=F_$ zxIRVtx)#;LPT2{k!7M$hsE|8~8PSQyA+;&Y(p&tti*Zq>ATLPFHD$~bXcw6uC!3Gj zXt-3w|KlBF6+7orw$%3vQQ%mlC z%0a~XsOw>oJ-@xOytv&O6W8fV%=#HbA4s#1#wm`5X{=5`QNeJ@#_3`lS2FTpFA`Bw z9o5SXa#h@37|L1+8F*rPt3C+u6qX(R5T|+GZktn3vbtW0ws)}4yN0Q6iWMB9(R(zP z)>P@=9Bd8w6;!MA?D8aqeu1TyoP4J3rU{SH4F1#GrZa|BuPUVH#wY*qwPS$BRD3O z)6U1lS626$>$A!Sib(l`MFnUcA!>C|?}+@Q%D{qHH2gU-&VjtTJLtZ5;Vb=@mV{x- z7yC@jdGDHtH@mkH-a3j2Gey4YEaG` zE<>Jz9`-2hp=B%8pG8dEdRX1$rq=dQg8O>=YHo&wX;Xj9z`A9Jb7|abaY2^|L%$qD zBabk2fNw;Z2X6MT36~uWm|GG_s@IFA?i-TkHN{T!pTxbM>c`B^Ks|(w?n&N~*nh zNA)ZJS(s&M!~&GwhkO~PriXi*@Xq7z29NBkOW!zO?q>2jOFp9!`b1mKU#{V0fUr=z z{PJPGYHKmad7Zm2Y%&^BJf}=Ya&cErLFgt*awm%Z%Xz1)s~V_vQ+rHbL9z;l@)YDc zLg5*DJ*D7EMX-mjH~-LtgWJrD*;uFI6qC_w!jS06RI&9iL zFY|iIS9qlC@{Q_zq)q7M))J>KL_Z4Y-!O0Guj(KONA%d3Ce#f|s}-=|ON)dWdicTwUA67h2&c*t>_Yv8Wdi=6^lkEB2^2;qX_`iRTm@cTE%3ItDHyr5eUO4Yg zd{^dl#+mV5H*=8EL)}GYUUfeIi~GCI*FM2+C)+9O*GI=nV+;>(|AfX2R~)L7ij;j* z$y_+t^!7fcaf1{0w6!s5(4+Xd;f>2{zg~!^X!yK-a9l=YbDGx8y@yjO+r9&PulATc zWLp(^*1IQ+v{P6;EWhPYN)RRwXBX6-f?|k{oD~%w!8r}ZzHCNbZjydpJPA>XtQ5yd zkcaTRV`M(!0W!vc6<=MpIi->_zZ$b5p?EP>VJ_a;`6sc&FMVJ}l#&_D&%{G$#M~+G zlC5AwpO;jD>M5YE_m3cc+#WNw@|qjQFa}VL}hji<8H${2I1R4pZvRgYiug^0N$))>AVP zWixp1JE>FEO7Cu5G1MTb$hpbse=c3<4QDsATic4%VZTlB_xh&}#`Y_~<{bCHS*BGBnKbNd2cZ^bKP+r2 z&*f@vOFp_TQ4}>PA#EdVdZG7>n!qRI13aBGwzxZj?wW66;B{!1#>JHNA?6B(%p0HD zH8q8Fuf}UEZ>Qs|mJ0QT{Pfu^XX8yheK2#u}JH-Yuo~oLEl(Z9y+l z6s=j5C;|FE{;EF(ErF&{>$DX>g2Y#_q({8Kb3_6iq!Otzh>|n;h{FadG6IN+l+e`& zWH1W=Zpf)a|pLh3&X?vVxY ztfwHw{WjldGu2~DJ;B3epi=XkwAMK5D*`TghWG~Dj6?6=GK;id!IKKx&rLTH^j(c z-YMvb@hPa!Yr;>LhQfIes2mI4o`MQ?fVM!nKm%i^AV!i35r92UL3nBmG3c{4`~BOT z>L@bziSIG_8z2fD3cn-x&*lpL)tvnQ51LEeCddQO`u`*=;W7kADg)|fHUtiRz-Jbz zY4v*-?>2J^S|gaAg4+L~Jn+n+BcM$*f=tl}=p1R*UQGF<`X>fEQVZzxj}p8Aow`G6 zw=sL9GQ@w@mdU@hh3L{4IR!z`!DI?R=RjLM=hG z{@K=_(f~7%ukqJ8{tYO9K`GZ zHZXYVQxGvI14wfbK$?sCN0u9!CDH!oQV5JxuqODM^tOQD=Sx;Ifj$XHJq{ZmA$>yq zN#IP{i>bz+RIip}FPig>loSyBBM`r3j0HP5Z~27tr;`4WrXz3uN%K-z1)~!L6q@C) zU;Xy|6trX0$kqAD$u7i(i_8EdoBUN>?Ds=&a{@D4kum=^iTL;LzfY+CztV+ee#B$} zr?Olm2BdDZTq(?Z^?+YsdN@k0&MhX_KlP>L9bLM09a<9xy1N|lu{^0gSBgH{)?8;! z#MeM)84jOdksUHB%dVA6sc|_4(Z9SMQ8_XiM)AI!bXWHFS|mgs4O2O9K#i;-#>lLu z(I~7T4VLIs=gP}$xHW7K{k<{{vkf0jQh$amyT*pSiWACl6g0ACnN6HkFwo9 zSc?}zK>E}GH(ZRcP+FVf}nuH|J5RZRPjwNga`tyfNFECDb89-$!Y$?!^F@UpnOE)AY(^p$+HCX8IrdIL zy#R4VFh=7X+!0$4gWfXy9PJ>w$%R4t_2wwKu&jhw(#Ba*KS1*BVjxHh_TV9aY)Gx>O{u$ed4Aj_(hU)4pF=Xh-ex?{FNay!h*Sb}zv6uaWAzSSK} zDD!JOgwV7a&R%|3o!6JZmLG9sLRYBsap1SQg+?oOe>^G5KO^I(nNiSgeZ#MCMID&R zHj1E)U+EQORo7XB#xL;Ijl*@8@D@Mi_9vfjG(Xkzl^A)=@)vv->~FNtD6EWU~0z!wuV zw-#s{n#P@DJDhl2OPX^G1ZsXoz7oDoE1k}Kp7hN$GcWaNK&I)ex_VOxhtce|$^)Ph z^$DlYfyK3_q7_W>mM3jU977KV-0g>twU-^(HE0ubq4KPIqy|*7_JjPN{Zfvrb~{jY zkjOS6e9_9y(N^m>p6JS|TUiZ_)q@gLQJS>R!L`6#l@zn)QLl6rzq@-MOKjzhh~ZYg2hB>~2rui*bVSbm zA3vr4pU@hR>;TO#9-uYm!nVk*ki*AFuMctwP-dmnBnLVa_VBZ(@8e_>h}0^DNZ+cg zR__m?xC@VkbLRGc+daG-62oY(6KLX>(Qs(2xQFOl;K!#e70mE1l};zByZHrUGwh8u zFt=;IJuHe{Gp={h)g1R0YX_y6(9tvdOHXNBz-xD&pmsK}xt-|NpkM)tZ*bwVuET6m zBewtvRw-f8{+jp^ReWxI%I$!$DW-fFc5-gtmR&oC8^c5r0#7oqxlxUjx&d6sJ$?Vg2 z_Zycla@L_jXiaSfux1wK7MYiFNI!yn-){x{OiE@m#m4RE;f}Pi_pTf+@MgDj-G!p9 zpEP`Q2r*=rLJsgU62ZHWQYTokLp21e%cL-8KbsqyCGj-k{+yksSmMfrgt$Po@?l>G zVkWLb5Cp#(Qi^xG88v`0TgBz&c=+H&j#7TqGO~53a;x&?>;WhlbsJvRM=q~bvQ2F- zD{1FQST*84riD_g_PNF{)i3M%Z{OA*XPc(fG)+WRm3iJRR+bi*Z1(emPlsN0IBFTi zqEgAUqpPGsglkaq_~XV@>xP+k+%nIT7C+9uPw>}(Gg7puZUD?q*1Gwy9t_qjmDA%e zhc+tkxbE}C1tvigoMO#PkJrze-R+V3u5%-^$wRwPN8)`_S}PrHq!TThx_te@JQ@b0 z`8FdfmS}sQ!;)e$`rM5wf0Ll-395T!8FG&xbAQPS@BK8*ImIJ$+#F|^mVNZxpTZc`(wYD0>QN7VV-XSut;^oI9$sX%)h2`$ z?13_%MJ|@RVq6Kgbj)8c>*au+Kkn%05M{I+#hht7gSTA-KkZFgGL~YJYDeWPF(`h; z_pSwrz4{2Sd!Nu6u94Lu`cPn$`|L~E*1K=If)Ni}gj*B!8b9d_-`KrD2g-Qjf5zC* zb8SRB(Zf`|^3}xa!r`1dQ3hoXkP=rWG8(FV?RNuKQ)wbbp)5pY+FnF#PD7LT@{U^v znX7r?@leE+5Fg>G(bMqOkfc>g+69{PtaCg#xi}QH@@}GF^-hup+O#wITHi32c=t3w zhTd%0`_QEEpfti_WU%h_{bxbSCqh`rp$%4Ld#l9W8gHo`)eZ&8z6}m3YodA+>~ED~ z%H7`IUM0IirfbB8uJyXv`qH(Fd9;mA6)l@R7hrvL zOaAb!bz~BxhU-a$G9IZtbwE0AT8@WFS&uMvXKlwnr&`?IsV6`R7~Ii8Pkcq2 z8edzrf22#ZP^M^zY>9Ks7#V_ULAI}AhfP7oOF>uyKl6$;8Iz9LIf5v!&gZ)VAbarq z`Psa-$qD@QqF_wh1^il9gveywO5g{)pP^uq?Ykr(veaq#DnJiyu~~I1E3mnbpT%|`5HXD86W9f?AiRYp-Ej$`KE!! zpev7NrNAkux#dQ3*BkTI*1pBvXeDI4Al8JfXaSaMf*qX0&z*wY2H|{Yhg;QEU&N&7 z=)1(l3vY)YEl5=nG@A?J`1y)We>g(}E?|zD$DyLki|Jvust(AZCv(ocWs&lYtUfo= zl=K4OND!nWf5G9omYMS$D>TX@^O>3>ZQ_GCE5kqh_v}uRQVE!8zQ;njT8yL$I{n;0jpSP09DIt}MZU0WuR~WkMES%IWl&eU~1hoM5&YR==e`EgtN@aXA zrUT+;Hv_VP5_P`uF-GQjc;=D(!e zzr^JKFKs}p==rmi@1vAC(zq2eJ(v&-zcUV5EY8{OF{SouM#EW183)O?~Lj{Z%XEM63 z>=`u5e;$KZ>x$V9>Tz43tpWhvKCq6i!$yNGqBjD9^^H?Eft$U@z)nGi8Rnz5U1-Ni zwmX`dDH2b;KmW{pb<^=)`5c`Kw-Uwv4#yttHZbo>1H}gtY~Vf(tFO7`90V*!dSNvVqUk}x_5L)F{NAT`_piKWO9T;aMB2r*qf!JoNu?UB?gDC92PAXT z5`q<-^cnEF53Do9^rhMrYJlS-jkUgraGM+!+6}0UJP5%$cq7^cF5pz+1A(-pjw{B} z9$T7U_--)3tJE{=KB)*j|G?>E?9ETlOJIWPBD7Q>LBy!n9)V0hi_`9bazY;Z&Qu(F z1A!Z^wbZi9vo*Ag;+$V^e%iow+dasTu%ggA&~dS+z4ws=JKq}ZAY!TD05OXsGe8Nq z@rw5Ne%we$8xK}2E>5;C57M!qSYXf?^Gm74S>iW#o#J8RK*gRStAP^5N!h3wG{=FX z4Ic+2&tHJVv4Y5tzfr&yaRF|Jx5bTjnI%8o<=ND>oKjZ{bfeP0n6l=HN;escqTJb2 z;C`+Qqutg6w5y1ZCMW@;dPhUq25vH4KLlNbCP&C^<)5jYP?kRS@owdRuN@*iQ*`_^ zDa=C{A?M!dsB-_Ti6+F0i31DW*})lgFK_^_A13!|@Q)MqkREM;9#`^EKna z8zvj+MOD<|@@_OwV<(>IU5sa2>5Fd_q@=3Y3U!NG@K)=p{FEyDdu52FI0oGXUyx5#RM|9yr8_7 zhk`jh(O4~Nbp!B|J#59I_;#ZsE~8sOA|3{|YH0X0j+Aig2@bA*x41m-g$~6Ov<4*namWqaJ z(j1py+@h2e2d|3NSJY1|han9JA_vtHX4@1;+vPw%sf6Oiul12-5~?0!=wXVw*V?L; z=&iWFYQ2zhv0`j6>1|iDN_~C`x?g~{1sDzW*+f1XoMKO#;76Qn>N&hNP4a3k(!<}Q zIqOv*XQ6wI?VKjDB&nla^qdy;>J!MFb>#E5>xd3_@_9HbzG69*c4L7HkHo3m!Cn|i ztWpOr1y63bUe;T%ZE7qkyv@AW(y(*?k@=Go!NWjOp}GjcoX9)cideLFxE|0+7HK5t zWR6Q;)O7mr>=~6vafP%r$oxgLCV%~Z2UFyLT2Ah$LrUhMn0eb7tC<@|TwGkNXNww> zDO`hHFG#(kPB#HjPbb2G+1RLbA{X9zO)p?2T+OQ0NVg>sqhm4AHkRCev!>Rr{`pf5D%yDbO;Nb^S`6v># zfK$-fgQ$%|i#ysphF_FvkC&a;<(VEagyiZCEP>N3;~%}Zdx2CzOP>&B;Tm#1eEA&L zW9dv;%(lyWK1T%oMiUMoCU9RI7ciQPbuV{`236||0@XQ=zWlwVVf-bgLW~_$`t6)T zRx4LKGrmtp{X_g(I2S%(P0zb>Q$wn?vBk^4d*7Bb!)LyIpl0xAmuSdsDm@XOxl%2= zwBOS)h{fjxTx2CLtQYDW(Y(yVk|%3-hYpE!nNo%|Na`Pf;7tmwmm%XC_e7evkpXyf zz?E3wy_V!Y+QAAeaNs1Q3~{8cYgHyDW?`oT5-i|q{HA<4!dfBX&YhZ*RSzg$=>=EF z^@v?OI`ckWd`H1gBY-kErVLxwB_K`^{|;Fa8TSq}tqp1O zogw1yK;~+8ux>%wdb1~zPn`ial<7x)6 zXG0fN2HF+jYGRBeztjwwxtJ|I5kM)`tr@XH-3KPQ^x4h=N+HLifGbE|qkNFBX{jx{ndEFiH zUzqF%+k{^umF~!VfCaP(r9i9$n*a>R76TBm#3?AQ98PlzD%?E^Azsas+`rkb8pKzkUk($z=wxQ`iw*6K%jE#L=Tu z&Dl|BW?M%4g)CHpw;WF{Rk>LN$v2JdM+EouW^{vY32Ocp4`a*^Xu#G*|I z(J6K3k~oo+N~T7Ag-m_TAV*6g7QY}~?Tc~jVTjj_7Uf7_#Ieo<0^cL}zjVdJ5wf<8 zz>1L_$qf$*_PLEtL1(myBZU(GiS*LrZD%6J7tWAMm2wFfYJ3#NF7DPV#}@NgE3rmb z-WPTL?>||9mKt`Pswl*)m?WJa9f@K2^^8ZN zNM_>Y;aL;*iKd>r=C(&R&EY)1UQXENzRhlJw72~7YyCrN+=BXege0EfCQc(d@Q?)V z4u$i)%?tRc4s~zHSI!duzGNRPBH0DfeWa;w@!3OSK*2A)_NK0(fuZaMFe!EC_P?)@ zr(S%3r2(;9zK$3ysLy@^thGhOS++^zgR5ro(Ko*xTI@2uK3S;YL&7$B6>J2p-1%Kk z-a@uE>2R!_0{NRKGET7OGcwLcLj?b=i%egSb9mo;G25?VUZ#%AGMPR7gM%}?{6zxU zO{xjqG&evuDSHT2DFROBveWZL7etVUksTU7T3{i86T+sArLIMrL8%- z=;LsRogMP~2-f0bWet5qdq?_Xp=VXg?An8!BPFuCK*~rM^k)$AsO;!pYaRa;MlIBc zH%5hV+Yubz0eVn&Sz_7#bu zR?K4RpV3E)FVl7-81Q=bjg$4rm}_Wv0g=Yk%Diuy86Ze2N=>hY9ICBwpnYTVcjXQu za~!oWe*7j>y6y0IbLZ$H`PM(jU*g>duEbW_ytTFdwia!g zChM3^2x>=%V2x)uRK_F9@Wsm)TYQ&DTz99ol^DVjLa$H$*kaTsP0o$0AsGF>^u;Iz z8dZ46S!`zywOm-oJizpO0_TW+QQAwXbbXM&!46cF+zr86K%Zc+w?{Z&6`FYHN(B?N z+u_{jriRbsZl@r<&pGE^f49w2KMc5DoF3zndV$UvT>Vmp<*2lue+Q9`=oTvp$)7e_ z-F3k$uAls|$q0IJpGP%&geR-4}XXarg*`O~qE^F+p&I=oS`sZO_m&&W3mE&W)4A z0pF+|rF<(5tM7<_XN#m?uPw(ATnD+n%BY`(!3I!%#gbU*b-?}Zh+x6~P5`Y z(}Na4m*xL#&C#KM3UZWVT1Qj|?`T!R6|lNxemJ%j&e+Niwj2Hn4n|13Za)?yRg4(c-R;0MV2ErAVD7mdk9Xjw(^yH=a}l2mlULqO$IbfYMdl7IAB*#)H+*M| z$Y)In*S!#wZRcRAy$}YULYxjVRw-=WS*LYEuJEJxZENkde!sF;H*Y`{gZ3pT?$5qR z4*+m>8dg$VA*m9wSXEG4icBE$Z$?Ptjog-ugGTI|jHDyqZv5sA$(ecZDakiY{H2Ke z^Uc|)ovS?{aU%P*Fu`+(4!={N<^nSe0wt1xeZ;N-M49f|Vi~zTKVaqIV0_E?w7AWwMZ$^B*T;8#t`8{V>)8}{Ig&ve? zMj3PItBO29?@$N$PN8siQXJ8~0-w|_z?MGSjh>6pS*; z-Kl6%J-^bX42%*O*cGB6wSZmOlxr)WB4^eD$JiV0p_J!CxK%$j_d3Imk+n$PIlUWX zm2M!q`a}h?_#7&zE=@2-bZEe7R={WQ4ElJtB2T*D^VrpFpXXK^M=bM0{2fn)-@jZi z51~MVhXc~-G)w^{V)5SP?x@HW+j*55nVYXSohsM-uf^9@AP4K7x~2<>Q7 zz;LL%Gz6i?Ja&V3(w>v<)elP=I#$(ye_z2qD>cO12VJJsGUnNFu1OQfb_Kk2Js3rWg_0k z?RH86$VTTLP>v@ETPvSCF@8rUi-p~xJO9f#B9}Z=P^%Y-dLS3wZ22UDZ~Yw1t~y_m=9xYSs32&^Z|Ip*a@Zg-9hU;fssbAC%~o<*?mx!h|9z~DLwnM zkaMuXySBg%9djJ+JI?0j@d~w6>2qo;?ye*K1z6M68R<@74S-%0YVnOABhis1T(KL< zr~D&vo8BvydiyflYcw^;T<78`vGmna*+#BikgCX2&_?s1eDBF)bOlFpr1&y zJR%?TOv6X{a==#FEmG9}pgU0beK!!X5@H#`HukXU7oOpN707CJk{&V?{u$eNXn+sH zS{{0)F44xqHIzo;{H*Lf5=z3GS0CEWD^*?#8Q1>?U-e)P{^7Iuj8TA+l-?#lR3HJ& zkR=oM2mwwA(uCmg9Do|9rS^M$6`DL4&5W1UB_ zN2P~fZ+R+NCFa7D)J93u%f?d9X*^kRev6dOBU(_qIdUiD>@LbB3=$O_LH7+w=Gr){ zaPux)7*ZbBOzau`Fs^os-zr@c(<<;x`Y946QiaKe{`asR6kx7?*Q1pT#Sk zqw2#-%A9=(Hv!X@{5@vv$iy$kGkYT^jE*n)H@)`#5n)`<(S1n7v)0$ggVY zd`;RMBtZ_*Ax}ON(W{|>U?(bLWl*uLIvOdDrIYq2kg}pJ^@>SRVypvOqOs-{3Lh2t zC|cYppFk8)iwOX_0r5yZPXy!RTmZDpvTKCO^8}hwFNSlCtAy!$^3?HUTxPoTTQN>* z=~2luR~4#EXJ`oEF*r~z2c!&$3x9A|8c`1$*S+owcP`&FdWUzX`L>-$EXf+XrxqhW z#8>i8-M3fT_YgqGqOL@YKgW$#-w6T5ZZ4toaP)|ymY48BsAo<5;) zQW4m3Si>qVLZT6_1+k%S(dslyJ1U)I?y=F*%9v+i&Z**;x?k6}uo|hcel-xy(BucU zY5A`+=R$nDcW1qpR62IA2JQ;rLwS?D8mjZB#u1J4vtL^pFFn^3xQRB4y!3|ZiM}Wm z7C~eeISe2bsoUdByR)+o^CfX{Q9kv(xw;MGRXitCX9pl@NfIgRIjRA?Uz|W~yLrzd z3x3LhXFW8|;p`6zp6$z>n+s3<+K|;dPEx99vCVvR_W7Xil`BgVg_;2=y5rz}=TC|C zJSnd|{Er7tLFvHcEzU#)XUZShZNy}HW@DzV)G}vyKE$cs{&7ari4e||43Mr)LCl_= zvz-p-rr@TGca8X_Ewhc@-rW2^?GNl=vt6YkxNzxVv5&3+!*T)kHwtZf2<*_6CZhWr zQ3F{yBC{YE+X@R5NzlAChU9`xjL-b5+cG{oP(LLJs1I0}v_V1cu(To?Tg6Sv1UR5}-SaWplK?%vOr z(NO0|xYF6J`{@SzeMTXwQuS-yD}h;(auU8Lkgp;3>a+3un``G15l*q`_QCL4Td3`U zkx@a;7@|WC;hvhBQ+GsGLNzwDRmZBqWYvwAIZ;`#LA8g;g#<108wNs&&-&8}as}3~ zwdAvr|4>KoT2GtYKh&WkdZi(#;*UCRrF{(^*si*gI$!s&IEYza`jEu2Znm_|C#aN> zu`7=F4UOE#gBgDFsgo+L4C`7ZG7zB_NylY1n<2hkg5R_Mn2A`OAO-A?nbfyMZTEp*kn5W;l+CoLSv&9?9YC;L_WL!#7ZR* z(Ulef0Cb}rI0hgC_;3n3=4|UN`sDTVrOmfMsg5fr1!^xJrI@Bv;Z$4I-Bi39>VqsS zkKN$_`pK+=zk3SOrtOv^GS{Ahe%L^kzM$w4>-X_70H`&EASOYb%>c@c(;{MRTopAT z0L|ci8006Ts2wA6? z%$I~MBgcZ{p?H3vr2JBUsLYP|M|Z&ov~j3)R>9Qcg0pacz^`b)mGCZD(_RhHkJIXb z%13c^YV(E*YDu#e2|r?K)3jq6sLQ1kC}_EV1b*E zQMZ9VLBq#Vx`eom`H>6pDCP=Qv)3I$N|&DG_W(HG3E-Q};RZlza-EcUaEOn4t5*Uy z$Gd#sr|KTld+4pxf1yr=iH>R@GwMtF1rVK(KLs2y+a#{^ z6@Zm?Aor%~h|fBh*3*jmu8K-Y`lY@wW{$uk*TfHjtUvml5^ARQa1y_Z3)3Uz-R{7R z5Cpy@%9jB$zHOmlX)V?Q)E^!DDIJT^wetE9j2;#E4#KO zFRq1Ltq8eTXP_3K`l+`x52NsN&%^+wcfO%=LB(mH1U_ySs9*Gd7)2ED%^mPvLPIiF;FJNVkH!7 ziHH~AB{gYWfE(A~^K*`Cu&B6Sve~!3A>m0)Irgl2X*NbK7h)0@z!&ny0np?DH6B<| zNvr8D2-KT}1+)nFA;{sQq^^7!yt7yNMoy0QN?<0@+&R!oRNi(_<??zB6NWy0!WfH;ZG=^_eAXM;ku38GrX5-> z9+;@CtU?AJh6D%e9nfM4?V+ZfBNXoW=SRIGItuXtrqM>ln8897{KeDB||wpZZvQ1d_5oLY^13t zCCA-MPi6nIIUpwFZboZUCF06X@YKBRWNEOg|B@Tsoi)RL@xa+kwUP#J>yidv=S`bV z>{|CO7?0{93y&%dISd@xU|)RH`e3bd(e+zC%mQ{ZX~H)-T5>()*IAy>iwSN^m7L#9 zzEyf}KPG8VHvoGsKhxuA)h{$-(W8I=21E;@fC9m?5h!qTyAfDlK_Vw|B`#hLt{8@k z(;^i;HkR(5YRGmFwiny4Wi$1uX!3r`SpD*C@|hkDXm*wpoqAP?i1po!nr!8Qqx5DA z%X#st{>tEMA}0PNYaGG6_8}^+yFbu-Zo3*yNGrUvUeiRN+N`mfY3;K?zkmRRF2=Lh zYFo~+gYWp+S?(AUjPcrsS4ag!Q=Cd)PP9ipJ2vxOGb)c={iSSmk?;?n;9wo|VWZ3Z zTgOqPCLpVCgm5A}QBe?{`rY$zejFkO&P33gcYh93v#Xy($~>Nzy3Xujgw|7=4Y5hD zZFzM^@vODcmC;AVGpL71yjnmPq+xeEbNLkXG+&OCb)jjz)x6|$)VvW6WO5QdJTm8? zTXswEbL{POMFB|Y54@vA#q@v96+XvA*kEW z5A4m&!Bs~E40tOFw%4yJmk}PrA5FKh6V+IOL`qHoWl-%&FWmfekCN! zph|8*fxZSk(-G)bA8F}s1_s-|9574~zUN$7I?y_QY?)QHU{n=%k+q`YhH`1?%2$Gz zSL1r-h`N!EsKo*D$q_|e5C2ya# zWp)Sy9I@;b&bF)<50`WC)%e(a*xpcLO+58HBf8E?!wgEY2Fqea9@P z_M+n3R7shw;y9!B=?HFYZ^07s+{S`jU^c;Mhpk@$T3k8*h4pHk)aF|y-g_UMFMjOO zu_(7tm^#-Sv_O1s&_c?Zb6)s$B07X)eO!LSZ~RW}wAWRCpy(PZDe&g3tV?wQ`WdKB zRYDZQB6l2@Gx1olVo--AGYJ>hwT+Y!?O)TESF z$t99k-^ql{#k^$%%LbYAW7Z8&`r#o|_JY6eIr#7nQIfZM$vA=sc0^`S1dIx=QcR|o zB$&Y=IB>_S){tWOZQPGj(7DG(<@GB?)lqm(1rbu#l3POCJ>H;gnAjbo2Xe80f(2mN z>tHaV<2J%&5EaLR+MWf+DL+QlPY@x?rg-C?gT6Rl$4o0zb~lsMpdT1s*@J;EbNi(+ zxkyHZ*tQ)G*%Jv}FNbD>(Cj;@Vm4!0*_nD=-xmBIg@)(d4ce$CX-}^S#*%r~3&4=Y zjXZ}_kj}TA{n-L;@<^G*lyURf-ol`q9~R3Ypx(9Lg$coYuP-3SWSCu>#xDH`y7XJ~ zS@(hHyMAP!DPGQU$K{WpqHaVEx5cBKyN-*Jts#p$mhHhPa6PYU>y^uNJzpCQ1kpF| z94i#a+Xw3|ICV)-#k!dI6(^QSwnz^_r(TakuPS|h=w{HW%j%Oef5RZugcYI8jwv0f z02EONqz?9AYCtV~aKWW+6m}ky+8Vt4`}al!f5QZqsg@V-`@sOeN6s(03*_nIU$>O= zfxfn&u=;X%ncyx#yfmguZ5GMYCHIsVwuGNN*gXrK7oE1y|4z9~2ZGkka;mA1#+!fS zXY=eC$Q0%Y7~C zsLNiz-*1uW1%0uKhr~ww4nY}qWp`2AW>|I!JL`p-ZMfX>!_GGLvZnFt_mA%1pH-N( z14RmOql;s_?=>T9XH6>FejU|krkPJJmKy0cBUHjeHD=}R5-yR7AZ~ILic{FC&BqsLkL;QCam-|exY$D6IE)+$p5P{J>M{j%O z(NO_YU7qc|8l!|&w)wdQoiHgo1EuKQT7_8M>yDS7Q|@pa%eesYw`VAD=}V<@>P*C- z*{AgH+VC+vvB&#ykDriLuCf2SK2_b|cGXMsrcZz&P=ze6f93@^&5Nk`d@gL?_NE+M zas|xiDIhzxUxNEmm(+FHUQ|j6k1K<`;&T-?$G*PI8)298w#iMo#&15*(@5{9D|&yU zbhUW(slbkr+nDOWPRK(4u|^AW28x%G>yb7iODdv5f zy&>}!0#)EbewD)u>Fq$45VLE5!ACvCkKDkAdtgyr0_xbqyzua)rxT~3I`0cDS$*ay zzx;%4JN*2eKI$NAB9t$MD>5R%zmZ(Ue{dc{N{@av2{`sR4K=F#H-S@R(b`B zzm!d6Wm^g+a#${|zSIzcMR(`3e8wZzHm?OWy`5L=ai+WNV_|D~k=ra?SuEQ#waJm$9w(Ya^nGZv~A6jqRh!P?kDXo(bfQvwKXg@*=u3wB~+1zGl` zjYU1icdLP^<^@H*!W1Jang*)swIT1Bizs_(tZ$znjj|vwU=trvXW~;)`2D7bazBs-B>8>G!6;IuDAzUebV}ntw-Bq5vm>%Kpka|*56|}O9iLKPQWP|6l zcO8ImVLa|^Wu4sBkQJ{0hJ~qiWI3)igXZZK|(@NdQlJ%kRnp0M5$6E9YlH)kP@o&gc1TNp4YkSyEAj< zJG0JR=l*f;tXZs(gcaW3n_u1g+0TCV518f`u_VJLhvYGGUJD(izU6FDBy^zx^QEp+ z4aR4EtJv)e5WNk62qeMBovIV{o0~|tCAjpyU%FbEDwSJPtC-X5U*kL)q&Nz=kd9vD zbZw~QcEd`6`ScS<8_$nF(vqqGY~@>E`I^_Q1ED5bDq}Pj6W=0FdDQ~MIjj2CKO-KF zSFhEK%6R&jjXtf_0XMr@gr!(jrt8Hv=_PEenobR3l0%cfaqoGNIoV)F(-B@#&}zS5 zXmt!nO=CGz`?E$*erTj`X35s}2U|U}Y~O~)Wct*4(`B8Sx9cRUQICSBJI%(G`yQ0< zMt)ACj0wr6#*Gd7fg6W=`p~T8xfK-g(qI=RUX`BANou8vQP2v40$RlIQr9=@T8^VS z>Hay+jRtBGX!b`Po`va??~=r3q#jq?QVaHjWn*wY-QQ+WOY~$8R3|?s5~1z)!ImsP z?yl~D?`Y+GkT7vq-ujYjx&vcxer{=3yYW)N$VA2rR_e<`Cr6wDh50_XJEx*m1 zO#86s6b4-=!<@n_f56? zZ9<(wPH|^zY&3Sql4*b)=nnM<40qRS8bxsMiV~8?!xE^91Ab6uxadPXYk^p8ogMG; z*SZHTQc0I8r@q}j$G}*W`TXoH(Jp(kIwcdjP@LgJ=A0+Q5l>hALJriv0C%9LhW#jP zU6-XFRJ-j8^!dsNYa!!ZcTe}1q>pD9spL3Y>wNmuLL$LYtwa3u+x1I;DI|2wYpP9_ ziP*P*j(10x7P?(0&U#kJNI!Y4F_2+Ic+MTOaMiJLhF`&>yhqh|`DO6{N2AA;UVr1H zwM0szj6UW5slbUo%nl+N9q1+4ruUN`Q)xz7@K27Dhl33MqwTVIW{WNEIh$ zF7<0w4>H2&I+Y0Vnu#qCH`QlB({8EA5=GEN^Nsij(hkA6YbtI^{p= z$(Vflm#gm=QjguyY_$Pd-$&FkCqr4=zT3%^OGb`UfmmuNf9Yx^qwtI z+VifP4>;o=w7qw6T#kIeNi?&kPaKURG^YIuS+4(y--IpE}X5%u;hJ|j8B{L!d zk4(dFJYHUKi+R(+jl z(wWnY!oFRwzvzo*1V*J3)yjZzVVen{GM)wif&>_VHL%EjtK;|25sLNTN(1aQ6xK>X zvr@ny^M<6gdcVS`vdB+RPv(1$zP;zjS)?p5MeahKccY?3Tp$e*Ic z{fHCo7mVnLk?ridkVN$FmeZ+$vWF}}K|!01(emUb@1`m#e*;!#H_>-*&sm*HYvvs* zH$}0fy7*O#8v@^?BeMpRVmnzi@^*>8I?(Ul9l5RJT_IR%TFZu^*tXA!XXR-5;V%6x zmtZ=j+O%2&mW~^_Nh-t1%oRn#Z^N|c!&nd~5)JhSsxoIQg%pfH0NMG5{N3$2TryGz zS+LFw?WXXp44az4EV27j+Bv^&TOC#23=s*OSU7DYZN9gJ%^?e|7sJ8WuF$-V`6>tg zijsVn34(dRXX3$Bcc7H_C-u^^qxsj*IEo1e%)Iwh?th_6J~v2Zw8%xZ8le`NvK5Fa z!2EjUjSy>|fN=b>g2#-^Tici_Y!)j>(r_<*uBn@mh@QC7?w}K?Qt@+SwX?>+WNc?5 z;k#VYv0~X|_Dr_BKtWiXB*Ng0#Rj^ci|S&7R>0_z3aoeA(6LB`ncfx4HX#U7cN$ z2@3Yx!EdvgCnhuRU7fSMa}-<_p!%GE98o3pLdC|is0V33C?`Z(k~N%@kb#GF*zmMY zk69Le#8q`Xhg)@Azrt73toQLvNUMrgQ{fH-USM17Hd2bOqp~0=74mE|R)l8CXCPDk z;Wu`K)G)%v8{2G&VzJtAE4G@MS9Lw>^DK!0fX}UeJ2+0Yt3CIDRhl-Hd}j~KsD5uZ zUmAn?e&p8EX%hFzB+frB!!{G0VJN<8DBh9U#8z>8~Dl=k5vCU zL@tMn+~TS%JQjpMz7cXdP(7(>yM8J?(fFPr!^z#oh>gXPs{__0Tfs7;xnQ{YAf}Ff zd;KG|cbdzrcDTC~UUc7ZB2^9drNVplyRP;i$j^TCgDAh#-jdV{Msh#p1KG-F$t#X} zv8Dd`mdqUQAJEU+YNjaAm7G$zJ=P4Y)DNC4>c5k*>TT)cZ@&HO00m&Ztp+XEh(+c> z`S>fNAD{mEY^nLC8~k}836eiqLj92g;I3RmSch2ys)L;soi~6L!^E6RQ_RJGeZ}i1 z*mYw)I|ZNU$}ou4o}w7NBf{Ewe~7mBon)E|-{uKWtW60iQ|4~_ZxWuPZ3;N=Nz<39RxXg@PR z0fv`~q#9-}%Jr&|R1}b#A4#wBVy+1NEuKU(K!!~USMICciMwVRx)64jPN*jG140B) zwAk`0_Z?)02i&V27rAD8%dN1TIl%k1mOi%$z4Z-dMP2cU5Xd!362?7|5pf4ld{EeY z5zv}QOSJ22v%Jk?-ryK_t-PhBEX_e1Xq#KeitU}!N!LwQ_PpgMhFy>C z>YsKocpXg(;9kHto=uUuC(7Zv*tJM1xKq_xRVXpWTBF;L2PSCzZR{22^&~YGuEVE_(-hwTHm=JnKaLKqPx}}d|RXQvAG;eaw7&=k5IX6 zx(nQ#b9ls(q_5l9^{3zdh1h~#@SSN0(MXN6`)aV8_`)%9Tfh-FT(&!a4$j3yaV*o3 zr`|HVl9B(i`&ZQmS ze)R$$LjblSHViQmm)4;QN&Wf??-%<7xzcY}=B`S}Wmu<|IY$0Z!ljM;P9 zwFFbrFs`Nmu=GTa?7ircAN;U&+M~a==`w0wp!Aw)d-5NUwAgg~;cN4dSxn*@ksin5 zw<`!=G8%7@gpYgHSZvj#Z|?|KH}b{IDgN@;5&hYEy~ZMui{=ERN~flYQ) zt0DPDZfEI+LGCXiW6+fRa)Y;vRNMC3JNEQXo_!UF8c>`3fE<~xPKYN-6B$Q4EVr{u zg6#cDv2V~ zl-n0wA(Gq-awths?kzn{bl2J4a803hZNwaOA%B{ER5vOy41s`L$V>zb`L-vN_n0Z- zzB)z?NNZQ>neC!9!@Jz-h?^v9=XrVsDC@c+zgf)^jDuLIm~&@DUU|gD^Wua0qNh^a zBDBQlwfE1?f`qCvB$vIW0v3CKjJg-(M-yJYvp#M38KRpZ$uy$wTwSJ-16alTYsD{? z*3gS3^a|sD?Y>L6%}XscvM<%Wy>L4_TNbyLuDEl{ciD@lUJ^yU6PE3MXO8C0W&0S< zow$_4*^gyofVtLA-zz{HI`O0nMr0RHD(Q-@Xl|8e2fZ0-kpkv#AaPPNQy-t$Ie5WY zNVs~^V`U8O)ns4N-|)jKI*gJaW?{9e37Qt&xRy`O3xRCrwY?Cp~!gGSj;Hrq=gVUeP2?dLF6-a#m4@hB#S5hK#CnF2T+d zGY#wN8l8P(Z>Nef=W+^r%!}k+J^NVh5lwbA&CZw^eJ5MArEcqPvGH<3`Ct%4Tx^?!S?gm;*1j1Il*z6PLaDcK&h`8V~@s^v%2;I zpD(_8GN7wIMBkLb0!MWW&OGmKrK(RLG_dn$h<)8hExabdeg^_3se+Qveu+K}u-V(D z+p^AP7|@~}z&OKV8;rUzywo4aE4bOM(ccYgvCMB2ncX!L-E=mmQc~U~bQ)QLP9|dT zY|-| zg$wcG3qr>cTJ-UbRyItAK!CIVmho4yl2`U(Pu`@2b7&f?zK;tD66D6(@>1#+CofOR z2LUN0YNH6RJd4g^bcA?a5ngb;qp5C4AM150r-uhiRCxMKZOOwA@k@%8i2$o_3}gcs@A&)+aE1t4W0pw(6h z|BK2ip)ga<*nc_P;3*&bN*1CQMEBMfE}Fyu5?Yi%r(+h9r&}jcj#p%UB;TnbMjHFN z$O*V)UVOZ#ticihV0Oww%_M%q;Q9$U zoQpZe^+UTWRt7WSGFi zF<9hvb7%L|=YS{~Bbpimeyk+qH`q+vn!MD*lN5n*8b+>ngo)lzPq-Z-XjU z5~J^mSqScqrG8v{#MF2BM`4=Y_|ekQMq1VfpI+qO_AOeN$U1xW^%I9+#yM-7@_e(C z@mSqP|Dj7RcKgB!>R(RhzwzI;`zCYtgtM(hW&{zCtM%zO5KS&y53p*=>=StVwJy_* z%cJ6DNxLL%cq^ShIth6dxG;AMKe2B6NQig5=@wR?FHv@D=r|Vj#HG#|HQO7V^Ncw# zCjyc9mJZE~HwWSlK;W)57#SRZU5lySHd`{Bq2wsUZ#6*BGKXg`4;iHi(e|*N=>7;f z@_0LOs7ZV*g9q*^1@N<-jRDdEk6$C`nHS`XfreH(I+_4@B&;UZ@wZ0t)&N& za72PLpxoMveAON@J60FqIr>V9X;n%Y{*=a3`k!y9a(%rR)pa(`uGwv2m&_wFV&D+I zNFTN%k}m8Yw99r!%p!juqJ4g}@-0kiZ!RdSuPtO=dSp>bDo5I?^%%X0|1uheH@I8^ zwU1kCAFR=YOa_)AC8m$RO{@;aS=zZ;bJ<7u*e z)>P^>uFDK_1}wQs11KEj59p)-bqtWJjxGhF$=tUHwK%11^L(;mJJVFhFAqFg1&1}vyyVL>6 z!~85|mA~`|Uv8*X=@f_?)vq{N%=u+6K1&x; zz4p;itElg65xjKs`|NRMOM^RN4X}EF4AW15U6cmkSkE8)Pw<&f|K)0ORc)8Nfi> zo&#*O_+fzV`UW7CMJEC^oyCCznK#_m!%Q&D8kM503?Kw-O!1k8A>3P4%w`hAiO zaAdTYfFiK4W$;gHH-M3+j9Ms0?a>2-w}0Em;D7fnIQ~E0DEL2qn?v;(Y8Vgo6s8CI z`RgP#;u$b^?*m*vwgeQG^apf!2VmQ+`~mIUf&TlqBmpX)C_vNW1V>_s_W-&Rz5$9& zf&iP*@b$mNv0ttL0GhzZjlenzohNV<#H=4o>KtN%D5!eG}Mpy$cfzE6jB|cn4 zF{9dQNc3c}7lspQgdCzCV!rAa*JS&2uu5jTu_`WZiBHfC_`k4osD6__psz;M`F}Px zlMfdXBW=M%$Nb(W*k&dj++p0PK(zG1jKsD`AcLulnF8nw<45HIF4neeuw*C2mG`}& zsf^V@?RrJ3kVPBcJfWX?Qn9lOU1_W@A%S@z?W^yHdH6I&0-X!J2k`>h&qa=)`2T<$ zF;jb^9XY3{Y}SaUcvV+IX|aooTygDaQ!63T#NvG5CC4`Lq@*nw2VaM{(kDQls)7lP zUx~4JOW3q2gntVD)bO#hboByWU?$JTb7CPu(@(GbXsMacdS$-XpFV#cmeg4`Uv2`=)_{QD7Gt1XLIIjv{iY_qL?|6=k8@3oLTyf%g zn&DDD3LDQ!=_`Vm?NnsA6jd2oP?@QSYA{g-SiP`Yxbf^XACmC=#!+o*ubWJX9}d;g zwz{W%zcAq3z-uo%C9sS_qWCMOP#6%9Xgv$?LXD;kuyyeeafCmmT;XU8B1^s()~y?9 zaAVqll2|y!cjwG`)bB6H@t3h&>Jq2l9VaQnhQCYZadTN^*zOy`DuZTf#z*)3ua~eo zd_eiH&otMV2fH60>c2v2Q0HN|M{EH71S{S}F={(+dzuKOiQKCthCgw{YWOTFR&hOp zFWqsDP6f?m3>7m@@^BXXI>QAoe@iJD(kGp@g^@I=ohaZgUD51tgGa>Z1vVCVojLAu z!TIuB7;O4X!>D-tg!Ys~`?2FNU!GXk3eWS};kev#OU~3UhBg7#y_l?&q=tLjYUL~f zlwXT=E>p)-1$&K+!_D$lV+S^8y*O`G@xLUbnJ?1u+^}pLYL#!)A;k0j$~)i7XcI+u zs(*|Ov`&ADEJ?}rMDmd@6YEJzE@0dngeFioIlbxT$z8Lyoz;^8t1IPedfS8j-t`x{ zhIJ4V7Dj3Np|IRBlZn{ulBvRsI^R*4w1Q2w;N{$U2Vmfi3o}sRP}&19Q388 zG)1=AvJlzrab|mS@QNL>w%lm4q8=K}^e1GB@3d9H(r=i)L;6Unq;_I!i?4BG!TTagRlQ`B_QY}=)X-$s&onRaG+(~IZ&`E<=G;Jm8H zMl%JW5^=xbS(p8LgCmdC;b&@_>W)XHIi*UQVM*??#5c zOuyPJq9UiSCjH^uOS@{9Im&ps(|#2UvYyuhoHb$b$Wb7=3EiSBL0_eUX(9A82-8vW z!}55gj_G*92ZEI$tBOfC?e*wv_#4M3QdOCOB6@j_%7I+yaW0duv*o^quzvsJW7M}R zcY2SD_V$m#*MJqLKvp2>yTPg=F!|I;C+uq7VoG8fPg3c* zDB<{*!s-i-E~hAxADt(Vf+N!M6v)VQTU#4fU2Sb$v|YrU*!>cIkq~ZEO%P28=v3LT zr3$Q1d%v=V5`ZjEFP_=;8rdP(+Gud7KO~HXFLh;Nn>jncr##i!N;a}DG`Kax+8~$0 z^z88|6(Gget_<_PZ@ikbf0OryIRbja{mBth5BUpK?L_9XqB3qStz(>wn5YAD5|nfV zPjT{-B^FQWYEY(CFuw7suLryGG$&0ZjV;e zYrt~)`I!4!>~|b9%#7dXB4}fd_$4Z0QXGx%`MjtL*!bZx8Yl8mFg0g#Zobt0n2j(^ zEFnDtG=$Fip@hiSaI!D|fSgeg4}T^qeY-!4YExSbKI5F%XKgumEko`1vZSyx^G%N~ z?r5vE!L{xPhyYNX8TSmc?St)YQ6?+k#kZD7GGyiP$Kz|bh;kQimw-jdcm6%Edt^jo zth)R!-JQGpOj`)|$*~vpOI7kJ(^S6+@<`?jMmMNv&8f^QNWRXJ$6~*=)g@T4q0|B` zSuR*-xOE6sL;)tkOc3EWFwtJX)oiLF2|>e9S0=Z<=*S2_r7pF;D$R&fQUI43Cc-V@)Ojab~G+$=tsT_fNpMc{f0V;KiHJCP#RWnDx7pPm~onaU}if4 z>32E5GqO1@LvHq{>(i?2x*Yv_jhR6iz2?+*!b9fzNM$*}??$Q9;u^7l!O<-n&YxY1 z^2WaVh+FB7k$PaW`1+Uo=&Y=}gK${2ai!*nLc2(hk2Fe~%gmKkK_g$VqKu@_(vs*o z?^nHgPiWxI#`DP*lZ@rT!qN5>k_UBW9(RxB{KHOH^EZ|c^TkX z1g$qD8Rfwh8s~p>BK6GXhpnQSkS~4j^<%Acho|U~tCISgrx~1UFj?C{%_l(sNqF3g zop`)fy1wGJRXagFJgVGya}31T>0Bw%KzIMmu)#D@s-SLPymN`))+^T`r*OAZ`<+|( zfpCsK^7~5mko(hkk=N-zo6y&1tLrufN&+tD6j~3mlpT#~aq6WGRZ68X(+G1lUOi*~ z?br8u_17vTzdw~+lKAw@x{gjK1N?zT?l)ZDeN z4Z^i$j2oE3>IeF2S~q9>HV*X36==^id)IxR-O<8r%E?T>*#GH)eX{>SdePb6{(knz z23a#~)$Nfb@8vY-x#5p$Z*NWs8+-wUSTy9QQgTst7+_V_m`62TDns1H(ML2{l@d9P zW6g$S(c82(F3DY+B3o~tkSl-34RhE(kFB?I?k+a|xHDw3QijI(e&lL-p*W&%GjBE{ z2zybd?i*jb-{`gSG|8jxcUjoKXp#WBBu#yQD|6HdXzqaDAvp2k;RvOrKFN2x(nc}W zCFp~4L(yKhD^2Mfk2oIISUR^i$ZQus3e!-GNtfK(p4^!nK2ZaVD`(|K=;q0Bx!LAJ zJiypz0p{pAVC}s@4o?peS#aG1L%dU~bdW8J<0ts{J~I!`q1(SJghnm(9)GE%{Cs_* zs_9$9C*HybIabY-WaKqeD;;zpDxd{S$wH_F;*FNL8s5HGi>^^~^KD9)4!jL0y~YfG z@AKx+rh6tLBL5Ps@b(G*q(EE7oL}yhlFOaRG_&Le7`A2I>U;Y=nS4hDc(?O$^=QDx z)`2Hs(-#gSb3P=z!B1`nk0BuN!+%J$7ltqar^WdIdB7i$+B9c9qPf zNAK!yzoB_EU>H=uWp-G^*Z=)$?*SEq7PG&@5y$1Q1GpA29AX9tL{`cFLv7)oKHoCX z1_eR^&DuK(Zo%5;s%3ejqrlI?yHKk84JWoc1CpEmF%A}@NXE}S3Im3?fcDWIi?VA* zM^F90uU*;D-@m5vzF>@ZuJg!H7xCQ}b`*T{*nD+Ck~yFs(tv$kZuq z#%+-4zyY|Otd(WfUv+gV1r?K@`3EG%^+20G0r&;_pC8;S^R;ztY5)&pz7i9UkSuuR zVf1ix-#N}d+A(^<;V$9V@T=YhPxJ!-ST@5AlDQhcWeX6`I&qJ8E875&)7_S>qGdMNBxYohK;vuara|BS3Q>=d868rMo zE7<)_r=<7*$xd_)s>tiz%Y9fs>Jg7?P{awmZls%`f5$T#U~N)x>k8c|HUKbBxk$|X zh@61c1+*L5f0N7d(js~nxmIny7-LtR-f0ZE#Zv4KQi~A4-3T%IXbvTb02wFg7*5qc zpdbB-q*Ygv$jE>IlV1$O$FNJk-xQmILrNrQv9sR$r1Qughc9Bpr8dMGC0%mj(jU;< zN^vy#>P<)vUWNO>^h^kZk;q5VA(|7sDKUtLxXdmd9#!2AHrDnsm-2#4eTVvS+kh-= zhV-XfrO_sy1J~-6t<8c9OL^LNr}_xm_<>KCBin7yH$V9_C*>jXvkd=M_gQXM{lnzM zu{hFv2S9lXSj5DyOv<}?#SqS7VeASWJ_dnU;>!4zw9`{L%XYcS62meRj@;sltYOV) zET-K<7VFjSA<&lL00?T`{*ur}m&Q8CFJXTl zykdF56dCfhN~x5on{I?@+@C#_7EUw9p*)}iSK!$)!m925)!v1Ie_I01eROJ-QdF5V z6X^8IkiW|%5OvyuGc)!;nvNiEr5hT6`ELh+WvspsRJ*}!`1Ea z=1YDRje^zukb(utzz1svZ?Cr8R_q#DQ7U%qyTI(Qa|WYB)+p%C{e52Xy852Blh*}? z(F;9T6A9^W$59vXlM41E#rbWF%bqal-fXsKE5@tv#nNb^XCo#(Z)%jN(ZtyPcAR0uD%B{E_Ait}UjoAEU@ zvDzMzR+YEyXKMHu9KQWFi8G(z{di%BKAx;h2}ANAWbidlH~na}8{F)i)S zVvW*GO9|Qqqp62?@sXjJg^wrZVF(A?z1?pu%z&KvtYM^TMHV6SQgz44%izdtX1K~@ zw<*j*aYtfUHk+u5kjn50YEl`lIWsp1ZbA*U=x$1VxApEeJr)3nqF{AK zalS0qYh6|6zr~W6j2}ttJC5;jW{0O~z5IX?Y z=x%WU`$F9@_~}6ZyRO~2oxyvg(g!=7gzJ=#5O!kZB8?lAO}34MqWk6A$?q1dW*l}q zCA^ZhT3JAAH+g`jdn(*0#5TC7Cvy9=e_-PoN=y1?qO0F{zWKy97hYHX-nE_$zDGgf znqW4#K?fnHMrm7=q+J(Ql(ECcfq=%|8`+st43$}S7JFr*6ynb(N4rE%muR_Gnt?_7*ORm}M5 z8i*HU0-Kru6#Ym>Z`h{&xAy&6NWnKIg~n*;Bdd!K1W$E!iD&DTZ7+oic{=!+GBQ1b zxU<49OtyhpAOddC^MG~unyNHZEfDDCXK@&`8RhYDW#_hP(mj0fhJlzn=t6SnT+841 zngrz&)Rm2%`V(5^pM%@P9w(dOi{d=XE=KAnOlW6nULWMD?1h*}-Mko=zs&kvE_d<+ zSwsM}Q1}OQK6FF0ZsrX zS)&Xl#-AAJ*Jo5~4SznQ+yAZpdTINLFGF{&3cB%=WDtY&rIf`8iERH_QIXSfU}N2f zhq-Knv#RX??f(o!gKRkp5k)*Crr-*9AK|sPO96j__26G43}_T>RTC=Tg&tYaFw3-gmp~`Y_}EktJEX}Kym~` zN6=VQWVRJXh-m%eBsDIo&xchZS_aX?-ly(edulnk+g9@6^2mrJlV1eG#|Sa3u>xc1 z!Ko;BY+Z(hXpDT49dq0#T0LD_@n#UvqbQ;Y^ukk|Vk#i}15qTFnr50*WzV-8|I+oj zoaV<)?~9LBV9ys9et!-`&&NHBV5Q`erAc6fIk6X;7?t*%hdUwRbvq^pWGU*}u&Sqw$+so+L7^NOjYbT-lS%QMLwx)whNar*W~Us4V8b_^zj*W&2B2b1k97 zL4033xaMe^31@zj=obuR^<0{aAnUb=j#q4B--wQs3*V}Dbb3(pKC974q1|W9hd44iA$fKMv&T5Z`@JO#PLYw$%THVm%OOliY{uQqxN@W zb>myaT+@zHEvq3a__Gt($SooX+!s>bc=5CPvR$)f2t=9k4kb)s2%sAd@N%8=}iM%8*i+yc{1ZSE;wPhggEOh4loBV_ zf;A`4{%qJ3!G3ihz)4i#nGYeL9ZhG6kRt|vfP1zXM3*5nimcXa_pGnE*ecsU8mqrg zW5?wXa>nP|x|O`SqJV5Wc6m)l(JOdRQUZ%WOO~qsWW36ep+D7}I;}Wzdn~66pFZyE zIOl~hKS%(6|5MlLABt-KJI~ku7j68n+Wzmq|MM~VFWE0z#XCETUqTDAA7P`PF*Tlk zkQ~~3BoZQ)mrSqWLKov8!OL@>w;~XusrfpbbNyr&eoFg1pODTw_|{GP7($rV>qoFXEV@-qH5V#0}9q zYTqALAl4Ks$$nqj72bfJjHAl`gUjwnoVRYk4TdXt-03q)Gi@5(Dy$FtE^<39NzA>E zW8r$=Ij+Z?gSSRnZp9L0i62N_cN7v6=EUl8T_GC|qfKD!u_>gd1CexhSv8$UWm(T> z_Ka~$9WiFKsD0aa#x-^NQqSlPvt@ki1D5b(!&)clZzjt2+1H8`aIeRyV(wsk28!{< zBo!*Zb)Vk&2vtMBm70SK`JLg2?u?gx2zA8GN9|~F{9YQ_&1oo2QtuKi6pY;IZbWuN zs{*1RXI%K_%9o7J&%wL9=44X^;w`raq;s#A(nZjO+>{|~eJo_xY(0MI2IT-^igBYv zAVMG7;1|qIVw@$$?CRseWHBh8x->p`;*olEwMF@|%{4p2?^L6kWcHjLe$Y|FKQ=#n zB2nTf>JUs1ID#5THP>lv%1+9sb-;n#Y?Pc)$zY1r|2SIYo2tSEqyd21PW46Tfnk&O40NCQYc5+T)XC_l>V7AHUl_=;B788EQlJ97*BN33sr6Pz z0ROAOjw=qsTRU{xe?WnBv8gXVgFYbMFI>ReVo8A7p_RZ*z*O`{4%jLaH@(mm_4puj z2&bX{blasWH*`(^>6-rGUtwGs5>5Tz^97Tx(RkZ(lLUY}=Kw;_i9lcvS~yQ)#KprLkin$uWDBCjLe>kx z=SLkdo|?$vY5@<$De?BARL2aDfkxrDJFnh(UUUkNIiBz$Dsy6m@>@iVSm10+ISHOk z!ohw{Xe**uYk#pI_r>S&-p@8AqJ{0iF0zdb9iQTy+Mx@n;0rR)g>oqFK8ls>H75M# zASV>YbTG?e(KYVH>H6RX?0d)|V>ZHxw@Xyx_y9&!61N%216b(lZL(#jw-dXhkwGi_ zCI()dx*jV{;VLF-V$(+S_Ddgf*$SI(0D~t_lwCystbk3QlI6Wc-);bBPE)G7xv7!= zq2uY)0;oquy{%Xjlqyy5yo~o4-DX6T?rxWjhMsQ{zzVvxqWF;f`uOvXwYZAXCD>U= zN&zv#sXI-uY0iEn=lS+8E{+X3CT40d8B8gZ_nP`hV5fW{JLVEaTj$hpY%wTjwdNb& z&O^j14RTm#dT+$np#@Gs1~0h2y0et>;7xb}kRL-@Fp8UJ1Cq-%4DmsPFkD(on^~izgUz=5~4+!KfOufWv)dUdndRKZUOY<(^^Dbk`aOfpOa9% zZS@e>AK4y$mDteUkt$o{YRh}QRE??l-Xi9zih#i>)3=UqL-%*LWpNO23>atP;nM-G zTI*J0i$qnUBgw*E_JEY&rY#uAi8YuwNQJMwid6+MNVBem=8L+XDh_Z8AqJB);gXA( zb}t~qcx_t=KvF?uH9XJDa^Fq1XowOq$X?@vEVLY#; zDb$aJ5@jb_n*&U7W7C*dkQ;E>R^;_2D?zqyKqv8KDui!b%nqA?7R^b)sg@ zu(87vZ6_CSM_v71h9gU3HD^7O4Quq@Uurs~BO>t@bm}sfeJJcj26+oueQfa$fj!GWzrASl=9oz69sJ*TrSgM zlAM8JUbH~#Hz8s+s8-``r262ZjVb0S^gQ|YSE9JnW3K}0kLZzUVXqRYyK|P&p06>P z)#qAVce=R=O5_W)cpx|n%$6h!cg-%7TSIrmVIOBcQ?Txx=G1|mpO7yOiItCf{J!6~ z(#mHh`auDA1camPpwoENLJANEta?rz0GLsW!}5}1jdc^{O)gv+dGp=Ry!dyN#~yzl zNfXfOHJ4y}aR8g?BQ(Nhf~YLs6V!`+*MeP1_lCCo#%K3Ci)Y;YuUYT#3IymyXflv0 zr9r{KR!pZ)X+&s|ZX$%oklYB9z;dc0SvWyJ(A~PX!RC4ATLD8u{Z%b7M_P=EUB$D@ z4=gaao6s1fIPt?1l3@-f(EoV$VWgs4gXeocjhj}O&z4=nQ(ippy8EJ^KZ||Er_9}f zYSn6?A?7TYha=BXf1()5gx0!YXPZ=1{qTycW{)ZZZa|g zxs+OXCL>}UE|UH(qd z-)oAQEr88k`s8^dm#encIVt{$;sjonuqX+f}YEt|UXtDGw@fHaJmt45id|=Cp+sVQb z4;6JAth6uQyMHc!IXg3P%_ikvoe49xPT7bCaF{&B$Wh&KpES?#H$VW_$ht<@C?4 zdLGv~W#HKWMH3Ll5qx@mof*Y)8I#TQRaSb}OI^F9H}L7ub!X!%ufD;T%v7fH&s_AJ z4Na_)=mf#pwgZ6g)J>EodAm(}R^e&ebap#3)Gtr>S&!B*#osWlixoRY`m)BYC;c@4 zb!PP&pF$}KpkudcK$wwzFnT`>4e`de7aEBXi2GpD^SRw%at78{Vs%4*YVNVg=l1Il z>OY?`3^L@R!S9A(7Q#`LYwhT$3{=z>RKN!*Az?f z1hn`*JTAVCT@Z3$SM0IiT&DGuW5Wz<@}0mUGA$r2NHA7jq zQU!EW27*?bb_qt57zi)2eU59wSN2slcWj%b4(1c2D%g#CyZ^`YSyho6=p4~wdw1tk zm&XL)ri7!{PmHhv^w5_nAhQE}!s` z5VdK^{WR=f!t5X+3tzXjTST_5qa<*e5(A4}XsryIB^PbpPIe7?E?u>(`I^#m-zcqG ziJRcG3mnr=qyc=}C%I^X_^M(wL6H&;PtZ7{YaLQ%Ev!zzclE z+v!rFRY_=FW>ZXtzvG?54VK^bpJ{`;p0O7 zRI$L|Hh0b0*yMMkebSg6#Lwt zRj%*j@9h`EU%QO2w1^P10&(qaJkxK_gQrWJz!?*Bfl=G^tHQN)TFG%fG5bJf#c94C zKqFf159sPVr7#4Nnb+c62OM&-I{Ol7Z5(0_`(q>7|fj=Me+bhK-Ch_j?~I-^?T&fL;(=QRH<=}qLcb0)!AzunslGzx^*p3 zeUfDZ0RFt{+KgggG;C4sH91p7u*8nNnGM-m^6V|Rm1&qaxTnYV0raMN@#_~cC*liA zTL40Nnhww(ks^9w#Up`m_!LxUq)Fjpcb>)OaBs!zM(yy`ZO*GrOtg1Y<9q9r7h57I zF{p){>~oY?sK-n>FEe(k&NqLYopR+Q)|t16Oh{{047W^5p0N{&((#Y0V+=`tp8-0a zSwwY^y#B9zgGhqo5cx)sI`tGWaAB8d&EFbk9A@D;Azb)B*n97&rrLjBF!bJgjf#L$ zr7JBU(nLf-dWlFE5s(%nB=p`@P!v!>5GfI9DkXGOM37#jBp^x&B!Xc}%6s?wJ9F-7 zGqYyaI&0lKXU-pC0c*id_VeA(^DUp!ug1%z{6{e4hq4@9Ru0T@pM&@G1`_NrB&AbN z0;7#o*G>{96WiRaxV@m8?OQI_(cC<)`|zaR8FQgmkLF)U1Ti(rnYJfafWW%s>uA5P z#6_|XsbXN{@nV;EC%QpKz5npAP^8$C?b1?6;7G@P=TL+1;^MjbYdY(2q7_(|-5ix# zZ66w0Nwi$uXnwi{6ZyRzFiG_$j|7(~9I)$onxBN!f7R4>%_W*O3dgNQ|*>V5G zF(u#Ynwjm}1UovrEnXGO%pWx(bt{G!JXeO$LWnt}&2*=YQF9r1*W8!xNi{BQtOUs! zSbwwG>793lwTkU1Qo=x`$4EW~Gm@Amt(>ai2SQcvqBEX;9KKhF}a&rkWp|E+5twJJ>Zm6HikYf%LdeugvgG~#EJ(su7FNsRntV&J-t0O zol_0Ic^Q{tA&wj%lm>zCW3~W z0UJx!8?^-we&rMnz5Kd6;NiGMtC|3}CEnxchWVZA^ zzHqe_9dExIo36~ABOJ=&eDa-qHl&kp=QkKR4Zur7J&GlweHbR7jbWgA(Vo$VR)T@s zvrf?{pawyg6$#jX;0^03q4*dGcO+6=_KUU(W5Qh!j9t}lncu8Dy{NM3Uu^B?2! z7+LqNBE^i~eD^(u=(o0mRRrG|=xMv!KTRKDrQt5+Fq)qI!NiEw=r*AD!rGh(Ux{MY zfDj4o0`RaU5E^g6ok(qu$dpmEeb)5XVi)g6jPjF&Ki?j(sWJ5PuT;DFB?U=_wAPz{ zj{aJI%JrZ&QelqPZ(%H|V@kG?3?22sE9t|oVUqf+3jZ50?)KT<+6})cS zM_Sn`L3YgnG2cde_LZ-M9kyI#TbLgsLd5or%_Wn^Xt~Ck$na@n(IwPp$&z%GD%E6) z>L*UJ-F+JxV!sh9d3Mg-l6s4n2)JNpw(6;odmEu@%&bu^Z)O`1tO z``CgMU4k2R8%<_4P?&DnWNbV8?cG9uGb7){qdj|ChB5cnd!3;Qy*_k0)bD-j(^c;9i9a_MjDv?mU<5F zX){o+_Smznd*Zg5f?&_g42emj^wiuXHwAwt#Gh``Q{G@YS7M!KP=(N65FeJdcW>L> zEAqRgv%G~)}u2#qn-1><&+7P4oI$X5 zxliqjshBetzmOiLoL6l+!+g>GB(n0J2^91u)}Twfp$0)&CQLp!2Iv%uuOB2f&h{O_ zvm(0$>2&w02{qqePNrO+KI7cK+*&U>UyUC$ZP)|Oz1af8EGek>rWc4_g-ZUMIeN-{ z-l+ZIt{HfCcKH~R3Y6zjVyFRG6{0g$1cMJ9uIn=EAH(rUBJ_v*XLQ5HG^U=vO?;|0 z@hrna&e-94eNL>z)h|Zw;L~%jQ;!mc`dqF8!0}jJBe_A{Bxp+?L+OxjRFPE1{?O0$ z3%6u>*$stEWJ`jBcplVWF%u5!nxgRYX^YoknLkN}$$vPl=G zm4fnJY-S|&;b<@J)~QG?jJ~R99Jz2eAanYIb#$Nev7~N)3vnj{O z%Z7@f#%AC9y+|jUV+PzYgp;#!tz1p=!C}=}(LxDxN>0%R|b3w26_ilUuQgByUlKRjfSNPfgBw! zI%fn$=5G$OC&@AesYBAkk!xPvEDS6m1V^aw`On%0Z}2Ae{F+;nmq@>RfX&8&-geoP zI3#R>Ebl0Yexr6yyi>L8T0piRyT^^gW>gNxmHI1`8tti)mGSF`}`d z>RrI;4Ha*8wL2bpj~QvH;Cp4KB^kz&BGy2(H70L`xzifA!i)3)0+^2?!w_lUK$vP? zJ^Hq*>|=%mKjW_uKMC6Q9d;+LWU@2y2LX=H&ou+V-%>hzsmtQT)Z)kTW$nqG63nwT zSKdY2t2N%kAB< z#>ZHm=3;r9nNlb;8McG!f=NQ~;aU2Q?jcuY9hm!fX2XfZkNr%9Eu%p@!;hg7;3Ljv z@GzB$q|J~^Qah5-!|k>j^|K@yoVFoY&CKKVhe$T!f{z*_DJ?-Fty1^Q7!prp$_`F}u)5$M?5!mtrgdI+6UzV^Ny zz(fQ~px=C(*Sf^;=T21!thVv)BIuTy8?IUTQ=_Nq*Is-`E2_g+@t4R!$<8E2-<)V> zSsGkh*)bEEAY_%io@sep%#dbx7xMe~L>9}xOa%V@faxEwFGl50*kH_D9j=`)P2961 z)(rA6+6e$?+o`o_T#N1bjSo^Oc~(=+rYE%2KKim)FGM`?Wi)cif(#M)5?bt1%elZR z05_^OVm{tt;IdP%qADlQ8_a!EMBrK^gmVKHfS!-(sd!V8_Pb23N0Jc{cbUZ69FFHX zFY>;8)dPN+-$vIzM#;sZLaCrK6cXW;XbusVP09hoF@gI=&JD1i>N|{DNUYS5!x>xejhEr zh&{RPoDJYQ1t>b`UQOeZc0{>>+4n<_jbAo-Y@Pq{rD!5(v`R?n{qqpoM-yI6?ni8A zd)Q{|>60+t2I?)Oo?;&LWGQg(qki1Yajry#@b84BGO%Q)?cLmsoBbfEM-_@#4f(Ny z=6H3@1BY7aaMv#e6; zAfG;k-K~|W`=v$aSfm7_dyS|Z6fUaDgz?E?A`;lUOeC~O;-)&8XWP*?IrjhDi_fJF z{SF!4hC9-i;qA299S-6OIW~FKxgX1gs4)SWF=kbp`Z7=0Z1NClSN&7mly2p*K6t?v znQ?wk<=T@h2&Fg+VEeljmV}ysH>VRG5lebtEqaOFf{TFNn%~rse`YOkf_@a2EBoiF ztLkp|Wa9CW=l3L2|75coT%3&}RgfRhUZGB)Cd!qGmOXo^UYuW%I;#(#QS7qm3b_^w z{R0jkUUW9-8~E{@c*f%9@!-P`3C|v=E%G)niL02O#2I(3HPr<4_v@DP0=dKwH$neJrw74dlM9xyw@DjT z(m4+oPeQDZRo=1S=mi`px9D@wW*Ainjhh{G>E@#yQnLITW!8bPrK_;BsRV@y=_nby4~#1Fi-b2B355=CU7V&QZU zN9pRHT8S*9!rIVf{oNrk#jFE{e&-F$aA>wZjKBb6@kz*Re@25S$@XXr#Sd^EI?~HUYJ{v}vf!Mpn}+A`OQJKY-`s}v z*N4MHkAHu5pLMawYVKQMQhYYPWM`K6W39L{ICc#VK`0K1MQc0^shK%2@H}r5sVIN7 z+Cr&nKXE9KX%vRrhBhA?qxy>VP9BirL5R{q>n_MO&@Ed71ssot3gba*G`EJ9m}2MR ziA?W~G;==bmm~ekreG}%J<6_5SVq4cz{eWm{+c}R1h3VV&ozcJPE~yR3=(v z<1oyF?C(hEfv+zY<`7wUbJg!bUl&gWiLfh8tT$R3-066`mx>1a*n=w|(T@wjs;48> zS3}vTp@3`sO<5t*<&ydp&$1I7ss)cT8@?w>Ub?^ZJ-I-J*QJpILLN(m5gqxGU@fx* zzE?;MqI%Y@p*7xCA|Ut?LA#@}`gXePP1X6F^WX2B<2I!W24{fKkPhq{dKamYk6{jZ zq2$VRW9zAdKsAE44JB7MZeH4=K>pKtpBrD!r?GjT^sd9L01Ab)7gRlP+Z4jSCwe_5 z3NH4%0fONjZ{BrvOnc8(XL!J~=K}=Jds9r<`vk?41kVikNT7GmC)LNm0x3%T0^6o9r_7_uB(nJU|P+0l2TS;~V@PaI7 zNbM=R-5khsfWzt%*Wh0eX=Cl5SGULKw@U06es)8f`BmbBMgvjQQ|=y1{Gp-z8%TdN?-Uh^Go%^{*6cHn~?)d z?TMd?7|1q0?*r-tG?-bcg@11jUBHy<-s>>* z(Fp*psaBylh;LPFV2lN!g+mW)drBJd4V1>@MxLD1iPcd*b+SDOt z+!BY)QiYn;Y|8wucJ_C3-}d*E%giYy<_bEFf3lTzC#skTP;~>eZr~W3|3j`HO#Jxs|kXnpu}mWF6a#9hO1k^#~YB5Df}=wG&Uel*OY^g@ z=JDwOo8V{FAsvF9wTjnb!xhl6=T!M_qQxUvw$9=^S({CrB|G=Fc30+z)8?5w8BQL1 z`)BTQmy$u^bp_FNEVG-RmW%a+XOxQdkMRICgD_}o#zEaEBZq&Yn>B|EzP0elpIf6X zp(S@4t&gpNiow?ANTw>V*=Pz2QlIZ9e+Fz;p$k$yD;y!6r%8=lAzBxvIt9@2Mni?j zm-TIj@SvW8?_aHR&r=7JWnSDo%m+;;p`Zd?Abe447<7E~4`rchbx)!MTAaGUAvbtz z_%y|Biag$l{uoRd-MTu}#I2_s5V+vNw8yEumJi4uQiY*-OF}-WZVi(}mq$pM5EU@Q zXb>elDLHbvBd$I6N8XPyRSg3fy&g%;EUaAayy5KJ!T$+eo zzE>k>gSWLEZ{BMq8>bte{fhpnUJX7u7ty)Mci@Hu0TY0{MI@xfjt^mMqiQ#(R~VbC zhEtJ@45&QAR$^50dY#PXe?w5=R^$d&19dLA87KkqcNrKpiE?Z8?^o=uyc%FQfG_|K zFgOv@w}aIhmAMoVQDf~nTvc&_nrkPFn!*YogI*c!K3kKy>$=pAY!8*he07GzLoioq zrJ$W5-3U;`+gSbXy0|?+msJzpSRhb8e$^T=KfZqE;2hgx19HVw;zh(!$C=e9`BEte zNx86>HU>1y=~$(yh=My^8O{70!KFEz`=>v za&YIWcmr?Qy?b z>gVG9=ic`}6xY{VzPw?yjiz&YlJW&)97&b~Y)u@X^*!`q_a*o8G;7drE&godYEPut>BJhcfFB0p@o6-@a`wsMY&< znq6wTkFGR7`=HbWC&m`1<#*Zo9434Qd`RBFIBtN?hxQy&ZqhDe52X!G&$$VmYyqpW z+6GOvwsFR##Wu%iE5*bD`kgoLmQzjsYpdhC=%+aY+-nKdl$d_7&NZFJ38 zli`3h0j7v#BkEnFJ;H)gkbnX#;rDN43?jH^S)p}G?wh#joyc=uE^j!P<(f~)CAaIW z%No(jjoJRj&J*p?3#|R*#wjFv)m9nLma#!XCmGsR-+cd|xUg=~qvNAavreOBnSdYk z3|*8t|6a_lmr`}}GZ!FhWM?6@>;~#wenClE4D9%6(QObh2GJq9E zGJQpX2ESwcTV(P*AbHT5{O8S!ZWM*#@u z)9VaBPfs!Y0jnP7GiQO{l+e5AK42DhfNb@lbHI*+byOLBIT=J{i=fhsD}Elf9`UlC zddfFs2QrW(Py)eFqP<<-ksYB6A1WJE>YToJ44zglBj(oCnECJ5y1%GO-5R`(LN{?6 z$w6yZMXEpFT9)|gFsT3F%j3$M-GNiuBNDeZDB2G7^%HFDZw=-jE8VdkMYa9kgh$;q zhCd+hin#?$CzAc1_JZ!=d|*C!I=LxXWbUolc zsQcJfv-5&t4YZBegIH}##Xc9%5^-BMy2w*8T@f)lAoQiM?o8%_qi0W~<(7%VZ`jTf z7=IqbLqaXZxq_K0OZ>ibb@th+@#gAWj3SQ9FFjsx6r-@}IL@jjWk2WP7 zbq5OK#qut=$`xLGbLP`)Lw?Kft3joXjhQ|&4P~ueFIwa{xHU4?E=Tm`v1v1Gpg|j9 zx&qaJR@~`>LCTD`z=e^P6Dl)%RufS!FNznhoK}*!u_#^GaW2K?HJe0ya(VhHI)8=e zq&`HLN#^1ZJ+VqI?chQ7@(? zs9M$Ewl%gigUFgU`5WhUOIfsz9q{G$ptKo)d>ovaY5{~(l+nF9Eftx>t>W@y$!j9b zZf;wqslSWMXK#jhKh*nNb-|hQ+bdx&-PQP5@D3G+VB4WP@_Qsx3dP;|r=u{#pTEFU ziuuDmG*tvNny z*QB5iT4S+0hZGkO=gM&!d{;uW8mc;JfxOqNuQ!Mm%9jBw2ZZK4JY0hL?KZT>>-wb% zNX@TSbNr;kqIYRmZo* z!PYzXJ0E{gyU@kO&vzF>a=K}Fi z>N__@h64SBEpevSS!SF({@EuV=g#45=86|MwjaX4WtMU<6|VRTEAN% z^%p9`vX+;%l1}7U0Vf$_${`TvDX=s5cYpoA*vnoLJj*_#^nvsEExe39`@#hm>bo$_ zYfJ^Gvf$70#t#k_pB7qOXE(|Xuvr~F5zEzGQq!SlKl9U?cFMR;1@D~p{N+@>PMdM$ z1H%vV5xM;$eJ)CByV4kiCQ10fKxr$*!JrHCNQic z-%#H^%fT(s*?h5AfZy+7c>?c7_Yo)sF0efR+c}P_;j*~I8v$2eN7;mOwEh7I!ot!y z(s6sKk^}l>>vuf8`WB1bi+MNcKc&@Y8`$<-^CzI`K{y$Y6Hm4lt==xebtBQlOVEUN zII}UtLPz|wTXB;{=UZ_0t@06~go1EW?!m3|q-3W>a&z3G?uVU!b|UlqOPN&Lyg*ov zR_AheP=4LR8*uE^Ho7-xjuZR$7m$GcpYnp37zKh!7KEwwKLxgX^?zUZGi%l<2K}rv z#^AV$QF$7q<|d#qFp*{ZyTi9X)_SCowL#X11NS-vE7>ZgGLLbD|Db!U@dG( zbR+i_+todRAo{U%);oQSf0TGlwp-}e80P=^jX4*hR#pUcu*ns#+lTB#ft!C? z#sm;Pz4}9S)m|z=$6G-ef}j%x%1Jqn)0f5h!$0V3w}S8_;|;@gis0;HCNFZ)3=gNmkdpTH@7F80KywKkFaU2Axr~8mJ!dTVi-=etICS% zvY1{?xcF@SCB}>P3LSvS0LNq^3j1p@Ju+x;fd=?87VJ`vgB)O#EKunnu;u1ir#~Vx zT4ymxC^bL*`I&HfM6uv?NPIR$k3NItK?jeeje>23G`i-5p)+p1@LBQJjFVaLiJbez zdYmL(b_36AtI6Y8zohs8RrC&~7J1E%)r?fv*U)GaLuS6w&UJl1K#FBE$E_SO_Bj78 z09^|muHaoj^+Ma-0Xv*pGf|41(w=N>mnq5Z*1zI5CNtVMOs;db;7=)9hCRT;LOsQ3&PBK8icdKwJQ^R7GceQXuAdiuSIRz*ez{`` zfvvuQiy|F~!+6V`Y_>F{9iETR9Vl7LORU-=ZI<4j$$T|$b4JkJgME&}JN&Q`S;zZy zb_%qlzy_h2kZ|DH8k`joF~ENlvvOFK7;`J=|B;c5i=`#`|(WQ7#wrN9C;&NaJ)jCAl{?(@arFv53r%!VJN_kdJAsv^)y^O%R4^Y|L>B8sd z6abvVYkH}ThBgtgv&-e_W4&v2t)CizU z<9!QILOQahhBjPIERJlQ+FMOIcDviPDLQxwMkFSAyG5oUP8k>J&)MPN#gKxqmJYN(y8mUrK%(G3)>@)vw9M2Cgg& z(>YftW=K_{B|+dNQl41Rw`j|{f2k$CPtw07@AkoVtgpk5SD+-s-o8OVtTaS7;tBWKWeZk{k z!chJ%NOi|u$R^sKZ;@#Y+QYY4)K9)mdmaVl1F%;~c_qe8t9G)1WUlJQ&eyC#;4Jpq zPF|#A3~iZJIG(UN`<_1iceNjyxbk|p&bx+s709kaxI0YYwH95(YdSj-iE^LMEDoQ{ zdc@4;$9eIIEDy4Sg4%kG1i3m%YxH4bF5*tpQZSb91c@yRY5x6;PxYK_2&ehR+U}oR zrc-PZ`wq>VfA+~vBq)Im4+Bmg5)$#)G%rTrD(JnmxvY)m^H>JPoJzqKh}GnA&A|Yk zH_yvnTML_=ggzY5It*m`9fuPm$ge{4(QMCvL>!;!&(ghQ#Wb75y5309g_Ai##|t0J zUcDsK+oPOZpgd?S1x8`e-;NjASdks7&{L!j@%xXARw+!A+Xdp1ySvw=%go^(BZ9qh z8a-Fu$P6TCT49R+f&@ST#UHtJN%|*v8*3_Q))j~#TJ}~*G#1kbTWrH&O`XaScZw{- z21dSDT{X-NGV%2cHcHMoH*=KbeiF$zCg5N^UATA ziWJy)|1lBte0L4KoDj$~jf??n(6_V)bjhH-h2x;OOS2Htd z)e}#B5|4Z4m@?$?8a4Mf)2i6I%Y@n!irRG41>yL$Jlvd8u6WRgs(>I|&rI9l)5 z@+66i$jOO-fKI6zVt(IIe$QV1!uQ$qgSajq51qAqU3-;s#o`Tq&kOrt!>Tl%Vq8HkHJi~Qm6Ce z!+uGxBe9WBuCQ%7_t*g{d^_`$%T$LJqH~h5^3PIiCT70)%P05X4mo81$$CD+t5u^3 zR_vdx*dVjXsDECR6{0=Q|6G(MZ7HFOJSIoc3XM;+r*t2q z+JB9N2@YkSJc^7y)Z2Gsgt1lJfpo5BVzsM2UdyF&1T_ zUD}tGv~pfjUQGxt!~4d}jQqn`GO=Cm#;x=O#20jS#T{CGHyZ%!uOJ3@b-hSWYjL+h zprn3EZmC3PaISo4v;P?NB;ZRxjLM&HF=rInz==~v&Dmq?0)wit6+5mkZRM?^^tCUVv zz3QUQviR(X^MzQx`qjj6AxNxLcqwG(qa1++YR&kKVY}GS0p?) zOVKGh?zy+z+j3c+Ou#eO_D|^IIPTqD-SvF@=FA-f$v+p62wFBf+YXcyM$CuPEiiSR zezlwL6~RAS3iw1HZf-7(+tZX&isekL`j#NrA9(Hx@7?ROpN;uJ=~~|kD5Ck|_(6uD zSj?;Kn1VT1u<^$3@%7K-MVy@N=uMG3pIKcJ3<^yoz;mq&RE6pP3!?UqE7^fpiljY? zvP+?#Aa*U+5X(Wld-c-AT12GOsSvFb$t{;MUiBv2FbU(8%Hu(l48sq=2lu$RAiDOi+2!z44@a&hnF=0=gN;& zNVR+Y#LZbjbN?CLyJ;^KECtOuI9caX9zhuOd=oeBFpwVz^WOibu7*ecFqo$6!wF(U zts!H`tRlAcYiG#wrJv4|F7M?(U-9T8e)!s4cPgyWN~K;aC+TeC`z*-**!(s*i1-8a z<O{q|Ext8Vw<@0S)GFPQok zusAZaol{IQyuk+?V@q(qklZ^97o{7*ky5R1UGYFTEGyy}i>qPpt#I-Ci|OkMMAIM9 zv6!ycTH{y2!5iO#GMNRme3OUviAPC9<+6^fmSkz~i6HJwUMS*<3pdJR>FRt%G7jm1 z2;1f+oawtqrqdGsc12=24)7YwB27!&+rQ$c8h!_=wPfOxek~wk60WZ2nKKkw3%sfM z9+AY$e#m)7VP0~{xo1}41ap^RQX+w{En-c5YTR(o(VuA!>=S7#*ybZP$A?2vv8 zm0!KLG&&g!@tep%&@BRY`OhP80uT#wF8!Cp2jH=-CoSYD8livurDZA2qwznoPBE6J zKVLuuo4=X7b=*Bp)tDJH$T8m0c%BNv@gPh@OrfzBx>p>Ws|S#4NSHyI`kEqvg}5>( z3v)mFJA*2MuZur16WQ99wJhJ$8pO`UA6ja*uO*OR0`yOBMI+5L(W(C5&SqixV@tvFeAUs=70h-Ook%p zfagHyV1+nHuinQ6qz5F$!+P9)WEOjhvs-DHow9nco_dDysow%b;x}a^Q1R&t5Vo}u zx(HSPxj0a<91l-23U`;q5H1O_)P(?Xrn1 z2Em(PsgdZ#QVKaC-<~7{j9npy5ihib8Y*5AJ-=m8apqX|=zjYE>)L4#p7OR>`uAq7Das_HQH8u>Z*gcY5N^L z?%sAr^Z4*AjZz4}EC9tEzEaIGS*4u&sM*K_a{G`W0Ixd zecq4H>?ih-dz$i6IWNNOM#?R7{+<~ook2K*EpTx|hc#&WiZERRDfEs6Hl%No9Mcnj ze{Xs{vvF+qt%mk(xw3X$Pd+D~_LKL>P8xp)j;-R~8Znr@zaXz~w^Iy$>K=VbTn!bN z9|?WAX&4!5?zSj zOVUvDA>oW$X#Z9hC%t`1h3wBKM7|*#Y7{xo4!2$R&$+?|BUa*;O8TIwbSYx_W7Vmn znAC&15QPbwVy9B82E0q*lUJ{bm6A_Fw4N|byyw*Tk6sr4>$3=x|8SuHKj@hL$Fa`; zPZYP9)Iusd+lwSBt#3TIsIQ;qY=6d-Es34r5?#UBsb1qb7#@o2V&%$^wiYhjBqh01?kzuh>;#3;?QuNLd@ zgrAFP78GD=%l&))+9_H*&ePP-edFw!Y@#I-vG(V`EZAGV1uuC< z-OmO2>7^%hH|zCJg-uQitF^sMN$liCdS@N^`(KcIX8{m-eq;KOo_P~OTv@=7`=_ZQ z6iKR{%kM6CTT=c2kAY>;p5vRzs(_@^l{w!=r7X(bE?OI0@$U9%@#T(N=^1r4C&G6K zqOCy~#O#2ZOjqmB^UzK+a(0>H+WGJOa?d|m&GkC?+ljNC=)OyP{ukss6x;lRmO=%) z7SBby$K@12R~EpAau-A3T7~5}h0D)8szZcQe1G0^-<*wJtiPU$d{k9r+GbETc2CwZ zjbTBlX6J9rhyYQyjHuP4ADT^dto;V0?S7Jqqg~#Z*ogD(Ko&~Rx^r@{%boLS2Qqr= z!MbYSt0@^*L2$3qA-vkE88SZAA?oiZ^hY&BT#)$-Atg!AM?z#2n6zupr?Y!9)(a@* z^UZ&Tn6U203yB^TS&!8|<*P^O(Z6~L(#j+2lrh3L?Sd6*PA3gbEHB$U?)U)_Y%-T@ zZqw8ZPb@6bJPmG>=s+k3eVi`+c8aQ8`}pThjc$8^4R`UOu6^P?=_V_tXGb~G(n48( ze8_3^g%;X-l*AUA_#|kB5052ExozHEu6tqm(yjIIi5tT5kxF2Z;pGbBox;@NQLjgo zV@UmUa{%m#OAQDjUB>Arf)^UPQuIf=A5_VwIK4UXHg$2N^g_TXap~(h5i!URNtu&Aljmz2U3f zskXS?#Xa{5N%Sps1}Zb@q`q25t=C9{E!)DEikhJPm2c*(;Ts>Cly6<`Y}3lqf=eP4 z`@)d6w4{R&A!ph%q|{S{Y6~SUu1glq>Hc_BGcwADPIKmEN)*#y_vQu8f74$RkIv2GldVdKT508@3M+&4 z1{d02oEo!QR|gmL3|1}^Zhi2%&HjG5@S^}`KpUoo%&|pc*J!;~5hlG{8q43EWUy&Xn>ERRiw43 z^Vzb#4#9|-Inc^#?PM#1H#~dGFT$jYP@5ZFcH~YH2&Nj##x{G>OVB~Ju6FqS?_

N#4XmSiW`mXKt=b2G)mZc;MlbqX7 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 SwEzD6`x*SdxCX#~FaHnj>MVT# literal 0 HcmV?d00001 diff --git a/gfw/asset/neko_http_config.jpg b/gfw/asset/neko_http_config.jpg new file mode 100644 index 0000000000000000000000000000000000000000..590df7beca55e6e555ac09632d51c6861cfee589 GIT binary patch literal 77291 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

H|72TSD(i%zPO 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 HejWTjI&VcD literal 0 HcmV?d00001 diff --git a/gfw/asset/offline_DNS.png b/gfw/asset/offline_DNS.png new file mode 100644 index 0000000000000000000000000000000000000000..8ab37ccae031a010662b41af633b4f42bde0d377 GIT binary patch literal 36675 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�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 X_|SEt&*uVn1|aZs^>bP0l+XkK#l;<| literal 0 HcmV?d00001 diff --git a/gfw/asset/slide2.png b/gfw/asset/slide2.png new file mode 100644 index 0000000000000000000000000000000000000000..82a3762c42013d0f6eb6fe05013551cbe4f9dafa GIT binary patch literal 97243 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 literal 0 HcmV?d00001 diff --git a/gfw/asset/swiss_army.png b/gfw/asset/swiss_army.png new file mode 100644 index 0000000000000000000000000000000000000000..522686c976121e65a7f2dfd735272ad11f7caa25 GIT binary patch literal 158774 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

9m;!ypcwTX{9h#kDAq~G5SH~|c`yQ4 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�y|qxEO#;;-Q$p3&|rO#A4;omcilDLrNxn z&Vt&lyP^!tEV!KW9PyJB_Xv--N5I?0=WJ3{*|lt?;e_dbg3|(g@KWv7-_^97b*Ig zMq^n}XcX?AaO}Bb>zt8WnqOQ~Qc+(~+f>)s)&_D;9|qDsk3j!j$4{@{ed734tBaOS zx9z>0JpJt*T|L}AK7wV#)Iz2eqJ_-ggDvs$^{dBEp7eHg)z#JK6_)sgg>OH2Sk-78 zS4oSbs7fiRDC-%Vy?Ud#qLw6YzGF=~I((Y+X!NZBCwTRQZv%C zb6Z;42f>GY`ixoR{b8B3e;_PlhD{-y(ILTrv!3prhK9zXlJff=Uh_6>+I9APWO4=^ z?^-+h@J>h&jTC?k%YI=mCd9ICJjrO2pLhGR-vG<1fMxYXRgJ(kU|B(BeNI_5mR9F1 ztd3p178n_gN%+~&bMUB}yL+ONQ<^)vyL%oHECU!Zo&N_exC2AaW8zb79Gsn8Jfh>1 zKpd-X23`$e-PYMZK&v2xBs=_d8an&xnmQ64-R|lcokkEGpSny@*Evv(^KRp6$)+B# zC8Bupz>ZXPofJ*&G#$MxOqYhF07-ddNF*yWviTZ~WpuwrQ^vrwpnEa;GZ{f;HhwwM zDoJ3a0k->D+6E9LW$GBDYv>cB3+%`Uib0b^E|nN3Q&dpIq@NBI*GwXFrCOqlYJ#*1 z!7>KOcnpvcpZ*lKQZk!Nm%uW5w4}FVEYgm}p&f%UEKymK(K39jAViE9_#g-lKt|{n z2p<6_mc{i|RLNPota!u52wfxOCn3b(6h$4yj*Q}N?S#{za~Ble@r<0!(rKIID;&ayao04 zwluYrS5^l^$Lv0RcKyCXUV-7rKyPjB>FP!oMr7nTT#A1QcDJ;SH0(bws(u#7(yE?nEAOmpYuK>9p+DRlP$2q#* zG%&qDNt~lNun#02KA@6Olr@{{Db9}okRiugO*>grCsju$)4%{olmo32222xU0%XHm zvk$P$oWL0wC-G^ zD9X`5h6Nc@H1`5n1{5Pe1`-BKDV3#^%pz+t8psrBLO-Ljl#U%E#4@NX!5|A36Zo|rv3$o zZ8m$ssy#m6}t``K6UQi-P<LR5dmesA^%}q?FW9)8;Sr4hn0>yPy!uNH6vw zqFLEHO`Nw#d)mzDt2g+B#Psw%?;m(drq2Gyg9A^xy85&7@?#T|8USa&xhKSE`xEmh z{=qlRKNglTe|Zs{fn)Rf?OS}$2KxG2n_DX?s*^KvZrM35-Lm8C?R!NaaiM|l1eun` zGU0)o9y8y?GNu<}3R{1MjllpJttaoOCIY6m%0>_}2uLxj-dn+x^94`7za@ezoA;b+9msh)Z z`o^VXTG%;GpSRFx!jx%q7o5kuP+o-{Kjz}PmaeMm#wcsMnw~6~>Ab zV#e8aY_1O_86uF4lUGdvkZEbB=<1~F>17y_H5qi5S;j_8!$pepW%vk|nF%49nVNy} zng_2$I40sTcpE6#SYs)sXGnrY@R2lP;Eow)YU*dIK_V_J0%X|nt7s>yXeYry5!^9S z1jt}|fqNwZGOWf>WV(bn34~aJV)68L492iY9K~dsdlAPXLnT@E6Ej7kOo|>W88wzj zEQw-#j3nktv}2waDoF|)4@JBc$MXHubgOplf%S#2x(3u*XE|_H<;f}j7n?t2*}63cPH9b?{S{wo3}0H+WTMHOCCVm~jb<#Ew_z8EvL`QHx@%!! zWo>ca!45#??;j8q9rM6HptHXp#Gnpj-;kRUkt+eqy1F0r^gTO&+fv_rqF->>qD@;( zXU^B3GD~mrOsxqsG|Z>zPMSSs5xf<*&0o9izE7B?gUcOjOG_&YJ3CuvXYesR{eyxd zk;|2t2|Xsm`^WD8qrH#N(qP!f7z->g%=-uWn_F9|s;g7evo2n{tv_)pPeU8007^-n zr>Lese#&(VTL|ELu%e~40i(TVuo`P@@6a7L0cLCh9TSZS(+{1!nwDJz?g-Yh1DHBd z1E8J_!uKIEJ`wuOUi@vb-yQx6|G{YW^MBkQ6w4SmW9CilLE-8P-VGKH@OR2DD)bEw zTDocTvQ1l4b3w>&17)$j_fgyMjr>!vjM$a|$l5xp+d8URJE~d;v+Pr_Otd(oTQf3X zG6hgW6;#w^msYz3hVD3bY1aBJ-XXzt4Ylq*5AkH`=mRZI6iV>E%_L6am?D8zsabjJ zw(OiVWA2gD=MSDbd-&|d1Ev9~M1k zc_y$+G|L)ZiV+CYHOSD>N2O~Uq#;;D6TKKV{UUKC0kU_oOcSGJvb;JvGEiaBh$Tp2 zM@BgP2?FJKB#P6f7etvfjAbynW5n`Bd!*K(QG{ z)8|fDux#GCP0O}yzj(_!Bs%$?wcTAS3mZEu;9NX?yaR%RV&mfhWDsM5C<{UcBl-B5 zA#V8SPtIic%oi_T!dnG_vz67gIk|=QZeENqKte^6QdFZ9)Z{dEk6pN2g`}WIPvAr^ z@}6O6Xf17>6DCjJx#!5GE4NOaxp?sCnZU^SsPrr>MjrJ&=?9AwzXZFE{=v+=!pNBT zhK44@py0^Pz}X+_2=GV5GEsLnvLise=F69$M0a&{)i>4`mK7&vr0qU-%wX~qH~)a5 zntF6q;9-N~0|GR&CVNkP`CeZ(Y{5wSvTD+oeI}MM5XKaNwu-vk%DRx03=7}Dqql9R zEnj)|)-^{D@9IXFe}I`yS~FpHChE(E9}vD`|D&{=f>Rf+&YZXSOBN62e}AF)lNK!8 zarj7Nd~$7lTfzgsOD3imozC&dvi}wbG2@&&T#h|DG8R9AE1e{%kffxZq@k6fsgsVB zNe0VszJ!ZEmSwa94;J~DF|$pK(WYVQBoFYvG;u%Aa9pk-z1?SKNqRMgY@`fwsU!u* z95`SzU29v*`;PbB+*|?z{9w&BMla_Sy})lV@U9MPH^far&&4>*uZ8vS`z`okx$`Iy%QhM&Gl< zp3K_O*~!z}3qTg1h(zFAxcxx8CIYgLiE!WVNQ5tq@4o*UFOAo)V0+iq)6>w{Tv$@! z?&CLo;SxDbJ=hH)FP)19O-XIz-UB6d_3iMEr&+Sh>Xxv{8d}euId6?V^v-QtODkJj z`*WABS^Id0#wWD4btAV7dVns(ar6%nqDEG3a(X7#9uT6#XO9sE{Bd??e_SjZJ#1n= z$G;lh3UCd;Rj{F@vAm)*GdIJ^*{4eIs#Jo~R|4<9h2WPDB&)KqV`Q}|=(Mio6Xw9Ho zAod;v(HIxW(Zp*yBse)EJ2ojzQA6v`;@q$JGLq^#6BaJLZtHO7{N->*rwb;=M z%Z@*BBxJM=mTcR*`rv694Z|s`n`KM>^q42QCW3EV`~R7*cj%Kjoy?AFPQMf?&v1|i!_$Od=Wr~f^_LUhYZoy zY&0i>dHf!tG4m#hjG0yS8O7CpG0FEI2HkS;K5Ol;`|QFSGydPgLwV-no6;Kafq7RBY< zqbPT-WC%|#N?HkVaH;CrsTw+I=%Ii?=&A^G&IaKG{SK+lXPu{ zAnr3aN_w2cQp||tiO>sv*jQ&_H8yP5!<;M`EQ3&-+3_cV%@1V~VUWQXmat(NPCq6} zP+@5{KUs~5iUG1Xu0kwF9u>zZ#>Hi0#Azz*STM+hqb0myBfgRd86)IgxY1c~t|Xe5 z=f;tan=rj%*MYRzOI;)su5iWAvB#X?vJN28k}t7YPI>FJS+f@}{l6@>w3fk&Jx7-9 zJ}RSW`WJBtu7aZG#Hl887wb%&GkewMO$SeG-hcSgRrn{~wXwBya0HOK2L}1aCd6gt zWR_Ky=jMa)+CaZA3Z<9Aa}##5U42=(#p`w++jZc??K}4dpS{?A^z`_7%S>i2G?+RM zA5r+<8Ozq~IC9d<&)>nx!N$hQ+1UxBD@03KSy`2p)gA3!#ODV|hIIJWuT={%4H{vY zfBp6I=g)9DXlre)tg4JoO4xkxfQp$pS6vIj0G7PsSb0UW*>eIyBD*_bElP-rWP>&| z)Y#hQ>FaCj;Na-y=IP_(k9IULz{$-sDlx4Q97Z}Mo18m3dqMkdZ0U%NPlioUePdI1 zPcMc|<`nQpfU`e3mWfmWv@ihFv+v-C0;>T+*XZnOZfGhkDT_%=JbUxz(yd$1-?hlC zr~y3Tbl3_ze=Pgq^Vvas{YB=B=#LuP;lBtOW@l|nM-70i30r@3WbcWVntuk%Mz8D`r!bQAQ+S}ROxNC9w)R{v%S_h=K$0WJuDDD+#Eje5S^jfjF&RmHAo?N7q za=emyvbttEfDA#o8oH#V(q^zsFVjFj!+?Ag9W*g=5*NndVlu;ledxt9u-DfVo++`^ z2Z{m9gqKP+-Bfj5;>}NhOea;502#mw24tk?(VKpvuZ&0F8yPB$k4nb9DQ`6E|+&#L3du&ce~@z9$W2adENPxjB_p6=1o70gq!5Xl29vSdy|z zzr6c#LGld_U%hS5g)29%-?)XCheH>xFW$6!_Nq-27p$1Eblt*r+gEJezhVEeQ&(@h zKk&12xPRZ?*3;8HI5;>3r0BA;mXE+pntHrrLD5MGAl2~^?@%otjo6VicC(gYHEdO9RKt%Vuv>i zfi}AEq-2^hq%I*`8hUc%j8r$a0?S5wmNA{zN3m>#F*N9eu!7_;FA?Zy>P2Y3)80d~CE??Vy z^7QsyyLV5VvR_JYRFZRw&$&o~lqfj)*obpo5ii7*jgU}|Q&3M*(;C4tOU7J2h*cH(%2$1Om$OzMdrdePY#y}Wx?4ci|5^)kZ{g5RQ zAQRpz=|&7@ieQilNo2G#DFOOQr0_CA@prakggzF>R)`zMvRIZ}3?ojWJ2JW{lR|z{ z$Qa%Oah?Y~R6-~Y`j`uwgG5U&X{EHKYby60j4(2@69`D`2t^&?@^W#LY3ZBIU1B_QvB8W5^EYi@ci_;Ts2)k{k@McZ_>N7C$QLxh=~W7B|?9YnGqEq2a+Sr4WO}%_)Rj=W!){{0JL@_pf^j; z#AUOmhiHd?+B)=eQ0eo2&A$?sy+^SDT?6!b#C;X|0?s);7yM6zjo)E&oy55Q;*y|}#bGn0tO+xp6iuyk4K3)p z(>1j-wa}UYu=FzZ^wV|p$Q?k3Y|yeGFK0LwbT5{rgVjC_Ve}#l9|>`cjz=PUeK?(| zX=kVd)aXm4vQ7$$o-0XmB_NEMC_%hnxEDlXsYYA(sL{!9wEGwXWW<0BCdUpDzU1Oz`SOQsjOugq z+TH699NTy7_|3bwEiCTY*;+d}J9>HJ>>Qk!kWf%iP*qz4DdOPJlZvXET1dl3341YV z3LCVpzUbui$%~d9JbA*((!#;kE-f?n^woQ7b{#x);o82_7c3my!V}WU8(Q-!YwtO` zpS^a|!q&>g)d4eHLP8vbw@ppN6$9_epR(-#l$SR%yU^@2SZh25F|(n*uBf!wJ0NJ@ z$_-MQh8#r=wvq~4Nl8Xi`|!zgkdDCTr3c5#0bD8{A@@43s1)um@hPcA6_w3h*wqk^ zNxBG@kye0K%b@C-TJf3CsDO6{@zV=9YCx~^>u2Oo`Fnlh=ltto+32?*yc;kF0ldHA z-xPV^+4=ca&aRW@Ej)htW?Ft(ReftCjb)8(455rz$f6^Il@J_$n3X?`Wg`RTd*m|O zzYJ}f5WHx{e|=FkT~&2O6*btVkPAQ+(KCro0bpswX68BihgkUdU3GN3U}q0UjimG( zSSk}B>%$ccSVsD?(W0y2OBq7Uhu|05)YBQ`>#<)~W1kdw2HZ0|_C-DiF}?7>uoCC` za3sU{@-f)2gIli(Ew>QM(t&82+8LTUq_lL?wRO_8bknqO*3`++)&sQyD8_Is5Q#+h zVtSYy8Bzs`v}39|NZuv*rKSzSEh-JMZ`kfLC`R^TI*BC0k|y-ib7g{zS^~|zh?i7} z$EKf2v7{p`X&{4*A}PjwESe=Nswe=NIO)g;kP)G!AdHBU0Az$j277Cu7=}t0ajuIv z+gn;LXVsdTZM#C%4eyHcF>W8{f!5DGK(Tgnxa%ZTPVG1;r>gfQPr`8e+>J-iOkKI* zzqk@(1ak5^X5;29)t@%Uc-Ddi8+UC!c5dh4lXuaP*;w1!+d4Trc>8!kMUl9Hg|xD&IzBOV>89-xI)-AZ>SL5u#>y+P> zmuy-g2crMbQ#_#GP00{Vw`0O0f8TDrj^M+L3`Uxm+1yrASrZwX06Un*me#(3L1a`j zj(fk=U*{7cO!R60Vp#S*T?4KZwEZTII1u!=v~^%K$SKHq5EQh2*Iwka`bEW|jY9BO zT?@Q@up{e&n-sAsYa))=v?=xot!y+)7LKx|u*VQOWHiAcqqqiWRhL_aNL`rilxG!{ zqH>GN^Ghr7J`VOjuxxnVB+!;wQt2KNW$EL8-QM-Ih0W2cx4Z(v8ald(heuyO2s=a! zPo6X*d3Qqf6~tJ*Frn-!$jLr8f8IU`sRNP#G9F=*QQX@AG7beULKsgjLP|MSPM!2h z43?2i85aNKh>4GQj7lXpO?~_b`Co!=dIZ0;2)lwXEwsoA43i^0R1)Go?8dOy2bR%& z89h{@XqaPwjF|Q)=p@N%G3^)uGN2glm6EFQ*pcy-z#zl1k_iJLYI%l!b%mwBPmMz)3 zYumAtyAB<_d)Ly+5~iQ_F77VA4y<@ln zb5P`LA*^fKq7`elZMU+vbFz2xadQjs543ahnZ0t&B}*G5T9#JUy@omKH{Yjc=dazq z_rlG4cK2;P-Ccr$15#3xDk{smx;vh~c={V+nP|DpTm!Jif>RJ)7abj)wbeE0nc0xa ztB#w*QqdH{&@He0m7Map8FS)OvtW+hhub=1V%i7#1v6I;0~vBZJNmF?W(=~J03I5{{XJ*TQjo;xgmw@wX%rK(mfo3S;2+=D1$zart5>$m%IuSnJSc$-N8U9K z1>LwM(rVd)07^DiQYBhOEe;|f*y*Thr>X1Uh{<3X@QYkC;k<|+q|cg=f73Ss9T-|L zwie_Z3946aPQL<1%V-A6(2I#lkp&rO{RGGmXDNY`B|0(y8S%X! zJ2IXlhv&csA(jeM)hyq#t784O05$EqJob4m`xuYCpU>Mx2{sA@8}*IXEnLo(ml2bb zH($7H(awX0bC!wAs*1}fY8X#6ox50X>g;h~!|vF>@xbAI$B$dwv#_+T|MORwL)dGqx*cx$YxZN&Fz8W3SLefFsf z=k4w8yScde`}%}I7#W+ieCv*t+jj=X#KZgl`Ri|$WC@}|}b zXq9NWlBgqlk5fiZl)$oP#OQ{^C^A%{4xw6dhCwyM4feq?Yx=mbx)yARu6ymi+# zwxs11!eNaz&!{7VC&99s-171VQPHl!5zYZocbt4LS~wj#cQrMq5Ep=MXkR|&-_0oD z5vf-Lx3bvCU3%KP1e^mBtP_0pB`)_Co3cdCBa83N#&oHGHCe1IunfyGE!-CA3nOvb zA&WB&!ptB)LKo?|NH(}OS>z83k7$}JhDR-C$B&MTDH4x_Y!N(wN*wJN*8C!gC9~!q zS&*rM4NK-q3FUaQ>?g9MIG%DGBMzrM6v>*Opco?*M^i?o%NTOC1d2&8g?lCJt;2|c z56y-ZCn<1PlVQN5X|cR8L*w#2d-7JT^H;9w;4~GKV=?Q zQc_G>a?YA{8;+dRoIFchPMxQ$t21Tp_(iM0y)a+6V(HF<>-Qf!asDFMsy5bEj$k0T zyFc{v!x|o$hXFX@>nme|R;AG&u z5E>o^qCaC*_WH%kztQ}xU-hE>lusV!YQUKm*MQegp=$=2w!Sg1pyZB?{kYk4;d(Y! zLHSELMKM`LU9$=ItnBOYKHL9f1k1oYr#muC(@+gy-`~*EE-L19hL3g49Y|n_ii^jR z5kxsAM@r;b^eJEJZ}mC<@>up>U(Kuu@cz)**;QBFP+C|P77?}o{F!;{*WPn+%`UAd zscE2hWIuyta9(VRP0b7lkE*P1YyoHu5RvUb|4@J5qk(~;!AFmof{E~BOe4=;me(~V z=M{{`GQb&rhr;qokllK*9qR-qyCpRnz2-&ZX|Lc=oV?7Ly2M%R~wk<1yUHYa}XZB*Bh?o&%YH&4(@kPVOA(5JctKR+05TNnz{CYwi9+ z8s-z(a!NcEEz^0+r>@wfF>#j3+$F2`9ocx`=;@1BtgNshv$A(|K*Fw{pI>yePzZ^@ za3G6_tqN1{vk^{*)<#qK*x%q|F=*Vh;Xygb`-4vOS zid)!Qd?_zq;9L6=yM*V@@KsgSH$=oIfr})!(ZjTHKU!x?mOP0M~ zz(!Mcfycc`@vJa;jfK~ZR3xPs1BD~(z!WvnltIzWU>T5$JkZcZrD|fX#8QmV&C*oS zd}*blFC%+>FkM9j6hpK2lUO#q=_f!&ilL7QfsEet6ClHaOc7MFIIbe;$jC%V7vnxQ ztV|+UMms4Emn4#tK!qjN7h_502(juX+%fcGNEc@#kl2GQl{{fa?ct*-a~8M?q^@zq zFLK$)Pa+)|Pq3CJv3vgf1&bGc#pA%OfBoK*YY(1~(lta{xRi#j$=qd=maNgAFvD=x zf=x$Hui1O(%;l^1tSs(Y-gR&g0vXehf#d}s6X}PT&=8PTt7__N>!A=KSSCs*L3h^H zg|=*H*ReAO)92igqeY zyKs)fw(cJsRF>3J96Lerev`2%;`6al9k90#u*ArMeJ$qWy*pQZA z2r5QlB~FYJ2Dx1#}BUy0U(S)F*uQhiV47m z^(HoC0vC>i3$aw>+H+Z+96`#od5yHiTQqoA$5_0XyH`_6Gyw8zS;N@y9GEm=2V`9{47GtB{H$1kkjz4!dpOQ7|mBg2&E z?&%Q_5D*(13)(%bDG=iZVgwjcSh<2!fWTHHEW_eHH7mCV#~H%)A7zIPqFGmOQFWu~ z?8WPL?6tJEadfoz^6?6b2+zuf`&d z2$r>?f$ywpYzYevT&t$GgD-$U`Z$ksks>^dI~=Y9i|5agj^HasN~p##ScYgN%$Ukr z1kPwIqv4DmFv*Nbc4VpWl~pB0|EyjL&D|%CK==_1o*!V@u=SW;620b60t;78jr>_C z8p~+Y3jmo)oPfcyVfRGZcT5OmEC3n7GKO-&(E7n3gF`=5;(#+|M;0u`hZC6>iwG@I zkSIBmXkMO=KrVgWlF|c*5+}@Xq@)nddxl~i6^QNSkJ-lKY*ts_wQ{A&xM_c7ODXFc zuiUzS{<>{a8v1Nm6=lN-la{R;zjT%Ml$leOtlf6x!m6G7F5J3lVT~K2wS$wRyO*bb zU;xa*KvjjJn*lOrzeA#rkfTL{0sp(DyF0hIjO;Yu$FhOW?!lXO&W6+G-n?sRYisT7 z;^^o906KxfqJpNT#@?RJqVlq>hmNTmnU9~n;M^^XQ`hfawRJpn?#l9w+ueQry&u2` zHawS^G5h15Adh+7=V;QxhR2B6pdx^nD`Xb6BXabGNwCYid-RK zS4}&MC6mWMG4kVNtwsyNe+J7)BSyPgC&{YC%fj1wghU3pc$`2fmQQc`(Uj3B#&{@_ zj*JGfXpUSoTQ-W^D~UKM8co?(k^nMNG?2j?_8}mQxWdA{hmX|vB_R^K* z2M))YOtGh=FLMd8?iio7pD(_h&)ux1wQcE2ZDZ3vvn17xrY+rec;5P*(prWbIaN7> z@zYmqoU&vku9oAMtXi}8*w($ruim+J&*q-(eOOaCBJL}%mtu(pr)~H`PQ9_Hf*xAv9iB!nNH9&opAP+#f7`pSFP;s*gLJ4pb=Lk&a@7p~vcnJ}HLr1q7J;un&# zW2EIZ%qAdLxVXBpt{Jpg^kr@D0T~Tv1juR|TTsjcq_p6&9~GZaR8j^nF6gG8za%V; ze+-=c8)Dh$^%==`Ly$0N(9d2B3=Vd*x7O8E6&IEGJPh1%@aWRbJ8n3*VuO}jT31@r zitk(r!7{(y$4?x-coDI$6BaI+x^(3gYrBlR;@zZPySZJnLf_4S1%6X3bbF$=}JN4pZ#YJT|gO?t$gc#%f$5lnX3VjFO;dOmsWK;(#QqS{ZZIc^ z(LP;j!w<;+>YIwKmNwhez>L(~hks|i|!mA|?mry1Vxi}4EWWbE1Wl4yDgTpmL=m(Gq!;{3}*h8Yl zo!J7!Sz@$w;jjbL)XO$)sRbL>V7xU~>O93eA>bUA;Oyp#??m#5mfrTotJHK1$M9v$ zW-MO0>-40hTP3v(*ox}vX48z9t~Qys7zPz{)@@(C|Jcr>r*Gc6Yi)VY*47GaSWhp{ zAkg}glJfHNfg|nh?IQ#NOqB#pXe|5j$D!xX6Vfw@;*$7B39~O@Ck6jlgqa3M#ZR8Q z@c6m2);3m-*ya0rM@N%rOS1p!?R)VQ_s_?Xammvctwci7{vC=MLkUeZG)87&zgd;IJv zKH{iXI7hL#l`pS&)sgw5Clj=rzBv zDTBmPMmbYA4%qj8jN8{JBFMQ(v;CWGL8aMM43c)WP}YXCQY#HD*ze% z6ai!s4EG{%EZV7Lto*~&waa&IFI&GcNI}hlBS{qFJnlY8?j8YW zGnd+AV7zPnR(U0jv0UE7c`LV_ygqK;DxRV?Pf1;U{8aNLt9542Q5!!2K(=Q8iCrhp zK$DM~<$YUQ7X*X*c!z`pCnY6;M26uG4HR>08{Lu7SVkZ%zqAx$Ub6D<682@#Boe33 z?t$jkp0ii)%vrST*6rK2_V%vsZUI3-_-%`ei$O%NMxzG&Z#DK5|CUz-+<# ztq0Ctaef#SlacEc9C`Tsbq%wrTMwM}3rPx(PR%YT1qwg`^7#4d7jM3O^88i*qo;lS zL%5aWxr#d=AnscXzO)I&FJsjwdnAbPhY%3J;RcW!Lm^u znGpC0ggv1*Zcl(>*u)JV6W}^KXm#=G5=EsAlKee<&QTug9FKK_%e7^L2QT5rkqYI@ zNAMM*`AV_aSkb)_!_1&}XPP8QSD7H%=mLr{^&xDH(j?Jqei4dcy2JpBrVrLV(rWNi zOp-)LrjaO6BkhS8IqG|?gfC%N1RW9 zjE#?YbaEjoWNu2Xcbq9HzLtcw7M4I$eX^dyk0m71?~* z>9ZGaJ$Bw;#$t|wI!8f6XVT2cOIPX7n5AMqVd3Uo8}=SMaN_iBZ2E0%9PJ%lTwHv8 zeZ#`Sl9P!(336`Oc>>5to-Rhqkrx;p4FBVgSewPBq!Fh%bYTcs8cy@Y18mCDbBdO% z-@0@EVM{9zJCFkC#gN6SkpGo>J8wE2r`oNx8pB$+MKymT%cw zT3=sHph~ze1B!_tjCoK=!x?^@G-!>jpyv5Jc!+kdwyvSSe-LLc{6W7rf%e}V%SO+e zLMAkQ${`1V_V)Uky3)duxTKT~dk<<)oO;&ECb}>`qp~u$qN=Q}v8bZ9sG^=!byIA1 zVNgsw*8fPrWMBxu^yC>mGY%KC4rA~O1$o-XvFxc3%WxINZ^&R7AQJyuQ&D+r&4&2` z!3F^bSaysjeu2lnOW_5NOP^!_SDL}HD4t@pKsi=YEsn;rc#!Yu-8>q!L?vw$F%(nQ zA-Fb*={g$Am_d>lUC@nKqM}xUq9!S3$Iq?fER9r%h?#NVQ$!N(~_n;ROS}MZy z0xC;-(0x3TJoL9?96s!b7HiO+K(P9TD#6m zUimV`KEshX!Q&m|b9V~Zn+4Rq36l=)KK#G_!X7J-AGdh<+N0-nrp+2FB}b{~C{La> ze#JV_BlIRrUAzCp@*PJG9X(}z=Z3BIT_<~c4>!*T4;})@Qd3ilii$7>0>}uhAK7T6 z;UU4`G&GRHFb6QJZ*DHBsv*HwJ%e36j}RF{>`Z!qYlI!`;U5ZDxwBWU*#Ib=oFDr8 z#l*&<*Mq$^CRTJG-+T{e#P8p}`4)tmy~oe&J$)%CF2f@zI=!&6Yw&4#eN$RdQF(m> z-t+2O+GA3)oPC2%Ub(&R)aCuBuO7Q}XZOjA^Ve^iwrtJ*vzJqIi^0o%`e^9+(?grEZ%tWubuDAc4V( zdyL1rNU^Lr(DWd%Ln?qXf@M*pHB*a~Qj3*VC9N5thwjdRM~NVvDS|_*nTX@&NF)-W z?+^1WhGmsBmI2Wcm9*j%H6e$JCp$7VCdHEEzmbzATw#^t5t{@c<0}&^<0{2+6j3lB zV?4-2b{8TuMOs`*=obtF109)=(~m4m!o46s#^{qg_|l2vCpH{Anz>|&o2=4RHt#Hl zdxFb5%%gTeWvL*$XXdQsOP2nLl9ZO$n!a$^vR#KXC(Pg|DoJT*8_ilYdF4i(X>;}G zE?l^4&-xwvj-5Vt*Ww~FFKzMjKJZvxn0&c(*#k@m0vTwfyD2$Rolcwy4 z|Na3#nwFE-*wICs{Gcgg1hYUiKwED`P3?g*mlm(xbo<^tFvXB+$)F_ep%_|;U;uD~ zXV>?Cd;9e_;2nY~z4!RJ181(?yzd*CRM^;#^U*VeL+6%O<&~B@d3kT$cW~c{vrgXr zxD=%qR5lbh4?t) zw*CZMjn4X-8r)>BT38s&oXu6!86%^DYrt4(xoHcR2S+7VR5#bu1I`F$y;q{{3|NM< zCYVM+VbGo@mQ_@uZ$S6J{LBA-1ls>uST?%5hExTtqQQXy_?*>N;y7K5Q2XWEcFx

y0e7zi7cAM!6w982UPdZFTsnv&9mbQ7r28^pSqv@!fHP@T zh?#(8q~z2AMhReq(f3Wj*>EJ1DCBKKkVJU=LIxT7vSA>@rk|WFnIKCNI0Ehkt+GUr zCF#gW4PzNGhNZn>g*-BGnGyFMa ziR^g`og}5NaJXkkoF#lO*n24UE=9#Xv**v6ITtOMgoe?)wYygAJdAK7j+~0LhK|Yn zMH82;Hkr8yh_-C!zP0=JA31XxFlJ?AWAEVT?&jhDFd!;C3P1*ZQd1LL1A7=aV8qYw zdO6Td*?<2q_~c1$aVfTz@7XRA&3|`qY)bl!MJx9lIga>W5N^GEypaaLuwMK6`(D0! z_4T*k;P?IhhrfZS2I3gLyUA(UdybvmxbM_$ThGX(?CPdY#AV*LcHFXW|GpE)y#4)a z8k@j5#BB=a?}O*Ak6*Y_W72fxag!8HCN5mRJt97}5(rvTi<7H}1oxZgx#2~@oXCWh zGq5pop;-bRv=%~YI&&^!6 zddG>gL2)S=#bvn_)%lfm$@!(Jc}4w${UcaLw^u(kW4_m{z1xuqdA8`qpeqm+^ijcH z9&;7s7V;%-%$1}gqf;!2!!`6tC(wy zc#*?7N%0TyxEQXt@mQN=W%e&wF=5j5v3yx|<4LP_pIEu)l(O+8w!EsG{&<7A%O@>e zigj5WnJ#;tbufA*64pZhWx_IrHjh(G4TrmOyu=Ou3EyXz!y9cr< zBi8pnpwQpF{pRiSr%$`OdQviSPF=XZYSZo`mu{WDZN25diA}o?B5|{-t`?p9+i$;p z_WBJZDEA!Pmu=l|HgBosr0FW-CMlRsnzC%|eXj>;nOPzR2}6Y=P37PI_IFK~@BU)Z zeUpjZeDdVkK<^+T97{?|142UA?b^%J(EqD~+MlGAzLHiln?BFc%dfhzq~289tMO5I3-Zf>ZoC`(IC zM}GM9#Vh7**kKu`!0H%MmQYZ^&R7 z9(4EhdEU33AuYLx$Jsz**+~HhM@(EW{n^q%;xfT(sc=dzoF^Z_Q;6Uxp*4$^P)6Yn z5Qheet~g*2x+)Bb^6CW6=we#15g;Sb2FD8+TWciA)5H$2VQC-(gu$nuXf5f?5dayp z>=%L;!7|#XU)Yh!#&Tq1*s?J+kPVw$lY1r2Ad?6kBM5-QwHV)~V9Jt=Kg5Z$8f&3(UcXv;J|G=oIXmGeH%gPyj z5*l!(BVZ0e9{>S)I=ue+>%xkvI)tnVmt`Z1e=uen+Pdei*}Q!7R!GzD+uM72d0~2G zB;x4!7})@Mi4OBApoD@!MPJ`QOJj3xcJ3`JyHz_6&RMg0|M?rS89C^|@w{kiX-_XK z_l-?HYiGaV*qNo<4^CdX(qQ@wjR{lL#?M%`>wwe4fUwBOgn0Pe=HU;*vJZ&N{6W7V zmc1vKdHv?=Cr=TB(%;3@;fD;|Ifv;(Qij@-;xMUtZzHo+iGiSaPSI? zjKRCT&h#0FZ{G^f%ytb5g(u3hr_VmbGBRw^BPY{*eTZeE-t9vy6SZbomZ1r^y?K4A z1b-3i9|)H52$u0Uo?NLwt{ku|h%FVukpY&41Izd{mhqKw1R%pEa0iw<5~^{~NCM8V zv!_SS1RxsF3a~}P8PkiQQ)66V;n*WwjbS?`(kBgv^1@OPqvbnTM%pogWiecNQfwJi zG)o%Heg?>BpKBqB3_un*Mgms-G@+k3UXZ4Y1D|V_kECMdroB~1j)fVSS@9&{%LeO< zqdf6_eAadWwMkL!`tft}%GzJ>+T%fp8cAs)!jhc|2!vk7AIlSH@x zA_ZK7o;-Qp-_zGnTW9Cuwqftl>lSv1Kz;G%o0hJ=u-KHV*3NJ>J9N{^**^e^^PT6e z%v`@^!s1niGZrn}u-nSr*EcxS$JZw`BpBXmXaJccV8(~`_rNk{cZTK?wzR~6eqf-Z zy}hocCMP%F&e=Qui+DcF$W-Gf)mW}dELS;}9xBPopQ{KI0~I!sFvz5$ z#0c3UaxCtZLaY9WG5qi`$g<@7kL7!h1&NHT`RRahntmb9@s(1j*s-Vl(6IZpyII&0lF^F^z) zCeE0?a?6g>S5|J?dgsnvON+Z0`W&5I+&w)5f&wA5WQMX1_|FUuihztERef}{A+O;d z{?^#i24|;^Uf40A2#_&Y*4owIIrwbtj(xM2Ew``%Va?vd-6JR{2;n1;bK=E`!ziPp zerKl+`!JBSU%q}c^fV|edhdzz7*RWWd!E01n^jbG{+`p8lb5!hxoG3<*ML6o(G$Oj zxFa_#HXgsQe8=GnH*MmQG6O?G={D0XC;&d`?)Q_qA1G~5A_Q!~ON zqjPfduv=snmrQs0u^#yof$Jlm_CFoVn12#N9i%O4UxI-4^l3lhsau+BD$DY7^X|L4 znJ-#+*U1?aSaNryh2=kwWg`RTGs2JkBrF>mYH4r3b@uFJiaQ@e7N56Qf`42GMp>{WE@v6FG|C(ZvU~`{YU*YwC}Mw7dX5VTx!37kJypT zlG57@Ot!9CN69IU<;#qlv}pH{^K+N4l~vK?DXJ-(Pnoo4v(bW;8k1+wSh;Tfp_6NO z?7w%%!p7>J9r*XoPVU~m0YM=EGH?d*{*N6NW27ZoHh&bzhI{iLAex24J*+wzEE_&w zKI-a*ynHabq*~oZx6G>`ru`Wr_{F~<|Jq4pT2VY_?26T z<|?bHxAzO%e)`(x6Bke1u?k5^?gclfvppap{<5Xh?$cLK-LQ1=^?&H==VWJRZDnC^ zZ->yPkPy&u6VaCe%YMJU>|G%K5qDms2!r5;+kJ0OcS}=Ud3kAAY}}gN`(*V^;7R+1 zth|_l;)-p%Km#tWZ-UD_Xc-la1ktJp`;0jb2J#3oFj&&mRrI0j&ckq=KRnR}b&3{K7|%!Pm!(`OAITdkZp#@jn{ThPkrj zw-OREhK5?(I`5pnFp=WS;c?awMgspRpL>PJ^^ug1lGTXhD}`|6!YGAso+3GA(iJTL z(QKq*B$Q$ylN2bC<0EO%i2FWt;AD|6>bz)N6Vb=WG)f1K5c(L+=_f!&$61n-B@aNR zNEd;yC=mKNghxiZUkGXaV8ezJI3vCnkzWdezY;tc%lCi>8NJ{KvmaTO&f;88EdRInYWy;s5(|!#&q7|?Z+-onzKYo zSwlum7g>`t)@?JKzg%nDf>~>~tlxih$B|<<@7=Ywwg#==)y3J{$2&L_N!tmyDppq# zAcHm2X#4q}>Bz_x@4LTs_xGpe<$*N;`UMJ63@C6iz?g*q;Ox!2hEu2AxqHje+REL< z6=Q5dLIQXm47iB$Zr_1}|NimY@4hXnsJdnAc>a#{$s2c($aUzN#kMoo&fIhG4vU3c z7d!IEgmeoB&oejgp1Y32g^TTd2TN;9ON)E=?QEQ2>EZ6~@9z(jHCTE8ph1}UXb<@L zoy<@F%3<~y?qfviG%(QL*4|cKSDT!kapvk3!>QB3KKrY*;#fJQIcqiq#3fhM!#k^` z92Q%EGn#rv*k^#VhSu7Kwt7sOl{LN({L<1h5Jk*fOWqsI|Ng(l|HHBoETgYkLTv{c zY$CqxMjBu<)J{#UZI7NjdxWS7nojYHec5Od#;0M~WB4`NT)#P4z@J5NR#DVWf#3+A zx=3-oq!eP5b)sZ60AyiYg>Xud?Ed)*Kr|7kiEu53uZRMiLHkXd#fampGEq>HPE9qQ z-lmNJ8NoQ!MEYmrfPDfwKZ(#URG4Ky17V^fSVjYx$f_R_rSLJ5U|m3B89Ig^gcP{3 ze0OnXHHNv8U>S@Ry?N4^(`Hv4I*_qqxrdz6WiGT?tdkTQg42CG_IfV0XV#oq)93OO zR45g-87tRsJ9@@=+FS&nNvi3Z%~?8o?GBTRT$SZ~aee|V5*zZ67h`^1~s+!`eYRHK?yMbkc?Y)nP zXbJfpJ%fm+nY?K6n(f={Y%HDc-}mzJ2CWRnXApJb=^>0$d*?7mn78r>i-`5vJd}#ME5Z=uVCJM{20b$HFY%wh1ss&o^#f0#C=mt z0alL66X!3!@Aa^m%dGO7T`lTlf@`F;Vxxp_#3L6{zyG(|eizaPl( zJN!Q^8~JAxvCoKp6Lg!mZ=ODT*4EJp%UJki3=tp`)-Ph&=sV`8VcAe;cdxUB)f7po z8C=eCirUT>9Om=Sa=C6Y3Q2m#@#={QJs`8F{v135$O#N>yZFNIhJ z8D{UGt(&*ewCR^_-LSE-aDtiQL;u)Vvh{}~8?zE~m3x=S&Rj*m4T(#+c*pvNr5(XC zSWQ{p$9Ab}U?8`o%-P5PeJ^lR;TwSLrC`{wBmvX5sJpMi& z?*xysmy%63G)*xcA19|7%~g!#zTcNc6NM&Iq$wLNEYV=ggPQxAS5!iI6lF$7@l$r&9{i7=gJW*gY^YWF92Q)go#N;h)IMqg%mi1CynJnWl7sx z1H$+Y9DxH%U@Ok?p=9$Ht!q1WA!+h_I|-Rf6z3$5cZAQ!jto4qt&)PX8@K70PJqx- zUT56g4ZBzDIWBK7o-Ly&t*kkI{_?5owt@$*Gj-m&BbSzK*?;uZxjPmXwzd#j+Pk^B zKJfPoi-4DDD#ks$+R-I3`XtdJ1`LUxeG$OnhhP~v{Yavrb8UxBe#n3c0cLMqYx~+= z`{u*f-^Lmp6WXPq(9qP>G;IAbDB+L84tw+fOP)MG!UgSb2yHlb+Zw|1!)GsEzwdP5 z@~zm6g4T|~z_6$@mu~Mrb>+I1y`7^I8Zmn12cvCAS9f=x2fo1}!3>Jw6pOzXx<5>^ zxW?koV#M%xYW^d!O!#u3`IxU6qwRj!G`3Y#SEZ(B+_ALLpEN^UN&72VRVg){JqM4K zlvGvLG@&(Pt^rJ6MssLeV5EVKp~pl2l#Gn>3gOv=IWhkxf2040WgmIAlie9)#((?% z#hcf)jj%FkBP)MWA~>VROp&Vm*I*g5EE`^v5oQ_9FGE1#qo|PJdAeGYxvT|T_6CaD zMa0$Y+dN*JzER%Hxyf3_F#?q+8q30mXH2p$dk4aVSQd?&0FS;2AQ*`p1Q^l=c>olP zBPo^yU+V9RWg0Lw&Mf5ssLDAxaIkkrs4oU}4hQ&&xyY|as%#THvhakuig`zg+4 z4mU_mt90@5?5T4SmGq){Dxw(^hz2_|VA*?x){I~or35%5@&KB#K@g27D=~7a#xXwq zv^Yr^p2Sne=QCJ_1sT(k4cn06WJwQ|;snc>Wj|>Bp=0?0Vmu!f&l5Htm?de6r6Y%r z*36wH8KSIRxot<~*%M)=W_A=0j*_P-Tr&V<{9OWSo2tsz1xwTojJ}i>$myCa-F{&C zwtX5#UzKu_GQH%tjoYiwMZD zd_hO{tHK%almit5&aUAxaYTJdOD{!Re_&ZtYv<8(m!{8Oa`V<5J6juPS7$$L{Sy-* zQ^$xjT3|Su&;aH?JnJkSoR@6cHG9Rz%?D0gvb4YBR5jRSQRVp8zLk7fZBb zcF;oIcX4%k@X!Zwbj(Bv6vH~HrMVUJG8kR}XtZO*znfMp{QWQZ&wllY8Z`VP6Y<~R zV0Tw<6D%>x%Hxs}w;epBWMDE@Ugax!Ud7M)m&V4D_{CSJ3Hf+u{n-M3YMJ&v)FXPD* z+YG_TzKq_Q5fqDIfJ}&G1kuR6Ngo8rO@MZVMdwAbEP2ZD4C{ghGE_8IA)0uQ$&+3T zt1-g85Vm7NARB{3UO@<1knz1iyx@?`5jXl|Y0m|xpYrBN#Trg1-@UhN$BtlCt=n+> zp!g@bf}@n=UOs;(pSMj{bHm(u+6EKGN-L_HnXlM)de)|0^16oDk;&_tOjxpR(#p-o z^Oj9qwgKL-TMisQcjcO;CEWS}WR7m09x%CP-1{Zg6FXk~0hDuiUVG?;%SItNZuwgTEFM9+r`r!BFs-t^d2~Nc!pX!}skS z9Y@Yxf|1ntdCQh<-FxEN-CGXscU`>zY90Y$9-iLT78dsbjJStjV@?`O~cj#$PZ6seD4 z8GsB^GRVKgTHuGj;qmwX{o~(;3%`VUEPB8^{=NSb-foCO_=lpB;?l|rc$UF`ktsOy zyhj#e{`W&w=7;+-rXyqUO9YN1lFUaSfef{_c3wMuVUmp8RQA|~6nib7y`9HB#N}S0 z_#uYl>bC8vSh*$Da6+uCY7AhDk`Lv{BPdgJ2Otl?o~4vx2#_g9qtzl!8Qr7dqd+l+ zW^B;*){4L~P%apK5`YZ9M2KY^#b~xdw77hfn5<~WPkJ$^Ea{KrUOATcPz>%JFt#Sd z3t$j|{w8UkV z^{39qf^6Kvby8ZUTsbujv&mCdte?1Kozd*2bJp)zv;R19wl7`1YGG+2Axb+7G z!sI$TC#Rya5(c z$>h%P8-5ra7n@&DFnVwOuC$O|m;La!s_NQphmIT1T4Vy<`?h_@uHCzK-}SbO*DXi4 zz=&uN$84>kQgHP0hSe=_IXXK#v!bG`si~p6r*r5r>~WsGdHWjfp`w>J^Os_vAG(!x?yNp4YLUQuCAVLsj@OUldY8tT!lz;%GOE+$|H$iqVQ zd%BhTUB8(OI~-5(;?mNB;v(XRO+%Qd{vIq78DosbvJtC{!AD(PeGfby&eby-&laD> zWi5xqnxb~|1jl&-D;cGNg==dLoGe(jE>*`A1PhFT&@+7$%YaS5GFlY?AX5+)!7@VE zV2%R>%SaF$!@U^6vM9DfB#QyE;d>=Ry!Z-pCFmCtL2!i?quj-zMj}9l9T{B|{1n}J zk|{IiRvbN=wq&`xk_ucT&vV4jaM(w<)Bzr68(;F|%ms6&%wj7lQ3@)0Q|2t&x^Kd~ zWm2m892s>T^OkY@Dp#o`5I34z^1I+ob>Fhj9f%jmDRU2 zH?_4lwzf62kg98Hu4`^;YHMxofZtfD+KCp#rQ4G~ps9UZUUeEl85 zzJB~~hSg|;zHTt^;ufu5+N+-DFDkt z`Q#(H1`ydfhD5~}3NxlM8nh@%E}E1=G=2mSCc-k(l>H=@MTon*TE$_KMwDR%?oWZKV&G(^=t);Vz6KHV=mrKvcEU$oTK`XuBfAP(?Z;{N4 zH*V(X{ZDViez8X*Z~T}y-@JYN>}7xdqt3S0x~j^IOn6NCnax`)p=&76)SI(vU07l& zfinin=(A>hTSsVAYf+=fD8gm|X*dsBXHt`upiZW8c@_-9ta0NZ~R0-`-yGvwfu6 zI=YbQ5)+?@-xFux$IoB9`Wk=QH{YSj#lZ-}DGuP|>_{+YA&kFN~L# zAJ68@V6&D|)JC4fF1`eUGA{`@@sp<3ow-PpFyb(vbmi4v+|lFEUSN}+tEAc0B* zMN%o_S<0@IlpkL$imL`6i$t~@vPGh~%2=f_9T{oUM)NIbHY{25)5@d>acNZ8Sjh5bLMgbWL3&G?P$JsJAV8OE3V)oj}2qk zBYfT-K5si;YLmRo{$*>-CQbe`kIz<6ow#`2qMgU|XRpBhQc7LNX!_haYq#KKZ!&x7 zYFJ|IIfU4e+m`n%tu1WrZCzZ6$#rOGC=7P+9#dUg!z5!fL2!gSL#r%*6_7C=vQM8r z&(6t*2Zm6wM9-MCh3r5}d*{&$m&|9)J9qV(wT(55wn1CPZXOo0%(|LUM}Pbe{qes$ zI(klBx@9_R$+BICuR3_T1Vy<8M%sEjJb%M7E+gC36M{~+pg{kGgm?r`*EY5G^$##Z z7X5dDu9JC6{tNtve*vK!{p)X^KYxiQad!uiqZgNy#ipjN-LqHTz=W%!r8{wkhkrQI z&dO^5WJDoQ-H1H8PA50dc!V$%7dEvv57I{fFh73Pw{rBq(P#E$cs78I*gyCfivOIF zGB|xj#V5xkrDhZq)-*K%t$L6rO5<1Wqaozx0=5_w8;xZ&sL?+)>SufKYv}@zb)vd^ zdmxeP?E}D-R#wF)r>1A+!bH3e*_BTa=KB(E1mAv7CQy<*L55Izp2xp1^uizXZld=( z(F1%E@sN7;YVhgPnudnd?3|{Kc386X48yvz4%q#gSSEE{d|^B$u843_mH5q$uW zoI|D6wb7xGGj$A%+1yEN_FRgynkU%G6YS&jjtMw6GBVjqRySV0Q+xhu!Sb~^nx-i- z+R>7#VFD$zW|4f^D4zT=7I%{P7n^tjCkeS|o?Hwihbuw2Kp|2az`OBB>JhcAcse@e<0~@xwrUvhfSQRr2)z6Oh zAz1deA8TqGYHAxr({OoxvH*T}Eg~1P!$UPXYe-+XNMaDbd|Abiu zlAIntywMYPF(E5AEG!~2I5ZgCWLof0@K+%7CfpgiFmE=Nm6xVwrk%fW%W(Q!32j4peKVwI z6qeOh)YB4l2%DNa=l?_hOJ zLw;dtUO{nXRdqvCGltNPu5M(DLe~Ej5lC<7#*GecB}J2nfLXY4fesEe2H5;~6X@yd z?da}o>+Gs+Xe=qO%q=LYYivP~Qa{a>psmUXkTL&>K<%fn?4yQdpN?ffX5&DdsfyoklDDnyJFprWL!|LK!adt{R|rxEzD<+V9YiIHrB~Lp#iv@qA6=`Y=RLnlLGgX)6kDU;x`YAOzx-+TvwI^KeR z5cOrFIZMAK`uw)Pm*^TmXmvt2M-mUz26u+4ik!SW2X`L?z9{IM@HKRIoH`esnnkXe z2n}d#Z*1>*5P;P|Vm>kxni|1D!N2VXTgXrSdOs7(`X4`b_4iNBFM@L&Vstx@*9>Ur zCndx(42c6DhcFRxjRrDNJN6EcJsQG`9Nixp7E+J!0HJNs)|Yk>=HS}qbE68_7mMQ4!eI+TSX+CM`j{UPY>{d0Iij$>+uF<&J z3#YBzIC=S|2}{AfII{iF(IaQhz)BzaNj479C%O3gJqU}8NJ&j$Vn;+Gp1;#yf!Qi_ z_YD-4R&yr9vJlqkiiLHM*?d#8|yMKzR&b+XZ zCD7Q~efp;L>O-fT!r}rFGGeofQVJ^KGm9RCCAmBd^9had4vp~%i-|$_S4Ab>jfvL! z)r)Vx!SBrM%b2`QGHm?u_?I6C7h!|;J!#NrIXZ2BR$Et8R2&={aq!exCG&|~9m7TI zxA}!dSJXBVzs9Ea+@ezd;NbMkjEc$%(NX2|jAuU+%bGho;y|>431?3qunhUzr26|% z!@DrD4*O_3_Tdi#$lhzm@W0?&p@3zg>K}RxPAQ6BHsK@YK+@3Q@eq4mv>m`XwPZ78)j6}i{6wMbHu>@J@7!hI4 z8`F`EqGkNd9dooV_9tQ)V=Bu~%;1sTGl*ukzp}CZf&W8`ix-Xf-0>XFbT&1g%~`?a ztf#m;D9#~@eUaig%d4d=Sl4vNzRks}>9S?cqBYmmv~M0d85o*${-%YgzKQe~W7WPK zYsTR&5(rN4CA}q;Kpcx@Nkwy{!jT)mmI-G`hoP_ z`=x zXoqPRVnM)4jfjp)%}58Ml2IcvCf9$@re8#o!Yo(Q)Lc|vg^7~nl8nMK^k_lR@v3GM zcN{!oV{MK5DYpLjN;0#v@UDqo9^uU&bNCUyyoFc$AAWfD@=a=f>82y6uRD4@j7^P5 z%gZgV&o6IC%q)&iFD${@sJSyauh`{buzO%cSYldoR$h5c9a070clPoX)SOu1V1En# zD7_K<3Foy>?O6UHpGS5(^nduOMbYSey}hl?EtO>zscD%Oj;<3HESJa*Ur=ydd;%n{Oq|tci!?tM%Q`x8;iTS0ukGRX)!U6~2afcOU>UYxJs1yB z9}JT3{m4hL3=?DjC?F#Z8j61L4`Ug_)nf7`flUA);2PpZgkCy>066l43^0k5;qdKY ztb6EOxKaOs+)wEEPr$?Y7?wSKJoxnI_+_7gWh2!8AuJXLdIr$U_H_>SdHMS##wVkQ;K4iFyL)+nL>3bln~|MWR#Da5+#)i${y@e3Ij>Q?vHj zhDw_8&rtvSpRC<|07=g`?%cJrwsUhOzW(uv356xa&26oC?!g1+=NY+V9sa}LkZK7b z2a+xiU%X}K7w#LKl$29i*V0#7-I|_PSyA8d_~lzD;JY6^iOtBpZSU&h7akCk8kb%G zEB%2dFM9`{kX*a|fhR9s5t$@+8trGDkF5q)hmp3#0Yw0#z)ax@WjRYFHHfBR=4tF=>7#mNm7v6@V1e-3KfK zli;VYjI6qT7R#716Car_Y;=w8$VMKIV3`o4ga<(e%bw6!hGCI@F!*F}@adz0CxfJ( zK879y3;w~U&mKL46PeJ449<(pf50?R3pNtyJGw9X5X**L$wZ^&hm8Lb^PiDe%y+(W zVQWTXS?}OL&!d5^!T#p1j@vfY;Q=8N71Yedxl_d1b2-#9uEaWy#5Rs#H^tx2=ffTU z0*~t?C+DcGeSF?xPw(J_!m_M_qNI}IjMAFu`1B1c)@idinq$5)V2MxTu(tDfPCQu{ zIuambF+e66DlQQQeYiNow~+7`6L^X934~!C#-TvsXXZ*`3Cp1XWcb+#S>=LB)6yqQ zc9W8WR{XR8fg`;AP{LC@d|~UQrFSo1WjbTdU!?95(dk*4Wfc|ZshMa+ zvJ(EgH7?9+69=Nc!AI$N`9LwGwK4lL5+B!10x^@a3U#K;T)AzFosEsteMcWJANcyC zJ;V(i7689MK)(_AZo;AP7rP{U!Z+W3{rKtQj_w|xkm%#Lt!#Y*y~E;?(VMjome#Zv zlsC2ZJbneUyl=mL^Y&G7S(&5fgL_WiQK|X$9ghmD8VV{Kb4qI~o7$_JJAiAi-+Y4| z+*@=zbi4N1m%d+#PM`nj!daV!GhFB%4L?K@nD z)~veG&p!ynhy23grj{18W}hbm_*^V&Yb&j(Y47Rl?(GAX31`evP1!F_njar32Zyi) zBS*b=JF<`c??{5tPw^*cZ+?3G95o~|kKbcj{L=r97?z2$$3N-CGNaS;6LL$F^2^hUD&o?zPaZvKte~pQ64w$FpUGlb^Q56kBHJ-> zsc>;gxLlAkC7mUX1wW#a5GM}Sm_1P=p=kUfphi@daKG?oOUB5krs^d&qpu*rIdx_X~<^*rwGe$>%5aQyOh?MYKE!r{l#(#6r)?|~nJ;}9K! zIk#_c;N@%LCiE#-MqDLczr-FE-JiRE@Kqc8d#*nBAB2S_<>pm1<(D^sJ39F6`J3;) zdHdZrcm*YA=K4h>*m?vUIDPH>9s7$G4rg!MUb1%dk4>p+>g?+32VEP_E(Dn~`uSh{ z8a^L~e!E|ZFB0t)%x0dye2JGpcTZPKb0ZWExp{fcZXOF)ZBa6vGGW=z+FR!evBPkD`i)A0qm82>A6<7wm!`56_*nf>?Y<)~Y`D^j( z1BV}4uJqv@^F2xChm$6g>^mAR8DaT*SVrKCbe&|fMs;-cy19Ejbobe{Xr&2XY8;0> zlj6*$*vlwt9U;*2cJn#=1?(--QhV3$aqtRq@eg+mit!Ck42(?=OU{nVEJ!OX2jklE zhU4_{Gfa@4%a#ac%SVdIg^SCCiA#lu5eC1X7|%HvqdkYRqw7B5 z#0mgpAzy%sy-7O6&VJ@JI7- z_X-IPO-oIMgBZS^$4{TU`T8vs-oN<8ko7;!QNV7bFXOiZrO*7Gm<<{ezKJaurXLay)X{;Hba8PJB4+j~RB!G<4WBVA;QB)u3VEYgvI0n4}L@@(w5HS{%S%$>e^ z^PDx?rY_yEcF*yhhtC~2cJ|t>yB5~A@P>7Ab@24@3=Iv2t34r+RafKb&bamehQ6Z= zKL?Zttg%wFb2~9wcEQz$2`3-w=pAbB9kloKHJUbK|EZJKHdanf&fdO$k&#ik+1bM2 zxKI9inAb4i1}|V7ld?_8XM~?%1ZLGvysrZZ0D~1r_Tok1*aw@7Zw(w1!j~LKgmY^iLd{2 zunhl%pp{nDH-L=O)7u9k>(9=Z48{K=XUz}COme;)AcZj#M@r^S`Drzhn>!jHerb4Q znlE9H_ox@AFxztXNl-g^f?X7Ao2v5W z*$XC2o-U!P&R5YgnYDEK>P<#-7f5L7a1=Epba5udyk$x zf9dw!+n|x%C$dCW-v>USVIe6gNri<4;9lT~j;FgQ6!te7rs&rc3F7@RIWw!Fy%TT4 zv>i5m#{|Eux4)vkY3H%ilNT($di%DWoejRQhk?+sClnVIwKO-A(2!v&#;1S?^BRUe z9O~=dzCLIb;d7s!nH>-j0e;z$3%3rPyK&_5UFQeE`DNAre|zr%6-B;xi@vq)Tlc>A z&iU>=K}9i*Ip;uR(m6eqsOio|(J<>bqCOxb}D7jf_rGQgW1yEx2Tq4~fdKNgmfc zZCiWo`qi?s<|e`=6L5z0A>EkXXHOOpxPJeq7z8vD(ZHlbfQEj~@bFMycMsG-vI`5- za&j?NQC(S$0rg*L!@d78&J)YJZ{6zby9F}N^zRMVi}!KMr_0%z_t4X0fj_%`~fVRxraaQ zOx>9s7#)RRyiY)QkedhR`gLq8mLFUBZ!y*t3atNDUd_U>W!q^hr?W2p)|bQVd?TIw zV_ZUFy&@9>sp(Ovc?tRD30JP!pESAn%{u>8%Y9cY^Ifsrf5nQx6)e~SR;=_}vC?M+ zi|>k6zWAGEW#EbxAN-;D zdfHYO6iv=pyLoyA_y$28IxGY-t&mhiaUDQ*9r8*bJxooZ2}9}*F6eMIAy)RofBy&# zovebQad?yf%jiHx@XLrMz)XH=1;5O3qtjM?{)E+Le0*GXPWIL6s?M&icTINR|JEWi zO@wBI7VFd$RQ@qXU0+upN=-g#Ve91KeYNh|!^cmFF6H+imc1OGn9VP3aPg-YT05(l zSPH3Xvr8)QDymyv@-8f^$j;6xt0->fhpP|HZ#zg}jWK;aMkBJ2!JD@6)dSmhM3|-r;t?9sAdB+r4o=n~1WOsIvM2e&OX?b}ieoZyTowpOP+YM?_ThV9={;eg1@zshx|f z2mF&D;1dx>iKC>X5t52kRaIca4)oocqKjM;qmHlUKcDoU?^qD(f4b4tb+fx~f*2!t zXPcfI9v$}!i)7;$advSF4hVo^by8ANQE_o&b5sAo0GaZ<#sKCI7#;rrOn5VT4Ii9G z52t2lprMeMm22+g>Kzq*qpJf&aY(^DfB9-~Y%)E+*u^i@-ZSi?Kh?=UO5OY%pW+E# z1vNGEvoWbTw8WJ7gv6YJqT0IpcRf=+=vM!L{r)s>Wgr^S5P0zd`6f;`U<*wi#G8;E z#|wWjdOmLlRNr^S=ZR&Vy}cc`ZV?Z(=@}v}o0+C>9~PJWE|$Fs%}Am@S^TYX>zEDeko!1=q3)uUo;sdX0jnnY#IT9VvtPB`W7V>NZ`KFx+7)|{Jw;G7OF}L~NHT>>D2GEJ{{Y98 zjk_~hH)d?uQo_boBPyKB#U8%t8xJC>Txq!m7M82dpmVy4)p*q^?KLbqd-j}C*XNax zS+#Z7=0ish3J41v*I<*7+qie{s`VS!>^!iAM~qwPq@=dF#0dilb$#`7w%QgJuI}!^ zfhduo(jN(f@#M7R!XiQ&7FRG7!DhgQeL#3~5VV8$sIPzM?S`BW-JopLTQejEU{M)sIx`{*!N82gYfIH5WrDo?$V$C1nGHBee}J&b}dXCrt%a zv`?Hm=N%On8J`paS#T;XEigt@_okc8)tW$p0q0+69zM%T1JfJP`=yeW;n`^O)#|9_Vy%OL%ee=q_!BL5=j z8fXFnw(if&5fvp+knp616k2^#^VQmhqO$V5qT;N){EX~eXjdj@WTa+gC1+=&PLWku zP*7T0UR_hy)YRVD1)DhRGbT765Y$<^UmU1sVE?1#@PHtx{Vv7-SO55~a_q0nnaKVo zIa&ZLLn29TD2lxqM5WKwzuDdnoZ^Zn(jS8KG&eFm4ZZh)vGI<++f@xMmggO{p&Y$= zhv<$25*xR&?bsoqp)aF%O3~O-)%?7sm7|`mi{S+?b7xtpR(NbN2y$ab6{D;SLzGe>R8yGw6wb9=?V8*_$Ng~M#jcbNrQ2cdqH}0 zke4qbBKuIN`qTHL@{eb2ZOe5OM!>_EB&ZnoMrZD!@Q)?{Ei><^kf^DZB_^mMA|ex# zlJW`)>gc-uWJ31`T>n4*Y5INpZV6h@)?2M33RMZ{6#GqQ3j>9#4j;Q;}k3p3+C ztq+ld(+va=pkb)v?dUUZqle_k?T0GO&Iik|bKQM?9ld?yL`3$dSVmO+f3>|klKJ}` z00P49AvS^D#td3}82Ls&Xl(puXZO|W+T8qtq?FW%s2E@WfJ?6K=g!-kp0+$`WTvL6 zD8YZR4hzxbH8BAG$6H5$T z5-K2s#u1@(1impgD9;e{^T0Av8gOJ{x_@-6cW9*h_7L1_8e7}b^9wcgjSjJMvF|#h zBPuH^qadqiDz0TLu4yErcUr;7O2yn(%hK7v*7clwknMR-JvKIDR=^PWUn|eDuDbZm zny@2>@-*}+EUine&lj7W$x%BI&&M6Sb&K0d7AMw~POPj>tJgTLVs*qHYu21cM!9;$ zsa4C&SN_|Kl|^^;8j;oO_O0J6C#NEL{KS?cT>JP%1r#-oNhxhQ#IbVAuH_rIt=oHW zFTXI4tP1ECqUwfnMiyF@HpXYIJuZ6&!^en_RE(n1;?puRimzOO0|*IZ$lyqk>razf zzPXj~fNyGT8=Az^7y8%41}q!H^wQM5p^<45TgPLPG8aAE=(39#Jjj3`eQRqQc8@Hy z&pTAa9sBIri>mr&YDyNcEIcmddS`!eWkXa-Zb(vgN^wPVcONc^!HMaT+D5;qI4AFb zOJ4rL;n6XaScp&t0m#C`D3sWgf`XEiw5*tzq=2xffQYz&h=j11jEI;lub{{=K0!`i0S<0H zz}eAbJV!XW_Z?-&w)^nWJxAE!m$7x<{%>~dT(@oO`fXb`?AWpA$PrFKK{0uGZ9_v_ zNBiiwSdh*Khll8Ow_iB>z8jR?eRLn&{l^d9ZV&H~T}wiwjM(t;`uz7T1a&UAE;%-PGhbAWJB5pvmxzWj)f#I>FU(T{#PFjhUmg^l#Rn#>TSJxNSFqF_XkqGz3mZ1rfAh_SHEYkWX0=|;V#B)JmKEhN*0XC? z+p?~;TebH5n)PSbtu-Vhx0@BOb%)q^!eV02IXSY+$aBe`*v~Jy zcKiNi>o+aiv~|M~&SQ$|oU*F?it6HO+DfKY$BoZeU%Ke&=NS;}7ZMr_!wyK9O$$3@HH@lG; z+#wp-#WhX-u_+$m@xGyyz>tuL2-pgHhXnbBhK7ViMgdz>Qd08rU^-Pr`hAcT;tvg5 z79Xnq^cTqr8X+0<_JxBYU0OaA$nab9z%mT)|JZZuR`;#`cd?9=PQ<^EIvKy0Z2nF| z^G&=qHwTTNvDw+Fd-o^r-k-krprda9VjyR2FC14_mseJnKdvMzuOKNYBO@s*D=jB0 zB`YH-CnYH>AucT}A|WIyDIzK*A}TE?EXmC)%*`*t#V^FcE5OMw$j;3N6g$j$jGc#{ zgGYc{K$weH;FzE=2cG~tFF!jGyYX=F5&u1k*o~8uorgzR{lo<)$GoBf#88+Jm?MTd z?;~Ej_qJZfn3}r#5CJ2uMRFsk6>kKu?}BWB9wijX?#w~`0ux#@b2HO((?q{)7NhML zA-**<3KGDL-u~8}z8n1m?fti}clI>i=(^g_f+4=-%)Ic}MDLJDJ6CT5tMe*G<`N(} zh)Zu|=i(HR*~iZN@3k9uA3f$5M#(L$JLBjnqiZInX(*v-B&B7lVr*k{#_xeRj>tGizDQ z)-E?$%VMy0rS@7Dtu-sP)~%M<^v&+g8&@}Tp3NL9UqLvcwdCyh;o z#3aQfWTa%|#l$6LW#r{#1$g8PKA6HgTRy%>nPE!Y)yt1m2y1JUC zmX47T9)ggr?LosE^XiWtU;~PgSs@+Hkb4r*7E)aZr9nO$TA;JD0I7F2{J+FtDP}6~ zOx~G;A03$5L-5@in;ICM>>HVA?;C7r>nv|*fi6N!O7`V2ijA8uDkG5YlF~TIC8=IiA%sW8rFmf zxmUm%H^1O2r)wgqX)Js4l!}g-{DDK#Ygwe%u2fjFQf>80^|h@+Ari}O+=QL>$oTBN zan#7@|0PXB9KDSVkAfCN@$?_N_)E3P!hvhTA$iXvrz3&RB?wNeYWfh)76_Ny&*z%Sp;8 zNMVzfmz7hHMqDNXkyQbXU!%*qDTq0{GVom@OAamg83(37d}fXd3$^xS=7?0n`v*!Ji! z67%i!QXS}B5aF4fB(*DMXP_)LMKl)YhGEk%G6oaoj=sV6p4-hgdg@zl)?90=sBg)y ztVu2`retOZ#M0bC!p?j8o^o)}v#^oVHV{%$=aQ5MTJ7TE-^InZi<56R7yn*vLHx^p zK9K{w!iNP!jv!zZ5#<(_EeRyeMprK@UStaI8jJTciPlH%$Ya>m+W{f<3rcI`5= zyKwfRt9LX-&Fu6cK2d399qUWpc9(26$eay>w8jrHywR=c+vtX-wYx?E@dzg5?<$Zc3BuwlcI&0Dta+_Q4a z&Q+UsZrjTtBdcNK;8{@FP*~H1;TtPApToiuYqsuQfuYNNY`cWS4@t>$$|&*5sVL}} zo;>4t(%iz;%hfl)J1CT}>+OYm`QY?4!C4{Q%Re+``D@T+aes9_SoZS!R~336ZOh2Xb#if4R958|5*82^ z5u{hX1jVFHq$8w zS3_$@byF*O9b=K>T9CClBrLm|Pi)6Ap=})eJC6zM;Ss{1^g;IyiWd`HODuuSK9QA(w2=1n>R^r+Q`3cJLk@Q zdv+Y$ylwx+?fbXvIlAirw}_~cx%v6z^!)1P8|4kHiTM>5yu&$UR5_&;_HuAx zE`LB$j#EKJR7Fcs&qVKxjfsT~hAiPZ5*$jH<0ix>WMpJuJR4rzH`@vB#q{j-gGUdZ zeMP;Ib|^w&9g3^O`W%@n%Y9+vfKkGQPjk! zn3w?n%RvF&;h5!$j*d%6OiNEkCSF!i(b#yc{l-l+Qc)lSiecdR(W5s^g-^X`@4viD z>Yek!GSuZjfG8|28yX&+nY#y#S?EfGFhy|9re-kJ1VO}!nW>4{DdNBQoA`g})igqB z7Uk`!f|3$1Uq4*~LqSn7ZhirNVKGrj8DU8o5lIWo&AA+QR&-wdMH>Hja)Cms~EndwBW!gJA{bWkN40ha62?+_=nOP8GYiw-9xHx)(C|Z-F(G36EPaR(n)?GjS&^IvHavNQ9*GQ!vmBu`pWn*Bw$v-TIyI$m`54~dLR%FZvTuDjOJg}OF|L*|Gw z69jhdKOj`h2>%gK4G^-;0?V$})o14yq-JKrBQF*52-$hLg;xrS%Zjg5l$O_2*ETdZ zwOntzas5X7jgC&>R97!-x(0?v;mR~VIXgXj?+%Ds$PMq@zmM2ziXgb52{<)8L9(&> zTf4epyjNb=fCpT1UU7I*ntNE}1s{LQOYSBYoOCU$)y*vA^^C;Tbp(~v!LH_%Ieu77 zW}l$=P9CAHoP1k3c(<_gZ0F+N!z+AHNP=BlmS0Xq3}K*#u8N+arpYOT(^h8ZY%DL> zTRS?~IXgSKy1IILczR#<_45k|1XcxsZy6pI92pTB6CFXJM8;C0VkyxSY_T!Ox#HsD zV3HOe56RNR#N>pe)Fg-mK=Th~Kbh&7*%{ecnOQm65J7>(MQ%Z1VO&D$<=_Zs|KQxJ zdP#L1IW7H*K0)%DddoI!UA}qeP7Yo^S>=;f=Us!N9DPEpoIPYt=4mEpMy_Fn$LbXmPqoU-aLvV`G?yq>AD;Te5P z8)rAyfB+w&ZVh*F+?jOqq>8fg=4(yl6d|d5K}b{4$pj>y;FDq*-DDa)vR6H5t#tK4 z35=BXe^dUSLSTMR$H>h7k}JwpQPJTkDTJ;+CTZvbr}yAxI}b&`w>LIHD@(~Q0Ye3k zy+9{Gw<{sp)}1h`Ig4Fv~@u&^wiRm6es`bUiw}qQ4l|_s;H@}ZeV=U{4~mHXYCv=TynkW?sdt-%l$HeQr>>P-u`II1qFg%5EdF5 z9vU7M5fK$00hz0qXp}h+Q&Fk0@kA^Y7atcFPm4=P0GT8)B?VBGlAfBDm7bBEnVFN7 zlb4fEU{pTHy9MCB7hfsH(-^b0sPe+6<0^XZRaJO6*Ve(m5xCx1Ro4jJ=%5&?3#4e0 zv)Dvsc_bBmB4cgcF0+eDLadc_=l=EkkL={+Q#U$oalz%(d1n)AN8Qub{L+ehj|u#H z%Z~rGeAVCnxpLLo9UHeCIkKNaKu}Uq-B8QqtiFW}PLqqD4<$J>x2U4Nv8}y(pl5jO z#;x1UT|MQEEwr2~R&M@q-aX~)3Bgr1VF^q-^CO{_QQ?tOQ8X}DF+6p~*1_wtk6(bF zZ=i2jWH_K2(43!7RQgdML+cGZb#h#Mk?%hl$b#n!91!LBAwIK!6TD(}UOW*sPoKNs6Jp`yZD4mXI5sXa zDm)<2J1jgDfjAyyNW*c)$!SE!bUkAVVjcvAd0@fk{*e#HG8`~bgMbhD^KU^88Xg&L zZM$AxQJ$Nhi(599mJksg8xR)h;^k{;=csLbN=ikYOGIKXC(0{F(0AL(#&t|oT3SuZ z)W+V~$3GG|(Nq1SR%x3vEZ}#LlygoqIbQ@75#S+mCQ>JIuZL;IR$+IJO+--gcCGCp+Ih zF2O^5BFDsJC6v__G;}o#%}lLqtQ{^ox_Wy01o-#|2LhH*@&&CZJOUg34_jme0aMWt zNd6)z(NS?R(X^PDI0_{`E;gPPpFoRGN{CNR#FmhnoRpTDj9ZrosWLOOva%42UVh#&iJ_^v2L&a**?U0U$TTu78>BcCaKUR_1x~dJ=Q-wb!%k0b6~8#wKKQ8%Er}8&(hY$GeF+JoMq?!Wt(^GI>rO~tE{f6 z;BmdMS zp@;eU>GP*;o!z~I(8eH~mdFH?RK%XT`{<;}sX#oK!b0O|v3Ys9m~bY^sL!5an(7V9 zX>KhUh9~Kf8926WC8J(PzT997|AOnWp zzI_|aVUXZS&HFEaK{l_Yo9Bn-iDh_D;GuzO1Dti-a=0N8P~;cpXJ%!lf}fL|l9Z4L zePJ3kA&wdsOO1<&it-Bxxaj6;b^g4Lv8mh%4Sp#Z4pFiF0z$j_1h?_<@8A{M!7sW8 z1t~$v{X$ZE_(c$w@8uQV%`LPWfA9$H;St==FLan+_z1r+yRaCB0R^Sy#pRUbRMb_~ zwKa53>KmD!vN&sV-oeq?#TCq26m9|nL7N6?2<@TJh)^h(5?e$>D9|b@8Z|1Eq7Y6| z=*23eey~AA>W3;1@*|8EL&6~~mB{m-< zKdc-7#aem6d}h9Ig-m896V7=#?Z7&-bV2wZEVLhvtK2IBG(h>E%nT zJBlDEg`gmUJGQp22E?2)h#VIc7Zns1pxBdz(hnkcbcc{>L8uBr4J|${J|Qjv6{N7x zNFU!I2Pb!PD_cFIQyO|E#CFo;gubzcp{b6kInq5N3oG+;HgFrWc5-s^aCf`x?dj|5 z9S{HtW^g!ADKb0?@l#YpWE25UQ82eBPzry=L`P8|EIGzvI{ zhbjqGBu)X}0aM5qaATkkh4KepgpKFK1TqLb01&N^P({~jno-u*}SA3T15 zsxye)cp)#t3+s%L`ROURJk)vm1s>PZbMWy`$S?H>r%G!XpnwHM9YZTSdr!ZU=j`AN z0(aFdhq;z*-2Pvz>;JY2#y4C+5i!?0x;t;(?id*C8XWB#owzkN2@4zyNOkt#?&!ab zys~F_yuE+4`g&(DHPP7GK~O<;#g<*GF(`iY*kNHwX>ENueG}mm+6o4yI%XF34ww7_ zE(Zp9g@**jMnxrH@;Qx2l(0%z6!`TGkBwr~0Xj$!b!GtBqTif^)X$Trh|Az!24ji` z<5TyEjc!%~EW^K^wX+Wi3r8t4Ej^{8q8#TDrwI?~?_MCmoHvjW*$X~?vu{{V+jt+Z zu!^zy>5H!B_D;SiNTe2chQ+1i6yVZJNlnYm&8vsWQ&0EA#5imxzJqivJ%IfP82$WV zXJUtzTJnwY;(dwIBpBh-LC} z^Kx@?bFy& z78jR5l+dx!Au2T~B`rBMEhRM_Ss&*9GKj`PR#t9yHhwi9X?z0%&k3X$j2C@i?b|1hAjmmUR(bWjo12t|*2&Yhl$3l* zX3<$UU+_Zs&{D({m#VtzDGLot8%0BNUU`)rY&@%X9z5&l+S1;6y`wiVJJ&BJ+ABOf zIlr)La2VDzy+gyjgTsA;L-_B_{-K)IZf{D0JU*+ezU`R6E)ITvNo5HoUGQ(kwG1V- z^wmtv&pJ4`dwPTffL!b!9)Y@bELfe{S=sQOXsB<*DMkX)1dqRZ*S6xm{b}eiYdwR&ZC1iMX+xz(iWh9op zp1S+stjpyi;Qtw$JNgHoz2qJm8<$s76C9uJ5)_`2TToh6RerUysTqC(y|XiuPoF%3 z>B%DShv$VAOZ`Lh#4<88BW2YPK9EY@4B?L3gM)}k5Sw&$cf%nSH6S1Y)Nij{YXVXr zxIlFP*nxNlXoBzuDH}=^Xxkw;$^-xrDIFg3h?`I}N1_L_L;{-V=tSgtL>QGxRHlH6 zs7nz^A044^JE4Y-DmoEMA?rghRaI3@RMBhjqa;Wno&rdb@f3+uWITlu6|Upo##8U& z6d6yEP(?&kzl18_6kfOu81WQ2E(?qzHhSVf6hU4QPhIjw60FGAZznn4{TKR^<68hC zg1p?qB4-b8jgw{q(#jSWFH>_%E=MOi2Spm&Ut|-L+QxBg3mfMijA}_M?B^3x)IVKV z)mYPXRqARXq#IL5OU}$>wf}^{;r+)xgr9}5Fh7y4=8>b4V4`&mLio6-&C!^xS zP`LgGMEJ=2hrqJu-+tTP-Pdy)d>t4g-NVKhW5PV7w|@`@AgS?Gj3prAM&gh2I}d^8 z-|Q%|(;uF`_%5Tk5}ha|0~4QUs^vwusN}Rl$d}hNc~KJlXeqgswN*_m^=<8){b*~A zKYDQQ<%{Q#W`sySUC{fJw|YNveV5e7=Z|INAQho|3u~-z2}Hx43{az+=H4Z$JTo(h zQxLEK4iLW}+d|F-us~>oL=5l&908yJSpYEzh!7T`^92Y(T89^44lhQ755Py3rI7BC z86V!vNcwyl6KH@gn~ z&wniczy6>9`X7J$`~Uc_fBbFvDhUPU>+P8A8SCmBXzuJPz1C{$9duOggow_mL$c}| ziW+>X+T5yIB1$@@Ru^17y#xGxG4vc7790U3MM`u^Y63+1N$DOu6>jzQkHeRZJ}XXo z1${&laG~xI0?Y99=;(k>7g*C8o3k9Gb?)mBKILHZGE z0RKlD7f&TUBd_r2OM#(Y5iwUATCcVDmNwliZoJtuGSfdkgJA%OWYjdZ^bZb!e~$2- zuHFSs`uC(Q=DYdkrzWy2)Y32h_sk#5$cE<6h(`A&AYZr?aJS>0M?QrYDNY1X07d{T z5ZVAW03UdU15*HSxPX8%z&Icd;v--XU=Ftj88_iYYECk0=XehpMv)bCd;{PKSP5*x zcQTSb`~;&o#i&n_AjQc0$fS?V`$&W$gDJd7s3OtoO-MyAWH3UiU)itzE=V!X=*M4z zq&f;#6?LeA+x=CQl}--Mw9Fz2HT`w_Ipp=sy`z&{!>E=X{*K|XE|i25XC3rxT-y4E zYMR=lPUtM#wDWJvSO2fS|MP$T?SKD$`O5$MpUeKg<*OoM<6xO_y{o6DwJo8jR6^fe zz`#=CjN<_neReftHbp&tOoW+PnHgFJ`-KJtf#n+r5-jwiQC%u3E`YW*$%i5}$QTW{ zB~$L9OJo1|12HGpiFviRhQ4pHY;B;zGg|LN+TtCY%Hv1T&o9 zzxv_9gQpes*G$fxcf@2tV!Exje@Rv2!0=?pt>J;;=@-w5OcvML$ix(eD+(&=%4!-L zT2bCZ7YHsZ5718i?z`_H&XeLL5hmOfp_%qDMwg@0QQWPciy^BuJ4s z^{e6(ew36(Vn7v%Rt%haw?0MwP0EkFTZsJ?S}o2QdUuft>xUQLK7R5DgY5(Tw;Sr3 zsnk?TQkLn3OB`adyV>~^bdAq>1emz`7+mz0Hnxh)$b}DM(~T|}b)Bt8IhSwRwr1z< zm0P#{gLUnS^_%{&YVApr(>Jz+DUwf3!b}M;LD2dCo1l-; zOJaXm)51qy1Ir+>1AZBuia}8Su|bXz)c=awdjHUn1;;X?2m>tp{s%lHF~$qdwxdsg zOK@}`H7hx%WMF(8Dx2N6hUe}+diDB8JRzSy`)*`nwyC|h=xTj@c2RS8|2W3%?mieL zBsswh#}oGn0tBMJNq?S_@jesL-n|DG2FreRSN}FbAww9VEcBWVbKifDvqEAVDZobN zZVZeA7%_Av8HIBOJTc1W?`C{t()VsuMFxpPNcHkRR;kGP?w`IE8Mc1+=dhDxXoe#t z+@V_2Djeh!fNFy=C_SLo>_f8(q~c?I{IiCr;bRpK*{iv0AzN;6FF+T(_Tn zr+^rbn)YdTKMbzhIygXA3j|=~l_&rpqeonfwg-}OoFMQ~aZ2HZ`03dEB$nX`gE}SQ zWH>nm=UWgxKxSo35&Yh|kythaEE}bZT+)^P-(uO+oyNACXvbnGuCSmGIVPR)zW{OB z8!Y?r2ZU7+TOXa8$}hj_=oREofq{8xW%G?&LI^+xO}~0EO6l*G)qjOqO97kau@4M5!`1xw5#Vg* z_N{@|>oV>7}*Ty8D~E`cciCn7a>QT}%p>RW~GO z7q|yTp1tI0?RweP)8E9-P5aCR!*h;carBQ&j8CBZG(}EmlH-|wh~x9P#6IJXd=f1C zp!N7wOvJ#rcYAz{3i_W0P=9(OeY%_NgN}OMZ~g_GJ$^hhJ#!mf$o7uvn%eZ-+{pMu zzi5hk48uw(YirR)4gJ<2cd;dO8IUxmWC$}}b_hD?Hq~==j)#m8b z0s&=RF)cF-ui#z$V!H$-4oa)CDX2sJLPtf%TEpmqsa0r5a13N5GSbn0K?fMLIm9n? zJ6@v3PZp^Ebn)kX)MRlMotJAZ5U;#FH3ehVIkYSqTdqHON>paaiUHAZc>T`Q5s`cn zSO#y0>m5D7GEy6ZEc{O(-<+C*(7vmW4~<66%gI3#0~J_QEfxgJh~yW){ljaN1z@Lx z3JK;nsvDaV^Ge+#Q=9@RZXr=&@oDinMaj8W;?whjqT>T&;#2a9OR8#{+uCn-_Lo$* z+IdBas+?pOS3It3N=?u0B4~?!C<>#n^2XF1$NN#-k&ihiOY5_LJ(m4xe#*eFrL}T@ z-QN5L&ZdWlhPpaCLEbGbuSm|!_KuA5j-gx(4i%D7Zf(ECCnB$?ZF0ik6dRwIiIu~l zgM8;)JiSArDr%YwtFHwmW=fwl=4fW=YHRQ7 zbr~cKu$jn zH+w?B383x!p^?$nPFU>_jxZ#a5o1j7`kkD`w1dlK@3^?w-0Uo{caS*a+eiiKkB4T) znL_yl&_6ah+|hm=491+&D*u>-vll&1UvRc^cC&W&boC2M$-UCv*AF>{?_MHde|7)C z)5^wfeX^gyi>;u3Tt~KuQEm<=UFslCtvD?CglRIDKQYLp-AD=Jq<4b{qEY=a*O2cl21X z=-}q=>>KFk7aS50 z92^r91_{1Ev6>A%=wcqSOtU{V9 zVkv&D%};kP8yp$y?1gkF>2U=(BPeE2lpULx=^7Yya`%X%#(>!fmJf30w_MqGF!6o% z@AuwA*7%SKk_~8BK8%eF0M2S^t4gcuF8T)Rm|EzXSw_XDVx;UbXc*tWz(5Uz&+a~c zl2cY~;p`=@Zony_bVN|X-sP9a%TS_CXZ{`&0OZ_BD{Mo_;;ctwO%cTftfs%wCp2hTvgwhXmaPf;%C&yWUuESR8`8yDqS}I|L2xZovb=S==Rfg6q4_zj){4)J&b3 zs-Eti)0Y4$qWaLmL~_5xibH=9MO!#tPkcX+p|>2jt;wwyP%RxcnZ@psz6|)C2Kumi zbO539c811E4v?u3(8_)m3*txSDshxcIsas5XO+-3I}Y>3$?tuB-A;BayAU}d|G-q~ z@Veu5^3s8X%4mN)1(KSy#$N2N8;mbRb zsiB7HCt#9O1O<*c!R!)c!ihdotAkt95-ysl6mBl}(>abv^ke@#Yo!F^{YPti0&dM zI{^|=pOQ5Liw(Fej*Tw`mI3!j_7<0xZr5pNO&e@m&=ZnN1M@lR?T_<|MOP#nXpyGy z9EfPed~Z+t2hkV-36Qv3z%_-g9>{WUFlq}SA*%GHbUwsP1mte5VFZZhadT7W5NXWS zw~q|s=^d75H#QC&GIOd2O3|5d?8aRADnU%^06-0Zi3vJju!51nG#;r$4A7N4`TA2= z#K$dE#ANV>qBu-Wl#@6f3#E4PRt2(Y7J!vZ?Y3S&W4!VeKNtAB^N;?DX}J92L{yv+ z3q@|u$K1{`8}suWZvj5~_sOmR7Nk2<(|SlyBUJ!$uCuip4@hwO$_3$h|Ig|QrHD5l zw`cF=AKq!FN=Y$NUe>$eUq+L=k{ED9`$cXZd`sL(g#8n~xt>y?sQ)`x=wiHzs~{RsyFR+2D@oy4092@% zl@uPA6&zjEGsd6ORfX;1aDbo8+p?3Yb6cu7uwxYbhn15#FE@6URBEZRs;aM}Xw?et zs`8E#GYGJ2OFa$!5T)vAEgHz(t*H0k<~-7RK!}cWWFJ?@sJpBVJ1Y$*9XCY?Jf=chy-^Ru zlLR1T>_@)G8a6`2%CI^6GcfNe`rce_lcO{yD7+~ZRp9c!WR3tM9@_5@pWYNua@%lv zPCnSP!9!-**4nM8t?5ISD>S9buKc8Xft#26;pliUeKSy2tugQs&qWc7weG%~n=4NB zSBQ+L5K8K8`^*(Av7)o7+K-KrKjn?#M^Jy&Q-lPC)y&mV=eX)d>#F^l%eQ>0kApgTJW{I#3iZq z6%(7@q9$z&#!Ia8)oVS${gBOfF52KB+F4y+TJoLvODZF@KLnu~lkmQf?%g6IH6Yw+ zpdGHSQz7$yIvLCpdoqn4IFauXt3Ypgfi!`upQtM%HoG@@mUsn6n$2HBs(5*G*M)Hn zeeUnaFeiPUFX8w%*@uNH>dAzHNgU*yej!|Hdty8?+i%c(P3|wC(gO59A5!tNGZUjl z=zY-5&jPnyl=>!BH+%drBx{4@-lJQfTAlq)3^QEZFE|Qb-OX_Ic{uZQ^*lc$PS^ip z;BtF|6%&1niGBU=4htIqz`_VNVJBR!xWa(O2Il~z7CDeG<4|V}_m})vrP~J5{;0yU zP(@y*_XUYCHXKgnf&utQngxg}s>g@|9v+mDr0Yq#((^qQWv@D@AnGRsbsN0PPWVeI z&^}>p180?t3`t3vVJNgmjXG6986(61ssRH|VT9;@Rj|79V1#ZDBd2|)KQFs|Tnzzl z-@{ZPAn};i%I`G7+^yeR>N`D6oV>a&7O7okZ)-Lx1m3+CI6e*ELPwP@l;StZC_0m& z|BbRSIrxn82#qEXQ($&is0LdUv;}A5^cSk>?VzX{3+hmHb031{-3^{4Wri({dc1Cq zw!xY&?*`3s*Iu?YFQ_O{jr$9>f}qg8Q72>w=kJ@)bD|Q7V+(OwqwhMb7!s(TO5@CZ zHb^GYuf^dNU*0PDGcng(wVi{)=%;cU`*e*td>t+JZ`So5cg>zRQINO>cc(r4^jL-Q zFJ4Mfl2Y{Tbp{7vmOv1y-%NEiWV}j>9p@Rfj!i9=23EIsv`MQq65uZ3ls{|b?Ha3a z?B~DCT5Kd^LZ)zk{T;ZHSSQ>a$?@Yy@tq#`aJGYoo9PzX8-YRkIjx5zOGEfVQb zWr}>e<0JmMp1S<>yQ0;fQCmUCw)T`wq{jwdhXgTo!v@YppUy3um4AdM$2J6KX3dbX zjqM&_lVl4DUI_bzRfLXzzlDVSh058g$+gw?I*LI9#c&NG={PJBGjJ2)k?rXeCKPBK z!;M%~uy!njEaj-_rl*QTbkZ)*28J3yel7>ic0mmnM!n;o+C#QQYMuTViK{nas*LF{ z5n-wNdOgW#z~R!c@$zGHl60yqydgOUF1Rl;JY*b1eyZ*vKXW7Y{H~BmwrjE=Uh@efZu#%=WgwIEb{eAu+Sh`DSon z_IGxy!qm~xnWMu+jLP^FV~xC$ie&vPmC8kbaF~s)8&67_DPkzO=$?XjZ(G2}-)IV# zth1cS>dnCQhYVdABU2@or#8WF$NuEHx0lDs)yz6E%(g0d&70#>1Rv6m$cPwzfC+K& zKM=_-@HeV0a4U|p1&KnZjvG06v=(Pd@fCKP)`X6vbndP_g2STcUF3!SZ4Oz~R#e!W z`M1iuz=nYBGjVc9?*3-kMf}L5PBJ50Nnuy0TbJy~o{<)Hg3A~(L~j7`8Tp=jI%>i!5={nxX=8=SPfS%d3haytC8fac z7HAR3k7)PQwaCzZ2(D44$-mUJ^o2#qy}w_0UZ}xe1UUKl1tq^&((W_-QYMYDRJ`DN z#=MP+wg~Jm3Y^VHPK#54SP_wo04<~Jj=l+w!!`eZxZieFR!Ez>5h`72Hs6%ayS>nv zZI71O*|?UTXQdV5*~7V>_<#Sp%Hh+)sP&;w-iX-5A3CUv2d7qHtB&@>MPSn5E+lwQ z(Zw%;`wPL;F$ge(8S!gYf48kwSBAk9pt{-Z>^naTbLCI3OX=d8bdrz=DPmNwAgh3C zp-IM7OXAtDh8JWbO!W0v+1jiBp4}W_Z&6i~&>mUl1@eJkz0di}#K&etf!%QR zsdD&`ct9sk;qr+)txZPVm zVsM+$D@(Ajzo&~WHpK?y;aB2Vd*0aBY3p$Z>|n`}A(h;QqE(-W{xq^-ygd_vBs+7b zjAC6}2*OmC*NyP?xKw=A*#Xf81JLHr9%Zstj!WrZ+B#-75D#!*XH_$QE^m8TvHQBP@P`@@~$D7kK)ara@LI9`RA-e2!S#U?L37Z+N_*AmL@&fT=Y zm%8BS#%_9NywpL8 zIx6=6_(!%87DRviLjqWGF!{<=2e`v`I4%vhxISR%5?XO+iDmxuagTsQ#0qX1t{eDb z`8Iluj{6P2>+53#X`D!_Lh!s?B)0LPU zd4qc)Zo>xcLaOz`^Gf8tiGw>BH zMZfmVuNPi@wQil|`ln=ndiQ}~ZJOEM%wj(>lXZTjxL9LuPAz{xJ=wv<1k6%!kM>Ss zeu8|(p*%C^3y`VGcd_t5#&bQ+Vfr_ta-(ZH8`|L>k*xH8)=kLE!$v=T*j$_<6*-ZRjeh?~G81W6`$cfBh> zJIT~Hy#0p*zy>6s%UYt9`HYT*oU2Zi4t{h-M1!;95K3NW@TwFk4H_yB4PI6r9a?YK zV&uo_?%r$iHaJ}a7#Z8M(v8)^PJ52YOQJ`eokM<2v&8vt{Tvx;z%i%;z1>!{3n~l~ z%a&;F-6-qcQJD!iO%5~9PY5z{(z6MO^e+!^)z@7YM6v9>5Z+AQs~k=I$)sl}1MP)TWS^uWdGZq!R(HPBg07{q%5DUQvkjQ?Ii1mbMo)^lYB20fvT zE<-;Mg0ootf3FY2UsSJVdh3_uZgP%`Ef=a4p(=UxMxfUmXY}YK?MUpoJfW?N#EwlT zrgZaCygbub`N^s`3WhZ)Jd9(?K&3+rW>IL^;{Z;HM}!BBey(akrM-f-$J0&{&x>_w zfcrlg9e+bt04wY?$57s#_2Wbx-dt7&GAU*L4_o`t`LL#*Z5h6JII0!rDn@r%-~r_U z4do#$JaTAQUEMA+nMWqXr?X>*7{xF2s;&;?fj_}P@qS697_(-Dk7N~1R`4+r?j=}d zTU%6d1jL2oI+&U}w zCSGAnd$y_bltNVzIc?wEV#(k~h$BKdf@7FgI(`}+B~bJg87rS5fvR7{{peQBSKs%W zKRgY3zy%yKyiHE1a*xPK!}PwI8^qM7B9*nxK1${YevZG2R@7V0xr1AfhOK#8Q)|=m z@)GUolCl@t$fcE|W52gNASwSd{rN;n>fsU8HEIJxVWKDAUvhA}P1rak%^=O|*l?ly zboidNwW+(RwyQ>ET+c4rYJ4FWEa-MU(nS zm@H^Cb^yM$CRW*{n?3oTM973z-gIeQ> z4Tu+;-d$Zhe|;XWOx(uH7*d&@>{A%d&kEqAUK!(`=cgBGE-$M2L13w#Kq=~d`~1@t zU7)+5^AiE=aQYwvvu!Z{Mu)Thv{A&rcg@>LA@I4rx>8$wgoj30M^46he{o%4-#w+| zdSWB*il;Iz*FWHR0aIkV6B$@7{JchMMg)L_6bx)q_qH2{dzo?CnACv z3`M|)?|x5>hZ;ec~8d>8~^Q zGyh~yN@1_t^{t^H>J@CM;J*(;*GgXvlU1eG1W2d^rx7|Q#N!c7-G3M+aOSB*p^AoM zJ~o!Yx7%K1{GyK&9;SW{4mI5MB&S_cjFDMNJnfggsZ6uZ3xCU2*PUc#YrNrD-Fu02 z2%y=bQrls)Tx_vuj>G2YC&cxPE%B0)&R&Me$V7%#1(S(EC)9-A(S$<&OB+X+tKG_~ z!B8Pr>pysXU2m_5=3FLsiW+lLV05rL+;j<}_@yil;{C_1?ND?6ikN{HQh@i_fOPr0 zg=MMnCmIbnL2IQMXv+=3B<5qJtA}7)iFWzjtnV`5SXqAm(&1}1*B}H=!hg@inIzzP zNEua!lP8iNYCXJLw%O}O$1d z?d?_Ag(JDZ;rC#ZD&mmhz0cc=A=nINQ79j)(Y@BDzb zovv(0HQfwHHRzakq}|8$%7`+YsPW+gVlP=~m~V&ruG!9UxD$Z8b;Fthl%0V&LSndl z1ETxrQ}+)^B9&x1&s44c;`ST=8-ldEvb%71BMF<={Ub{FyB=Cv3A%wnx?->yCnd6^ zkkXWnW(qIAaj5f$V{us-^NVAqg99~-VjVLUKvYPbv1v7wUrQ|{ zlL?A}>Z#f0Er(36HW+%(uzF~$EMrvOLJBtpIdf)b`-|mM#12`gZmdx|2NEPt#D1SdZb-Q5PyegEH1iV;wzv*E7+DfUl~KRnTTs!1Rj>M5 z?~32Tr;%Co+KDrS$#ZFN8J*%}E?tk)Arpx))jBt<9l&s??lB|~e^U4J@O90*@G zw|m%!YXT=7apRpuy8~_p|5;5_343t}3(qXf!MuLd7j;!ri;8kHbF(tjF*DSbx0O^@ zl1~Q61;qidHgdC3bd$M~Vv<=v%I-Jr$1v}WLcAJryc*LP zrn0F9#R?2cQJXWr_PVZ0g76911S%n4qnY0|U>o*=B3Gqz766lW7G!Ys!@b5aB~i%z-2`SYyW`GOmhpG`rJ_sKJCg zi5JE_kGBu5npse4&%0}c7P0+E8%v7?xHJ&?b8mTke=y26sY0-MW;D-`z7y(j;EFN+ z1g&F=x1(ujd2({7x(3SXnKi*D!inQp4%ak%ub+3i+kaw9XRbB>=UNyq5h z?m?}&8K|;m+SA}a?WOsj>^!Y?Kz?>A9~fkYIYQv744w7u6v&eLmK$xMxUb|l8Swle z{pEhMzrKmJt1HJPhGq5c?b|A%4W@5+GX0{5hphC_{`IexkHRf}7kKJO69mL9*bWZP zJmg0g)cUFE>AM1|3gBJsH%JUSP)V#5t&o^YcIZ<^wUjjAKAhwTj9?9?$|ypDzcomA zT8rH}EC5K~e?}^iI3$0<5Crv|r!tqq9>QTib!z(K{M@RG%W6wsEcIor6n(9v2XAoo zvYNB=<2rleWDAUyH1r%yHMjr>QASt=xUw;|v{60R9LaEFELSQ{(N3T?!uL)$l*PAr zdHGc~#?jJ($p-MnCck59L*0SaQmEKJ%7AU*0epDDUms>2_8-tRTKWuRA(g^fP6DSy zI_t2Mqs*990}{VVR$krMtxZO?2mK^P8aTsJLkbg5fDlg8EL;VG%-cwx?r!->GwCs` ztfkdbbwEMyxsU$WGhQX@W)C-Bo@PQFO$LhtnPE`4^hmgjda)S+ z*jhfZem*Lre5gdqdRk%w$xHce><{2X}Hpf|fD)p;DL#FIedB|+9=fzVX zzeAd+g}dBiTV2Pw`lkmh`!$x%TjuQL26@|z+)e~0nRl%5G&e{WAQ$>XlQ=d|+9_2n zIShuJX4>j3iqwcO($+e&I~Yh-$~hn#@8*ZLbw3a1H**wVv{z|nQJT09pYOfvtbL&&b+{@)@_e7Dsrv)*3S;+ zV;vX2MO!agZg613bR`a^ow@oZn1Zb-Y5l|wpRm9amyBNSp@dK|CcGrQ?_OQW4Hkh{ zrjvJvn<&l3oU9@rPs}IY8tc7pfNe8d6etGR90=0F_dV z*56Bja931XZlphAKXnwCXMR?P3(UDUB#d#4!;6v76v{t3MK=_uWTmMM&Q?#7B@QFc z%OiL^xF@I>O!t>r+tw$`LKS7iHC8iZ7y8y2IGAXY@D-Jnm65LAe^e6MkiRG`<%?*S zB6%$Kj16m~Dj2_gnQ-j&_qd>Ri;=mK3YPKq_Lep>3edLnu%vHNjKZxhDIsOqtkOzt zcE3^n#meu{#O*_lUW$RDhiu{2-I%aZJAIFt;S96#`y0@C(k2Oq!<>^S3j)i=eZszR z=R-5{ekvHLv)YYt$5RF*&YS3cj}DcUQ?s_$MUEp+=nTib>~IdH!Ffp)T_riQHF2_z zMvO>jPXrcOAU-mebRb$esmWTAu>+Gb+9cSbUBl8q?>GUIMdV_${$o=tB{3r510zMO zKP6sp;d3inQ2O{?0gvXUo8-!nnQ(r2+j#}jdmm;H;l65aS?auYi^tP{*6DulBtj(_ z6H|un=exSznKOHh7H^LH9=^|ddW`iWmY1R{+n=cpTERasMbs7J2_g|XS6e}IM|z7g zz&}Jk6%`{*QkY%bi&H;ffHLXrx$8pn;muMA%P#&SK8Gchs9%-_X z`Lw1|G*p}?ePBWh2|BiPE3jaff(SaulsbcPqMgxXBK9z zCZn;P>G_j3r`Y%f`HulW0^=Q9nBiV*Nh(x<(hCXEs21H411^sk$QnL%y2HK{2)7_k zW6gD~=kS&IyQMB8{<43&CFXk4JR6gAS`C>GyZ5qnW8qCo!%a`hi$I*L($YyBrDmkd z?Z{NU4;MhBdS(4=0TjiaS?mnM=eno0;20g5O!_k%a33770-qP1&edG(1PVr5w1LjS zBF=tIjVG4>N&5dx9T@1cr`AJV0eiPg!*|N7D)nlNWogLde^F>H)OKRF+*`$5#X9~D-k};5eyAAh#D46pJKsbbp}`LM!(=uX8Q@O*p_|Tu%KQa&F3+^~cfGoZ@JUfH336y;^bw>Q zR7{J?M-N^j|HTyomiIIPGILFq9AI`~_cTbFnZeTi2F4KLK7i?c&4Ikprm@PmH<>~Z z_6OQ~+xWO>3**;{fL7&U>o`t|XXDrCxAAx={3HycjOx5oY#1=!Gt9iDC}as=Fxo2B zTWON${!u#!e#NGM6(y%DO3x6H349GN?aYxOgWy_6lnmY5n_SleJZ_yWMT7r6=l}cL bg5RhF$UAEm&23~5;D@}lid2n+Nyz^Jp1*Xr literal 0 HcmV?d00001 diff --git a/gfw/asset/temp.txt b/gfw/asset/temp.txt new file mode 100644 index 0000000..a9a5aec --- /dev/null +++ b/gfw/asset/temp.txt @@ -0,0 +1 @@ +tmp diff --git a/gfw/asset/v2ray_custom.png b/gfw/asset/v2ray_custom.png new file mode 100644 index 0000000000000000000000000000000000000000..e723dfde511b04ec6905485433efb9cabeba1679 GIT binary patch literal 41506 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 literal 0 HcmV?d00001 diff --git a/gfw/pyprox_HTTPS_current.py b/gfw/pyprox_HTTPS_current.py new file mode 100644 index 0000000..0fcd291 --- /dev/null +++ b/gfw/pyprox_HTTPS_current.py @@ -0,0 +1,592 @@ +#!/usr/bin/env python3 + +import dns.message # --> pip install dnspython +import dns.rdatatype +import requests # --> pip install requests +from pathlib import Path +import os +import base64 +import socket +import threading +import time +import random + + +listen_PORT = 4500 # pyprox listening to 127.0.0.1:listen_PORT + +num_fragment = 87 # total number of chunks that ClientHello devided into (chunks with random size) +fragment_sleep = 0.005 # sleep between each fragment to make GFW-cache full so it forget previous chunks. LOL. + +log_every_N_sec = 30 # every 30 second , update log file with latest DNS-cache statistics + +allow_insecure = True # set true to allow certificate domain mismatch in DoH + + + +DNS_url = 'https://cloudflare-dns.com/dns-query?dns=' +# DNS_url = 'https://8.8.4.4/dns-query?dns=' # blocked? +# DNS_url = 'https://8.8.8.8/dns-query?dns=' # blocked? +# DNS_url = 'https://1.1.1.1/dns-query?dns=' # blocked? +# DNS_url = 'https://dns.google/dns-query?dns=' # blocked? +# DNS_url = 'https://doh.opendns.com/dns-query?dns=' # blocked? +# DNS_url = 'https://secure.avastdns.com/dns-query?dns=' # blocked? +# DNS_url = 'https://doh.libredns.gr/dns-query?dns=' # blocked? +# DNS_url = 'https://dns.electrotm.org/dns-query?dns=' # DNS server inside iran +# DNS_url = 'https://dns.bitdefender.net/dns-query?dns=' +# DNS_url = 'https://cluster-1.gac.edu/dns-query?dns=' + + + + +offline_DNS = { + +################## DNS over HTTPS IP Address (leave it intact , it must Exist) ###################### +# 'cloudflare-dns.com':'1.1.1.1', # IP filtered +# 'cloudflare-dns.com':'172.67.128.43', # any cludflare ip can be used for cloudflare DoH +# 'cloudflare-dns.com':'64.68.192.137', +'cloudflare-dns.com':'203.32.120.226', + + +'dns.google':'8.8.8.8', # IP filtered +'doh.opendns.com':'208.67.222.222', +'secure.avastdns.com':'185.185.133.66', +'doh.libredns.gr':'116.202.176.26', +'dns.electrotm.org':'78.157.42.100', +'dns.bitdefender.net':'34.84.232.67', +'cluster-1.gac.edu':'138.236.128.101', +########################################################################## + + + + +# ################# twitter working pack ################### +# 'ocsp.digicert.com': '192.229.211.108', + +'api.twitter.com': '104.244.42.66', +'twitter.com': '104.244.42.1', +'pbs.twimg.com': '93.184.220.70', +'abs-0.twimg.com': '104.244.43.131', +'abs.twimg.com': '152.199.24.185', +'video.twimg.com': '192.229.220.133', +'t.co': '104.244.42.69', +'ton.local.twitter.com':'104.244.42.1', +# ########################################################## + + + +# ################# Instagram whatsapp facebook working pack ################### +'instagram.com': '163.70.128.174', +'www.instagram.com': '163.70.128.174', +'static.cdninstagram.com': '163.70.132.63', +'scontent.cdninstagram.com':'163.70.132.63', +'privacycenter.instagram.com': '163.70.128.174', +'help.instagram.com': '163.70.128.174', +'l.instagram.com':'163.70.128.174', + + +'e1.whatsapp.net':'163.70.128.60', +'e2.whatsapp.net':'163.70.128.60', +'e3.whatsapp.net':'163.70.128.60', +'e4.whatsapp.net':'163.70.128.60', +'e5.whatsapp.net':'163.70.128.60', +'e6.whatsapp.net':'163.70.128.60', +'e7.whatsapp.net':'163.70.128.60', +'e8.whatsapp.net':'163.70.128.60', +'e9.whatsapp.net':'163.70.128.60', +'e10.whatsapp.net':'163.70.128.60', +'e11.whatsapp.net':'163.70.128.60', +'e12.whatsapp.net':'163.70.128.60', +'e13.whatsapp.net':'163.70.128.60', +'e14.whatsapp.net':'163.70.128.60', +'e15.whatsapp.net':'163.70.128.60', +'e16.whatsapp.net': '163.70.128.60', + +'dit.whatsapp.net': '185.60.219.60', +'g.whatsapp.net': '185.60.218.54', +'wa.me':'185.60.219.60', + +'web.whatsapp.com':'31.13.83.51', +'whatsapp.net':'31.13.83.51', +'whatsapp.com':'31.13.83.51', +'cdn.whatsapp.net':'31.13.83.51', +'snr.whatsapp.net':'31.13.83.51', + +'static.xx.fbcdn.net': '31.13.75.13', +'scontent-mct1-1.xx.fbcdn.net':'31.13.75.13', +'video-mct1-1.xx.fbcdn.net': '31.13.75.13', +'video.fevn1-2.fna.fbcdn.net': '185.48.241.146', +'video.fevn1-4.fna.fbcdn.net': '185.48.243.145', +'scontent.xx.fbcdn.net':'185.48.240.146', +'scontent.fevn1-1.fna.fbcdn.net': '185.48.240.145', +'scontent.fevn1-2.fna.fbcdn.net': '185.48.241.145', +'scontent.fevn1-3.fna.fbcdn.net': '185.48.242.146', +'scontent.fevn1-4.fna.fbcdn.net': '185.48.243.147', + + +'connect.facebook.net': '31.13.84.51', +'facebook.com':'31.13.65.49', +'developers.facebook.com': '31.13.84.8', + +'about.meta.com': '163.70.128.13', +'meta.com':'163.70.128.13', +# ########################################################## + + + +# ################# GooglePlay working pack ################### + +# ########################################################## + + +##################### youtube working pack ################################ +'ocsp.pki.goog': '172.217.16.195', +'googleads.g.doubleclick.net': '45.157.177.108', +'fonts.gstatic.com': '142.250.185.227', +'rr2---sn-vh5ouxa-hju6.googlevideo.com': '213.202.6.141', +'jnn-pa.googleapis.com': '45.157.177.108', +'static.doubleclick.net': '202.61.195.218', +'rr4---sn-hju7en7k.googlevideo.com': '74.125.167.74', +'rr1---sn-hju7en7r.googlevideo.com': '74.125.167.87', +'play.google.com': '142.250.184.238', +'rr3---sn-vh5ouxa-hjuz.googlevideo.com': '134.0.218.206', +'rr3---sn-hju7enel.googlevideo.com': '74.125.98.40', +'download.visualstudio.microsoft.com': '68.232.34.200', +'ocsp.pki.goog': '172.217.16.195', +'i.ytimg.com': '142.250.186.150', +'rr2---sn-hju7enel.googlevideo.com': '74.125.98.39', +'rr2---sn-hju7en7k.googlevideo.com': '74.125.167.72', +'googleads.g.doubleclick.net': '45.157.177.108', +'rr3---sn-4g5lznl6.googlevideo.com': '74.125.173.40', +'jnn-pa.googleapis.com': '89.58.57.45', +'rr3---sn-hju7en7k.googlevideo.com': '74.125.167.73', +'rr1---sn-hju7enll.googlevideo.com': '74.125.98.6', +'rr6---sn-hju7en7r.googlevideo.com': '74.125.167.92', +'play.google.com': '216.58.212.174', +'www.gstatic.com': '142.250.185.99', +'apis.google.com': '172.217.23.110', +'adservice.google.com': '202.61.195.218', +'mail.google.com': '142.250.186.37', +'accounts.google.com': '172.217.16.205', +'lh3.googleusercontent.com': '193.26.157.66', +'accounts.youtube.com': '172.217.16.206', +'ssl.gstatic.com': '142.250.184.195', +'fonts.gstatic.com': '172.217.23.99', +'rr4---sn-hju7enll.googlevideo.com': '74.125.98.9', +'rr2---sn-hju7enll.googlevideo.com': '74.125.98.7', +'rr1---sn-hju7enel.googlevideo.com': '74.125.98.38', +'rr5---sn-vh5ouxa-hjuz.googlevideo.com': '134.0.218.208', +'i1.ytimg.com': '172.217.18.14', +'plos.org': '162.159.135.42', +'fonts.googleapis.com': '89.58.57.45', +'genweb.plos.org': '104.26.1.141', +'static.ads-twitter.com': '146.75.120.157', +'www.google-analytics.com': '142.250.185.174', +'rr1---sn-vh5ouxa-hju6.googlevideo.com': '213.202.6.140', +'rr5---sn-vh5ouxa-hju6.googlevideo.com': '213.202.6.144', +'rr3---sn-hju7enel.googlevideo.com': '74.125.98.40', +'rr5---sn-nv47zn7y.googlevideo.com': '173.194.15.74', +'rr1---sn-vh5ouxa-hju6.googlevideo.com': '213.202.6.140', +'safebrowsing.googleapis.com': '202.61.195.218', +'static.doubleclick.net': '193.26.157.66', +'rr5---sn-vh5ouxa-hju6.googlevideo.com': '213.202.6.144', +'rr1---sn-hju7en7r.googlevideo.com': '74.125.167.87', +'rr4---sn-vh5ouxa-hju6.googlevideo.com': '213.202.6.143', +'rr4---sn-hju7en7r.googlevideo.com': '74.125.167.90', +'r1---sn-hju7enel.googlevideo.com': '74.125.98.38', +'rr1---sn-nv47zn7r.googlevideo.com': '173.194.15.38', +'rr2---sn-vh5ouxa-hjuz.googlevideo.com': '134.0.218.205', +'rr4---sn-nv47zn7r.googlevideo.com': '173.194.15.41', +'rr4---sn-hju7en7r.googlevideo.com': '74.125.167.90', + +'www.google.com': '142.250.186.36', +# 'www.google.com': '216.239.38.120', +'youtube.com':'216.239.38.120', +'youtu.be':'216.239.38.120', +'www.youtube.com':'216.239.38.120', +'i.ytimg.com':'216.239.38.120', + +# 'yt3.ggpht.com': '64.233.165.198', # filtered +# 'yt3.ggpht.com': '142.250.179.161', # filtered +# 'yt3.ggpht.com': '142.250.186.65', # sometimes work +'yt3.ggpht.com': '142.250.186.36', # most of times work +####################################################### + + + +} + + + + + +# ignore description below , its for old code , just leave it intact. +my_socket_timeout = 8 # default for google is ~21 sec , recommend 60 sec unless you have low ram and need close soon +first_time_sleep = 0.1 # speed control , avoid server crash if huge number of users flooding +accept_time_sleep = 0.01 # avoid server crash on flooding request -> max 100 sockets per second + + +DNS_cache = {} # resolved domains +IP_DL_traffic = {} # download usage for each ip +IP_UL_traffic = {} # upload usage for each ip + + +class DNS_over_Fragment: + def __init__(self): + self.url = DNS_url + self.req = requests.session() + self.fragment_proxy = { + 'https': 'http://127.0.0.1:'+str(listen_PORT) + } + + + + def query(self,server_name): + + offline_ip = offline_DNS.get(server_name,None) + if(offline_ip!=None): + print('offline DNS -->',server_name,offline_ip) + return offline_ip + + cache_ip = DNS_cache.get(server_name,None) + if(cache_ip!=None): + print('cached DNS -->',server_name,cache_ip) + return cache_ip + + quary_params = { + # 'name': server_name, # no need for this when using dns wire-format , cause 400 err on some server + 'type': 'A', + 'ct': 'application/dns-message', + } + + + print(f'online DNS Query',server_name) + try: + query_message = dns.message.make_query(server_name,'A') + query_wire = query_message.to_wire() + query_base64 = base64.urlsafe_b64encode(query_wire).decode('utf-8') + query_base64 = query_base64.replace('=','') # remove base64 padding to append in url + + query_url = self.url + query_base64 + ans = self.req.get( query_url , params=quary_params , headers={'accept': 'application/dns-message'} , proxies=self.fragment_proxy , verify=(not allow_insecure)) + + # Parse the response as a DNS packet + if ans.status_code == 200 and ans.headers.get('content-type') == 'application/dns-message': + answer_msg = dns.message.from_wire(ans.content) + + resolved_ip = None + for x in answer_msg.answer: + if (x.rdtype == dns.rdatatype.A): + resolved_ip = x[0].address # pick first ip in DNS answer + DNS_cache[server_name] = resolved_ip + print("################# DNS Cache is : ####################") + print(DNS_cache) # print DNS cache , it usefull to track all resolved IPs , to be used later. + print("#####################################################") + break + + print(f'online DNS --> Resolved {server_name} to {resolved_ip}') + return resolved_ip + else: + print(f'Error: {ans.status_code} {ans.reason}') + except Exception as e: + print(repr(e)) + + + + + + + + + +class ThreadedServer(object): + def __init__(self, host, port): + self.DoH = DNS_over_Fragment() + self.host = host + self.port = port + self.sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) + self.sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) + self.sock.bind((self.host, self.port)) + + def listen(self): + self.sock.listen(128) # up to 128 concurrent unaccepted socket queued , the more is refused untill accepting those. + + while True: + client_sock , client_addr = self.sock.accept() + client_sock.settimeout(my_socket_timeout) + + time.sleep(accept_time_sleep) # avoid server crash on flooding request + thread_up = threading.Thread(target = self.my_upstream , args =(client_sock,) ) + thread_up.daemon = True #avoid memory leak by telling os its belong to main program , its not a separate program , so gc collect it when thread finish + thread_up.start() + + + + def handle_client_request(self,client_socket): + # Receive the CONNECT request from the client + data = client_socket.recv(16384) + + + if(data[:7]==b'CONNECT'): + server_name , server_port = self.extract_servername_and_port(data) + elif( (data[:3]==b'GET') + or (data[:4]==b'POST') + or (data[:4]==b'HEAD') + or (data[:7]==b'OPTIONS') + or (data[:3]==b'PUT') + or (data[:6]==b'DELETE') + or (data[:5]==b'PATCH') + or (data[:5]==b'TRACE') ): + + q_line = str(data).split('\r\n') + q_req = q_line[0].split() + q_method = q_req[0] + q_url = q_req[1] + q_url = q_url.replace('http://','https://') + print('************************@@@@@@@@@@@@***************************') + print('redirect',q_method,'http to HTTPS',q_url) + response_data = 'HTTP/1.1 302 Found\r\nLocation: '+q_url+'\r\nProxy-agent: MyProxy/1.0\r\n\r\n' + client_socket.sendall(response_data.encode()) + client_socket.close() + return None + else: + print('Unknown Method',str(data[:10])) + response_data = b'HTTP/1.1 400 Bad Request\r\nProxy-agent: MyProxy/1.0\r\n\r\n' + client_socket.sendall(response_data) + client_socket.close() + return None + + + print(server_name,'-->',server_port) + + try: + server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) + server_socket.settimeout(my_socket_timeout) + server_socket.setsockopt(socket.IPPROTO_TCP, socket.TCP_NODELAY, 1) #force localhost kernel to send TCP packet immediately (idea: @free_the_internet) + + try: + socket.inet_aton(server_name) + # print('legal IP') + server_IP = server_name + except socket.error: + # print('Not IP , its domain , try to resolve it') + server_IP = self.DoH.query(server_name) + + + try: + server_socket.connect((server_IP, server_port)) + # Send HTTP 200 OK + response_data = b'HTTP/1.1 200 Connection established\r\nProxy-agent: MyProxy/1.0\r\n\r\n' + client_socket.sendall(response_data) + return server_socket + except socket.error: + print("@@@ "+server_IP+":"+str(server_port)+ " ==> filtered @@@") + # Send HTTP ERR 502 + response_data = b'HTTP/1.1 502 Bad Gateway (is IP filtered?)\r\nProxy-agent: MyProxy/1.0\r\n\r\n' + client_socket.sendall(response_data) + client_socket.close() + server_socket.close() + return server_IP + + + except Exception as e: + print(repr(e)) + # Send HTTP ERR 502 + response_data = b'HTTP/1.1 502 Bad Gateway (Strange ERR?)\r\nProxy-agent: MyProxy/1.0\r\n\r\n' + client_socket.sendall(response_data) + client_socket.close() + server_socket.close() + return None + + + + + + + + def my_upstream(self, client_sock): + first_flag = True + backend_sock = self.handle_client_request(client_sock) + + if(backend_sock==None): + client_sock.close() + return False + + if( isinstance(backend_sock,str) ): + this_ip = backend_sock + if(this_ip not in IP_UL_traffic): + IP_UL_traffic[this_ip] = 0 + IP_DL_traffic[this_ip] = 0 + client_sock.close() + return False + + + this_ip = backend_sock.getpeername()[0] + if(this_ip not in IP_UL_traffic): + IP_UL_traffic[this_ip] = 0 + IP_DL_traffic[this_ip] = 0 + + + while True: + try: + if( first_flag == True ): + first_flag = False + + time.sleep(first_time_sleep) # speed control + waiting for packet to fully recieve + data = client_sock.recv(16384) + #print('len data -> ',str(len(data))) + #print('user talk :') + + if data: + thread_down = threading.Thread(target = self.my_downstream , args = (backend_sock , client_sock) ) + thread_down.daemon = True + thread_down.start() + # backend_sock.sendall(data) + send_data_in_fragment(data,backend_sock) + IP_UL_traffic[this_ip] = IP_UL_traffic[this_ip] + len(data) + + else: + raise Exception('cli syn close') + + else: + data = client_sock.recv(16384) + if data: + backend_sock.sendall(data) + IP_UL_traffic[this_ip] = IP_UL_traffic[this_ip] + len(data) + else: + raise Exception('cli pipe close') + + except Exception as e: + #print('upstream : '+ repr(e) ) + time.sleep(2) # wait two second for another thread to flush + client_sock.close() + backend_sock.close() + return False + + + + + def my_downstream(self, backend_sock , client_sock): + this_ip = backend_sock.getpeername()[0] + + first_flag = True + while True: + try: + if( first_flag == True ): + first_flag = False + data = backend_sock.recv(16384) + if data: + client_sock.sendall(data) + IP_DL_traffic[this_ip] = IP_DL_traffic[this_ip] + len(data) + else: + raise Exception('backend pipe close at first') + + else: + data = backend_sock.recv(16384) + if data: + client_sock.sendall(data) + IP_DL_traffic[this_ip] = IP_DL_traffic[this_ip] + len(data) + else: + raise Exception('backend pipe close') + + except Exception as e: + #print('downstream '+backend_name +' : '+ repr(e)) + time.sleep(2) # wait two second for another thread to flush + backend_sock.close() + client_sock.close() + return False + + + + def extract_servername_and_port(self,data): + host_and_port = str(data).split()[1] + host,port = host_and_port.split(':') + return (host,int(port)) + + + +def merge_all_dicts(): + full_DNS = {**DNS_cache, **offline_DNS} # merge two dict , need python 3.5 or up + inv_DNS = { v:k for k,v in full_DNS.items()} # inverse mapping to look for domain given ip + stats = {} + for ip in IP_UL_traffic: + up = round(IP_UL_traffic[ip]/(1024.0),3) + down = round(IP_DL_traffic[ip]/(1024.0),3) + host = inv_DNS.get(ip,'?') + if( (down<1.0) ): # download below 1KB + maybe_filter = ' yes' + else: + maybe_filter = '-------' + + su = f'UL={up} KB:' + sd = f'DL={down} KB:' + sf = f'filtered={maybe_filter}:' + sh = f'Host={host}:' + stats[ip] = ':'+su+sd+sf+sh + return stats + + + +# only run in separate thread +def log_writer(): + file_name = 'DNS_IP_traffic_info.txt' + BASE_DIR = Path(__file__).resolve().parent + log_file_path = os.path.join(BASE_DIR,file_name) + + with open(log_file_path, "w") as f: + while True: + time.sleep(log_every_N_sec) + all_stats_info = merge_all_dicts() + f.seek(0) + f.write('\n########### new DNS resolved : ##############\n') + f.write(str(DNS_cache).replace(',',',\n')) + f.write('\n#############################################\n') + f.write('\n########### ALL INFO : ######################\n') + f.write(str(all_stats_info).replace('\'','').replace(',','\n').replace(':','\t')) + f.write('\n#############################################\n') + f.flush() + f.truncate() + print("info file writed to",f.name ) + + + +def start_log_writer(): + thread_log = threading.Thread(target = log_writer , args = () ) + thread_log.daemon = True + thread_log.start() + + + + + +def send_data_in_fragment(data , sock): + L_data = len(data) + indices = random.sample(range(1,L_data-1), num_fragment-1) + indices.sort() + # print('indices=',indices) + + i_pre=0 + for i in indices: + fragment_data = data[i_pre:i] + i_pre=i + # print('send ',len(fragment_data),' bytes') + + # sock.send(fragment_data) + sock.sendall(fragment_data) + + time.sleep(fragment_sleep) + + fragment_data = data[i_pre:L_data] + sock.sendall(fragment_data) + print('----------finish------------') + + + + +def start(): + start_log_writer() + print ("Now listening at: 127.0.0.1:"+str(listen_PORT)) + ThreadedServer('',listen_PORT).listen() + + + + diff --git a/gfw/pyprox_HTTPS_v1.0.py b/gfw/pyprox_HTTPS_v1.0.py new file mode 100644 index 0000000..12746ba --- /dev/null +++ b/gfw/pyprox_HTTPS_v1.0.py @@ -0,0 +1,468 @@ +#!/usr/bin/env python3 + +import dns.message # --> pip install dnspython +import dns.rdatatype +import requests # --> pip install requests +from pathlib import Path +import os +import base64 +import socket +import threading +import time +import random + + +listen_PORT = 4500 # pyprox listening to 127.0.0.1:listen_PORT + +num_fragment = 87 # total number of chunks that ClientHello devided into (chunks with random size) +fragment_sleep = 0.003 # sleep between each fragment to make GFW-cache full so it forget previous chunks. LOL. + +log_every_N_sec = 30 # every 30 second , update log file with latest DNS-cache statistics + +# DNS_url = 'https://cloudflare-dns.com/dns-query?dns=' # not working in iran , ip blocked +# DNS_url = 'https://dns.google/dns-query?dns=' # not working in iran , ip blocked +# DNS_url = 'https://doh.opendns.com/dns-query?dns=' # not working in iran , ip blocked +# DNS_url = 'https://secure.avastdns.com/dns-query?dns=' # not working in iran , ip blocked +# DNS_url = 'https://doh.libredns.gr/dns-query?dns=' # not working in iran , ip blocked +DNS_url = 'https://dns.electrotm.org/dns-query?dns=' +# DNS_url = 'https://dns.bitdefender.net/dns-query?dns=' +# DNS_url = 'https://cluster-1.gac.edu/dns-query?dns=' + + + + +offline_DNS = { + +##################### working pack ################################ +'ocsp.pki.goog': '172.217.16.195', +'googleads.g.doubleclick.net': '45.157.177.108', +'fonts.gstatic.com': '142.250.185.227', +'rr2---sn-vh5ouxa-hju6.googlevideo.com': '213.202.6.141', +'jnn-pa.googleapis.com': '45.157.177.108', +'static.doubleclick.net': '202.61.195.218', +'rr4---sn-hju7en7k.googlevideo.com': '74.125.167.74', +'rr1---sn-hju7en7r.googlevideo.com': '74.125.167.87', +'play.google.com': '142.250.184.238', +'rr3---sn-vh5ouxa-hjuz.googlevideo.com': '134.0.218.206', +'rr3---sn-hju7enel.googlevideo.com': '74.125.98.40', +'download.visualstudio.microsoft.com': '68.232.34.200', +'ocsp.pki.goog': '172.217.16.195', +'i.ytimg.com': '142.250.186.150', +'rr2---sn-hju7enel.googlevideo.com': '74.125.98.39', +'rr2---sn-hju7en7k.googlevideo.com': '74.125.167.72', +'googleads.g.doubleclick.net': '45.157.177.108', +'rr3---sn-4g5lznl6.googlevideo.com': '74.125.173.40', +'jnn-pa.googleapis.com': '89.58.57.45', +'rr3---sn-hju7en7k.googlevideo.com': '74.125.167.73', +'rr1---sn-hju7enll.googlevideo.com': '74.125.98.6', +'rr6---sn-hju7en7r.googlevideo.com': '74.125.167.92', +'play.google.com': '216.58.212.174', +'www.gstatic.com': '142.250.185.99', +'apis.google.com': '172.217.23.110', +'adservice.google.com': '202.61.195.218', +'mail.google.com': '142.250.186.37', +'accounts.google.com': '172.217.16.205', +'lh3.googleusercontent.com': '193.26.157.66', +'accounts.youtube.com': '172.217.16.206', +'ssl.gstatic.com': '142.250.184.195', +'fonts.gstatic.com': '172.217.23.99', +'rr4---sn-hju7enll.googlevideo.com': '74.125.98.9', +'rr2---sn-hju7enll.googlevideo.com': '74.125.98.7', +'rr1---sn-hju7enel.googlevideo.com': '74.125.98.38', +'rr5---sn-vh5ouxa-hjuz.googlevideo.com': '134.0.218.208', +'i1.ytimg.com': '172.217.18.14', +'plos.org': '162.159.135.42', +'fonts.googleapis.com': '89.58.57.45', +'genweb.plos.org': '104.26.1.141', +'static.ads-twitter.com': '146.75.120.157', +'www.google-analytics.com': '142.250.185.174', +'rr1---sn-vh5ouxa-hju6.googlevideo.com': '213.202.6.140', +'rr5---sn-vh5ouxa-hju6.googlevideo.com': '213.202.6.144', +'rr3---sn-hju7enel.googlevideo.com': '74.125.98.40', +'rr5---sn-nv47zn7y.googlevideo.com': '173.194.15.74', +'rr1---sn-vh5ouxa-hju6.googlevideo.com': '213.202.6.140', +'safebrowsing.googleapis.com': '202.61.195.218', +'static.doubleclick.net': '193.26.157.66', +'rr5---sn-vh5ouxa-hju6.googlevideo.com': '213.202.6.144', +'rr1---sn-hju7en7r.googlevideo.com': '74.125.167.87', +'rr4---sn-vh5ouxa-hju6.googlevideo.com': '213.202.6.143', +'rr4---sn-hju7en7r.googlevideo.com': '74.125.167.90', +'r1---sn-hju7enel.googlevideo.com': '74.125.98.38', +'rr1---sn-nv47zn7r.googlevideo.com': '173.194.15.38', +'rr2---sn-vh5ouxa-hjuz.googlevideo.com': '134.0.218.205', +'rr4---sn-nv47zn7r.googlevideo.com': '173.194.15.41', +'rr4---sn-hju7en7r.googlevideo.com': '74.125.167.90', + + +'www.google.com': '142.250.186.36', +# 'www.google.com': '216.239.38.120', +'youtube.com':'216.239.38.120', +'youtu.be':'216.239.38.120', +'www.youtube.com':'216.239.38.120', +'i.ytimg.com':'216.239.38.120', + +# 'yt3.ggpht.com': '64.233.165.198', # filtered +# 'yt3.ggpht.com': '142.250.179.161', # filtered +# 'yt3.ggpht.com': '142.250.186.65', # sometimes work +'yt3.ggpht.com': '142.250.186.36', # most of times work +####################################################### + + +################## DNS over HTTPS IP Address (leave it intact , it must Exist) ###################### +'cloudflare-dns.com':'1.1.1.1', # not working in iran , ip blocked +'dns.google':'8.8.8.8', # not working in iran , ip blocked +'doh.opendns.com':'208.67.222.222', # not working in iran , ip blocked +'secure.avastdns.com':'185.185.133.66', # not working in iran , ip blocked +'doh.libredns.gr':'116.202.176.26', # not working in iran , ip blocked +'dns.electrotm.org':'78.157.42.100', +'dns.bitdefender.net':'34.84.232.67', +'cluster-1.gac.edu':'138.236.128.101', +########################################################################## + +} + + + + + +# ignore description below , its for old code , just leave it intact. +my_socket_timeout = 21 # default for google is ~21 sec , recommend 60 sec unless you have low ram and need close soon +first_time_sleep = 0.1 # speed control , avoid server crash if huge number of users flooding +accept_time_sleep = 0.01 # avoid server crash on flooding request -> max 100 sockets per second + + +DNS_cache = {} # resolved domains +IP_DL_traffic = {} # download usage for each ip +IP_UL_traffic = {} # upload usage for each ip + + +class DNS_over_Fragment: + def __init__(self): + self.url = DNS_url + self.req = requests.session() + self.fragment_proxy = { + 'https': 'http://127.0.0.1:'+str(listen_PORT) + } + + + + def query(self,server_name): + + offline_ip = offline_DNS.get(server_name,None) + if(offline_ip!=None): + print('offline DNS -->',server_name,offline_ip) + return offline_ip + + cache_ip = DNS_cache.get(server_name,None) + if(cache_ip!=None): + print('cached DNS -->',server_name,cache_ip) + return cache_ip + + quary_params = { + # 'name': server_name, # no need for this when using dns wire-format , cause 400 err on some server + 'type': 'A', + 'ct': 'application/dns-message', + } + + + print(f'online DNS Query',server_name) + try: + query_message = dns.message.make_query(server_name,'A') + query_wire = query_message.to_wire() + query_base64 = base64.urlsafe_b64encode(query_wire).decode('utf-8') + query_base64 = query_base64.replace('=','') # remove base64 padding to append in url + + query_url = self.url + query_base64 + ans = self.req.get( query_url , params=quary_params , headers={'accept': 'application/dns-message'} , proxies=self.fragment_proxy) + + # Parse the response as a DNS packet + if ans.status_code == 200 and ans.headers.get('content-type') == 'application/dns-message': + answer_msg = dns.message.from_wire(ans.content) + + resolved_ip = None + for x in answer_msg.answer: + if (x.rdtype == dns.rdatatype.A): + resolved_ip = x[0].address # pick first ip in DNS answer + DNS_cache[server_name] = resolved_ip + print("################# DNS Cache is : ####################") + print(DNS_cache) # print DNS cache , it usefull to track all resolved IPs , to be used later. + print("#####################################################") + break + + print(f'online DNS --> Resolved {server_name} to {resolved_ip}') + return resolved_ip + else: + print(f'Error: {ans.status_code} {ans.reason}') + except Exception as e: + print(repr(e)) + + + + + + + + + +class ThreadedServer(object): + def __init__(self, host, port): + self.DoH = DNS_over_Fragment() + self.host = host + self.port = port + self.sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) + self.sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) + self.sock.bind((self.host, self.port)) + + def listen(self): + self.sock.listen(128) # up to 128 concurrent unaccepted socket queued , the more is refused untill accepting those. + + while True: + client_sock , client_addr = self.sock.accept() + client_sock.settimeout(my_socket_timeout) + + time.sleep(accept_time_sleep) # avoid server crash on flooding request + thread_up = threading.Thread(target = self.my_upstream , args =(client_sock,) ) + thread_up.daemon = True #avoid memory leak by telling os its belong to main program , its not a separate program , so gc collect it when thread finish + thread_up.start() + + + + def handle_client_request(self,client_socket): + # Receive the CONNECT request from the client + data = client_socket.recv(16384) + + + if(data[:7]==b'CONNECT'): + server_name , server_port = self.extract_servername_and_port(data) + elif( (data[:3]==b'GET') or (data[:4]==b'POST')): + q_line = str(data).split('\r\n') + q_url = q_line[0].split()[1] + q_url = q_url.replace('http://','https://') + print('redirect http to HTTPS',q_url) + response_data = 'HTTP/1.1 302 Found\r\nLocation: '+q_url+'\r\nProxy-agent: MyProxy/1.0\r\n\r\n' + client_socket.sendall(response_data.encode()) + client_socket.close() + return None + else: + print('Unknown Method',str(data[:10])) + response_data = b'HTTP/1.1 400 Bad Request\r\nProxy-agent: MyProxy/1.0\r\n\r\n' + client_socket.sendall(response_data) + client_socket.close() + return None + + + print(server_name,'-->',server_port) + + try: + server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) + server_socket.settimeout(my_socket_timeout) + server_socket.setsockopt(socket.IPPROTO_TCP, socket.TCP_NODELAY, 1) #force localhost kernel to send TCP packet immediately (idea: @free_the_internet) + + try: + socket.inet_aton(server_name) + # print('legal IP') + server_IP = server_name + except socket.error: + # print('Not IP , its domain , try to resolve it') + server_IP = self.DoH.query(server_name) + + server_socket.connect((server_IP, server_port)) + # Send HTTP 200 OK + response_data = b'HTTP/1.1 200 Connection established\r\nProxy-agent: MyProxy/1.0\r\n\r\n' + client_socket.sendall(response_data) + return server_socket + except Exception as e: + print(repr(e)) + # Send HTTP ERR 502 + response_data = b'HTTP/1.1 502 Bad Gateway\r\nProxy-agent: MyProxy/1.0\r\n\r\n' + client_socket.sendall(response_data) + client_socket.close() + server_socket.close() + return None + + + + + + + + def my_upstream(self, client_sock): + first_flag = True + backend_sock = self.handle_client_request(client_sock) + + if(backend_sock==None): + client_sock.close() + return False + + this_ip = backend_sock.getpeername()[0] + if(this_ip not in IP_UL_traffic): + IP_UL_traffic[this_ip] = 0 + + + while True: + try: + if( first_flag == True ): + first_flag = False + + time.sleep(first_time_sleep) # speed control + waiting for packet to fully recieve + data = client_sock.recv(16384) + #print('len data -> ',str(len(data))) + #print('user talk :') + + if data: + thread_down = threading.Thread(target = self.my_downstream , args = (backend_sock , client_sock) ) + thread_down.daemon = True + thread_down.start() + # backend_sock.sendall(data) + send_data_in_fragment(data,backend_sock) + IP_UL_traffic[this_ip] = IP_UL_traffic[this_ip] + len(data) + + else: + raise Exception('cli syn close') + + else: + data = client_sock.recv(16384) + if data: + backend_sock.sendall(data) + IP_UL_traffic[this_ip] = IP_UL_traffic[this_ip] + len(data) + else: + raise Exception('cli pipe close') + + except Exception as e: + #print('upstream : '+ repr(e) ) + time.sleep(2) # wait two second for another thread to flush + client_sock.close() + backend_sock.close() + return False + + + + + def my_downstream(self, backend_sock , client_sock): + this_ip = backend_sock.getpeername()[0] + if(this_ip not in IP_DL_traffic): + IP_DL_traffic[this_ip] = 0 + + + first_flag = True + while True: + try: + if( first_flag == True ): + first_flag = False + data = backend_sock.recv(16384) + if data: + client_sock.sendall(data) + IP_DL_traffic[this_ip] = IP_DL_traffic[this_ip] + len(data) + else: + raise Exception('backend pipe close at first') + + else: + data = backend_sock.recv(16384) + if data: + client_sock.sendall(data) + IP_DL_traffic[this_ip] = IP_DL_traffic[this_ip] + len(data) + else: + raise Exception('backend pipe close') + + except Exception as e: + #print('downstream '+backend_name +' : '+ repr(e)) + time.sleep(2) # wait two second for another thread to flush + backend_sock.close() + client_sock.close() + return False + + + + def extract_servername_and_port(self,data): + host_and_port = str(data).split()[1] + host,port = host_and_port.split(':') + return (host,int(port)) + + + +def merge_all_dicts(): + full_DNS = {**DNS_cache, **offline_DNS} # merge two dict , need python 3.5 or up + inv_DNS = { v:k for k, v in full_DNS.items()} # inverse mapping to look for domain given ip + stats = {} + for ip in IP_DL_traffic: + up = round(IP_UL_traffic[ip]/(1024.0),3) + down = round(IP_DL_traffic[ip]/(1024.0),3) + host = inv_DNS.get(ip,'?') + if((up>down) and (down<1.0)): # download below 1KB + maybe_filter = 'maybe' + else: + maybe_filter = '-------' + + su = f'UL={up} KB:' + sd = f'DL={down} KB:' + sf = f'filtered={maybe_filter}:' + sh = f'Host={host}:' + stats[ip] = ':'+su+sd+sf+sh + return stats + + + +# only run in separate thread +def log_writer(): + file_name = 'DNS_IP_traffic_info.txt' + BASE_DIR = Path(__file__).resolve().parent + log_file_path = os.path.join(BASE_DIR,file_name) + + with open(log_file_path, "w") as f: + while True: + time.sleep(log_every_N_sec) + all_stats_info = merge_all_dicts() + f.seek(0) + f.write('\n########### new DNS resolved : ##############\n') + f.write(str(DNS_cache).replace(',',',\n')) + f.write('\n#############################################\n') + f.write('\n########### ALL INFO : ######################\n') + f.write(str(all_stats_info).replace('\'','').replace(',','\n').replace(':','\t')) + f.write('\n#############################################\n') + f.flush() + f.truncate() + print("info file writed to",f.name ) + + + +def start_log_writer(): + thread_log = threading.Thread(target = log_writer , args = () ) + thread_log.daemon = True + thread_log.start() + + + + + +def send_data_in_fragment(data , sock): + L_data = len(data) + indices = random.sample(range(1,L_data-1), num_fragment-1) + indices.sort() + # print('indices=',indices) + + i_pre=0 + for i in indices: + fragment_data = data[i_pre:i] + i_pre=i + # print('send ',len(fragment_data),' bytes') + + # sock.send(fragment_data) + sock.sendall(fragment_data) + + time.sleep(fragment_sleep) + + fragment_data = data[i_pre:L_data] + sock.sendall(fragment_data) + print('----------finish------------') + + + + +if (__name__ == "__main__"): + start_log_writer() + print ("Now listening at: 127.0.0.1:"+str(listen_PORT)) + ThreadedServer('',listen_PORT).listen() + + + + diff --git a/gfw/v2ray_HTTPS_config.json b/gfw/v2ray_HTTPS_config.json new file mode 100644 index 0000000..d53df87 --- /dev/null +++ b/gfw/v2ray_HTTPS_config.json @@ -0,0 +1,108 @@ +{ + "log": { + "access": "", + "error": "", + "loglevel": "warning" + }, + + "inbounds": [ + { + "tag": "socks", + "port": 10808, + "listen": "127.0.0.1", + "protocol": "socks", + "sniffing": { + "enabled": true, + "destOverride": [ + "http", + "tls" + ] + }, + "settings": { + "auth": "noauth", + "udp": true, + "allowTransparent": false + } + }, + { + "tag": "http", + "port": 10809, + "listen": "127.0.0.1", + "protocol": "http", + "sniffing": { + "enabled": true, + "destOverride": [ + "http", + "tls" + ] + }, + "settings": { + "auth": "noauth", + "udp": true, + "allowTransparent": false + } + } + ], + + + + + "outbounds": [ + { + "tag": "pyprox", + "protocol": "http", + "settings": { + "servers": [ + { + "address": "127.0.0.1", + "port": 4500 + } + ] + } + }, + + { + "tag": "direct", + "protocol": "freedom", + "settings": {} + }, + + { + "tag": "block", + "protocol": "blackhole", + "settings": { + "response": { + "type": "http" + } + } + } + + + ], + + + + "routing": { + + "domainStrategy": "IPIfNonMatch", + "rules": [ + { + "type": "field", + "inboundTag": [ + "api" + ], + "outboundTag": "api", + "enabled": true + }, + + { + "type": "field", + "port": "0-65535", + "outboundTag": "pyprox", + "enabled": true + } + + + ] + } +} diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..44879e3 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,26 @@ +altgraph==0.17.4 +Brotli==1.1.0 +certifi==2024.8.30 +charset-normalizer==3.3.2 +cx_Freeze==7.2.2 +cx_Logging==3.2.0 +dnspython==2.6.1 +ffmpeg-python==0.2.0 +future==1.0.0 +idna==3.10 +lief==0.15.1 +mutagen==1.47.0 +packaging==24.1 +pefile==2024.8.26 +pycryptodomex==3.20.0 +pyinstaller==6.10.0 +pyinstaller-hooks-contrib==2024.8 +PyQt5==5.15.11 +PyQt5-Qt5==5.15.2 +PyQt5_sip==12.15.0 +pywin32-ctypes==0.2.3 +requests==2.32.3 +setuptools==75.1.0 +urllib3==2.2.3 +websockets==13.1 +yt-dlp==2024.8.6 \ No newline at end of file