diff --git a/README.md b/README.md index c60d719..0c7d39e 100644 --- a/README.md +++ b/README.md @@ -125,6 +125,10 @@ The Rest of the Distribution The files in this directory would on be included source code package for developers. +* theme/ - This directory contains QT stylesheet files of the program. + The stylesheet files (*.qss) are used to create the user interface of + Hosts Setup Utility. + * hostsutl.pro - Project file for QT. * qthosts.qrc - Resource file for main dialog designed by QT. diff --git a/_build.py b/_build.py index 2a043a3..5ec3ee1 100644 --- a/_build.py +++ b/_build.py @@ -14,7 +14,7 @@ # PURPOSE. # ===================================================================== -__version__ = "0.8.0" +__version__ = "0.9.0" __author__ = "huhamhire " import os @@ -34,7 +34,7 @@ AUTHOR = "Hamhire Hu" AUTHOR_EMAIL ="develop@huhamhire.com", LICENSE = "Public Domain, Python, BSD, GPLv3 (see LICENSE)", -URL = "http://hosts.huhamhire.com", +URL = "https://hosts.huhamhire.com", CLASSIFIERS = [ "Development Status :: 4 - Beta", "Environment :: MacOS X", @@ -69,6 +69,10 @@ "lang/zh_TW.qm", ] ), + ("theme", [ + "theme/darkdefault.qss", + ] + ), "LICENSE", "README.md", "network.conf", @@ -80,7 +84,8 @@ # Pack up script package for Linux users file_path = lambda rel_path: SCRIPT_DIR + rel_path includes = [ - "*.py", "lang/*.qm", "LICENSE", "README.md", "network.conf"] + "*.py", "lang/*.qm", "theme/*.qss", "LICENSE", "README.md", + "network.conf"] excludes = ["_*.py", ".gitattributes"] ex_files = [] prefix = "HostsUtl-x11-gpl-" @@ -112,7 +117,8 @@ files = glob.glob(file_path(name_format)) for src_file in files: if src_file not in ex_files: - tar.add(src_file, src_file[rel_len:]) + tar_path = os.path.join(prefix + VERSION, src_file[rel_len:]) + tar.add(src_file, tar_path) print src_file tar.close() exit(1) @@ -169,7 +175,8 @@ PLAT = "x64" elif struct.calcsize("P") * 8 == 32: PLAT = "x86" - ZIP_NAME = DIR_NAME + '-win-gpl-' + VERSION + '-' + PLAT + ".zip" + DIR_NAME = DIR_NAME + '-win-gpl-' + VERSION + '-' + PLAT + ZIP_NAME = DIR_NAME + ".zip" ZIP_FILE = WORK_DIR + ZIP_NAME compressed = zipfile.ZipFile(ZIP_FILE, 'w', zipfile.ZIP_DEFLATED) for root, dirs, files in os.walk(DIST_DIR): @@ -178,7 +185,7 @@ print "compressing: %s" % os.path.join(root, name) compressed.write( os.path.join(root, name), - os.path.join(rel_path, name)) + os.path.join(DIR_NAME, rel_path, name)) compressed.close() # Move ZIP file to release directory RELEASE_PATH = RELEASE_DIR + ZIP_NAME diff --git a/curseshosts.py b/curseshosts.py new file mode 100644 index 0000000..fcfe278 --- /dev/null +++ b/curseshosts.py @@ -0,0 +1,609 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# +# hcurses.py: +# +# Copyleft (C) 2013 - huhamhire +# ===================================================================== +# Licensed under the GNU General Public License, version 3. You should +# have received a copy of the GNU General Public License along with +# this program. If not, see . +# ===================================================================== + +__version__ = '1.9.7' +__revision__ = "$Id$" +__author__ = "huhamhire " + +__all__ = [ 'HostsCursesUI' ] + +import curses +import locale + +import os, sys +import socket + +import math +import urllib +import json + +from zipfile import BadZipfile + +from retrievedata import RetrieveData, make_hosts +from utilities import Utilities + +class HostsCursesUI(object): + __stdscr = '' + __title = "HOSTS SETUP UTILITY" + __copyleft = "v%s Copyleft 2011-2013, Huhamhire-hosts Team" % __version__ + + colorpairs = [(curses.COLOR_WHITE, curses.COLOR_BLUE), + (curses.COLOR_WHITE, curses.COLOR_RED), + (curses.COLOR_YELLOW, curses.COLOR_BLUE), + (curses.COLOR_BLUE, curses.COLOR_WHITE), + (curses.COLOR_WHITE, curses.COLOR_WHITE), + (curses.COLOR_BLACK, curses.COLOR_WHITE), + (curses.COLOR_GREEN, curses.COLOR_WHITE), + (curses.COLOR_WHITE, curses.COLOR_BLACK), + (curses.COLOR_RED, curses.COLOR_WHITE),] + ops_keys = [curses.KEY_F5, curses.KEY_F6, curses.KEY_F10] + hotkeys = [curses.KEY_UP, curses.KEY_DOWN, 10, 32] + func_items = [[], []] + func_selec = [[], []] + settings = [["Server", 0, []], + ["IP Version", 0, ["IPv4", "IPv6"]]] + funckeys = [["", "Select Item"], ["Tab", "Select Field"], + ["Enter", "Set Item"], ["F5", "Check Update"], + ["F6", "Get Update"], ["F10", "Apply Changes"], + ["Esc", "Exit"]] + subtitles = [["Configure Settings", (1, 2)], ["Status", (8, 2)], + ["Hosts File", (13, 2)], ["Select Functions", (1, 28)]] + statusinfo = [["Connection", "N/A", "GREEN"], ["OS", "N/A", "GREEN"]] + hostsinfo = {"Version": "N/A", "Release": "N/A", "Latest": "N/A"} + platform = [] + + filename = "hostslist.data" + infofile = "hostsinfo.json" + + item_sup = 0 + item_inf = 0 + + def __init__(self): + locale.setlocale(locale.LC_ALL, '') + self.__stdscr = curses.initscr() + curses.start_color() + curses.noecho() + curses.cbreak() + curses.curs_set(0) + # Set colors + curses.use_default_colors() + for i, color in enumerate(self.colorpairs): + curses.init_pair(i + 1, *color) + + def banner(self): + screen = self.__stdscr.subwin(2, 80, 0, 0) + screen.bkgd(' ', curses.color_pair(1)) + # Set local variable + title = curses.A_NORMAL + title += curses.A_BOLD + normal = curses.color_pair(4) + # Print title + screen.addstr(0, 0, self.__title.center(79), title) + screen.addstr(1, 0, "Setup".center(10), normal) + screen.refresh() + + def footer(self): + screen = self.__stdscr.subwin(1, 80, 23, 0) + screen.bkgd(' ', curses.color_pair(1)) + # Set local variable + normal = curses.A_NORMAL + # Copyright info + copyleft = self.__copyleft + screen.addstr(0, 0, copyleft.center(79), normal) + screen.refresh() + + def configure_settings(self, pos=None, key_in=None): + self.__stdscr.keypad(1) + screen = self.__stdscr.subwin(8, 25, 2, 0) + screen.bkgd(' ', curses.color_pair(4)) + # Set local variable + normal = curses.A_NORMAL + select = curses.color_pair(5) + select += curses.A_BOLD + + id_num = range(len(self.settings)) + if pos != None: + if key_in == curses.KEY_DOWN: + pos = list(id_num[1:] + id_num[:1])[pos] + elif key_in == curses.KEY_UP: + pos = list(id_num[-1:] + id_num[:-1])[pos] + elif key_in in [10, 32]: + self.sub_selection(pos) + self.info(pos, 0) + for p, item in enumerate(self.settings): + item_str = item[0].ljust(12) + screen.addstr(3 + p, 2, item_str, select if p == pos else normal) + if p: + choice = "[%s]" % item[2][item[1]] + else: + choice = "[%s]" % item[2][item[1]]["label"] + screen.addstr(3 + p, 15, ''.ljust(10), normal) + screen.addstr(3 + p, 15, choice, select if p == pos else normal) + screen.refresh() + return pos + + def status(self): + screen = self.__stdscr.subwin(11, 25, 10, 0) + screen.bkgd(' ', curses.color_pair(4)) + # Set local variable + normal = curses.A_NORMAL + green = curses.color_pair(7) + red = curses.color_pair(9) + # Status info + for i, stat in enumerate(self.statusinfo): + screen.addstr(2 + i, 2, stat[0], normal) + stat_str = ''.join(['[', stat[1], ']']).ljust(9) + screen.addstr(2 + i, 15, stat_str, + green if stat[2] == "GREEN" else red) + # Hosts file info + i = 0 + for key, info in self.hostsinfo.items(): + screen.addstr(7 + i, 2, key, normal) + screen.addstr(7 + i, 15, info, normal) + i += 1 + screen.refresh() + + def select_func(self, pos=None, key_in=None): + screen = self.__stdscr.subwin(18, 26, 2, 26) + screen.bkgd(' ', curses.color_pair(4)) + # Set local variable + normal = curses.A_NORMAL + select = curses.color_pair(5) + select += curses.A_BOLD + list_height = 15 + ip = self.settings[1][1] + # Key Press Operations + item_len = len(self.func_items[ip]) + item_sup, item_inf = self.item_sup, self.item_inf + if pos != None: + if item_len > list_height: + if pos <= 1: + item_sup = 0 + item_inf = list_height - 1 + elif pos >= item_len - 2: + item_sup = item_len - list_height + 1 + item_inf = item_len + else: + item_sup = 0 + item_inf = item_len + if key_in == curses.KEY_DOWN: + pos += 1 + if pos >= item_len: + pos = 0 + if pos not in range(item_sup, item_inf): + item_sup += 2 if item_sup == 0 else 1 + item_inf += 1 + elif key_in == curses.KEY_UP: + pos -= 1 + if pos < 0: + pos = item_len - 1 + if pos not in range(item_sup, item_inf): + item_inf -= 2 if item_inf == item_len else 1 + item_sup -= 1 + elif key_in in [10, 32]: + self.func_selec[ip][pos] = not self.func_selec[ip][pos] + mutex = RetrieveData.get_ids(self.func_items[ip][pos][2]) + for c_id, c in enumerate(self.func_items[ip]): + if c[0] == self.func_items[ip][pos][0]: + if c[1] in mutex and self.func_selec[ip][c_id] == 1: + self.func_selec[ip][c_id] = 0 + self.info(pos, 1) + else: + item_sup = 0 + if item_len > list_height: + item_inf = list_height - 1 + else: + item_inf = item_len + # Function list + items_show = self.func_items[ip][item_sup:item_inf] + items_selec = self.func_selec[ip][item_sup:item_inf] + for p, item in enumerate(items_show): + sel_ch = '+' if items_selec[p] else ' ' + item_str = ("[%s] %s" % (sel_ch, item[3])).ljust(23) + item_pos = pos - item_sup if pos != None else None + highlight = select if p == item_pos else normal + if item_len > list_height: + if item_inf - item_sup == list_height - 2: + screen.addstr(4 + p, 2, item_str, highlight) + elif item_inf == item_len: + screen.addstr(4 + p, 2, item_str, highlight) + elif item_sup == 0: + screen.addstr(3 + p, 2, item_str, highlight) + else: + screen.addstr(3 + p, 2, item_str, highlight) + if item_len > list_height: + if item_inf - item_sup == list_height - 2: + screen.addstr(3, 2, " More ".center(23, '.'), normal) + screen.addch(3, 15, curses.ACS_UARROW) + screen.addstr(17, 2, " More ".center(23, '.'), normal) + screen.addch(17, 15, curses.ACS_DARROW) + elif item_inf == item_len: + screen.addstr(3, 2, " More ".center(23, '.'), normal) + screen.addch(3, 15, curses.ACS_UARROW) + elif item_sup == 0: + screen.addstr(17, 2, " More ".center(23, '.'), normal) + screen.addch(17, 15, curses.ACS_DARROW) + else: + for line_i in range(list_height - item_len): + screen.addstr(17 - line_i, 2, ' ' * 23, normal) + screen.refresh() + + self.item_sup, self.item_inf = item_sup, item_inf + return pos + + def info(self, pos, tab): + screen = self.__stdscr.subwin(18, 24, 2, 52) + screen.bkgd(' ', curses.color_pair(4)) + normal = curses.A_NORMAL + if tab: + ip = self.settings[1][1] + info_str = self.func_items[ip][pos][3] + else: + info_str = self.settings[pos][0] + # Clear Expired Infomotion + for i in range(6): + screen.addstr(1 + i, 2, ''.ljust(22), normal) + screen.addstr(1, 2, info_str, normal) + # Key Info Offset + k_info_y = 10 + k_info_x_key = 2 + k_info_x_text = 10 + # Arrow Keys + screen.addch(k_info_y, k_info_x_key, curses.ACS_UARROW, normal) + screen.addch(k_info_y, k_info_x_key + 1, curses.ACS_DARROW, normal) + # Show Key Info + for i, keyinfo in enumerate(self.funckeys): + screen.addstr(k_info_y + i, k_info_x_key, keyinfo[0], normal) + screen.addstr(k_info_y + i, k_info_x_text, keyinfo[1], normal) + screen.refresh() + + def process_bar(self, done, block, total, mode=1): + screen = self.__stdscr.subwin(2, 80, 20, 0) + screen.bkgd(' ', curses.color_pair(4)) + normal = curses.A_NORMAL + line_width = 76 + prog_len = line_width - 20 + # Progress Bar + if mode: + done = done * block + prog = prog_len * done / total + progress = ''.join(['=' * int(prog), '-' * int(2 * prog % 2)]) + progress = progress.ljust(prog_len) + total = Utilities.convert_size(total).ljust(7) + done = Utilities.convert_size(done).rjust(7) + else: + progress = ' ' * prog_len + done = total = 'N/A'.center(7) + # Show Progress + prog_bar = "[%s] %s | %s" % (progress, done, total) + screen.addstr(1, 2, prog_bar, normal) + screen.refresh() + + def section_daemon(self): + screen = self.__stdscr.subwin(0, 0, 0, 0) + screen.keypad(1) + # Draw Menu + self.banner() + self.footer() + # Key Press Operations + key_in = None + tab = 0 + pos = 0 + hot_keys = self.hotkeys + tab_entry = [self.configure_settings, self.select_func] + while key_in != 27: + self.setup_menu() + self.status() + self.process_bar(0, 0, 0, 0) + for i, sec in enumerate(tab_entry): + tab_entry[i](pos if i == tab else None) + if key_in == None: + self.platform = self.check_platform() + test = self.settings[0][2][0]["test_url"] + self.check_connection(test) + key_in = screen.getch() + if key_in == 9: + if self.func_items == [[], []]: + tab = 0 + else: + tab = not tab + pos = 0 + elif key_in in hot_keys: + pos = tab_entry[tab](pos, key_in) + elif key_in in self.ops_keys: + i = self.ops_keys.index(key_in) + if i: + confirm = self.confirm_win(i) + else: + self.check_update() + + def sub_selection(self, pos): + i_len = len(self.settings[pos][2]) + i_pos = self.settings[pos][1] + # Draw Shadow + shadow = curses.newwin(i_len + 2, 18, 13 - i_len / 2, 31) + shadow.bkgd(' ', curses.color_pair(8)) + shadow.refresh() + # Draw Subwindow + screen = curses.newwin(i_len + 2, 18, 12 - i_len / 2, 30) + screen.box() + screen.bkgd(' ', curses.color_pair(1)) + screen.keypad(1) + # Set local variable + normal = curses.A_NORMAL + select = normal + curses.A_BOLD + # Title of Subwindow + screen.addstr(0, 3, self.settings[pos][0].center(12), normal) + # Key Press Operations + id_num = range(len(self.settings[pos][2])) + key_in = None + while key_in != 27: + for p, item in enumerate(self.settings[pos][2]): + item_str = item if pos else item["tag"] + screen.addstr(1 + p, 2, item_str, + select if p == i_pos else normal) + screen.refresh() + key_in = screen.getch() + if key_in == curses.KEY_DOWN: + i_pos = list(id_num[1:] + id_num[:1])[i_pos] + elif key_in == curses.KEY_UP: + i_pos = list(id_num[-1:] + id_num[:-1])[i_pos] + elif key_in in [10, 32]: + if pos == 0 and i_pos != self.settings[pos][1]: + test = self.settings[pos][2][i_pos]["test_url"] + self.check_connection(test) + self.settings[pos][1] = i_pos + return + + def setup_menu(self): + screen = self.__stdscr.subwin(21, 80, 2, 0) + screen.box() + screen.bkgd(' ', curses.color_pair(4)) + # Configuration Section + screen.addch(0, 26, curses.ACS_BSSS) + screen.vline(1, 26, curses.ACS_VLINE, 17) + # Status Section + screen.addch(7, 0, curses.ACS_SSSB) + screen.addch(7, 26, curses.ACS_SBSS) + screen.hline(7, 1, curses.ACS_HLINE, 25) + # Select Functions Section + screen.addch(0, 52, curses.ACS_BSSS) + screen.vline(1, 52, curses.ACS_VLINE, 17) + # Process Bar Section + screen.addch(18, 0, curses.ACS_SSSB) + screen.addch(18, 79, curses.ACS_SBSS) + screen.hline(18, 1, curses.ACS_HLINE, 78) + screen.addch(18, 26, curses.ACS_SSBS) + screen.addch(18, 52, curses.ACS_SSBS) + # Section Titles + title = curses.color_pair(6) + for s_title in self.subtitles: + cord = s_title[1] + screen.addstr(cord[0], cord[1], s_title[0], title) + screen.hline(cord[0] + 1, cord[1], curses.ACS_HLINE, 23) + screen.refresh() + + def confirm_win(self, op): + # Draw Shadow + shadow = curses.newwin(5, 40, 11, 21) + shadow.bkgd(' ', curses.color_pair(8)) + shadow.refresh() + # Draw Subwindow + screen = curses.newwin(5, 40, 10, 20) + screen.box() + screen.bkgd(' ', curses.color_pair(2)) + screen.keypad(1) + # Set local variable + normal = curses.A_NORMAL + select = curses.A_REVERSE + messages = ["Apply Changes to hosts file?", + "Backup current hosts file?", + "Restore hosts from a backup?"] + choices = ["Apply", "Cancel"] + # Draw subwindow frame + screen.addstr(1, 2, messages[op].center(36), normal) + screen.hline(2, 1, curses.ACS_HLINE, 38) + screen.addch(2, 0, curses.ACS_SSSB) + screen.addch(2, 39, curses.ACS_SBSS) + # Apply or Cancel the Operation + tab = 0 + key_in = None + while key_in != 27: + for i, item in enumerate(choices): + item_str = ''.join(['[', item, ']']) + screen.addstr(3, 6 + 20 * i, item_str, + select if i == tab else normal) + screen.refresh() + key_in = screen.getch() + if key_in in [9, curses.KEY_LEFT, curses.KEY_RIGHT]: + tab = [1, 0][tab] + if key_in in [ord('a'), ord('c')]: + key_in -= (ord('a') - ord('A')) + if key_in in [ord('A'), ord('C')]: + return [ord('A'), ord('C')].index(key_in) + if key_in in [10, 32]: + return tab + + def check_connection(self, url): + # Draw Shadow + shadow = curses.newwin(3, 30, 11, 21) + shadow.bkgd(' ', curses.color_pair(8)) + shadow.refresh() + # Draw Subwindow + screen = curses.newwin(3, 30, 10, 20) + screen.box() + screen.bkgd(' ', curses.color_pair(2)) + screen.keypad(1) + + normal = curses.A_NORMAL + screen.addstr(1, 3, "Checking Server Status...", normal) + screen.refresh() + + conn = Utilities.check_connection(url) + if conn: + self.statusinfo[0][1] = "OK" + self.statusinfo[0][2] = "GREEN" + else: + self.statusinfo[0][1] = "Error" + self.statusinfo[0][2] = "RED" + self.status() + return conn + + def check_platform(self): + plat = Utilities.check_platform() + self.statusinfo[1] = [self.statusinfo[1][0], plat[0], + "GREEN" if plat[4] else "RED"] + self.status() + return plat + + def check_update(self): + # Draw Shadow + shadow = curses.newwin(3, 30, 11, 21) + shadow.bkgd(' ', curses.color_pair(8)) + shadow.refresh() + # Draw Subwindow + screen = curses.newwin(3, 30, 10, 20) + screen.box() + screen.bkgd(' ', curses.color_pair(2)) + screen.keypad(1) + + normal = curses.A_NORMAL + screen.addstr(1, 7, "Checking Update...", normal) + screen.refresh() + + srv_id = self.settings[0][1] + url = self.settings[0][2][srv_id]["update"] + self.infofile + try: + socket.setdefaulttimeout(5) + urlobj = urllib.urlopen(url) + j_str = urlobj.read() + urlobj.close() + info = json.loads(j_str) + except: + info = {"version": "[Error]"} + self.hostsinfo["Latest"] = info["version"] + self.status() + return info + +class HostsCurses(object): + _ipv_id = 0 + _is_root = 0 + _down_flag = 0 + _funcs = [[], []] + _hostsinfo = [] + _make_cfg = {} + _make_mode = "" + _make_path = "./hosts" + _sys_eol = "" + _update = {} + hostsinfo = ["N/A", "N/A"] + + choice = [[], []] + slices = [[], []] + # OS related configuration + platform = '' + hostname = '' + hostspath = '' + # Mirror related configuration + _mirr_id = 0 + mirrors = [] + # Data file related configuration + filename = "hostslist.data" + infofile = "hostsinfo.json" + + def init_main(self): + # Set mirrors + self.mirrors = Utilities.set_network("network.conf") + self.set_platform() + # Read data file and set function list + try: + RetrieveData.unpack() + RetrieveData.connect_db() + self.set_func_list() + self.set_info() + except IOError: + pass + except BadZipfile: + pass + # Check if current session have root privileges + self.check_root() + + def opt_session(self): + window = HostsCursesUI() + window.func_items = self.choice + window.func_selec = self._funcs + window.hostsinfo["Version"] = self.hostsinfo[0] + window.hostsinfo["Release"] = self.hostsinfo[1] + window.settings[0][2] = self.mirrors + + window.section_daemon() + + def set_platform(self): + """Set OS info - Public Method + + Set the information of current operating system platform. + """ + system, hostname, path, encode, flag = Utilities.check_platform() + color = "GREEN" if flag else "RED" + self.platform = system + self.hostname = hostname + self.hostspath = path + if encode == "win_ansi": + self._sys_eol = "\r\n" + else: + self._sys_eol = "\n" + + def set_func_list(self): + for ip in range(2): + choice, defaults, slices = RetrieveData.get_choice(ip) + self.choice[ip] = choice + self.slices[ip] = slices + funcs = [] + for func in choice: + if func[1] in defaults[func[0]]: + funcs.append(1) + else: + funcs.append(0) + self._funcs[ip] = funcs + + def set_info(self): + """Set data file info - Public Method + + Set the information of the current local data file. + """ + info = RetrieveData.get_info() + ver = info["Version"] + build = info["Buildtime"] + build = Utilities.timestamp_to_date(build) + self.hostsinfo = [ver, build] + + def check_root(self): + """Check root privileges - Public Method + + Check if current session is ran with root privileges. + """ + is_root = Utilities.check_privileges()[1] + self._is_root = is_root + if not is_root: + #self.warning_permission() + pass + + +class HostsDownload(object): + def get_file(self, url, path, ui_class): + socket.setdefaulttimeout(10) + urllib.urlretrieve(url, path, ui_class.process_bar) + +if __name__ == "__main__": + main = HostsCurses() + main.init_main() + main.opt_session() diff --git a/hostsutl.pro b/hostsutl.pro index ca75caa..11f4793 100644 --- a/hostsutl.pro +++ b/hostsutl.pro @@ -1,6 +1,7 @@ SOURCES = hostsutl.py \ qthostsui.py -TRANSLATIONS = lang/en_US.ts \ +TRANSLATIONS = lang/de_DE.ts \ + lang/en_US.ts \ lang/zh_CN.ts \ lang/zh_TW.ts INTERFACES = qthostsui.ui diff --git a/hostsutl.py b/hostsutl.py index f9d420a..753501e 100644 --- a/hostsutl.py +++ b/hostsutl.py @@ -14,7 +14,7 @@ # PURPOSE. # ===================================================================== -__version__ = "1.9.6" +__version__ = "1.9.7" __revision__ = "$Id$" __author__ = "huhamhire " @@ -86,6 +86,8 @@ class MainDialog(QtGui.QDialog): platform (str): A string indicating the platform of current operating system. The value could be "Windows", "Linux", "Unix", "OS X", and of course "Unkown". + plat_flag (bool): A boolean flag indicating whether the current os is + supported or not. hostname (str): A string indicating the hostname of current operating system. This attribute would be used for linux clients. hostspath (str): A string indicating the absolute path of the hosts @@ -122,6 +124,7 @@ class MainDialog(QtGui.QDialog): Ui = None # OS related configuration platform = '' + plat_flag = True hostname = '' hostspath = '' # Mirror related configuration @@ -130,13 +133,23 @@ class MainDialog(QtGui.QDialog): # Name of items from the function list to be localized __list_trans = [ _translate("HostsUtlMain", "google(cn)", None), + _translate("HostsUtlMain", "google(hk)", None), _translate("HostsUtlMain", "google(us)", None), + _translate("HostsUtlMain", "google-apis(cn)", None), + _translate("HostsUtlMain", "google-apis(us)", None), _translate("HostsUtlMain", "activation-helper", None), + _translate("HostsUtlMain", "facebook", None), + _translate("HostsUtlMain", "twitter", None), + _translate("HostsUtlMain", "youtube", None), + _translate("HostsUtlMain", "wikipedia", None), + _translate("HostsUtlMain", "institutions", None), + _translate("HostsUtlMain", "steam", None), _translate("HostsUtlMain", "others", None), _translate("HostsUtlMain", "adblock-hostsx", None), _translate("HostsUtlMain", "adblock-mvps", None), _translate("HostsUtlMain", "adblock-mwsl", None), - _translate("HostsUtlMain", "adblock-yoyo", None), ] + _translate("HostsUtlMain", "adblock-yoyo", None), + ] # Data file related configuration filename = "hostslist.data" infofile = "hostsinfo.json" @@ -155,6 +168,9 @@ def __init__(self, Ui, trans): super(MainDialog, self).__init__() self.Ui = Ui self._trans = trans + self.set_platform() + self.set_style() + self.set_stylesheet() def on_Mirror_changed(self, mirr_id): """Change the current mirror setting - Public Method @@ -182,8 +198,11 @@ def on_IPVersion_changed(self, ipv_id): """ if self._ipv_id != ipv_id: self._ipv_id = ipv_id - self.set_func_list(0) - self.refresh_func_list() + if not RetrieveData.db_exists(): + self.warning_no_datafile() + else: + self.set_func_list(0) + self.refresh_func_list() def on_Selection_changed(self, item): """Change the function selection setting - Public Method @@ -356,6 +375,14 @@ def on_FetchUpdate_clicked(self): self.info_uptodate() self.finish_fetch() + def on_LinkActivated(self, url): + """Open external link in browser - Public Method + + The slot response to the signal from Label widget while the text with + a hyperlink is clicked by user. + """ + QtGui.QDesktopServices.openUrl(QtCore.QUrl(url)) + def init_main(self): """Initialize the main dialog - Public Method @@ -369,8 +396,7 @@ def init_main(self): self.Ui.SelectMirror.addItem(_fromUtf8("")) self.Ui.SelectMirror.setItemText( i, _translate("HostsUtlMain", mirror["tag"], None)) - self.set_platform() - self.set_font() + self.set_platform_label() # Read data file and set function list try: RetrieveData.unpack() @@ -531,7 +557,12 @@ def move_hosts(self): "Copying new hosts file to\n" " %s", None)) % self.hostspath self.set_makemsg(msg) - shutil.copy2(filepath, self.hostspath) + try: + shutil.copy2(filepath, self.hostspath) + except IOError: + self.warning_permission() + os.remove(filepath) + return msg = unicode(_translate("HostsUtlMain", "Remove temporary file", None)) self.set_makemsg(msg) @@ -577,38 +608,81 @@ def set_platform(self): Set the information of current operating system platform. """ system, hostname, path, encode, flag = Utilities.check_platform() - color = "GREEN" if flag else "RED" - self.set_label_color(self.Ui.labelOSStat, color) - self.set_label_text(self.Ui.labelOSStat, "[%s]" % system) self.platform = system self.hostname = hostname self.hostspath = path + self.plat_flag = flag if encode == "win_ansi": self._sys_eol = "\r\n" else: self._sys_eol = "\n" - def set_font(self): - """Set font and window style - Public Method + def set_platform_label(self): + """Set label of OS info - Public Method + + Set the information of the label indicating current operating system + platform. + """ + color = "GREEN" if self.plat_flag else "RED" + self.set_label_color(self.Ui.labelOSStat, color) + self.set_label_text(self.Ui.labelOSStat, "[%s]" % self.platform) + + + def set_style(self): + """Set window style - Public Method - Set the font of the elements on the main dialog with a windows style - depending on this program. + Set the main dialog with a window style depending on the os platform. """ + self.setWindowFlags(QtCore.Qt.FramelessWindowHint) system = self.platform if system == "Windows": - font = QtGui.QFont() - font.setFamily(_fromUtf8("Courier")) - self.setFont(font) + pass elif system == "Linux": - font = QtGui.QFont() - font.setFamily(_fromUtf8("Sans")) - self.setFont(font) # Set window style for sudo users. QtGui.QApplication.setStyle( QtGui.QStyleFactory.create("Cleanlooks")) elif system == "OS X": pass + def set_stylesheet(self): + """Set Stylesheet for main frame - Public Method + + Define the style sheet of main dialog. + """ + app = QtGui.QApplication.instance() + with open("./theme/darkdefault.qss", "r") as qss: + app.setStyleSheet(qss.read()) + + def mouseMoveEvent(self, e): + """Set mouse drag event - Public Method + + Allow drag operations to set the new position for current dialog. + + Args: + e (QMouseEvent): A QMouseEvent object indicating current mouse + event. + """ + if e.buttons() & QtCore.Qt.LeftButton: + try: + self.move(e.globalPos() - self.dragPos) + except AttributeError: + pass + e.accept() + + def mousePressEvent(self, e): + """Set mouse press event - Public Method + + Allow drag operations to set the new position for current dialog. + + Args: + e (QMouseEvent): A QMouseEvent object indicating current mouse + event. + """ + if e.button() == QtCore.Qt.LeftButton: + self.dragPos = e.globalPos() - self.frameGeometry().topLeft() + e.accept() + + def set_label_color(self, label, color): """Set the color of a label - Public Method @@ -622,25 +696,12 @@ def set_label_color(self, label, color): lable. """ if color == "GREEN": - rgb = [0, 170, 0] + rgb = "#37b158" elif color == "RED": - rgb = [255, 0, 0] + rgb = "#e27867" elif color == "BLACK": - rgb = [0, 0, 0] - palette = QtGui.QPalette() - brush = QtGui.QBrush(QtGui.QColor(*rgb)) - brush.setStyle(QtCore.Qt.SolidPattern) - palette.setBrush( - QtGui.QPalette.Active, QtGui.QPalette.WindowText, brush) - brush = QtGui.QBrush(QtGui.QColor(*rgb)) - brush.setStyle(QtCore.Qt.SolidPattern) - palette.setBrush( - QtGui.QPalette.Inactive, QtGui.QPalette.WindowText, brush) - brush = QtGui.QBrush(QtGui.QColor(120, 120, 120)) - brush.setStyle(QtCore.Qt.SolidPattern) - palette.setBrush( - QtGui.QPalette.Disabled, QtGui.QPalette.WindowText, brush) - label.setPalette(palette) + rgb = "#b1b1b1" + label.setStyleSheet("QLabel {color: %s}" % rgb) def set_label_text(self, label, text): """Set the text of a label - Public Method diff --git a/img/buttons/button_ansi.png b/img/buttons/button_ansi.png new file mode 100644 index 0000000..abc0496 Binary files /dev/null and b/img/buttons/button_ansi.png differ diff --git a/img/buttons/button_ansi_disabled.png b/img/buttons/button_ansi_disabled.png new file mode 100644 index 0000000..2c07c98 Binary files /dev/null and b/img/buttons/button_ansi_disabled.png differ diff --git a/img/buttons/button_apply.png b/img/buttons/button_apply.png new file mode 100644 index 0000000..5c2190d Binary files /dev/null and b/img/buttons/button_apply.png differ diff --git a/img/buttons/button_apply_disabled.png b/img/buttons/button_apply_disabled.png new file mode 100644 index 0000000..d1aec35 Binary files /dev/null and b/img/buttons/button_apply_disabled.png differ diff --git a/img/buttons/button_backup.png b/img/buttons/button_backup.png new file mode 100644 index 0000000..f4b7ea9 Binary files /dev/null and b/img/buttons/button_backup.png differ diff --git a/img/buttons/button_backup_disabled.png b/img/buttons/button_backup_disabled.png new file mode 100644 index 0000000..cefc680 Binary files /dev/null and b/img/buttons/button_backup_disabled.png differ diff --git a/img/buttons/button_download.png b/img/buttons/button_download.png new file mode 100644 index 0000000..69e0010 Binary files /dev/null and b/img/buttons/button_download.png differ diff --git a/img/buttons/button_download_disabled.png b/img/buttons/button_download_disabled.png new file mode 100644 index 0000000..8d5d4a5 Binary files /dev/null and b/img/buttons/button_download_disabled.png differ diff --git a/img/buttons/button_exit.png b/img/buttons/button_exit.png new file mode 100644 index 0000000..a35e6d3 Binary files /dev/null and b/img/buttons/button_exit.png differ diff --git a/img/buttons/button_exit_disabled.png b/img/buttons/button_exit_disabled.png new file mode 100644 index 0000000..0710426 Binary files /dev/null and b/img/buttons/button_exit_disabled.png differ diff --git a/img/buttons/button_restore.png b/img/buttons/button_restore.png new file mode 100644 index 0000000..671e46a Binary files /dev/null and b/img/buttons/button_restore.png differ diff --git a/img/buttons/button_restore_disabled.png b/img/buttons/button_restore_disabled.png new file mode 100644 index 0000000..1c3f30f Binary files /dev/null and b/img/buttons/button_restore_disabled.png differ diff --git a/img/buttons/button_update.png b/img/buttons/button_update.png new file mode 100644 index 0000000..caecbad Binary files /dev/null and b/img/buttons/button_update.png differ diff --git a/img/buttons/button_update_disabled.png b/img/buttons/button_update_disabled.png new file mode 100644 index 0000000..6aafcb1 Binary files /dev/null and b/img/buttons/button_update_disabled.png differ diff --git a/img/buttons/button_utf8.png b/img/buttons/button_utf8.png new file mode 100644 index 0000000..aac4aa1 Binary files /dev/null and b/img/buttons/button_utf8.png differ diff --git a/img/buttons/button_utf8_disabled.png b/img/buttons/button_utf8_disabled.png new file mode 100644 index 0000000..37c1a74 Binary files /dev/null and b/img/buttons/button_utf8_disabled.png differ diff --git a/img/icon_ansi.png b/img/icon_ansi.png deleted file mode 100644 index 97c9949..0000000 Binary files a/img/icon_ansi.png and /dev/null differ diff --git a/img/icon_apply.png b/img/icon_apply.png deleted file mode 100644 index 61b78e4..0000000 Binary files a/img/icon_apply.png and /dev/null differ diff --git a/img/icon_backup.png b/img/icon_backup.png deleted file mode 100644 index ec08348..0000000 Binary files a/img/icon_backup.png and /dev/null differ diff --git a/img/icon_exit.png b/img/icon_exit.png deleted file mode 100644 index 86bfe68..0000000 Binary files a/img/icon_exit.png and /dev/null differ diff --git a/img/icon_fetch.png b/img/icon_fetch.png deleted file mode 100644 index 4a64e6e..0000000 Binary files a/img/icon_fetch.png and /dev/null differ diff --git a/img/icon_restore.png b/img/icon_restore.png deleted file mode 100644 index 8d50943..0000000 Binary files a/img/icon_restore.png and /dev/null differ diff --git a/img/icon_update.png b/img/icon_update.png deleted file mode 100644 index 24df0d9..0000000 Binary files a/img/icon_update.png and /dev/null differ diff --git a/img/icon_utf.png b/img/icon_utf.png deleted file mode 100644 index 5e89802..0000000 Binary files a/img/icon_utf.png and /dev/null differ diff --git a/img/style/checkbox.png b/img/style/checkbox.png new file mode 100644 index 0000000..b4a9aa3 Binary files /dev/null and b/img/style/checkbox.png differ diff --git a/img/style/down_arrow.png b/img/style/down_arrow.png new file mode 100644 index 0000000..db581cb Binary files /dev/null and b/img/style/down_arrow.png differ diff --git a/lang/de_DE.ts b/lang/de_DE.ts new file mode 100644 index 0000000..8114403 --- /dev/null +++ b/lang/de_DE.ts @@ -0,0 +1,406 @@ + + + + HostsUtlMain + + + google(cn) + + + + + google(hk) + + + + + google(us) + + + + + google-apis(cn) + + + + + google-apis(us) + + + + + activation-helper + + + + + facebook + + + + + twitter + + + + + youtube + + + + + wikipedia + + + + + institutions + + + + + steam + + + + + others + + + + + adblock-hostsx + + + + + adblock-mvps + + + + + adblock-mwsl + + + + + adblock-yoyo + + + + + Backup hosts + + + + + Backup File(*.bak) + + + + + Restore hosts + + + + + [Error] + + + + + Checking... + + + + + Export hosts + + + + + hosts File + + + + + Building hosts file... + + + + + Copying new hosts file to + %s + + + + + Remove temporary file + + + + + Operation completed + + + + + [OK] + + + + + [Failed] + + + + + Functions + + + + + Applying module: %s(%s/%s) + + + + + Progress + + + + + Notice: %i hosts entries has + been applied in %ssecs. + + + + + Operation Completed Successfully! + + + + + Error + + + + + Incorrect Data file! +Please use the "Download" key to +fetch a new data file. + + + + + Download Complete + + + + + Warning + + + + + You do not have permissions to change the +hosts file. +Please run this program as Administrator/root +so it can modify your hosts file. + + + + + Error retrieving data from the server. +Please try another server. + + + + + Data file not found! +Please use the "Download" key to +fetch a new data file. + + + + + Notice + + + + + Are you sure you want to apply changes +to the hosts file on your system? + +This operation could not be reverted if +you have not made a backup of your +current hosts file. + + + + + Data file is up-to-date. + + + + + Complete + + + + + Connecting... + + + + + Downloading: %s / %s + + + + + Hosts Setup Utility + + + + + Config + + + + + Server + + + + + IP Version + + + + + Status + + + + + Connection + + + + + N/A + + + + + OS + + + + + Hosts Info + + + + + Version + + + + + Release + + + + + Latest + + + + + Backup the hosts file of current system. + + + + + Download data file + + + + + Download the latest data file. + + + + + Restore backup + + + + + Restore a previous backup of hosts file. + + + + + Apply hosts + + + + + Apply changes to the hosts file. + + + + + Exit + + + + + Close this tool. + + + + + Check update / Refresh + + + + + Check the latest version of hosts data file. + + + + + Save with ANSI + + + + + Export to hosts file encoding by ANSI. + + + + + Save with UTF-8 + + + + + Export to hosts file encoding by UTF-8. + + + + + Copyleft (C) 2011-2014 <a href="https://hosts.huhamhire.com/"><span style="text-decoration: none;color: #b1b1b1;">huhamhire-hosts</span></a> + + + + + Powered by PyQT + + + + diff --git a/lang/en_US.qm b/lang/en_US.qm index 32acf2b..6ea3657 100644 Binary files a/lang/en_US.qm and b/lang/en_US.qm differ diff --git a/lang/en_US.ts b/lang/en_US.ts index d54fa84..89d19d9 100644 --- a/lang/en_US.ts +++ b/lang/en_US.ts @@ -1,269 +1,268 @@ - - + HostsUtlMain - + Backup hosts - + Functions - + Hosts Setup Utility - + Config - + Server - + IP Version - + Status - + Connection - + N/A - + OS - + Backup the hosts file of current system. - + Download data file - + Download the latest data file. - + Restore backup - + Restore a previous backup of hosts file. - + Apply hosts - + Apply changes to the hosts file. - + Exit - + Close this tool. - + Check update / Refresh - + Check the latest version of hosts data file. - + Hosts Info - + Version - + Release - + Latest - + google(cn) - + Google Web Service (CN) - + google(us) - + Google Web Service (US) - + activation-helper - + others - + adblock-hostsx - + adblock-mvps - + adblock-mwsl - + adblock-yoyo - + Building hosts file... - + Backup File(*.bak) - + Restore hosts - + [Error] - + Checking... - + Copying new hosts file to %s - + Remove temporary file - + Operation completed - + [OK] - + [Failed] - + Applying module: %s(%s/%s) - + Progress - + Notice: %i hosts entries has been applied in %ssecs. - + Operation Completed Successfully! - + Error - + Incorrect Data file! Please use the "Download" key to fetch a new data file. - + Download Complete - + Warning - + You do not have permissions to change the hosts file. Please run this program as Administrator/root @@ -271,45 +270,45 @@ so it can modify your hosts file. - + Error retrieving data from the server. Please try another server. - + Data file not found! Please use the "Download" key to fetch a new data file. - + Notice - + Data file is up-to-date. - + Complete - + Connecting... - + Downloading: %s / %s - + Are you sure you want to apply changes to the hosts file on your system? @@ -319,34 +318,89 @@ current hosts file. - + Save with ANSI - + Export to hosts file encoding by ANSI. - + Save with UTF-8 - + Export to hosts file encoding by UTF-8. - + Export hosts - + hosts File + + + google-apis(cn) + Google API Service (CN) + + + + google-apis(us) + Google API Service (US) + + + + wikipedia + + + + + steam + + + + + Copyleft (C) 2011-2014 <a href="https://hosts.huhamhire.com/"><span style="text-decoration: none;color: #b1b1b1;">huhamhire-hosts</span></a> + + + + + Powered by PyQT + + + + + google(hk) + Google Web Service (HK) + + + + facebook + Facebook + + + + twitter + twitter + + + + youtube + YouTube + + + + institutions + Academy and Research institutions + diff --git a/lang/zh_CN.qm b/lang/zh_CN.qm index a5b24c7..d842be4 100644 Binary files a/lang/zh_CN.qm and b/lang/zh_CN.qm differ diff --git a/lang/zh_CN.ts b/lang/zh_CN.ts index 3146fcd..12407aa 100644 --- a/lang/zh_CN.ts +++ b/lang/zh_CN.ts @@ -1,264 +1,430 @@ - - + HostsUtlMain - + + google(cn) + Google Web服务(北京) + + + + google(hk) + Google Web服务(香港) + + + + google(us) + Google Web服务(美国) + + + + google-apis(cn) + Google 应用程序服务(北京) + + + + google-apis(us) + Google 应用程序服务(美国) + + + + activation-helper + 屏蔽部分破解软件激活服务器 + + + + facebook + Facebook + + + + twitter + twitter + + + + youtube + YouTube + + + + wikipedia + 维基百科 + + + + institutions + 教育科研机构 + + + + steam + Steam 游戏平台 + + + + others + 其他墙外站点 + + + + adblock-hostsx + 广告屏蔽-hostsx 列表 + + + + adblock-mvps + 广告屏蔽-mvps 列表 + + + + adblock-mwsl + 广告屏蔽-mwsl 列表 + + + + adblock-yoyo + 广告屏蔽-yoyo 列表 + + + Backup hosts 备份 hosts 文件 - + Backup File(*.bak) 备份文件(*.bak) - + Restore hosts 还原备份的 hosts 文件 - + + [Error] + [错误] + + + + Checking... + 正在连接... + + + + Export hosts + 导出 hosts 文件 + + + + hosts File + hosts 文件 + + + + Building hosts file... + 正在生成 hosts 文件... + + + + Copying new hosts file to + %s + 正在将新的 hosts 配置到目标路径 + %s + + + + Remove temporary file + 清理临时文件 + + + + Operation completed + 操作完成 + + + + [OK] + [正常] + + + + [Failed] + [失败] + + + Functions 功能列表 - + + Applying module: %s(%s/%s) + 应用选定的模块: %s(%s/%s) + + + Progress 操作进度 - + + Notice: %i hosts entries has + been applied in %ssecs. + 注意:共有 %i 条 hosts 条目在 + %s秒内被插入到 hosts 文件中。 + + + + Operation Completed Successfully! + 操作成功完成! + + + + Error + 错误 + + + + Incorrect Data file! +Please use the "Download" key to +fetch a new data file. + 数据文件错误! +请点击“下载”按钮来获取 +新的数据文件。 + + + + Download Complete + 下载完成 + + + Warning 警告 - + + You do not have permissions to change the +hosts file. +Please run this program as Administrator/root +so it can modify your hosts file. + 您未获取修改系统 hosts 文件的 +相关权限。 +请以管理员方式或者根用户运行本 +工具。 + + + + Error retrieving data from the server. +Please try another server. + 在从服务器获取数据是发生错误。 +请在更换服务器之后尝试先前的操作。 + + + + Data file not found! +Please use the "Download" key to +fetch a new data file. + 未找到数据文件! +请点击“下载”按钮来获取 +新的数据文件。 + + + Notice 注意 - + + Are you sure you want to apply changes +to the hosts file on your system? + +This operation could not be reverted if +you have not made a backup of your +current hosts file. + 您确认继续执行当前操作以修改系统 hosts +文件吗? + +若先前未对 hosts 文件进行备份,该操作将 +不可逆转。 + + + Data file is up-to-date. 数据文件已经是最新版本。 - + Complete 完成 - - Operation completed - 操作完成 + + Connecting... + 正在连接服务器... - + + Downloading: %s / %s + 正在下载: %s / %s + + + Hosts Setup Utility hosts 文件配置工具 - + Config 设置 - + Server 服务器 - + IP Version IP 协议版本 - + Status 状态 - + Connection 连接 - + N/A - + 无状态 - + OS 操作系统 - + + Hosts Info + 数据文件信息 + + + + Version + 当前版本 + + + + Release + 发布日期 + + + + Latest + 最新版本 + + + Backup the hosts file of current system. 备份当前系统的 hosts 文件。 - + Download data file 下载数据文件 - + Download the latest data file. 下载最新数据文件。 - + Restore backup 还原备份 - + Restore a previous backup of hosts file. 还原先前备份的 hosts 文件。 - + Apply hosts 更改 hosts - + Apply changes to the hosts file. 对 hosts 文件进行修改。 - + Exit 退出 - + Close this tool. 关闭本工具。 - - Check the latest version of hosts data file. - 在线检查数据文件的最新版本。 - - - - Hosts Info - 数据文件信息 - - - - Version - 当前版本 - - - - Release - 发布日期 - - - - Latest - 最新版本 - - - + Check update / Refresh 检查更新/刷新 - - Data file not found! -Please use the "Download" key to -fetch a new data file. - 未找到数据文件! -请点击“下载”按钮来获取 -新的数据文件。 - - - - You do not have permissions to change the -hosts file. -Please run this program as Administrator/root -so it can modify your hosts file. - 您未获取修改系统 hosts 文件的 -相关权限。 -请以管理员方式或者根用户运行本 -工具。 - - - - Error retrieving data from the server. -Please try another server. - 在从服务器获取数据是发生错误。 -请在更换服务器之后尝试之前的操作。 - - - - Operation Completed Successfully! - 操作成功完成! - - - - Error - 错误 - - - - Download Complete - 下载完成 + + Check the latest version of hosts data file. + 在线检查数据文件的最新版本。 - - [Error] - [错误] + + Save with ANSI + 保存为 ANSI 格式 - - Checking... - 正在连接... + + Export to hosts file encoding by ANSI. + 以 ANSI 的编码方式导出 hosts 文件。 - - [OK] - [正常] + + Save with UTF-8 + 保存为 UTF-8 格式 - - [Failed] - [失败] + + Export to hosts file encoding by UTF-8. + 以 UTF-8 的编码方式导出 hosts 文件。 - - Building hosts file... - 正在生成 hosts 文件... + + Copyleft (C) 2011-2014 <a href="https://hosts.huhamhire.com/"><span style="text-decoration: none;color: #b1b1b1;">huhamhire-hosts</span></a> + 公共版权 (C) 2011-2014 <a href="https://hosts.huhamhire.com/"><span style="text-decoration: none;color: #b1b1b1;">huhamhire-hosts</span></a> - - Applying module: %s(%s/%s) - 应用选定的模块: %s(%s/%s) + + Powered by PyQT + - + Notice: %i hosts entries has been applied in %ssecs. 注意:共有 %i 条 hosts 条目在 %s秒内被插入到 hosts 文件中。 - - Downloading: %s / %s - 正在下载: %s / %s - - - - Connecting... - 正在连接服务器... - - - + Incorrect Data file! Please use the "Download" key to fetch a new data file. @@ -267,100 +433,38 @@ fetch a new data file. 新的数据文件。 - - Copying new hosts file to - %s - 正在将新的 hosts 配置到目标路径 - %s - - - - Remove temporary file - 清理临时文件 - - - - google(cn) - Google 国内服务器 - - - - google(us) - Google 美国服务器 - - - - activation-helper - 屏蔽部分破解软件激活服务器 - - - - others - 其他墙外站点 - - - - adblock-hostsx - 广告屏蔽-hostsx 列表 - - - - adblock-mvps - 广告屏蔽-mvps 列表 - - - - adblock-mwsl - 广告屏蔽-mwsl 列表 + + You do not have permissions to change the +hosts file. +Please run this program as Administrator/root +so it can modify your hosts file. + 您未获取修改系统 hosts 文件的 +相关权限。 +请以管理员方式或者根用户运行本 +工具。 - - adblock-yoyo - 广告屏蔽-yoyo 列表 + + Data file not found! +Please use the "Download" key to +fetch a new data file. + 未找到数据文件! +请点击“下载”按钮来获取 +新的数据文件。 - + Are you sure you want to apply changes to the hosts file on your system? This operation could not be reverted if you have not made a backup of your current hosts file. - 您确认继续执行当前操作以修改系统 hosts + 您确认继续执行当前操作以修改系统 hosts 文件吗? 若先前未对 hosts 文件进行备份,该操作将 不可逆转。 - - - Save with ANSI - 保存为 ANSI 格式 - - - - Export to hosts file encoding by ANSI. - 以 ANSI 的编码方式导出 hosts 文件。 - - - - Save with UTF-8 - 保存为 UTF-8 格式 - - - - Export to hosts file encoding by UTF-8. - 以 UTF-8 的编码方式导出 hosts 文件。 - - - - Export hosts - 导出 hosts 文件 - - - - hosts File - hosts 文件 - diff --git a/lang/zh_TW.qm b/lang/zh_TW.qm index 539f18d..ca362e0 100644 Binary files a/lang/zh_TW.qm and b/lang/zh_TW.qm differ diff --git a/lang/zh_TW.ts b/lang/zh_TW.ts index be001c2..3c9adbf 100644 --- a/lang/zh_TW.ts +++ b/lang/zh_TW.ts @@ -1,139 +1,138 @@ - - + HostsUtlMain - + google(cn) - Google 大陸 + Google Web服務(大陸) - + google(us) - Google 美國 + Google Web服務(美國) - + activation-helper 遮罩部分破解軟體啟動伺服器 - + others 其他網站 - + adblock-hostsx 廣告攔截-hostsx 清單 - + adblock-mvps 廣告攔截-mvps 清單 - + adblock-mwsl 廣告攔截-mwsl 清單 - + adblock-yoyo 廣告攔截-yoyo 清單 - + Building hosts file... 正在創建 hosts 檔... - + Backup hosts 備份 hosts 檔 - + Backup File(*.bak) 備份檔(*.bak) - + Restore hosts 還原 hosts - + [Error] [錯誤] - + Checking... 正在連接伺服器... - + Copying new hosts file to %s 將新的 hosts 檔案複製到 %s - + Remove temporary file 刪除暫存檔案 - + Operation completed 作業完成 - + [OK] [好] - + [Failed] [失敗] - + Functions 功能清單 - + Applying module: %s(%s/%s) 應用選定的模組: %s(%s/%s) - + Progress 作業進度 - + Notice: %i hosts entries has been applied in %ssecs. 消息:共有 %i 条 hosts 条目在 %s秒内被插入到 hosts 文件中。 - + Operation Completed Successfully! 作業已成功完成 ! - + Error 錯誤 - + Incorrect Data file! Please use the "Download" key to fetch a new data file. @@ -142,17 +141,17 @@ fetch a new data file. 一個新的資料檔案。 - + Download Complete 下載已完成 - + Warning 警告 - + You do not have permissions to change the hosts file. Please run this program as Administrator/root @@ -162,14 +161,14 @@ so it can modify your hosts file. 程式。 - + Error retrieving data from the server. Please try another server. 從伺服器中檢索資料時出錯。 請嘗試使用另一台伺服器。 - + Data file not found! Please use the "Download" key to fetch a new data file. @@ -178,147 +177,147 @@ fetch a new data file. 一個新的資料檔案。 - + Notice 消息 - + Data file is up-to-date. 當前的資料檔案是最新的。 - + Complete 完成 - + Connecting... 正在連接... - + Downloading: %s / %s 正在下載: %s / %s - + Hosts Setup Utility hosts 設置實用程式 - + Config 配置 - + Server 伺服器 - + IP Version IP 協定版本 - + Status 狀態 - + Connection 連接狀態 - + N/A 不適用 - + OS 作業系統 - + Backup the hosts file of current system. 備份當前系統的 hosts 檔。 - + Download data file 下載資料檔案 - + Download the latest data file. 下載最新的資料檔案。 - + Restore backup 還原備份 - + Restore a previous backup of hosts file. 還原以前的備份的 hosts 檔。 - + Apply hosts 更改 hosts 檔 - + Apply changes to the hosts file. 將更改應用到主 hosts 檔。 - + Exit 退出 - + Close this tool. 關閉此程式。 - + Check update / Refresh 檢查更新 / 刷新 - + Check the latest version of hosts data file. 檢查 hosts 檔案的最新版本。 - + Hosts Info 資料檔案狀態 - + Version 當前版本 - + Release 發佈日期 - + Latest 最新版本 - + Are you sure you want to apply changes to the hosts file on your system? @@ -332,34 +331,89 @@ current hosts file. 不可逆轉。 - + Save with ANSI 保存為 ANSI 格式 - + Export to hosts file encoding by ANSI. 匯出由 ANSI 編碼的 hosts 檔。 - + Save with UTF-8 保存為 UTF-8 格式 - + Export to hosts file encoding by UTF-8. 匯出由 UTF-8 編碼的 hosts 檔。 - + Export hosts 匯出 hosts 檔 - + hosts File hosts 檔 + + + google-apis(cn) + Google API服務(大陸) + + + + google-apis(us) + Google API服務(美國) + + + + wikipedia + 維基百科 + + + + steam + Steam 遊戲平台 + + + + Copyleft (C) 2011-2014 <a href="https://hosts.huhamhire.com/"><span style="text-decoration: none;color: #b1b1b1;">huhamhire-hosts</span></a> + 公共版權 (C) 2011-2014 <a href="https://hosts.huhamhire.com/"><span style="text-decoration: none;color: #b1b1b1;">huhamhire-hosts</span></a> + + + + Powered by PyQT + + + + + google(hk) + Google Web服務(香港) + + + + facebook + Facebook + + + + twitter + twitter + + + + youtube + YouTube + + + + institutions + 教育科研機構 + diff --git a/network.conf b/network.conf index 5e96e43..a3220a8 100644 --- a/network.conf +++ b/network.conf @@ -1,15 +1,19 @@ [Google Code] +label = GC server = huhamhire-hosts.googlecode.com update = http://huhamhire-hosts.googlecode.com/git-history/gh-pages/update/ [Sourceforge] +label = SF server = master.dl.sourceforge.net update = http://master.dl.sourceforge.net/project/huhamhirehosts/update/ [Github] +label = GITHUB server = github.com update = http://huhamhire.github.com/huhamhire-hosts/update/ [Seattle] +label = SEA server = hosts.huhamhire.com update = http://hosts.huhamhire.com/update/ diff --git a/qthosts.qrc b/qthosts.qrc index dd6f00e..fc4f101 100644 --- a/qthosts.qrc +++ b/qthosts.qrc @@ -1,15 +1,23 @@ - - img/icon_utf.png - img/icon_ansi.png - img/icon_apply.png - img/icon_backup.png - img/icon_exit.png - img/icon_fetch.png - img/icon_restore.png - img/icon_update.png - img/utl_icon.png + + img/buttons/button_ansi.png + img/buttons/button_ansi_disabled.png + img/buttons/button_apply.png + img/buttons/button_apply_disabled.png + img/buttons/button_backup.png + img/buttons/button_backup_disabled.png + img/buttons/button_download.png + img/buttons/button_download_disabled.png + img/buttons/button_exit.png + img/buttons/button_exit_disabled.png + img/buttons/button_restore.png + img/buttons/button_restore_disabled.png + img/buttons/button_update.png + img/buttons/button_update_disabled.png + img/buttons/button_utf8.png + img/buttons/button_utf8_disabled.png + diff --git a/qthosts_rc.py b/qthosts_rc.py index c045b03..7c8b411 100644 --- a/qthosts_rc.py +++ b/qthosts_rc.py @@ -2,7 +2,7 @@ # Resource object code # -# Created: 周五 8月 2 19:08:24 2013 +# Created: 周六 11月 30 15:06:55 2013 # by: The Resource Compiler for PyQt (Qt v4.8.4) # # WARNING! All changes made in this file will be lost! @@ -10,7 +10,7 @@ from PyQt4 import QtCore qt_resource_data = "\ -\x00\x00\x07\x79\ +\x00\x00\x04\xf8\ \x89\ \x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ \x00\x00\x20\x00\x00\x00\x20\x08\x06\x00\x00\x00\x73\x7a\x7a\xf4\ @@ -45,94 +45,269 @@ \x70\x3a\x2f\x2f\x6e\x73\x2e\x61\x64\x6f\x62\x65\x2e\x63\x6f\x6d\ \x2f\x78\x61\x70\x2f\x31\x2e\x30\x2f\x22\x20\x78\x6d\x70\x4d\x4d\ \x3a\x4f\x72\x69\x67\x69\x6e\x61\x6c\x44\x6f\x63\x75\x6d\x65\x6e\ -\x74\x49\x44\x3d\x22\x78\x6d\x70\x2e\x64\x69\x64\x3a\x62\x62\x65\ -\x34\x65\x39\x38\x62\x2d\x34\x38\x33\x63\x2d\x62\x63\x34\x33\x2d\ -\x62\x62\x33\x65\x2d\x62\x35\x35\x32\x61\x31\x32\x61\x31\x39\x34\ -\x34\x22\x20\x78\x6d\x70\x4d\x4d\x3a\x44\x6f\x63\x75\x6d\x65\x6e\ -\x74\x49\x44\x3d\x22\x78\x6d\x70\x2e\x64\x69\x64\x3a\x38\x33\x30\ -\x42\x33\x45\x43\x38\x45\x43\x35\x32\x31\x31\x45\x32\x39\x43\x36\ -\x44\x39\x36\x44\x34\x44\x36\x35\x32\x35\x46\x41\x37\x22\x20\x78\ +\x74\x49\x44\x3d\x22\x78\x6d\x70\x2e\x64\x69\x64\x3a\x63\x34\x37\ +\x39\x66\x62\x31\x39\x2d\x34\x33\x34\x34\x2d\x62\x65\x34\x33\x2d\ +\x39\x39\x31\x31\x2d\x33\x64\x35\x32\x63\x31\x30\x33\x35\x37\x65\ +\x31\x22\x20\x78\x6d\x70\x4d\x4d\x3a\x44\x6f\x63\x75\x6d\x65\x6e\ +\x74\x49\x44\x3d\x22\x78\x6d\x70\x2e\x64\x69\x64\x3a\x38\x34\x39\ +\x36\x35\x45\x39\x33\x35\x39\x38\x35\x31\x31\x45\x33\x42\x38\x30\ +\x33\x45\x39\x42\x31\x37\x42\x32\x36\x32\x41\x35\x41\x22\x20\x78\ \x6d\x70\x4d\x4d\x3a\x49\x6e\x73\x74\x61\x6e\x63\x65\x49\x44\x3d\ -\x22\x78\x6d\x70\x2e\x69\x69\x64\x3a\x38\x33\x30\x42\x33\x45\x43\ -\x37\x45\x43\x35\x32\x31\x31\x45\x32\x39\x43\x36\x44\x39\x36\x44\ -\x34\x44\x36\x35\x32\x35\x46\x41\x37\x22\x20\x78\x6d\x70\x3a\x43\ +\x22\x78\x6d\x70\x2e\x69\x69\x64\x3a\x38\x34\x39\x36\x35\x45\x39\ +\x32\x35\x39\x38\x35\x31\x31\x45\x33\x42\x38\x30\x33\x45\x39\x42\ +\x31\x37\x42\x32\x36\x32\x41\x35\x41\x22\x20\x78\x6d\x70\x3a\x43\ \x72\x65\x61\x74\x6f\x72\x54\x6f\x6f\x6c\x3d\x22\x41\x64\x6f\x62\ \x65\x20\x50\x68\x6f\x74\x6f\x73\x68\x6f\x70\x20\x43\x43\x20\x28\ \x57\x69\x6e\x64\x6f\x77\x73\x29\x22\x3e\x20\x3c\x78\x6d\x70\x4d\ \x4d\x3a\x44\x65\x72\x69\x76\x65\x64\x46\x72\x6f\x6d\x20\x73\x74\ \x52\x65\x66\x3a\x69\x6e\x73\x74\x61\x6e\x63\x65\x49\x44\x3d\x22\ -\x78\x6d\x70\x2e\x69\x69\x64\x3a\x38\x63\x63\x61\x63\x62\x39\x36\ -\x2d\x66\x66\x39\x38\x2d\x31\x39\x34\x64\x2d\x61\x39\x30\x32\x2d\ -\x30\x62\x32\x37\x31\x63\x63\x61\x31\x37\x63\x39\x22\x20\x73\x74\ +\x78\x6d\x70\x2e\x69\x69\x64\x3a\x63\x31\x65\x61\x38\x31\x32\x35\ +\x2d\x65\x62\x64\x64\x2d\x63\x38\x34\x62\x2d\x39\x66\x37\x61\x2d\ +\x30\x36\x39\x39\x32\x39\x38\x64\x62\x39\x33\x63\x22\x20\x73\x74\ \x52\x65\x66\x3a\x64\x6f\x63\x75\x6d\x65\x6e\x74\x49\x44\x3d\x22\ -\x78\x6d\x70\x2e\x64\x69\x64\x3a\x62\x62\x65\x34\x65\x39\x38\x62\ -\x2d\x34\x38\x33\x63\x2d\x62\x63\x34\x33\x2d\x62\x62\x33\x65\x2d\ -\x62\x35\x35\x32\x61\x31\x32\x61\x31\x39\x34\x34\x22\x2f\x3e\x20\ +\x78\x6d\x70\x2e\x64\x69\x64\x3a\x63\x34\x37\x39\x66\x62\x31\x39\ +\x2d\x34\x33\x34\x34\x2d\x62\x65\x34\x33\x2d\x39\x39\x31\x31\x2d\ +\x33\x64\x35\x32\x63\x31\x30\x33\x35\x37\x65\x31\x22\x2f\x3e\x20\ \x3c\x2f\x72\x64\x66\x3a\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6f\ \x6e\x3e\x20\x3c\x2f\x72\x64\x66\x3a\x52\x44\x46\x3e\x20\x3c\x2f\ \x78\x3a\x78\x6d\x70\x6d\x65\x74\x61\x3e\x20\x3c\x3f\x78\x70\x61\ -\x63\x6b\x65\x74\x20\x65\x6e\x64\x3d\x22\x72\x22\x3f\x3e\xfc\x4d\ -\xc5\xa6\x00\x00\x03\x9e\x49\x44\x41\x54\x78\xda\xd4\x56\x6b\x48\ -\x93\x61\x14\x7e\xbf\xcb\x6e\x6a\xa2\x89\x3a\x2f\x5b\x04\x91\x81\ -\x49\xb3\xf2\x47\x65\x85\x1a\x59\x99\x41\x90\x51\x84\x51\xff\x0a\ -\xea\x87\xe1\x8f\x20\x23\x2a\xfb\x53\x84\x90\x85\xfa\xa3\xa0\x9c\ -\x95\x21\x24\x25\x48\x46\x62\x85\x37\x48\x34\xaa\xe1\xa6\x35\x1b\ -\x4e\xb7\x74\x66\xe1\x6d\xb7\xef\xed\xbc\xb2\x39\x27\xbb\x7c\xdf\ -\x98\x59\x07\x5e\x78\xbf\xed\xbc\xdf\x79\xce\xf3\x3e\xe7\x9c\x8f\ -\xc2\x18\xa3\x95\x34\x1a\xad\xb0\xb1\xee\x4d\x49\x49\x09\xea\xeb\ -\xeb\xf3\xe9\x14\x9f\x98\x44\xe7\x14\x1c\xaa\x71\x38\xec\xeb\x78\ -\xbd\x94\x15\x21\xd3\xb0\xe1\xfa\xbb\x96\xe6\x56\x7f\x3e\x15\x15\ -\x15\x48\xa5\x52\x79\x00\x74\x76\x76\xa2\xee\xee\x6e\x9f\xce\x71\ -\x09\x72\xa4\xd8\x98\xb9\xd7\x66\xb3\x2a\xf9\x00\x10\x8b\x25\xe8\ -\x6b\xbf\xe6\x61\x5b\x5b\x9b\x5f\x1f\x8b\xc5\xe2\xcd\x80\x4c\x26\ -\xf3\xeb\x4c\x21\x8c\xf5\x5a\x4d\x99\xc3\xe1\x48\x82\x47\x2e\x38\ -\x03\x2c\x33\x36\x3a\xd2\x15\xc8\x87\x61\x18\x6f\x00\x3c\x6c\x14\ -\xd6\x1c\x2c\x3e\xaa\xa5\x60\x4d\x0b\xd2\x40\x20\x93\x45\x44\x51\ -\x69\x19\x9b\xee\xda\x6d\xb6\x34\x3e\xfe\x22\xb1\x98\x5c\x43\x31\ -\x6c\xd5\xff\x4f\x15\x04\xb2\xd9\x99\x29\xac\xfd\xf4\xf1\x22\x68\ -\x20\x81\xa7\x06\x68\xf3\x88\xb1\x23\x6c\x00\x5c\xb6\x0a\x56\x0c\ -\x1f\x00\x44\x63\xa4\x18\xc2\xad\x81\x4b\x02\x35\x60\x84\x6d\x7f\ -\x58\x00\x60\xcc\x21\x08\x3e\x03\x8b\x37\x5d\xd0\xb4\x1c\x82\x5a\ -\x31\x1c\x08\xf4\x32\x8e\x67\xf9\x2d\x06\xed\x0c\x96\x94\x17\x03\ -\x29\xca\xb5\x71\xc9\xca\x61\x96\xa6\xe8\xa5\x69\xe2\x78\x79\x12\ -\x0d\x43\x8b\xe5\x1f\x1c\x23\xa9\x2c\x22\x3a\x75\xcd\xda\x68\x97\ -\x1e\x3c\xff\x21\x0c\x3d\x82\x92\x46\x44\x46\x8d\xc3\xa3\x8d\x72\ -\x4f\xc3\x9b\xf7\x6a\xb2\x4c\x13\xbf\x2a\x19\x9a\x4e\x05\x74\x73\ -\xde\x60\x31\x05\x2c\xa4\xc2\x5e\xc2\x17\x04\x45\xd1\x66\x56\xc4\ -\xfe\x5e\x52\xea\x8c\x48\x2c\x61\x7f\x4e\x58\x1e\x9c\x3f\x75\xe2\ -\x46\xfa\x86\x34\x0f\x80\xbc\xbc\x3c\x34\x64\x34\xa9\x0e\x1e\x3d\ -\x76\x9f\x61\xd8\xcd\x4e\xa7\x33\xec\x35\x2f\x85\x76\x0f\xe5\x7c\ -\xf9\x6d\x4b\xf3\xad\x86\xfa\xa7\x56\x12\x73\x01\x9d\xd3\xe9\x40\ -\xdf\xb4\x9a\xbe\x97\xf5\x75\xbb\x39\x8e\xab\x21\x4a\x0e\x97\x01\ -\x1b\x48\x16\x19\x69\x80\xe0\xfb\x9a\x9e\x3d\x2e\x9f\xb4\x8c\x5b\ -\xdd\xb3\x80\x5e\xec\x44\x4c\xaf\xd3\x4e\xa9\xab\x2b\xcf\x0c\x6a\ -\x3e\x9f\x85\x43\xd3\xee\xdf\x43\x35\x92\x08\xc6\xce\xd7\x4d\xf5\ -\x75\xbb\x20\xf8\xab\xa5\xcc\xfa\x7c\xbb\xe5\x87\x19\x81\x73\x75\ -\x6f\x57\x47\x3e\x1c\xd6\xba\xd1\x86\x12\x7c\xdc\x6c\xba\x0d\xac\ -\x16\x7e\xe9\xed\xf9\xee\xeb\x5a\xfd\xa6\x47\x9c\x5b\x1a\x1b\xda\ -\x5d\x57\xf2\x5c\xc8\x95\xb8\x28\x9f\x04\x16\x8b\xd5\x55\x77\x4a\ -\x81\x55\x6b\xc8\xc3\x08\x0e\x9b\x5f\x3c\xa9\x2d\x82\x4c\xae\x00\ -\x88\xa0\xca\x24\x6c\x01\x6b\xbd\xc0\x5e\x2e\xb0\xa8\x0e\x26\x66\ -\x5e\x17\xac\x1f\xd0\x3a\x21\x93\x6b\x90\xd1\x11\xc8\xcc\xec\x4f\ -\x17\x84\x25\x60\xab\x16\x58\xcb\x05\xf6\x7a\xf9\x54\x12\x6f\x85\ -\x91\x97\x41\x46\x8d\x44\x4c\x90\xe1\xfb\xa5\xba\x80\x12\x9b\x03\ -\x80\x17\x40\xc0\x27\x81\xb5\xc9\x65\xf9\x2a\x26\x20\x40\x4c\x3a\ -\xc8\x70\x3f\x64\x5a\x45\x32\xa6\x28\x8a\xdc\xf7\x10\x94\x58\x21\ -\x00\xac\x20\x02\x46\xc2\x7a\x36\x9e\x5f\xd9\xd9\x3b\x04\x9d\x8b\ -\x8e\x89\x45\x05\x45\xc7\x4f\x9f\x2b\xbb\xfa\x68\x7d\x7a\x46\xac\ -\xd0\x0a\x69\x6d\x7d\x33\x1f\x77\xa1\xbf\x27\x24\xa5\x48\x76\xe6\ -\x1f\xd8\x2e\x4f\x4e\x91\x70\x3c\xee\x0e\x86\x1d\x96\x46\xc8\xf4\ -\x30\x21\x0d\x30\xaa\x33\xd3\x33\xb7\x8a\x69\x9a\x0a\x4e\x39\xc3\ -\xe0\x9e\x8e\x76\x3d\x8c\x6b\x9d\xd7\x30\xda\x53\x78\xb8\x5c\x33\ -\x30\x58\x2a\x11\x50\x6e\x98\xe3\xe6\xaf\x05\x18\x10\x94\x7d\x62\ -\xaa\x72\x42\xae\x50\x6e\x83\xad\x8e\x5d\x34\x72\xb7\x90\x79\x1f\ -\x4a\xdf\x13\xf2\x9d\xe0\xf2\x5f\x0d\xe0\x15\x04\xc0\xbf\xf3\x51\ -\x6a\xb7\x3b\x3e\x58\x6d\xb6\x9c\xbf\x11\x14\xe2\x8c\x71\x18\x1b\ -\xe6\xbb\xa6\x7b\x1c\x1b\x4d\x66\xc9\xf4\xcc\x6c\x16\x08\x89\x5d\ -\x6e\x00\x1c\x87\x87\x15\xc9\xf2\x41\x99\x54\xea\x01\xb0\x52\xf6\ -\x47\x80\x01\x00\x19\x06\xbd\xc1\x2e\x19\xb4\x08\x00\x00\x00\x00\ -\x49\x45\x4e\x44\xae\x42\x60\x82\ -\x00\x00\x08\xf6\ +\x63\x6b\x65\x74\x20\x65\x6e\x64\x3d\x22\x72\x22\x3f\x3e\xcf\x3d\ +\xf2\xba\x00\x00\x01\x1d\x49\x44\x41\x54\x78\xda\x62\xcc\xcb\xcb\ +\x3b\xc7\xc0\xc0\x60\xc8\x80\x1d\xfc\x05\xe2\xb0\x49\x93\x26\xad\ +\x03\x71\x80\x6a\x13\x80\xd4\x3c\x20\x66\x64\xa0\x0e\x38\xcf\x84\ +\xc7\x72\x10\x60\x06\x62\x3d\x24\xbe\x03\x15\x2d\x07\x01\x43\x26\ +\x86\x01\x06\xa3\x0e\x18\x75\x00\xc8\x01\x9f\x08\xa8\xf9\x88\xc4\ +\x7e\x4e\x65\xfb\x3f\xb1\x00\x09\x63\x20\xd6\xc1\xa1\xe0\x07\x10\ +\xef\x41\xe2\x37\x00\xf1\x61\x20\x66\xa3\x92\x03\xae\x30\x8c\x78\ +\xc0\x08\x2d\x5e\x1d\x70\xc8\x7f\x01\xe2\x0e\x60\x51\xfc\x04\x5a\ +\x14\xab\x01\xa9\x62\x20\x66\xa7\x92\xfd\x07\x58\x88\x28\xdb\x5f\ +\x01\x71\x13\x94\x5d\x08\xc4\x69\x54\x0c\x80\x38\x26\x22\xca\x76\ +\xe4\xac\xca\x49\xed\x18\x18\x2d\x88\x46\x1d\x00\x72\xc0\x7f\x02\ +\x6a\xfe\x21\xb1\xbf\x53\xd9\xfe\xff\xa0\x6c\x98\x44\xa0\x1c\x98\ +\x87\xc4\xef\x87\x3a\x9a\x6a\xe5\xc0\x68\x51\x0c\x2a\x8a\x55\xf0\ +\xd4\x86\xa0\x38\xdf\x0b\x2c\x8a\xff\x40\x8b\x62\x50\xd0\x3b\x53\ +\xb3\x36\x04\xa5\x81\xb3\x40\xcc\x87\x47\x51\x11\x34\xee\x61\xd5\ +\x71\x05\x35\xdb\x03\x4c\x04\x2c\x07\x01\x7e\x24\xb6\x24\x95\x63\ +\x80\x6f\xb4\x20\x1a\x75\xc0\xa0\x70\xc0\x39\x3c\xf2\xa0\xfc\x7f\ +\x09\xad\xe8\xfc\x4f\x45\xfb\xcf\x31\xfe\xff\xff\x7f\x40\x43\x00\ +\x20\xc0\x00\xcb\x8e\x3a\x29\x41\x01\xac\xc1\x00\x00\x00\x00\x49\ +\x45\x4e\x44\xae\x42\x60\x82\ +\x00\x00\x05\xa0\ +\x89\ +\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ +\x00\x00\x20\x00\x00\x00\x20\x08\x06\x00\x00\x00\x73\x7a\x7a\xf4\ +\x00\x00\x00\x19\x74\x45\x58\x74\x53\x6f\x66\x74\x77\x61\x72\x65\ +\x00\x41\x64\x6f\x62\x65\x20\x49\x6d\x61\x67\x65\x52\x65\x61\x64\ +\x79\x71\xc9\x65\x3c\x00\x00\x03\x71\x69\x54\x58\x74\x58\x4d\x4c\ +\x3a\x63\x6f\x6d\x2e\x61\x64\x6f\x62\x65\x2e\x78\x6d\x70\x00\x00\ +\x00\x00\x00\x3c\x3f\x78\x70\x61\x63\x6b\x65\x74\x20\x62\x65\x67\ +\x69\x6e\x3d\x22\xef\xbb\xbf\x22\x20\x69\x64\x3d\x22\x57\x35\x4d\ +\x30\x4d\x70\x43\x65\x68\x69\x48\x7a\x72\x65\x53\x7a\x4e\x54\x63\ +\x7a\x6b\x63\x39\x64\x22\x3f\x3e\x20\x3c\x78\x3a\x78\x6d\x70\x6d\ +\x65\x74\x61\x20\x78\x6d\x6c\x6e\x73\x3a\x78\x3d\x22\x61\x64\x6f\ +\x62\x65\x3a\x6e\x73\x3a\x6d\x65\x74\x61\x2f\x22\x20\x78\x3a\x78\ +\x6d\x70\x74\x6b\x3d\x22\x41\x64\x6f\x62\x65\x20\x58\x4d\x50\x20\ +\x43\x6f\x72\x65\x20\x35\x2e\x35\x2d\x63\x30\x31\x34\x20\x37\x39\ +\x2e\x31\x35\x31\x34\x38\x31\x2c\x20\x32\x30\x31\x33\x2f\x30\x33\ +\x2f\x31\x33\x2d\x31\x32\x3a\x30\x39\x3a\x31\x35\x20\x20\x20\x20\ +\x20\x20\x20\x20\x22\x3e\x20\x3c\x72\x64\x66\x3a\x52\x44\x46\x20\ +\x78\x6d\x6c\x6e\x73\x3a\x72\x64\x66\x3d\x22\x68\x74\x74\x70\x3a\ +\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x31\x39\x39\ +\x39\x2f\x30\x32\x2f\x32\x32\x2d\x72\x64\x66\x2d\x73\x79\x6e\x74\ +\x61\x78\x2d\x6e\x73\x23\x22\x3e\x20\x3c\x72\x64\x66\x3a\x44\x65\ +\x73\x63\x72\x69\x70\x74\x69\x6f\x6e\x20\x72\x64\x66\x3a\x61\x62\ +\x6f\x75\x74\x3d\x22\x22\x20\x78\x6d\x6c\x6e\x73\x3a\x78\x6d\x70\ +\x4d\x4d\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x6e\x73\x2e\x61\x64\ +\x6f\x62\x65\x2e\x63\x6f\x6d\x2f\x78\x61\x70\x2f\x31\x2e\x30\x2f\ +\x6d\x6d\x2f\x22\x20\x78\x6d\x6c\x6e\x73\x3a\x73\x74\x52\x65\x66\ +\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x6e\x73\x2e\x61\x64\x6f\x62\ +\x65\x2e\x63\x6f\x6d\x2f\x78\x61\x70\x2f\x31\x2e\x30\x2f\x73\x54\ +\x79\x70\x65\x2f\x52\x65\x73\x6f\x75\x72\x63\x65\x52\x65\x66\x23\ +\x22\x20\x78\x6d\x6c\x6e\x73\x3a\x78\x6d\x70\x3d\x22\x68\x74\x74\ +\x70\x3a\x2f\x2f\x6e\x73\x2e\x61\x64\x6f\x62\x65\x2e\x63\x6f\x6d\ +\x2f\x78\x61\x70\x2f\x31\x2e\x30\x2f\x22\x20\x78\x6d\x70\x4d\x4d\ +\x3a\x4f\x72\x69\x67\x69\x6e\x61\x6c\x44\x6f\x63\x75\x6d\x65\x6e\ +\x74\x49\x44\x3d\x22\x78\x6d\x70\x2e\x64\x69\x64\x3a\x63\x34\x37\ +\x39\x66\x62\x31\x39\x2d\x34\x33\x34\x34\x2d\x62\x65\x34\x33\x2d\ +\x39\x39\x31\x31\x2d\x33\x64\x35\x32\x63\x31\x30\x33\x35\x37\x65\ +\x31\x22\x20\x78\x6d\x70\x4d\x4d\x3a\x44\x6f\x63\x75\x6d\x65\x6e\ +\x74\x49\x44\x3d\x22\x78\x6d\x70\x2e\x64\x69\x64\x3a\x31\x35\x41\ +\x39\x46\x35\x46\x42\x35\x39\x38\x35\x31\x31\x45\x33\x38\x30\x36\ +\x39\x39\x35\x43\x31\x38\x46\x35\x39\x35\x39\x46\x42\x22\x20\x78\ +\x6d\x70\x4d\x4d\x3a\x49\x6e\x73\x74\x61\x6e\x63\x65\x49\x44\x3d\ +\x22\x78\x6d\x70\x2e\x69\x69\x64\x3a\x31\x35\x41\x39\x46\x35\x46\ +\x41\x35\x39\x38\x35\x31\x31\x45\x33\x38\x30\x36\x39\x39\x35\x43\ +\x31\x38\x46\x35\x39\x35\x39\x46\x42\x22\x20\x78\x6d\x70\x3a\x43\ +\x72\x65\x61\x74\x6f\x72\x54\x6f\x6f\x6c\x3d\x22\x41\x64\x6f\x62\ +\x65\x20\x50\x68\x6f\x74\x6f\x73\x68\x6f\x70\x20\x43\x43\x20\x28\ +\x57\x69\x6e\x64\x6f\x77\x73\x29\x22\x3e\x20\x3c\x78\x6d\x70\x4d\ +\x4d\x3a\x44\x65\x72\x69\x76\x65\x64\x46\x72\x6f\x6d\x20\x73\x74\ +\x52\x65\x66\x3a\x69\x6e\x73\x74\x61\x6e\x63\x65\x49\x44\x3d\x22\ +\x78\x6d\x70\x2e\x69\x69\x64\x3a\x63\x31\x65\x61\x38\x31\x32\x35\ +\x2d\x65\x62\x64\x64\x2d\x63\x38\x34\x62\x2d\x39\x66\x37\x61\x2d\ +\x30\x36\x39\x39\x32\x39\x38\x64\x62\x39\x33\x63\x22\x20\x73\x74\ +\x52\x65\x66\x3a\x64\x6f\x63\x75\x6d\x65\x6e\x74\x49\x44\x3d\x22\ +\x78\x6d\x70\x2e\x64\x69\x64\x3a\x63\x34\x37\x39\x66\x62\x31\x39\ +\x2d\x34\x33\x34\x34\x2d\x62\x65\x34\x33\x2d\x39\x39\x31\x31\x2d\ +\x33\x64\x35\x32\x63\x31\x30\x33\x35\x37\x65\x31\x22\x2f\x3e\x20\ +\x3c\x2f\x72\x64\x66\x3a\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6f\ +\x6e\x3e\x20\x3c\x2f\x72\x64\x66\x3a\x52\x44\x46\x3e\x20\x3c\x2f\ +\x78\x3a\x78\x6d\x70\x6d\x65\x74\x61\x3e\x20\x3c\x3f\x78\x70\x61\ +\x63\x6b\x65\x74\x20\x65\x6e\x64\x3d\x22\x72\x22\x3f\x3e\xec\xd9\ +\x4e\x52\x00\x00\x01\xc5\x49\x44\x41\x54\x78\xda\x62\xfc\xff\xff\ +\x3f\x03\x23\x23\x23\x03\x3e\xb0\x77\x5a\xd2\x04\x20\x95\xcf\x40\ +\x1a\x98\xe8\x9c\x35\xaf\x00\x9f\x02\x90\xdd\x4c\x0c\x03\x0c\x58\ +\x88\x54\x77\x0a\x88\x17\x92\x68\xf6\x29\x6a\x3a\x60\x07\x10\x1f\ +\x23\xd1\x01\x9f\xa8\xe9\x80\x3a\x72\xd2\x00\x10\x17\x10\x52\x34\ +\xe0\x69\x60\xc8\x24\xc2\x26\x20\x9e\x30\x90\x69\x20\x10\x88\x7d\ +\x49\x74\xc0\x66\x20\x9e\x4b\x2d\x07\xe8\x02\xb1\x3f\x89\x0e\x78\ +\x30\x24\xd2\xc0\xa8\x03\x58\xa0\x95\x4d\x22\x90\x92\xc7\xa3\xce\ +\x82\x0c\xb3\x2d\x80\xe6\x36\xe0\x91\x7f\x08\xc4\xf3\x61\x89\x70\ +\x1b\x10\xaf\x07\x62\x4b\x2a\x7a\xce\x1c\x8a\xb1\x81\xe3\xd0\x9c\ +\x05\x89\x02\x60\xb5\xf9\x12\x48\x39\x92\x51\xe1\x90\x03\x40\x76\ +\x38\x42\xed\x64\x60\x44\x6f\x0f\x00\x83\xad\x0c\x48\xb5\xd3\x20\ +\x7d\xfc\x03\xe2\x4a\xa0\xc5\x5d\xc8\xed\x01\x46\x6c\x0d\x12\xa0\ +\x23\xbc\x81\xd4\x72\x20\xe6\xa5\x92\xe5\x9f\x81\x38\x12\x68\xf9\ +\x56\xf4\x06\x09\x23\xae\x16\x11\xd0\x11\xda\x40\x6a\x13\x10\x2b\ +\x51\x68\xf9\x3d\x20\xf6\x03\x5a\x7e\x95\xa4\x16\x11\x54\x83\x19\ +\x10\x1f\xa4\xc0\x72\x90\x5e\x33\x6c\x96\x13\x55\x0e\x00\x35\xbe\ +\x05\x52\xae\x40\x3c\x93\x0c\xcb\x41\x7a\x5c\xa1\x66\xe0\x04\x8c\ +\xc4\x34\x4a\xa1\x51\x92\x0b\xa4\xfa\x81\x98\x99\x80\xd2\xbf\x40\ +\x5c\x08\xb4\x78\x32\x21\x33\xf1\xa6\x01\x1c\x8e\x70\x01\x52\xab\ +\x81\x58\x00\x87\x92\x0f\x40\x1c\x0a\xb4\x7c\x0f\x31\xe6\x91\xec\ +\x00\xa8\x23\xd4\xa0\x89\x53\x1d\x4d\xea\x26\x34\xb1\xdd\x22\xd6\ +\x2c\xb2\x9a\xe5\x50\x0b\x40\x45\xf3\x2e\x24\xe1\xdd\x20\x31\x52\ +\x2c\x27\x39\x0d\x60\x09\x09\x50\x5a\xe8\x85\x72\x8b\x81\x96\xff\ +\x25\xd5\x0c\x78\x14\xec\x9b\x9e\x0c\x0a\x09\x4d\x20\x66\xa5\x53\ +\x25\xf8\x1b\x88\x6f\x38\x65\xce\xfd\x0b\xab\x8c\xd6\x91\xd1\xe2\ +\xa1\x14\x6c\x07\x62\x2f\x58\x1a\xf0\x1b\x80\xa6\x80\x27\x72\x41\ +\xc4\xc8\x30\x40\x00\xe6\x80\x3f\x03\x60\xf7\x3f\x64\x07\x4c\x81\ +\x09\xd0\xd1\xf2\xa9\x20\x06\x40\x80\x01\x00\x51\x94\x9c\xf8\x84\ +\x67\x5d\xdc\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\ +\x00\x00\x07\x88\ +\x89\ +\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ +\x00\x00\x20\x00\x00\x00\x20\x08\x06\x00\x00\x00\x73\x7a\x7a\xf4\ +\x00\x00\x00\x19\x74\x45\x58\x74\x53\x6f\x66\x74\x77\x61\x72\x65\ +\x00\x41\x64\x6f\x62\x65\x20\x49\x6d\x61\x67\x65\x52\x65\x61\x64\ +\x79\x71\xc9\x65\x3c\x00\x00\x03\x71\x69\x54\x58\x74\x58\x4d\x4c\ +\x3a\x63\x6f\x6d\x2e\x61\x64\x6f\x62\x65\x2e\x78\x6d\x70\x00\x00\ +\x00\x00\x00\x3c\x3f\x78\x70\x61\x63\x6b\x65\x74\x20\x62\x65\x67\ +\x69\x6e\x3d\x22\xef\xbb\xbf\x22\x20\x69\x64\x3d\x22\x57\x35\x4d\ +\x30\x4d\x70\x43\x65\x68\x69\x48\x7a\x72\x65\x53\x7a\x4e\x54\x63\ +\x7a\x6b\x63\x39\x64\x22\x3f\x3e\x20\x3c\x78\x3a\x78\x6d\x70\x6d\ +\x65\x74\x61\x20\x78\x6d\x6c\x6e\x73\x3a\x78\x3d\x22\x61\x64\x6f\ +\x62\x65\x3a\x6e\x73\x3a\x6d\x65\x74\x61\x2f\x22\x20\x78\x3a\x78\ +\x6d\x70\x74\x6b\x3d\x22\x41\x64\x6f\x62\x65\x20\x58\x4d\x50\x20\ +\x43\x6f\x72\x65\x20\x35\x2e\x35\x2d\x63\x30\x31\x34\x20\x37\x39\ +\x2e\x31\x35\x31\x34\x38\x31\x2c\x20\x32\x30\x31\x33\x2f\x30\x33\ +\x2f\x31\x33\x2d\x31\x32\x3a\x30\x39\x3a\x31\x35\x20\x20\x20\x20\ +\x20\x20\x20\x20\x22\x3e\x20\x3c\x72\x64\x66\x3a\x52\x44\x46\x20\ +\x78\x6d\x6c\x6e\x73\x3a\x72\x64\x66\x3d\x22\x68\x74\x74\x70\x3a\ +\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x31\x39\x39\ +\x39\x2f\x30\x32\x2f\x32\x32\x2d\x72\x64\x66\x2d\x73\x79\x6e\x74\ +\x61\x78\x2d\x6e\x73\x23\x22\x3e\x20\x3c\x72\x64\x66\x3a\x44\x65\ +\x73\x63\x72\x69\x70\x74\x69\x6f\x6e\x20\x72\x64\x66\x3a\x61\x62\ +\x6f\x75\x74\x3d\x22\x22\x20\x78\x6d\x6c\x6e\x73\x3a\x78\x6d\x70\ +\x4d\x4d\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x6e\x73\x2e\x61\x64\ +\x6f\x62\x65\x2e\x63\x6f\x6d\x2f\x78\x61\x70\x2f\x31\x2e\x30\x2f\ +\x6d\x6d\x2f\x22\x20\x78\x6d\x6c\x6e\x73\x3a\x73\x74\x52\x65\x66\ +\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x6e\x73\x2e\x61\x64\x6f\x62\ +\x65\x2e\x63\x6f\x6d\x2f\x78\x61\x70\x2f\x31\x2e\x30\x2f\x73\x54\ +\x79\x70\x65\x2f\x52\x65\x73\x6f\x75\x72\x63\x65\x52\x65\x66\x23\ +\x22\x20\x78\x6d\x6c\x6e\x73\x3a\x78\x6d\x70\x3d\x22\x68\x74\x74\ +\x70\x3a\x2f\x2f\x6e\x73\x2e\x61\x64\x6f\x62\x65\x2e\x63\x6f\x6d\ +\x2f\x78\x61\x70\x2f\x31\x2e\x30\x2f\x22\x20\x78\x6d\x70\x4d\x4d\ +\x3a\x4f\x72\x69\x67\x69\x6e\x61\x6c\x44\x6f\x63\x75\x6d\x65\x6e\ +\x74\x49\x44\x3d\x22\x78\x6d\x70\x2e\x64\x69\x64\x3a\x63\x34\x37\ +\x39\x66\x62\x31\x39\x2d\x34\x33\x34\x34\x2d\x62\x65\x34\x33\x2d\ +\x39\x39\x31\x31\x2d\x33\x64\x35\x32\x63\x31\x30\x33\x35\x37\x65\ +\x31\x22\x20\x78\x6d\x70\x4d\x4d\x3a\x44\x6f\x63\x75\x6d\x65\x6e\ +\x74\x49\x44\x3d\x22\x78\x6d\x70\x2e\x64\x69\x64\x3a\x43\x42\x44\ +\x44\x46\x43\x41\x38\x35\x39\x38\x44\x31\x31\x45\x33\x38\x45\x43\ +\x31\x45\x30\x35\x34\x36\x33\x33\x31\x39\x46\x38\x34\x22\x20\x78\ +\x6d\x70\x4d\x4d\x3a\x49\x6e\x73\x74\x61\x6e\x63\x65\x49\x44\x3d\ +\x22\x78\x6d\x70\x2e\x69\x69\x64\x3a\x43\x42\x44\x44\x46\x43\x41\ +\x37\x35\x39\x38\x44\x31\x31\x45\x33\x38\x45\x43\x31\x45\x30\x35\ +\x34\x36\x33\x33\x31\x39\x46\x38\x34\x22\x20\x78\x6d\x70\x3a\x43\ +\x72\x65\x61\x74\x6f\x72\x54\x6f\x6f\x6c\x3d\x22\x41\x64\x6f\x62\ +\x65\x20\x50\x68\x6f\x74\x6f\x73\x68\x6f\x70\x20\x43\x43\x20\x28\ +\x57\x69\x6e\x64\x6f\x77\x73\x29\x22\x3e\x20\x3c\x78\x6d\x70\x4d\ +\x4d\x3a\x44\x65\x72\x69\x76\x65\x64\x46\x72\x6f\x6d\x20\x73\x74\ +\x52\x65\x66\x3a\x69\x6e\x73\x74\x61\x6e\x63\x65\x49\x44\x3d\x22\ +\x78\x6d\x70\x2e\x69\x69\x64\x3a\x37\x31\x65\x61\x35\x61\x61\x61\ +\x2d\x63\x33\x30\x31\x2d\x30\x61\x34\x35\x2d\x62\x36\x30\x35\x2d\ +\x38\x64\x36\x65\x63\x37\x33\x34\x65\x37\x62\x66\x22\x20\x73\x74\ +\x52\x65\x66\x3a\x64\x6f\x63\x75\x6d\x65\x6e\x74\x49\x44\x3d\x22\ +\x78\x6d\x70\x2e\x64\x69\x64\x3a\x63\x34\x37\x39\x66\x62\x31\x39\ +\x2d\x34\x33\x34\x34\x2d\x62\x65\x34\x33\x2d\x39\x39\x31\x31\x2d\ +\x33\x64\x35\x32\x63\x31\x30\x33\x35\x37\x65\x31\x22\x2f\x3e\x20\ +\x3c\x2f\x72\x64\x66\x3a\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6f\ +\x6e\x3e\x20\x3c\x2f\x72\x64\x66\x3a\x52\x44\x46\x3e\x20\x3c\x2f\ +\x78\x3a\x78\x6d\x70\x6d\x65\x74\x61\x3e\x20\x3c\x3f\x78\x70\x61\ +\x63\x6b\x65\x74\x20\x65\x6e\x64\x3d\x22\x72\x22\x3f\x3e\xf7\xcb\ +\xb3\xc5\x00\x00\x03\xad\x49\x44\x41\x54\x78\xda\xbc\x97\x69\x48\ +\x55\x41\x14\xc7\xef\xd3\xd7\x26\x2d\x96\x18\x25\xb6\x88\x49\x54\ +\x52\x7e\x50\xd3\xca\x28\x69\xa7\x3d\xa9\x84\xac\x8c\xa2\x5d\x92\ +\x16\x22\x41\xcb\x16\xcb\x82\x20\x89\x8a\x84\x6c\x21\x22\xac\x88\ +\x56\xbf\xd8\xf2\x21\xa5\x04\x97\x28\x08\x6c\xd1\x24\x22\x42\x4d\ +\xc5\x35\xad\xff\x81\xff\xc4\x74\xbb\xbd\xad\x67\x07\x7e\xcc\xdc\ +\x99\x37\x67\xce\xcc\x9c\x39\x73\x9e\x6d\xf7\xe5\x22\x9b\x61\x18\ +\x29\x60\x23\x08\x32\x3c\x93\x47\x20\xe1\x78\x52\x6c\xa7\xbb\x03\ +\x6d\x30\x60\x2f\xca\x2c\xd0\x0a\xf2\x40\x39\xeb\xae\x88\x1f\x38\ +\xcd\xfa\x25\xb0\x16\x46\xfc\x70\xc7\x00\x3b\xd8\x09\x9a\xc0\x54\ +\x0c\x2e\x75\x67\x30\x8c\xf7\xa7\x01\x55\x60\x35\xa8\x05\xa9\xee\ +\xee\x80\x58\x7c\x0c\x1c\x01\x83\x40\x3d\x77\x60\x88\xe9\xb7\x9f\ +\x41\x6f\xe0\xcf\xef\x56\x52\x07\x56\x80\x24\x30\x1f\xa4\x63\x21\ +\x07\x5d\x35\xc0\x87\x65\x09\x58\x07\xde\x83\x1d\x20\x86\x75\x9d\ +\x18\xf6\xa9\xef\x6b\x9a\x9e\x76\x1a\x21\xbe\x90\x89\x45\x6d\x75\ +\xd7\x80\xef\xa0\x18\x1c\x00\x1f\xb8\x4a\xa9\x6f\x07\x33\x59\xf7\ +\x67\xdf\x02\xb0\x81\xfe\xf2\x4b\xb0\xea\x66\x14\x8b\xc1\x73\x70\ +\x0a\x46\x24\xba\x63\x80\xc1\x15\x66\x80\x0b\xe0\x16\xeb\x33\xb8\ +\x3b\x19\x6c\x93\xbe\x1a\x10\x2e\x0e\x67\xf2\x25\x31\xa2\x01\xc5\ +\x1c\xf0\x1a\x5c\x84\x11\xf3\xdc\x31\xe0\x09\x1d\x28\x95\xc7\x11\ +\x02\xee\x73\xe5\x21\x1a\xa2\x3c\x13\xac\x04\xea\xda\x45\x68\x3b\ +\x21\x3e\x11\x0f\xaa\x41\x3e\x8c\x98\xec\x8a\x13\x2e\x01\x23\xc1\ +\x49\xb6\x97\x43\x51\x04\xfb\x92\x51\xcf\x73\x70\x13\xc4\xf3\x7d\ +\xc1\x24\xfc\xee\x95\xd6\x1e\x8c\xa2\x08\xf4\x07\x71\xe8\xab\x70\ +\x66\xc0\x03\xd0\xc7\xe2\x37\xcd\x18\xdc\xee\xc0\x80\x74\xfa\x48\ +\x23\xc8\x05\x2f\x81\x8a\x05\xa3\x40\x1a\xf8\x02\x22\xa1\xe7\xa3\ +\x55\x1c\x50\x22\xce\xb5\xcd\x62\x8e\xa3\x98\xa4\xaf\xd6\x57\x09\ +\x45\xeb\xb5\xfe\x43\xa0\x03\x6c\xe2\x2d\xb1\x59\xe8\x18\x0c\x42\ +\x81\x43\x03\x1a\xe8\xe5\x66\xe9\xe2\x04\xaa\xef\x93\xc9\xfb\xbb\ +\x18\x49\xb3\x1c\x04\xab\x3a\x57\x9c\x30\x90\xce\x24\xec\xa3\x13\ +\x49\x3d\x9b\x5b\x1c\x8a\xc9\xc4\xf3\x23\xa1\xb4\x0c\xe4\x1a\x5e\ +\x10\x7d\x07\xe4\x7a\x15\x72\x27\x02\xf8\xfd\x58\xeb\x6f\x61\x59\ +\xcc\x88\x59\xe9\x6d\x03\xc6\xca\xbd\xc7\x2a\xc7\x63\x75\x12\xdb\ +\x07\xb0\x7d\x0b\xda\xae\x6a\x5b\x9e\x69\x78\x51\x74\x03\x64\x65\ +\x6d\xca\xf1\x40\x2f\xd6\xcb\x8c\x6e\x14\xbb\xb6\x32\x79\x09\x4b\ +\x59\x3f\x63\xfc\x27\xb1\xbb\xf0\xe4\x46\x32\x59\x09\xf4\x70\x8e\ +\x1e\xea\xba\x42\xd7\x57\xd6\xa5\xcc\xc5\x42\x8b\xed\x4e\x26\x9f\ +\x8d\xe2\x8e\xa6\xe4\x5f\xc4\x1c\x92\x93\xa1\x7f\xa9\x8f\x93\x41\ +\xd9\x5e\x9a\xfc\x6f\x21\xe0\x84\x33\x03\xc6\xb1\xbc\x02\xce\xea\ +\xd6\x83\x7b\x60\x3a\x58\xc8\x50\x2e\x0f\x50\x01\x5f\x50\xf9\x96\ +\xdd\x7b\xab\x8d\xb9\xc1\xf6\x04\xf0\x46\x85\x6a\x67\x06\xf8\xb2\ +\xac\x60\x60\x52\x72\x1b\x84\x31\x01\x09\xe0\x64\x85\xcc\x90\x3a\ +\xf9\x74\x17\x30\xfc\x2a\x49\xe1\x42\xe6\x82\xf3\x2e\x3b\x21\xa5\ +\x91\xaf\xa5\x92\x26\x2d\x4e\x7c\xd3\x1e\xb1\x76\x06\x28\x79\xd2\ +\x83\x99\x6f\x2a\x59\xce\x1c\xa2\x8a\x8f\xd6\x1f\xa1\xd8\x99\x01\ +\x3d\x59\xaf\x85\xf7\x76\x68\xb9\x61\x8b\x66\x4c\x33\x03\x9a\x3c\ +\x4a\xab\x24\x29\xe1\xa4\x37\xc1\x43\x39\x73\xb0\xc8\x93\x1d\x88\ +\xe6\xa0\x7e\x92\xb8\xc0\x7b\xe3\xb5\x40\xd5\xa0\xbd\x80\x52\x1f\ +\x0a\x46\xf0\x7b\x0d\xa9\x66\xb2\xfb\x82\x69\x7f\xb4\xab\x06\xc8\ +\x2b\x36\x90\xe7\x17\xcb\x6c\x28\x91\x79\xa2\x92\xc3\x4c\xd1\x44\ +\x66\x81\x29\x16\x7a\x86\x83\xa7\x4c\x50\x24\xcf\x8c\x63\x7b\x9b\ +\x33\x03\xae\x33\x08\x89\x44\x11\xb3\x4c\xd3\xea\xa3\x1d\xe8\x0a\ +\x23\xbf\xe9\xf7\x31\x79\xbb\x59\x76\xf1\xfc\xba\x43\xee\xca\x6e\ +\xa8\x1d\x08\xe7\x3d\x35\x4c\xc9\x86\x78\xfb\x32\x9c\x79\x10\xb3\ +\x1a\x4f\x44\x8e\x24\x87\xa9\x7c\x89\x0a\xc5\xd0\x5d\xa3\x72\xc2\ +\x7a\xde\xdd\x28\x34\xbe\xf3\xe6\x12\xa1\xdb\x8f\xf1\x61\x22\x98\ +\x60\x95\x98\xca\x0e\x9c\x03\x7b\xe4\x0f\x05\x06\xe4\x30\xa9\xec\ +\xf2\xc2\xfc\xc3\xc0\x66\x30\x06\x3c\xa3\x5e\xcb\xd7\x30\x8d\x59\ +\xac\x24\x95\xfb\xbd\x7c\xce\x12\x2f\xf2\x99\xd4\x58\xfe\x6b\xfe\ +\x29\xc0\x00\x12\x09\x26\xe1\x36\xa9\x6f\xb1\x00\x00\x00\x00\x49\ +\x45\x4e\x44\xae\x42\x60\x82\ +\x00\x00\x06\xbf\ \x89\ \x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ \x00\x00\x20\x00\x00\x00\x20\x08\x06\x00\x00\x00\x73\x7a\x7a\xf4\ @@ -167,118 +342,82 @@ \x70\x3a\x2f\x2f\x6e\x73\x2e\x61\x64\x6f\x62\x65\x2e\x63\x6f\x6d\ \x2f\x78\x61\x70\x2f\x31\x2e\x30\x2f\x22\x20\x78\x6d\x70\x4d\x4d\ \x3a\x4f\x72\x69\x67\x69\x6e\x61\x6c\x44\x6f\x63\x75\x6d\x65\x6e\ -\x74\x49\x44\x3d\x22\x78\x6d\x70\x2e\x64\x69\x64\x3a\x62\x62\x65\ -\x34\x65\x39\x38\x62\x2d\x34\x38\x33\x63\x2d\x62\x63\x34\x33\x2d\ -\x62\x62\x33\x65\x2d\x62\x35\x35\x32\x61\x31\x32\x61\x31\x39\x34\ -\x34\x22\x20\x78\x6d\x70\x4d\x4d\x3a\x44\x6f\x63\x75\x6d\x65\x6e\ -\x74\x49\x44\x3d\x22\x78\x6d\x70\x2e\x64\x69\x64\x3a\x35\x39\x39\ -\x42\x34\x36\x41\x36\x45\x43\x35\x31\x31\x31\x45\x32\x42\x33\x41\ -\x33\x41\x44\x43\x39\x30\x42\x32\x33\x41\x36\x41\x43\x22\x20\x78\ +\x74\x49\x44\x3d\x22\x78\x6d\x70\x2e\x64\x69\x64\x3a\x63\x34\x37\ +\x39\x66\x62\x31\x39\x2d\x34\x33\x34\x34\x2d\x62\x65\x34\x33\x2d\ +\x39\x39\x31\x31\x2d\x33\x64\x35\x32\x63\x31\x30\x33\x35\x37\x65\ +\x31\x22\x20\x78\x6d\x70\x4d\x4d\x3a\x44\x6f\x63\x75\x6d\x65\x6e\ +\x74\x49\x44\x3d\x22\x78\x6d\x70\x2e\x64\x69\x64\x3a\x42\x43\x39\ +\x35\x36\x46\x31\x41\x35\x39\x38\x34\x31\x31\x45\x33\x38\x45\x35\ +\x31\x43\x44\x35\x41\x43\x39\x34\x42\x36\x39\x45\x41\x22\x20\x78\ \x6d\x70\x4d\x4d\x3a\x49\x6e\x73\x74\x61\x6e\x63\x65\x49\x44\x3d\ -\x22\x78\x6d\x70\x2e\x69\x69\x64\x3a\x35\x39\x39\x42\x34\x36\x41\ -\x35\x45\x43\x35\x31\x31\x31\x45\x32\x42\x33\x41\x33\x41\x44\x43\ -\x39\x30\x42\x32\x33\x41\x36\x41\x43\x22\x20\x78\x6d\x70\x3a\x43\ +\x22\x78\x6d\x70\x2e\x69\x69\x64\x3a\x42\x43\x39\x35\x36\x46\x31\ +\x39\x35\x39\x38\x34\x31\x31\x45\x33\x38\x45\x35\x31\x43\x44\x35\ +\x41\x43\x39\x34\x42\x36\x39\x45\x41\x22\x20\x78\x6d\x70\x3a\x43\ \x72\x65\x61\x74\x6f\x72\x54\x6f\x6f\x6c\x3d\x22\x41\x64\x6f\x62\ \x65\x20\x50\x68\x6f\x74\x6f\x73\x68\x6f\x70\x20\x43\x43\x20\x28\ \x57\x69\x6e\x64\x6f\x77\x73\x29\x22\x3e\x20\x3c\x78\x6d\x70\x4d\ \x4d\x3a\x44\x65\x72\x69\x76\x65\x64\x46\x72\x6f\x6d\x20\x73\x74\ \x52\x65\x66\x3a\x69\x6e\x73\x74\x61\x6e\x63\x65\x49\x44\x3d\x22\ -\x78\x6d\x70\x2e\x69\x69\x64\x3a\x39\x31\x35\x39\x37\x32\x39\x38\ -\x2d\x65\x37\x66\x37\x2d\x32\x38\x34\x63\x2d\x61\x65\x37\x35\x2d\ -\x66\x32\x63\x33\x34\x61\x66\x38\x63\x39\x36\x38\x22\x20\x73\x74\ +\x78\x6d\x70\x2e\x69\x69\x64\x3a\x63\x31\x65\x61\x38\x31\x32\x35\ +\x2d\x65\x62\x64\x64\x2d\x63\x38\x34\x62\x2d\x39\x66\x37\x61\x2d\ +\x30\x36\x39\x39\x32\x39\x38\x64\x62\x39\x33\x63\x22\x20\x73\x74\ \x52\x65\x66\x3a\x64\x6f\x63\x75\x6d\x65\x6e\x74\x49\x44\x3d\x22\ -\x78\x6d\x70\x2e\x64\x69\x64\x3a\x62\x62\x65\x34\x65\x39\x38\x62\ -\x2d\x34\x38\x33\x63\x2d\x62\x63\x34\x33\x2d\x62\x62\x33\x65\x2d\ -\x62\x35\x35\x32\x61\x31\x32\x61\x31\x39\x34\x34\x22\x2f\x3e\x20\ +\x78\x6d\x70\x2e\x64\x69\x64\x3a\x63\x34\x37\x39\x66\x62\x31\x39\ +\x2d\x34\x33\x34\x34\x2d\x62\x65\x34\x33\x2d\x39\x39\x31\x31\x2d\ +\x33\x64\x35\x32\x63\x31\x30\x33\x35\x37\x65\x31\x22\x2f\x3e\x20\ \x3c\x2f\x72\x64\x66\x3a\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6f\ \x6e\x3e\x20\x3c\x2f\x72\x64\x66\x3a\x52\x44\x46\x3e\x20\x3c\x2f\ \x78\x3a\x78\x6d\x70\x6d\x65\x74\x61\x3e\x20\x3c\x3f\x78\x70\x61\ -\x63\x6b\x65\x74\x20\x65\x6e\x64\x3d\x22\x72\x22\x3f\x3e\xa4\x11\ -\xf0\xda\x00\x00\x05\x1b\x49\x44\x41\x54\x78\xda\xec\xd7\x7d\x6c\ -\x13\x65\x1c\x07\xf0\xe7\xae\x77\x7d\xdf\x2c\xa3\xdd\x4a\xd7\xbd\ -\x94\x6d\x30\x21\x83\x89\x92\x18\x34\x43\x9c\xb2\xc5\xbf\x20\x1b\ -\x10\xa3\x91\x88\x80\x24\xc6\x85\x4c\xc2\x7f\xc6\x18\x13\x88\x4a\ -\x36\xc3\x8c\x7f\x98\x18\x25\xc3\x00\x0a\x73\x31\xd1\xc9\xa2\x33\ -\x48\x4c\x88\x23\x93\xe0\x70\xc3\xb9\xb5\x63\x5d\x5f\xd6\x8e\x45\ -\xb3\xbe\xde\xf5\xce\xef\x33\x9e\xb2\x6e\xa5\xfe\x37\x66\x22\x5d\ -\xb6\xfb\x3d\x9f\x6b\x7b\xbf\xfb\x3d\x6f\x37\x4e\x55\x55\xb2\x9c\ -\x2f\x9e\x2c\xf3\x4b\x48\x07\x5d\x3d\xbd\xbb\xbd\x81\xe0\x81\xb0\ -\xdf\x77\xbc\xef\x9b\xaf\xfb\x96\xea\x82\x2a\x7e\x78\x5e\x43\x3a\ -\x3a\x3a\x48\x6d\x6d\xed\x7c\x02\x9e\x89\xc9\x96\xc1\x9b\x23\x4f\ -\x28\x72\x32\x64\xb6\x3b\x1f\x07\x6d\x42\xe7\xc8\x82\x20\x1a\x78\ -\x9e\xd3\x28\x8a\x4a\x64\x59\x8a\x72\x84\x28\xb4\xd3\x32\x5c\x85\ -\xc7\x32\xdc\x08\xe7\x17\xbb\x28\x8a\x66\x1c\x22\x33\xd3\xe1\xef\ -\xae\x5c\xbe\x74\x7a\x6a\x6a\x4a\x5a\x50\x01\x51\x14\x64\xad\x28\ -\x10\xbd\xd9\x2c\x5b\x6d\x85\x0d\xa0\x3a\x8e\xe3\x49\xc8\xef\xfb\ -\x22\x91\x88\xb9\x75\x3a\x83\x68\x5b\xe5\x38\xa0\xaa\x4a\x1e\xf3\ -\xb3\xf0\x71\xb8\x0e\x7e\x10\x6e\x64\xde\x09\xf7\xc3\x0d\xec\xfd\ -\x7a\xea\x41\x9f\xb7\xab\xc0\x6a\xdb\xa4\x37\x1a\x77\x57\xd7\xd4\ -\x3e\xe9\x70\x96\xbc\x4a\xe8\x0d\x2e\xa8\x0e\xfd\xa3\x2a\xaa\x94\ -\x4c\xc6\xe6\x92\xd2\x6a\xc9\xc5\xee\x2f\xdf\x0d\x4c\x7a\x07\xec\ -\xc5\x4e\xf2\xc2\xa1\xd7\xb7\xe2\xdc\xa3\xcc\x8f\xc3\xaf\x33\xdf\ -\x06\xdf\x08\x4f\xc0\xdf\x86\x8f\xc2\x39\x78\x3d\x7c\x1d\x3c\xf2\ -\xed\xf9\x73\x2d\x46\x93\x69\x66\xe7\x8b\x7b\x4f\xeb\x0d\x86\x7d\ -\x46\xb3\xf9\x43\x5c\xe2\xd7\xac\x41\x48\xb3\xc5\x07\x0c\xf4\x22\ -\x82\x28\xd2\xb4\xf8\x74\x7a\x68\xe7\x72\x23\x73\x5d\x0e\x37\xa1\ -\xc2\xe2\x84\x7b\x34\x4a\x13\xe1\x05\x41\x56\x14\xc5\x3a\x77\xbd\ -\xf4\x34\xec\xf8\xb4\xf3\xc7\xdf\x47\x46\x9f\x42\xc7\x9d\x09\x07\ -\xfd\xed\xa0\x62\xbd\xc1\x48\x4f\x36\xc7\x63\x51\x07\x62\x19\xf1\ -\x57\x88\x27\x10\x6b\x99\xdb\x11\xd3\xbe\xec\x42\xec\x45\x4c\xfb\ -\xb9\x09\xf1\x4a\xe6\x17\x10\xfb\x10\xe7\x33\xb7\x20\x19\x6e\x45\ -\xa1\xbd\xee\x8d\x83\x2f\x37\x56\x96\x97\xf5\x09\x0b\xa6\x04\xee\ -\xcc\x7b\xcb\xc3\x77\x7f\x7e\xaa\x1f\xcd\x7e\x6b\xa1\x9d\xbc\xd2\ -\x7a\xf4\x1d\x59\x92\x6a\xe8\xb9\x4f\xda\xde\x3b\x12\x9e\x0a\xfc\ -\xc6\xfc\x18\xbc\x9a\xf9\x61\xf8\x30\xf3\xf7\xe1\xa5\xcc\x5f\x83\ -\x8f\xc1\x79\x78\x3b\xdc\x8e\x1e\x26\x91\x68\x84\x5e\x4e\x59\x30\ -\x08\xe7\xaa\xa6\x28\x04\xfd\xa4\x3a\xcb\x5c\x46\x34\xf5\xd6\x22\ -\x3b\x86\x84\xf2\x37\x1d\xbd\xf4\x9c\xb3\xdc\x65\x43\xff\x3d\x04\ -\x17\xd0\xfe\x8b\xb9\xc2\xdc\x0f\x37\xa3\x3d\x03\x5f\x89\x63\x02\ -\x5e\x04\x9f\x86\xaf\x40\x7b\x1a\x9e\x47\xab\x8e\x5f\x63\xd6\x3a\ -\x40\x5f\xc8\x90\xd8\xec\xc5\xd2\x9e\xfd\x87\x4e\xa2\xb9\x4d\xa3\ -\xd1\xa8\xbd\xdd\x17\x8e\x86\x83\x81\x21\x7c\x09\xb7\x7d\x47\xd3\ -\x07\xa9\x54\xca\x05\xe7\xe0\x47\xe0\x37\xe1\x22\xbc\x1d\x5e\x02\ -\x4f\xc1\x5b\xe1\x1e\xb8\x9e\xb9\x03\x2e\xc1\x0f\xc3\x27\x6c\xf6\ -\x55\x05\x5b\x9e\x6d\xec\xa1\x63\x3c\x2b\x81\x8c\x59\x50\x8d\x70\ -\x35\xd1\xe9\x88\xd7\xe3\x76\xa3\x8c\x43\xf1\x58\x8c\xa4\x14\xa5\ -\x04\xe7\x2a\x99\x8f\x66\x78\x19\xbc\x82\xf9\x30\xdc\xcd\xdc\x05\ -\x2f\x65\x3e\x04\xf7\xc2\x45\x8e\xe7\x13\xac\x12\xd9\x09\x60\x16\ -\x70\x82\x28\xdc\x40\x68\xd5\xf0\xbc\x8a\x32\x56\xa2\x8c\x0a\xee\ -\x88\xa0\xed\x21\x5a\xad\x82\xa3\x06\x5e\x05\xe7\xe1\x1a\xb4\xc7\ -\xe0\x09\x1c\x69\x77\xac\x87\xe7\xc3\x75\x68\xff\x09\x9f\xc5\x51\ -\x82\xd7\xc0\x0b\x50\x01\x0b\xba\x43\x97\x9e\xf6\x59\x83\x30\x14\ -\x98\xd4\xfe\x74\xb1\x67\x3f\x9a\x3a\x3a\x06\x50\xc6\x5e\x94\xf1\ -\x31\xd6\x1d\xdb\x51\xc6\x7e\x3a\x06\xe0\x3f\xc0\x37\xc2\x65\xf8\ -\x33\xf0\x6b\xf0\x3c\xf8\xf7\xf0\xb5\xf0\x38\xf3\x41\x3a\x06\xd8\ -\xfb\x5d\x6c\x10\xd2\x59\x24\x65\x25\x80\xd2\x90\x68\x24\x42\xbc\ -\xe3\xee\x24\x9a\x49\x5a\x46\x98\x89\xa4\x52\xb4\x6c\xb4\x8c\x33\ -\x28\x63\x94\xb9\x99\xb9\x08\xbf\xcd\x3c\x8a\x76\x7e\x86\x87\x99\ -\x27\x98\x6b\x73\x6e\x46\xe9\x41\x58\xe4\x70\x2a\x4d\x2f\xed\xdb\ -\x9c\x5e\x07\xbc\xee\xb1\xeb\x98\xbf\x61\xba\x0e\x34\xec\x6c\xde\ -\x82\xb8\x84\xae\x03\xf0\x01\x36\xc7\x25\x78\x1d\xe2\xd5\x74\x1d\ -\x80\x5f\x41\x3c\xc2\xfc\x69\xc4\xd5\x74\x1d\x80\xff\x9c\xb1\x0e\ -\x6c\x4d\xef\xc4\x59\xd3\x90\x7e\xb0\xbc\x6a\xed\x09\xba\x17\xd0\ -\x2e\x39\x75\xb2\x6d\x73\xc0\xe7\xbd\x6a\x77\x38\xc9\xde\x96\xd6\ -\x1b\x48\x72\x1d\xf3\x47\xe0\xd7\x98\xff\x01\xaf\x62\xbe\x06\x3e\ -\x02\xe7\xe0\x63\xf0\xf2\x39\xef\x68\x73\x61\x89\xf6\x54\x3e\xbc\ -\xbe\xb4\x71\xd7\xf3\x63\xf8\x7e\x4d\xae\x59\x40\xd2\x7b\xc1\x9d\ -\x7e\xb9\xb3\x60\xd0\x31\x8b\x2f\x8b\xe1\xdc\xbd\x3c\xca\x3c\x91\ -\xc3\x23\x92\x24\x4b\x25\xae\x0a\xf3\x73\xcd\x7b\x3a\x64\x59\xc6\ -\xb8\xe4\x43\xb9\x66\x01\x06\xa3\x60\x48\xc7\x0d\x3b\x76\xbd\x89\ -\xdd\xed\x16\x76\x37\x01\xed\x6a\xba\xb6\x33\x7f\x0b\xee\x85\x6b\ -\xd1\x5e\xc3\x5c\x07\x3f\x06\x0f\xc0\xe9\x2e\x58\xc1\xdc\x84\x0b\ -\x7f\x84\xdd\x70\x03\x76\xc3\xf2\x50\x30\xf8\x71\x74\x76\x76\xf0\ -\xdf\xf6\x82\x01\x50\x2d\x4e\xc9\x74\x03\xba\xfb\x3c\x80\x3b\xe2\ -\x70\x87\x2a\xdb\x98\xee\x3e\x0f\xa0\x32\x19\x3e\xff\x3c\x90\xe1\ -\x78\x1e\x30\xe1\x3b\xe3\x33\xb7\xc3\xbd\xbf\x5c\xbe\x74\xe6\xfc\ -\xb9\xb3\x72\x7d\x7d\xfd\xa2\x69\x28\x08\xc4\xe7\x1d\xe7\xbb\x3a\ -\x3f\x3b\xb1\xd4\x8f\x62\x98\xa6\xf7\x7e\x26\xa4\xe5\xfd\x5f\x3d\ -\x94\x3e\x48\xe0\x41\x02\xff\xa9\x04\xc4\x45\xc7\xfb\x9b\x00\xd6\ -\xea\xd1\x04\xd6\xed\x78\x3c\x31\x7c\x3f\x2e\x8c\x67\x03\xb2\x60\ -\x29\x9e\x0c\x04\x2d\xd1\x78\x7c\x43\x32\x1e\xbf\x1a\x0a\xf8\xa3\ -\x4b\x9d\x00\xfd\xbf\xd0\x62\xb1\xcc\x27\xb0\x5c\xaf\x7f\x04\x18\ -\x00\x56\x05\x3f\x36\x5e\x70\xba\x49\x00\x00\x00\x00\x49\x45\x4e\ -\x44\xae\x42\x60\x82\ -\x00\x00\x09\x63\ +\x63\x6b\x65\x74\x20\x65\x6e\x64\x3d\x22\x72\x22\x3f\x3e\x5a\x6c\ +\x96\x67\x00\x00\x02\xe4\x49\x44\x41\x54\x78\xda\xc4\x57\xbd\x6b\ +\x14\x41\x14\xdf\xdd\x9c\x88\xa0\xb1\xb1\x12\xab\xa0\x9c\x26\xa8\ +\x8d\x70\x82\xf8\x41\x8a\xa0\x8d\x45\xf0\x0f\x30\x9c\x28\x24\x70\ +\x20\x39\xa3\x85\xa4\x38\xd3\xa8\x88\x72\x45\x2a\xb5\x4e\x95\x42\ +\x2d\xd6\x14\x21\x0a\x16\x57\x08\x7e\x25\xb9\xcb\xa9\x58\x04\x0b\ +\x89\x85\xa7\x9d\x90\xf3\xf7\xe0\xb7\x30\x8c\xfb\x76\x76\x97\x9c\ +\x3e\xf8\x31\xc3\xbc\x79\x1f\xf3\xe6\xcd\x9b\x19\xdf\xcb\x41\x95\ +\x4a\xa5\x8a\x66\x1a\xd8\xc5\xa1\x0e\x50\xab\xd7\xeb\xf7\xb2\xea\ +\xf2\x73\x18\xdf\x8b\x66\x3d\x46\xb6\x0b\xec\x83\x13\x5f\xb3\xe8\ +\x0b\x72\x04\xe0\x80\xe2\xb8\x4f\x5e\x26\x2a\x28\xab\x1c\x43\x33\ +\x0e\x6c\x00\x55\xac\x6a\x39\x65\xd4\x7c\x4b\xcf\x29\xd9\x1a\xda\ +\x99\x81\x9e\xd0\x19\x01\x08\xdd\x40\xf3\x18\x38\x06\x9c\x05\x96\ +\x30\x76\x98\x3c\x31\x30\x90\xe0\xc0\x00\xe7\xc8\xdc\x61\x34\x62\ +\xf0\x34\x70\x02\x78\x82\xb1\xf3\x2e\x8f\xc7\x68\xdc\x26\x89\xc4\ +\x5d\xe0\x52\x8a\x30\x7f\x04\xe6\x80\x49\x60\x87\xc5\xfb\x2d\x8b\ +\x42\x24\x16\xb5\x08\x8c\x2b\x4a\xf7\x00\xb7\x53\xee\xf1\x7e\xe0\ +\x66\x8c\x71\xa1\x6d\xc0\x95\xa4\x2d\xd8\xf0\x7a\x4f\xdf\x93\x1c\ +\xa8\xf6\xd8\x89\x4f\xc0\xad\xc4\x3a\xc0\x84\x5b\x64\xd8\x93\xa8\ +\x05\xac\xb2\x7f\x08\x28\xa6\x30\x7e\x06\xfb\xbf\xee\x2c\x44\x70\ +\x62\x8a\x7b\x1e\x47\xcf\x81\x29\x28\x7a\x67\xc9\x1c\x61\xa2\x8e\ +\x28\x72\x13\x90\x99\x75\x56\x42\x1e\xa3\x96\x92\x70\xf7\x25\xbb\ +\xa1\xa8\xab\x38\x2e\xb2\x52\x8e\xaf\xc6\xb0\xd7\x80\x83\xb6\xac\ +\x6f\x94\xd7\xa8\xc2\xc9\x39\x7f\xa4\xac\xfc\x5c\xa4\x00\x32\x92\ +\x3f\x83\xe4\xad\x60\x7c\xd3\x70\x22\x54\x22\x51\x06\x3e\xb3\x6c\ +\xb7\xa5\x6c\xfb\x10\x98\x64\xe8\x5c\xf7\xc2\xd1\x28\xec\x90\x91\ +\x3d\x9f\x97\x15\x91\xd7\x04\x46\xc1\x5f\x35\xb6\xe3\xad\x43\x9f\ +\x38\x71\x2d\xe0\xad\xe6\x32\xde\x32\x8c\x07\x96\x71\x8f\xfd\x79\ +\xf2\x3c\xce\x6d\xa5\xb8\x08\xa7\x45\xa0\x3f\xc5\xf1\x69\x1a\xfd\ +\x21\xcb\xb8\xe9\xc4\xa0\x22\xa3\x51\x7f\xe0\xfd\x67\x0a\xf8\x98\ +\x70\x91\xb9\xe2\x65\x65\x75\x32\xb6\xa2\xc8\x68\xd4\x09\x78\x5d\ +\x76\x1d\x13\x8b\x4c\x2c\x8f\xd9\x3e\x6a\x39\x11\x25\xe1\xa6\x91\ +\x84\xc5\x14\x49\x58\xcb\x72\x0c\x17\x78\x93\x99\xc7\x70\x28\x8a\ +\x4a\xee\x63\xa8\x14\x93\x35\xde\x6a\x5b\x59\x88\xda\x12\x15\x5b\ +\xf6\xaf\x24\xe4\x84\x39\x25\x6c\xa2\x38\x8c\xb6\x23\xa6\x14\x87\ +\x8a\x71\xa1\x87\x71\x8e\xc7\x45\x40\x5e\x32\xcf\x94\xfb\xdc\xbe\ +\x8c\x9a\x46\xc2\xb9\xf6\x5c\x6e\xd9\x61\x38\xf1\xde\xf5\x86\x0b\ +\x53\x18\xcf\x4b\xe2\xc4\x49\x38\xd1\xd4\xb6\xa0\xd6\x43\xe3\xd1\ +\xcb\xea\x7a\x52\x0e\x14\xfe\x41\xed\x29\x24\x39\x30\xc3\x87\x63\ +\xdc\x63\x62\x82\xa7\xc3\x45\x6d\xae\x32\xee\x65\xd5\xe1\x29\x89\ +\x77\x80\xef\xf6\x0b\x96\x13\xd1\x4b\x66\x96\xc9\x56\x4e\x30\x5e\ +\xe6\x51\xbb\x23\x09\x67\x39\x21\xc6\x47\xc0\x7b\x63\x0a\xf4\xd9\ +\x1a\x1a\x8d\x46\xab\x54\x2a\xbd\x62\x2e\xbc\x04\x2e\x46\xdf\x2d\ +\xf0\x3c\xf0\x76\xcb\x98\xe2\xc0\x03\xcc\xfd\xc2\xb9\xdf\x30\xf7\ +\x29\xba\x3b\x81\x0f\xc0\x65\xf0\x5e\x6f\xc5\xdf\x50\x3e\x1a\x4b\ +\x0a\x5b\x22\xf5\xa2\xd7\x7f\xc3\xb6\x72\x77\x74\xc9\xcb\x44\x7d\ +\x59\x05\x10\xda\x9f\x08\xed\x2f\x74\x8f\x03\xdb\x39\xfc\x43\x3e\ +\x23\x58\xfd\x42\x56\x7d\x7f\x04\x18\x00\xe5\xb8\x12\x0b\xa0\x46\ +\x15\xe4\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\ +\x00\x00\x05\xa0\ \x89\ \x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ \x00\x00\x20\x00\x00\x00\x20\x08\x06\x00\x00\x00\x73\x7a\x7a\xf4\ @@ -313,125 +452,64 @@ \x70\x3a\x2f\x2f\x6e\x73\x2e\x61\x64\x6f\x62\x65\x2e\x63\x6f\x6d\ \x2f\x78\x61\x70\x2f\x31\x2e\x30\x2f\x22\x20\x78\x6d\x70\x4d\x4d\ \x3a\x4f\x72\x69\x67\x69\x6e\x61\x6c\x44\x6f\x63\x75\x6d\x65\x6e\ -\x74\x49\x44\x3d\x22\x78\x6d\x70\x2e\x64\x69\x64\x3a\x62\x62\x65\ -\x34\x65\x39\x38\x62\x2d\x34\x38\x33\x63\x2d\x62\x63\x34\x33\x2d\ -\x62\x62\x33\x65\x2d\x62\x35\x35\x32\x61\x31\x32\x61\x31\x39\x34\ -\x34\x22\x20\x78\x6d\x70\x4d\x4d\x3a\x44\x6f\x63\x75\x6d\x65\x6e\ -\x74\x49\x44\x3d\x22\x78\x6d\x70\x2e\x64\x69\x64\x3a\x33\x46\x32\ -\x30\x46\x32\x41\x42\x45\x43\x35\x32\x31\x31\x45\x32\x42\x41\x42\ -\x37\x45\x31\x37\x42\x37\x44\x34\x45\x35\x43\x31\x31\x22\x20\x78\ +\x74\x49\x44\x3d\x22\x78\x6d\x70\x2e\x64\x69\x64\x3a\x63\x34\x37\ +\x39\x66\x62\x31\x39\x2d\x34\x33\x34\x34\x2d\x62\x65\x34\x33\x2d\ +\x39\x39\x31\x31\x2d\x33\x64\x35\x32\x63\x31\x30\x33\x35\x37\x65\ +\x31\x22\x20\x78\x6d\x70\x4d\x4d\x3a\x44\x6f\x63\x75\x6d\x65\x6e\ +\x74\x49\x44\x3d\x22\x78\x6d\x70\x2e\x64\x69\x64\x3a\x31\x45\x45\ +\x31\x42\x33\x30\x45\x35\x39\x38\x35\x31\x31\x45\x33\x38\x46\x34\ +\x31\x43\x38\x46\x38\x31\x43\x33\x30\x33\x39\x39\x45\x22\x20\x78\ \x6d\x70\x4d\x4d\x3a\x49\x6e\x73\x74\x61\x6e\x63\x65\x49\x44\x3d\ -\x22\x78\x6d\x70\x2e\x69\x69\x64\x3a\x33\x46\x32\x30\x46\x32\x41\ -\x41\x45\x43\x35\x32\x31\x31\x45\x32\x42\x41\x42\x37\x45\x31\x37\ -\x42\x37\x44\x34\x45\x35\x43\x31\x31\x22\x20\x78\x6d\x70\x3a\x43\ +\x22\x78\x6d\x70\x2e\x69\x69\x64\x3a\x31\x45\x45\x31\x42\x33\x30\ +\x44\x35\x39\x38\x35\x31\x31\x45\x33\x38\x46\x34\x31\x43\x38\x46\ +\x38\x31\x43\x33\x30\x33\x39\x39\x45\x22\x20\x78\x6d\x70\x3a\x43\ \x72\x65\x61\x74\x6f\x72\x54\x6f\x6f\x6c\x3d\x22\x41\x64\x6f\x62\ \x65\x20\x50\x68\x6f\x74\x6f\x73\x68\x6f\x70\x20\x43\x43\x20\x28\ \x57\x69\x6e\x64\x6f\x77\x73\x29\x22\x3e\x20\x3c\x78\x6d\x70\x4d\ \x4d\x3a\x44\x65\x72\x69\x76\x65\x64\x46\x72\x6f\x6d\x20\x73\x74\ \x52\x65\x66\x3a\x69\x6e\x73\x74\x61\x6e\x63\x65\x49\x44\x3d\x22\ -\x78\x6d\x70\x2e\x69\x69\x64\x3a\x38\x63\x63\x61\x63\x62\x39\x36\ -\x2d\x66\x66\x39\x38\x2d\x31\x39\x34\x64\x2d\x61\x39\x30\x32\x2d\ -\x30\x62\x32\x37\x31\x63\x63\x61\x31\x37\x63\x39\x22\x20\x73\x74\ +\x78\x6d\x70\x2e\x69\x69\x64\x3a\x63\x31\x65\x61\x38\x31\x32\x35\ +\x2d\x65\x62\x64\x64\x2d\x63\x38\x34\x62\x2d\x39\x66\x37\x61\x2d\ +\x30\x36\x39\x39\x32\x39\x38\x64\x62\x39\x33\x63\x22\x20\x73\x74\ \x52\x65\x66\x3a\x64\x6f\x63\x75\x6d\x65\x6e\x74\x49\x44\x3d\x22\ -\x78\x6d\x70\x2e\x64\x69\x64\x3a\x62\x62\x65\x34\x65\x39\x38\x62\ -\x2d\x34\x38\x33\x63\x2d\x62\x63\x34\x33\x2d\x62\x62\x33\x65\x2d\ -\x62\x35\x35\x32\x61\x31\x32\x61\x31\x39\x34\x34\x22\x2f\x3e\x20\ +\x78\x6d\x70\x2e\x64\x69\x64\x3a\x63\x34\x37\x39\x66\x62\x31\x39\ +\x2d\x34\x33\x34\x34\x2d\x62\x65\x34\x33\x2d\x39\x39\x31\x31\x2d\ +\x33\x64\x35\x32\x63\x31\x30\x33\x35\x37\x65\x31\x22\x2f\x3e\x20\ \x3c\x2f\x72\x64\x66\x3a\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6f\ \x6e\x3e\x20\x3c\x2f\x72\x64\x66\x3a\x52\x44\x46\x3e\x20\x3c\x2f\ \x78\x3a\x78\x6d\x70\x6d\x65\x74\x61\x3e\x20\x3c\x3f\x78\x70\x61\ -\x63\x6b\x65\x74\x20\x65\x6e\x64\x3d\x22\x72\x22\x3f\x3e\x44\x49\ -\x00\x91\x00\x00\x05\x88\x49\x44\x41\x54\x78\xda\xc4\x57\x6b\x4c\ -\x53\x57\x1c\x3f\xed\xed\x6d\x0b\xad\xa5\x45\x54\x4a\xc1\xe2\x32\ -\x5a\xcb\xa3\xb6\x0a\x6a\x23\x30\xea\x24\x3a\x30\xba\x38\xdd\x18\ -\x8b\x9b\x71\xfa\x41\x13\x49\xdc\x5c\xb6\x6c\xcb\xb6\x6f\xee\xc3\ -\x36\xb3\xe9\x36\xb7\x30\x1f\x33\x3e\x58\xc8\x36\x71\xd3\x29\x0c\ -\x70\x28\x32\x98\x52\x01\x59\x11\x1f\x30\x84\x0a\xca\xd3\x62\x9f\ -\xb7\x77\xbf\x5b\xe8\x28\xfb\xe2\xa3\x25\x9e\xe4\xe4\xdc\xfb\xef\ -\xb9\xe7\xf7\x3b\xff\x77\x79\x2c\xcb\x92\x27\x39\xf8\xe4\x09\x0f\ -\x41\xe0\xa1\xa8\x68\x1b\x69\x6e\x6e\x21\x29\x86\x05\x9a\x64\xe3\ -\xfc\x8d\x0c\xc3\x2c\x82\xd8\x29\x10\xd0\xe5\x0d\x35\xd5\x07\xda\ -\x5b\x5b\x06\x04\x34\x1d\x36\xe0\x5d\xbb\x76\x11\x83\xc1\x30\x41\ -\xa0\xbe\xbe\x81\xb0\x11\xb2\x35\x44\x1a\x55\xdc\xd4\x6a\x55\x04\ -\xc0\x18\x2f\xb3\x82\x2f\x53\xbc\xd6\x76\xa3\x63\xdd\x1d\x5b\xf7\ -\xd5\x70\x11\xe8\xef\xef\x9f\x6c\x82\x05\xa6\x4c\x6d\x46\x66\xd6\ -\x7e\x8a\x10\x85\x54\x2a\x1d\x1e\xe8\xbd\xfd\x03\xe6\x71\x89\x24\ -\xd2\x2d\x9b\x26\xd3\x17\x6e\xde\x72\x40\x31\x3d\x86\x0a\x17\x01\ -\x8a\xa2\x26\x9b\x20\xc5\x38\x7f\x13\x6e\x2e\x13\x4b\xa5\x83\xd7\ -\x5a\x5b\x56\x96\x95\x1c\xae\xe5\xe4\x2b\x5f\x2c\x2c\x4c\xd2\xa5\ -\xec\x87\x46\x4c\x99\xcb\x56\x6c\x6e\xac\x3b\x7f\x0e\x62\x5e\xe0\ -\x3b\x1e\x9f\x47\x39\x1d\x8e\xde\x3b\xb7\x6d\xb6\x90\x7c\x00\x36\ -\x4f\xe7\xd4\x6e\xeb\xea\x3c\x73\x02\xe0\xac\xcf\xe7\x97\x37\xfc\ -\x51\x7d\x44\x93\x92\xb6\xdd\xe3\x76\xa7\x27\x25\xa7\x7e\xa5\x49\ -\x4d\x73\x05\x13\xa0\x85\x42\xea\x66\x9b\xf5\xf3\x92\x7d\xdf\xec\ -\x08\x89\x00\x86\x77\x7c\x15\x4f\xda\x31\x06\x25\x0a\x7a\xf3\xff\ -\xce\xfa\x58\xe2\xf5\x7a\xc6\x3e\xf4\x7a\x84\x21\x47\x01\x6c\x72\ -\xd6\xeb\xf1\x2c\x53\x26\xa8\x97\xe7\xaf\x2b\x2c\x84\xaa\x8f\x40\ -\x2c\x34\x2c\x32\xed\x80\x36\x92\x71\x53\x72\xb5\xa5\xf9\x3d\xc8\ -\xfd\xa6\x99\x11\xab\x24\xe6\xfc\x55\xbb\xf1\x98\x8a\xe9\x0b\x99\ -\xc0\x95\xc6\x4b\xfb\xe8\x69\xf2\xd7\x41\x22\x31\x29\x39\xe5\x30\ -\x54\xbd\x9d\x23\x00\x70\x3d\x97\xac\x18\x8f\xc7\x72\xae\xe2\xb7\ -\x4f\x06\xfb\xef\xba\xc7\x6f\x4d\x78\x3c\xde\x40\xd8\x12\x91\xb5\ -\xa9\xb1\xe7\x72\xfd\x85\x02\x96\xf5\xfd\x4d\x09\xfc\xbc\xd2\x31\ -\xf5\xdc\xb3\xcf\xe7\xab\x2f\x3b\x7a\xa8\x20\x00\xee\x1f\x41\x09\ -\x14\x24\x3d\x21\x6b\x80\x61\xbc\xa4\xa6\xf2\xe4\x9f\xb7\x6e\x5e\ -\x5f\x92\x91\x95\xb3\x1a\x37\xce\xe0\x53\x94\x7b\x78\x70\xb0\xee\ -\x62\x6d\xcd\x2f\xfd\x7d\xbd\xa3\xc1\x21\x14\x37\x5b\x1d\x07\xcd\ -\x44\x73\xef\x11\x52\xe9\xec\xe9\x33\x67\x49\xb1\xc7\xfe\xa8\x04\ -\x78\x81\x5a\x60\x36\x9b\x49\x75\x75\xf5\x43\xc5\x2f\x42\x73\x9b\ -\x36\x6d\xde\x3b\x08\xbf\xb8\x80\x0c\x17\x68\xb6\x36\x5f\x2e\xaa\ -\xfc\xb5\xac\x1a\x66\x7c\xe0\x39\x55\x55\x55\x24\x27\x27\xe7\xd1\ -\x6a\x01\x17\xa6\x00\x7f\x03\xe0\x5f\xb8\x9c\xce\x38\x38\xe6\x08\ -\x66\x27\x7c\x01\xfe\xc0\x4f\x5b\x60\xca\x2a\xd5\xe8\x52\xe7\x4e\ -\x59\x31\xd2\xa6\xe8\xd5\x73\xe7\x19\x3f\x00\x38\x97\x37\x4e\x9d\ -\x2a\x3d\xb6\xb0\xa4\x78\x6f\x46\x7b\xeb\x95\x0d\x20\xe7\x70\x39\ -\x1d\xd3\xd3\x33\xb3\xdf\x14\x89\xc5\x8f\x95\x07\x1e\x38\x90\x2d\ -\x33\xa1\xde\x28\x80\x0d\x9d\xfe\xa9\xb4\xc8\xda\x6c\xb9\xc6\xc9\ -\x6d\xb7\xba\x0e\xca\x14\xf2\x85\xb3\x94\xaa\xad\xb3\x54\xf1\xa6\ -\x99\xb1\x2a\x51\x57\xc7\x75\xd7\x54\x94\xe3\xa8\xf1\x75\x04\x0e\ -\xd7\x17\xec\xc0\xa3\xf7\x46\x6e\xf0\xf8\xfe\xe3\xb8\xa4\x44\x4f\ -\x89\x09\x86\x07\x07\x5a\xf8\x00\x41\xd8\xa9\x16\x9b\x9f\x5d\x43\ -\x51\x63\x0a\x9c\xa3\xd1\x4a\x54\xea\xa7\x0a\x7c\x0c\x43\x60\x06\ -\x9b\xd3\x71\x7f\x74\x4a\x4c\xd0\x70\xae\xa6\x6e\xae\xde\x58\x01\ -\x12\xcb\x50\x1f\xbe\x94\x45\xc9\x33\x00\xf6\x4f\x6c\x7c\xc2\x5a\ -\xa1\x50\xe8\xaf\x25\x2d\x97\x1a\x0e\xde\xe9\xb5\xb1\x53\xa2\x81\ -\x81\xbb\x7d\x6e\x24\xa4\x4d\x48\x4c\x7f\xc1\xeb\x23\x01\xbc\x35\ -\xf1\x69\xed\xc7\x42\xa1\x28\x9d\x12\xd0\xc4\xed\x72\x7d\x7f\xb1\ -\xf6\xfc\xa1\xc7\x2d\x46\x0f\x35\x6e\xb6\xb7\x75\x82\x44\x6e\x46\ -\x76\xce\x16\x45\x74\xcc\x8e\x48\x89\x24\x1a\x51\xd1\x71\xcd\x7a\ -\x69\x27\x12\xd6\x77\x20\xc9\x4c\x4e\x58\x89\x72\x98\x4c\x09\xff\ -\x18\xbe\x3f\x6a\xef\x81\xef\x84\x46\x60\x9c\xc4\x10\xe6\xce\x35\ -\xeb\x37\x64\x6a\xd2\x0c\x79\x9d\xd7\xaf\x96\x9e\xf9\xb9\xf4\xdb\ -\xe0\x3d\x73\x92\xb4\x92\xec\xe5\x79\xef\xcf\x54\xc6\xad\x85\xc6\ -\x94\x30\xdb\x30\xfc\xa3\xe6\xf7\x13\xc7\x3f\x6a\x6d\x6a\xb4\x06\ -\x12\xa0\x20\x94\x42\x02\x33\x50\x04\x07\x61\xa5\xff\x07\x2e\x5e\ -\xf5\xf2\xfa\x52\xf8\xc4\x0a\xc6\xeb\x25\x5c\x74\x60\x95\x60\xdf\ -\x4b\x90\x3f\x23\x53\x44\x3f\x07\x73\x59\xc2\xd6\x15\xa3\x80\x79\ -\x26\xd4\x2e\x20\xb8\xf9\x76\x0e\x1c\x51\xe1\xed\xed\xe9\xde\xdd\ -\xd1\xde\xb6\x1c\xeb\x87\x90\x8d\xc2\x0c\xb1\x3a\x83\xf1\x33\x95\ -\x5a\x4d\x87\xac\x81\xb1\xb2\xec\x45\x6f\xa0\x9a\xf7\xc2\xab\x1b\ -\x5f\xe1\xce\x13\x47\x44\x52\xd1\x31\x33\xb6\x72\x1d\x55\xdf\xed\ -\x9e\xaf\x8f\x15\xef\x2d\xe2\xf2\x04\x88\x9d\xc9\x5b\x57\xd0\x8f\ -\xf6\x6e\x8f\x48\x1c\x91\x15\x29\x91\xea\xb0\xbf\x29\x54\x02\x34\ -\x07\x04\xd0\xdc\xc4\x24\x6d\x6e\x70\xa7\x44\x8b\x44\x5c\x72\x2a\ -\xe3\xc0\x03\xc9\xea\x42\x65\xf9\x69\x4d\xaa\xde\x03\x9f\xa0\x31\ -\x63\x42\xd6\x00\xfe\x33\x74\xa3\x18\x75\x05\x75\x07\x2c\x9a\x54\ -\x3e\x6c\x1d\xcf\x32\x0c\x4f\x32\x4d\x66\xc2\xcd\x2b\xc6\x35\x40\ -\x4c\x4b\x73\xe7\x43\x2e\x80\x43\xb2\x98\x23\x21\x13\xa8\x3c\x59\ -\xb6\x4d\x5c\x55\x2e\xc6\xad\xff\x6b\xc9\x64\x72\x39\x7f\xe9\xca\ -\xe7\x8f\xc2\x1b\xcc\xb1\xaa\x84\xb7\xf3\xd6\x16\x0c\x70\x9d\xb4\ -\x71\xf1\x92\x64\x9d\xde\xf0\x29\x42\x96\x87\x68\xb0\xc0\x17\xae\ -\x84\x4c\x00\xad\xf8\x30\x97\xa1\x27\x09\x3b\x09\x51\xa9\xe7\xbc\ -\x9b\xbe\x24\xbb\x02\x20\x12\xb4\x77\x7b\xd0\xde\x79\x60\x2a\x9a\ -\xab\xa2\xb0\xbd\xab\xbe\xe6\xec\x5b\xdd\x9d\x66\x47\xaa\x4e\x37\ -\x11\x05\x0e\x87\x23\x6c\x7f\xbb\xca\xcb\x7e\xac\x3b\x5b\x7e\x2a\ -\xff\xde\xbd\x91\x5a\x87\xd3\xc9\xd8\xed\x76\x1a\x2b\xc1\xfb\x45\ -\xc8\x57\x5f\xa8\x2a\xaf\x18\x6f\xfb\x26\x3a\x22\x8b\xc5\x42\x86\ -\x86\x86\x48\x78\xc2\x12\x8e\x88\xae\x48\x19\x9f\x40\x45\x48\xa4\ -\x69\x08\x53\x39\xfc\xc2\xee\x18\xb5\x37\xa1\x74\xbb\x69\xd4\x0c\ -\x83\xd1\x48\xe4\x72\xf9\x04\x81\x27\x35\xfe\x15\x60\x00\x07\x61\ -\x96\x1e\x5f\xc4\x4f\xac\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\ -\x60\x82\ -\x00\x00\x07\xad\ +\x63\x6b\x65\x74\x20\x65\x6e\x64\x3d\x22\x72\x22\x3f\x3e\x68\x12\ +\x49\xb3\x00\x00\x01\xc5\x49\x44\x41\x54\x78\xda\x62\xfc\xff\xff\ +\x3f\x03\x23\x23\x23\x03\x3e\x90\x97\x97\x37\x01\x48\xe5\x33\x90\ +\x06\x26\x4e\x9a\x34\xa9\x00\x9f\x02\x90\xdd\x4c\x0c\x03\x0c\x58\ +\x88\x54\x77\x0a\x88\x17\x92\x68\xf6\x29\x6a\x3a\x60\x07\x10\x1f\ +\x23\xd1\x01\x9f\xa8\xe9\x80\x3a\x72\xd2\x00\x10\x17\x10\x52\x34\ +\xe0\x69\x60\xc8\x24\xc2\x26\x20\x9e\x30\x90\x69\x20\x10\x88\x7d\ +\x49\x74\xc0\x66\x20\x9e\x4b\x2d\x07\xe8\x02\xb1\x3f\x89\x0e\x78\ +\x30\x24\xd2\xc0\xa8\x03\x58\xa0\x95\x4d\x22\x90\x92\xc7\xa3\xce\ +\x82\x0c\xb3\x2d\x80\xe6\x36\xe0\x91\x7f\x08\xc4\xf3\x61\x89\x70\ +\x1b\x10\xaf\x07\x62\x4b\x2a\x7a\xce\x1c\x8a\xb1\x81\xe3\xd0\x9c\ +\x05\x89\x02\x60\xb5\xf9\x12\x48\x39\x92\x51\xe1\x90\x03\x40\x76\ +\x38\x42\xed\x64\x60\x44\x6f\x0f\x00\x83\xad\x0c\x48\xb5\xd3\x20\ +\x7d\xfc\x03\xe2\x4a\xa0\xc5\x5d\xc8\xed\x01\x46\x6c\x0d\x12\xa0\ +\x23\xbc\x81\xd4\x72\x20\xe6\xa5\x92\xe5\x9f\x81\x38\x12\x68\xf9\ +\x56\xf4\x06\x09\x23\xae\x16\x11\xd0\x11\xda\x40\x6a\x13\x10\x2b\ +\x51\x68\xf9\x3d\x20\xf6\x03\x5a\x7e\x95\xa4\x16\x11\x54\x83\x19\ +\x10\x1f\xa4\xc0\x72\x90\x5e\x33\x6c\x96\x13\x55\x0e\x00\x35\xbe\ +\x05\x52\xae\x40\x3c\x93\x0c\xcb\x41\x7a\x5c\xa1\x66\xe0\x04\x8c\ +\xc4\x34\x4a\xa1\x51\x92\x0b\xa4\xfa\x81\x98\x99\x80\xd2\xbf\x40\ +\x5c\x08\xb4\x78\x32\x21\x33\xf1\xa6\x01\x1c\x8e\x70\x01\x52\xab\ +\x81\x58\x00\x87\x92\x0f\x40\x1c\x0a\xb4\x7c\x0f\x31\xe6\x91\xec\ +\x00\xa8\x23\xd4\xa0\x89\x53\x1d\x4d\xea\x26\x34\xb1\xdd\x22\xd6\ +\x2c\xb2\x9a\xe5\x50\x0b\x40\x45\xf3\x2e\x24\xe1\xdd\x20\x31\x52\ +\x2c\x27\x39\x0d\x60\x09\x09\x50\x5a\xe8\x85\x72\x8b\x81\x96\xff\ +\x25\xd5\x0c\x78\x14\xe4\xe7\xe7\x83\x42\x42\x13\x88\x59\xe9\x54\ +\x09\xfe\x06\xe2\x1b\x13\x27\x4e\xfc\x0b\xab\x8c\xd6\x91\xd1\xe2\ +\xa1\x14\x6c\x07\x62\x2f\x58\x1a\xf0\x1b\x80\xa6\x80\x27\x72\x41\ +\xc4\xc8\x30\x40\x00\xe6\x80\x3f\x03\x60\xf7\x3f\x64\x07\x4c\x81\ +\x09\xd0\xd1\xf2\xa9\x20\x06\x40\x80\x01\x00\xc6\x51\x9f\x7a\x83\ +\x78\x67\xeb\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\ +\x00\x00\x06\xbd\ \x89\ \x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ \x00\x00\x20\x00\x00\x00\x20\x08\x06\x00\x00\x00\x73\x7a\x7a\xf4\ @@ -466,97 +544,82 @@ \x70\x3a\x2f\x2f\x6e\x73\x2e\x61\x64\x6f\x62\x65\x2e\x63\x6f\x6d\ \x2f\x78\x61\x70\x2f\x31\x2e\x30\x2f\x22\x20\x78\x6d\x70\x4d\x4d\ \x3a\x4f\x72\x69\x67\x69\x6e\x61\x6c\x44\x6f\x63\x75\x6d\x65\x6e\ -\x74\x49\x44\x3d\x22\x78\x6d\x70\x2e\x64\x69\x64\x3a\x62\x62\x65\ -\x34\x65\x39\x38\x62\x2d\x34\x38\x33\x63\x2d\x62\x63\x34\x33\x2d\ -\x62\x62\x33\x65\x2d\x62\x35\x35\x32\x61\x31\x32\x61\x31\x39\x34\ -\x34\x22\x20\x78\x6d\x70\x4d\x4d\x3a\x44\x6f\x63\x75\x6d\x65\x6e\ -\x74\x49\x44\x3d\x22\x78\x6d\x70\x2e\x64\x69\x64\x3a\x37\x42\x34\ -\x38\x31\x37\x43\x35\x45\x43\x35\x32\x31\x31\x45\x32\x39\x38\x36\ -\x38\x44\x30\x44\x46\x44\x37\x41\x33\x33\x41\x42\x43\x22\x20\x78\ +\x74\x49\x44\x3d\x22\x78\x6d\x70\x2e\x64\x69\x64\x3a\x63\x34\x37\ +\x39\x66\x62\x31\x39\x2d\x34\x33\x34\x34\x2d\x62\x65\x34\x33\x2d\ +\x39\x39\x31\x31\x2d\x33\x64\x35\x32\x63\x31\x30\x33\x35\x37\x65\ +\x31\x22\x20\x78\x6d\x70\x4d\x4d\x3a\x44\x6f\x63\x75\x6d\x65\x6e\ +\x74\x49\x44\x3d\x22\x78\x6d\x70\x2e\x64\x69\x64\x3a\x41\x41\x42\ +\x31\x33\x44\x37\x30\x35\x39\x38\x34\x31\x31\x45\x33\x41\x44\x39\ +\x31\x44\x46\x46\x41\x36\x32\x34\x34\x38\x41\x34\x46\x22\x20\x78\ \x6d\x70\x4d\x4d\x3a\x49\x6e\x73\x74\x61\x6e\x63\x65\x49\x44\x3d\ -\x22\x78\x6d\x70\x2e\x69\x69\x64\x3a\x37\x42\x34\x38\x31\x37\x43\ -\x34\x45\x43\x35\x32\x31\x31\x45\x32\x39\x38\x36\x38\x44\x30\x44\ -\x46\x44\x37\x41\x33\x33\x41\x42\x43\x22\x20\x78\x6d\x70\x3a\x43\ +\x22\x78\x6d\x70\x2e\x69\x69\x64\x3a\x41\x41\x42\x31\x33\x44\x36\ +\x46\x35\x39\x38\x34\x31\x31\x45\x33\x41\x44\x39\x31\x44\x46\x46\ +\x41\x36\x32\x34\x34\x38\x41\x34\x46\x22\x20\x78\x6d\x70\x3a\x43\ \x72\x65\x61\x74\x6f\x72\x54\x6f\x6f\x6c\x3d\x22\x41\x64\x6f\x62\ \x65\x20\x50\x68\x6f\x74\x6f\x73\x68\x6f\x70\x20\x43\x43\x20\x28\ \x57\x69\x6e\x64\x6f\x77\x73\x29\x22\x3e\x20\x3c\x78\x6d\x70\x4d\ \x4d\x3a\x44\x65\x72\x69\x76\x65\x64\x46\x72\x6f\x6d\x20\x73\x74\ \x52\x65\x66\x3a\x69\x6e\x73\x74\x61\x6e\x63\x65\x49\x44\x3d\x22\ -\x78\x6d\x70\x2e\x69\x69\x64\x3a\x38\x63\x63\x61\x63\x62\x39\x36\ -\x2d\x66\x66\x39\x38\x2d\x31\x39\x34\x64\x2d\x61\x39\x30\x32\x2d\ -\x30\x62\x32\x37\x31\x63\x63\x61\x31\x37\x63\x39\x22\x20\x73\x74\ +\x78\x6d\x70\x2e\x69\x69\x64\x3a\x63\x31\x65\x61\x38\x31\x32\x35\ +\x2d\x65\x62\x64\x64\x2d\x63\x38\x34\x62\x2d\x39\x66\x37\x61\x2d\ +\x30\x36\x39\x39\x32\x39\x38\x64\x62\x39\x33\x63\x22\x20\x73\x74\ \x52\x65\x66\x3a\x64\x6f\x63\x75\x6d\x65\x6e\x74\x49\x44\x3d\x22\ -\x78\x6d\x70\x2e\x64\x69\x64\x3a\x62\x62\x65\x34\x65\x39\x38\x62\ -\x2d\x34\x38\x33\x63\x2d\x62\x63\x34\x33\x2d\x62\x62\x33\x65\x2d\ -\x62\x35\x35\x32\x61\x31\x32\x61\x31\x39\x34\x34\x22\x2f\x3e\x20\ +\x78\x6d\x70\x2e\x64\x69\x64\x3a\x63\x34\x37\x39\x66\x62\x31\x39\ +\x2d\x34\x33\x34\x34\x2d\x62\x65\x34\x33\x2d\x39\x39\x31\x31\x2d\ +\x33\x64\x35\x32\x63\x31\x30\x33\x35\x37\x65\x31\x22\x2f\x3e\x20\ \x3c\x2f\x72\x64\x66\x3a\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6f\ \x6e\x3e\x20\x3c\x2f\x72\x64\x66\x3a\x52\x44\x46\x3e\x20\x3c\x2f\ \x78\x3a\x78\x6d\x70\x6d\x65\x74\x61\x3e\x20\x3c\x3f\x78\x70\x61\ -\x63\x6b\x65\x74\x20\x65\x6e\x64\x3d\x22\x72\x22\x3f\x3e\x75\x05\ -\xc6\x8b\x00\x00\x03\xd2\x49\x44\x41\x54\x78\xda\xcc\x57\x4b\x4c\ -\x13\x51\x14\x7d\x6f\x3a\x43\x5b\x28\x18\xc2\xbf\x52\x7e\x42\x11\ -\xd4\x08\x6a\xd8\xe8\xc2\x68\x42\xa2\xc4\xaa\x60\xfc\x25\x10\x35\ -\x31\xc6\x85\x89\x2b\x77\xee\x4c\x5c\xb8\x20\x1a\x12\x8d\x0b\x13\ -\xe3\xc2\x18\x3f\x89\x24\xfe\x0d\x31\x7c\x22\xf8\x09\x20\x48\xa9\ -\xd8\xf2\x29\xb5\x05\xa9\x14\x08\x6d\xe9\xfc\xbc\xaf\xa1\xd8\x16\ -\x0a\x33\xa5\x8a\x37\x99\xbc\xd7\x99\xce\xbb\xe7\xdd\x77\xee\xb9\ -\x77\xb0\x28\x8a\x68\x2d\x8d\x42\x6b\x6c\x74\x60\xf2\xe4\xc5\xeb\ -\xe2\x21\xab\xed\x0a\xc3\xd0\xa9\x31\x77\x42\x33\xee\x8f\x2d\xef\ -\x2e\x0d\xf4\xf5\x7e\xa5\x19\xc6\x7f\xaf\xbe\xbe\x1e\x95\x95\x95\ -\xfd\x01\x00\xce\xaf\xf6\xf4\x9b\x0e\x2b\xe3\xe2\x62\x1f\x66\x8a\ -\x42\x54\x52\xb2\xde\x64\x19\x32\xfc\xb4\xdb\x8c\xe4\x9e\xd3\xe9\ -\x0c\x8d\x00\xd9\x39\x71\x1e\x0c\x00\x90\x23\x4c\x61\x2f\x4c\x39\ -\xb8\x70\x24\x07\xa2\x20\x8a\x1c\xc7\x2e\x90\x09\xc3\x4b\x34\xe3\ -\x5f\x5a\xc3\xb1\x1c\x3c\xe7\x91\x2a\x31\xa9\xf0\xe4\xd9\xf3\x8d\ -\x8d\xf7\xef\x19\x06\x07\x4c\x46\x85\x42\x11\x0a\x00\x8c\x0f\x5e\ -\x94\x89\x8b\x9b\xfb\xd6\xdb\x73\xb9\xb3\xbd\xed\xc5\x3c\x80\x88\ -\xa6\x54\xa9\x50\x5a\x96\x56\x20\x84\xc6\x18\x23\xaf\xc7\x4d\x4d\ -\x38\x1c\xa8\x64\x6b\xb9\xae\xa8\x74\x73\x03\xa3\x54\xea\x79\x9e\ -\x47\xe0\xb4\xd0\x70\xa2\xb6\xf1\xc1\x9d\xdb\x06\xd6\xe7\x33\x86\ -\x03\x58\x30\x0c\x21\xf3\x7a\x3c\x5d\xad\x6f\x5f\x5e\x9b\x74\x4e\ -\xac\x18\xe2\xcc\xf5\xd9\x19\x87\xf6\x56\xde\x85\x45\xd5\x00\x1c\ -\x0d\x7e\x33\x5e\xea\xea\x78\xdf\x31\x3a\x3c\xd8\x9f\xb8\x2e\xe9\ -\x46\xbe\xbe\xa4\x01\x9e\xa1\x00\x88\xfd\x47\x4f\x34\x66\x65\xeb\ -\xf6\xc2\xab\x23\xf4\xd2\xa4\xa1\x91\xd5\x3c\xe0\x96\xe2\x7c\xfe\ -\xa8\x52\x60\xa8\x0c\x1c\x13\x1c\x41\x36\x0c\x1d\xf3\xf3\x99\xe0\ -\xff\x12\x10\x4a\xa5\xaa\x30\x5e\xa3\x29\x22\x00\x22\xa6\x21\x44\ -\x01\xcb\xe0\x99\x00\x97\x3b\xc2\x71\x2e\xf2\x21\x08\x02\xb9\xf8\ -\xff\x42\x07\xa8\xc8\xcc\x16\xfe\xad\x10\x85\x38\x07\x36\xab\x13\ -\x34\x02\x11\x0d\x8e\x65\x57\x5c\x04\xce\x99\x02\xf2\x25\xcc\x67\ -\x0f\xe1\x04\x1d\xb4\x11\x4e\x36\x00\xe2\x54\x9b\x93\x9b\xa7\x2f\ -\xdd\x9c\xd2\xd7\xdd\xe9\x5c\x09\xc0\xcc\x94\xcb\x64\xea\xf9\x72\ -\x18\xb4\x00\xf8\xcb\x60\x87\x6d\xa4\x89\xdc\x57\x28\x68\xa4\xd6\ -\x68\x2a\x96\xab\x37\x74\xa4\x07\x3e\x9f\xaf\x60\xf7\xbe\x03\x6f\ -\x20\x97\xc9\x62\xec\x72\x42\x24\x08\xa2\x00\xce\xfd\x24\x84\x11\ -\xa5\x67\xae\xdf\x5a\x53\x77\x86\x52\xa9\xe3\x37\xa4\x67\x6a\xab\ -\x97\x8b\x62\x44\x00\x0a\xd0\x02\x46\x93\x58\x5e\xb4\x69\x4b\x79\ -\xb4\xe7\x0b\x0a\xe9\x07\x44\x81\xea\xf9\x15\x51\x14\xa4\x01\x20\ -\x42\xe4\xb0\x8d\xb6\xcf\x79\x3d\xae\xe5\x76\x2e\x07\x4b\x6a\x46\ -\xd6\x36\x55\x7c\x7c\x7a\x38\xb9\x23\x0a\x51\xd3\xb3\xa7\xe7\x00\ -\xc4\x97\x58\xb1\xbd\xba\xf6\xd4\x23\x50\xc4\x1a\xa2\x88\x92\xd2\ -\x10\xc8\xa4\x8e\x65\xba\x41\xa6\xd0\xb2\x38\x10\xb0\x3d\x55\x86\ -\x1a\xad\x2e\x77\x17\x9c\x25\x2f\xd7\x27\x6c\xc2\xfb\xfa\xe9\xe3\ -\xeb\xe3\xf6\x1f\xe3\xb2\x49\xb8\x90\x92\x1c\x97\x0c\x19\x91\xc3\ -\x4b\x11\x84\x30\x00\x90\x1d\x1e\x20\x22\x23\x5b\x07\xc2\x34\xa1\ -\x8d\xf5\xcd\x0d\x03\x10\xf9\x2a\x07\x7a\x0f\xcc\x77\xad\x0a\x80\ -\x2e\xaf\xe0\x58\x7e\xf1\xc6\xe3\x40\x1e\xb9\xdd\x2b\x06\x55\x74\ -\x7f\x6a\x6d\x39\x82\xd0\x98\x25\x6a\x00\x3d\x9f\x3f\xdc\xb2\x0e\ -\x59\x1e\x42\x19\x95\x5b\x1c\x30\xd4\x7e\x7e\xca\xf5\xcb\xb6\xaa\ -\x08\x80\x12\x5e\xc8\x2b\x2a\xae\x83\x08\x70\x51\x44\x60\x76\xc4\ -\xfc\xdd\x30\xed\x9a\x34\x47\x0d\xc0\xd8\xdd\x79\xd3\x3e\x6a\x7d\ -\xc2\x93\x4e\x22\x8a\x08\x4c\x4f\xb9\x46\x57\x15\x81\x2d\xdb\x2b\ -\x6a\x81\x03\x8b\x04\x44\x8a\x41\x04\x3c\x56\x8b\xa5\x16\x22\x30\ -\x14\x35\x00\xbb\xcd\xda\x0c\xec\x1b\xe7\x83\xba\x5e\xc9\x11\xa0\ -\x19\x16\x1a\x54\xc9\x59\x80\x43\xf3\x9f\xf5\x90\xb1\xf9\xd5\xf3\ -\x36\x18\xda\x56\x5d\x0c\xc4\xa5\xfb\x02\x7a\xa9\x39\xc9\xf9\x3d\ -\x55\x07\x4f\x43\x31\x32\x4b\x89\x92\x04\xe3\xa0\x18\x15\x87\x69\ -\x09\x0e\x71\xca\xb2\xdc\xe3\x39\x9f\x6f\x67\xe0\x77\x72\x5a\xc6\ -\x45\x4c\xc5\xa2\x10\x06\x04\x8d\x43\x5e\xaf\xd7\x3f\x07\x3f\xbd\ -\xf0\x11\xd1\xef\x47\x11\xe8\x56\x6c\x8e\x31\x34\xeb\xf6\xec\x80\ -\x66\x58\xf3\xb7\xfb\x40\x90\xe8\x3e\x9d\x36\x73\x5c\x0d\x1f\x34\ -\x78\xad\x3f\xcf\x7f\x0b\x30\x00\xf9\xa2\xb3\x56\xda\xeb\x98\xe8\ +\x63\x6b\x65\x74\x20\x65\x6e\x64\x3d\x22\x72\x22\x3f\x3e\x74\x3f\ +\x67\x43\x00\x00\x02\xe2\x49\x44\x41\x54\x78\xda\xbc\x97\x5d\x88\ +\xcc\x51\x14\xc0\x67\xd6\x60\xdb\x98\x15\xa5\x79\xf0\x15\x4b\x48\ +\xbe\x8a\x44\xc8\xee\x4a\x11\xf2\x64\x1f\x58\x91\x42\x69\xac\xf2\ +\x91\xb2\xa5\x15\x25\xe5\x61\x3c\xd9\x97\x8d\x37\x1e\xb0\x51\xe4\ +\xa3\x59\xad\x94\x07\xab\xb4\xb2\x59\xb2\x25\xd2\x96\xb0\xd8\xf5\ +\xd1\x18\xbf\x53\x67\x74\xfb\x37\xf7\xce\xfd\x9b\x7f\x7b\xea\xd7\ +\xbd\x73\x3f\xfe\xf7\x9c\x73\xcf\x3d\xf7\x4e\x3c\x16\xa1\xa4\xd3\ +\xe9\x75\x14\x19\x98\x05\xcf\x61\x5f\x26\x93\xe9\xb4\x8d\xcf\xe7\ +\xf3\xb1\x78\x84\x8b\x4f\xa3\xe8\x81\xd1\x46\xf3\x57\xa8\x41\x89\ +\x7e\x9b\x02\x15\x11\x3a\x60\x7d\x60\x71\x91\xb1\x50\xe7\x9a\x14\ +\xa5\x02\xdf\x2d\xed\x83\xae\x49\x89\x08\x5c\x5f\x25\x6e\x86\x6b\ +\x70\x12\x26\x1b\xdd\xb2\x25\xb7\x23\x55\x80\x05\x47\x50\x2c\x55\ +\xd7\xd6\xc3\x72\x18\x09\xbd\xd0\x0e\x93\x60\x1c\x3c\x83\x53\xec\ +\xff\xcf\xb2\x15\x60\x51\x09\xd6\x46\xd8\x02\x6b\x20\x59\x64\xd8\ +\x4c\xe5\x0f\xdc\x82\x07\xf0\xb1\xd4\xb7\x7d\x3d\xb0\x1b\x5a\x3d\ +\xc7\x4a\x5c\x6d\x50\x36\xc1\x8d\xb2\x82\x10\xeb\x47\x51\x34\x07\ +\x9a\xdf\xc0\x7b\x0f\x65\xea\xa3\xf0\xc0\x4e\x23\xb0\xde\xc2\x2a\ +\xf8\x0c\x7d\x1e\x73\xd7\x16\x09\xd8\xd5\x30\x1b\xae\x8b\x21\x89\ +\x12\xd6\x4b\xff\x61\xa3\xe9\x34\x41\xd5\x47\xbb\x78\xa4\xda\x96\ +\xe0\x20\xa7\xc6\xcd\x61\xac\x6c\xc3\x02\x0d\xda\x42\xc0\x8a\x34\ +\xc1\xd4\x52\x1e\xd8\x06\x33\xb4\xfe\x01\xda\xf8\xe0\x18\xca\x03\ +\x8e\x39\x57\xf4\x24\xac\xd0\xdf\xed\x96\x71\x55\xce\x18\x50\xeb\ +\x8f\x1b\x4d\x67\xf4\x48\xed\x87\x09\x0e\xeb\x5b\xe0\x9e\x43\xc1\ +\x77\x70\x51\x33\xa7\xfd\x2e\x40\x81\x46\x1d\x58\xb0\x7e\xba\xd6\ +\x65\xef\x27\x5a\xa6\x5d\x46\xc9\x06\xe6\xca\x71\xec\x02\xf1\xd6\ +\x00\x64\x55\xa9\xfb\xf4\xbf\x30\xef\x02\xd7\x16\xec\x30\xea\xe7\ +\x98\x38\xc4\x87\x9b\x1c\x8b\x17\xac\x8f\x31\xb6\x97\xb1\x53\xa8\ +\xa6\xe0\x25\xbf\x73\xb6\x45\x5c\x1e\x38\x4b\x71\x08\x5e\xc3\x42\ +\xf8\xad\xd6\xa7\x2c\x53\x9e\xc2\x32\x16\xfb\xe5\x9b\x55\x4b\xdd\ +\x86\x47\x60\x2e\xcc\xe7\xa3\xdf\xf4\x38\xa6\x1c\xe3\x17\x41\xb7\ +\x46\xbd\xb7\xc4\x3d\x53\xb1\x24\xa3\x57\x81\x8b\xc6\x25\xb2\xdf\ +\x07\x51\xbc\xbb\x1c\x0f\x98\xb2\x3d\xc4\xe2\x85\x0c\xd8\x85\xe2\ +\x4b\x7c\xf2\x76\xcc\x23\x19\x1d\x2b\xd2\xb5\x07\x2e\x68\xd2\x29\ +\x26\x92\x70\x76\x95\xad\x40\x20\x19\x15\xe4\x31\xee\x6d\x85\xbd\ +\xd4\xe7\xc1\x4d\xcb\xdc\xea\xb2\x14\xc0\xfa\x0a\x0d\xc6\xa0\x9c\ +\x28\x54\x50\xa2\x07\x36\xea\x35\xfd\xa4\x58\xb6\x0b\x15\x84\x2c\ +\x3a\x9e\xa2\xd6\x78\x70\xd4\x04\x86\x3c\x64\xc1\x95\x16\x85\xe5\ +\x21\xf2\xc9\x68\xca\x32\xb6\xd6\x15\x84\x09\xb5\xb2\x4e\x6f\xae\ +\x3a\x3d\x4e\xae\xd3\xd1\xec\xe8\x0b\xbe\xff\x2a\x7d\xb6\xe0\x12\ +\xdc\xd1\x5b\x6f\x71\x89\xc5\xcf\x63\x51\x87\xad\x53\x93\x50\x3e\ +\xcc\x16\x48\x84\x37\x38\xfa\xe5\x83\x8f\xf4\x5c\x5f\x35\xf3\xb8\ +\x43\x06\x8c\xe0\x4b\xfa\x28\x90\x0d\xbc\x5c\xe4\x31\x79\x57\xe9\ +\x64\xd1\xc1\x90\xef\xd6\x21\x43\x81\x4a\x1f\x05\x36\xc3\x56\x7d\ +\xd7\x77\xd8\xfe\xc5\x84\x90\x1f\xa1\xb6\x40\x2d\x6c\x8b\xf0\x0f\ +\xca\x17\xa3\x9e\x8c\x22\x11\xc5\xfe\x63\x0b\xfe\x1d\x73\xbd\x47\ +\x86\x55\x81\xfe\xc0\x76\xe4\x86\x5b\x81\x16\x7d\x37\x88\x27\x8e\ +\xba\x1e\x23\x22\x7f\x05\x18\x00\x68\x1f\xde\x97\xa8\x2b\x9f\x11\ \x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\ -\x00\x00\x0a\x87\ +\x00\x00\x06\xbd\ \x89\ \x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ \x00\x00\x20\x00\x00\x00\x20\x08\x06\x00\x00\x00\x73\x7a\x7a\xf4\ @@ -591,143 +654,82 @@ \x70\x3a\x2f\x2f\x6e\x73\x2e\x61\x64\x6f\x62\x65\x2e\x63\x6f\x6d\ \x2f\x78\x61\x70\x2f\x31\x2e\x30\x2f\x22\x20\x78\x6d\x70\x4d\x4d\ \x3a\x4f\x72\x69\x67\x69\x6e\x61\x6c\x44\x6f\x63\x75\x6d\x65\x6e\ -\x74\x49\x44\x3d\x22\x78\x6d\x70\x2e\x64\x69\x64\x3a\x62\x62\x65\ -\x34\x65\x39\x38\x62\x2d\x34\x38\x33\x63\x2d\x62\x63\x34\x33\x2d\ -\x62\x62\x33\x65\x2d\x62\x35\x35\x32\x61\x31\x32\x61\x31\x39\x34\ -\x34\x22\x20\x78\x6d\x70\x4d\x4d\x3a\x44\x6f\x63\x75\x6d\x65\x6e\ -\x74\x49\x44\x3d\x22\x78\x6d\x70\x2e\x64\x69\x64\x3a\x38\x41\x42\ -\x36\x41\x42\x31\x45\x45\x43\x35\x32\x31\x31\x45\x32\x42\x45\x31\ -\x34\x45\x36\x35\x41\x46\x33\x38\x37\x34\x32\x38\x30\x22\x20\x78\ +\x74\x49\x44\x3d\x22\x78\x6d\x70\x2e\x64\x69\x64\x3a\x63\x34\x37\ +\x39\x66\x62\x31\x39\x2d\x34\x33\x34\x34\x2d\x62\x65\x34\x33\x2d\ +\x39\x39\x31\x31\x2d\x33\x64\x35\x32\x63\x31\x30\x33\x35\x37\x65\ +\x31\x22\x20\x78\x6d\x70\x4d\x4d\x3a\x44\x6f\x63\x75\x6d\x65\x6e\ +\x74\x49\x44\x3d\x22\x78\x6d\x70\x2e\x64\x69\x64\x3a\x39\x46\x38\ +\x32\x32\x30\x43\x30\x35\x39\x38\x34\x31\x31\x45\x33\x42\x35\x45\ +\x42\x44\x32\x39\x33\x41\x33\x42\x36\x34\x41\x32\x38\x22\x20\x78\ \x6d\x70\x4d\x4d\x3a\x49\x6e\x73\x74\x61\x6e\x63\x65\x49\x44\x3d\ -\x22\x78\x6d\x70\x2e\x69\x69\x64\x3a\x38\x41\x42\x36\x41\x42\x31\ -\x44\x45\x43\x35\x32\x31\x31\x45\x32\x42\x45\x31\x34\x45\x36\x35\ -\x41\x46\x33\x38\x37\x34\x32\x38\x30\x22\x20\x78\x6d\x70\x3a\x43\ +\x22\x78\x6d\x70\x2e\x69\x69\x64\x3a\x39\x46\x38\x32\x32\x30\x42\ +\x46\x35\x39\x38\x34\x31\x31\x45\x33\x42\x35\x45\x42\x44\x32\x39\ +\x33\x41\x33\x42\x36\x34\x41\x32\x38\x22\x20\x78\x6d\x70\x3a\x43\ \x72\x65\x61\x74\x6f\x72\x54\x6f\x6f\x6c\x3d\x22\x41\x64\x6f\x62\ \x65\x20\x50\x68\x6f\x74\x6f\x73\x68\x6f\x70\x20\x43\x43\x20\x28\ \x57\x69\x6e\x64\x6f\x77\x73\x29\x22\x3e\x20\x3c\x78\x6d\x70\x4d\ \x4d\x3a\x44\x65\x72\x69\x76\x65\x64\x46\x72\x6f\x6d\x20\x73\x74\ \x52\x65\x66\x3a\x69\x6e\x73\x74\x61\x6e\x63\x65\x49\x44\x3d\x22\ -\x78\x6d\x70\x2e\x69\x69\x64\x3a\x38\x63\x63\x61\x63\x62\x39\x36\ -\x2d\x66\x66\x39\x38\x2d\x31\x39\x34\x64\x2d\x61\x39\x30\x32\x2d\ -\x30\x62\x32\x37\x31\x63\x63\x61\x31\x37\x63\x39\x22\x20\x73\x74\ +\x78\x6d\x70\x2e\x69\x69\x64\x3a\x63\x31\x65\x61\x38\x31\x32\x35\ +\x2d\x65\x62\x64\x64\x2d\x63\x38\x34\x62\x2d\x39\x66\x37\x61\x2d\ +\x30\x36\x39\x39\x32\x39\x38\x64\x62\x39\x33\x63\x22\x20\x73\x74\ \x52\x65\x66\x3a\x64\x6f\x63\x75\x6d\x65\x6e\x74\x49\x44\x3d\x22\ -\x78\x6d\x70\x2e\x64\x69\x64\x3a\x62\x62\x65\x34\x65\x39\x38\x62\ -\x2d\x34\x38\x33\x63\x2d\x62\x63\x34\x33\x2d\x62\x62\x33\x65\x2d\ -\x62\x35\x35\x32\x61\x31\x32\x61\x31\x39\x34\x34\x22\x2f\x3e\x20\ +\x78\x6d\x70\x2e\x64\x69\x64\x3a\x63\x34\x37\x39\x66\x62\x31\x39\ +\x2d\x34\x33\x34\x34\x2d\x62\x65\x34\x33\x2d\x39\x39\x31\x31\x2d\ +\x33\x64\x35\x32\x63\x31\x30\x33\x35\x37\x65\x31\x22\x2f\x3e\x20\ \x3c\x2f\x72\x64\x66\x3a\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6f\ \x6e\x3e\x20\x3c\x2f\x72\x64\x66\x3a\x52\x44\x46\x3e\x20\x3c\x2f\ \x78\x3a\x78\x6d\x70\x6d\x65\x74\x61\x3e\x20\x3c\x3f\x78\x70\x61\ -\x63\x6b\x65\x74\x20\x65\x6e\x64\x3d\x22\x72\x22\x3f\x3e\x18\x02\ -\x43\x51\x00\x00\x06\xac\x49\x44\x41\x54\x78\xda\xc4\x57\x7b\x4c\ -\x93\x57\x14\xbf\x2d\x5f\x5b\x4a\x0b\x14\x51\x5e\x2d\x14\x0a\xd8\ -\x52\x0b\x05\x8a\x8a\x88\x53\xc2\xf0\x05\x53\xf1\xcd\x88\x91\x99\ -\x65\xce\xb9\x25\xc3\x25\xcb\xe6\x5f\xdb\xfe\xd8\x23\x2e\xf3\x8f\ -\xb9\x99\x65\x59\x8c\x71\x9a\xe9\x0c\x4e\xf1\x31\x1d\xe2\x44\xe5\ -\x21\x8c\x42\x8b\xd8\xa2\x22\x8f\x52\x2a\x5a\x01\xa1\x4f\xda\x7e\ -\x3b\x97\x51\xe8\x57\x5a\x98\x26\x9b\x37\x39\xf9\x5e\xf7\xde\xf3\ -\x3b\xe7\x9e\xf3\x3b\xe7\xa3\x91\x24\x89\x5e\xe6\xa0\xa3\x97\x3c\ -\x08\xf7\x4d\x79\x79\x39\x6a\x69\x69\x99\x36\xc1\x31\x36\x86\x5c\ -\xa4\x0b\x45\x0b\xe2\x50\x54\x8c\x40\x2a\xcd\xc8\x5c\xe4\x74\x3a\ -\xb3\xe0\x53\x02\x48\x10\xc8\x18\x48\x5f\x40\x40\x40\x53\xbb\xb2\ -\xb9\xd6\xa0\xd7\x29\xfb\x75\x3d\x88\x4e\xa3\x23\x82\xc1\xa0\xec\ -\xe5\x72\xb9\x90\xcb\xe9\x1c\x7f\x7f\xf0\xe0\x41\x94\x9e\x9e\x3e\ -\x05\xa0\xae\xae\x0e\x35\x34\x34\x4c\x03\x10\x18\xc4\x41\x8a\x9c\ -\x65\xc5\xa1\x7c\xe1\xdb\xae\x40\x76\xae\xaa\x5d\x13\xe4\xc7\x98\ -\x32\x3a\x9b\xeb\x84\x79\x8d\x86\xa7\xc3\x47\x9a\x6a\x6f\x9c\xb0\ -\x9a\x4d\xa3\xde\x93\x82\x82\x43\x90\x79\xe4\x19\x32\x1a\x8d\x54\ -\x0f\xb0\xd9\x6c\xca\x44\xb0\x08\x49\xd2\xd2\x53\xf2\x8b\xd6\x1f\ -\x60\x05\xb2\x0b\xed\x36\x3b\x22\xc1\x13\xb3\x8c\x00\x66\x70\x68\ -\x76\x4e\x5e\x7e\xb6\x62\x49\xce\x5e\x8d\x5a\xf5\xc9\x5f\xb5\x37\ -\xce\x18\x07\x1e\xc1\x7e\x04\x2a\xde\x51\x56\xce\x62\xb1\x3a\x8e\ -\xff\xf0\xdd\x05\xbc\xbf\xdf\x18\xc0\x1f\x8b\xb6\xbe\xbe\xb1\x68\ -\x5b\xe9\x0d\x1a\x2d\xa0\xd0\x66\xb5\xfe\x1b\xe5\xe3\x03\xcf\xc3\ -\xf3\x61\x5d\x9a\x7c\xe1\xe2\x8a\xd2\xdd\x7b\xbf\x15\xcb\xd2\xc2\ -\x57\x15\x6f\xf9\x48\x2c\x93\x7f\x63\x36\x99\x16\xfb\x8c\x81\xc9\ -\x17\x70\x3e\x85\x9b\xb7\x97\x88\x53\xe5\x47\x2d\x26\x13\xe3\x45\ -\x83\xcb\x03\xc8\xbb\x60\xc8\x5a\xd2\x45\x8a\x2c\x70\x22\x41\x1c\ -\xae\x04\xeb\x70\x67\xdf\x34\x00\x79\x6b\x8a\x72\x25\xf2\x8c\x23\ -\xfe\x94\x13\x04\x03\xd1\xe8\x34\x7c\xab\x07\x19\x02\x61\x81\x08\ -\x41\x01\xe1\x70\x8c\xf9\x04\x32\x66\xb7\x8b\xdc\xcf\x31\x71\xc2\ -\xa4\xe0\xd0\xb0\x00\x08\x6e\x27\x05\x00\x4c\x42\x51\x82\xb8\xb0\ -\x14\x79\xe6\x8f\x56\x8b\x85\xe5\xbd\x11\x0d\xa2\x9a\xc9\x62\x0e\ -\x1b\xfa\x74\xc7\x0c\xba\xde\x53\x77\x5b\x95\xf7\xe1\xf5\x30\x06\ -\x10\xc2\xe3\x09\x15\x4b\x5f\x29\x8c\xe2\x0b\x76\x39\x1d\x4e\x91\ -\x2f\x20\x1e\x99\xc0\x77\x38\x1c\xd1\x70\xab\xa3\x00\x60\x30\x99\ -\x28\x27\x7f\x65\x39\x5c\x25\x18\x8c\x77\x4c\x38\x9d\x8e\x9a\x8b\ -\xa7\x7f\xd9\xab\x51\xb5\xb6\xc1\xbd\xe7\x67\x33\xea\x46\x83\xda\ -\x36\x75\x8b\x58\x96\x7a\x38\x6d\x61\xf6\x9e\x48\xbe\x60\x1f\xe9\ -\x72\xcd\xf1\x83\x61\x5e\x58\x78\x38\x7f\x1a\x00\x69\xba\x22\x8a\ -\x64\x73\x77\x7b\x2b\xa7\xd1\xe9\xa0\xdc\x79\xa5\xf2\xe4\xf1\x4d\ -\x0f\x3b\xb4\xa3\xfe\x2c\xc3\xa0\xda\x5b\x95\x4f\x09\x06\xf3\x08\ -\xb8\x79\x97\xc3\x3f\x00\x9a\x2c\x33\x6b\x3e\x5c\x1b\x28\x59\x90\ -\x9a\xb5\x70\x3b\xb8\x27\x62\x1a\x0f\xb0\xd9\x5d\x55\x67\x2b\xca\ -\x66\x52\xfe\xcf\xbc\x20\xb4\xa1\x74\x67\xde\xea\x8d\x5b\xea\xe1\ -\x7c\x45\x33\xcd\x85\xef\xa9\x98\x94\x28\x00\x06\x9f\x3c\x0e\x01\ -\xf7\x3f\xc4\x47\x81\x05\x9f\x39\x41\x10\xa8\xbd\xa5\xf9\x8b\x8e\ -\xbb\x6d\xfd\xb3\x45\xbd\x54\x9e\x31\x37\x51\x22\xdd\xe7\x72\x91\ -\x91\x78\x3d\x0e\x56\xdf\xd9\x41\x22\x36\x87\x2b\x0b\xe2\x72\xa9\ -\x59\x50\x7d\xe1\xdc\x67\xed\xda\x8e\x43\xbc\xb0\x39\x92\x05\x99\ -\x59\x4b\x23\xa2\x63\x0a\x38\xc1\x73\x78\x4d\x37\x6b\x2a\x30\x1d\ -\xcf\x36\x9a\xeb\x6f\x3d\xe9\xee\xbc\x5f\x0c\x81\x98\x24\x4d\xcf\ -\xcc\x60\x32\x59\xab\xe0\x28\x14\x60\x69\x0a\x0e\x23\xc8\x12\x84\ -\x83\x13\xef\x05\xef\x85\xfc\x38\x21\x66\x3e\x0b\xcd\x9d\x8f\x2b\ -\x56\x2c\x47\xd7\xaf\xd7\x4c\x6e\x18\x1e\x11\x89\x38\xc1\xc1\xdc\ -\x47\x7d\xba\x51\x9c\xcf\xcf\x3b\x30\xf3\x81\x22\x56\x70\x48\x88\ -\x14\x0c\xca\x06\x40\x05\xf0\x2c\x07\x40\x22\x9b\xdd\xee\x7a\xff\ -\xcd\x9d\x0b\x12\xe3\x62\x35\xc4\x54\x10\x39\x29\x1b\x60\xfa\x04\ -\x19\x7d\x51\x22\xc2\x41\xd9\xfb\xf0\x81\x0d\x6e\x95\x10\x9c\x4a\ -\x00\x74\x18\x00\x84\x49\x52\xe5\x32\x4e\x48\xe8\xab\x56\xb3\x99\ -\x9c\x3c\x13\x2c\x5b\xb6\x97\xc4\xf1\xe3\x13\x98\x18\xf9\xff\x31\ -\xaa\xab\xaf\x8e\xeb\x9d\xd4\x96\xb7\x76\xdd\xa7\x51\xf3\x65\x99\ -\x43\x4f\x06\x6e\x01\xd1\xfc\xa1\x51\xb7\xb6\x42\x31\xeb\xc4\x9e\ -\xf8\x2f\x06\x0e\x72\x4a\x10\x02\x65\x76\xda\x6d\xd6\xb2\x79\x91\ -\xd1\x69\x10\x80\x7b\xd2\x17\x2f\x19\x04\x00\x77\x06\xfa\xf5\x35\ -\x43\x46\x63\x35\x00\xba\x03\xcf\x86\xe7\x05\xb4\xac\x60\xb5\x42\ -\x90\x20\x4a\x51\x35\x36\x34\x01\x8b\x6a\x61\x3d\xe9\xa6\x68\x0a\ -\x80\x41\xa3\x71\xbc\x1b\xf1\xa0\xd1\x30\x82\x60\xe6\xc6\x89\x92\ -\xb0\xec\x07\x40\x3a\x00\xa0\x1e\xd0\xeb\xaf\x77\xdc\x51\x5f\xd2\ -\xb6\xa9\x54\x56\x8b\x79\xe6\x6e\x07\x8a\x8e\x48\x2c\xf9\x18\x28\ -\x7e\x93\x40\x98\x60\x82\xf5\x1a\x30\xe8\xb6\x41\xdf\x77\x0d\x82\ -\xf2\x32\x4c\x79\x36\x09\xa0\xad\xb9\xa9\x0b\x9a\x09\xdb\x44\x71\ -\xf1\x2c\x24\xee\x07\x01\x2c\x12\x88\xd3\xe4\xb9\xf0\xbe\x19\x00\ -\xcc\x6a\x3d\x14\x36\x45\x44\x34\xbf\x10\x0a\x1b\x7e\xe4\x80\x41\ -\x0a\x30\x46\x11\x15\x1b\xff\x16\x04\xa4\x84\x02\x80\xc1\x60\xf4\ -\xd1\xe9\x74\x4c\x38\xf1\x3e\xcf\x0c\xea\x81\xc5\x62\x6e\x52\x35\ -\x35\xbc\xf1\xe7\xa5\xf3\x6d\xde\x59\xe3\x3d\x12\x92\xc5\x5c\x28\ -\x6c\xdf\xdb\xed\xf6\x40\x4f\x83\xa0\x10\x21\xd3\xc8\xf0\xef\xa6\ -\xd1\x91\x07\x14\x26\x04\xf7\x3c\x05\xd1\x61\xee\xf7\xd7\xa4\x3c\ -\x1b\x1c\x3c\xdd\x78\xb3\x66\x76\xe5\xf3\xc5\x73\xd7\x95\xec\x38\ -\x05\x6b\x16\x91\x2e\x6a\x23\xc3\x04\x96\xbc\xdb\xa2\x3c\xd4\xd7\ -\xdd\x4d\x52\x00\xf4\xf7\x74\x63\xd1\x60\xfa\xf5\xc3\xdf\x28\x32\ -\x86\xff\x79\xd9\x7b\xe5\x15\x2b\x37\x6c\x5e\x8a\x89\xca\x9b\x78\ -\x62\x13\x12\xd9\x05\xeb\x36\x96\xbc\xb6\xad\xf4\x16\x78\x73\x8d\ -\x37\x50\x6c\x9c\xcd\x6a\xb9\xd0\x72\xbb\xfe\x4a\xc0\x84\x1e\xc2\ -\xf3\x23\x04\x8d\x6a\x66\x72\x71\xd2\xa1\xc3\x29\x86\x56\x6b\x7d\ -\xb2\x74\x41\x3d\xa4\x2b\xa6\xce\x4e\x5c\x8b\xa0\x18\xc9\xe0\x5c\ -\x73\x81\xe9\xa4\x8e\x31\x07\xf2\xe5\x25\x28\x6c\xc6\xca\x13\xc7\ -\x3e\xb0\x98\x46\x5c\x84\x37\x80\x89\x4c\x68\xf7\x8c\x60\xdc\x42\ -\xbb\xbc\x5c\x38\xd1\x6a\xd1\x21\xa0\x72\xe2\x93\xc5\x39\x93\xef\ -\x81\xeb\x67\xa2\x6c\x50\xee\xd0\xb4\x2a\x77\x41\x61\xd3\xfa\xfd\ -\x31\x81\x4c\xe8\x81\x8b\x15\x57\xb3\xfe\xde\x9e\xaf\x6c\x36\xdb\ -\xcf\xf8\xde\x5f\xcf\x87\x33\xc4\x2d\xfe\xba\x20\x4c\x38\x6c\x0e\ -\xc7\xac\x55\xb7\xee\x3c\x7f\xea\xc4\x39\xef\xc2\x46\x50\xfb\x3d\ -\xc2\x00\x93\xbb\xd4\x8d\x0d\x47\xcf\x9d\x3c\xfe\xa5\x50\x94\x44\ -\x5b\xbe\xba\x50\x05\xc4\xb4\x1f\x5a\x2d\xde\x4c\xad\x96\xaf\x81\ -\xc1\x8f\xd9\x6d\x1a\x65\x7d\xed\x3b\x57\x2b\xcf\x5c\xf3\x75\x2c\ -\x94\x18\x00\x97\x8f\x36\xd7\xdd\xdc\x7a\xb9\xe2\x57\x35\x8e\xde\ -\xae\xfb\x1d\x64\xef\xe1\x07\x07\xe0\xff\xa0\x32\x73\x49\xee\x87\ -\x50\x6a\xb7\xc2\x91\x70\xf0\x19\xfb\x6b\xd3\xc7\xfb\x08\x06\x81\ -\x20\x08\x1f\x03\xe9\xfc\x54\x73\xe5\xe2\xd7\xd0\xcc\x18\xfd\x52\ -\xb2\xbb\x1c\x67\x67\x67\xfb\xfc\x33\xf2\x1c\xc2\x64\x71\x0a\xd4\ -\xfa\xcd\xe0\x91\xb5\xd0\x5e\x27\x02\x98\x79\x9e\xfd\x26\x28\xd5\ -\x43\x2a\xdf\x03\xc5\x67\xa1\x91\xf9\xad\xfb\x9e\xb6\xdb\xdf\x5e\ -\x55\x55\x55\x28\x3f\x3f\x7f\x0a\x00\xfe\x2f\x1c\x1a\x1a\x9a\xa1\ -\xcf\x27\x91\xfb\xfc\xa2\x05\xb1\xb8\xab\x11\x82\x17\x22\x27\xfe\ -\x0f\xb1\x3b\x46\xc1\x7a\x3d\xf4\xfe\x86\x7e\x5d\xef\x64\x20\xd3\ -\x68\x34\x9f\xfb\xe1\xff\x42\x1e\x8f\x37\x05\xe0\x65\x8d\xbf\x05\ -\x18\x00\x73\x59\x49\xbb\xe5\xdd\xcf\x9e\x00\x00\x00\x00\x49\x45\ -\x4e\x44\xae\x42\x60\x82\ -\x00\x00\x09\xda\ +\x63\x6b\x65\x74\x20\x65\x6e\x64\x3d\x22\x72\x22\x3f\x3e\x7d\x29\ +\xa2\x1a\x00\x00\x02\xe2\x49\x44\x41\x54\x78\xda\xbc\x97\x5d\x88\ +\xcc\x51\x14\xc0\x67\xd6\x60\xdb\x98\x15\xa5\x79\xf0\xb1\xb1\x84\ +\xe4\xab\x48\x84\xec\xac\x14\x21\x4f\xf6\x81\x15\x6d\xa1\x94\x55\ +\x8b\x94\x2d\xad\x28\x91\x07\x9e\x6c\x6a\xe3\x8d\x07\x6c\x14\xf9\ +\x68\x6c\x2b\xe5\xc1\x2a\xad\x6c\x96\x6c\x89\xb4\x25\x2c\x76\x7d\ +\x34\xc6\xef\xd4\xf9\xeb\xf6\x6f\xee\x9d\x3b\xe6\xdf\x9e\xfa\x75\ +\xef\xdc\x8f\xff\x3d\xe7\xdc\x73\xcf\xbd\x13\x8f\x45\x28\x7d\x4d\ +\x0d\x6b\x29\xce\xc2\x4c\x78\x0e\x7b\xaa\x4e\x5f\xe8\xb4\x8d\xcf\ +\xe5\x72\xb1\x78\x84\x8b\x57\x51\xf4\xc0\x68\xa3\xf9\x2b\x54\xa3\ +\x44\xbf\x4d\x81\xb2\x08\x1d\xb0\x2e\xb4\xb8\xc8\x58\x48\xbb\x26\ +\x45\xa9\xc0\x77\x4b\xfb\xa0\x6b\x52\x22\x02\xd7\x57\x88\x9b\xe1\ +\x1a\x1c\x83\xc9\x46\xb7\x6c\xc9\xed\x48\x15\x60\xc1\x11\x14\x4b\ +\xd4\xb5\xb5\xb0\x0c\x46\x42\x2f\xb4\xc3\x24\x18\x07\xcf\xe0\x38\ +\xfb\xff\xb3\x64\x05\x58\x54\x82\xb5\x1e\x36\xc3\x6a\x48\xe6\x19\ +\x36\x43\xf9\x03\xb7\xa0\x03\x3e\x16\xfa\xb6\xaf\x07\x1a\xa0\xd5\ +\x73\xac\xc4\xd5\x7a\x65\x23\xdc\x28\x29\x08\xb1\x7e\x14\x45\x73\ +\xa8\xf9\x0d\xbc\xf7\x50\xa6\x36\x0a\x0f\xec\x30\x02\xeb\x2d\xac\ +\x84\xcf\xa2\x9b\xc7\xdc\x35\x79\x02\x76\x15\xcc\x82\xeb\x62\x48\ +\xa2\x80\xf5\xd2\x7f\xc0\x68\x3a\x41\x50\xf5\xd1\x2e\x1e\xa9\xb4\ +\x25\x38\xc8\xaa\x71\xb3\x19\x2b\xdb\x30\x5f\x83\x36\x08\x58\x91\ +\x46\x98\x5a\xc8\x03\x5b\x61\xba\xd6\x3f\x40\x1b\x1f\x1c\x43\xb9\ +\xcf\x31\xe7\x8a\x9e\x84\xe5\xfa\xbb\xdd\x32\xae\xc2\x19\x03\x6a\ +\xfd\x11\xa3\xe9\xa4\x1e\xa9\xbd\x30\xc1\x61\x7d\x0b\xdc\x73\x28\ +\xf8\x0e\x2e\x6a\xe6\xb4\xdf\x05\x28\x50\xaf\x03\x03\xeb\xa7\x05\ +\x5d\x30\xd1\x32\xed\x32\x4a\xd6\x31\x57\x8e\x63\x17\x88\xb7\x06\ +\x20\xa3\x4a\xdd\xa7\xff\x85\x79\x17\xb8\xb6\x60\xbb\x51\x3f\xc3\ +\xc4\x21\x3e\xdc\xe8\x58\x3c\xb0\x3e\xc6\xd8\x5e\xc6\x4e\xa1\x9a\ +\x82\x97\xfc\xce\xda\x16\x71\x79\xe0\x14\x45\x13\xbc\x86\x05\xf0\ +\x5b\xad\x4f\x59\xa6\x3c\x85\xa5\x2c\xf6\xcb\x37\xab\x16\xba\x0d\ +\x0f\xc2\x1c\x98\xc7\x47\xbf\xe9\x71\x4c\x39\xc6\x2f\x84\x6e\x8d\ +\x7a\x6f\x89\x7b\xa6\x62\x49\x46\xaf\x42\x17\x8d\x4b\x64\xbf\xf7\ +\xa3\x78\x77\x29\x1e\x30\x65\x5b\x11\x8b\x07\x19\xb0\x0b\xc5\x17\ +\xfb\xe4\xed\x98\x47\x32\x3a\x9c\xa7\x6b\x17\x9c\xd7\xa4\x93\x4f\ +\x24\xe1\xec\x2c\x59\x81\x50\x32\x0a\xe4\x31\xee\x6d\x85\xdd\xd4\ +\xe7\xc2\x4d\xcb\xdc\xca\x92\x14\xc0\xfa\x32\x0d\xc6\xb0\x1c\x0d\ +\x2a\x28\xd1\x03\x1b\xf4\x9a\x7e\x92\x2f\xdb\x15\x15\x84\x2c\x3a\ +\x9e\xa2\xc6\x78\x70\x54\x87\x86\x3c\x64\xc1\x15\x16\x85\xe5\x21\ +\xf2\xc9\x68\xca\x30\xb6\xc6\x15\x84\x09\xb5\x32\xad\x37\x57\x5a\ +\x8f\x93\xeb\x74\x34\x3b\xfa\xc2\xef\xbf\x72\x9f\x2d\xb8\x04\x77\ +\xf4\xd6\x5b\x54\x60\xf1\x73\x58\xf4\xc0\xd6\xa9\x49\x28\x57\xcc\ +\x16\x48\x84\xd7\x39\xfa\xe5\x83\x8f\xf4\x5c\x5f\x35\xf3\xb8\x43\ +\x06\x8c\xe0\x4b\xfa\x28\x90\x09\xbd\x5c\xe4\x31\x79\x57\xe9\x64\ +\xd1\xc1\x22\xdf\xad\x43\x86\x02\xe5\x3e\x0a\x6c\x82\x2d\x20\xe9\ +\xb6\xc3\xf6\x2f\xa6\x08\xf9\x51\xd4\x16\xa8\x85\x6d\x11\xfe\x41\ +\xf9\x62\xd4\x93\x51\x24\xa2\xd8\x7f\x6c\xc1\xbf\x63\xae\xf7\xc8\ +\xb0\x2a\xd0\x1f\xda\x8e\xec\x70\x2b\xd0\xa2\xef\x06\xf1\xc4\x21\ +\xd7\x63\x44\xe4\xaf\x00\x03\x00\x67\x30\xde\x97\xf5\x5f\xa5\xbd\ +\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\ +\x00\x00\x07\x85\ \x89\ \x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ \x00\x00\x20\x00\x00\x00\x20\x08\x06\x00\x00\x00\x73\x7a\x7a\xf4\ @@ -762,132 +764,95 @@ \x70\x3a\x2f\x2f\x6e\x73\x2e\x61\x64\x6f\x62\x65\x2e\x63\x6f\x6d\ \x2f\x78\x61\x70\x2f\x31\x2e\x30\x2f\x22\x20\x78\x6d\x70\x4d\x4d\ \x3a\x4f\x72\x69\x67\x69\x6e\x61\x6c\x44\x6f\x63\x75\x6d\x65\x6e\ -\x74\x49\x44\x3d\x22\x78\x6d\x70\x2e\x64\x69\x64\x3a\x62\x62\x65\ -\x34\x65\x39\x38\x62\x2d\x34\x38\x33\x63\x2d\x62\x63\x34\x33\x2d\ -\x62\x62\x33\x65\x2d\x62\x35\x35\x32\x61\x31\x32\x61\x31\x39\x34\ -\x34\x22\x20\x78\x6d\x70\x4d\x4d\x3a\x44\x6f\x63\x75\x6d\x65\x6e\ -\x74\x49\x44\x3d\x22\x78\x6d\x70\x2e\x64\x69\x64\x3a\x36\x39\x31\ -\x36\x31\x31\x39\x46\x45\x43\x35\x32\x31\x31\x45\x32\x38\x33\x45\ -\x46\x41\x35\x38\x33\x37\x45\x44\x32\x45\x35\x32\x43\x22\x20\x78\ +\x74\x49\x44\x3d\x22\x78\x6d\x70\x2e\x64\x69\x64\x3a\x63\x34\x37\ +\x39\x66\x62\x31\x39\x2d\x34\x33\x34\x34\x2d\x62\x65\x34\x33\x2d\ +\x39\x39\x31\x31\x2d\x33\x64\x35\x32\x63\x31\x30\x33\x35\x37\x65\ +\x31\x22\x20\x78\x6d\x70\x4d\x4d\x3a\x44\x6f\x63\x75\x6d\x65\x6e\ +\x74\x49\x44\x3d\x22\x78\x6d\x70\x2e\x64\x69\x64\x3a\x45\x45\x35\ +\x37\x44\x41\x37\x43\x35\x39\x38\x34\x31\x31\x45\x33\x39\x44\x32\ +\x38\x41\x32\x46\x31\x34\x37\x35\x33\x41\x36\x39\x46\x22\x20\x78\ \x6d\x70\x4d\x4d\x3a\x49\x6e\x73\x74\x61\x6e\x63\x65\x49\x44\x3d\ -\x22\x78\x6d\x70\x2e\x69\x69\x64\x3a\x36\x39\x31\x36\x31\x31\x39\ -\x45\x45\x43\x35\x32\x31\x31\x45\x32\x38\x33\x45\x46\x41\x35\x38\ -\x33\x37\x45\x44\x32\x45\x35\x32\x43\x22\x20\x78\x6d\x70\x3a\x43\ +\x22\x78\x6d\x70\x2e\x69\x69\x64\x3a\x45\x45\x35\x37\x44\x41\x37\ +\x42\x35\x39\x38\x34\x31\x31\x45\x33\x39\x44\x32\x38\x41\x32\x46\ +\x31\x34\x37\x35\x33\x41\x36\x39\x46\x22\x20\x78\x6d\x70\x3a\x43\ \x72\x65\x61\x74\x6f\x72\x54\x6f\x6f\x6c\x3d\x22\x41\x64\x6f\x62\ \x65\x20\x50\x68\x6f\x74\x6f\x73\x68\x6f\x70\x20\x43\x43\x20\x28\ \x57\x69\x6e\x64\x6f\x77\x73\x29\x22\x3e\x20\x3c\x78\x6d\x70\x4d\ \x4d\x3a\x44\x65\x72\x69\x76\x65\x64\x46\x72\x6f\x6d\x20\x73\x74\ \x52\x65\x66\x3a\x69\x6e\x73\x74\x61\x6e\x63\x65\x49\x44\x3d\x22\ -\x78\x6d\x70\x2e\x69\x69\x64\x3a\x38\x63\x63\x61\x63\x62\x39\x36\ -\x2d\x66\x66\x39\x38\x2d\x31\x39\x34\x64\x2d\x61\x39\x30\x32\x2d\ -\x30\x62\x32\x37\x31\x63\x63\x61\x31\x37\x63\x39\x22\x20\x73\x74\ +\x78\x6d\x70\x2e\x69\x69\x64\x3a\x63\x31\x65\x61\x38\x31\x32\x35\ +\x2d\x65\x62\x64\x64\x2d\x63\x38\x34\x62\x2d\x39\x66\x37\x61\x2d\ +\x30\x36\x39\x39\x32\x39\x38\x64\x62\x39\x33\x63\x22\x20\x73\x74\ \x52\x65\x66\x3a\x64\x6f\x63\x75\x6d\x65\x6e\x74\x49\x44\x3d\x22\ -\x78\x6d\x70\x2e\x64\x69\x64\x3a\x62\x62\x65\x34\x65\x39\x38\x62\ -\x2d\x34\x38\x33\x63\x2d\x62\x63\x34\x33\x2d\x62\x62\x33\x65\x2d\ -\x62\x35\x35\x32\x61\x31\x32\x61\x31\x39\x34\x34\x22\x2f\x3e\x20\ +\x78\x6d\x70\x2e\x64\x69\x64\x3a\x63\x34\x37\x39\x66\x62\x31\x39\ +\x2d\x34\x33\x34\x34\x2d\x62\x65\x34\x33\x2d\x39\x39\x31\x31\x2d\ +\x33\x64\x35\x32\x63\x31\x30\x33\x35\x37\x65\x31\x22\x2f\x3e\x20\ \x3c\x2f\x72\x64\x66\x3a\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6f\ \x6e\x3e\x20\x3c\x2f\x72\x64\x66\x3a\x52\x44\x46\x3e\x20\x3c\x2f\ \x78\x3a\x78\x6d\x70\x6d\x65\x74\x61\x3e\x20\x3c\x3f\x78\x70\x61\ -\x63\x6b\x65\x74\x20\x65\x6e\x64\x3d\x22\x72\x22\x3f\x3e\x07\x6b\ -\xda\x7d\x00\x00\x05\xff\x49\x44\x41\x54\x78\xda\xc4\x57\x7b\x4c\ -\x53\x57\x18\xbf\xf7\xb6\xb4\x5c\xa9\x5a\x56\x85\xbe\xa0\xd3\x48\ -\xa8\x4c\xa4\x14\x8d\xc2\x36\x93\x0d\xc2\xd4\x6c\xf8\x98\xf3\xb1\ -\xcd\x6d\x2e\x8b\xba\x65\x99\x71\xce\xcd\xbf\xa6\x59\xd4\x2c\xd9\ -\x1f\x4c\x47\xe6\xe2\x36\xb3\xcd\x89\x68\x88\x88\xf8\x2e\x8e\x81\ -\x8e\x52\xa8\xa5\xf2\x28\xf8\x58\x6c\x81\xf2\x52\xb0\x6a\xdf\x8f\ -\x7b\xf7\x1d\xd6\x62\x6f\xb9\x2d\x68\x4c\xfc\x92\x13\x7b\x3d\x87\ -\xfb\xfd\xce\x77\x7e\xdf\xef\xfc\x2e\x4e\xd3\x34\xf6\x2c\x83\xc0\ -\x9e\x71\x70\x43\x3f\xb6\x6e\xdd\x8a\x19\x8d\xc6\x31\x0b\x28\x8a\ -\xc2\xfc\x7e\x1f\x46\x92\x93\x30\x69\xaa\x42\xa0\xcc\x54\xcd\x13\ -\x8a\x44\x0b\x03\x81\x40\x26\x4c\x8b\x83\x9b\x70\xc2\xb0\x70\x38\ -\x9c\x26\x53\xb3\xa1\xa9\xbf\xb7\xa7\xad\xaf\xa7\x0b\x23\x70\x02\ -\xe3\xc6\xc5\xb1\x26\x2e\x2e\x2e\xc6\x54\x2a\xd5\x23\x00\x5a\xad\ -\x16\xd3\xe9\x74\xac\x8b\x15\x69\xe9\x62\x75\x6e\xc6\x46\x81\x58\ -\xbe\xae\x6b\xe0\x8e\x12\x46\xb4\x0d\x7d\x4c\x90\x02\xf7\x54\x99\ -\xe2\x4a\xff\xf0\xfd\x9f\xf4\xf5\x97\x4f\xb8\x9d\x0e\xd6\x33\x1e\ -\x1a\x1a\x62\x56\x80\x24\xc9\x31\x8b\x44\x49\xc9\xd8\x4b\xf9\x85\ -\x1b\x94\x59\xd9\xdf\xf8\x3c\x5e\x39\xaa\xc4\x04\x22\x9e\x37\x79\ -\x6a\x41\xde\x2b\xf9\x05\x39\xb9\x79\xe7\x3b\x5b\x5b\xbe\xb8\x54\ -\x55\xd1\x0e\x15\x63\x2c\x82\x6a\x31\x01\x44\xc6\x8c\xb4\x74\x5e\ -\xd1\xba\xf5\xfb\xa0\x84\x9b\x5d\x0e\xc7\x63\x9d\x2b\x4d\x53\x98\ -\xc7\xed\xc6\x70\x9c\xb3\x38\x7b\x61\xde\x02\xd8\xdc\xc6\xd3\xc7\ -\x4b\xcb\x23\x41\x44\x05\x10\x4c\xfe\x07\x41\x10\x6b\x7c\x5e\xef\ -\x13\x13\x0c\x01\x01\xf0\x89\xe9\x99\x59\xa5\xf0\xc8\x3b\x53\x5e\ -\x56\xea\xf7\xf9\x62\x03\x78\x6e\x5a\x12\x06\xc9\xbf\x43\xc9\xd9\ -\x10\xe3\x23\xc4\x1a\xf9\x33\x34\xd9\x0b\x03\x21\x9c\x0a\x63\x1a\ -\x4d\xd1\x18\xdb\x31\xb9\x5d\xae\x38\x38\xc6\x43\x4e\x87\xdd\xaa\ -\x39\x55\x51\x1b\x13\x40\x4e\xde\x8b\x2b\x79\x7c\xfe\x67\xa8\x84\ -\x91\x11\xc7\xe3\xc1\xcb\x9c\x2d\xbd\xdd\xe6\x43\xed\x06\x7d\xed\ -\x03\x9b\xad\x2f\x04\x60\x76\x56\xf6\x2c\xb1\x3c\x65\xb5\x58\x26\ -\x5f\xe7\xf5\x78\x05\x68\xf7\x11\x20\xf8\xb3\xb3\xd4\x3f\xdf\xea\ -\x30\xe5\xde\xbe\x79\x7d\x68\x0c\x00\x54\x9a\x94\x99\xb3\x92\x32\ -\x54\x39\x3f\x78\x3d\x1e\xb6\xe4\xbe\xbb\x03\xfd\xbb\xea\x2e\x9e\ -\xfd\xfe\xf6\x8d\xeb\xce\x88\xe9\x7b\x3d\x96\xdb\x66\x0e\x87\x5b\ -\x9d\xff\xc6\xf2\x03\xca\xcc\xb9\x25\xf0\x3b\x2f\xbc\x82\x34\xb4\ -\x33\xbc\x23\x6d\xd1\x6b\x4b\xb6\x9b\xff\xbd\xb9\x23\x24\x80\x0c\ -\x21\x92\x2b\x66\x90\x38\x41\xb4\xc7\xf1\xf8\x14\x2a\x75\x78\xf2\ -\x5b\xa6\xb6\x0f\xfe\x3c\xb0\x7f\x2f\x4b\xf2\xd1\x08\x04\xfc\xd8\ -\xc5\x93\xe5\xcd\x55\xc7\x8e\x2c\x86\xe4\x1a\x78\x17\x63\x1e\xf1\ -\x29\x49\x22\xfb\x28\x75\xe6\x2c\x79\x88\x0b\xa3\x2b\x90\x60\x68\ -\x6b\x34\x96\xc3\x3f\xee\x2b\x6c\xd1\xeb\x5e\xa6\xe9\xc0\x11\x7e\ -\x7c\xbc\x93\x4c\x48\xc0\x60\xe7\x7b\x81\xc5\xa5\x6c\x9c\x60\x0b\ -\x00\xf9\xb0\xba\xf2\xc4\xfb\xf1\x24\x69\x66\x11\x36\x11\x1c\xd7\ -\x9b\x48\xe0\x58\x39\x30\x34\x38\x80\x76\x51\x7f\xb5\xfe\x72\x3d\ -\x9c\xa7\x6a\xee\xfc\x05\x45\x0d\x35\x97\xf6\x4f\x34\x79\x28\x6e\ -\x74\xb4\xf5\x99\x8c\x86\xdd\x69\x19\x73\x7e\x09\x67\xbe\xdf\xef\ -\xc7\x92\x65\xf2\x22\x99\x42\xb1\x2f\xa6\x0e\x20\x20\x30\x8c\xed\ -\xcd\x57\x8d\x4f\xd2\x82\x28\xa9\xfe\x4a\x5d\xb9\x32\x33\xeb\x6b\ -\xf8\x9d\x1a\xce\x85\x49\x09\x82\x74\x18\xc9\xf0\x38\x40\x84\xf7\ -\xec\xd3\x8e\xe1\xbb\x83\xf7\x7b\xbb\x2c\xba\xc8\xfb\x00\xca\x9f\ -\x0c\x43\xca\xe0\xc0\x74\xb1\x4c\xba\xfc\xdd\x0d\x5f\xbd\x90\x9d\ -\x93\x89\x24\xf8\x69\x04\x6a\x65\x97\xc3\x7e\x1d\xc7\x71\x36\x01\ -\x9c\xcc\x38\x82\x78\x72\x92\x50\x98\xf2\xfc\xb7\x69\xb3\x33\x76\ -\x7a\xdc\x2e\x4d\xc7\x35\xe3\x6f\x9d\xad\xd7\x34\xb0\x03\x3b\x62\ -\xf7\x93\x06\x74\x82\x27\x96\x15\x78\xa4\x03\x7e\x1f\x09\x6d\x42\ -\xc1\xff\x92\xa0\xe1\x45\x88\x7c\xaa\x05\xb9\x9d\xfd\xd6\x9e\x63\ -\x06\xed\x95\x32\xf8\xb7\x13\xf1\xe2\xb1\xe5\x98\xa2\x24\xd1\x0a\ -\xc4\x00\x90\x28\x12\x91\x54\x10\x15\xe2\x43\xf0\x0e\x50\x4e\x4f\ -\x96\xec\x5c\xba\x6a\xed\xb6\x60\x55\x7e\xef\x6c\x35\x56\xf7\xf5\ -\x74\x3b\x22\x35\x9d\x2d\x40\xd6\x71\x49\xaa\x42\x8d\x98\x1f\x11\ -\x0f\x11\xcf\x19\x1c\x98\xa3\x9e\x37\x85\x95\xcd\xa0\xed\x70\x96\ -\x02\xa8\xca\x0a\xa8\xca\xc9\xf5\x9f\x6c\x31\xad\xfe\x70\xe3\xf2\ -\x29\xc2\xc4\x71\x01\x88\xa5\xb2\x6c\x60\xbb\x9a\xa6\x98\x04\x87\ -\x7b\xa6\x0b\x46\x37\x03\x00\xf4\xb9\x70\x5c\xff\x46\x10\x76\xab\ -\xd9\x7c\xa4\xe9\x72\xad\xf6\x81\xed\x5e\xcc\xb5\x89\xa2\x69\x58\ -\xc1\xb2\x95\x3b\xbc\x5e\x2f\x8f\xc1\x3e\xe8\x88\x01\x6b\x8f\xd6\ -\xda\x65\x71\x45\xea\x80\x30\x06\x91\xa0\x0a\xae\x9a\x16\x7d\xc3\ -\xa7\xb5\xe7\xcf\x98\x28\x2a\x76\xcb\x22\xb3\xb1\xa8\x70\xc9\x26\ -\x90\xf0\x55\x91\xd7\x39\xcc\xd1\x7d\xdd\x5d\x47\x9d\x76\xfb\x18\ -\x25\x1c\xaf\xa6\x14\xec\x7e\x78\xbc\x2a\x05\x5d\xd4\x26\xf0\x00\ -\xfb\xe1\x06\xc4\x59\x36\xa2\x35\x36\x36\xd4\x71\xb8\x5c\x6c\xc2\ -\x15\x40\x67\xc8\xe7\x93\xf9\x2b\xde\xdb\x60\x00\xd3\xb9\xc7\xd8\ -\xa8\x3d\x0e\xed\x79\x27\xbc\x3d\x51\x62\x90\x6e\x75\xfe\xeb\xcb\ -\xb6\xc1\x65\xf6\x36\x24\x1f\xf3\x1e\x1e\x8f\x47\x1b\x75\xf5\xbb\ -\x5c\x8e\x87\x7e\x6e\x34\x00\x21\xd5\x8a\x64\x79\xd0\xdd\x48\x40\ -\xdb\x4b\x94\x73\xb3\xb6\x03\x00\x3d\x78\x83\x0e\x98\x42\x99\xa4\ -\xe0\x05\x54\x40\xb8\xf9\xe0\x05\x78\x6c\x2e\x0a\x79\x89\xc1\x3e\ -\x6b\x49\xcd\xb9\xd3\x1a\x56\x43\x02\xe5\x91\xf2\xf8\xf1\x18\x9c\ -\x4f\x31\x3c\xd6\x82\x05\x3f\x0c\x2f\x9a\xcc\xd6\x15\x30\x14\xc9\ -\x52\xb9\x02\x27\xf0\x30\xed\xf7\x63\x6c\x26\x26\xc4\x09\xd8\x90\ -\xa6\xee\xc2\xb9\x2f\xa3\x5a\xb2\x80\xcf\x7f\xa3\xcd\xd0\x78\xf0\ -\xef\xb3\x55\x95\xe8\xb9\x68\xcd\x3b\x6f\x81\x8d\x3a\xea\x76\xba\ -\x12\xd9\xee\x89\x09\x3a\xe4\x91\xe4\x40\xda\x0b\xa7\x8e\x1e\x5e\ -\x0b\x4e\xc8\x1d\xf5\xcb\xa8\xba\xaa\xe2\xf3\x9a\xd3\x95\x95\xe8\ -\xbc\xd1\x80\xfb\xff\x42\x73\x43\x7d\x01\xf8\x02\x3d\x2a\xdf\x63\ -\x4b\x30\x18\x1a\xf0\x13\xf0\x2a\xaa\x04\x92\xaf\x84\xe4\xb6\x98\ -\x5f\x46\xf7\xef\x0d\xd3\x4c\x77\x13\x40\xbe\xc0\x70\xd3\xd4\xfa\ -\xea\xa2\xc2\xa5\x5b\x92\x24\xd2\xcd\xf0\x32\x19\x2a\x75\xac\x9b\ -\x93\xcb\x8d\xc3\x38\x5c\x0e\x62\xfb\x3f\xd7\x9a\x74\x7b\xc0\x57\ -\x9c\x8b\x25\xe1\xa3\x00\xbc\x51\xec\x37\x72\x37\x30\x76\xc3\xd7\ -\xd1\xaf\x19\x2a\xf5\x32\x00\xb2\x02\xc8\xa6\x44\x60\x50\x85\xc3\ -\x96\xda\x41\xa8\xcc\xdd\x16\x73\xe3\x60\xaf\xb5\x0c\x12\xff\x05\ -\x5f\x45\x81\xe8\xf6\xed\xff\x29\x3c\x64\x0e\xd1\x77\xa1\xcd\x66\ -\x8b\xe2\xef\xe9\xd1\xae\x90\xc8\x53\x30\x32\x41\x90\x04\x55\x40\ -\x00\x90\x7c\xe3\x41\x67\x3c\x04\x65\xb7\xf4\x76\x5b\xdc\x6e\xa7\ -\x73\xa4\xe7\x43\xad\xc6\x16\xe8\xbb\x50\x28\x14\x3e\x02\xf0\xac\ -\xe2\x3f\x01\x06\x00\x38\x2c\x0f\x54\xe7\x24\x21\xce\x00\x00\x00\ -\x00\x49\x45\x4e\x44\xae\x42\x60\x82\ -\x00\x00\x0b\xfc\ +\x63\x6b\x65\x74\x20\x65\x6e\x64\x3d\x22\x72\x22\x3f\x3e\x33\xcd\ +\x50\xb2\x00\x00\x03\xaa\x49\x44\x41\x54\x78\xda\xbc\x97\x79\x48\ +\x55\x41\x14\xc6\xef\xb3\x97\x95\x59\xbd\x0a\x23\xa4\xc0\x25\xa2\ +\x3d\x21\x25\x69\x83\xc8\x32\x5b\xa0\x7d\xfb\xa3\x32\x5a\x6c\x7b\ +\x24\x45\x44\x86\x96\x45\x96\x08\x91\x11\x51\x08\x69\x54\x58\x58\ +\xfd\x51\x54\x44\xb6\x40\x94\x94\xa4\x66\x46\x84\x6d\x26\x11\x91\ +\xf9\xd0\x32\xb5\xb4\xbe\x13\xdf\x95\xe1\x72\xdf\x72\x5f\xcf\x0e\ +\xfc\x98\xb9\x33\xf7\xce\x7c\x33\xef\xcc\x99\xf3\x6c\x4e\xa7\xd3\ +\xa6\x69\x9a\x13\x6c\x00\xe1\x9a\x7f\x76\x17\x2c\xca\xcd\xcd\x6d\ +\xb3\xfa\xa1\x0d\x02\x76\xa1\xcc\x02\xcd\x20\x1f\x54\xb0\xee\x8b\ +\x85\x80\xe3\xac\x17\x80\x64\x88\xf8\x6d\x45\x80\x1d\x6c\x07\xdf\ +\xc0\x14\x7c\x5c\x66\xe5\x63\x88\x77\x50\xc0\x7b\xb0\x0a\xd4\x83\ +\x54\xab\x3b\x20\x8a\x0f\x83\x83\xa0\x1f\x70\x71\x07\x06\x1a\xde\ +\xfd\x04\xba\x03\x07\x9f\x9b\x89\x4c\xba\x14\xac\x04\xb3\x41\x3a\ +\x16\xb2\xdf\x57\x01\x41\x2c\x4b\xc1\x1a\xf0\x16\x6c\x03\xf1\xac\ +\xab\xc4\xb3\x4f\x7f\x2e\x54\xc6\x69\x05\x4b\xe8\x0b\x99\x58\xd4\ +\x66\xab\x02\x7e\x81\x12\xb0\x0f\xbc\xe3\x2a\xa5\xbe\x15\x4c\x67\ +\xdd\xc1\xbe\xb9\x60\x1d\xfd\xa5\xc3\xb0\xea\x26\x14\xf3\xc0\x63\ +\x79\x84\x88\xe5\x56\x04\x68\x5c\x61\x06\x38\x0d\xae\xb0\x9e\xc0\ +\xdd\xc9\x60\x9b\xf4\xd5\x82\x51\x60\xb5\xc1\x97\x44\x44\x03\x8a\ +\x99\xe0\x85\x38\x25\x44\xcc\xb2\x22\xe0\x3e\x1d\x28\x95\x3f\x47\ +\x24\xb8\xce\x95\x47\x2a\xc8\xe0\x99\x60\x19\xd0\x8f\x5d\x8c\xb2\ +\x13\xe2\x13\xd3\x40\x0d\x28\x82\x88\x89\xbe\x38\xe1\x7c\x10\x01\ +\x8e\xb0\xbd\x02\x03\xc5\xb0\x4f\x8e\x56\xbe\x87\x93\x50\xc7\x1d\ +\x98\x80\xf7\xaa\x94\xf6\x41\x28\x1e\x81\xde\x60\x32\xfa\x9e\x79\ +\x13\x70\x03\xf4\x30\x79\xa7\x09\x1f\xb7\x7a\x10\x90\x4e\x1f\x69\ +\x04\x79\xa0\x12\xe8\xb1\x60\x08\x48\x03\x9f\x41\x2c\xc6\xf9\x60\ +\x16\x07\x74\x13\xe7\xda\x62\x32\xc7\x21\x4c\x12\xaa\xf4\x55\x63\ +\xa0\xb5\x4a\xff\x01\xf0\x13\xa4\xf0\x94\xd8\x4c\xc6\x18\x00\xa2\ +\x81\x47\x01\x0d\xf4\x72\xa3\xb5\x73\x02\xbd\xef\xa3\xc1\xfb\xdb\ +\x19\x49\xb3\x3c\x04\xab\x7a\x5f\x9c\x30\x8c\xce\x24\xec\xa6\x13\ +\x49\x3d\x9b\x5b\x1c\x8d\xc9\xc4\xf3\x63\x31\x68\x39\xc8\xd3\x02\ +\x60\xea\x0e\xc8\xf1\xba\xc3\x9d\xe8\xcf\xe7\x7b\x4a\xff\x0f\x96\ +\x25\x8c\x98\xd5\x81\x16\x30\x42\xce\x3d\x56\x39\x06\xab\x93\xd8\ +\xde\x87\xed\x9b\xd0\x76\x5e\xd9\xf2\x4c\x2d\x80\xa6\x0a\x90\x95\ +\xb5\xe8\x8e\x07\xba\xb1\x5e\xae\x75\xa2\xd9\x95\x95\xc9\x4d\x58\ +\xc6\xfa\x09\xed\x3f\x99\xdd\x87\x2b\x37\x96\xc9\x4a\x98\x9f\x73\ +\x74\xd5\x8f\x2b\xc6\xfa\xc2\xba\x94\x79\x58\x68\x89\xdd\xcb\xe4\ +\x89\x28\xae\x2a\x83\xfc\x8b\x19\x43\x72\x32\xc6\x5f\x10\xe4\xe5\ +\xa3\xec\x00\x4d\xee\x2e\x04\xe4\x78\x13\x30\xd2\xa4\x4d\x76\x24\ +\x09\x3c\xe7\xf3\x6b\x20\xb7\x5e\x31\x9f\x9f\x32\x3a\x36\x32\x4b\ +\x4a\x60\x88\xae\x30\xdc\xa0\x7f\x43\xb5\x37\x01\x5d\x0c\xcf\x12\ +\xe3\x25\xf6\x8f\x05\x67\xd9\xf6\x15\x54\x31\x14\xb7\x30\xdc\xbe\ +\x02\x37\xc1\x4b\x70\x9b\x42\x5c\xbc\x9c\xdc\x46\x42\x5f\xac\x90\ +\xce\x28\xd7\xed\x39\x0a\x92\x44\x24\x0e\x4c\x65\x38\x6e\xe2\x0d\ +\x38\x07\x04\x83\xbd\xfc\x19\xbf\x33\x89\xf5\x5b\x40\x1b\x13\x93\ +\x71\xe0\x21\x6f\xce\x62\x46\xce\x5e\xf4\x97\x02\xfe\x34\xa1\xec\ +\xbf\xc5\xf8\x92\x43\x61\x3d\x2d\x1f\x43\xc5\x4e\x81\x61\xca\xa5\ +\x23\x93\x9e\x01\x89\x5c\xa9\x83\x22\x56\x80\x3d\x4c\x66\x5c\xec\ +\xab\x63\xf8\x0e\xb6\x2a\xc0\xa5\x64\xc1\xa3\x99\xf5\x76\x1c\x23\ +\xf0\x04\x0c\xa5\x4f\x88\x2d\xe6\xea\xa3\x18\x49\x1f\x80\xf5\x4c\ +\xd3\x6a\x98\xca\xa9\xd6\xe2\x4d\xc0\x05\x06\x21\xb1\x49\x86\xbe\ +\xbe\x60\x86\xc9\x37\x49\x4a\x3d\x42\xa9\x47\x11\xd5\x2e\x06\xb9\ +\xf1\x76\xdd\x76\x80\xcb\x9d\x14\x07\xae\x49\xd6\xad\xef\x80\x6c\ +\xcd\x25\xe3\x1b\x08\x95\xf2\x8f\x69\x21\x22\x56\x38\xb3\x1a\x7f\ +\x4c\x76\xee\x18\x53\xf9\x52\x3d\x14\x63\xec\x5a\x3d\x27\x74\xd1\ +\xc3\xe3\xd0\xf8\x26\x90\x4b\xc4\xd8\x21\xcc\x31\xc6\x8b\x9f\x98\ +\x25\xa6\xb2\x03\x27\xc1\x4e\x51\x87\x0f\x8e\x32\xa9\x6c\x0f\xc0\ +\xfc\x83\xc1\x46\x30\x9c\xc7\xb6\xd2\xdd\x6d\x98\xc6\x80\x92\xc2\ +\xa0\x11\x48\x93\x5c\xb2\x88\x49\x8d\xe9\xbf\xe6\x3f\x02\x0c\x00\ +\x19\xca\x22\x70\x0c\xa6\x9f\x87\x00\x00\x00\x00\x49\x45\x4e\x44\ +\xae\x42\x60\x82\ +\x00\x00\x06\xbb\ \x89\ \x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ \x00\x00\x20\x00\x00\x00\x20\x08\x06\x00\x00\x00\x73\x7a\x7a\xf4\ @@ -922,166 +887,205 @@ \x70\x3a\x2f\x2f\x6e\x73\x2e\x61\x64\x6f\x62\x65\x2e\x63\x6f\x6d\ \x2f\x78\x61\x70\x2f\x31\x2e\x30\x2f\x22\x20\x78\x6d\x70\x4d\x4d\ \x3a\x4f\x72\x69\x67\x69\x6e\x61\x6c\x44\x6f\x63\x75\x6d\x65\x6e\ -\x74\x49\x44\x3d\x22\x78\x6d\x70\x2e\x64\x69\x64\x3a\x62\x62\x65\ -\x34\x65\x39\x38\x62\x2d\x34\x38\x33\x63\x2d\x62\x63\x34\x33\x2d\ -\x62\x62\x33\x65\x2d\x62\x35\x35\x32\x61\x31\x32\x61\x31\x39\x34\ -\x34\x22\x20\x78\x6d\x70\x4d\x4d\x3a\x44\x6f\x63\x75\x6d\x65\x6e\ -\x74\x49\x44\x3d\x22\x78\x6d\x70\x2e\x64\x69\x64\x3a\x45\x46\x34\ -\x34\x46\x42\x41\x46\x46\x42\x33\x37\x31\x31\x45\x32\x39\x31\x41\ -\x33\x38\x44\x31\x43\x33\x43\x30\x31\x35\x39\x34\x44\x22\x20\x78\ +\x74\x49\x44\x3d\x22\x78\x6d\x70\x2e\x64\x69\x64\x3a\x63\x34\x37\ +\x39\x66\x62\x31\x39\x2d\x34\x33\x34\x34\x2d\x62\x65\x34\x33\x2d\ +\x39\x39\x31\x31\x2d\x33\x64\x35\x32\x63\x31\x30\x33\x35\x37\x65\ +\x31\x22\x20\x78\x6d\x70\x4d\x4d\x3a\x44\x6f\x63\x75\x6d\x65\x6e\ +\x74\x49\x44\x3d\x22\x78\x6d\x70\x2e\x64\x69\x64\x3a\x37\x34\x35\ +\x38\x33\x43\x33\x39\x35\x39\x38\x35\x31\x31\x45\x33\x41\x31\x43\ +\x32\x46\x42\x37\x41\x42\x30\x37\x44\x42\x42\x38\x37\x22\x20\x78\ \x6d\x70\x4d\x4d\x3a\x49\x6e\x73\x74\x61\x6e\x63\x65\x49\x44\x3d\ -\x22\x78\x6d\x70\x2e\x69\x69\x64\x3a\x45\x46\x34\x34\x46\x42\x41\ -\x45\x46\x42\x33\x37\x31\x31\x45\x32\x39\x31\x41\x33\x38\x44\x31\ -\x43\x33\x43\x30\x31\x35\x39\x34\x44\x22\x20\x78\x6d\x70\x3a\x43\ +\x22\x78\x6d\x70\x2e\x69\x69\x64\x3a\x37\x34\x35\x38\x33\x43\x33\ +\x38\x35\x39\x38\x35\x31\x31\x45\x33\x41\x31\x43\x32\x46\x42\x37\ +\x41\x42\x30\x37\x44\x42\x42\x38\x37\x22\x20\x78\x6d\x70\x3a\x43\ \x72\x65\x61\x74\x6f\x72\x54\x6f\x6f\x6c\x3d\x22\x41\x64\x6f\x62\ \x65\x20\x50\x68\x6f\x74\x6f\x73\x68\x6f\x70\x20\x43\x43\x20\x28\ \x57\x69\x6e\x64\x6f\x77\x73\x29\x22\x3e\x20\x3c\x78\x6d\x70\x4d\ \x4d\x3a\x44\x65\x72\x69\x76\x65\x64\x46\x72\x6f\x6d\x20\x73\x74\ \x52\x65\x66\x3a\x69\x6e\x73\x74\x61\x6e\x63\x65\x49\x44\x3d\x22\ -\x78\x6d\x70\x2e\x69\x69\x64\x3a\x30\x62\x33\x38\x38\x36\x38\x39\ -\x2d\x35\x62\x30\x34\x2d\x64\x66\x34\x35\x2d\x62\x34\x32\x38\x2d\ -\x32\x31\x33\x61\x62\x36\x62\x35\x38\x37\x38\x32\x22\x20\x73\x74\ +\x78\x6d\x70\x2e\x69\x69\x64\x3a\x63\x31\x65\x61\x38\x31\x32\x35\ +\x2d\x65\x62\x64\x64\x2d\x63\x38\x34\x62\x2d\x39\x66\x37\x61\x2d\ +\x30\x36\x39\x39\x32\x39\x38\x64\x62\x39\x33\x63\x22\x20\x73\x74\ \x52\x65\x66\x3a\x64\x6f\x63\x75\x6d\x65\x6e\x74\x49\x44\x3d\x22\ -\x78\x6d\x70\x2e\x64\x69\x64\x3a\x62\x62\x65\x34\x65\x39\x38\x62\ -\x2d\x34\x38\x33\x63\x2d\x62\x63\x34\x33\x2d\x62\x62\x33\x65\x2d\ -\x62\x35\x35\x32\x61\x31\x32\x61\x31\x39\x34\x34\x22\x2f\x3e\x20\ +\x78\x6d\x70\x2e\x64\x69\x64\x3a\x63\x34\x37\x39\x66\x62\x31\x39\ +\x2d\x34\x33\x34\x34\x2d\x62\x65\x34\x33\x2d\x39\x39\x31\x31\x2d\ +\x33\x64\x35\x32\x63\x31\x30\x33\x35\x37\x65\x31\x22\x2f\x3e\x20\ \x3c\x2f\x72\x64\x66\x3a\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6f\ \x6e\x3e\x20\x3c\x2f\x72\x64\x66\x3a\x52\x44\x46\x3e\x20\x3c\x2f\ \x78\x3a\x78\x6d\x70\x6d\x65\x74\x61\x3e\x20\x3c\x3f\x78\x70\x61\ -\x63\x6b\x65\x74\x20\x65\x6e\x64\x3d\x22\x72\x22\x3f\x3e\xf5\x19\ -\xe3\x80\x00\x00\x08\x21\x49\x44\x41\x54\x78\xda\xac\x57\x69\x70\ -\x14\xc7\x15\x7e\x3b\x33\x3b\x7b\x0a\x21\x69\x25\x74\x9f\xe8\x42\ -\xe8\xb0\x0e\x30\x08\x61\x4c\x24\x40\x10\x14\x14\x08\xa0\x32\xb1\ -\x1d\xa7\x62\x3b\x55\x51\x7e\x38\xb6\x7f\x38\xe5\xaa\xfc\x48\x55\ -\x62\x92\xb2\x5d\x15\x70\xd9\x4e\x8a\x40\x19\x0c\x01\x83\x2d\xb0\ -\xac\x80\x31\x20\x11\x71\x58\x27\x42\x02\x5d\xe8\xbe\x0f\x74\xad\ -\x76\x57\xbb\xb3\xb3\xf9\x7a\x24\x11\x2c\x63\x49\xc4\xee\xaa\xae\ -\x9d\xee\x99\xee\xf7\xf5\xf7\xbe\xf7\x5e\xaf\xaa\xb3\xb3\x93\x4a\ -\x8a\x8b\x29\x38\x62\xb9\xce\xcd\xdd\x3d\x4d\x76\xca\x5a\x22\x52\ -\xd1\xe2\x1a\xfb\xce\xc5\xf1\x5c\x57\x4b\xfd\xdd\x3a\xbb\xdd\x4e\ -\x1c\xc7\xd1\x62\x9b\xaf\xaf\x2f\x09\x57\x2e\x5f\xa6\xbf\xfd\xe3\ -\x50\x42\xca\xda\x75\x07\x74\x7a\xc3\x6a\xcc\xdb\xd1\x27\x16\x09\ -\xc2\x25\x39\x1c\x06\x9e\xe7\x07\x1b\x6a\x6f\xe7\x5d\x28\x38\x5d\ -\x86\xf1\xa2\x01\x6c\xd9\xb2\x85\x84\xd0\xe5\x51\xa6\x94\x35\xeb\ -\x0e\xe9\xf5\xc6\x94\xfe\xde\xee\x83\x15\xd7\xae\x7e\x34\x3e\x3a\ -\xba\x58\x00\xf2\xfa\x4d\xd9\x47\x7c\x03\x02\xd3\x56\xa6\xa4\x9e\ -\x6d\x6d\xac\xcf\xbc\x5b\x53\x5d\x47\x8f\xd1\x04\xd0\xbe\x56\x67\ -\x30\xa6\xf4\xf5\x74\xbd\x7d\xec\xfd\x03\xbf\xa3\xc7\x6c\x36\xab\ -\xd5\xc6\x0b\xc2\x25\x9c\x3c\x21\x33\x27\xb7\xc0\x66\xb5\x64\xb6\ -\x36\x35\xb6\x2d\x1a\x80\x2c\xcb\x6e\x92\xe4\xb0\xb4\x37\x37\x1d\ -\xdc\xb1\xef\xb9\xe7\x44\x51\x8c\xf8\xb2\xe0\xd3\xbf\xc6\x26\x24\ -\x6d\x0e\x0c\x0b\x4b\x92\x1c\x92\x53\x50\x0b\x7c\x57\x6b\x6b\x35\ -\x4e\x77\x3e\xeb\x27\xb9\xbf\xc5\x9c\x16\x73\x66\x7c\xf7\x8e\x4a\ -\xa5\x12\x7b\x3a\xda\xbf\xba\x3f\x34\xf8\x46\xd2\xaa\x35\x25\xdb\ -\xf7\xee\xfb\xec\xdc\x89\xa3\x9b\x00\x62\x60\x51\x00\xd0\x39\x97\ -\x2c\x8f\xd9\xa7\xa6\xc6\xc2\xa3\x62\x9e\x14\x45\x4d\x32\xc7\x17\ -\xec\xf7\xf6\xf5\x8b\x0b\x8b\x8a\xc9\x74\xc9\x2e\x3d\x2f\xf0\xd2\ -\x94\xd5\xe6\x68\xa8\xad\x29\x8a\x88\x59\xb1\xd5\x29\x39\x8d\x2a\ -\x4e\xd5\x23\x6a\x34\xef\x61\xbd\x13\xe2\x73\x3b\xff\xd9\xe9\x9b\ -\x58\x9b\xbb\x22\x29\xf9\x73\x80\x38\x03\x10\xd9\x00\x31\xb1\x10\ -\x80\x07\x92\xe5\x20\x65\xfc\x74\x3b\x1c\x8e\xae\xec\x9d\x7b\x0e\ -\x07\x84\x86\xc5\x61\xdc\x59\x74\xfa\x5f\x5b\xc1\xce\xdb\x21\xcb\ -\x23\x13\xb7\xe7\xed\x3b\x8a\xe7\xbf\x60\xee\xa7\x82\x5a\x3d\x88\ -\xf7\x12\xd3\x0a\x44\x28\xe3\x10\x54\x78\xea\xf8\x17\x77\xaa\x2b\ -\x77\xeb\x0d\xc6\x74\x80\x38\x19\x16\x19\xa5\x59\x0c\x03\xa4\x42\ -\xe8\x58\x2d\x66\x6a\xaa\xab\x25\x17\xb9\x64\x6c\xee\x34\x8f\x8f\ -\x69\x01\x8a\x1a\xeb\x6e\xdb\xb0\xa1\xe0\x94\x9d\x3a\x9e\xe3\x55\ -\x2d\x0d\xf5\x6a\x9c\x8c\xc7\xaf\x0e\xac\x71\x58\xcb\x18\xf4\x62\ -\xfb\x38\x9d\x4e\x06\xe2\x13\x3c\x3e\x0f\x26\x0e\x03\xc4\x47\x60\ -\x22\x0f\xdf\x3b\xe7\x05\xa0\x80\x50\x71\xa4\x16\x45\xb6\x91\x09\ -\x00\xa8\xa3\xa5\xf9\x15\xa0\x09\xd8\xf3\xcb\x97\x0e\x7e\x7e\xf2\ -\xe3\xdd\x37\x4b\x2e\xff\xf3\xe1\x85\xc7\x3f\x7c\x6f\xd7\x6c\x24\ -\xf8\x05\x87\x64\x85\x45\x46\xbb\xb7\x36\x35\x8c\x31\x10\x67\x4f\ -\x1c\x3d\x02\xb7\x68\x57\x26\xa7\xbc\x0f\x10\xa3\x00\xf1\x22\x40\ -\xcc\xef\x82\x99\xb0\x63\x21\x54\x8e\x4d\xca\x96\x7a\x7a\xd9\x97\ -\x7a\x79\x8d\x4f\x4d\xd9\x6e\x40\x68\xdf\x49\x21\xcf\x71\x5f\x68\ -\xb4\xda\xa0\x6d\xbb\xf3\x8e\xc7\x26\x26\x25\x04\x84\x84\xba\xf9\ -\x07\x87\x18\xee\x54\x57\x1c\x1a\x1e\x18\xf8\x23\xde\xfd\x2a\x63\ -\x53\xf6\x5b\xf8\x15\xe7\x65\xc0\xe5\x92\x39\x87\xdd\x7e\x0b\x8f\ -\x3d\x70\x03\x41\x60\xd1\x6c\x7a\x72\x62\xe2\x9a\xa7\xc9\x47\x7c\ -\x6a\xf3\xb6\x2c\x8c\x0d\x50\xbf\xeb\x52\xe1\xb9\x8b\x43\xfd\x7d\ -\x23\x6c\x5d\xf9\xb5\xab\xef\xfa\x06\x06\xa5\xe8\xf4\xfa\x1d\x39\ -\x79\x3f\xcf\x66\x3a\x62\xac\x40\xbc\x2e\x44\x97\xcc\x12\x93\xb7\ -\xaf\xff\xeb\xe8\x27\xba\xda\x5a\xaa\x1e\x09\x80\x09\x48\xa7\x37\ -\x4a\x91\x71\x2b\x5f\xc3\x30\x83\x53\x1a\xaf\xc1\x06\x56\x8c\x6f\ -\x38\xa6\xec\xcf\x84\x46\x46\xbd\x89\xc9\x68\xb8\xc9\x51\x72\xe1\ -\xdf\x6b\x30\xaf\x00\x80\x16\xcc\xc7\x3e\x38\xb0\x33\x65\x4d\x46\ -\xc6\x12\x0f\x8f\x70\xd9\xe9\x7c\x58\x78\x12\x4e\xbe\xcc\x3f\x24\ -\xf4\x0f\x38\xa0\x6e\x31\x0c\x14\xc3\xff\xa3\x6d\x4d\x8d\xb5\xb5\ -\x95\xe5\x45\xd9\xbb\xf6\xbc\x8c\x13\xf0\xa0\xf6\x75\x97\xcb\x55\ -\xd6\xde\xdc\xfc\x2a\xc2\xcf\x3b\x73\xfb\x8e\x67\xed\x53\xb6\xfb\ -\x60\xe2\x30\x98\x18\x03\xd5\x32\xd2\x70\x31\xb6\x29\x9e\x6b\x60\ -\x59\x40\x40\xe8\xf3\xf9\xaf\xfc\x7e\x41\x11\x32\x0c\xe8\x31\x50\ -\x75\x2a\x04\x69\xc6\xa0\x03\xe3\x78\x74\x0f\x8c\xdd\x34\x1a\xad\ -\x13\x46\x8f\x60\x6c\x04\x53\x7b\x21\xff\x91\x1b\x57\x2e\x9d\xc2\ -\x78\x6c\xde\x30\x13\xd4\xfa\x05\xc3\x70\x36\x0a\x74\x06\xc3\xfd\ -\x8e\x7b\xcd\x7f\x02\xcd\x8d\x3b\x9f\x7d\xe1\x18\xd2\xea\x28\xe6\ -\x2a\xbe\x2c\x38\xf3\x26\x4e\xea\xb2\x4c\x4e\xca\xf8\xb4\xa2\xf2\ -\x46\xe9\xc7\x0c\xf0\x40\x6f\x8f\x4c\xdf\xb3\x3d\xc8\x03\x30\x46\ -\xa0\xde\x13\xe1\xc7\xd4\xaa\x82\xff\x4d\xa0\x9f\xe5\x84\x41\x84\ -\x97\x34\x3a\x3c\xfc\x60\x11\x9e\x9c\xf4\x03\x35\x61\x9a\x26\x81\ -\x06\xfa\xba\xd5\xd5\x5f\x5f\xcf\x9f\x7d\x01\x7a\x37\xfc\x10\x06\ -\x58\x9d\x01\xbd\x34\x23\xe8\xf9\x5d\xf0\xa8\xe6\xe5\xe3\x43\x50\ -\xf8\x46\x28\x3c\x19\x0a\x57\xcf\x68\x65\xb1\xcd\x89\x28\xf0\x9b\ -\xb2\x58\x84\x8d\x5b\x73\x5e\x9c\xb2\xd9\x5a\xa6\x65\xa1\x6e\x2f\ -\xb9\x50\x74\xd6\x66\xb3\x99\x85\xf9\x56\x7b\x9a\xbc\xb9\x67\x5e\ -\xfa\xcd\x9f\x91\x13\x5e\x43\xd5\xfc\xbf\x18\x40\x3e\x20\xc9\x61\ -\x27\xdf\x80\xa0\x97\x11\x41\x33\x75\x87\xa3\xec\x9f\xed\x2d\x15\ -\x1d\xb6\xdc\x79\x01\xa4\xa6\x67\xac\x65\xc6\xad\x16\x0b\x49\x48\ -\xb1\x6a\xb8\x8a\x65\x45\x87\x24\xcd\x84\xae\x4b\xe9\x0f\xb2\x22\ -\xcf\x2b\xf5\x60\xb6\xa9\x91\xd2\x39\x96\x45\xd1\x2d\xd0\x18\x5b\ -\xaf\xbc\xc7\x18\x51\x95\x9e\x9c\x9a\x96\x3f\x2f\x00\x77\x0f\xcf\ -\x64\x76\xcf\xf3\x5b\xe6\x43\xdb\x36\x6e\xa0\x53\x85\x45\x34\x38\ -\x7c\x9f\x72\xb3\x37\x61\x33\x35\xf9\x78\x79\x92\x9b\xd1\xa0\x80\ -\x60\xc6\xae\x57\x54\x51\x4a\x7c\x9c\xf2\xcc\xda\xa9\x73\x45\xd4\ -\xd4\xd6\x46\x22\xbe\x7d\x7a\xed\x93\xf8\xde\x8b\x90\x49\xa9\xb4\ -\xac\x82\x9a\x5b\xdb\x98\x2e\xd2\xe6\xbd\x41\x02\x2d\x2f\x83\x42\ -\x37\x83\x81\xa2\x22\xc2\x50\x2c\x54\xc4\x5c\x11\x1e\x1c\x4c\x46\ -\x83\x9e\x8a\xae\x14\xd3\xb8\xd9\x4c\x06\xbd\x9e\x3e\x01\x38\x59\ -\x76\x52\xa0\xbf\x1f\x15\x7e\x75\x85\x0a\xce\x5f\xa4\xde\x81\x01\ -\xb2\xdb\x1d\x0a\x48\x06\xe0\x3f\x65\xe5\x24\x80\xa5\xb4\xc4\x78\ -\x85\x51\x25\x00\x17\x72\xe1\x34\x95\x02\x4d\x5a\xac\x34\x69\xb5\ -\x2a\x2e\x60\xe3\xd1\xf1\x09\xaa\xae\xbb\x4b\x3d\xfd\x83\xe8\x03\ -\xf4\x75\x55\x0d\x8d\x4f\x98\x15\xff\x66\xad\x4f\xa7\xa4\xb8\x58\ -\xf2\x31\x99\x68\xf5\x13\x89\xc4\xae\x1a\x7d\x03\x83\xb4\x61\xcd\ -\x6a\x0a\xc4\x4d\xb8\xe1\x5e\xeb\xec\xed\xd9\xb5\xe0\x1d\x9a\x15\ -\x26\xbd\x4e\x87\x53\xea\x14\xaa\xd9\xf3\x32\x93\x17\x59\xa0\x0b\ -\x8d\x28\x92\x56\x23\x12\x2e\x31\xf0\xa9\x48\x46\xa3\x51\x01\x71\ -\xa1\xe4\x2a\x95\xd7\xd4\x32\x57\x2b\x7a\x49\x8c\x8d\x25\x13\xdc\ -\x75\xf8\xe4\x69\xba\xd7\xde\x41\xab\x92\x12\x68\x56\xd4\xc2\x42\ -\x37\x26\x26\xac\xf6\xae\x6e\x85\x81\x37\xf2\x7f\xad\x4c\x32\x26\ -\x6e\xd7\x37\xa2\x14\xf3\xe4\xe9\xee\xae\x8c\x19\xb8\xa5\x4b\x96\ -\x28\xd4\x56\xc0\xb8\x28\x88\x4a\x81\x67\x1a\x8a\x8e\x08\xa7\xf4\ -\x55\x29\xb4\x6e\x55\x1a\x79\x9b\x3c\xe9\x16\x98\x9b\x29\xf1\xdc\ -\xbc\x00\x60\x7c\x84\xf9\xac\x7f\x70\x88\xde\xf9\xfb\x21\x0a\x0e\ -\xf0\x57\xe6\x3b\xba\x7b\x14\x17\xe8\x75\x5a\x2a\xba\x5c\x42\x76\ -\x84\x99\x11\x3a\x28\xbf\x55\x43\x77\x1a\x9b\x48\xaf\xd5\xcd\x1a\ -\x50\x94\xdf\xd6\xd5\x45\x1f\x1e\x3d\x41\x7e\x3e\xde\x54\x78\xf1\ -\x32\xd6\xf7\x92\xc8\x22\x84\xe7\xcd\x73\x8b\xd1\x37\x5a\x5d\x75\ -\xe5\xc5\xf0\x98\xd8\x5e\xa7\x24\xf9\x8d\xc1\x60\xd5\xc8\x9d\x69\ -\xda\x00\x8a\x75\xd6\xda\xbb\xbb\xa7\x75\x01\x43\x7d\x00\xca\xa8\ -\x15\x67\xa2\xe0\x41\xb6\xe3\x05\xea\x1f\x1a\x82\x56\xfa\x15\xdf\ -\x2b\xeb\xf1\xcd\xf8\xe8\xc8\x51\x61\xc6\xb0\x00\xc5\x7f\xeb\xda\ -\x83\xfb\x60\x67\xd5\xf5\xd2\x5d\xd1\xf1\x89\xfb\xf5\x06\x43\x34\ -\x36\xff\x16\x63\x28\x5c\xff\x33\x34\xc7\xf0\xf4\x3f\x27\x09\xc9\ -\xc8\xe9\xa1\xd5\x68\xcd\x48\x44\xec\x6f\x93\x0a\xdf\xf5\x97\x95\ -\x5e\x3d\xd8\x52\x69\xff\x94\x6d\xc8\xe2\xc1\x14\x97\x94\x1c\xd9\ -\xd7\xd5\xd9\xf3\x8d\x3c\x0e\x71\x5d\x28\x38\x73\xad\xe2\x7a\xe9\ -\x7a\x00\x08\x7e\x14\x80\xef\x14\xaf\x8b\x65\x40\x87\xed\xe9\xad\ -\x39\x3b\x83\xc3\xc3\xdf\x45\x45\xfd\xc5\x60\x7f\x5f\xd5\x74\xed\ -\xe3\xfa\x3b\x5b\x5b\x26\xb2\xb2\xb2\x48\xc0\xa0\x03\x39\xde\x11\ -\x93\x90\xb4\xbf\xb7\xab\x33\xb7\xe1\xf6\xad\x9e\x87\xb3\x99\x52\ -\xfd\x06\xfa\x65\x54\xc0\xb6\xc7\x4d\xc3\x91\x2b\x56\x06\x2e\xf5\ -\xf2\x7c\x01\x3e\xb2\xf5\xf5\x74\x97\xe2\x80\xbd\x73\x34\x46\xc2\ -\xc8\xf0\xf0\xcd\xe1\xa1\xa1\x0f\x8c\x4b\x96\xe4\xff\x68\x7b\x6e\ -\x6d\x6c\x52\x72\x21\xfe\x6e\xf5\xce\xb9\xb0\x3e\x6e\x93\xb5\x3a\ -\x5d\x90\x7f\x50\xc8\x8f\x71\x39\x34\xde\xab\xaf\x7f\x6b\xae\x71\ -\xd6\xac\x88\x1e\x41\xb2\x59\x24\x9d\xcb\xf1\xea\x13\xf1\x71\x0d\ -\xa0\x2c\x27\x3e\x26\x2a\x04\x1c\x85\x7c\xdf\x32\xcc\xee\x99\x48\ -\xb5\x25\xf0\xf7\x69\x69\x74\xe8\xc8\xe6\xcd\x9b\x69\xee\xed\x3a\ -\x35\x35\x95\xfe\x2b\xc0\x00\xfd\x9e\xd0\xaa\x9d\x63\x34\xae\x00\ -\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\ -\x00\x00\x0b\xdd\ +\x63\x6b\x65\x74\x20\x65\x6e\x64\x3d\x22\x72\x22\x3f\x3e\x83\x53\ +\x5b\xa8\x00\x00\x02\xe0\x49\x44\x41\x54\x78\xda\xc4\x97\x5d\x88\ +\x4d\x51\x14\x80\xcf\x3d\xf7\xc6\x0c\xe6\x87\x51\x1a\x43\x8d\x14\ +\xae\x19\x3f\xe3\xa7\x1b\xde\x66\x42\x89\x32\xf2\xa0\x79\x98\x97\ +\x21\x0f\xc6\x95\xbc\x88\x46\x24\xc9\x4f\xe8\x26\x2f\x46\x29\x49\ +\x1e\x64\x3c\x90\x78\xf0\xf3\xc2\x2d\xa1\xe6\x0e\x93\x22\xf2\x73\ +\xf3\x30\x4d\x83\x49\x46\x5c\xdf\xd2\xbe\x75\xbb\x73\xf6\xbe\xfb\ +\xdc\xb9\x87\x55\x5f\xeb\xfc\xec\xb3\xd6\x3a\x6b\xaf\xb3\xf7\x3a\ +\x21\xc7\x52\xe2\xf1\x78\x15\xaa\x15\x56\x42\x0c\xa6\xc3\x14\x70\ +\xe1\x3b\xbc\x85\x3e\x78\x00\xd7\x13\x89\xc4\x47\x1b\xbb\x21\x0b\ +\xc7\xf3\x50\x5d\xb0\x09\xca\x2c\xe3\xcd\xc0\x6d\x38\x4e\x20\xf7\ +\x8b\x0a\x00\xc7\x95\xa8\x13\xd0\x01\x61\xa7\x78\xe9\x81\x4e\x5d\ +\x46\x42\x1a\xe7\x8b\x25\x8d\x50\xef\x94\x46\x06\xa0\x8d\x20\xee\ +\xe4\xdf\x08\x7b\x38\x6f\x56\xe9\x9b\xe6\x94\x4e\x26\xc0\x96\x58\ +\x2c\xf6\x26\x99\x4c\xf6\x6a\x33\x80\xf3\x26\x55\x44\x15\x4e\x30\ +\xf2\x1b\x36\x90\x89\x5b\xa3\x02\xc0\x79\x35\xea\x99\x45\xda\x87\ +\xe1\x26\x3c\x86\x34\xfc\x84\x19\xb0\x5c\x8c\x43\x65\x81\xe7\x87\ +\x60\x29\x41\xbc\x96\x93\x48\xce\x8d\xa3\x05\x9c\x7f\x85\xc3\x70\ +\x8e\x87\x87\x35\xb5\x53\x8e\xda\x0e\x07\xa1\x4a\x63\x47\xae\x9f\ +\x67\x6c\x0b\x76\x32\x21\xf5\x60\x23\xea\xb9\xa1\xda\x53\xb0\x31\ +\x1b\xb5\xc5\xa7\x3b\x53\x55\xff\x12\xc3\xb0\x56\xec\xf5\xb8\xea\ +\xe4\x15\x6c\x53\x8e\xf2\xa5\x1f\x9a\x6d\x9d\x8b\x30\xf6\xbd\x3c\ +\xa3\x5e\x4a\x27\xfb\xbd\x8a\x50\xce\x57\xc3\x1e\x58\x03\x23\xd0\ +\x84\xc1\x17\xc5\x54\x1c\xf6\x66\xa3\xa4\xea\xcb\x35\x43\x16\x9a\ +\x16\xa2\x05\xa8\xf9\x38\xbf\x3a\x96\xb2\xc7\xce\x21\xd4\x01\xcd\ +\xed\xae\x90\x13\xb0\x10\x40\x2d\xea\x83\xda\x33\xf2\xe5\xae\x1b\ +\x74\x00\x64\x30\x6d\xa8\x85\x68\x84\x08\xeb\x38\x58\x25\x55\xcb\ +\xe0\x91\x80\xe2\x48\x69\xbe\x88\x5a\xc9\xc0\x1c\x90\x79\xfe\x44\ +\x30\xa7\xa0\x21\x80\x00\x06\x35\xd7\xc3\xb2\x10\x4d\x56\x27\x35\ +\xb0\x5b\x20\x88\x47\xe8\x0b\x12\x18\x59\xf9\x56\x82\x00\x6a\x34\ +\xd7\x7f\x49\x06\xaa\x3d\x6e\xac\x80\x6e\x59\x6a\x09\xa6\x1b\x62\ +\x63\x0c\xa0\x51\x73\x3d\x9d\x9b\x01\x2f\x99\xa4\xfa\x81\x0e\x82\ +\x48\xa9\xac\x5c\x22\x2b\x03\x3e\xbe\x02\xd9\x27\x16\x69\x6e\xbf\ +\x74\x0b\x04\x90\xff\x16\xa7\xe1\x22\x46\xcb\x7c\xbc\xfd\x4e\x43\ +\xe3\xf3\x30\xe2\x23\x80\xcf\x52\x1f\xbc\xfd\x15\x1f\x6f\x1f\x45\ +\xed\x32\x0c\xb9\x11\xd1\xd4\x40\xbe\x5c\x86\x1d\x38\x1f\xf2\xe1\ +\x7c\x2a\xea\x1a\x8c\xd7\x0c\x79\x82\xbd\x5e\xdb\x29\x58\x26\xdf\ +\xac\xcf\x3d\x40\x1a\x9b\xa8\x61\xd8\x91\x6c\x3f\x60\x13\xc0\x5c\ +\x78\x8a\x61\x69\x52\xcf\x10\xf9\xa0\xa1\x91\xed\x84\x7d\x30\xd1\ +\x60\xef\x9e\xa4\xff\xef\x6e\xc8\x43\xfd\xca\x81\xad\xfc\x90\x35\ +\x1c\x92\x6a\x8d\x17\xa9\x53\x1d\xd1\x5a\x8b\xd6\x7d\x54\x47\x94\ +\xcd\xc0\x3b\x38\xa9\x52\x63\x6a\xab\x64\x4e\xd7\x2b\x8a\xe9\x09\ +\xdb\x72\x7b\x0b\x57\xa5\xea\x98\xda\x7a\xcf\xaa\xbe\xee\x4b\x00\ +\xcb\xb1\xf4\x8e\xed\xb9\x0d\x69\x76\x0a\x1a\xb8\xd8\xe7\xd1\x0b\ +\xc8\x1c\xcd\x0a\xfa\xbf\xc0\xd4\x90\x54\xa8\x29\xd9\xaa\xd9\xcb\ +\x83\xfb\x33\xf2\xc8\xc6\x5e\xd8\x0c\xe3\xfe\xd9\xbf\xa1\x66\x61\ +\x59\x07\x2d\x6a\x6d\xaf\xcf\x69\xbd\x8b\xff\x3b\xce\x64\x32\xce\ +\xff\x94\x3f\x02\x0c\x00\xbe\x84\xeb\xde\xd4\xad\xd3\x24\x00\x00\ +\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\ +\x00\x00\x07\x88\ +\x89\ +\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ +\x00\x00\x20\x00\x00\x00\x20\x08\x06\x00\x00\x00\x73\x7a\x7a\xf4\ +\x00\x00\x00\x19\x74\x45\x58\x74\x53\x6f\x66\x74\x77\x61\x72\x65\ +\x00\x41\x64\x6f\x62\x65\x20\x49\x6d\x61\x67\x65\x52\x65\x61\x64\ +\x79\x71\xc9\x65\x3c\x00\x00\x03\x71\x69\x54\x58\x74\x58\x4d\x4c\ +\x3a\x63\x6f\x6d\x2e\x61\x64\x6f\x62\x65\x2e\x78\x6d\x70\x00\x00\ +\x00\x00\x00\x3c\x3f\x78\x70\x61\x63\x6b\x65\x74\x20\x62\x65\x67\ +\x69\x6e\x3d\x22\xef\xbb\xbf\x22\x20\x69\x64\x3d\x22\x57\x35\x4d\ +\x30\x4d\x70\x43\x65\x68\x69\x48\x7a\x72\x65\x53\x7a\x4e\x54\x63\ +\x7a\x6b\x63\x39\x64\x22\x3f\x3e\x20\x3c\x78\x3a\x78\x6d\x70\x6d\ +\x65\x74\x61\x20\x78\x6d\x6c\x6e\x73\x3a\x78\x3d\x22\x61\x64\x6f\ +\x62\x65\x3a\x6e\x73\x3a\x6d\x65\x74\x61\x2f\x22\x20\x78\x3a\x78\ +\x6d\x70\x74\x6b\x3d\x22\x41\x64\x6f\x62\x65\x20\x58\x4d\x50\x20\ +\x43\x6f\x72\x65\x20\x35\x2e\x35\x2d\x63\x30\x31\x34\x20\x37\x39\ +\x2e\x31\x35\x31\x34\x38\x31\x2c\x20\x32\x30\x31\x33\x2f\x30\x33\ +\x2f\x31\x33\x2d\x31\x32\x3a\x30\x39\x3a\x31\x35\x20\x20\x20\x20\ +\x20\x20\x20\x20\x22\x3e\x20\x3c\x72\x64\x66\x3a\x52\x44\x46\x20\ +\x78\x6d\x6c\x6e\x73\x3a\x72\x64\x66\x3d\x22\x68\x74\x74\x70\x3a\ +\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x31\x39\x39\ +\x39\x2f\x30\x32\x2f\x32\x32\x2d\x72\x64\x66\x2d\x73\x79\x6e\x74\ +\x61\x78\x2d\x6e\x73\x23\x22\x3e\x20\x3c\x72\x64\x66\x3a\x44\x65\ +\x73\x63\x72\x69\x70\x74\x69\x6f\x6e\x20\x72\x64\x66\x3a\x61\x62\ +\x6f\x75\x74\x3d\x22\x22\x20\x78\x6d\x6c\x6e\x73\x3a\x78\x6d\x70\ +\x4d\x4d\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x6e\x73\x2e\x61\x64\ +\x6f\x62\x65\x2e\x63\x6f\x6d\x2f\x78\x61\x70\x2f\x31\x2e\x30\x2f\ +\x6d\x6d\x2f\x22\x20\x78\x6d\x6c\x6e\x73\x3a\x73\x74\x52\x65\x66\ +\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x6e\x73\x2e\x61\x64\x6f\x62\ +\x65\x2e\x63\x6f\x6d\x2f\x78\x61\x70\x2f\x31\x2e\x30\x2f\x73\x54\ +\x79\x70\x65\x2f\x52\x65\x73\x6f\x75\x72\x63\x65\x52\x65\x66\x23\ +\x22\x20\x78\x6d\x6c\x6e\x73\x3a\x78\x6d\x70\x3d\x22\x68\x74\x74\ +\x70\x3a\x2f\x2f\x6e\x73\x2e\x61\x64\x6f\x62\x65\x2e\x63\x6f\x6d\ +\x2f\x78\x61\x70\x2f\x31\x2e\x30\x2f\x22\x20\x78\x6d\x70\x4d\x4d\ +\x3a\x4f\x72\x69\x67\x69\x6e\x61\x6c\x44\x6f\x63\x75\x6d\x65\x6e\ +\x74\x49\x44\x3d\x22\x78\x6d\x70\x2e\x64\x69\x64\x3a\x63\x34\x37\ +\x39\x66\x62\x31\x39\x2d\x34\x33\x34\x34\x2d\x62\x65\x34\x33\x2d\ +\x39\x39\x31\x31\x2d\x33\x64\x35\x32\x63\x31\x30\x33\x35\x37\x65\ +\x31\x22\x20\x78\x6d\x70\x4d\x4d\x3a\x44\x6f\x63\x75\x6d\x65\x6e\ +\x74\x49\x44\x3d\x22\x78\x6d\x70\x2e\x64\x69\x64\x3a\x30\x31\x43\ +\x33\x45\x33\x41\x37\x35\x39\x38\x35\x31\x31\x45\x33\x42\x46\x41\ +\x33\x46\x46\x39\x46\x44\x38\x42\x31\x45\x45\x45\x30\x22\x20\x78\ +\x6d\x70\x4d\x4d\x3a\x49\x6e\x73\x74\x61\x6e\x63\x65\x49\x44\x3d\ +\x22\x78\x6d\x70\x2e\x69\x69\x64\x3a\x30\x31\x43\x33\x45\x33\x41\ +\x36\x35\x39\x38\x35\x31\x31\x45\x33\x42\x46\x41\x33\x46\x46\x39\ +\x46\x44\x38\x42\x31\x45\x45\x45\x30\x22\x20\x78\x6d\x70\x3a\x43\ +\x72\x65\x61\x74\x6f\x72\x54\x6f\x6f\x6c\x3d\x22\x41\x64\x6f\x62\ +\x65\x20\x50\x68\x6f\x74\x6f\x73\x68\x6f\x70\x20\x43\x43\x20\x28\ +\x57\x69\x6e\x64\x6f\x77\x73\x29\x22\x3e\x20\x3c\x78\x6d\x70\x4d\ +\x4d\x3a\x44\x65\x72\x69\x76\x65\x64\x46\x72\x6f\x6d\x20\x73\x74\ +\x52\x65\x66\x3a\x69\x6e\x73\x74\x61\x6e\x63\x65\x49\x44\x3d\x22\ +\x78\x6d\x70\x2e\x69\x69\x64\x3a\x63\x31\x65\x61\x38\x31\x32\x35\ +\x2d\x65\x62\x64\x64\x2d\x63\x38\x34\x62\x2d\x39\x66\x37\x61\x2d\ +\x30\x36\x39\x39\x32\x39\x38\x64\x62\x39\x33\x63\x22\x20\x73\x74\ +\x52\x65\x66\x3a\x64\x6f\x63\x75\x6d\x65\x6e\x74\x49\x44\x3d\x22\ +\x78\x6d\x70\x2e\x64\x69\x64\x3a\x63\x34\x37\x39\x66\x62\x31\x39\ +\x2d\x34\x33\x34\x34\x2d\x62\x65\x34\x33\x2d\x39\x39\x31\x31\x2d\ +\x33\x64\x35\x32\x63\x31\x30\x33\x35\x37\x65\x31\x22\x2f\x3e\x20\ +\x3c\x2f\x72\x64\x66\x3a\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6f\ +\x6e\x3e\x20\x3c\x2f\x72\x64\x66\x3a\x52\x44\x46\x3e\x20\x3c\x2f\ +\x78\x3a\x78\x6d\x70\x6d\x65\x74\x61\x3e\x20\x3c\x3f\x78\x70\x61\ +\x63\x6b\x65\x74\x20\x65\x6e\x64\x3d\x22\x72\x22\x3f\x3e\x90\x2e\ +\xe6\x71\x00\x00\x03\xad\x49\x44\x41\x54\x78\xda\xbc\x97\x69\x48\ +\x55\x41\x14\xc7\xef\xd3\xd7\x26\x2d\x56\x28\x25\xb6\x88\x49\x54\ +\x52\x7e\x50\xb3\xc5\x28\x69\x5f\xa0\x45\x2a\xa1\x32\xa3\x68\x7f\ +\x24\x45\x44\x82\x96\x85\x96\x08\x81\x12\x51\xbd\xc8\x16\x22\xc2\ +\xea\x43\x1b\xf5\x21\xeb\x4b\x4a\x09\x6a\x52\x10\xd8\x2e\x11\x11\ +\xee\xb8\x96\xf5\x3f\xf0\xbf\x32\x5d\x6e\xef\xde\x6b\xcf\x0e\xfc\ +\x98\xb9\x33\x6f\xce\x9c\x99\x39\x73\xe6\x3c\x97\xc7\xe3\x71\x69\ +\x9a\xe6\x01\xdb\x41\x98\xd6\x3b\x29\x01\xc9\x05\x05\x05\x3f\x9d\ +\x0e\x74\xc1\x80\x43\x28\x73\x41\x3b\x28\x02\x55\xac\xdb\x91\x20\ +\x70\x9a\xf5\xcb\x60\x33\x8c\xf8\xe5\xc4\x00\x37\xd8\x0f\x5a\xc0\ +\x1c\x0c\xae\x70\x32\x18\xc6\x07\xd3\x80\x8f\x60\x13\xa8\x03\xe9\ +\x4e\x77\x40\x2c\x3e\x09\x72\xc0\x08\xd0\xc0\x1d\x18\x65\xf8\xed\ +\x57\x30\x10\x04\xf3\xbb\x9d\xd4\x83\x75\x60\x23\x58\x0e\x32\xb1\ +\x90\x63\x76\x0d\x08\x60\x59\x0e\xb6\x80\xf7\x60\x1f\x48\x60\x5d\ +\x25\x81\x7d\xfa\xf7\x75\x45\x4f\x27\x8d\x10\x5f\xc8\xc6\xa2\x76\ +\x3b\x35\xe0\x07\x28\x03\x47\xc1\x07\xae\x52\xea\x7b\xc1\x02\xd6\ +\x83\xd9\xb7\x02\x6c\xa3\xbf\xf4\x08\x56\xdd\x8a\x62\x25\x78\x2e\ +\x9f\x30\x22\xc5\x89\x01\x1a\x57\x98\x05\x2e\x82\xdb\xac\xcf\xe7\ +\xee\x64\xb1\x4d\xfa\x6a\x41\xb4\x38\x9c\xc1\x97\xc4\x88\x26\x14\ +\x8b\xc1\x6b\x70\x09\x46\x2c\x75\x62\xc0\x53\x3a\x50\x3a\x8f\x23\ +\x02\xdc\xe7\xca\x23\x14\x44\x79\x36\x58\x0f\xf4\x6b\x17\xa3\xec\ +\x84\xf8\x44\x12\xf8\x04\x8a\x61\xc4\x2c\x3b\x4e\xb8\x0a\x8c\x07\ +\xa7\xd8\x5e\x05\x45\x31\xec\x4b\x43\xbd\xc8\xc7\x4d\x10\xcf\x0f\ +\x04\x33\xf1\xbb\x57\x4a\x7b\x38\x8a\x52\x30\x14\x24\xa2\xef\xa5\ +\x95\x01\x0f\xc0\x20\x93\xdf\xb4\x62\x70\xa7\x0f\x03\x32\xe9\x23\ +\xcd\xc0\x0b\xaa\x81\x1e\x0b\x26\x80\x0c\xf0\x0d\xc4\x42\xcf\x67\ +\xb3\x38\xa0\x8b\x38\xd7\x1e\x93\x39\x4e\x60\x92\xc1\x4a\x5f\x0d\ +\x14\x6d\x55\xfa\x8f\x83\x2e\xb0\x83\xb7\xc4\x65\xa2\x23\x14\x44\ +\x02\x9f\x06\x34\xd1\xcb\x8d\xd2\xcd\x09\xf4\xbe\x2f\x06\xef\xef\ +\x66\x24\xcd\xf5\x11\xac\xea\xed\x38\x61\x08\x9d\x49\x38\x4c\x27\ +\x92\x7a\x1e\xb7\x38\x12\x93\x89\xe7\xc7\x42\x69\x25\xf0\x6a\x7e\ +\x10\x75\x07\xe4\x7a\x3d\xe6\x4e\x8c\xe4\xf7\x13\xa5\xbf\x8d\x65\ +\x19\x23\x66\x8d\xbf\x0d\x98\x2c\xf7\x1e\xab\x9c\x8a\xd5\x49\x6c\ +\x1f\xc6\xf6\x5d\x68\xbb\xa6\x6c\x79\xb6\xe6\x47\x51\x0d\x90\x95\ +\x75\xe8\x8e\x07\x06\xb0\x5e\xa9\xf5\xa1\xb8\x95\x95\xc9\x4b\x58\ +\xc1\xfa\x19\xed\x3f\x89\xdb\xc6\x93\x1b\xcb\x64\x25\xa4\x97\x73\ +\xf4\xd3\xaf\x2b\x74\x7d\x67\x5d\x4a\x2f\x16\x5a\xe6\xb6\x98\x7c\ +\x11\x8a\x3b\x8a\x92\x7f\x11\x63\x48\x4e\x83\xfe\xd5\x01\x16\x83\ +\xf2\xfc\x34\xf9\xdf\x42\x40\xbe\x95\x01\x53\x58\x5e\x01\xaa\x5f\ +\xa4\x82\x7b\x60\x1e\x58\xc6\x67\x58\xea\x0f\x59\x4a\x68\x5f\x08\ +\xde\x2a\x63\x6e\xb2\x3d\x19\xbc\xd1\x43\xb5\x95\x01\x81\x2c\xab\ +\x0d\x61\x54\x8e\x25\x8a\x09\x48\x28\x9f\xe0\x12\x25\x97\x94\xa7\ +\xfb\x11\xc3\x6f\xcf\x89\x82\xab\x60\x09\xdf\x0c\x7b\x4e\x48\x69\ +\xe6\x6b\xa9\x4b\x8b\x12\x27\x1a\x95\x47\xac\x93\x01\x4a\x9e\xf4\ +\x70\xe6\x9b\xba\xac\x65\x0e\x21\x21\xfd\x82\x59\x28\xb6\x32\xa0\ +\x3f\xeb\x75\xf0\xde\x2e\x25\x37\x6c\x53\xea\xad\x0c\x68\xf2\x28\ +\x6d\x90\xa4\x84\x93\xde\xe2\xf1\xe4\xf3\xb8\xce\x3b\xdd\x81\x78\ +\x70\x0e\x0c\x91\xc4\x05\xde\x9b\xa4\x04\xaa\x46\xc3\x83\x36\x1a\ +\x8c\x53\x7c\x25\x95\xef\x8a\x24\xbb\x2f\x98\xf6\xc7\xdb\x35\x40\ +\x5e\xb1\xe1\x3c\xbf\x19\xcc\x86\x52\x98\x27\xea\x92\xc3\x14\x4d\ +\xa3\xe3\xcd\x36\xd1\x33\x96\x19\x57\x29\xf3\xcc\x44\xb6\x77\x58\ +\x19\x70\x83\x41\x48\x24\x8e\x18\x65\xae\x52\x9f\xe8\x43\x57\x14\ +\xf9\x43\x7f\x80\xc1\xdb\x8d\x72\x80\xe7\xd7\x17\x72\x57\x76\x43\ +\xdf\x81\x68\xde\x53\xcd\x90\x6c\x88\xb7\xaf\xc1\x99\x87\xf1\xba\ +\xf5\x46\xe4\x48\x0a\x99\xca\x97\xeb\xa1\x18\xba\x6b\xf5\x9c\xb0\ +\x81\xd9\x6d\x1c\x1a\xdf\xf9\x73\x89\xd0\x1d\xc4\x1c\x63\x3a\x98\ +\x66\x96\x98\xca\x0e\x9c\x05\x07\xe5\x0f\x05\x06\x14\x32\xe8\x74\ +\xfb\x61\xfe\x31\x60\x27\x98\x04\x9e\x51\xaf\xe9\x6b\x98\xc1\x2c\ +\x56\x92\xca\x23\x7e\x3e\x67\x89\x17\xc5\x4c\x6a\x4c\xff\x35\xff\ +\x16\x60\x00\x9d\x8f\x25\xe2\xca\x2c\x04\xd4\x00\x00\x00\x00\x49\ +\x45\x4e\x44\xae\x42\x60\x82\ +\x00\x00\x06\xed\ \x89\ \x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ \x00\x00\x20\x00\x00\x00\x20\x08\x06\x00\x00\x00\x73\x7a\x7a\xf4\ @@ -1116,163 +1120,621 @@ \x70\x3a\x2f\x2f\x6e\x73\x2e\x61\x64\x6f\x62\x65\x2e\x63\x6f\x6d\ \x2f\x78\x61\x70\x2f\x31\x2e\x30\x2f\x22\x20\x78\x6d\x70\x4d\x4d\ \x3a\x4f\x72\x69\x67\x69\x6e\x61\x6c\x44\x6f\x63\x75\x6d\x65\x6e\ -\x74\x49\x44\x3d\x22\x78\x6d\x70\x2e\x64\x69\x64\x3a\x62\x62\x65\ -\x34\x65\x39\x38\x62\x2d\x34\x38\x33\x63\x2d\x62\x63\x34\x33\x2d\ -\x62\x62\x33\x65\x2d\x62\x35\x35\x32\x61\x31\x32\x61\x31\x39\x34\ -\x34\x22\x20\x78\x6d\x70\x4d\x4d\x3a\x44\x6f\x63\x75\x6d\x65\x6e\ -\x74\x49\x44\x3d\x22\x78\x6d\x70\x2e\x64\x69\x64\x3a\x46\x45\x41\ -\x33\x45\x41\x46\x33\x46\x42\x33\x36\x31\x31\x45\x32\x38\x32\x41\ -\x46\x42\x43\x32\x46\x33\x38\x39\x30\x41\x43\x34\x36\x22\x20\x78\ +\x74\x49\x44\x3d\x22\x78\x6d\x70\x2e\x64\x69\x64\x3a\x63\x34\x37\ +\x39\x66\x62\x31\x39\x2d\x34\x33\x34\x34\x2d\x62\x65\x34\x33\x2d\ +\x39\x39\x31\x31\x2d\x33\x64\x35\x32\x63\x31\x30\x33\x35\x37\x65\ +\x31\x22\x20\x78\x6d\x70\x4d\x4d\x3a\x44\x6f\x63\x75\x6d\x65\x6e\ +\x74\x49\x44\x3d\x22\x78\x6d\x70\x2e\x64\x69\x64\x3a\x36\x31\x41\ +\x31\x30\x32\x43\x34\x35\x39\x38\x35\x31\x31\x45\x33\x42\x46\x35\ +\x45\x43\x42\x45\x34\x45\x41\x32\x36\x32\x30\x45\x41\x22\x20\x78\ \x6d\x70\x4d\x4d\x3a\x49\x6e\x73\x74\x61\x6e\x63\x65\x49\x44\x3d\ -\x22\x78\x6d\x70\x2e\x69\x69\x64\x3a\x46\x45\x41\x33\x45\x41\x46\ -\x32\x46\x42\x33\x36\x31\x31\x45\x32\x38\x32\x41\x46\x42\x43\x32\ -\x46\x33\x38\x39\x30\x41\x43\x34\x36\x22\x20\x78\x6d\x70\x3a\x43\ +\x22\x78\x6d\x70\x2e\x69\x69\x64\x3a\x36\x31\x41\x31\x30\x32\x43\ +\x33\x35\x39\x38\x35\x31\x31\x45\x33\x42\x46\x35\x45\x43\x42\x45\ +\x34\x45\x41\x32\x36\x32\x30\x45\x41\x22\x20\x78\x6d\x70\x3a\x43\ \x72\x65\x61\x74\x6f\x72\x54\x6f\x6f\x6c\x3d\x22\x41\x64\x6f\x62\ \x65\x20\x50\x68\x6f\x74\x6f\x73\x68\x6f\x70\x20\x43\x43\x20\x28\ \x57\x69\x6e\x64\x6f\x77\x73\x29\x22\x3e\x20\x3c\x78\x6d\x70\x4d\ \x4d\x3a\x44\x65\x72\x69\x76\x65\x64\x46\x72\x6f\x6d\x20\x73\x74\ \x52\x65\x66\x3a\x69\x6e\x73\x74\x61\x6e\x63\x65\x49\x44\x3d\x22\ -\x78\x6d\x70\x2e\x69\x69\x64\x3a\x34\x37\x33\x38\x33\x34\x65\x30\ -\x2d\x62\x62\x61\x65\x2d\x36\x61\x34\x30\x2d\x61\x31\x37\x33\x2d\ -\x39\x31\x66\x37\x31\x33\x66\x61\x38\x32\x36\x31\x22\x20\x73\x74\ +\x78\x6d\x70\x2e\x69\x69\x64\x3a\x63\x31\x65\x61\x38\x31\x32\x35\ +\x2d\x65\x62\x64\x64\x2d\x63\x38\x34\x62\x2d\x39\x66\x37\x61\x2d\ +\x30\x36\x39\x39\x32\x39\x38\x64\x62\x39\x33\x63\x22\x20\x73\x74\ \x52\x65\x66\x3a\x64\x6f\x63\x75\x6d\x65\x6e\x74\x49\x44\x3d\x22\ -\x78\x6d\x70\x2e\x64\x69\x64\x3a\x62\x62\x65\x34\x65\x39\x38\x62\ -\x2d\x34\x38\x33\x63\x2d\x62\x63\x34\x33\x2d\x62\x62\x33\x65\x2d\ -\x62\x35\x35\x32\x61\x31\x32\x61\x31\x39\x34\x34\x22\x2f\x3e\x20\ +\x78\x6d\x70\x2e\x64\x69\x64\x3a\x63\x34\x37\x39\x66\x62\x31\x39\ +\x2d\x34\x33\x34\x34\x2d\x62\x65\x34\x33\x2d\x39\x39\x31\x31\x2d\ +\x33\x64\x35\x32\x63\x31\x30\x33\x35\x37\x65\x31\x22\x2f\x3e\x20\ \x3c\x2f\x72\x64\x66\x3a\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6f\ \x6e\x3e\x20\x3c\x2f\x72\x64\x66\x3a\x52\x44\x46\x3e\x20\x3c\x2f\ \x78\x3a\x78\x6d\x70\x6d\x65\x74\x61\x3e\x20\x3c\x3f\x78\x70\x61\ -\x63\x6b\x65\x74\x20\x65\x6e\x64\x3d\x22\x72\x22\x3f\x3e\x5e\xcf\ -\xe3\xe7\x00\x00\x08\x02\x49\x44\x41\x54\x78\xda\xac\x57\x79\x50\ -\x55\xd7\x1d\xfe\xbd\x7b\xef\xdb\x41\x76\x65\xdf\x57\x41\xa4\x2c\ -\xa6\x2a\xd8\xd4\x82\x08\x89\x44\xa2\x51\x99\x98\xc4\xda\xc9\xf2\ -\x47\xed\x4c\xd3\x24\x7f\xb4\x93\x99\xfc\xd1\x99\x36\x36\x4d\xd3\ -\x56\x53\xd3\x71\x8c\x26\xb8\x26\xa8\x18\x95\xba\x54\x03\x0e\xa8\ -\x55\x90\x28\x44\x59\x02\xc8\xbe\xef\xcb\x7b\xef\x2e\xaf\xdf\xb9\ -\x80\x45\x63\x9e\xcf\x26\x67\xe6\xce\xbd\xe7\xdc\x7b\xce\xf9\xce\ -\xf7\xfb\x7e\xcb\xd5\xb4\xb5\xb5\x51\x59\x69\x29\x05\x47\x44\x1a\ -\x5d\xdd\xdc\xd2\x14\x59\x31\x10\x91\x86\x9c\x6b\xec\x3b\x3b\xc7\ -\x73\xed\x4d\x77\x6e\xd7\xda\x6c\x36\xe2\x38\x8e\x9c\x6d\xbe\xbe\ -\xbe\x24\x7c\x79\xf1\x22\xfd\x7d\xf7\x9e\xc4\x94\x65\xe9\x3b\x8c\ -\x26\xf3\x13\x18\xb7\xe1\x1a\x73\x12\x84\x5d\x12\x45\x33\xcf\xf3\ -\x7d\x75\x35\xb7\x0a\xce\x16\x17\x5d\x43\xdf\x69\x00\xab\x57\xaf\ -\x26\x21\x34\x32\xda\x3b\x65\x69\xfa\x1e\x93\xc9\x25\xa5\xa7\xab\ -\x63\x67\x65\xc5\xa5\x4f\x47\x87\x87\x9d\x05\xa0\xac\x58\x95\xb3\ -\xcf\x37\x20\x30\x2d\x21\x25\xf5\x44\x73\xfd\x9d\xcc\xdb\x37\xab\ -\x6b\xe9\x31\x9a\x00\xda\x97\x19\xcd\x2e\x29\xdd\x9d\xed\xef\xef\ -\xdf\xb5\xe3\x37\xf4\x98\xcd\x32\x35\x65\xe1\x05\xe1\x02\x4e\x9e\ -\x98\x99\x97\x5f\x6c\x99\x9a\xcc\x6c\x6e\xa8\x6f\x71\x1a\x80\xa2\ -\x28\xae\x92\x24\x4e\xde\x6d\x6c\xd8\xb9\x76\xf3\x4b\x2f\xe9\x74\ -\xba\x88\x73\xc5\xc7\xde\x8b\x4b\x4c\xca\x0e\x0c\x0b\x4b\x92\x44\ -\x49\x16\xb4\x02\xdf\xde\xdc\x5c\x8d\xd3\x9d\xc9\x7a\x26\xff\x57\ -\x18\x33\x60\x6c\x1c\xdf\xfd\x45\xa3\xd1\xe8\x3a\x5b\xef\xfe\x7b\ -\xb0\xbf\xef\xb7\x49\x4b\x96\x96\xad\xd9\xb4\xf9\xf8\x17\x87\x0a\ -\x57\x01\x44\xaf\x53\x00\x70\x71\x76\x45\x19\xb1\x59\xad\x23\xe1\ -\xd1\xb1\x3f\xd6\xe9\xf4\xc9\x1c\x5f\xbc\xdd\xc7\xd7\x2f\x3e\x2c\ -\x3a\x36\xd3\xae\xd8\x4d\xbc\xc0\x4b\xd6\x29\x8b\x58\x57\x73\xb3\ -\x24\x22\x76\x61\xae\x2c\xc9\x2e\x1a\x4e\xd3\xa9\xd3\xeb\x3f\xc4\ -\x7c\x19\xe2\x73\x3d\x73\xbc\xe8\x2a\xe6\xe6\x2f\x4c\x4a\x3e\x09\ -\x10\x47\x01\x22\x07\x20\xc6\x1e\x05\xe0\x9e\x64\x39\x48\x19\xb7\ -\x0e\x51\x14\xdb\x73\xd6\x6d\xdc\x1b\x10\x1a\x16\x8f\x7e\x5b\x49\ -\xd1\xe1\x5c\xb0\xf3\x7e\x48\x64\xd4\xe2\x35\x05\x9b\x0b\xf1\xfc\ -\x27\x8c\x3d\x2b\x68\xb5\x7d\x78\x2f\x31\xad\x40\x84\x0a\x0e\x41\ -\xa7\x3e\x3b\x78\xfa\xeb\xea\xaa\x0d\x26\xb3\xcb\x72\x80\x38\x12\ -\x16\x15\xad\x77\x86\x01\xd2\xc0\x75\xa6\x26\xc7\xa9\xa1\xb6\x86\ -\xec\x64\x57\xb0\xb8\x3c\x3e\x3a\x62\x00\x28\xaa\xaf\xbd\x65\xc1\ -\x82\x82\xac\xc8\x46\x9e\xe3\x35\x4d\x75\x77\xb4\x38\x19\x8f\xbb\ -\x11\xac\x71\x98\xcb\x18\xf4\x62\xeb\xc8\xb2\xcc\x40\x7c\x8e\xc7\ -\x2d\x60\x62\x2f\x40\x7c\x0a\x26\x0a\xf0\xbd\xec\x10\x80\x0a\x42\ -\xc3\x91\x56\xa7\x63\x0b\x79\x03\x00\xb5\x36\x35\xbe\x0e\x34\x01\ -\x1b\x7f\xf1\xea\xce\x93\x47\x0e\x6c\xb8\x5a\x76\xf1\xe3\xb9\x13\ -\x0f\xfe\xf3\xc3\xf5\xb3\x9e\xe0\x17\x1c\x92\x15\x16\x15\xe3\xd6\ -\xdc\x50\x37\xc2\x40\x9c\x38\x54\xb8\x0f\x66\x31\x24\x24\xa7\xec\ -\x02\x88\x61\x80\x78\x05\x20\x1c\x9b\x60\xc6\xed\x98\x0b\x5d\xc7\ -\x22\xd7\xdc\x3d\xbd\x6c\xee\x5e\x5e\xa3\x56\xab\xe5\x0a\x84\xf6\ -\x9d\x14\xf2\x1c\x77\x5a\x6f\x30\x04\x3d\xb5\xa1\xe0\x60\xdc\xe2\ -\xa4\xc4\x80\x90\x50\x57\xff\xe0\x10\xf3\xd7\xd5\x95\x7b\x06\x7a\ -\x7b\x7f\x8f\x77\x2f\x67\xac\xca\x79\x17\x77\x9d\x43\x06\xec\x76\ -\x85\x13\x6d\xb6\xaf\xf0\xd8\x09\x33\x10\x04\x16\xc3\x86\x27\xc6\ -\xc6\x2a\x3c\xbd\xe7\xeb\x7e\x92\xfd\x54\x16\xfa\x66\xa8\xdf\x7e\ -\xe1\xd4\x17\xe7\xfb\x7b\xba\x87\xd8\xbc\xeb\x15\x97\x3e\xf0\x0d\ -\x0c\x4a\x31\x9a\x4c\x6b\xf3\x0a\x5e\xc8\x61\x3a\x62\xac\x40\xbc\ -\x76\x78\x97\xc2\x02\x93\x8f\xaf\xff\x5b\xb8\x0e\xb5\xb7\x34\xdd\ -\x78\x28\x00\x26\x20\xa3\xc9\x45\x8a\x8a\x4f\x78\x13\xdd\x0c\x4e\ -\x6d\xbc\x1e\x0b\x4c\xa1\x7f\x45\xb4\xda\x9e\x0f\x8d\x8a\x7e\x1b\ -\x83\x31\x30\x93\x58\x76\xf6\x5f\x4b\x31\xae\x02\x80\x16\xc6\xf7\ -\x7f\xb4\x63\x5d\xca\xd2\x8c\x8c\x79\x1e\x1e\xe1\x8a\x2c\xcf\x15\ -\x9e\x84\x93\x2f\xf0\x0f\x09\x7d\x07\x07\x34\x3a\xc3\x40\x29\xec\ -\x3f\xdc\xd2\x50\x5f\x53\x53\x75\xbd\x24\x67\xfd\xc6\xd7\x70\x02\ -\x1e\xd4\xbe\x65\xb7\xdb\xaf\xdd\x6d\x6c\x7c\x03\xee\xe7\x93\xb9\ -\x66\xed\x8b\x36\xab\x65\x10\x4c\xec\x05\x13\x23\xa0\x5a\x41\x18\ -\x2e\xc5\x32\xa5\x0f\x6e\xb0\x20\x20\x20\x74\xcb\xb6\xd7\x7f\xf7\ -\x48\x11\x32\x0c\xb8\x62\xa1\xea\x54\x08\x72\x1c\x9d\x56\xf4\x17\ -\xe1\xf2\x40\xdf\x55\xaf\x37\xc8\xd8\x74\x1f\xfa\x2e\x60\x6a\x13\ -\xe4\x3f\x74\xe5\xcb\x0b\x9f\xa1\x3f\xe2\xd0\xcd\x04\xad\xe9\x91\ -\x6e\x38\xeb\x05\x46\xb3\x79\xb0\xf5\x9b\xc6\x3f\x80\xe6\xfa\x75\ -\x2f\x6e\xdd\x8f\xb0\x3a\x8c\xb1\xca\x73\xc5\x47\xdf\xc6\x49\xed\ -\x93\x13\x13\x0a\x3e\xad\xac\xba\x52\x7e\x80\x01\xee\xed\xea\x54\ -\xe8\x7b\xb6\x7b\x71\x00\x9b\x11\xa8\xf7\x84\xfb\x31\xb5\x6a\x60\ -\x7f\x6f\xd0\xcf\x62\x42\x1f\xdc\x4b\x1a\x1e\x18\xb8\x37\x09\x4f\ -\x32\xfd\x40\x4d\x98\xa6\x49\xa0\xde\xee\x0e\x6d\xf5\x7f\x2e\x6f\ -\x9b\x7d\x01\x7a\x9f\xfc\x21\x36\x60\x79\x06\xf4\xd2\x8c\xa0\x1d\ -\x9b\xe0\x61\xcd\x6b\xfe\x7c\x82\xc2\x57\x42\xe1\xc9\x50\xb8\x76\ -\x46\x2b\xce\x36\x19\x5e\xe0\x67\x9d\x9c\x14\x56\xe6\xe6\xbd\x62\ -\xb5\x58\x9a\xa6\x65\xa1\xbd\x5b\x76\xb6\xe4\x84\xc5\x62\x19\x17\ -\x1c\xcd\xf6\xf4\xf6\xe1\x9e\x7f\xf5\x97\x7f\x44\x4c\x78\x13\x59\ -\xf3\xff\x62\x00\xf1\x80\x24\xd1\x46\xbe\x01\x41\xaf\xc1\x83\x66\ -\xf2\x0e\x47\x39\xcf\x6d\x2a\xd7\x89\x96\x7c\x87\x00\x52\x97\x67\ -\x2c\x63\x9b\x03\xf9\xff\x2a\x10\x00\x11\x25\x89\x38\x16\xba\xb5\ -\x02\xdc\x97\x48\x64\x55\x10\xd6\xd6\x21\x84\x23\xfe\x80\x6e\x89\ -\x04\x9e\x57\xbf\x9b\x89\x96\x24\x2b\x56\x5c\xb2\xfa\x0d\x6b\xf0\ -\xaa\xe5\xc9\xa9\x69\xdb\x1c\x02\x70\xf3\xf0\x4c\x9e\x7b\x72\x09\ -\x71\xde\xcb\xdd\x8d\xb6\x6c\x58\x47\xf5\xcd\x2d\x74\xac\xe4\x2c\ -\x79\xba\xbb\xd3\x0b\xeb\x0b\xa8\xb3\xbb\x87\x8e\x9c\x38\x4d\x51\ -\xe1\xa1\xb4\x32\x7d\x19\xde\x9d\xa1\xec\x27\x57\x50\x68\x60\x00\ -\x95\x5c\x28\x25\x1e\xc9\x76\x51\x5c\x2c\x15\x16\x1d\x27\x16\xda\ -\xd9\xba\xd0\x45\x9a\xc3\x0a\x12\x39\x81\xbf\x5f\x50\x12\xa5\x3f\ -\x91\xa6\x52\x98\x14\x1f\x47\xf3\x5c\x5d\x60\x50\x9e\x82\xfc\xfd\ -\x28\x33\x63\x39\x45\x84\x06\xab\x27\x0c\xf2\xf3\xa5\x98\x88\x70\ -\x4a\x4f\x4b\xa1\x73\x97\xca\xc1\x92\x9d\xe6\x7b\x7b\x53\x20\xc6\ -\x45\xe9\xbe\x9a\x51\xf3\xa8\x12\xd6\x3e\xf7\xf4\x0b\x7c\xbc\x69\ -\x49\xd2\x62\xba\x51\x73\x9b\x8c\x7a\x03\xc5\x62\x13\x66\x8a\xfe\ -\x81\x41\xaa\xb8\x5e\x45\xcf\xe6\xae\x26\x57\x17\x33\xd9\x60\xf3\ -\xaa\x9b\xb5\x74\xf3\x76\x1d\xc5\x45\x46\x50\x55\x4d\xad\x0a\xcc\ -\x62\xb5\xaa\x26\x9b\xbb\xbe\xd3\x35\x34\xaa\x20\xca\x4c\x5f\xae\ -\x52\x99\xb8\x30\x46\x1d\x4b\x4e\x4c\x20\xbd\x4e\xcb\xd2\x38\x9d\ -\x3c\x7f\x91\x79\x1b\x65\xad\x48\xa7\x89\x29\x8b\xca\xcc\xc7\x87\ -\x3f\x27\x2f\x0f\x77\xda\xba\xe9\x39\x95\x05\xab\xd5\xe6\x30\x1d\ -\x7f\x67\xba\x66\x62\x8a\x0c\x0b\xa1\xf4\x25\x29\xb4\x7b\xff\x61\ -\x7a\xe7\xcf\x7f\xa5\xbd\x47\x8a\x54\x06\x22\x42\x43\xc8\xa0\xd7\ -\x11\x5c\x8a\x8e\x9e\x3e\x43\xc1\x01\xfe\x6a\x61\x12\x1f\x13\x45\ -\xbf\x7e\x79\x2b\x2d\x00\xf5\xa3\x63\xe3\x64\x36\x19\x1f\xf6\xcf\ -\xc0\x39\x14\x21\x4a\xad\xa1\x59\x15\x8f\x4f\x4c\xd0\xdf\xf6\x7c\ -\x42\xcd\x6d\xed\xe4\xe1\xe6\xa6\xde\xff\xf1\xc9\x01\x9a\x98\x9c\ -\xa4\x8e\xae\x6e\xd5\x56\xad\x1d\x9d\xf4\xde\xae\xdd\x30\x81\x48\ -\xdd\x7d\x7d\x78\x37\x1d\x7b\xea\x9b\x9a\xa1\x01\x2f\xd5\x33\xb4\ -\x33\x5e\xa0\xee\xce\xf3\xe3\xc2\xc3\xec\x3d\xdb\x6a\xab\xab\xce\ -\x87\xc7\xc6\x75\xc9\x92\xe4\xd7\x3f\x38\x44\x3d\xfd\x03\xf7\xdc\ -\x88\xa9\xb8\x01\x9e\x30\xed\x62\x8a\x3a\x0e\xc0\xd4\xd8\x72\x57\ -\x55\xb9\x16\xd1\xb5\xa6\xae\x9e\xa5\x59\x75\x53\xe6\x25\x6c\x03\ -\x36\xae\x46\x40\x8c\x8d\x0e\x0f\x15\x0a\x33\x1b\x0b\xa0\xed\x5b\ -\x65\x0f\xea\xc1\xb6\x1b\x97\xcb\xd7\xc7\x2c\x5a\xbc\xdd\x64\x36\ -\xc7\x60\xd3\xfb\x18\x43\x8c\xf8\x16\x6b\x4c\x0f\x73\x9e\xf1\xe7\ -\x24\x21\x18\xc9\x1e\x06\x83\x71\x1c\x81\x88\xb9\x80\x06\x9b\xf7\ -\x5c\x2b\xbf\xb4\xb3\xa9\xca\x76\x8c\x2d\xc8\x12\x8b\x77\x7c\x52\ -\x72\x54\x77\x7b\x5b\xe7\x7d\x6e\x07\x2a\xcf\x16\x1f\xad\xa8\xbc\ -\x5c\xbe\x02\x00\x82\x1f\x04\xe0\xd0\x7d\x58\x40\x12\x45\xcb\x4f\ -\x73\xf3\xd6\x05\x87\x87\x7f\x80\x8c\xfa\xf3\xbe\x9e\xee\x1b\xd3\ -\xb9\x8f\xeb\x69\x6b\x6e\x1a\xcb\xca\xca\x22\x01\x9d\x56\xc4\x78\ -\x31\x36\x31\x69\x7b\x57\x7b\x5b\x7e\xdd\xad\xaf\x3a\x99\x88\xe6\ -\xb6\x81\xde\x1e\x05\x19\xb0\xe5\x71\xc3\x70\xd4\xc2\x84\x40\x77\ -\x2f\xcf\xad\xb0\x89\xa5\xbb\xb3\xa3\x1c\x07\xec\x7a\x40\x63\x24\ -\x0c\x0d\x0c\x5c\x1d\xe8\xef\xff\xc8\x65\xde\xbc\x6d\x3f\x5b\x93\ -\x5f\x13\x97\x94\x7c\x0a\xbf\x5b\x5d\x4e\x78\x88\xc3\x7f\x46\x83\ -\xd1\x18\xe4\x1f\x14\xf2\x34\x8a\x43\x97\x6f\xee\xdc\x79\xf7\xc1\ -\xcd\x59\x9b\x9a\x9a\x22\x41\xb2\x4c\x4a\x46\xbb\xf8\xc6\x8f\x16\ -\xc5\xd7\x81\xb2\xbc\x45\xb1\xd1\x21\xe0\x28\xe4\xfb\xa6\x61\xfb\ -\x74\xa8\x2d\x83\xbd\x8b\xa4\xe1\xfe\x7d\xd9\xd9\xd9\xf4\x60\x75\ -\x9d\x9a\x9a\x4a\xff\x15\x60\x00\x38\xf0\xbb\x5d\x6e\xf5\xd0\xf0\ +\x63\x6b\x65\x74\x20\x65\x6e\x64\x3d\x22\x72\x22\x3f\x3e\xf0\xfb\ +\xe3\xbf\x00\x00\x03\x12\x49\x44\x41\x54\x78\xda\xc4\x97\x59\x68\ +\x14\x41\x10\x86\x67\x36\x6b\x3c\x58\x3c\x50\x30\xa8\xa8\xa0\x46\ +\xe3\x85\x20\xc6\x20\x51\x04\x2f\x54\x44\xd4\x27\xf3\x10\x04\x11\ +\x3c\xe2\x2a\xe2\x8b\x04\x3c\x02\x1e\xa0\x08\xae\x27\x88\x22\x06\ +\x7c\x92\x48\x10\x73\x78\x60\x50\x09\x1e\x08\x12\x95\xa8\x41\xf0\ +\x26\x3e\x88\x9a\x88\x17\xd9\xe8\x57\x50\x23\xcd\xb2\x99\xe9\xdd\ +\x6c\xd6\x82\x2f\x95\xdd\xe9\xa9\xfa\xa7\xa7\xbb\xba\xd6\x75\x2c\ +\x2c\x1a\x8d\xe6\xe0\xe6\xc0\x12\x98\x09\xf9\x30\x54\x2f\xff\x82\ +\x37\xf0\x08\x6e\x40\x75\x2c\x16\x6b\x75\x2c\xcd\x0d\x48\x1c\xc1\ +\x95\xc1\x26\x18\x61\x19\xb3\x03\xae\xc0\x01\x84\xdc\x4d\x5b\x00\ +\xc9\x57\xe2\x8e\xc2\x30\x27\x7d\xbb\x04\xdb\x10\xf2\xca\x88\x3b\ +\x1c\x57\xc1\x77\x6b\x93\x0a\x60\x40\x2f\x5c\x0c\xd6\x3b\x99\xb1\ +\x76\x99\x41\x12\x56\x12\x7b\x22\xff\xd7\xc1\x10\x88\xf0\x5d\xa7\ +\x9b\x90\x3c\x17\x77\x11\x96\x39\x99\xb7\xf3\x1a\x77\x90\x7e\xce\ +\x47\x40\x4b\xc8\x48\x2e\x62\x2e\xf4\x50\x72\xb1\x52\x23\xb9\xd8\ +\x64\xf9\x13\x36\xbe\xd8\x01\xab\x2c\x02\xb5\x41\x03\x3c\x87\x2f\ +\x30\x18\x8a\xa1\x30\x45\x41\x53\x64\x8d\x84\xf5\xe9\x45\x4d\x45\ +\xc0\x0d\xb2\x90\xf6\xc8\x2c\x31\x75\xbf\x93\xac\x9d\x31\xb8\xcd\ +\xb0\x01\x72\x2d\x05\xfc\x9b\x81\x43\x90\x13\xf0\xfe\x64\x21\x7d\ +\xeb\x6a\x00\xd7\x5e\xe2\xb6\x22\x44\x16\xf0\x39\x98\x6d\x23\x20\ +\xc4\x0d\xd3\xf1\x8b\x7c\x06\x9e\x80\x35\x7e\xc9\x13\xec\x35\xb4\ +\x58\x8c\x1b\x4b\xee\x3e\x32\x03\xeb\x7c\x06\xdd\x86\x2d\x24\xff\ +\x63\x59\x31\xfb\xe9\x2e\x5a\x6c\x31\x5c\x66\xbc\x20\xac\xe5\x35\ +\x99\x49\xd2\x32\x92\x77\x58\x26\xef\x8b\xbb\x06\xb3\x52\x59\x88\ +\xb2\x0d\x27\xc0\x02\xd8\x0b\x8d\x10\xd7\x8b\x57\x49\xde\x64\x1b\ +\x89\xb1\x3f\xf4\x61\x96\x6b\x05\x6d\xb6\x11\xe0\x76\x51\xff\x65\ +\x5b\x7d\x22\xe8\x83\xee\x6c\x7c\x2d\xbb\xf3\x0d\xf2\x12\x86\xd4\ +\xbb\x4e\x16\x0d\x41\x93\x0c\x31\x73\xe1\x6b\x56\x05\x24\x88\x91\ +\xf5\x57\x24\xff\x14\xeb\x87\xff\x62\x2e\xc9\xdf\xe1\x07\x68\x79\ +\xbd\x2e\xf0\xee\x9f\x66\x53\x40\x5d\x92\x42\xd4\xea\x89\x51\x41\ +\xef\xbb\x39\xdd\x33\xf4\xcc\xb8\x93\x58\xd0\x44\xc0\x41\xfc\xf6\ +\x80\x18\xcd\x86\xa0\x06\x82\xb4\xa5\x28\xc0\x7b\x48\xd9\xe2\xf7\ +\xe0\xa6\xce\x78\xa3\xd4\x81\xc7\x16\x31\x0a\xf4\xa0\xa9\x86\x5a\ +\x2d\x3a\xb6\xc9\xa7\xe2\x16\x1a\xd5\x4f\x0a\x55\xb9\x16\xad\x67\ +\xb6\x02\x3c\xab\x95\xa2\xa5\x45\xc7\x76\xa5\x1f\xf3\x69\xfd\x6a\ +\x42\x3a\xbd\x9d\x16\xf1\xce\x4a\xb3\x42\xf2\xef\x96\xc9\x25\xe9\ +\x91\x80\x53\xf1\x74\x88\x80\x3f\x2d\x4f\xaf\x71\x30\xca\x32\x79\ +\x44\x8f\xe4\x8d\x3e\xc3\xea\xc9\xfd\xd0\xdb\xff\xf2\x1a\xc6\x07\ +\xc4\x95\x27\x69\x26\xf8\x49\xa9\xf5\x7a\xfe\x3b\x49\x7a\xca\x12\ +\xd8\x05\xa3\x7d\x62\xc5\xbd\x85\xef\xea\x8d\x72\xc3\xee\x14\x77\ +\xd7\x7d\xd9\x56\x72\x66\xc0\x40\x7d\x00\x29\xaf\xfd\x2d\xee\x2d\ +\xe7\x01\xf6\x99\x1d\x51\x53\x1a\xdb\xbb\x30\x8d\x3e\x50\xac\x0a\ +\xf6\x7b\x1f\xbc\xae\xf8\x89\x31\xe0\x33\x54\xf6\x50\xe1\xbb\x0c\ +\xab\xcd\x06\xc7\x13\x20\xef\x53\xb6\xd6\x5b\x39\x8a\x19\x50\xaa\ +\x6d\x74\x7b\x06\x93\x9f\x92\xae\x3b\xb1\xa1\x75\x8d\x05\x74\x06\ +\xb7\xd3\x2c\xbb\x7c\x27\x0b\xe9\x30\xac\xe8\x46\xe2\x0f\x52\xc4\ +\x88\x5b\x95\xf2\x8f\x53\x43\x48\x91\xfe\x6e\x58\x1a\xd0\x3d\x9b\ +\x26\x87\xdc\x71\x29\x44\x7e\x0d\x6d\x4a\xfd\x00\x42\xf2\xb4\xe5\ +\x9a\x07\xd3\x60\x24\xf4\xd6\xcb\x1f\xe1\x85\xd6\xfa\x1a\xb8\x45\ +\xe2\x78\x50\xcc\xbf\x02\x0c\x00\xb3\x4a\xfb\x1f\xcd\xe1\x9d\xc3\ \x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\ +\x00\x00\x07\x89\ +\x89\ +\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ +\x00\x00\x20\x00\x00\x00\x20\x08\x06\x00\x00\x00\x73\x7a\x7a\xf4\ +\x00\x00\x00\x19\x74\x45\x58\x74\x53\x6f\x66\x74\x77\x61\x72\x65\ +\x00\x41\x64\x6f\x62\x65\x20\x49\x6d\x61\x67\x65\x52\x65\x61\x64\ +\x79\x71\xc9\x65\x3c\x00\x00\x03\x71\x69\x54\x58\x74\x58\x4d\x4c\ +\x3a\x63\x6f\x6d\x2e\x61\x64\x6f\x62\x65\x2e\x78\x6d\x70\x00\x00\ +\x00\x00\x00\x3c\x3f\x78\x70\x61\x63\x6b\x65\x74\x20\x62\x65\x67\ +\x69\x6e\x3d\x22\xef\xbb\xbf\x22\x20\x69\x64\x3d\x22\x57\x35\x4d\ +\x30\x4d\x70\x43\x65\x68\x69\x48\x7a\x72\x65\x53\x7a\x4e\x54\x63\ +\x7a\x6b\x63\x39\x64\x22\x3f\x3e\x20\x3c\x78\x3a\x78\x6d\x70\x6d\ +\x65\x74\x61\x20\x78\x6d\x6c\x6e\x73\x3a\x78\x3d\x22\x61\x64\x6f\ +\x62\x65\x3a\x6e\x73\x3a\x6d\x65\x74\x61\x2f\x22\x20\x78\x3a\x78\ +\x6d\x70\x74\x6b\x3d\x22\x41\x64\x6f\x62\x65\x20\x58\x4d\x50\x20\ +\x43\x6f\x72\x65\x20\x35\x2e\x35\x2d\x63\x30\x31\x34\x20\x37\x39\ +\x2e\x31\x35\x31\x34\x38\x31\x2c\x20\x32\x30\x31\x33\x2f\x30\x33\ +\x2f\x31\x33\x2d\x31\x32\x3a\x30\x39\x3a\x31\x35\x20\x20\x20\x20\ +\x20\x20\x20\x20\x22\x3e\x20\x3c\x72\x64\x66\x3a\x52\x44\x46\x20\ +\x78\x6d\x6c\x6e\x73\x3a\x72\x64\x66\x3d\x22\x68\x74\x74\x70\x3a\ +\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x31\x39\x39\ +\x39\x2f\x30\x32\x2f\x32\x32\x2d\x72\x64\x66\x2d\x73\x79\x6e\x74\ +\x61\x78\x2d\x6e\x73\x23\x22\x3e\x20\x3c\x72\x64\x66\x3a\x44\x65\ +\x73\x63\x72\x69\x70\x74\x69\x6f\x6e\x20\x72\x64\x66\x3a\x61\x62\ +\x6f\x75\x74\x3d\x22\x22\x20\x78\x6d\x6c\x6e\x73\x3a\x78\x6d\x70\ +\x4d\x4d\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x6e\x73\x2e\x61\x64\ +\x6f\x62\x65\x2e\x63\x6f\x6d\x2f\x78\x61\x70\x2f\x31\x2e\x30\x2f\ +\x6d\x6d\x2f\x22\x20\x78\x6d\x6c\x6e\x73\x3a\x73\x74\x52\x65\x66\ +\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x6e\x73\x2e\x61\x64\x6f\x62\ +\x65\x2e\x63\x6f\x6d\x2f\x78\x61\x70\x2f\x31\x2e\x30\x2f\x73\x54\ +\x79\x70\x65\x2f\x52\x65\x73\x6f\x75\x72\x63\x65\x52\x65\x66\x23\ +\x22\x20\x78\x6d\x6c\x6e\x73\x3a\x78\x6d\x70\x3d\x22\x68\x74\x74\ +\x70\x3a\x2f\x2f\x6e\x73\x2e\x61\x64\x6f\x62\x65\x2e\x63\x6f\x6d\ +\x2f\x78\x61\x70\x2f\x31\x2e\x30\x2f\x22\x20\x78\x6d\x70\x4d\x4d\ +\x3a\x4f\x72\x69\x67\x69\x6e\x61\x6c\x44\x6f\x63\x75\x6d\x65\x6e\ +\x74\x49\x44\x3d\x22\x78\x6d\x70\x2e\x64\x69\x64\x3a\x63\x34\x37\ +\x39\x66\x62\x31\x39\x2d\x34\x33\x34\x34\x2d\x62\x65\x34\x33\x2d\ +\x39\x39\x31\x31\x2d\x33\x64\x35\x32\x63\x31\x30\x33\x35\x37\x65\ +\x31\x22\x20\x78\x6d\x70\x4d\x4d\x3a\x44\x6f\x63\x75\x6d\x65\x6e\ +\x74\x49\x44\x3d\x22\x78\x6d\x70\x2e\x64\x69\x64\x3a\x44\x39\x41\ +\x43\x30\x30\x39\x35\x35\x39\x38\x44\x31\x31\x45\x33\x41\x41\x46\ +\x43\x43\x39\x35\x30\x31\x33\x33\x31\x41\x30\x30\x39\x22\x20\x78\ +\x6d\x70\x4d\x4d\x3a\x49\x6e\x73\x74\x61\x6e\x63\x65\x49\x44\x3d\ +\x22\x78\x6d\x70\x2e\x69\x69\x64\x3a\x44\x39\x41\x43\x30\x30\x39\ +\x34\x35\x39\x38\x44\x31\x31\x45\x33\x41\x41\x46\x43\x43\x39\x35\ +\x30\x31\x33\x33\x31\x41\x30\x30\x39\x22\x20\x78\x6d\x70\x3a\x43\ +\x72\x65\x61\x74\x6f\x72\x54\x6f\x6f\x6c\x3d\x22\x41\x64\x6f\x62\ +\x65\x20\x50\x68\x6f\x74\x6f\x73\x68\x6f\x70\x20\x43\x43\x20\x28\ +\x57\x69\x6e\x64\x6f\x77\x73\x29\x22\x3e\x20\x3c\x78\x6d\x70\x4d\ +\x4d\x3a\x44\x65\x72\x69\x76\x65\x64\x46\x72\x6f\x6d\x20\x73\x74\ +\x52\x65\x66\x3a\x69\x6e\x73\x74\x61\x6e\x63\x65\x49\x44\x3d\x22\ +\x78\x6d\x70\x2e\x69\x69\x64\x3a\x36\x63\x33\x30\x35\x65\x36\x65\ +\x2d\x66\x31\x33\x66\x2d\x35\x65\x34\x38\x2d\x62\x37\x32\x65\x2d\ +\x33\x31\x38\x39\x62\x37\x63\x66\x34\x66\x34\x38\x22\x20\x73\x74\ +\x52\x65\x66\x3a\x64\x6f\x63\x75\x6d\x65\x6e\x74\x49\x44\x3d\x22\ +\x78\x6d\x70\x2e\x64\x69\x64\x3a\x63\x34\x37\x39\x66\x62\x31\x39\ +\x2d\x34\x33\x34\x34\x2d\x62\x65\x34\x33\x2d\x39\x39\x31\x31\x2d\ +\x33\x64\x35\x32\x63\x31\x30\x33\x35\x37\x65\x31\x22\x2f\x3e\x20\ +\x3c\x2f\x72\x64\x66\x3a\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6f\ +\x6e\x3e\x20\x3c\x2f\x72\x64\x66\x3a\x52\x44\x46\x3e\x20\x3c\x2f\ +\x78\x3a\x78\x6d\x70\x6d\x65\x74\x61\x3e\x20\x3c\x3f\x78\x70\x61\ +\x63\x6b\x65\x74\x20\x65\x6e\x64\x3d\x22\x72\x22\x3f\x3e\x3e\x1d\ +\x49\x08\x00\x00\x03\xae\x49\x44\x41\x54\x78\xda\xbc\x97\x69\x48\ +\x54\x51\x14\xc7\xdf\x8c\x93\x95\x59\x4d\x8b\x11\x52\xe0\x46\xb4\ +\x59\x7e\x50\xb2\x15\x22\xcb\x16\x82\xf6\x0d\x5a\x8c\x16\x93\x8a\ +\xa4\x85\xc8\xd0\xb2\xc8\x32\xa1\x0f\x12\x51\x08\x69\x1b\x11\x56\ +\x1f\x8c\x82\xc8\x16\xa8\x94\x92\xd4\xac\x88\xb0\xcd\x24\x22\x4a\ +\xc5\x6c\x52\x4b\xeb\x7f\xe0\xff\xe4\xf6\x78\xce\xcc\x9b\xc6\x0e\ +\xfc\xb8\xf7\xdd\xfb\xde\xbd\xff\x7b\xe7\xdc\x73\xcf\xd8\x76\x9e\ +\x2d\xb1\x69\x9a\xb6\x15\x6c\x04\xa1\x9a\x6f\x76\x07\x2c\x3a\xba\ +\x72\x7c\x9b\xd5\x0f\x6d\x10\xb0\x1b\x65\x16\x68\x06\xf9\xa0\x92\ +\x75\x6f\x2c\x08\x1c\x67\xbd\x00\x24\x41\xc4\x6f\x2b\x02\x1c\x60\ +\x3b\x68\x02\x53\xf0\x71\xb9\x95\x8f\x21\xde\x49\x01\xef\xc1\x6a\ +\x50\x0f\x52\xad\xee\x80\x28\x3e\x02\x0e\x81\xfe\xa0\x81\x3b\x30\ +\xd8\xf0\xee\x27\xd0\x03\x38\xf9\xdc\x4c\x64\xd2\xa5\x60\x15\x98\ +\x03\xd2\xb1\x90\x03\xde\x0a\xb0\xb3\x2c\x03\x6b\xc1\x5b\xb0\x0d\ +\xc4\xb3\xae\x12\xcf\x3e\xfd\xf9\xa2\x32\x4e\x2b\x58\x42\x5f\xc8\ +\xc4\xa2\x52\xac\x0a\xf8\x05\x4a\xc1\x7e\xf0\x8e\xab\x94\xfa\x16\ +\x30\x9d\x75\x27\xfb\xe6\x82\xf5\xf4\x97\x0e\xc3\xaa\x5d\x28\xe6\ +\x81\x47\x20\x17\x22\x96\x5b\x11\xa0\x71\x85\x19\xe0\x34\xb8\xca\ +\x7a\x02\x77\x27\x83\x6d\xd2\x57\x0b\x46\x83\x35\x06\x5f\x12\x11\ +\x8d\x28\x66\x82\x17\xe2\x94\x10\x31\xdb\x8a\x80\x7b\x74\xa0\x54\ +\xfe\x1c\xe1\xe0\x3a\x57\x1e\xae\x20\x83\x67\x82\x65\x40\x3f\x76\ +\x31\xca\x4e\x88\x4f\x4c\x03\x35\xa0\x10\x22\x26\x7a\xe3\x84\xf3\ +\x41\x18\x38\xc6\xf6\x4a\x0c\x14\xc3\x3e\x39\x5a\xf9\x6e\x4e\x42\ +\x1d\x8a\x00\x30\x01\xef\x3d\x57\xda\x87\xa0\x28\x01\x7d\xc0\x64\ +\xf4\x3d\xf5\x24\xe0\x06\xe8\x69\xf2\x8e\x0b\x1f\xb7\xba\x11\x90\ +\x4e\x1f\xf9\x06\xf2\x40\x15\xd0\x63\x41\x14\x48\x03\x9f\x41\x2c\ +\xc6\xf9\x60\x16\x07\x74\x13\xe7\xda\x6c\x32\xc7\x61\x4c\x12\xac\ +\xf4\x55\x63\xa0\x75\x4a\xff\x41\xf0\x13\x24\xf3\x94\xd8\x4c\xc6\ +\x18\x04\x22\x81\x5b\x01\x8d\xf4\x72\xa3\xb5\x73\x02\xbd\xef\xa3\ +\xc1\xfb\xdb\x19\x49\xb3\xdc\x04\xab\x7a\x6f\x9c\x30\x84\xce\x24\ +\xec\xa1\x13\x49\x3d\x9b\x5b\x1c\x89\xc9\xc4\xf3\x63\x31\x68\x05\ +\xc8\xd3\xfc\x60\xea\x0e\xc8\xf1\xba\xcd\x9d\x18\xc0\xe7\xbb\x4a\ +\xff\x0f\x96\xa5\x8c\x98\xd5\xfe\x16\x30\x52\xce\x3d\x56\x39\x06\ +\xab\x93\xd8\xde\x97\xed\x29\x68\xbb\xa0\x6c\x79\xa6\xe6\x47\x53\ +\x05\xc8\xca\x5a\x74\xc7\x03\xdd\x59\xaf\xd0\xba\xd0\x1c\xca\xca\ +\xe4\x26\x2c\x67\xfd\x84\xf6\x9f\xcc\xe1\xc5\x95\x1b\xcb\x64\x25\ +\xc4\xc7\x39\xba\xe9\xc7\x15\x63\x7d\x61\x5d\xca\x3c\x2c\xb4\xd4\ +\xe1\x61\xf2\x44\x14\x45\xca\x20\xff\x62\xc6\x90\x9c\x84\xf1\x17\ +\xd8\x3d\x7c\x94\xed\xa7\xc9\x3b\x0b\x01\x39\x9e\x04\x8c\x32\x69\ +\x2b\x62\xe2\xf1\x8c\xcf\xaf\xf9\x5c\xcc\xe7\x27\x8c\x8e\x4d\xcc\ +\x92\x12\x18\xa2\x2b\x79\xc9\xa9\x16\xe5\x49\x40\x80\xe1\x59\x62\ +\xbc\xc4\xfe\x68\x70\x8e\x6d\x75\x14\x93\xcc\x53\x24\xe1\xf6\x15\ +\xef\x96\x97\xe0\x16\x85\x48\xa6\xf5\xc0\x5d\x24\xf4\xc6\x24\x0b\ +\x1a\xc8\xeb\xf6\x3c\x05\x49\x22\x12\x07\xa6\x32\x1c\xbb\x78\x03\ +\xca\xdd\x12\x08\xf6\xf1\x67\x74\x31\x89\xf5\x59\x40\x1b\x13\x13\ +\x39\x15\x0f\x79\x73\x16\x33\x72\xf6\xa6\xbf\x14\x70\x37\x82\x99\ +\x3f\xde\x64\x7c\xc9\x01\xdf\x41\x2f\xcb\xc7\x50\xb1\x53\x60\xb8\ +\x72\xe9\xc8\xa4\x67\x40\x22\x57\xea\xa4\x88\x15\x60\x2f\x93\x99\ +\x06\xf6\x7d\x65\xf8\x0e\xb4\x2a\x40\x6e\xb1\x7e\xac\x47\xd3\xd9\ +\x3a\x8e\x11\x78\x0c\x86\x81\xb1\x6c\x5b\xcc\xd5\x47\x30\x92\xde\ +\x07\x1b\x98\xa6\xd5\x30\x95\x53\xad\xc5\x93\x80\x4b\x0c\x42\x62\ +\x93\x0c\x7d\x22\x6c\x86\xc9\x37\xb3\x94\x7a\x98\x52\x8f\x20\x7f\ +\x8d\x6f\xef\xc4\xdb\x75\xdb\x01\xae\x74\x51\x1c\xb8\x26\x59\xb7\ +\xbe\x03\xb2\x35\x97\x8d\x6f\x20\x54\xca\x59\x5e\x88\x88\x15\xca\ +\xac\xc6\x17\x93\x9d\xcb\x65\x2a\x5f\xa6\x87\x62\x8c\x5d\xab\xe7\ +\x84\x0d\xf4\xf0\x38\x34\xbe\xf1\xe7\x12\x31\x76\x10\x73\x8c\x71\ +\xe2\x27\x66\x89\xa9\xec\xc0\x49\xb0\x4b\xfe\x50\xe0\x83\x5c\x26\ +\x95\xed\x7e\x98\x7f\x28\xd8\x04\x46\xf0\xd8\x56\x75\x76\x1b\xa6\ +\x31\xa0\x24\x33\x68\xf8\xd3\x24\x97\x2c\x64\x52\x63\xfa\xaf\xf9\ +\x8f\x00\x03\x00\xa7\xa0\x22\x71\x6e\x63\x94\xd3\x00\x00\x00\x00\ +\x49\x45\x4e\x44\xae\x42\x60\x82\ +\x00\x00\x06\xed\ +\x89\ +\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ +\x00\x00\x20\x00\x00\x00\x20\x08\x06\x00\x00\x00\x73\x7a\x7a\xf4\ +\x00\x00\x00\x19\x74\x45\x58\x74\x53\x6f\x66\x74\x77\x61\x72\x65\ +\x00\x41\x64\x6f\x62\x65\x20\x49\x6d\x61\x67\x65\x52\x65\x61\x64\ +\x79\x71\xc9\x65\x3c\x00\x00\x03\x71\x69\x54\x58\x74\x58\x4d\x4c\ +\x3a\x63\x6f\x6d\x2e\x61\x64\x6f\x62\x65\x2e\x78\x6d\x70\x00\x00\ +\x00\x00\x00\x3c\x3f\x78\x70\x61\x63\x6b\x65\x74\x20\x62\x65\x67\ +\x69\x6e\x3d\x22\xef\xbb\xbf\x22\x20\x69\x64\x3d\x22\x57\x35\x4d\ +\x30\x4d\x70\x43\x65\x68\x69\x48\x7a\x72\x65\x53\x7a\x4e\x54\x63\ +\x7a\x6b\x63\x39\x64\x22\x3f\x3e\x20\x3c\x78\x3a\x78\x6d\x70\x6d\ +\x65\x74\x61\x20\x78\x6d\x6c\x6e\x73\x3a\x78\x3d\x22\x61\x64\x6f\ +\x62\x65\x3a\x6e\x73\x3a\x6d\x65\x74\x61\x2f\x22\x20\x78\x3a\x78\ +\x6d\x70\x74\x6b\x3d\x22\x41\x64\x6f\x62\x65\x20\x58\x4d\x50\x20\ +\x43\x6f\x72\x65\x20\x35\x2e\x35\x2d\x63\x30\x31\x34\x20\x37\x39\ +\x2e\x31\x35\x31\x34\x38\x31\x2c\x20\x32\x30\x31\x33\x2f\x30\x33\ +\x2f\x31\x33\x2d\x31\x32\x3a\x30\x39\x3a\x31\x35\x20\x20\x20\x20\ +\x20\x20\x20\x20\x22\x3e\x20\x3c\x72\x64\x66\x3a\x52\x44\x46\x20\ +\x78\x6d\x6c\x6e\x73\x3a\x72\x64\x66\x3d\x22\x68\x74\x74\x70\x3a\ +\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x31\x39\x39\ +\x39\x2f\x30\x32\x2f\x32\x32\x2d\x72\x64\x66\x2d\x73\x79\x6e\x74\ +\x61\x78\x2d\x6e\x73\x23\x22\x3e\x20\x3c\x72\x64\x66\x3a\x44\x65\ +\x73\x63\x72\x69\x70\x74\x69\x6f\x6e\x20\x72\x64\x66\x3a\x61\x62\ +\x6f\x75\x74\x3d\x22\x22\x20\x78\x6d\x6c\x6e\x73\x3a\x78\x6d\x70\ +\x4d\x4d\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x6e\x73\x2e\x61\x64\ +\x6f\x62\x65\x2e\x63\x6f\x6d\x2f\x78\x61\x70\x2f\x31\x2e\x30\x2f\ +\x6d\x6d\x2f\x22\x20\x78\x6d\x6c\x6e\x73\x3a\x73\x74\x52\x65\x66\ +\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x6e\x73\x2e\x61\x64\x6f\x62\ +\x65\x2e\x63\x6f\x6d\x2f\x78\x61\x70\x2f\x31\x2e\x30\x2f\x73\x54\ +\x79\x70\x65\x2f\x52\x65\x73\x6f\x75\x72\x63\x65\x52\x65\x66\x23\ +\x22\x20\x78\x6d\x6c\x6e\x73\x3a\x78\x6d\x70\x3d\x22\x68\x74\x74\ +\x70\x3a\x2f\x2f\x6e\x73\x2e\x61\x64\x6f\x62\x65\x2e\x63\x6f\x6d\ +\x2f\x78\x61\x70\x2f\x31\x2e\x30\x2f\x22\x20\x78\x6d\x70\x4d\x4d\ +\x3a\x4f\x72\x69\x67\x69\x6e\x61\x6c\x44\x6f\x63\x75\x6d\x65\x6e\ +\x74\x49\x44\x3d\x22\x78\x6d\x70\x2e\x64\x69\x64\x3a\x63\x34\x37\ +\x39\x66\x62\x31\x39\x2d\x34\x33\x34\x34\x2d\x62\x65\x34\x33\x2d\ +\x39\x39\x31\x31\x2d\x33\x64\x35\x32\x63\x31\x30\x33\x35\x37\x65\ +\x31\x22\x20\x78\x6d\x70\x4d\x4d\x3a\x44\x6f\x63\x75\x6d\x65\x6e\ +\x74\x49\x44\x3d\x22\x78\x6d\x70\x2e\x64\x69\x64\x3a\x35\x34\x30\ +\x45\x44\x39\x43\x31\x35\x39\x38\x35\x31\x31\x45\x33\x39\x39\x43\ +\x37\x38\x31\x46\x35\x33\x32\x45\x32\x43\x37\x44\x43\x22\x20\x78\ +\x6d\x70\x4d\x4d\x3a\x49\x6e\x73\x74\x61\x6e\x63\x65\x49\x44\x3d\ +\x22\x78\x6d\x70\x2e\x69\x69\x64\x3a\x35\x34\x30\x45\x44\x39\x43\ +\x30\x35\x39\x38\x35\x31\x31\x45\x33\x39\x39\x43\x37\x38\x31\x46\ +\x35\x33\x32\x45\x32\x43\x37\x44\x43\x22\x20\x78\x6d\x70\x3a\x43\ +\x72\x65\x61\x74\x6f\x72\x54\x6f\x6f\x6c\x3d\x22\x41\x64\x6f\x62\ +\x65\x20\x50\x68\x6f\x74\x6f\x73\x68\x6f\x70\x20\x43\x43\x20\x28\ +\x57\x69\x6e\x64\x6f\x77\x73\x29\x22\x3e\x20\x3c\x78\x6d\x70\x4d\ +\x4d\x3a\x44\x65\x72\x69\x76\x65\x64\x46\x72\x6f\x6d\x20\x73\x74\ +\x52\x65\x66\x3a\x69\x6e\x73\x74\x61\x6e\x63\x65\x49\x44\x3d\x22\ +\x78\x6d\x70\x2e\x69\x69\x64\x3a\x63\x31\x65\x61\x38\x31\x32\x35\ +\x2d\x65\x62\x64\x64\x2d\x63\x38\x34\x62\x2d\x39\x66\x37\x61\x2d\ +\x30\x36\x39\x39\x32\x39\x38\x64\x62\x39\x33\x63\x22\x20\x73\x74\ +\x52\x65\x66\x3a\x64\x6f\x63\x75\x6d\x65\x6e\x74\x49\x44\x3d\x22\ +\x78\x6d\x70\x2e\x64\x69\x64\x3a\x63\x34\x37\x39\x66\x62\x31\x39\ +\x2d\x34\x33\x34\x34\x2d\x62\x65\x34\x33\x2d\x39\x39\x31\x31\x2d\ +\x33\x64\x35\x32\x63\x31\x30\x33\x35\x37\x65\x31\x22\x2f\x3e\x20\ +\x3c\x2f\x72\x64\x66\x3a\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6f\ +\x6e\x3e\x20\x3c\x2f\x72\x64\x66\x3a\x52\x44\x46\x3e\x20\x3c\x2f\ +\x78\x3a\x78\x6d\x70\x6d\x65\x74\x61\x3e\x20\x3c\x3f\x78\x70\x61\ +\x63\x6b\x65\x74\x20\x65\x6e\x64\x3d\x22\x72\x22\x3f\x3e\xce\x34\ +\xc5\x6a\x00\x00\x03\x12\x49\x44\x41\x54\x78\xda\xc4\x97\x7b\x68\ +\x8d\x71\x18\xc7\xdf\xf7\xec\x98\x4b\x27\x97\x28\x0b\xa1\x30\xe6\ +\x96\x92\x59\x1a\xa9\xb9\x84\x24\xfc\x65\x7f\x2c\x91\x62\x26\x92\ +\x7f\xb4\x72\x59\xb9\x14\x29\xb7\x51\xb2\x64\xe5\x2f\x4d\x4b\x76\ +\x71\xc9\x42\xcb\x25\xa5\xa1\x83\xa5\xdc\x9b\x3f\x84\x4d\x6e\xed\ +\x8c\xcf\x53\xcf\xab\x5f\xa7\xb3\xf7\xfd\x9d\xcb\xe6\xa9\xcf\x9e\ +\x9d\xf3\xfe\xde\xe7\xf9\xbe\xbf\xf7\xf7\x7b\x7e\xcf\x71\x1d\x0b\ +\xbb\x51\xb9\x2e\x0b\x37\x0f\x96\xc2\x6c\xc8\x85\xe1\x7a\xf9\x17\ +\xbc\x81\x47\x32\x14\x6a\x8b\x4a\xab\xda\x1c\x4b\x73\x03\x12\x47\ +\x70\x65\xb0\x19\x46\x59\xc6\xec\x84\x2b\x70\x10\x21\x77\x53\x16\ +\x40\xf2\x55\xb8\xe3\x30\xc2\x49\xdd\x2e\xc1\x76\x84\xbc\x32\xe2\ +\x8e\xc4\x55\xf0\xdd\xfa\x84\x02\x18\xd0\x07\x77\x0c\x36\x3a\x99\ +\xb1\x0e\x99\x41\x12\x56\x13\x7b\x32\xff\x37\xc0\x30\x88\xf0\x5d\ +\x97\x1b\x97\x3c\x1b\x77\x11\x96\x3b\x99\xb7\xf3\x1a\x77\x88\x7e\ +\xce\x45\x40\x6b\xc8\x48\x2e\x62\x2e\xf4\x50\x72\xb1\x12\x23\xb9\ +\xd8\x54\xf9\x13\x36\xbe\xd8\x09\xab\x2d\x02\xb5\x43\x13\x3c\x87\ +\x2f\x30\x14\x0a\x21\x3f\x49\x41\xd3\x64\x8d\x84\xf5\xe9\x45\x4d\ +\x45\xc0\x0d\xb2\x90\xf6\xca\x2c\x31\x75\xbf\x13\xac\x9d\x71\xb8\ +\x2d\xb0\x09\xb2\x2d\x05\xfc\x9b\x81\xc3\x90\x15\xf0\xfe\x64\x21\ +\x7d\xeb\x6e\x00\xd7\x5e\xe2\xb6\x21\x44\x16\xf0\x39\x98\x6b\x23\ +\x20\xc4\x0d\x33\xf1\x8b\x7d\x06\x56\xc2\x5a\xbf\xe4\x71\xf6\x1a\ +\x5a\x2d\xc6\x8d\x27\x77\x3f\x99\x81\x0d\x3e\x83\x6e\xc3\x56\x92\ +\xff\xb1\xac\x98\x03\x74\x17\x2d\xb1\x18\x2e\x33\x9e\x17\xd6\xf2\ +\x9a\xc8\x24\x69\x19\xc9\x3b\x2d\x93\xf7\xc7\x5d\x83\x39\xc9\x2c\ +\x44\xd9\x86\x93\x60\x21\xec\x83\x66\x88\xe9\xc5\xab\x24\x6f\xb1\ +\x8d\xc4\xd8\x1f\xfa\x30\x2b\xb4\x82\x46\x6d\x04\xb8\xdd\xd4\x7f\ +\xd9\x56\x9f\x08\xfa\x20\x9d\x8d\xaf\x65\x77\x81\x41\x4e\xdc\x90\ +\x46\xd7\xe9\x45\x43\xd0\x14\x43\xcc\x7c\xf8\xda\xab\x02\xe2\xc4\ +\xc8\xfa\x2b\x90\x7f\x0a\xf5\xc3\x7f\x31\x97\xe4\xef\xf0\x83\xb4\ +\xbc\x5e\x17\x78\xf7\x4f\x7b\x53\x40\x43\x82\x42\xd4\xe6\x89\x51\ +\x41\xef\xd3\x9c\xee\x59\x7a\x66\xdc\x89\x2f\x68\x22\xe0\x10\x7e\ +\x47\x40\x8c\xa8\x21\xa8\x89\x20\xed\x49\x0a\xf0\x1e\x52\xb6\xf8\ +\x3d\xb8\xa9\x33\xde\x2c\x75\xe0\xb1\x45\x8c\x3c\x3d\x68\x6a\xa1\ +\x5e\x8b\x8e\x6d\xf2\xe9\xb8\x45\x46\xf5\x93\x42\x55\xae\x45\xeb\ +\x99\xad\x00\xcf\xea\xa5\x68\x69\xd1\xb1\x5d\xe9\x27\x7c\x5a\xbf\ +\xba\x90\x4e\x6f\x97\x45\xbc\x2a\x69\x56\x48\xfe\xdd\x32\xb9\x24\ +\x3d\x1a\x70\x2a\x9e\x09\x11\xf0\xa7\xe5\xe9\x35\x01\xc6\x58\x26\ +\x8f\xe8\x91\x5c\xea\x33\xac\x91\xdc\x0f\xbd\xfd\x2f\xaf\x61\x62\ +\x40\x5c\x79\x92\x28\xc1\x4f\x49\xad\xd7\xf3\xdf\x49\xd0\x53\x16\ +\xc3\x6e\x18\xeb\x13\x2b\xe6\x2d\x7c\x57\x6f\x94\x1b\xf6\x24\xb9\ +\xbb\xee\xcb\xb6\x92\x33\x03\x06\xeb\x03\x48\x79\x1d\x68\x71\x6f\ +\x39\x0f\xb0\xdf\xec\x88\x5a\x52\xd8\xde\xf9\x29\xf4\x81\x62\x35\ +\x70\xc0\xfb\xe0\x75\xc5\x4f\x8c\x01\x9f\xa1\xba\x87\x0a\xdf\x65\ +\x58\x63\x36\x38\x9e\x00\x79\x9f\xb2\xb5\xde\xca\x51\xcc\x80\x12\ +\x6d\xa3\x3b\x32\x98\xfc\xb4\x74\xdd\xf1\x0d\xad\x6b\x2c\xa0\xb3\ +\xb8\x5d\x66\xd9\xe5\x3b\x59\x48\x47\x60\x65\x1a\x89\x3f\x48\x11\ +\x23\x6e\x4d\xd2\x3f\x4e\x0d\x21\x05\xfa\xbb\x61\x59\x40\xf7\x6c\ +\x9a\x1c\x72\x27\xa5\x10\xf9\x35\xb4\x49\xf5\x03\x08\xc9\xd1\x96\ +\xab\x08\x66\xc0\x68\xe8\xab\x97\x3f\xc2\x0b\xad\xf5\x75\x70\x8b\ +\xc4\xb1\xa0\x98\x7f\x05\x18\x00\x90\xb5\xfd\x36\x34\xeb\xb9\xe4\ +\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\ +\x00\x00\x06\xa4\ +\x89\ +\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ +\x00\x00\x20\x00\x00\x00\x20\x08\x06\x00\x00\x00\x73\x7a\x7a\xf4\ +\x00\x00\x00\x19\x74\x45\x58\x74\x53\x6f\x66\x74\x77\x61\x72\x65\ +\x00\x41\x64\x6f\x62\x65\x20\x49\x6d\x61\x67\x65\x52\x65\x61\x64\ +\x79\x71\xc9\x65\x3c\x00\x00\x03\x71\x69\x54\x58\x74\x58\x4d\x4c\ +\x3a\x63\x6f\x6d\x2e\x61\x64\x6f\x62\x65\x2e\x78\x6d\x70\x00\x00\ +\x00\x00\x00\x3c\x3f\x78\x70\x61\x63\x6b\x65\x74\x20\x62\x65\x67\ +\x69\x6e\x3d\x22\xef\xbb\xbf\x22\x20\x69\x64\x3d\x22\x57\x35\x4d\ +\x30\x4d\x70\x43\x65\x68\x69\x48\x7a\x72\x65\x53\x7a\x4e\x54\x63\ +\x7a\x6b\x63\x39\x64\x22\x3f\x3e\x20\x3c\x78\x3a\x78\x6d\x70\x6d\ +\x65\x74\x61\x20\x78\x6d\x6c\x6e\x73\x3a\x78\x3d\x22\x61\x64\x6f\ +\x62\x65\x3a\x6e\x73\x3a\x6d\x65\x74\x61\x2f\x22\x20\x78\x3a\x78\ +\x6d\x70\x74\x6b\x3d\x22\x41\x64\x6f\x62\x65\x20\x58\x4d\x50\x20\ +\x43\x6f\x72\x65\x20\x35\x2e\x35\x2d\x63\x30\x31\x34\x20\x37\x39\ +\x2e\x31\x35\x31\x34\x38\x31\x2c\x20\x32\x30\x31\x33\x2f\x30\x33\ +\x2f\x31\x33\x2d\x31\x32\x3a\x30\x39\x3a\x31\x35\x20\x20\x20\x20\ +\x20\x20\x20\x20\x22\x3e\x20\x3c\x72\x64\x66\x3a\x52\x44\x46\x20\ +\x78\x6d\x6c\x6e\x73\x3a\x72\x64\x66\x3d\x22\x68\x74\x74\x70\x3a\ +\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x31\x39\x39\ +\x39\x2f\x30\x32\x2f\x32\x32\x2d\x72\x64\x66\x2d\x73\x79\x6e\x74\ +\x61\x78\x2d\x6e\x73\x23\x22\x3e\x20\x3c\x72\x64\x66\x3a\x44\x65\ +\x73\x63\x72\x69\x70\x74\x69\x6f\x6e\x20\x72\x64\x66\x3a\x61\x62\ +\x6f\x75\x74\x3d\x22\x22\x20\x78\x6d\x6c\x6e\x73\x3a\x78\x6d\x70\ +\x4d\x4d\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x6e\x73\x2e\x61\x64\ +\x6f\x62\x65\x2e\x63\x6f\x6d\x2f\x78\x61\x70\x2f\x31\x2e\x30\x2f\ +\x6d\x6d\x2f\x22\x20\x78\x6d\x6c\x6e\x73\x3a\x73\x74\x52\x65\x66\ +\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x6e\x73\x2e\x61\x64\x6f\x62\ +\x65\x2e\x63\x6f\x6d\x2f\x78\x61\x70\x2f\x31\x2e\x30\x2f\x73\x54\ +\x79\x70\x65\x2f\x52\x65\x73\x6f\x75\x72\x63\x65\x52\x65\x66\x23\ +\x22\x20\x78\x6d\x6c\x6e\x73\x3a\x78\x6d\x70\x3d\x22\x68\x74\x74\ +\x70\x3a\x2f\x2f\x6e\x73\x2e\x61\x64\x6f\x62\x65\x2e\x63\x6f\x6d\ +\x2f\x78\x61\x70\x2f\x31\x2e\x30\x2f\x22\x20\x78\x6d\x70\x4d\x4d\ +\x3a\x4f\x72\x69\x67\x69\x6e\x61\x6c\x44\x6f\x63\x75\x6d\x65\x6e\ +\x74\x49\x44\x3d\x22\x78\x6d\x70\x2e\x64\x69\x64\x3a\x63\x34\x37\ +\x39\x66\x62\x31\x39\x2d\x34\x33\x34\x34\x2d\x62\x65\x34\x33\x2d\ +\x39\x39\x31\x31\x2d\x33\x64\x35\x32\x63\x31\x30\x33\x35\x37\x65\ +\x31\x22\x20\x78\x6d\x70\x4d\x4d\x3a\x44\x6f\x63\x75\x6d\x65\x6e\ +\x74\x49\x44\x3d\x22\x78\x6d\x70\x2e\x64\x69\x64\x3a\x42\x33\x41\ +\x34\x45\x35\x42\x34\x35\x39\x38\x34\x31\x31\x45\x33\x42\x33\x31\ +\x41\x45\x43\x34\x30\x43\x43\x32\x45\x39\x37\x31\x33\x22\x20\x78\ +\x6d\x70\x4d\x4d\x3a\x49\x6e\x73\x74\x61\x6e\x63\x65\x49\x44\x3d\ +\x22\x78\x6d\x70\x2e\x69\x69\x64\x3a\x42\x33\x41\x34\x45\x35\x42\ +\x33\x35\x39\x38\x34\x31\x31\x45\x33\x42\x33\x31\x41\x45\x43\x34\ +\x30\x43\x43\x32\x45\x39\x37\x31\x33\x22\x20\x78\x6d\x70\x3a\x43\ +\x72\x65\x61\x74\x6f\x72\x54\x6f\x6f\x6c\x3d\x22\x41\x64\x6f\x62\ +\x65\x20\x50\x68\x6f\x74\x6f\x73\x68\x6f\x70\x20\x43\x43\x20\x28\ +\x57\x69\x6e\x64\x6f\x77\x73\x29\x22\x3e\x20\x3c\x78\x6d\x70\x4d\ +\x4d\x3a\x44\x65\x72\x69\x76\x65\x64\x46\x72\x6f\x6d\x20\x73\x74\ +\x52\x65\x66\x3a\x69\x6e\x73\x74\x61\x6e\x63\x65\x49\x44\x3d\x22\ +\x78\x6d\x70\x2e\x69\x69\x64\x3a\x63\x31\x65\x61\x38\x31\x32\x35\ +\x2d\x65\x62\x64\x64\x2d\x63\x38\x34\x62\x2d\x39\x66\x37\x61\x2d\ +\x30\x36\x39\x39\x32\x39\x38\x64\x62\x39\x33\x63\x22\x20\x73\x74\ +\x52\x65\x66\x3a\x64\x6f\x63\x75\x6d\x65\x6e\x74\x49\x44\x3d\x22\ +\x78\x6d\x70\x2e\x64\x69\x64\x3a\x63\x34\x37\x39\x66\x62\x31\x39\ +\x2d\x34\x33\x34\x34\x2d\x62\x65\x34\x33\x2d\x39\x39\x31\x31\x2d\ +\x33\x64\x35\x32\x63\x31\x30\x33\x35\x37\x65\x31\x22\x2f\x3e\x20\ +\x3c\x2f\x72\x64\x66\x3a\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6f\ +\x6e\x3e\x20\x3c\x2f\x72\x64\x66\x3a\x52\x44\x46\x3e\x20\x3c\x2f\ +\x78\x3a\x78\x6d\x70\x6d\x65\x74\x61\x3e\x20\x3c\x3f\x78\x70\x61\ +\x63\x6b\x65\x74\x20\x65\x6e\x64\x3d\x22\x72\x22\x3f\x3e\x47\x2d\ +\xcb\x84\x00\x00\x02\xc9\x49\x44\x41\x54\x78\xda\xc4\x57\x3f\x68\ +\x93\x41\x14\xff\xbe\x10\x07\x07\x3b\x39\x89\x53\x51\x52\x1b\xd4\ +\x45\x70\x90\xaa\x74\x28\xba\x28\x14\x07\xd7\x12\x41\x68\x27\x69\ +\x52\x1d\xc4\x21\x76\x51\x11\xb7\xba\xa8\x38\x38\x04\x07\xc1\xe2\ +\x10\x1d\x4a\x1d\xbb\xf9\x87\xb4\x69\xa3\x99\x82\x53\x1d\xcc\x2a\ +\x34\xfe\x1e\xfc\x0e\x8e\xf3\xde\xdd\x97\xd0\x4f\x1f\xfc\xf8\xc2\ +\x5d\xde\x7b\xbf\x7b\xef\xdd\xbb\xbb\x34\x19\x41\xce\xbe\xbd\x5e\ +\xc5\xe7\x1e\x70\x88\x43\x7d\xa0\xbe\x71\xb5\xf1\x78\x58\x5b\xe9\ +\x08\xce\x8f\xe0\xd3\xf3\xe8\x0e\x80\xa3\x20\xf1\x63\x18\x7b\x85\ +\x11\x02\x70\x5c\x21\x9e\x72\x6e\x28\x29\x2a\xab\x9c\xc3\x67\x1e\ +\xd8\x05\xaa\x58\x55\x2b\x63\xd4\x52\xc7\xce\x79\x49\x0d\xfd\x2c\ +\xc3\x4e\x33\x1a\x01\x28\xdd\xc1\xe7\x05\x70\x06\xb8\x04\xac\x63\ +\xec\x24\xe7\xc4\xc1\x78\x80\xc0\x38\xff\x23\xff\x9d\xc6\x47\x1c\ +\x5e\x00\xce\x01\xab\x18\xbb\x12\x63\x3c\x47\xe7\xae\x48\x24\x1e\ +\x01\x37\x32\x84\xf9\x1b\xd0\x00\x16\x81\x83\xce\xdc\x6f\x59\x14\ +\x22\xb1\xa6\x45\x60\x5e\x31\x7a\x18\x78\x90\x31\xc7\xc7\x80\xbb\ +\x1e\xe7\x22\x07\x80\x9b\xa1\x14\xec\x26\xf9\xcb\xcf\x10\x81\x6a\ +\xce\x24\xbe\x03\xf7\x83\x7d\x80\x05\xb7\xc6\xb0\x87\x64\x1b\xd8\ +\xe2\xef\x13\x40\x29\x83\xf3\x8b\xc8\x7f\x2f\xda\x88\x40\x62\x89\ +\x39\xf7\xc9\x7b\x60\x09\x86\xbe\x38\x3a\xa7\x58\xa8\x33\x8a\xde\ +\x02\x74\x56\xa2\x9d\x90\xdb\x68\x5b\x29\xb8\x27\x52\xdd\x30\x34\ +\x50\x88\x8b\xae\xb4\xe3\x5b\x9e\xe9\x1d\x60\xc2\xd5\x4d\xad\xf6\ +\x6a\x3a\x9c\xec\xf3\xe7\xca\xca\x2f\x1b\x03\xd0\x91\xfa\x99\xe4\ +\xdc\x26\xc6\xf7\x2c\x12\x4d\x25\x12\x15\xa0\xcb\xb6\xdd\x91\xb6\ +\x9d\x42\x61\x91\xa1\x8b\x9d\x0b\xa7\x4d\xd8\xa1\x23\x39\x7f\x23\ +\x2b\xe2\x5c\x1b\x98\xc5\xfc\x96\x95\x8e\xcf\x11\x7b\x42\xa2\x26\ +\x04\x7e\xe1\xc7\x58\xac\xe0\x60\x7c\xc2\x5a\x79\xcb\x72\x9e\x58\ +\x24\xca\x56\x24\xda\x19\x0a\xb3\x5f\xc8\xe0\xdc\x18\x37\x52\xf6\ +\x38\x4f\x38\x36\xa9\xe8\x68\x32\x56\x48\xfe\xb3\x14\x78\x99\x88\ +\x89\xbd\xe2\x96\xb2\x3a\x19\xdb\x54\x74\x82\x29\xa8\xb3\x20\x42\ +\x52\x62\x61\x25\xcc\xf1\xac\x43\xc2\x14\xe1\x9e\x55\x84\xa5\x0c\ +\x45\x58\x1f\x66\x1b\x7e\xe0\x49\x66\x6f\xc3\xb2\x89\xca\xc8\xdb\ +\x50\x69\x26\x3b\x3c\xd5\xf6\xb3\x11\x75\x24\x2a\xae\xee\x5f\x45\ +\xc8\x3f\x34\x94\xb0\x89\xe1\xa6\x49\x87\xa7\x15\x37\x15\xe7\x22\ +\xcf\x7c\xc4\x7d\x11\x90\x9b\xcc\x3b\xe5\x3c\x77\x0f\xa3\xb6\x55\ +\x70\xb1\x9c\xcb\x29\x3b\x0d\x12\x5f\x63\x77\xb8\x66\x06\xe7\xa3\ +\x8a\x90\x98\x02\x89\xb6\x96\x82\x7a\x8e\xce\xcd\xcd\xea\x76\xa8\ +\x06\x8a\xff\xa0\xf7\x14\x43\x04\x96\x79\x71\xf4\x5d\x26\x16\xb8\ +\x3b\x62\xd2\xe1\x2a\x7d\x37\xab\x3e\x77\x89\x9f\x00\xef\xed\xd7\ +\x1c\x12\xe6\x26\xb3\xc2\x62\xab\x04\x9c\x57\xb8\xd5\x1e\x4a\xc1\ +\x39\x24\xc4\xf9\x0c\xe6\x3e\xc5\xb6\xe1\x2a\xdf\x03\xaf\x81\xa7\ +\x2c\x9a\x9e\xb5\x45\xbb\x01\x02\x5d\xb3\xd5\x58\xed\x53\xc0\x4b\ +\xe0\x95\xbc\x0f\x30\xb6\xb1\x1f\x6f\x43\x79\x68\xac\x2b\xd3\x12\ +\xa9\x8f\x79\xbf\x0d\x3b\xca\xd9\x31\xe0\x5c\x92\x2b\x01\xbe\x7e\ +\x6b\xce\x29\x2a\x97\x9a\xda\xb0\x2f\x63\x91\x3f\x02\x0c\x00\x21\ +\x27\x10\xbf\xa7\x82\xc6\x68\x00\x00\x00\x00\x49\x45\x4e\x44\xae\ +\x42\x60\x82\ +\x00\x00\x04\xf8\ +\x89\ +\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ +\x00\x00\x20\x00\x00\x00\x20\x08\x06\x00\x00\x00\x73\x7a\x7a\xf4\ +\x00\x00\x00\x19\x74\x45\x58\x74\x53\x6f\x66\x74\x77\x61\x72\x65\ +\x00\x41\x64\x6f\x62\x65\x20\x49\x6d\x61\x67\x65\x52\x65\x61\x64\ +\x79\x71\xc9\x65\x3c\x00\x00\x03\x71\x69\x54\x58\x74\x58\x4d\x4c\ +\x3a\x63\x6f\x6d\x2e\x61\x64\x6f\x62\x65\x2e\x78\x6d\x70\x00\x00\ +\x00\x00\x00\x3c\x3f\x78\x70\x61\x63\x6b\x65\x74\x20\x62\x65\x67\ +\x69\x6e\x3d\x22\xef\xbb\xbf\x22\x20\x69\x64\x3d\x22\x57\x35\x4d\ +\x30\x4d\x70\x43\x65\x68\x69\x48\x7a\x72\x65\x53\x7a\x4e\x54\x63\ +\x7a\x6b\x63\x39\x64\x22\x3f\x3e\x20\x3c\x78\x3a\x78\x6d\x70\x6d\ +\x65\x74\x61\x20\x78\x6d\x6c\x6e\x73\x3a\x78\x3d\x22\x61\x64\x6f\ +\x62\x65\x3a\x6e\x73\x3a\x6d\x65\x74\x61\x2f\x22\x20\x78\x3a\x78\ +\x6d\x70\x74\x6b\x3d\x22\x41\x64\x6f\x62\x65\x20\x58\x4d\x50\x20\ +\x43\x6f\x72\x65\x20\x35\x2e\x35\x2d\x63\x30\x31\x34\x20\x37\x39\ +\x2e\x31\x35\x31\x34\x38\x31\x2c\x20\x32\x30\x31\x33\x2f\x30\x33\ +\x2f\x31\x33\x2d\x31\x32\x3a\x30\x39\x3a\x31\x35\x20\x20\x20\x20\ +\x20\x20\x20\x20\x22\x3e\x20\x3c\x72\x64\x66\x3a\x52\x44\x46\x20\ +\x78\x6d\x6c\x6e\x73\x3a\x72\x64\x66\x3d\x22\x68\x74\x74\x70\x3a\ +\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x31\x39\x39\ +\x39\x2f\x30\x32\x2f\x32\x32\x2d\x72\x64\x66\x2d\x73\x79\x6e\x74\ +\x61\x78\x2d\x6e\x73\x23\x22\x3e\x20\x3c\x72\x64\x66\x3a\x44\x65\ +\x73\x63\x72\x69\x70\x74\x69\x6f\x6e\x20\x72\x64\x66\x3a\x61\x62\ +\x6f\x75\x74\x3d\x22\x22\x20\x78\x6d\x6c\x6e\x73\x3a\x78\x6d\x70\ +\x4d\x4d\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x6e\x73\x2e\x61\x64\ +\x6f\x62\x65\x2e\x63\x6f\x6d\x2f\x78\x61\x70\x2f\x31\x2e\x30\x2f\ +\x6d\x6d\x2f\x22\x20\x78\x6d\x6c\x6e\x73\x3a\x73\x74\x52\x65\x66\ +\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x6e\x73\x2e\x61\x64\x6f\x62\ +\x65\x2e\x63\x6f\x6d\x2f\x78\x61\x70\x2f\x31\x2e\x30\x2f\x73\x54\ +\x79\x70\x65\x2f\x52\x65\x73\x6f\x75\x72\x63\x65\x52\x65\x66\x23\ +\x22\x20\x78\x6d\x6c\x6e\x73\x3a\x78\x6d\x70\x3d\x22\x68\x74\x74\ +\x70\x3a\x2f\x2f\x6e\x73\x2e\x61\x64\x6f\x62\x65\x2e\x63\x6f\x6d\ +\x2f\x78\x61\x70\x2f\x31\x2e\x30\x2f\x22\x20\x78\x6d\x70\x4d\x4d\ +\x3a\x4f\x72\x69\x67\x69\x6e\x61\x6c\x44\x6f\x63\x75\x6d\x65\x6e\ +\x74\x49\x44\x3d\x22\x78\x6d\x70\x2e\x64\x69\x64\x3a\x63\x34\x37\ +\x39\x66\x62\x31\x39\x2d\x34\x33\x34\x34\x2d\x62\x65\x34\x33\x2d\ +\x39\x39\x31\x31\x2d\x33\x64\x35\x32\x63\x31\x30\x33\x35\x37\x65\ +\x31\x22\x20\x78\x6d\x70\x4d\x4d\x3a\x44\x6f\x63\x75\x6d\x65\x6e\ +\x74\x49\x44\x3d\x22\x78\x6d\x70\x2e\x64\x69\x64\x3a\x41\x45\x36\ +\x37\x43\x43\x34\x36\x35\x39\x38\x44\x31\x31\x45\x33\x39\x32\x37\ +\x33\x46\x43\x46\x32\x35\x44\x37\x31\x38\x43\x35\x39\x22\x20\x78\ +\x6d\x70\x4d\x4d\x3a\x49\x6e\x73\x74\x61\x6e\x63\x65\x49\x44\x3d\ +\x22\x78\x6d\x70\x2e\x69\x69\x64\x3a\x41\x45\x36\x37\x43\x43\x34\ +\x35\x35\x39\x38\x44\x31\x31\x45\x33\x39\x32\x37\x33\x46\x43\x46\ +\x32\x35\x44\x37\x31\x38\x43\x35\x39\x22\x20\x78\x6d\x70\x3a\x43\ +\x72\x65\x61\x74\x6f\x72\x54\x6f\x6f\x6c\x3d\x22\x41\x64\x6f\x62\ +\x65\x20\x50\x68\x6f\x74\x6f\x73\x68\x6f\x70\x20\x43\x43\x20\x28\ +\x57\x69\x6e\x64\x6f\x77\x73\x29\x22\x3e\x20\x3c\x78\x6d\x70\x4d\ +\x4d\x3a\x44\x65\x72\x69\x76\x65\x64\x46\x72\x6f\x6d\x20\x73\x74\ +\x52\x65\x66\x3a\x69\x6e\x73\x74\x61\x6e\x63\x65\x49\x44\x3d\x22\ +\x78\x6d\x70\x2e\x69\x69\x64\x3a\x37\x31\x65\x61\x35\x61\x61\x61\ +\x2d\x63\x33\x30\x31\x2d\x30\x61\x34\x35\x2d\x62\x36\x30\x35\x2d\ +\x38\x64\x36\x65\x63\x37\x33\x34\x65\x37\x62\x66\x22\x20\x73\x74\ +\x52\x65\x66\x3a\x64\x6f\x63\x75\x6d\x65\x6e\x74\x49\x44\x3d\x22\ +\x78\x6d\x70\x2e\x64\x69\x64\x3a\x63\x34\x37\x39\x66\x62\x31\x39\ +\x2d\x34\x33\x34\x34\x2d\x62\x65\x34\x33\x2d\x39\x39\x31\x31\x2d\ +\x33\x64\x35\x32\x63\x31\x30\x33\x35\x37\x65\x31\x22\x2f\x3e\x20\ +\x3c\x2f\x72\x64\x66\x3a\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6f\ +\x6e\x3e\x20\x3c\x2f\x72\x64\x66\x3a\x52\x44\x46\x3e\x20\x3c\x2f\ +\x78\x3a\x78\x6d\x70\x6d\x65\x74\x61\x3e\x20\x3c\x3f\x78\x70\x61\ +\x63\x6b\x65\x74\x20\x65\x6e\x64\x3d\x22\x72\x22\x3f\x3e\xe1\x20\ +\xe3\x43\x00\x00\x01\x1d\x49\x44\x41\x54\x78\xda\x62\x6c\x4f\x5c\ +\x74\x8e\x81\x81\xc1\x90\x01\x3b\xf8\x0b\xc4\x61\x95\xf3\xe3\xd6\ +\x81\x38\x40\xb5\x09\x40\x6a\x1e\x10\x33\x32\x50\x07\x9c\x67\xc2\ +\x63\x39\x08\x30\x03\xb1\x1e\x12\xdf\x81\x8a\x96\x83\x80\x21\x13\ +\xc3\x00\x83\x51\x07\x8c\x3a\x00\xe4\x80\x4f\x04\xd4\x7c\x44\x62\ +\x3f\xa7\xb2\xfd\x9f\x58\x80\x84\x31\x10\xeb\xe0\x50\xf0\x03\x88\ +\xf7\x20\xf1\x1b\x80\xf8\x30\x10\xb3\x51\xc9\x01\x57\x18\x46\x3c\ +\x60\x84\x16\xaf\x0e\x38\xe4\xbf\x00\x71\x07\xb0\x28\x7e\x02\x2d\ +\x8a\xd5\x80\x54\x31\x10\xb3\x53\xc9\xfe\x03\x2c\x44\x94\xed\xaf\ +\x80\xb8\x09\xca\x2e\x04\xe2\x34\x2a\x06\x40\x1c\x13\x11\x65\x3b\ +\x72\x56\xe5\xa4\x76\x0c\x8c\x16\x44\xa3\x0e\x00\x39\xe0\x3f\x01\ +\x35\xff\x90\xd8\xdf\xa9\x6c\xff\x7f\x50\x36\x4c\x22\x50\x0e\xcc\ +\x43\xe2\xf7\x43\x1d\x4d\xb5\x72\x60\xb4\x28\x06\x15\xc5\x2a\x78\ +\x6a\x43\x50\x9c\xef\x05\x16\xc5\x7f\xa0\x45\x31\x28\xe8\x9d\xa9\ +\x59\x1b\x82\xd2\xc0\x59\x20\xe6\xc3\xa3\xa8\x08\x1a\xf7\xb0\xea\ +\xb8\x82\x9a\xed\x01\x26\x02\x96\x83\x00\x3f\x12\x5b\x92\xca\x31\ +\xc0\x37\x5a\x10\x8d\x3a\x60\x50\x38\xe0\x1c\x1e\x79\x50\xfe\xbf\ +\x84\x56\x74\xfe\xa7\xa2\xfd\xe7\x18\xff\xff\xff\x3f\xa0\x21\x00\ +\x10\x60\x00\xb3\xf5\x3a\xe9\xf9\xc0\x6c\x8c\x00\x00\x00\x00\x49\ +\x45\x4e\x44\xae\x42\x60\x82\ +\x00\x00\x06\xb1\ +\x89\ +\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ +\x00\x00\x20\x00\x00\x00\x20\x08\x06\x00\x00\x00\x73\x7a\x7a\xf4\ +\x00\x00\x00\x19\x74\x45\x58\x74\x53\x6f\x66\x74\x77\x61\x72\x65\ +\x00\x41\x64\x6f\x62\x65\x20\x49\x6d\x61\x67\x65\x52\x65\x61\x64\ +\x79\x71\xc9\x65\x3c\x00\x00\x03\x71\x69\x54\x58\x74\x58\x4d\x4c\ +\x3a\x63\x6f\x6d\x2e\x61\x64\x6f\x62\x65\x2e\x78\x6d\x70\x00\x00\ +\x00\x00\x00\x3c\x3f\x78\x70\x61\x63\x6b\x65\x74\x20\x62\x65\x67\ +\x69\x6e\x3d\x22\xef\xbb\xbf\x22\x20\x69\x64\x3d\x22\x57\x35\x4d\ +\x30\x4d\x70\x43\x65\x68\x69\x48\x7a\x72\x65\x53\x7a\x4e\x54\x63\ +\x7a\x6b\x63\x39\x64\x22\x3f\x3e\x20\x3c\x78\x3a\x78\x6d\x70\x6d\ +\x65\x74\x61\x20\x78\x6d\x6c\x6e\x73\x3a\x78\x3d\x22\x61\x64\x6f\ +\x62\x65\x3a\x6e\x73\x3a\x6d\x65\x74\x61\x2f\x22\x20\x78\x3a\x78\ +\x6d\x70\x74\x6b\x3d\x22\x41\x64\x6f\x62\x65\x20\x58\x4d\x50\x20\ +\x43\x6f\x72\x65\x20\x35\x2e\x35\x2d\x63\x30\x31\x34\x20\x37\x39\ +\x2e\x31\x35\x31\x34\x38\x31\x2c\x20\x32\x30\x31\x33\x2f\x30\x33\ +\x2f\x31\x33\x2d\x31\x32\x3a\x30\x39\x3a\x31\x35\x20\x20\x20\x20\ +\x20\x20\x20\x20\x22\x3e\x20\x3c\x72\x64\x66\x3a\x52\x44\x46\x20\ +\x78\x6d\x6c\x6e\x73\x3a\x72\x64\x66\x3d\x22\x68\x74\x74\x70\x3a\ +\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x31\x39\x39\ +\x39\x2f\x30\x32\x2f\x32\x32\x2d\x72\x64\x66\x2d\x73\x79\x6e\x74\ +\x61\x78\x2d\x6e\x73\x23\x22\x3e\x20\x3c\x72\x64\x66\x3a\x44\x65\ +\x73\x63\x72\x69\x70\x74\x69\x6f\x6e\x20\x72\x64\x66\x3a\x61\x62\ +\x6f\x75\x74\x3d\x22\x22\x20\x78\x6d\x6c\x6e\x73\x3a\x78\x6d\x70\ +\x4d\x4d\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x6e\x73\x2e\x61\x64\ +\x6f\x62\x65\x2e\x63\x6f\x6d\x2f\x78\x61\x70\x2f\x31\x2e\x30\x2f\ +\x6d\x6d\x2f\x22\x20\x78\x6d\x6c\x6e\x73\x3a\x73\x74\x52\x65\x66\ +\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x6e\x73\x2e\x61\x64\x6f\x62\ +\x65\x2e\x63\x6f\x6d\x2f\x78\x61\x70\x2f\x31\x2e\x30\x2f\x73\x54\ +\x79\x70\x65\x2f\x52\x65\x73\x6f\x75\x72\x63\x65\x52\x65\x66\x23\ +\x22\x20\x78\x6d\x6c\x6e\x73\x3a\x78\x6d\x70\x3d\x22\x68\x74\x74\ +\x70\x3a\x2f\x2f\x6e\x73\x2e\x61\x64\x6f\x62\x65\x2e\x63\x6f\x6d\ +\x2f\x78\x61\x70\x2f\x31\x2e\x30\x2f\x22\x20\x78\x6d\x70\x4d\x4d\ +\x3a\x4f\x72\x69\x67\x69\x6e\x61\x6c\x44\x6f\x63\x75\x6d\x65\x6e\ +\x74\x49\x44\x3d\x22\x78\x6d\x70\x2e\x64\x69\x64\x3a\x63\x34\x37\ +\x39\x66\x62\x31\x39\x2d\x34\x33\x34\x34\x2d\x62\x65\x34\x33\x2d\ +\x39\x39\x31\x31\x2d\x33\x64\x35\x32\x63\x31\x30\x33\x35\x37\x65\ +\x31\x22\x20\x78\x6d\x70\x4d\x4d\x3a\x44\x6f\x63\x75\x6d\x65\x6e\ +\x74\x49\x44\x3d\x22\x78\x6d\x70\x2e\x64\x69\x64\x3a\x42\x45\x42\ +\x44\x37\x42\x46\x37\x35\x39\x38\x44\x31\x31\x45\x33\x39\x39\x41\ +\x31\x41\x44\x34\x30\x37\x44\x35\x45\x43\x33\x39\x32\x22\x20\x78\ +\x6d\x70\x4d\x4d\x3a\x49\x6e\x73\x74\x61\x6e\x63\x65\x49\x44\x3d\ +\x22\x78\x6d\x70\x2e\x69\x69\x64\x3a\x42\x45\x42\x44\x37\x42\x46\ +\x36\x35\x39\x38\x44\x31\x31\x45\x33\x39\x39\x41\x31\x41\x44\x34\ +\x30\x37\x44\x35\x45\x43\x33\x39\x32\x22\x20\x78\x6d\x70\x3a\x43\ +\x72\x65\x61\x74\x6f\x72\x54\x6f\x6f\x6c\x3d\x22\x41\x64\x6f\x62\ +\x65\x20\x50\x68\x6f\x74\x6f\x73\x68\x6f\x70\x20\x43\x43\x20\x28\ +\x57\x69\x6e\x64\x6f\x77\x73\x29\x22\x3e\x20\x3c\x78\x6d\x70\x4d\ +\x4d\x3a\x44\x65\x72\x69\x76\x65\x64\x46\x72\x6f\x6d\x20\x73\x74\ +\x52\x65\x66\x3a\x69\x6e\x73\x74\x61\x6e\x63\x65\x49\x44\x3d\x22\ +\x78\x6d\x70\x2e\x69\x69\x64\x3a\x37\x31\x65\x61\x35\x61\x61\x61\ +\x2d\x63\x33\x30\x31\x2d\x30\x61\x34\x35\x2d\x62\x36\x30\x35\x2d\ +\x38\x64\x36\x65\x63\x37\x33\x34\x65\x37\x62\x66\x22\x20\x73\x74\ +\x52\x65\x66\x3a\x64\x6f\x63\x75\x6d\x65\x6e\x74\x49\x44\x3d\x22\ +\x78\x6d\x70\x2e\x64\x69\x64\x3a\x63\x34\x37\x39\x66\x62\x31\x39\ +\x2d\x34\x33\x34\x34\x2d\x62\x65\x34\x33\x2d\x39\x39\x31\x31\x2d\ +\x33\x64\x35\x32\x63\x31\x30\x33\x35\x37\x65\x31\x22\x2f\x3e\x20\ +\x3c\x2f\x72\x64\x66\x3a\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6f\ +\x6e\x3e\x20\x3c\x2f\x72\x64\x66\x3a\x52\x44\x46\x3e\x20\x3c\x2f\ +\x78\x3a\x78\x6d\x70\x6d\x65\x74\x61\x3e\x20\x3c\x3f\x78\x70\x61\ +\x63\x6b\x65\x74\x20\x65\x6e\x64\x3d\x22\x72\x22\x3f\x3e\x59\x34\ +\x5e\xf3\x00\x00\x02\xd6\x49\x44\x41\x54\x78\xda\xc4\x97\x5d\x88\ +\x4d\x51\x14\x80\xcf\x3d\x73\x63\x26\xe6\x0f\x2f\x63\xa8\x91\xc2\ +\x35\xe3\x67\xfc\x34\xe1\x6d\x26\x94\x28\x23\x4f\xa3\xa6\x34\xe4\ +\x61\x46\x92\x17\x3f\x8d\x48\x92\x9f\xf0\x20\x2f\x46\x44\x92\x07\ +\x19\x85\xc4\x83\x9f\x17\x94\x50\x73\x87\x49\x29\xf2\x73\xf3\x30\ +\x4d\x83\x49\x46\x5c\xdf\xd2\x3e\x75\xba\x73\xf6\xbe\xfb\x9c\xb9\ +\x87\x55\x5f\xeb\xde\x73\xf6\x59\x6b\xed\xb5\xd7\xd9\x7b\x9d\x84\ +\x63\x29\x87\x36\x5e\x28\x47\x35\xc3\x52\x68\x80\xc9\x30\x01\x5c\ +\xf8\x0e\x6f\xa1\x17\x1e\xc0\xb5\x5d\xe7\x5a\x3f\xda\xd8\x4d\x58\ +\x38\x9e\x85\xea\x84\x75\x50\x6c\x19\x6f\x16\x6e\xc3\x11\x02\xb9\ +\x1f\x29\x00\x1c\x97\xa1\x8e\x42\x1b\x14\x39\xd1\xa5\x1b\x3a\x74\ +\x19\x49\x68\x9c\xcf\x97\x34\x42\x8d\x53\x18\xe9\x87\x16\x82\xb8\ +\x93\x7b\xc3\x0d\x70\xde\xa8\xd6\xb1\x50\xce\x45\x26\xc2\x0d\x6c\ +\x6f\x30\x66\x80\x01\xf5\xca\x79\xa9\x13\x8f\xfc\x86\x35\x64\xe2\ +\xd6\x88\x00\x70\x5e\x81\x7a\x6e\x31\xf3\x21\xb8\x09\x8f\x21\x03\ +\x3f\x61\x0a\x2c\x16\xe3\x50\x96\xe7\xf9\x41\x58\x48\x10\x6f\xe4\ +\x4f\xd2\x9f\x80\x3c\xce\xbf\xc2\x01\x38\xcd\xc3\x43\x9a\xda\x29\ +\x41\x6d\x81\x7d\x50\xae\xb1\x23\xd7\xcf\x30\xb6\x09\x3b\xd9\x84\ +\x7a\xb0\x0e\xf5\xc2\x50\xed\x69\x58\xeb\x45\x6d\xf1\xea\x4e\x55\ +\xd5\xbf\xc0\x30\xac\x19\x7b\xdd\x5e\x11\xbe\x86\xcd\xca\x51\xae\ +\xf4\x41\xa3\xad\x73\x11\xc6\xbe\x97\x67\xd4\xa4\x74\xb2\x27\xa8\ +\x08\xe5\xff\x72\xd8\x01\x2b\x60\x18\xea\x31\xf8\x32\x4a\xc5\x61\ +\x6f\x3a\xaa\x07\x4a\x34\x43\xe6\x9a\x36\xa2\x39\xa8\xd9\x38\xbf\ +\x32\x9a\xb2\xc7\xce\x7e\xd4\x5e\xcd\xed\xce\x84\x13\xb3\x10\x40\ +\x15\xea\x43\xd0\x9e\x83\xdc\x75\xe3\x0e\x80\x0c\x66\x0c\xb5\x90\ +\x4a\x12\x61\x35\x3f\x96\x49\xd5\x32\x78\x38\xa6\x38\xd2\x9a\x37\ +\xa2\x4a\x32\x30\x03\x64\x9d\x3f\x11\xcc\x71\xa8\x8d\x21\x80\x01\ +\xcd\xf5\x22\xd9\x88\x2a\x7d\xfb\xf5\x76\x81\x20\x1e\xa1\xcf\x4a\ +\x60\x64\xe5\x5b\x81\xce\x82\x20\xf9\x25\x19\xa8\x08\xb8\xb1\x04\ +\xba\x64\xab\x25\x98\x2e\x68\x18\x65\x00\x75\x9a\xeb\x19\x7f\x06\ +\x82\x64\xbc\xea\x07\xda\x08\x22\xad\xb2\x72\x91\xac\xf4\x87\x78\ +\x0b\xe4\x9c\x98\xa7\xb9\xfd\xca\xcd\x13\x40\xee\x2c\x4e\xc0\x79\ +\x8c\x16\x87\x98\xfd\x56\x43\xe3\xf3\x30\x19\x22\x80\xcf\x52\x1f\ +\xcc\xfe\x72\x88\xd9\xa7\x50\xdb\x0c\x43\xae\x27\x35\x35\x90\x2b\ +\x97\xa0\x1d\xe7\x83\x21\x9c\x4f\x42\x5d\x85\xb1\x9a\x21\x4f\xb1\ +\xd7\x63\xbb\x04\x8b\xe4\x9d\x0d\x79\x06\x48\x63\x93\x32\x0c\x3b\ +\xe8\xf5\x03\x36\x01\xcc\x84\x67\x18\x96\x26\xf5\x24\x91\x0f\x18\ +\x1a\xd9\x0e\xd8\x0d\xe3\x0c\xf6\xee\x49\xfa\xff\x9e\x86\x3c\xd4\ +\xa7\x1c\xd8\xca\x0f\xd9\xc3\xe1\x89\xda\xe3\x45\xaa\x55\x47\xb4\ +\xd2\xa2\x75\x1f\xd1\x11\x79\x19\x78\x07\xc7\x54\x6a\x4c\x6d\x95\ +\xac\xe9\x6a\x45\x94\x9e\xb0\xc5\xdf\x5b\xb8\x2a\x55\x87\xd5\xd1\ +\x7b\x4a\xf5\x75\x5f\x62\xd8\x8e\xa5\x77\x6c\xf5\x37\xa4\xde\x12\ +\xd4\x72\xb1\x37\xa0\x17\x90\x35\x9a\x16\xf7\x77\x81\xa9\x21\x29\ +\x55\x4b\xb2\x49\x73\x96\xc7\xf7\x65\x14\x90\x8d\x9d\xb0\x1e\xc6\ +\xfc\xb3\x6f\x43\xcd\xc6\xb2\x0a\x9a\xd4\xde\x5e\xe3\x6b\xbd\xa3\ +\x7f\x1d\x67\xb3\x59\xe7\x7f\xca\x1f\x01\x06\x00\x05\x3b\xea\xc8\ +\xfa\x24\x85\x20\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\ +\ \x00\x00\x12\x6c\ \x89\ \x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ @@ -1585,38 +2047,82 @@ \x00\x00\x70\x37\ \x00\x69\ \x00\x6d\x00\x67\ -\x00\x0e\ -\x0e\x53\xf5\x27\ -\x00\x69\ -\x00\x63\x00\x6f\x00\x6e\x00\x5f\x00\x66\x00\x65\x00\x74\x00\x63\x00\x68\x00\x2e\x00\x70\x00\x6e\x00\x67\ -\x00\x0d\ -\x00\x4b\xdd\x67\ -\x00\x69\ -\x00\x63\x00\x6f\x00\x6e\x00\x5f\x00\x65\x00\x78\x00\x69\x00\x74\x00\x2e\x00\x70\x00\x6e\x00\x67\ -\x00\x0e\ -\x03\xf4\xfc\x47\ -\x00\x69\ -\x00\x63\x00\x6f\x00\x6e\x00\x5f\x00\x61\x00\x70\x00\x70\x00\x6c\x00\x79\x00\x2e\x00\x70\x00\x6e\x00\x67\ +\x00\x1a\ +\x0d\x95\x42\xe7\ +\x00\x62\ +\x00\x75\x00\x74\x00\x74\x00\x6f\x00\x6e\x00\x5f\x00\x62\x00\x61\x00\x63\x00\x6b\x00\x75\x00\x70\x00\x5f\x00\x64\x00\x69\x00\x73\ +\x00\x61\x00\x62\x00\x6c\x00\x65\x00\x64\x00\x2e\x00\x70\x00\x6e\x00\x67\ +\x00\x13\ +\x09\x34\xc1\x67\ +\x00\x62\ +\x00\x75\x00\x74\x00\x74\x00\x6f\x00\x6e\x00\x5f\x00\x64\x00\x6f\x00\x77\x00\x6e\x00\x6c\x00\x6f\x00\x61\x00\x64\x00\x2e\x00\x70\ +\x00\x6e\x00\x67\ \x00\x0f\ -\x0e\x49\xe6\x87\ -\x00\x69\ -\x00\x63\x00\x6f\x00\x6e\x00\x5f\x00\x62\x00\x61\x00\x63\x00\x6b\x00\x75\x00\x70\x00\x2e\x00\x70\x00\x6e\x00\x67\ +\x0d\xf5\x7d\xe7\ +\x00\x62\ +\x00\x75\x00\x74\x00\x74\x00\x6f\x00\x6e\x00\x5f\x00\x75\x00\x74\x00\x66\x00\x38\x00\x2e\x00\x70\x00\x6e\x00\x67\ +\x00\x19\ +\x01\x96\x0f\x07\ +\x00\x62\ +\x00\x75\x00\x74\x00\x74\x00\x6f\x00\x6e\x00\x5f\x00\x61\x00\x70\x00\x70\x00\x6c\x00\x79\x00\x5f\x00\x64\x00\x69\x00\x73\x00\x61\ +\x00\x62\x00\x6c\x00\x65\x00\x64\x00\x2e\x00\x70\x00\x6e\x00\x67\ +\x00\x1c\ +\x0b\x10\x37\x07\ +\x00\x62\ +\x00\x75\x00\x74\x00\x74\x00\x6f\x00\x6e\x00\x5f\x00\x64\x00\x6f\x00\x77\x00\x6e\x00\x6c\x00\x6f\x00\x61\x00\x64\x00\x5f\x00\x64\ +\x00\x69\x00\x73\x00\x61\x00\x62\x00\x6c\x00\x65\x00\x64\x00\x2e\x00\x70\x00\x6e\x00\x67\ +\x00\x18\ +\x0c\x40\x62\x67\ +\x00\x62\ +\x00\x75\x00\x74\x00\x74\x00\x6f\x00\x6e\x00\x5f\x00\x65\x00\x78\x00\x69\x00\x74\x00\x5f\x00\x64\x00\x69\x00\x73\x00\x61\x00\x62\ +\x00\x6c\x00\x65\x00\x64\x00\x2e\x00\x70\x00\x6e\x00\x67\ \x00\x0f\ -\x04\x2c\x64\x87\ -\x00\x69\ -\x00\x63\x00\x6f\x00\x6e\x00\x5f\x00\x75\x00\x70\x00\x64\x00\x61\x00\x74\x00\x65\x00\x2e\x00\x70\x00\x6e\x00\x67\ +\x08\x69\x7b\xe7\ +\x00\x62\ +\x00\x75\x00\x74\x00\x74\x00\x6f\x00\x6e\x00\x5f\x00\x65\x00\x78\x00\x69\x00\x74\x00\x2e\x00\x70\x00\x6e\x00\x67\ +\x00\x18\ +\x0c\x12\xc4\x27\ +\x00\x62\ +\x00\x75\x00\x74\x00\x74\x00\x6f\x00\x6e\x00\x5f\x00\x61\x00\x6e\x00\x73\x00\x69\x00\x5f\x00\x64\x00\x69\x00\x73\x00\x61\x00\x62\ +\x00\x6c\x00\x65\x00\x64\x00\x2e\x00\x70\x00\x6e\x00\x67\ +\x00\x1b\ +\x06\xc3\x72\x67\ +\x00\x62\ +\x00\x75\x00\x74\x00\x74\x00\x6f\x00\x6e\x00\x5f\x00\x72\x00\x65\x00\x73\x00\x74\x00\x6f\x00\x72\x00\x65\x00\x5f\x00\x64\x00\x69\ +\x00\x73\x00\x61\x00\x62\x00\x6c\x00\x65\x00\x64\x00\x2e\x00\x70\x00\x6e\x00\x67\ +\x00\x18\ +\x0c\x81\x05\x67\ +\x00\x62\ +\x00\x75\x00\x74\x00\x74\x00\x6f\x00\x6e\x00\x5f\x00\x75\x00\x74\x00\x66\x00\x38\x00\x5f\x00\x64\x00\x69\x00\x73\x00\x61\x00\x62\ +\x00\x6c\x00\x65\x00\x64\x00\x2e\x00\x70\x00\x6e\x00\x67\ +\x00\x1a\ +\x0d\xa7\xd8\x07\ +\x00\x62\ +\x00\x75\x00\x74\x00\x74\x00\x6f\x00\x6e\x00\x5f\x00\x75\x00\x70\x00\x64\x00\x61\x00\x74\x00\x65\x00\x5f\x00\x64\x00\x69\x00\x73\ +\x00\x61\x00\x62\x00\x6c\x00\x65\x00\x64\x00\x2e\x00\x70\x00\x6e\x00\x67\ +\x00\x0f\ +\x02\xf6\x79\x67\ +\x00\x62\ +\x00\x75\x00\x74\x00\x74\x00\x6f\x00\x6e\x00\x5f\x00\x61\x00\x6e\x00\x73\x00\x69\x00\x2e\x00\x70\x00\x6e\x00\x67\ +\x00\x11\ +\x06\x8e\xf4\xc7\ +\x00\x62\ +\x00\x75\x00\x74\x00\x74\x00\x6f\x00\x6e\x00\x5f\x00\x75\x00\x70\x00\x64\x00\x61\x00\x74\x00\x65\x00\x2e\x00\x70\x00\x6e\x00\x67\ +\ \x00\x10\ -\x0e\x4e\x2b\xa7\ -\x00\x69\ -\x00\x63\x00\x6f\x00\x6e\x00\x5f\x00\x72\x00\x65\x00\x73\x00\x74\x00\x6f\x00\x72\x00\x65\x00\x2e\x00\x70\x00\x6e\x00\x67\ -\x00\x0c\ -\x01\x5d\x9f\x87\ -\x00\x69\ -\x00\x63\x00\x6f\x00\x6e\x00\x5f\x00\x75\x00\x74\x00\x66\x00\x2e\x00\x70\x00\x6e\x00\x67\ -\x00\x0d\ -\x0a\xd8\xdc\xe7\ -\x00\x69\ -\x00\x63\x00\x6f\x00\x6e\x00\x5f\x00\x61\x00\x6e\x00\x73\x00\x69\x00\x2e\x00\x70\x00\x6e\x00\x67\ +\x01\xda\x95\x47\ +\x00\x62\ +\x00\x75\x00\x74\x00\x74\x00\x6f\x00\x6e\x00\x5f\x00\x61\x00\x70\x00\x70\x00\x6c\x00\x79\x00\x2e\x00\x70\x00\x6e\x00\x67\ +\x00\x11\ +\x0c\xef\x75\x47\ +\x00\x62\ +\x00\x75\x00\x74\x00\x74\x00\x6f\x00\x6e\x00\x5f\x00\x62\x00\x61\x00\x63\x00\x6b\x00\x75\x00\x70\x00\x2e\x00\x70\x00\x6e\x00\x67\ +\ +\x00\x12\ +\x04\x27\x2f\xe7\ +\x00\x62\ +\x00\x75\x00\x74\x00\x74\x00\x6f\x00\x6e\x00\x5f\x00\x72\x00\x65\x00\x73\x00\x74\x00\x6f\x00\x72\x00\x65\x00\x2e\x00\x70\x00\x6e\ +\x00\x67\ \x00\x0c\ \x09\xf7\x1c\xa7\ \x00\x75\ @@ -1625,19 +2131,28 @@ qt_resource_struct = "\ \x00\x00\x00\x00\x00\x02\x00\x00\x00\x02\x00\x00\x00\x01\ -\x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x0c\ +\x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x15\ \x00\x00\x00\x0e\x00\x02\x00\x00\x00\x01\x00\x00\x00\x03\ -\x00\x00\x00\x22\x00\x02\x00\x00\x00\x08\x00\x00\x00\x04\ -\x00\x00\x00\x50\x00\x00\x00\x00\x00\x01\x00\x00\x07\x7d\ -\x00\x00\x01\x00\x00\x00\x00\x00\x00\x01\x00\x00\x35\xf8\ -\x00\x00\x00\x70\x00\x00\x00\x00\x00\x01\x00\x00\x10\x77\ -\x00\x00\x00\xb6\x00\x00\x00\x00\x00\x01\x00\x00\x21\x8f\ -\x00\x00\x01\x1e\x00\x00\x00\x00\x00\x01\x00\x00\x41\xf8\ -\x00\x00\x00\x92\x00\x00\x00\x00\x00\x01\x00\x00\x19\xde\ -\x00\x00\x00\xda\x00\x00\x00\x00\x00\x01\x00\x00\x2c\x1a\ +\x00\x00\x00\x22\x00\x02\x00\x00\x00\x01\x00\x00\x00\x04\ +\x00\x00\x00\x0e\x00\x02\x00\x00\x00\x10\x00\x00\x00\x05\ +\x00\x00\x00\xb8\x00\x00\x00\x00\x00\x01\x00\x00\x12\x2c\ +\x00\x00\x02\xb6\x00\x00\x00\x00\x00\x01\x00\x00\x57\x58\ +\x00\x00\x02\x6a\x00\x00\x00\x00\x00\x01\x00\x00\x48\xda\ +\x00\x00\x03\x04\x00\x00\x00\x00\x00\x01\x00\x00\x62\xfc\ +\x00\x00\x02\x8e\x00\x00\x00\x00\x00\x01\x00\x00\x50\x67\ +\x00\x00\x01\xbe\x00\x00\x00\x00\x00\x01\x00\x00\x33\x9e\ +\x00\x00\x01\x64\x00\x00\x00\x00\x00\x01\x00\x00\x25\x54\ +\x00\x00\x00\x68\x00\x00\x00\x00\x00\x01\x00\x00\x04\xfc\ +\x00\x00\x00\xf0\x00\x00\x00\x00\x00\x01\x00\x00\x18\xef\ +\x00\x00\x01\x88\x00\x00\x00\x00\x00\x01\x00\x00\x2c\x15\ +\x00\x00\x01\x2e\x00\x00\x00\x00\x00\x01\x00\x00\x1e\x93\ +\x00\x00\x01\xfa\x00\x00\x00\x00\x00\x01\x00\x00\x3a\x5d\ +\x00\x00\x02\xdc\x00\x00\x00\x00\x00\x01\x00\x00\x5e\x00\ \x00\x00\x00\x2e\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\ -\x00\x00\x00\x22\x00\x02\x00\x00\x00\x01\x00\x00\x00\x0d\ -\x00\x00\x01\x3e\x00\x00\x00\x00\x00\x01\x00\x00\x4d\xd9\ +\x00\x00\x02\x30\x00\x00\x00\x00\x00\x01\x00\x00\x41\xe9\ +\x00\x00\x00\x94\x00\x00\x00\x00\x00\x01\x00\x00\x0a\xa0\ +\x00\x00\x00\x22\x00\x02\x00\x00\x00\x01\x00\x00\x00\x16\ +\x00\x00\x03\x2e\x00\x00\x00\x00\x00\x01\x00\x00\x69\xb1\ " def qInitResources(): diff --git a/qthostsui.py b/qthostsui.py index c44bacc..a393ff8 100644 --- a/qthostsui.py +++ b/qthostsui.py @@ -2,7 +2,7 @@ # Form implementation generated from reading ui file 'qthostsui.ui' # -# Created: Fri Aug 02 19:08:24 2013 +# Created: Sat Nov 30 15:06:56 2013 # by: PyQt4 UI code generator 4.10.2 # # WARNING! All changes made in this file will be lost! @@ -27,14 +27,14 @@ class Ui_HostsUtlMain(object): def setupUi(self, HostsUtlMain): HostsUtlMain.setObjectName(_fromUtf8("HostsUtlMain")) HostsUtlMain.setEnabled(True) - HostsUtlMain.resize(640, 360) + HostsUtlMain.resize(640, 420) sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(HostsUtlMain.sizePolicy().hasHeightForWidth()) HostsUtlMain.setSizePolicy(sizePolicy) - HostsUtlMain.setMinimumSize(QtCore.QSize(640, 360)) - HostsUtlMain.setMaximumSize(QtCore.QSize(640, 360)) + HostsUtlMain.setMinimumSize(QtCore.QSize(640, 420)) + HostsUtlMain.setMaximumSize(QtCore.QSize(640, 420)) HostsUtlMain.setContextMenuPolicy(QtCore.Qt.DefaultContextMenu) icon = QtGui.QIcon() icon.addPixmap(QtGui.QPixmap(_fromUtf8(":/icon/img/utl_icon.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off) @@ -42,13 +42,12 @@ def setupUi(self, HostsUtlMain): HostsUtlMain.setLocale(QtCore.QLocale(QtCore.QLocale.English, QtCore.QLocale.UnitedStates)) HostsUtlMain.setSizeGripEnabled(False) HostsUtlMain.setModal(False) - self.Prog = QtGui.QProgressBar(HostsUtlMain) - self.Prog.setGeometry(QtCore.QRect(10, 320, 500, 25)) - self.Prog.setAlignment(QtCore.Qt.AlignCenter) - self.Prog.setTextVisible(True) - self.Prog.setInvertedAppearance(False) - self.Prog.setObjectName(_fromUtf8("Prog")) - self.ConfigBox = QtGui.QGroupBox(HostsUtlMain) + self.mainFrame = QtGui.QFrame(HostsUtlMain) + self.mainFrame.setGeometry(QtCore.QRect(0, 40, 640, 351)) + self.mainFrame.setFrameShape(QtGui.QFrame.StyledPanel) + self.mainFrame.setFrameShadow(QtGui.QFrame.Raised) + self.mainFrame.setObjectName(_fromUtf8("mainFrame")) + self.ConfigBox = QtGui.QGroupBox(self.mainFrame) self.ConfigBox.setGeometry(QtCore.QRect(10, 20, 240, 90)) sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) @@ -57,7 +56,7 @@ def setupUi(self, HostsUtlMain): self.ConfigBox.setSizePolicy(sizePolicy) self.ConfigBox.setObjectName(_fromUtf8("ConfigBox")) self.layoutWidget = QtGui.QWidget(self.ConfigBox) - self.layoutWidget.setGeometry(QtCore.QRect(10, 30, 221, 50)) + self.layoutWidget.setGeometry(QtCore.QRect(10, 25, 221, 50)) self.layoutWidget.setObjectName(_fromUtf8("layoutWidget")) self.configLayout = QtGui.QGridLayout(self.layoutWidget) self.configLayout.setMargin(0) @@ -78,7 +77,7 @@ def setupUi(self, HostsUtlMain): self.SelectIP.addItem(_fromUtf8("")) self.SelectIP.setItemText(1, _fromUtf8("IPv6")) self.configLayout.addWidget(self.SelectIP, 1, 1, 1, 1) - self.StatusBox = QtGui.QGroupBox(HostsUtlMain) + self.StatusBox = QtGui.QGroupBox(self.mainFrame) self.StatusBox.setGeometry(QtCore.QRect(10, 120, 240, 90)) sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) @@ -112,7 +111,39 @@ def setupUi(self, HostsUtlMain): self.labelOSStat.setFont(font) self.labelOSStat.setObjectName(_fromUtf8("labelOSStat")) self.StatusLayout.addWidget(self.labelOSStat, 1, 1, 1, 1) - self.FunctionsBox = QtGui.QGroupBox(HostsUtlMain) + self.InfoBox = QtGui.QGroupBox(self.mainFrame) + self.InfoBox.setGeometry(QtCore.QRect(10, 220, 240, 90)) + sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.InfoBox.sizePolicy().hasHeightForWidth()) + self.InfoBox.setSizePolicy(sizePolicy) + self.InfoBox.setObjectName(_fromUtf8("InfoBox")) + self.layoutWidget2 = QtGui.QWidget(self.InfoBox) + self.layoutWidget2.setGeometry(QtCore.QRect(10, 20, 221, 59)) + self.layoutWidget2.setObjectName(_fromUtf8("layoutWidget2")) + self.InfoLayout = QtGui.QGridLayout(self.layoutWidget2) + self.InfoLayout.setMargin(0) + self.InfoLayout.setObjectName(_fromUtf8("InfoLayout")) + self.labelVersion = QtGui.QLabel(self.layoutWidget2) + self.labelVersion.setObjectName(_fromUtf8("labelVersion")) + self.InfoLayout.addWidget(self.labelVersion, 0, 0, 1, 1) + self.labelVersionData = QtGui.QLabel(self.layoutWidget2) + self.labelVersionData.setObjectName(_fromUtf8("labelVersionData")) + self.InfoLayout.addWidget(self.labelVersionData, 0, 1, 1, 1) + self.labelRelease = QtGui.QLabel(self.layoutWidget2) + self.labelRelease.setObjectName(_fromUtf8("labelRelease")) + self.InfoLayout.addWidget(self.labelRelease, 1, 0, 1, 1) + self.labelReleaseData = QtGui.QLabel(self.layoutWidget2) + self.labelReleaseData.setObjectName(_fromUtf8("labelReleaseData")) + self.InfoLayout.addWidget(self.labelReleaseData, 1, 1, 1, 1) + self.labelLatest = QtGui.QLabel(self.layoutWidget2) + self.labelLatest.setObjectName(_fromUtf8("labelLatest")) + self.InfoLayout.addWidget(self.labelLatest, 2, 0, 1, 1) + self.labelLatestData = QtGui.QLabel(self.layoutWidget2) + self.labelLatestData.setObjectName(_fromUtf8("labelLatestData")) + self.InfoLayout.addWidget(self.labelLatestData, 2, 1, 1, 1) + self.FunctionsBox = QtGui.QGroupBox(self.mainFrame) self.FunctionsBox.setGeometry(QtCore.QRect(260, 20, 250, 290)) self.FunctionsBox.setObjectName(_fromUtf8("FunctionsBox")) self.Functionlist = QtGui.QListWidget(self.FunctionsBox) @@ -123,7 +154,7 @@ def setupUi(self, HostsUtlMain): sizePolicy.setHeightForWidth(self.Functionlist.sizePolicy().hasHeightForWidth()) self.Functionlist.setSizePolicy(sizePolicy) self.Functionlist.setObjectName(_fromUtf8("Functionlist")) - self.frame = QtGui.QFrame(HostsUtlMain) + self.frame = QtGui.QFrame(self.mainFrame) self.frame.setGeometry(QtCore.QRect(520, 30, 110, 280)) self.frame.setFrameShape(QtGui.QFrame.NoFrame) self.frame.setFrameShadow(QtGui.QFrame.Raised) @@ -133,7 +164,8 @@ def setupUi(self, HostsUtlMain): self.ButtonBackup.setGeometry(QtCore.QRect(0, 10, 48, 48)) self.ButtonBackup.setText(_fromUtf8("")) icon1 = QtGui.QIcon() - icon1.addPixmap(QtGui.QPixmap(_fromUtf8(":/buttons/img/icon_backup.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off) + icon1.addPixmap(QtGui.QPixmap(_fromUtf8(":/buttons/img/buttons/button_backup.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off) + icon1.addPixmap(QtGui.QPixmap(_fromUtf8(":/buttons/img/buttons/button_backup_disabled.png")), QtGui.QIcon.Disabled, QtGui.QIcon.Off) self.ButtonBackup.setIcon(icon1) self.ButtonBackup.setIconSize(QtCore.QSize(32, 32)) self.ButtonBackup.setObjectName(_fromUtf8("ButtonBackup")) @@ -141,7 +173,8 @@ def setupUi(self, HostsUtlMain): self.ButtonUpdate.setGeometry(QtCore.QRect(60, 70, 48, 48)) self.ButtonUpdate.setText(_fromUtf8("")) icon2 = QtGui.QIcon() - icon2.addPixmap(QtGui.QPixmap(_fromUtf8(":/buttons/img/icon_fetch.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off) + icon2.addPixmap(QtGui.QPixmap(_fromUtf8(":/buttons/img/buttons/button_download.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off) + icon2.addPixmap(QtGui.QPixmap(_fromUtf8(":/buttons/img/buttons/button_download_disabled.png")), QtGui.QIcon.Disabled, QtGui.QIcon.Off) self.ButtonUpdate.setIcon(icon2) self.ButtonUpdate.setIconSize(QtCore.QSize(32, 32)) self.ButtonUpdate.setObjectName(_fromUtf8("ButtonUpdate")) @@ -149,7 +182,8 @@ def setupUi(self, HostsUtlMain): self.ButtonRestore.setGeometry(QtCore.QRect(60, 10, 48, 48)) self.ButtonRestore.setText(_fromUtf8("")) icon3 = QtGui.QIcon() - icon3.addPixmap(QtGui.QPixmap(_fromUtf8(":/buttons/img/icon_restore.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off) + icon3.addPixmap(QtGui.QPixmap(_fromUtf8(":/buttons/img/buttons/button_restore.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off) + icon3.addPixmap(QtGui.QPixmap(_fromUtf8(":/buttons/img/buttons/button_restore_disabled.png")), QtGui.QIcon.Disabled, QtGui.QIcon.Off) self.ButtonRestore.setIcon(icon3) self.ButtonRestore.setIconSize(QtCore.QSize(32, 32)) self.ButtonRestore.setObjectName(_fromUtf8("ButtonRestore")) @@ -157,7 +191,8 @@ def setupUi(self, HostsUtlMain): self.ButtonApply.setGeometry(QtCore.QRect(0, 220, 48, 48)) self.ButtonApply.setText(_fromUtf8("")) icon4 = QtGui.QIcon() - icon4.addPixmap(QtGui.QPixmap(_fromUtf8(":/buttons/img/icon_apply.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off) + icon4.addPixmap(QtGui.QPixmap(_fromUtf8(":/buttons/img/buttons/button_apply.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off) + icon4.addPixmap(QtGui.QPixmap(_fromUtf8(":/buttons/img/buttons/button_apply_disabled.png")), QtGui.QIcon.Disabled, QtGui.QIcon.Off) self.ButtonApply.setIcon(icon4) self.ButtonApply.setIconSize(QtCore.QSize(32, 32)) self.ButtonApply.setObjectName(_fromUtf8("ButtonApply")) @@ -165,7 +200,8 @@ def setupUi(self, HostsUtlMain): self.ButtonExit.setGeometry(QtCore.QRect(60, 220, 48, 48)) self.ButtonExit.setText(_fromUtf8("")) icon5 = QtGui.QIcon() - icon5.addPixmap(QtGui.QPixmap(_fromUtf8(":/buttons/img/icon_exit.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off) + icon5.addPixmap(QtGui.QPixmap(_fromUtf8(":/buttons/img/buttons/button_exit.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off) + icon5.addPixmap(QtGui.QPixmap(_fromUtf8(":/buttons/img/buttons/button_exit_disabled.png")), QtGui.QIcon.Disabled, QtGui.QIcon.Off) self.ButtonExit.setIcon(icon5) self.ButtonExit.setIconSize(QtCore.QSize(32, 32)) self.ButtonExit.setObjectName(_fromUtf8("ButtonExit")) @@ -173,7 +209,8 @@ def setupUi(self, HostsUtlMain): self.ButtonCheck.setGeometry(QtCore.QRect(0, 70, 48, 48)) self.ButtonCheck.setText(_fromUtf8("")) icon6 = QtGui.QIcon() - icon6.addPixmap(QtGui.QPixmap(_fromUtf8(":/buttons/img/icon_update.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off) + icon6.addPixmap(QtGui.QPixmap(_fromUtf8(":/buttons/img/buttons/button_update.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off) + icon6.addPixmap(QtGui.QPixmap(_fromUtf8(":/buttons/img/buttons/button_update_disabled.png")), QtGui.QIcon.Disabled, QtGui.QIcon.Off) self.ButtonCheck.setIcon(icon6) self.ButtonCheck.setIconSize(QtCore.QSize(32, 32)) self.ButtonCheck.setObjectName(_fromUtf8("ButtonCheck")) @@ -181,7 +218,8 @@ def setupUi(self, HostsUtlMain): self.ButtonANSI.setGeometry(QtCore.QRect(0, 160, 48, 48)) self.ButtonANSI.setText(_fromUtf8("")) icon7 = QtGui.QIcon() - icon7.addPixmap(QtGui.QPixmap(_fromUtf8(":/buttons/img/icon_ansi.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off) + icon7.addPixmap(QtGui.QPixmap(_fromUtf8(":/buttons/img/buttons/button_ansi.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off) + icon7.addPixmap(QtGui.QPixmap(_fromUtf8(":/buttons/img/buttons/button_ansi_disabled.png")), QtGui.QIcon.Disabled, QtGui.QIcon.Off) self.ButtonANSI.setIcon(icon7) self.ButtonANSI.setIconSize(QtCore.QSize(32, 32)) self.ButtonANSI.setObjectName(_fromUtf8("ButtonANSI")) @@ -189,45 +227,30 @@ def setupUi(self, HostsUtlMain): self.ButtonUTF.setGeometry(QtCore.QRect(60, 160, 48, 48)) self.ButtonUTF.setText(_fromUtf8("")) icon8 = QtGui.QIcon() - icon8.addPixmap(QtGui.QPixmap(_fromUtf8(":/buttons/img/icon_utf.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off) + icon8.addPixmap(QtGui.QPixmap(_fromUtf8(":/buttons/img/buttons/button_utf8.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off) + icon8.addPixmap(QtGui.QPixmap(_fromUtf8(":/buttons/img/buttons/button_utf8_disabled.png")), QtGui.QIcon.Disabled, QtGui.QIcon.Off) self.ButtonUTF.setIcon(icon8) self.ButtonUTF.setIconSize(QtCore.QSize(32, 32)) self.ButtonUTF.setObjectName(_fromUtf8("ButtonUTF")) - self.InfoBox = QtGui.QGroupBox(HostsUtlMain) - self.InfoBox.setGeometry(QtCore.QRect(10, 220, 240, 90)) - sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.InfoBox.sizePolicy().hasHeightForWidth()) - self.InfoBox.setSizePolicy(sizePolicy) - self.InfoBox.setObjectName(_fromUtf8("InfoBox")) - self.layoutWidget2 = QtGui.QWidget(self.InfoBox) - self.layoutWidget2.setGeometry(QtCore.QRect(10, 20, 221, 59)) - self.layoutWidget2.setObjectName(_fromUtf8("layoutWidget2")) - self.InfoLayout = QtGui.QGridLayout(self.layoutWidget2) - self.InfoLayout.setMargin(0) - self.InfoLayout.setObjectName(_fromUtf8("InfoLayout")) - self.labelVersion = QtGui.QLabel(self.layoutWidget2) - self.labelVersion.setObjectName(_fromUtf8("labelVersion")) - self.InfoLayout.addWidget(self.labelVersion, 0, 0, 1, 1) - self.labelVersionData = QtGui.QLabel(self.layoutWidget2) - self.labelVersionData.setObjectName(_fromUtf8("labelVersionData")) - self.InfoLayout.addWidget(self.labelVersionData, 0, 1, 1, 1) - self.labelRelease = QtGui.QLabel(self.layoutWidget2) - self.labelRelease.setObjectName(_fromUtf8("labelRelease")) - self.InfoLayout.addWidget(self.labelRelease, 1, 0, 1, 1) - self.labelReleaseData = QtGui.QLabel(self.layoutWidget2) - self.labelReleaseData.setObjectName(_fromUtf8("labelReleaseData")) - self.InfoLayout.addWidget(self.labelReleaseData, 1, 1, 1, 1) - self.labelLatest = QtGui.QLabel(self.layoutWidget2) - self.labelLatest.setObjectName(_fromUtf8("labelLatest")) - self.InfoLayout.addWidget(self.labelLatest, 2, 0, 1, 1) - self.labelLatestData = QtGui.QLabel(self.layoutWidget2) - self.labelLatestData.setObjectName(_fromUtf8("labelLatestData")) - self.InfoLayout.addWidget(self.labelLatestData, 2, 1, 1, 1) - self.SelectLang = QtGui.QComboBox(HostsUtlMain) + self.SelectLang = QtGui.QComboBox(self.mainFrame) self.SelectLang.setGeometry(QtCore.QRect(520, 320, 108, 25)) self.SelectLang.setObjectName(_fromUtf8("SelectLang")) + self.Prog = QtGui.QProgressBar(self.mainFrame) + self.Prog.setGeometry(QtCore.QRect(10, 320, 500, 25)) + self.Prog.setAlignment(QtCore.Qt.AlignCenter) + self.Prog.setTextVisible(True) + self.Prog.setInvertedAppearance(False) + self.Prog.setObjectName(_fromUtf8("Prog")) + self.TitleLabel = QtGui.QLabel(HostsUtlMain) + self.TitleLabel.setGeometry(QtCore.QRect(20, 20, 250, 25)) + self.TitleLabel.setObjectName(_fromUtf8("TitleLabel")) + self.Copyright = QtGui.QLabel(HostsUtlMain) + self.Copyright.setGeometry(QtCore.QRect(330, 390, 300, 16)) + self.Copyright.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) + self.Copyright.setObjectName(_fromUtf8("Copyright")) + self.label = QtGui.QLabel(HostsUtlMain) + self.label.setGeometry(QtCore.QRect(10, 390, 150, 16)) + self.label.setObjectName(_fromUtf8("label")) self.labelIP.setBuddy(self.SelectMirror) self.labelMirror.setBuddy(self.SelectIP) @@ -244,6 +267,7 @@ def setupUi(self, HostsUtlMain): QtCore.QObject.connect(self.SelectLang, QtCore.SIGNAL(_fromUtf8("currentIndexChanged(QString)")), HostsUtlMain.on_Lang_changed) QtCore.QObject.connect(self.ButtonANSI, QtCore.SIGNAL(_fromUtf8("clicked()")), HostsUtlMain.on_MakeANSI_clicked) QtCore.QObject.connect(self.ButtonUTF, QtCore.SIGNAL(_fromUtf8("clicked()")), HostsUtlMain.on_MakeUTF8_clicked) + QtCore.QObject.connect(self.Copyright, QtCore.SIGNAL(_fromUtf8("linkActivated(QString)")), HostsUtlMain.on_LinkActivated) QtCore.QMetaObject.connectSlotsByName(HostsUtlMain) HostsUtlMain.setTabOrder(self.SelectMirror, self.SelectIP) HostsUtlMain.setTabOrder(self.SelectIP, self.Functionlist) @@ -253,6 +277,9 @@ def setupUi(self, HostsUtlMain): HostsUtlMain.setTabOrder(self.ButtonCheck, self.ButtonUpdate) HostsUtlMain.setTabOrder(self.ButtonUpdate, self.ButtonBackup) HostsUtlMain.setTabOrder(self.ButtonBackup, self.ButtonRestore) + HostsUtlMain.setTabOrder(self.ButtonRestore, self.ButtonANSI) + HostsUtlMain.setTabOrder(self.ButtonANSI, self.ButtonUTF) + HostsUtlMain.setTabOrder(self.ButtonUTF, self.SelectLang) def retranslateUi(self, HostsUtlMain): HostsUtlMain.setWindowTitle(_translate("HostsUtlMain", "Hosts Setup Utility", None)) @@ -264,6 +291,13 @@ def retranslateUi(self, HostsUtlMain): self.labelConnStat.setText(_translate("HostsUtlMain", "N/A", None)) self.labelOS.setText(_translate("HostsUtlMain", "OS", None)) self.labelOSStat.setText(_translate("HostsUtlMain", "N/A", None)) + self.InfoBox.setTitle(_translate("HostsUtlMain", "Hosts Info", None)) + self.labelVersion.setText(_translate("HostsUtlMain", "Version", None)) + self.labelVersionData.setText(_translate("HostsUtlMain", "N/A", None)) + self.labelRelease.setText(_translate("HostsUtlMain", "Release", None)) + self.labelReleaseData.setText(_translate("HostsUtlMain", "N/A", None)) + self.labelLatest.setText(_translate("HostsUtlMain", "Latest", None)) + self.labelLatestData.setText(_translate("HostsUtlMain", "N/A", None)) self.FunctionsBox.setTitle(_translate("HostsUtlMain", "Functions", None)) self.ButtonBackup.setToolTip(_translate("HostsUtlMain", "Backup hosts", None)) self.ButtonBackup.setWhatsThis(_translate("HostsUtlMain", "Backup the hosts file of current system.", None)) @@ -281,15 +315,12 @@ def retranslateUi(self, HostsUtlMain): self.ButtonANSI.setWhatsThis(_translate("HostsUtlMain", "Export to hosts file encoding by ANSI.", None)) self.ButtonUTF.setToolTip(_translate("HostsUtlMain", "Save with UTF-8", None)) self.ButtonUTF.setWhatsThis(_translate("HostsUtlMain", "Export to hosts file encoding by UTF-8.", None)) - self.InfoBox.setTitle(_translate("HostsUtlMain", "Hosts Info", None)) - self.labelVersion.setText(_translate("HostsUtlMain", "Version", None)) - self.labelVersionData.setText(_translate("HostsUtlMain", "N/A", None)) - self.labelRelease.setText(_translate("HostsUtlMain", "Release", None)) - self.labelReleaseData.setText(_translate("HostsUtlMain", "N/A", None)) - self.labelLatest.setText(_translate("HostsUtlMain", "Latest", None)) - self.labelLatestData.setText(_translate("HostsUtlMain", "N/A", None)) + self.TitleLabel.setText(_translate("HostsUtlMain", "Hosts Setup Utility", None)) + self.Copyright.setText(_translate("HostsUtlMain", "Copyleft (C) 2011-2014 huhamhire-hosts", None)) + self.label.setText(_translate("HostsUtlMain", "Powered by PyQT", None)) import qthosts_rc +import style_rc if __name__ == "__main__": import sys diff --git a/qthostsui.ui b/qthostsui.ui index 2bdb5b1..6d01345 100644 --- a/qthostsui.ui +++ b/qthostsui.ui @@ -11,7 +11,7 @@ 0 0 640 - 360 + 420 @@ -23,13 +23,13 @@ 640 - 360 + 420 640 - 360 + 420 @@ -51,534 +51,593 @@ false - + - 10 - 320 - 500 - 25 - - - - Qt::AlignCenter - - - true - - - false - - - - - - 10 - 20 - 240 - 90 + 0 + 40 + 640 + 351 - - - 0 - 0 - + + QFrame::StyledPanel - - Config + + QFrame::Raised - + 10 - 30 - 221 - 50 + 20 + 240 + 90 - - - - - Server - - - SelectMirror - - - - - - - - - - IP Version - - - SelectIP - - - - - - + + + 0 + 0 + + + + Config + + + + + 10 + 25 + 221 + 50 + + + + + - IPv4 + Server + + + SelectMirror - - + + + + + + + - IPv6 + IP Version + + + SelectIP - - - - + + + + + + + IPv4 + + + + + IPv6 + + + + + + - - - - - 10 - 120 - 240 - 90 - - - - - 0 - 0 - - - - Status - - + 10 - 30 - 221 - 40 - - - - - - - Connection - - - - - - - - 75 - true - - - - N/A - - - - - - - OS - - - - - - - - 75 - true - - - - N/A - - - - - - - - - - 260 - 20 - 250 - 290 - - - - Functions - - - - - 10 - 20 - 230 - 260 + 120 + 240 + 90 - + 0 0 + + Status + + + + + 10 + 30 + 221 + 40 + + + + + + + Connection + + + + + + + + 75 + true + + + + N/A + + + + + + + OS + + + + + + + + 75 + true + + + + N/A + + + + + - - - - - 520 - 30 - 110 - 280 - - - - QFrame::NoFrame - - - QFrame::Raised - - - 0 - - - - - 0 - 10 - 48 - 48 - - - - Backup hosts - - - Backup the hosts file of current system. - - - - - - - :/buttons/img/icon_backup.png:/buttons/img/icon_backup.png - - - - 32 - 32 - - - - - - - 60 - 70 - 48 - 48 - - - - Download data file - - - Download the latest data file. - - - - - - - :/buttons/img/icon_fetch.png:/buttons/img/icon_fetch.png - - - - 32 - 32 - - - - - - - 60 - 10 - 48 - 48 - - - - Restore backup - - - Restore a previous backup of hosts file. - - - - - - - :/buttons/img/icon_restore.png:/buttons/img/icon_restore.png - - - - 32 - 32 - - - - + - 0 + 10 220 - 48 - 48 + 240 + 90 - - Apply hosts - - - Apply changes to the hosts file. - - - - - - - :/buttons/img/icon_apply.png:/buttons/img/icon_apply.png - - - - 32 - 32 - + + + 0 + 0 + + + Hosts Info + + + + + 10 + 20 + 221 + 59 + + + + + + + Version + + + + + + + N/A + + + + + + + Release + + + + + + + N/A + + + + + + + Latest + + + + + + + N/A + + + + + - + - 60 - 220 - 48 - 48 + 260 + 20 + 250 + 290 - - Exit - - - Close this tool. - - - - - - - :/buttons/img/icon_exit.png:/buttons/img/icon_exit.png - - - - 32 - 32 - - + + Functions + + + + + 10 + 20 + 230 + 260 + + + + + 0 + 0 + + + - + - 0 - 70 - 48 - 48 + 520 + 30 + 110 + 280 - - Check update / Refresh - - - Check the latest version of hosts data file. - - - - - - - :/buttons/img/icon_update.png:/buttons/img/icon_update.png - - - - 32 - 32 - - + + QFrame::NoFrame + + + QFrame::Raised + + + 0 + + + + + 0 + 10 + 48 + 48 + + + + Backup hosts + + + Backup the hosts file of current system. + + + + + + + :/buttons/img/buttons/button_backup.png + :/buttons/img/buttons/button_backup_disabled.png:/buttons/img/buttons/button_backup.png + + + + 32 + 32 + + + + + + + 60 + 70 + 48 + 48 + + + + Download data file + + + Download the latest data file. + + + + + + + :/buttons/img/buttons/button_download.png + :/buttons/img/buttons/button_download_disabled.png:/buttons/img/buttons/button_download.png + + + + 32 + 32 + + + + + + + 60 + 10 + 48 + 48 + + + + Restore backup + + + Restore a previous backup of hosts file. + + + + + + + :/buttons/img/buttons/button_restore.png + :/buttons/img/buttons/button_restore_disabled.png:/buttons/img/buttons/button_restore.png + + + + 32 + 32 + + + + + + + 0 + 220 + 48 + 48 + + + + Apply hosts + + + Apply changes to the hosts file. + + + + + + + :/buttons/img/buttons/button_apply.png + :/buttons/img/buttons/button_apply_disabled.png:/buttons/img/buttons/button_apply.png + + + + 32 + 32 + + + + + + + 60 + 220 + 48 + 48 + + + + Exit + + + Close this tool. + + + + + + + :/buttons/img/buttons/button_exit.png + :/buttons/img/buttons/button_exit_disabled.png:/buttons/img/buttons/button_exit.png + + + + 32 + 32 + + + + + + + 0 + 70 + 48 + 48 + + + + Check update / Refresh + + + Check the latest version of hosts data file. + + + + + + + :/buttons/img/buttons/button_update.png + :/buttons/img/buttons/button_update_disabled.png:/buttons/img/buttons/button_update.png + + + + 32 + 32 + + + + + + + 0 + 160 + 48 + 48 + + + + Save with ANSI + + + Export to hosts file encoding by ANSI. + + + + + + + :/buttons/img/buttons/button_ansi.png + :/buttons/img/buttons/button_ansi_disabled.png:/buttons/img/buttons/button_ansi.png + + + + 32 + 32 + + + + + + + 60 + 160 + 48 + 48 + + + + Save with UTF-8 + + + Export to hosts file encoding by UTF-8. + + + + + + + :/buttons/img/buttons/button_utf8.png + :/buttons/img/buttons/button_utf8_disabled.png:/buttons/img/buttons/button_utf8.png + + + + 32 + 32 + + + - + - 0 - 160 - 48 - 48 + 520 + 320 + 108 + 25 - - Save with ANSI - - - Export to hosts file encoding by ANSI. - - - - - - - :/buttons/img/icon_ansi.png:/buttons/img/icon_ansi.png - - - - 32 - 32 - - - + - 60 - 160 - 48 - 48 + 10 + 320 + 500 + 25 - - Save with UTF-8 - - - Export to hosts file encoding by UTF-8. - - - + + Qt::AlignCenter - - - :/buttons/img/icon_utf.png:/buttons/img/icon_utf.png + + true - - - 32 - 32 - + + false - + - 10 - 220 - 240 - 90 + 20 + 20 + 250 + 25 - - - 0 - 0 - + + Hosts Setup Utility - - Hosts Info + + + + + 330 + 390 + 300 + 16 + + + + Copyleft (C) 2011-2014 <a href="https://hosts.huhamhire.com/"><span style="text-decoration: none;color: #b1b1b1;">huhamhire-hosts</span></a> + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - 10 - 20 - 221 - 59 - - - - - - - Version - - - - - - - N/A - - - - - - - Release - - - - - - - N/A - - - - - - - Latest - - - - - - - N/A - - - - - - + - 520 - 320 - 108 - 25 + 10 + 390 + 150 + 16 + + Powered by PyQT + - StatusBox - ConfigBox - FunctionsBox - InfoBox - frame - Prog - SelectLang SelectMirror @@ -596,6 +655,7 @@ + @@ -606,7 +666,7 @@ 590 - 281 + 321 627 @@ -621,8 +681,8 @@ on_IPVersion_changed(int) - 231 - 89 + 239 + 131 253 @@ -637,8 +697,8 @@ on_Mirror_changed(int) - 203 - 59 + 239 + 95 255 @@ -670,7 +730,7 @@ 551 - 276 + 316 516 @@ -686,7 +746,7 @@ 547 - 53 + 93 519 @@ -702,7 +762,7 @@ 603 - 43 + 83 629 @@ -718,7 +778,7 @@ 547 - 119 + 159 519 @@ -734,7 +794,7 @@ 606 - 115 + 155 631 @@ -750,7 +810,7 @@ 572 - 333 + 373 541 @@ -766,7 +826,7 @@ 549 - 203 + 243 517 @@ -782,7 +842,7 @@ 607 - 208 + 248 634 @@ -790,6 +850,22 @@ + + Copyright + linkActivated(QString) + HostsUtlMain + on_LinkActivated(QString) + + + 459 + 406 + + + 335 + 405 + + + on_Mirror_changed(int) @@ -803,5 +879,6 @@ on_Lang_changed(QString) on_MakeANSI_clicked() on_MakeUTF8_clicked() + on_LinkActivated(QString) diff --git a/retrievedata.py b/retrievedata.py index 91612cb..93cef40 100644 --- a/retrievedata.py +++ b/retrievedata.py @@ -44,6 +44,21 @@ class RetrieveData(object): _cur = None _database = None + @classmethod + def db_exists(cls, database="hostslist.s3db"): + """Check if database exists - Class Method + + Check whether the database file exists or not. + + Args: + database (str): A string indicating the SQLite database file. + "hostslist.s3db" by default. + + Returns: + A boolean indicating if the database file exists. + """ + return os.path.isfile(database) + @classmethod def connect_db(cls, database="hostslist.s3db"): """Connect to database - Class Method diff --git a/style.qrc b/style.qrc new file mode 100644 index 0000000..9c88d05 --- /dev/null +++ b/style.qrc @@ -0,0 +1,6 @@ + + + img/style/checkbox.png + img/style/down_arrow.png + + diff --git a/style_rc.py b/style_rc.py new file mode 100644 index 0000000..af6e883 --- /dev/null +++ b/style_rc.py @@ -0,0 +1,142 @@ +# -*- coding: utf-8 -*- + +# Resource object code +# +# Created: 周六 11月 30 15:06:56 2013 +# by: The Resource Compiler for PyQt (Qt v4.8.4) +# +# WARNING! All changes made in this file will be lost! + +from PyQt4 import QtCore + +qt_resource_data = "\ +\x00\x00\x01\x57\ +\x89\ +\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ +\x00\x00\x09\x00\x00\x00\x09\x08\x06\x00\x00\x00\xe0\x91\x06\x10\ +\x00\x00\x00\x09\x70\x48\x59\x73\x00\x00\x0e\xc4\x00\x00\x0e\xc4\ +\x01\x95\x2b\x0e\x1b\x00\x00\x00\x20\x63\x48\x52\x4d\x00\x00\x7a\ +\x25\x00\x00\x80\x83\x00\x00\xf9\xff\x00\x00\x80\xe9\x00\x00\x75\ +\x30\x00\x00\xea\x60\x00\x00\x3a\x98\x00\x00\x17\x6f\x92\x5f\xc5\ +\x46\x00\x00\x00\xdd\x49\x44\x41\x54\x78\xda\x5c\x8e\xb1\x4e\x84\ +\x40\x18\x84\x67\xef\x4c\x2c\xc8\xd9\x2c\x0d\x58\x50\x1b\x0b\xc3\ +\xfa\x24\x77\xbd\x0d\x85\x4f\x40\x0b\xbb\xcb\x3b\xd0\x68\x41\x72\ +\xc5\xd2\x28\x4f\x02\xcf\xb1\x97\x40\x61\xd4\xc2\xc4\x62\x2c\xbc\ +\x4d\xd0\x49\xfe\xbf\xf8\x32\xff\x3f\x23\x48\xc2\x5a\x3b\x00\x80\ +\xd6\xfa\x80\xb3\xac\xb5\x03\x49\x18\x63\x0e\x5b\x21\xc4\x90\xe7\ +\xf9\x3e\x49\x92\x9b\xbe\xef\xef\xca\xb2\x7c\xf5\xde\xbf\x04\xe6\ +\x9c\xbb\xbd\x20\xf9\x19\xae\x95\x52\xfb\x2c\xcb\xbe\xa5\x94\x01\ +\x81\xe4\x9b\x38\xbf\x3c\x2a\xa5\x1e\xf0\x4f\xe3\x38\x3e\x37\x4d\ +\xf3\x28\x48\x02\x00\xba\xae\x7b\x97\x52\xee\x82\x61\x59\x96\x8f\ +\xa2\x28\xae\x00\x60\x03\x00\xc6\x98\xe3\xda\x00\x00\x71\x1c\xef\ +\xb4\xd6\x4f\x00\xb0\x05\xf0\x27\x6a\x9e\x67\x44\x51\x04\x00\x48\ +\xd3\xf4\xde\x39\x77\xbd\x21\xf9\xb5\xea\x70\x6a\xdb\xf6\x72\x9a\ +\xa6\xd3\xaa\xf8\xef\xaa\xeb\xda\x57\x55\xe5\x49\x22\xcc\x9a\xfd\ +\x0c\x00\x24\xab\x6e\xfa\x96\x21\xfc\xb8\x00\x00\x00\x00\x49\x45\ +\x4e\x44\xae\x42\x60\x82\ +\x00\x00\x03\xf0\ +\x89\ +\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ +\x00\x00\x07\x00\x00\x00\x05\x08\x04\x00\x00\x00\x23\x93\x3e\x53\ +\x00\x00\x00\x09\x70\x48\x59\x73\x00\x00\x0b\x13\x00\x00\x0b\x13\ +\x01\x00\x9a\x9c\x18\x00\x00\x03\x18\x69\x43\x43\x50\x50\x68\x6f\ +\x74\x6f\x73\x68\x6f\x70\x20\x49\x43\x43\x20\x70\x72\x6f\x66\x69\ +\x6c\x65\x00\x00\x78\xda\x63\x60\x60\x9e\xe0\xe8\xe2\xe4\xca\x24\ +\xc0\xc0\x50\x50\x54\x52\xe4\x1e\xe4\x18\x19\x11\x19\xa5\xc0\x7e\ +\x9e\x81\x8d\x81\x99\x81\x81\x81\x81\x81\x21\x31\xb9\xb8\xc0\x31\ +\x20\xc0\x87\x81\x81\x81\x21\x2f\x3f\x2f\x95\x01\x15\x30\x32\x30\ +\x7c\xbb\xc6\xc0\xc8\xc0\xc0\xc0\x70\x59\xd7\xd1\xc5\xc9\x95\x81\ +\x34\xc0\x9a\x5c\x50\x54\xc2\xc0\xc0\x70\x80\x81\x81\xc1\x28\x25\ +\xb5\x38\x99\x81\x81\xe1\x0b\x03\x03\x43\x7a\x79\x49\x41\x09\x03\ +\x03\x63\x0c\x03\x03\x83\x48\x52\x76\x41\x09\x03\x03\x63\x01\x03\ +\x03\x83\x48\x76\x48\x90\x33\x03\x03\x63\x0b\x03\x03\x13\x4f\x49\ +\x6a\x45\x09\x03\x03\x03\x83\x73\x7e\x41\x65\x51\x66\x7a\x46\x89\ +\x82\xa1\xa5\xa5\xa5\x82\x63\x4a\x7e\x52\xaa\x42\x70\x65\x71\x49\ +\x6a\x6e\xb1\x82\x67\x5e\x72\x7e\x51\x41\x7e\x51\x62\x49\x6a\x0a\ +\x03\x03\x03\xd4\x0e\x06\x06\x06\x06\x5e\x97\xfc\x12\x05\xf7\xc4\ +\xcc\x3c\x05\x23\x03\x55\x06\x2a\x83\x88\xc8\x28\x05\x08\x0b\x11\ +\x3e\x08\x31\x04\x48\x2e\x2d\x2a\x83\x07\x25\x03\x83\x00\x83\x02\ +\x83\x01\x83\x03\x43\x00\x43\x22\x43\x3d\xc3\x02\x86\xa3\x0c\x6f\ +\x18\xc5\x19\x5d\x18\x4b\x19\x57\x30\xde\x63\x12\x63\x0a\x62\x9a\ +\xc0\x74\x81\x59\x98\x39\x92\x79\x21\xf3\x1b\x16\x4b\x96\x0e\x96\ +\x5b\xac\x7a\xac\xad\xac\xf7\xd8\x2c\xd9\xa6\xb1\x7d\x63\x0f\x67\ +\xdf\xcd\xa1\xc4\xd1\xc5\xf1\x85\x33\x91\xf3\x02\x97\x23\xd7\x16\ +\x6e\x4d\xee\x05\x3c\x52\x3c\x53\x79\x85\x78\x27\xf1\x09\xf3\x4d\ +\xe3\x97\xe1\x5f\x2c\xa0\x23\xb0\x43\xd0\x55\xf0\x8a\x50\xaa\xd0\ +\x0f\xe1\x5e\x11\x15\x91\xbd\xa2\xe1\xa2\x5f\xc4\x26\x89\x1b\x89\ +\x5f\x91\xa8\x90\x94\x93\x3c\x26\x95\x2f\x2d\x2d\x7d\x42\xa6\x4c\ +\x56\x5d\xf6\x96\x5c\x9f\xbc\x8b\xfc\x1f\x85\xad\x8a\x85\x4a\x7a\ +\x4a\x6f\x95\xd7\xaa\x14\xa8\x9a\xa8\xfe\x54\x3b\xa8\xde\xa5\x11\ +\xaa\xa9\xa4\xf9\x41\xeb\x80\xf6\x24\x9d\x54\x5d\x2b\x3d\x41\xbd\ +\x57\xfa\x47\x0c\x16\x18\xd6\x1a\xc5\x18\xdb\x9a\xc8\x9b\x32\x9b\ +\xbe\x34\xbb\x60\xbe\xd3\x62\x89\xe5\x04\xab\x3a\xeb\x5c\x9b\x38\ +\xdb\x40\x3b\x57\x7b\x6b\x07\x63\x47\x1d\x27\x35\x67\x25\x17\x05\ +\x57\x79\x37\x05\x77\x65\x0f\x75\x4f\x5d\x2f\x13\x6f\x1b\x1f\x77\ +\xdf\x60\xbf\x04\xff\xfc\x80\xfa\xc0\x89\x41\x4b\x83\x77\x85\x5c\ +\x0c\x7d\x19\xce\x14\x21\x17\x69\x15\x15\x11\x5d\x11\x33\x33\x76\ +\x4f\xdc\x83\x04\xb6\x44\xdd\xa4\xb0\xe4\x86\x94\x35\xa9\x37\xd3\ +\x39\x32\x2c\x32\x33\xb3\xe6\x66\x5f\xcc\x65\xcf\xb3\xcf\xaf\x28\ +\xd8\x54\xf8\xae\x58\xbb\x24\xab\x74\x55\xd9\x9b\x0a\xfd\xca\x92\ +\xaa\x5d\x35\x8c\xb5\x5e\x75\x53\xeb\x1f\x36\xea\x35\xd5\x34\x9f\ +\x6d\x95\x6b\x2b\x6c\x3f\xda\x29\xdd\x55\xd4\x7d\xba\x57\xb5\xaf\ +\xb1\xff\xee\x44\x9b\x49\xb3\x27\xff\x9d\x1a\x3f\xed\xf0\x0c\x8d\ +\x99\xfd\xb3\xbe\xcf\x49\x98\x7b\x7a\xbe\xf9\x82\xa5\x8b\x44\x16\ +\xb7\x2e\xf9\xb6\x2c\x73\xf9\xbd\x95\x21\xab\x4e\xaf\x71\x59\xbb\ +\x6f\xbd\xe5\x86\x6d\x9b\x4c\x36\x6f\xd9\x6a\xb2\x6d\xfb\x0e\xab\ +\x9d\xfb\x77\xbb\xee\x39\xbb\x2f\x6c\xff\x83\x83\x39\x87\x7e\x1e\ +\x69\x3f\x26\x7e\x7c\xc5\x49\xeb\x53\xe7\xce\x24\x9f\xfd\x75\x7e\ +\xd2\x45\xed\x4b\x47\xaf\x24\x5e\xfd\x77\x7d\xce\x4d\x9b\x5b\x77\ +\xef\xd4\xdf\x53\xbe\x7f\xe2\x61\xde\x63\xb1\x27\xfb\x9f\x65\xbe\ +\x10\x79\x79\xf0\x75\xfe\x5b\xf9\x77\x17\x3e\x34\x7d\x32\xfd\xfc\ +\xea\xeb\x82\xef\xe1\x3f\x05\x7e\x9d\xfa\xd3\xfa\xcf\xf1\xff\x7f\ +\x00\x0d\x00\x0f\x34\xfa\x96\xf1\x5d\x00\x00\x00\x20\x63\x48\x52\ +\x4d\x00\x00\x7a\x25\x00\x00\x80\x83\x00\x00\xf9\xff\x00\x00\x80\ +\xe9\x00\x00\x75\x30\x00\x00\xea\x60\x00\x00\x3a\x98\x00\x00\x17\ +\x6f\x92\x5f\xc5\x46\x00\x00\x00\x52\x49\x44\x41\x54\x78\xda\x62\ +\x58\xf5\xe9\xca\x3f\x18\x5c\xfe\x9e\x21\xd3\xff\xc4\x8f\xab\xbf\ +\xaf\xfe\xbe\xfa\xfb\xd0\x97\x68\x63\x86\xff\x0c\x85\x6b\xf7\x7e\ +\xdc\xfb\x71\xf3\x87\xcc\xbc\xff\x0c\x0c\xff\x19\x18\x98\x73\xce\ +\xce\xbd\x1f\x39\xff\x3f\xc3\x7f\x06\x86\xff\x0c\xff\x19\x14\xdd\ +\x2c\xb6\xfe\x67\xf8\xcf\xf0\x9f\x01\x30\x00\x6a\x5f\x2c\x67\x74\ +\xda\xec\xfb\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\ +" + +qt_resource_name = "\ +\x00\x03\ +\x00\x00\x78\xa3\ +\x00\x71\ +\x00\x73\x00\x73\ +\x00\x03\ +\x00\x00\x70\x37\ +\x00\x69\ +\x00\x6d\x00\x67\ +\x00\x05\ +\x00\x7a\xc0\x25\ +\x00\x73\ +\x00\x74\x00\x79\x00\x6c\x00\x65\ +\x00\x0c\ +\x04\x56\x23\x67\ +\x00\x63\ +\x00\x68\x00\x65\x00\x63\x00\x6b\x00\x62\x00\x6f\x00\x78\x00\x2e\x00\x70\x00\x6e\x00\x67\ +\x00\x0e\ +\x04\xa2\xfc\xa7\ +\x00\x64\ +\x00\x6f\x00\x77\x00\x6e\x00\x5f\x00\x61\x00\x72\x00\x72\x00\x6f\x00\x77\x00\x2e\x00\x70\x00\x6e\x00\x67\ +" + +qt_resource_struct = "\ +\x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x01\ +\x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x02\ +\x00\x00\x00\x0c\x00\x02\x00\x00\x00\x01\x00\x00\x00\x03\ +\x00\x00\x00\x18\x00\x02\x00\x00\x00\x02\x00\x00\x00\x04\ +\x00\x00\x00\x28\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\ +\x00\x00\x00\x46\x00\x00\x00\x00\x00\x01\x00\x00\x01\x5b\ +" + +def qInitResources(): + QtCore.qRegisterResourceData(0x01, qt_resource_struct, qt_resource_name, qt_resource_data) + +def qCleanupResources(): + QtCore.qUnregisterResourceData(0x01, qt_resource_struct, qt_resource_name, qt_resource_data) + +qInitResources() diff --git a/theme/darkdefault.qss b/theme/darkdefault.qss new file mode 100644 index 0000000..a1c4309 --- /dev/null +++ b/theme/darkdefault.qss @@ -0,0 +1,289 @@ +QToolTip +{ + border: 1px solid black; + color: #b1b1b1; + background-color: #3c3f41; + padding: 1px; + border-radius: 0px; + opacity: 100; +} + +QDialog#HostsUtlMain +{ + border: 1px solid black; +} + +QWidget +{ + color: #b1b1b1; + background-color: #3c3f41; +} + +QWidget:item:hover +{ + background-color: QLinearGradient( x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #ffa02f, stop: 1 #d7801a); + color: #ffffff; +} + +QWidget:item:selected +{ + background-color: QLinearGradient( x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #ffa02f, stop: 1 #d7801a); + color: #ffffff; +} + +QFrame +{ + border: 0px; + background-color: transparent; +} + +QWidget:disabled +{ + color: #404040; + background-color: #3c3f41; +} + +QAbstractItemView +{ + background-color: QLinearGradient( x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #4d4d4d, stop: 0.1 #646464, stop: 1 #5d5d5d); +} + +QPushButton +{ + color: #b1b1b1; + background-color: QLinearGradient( x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #565656, stop: 0.1 #525252, stop: 0.5 #4e4e4e, stop: 0.9 #4a4a4a, stop: 1 #464646); + border-width: 1px; + border-color: #1e1e1e; + border-style: solid; + border-radius: 6; + padding: 3px; + font-size: 12px; + padding-left: 5px; + padding-right: 5px; + min-width: 32px; + min-height: 18px; +} + +QPushButton:pressed +{ + background-color: QLinearGradient( x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #2d2d2d, stop: 0.1 #2b2b2b, stop: 0.5 #292929, stop: 0.9 #282828, stop: 1 #252525); +} + +QComboBox +{ + selection-background-color: #ffaa00; + background-color: QLinearGradient( x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #565656, stop: 0.1 #525252, stop: 0.5 #4e4e4e, stop: 0.9 #4a4a4a, stop: 1 #464646); + border-style: solid; + border: 1px solid #1e1e1e; + border-radius: 5; +} + +QComboBox:hover, QPushButton:hover +{ + background-color: #5b5d5f; + border: 2px solid QLinearGradient( x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #ffa02f, stop: 1 #d7801a); +} + +QComboBox:on +{ + padding-top: 3px; + padding-left: 4px; + background-color: QLinearGradient( x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #2d2d2d, stop: 0.1 #2b2b2b, stop: 0.5 #292929, stop: 0.9 #282828, stop: 1 #252525); + selection-background-color: #ffaa00; +} + +QComboBox QAbstractItemView +{ + border: 0; + selection-background-color: QLinearGradient( x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #ffa02f, stop: 1 #d7801a); +} + +QComboBox::drop-down +{ + subcontrol-origin: padding; + subcontrol-position: top right; + width: 15px; + + border-left-width: 0px; + border-left-color: darkgray; + border-left-style: solid; /* just a single line */ + border-top-right-radius: 3px; /* same radius as the QComboBox */ + border-bottom-right-radius: 3px; + } + +QComboBox::down-arrow +{ + image: url(:/qss/img/style/down_arrow.png); +} + +QGroupBox { + color: #b1b1b1; + border: 1px solid grey; + border-radius: 5px; + background-color: none; + padding-top: 7px; + padding-bottom: 7px; + margin-top: 7px; /* leave space at the top for the title */ +} + +QGroupBox::title { + top:-7 ex;left: 10px; + subcontrol-origin: border; +} + +QGroupBox:focus +{ + border: 2px solid QLinearGradient( x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #ffa02f, stop: 1 #d7801a); +} + +QListWidget +{ + border: none; +} + +QLabel#TitleLabel +{ + font-size: 18px; + font-weight: bold; +} + +QScrollBar:horizontal { + background: QLinearGradient( x1: 0, y1: 0, x2: 0, y2: 1, stop: 0.0 #1c1c1c, stop: 0.2 #222222, stop: 1 #323232); + height: 9px; + margin: 0px 16px 0 16px; +} + +QScrollBar::handle:horizontal +{ + background: QLinearGradient( x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #585858, stop: 0.5 #474747, stop: 1 #404040); + min-height: 20px; + border: 1px solid #222222; + border-radius: 4px; +} + +QScrollBar::add-line:horizontal { + border: 1px solid #222222; + border-radius: 2px; + background: QLinearGradient( x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #585858, stop: 1 #474747); + width: 14px; + subcontrol-position: right; + subcontrol-origin: margin; +} + +QScrollBar::sub-line:horizontal { + border: 1px solid #222222; + border-radius: 2px; + background: QLinearGradient( x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #585858, stop: 1 #474747); + width: 14px; + subcontrol-position: left; + subcontrol-origin: margin; +} + +QScrollBar::add-page:horizontal, QScrollBar::sub-page:horizontal +{ + background: none; +} + +QScrollBar:vertical +{ + background: QLinearGradient( x1: 0, y1: 0, x2: 1, y2: 0, stop: 0.0 #1c1c1c, stop: 0.2 #222222, stop: 1 #323232); + width: 9px; + margin: 16px 0 16px 0; +} + +QScrollBar::handle:vertical +{ + background: QLinearGradient( x1: 0, y1: 0, x2: 1, y2: 0, stop: 0 #585858, stop: 0.5 #474747, stop: 1 #404040); + min-height: 20px; + border: 1px solid #222222; + border-radius: 4px; +} + +QScrollBar::add-line:vertical +{ + border: 1px solid #222222; + border-radius: 2px; + background: QLinearGradient( x1: 0, y1: 0, x2: 1, y2: 0, stop: 0 #585858, stop: 1 #474747); + height: 14px; + subcontrol-position: bottom; + subcontrol-origin: margin; +} + +QScrollBar::sub-line:vertical +{ + border: 1px solid #222222; + border-radius: 2px; + background: QLinearGradient( x1: 0, y1: 0, x2: 1, y2: 0, stop: 0 #585858, stop: 1 #474747); + height: 14px; + subcontrol-position: top; + subcontrol-origin: margin; +} + + +QScrollBar::add-page:vertical, QScrollBar::sub-page:vertical +{ + background: none; +} + +QHeaderView::section +{ + background-color: QLinearGradient(x1:0, y1:0, x2:0, y2:1, stop:0 #616161, stop: 0.5 #505050, stop: 0.6 #434343, stop:1 #656565); + color: white; + padding-left: 4px; + border: 1px solid #6c6c6c; +} + +QCheckBox:disabled +{ + color: #414141; +} + +QMainWindow::separator +{ + background-color: QLinearGradient(x1:0, y1:0, x2:0, y2:1, stop:0 #161616, stop: 0.5 #151515, stop: 0.6 #212121, stop:1 #343434); + color: white; + padding-left: 4px; + border: 1px solid #4c4c4c; + spacing: 3px; /* spacing between items in the tool bar */ +} + +QMainWindow::separator:hover +{ + background-color: QLinearGradient(x1:0, y1:0, x2:0, y2:1, stop:0 #d7801a, stop:0.5 #b56c17 stop:1 #ffa02f); + color: white; + padding-left: 4px; + border: 1px solid #6c6c6c; + spacing: 3px; /* spacing between items in the tool bar */ +} + +QProgressBar +{ + border: 1px solid grey; + border-radius: 5px; + color: #ffffff; + text-align: center; +} + +QProgressBar::chunk +{ + background-color: QLinearGradient( x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #ffa02f, stop: 1 #d7801a); + border-radius: 5px; +} + +QCheckBox::indicator{ + color: #b1b1b1; + background-color: #3c3f41; + border: 1px solid #b1b1b1; + width: 9px; + height: 9px; +} + +QCheckBox::indicator:checked +{ + image:url(:/qss/img/style/checkbox.png); +} + +QCheckBox::indicator:disabled, QRadioButton::indicator:disabled +{ + border: 1px solid #444; +} diff --git a/utilities.py b/utilities.py index cbb317f..e8a5f78 100644 --- a/utilities.py +++ b/utilities.py @@ -14,7 +14,7 @@ # PURPOSE. # ===================================================================== -__version__ = "0.8" +__version__ = "0.9" __revision__ = "$Id$" __author__ = "huhamhire " @@ -78,8 +78,7 @@ def check_platform(cls): hostname = socket.gethostname() if os.name == "nt": system = "Windows" - path = ''.join([os.getenv("WINDIR"), - "\\System32\\drivers\\etc\\hosts"]) + path = os.getenv("WINDIR") + "\\System32\\drivers\\etc\\hosts" encode = "win_ansi" elif os.name == "posix": path = "/etc/hosts" @@ -106,7 +105,7 @@ def check_privileges(cls): username (str): A string indicating username of the user running current session. flag (bool): A bool flag indicating whether the current session - has root privileges or not. + has write privileges to the hosts file or not. """ if os.name == 'nt': try: @@ -119,13 +118,12 @@ def check_privileges(cls): else: return (os.environ['USERNAME'], True) else: - if 'SUDO_USER' in os.environ and os.geteuid() == 0: - return (os.environ['SUDO_USER'], True) - else: - try: - return (os.environ['USERNAME'], False) - except KeyError: - return (os.environ['USER'], False) + # Check wirte privileges to the hosts file for current user + w_flag = os.access("/etc/hosts", os.W_OK) + try: + return (os.environ['USERNAME'], w_flag) + except KeyError: + return (os.environ['USER'], w_flag) @classmethod def set_network(cls, conf_file="network.conf"): @@ -142,6 +140,7 @@ def set_network(cls, conf_file="network.conf"): for sec in conf.sections(): mirror = {} mirror["tag"] = sec + mirror["label"] = conf.get(sec, "label") mirror["test_url"] = conf.get(sec, "server") mirror["update"] = conf.get(sec, "update") mirrors.append(mirror)