From 045d06bdbad83b55dfd441a9a6d2a9ac5375cd22 Mon Sep 17 00:00:00 2001 From: Joey Payne Date: Mon, 8 Feb 2016 13:16:29 -0700 Subject: [PATCH 01/11] Fixed 'Electrifycutable' names --- Electrify.nsi | 6 +++--- README.md | 2 +- build_mac.bash | 26 +++++++++++++------------- 3 files changed, 17 insertions(+), 17 deletions(-) diff --git a/Electrify.nsi b/Electrify.nsi index ef64a0c..5fb14f0 100644 --- a/Electrify.nsi +++ b/Electrify.nsi @@ -74,14 +74,14 @@ InstallDirRegKey HKLM "${PRODUCT_DIR_REGKEY}" "" ShowInstDetails show ShowUnInstDetails show -Section "Electrifycutable" SEC01 +Section "Electrify" SEC01 SectionIn RO SetOutPath "$INSTDIR" SetOverwrite try File /r /x compressors "ElectrifyWin\" - CreateDirectory "$LocalAppData\Electrifycutable\Electrifycutable\files\compressors" - SetOutPath "$LocalAppData\Electrifycutable\Electrifycutable\files\compressors" + CreateDirectory "$LocalAppData\Electrify\Electrify\files\compressors" + SetOutPath "$LocalAppData\Electrify\Electrify\files\compressors" File "ElectrifyWin\files\compressors\upx-win.exe" ; Shortcuts diff --git a/README.md b/README.md index b307a5d..f74ccdc 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ Electrify What is it? ----------- -From the creator of [Web2Executable](https://github.com/jyapayne/Electrifycutable) comes Electrify, another friendly command line and GUI application that can transform your Nodejs (or any other JS/HTML) app into a standalone executable. The difference is that it is now powered by [Electron](https://github.com/atom/electron) instead of NW.js. It can export to Mac OS X, Windows and Linux all from one platform, so no need to go out and buy expensive hardware. +From the creator of [Web2Executable](https://github.com/jyapayne/Web2Executable) comes Electrify, another friendly command line and GUI application that can transform your Nodejs (or any other JS/HTML) app into a standalone executable. The difference is that it is now powered by [Electron](https://github.com/atom/electron) instead of NW.js. It can export to Mac OS X, Windows and Linux all from one platform, so no need to go out and buy expensive hardware. It's powered by the very awesome project [Electron](https://github.com/atom/electron) and PySide, is open source, and is just dang awesome and easy to use. diff --git a/build_mac.bash b/build_mac.bash index a786fcf..69f69ee 100755 --- a/build_mac.bash +++ b/build_mac.bash @@ -7,28 +7,28 @@ rm -rf ElectrifyMac-CMD/files pyinstaller --hidden-import PIL.Jpeg2KImagePlugin --hidden-import configobj --hidden-import pkg_resources --distpath ElectrifyMac-CMD --onefile -n electrify-mac command_line.py cp -rf files ElectrifyMac-CMD/files/ -rm -rf build dist Electrifycutable.app +rm -rf build dist Electrify.app #sudo python build_mac_setup.py py2app --iconfile icon.icns -pyinstaller -w --hidden-import PIL.Jpeg2KImagePlugin --hidden-import PyQt4 --hidden-import PIL --hidden-import configobj --hidden-import pkg_resources --distpath ElectrifyMac --onefile -n Electrifycutable main.py +pyinstaller -w --hidden-import PIL.Jpeg2KImagePlugin --hidden-import PyQt4 --hidden-import PIL --hidden-import configobj --hidden-import pkg_resources --distpath ElectrifyMac --onefile -n Electrify main.py -#sudo chown -R joey dist/Electrifycutable.app +#sudo chown -R joey dist/Electrify.app #sudo chown -R joey dist/ build/ -#mv dist/Electrifycutable.app Electrifycutable.app +#mv dist/Electrify.app Electrify.app -mv ElectrifyMac/Electrifycutable.app . +mv ElectrifyMac/Electrify.app . -#rm -rf Electrifycutable.app/Contents/Frameworks/QtDesigner* -#rm -rf Electrifycutable.app/Contents/Frameworks/QtXml* -#rm -rf Electrifycutable.app/Contents/Frameworks/QtWebKit* -#rm -rf Electrifycutable.app/Contents/Frameworks/QtScript* +#rm -rf Electrify.app/Contents/Frameworks/QtDesigner* +#rm -rf Electrify.app/Contents/Frameworks/QtXml* +#rm -rf Electrify.app/Contents/Frameworks/QtWebKit* +#rm -rf Electrify.app/Contents/Frameworks/QtScript* -cp icon.icns Electrifycutable.app/Contents/Resources/icon-windowed.icns -cp -rf files Electrifycutable.app/Contents/MacOS/ +cp icon.icns Electrify.app/Contents/Resources/icon-windowed.icns +cp -rf files Electrify.app/Contents/MacOS/ rm -rf build dist /Applications/Keka.app/Contents/Resources/keka7z a -r ElectrifyMac-CMD.zip ElectrifyMac-CMD -/Applications/Keka.app/Contents/Resources/keka7z a -r ElectrifyMac-${VERSION}.zip Electrifycutable.app +/Applications/Keka.app/Contents/Resources/keka7z a -r ElectrifyMac-${VERSION}.zip Electrify.app -python upload_release.py +python3.4 upload_release.py From a7395cce2baa9c053dfd59f294eddcf3579cfe27 Mon Sep 17 00:00:00 2001 From: Joey Payne Date: Mon, 8 Feb 2016 13:28:21 -0700 Subject: [PATCH 02/11] Fixed linux build from being too large. --- build_command_line_linux.bash | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build_command_line_linux.bash b/build_command_line_linux.bash index 7c0c98c..ad32a2c 100755 --- a/build_command_line_linux.bash +++ b/build_command_line_linux.bash @@ -4,13 +4,13 @@ rm -rf ElectrifyLinux-CMD VERSION=$(cat files/version.txt) -pyinstaller --onefile --hidden-import PIL.Jpeg2KImagePlugin --hidden-import pkg_resources --hidden-import PIL._imaging --hidden-import configobj --distpath ElectrifyLinux-CMD -n electrify-linux command_line.py +pyinstaller --onefile --exclude-module PyQt5 --exclude-module PyQt4 --hidden-import PIL.Jpeg2KImagePlugin --hidden-import pkg_resources --hidden-import PIL._imaging --hidden-import configobj --distpath ElectrifyLinux-CMD -n electrify-linux command_line.py cp -rf files ElectrifyLinux-CMD/files rm -rf ElectrifyLinux-CMD/files/downloads/* rm ElectrifyLinux-CMD/files/error.log ElectrifyLinux-CMD/files/last_project_path.txt ElectrifyLinux-CMD/files/recent_files.txt ElectrifyLinux-CMD/files/compressors/upx-mac ElectrifyLinux-CMD/files/compressors/upx-win.exe rm -rf ElectrifyLinux -pyinstaller -F --hidden-import PIL.Jpeg2KImagePlugin --hidden-import configobj --hidden-import PIL._imaging --hidden-import pkg_resources -n electrify --distpath ElectrifyLinux main.py +pyinstaller -F --exclude-module PyQt5 --exclude-module PyQt4 --hidden-import PIL.Jpeg2KImagePlugin --hidden-import configobj --hidden-import PIL._imaging --hidden-import pkg_resources -n electrify --distpath ElectrifyLinux main.py cp -rf files ElectrifyLinux/files rm -rf ElectrifyLinux/files/downloads/* rm ElectrifyLinux/files/error.log ElectrifyLinux/files/last_project_path.txt ElectrifyLinux/files/recent_files.txt ElectrifyLinux/files/compressors/upx-mac ElectrifyLinux/files/compressors/upx-win.exe From 3a053fe76aabf13812acbd94221a8455c656e6de Mon Sep 17 00:00:00 2001 From: Joey Payne Date: Mon, 8 Feb 2016 17:30:04 -0700 Subject: [PATCH 03/11] Fixed icns importing. --- command_line.py | 4 ++-- icns_info.py | 45 +++++++++++++++++++++++---------------------- main.py | 3 ++- 3 files changed, 27 insertions(+), 25 deletions(-) diff --git a/command_line.py b/command_line.py index ad64ca2..5195edc 100644 --- a/command_line.py +++ b/command_line.py @@ -685,14 +685,14 @@ class CommandBase(object): inject_start_file = utils.path_join(self.project_dir(), inject_start_file) - if os.path.exists(inject_start_file): + if os.path.isfile(inject_start_file): inject_js_start = codecs.open(inject_start_file, encoding='utf-8').read() inject_end_file = self.get_setting('inject_js_end').value inject_end_file = utils.path_join(self.project_dir(), inject_end_file) - if os.path.exists(inject_end_file): + if os.path.isfile(inject_end_file): inject_js_end = codecs.open(inject_end_file, encoding='utf-8').read() main_html = self.get_setting('main_html') diff --git a/icns_info.py b/icns_info.py index dcc1ba9..a2ff530 100644 --- a/icns_info.py +++ b/icns_info.py @@ -581,7 +581,7 @@ def get_mask_type_for_icon_type(icon_type): def to_bytes(n, length, endianess='big'): h = '%x' % n - s = ('0'*(len(h) % 2) + h).zfill(length*2).decode('hex') + s = bytes.fromhex(('0'*(len(h) % 2) + h).zfill(length*2)) return s if endianess == 'big' else s[::-1] @@ -601,7 +601,7 @@ def type_to_str(type): s.append(type >> 8 & 0xff) s.append(type & 0xff) s.append(0) - return str(s) + return bytes(s) class Printable(object): def _attrs(self): @@ -953,8 +953,8 @@ class ICNSInfo(Printable): print('Unable to parse icon type {}'.format(type_to_str(type))) icon_info.iconType = ICNS_NULL_TYPE - icon_info.iconRawDataSize = icon_info.iconSize.height * icon_info.iconSize.width * icon_info.iconBitDepth/ICNS_BYTE_BITS - icon_info.data = bytearray(icon_info.iconRawDataSize) + icon_info.iconRawDataSize = int(icon_info.iconSize.height * icon_info.iconSize.width * icon_info.iconBitDepth/ICNS_BYTE_BITS) + icon_info.data = bytearray(int(icon_info.iconRawDataSize)) return icon_info @@ -999,12 +999,12 @@ class ICNSHeader(Structure): icns_info = ICNSInfo() icns_info.isImage = 1 - icns_info.iconSize.width = icon_size - icns_info.iconSize.height = icon_size + icns_info.iconSize.width = int(icon_size) + icns_info.iconSize.height = int(icon_size) icns_info.iconBitDepth = bpp icns_info.iconChannels = 4 if bpp == 32 else 1 - icns_info.iconPixelDepth = bpp / icns_info.iconChannels - icns_info.iconRawDataSize = width * height * 4 + icns_info.iconPixelDepth = int(bpp / icns_info.iconChannels) + icns_info.iconRawDataSize = int(width * height * 4) icns_info.data = bytearray(list(data)) icon_type = icns_info.get_image_type() @@ -1101,12 +1101,12 @@ class ICNSElement(Structure): icns_info = ICNSInfo() icns_info.isImage = 1 - icns_info.iconSize.width = width - icns_info.iconSize.height = height + icns_info.iconSize.width = int(width) + icns_info.iconSize.height = int(height) icns_info.iconBitDepth = bpp icns_info.iconChannels = 4 if bpp == 32 else 1 - icns_info.iconPixelDepth = bpp / icns_info.iconChannels - icns_info.iconRawDataSize = width * height * 4 + icns_info.iconPixelDepth = int(bpp / icns_info.iconChannels) + icns_info.iconRawDataSize = int(width * height * 4) icns_info.data = bytearray(list(png_data)) else: image = Image.open(BytesIO(data)) @@ -1118,12 +1118,12 @@ class ICNSElement(Structure): icns_info = ICNSInfo() icns_info.isImage = 1 - icns_info.iconSize.width = image.size[0] - icns_info.iconSize.height = image.size[1] + icns_info.iconSize.width = int(image.size[0]) + icns_info.iconSize.height = int(image.size[1]) icns_info.iconBitDepth = bpp icns_info.iconChannels = 4 if bpp == 32 else 1 - icns_info.iconPixelDepth = bpp / icns_info.iconChannels - icns_info.iconRawDataSize = image.size[0] * image.size[1] * 4 + icns_info.iconPixelDepth = int(bpp / icns_info.iconChannels) + icns_info.iconRawDataSize = int(image.size[0] * image.size[1] * 4) icns_info.data = png_data else: @@ -1185,7 +1185,7 @@ class ICNSElement(Structure): icns_info = ICNSInfo.from_type(mask_type) mask_bit_depth = icns_info.iconSize.width * icns_info.iconSize.height mask_data_size = icns_info.iconRawDataSize - mask_data_row_size = icns_info.iconSize.width * mask_bit_depth / ICNS_BYTE_BITS + mask_data_row_size = int(icns_info.iconSize.width * mask_bit_depth / ICNS_BYTE_BITS) if mask_type in [ICNS_128x128_8BIT_MASK, ICNS_48x48_8BIT_MASK, @@ -1193,7 +1193,7 @@ class ICNSElement(Structure): ICNS_16x16_8BIT_MASK]: data_count = 0 while data_count < icns_info.iconSize.height: - data_pos = data_count * mask_data_row_size + data_pos = int(data_count * mask_data_row_size) icns_info.data[data_pos:data_pos+mask_data_row_size] = data[data_pos:data_pos+mask_data_row_size] data_count += 1 @@ -1280,7 +1280,7 @@ def get_image_with_mask(icns_data, element_type): new_data_size = new_block_size * icns_image.iconSize.height old_data = icns_image.data - new_data = bytearray(new_data_size) + new_data = bytearray(int(new_data_size)) data_count = 0 @@ -1329,7 +1329,7 @@ def get_image_with_mask(icns_data, element_type): icns_image.iconPixelDepth = 8 icns_image.iconChannels = 4 - icns_image.iconRawDataSize = new_data_size + icns_image.iconRawDataSize = int(new_data_size) icns_image.data = new_data if mask_type in [ICNS_128x128_8BIT_MASK, @@ -1356,7 +1356,8 @@ def get_image_with_mask(icns_data, element_type): color_index = 0xFF if (data_value & 0x80) else 0x00 data_value = data_value << 1 icns_image.data[pixel_id*4+3] = color_index - im = Image.frombytes('RGBA', [icns_image.iconSize.width,icns_image.iconSize.height],str(icns_image.data)) + im = Image.frombytes('RGBA', [icns_image.iconSize.width,icns_image.iconSize.height], bytes(icns_image.data)) + #print(icns_image.data) output = BytesIO() im.save(output, format='PNG') icns_image.data = bytearray(output.getvalue()) @@ -1398,7 +1399,7 @@ def extract_icons(all_icns_data): image_count += 1 image_data = get_image_with_mask(icns_data, element.TypeID) - image_data.data = str(image_data.data) + image_data.data = bytes(image_data.data) data.append(image_data) offset += element.Size diff --git a/main.py b/main.py index 5189c9d..5a95446 100644 --- a/main.py +++ b/main.py @@ -863,7 +863,8 @@ class MainWindow(QtGui.QMainWindow, CommandBase): if icon_path.endswith('.icns'): pngs = pngs_from_icns(icon_path) if pngs: - image = QtGui.QImage.fromData(QtCore.QByteArray(pngs[-1].data), 'PNG') + ba = QtCore.QByteArray(pngs[-1].data) + image = QtGui.QImage.fromData(ba, 'PNG') else: return else: From b6971c5df65cacb4034a2c12d2ba2747c8173767 Mon Sep 17 00:00:00 2001 From: Joey Payne Date: Tue, 9 Feb 2016 08:04:33 -0700 Subject: [PATCH 04/11] Fixed icns parsing issue with large PNG data. --- icns_info.py | 169 +++++++++++++++++++++++++-------------------------- 1 file changed, 84 insertions(+), 85 deletions(-) diff --git a/icns_info.py b/icns_info.py index a2ff530..b4f0776 100644 --- a/icns_info.py +++ b/icns_info.py @@ -1107,7 +1107,7 @@ class ICNSElement(Structure): icns_info.iconChannels = 4 if bpp == 32 else 1 icns_info.iconPixelDepth = int(bpp / icns_info.iconChannels) icns_info.iconRawDataSize = int(width * height * 4) - icns_info.data = bytearray(list(png_data)) + icns_info.data = bytes(png_data) else: image = Image.open(BytesIO(data)) mode_to_bpp = {'1':1, 'L':8, 'P':8, 'RGB':24, 'RGBA':32, 'CMYK':32, 'YCbCr':24, 'I':32, 'F':32} @@ -1124,7 +1124,7 @@ class ICNSElement(Structure): icns_info.iconChannels = 4 if bpp == 32 else 1 icns_info.iconPixelDepth = int(bpp / icns_info.iconChannels) icns_info.iconRawDataSize = int(image.size[0] * image.size[1] * 4) - icns_info.data = png_data + icns_info.data = bytes(png_data) else: icns_info = ICNSInfo.from_type(icon_type) @@ -1173,7 +1173,7 @@ class ICNSElement(Structure): data_pos = data_count * icon_data_row_size icns_info.data[data_pos:data_pos+icon_data_row_size] = data[data_pos:data_pos+icon_data_row_size] data_count += 1 - + return icns_info def get_mask(self): @@ -1264,103 +1264,102 @@ def icns_parse_family_data(icns_data): def get_image_with_mask(icns_data, element_type): element = ICNSElement.from_family(icns_data, element_type) icns_image = element.get_image() - if element_type in [ICNS_256x256_32BIT_ARGB_DATA, - ICNS_512x512_32BIT_ARGB_DATA, - ICNS_1024x1024_32BIT_ARGB_DATA]: - return icns_image - mask_type = get_mask_type_for_icon_type(element_type) - mask_element = ICNSElement.from_family(icns_data, mask_type) - mask_image = mask_element.get_mask() + if element_type not in [ICNS_256x256_32BIT_ARGB_DATA, + ICNS_512x512_32BIT_ARGB_DATA, + ICNS_1024x1024_32BIT_ARGB_DATA]: + mask_type = get_mask_type_for_icon_type(element_type) + mask_element = ICNSElement.from_family(icns_data, mask_type) + mask_image = mask_element.get_mask() - old_bit_depth = icns_image.iconPixelDepth * icns_image.iconChannels - if old_bit_depth < 32: old_bit_depth = icns_image.iconPixelDepth * icns_image.iconChannels - pixel_count = icns_image.iconSize.width * icns_image.iconSize.height - new_block_size = icns_image.iconSize.width * 32 - new_data_size = new_block_size * icns_image.iconSize.height + if old_bit_depth < 32: + old_bit_depth = icns_image.iconPixelDepth * icns_image.iconChannels + pixel_count = icns_image.iconSize.width * icns_image.iconSize.height + new_block_size = icns_image.iconSize.width * 32 + new_data_size = new_block_size * icns_image.iconSize.height - old_data = icns_image.data - new_data = bytearray(int(new_data_size)) + old_data = icns_image.data + new_data = bytearray(int(new_data_size)) - data_count = 0 + data_count = 0 - if element_type in [ICNS_48x48_8BIT_DATA, - ICNS_32x32_8BIT_DATA, - ICNS_16x16_8BIT_DATA, - ICNS_16x12_8BIT_DATA]: - for pixel_id in range(pixel_count): - color_index = old_data[data_count] - color_rgb = icns_colormap_8[color_index] - new_data[pixel_id*4+0] = color_rgb[0] - new_data[pixel_id*4+1] = color_rgb[1] - new_data[pixel_id*4+2] = color_rgb[2] - new_data[pixel_id*4+3] = 0xFF - data_count += 1 - elif element_type in [ICNS_48x48_4BIT_DATA, - ICNS_32x32_4BIT_DATA, - ICNS_16x16_4BIT_DATA, - ICNS_16x12_4BIT_DATA]: - data_value = 0 - for pixel_id in range(pixel_count): - if (pixel_id % 2) == 0: - data_value = old_data[data_count] + if element_type in [ICNS_48x48_8BIT_DATA, + ICNS_32x32_8BIT_DATA, + ICNS_16x16_8BIT_DATA, + ICNS_16x12_8BIT_DATA]: + for pixel_id in range(pixel_count): + color_index = old_data[data_count] + color_rgb = icns_colormap_8[color_index] + new_data[pixel_id*4+0] = color_rgb[0] + new_data[pixel_id*4+1] = color_rgb[1] + new_data[pixel_id*4+2] = color_rgb[2] + new_data[pixel_id*4+3] = 0xFF data_count += 1 - color_index = (data_value & 0xF0) >> 4 - color_rgb = icns_colormap_4[color_index] - new_data[pixel_id*4+0] = color_rgb[0] - new_data[pixel_id*4+1] = color_rgb[1] - new_data[pixel_id*4+2] = color_rgb[2] - new_data[pixel_id*4+3] = 0xFF - elif element_type in [ICNS_48x48_1BIT_DATA, - ICNS_32x32_1BIT_DATA, - ICNS_16x16_1BIT_DATA, - ICNS_16x12_1BIT_DATA]: + elif element_type in [ICNS_48x48_4BIT_DATA, + ICNS_32x32_4BIT_DATA, + ICNS_16x16_4BIT_DATA, + ICNS_16x12_4BIT_DATA]: + data_value = 0 + for pixel_id in range(pixel_count): + if (pixel_id % 2) == 0: + data_value = old_data[data_count] + data_count += 1 + color_index = (data_value & 0xF0) >> 4 + color_rgb = icns_colormap_4[color_index] + new_data[pixel_id*4+0] = color_rgb[0] + new_data[pixel_id*4+1] = color_rgb[1] + new_data[pixel_id*4+2] = color_rgb[2] + new_data[pixel_id*4+3] = 0xFF + elif element_type in [ICNS_48x48_1BIT_DATA, + ICNS_32x32_1BIT_DATA, + ICNS_16x16_1BIT_DATA, + ICNS_16x12_1BIT_DATA]: + data_value = 0 + for pixel_id in range(pixel_count): + if (pixel_id % 8) == 0: + data_value = old_data[data_count] + data_count += 1 + color_index = 0x00 if (data_value & 0x80) else 0xFF + data_value = data_value << 1 + new_data[pixel_id*4+0] = color_index + new_data[pixel_id*4+1] = color_index + new_data[pixel_id*4+2] = color_index + new_data[pixel_id*4+3] = 0xFF + + icns_image.iconPixelDepth = 8 + icns_image.iconChannels = 4 + icns_image.iconRawDataSize = int(new_data_size) + icns_image.data = new_data + + if mask_type in [ICNS_128x128_8BIT_MASK, + ICNS_48x48_8BIT_MASK, + ICNS_32x32_8BIT_MASK, + ICNS_16x16_8BIT_MASK]: + pixel_count = mask_image.iconSize.width * mask_image.iconSize.height + data_count = 0 + for pixel_id in range(pixel_count): + icns_image.data[pixel_id*4+3] = mask_image.data[data_count] + data_count += 1 + + elif mask_type in [ICNS_48x48_1BIT_MASK, + ICNS_32x32_1BIT_MASK, + ICNS_16x16_1BIT_MASK, + ICNS_16x12_1BIT_MASK]: + pixel_count = mask_image.iconSize.width * mask_image.iconSize.height + data_count = 0 data_value = 0 for pixel_id in range(pixel_count): if (pixel_id % 8) == 0: - data_value = old_data[data_count] + data_value = mask_image.data[data_count] data_count += 1 - color_index = 0x00 if (data_value & 0x80) else 0xFF + color_index = 0xFF if (data_value & 0x80) else 0x00 data_value = data_value << 1 - new_data[pixel_id*4+0] = color_index - new_data[pixel_id*4+1] = color_index - new_data[pixel_id*4+2] = color_index - new_data[pixel_id*4+3] = 0xFF + icns_image.data[pixel_id*4+3] = color_index - icns_image.iconPixelDepth = 8 - icns_image.iconChannels = 4 - icns_image.iconRawDataSize = int(new_data_size) - icns_image.data = new_data - - if mask_type in [ICNS_128x128_8BIT_MASK, - ICNS_48x48_8BIT_MASK, - ICNS_32x32_8BIT_MASK, - ICNS_16x16_8BIT_MASK]: - pixel_count = mask_image.iconSize.width * mask_image.iconSize.height - data_count = 0 - for pixel_id in range(pixel_count): - icns_image.data[pixel_id*4+3] = mask_image.data[data_count] - data_count += 1 - - elif mask_type in [ICNS_48x48_1BIT_MASK, - ICNS_32x32_1BIT_MASK, - ICNS_16x16_1BIT_MASK, - ICNS_16x12_1BIT_MASK]: - pixel_count = mask_image.iconSize.width * mask_image.iconSize.height - data_count = 0 - data_value = 0 - for pixel_id in range(pixel_count): - if (pixel_id % 8) == 0: - data_value = mask_image.data[data_count] - data_count += 1 - color_index = 0xFF if (data_value & 0x80) else 0x00 - data_value = data_value << 1 - icns_image.data[pixel_id*4+3] = color_index im = Image.frombytes('RGBA', [icns_image.iconSize.width,icns_image.iconSize.height], bytes(icns_image.data)) - #print(icns_image.data) output = BytesIO() im.save(output, format='PNG') - icns_image.data = bytearray(output.getvalue()) + icns_image.data = bytes(output.getvalue()) return icns_image From e02e236ebc0b030040d7315638a322b319690953 Mon Sep 17 00:00:00 2001 From: Joey Payne Date: Tue, 9 Feb 2016 08:12:59 -0700 Subject: [PATCH 05/11] Fixed icns decoding with jpeg2k. --- icns_info.py | 169 ++++++++++++++++++++++++++------------------------- 1 file changed, 87 insertions(+), 82 deletions(-) diff --git a/icns_info.py b/icns_info.py index b4f0776..87a78e2 100644 --- a/icns_info.py +++ b/icns_info.py @@ -1097,6 +1097,10 @@ class ICNSElement(Structure): width, height, png_data, stats_dict = png_file.read_flat() + im = Image.frombytes('RGBA', [width, height], bytes(png_data)) + output = BytesIO() + im.save(output, format='PNG') + bpp = stats_dict['bitdepth'] * 4 icns_info = ICNSInfo() @@ -1107,14 +1111,14 @@ class ICNSElement(Structure): icns_info.iconChannels = 4 if bpp == 32 else 1 icns_info.iconPixelDepth = int(bpp / icns_info.iconChannels) icns_info.iconRawDataSize = int(width * height * 4) - icns_info.data = bytes(png_data) + icns_info.data = bytes(output.getvalue()) else: image = Image.open(BytesIO(data)) mode_to_bpp = {'1':1, 'L':8, 'P':8, 'RGB':24, 'RGBA':32, 'CMYK':32, 'YCbCr':24, 'I':32, 'F':32} output = BytesIO() image.save(output, format='PNG') bpp = mode_to_bpp[image.mode] - png_data = bytearray(output.getvalue()) + png_data = bytes(output.getvalue()) icns_info = ICNSInfo() icns_info.isImage = 1 @@ -1124,7 +1128,7 @@ class ICNSElement(Structure): icns_info.iconChannels = 4 if bpp == 32 else 1 icns_info.iconPixelDepth = int(bpp / icns_info.iconChannels) icns_info.iconRawDataSize = int(image.size[0] * image.size[1] * 4) - icns_info.data = bytes(png_data) + icns_info.data = png_data else: icns_info = ICNSInfo.from_type(icon_type) @@ -1264,99 +1268,100 @@ def icns_parse_family_data(icns_data): def get_image_with_mask(icns_data, element_type): element = ICNSElement.from_family(icns_data, element_type) icns_image = element.get_image() - if element_type not in [ICNS_256x256_32BIT_ARGB_DATA, - ICNS_512x512_32BIT_ARGB_DATA, - ICNS_1024x1024_32BIT_ARGB_DATA]: - mask_type = get_mask_type_for_icon_type(element_type) - mask_element = ICNSElement.from_family(icns_data, mask_type) - mask_image = mask_element.get_mask() + if element_type in [ICNS_256x256_32BIT_ARGB_DATA, + ICNS_512x512_32BIT_ARGB_DATA, + ICNS_1024x1024_32BIT_ARGB_DATA]: + return icns_image + mask_type = get_mask_type_for_icon_type(element_type) + mask_element = ICNSElement.from_family(icns_data, mask_type) + mask_image = mask_element.get_mask() + old_bit_depth = icns_image.iconPixelDepth * icns_image.iconChannels + if old_bit_depth < 32: old_bit_depth = icns_image.iconPixelDepth * icns_image.iconChannels - if old_bit_depth < 32: - old_bit_depth = icns_image.iconPixelDepth * icns_image.iconChannels - pixel_count = icns_image.iconSize.width * icns_image.iconSize.height - new_block_size = icns_image.iconSize.width * 32 - new_data_size = new_block_size * icns_image.iconSize.height + pixel_count = icns_image.iconSize.width * icns_image.iconSize.height + new_block_size = icns_image.iconSize.width * 32 + new_data_size = new_block_size * icns_image.iconSize.height - old_data = icns_image.data - new_data = bytearray(int(new_data_size)) + old_data = icns_image.data + new_data = bytearray(int(new_data_size)) - data_count = 0 + data_count = 0 - if element_type in [ICNS_48x48_8BIT_DATA, - ICNS_32x32_8BIT_DATA, - ICNS_16x16_8BIT_DATA, - ICNS_16x12_8BIT_DATA]: - for pixel_id in range(pixel_count): - color_index = old_data[data_count] - color_rgb = icns_colormap_8[color_index] - new_data[pixel_id*4+0] = color_rgb[0] - new_data[pixel_id*4+1] = color_rgb[1] - new_data[pixel_id*4+2] = color_rgb[2] - new_data[pixel_id*4+3] = 0xFF - data_count += 1 - elif element_type in [ICNS_48x48_4BIT_DATA, - ICNS_32x32_4BIT_DATA, - ICNS_16x16_4BIT_DATA, - ICNS_16x12_4BIT_DATA]: - data_value = 0 - for pixel_id in range(pixel_count): - if (pixel_id % 2) == 0: - data_value = old_data[data_count] - data_count += 1 - color_index = (data_value & 0xF0) >> 4 - color_rgb = icns_colormap_4[color_index] - new_data[pixel_id*4+0] = color_rgb[0] - new_data[pixel_id*4+1] = color_rgb[1] - new_data[pixel_id*4+2] = color_rgb[2] - new_data[pixel_id*4+3] = 0xFF - elif element_type in [ICNS_48x48_1BIT_DATA, - ICNS_32x32_1BIT_DATA, - ICNS_16x16_1BIT_DATA, - ICNS_16x12_1BIT_DATA]: - data_value = 0 - for pixel_id in range(pixel_count): - if (pixel_id % 8) == 0: - data_value = old_data[data_count] - data_count += 1 - color_index = 0x00 if (data_value & 0x80) else 0xFF - data_value = data_value << 1 - new_data[pixel_id*4+0] = color_index - new_data[pixel_id*4+1] = color_index - new_data[pixel_id*4+2] = color_index - new_data[pixel_id*4+3] = 0xFF - - icns_image.iconPixelDepth = 8 - icns_image.iconChannels = 4 - icns_image.iconRawDataSize = int(new_data_size) - icns_image.data = new_data - - if mask_type in [ICNS_128x128_8BIT_MASK, - ICNS_48x48_8BIT_MASK, - ICNS_32x32_8BIT_MASK, - ICNS_16x16_8BIT_MASK]: - pixel_count = mask_image.iconSize.width * mask_image.iconSize.height - data_count = 0 + if element_type in [ICNS_48x48_8BIT_DATA, + ICNS_32x32_8BIT_DATA, + ICNS_16x16_8BIT_DATA, + ICNS_16x12_8BIT_DATA]: for pixel_id in range(pixel_count): - icns_image.data[pixel_id*4+3] = mask_image.data[data_count] + color_index = old_data[data_count] + color_rgb = icns_colormap_8[color_index] + new_data[pixel_id*4+0] = color_rgb[0] + new_data[pixel_id*4+1] = color_rgb[1] + new_data[pixel_id*4+2] = color_rgb[2] + new_data[pixel_id*4+3] = 0xFF data_count += 1 - - elif mask_type in [ICNS_48x48_1BIT_MASK, - ICNS_32x32_1BIT_MASK, - ICNS_16x16_1BIT_MASK, - ICNS_16x12_1BIT_MASK]: - pixel_count = mask_image.iconSize.width * mask_image.iconSize.height - data_count = 0 + elif element_type in [ICNS_48x48_4BIT_DATA, + ICNS_32x32_4BIT_DATA, + ICNS_16x16_4BIT_DATA, + ICNS_16x12_4BIT_DATA]: + data_value = 0 + for pixel_id in range(pixel_count): + if (pixel_id % 2) == 0: + data_value = old_data[data_count] + data_count += 1 + color_index = (data_value & 0xF0) >> 4 + color_rgb = icns_colormap_4[color_index] + new_data[pixel_id*4+0] = color_rgb[0] + new_data[pixel_id*4+1] = color_rgb[1] + new_data[pixel_id*4+2] = color_rgb[2] + new_data[pixel_id*4+3] = 0xFF + elif element_type in [ICNS_48x48_1BIT_DATA, + ICNS_32x32_1BIT_DATA, + ICNS_16x16_1BIT_DATA, + ICNS_16x12_1BIT_DATA]: data_value = 0 for pixel_id in range(pixel_count): if (pixel_id % 8) == 0: - data_value = mask_image.data[data_count] + data_value = old_data[data_count] data_count += 1 - color_index = 0xFF if (data_value & 0x80) else 0x00 + color_index = 0x00 if (data_value & 0x80) else 0xFF data_value = data_value << 1 - icns_image.data[pixel_id*4+3] = color_index + new_data[pixel_id*4+0] = color_index + new_data[pixel_id*4+1] = color_index + new_data[pixel_id*4+2] = color_index + new_data[pixel_id*4+3] = 0xFF + icns_image.iconPixelDepth = 8 + icns_image.iconChannels = 4 + icns_image.iconRawDataSize = int(new_data_size) + icns_image.data = new_data + + if mask_type in [ICNS_128x128_8BIT_MASK, + ICNS_48x48_8BIT_MASK, + ICNS_32x32_8BIT_MASK, + ICNS_16x16_8BIT_MASK]: + pixel_count = mask_image.iconSize.width * mask_image.iconSize.height + data_count = 0 + for pixel_id in range(pixel_count): + icns_image.data[pixel_id*4+3] = mask_image.data[data_count] + data_count += 1 + + elif mask_type in [ICNS_48x48_1BIT_MASK, + ICNS_32x32_1BIT_MASK, + ICNS_16x16_1BIT_MASK, + ICNS_16x12_1BIT_MASK]: + pixel_count = mask_image.iconSize.width * mask_image.iconSize.height + data_count = 0 + data_value = 0 + for pixel_id in range(pixel_count): + if (pixel_id % 8) == 0: + data_value = mask_image.data[data_count] + data_count += 1 + color_index = 0xFF if (data_value & 0x80) else 0x00 + data_value = data_value << 1 + icns_image.data[pixel_id*4+3] = color_index im = Image.frombytes('RGBA', [icns_image.iconSize.width,icns_image.iconSize.height], bytes(icns_image.data)) + #print(icns_image.data) output = BytesIO() im.save(output, format='PNG') icns_image.data = bytes(output.getvalue()) From fdfc5dd04e5d437b3c3509fea5ef4c1ddea5f228 Mon Sep 17 00:00:00 2001 From: Joey Payne Date: Tue, 9 Feb 2016 09:05:03 -0700 Subject: [PATCH 06/11] Fixed linux build and removed another reference to NW.js. --- build_command_line_linux.bash | 7 +++---- command_line.py | 2 +- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/build_command_line_linux.bash b/build_command_line_linux.bash index ad32a2c..33daf35 100755 --- a/build_command_line_linux.bash +++ b/build_command_line_linux.bash @@ -1,16 +1,15 @@ -rm -rf ElectrifyLinux*.zip -rm -rf ElectrifyLinux-CMD +rm -rf build ElectrifyLinux* VERSION=$(cat files/version.txt) -pyinstaller --onefile --exclude-module PyQt5 --exclude-module PyQt4 --hidden-import PIL.Jpeg2KImagePlugin --hidden-import pkg_resources --hidden-import PIL._imaging --hidden-import configobj --distpath ElectrifyLinux-CMD -n electrify-linux command_line.py +pyinstaller --onefile --exclude-module PyQt5 --exclude-module PyQt4 --hidden-import PIL._imaging --hidden-import PIL.Jpeg2KImagePlugin --hidden-import pkg_resources --hidden-import PIL._imaging --hidden-import configobj --distpath ElectrifyLinux-CMD -n electrify-linux command_line.py cp -rf files ElectrifyLinux-CMD/files rm -rf ElectrifyLinux-CMD/files/downloads/* rm ElectrifyLinux-CMD/files/error.log ElectrifyLinux-CMD/files/last_project_path.txt ElectrifyLinux-CMD/files/recent_files.txt ElectrifyLinux-CMD/files/compressors/upx-mac ElectrifyLinux-CMD/files/compressors/upx-win.exe rm -rf ElectrifyLinux -pyinstaller -F --exclude-module PyQt5 --exclude-module PyQt4 --hidden-import PIL.Jpeg2KImagePlugin --hidden-import configobj --hidden-import PIL._imaging --hidden-import pkg_resources -n electrify --distpath ElectrifyLinux main.py +pyinstaller -F --exclude-module PyQt5 --exclude-module PyQt4 --hidden-import PIL._imaging --hidden-import PIL.Jpeg2KImagePlugin --hidden-import configobj --hidden-import PIL._imaging --hidden-import pkg_resources -n electrify --distpath ElectrifyLinux main.py cp -rf files ElectrifyLinux/files rm -rf ElectrifyLinux/files/downloads/* rm ElectrifyLinux/files/error.log ElectrifyLinux/files/last_project_path.txt ElectrifyLinux/files/recent_files.txt ElectrifyLinux/files/compressors/upx-mac ElectrifyLinux/files/compressors/upx-win.exe diff --git a/command_line.py b/command_line.py index 5195edc..a715b2f 100644 --- a/command_line.py +++ b/command_line.py @@ -275,7 +275,7 @@ class CommandBase(object): self.setup_electron_versions() def update_electron_versions(self, button): - self.progress_text = 'Updating nw versions...' + self.progress_text = 'Updating electron versions...' self.get_versions() self.progress_text = '\nDone.\n' From cf95bd28d8bb667f309b5c9ac7fc0f44bf35ff01 Mon Sep 17 00:00:00 2001 From: Joey Payne Date: Tue, 9 Feb 2016 15:57:03 -0700 Subject: [PATCH 07/11] Fixed command line error from old Web2Exe config. Removed mac 32 bit export option. --- command_line.py | 4 ---- files/settings.cfg | 8 +------- files/version.txt | 2 +- 3 files changed, 2 insertions(+), 12 deletions(-) diff --git a/command_line.py b/command_line.py index a715b2f..872fa8a 100644 --- a/command_line.py +++ b/command_line.py @@ -1316,10 +1316,6 @@ def main(): if args.app_name is None: args.app_name = command_base.project_name() - if args.name is not None: - setting = command_base.get_setting('name') - args.name = setting.filter_name(args.name if not callable(args.name) else args.name()) - command_base._project_name = args.app_name if not callable(args.app_name) else args.app_name() if not args.title: diff --git a/files/settings.cfg b/files/settings.cfg index fb350e0..aaa37ac 100644 --- a/files/settings.cfg +++ b/files/settings.cfg @@ -408,12 +408,6 @@ linux_64_dir_prefix = 'electron-v{}-linux-x64' url='%(base_url)s%(win_64_dir_prefix)s.zip' binary_location='electron.exe' - [[mac-x32]] - default_value=False - type='check' - url='%(base_url)s%(mac_32_dir_prefix)s.zip' - binary_location='Electron.app/Contents/Frameworks/Electron Framework.framework/Versions/Current/Electron Framework' - [[mac-x64]] default_value=False type='check' @@ -470,7 +464,7 @@ linux_64_dir_prefix = 'electron-v{}-linux-x64' 'webaudio', 'plugins', 'experimental_features', 'experimental_canvas_features', 'direct_write']""" - export_setting_order = """['windows-x32', 'windows-x64', 'mac-x32', 'mac-x64', 'linux-x64', 'linux-x32']""" + export_setting_order = """['windows-x32', 'windows-x64', 'mac-x64', 'linux-x64', 'linux-x32']""" compression_setting_order = """['electron_compression_level']""" download_setting_order = """['electron_version', 'download_dir', diff --git a/files/version.txt b/files/version.txt index 52a01ab..1b85aff 100644 --- a/files/version.txt +++ b/files/version.txt @@ -1 +1 @@ -v0.4.1b +v0.4.2b From 507c780ab504526f650baf5e21f0463b0a0f46c2 Mon Sep 17 00:00:00 2001 From: Joey Payne Date: Tue, 9 Feb 2016 16:49:46 -0700 Subject: [PATCH 08/11] Added slight shadow on the icon. --- files/images/icon.png | Bin 15161 -> 16336 bytes icon.icns | Bin 15088 -> 16255 bytes icon.ico | Bin 270398 -> 270398 bytes icon.png | Bin 15161 -> 16336 bytes 4 files changed, 0 insertions(+), 0 deletions(-) diff --git a/files/images/icon.png b/files/images/icon.png index 93f2932570ab6ab060c0a74de25501594dbc34f9..47f9eb233c22ae01d6597d511f8b713741385ec0 100644 GIT binary patch literal 16336 zcmc(GWmg(W=TaD2RlJ0000*PF7MK0Du7RLIB`l!5c%@a%=Dg+D%+e6CV8W zhqsIZ|3`3^)pG*?&W->3LFAC1f_DG}?ozt$8cx>kUS_UV052~u7Q64?+$_wTtyr8~ zZL%)~2>}2yfSjb5rgzT8FE4+hg|;Uk=bG0-td=45T7yeJ{ue{|F4!n`<_vtS{x8W2 zn^frEM*}3__i4!6oaf+^)|;}ERFP3PxGX9m)`DE>8mtsrtUT=AF2{48(CkW9HckW@ z2}h2`XvM|_k9=}D8>j5t5Jd}A>97&Q#sA-LB-yMP{4Sc8hMb9b645z+9r@(-@6cJ} zOQ)bD>?uA_Z=s7b-I<_6S7}21UVQTJyL*qC2u;2UL*I4gZTHDl;U!Ag2qE)t@PE0r zuwI#bDd>9Mjl}{~o8uqqi~m!kYTU> zdsQKRdtR(E!iYU{k{8d)`u0AL;XAUryV(%XMK+_`)<(f|HA3}@S8uL zgSG2^Hqj>+m<#)PT?`&J@J+}jWiAy`_hSG{MKIq>aJWFm8}$Ct19g4%ui(t|2+wvt z?bn@T=vLs=N+B0=(4c_VWwlOS zKDf2;qmb{n(B}Eye$n@^uN+ybHR=dEdievv+su&W%*1LJXI_?W3+ssj@-Jz0%dJ+H zfR{rIalTRF*|=}Xs(BC&S%f~S2;oCOaf5U(b!n_DV! zGk_KQ6B-){5MkDBI#Bt`WEb8qxOA;>YK51QT?M(HNvpl?>+dpMUs?8bg0E`{zwU~b za04cX@JB49LdclZ+v{`zY{;Dbr=%I+b8SZxjXp+g2r1)2AjVJRd8|4BRXTN^Sj2My zCkjnYf#;_>!gKg$*w7*XP0$V+Fv+Nzb`6q_fq_AmCMAnWmhZ}w5g5{RyAyLTKP$VD zu257Qiykt+2&dgSo~lgv&L!eY&&N>!;PznNf^Cuj{4VDodF#ZoxDV$@2hB&peP{h zIx7I(5=lj@^taYiF!DZ}WZ+??D3?Q)xM;+CN;+OgMIBQ05iJGXAsnDnIMGJjaRPY) zRd$tpn^zf#BpPc@?|HrwnfLx`rufSct))jg$3Zf&*dd{tpusMG!AxgO`*@y!tlxCb z+bpMXl4#$&p4VG!`7`|!lxf`)x6GpnuvJrphrsrPngf|DK8{cs`R+?+I|lGa_LqKy z8Y`!vhp6(#Nm3vr%JZxui@4(f+V1tnQGJ>DWyD3}h1aZ48^}lrfo3m(5z&&EJF-+q zLSzrmMO6T{WHrM3mpQ)9mdO6YYnUz)J?5SzXQ~iy!GaY}7Esg=W`KD;{+=sJJh3kK zU%9sj06y+z3_ov7)y{Q#=tH`wtYmK_f1gZylI;dma@@hhR7#DBNKVf$%VY^UqRDSH ztkN1tz31CyAHG3m#Mep!q}}v+p?|(Z=$gpM^BX{T_k;3QF0&YyZ=(xG1cL)O3qnT=O}x+8{bITm*p*5&g#;hozwKk( z7;oq}R-g;mSHHt5EMp=e{_y4ITQmr}9lMI~8a*mjSD;UwzhEMc+#NKL-XSoNw7r`< zUVBD^ze%cjeLx=jYb1cxjc~VJk&CKhB}4>sV46`dQYOw6C;5aipx;6{`wX!=VIZT_ zW30@A8%s$To2g!(RnUJe2%x{`=c;^rAmELuRBd}FZHJp-OkzPi-d#IxCszknA@qyP1t=|3O?fx$yHJz zZ{5=pwKkuUMfT0_Swxee0Ka^VCf3h|5q2=5r4p{Ft9-{b({k{^{W>A+W26y{mJWwT z70?V{8|wJpsp)#|-{^AgVBEWI$aZV|JYF))v=6&GgBn{A!y8#;Ob-X0akcEUg^L?M zw#k}b z;btU}KFUTTZw;tvNFjWmXS7LE7DGpmmi{4YYoL)*B}BPz2%uZIrFBVx!CQBJSKf%)eOi>wReYNAp91c`8AaPabzGEMz4QZqFI**;@I! zZ1%S@8UyQ#7jJCU^aseqn0(&5(#mCa}|Ntb8IEZwiEYz+w0$0M<#_KV6nt*;Q_ zu{}&_Y3lif3T?efv9?PYu=DHpa7`a)eo@WmNe^l(p8Roh@ySw*YFwZEY|4q9K*H>I z{n?+nFVs{531m%26Bue3=(8df!{hoUi2+@9?!+jiI&Hez3bCS0-_n#RTP9}pTA!`i z9PHIfqLl)}w`rk10e~}B=>3UDJc8FVsI=eJHYANaybXWT08bzQcmI-(){y_c=L z^O>cU;S?tTd#!$#r$CA&bANgbkBGew4W9`xj!YxeKv_X%24zLZdthG9oyh5dI0FA{ zTW6kC-J_9CHOmIJMcO8u&I`1}i|Kk`s);L}eflSC?W~L4BK8N?$#k~#`#3y#&{%xT z-S_l|8B`oGu(PsZb2N|SHJDiujx9oFRE&N9@MU&|DPw^l!c5dDUBol*IyU}f``cj* zwS(!5o!ZaoiQ1Vm83bHybAFC#m@TW&I#uz5r0dv5Z4&k;b#B{fniGyl!WVozZ#g^p{tx!r2CZ%Zwq|rk!0(15lk{FJC*Y}Euk>UGwbn3%?wYtkN`#pNHf7{of z4`xjiQ;m&;v~z)Tr?y%lCFTCxcGe$X!u10z>O3uBAeP|Pr_WTioRGCCmo&2hQhr%a ziOiAnzmtU%k%PbEu?_rx{T9hrJEf$Krnl-3r_jHFkZW%d=!}081@q;R6549wQ*IY- zY+H=Zg>NjNly|?DnRX41LIq&HzOhDMAVoDhNO*4v!1DwGYM;W~74}k*)O=37dU=gv z`b6kN_9)!DpUNEk7&0ERqlU3cl@7Q=4L{fdn1gVo{d9UcJ+)6GVpu{p(MVEeDjYax zT<|aI-iiF1@CIYGExBJf5gdKg*hPXXY>IA2JEVfQuJW{pVLk2;!X7)rHz%qvoSZZR zBKkJYdVP^p1A_;m7cuRi<|d_wJAj(=nFlEdt|6k}z);{(wC-;z?Vr_-D;obpJ@lwB z#if0RA+MPJIfWSRhwU0`@|;uS*@X<)oT{Fi7f>m#4Hp9m7vfKFz?20YE+>Lf)=o-` zzfqGkA{gkaFNE!zZ&=BFs1I>bvyTowBvNI}p;Zn!&!v{ehSbf@(4)PP)I4p?`#e8n zsg!<=euK4sG1r4ga&@MHZp>`aGr2L{(lc)P^xf}`gmP_LIe)W6DU1}69wA^v&u{^m zijfV3!e1ChPClRoJD+q+po;?{#8%q=6j<&kfi2IWT>2hE@&f(qj8v@iBFI&G|5gGT z+N(REVQQn0Uld+^yCyfnc`x$z^?q49i4r<$X#9Wg0ar4u1<>R#!>y1`?2akk>x+mz zTWk_b4AOjjs$Kdc>4yal+Xxv;q+wORG2_NUCEvu*XT0p{l_NazZ|}Bb`oUwp!EF+ zDtlph41s#I?Y6i!tl7}4$q+;Z#&lbzv^$W$wy6{zm6HX4l00ML_XKb8q-hd-u_ck= zbr>~>euNLQq`d7CqP2?9GT@6UMMb(ZyL;yY+iOc_Qc9v;LzqlMofg-cYM|;I2Hirb zM%4v`dfwAHM}~$s(9Q6TgXDui} zN#6&Zduc@E5%R?voA-inPaOIqoj@$dMqAwmMfY9MJvl1GRB2NawIBTh(BrOEk z2*H%U?1n=1)z$T&2?t}bejS|Y(6 zzWnaoFA&asoV*%5#ie6t!M~wT- zC(V$&px&M9ViQivV>nY?TrGvGaHrXm=`Zgixwu3DyQt0qjtv}H?_Af$IUr1*Psu!( z@Zx(OU%nKgVRFLQmG9sQWa|Rp6HTib>{cW#GVulQPc+ceF~ zhO$hhEVCVUAG+|JQhCR@Z-*H`iZXh}#OC<`wpi1FtDY&`RmHh{iW zP1;%dM9M@QWlieisoV2dP_4Cwa`%n4ip&b1$&V(=x=^y2Ky>CrAeMjA)Ne=5eZxTs z0XnO%FPzb1=kQeUkcIUbjqJa{?l;7`$00Ewxn%^TbuTXMd%cV>ZmJ1P;`szS0 zgw?=98bj9B;mG85Lgm;VD&OA)_DTM;dz(eYb5DQI7 zctM!nnajli~rvI8{C7mjjWk}JU?djV6*u8@rg-BRaD-3Y=CY~4j+x) zYKt!3ga-Z^a={BPLXpqHk>g5o%%*Uc(`S1TH+Nw>I(?9s64UWrAT=QPdeulc?a>VE zy1e?RKvMp6Ge(1DuXLk=?#i(Aqhzy^lmB7K05HXeW0-v739{O`PW!8;3oDaPgbGB^ zHF1&leK@Rdx+?4;z`bm^aV{gi`N>SH%sL>BzAJWJPZnkiKjMtn+O6%}RU>;(B-8K* zXC&7GFhb(9^r{a}P9_++xC9Jcj{d-R+g$2x|FGluk><#II|~&hU9_5-Yl-ied30ck zPT77wUzeV$h2NFfOse@$^z|W`^LtVYBi=yr(_s1o9=>ZI8ld_QpqdtN)GJ0S9L)up z4!yJxC#l0}exVfQ^_ASE5aZ?&cMvyBv)iwwR;twn3vzBUq|TKiOcHu0&B%76A#L%M zV;?gwjTqTnGm`l2A=H&nc!f{Few(58hhoi2OYnAj%>&MCl$BLpuzWCtcrSmBv(93l zkzQnooef$kMzYI*KsLIQNZ4~URMfBKSlu%S_>qh_)()z3l_6t+`HwrhYD*lSZ*>w>D%6$+ zH%vGut90Kz(zas!HKYHog5CW76#Tc_Z?`HIgb`*t#GEjj>>99$(5OH5-q0Ohk-Ol8 z#kUGnsC$xg#xwY6Y*x(k3u=Sv?_a>p+TU)M%oCVZXQ)7=nu8 zmJ!G)feNst^^u@pAkTt&Jo(?7=hT{?Vd10cLL!C5-WGMH8{fK8y4l$LW>ZSOL8N|P zYcrYhMO1C^rj9vehB{*&=c4%dBin&5J;IuK*dY|Ml|uup1=W8ijro$6-)e@?YRlU0 zRXZG=m@C%wk<C$D`q;wMR{yN~ zvzXq)+U?NU9I2GztI14XQeZXKV=)*=8DQ z6>>{YH8>{rQgkOSmWy?Nq={naeEUyvk5dXw5BVoPEDY9RzUg10xSo51G}}I>4Mv2If0`7YD4>9F<=p<$5cIe=E|6 zsQ{!0k}B_qpiv+2d@wKH>8(oQ2_F_!4UdL;w6)WeIuR32_YWS}eTELeCJLL|gFB-S zt7;{zO(x`x9qQH6c{7}C)8_%aPP|*khWmf4E-Khm4ai>Gyb_oHN~quw z4!WK(;(dKInf5X*Dt(W`b!Y}p(7iQWK&i6Vi{!lF8xnW~rK$%`#~^rFPtwqS6G3mw zR&|uiit5nDa>S8MZB3&`;@`PJ_F32?n|r*V(NKAc2K)flk=#AmM1|4pze9L8+e~n%Yfah@(Z*`$8l<@+SW@J~N#vTPiSC)7H4q@C}*S=nU$cvAYOO-sC{cCNz zm+E~Qydgx_u%v>D&Kqdo$F9WOfGa2fei@P!)=^dwEVlU z_4=bt)AwiE1gB?OcoAPuw1y3R0JB}q=@O%wPaltJyYpbsLc$0FNN$kbd{)R#>emALNemA`x4veIUzuM-~>w5PPcin(jIy4l+~Ij@sOC9L}{h%G>*Hogj$D+rGPuOB% zKRft9ifee{<)GYn74r4_dU8^UH=ca&$pb{!)$Dirl}lz;3V-J!+4**xa;bzPp8+g{ z)Vx<8#ny9F-jDFmli|qj;GqQ($=`OduvU<-sDW|ap`?3kK_M=js)4HqblEP(tF%hY z&E3Vm=xoY7Gyyw)*ILSwW3M9ir0mTIl=jR)=KNUM&#tao=>c$?Stsg$Pd+ExS@WH) z){b>Q*)R!V6I1<>N!Q{3()LCnk`Hd{R9s*hG4tLWUTI#~KTJjC=zh(W4cgc4NzCq}EU|8MrOGchWqX#?npC`Qv^I>Uu^P z%wdGK@Bl4d%?P?WwnBOW3!ZB=A?cazUVZ;`#av^&r~&!5bkp%lkZPq)a>jO8CN}G% zkh}_yigjyan$s{CjQl+Uar?txBY&6UEp-v>V2LxNr=4eoPkMs)wia1&zfIVkUG$|xg6Lwdl9PQ3A>NzP z`|_S-Cm4-%(@~wz;7Ye13W9fN=mb%E`6Fhjj~bxlgq2sY#|xE5sr|<|bDI#RZ^#Ib*_)G7Z!}siWF9+NCH^}>Pv~tXp6OreEw(|{#(IWlh){46 z@PRJW=RkE0iKPO!cWZBd3k7`v=0cpe{P@<=QVt5m?k{{b7z)g>lRvE)#H#G4E&`&52F`Iysh6$LUnO+_XwyCJermia-V}4S!y@4?io*L&-WMB3f ziw<;wQd~L-PuLwFB7--wsQhj*>rtMqFuwBlb%qy~#E8TCGJgt&wDoE`w@I)kW^M#F zBAMxk5ilGX6=dNR-Jb`b36OLV{4y|^F+{lEqA}H_rSS)?QJSl=VNtSI(x*#jlUqNX zJsi8^YE^x$gCKLYbz3z{k#-!*8qIfl@|{ouVLM)Z;LH>WG`|hAm3JLyn=YR(RsHcX z418U1#!1EkOP<6rGS8dPvsbSRe1iRcVG&?S|_hWbgPkkDI7cis523 z*Q|(SWRGOJV~rT=BK43+U`w%ztH^-tolPi|gMOaE$a!p|7XAEC=n}O$gy_iq6#c3K zhHwjBUw`3BAV*(bq3?*RlCK-}d?(Z!=!N+DhOJ4^4dDE$pvvK)_89QROxj<6aYl}h z$IvLa*jrQI456;>5F4GX6s{|kMaPUf#>Oc5FvTC@>-N@irfCj|(bTk#fW>iE8cmP< z-Li(T_HH-V@D|W;QCr(gmlH+m;g0)kGFDN;#LvptPPBpyaMQf2^gW_>)M4 zQYo`L=z`%Wsa+{JW}6_&4QpPJ_)gdZtEMdOt1 z@z(o$GAHXj6NJHL>W;kJ9QZ7mR_EFhbE-0>yKli6HBsZ&Z@t45_GK{^`N_jeq_l2N4%L&UmGnpUhI1cGNnzOwX$pJy+tX_7CiZf-Lff zU872{HJnINBuh}{hi`o~;fN{^MdVks(jTf+AT(aYQTCI=t$qVNr{z)yVSL<@ySl~o zC&d>o??iM>rcSY&#+7_WG10;|TV*BCIG25%Tw^l4;ObXlW;+G@yQ$gCMIZ_~mfc1j z$vYt9ohQkvp5i%J5E+tT<4?QR^h=+JCL~KhT(6#PGy=~j35*6_w!Zhz$u9ABj{@~C zu~$9}XR5qb^)zcjYg?H#R`k>h_&)gd#^d+T_Ev#Lw(obj z;2W-D=Z%i@bFAB_%uC3(9j5A}Khy^)iuupOlOe!&BCWL%Q#j?$r=E!H_g(iNdww&G zPXSWdu1&yK3fLoya%>J9H(6Lm~gl)xV~q92(V{%=@x!Vh;5h^!GFh39c+4aDQhHU1{R&9dO9 z-f+JLD`|ojQYbde`^=`ECp_qJ!{k5m`JwEO448#pM|?VHaZcvwrXZ(CD1wc$7dYh(dWNa zWmlrz8)$fP+52X*E0dlC-6yr^_mQ<-3vwdw)9>z%CbV`EXukwDiC&4Sl4t>Rxee&m zYw3*>it;u&vGhxy*r;_PZ>7(XRNp~Ja_*P^gg!loZy|eQ0=u#p=(EKIL;63TY0QV8 zD(7E=)KSy~-!SJ5T_Y;?6?lC@R2{*R{p=35q6x&b zG%{A~+!ZJ{cqKL6!0bTBcoA>in`@RuZON5pEzLs`oefl74KaS{7JiclV?HjSN0hi8 zu;HUxkiaNhz1|q3M4`^GNcVPBpdOI;DblolG1mGj+ z`mzM6>2Zb%Yb3^v~##RN5J=OSODFlmckM9#B(vV$SCQRz1Y>I zmngj0TV!HrVkE43c_N19uP(%p+*#L*Z40q`;&)vR6}wF=$OtPnVOl@FMnbDbmR@?3 z7gDb3XKMMfJPW30v1!mqEIhZK@fDf9f6YZj_XxTIMTJFf{bSml^p%4D3 zOhh7I=5#(#Q)=Hy{Bcsq0#)qL4{YQ`ryGxinmQjuvK$j(T^RsP&^`AaXCcN;Rb>9p zoLnF?7+)}T)Jv@?1HLrb2yaN_SGiLrd)_aTqI|P~Q5<69!xG0Jrmmi~n;ER_BC!>& z%$F~IAV-c4(v{fF57MC6M+RJ5dPwfMooh?wC8bE0R<@TcQnS+-xScv>$K8tA0<&iz+2o ztG9yBwzBFrCw4jj!mKO6bmQGbQ#=;}`F5e0yF;M#SEbh+Wk{1j=s3PT!V&)!guiab z8y)0(h4*M7F1)IO9%hRk?0YQl3}Eif^f3KKQN+ysZwm1YVP4uV zq-j#3m$N0t5&NHe6kWD~mtg0*A(m7j3gUg%xc?3$9yWQaDJF@m!-w&>(~#Ht)-jow zmolz09H~+|C9Yxjb3V7j-npXw*U3uNdxgfjJwvW*>A(lMyb2!=rBNxv1Gv`9%T?zG zJy9p(uMR6>y3H80nYD#%WF2TWO@X)mL=y70C9|_HMOQ8YmCK%jeq}GcHOYga&b!m% zefaVbszR96_5+N#9e?K94Gs6(`h7Z;ckLTwwNohr5r%TTkPk<@&Y|N#IUeod;`okqH@wiAi2~l2=g2)DDoia-y%GPJIoqz&Ct|=8V?1_TFJ9h4BV7v(NCe`+<-S7jw{&wjv-BQQETy&C z!G#{5M51|3XP0nN_xnP^$NkD|2jd9TM_JYoI3Co}sp%2sr+>9<~Yf#qRnnwb`BFxBlu5 zs;`DS2NNRaVeJ_6{tiXg@#a&(;ewxe){;<+q)Jt4x`d}>OXp84HNWqVk7k}^1gFx4 zf3#Y@P_j(FBN_#zU^E(xq$$CqwL2{luK#vKhaQ>;n$t=3R4Qgt>b{z$MfZLIbz_QC z#FVC!V4q;e7mo>^ol1@E)Mc6f%UzJ=Ih*T21$^Y`7-eQx<`(PDNVPaH{MKDu90)&rhUWT*V?ogd_>$ZIUTXeN=xs2xN-W zaI%83VCQo@G$uVKXxyJU!7c>cyw_4}+9c05ml}^ASySv)G-|m*q=ODX9NG!%dBm=F zr4I!J*&bm~`Kpw^mce3pyIa=iYL1GCUGOpPkaF_btXX4T@FJ5FgzI029t-5YTMo&_ zWeH=c$_>k&EHT1#>6X>mGw7!41hOf(GkYInY5mgY16_Vnth!K5;34eE!r=Aut9d=3 zoi{rH$fFc+qAEJ0ax2QhZ~^xC@oE}2kn$zX5?Cf$$`X#OR%;^POZ~TPPyr-dbpZ5a zgmb@h<$?A@2I!uDcz|y96g9uv0Sv2t*+PXTXSw%rj@x~fipe4!N~A8MFh#{|1Y4>a zqqhfFe$JZ(#dOTHRvNP9`-)0pA@I{}|64UtSpPv9Rc-7~8FPA+eJaB;px(idat^5w z*S{B8mCvPO98WZEn~AozlkW)@kj|XY6X#{h&e~VM;U^ccXl47JYC<>vy}#jA_-8b(-Y9%?%+PH#`LF4(^*PHIPnp8jaAG^v~TN(K*IyUQ+t zhn=-MgSDtM;uv`071S%i{wxJ*doRiG|4`}UjRdBdR_{4~l5zyI2HNC?u)nyDJ!bHc zIaT$G)xi69efV0ffIe>o(Q?_GaZ>4_g$d?Ku~3#Xm5OUH97#n4_VZKc2*6%fcsY8d zcbKA$*@rr)ZxYvUlIn3`IWWEr7g2ze^jA65XS8AW^MQ360~(@M)b8~a_yf;e0FZP% z@^P1k30}QIqUOi>!?ziJc|cU+%Kb7<6$$gEI?LMcptO`c_p#*$r>1Oi76AQ&TlS1} z=JbuqBOhVMhuk?6rjz(oVwS}!drmy~JjuPeryzw3*P_`x$W|<3@aum+d=do04HqD{p(*KcjrlITr zEk2~T2l;m11gNRI29A$!7u;YSxw+{}om$qGH+BG&LAuS?mqz^7Ll%-ydXvr`pteQ# z$a-R)?3;fBEp|cT07OIW+-TDA3Iebuk>sfAq-!}4CVfy8B zzEk2EQhkbSUe|+h5BFX%*~+%c1`S^8n03A%_ zLW=wSDMeV&k&ndN9mL1PITvjMGxDYl{x?KGjk$AcsUY>7Hd6ab^ z+^%?1xo4Ws70j@F?@{r2lYqpB4G3-d&mV&5>o`6O0^L8X6WR@bP-Kk#;Dz2`C%LHpGddayV_-NK zuW)_N!?MPfvHVRv3yc}!770sAeKxd_HqOZu5j**-FKanPSiGM=&kQKqVyHP^8XMVH zKa1V@tKRrlECVuvxa+P@R}}fe`FU|wE_^lw+Me=e1N(HjfhP|nH%jPIm?b25F$YF@ zk>a$K-5!_+{cUf{Xn)6ZZv7}dAcxs=4mKOuKt9=q0|;YqZwL?mb%RK)HQ1<2PgZz% zn8?z_xZ*?oOFO8oKGcxIlEuYp{R*yNBng_^hv7q2sZ<^Le*4tHb+4FGfU4oB@j5cr26#CIKT+n) z{?zOgErz2=SQBa8xGuP|gy}7BkG$gY8pF2J;AA$m1WFcmGNF#@vRYZQ9qdTl>75gS zmK&O#v&9d((@_%ZSL%uQDA5$3}spvX$@$xe0MdTbb<^+ zOcd0GHW1s+wBZ6{YJZ)v?=%QV2Ix_LBAlj!0NpWiyf-uU&NIS*4=6LxDLq}LCvHp` zOGuCF>~@)8bGV>>)}<>nT0qQD*;U{Ew=0;lTe-57ig<#w!DYAaVk7f|yq%9aQ68sT z*8?Z4;wMeiP?bOLGLO#ycnGI0E*ynC!X7w)A(^*{nJOAu_zW1MNRLy01@F$fHrK46R(%j>F2I$!+|gE$Zq09VZJ+GSjhU-Im3MZg$@OZbEG z`o^{;aHLl1)skiCM0_E0$#lpODE@LD%jJQDNHZ?B5_iW1BLcY3axR>;9X@svaRS5b z`~BIvbPCdd0BVYwx0&t(t7w7O?5m;d_m3qBW`X)M6%(noA@0>z11NB^GZ;+Uo!#wL zp9M7M6W?Z_>km`t3C}cnp{$(jWU=T^C4XPgQ1v?SibO>G2^pU#GwtWxc-WZ}2UhD; z8Ufs3-^cBCZAMXSwqxyl_S9091;BbK`zzm%i6=vFahWS>4-ASO^91V{uLr{tulhH8 z0o(@ef*d1IZjQQkY%j<9hC_It$GbAxcY_Na?z2L9BSFF#|M4MB zoj3ocSHpzfToxs%%wYDFB~VW7jK2J?iZ@2m+DYo#{aFM%B9 z(#ZRc?5d?XGqph*U;-5^F0l2zfe3;J%O#}W-U^C3>aXfMrtjZBN}+*>AFqV7oIWYwAKgeAsqool00s zxa&tq?Sz6Xu0X85Pd2sJoEQ}Ul@P^Rt!RggoCS0fdDdv-#j5`-s{BCq*nRc`&RyQg zg=M;!%0uLT6?ck2?SKQuJSOJJa4d(vRsrD`>Fe#_?|EJjb};xmaU8RAC8j_q*6mfY zM~@z0`Z2b>@^PLoaMECI{g{X0ltPHX@E}xh=n6=dA z%5VAQO)JCuwt4D)M_;1Cz!MtMc9cm}d?{xjjInJ=RX*gGN^9hL*!* zf+f{oGD$V`)PCl3g!d%Nw(|#Su`}#^B_DLi;FhQf`1#Ez(u#qOMDs0?OL1@jO`U4P z2iHRSO0AJcp+zvD2Raf8ucn8OH$T3LGYg<3o@OKLB=g>$I!!m9IV!e3pIxUemR?$p z*;hXtg!I^aM%sRC-{b_4IPUY4u|^g^_A=P0yHfI9bDpgHfe?E88syTd%JzuuJv!WP zppCS65!&klCdiz3zDw$Z6S4NKhIpQFGIvWx&(8->P3BfuoH7%L^d72G z0!uNWH0@4UtnNjhslc)S@hU}hB(pF?w5DD2yNe}Q)5LiQ2kwUTap=PBW%`AUNd1M= zd}LmO)HYtFU>~k=ccf`hlOm%$lJfq><6df_#oJBis< zqOH{PU)%%l3TW4Mu?MgxE$xYES%qUXx1Xy@liUZK7F8E7&u+tEBL>M*VY+q9@ia{r zdN1C?zCVfp%U2-yswcf!?5Y>@rbG#tr&gkf1zuCX@mFw#kcA!WgWDG2P>J9nwq0F@ z=!y}2v>|7!w`Puu2cr!uBdx=l0qjxbUJ?w`BtdNPLSC5IVIW77{z^}LsJuxS#s zq4WfIVY1kz&axxV4Y0*kt2c}FI^N4vkbRO5QE1oM!1 zgM`4e^-b2=9DK3*lqoNZX7D{(dVn={o7(?%S)z-BC6m%`(TTA5O5DlB0i%P;!dvke zw%3gPY>FXPdV?sqI7mTfbv@n0LGyiHrEFP&sa($&0^05k!Zs0R#@#Q6*#bW;HEAIc zLayCJ_X_U#f3NkA!gRb^&Hry(=i6>a)#$fnmYoC$|#Jqi@$IUa#@QBF^u@M@J)-;OHck7(wI*b@KO@XCgd@yq+a4ATxUWVTfVLUP zQ$kPc=iY)K!65z`yYuJYaco)L(MJOD80X7dJob!eeZUN>l`8ET{fA7FFYW12CLRk~ zYd*OmP`&oH&-|vtkyg+hfq~d-4c`bUr?-~`S5G!%GYf z%MZ=!EBrIMvz)#w0B~&b--VD%eF(n+khn?fxoJAtxOtkpSOYvgJ=yI)JGfe!J6p3m zx!C5M3cm#ar~vX(5?WrlCwZQJWVly z9KrPmCH#FV)te3kpnm!)B~GNLQNY74o6Lc#puj?%@rPv4r7~p19qKoUI30p)~Ax87~)p?5~@lp zvya*1k;6CiVVn;0HQrL7uvUrC0>~(#0y?!* zok7bXT+qhh9qgOh)jA?WoWFXHuHqm?Rv3^G$_!S0msTC`-z0s9bJb@^=TaIb>Wrze z{qTq878YLRQ)-BcS{xQ8@PV7OfPbmNC2EXWL9}74dW}}2GQ1LVqCt_A0hxrrO_HgN zay1l8qIBzml@9mn!~NWkD4f2x$Mr}8E1*_J0tFeWu-v(|wSbar_%GsU-ao(@@Nem< z!(e*KGF(V{?Jm2H5$4~(dwAiHQL2=M8hvg>d2ucz_y`p&pW!o|6$Ww%pYdYa#RRSLT=nqK2b_;_K1`PRXfi-ResPB2KB6REE2!CH;4*q5_7=hg=dEdy7fq`*} zMlDYouzQk*7A~MI2tjLJegl+9A)^L{$mCh9Lz$3JeNF(#}HOx3$|Zr7^Ox zD+qNj9Q{U}qH|Z}LjnQ&Q^!mwRywDkT$YN^z*^ml zVg@t_{F;43Vs)p4>GPdzkW+1}t)vlaFi3kJ0q=+>YX|v8Bw_iPwMUYCNP#{8KUf?j z+H2aRI+_f{>Z_pQVcvIN`juohp}q3xW;1AWirSsaN)4o_*VVjQLVGXNE0$4xFUgzP z^yd1}t!z`!O=}LjwU&w$-?%mY#>7F*snLgQRIrr!=9_FhPSxO*xQ{6Xu_X)^d!xiAZwgTG4XU^suri zKtWN@UsBeSd2J0)=&s4u&TT*OiQw($+O!b(>5qMzebpya+}(vI^Z*JezonjPCV!En zq;>mfs-k-l`LWaF%=PIR;U4Ld#Fu_Vj}n0Wh;ZEEs_u5N+K@W`qdZvyn914@mx*$8 zUdfp0%5q<4<8@aXYWsu{CPFU%R3SV6wa``%U&-4V;1B}3ra3<1`@v7;xpJf7ve^Jg zScq{Js9BQfkTazOM3{7%D95)D7hYeYnp58KR{qhzpmWcOku7vy<4+PhLh*ujMXV`v zh@<(qR2fe;u-43_Y=U`_pkq-DsS5+Cx)>28U=0F9ldz6>+Nmzgo`^}1%?5(FSXH)iEopuP2WW}eDVuYiKXQkd4^e*o zT3Xz4Z1WKbO8hi;B7Yf0eD;#r$wPFsekbOCO=_!1ZMH82p9#mG{;u!q_Qe)2UHK8p zwI3{3d3N*AchzOn`(EPb9>R{xRJkMrHIQERO~mRo&oAl0?K1^BweLw@zjs(6_RmNo z1s-%l>w#qb=|~-ZvD_@KrY3zxdcm;Dj6q)SH@}bxv(s?*V_^>LBvFlzuQ3B8<5L}% zx@awwC!INl{WZFLV66VVyFH~!4tiSNprWa|j1+4<{IPVAZ0H7Y`FEYX@MyzV#5?H1 zbo+}vRgG}gyE%{U_6EG6tIv_Hmk`ca`8hHB?x;Jq-IfZ27ak!|FN{;;>eReH8|5Z~ zC2klYfP(dc@A4v}iSuv!)a(|jM~Nmnk)Y~(U(0szsuwlU>+B+sP>{LnLj8a6H1|A! z?oVx&-nmqWG>vLU7kjr-IUVA0(z96k`X!^i*u9;1lziBF#dI}C?ht+M{7iW>MpB!y zeIKiOC?64fhp_WVY+I_LILf#)`SeZCKp{AqeHTlTy_jwAP|bZju;eC=52im~%F#iY-e@3AIpi^Okuyaz{6*NuXEl`mKA6V_u!JT2 z-4W{8REM{d*MjzOZrdvlaZhq_y(E)<)Ac%8>g`WQ$tCTCJ`Ew}%006hl~nc~$~k@! zbj6FWV29|JD7SrO+5p=yP@jeLQb?zj|F7_nzBAmulZzd{G_m{|Y$TkBLnCIPtBD>A zPWdjAEDck%>q3X;+4ECl%z;R=F_!R8_dJWkzd~FGq&WpK@MeZ9v_Gn@7%{f*m^62} z6x8iC#AU}vmx%>4^+K$4eQ!jvn0xhfj${1)xC#9H71H~~Rpr^Ec+j_QHxxuRnQD=};hr@70ExNTzldBNNB!~OHo=4vkm`I!ig?FkvdL=QUj&8(%i zjH1GiyepywCHU!p7{MEg7PUR4F_{!N@jjIu7GSj%Z*XIbILF-U#;hL*DD-;ybWXnd zE=6Yy%H`tH2tQMU&D1jTjc9En5N4?}*j8?*xy_j?VpSRQ^3m*kuOz~R;zwBsyzX%V zG1fO#%}Ke)!(Dq2;2i)>|D=2_u*ycSS;CqBC@Zj`?uRp6xX0VIv zPKLBTi@3Imfp;1DUC^vP7t6t0IX1V{)PLbP4d0B7ob93R{X-5~BrRMDd~hi=3SoiM zW=pt9U3}byCJn%W>N=60uR`}Z(CU4%dosJ_VDVWTJq6jK^RAqYY^YUXiF#2&(48kW znOZ)(V{MJ(?p!a>fkW$bKV^!t{T-BpY6?c!g(?=(y2*VmQeNip)|O4m`x&=ClP$V` zokQ$E!_Dt9L&}#Ke3OHQA}Pq5#;@HtgX;W^AK7uRT*|3ppJxBz*qbD8j8F1pcnbQs zfcE68CgAA}NfV=(y!9j~80LLJOf|hIWIU&Rv3IXA^%MY3zF_Y!T{4G!!mc`->UJX6 z^QBPWND`Pap{aEkK(>3m7nIIJ7bT%$Km&^QQj+m|`P{c8=6pcJ4k?76DZg~|6o&0E z0_vX8AhnTFE{~r)0`6J8JXsWo{?73;F-)s$?3lRu-{R`~BXg%0xoviT@kKwZxx`1v z7jc+=7&Yx{UzwwnN`?A988QmklCaXz{@|x87}C(fPN@c(JCzr!h}_Phg}3GAjpZ=6 zH_@u$q-|7=G{z6SK%2T8cRJ3__xxQdmyVxZkYU5nV!L^lHhSZ~1#i$K_=SDvi!7ft zsr-&VbBBR~%+*|`^BA*TV_aklVpG(6VZ*&r!;iKgN0AyBmCK|gu5{jmAv z&K{&@n^H{X@TJgViDRQeP<2|YOk>@12eY~Ep>`+Y-A7S{Hv;}3w5udwiDbfl;7Z}9AGtoSv*VG-QItwl1J8%u5dt=WHQ_>&B zd%!ZkaNOF7Q~8c%2rGK%(Wf`R`BKmR@U%y_9Q^s%nXrGpW|sFS1xue2g<#xPa>6-} zizLX;86Ck>=|&j8C(CH4qT@hbPjPtUsa$P$uT!;f_c!XB*y?uhF2mX9@G`G9J-wOU z7yTrZC3+wl3T=u{#9P5`+C-CfxBWl1q~fnkN@M+mI6hd7mCEVvgk=P#C~O0 zW%7+^kP(iLf5+nvuoy-gZ_(IiH7U7xmcEengBom|u@)Ipd7}Y|K4`lwv3uF`e~xi{ z|J==4gI*)Tp<`l0Pqna8_qZB9C}{~FAy)ftpFO(I1#hK(;QKk}loCd2B)Q$4oMgdq zb)Kt_@`efrlAo{z9wwjqd^?k&c~z`Otno`hQtbB#L3bndeDA`jz!*4L|8*b4^{Q<5sW=xPqc9{c&93%Xb#FMcVJQif?%Nnq!*L64KsUlr1HG2Bu>P5@=&2zD{!898Qz8OIY5I|*AlvA2fqfB_pneVUehs&< zo=I=c&M`IT+ug>;ZN=viF+|`*LZjkYFz6hPYWtp6L9lN4d*k_Y7}6@puN#E;*}3O5 zOhtLgc0qkvak^tu72p7w7StW1-(Tv)5y8%RgNAZ&o-bilhF&O3Ph%TP;m>!2+zqa) zMF8`QRmr_41aQWpTVuXpo9SmB4{`2g^zAT*kLm;G)xjAi-9D@*o%`HySoR)oK9jZw zZ}-PRcn~UND$cnNyZ;Pf?*zEMg4k1zTy(0r;bYL}UI3J{nCzUd4+kOQ{hPjAOF_#O z4Kv5=!JI#gO}gL>4BtKzMd@9yS7wsN7xWWqNa~nT!&l$$#%(57_X=7(l5YB(3S}Yw zk$g9labpX1>Bj}sh~U=zMs{77V8DsuL7WUebA(hhp$9`{fFItz5n2s0(`~ZAh8(tc zde()snsXcBPehjZv4$n$uKnw_Tk45Uf3&AU%|Ie8VPR`Q#Fq5W`NJuEf)LJ#r$J<5EqzfDwrk zFX#~W>}40``KOVoeuVFr=JO=aD@$-24^7HUd%qYtI z7D+_~!kUp6v8RtIN2*?(to7&y`_4(V9kK_x{(WfBjwL2d{PS%TH;u~1%8$PT4iw^M z1pF@9lS$2-aP%_=KCVocrN(@-ENA@W#uYy>IfWkS8&W9z zTa6AO8Sh)Z+K!V8B(f(SWPG60^q-8|;QuyOP!(7+7d+7Mz*v)myS5%$Cvx=VF=k=Y z=>v0ZL2*n`6K!Gyh2KiUcW31;aQGf;C{w-EnBH+Oo=)*=ee0i$UXGqzKVLE3Dp=*c ztp`Cd?5{Orfj6P>a4+O3er|uU8wc`r0$VOUSCC9Ap+;RB#`v%6eX6k!$0dVtl{d9& z7a^AnYM{aLlc2_~>X=xB#9D>@2q`Z%?a`UUWPhC9`YpRpyknBQWD@O>W^fbXwR)bn zJ8_}KK`5tS3>NxJg$YS$qkUVx<~g4uWN`(3ViiUAxA#avo4D?If!`kS{%VWO2E}0C zyN?4>(j+nDH9P8C0Ed>)mi9h9GB|4IT*)>2^w2<{GoYb`?Ap(%hcWgvORBxAdvupr zot9bSk*d@V97^GcxZ4THg`L;$3topebEE=Ye0U2f^t(SCa1xO+vp*wXOg;#q(WZ!o zcEccjk+ao-m;g>z7r7jSsJ8p%bz=4r_-vg-N{#4TyMO?BKT`*wfYLD}hc~}Xlr2Hs|=Cp0&MatJ7 zXu%(rNV!Ywk4kstl;Y~V!97S-f9iLBiqrOSZ){ls4M?-G^Px8gbX_X4-!k&$l+PJ; zdCGSqWn^6#wSOz5+ULCyEdzDnwOgBv5@NLrO3=K9DIYoY2q_o3d+Q5Mw`}XyebqYc z)bzU)oBj7*aFb7eNEL3}LpRt{e{~a@fsN^UHO?c2vNzURak@KoXczO_bn|RqWur)f zViO*0jb~cp#eID{999g^$yb=z3KIWr{L(ASS`bU)2Se`qRj2*WH30xiXrbA)8^NCm zNWgC_f$GDpcw|NT``uZBKe;jTo-c%Kq^3VA<2XXX4o)T18(rS3bu8Z~q?)?$NAIzo z&1M<+7TkICcb_4(dDceMd$$%FzaAi=`7WD}v82pV-mG(3WH&l}aTZ~-Gk%RNes=uT zy5WUW1Y%&3^@8gh!>L)&K?}cr9wXS3B6_j|guMN)Z;SO0d~J?%ilgZ@5zY~>#cwqc z6<(~a_xV~BY;j`|y42zJeI<9<=4u~Pb6ay~YP}0B$1QRgci3O;MnNn;VfCg#JLmBW z9%#z=$oRV%MGOJ0zfwCvK0esiA(@aG*sq3$=pb<*7-Pm(18LY65W1^F-Q2Z350?~m zJ9$Pk_7y_}6Cv|*s|nj9L?8a^H&CmyFs0j$?>q(bq2Pah7KyL*LnJq?)%O3!omYd4 zgm{4dSV89CUi|p;6|pp;n+GWNX5gG`?dz#>ecwtOFB7FmBww-f@-BwUay3kSsqW;g z&(|tNj>rE@EyhTIOoo#HarVu@|t@~G0UBJe2QjeMrf*1x7A2F zV8W}eAaJ`L_Jrtz>-Y8cMwPa-=t^!>_AE)6Y7+!jr!NJ=n9GbSnn=pU?n|nSYhUPS z8Pc&MARFEkgsyeN`*e5GZ}n+J(z`VNu)T5|`<|-Yt5D9@Py&R1`)=B=#eCycEw;LZ zq~^H_UdpIYEV^l1o+~QrRAu_o9+#C&HEbnOcm530Cgvidc~n)8Pkec;JWNe;jn58- z-6v;&(l!{-ZgL^BSDu?Y4!9L4y+oAZiIhD*Ip}uWwH`{g_aNZ%HGcxgRC#5J_L!K% z1zOw33CXp^C1PcCi%QDsEM1Eg@vD){de8^gQGqRCvQtf!rWw?beA9zZ8 zd=?JhNp{a0@`JeJ`%A3|6U%~Iof_z+%|G^!9zJ4s4e$Cs@A_G?c@PwMvPG90<2ZcT zikI$c#qUNHm05tczOnnHHb=76mTBy*NN-B^p_xCi?X{$&m}r-~UVLS~)#`ZxQn)P; zUmt+SAohY<^^Ze#DR$hvQRqMToKWZtGm33LMBwSU*-v!9DP>!sl`@oH=csPFR!<3C zLfOmA+KNGXRd`kdQm{FRg=n6=lv|yb8_-@Hzkq< zA@+lE6E7$J?6oIakLOL9+?Qj*ux%kJ!cehOPc@+jyjTOjR_Xw3`bM3zY5ZTKz3R7*tK>0oJCAxuo^e`=+i7AOg(}FhGV4d9`Tf3 zT`GdaSw{&f<5lSx8*2`?B2di%E2U=w9_ydZW~!5Nq*(f$Zm~c0wrHA*q#& zziVuE#AW>|`})qbng}#4USI1k!124$ zZoqN{!|89M<}0Psi)hY z`-}hd(|1dCJFV{WZhbdoe=UE}q3#;T*m5G=xXbWMFJ0P<+SXeKz9Pqu{>3%GTGOr> zCv=P~ENUQhYm+g{?K^#US{_x`;`c&c?ss@YSA`*&P;3X=9Xqd3BG{0;us^ zI7HtTd#O?cJ!RTK3zW`fD{})=;H_=hFUN&)ynx`-Ww0g)fO7zhZ^ig8UPxpNA`wbn zZAzH>qI}B;)6a#fCJ+%Uy`~fo8h0{EoX57n1v}ggqOTFED3;IzpUC(_d8CDAtq1L@ zVd%^z-d&mC&4FSg6z~0D6*^;uh;GxV)_DsVWH35XV!(XPlcKE9Lr2DMoZh|`p|qsc zwAu&`TQsy^yn2-$tQoV}SE;R~rec_~T)Dw9gld%m(Q%DB#L>1!mE+JBMwfWg_u2uK zhu??vE82zrx;oRs*s#$T%GR+ZhH{U14|oyprauX^TzI4Nm-gB@n0upijj?AHVB{8k z6Ngil`t4rK#IJzc=nhem=Mx{c$$mX@Mxm$1Ob5IWjY@T)BOgxs6gj0eJ_q+8^WRL` z58KbQW_|nn4Gs^mU7+c%BjKNkSi_wZ69dsF28c*44gU_eL=&xRfOQPqpJA7#*mAoe z0<-_skfmWiu15xTzdAEx(y2TAmh7FT)LR_bD=Y#>Zs`LU1S%$_qtHHNDk);?>w-{ob-&ZO?3H}= zg2%HrA&r9k%s4qWD@4Gs4wX`^-2~MVKBeqLDYO#zS%+k3Dc>t=e(uXOfU756@~|H_ zXmm|#DK_a=MZE0kppMYZ?>0oCZ|L?-=G8dYAykao2_`JbUB7jpSmr>?T=xAwzqSkI zVf&wb<7)SjzrCT0M`5nKkLq!TT(#0sdSLLKJHv9a*FTv0tl22X+$UOnB@f-dgzY`W zKbR(M-|8PBO)+OE0N@}Yr1yd4yR*?b17qk?Qi3|aaD+MWYGvgQ?NF{2wSa!|Wav9~ z2=jeO>f~z#{fhAi-H`Jl1QDTX*v0LNXH9wwU1T5XbjJgBg$OptKDJ?Zi zli0gvDCvI<$=+vHw=QV@{KS_zDn}VK4R?D?uh-ps6t*CoP`@PQ9eqONZJZZ|<5P2hpS6n+rDZPPY=l8TAm#bBV zJ+X?TdS#;g{AM1$v|>d#m_8Vck_r-*uy-;X26d_WuOpqEsH6%Gjy#A4S%rw^Lsef; z?)npU@y8!k%sdFp@6&LLZ{vGu>TSN2*5o=#+b-ayzQ}7ml)=VHx$*0!X9+)HN{Lf# z3>Ret#3ptcTd}-6Y&k}~5_pk4FVt^{c#9uS^UQXil}LTiI3ojE+j6M1eJ1dxEjK%E z5kqyL$c#+d$hbEJ^k|~a{!^{vw97!MM)r?omk_@q#qAGtDY%cQS?%eyI2Dvp8ra`e zHUF^?i1O1yHxMU6;@~*P>XUutCBwI`F#h9#S6YXhZEs*GH3$Ma{4^BY8;BcRhmSYO z;KV|9zH!ciTkN_ZBv0zIzxdqW=Ug+ujUc|+CTLb0pZe*irtkqxZ0Ab`=Tcr2|B%?b zFE^$eQ{O+_>`l6(%(K1 zv#Vj70Yvukzgio#U@MIR& zuoth6Kkct^s9P!^POMTav54G@o~JIk5`AMns1p1lr!NR zw5u5hDR#;nI>hTG53#t!JAPT#Ai^ZYaseUBf4A(9|2Pl*qN8g^XXhQ8hh|C5) z1qRj1SyaFOZXC6))KHGhAol1xCW?jf-h=aNrV@&O7ung7%r>THN#jdEYQArrW18tS z2}*;mvUr20&#;-{=+_sI4!NY7iCc~rbm|R>;dFk^W0;{d)6T3w)g)x?{$YQyNx~(D zoe9VuG_guq=-T>Y-pamoyV@Q6Wz@4j`%~2szR_HYIU6`a&B7`8`cld}9*!20#^>7ZlNYq`9w1waKYc3u9BMfw`{-oG%M)JbnfQ zSs1o>{nY*i#M>z}Z>K7K+A12y}<;0;Kqnqu6DhD2k2jx1zo{e`y~L<+|z3Zj~^ zcVR*1`l%|4MiVtMqp6C{^R2J39lNT9UR&X#$YN;AJ$|V9-;6s>aCP3#qf!NmJ$U#x z@|C!K_C|`EeD$?3R4p6M2O&~#BE*^B;3_?B0(X}%f*{&f= zNM_2AdrGowJ|iF>r1PP#tnBxRK)RAu8TzsE`jtx;299s!0tKpafp$F=#HYGn@p+u? zn`~BW5%u+PawiHG3|Y=8R)Qm5P2%%ckEqV6=O}z3XlTS?Py06VdC2a>eaFnwzi`#* zzYa>^c6j`Ndam?(k(l=y@+rfvuzT-SvQ`sZV)7*mg75AaZS2&IwDHXwhg28h!nyQ0 zZ?g-`VVA?3HL;(!Dm79x!QuOY&FHf0FL6D$dnDp0x=4rhTMlW8?s`dg9wqiep#tYW zG~CW&3vPwf4rOOOKL=u(_sVM6UI;28V9$91_Sdc?e#vBqfzAW?ms`8obLc%>-UpXB z5=8v&khyGkL5Gv4u4a~hr4J~9mhX$4VYy*P7BZ|b9E_uXmK$*uR;(^1ps+&!Cj~O^ zE3u^Gu=0K-A6yi9ntg6TV*!)+yPLuT(}co{UCM#LN6sJplx4OHz5*?`xXC_B@sORl zTvF{SgJpNe=Zu}J=D?T9MSVNwmgK{j&u69|bI08%)hG@L7P2vhf2X&JiC^dw50%B} zmYM7_ASQfspDaA+E|0W2N78?b{I$3hRZLT86;&+wX{vmL@&mDVOOqKXA4>lO{q^Ys zfFd0KGbV#6*@54T+V7jZznFnB*Gf&!Q!(?Zufc~ycXl6>;r1A~X9I`Klr4{I7X!|Z zh;M}WH(hK+`G13P?TzHy0wNB^&$VPe?#+95CMY|ohaqKUgZ6C zDbX)B_`#U{u71QAAGgc37(`Q+^ntoJKZ22DrQl8(D)XSIr-zS~mvD`DPZD4MA~N7Y z-Y)r-+e5ZcX$4AVA<;ae_uTuV@&W@F7h<-n0}@J{UP4d;DQ%DA#j~Ks!q#uV z7mK}+m8QE588o9pv3+zJA3=5x8PmPGJ2*NIy+8aOX8DGa-Xy3?9WP4_XS(S%MKo}( zV3gM)x+Wjzf&w}E#2*1pdrdX}V>*7gYMuIi)V-4@hBW#x7vy8rl$EqI_nVkO;Sa6B z^-Q;~@vqWMXT7hfk9gdV+4G{vj1N>jKRN$9fVA@&JAu9ip#2<)%3Gz0XoDpY#AVMq z8P!3Xq1zrfuSn*1AS(bHQ=RH@bzg4>5OCRE$BQ4#lcbq{VsDF3jWu8NVv{PAA1dL!YF?AEIUE z>HK(ZQMFNI;iDgi7mot+(`nn{`dt0WKb9L`XI)09Cbtn|o*hX$4cc6jtx1KNGU%_| z2@r>@f%33oU~TP3E|}h4rnntA0d?Lt`I+#IMe}EsW_LG;Jc-Ts!A{FGwas6Tz0bP? zbZDRS>E~B&o^l9&P_od$5im8gG^v`-YX&N@@siFW8PZ>+77jq9+#0GeDpuw2Y^UST7EcHDR9N+F1@jv;z5>rMF^_? z*Olq(KlU!PvDFDF!RkP;?ahg4tpq$kr+>J|A$ByDOZQn;CEppJWQ~A!oeA8Vg*GJ6 z=p$gKMZY3ZU&YP7KeRLVEAi7=3>HEN=mW8+{M*-?>X9Xn_gPA?CO8SH=KjLQw8Hy# z@;iBPZ)zkzxpm3x*%XM5MS8H%4ucWsPw>+!qUn+Ky9-k&01!C*CCo>q`mr44&48V% z-uH@Y7!b}IV(c}1XIkOI3w+{2%ccC-k6V1^fVTjIFZ;^nX~~K`p7{F5?jPh2@grm2 z{3V6AMv~8R;o@$(*2$UXQCv&84LgLkBh^LH^WPBn;DL$>Dux#$_fp9^NX88P-a^`+ z4$JnY_M9n~-dZZI;Rcz5|FAxx*C6jkJSAfV-_nmV_h#;UT2tzz$S*`-3AzhZP%OE% z9JMT=0E7E91ROU)AliQeh5R*La^_#&fCkjC0+IrWY`K1#yee}3JD$YDYNm|wOGNj( z@U$5xO=oJ2AkZ(sU`I&zFy-#m;YU(iB`A8lu>9=_vb)5OA_r7uTDO|GYl(Q1Q(SyG*GYs zADGn97qH&q|Ld$+Llxe($MFkzB#4QLuDGymKcRtQruWBtH zy3;4J%n$*}K4dmOF`!d}yi`QbrOCr=vJpzdd7LowpYpsLpFIIUiA3WjG3T$g7VwSo zHSsSZRkz#86IwZcH<5#h^=i;)e&iQ^VGP9p`Hs~TsSU{}V!8~}4OH=Dy_XzT&R`oUMcl8Czj!X5 zF2=DiXRxS5tay+{T0FW_DatfVu~u4_B5M4jG+1dt2(miD!VRb5)_R=LO%`N7P447= z^1q3?fRMqySkbw@MckQi*}#Gx?Oulsnh(MMYsoi`8ZdB!Wdr!?C_HoiCg5orReGVE<~{{p+# zQc$Ow=}$|kmNpXB=;6!=am#{e?)PxX*hM}8{twWB@gxc;E7=Fq7C4*hT8*j=D=AI*#fGYK^^Ux|1C1Ija!~$c z5>={diA&|3!G7-~=fNmINrz!(iP;<<9bB3@Xb z^Ix(*CeLb*IY>3BF9@&2a(uRoOeynDx~eV84mXC%N--1?pky2vV^_Ul_n*Vg$+yB0 zzYS_CgkJfua$2xz=H6Jw9N7{)N#w}U-b zIi?%7%HcxX6r#-^B74P8ou~;{+p3XJIJ9zaYIB2&-b#b%X6W3ca>;*2PmRH>VI((WtEgAO5k@~Fo3;t&m z`s&#R+phzetY+XZ+>%1~2vlU3q@N3t!%O<#PuFE6$3Smx+^(749E&33{rjO){1Y#i z9n4K@?Rz_uRPpq48|=GE+d!m)wHO@S0oy7O?rdD-V~k5C=B z-%aRuJP#pDVau+3r}IF|j@_j>G5fjVlR{W-HU?Rea*r_wgRNAWm_%S^XzvN5ML^ek ze{5;@D|41Ag|YZ0^&s_()lm8MXT#$z|1>IS#=FlYgvUZrgZ0k@VVFO@O-~{0)qo>A z3*-ZT>F$wK<5ZG1jx{hr`=~P|aKFt!MVC50rG8#8roG zsR{l2Wp~@hzNW)pW6r`xlNh=aZTk|N{gFveX-&7zk8tJ5O3I20q=wjk+=k0Q2 zzX93Ift7+~gf$mz;DZ`Z07ZQ5BRL}ZBfl`$2TV0#^MHbnyL(tS(9pYf_m#qml%iR9 z*i1RmwK`Bj&d}X-hJsie-U-Hn?*u_E=SToOB5l)7c<6nsmd4ND9PvXzyto*>oPhECZIidwK=*$XfDv*4`^)h5WU=}PK?pI)iYwX(`J0Q z9aHN|B)k5YM*k`@>`}PcQb0|1&2X6EXz)YjpT#dCtzSJTDW@<@g>sXsO8rFsk8c&| z*`^3!fGNwqC{n=FjKimMpZ4P)yuj?b; z7I6omzFhdncE5;iGLqLG7o@8C7u1HQRrGA|X_-2+2&kfZIpN+HqDrBKnkzYD7XW`+ zY50F*G=36`&vBCAO1@S>p4Xc>nk#Q1N@5y7;E(Tm;rz)F=x8R={f|nes9P22cDxky z@2-GEFDDVPXpN8Te*KBlV@Wkh>|d_l`i`H*Jq4?GS;J0Rbh2Ib<=yMhmE9`r8~r-d zXwqzCsKV$!gLBz~Pk$qRdQu>LEvz0ZaP(bwwV=ci4HSF3?(-*cBY`FiCUAWiYWMmv z&LYip-WI#*u{qwP`OJs1Xzlv6Lio?$$(L9=_=m;|+nZ}~?Tm9imCX%4As%hpZ%Z{Qz4%$|V#A8^&w zxH$t&ohm22JEvOCB%416aNE$C(xbcan7_WRg(hL1K@R?eix12jy?=gNb%lnYcB*V_VBVEfd=^zGXM;$bw40T1qgaO&pdp6jF--Zo zv2@(}qp4oym-^nsg`Jbd*L&mT`HKChkX{e1Z4>fgP}i}nD!t)gy21DXN2=L_Im@Ifdv=FPoz%Z z;Jtg5xI=?=GhOKbZ^MZ@-mNn`ek?@VU4LyUUS{r!ok zCf=wQ3KjnkS&}ZVoZG&YX4KeG#D%Z&Bb0)Kb%#-$f|usdc0dF&`W5J&O2CO2vdVVe z%3Hj5Zo478y5tckmoit`$8$c(Dwi3$w>U8(ik>PVG5-j#JJ)1fVqnMyz|-75?EK}V zf+u~Ek*pAALW*`M1i5j8;3-}CHThUlMQV+hzX6P?)Jn_Q0DiVkM6%&>MUn9LR*X!{ z8pI08&DMYgBa;I5IRcC!Dytj-nXIQ}q1psci9Y3c>9CQc@AhP+8(>GC4>Fu^TNSY_Lfh7sFH3w&KbZGd!5kD<*(e z;D7vyD^FSQ0Wm{NkC}_J5&kSJI3b<$OB(&}Q4VxYy#c0K>&h8&1HbkE65%<8&)WR|l0~ICUMX`SvdxTBKq+{dD?naaMXC;B7V`f9bZ%7a diff --git a/icon.icns b/icon.icns index 78072b4dc017d8f6777b34e16fa8bf9e580c2041..9b00c511812ffea14012e7df7dcb29993bc90ea8 100644 GIT binary patch literal 16255 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 literal 15088 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

Tjc}Y8J4{kJ z2Br+L`1w_sWFfsdyw{WmBW?tq=2Hx(O=IsV3$hJo=tvqi%%CskfgnQI_6Ef0lU>sK zA%T^Y4+^2Z53rLH1cawRrN;K_Ar0>#gnc?eKRgOZ!|Mp8dod@Ma;GbqpH7991DK6J zyrNmEF$rI=tRRX#Ef$wsy@T(gBH!fwUc(1>J1n~!H&Z-S)?Gk2(9938Igop=R0a=- z;x2S~?SW%^m)u3P|BRbqTFNC9+bfK|Gh1ztP#Q!SWN&DwBHv5m_1B;%N3aWc3A0W( zSbwOYV&KkPm~{0*nyBW3NK7@}{W;eGD4l*;dTa(tOZJNzFN#I?W)4(jyt&rvJH*A+ zJ*edPK|VoWf?buFvxc|k!hX!BMrD1Mz6dHftLR7gYtEVVCArD0jVi5^v%5xO;3w=b z!z{X`D@Vo?mhdOV5*$CQKnFaS{XlKvr&*r)KAnk-*pc<#8K^zA(dGQU6Vn7t5<*S3 zX9MFyE(I=R#^Uvw<~0z6{*WybnK@OycO+`$CDa?xHe}B<{(VLlZqYJtph%mR8ic|^ zjEoBB%rjtY{?7Re`}IGI`FweBII0gH&9V-?6h|fTNy7aQ*sQ5Www9>7Lras;JE!3)y)8crn z9H(^dr&T=xDH+TwtE)mOV~bfQ=tpg#i0FAxfvTT|L!j}mW>MBz6yc$gT#B&fGuiU6 zYJ4PGSMRJ(7x2JUJ*blng#G$L>MoMn*$fi8;Tefn8;2}CX?)5%x6zf>yckhdR&`_u z0eeLFQ-%~Hz}5JEP!nn1jtE$!0Rc|q1N$AXY*adebK=N^PuDL`wrfUq+0Do?%lP|C zR*Wk-{*TuVKlL8?AIiBg2kPq$;=XoSyI4f^4){I-*MEr2cSFNnNFvM0d;4F zUL#((R4;cJMKlm}`mX8B_{aGR<=l9$<*X>SOIz+D48QV=VhexM{*0ms zG#MoN!(bZIf0H(lVnAcZc5i{kI`g(-k3 z9_0X)`>yWpkDM5s*bAAdLN!OwD~Er)TdI;wBJGJz*zfnZTDf2D2n#(|WMI;Tf%aNq zP8`wb^e1obQou!ic@1rH1KHpVX*i$D!r(IB|KQ+oqstylG0;o*v0qk>IF`I-S8E&K z+#J!|)@w*+dG^4ymSgGqP>-+Qr>%?WC56O>wD)rKqw2c)E?{^;Syf*|nZY7zTPeLi z;25ADbZKx)_G-FHs0=UEMWUHdvzhBn6pNXf9)kV#An1K$qEddJc`!A2AakJy4v_JV zMN|BZ!b~q1(tX#^2lADGSp{zk`-UsD>&Ez4#l8Dh|Ks zGQkOuH9cOq9k(xJo5@ce*AYF1kYRhZDc+QkwuMlC+vE+UA!A|mg{2pgmTTbwLOI$T2Uo)Rz&So&P|nz;yd!%v)~_L44OQ`Mc5-SSu8xjkk~k+oI257=tgh&U0) zoJyRswjKXs=P|Du+SN#LU)4~bx+ItOSmuN;t(@+>EL8Efx^u~QHdu){RoMEeW7`YU z4tXP9veGR-^~097uK5FAh6~3;AEl0%9@Cu+`!}%bI=uUUJyhd740v7qoaA0;yGibe zg%xN|w7Xz|y14;out8>If)*x;m;>7zV0c~=N*93;Y|qXuN&T^d$sV!~s0>X#7F5HX z|H|$rWFaqIMqBDl0;Y|R$I56CzYH)Iz21WgA# z-svdW!%HH~A+F}Tc`Uz1mN^u^MQg_nf(KZR6X3^XMTNI#4%g*kIeZRUZ?GIe>

Y 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 NlAOA1t+ZwM{{wGye<=U} diff --git a/icon.ico b/icon.ico index 1bd21851c819dedf5856092fb2dfb649278199b2..38af64a5980e929712c7de2dd48028951f0642c3 100644 GIT binary patch literal 270398 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

) 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 C*dDq7 literal 270398 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 From 8d22ee87d00cb277bf3db46407d98f4be64317ca Mon Sep 17 00:00:00 2001 From: Joey Payne Date: Tue, 9 Feb 2016 16:52:55 -0700 Subject: [PATCH 09/11] Added new icon svg. --- files/images/icon.svg | 64 +++++++++++++++++++++++++++++++------------ 1 file changed, 46 insertions(+), 18 deletions(-) diff --git a/files/images/icon.svg b/files/images/icon.svg index fc091ea..bb7da5a 100644 --- a/files/images/icon.svg +++ b/files/images/icon.svg @@ -19,7 +19,7 @@ xml:space="preserve" inkscape:version="0.91+devel r" sodipodi:docname="icon.svg" - inkscape:export-filename="/home/joey/Projects/Electrify/files/images/icon.png" + inkscape:export-filename="/home/joey/Projects/Electrify/icon.png" inkscape:export-xdpi="1536.9606" inkscape:export-ydpi="1536.9606"> Date: Tue, 4 Sep 2018 20:25:37 -0600 Subject: [PATCH 10/11] Update README.md --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index f74ccdc..c0a6399 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,7 @@ +#NOTICE + +This app is unmaintained. I do not have the resources to work on it any longer and haven't for a long time. If anyone would like to sponsor this project or take up ownership from me, I'd be glad to do either. + Electrify ============== From 8467e6f6e34f2ff230dd39105fa8afe03fda15f6 Mon Sep 17 00:00:00 2001 From: Joey Date: Tue, 4 Sep 2018 20:25:55 -0600 Subject: [PATCH 11/11] Update README.md --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index c0a6399..f994d32 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,5 @@ -#NOTICE +NOTICE +====== This app is unmaintained. I do not have the resources to work on it any longer and haven't for a long time. If anyone would like to sponsor this project or take up ownership from me, I'd be glad to do either.