From 87b649ae34543b3e16dad81fcd90e3b14c1ac016 Mon Sep 17 00:00:00 2001 From: PostScriptReal <149461738+PostScriptReal@users.noreply.github.com> Date: Sun, 20 Jul 2025 18:20:22 +1000 Subject: [PATCH 1/8] Library test - Fixed path entries being cleared if you click cancel on the explorer. - Added ability to select folders, batch compiling is not possible yet. --- .github/workflows/pyinstaller-linux.yml | 5 +- .gitignore | 2 +- GUI.py | 15 +- menus.py | 227 +++++++++++++----------- requirements.txt | 1 - 5 files changed, 135 insertions(+), 115 deletions(-) diff --git a/.github/workflows/pyinstaller-linux.yml b/.github/workflows/pyinstaller-linux.yml index 891933d..9c2d51a 100644 --- a/.github/workflows/pyinstaller-linux.yml +++ b/.github/workflows/pyinstaller-linux.yml @@ -14,7 +14,7 @@ jobs: - name: Set up Python uses: actions/setup-python@v5 with: - python-version: '3.13.3' + python-version: '3.12.9' - name: Install dependencies run: | python -m pip install --upgrade pip @@ -22,6 +22,9 @@ jobs: pip install jsoncparser pip install certifi pip install pyyaml + python -m pip install scikit-build + sudo apt install python3-dev tcl-dev tk-dev \ fontconfig libfontconfig1 libfontconfig1-dev \ cmake cmake-data extra-cmake-modules build-essential + pip install tkextrafont - name: Run PyInstaller run: | pyinstaller --noconfirm --onedir --console --name "Snark" --add-data "version.txt:." --add-data "activities.txt:." --add-data "logo128.png:." --add-data "icon-win32.ico:." --add-data "icon-linux.png:." --add-data "LICENSE:." --add-data "README.md:." --add-data "save:save/" --add-data "themes:themes/" --add-data "third_party:third_party/" --add-data "images:images/" --add-data "logs:logs/" "GUI.py" diff --git a/.gitignore b/.gitignore index 5040a31..a88a064 100644 --- a/.gitignore +++ b/.gitignore @@ -163,4 +163,4 @@ back.bmp Snark.code-workspace *.mdl # scripts/ -WinSize.txt \ No newline at end of file +WinSize*.txt diff --git a/GUI.py b/GUI.py index dc3773d..40156c6 100644 --- a/GUI.py +++ b/GUI.py @@ -27,7 +27,7 @@ def __init__(self): self.devMode = False # Flag specifically for Snark, scripts are currently not implemented yet and is a copy of the scripting system from SMD Tools v1.1 # This will allow me to disable the functionality for it until I come up with a proper implementation - self.allowScripts = False + self.allowScripts = True # Another flag for Snark, it disables booting to the "games" menu and makes the menu show a "This menu will be completed soon" message # instead of showing the menu self.allowGames = True @@ -285,8 +285,9 @@ def __init__(self): self.selTheme = self.options["theme"] winSizeFile = False - if sys.platform == "linux" and os.path.exists("WinSize.txt"): - wsFile = open("WinSize.txt", "r") + winSizeVer = 2 + if sys.platform == "linux" and os.path.exists(f"WinSize{winSizeVer}.txt"): + wsFile = open(f"WinSize{winSizeVer}.txt", "r") ws = wsFile.readlines() wsFile.close() winSizeFile = True @@ -405,7 +406,7 @@ def __init__(self): self.comp_button = Button(self.header, text="Compile", command=self.cmp_menu, bg=thCol["btn"][0], cursor="hand2") self.comp_button.grid(column=3, row=0, sticky=(N), ipadx=buttonPad) - self.scripts = Button(self.header, text="Scripts", command=self.scripts, bg=thCol["btn"][0], cursor="hand2") + self.scripts = Button(self.header, text="Batch Manager", command=self.scripts, bg=thCol["btn"][0], cursor="hand2") self.scripts.grid(column=4, row=0, sticky=(N), ipadx=buttonPad) self.options = Button(self.header, text="Options", command=self.optionsMenu, bg=thCol["btn"][0], cursor="hand2") @@ -451,7 +452,7 @@ def __init__(self): if self.flags.allowScripts: self.dumbFixMenu5.grid(column=0, row=2, sticky="nsew", columnspan=10) - self.scrMenu = ScriptMenu(self.mTemplate, self.dumbFixMenu5, True) + self.scrMenu = BatchManagerM(self.mTemplate, self.dumbFixMenu5, True) self.dumbFixMenu5.grid_remove() # Getting the maximum height if not self.cmpMenu.hidden or winSizeFile: @@ -472,8 +473,8 @@ def __init__(self): else: self.geometry("501x443") - if not os.path.exists("WinSize.txt"): - wsf = open("WinSize.txt", "w") + if not os.path.exists(f"WinSize{winSizeVer}.txt"): + wsf = open(f"WinSize{winSizeVer}.txt", "w") wsf.write(f"{self.goodWidth}\n{self.goodHeight}") wsf.close() diff --git a/menus.py b/menus.py index 624b69d..6d73d63 100644 --- a/menus.py +++ b/menus.py @@ -703,7 +703,6 @@ def startDecomp(self): tOutput = subprocess.getoutput(f'wine third_party/mdldec_win32.exe \"{mdl}\"')""" # Checking for errors (especially the 'unknown Studio MDL format') if tOutput.find("unknown Studio MDL format version 6") != -1: - # Telling the file moving part of the function that we are decompiling a v6 MDL file. error = True if sys.platform == 'linux': shutil.copy(mdl, './') @@ -798,6 +797,9 @@ def __init__(self, template, master, startHidden:bool=False): self.nameLabel = Label(master, text="Output: ") self.name = StringVar() self.nameEntry = Entry(master, textvariable=self.name, width=self.widthFix) + tOpts = ["File", "Folder"] + self.typeSel = ttk.Combobox(master, values=tOpts, width=7) + self.typeSel.set(tOpts[0]) self.nameEntry.bind("", self.inputHandler) self.out = StringVar() self.outputEntry = Entry(master, textvariable=self.out, width=self.widthFix) @@ -1084,6 +1086,7 @@ def show(self): self.setupLabel.grid(column=0, row=0, sticky=(W)) self.nameLabel.grid(column=0, row=1, sticky=(W)) self.nameEntry.grid(column=1, row=0, padx=(18, 0)) + self.typeSel.grid(column=3, row=0, padx=(5,0)) self.outputEntry.grid(column=1, row=1, padx=(18,0)) self.mdlBrowse.grid(column=2, row=0, padx=(7,0)) self.outBrowse.grid(column=2, row=1, padx=(7,0)) @@ -1140,102 +1143,118 @@ def show(self): self.console.show() def findMDL(self): + folder = False + if self.typeSel.get() == "Folder": + folder = True startDir = self.options["startFolder"] if startDir.startswith("~"): startDir = os.path.expanduser(startDir) - fileTypes = [("Quake Compile Files", "*.qc"), ("All Files", "*.*")] - self.name.set(askopenfilename(title="Select QC", initialdir=startDir, filetypes=fileTypes)) - self.compatChk() - mdlPath = os.path.dirname(self.name.get()) - mdlPath = os.path.join(mdlPath, "models") - if os.path.exists(mdlPath): - count = -1 - files = os.listdir(mdlPath) - file = ".mdl" - while count < len(files)-1: - count += 1 - f = files[count] - if f.endswith(".mdl"): - # Checking if the mdl file that has been found is an external texture model or sequence model and skipping if so - if f.endswith("T.mdl"): - continue - elif f.find("0") != -1: - thresh = f.find(".mdl") - print(thresh) - count = -1 - for c in f: - count += 1 - if count == thresh-2 and c.isnumeric(): - f = f.replace(c, "") - if count == thresh-1 and c.isnumeric(): - f = f.replace(c, "") - print(f) - file = f - break - if os.path.exists(f"{mdlPath}/{file}") and self.options["gsMV"]["selectedMV"] > 0: - self.mdlPath = os.path.join(mdlPath, file) - self.hlmv.grid(column=1, row=4, pady=(10,0), sticky="w") + if not folder: + fileTypes = [("Quake Compile Files", "*.qc"), ("All Files", "*.*")] + userSel = askopenfilename(title="Select QC", initialdir=startDir, filetypes=fileTypes) + if userSel != "": + self.name.set() + self.compatChk() + mdlPath = os.path.dirname(self.name.get()) + mdlPath = os.path.join(mdlPath, "models") + if os.path.exists(mdlPath) and self.options["gsMV"]["selectedMV"] > 0: + count = -1 + files = os.listdir(mdlPath) + file = ".mdl" + while count < len(files)-1: + count += 1 + f = files[count] + if f.endswith(".mdl"): + # Checking if the mdl file that has been found is an external texture model or sequence model and skipping if so + if f.endswith("T.mdl"): + continue + elif f.find("0") != -1: + thresh = f.find(".mdl") + print(thresh) + count = -1 + for c in f: + count += 1 + if count == thresh-2 and c.isnumeric(): + f = f.replace(c, "") + if count == thresh-1 and c.isnumeric(): + f = f.replace(c, "") + print(f) + file = f + break + if os.path.exists(f"{mdlPath}/{file}"): + self.mdlPath = os.path.join(mdlPath, file) + self.hlmv.grid(column=1, row=4, pady=(10,0), sticky="w") + else: + userSel = askdirectory(title="Select Folder containing your models", initialdir=startDir) + if userSel != "": + self.name.set(userSel) + self.compatChk(enabled=False) - def compatChk(self, e=False): - if not self.name.get() == "": - handler = QCHandler(self.name.get()) - if not self.games.checkCustom(self.gameSel.get()): - gameDat = self.profiles["profiles"][self.gameSel.get()] - else: - js = open(f"save/user/game{self.gameSel.get()}.json", 'r') - gJS = json.loads(js.read()) - gameDat = gJS[self.gameSel.get()] - compDat = self.fullCJS["compilers"][self.compSel.get()] - warnings = [] - if compDat["capabilities"]["1024px"]: - # If the game doesn't support higher resolution textures, then give a warning in the console. - if not gameDat["capabilities"]["1024px"] and handler.check1024px(): - warnings.append("WARNING: The selected game does not support textures higher than 512x512, please downscale the offending textures!") - else: - if handler.check1024px() and gameDat["capabilities"]["1024px"]: - warnings.append("WARNING: The selected compiler does not support textures higher than 512x512, please downscale the offending textures!") - elif handler.check1024px(): - warnings.append("WARNING: The selected compiler and game does not support textures higher than 512x512, please downscale the offending textures!") - - if compDat["capabilities"]["unlockedChrome"]: - # If the game doesn't support chrome textures that aren't 64x64, then give a warning in the console. - if not gameDat["capabilities"]["unlockedChrome"] and handler.checkCHROME(): - warnings.append("WARNING: There are one or more chrome textures that aren't at a fixed resolution of 64x64, please fix that as the selected game does not support this!") - else: - if handler.checkCHROME() and gameDat["capabilities"]["unlockedChrome"]: - warnings.append("WARNING: There are one or more chrome textures that aren't at a fixed resolution of 64x64, please fix that as the selected compiler does not support this!") - elif handler.checkCHROME(): - warnings.append("WARNING: There are one or more chrome textures that aren't at a fixed resolution of 64x64, please fix that as the selected compiler and game does not support this!") - - if compDat["capabilities"]["fullbright"]: - # If the game doesn't support fullbright, then give a warning in the console. - if not gameDat["capabilities"]["fullbright"] and handler.checkTRM(0): - warnings.append("WARNING: Model uses a $texrendermode that isn't supported by the game: fullbright") - else: - if handler.checkTRM(0) and gameDat["capabilities"]["fullbright"]: - warnings.append("WARNING: Model uses a $texrendermode that isn't supported by the compiler: fullbright") - elif handler.checkTRM(0): - warnings.append("WARNING: Model uses a $texrendermode that isn't supported by the game and the compiler: fullbright") - - if not compDat["capabilities"]["flatshade"] and handler.checkTRM(1): - # If the compiler doesn't support the flatshade $texrendermode, then give a warning in the console. - warnings.append("WARNING: Model uses a $texrendermode that isn't supported by the compiler: flatshade") - - if not compDat["capabilities"]["chromeTRM"] and handler.checkTRM(2): - # If the compiler doesn't support the chrome $texrendermode, then give a warning in the console. - warnings.append("WARNING: Compiler doesn't support the chrome $texrendermode, please add the \"CHROME\" prefix to your texture name if you want this effect!") - - # Update the console - if len(warnings) != 0: - self.console.setOutput("\n".join(warnings)) - else: - self.console.setOutput('Currently no warnings or errors!') + def compatChk(self, e=False, enabled=True): + if enabled: + if not self.name.get() == "": + handler = QCHandler(self.name.get()) + if not self.games.checkCustom(self.gameSel.get()): + gameDat = self.profiles["profiles"][self.gameSel.get()] + else: + js = open(f"save/user/game{self.gameSel.get()}.json", 'r') + gJS = json.loads(js.read()) + gameDat = gJS[self.gameSel.get()] + compDat = self.fullCJS["compilers"][self.compSel.get()] + warnings = [] + if compDat["capabilities"]["1024px"]: + # If the game doesn't support higher resolution textures, then give a warning in the console. + if not gameDat["capabilities"]["1024px"] and handler.check1024px(): + warnings.append("WARNING: The selected game does not support textures higher than 512x512, please downscale the offending textures!") + else: + if handler.check1024px() and gameDat["capabilities"]["1024px"]: + warnings.append("WARNING: The selected compiler does not support textures higher than 512x512, please downscale the offending textures!") + elif handler.check1024px(): + warnings.append("WARNING: The selected compiler and game does not support textures higher than 512x512, please downscale the offending textures!") + + if compDat["capabilities"]["unlockedChrome"]: + # If the game doesn't support chrome textures that aren't 64x64, then give a warning in the console. + if not gameDat["capabilities"]["unlockedChrome"] and handler.checkCHROME(): + warnings.append("WARNING: There are one or more chrome textures that aren't at a fixed resolution of 64x64, please fix that as the selected game does not support this!") + else: + if handler.checkCHROME() and gameDat["capabilities"]["unlockedChrome"]: + warnings.append("WARNING: There are one or more chrome textures that aren't at a fixed resolution of 64x64, please fix that as the selected compiler does not support this!") + elif handler.checkCHROME(): + warnings.append("WARNING: There are one or more chrome textures that aren't at a fixed resolution of 64x64, please fix that as the selected compiler and game does not support this!") + + if compDat["capabilities"]["fullbright"]: + # If the game doesn't support fullbright, then give a warning in the console. + if not gameDat["capabilities"]["fullbright"] and handler.checkTRM(0): + warnings.append("WARNING: Model uses a $texrendermode that isn't supported by the game: fullbright") + else: + if handler.checkTRM(0) and gameDat["capabilities"]["fullbright"]: + warnings.append("WARNING: Model uses a $texrendermode that isn't supported by the compiler: fullbright") + elif handler.checkTRM(0): + warnings.append("WARNING: Model uses a $texrendermode that isn't supported by the game and the compiler: fullbright") + + if not compDat["capabilities"]["flatshade"] and handler.checkTRM(1): + # If the compiler doesn't support the flatshade $texrendermode, then give a warning in the console. + warnings.append("WARNING: Model uses a $texrendermode that isn't supported by the compiler: flatshade") + + if not compDat["capabilities"]["chromeTRM"] and handler.checkTRM(2): + # If the compiler doesn't support the chrome $texrendermode, then give a warning in the console. + warnings.append("WARNING: Compiler doesn't support the chrome $texrendermode, please add the \"CHROME\" prefix to your texture name if you want this effect!") + + # Update the console + if len(warnings) != 0: + self.console.setOutput("\n".join(warnings)) + else: + self.console.setOutput('Currently no warnings or errors!') + else: + self.console.setOutput('Cannot check for compatibility issues as you have selected batch mode!') def output(self): startDir = self.options["startFolder"] if startDir.startswith("~"): startDir = os.path.expanduser(startDir) - self.out.set(askdirectory(title="Select Output Folder", initialdir=startDir)) + userDir = askdirectory(title="Select Output Folder", initialdir=startDir) + if userDir != "": + self.out.set(userDir) def getCompilerOptions(self): self.boolVars = [] @@ -1884,17 +1903,18 @@ def show(self): self.mvPathEnt.grid(column=2, row=2, sticky="w") self.setMVP.grid(column=3, row=2, sticky="w") -class ScriptMenu(): +class BatchManagerM(): def __init__(self, template, master, startHidden:bool=False): self.curFont = font.nametofont('TkDefaultFont').actual() - self.widthFix = 74 + self.widthFix = 86 self.conFix = 46 self.conHeight = 11 self.logOutput = False + self.blankListStr = "Select a folder of compilable models and they will show up here!" if self.curFont["family"].lower() == "nimbus sans l" or sys.platform == "win32": - self.widthFix = 81 - self.conFix = 59 - self.conHeight = 13 + self.widthFix = self.widthFix+7 + self.conFix = self.conFix+13 + self.conHeight = self.conHeight+2 else: pass self.hidden = startHidden @@ -1908,22 +1928,19 @@ def __init__(self, template, master, startHidden:bool=False): js = open("save/options.json", 'r') self.options = json.loads(js.read()) js.close() - self.scripts = [] + self.mdls = [] if getattr(sys, 'frozen', False): EXE_LOCATION = os.path.dirname( sys.executable ) else: EXE_LOCATION = os.path.dirname( os.path.realpath( __file__ ) ) - self.scr_dir = os.path.join(EXE_LOCATION, "scripts") + """self.scr_dir = os.path.join(EXE_LOCATION, "mdls") for s in os.listdir(self.scr_dir): if not s.startswith("template"): - self.scripts.append(s) + self.mdls.append(s)""" self.scr_list = Listbox(master, width=self.widthFix, selectmode=SINGLE) - count = -1 - while count < len(self.scripts)-1: - count += 1 - self.scr_list.insert(count, self.scripts[count]) - self.runBtn = Button(master, text="Run script", cursor="hand2", command=self.readScript) + self.scr_list.insert(0, self.blankListStr) + # self.runBtn = Button(master, text="Run script", cursor="hand2", command=self.readScript) self.console = Console(master, 'Run a script and an output of the script\'s progress will appear here!', 0, 2, self.conFix, self.conHeight) if not startHidden: self.show() @@ -1931,9 +1948,9 @@ def __init__(self, template, master, startHidden:bool=False): # Applying theme self.applyTheme(master) - def readScript(self): - selected_scr = self.scripts[int(self.scr_list.curselection()[0])] - a = SSTReader(os.path.join(self.scr_dir, selected_scr), self.options, self.console) + """def readScript(self): + selected_scr = self.mdls[int(self.scr_list.curselection()[0])] + a = SSTReader(os.path.join(self.scr_dir, selected_scr), self.options, self.console)""" def applyTheme(self, master): style= ttk.Style() @@ -1986,5 +2003,5 @@ def hide(self): def show(self): self.hidden = False self.scr_list.grid(column=0, row=0, sticky=(W)) - self.runBtn.grid(column=0, row=1) + # self.runBtn.grid(column=0, row=1) self.console.show() \ No newline at end of file diff --git a/requirements.txt b/requirements.txt index b58fd7d..70eb94f 100644 --- a/requirements.txt +++ b/requirements.txt @@ -2,4 +2,3 @@ jsonc-parser scikit-build tksvg certifi -pyyaml From ce9ec6071ce3dad8b51f260c209b6b228e8559e7 Mon Sep 17 00:00:00 2001 From: PostScriptReal <149461738+PostScriptReal@users.noreply.github.com> Date: Sun, 20 Jul 2025 20:51:40 +1000 Subject: [PATCH 2/8] Batch Manager menu Still not functional yet, however the menu UI is complete! --- .github/workflows/pyinstaller-linux.yml | 5 +- GUI.py | 11 ++-- menus.py | 78 ++++++++++++++++--------- 3 files changed, 59 insertions(+), 35 deletions(-) diff --git a/.github/workflows/pyinstaller-linux.yml b/.github/workflows/pyinstaller-linux.yml index 9c2d51a..891933d 100644 --- a/.github/workflows/pyinstaller-linux.yml +++ b/.github/workflows/pyinstaller-linux.yml @@ -14,7 +14,7 @@ jobs: - name: Set up Python uses: actions/setup-python@v5 with: - python-version: '3.12.9' + python-version: '3.13.3' - name: Install dependencies run: | python -m pip install --upgrade pip @@ -22,9 +22,6 @@ jobs: pip install jsoncparser pip install certifi pip install pyyaml - python -m pip install scikit-build - sudo apt install python3-dev tcl-dev tk-dev \ fontconfig libfontconfig1 libfontconfig1-dev \ cmake cmake-data extra-cmake-modules build-essential - pip install tkextrafont - name: Run PyInstaller run: | pyinstaller --noconfirm --onedir --console --name "Snark" --add-data "version.txt:." --add-data "activities.txt:." --add-data "logo128.png:." --add-data "icon-win32.ico:." --add-data "icon-linux.png:." --add-data "LICENSE:." --add-data "README.md:." --add-data "save:save/" --add-data "themes:themes/" --add-data "third_party:third_party/" --add-data "images:images/" --add-data "logs:logs/" "GUI.py" diff --git a/GUI.py b/GUI.py index 40156c6..d2b43a4 100644 --- a/GUI.py +++ b/GUI.py @@ -439,6 +439,11 @@ def __init__(self): self.dumbFixMenu4.grid_remove() self.decMenu = DecompMenu(self.mTemplate, menu, True) + + if self.flags.allowScripts: + self.dumbFixMenu5.grid(column=0, row=2, sticky="nsew", columnspan=10) + self.scrMenu = BatchManagerM(self.mTemplate, self.dumbFixMenu5, True) + self.dumbFixMenu5.grid_remove() self.dumbFixMenu.grid(column=0, row=2, sticky="nsew", columnspan=10) self.cmpMenu = CompMenu(self.mTemplate, self.dumbFixMenu, False) @@ -449,11 +454,7 @@ def __init__(self): self.dumbFixMenu2.grid(column=0, row=2, sticky="nsew", columnspan=10) self.abtMenu = AboutMenu(self.mTemplate, self.dumbFixMenu2, True) self.dumbFixMenu2.grid_remove() - - if self.flags.allowScripts: - self.dumbFixMenu5.grid(column=0, row=2, sticky="nsew", columnspan=10) - self.scrMenu = BatchManagerM(self.mTemplate, self.dumbFixMenu5, True) - self.dumbFixMenu5.grid_remove() + # Getting the maximum height if not self.cmpMenu.hidden or winSizeFile: if winSizeFile and not ws[1] == "": diff --git a/menus.py b/menus.py index 6d73d63..b5e6bf2 100644 --- a/menus.py +++ b/menus.py @@ -20,6 +20,9 @@ class MenuTemp(): def __init__(self, thme:dict, safeWidth:int): self.thme = thme self.safeWidth = safeWidth + js = open("save/options.json", 'r') + self.options = json.loads(js.read()) + js.close() class SetupMenu(): def __init__(self, template, master, updFunc, startHidden:bool=False, allowGUI:bool=True): @@ -37,9 +40,7 @@ def __init__(self, template, master, updFunc, startHidden:bool=False, allowGUI:b self.nameEntW = 59 # Setting up options - js = open("save/options.json", 'r') - self.options = json.loads(js.read()) - js.close() + self.options = template.options js = open("save/profiles.json", 'r') self.fullGamePFs = json.loads(js.read()) self.gamePFs = self.fullGamePFs["profiles"] @@ -235,9 +236,7 @@ def __init__(self, template, master, updFunc, startHidden:bool=False): self.hiddenEdit = True self.updFunc = updFunc # Setting up options - js = open("save/options.json", 'r') - self.options = json.loads(js.read()) - js.close() + self.options = template.options js = open("save/compilers.jsonc", 'r') self.fullCJS = jsonc.load(js) self.compDat = self.fullCJS["compilers"] @@ -444,9 +443,7 @@ def __init__(self, template, master, startHidden:bool=False): self.advOpt = Frame(master, borderwidth=2, bg=thme["bg"], relief="sunken") self.advOptR2 = Frame(self.advOpt, borderwidth=2, bg=thme["bg"]) # Setting up options - js = open("save/options.json", 'r') - self.options = json.loads(js.read()) - js.close() + self.options = template.options self.presets = { "presets": { # For most compilers @@ -651,14 +648,18 @@ def findMDL(self): if startDir.startswith("~"): startDir = os.path.expanduser(startDir) fileTypes = [("GoldSRC Model", "*.mdl"), ("All Files", "*.*")] - self.name.set(askopenfilename(title="Select MDL", initialdir=startDir, filetypes=fileTypes)) + userSel = askopenfilename(title="Select MDL", initialdir=startDir, filetypes=fileTypes) + if userSel != "": + self.name.set(userSel) if not self.name.get() == "" and self.options["gsMV"]["selectedMV"] > 0: self.hlmv.grid(column=1, row=4, pady=(10,0), sticky="w") def output(self): startDir = self.options["startFolder"] if startDir.startswith("~"): startDir = os.path.expanduser(startDir) - self.out.set(askdirectory(title="Select Output Folder", initialdir=startDir)) + userSel = askdirectory(title="Select Output Folder", initialdir=startDir) + if userSel != "": + self.out.set(userSel) def getArgs(self): args = [] @@ -763,8 +764,8 @@ def __init__(self, template, master, startHidden:bool=False): self.thme, self.safeWidth = thme, template.safeWidth self.advOptFix = True if self.curFont["family"].lower() == "nimbus sans l" or sys.platform == "win32": - self.widthFix = 58 - self.conFix = 40 + self.widthFix = self.widthFix+6 + self.conFix = self.conFix-7 self.advOptFix = False elif self.safeWidth > 609: self.advOptFix = False @@ -784,9 +785,7 @@ def __init__(self, template, master, startHidden:bool=False): js = open("save/profiles.json", 'r') self.profiles = json.loads(js.read()) js.close() - js = open("save/options.json", 'r') - self.options = json.loads(js.read()) - js.close() + self.options = template.options if self.safeWidth > 609: n = 2 self.widthFix, self.conFix = self.widthFix-n, self.conFix-n @@ -846,7 +845,7 @@ def __init__(self, template, master, startHidden:bool=False): self.rNormalChk = Checkbutton(self.advOpt, text="-r", variable=self.rNormalB) self.angleB = BooleanVar(self.advOpt, value=False) self.angleChk = Checkbutton(self.advOpt, text="-a", variable=self.angleB, command=self.angleSBhandler) - self.angleSB = BoolSpinbox(self.advOpt, range=[0,360], bg=thme["ent"], bBG=thme["btn"][0], fg=thme["txt"]) + self.angleSB = BoolSpinbox(self.advOpt, range=[0,359], bg=thme["ent"], bBG=thme["btn"][0], fg=thme["txt"]) self.hitboxB = BooleanVar(self.advOpt, value=False) self.hitboxChk = Checkbutton(self.advOpt, text="-h", variable=self.hitboxB) self.keepBonesB = BooleanVar(self.advOpt, value=False) @@ -1425,9 +1424,7 @@ def __init__(self, template, master, startHidden:bool=False): thme = template.thme self.thme, self.safeWidth = thme, template.safeWidth # Setting up options - js = open("save/options.json", 'r') - self.options = json.loads(js.read()) - js.close() + self.options = template.options # Images self.snarkLogoPNG = PhotoImage(file="logo128.png") self.gitLogoPNG = PhotoImage(file="images/github.png") @@ -1520,10 +1517,7 @@ def __init__(self, template, master, thmecallback, updFunc, startHidden:bool=Fal print(self.thme["bg"]) self.updFunc = updFunc # Grabbing options - jsf = open('save/options.json', 'r') - js = jsf.read() - jsf.close() - self.options = json.loads(js) + self.options = template.options # Checking if options JSON is from a previous version... if not self.options["version"] == 4: self.upgradeJSON() @@ -1924,6 +1918,7 @@ def __init__(self, template, master, startHidden:bool=False): if self.safeWidth > 609: n = 3 self.widthFix, self.conFix = self.widthFix-n, self.conFix-n + self.opts = Frame(master, borderwidth=2, bg=thme["bg"], relief="sunken") # Setting up options js = open("save/options.json", 'r') self.options = json.loads(js.read()) @@ -1941,12 +1936,23 @@ def __init__(self, template, master, startHidden:bool=False): self.scr_list = Listbox(master, width=self.widthFix, selectmode=SINGLE) self.scr_list.insert(0, self.blankListStr) # self.runBtn = Button(master, text="Run script", cursor="hand2", command=self.readScript) - self.console = Console(master, 'Run a script and an output of the script\'s progress will appear here!', 0, 2, self.conFix, self.conHeight) + # self.console = Console(master, 'Run a script and an output of the script\'s progress will appear here!', 0, 2, self.conFix, self.conHeight) + self.enableMDLvar = BooleanVar(self.opts, value=False) + self.enableMDL = Checkbutton(self.opts, text="Include source in task", variable=self.enableMDLvar) + self.cPathLabel = Label(self.opts, text="Output path: ") + pOpts = ["Output Path", "Other"] + self.pathSel = ttk.Combobox(self.opts, values=pOpts, width=10) + self.pathSel.set(pOpts[0]) + self.pathSel.bind("<>", self.cPathChk) + self.cPathVar = StringVar(self.opts, value="\'path/to/your/other/output/folder\'") + self.cPath = BoolEntry(self.opts, textvariable=self.cPathVar, placeholder="\'path/to/your/other/output/folder\'") + self.pathBrowse = Button(self.opts, text='Browse', command=self.getCPath, cursor="hand2") if not startHidden: self.show() # Applying theme self.applyTheme(master) + self.applyTheme(self.opts) """def readScript(self): selected_scr = self.mdls[int(self.scr_list.curselection()[0])] @@ -1985,6 +1991,21 @@ def applyTheme(self, master): except: pass + def cPathChk(self, e=False): + if self.pathSel.get() == "Other": + self.cPath.unlock() + else: + self.cPath.lock() + + def getCPath(self): + if self.pathSel.get() == "Other": + startDir = self.options["startFolder"] + if startDir.startswith("~"): + startDir = os.path.expanduser(startDir) + userDir = askdirectory(title="Select Output Folder", initialdir=startDir) + if userDir != "": + self.cPath.set(userDir) + def changeTheme(self, newTheme): self.thme = newTheme self.applyTheme(self.master) @@ -2004,4 +2025,9 @@ def show(self): self.hidden = False self.scr_list.grid(column=0, row=0, sticky=(W)) # self.runBtn.grid(column=0, row=1) - self.console.show() \ No newline at end of file + self.opts.grid(column=0, row=1, sticky="nsew", pady=(10,0)) + self.enableMDL.grid(column=0, row=0, pady=15) + self.cPathLabel.grid(column=1, row=0, padx=5) + self.pathSel.grid(column=2, row=0) + self.cPath.grid(column=3, row=0, padx=5, pady=15) + self.pathBrowse.grid(column=4, row=0) \ No newline at end of file From 1e1854f81d681fbe920f18ab70a31fd0059614ba Mon Sep 17 00:00:00 2001 From: PostScriptReal <149461738+PostScriptReal@users.noreply.github.com> Date: Tue, 22 Jul 2025 21:03:13 +1000 Subject: [PATCH 3/8] WIP Batch Decompilation/Compilation There's still some very annoying bugs I have to iron out, but the blueprint's here! --- GUI.py | 30 +-- helpers.py | 16 +- menus.py | 612 +++++++++++++++++++++++++++++++++++++--------------- version.txt | 2 +- 4 files changed, 463 insertions(+), 197 deletions(-) diff --git a/GUI.py b/GUI.py index d2b43a4..3b19f33 100644 --- a/GUI.py +++ b/GUI.py @@ -437,16 +437,16 @@ def __init__(self): self.dumbFixMenu4.grid(column=0, row=2, sticky="nsew", columnspan=10) self.compSetMenu = CompSetupMenu(self.mTemplate, self.dumbFixMenu4, self.updateComps, self.flags.allowGames) self.dumbFixMenu4.grid_remove() - - self.decMenu = DecompMenu(self.mTemplate, menu, True) if self.flags.allowScripts: self.dumbFixMenu5.grid(column=0, row=2, sticky="nsew", columnspan=10) - self.scrMenu = BatchManagerM(self.mTemplate, self.dumbFixMenu5, True) + self.batchMenu = BatchManagerM(self.mTemplate, self.dumbFixMenu5, True) self.dumbFixMenu5.grid_remove() + self.decMenu = DecompMenu(self.mTemplate, menu, self.batchMenu, True) + self.dumbFixMenu.grid(column=0, row=2, sticky="nsew", columnspan=10) - self.cmpMenu = CompMenu(self.mTemplate, self.dumbFixMenu, False) + self.cmpMenu = CompMenu(self.mTemplate, self.dumbFixMenu, self.batchMenu, False) if winSizeFile: self.dumbFixMenu.grid_remove() self.cmpMenu.hidden = True @@ -579,13 +579,13 @@ def changeTheme(self, a): self.decMenu.changeTheme(thCol) self.optMenu.changeTheme(thCol) self.compSetMenu.changeTheme(thCol) - self.scrMenu.changeTheme(thCol) + self.batchMenu.changeTheme(thCol) self.setupMenu.master.config(bg=thCol["bg"]) self.cmpMenu.master.config(bg=thCol["bg"]) self.abtMenu.master.config(bg=thCol["bg"]) self.optMenu.master.config(bg=thCol["bg"]) self.compSetMenu.master.config(bg=thCol["bg"]) - self.scrMenu.master.config(bg=thCol["bg"]) + self.batchMenu.master.config(bg=thCol["bg"]) self.frame.config(bg=thCol["bg"]) self.header.config(bg=thCol["bg"]) for w in self.header.winfo_children(): @@ -611,7 +611,7 @@ def about(self): self.decMenu.hide() self.optMenu.hide() if self.flags.allowScripts: - self.scrMenu.hide() + self.batchMenu.hide() def updateOpt(self, key, val): self.setupMenu.updateOpt(key, val) @@ -621,7 +621,7 @@ def updateOpt(self, key, val): self.decMenu.updateOpt(key, val) self.optMenu.updateOpt(key, val) if self.flags.allowScripts: - self.scrMenu.updateOpt(key, val) + self.batchMenu.updateOpt(key, val) def updateGames(self, comp): self.cmpMenu.updateGames(comp) @@ -643,7 +643,7 @@ def optionsMenu(self): self.decMenu.hide() self.optMenu.show() if self.flags.allowScripts: - self.scrMenu.hide() + self.batchMenu.hide() def openfile(self): startDir = self.options["startFolder"] @@ -680,7 +680,7 @@ def bd_menu(self): self.abtMenu.hide() self.optMenu.hide() if self.flags.allowScripts: - self.scrMenu.hide() + self.batchMenu.hide() def cmpSetupMenu(self): if self.compSetMenu.hidden: @@ -696,7 +696,7 @@ def cmpSetupMenu(self): self.abtMenu.hide() self.optMenu.hide() if self.flags.allowScripts: - self.scrMenu.hide() + self.batchMenu.hide() """ Switches menu to Decompile Menu """ @@ -714,7 +714,7 @@ def mnc_menu(self): self.optMenu.hide() self.compSetMenu.hide() if self.flags.allowScripts: - self.scrMenu.hide() + self.batchMenu.hide() """ Switches menu to Compile Menu """ def cmp_menu(self): @@ -731,12 +731,12 @@ def cmp_menu(self): self.abtMenu.hide() self.optMenu.hide() if self.flags.allowScripts: - self.scrMenu.hide() + self.batchMenu.hide() # print(f"width: {self.winfo_width()} height: {self.winfo_height()}") def scripts(self): if self.flags.allowScripts: - if self.scrMenu.hidden: + if self.batchMenu.hidden: self.setupMenu.hide() self.compSetMenu.hide() self.dumbFixMenu.grid_remove() @@ -748,7 +748,7 @@ def scripts(self): self.decMenu.hide() self.abtMenu.hide() self.optMenu.hide() - self.scrMenu.show() + self.batchMenu.show() else: a = ScriptWin() diff --git a/helpers.py b/helpers.py index c8b0c73..04411ca 100644 --- a/helpers.py +++ b/helpers.py @@ -43,7 +43,7 @@ def __init__(self, master, startText:str='', columnn=0, roww=0, widthh=100, heig self.miniTerminal['state'] = 'disabled' # Sets the output of the console to something else. - def setOutput(self, replace): + def setOutput(self, replace:str): self.miniTerminal['state'] = 'normal' self.miniTerminal.delete('1.0', 'end') self.miniTerminal.insert('1.0', replace) @@ -54,7 +54,7 @@ def setOutput(self, replace): self.lines.append(replace) # Appends a new line to the bottom of the console. - def append(self, e): + def append(self, e:str): self.miniTerminal['state'] = 'normal' self.miniTerminal.insert('end', e) self.lines.append(e) @@ -101,9 +101,9 @@ def hide(self): class BoolEntry(): - def __init__(self, master, textvariable, placeholder="placeholder", bg="white", fg="black"): + def __init__(self, master, textvariable, placeholder="placeholder", bg="white", fg="black", width=20): self.placeholder = placeholder - self.entry = Entry(master, state="disabled", textvariable=textvariable, bg=bg, fg=fg) + self.entry = Entry(master, state="disabled", textvariable=textvariable, bg=bg, fg=fg, width=width) def grid(self, column=0, row=0, padx=0, pady=0, sticky="nsew"): self.entry.grid(column=column, row=row, padx=padx, pady=pady, sticky=sticky) @@ -426,3 +426,11 @@ def checkCustom(self, name): if g.name == name and g.isCustom: return True return False + +class BatchMDL(): + + def __init__(self, name:str, qcLoc:str, output:str): + self.name = name + self.qcLoc, self.mdlLoc = qcLoc, qcLoc + self.skip = False + self.output = output \ No newline at end of file diff --git a/menus.py b/menus.py index b5e6bf2..6651cf9 100644 --- a/menus.py +++ b/menus.py @@ -8,12 +8,15 @@ import subprocess import shutil import datetime -from helpers import BoolEntry, Console, BoolSpinbox, QCHandler, HyperlinkImg, Game, GamesHandler +from helpers import BoolEntry, Console, BoolSpinbox, QCHandler, HyperlinkImg, Game, GamesHandler, BatchMDL import json import sys import jsonc from interp import SSTReader +DECOMP_TAB = 0 +COMP_TAB = 1 + # To make things easier for myself, I'm making a new class that contains common values that won't (or usually doesn't) change for each menu. class MenuTemp(): @@ -421,8 +424,293 @@ def show(self): self.csPathEntry.grid(column=2, row=0, sticky="w", padx=(15,0)) self.csPathButton.grid(column=3,row=0,sticky="w", padx=(5,0)) -class DecompMenu(): +class BatchManagerM(): def __init__(self, template, master, startHidden:bool=False): + self.curFont = font.nametofont('TkDefaultFont').actual() + self.widthFix = 86 + self.conFix = 46 + self.conHeight = 11 + self.logOutput = False + self.blankClistStr = "Select a folder of compilable models and they will show up here!" + self.blankDlistStr = "Select a folder of decompilable models and they will show up here!" + self.curCBatch, self.curDBatch = [], [] + self.curTab = 0 + if self.curFont["family"].lower() == "nimbus sans l" or sys.platform == "win32": + self.widthFix = self.widthFix+7 + self.conFix = self.conFix+13 + self.conHeight = self.conHeight+2 + else: + pass + self.hidden = startHidden + self.master = master + thme = template.thme + self.thme, self.safeWidth = thme, template.safeWidth + if self.safeWidth > 609: + n = 3 + self.widthFix, self.conFix = self.widthFix-n, self.conFix-n + self.opts = Frame(master, borderwidth=2, bg=thme["bg"], relief="sunken") + self.tabs = Frame(master, borderwidth=2, bg=thme["bg"]) + # Setting up options + js = open("save/options.json", 'r') + self.options = json.loads(js.read()) + js.close() + self.mdls = [] + + self.decompTab = Button(self.tabs, text="Decompiling", cursor="hand2", command=self.switchTabDecomp) + self.compTab = Button(self.tabs, text="Compiling", cursor="hand2", command=self.switchTabComp) + + self.qc_list = Listbox(master, width=self.widthFix, selectmode=EXTENDED, height=15) + self.qc_list.insert(0, self.blankClistStr) + self.mdl_list = Listbox(master, width=self.widthFix, selectmode=EXTENDED, height=15) + self.mdl_list.insert(0, self.blankDlistStr) + self.qc_list.bind("<>", self.lbSelHandler) + self.mdl_list.bind("<>", self.lbSelHandler) + + # self.runBtn = Button(master, text="Run script", cursor="hand2", command=self.readScript) + # self.console = Console(master, 'Run a script and an output of the script\'s progress will appear here!', 0, 2, self.conFix, self.conHeight) + self.skipMDLvar = BooleanVar(self.opts, value=False) + self.skipMDL = Checkbutton(self.opts, text="Skip model", variable=self.skipMDLvar, command=self.skipModel) + self.cPathLabel = Label(self.opts, text="Output path: ") + self.pathSelVar = BooleanVar(self.opts, value=True) + self.pathSel = Checkbutton(self.opts, text="Use Output Path", variable=self.pathSelVar, command=self.cPathChk) + self.cPathVar = StringVar(self.opts, value="") + self.cPath = BoolEntry(self.opts, textvariable=self.cPathVar, placeholder="", width=27) + self.pathBrowse = Button(self.opts, text='Save Path', command=self.getCPath, cursor="hand2") + if not startHidden: + self.show() + + # Applying theme + self.applyTheme(master) + self.applyTheme(self.opts) + self.applyTheme(self.tabs) + + def applyTheme(self, master): + style= ttk.Style() + style.theme_use('clam') + style.configure("TCombobox", fieldbackground=self.thme["ent"]) + for w in master.winfo_children(): + if w.winfo_class() == "Button": + w.configure(bg=self.thme["btn"][0]) + w.configure(highlightbackground=self.thme["btn"][1]) + w.configure(activebackground=self.thme["btn"][2]) + w.configure(fg=self.thme["txt"]) + elif w.winfo_class() == "Entry": + w.configure(bg=self.thme["ent"]) + w.configure(fg=self.thme["txt"]) + elif isinstance(w, ttk.Combobox): + pass + w.configure(foreground='white') + # w["menu"].config(bg=self.thme["btn"][1]) + elif isinstance(w, Text): + w.configure(bg=self.thme["ent"]) + w.configure(fg=self.thme["txt"]) + elif w.winfo_class() == "Checkbutton": + w.configure(bg=self.thme["bg"]) + w.configure(highlightbackground=self.thme["bg"]) + w.configure(activebackground=self.thme["bg"]) + w.configure(fg=self.thme["txt"]) + w.configure(selectcolor=self.thme["ent"]) + else: + w.configure(bg=self.thme["bg"]) + try: + w.configure(fg=self.thme["txt"]) + except: + pass + + def cPathChk(self, e=False): + if self.curTab == DECOMP_TAB: + focus = self.mdl_list + batch = self.curDBatch + else: + focus = self.qc_list + batch = self.curCBatch + + selection = focus.curselection() + if not self.pathSelVar.get(): + self.cPath.unlock() + if len(selection) == 1 and not focus.get(0).startswith("Select a folder of "): + curMDL = batch[selection[0]] + curMDL.output = self.cPathVar.get() + elif not focus.get(0).startswith("Select a folder of "): + mdls = batch[int(selection[0]):selection[len(selection)-1]+1] + for i in mdls: + i.output = self.cPathVar.get() + else: + self.cPath.lock() + if len(selection) == 1 and not focus.get(0).startswith("Select a folder of "): + curMDL = batch[selection[0]] + curMDL.output = "out" + elif not focus.get(0).startswith("Select a folder of "): + mdls = batch[int(selection[0]):selection[len(selection)-1]+1] + for i in mdls: + i.output = "out" + + def getCPath(self): + if not self.pathSelVar.get(): + self.cPathVar.set(self.cPathVar.get()) + if self.cPathVar != "": + if self.curTab == DECOMP_TAB: + focus = self.mdl_list + batch = self.curDBatch + else: + focus = self.qc_list + batch = self.curCBatch + + selection = focus.curselection() + if len(selection) == 1 and not focus.get(0).startswith("Select a folder of "): + curMDL = batch[selection[0]] + curMDL.output = self.cPathVar.get() + elif not focus.get(0).startswith("Select a folder of "): + mdls = batch[int(selection[0]):selection[len(selection)-1]+1] + for i in mdls: + i.output = self.cPathVar.get() + + def setBatch(self, batch, tab:str): + if tab == 'comp': + self.qc_list.delete(0, 'end') + self.curCBatch = batch + count = -1 + for i in batch: + count += 1 + self.qc_list.insert(count, i.name) + self.switchTabComp() + else: + self.mdl_list.delete(0, 'end') + self.curDBatch = batch + count = -1 + for i in batch: + count += 1 + self.mdl_list.insert(count, i.name) + self.switchTabDecomp() + + def getBatch(self, tab:str): + if tab == 'comp': + return self.curCBatch + else: + return self.curDBatch + + def clearBatch(self, tab:str): + if tab == "decomp": + self.mdl_list.delete(0, 'end') + self.mdl_list.insert(0, self.blankDlistStr) + else: + self.qc_list.delete(0, 'end') + self.qc_list.insert(0, self.blankClistStr) + + def switchTabDecomp(self): + self.curTab = DECOMP_TAB + self.qc_list.grid_remove() + self.mdl_list.grid(column=0, row=1) + + def switchTabComp(self): + self.curTab = COMP_TAB + self.mdl_list.grid_remove() + self.qc_list.grid(column=0, row=1) + + def lbSelHandler(self, e=None): + try: + if self.curTab == DECOMP_TAB: + focus = self.mdl_list + batch = self.curDBatch + else: + focus = self.qc_list + batch = self.curCBatch + + selection = focus.curselection() + if len(selection) == 1 and not focus.get(0).startswith("Select a folder of "): + curMDL = batch[selection[0]] + self.skipMDLvar.set(curMDL.skip) + if curMDL.output == "out": + self.pathSelVar.set(True) + self.cPath.lock() + self.cPathVar.set("") + else: + self.pathSelVar.set(False) + self.cPath.unlock() + self.cPathVar.set(curMDL.output) + elif not focus.get(0).startswith("Select a folder of "): + mdls = batch[int(selection[0]):selection[len(selection)-1]+1] + skipVal = mdls[0].skip + outputVal = mdls[0].output + defaultOpts = False + for i in mdls: + if i.skip != skipVal: + defaultOpts = True + break + elif i.output != outputVal: + defaultOpts = True + break + if defaultOpts: + self.skipMDLvar.set(False) + self.pathSelVar.set(True) + self.cPath.lock() + self.cPathVar.set("") + else: + self.skipMDLvar.set(skipVal) + if outputVal == "out": + self.pathSelVar.set(True) + self.cPath.lock() + self.cPathVar.set("") + else: + self.pathSelVar.set(False) + self.cPath.unlock() + self.cPathVar.set(outputVal) + except: + print("Batch Manager item has been deselected!") + + def skipModel(self): + if self.curTab == DECOMP_TAB: + focus = self.mdl_list + batch = self.curDBatch + else: + focus = self.qc_list + batch = self.curCBatch + + selection = focus.curselection() + if len(selection) == 1 and not focus.get(0).startswith("Select a folder of "): + curMDL = batch[selection[0]] + curMDL.skip = self.skipMDLvar.get() + elif not focus.get(0).startswith("Select a folder of "): + mdls = batch[int(selection[0]):selection[len(selection)-1]+1] + for i in mdls: + i.skip = self.skipMDLvar.get() + + def changeTheme(self, newTheme): + self.thme = newTheme + self.applyTheme(self.master) + self.applyTheme(self.tabs) + self.applyTheme(self.opts) + + def updateOpt(self, key, value): + if not key.startswith("gsMV"): + self.options[key] = value + else: + self.options["gsMV"][key.replace("gsMV", "")] = value + + def hide(self): + self.hidden = True + for w in self.master.winfo_children(): + w.grid_remove() + + def show(self): + self.hidden = False + self.tabs.grid(column=0, row=0) + self.decompTab.grid(column=0, row=0) + self.compTab.grid(column=1, row=0) + if self.curTab == DECOMP_TAB: + self.mdl_list.grid(column=0, row=1, sticky=(W)) + else: + self.qc_list.grid(column=0, row=1, sticky=(W)) + # self.runBtn.grid(column=0, row=1) + self.opts.grid(column=0, row=2, sticky="nsew", pady=(10,0)) + self.skipMDL.grid(column=0, row=0, pady=15) + self.cPathLabel.grid(column=1, row=0, padx=10) + self.pathSel.grid(column=2, row=0) + self.cPath.grid(column=3, row=0, padx=5, pady=15) + self.pathBrowse.grid(column=4, row=0) + +class DecompMenu(): + def __init__(self, template, master, batchManager:BatchManagerM, startHidden:bool=False): self.curFont = font.nametofont('TkDefaultFont').actual() self.widthFix = 51 self.conFix = 46 @@ -436,6 +724,7 @@ def __init__(self, template, master, startHidden:bool=False): self.master = master thme = template.thme self.thme, self.safeWidth = thme, template.safeWidth + self.batchManager = batchManager if self.safeWidth > 609: n = 2 self.widthFix, self.conFix = self.widthFix-n, self.conFix-n @@ -483,6 +772,9 @@ def __init__(self, template, master, startHidden:bool=False): self.name = StringVar() self.nameEntry = Entry(master, textvariable=self.name, width=self.widthFix) self.nameEntry.bind("", self.inputHandler) + tOpts = ["File", "Folder"] + self.typeSel = ttk.Combobox(master, values=tOpts, width=7) + self.typeSel.set(tOpts[0]) self.out = StringVar() self.outputEntry = Entry(master, textvariable=self.out, width=self.widthFix) self.mdlBrowse = Button(master, text='Browse', command=self.findMDL, cursor="hand2") @@ -626,6 +918,7 @@ def show(self): self.nameEntry.grid(column=1, row=0, padx=(5,0)) self.outputEntry.grid(column=1, row=1, padx=(5,0)) self.mdlBrowse.grid(column=2, row=0, padx=(12,0)) + self.typeSel.grid(column=3, row=0, padx=(5,0)) self.outBrowse.grid(column=2, row=1, padx=(12,0)) self.quick.grid(column=0,row=2,sticky="nsew", columnspan=10) self.quickStpLbl.grid(column=0, row=2, sticky="w") @@ -644,15 +937,43 @@ def show(self): self.console.show() def findMDL(self): + folder = False + if self.typeSel.get() == "Folder": + folder = True startDir = self.options["startFolder"] if startDir.startswith("~"): startDir = os.path.expanduser(startDir) - fileTypes = [("GoldSRC Model", "*.mdl"), ("All Files", "*.*")] - userSel = askopenfilename(title="Select MDL", initialdir=startDir, filetypes=fileTypes) - if userSel != "": - self.name.set(userSel) - if not self.name.get() == "" and self.options["gsMV"]["selectedMV"] > 0: - self.hlmv.grid(column=1, row=4, pady=(10,0), sticky="w") + if not folder: + self.clearBatch() + fileTypes = [("GoldSRC Model", "*.mdl"), ("All Files", "*.*")] + userSel = askopenfilename(title="Select MDL", initialdir=startDir, filetypes=fileTypes) + if userSel != "": + self.name.set(userSel) + if not self.name.get() == "" and self.options["gsMV"]["selectedMV"] > 0: + self.hlmv.grid(column=1, row=4, pady=(10,0), sticky="w") + else: + userSel = askdirectory(title="Select Folder containing MDL files", initialdir=startDir) + if userSel != "": + self.name.set(userSel) + self.getBatch(userSel) + + def clearBatch(self): + self.batchManager.clearBatch('decomp') + + def getBatch(self, folder): + allFiles = os.listdir(folder) + batchFiles = [] + for f in allFiles: + mdl = os.path.join(folder, f) + if not os.path.isfile(mdl): + continue + elif not mdl.endswith(".mdl"): + continue + print(f) + mdl = BatchMDL(f.replace(".mdl", ""), os.path.join(mdl, f), "out") + batchFiles.append(mdl) + self.batchManager.setBatch(batchFiles, 'decomp') + def output(self): startDir = self.options["startFolder"] if startDir.startswith("~"): @@ -676,8 +997,38 @@ def getArgs(self): return(cmdArgs) def startDecomp(self): - mdl = self.name.get() - output = self.out.get() + SINGLE = False + BATCH = True + if self.typeSel.get() == "File": + self.singleDec(self.name.get(), self.out.get(), SINGLE) + else: + mdls = self.batchManager.getBatch('decomp') + fallbackFolder = os.path.dirname(mdls[0].mdlLoc) + fallbackOutput = os.path.join(fallbackFolder, "BATCH DECOMPILE") + print(f"Fallback Output Folder: {fallbackOutput}") + for m in mdls: + if m.skip: + continue + if m.output == "out": + print("Default Output Folder") + if self.out.get() == "" or self.out.get() == None: + print("FALLBACK") + print(m.mdlLoc) + self.singleDec(m.mdlLoc, f"{fallbackOutput}/{m.name}/", BATCH) + else: + self.singleDec(m.mdlLoc, f"{self.out.get()}/{m.name}/", BATCH) + else: + print("Alternate Output Folder") + self.singleDec(m.mdlLoc, f"{m.output}/{m.name}/", BATCH) + consoleOutput = "All models have been decompiled!" + if self.out.get() == "" or self.out.get() == None: + consoleOutput = f"All models have been decompiled!\nSince you did not specify an output folder, all the models that were set to be placed there are now somewhere else\nYou can find them in \'{fallbackOutput}\'" + self.console.setOutput(consoleOutput) + + + def singleDec(self, mdl, out, batch): + mdl = mdl + output = out gotArgs = False cmdArgs = self.getArgs() error = False @@ -720,8 +1071,9 @@ def startDecomp(self): tOutput = subprocess.getoutput(f'\"{os.getcwd()}/third_party/mdl6dec.exe\" \"{mdl}\" -p \"{output}\"') elif tOutput.find("ERROR:") != -1: error = True - print(tOutput) - self.console.setOutput(tOutput) + if not batch: + print(tOutput) + self.console.setOutput(tOutput) if self.logVal.get(): date = datetime.datetime.now() curDate = f"{date.strftime('%d')}-{date.strftime('%m')}-{date.strftime('%Y')}-{date.strftime('%H')}-{date.strftime('%M')}-{date.strftime('%S')}" @@ -756,10 +1108,11 @@ def startDecomp(self): pass class CompMenu(): - def __init__(self, template, master, startHidden:bool=False): + def __init__(self, template, master, batchManager:BatchManagerM, startHidden:bool=False): self.curFont = font.nametofont('TkDefaultFont').actual() self.widthFix = 52 self.conFix = 47 + self.batchManager = batchManager thme = template.thme self.thme, self.safeWidth = thme, template.safeWidth self.advOptFix = True @@ -786,7 +1139,7 @@ def __init__(self, template, master, startHidden:bool=False): self.profiles = json.loads(js.read()) js.close() self.options = template.options - if self.safeWidth > 609: + if self.safeWidth > 659: n = 2 self.widthFix, self.conFix = self.widthFix-n, self.conFix-n self.selects = Frame(master, borderwidth=2, bg=thme["bg"]) @@ -827,13 +1180,6 @@ def __init__(self, template, master, startHidden:bool=False): # All options for Half-Life's StudioMDL can be found here https://github.com/ValveSoftware/halflife/blob/master/utils/studiomdl/studiomdl.c at line 3362-3408 # Note that the Half-Life SDK doesn't document every command available to the compiler # Some information for other GoldSRC compilers can be found here: https://developer.valvesoftware.com/wiki/StudioMDL_(GoldSrc) - """ Commands that have yet to be implemented into the GUI: - -n - Tags bad normals (IMPLEMENTED!) - -f - Flips all triangles (IMPLEMENTED!) - -i - Ignore warnings (IMPLEMENTED!) - -p - Force power of 2 textures (Unavailable in Sven Co-op StudioMDL) - -g - Sets the maximum group size for sequences in KB (IMPLEMENTED) - """ self.advOptLabel = Label(self.advOpt, text="Advanced Options") self.logVal = BooleanVar(self.advOpt, value=False) self.logChk = Checkbutton(self.advOpt, text="Write log to file", variable=self.logVal, command=self.setLog) @@ -866,10 +1212,10 @@ def __init__(self, template, master, startHidden:bool=False): else: self.ignoreB = BooleanVar(self.advOpt, value=False) self.ignoreChk = Checkbutton(self.advOpt, text="-i", variable=self.ignoreB) - self.bNormB = BooleanVar(self.advOpt2, value=False) - self.bNormChk = Checkbutton(self.advOpt2, text="-n", variable=self.bNormB) - self.flipB = BooleanVar(self.advOpt2, value=False) - self.flipChk = Checkbutton(self.advOpt2, text="-f", variable=self.flipB) + self.bNormB = BooleanVar(self.advOpt, value=False) + self.bNormChk = Checkbutton(self.advOpt, text="-n", variable=self.bNormB) + self.flipB = BooleanVar(self.advOpt, value=False) + self.flipChk = Checkbutton(self.advOpt, text="-f", variable=self.flipB) self.groupB = BooleanVar(self.advOpt2, value=False) self.groupChk = Checkbutton(self.advOpt2, text="-g", variable=self.groupB, command=self.groupSBhandler) self.groupSB = BoolSpinbox(self.advOpt2, range=[0,4096], bg=thme["ent"], bBG=thme["btn"][0], fg=thme["txt"], increment=16) @@ -1097,7 +1443,7 @@ def show(self): self.advOpt.grid(column=0, row=3, sticky="nsew", columnspan=10, pady=(20,0)) self.advOptLabel.grid(column=0, row=0, sticky="w") self.logChk.grid(column=0, row=1, sticky="w") - if self.advOptFix or self.safeWidth > 609: + if self.advOptFix or self.safeWidth > 659: self.dashT.grid(column=2, row=1, sticky="w") self.dashTChk.grid(column=1, row=1, sticky="w") else: @@ -1115,11 +1461,11 @@ def show(self): if self.advOptFix: self.bNormChk.grid(column=8, row=1, sticky="w") else: - self.bNormChk.grid(column=1, row=2, sticky="w") + self.bNormChk.grid(column=8, row=1, sticky="w") if self.advOptFix: - self.flipChk.grid(column=0, row=2, sticky="w") + self.flipChk.grid(column=9, row=1, sticky="w") else: - self.flipChk.grid(column=2, row=2, sticky="w") + self.flipChk.grid(column=9, row=1, sticky="w") if self.advOptFix: self.groupChk.grid(column=0, row=2, sticky="w",padx=(40,0)) self.groupSB.grid(column=0, row=2, sticky="w",padx=(81,0)) @@ -1152,8 +1498,9 @@ def findMDL(self): fileTypes = [("Quake Compile Files", "*.qc"), ("All Files", "*.*")] userSel = askopenfilename(title="Select QC", initialdir=startDir, filetypes=fileTypes) if userSel != "": - self.name.set() + self.name.set(userSel) self.compatChk() + self.clearBatch() mdlPath = os.path.dirname(self.name.get()) mdlPath = os.path.join(mdlPath, "models") if os.path.exists(mdlPath) and self.options["gsMV"]["selectedMV"] > 0: @@ -1187,7 +1534,33 @@ def findMDL(self): userSel = askdirectory(title="Select Folder containing your models", initialdir=startDir) if userSel != "": self.name.set(userSel) - self.compatChk(enabled=False) + self.compatChk(enabled=False) + self.getBatch(userSel) + + def clearBatch(self): + self.batchManager.clearBatch('comp') + + def getBatch(self, folder): + allFolders = os.listdir(folder) + batchFolders = [] + for f in allFolders: + mdlFld = os.path.join(folder, f) + if os.path.isfile(mdlFld): + continue + print(f) + files = os.listdir(mdlFld) + qcFiles = [] + for f in files: + if f.endswith(".qc"): + qcFiles.append(f) + if len(qcFiles) > 1: + for qc in qcFiles: + mdl = BatchMDL(f"{os.path.basename(mdlFld)} ({qc.replace(".qc", "")})", os.path.join(mdlFld, qc), "out") + batchFolders.append(mdl) + elif len(qcFiles) > 0: + mdl = BatchMDL(os.path.basename(mdlFld), os.path.join(mdlFld, qcFiles[0]), "out") + batchFolders.append(mdl) + self.batchManager.setBatch(batchFolders, 'comp') def compatChk(self, e=False, enabled=True): if enabled: @@ -1309,8 +1682,32 @@ def getCompilerOptions(self): return None def startCompile(self): - mdl = self.name.get() - output = self.out.get() + SINGLE = False + BATCH = True + if self.typeSel.get() == "File": + self.singleComp(self.name.get(), self.out.get(), SINGLE) + else: + mdls = self.batchManager.getBatch('comp') + fallbackFolder = os.path.dirname(mdls[0].qcLoc) + # fallbackOutput = os.path.join(fallbackFolder, "BATCH COMPILE") + for m in mdls: + if m.skip: + continue + if m.output == "out": + if not self.out.get() == "" or not self.out.get() == None: + self.singleComp(m.qcLoc, self.out.get(), BATCH) + else: + self.singleComp(m.qcLoc, fallbackOutput, BATCH) + else: + self.singleComp(m.mdlLoc, m.output, BATCH) + consoleOutput = "All models have been compiled!" + if self.out.get() == "" or self.out.get() == None: + consoleOutput = f"All models have been compiled!\nSince you did not specify an output folder, all the models that were set to be placed there are now somewhere else\nYou can find them in \'{fallbackOutput}\'" + self.console.setOutput(consoleOutput) + + def singleComp(self, mdl:str, out:str, batch:bool): + mdl = mdl + output = out tOutput = '' compilerPath = '' compilerFound = False @@ -1376,13 +1773,10 @@ def startCompile(self): tOutput = subprocess.getoutput(f'\"{compilerPath}\" {cOpts} \"{mdl}\"') else: self.console.setOutput("ERROR: Couldn't find compiler, have you installed it?") - # I don't have a Mac so I can't compile mdldec to Mac targets :( - # So instead I have to use wine for Mac systems - """elif sys.platform == 'darwin': - tOutput = subprocess.getoutput(f'wine third_party/mdldec_win32.exe \"{mdl}\"')""" if compilerFound: - print(tOutput) - self.console.setOutput(tOutput) + if not batch: + print(tOutput) + self.console.setOutput(tOutput) # Removing temporary QC file used to compile model when the QC file supplied had used relative pathing if qcRelChk.cbarFrmt: os.remove(mdl) @@ -1393,6 +1787,7 @@ def startCompile(self): log.write(tOutput) log.close() # Moving the compiled MDL file to the output folder + print(output) mdlFolder = "" if output == "" or output == None: mdlFolder = qcRelChk.qcLoc @@ -1414,8 +1809,6 @@ def startCompile(self): if f.find(".mdl") != -1: shutil.copy(f, os.path.join(mdlFolder, f)) os.remove(os.path.join(os.getcwd(), f)) - # shutil.copy(mdlF, os.path.join(mdlFolder, mdlF)) - # os.remove(mdlF) class AboutMenu(): def __init__(self, template, master, startHidden:bool=False): @@ -1895,139 +2288,4 @@ def show(self): self.hlmvCBox.grid(column=2, row=1, sticky="w") self.mvPathLabel.grid(column=1, row=2, sticky="w") self.mvPathEnt.grid(column=2, row=2, sticky="w") - self.setMVP.grid(column=3, row=2, sticky="w") - -class BatchManagerM(): - def __init__(self, template, master, startHidden:bool=False): - self.curFont = font.nametofont('TkDefaultFont').actual() - self.widthFix = 86 - self.conFix = 46 - self.conHeight = 11 - self.logOutput = False - self.blankListStr = "Select a folder of compilable models and they will show up here!" - if self.curFont["family"].lower() == "nimbus sans l" or sys.platform == "win32": - self.widthFix = self.widthFix+7 - self.conFix = self.conFix+13 - self.conHeight = self.conHeight+2 - else: - pass - self.hidden = startHidden - self.master = master - thme = template.thme - self.thme, self.safeWidth = thme, template.safeWidth - if self.safeWidth > 609: - n = 3 - self.widthFix, self.conFix = self.widthFix-n, self.conFix-n - self.opts = Frame(master, borderwidth=2, bg=thme["bg"], relief="sunken") - # Setting up options - js = open("save/options.json", 'r') - self.options = json.loads(js.read()) - js.close() - self.mdls = [] - if getattr(sys, 'frozen', False): - EXE_LOCATION = os.path.dirname( sys.executable ) - else: - EXE_LOCATION = os.path.dirname( os.path.realpath( __file__ ) ) - """self.scr_dir = os.path.join(EXE_LOCATION, "mdls") - for s in os.listdir(self.scr_dir): - if not s.startswith("template"): - self.mdls.append(s)""" - - self.scr_list = Listbox(master, width=self.widthFix, selectmode=SINGLE) - self.scr_list.insert(0, self.blankListStr) - # self.runBtn = Button(master, text="Run script", cursor="hand2", command=self.readScript) - # self.console = Console(master, 'Run a script and an output of the script\'s progress will appear here!', 0, 2, self.conFix, self.conHeight) - self.enableMDLvar = BooleanVar(self.opts, value=False) - self.enableMDL = Checkbutton(self.opts, text="Include source in task", variable=self.enableMDLvar) - self.cPathLabel = Label(self.opts, text="Output path: ") - pOpts = ["Output Path", "Other"] - self.pathSel = ttk.Combobox(self.opts, values=pOpts, width=10) - self.pathSel.set(pOpts[0]) - self.pathSel.bind("<>", self.cPathChk) - self.cPathVar = StringVar(self.opts, value="\'path/to/your/other/output/folder\'") - self.cPath = BoolEntry(self.opts, textvariable=self.cPathVar, placeholder="\'path/to/your/other/output/folder\'") - self.pathBrowse = Button(self.opts, text='Browse', command=self.getCPath, cursor="hand2") - if not startHidden: - self.show() - - # Applying theme - self.applyTheme(master) - self.applyTheme(self.opts) - - """def readScript(self): - selected_scr = self.mdls[int(self.scr_list.curselection()[0])] - a = SSTReader(os.path.join(self.scr_dir, selected_scr), self.options, self.console)""" - - def applyTheme(self, master): - style= ttk.Style() - style.theme_use('clam') - style.configure("TCombobox", fieldbackground=self.thme["ent"]) - for w in master.winfo_children(): - if w.winfo_class() == "Button": - w.configure(bg=self.thme["btn"][0]) - w.configure(highlightbackground=self.thme["btn"][1]) - w.configure(activebackground=self.thme["btn"][2]) - w.configure(fg=self.thme["txt"]) - elif w.winfo_class() == "Entry": - w.configure(bg=self.thme["ent"]) - w.configure(fg=self.thme["txt"]) - elif isinstance(w, ttk.Combobox): - pass - w.configure(foreground='white') - # w["menu"].config(bg=self.thme["btn"][1]) - elif isinstance(w, Text): - w.configure(bg=self.thme["ent"]) - w.configure(fg=self.thme["txt"]) - elif w.winfo_class() == "Checkbutton": - w.configure(bg=self.thme["bg"]) - w.configure(highlightbackground=self.thme["bg"]) - w.configure(activebackground=self.thme["bg"]) - w.configure(fg=self.thme["txt"]) - w.configure(selectcolor=self.thme["ent"]) - else: - w.configure(bg=self.thme["bg"]) - try: - w.configure(fg=self.thme["txt"]) - except: - pass - - def cPathChk(self, e=False): - if self.pathSel.get() == "Other": - self.cPath.unlock() - else: - self.cPath.lock() - - def getCPath(self): - if self.pathSel.get() == "Other": - startDir = self.options["startFolder"] - if startDir.startswith("~"): - startDir = os.path.expanduser(startDir) - userDir = askdirectory(title="Select Output Folder", initialdir=startDir) - if userDir != "": - self.cPath.set(userDir) - - def changeTheme(self, newTheme): - self.thme = newTheme - self.applyTheme(self.master) - - def updateOpt(self, key, value): - if not key.startswith("gsMV"): - self.options[key] = value - else: - self.options["gsMV"][key.replace("gsMV", "")] = value - - def hide(self): - self.hidden = True - for w in self.master.winfo_children(): - w.grid_remove() - - def show(self): - self.hidden = False - self.scr_list.grid(column=0, row=0, sticky=(W)) - # self.runBtn.grid(column=0, row=1) - self.opts.grid(column=0, row=1, sticky="nsew", pady=(10,0)) - self.enableMDL.grid(column=0, row=0, pady=15) - self.cPathLabel.grid(column=1, row=0, padx=5) - self.pathSel.grid(column=2, row=0) - self.cPath.grid(column=3, row=0, padx=5, pady=15) - self.pathBrowse.grid(column=4, row=0) \ No newline at end of file + self.setMVP.grid(column=3, row=2, sticky="w") \ No newline at end of file diff --git a/version.txt b/version.txt index f35b749..2cb971b 100644 --- a/version.txt +++ b/version.txt @@ -1 +1 @@ -v0.2.4-(OS)-alpha +v0.3.0-(OS)-alpha From d8c46a5fdb43441235e9eba1339e000d3baf9608 Mon Sep 17 00:00:00 2001 From: PostScriptReal <149461738+PostScriptReal@users.noreply.github.com> Date: Wed, 23 Jul 2025 20:13:39 +1000 Subject: [PATCH 4/8] Batch Decomp Fix Compiling models is still finicky, I'm not sure how that's going to be fixed. --- menus.py | 45 ++++++++++++++++++++++++++------------------- 1 file changed, 26 insertions(+), 19 deletions(-) diff --git a/menus.py b/menus.py index 6651cf9..a7f13f9 100644 --- a/menus.py +++ b/menus.py @@ -970,7 +970,7 @@ def getBatch(self, folder): elif not mdl.endswith(".mdl"): continue print(f) - mdl = BatchMDL(f.replace(".mdl", ""), os.path.join(mdl, f), "out") + mdl = BatchMDL(f.replace(".mdl", ""), mdl, "out") batchFiles.append(mdl) self.batchManager.setBatch(batchFiles, 'decomp') @@ -1014,21 +1014,26 @@ def startDecomp(self): if self.out.get() == "" or self.out.get() == None: print("FALLBACK") print(m.mdlLoc) - self.singleDec(m.mdlLoc, f"{fallbackOutput}/{m.name}/", BATCH) + self.singleDec(m.mdlLoc, f"{fallbackOutput}/{m.name}/", BATCH, m.name, True) else: - self.singleDec(m.mdlLoc, f"{self.out.get()}/{m.name}/", BATCH) + print(m.mdlLoc) + self.singleDec(m.mdlLoc, f"{self.out.get()}/{m.name}/", BATCH, m.name, False) + print(f"Does the folder exist?: {os.path.exists(f"{self.out.get()}/{m.name}")}") else: print("Alternate Output Folder") - self.singleDec(m.mdlLoc, f"{m.output}/{m.name}/", BATCH) + self.singleDec(m.mdlLoc, f"{m.output}/{m.name}/", BATCH, m.name, False) consoleOutput = "All models have been decompiled!" if self.out.get() == "" or self.out.get() == None: consoleOutput = f"All models have been decompiled!\nSince you did not specify an output folder, all the models that were set to be placed there are now somewhere else\nYou can find them in \'{fallbackOutput}\'" self.console.setOutput(consoleOutput) - def singleDec(self, mdl, out, batch): + def singleDec(self, mdl:str, out:str, batch:bool, mdlName:str, fallback:bool): mdl = mdl output = out + decOut = "./MDLDEC/" + if batch: + decOut = f"./{mdlName}/" gotArgs = False cmdArgs = self.getArgs() error = False @@ -1041,14 +1046,14 @@ def singleDec(self, mdl, out, batch): tOutput = '' if sys.platform == 'linux': if gotArgs: - tOutput = subprocess.getoutput(f'./third_party/mdldec -a {cmdArgs} \"{mdl}\"') + tOutput = subprocess.getoutput(f'./third_party/mdldec -a {cmdArgs} \"{mdl}\" \"{decOut}\"') else: - tOutput = subprocess.getoutput(f'./third_party/mdldec -a \"{mdl}\"') + tOutput = subprocess.getoutput(f'./third_party/mdldec -a \"{mdl}\" \"{decOut}\"') elif sys.platform == 'win32': if gotArgs: - tOutput = subprocess.getoutput(f'\"{os.getcwd()}/third_party/mdldec.exe\" -a {cmdArgs} \"{mdl}\"') + tOutput = subprocess.getoutput(f'\"{os.getcwd()}/third_party/mdldec.exe\" -a {cmdArgs} \"{mdl}\" \"{decOut}\"') else: - tOutput = subprocess.getoutput(f'\"{os.getcwd()}/third_party/mdldec.exe\" -a \"{mdl}\"') + tOutput = subprocess.getoutput(f'\"{os.getcwd()}/third_party/mdldec.exe\" -a \"{mdl}\" \"{decOut}\"') # I don't have a Mac so I can't compile mdldec to Mac targets :( # So instead I have to use wine for Mac systems """elif sys.platform == 'darwin': @@ -1071,8 +1076,8 @@ def singleDec(self, mdl, out, batch): tOutput = subprocess.getoutput(f'\"{os.getcwd()}/third_party/mdl6dec.exe\" \"{mdl}\" -p \"{output}\"') elif tOutput.find("ERROR:") != -1: error = True + print(tOutput) if not batch: - print(tOutput) self.console.setOutput(tOutput) if self.logVal.get(): date = datetime.datetime.now() @@ -1080,21 +1085,22 @@ def singleDec(self, mdl, out, batch): log = open(f"logs/decomp-{curDate}.txt", 'w') log.write(tOutput) log.close() - # Moving files to output directory (this is a workaround to a bug with Xash3D's model decompiler) + # Moving files to output directory (this is a workaround to a bug with Xash3D's model decompiler, where absolute paths result in an error) if not error: + if batch and fallback and not os.path.exists(os.path.dirname(output)): + os.mkdir(os.path.dirname(output)) if not os.path.exists(output): os.mkdir(output) - mdlFolder = os.path.dirname(mdl) - anims = os.path.join(mdlFolder, 'anims/') - texFolder = os.path.join(mdlFolder, 'textures/') - for f in os.listdir(mdlFolder): + anims = os.path.join(decOut, 'anims/') + texFolder = os.path.join(decOut, 'textures/') + for f in os.listdir(decOut): print(f) if f.endswith("smd") or f.endswith("qc"): - shutil.copy(f"{mdlFolder}/{f}", os.path.join(output, f)) - os.remove(f"{mdlFolder}/{f}") + shutil.copy(f"{decOut}/{f}", os.path.join(output, f)) + os.remove(f"{decOut}/{f}") elif f.endswith("bmp") and not self.tVal.get(): - shutil.copy(f"{mdlFolder}/{f}", os.path.join(output, f)) - os.remove(f"{mdlFolder}/{f}") + shutil.copy(f"{decOut}/{f}", os.path.join(output, f)) + os.remove(f"{decOut}/{f}") shutil.copytree(anims, os.path.join(output, 'anims/')) if self.tVal.get(): shutil.copytree(texFolder, os.path.join(output, 'textures/')) @@ -1106,6 +1112,7 @@ def singleDec(self, mdl, out, batch): shutil.rmtree(anims) except: pass + shutil.rmtree(decOut) class CompMenu(): def __init__(self, template, master, batchManager:BatchManagerM, startHidden:bool=False): From 34e8a52a2437ae041aa05afb5e7163e843aefc00 Mon Sep 17 00:00:00 2001 From: PostScriptReal <149461738+PostScriptReal@users.noreply.github.com> Date: Wed, 23 Jul 2025 23:08:33 +1000 Subject: [PATCH 5/8] File explorer changes - If a file or directory has already been specified by the user, the file explorer will now open in that directory, just like Crowbar! --- menus.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/menus.py b/menus.py index a7f13f9..4947317 100644 --- a/menus.py +++ b/menus.py @@ -943,6 +943,11 @@ def findMDL(self): startDir = self.options["startFolder"] if startDir.startswith("~"): startDir = os.path.expanduser(startDir) + if self.name.get() != "": + if folder: + startDir = self.name.get() + else: + startDir = os.path.dirname(self.name.get()) if not folder: self.clearBatch() fileTypes = [("GoldSRC Model", "*.mdl"), ("All Files", "*.*")] @@ -978,6 +983,8 @@ def output(self): startDir = self.options["startFolder"] if startDir.startswith("~"): startDir = os.path.expanduser(startDir) + if self.out.get() != "": + startDir = self.out.get() userSel = askdirectory(title="Select Output Folder", initialdir=startDir) if userSel != "": self.out.set(userSel) @@ -1501,6 +1508,11 @@ def findMDL(self): startDir = self.options["startFolder"] if startDir.startswith("~"): startDir = os.path.expanduser(startDir) + if self.name.get() != "": + if folder: + startDir = self.name.get() + else: + startDir = os.path.dirname(self.name.get()) if not folder: fileTypes = [("Quake Compile Files", "*.qc"), ("All Files", "*.*")] userSel = askopenfilename(title="Select QC", initialdir=startDir, filetypes=fileTypes) @@ -1631,6 +1643,8 @@ def output(self): startDir = self.options["startFolder"] if startDir.startswith("~"): startDir = os.path.expanduser(startDir) + if self.out.get() != "": + startDir = self.out.get() userDir = askdirectory(title="Select Output Folder", initialdir=startDir) if userDir != "": self.out.set(userDir) From 15baf3c113626b0157dfaba614237a603f69e8cf Mon Sep 17 00:00:00 2001 From: PostScriptReal <149461738+PostScriptReal@users.noreply.github.com> Date: Wed, 23 Jul 2025 23:20:35 +1000 Subject: [PATCH 6/8] Update Screenshots --- git_images/batchManager.png | Bin 0 -> 16107 bytes git_images/compErr.png | Bin 61071 -> 41696 bytes git_images/compSetup.png | Bin 36844 -> 12952 bytes git_images/compWin.png | Bin 59733 -> 25292 bytes git_images/decompWin.png | Bin 43685 -> 23519 bytes git_images/gameSetup.png | Bin 52464 -> 18189 bytes 6 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 git_images/batchManager.png diff --git a/git_images/batchManager.png b/git_images/batchManager.png new file mode 100644 index 0000000000000000000000000000000000000000..04252eaf8bfd701c2b45ec60d5fd9ecbe441a830 GIT binary patch literal 16107 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

