From 512e17969e8e2ba3cf0e8f78940a59a35e355770 Mon Sep 17 00:00:00 2001 From: chiihero <853879993@qq.com> Date: Fri, 28 Dec 2018 16:18:33 +0800 Subject: [PATCH 1/8] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E8=8E=B7=E5=8F=96?= =?UTF-8?q?=E8=B7=AF=E5=BE=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Frame.py | 5 +++-- login.py | 1 - ver_code.py | 1 - zqu_auto_login.py | 4 ++-- 4 files changed, 5 insertions(+), 6 deletions(-) diff --git a/Frame.py b/Frame.py index 7d0e0a4..a5028b6 100644 --- a/Frame.py +++ b/Frame.py @@ -1,7 +1,7 @@ import wx # 引入wx模块
import os from configparser import ConfigParser - +import sys class MyFrame(wx.Frame): def __init__(self, parent): wx.Frame.__init__(self, parent, id=wx.ID_ANY, title="肇庆学院校园网自动登录", pos=wx.DefaultPosition, @@ -27,7 +27,7 @@ def __init__(self, parent): self.Layout() self.Centre(wx.BOTH) - file = "conf.ini" + file = os.path.dirname(os.path.abspath(sys.argv[0]))+"/conf.ini" conf = ConfigParser() conf.read(file , encoding='utf-8') # 获取数据 @@ -35,6 +35,7 @@ def __init__(self, parent): userid = conf.get('user', 'userid') password = conf.get('user', 'password') check=conf.get('user','check') + self.userid.SetValue(userid) self.password.SetValue(password) if check=="True": diff --git a/login.py b/login.py index c7d5910..3ccceff 100644 --- a/login.py +++ b/login.py @@ -1,7 +1,6 @@ import requests import json import os - import logging from time import sleep from datetime import datetime diff --git a/ver_code.py b/ver_code.py index 583e495..950d94c 100644 --- a/ver_code.py +++ b/ver_code.py @@ -1,6 +1,5 @@ from PIL import Image import imagehash -import os def validation_code_recognition(v_code_image): diff --git a/zqu_auto_login.py b/zqu_auto_login.py index ba0c014..f86a68a 100644 --- a/zqu_auto_login.py +++ b/zqu_auto_login.py @@ -16,7 +16,7 @@ def __init__(self,userid, password, check): # 线程实例化时立即启动 self.userid =userid self.password = password self.check = check - self.config_file = os.getcwd()+"/conf.ini" + self.config_file = os.path.dirname(os.path.abspath(sys.argv[0]))+"\conf.ini" self.conf = ConfigParser() self.log_level = logging.INFO self.begin_time = "" @@ -102,7 +102,7 @@ def hideFile(filePath): def autostart(self): name = 'AutoLogin' # 要添加的项值名称 # filePath = os.path.realpath(__file__) # 测试使用 - filePath = os.getcwd()+"\zqu_auto_login.exe"#正式版使用 + filePath = os.path.abspath(sys.argv[0])#正式版使用 if 'Windows' in platform.system(): try: if self.check: From 2bd5d51b562df1cdbefa8957962ff22c6d989a08 Mon Sep 17 00:00:00 2001 From: chiihero <853879993@qq.com> Date: Sun, 3 Mar 2019 23:41:57 +0800 Subject: [PATCH 2/8] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E4=B8=80=E4=BA=9B?= =?UTF-8?q?=E5=B0=8F=E7=BB=86=E8=8A=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1.log文件位置修复 2.窗口大小固定 --- Frame.py | 14 ++++++++++---- zqu_auto_login.py | 8 ++++++-- 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/Frame.py b/Frame.py index a5028b6..6fca0a0 100644 --- a/Frame.py +++ b/Frame.py @@ -5,8 +5,12 @@ class MyFrame(wx.Frame): def __init__(self, parent): wx.Frame.__init__(self, parent, id=wx.ID_ANY, title="肇庆学院校园网自动登录", pos=wx.DefaultPosition, - size=wx.Size(320, 174), style=wx.DEFAULT_FRAME_STYLE | wx.TAB_TRAVERSAL) + size=wx.Size(320, 174), + style=wx.DEFAULT_FRAME_STYLE | + wx.TAB_TRAVERSAL) self.SetSizeHints(wx.DefaultSize, wx.DefaultSize) + self.SetMaxSize((320, 174))#固定窗口 + self.SetMinSize((320, 174)) gSizer = wx.GridSizer(0, 2, 0, 0) self.m_staticText2 = wx.StaticText(self, wx.ID_ANY, u"学号", wx.DefaultPosition, wx.DefaultSize, 0) self.m_staticText2.Wrap(-1) @@ -27,11 +31,13 @@ def __init__(self, parent): self.Layout() self.Centre(wx.BOTH) - file = os.path.dirname(os.path.abspath(sys.argv[0]))+"/conf.ini" + + + self.config_file = os.path.dirname(os.path.abspath(sys.argv[0]))+"/conf.ini" conf = ConfigParser() - conf.read(file , encoding='utf-8') + conf.read(self.config_file , encoding='utf-8') # 获取数据 - if os.path.exists(file): + if os.path.exists(self.config_file): userid = conf.get('user', 'userid') password = conf.get('user', 'password') check=conf.get('user','check') diff --git a/zqu_auto_login.py b/zqu_auto_login.py index f86a68a..0b73939 100644 --- a/zqu_auto_login.py +++ b/zqu_auto_login.py @@ -10,13 +10,17 @@ import logging import sys + +location = os.path.dirname(os.path.abspath(sys.argv[0])) + + class TestThread(threading.Thread): def __init__(self,userid, password, check): # 线程实例化时立即启动 threading.Thread.__init__(self) self.userid =userid self.password = password self.check = check - self.config_file = os.path.dirname(os.path.abspath(sys.argv[0]))+"\conf.ini" + self.config_file = location+"\conf.ini" self.conf = ConfigParser() self.log_level = logging.INFO self.begin_time = "" @@ -89,7 +93,7 @@ def readConfig(self): format='[%(asctime)s] - %(levelname)s - %(module)s: %(message)s', datefmt='%Y-%m-%d %H:%M:%S', level=self.log_level, - handlers=[logging.FileHandler("run.log"), logging.StreamHandler()] + handlers=[logging.FileHandler(location+"\\run.log"), logging.StreamHandler()] ) # 隐藏配置文件 From a5173feb69f6fed8d2372ee518c15516bf7a1d8e Mon Sep 17 00:00:00 2001 From: chiihero <853879993@qq.com> Date: Sun, 3 Mar 2019 23:45:20 +0800 Subject: [PATCH 3/8] =?UTF-8?q?=E6=A0=BC=E5=BC=8F=E5=8C=96=E4=BB=A3?= =?UTF-8?q?=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Frame.py | 16 ++++++++-------- zqu_auto_login.py | 27 ++++++++++++++++----------- 2 files changed, 24 insertions(+), 19 deletions(-) diff --git a/Frame.py b/Frame.py index 6fca0a0..83b1e68 100644 --- a/Frame.py +++ b/Frame.py @@ -2,6 +2,8 @@ import os from configparser import ConfigParser import sys + + class MyFrame(wx.Frame): def __init__(self, parent): wx.Frame.__init__(self, parent, id=wx.ID_ANY, title="肇庆学院校园网自动登录", pos=wx.DefaultPosition, @@ -9,7 +11,7 @@ def __init__(self, parent): style=wx.DEFAULT_FRAME_STYLE | wx.TAB_TRAVERSAL) self.SetSizeHints(wx.DefaultSize, wx.DefaultSize) - self.SetMaxSize((320, 174))#固定窗口 + self.SetMaxSize((320, 174)) # 固定窗口 self.SetMinSize((320, 174)) gSizer = wx.GridSizer(0, 2, 0, 0) self.m_staticText2 = wx.StaticText(self, wx.ID_ANY, u"学号", wx.DefaultPosition, wx.DefaultSize, 0) @@ -31,20 +33,18 @@ def __init__(self, parent): self.Layout() self.Centre(wx.BOTH) - - - self.config_file = os.path.dirname(os.path.abspath(sys.argv[0]))+"/conf.ini" + self.config_file = os.path.dirname(os.path.abspath(sys.argv[0])) + "/conf.ini" conf = ConfigParser() - conf.read(self.config_file , encoding='utf-8') + conf.read(self.config_file, encoding='utf-8') # 获取数据 if os.path.exists(self.config_file): userid = conf.get('user', 'userid') password = conf.get('user', 'password') - check=conf.get('user','check') + check = conf.get('user', 'check') self.userid.SetValue(userid) self.password.SetValue(password) - if check=="True": + if check == "True": self.check_start.SetValue(True) # 绑定按钮的单击事件 @@ -53,5 +53,5 @@ def __init__(self, parent): def __del__(self): pass - def open(self, event ): + def open(self, event): event.Skip() diff --git a/zqu_auto_login.py b/zqu_auto_login.py index 0b73939..8ce6c43 100644 --- a/zqu_auto_login.py +++ b/zqu_auto_login.py @@ -10,29 +10,29 @@ import logging import sys - location = os.path.dirname(os.path.abspath(sys.argv[0])) class TestThread(threading.Thread): - def __init__(self,userid, password, check): # 线程实例化时立即启动 + def __init__(self, userid, password, check): # 线程实例化时立即启动 threading.Thread.__init__(self) - self.userid =userid + self.userid = userid self.password = password self.check = check - self.config_file = location+"\conf.ini" + self.config_file = location + "\conf.ini" self.conf = ConfigParser() self.log_level = logging.INFO self.begin_time = "" self.end_time = "" def run(self): # 线程执行的代码 - writeConfig(self)#写入数据到配置文件 + writeConfig(self) # 写入数据到配置文件 readConfig(self) autostart(self) logging.info('学号:' + self.userid + ' 密码:' + self.password) loginstart(self) + # 创建mainWin类并传入my_win.MyFrame class mainWin(Frame.MyFrame): def GetValue(self, event): @@ -50,6 +50,7 @@ def open(self, event): else: os._exit(0) + # 写入配置文件 def writeConfig(self): if not os.path.exists(self.config_file): @@ -74,9 +75,10 @@ def writeConfig(self): with open(self.config_file, 'w') as fw: # 循环写入 self.conf.write(fw) + def readConfig(self): self.conf.read(self.config_file, encoding='utf-8') - #获取开始时间和结束时间 + # 获取开始时间和结束时间 self.begin_time = self.conf.get('run', 'begin_time') self.end_time = self.conf.get('run', 'end_time') @@ -93,20 +95,22 @@ def readConfig(self): format='[%(asctime)s] - %(levelname)s - %(module)s: %(message)s', datefmt='%Y-%m-%d %H:%M:%S', level=self.log_level, - handlers=[logging.FileHandler(location+"\\run.log"), logging.StreamHandler()] + handlers=[logging.FileHandler(location + "\\run.log"), logging.StreamHandler()] ) + # 隐藏配置文件 def hideFile(filePath): if 'Windows' in platform.system(): cmd = 'attrib +h "' + filePath + '"' os.system(cmd) + # 开机自启 def autostart(self): name = 'AutoLogin' # 要添加的项值名称 # filePath = os.path.realpath(__file__) # 测试使用 - filePath = os.path.abspath(sys.argv[0])#正式版使用 + filePath = os.path.abspath(sys.argv[0]) # 正式版使用 if 'Windows' in platform.system(): try: if self.check: @@ -118,22 +122,23 @@ def autostart(self): except: logging.error('修改开机项失败') + # 子线程要执行的代码 def loginstart(self): logging.debug("第一次运行测试") - login.test(self)#第一次启动 + login.test(self) # 第一次启动 sleep(5) if self.conf.get('run', 'time_unit') == 'minutes': schedule.every(self.conf.getint('run', 'every_time')).minutes.do(login.test, self) elif self.conf.get('run', 'time_unit') == 'seconds': - schedule.every(self.conf.getint('run', 'every_time')).seconds.do(login.test, self)#测试 + schedule.every(self.conf.getint('run', 'every_time')).seconds.do(login.test, self) # 测试 else: logging.critical('conf.ini配置错误:{}'.format( self.conf.getint('run', 'every_time'), self.conf.get('run', 'time_unit') )) sys.exit(1) - while (1): + while 1: schedule.run_pending() sleep(1) From f9384a5ba12fc5dcb022f511a7342deb7d176e05 Mon Sep 17 00:00:00 2001 From: chiihero <853879993@qq.com> Date: Mon, 4 Mar 2019 01:05:34 +0800 Subject: [PATCH 4/8] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=9C=80=E5=B0=8F?= =?UTF-8?q?=E5=8C=96=E6=A8=A1=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Frame.py | 66 ++++++++++++++++++++++++++++++++++++++++++---- icon.ico | Bin 0 -> 185153 bytes zqu_auto_login.py | 4 +-- 3 files changed, 63 insertions(+), 7 deletions(-) create mode 100644 icon.ico diff --git a/Frame.py b/Frame.py index 83b1e68..0154bba 100644 --- a/Frame.py +++ b/Frame.py @@ -2,15 +2,59 @@ import os from configparser import ConfigParser import sys +import wx.adv + +TITLE = "肇庆学院校园网自动登录" +ICON = "icon.ico" # 图标地址 + +class MyTaskBarIcon(wx.adv.TaskBarIcon): + ID_EXIT = wx.NewId() # 菜单选项“退出”的ID + ID_SHOW_WEB = wx.NewId() # 菜单选项“显示页面”的ID + + def __init__(self,frame): + wx.adv.TaskBarIcon.__init__(self) + self.frame = frame + # self.TITLE = "肇庆学院校园网自动登录" + self.SetIcon(wx.Icon(ICON), TITLE) # 设置图标和标题 + self.Bind(wx.EVT_MENU, self.onExit, id=self.ID_EXIT) # 绑定“退出”选项的点击事件 + self.Bind(wx.EVT_MENU, self.onShow, id=self.ID_SHOW_WEB) # 绑定“显示页面”选项的点击事件 + # self.Bind(wx.EVT_COMMAND_LEFT_DCLICK, self.OnTaskBarLeftDClick) # 绑定“显示页面”选项的点击事件 + + # “退出”选项的事件处理器 + def onExit(self, event): + wx.Exit() + + # “显示页面”选项的事件处理器 + def onShow(self, event): + self.frame.Show(True) + self.frame.Raise() + + # 双击显示选项的事件处理器 + def OnTaskBarLeftDClick(self, event): + pass + # if self.frame.IsIconized(): + # self.frame.Iconize(False) + # if not self.frame.IsShown(): + # self.frame.Show(True) + # self.frame.Raise() + + # 创建菜单选项 + def CreatePopupMenu(self): + menu = wx.Menu() + menu.Append(self.ID_SHOW_WEB, '进入程序') + menu.Append(self.ID_EXIT, '退出') + return menu + class MyFrame(wx.Frame): def __init__(self, parent): - wx.Frame.__init__(self, parent, id=wx.ID_ANY, title="肇庆学院校园网自动登录", pos=wx.DefaultPosition, + wx.Frame.__init__(self, parent, id=wx.ID_ANY, title=TITLE, pos=wx.DefaultPosition, size=wx.Size(320, 174), style=wx.DEFAULT_FRAME_STYLE | wx.TAB_TRAVERSAL) self.SetSizeHints(wx.DefaultSize, wx.DefaultSize) + self.taskBarIcon=MyTaskBarIcon(self)#显示系统托盘图标 self.SetMaxSize((320, 174)) # 固定窗口 self.SetMinSize((320, 174)) gSizer = wx.GridSizer(0, 2, 0, 0) @@ -19,7 +63,7 @@ def __init__(self, parent): gSizer.Add(self.m_staticText2, 0, wx.ALL, 5) self.userid = wx.TextCtrl(self, wx.ID_ANY, u"2016241314xx", wx.DefaultPosition, wx.DefaultSize, 0) gSizer.Add(self.userid, 0, wx.ALL, 5) - self.m_staticText1 = wx.StaticText(self, wx.ID_ANY, u"密码(8位)", wx.DefaultPosition, wx.DefaultSize, 0) + self.m_staticText1 = wx.StaticText(self, wx.ID_ANY, u"密码(电信8位;移动6位)", wx.DefaultPosition, wx.DefaultSize, 0) self.m_staticText1.Wrap(-1) gSizer.Add(self.m_staticText1, 0, wx.ALL, 5) self.password = wx.TextCtrl(self, wx.ID_ANY, u"xxxxxxxx", wx.DefaultPosition, wx.DefaultSize, 0) @@ -47,11 +91,23 @@ def __init__(self, parent): if check == "True": self.check_start.SetValue(True) - # 绑定按钮的单击事件 + + # 绑定按钮的单击事件 self.Bind(wx.EVT_BUTTON, self.open, self.btn_open) + self.Bind(wx.EVT_ICONIZE, self.OnIconfiy) # 窗口最小化时,调用OnIconfiy,注意Wx窗体上的最小化按钮,触发的事件是 wx.EVT_ICONIZE,而根本就没有定义什么wx.EVT_MINIMIZE,但是最大化,有个wx.EVT_MAXIMIZE。 + self.Bind(wx.EVT_CLOSE, self.OnClose) + + def open(self, event): + event.Skip() + + def OnIconfiy(self, event): + self.Hide() + self.Iconize(False) + + def OnClose(self, event): + self.taskBarIcon.Destroy() + self.Destroy() def __del__(self): pass - def open(self, event): - event.Skip() diff --git a/icon.ico b/icon.ico new file mode 100644 index 0000000000000000000000000000000000000000..465ef254844ee6bb65f78ab1bea92bc74d0f66ea GIT binary patch literal 185153 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 YjK44SsraGyURXW!-k~mcaLd2`FG?YQ5C8xG literal 0 HcmV?d00001 diff --git a/zqu_auto_login.py b/zqu_auto_login.py index 8ce6c43..61dc94d 100644 --- a/zqu_auto_login.py +++ b/zqu_auto_login.py @@ -13,7 +13,7 @@ location = os.path.dirname(os.path.abspath(sys.argv[0])) -class TestThread(threading.Thread): +class MainThread(threading.Thread): def __init__(self, userid, password, check): # 线程实例化时立即启动 threading.Thread.__init__(self) self.userid = userid @@ -45,7 +45,7 @@ def open(self, event): if self.btn_open.GetLabel() == "开启": self.btn_open.SetLabel("关闭") userid, password, check = main_win.GetValue(self) - thread = TestThread(userid, password, check) + thread = MainThread(userid, password, check) thread.start() else: os._exit(0) From 405167828b9b7dbfe9c9527d24753f06b1e895e3 Mon Sep 17 00:00:00 2001 From: chiihero <853879993@qq.com> Date: Mon, 4 Mar 2019 16:04:03 +0800 Subject: [PATCH 5/8] =?UTF-8?q?=E5=AE=8C=E5=96=84=E6=9C=80=E5=B0=8F?= =?UTF-8?q?=E5=8C=96=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Frame.py | 29 ++++++++------- ico.py | 101 +++++++++++++++++++++++++++++++++++++++++++++++++++++ icon.ico | Bin 185153 -> 0 bytes school.ico | Bin 0 -> 9662 bytes school.png | Bin 0 -> 20477 bytes 5 files changed, 115 insertions(+), 15 deletions(-) create mode 100644 ico.py delete mode 100644 icon.ico create mode 100644 school.ico create mode 100644 school.png diff --git a/Frame.py b/Frame.py index 0154bba..1e9cebf 100644 --- a/Frame.py +++ b/Frame.py @@ -3,9 +3,8 @@ from configparser import ConfigParser import sys import wx.adv - +from ico import school_ico TITLE = "肇庆学院校园网自动登录" -ICON = "icon.ico" # 图标地址 class MyTaskBarIcon(wx.adv.TaskBarIcon): ID_EXIT = wx.NewId() # 菜单选项“退出”的ID @@ -14,15 +13,15 @@ class MyTaskBarIcon(wx.adv.TaskBarIcon): def __init__(self,frame): wx.adv.TaskBarIcon.__init__(self) self.frame = frame - # self.TITLE = "肇庆学院校园网自动登录" - self.SetIcon(wx.Icon(ICON), TITLE) # 设置图标和标题 + self.SetIcon(wx.Icon(school_ico.GetIcon()), TITLE) # 设置图标和标题 self.Bind(wx.EVT_MENU, self.onExit, id=self.ID_EXIT) # 绑定“退出”选项的点击事件 self.Bind(wx.EVT_MENU, self.onShow, id=self.ID_SHOW_WEB) # 绑定“显示页面”选项的点击事件 - # self.Bind(wx.EVT_COMMAND_LEFT_DCLICK, self.OnTaskBarLeftDClick) # 绑定“显示页面”选项的点击事件 + self.Bind(wx.adv.EVT_TASKBAR_LEFT_DCLICK, self.OnTaskBarLeftDClick) # 任务栏单击左键的点击事件 # “退出”选项的事件处理器 def onExit(self, event): wx.Exit() + self.Destroy() # “显示页面”选项的事件处理器 def onShow(self, event): @@ -31,12 +30,11 @@ def onShow(self, event): # 双击显示选项的事件处理器 def OnTaskBarLeftDClick(self, event): - pass - # if self.frame.IsIconized(): - # self.frame.Iconize(False) - # if not self.frame.IsShown(): - # self.frame.Show(True) - # self.frame.Raise() + if self.frame.IsIconized(): + self.frame.Iconize(False) + if not self.frame.IsShown(): + self.frame.Show(True) + self.frame.Raise() # 创建菜单选项 def CreatePopupMenu(self): @@ -53,6 +51,7 @@ def __init__(self, parent): size=wx.Size(320, 174), style=wx.DEFAULT_FRAME_STYLE | wx.TAB_TRAVERSAL) + self.SetIcon(wx.Icon(school_ico.GetIcon())) # 设置图标 self.SetSizeHints(wx.DefaultSize, wx.DefaultSize) self.taskBarIcon=MyTaskBarIcon(self)#显示系统托盘图标 self.SetMaxSize((320, 174)) # 固定窗口 @@ -94,17 +93,17 @@ def __init__(self, parent): # 绑定按钮的单击事件 self.Bind(wx.EVT_BUTTON, self.open, self.btn_open) - self.Bind(wx.EVT_ICONIZE, self.OnIconfiy) # 窗口最小化时,调用OnIconfiy,注意Wx窗体上的最小化按钮,触发的事件是 wx.EVT_ICONIZE,而根本就没有定义什么wx.EVT_MINIMIZE,但是最大化,有个wx.EVT_MAXIMIZE。 - self.Bind(wx.EVT_CLOSE, self.OnClose) + self.Bind(wx.EVT_ICONIZE, self.OnHide) # 窗口最小化时,调用OnHide,注意Wx窗体上的最小化按钮,触发的事件是 wx.EVT_ICONIZE,而根本就没有定义什么wx.EVT_MINIMIZE,但是最大化,有个wx.EVT_MAXIMIZE。 + self.Bind(wx.EVT_CLOSE, self.onExit) def open(self, event): event.Skip() - def OnIconfiy(self, event): + def OnHide(self, event): self.Hide() self.Iconize(False) - def OnClose(self, event): + def onExit(self, event): self.taskBarIcon.Destroy() self.Destroy() diff --git a/ico.py b/ico.py new file mode 100644 index 0000000..893af5a --- /dev/null +++ b/ico.py @@ -0,0 +1,101 @@ +#---------------------------------------------------------------------- +# This file was generated by .\img2py.py +# +from wx.lib.embeddedimage import PyEmbeddedImage + +school_ico = PyEmbeddedImage( + b'iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAAE3dJ' + b'REFUaIHFmnmQXNV1xn/3bb0v0z09+7Q0zGhGC0ICIcmyQEIgY8BliCGBxGBwijg2kM1L2WU7' + b'xsRL4thxnMSxXSaEsjHGOFuFzcYBW9jCAiS0WWjXaEazL71P9+vu1++9mz+6NYyEECHGyama' + b'6qnX9537nXvP8p17WwhF5a0U6TpsGxryvvc7B5TJyfqz9nZ45P0r3S09PZW3ej7x6yq817GV' + b'73/qx/FY1LhwKm+vsCVLDF3ty5Qtv+sKCaAoUsR8hmnVnBOa4HhbRDuYyVmv3Gpcm/7c5zX3' + b'/8WA2//55eie8fyGVLH8bqlw+aKYv6e/JRhINvnojHhpDnowNAUkWI5Dqmgxlq8wmi1zbKZU' + b'OpUpDUmX7S1B/YlLOuMvPHTnpbn/EwM+9L29Tc8PpW/IVq07uyLeS65Y0uzf0NNEImjgSrBd' + b'iaEKUsUaVUcCYKiCeEDHdlyEEOiN73cMZdh+Im0OZc09HsS3BxKRx3/y4Y2F34gB937mz5Uf' + b'uG/fkLfde5ckglveu7ZLX9MdoVxzqNRcmgM6LSEPIa9OwFBRFXHG+44rMS2HuYpNqlhltmTh' + b'N1QMVeHl0Tzf2zVWOTY191zco37h95QdL3zu81/4H7nW/8iA937tl+FnJzJ3B33an96+Ptl2' + b'3fIW5io2QggWx3x0x/yoQryhnkrNYe9oFp+h0RMPYFoOJ1IlKpZN2GfwkyMzPPTSyFSxav/9' + b'1uWxbz5yxxvvxhsasPYvn+iamFO/2tcSuPETW/s0v6GgCsHStjAAe0cyLO+I0Bb2opzHiKrt' + b'8viBKX6we4xkk5ePXNlHsskPQKpY5dDUHCAxLZev/HTQHkwV/6PV73x016fePXY+fMr5vnzP' + b't15aeiLt3r+5P37zl65fpoGkJehlwwVx4gGDqu2wezTLTw5NUak5512IYtVmulhlRXuYFe1h' + b'9AUu1hz0cFlvnETQgxDwV9cv0y7vjd98Iu3e/55vvbT0fHpVIc5tw5q/eKr7wGzpn353TffV' + b'H3h7koxpsW5RE8mYH9FYaSEEs0WLXNkmHvQQ9euvuwuGqpAIGsT8GmsXNdES9J4RJ0IIEkEP' + b'UZ/OyXSJLUviuChLfnxkavmyq2/dNvncI+d0p3O60FXfejryyrD97auXtdzyR5sWM5Ez2TLQ' + b'StirnzEuVaxycDJPoWKzpb8FV0pOpkyG0iYn0yXGchUAkk0+euJ+4n6dmuNyRX/ivO5WrNr8' + b'/Ng07VE/f/fcEM8cnvnhhYu1D/70rmvyZ4/Vzn4gXYcdh0t3behN3HT35T2kShZXLW0j6HnN' + b'UHy6wuquJsbzZf7xF0M8eXCaI9NF8mUb23FBnl4m0FSFoEejvyXA9Svz/M7qdvoSgdcYIiUo' + b'QrC5v5UdQxn+aFMPE/nKTTsOz+6TrvOlsxf8NTuw6ovPbi1Uag9/85ZVrdWaTW8iyKKYH5/+' + b'2tSYLlV54IVR7t9xiuFZE1dKEAJeb3FlHaEQgsXNfj64MckfbEgSD3jmhzx7dJZHd4/x26s7' + b'6Ir6GMuVEUJwz7/snw559Nv2f3rrswtVnhEDH/7Pg827T2W/8YGNi1b0twYpWg6PH5hiz1ie' + b'pa1BQgt2Yfdojrt/eIAHXhghU7KQQpwffGMnTo/JmRbbjqfZO5pneXuIjoiXQ1NzPHlwGlUR' + b'DKVLeHXB8o4INVcSD3iC2wczi+/86KeefPHRb5qnVZ4RwU/sH7upJx7YuLkvjuNKNvfFQUrG' + b'sibD6fl3+PnxWW777h7+6/AsjmyAerMiBI6E/zpc1/XTo7P8aqLAOwbq8dHd5KMz6qcz4m1g' + b'iXFBPLDxif1jNy1UM2/ALd9+vrVUtu+8Y32XWq65rGwPowpBc9DAoyk8e3QG23HZNZLlDx/9' + b'FUemiqD8L4CfLYrgyFSRu374K5oDOk1+nbXJKHesX8SGnjg+XWVFWwjTcrljfZdaKtt33vLt' + b'51tPvz7vQu66371uUZP/ntvWdamGJuhLBHElLGsLsbIjQpNfR1EEf/JvB3j5VP4M8Loq0BSl' + b'HgMNP69/nvWHQAjQVQVVAXc+yAWZosV4vsKtaztZHPdRrrmEvBpCCPyGymyxSkvIw76xfMvJ' + b'TGV3atv3Ds3vgOvY6nTRuuaK/rhesV0WxwIA+A2VtrCXgdYgm/sSPLRzlG3HM2eA92oKf33D' + b'ch547yoSQYO2sIdrL2zlsr44ly+Jc9mSOJf1xbn2wlY6Ih7iAYP7f+8ivnzDcnz6Ag9WBNuO' + b'p3lgxymagx6ag8YZGWpRLEDJsrlyIKFPF61rXMdWoZFGN339F8mIV9/ytp4YpapNIljPCo4r' + b'URWBIgQHpwo8uGMU6UhQG4qlpD3s4caL2mgNeXjqlUk0RbCuJ8aekRw1x0VTFRQhuDQZJebT' + b'qDkut1zcwWzR4h9+PsRQqjQfQ9KR/POOUW5a3cGK9jpVsRs6WkMe9o27rF8UJeLRt2z6+i+S' + b'wJACkCpYF/XEvF1hj0Z7uF7OT2VMvvqzE5iWDcDDu8ZoCuhcMdBc33tXgiOJ+XUijQL3ia1L' + b'+MiVvRTKNSbzZSbzFdLFKoWyRdmy+eiVvXz6nUtQhSDs1Yj5NHDkvL4rBppJhAwe2lmnPxnT' + b'4kvPHCddshACOiNeQh6V3ri3K1WwLprfgbFspW9TX0K3HJdksE6wYn6DrQMJPJpKqmixfTDD' + b'fdcN0N8S4OGXRur+DjT5DYQAy3EZzZapuS5vWxRldWeIoVQJTVVINvkwVIXjs0XCXo2+RBAB' + b'3Ly6jav6Ywjqxet965Mcny3xlZ8OkipaRHwa1yxvJWCo83OlihZ9rSF9x6lsH4DmOrbac98z' + b'F/fE/OiqIOqrr2bIq3FJdxSAY7NFTqZNIj6djoiXrUtbmC1W8RsqUZ+Orgr8hkambDOaLXNF' + b'X4x8uYZpuXgMge1IWkM6O0cKdEV9+A2NnGlx6aIo+bKNiyRkaHQ3+Zgp1hhMmRydKbLxghiX' + b'JqPzcRDz1zPiopiPmM9zcdGxVe1939vvNatuV1fUS7Hq4tVeS+6OThdJl2qULIeQR2fPWIFX' + b'JucQAq5emuByQ6NUtSlbDgen5njiwCRz1RqiUdWklCRCXnpbgixtDeBKScCjcWCyyL7xAki4' + b'vDdG0KNTqNqkSzWONQxYKF5NoVh1SDb5caVMfvyxI37twm5/08vDWmvAo1Gp2fNMc6EcmprD' + b'dl0UIRhKm/zrvkkm81Ukkqxpc+3yVopVmy8/e4Lh00F5lpoj0ybbj6WZyZncsLKdwZTJo3sm' + b'GM9XkVIyW7K46eIOFAG26zb6gzNFCEG5ZuPRBGGf1r4o4YlpzxyeNoSQXp8uMDQVIeppnAUY' + b'ilWH0wV3ulDlwHiBcs0BWc/DcxW7nlnrznzuyizmUaAIwXShyv6xV/VIV5IzawjqJaNQeW1/' + b'IQR4NAUpwXFd7dGXBlUtn89Tcw0Aak69Dd0/kces2jQFDDoj3jPxzPOZxlTzvcGbLMxn6AGH' + b'+oHAQrAAWbNGoVKjM+JDUwWaWo8pR0ryeQvlhpU9jqoodqUmcRqnCD5NJeLTOThZoGq7Zxac' + b'34jU642mvjqPvzFnoVLjxeEMByYLWLaL7YDlSFRF2Nev7XG0XVPZTLZkT1Zst8+jabhSsqSl' + b'ztMHWkJoqmBJIoC2cBukXEAXFqzaPGV49dmZOCVSSiQLKYecd0W14b6aEPS31NlALGDwrhVt' + b'+A11fqpKzSVXciYPTGUz2mN3bqz0fPbZ2bFcmWRPjJojUQTsHc9RshxWdUa4qCPCyo4wiaCB' + b'T1PpTQTIV2yklPS1BPHpKn5D4W0XNFFx5eueUDhScnF3FFVRSIQMlreHmJmzkEh6mgN4NIWW' + b'kIeVHWFWdkSwbJdUscriRhtbcVyiPp0j00X8XnX2sTs3VjRF1WpNH3tiz3CmfOOabpesadES' + b'8uBIyc5TWdojXi5NRnnyQ+toaVCMZ+7ZgOPW48WjqcQD9WL2j79zEaWqc96GJuqv15llrSF+' + b'fNd6LLuux9AUmgMeYn6Dpz60jnjAYDxf4cWhDJmSRVeTH0G9YA5lyuTM2h5F1WoaQFNQO358' + b'puR4NEXNl2u0hb20h31cv7KdjrAXQ1MQwPbBNCBeE6ynq7IQ4rz9TMMGZGP82e2kK+upc2lr' + b'CF1V6Ah7uXF1J7LRxZ1MldBVhWPTRceviuN5GlTC47h7Ts6WJso1p/tU1magtd4hjeVMjs0U' + b'aQt7mCxU+cAP9pNupLrfhEgg7td59P1rSAQNsqZFLGCga3UqMZI10VWFwdnSRNQQeyZPG/DB' + b'9ReM/uXzJ3e9PJLvXtMdJlOyCHs1jkzNcWiqwHtWd7GqM8L377iE2aJ13hOFX0dcKUkEDVZ1' + b'RXClJF2qcjJVpL8lhFAECvDySJ5s2dr1mc19o3/GgqY+8pHHblubbPrOZ981oGqKwvrFTQxn' + b'Sng0lbC33gs7ruSzPzrKntHCW9KMLRRHSi7pivC5dw3gN+rzaYqgajsoQrB3LE/NcfmLp446' + b'u0ay78//7Q0Pw4Jjlc298ef3TRQGJ/KV/pBHo1CxWRwLMJI1OTw1R6pUY8uSZq5f2cZEroxp' + b'OeekHf8bkQ1u9O4LWwh7dbYdm0VSP0/qbQ4yV7XJlWsUyjWOzRYHN/fGn3+88e58S3n0Rw/m' + b'wptu9c/MWVuvGmgWU4UqyZif4XSJas3BZ2h0R31c0BygM+zhJ0dmGM6Y5Mo1cqZF1rTIND6z' + b'pkWmZJEtNz7N+v/ZkkWu/OqYrGkxW6zi0xU+e20/l/U240pJ2bKZnasynq/QmwiydzSHV1f5' + b'1vZhOZKrfmX3J6966rTxZ5xWLe+OPLLzVO6WQ1NzlyyOB5goVFjRHmauahP26tiuy3C6zOru' + b'Jj68pY+PP3aIQxPFBi2oZxVDU6g5Lj5Do1Jz8BkqUkqqNRddUzCrdmPZASlZ2h7iz7b0cUmy' + b'iUOTeSYLVTZeECcZ82PZLumSRcV2GU6XeGE4t3dZW/SRqQWYzzgXGnzywULfO28v7h6bu+a3' + b'VrUZk7kybWEvEZ+OlLDrVJasWQ/it/XEuGZZAsuVnMyYVKoOrREvG3qaKNdcrlwSI+TViQcM' + b'2sJeYn6NizrD5Ewbs2ITDhjcsqaDb9y8kg09MVxXsm80x4l0maJlszgeQFMV9ozn8Rsqn3v6' + b'WEkV8lN7PnnlL3k9AwCuv/mPj+ycyrWmSva6LUvinEybdEV9SGDnqQyaqtZdK2PS2xzg2mUt' + b'XLkkjqEJ0mYNCUzmKzQHNcayFSzb5cSMSchQiAUNHCnZuqyFL12/jLs39RD1G+wczuDTVfrb' + b'wtiuy/LWED5D48XhDFGfzj/8fIh9Y7n7r+lq/tqepx444+LjnIe7131je+fOkfxDd6zrvvLm' + b'i9vJmxab+luYq9RwXMlM0UJTFGquiwD6mgMYmsJUocrhqTn2jxc4mTaZzJeRUhLxe1iS8HNx' + b'V4SlrUG6oz40VcG0HGqOy48OTZNs8nNJdwSvplC1XX45mCLs0/mXvZN8d+foz9YlI7f/6J7L' + b'x8/G+roXHP33Pb0ya9YeumdTz+qtA82YNcnbe2J4dYWRTJl4QOfxV6YQwOa+ZizboWpL+luD' + b'83XCbtANVVHmi1/Vdqk5LmO5CsWqzbK2EJP5Moem5libjBL1G+wYyhDQBD87nuHr20/ui3i0' + b'24/dd82Bc+F83fuB9HMPz3S/8/b9209k1np1ve3SZJQj03MEGr2rZbtUbJeq49IR9nJwqoBZ' + b'cxq8XcF2JIWqTblao2i5vDySRddUXOkyni3j92g8PzhLTzxAMuYnGfNTrjm8OJQhHvDw7/un' + b'+Kcdw/uTce9dBz599Z5zgjyfAQDpbd8f63zHHb98YTg7kC5ZPRt7YkwUKswWq7RHfCSbfPQ1' + b'1++6TqZMvLpSr5oCyrbLWKZMplTGq2vsGExTtl36W0KMZE2WtoWJNcibKyWHJucYzZoEPTrf' + b'eH6YH+6e+FlIcz948N5rXxf8Gxpweie2/v4fb3thMB3aPpgdWNEeNpqDBsem55irOkR9Bomg' + b'h5aQweJ4AK9ed0kp4USqBIj6c0OjbNn0JYLEAx50VUFXFY7OFDk6U8SrKwxlKnzh6WPl/WP5' + b'By9MRD68996rT5wXHAtiwHVs8epDIaWUOmArqiYBln1mv1EVE7eUqu4nNvXFlt+6tlu0hIw6' + b'fUZyQTxA1G8Q8mqoon4Gmi/XUBRByKPhuBLHlRSrNvlyjeGMieVIQl6NVLHKwy+Puc8dTx0O' + b'G8qX737n8n/92GU95TcCf7YBYcALWNQbpDJQAYJAOzChqFrxoi8+u7hQtn7fkdy2qiuy+Oql' + b'LcqqjlCjqRdYtotpOWiqsvCChqrtEPHp6EqdcrsS9k0UePrwjLt/fO5UrWo/qEr5nfEvXzf2' + b'Zi7fFxqgAJ0NwBnAUlQt6zp2FxAFTiiqVjk9dv3f/GLRdKFyre3KGyN+Y+XS1kBzXyKo9DUH' + b'aA0ZBAwNVVEAie1KSpZNumQxmDI5PD3nHp4spnKV2gGPIv6jNez98Usf23RKUd/87ybmDZCu' + b'g5TydEDUf6ShatJ1bCGEkK+3Krd+Z3fgV6PZntRceY1hqKurNhf6PWoXSO9psue6EgmViuWO' + b'Cem+gpT7vB5199t7W4e+//41pTcL+pwGvBXiOra474ndvkxNj333uXFPoWhKAE9QEe9b11vt' + b'jNQy9717Tfl0XL0V8t+kwuJAgKhAmgAAAABJRU5ErkJggg==') + diff --git a/icon.ico b/icon.ico deleted file mode 100644 index 465ef254844ee6bb65f78ab1bea92bc74d0f66ea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 185153 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 YjK44SsraGyURXW!-k~mcaLd2`FG?YQ5C8xG diff --git a/school.ico b/school.ico new file mode 100644 index 0000000000000000000000000000000000000000..10ce4ace62ce47c9c35fd3140acf2c83f9f13726 GIT binary patch literal 9662 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 literal 0 HcmV?d00001 diff --git a/school.png b/school.png new file mode 100644 index 0000000000000000000000000000000000000000..dcc29eec76e3bdb799af3db6b5d3000766722ced GIT binary patch literal 20477 zcmbSyWl$Vln<(xu1ouIMy9FCOI74scka2+(4_uKvU z?vJglTeqva`t)-im(z8mqt#U9urbIm;Nak}735{q;ouNJ|J-PZuaMZ|^PJZQsfVnt zhlaD2hqtMlC7h&%vzaBef}^RmrMji5g|F*~r6?R6qN}Z@u7|FQvaq?cBZuifI2=BX zF0a&ZaH8TqE~e)8mLAk*me#gTVzg&%U9{A;7GktI{3={3F4C4Zw(@>%mKuJln&y7? z=0X;<;vi~KAK_O9j+P##)IN?5PVT}!VzmF_EBxC22h2%J{Vx;`dokMoP)b)tjau5- z&61j*LxA0!n~#TDP>6$DfJ=ynkByp#i(8PBOOTVBmz|4Sm`gyISBUyQFWOgWZWdO; z>N4;DQ`YO77_E(mhl?;Lr?Wvzs+1w~&w!Cl?PV4-fk*2D`hjlZUAfyOTTJ zzd6WQx|_S%x_H<+J5m3`(bUY@(?g8*Rnz}4!O=xU<-Zs^x&No5UR}oNW9q`m&B4X# z==hIa|H5|nP`CWQYW$Db?wYJ0lZS$g80~8hhlQ<$Fdvr%ucZ|~AG;YhA1}KF4t= z7dNk|<-hs-PxM0X1^5J|qAKTx%j!bWw|AJW%&M0tKj7BVd`XV z`ES{_ud@G>mgj$^6_$3hH1%+H({y%r_;(hl**JSRyW2RsP)kcwGwIkmSvY&UGyfBz z|1em_(#_V((&D|Fvm^DtTr6z+KZyT-GyOm4E&hL9$N8!h=RbM!-}2_)px0#lr};C@h+Q+sIe(go^P*>IX z7XYrl>w6a*oYJL&jHIT|@^N-_=ynN?EQ9jP-_*9zi_kE7q(LP-(W||2O`XDa3gZUE zYS*}e`(RhhLGE+Xp>AsmM5rqkWRN>PWbz#fXqyBUXTHH3|1Z#g>koX6+B^$}3qnQc zOt5{i2fYMcoWcIG2gy-*J8WF}jgLLSf6|x_;Z;VYhgmw*d?Q2tzFv5+e}3Pk=-KnO z0PSxg1q@QZGgqz7uFiK(x`P#g0@6vka>weqE8zX@1re7zA3xamd_d20J%HAumd%R$ zpk0jBso_;LM7ho^wH`6atIbB3_wM}O%}YMUUSxq@7gfn-q9>s zof(2ZxitiYy;xXNfrxVUZtQ9u%~1W!IILCB0@x(Z8+$eCzNAKqOV`xbn04YmpD*A8360qsd$)5ZPr)I?x$g^6zuayK^Dt zR)bNT=Fj*BwB|)D8#)tS2UU9MxnRZ7zWoY)-O>069CUo|!^^rLcXmlMM5z5{Piy3_ zHXoz>VH}lhZxYFK?DLZ8?58*S8;Qcu?ia<;KnmOxx>$j3AObE#R1~e1cPBAxoTEzq zvp%7C7|jYaauW660w#0ymh+eZA01El>{vw8O3hHuOKh3ab}HAy6%mS`VvSGr2>+?t zt}nAFs#703+0mECy{@um$lo+!aL8-E$CTb0fO=#3^D~&wY}AID02!jFJ=NDy!w5B$ zs2-r(>ieB}hlM3qQ4|H%%BNJoZhU_qN#xOO-AgCxGs-551is9}1bsa^DR;X4Z z2k*xM8pJFe&?WFP*e$ikXed*s8>EL&VlD^^VNUl)0vhr*F*ovfg!dldXfF3?OjfAqn_Y4xvLm zs>XILk_7HzZei~!0n>L z6kJ`d&s20E1j+YH6<(Y{$GB_zhy%r8oahjcV!G;&gC)5s9IdcUC=B8ghVfx<(d|{S;!<-8#d$x zT2GhHobirYCs|B2c*7KvII5Su?}{m~B|IW%4~yfG5AogoNcCLFRv?`Cc}4iB!OcLY zh=9qd(Y>$WmmWyf=K6HTMm(lxW9%g zj|iq~ICOCA6HEf2*;EBrYN`(?NRxUkY85|qjo&Y_!B97@{_^Yvy~qN!QK?iQp;Yq8 zoDY(iB%)TE2&@JXz2|X`JwA$to9*iC_VbXzmb9rq^Yc3IN8veq#t={dd2;Pw`#8Pp zdGGe~4$B#h^Q8$GIOL^bZ~nS8WBp6lJ7oCQaG+1blDR^H(SCbipYb80sOgR3g>T!5 z{A`zJ2dO7QnBY$L2D%l1vrT@TOLOMvW85z17=TyWyVdwOeWF0%WrCvgjR9rHLJBF= z1g;1FfZK?Zf2Ll&i31;8lbxjaRo2x7A-D881~!d@D=#7|76OgExZp6z=t>c<9pFZ> z(=yg0odnu!3G}Qa4#v!G#lu7Mi9%EQTbAKkZx`W(9j&n0^bS7|)QlF4J44psrL(|x zKa5I5=*T$6jK15jn-E{Q?>Z-aHBh&STZ#MfEyo&`TVbNJ*Sa?S>AoFaa0v4@%9K#d zjF>)DtuIvY?xMTHDxsl-PSJLs32X3|Gfi|__dJZPKk*HA(BRc&<3e{b$Dpm{a;0q4 zIhvo8_HC$|_LmzJj?$6m;_8pBQ32`{B8Jb08E^`gQq3e&E_7mPx3naj8PC@*)o1H7Tu%NYLs{1(FIClxAXc(p)w(Zf8V)a#MA-?)wFZx=vL+vFB*k9T82 zxXmG<*Su+nBf2V`KyV`IxmR_{$w>s>q5-?)J?1cBj`-3f2Cw^BMwXcrc*X7@ACm=g zz!=_$+G60wYGK|HEQW%D4^O(f$PKNGHX-QxlN5-&zrW4fSE^^>e!g6C0}^&T)bIt zc?;~G9D(gzw}^6}f_yEf_#%VPfA%w<)#}|l^ZNF4IZ;IxK1$ z8FJ7YAhDR1Bidyf>~?lP>~Q6CWbB2W7mrFxFi}lUS(No$^tKB`18vAm;orB9 z`)rV(*Dl-DCme%??-80^kA8d7L_oR&gxNYF4aRbUO>_z8exVjiSa;af_~K(wpR?Wd1y9}2dc zyG+N)4q_N3LU7jUu|E>rQ1#pR)mnF1n=V{)=OfkhX`SIz7k6&|`-1JXe@6zC7sNL= zJxjIn@jOH?_=TuMkTXc=ljQ>YMB|^Jr7)K_Anu<1)gu30EzNs$Xh=d*&UegnTu@N? z{EEKOF;oZzn+esD^P;~-?A!claLUR4IXW!)P_k6BvqSqD8@*j+*pe$`;hBPSV85&+ zWUJdaSKOufmg2`K4f;iU2Wy%MkkoSssm=FdnQdQ*sM;`ydgkrk)&1dTu!kMkcEL~f z2-W6+01qti`W{&*KS6fMS<*Jb2x$aBed0-DxdCt+)FOZ^z(z9O?@{ol(81^X{K`r#&pNs#u^R}EykmoKc#~jrGc+%)2ntKywH?xzF zpa@sEIn4-JGvs8sa0R9KYW5A#rPAQAkh06U?eHqqopa(1fj|cT&(&BGc!Dyu(@oT! ziwtYczumUixp`vIXa2`kG@dJ#1qQ1*X_lIqfatvP=B1ir#Au)o6$rlk;Lu|+%DI@d zBLB;52t`ufX!8>8b)=SO)<$Pv;q`UaBO&cd9m%x|fH=GA_}G4_(*FtVPpWWmMdm#s z<1}K#{OVZ*JY{KF(33)$Moq*PFo%!L{;j^|N zuV0yNn*NOq@az0Y1Ahu4eHG$%0>g_pGo~+K2?ON>_d&|r;xUbkp+#`VsnK8b|fC&xo7%8b^E8%KM`3P7oJZpeZ_AuJLfd-hJ2we|{oNc zUctiT6L{lvg{Dj?-I9(Y69LF;oyNW(u^m)lWUO%;cWrrBE>Lp9={O z&`V3R-CU-FNL-!~cA|R^PEk!?_j=Din8F zo=JI;+ke{%X!aw(EU6+eU+Ylj$wz|FUlmVYB8z?F7(IV8`c`D~>f&4zC8Pw_eS7tX zBO*jsxIHjjAj&_Z^?&(gpxAq~``Ag2SdiZM?=wTUd=}T|q_sXV(N#nn%h=5$tazgDBW6F+~ehw_^d4k%}kS)*@qNPcIa!uzu%y z*n7RQHk--ieeVUOs0LB)+5a_Hu4k^2> zcI(gKQu((}rm)-wcji$8YVvOkniJNOC9;7VX|P0=;jt#@kOgP+?q>joU~aw?Vv)1> z4sL@=!n;Yv8`TQP5%+zFw5o`h^bZ+_AFQ*jJcz)!54Ge3pBQ2&G~e1jZt7cAzk!eQhE!1UDTsr=kA~(v>IMrnm1EhTGbOw-CB)dzD zkE`1RA3%kO0%=wYP=gWXjmR2$2%&cz-3o1w%Xbk=TMU(Ws5_|fLMQ6^h90SV?D2QN zF{f!xRLofTeig`EVr@+uKv_={xFM3XH78LZtqTKVs|mc?E9weq3S zm}0wf3u|})f9Th?V5|F(KGn7wkLj!5RTQaYKbq?v$kGO$-vy1mES+)m1(k@*j3MymBs5(O}|6q#{cRi(eC zkK%q03>WEvHxjM9AUY9WREGLBjY2!!xmvam5m6l~+Ziy-)WC3rtT*^Il0;<9tQ>pEPx;=O{Zuj75>eouLu}neTpGtQNmQ zxjm9nc9&~3=cifm|E?dHyL7pv8nJ8EPn&(upMJ8>V9~P1+ zYZ#czu!4M8%^;~zBgK#gOz`BTplVe4j9;ADKpaGoCBye^`b6~Eph5R=q zF|)LdPriSM*${CF15w1N0(1FN`Y0dY%-&6*0`(yI(vW-tN@y2~(hFt1@-u+nW1ihO z(VlPX%}R0P4I=w}Ol4dyHHf?RY#1-rUPqjoJ1Ao5m^>V*Z8N7C}b4 z*EhRn72uBfu12oO&)5SLF(PsQpoKrR*YnmT} z52o3~*Xzf-8K(Q@AUzANOa7C#578;Fw)>sf-gl*(Y-OTOQIgs;av*g$`BU(SKaR@? z&wj5wl{*~_+lI+U)E^|RJfXc5iKbhz8O9&*29RoKz%3sIT0ooG#ML-K-#yuVP=sg1 z1_gh>!{^j`5biQYI2cP(7pZ;z+X%69NCw&{c%NMCs1NuLr~a9DLunLrqbS^s1^ftH zms9q~{DW6q`ynuQ%>_rHM;}{^+Yo9!Njc|Bv0d}kc$FtjN!zsy=-ob&(9qG$c!@Rs z!z%$cHNYCN#eLwKE`DF+llGmi{CtFmSgTWHZZ7)5_>-ly%5ev*FH|(H z`n7(N0aKBr6Th3Rfa&UYmzE{q6{VF7!SLl=aHp6i=gA>8Cl_RbMy{;|2fz6Ug_ zqXx5WKl!E0kMh}GhemI?7vRBz)vF<;;PTbk_7cDB0$ro+DcJv{H-@EeZ>umQ;qRwX z|CK6GG%0Jgxd@2*eU@IfIp;-B2zb{rh8%}~BgsxOa444)NaXrW_Npc67IS!LLUkw`PD`_(4VZI298Yu_%@TY9?-^b5){1@ZZOK; zN$3PZ790;8o;`d}9B%M9(LSD!m`CWvH|cc$DBj)fw_ckqgFcubgE|Tn#VCwx@Q5QW z5MM=|o%*Tw*W5-kY<~ezFx&{an$UUigMLtp=y0A_8;0B)KJ%Q2DVc`4Ys7)#+e{y$ z_VGlB_$9%A@C(0N`QC)aK!`uKwGuvfl+Tv*6oY@^I^4XuIQ0L~F$Q)LeT4jr3AUI| z25hbr4D-1;{N^FL;V&s$i4sc+svcD17Zi;prs{rO)i~n4856eB60e%aEVJXEaW##v zZ{^S_^D{EKkt9pVJ3)bvM?Z_(&sqO2v1ru}6zv1tL;RZ0kmva?e`YeoxkOcEBZz3r zhaI&{#slot6a@XAR>o0gomW59I|3E_TeUqNZ_Pd8CLH(!yDcC3mvJyt%WkU%d;Eq1 z_JgUVzN5*nKAhCh@%;kPOfq^_k!zf}eLCCa3CuM+DLZd_YFoYaC;l*mx^LdQlY8{( z>U$ymX5#Q9kWEDYY|GZff3{N`q8Jnnxj#!1n%64{#Py|G?eLTATMiE|MSC=|u#65} ziwM?2sd!ud601Wl2MD-DwSpL2M2u^rtu zDUUOPUs{mR+Mt}z0F*kf@s9;(FlC9qOopo%>Gi8CLGXzwoPCzn|}3r={JwwVbL|5%k4yZ)8^1 zYNstF%N{3yKf{ij0Q4U#RZ1(bnmylut=Vwa(~6RaIi2$+I6(C`qi-pS)kO~O#Qxbj4jpdV06JsK8r{rl|w^PM?^;fKQkPrNqep2Gx*E5k)w6oPX zJV_WfQBuN!M|lrG$oR`D)>Mo;A=VL-$C=X4TaBa=h9Z+=B4be5H$csyiieA6^`>mF zxyx?N)B-b0-`Pa@)UVX|-{&KUiUV0Xgdq0(Hi6N}po_)#>mwARR(NN3>N(%Zq153- zqHREof)MtZ19S8XHR}WJ8=-Fv6&uCe`leWLvw`4mIrBMTb1s{Ffw@)kYvvCv=Oc?8 zqEEUXercpiba8Y{RT{7z;wc9u8GIndNftbWDGL{YAhduZN9B~yP#(~sg;W*>f78}h zp&`|QvzrJg^ueJ)9%iyx(-jiFMRSjQpZPlOJSDV8gq1HD+TLAm(fw5i`LPPnrH*?t7Cl$B~w|r|3KeEz&KX z3Iz+lCs9fdZ z8|Zp4g9ojcX^h(>e%Y5aKgc%$b{HfWlt{y>qng0Sg`hO{A~n7o1$;W63_mZ@-`?Zh zp(j{tw=>AlRt)%{E!4Vkvznxbw4Bt9w?u!Y6AQDxTF~jWPkaC#?&XPm-0ne5mK6Vb zf|Zj?lkh*Y_#P{vwwiexRpR3w$}S!Vkx=9%Y2tmS z3~hKC(~&;tM&*NeA(lO;sh`$xDF4A|43Ja@vRyEjOg@Z;JR>ZLRDq~h$dH~oiM<(O zPmC<0EPG(^&|L#=^ws&^zIm`~I;`cMmRa{q9xVf{HCKwG?UKm8(-WeAdwLZb>~gJ??SNS$xc$$T!b zpS>-cMf&L96_)es%;5T9neQfD2)87FHM~*`CjU0NdhCbiTTG9R`P%0spSN@>*7WzE z7c^|Us%*-^sa39P7@G>MpUP(v*z^1{C#_m9E$z2^|z%H{X1Kc3Gic5+^R1Q~)IUBgfw4u0+~HPu)}o z#8Q4Lxe2-ba!9hf=LdlFlVqDm$P~xa+D5(wM^)EnC}~T%uDAg>AWa(pGIXN0iPFSx z>^%ixhL7VS@Rf@Vs30*|4+1E!`J`aGp3bxsPic>@o|(5xD7SB3IQg6s}*k));L@|gKiu4>)zkzR1w=P@uPzDS!f(X zPVFC*zyG9nj1S}ENj-VpXtG|E&)Gaahz{;}>OujQjsJL%$%dX_Bx87? z?7{(-5D8YeEMZ}z*JQX)dQS?+mX=_-g1Y#3nOHsYfjZd%D#btdkSt*YdmRDLfyeyj zImarbm`%I{l-0v>_8#xXug-0`vj4u+NChlhlOD_$6g?1BV=|0Uz&x_liQAiali94- zq!$>3`91ql4PLsUCtFQOWW`5PeS@b@e6!0yv+PyG1R_X!sP@Fev9Nw`Hp{gplxF3d zhw!_+yVj(sdr8ZArFN~GapKd{vhv~K`Vkf-RIToynnk3tpisoOJ zt35(?)m^KBmF?JIRU3U<8Bu zf^0^rkX)#FT+Bnm7O!Vdv39_5k=UB!4Z)4;#&$bLh3jhD{Am3&O7^*sLxvs-cFAUE z45h56vGd~}14!^~+){H-kfF{dKGLLES_rV_*$W=p_hdo|8tP^1xT`5O7%~``2*{s! z{(4F;ZkZ|~?aM~VN-JCe0zv$y@h6RH?Jk7ak02CKY6oq5?+oF2RKJo0OPs&)4_PT! zM;m^~rUdT=AvkjU?AEKw>8-R8?@OPsk9dX1h^B>-2g*TWTN5FufyXgGuF#1uI0K@A zZl7UkP8d=`yMd_>XoA!NoA`F;LSq2i5xYUgY`b5@%R>oZ44iLxs1Eo#V8>&2*!PWh z92Ek#)9maLEP<4D&i)kK^ZjRjBEmF!8-oQdG<=32^PZla4 z1t4$BuecYsq}TNcp++5{zb|~rNn)Bk2h05tB zB>y36#|J%DhtpbUjp!~q`y9UdaMd0qq!6^B2^^ba3`79YfP_!os~$YuI=F}v{BF=8 ztl53Vgp)&Z{K#j`0UYX3)f|z#HnF3E6DxQ#?IUxd>UDLfOWA|Z#b)fH^#*>|)GfMa z6WAy0!NmI}S~_6a+txE6M)cRV5#*r^@DlN`5pd)VJ^8d>4#2q)n!G*a^PlNOb=HFV zL_Vx0UmYFzh93+SgBK9U&o_5LA@r-_rWa&KvkCzVcGV8n2#g?wj`vR#kk0AbA4&mR zZ*Dd-f8LNXiqGx4&oNSc08$)Xxi(FD#6NVuxk0Z@eIP+Lkq*cy0_7#0;IrTOPL5s7 z!~ZS<0duY{hXRT~u!gcpP3Olsz98%yA(102v3a>CN9-J(nz^Bb$(jI;4^VeUXsLEU zXdx)?8#E8ZxC~-sGg>T3sEuWM{&`J)^y$vm$j#eKmNtjYC~|(t@{vh;&Mh$F!Qjj{ zoW#!W`XIQZe%_i~7XOoU!25|m4=s}dMvnWXEc>2pry4Z@Ce8P=c~T=2G|~Z1+E5G3 zR9ykB6OP@}qofU@y3bbcH0bs{D<2#*h7S)mX6I2mngEHppQ6AmV;)pTbWN%7>9im8 z+l9-)Y-Ip?Yv?xb7U*su0Ac;G>UhOl1FFkG{P8a?GW;@eHCGunXSA^W1-`_sU)!Gm zGy5O9ms6uh_1QF{Q@8i&S;R-vf+IabS^@dxx}K31>E!VDR3-(>=c+4_ScG^mbgN2t z(dGpqN`oQfsMB~Chd`L2pQkt`4q*KL%X4!*Rhc zBS_wP>L;qWEn(dDxPDv#2{hPdB44zI~sx#<;=h?{(*UJ#kco;5lA5!{!(H=4VpAx+(LOSz~#2a zMkvu;?AaS3kj0@{I{8*&*f@JVz2>5Z>JEvDE&C|LqU5eU6e*ySAEFR2qi{YE`Wj2I z{0S3hs;>G^Bg$?B^Tmr6^Csg0%K0Ks7LtRg=ZtgvIa#Sfu@Gz21?+*n-`yWRw)YEy z_&AL)#Ho!p-CD0>SoVYgH>FJhaW#`K3+e@=p=OWQIe*xeCq~mv>(0FC$>FyKU=Z_( z(G%Z10jxC4ghtHiPI61pH~_og*p^bmoZbb2UdN^y)P0_@WSBPCysKu)7aR+*_jyAg zHdAB0YCiCdsqfbI1MuR0Oq9CCJ2UgzjvF5u1&yBsmjh&$JO)S1BGZX)9)&q^3O%m0e+>Erh#dhn&E&wv*B}F>OoVHgser^o5Ok!Sv>v<4QTsl z_RXp$)PyPpZ}Dp$C~_Y4@fVTkpj<%&>Un9?vEWL_6GBcgXj8`l+6Qwfl(z$<qtwkuTix@Id&7!n!=cDPx6 zMm%~oHeMJwz&J(n`4`#iP`_D~YTY8I?#}exqi+c&x^#*uj2H_E)ILiQaCWYPPB(>)@F(=z^TQLgul06)OlMGxBf-<|oE(}8dG)&TF3cdM zY#6YAG4JZ{qNLmnJTZuiob>)m!lsXLCZ2TKdGh=V#vmj|B$Z+wcX+D1D{#mOMsj)} zi)vGVDzzfT()fn%k~nnw3Mb7%+6@w~vv$G!ctQo)VfYZj=s)htJS7nK23HpG2oAx~ zvV#gZx0zmzNyef41^rTqGEnpL_Iy~v&W~A{j2W5i#xB~@W5EXEWd7oH*1vE!3KZzw z5#aKnNbO}!OM1Qj_ctrv(!JhbS$Ezv2> zdK-1xEf=B?AH*&`)Srw4bnMo7gqZ~8Yl{r0#t{;kACW~8Y|AZ&$j{=7y&`GZw zWR^X<+CX)q7l#3~Rp1YeNLf%8{R!>Ca%8BQ{O6yruq|xSZ4TpjuxPZo@tt-jgdJe) z#52#Lr8PVBDS^&0Z!Kj^1s?+k&~A)6$7ob8wi$S1Dqyv|ozpQrH+TDS0uQ9$!2&yv z{tEy0uN+A=SxiV@c5aPTMIv@>j3f&p z2F<&{ke|aT;@g|BC^+;*qm{(O{puM$3p`WibWs1-!>|Nv%U=%r=Q+8I6C1dShc~p3 zM~ko1DwY5xhtog1U`YviO&})FWm6+wL`3j?~Iy&*RS>Opl|PD)B(A}hmTyD_sA$NWS0{*U*@^x{!3!Ro`2X5W-w zXZ+pz0uqKDy6|}ftU&M$)!!;S;8v8@Ha;Ju+s;J)u6E-q@5YaCDk>w|H3Q9a8vg}h zHfvI#tMsn?XQ=2{Zs?V3{7v&n0-+ae(4{~Clj^r!wygpZajOws4Jtc|{VVf+nf!(X z;+|q$zUvJ{JWwZ=FU8aAawB10+V&@OkQz^b1>}3TDcODW9>rP)W_xG+pK_e&&?b3E zqSp*_1_%Sh|QpT^9@$RVGzhMNkAQ?n0#!=f~R z1u@~l$f=#oUlDdOqbSUyb-ZOHvz)-!+{7>1I+~BZ59!{t#i|8@mX{0DKxCi~{DI5+ zpRRVTS7k|XDJYTg+tS}O+NZ_<3_G^I+;8+~LTSW17<)t! zfTlP3U4z5fNJ1C+9=+IDI1_naO%B?<1{5Ke?cwHXv7`#x4;m3q6hy#UM9~;ay(U$VLs zGk&^kzuZ6ypZ?!@UXfWUkni)Xb*oYExZQ0c zdaZUZh|+;L(csQ?Wc5r9uh0>?w2TD~L};!TCYdx(>Rx^qY0%Q{3-(879W#XPcJ>40 zc8?6n^p~1idDU2>Jq9)`ir>7JKxnMNf@-pvFCees82es`79{n1jphD_Eeqk-p4pL8A zj=~?TyDv&fqmF_X(<>dJMy%Ziw<<1b@n3NQTd(MpMeJ!WUqtKS zriP>d>8nFjCJ+2w1c=|cy-!CPk&-ne16_9!0-OA}!6NT=t?#`w89b(DSF_Zyeml+f z;|_SID&OdJVXQTd_RF0ux{j58G?xh4xoSxF`|)vmMK?9M!rcQ40h>%RV`YVemu(Zj zAIq@zh*1`YsVZgierMEJ|xc}UK&1#Q;CNuAh+A0TDx zs8|#OP-bId!TjXSN}vT%hrX+xw;9?;PSU!pc%Os+1=(X-+KMf%!1yCGe}N?C{U7vL z1nTOhdDdV2i^&YYRx{k=%0LHK<*^!9Kvzb?@ZPh3?qUFqp!sK z|E~YdH{J}Q4=BDhUqZF(qIrxz{svbrlOVFa&Od@se!9@>QYN z#kt&VME#;dQ3eYNuV~Yucj`SZ@p2dNgg~wx>p_xohYl{-#WcQuSpo^*mTUqC;@P#B3xK_33getk=yz%tX<%~z-SFo(?TY20?* z4nCX?UdAZqLB*R94b*v~HcViv->zy7lX!^J_wi=$-}=b;Efv^-V@=&VL{|^e#qSDd zInY3!5%rkRl2pfck&pc<}x`r8h?=5r9 z&r8v>6}MagDgvD&{+IYs< z=PQ(jm%2LYw@Rgo9{qBYZHU4(;CYnq9KCM>yr%HA{BoN(nBpwG8urUZJu^fRLn?bN3KInXmg%3&&*F_DrJz^BWDZiQBx2fB?nbA~bq2 zLniO*j8d?ct9q!B9aCl$VhAixvm2; z{RD3;D$p~-zFK{vJZVzA{zVin4KdS!giX;1C6!XAXj%wbQ_azaNh&X)?7_N=M7Wl! zJ@8zF=s`{pxBD*{2J9D-dC{1tpc9zOjouj5Lc3)Ypr?4?@?tw_G+{?n-&x_?r4ok` z*ki*Pcx%W|hQr5X-9GcRZT&4M5EAzb+~d1{gg^UR4FlOjJmVe7Z+<)-W5h9xlGtJN0*@8iB=-@SV>i#h8Qq1=-U(0?869!a>fbMZ(5k8-_IYpCoj47Vc~PS%WNQi z7}I5a0s_Eo(iS(r;QMojM`WNzP<;kG?>*+ zi|ESN`4^DKSmMs;Jh#9!U$cv`xq}V(^t&EQ!Dw(6`L_PhyP`#?mqzCeue7w2W9b_x z3&i4nq)e{DmwZK)8Eqpg3pdF1S?YD>7OzsbjIW~`SH~tuoH(Uq|9dWDz~HVCcD}5jlz3-}_m{a3}D~^VZ7_YIFW+M(e4u zepmOSSu{N5v==QV;UOW27L)>OR~yU1Kz-?$Ojaa?EmRn(Prs(= zPY#ldvkz}SA2Q!=T+cdN%o)s^ywVnqTJpf45vO*_(P;M2dJQUo*XbO|uNUkI74WVj z_tqOx#n`$MCI-@Yk&JLyxJj!g4~}VLx4e9TqYX6#TJg~n8>yRyyt5G$+~~{l#&SE- zOn0H89B;V(S`Ry_j_|)VvqG!eH{B}uu6RF@S6zQmYZkdyq%pY>;24bXvePR&ud`yr z3{98VU(bE&ZH@(tfk5{{0$y*I;x>zUNYu*M`|+$z{m-O!SatLuWF|hIDNywzAHUR1DBo_lH6&a1H7y zVl3t2puywv_-7c`A3X^&a)eQu@i<#Es!n(Kdfs6gD1SIr{bq-xgdJPd_S> zGt4fT9~pet24D>|I+N?C_@XQs4+lBDw2{)Vt+Fzk^ehQ7E#LK-O+mUM-6QF@Gh3Co$e*41Yk~`;4 ztyZHbJ)0M-9N&a)%nSKUGzw z&&n_zCJX$c4mP+^v=uJM9 zyP3=|kb)|e7U3Z+H&}A*-sx0?(E0RgB&I`&;U9{e$TB$8oZ}*4fOpnC?twO=KUY8+ ztF!W{2q&LK;CjkapQe^fO@!9=aFOk>QnnZ8-|{KKkYe%2>CKGqgNoEx#RzF?2l58k zv)~je;2iG=b{uKqVvDk1o+7+W#s-00WLLgZo0t}(NCg8ShMOXUYUFE# zeo#3BZGwT)lx)J>guBC`a0H-hNCMjVF+YhkJ@aAei$#?IsRS>m1fIi>?eo{zwmK6e`k#7cUO?Nt@YoNnH$wRhaWz9;N-#q5^k zHs#Eh17bXnr3^#J_CkgI7F68L?h5}_LvZ95zWa(M6F%r1 z$uM4~u-x(u^wn{z>>>U9mazogCuYwEFe?1J>sd|$rH=Z8yp&(&MSziZgdXlen?kh? zIMY%Cw4Is;3i&d()oC>RDAza_9Y*bf9Sp+bnyfMKNoZMogRm{jN-B51ObKQ&N3g5&|luN3Ud{bodx+~;GBJWK8@d`2FgM{Q@%Tk5S)#lJ& z;RpDnkpw!ww6K7tmBBmTWpRMmQ<_tIF5V#^*x{WyGrCnQ;G5K#*`Qieq%Q(L38E{; zb${Ch`t2q1_lz~H(yb@35xHDzm$u5~+)_E5LcB;jroguhtc1nRzZ7HQ*0h+N>?pq$ z5bR1hwuivr{laoY5aE+<_=d9vYEmI$7(AVBjEvvc(x6~nRwdOC8a6mtqiJKkTI+^m zRs6QxCt*L~jjPZRYtV}Q%j3#R4r(@Jn6x}s?xODn6Dx|ko%O@Bc0`V!228QLhK}>clW$lF@)k%1K;FVRZ@^wEx2Xs9ISz`EF;D5rhHFzsDK~R3rx` z>gPAnzu)a2*1(mT-m7Fr!_WAUD;1DmC03j^E_N|8222MQuw}hv2yOKEV%nYP3(WZv zL~|`8FEgZp;%s1Hhsm6}gDqfveeHi#?F6;R6c0K1l+WiJVo;GtEMoCVk)Tgh|6`c{pvVHSH}g`kE^>ium=y_s7AyC_Fk1#XD_ z)X%ng!}BVAD^k}$BK~l`KwWocs*^)20q?=$Z@_@EGADd_UmQ7tX~9sjDhl|}8pc}) z64d_WY4?lq%v1jBt^nPht|Zt;3?It&Ac`Cd1b`Y2(#L;+o$5K!b{e91qz7-F$MIqP zW5Dce+@JWte14b9$%`5nBfmLK5)f@yz6jupl7B{ufzk8Q8X7@J^Y9pJiN%83c~!}t z45v{z?EyJ>jv!Phv2xR6rxkJmFMaRtCFO%8)!r^ZqyXglORyx%O!Y{XOeGt6x@|>j zZ)({543(&cf9v*@6i}S72h?M*JP_&de*)VLB=Yd>ANXe)>t<$&cV_v;N7&p3q;3k7 zj7AK`5V2ilO7!$}x=z6-`uLfGHO4r7_fe>x+F?oi!+b6Ah1HT3;CON(Rlh1&>J#%T zX5r_;Sid4Y;oJU>n471GFv6(eNVZMo~Tc*W_vOV;BtW0^WXUa?oqA(sReN$D_@oF4&JCeXW`@4 zAIx$;W>Am&=)3x4GoY0uz}0qgGQ^Ybh=dY8K}}v*Nm2-In337;%{nDY~?b-jSk z1`8yk2q6y+VV=Le+SQ75tQQvWVOwq%x=lf$C-0MeeHK3QEG~Kyt^NU&ntNKr%o1Fhvn{oO|tg9hZVkyoAEOB zA)XbxV6gE?mR+<5&uQTvL3_@k=RACL{fV*xRPkQZu!vy!1cB@uhX70@sacg3RhPg#Mx^+J44zns zIHZ*r9(v;I6Y+7aU%T;Fvnp&0-i!}mHk4dwo2t*pTRANIlQN}|(w`vkEEgQf)k5<7 zcqu)n;*+OOrQOx|TT~-H^CJMBD`hD#>g@ZMNcv30I-sl)QB1gylA+!FF{hsIrA6|> zrA1Ddz2}Ps#Y9U7WbDyH z&#E12a-_mMtW&k;YDwxJbGBAKFP+C z;us(l=9|5~0-qN+0*HJhtzB-u)(OF+=1O zVZY|dzV6|NPt{LeAT!{~jTB)YM(XsuOZT9C@siaiuw{7uiR|>GlAb;33uX18tM9(= zWZHTbMYHFk2m898pDnDPE$p#)Z-rPO4Y_Qk58jCbIX-du&%o2DDlLQrcHS$iCz z!c|C?cQ$DCHhQkYN8(4Qum~tLc$aL+;KIkBT9ef$GTZr2STIXq<@jjj@b8d=fAJ!( zmRwqPJw2D<^Aayo?mSL626NW*S&P>;iw=&d55;F$eQ4!K_CZpjgtgoHVo;FRyy@dU zuP~Y~#^o$C316rD71Cuk0D$Q6BXK7Y6 z5pHg{sXnl8^OfX3J)U9KvuwA;gBq#7)o8v0pBEJON~^VijP0yISi4&A$<&9oxu*S! z{qP}s?8xv)3)j`p^V(l08bH#T&hJ}wr7`j$$?oEaD)reoRq$!-yl3(P((E(5pPtL{ zk@*3MADsMkKuTG|dw&U7>*U=(?^mB~nOp;UT5(%rwe+OSLsz!ueSJGVFLh7i!1t`8 zD_C`xRsI{Iw_41nKA5J@g%Lc&=&Hv@GMRVF9iKqY4fwnwr~;Jn(*%&n4~BlW54EP= z(k5Y2yKJUE3Mg4UTRoC^2VcK{kLZ9Ydl79nkp#?~k=p$g#TpYzblmfL#yz>4?Bbhy z-tL)aA@5yR{8ELUTb|?{zf?4UxOc())|#pdqF zf^J;ZN16D`)o1UVG0wrKJzyF=0Uoq)-HVUH56W#aGC(!rQ{^+$c@C4LKA4X`wYQ@4 zXV#NwJM~8KNekD__{bi-Skn@co!gvq!sLBTyo(;u!7T3?@{%I0c&CP*?FxChr71mk zKEYe@Q3VLH5Hy+g=mW^L9fW}oX4@h}ReiSNomk0_6r)HjW+4jyn1$M@r9w@KFV5AAq3y@oB8& zEPjl@K$)MsjsT`f@YG#K&ts(LN%*KPm{JL(zrv&+rWZcZ#wS`^;=0Z{AE~Or^BCzl z1)l?LMw$TS07X7l!CD03orh)3&>bs6bQnDki1nOV?mLa^f4Bzk7FX5U30g)vi2qAG`Zx zsR%{`9TuJP$9bL=>UnD1$7urPZhYiHY4WqAQHOEV1)dlbc65+y;lc3G$MjTuEE6be zy%gSNO5Z*g^MnLzEH6TW2y(r`4}|B*_*f>8*7?m>4)!CU1QkQO;S=hAty#74;QZD} z_=L`(AD0P4AB&dfq_)TMQ_w3Y9b$nT9)!}OR?~;V(_4MI$0h9dl1`7(y%{D4%&l)V zf^1HC>_7|iSQq$Mi@6s*nyVGn|Bka-g+2hS5@gY{^|}l6H7F6+8v&dN(ee+oDOMi~ zj{~2udgF|U|JPm-dJf6I#7dd6@3HL3M`8azkQjPD>pzZ40f7{n6&vy6vaV#!H!EJ( z>-FjQL|-x@P(=#bAGNJ=#TyMKKBP_>^qBTa(#%r!7rc={-63RaqFsFkmc{cS@SK8= z=VNM(qyj+2#;>ADee6JyU<04><-A_sfRAj>(5D~Y3t2EYB61X3Z0yn;0;%(PwNEJ*OP|PBOnzFqVgZSG$ z7x8+19X`?ggP7tYNKRn?(&piZfaRMHq6Ji868~rEZR4Z|ELM@%#Lgzj``G!5r@vlb zgwK2vtS7#%S)uq%hw=G4U&j*=4cHJv#ZmRm!LE%~!cTHGFTP&igirLXY94%22oKyP z$19vhd-o!C{*>zwX~4$_U4HzkRgX_xqCipj4iTU2=H>Vt4MjT)6|1x+>)2Zp_w?yU zA7zEb(IJ>`;9swA#;5x7qM$yV(i_2N=@#+^XEsz+p!1o+Q|Y)@EX$#cPv{^)PB#he zqQ`lL__6SuRIm{>+b6!GK7C4BV{kj$h;S}Ir8MnVvg5~RNqcQ~YmODN&|!?Kvdm`F z--pD|NqlOoAgNa4JbG$kk$;Qp>-GKkxCJ3x9k*~VVtbgl=r>6tf42Y*OM%ArR0w`J zJFjO~8@hvufZcKpd-0IRGCq+0z>kaZd?`Ln1SORkj_7f(Y)5L&f5nae4ty4ZusQKr zQS!57HsorbpJL~m@Ts<>t*W0r#RVh_)}ylH8`iAv#HSNMXC3$jw(^(b(`pEv&klSY zJKu@VF+=Dq*$H2HqrVfM2O;#m=zKRm4?yU<(fNLS{*KtaFy3E0|MfTb`|(*Evg;Va z?-!k4!)IN}PG;ywH0L+*Sr`g{{UKWVl7H=P{v19VM4hB)P2vCMef&{;5{i^D2i}~0 z{OKF`+xVpZSu*=zZS$INNr5G4u&w%k90Q+m41C5h@EOOzXB-2cag1Z&Gme4JI0ioB s82F5190Q+m41C5h@EOM!9RCCu00}9p>R`rz3jhEB07*qoM6N<$g6!psfdBvi literal 0 HcmV?d00001 From e8c2cf91e154639e3fb29a9f8d818e8201756108 Mon Sep 17 00:00:00 2001 From: chiihero <853879993@qq.com> Date: Mon, 4 Mar 2019 16:23:23 +0800 Subject: [PATCH 6/8] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E8=AF=B4=E6=98=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 26 ++++++++++---------------- login.py | 1 - 2 files changed, 10 insertions(+), 17 deletions(-) diff --git a/README.md b/README.md index 99bc698..df1f4f5 100644 --- a/README.md +++ b/README.md @@ -15,25 +15,17 @@ conf.ini : ``` [user] -userid = 学号 -password = 6位密码或8位密码 +userid = 12位学号 +password = 移动输入6位密码或电信8位密码 [run] -time_unit = 每次间隔的时间单位 (minutes/seconds) -every_time = 每次间隔时间 -begin_time = 允许登录时间 -end_time = 不允许登录时间 -log_level = 日志级别输出 (debug/info/warning) -``` -exm: -``` -[run] -time_unit = minutes -every_time = 10 -begin_time = 07:00 -end_time = 23:59 -log_level = debug +time_unit = minutes 每次间隔的时间单位 (minutes/seconds) +every_time = 10 每次间隔时间 +begin_time = 07:00 允许登录时间 +end_time = 23:59 不允许登录时间 +log_level = debug 日志级别输出 (debug/info/warning) # 早上7点到晚上23点59分内,每隔10分钟执行 判断是否需要登录校园网操作 + ``` > @@ -43,6 +35,8 @@ todo: 整合验证码识别的图片到程序中 … +> v1.0.1 更新 +添加最小化任务栏模式\ > v0.1.1 更新 修复无法开机自启\ diff --git a/login.py b/login.py index 3ccceff..e230943 100644 --- a/login.py +++ b/login.py @@ -6,7 +6,6 @@ from datetime import datetime from base64 import b64encode from urllib import parse - from ver_code import validation_code_recognition test_url = 'http://quan.suning.com/getSysTime.do' # 测试连接状态url From 966ed7d37fc0e4666b8653642ec0ad43d7952c68 Mon Sep 17 00:00:00 2001 From: chiihero <853879993@qq.com> Date: Mon, 4 Mar 2019 17:01:50 +0800 Subject: [PATCH 7/8] Update README.md Co-Authored-By: chiihero <853879993@qq.com> --- README.md | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index df1f4f5..89aba09 100644 --- a/README.md +++ b/README.md @@ -1,17 +1,18 @@ -# 肇庆学院电信wifi校园网自动登录 [![](https://img.shields.io/badge/release-0.1.1-brightgreen.svg)](https://github.com/CtkGHoSt/zqu_auto_login/releases) +# 肇庆学院电信wifi校园网自动登录 [![](https://img.shields.io/badge/release-1.0.1-brightgreen.svg)](https://github.com/CtkGHoSt/zqu_auto_login/releases) -### by ctkghost +### by ctkghost chiihero --- ![](https://s1.ax1x.com/2018/12/27/FRr06H.png) 在可验证的时间段内每隔一段时间判断一次状态,在非联网状态下登录校园局域网和电信校园网 -> * 源码在source文件夹下 -> * code文件夹下是用于验证码识别的图片 -> * 执行方式:直接打开core.exe +> * 直接双击执行zqu_auto_login.exe +> * ~~源码在source文件夹下~~ +> * ~~code文件夹下是用于验证码识别的图片~~ > * ~~执行方式:当前目录下shift+右键打开cmd/powershell,执行auto_login~~ --- ### 说明 -若需要修改conf.ini文件,需要运行一次zqu_auto_login.exe文件\ +文件偏大原因在于用python打包运行环境而成,运行后占用资源非常小\ +若需要修 改conf.ini文件,需要运行一次zqu_auto_login.exe文件\ conf.ini : ``` [user] @@ -36,7 +37,11 @@ todo: … > v1.0.1 更新 -添加最小化任务栏模式\ +添加最小化任务栏模式 + +> v0.9.9 更新 +修复已知bug\ +去除code文件夹内的基准图片 > v0.1.1 更新 修复无法开机自启\ From 764e8fa42ab747615487ddb1f6817effc1bc8e36 Mon Sep 17 00:00:00 2001 From: chiihero <853879993@qq.com> Date: Mon, 4 Mar 2019 21:21:53 +0800 Subject: [PATCH 8/8] =?UTF-8?q?=E6=9B=B4=E6=8D=A2=E5=90=AF=E5=8A=A8?= =?UTF-8?q?=E9=A1=B9=E5=90=8D=E7=A7=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Frame.py | 1 + login.py | 7 ++++--- ver_code.py | 1 + zqu_auto_login.py | 6 +++++- 4 files changed, 11 insertions(+), 4 deletions(-) diff --git a/Frame.py b/Frame.py index 1e9cebf..f8470c4 100644 --- a/Frame.py +++ b/Frame.py @@ -40,6 +40,7 @@ def OnTaskBarLeftDClick(self, event): def CreatePopupMenu(self): menu = wx.Menu() menu.Append(self.ID_SHOW_WEB, '进入程序') + menu.Append(self.ID_SHOW_WEB,'版本1.01') menu.Append(self.ID_EXIT, '退出') return menu diff --git a/login.py b/login.py index e230943..7a8de71 100644 --- a/login.py +++ b/login.py @@ -54,10 +54,10 @@ def is_campus_network(): try: requests.get('http://10.0.1.51') except: - logging.debug("不在校园网false") + logging.debug("不在校园网") return 0 else: - logging.debug("在校园网success") + logging.debug("在校园网") return 1 def online_time(self): @@ -141,7 +141,7 @@ def auto_login_2(userId, password): } url_parse_dict = dict() - + try: http_headers['Referer'] = test_status.url url_parse = parse.urlparse(test_status.url) # 获取链接参数 @@ -154,6 +154,7 @@ def auto_login_2(userId, password): # 获取验证码图片 v_code_image = open('test.jpg', 'wb+') code_url = 'http://enet.10000.gd.cn:10001/common/image.jsp' + # print(se.get(code_url, cookies=login_2.cookies).content) v_code_image.write(se.get(code_url, cookies=login_2.cookies).content) v_code_image.close() # 验证码识别 diff --git a/ver_code.py b/ver_code.py index 950d94c..e5db639 100644 --- a/ver_code.py +++ b/ver_code.py @@ -20,6 +20,7 @@ def validation_code_recognition(v_code_image): (46, y, 46+w, y+h), ) v_code = Image.open(v_code_image) + # print(v_code) # 基准图片 # image_file = ('./code/'+name for root, dirs, files in os.walk('./code') for name in files) # 基准图片hash diff --git a/zqu_auto_login.py b/zqu_auto_login.py index 61dc94d..cdeb9a8 100644 --- a/zqu_auto_login.py +++ b/zqu_auto_login.py @@ -108,7 +108,11 @@ def hideFile(filePath): # 开机自启 def autostart(self): - name = 'AutoLogin' # 要添加的项值名称 + #######删除历史使用####### + cmd = 'reg delete "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run" /v AutoLogin /f ' + os.system(cmd) + ######################### + name = 'AutoLogin_ZQU' # 要添加的项值名称 # filePath = os.path.realpath(__file__) # 测试使用 filePath = os.path.abspath(sys.argv[0]) # 正式版使用 if 'Windows' in platform.system():