7F7c`%99`NFeJRN()(|}8J?dh2tUQkxrK-fl~ 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 SlKcX!ix}yfUBzFy8TB8>Oyj-) literal 61071 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 literal 36844 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 diff --git a/git_images/compWin.png b/git_images/compWin.png index 1d311801d5945a76a9093305d637cd3552bdd24c..c202d736f522348d37a93f5404034cb5badecde3 100644 GIT binary patch literal 25292 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 z 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 U&&l5bJ+(m&cFypsKVQH9AFOkqAOHXW literal 43685 zcmZ^K1x#Fh^d%IETXA=%SfRK(EmGXwp}6bdE(J;{Hduk;uEpJoySu~SF8k=W|IKET zO@@#sGw&x?&OP_Mh%XA#s7QoJP*6~)vN96NP*86qp`f525#WF`t164@z&}_EQF&1) zsLD9xN29mEF|@O?v>5dKzjJ#aZNrS z(HLvMCas8ydO=_&AC}w>AaR1jC?BvxL<6ooNl7!j75^L_oiE#zw$w{8!@#9Gi(l;g z)eo1-^#Fh7Ar{4e1wQL8RPi##_`0YRzmsQ-@mthDioEK zWi>Ykt1@M zp#K*vxF}1#;hJf?)DRC116Sd+{V8Dp*37I2_6@~CJw(FXJXTZlb=tuyp{c3(_v7X% zICv0?i=A3{L`wh8PO(QnVP4*=H~pN6M{|`Cz;8#mzI|P%wJF)=>ufT4jP31@EDk7L zhCPuuD8xLc-yo5Z*HLW$&Evb6u#XS3o2Dr2+RelMR3R1&JQ_7&3>RZGBhyfKCotqd z@^s8wLbXp#BaORgn`AGy{5?HAM@x-~SBJAIy1H_iLcR`q$$ey?bP|5I3X4%vsW{TV z(F7c5jSBiJEFV5p(cEcc1Y=1p*4cX8?@OofoPA;sB~M@HwD}l4m~WxR>aRbvZwmY7CYF<+{A9y%olgJ2 zz|L{~s_>RR=;@HmV?Xc3K^L5Z%!2Pbg;n16>{V1$gb*Tzjf+cq-4Ge6{7y2^fiN*8 zrK23=%Z)DlsJJtnqR2^@r=Y<0FAjvJEcuIk+9=htV)_69>sjmRln$E86hpn0>z zp8}q5+?TJAwSv_#c-ZxSY@XE-@AI*?JrWKjgS^7Sc}dSNkkK%u;LBbXZ0!Bk54lq< zmvba9Oj<<_XG$A)!QN;OEoLdo=dkOX=8zTNudA(ze<06fd@h!=d+ZtpzBHqPH<%i_ zXUwENr|f>WU5m1citvDg1ZwDe#xSVZnH@~=?=9Bj){X1 zrOdqmc+$M0BEm_|Lm?s|AAIiROJ=|8>eVmm>MX2c7_s7VKKfZc`u*wjqAoQLq^#gw zr9ZQRbYHKv932rG8%fZ-Cj@Vnx~2+M8Xr#nq;T0Tyt7}sf&Vpy*lDF80A8E7Fxa@; zH85IgK)zju_;s*??!0G8v@~Y(IlJp@eT1eTFOTLkipyIAcmAejTM^nW)R>Qgo108- zAftV*dP0!vwu=$S^a?)u=X#5pxgA+fpsSce{?r zIWVp_XMHcO-G^Jdc&EZI7s#JJ58d$v?-JrjI`0hgA0a;6Knk>~%>^!oIebn#;E4qh zRm{PNo%?cOXvYLR6=Vbi`?pU*_cxHwqhO0lqptj1FcDf9LYR1oK^x-eh2?S+4h-BS zfBwUd$4&~~?V-Voh^#Eb!}T_Y^G=@u{nwj5;gvq$o2Pi! zL$0Z9X2ihL?GPnDzYd0rX82~Mn22&1{og?B>+=yjPPNJR(5bf*-io>yAsT=|Uy91N znydROP3GG@#M(CenYAT&lc&$+tW3{4K0cl~Pwrn{DE~;pUuVCh0?P(^rUZkY&G=lc zN53A;x%~`tJ_LqAihTOc7~Rld1$~R$-XDy_!)^#Rhj85)E!gL;QY&bml%@Z z-S~`U%r@cvl@@*(S}f^iO*Z@-@i3NO1r`xz|FQ~?uf#a?#KedFd1rDpwQW_^@9*L? zOtf&J{Ms^sd{a67-+vjJ1l{X3#r}PtBf-*(5Av&NhECfe7)86_uKUA(If>V_&iwY4 z$#b`G`YPwQYib;FlSB{C|Gwrz2Dgqd*8lynD3!j9sZi>_(_qtIJ!7uPxn(L_O?+BZ zWgW6p>6N|b0>2p+V*c1uX;~PATBIolDv+1$zGIpTNoz|vdZ)3Lk7@j!_E&xmibbE( z!~-~v6d_79R?O9t{bWROU{4tCFCNdPU)!c<_l;dI^StE9?_$S|>4F=GtDvzr_eRnQ zg~ir1PlRb+%5RZ!_2cF#P{ngRjW5MPa5w|4^f5$>UK4l*92KKZ@-GcoGs@w zlRw7-uDqz$gpu^%=zNBDq_5%|j&nKMtHa-41s`}%b=e2s!AX$q>O?~(*Q1%!JU?=& zc?Gu~JDn0g)YNx?t)qg4WAtsS&W^sfzh6oT3lUt z5G39(ucEG;FK;DgrG(`9WH)QSsj4`mv-Ew(d_6&Z{^L}Mf1~gCWK|^>Yge`WqXnvX zl&N89W}JnN!QF*bJc)|F@@PjXL)Svp z<67PCK3>aKsG0mckJuiDxO}6U{vOLo9OiVix(Jnouxbz!_--37Z`yfbW9Ybe(3R2e zQ);i}_&bB-08JviP4%QH&`Psl>j(_n>@e?v{iF}{V~h00kCVQYHc4h`H^y*EgMw!X z+LhRq5@vlh21`P1PGp-d$_O=BU_Y%YRK_I|!+CFIC%qkKNI471Uw@6Op25 z3|aOVOiEtMiaK*W2y3xH1>0g0dg4eukgD41oh7-SOBIhuw4P!4*f!04wDyv6PWZe^ z%f5M5-m5Q8Ygi)~b+ByHQHK!Iik9oi&sgvG#vr@J=hz#w@lqO}+1Zg1X{>ACBUXI- zNu_lvi_vGCnc7@9%u_B$hKkLS7@X3nE&Nifj(E$5P7aLDkumc3?Ni>`3@a`n-;2)P zxZFo_n>R|o-ckj#+;SE6ly9mhbKRArUXqF5ZWLNRW7x?PqzVV)%FoNTqFq-{HnG*#ot=?vJHsk+EAQf!l#DMwG@K}Vz)_1^@%u)9?s}kjdGM#w&Bx89 z11}mQ#e;vxg3JW(D}3MceH5i2b67NFB~Asb`1hi%n_&gn19%z_7dVN}SwO;S{@3y& z9%p9efyFbK!nhqL>gn6Fqw*27N^S@Yx&V`>_8c$!Awdahln6IlYAw}MT^K^#3u)!c zBXoVy<@bB$vlPXgyEhF6)uq@q4us=Okj_;T9gGt6fmxV_UI9;!Z*JeKoPIWh zOM;lhHkcMO=|{m(6I)%MbH0s}E(DY&1m|rOOJgO|nmw6&`IoTTD=h2$@(WM(IVH0w^?cDFqd}u@( zo!U^EUn@Pl^+u!f8CQ)~&lnSsDa{Z!?%ixi>e(asE1P-GT~f+)>UtDYej&0HDTWCV zj$CO%?pW8z3d{LfEJS@h5(ET?F;}0)r*PeK7@y;&P1+*a5$}kpoY}JyY%c{ON<0uA z2%@xxzJYs8`@BM>xhP~+B_+t_As|((pelT4FvqVkyRhzz(@sXsv++r6*B}o3BSu9@ z=De$bO=GmTT7JT=0Y2B4wPd;)A@-40n?7TzsvZa&G@Lt9fTeEWLTIjkRN;Z8dr9Kf zdl^qLr(xma;QMIV5494a^t(RO$h2(>HK%^C)_=6k1ycZ)G4_)IHcUBz4 z7muVjR9rMLHI)YB(NFIPeNhW>Ac^Tu#Or6PU8^>*w~ss_f5O`?$gg9kV;&E%qEo(@ zK~xMRr?P2z=_pAO$gbsWUC5en_~`r>(tY7T}P*-GE>MZbQ8S`aU+7HpY<(_<)?# z^+j;+a&-A21{+rQs+a#%5qgKSY}=jwB`yiO21w5G@}uQCit^_bYN1WXW=$Ha*=J?X z(37@z-1^hMA9#2U2*q;CCF9IDuusUjj#=kCiPBWlZ$}A3%bh{i`cHy0J7%Z{u3a-! zA`b1Eotte@;CamYrte!zc(TkOyiqyKluO^h+;W<;XJLexltAzbip?e^FlI{5YyR6m zXq}&XBHA3u3a6{Tx8y&g3Rb_}>6HwY(htG?MAdlu5tB?P1h1U(_o&%Mbny%(ElM7xLYrwtH8h?exmQ=d%R74(L^u!!}v^zFh8we298%&>3#*y#}4 zf?FT+0M+%*YDJyzC)4u`SU5d7!!^xLyw$+F0T)bXeew_c54TNdaC#bUKiyarp0D$9 zCOZ(GS8`>B{bJWD27+0e-`Pw~1l9c*&(V@#d0~A6)9ZgiSG$ITS)JMSc`7R;CwR0i zU@hD}D`e6!(mnBZ4RKihb9-g~V1v|lqi+vw7sh~G4#Ad z*Beg2nFc}bR+FC0(gw)S7!h%qg~)W?{*4FXZ+u5JNQ)IM)()pKYlu!L*e_(ocJ-ph z^ND~^WnBL9)&e4xll&Ae(uRz1Nh)c&Vf*VxbA(Do;$CfA)<%7zASs;3H`tL z$AI)0qmiKf2sdz7zLvKUJn}@lepZj^{iNTCW!GgngH~Y4{jvNRn$8}pwa(%l*oUrl zsWr=r=K;9q3Y~|>)1c8}+;SXzDyedILx7qZ+IT<(>}iaS)>J2IrcFjn+T14BOHl3m406y?2 zJ2xgSql{@v-7|ZUH@>c(^X6JR{P1nhwGCPxNIsW*8qGlBKdV3Kn>E8&ujF1od&Vio8@rq$HGuy`^G}C@y0&y_?Ne2NXBfM?b!MOYhaa7KDt44`} zS)moLV`LQ$90Xn_6CCVRgrWIdmPVVIcYRz~9IyPn7o{WGH z-?!4L?8;Ndm^@zW2iK%<^tUbGaD%3(UG5FxGq|h6Rd&RWlpl0x)FTBHt5oE+e*I_@R%^vjsqunt@BjwB7p9{n=5)r{X<|>yd0>s{4DMrC zifEga$(en^g!C9NIlBIGGu*WvRupOn&9E8UFUKu*leD%Ci8QOeDRzVMfvT^?jm^Op;isiZ0 zUmm46&KEW+1BcwLC*uF*e@!sj+FXE1Yxvr$f9}Lv7IW$VjRDrxy(sfAV_)dCX8tkD zZZatq&o3mOh_NL%UUV)3g8c-0pAk3y;U?>pK)X~g(5N#J(rvjCFjpg-OCSW~hp^-l z3ii#2-orp)8Hd|#>fM&$yM2^5L48<_8wGO@_30Snprss{DD%QW^*@QtZ4bN>EKk{t z#M5S~!q4JMsZJ%fOqF$|umb7L@~~m@z5P}&p-K=a&9-k-oiA%zwAx;1;|fpVZ4U?v z9d6OUJzjC$v#oSH2lKbi4>`LvdG~h)Yq%$!D{V<4fkOif1dwCaPZXp_GEoktR*n`VYKsKkt5hN}olIMr&!uYqwk^ah?v-OiT82HNu(g z;7GI#U`sur;@Kbq0=KO7ww%M)ZC=6~lFOqRo&o%hYE~*Bz5pqvcvO5G^^G{~YY+hK zLOcfWcT#zQ%>Bt>k2)bLf0{;}c1Iwt)(TOZT+ZXM)FX*zFwrQlo$L#**?cJg`*hUA zjGvi!9_sw_*C8J;3<~`A)}wQ~O;9PZ?7K!5Wt`S+4D%dJa7>r(cv@q9g!}J0H6!w?_f2Qm>{L%UB24BIUA6EJEYEiX@(+Dy!pX|4t612+!IzJRQ zazRYqZ>KH1)QkDXH`K8c(qF2q*EmT)v!b_rS1J)D($%xSASMu9d8acX!@ScCwO^~x z;nv)#%GkCBvPavinD~4t{l6eUeGspGiZnoDZ&Wj^=K1C2o~%UvGaBz~lt%o|3xVsA zkN#ohdT~;acx~R?GGfwG#s@z1cIKs!)E6kDeAC&g(bTe=x?4Wkt#QoQ~d~8lI5?K&F>rC8pNs-LqZLnd?d1^SpF$?^1Z9 zolwO5XppV3?Gx;aR@bS!@SnOD9}Z9TD#F6Y7S|9o`g;Roc;u@@^m{ zRD(+|ny7c1vlax~XA8*!D6oKn5GN8Vl_p@it$Fg?K&em+?Z0@tGrf~fLyh+g&zjU;_@44<$NS8c;PMJX z(oX)Zmo}HS?MgJ@1v9au2xzT8fwbOnI^Fahs+_++6R2o#~+3-uBN(-9+ zAlWtT7=X)*3bS(7PyeY(QOBkBOvI&=|zKo=&j!39v9U*zZrFP zU_v?!uD~l6nRMaoGI+5YhFuA8+V$jl%m4j13T)iM-a!iUX~Filr^WqR=E&F`^ zGy#bSVSn6_FDw00QZ_&=wi^fEo664ijx2_^-OyiJs>666+ZnPF)mH_ySPxGBt`yx} z&)cZgmu`1ynxUzVV&~J_iFZ1OVvOJIqpyCj5LN2AjMCI}l|% z)_>DJhl_}Np0?~i3+8>xchfgp$tsm*XZrFiE+URBiFipYYTZ%n$|2EWic()E=UEm6 z&?7%qP?&*7ZB{*9iFJKi|8WfPL;*XV7V;$hjN= zc=;a=gw1sIUxmR*5~Eh$s&VBz7rBzvjzh=?&ilIXe+>Bp0yd|H$6!{fT8IuH@5)u{ z#yK%LGTS*ef%qZ{;5)#c!?sE+zI)h-HLIp~U-kj)l7OX?>=u!5*-*g*M=Dm!1|6^( z+4pB6`1Lt5SB_=#x30kNe?6R5r6);PzCVmtF)cL^@i>aP_0EiHv;$j@DW5Hfl`}S$ z>!DBB-7yu?*sBOWk*#?GI72O$>N$uIZq%kZ!$Ggv6cup!kF1YK^-U!mpTnmSzi*}E z$@~Q+t%Wm%>t0hWRXs79j!O_6U6<8*?CQ%pbaTs$fVRKwpXh(c=i5c8{R&-{%lO3{ zc}dgE_e0$-iA&k8XQs-PelAHMF2ZKshNX}&;F)fot%J5a%Gog*n>02u%)V(`3EYQ} zO-=Z?8r_>L3!tv0wh;VmeexMrT2Fo}f#31-IZ*1XXU)^fvxYz3KE(CJr~#HNWgB~1A#NszpopWaHqIjNG~uJQgvqTc!8qq-dYwm|XGQ;$&z+T} zNx9>AzT}6jeB!YwnE^Rs-#XO~u@^AvAI;#Sweb>o$Vady$*Ate+Yn+JBTjo%9Fgi0wV(A9<>k>)+lWV_u`=&e^&ZSj z>)M44-%HsUEL|ZVG=I~k&pFCD+}r1EDC7YGAz+A~ht!SeX5TK0C=MwFcGh+{Ce2N_ zs!hAV2&O(IA<%4Z69%?HEQi&|rju-P&7`BR1=+aY3;ZrQOkpOX*4Xu5*9Zy>HTzvT zVU*@EU|n$3nrWTc4O5 zNk-jEge1eNAA?s+&3?g<#66Sc>u57LCT0~D^TnzOeYA3VjUC(8<@7o!JZGy@1M#x$ zTmKfnnz6|^%c+1*>7SWW)ItkRc#e=3XB;~4+H`?5jG5nvf%;i7w1s?iLRMe$4d z;&o3Cl-_3TYW`C94Ia;D^5R6U7igOyvLNV{wuhd4jtp~2S1 z;Z&QOU~)h(5Ss_ymIExsmo|&P?=S0?$8u8!H*pcBWBG^$_(N(P5d&KB){YhE06R zKlbyIf^8CizI^Bi*c@|SSi}B3mWPYNeRt_>1Hf|BsBm2$9+yMErC&@aS?qbn z$~&!mzI}+68nO$~sL@H<6!|Ti58@t9J9Q_D#8oK1aCmzUMo$G$gmWo(W%$_dVp*#u zOdBx3J`dqF$pZk-RdA7#&GZe}*2w-zwG=rya`SKuIoHLllKL&D1^p)ko_h**xEP5;J)R+{Cys?J4SA|v7S9E-tJY;y|o+nkv!MK>$hPF-Jg3Z>&pX05P-~+ zya;db=Oj!)zst>n%gpUv5a1DkBB<1(o&1s@VOOy^BCKk@_oUE0{&RrQ-|-K8R99BszG zRP4Kwr(uY3Er^PfVy#5)a`rDIxjiA^N)4weYH`~jwEWNQDCR>^w@#Ba5-jaQ1 zf3XPn>ptBM)1hC(`Hs7r(2l3o(s>=Tj&W!k+Uk~=*N_BN$O1eCYRp)J&i7JVWN%35 z0-M34{O6kuHNdm60s0RhwJ-^{RlpcbvOYU1Ja>ySz8^@KnWF$pHM;zm^&rEXn%`X6 zXI2jDHKZW%5U0d3KEq62yU}8T$rXYAj0lzn$jq5Vn^{84oL1hO1n>nV$+5F!i@(2oPWqo9#oOXD(d zo|6RbqjW?^X9m9QpLh6t?*y6QotJfikX}@=I!vdg>DOsn zJ);-yw@Js?l9T_KH5Og#_ztMYCoV>WMeL(9G>>uXrQ`B^O7S?%b*759e`Y0I%ipjj z*RDA{tz%^+=R9Y``M}|04QKcqi=~oL-e?}lJ(Dhfvm?r~hnbhdm~k19NS}E%jAxBq zBU0*pD`MxrIn_9K*vVgevKjhGlP1P$&uZSoysB({BG9PjOX~R}u|uv@^>?N-e`!hX zvCjQLm|s?gI)h1jnw9|=+VpxfPTnl~jM-(rC^4@8r;}MV(i&ZrqUgh(3n#{iIC{#Y zw4up}{<{uq>QOX_Q=7;Qz$~u3xIhMK>?!_q2v!@l4oNPtGE76zW{V~&hV7%>gjZba zWdaDh%&MTnH5%)KrSD$aXy9GO(csEq8MogXf9@#oHN1wTyV8UiQw<4FGKT=#>!*>Vj@R4?{)%z^b%5b5|3oA;q+9fS z*L6R(Lvj7Vp?HXBuK3yB^)H4tPw9$&;Vt{D?`Tlm1#|DszKGNdyXvs_KK_uot!Hry zojMY?mWlxjdW~AZmmrHGr7JydRs5rNsNU1UYc~BD3!1Z9i0r*Pgzox8d`?H5UT4wV zR>y)&S*lr8tTw=Pd$sVh4bKlzW&IfWB+_jAKj|iAnXaz6IeQrVWWR0fT(xYgn&HcI z7Rfw{O0CD}ECVXMKuy`O<~iEii8GD?u?4`90qio$rC~RP()by5ON|n_*hfQ<>mS z)=hFWgS`Qd_;xl4z9nJnLKE(nHg1CA>NH#wGN)!-1!-g{hvHAFiv-a#i;M&+PhITa z!!p!x73ecgN~`(_`BJLlz(Uu2?*_iym7yk#*NPx8CuH9@EMO<_5gjy5pbadzNldEg z{jM#<{Y!ZPulP+{FluUJ_V8iMV_Niv2Xm20zD9;t{LlWLm#x;Z5S;ea+Co@zdX}va zn(8@KiNZcj5jq*EQ;Yc0u|A`t1Ln^|;?(X#z9M$P;k{;-lsnVn)!e1UYUQwu?42Ga z^gF@KRnlMVIyT^9Bq^#xjKb!it{2~$8~6S*gLvO*LFCvr0WW=9X`M;S&ZG5&o)*(1 z4Ert$Nbje0Uq4^e(IC^3afXUa*0z|WU8Bwlz4=lW#W~fv33ohaw!OIeA9!>@ z4yHO@MH&1{E>5pKe9~rxm4W^gUN{|_GUvGpr%ed!xXhxe+fNG_Vke(2p&J>Py*+&`Th)A{RECC}A(0~!CF2{CJ7!-8%0`?i5|4N2?_ zIL@U|(c9FPG?Lh^1;EQ z|1=F464?KgDCFVv|EV6C&(br zLI|#V>#Ua&8&HP|Wz0EUq>|3ffSKM@Ky${+tU7BUL|kJf^ET>GB{ zW)gn#605#y+{ceyin%O>l0#cPQ-%6Jg~kXK*Si=%XDsE-_ElXoZzZS$+CVq*BU&Iq#@4a{C&wvqR z4Ky1Sy#sd%sA1gezaa@LY)e!-ApO{L-urI^5o6Wb@Ax2m(LWk%eH#JRC%hJ5s;-kP zDhlYo!DWnw=x-XeZ^MIj(ZwN%W8Ros;8G#veDUOX3|qL5l55buECGjPVI8y6nQ6=K zn&N``-+kC6K|Y@qmm=EZLvmvYkdU0z5uaQOEy(UNEF=IHqmv*E=u?h)V|#gVq;Ir% z6vB3hZuZ}HVBI#MNaSxpbYU&@ppeNlNQwL%a5*7w)E<-$3ZNHvIwJ9`LzD^S9zRAu z3w{3@B$!FOsN%_jZ5LRj_icu_Zln-TKiefdNsJTTg=~)Ds{ZgdM2uiC7uy!C3EKS4 zM&6ny#z^p&{BuLkT5qsKS^z6-C8nh?g7%f_N@XghD+vhyk>WSYo7o?PRKRYgU;iY+ z1xV%Z=Rqzca`!i6G&~N(*Ri8OqPARj0l@I(FmBd9KvJ(YT4r+seAgZvIHkLop|4sV z(C=7gBPi?(Iq21V!4}MY3s7P8Zh5wX#W-v0Gv9NitHuJ2Xb?-V?OYjnxc1<@s9^vl zj6YF%XOzbD&AvQKWZmDeAA)LgHj~l^)l1bBI513zmSMu&YA|FkZ|!`Mn=;_Ng#}v+ zjyVvei2_ym4Hc?z(3 z>0E1`K#ltyWZVx6G>B=QN5q5sO1p&gE(q+Xp zxK}Rwd~|jV8$tn~CrXWHRzQxTaxn;Luatdx&IO3PikV?rmzDZc0eJaI2dwFC{U<6r zGk_KrM~Hif#guG{edW{dO%CP-Ak^VG2gdyd#ld4Ujf^$ZH_H7wh`fy$LW6IVKhk_@ zRNN-M3+#Kz@6`G>kGmuMCKV0K?=4j;%;L_BS7Oe$6~Z0CUjhPnFT^7c&|CIA=dQ&_ zNy){B^qSZ2kMs(~+;nz}nhQM|r!Ze<9!>6Xod;C&@R?+SExbU93?N&*n-=g&^xAwf zM&`5P()m-v8RJCx9WNlL=w5l|xATO4E(?l~YbL2TWd&LW!F{Wdto5u4R-^&YCY5#X zyDTTwJj02J42nm9-W?`B8=8-h@#qsFCkb-`!0p5W9wBhX)m-#p10n<)n%SQxOwDu7 zn9ltYnjATKSv|^$I@1bM>Lse~Z8;B<>KaNC6{nXppO49w>S(+&V`2Y0J@?6m!afNp z;O*pLo52GY_SY|+=3OpHj~R*HTQ+=!3#VBHuwPuWk^b7=w2*_Y;hMY=JksYt?dvtlR>WlCV zcA)`rnnUsDv+e6H%lN4AB96k4^6a}Hd}b%0Z-G`8RqIKhFz*M*%HEN>BjXDlWfZ@v zQ>d{(1+UNf4!+t)C|t!AEFcYTh1o zM|kQ?zeQcq{Sp~svSH0hG@z_YKfp|HA(Gj$?F0&=+fMsL-ZcZDzkvlhga!mi+B`u(%a`sxCUfS2 zGt$k`=|<@Dw8%5x9y=NzT8Jk)nU1mw`J15fw_WIeH2l4dF|%X6AUk^5#+m0%wFhs@ z@|uNX3-#5>i<}}|$V}^nZ<|OzLCrjc{ze*515_aIfXx{J?3Eaq`Ma9~sbi33JYG3a z&`6G2A-6)!(E?yTeiF`R=mRinZ4UUCZDHEE7qOC`FZB%E)33W-L_@foVwza8Bfg1)Bs z-kRuKeVM!xPZ_HtbKxgbZ+pv+%hg~bB7ZYlghL%$*lGBY27Za#+D(i4v!_R@YhaaN z-*fRutE~JTy7}*q@z+CrK){}EBIQt%tOlk~&wttJT^x!djYuSMSJ``b$B`R*$ z<<4x+a`ZT3T#9^Cb7}6OmiIHM$KN?YB7V0Jz!OMGee_y+&F^Ezy>rg#Qyl3RkRUJG zr5vVohjEBfM%~O;q?sOXn_r5(l&}%H!XaYGN`p4eJx{0iAd-jjg;Qvh2d-bW{(7I+ zbG_B{C(Fz#_8e>bO(BTiZU}tttF-MARm1IjklEIdEV(hvpY;W86zJNMv?*Vc%{$o9 z#_wz2&IXZH^hF+H+7fhmj>C7UciY~?$^*ikv5BG$ueeDj_KzLm~6>LIZl)Kr6(NF-m5{8_{O507$WC?qrlc>)4%G_CO5= zaBNg(>yu%4HU=2~G}0!2=Uwbcw*pzlRUVkp8qs{x2|JTAllVZ#f-gL#9vZo%tU= z^#6+R@1>nUC}JCh@xsp3`l+JDs}6;0j5Go_5xF86iy+5ov~tS>m3)>^fAmA63z}>3htUP&YTmG7`IYraN+oF zhb#UX75+zUt3X|rVydnmI2aj>4}+g>!hg!br zrg_Dlz~}#`F^=UOUmy!*p)xxC_-z`RGs{W1X1UJr1yEHD949tD7x0W@!;uRVSathKoYHJV@Q&5BMZQ3ur=%Gh^r*!CFl*>Sjh zVQp653Rq6Uv)mJy)`ckQzu|Yi{8O`!yz7T&{zzJc6#G)>N`}(#W+JugQ9ACJ;MLtl zd1#fHR;U08D&U_1D^w9cPlqP>TSq}jCM+D!2W)IG^HY}&~pb<_N`fx>M^q*L}Gr5yt0ieF$ zLD|jwy$NFJv`j(v2c$!9TBNZu&v*cxQtsQpZVQ2c^XN~6jZiBmaN zK$`_Xkbux_4Z=3Cs5c9P!AlG^u@oBDF43Wk_BxIZR1#RIfNCM{)A0EpOH5=tLZ0ctI_z*&53%5L? z5jYSXl=LOLIpZ@qh@nN<>7# z|7>{L18l7&;X1Ot#Hh8r$I@R37I36a0~P>~TCbNo*xFCA_+GqnG*&`1R6>(WXaTkq z5rx#CTsU=D1sfr#OuXcB45B=}Hisc6PD4l%;9H#Sk%lQoWKndg#R<=edhH8034!Lw z7Z6MIE0&Nyo1rprh7^3lP{V0oaQ}XaB(XNVINkEk*ls6+S<=M-{ZZDwN16EJ-v`If zH?zLwZ^eLIz?gZD2sR1Gf7f!(Qo_vi+w;V(SppTneDR*ML$}^B?SLS_1;)TmIKBBV zK;KjHzR&NBffY<)^^XYwr)@U|? z(3meEeeKrez+=^)56$LMzLQy{p2ueOtgq_S=|D6{pBS8=!*dH-@6c zpS>6cUftRuof=P`s`1v96NCXu76oMGCYRAW-K(IQ=byZzOro%s+4NFTXupI~Vv~O> zeV|kiP^lovHM3~G~d@*hx}N6b~TXjUb*nN$XZtFKz8vle)E zZsrbMZglTi?Mq8sFLfJ0xc;tn4Q|XO`ed}g|1ldi8og3Q13n+&Ssg&N0cVIieJo}h<@pJw9SkNwGNGnO;hSI z?nsF*7WmWJHTRMp&)4{xPJem1W4V5*js8U(B=_{ zFD9H$YY$^pYKTU;09B;qsI_F)P5;8y9_;nV=;;mdtFl(v#++$;s?vrJ?9Yw^Fls?5y>ewh)+xWAdk7x9veN|!mP@JCA zqbMq0$>(;_$991Baj4`2nOF4N;trUd@}K~X&O71Y14_+n`vU=mL=b!g(jE`?by;Ab zJmdR%@3)tYs)*!W=oWgvyK#OK=WN)r?O8j#|IHFmmBDt#&2}TI`4sxy_%%G=CIJ5a zyZZ}yaQTqPm_SqhqBKj$2*Sc;q6u&lld{VWnaF&T^j@ zPA=2KOS? z?~6Q^_?g;zUi|Lki-q2A)THr_vs!4%FV@oM!3AD7a3(&|E0!Jhcw=*+>>4c`Zjo2P z#UdmV-hd+s2<>yiFPzUT<8MhOYkU$@wc#Ww2|EsP@g_ zYI70^CIsl{i#Uy30N(q16R5TZR)OZFIJ%_cAaZ5>`>s-Yf&7s4Ar-V#VTnazRQY1T zRxJw|n~|DrPid`j!Yn7U5}&L7zBvX>VZA3C6edKQ)v_1<)ZAyAnRbiG1Cw}ohTsix z$RFR1j=$Y@@3n)+4&s7iZ>LEkpx9xXVb7Ji?o+$Za#$#?Nd&#_ifu(46+Gf zyU;ln)unE2VJ9RcC{pk9mW@UJj~3wU-Y2@$GfA}P zr8<%WrAs3IY~~c+2P1?%Nje;xqymY3W%X)+#|W_QHbSMx7j5LJhENjc3WV=ai78U#3DIn za6ucosQt|ljaldSA)_VFZ{OfLaOqc&SRb)F1!WrKMm6qQ>(@PL?s5&!6v?ZFgPSqV z#qaDqj#Xdaw{Bajzuy{}I*_*;M@c|lPR(0ZXSlnZ_#i^4r zfj0BgwT0cUgBg1a0k7XfW*^G$Fs+bTa<)=KcoGt1d3}X|qt29gNzOGo4-c|h&;u%( z;+y%*mWXagl?V?Va%@UfCArCqxV7a|LWwDTk_cJqm^7(_PGrX$qTsH5%B3&T7m)>) z&#PE7{QuVHK*WhQ-Iv33t82s}>zbb0qT{#c{qsIVTn#CyF4VZOLH^;^6B#M?q`@V(~G!EmV>np{pq!eyToAMzc zs}sC)cb5aU5}v*T_uU$f`Q~eSH%J|Tj2v(?Sg{9H zR)dm0-zX8}M+}CA^3j1eqO`A0-Qy7ktf~SV?+U-oFwopT425RmWYAU(6ZIpx( z-u$odhF#L+bnD|8p2&(!#5cWBu>mdzx{k}Z&UPzC_qmh``?tYw*v#Jv_;SELF`C>f z_mdz2DsZIyuJFc+Yto-?dEG|yXmgJaH)19C7{oqmt~(0;jocz9YzSOkKb;Mag$)O# zx3p~^xmEGRR?pZ@bR(J%#4GM7EDLQn7xdoD!?+&dJQxm9E%<5M|8$_ZBt={CikPb+ zS(6PVAPa(4smXZfYy|m0uZ@mne1#PwqLy8^ecm2jtf~R80Ukq?OY!9@OBXme`2+J3 z8-o#3CnQz7>{PZSpgbx-bmQM4(ZcM(UEW!5cKp9Md&{6WqpnLdxCMtm&|twWxCgi3 z?hrz7x`TTYG`LHkad(0ScMtCF?(W^UllPmMsyp-5+`9juyB<5|JbSOT_S&b9MwMiR zk-FtXj)cKK^$>4QJAQ)ECuXZXw}ABH*FEh&+|$hWRu?MDRJD-W$VsWl-Y-sm+8nr` zeNC!Vl!G|dL6tWukeQ^#K6ySSv}NIJC)xKDX2m^3)b8!m&=veyMlVX0z(5faa!wDd%`sn&wU#N7%=XE|_u66$qP;DbhwKW@eMn%zDUEs5Q zC<(w5BZ3-IGcDe_yLERaXW#y~^;%Rf5`IS6%T$GFUi9uWkYZlN$1= zj;VpzI29FvRtXXLnZ2=iwob99y=mPiaE0M=PUfG0nEflw*hjv^1@*Cs;G6~|$>Imvjdn!);hy!`7!LfMV_W`jxk3~NZ?AjE*L12^&`i9ePeY7fQmCSB3LeuRdek0;aW z);xA2i6t@^UXYSkw!=j^_>-$Jf|F92>22<6#?@&i5LHd!v3-rH#(?KNkqkma03*za ztXUNSdy3HbuSGwnXVjr*?J@kmf@s|`PRIRxI4pvG-6!vlG}hi7rLu1tJ*gLdz?W6& z;W9<-_r2Hh54qd=q(rk<+7QG475!D)h^>|PshRp7Smm;I%G&oqPv6)hLseSdyWR7S z%472rSWh7DkG|acxbbsy{ULWj9xi4GD&MpL`#GF>r@seGdQW@kW%pGIpHoy&Kwo>f zRr>RjYl*3!Bcg#J%wH5puaH-Z)j^_78!Yi1YweDOGx=JWPKNU6J!SD7>HsOyjRhW= z5w2D69_aNFJww0sVj{=3ru$~|(8f3Vu9zu8UdN^#zwJo(+`EkQcBWM_CkblRdy?z) zcd`Y{YTT!WXm3C@Nh{|cz4$D;5x#9~$S1hl6sr-x-u7$6*MfBF5IT^0v4NqI4Eppa zmA9y0t`i4HT;CJ?iJ$~P22PJ0`r|paYy_;Nj|iBUm(Vs;@AmSUv02FaVq+LOi6ika zkwQINX_Z8!Nsc<3fjiglCv~AsR-wTXh}fr87PHjCFM=(=&YiBrM8&+eB-I7A(9+%a z68W<7WFqoMD9_xYu9R(CGcYZob&vTQ zOJ+NoJU>kvHnJ0X32uXHadA)cls)J~qE-b~RI3S*#}Y7VuYR6(tLHCmw@oK^wNy%G zaz2XUA%`etT4`EvC$)1@CB)43j#bouduv}>K5ji6Rk(eK=yS4?qV0Wi(yfF=tDxV2 zi_V}@>Rni0vtcrXM8ct$-7Kps zOXZN1pY215vaNU^_IbK7+wgzTh5(!b`iy2#q+Nj{}7& zGL)FL6^Q#hh~Nx1D)A+v=s(+RirvPvdU(TS#Op(2*TcxmT{ z?Pz)-S$~CFETr{yW^^GJGTmIW6IqEgBDqJ>8zaxQt{^lV0lQDvikqqqpwcF1J9<3znk$(MtAmte`woX^pSHs(Qw8DMw;o7fm|?og`{C4e@^ z+{WPRjad=nCdYro*2ry6qY*CgIcv#`NMBb!$$Y6<*P+U5s>DtBoS z&XRh+;uQZv+&4%lz0+*=P-(W?Pv>tFZ8d%>0$&f+3E*H*Yw+g#(`fvep{Cu@x+$$u zvs!v1wO1@`k6;*^EH94->ZTdZF+h^_;W0AV%D!a!lW5FQ(t^%Y)scX%M+jNb*7{Oy*lu?2!0%`M zI7?PqO=EvpfHj-9qQ*?+*<1RBd$v2XZ3x1E#ZsWfU6%$&L=$Yojm2I?;g{xy^|j^z zT-Ud2n~+W$^Hq6r#01vsBOY0e!Aq zRXbLW9bi`y!P=k)Rgs(EBooRK#H{U!YLJ7vHDx=t$Cbr%B{XPyX*L?n1PQ8$S2`9R zDth=(cptF|#up#+g)eVPof zus(RO7=~D^JU2MK)3oLHe=kdQQ^7Yk;NEzIa`WKv*G3nOg?As&R+;0kVlszv&u%T% zXULf&;ARq0r#hT1RR&t!^8hUDp#x}yWep?}_{F4n*YXChs-6)YzaHq=p0iw%4-DA{Ve^0q2_9wC+}0FQ`LHjyQR;|?{`Igk*kY+%9rG^{T@Qes)1O7L0 zpfk-wS*_vA_4jPck3Mh7^j)4U@YPNK2&lFom0+xi)p44lU%y2lh0NTX$-f;3z<;?# zC?wUl$+kn8CTy=e!4e>(#^rB9qo%S={Ch*4UNel2{8^^&|2zq@{Kh4t*Jb6zRE8!X z_C1A~S$2UdonH*TilulVusmW#q+&}dPjMPwI}tm2jx}rmiz3P(7iTi8nm^g1>*W5e zoYrFk4|UUXMi?e}RPpzJ3v@pTDNHg%c#o0g z!fBZHkj-DpJvUp3&9!g%{pVEfD&aZPhCz|q5L|U9(@P80T8f-s^d^>=ehVi4aPgf6 zC{NlwbFKS(`ga-8jLV1|S2n~TIN=+SBKFv#0rHZnw01P(Mg*+#*=me-B!t3_iamlj z#UZ~-qw~wN>;hEbL5>5w(4@TA=X~9lYaOvSFb)B}l^@v0pb|UwCgBx96=(mAZ+cD5 ze-qD?>zvkuZ6ut@NT(?Ab#H3XmEpZ{DwA2SJ#YcA^TFQx)hMLm(5zpB!+|sJOLwQv z`iu~j8!GrkMD7Sv@zk%t{QPXJ3#q}sk|N{j*Db3EL zag0?@V$Y^qkF)TqQ;Herc63J|h9;#rJ3$+IB}DJ&pIFqHhMkEigx`Xx`U}NX6ak?? zVl?ai%+eR`F(OzC6qE?^KZYZ@hvOA1>TERqY8TE%?3K|YeS(YnnDvNL_KeU1EKU09 z6@aMD+$j0ZD@$r&NKBqqsYN%tD3qxCr%50Jdv|qaXD~=&#B863V0R^ptjH4d%78Lp zFu7j}aom#Z&m-8;-}s)9Yz0*SX|Y{-k`t{OWsnNp1?UtuYb)l6e$8&Ra4mX%c~TO; z;beM9sOm%PD#pHX*>2LI!6%uOe|4+etn49UdzPqLB3dRmNcy%^lJ9jY+^YV}LOrzW z{wn*-edb2bL|b%jYArwqf|@U+g!4}bG;j?gQx@RtP0Oy3%Gs|yGTmpvoIRClWLTn@ zTPH&kUr|GYQynP3EkeHV8KwdxTw2er(hwn--WcITwg$S6bEBniAOAKz=j+@Jq09RS z|1P(ZETdR)eco61$_g!^>{qgg$qdGTy9m&3b$IooGA`wkd{WbzaaCQc^3?3eR) z(L!NsSbi_q!oo)q9HVkGe)z$I)O0CVwb4YvdR;S-JQAj&pk(i&Y7)AVmymj4*?ADV z3ZunVE!X=090yP*oXtA+-*(UTXaADeGdmWD$tZlh<2$&IDhuh-N@}tH8$jr#2{2RP zT4e{y--5okDar+lPnkX8lk^x-V2+jtR94EfA%BFyacxy$9doEbl?QhbZH{)Z z7jFBtfK*%GZIluNYUIvE`^&F2e6Dwl8lMkb!~-cd(!rR;ts9Fdix^RHtat*U2aB>G zb8oSQgD&d__|pE$il2 zaO~VVlKPeIt+llacUHRaQ#%vY*gj~x#+Bn1Tbu$GvV8ise6UCy!N&@lu@uLjj+V14 zbMHfn+QB)i-8+U-T|?>L`0FC*)wss>1%Bfd7@@t;GZQpiS!3>pS_6ACw>wyxwW3C9 zqq|b1$z5qn7>~%&>U$i4m$az*l2Wm#_awDzDj*a8%^R1N#eUOp38hooEaRt)go&F! zO&{?SP6EwpOxMDhNIN$C<&y^|n3h(J8S=kKDn>5nmccDL44_ESmg!5{lV8l1iVDtJ zD)81$_l}8kPa1>k@(+ZWOAJS(_ogDbAcMkYA3LSS>jV)*==! zVu|j;2kJpd&m)VOxul8v!Y{cB6;bf4GYYd6A|;4Nb$1=L`5bojh;k1OL1;pul`)qw zIc7UTm}#sR1Xlhh(WSmEE+;DtZq$FEf_d9=-1Z)FW_7uwv?Z`*LBq_`+fHK($rj{4 z(Qr)n#;m#=9fdDpHl*0`qqCI%7z96*X7eHWpI#mnVm=sGntO#X{C0skRzOn2!?YCn zEz6$2mU1EXv^7Jj9j@KAB&-78|XKcOGZQX$VL_sl0`N;U!T5MX(iP^ z!z)(26+k4EM1)r727qM)ie2|L9vrKv@DgBAE6}>UG=_4S;-&q>DGYo%&skTTJp1BG zUu&|up_*Ph+pvW17A#2d59WC54pPzue0>qyD(0Zs6NfNV{Pwv)1Lpv%o{E<@aBvQN z7oyBE>fuA9Y8nK+*R&Iy>#)fw9p~*AIKLB|?%wCb&PP;ZRj9gwi&~;~oarkBDKr?y zZyr}p6#I8_CvN+3t3y8i%_YdU61x9^Ppf^fQiO>46v*@r<6`{hKRoh2Of-Q^$kfI3 zZ%ER;|MRaR@qdL${~hr9F4BT)Ds9F^IHLx}l1*+O6Mhm#=CelxY3xy=WWw)3aWb0T zhRq%|i<)l?3EjNvK@lYfWiI%qW!<5=??SWM%AE8D^?;|)&TK7Db06B*j0>I`KITEI zn71;p6r23=##K0=q|v(*cGPu@W*TF6xr{TS{383}R<0|0nEaP2yva#c`bD8CEG#F*i8~d~s{ZOIl zcbiI(2VY07Nl4RYVjjxTwzsE^=!c4*+d-HVtyFEk%5b&QeI}FcaSYa|mz&1y^5yLE zryo~4;CKHp_|cFyv%Sm320!@_b2R#x+#Y6{9pzTt%L?|*xV8Se!%}`gWqIUX_Tou6 zi2#XhbMr${&ew^|Cfsh?dSxAch|#TW1Zs#@jAgPP>-j{A=qxooq2CA@8L2o`hJ>`0 z)t>=7Qk>Q!#!AvD^^usNc}+zk@ZXc-U46q2{adQn6hHIr6|Pln{2^H*Rj7CQW^fj) zQSn_v3=OSVwGo@*33-~_2WlMt^1cH}ENBk|A2J7Cu4aeOxyP-yuT?j&wHT??X6znF zR_7jlb_5TuRO;%WWA1q7dY3XBipd9f-@fxH!9IBM|Jn2|wWNuSc{>D_p$p^?Ql>ER z*@L(3bRR-S*?oK(-f|!nuxsT4%DlIZ_9Fl0f}0h*m>ar7{!;Ys`%7(4#aP&dUXO0G z1zeU}OUnV_{9f-^9;4VsjmE50o$2^9)5wmB_-GtIF3|9QdsDK<7dXz8*k7(^Oy6L2P1D6Bp*$H+rzbT~%sv~j#kcFZHE$7hZx44K1U|>YfT#BJ zn@O+k9>tkX_an3Zc-5ACOJxOh+W-KE{y%ey>Rv5lbDR{Om&ObhFxiw;0K2?(pZww$~I*7Bs1|$3QD-i5N z`h^m8-4?Fztktz^xbio<5x+NPN#-K+dto2+aHQK8j^f7l@0lqmfraWwJ>hMXx+ zKG+n;`T?6vyQE`MN?w*9YQg2#!YSYCdU~q#VuUm$Jf=X?Z^)I63~2Tg-H}@tlLMGt zAoND)TccXd#Qf3$XNz9bz9FOj(}n{4LK%T^<>X`q!YLkg5Y{z>BM4OkEf310ir>nZ zOKzEybL5$?vhrDRX5jOLZ#_U+}7zI{HFw(g`y^QMqW?6rUv+u*u}=`_5q8#_$4uq}Gz zD1*|w+t&HceuN=Ihw;{%!)Sx_w9dkgAC2cj+~$FeA9v?*0uZ_Pt5poysfeS;RPVp2jYLZ)d_&v7vTqv3%}RpYZG~DWs?kN&)ArT zJHSdq2VF{^Lc)EsF`!bgkXC!-+&^nb=e8FyW_9jJf9TJDgU|7ji{}~2SY6VeUitku z>ngI9FtSqO;rty0TX@is^D9W;c8L=ct46fY{AeCdlVTjnd7ZG46eeMd>AA=eWq)$R z13R+*d2Au^R3rz#kYoN?2^3W!wikF(k1I&8IDE?;0X_oxad9~T%Kfmph&xk)M9mB@`=lOJo z{$E;FyOI78zE!&wquBu!L-J$s`{^EaQcC;`aEKfm@IeqDLm=OSqwYOxkiCJ>)dOGG z_!J=)u{Vj~r7d}TyPCyFD_ro1_S=jvLAh)XiHjf2g9M+iK(tgyFsi-%MvkRv88|wE z=lyDg2TzC4i*7W^L9<_YL!wbGe<|yZ!-%~C>rO5C8J&zRboQstL5hLUj=#nxn<2eg zLaFUidXaMTK?-s?&5_w$4c=D|8nflidqJArt}3oYZ0|E(ER<_f?8bnZS*E*#ltR`- ze#$ykK6ajvHNyeMaaiiH1}YAX-(Je}A(y|TOUmo4l%EgBVje0YE7`KEvO)51#|#Qd z|MZGQ6uy2fO6Mx--?R&FTr|(l2|UgMzsMn?n@qWNzPX=YAxVk08y6tsxJf6JTA8p- zd5rGlqSKXS4-_!bO0yMN{k7MT2-2P(S<7*9J%#r6?7aK^e1}doOQ!ABdfXtGS^hGW zA`R?RalXQ_Qd@yBVIqj(ocse@BnC|KJ1UCb5<{Bw^HZF4Vs6emh9-< z4R+J_3@GLaU{D+A>AbQN8CDq2a$nGg14yqJ>A4=2ghgmg`W+#<~%_Jn8@PUwOg^q7EyxFItkZaLBkU=pqTJWSS`ill z<4ZW&#C+h9yC$t93!Ws8Ss;1?m7b{z?W~u5c zVz-PkK#XM7CU0nJ3-0;YktUIHgJ9W%Nq~sa^2KX#LDX?(rfNEEf$b}X6bg*U^63>A zYhG^(aha>#8q^(#y-(lx(Rlc(pG7@HqlJ+|`3EAMjTcG9k%-}w$*;oJ8sK3a9woDH zX%o94-M0zLGB8JoB>7===E1VgaV&%9qgU0I^$wIafB5avja`}HHbfYTk2YMLUUi;! zIIqyasAGH5iYF9Qnl%R$P>^kq1M`w=q^&;KJuBZ_q;2|F-WCOFo~q6Om~A0!4R9f+ zHYzWHi&vzbYYeh9wLs9{A;3(wkQYs;V`St?Mr)@{ambe64^0VXtPFM4@LUdZg7sploImRW%y?2&!^xtJ{Dv(1{X)eCk-*UW8Eoqk&#YBEGnRJz5 z9|uJHNV>Ua-SYbWLcYn;AvZWmSEofBMMS&A50xua^l!_rcfxc3oH{D*V%7rQWoi^^ zlq8t6! zI80eCbQ(yoWA__xlg)s+{J~F(hhHWaU`XIHC*vy0`c2TZ8hPoDuOR)|8}ZE376YRZ zxuP^*d-h|a_il~(%Gm>K$&r011EcBM&+R-R({tD4r6+f9b34n-p_7IPr4VWzD$Ak9HwIh!v*ro3wuph-wsF3?|m%N;$lx{hf zgf*ANTkWZu>dcrJq1H)1x@|OkxodD04Vmq*1;ys_-yx51lrC5LlQ7dI1ZUv7SvHlQ z=@O4G^xCD)KAyVUkzb{CeZNJp=AYiZb6C_~S`flYhV5&sE!(;;gr{I33lyRFNY#Pn*&u`3e?$ZJq-!p*buX3mU3TD95^z<#*j%;G=e za&O~e%EU`bzdX+Z^&OGZFQF3Oe;=uvyf+j2oDpc9CBSRIy7)k%>s48C0;iG4#NkLG zd^y8QIw>@z)8&2tClWi#%EVw@;DC{$&3x#AxI~~s?dZ;XZ{+pMn#z+9&+n1`;*7V z$;#d(7J$#J{GO=b0ql?<$IwT`~97fN%g`i%^hPpyn2eKDEc+^XEApx%KXg6^+?#y z9kE6;MTvTv%@F~(bHq6q$sI#_kxilnA3rKS#pu}n$i7Ii+Xm}K>3+5m9_!vnSenpZ zi>;CbSRMJ1UfV3RnI~+iYt2VutgE)`{L+!XErk}SD$M%D z(*$;j+i%?n|C&8Hi8Zf&teC$=Zfm}wjFgM`ax+(lbQtc1c_Q=CW#UaK)*!2mi^xi- zO~@+msY@Z&1cpWP_Bp_Vdv(mgSMEj6KmyK){vmfsNQHipFQ+LMyM7?wUMT6rQ~QXU zJY1mFyy@GAyWwxF-k7_Fm0%9CUt4T}_aRSmJmZ#vFcb4N9L?sxR_YOEA zQqs054BK--yeH@k3#&IyQBgwrPjs&eSVD_$&|UDJi~}(MiCj2#Y6BKapc(!sTYMeH z2FpiTo_VQU606xYc8rCCNrID~a}p5UmsOC&ojNKxoEMn zpP}qIS1`9%Y&J{4O7Pf&O7!RY$RwcUkeO_JWp$Nkrjg#FI3DaCN>=R~zZi}UieGO2 zwWol{n^5Y+l2Xh|8EU1i-!G3q)gI?m^C<5ObI;X5$Ni>LdsZ|Khquv39$SVO4fBs2 zpYVZ?mIRB25B+>vtS?VDxzJ;-=yuhGiukGAf<47gXWsfAV$o};$uAV|jqot)5SLT} zOumtRYK0el+OrNoxquD7>QeCBe}XL0*I9F$Kw^s#0+ZSq7g**<6@ zE&p@$V^mFBnd2Q>xL7^)cuq^()bY#z=x_y~yeV=os!2M8+8Xzdf7)zoZ8$I=*QE9$f%vlV3iK2{&)+l(@P5Suk)j zvFx{)$>jOIak(Zx@V=l}*)}Yy9kA2PZF>byOSIVp%-X?prh{L&JIx7Ob^8X6dbzkk zaC4B{NNb#6A`n$JKMVzZ9J`NL1XmghsNPsOCW(Fd-4~hWJUo6*<*2dzdQ{m|Ht6^_ znh(r-$r5+D(hrrA00Uj6xpSJY;#e=>*te6rzpc|PKxWZd1@Rzst=C!##A82uJ7rV z*=eTpBQOtxlA|fU(xi;Qw&Rg?K4z^0w9J6_!EV)I2j0n=OF&U|q;@TDKjq_qh?Il(r?r2b5?o*%Z$J#4`hTzw6N2 z_+VZ<3c0@Htzje?-m)GyHEA-km`#+E;?XQ3GimK2mbTrT>RZxZ>owRsDg32QUCWuY zr~1plo{K~+V`^4*3x0k_?WtIl3}Zxa>t+KG7NT#^?Kk+VU%>7$deoL1KEya42aDVG zU8x9@k9n3g)LEA zrd?i2q47G!b;nZnVv!tiwsDs1WyA6&fYQebkx9MrWCx8kT&syfyO08L%9Z(5#`AuO z3@sE**YTygczipxr%)Nqxze*qQGP@8v^Ri=W_#s^!#b!S&6B}+3Pu$eRTF^g&-}ZO0vL5>ED!S&Pe5C2O;?liOI| zYmJ3lDv0~z=yYWFP?ET+b*Pp&1*<5YLrC;<(G8i1f)mag#^t9=JyJL)o99{M_~#kWppGumR5 zUoT}DZK@!d7dSTq9x-BJ%nl|mZ1nmdRk@*r{9}djbi=P=#GvmIPU4j_(Pk}X*?hVi z;l+y1m?uUK{sa300R=}3c8O2h^{+*>%oh3q)lHo4XQQG|S>vhKyp9Y5U{? zd#AfH!Yw7nWFsv}UzCGQ%`+pTUqh>C53V(H&BCJPN|SOD;qz0p&ZwzVB#hBt&^mWZ zO@shc(HWqH%{nB+eM|C^0>TgJ*t4935=1lMyuBl(In14YfY7VfUpvCmksCiW5lK4{bv}YzO*#^oO%G+W9yz4CV^XkWc@L#wIzPu9GUoEw^5rPj zdiUsbmbV>rkP&ciSHv#lvC~R;Dbw)`=x`DX4D&f#c2#+yeVy|9&Zx9O$E|1Qd(fIc z7~ZPHzdSnQo-XRD9S)PQ>Ua<5(gh+?N@;jY>VDb}JlASIg!!Z*8dL~8$k=2WodkU{ zeLK}tO?>MugET3F2^++n2w}pvhe?Pzis`WAneqtC6jIA>s*g+ zeOfR=em;F?I_*vD9ftf|(~e;ah1LHO}TZsyQ;d39#=2@fSid8LmrI*+4;yY<4P$MYvbcH@l#ZYQyWUO zA$H=Eb6Jfj_OS1JOEy4W)X_tx#K;C#`Fq?xlUH1#1zQyYuaC|GR@ghF+XKrWz%?Gh z!dHq=cpmBVc9Xu9ELbrvA=*z!oNcqo3uX(^1=7%3mPFAT!QUApWe~86ouJG8@#`)% z+sSl>G*JsE-iUg}9)9U=f4BTzb5A}h(JkL_kX)r3Ml3L@6n&BMm*7yqk7)A{S{7*H z%^TR;@;=N{<`8@Z+_}lWnDCNMbww7)gz{!ze$L5WCuQi(hU2PX&)c&;KVmwgCDFnf zWCp!bq5cDjbCgbk>JO{5!Yj9G2RP4&%bn!IRjx_h51eINiP*If%KZ7x49SCQxwUF} z&cep32!zC&o_z>1BpJ$vO8tIzWzZ)w0I?Z9SYj@_^j1N9LzCa?h!1KLw-fV1NU_@B zD-i8LV;>m2wcvrvpF>4u)6AWkI(D>;_`&EjtdG3YZ^Q?AQIU93R1DD5C^b)KtmiuQ zOkgmhoUAMy#FlI^vPMt<>lwxJ{0;S;C@8d zN8%_LAs~z3%)H@enDsGy`3DVYEhM6pR&cRGjJqCk*e)+@@BQ&qVnL5wh zbfxu?iwbGAFL^{DL6DcS zl-rTlVi{#*N7EB+++$RTC1~E|!$oMIyew85i#VcSTSS`z{231m#7I3js@I^>Fxy(E zW0R7Z-S)=F(b-dCFzFuJ>VlVn#&{yFwqxA*8J{iYl|Z#PXfFBsco3V4l3TlW(O0#R z@-b@4RWL3AE7V$5hs3Sf8xs%w^JS;N<+V=}J{{N~86f-yJCZJ6Qiih8`@#I$$g!Y4 zHinG7utYUy@;}f1w{<|x<%nnR|?XD94dfJ`JC=7YPBMCQsl>E>}xQShBvfeHGT zs)xe_#uu~~p8LZa5zv=Mtl(`yo&@I5hIA*jnE-^>2TnORD9T#=u+jn26s?uScL(%H z*EbS_dg(+M^?G9C)NZ-wJUe(U&J7=PE<1)ffP!ErF2ifC`?$%Vuu1)O>mF}JisZSqLujv0lq7uFX2c-EXdVKO zLbnH;6LQD+B9LQRm1^XdxN>xPiyK=p28snlBrXEu!Tr(}a3FyINwENl=~39udmf!( z`F&b{_{VK5ZC{PgHg+$|r*mWECA5d+DxFhM6v?qbnCg57BY#}UlUK9^B+Sk&2!(?y zLzI|4{TUy@NbBQFi5s?>%1S=Pw^aL6Z9AAD31mfruY@vUKFWO(@+g1Li0>G@PaHPO z2x6qtk|^AT;V3bMer{8yYZ8e_wv#`Kqm$o)JnA*)iO} z{AW6;PeFv)dYT#yR{rfg-6PmM`VCQRpJS<3(-```F#jLLH7Jf|r^W8Dqz%YWx4tinv2bh0O3V)@8M z@4<&WcuB98o@1o?Zs`+MeP?yDvNbn)tJ6>B0L5x}PvSqpZUgpcKS zs5_&zg7iEgS`M-e1#_w*QSZhl9{{Q^I|OnZwIb|j#f~66br)lOn{99%Tf7MBq!)AG ztn(+RU^<>yV*nk*8*>pvws`lb9va`nE$~$fWh~T^{(d*ET?*Sm9K^36ZSI%Ns7>^jC0t~@ zk&eyEOlq|)b6tIZ_=1aWVE8&c#v$>aOH5b!|ECkb^XXVX8W0#5dL?IkkM@Eaieq0) zulpMb+GiO$ozTk8Oy|)_|Bj^hZU_O^VyzBqOrG!~I;(CDMShvJ`8zlWPGN#XF^M5w z=TcpX(umj&)FkL}ju)6;ybmgWqeOa{XooR_I4Yhy*PRc};BtXC z%e}UU#Qyr%&>w{%agafi*p___?iCQ1nhDo$;opvrn}7C^q+t02r?}Klj=w-k7=+9D z=6`qrepf&3yA{UEX|To~e$MH9HCk&2ZhZOXju(pD5*STRcW6ItTdJ-($Vm7KtU0B!9Dj_sb zF2!nm?gmZ>%+KYu_2)F8dk5B#DEa%4Ay9HQ=kIfDb+d#C;#IJ8-7R+Ku|PgVO|#^{ zQKFe!#tK8Xq`Jj{jZ_4AI|o9jNs9lSoTyqm>ckM>m))(Qlgba7P3b@_&f;X>^r8lN|IxD(L+cmWILA&M zAZ_^1Oyu#8iKZ}6hQ`_$eZKp#6D z4tRHPt!T}*5KY4vwCyCS`1|=)8+1jI`yCaYbqSUIpxZ@+Kzd&@fL2{EkgI|6ZDw-- z(1>nz5AxcNizgho0M|11f~3=q`^9@hMT*8uKjU6xqCj7r?SUji{^|nY6KiGP2+pWw zX&Fw!7i}WdfvV;CTtB&EIZ!_@O419rY+tqipyB+v8v;_!Ym7>$5mTDfQ$!FD21pS-V?m@ z{=%0nX#o3A0=VW0W_-&Zr*5*=3e=u2K#P0JU+y|LE@4Z&CpIaFhBGliv0ePKG1JTE z*T63toX~YS1sW1`*pvw!r^^aRtQOpQ4$lSBh@gZlT|JiZEwbQaqL_?P+PGA7;6C*v zQ{|CmS#e8nuOqlo^ON<9)%Iutz2pS9KH$Co6AH+=th!A2yKrHsR4Q%3AarVs{x=9A zc2^MmF%LrAMtFxm-x6WPorBa(mD47ZGvcDpUPviks6mbLdYB5d)}y?)536 zA%YAp+k)&g5x&F(1CEE})BdNi-k(WI^RS!aMAGqv`+mZXA4w*rC%9=(tFEDJI;YSw z2IXPfrZ&qNsrz5A4_O8+-uuyR5!2Td#t7#T=|Koqp1aXfJ|j}pX3tAHG46|Wlh}0@ z{9IS4b4mE~_5O0^n4Kb}^2XQlU~4@oeG;HM-UYx|W|+$@4pM9q>v^CAi$q;qhXmjS zpL5X{*&N@sG_iAWb9vD_r$8)+9+6#Vvf_nQ5x1PTUt&2{ckW`i@0h4DX9C0Bm?MZH zH`lI(5l2}6ZU+*9UCE%JK)16zW^LnTg!El$Z0luB47Q$n$ui%xL_>r3TWsZwoykXQ z$s`Cv&P82>q-dmCBe}&cG2+G^SOzUYBw)7Zqs;F&V>t6|{=s5Cq0_?-)EC!^sL7N$ z2NeLE`Nm7u6Q}bInID02t(RU>sWum)zNFucD*Frzx3&zviNS)xAVy`k%cv!+WpvZv z8+%~De+`{a*#FCFU2H2y?{n!f-F6?1eJpP2eK98WGQz!bx58Gq+`cmXM00Ha?U$*9 zAQ}a}`oFAF!Rbh`9laU0q_fmK_Mb)3VT@|~Pnd#hG19nP+v0xSsBzu>*O1l${%;$- zT6KQl)hYbTm#ZkDvq~;AEvhzSV;(|p6XH!1|0T{d3$<dZr$=yNYj*#Z_ul?(Plhu#`H$hdf{ZCGxA^cO5aQD#LQz6l) z%MR$h+gDc|gWA%s@=42HaOTVQc2x)S1o-a=G$h#3Ht_C^9G}(M+>)Oi@A`M#>4>5T z9BFG2@!sJmpqi3a{la9M|9wZT*Lyg5`}5(2^HQN2DG3b`HS^9S_(F8-4_8gin#a(* zyz@XsWi0+#YMp)X72Pm>Vfn+ByhE(_VC{Boo%bf@8)6^-Whuj-FU?|H^b4rlgJSN# zkAnpllrW7>^i^4)ew}d}7F%}qiLeg`U#{B>KLGy7J1!a|6fb&_&8cX9cr9>JF2W9h zAXpG4Gu2t2^gnIKQeL$Q$xcK0grFW&4=9+4MkX}P`3E%2b4*OJm5y?!?KLQO!wzN8 zC9#E_e%iUjsfk<8q_cqoE2#UZ3Ipt-*+aA1cfUjQdtbIoiI->Ew7e|%_^v&k_R>M? zsy`n%^Xto?Qg_`<3~_*Uj(j)!*t8!`pRfO)_P#T!sVr>Q(Q$OJFpi)iC8LNyqM}$L zQlcUtARQ8^Q6VTGMClNcj5>e@1qA}q1?epkqy$JZqLk2Eh_rwb2pAv`nt_yixPR_i zcdf7d`hI1j(Z{ z{F@_XEQN2|lI4!*HR{3+7OXxT$BE?)ruG_X)!M49M<74FI3HVqy+VI5cH^*HSv&@} z$bhxJf;r}mQ>xeuz7}-X+ZXNQ7p|t50I^L0*;VHkbCWl|nEEHYh~wv6 zxl2wD)xFO%B&R7dMKj{IxiL+Ot5!_M+*o!}3;rb1E0W+RogSZG;%1yR9ZKC1o`nyX zLR(8cP$dSGOruTfSE(QxGR4)|pl^pIf4I2giM~MgNKTG3ZHb|jerzh^vgz!6T0_To z+)B0v{~uE`G=@K^iL{-b_@zouV3${oo*Sa+Uec^YCvP`2E?k_J1_W+`+;t_F#`*3G z*9Vi*7&nJbaVINP2rsQ~M8V#zNL<@gM)CGqwsT}fIfLcnjuqQYZ8;y8PndSfjuouI zV5e1&*aGiGm%lP~%F#&d0Ua!vPl=XCt`U+sS~O!|c29f;S&LpJ6WKL}6_Kn~FSJd+ z7Cv|4pCXy8$9ECJSVr!V!7wA8VK-+h6Q_RB(OA|?$MnHlyZ z=P(j-{)p}79xIiLAAz-*+o&~`_iy1r&c_QyQ#CNeJ!YTErgiO1@Xmsald7)^IwTq1 zlBu{voeA;H=~o$rPfO6r=zsq}`4kTbMvxj+IAUqMwmg1n#H`%0TqI1^TxEOfF#c%_ z=z@;~!~thvV*iL)CXiJwPKW3^k_@|sftX&*BxdJ%br=$J97@Z<@LM_Bg@2~K*e@EJ6X+& zKA)_oCH&X;fB#T}Yat$fV`@LW)|9LTZ&!s8(>iZPWs54c;48p`#f>T zusC^_WmF_LyxBCHLfOYT_UILFIw%D+T80D(3tqK44EwdB!rZcLU4OTL`b_OuFB?aD{Y{&Kzr#k zk!mx;PcL`S1Yi7RSl(^(RGne(o-@gN?dG-gG}U{vXM_k1yGo>Qw_fo~qY*(X%(OQ$ zCh>NqOVpHI=%9kPQ2fjrFENeu?66yM9Vgy(ioaX9Bmu4Lj*f&zSkU?;X0&><-aVwm z?O_DEkl+NuT=l!8s;UHk_^nFDLf66b+MBtJqg8ssckw03pvU5m?NyZ^?X#9PpO`fa z7XBUCVRJy#DmFu}M(LW-*7SE8XB0j|QckU}?=q;qF;5cNoR*c^Z;h3$uyMJYeZmp=K9mKYg9$5l&^6x+0M2T546sXudV6wQ?6tm~fB{y7ak_#@!j(UtLR`bfRvgo)PZaHi6Zj>s)&7XSR z&hm`{B+)g*`ZRqrGM)!Fizh79BH$PD2i7{8E7S6l@45@blo8wu z&agKoKLB(8=#s2*UL%hNmiE|?WtqiOP?(K?%5+^th66o&w!b{oT3!ZkKS;Os9|Myl z&Jvq9=g+)8QDv}XuJEQ%(Ct*Xvf%5D`@mD#`1In7P3S@x!8Q2V-Yn$2mej_#+aTUY zOZuVLbrTWNGeUpm)3AXS=N~V?&~;A7NnL=+5_C6Qopp6)iYD-yc2y>lZ|?S?^BH3X zQg=0|$~h(eSARQG${A_+r~6NW8h<}XhmNw#;y+j!#%%Xi38GcQq@~S=j5%LMp$oH*!zP}%=aWp-TgF-lRcwlk|87MQ5L8C<-&l%-j5?}e>1G;~>A2@&RQW$QiZ zqy|5g)Zd%`6yj$aK4Lr+?VYG!i!2I3F!q|rrJuFXz7^CUO6*HxVNf40LMl;I(Pv{w zWk|FWNJ>FSlJ;TKU=y`%iXri~{GdS)8u5u(1E!*$%^6m;h(aGs>&cIW*4QetZCXmY z!Dk~rZdYvvI|p2SK{V%pv~BaoH{PTtovhMduT5X`ly`X?Lw3Lr%h>AYm2Bu}Q8X}? zrewq1tQ=<-byu?@IC9kf`lp2aB2FeBLd7NwO9d}IZbl-;iXX1J4Ov9XrJh63+OGWw zopPM&rr#RcQBNGJvCH-<(4>jvr(PM@d~>|tYN0l;79E|aZ(s6Njm7Ztg?p}F8tQzt zl~uE4iX4#M_1SqvBD-p}@Xr0H<1*cPu0ubtX6W&^BMYD_W?R%{=}rxaQ1%7a{+CC@2XsI)wC@7Cwd=yb1~6pVaLJ5O4CmxQ zptr)sxk~%c{xP$1thq8tZ2IJ!I{56vkK|oz8cS=6Ei}+pD<_C_vBC^J_HIxep9gde z@RF6KN&VA<1(37;4W$pBTuGw+Ri9_myAzq%KU})fby{XG=zSkvQZZNOT_v7ix;t^0?B<)XT2M_>hqBB6U913$*;a{VI`7uFI0#e$@#!LR zD<}ZuC+dGNVFW=?O@u_~o06$H zD}(z0n#}IVR2Implyf#5+El&<1Ugn62LLgDCAJe#GHhNtv1f(i*4@ii#?m)+V+EG! zrJNrqvr-o@>+u#VnNjP_f&-pi@3(Y#(55uBx{JBC^4WiQM6P}%9ObiL19PWl>$^u= z-!WZBw0OfRN3c0&^nfffrW(WTsito7V>`(_+3avox;*fIz$?B%W71AxP6*CmE;cj}V6!V@to=0`va*AQ}M(5Dj4E z^kJ$Y=r6ZdHwW=+KO^P@X+(AfLzhLN#O#nuzwElil8TDn9^MS&YMn~b_ls|IF!xZ# zy$@oX)udMe(+v$2Vt@9jBeW2AR$jP?^VJl9hgSTWSKWYli43#@v@PdjO|kG3 zh+!J2LHVW(oac{Atl3ivlD|_ybymUd)c6uH0F310_qFW5XF%nT=wEws_dQdTmQ^@e z1yf#n>j}QV3)Cs=^p-H=I48aXGoI7%W|D|s$n%bvh>p+w;v7Sa2+2Fnb(veW{#q@t z%uGpZ@VTAjq=LB`Y?u+R$kMogEeDjBO^XjcK5fQ2d=o=ftS&PhRyWZ@cWjc@Dy z+1p6V>4fxoMZ6dIvQQ2^!^iUz5}spPpsNE0S(^i%d?l_{gHy`0O$-&cx4mGn09UqB zz3#!;DX+8YveWogvK!9n8)ccA$ru;i2<|_ohS0KG%=IF4I8TTlsFX-7c>V#3WF{uA z7^a7Q!m0BP`$?w?Sf}hBeGepw0LXzV3mTVJ`aOti2wp$k2EZeJ^oNg)^#%ao^wrmZ zBR00H!Kr6dkHGJAm};xqpm@c^;ks+VK9%W}TDYu8Ib4;25Q5r2XY+%4kpKV!z$GCW zba`{RBST>lC6+E8U?Qq}KN1Q?Im&crkZ$=_rQ*fzfExW1k{r%r&2k|W9P`{T3+_F6 zlyO#$`tvBz+k#k>n(ve)BC=?TEU+H;VPt-H=PDd;Eo7|2&GU<9npnX}^xW=sP<_QU zKd|OFP#G$ozb53m6+i6!1+_Mxn0Bkx&nppN+=0PWfTjuQ*xqs6?Uvxg+g0{YzD;sS zrst~4h#G)(3H^P!i>2pL(fpXX{;d6gmX zK9!A?U5N)`3s-?6qPqGDB2Xe~=LCN&nX1^u`53$@dKpIH(?ZUD^^gCZkzFvuzqgt) zcAGQ^6FJdPq^-y`(H>=ZIJs#reEzkvk+)!9J^i<>B2ej+Ci~n+{q~tUV8<$8r%h&< z+X8yXEp8zH^XiE9(`N~%6P}fEehj{ENd8LQ*6=S21?R%BQ*`lf*5nEFw7(|tE?=(zrF2vL79=iE9J#M zP!4K@ZT-q?P5e_ABX-e+sHeO>(AvIwLf&oNAur^itv4^6l2X^je0WW~3iHRp|;L&y|udI%vB`QbC`iHKbU6nng4qPXw|@ zPfA}OFypg}|NU^zU)jX+IGaZiIq$K|C~GXCm#$RrbK^T1X6#ka76|G(qZw^}UULn* zE6KcKk7j~D>v7}`=#dDVUZ zW*JlVIhq=ixCVArT*ESUV5I^8L2a%`OYLvUSzc|(b2mM4x70$gBp)fk%tL;4`B3iV zF&chXaJv_pw`9#LIdbCsQ9A}qNhpk0$qMmx_5&{!xiMoVcN?)Iv*4c6Gh13c(zDC% zfj|>0WAuqp(E9RF;WxJP3D%nfdy6Ir&TQ_Pd+kAUaVrzo?YONkn+G28>4AeF_@|ta zjc_QDcbOditA?S>ul}&_3>qY1_>Ox#BKCplL+;(=%bn z*c()J!mazP#cx{io45c(gtp?^Vt23kH;*OC@CN3n%!cxQs(;YtU{ah zQnEiBm2PgjZALeO8zklL)vvGZKFsbZRjOY;uRkJP?EI;k_Hee2Ez0wgX6Q-+`7Qht z-$CDtx-ZvZ;|d~1>Q&;{*cu=Dm~0_`N7UPKtx>=}Qd9lIdQvR4@>fpDejd09!(Ont zkdfpwLKf_a4aHvX(CvEItSg_yTxKe@P_FbX3Q@m3^Z)ZjS2nHiaF_20Wc*`nXwYYq z%8foRG_juz20S8R+b)d?PYQJ3vEE~VH|Orm#_Jsq;F|k0fBs9y#5`ye_LYra{vo-? z*%|PO`TWLIbcc2rt!`L(0|!`V+bF}#J9uN!e{G- z9>y6R$I^RZYYzu!S*2J)oC7AX>--(OZY-@hxw~e?rHAZOlDZ)MrY@+HnR)LT&*#Ce zKCzjcDp5Lx6mA2&93#)m$dqDzlTttL*Q8t*N%nhyM3Nn?M-}qp<9TfeotreWjFF|T zm8Zt&`@R`HU;vp73CPPL*okZ3l#0m9`nGT`58l% zu0U@U3F%cmy0A$rIQ#h$ zp#1-WW(aV92;9jsga%mjdjR+-ZW^D-9#M^K>-27Q)gws?FWMF{pR|Mv#iLw|5)xyc zl^H%7sLjGmLrUy9E6b>#BJ4xy7WiwPy_fz}-SQ2o!S>tG{WamTetFiQF)*F2um`mv z;x96rD-_PKJlhUky7+t&tzTYXP+wKV+DPyjk9V{_aUT9xeFd#jH0UBUcC&_Gd(&}8 zgB9Slvb3QudWM>A@n`~4|EZ((05?+wN}RcZpCS^{gTC1q#(8QSKM$K0hpIdlEAf6e zsFL{ZY__lmh@QUz3yTsMXH4uX^EglD`2cl>+>wBsh^ZZNnf32l`Y|k_ZxYG>gJ?%| z`22|Y+UFqo%=*7Vq%wOI->I#y2YSX(K8x z%#zep14HZSd@k$46c1(%*p!6yfTdomKl1Zhy|@g7!Bt?+1o(<39v)Z{Mm{CwEZc4^7lZat~4BE{F zyY@P)M4(q=l$?#vmU5zMn3C^&jEEZB)C~!qT?N;D+7ysn1AcMiFoz*sclzI4;FsidiUPVwgL3EDqiDCyKXUrCtm_<8Wu?SCZH{ zwILa&Vsbb%g0U=+RVr>wyD~zbwT?R{rv13Rk#p~`Ygta(LK0B1h{~D>bcro!4PQ}; zLlMsWycahar-gS|@;j&*=h)SkEJs}gZ`m8^H|oCw%1QJJ29XTP{7O3!iR(-wZh$QOc1mywf}1HaC(7xYmO$nSFNDW#<7axM|VxBStFY zlri*VYB3;Ez_e9GvU6HuneNQa?|z@PJ|*051A~{?Dd#tD33tibg?I1gt2}<0IUdW( zOmMKx|2hR_yb5W34&2AOVZP;p@HeaORS251N`X^KK|g=IZQJj3(;L_9mvDhjM~Owl zA@){RTNLr|z)w@)hFKNLi~UXGp*l5<1E$SWfDr z(Cd-~NNHux9@#t67JgJQA3{4Wdwed#b?)bX}pA~%Ih zFh|L++DRPu$m=~O^yywInU7T8vTVZCEqHo(luTB5>~_FhqWZ)PBXJuu^930t|1O?0 z%ZO zjp$i41i;A?MH9m$jY>?36JFY5a*&YJ@K?#Zug;^7L#5hYfJbb@NIGexRp<2N(`Twq zY&nlf4~TKf+IY1t1e^e{#*d{iXo777BgRZ=L0)^WFgn(LrLm+T%*>*}Wx2nrRwVEl zJKs<83Z(0GDysA@2-kT+UBAI5!#0m!4F$l`r9z`L0qCD*D(O6916tN?R=?sVJ1s$x zM=kifPbQ^eJENLdMtb8gYGv7AxR&iC1plUdF@ocH-i)tzZ)Z%mI?{1n;Ddsy{4j*w zuGy%pCP#Y%+N*8$0snxX!E=Y(r%G~Nv`^G8y=EOMFL}uA><74?=n(3rg2SlYt#X2Xrfa#9v~g^74AYUpj!+t0{(-?Pm#c3fBe{h22>%LzY4j!TNv(!}b?UgP3JA~fGr~5ohkTL-Q~cB9WkSNtVmZ3M zgWAdN^gyvdE7OS=p>2Mp$)r;9y5Qhrw2BERyuZWx2An&38k&&giWp;7NA-q@9HYC7YsX@n=*?nZ5JenS7?aisJY@)Zmd^AXwL znz94KfsjNc)u2kTg*i>K!^1cy!*_gMbV=E^S9u+L;c=9=bk>-!68e)pGS_(wOq+Du zscwmwhmFl)P2#?0`qcNyC}glI(q2L^g@c&NWt&w*J3x{^!8$j6QW*X6b=ZyW*9m6e z%KMlsq?5OCj{c#YzZ%B^KP0st=g++)$2fha?b1M-#Yv#-w4FZidDT+8*FAE)H;Zpw zon79NR?_+47OhVPRlL?_p=PR_^lv{Ft*L7=(&Ia`K4B<+W!1ZYEre7Q>+;x_!>!tAr zVR82La4o#(m5Tz=C_0K=%J_&>cXK*)V@!&V*?*h{puwQVw&fBrJk5^}^rWks9db+>;?X}lh`|Al)QIf`fLiz**0%6O_yi)~%5Ptwq zG;~y8i`q$d@w=^-b`3U0S;mDrwko$Mr zwLqL4++%88P+&XWG~94GEL`WkHSc6cPQzwH{Ogy*Pb&=5ehEBkzk}2tPsBzN z;UDK0j`-p6{hvfAKOWyVW_j|z4)El8l(+cmj%J9+w5J1)?A8LMhSa|Fob6H}4vks{ zIcasq#n*FP>J^+{aP@;Wfd!r6n;{uedxD>Ox62A(v5IQ+hYM~(2%L0rLsTn*D#kd~ znRaJhC+uJbQ(9G^<4(_w7@B+3C0#0s8#?x!YDGtIDb;I6rVY&X^S~4F>6ttF{%oZA zD3)BSSB6-Jo%ONAuk8ATY8Wi7!h2Rnj@p$W^IDCG@&W8G5>?}tU`$%qFO$*A4@NL|O&H$xOzN1VJZPiGWk>Ob0)}_yKI1JvT_F^v)SsXnGvbPV{m_5`^@o+r z-cG{j!B#Z2672ZUhOn8bg%@lw?T4)OkW885^}2Rg6>+($`kv#D49xEdKGV0zEtDq) zO)rG*Go#Rnx8fddhKzPxR0|M_irvk}U}Tct3~}iUTKph$R-y8=wa%`HO}vkTplj0=`lUqPeyP zE7I3*+}YZG^BLV)jvPI4!4eh5je#No80)5MGD^5C?4u6d40w=E_p2#(+H6>~72?Ep zoto{zf{$9=YU4T0!4&WDtJ@g=ORAS2<0Fa>e$r-K^6DOV+`T|ARsu$XF%uKV)tU5L zzV0<`$10*@mOz%Fr4i#o(`Sv34fS^SG6FDgHCa{)M0duC#)jdY`6Q1kyJRDPr2mv27tF&^~ zi1Z~1iP-K({^>3k4=>jg#VJ{OAU#HH%JKXsd%;0NaSvxkcs(A5-cchhI$ z=MPumxlZ7G`-!-xJstv_q_JLo0o~3ANM(F?X`0cuou`q*>EPq zAOmvv$}Q>1^am2x+!+RHY@X?XKAOH=;$G!W$FEYw;nutp^e>SZ@u|HD6Wzp;GmCr)#8PE8wUtHPrp@p@8(rK| z{(948PO3=05sPY>2dZY;A+lqwnvmtQ!s)ibOori}HdE8?1D%Zq+Y9q-7=*ef%brp^ zE9AR!=8OB*_k4TYbkSAZC0}Ux1J0U6+9wbB5Sw_?yjxyHfBo!b+R~8z9jc%Esb3HT z1Y3SHF0K!9F0k5|rLp1T^o6W=6$%3889=| zurv#K~y4d?;OnW zApMfrCzf^1NZeEe-8I zek+3(p~XG#fnw1XC3gnj zuira8ZFRe6U-zxMEw}bZng!y%Pz>()?5Fl^OHn zvWyVV!|DCj^X-v?medPd->W#b_WN=3brC1L!|SEkH|y_>Nvp9oG>Oj|j|a2lI7q4*ZJ72)w-eksR z$=gc&XF7+!wMcEj$BCLBm_zyR$>yCzaII6&>>qCEkng%(b|~bE59^~`^u8CC?_MZ2 z89Wr>5B)S$*Q1zDXv9<*CqsPtd-0i^JWvs|z@;zuO4V~0xrE{m=jxF!!3KE0p}(3= zNbUru2*!UnGg7s4f}a53zdYBRK9(gC@Qg$>Nww~(3#Z|lPqNm3bh=g)SNS6 zf_puKQ|uktYD?`zt%dIKgM8aF50)?SASaT1s&9_UZm^d&H;e`ZpQc-Cfq-1msscVb zlRAUb0wC;@)^p5bTP^Vw2IaMqr7tr%x553B`F8ycTS~v~Z$EjZC8_c4V%Q6W?fH0o zOeuO-H0RiQ9>I9GY$Oz6_Vo9HWtu>_tRd7Ty)OkoipEsu&dEv^$u)!SrhNu4vZP>b zdYp{|mv7|5w{Sn=>3go-w%X{D>7>}>_GfaCtH3cW696qT4ZQW89B`2pSaOy$*IM<4 zIbk~UZAzVOCKN!vqlR=Ys)aBu9S_qLEPTvB;3HRt2E|b7jxas>y|W>f0QGAY)&=f^V9FGn)EQ%sds7m zc^cx=nHIWu;u+J{9L}yg(6>ZqHMVHY7^+vSFICd1c%Zv~L#Qagi`nJxxr z3pEy|*fB-W$fGjc_?LKX>T&d*iGOv#8~?$|lq4Dn)E^Y^62kjT1D0aTCAO{dYCXm# zZzTmA$6a>hRa;XtLa%Pgb9a_~gpWx1zOEm#cL}a8-BK!?w>HQzHIMiK1 zxSJ^fZ(w;3#TT*&tu?2=0sIGWhuV4jwQ8ArWHSj{9r0W_BEQZtOjo&+iRAss!f(+M z6CedZ=~_eC`_mc<8ndM({b+Alck^`>%;H8orBz9X*Ux@vBYiK_0U;t-hqLZB3vdhx z-~;C&m!HyV6Enq`43@eTtkMpwRcw&(XriDFId6sd2Azv9)S|j>#mVfuqM*R|LJ!=G z3Ad(?Zi+0Ia0)9It)CvPWpc(`iRyi^zSRa;g=9rFW6AGUJU8Pe(RyiFX7#%Oqo}2GK0n?b^tmd^L9zT3vnX3QVgj*Ci)8}Q|W4?M&KID z_N90pmFw`}uk1^yq25_I@$cDSNUy-Evd~hx1oOgXl;{fk@|TXP-0zsc``$x)_=?^s zxazR9nf)7*SFD{t6?RK)%3bxY?)8@(a&Ct0o-wG7&X_yY?91I`(1ZzIK*2ey&lvux>1~AmNP|Tx>nFSQxu@=$Wq=>|D=fQ)hcHytL?>~+fY`y`0Q6t zX}$`e)wd*KP!pxo1kNFd+4 zxh$nm@^Dw6i-E2U&uuE|05plXT7y0^ZKkA$fN#)b@iwQ>coh#dZH;*dArx;rgD!0B&0xCYmoAx&Arb5?e+_%ERdfDGg=z;PUUGsSH})?|hDP*uyko1rBLS<+;w)37YgCUe3;$ zWakT%VLDIwKUvn|3TTEH$gcA9#(502+0)Vzykg}dtFh^IU{9BtXE%s;>6P(cR29N( z%{ePjF0Cr6xm%HtZCytgvvWt1_Id-Kr-)Z@M}v(~y`WEA2clDDB!6^!Tx#GplG(JK zBAU>w`5-qo%Ny%B$q6uN48r~VT$^_`aI(5s#~qs7rE>&iL^n++-NU4HF@-D%>m`&x zhVOuxGnLzu1_ivRVG9u}2H36uPmz=F%rHaT^;Oa)|BqQRrfWEjT&ugFjhMmLz2{i5 zqIXiN!9sF>O2PhJVc-Lyaom%~K#t;7!C>Y;r8C}cj;p3XN3l3a<*r82ke;{^MfB=Lv zF5Od!-w-M~<-&{eNqAjC zKTq;%YB0xQU$nI6U3W0yH%bJ@L;l%R+7Qq`j#)|c^?_G%?ZH+tu`50D_8ulS@zXmb zAq=n#e&fmh@4SH`ik^p#%A*JE7m!>5fuj#w7vBylU>`!H>1|yl&Q(06wKLSOvvMDe zhIcsep%1dmAH*JCuT!f~{fBnLzx6AwyBK|9Xfh~kT-L)cnCSmV@6-J`pnn;H1Nao` zKc+n^xMgvi_^W<>jI+x1?xwVAT6niU@(rY(OWM@>%uF%1YXWWHq<%AAX=**RI*MG^ z6WE~}K7sZR_apBQ@dS5(6sOa#57w2xUlfAdI4yYXLbJM7M~6l5nNp@glxredBVt2TRAZ_t2B%@Xe`g}Jaf~98PD7ewiq10 z^|%Pcl+)|6T0(JSeVrO{<0Lj6d}{Y#+>|DI)oH>BaiP z7CnGLRc6yEXHAO?wWmyk&F*A}OAH}nCW09;v8W*qTVW!;*-05p{-;X6zO_qMtGG)_YLHd3!t7EtZNH!?ZaJf^I+|!dpdXX3=pIxl9w#Dym&vG1aMUdJkk~Ze6x1owngv* z<(+O-Yz;y1&OAya`>ysfa?eDmjEyZsJm@9I+de@O)@Pc>0Vqz`>{-rD1~S)1ie-nS z*R!=?c!WCuCR@4P0b@ul-?@5ojLuh~+jDB_e3hvi=NkzTQ-D}uFVy-51 zOtk8m5m0=8jC`^G&0>O}UfY>&rMlR@n{HL>1Str%C_kd}1aGRZ%(yajEmS`D^VG-Y z;w{8wy&Dt8wtSC%w@)wOdTESqr?o2A6J#MPR)742qi}zyds{Sxg)U6G`|d&)6gzU? zyCt%=Pv+8LQ@THg_V*Af!3VYDn{k8J?D@h(Z}?p1U0FMPm$Y*=iqZ`3o3c7q!cBW6 zc$Y(!srMEk_-EI@Z;zb!Uadb>(~I_~@K^HlL!x>tQ-%u#2 zf+=yt7Td}@@d)JmiIhJmkTbPC5zk8NjG|;X*nC)qpUVSU?PEl=%fQ}pINfE6A5c+c znw*iZgb2TS;=op6vZQXj^~N1rbY-3pfH32`4(_-SD|Jma3P$E~HAk2S4~?g2<7&=P z5_(^}{TQv5Ag0elrv{I3-6#iK5{VlaHugVFasX|}Sm9NX$Eo#aJ{y$%Hol&4sMC)Py;V^qD5 zeiI+Q8b%`FvW(1&vfCZPCVY)$TFl@ivbw&aPR_R zb1~$x0>2%X?k^ATA__5IBn0&8%Z>g5d)nNgn_W7ihKdf{FiImiu`u`Z$ajZo{* zfWyNZ49JBPu!kSxRA23#$O+t=F0*GT&SUNMn=E)DFrC_0e9_O>Gf(-E10G#j(6KNS zH6&ncmcUB=e~z>|W|8OhTgN4DrdO<|n`m7k3|VlJSY^Sa7Q!i_bThTr(+(M7Ocw+_k==bZW;+omZY3(tIZN{l}j;%FjMViCw z_{PaVPiNFeq0lx@r)}@tyP}lke2a;=PeRAseF2BP!sf<|(7wE6hq4wi#4YX&@8$BN$9H8Y{E>AQb*O*?UALQ*n2imB$v|{1j5K>Drql# zCQVVDLR#80N`<#Dd3!UiK*OizQZ(d=;^OdhTOum2e0dc^<-FDu5!}dUPW|E4N-o5& z`g1JK)CiT`!n)zp(T>-m_T3C>CkGJgk^(~qk<29q0?6uhJe)7`(WC;bnvU7|2u zfflp21myL&@s?KQs-KaC!~O&eW?%l?`U+9ya(aV|#O1ToRdEtSsFWhs zNA48yX8YQtZSv2_)&?m0{w$-OBu&J?(M@2cqYy9*t_Yw7ZmR=8LgMBz7@SaJc(eC# zKIkA`H-YTUc!GxphHfWrvMXawtnnG=B}RK69;NDC0^+=3W{UZu{DbDfwhb&crQ2m6 z#fJ(|eSp8erpFmoZ*oHb6b!liWS^o0lna~QHg5_H2Hf1U+xLK~Txvk@{no_yfvt92 zHdpr^D~JYG@c9B69rd?YBW*PfzAGO~dCq29<(-Acmyy&cRknQ$h z&frc2>TU1jt_5J|iY*Ro_Ila=b7UHOsKPkuutBg|MX~5^eQyWuvYQJZXT)pIBRlO7 z*Kq+a!P>yF3|Xe`ngeo=hSXZDv@(Ikuhz#U`cl8t>+qKv1Ua<6hVG3d1lslLM1=3h z0VC84U|-)^6kvi8dn62#O6X3D@a^$-wb^3BZLMVl9$@v_6km&-U1NtE__?BFu4C%A zd;)GS`)D(CIHG_3M^ZEUO{V11n$;+Z=AK=40S*uXnib{E=Ut1YL`d$;ETq=jTH`Qs z+4-N4Uz3%XK%Zw-p_GJqO+g8*z0E}UDQ#JAN;lVh-4=m#m6FT4)m%U~0x#ZN9&ee3 zbR5vE;b4vIY&x0#vD??=hyzppW(lv1^T$_}ARehsuNxdsXQE-JJ8avLT4pc zaz`t+d9B~av?KywnkhMsK^!8w+s6rJ7I*#m{1x|#>B&-aLOe^>o2cvAmW1yd(AbN* z%F$y4$k6qB#+xe#+k~EW5jJwa#KYUe*^;S2Q}cMU1c1mu1OcY1r@} z!y14F0xfItWvoZQx|;3^DiUh|W8WAcv}N`vnj!-~`R4^)Rq+N%1vZf=(HthR z%QTtLii4RlQI_7{j2BF4O={;lSJGvrU70*6jQNsv5J?+e5{ENj7kt`ndb$>_tK30- zNYxwjc|{M%Po{mmPc?k??`VSnr`R+j%qO-XzQLdeMx#}sW$z;`dhiQuoBDPKqB6cuae9|g%*b+T_4 z2d=0DzgYN)Zc}(&Be|Krx84u?I*fi@1xRpAK=B_?%|iW)>MHth@*=`?KuM6l`Bzl` zLk!IV+Q8WnxG?1c*!^Atp-6_v(d_F=s+xdSoaEc;sL;@TQK0ep>I_Ukhkrox^5t#P z&Hs4=^&g66VgV8>2YynZi)*Xo7ys&ruFR9MM)3iW~8WHEM7%Q=64XkK<#1A@iZaukZUrj_4raeli+A=+T~ z=|Rp4fmLq&b1eW2+fUifFY-PcR+_M7@u@sGgJl_dDbcjJTv6hoczS(^GSdu7RQ4nB zNP$t7sy(2d{_4EdY@h0ReI)tY!i<&fan71v2#YCN8p1d2ie#F0z1{4y-Sy5?C2uZF z^Gz!)NNnz~FKm20SXoXGG!!`NMqSGSC9?v?QO5OoIyT12jiB`7h?vonIH}GdTICYM zs53vwi6eRa%GKM^s0?teeS9$u0?FEZP0&&_MrBTqJ^j8}o}V`iHGi)$E^K><;Txn>fF(}Z-O1~!>eVZ-s<9~pGJjqy)Mn`)kQAErhXPU5nQqOMvMuf z)8pCJd&fHSo@vP1U*q*S5|&5lODgJR+y~t;`{bjfQ*izQ6WCVITKzHHLl zPHS_5m^l`(Dg~~~i8cnDcX6dNOex|ej;3D3v(IJy7i->qBmQ^xN@EWsy0qCX{qORVi@3-voJ#sIY$mZ9 zzhljGYejtEn+14|a@b2{jn$s0*sg}VD3-`R246ZAw=pqc>fKM)|E!$>tRM*~q^F^e z=Gp!;VlJ&KbPn^1HG_FejJwjWSWPjPc+q~%gha(xv1C%zm7fv-*Hx%A6qVArZ)@TG z(#wUUBw0IVv64jh*uX81J$_vy^Xt?emJghTE=jDl(~W_0bFLB7}*QrR!>F z(QaN;m01lDfZfqrN>(aqan%huB3V~&_|n<825=wJ8}gyM#~5Eo4Iwc5Lb1(-vB)4n zu|n2mah>+3-soU0( zTlycH7CzNzH>W1xGdz`oN*+NSuEDw3`2UGhKzv8wE(u zdM|xDHi6+RVKQ8GMw4Ha_KYtDFn(68{vaYE$ZbK5plJ^;x6eOD#2!xz%I-i!y1Pfb z&J+N#)t89})ry$>(HDwA=q(s?=Kxa|Y)k&)@k!T{0b{`v&pt`@|auA-_d5+MGho96XclXDFG&cqciW+7GXh_?BeaXo;+_?hQqI^jP4qm zn3B1kKr2z|Q>$}3XxP`Z8j?Hvva}*%FFWkXaTt!Jsd^)C%jljR=|oJ(IiD6oE;;#h zf9|_&qmmzE09r@cUxdn?s?{zd2mm*knwMxl%J@EBXJ9Cy388{1_m*|S&;0{ zg3h&rle9Rn6Cu`%>^J186i5KT`fUyqja+K{FMxG`1f*lr+pf56yZB+K-0MH%t~Oo_ zN%^PjCCE^c^GPGR+19JWhY6f2&)qffyVZezP3F4iVK5_m>-%?rkOS0fE2cEmPa|v> zQ|oc`X3skVu4-)&zggTQ(PjvU{q;pBpKSD6(aAkSipOHI?Gi^zcY-WNH=rm`02c=pUkeuWeN87;TOvq{_p4bGP7!-!o>9DeC$i zU1cDCy>s2%a54F+ik^AmzS%gFBSRJ6R1~;#PG!0UtS9#N0J%%cLyI8af9YCPI z-4S$P&$J#Q29h>R`yex*@lNNX2$9Fq$C$)uGx(;>>(T;>TZtBLFM6{J=9$KsGaXw8 z@?35Xz~fK1IWaL_8RK2P8Yoqx#7k$&A8wiBK@i9HJnxyT-<`Xi#8`)QG+9zCD()Q} z%;3wp(&s&$u65epu(H}IdXEkJRpX|?PP0~|69${lNG_3jv?Jcut(8hX&UGt7Z%nI( zKIJsxv6*+L?&p^k>nzXSbYlI`=BFT5s!&q*Gyw;|UDG;L9s11HAJStg?0EQ02HT7F zC#MP{(es=j->-TLx!kVk{3&_q+J?Sc{L-8<_M~ea_{rsUQ95FNId=U?)ZO!A%I>}g z9N|q_W6+JOXao%hK;GG&FnkS`Y}1N(1m6z>9IKsX;=b7o6IGji2o)!*4qw_yV&w=AP%DnfrBKT`$3#QZIQW1D$RWUHUdc;8-2E*w}4o?-|t zV7(!y7sk)5<=u=7E{!NDbk6aywirPG@_UG%w)+z|z3p;Bx2vdM@|PQA`G{k?Suwy~ zwFhP(t3JbOltALy3*M)5jY#5IBuk0d>)t0ghjeY@fU*5_x{wUy7yI%~uvYczoG-lf zL4eEKCW0qd?=!Z8G(`X>KVZb+{Izv6NLX0^63@z1V2P!olhFw$QI`BE%hqAb^;!v& zb3t!jwCY1NmWqi^ZB7S47Y5<_``0TFH{SBz=UHO9O*u!fc{A45OaG1$9dpMgTDU^W zJDmoel^(`lMl+G80Wwp_3n)ddb-~SJ2hWanwaNI>gS8IqZS{ zCmm}M|0B=y{5C`p*B)0yzS9@m?o7+RIm5w|oG&<#smdE!{PuPaY042$k-I;z`E8VMJabhvzGHR&`ce zC9&O_B^ zoNBB-uFEE&k>LF;Kd0mT(K?WQk?b2 zgle+Rj*H`UsY^le_q;ddsy;r1_YB2p238WMJ|osd*YP#_Qe7~P(!2%sz^o;1zukVz z&00u9=YIHQ=1YQ+{7(nBmDVp*EN(7;#iMwG_`yOEG%vycH!^6U zNd4fhA9e3bBf=E)=cd%wC5Qbg_Xzxhg}cy~Rwg0QNn~#jZEorzM$oKt)js33Q{}Pk zg3MSU5@Wgm9-^O08`RKJRWMmXCdhAo0n|MK4s~54Jr!Z? zQtd}iB#e8Qy#>f=Sba`pP$h_4McW^|Cw0Q$BeR+{Oucr~Gk+#z9#`n z4)Xv|a@~(g&gHL?dtXgP>g?xHN}banJ23ae+6+kKw~Mu+sA(BD0LxD4Rm-@pXmDa08*@WbJq^v-sN4~Y{QV}cN5JaHJ{FYEu!ATc#slT zV-+<6_-Tw5Y^-II@7eA)nCju2ocNGCVfy>a(breb$^7$YYNa;EwA=2_xr9kCY~C!1 zwv}*K=9>zdC}hp;YNuEieqMwEJVme&sr=<>KAHnPEj}abuR0U!85#HjyXf0rlXY?D zzgYmITI*-19&}N0#KgS_L5#ZnFp2WT>5ZqwQPc_$R_e=ul}`%~X?+SY zn5iB#2nkK?^PHje6dsHF)ia<8-vw-mt77O))hqS)N8B9B=&EU2{AmUlguk=DL5H5I zW9}{r9IF1-0;5XPnZ3=@89X=%z)R2P@|}>{5(0DOI;ZF3Ya9j&vtB+l`^daXP7Ah zmj!r^v?q){e_tV4Jk)%XE2YIP_vpTh`SI7kBrDP4{-=NW`-Kd`uJ}~l(sPAp<;&H~ zr<+r7Dw;FE(EKv~c!(H@6o9Ce{KLQOUsSUPZq#u6t@fW?DDhvovEv`UqLw2H}~El;U?t|JkEQ*k#JUX7&AF2YN=AE-WV^y~GJ zr^1aXSYnT0NYW;8`kfS6YwGx)cL0jta=KO_gP20=_R)m=SxO#@FP2OrRo3V7(pk7$A}9?yMr-9$v1rOs@-Omyu277?yLmkQ zdp$&GtR9^yxc+s>X7GaV3PwDi+dyV5&-HhD^*^29kF$({rl5XI(9|;%wqVSxfIHg? zQ*k%`S*R7C7$C%x+K`&2+UuZc2XUiVtE$ZX6R#UUWIlf22le9yt~STR*4ebir8Fl= z#eu?IFWQ%?XgH;yNslI`D!TMjKCT_q>p8`}1r%t|Qkg;_Zc;18P-EIuW7bkYLr$j| z*($4_Fxk+po^|##(a4zv!8dyI4lP{qv^d3vzaDhHIv!fO2ifN)Q0yB;v5QmBqg#gP z54bl=w)qi?{)%mBm>SoPC6vkFO+oYAYuz?%tPJ$5d8`BFpvDrzS`08KZaC0v(67|&a!7is(RB2t*!*qX={I$Dr}wBbgT6Qg zDX^)v*rSt0W~jcc{~SQE20C~5#)hqQ3Sw&C%OPz;*sFz6j8_e}hc&O^b~1w{MxrRYHGm5nkiRg*!3nXsx?>jHGy1)RK&7iUs%>|V@P7Q*8DRW3 z7=Q!*8D3@Stas+V?%d`rFi389aZD_%P<$V6p6x&al!b2k_CHyGUBx_A{A=x$`h-w@ z!TEdsn%6keUIiVcI~AW zP#Q`53DePAcEI1a#-K?x{mbGzOQ8Lh_P@Mi_JS%kY6giR&7n8*6^@MGDzu*9}!WzUX$ z#|hfN-;9 zf>;=nlxBzWx6xpDrg(H7H*)>u$h$QETtwGdaOn=@ajEK*NqPky@6;f*OIj*{! zMj^s?e`j+54*j#VyhG^+lP`EdKGZgDF5rndCw7VvOE z&{~K!(tVfihGx;J^f6n&{$%vY@Ps8H6iY=#AN@R7g3g7v+CVFWHc}fN9O{y?Vfjvt zy)9Yfhf>mWLWfO>XkAzoQs5N)6KajK$T+g)j^a@1lu40A-rNz3!gWCdigv}g?)r~x zHYaO~poJ{|jv^$Rkgj!gV%rRGX%&s~YUYntg+vRGKacrvyhM>`YapKBod8nUvf zZrr~#Z$r{UYuAcu-zLkpPwJy`4!}q*sxhCrpXnkoGY1gp>g7Iji9scx7jF$}-pX1Et$1uHxTy+7Fy}C!(jJKM2Z# z4MaklvxpNm3b@NY4^CjR;K#NN-F*aHT`i?+T=Zg@J(~=+vBsnbuBHCR(fFW8HQ_Bh zTu7LV)J>PBbDp3hSNg9;0l~`lK;IlOeX%Z?m@j1fOs@nJp{>D`=M(a0VUk2I3>}g* z9|twKr8Y#BEIFdHadwkOOA2%5=b(a4Jtn^Dkn8+a+76~>1yXZfzJc-K<}Q0~(^Tr5 z|7ov3C$SRT+Rf*&_B|lk>{02&Kl>jCbV96XbT9$)W$$fv|+akcBpyr>*8y}D^WrN z`lfcH%AOcXZB46*-io(7Wi^{NGwr#%*D=dxr)I_Ymv%i~GGpT*6yB@TkM{$ zw`pMY&(_*1fdN`3d0^KmMkvxD4=-N$C3hxy0#&uOEA7Q-JlNasa~B8QZg? zAMV7qiyE9GruKQgLF%ws{-dQL|M~mZ_1h&hK_FD^$KM6`zqOX*zpR=5&oAfy_m==~TM*zu zcnb2Tz6!OSjWo2eI5qR6`|33hjum`#T literal 52464 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 Date: Fri, 25 Jul 2025 00:08:29 +1000 Subject: [PATCH 7/8] Options JSON Upgrader rewrite + more -Rewrote the options JSON upgrader so it isn't as spaghettified. - The Batch Manager's output path textbox should be able to take both relative and absolute paths. - Work has started on more Crowbar parity by having paths saved, so you don't have to reselect a path in the compile/decompile menu after rebooting. --- GUI.py | 4 +- menus.py | 134 +++++++++++++++++++++++++++------------------- save/options.json | 4 +- save/paths.json | 12 ++++- 4 files changed, 93 insertions(+), 61 deletions(-) diff --git a/GUI.py b/GUI.py index 3b19f33..220ded0 100644 --- a/GUI.py +++ b/GUI.py @@ -352,14 +352,14 @@ def __init__(self): "txt": "white", "tt": "#dc5200" } - if self.options["save_paths"]: + """if self.options["save_paths"]: self.save_paths = True js = open("save/paths.json", 'r') self.sPaths = json.loads(js.read()) self.bonez = self.sPaths["bonez"] self.matfix = self.sPaths["matFix"] else: - self.save_paths = False + self.save_paths = False""" self.chkVerTheme = thCol diff --git a/menus.py b/menus.py index 4947317..77f9ba2 100644 --- a/menus.py +++ b/menus.py @@ -265,7 +265,7 @@ def __init__(self, template, master, updFunc, startHidden:bool=False): self.name.set(cOptions[0]) self.nameEntry = Entry(self.top, textvariable=self.name, width=50) self.csPath = StringVar() - self.csPath.set(self.csPaths["GoldSRC"]) + self.csPath.set(self.csPaths["Other"]["GoldSRC"]) self.csPathEntry = Entry(self.top, textvariable=self.csPath, width=40) self.csPathEntry.bind("", self.inputHandler) self.csPathButton = Button(self.top, text="Save Path", command=self.savePath) @@ -353,7 +353,7 @@ def saveComp(self): def inputHandler(self, e=False): self.csPath.set(self.csPathEntry.get()) - self.csPaths[self.gameSel.get()] = self.csPath.get() + self.csPaths["Other"][self.gameSel.get()] = self.csPath.get() js = open("save/paths.json", 'w') nJS = json.dumps(self.csPaths, sort_keys=True, indent=5) js.write(nJS) @@ -362,7 +362,7 @@ def inputHandler(self, e=False): def savePath(self): self.csPath.set(self.csPathEntry.get()) - self.csPaths[self.gameSel.get()] = self.csPath.get() + self.csPaths["Other"][self.gameSel.get()] = self.csPath.get() js = open("save/paths.json", 'w') nJS = json.dumps(self.csPaths, sort_keys=True, indent=5) js.write(nJS) @@ -383,7 +383,7 @@ def updateOpt(self, key, value): def chComp(self, e): self.selComp = self.gameSel.get() self.name.set(self.selComp) - self.csPath.set(self.csPaths[self.selComp]) + self.csPath.set(self.csPaths["Other"][self.selComp]) # If editing options were removed and the compiler doesn't have editing disabled if self.hiddenEdit and not self.compDat[self.selComp]["disableEdit"]: self.hiddenEdit = False @@ -435,6 +435,8 @@ def __init__(self, template, master, startHidden:bool=False): self.blankDlistStr = "Select a folder of decompilable models and they will show up here!" self.curCBatch, self.curDBatch = [], [] self.curTab = 0 + self.compOutput = "" + self.decompOutput = "" if self.curFont["family"].lower() == "nimbus sans l" or sys.platform == "win32": self.widthFix = self.widthFix+7 self.conFix = self.conFix+13 @@ -552,18 +554,37 @@ def getCPath(self): if self.curTab == DECOMP_TAB: focus = self.mdl_list batch = self.curDBatch + outputF = self.compOutput + listItems = self.mdl_list + fallbackStr = "BATCH DECOMPILE" else: focus = self.qc_list batch = self.curCBatch + outputF = self.decompOutput + listItems = self.qc_list + fallbackStr = "BATCH COMPILE" selection = focus.curselection() if len(selection) == 1 and not focus.get(0).startswith("Select a folder of "): curMDL = batch[selection[0]] - curMDL.output = self.cPathVar.get() + if os.path.isabs(self.cPathVar.get()): + curMDL.output = self.cPathVar.get() + else: + fallbackFolder = os.path.dirname(listItems.get(0).mdlLoc) + fallbackOutput = os.path.join(fallbackFolder, fallbackStr) + curMDL.output = os.path.join(outputF, self.cPathVar.get()) elif not focus.get(0).startswith("Select a folder of "): mdls = batch[int(selection[0]):selection[len(selection)-1]+1] for i in mdls: - i.output = self.cPathVar.get() + if os.path.isabs(self.cPathVar.get()): + i.output = self.cPathVar.get() + else: + fallbackFolder = os.path.dirname(listItems.get(0).mdlLoc) + fallbackOutput = os.path.join(fallbackFolder, fallbackStr) + if outputF != "": + i.output = os.path.join(outputF, self.cPathVar.get()) + else: + i.output = os.path.join(fallbackOutput, self.cPathVar.get()) def setBatch(self, batch, tab:str): if tab == 'comp': @@ -988,6 +1009,7 @@ def output(self): userSel = askdirectory(title="Select Output Folder", initialdir=startDir) if userSel != "": self.out.set(userSel) + self.batchManager.decompOutput = userSel def getArgs(self): args = [] @@ -1429,7 +1451,7 @@ def updateOpt(self, key, value): self.options["gsMV"][key.replace("gsMV", "")] = value def updateComp(self, comp, value): - self.csPaths[comp] = value + self.csPaths["Other"][comp] = value def updateGames(self, game): self.games = game @@ -1648,6 +1670,7 @@ def output(self): userDir = askdirectory(title="Select Output Folder", initialdir=startDir) if userDir != "": self.out.set(userDir) + self.batchManager.compOutput = userSel def getCompilerOptions(self): self.boolVars = [] @@ -1743,12 +1766,12 @@ def singleComp(self, mdl:str, out:str, batch:bool): compilerFound = True break if not compilerFound: - paths = self.csPaths[self.compSel.get()] + paths = self.csPaths["Other"][self.compSel.get()] if os.path.exists(paths): compilerPath = paths compilerFound = True else: - paths = self.csPaths[self.compSel.get()] + paths = self.csPaths["Other"][self.compSel.get()] if not paths == "": if os.path.exists(paths): compilerPath = paths @@ -1932,8 +1955,9 @@ def __init__(self, template, master, thmecallback, updFunc, startHidden:bool=Fal self.updFunc = updFunc # Grabbing options self.options = template.options + self.curJSONVer = 5 # Checking if options JSON is from a previous version... - if not self.options["version"] == 4: + if not self.options["version"] == self.curJSONVer: self.upgradeJSON() # Pages self.pageButtons = Frame(master, borderwidth=2, bg=thme["bg"]) @@ -2028,6 +2052,8 @@ def __init__(self, template, master, thmecallback, updFunc, startHidden:bool=Fal self.presetSel.current(self.options["defDPreset"]) self.presetDat = self.presets["presets"][self.presetSel.get()] self.presetSel.bind("<>", self.setDP) + self.spLabel = Label(master, text="Save paths") + self.forceDefault = Checkbutton(master, command=self.chFDP, variable=self.forceDefB) # Checking if anything is exceeding the width of the "safe zone" """self.show() self.checkWidth() @@ -2051,54 +2077,52 @@ def checkWidth(self): print(curWidth) def upgradeJSON(self): + upgradePaths = False + defaultComp = self.options.get("defComp", 0) + defaultGame = self.options.get("defGame", 0) + defaultDecompPreset = self.options.get("defDPreset", 0) + forceDefaultPaths = self.options.get("forceDefPaths", False) + savePaths = self.options.get("save_paths", True) + startingFolder = self.options.get("startFolder", "~/Documents") + theme = self.options.get("theme", "Freeman") + goldSRCModelViewer = self.options.get("gsMV", {"selectedMV": 0, "csPath": ""}) + if self.options["version"] < 5: + savePaths = True + upgradePaths = True # Upgrade from version 1 to 4 - if self.options["version"] == 1: - newOptions = { - "defComp": 0, - "defGame": 0, - "defDPreset": 0, - "forceDefPaths": self.options["forceDefPaths"], - "save_paths": False, - "startFolder": self.options["startFolder"], - "theme": self.options["theme"], - "gsMV": { - "selectedMV": 0, - "csPath": "" - }, - "version": 4 - } - # Upgrade from version 2 to 4 - elif self.options["version"] == 2: - newOptions = { - "defComp": 0, - "defGame": 0, - "defDPreset": 0, - "forceDefPaths": self.options["forceDefPaths"], - "save_paths": False, - "startFolder": self.options["startFolder"], - "theme": self.options["theme"], - "gsMV": { - "selectedMV": self.options["gsMV"]["selectedMV"], - "csPath": self.options["gsMV"]["csPath"] - }, - "version": 4 - } - # Upgrade from version 3 to 4 - elif self.options["version"] == 3: - newOptions = { - "defComp": self.options["defComp"], - "defGame": self.options["defGame"], - "defDPreset": 0, - "forceDefPaths": self.options["forceDefPaths"], - "save_paths": False, - "startFolder": self.options["startFolder"], - "theme": self.options["theme"], - "gsMV": { - "selectedMV": self.options["gsMV"]["selectedMV"], - "csPath": self.options["gsMV"]["csPath"] + newOptions = { + "defComp": defaultComp, + "defGame": defaultGame, + "defDPreset": defaultDecompPreset, + "forceDefPaths": forceDefaultPaths, + "save_paths": savePaths, + "startFolder": startingFolder, + "theme": theme, + "gsMV": goldSRCModelViewer, + "version": self.curJSONVer + } + if upgradePaths: + pathJSON = open("save/paths.json", "r") + paths = json.load(pathJSON) + pathJSON.close() + goldSRCpath = paths.get("GoldSRC", "") + svenginePath = paths.get("Svengine", "") + newPaths = { + "Snark": { + "compileIn": "", + "compileOut": "", + "decompileIn": "", + "decompileOut": "" }, - "version": 4 + "Other": { + "GoldSRC": goldSRCpath, + "Svengine": svenginePath + } } + newPathJSON = open("save/paths.json", "w") + newJSON = json.dumps(newPaths, sort_keys=True, indent=5) + newPathJSON.write(newJSON) + newPathJSON.close() # Save the JSON data of the new options self.options = newOptions self.save_options() diff --git a/save/options.json b/save/options.json index 353d95d..901ced6 100755 --- a/save/options.json +++ b/save/options.json @@ -7,8 +7,8 @@ "csPath": "", "selectedMV": 0 }, - "save_paths": false, + "save_paths": true, "startFolder": "~/Documents", "theme": "Freeman", - "version": 4 + "version": 5 } \ No newline at end of file diff --git a/save/paths.json b/save/paths.json index 82b538f..44c9cd8 100755 --- a/save/paths.json +++ b/save/paths.json @@ -1,4 +1,12 @@ { - "GoldSRC": "", - "Svengine": "" + "Other": { + "GoldSRC": "", + "Svengine": "" + }, + "Snark": { + "compileIn": "", + "compileOut": "", + "decompileIn": "", + "decompileOut": "" + } } \ No newline at end of file From 0f7e72bbc86498ade249ef0e3b2c7a41cd7d3c0e Mon Sep 17 00:00:00 2001 From: PostScriptReal <149461738+PostScriptReal@users.noreply.github.com> Date: Sun, 27 Jul 2025 16:19:52 +1000 Subject: [PATCH 8/8] Final commit for 0.3.0 - Clicking the help button in the Batch Manager menu will bring up the respective help page for it. - Relative path support for Batch Manager has been removed - Batch Compiling now has the ability to detect errors when compiling any model and gives you the error logs. - Path saving is complete - You can now set the output path without using the file explorer, just like the input box. - Switching between 'File' and 'Folder' in the Decompile/Compile menu will now clear the input to avoid errors. - The 'save paths' option now shows up in the options menu. --- GUI.py | 2 + menus.py | 208 +++++++++++++++++++++++++++++++++++++++++++------------ 2 files changed, 165 insertions(+), 45 deletions(-) diff --git a/GUI.py b/GUI.py index 220ded0..9460452 100644 --- a/GUI.py +++ b/GUI.py @@ -506,6 +506,8 @@ def help(self): browser.open_new('https://github.com/PostScriptReal/Snark_Compiler/wiki/How-to-use-Snark#decompiling') elif not self.optMenu.hidden and self.optMenu.curPage == 1: browser.open_new('https://github.com/PostScriptReal/Snark_Compiler/wiki/How-to-use-Snark#setting-up-hlamhlmv-for-snark') + elif not self.batchMenu.hidden: + browser.open_new('https://github.com/PostScriptReal/Snark_Compiler/wiki/How-to-use-Snark#batch-decompiling-and-compiling') else: browser.open_new('https://github.com/PostScriptReal/Snark_Compiler/wiki') diff --git a/menus.py b/menus.py index 77f9ba2..d100c34 100644 --- a/menus.py +++ b/menus.py @@ -26,6 +26,16 @@ def __init__(self, thme:dict, safeWidth:int): js = open("save/options.json", 'r') self.options = json.loads(js.read()) js.close() + + def setPath(self, key:str="Snark", pathKey:str="", pathVal:str=""): + pathJSON = open("save/paths.json", "r") + paths = json.load(pathJSON) + pathJSON.close() + paths[key][pathKey] = pathVal + newPathJSON = open("save/paths.json", "w") + newPath = json.dumps(paths, indent=5, sort_keys=True) + newPathJSON.write(newPath) + newPathJSON.close() class SetupMenu(): def __init__(self, template, master, updFunc, startHidden:bool=False, allowGUI:bool=True): @@ -569,22 +579,21 @@ def getCPath(self): curMDL = batch[selection[0]] if os.path.isabs(self.cPathVar.get()): curMDL.output = self.cPathVar.get() + if not os.path.exists(self.cPathVar.get()): + os.mkdir(self.cPathVar.get()) else: - fallbackFolder = os.path.dirname(listItems.get(0).mdlLoc) - fallbackOutput = os.path.join(fallbackFolder, fallbackStr) - curMDL.output = os.path.join(outputF, self.cPathVar.get()) + curMDL.output = "out" + self.cPathVar.set("Please specify an ABSOLUTE path!") elif not focus.get(0).startswith("Select a folder of "): mdls = batch[int(selection[0]):selection[len(selection)-1]+1] for i in mdls: if os.path.isabs(self.cPathVar.get()): i.output = self.cPathVar.get() + if not os.path.exists(self.cPathVar.get()): + os.mkdir(self.cPathVar.get()) else: - fallbackFolder = os.path.dirname(listItems.get(0).mdlLoc) - fallbackOutput = os.path.join(fallbackFolder, fallbackStr) - if outputF != "": - i.output = os.path.join(outputF, self.cPathVar.get()) - else: - i.output = os.path.join(fallbackOutput, self.cPathVar.get()) + i.output = "out" + self.cPathVar.set("Please specify an ABSOLUTE path!") def setBatch(self, batch, tab:str): if tab == 'comp': @@ -746,12 +755,16 @@ def __init__(self, template, master, batchManager:BatchManagerM, startHidden:boo thme = template.thme self.thme, self.safeWidth = thme, template.safeWidth self.batchManager = batchManager + self.menuTemp = template if self.safeWidth > 609: n = 2 self.widthFix, self.conFix = self.widthFix-n, self.conFix-n self.quick = Frame(master, borderwidth=2, bg=thme["bg"]) self.advOpt = Frame(master, borderwidth=2, bg=thme["bg"], relief="sunken") self.advOptR2 = Frame(self.advOpt, borderwidth=2, bg=thme["bg"]) + js = open("save/paths.json", 'r') + self.csPaths = json.loads(js.read()) + js.close() # Setting up options self.options = template.options self.presets = { @@ -793,17 +806,28 @@ def __init__(self, template, master, batchManager:BatchManagerM, startHidden:boo self.name = StringVar() self.nameEntry = Entry(master, textvariable=self.name, width=self.widthFix) self.nameEntry.bind("", self.inputHandler) + if self.options["save_paths"]: + self.name.set(self.csPaths["Snark"]["decompileIn"]) tOpts = ["File", "Folder"] self.typeSel = ttk.Combobox(master, values=tOpts, width=7) self.typeSel.set(tOpts[0]) + self.typeSel.bind("<>", self.clearInput) self.out = StringVar() + if self.options["save_paths"]: + self.out.set(self.csPaths["Snark"]["decompileOut"]) + if os.path.isdir(self.csPaths["Snark"]["decompileOut"]): + self.batchManager.decompOutput = self.csPaths["Snark"]["decompileOut"] self.outputEntry = Entry(master, textvariable=self.out, width=self.widthFix) + self.outputEntry.bind("", self.outputHandler) self.mdlBrowse = Button(master, text='Browse', command=self.findMDL, cursor="hand2") self.outBrowse = Button(master, text='Browse', command=self.output, cursor="hand2") self.advOptLabel = Label(self.advOpt, text="Advanced Options") self.decomp = Button(master, text='Decompile', command=self.startDecomp, cursor="hand2") self.hlmv = Button(master, text='Open model in HLMV', command=self.openHLAM, cursor="hand2") self.console = Console(master, 'Start a decompile and the terminal output will appear here!', 0, 5, self.conFix, 12) + if self.options["save_paths"] and os.path.isdir(self.name.get()): + self.typeSel.set(tOpts[1]) + self.getBatch(self.name.get()) # Advanced options self.logVal = BooleanVar(self.advOpt, value=False) self.logChk = Checkbutton(self.advOpt, text="Write log to file", variable=self.logVal, command=self.setLog) @@ -835,6 +859,10 @@ def __init__(self, template, master, batchManager:BatchManagerM, startHidden:boo def setLog(self): self.logOutput = self.logVal.get() + def clearInput(self, e=None): + self.name.set("") + self.menuTemp.setPath(pathKey="decompileIn", pathVal="") + def openHLAM(self): print("Opening model in HLMV") # If "Half-Life Asset Manager" is selected @@ -862,9 +890,16 @@ def openHLAM(self): def inputHandler(self, e=False): self.name.set(self.nameEntry.get()) + if self.options["save_paths"]: + self.menuTemp.setPath(pathKey="decompileIn", pathVal=self.name.get()) if not self.name.get() == "" and self.options["gsMV"]["selectedMV"] > 0: self.hlmv.grid(column=1, row=4, pady=(10,0), sticky="w") + def outputHandler(self, e=False): + self.out.set(self.outputEntry.get()) + if self.options["save_paths"]: + self.menuTemp.setPath(pathKey="decompileOut", pathVal=self.out.get()) + def chPreset(self, e=False): self.presetDat = self.presets["presets"][self.presetSel.get()] self.mVal.set(self.presetDat["-m"]) @@ -975,13 +1010,23 @@ def findMDL(self): userSel = askopenfilename(title="Select MDL", initialdir=startDir, filetypes=fileTypes) if userSel != "": self.name.set(userSel) + if self.options["save_paths"]: + self.menuTemp.setPath("Snark", "decompileIn", userSel) if not self.name.get() == "" and self.options["gsMV"]["selectedMV"] > 0: self.hlmv.grid(column=1, row=4, pady=(10,0), sticky="w") else: userSel = askdirectory(title="Select Folder containing MDL files", initialdir=startDir) if userSel != "": self.name.set(userSel) + newOutput = os.path.join(os.path.dirname(userSel), 'BATCH DECOMPILE/') + if not os.path.exists(newOutput): + os.mkdir(newOutput) + self.out.set(newOutput) + self.batchManager.decompOutput = newOutput self.getBatch(userSel) + if self.options["save_paths"]: + self.menuTemp.setPath("Snark", "decompileIn", userSel) + self.menuTemp.setPath("Snark", "decompileOut", self.out.get()) def clearBatch(self): self.batchManager.clearBatch('decomp') @@ -1010,6 +1055,8 @@ def output(self): if userSel != "": self.out.set(userSel) self.batchManager.decompOutput = userSel + if self.options["save_paths"]: + self.menuTemp.setPath(pathKey="decompileOut", pathVal=userSel) def getArgs(self): args = [] @@ -1151,6 +1198,7 @@ def __init__(self, template, master, batchManager:BatchManagerM, startHidden:boo self.batchManager = batchManager thme = template.thme self.thme, self.safeWidth = thme, template.safeWidth + self.menuTemp = template self.advOptFix = True if self.curFont["family"].lower() == "nimbus sans l" or sys.platform == "win32": self.widthFix = self.widthFix+6 @@ -1184,13 +1232,21 @@ def __init__(self, template, master, batchManager:BatchManagerM, startHidden:boo self.setupLabel = Label(master, text="QC Input: ") self.nameLabel = Label(master, text="Output: ") self.name = StringVar() + if self.options["save_paths"]: + self.name.set(self.csPaths["Snark"]["compileIn"]) self.nameEntry = Entry(master, textvariable=self.name, width=self.widthFix) tOpts = ["File", "Folder"] self.typeSel = ttk.Combobox(master, values=tOpts, width=7) self.typeSel.set(tOpts[0]) + self.typeSel.bind("<>", self.clearInput) self.nameEntry.bind("", self.inputHandler) self.out = StringVar() + if self.options["save_paths"]: + self.out.set(self.csPaths["Snark"]["compileOut"]) + if os.path.isdir(self.csPaths["Snark"]["compileOut"]): + self.batchManager.decompOutput = self.csPaths["Snark"]["compileOut"] self.outputEntry = Entry(master, textvariable=self.out, width=self.widthFix) + self.outputEntry.bind("", self.outputHandler) self.mdlBrowse = Button(master, text='Browse', command=self.findMDL, cursor="hand2") self.outBrowse = Button(master, text='Browse', command=self.output, cursor="hand2") self.compLabel = Label(self.selects, text="Compiler: ") @@ -1273,14 +1329,21 @@ def __init__(self, template, master, batchManager:BatchManagerM, startHidden:boo self.pf2ChkTT = ToolTip(self.pf2Chk, "Forces power of 2 textures when enabled", background=thme["tt"], foreground=thme["txt"]) self.mdlTT = ToolTip(self.mdlBrowse, "REQUIRED, specifies the QC file used to compile your model, you cannot leave this blank.", background=thme["tt"], foreground=thme["txt"]) self.outputTT = ToolTip(self.outBrowse, "OPTIONAL, if an output folder is not specified, then it will place the compiled model in a subfolder of where the QC file is located.", background=thme["tt"], foreground=thme["txt"]) - - # Checking if the default compiler has the engine type Svengine. - self.compilerStuff() self.decomp = Button(master, text='Compile', command=self.startCompile, cursor="hand2") self.console = Console(master, 'Currently no warnings or errors!', 0, 5, self.conFix, 12) + fldrChk = False + if self.options["save_paths"] and os.path.isdir(self.name.get()): + self.typeSel.set(tOpts[1]) + self.getBatch(self.name.get()) + fldrChk = True if not startHidden: self.show() + + # Checking if the default compiler has the engine type Svengine. + self.compilerStuff(isFolder=fldrChk) + + self.batchErrors = [] # Applying theme self.applyTheme(master) @@ -1293,8 +1356,14 @@ def __init__(self, template, master, batchManager:BatchManagerM, startHidden:boo def setLog(self): self.logOutput = self.logVal.get() + def clearInput(self, e=None): + self.name.set("") + self.menuTemp.setPath(pathKey="compileIn", pathVal="") + def inputHandler(self, e=False): self.name.set(self.nameEntry.get()) + if self.options["save_paths"]: + self.menuTemp.setPath(pathKey="compileIn", pathVal=self.name.get()) self.compatChk() mdlPath = os.path.dirname(self.name.get()) mdlPath = os.path.join(mdlPath, "models") @@ -1324,6 +1393,11 @@ def inputHandler(self, e=False): self.mdlPath = os.path.join(mdlPath, f) self.hlmv.grid(column=1, row=4, pady=(10,0), sticky="w") + def outputHandler(self, e=False): + self.out.set(self.outputEntry.get()) + if self.options["save_paths"]: + self.menuTemp.setPath(pathKey="compileOut", pathVal=self.out.get()) + def dashThandler(self): if self.dashTbool.get(): self.dashT.unlock() @@ -1342,7 +1416,7 @@ def groupSBhandler(self): else: self.groupSB.lock() - def compilerStuff(self, event=None): + def compilerStuff(self, event=None, isFolder:bool=False): self.compJS = self.fullCJS["compilers"][self.compSel.get()] if self.compJS["type"].lower() == "svengine": self.svengine = True @@ -1358,7 +1432,10 @@ def compilerStuff(self, event=None): self.pf2Chk.grid(column=1, row=2, sticky="w") else: self.pf2Chk.grid(column=5, row=2, sticky="w") - self.compatChk() + if isFolder: + self.compatChk(enabled=False) + else: + self.compatChk() def openHLAM(self): # If "Half-Life Asset Manager" is selected @@ -1542,6 +1619,8 @@ def findMDL(self): self.name.set(userSel) self.compatChk() self.clearBatch() + if self.options["save_paths"]: + self.menuTemp.setPath(pathKey="compileIn", pathVal=userSel) mdlPath = os.path.dirname(self.name.get()) mdlPath = os.path.join(mdlPath, "models") if os.path.exists(mdlPath) and self.options["gsMV"]["selectedMV"] > 0: @@ -1575,8 +1654,16 @@ def findMDL(self): userSel = askdirectory(title="Select Folder containing your models", initialdir=startDir) if userSel != "": self.name.set(userSel) + newOutput = os.path.join(os.path.dirname(userSel), 'BATCH COMPILE/') + if not os.path.exists(newOutput): + os.mkdir(newOutput) + self.out.set(newOutput) + self.batchManager.compOutput = newOutput self.compatChk(enabled=False) self.getBatch(userSel) + if self.options["save_paths"]: + self.menuTemp.setPath(pathKey="compileIn", pathVal=userSel) + self.menuTemp.setPath("Snark", "compileOut", self.out.get()) def clearBatch(self): self.batchManager.clearBatch('comp') @@ -1670,7 +1757,9 @@ def output(self): userDir = askdirectory(title="Select Output Folder", initialdir=startDir) if userDir != "": self.out.set(userDir) - self.batchManager.compOutput = userSel + self.batchManager.compOutput = userDir + if self.options["save_paths"]: + self.menuTemp.setPath(pathKey="compileOut", pathVal=userDir) def getCompilerOptions(self): self.boolVars = [] @@ -1731,6 +1820,7 @@ def startCompile(self): if self.typeSel.get() == "File": self.singleComp(self.name.get(), self.out.get(), SINGLE) else: + self.batchErrors = [] mdls = self.batchManager.getBatch('comp') fallbackFolder = os.path.dirname(mdls[0].qcLoc) # fallbackOutput = os.path.join(fallbackFolder, "BATCH COMPILE") @@ -1739,22 +1829,25 @@ def startCompile(self): continue if m.output == "out": if not self.out.get() == "" or not self.out.get() == None: - self.singleComp(m.qcLoc, self.out.get(), BATCH) + self.singleComp(m.qcLoc, self.out.get(), BATCH, m.name) else: - self.singleComp(m.qcLoc, fallbackOutput, BATCH) + self.singleComp(m.qcLoc, fallbackOutput, BATCH, m.name) else: - self.singleComp(m.mdlLoc, m.output, BATCH) + self.singleComp(m.mdlLoc, m.output, BATCH, m.name) consoleOutput = "All models have been compiled!" if self.out.get() == "" or self.out.get() == None: consoleOutput = f"All models have been compiled!\nSince you did not specify an output folder, all the models that were set to be placed there are now somewhere else\nYou can find them in \'{fallbackOutput}\'" + if len(self.batchErrors) > 0: + consoleOutput = f"Some models were not compiled due to an error\nThese are {', '.join(self.batchErrors)}.\nPlease check the logs folder for details!" self.console.setOutput(consoleOutput) - def singleComp(self, mdl:str, out:str, batch:bool): + def singleComp(self, mdl:str, out:str, batch:bool, mdlName:str=""): mdl = mdl output = out tOutput = '' compilerPath = '' compilerFound = False + error = False forceDefault = self.options["forceDefPaths"] try: if forceDefault: @@ -1818,8 +1911,8 @@ def singleComp(self, mdl:str, out:str, batch:bool): else: self.console.setOutput("ERROR: Couldn't find compiler, have you installed it?") if compilerFound: + # print(tOutput) if not batch: - print(tOutput) self.console.setOutput(tOutput) # Removing temporary QC file used to compile model when the QC file supplied had used relative pathing if qcRelChk.cbarFrmt: @@ -1827,32 +1920,43 @@ def singleComp(self, mdl:str, out:str, batch:bool): if self.logVal.get(): date = datetime.datetime.now() curDate = f"{date.strftime('%d')}-{date.strftime('%m')}-{date.strftime('%Y')}-{date.strftime('%H')}-{date.strftime('%M')}-{date.strftime('%S')}" - log = open(f"logs/compile-{curDate}.txt", 'w') + if not batch: + log = open(f"logs/compile-{curDate}.txt", 'w') + log.write(tOutput) + log.close() + if batch and tOutput.find('ERROR'): + self.batchErrors.append(mdlName) + date = datetime.datetime.now() + curDate = f"{date.strftime('%d')}-{date.strftime('%m')}-{date.strftime('%Y')}-{date.strftime('%H')}-{date.strftime('%M')}-{date.strftime('%S')}" + log = open(f"logs/batchCompile-{mdlName}-{curDate}.txt", 'w') log.write(tOutput) log.close() + error = True # Moving the compiled MDL file to the output folder - print(output) - mdlFolder = "" - if output == "" or output == None: - mdlFolder = qcRelChk.qcLoc - mdlFolder = os.path.join(mdlFolder, "models/")\ - # If there is no models folder, make one! - if not os.path.exists(mdlFolder): - os.mkdir(mdlFolder) - else: - mdlFolder = output - mdlF = qcRelChk.getMDLname() - self.mdlPath = os.path.join(mdlFolder, mdlF) - if not self.mdlPath == "" and self.options["gsMV"]["selectedMV"] > 0: - self.hlmv.grid(column=1, row=4, pady=(10,0), sticky="w") - # I'm doing this instead of directly copying the mdl file because depending on the options used (e.g. $externaltextures), - # the compiler will output more than one .mdl file which is needed in order for the compiled model to work. - # If you are using $externaltextures, the compiler will output a (mdlname).mdl file and (mdlname)T.mdl file, - # both of them are needed as one has the textures for the model and the other contains the model itself. - for f in os.listdir(os.getcwd()): - if f.find(".mdl") != -1: - shutil.copy(f, os.path.join(mdlFolder, f)) - os.remove(os.path.join(os.getcwd(), f)) + if not error: + mdlFolder = "" + if output == "" or output == None: + mdlFolder = qcRelChk.qcLoc + mdlFolder = os.path.join(mdlFolder, "models/")\ + # If there is no models folder, make one! + if not os.path.exists(mdlFolder): + os.mkdir(mdlFolder) + else: + mdlFolder = output + if not os.path.exists(mdlFolder): + os.mkdir(mdlFolder) + mdlF = qcRelChk.getMDLname() + self.mdlPath = os.path.join(mdlFolder, mdlF) + if not self.mdlPath == "" and self.options["gsMV"]["selectedMV"] > 0: + self.hlmv.grid(column=1, row=4, pady=(10,0), sticky="w") + # I'm doing this instead of directly copying the mdl file because depending on the options used (e.g. $externaltextures), + # the compiler will output more than one .mdl file which is needed in order for the compiled model to work. + # If you are using $externaltextures, the compiler will output a (mdlname).mdl file and (mdlname)T.mdl file, + # both of them are needed as one has the textures for the model and the other contains the model itself. + for f in os.listdir(os.getcwd()): + if f.find(".mdl") != -1: + shutil.copy(f, os.path.join(mdlFolder, f)) + os.remove(os.path.join(os.getcwd(), f)) class AboutMenu(): def __init__(self, template, master, startHidden:bool=False): @@ -2052,8 +2156,9 @@ def __init__(self, template, master, thmecallback, updFunc, startHidden:bool=Fal self.presetSel.current(self.options["defDPreset"]) self.presetDat = self.presets["presets"][self.presetSel.get()] self.presetSel.bind("<>", self.setDP) - self.spLabel = Label(master, text="Save paths") - self.forceDefault = Checkbutton(master, command=self.chFDP, variable=self.forceDefB) + self.spLabel = Label(master, text="Save paths: ") + self.savePathsB = BooleanVar(master, value=self.options["save_paths"]) + self.savePathsCB = Checkbutton(master, command=self.chSP, variable=self.savePathsB) # Checking if anything is exceeding the width of the "safe zone" """self.show() self.checkWidth() @@ -2065,6 +2170,7 @@ def __init__(self, template, master, thmecallback, updFunc, startHidden:bool=Fal self.forceDefTT = ToolTip(self.forceDefault, "By default, Snark prioritises the custom path you set over the default paths for compilers, enabling this will prioritise the default paths instead, meaning that Snark won't use the custom path if it finds the compiler in its default path.", background=thme["tt"], foreground=thme["txt"]) self.hlmvTT = ToolTip(self.hlmvCBox, "Sets the model viewer you want to use when clicking the \"Open model in HLMV\" button, if this is set to None, the button will not show up!", background=thme["tt"], foreground=thme["txt"]) self.setMVPtt = ToolTip(self.setMVP, "Sets the path to the model viewer you want to use if you select \"Other\"", background=thme["tt"], foreground=thme["txt"]) + self.savePathsTT = ToolTip(self.savePathsCB, "Disabling this will make Snark go back to its old behaviour of not keeping the paths you set in the previous session. If you have high read/write speeds (above 30-40 MB/s), it's recommended that you leave this on, otherwise, turn it off.", background=thme["tt"], foreground=thme["txt"]) if not startHidden: self.show() @@ -2149,6 +2255,8 @@ def genPg(self): self.defPLabel.grid(column=1, row=6, sticky="w") self.gameSel.grid(column=2, row=5, sticky="w") self.presetSel.grid(column=2, row=6, sticky="w") + self.spLabel.grid(column=1, row=7, sticky="w") + self.savePathsCB.grid(column=2, row=7, sticky="w") self.hlmvLabel.grid_remove() self.hlmvCBox.grid_remove() self.mvPathLabel.grid_remove() @@ -2170,6 +2278,8 @@ def hlmvPg(self): self.defPLabel.grid_remove() self.gameSel.grid_remove() self.presetSel.grid_remove() + self.spLabel.grid_remove() + self.savePathsCB.grid_remove() self.hlmvLabel.grid(column=1, row=1, sticky="w") self.hlmvCBox.grid(column=2, row=1, sticky="w") self.mvPathLabel.grid(column=1, row=2, sticky="w") @@ -2218,6 +2328,7 @@ def changeTheme(self, newTheme): self.forceDefTT.changeTheme(newTheme["tt"], newTheme["txt"]) self.hlmvTT.changeTheme(newTheme["tt"], newTheme["txt"]) self.setMVPtt.changeTheme(newTheme["tt"], newTheme["txt"]) + self.savePathsTT.changeTheme(newTheme["tt"], newTheme["txt"]) def chSF(self): path = askdirectory(title="Set starting directory for this file explorer") @@ -2291,6 +2402,11 @@ def chFDP(self): self.options["forceDefPaths"] = self.forceDefB.get() self.save_options() self.updFunc("forceDefPaths", self.forceDefB.get()) + + def chSP(self): + self.options["save_paths"] = self.savePathsB.get() + self.save_options() + self.updFunc("save_paths", self.savePathsB.get()) def save_options(self): @@ -2328,6 +2444,8 @@ def show(self): self.defPLabel.grid(column=1, row=6, sticky="w") self.gameSel.grid(column=2, row=5, sticky="w") self.presetSel.grid(column=2, row=6, sticky="w") + self.spLabel.grid(column=1, row=7, sticky="w") + self.savePathsCB.grid(column=2, row=7, sticky="w") elif self.curPage == 1: self.hlmvLabel.grid(column=1, row=1, sticky="w") self.hlmvCBox.grid(column=2, row=1, sticky="w")