--- system-config-printer-1.1.3+git20090218.orig/debian/changelog +++ system-config-printer-1.1.3+git20090218/debian/changelog @@ -0,0 +1,1151 @@ +system-config-printer (1.1.3+git20090218-0ubuntu18) jaunty; urgency=low + + * debian/patches/55_locale-independent-lower-without-setlocale.patch: + Do not use locale.setlocale() to only convert uppercase to lowercase + letters in pure ASCII text. With many locales Python bugs get be triggered + by that. Define a simple case-conversion function which does not use any + locale-dependent constant or function (LP: #340932). + + -- Till Kamppeter Wed, 1 Apr 2009 16:22:59 +0100 + +system-config-printer (1.1.3+git20090218-0ubuntu17) jaunty; urgency=low + + * debian/patches/26_notification.patch: + - Check notification daemon capabilities to determine if actions are + supported rather than check $GDMSESSION (LP: #339847) + + -- Ken VanDine Tue, 31 Mar 2009 09:54:27 -0400 + +system-config-printer (1.1.3+git20090218-0ubuntu16) jaunty; urgency=low + + * Yet another no-change upload to _really_ build against current + pkgbinarymangler. (LP: #348225) + + -- Martin Pitt Tue, 31 Mar 2009 12:23:52 +0200 + +system-config-printer (1.1.3+git20090218-0ubuntu15) jaunty; urgency=low + + * No-change upload to strip translations from .desktop files. (LP: #348225) + + -- Martin Pitt Mon, 30 Mar 2009 12:59:03 +0200 + +system-config-printer (1.1.3+git20090218-0ubuntu14) jaunty; urgency=low + + * debian/patches/50_work-around-broken-device-ids-in-hplip-ppds-match-model-case-insensitive.patch: + The device IDs in the PPDs of HPLIP 3.9.2 are completely broken and it + happens also that some printers report an all-uppercase device ID. Made + system-config-printer find the correct PPD/driver also in these cases. + Upstream fix (LP: #298701, LP: #306301). + + * debian/patches/53_plugin-autoinstall-with-hplip-3.9.2.patch: Upstream + fix to update check whether proprietary HPLIP plugin is already installed + so that it also works with HPLIP 3.9.2 (LP: #347839, LP: #289410). + + -- Till Kamppeter Wed, 25 Mar 2009 23:59:59 +0100 + +system-config-printer (1.1.3+git20090218-0ubuntu13) jaunty; urgency=low + + * debian/patches/47_fix-name-error-in-update-job.patch: Upstream fix for + crash in job viewer (LP: #343156). + + -- Till Kamppeter Thu, 19 Mar 2009 11:05:47 +0100 + +system-config-printer (1.1.3+git20090218-0ubuntu12) jaunty; urgency=low + + * Removed temporary file which got into the last upload. + + -- Till Kamppeter Thu, 19 Mar 2009 00:29:47 +0100 + +system-config-printer (1.1.3+git20090218-0ubuntu11) jaunty; urgency=low + + * debian/patches/02_install_layout.patch: Use "--root" instead of + "--prefix" when calling setup.py, the latter does not work together + with "--install-layout=deb". Otherwise we get a FTBFS. + + -- Till Kamppeter Wed, 18 Mar 2009 23:59:47 +0100 + +system-config-printer (1.1.3+git20090218-0ubuntu10) jaunty; urgency=low + + * debian/local/source_system-config-printer.py: Add apport hooks for + system-config-printer packages. + + -- Steve Beattie Wed, 18 Mar 2009 23:45:18 +0100 + +system-config-printer (1.1.3+git20090218-0ubuntu9) jaunty; urgency=low + + * debian/patches/45_fix-right-click-menu-shared-command.patch: Upstream fix + for a crash which prevented from making a printer shared or not shared + via the right-click menu on the printer icons in the main window + (LP: #324012). + + -- Till Kamppeter Wed, 18 Mar 2009 23:05:47 +0100 + +system-config-printer (1.1.3+git20090218-0ubuntu8) jaunty; urgency=low + + * debian/patches/01_delay_autostart.patch: Redirect also stderr of the system + tray applet to /dev/null, as a second approach to fix LP: #153610. + + * debian/patches/40_ppds-py-improved-printer-identification.patch: Upstream + patch to improve identification of printers, especially for the situation + of incomplete device IDs reported for network printers. Also made the list + of printer models more readable for PPDs of HPLIP 3.9.2 and of Turboprint. + + * debian/patches/43_do-not-show-firewall-dialog.patch: Do not pop up the + dialog to remember to deactivate the firewall when activating printer + sharing. The dialog is Red Hat/Fedora-specific (LP: #274179). + + -- Till Kamppeter Tue, 17 Mar 2009 09:52:47 +0100 + +system-config-printer (1.1.3+git20090218-0ubuntu7) jaunty; urgency=low + + * debian/patches/37_newprinternotification-conf-new-dbus-defaults.patch: + Upstream patch to adapt the D-Bus policy to the new D-Bus defaults + (LP: #318776). + + -- Till Kamppeter Tue, 10 Mar 2009 16:01:47 +0100 + +system-config-printer (1.1.3+git20090218-0ubuntu6) jaunty; urgency=low + + * debian/patches/33_system-config-printer-crash-on-rename.patch: Upstream fix + for crash on printer renaming (LP: #333260). + + * debian/patches/35_appplet-fix-strftime-call.patch: Upstream fix for crash + in job viewer (LP: #334859). + + -- Till Kamppeter Mon, 9 Mar 2009 12:18:47 +0100 + +system-config-printer (1.1.3+git20090218-0ubuntu5) jaunty; urgency=low + + * debian/patches/01_delay_autostart.patch: Redirect stdout of the system + tray applet to /dev/null, as otherwise it comes to crashes (LP: #153610). + + * debian/patches/30_new-printer-unboundlocalerror.patch: Upstream fix + for crash when adding new printer (LP: #333727). + + -- Till Kamppeter Mon, 9 Mar 2009 10:10:47 +0100 + +system-config-printer (1.1.3+git20090218-0ubuntu4) jaunty; urgency=low + + [ Ken VanDine ] + * Add 26_notification.patch: don't use actions in notifications unless using + the gnome-stracciatella session (LP: #328604) + + [ Martin Pitt ] + * Add 02_install_layout.patch: --install-layout=deb to "setup.py install" + call in Makefile.{am,in}. This makes the package install correctly with + Python 2.6. + + -- Martin Pitt Wed, 04 Mar 2009 23:55:00 +0100 + +system-config-printer (1.1.3+git20090218-0ubuntu3) jaunty; urgency=low + + * Build for all python versions >= 2.5. + + -- Matthias Klose Tue, 24 Feb 2009 23:19:11 +0100 + +system-config-printer (1.1.3+git20090218-0ubuntu2) jaunty; urgency=low + + * Add python-libxml2 on system-config-printer-gnome Depends + field (LP: #327169). + + -- Alessio Treglia Sat, 21 Feb 2009 13:36:44 +0100 + +system-config-printer (1.1.3+git20090218-0ubuntu1) jaunty; urgency=low + + * New upstream release + o GIT 1.1.x snapshot from 18 February 2009 + o This gets all from one GIT branch again, without the ugly patch which + takes one file from another branch. + o Minor bug fixes and translation updates. + * debian/patches/20_fax-as-new-connection.patch: Removed, merged upstream. + + -- Till Kamppeter Wed, 18 Feb 2009 14:17:47 +0100 + +system-config-printer (1.1.3+git20090217-0ubuntu2) jaunty; urgency=low + + * debian/control: Depends on python-smbc. + + -- Till Kamppeter Wed, 18 Feb 2009 12:00:38 +0100 + +system-config-printer (1.1.3+git20090217-0ubuntu1) jaunty; urgency=low + + * New upstream release + o GIT 1.1.x snapshot from 17 February 2009 + o Support for proprietary plugin of HPLIP (firmware, ...) + o If hal-cups-utils does not find an exact driver match, it does + not set up queues any more. Added special mode for this case. + o When creating a new print queue and an exact driver match is found, + the make/model/driver selection steps are skipped (driver can be + changed on the existing queue though). + o Vastky improved device selection screen in New Printer wizard. No + questions in pop-up dialogs any more. + * debian/patches/20_fax-as-new-connection.patch: Fax support for network + printers from HP without pop-up question. Taken from hplip-fax-connection + GIT branch. + * debian/patches/25_enable-hplip-plugin-support.patch: Actually enabled + support for automatically installing the HPLIP plugin. + * debian/system-config-printer-gnome.install: added a new file. + * debian/control: Depends on python-cups 1.9.42 or newer. + + -- Till Kamppeter Wed, 18 Feb 2009 05:19:38 +0100 + +system-config-printer (1.1.2+git20090125-0ubuntu4) jaunty; urgency=low + + * 01_delay_autostart.patch: Add missing "exec", to avoid having the + wrapping dash run forever. + + -- Martin Pitt Tue, 03 Feb 2009 17:08:31 +0100 + +system-config-printer (1.1.2+git20090125-0ubuntu3) jaunty; urgency=low + + * Add 01_delay_autostart.patch: Defer the autostart desktop by 30 + seconds, since this is the only Python process in the GNOME + startup sequence, and contributes to slow startup. + + -- Martin Pitt Tue, 03 Feb 2009 12:24:00 +0100 + +system-config-printer (1.1.2+git20090125-0ubuntu2) jaunty; urgency=low + + * Add debian/system-config-printer-gnome.preinst: Remove obsolete + conffile /etc/xdg/autostart/redhat-print-applet.desktop on + upgrades, to avoid starting the applet twice. (LP: #323014) + + -- Martin Pitt Sun, 01 Feb 2009 23:47:09 +0100 + +system-config-printer (1.1.2+git20090125-0ubuntu1) jaunty; urgency=low + + * New upstream release + o GIT 1.1.x snapshot from 25 January 2009 + * debian/system-config-printer-common.install, + debian/system-config-printer-gnome.install: Updated file lists + for the new version. + * debian/patches/10_menu_entries.patch: Regenerated. + * debian/patches/11_no_kde_autostart.diff, + debian/patches/20_jockey-printer-driver-auto-download.patch, + debian/patches/25_openprinting-query-missingfields.patch, + debian/patches/30_better-downloadable-driver-properties.patch, + debian/patches/35_gray-out-settings-menu-entry-when-cups-not-running.patch, + debian/patches/40_do-not-crash-on-deleted-printer.patch: Removed, + applied upstream. + + -- Till Kamppeter Sun, 25 Jan 2009 18:42:39 +0100 + +system-config-printer (1.0.5+git20080819-0ubuntu6) intrepid; urgency=low + + * debian/patches/40_do-not-crash-on-deleted-printer.patch: Fix crashes + when printers get deleted while editing their properties (LP: #284444). + + -- Till Kamppeter Sun, 19 Oct 2008 16:41:26 +0200 + +system-config-printer (1.0.5+git20080819-0ubuntu5) intrepid; urgency=low + + * debian/patches/35_gray-out-settings-menu-entry-when-cups-not-running.patch: + Gray out the "Server" -> "Setttings" menu entry whenthere is no connection + to a CUPS daemon. Calling the Settings dialog in such a situation causes a + crash (LP: 267964). + + -- Till Kamppeter Thu, 9 Oct 2008 17:41:26 +0200 + +system-config-printer (1.0.5+git20080819-0ubuntu4) intrepid; urgency=low + + * debian/patches/30_better-downloadable-driver-properties.patch: For + PPD download from OpenPrinting in the New Printer wizard let the license + text be displayed always if it is present in the driver entry, but let + the user be asked whether he agrees only in case of non-free drivers or + patent issues. Also let the "from manufacturer" and "free software" bits + be shown. + * debian/patches/jockey-printer-driver-auto-download.patch, + debian/patches/openprinting-query-missingfields.patch, + debian/patches/20_jockey-printer-driver-auto-download.patch, + debian/patches/25_openprinting-query-missingfields.patch: Renamed the + patches to assure that they get applied in the correct order. + + -- Till Kamppeter Mon, 6 Oct 2008 11:20:26 +0200 + +system-config-printer (1.0.5+git20080819-0ubuntu3) intrepid; urgency=low + + * debian/patches/openprinting-query-missingfields.patch: + Added some missing fields to the data structure for queried printer + driver records (LP: #269454). + + -- Till Kamppeter Thu, 25 Sep 2008 22:20:26 +0200 + +system-config-printer (1.0.5+git20080819-0ubuntu2) intrepid; urgency=low + + * debian/patches/jockey-printer-driver-auto-download.patch: + Added support for automatic driver download via Jockey. + + -- Till Kamppeter Wed, 24 Sep 2008 23:50:26 +0200 + +system-config-printer (1.0.5+git20080819-0ubuntu1) intrepid; urgency=low + + * New upstream release + o GIT 1.0.x snapshot from 19 August 2008 + o Improvements and fixes on job authentication + o Distinguish whether downloadable driver or PPD is free or non-free + software. + * debian/patches/12_oki_instead_of_okidata.patch: Removed, applied upstream. + + -- Till Kamppeter Tue, 19 Aug 2008 16:30:26 +0200 + +system-config-printer (1.0.5+git20080812-0ubuntu2) intrepid; urgency=low + + * debian/patches/12_oki_instead_of_okidata.patch: Use "Oki" instead of + "Okidata". + + -- Till Kamppeter Wed, 19 Aug 2008 10:05:00 +0200 + +system-config-printer (1.0.5+git20080812-0ubuntu1) intrepid; urgency=low + + * New upstream release + o GIT 1.0.x snapshot from 12 August 2008 + o Ungray the "Apply" button when typing a value into an input field with + spin button (Upstream bug #83). + o Do not load the PPD list when creating an explicit print queue pointing + to a remote CUPS queue (Upstream bug #72). + o Show printer state reasons near the printer state display in the printer + properties dialog (Upstream bug #85). + o Check whether renaming of a printer is possible and show an error if + not (Upstream bug #78). + o Improved input of Samba URIs and scanning for SMB printers (Upstream + bug #66). + * debian/patches/12_case_insensitive_model_sort.patch: Removed, applied + upstream. + + -- Till Kamppeter Tue, 12 Aug 2008 11:05:00 +0200 + +system-config-printer (1.0.4+git20080730-0ubuntu1) intrepid; urgency=low + + * New upstream release + o GIT 1.0.x snapshot from 30 July 2008 + o Switched to 1.0.x GIT branch, as the head branch needs Samba 3.2.x for + full functionality + o Fixes several upstream bugs reported on the GIT snapshot from July 23 + (Upstream bugs #75, #76, #78, #80). + * debian/system-config-printer-gnome.install: Re-introduced contextmenu.py, + applet.glade, system-config-printer.glade, removed subdirectory glade, + file glade.py. + * debian/patches/12_case_insensitive_model_sort.patch: Case-insensitive + sorting of printer model names. + + -- Till Kamppeter Wed, 30 Jul 2008 10:35:46 +0200 + +system-config-printer (1.0.2+git20080723-0ubuntu1) intrepid; urgency=low + + * New upstream release + o GIT snapshot from 23 July 2008 + o Let Ctrl+N directly call the add-printer wizard + o Let internal OpenPrinting database download facility only download + PPDs, not packages. + o Use distutils for python-cupshelpers package + o Printer properties dialog: "Close" button for printers which + appear from broadcasts, "Apply"/"Cancel"/"OK" for locally defined + printers. + o Fixed pre-fill of "Location" field. + o Improved searching of the OpenPrinting database (Upstream bug #25). + o Bug fixes and improvements on the troubleshooting utility. + o When adding an IPP printer, pre-fill the info and location fields + from the remote queue (Upstream bug #37). + o New Advanced Server Settings dialog. + o SMB handling fixes/improvements. + * debian/system-config-printer-gnome.install: Removed file + contextmenu.py, added file AdvancedServerSettings.py. + + -- Till Kamppeter Wed, 23 Jul 2008 16:13:19 +0200 + +system-config-printer (1.0.2+git20080702-0ubuntu1) intrepid; urgency=low + + * New upstream release + o GIT snapshot from 2 July 2008 + o Pre-fill domain in SMB auth dialog (Upstream bug #30) + o Don't strip " Printer" from the end of the ppd-make-and-model string + (Upstream bug #33) + o Moved modules interesting for other apps into the standard Python + path (Upstream bug #34) + o Prevent hp-info from starting systray applet. + o Limit the initial size of the main window (Upstream bug #53). + o Added 'Apply' button to printer properties dialog (Upstream bug #54). + o More bug fixes + * debian/system-config-printer-gnome.install: Renamed ui/ subdirectory to + glade/. + * debian/control, debian/rules, debian/python-cupshelpers.install: New + package "python-cupshelpers" for general printing-related Python modules. + * debian/control, debian/rules: Restrict byte-compilation of Python modules + in "python-cupshelpers" to the current Python version. They do not + byte-compile with Python 2.4. + * debian/system-config-printer-common.install, + debian/python-cupshelpers.install: Moved general printing-related + modules into the "python-cupshelpers" package. + * debian/patches/01_no_rhpl.patch: Removed. Not needed any more. + + -- Till Kamppeter Wed, 02 Jul 2008 19:26:49 +0200 + +system-config-printer (1.0.2+git20080620-0ubuntu1) intrepid; urgency=low + + * New upstream release + o GIT snapshot from 20 June 2008 + * debian/system-config-printer-gnome.install: Added new files glade.py and + userdefault.py, adapted to new layout of *.glade files. + + -- Till Kamppeter Fri, 20 Jun 2008 12:25:54 +0200 + +system-config-printer (1.0.0+git20080609-0ubuntu1) intrepid; urgency=low + + * New upstream release + o GIT snapshot from 09 June 2008 + o Fixed crash bugs: LP: #222494, LP: #222616, LP: #224021, LP: #225241. + o Fixed missing title bar icon (LP: #234750) + o Fixed system-config-printer not starting on unknown locale (LP: #236858) + * debian/system-config-printer-gnome.install: Added new file errordialogs.py + + -- Till Kamppeter Mon, 09 Jun 2008 11:57:59 +0100 + +system-config-printer (0.9.90+svn2385-0ubuntu2) intrepid; urgency=low + + * Add conflicts to system-printer-config-kde in debian/control, + LP: #229016. + * Update debian/copyright: + + remove boilerplate comments + + update years of copyright + + -- Stefan Potyra Sat, 10 May 2008 23:06:32 +0200 + +system-config-printer (0.9.90+svn2385-0ubuntu1) intrepid; urgency=low + + * New upstream release + o Subversion snapshot r2385 + o New main window layout, like gnome-cups-manager + o Lots more of troubleshooting functionality + o More on automatic driver download from OpenPrinting + o Handle unknown locales gracefully (LP: #225532) + * debian/system-config-printer-common.install, + debian/system-config-printer-gnome.install: Added new files. + * debian/patches/30_dont_blank_jetdirect_hostname.patch, + debian/patches/27_crashbug_211867.patch, + debian/patches/28_crashbug_213624.patch, + debian/patches/29_crashbug_214579.patch, + debian/patches/26_crashbug_195508.patch, + debian/patches/24_crashbug_207338.patch, + debian/patches/23_crashbug_203818.patch, + debian/patches/25_crashbug_208305.patch, + debian/patches/15_hpfax_queue_for_network_printer_and_hpfax2.patch, + debian/patches/17_model-name-cleanup-improvements.patch, + debian/patches/20_laserjet-1200-1300-no-postscript.patch: Removed + all upstream patches introduced after Hardy's Feature Freeze, as we + are returning to use the current SVN snapshots. + + -- Till Kamppeter Fri, 02 May 2008 10:05:29 +0200 + +system-config-printer (0.7.81+svn1976-0ubuntu9) hardy; urgency=low + + * debian/patches/30_dont_blank_jetdirect_hostname.patch: Fixed host name + field being empty when a discovered JetDirect/Socket printer is the first + entry in the list of devices in the New Printer wizard (LP: #220041). + + -- Till Kamppeter Mon, 21 Apr 2008 17:01:37 +0200 + +system-config-printer (0.7.81+svn1976-0ubuntu8) hardy; urgency=low + + * debian/patches/27_crashbug_211867.patch, + debian/patches/25_crashbug_213624.patch + debian/patches/29_crashbug_214579.patch: Fixed traceback bugs, patches + from upstream (LP: #211867, LP: #213624, LP: #214579). + + [ Kjell Braden ] + * debian/patches/26_crashbug_195508.patch: fix another crasher, thanks + Jeffrey Baker for the patch (LP: #195508) + + -- Till Kamppeter Wed, 16 Apr 2008 16:01:37 +0200 + +system-config-printer (0.7.81+svn1976-0ubuntu7) hardy; urgency=low + + * debian/control: Added missing dependency: python-dbus (LP: #214515). + + -- Till Kamppeter Wed, 9 Apr 2008 14:01:37 -0500 + +system-config-printer (0.7.81+svn1976-0ubuntu6) hardy; urgency=low + + * debian/patches/23_crashbug_207338.patch: Another crasher fix from upstream + (LP: #207338). + + -- Till Kamppeter Sat, 5 Apr 2008 23:01:37 +0100 + +system-config-printer (0.7.81+svn1976-0ubuntu5) hardy; urgency=low + + * debian/patches/23_crashbug_203818.patch, + debian/patches/25_crashbug_208305.patch: Fixes traceback bugs + (LP: #203818, LP: #208305). + + -- Till Kamppeter Wed, 2 Apr 2008 23:59:37 +0100 + +system-config-printer (0.7.81+svn1976-0ubuntu4) hardy; urgency=low + + * debian/patches/15_hpfax_queue_for_network_printer_and_hpfax2.patch: + system-config-printer was not able any more to create fax queues + for network-connected HP multi-function devices after fixing + LP: #165197. This is fixed by this patch. The patch also removes + the newline character from the end of HPLIP URIs for network + print and fax queues and it also adds support for HP's new fax + device class "HP Fax 2" (HP LaserJet M2727), + * debian/patches/17_model-name-cleanup-improvements.patch: Fixed and + improved filtering of driver information from printer model names + to clean list of printer models. Now more types of version numbers + are removed and model names are not so easily broken, like for + example "PSC" was converted to "C" (LP: #205107). + * debian/patches/20_laserjet-1200-1300-no-postscript.patch: For HP LaserJet + 12xx/13xx prefer HPIJS over PostScript, as they do not have enough + memory to render complex graphics with their on-board PostScript + interpreter. This is a workaround for the time being until HP fixes + this in the HPLIP-generated PPDs (LP: #172550). + + -- Till Kamppeter Sun, 23 Mar 2008 23:59:37 +0100 + +system-config-printer (0.7.81+svn1976-0ubuntu3) hardy; urgency=low + + * Add 11_no_kde_autostart.diff to not autostart in KDE (we have + system-config-printer-applet-kde now) + + -- Jonathan Riddell Wed, 12 Mar 2008 15:49:45 +0000 + +system-config-printer (0.7.81+svn1976-0ubuntu2) hardy; urgency=low + + * Drop dependency on python-xml. + + -- Matthias Klose Wed, 27 Feb 2008 12:55:53 +0000 + +system-config-printer (0.7.81+svn1976-0ubuntu1) hardy; urgency=low + + * New upstream release + o Subversion snapshot r1799 + o Several improvements on the new troubleshooting function + o Minor fixes + + -- Till Kamppeter Thu, 14 Feb 2008 01:30:37 +0100 + +system-config-printer (0.7.80+svn1942-0ubuntu2) hardy; urgency=low + + * debian/system-config-printer-common.install, + debian/system-config-printer-gnome.install: Added missing files to the + lists. + + -- Till Kamppeter Wed, 06 Feb 2008 23:40:14 +0100 + +system-config-printer (0.7.80+svn1942-0ubuntu1) hardy; urgency=low + + * New upstream release + o Subversion snapshot r1799 + o Added infrastructure for automatic printer driver download from + the OpenPrinting web site. + + -- Till Kamppeter Tue, 05 Feb 2008 14:20:14 +0100 + +system-config-printer (0.7.78+svn1799-0ubuntu2) hardy; urgency=low + + * Arrange for a second frontend, split package into -common and + -gnome, -kde is a separate source for now but will be included in + the future + + -- Jonathan Riddell Thu, 24 Jan 2008 11:24:13 +0000 + +system-config-printer (0.7.78+svn1799-0ubuntu1) hardy; urgency=low + + * New upstream release + o Subversion snapshot r1799 + o Made assignment of PPDs to auto-detected printers more reliable, + especially for Bluetooth and network printers. This is done by + supporting weird auto-detection output of CUPS backends, as + "Unknown" for make and model but useful info field, device ID + for Bluetooth not identical with device ID for USB/parallel, no + manufacturer name in make-and-model field, case-insensitive search + when cleaning model name. + o Handle the manufacturer name "KONICA MINOLTA" correctly (LP: #64046). + o If the OpenPrinting database (foomatic-db) recommends a non-PostScript + driver, use this driver, even if there is a vendor PPD for the + PostScript mode (HP LaserJet 12xx/13xx, LP: #172550). + o Allow listing of all files in file chooser dialog for selecting a + custom PPD file (LP: #153585). + * debian/control: Added missing dependencies: python-gnome2 and + gnome-icon-theme (LP: #176929). + + -- Till Kamppeter Mon, 07 Jan 2008 16:44:22 +0000 + +system-config-printer (0.7.78+svn1792-0ubuntu1) hardy; urgency=low + + * New upstream release + o Subversion snapshot r1792 + o Fixed crasher bugs: LP: #149393, LP: #159212, LP: #173115, LP: #175500. + o Behave gracefully if CUPS is not running. + o Do not force waiting windows to be on top of other application's + windows (LP: #175766). + + -- Till Kamppeter Fri, 21 Dec 2007 15:21:48 +0000 + +system-config-printer (0.7.78+svn1771-0ubuntu1) hardy; urgency=low + + * New upstream release + o Subversion snapshot r1771 + o Added support for setting up queues pointing to Mac OS X printers, + detected with the dnssd CUPS backend. + o Allow deleting of remote queues, so that queues pointing to Mac OS X + printers can get deleted again. + o Fixed handling of auto-detected IPP queues in the "New printer" wizard. + o Fixed traceback when creating a raw queue. + o Fixed "New Printer" notifications after they got broken by the icon + hiding changes for LP: #151360 and LP: #156816. + o For C/POSIX locale, show only English PPDs. + o Include PPD language in driver description (LP: #161037). + o If there are no jobs but there is a printer warning/error indicated + by the tray icon, set the icon tooltip to the reason description. + o In the printer status window fix columns so that the full printer name + can be seen. + o Set printer icon in "Connect" dialog. + o Set AboutDialog logo by icon name, set URL and email hooks, set icon + (LP: #165101). + o In the printer status window set Ctrl+R accelerator for Refresh menu + entry (LP: #137984). + + -- Till Kamppeter Mon, 03 Dec 2007 21:40:08 +0000 + +system-config-printer (0.7.78+svn1751-0ubuntu1) hardy; urgency=low + + * New upstream release + o Subversion snapshot r1751 + o Performance improvements for detecting printers in the "New Printer" + wizard. + + -- Till Kamppeter Tue, 27 Nov 2007 16:54:24 +0000 + +system-config-printer (0.7.78+svn1740-0ubuntu1) hardy; urgency=low + + * New upstream release + o Subversion snapshot r1740 + o Do not require PNG format for desktop icons (LP: #152634) + o Applet: Throttle the rate of checking for jobs or error messages when in + start-up mode. This prevents the applet being a nuisance when a large + number of CUPS administration operations are performed in a batch. + o Be more tolerant on failures to obtain printer info from CUPS. + o Better check for whether the CUPS server is local. + o Better methods to find default printer. + o Applet: Allow the tray icon to reappear on the next print job when the + user has hidden the applet icon with right-click -> "Hide" (LP: #156816). + o Applet: Hide icon automatically when print job ends (LP: #151360). + * debian/patches/10_menu_entries.patch: Regenerated. + + -- Till Kamppeter Thu, 22 Nov 2007 17:02:25 +0000 + +system-config-printer (0.7.77+svn1699-0ubuntu1) hardy; urgency=low + + * New upstream release + o Subversion snapshot r1699 + o Fix job manager appearing untrunslated (LP: #149572) + o system-config-printer did not respect the user configuration for the + appearance of the toolbar (LP: #135844) + o Use standard icon for menus and system tray, so that they get themable + and scalable (LP: #152634) + o Tooltips for the button bar + o Improvements of layout for IPP and TCP/Socket devices in New Printer + wizard + * debian/patches/20_match_more_printers.patch: Removed, fixed upstream. + + -- Till Kamppeter Thu, 08 Nov 2007 00:53:16 -0700 + +system-config-printer (0.7.75+svn1653-0ubuntu2) gutsy; urgency=low + + * debian/patches/10_menu_entries.patch: Let menu entry for displaying + queued jobs appear in the "Accessories" menu and not under "Systemn + Tools". "Systemn Tools" is KDE-specific (LP: #149529). + * debian/patches/20_match_more_printers.patch: Do best match by + "most important word" case-insensitive. This matches especially + the Canon printers correctly with the Gutenprint PPDs (LP: #149264). + + -- Till Kamppeter Fri, 5 Oct 2007 18:46:02 +0100 + +system-config-printer (0.7.75+svn1653-0ubuntu1) gutsy; urgency=low + + * New upstream release + o Subversion snapshot r1653 + o Set sensitivity of the 'Allow printing from the Internet' checkbox + in the server settings correctly (LP: #146471). + o Fixed typo (LP: #148022). + o Wrap explanation text for 'Other Options' on the 'Job options' tab + (LP: #148010). + o Fixed traceback (LP: #139192). + o Disable the Set Default button when there are no printers available + (LP: #146925). + o Disable the Connect button when the server name is empty (LP: #147450). + o Make 'Default Printer' tool appearing translated (LP: #147788). + * debian/patches/10_menu_entries.patch: Let menu entries appearing + translated (LP: #147782) and let menu entry for displaying the jobs + in the print queues appear (LP: #144113). + + -- Till Kamppeter Wed, 03 Oct 2007 12:46:02 +0100 + +system-config-printer (0.7.75+svn1628-0ubuntu1) gutsy; urgency=low + + * New upstream release + o Subversion snapshot r1628 + o Convert floating point values to strings in a locale-safe manner + (Fixes LP: #145693) + o Let entry for the raw queue appear under the "Generic" printers. + o Just selecting printer type headings should not expand or collapse the + list, but activating them (double-clicking) should (LP: #144106). + o Do not allow test pages for raw queues (LP: #145098). + o ppds.py (PPDs._findBestMatchPPDs): Rather than just looking for + the longest initial match in model order, sort our model name into + the available models and look at the immediate neighbours. Pick + the longest initial match from them (LP: #137580). + o Fixed foomatic recommended driver discovery + o Additional small fixes. + * debian/patches/01_no_rhpl.patch: Updated. + * debian/patches/03_makefile.patch: Removed, not needed any more. + * debian/control: Added missing dependency on python-gobject (Fixes + LP: #144592) + + -- Till Kamppeter Mon, 01 Oct 2007 10:19:28 +0100 + +system-config-printer (0.7.75+svn1566-0ubuntu1) gutsy; urgency=low + + * New upstream release + o Subversion snapshot r1566 + o Fixed crash when clicking on option reset buttons (LP: #135321) + o Made it possible to remove the "Orientatian" setting completely + by clicking its reset button (LP: #140887) + + -- Till Kamppeter Wed, 19 Sep 2007 19:17:50 +0100 + +system-config-printer (0.7.75+svn1557-0ubuntu1) gutsy; urgency=low + + * New upstream release + o Subversion snapshot r1557 + o Let IPP_TAG_NOVALUE attributes have Python value None instead of a + string (Fixes LP: #140887). + o Handle IPP_TAG_NOVALUE by translating it to a valid default value. + * debian/control: Updated "Maintainer:" field. + * debian/control: Require at least python-cups 1.9.27, so that + IPP_TAG_NOVALUE attributes get handled correctly. + + -- Till Kamppeter Wed, 19 Sep 2007 14:36:40 +0100 + +system-config-printer (0.7.75-0ubuntu1) gutsy; urgency=low + + * New upstream release + o Subversion snapshot r1549 - Release 0.7.75 + o Fixed automatic driver selection, now for HP's PostScript printers + the appropriate PostScript PPDs get correctly selected when + automatically creating queues with hal-cups-utils. The workaround + in hal-cups-utils can get removed. + o When changing PPDs for a queue overtaking of the option settings + used with the former PPD is the default now. + o I18n update. + + -- Till Kamppeter Tue, 18 Sep 2007 18:16:32 +0100 + +system-config-printer (0.7.74+svn1539-0ubuntu1) gutsy; urgency=low + + * New upstream release + o Subversion snapshot r1539 + o When a class is removed on the server, remove it from the user interface. + o Fixes on creating SMB print queues (queues pointing to Windows or Samba + server) + o Add "Installed Options" step to the add-printer wizard so that when + creating a print queue the user also configures the optional hardware + accessories (like extra trays, duplex unit, finishers, ...) correctly. + + -- Till Kamppeter Tue, 18 Sep 2007 00:24:48 +0100 + +system-config-printer (0.7.74+svn1504-0ubuntu1) gutsy; urgency=low + + * New upstream release + o Subversion snapshot r1504 + o Let "make install" also install the new file gtk_treeviewtooltips.py + (Fixes LP: #138881). + + -- Till Kamppeter Tue, 11 Sep 2007 15:10:18 +0100 + +system-config-printer (0.7.74+svn1502-0ubuntu1) gutsy; urgency=low + + * New upstream release + o Subversion snapshot r1502 + o Samba settings get saved into the URI now after editing the printer + location (Fixes LP: #138226) + o Ignore OS error in my-default-printer (Fixes LP: #136403) + o SMB scan on demand in separate dialog (to avoide delay when selecting + SMB server in add-printer wizard if there are many Windows boxes in the + network) + o Fixes several GUI inconsistencies + + -- Till Kamppeter Mon, 10 Sep 2007 13:41:39 +0100 + +system-config-printer (0.7.73+svn1429-0ubuntu2) gutsy; urgency=low + + * debian/control: Remove Conflicts/Replaces to gnome-cups-manager again. + update-manager now takes care of this, and the Conflicts: leads to + upgrading troubles (removing ubuntu-desktop). (LP: #107766) + + -- Martin Pitt Mon, 10 Sep 2007 07:36:55 +0200 + +system-config-printer (0.7.73+svn1429-0ubuntu1) gutsy; urgency=low + + * New upstream release + o Subversion snapshot r1429 + o Fixed display of warning message that a shared printer is not really + published due to the CUPS server settings. The message was not removed + when turning on printer sharing in the CUPS server setting. Fixes + LP: 132735 + o Set decent default selection in the main window when + system-config-printer is started without options. Fixes LP: #132652 + o Removed superfluous scrolledwindow+viewport set around the printer list. + Fixes: LP: #134427 + * debian/control: Added "Depends: python-notify". Fixes LP: #129222 + + -- Till Kamppeter Mon, 27 Aug 2007 10:20:22 +0100 + +system-config-printer (0.7.71+-svn1418-0ubuntu1) gutsy; urgency=low + + * New upstream release + o Subversion snapshot r1418 + o Search all SMB servers for a given domain via "nmblookup -R ''". + The former "smbclient -N -L //" is used as a fallback. Fixes + LP: #127152 + o Made sure that all items in the tree list of SMB domains/servers/shares + have the little triangle to show the sub-item list, even before the + sub-items were scanned. Fixes LP: #127152 + o Quote/Unquote all elements of the SMB device URIs, as spaces are + also allowed in SMB host and share names. Fixes LP: #128261 + o Handle exceptions raised by the browse_smb_hosts() function if it + is called before the add-printer wizard window is open. Fixes + LP: #133573 + o Scan SMB host list when in the main window the "Change" button for + the URI is clicked and the URI is an SMB URI. This way the list + of SMB domains/servers/shares in the dialog for setting the URI + does not stay empty. + + -- Till Kamppeter Thu, 23 Aug 2007 09:27:43 +0100 + +system-config-printer (0.7.71+-svn1415-0ubuntu1) gutsy; urgency=low + + * New upstream release + o Subversion snapshot r1415 + o Search for SMB servers not only via "nmblookup -M -- -" but also with + "nmblookup '*'" (LP: #127152). + o Take into account that SMB share names can have spaces when scanning + network for SMB-provided printers (LP: #128261). + o Make sure that in case of the detected printer being unknown always + the text-only printer is pre-selected (LP: #102389). + o Let the generic PostScript PPD coming with CUPS have a higher priority + than the generic PostScript PPD of Foomatic. + o Fixed a traceback when trying to find a PPD for a printer with no + digits in the model name and where the model name does not match + any of the PPDs exactly. + * debian/control: Added "Recommends: hal-cups-utils" (LP: #132994). + + -- Till Kamppeter Tue, 21 Aug 2007 17:51:44 +0100 + +system-config-printer (0.7.71+-svn1410-0ubuntu1) gutsy; urgency=low + + * New upstream release + o Subversion snapshot r1410 + o Allow textonly.ppd and postscript.ppd (for fallback on + unknown printer models) to be at any arbitrary place in the PPD + file directories + o Fall back to postscript.ppd if no textonly.ppd is available. + o If no match is found at all, try searching for the model ID word, + with decreasing significant figures (fixes LP: #131990). + + -- Till Kamppeter Thu, 16 Aug 2007 17:05:09 +0100 + +system-config-printer (0.7.71+-svn1406-0ubuntu1) gutsy; urgency=low + + * New upstream release + o Subversion snapshot r1406 + o Fixes: LP: #131848 LP: #132227 + o Redraw issues fixed and "Please wait" messages added for the device + scanning and PPD list reading + o Improved model matching by ignoring "Series" in model names + o Allow custom test pages + o Make system-config-printer also working on systems without local + CUPS daemon + * debian/patches/04_custom_test_pages.patch, + debian/patches/20_support_cups_nonroot.patch: Removed, merged upstream. + + -- Till Kamppeter Wed, 15 Aug 2007 16:06:42 +0100 + +system-config-printer (0.7.71+-svn1399-0ubuntu2) gutsy; urgency=low + + * Resurrect debian/patches/20_support_cups_nonroot.patch: It is still useful + for talking to remote cups servers without starting s-c-p as root. + * Add debian/patches/04_custom_test_pages.patch: Read the paper size from + current PPD and if there is a file /usr/share/s-c-p/testpage-, + use that as a test page. Otherwise fall back to cups' default one. + * Add debian/local/testpage-{a4,letter}.ps: Ubuntu specific test pages + (taken from gnome-cups-manager). Fixed the A4 version to actually be A4. + * Add debian/system-config-printer.install: Install the test pages. + * debian/control: Conflicts:/Replaces: to gnome-cups-manager, so that we do + not end up with two configuration UIs on upgrades. This is harsh and + blunt, but *shrug*. (LP: #107766) + + -- Martin Pitt Wed, 15 Aug 2007 16:30:31 +0200 + +system-config-printer (0.7.71+-svn1399-0ubuntu1) gutsy; urgency=low + + [ Till Kamppeter ] + * New upstream release + o Subversion snapshot r1399 + o GUI improvements on add-printer wizard + * debian/patches/66_os_environ.patch: Removed, merged upstream + * debian/patches/20_support_cups_nonroot.patch: Rediff + + [ Martin Pitt ] + * Drop 20_support_cups_nonroot.patch. Our cups runs as root now, so this is + not necessary any more. + + -- Till Kamppeter Wed, 15 Aug 2007 13:14:17 +0200 + +system-config-printer (0.7.71+-svn1371-0ubuntu1) gutsy; urgency=low + + * New upstream release + o Subversion snapshot r1371 + * debian/patches/50_my_default_printer_fix_system_default.patch, + debian/patches/60_device_handling_improvements.patch, + debian/patches/65_device_entry_sorting.patch: Removed (merhed upstream) + * debian/patches/66_os_environ.patch: Replaced a wrong "sys.environ()" by + the correct "os.environ" call. + + -- Till Kamppeter Mon, 06 Aug 2007 18:58:14 +0100 + +system-config-printer (0.7.71-0ubuntu2) gutsy; urgency=low + + * debian/patches/60_device_handling_improvements.patch, + debian/patches/65_device_entry_sorting.patch: + Vastly improved handling of detected devices + o If an auto-detected device (USB, network) is supported by HPLIP + only the HPLIP URIs are shown, to assure that the user gets it + correctly set up to get access to the complete functionality + o For auto-detected network MF devices from HP also an entry + for setting up the fax queue is shown + o Make and model info of auto-detected network printers is used to + direct the user to the correct PPD/driver + o For manually entered printers make and model are determined via + SNMP. It is also checked whether the printer is supported by HPLIP + o No "HP Fax" entry any more when no Fax-capable HP printer is + connected. + o When selecting an auto-detected non-HPLIP network printer the + fields of the form on the right are correctly prefilled now. + o Improved sorting of the device list entries. + + -- Till Kamppeter Fri, 03 Aug 2007 19:31:52 +0100 + +system-config-printer (0.7.71-0ubuntu1) gutsy; urgency=low + + * New upstream release + o Merged patches 10_ppd_init_make_model_list.patch, + 30_return_default_ppd.patch and + 40_improve_ppd_driver_selection.patch upstream. + o Handle "socket://..." URIs in a better way (LP: #127074) + o Moved default printer label below make-default button because some + translation strings are very long (LP: #128263) + o my-default-printer: Catch exceptions and error out (LP: #129901) + * Removed patches which were merged upstream. + * 50_my_default_printer_fix_system_default.patch: Fixed "System Default" + button in my-default-printer. + + -- Till Kamppeter Fri, 03 Aug 2007 19:31:52 +0100 + +system-config-printer (0.7.70-1ubuntu4) gutsy; urgency=low + + * debian/patches/40_improve_ppd_driver_selection.patch: Added missing + variable initialization. + + -- Till Kamppeter Wed, 1 Aug 2007 19:05:20 +0100 + +system-config-printer (0.7.70-1ubuntu3) gutsy; urgency=low + + * debian/patches/40_improve_ppd_driver_selection.patch: Improved the + automatic selection of the preferred printer driver/PPD file. This is + especially important for the non-interactive automatic printer setup + via hal-cups-utils. + + One important change (besides driver type priority changes) is that + now both PPDs assigned via IEEE-1284 device ID and PPDs assigned by + simple make/model matching are treated in the same level. With this + HP's PostScript PPDs (do not contain device IDs) can be preferred + against HP's HPIJS (PCL 5c/e) PPDs. + + Improvements: + o HP PostScript printers are set up with HP's PostScript PPDs and + not with the HPIJS PPDs (PCL 5c/e). + o The HP LaserJet 1022 is now set up with "foo2zjs" as recommended + by OpenPrinting, not with HPIJS. Als other HP printers where a + non-HPIJS driver is recommended are set up correctly now. + o Samsung SPL2 printers are set up with SpliX and not with the "gdi" + (SPL1) driver now. + o The recognition of drivers which came with CUPS is adapted to + Ubuntu Linux now. + o There was no distinction between the full-feature and simplified + Gutenprint drivers of the CUPS raster type. + + -- Till Kamppeter Tue, 30 Jul 2007 19:05:20 +0100 + +system-config-printer (0.7.70-1ubuntu2) gutsy; urgency=low + + * debian/patches/30_return_default_ppd.patch: Fix output of a default + PPD file if the /usr/lib/hal-cups-utils/hal_lpadmin script (triggered + by HAL, from hal-cups-utils package) is supplying auto-detection data + of an unknown printer. + + -- Till Kamppeter Tue, 24 Jul 2007 21:49:20 +0100 + +system-config-printer (0.7.70-1ubuntu1) gutsy; urgency=low + + * Merged with Debian unstable. + * debian/control: Added "xmlto" to the "Build-Depends:" line. + * debian/patches/10_ppd_init_make_model_list.patch: Fixed missing + initialization of make/model list (bug in upstream code) + * debian/patches/20_support_cups_nonroot.patch: Added support for CUPS + running as non-root user + + -- Till Kamppeter Tue, 24 Jul 2007 12:59:20 +0100 + +system-config-printer (0.7.70-1) unstable; urgency=low + + * New Upstream Version + + -- Otavio Salvador Sun, 15 Jul 2007 20:47:12 -0300 + +system-config-printer (0.7.69-1) unstable; urgency=low + + * New Upstream Version + * debian/watch: Use git-import-orig instead of uupdate so it integrates + better with our git repository. + * debian/rules: Drop the code to fix the executable permissions on + /usr/share since it's being done properly on upstream tarball. + + -- Otavio Salvador Wed, 04 Jul 2007 12:42:36 -0300 + +system-config-printer (0.7.66-1) unstable; urgency=low + + [ This package has been done using 0.7.62-0ubuntu1 sources as + base. Thanks to Jani Monoses by his work on it ] + + * debian/copyright: Update download URI. + * debian/watch: Add to allow easier upgrade of package version. + * debian/control: Remove versioned dependency of python-cups. + * debian/rules, debian/control: Move from python-central to python-support. + * debian/rules: Fix, by hard, wrong executable permissions on /usr/share. + + -- Otavio Salvador Wed, 04 Jul 2007 12:33:01 -0300 + +system-config-printer (0.7.62-0ubuntu1) feisty; urgency=low + + * New upstream release + fixes bugs, in particular crash on browsing SMB (LP #65834) + * debian/patches/02_interpreter_path.patch + debian/patches/05_desktop_file.patch: drop them, fixed upstream + + -- Jani Monoses Tue, 3 Apr 2007 20:07:37 +0300 + +system-config-printer (0.7.60-0ubuntu2) feisty; urgency=low + + * debian/rules: + Use langpack.mk to integrate with Rosetta + + -- Jani Monoses Tue, 27 Mar 2007 20:54:07 +0300 + +system-config-printer (0.7.60-0ubuntu1) feisty; urgency=low + + * New upstream release + add notification area icon for jobs + fix various bugs inlcuding LP #95629 + * debian/control: + depend on python-cups 1.9.19 + * debian/patches/06_tmpfile_remove_crasher.patch: + drop, part of the release + * merge existing patches + + -- Jani Monoses Tue, 27 Mar 2007 20:15:03 +0300 + +system-config-printer (0.7.56-0ubuntu1) feisty; urgency=low + + * New upstream release + bugfixes, including LP #87115 + support new job options + * debian/control: + require python-cups 1.9.18 + * debian/patches/06_tmpfile_remove_crasher.patch: + patch from upstream CVS to fix crash (LP #92914) + + -- Jani Monoses Wed, 21 Mar 2007 16:46:38 +0200 + +system-config-printer (0.7.55-0ubuntu1) feisty; urgency=low + + * New upstream release in sync with FC7 + bugfixes including crasher (LP #86554 and duplicates) + add GUI for more printer options + * debian/patches/01_no_rhpl.patch: + drop a few hunks that were taken upstream + * debian/patches/05_desktop_file.patch: + change to icon to printer.png from cupsprinter.png in desktop file (LP #85652) + + -- Jani Monoses Mon, 12 Mar 2007 16:13:31 +0200 + +system-config-printer (0.7.51-0ubuntu1) feisty; urgency=low + + * New upstream release: + fix crash when setting network printer as default (LP #84842) + * debian/control: + add dependency on python-glade2 + + -- Jani Monoses Tue, 13 Feb 2007 07:33:28 +0200 + +system-config-printer (0.7.49-0ubuntu1) feisty; urgency=low + + * New upstream release in sync with Fedora Core 6 updates + * debian/control: + depend on python-cups (>= 1.9.17) + + -- Jani Monoses Wed, 24 Jan 2007 10:08:24 +0200 + +system-config-printer (0.7.39-0ubuntu1) feisty; urgency=low + + * New upstream release + * debian/patches/04_cvs_fix_password_entry.patch: dropped. + * debian/control: + depend on python-cups (>= 1.9.15) + fix typo caught by lintian: depend on debhelper (>= 5.0.37.2) + not (>= 5.0.32.7) for Python policy support + + -- Jani Monoses Thu, 23 Nov 2006 16:41:52 +0200 + +system-config-printer (0.7.32-0ubuntu2) edgy; urgency=low + + * debian/patches/04_cvs_fix_password_entry.patch: + Fix invisible char in password dialog, patch from upstream CVS + * Install to /usr/bin not /usr/sbin. + * Add categories to desktop file + + -- Jani Monoses Wed, 11 Oct 2006 18:57:21 +0300 + +system-config-printer (0.7.32-0ubuntu1) edgy; urgency=low + + * New upstream tracking Fedora Core 6 package, fixes several upstream bugs + * debian/control: bump python-cups dependency version to 1.9.13 + + -- Jani Monoses Tue, 10 Oct 2006 14:29:39 +0300 + +system-config-printer (0.7.27-0ubuntu1) edgy; urgency=low + + * Initial package of Fedora Core 6 printer config tool + * debian/01_no_rhpl.patch: + - drop in copy of Conf.py from the RHPL library used by all + Fedora config tools as we do not have it packaged yet. + - use standard gettext module instead of rhpl.translate throughout + * debian/02_interpreter_path.patch: + - replace occurences of '#!/bin/env python' with '#!/usr/bin/python' + * debian/03_makefile.patch: + - change Makefile.in to include Conf.py in the install targets, and + to drop some categories passed to desktop-file-install which make + it fail on Ubuntu. (Did not change Makefile.am and autoreconf as it's + much cleaner this way, the diff being very small) + + -- Jani Monoses Fri, 8 Sep 2006 12:08:23 +0300 + --- system-config-printer-1.1.3+git20090218.orig/debian/system-config-printer-gnome.preinst +++ system-config-printer-1.1.3+git20090218/debian/system-config-printer-gnome.preinst @@ -0,0 +1,10 @@ +#!/bin/sh -e + +case "$1" in + install|upgrade) + if dpkg --compare-versions "$2" lt-nl "1.1.2+git20090125-0ubuntu2"; then + if [ -e /etc/xdg/autostart/redhat-print-applet.desktop ]; then + rm /etc/xdg/autostart/redhat-print-applet.desktop + fi + fi +esac --- system-config-printer-1.1.3+git20090218.orig/debian/README.Debian +++ system-config-printer-1.1.3+git20090218/debian/README.Debian @@ -0,0 +1,8 @@ +system-config-printer for Debian +-------------------------------- + +This package contains the CUPS configuration GUI from Fedora Core 6 +It was changed not to depend on the RHPL libraries which are not (yet) +packaged in Ubuntu. + +-- Jani Monoses , Fri, 8 Sep 2006 12:08:23 +0300 --- system-config-printer-1.1.3+git20090218.orig/debian/system-config-printer-gnome.manpages +++ system-config-printer-1.1.3+git20090218/debian/system-config-printer-gnome.manpages @@ -0,0 +1,2 @@ +debian/tmp/usr/share/man/man1/system-config-printer.1 +debian/tmp/usr/share/man/man1/system-config-printer-applet.1 --- system-config-printer-1.1.3+git20090218.orig/debian/copyright +++ system-config-printer-1.1.3+git20090218/debian/copyright @@ -0,0 +1,34 @@ +This package was debianized by Jani Monoses on +Fri, 8 Sep 2006 12:08:23 +0300 + +It was downloaded from http://cyberelk.net/tim/data/system-config-printer/ + +Upstream Author: Tim Waugh + Florian Festi + +Copyright: 1996-2008 Red Hat, Inc + 2002-2008 Tim Waugh + 2006-2007 Florian Festi + + +License: + + This package is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This package is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this package; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +On Debian systems, the complete text of the GNU General +Public License can be found in `/usr/share/common-licenses/GPL'. + +The Debian packaging is (C) 2006, Jani Monoses and +is licensed under the GPL, see above. --- system-config-printer-1.1.3+git20090218.orig/debian/rules +++ system-config-printer-1.1.3+git20090218/debian/rules @@ -0,0 +1,25 @@ +#!/usr/bin/make -f +# Sample debian/rules that uses cdbs. Originaly written by Robert Millan. +# This file is public domain. + +DEB_PYTHON_SYSTEM = pysupport + +include /usr/share/cdbs/1/rules/debhelper.mk +include /usr/share/cdbs/1/class/autotools.mk +include /usr/share/cdbs/1/rules/simple-patchsys.mk + +DEB_CONFIGURE_EXTRA_FLAGS := --sbindir=/usr/bin + +binary-install/system-config-printer-common:: + dh_pysupport -psystem-config-printer-common /usr/share/system-config-printer/ + +binary-install/system-config-printer-gnome:: + dh_pysupport -psystem-config-printer-gnome /usr/share/system-config-printer/ + +# These modules do not byte-compile with Python 2.4, therefore we have set +# "XS-Python-Version: current" in debian/control and do a versioned +# dh_pysupport call here, leading to byte-compilation only to the current +# default Python version (2.5 or higher). + +binary-install/python-cupshelpers:: + dh_pysupport -ppython-cupshelpers --- system-config-printer-1.1.3+git20090218.orig/debian/control +++ system-config-printer-1.1.3+git20090218/debian/control @@ -0,0 +1,36 @@ +Source: system-config-printer +Section: python +Priority: optional +Maintainer: Ubuntu Core Developers +XSBC-Original-Maintainer: Otavio Salvador +Build-Depends: cdbs (>= 0.4.43), debhelper (>= 5.0.37.2), python-support, python-all-dev (>= 2.3.5-11), libxml-parser-perl, desktop-file-utils, xmlto +Standards-Version: 3.7.2 +XS-Python-Version: all + +Package: system-config-printer-common +Architecture: all +Depends: ${shlibs:Depends}, ${python:Depends}, python-cups (>= 1.9.42), python-smbc, python-dbus, python-cupshelpers +Recommends: hal-cups-utils +Conflicts: system-config-printer, system-config-printer-kde (< 0.09ubuntu1) +Replaces: system-config-printer +Description: Printer configuration GUI + A CUPS printer configuration tool and status applet. + . + This package provides common files used by both frontends. + +Package: system-config-printer-gnome +Architecture: all +Depends: ${shlibs:Depends}, ${python:Depends}, system-config-printer-common, python-gtk2, python-glade2, python-gnome2, python-notify, python-gobject, gnome-icon-theme, python-libxml2 +Conflicts: system-config-printer +Replaces: system-config-printer +Description: Printer configuration GUI + A CUPS printer configuration tool and status applet. + . + This package provides the GTK frontend. + +Package: python-cupshelpers +Architecture: all +Depends: ${shlibs:Depends}, ${python:Depends} +Description: Python modules for printer configuration with CUPS + Python modules for printer configuration with CUPS. The modules have no GUI + and can therefore also be used on headless servers or by background processes. --- system-config-printer-1.1.3+git20090218.orig/debian/system-config-printer.install +++ system-config-printer-1.1.3+git20090218/debian/system-config-printer.install @@ -0,0 +1 @@ +debian/local/testpage*.ps usr/share/system-config-printer/ --- system-config-printer-1.1.3+git20090218.orig/debian/system-config-printer-common.install +++ system-config-printer-1.1.3+git20090218/debian/system-config-printer-common.install @@ -0,0 +1,16 @@ +debian/tmp/usr/share/system-config-printer/config.py +debian/tmp/usr/share/system-config-printer/probe_printer.py +debian/tmp/usr/share/system-config-printer/pysmb.py +debian/tmp/usr/share/system-config-printer/debug.py +debian/tmp/usr/share/system-config-printer/monitor.py +debian/tmp/usr/share/system-config-printer/smburi.py +debian/tmp/usr/share/system-config-printer/statereason.py +debian/tmp/usr/share/system-config-printer/installpackage.py +debian/tmp/usr/share/system-config-printer/PhysicalDevice.py +debian/tmp/usr/share/system-config-printer/ppdippstr.py +debian/tmp/usr/share/system-config-printer/SearchCriterion.py +debian/tmp/usr/share/system-config-printer/XmlHelper.py +debian/tmp/etc/dbus-1/system.d/newprinternotification.conf + +debian/local/testpage*.ps usr/share/system-config-printer/ +debian/local/source_system-config-printer.py /usr/share/apport/package-hooks/ --- system-config-printer-1.1.3+git20090218.orig/debian/watch +++ system-config-printer-1.1.3+git20090218/debian/watch @@ -0,0 +1,2 @@ +version=3 +http://cyberelk.net/tim/data/system-config-printer/system-config-printer-(.*).tar.bz2 debian git-import-orig --- system-config-printer-1.1.3+git20090218.orig/debian/python-cupshelpers.install +++ system-config-printer-1.1.3+git20090218/debian/python-cupshelpers.install @@ -0,0 +1 @@ +debian/tmp/usr/lib/python*/*/cupshelpers/ --- system-config-printer-1.1.3+git20090218.orig/debian/system-config-printer-gnome.install +++ system-config-printer-1.1.3+git20090218/debian/system-config-printer-gnome.install @@ -0,0 +1,30 @@ +debian/tmp/usr/share/applications/system-config-printer.desktop +debian/tmp/usr/share/applications/manage-print-jobs.desktop +debian/tmp/usr/share/applications/my-default-printer.desktop +debian/tmp/usr/share/system-config-printer/AdvancedServerSettings.py +debian/tmp/usr/share/system-config-printer/errordialogs.py +debian/tmp/usr/share/system-config-printer/options.py +debian/tmp/usr/share/system-config-printer/optionwidgets.py +debian/tmp/usr/share/system-config-printer/glade.py +debian/tmp/usr/share/system-config-printer/GroupsPaneModel.py +debian/tmp/usr/share/system-config-printer/GroupsPane.py +debian/tmp/usr/share/system-config-printer/gtkinklevel.py +debian/tmp/usr/share/system-config-printer/gtk_label_autowrap.py +debian/tmp/usr/share/system-config-printer/gtk_treeviewtooltips.py +debian/tmp/usr/share/system-config-printer/my-default-printer.py +debian/tmp/usr/share/system-config-printer/system-config-printer.py +debian/tmp/usr/share/system-config-printer/applet.py +debian/tmp/usr/share/system-config-printer/authconn.py +debian/tmp/usr/share/system-config-printer/jobviewer.py +debian/tmp/usr/share/system-config-printer/userdefault.py +debian/tmp/usr/share/system-config-printer/timedops.py +debian/tmp/usr/share/system-config-printer/ToolbarSearchEntry.py +debian/tmp/usr/share/system-config-printer/HIG.py +debian/tmp/usr/share/system-config-printer/cupspk.py +debian/tmp/usr/share/system-config-printer/troubleshoot/*.py +debian/tmp/usr/share/system-config-printer/icons/*.png +debian/tmp/usr/share/system-config-printer/glade/*.glade +debian/tmp/usr/bin/system-config-printer-applet +debian/tmp/usr/bin/my-default-printer +debian/tmp/usr/bin/system-config-printer +debian/tmp/etc/xdg/autostart/print-applet.desktop --- system-config-printer-1.1.3+git20090218.orig/debian/compat +++ system-config-printer-1.1.3+git20090218/debian/compat @@ -0,0 +1 @@ +5 --- system-config-printer-1.1.3+git20090218.orig/debian/pyversions +++ system-config-printer-1.1.3+git20090218/debian/pyversions @@ -0,0 +1 @@ +2.5- --- system-config-printer-1.1.3+git20090218.orig/debian/local/source_system-config-printer.py +++ system-config-printer-1.1.3+git20090218/debian/local/source_system-config-printer.py @@ -0,0 +1,11 @@ +'''apport package hook for system-config-printer + +(c) 2009 Canonical Ltd. +Author: Brian Murray +''' + +from apport.hookutils import * + +def add_info(report): + attach_hardware(report) + attach_printing(report) --- system-config-printer-1.1.3+git20090218.orig/debian/local/testpage-a4.ps +++ system-config-printer-1.1.3+git20090218/debian/local/testpage-a4.ps @@ -0,0 +1,3371 @@ +%!PS-Adobe-3.0 +%%Title: PPR Test Page +%%Pages: 1 +%%BoundingBox: 0 0 595 842 +%%DocumentNeededResources: font Helvetica +%%EndComments +%%BeginProlog +%%EndProlog +%%BeginSetup +%%IncludeResource: font Helvetica +/Helvetica findfont 10 scalefont setfont +%%IncludeFeature: *PageSize A4 +10 dict begin +%%EndSetup +%%Page: 1 1 +save +% border +gsave +0 setlinewidth +newpath 36.00 dup moveto 0 770.00 rlineto 523.00 0 rlineto 0 -770.00 rlineto +closepath stroke +grestore + +% border +gsave +0 setlinewidth +[1 1] 1 setdash +newpath 31.50 dup moveto 0 779.00 rlineto 532.00 0 rlineto 0 -779.00 rlineto +closepath stroke +grestore + +% border +gsave +0 setlinewidth +[3 1] 2 setdash +newpath 27.00 dup moveto 0 788.00 rlineto 541.00 0 rlineto 0 -788.00 rlineto +closepath stroke +grestore + +% border +gsave +0 setlinewidth +[1 1] 1 setdash +newpath 22.50 dup moveto 0 797.00 rlineto 550.00 0 rlineto 0 -797.00 rlineto +closepath stroke +grestore + +% border +gsave +0 setlinewidth +newpath 18.00 dup moveto 0 806.00 rlineto 559.00 0 rlineto 0 -806.00 rlineto +closepath stroke +grestore + +% border +gsave +0 setlinewidth +[1 1] 1 setdash +newpath 13.50 dup moveto 0 815.00 rlineto 568.00 0 rlineto 0 -815.00 rlineto +closepath stroke +grestore + +% border +gsave +0 setlinewidth +[3 1] 2 setdash +newpath 9.00 dup moveto 0 824.00 rlineto 577.00 0 rlineto 0 -824.00 rlineto +closepath stroke +grestore + +% border +gsave +0 setlinewidth +[1 1] 1 setdash +newpath 4.50 dup moveto 0 833.00 rlineto 586.00 0 rlineto 0 -833.00 rlineto +closepath stroke +grestore + +% Start of EPS setup +/b4_Inc_state save def +/dict_count countdictstack def +/op_count count 1 sub def +userdict begin +/showpage {} def +205.00 721.00 translate +1.00 dup scale +0 neg 0 neg translate +newpath 0 0 moveto 0 81 lineto 350 81 lineto 350 0 lineto closepath clip +% End of EPS setup + +%%BeginDocument: /home/jdub/Documents/Canonical/Logos/Ubuntu_logo.eps +%!PS-Adobe-2.0 EPSF-1.2 + +%%Title: Ubuntu final logo +%%Creator: FreeHand 10.0 +%%CreationDate: 15/9/04 11:16 am +%%BoundingBox: 0 0 350 81 +%%FHPathName:Work:CANONICAL SOFTWARE:Ubuntu:UBUNTU Identity:Ubuntu final logo +%ALDOriginalFile:Work:CANONICAL SOFTWARE:Ubuntu:UBUNTU Identity:Ubuntu final logo +%ALDBoundingBox: -122 -268 473 573 +%%FHPageNum:1 +%%DocumentSuppliedResources: procset Altsys_header 4 0 +%%ColorUsage: Color +%%DocumentProcessColors: Black +%%DocumentCustomColors: (PANTONE 2965 CVC) +%%+ (PANTONE 151 CVC) +%%+ (PANTONE 1235 CVC) +%%+ (PANTONE 179 CVC) +%%+ (0r 43g 61b) +%%+ (244r 72g 0b) +%%+ (251r 139g 0b) +%%+ (212r 0g 0b) +%%CMYKCustomColor: 1 0.38 0 0.69 (PANTONE 2965 CVC) +%%+ 0 0.43 0.87 0 (PANTONE 151 CVC) +%%+ 0 0.275 0.76 0 (PANTONE 1235 CVC) +%%+ 0 0.79 0.94 0 (PANTONE 179 CVC) +%%+ 0.7613 0.5271 0.6244 0.7124 (0r 43g 61b) +%%+ 0.0017 0.7251 0.8508 0 (244r 72g 0b) +%%+ 0.0032 0.4248 0.8274 0 (251r 139g 0b) +%%+ 0.0176 0.9327 0.9184 0 (212r 0g 0b) +%%EndComments +%%BeginFont: Times-Roman +11 dict begin +/FontName (Times-Roman) def +/FontType 1 def +/PaintType 0 def +/FontMatrix [0.001 0 0 0.001 0 0] def +/Encoding 256 array 0 1 255 {1 index exch /.notdef put} for def +Encoding 0 /MT0 put Encoding 1 /MT1 put Encoding 2 /MT2 put Encoding 3 /MT3 put Encoding 4 /MT4 put Encoding 5 /MT5 put +Encoding 6 /MT6 put Encoding 7 /MT7 put Encoding 8 /MT8 put Encoding 9 /MT9 put Encoding 10 /MT10 put Encoding 11 /MT11 put +Encoding 12 /MT12 put Encoding 13 /MT13 put Encoding 14 /MT14 put Encoding 15 /MT15 put Encoding 16 /MT16 put Encoding 17 /MT17 put +Encoding 18 /MT18 put Encoding 19 /MT19 put Encoding 20 /MT20 put Encoding 21 /MT21 put Encoding 22 /MT22 put Encoding 23 /MT23 put +Encoding 24 /MT24 put Encoding 25 /MT25 put Encoding 26 /MT26 put Encoding 27 /MT27 put Encoding 28 /MT28 put Encoding 29 /MT29 put +Encoding 30 /MT30 put Encoding 31 /MT31 put Encoding 32 /MT32 put Encoding 33 /MT33 put Encoding 34 /MT34 put Encoding 35 /MT35 put +Encoding 36 /MT36 put Encoding 37 /MT37 put Encoding 38 /MT38 put Encoding 39 /MT39 put Encoding 40 /MT40 put Encoding 41 /MT41 put +Encoding 42 /MT42 put Encoding 43 /MT43 put Encoding 44 /MT44 put Encoding 45 /MT45 put Encoding 46 /MT46 put Encoding 47 /MT47 put +Encoding 48 /MT48 put Encoding 49 /MT49 put Encoding 50 /MT50 put Encoding 51 /MT51 put Encoding 52 /MT52 put Encoding 53 /MT53 put +Encoding 54 /MT54 put Encoding 55 /MT55 put Encoding 56 /MT56 put Encoding 57 /MT57 put Encoding 58 /MT58 put Encoding 59 /MT59 put +Encoding 60 /MT60 put Encoding 61 /MT61 put Encoding 62 /MT62 put Encoding 63 /MT63 put Encoding 64 /MT64 put Encoding 65 /MT65 put +Encoding 66 /MT66 put Encoding 67 /MT67 put Encoding 68 /MT68 put Encoding 69 /MT69 put Encoding 70 /MT70 put Encoding 71 /MT71 put +Encoding 72 /MT72 put Encoding 73 /MT73 put Encoding 74 /MT74 put Encoding 75 /MT75 put Encoding 76 /MT76 put Encoding 77 /MT77 put +Encoding 78 /MT78 put Encoding 79 /MT79 put Encoding 80 /MT80 put Encoding 81 /MT81 put Encoding 82 /MT82 put Encoding 83 /MT83 put +Encoding 84 /MT84 put Encoding 85 /MT85 put Encoding 86 /MT86 put Encoding 87 /MT87 put Encoding 88 /MT88 put Encoding 89 /MT89 put +Encoding 90 /MT90 put Encoding 91 /MT91 put Encoding 92 /MT92 put Encoding 93 /MT93 put Encoding 94 /MT94 put Encoding 95 /MT95 put +Encoding 96 /MT96 put Encoding 97 /MT97 put Encoding 98 /MT98 put Encoding 99 /MT99 put Encoding 100 /MT100 put Encoding 101 /MT101 put +Encoding 102 /MT102 put Encoding 103 /MT103 put Encoding 104 /MT104 put Encoding 105 /MT105 put Encoding 106 /MT106 put Encoding 107 /MT107 put +Encoding 108 /MT108 put Encoding 109 /MT109 put Encoding 110 /MT110 put Encoding 111 /MT111 put Encoding 112 /MT112 put Encoding 113 /MT113 put +Encoding 114 /MT114 put Encoding 115 /MT115 put Encoding 116 /MT116 put Encoding 117 /MT117 put Encoding 118 /MT118 put Encoding 119 /MT119 put +Encoding 120 /MT120 put Encoding 121 /MT121 put Encoding 122 /MT122 put Encoding 123 /MT123 put Encoding 124 /MT124 put Encoding 125 /MT125 put +Encoding 126 /MT126 put Encoding 127 /MT127 put Encoding 128 /MT128 put Encoding 129 /MT129 put Encoding 130 /MT130 put Encoding 131 /MT131 put +Encoding 132 /MT132 put Encoding 133 /MT133 put Encoding 134 /MT134 put Encoding 135 /MT135 put Encoding 136 /MT136 put Encoding 137 /MT137 put +Encoding 138 /MT138 put Encoding 139 /MT139 put Encoding 140 /MT140 put Encoding 141 /MT141 put Encoding 142 /MT142 put Encoding 143 /MT143 put +Encoding 144 /MT144 put Encoding 145 /MT145 put Encoding 146 /MT146 put Encoding 147 /MT147 put Encoding 148 /MT148 put Encoding 149 /MT149 put +Encoding 150 /MT150 put Encoding 151 /MT151 put Encoding 152 /MT152 put Encoding 153 /MT153 put Encoding 154 /MT154 put Encoding 155 /MT155 put +Encoding 156 /MT156 put Encoding 157 /MT157 put Encoding 158 /MT158 put Encoding 159 /MT159 put Encoding 160 /MT160 put Encoding 161 /MT161 put +Encoding 162 /MT162 put Encoding 163 /MT163 put Encoding 164 /MT164 put Encoding 165 /MT165 put Encoding 166 /MT166 put Encoding 167 /MT167 put +Encoding 168 /MT168 put Encoding 169 /MT169 put Encoding 170 /MT170 put Encoding 171 /MT171 put Encoding 172 /MT172 put Encoding 173 /MT173 put +Encoding 174 /MT174 put Encoding 175 /MT175 put Encoding 176 /MT176 put Encoding 177 /MT177 put Encoding 178 /MT178 put Encoding 179 /MT179 put +Encoding 180 /MT180 put Encoding 181 /MT181 put Encoding 182 /MT182 put Encoding 183 /MT183 put Encoding 184 /MT184 put Encoding 185 /MT185 put +Encoding 186 /MT186 put Encoding 187 /MT187 put Encoding 188 /MT188 put Encoding 189 /MT189 put Encoding 190 /MT190 put Encoding 191 /MT191 put +Encoding 192 /MT192 put Encoding 193 /MT193 put Encoding 194 /MT194 put Encoding 195 /MT195 put Encoding 196 /MT196 put Encoding 197 /MT197 put +Encoding 198 /MT198 put Encoding 199 /MT199 put Encoding 200 /MT200 put Encoding 201 /MT201 put Encoding 202 /MT202 put Encoding 203 /MT203 put +Encoding 204 /MT204 put Encoding 205 /MT205 put Encoding 206 /MT206 put Encoding 207 /MT207 put Encoding 208 /MT208 put Encoding 209 /MT209 put +Encoding 210 /MT210 put Encoding 211 /MT211 put Encoding 212 /MT212 put Encoding 213 /MT213 put Encoding 214 /MT214 put Encoding 215 /MT215 put +Encoding 216 /MT216 put Encoding 217 /MT217 put Encoding 218 /MT218 put Encoding 219 /MT219 put Encoding 220 /MT220 put Encoding 221 /MT221 put +Encoding 222 /MT222 put Encoding 223 /MT223 put Encoding 224 /MT224 put Encoding 225 /MT225 put Encoding 226 /MT226 put Encoding 227 /MT227 put +Encoding 228 /MT228 put Encoding 229 /MT229 put Encoding 230 /MT230 put Encoding 231 /MT231 put Encoding 232 /MT232 put Encoding 233 /MT233 put +Encoding 234 /MT234 put Encoding 235 /MT235 put Encoding 236 /MT236 put Encoding 237 /MT237 put Encoding 238 /MT238 put Encoding 239 /MT239 put +Encoding 240 /MT240 put Encoding 241 /MT241 put Encoding 242 /MT242 put Encoding 243 /MT243 put Encoding 244 /MT244 put Encoding 245 /MT245 put +Encoding 246 /MT246 put Encoding 247 /MT247 put Encoding 248 /MT248 put Encoding 249 /MT249 put Encoding 250 /MT250 put Encoding 251 /MT251 put +Encoding 252 /MT252 put Encoding 253 /MT253 put Encoding 254 /MT254 put Encoding 255 /MT255 put /FontBBox {0 -200 1000 1000 } def +currentdict end currentfile eexec +E98D09D760A3C22CF119F9DC699A22C35B529FBC319140A0049F057F42052E3A8D9AE5679F78981811AF51C2768AFEF74C3FB094B830F80CDDE1A446879430C01F07A76D3070FC382366FDE4922A7E2887FC440409174165DC0E5DB934306DC606D3 + +B7B01A93A226A85F45F9E1CA97A8D4B0AF250F6391EA095F49C543CD6BF92A0085A93936BB2FE277F3FD9C9636479A6EE4483E4C2D2EEC184E757DD2F7374EC2D01FC0266A42B51641F914ED88AED066569E17215A1364E77B23C22D23599BD3E278 + +E67D2CCF0D66EF88DF7D7DB55382093EC7F106B47184BE74430E6ACB842D3838C1F104EAFDAEAD963C3A690561DAB46A659D0369456325AF3E2D0F461086C3A88E05BEF21C28A20A6D0B7A90FB6ECBC3906971E3B38DEFC322EFC2AA4B28148060D6 + +182117247D7E76DFCF5AA3E27E5B0DF28090A5405525AC1BDF82BBB35FD2141B610D45125E8A7F185E20A96D67A9B7032D6F391B1866BBF88BA9C609B8D579F6A057A2FACC75E5155535EFEB600689C5198A5C00DD71533A185373E9C446DC942947 + +8BCCDE3D6563021EF15B4BD7EB02AA6ADFB4F35F7D6497774BA2BB83DE7A9863AC19B1AB85024B16E8521073A04C2CEFAABE4FDE9E78339CD0EB2B7F18ECA9354911685909C4499EB1AF1919C4F3EE314D8FA9300F43331617E3925836923664399C + +4E61BCD1E8F0CE587A600FD3E4F18C4808D7528159909A04CAC620537D0BFA7D0D6EE6721F4F333AE2854083EA94BD7AD43A73080DFE442E669F00B73DF95F717A78AC1174B4D879778EC8A4AD5304B355EDF77B761D1FA75F725249C5FD6F51C6A8 + +3B3BBFD04A2D8E4EAA3F8502DE964898DDFCC5E185C00F7E2CD0D0D4EB6176B90DA8226B5DF7102F917DE0112A58C0C3E1A010DBEFC4E8EB6FEEEEB5EB7A855F6F7226F19974AECEC1A167360FB13062C8A4A55A71FCC432B6ECE5AF99AE56840EC0 + +1525464CC0864DFAAE0A6719047F891AC0B9B2AB5AD5F4285633FB7A7109020787A657356410099509773413CA5FC232981C478C407682B48D3EB7B8D0447FCFFDCD5C06561936958DDE1A76FF77774CE5127D31D7588E24D4BA84D494B9631B8A93 + +43B5E59D8288C0FBE6A05DCE65C7B9864FE6E6904DC3C26D80774FFAED32EF7550C6074DF29D4E9C9EECF20DD5E00701B504AAA48D518AF0BB4BF08BBC622B954D9E45D95AB16320C0EB6CD0854872C54DDA535D88984FEFF17319390A2DBD2AC863 + +C47B97C0FCF6D08ED3ADA68ED3979B27BB4C5C17695ECBD9888690D7D2C565E8B628D47ED4E17075A25541CFFA991B827CF41845BE0BF82F91256B97205CC5E186A9468A2768E497C1CB0E16269CF5DF6F4BC6B0294CE9D86CEF9CC57FB6663A17E3 + +1338E064BD8D0368AA035A137FA814D39F0F13B4F024E5FE848F2B4A7DFDD83D83BB9230361C72C2ECF05836B1D3377DED358917ABABCDE63BD51320BB569B47EF868AC4807F7A710B875AD1BE308AAC76CBDE113D3A98759ECFDB43DE09A49AF1B2 + +14B55D83B9A9D673B123EC00612B4CF0B4DB87C9FAFC44837C8EAD4D4EF9F7A58CDE105ADF44DBFE1179F678231C42488B1C3F7E7B49B1F58D707EA8DB27C36411C4FB5882B7AB1FD7E42E815378BCF060B969D4438A98251CEC8EFB980CF0F94159 + +620AFAAEA57DCED3B2339E1A6D4987242915E460674DD69393D9D963F43347C0446524BB691CB0F3594FA089BAFF5258E9F372FD8A1F59CD0557025FFA2880007C6D7D2FF26D714AC479A5EB774BE8A1A8C663B3BB406FF73AFD1809952BD008C951 + +2BCF447499C28063314277C0923CFF7ABC87F1DB858864EB5EF0BA091C2B723592AB87AA0E92F4CE47FE589A3C029877052B668D0730226AB3E52289A3DAAE44833ADF9EBE86D2029B7D4F3148649199C96D11E947CD65C3BECB5BE98938A951CD95 + +71C698F9EFB913F8D5149C98B853D42642B3105AD1AAE7FE91524DE4D392DA0E4DED736CFC027AEB25966E56E23CDB8C339C9F8F2542EDA520249C1060DBFDC718A186578E6DB24A9FFC1AA7F0458ED2899B8FAAEDE317EA349C3D204FE774FE31FB + +CB2C04350F3198A2972E6B69A9BF98937EC2CE8E57CFEA598349EB89777F27AE96679AAADAA9F0B33635764DCF44A35A0B4161DFE273F20D67B1981ECB1ED514487DAA21101882A21051AAEC6B8C1ADDC0E665F5C465753F7BD11279E20C6A2FB7BF + +B3FBBA1C0EA8C74A16386A3E7DEA2038A6BA052DD3BD23C3279D102451058A65239C5A13691C7277A8C38C417B77DFBAAD47BADD97447886FE244E6429EB1A87E5BDDB1CC1805CDB1981436089930531DC88568EAB02E5EEF2621F7EAD0B9872A044 + +C927E2DD92F79E85C028C2DDC0033D035B1DF6FB9EFB108EF1012447ABD6C997B2C1D5B621245E6AF0E7952C240EC5D15E0CE15CCB57DB1E1AF260EAF66912C36922DB505817CF5FCBEB7D55B88C6EFB949EFE6754114F6E24EBD572D4B41F3A3F7F + +3F428AE5C7839F56236A11DBB062988FAB19D174B3CEB3E22E72D05C717514E523E0370BEE2509D4F1C3002574E759A426B34E594C480D7298554F143CC888778E00CDD383ADC750275E3CBD2E03F7E99A488FDEA29E0041821CAA454AF970B6C0EC + +B94CEEEC683A3020BE614FE6ED90C95C85A758241A7197C5DD7C9BB9F089EC996B5C02A60C1A4DFC69A8B03DEDB6AC72F21800C8ED6C55AF423A4C0744A2FAF0D898FA9B838FDEBAA92BB5A08480ACDF18225E61B47E869CD36B9D2B1CFAE9452856 + +48E62B95341CD8FBFF9CF7500810292C59FB187EA6D149392A3C896C4A8636D8E124EEBC8EED9E950B5933BD7CC062C8702BD71A3F6DC4040EF513405D71A1206BAE2E5D35FE7473BB9145CC43E785C0079B2F4693F0DC1AC005B9ABBEF411E733B0 + +746EED9D7C70E62333488CF39F674CCB94103AC36D2E1E5341286DFF7C0853FC1381B78084A47396FC1910D6D34696858C53BC5A7CC876A205DE16A959E848E9CAA61493E69D6FD7E43CD8F459770323798CB41D301B02E33C3A1D6805DEE7F30F61 + +66BA0F2FBD4C92D25121A2647E8081BF05241DF408C9CE4EED2A630C3018869E51E7F90C030031A6E8FEE178DF9A598A4F1D8CA4C7741AA2C40081C0D48C29A8B4B60A0FE5D7BA4DD1F7CC51282CEF697AC70713546B0933B65246AAAC6A881DFB16 + +B2C55778C2D38323232D2E3299E9E50AC4E819E5AA3D9463985768CAD76F6DDA4821703006CA151F953FE9229F57DF6CDE5FF3A11A64662AF1BB782FC6CD31792D78543AAA9FE0BB68DF1AC79BB3413339093D5DCAAA5CCE1301ADEECD4B8983B6FD + +D19ECC37B505D53E012BF6FB843E921017DC2D3B6423A2781009CD694FA41A53E05AD794E2D47647D9EBDC98522F8750821F138108CE54ADF506F3ADFB7F60261938A2F3884F2325D0EF8623C985F65BAC720ED4A05CECF1E45B43932F16AF1AE31F + +A91BFC596C7347A9908E817EC7C5C162D688F35F7A42FEC1ADA4BC4CA3B60188D3E81D5D7527DD76E350F26E6AAABDC3D436FC0366DDCF1891F828A022EA340311BA1439FC278675A37DF7B3E0434DEF181CF8087C5EF963652F482363F1BBF9472F + +0079E0FBAB2AA1CC576FC5FA7935D484AA1919552D42DE98A5A7BF041DB55F7316FE9D33004F612D9C358416C2DC7826C45BBBD1D3DCE6C7C44894CC9A0F75E4ABC9ADDC8E856B31FD7A8DCD5321AB5B3C8A312FF6B27E75AA24D000F7CAE538248C + +9C91237E793CE433FB1268B7D364F99473A601FAF91BF4C6F0D8520E78B54B15E0DAA545B8E7EBAA7328C249B8BD3A4B631C04B3BDEBED55BD423A00AF948DFF0917F1EABBAB5571F0684913326F83AB12E5B8410D424A6234E376D426DF874DCA08 + +9C2ADB03755E9D04512F5DB4FFC5DE6575D2694C637E3503568D791A2DFCBB49A7088C5DC99BC9FF386FD2970AB67E6D69C575233955128F28AC25DC58116570E92DAE50A3D3573303720F05FCA263CCC46BF83761518A1933628AB4F3E4F5E482AF + +988388F543C4E573589B00B6B9C5DC9B31B4980043BCB4B185A8F7874021C7372D354F5C4D2C0DD830394FAE4B2D012DF6A8A812C1CC027CFFC97C622F4A5815D6D06194DE955D3C2A0531B722801DAC7E32D45EA01E60EED5F2E8FE0D34AC51BEC3 + +31F59756769180831240C6AF6BDB1FA99CCCDEE79E37AFEA26C8F2363F713E6E6FB80895E192ACCA09AE6C67048BC49B2C8AE19C9CB0B8CC117AEC7B8C4C648DBE69E2A9A4E08F2A898F9620CF2C736393ABE828DB4466A4AAB05C98ECDA5BB3F6D5 + +6F7C97F4498A554771F92699AA7DA316B12F9CF0F2BA1B3FF2F52DF35A7CA1E19D4D6B2D28492CB7DA03763CED91A83D69F8551A322B9E6555F2BCD7054F7F6C2E61F354BEA668212A70DBC11DF0381CD0D4CDF439617CD21BF99232CBC454D116E7 + +19B4FB6DA06D005379E45908F711DD745EFA066BB6ECD14FE9F431ABF31D0F530EA1E90BAC2F41BDB3A04894128728E008BCF2AC58EF06292037766B6CD43875414416BC9A6EA1B1517744D16E24C0876C4A3DCBA3F818C69F54FDA05FA86E654BCF + +B7BE84A85B5D020D10771BDE535581758B47C89E4844CE243A3881EBE5B7918F0F735BA046895452A42665E135FDFC19A255E3173E80CA82162CECDAD51DBF78D15E88829B43D66A6EC0002A2A2FBA71916B520EAD7C712E31C28F61A5E4871D2F5E + +A51E7205C4E83E0969BBD470A54DB5BC857629BD4DC93F8A8E99D14364E1E144C119BC65FDAD5CAEAD11CE7A1637145B7B62D76085A2BD2F60AD69575DC479C6C724F3F6CFFD22AACB81730D0C1BD9A7611355C78CA7975BD8126DA08A4F58FC09AA + +FBA94FC866A5874DB529C9DDF85E1BA77C76E9A5D0062FA59761924BC46A8AA36C05EDEE84840A101BB4F0298DD2547BCA3D2C5BD0E35286CCA3E9A893976AA3BAB6D89FA41BC9291BC97209BB4D3DB893F25F54CA6DCDA22149463532C04B0D8C8B + +7D52D433A6F9D8A85E52C496865D8EE00F97A56598F7AA50F1AB5CD6446192FFC837A62D91C60A55BBD25FD7685329D5C92AC23395FDE5244F89108BC3801175A50EEDCD8197305CD372471A6B5B5FA096B1B1B3E67EA4DC158CDF66E142D0758D65 + +E1945074840EB5E2BEF5EAE203CCCF1712B5EC395A7718735082EBF553D32C249B40C8C115719C52D7C7539855D152E3DE21BC2E3A8FF0C88618B3AE0D06360EF0D8809502DD57C79E90ADB4B5A985AF220A26AE22A216C7F6E64574463BFFB089BA + +B849A7AB2D5BDB15C373F735C46FEF09B54DBFF1FAA737C7CDAD9D121775137E8C7CCDE2A7856AD574710A47EE5604297A6DD203C2D41AD4376B21689B7A5B5E334851268DBE9CFE73D403EBEC4EF53DEE0C6811CC3E68E91C0BD2209FC8DD88D594 + +5A5C73E3F48E203AE2A8D8F1762F2AA59D5A0685F457C3CC0AE6A56C7BD7F87C7D482DBA60A6731CC5C0EDCC24BBC161329150A2CE75B445FEADDC153DC7E4B034607A7FB6A45DABF41C8E26404B908B4F573F61E618CE85AAF1DF3B5B05985CB9CD + +34C62417586BA55116B0A89C3A8CF6A75F367151992081A5356C0E006B5970E9AAAFE8D64E8181F2A40A26DBA18B4FE8B3FDBF1117359FF6A486660E68D996046357C1C1F2EBBE29885A69D8D51B4760BEC3271203104E49F387ADB60B227AE66886 + +DECED59CF51611546A6CE5BDB81A1D29A2CAED72091E5466E3E7CB9A1DA74D9C1E7AD505EFD5376429FA3F67DB379DAA6DDCDB0694B9032F687EDDAD8AC562941C16D4E7564FEF24B95D123D759DF9E5CD631165DF3E672BFDE4F0C4ACA785293173 + +35DEC3D2B8706EA2CE7B4BE94F1CFBD9CDDEFD45AAE7547B5A177C6182F772C1236A9175C5D9842DF7AF5D269FDDCCA9600D0CB5DDFE1EF8F9D631AC7C8023E1D79CC0239DFB7C656E6FD1315EEED4C2DD8DDF490FE625C29D91D0F10979494B003B + +38C1261F421C75CEA038A25F08385DEF33EA5F99E416C7A9AFCDE80C0B522A77FB21CEFBDBB8F368987601A4692AED79B4BD6F70142A9E15F644DEC1D7C354B8BAB49D06B4BA5492E9E6C0BDD2BE5A5E73B185804323AC866BB78CA436EC1B6EA4C4 + +8024332F6E697954E2DF9373BCC5146BF1B8597845887AAFDB061CC80ED1E52FD2D9A5EE2B344B3C968B8706DCC892C09D92B05465A2B8C058EFAD7F47B9F9949C57E14C7ED9BC4CAEC197620B6F7696A05889F5D059CC1C1A9349F0854805296C03 + +C11A2A54341A1C8DC41C4EC1E8CC2BA1D3F7082643F4032F199431AC7CD541AC4501C124F45A0F0F3AC801C53996FB058042A035DDFEB39CF5182871B7596599863150DAE8CAF7589E5FCEE36792B842353BD8755438D0C65747DF7690E4B738A961 + +A0069DDC0C1A58FE41856B47FDFA335042BBEBC8DCF1934A204F4B02FD42BEE3EAC7179F3313CC0BA0C02D305487527D315494F978C87416BA1CEDC02E319A376B811506BB52A3193AEBDABC3DA02CD93A96D48A7D550E284B21A6A9A823363FC054 + +D57031196835C4FFBFD4CE5D1F745CCF819CC189F7B5C21BD31BB1664517DE7E793DD9AC52F99B799187CC1E33F6EC39837B20CFF36A9E690DD1B6A7A5FB057619AD11E3D1E5267B02351A170274BF1E0DCA536672F64BD2FA6258949F650CAE92C2 + +8AE96990E4B40862A74AAF3BC3478BE2B251E348080DA797E1AB2986ACF920E8595E5A0701B22BDAF29ED175B591A9E74D1880A3BF83509B6B474B2E9321E441F73511575632A9B4F7E1C8B5E036C09D3EB1FA18B0F7F8516C5F53402C64FD074F8E + +552858FE05E00B2ADEF8820791A3FA2110157B64EEF1B91F35E094C70E893C27A0BA6160940FB73B03CBA0C37EC2513DE62B87B935D466D405085C0BD9E4D7D20F51FA2FC81345CAF6C76753A8A88426DA19C90D56A4ECB3022140775E8DF99990F5 + +EED63DE73BFD7E202EEB14FDEDB7E383D5816F98A10FAF9C25E5D130817344647F329F08C45365B4292B30E41B1FA8752BF2BE06C31E3D7927C436F25DEAC7B844102574D484B631F09CF2DFF49E3A1A078E617392DEE31F2C99D7541647A2B5E283 + +BA4947FB69737AC6BFF24ED19C945C90F57EC335ECEBF7A0A68EF0D8D6C66FA462F0BE53979E7779234AF2A8786FE0407F068BE7605B0603D0F610678FDE77A0ED39E977040EB3528B58B2E99EDC06C39F41118110FFD94FBFCE2258C23ECB7482E5 + +3B96AC0AEFD5F5684555000F6FEA136FB102E43205D73D0083C714BFB1BC100B05514E62734ACA634219CB007FCF48A40D50895EF797C1C50CE8AD445FDE7D40533AF5C82867598F94A5BB9079688425B6E5700C8DAECB795097B5A853E72FC70DB5 + +7C38BA2A69905FDFCA1F9115E234D36C7E45D4704FC8C5C2E0A2E06F4644C47FA9D7C14E1E86A476911E0489F5E40B279D9005422229ADC0C9B90C233E709CDBB8A06DC1BDA179F6F524B0A5EA96AD4EFBD437CF93FFD3BA4068EFCD4EF5AC54575D + +85499F1F923CA79B486C73B87F78446380337C2F858A8742DA9BA25A35832750BBA0DA3AB713A296F11AF480673B79652ED50B8D87A604713EA39E17416CB294E9511AA1C53A601A09864F954D9088B70C163016ED550F9BD308F2961EE13D567FA5 + +E8561D8DD37486B3F2C6EF5092E72736C0515B55AAFE552989596EB59836D990F35389F96F5463E6FACD7E16E2266EACD9B59139CEC9099024A463B09BBDD009C9286225EF04377D90F05B60626010548F5303B85A10ADA4C35E115253D523C6DEC4 + +352DA35412E6905BE331ABDB578AD49718F429DF31BF5F047EC19E4AC44C96AD724F64D89C140DDC3BE846AC0F67B4CF8F3739E819D514840A7A5F6F0811E907B1C4F61B373BDABBE4102061F1433113D923469647A63AE3C3337671DF1ADDA486FA + +A97D15F93DB181B113FE8BB56CD795140F2E2DF9DE8FE3B377F0C7736450FAFAC1DBE5B92512829140FAEAE10E7020460887F1D5A0078EB8A997F1842D5978FE01125FFCE07CD6B3834504B0ED015EC46D862088EC0925428DC31D7CE93E301EC8FB + +65F259102064576A931679DD8E2BEA40103A81163188F727F893C62906B39A83890BD3E1214AB130CAF06C4D819F329BBF3508469C0F1BDEBC997B1EBB90074BCCC2E8F53D6CB49DB90BC5D657CD45C42B9C98A75ECB9CA0F2EF9DDAECDB43ED6EEB + +9E73A12D6BC43A02E5BFE2EFFFA5229123082842FAFF2DF35EC5BD779DE00AE9ACC8B401226FDD3C47E0FE2B30A229EAE5A3E67731A38A71F64DF2A819647B04D742C3BC581F463BB9AEA71F56BC91E064D4BCF7B10584EF5EEF19F320F6A431F4CE + +92C74D6478BB68726FDBF01D7FFB2559E354DDFA2C20ED5FC930DC752018D3C97BAF429DBDD569684E66CA336D6E3CB8E3D06CDE91DCFC11A65AA069AA6AF8B86B64B8227FE43391C2F25AEE5C5D448D3118C734AC72FD90499155BAD0B201F4771C + +A288653D00E07BFAC19F764CA8BBAC390E7B988AED80824D4636D0E5199264EB9477A957AC1BF4CBB85D2F30A6ADA1412981F68433BC54C1FE9DCF6FCBA6CA1441962D11E22026E57085A9EEA8C82274D9CB4B84689616EDADC65EEC0FC6C8C7C660 + +07DA9E3C1B226F394F5F63E8F6B12119E3226639100A6C106A934CAE27C3A4B4971CD98692ED8E29499BA2CE307805D02D3CC209473578CE9679F1E9600AEDCE6CE8F94D7FBFC259214880420E32B7FA18D403FACC876AFD4366AE66B71ECEB5B0C3 + +9BF233422D5C8A85E4253C83DE93A710F42E0719196EF241654B81CF8CB71E625AB43B394EF1F1E6D499566F01EA565FC5A1D39313E9E20FDD654486E70E8A638146902D6E0A69C33212CE0CF9D438FAF47D6F4082CA69A7D5C355A0BD68DB22B2DE + +803513AE9D10021DD618E55362E8F16FEE09FE4AF790328F3E413857D7F0F8CFEC333106A7DAD34B5D43ED46C88910D4E15149809625ECB827CF9BFA2E8648C9623F1F6E1A433AC577EA159D879383B1A13358ABA4D89F7CC8CCBD53CA0CAA8AF46D + +C32B1C063B91EC34A557ABC19F4BF820698D7EDA4C0512E99315B8A0CAFB0B6098FE1A7069B13E25901D2CEC079AAEC6BC877717D59F2EBB46594F7BB13054FA559ECF26D040313607B95980EA91993745E16AAF28BCBBFF5063BC45C042A536BCBD + +16F6B3388D7CD2D026F0F0CC620D81EF807F0599127B6C692EBDACD51FAB52EC3EEA581AC3705A5BD36C222A84FC83852473815897991B47CDD8EA53B4FC3B3E9019B8C811EC7880051A5B9EC627AA6ED1D7C471C6A385713CE6328DFB96D783CE35 + +EE26503FB1AF684AEE51921EECB32D27536EF1098394E44029AFA1C96595148B9FEE4426B8A399BDD49B5D2E1EE4EDD1042F5FFFE87A9DD8EEB421E724307E551C5D9DE705BC532C17E166631092AB9D4E9836895E3D31F4A9EE107A9A527721D00C + +E95ED970D88E3F1AF71BD6764CDF69A6E706BBD085D6CBDCF1E08436E90D0C6534DAD4238E38AD96BA6608D2E963994790149B73235F916B4C9EFBDB0259F2986A7CBBCBD0D5061665AB8C341893CCA8399712866AEAD0681E616D43507AF739E53E + +3C51D15FA81D225F967050D076CB342D2730C6A261F8F9D93A6BF1BBE521843838D7108F1469138F8121474FCB68D8D46024CDEDE604DF9B51909EBBD4E325D44E041ECE559365FA0E5B4FED4CB0914EF5056B1638E1964728F4C860639CE1278FD1 + +BEBC833F6895C5DA1E65AF6E267F9E77144B7D8E805178A7FEADBB8259B6CD27A45D222ECBBB15DC7A641C81D918E0982316DD1C4DE1C71669F4C261E06BA94D3B353A377041400DF18D12CA3495C9FD60CFC33DDA7B746DBA870F33782A52A38310 + +142EE69C8E27DBCA291787BAFEDAAB12B46EF63FF6C6F2A3B15BAD468F583E16292D249DDA851FDE59111A207F4C49F21906376FB80E9A234DAC6B774AB91101964EE1617CCEF91996D6E7496D322BCC14560D80F4808C23F8B790D6DFBA45111968 + +AD41EC0D28AEE7E38C557FEAE188712B4D2716F0540B90F68B41DD68CE831DC246A9B65D130F16754919E966813B0BAB599503F7486E9743506EF2123DB410D6885DC7B97A68666A9A0B40B8E2D1B561426D8526155643E56374DA43D3B12EAEE648 + +B904D08EA7AE9EF32168ABC01FB5487A29E70FE60883859117A02D07AC3EA9BE9072CC5597256D4052DD49FF2F62E5A289B91B768146AFD1BECEE8D0B91AC477E359BF1C4175A3EE1EED1261516B81ABAD17EE510A1023FDBA0F7F6AE681BA707188 + +9B24778FC2DBEB9D521310F9EBE1FD535D08D266B5687A44C9D4C534C67DBA51D402FD66667657F9A0E4DFF1E4364CDA875096BC386CCCB3F6981422FEE24E2B72F695FF35855B84727AC2B5957A4F5EAB97D627C9B420D62864A34FAC9CF4E3D632 + +DCFC7E0B37FC51809EDC7C09BAE14C0A7C19E3FA83A1E3322716203BABCE69BCC9DE8708576157F7B7C53731B5CC4B36FDD9C4467958C1921EB333B1398E1C70B0F4F0E8EA82DF28281483A3F7FCF90AC6310D2C9F521A44D4E7915434D98A198000 + +1619F1A6AEC29EC08CA86B55E271BED43B715B5E45E51B165997D32A7E0769890376A518FBA0442B4BF5EB0C0E0893D741BCDDF782D39D99093B81444B8B1D76096FF39F258F7F99A8D70C09F139C71AEB9727295B5432DBC33245F71EB45215744C + +502F7AE7FF13B78A983F09C1EC7C23E57C01A748FF89739DAC8341B347A18F58EA0B391F0F71EF40DBB0DCABC0261655AE870E6BA4FE50FB36F1299E7AE1DC1211E5368182C66FFEBAF83348FA93A8F20EA82D9FF64E55A0FBCCDBE60106D42D4449 + +C440D3CE8CB4643E550C105C9732E78A5062D339E9BA98E0E3238D4B5602E578406FC07C39CE6E1D4821B87E6081634300672E25D592BE6EBF551FAADCC8AEBF8F622339DBEE24FC0EA5856512E775B19285BA518A10F272FD4E9CCCC17940ADD532 + +19A25BF0773C31C5894E06B950833619D137DA1C2BC98FF0B90DEC51D5FD8BC6D69EDD7E5D9E1CA503A8DF97207DAD0FD1327BAE1B861229EC73B4C1E0F710FDBA011D54EA5014F626B3C696BCFAF7D211B9211CF2BD66580D2F5AC172EA31C13A8A + +5933B19D5AEF4B059A7AE5C5F77C1A86B4C2604B4FD93C216A743BC22CD0915CE16CD0EC1D465A988C8223D1E683CA169A67348DD178332EBDDAC7C0F87099A525D97B28CBFFDC59B36D860CB3088B500C3FA3AE008FE6B795C11B84F70221255827 + +818E908F23C20863A618FA8C97B79327FDEC5850640AD744839C3B1F17E258580DEF0386EB52116FAAA422BDA327A93D2983EAEB5E601F8BFEE487B33E51FF4B63B9C7D59DD0DB972F833495D211C7606D4ECFA6F20774A64DB5F153CE13935E8100 + +CCFBDE7B4AAE0B175C5A48CA611F9192C2A507322A9C50D4B4CCEF1E2E501E59C4B3715F447B1157D904FDF61E211057844F7F19D025E9D0D796E67AA64CBDA8EE7FF57F3702A6AA28F793A4937CFC9E9A4C05AE67DE7BC042E1B63590C66CC1138C + +E9F4232BDAC14B49E0E8843BEBB6CD5B7DF5DEDA6256A443BC1404B2CA8233D52247988018A5ED6F2EA65DE42F41B782106A970525BEB5DB5D2606EBB99B3F58595E31C577ED619CAC3DFF1C7CAAD1E29D9208CF16CD4F10781CC8C6F3C149D8DF5E + +F2D15401D9A12DF4E89C4FB412D6AF6C1A6338937B881220AC33EB3F36050203E529F1C3B4AFBA07E1541081AC519611E69424267E5A584E1FB85B810E2F5191C2C721CA942368FE810F435722CC01F431AF3CF43E36ED9D65C28068C31FAFD34CE7 + +7C50DF78BD7E166B8152D5838DE83198F78BFAEA723079936AB5757F69B8CB5A6EFBAB23E5ABDED54B56E6479E1848A85A847448795F4521D5EF4A6CA412E51B81DA725D5E9911D9EE07F69EA044DA317F1824214470B438C6F73F427B1C403554DD + +AFB1455DF1A83F5B99546240358B4073E4445EC7A6D90F7BC2340E461964A949E26BDA05B6F0151B15515CDF5B4E2DB66A8BF9A4E06BC0E8284A63435EAD575C565E5214E68299563BB914B7A10A1EFA568717D8AEB24E8DE4E88A478C4864886749 + +FB105114977D0D70BB82717C1485D72912398F26EB1D63048A354C9A901924082833F2F09071F746BCF94571982E1F43071A2C0478E0B64D32415592C270B5BA6D8BCAFCB30F901ADEB8A4ADCA6C8769EB1007EADFD1C9AED905961A40B18FA2D0EF + +B5922DC692A77E707108E910D3A4FBFF2CADC5E8B60F95D95B7596B100249AC135756EDEFBE6F2175345ACBB4D574D5FF5919EB705429F0E9A933C3CDD069A8D008346FD17EB19622A49CDF543D42F40DBBCBB4D7EB5CB9C4BC6B08219A335B2472C + +E53F6B287FF71F682B8F2CA1D54CF170B3B409B8EB8DE2BE9C0A2AE80868861067EAB370F1E71E1A45196A54A536EADA550EC597F8182BFF992DA7D54ED83B13225272D57F77293CAB09C6219A13732F00B9677C3DD0CF0A423CE759F17BFDCF3588 + +330A95818E138A34698E0182C7FBE8E7467A9A873740F5C7D86B731D1DDB4E920F6CA1F2977368E671190C027664A08BB3DED638596FCD7E2CB2DC61935A9AAF9991780F8AAEEFA506926210CA05C13A28F682B11006F7EAE67C1DBCB75E65D38CD5 + +FC1640FCB27235C46733421AFA2BDFC49FECF101A1E36872B31D450709F7EF4AA35093A5D9EFAB45B396A762B9B3847DE7039213C62254566F501B38B0082B0F7495C3AC70BFE171618FDF23DDF15E01C54240748BA789CC1FDBA04E60B15C920D06 + +BB0F0B44E4F8CDE6AF0457471DEBD49901B2CF5B69FF036D09F2E42E4A5D5E95501716AC322C3F1318142DF046057E30C3A57C0664AC1BDA56C2074806ED2A55AF1385F93EAC06E67B08A45338E4106D8709F22D72FDC4056E8F48942D1D6CF85406 + +A93988784092412C8B1F3FA9666A8A564E5588C1B3C2EAB76C5BA3503DD8DFF85E39369B51CBC5867C87B494EFFD2C4C77B164F0D675DCF4CF0758ADEDB5A581A84B80D106EA0CF1A3AAB1A2E0E58548D5DDA20A061CA48DC16E29325BAA3F74CCA6 + +91BDA8F8D8AB721D05E421D32BA9C8717931E17752403DB7DC25527A9D7E228DE6808C4DD41C0FEA39D1CA44FC76BDF90138481D7F5F50C1BAE7E293BCB9A0B0024B5F5A955A1D5B464E9A1ED2CD1D89DF130803ADD9C86117810C22542AB5CF34E6 + +08A93AEDEC2FC0F2980B4F061FF2A6F7B804E8F74EF00138BCC79D3F173FC39C032B6D433D0F58E94529AD82CE89A4AEC470E53E9840E23C54399BA78275C4DA8215276BF821380656AA7317C1315C06D4946A608EA2655E2EAA2AF178C12B27F1BB + +5972FEC4E7E52E6453C6D8D9914C2C13F3FE58DCB4A7588CE7E507203E194E10333BF6A9A8B4AE4259A7FFBD1406EA4BA3367933CA0FEAF28501CD3BEFCB5737D58164FAABC93C71E7ED3D4E687971EE2A94AE266BEEC4436D61642D2512ABFD5C57 + +E935561BB51CDBCC770C81FAC06AECAE5195A38D62ED9FAD6C0E6059C12848DC5125091C24CFEF785280C8A049F56FEF399B2DA96708EA00E34CDCE5F42B5A98DBB36C68957E23D80D9400F2088F573035DE23851D54BD75B30D3824B63999A582C4 + +D845374B7E2146FF02CB0E4CC2543604ABC6EA1A5FCDD4B90DDA3F3F7061C154E0325ADCE3E0D17216527676EE29385BB5CCE4F08261FB9FD0D8B00914725A0F232237A3424A7FAA17C9165D4D1C500B764F0837C74865FC979381F245B060D95CA5 + +80C542BF6035D1AF6C703BF1BDB3227D1B80C89476F246D3562E0E1C1F019104C6DB14344365E4C0804ECDFCC4F6A04E935C6F6FBBD9E018EBA0027EE6FDF3C7DA51120C881B03010C44859E802200C99A83914A24D0FCEAFA38EE56E3BF415254B0 + +E795E64A21B0BB069F7EECAB7BBF6FF4F5D45EB0900FCC92EE25C71D85C986EE7A606ED1A597A3F0D3FC0A331220723CED3DF13E567FAC1DF080DD8EA2F4B03E34588610A4CFAE4B5E5D0409241F5F5405075AF9B6FA067B9E2A121D3A308900B8F6 + +8C2ECAC33C5408F4A843A6789484D56EA69815F034FE14A0F6F98C946DD4FC27D51B9FC71B9004A17C8E42E9AFFE2ECFD9DF3523E160FA68163C19A69E25FA0A54CBADD1B0C1A83484129017EBCD6725AA7D4E1142A72B56267DCE7C63548F93A3B9 + +012E2A59F3F1ED6C5D04BF141237F29939248DE5EC05BC3668812AF59D33FE20CA234C898D83C5AFDD2AFA543D8497A97A44E23E01940CDD6B47190965CB9CE666E3658617541C1EFA57A1FB40E1885E45621B46E9A0A2884781B63DA201DDEB2ABF + +D10A2264446D81D8F8FF97A6B1B26AB8D652A4A641E2440805E17E05FB37A3057663E51AFC0CF724004E42880C4A4B3C3242E00EC74AA10D24297927768ECFFC57E217F978FA1A9B10C3B9449AAA036C1521D760F6140367DE5F072AF0F3E1B087AF + +04AE96E0E8B6AAA24B3BE6FAD214E28FA169DB089696B8C3DA58110769FD932AC7F39250934C402B0CED56A25AC3AAA4941BDA3C7A44C681C9FB57E82FF930A1B3CCDB05D8FBAF674F4695B4BA98B1D4B53CE97C83E306D2234EE99590B4C04FD07D + +F21ED995891F57A1EE6FA4C6C71FB98C59639B633B6F1E34AE328525D5C6D08A7936885B31733CE77D8192276FF7A2EBC05C28AACF1F7AD85F619133BBFAD0DC723CA9B4BC25AED1EB0F06FD38F79F6C4719058076E4435822E4D37F7D5E756F80F2 + +A484A977E2078F3E6D3CB8B3C6F8DAD874894B61E0C24D3FCC36C8217D6C71718C9AF037A515868EA4E8FF69DB57A43198C9FBAE792269E6FC1A917D6E0A358768DDF871F6F184864CDB2397164B0EA6F85ECD75E2910C4F5E2971F355C21312DA00 + +A586E0909CDB5012CE80AC4BC87822E550952A91E06706C8D00380C5744BAA9D678D41C29C9AAF5CB5DC4AB8A1958E703F7830103426F6216E08AA03768200D5E866D058EBA0E04A8E4E492CFBC1DF5DE271C615C4EDD50F65704C2958E4635F3EB2 + +8DF8EBABBAF2BCF1532AB3AF66AA955EE1EE40894FBC42F976DA6874C728F1450A639ABCA397D8B310EF0CCFD5A57B66FF77CF0AF969E184C8D9A9B3F801C664A2672283EFF95EF36C28ABD9827D1CA9E636AF09B1D782D04F4242D576C1CBD22974 + +9F777687ED0EB8EDEBC29C00B518A456D113C3B099402A41EF98285BD44C8BA42C9A86817C184806EC9B2202C8A0DAC481396212962BD461BC4D2013755006210FE624E9BA44E3269DEF57C4F7FB8BE02C5A0745AA9F9DD7DB671434AE76FB57A15B + +0E4EA5C186BFBE15129D1EA672F34263172A07F74CE57F1978A7B2B66FBE36C14906D512EF6196A609DFE49926A3D5C0EE13D04524544FD5564DE5A82A317EB47AB792F4ADD140A1D397A66B740303DD7D5A8D62D0175F2D4D199151206F7C30763D + +293C78448919F66F77937617455260973FDF39CD864DBC8665CEF81DCE3534E48CD4A8E937E5AE72772CABC4D20D69A025E1DB5D3F26FC7A936BB80ECAAB5295B6856B42BD6377EB91AE19BC74EAF71822060BA5B99E13A2BE98B93ADD603D3E6D81 + +B44EAAA4F7C5457B4405C4110C51AAB8F59DE4ECA08EC9C95B29B2857149C14CD737EC39B30AD1ADE2CF153C31AA220252E4A584B5AE8DA1C38F0DAC089491CA36D7863CDC68EDC0BC65FE74428C353B2FECF18426D50FD66B12EFEB14FA42CED76D + +D7CE8BEAFE4A160BA71AB319B7A04AE596CB7E832C2D161C9155F303AA34B9AFF31CC2A328CBBF564744CE7FC1B7FF55E0A54FC9C4E45E6A16F6AF0BB3688E007D00124349A4B68ED3011D4E2E1A18336BA3B7298A4C04DA2BB251A275F9FAA95CF5 + +F268FF8D60FF26E8D38880A4D805D01F30CAE48D949F5C61D2A1D10E5C4196E0A4DE4F4EB091B94740B3423B8711B45DA6696ED8537CE7BCB56CF7C14AE5BC778C651508D5ECA84C801736CFE53B9A0132CEBA23B25803769D9ADFA135103743BC78 + +10EEA2F1D2F4353A51ED162C8C91CB9B35DFAE73DB597C13EADDB16CCF4BCC86C1074548D80C57981DB4B95E2B4FA6C09732C9946155456DBD8530041F3AE7E357BCAB9BD79D46069DFA39CE5E3109FA5B5AEC6C1F2107392C3D90D7197101306EE7 + +6C6CDBB156B3290C2EBE735726DCF694905ACC02D44F9F8B58EDB4C054116EA957AF09C72FBDA2A2F39C60A12293E5EE9517F7A7A092811D170D6F17EA3CDBDFDBF6F39AC899733583233563559528CD4842E0B7748DA8CD1CBC87E83C848E13B1D0 + +5C0E7E063F99A974A03E4B98698A97BCBBEF9038B38B9CDEB07770409A580ABED37882A5A81FB66F7311C6D06C3ECA34C4D6068328EA8C7D5FC2B585DA6A7DE403F9371488E5B6A04A90F27A5007C05C69D200C91FC713316B24E233E92558FD0D09 + +058C245AAAC724B8173EC30BAC5E26047B78DFED3FFCECE661FBDB3ABFE4CFB6797C754BE0A48883548A1F114800C3756DB044E28D6A2B2E5558AB468ABAE0BBF56F6C30D43AA37A2833D3BC7B544B335EDEAF68C6C91DFF6C094FB8E33EFE5BED2C + +BF39D3633204E3C65272BBC8E3CB448B7D0377BB3BE87EE9489D58E4DD96C17552FF16F39A04402EB72BBB90CA08AB1243FED1F9F9912EE3F6697244BC1F2718DDDCC97B9A3781D3BB91D7DE7A6AF8ADF2D9DC873F40C3E55EC9251CC4C28CA26390 + +67F602140814863323082290C2972D3FE6E058DE8971F4A97BAA8B6730C4CFAB643285A2B346F88A75912B135C5788EE514E2671FB20D58C155010DFBDDA30F0F970BE88B25EC843E97453B067B07FD16BF1D1FE9D40B307635BE7693F985E362334 + +DECA487AC3DB0C6B3EFE58EF0E367C4AC2BBD85609AEB71FDF962E6998520388D218E40320DEF1FEF7816F47F9ACE1F9A5785B788F7D93833767602606F4AF067CD3BE111DBEB992A6061AC9CB549EDFE84D873E8D47E84BD3AEDE68770D4532A787 + +7460CFC811468E6630A62067B56B31027F239D4B7F15CB312211C8B22AD898D3E0C690B4F20BDBF5E7F239D906EBDF8BA38C981D4A80A62D48D8212C480A7B4AEFB6B64AF1B2ACA2D542E4634C0757B17E6D1D3C5991A6B31449C700271FED9C416F + +320D52E5079102E3BDA64DFEC0F8FE61D3D6F8DD476A027C36F7526F989640DBA868B8E6A4A1E11388174638F5609F767BDA2C3D7067185A3F8C4784344E35214F134E0EA8B11F528999160D492D6E11F8AD938B867B853CAA71D104BA4B85E0D459 + +42134EF0C1FE7928068D3538D40D3397DC53D4F954211C54E3FC74C955AD2C15E07D0F07035DAE2101342E48F6AF33E32945BC023BFF7EB503B08F820B83447FBBFC983D95C2178FBCEBB72F01BFB73AA5D4C2D58A6F7F32FC26897B6CC3A4380B69 + +65E5C49900FC7D473531AE24BE0D3832339C37865B5E9AAAC874D3CFCC60F4279599E6401525731F9D1EA2D5503D63A2503DFE9F416A8B6F2CB19BE35F818E6CB565D5185E48C8248559B7F3E9B62353C3A97B9B48D869BC497393BC2757D9F3872B + +8A3C81A137D7A833AF466B02B4187E14E41BF9FD799A5A4E3735ED488AB4F6E5B14A5E17AEF7CE0ECF6063D4FBE005EE977FBDA2C542CACA11236E03A294AACEA38BAEF1939B7059EBD1CDC3ADB9EBCAA79D3468EA7F75E4C9A23AD92C9225D7C3C7 + +5A08FE9CADE7B1AF1688EB820FFF3809B8700E892ED80FF6F7FEF99802BFE0691A6029060D83CE47DECF177A1935BC00DADB6535EF3CCD9AE29E65BA390B4DF4892781794221C1A677B413ECA4DEE8E29D28CC064926E1E89684386005B8F658F510 + +7F174CA7079C8F1415D54FC74C975A340EFDA6FF4558CFA0B5EBD6542403622DAA3F21126A427550C6943B064EBE461AA1FDBA5805DDE7B7E940422F14F003B55C279D5B8D5D8DBE76DDC6987C32534E2CF4B40B217E1C733B71E854C8A468394072 + +572E95531C6361586EDEDF69E0157D3C2DAC8A8E2EC13603D2E65C160DFAE6F793237477CAC83CD31EC0699AE4FDFE0DF1FC134A2E61ACF08C5EDE73C5486CBA9ECBDF97D84BED8E1B7A8550333D146891976CDECF97F2D0FCB235180AF3A889FA70 + +3B99ED3B49E09548D9EE04020E5BF84328765F137825862ED42510CE575DA892A12E1CFC701884AAAF066A8D3D4F1C6008B1E074CB9FC5656805EEF2C0BD8337EAFCC877DF96176B9FF7AB4C344114A518E52EBEAD4031D9AB62657BDC154F320910 + +258E79603F22656F42FD03240520E7EA928D77CB6E022146CAFD6AAA55CAE25D0CB6F16ADB788899277B4CCE248736D411D1DE0579796AD381AD263FD1925D059E93157CCBDB42E494C46ED579F67A82681BEFF4C18BC0445B114FB13150D774EE26 + +96BD7428B5FCBC53D83148AD741B3A976F7B4F90119D5C3D279314FE813A67E29DBD4E8FBCDC4C5E8074CA3B51C5AAE4EA97ECF837AA776A7621408E94C96E248FB76773EF3D503958F82A77BC71AF622DA05F99EFEA15C3C4B5220761442A15AD40 + +303AB14655529FBD8B6EACEED0E01F27C3CE39FA111EC2A6DC402A080AAF7E18DCAADFC4EFE3E2B507845762C933EF05A35FA8DB69357824A88424A57FC89BC1F2E0375D12F0EBCB12EE662B2107F5A2C62553EC5A57445D293A4FE732DF0541832D + +B038661B6D4D06B36C3F557F7CFAFE3396171CB22DB05A3D9C188135836F07CC572AF740B247E74024AB82DACFFA63F969A7456B7CF90C3897CDEF95F0533935DC185736F60D84482B7D10C1693ABAB9F7F743976ECD5E936C5A7505228AB0B8A91B + +F250D4F23DA7CEE95AEC72A933016073FC0F236F6FAA24810AEA5761F31E88762C331DF796FC048A8BD6CA3F635FBB948901B77F1AFC43B031809A2A8B2F3E15376DB7909901A4F34573B1EAF6E6DE146889F67E4ECF56C9B895C2307EC26C904917 + +2FC11CAFC01726DF73BAE316733EA08DA10BD6D5D54DAD4FB694674859BF8710616398051134F395B7290BEFFE9E1DA1C218C064CBF670D7B1151FF51F137A62192AFB52EA45BF2C3E658BF3E83046BDFBA925F0ED3AD643FBE79FC6D9906C6D20B1 + +DEC2B2663EDB77C146E813CE936268E6FFCF55F7327B20E5D762FE40841CB766188D5A6F55E70E6744C0BE5D1085898DDB1F5A2FE098588365479D51B068BC6DA99B440409DB6E0CFE51760C4C5E160476FA2526AC5B893F35EE709F0C71D37EE83A + +AF4EB48D463AA25DFCE95485839EF700AAE442FBD635EFADCBA2E0C62EE3CE5B116018FB268E836D0941F032778F039B6358E18695CE5668F97BB2F5AD77EAEA8E880BC4CD767B654A0C29C31F27F82E518069B616630B25D5F32E8C8723E51206CD + +1FB05181A556C052558DD5B8AE5F1F14BB6670B4C532EBEAD6474F2D0B8D434ECF1580433E28086041AA4C2270D1FCA1F3FCF765CDC83412A864AA24AD9D40FB4C106218E19F9F0A50C113B26D05F78F32AE2BA0F89293DBFC67CFA5896CF479258B + +8239260D3B60531F3A15FBD4B0D5C28A9D6FDBAB29485BF7E53685C20055D7BF3837759362EBBF9279291EB74B73318767E5BF3BB56FFA9D8AF2FB247541ABCB2AE2039CE1EEBEE46B698915BA6A0DABEC4C106E80F0F801CD3C1EAE03F4085F3E87 + +FF88BF9F1EE383E76F3DF4B4C8A0079C8250011462638AED8FA6709D145FB13AA991855F3D8852AA412A5092743F9EDAD531A4842AAFA59A445A03DA001F1318B942EA0E47E62B6032A92483579D645F9B11F9D4141FA9F378E628C9D1AF454589B5 + +0797E00DB2935BB6955A34EE933C264CDB342B169135B358258C5454A75C53D1C1C1E4306F834A8597F894198C912DCB679342AEB77BE70F42054641A947B5520E766E6BBB009F435C1A8A62AF3B1FD1B2B0E72ACB30025E02459E431B4CF88DF881 + +859F4D3D6F27A3E62DCC445FE10068395F49F32F6A1BBDDF738DADF505EEE69D9E96D3B8D6EDA2388FF34A5BD2BBC19D90D9C3DABE5ECBA26BEFEB91D69769F4400A5EFE26D9DB95C8045DAF7F61F9E77E1C13A42049E1713903C66E6DBEFB86BC38 + +ACCA7707202E7C44D3B187920720B9E19D91EB45BA14B9F9940CD194FF95300D8C0C79C5C9AA75860B44F642557C7B78E490BFBD2ABE03BB6F6913241299631492CAA434D0A5E55FEF1A289BE318F17178D54381AF500AA97CECF95A74BA496C76B4 + +16EBB26520527CFF8B245E7479737EB9896627113FA4485979DC99DD655122F6ADA575C089DBC033B564A80DB8434A046D99BF493315B1EF012F4C8C278E24104A54E3F2C66DEDEFB13F0A0D9D573047B588D222E0DFDDA0BAC302AD5CED24B2EC96 + +F20270C9B491E0550B7576A20636CB7AADACB75A96CD8D431D8BF4A63C4607970B75FF7B2E3B19F987BB732A9C9944CCE6E7F7C641703CC19EDC59322BA9B8B2FC71FC536A95C28844BB0D2295559C06E6A36209BA908C9734C4E16160EE52034D35 + +D50BFE3AA7876D2EC4BCC2A08C6FFF18879C9A2B7BAD8BED5ADC88AD3BA44916D4107A3AC0389FD920374BD07923815707545F45C6AB1D0945AE8F2A69A1507515D4CA58D52D5C3D5049CB44D49FEC17807C17BFBA08054979CF11BA9D6D91ED7C85 + +13944AF7A8E6EA3C1B5E7D475329B42CE936A19DC9BE9915813D78C8AFDC366185F6DA40C59AE09ED2AA37C3F29F30DCDBE53DDE56D89C35B710CFE2BED6CF1976423891D62C5FED71D63D41FCBB42762AD1D006F10C7786A6273423751E7B1B7BFE + +D83EFE25A8113A2998A9903AFF431D59D2D1D7833605A74DB4737109CC549AF618CD795B378021FB9EF33118E2C8BA924BDD8875312A6F52C29B4F7F6595B929DAA6E0FF91D5A1057E744D962D941A5CBABCC1B2D75A74572B18711E6435098EC426 + +76BB8870837A151BDE808B6BA5F96D0E3993E2F7E9D0B042C8EB299078E5ADA3928CE664E026978A3347374C9F0AD72BEB1925C107793C585000C499AB164910C5BCC9C35795337D8A456AF512DB9BA20FC5332A1D5366670206E70FACED072ECE1F + +3D316298DF9BC0A5C27ACFC9E7B738AFD5EDD5332EFDCCD87D179D85BE36CD43DEBBD514D4917F5C92280C4E5937A94D7B853D4F2498C11F6709F35B036902075832AC2A060593A9F5EB376B726C04B0A11A26E566050F5466E1ED1D4DD7EB38776E + +15BABEC44739F17E3F4C9B055E201E176DE4F834154AB50F4F9BF2FC0CE77188770230634CA11DA327425E9480BFB10C223469350AE036A3B8AC56E2556CB0691BB3406829CBC9B771E30C511756055FFD368B6A367AD9D85FF1C25DF1CDFA712880 + +E48661CFBF977E98EA0FF3F5D213AFDD9B6389BFE5ADB5FE9729066A27D548F77B651639990AB60FC3B02115026E05CB403909FDB69E56D7C8DC5BE77F873D500D0CC8E105E64BD7EAF722EA1C4A9CA3BC8FEAE14BE30E303360AA8925461DDB0D30 + +1E73E0B594EB7AF690DB204C8DF8D3E11030BBD34C6BCDE3818471740AA74FEBDA632782BA85718A7D901569CE81E81870B281ECB67135856023F74F54413490483D46B075C0F43EFD980B76FB31BCD71D884E894C0D3CA2A56A0428DF7446380D26 + +FCD4698F95846C1ED130F192EBD5F1FAEB36D96B4D109400C4AD096698E9B54B02442D2400387C4738E6601B8447C0FB61BDE379BF57226393284628AD075A26761FD9ABDCA730437E9C0845389B56AC3D60AB126712998D1A5A2921856E0F63004A + +1F6D30E734D6FF1272B366922E20D69F3BB9601EDC5D20684974FD6A6445FACF739A456C4D5DC9F3A5E4D2F3E06FC6248AB5CA1EEA0E8B943480C04B9EB7BBAF9E45B96CC74C4543AB337484D847E8915EE902D254E8352C6C9DBDF5CD6A0370A7C8 + +982E925F5A24CD8669250253D4F6BE3ED3161A84BD4356667832590E20C71C0FDB11E05F1601BBAA03916F1E5AF0CA259D012B0BF458B3D527FEA58CDB7D4BE0374C8BC97D804A8BD92BF3FAD2BE387F0BBFE437026A11C564EA59FE98BAA159F125 + +BB66A4D18F2A57C2988A1917439E461F3E709DFC880093CF1589E17B1DEC610B439BBF6A15FEAB75D6E3294402885A14A8D821A2154DE604084C8AA5B8DA98EAB136E41984E1636652478F031F663CAEE5A906716DDFBB70D16E49A2705A3C77C620 + +4ED6699E513973DF94CC2D37E956761F8A75D67A8737C8F834F0BAAB2D784A074F90588D30FD5719E06BB5ADA276303D362ED8998C25064CEA7A4D5B593D7BAEAB07A264A3248B7E6D6A70A2751AC7AC4DC89D3E3ECBFFD485D7BA7A704847AB1439 + +19AF09E512CCAE07FE5E0A3581E656B9AB3AD50878EF64C40732E7612495CA23E55F2E7B693653701028EA85A3F9F7FA9A237A7268ECA278FF4B850D386ABDB93403F2E0275782C227AB674145596323DA78EE2A1FE4AF943678148F0B33CD169D53 + +B2FA23D2E655DF13441CEFE466A0E4E651CE77D7B37C66C564FC38760CFE030CB567A0D7D034EF5282BF32205416D7829A0DE83440A4163BE43D5708453D47B40121C800F7F843B0F809BAC81466409543D67D1EA2580FB3F7463604855ED66D2866 + +E867A828E88E0CE7E0EB2C80B114BEF948B869B0753911C0657DBCF4C01B32512A75DAC768E66DBB51A3046AF4B4DD050D3CADA4BEA647A4E659A13983166DF2AD726DC88DC8CA052D3D6F33AB2E1C271D2402FA6A90559B153AF55D80684CC4B006 + +64D1DF8BDDBBD3C2409314AFD2099A842F04FAD11F2F5EB5D2726F54B48FE98DD922F35A885BA3C05BCF88FC91E70CF48974A6DD3C035FE113E03A2DA8029CCDB10EE6EC13CACB962B8224DB27CE3A149699A812F936C5E144059650F54A06955024 + +1BA9530EB42D9319DEDB131A839F780D49C4507F23BB3ED4B0F63E2D1C7653EA4FB3102FEA9791D074811546FE88512004E591CB0B9DD33518E7F80A1FE60CF83C2EF432B41FFC3730D0BB39776A9A7076EB204F2845094587E32845F1D16253BEFD + +8203AAA65D8116E56AB28A949C0C1E19740D8DA9CA436687D1089D4819C11E8C02819CE1D299CA63CC97DB172079F94F5E562113ABDB8E0B47AEAE5F495FFA0DA819FA7506571995DBE59DD1C0B5EFE0D2C6845C27E579E40C149BEDFAB59E10BAA8 + +0B30D80B0B5FF3239642D4630AD3A4D5BB39B725E86FAACA1CB5896E5DE78222A618CE131688EA0BD5F52BC8AE0ACBCBB9243073B635FF635B80BCC4B4111C201D8ACFC1B2428ED1BE30EBBD3D3F12103F86F0D9424370A8B4CE5229E3FCA79DD31E + +44183AC14778BA0CA1EB7A093FDF21A7B02595DFE16D19FD097FD76FCA55EB1A7A24B17DFFE82B1167D61FB819C969A37D92A63A16A38503495016172A5F057E1FE5E39191A1BCC807ED8E2578C35E6394E4AD19A6E800338B1A9C1436AE6D4AAA91 + +49658D6EF495E6A950CCAA4353CB3043DBF3B918A110BD5876D65A4AF14A32E16F58EB1ADBB3201C55E0151AF9C35DF9A06A24E4D5D1723BB4E5419DB2D27824A849453C1D8CF8F665B6BF178D512FEAA1667EC14A7034228CD7C3D6DD5AD49C97E1 + +E3A617336C9D78DFB2CFA0920FEDA10AF87B6F4ABF6343C224E67C53E9AB68546E4CB45646619E293E66B044416182F192E96EC5DAAD7721CAADDA5B2D95E4576335B9F470C09C2AF5D144887B10105A9F4091C27B3C17BDABFC35A589B2756F8047 + +1A9456DC17598E637BC5874CEA83C9DFE30E1CEE784B19C0BF13D38DB3FAE8E883E099D1E20C12D9AFA42AB28C06D927C054B8F8B610B2CD640DD18A2128474EFF0D59C0A2C3B33213F120EB7B526FB89615FC8235075E413A13D94BF0DE9E3C703A + +9DC3A1D709649DAF5A0C8E7466513E8F44522875A8065F83C71DC8989F4C2F202AF7468D4F0F0FB05C9E56A9587C370402977FD449F1C7AAA21B870398665AD317C8A1BFB46FB0E77E280F5C5189D82943512A9C9311F11ABB0ECEA59782E790ED94 + +8ADA95954AA3134086059006A88ECCD300A5298EAFA347A7C7D8DC9EF5BB7D3683948CB15C9DB1D172CE154B2992A6337E0FD7857C52B09805697E591E1430FCD8059BB4655618024889EC38D9A1A245150DE0870540ED88EAA07F70AEADC269039C + +5ACD4B42F1D7EA0FCAAD1F0DE647FFD904754EE6F3F526DFD16048808EA7D5A3AA0ABA347F1602DDDB7A6D5FB8949E90667ACBD4BFC1A517850D6F8D59DDE30317AF7B443A1B10DC709A239A40BEBAF0DC70FBB789CFC84A42B09463178008C187F5 + +F01BFA86D722241AD93CCEB4D7784A99F480D4434FEF3DC4592B335308D0F468EFE1F0605552DDB3EEB98429CDEC09B1D8EB0FD1B8BC04367B3EB509BAD16A9A35C8B45D069887B074333D1D1E50EF713A0A858C328FF9FDE78690A42D0C98C82A32 + +9FC5698F7E160865F81F28A745AD3F8ED573F904E8D9266BA1A535039958F381FC7C5F41FCF2B3F3374C8094362BEF36FB4F1AB3635E0F845CC706AB297FDF2A0F58D9ED8A0D0D6B5B3F8820052288AAAD26361B751074F3F0D8A740D239AC5BA9BF + +7CF2151B5113F9CE47856B5E4D8C153C87ADD3644ABB5F588236986338528E3B7A5D495625B65AA2E2C9F174C3157E5B4E914AA301D12437FF8BED06FD535D1B4C03BA4D8EB0318F90456F06E5722E370BA6636B074BD3F3BA8515CF8E551E8A7FC1 + +AA620088FB1275C2F4A98222A2133D7A745000090FC84ED5DCF0C18253451CBB0899D0B7EDFF53647143B05329011CE083DD0354C226B3F385A569C6784172A57E208B0094D575FA6A6499F894F3AD73A0B1C22FA10D91A4C376FEB4E1885E41864E + +311EA0F38D8CAEA66954CEA48E36BE38E87CDFDF0A8E096AB306667B306AC0A8CD9FDA4CD4FC87747E8BF1A5E2C85AC06B82087CCD320D3777C7D44AF18899E1EC89357F2B7C003F254302016F0ED630806FBAC4B1CA84D17B147EA81D22A6927D84 + +87BD7DB8CD8B24004E28014F01CBDAF19F5CBAD0BBDCC75EFD9F76FD0ED6962A461D17CFF20EEB487AF6BD62489F23236B9494AD54399C0B372FA14C11675149F0FCEE410D06BC2372941425ADA604E1A62449FAAECB8D3148832248F9D5A17C20C4 + +F61BEF418BF5FC0965BF7BA7556432D23EB4C3CE8191B6C9E6C62A94CF3256F7E2734AC8DE3D04D4DBBE1EA72969FCB6BC715F5514759F5D495E7254E573A28D33563F5BCBCAC06EB3D67D446E99543667FD0A0B89C2D566AFE3F930542978CA5D62 + +09591A4FFF942A9BE1F93D91722E84DDE554ED5CD47E6D5BF131EE4CA7CE9AFC202E24CC00B853A5B9FE39BE2A1E558EE5A1ACEB1DF3D5978B66C6C09E2FE07B1F7221A4FE0765CA5F53E8E1C62E30C07B08A765FD93CA0F1CD26CF51399ED239773 + +F90B199BB105429EC99613A4874EEBA5F54FCAEB610A1D38C86369F0C00C5FA25A949B07730B1B9EA14D95A2B61356C72E1DE871C25D44F43F86B04C1D9B84B157817190350A39F7FB862E5F3B526360CF30119A68C911D167A74BC3464C993C02E2 + +8F18615784C2C040D2EDBADEA37DC1CB286E35E26CF36BC8E4A9F981D359B4F5506CDB74888CB1C4C33EA79802019AB5D59A96F3D63424F8EAC5009E56BCC9FF1F487400C49D541F1FEB97D1E4DF2397BC004D2FA39231174502921E7751C5D8F0C2 + +A457754AC34D00647C9DFE73FF6580A748AA2BFCE1F249A66244A53985BD6588B9F1752150F1176AA4BE258DC67882213BF740093022CA256BA04D2205A66FA74F3B3075C41035170CEE768BA5B6BD56727FC8E239367FD7BFE799B3021DA9876D34 + +FC6D73937AE03FEDD8F6A1321068FD4BE0C08130DC71AFB157F72DA7557680ED8602F75D0B353D39BA4485CC787E33485824CCDBB8F3A6795323E9BAD37DB3B3BE477AE8C267863F589711E00781628A7B8887F9B500FE8A120D634B7D705A53762D + +F2722725801EBF1EFDF555AE57B5F409316079DC86321311BB4543EAC0785CDCD145E5B5D87EA9C517CB15CECF98CA6CB7ACF9922813E51094B0575E7C0D17E7E524D792C44319D84031D79DE5E61EE667BE48C191C1B2DDD5BB4C39928C8CCAC9A3 + +1CD9030A9386ED91BD2A2A31DBC90D0C8D485A6677F52917EA4A0AFD9BE0450F9F3C27098CE76C7F07A5AE5901C118D2D8D7C481C5C3AA0F4A29839430714B86E62770ECF8C9E9A4F0E606876EB5D192E236E009BF33A337CA9A2BCD00B91F0AE1C5 + +CB1AC752945632DB2B6F295E4497255431C88F5640DB486B6AD2B80EE221B6557C61292A7E025566B4AC74770FD93CE72B88BA5EEB0BD16400AF65E07D595EE59B82DABB820E6DBCEEFEFD169CF01C429A4EF54482C2A45E8D111AF16D302CA2A83D + +A4732EE718176983B75621B7383012B2C58DF8356A4178696429C8AB08685901F7F6172A901D086BAAD275AE5FC56FA940F6E468FB2B075A0E10AC6F9FA88ABB92617137F4AB24B663B959A0DE61683E6C4AB9EDBD7280417B682D37F3D410230A0E + +17F38761F29435C7425BB4B2011322ACD91B02E32620FE9D3D71C2A69D8864FB347B75DB92C0947E980AE261F786115F2F19E68C0A23AA28B923EE1B63CEA0D23375751458E2E6924B198C0BD7BBEA0D0EC1D19BBC557394AC5C30F7A1EDD1C1ADE2 + +E71BB3C1F490969C4F00ED6CA5B95B9F1D020256F01FB6FCDEB388C199A6B102C2975CA4A250849D74E169ACE6979411072698810D77A7CD50B0DC85065A3BF0BD657959CADC13847FF2DE9F8D265BFA38FCABF75DEE50256EC8E7428EBBFE92D632 + +89B7487F00EC28E3DC7D17BE069F8B09FC3AFD737BDE9964848BB082B66E14C4805CF6D8F3CF9942689BE6CC440A9332C3EF4216B2893443C3372BF977B1EFC56B011EC84ECBA6FCFECD5E34FA07FC9F0CF23B38F657E7B7B72FFD2F1DBC921E44A2 + +D7B49A6C210BF34184DA9C45577321CA8BF17C07BBC85ABB8ECBB47E53B6807A5606152631CFB7114D8282A4D59978438CD4100C91088F37A7C3EE926246E733D2622C8EF31508BFCC38FBCC3A827C00C19DBFCB1F639C3C282DC56E5BA82D9EB10A + +9D84CB65770A51BA5C867C3CF5C771AECD68E5B8A078E697D77F6E4C0A72A4E78936CFF299E0582428DB98720F0416E6B68F15CAD56B29073C61098E1360AF52A805A79BC80E3BF7B588AE329C45542C20EEB6F333469B5E66C6F164E7D0484BD15C + +46F04BA87DE5AC09FD05A1762BB6D8016133DF802F370DE64066FDA84A8DBD38AF16D783380283CB58A96C3264CD4A8700CECEDC24E98640E4CCD7CFAED7D8F787FA8CB4CF8462AE2D8B32397290528716EF435EC6C2B1CF2E0692C64E2E35FCB394 + +E1BF127B7980C779CCCDF30733F1EE8857E208F1BE6A3C65A115E0416FCC08CCB25B2BADFD368A18EE9048DFA289036BDB956F56A37B316069007BE8C236D0D26E5D5DB86268E60B212B2FD3B1AAE9B67C3960B89F1D5017680EFD0BA3A114DBEA0B + +0B6E73FCD506F55E85C00E2B33D623331B73F9519623E63CE74614473B5C48EBF50C21736798E2090CB8D504C07722ABE669ED0B42E10A5C7CF17A0AFA662085CA90778D2F5BCBAC9101698642904FBE2A5724DD714BCCDB681882D019D7E54CEE85 + +BA92451CD9724E56E8DF33E101037E79C3CE1CC71CD63157C00EA6EBFCB2CE36290B8C746311EC1BF49F83C0D0EB3EE6DF73BCD91B69B0CEF3477AF4E8D9DFD75C10FF370A15EC94BF10C05F6000EAE2E309B880BC572186897CFB5B6B07D19DBEBD + +E2B34A649CEDEDA0465377487A2BC571A2C92D643BB3F34E84953514498BFA2FE3373E5A7D6C2795A4907F2C853811EA1FFAAFFE3560C28CD2CFE038F17DA8200C9FAFABCFCA81F7E252EBC5CEE271051D3A38915CB94FB69C3B4972E6E67852998C + +52DE63A06B1B769FB79B6BD85D3C44C65863AC282AB92F50A46EC0710166439BA3162B5AB7356F61EB5E685337FADD9977471B492B955EF555FB27B1BC54CE7B3939291A146CA499ADF8A9CC0AFEDCAE0A65D7A0293BCDEBE928C5BF0B8D0901C875 + +73970BB6CB0C8CC3C94C4A6F239DBE86158CC91ED45CFD03653FFA5DE0EDE6270C746E6D11B12E17A90E827881C3A9811FA954DB449C03D4D7202AF8A8421C10F1ABC7C813ECFEAC4D8A5D5A587AA2AD3518E06EE0F4A2AFC90D9A4D52237FD12AE6 + +7CAA806104059071A6B4A851EFB732852C0ECE82D73021BC7444C6D21A554FC3DFE05327B50B0EC903CF48B93606AFB567B83FE98F99F5190FE8C497BB8028EC4E82D2DB8E33101470B0DB4506FDCEB21F3F5242B0591FA460F7C202871559B19CFD + +6FD6DE2AAB73B90C8396757D4563DFA8FDC226D1F087C5D42F68BF45BC430A68039FD9AF0A54A646683495FDD30694D696FA26D8C505399CE43C03EDEEAF18558A151F0D1C5F5242B030CE7B47FC635F8FE7EE13FA7E57B49E385024F414D606072B + +7FF0C5A8D5EAD91A0A42C850E9CB66F20398E69DB69BF0572EB1E078AD0F5D085A1DFDD2BA40167729A7E75B48FA9DC7D50ECF3C8D2206EFBCED4F532DDC0F2483E6D294ADC7BC2E273DE400E8762519FF3AAA8AE233ABA3D77848A6968BB0DB4897 + +E856DA1C8424A6773A953C30A8AF84590B8DAE4570CF85BD3D14B88677F1ECEB49645F439D42D375F7DAEA6DB9A19E3FF933D2B88D29EED2D375BC4A6AB0649737945DD02447B394DAB9BB8032B6A6C5CB0AC4832FF37DE5381AA3F233021E8A660C + +411F3C9E9FA1C7B8E4719F0E75381F1D369E0FF1899E7E46502B22D03FDDB89B15E1A8DA141E1A20627F6D4F6FA9C22412A50365E570041986242B63B07C973C2F6BE14970ECC6F595842B3D3CCCEA011F50C19F77C4B12639BEEEA4DEC67A4A554F + +5EB3439C3B4AE79BFCD85ADB93BBA775AE669EB285374E90F3E5DB504B71C31997B805E348030880419B63AE99336FEF4C5B59A1623DD565857E55D565B32267AD75C2FD17B92BB1A01482C41671568749D8005911B76F50E73ED0B8498E9AC79BA6 + +1F28302416BA737AABA29F570D41E153EF57941F1BBA3626CCFD6DE89E9E19F31F63EB159678465487C6D91BD7BB813B9F7647A2CC6483B9785B3B53E145AB9173B23225B7C6031B61FF04EABB1BCFA1197C2BAFC2732975B9A27E0D5DCCD92AF365 + +A1317E651C06AAC2897AAE13A6B5A57E17A3A07D243A6AA5776B2459D0CFDAFFA8F63EF26D60A175461B438184F4F08D4317703E68C1D2D42751B607FE552DD0B40DA8C420EDDC11344E9DE44C5EBCACE3D587225C7BB8BE6D7AD5DCA67E57E0C575 + +3A919A489F4779CFA74C5A7487D116B941D736BDAAD66AA236A8FDF009BEBD3789DEB1919B037E8C3DE66A3B26189F39D6F75AC401F30705EEEA16D0BAD05422876CD7B8821B5D662CB9C3023F74836CEBF6087808C5A6326CB45AAC245AA30AD6D4 + +A49F47F202CE9BCD56056219ABEE93B3550E0FA73C0FD2F1994F4B42C9A973F004732BB8A2C07B8041554DF0BF6EE58CAB7D9ED79AB9719267A0025CCCC2062C798C8929147304ACD05F9AAC92316CEA22D10B74C65C5070BECD5A7898746DC3BAD3 + +B4956210456F13FCD1527FB39187EBDC92AADEA6E021C656A8D83CB6FE6D2971DD6D604BC9F3A48A4044587E3E4EDD83C457B769E52CD3DC999EBDA12BC10F9BFB6094DD64EFDBE49FFDE483B258385B420C8A55DEB56ECF4F17203467FF9AC64FC8 + +3BB053AB9695EE5BB25CB31AC22F483E212F5F5BB707CA1D690158ECE65C777D1676DBB09C0706C47520196B642235EB97DC85D6A62A4F2999ACD0F5CAC5C987CD46511D71C4B490153AD50A51B02147660890342184DC935F2FE8989A6CB1C0F77B + +7E6C40220675968108DEE6B70A40DF85EBF5A2904727BDFD44AC9DD50FC1C1375B949D46C42D58D16EF66E448BC16EBAEA8CE1989683510569087B94F7E110A2F6AABBAC9ACE40BC25FB546867FD400CDE3A6357812855483EAF0D9C272DCD31C53C + +D00AAE1F557C8396E28A694B52BB423D14B1AF3E3B24F28D47EAF71A8608AAB6C2363FA0CB422D807B06AEAEE4A37E703BDFBF0C596FE91007E98177DD1226807EC4BB0F919F68BC75CD09E212FAA2F153FA6A82898D7A1B697393E2AE067B25F00A + +63DBC96A85FAC60868EE337D2E9FD5E0D7311670B47430ADCDCEB9771D135920B0C9EF7885C0AA74FE3741A3B5900A5A9E12BF445E497FAFAFAED7BF35607160368E73A12DB4F9C24A3BD9C033C6818EA7B38604330619C2C16391C9011F1FDE63C1 + +447C24C7C1FC3F0B2EF301865DDB66873BBB9EABDC6E0883B0148B8A50BB8F36A5BE087640C4213D179B1D1E60F137E88787B80B87913F86A141A9503A6552F51180185EB3E9138D7CE42405212854B1C3FDEB4CF617120A61BD9B25CB2855B3DA5B + +43FAB8507DFA15C69F26457F725096DEC84C57C4618CB6F5359138C9690C651ED4688A207CC17816EEEBF0B3F0C786D81216E9FFA20861123F0FF230C122C001229A9B565558F714BCEF6E4FCFEEAC55EC955EC45DE8BC257F850BADD097D4C7AEA2 + +151D206AE670369EB06351B0C8247E1D352D956118E6F0022BA2BADDCAAB66807148B9F2CFD2F9909C699BD590145A8388BAFDA1AC0E8EBC1DAAAAAD3AD2654D863D33F8DF7989A5099AFAF59E1F71E3100FD7328A413F948194315D9656A8E8A5FB + +3B581DD3EC04AF89D587E96329186B5F884DA9DA92793EF4AA989D06A9D25AD68A1AAC241E8F45F9FB0FE273451FA20D555161C1818F63B8873E685C5E567F6D853420922D8C629521496F7ADF7576532CA54CC729A08D186B1F39A71E1E89629B30 + +18D298BFCC7AABAC5B52625493374EDF7C8D84214AF827C2AE584A4237CFA4AE1E33ED1252C4057A9C38D3C94EC2BE5F4223CEF2568629F42E16BB3CE09501734C17FA26871B51D68527E5FF4CEA127335272E685FF690FD751B5D7ABB4B54681CC7 + +122EB77026B15021996D7C92169EE3F306AB68C2B33B9E2E860AAED7F934C30152DECFECEF2908E60A47D19A941D16E3DB49678E1793240FC3AC156349C4C842B4406D59517D8D4C0A93DBA65D516FAA8BF853018FCC96FB2C0AEBFCE776BD074E94 + +73999498232E2D222D9D4E639FA0751FD61278A4C9C67D007CFAF10F07650F7BA8AA3AFF9E5F53495641AF91A7E1D5BC863ED206AE94033B0471786DCD458E8C84504C70A214FDD3168E5BBA7EE7E9DD08175C3FCA241C4445CAC71B6495C665505C + +BAFD556B6618410FA6AF3100A20F538417AACA8C906616B1518EB75B81B4ED631317684187F6061E69E3DE6DFEBDA6949A1F8F71810D705A1C723201578647B80A8DDAA1712B20DED482B11DB4072EC70BF07887B13BF0C23686BE95CBA5F9AD3B87 + +5AB0B21C068D1B2FA9ABC6BA1118FA7A0575E446A2331A308A810FD0BBC471F66A04D41973F487D4C1353C107E6AD8C1D6A6170950B81680A95585C5CC3ADB5033B285F2B2EB3D6C3DF172E10931BD786557D048C7D10C75E9B24670E201A1C2D61B + +FAE076E5DBFDA635B51B16456502C60C8EBA95F5C6E4BE40D9BF632B6B046AF44248209FE17208A2F08DA37EED273ECEBC6AE2DF2B0C4C71650737C22894C9BD50E6B89EF3B7BDC20043157B9EBA082164F5A2F909041F9F8D17185A685760B48307 + +F4CE61CA5384214B6F78CBDEFB0370CDC89F22B1AEAE67B606197FEEC9A62228E0FDF944BF750033D90D40F63E7B4E7104D6E7D3FA70BB86596DA1944A7DC1122C1DC925AC9BA09897724DE4802BE477D83447C1B85F99383C40B2CF5E57866CAF30 + +91DCB1686EBEEE34D07AE5D0752F8E6D01155B6A0A7CBB435EB7D628BD00F7C7600D1004A3E2AFB1844D99636E8B7DFA54109F06576343FE12FAB4F45509237FC1F616E761C946A64878D8D0DC116F9C91E0722768C3999A818F001D55D8B24A69D4 + +CD0CCA9F427D00EA7E6F879402CBDE641B159244EE8B1BDB7CE37AC204462778AD7FBBDC65C63C6EC7A8B0C64A71E48C18BDB67E104318A292438189EC36024E51BE9625C424AF1C750EF4447DC2CFEB16B7E88A4E102F296D19CB859329E5DF9E61 + +242760E310D63B1CFDBF59C09892D502D7B1A5240208A450CA664B66976AD166291327A8CD494E2A423DE43C65FE916516271EE7918A592EC9CCE9FF0A817D8F29B7B3290F81146D59167DFCC71640019B3826371C338E12532EB6568B41615C7F9F + +EF8C7E45EE261AC00F3C267227D8BA02DDDD5328787D7F028415B524C38D035426A144D836482E616407D61BF0A3B627F46756892ED3F32D1805E6760D531650AC365CCA78407195E190D1943BBD8B9EBB499BA5A31A8284324895D31FE797C0D038 + +D7FDD54F8C557B74D56D1E2AA362CA5396A2AED9C3592DE58084408B5CBA1621B045F80E08D2ED975C9225044788CA765B5A9C153918BE404FF55C695C2164C7FC6B0966979C08321D5C6415B9FF446186DA75AC17846B901A9DB2E308D19B5533BB + +D35EAF06E8C9AB05340539BC1D1B6DA8BB5397D32CB59F77B346285BD0CC708727BD7FE5F6A11824A8F0E76C200C0F4A7FF46222298E341FBBDCA94B7969BE4D1BDF3BE4650A44C7AACABA5F633A2336BABC6FA4D078F2F13CF89880625ACA8E490C + +3053818681E13F940991D7B0B5EE99ACD7919ADAE8A80A79109FF15206EA894AFFC1D6553465F49965C2A8D910A946E7D1BE7CE3F515F8B4E18087590E4335C3E4B22E09538127D99649E7762770AEF4CE414097E16C14CA99F9232E507DEBB9E4EC + +3587196D000F1558433EB024C79F3A2EF268F9CCB3971094DA2F177943CC493B7EBD715F37AD5DAE3D29ABD25F6FE24401F0E69210283B1FAB48AC621312BAF8E89CC6EC526412504C609B89FD0BF7A9A03AC5F90C34B9DFC1F3822780C46B786B23 + +9CB500B5FC85829467D644A7842936F723A4138EBA380C3241D09A0784E70E41016345CEA004CEF63B5982B7A432582C1BE971B4EC30BE4B311DF9F4D0B2C4A9942BC7E5442C03DED04AFDD82B1E4EDA4093A58F1B1B14C5A5DB2C88151B44CA1B12 + +6B7C69A473B10EC7F991CC3AABF60FBA563961BFF8130E17E7EDC36C78E30CCCCE4E6B51A68411E22682B056CA091ECA34B9BFD8B56D7B1B67C272F588EEE345FD7F8842EECA1E04C141A4E9AEEDE8FBAE9573EA8CF216B7B83A752C27760AFC6965 + +6ADF96D8C39ED5A709FB88FC36F1E198DCC9C7B1FA13CBB35000DB3716623BB148F9AF6E434D4040E44F8DE1818221437D5FC3571B15AD767E0F7F411D9485DEA6D453669DCCF09F89F09CB3F47018D1142B2F5928F062B951DC086A2C7413579E07 + +29CE730320C7BB6BBA862519F979CD8BD5540260379F92BE0946D956FDE9D547985E8B439458E3BC852FE77FB05EDD86050D7DFD54685040FC4D13979290B321C5AA64E6D6C578B6D835341379CFB2784A076143FF8B3F57BD77B51D5C59BA0E9ED7 + +FB9E88589D6849A7B65B23661E2E5A61A0EE3A611C197D49811B3188AFAC563D06E00F5F1390B23FE7417BAEF25D500E864ED5320AD1FD0DFF1413F0928E4C2BD0EB6D64E0ABE4A9124DCC0E99067A1C835ABE3C889E2A8843CC3D77D8DD2A74137D + +86A44706BE482FDC0E3CC63A4E9FEE6C436AD98E237E86D89B674706FE3C1F9544DB33C7280B20C16111CD0C7CF3140D5269702BFE42AAE48EBB6C66B998AFDD353E50B3DC17246D202B2A37087A7A7B6866E177B54900E2C83945D554ECDA5B25A2 + +4EAFA082741710A106F774DF1C969F91D19B7A959B97A87DA4C39A614D0EF31BE9A3805BC6E378866930A3D06B818F6ED66EDCC7F4C47F85DE5B59AE4469B3890A0EAD2F203BDF59E6F0A4BF79E70EA1F96C99A7C6E127D2810958DB452E47B3E806 + +B172013F85104227DD39F758A70328B9B4CE08CDE9590D2662CB74985ADD139E7EC7570966C69B02D4A34F0DE68B973F0B55280D7CCE21CAC88458DE8A1C9059A459C6618FAC93400D6110B792CC6B1524FDBE6467634C483250C6DF15322E513355 + +79E5756FC6842F9CD48850DC9066958AFAC549295B33AF289901F86E2F0ECAE96DCCF72C2D10A428C862143F7346A93B7DADC724A4E28962CBC1D555499F0E81C66AB20AD2B1F6F9AD92CDAEABAD0CCCE7A513877C1C5BEBBB38080A8D79E5C628CE + +89FD747C77A3A931CCAC3146295895939FCBDC2A89317F4452C58CF2162902AB843E8ED14BF609DB06294C1EB0AA1FF91561B8DE5F4B74CA056906F8A0DE4B1C915E8DE21AC525BD09C7C89D8D5BAF56DC0065D642B5EF2354621A4F8469DF2832DB + +535D48A08B5017DEAEC46EE6F47EF2104B9B6C5B498A6D74D0A7F2907368EB351E1CCE570CABB4D3638BF4328320603A1D1BADCEBB226C17289D350E35D5EEAB947ECAD02789F14563FE17A59586362C81FF0AF35DF29423D4013C369EA27F380591 + +24D38F8241B4AA746B4C7A1B4535B7402CECEC24F56AC8E8581F9F80595F9F01B911636759CED7EC3C60AF0F3D43E697BC82334724CB530B3AECD219B3DD8FB70E4F610861309B835827E50218795D3ACC262D6C807ED6241B0526F48C8E103F862F + +F63C5B9BE6E74AFC62A402C3D11F8E81857A756F0DBB84CDC7D7942A3F2D2DA2E09B2D527FBC84FB6224C5364BFD722ECF96B7FC93B54FC6682FF5B796C8190116B6049660BE91FA8CDFE2EBE16D665A3DF57441BA28C7262144F6761159AC8071E9 + +D8D39BCC7186215A044EAA5C32FE80106F4FF0021B5D059001FBA4AEF42E8F47E559C111A6468D2DAB84017856A75FF483A2749806F3F597FEB03AA75EEB75A9665BE71E35A78C17EC6D9C2A14E8ECC0B7681708AE06F5174B464D651F289E622C4D + +6A80CCB9FA7E8864DDEFCBA7C021601828A25B08ED9522CB18A6F429C6BD8C0993607C88D7FD915B5D1DE56EBAE68D93977A96C35B70B1F9DD7EC6ADF5D1C00E004FF0A33D2A0C6E04A786538E05C6E94E4E410411F3821972EB131E8C70AB10D232 + +9F2E4044CF4B2147B5B14D82220420C4CFB35A6FFCCD06F46DDB5F57D865CD6565FD705AD2A7432584FBEE469DC488084CD75537AA48C94205D326D53A3A91CA9C1F0AB20B47ED92E5ADD60A6E4EE4E499E409029F5895B798B08899BF312CD3967E + +6F98B5F27CA66F9CBBFC628DE924E3A118CFBA8F777A31FA4EC3A6BC442B28EBF4A27426F487241378E125A994F958E0BC430BD1793BBA6FEE600EF4FA7C6D085FCAC23F46680C464E660D7B74898E15E61766226694D513B13E35FABDB9FA13B115 + +EB8EA0D084EBEDBB1469A32F663EA94BBFB86CE44024B50831D3018F1F30A45584055439EFD9E897180DE6016187EC3E41D0FFCF1B199575892665E7133A19AC3B232E8F93201DE815D2D3796976572A4C4C7AF227B8BC256B1685BCE2E27B54300C + +7176A003E9107A385A3FCDBE5E4A0D64885154465597D9A926FAA27ED0AD59CA4C9B85BB6C66B998AFDD353E5F2F56FD34C25D54A1C9A5DD727D09E9C4ADFBA017E31BED5163E851FD0924AE2E3A3A50F639ABD0A9C1941C80490A58F0DE348D1D20 + +096913DD790915152B75A7D7305E18A03DEBC9AF1D1ECFEA12D03488E8F68ADE9B7EE573821BE432574B695CBD29A542E772A7A2C34F079DD3CCC7F529A882517E1F3500BD610636D878607090829545BC448BF64AD290AF5CE638FBF44F64C8E0B7 + +AD0F184BE11916C0517D90344EA9143CDB5F3D23621091AFB4AFD0DC031675814B1393654521809B400C493522A4B26045845A4E6ADF9A568A39D1E86B6902A6C6C0FE30FF682FB79A26D58BB8C4EBAAC0F78D9F9394E1C0E57A19AD12EF75BEAD47 + +1E7A4C9AC8EB77C3BBA5E7EEC7438EE93996478C72230FF36EF75917650ED2AAB4FC931AA2C3A40AA8035D9B224269E48CE3DAF6B5DBCE99F2E7D3B679D3E8A0E55B53C998577B98C62658A41DAC78736559C3D75D51384AE62E670BE8986E7B395E + +C1777E131572C8B441F857202795303587F916ED6CD110CE39A14697BB51567D3A99250DA686E5461354ABFA8B52985C5A5C48560FF7A9CDFD57CF63AAE3968EC81118C3B0F81760BE992A3DE92D61A0539484A0EB1E856FA8BAAE2345C1A611EBAC + +A215CF02BDE902C079E59E6ACE0EB1B1561AA197C1A1D8F6A978D62A71DA677101DC6C5E201F31D1A864E6AA54F056C64C8B2D9FAEC2758B81F309C0F4B471FE99808580FDE10CADBF9C4E7F676E80EA06634FDFECCDD517ED0894C3D1BA293E79E5 + +2E06DC2CE43EB7786C378A13AB1A56F8A235AA494485EABC67C6A215118B15EC6007CB312B258AF3D86C43585BC6207B048AEF968460DE59E1E47F3E3EFBBA5D1676DD6FD421BABA27FCC2EABE0F4DD1ACFDDF18616EA44788BBDE5AF55F8B0B362E + +8A421635EE4A560FAA99824D6D5B18ADB12D79AEEC2E8A81F2164C4C404E9E1CD55822FAED48AFFD6B6DF3FC0BD1658E33B977D471AFF5751B894B7E30EEB14127E0FDE8CCAC67C941612026A253ACB8617D358186C972896CBD799275089E501C9B + +CEE174518CB39EA4046D3514C80E5FD0808DDAF8DBE546F8292F3602D802736DCDDFF3BD2B8BC95C28A81B067853AFBC2B69958C64CB070114469DDF74C91E6A700CEC2ED3CDE3C942948805999A3F4B89932B998248769281F8CBE8F005D9F12DB4 + +11143BD921B29BFD98CE10E212A46AA0F09B4929AC852E9D1CA1C54500ECE53D5E356BC37D81FB1F2023713EC61456C61BF10023BCF2EE663E25812EC70D78F2BC5DFD839249AE61BA014AA96A8539D8F8F6E285FB4186C73C3440CAE16B4F63E2E8 + +D840F1001588225EE9EF6E4E2F5523D7422D17D751BF28B6F910F4BC7AC733E079C024688318858BFA96FD23F32D4C86FBEA1DA3710030E0260E9267546BB9FA950F0C5E1DBAABD89021167FF3C26AF7170BC9364C4FF3914AEBBC2AC39A1D9032BB + +612A950F2F850E77D7310F1EAD790A9F8615A59565ED17FE63072B3A3A4D0C279AAC50A7CF9F2ED3C33DBBC549022954578FE6E8CFEE1B25B244F06477ED6453CDC97AD939FB4BC810128F5891EA6A1200D035724E8E19CDBD4147A5A6C4611ECD09 + +12A7D1C7B194F822BAC5073A11ABD52070641C0FCC1B840F57BA42480E197F8B4C95315FDF524D1823D6F0AFCD3E3C19D2E396171A351540C1CE04C07F49CFE72845F7DD5D27058705991832D2200432097B5A0027BC5081F2DA7077719031FC51C1 + +C063941AD56CFA597CD788AFA2C7809E2A1B1D0DFD2F6BE62A4A77D1AEF1B48746D8EBEAD20083C3B471118FE4A379E455733851AD8D0603182CDBDAFD7A12D4B352A5F51D2F8C3048F62C035BA52B024E7893FA73495E026425583EF37CE8C9CA05 + +09BB88A4F806AA3102006387E481E362A1EC33899B0BF68FD2F84838AD3DC4F63E5F138D0EC2CEA77226A08EAC861E7FC20FE645DA1022A3C399A2714820252FAFE4131E0AA2A75E539FA59E6CDF6C58DB747A2455B49E5AE81BBAC2FF8FDA92311A + +6C7A138096D5FD1EE0CA1156669EE52C9611CDAE9F30D33DC82AB6F81FB6DB743AEE68A942860066AEC0B06CDE2D223EB497743EBA212FEE0E02FAC0BD57119A1B4576CF347B7293A2829909AD38A550F72316D54351B6F1D9A4F327ECB2802FCFD3 + +79657EB8FB0EC8B220F2060B4A2FC9DBEC927DE0012F080530423C7EBE40F82357CF38783604DF0562143503F97A297B6E49EF003FFDF23072BC665813187BB4EE52A13B927CFF5BF4B695B582B51B2310B29808A4A2E5316C50886A5765573824EE + +24E999B979FCA2FBB1A3303B497F0FF1476A39E43D1AC4B34C765B5C1EA26402EDBAF6780E3CC6AE21CA431B455B6B5459BD1C690135C9BD89AE43361015D0C2FBE5A07563B95BA6B4E92AE4622E5FADAE8C65B25E7802CD4DA6A3E545EEE9D17B86 + +A2707097895269B3FFAF0DA76736717EC9CD6C23F6F918CB56B7D4618F18C84687C680D1042035717E7EE4EADDAAB6B0C9B493951DB57281BA4244C9853AF38EA4A483F69C7056A0754C1F80372B350D360B1CC5E799B3728AF85699A1529F9FD0F6 + +67D81C2F8232D26D1791FC2E815282EA29ABCDDFE31C1E6A7D8691F21EE07FF871EC5AA2EDA975C9A56526AA8886F2A930C7A373BB6E587E9146804519BA8509ABAC926E044C2573C3DFD2F222A8911F8DD179363AE30AACEDB41666AF9B2FD5FC30 + +F50FB19D46E5B32214C4000F0F9299CFC5F5AE6C780365A6EACF4545357A372E74BF27B75A8BDF066450B8F845CDD79077010323A6DC674BBF063565D92555D56AF26E34729517AB59B81AAFBFAE4E98EEE1C55B64C6F554F9EA777D572D9C27BE9D + +11953BC82AE40D8220D62D855A22DC2205562DF7C6F42A5D5F1A8BA1AE3D810DDE11742FDF211A1D7507C85C55FF75DC47EF8C8EEC61B4DE939643BBB9B583CF886E73F140E43A7EA1495801B2960D8D810A629F8117D7A12648253346038AC528C6 + +B6DEBE0F38881A1EFA4C62523F313B697DC6FD967E45FD93B4E7938C83AAA8170D65B1BCFF7FC0CB2A52D6F10EA17195490372F715E295C04C83FA7A334037133D40C3BA09617998037126A270DEEEC54DC9AEF1AAD9FE45C6D4467CF351B935692B + +F208BB6A5709EADACD751217D7E873A624DF30F2766FD39AC5A67E1EB4EA57B2F50FF7240B4DD0AE18A65B7E0ADB976E4C30007A35FCCF9BA46522FF9AE0191943B71CE8C27D7AB36B83DFFE82B7CE176F078F14C3274AA31E4498051ADD33DC5D91 + +738A6A8189CB64D98C572651B7D5F367782E566CD4034B5B1A161E06AE2619D5E7322D1229113EFD2F9FF546DB9EA6774F50C7FC73B1F7A955567AD17C93C29A9CC5A41E0CE7B1A3F0FA42852BB49E5B4F623DC624FD67D61AB2971D72A2C70FE049 + +D4FA3100DA75DDC2486375D2DB7B3C59064C6D0EBE5EEC9314407E68106C0CD4E07FDF8E4591AD348DF89B4F449619D9353EC7FE3BC76B58263D9FB9651D61355056FB0AE3CE9A85ED4182CFFFF13C28AA01917C1AF586FBA02CFA8DE5AB0DB14D64 + +D16051DEBB9777EBC5445B99389265D96AA2689CC654025E850859DE4F0E448B0FC74ACA8818EE2477B6325231D61C4697370B0AA211227EF84E3F409C4822729EBBE650F63486F00DD219B15B43A9083DF99368615DBEDD8692C1070EB62CF19BFA + +CAD10096858F7B132EDC1764A6B8314343A70943750483AF763CE88EA288E70BAE9A91044DD214039F37D79D0014C66FDE773115D99402A1489FF4634504FFCAF1C01B3C2C119AF7A88906BFF5377EB4998F5DE27FE3306AF841581B898DDCB196FA + +B5662D64DC50142CF3548DA454FA4D7F526A85DA27AE92FBCDBD01359169BAEA5701B2D3C654830C01C0B7A6D23DA9D63B8BC8B8421B84987BA559B1A54677D874B776440A8C339A61949B07F4D1C6BC421148F32F6D7E25A38D51954A5D157F0B39 + +D7B7815E5354C23142A23CEE98EC3A1ECD69451B5B0A6AAA5FB499B6B7463E7E0CA1D0BECB716ED138366D253D62D9B6111F4F631472006371CB39B267216A1F62BD7B0EA99364E3DEA67E45090FD3AF4CDB432DFB003AC14EE009D8D7D07BDA756C + +29E1E4453B45FE7F809FB3BAEF97B0A3925771994C40C0F4B6F5282771F32F8064A991A58804169F178EF7A15F54AE63C16C8CDC50DC5CE260209339ADA19F1044F67061AB1DA2AA2AF2610860BEF3BA52AD7D0DEEE2FD0D058B8D1F2E31305D6359 + +DA88F1A78E17EA3AB8BEA4CAE33632012F770AA78ADB0BF455FA5F84CDA7CC8AE82787035A916FA7A23FAB01FD5FB49AB92B9093DADE1B0CB02C3A8656E9029413B62434CDFF1F5AF29CC64FA725E5BE2A2FD817A8A82EAD0721F08BF11AC13F6BF1 + +7F75DC4960A5A81E3B8894C85DBA5EB3FE90523FCC99E854AC4C29CD8D42D92768C0F2A78DF3A88247EB420D12CDF7417C1850BB50BB15ABA7D3EDBEC78EDC61EB1A2DA9D24EDF77AED82474D4A9AC3558B4879C593C76CF6C9501B0A3433FB9DA2A + +D5BACA04298F4586D5F59AF76932DAC2C75611416B289CA19AEBCFEC75AC6E10A20FDB603532035A24B9E9804F0461DC5C485DC9C24D9F542FC5AA6E902690BC16362DF16DD1BBDAB28601582AACF25C3CF1F7417E07C217A0D91C3175D8B0BF53A6 + +2C203FA1BF0EAD6D605FF040574C9BEC03C8285BE5002410F9AF0BE9E69003455CD0AE5F05879D0C0B657296D6569D2F234866DF3700383CBBF871BAE99E44BCE2A38516224472AAD467858F2B688C4C98DF1C70C037EFA332B5D08CCB74058520E1 + +B5FDD7F5764EFA3CFC844454BD88066F9911C8BFDB63BE7A20C09C0AE80B7BA6A71E9237C0288D773417CD0EEDACB740E81CA72EFCFAA9B1537E883107794C690E6FD4B205E5F3D55B3EDB2B8C4E23A170088440483604D947D16F936C561C3B49E7 + +B804F2028CBDA7CA42DD61D2CED87ECB5C964B643901FF227171B370783F21B465989D87B45E7F7487BD599BFB51D0323B877D7EA388CDA321E412BDFA95543BDBD70BDFC0AB8A689C4B93EFF0B6FF1168D9F7829034A131C453EEC20B520F1C10E3 + +0CCB9D3B8A2C88712B225A055224D2427E33270E6F2D7C0ACC7CD2E48D5E2E850C71C9F041D4F20611235362FAFA63DF2D2F830E42E6BEE2AC2C462DA189529753B073DCCA689AA390486A441CB1860EDE9EA5606D57678E93E59074682C48834A01 + +1F2F461C0A050145BD95D8748552AD1DDF75F4C2F92757CFF1EC927FD7D9811BE09176D2780A2B9CDAC72068F08D3F4A11C20CB4D568F2AC55F33A19777AFE7421C24878606888772F0CD7557FC623B615A8324353F90D407F87DCFD18B1D70A3166 + +DA5469E1215B6A1B20F7905E987F366D58F706F8BAC70A991753D6A02655EA500B608475E394E066F3C23070CA43DCBA66CFEB703CE64109945A6F615B379127CEDDEA04B2E1B7F4A675EB0452E8EAE5533AE21CBCCB161235D3A4B6913F69D19F5F + +B211E579E736F44B216B0A7C6B890E5F0E7855DB0F4A9A85AB107200D9DDDD0433057F5CE6DADE66D1FCD93F78A17FA47D2365929F836DD21135BFF08C798976B12435DC6206EAA8CF6884E79C9E78145A7858A08E25EF3632B55F0F94B7BBE9A9C5 + +66CB2E9F7E843829AE044C19354524B74A2217204AC7AE03357F3E2965B361C664E08FB15116E39B4C328480494615353F5C2C39AF1972B2EE5FF3AC46C0742623A3209F39A2BCE648558C0DEBE893851F971E4EB203CE4F566662B24EE4132C8D3A + +617E510FCCCF0FFA26192A3B73EBC81217F56237953F8F2FEEA0E47031080CC7E359439E736D993EFC726C9580F01EE446617ACBB107E4E90FA41BB0A7A154D9577EB66D6C61AAB8ACCD2CA7090B4B9C64C5CF377D68FDB1171B541777D90BD7FF37 + +39AD147C501C8954463E45A7A313E394BA9D17A9595A05C6EF0072F1C5BACBA5E8ED8D01C289D500CB93238770ABBAA1F962737A4265BB69AA00AA1BF3D1D4814134A491EE27C2376EFBCA6C612B0EF91F21E22A85B15576A2A784C7322A1829FE75 + +FB4DD1C0685F7E2D694B944C474BE5FD88F6E514A7883328F878C7C218BB950D25ECB775B4F0CB87D07642ECC59D4A2E415DD21A46E3B8BEDAA803431E198A7BF8F191A67208BA3B6758CE3FA7417CBAF3029DAC62E2C90E43C188A828DCC1F8438A + +4074E699220AE1E5DC36F425301F2BF0A834A96B8F8A1D567AAA1376990B98532917A1F92B69C1375CB4B4D90D3781CDDD9370BD7816F361185484D6DA752B633595BF02E9EEC751A9B1B24AAE6E2B34CAA89F625964DB5C31A193165ECCA7A09439 + +66A6ACF050B75057368BBC17CD4ECF0208F742470588F295AA365F63CFE374A7D60ECEEAFA2F419229F9FE2652E502B90583E3EB15999652247E2C5E14B660C00B3238BC970A174B97BB3284F155E8C2E7AFD2C70ACA3396BB2521BAAD45ED2D49A2 + +F1758D89A701F3BCC433095E12FBCB86A6365942E8A34D26818E8AC795D76D0A1145F0A432A878AF6EABAE916B66B904FAF1A5D06EBB60C42CD9A597E97ADB9119D06BE833257D11A073AF706BA3DF02AFA003DEAA3C2BE32C86BA16E33C5F5F1F24 + +ECCE16EA7D7D98A35B5D0DD1444480D54BE443E5DEB02E50FC76F20E457D36772B421A5BDD32C8BCD7CCF668A492B491ABEE639E55400E95917745511BB06EB7EADC7367F86295403901D4DB0CF18C940E1212D16CA5AEAF65C32B79F9A5B122D2F5 + +E66274DD2E80DC62EE7EBEE5000943298A94D90418163EC34C060F5046F7DC5B18017078701898C83AD131E4B4199FF2806060F99CAE0078917958F026795C421F04B89CC4E061CE134A809CCAEDB500BF5F06E016549AD43E7BED0DA76EA13A6E28 + +1AFD04196E8678C3B048285CF55463E38B9B334A4DDA7DE0AF41F67D8F9AFCD2808BF4D935628DC8CC54A3CCA78EFB59DC19149A0BAEA6E8DE19D684073AEBC85F01EAB39F1D390CFEE3C23C0FED871A0556233DC7CA4E4DE6BCFC62CE51C53CB4AB + +9DA1962F41AD90F3886C9BB04CDFCB315EDF6D30BDE663320C8BE0273F2BBB498CAF188CC6A007D854D010925A168B43CFEB4C301E551672C6A9C0DAC45AEF3BA4AB6D83DF82BA8A33D9B75ACB115F80BE2B46A83E96C56610B9D99AC0D70AF5CAA2 + +45C6A4D218F931B957060A8AE066432E6054C6EF347A7639F2151055AC9B7CDD965910837CBBFA3387FE25CF6FE5770BA7E5D8629EE62414396DE8087E4B9F6673832C5D5AB8908494E162A071CE6674AE2180802694386DE2E486CCDCE083FEFB94 + +147253249F72AEF4545F8C043F101146D92A6D42A952CF3513CB124D4F0314400742A5E29B39CDB66F418E25D09A2A630735C361149DE7FC7A96A7051B541C34AC550C20C80C7DE108303DC15BE45265967E4288779C787199B2DFB3349D4B9634F5 + +01E12D4709FFBC6CFD653E68C6FEECA05F7115B540C199073DE77EDD331ED809FF0709373DACD942DEB8FB8DFE3C4A2CB7D7421167699AFB2595BE5E2EDAC981C0857D10C518D5A7C2C95FDE108D088C7547D9800A80F19B7D531C942C8DF4D85E36 + +0FB0264C8480DB1E6D2A45B7D4F6C863DD26D572C699ABE7018B7F2E6F8FE5A2A0BA4C761BD0EA227FE8E9966F97907427217ECCAFD9190CE3D956A34F47137C20B918E889B6466492608DE797807024CA2CA12FDC01EE226B9883F2822767E89452 + +00CF4DA8F23C26BB1DA80C23774F519EB9569A0635822B16955FFDBC93D403269270E04D755115FAB98E01407B7D3852B3438C279FE754EF0441E765B078083CB6467FCA4C84E59911F2F51C58C58EFD09E6302C9972B4802A35F191E907128B0610 + +85A7E6A04B7FEC8F729C71E4BE57AC22F90ACCA80BBC7DC11A640A911436F02F4670E26476F62BAE1A4550A578C8844871828851287100369C462AB9A7C2DD64CA03A66599E93503269C4A9A08E7283AB8B1D39A6F8CD26386221EF6124358747B2A + +8F51EF9D56593D46B506777914D65EC7781F158D16F356A546E07B66E38260805817D9990EA7EE7F8B59F533C691818E761E2BE5481F47D1D4040BEF1DC1009C1E9D2837CAD8A8F9BC595B938AA6B7D762DA491C1D00BE6CB76FD78230790DC32D5F + +1C43F416CA5D430FC8DE23DAB23545B9C56E192784261BE1E2B5721473B308EFFB081D124420003A84B4ACAA6433AC90C00EC6D696A64C42C0EE97BB7E658D4162B37DCC564C1774ED019DDB4841F1D5A1961045ED2AB46CDBB00129A802E4004F96 + +D1B3887C3AB3914792E6A8A919F3184FD519298E13C2D899A242AD8AB5E0CC2993E851B2674F175C55453300831E96D3432FE1832E6E850CBB6D9B5ED1D1A27E2D17D9989F6AC2F4B568E8700AB7C28F7944F3243AD63AB2E167565A7AEC101CEB21 + +03842A2DAA8E178F0B21FDDC7C5CD282A72ADFB79949B67A0A95FB6CBEE6E9856F74E5B1A0BA2AF69F85E67839965943D940190A9ECFAB37679D13C3BF04783A2BFA8D5F39EB14773976051218853DA622055EE60F894D798CB2643B1BE5B7A8536E + +0072486E77967BE38C76017BBF2576399F3D5B703222301B235AE5FB32F2C4AFEB4A62F7956EE76AFF85FAC00BB53DC040878F784394995B69A4A1886EDF2ABF6A6EC849B904C7CE999FE6610DB7AD3B3A6515E33DF63E58CBD59CAA4BF53B664B3D + +CCFF75D61654C3EE1EAEA0F66A11A9ED4B35A16306332829CE31D037A42D44A02B61BEEC29BB089520978AAAE064CC5EB0F9022FE26488642DB0D0413FA7A442FF1B42DD518223874FA8AC0510250942AB6E3B298C2672A7746F27F662032CC81A67 + +C03F6FA4DB0A6FC060F3265B1B3FDFA246DDE3A6520DB7C350F9D8EAF6802BAE115D1265EBB5C867C1D16D2AC224671F30E52B35D9899492220812D1A7499FEA4C7D6FCE89AF5FB6655173D9F7609DF1293009E0C5BC3D09B5A94CF919792BCE78D9 + +B89039240E56EFFA5D617335962FED8D96760332696118211F54B66C25B1B1B76DFE0986DFC396F8751FC35991BE5C4411D843336F9B8C357CB318B68EB2062D136E4D08593C102FDC568FB832FA0913919D204075B358D760477A87A22B8F96A46C + +8E8FEE04B9FFA2A59965385DA91046F9CD504B2339CDA5C285466D78D80A4C47DB5EA9B4D081FA9562E271D5E1AD80DC9F619BB1E8F0047AC65194B423D2956FCFD526DA76796BA509FFA49A129339DE8F160238ED2547206F9622937A6D557C7AEB + +5C45943D62E58A02E480066ACA49E896FD8253FDFA5553E98504ADE49DE52A381C91D61A9CB0E7453E649B0A2B1FF3CAE8F81F493A4B24903686483C1323EE7AE1DA5C1FB733CCA871EE86FDB50AF41270A41447794728B123CAB3C52BB87E83B6A8 + +0BECFA1BB9FA1938774B898006EFC7BF42F55F7C79BA3E8D916C1A490224BA329BCF059EB04FFE825BC54EA5B18471ED367B3FF6C36B60C1CD1168CB2CC4A740D4AA7A07F56071405A46B993378897889CBA4EB693310F72160DAAC08C4BB45BDB82 + +72BA2448631F54E2951524203988CE2FCB071E1739B008CBAC88EA4930EAAAD800D2140514463E4AF6F8A0969358974ADF1572B74DB1B99F52B3D1A34BEBC3424A5CC0C6B951DAAF0AB15E399D7508BAF36EBD8C03C323A6BE5BC0F26677D37DC6A3 + +F673B09B4182638B1FA51C1DBA02C682E0B17C7552D127A93D7096A8AA98F5AC4B1402DE50275C7593CBB52D74C00A53BF8112A76196D5ED689C4F70A9A86EFEA9D9F346B8871BF59AA876C7AAF4B4E64DEC699E7936A10C77D057FD4CB9D0E370FC + +1378EDF06601ED788796857A81AD5ED00D4C3AC25B6B2187735E4C87B2D11F440C15ED9D087E473FA5832C0266156A7C36CF65157B97E9C8872FCE141114B5BFB8E21D2EF27BAF660DD2889EFDE2FDC63D089A78FED5A18E0A9513BB8E7B29503DB7 + +5CFA3102636D718E015472809E6E7A2B4B935321F815D44E9319BF42ECF0EA813DBC1CCCAAFCF11A6D1A8161D3A2843207E4F22AA81236F9D1186FF9D2E0A2B4B0DEE60C9FFE94B670F1F01FB49159A3BBE4A2116BFACA2C61D4251B8FC053E4C551 + +AED1C40BEEF1D6A7FF7BF6E2115047F486CF023C948C425D8ABD3AFFECB8F56FE2324CDFEF5A34F47287DD568D778C9BA30811826B25052CE53B14B164FCE008C8910ADF918225DBDBC7CCF281F129D6A4939187DFD0D8711AD3A37BB8681429F31A + +AE2E25387EC7286E5A8F2A64E1CC669582E1CCDC7B236256F5388699D799A7A4B7CC175220401AD74B66AF07FAD25A321D9AA57EDBA24CB8EE5E2ECD2E11CD0F2D41604C6DB978D94ECCF67F86B4BECACBD09C43F30FA7DD0C304BFC82C1367B74CC + +001A8D44DF11AC6FFA87DD898D42244A27AFC2CE316EBA985CC99246C19F9D001C175B6128594D1A8DC44B4E973703AD0118AE0D8587266A147F2241A04B3C951CDF6B6403FF73C573544BAACEA1CA5A39E47C62705D52AFE14097A18E5F42788EFA + +A2B5E28545A516F0823CCDF2DAFE1835283D27BF6578875B2A9790F95480178EF07A79C062FBB939C88ED8AFA870A52E176478BAEAC2FECC33438E1D97F7DF442047B64329E45BDC4668E64900611C3441C159B1F986A8E5195163AA3B67A45EB4EA + +2EEB847A47A803FAA8916B3051D7567635B23937C88B70D28FE5B6B75CB11111D68D3ABAF18F9AFF387C0098265EDD8DCF2AE114C599BD521DB5BB66AD618D0C8EA8909C52D40DF49A4EB3D45606A5C6BF6D70272484117DD6559508D72727B45539 + +5AB11B8F9FD2C81D69B55F0A9C25F28118D5F7178E61805E00545E8C164ED6778FAC77E85F832A5E69F864849504EAA0FEE9329AD02647DBED63C764365618990D433301C8E354355B42E18914338153AEF05FB4E3D4CD257C25E9E45DD52BC4B3EC + +11D2529FBE4C4D20230B68F949263DDEA895541273CC9BBAB801D9ADB95FC76AB228D8E2F8417432B10FCDD9C3EB57C9A468E6E2D79025DE277AB4E0E78CE03A455BCBC7D69E6ADC1C2A11784B968C9DF580A333EB39C0AA4DF0D576742DA39EA540 + +0DF33D4FD1678DC58D907E30EA8A0247B15CBACD65D418E60F4349FDB2ED3E0022C9537D85DE99360B3BF73EDBE45ECC58AA2F8088A3765150783607E5349286F8C308AFE96F6108A048BD9D61829A0BB6C4872CF7AAEA8A3C8A725CAFD8A9763254 + +454A4EEF43BED50FE08D9E57C4625E8698DCCDB670EE37B692065948D3D5A88B735A8DBD47626B40C512BF9AFB028A57876E01284A72B97865AE9EFA93EDE192486FB1BD3BCF0BECD66D1657A237E6C90A92057F0F9C0DC8882AB04E40492A7F7BCB + +CB5013374C87EBD67EC4785A1AA19CBA81196B6EAE3C474DF0F5C546190F0749047A4736BDC634295B4EE5A3FEF76CC78EB81C8C329F6C5B0CEEC08C6121A9D4DF10EACAA5766894C1AE2C7DDC249E09FD3B45D39A2B30D4CC3DCF6B046E7A8C980B + +AE09BD9102718B71FFF631FC11B5A148B44155408E39704586EEBC3ABD77EC1BB94B6AC33D37C3AB64F27C431342355BFEEA84A64F40288384001C75C81F574643D37553664DD94252426ED85D3D2A1AB0AF6A4EB068E102071E4DE8D4D91A61EF3A + +AC183F5F8F86C070708830C671AAE021CE2E5EC5C88E09FF1C6B1659480E20686344047BF28EF1E6D75D0B98456A46EAE1F3F8C53E4E358CD65F1D17307150023DA7E6A281B8258702F61A8D49D204B371B02153E8AA47684B769CF37AE08DE06D5B + +A81FEE15C78FEFF47828490E404095B965B506F33C0CF0A9296AFF4D42941D9A23BBE98012861C1B6CB8EEEB00A3931F59C1FA0D05336AFFC6CBEB106D34CD0D4E15BC8A90358F9474547A005015359A4AFDBE84504AF6842201FD5010466A53329B + +F27D7B571DFF767C61E107286DC8C1170538DA8DE2C33728603D5B00A003799DB2D6091867450499F2DDB960BC8D9D7EA3381EDFFF24F1244C3B44FDB0FAF6EE360DA3EB15327CC733C0D93030EB301F0B378557AA0DFF39F68B3E296522E5E2B16A + +9662EDF5F57C25E6A21BDC0480BF681BB4DB486F8C8A300D50D145A96B73DAA05714ED929F83A9AACB1A1C565EDE0D9904431BD740E20186939F8544C0A28B9CD37F08FF86D7657023CF5A1E918A023726D852E6116DACF1EBEAD2D331F71B09D210 + +C9B1959E7D076C76DEB05E882B620E97821148D62D1EDA72E7733BAAF602F79DE914D59B2BF360B71421AB61A701AF7D9EFFC490FEA94A4F2D9C1D66900FAE000C6F1BEBF3B9E102BD14FCA66DB6E7225E83DEC190EBAC5521BA7A3F535065212276 + +74339CF9C12E07728D3C8207E5578D913075054182729C5C1D58E6FE33732C6BDE6B4977BA47C880CD185B40709611443F4702A578A1618B022A6A72C145BE0BC5ECBCCF533542391E1223A6268B871D447A27D16DF4C9C0E4CF4A61258F2B40759B + +D973D6E36DDC44FADA9F528DE3627E641F6A5E9CDE9B47F5D0F624EA280D2372F652693BE50CFF7A73677037166718BB62EBFE4A26F618BB390E863BB4DEA88F2103DDE38E94F964D471E21A29159E727CCC9A179AE698ABE57A30AAD8EE6B986786 + +C9AAFC42228D70C294AE737F55491CEA4A3BDE83BDC81364D56E49BCC0ECD35A48AD970DBDAC315DAA2D159891E0A2FB6D911C8B31B07E07CF2F32E85C74501346E2B27E255A3EACA4C84CE32EA539D85ADB88FB7A213E954B5FA9EE2D1A62FCAE23 + +5D6EA986C835A927791BE7432AAE6C26F6E6325510F7AE6D737047EE6A608CC673BF17D21D5F6C0C31BF98414A07CEA6178998AB018EBB4F3EC47A29B38BB3B025E2BFE1FE029A8B85F806BCCB702472FC0838749F20FF77DAD4336E8DF627413E62 + +72CE67F215B883FCD59D2C2B4CF61A1DCB959F7949148FD2FE1FAEA223810CD5127E9EC5762E041E16C95EE7F27CACCA2044191185D460397399459E8A3BB1947A08F256A99779F6701A41EEA39C085E7E02944028A71E3DBB93E0ED22F1DBC5FB91 + +7C50DF0F980C00B8A7C8736B47F2DE74B0A16B0CA0F28DE9E76895A93EEE3A777A0A21016EF7667FEB310727AF27385F78BCA41815EB57EAFADE917493E082EB873509269108E077E8A7194C65BD861C30E4FD30B4CD176332B62761A05219A40AFF + +CD283E0C4B57960F710772EEE18D2F0A7753874901A98D488ADCB72418F12E691CC0A460E2220B4A3ADDFB0D5AE6152ECDF7DC8841BC4E41899B7D1673AC13E40A27E5A491A2FE4B623E3E01E2A28774645BCFC516FA70E710DED2BF6FC794FA0F8C + +0DB9BF22D2C0859BF3F8A580CFCA13427C9ED74063A39F25E3CF56040A10850BE3969010364EF96BF743F6377322B81E843DDB790DF8027DAFF82EAE83BB95BDF475EBA914AC2B5FC301F39E602F28D5D873D7443EFAA32E99307003AE2E77D46B73 + +B9A6217A798DB4C6AE0E0B7F3C14DF68E0BE1156ACC098B9CF9BB951B53A2A2F6826D816496F04C20BDC5A702524A7655D4681FC3BCA6A1FFA3E0945857ADD44283B70A8C3DFED18FFE0854904389710625B56A1AB97A0E5B3A18E8FCFB17C51C2A9 + +08FD41B7CC951E0F8231EF490FA4686E691939914AEE3285F945A703D48EA396C4FABAC6BECE759F2AE84487A6467F8EC65501538DAAFB1BEAC6085A94994F8EA4289DAF17F467E7F7255DCB8ADB1AF14EDD686093421E479CFC3D56DA249F5127EC + +9CC8895AF43CCD615C700B3E8E164D2963855AD4D3BAA36850A46BD62C0428B6279D16532224E701F96515CD7471054DB60C977C2F202667E15137A9AFABF41F1638526C26035F09F8F589C4FF73C0747A635BDAB3F1FF1299781B71C59BDF5D1E14 + +101EC56EE00ED940ED6638B06C77428D7E88B8C8BA1051B0D0526F50EEB6577FD173AA333DE943DFFBC50DFE7ECE87D624F98BF1E552BD7E73E8C5DB845447AAF9139C10876D42FF4C2DA35352848914C71A9DA78B731897552C075BD66FE080395A + +D8B7FC4BBDC94F186ED56657A708AF448ECB6727C6FA47FBCFDDB775036787F71647CFA173E332A16A66203887061C01C421945F1A4F31A60041137D342429EB159FE9B11B829DD29C98CD1BDF68F7F967F7326D50A9EEE2953FAE4376261DDE8EEC + +E3099117B3F1EA46FF473355C3721D12A0BC7FEE18A643B8AF7DA569B70F88885ADF60908D32E9152C7AE8321D19CB2732460837ED460DE6A081FB798293D9602FA93D8E63F811811CCBBB4CA1C27C4EE412D5B3AC63679085AAAA22BCA65573F145 + +E4DD1E88B251176D749560008A20CD01542A9658258CD792A8B14DE33D4020FEED31E2C8317E2BB8E0639C9CF16B443D9615856DB9EE050F3912D89EE1E87463BC1FDC8B532D824B6AACEAB97062FA232B7896D19FA4B8BFF0D177F32A4DB5A519BA + +4D651FE64202E2B7FD27342697397013D4FA04A6798CF3EC9854520EF0A85B9B6BEF8D5E887CEF7B3EC873690A55708B959C7386FC7C3962154820178F7DB3F9B8973E353BBF2B7DE80F5DDC65CECE267A5ED2E9D340D0DD905AD6C8395BABA4D5E8 + +8ADD54872C4B10D5B9C16971CE5D3D47F6804ECE6D713F60BAE411474933CFF745BB07B5272D084524E4FEE639FBB57274CE00E5B93F0507F657ED7E1C047B7EC3FFA40BBD3EBFA37EBCB1580104127DD9C7C27E97ABED0EB8838208D162A7987F6F + +3F0CEA08D91AFCB568DD641A730A5FCF6732B5E452124FAD8884141856D1B4408DED3FBEB65693C8466B1C39D07B21257FCA0C9641360C887F2A10652FA3127943709AC7A253D186B02351112322818C6698F0FFE4EC3030BCEF9C68E7BDA530FF4A + +1015582ADFA31B9056337523F3E7821E36ECC3D1C960A2332F3E585973952CA61891E1D084972D4AFF23AE3B734794F6DB932351545E72265F7FD9ED77AE7FDCA66DFCD6C53A08A013564B640959A522952E11D9D70FEF3C3074D8C63D14814BE767 + +8C24EE64E2FCB3AAFAF5F15B233C3C3208909D3095F4A886849F03F975EE2870098E3041AE42BFFB0FDEB5374B56767A2C636B26A3B827E88F468F4A10EB312689A1B2C4DE7B65C83BA627F1A8A4A3E4CBA379DC0D0215DD7B88BC5DC44FA1D97FFE + +F3F183380C01128CF322C696DA901D6804419D6BC74591612EF7D33921C0479FC164E54CF0B00A7B64875CCB5AB67DD878D076B3D659C8A31AA49B5E666FD6B5EBCF6D995182B49F1E036AF7083982E7E95457F49563406E622DA5E48E0B75BC856A + +5A91BD309F147F2B91645E7173BF536E30A5E1758B29BE492943E01384A0754D400FFCD436DD90A4B695F8C85EA77B690292DC42A01E09EF16060613185D44E0EE3BA216017BE34CB23289FA84DF81C1D0AF121424F46E341D20C898924CAC71B58C + +BAA90619BAAE31AD242EB9C5125E2D16817B8445881961EE0F9A13BBF2C4F72AFE1427D9D98DF23F03881934B3EB65A6A2BAA9AA415FA486B9FAD96539524392047CAC09DB74A339B052FF4CD9FBE842DF5CCB75EF814152D1A8B100F4E45407AD60 + +4AD766E0A3974F0EA81A72FEC530776F8A40BBF1539B3248DC3A04F0A6C3C1A527DA524347871382C9BB8310ED6716B0079868D134A01D75C661613D0115DEFE7445DA2B220FDC83A6346EF72A6821C3D18D4C1887A06DC00A30D78893B1EFEB7541 + +F5B80B8AEEC4B434647EDE2AB95C29BA56BE891695FDBAAC06ED08E0B7D2BF5E3D556FBAA470D8C0EDB1FD1BFEBCB56186C1FC44F00DE955F6862A815F11EAB6E5E061DFE3FF5A3D28FCC4EAE4190A69EDB02D2FFD2BF232E694DC535963DEF8EF9C + +1BAFF26BAFC8A19176C9692B8C3C5E834003DBED1DAA14E204401F742A891E89AC33B21792759000CC443B6932469A648C6EDCA35C6B5455E4AF2401D426BE9C6E1DE2EE55C10BEC0CE0F5D3BA2EF659DC9BC0900B7FE0B20BFA237384A65A473B57 + +8F3DD1E8EFAF1560A428C63C6A0664475C3A9C99F07DD03BCDFC26054E99744D6878E9A5867FD81CFDBFE6CD470CCEF52AAD51994E98596BA15FCAC92E9175281845713D575EAD48CF970A850B3F3C5FB334D3032CFEF706F0FA4321C3A907D7F323 + +63592190FAE5D493D60935183E7101F8D46CE7E4D173450068EFBD0074D4CD3BA77D3E7906165D36213739F718D9BDFEF24F55F08BAF69C70147FF15C3FD3170049700A4F0742E9FF1001371EEB6651E94EF767D7C778663D5CAFD3BA53D879B7931 + +C010FB493D3E9D4E1BB3A46338CA1D65600D9ECC472EC217C30BBD458B7C0326D9D41DCAA2866613A8FFF28B90E417D00EE00125350F0E57CC683AFC7009DCAA74530205A7683750BF4C757CBDBE6B925802A2D69BF163EBBCBE7F59D359C188F856 + +560254D41157C6BB1720C8742C55E094A5B4D8C662624D09C4457205EC185AEA90EB9C29416EB9A42782751F2BB19AFF7446CAEC9C234E66B03D7986ACB5809DC5B5FB4783ECFDF03D531167A86350DE5854D8317DA10DC2D538F17FF51F679DA647 + +D63DE73A8535FB50FA2735958D17700F9275B746213D4DB32C0FA89F5E752DF81BFA16935517CA3794B3E19862F55CD2B7B428581DD5221990B7C09B387C791347B900C1E392BD779A0362C378594CBE083DE309DC575BAB5CEB6B182F13CFCA76D7 + +B97CEE57A13E2B7709CD152BBD45AC299E181EECE7F643A230FB3985FCE1E5F27224EE367ECDD4400D9F1878790768B06A06582A1760479AF9A2F5B6E15911590EEAD070567475F02B0C702D297CCA604ED822B3E1AB2149DF0F745D9FADE4D51698 + +77204A6006FD8E8EBC76BAF0FA6362D5BC2DB4F93D32BD9D8649E2AFAF9F8A808FD72922953283AA2FC0DEF19169FAC5370CD3717E860B651E924B04EB9EB5671BA8841BC52B016B28C9D1C3E7C91E25BB6EF0AA539D912BE2172D64CAE1136D993B + +B4BA1A40A91FE09AD707FF55C82A31F5F1A7926B15D8FE0A497A6DF120F8DFAFDBB9F0395114F514DC8E8151C7E87978597E5999375F16D0996345DB8A1D18AD3658DCA4E29FA9D7EDAFBAA2ED53E8F627F7880D607D03F4A4D5A8E7FA28212F9158 + +585FDD3169FE8FAC9F5538D747FED49D66B802AA58F2263C60C12A35554DB0294087C078FACB235A1C027B5988434E350CAADF0505C07E64B2D4D03C769A0744EFDFCC1CAC2C153D65114DCAF100032BDAF3140B6791A0A50BA8370AD592AB1F7F1C + +58EB4D7B845512A3AAED022CAEFF2C97DA19DCFFF147D0A4DCFC00ADAC3D7A8BD0C50209CC23D2D33F2316A44A3B10875ADF2B5C51012FA21D15411592BFE0FF4622FC0F00886EEA934D89098A5D7B089FE1700A837B81DDB702613D8A634BFCC9FC + +F7E368FA063E71D7982F7C8D767E93EBBC964E4F0FE260FF8461339D4273365693A09843FBEB257EFAF8D3CFB9C3AD23B5AFF3119A40E492DF99A2A6CCDCFB8B7EA7800BA25F60C961ADB0DEC48D47F61C9A4F07C2FAFA79F107DE4CF1B26DD61E56 + +5D1B84D2B4F0B3CF8D2825103BFA170FC33CF2C5DB48C18619F86BC41AD86EDB16C96F2C69671F979D5E6F409A1666F03172D141B07B7000598BC3F314F60F85935BDBDD2328C9AC9F2E6FD8E1B7425836AD0BCD10ED9298711FEF0248A7D6050C34 + +1A79162A3DB7F75E1478B17F3830118FC6DF3615C32EE810E651665BC8C0A319F241D2E7C37A826B963185CF715F90788FE31BC2E40F9960EAF0F66B1EBD0D026630FF6B4EE33F90222E8CD8E6826560D9B28C02EA4E3366C0E86B4A711600AB9BEF + +4EE10F742FDFE4FB1B50BB533BA928B1923E278A9227F4DCD9BF7914CF75BAA079D098C08436E3B0A8A1FEAAE1B514237EAE973A6F915680D0DB956F43073B25A980C6F670200547843444DCF577EBC5DBFC1E5217F9A5083ECB68217731005AD3CA + +8284A1A959DB3F0B70FA0F10A5506319659296132C70BCDB717F39970E930D112E0565D1E192001483BFE1FA521A8B5CB130695EA6796259C1F2B7BC4667B2883D86B27BD84DCED6DE9F36B6D7C192420AD64F46E68F2302291616BB725C4E4CF2A2 + +D680089B8C2DF2B3D2E9696DFD3D193BBA38081A6D1130B38E52DE3DCE108744F95FB8A72C4AE1F26AED5CE94C30A013925486E413B3156D24036C14A9772DB996505C591B18D49C5F9DAE1455B51B3B55B02C85CD4C51450787EA63179B189CCFF3 + +EBD253CAAC6782CC1793F6BF569DDEAF0C2BFC74469CF5924D92EE513C426762B2214F45783A4FD63734509614AF82D00B6895E3821D8E6217192B6DDD95A14415DC97B6472622002C3DDF0D5BB051575DDC39C66BF02FA67EC9A1E85BCC59CFCCAA + +E81275DAAEF351F388DD43D98B33F7957897195A0FEC02705D6500D46206EF4552ACAEA573C61FDB74A2370FC541D7BD09172F3FAAAC0945CFD2C4CA8EF809E25CEED64A7B27A8B4A462AFD0C9785B3772B624A59C87F60EAC88E1C8E74646F17E34 + +9383F925F5EC825E690476604CE2CD9AF3742B6B98B60825100595A022EA126D08D62EDA5541468A257E09A6BC07DEB36A83250A56CDECA14F32209D854454678EF955C7D9A3B73F97E68580255027CF61B618096D9D29D0F3CEEE07B23FBF04AF99 + +200BDB0D30C6C181291E39637EFDC805B2E603461DEAB24F7E16996DCB457DE235F4F96F0383A3067F85E1033F994C48994E3D590DF51CDF022D07A858D3B84E3B3AC0BDB4FEE59BAEA7104BEF2C5E4DD3D165DF5334506759AF4DC0462437D4FF9F + +B0CE024CEFF2BA518C31B392C743473A42E8FC825320D5E6A7AAD27D4ED09A14A8CDB80AC86AA8B2D789BB86F0640C070A9F312B08443F38B914601F194128962C9B4E52A185D8C97CF74620ECCE20514FD3B36CC9B7708142089F95437A807681F1 + +65FEA4D9DF773F648CD29E95CC2C972F749BB8C21B0C60BC54291F9774524691D5BE60473D6CE2DF5596629311135971BF696BBDCB863889A7E4286E9A9DD3ABB1B7CBD1F36385954B9940442FFE404F1518C7D774F112FFD083DD4CE62D77829831 + +91F649C0A10A1BD56D355AF07CF41C789449A6F836F7EB95A02F86E9BCA3BD060290E4505FDAA8AA1026B23C2EA4F3F21F050A065A64F78094F11C37533A406AD7AD356FABF6B76EB2491764EAE23EE1299BD993E232DBA6C43DE1E47C48A821E471 + +510B33ACB45E04C723B2C9F33D1079D4E287C12F558D5C12C26BE9D6F66D166C28E15AE75D37809762EAF9B1DBE56499105D9E6F33ADC580CCF71D89E1A69C5FF58018B3251409D45E3280E5518F8AC9459470C416AD16F0F9EB484A366ED819CAEA + +FBA4385792CB3C847314E45C8E6ECA7889EBA0C1C0CFD4A19355ABB2EC401134BF2EE1258C4D03B95E58A34108AD0051B265A5153A39019540D9CA6C9252BA3E8AF18DEE371C7490F36C98AA2A8BEB4662F5F738BEA78BC96AE96973CEE3D9D4A8BF + +0746B370EA8DBE652D21AA6A390270F485F8A27B768569995288AEEBF9EE8A8104F9524057C75D8163773410FD98DDA0B3371B3D125ED25EDCAF11072940B59759EAFBFBBC694CEBD84AFEB3727464CD9099D1EB0EBCF13A8E84AB9CAB3DE2F15E22 + +78237A23526EC97536A45E80C17FAA477E94DD9E9E3511959EC957CE54B59109031E3C67E1D18037743F88CDDACC51B0B85EE3571FAE5B1134688A8F5397CCFBC9A6E1D8954DB92F8A72503AB9AA97FDC1E8AA196C1ED7EF0583026AE57FDA1BDF2E + +B33DF903EAEC5E325B43BBDB2437B030B1B82D7C826A4FC7F81EBE97D9C1547B4299F4EE8C46D5EC24185E9039891EF7334CBD8B9563EE070310503828664853598AA15EEDFC240251D4F05390863FC51E8CD2728587532D163C40FA242F3F2FD0F2 + +9F0CD009B82F6BC26DC15B66089152DA0AEE454E9F3CEE86ED360F353031285EB0855B7469184FC9AF27A2827577E6A853EF6701638ADBB08613C1A134F5FBB36CF5FF13C15FF1339F0FCA85366CC97EFD604BF011ACB08C613C4266ADE43D93B648 + +A1742DCED940B6C0A9F0A75DF1957679D626225582C6D4305D39700BB9C8C807736D914C2BE43D0F4A17CC96B04EC655A8CF5ECBAD5C474126D023113647D02EB06F9973C338D6D2D1A73F299BC6EDFBB1F10D2794B6A085D3F51C3D201FD57D177D + +4F3FD12E9BDE1ACF5CFBB0A07B93C02EFDAD323BEAB6F1F16C837BAB6936E41953EA05351C8B2FFA54DD276D36F7CD174ECC50E31C24BEF4B7CD66FB333D92E53CA8F69613BB84E058B0F26AC1D977201F30B56E41C797F96008EC3B7FD401756EBC + +7F700B40DFDCC80080B34F6E77CB80D8828FECF71DD467B5196F8BA1AF04E3C3F00E7760F976AA15DEB87D768C35308B659A88CF93039EE64C7FECF11DD3A1DF7926ED3DAF7E0BB5ABE6B5DE82FFA5F6035E587A763F879D7072C4A808BA5E193ABF + +D84AF100D687C4604F193C1F168067E76365F3143D5347A17793751E6326E170E426A6C1FDE37040A97C5C33824F287851DDA5ACC281980C180DA98C7323551B2C05B20C17B534139011664D2C35F073EB324D596E081574100E393FED6A08B4E291 + +4636E69A39B7B8EAC23F191919609287878A20BCB54B0D41C6AC24ECE5EF5D3C7164AE49206A2FE6E6DC6831AD56FB44A9EDFB8A2AA499CC5117B7BDE2B3CDA5CBDD30C15E1938E858330285EC4BE389C5EC430560256D69B6E7C10615D6DB0208E1 + +658A022847ECF53FC33086802EA6BE76755937FA4CFB4CA645D8E70F5CEB41992543A068667993A95B3F3B2415D1535769B782BED55CB6554107B344A4633D448E468C1D0F299F72B96F96DDC0A34B488E5608527D18088F322E9332E34FC1B8B41E + +0A49A14A2A9AC54E39A194FC5963D95FDB8090A8940E4159B761C25D9E38494E37C6D8D3D2516F64A4CB419E7C2AC9E6141999361A7CB1296E21702A6647BFBECEE098515E378220CF4A9CF6404AF5E28A79E31325838B5CAF1966E4E3CCB87C2BDC + +E3F9494AE47FBD020766FA86834FA3B6DCF019E90CB6A9F6E8686621152E3982311F05FDDD777CFBFA38E47C72F4CC2DD3635D0F89D8280174B39B74D274CE18ECB623B717B0F23AA118FF6AC2C483CDC83CCA80A523A91897DBE48F64B257D79DDD + +24B2A7E67D3E6E9911B6380D6265CDF742C03A9011FD8BB92844EBAC97AFD08B0FEF12F569DFD269E0288281F413B9C0AB5D234D09D31CF44DE968571F0BAAE6935CF12AB35479E561A164D17136C16B45445D97C0D78C13B419160BDCEF8FBD4804 + +0C15066ACD0F8DECD8B6327AE6347FD06CF493A0A9A55511826D21F7239C604DA6FCB955BCE0F83EC21B969BBEACDFE0225459416558798D30E937D961E73FFF8F11654CC4DC5F939C80BDA6AB98555CC2984C6395ABF39FECD20531DDAA7F804B3D + +21BAAD2EE393F289FC0C0F8239A73EAC052C43127AA1A172537C2B38D0D79E0468CA55DCDFC20968F5BD920ED70517CF921018A3389A2D6CBE3B28FEDC19CB3DC2A91D5308AFDE8FE42DBFF52A47B89144B2B3ED9E2C0F7E4DFE771896B52586E4F5 + +E0D7AA09CB3EB7ADEFA2744DCD86D2869C6BEB744DC70FB483621F822D0481D308FDFC48781B21F836B0C377E89DDF5103B26D3051ADD3F8C3ECDA614925DD9BC82351A6E9FCFFDAE89E17DF8AA92B597850BBE72F6E94BE2E2FDD5E9318FCA732D6 + +43DAF80E47BD67CC8C0C17924E6BBCEFC8E326142C599D598E9C16173AF83AF87BDEA30945115806B36BB169B8A1C7484C76D0157D8FE1A2D9F72A485CD46B96EBD99BDBF78217554451DED49EC8F5DA2C9CCFD9306687338FA14DF922CCB07A2FCE + +FA5D7D9D5218089F449642C893E1238A189CD5E0086CCBE07E495523769DDF91666D9E915A02A27E46971CB78FB019EA10562F1B0850C88F1C9A331401B296EE74C5B64990ABC0C5AF895652A10F5EE5DB9F1DF8270E0204E77D4B9CA46612E30387 + +70D0FF57EB594FE9D271EEAE5EBFF023615B69E50BEE27518584ECD96DE0C235E1C5713AAEE88DECBB781FC259F07C66D2439B76CE306A88D766F4B8238F44D600A451B6CBD18B4267F6118532461B371CB4A00517F5B75236E1EB1B460768AB4C29 + +0C35B4D02A6DD5B212FE2CEFB4F75D22943EFFCFDD68FB690B38E42358D32D1513F03EBB3159CCD02E08339E09459ED6A16790AC1BE2D545FFA720B77F060076EB486263E26513DD33E7F4E0D02C6E7214D79D7C7DF55575E4F1754CA8AB91055145 + +4B4A5684711D4208891B34BBB9979D8AA61909408AC3DF61F160212AC73A5AB0E365E482FB95897637D50F2B0295CFB68A5B4970E553FA3B4CE88FE8797DA1178A0A2FACD8AEF55E39872D04E4495D96A9E9A01F2F81479758BE834F1026EBB150FD + +68A66A58C88C7981014D915F2D5C7A9832DDED9570A83277F580E62662EA73F1EA23FBB74DBA82A5D8CF216A163FBD533F3B7D52C52928DBCCF35D2F1F5B7ED0753738A7AD394EBA4A1C72472DAB4F6C93DACE83F8318489AA40ADAFD29B3BF6C14A + +41EB76BD90B3FBF02DB3A8396298D702DE21F1E399D96427AD5BCCE6E666AF77D338B62AE7C5BF7314654ED9D04310099D26395D831D23034E5ED47DD06F0575CBA59659B840750CFE24E2EC718846EB12AA69ACFF6A11089DCEE623FF142424A1E8 + +1295E46512CC89137E05812313BF2BE252988594FDEC3AE41CBEB5A42DBF44AC90060DF8E9CC9305110860DF071C646857FF8E67FB1CCC2D393D19F4ADCB8670F2BF3096280B23DEDF6D4FED36011EBEBFC378B1AC892A95DEFAF1703E3AA0E1EAA7 + +D8CFB292DC548B7C4EC642979A632A990E396408C96E963332322326019D10F48B775060852D66255D2A28B06AF4A2AA73C66A383DBEEF2C56095D75F35B5FF99CF1500BFA0D5431E8B1B71E20A558F062E6F5655287FF7D3BBA76FD575F54453F0E + +5D6CE8450BA1EEE20DE6C75AE6CE8B4EABDC6B8A7CB2096A77CF7A3126562D4182937C5BC4D7148191F7C1224A33B1353689B88D27D565E85629995FF151C0F3D804E7677F31DD98D09730B03AAFD287955ECD48EB8C3A30F9F33FA90762D9E104AE + +C8EB3D62BD35F866579CA345FAB50ADD1E2C5593100200E8B70C82AD54B1AD4B9AA78B78FA460545F2559BEC8370633C642955167F8F359B0E3F6B157D847F8CF07E1A610E60D2DF2965001C3EB71A8FCA229E1E840959AFA35B94EC562699B04135 + +CB60CFA21C6043C7CD4046C4EF9A2F7451518F48219A9D763F2241FAF22A134FDD7E032A2837DF7ED7B7D2688BE8FDB39812E8C600268D543D1DA09E96275F79339AB74816540CCABAAEC8D6B0FA73305FCC6792D4CEB942EC408231573C7EF320AB + +77F10B5217CB7FA978DB4518D657B5A925372358800ACD33E5E3AC74BF138B641BB00E6F342C20611B3604BEF1E64217321211679588BE03B441F8DD99848819C60C0BDBA4A8CE6751FC197C4BE6E3CEADC94C1A6F979E8A7B274CDC01F8160723B1 + +64C5732FF34A605A34443F6E0D814D276062A40CA8AE52C0DA2542C26E3F7D0A6552BCC6CBB3CCA06FE40AD7336617FE2C0853336E880185F47ED5B013F3D522E48D22BC474C9FE0F7ED361A589BC3A636D7091038971CA542C95A12EEAC389FAF9A + +73CF3273B0B255F62833E2432A55D38F9419372C1F14178EFC1526BFFF0CED80BF20E2C92A4BF39A60FF56DEECE9B5E0BACFD1EA561F80A709E994A988B0E2EDFE46C36E725D7DB6F5F3CBEFD02E9FC8A02102CA51358657E869B2141CEDB4795148 + +F044860FCD6791A5A3F1143167CECD4D3211D7F39D1EEE56631FA3CDFD3DFE31B5F88462891508AEE9075AB281264358A856A1887B84C6BB15F6C5CA054FBDD34522F9AF644B79416AEEE24B69EA43097373BBF31042FD53F7907469EC4A4CCE6F1C + +D461A981E87D9A770724C544720124299C19756D4CC668A77043426B4B8EA920520DD34E06AA32E75751A8667515D1FA17C260734BA9003509F9C6434C1987B863C303D0209DC8B5C9588E4220C469E4379B9777BB0543585C18475968140BED1F11 + +617D79BB8192813A9BFD4798C65C14C3B78DFF66A5757885BD9FC9ACE3D1E85B0633BA4E3FFC6081495F072665498C769A37C831F10A19E64509917988929ECA1CD94EC657C60E4B1D323FA8755CCDDFDF51B3B4624DE65CC0159C5A146787F48295 + +6B04300A895BCBD10E119BECAA1FEA24EE8E5615C00A276D89DCE91111DB5E9D83F83DC0F00585FB89E2BD2F6E5EF145F2B956C24FEFBD521D5EE6E83AECDF82EF2F535323100942A253BAB84B6749ACA7765C493450C7075E34BDBCCDB825D26FF8 + +61A3C1E9D7983BAB2C82E710111B6D3B206EF71045CBEE997342FC521B472A79D6DDF1B2E3DEF89CEBB195D886EBEDC845DA4D19EDAE186F835A4878AE66058A9EF5469978E38B1B728D1754690F8F1627A68D1965175DE8F2F2BEB8E87B1C1308E8 + +C6CF93AFE1F14F4509B1C073E61CDE12D41BBA772D1721097069450BBC6E18E890C8A520ECE430D0AABD314D53A3D30716E7F7724A6B29B752752C53436D8CB95CF7BFF02267DB014E418E232D95A3618DAD177CD976021DFF12E372DAABCEBE2DCC + +B3014677DF101FD3116A705096C1C7B1DAAD4938544DDD659765A16819CA49DB6F1DA3B0CA107F469B6E1E985D7DACA2D5988D25E440B9AC5C99B1F2CC0C69C719DDF79383426B18D3B79B67D3D713D2FCF92AF1312697B0A85404D4EF3E91EC9F1B + +39BDCEDCF341982D712A899B40A8F068E57FC4936A4AE7576C5F5960A8518AC6241FBE43E8592DA7231844055626B47FD1772F7CC3B20A157F5FC8DED818B1AAA5024DE0ACCB94C63C33D2999EF0636305536EA22C2DBEEE69CE3A339C7593577337 + +B368CB76874D37809A39C3012A6B22A0AD603F2194AFE1CC81D4AB8612AA4A5DBFA984A3F72183D4A3075616686679EED32992128841DA1B00D0943FD05112C4E756A8EE6359C1C2EDE2D696E60DFEE5718EA9C38B428EC4A09F3B6B8C6E9BC1E14B + +B6FF638E9F9E1AD2C9F1D6B96E4BFB16AC93419EE11D6BC0611E539774C7130CB8EBDB9FF5367478A207DD1E664E7521DB3D12BE8C20AAE4330C2924A13CF3CF916B80EB5759895680DB0C1BDC07CD3301D0E43A266990A2F88F0BD6D4DB7B2F86BA + +495E59B5770D12D37EAF360FB3FE07F1F24C6447887BF655E49051F07F1FDD55AEABDAFB8A0D9C20D15986F1D25423CA8378FABE59397E3998EBA736A69EDBC95879298B7FB0E90ED1ED813F9E6E7709C80AD50CC3715CEE9B7439D46BEC29EEA725 + +42D20183106745A11A6AB0B5E6C92229C2863AD11C430942830FED290C0B99111BE36431C3003A9C231DBE68704A86FF8DF4BA091B46C06AA55F2F988D52E043C1FE8677B4516210497FCFF22B7AF566D029A15ACA496083858A4EB5A6411AB82070 + +AB760E5E080C647DF8BCE7D0D869B5BCE52BAE49BF1870AB73184D95CEBAAFFCB05F2A91A3EEC5B4C75DADEF9AC1576873AD26CCFCA25D1D55550928D920290BD6B34DD062F62CEE20F0E6F32A26ED39D2F4149CB792522B848072D12E8B86F3CC14 + +41E6E08C5064418952DB11DBC5EE0257B84803BD35CF0184D141EFF83D732C8A306F2DA40A4DEA62A59ED2615AF9A88B6CC9E0C08A0F15BB97C51ABD74C26D0395A603561B49EBFFA1DDF3E89367176D959AE8591F9F3C56632EF223A2DB04F5AE23 + +E0CBD0365801F5114B8B8A4882649211C025B5C3F52D000B7DDC5ED1FA450F492C7992E3DF09C4DC2379EC6C9D5090314CAB6E4FF6625DE204A995417F9E37EAE4203A82C08BC66BC0038E64A3FAF5DFBDFA030B8E9F54CA34E19A56AC52C4E3FDEF + +74FC6AA5AC1E6BAE3BBCDD6231D02B1213AFE822F60CDE519B10CFC9FF67FF8C42BC2EF1C95389E3955892283EBDD22BDCB0545F261BB5D8BF489A0CF5B8EF62404AFDEE5CA5C7FE0C060C7524EB61C24D7EFF4B6A53CEBB8E030CCD46308FE26F51 + +C5F52BD328E91DA962AC7B3D7060B092BE5CAAC6CD18DC2C368660102ADFF553AA5A5E6302AAF4264E767453F9751765F0C842E7040F78F1B277DD4D55F29CD6E74746686B8254DF7286F105D7E11C3882205175D4193D1030BE6DA1657F4D7989B8 + +FD0D0E18E142A99631F3E59D7503AB85EC8ACCE6FDA463C3AFD858D524436AC76BD6B88D51EFFBBB39988AAFDD3C3BDC80285C54151F0D6F821110BF6648886908DBEBD29C547C55528519BF0E47A2E8B3B36976E54FE47E58C9FB0AF396482ED487 + +63BB4718B0C0EBAF6651D18A644CD566E7D971636A96FED6BF3C18F3E4CED7C9ED1C94888F7B95D2F2F7FA8F5DFCFC065B55B2CC1964962BDEBE1CC12916A7F1093DBB1A4CF04A56CB56B5C399B013C05921CABF2DD604E2594288A5928EE367B8E5 + +5969647BE71DAED0E9B1AAEF2460FB7098F63A04C15B63E9F6D2F3F7CB7FA2950E35C08734C766F41B2D23611AD802A52B9AD9B352E254ED81C3C3726EE05312FEA01BF4420ABD0FB200D6E5651E7818257A5E3D8D0DED612A5F86830521614B6124 + +1268F5A645AD73C07502C98A6941DC083F4918FE55E22E3CEA6081000CE1787ED78EFCB85963F7888598EB390D64F96EC795865362C4E3E0745ECDCE77D3A801F37CEDC45FA7F177C1CA771AEEA4DC0DFD137DA3E96FF339723D64A185E0B16CB46C + +D8E0807436F6B3009F47FF1650E59439C4C20264662EC1555CB09870FB9E14435559536C94EE50D0F3A45682C9B80CDC9F1CAE241F192B722190257309C778A199C496865674CD31A2290F2D5F10B42CC9546E235DE4E92C81AC7E6195E69858D328 + +1A45063637CFB548BBE4B8B8BC56BB07C18D88CC6E79802E782FDB7B5E9F9239E30216CA8FAC4FD1B62A80B157C5668ED88E8423D2007079D58A6DDDFA1E02530D47E46D63A98AC459F7125F5BD320859A25619BCDE90C0B754176BFEEBEDC1A74F4 + +2FFB9D4A8EB84608A5698CD84DA718DB6DA50022FD95E032376D9F4A92F7878CFBEA7CD077E24F220BC2A03652444E0D2D8BA8F410E1D59179E7F0BC9A68190099330BCE7D71D8C5DB06CCC3FACCD4716B0621EA03DDBE22383C8CAD936AEFE798A0 + +D52735BCD3CE11ECEB00FD67E777F9EF72274FD1439FC15DD47B7ACD79FA38A49DA1EAC3ED7A6ED9BD25D910F9EE4AA35E2CC1D0F0B433BA27272D5BE08CE3C263CB0EE02CAA6579DB5E6CF15044B509DE6DF9EFE85DBA9051C55CF4900E2BB998A9 + +D960B217149B9F3F7E20DB959DAC148F0BA8A009FEA266E96106079FF2CE0E0A2CF9E9854AE9C33CFD4E9BE9BF1B56876DF27832DA944FADA2B3BB05C53B5B299E40FF2CE71D1105D7AAC7922306CD61602B64A19CCDCC11E4C039D70AC374EA4030 + +8D8D348AD16AC5C78C2564013BDA314AD42F96B82E0BAACECD0ED40C1F8C0506978C19536FE1906FA313792A7B748BAD4C7AC55EE9C7928F2C356A7CCE710BAE45E7B640E1AD74C8290B5FF14E44238342550E49DC91E2F023BF1C3A92DD9C2A0ED7 + +2EB07A602E6D542132A039562FAA05F74EE6109FB60AE8C38B4D7F8DE572E0B011A8CB3412FDCBE4A03A1DCE0A59EEE52ED9023A69E4C02B79CC5C5A5FD2B2B432401A5F697DA96FE2115D5D128470807B04418F8DF30BC1BEC613BFC98E7217F219 + +C3BACE6B5E1865E83344D4868885B4A7A0B4BC841E35F624B1FB460AAA55E15CD1BEE2BBC398924FA3AE678916812463F3E1F8487FEFD717CF168E528DBEA29DA5AAB00435BBFC7B3EF4A5BCACA6FF42ABEED00281081B39E2BFA1AD7DCC1EC31AA7 + +39CB540FD87AD30AEC34D751460EB08E81DF6B3760804348B07C018E98BEBC644EDC2F9F42E4178E8748F36DB6EC7B945F2A3E3E20936648DA22513D9C155F23B02320605DC8D5D8034E9BEA8A236406FC23878862668B7C36C29282E61974C4C770 + +9DA82FAEED375152A0A150DAE1E260E85FA8DDED44A03D2C1B558EBE398D663881266C1D2F4CC595492C2624D70A406F7159EC3E6C564BE1CE3B9BB5B6BF2C20993899CBD17880506F64577313395B372B467E101B0984EF789E313A00F1AB26AB90 + +50A287890FB34B80E5A62A021BA654ECC78DE4942CC19F6B144EBD2D1F55A0BA20C653B01858B4F93D946F92BCAD3EF37CBA12EE113D9B08A8539B6DF96FEFB136FFC177D56D76336F5107FDB491D7851C44C0FD9D1784F3544208F957828EE80CBD + +72FA4B37DBF75E7EB9514E5862337B6B970232C6AB35567DB8A6701D6A1FFA9E87E85754B355EEE33FC675610A81A62F2CCBD14E735A1ED78787D6ADF80C755BB8E6010D27A2E4F3E3A2FBAD4EBA5A2F13FA3DE81A71C5BB3A4669ABF7EE91029191 + +656607CD6668D5D19E101476476E23E185E4C6B91B6D1906C215F30E3AA3744C228A9EEB7B77881E13EE065927462327143B102AF6DD0B0C04B5424A010810EA85EC3218E3DA640E60A6C8BC8066E40B18CA4DD95435E99046168D0EADF2CC83B4A0 + +9987C154DE9CAACE6E121DA077FA15DF46B8903EBE052A770D82E49B809C83B2480872BDBAE83FF44200D0230E0799A0102225426246CE155FED41AFFA18A44D2604CD772A7F7D0D468CADFE8406F7C5DDB7B7FCC20D992F255E0CB5425107CC3D03 + +F8C47A6C8D06EA4377844A7DC46DFC69EBFBBE05AC8656B09124C37D0E9C6B1442C6F71A634C7F23A5A941FE2A1BB9C7A986F9FF51675E1B5EC6FA7C415C1FB03B3C851041FC9B376F0F13BF76C7DB5AF80AB5F1ACDF3CC62808DBD8D145CE766EEE + +018531EC17E21B445E090598378B7C2A43EB743F0BF4FEE958683F6537280F7A5CB1F52045F025F39AB94828F58EBBD0CC5451AA2DE4E5F13BDD7BFB6C89CF7952FD30E861AEED828D31C7F98D64679D5F0B570BA82A932AAE28816D999955914F72 + +F96313B12805A158FD01C168D3F8488908B9D3EBCE8A842DC5A2B9FFD567CCEB4EEC09050535D2FE6B1432C7C489531D5D2DC12D8B2BFFDB2F8F92B4CB43E890CDCA29FDC5B504514E5D831089C85952CD87937EB17723FF1C3D597635564C970D73 + +21F29BD5A8F72FBED81ABF35058B9EC6B5D92B0508AA9CB4B9FC4A59298B47BDCFE212333BA8836260CE0666B6AAE71B3D81D7F4DA0F3758404C6C7192DB8F1B0C13170D474B6955137DB239E1C2F3D3D44BD661359E5D4EA16305173CCC9B4854FB + +CFF0889C5CC5912DE1F77CF85CEB593AF6CED04F3A8C0B3B28BC1DEE2B0CAD9C72564C4692703BF0D89069736C09386B17C208DCFFF7D3FCEA217FCCC18AF925D7FE61577F8C4CB424115200ECE15D3E45CF30173DF1D7060CC840D122B8CFADF773 + +C6B38E0EAA130AC0982713D25257771DAA3E5D862C6876FF5179D56AB378C0B3EF0E1823A74F9E6B2152EFBEA4FBC71A60DE45A394ADEA243501FD18EA6A0A9A6FFAB1B645940EBA2CD7223B55A49142DD27E894E671B459E93907692A69DDDC7F80 + +E09DC37A354DC608FD7064E5F8C165CD0D254D7BB191D0DE4CCD0C06A604FF97ACA00827915656A0794457CF1B1C1ED4CEB923F21161EF5C33017AEE009AFE72B239292D2BDACE89C3C1F8378BDA7BE3D6B4CC2E77511E4A6D587070DA58D8C915A2 + +54D4ED58B31455984DC80C28F8D01E9127E6870C92886CB8F8228882ACA0934B9AC97E0F2F731C3D0278DB21B685B72A7C07156C6BEE67019F93E37614B5C011B6A939D0287DC8AC619BD9C68E94FD9E5DC82C8C11F85437306777C11F97B134C18F + +15760DA0DC08869AC3AD0F94DBFC31415497EBE6520305FF59E90316958A5CA31D80FC87005A82BC73E7E728251727B3BE276379A863677DCE2421FD16914411FE263FA002850A4A21E685692D5DEC5FCD047B2A261C0431BF956639660274B8EFD4 + +1A63ECD258721C5AEAF9623F95BF8AF7764255B69B3248B6E94445ACB00C040D8A5A851F7EDC73742FAFBF051A2E20A9A36A19960A7C9A6D8121965CC5507B0D5C9D91BAC351EC1C5EB3ED45340082E9D561C69CEB7037333AF6FC259BDBFCF4D269 + +556B7A729F9BA1250AAD6D019954737BF1D6BC6CC42C638FDD21FCDDEE65CBF8883BCA63DB3F8F31BBEEB4DB471DB91BE416D0B20A540394B10C73969B72980BA64D94ADFCBF507E6262226CE7BBC804F4D4AA66F55D039F5B16A9F1DCBDE6CC7011 + +B4038C97806FA74BAC900EAC4BD026D4DE87C856F0DC4E659AB19450110693D36FD98E0FCD6B094D21C4F7BA7B09742731B1EB850BB868CA1212C5930D00B7488C7CF64447B1C298BC46A686D616D3140EA82D15D90BEE368A887CCCE6F7F956FD70 + +1136CF90591BC3F02BF674E77FC4A4AD34C7567F68FD5F741A2933A823F1A7C035E6CBE9C9C4894C1F84691D6D0852BBA0F86FA9CB8CCFB8D6ACE168358EFA386AEA2763A6D9E603B48BC64C08ED70C209A7BFC742D11CC626C1EB05C514CC2930CA + +C27E8C8D20A258E0282E897A513F441CD3FDBCE877A9AE9F1D52FE74F0D0781CDCD39321A8B02D695D242BC6EBBB2BCED3CC3900C6591AB6B852FE2F854A26E096CED922E8E454119A759BB8DA07DC31C276F3E4A5E5FE8900FE641ECB7578ADF08B + +3C2B8D97D54AD0582E9546B3E82F7E417FE7D9102B5CB4C45BC9C2E44FCE546913B95777FD18934E3A039B5CC65608A61D600A4FE533A1181843848B593F6FC81409643228D856F06B01A4664B96D3457DDE7993078146BFF3EC9B3717E15BD62263 + +669ED5D88C4FBE024300E6CB5D518BD5C520B2DA10CA096FFA609CA949C93EF02F6D43A125A1D2BC98B7AFA284F8D9D0CAA47078D98F840B648E2F64A4139BF6437E48C96F32E3686262260B210CD2542BAFBCD613591AC4245A6A60950B57150B97 + +6077989E6209E6BD49FC5C70F3A3CC26AD8CB870B710F24A97CAC9F8B0C6FAA29FCAF82273978BD926854D706BE4C99B1BEF87AE77BF0DD03B25892E25D1C82DDF3EE502CCA5EFB7AB62E7F1F77B3D789EBE054C58FC26E19FBA21B55C1E369B635C + +1C9A18D49C4C6179EAFF25684FEBDB19915B5E7DA51DDBA30B6064A9EA389F18B1628204DCA2F156992D71DAD4220947B855F23DF9F5295C9AEB92E10C4E66F8FF1D3AB82ECF0C7A0DCDDC9C808475F7C7BBFCA654885276CD886F9F12B0A1304BA8 + +0F27B37A0BF00DE5EEA639829457699517E9DD06358EB54351C1A92DC560F47827BDA639F64234F9B52A004BC79AF4F3B762152D43FB9AA1AB21422DF8F5CCB908E0C8F44C5A5D2A4088A704CB84376114993D54B2C4A1F2F1D1F72DBF0F5583344C + +331F4BE872C61655808A50641AE34000B40284066BDE90917AE2F1040353D0CF82E5601CC587F71A4D48CAFC945F1200B240AA8CA051D25391E8260BE0700636B7D4DEFBD8709221AE2739C075DBC1F64BCA84D475B87986F7C505874E9627551D1B + +7ED8DA5FB9FA516B80E64AE57C662980903005021306109B4CFAB04CDA8B1EFCA8E085E8EB4971C24661C966F062799B5AFEA12681299B529AF8C40F895DCB19117B8BEBBA85694D61C385C88BEC781FD0865E0626CB6CFDCB6AD82E4EC13A9E81D9 + +A2E5DCBE99C04F341C8189525D459A731DEC51351BF0F2CF75FB1C39D336782A1BDE00FFDA536ED6E1919A4BCDAFB55DA74EAC20C1F4F013108405DF82E053D6021F3DA4896249F3E2660A4B096D2B72504D390D75F4E83A950901015589CDA2120F + +8F3A8E42134F9B469991D007DF255EE563C53DA6E3501B2299FD2891FF518056BA7297439B01A0E5A0EFF94E2C31DBB0305B7ABF181DBBAC9A926A6883784AAF3980A5E0AC57DCF69E7F48DE8AA36904651E4AAC08B6571E34B9161DCEFA484458EC + +7A47856EDDAF5C63D1A93217AB80229499ACB40178F68BC590CC8BE9FE83D1CF457AB9C61A3807B0DE5ECAC40148A2E1CB14990B5F98D565F1609865F066A9349C73778E8B0D2C7948B94CB6C563E0D51ECAA3D59B434C1209B899CE983EA462DBC2 + +1D626B35E080C79199B9AEC02C47853B7DFBA72066FA200F50871CB441319E823ECF95FE65EA6C3C90CE4D469B624428DD017E4B889924DE7DF10B4522751606073DD5CF85CCD1B65B8B3E685C0501F746CBDA498DD9E678B3421A7F0A2101FDC6A2 + +025C71B830FB96EA51AE9802F9FF4AC14E92873835A461953CFFE10627F1490BB546525E10E71FB05064544DE0A6DA61004C58ABF276074355F7FF6C55FB8A80091FFD3C40FCBCA6DA6CC1B42B2C3F16FE612068CF44AE9E81B9F70B2C6A8C688666 + +1307B2A8214B4561C8AFD21A11E5AC963E5196297B9F843C8BF374FD92DA2749754733C9FD7B84250023DF3C5D01DBB490BF66FC3CF292CD8AE7493307E3A28C2069BB6C4CF356FFBF6C53C3FC994AFC0F7EB7FADC5AED9E9279C040CF187D798D14 + +9F7A63BB78A3F592BF582697DB799FB8134DD46C874040B8340EEABEF3C321EBA4036D5232A4C209AB04546AE0D8C6C330BC75432D60B10B103A6ED9BA4EC42F8DFA62BBBF2085A706E9B5C110C44D277F9753B58F0C871EF66F9E37BC3599C36F07 + +E986F8A1EA8DC6B737D3263FD0575B98228B7342D599FC91378179D01552B4A99F09142291C350186D35B345EC48607E7FECC8BB3FE6793C50F0BE78B51EE4A72660FA0D8A24F2D50724AD55CCF6DDB3A7F41E09D4A440305A8AED09ECFA7DED3AE9 + +320EAA84ADE27B39CDE0A688BCA541CF7EFFAB42DBAF72940BD4609C6EAEE3AF1A00DEC9DADE305E89F12AD4B138A35A839B8EF6279051ED64646A28305F92E60AC11863B47FC17D0BA3797FFE66FCE4BE88A428B22F3B9C80D003E02B506C29099C + +F00CA669FBB19CB25EC8478EE44CC90B2595969DB67F20C659AA9048CF30C7FB8DD68C52648672E84D7826673C2539CD4771441AA62D48801769E552920A3BF67B2563AE169151875D53D02F2218F044741AF1A07A8382468920CD321434BDA87854 + +1570267B7FDA94BC52095358FD2DAAFDDD5D7B199638CE3D583D1AA7E57DDAD58D9C4D2D149AC890652EB1B80922CC2ADC557CB69CC5D1F4E1E081BE3FE53151F071B02BD98ACC32705BB1C34E69F98EBE838B9CC1D110F253 + +000000000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000000000 +cleartomark +%%EndFont +%%BeginResource: procset Altsys_header 4 0 +userdict begin /AltsysDict 300 dict def end +AltsysDict begin +/bdf{bind def}bind def +/xdf{exch def}bdf +/defed{where{pop true}{false}ifelse}bdf +/ndf{1 index where{pop pop pop}{dup xcheck{bind}if def}ifelse}bdf +/d{setdash}bdf +/h{closepath}bdf +/H{}bdf +/J{setlinecap}bdf +/j{setlinejoin}bdf +/M{setmiterlimit}bdf +/n{newpath}bdf +/N{newpath}bdf +/q{gsave}bdf +/Q{grestore}bdf +/w{setlinewidth}bdf +/Xic{matrix invertmatrix concat}bdf +/Xq{matrix currentmatrix mark}bdf +/XQ{cleartomark setmatrix}bdf +/sepdef{ +dup where not +{ +AltsysSepDict +} +if +3 1 roll exch put +}bdf +/st{settransfer}bdf +/colorimage defed /_rci xdf +/cntr 0 def +/readbinarystring{ +/cntr 0 def +2 copy readstring +{ +{ +dup +(\034) search +{ +length exch pop exch +dup length 0 ne +{ +dup dup 0 get 32 sub 0 exch put +/cntr cntr 1 add def +} +{ +pop 1 string dup +0 6 index read pop 32 sub put +}ifelse +3 copy +putinterval pop +1 add +1 index length 1 sub +1 index sub +dup 0 le {pop pop exit}if +getinterval +} +{ +pop exit +} ifelse +} loop +}if +cntr 0 gt +{ +pop 2 copy +dup length cntr sub cntr getinterval +readbinarystring +} if +pop exch pop +} bdf +/_NXLevel2 defed { +_NXLevel2 not { +/colorimage where { +userdict eq { +/_rci false def +} if +} if +} if +} if +/md defed{ +md type /dicttype eq { +/colorimage where { +md eq { +/_rci false def +}if +}if +/settransfer where { +md eq { +/st systemdict /settransfer get def +}if +}if +}if +}if +/setstrokeadjust defed +{ +true setstrokeadjust +/C{curveto}bdf +/L{lineto}bdf +/m{moveto}bdf +} +{ +/dr{transform .25 sub round .25 add +exch .25 sub round .25 add exch itransform}bdf +/C{dr curveto}bdf +/L{dr lineto}bdf +/m{dr moveto}bdf +/setstrokeadjust{pop}bdf +}ifelse +/privrectpath { +4 -2 roll m +dtransform round exch round exch idtransform +2 copy 0 lt exch 0 lt xor +{dup 0 exch rlineto exch 0 rlineto neg 0 exch rlineto} +{exch dup 0 rlineto exch 0 exch rlineto neg 0 rlineto} +ifelse +closepath +}bdf +/rectclip{newpath privrectpath clip newpath}def +/rectfill{gsave newpath privrectpath fill grestore}def +/rectstroke{gsave newpath privrectpath stroke grestore}def +/_fonthacksave false def +/currentpacking defed +{ +/_bfh {/_fonthacksave currentpacking def false setpacking} bdf +/_efh {_fonthacksave setpacking} bdf +} +{ +/_bfh {} bdf +/_efh {} bdf +}ifelse +/packedarray{array astore readonly}ndf +/` +{ +false setoverprint +/-save0- save def +5 index concat +pop +storerect left bottom width height rectclip +pop +/MMdict_count countdictstack def +/MMop_count count 1 sub def +userdict begin +/showpage {} def +0 setgray 0 setlinecap 1 setlinewidth +0 setlinejoin 10 setmiterlimit [] 0 setdash newpath +} bdf +/currentpacking defed{true setpacking}if +/min{2 copy gt{exch}if pop}bdf +/max{2 copy lt{exch}if pop}bdf +/xformfont { currentfont exch makefont setfont } bdf +/fhnumcolors 1 +statusdict begin +/processcolors defed +{ +pop processcolors +} +{ +/deviceinfo defed { +deviceinfo /Colors known { +pop deviceinfo /Colors get +} if +} if +} ifelse +end +def +/printerRes +gsave +matrix defaultmatrix setmatrix +72 72 dtransform +abs exch abs +max +grestore +def +/graycalcs +[ +{Angle Frequency} +{GrayAngle GrayFrequency} +{0 Width Height matrix defaultmatrix idtransform +dup mul exch dup mul add sqrt 72 exch div} +{0 GrayWidth GrayHeight matrix defaultmatrix idtransform +dup mul exch dup mul add sqrt 72 exch div} +] def +/calcgraysteps { +forcemaxsteps +{ +maxsteps +} +{ +/currenthalftone defed +{currenthalftone /dicttype eq}{false}ifelse +{ +currenthalftone begin +HalftoneType 4 le +{graycalcs HalftoneType 1 sub get exec} +{ +HalftoneType 5 eq +{ +Default begin +{graycalcs HalftoneType 1 sub get exec} +end +} +{0 60} +ifelse +} +ifelse +end +} +{ +currentscreen pop exch +} +ifelse +printerRes 300 max exch div exch +2 copy +sin mul round dup mul +3 1 roll +cos mul round dup mul +add 1 add +dup maxsteps gt {pop maxsteps} if +dup minsteps lt {pop minsteps} if +} +ifelse +} bdf +/nextrelease defed { +/languagelevel defed not { +/framebuffer defed { +0 40 string framebuffer 9 1 roll 8 {pop} repeat +dup 516 eq exch 520 eq or +{ +/fhnumcolors 3 def +/currentscreen {60 0 {pop pop 1}}bdf +/calcgraysteps {maxsteps} bdf +}if +}if +}if +}if +fhnumcolors 1 ne { +/calcgraysteps {maxsteps} bdf +} if +/currentpagedevice defed { +currentpagedevice /PreRenderingEnhance known +{ +currentpagedevice /PreRenderingEnhance get +{ +/calcgraysteps +{ +forcemaxsteps +{maxsteps} +{256 maxsteps min} +ifelse +} def +} if +} if +} if +/gradfrequency 144 def +printerRes 1000 lt { +/gradfrequency 72 def +} if +/adjnumsteps { +dup dtransform abs exch abs max +printerRes div +gradfrequency mul +round +5 max +min +}bdf +/goodsep { +spots exch get 4 get dup sepname eq exch (_vc_Registration) eq or +}bdf +/BeginGradation defed +{/bb{BeginGradation}bdf} +{/bb{}bdf} +ifelse +/EndGradation defed +{/eb{EndGradation}bdf} +{/eb{}bdf} +ifelse +/bottom -0 def +/delta -0 def +/frac -0 def +/height -0 def +/left -0 def +/numsteps1 -0 def +/radius -0 def +/right -0 def +/top -0 def +/width -0 def +/xt -0 def +/yt -0 def +/df currentflat def +/tempstr 1 string def +/clipflatness currentflat def +/inverted? +0 currenttransfer exec .5 ge def +/tc1 [0 0 0 1] def +/tc2 [0 0 0 1] def +/storerect{/top xdf /right xdf /bottom xdf /left xdf +/width right left sub def /height top bottom sub def}bdf +/concatprocs{ +systemdict /packedarray known +{dup type /packedarraytype eq 2 index type /packedarraytype eq or}{false}ifelse +{ +/proc2 exch cvlit def /proc1 exch cvlit def +proc1 aload pop proc2 aload pop +proc1 length proc2 length add packedarray cvx +} +{ +/proc2 exch cvlit def /proc1 exch cvlit def +/newproc proc1 length proc2 length add array def +newproc 0 proc1 putinterval newproc proc1 length proc2 putinterval +newproc cvx +}ifelse +}bdf +/i{dup 0 eq +{pop df dup} +{dup} ifelse +/clipflatness xdf setflat +}bdf +version cvr 38.0 le +{/setrgbcolor{ +currenttransfer exec 3 1 roll +currenttransfer exec 3 1 roll +currenttransfer exec 3 1 roll +setrgbcolor}bdf}if +/vms {/vmsv save def} bdf +/vmr {vmsv restore} bdf +/vmrs{vmsv restore /vmsv save def}bdf +/eomode{ +{/filler /eofill load def /clipper /eoclip load def} +{/filler /fill load def /clipper /clip load def} +ifelse +}bdf +/normtaper{}bdf +/logtaper{9 mul 1 add log}bdf +/CD{ +/NF exch def +{ +exch dup +/FID ne 1 index/UniqueID ne and +{exch NF 3 1 roll put} +{pop pop} +ifelse +}forall +NF +}bdf +/MN{ +1 index length +/Len exch def +dup length Len add +string dup +Len +4 -1 roll +putinterval +dup +0 +4 -1 roll +putinterval +}bdf +/RC{4 -1 roll /ourvec xdf 256 string cvs(|______)anchorsearch +{1 index MN cvn/NewN exch def cvn +findfont dup maxlength dict CD dup/FontName NewN put dup +/Encoding ourvec put NewN exch definefont pop}{pop}ifelse}bdf +/RF{ +dup +FontDirectory exch +known +{pop 3 -1 roll pop} +{RC} +ifelse +}bdf +/FF{dup 256 string cvs(|______)exch MN cvn dup FontDirectory exch known +{exch pop findfont 3 -1 roll pop} +{pop dup findfont dup maxlength dict CD dup dup +/Encoding exch /Encoding get 256 array copy 7 -1 roll +{3 -1 roll dup 4 -2 roll put}forall put definefont} +ifelse}bdf +/RCJ{4 -1 roll +/ourvec xdf +256 string cvs +(|______) anchorsearch +{pop +cvn +dup FDFJ +exch +1 index +eq +{ +_bfh findfont _efh +dup +maxlength dict +CD +dup +/FontName +3 index +put +dup +/Encoding ourvec put +1 index +exch +definefont +pop +} +{exch pop} +ifelse +} +{pop} +ifelse +}bdf +/RFJ{ +dup +FontDirectory exch +known +{pop 3 -1 roll pop} +{RCJ} +ifelse +}bdf +/hasfont +{ +/resourcestatus where +{ +pop +/Font resourcestatus +{ +pop pop true +} +{ +false +} +ifelse +} +{ +dup FontDirectory exch known +{pop true} +{ +256 string +cvs +(fonts/) exch MN +status +{pop pop pop pop true} +{false} +ifelse +} +ifelse +} +ifelse +}bdf +/FDFJ +{ +dup +hasfont +not +{ +pop +/Ryumin-Light-83pv-RKSJ-H +hasfont +{ +/Ryumin-Light-83pv-RKSJ-H +} +{ +/Courier +} +ifelse +} +if +}bdf +/FFJ{ +_bfh +dup +256 string cvs +(|______)exch MN +cvn +dup +FontDirectory +exch known +{ +exch +pop +findfont +3 -1 roll +pop +} +{ +pop +FDFJ +dup findfont +dup maxlength dict +CD +dup dup +/Encoding exch +/Encoding get +256 array copy +7 -1 roll +{ +3 -1 roll +dup +4 -2 roll +put +}forall +put +definefont +} +ifelse +_efh +}bdf +/GS { +dup +hasfont +{ +findfont +exch makesetfont +exch +pop +ts +} +{ +pop pop pop +ts +} ifelse +} bdf +/RCK{4 -1 roll +/ourvec xdf +256 string cvs +(|______) anchorsearch +{pop +cvn +dup FDFK +exch +1 index +eq +{ +_bfh findfont _efh +dup +maxlength dict +CD +dup +/FontName +3 index +put +dup +/Encoding ourvec put +1 index +exch +definefont +pop +} +{exch pop} +ifelse +} +{pop} +ifelse +}bdf +/RFK{ +dup +FontDirectory exch +known +{pop 3 -1 roll pop} +{RCK} +ifelse +}bdf +/hasfont +{ +/resourcestatus where +{ +pop +/Font resourcestatus +{ +pop pop true +} +{ +false +} +ifelse +} +{ +dup FontDirectory exch known +{pop true} +{ +256 string +cvs +(fonts/) exch MN +status +{pop pop pop pop true} +{false} +ifelse +} +ifelse +} +ifelse +}bdf +/FDFK +{ +dup +hasfont +not +{ +pop +/JCsm +hasfont +{ +/JCsm +} +{ +/Courier +} +ifelse +} +if +}bdf +/FFK{ +_bfh +dup +256 string cvs +(|______)exch MN +cvn +dup +FontDirectory +exch known +{ +exch +pop +findfont +3 -1 roll +pop +} +{ +pop +FDFK +dup findfont +dup maxlength dict +CD +dup dup +/Encoding exch +/Encoding get +256 array copy +7 -1 roll +{ +3 -1 roll +dup +4 -2 roll +put +}forall +put +definefont +} +ifelse +_efh +}bdf +/RCTC{4 -1 roll +/ourvec xdf +256 string cvs +(|______) anchorsearch +{pop +cvn +dup FDFTC +exch +1 index +eq +{ +_bfh findfont _efh +dup +maxlength dict +CD +dup +/FontName +3 index +put +dup +/Encoding ourvec put +1 index +exch +definefont +pop +} +{exch pop} +ifelse +} +{pop} +ifelse +}bdf +/RFTC{ +dup +FontDirectory exch +known +{pop 3 -1 roll pop} +{RCTC} +ifelse +}bdf +/FDFTC +{ +dup +hasfont +not +{ +pop +/DFMing-Lt-HK-BF +hasfont +{ +/DFMing-Lt-HK-BF +} +{ +/Courier +} +ifelse +} +if +}bdf +/FFTC{ +_bfh +dup +256 string cvs +(|______)exch MN +cvn +dup +FontDirectory +exch known +{ +exch +pop +findfont +3 -1 roll +pop +} +{ +pop +FDFTC +dup findfont +dup maxlength dict +CD +dup dup +/Encoding exch +/Encoding get +256 array copy +7 -1 roll +{ +3 -1 roll +dup +4 -2 roll +put +}forall +put +definefont +} +ifelse +_efh +}bdf +/fps{ +currentflat +exch +dup 0 le{pop 1}if +{ +dup setflat 3 index stopped +{1.3 mul dup 3 index gt{pop setflat pop pop stop}if} +{exit} +ifelse +}loop +pop setflat pop pop +}bdf +/fp{100 currentflat fps}bdf +/clipper{clip}bdf +/W{/clipper load 100 clipflatness dup setflat fps}bdf + +userdict begin /BDFontDict 29 dict def end +BDFontDict begin +/bu{}def +/bn{}def +/setTxMode{av 70 ge{pop}if pop}def +/gm{m}def +/show{pop}def +/gr{pop}def +/fnt{pop pop pop}def +/fs{pop}def +/fz{pop}def +/lin{pop pop}def +/:M {pop pop} def +/sf {pop} def +/S {pop} def +/@b {pop pop pop pop pop pop pop pop} def +/_bdsave /save load def +/_bdrestore /restore load def +/save { dup /fontsave eq {null} {_bdsave} ifelse } def +/restore { dup null eq { pop } { _bdrestore } ifelse } def +/fontsave null def +end +/MacVec 256 array def +MacVec 0 /Helvetica findfont +/Encoding get 0 128 getinterval putinterval +MacVec 127 /DEL put MacVec 16#27 /quotesingle put MacVec 16#60 /grave put +/NUL/SOH/STX/ETX/EOT/ENQ/ACK/BEL/BS/HT/LF/VT/FF/CR/SO/SI +/DLE/DC1/DC2/DC3/DC4/NAK/SYN/ETB/CAN/EM/SUB/ESC/FS/GS/RS/US +MacVec 0 32 getinterval astore pop +/Adieresis/Aring/Ccedilla/Eacute/Ntilde/Odieresis/Udieresis/aacute +/agrave/acircumflex/adieresis/atilde/aring/ccedilla/eacute/egrave +/ecircumflex/edieresis/iacute/igrave/icircumflex/idieresis/ntilde/oacute +/ograve/ocircumflex/odieresis/otilde/uacute/ugrave/ucircumflex/udieresis +/dagger/degree/cent/sterling/section/bullet/paragraph/germandbls +/registered/copyright/trademark/acute/dieresis/notequal/AE/Oslash +/infinity/plusminus/lessequal/greaterequal/yen/mu/partialdiff/summation +/product/pi/integral/ordfeminine/ordmasculine/Omega/ae/oslash +/questiondown/exclamdown/logicalnot/radical/florin/approxequal/Delta/guillemotleft +/guillemotright/ellipsis/nbspace/Agrave/Atilde/Otilde/OE/oe +/endash/emdash/quotedblleft/quotedblright/quoteleft/quoteright/divide/lozenge +/ydieresis/Ydieresis/fraction/currency/guilsinglleft/guilsinglright/fi/fl +/daggerdbl/periodcentered/quotesinglbase/quotedblbase +/perthousand/Acircumflex/Ecircumflex/Aacute +/Edieresis/Egrave/Iacute/Icircumflex/Idieresis/Igrave/Oacute/Ocircumflex +/apple/Ograve/Uacute/Ucircumflex/Ugrave/dotlessi/circumflex/tilde +/macron/breve/dotaccent/ring/cedilla/hungarumlaut/ogonek/caron +MacVec 128 128 getinterval astore pop +/findheaderfont { +/Helvetica findfont +} def +end %. AltsysDict +%%EndResource +%%EndProlog + +%%BeginSetup + +AltsysDict begin +_bfh +%%IncludeResource: font Times-Roman + +MacVec 256 array copy + +dup 128 /Adieresis put + +dup 129 /Aring put + +dup 130 /Ccedilla put + +dup 131 /Eacute put + +dup 132 /Ntilde put + +dup 133 /Odieresis put + +dup 134 /Udieresis put + +dup 135 /aacute put + +dup 136 /agrave put + +dup 137 /acircumflex put + +dup 138 /adieresis put + +dup 139 /atilde put + +dup 140 /aring put + +dup 141 /ccedilla put + +dup 142 /eacute put + +dup 143 /egrave put + +dup 144 /ecircumflex put + +dup 145 /edieresis put + +dup 146 /iacute put + +dup 147 /igrave put + +dup 148 /icircumflex put + +dup 149 /idieresis put + +dup 150 /ntilde put + +dup 151 /oacute put + +dup 152 /ograve put + +dup 153 /ocircumflex put + +dup 154 /odieresis put + +dup 155 /otilde put + +dup 156 /uacute put + +dup 157 /ugrave put + +dup 158 /ucircumflex put + +dup 159 /udieresis put + +dup 160 /dagger put + +dup 161 /degree put + +dup 162 /cent put + +dup 163 /sterling put + +dup 164 /section put + +dup 165 /bullet put + +dup 166 /paragraph put + +dup 167 /germandbls put + +dup 168 /registered put + +dup 169 /copyright put + +dup 170 /trademark put + +dup 171 /acute put + +dup 172 /dieresis put + +dup 173 /notequal put + +dup 174 /AE put + +dup 175 /Oslash put + +dup 176 /infinity put + +dup 177 /plusminus put + +dup 178 /lessequal put + +dup 179 /greaterequal put + +dup 180 /yen put + +dup 181 /mu put + +dup 182 /partialdiff put + +dup 183 /summation put + +dup 184 /product put + +dup 185 /pi put + +dup 186 /integral put + +dup 187 /ordfeminine put + +dup 188 /ordmasculine put + +dup 189 /Omega put + +dup 190 /ae put + +dup 191 /oslash put + +dup 192 /questiondown put + +dup 193 /exclamdown put + +dup 194 /logicalnot put + +dup 195 /radical put + +dup 196 /florin put + +dup 197 /approxequal put + +dup 198 /Delta put + +dup 199 /guillemotleft put + +dup 200 /guillemotright put + +dup 201 /ellipsis put + +dup 202 /nobreakspace put + +dup 203 /Agrave put + +dup 204 /Atilde put + +dup 205 /Otilde put + +dup 206 /OE put + +dup 207 /oe put + +dup 208 /endash put + +dup 209 /emdash put + +dup 210 /quotedblleft put + +dup 211 /quotedblright put + +dup 212 /quoteleft put + +dup 213 /quoteright put + +dup 214 /divide put + +dup 215 /lozenge put + +dup 216 /ydieresis put + +dup 217 /Ydieresis put + +dup 218 /fraction put + +dup 219 /Euro put + +dup 220 /guilsinglleft put + +dup 221 /guilsinglright put + +dup 222 /fi put + +dup 223 /fl put + +dup 224 /daggerdbl put + +dup 225 /periodcentered put + +dup 226 /quotesinglbase put + +dup 227 /quotedblbase put + +dup 228 /perthousand put + +dup 229 /Acircumflex put + +dup 230 /Ecircumflex put + +dup 231 /Aacute put + +dup 232 /Edieresis put + +dup 233 /Egrave put + +dup 234 /Iacute put + +dup 235 /Icircumflex put + +dup 236 /Idieresis put + +dup 237 /Igrave put + +dup 238 /Oacute put + +dup 239 /Ocircumflex put + +dup 240 /apple put + +dup 241 /Ograve put + +dup 242 /Uacute put + +dup 243 /Ucircumflex put + +dup 244 /Ugrave put + +dup 245 /dotlessi put + +dup 246 /circumflex put + +dup 247 /tilde put + +dup 248 /macron put + +dup 249 /breve put + +dup 250 /dotaccent put + +dup 251 /ring put + +dup 252 /cedilla put + +dup 253 /hungarumlaut put + +dup 254 /ogonek put + +dup 255 /caron put + +/f0 /|______Times-Roman dup RF findfont def + +_efh +end %. AltsysDict + +%%EndSetup +AltsysDict begin + +/onlyk4{false}ndf +/ccmyk{dup 5 -1 roll sub 0 max exch}ndf +/cmyk2gray{ +4 -1 roll 0.3 mul 4 -1 roll 0.59 mul 4 -1 roll 0.11 mul +add add add 1 min neg 1 add +}bdf +/setcmykcolor{1 exch sub ccmyk ccmyk ccmyk pop setrgbcolor}ndf +/maxcolor { +max max max +} ndf +/maxspot { +pop +} ndf +/setcmykcoloroverprint{4{dup -1 eq{pop 0}if 4 1 roll}repeat setcmykcolor}ndf +/findcmykcustomcolor{5 packedarray}ndf +/setcustomcolor{exch aload pop pop 4{4 index mul 4 1 roll}repeat setcmykcolor pop}ndf +/setseparationgray{setgray}ndf +/setoverprint{pop}ndf +/currentoverprint false ndf +/cmykbufs2gray{ +0 1 2 index length 1 sub +{ +4 index 1 index get 0.3 mul +4 index 2 index get 0.59 mul +4 index 3 index get 0.11 mul +4 index 4 index get +add add add cvi 255 min +255 exch sub +2 index 3 1 roll put +}for +4 1 roll pop pop pop +}bdf +/colorimage{ +pop pop +[ +5 -1 roll/exec cvx +6 -1 roll/exec cvx +7 -1 roll/exec cvx +8 -1 roll/exec cvx +/cmykbufs2gray cvx +]cvx +image +} +%. version 47.1 on Linotronic of Postscript defines colorimage incorrectly (rgb model only) +version cvr 47.1 le +statusdict /product get (Lino) anchorsearch{pop pop true}{pop false}ifelse +and{userdict begin bdf end}{ndf}ifelse +fhnumcolors 1 ne {/yt save def} if +/customcolorimage{ +aload pop +(_vc_Registration) eq +{ +pop pop pop pop separationimage +} +{ +/ik xdf /iy xdf /im xdf /ic xdf +ic im iy ik cmyk2gray /xt xdf +currenttransfer +{dup 1.0 exch sub xt mul add}concatprocs +st +image +} +ifelse +}ndf +fhnumcolors 1 ne {yt restore} if +fhnumcolors 3 ne {/yt save def} if +/customcolorimage{ +aload pop +(_vc_Registration) eq +{ +pop pop pop pop separationimage +} +{ +/ik xdf /iy xdf /im xdf /ic xdf +1.0 dup ic ik add min sub +1.0 dup im ik add min sub +1.0 dup iy ik add min sub +/ic xdf /iy xdf /im xdf +currentcolortransfer +4 1 roll +{dup 1.0 exch sub ic mul add}concatprocs 4 1 roll +{dup 1.0 exch sub iy mul add}concatprocs 4 1 roll +{dup 1.0 exch sub im mul add}concatprocs 4 1 roll +setcolortransfer +{/dummy xdf dummy}concatprocs{dummy}{dummy}true 3 colorimage +} +ifelse +}ndf +fhnumcolors 3 ne {yt restore} if +fhnumcolors 4 ne {/yt save def} if +/customcolorimage{ +aload pop +(_vc_Registration) eq +{ +pop pop pop pop separationimage +} +{ +/ik xdf /iy xdf /im xdf /ic xdf +currentcolortransfer +{1.0 exch sub ik mul ik sub 1 add}concatprocs 4 1 roll +{1.0 exch sub iy mul iy sub 1 add}concatprocs 4 1 roll +{1.0 exch sub im mul im sub 1 add}concatprocs 4 1 roll +{1.0 exch sub ic mul ic sub 1 add}concatprocs 4 1 roll +setcolortransfer +{/dummy xdf dummy}concatprocs{dummy}{dummy}{dummy} +true 4 colorimage +} +ifelse +}ndf +fhnumcolors 4 ne {yt restore} if +/separationimage{image}ndf +/spotascmyk false ndf +/newcmykcustomcolor{6 packedarray}ndf +/inkoverprint false ndf +/setinkoverprint{pop}ndf +/setspotcolor { +spots exch get +dup 4 get (_vc_Registration) eq +{pop 1 exch sub setseparationgray} +{0 5 getinterval exch setcustomcolor} +ifelse +}ndf +/currentcolortransfer{currenttransfer dup dup dup}ndf +/setcolortransfer{st pop pop pop}ndf +/fas{}ndf +/sas{}ndf +/fhsetspreadsize{pop}ndf +/filler{fill}bdf +/F{gsave {filler}fp grestore}bdf +/f{closepath F}bdf +/S{gsave {stroke}fp grestore}bdf +/s{closepath S}bdf +userdict /islevel2 +systemdict /languagelevel known dup +{ +pop systemdict /languagelevel get 2 ge +} if +put +islevel2 not +{ +/currentcmykcolor +{ +0 0 0 1 currentgray sub +} ndf +} if +/tc +{ +gsave +setcmykcolor currentcmykcolor +grestore +} bind def +/testCMYKColorThrough +{ +tc add add add 0 ne +} bind def +/fhiscomposite where not { +userdict /fhiscomposite +islevel2 +{ +gsave 1 1 1 1 setcmykcolor currentcmykcolor grestore +add add add 4 eq +} +{ +1 0 0 0 testCMYKColorThrough +0 1 0 0 testCMYKColorThrough +0 0 1 0 testCMYKColorThrough +0 0 0 1 testCMYKColorThrough +and and and +} ifelse +put +} +{ pop } +ifelse +/bc4 [0 0 0 0] def +/_lfp4 { +1 pop +/yt xdf +/xt xdf +/ang xdf +storerect +/taperfcn xdf +/k2 xdf /y2 xdf /m2 xdf /c2 xdf +/k1 xdf /y1 xdf /m1 xdf /c1 xdf +c1 c2 sub abs +m1 m2 sub abs +y1 y2 sub abs +k1 k2 sub abs +maxcolor +calcgraysteps mul abs round +height abs adjnumsteps +dup 1 lt {pop 1} if +1 sub /numsteps1 xdf +currentflat mark +currentflat clipflatness +/delta top bottom sub numsteps1 1 add div def +/right right left sub def +/botsv top delta sub def +{ +{ +W +xt yt translate +ang rotate +xt neg yt neg translate +dup setflat +/bottom botsv def +0 1 numsteps1 +{ +numsteps1 dup 0 eq {pop pop 0.5} {div} ifelse +taperfcn /frac xdf +bc4 0 c2 c1 sub frac mul c1 add put +bc4 1 m2 m1 sub frac mul m1 add put +bc4 2 y2 y1 sub frac mul y1 add put +bc4 3 k2 k1 sub frac mul k1 add put +bc4 vc +1 index setflat +{ +mark {newpath left bottom right delta rectfill}stopped +{cleartomark exch 1.3 mul dup setflat exch 2 copy gt{stop}if} +{cleartomark exit}ifelse +}loop +/bottom bottom delta sub def +}for +} +gsave stopped grestore +{exch pop 2 index exch 1.3 mul dup 100 gt{cleartomark setflat stop}if} +{exit}ifelse +}loop +cleartomark setflat +}bdf +/bcs [0 0] def +/_lfs4 { +/yt xdf +/xt xdf +/ang xdf +storerect +/taperfcn xdf +/tint2 xdf +/tint1 xdf +bcs exch 1 exch put +tint1 tint2 sub abs +bcs 1 get maxspot +calcgraysteps mul abs round +height abs adjnumsteps +dup 2 lt {pop 2} if +1 sub /numsteps1 xdf +currentflat mark +currentflat clipflatness +/delta top bottom sub numsteps1 1 add div def +/right right left sub def +/botsv top delta sub def +{ +{ +W +xt yt translate +ang rotate +xt neg yt neg translate +dup setflat +/bottom botsv def +0 1 numsteps1 +{ +numsteps1 div taperfcn /frac xdf +bcs 0 +1.0 tint2 tint1 sub frac mul tint1 add sub +put bcs vc +1 index setflat +{ +mark {newpath left bottom right delta rectfill}stopped +{cleartomark exch 1.3 mul dup setflat exch 2 copy gt{stop}if} +{cleartomark exit}ifelse +}loop +/bottom bottom delta sub def +}for +} +gsave stopped grestore +{exch pop 2 index exch 1.3 mul dup 100 gt{cleartomark setflat stop}if} +{exit}ifelse +}loop +cleartomark setflat +}bdf +/_rfs6 { +/tint2 xdf +/tint1 xdf +bcs exch 1 exch put +/inrad xdf +/radius xdf +/yt xdf +/xt xdf +tint1 tint2 sub abs +bcs 1 get maxspot +calcgraysteps mul abs round +radius inrad sub abs +adjnumsteps +dup 1 lt {pop 1} if +1 sub /numsteps1 xdf +radius inrad sub numsteps1 dup 0 eq {pop} {div} ifelse +2 div /halfstep xdf +currentflat mark +currentflat clipflatness +{ +{ +dup setflat +W +0 1 numsteps1 +{ +dup /radindex xdf +numsteps1 dup 0 eq {pop pop 0.5} {div} ifelse +/frac xdf +bcs 0 +tint2 tint1 sub frac mul tint1 add +put bcs vc +1 index setflat +{ +newpath mark +xt yt radius inrad sub 1 frac sub mul halfstep add inrad add 0 360 +{ arc +radindex numsteps1 ne +inrad 0 gt or +{ +xt yt +numsteps1 0 eq +{ inrad } +{ +radindex 1 add numsteps1 div 1 exch sub +radius inrad sub mul halfstep add inrad add +}ifelse +dup xt add yt moveto +360 0 arcn +} if +fill +}stopped +{cleartomark exch 1.3 mul dup setflat exch 2 copy gt{stop}if} +{cleartomark exit}ifelse +}loop +}for +} +gsave stopped grestore +{exch pop 2 index exch 1.3 mul dup 100 gt{cleartomark setflat stop}if} +{exit}ifelse +}loop +cleartomark setflat +}bdf +/_rfp6 { +1 pop +/k2 xdf /y2 xdf /m2 xdf /c2 xdf +/k1 xdf /y1 xdf /m1 xdf /c1 xdf +/inrad xdf +/radius xdf +/yt xdf +/xt xdf +c1 c2 sub abs +m1 m2 sub abs +y1 y2 sub abs +k1 k2 sub abs +maxcolor +calcgraysteps mul abs round +radius inrad sub abs +adjnumsteps +dup 1 lt {pop 1} if +1 sub /numsteps1 xdf +radius inrad sub numsteps1 dup 0 eq {pop} {div} ifelse +2 div /halfstep xdf +currentflat mark +currentflat clipflatness +{ +{ +dup setflat +W +0 1 numsteps1 +{ +dup /radindex xdf +numsteps1 dup 0 eq {pop pop 0.5} {div} ifelse +/frac xdf +bc4 0 c2 c1 sub frac mul c1 add put +bc4 1 m2 m1 sub frac mul m1 add put +bc4 2 y2 y1 sub frac mul y1 add put +bc4 3 k2 k1 sub frac mul k1 add put +bc4 vc +1 index setflat +{ +newpath mark +xt yt radius inrad sub 1 frac sub mul halfstep add inrad add 0 360 +{ arc +radindex numsteps1 ne +inrad 0 gt or +{ +xt yt +numsteps1 0 eq +{ inrad } +{ +radindex 1 add numsteps1 div 1 exch sub +radius inrad sub mul halfstep add inrad add +}ifelse +dup xt add yt moveto +360 0 arcn +} if +fill +}stopped +{cleartomark exch 1.3 mul dup setflat exch 2 copy gt{stop}if} +{cleartomark exit}ifelse +}loop +}for +} +gsave stopped grestore +{exch pop 2 index exch 1.3 mul dup 100 gt{cleartomark setflat stop}if} +{exit}ifelse +}loop +cleartomark setflat +}bdf +/lfp4{_lfp4}ndf +/lfs4{_lfs4}ndf +/rfs6{_rfs6}ndf +/rfp6{_rfp6}ndf +/cvc [0 0 0 1] def +/vc{ +AltsysDict /cvc 2 index put +aload length dup 4 eq +{pop dup -1 eq{pop setrgbcolor}{setcmykcolor}ifelse} +{6 eq {sethexcolor} {setspotcolor} ifelse } +ifelse +}bdf +0 setseparationgray +/imgr {1692 1584 2287.28 2425.89 } def +/bleed 0 def +/clpr {1692 1584 2287.28 2425.89 } def +/xs 1 def +/ys 1 def +/botx 0 def +/overlap 0 def +/wdist 18 def +0 2 mul fhsetspreadsize +0 0 ne {/df 0 def /clipflatness 0 def} if +/maxsteps 256 def +/forcemaxsteps false def +/minsteps 0 def + +userdict begin /AGDOrigMtx matrix currentmatrix def end +vms +-1814 -1852 translate + +/currentpacking defed{false setpacking}if +/spots[ + +1 0 0 0 (Process Cyan) false newcmykcustomcolor + +0 1 0 0 (Process Magenta) false newcmykcustomcolor + +0 0 1 0 (Process Yellow) false newcmykcustomcolor + +0 0 0 1 (Process Black) false newcmykcustomcolor + +1 0.38 0 0.69 (PANTONE 2965 CVC) false newcmykcustomcolor + +0 0.43 0.87 0 (PANTONE 151 CVC) false newcmykcustomcolor + +0 0.275 0.76 0 (PANTONE 1235 CVC) false newcmykcustomcolor + +0 0.79 0.94 0 (PANTONE 179 CVC) false newcmykcustomcolor + +0.7613 0.5271 0.6244 0.7124 (0r 43g 61b) false newcmykcustomcolor + +0.0017 0.7251 0.8508 0 (244r 72g 0b) false newcmykcustomcolor + +0.0032 0.4248 0.8274 0 (251r 139g 0b) false newcmykcustomcolor + +0.0176 0.9327 0.9184 0 (212r 0g 0b) false newcmykcustomcolor +]def + +/textopf false def +/curtextmtx{}def +/otw .25 def +/msf{dup/curtextmtx xdf makefont setfont}bdf +/makesetfont/msf load def +/curtextheight{.707104 .707104 curtextmtx dtransform +dup mul exch dup mul add sqrt}bdf +/ta2{ +tempstr 2 index gsave exec grestore +cwidth cheight rmoveto +4 index eq{5 index 5 index rmoveto}if +2 index 2 index rmoveto +}bdf +/ta{exch systemdict/cshow known +{{/cheight xdf/cwidth xdf tempstr 0 2 index put ta2}exch cshow} +{{tempstr 0 2 index put tempstr stringwidth/cheight xdf/cwidth xdf ta2}forall} +ifelse 6{pop}repeat}bdf +/sts{/textopf currentoverprint def vc setoverprint +/ts{awidthshow}def exec textopf setoverprint}bdf +/stol{/xt currentlinewidth def +setlinewidth vc newpath +/ts{{false charpath stroke}ta}def exec +xt setlinewidth}bdf +/strk{/textopf currentoverprint def vc setoverprint +/ts{{false charpath stroke}ta}def exec +textopf setoverprint +}bdf +/cvtr {1 exch sub 3 1 roll} def +/vr { +[ 3 index 3 index 3 index cvtr cvtr cvtr 0 ] +fhiscomposite not {vc pop pop pop}{pop setrgbcolor}ifelse +} def +/vc {AltsysDict /cvc 2 index put aload length dup 4 eq +{pop dup -0.2 ge {setcmykcolor} {pop vr} ifelse} +{6 eq {sethexcolor} {setspotcolor} ifelse} ifelse +} bdf +n +[] 0 d +3.863708 M +1 w +0 j +0 J +false setoverprint +0 i +false eomode +[0 0 0 1]vc +vms +2128.893 1905.8496 m +2128.893 1907.8711 2129.3485 1909.3749 2130.2616 1910.3621 C +2131.1735 1911.3723 2132.3814 1911.8773 2133.8864 1911.8785 C +2135.4144 1911.8785 2136.6477 1911.3723 2137.585 1910.3621 C +2138.5213 1909.3506 2138.9894 1907.8469 2138.9906 1905.8496 C +2138.9907 1892.7135 L +2138.9907 1888.9829 2139.2467 1886.3861 2139.7588 1884.9232 C +2140.2708 1883.4842 2141.0869 1882.363 2142.2092 1881.5583 C +2143.3545 1880.7536 2144.7569 1880.3514 2146.4153 1880.3514 C +2148.0726 1880.3514 2149.475 1880.7411 2150.6214 1881.5218 C +2151.7917 1882.3264 2152.657 1883.4968 2153.2182 1885.0329 C +2153.6319 1886.1781 2153.8388 1888.6286 2153.84 1892.3844 C +2153.84 1905.8963 L +2153.84 1907.9022 2154.294 1909.3943 2155.2 1910.3738 C +2156.1049 1911.3762 2157.3034 1911.8773 2158.7968 1911.8785 C +2160.3129 1911.8785 2161.5367 1911.3762 2162.4667 1910.3738 C +2163.3957 1909.3702 2163.8602 1907.8781 2163.8613 1905.8963 C +2163.8613 1895.0177 L +2163.8613 1888.0686 2163.3126 1883.3139 2162.2155 1880.7536 C +2160.8736 1877.6323 2158.8986 1875.2309 2156.2904 1873.5485 C +2153.6811 1871.8913 2150.3654 1871.0626 2146.3421 1871.0615 C +2141.9772 1871.0615 2138.4421 1872.0376 2135.7356 1873.9874 C +2133.0531 1875.9372 2131.1637 1878.6564 2130.0666 1882.1435 C +2129.286 1884.5574 2128.8962 1888.9463 2128.8962 1895.3103 C +2128.893 1905.8496 L +[1 8]vc +f +n +2051.3528 1877.0904 m +2051.3528 1875.0688 2051.8082 1873.565 2052.7214 1872.5779 C +2053.6333 1871.5677 2054.8412 1871.0626 2056.3462 1871.0615 C +2057.8742 1871.0615 2059.1075 1871.5677 2060.0448 1872.5779 C +2060.9811 1873.5893 2061.4492 1875.0931 2061.4503 1877.0904 C +2061.4505 1890.2265 L +2061.4505 1893.957 2061.7065 1896.5539 2062.2186 1898.0168 C +2062.7305 1899.4557 2063.5466 1900.577 2064.669 1901.3817 C +2065.8143 1902.1863 2067.2167 1902.5886 2068.8751 1902.5886 C +2070.5323 1902.5886 2071.9347 1902.1988 2073.0811 1901.4182 C +2074.2515 1900.6135 2075.1167 1899.4432 2075.6779 1897.9071 C +2076.0917 1896.7618 2076.2986 1894.3114 2076.2997 1890.5556 C +2076.2997 1877.0436 L +2076.2997 1875.0378 2076.7538 1873.5457 2077.6598 1872.5662 C +2078.5647 1871.5638 2079.7632 1871.0626 2081.2565 1871.0615 C +2082.7726 1871.0615 2083.9964 1871.5638 2084.9265 1872.5662 C +2085.8555 1873.5697 2086.32 1875.0618 2086.3211 1877.0436 C +2086.3211 1887.9223 L +2086.3211 1894.8714 2085.7724 1899.6261 2084.6753 1902.1863 C +2083.3334 1905.3076 2081.3584 1907.7091 2078.7502 1909.3915 C +2076.1408 1911.0486 2072.8251 1911.8773 2068.8019 1911.8785 C +2064.437 1911.8785 2060.9018 1910.9024 2058.1954 1908.9526 C +2055.5128 1907.0027 2053.6235 1904.2836 2052.5264 1900.7965 C +2051.7457 1898.3826 2051.3559 1893.9936 2051.3559 1887.6297 C +2051.3528 1877.0904 L +f +n +2005.6404 1905.8496 m +2005.6404 1907.8711 2006.0959 1909.3749 2007.0089 1910.3621 C +2007.9209 1911.3723 2009.1288 1911.8773 2010.6338 1911.8785 C +2012.1618 1911.8785 2013.3951 1911.3723 2014.3324 1910.3621 C +2015.2686 1909.3506 2015.7368 1907.8469 2015.7379 1905.8496 C +2015.7381 1892.7135 L +2015.7381 1888.9829 2015.9941 1886.3861 2016.5061 1884.9232 C +2017.0182 1883.4842 2017.8342 1882.363 2018.9566 1881.5583 C +2020.1019 1880.7536 2021.5043 1880.3514 2023.1627 1880.3514 C +2024.8199 1880.3514 2026.2224 1880.7411 2027.3687 1881.5218 C +2028.5391 1882.3264 2029.4044 1883.4968 2029.9655 1885.0329 C +2030.3793 1886.1781 2030.5862 1888.6286 2030.5873 1892.3844 C +2030.5873 1905.8963 L +2030.5873 1907.9022 2031.0414 1909.3943 2031.9474 1910.3738 C +2032.8523 1911.3762 2034.0508 1911.8773 2035.5441 1911.8785 C +2037.0603 1911.8785 2038.284 1911.3762 2039.2141 1910.3738 C +2040.1431 1909.3702 2040.6076 1907.8781 2040.6087 1905.8963 C +2040.6087 1895.0177 L +2040.6087 1888.0686 2040.06 1883.3139 2038.9628 1880.7536 C +2037.621 1877.6323 2035.646 1875.2309 2033.0378 1873.5485 C +2030.4285 1871.8913 2027.1127 1871.0626 2023.0895 1871.0615 C +2018.7246 1871.0615 2015.1894 1872.0376 2012.483 1873.9874 C +2009.8004 1875.9372 2007.9111 1878.6564 2006.8139 1882.1435 C +2006.0333 1884.5574 2005.6435 1888.9463 2005.6435 1895.3103 C +2005.6404 1905.8496 L +f +n +1915.1827 1905.8496 m +1915.1827 1907.8711 1915.6381 1909.3749 1916.5513 1910.3621 C +1917.4632 1911.3723 1918.6711 1911.8773 1920.1761 1911.8785 C +1921.7041 1911.8785 1922.9374 1911.3723 1923.8747 1910.3621 C +1924.8032 1909.359 1925.2717 1907.8691 1925.2804 1905.8963 C +1925.2804 1892.7135 L +1925.2804 1888.9829 1925.5365 1886.3861 1926.0485 1884.9232 C +1926.5605 1883.4842 1927.3766 1882.363 1928.499 1881.5583 C +1929.6442 1880.7536 1931.0466 1880.3514 1932.705 1880.3514 C +1934.3623 1880.3514 1935.7648 1880.7411 1936.9111 1881.5218 C +1938.0815 1882.3264 1938.9467 1883.4968 1939.5079 1885.0329 C +1939.9216 1886.1781 1940.1285 1888.6286 1940.1297 1892.3844 C +1940.1297 1905.8963 L +1940.1297 1907.9022 1940.5837 1909.3943 1941.4897 1910.3738 C +1942.3946 1911.3762 1943.5931 1911.8773 1945.0865 1911.8785 C +1946.6026 1911.8785 1947.8264 1911.3762 1948.7564 1910.3738 C +1949.6854 1909.3702 1950.1499 1907.8781 1950.1511 1905.8963 C +1950.1511 1895.0177 L +1950.1511 1888.0686 1949.6024 1883.3139 1948.5052 1880.7536 C +1947.1634 1877.6323 1945.1884 1875.2309 1942.5802 1873.5485 C +1939.9708 1871.8913 1936.6551 1871.0626 1932.6319 1871.0615 C +1928.267 1871.0615 1924.7318 1872.0376 1922.0253 1873.9874 C +1919.3428 1875.9372 1917.4535 1878.6564 1916.3563 1882.1435 C +1915.5757 1884.5574 1915.1859 1888.9463 1915.1859 1895.3103 C +1915.1827 1905.8496 L +f +n +1993.9827 1902.2 m +1993.8492 1902.5104 1993.7095 1902.8138 1993.5635 1903.1099 C +1993.7937 1902.6334 1994.0099 1902.1336 1994.2111 1901.6129 C +1994.1378 1901.8199 1994.0617 1902.0157 1993.9827 1902.2 C +h +1960.7218 1891.3504 m +1960.7401 1891.9473 L +1960.728 1892.0029 1960.7218 1892.0698 1960.7218 1892.1483 C +1960.7218 1919.103 L +1960.7218 1920.7548 1960.7593 1922.043 1960.8343 1922.9698 C +1960.9341 1923.92 1961.184 1924.7331 1961.5852 1925.41 C +1961.9853 1926.1104 1962.5602 1926.6736 1963.3122 1927.0994 C +1964.063 1927.5499 1964.9007 1927.7752 1965.8275 1927.7752 C +1967.1285 1927.7752 1968.3041 1927.2872 1969.3564 1926.3111 C +1970.0568 1925.6599 1970.4944 1924.8586 1970.6704 1923.9084 C +1970.8698 1922.9815 1970.9696 1921.6558 1970.9707 1919.9289 C +1970.9707 1909.5858 L +1973.0339 1910.33 1975.2146 1911.8922 1979.4646 1911.8922 C +1983.4878 1911.891 1985.4482 1911.0623 1988.0576 1909.4052 C +1989.4388 1908.5143 1990.6424 1907.4217 1991.6685 1906.1274 C +1992.3873 1905.2206 1993.019 1904.2148 1993.5635 1903.1099 C +1993.7095 1902.8138 1993.8492 1902.5104 1993.9827 1902.2 C +1994.0617 1902.0157 1994.1378 1901.8199 1994.2111 1901.6129 C +1995.3155 1898.7539 1995.9646 1895.262 1995.9646 1891.492 C +1995.9646 1887.7899 1995.3387 1884.3558 1994.2703 1881.5261 C +1994.179 1881.2548 1994.0831 1881.0018 1993.9827 1880.7673 C +1993.6956 1880.0997 1993.3797 1879.4651 1993.0348 1878.8634 C +1992.7521 1878.3702 1992.4499 1877.8991 1992.1283 1877.4501 C +1991.0077 1875.8858 1989.6508 1874.5899 1988.0576 1873.5622 C +1985.4483 1871.905 1982.1326 1871.0763 1978.1094 1871.0752 C +1973.7444 1871.0752 1970.2093 1872.0513 1967.5028 1874.0011 C +1964.8202 1875.9509 1962.931 1878.6701 1961.8337 1882.1572 C +1961.2277 1884.0313 1960.8572 1887.0956 1960.7218 1891.3504 C +h +1982.7773 1880.5401 m +1983.7382 1881.2007 1984.5122 1882.0854 1985.0996 1883.1942 C +1985.1853 1883.2912 1985.2564 1883.3973 1985.3116 1883.5128 C +1986.3624 1885.7106 1986.986 1888.4515 1986.986 1891.4236 C +1986.986 1894.2923 1986.4051 1896.9456 1985.4197 1899.1031 C +1984.8047 1900.5301 1983.9242 1901.6378 1982.7773 1902.4262 C +1981.5163 1903.285 1979.9737 1903.7137 1978.1507 1903.7137 C +1976.3265 1903.7137 1974.7837 1903.2712 1973.5239 1902.3861 C +1972.2894 1901.501 1971.3916 1900.2676 1970.8284 1898.6847 C +1970.3993 1897.4587 1970.1336 1895.5088 1970.0314 1892.835 C +1969.9887 1888.695 1970.2704 1885.8761 1970.8284 1884.2816 C +1971.3917 1882.6988 1972.2894 1881.4654 1973.5239 1880.5803 C +1974.7837 1879.6951 1976.3264 1879.2527 1978.1507 1879.2527 C +1979.9737 1879.2527 1981.5164 1879.6814 1982.7773 1880.5401 C +f +n +2098.4125 1911.8223 m +2099.5385 1911.8223 L +2099.5385 1917.9778 L +2099.5385 1919.6292 2099.576 1920.9171 2099.651 1921.8436 C +2099.7507 1922.7937 2100.0006 1923.6065 2100.4017 1924.2833 C +2100.8017 1924.9836 2101.3764 1925.5465 2102.1282 1925.9723 C +2102.8789 1926.4227 2103.7164 1926.6479 2104.6429 1926.6479 C +2105.9437 1926.6479 2107.119 1926.16 2108.1711 1925.1841 C +2108.8713 1924.5331 2109.3088 1923.732 2109.4847 1922.782 C +2109.6841 1921.8554 2109.7838 1920.53 2109.785 1918.8034 C +2109.785 1911.8223 L +2113.5383 1911.8223 L +2114.9891 1911.8223 2116.0893 1911.4716 2116.8412 1910.7714 C +2117.6165 1910.0958 2118.0035 1909.2196 2118.0047 1908.1441 C +2118.0047 1906.7671 2117.4535 1905.8041 2116.3532 1905.254 C +2115.2765 1904.7027 2113.726 1904.4283 2111.6992 1904.4283 C +2109.785 1904.4283 L +2109.785 1885.5867 L +2109.785 1883.9845 2109.8343 1882.7459 2109.9351 1881.8709 C +2110.0594 1881.0194 2110.3597 1880.3192 2110.8359 1879.7691 C +2111.3356 1879.2437 2112.1367 1878.9809 2113.2381 1878.9809 C +2113.8386 1878.9809 2114.6514 1879.0806 2115.6777 1879.2811 C +2116.7027 1879.5063 2117.5039 1879.619 2118.0797 1879.619 C +2118.9055 1879.619 2119.6433 1879.2811 2120.2942 1878.6055 C +2120.9698 1877.9546 2121.3077 1877.1418 2121.3077 1876.1659 C +2121.3077 1874.5145 2120.4068 1873.2501 2118.6052 1872.3751 C +2116.8036 1871.5002 2114.2138 1871.0626 2110.8359 1871.0615 C +2107.6327 1871.0615 2105.2059 1871.5999 2103.5545 1872.6754 C +2101.9031 1873.7509 2100.8146 1875.2393 2100.2891 1877.1418 C +2099.7883 1879.043 2099.5385 1881.5824 2099.5385 1884.761 C +2099.5385 1904.4283 L +2098.1873 1904.4283 L +2096.7106 1904.4283 2095.5846 1904.7778 2094.8093 1905.4792 C +2094.0328 1906.1794 2093.6457 1907.0674 2093.6457 1908.1441 C +2093.6457 1909.2196 2094.0457 1910.0946 2094.8468 1910.7714 C +2095.6726 1911.4716 2096.8607 1911.8211 2098.4125 1911.8223 C +f +n +1852.0814 1911.8957 m +1845.3927 1923.481 L +1852.1698 1926.8292 1859.6151 1927.6405 1866.58 1926.2224 C +1866.0716 1921.8327 1868.1492 1917.3564 1872.2197 1915.0062 C +1876.292 1912.655 1881.2098 1913.0953 1884.7576 1915.7334 C +1886.1928 1914.1068 1887.4884 1912.314 1888.6149 1910.3629 C +1891.1162 1906.0305 1892.525 1901.3674 1892.9266 1896.6923 C +1879.497 1896.7616 L +1878.6421 1902.4962 1875.2744 1907.8009 1869.8629 1910.9253 C +1864.2161 1914.1854 1857.6261 1914.3312 1852.0814 1911.8957 C +[1 9]vc +f +n +1840.5879 1867.0926 m +1836.9425 1869.7351 1833.7812 1873.1693 1831.3845 1877.3204 C +1830.2174 1879.342 1829.2881 1881.4356 1828.588 1883.5688 C +1829.9402 1884.5016 1831.1115 1885.7419 1831.9875 1887.2592 C +1835.0745 1892.606 1833.3492 1899.4107 1828.1554 1902.6578 C +1830.1084 1909.7134 1834.3927 1916.1275 1840.6716 1920.644 C +1847.3968 1908.9957 L +1845.6655 1907.5515 1844.1547 1905.7834 1842.9617 1903.7171 C +1838.1019 1895.2996 1840.1625 1884.7859 1847.378 1878.7638 C +1840.5879 1867.0926 L +[1 10]vc +f +n +1866.7063 1861.4781 m +1859.4051 1859.9638 1851.8572 1860.9966 1845.3021 1864.2444 C +1852.0574 1875.8558 L +1861.1428 1871.8286 1871.9901 1875.2237 1877.071 1884.0242 C +1878.3981 1886.3227 1879.2091 1888.7774 1879.5402 1891.2544 C +1892.9379 1891.1851 L +1892.3168 1883.5676 1889.0665 1876.2571 1883.5665 1870.6698 C +1878.14 1873.6264 1871.3159 1871.7284 1868.2086 1866.3465 C +1867.3185 1864.8048 1866.8285 1863.142 1866.7063 1861.4781 C +[1 11]vc +f +n +1871.3429 1864.5363 m +1873.498 1868.2691 1878.2711 1869.548 1882.0039 1867.3929 C +1885.7367 1865.2377 1887.0157 1860.4646 1884.8605 1856.7318 C +1882.7054 1852.999 1877.9323 1851.7201 1874.1995 1853.8752 C +1870.4667 1856.0304 1869.1878 1860.8035 1871.3429 1864.5363 C +[1 10]vc +f +n +1871.1709 1928.8038 m +1873.326 1932.5367 1878.099 1933.8156 1881.8318 1931.6604 C +1885.5647 1929.5052 1886.8436 1924.7321 1884.6885 1920.9993 C +1882.5333 1917.2665 1877.7603 1915.9876 1874.0275 1918.1428 C +1870.2946 1920.298 1869.0157 1925.071 1871.1709 1928.8038 C +[1 11]vc +f +n +1815.3322 1896.8786 m +1817.4873 1900.6114 1822.2603 1901.8904 1825.9932 1899.7352 C +1829.726 1897.58 1831.005 1892.8069 1828.8498 1889.0741 C +1826.6947 1885.3412 1821.9216 1884.0624 1818.1888 1886.2175 C +1814.4559 1888.3727 1813.177 1893.1458 1815.3322 1896.8786 C +[1 9]vc +f +n +vmrs +vmr +vmr +end +%%Trailer + +%%EndDocument + +% Start of EPS cleanup +count op_count sub {pop} repeat +countdictstack dict_count sub {end} repeat +b4_Inc_state restore +% End of EPS cleanup +40 696 moveto (Grayscale) show +% grayscale bar +save +/x 40 def +/y 658 def +/width_each 46 def +/height 36 def +/temp 10 string def +/setproc { 1 exch sub setgray } def +/towhite { 6 gt } def +0 setlinewidth +0 1 10 { + /i exch def + newpath + x i width_each mul add y moveto % bottom left + 0 height rlineto % to top left + width_each 0 rlineto % to top right + 0 height neg rlineto % to bottom right + closepath % back to bottom left + gsave + i 10 div setproc + fill + grestore + stroke + i 10 mul temp cvs length % multiply by 10 to get percentage + temp exch + 2 copy (%) putinterval % add percent sign + 0 exch 1 add getinterval % reduce to string + /str exch def + x % base x + i width_each mul add % plus offset to start of block + width_each 2 div add % plus half a block + str stringwidth pop 2 div sub % plus half the string width + y 5 add moveto + gsave + i towhite { 1.0 setgray } if + str show + grestore + } for +restore +40 633 moveto (Red) show +% grayscale bar +save +/x 40 def +/y 595 def +/width_each 46 def +/height 36 def +/temp 10 string def +/setproc { 0 0 setrgbcolor } def +/towhite { 6 lt } def +0 setlinewidth +0 1 10 { + /i exch def + newpath + x i width_each mul add y moveto % bottom left + 0 height rlineto % to top left + width_each 0 rlineto % to top right + 0 height neg rlineto % to bottom right + closepath % back to bottom left + gsave + i 10 div setproc + fill + grestore + stroke + i 10 mul temp cvs length % multiply by 10 to get percentage + temp exch + 2 copy (%) putinterval % add percent sign + 0 exch 1 add getinterval % reduce to string + /str exch def + x % base x + i width_each mul add % plus offset to start of block + width_each 2 div add % plus half a block + str stringwidth pop 2 div sub % plus half the string width + y 5 add moveto + gsave + i towhite { 1.0 setgray } if + str show + grestore + } for +restore +40 585 moveto (Green) show +% grayscale bar +save +/x 40 def +/y 547 def +/width_each 46 def +/height 36 def +/temp 10 string def +/setproc { 0 0 3 1 roll setrgbcolor } def +/towhite { 6 lt } def +0 setlinewidth +0 1 10 { + /i exch def + newpath + x i width_each mul add y moveto % bottom left + 0 height rlineto % to top left + width_each 0 rlineto % to top right + 0 height neg rlineto % to bottom right + closepath % back to bottom left + gsave + i 10 div setproc + fill + grestore + stroke + i 10 mul temp cvs length % multiply by 10 to get percentage + temp exch + 2 copy (%) putinterval % add percent sign + 0 exch 1 add getinterval % reduce to string + /str exch def + x % base x + i width_each mul add % plus offset to start of block + width_each 2 div add % plus half a block + str stringwidth pop 2 div sub % plus half the string width + y 5 add moveto + gsave + i towhite { 1.0 setgray } if + str show + grestore + } for +restore +40 537 moveto (Blue) show +% grayscale bar +save +/x 40 def +/y 499 def +/width_each 46 def +/height 36 def +/temp 10 string def +/setproc { 0 0 3 2 roll setrgbcolor } def +/towhite { pop true } def +0 setlinewidth +0 1 10 { + /i exch def + newpath + x i width_each mul add y moveto % bottom left + 0 height rlineto % to top left + width_each 0 rlineto % to top right + 0 height neg rlineto % to bottom right + closepath % back to bottom left + gsave + i 10 div setproc + fill + grestore + stroke + i 10 mul temp cvs length % multiply by 10 to get percentage + temp exch + 2 copy (%) putinterval % add percent sign + 0 exch 1 add getinterval % reduce to string + /str exch def + x % base x + i width_each mul add % plus offset to start of block + width_each 2 div add % plus half a block + str stringwidth pop 2 div sub % plus half the string width + y 5 add moveto + gsave + i towhite { 1.0 setgray } if + str show + grestore + } for +restore +40 474 moveto (Cyan) show +% grayscale bar +save +/x 40 def +/y 436 def +/width_each 46 def +/height 36 def +/temp 10 string def +/setproc { 0 0 0 setcmykcolor } def +/towhite { pop false } def +0 setlinewidth +0 1 10 { + /i exch def + newpath + x i width_each mul add y moveto % bottom left + 0 height rlineto % to top left + width_each 0 rlineto % to top right + 0 height neg rlineto % to bottom right + closepath % back to bottom left + gsave + i 10 div setproc + fill + grestore + stroke + i 10 mul temp cvs length % multiply by 10 to get percentage + temp exch + 2 copy (%) putinterval % add percent sign + 0 exch 1 add getinterval % reduce to string + /str exch def + x % base x + i width_each mul add % plus offset to start of block + width_each 2 div add % plus half a block + str stringwidth pop 2 div sub % plus half the string width + y 5 add moveto + gsave + i towhite { 1.0 setgray } if + str show + grestore + } for +restore +40 426 moveto (Magenta) show +% grayscale bar +save +/x 40 def +/y 388 def +/width_each 46 def +/height 36 def +/temp 10 string def +/setproc { 0 0 0 4 1 roll setcmykcolor } def +/towhite { pop false } def +0 setlinewidth +0 1 10 { + /i exch def + newpath + x i width_each mul add y moveto % bottom left + 0 height rlineto % to top left + width_each 0 rlineto % to top right + 0 height neg rlineto % to bottom right + closepath % back to bottom left + gsave + i 10 div setproc + fill + grestore + stroke + i 10 mul temp cvs length % multiply by 10 to get percentage + temp exch + 2 copy (%) putinterval % add percent sign + 0 exch 1 add getinterval % reduce to string + /str exch def + x % base x + i width_each mul add % plus offset to start of block + width_each 2 div add % plus half a block + str stringwidth pop 2 div sub % plus half the string width + y 5 add moveto + gsave + i towhite { 1.0 setgray } if + str show + grestore + } for +restore +40 378 moveto (Yellow) show +% grayscale bar +save +/x 40 def +/y 340 def +/width_each 46 def +/height 36 def +/temp 10 string def +/setproc { 0 0 0 4 2 roll setcmykcolor } def +/towhite { pop false } def +0 setlinewidth +0 1 10 { + /i exch def + newpath + x i width_each mul add y moveto % bottom left + 0 height rlineto % to top left + width_each 0 rlineto % to top right + 0 height neg rlineto % to bottom right + closepath % back to bottom left + gsave + i 10 div setproc + fill + grestore + stroke + i 10 mul temp cvs length % multiply by 10 to get percentage + temp exch + 2 copy (%) putinterval % add percent sign + 0 exch 1 add getinterval % reduce to string + /str exch def + x % base x + i width_each mul add % plus offset to start of block + width_each 2 div add % plus half a block + str stringwidth pop 2 div sub % plus half the string width + y 5 add moveto + gsave + i towhite { 1.0 setgray } if + str show + grestore + } for +restore +40 330 moveto (Black) show +% grayscale bar +save +/x 40 def +/y 292 def +/width_each 46 def +/height 36 def +/temp 10 string def +/setproc { 0 0 0 4 3 roll setcmykcolor } def +/towhite { 6 gt } def +0 setlinewidth +0 1 10 { + /i exch def + newpath + x i width_each mul add y moveto % bottom left + 0 height rlineto % to top left + width_each 0 rlineto % to top right + 0 height neg rlineto % to bottom right + closepath % back to bottom left + gsave + i 10 div setproc + fill + grestore + stroke + i 10 mul temp cvs length % multiply by 10 to get percentage + temp exch + 2 copy (%) putinterval % add percent sign + 0 exch 1 add getinterval % reduce to string + /str exch def + x % base x + i width_each mul add % plus offset to start of block + width_each 2 div add % plus half a block + str stringwidth pop 2 div sub % plus half the string width + y 5 add moveto + gsave + i towhite { 1.0 setgray } if + str show + grestore + } for +restore +40 40 moveto +statusdict begin + (Product: ) show product show + ( Version: ) show version 10 string cvs show + ( Revision: ) show revision 10 string cvs show +end +% End of page +restore +showpage +%%Trailer +end +%%EOF --- system-config-printer-1.1.3+git20090218.orig/debian/local/testpage-letter.ps +++ system-config-printer-1.1.3+git20090218/debian/local/testpage-letter.ps @@ -0,0 +1,3370 @@ +%!PS-Adobe-3.0 +%%Title: PPR Test Page +%%Pages: 1 +%%DocumentNeededResources: font Helvetica +%%EndComments +%%BeginProlog +%%EndProlog +%%BeginSetup +%%IncludeResource: font Helvetica +/Helvetica findfont 10 scalefont setfont +%%IncludeFeature: *PageSize Letter +10 dict begin +%%EndSetup +%%Page: 1 1 +save +% border +gsave +0 setlinewidth +newpath 36.00 dup moveto 0 720.00 rlineto 540.00 0 rlineto 0 -720.00 rlineto +closepath stroke +grestore + +% border +gsave +0 setlinewidth +[1 1] 1 setdash +newpath 31.50 dup moveto 0 729.00 rlineto 549.00 0 rlineto 0 -729.00 rlineto +closepath stroke +grestore + +% border +gsave +0 setlinewidth +[3 1] 2 setdash +newpath 27.00 dup moveto 0 738.00 rlineto 558.00 0 rlineto 0 -738.00 rlineto +closepath stroke +grestore + +% border +gsave +0 setlinewidth +[1 1] 1 setdash +newpath 22.50 dup moveto 0 747.00 rlineto 567.00 0 rlineto 0 -747.00 rlineto +closepath stroke +grestore + +% border +gsave +0 setlinewidth +newpath 18.00 dup moveto 0 756.00 rlineto 576.00 0 rlineto 0 -756.00 rlineto +closepath stroke +grestore + +% border +gsave +0 setlinewidth +[1 1] 1 setdash +newpath 13.50 dup moveto 0 765.00 rlineto 585.00 0 rlineto 0 -765.00 rlineto +closepath stroke +grestore + +% border +gsave +0 setlinewidth +[3 1] 2 setdash +newpath 9.00 dup moveto 0 774.00 rlineto 594.00 0 rlineto 0 -774.00 rlineto +closepath stroke +grestore + +% border +gsave +0 setlinewidth +[1 1] 1 setdash +newpath 4.50 dup moveto 0 783.00 rlineto 603.00 0 rlineto 0 -783.00 rlineto +closepath stroke +grestore + +% Start of EPS setup +/b4_Inc_state save def +/dict_count countdictstack def +/op_count count 1 sub def +userdict begin +/showpage {} def +222.00 671.00 translate +1.00 dup scale +0 neg 0 neg translate +newpath 0 0 moveto 0 81 lineto 350 81 lineto 350 0 lineto closepath clip +% End of EPS setup + +%%BeginDocument: /home/jdub/Documents/Canonical/Logos/Ubuntu_logo.eps +%!PS-Adobe-2.0 EPSF-1.2 + +%%Title: Ubuntu final logo +%%Creator: FreeHand 10.0 +%%CreationDate: 15/9/04 11:16 am +%%BoundingBox: 0 0 350 81 +%%FHPathName:Work:CANONICAL SOFTWARE:Ubuntu:UBUNTU Identity:Ubuntu final logo +%ALDOriginalFile:Work:CANONICAL SOFTWARE:Ubuntu:UBUNTU Identity:Ubuntu final logo +%ALDBoundingBox: -122 -268 473 573 +%%FHPageNum:1 +%%DocumentSuppliedResources: procset Altsys_header 4 0 +%%ColorUsage: Color +%%DocumentProcessColors: Black +%%DocumentCustomColors: (PANTONE 2965 CVC) +%%+ (PANTONE 151 CVC) +%%+ (PANTONE 1235 CVC) +%%+ (PANTONE 179 CVC) +%%+ (0r 43g 61b) +%%+ (244r 72g 0b) +%%+ (251r 139g 0b) +%%+ (212r 0g 0b) +%%CMYKCustomColor: 1 0.38 0 0.69 (PANTONE 2965 CVC) +%%+ 0 0.43 0.87 0 (PANTONE 151 CVC) +%%+ 0 0.275 0.76 0 (PANTONE 1235 CVC) +%%+ 0 0.79 0.94 0 (PANTONE 179 CVC) +%%+ 0.7613 0.5271 0.6244 0.7124 (0r 43g 61b) +%%+ 0.0017 0.7251 0.8508 0 (244r 72g 0b) +%%+ 0.0032 0.4248 0.8274 0 (251r 139g 0b) +%%+ 0.0176 0.9327 0.9184 0 (212r 0g 0b) +%%EndComments +%%BeginFont: Times-Roman +11 dict begin +/FontName (Times-Roman) def +/FontType 1 def +/PaintType 0 def +/FontMatrix [0.001 0 0 0.001 0 0] def +/Encoding 256 array 0 1 255 {1 index exch /.notdef put} for def +Encoding 0 /MT0 put Encoding 1 /MT1 put Encoding 2 /MT2 put Encoding 3 /MT3 put Encoding 4 /MT4 put Encoding 5 /MT5 put +Encoding 6 /MT6 put Encoding 7 /MT7 put Encoding 8 /MT8 put Encoding 9 /MT9 put Encoding 10 /MT10 put Encoding 11 /MT11 put +Encoding 12 /MT12 put Encoding 13 /MT13 put Encoding 14 /MT14 put Encoding 15 /MT15 put Encoding 16 /MT16 put Encoding 17 /MT17 put +Encoding 18 /MT18 put Encoding 19 /MT19 put Encoding 20 /MT20 put Encoding 21 /MT21 put Encoding 22 /MT22 put Encoding 23 /MT23 put +Encoding 24 /MT24 put Encoding 25 /MT25 put Encoding 26 /MT26 put Encoding 27 /MT27 put Encoding 28 /MT28 put Encoding 29 /MT29 put +Encoding 30 /MT30 put Encoding 31 /MT31 put Encoding 32 /MT32 put Encoding 33 /MT33 put Encoding 34 /MT34 put Encoding 35 /MT35 put +Encoding 36 /MT36 put Encoding 37 /MT37 put Encoding 38 /MT38 put Encoding 39 /MT39 put Encoding 40 /MT40 put Encoding 41 /MT41 put +Encoding 42 /MT42 put Encoding 43 /MT43 put Encoding 44 /MT44 put Encoding 45 /MT45 put Encoding 46 /MT46 put Encoding 47 /MT47 put +Encoding 48 /MT48 put Encoding 49 /MT49 put Encoding 50 /MT50 put Encoding 51 /MT51 put Encoding 52 /MT52 put Encoding 53 /MT53 put +Encoding 54 /MT54 put Encoding 55 /MT55 put Encoding 56 /MT56 put Encoding 57 /MT57 put Encoding 58 /MT58 put Encoding 59 /MT59 put +Encoding 60 /MT60 put Encoding 61 /MT61 put Encoding 62 /MT62 put Encoding 63 /MT63 put Encoding 64 /MT64 put Encoding 65 /MT65 put +Encoding 66 /MT66 put Encoding 67 /MT67 put Encoding 68 /MT68 put Encoding 69 /MT69 put Encoding 70 /MT70 put Encoding 71 /MT71 put +Encoding 72 /MT72 put Encoding 73 /MT73 put Encoding 74 /MT74 put Encoding 75 /MT75 put Encoding 76 /MT76 put Encoding 77 /MT77 put +Encoding 78 /MT78 put Encoding 79 /MT79 put Encoding 80 /MT80 put Encoding 81 /MT81 put Encoding 82 /MT82 put Encoding 83 /MT83 put +Encoding 84 /MT84 put Encoding 85 /MT85 put Encoding 86 /MT86 put Encoding 87 /MT87 put Encoding 88 /MT88 put Encoding 89 /MT89 put +Encoding 90 /MT90 put Encoding 91 /MT91 put Encoding 92 /MT92 put Encoding 93 /MT93 put Encoding 94 /MT94 put Encoding 95 /MT95 put +Encoding 96 /MT96 put Encoding 97 /MT97 put Encoding 98 /MT98 put Encoding 99 /MT99 put Encoding 100 /MT100 put Encoding 101 /MT101 put +Encoding 102 /MT102 put Encoding 103 /MT103 put Encoding 104 /MT104 put Encoding 105 /MT105 put Encoding 106 /MT106 put Encoding 107 /MT107 put +Encoding 108 /MT108 put Encoding 109 /MT109 put Encoding 110 /MT110 put Encoding 111 /MT111 put Encoding 112 /MT112 put Encoding 113 /MT113 put +Encoding 114 /MT114 put Encoding 115 /MT115 put Encoding 116 /MT116 put Encoding 117 /MT117 put Encoding 118 /MT118 put Encoding 119 /MT119 put +Encoding 120 /MT120 put Encoding 121 /MT121 put Encoding 122 /MT122 put Encoding 123 /MT123 put Encoding 124 /MT124 put Encoding 125 /MT125 put +Encoding 126 /MT126 put Encoding 127 /MT127 put Encoding 128 /MT128 put Encoding 129 /MT129 put Encoding 130 /MT130 put Encoding 131 /MT131 put +Encoding 132 /MT132 put Encoding 133 /MT133 put Encoding 134 /MT134 put Encoding 135 /MT135 put Encoding 136 /MT136 put Encoding 137 /MT137 put +Encoding 138 /MT138 put Encoding 139 /MT139 put Encoding 140 /MT140 put Encoding 141 /MT141 put Encoding 142 /MT142 put Encoding 143 /MT143 put +Encoding 144 /MT144 put Encoding 145 /MT145 put Encoding 146 /MT146 put Encoding 147 /MT147 put Encoding 148 /MT148 put Encoding 149 /MT149 put +Encoding 150 /MT150 put Encoding 151 /MT151 put Encoding 152 /MT152 put Encoding 153 /MT153 put Encoding 154 /MT154 put Encoding 155 /MT155 put +Encoding 156 /MT156 put Encoding 157 /MT157 put Encoding 158 /MT158 put Encoding 159 /MT159 put Encoding 160 /MT160 put Encoding 161 /MT161 put +Encoding 162 /MT162 put Encoding 163 /MT163 put Encoding 164 /MT164 put Encoding 165 /MT165 put Encoding 166 /MT166 put Encoding 167 /MT167 put +Encoding 168 /MT168 put Encoding 169 /MT169 put Encoding 170 /MT170 put Encoding 171 /MT171 put Encoding 172 /MT172 put Encoding 173 /MT173 put +Encoding 174 /MT174 put Encoding 175 /MT175 put Encoding 176 /MT176 put Encoding 177 /MT177 put Encoding 178 /MT178 put Encoding 179 /MT179 put +Encoding 180 /MT180 put Encoding 181 /MT181 put Encoding 182 /MT182 put Encoding 183 /MT183 put Encoding 184 /MT184 put Encoding 185 /MT185 put +Encoding 186 /MT186 put Encoding 187 /MT187 put Encoding 188 /MT188 put Encoding 189 /MT189 put Encoding 190 /MT190 put Encoding 191 /MT191 put +Encoding 192 /MT192 put Encoding 193 /MT193 put Encoding 194 /MT194 put Encoding 195 /MT195 put Encoding 196 /MT196 put Encoding 197 /MT197 put +Encoding 198 /MT198 put Encoding 199 /MT199 put Encoding 200 /MT200 put Encoding 201 /MT201 put Encoding 202 /MT202 put Encoding 203 /MT203 put +Encoding 204 /MT204 put Encoding 205 /MT205 put Encoding 206 /MT206 put Encoding 207 /MT207 put Encoding 208 /MT208 put Encoding 209 /MT209 put +Encoding 210 /MT210 put Encoding 211 /MT211 put Encoding 212 /MT212 put Encoding 213 /MT213 put Encoding 214 /MT214 put Encoding 215 /MT215 put +Encoding 216 /MT216 put Encoding 217 /MT217 put Encoding 218 /MT218 put Encoding 219 /MT219 put Encoding 220 /MT220 put Encoding 221 /MT221 put +Encoding 222 /MT222 put Encoding 223 /MT223 put Encoding 224 /MT224 put Encoding 225 /MT225 put Encoding 226 /MT226 put Encoding 227 /MT227 put +Encoding 228 /MT228 put Encoding 229 /MT229 put Encoding 230 /MT230 put Encoding 231 /MT231 put Encoding 232 /MT232 put Encoding 233 /MT233 put +Encoding 234 /MT234 put Encoding 235 /MT235 put Encoding 236 /MT236 put Encoding 237 /MT237 put Encoding 238 /MT238 put Encoding 239 /MT239 put +Encoding 240 /MT240 put Encoding 241 /MT241 put Encoding 242 /MT242 put Encoding 243 /MT243 put Encoding 244 /MT244 put Encoding 245 /MT245 put +Encoding 246 /MT246 put Encoding 247 /MT247 put Encoding 248 /MT248 put Encoding 249 /MT249 put Encoding 250 /MT250 put Encoding 251 /MT251 put +Encoding 252 /MT252 put Encoding 253 /MT253 put Encoding 254 /MT254 put Encoding 255 /MT255 put /FontBBox {0 -200 1000 1000 } def +currentdict end currentfile eexec +E98D09D760A3C22CF119F9DC699A22C35B529FBC319140A0049F057F42052E3A8D9AE5679F78981811AF51C2768AFEF74C3FB094B830F80CDDE1A446879430C01F07A76D3070FC382366FDE4922A7E2887FC440409174165DC0E5DB934306DC606D3 + +B7B01A93A226A85F45F9E1CA97A8D4B0AF250F6391EA095F49C543CD6BF92A0085A93936BB2FE277F3FD9C9636479A6EE4483E4C2D2EEC184E757DD2F7374EC2D01FC0266A42B51641F914ED88AED066569E17215A1364E77B23C22D23599BD3E278 + +E67D2CCF0D66EF88DF7D7DB55382093EC7F106B47184BE74430E6ACB842D3838C1F104EAFDAEAD963C3A690561DAB46A659D0369456325AF3E2D0F461086C3A88E05BEF21C28A20A6D0B7A90FB6ECBC3906971E3B38DEFC322EFC2AA4B28148060D6 + +182117247D7E76DFCF5AA3E27E5B0DF28090A5405525AC1BDF82BBB35FD2141B610D45125E8A7F185E20A96D67A9B7032D6F391B1866BBF88BA9C609B8D579F6A057A2FACC75E5155535EFEB600689C5198A5C00DD71533A185373E9C446DC942947 + +8BCCDE3D6563021EF15B4BD7EB02AA6ADFB4F35F7D6497774BA2BB83DE7A9863AC19B1AB85024B16E8521073A04C2CEFAABE4FDE9E78339CD0EB2B7F18ECA9354911685909C4499EB1AF1919C4F3EE314D8FA9300F43331617E3925836923664399C + +4E61BCD1E8F0CE587A600FD3E4F18C4808D7528159909A04CAC620537D0BFA7D0D6EE6721F4F333AE2854083EA94BD7AD43A73080DFE442E669F00B73DF95F717A78AC1174B4D879778EC8A4AD5304B355EDF77B761D1FA75F725249C5FD6F51C6A8 + +3B3BBFD04A2D8E4EAA3F8502DE964898DDFCC5E185C00F7E2CD0D0D4EB6176B90DA8226B5DF7102F917DE0112A58C0C3E1A010DBEFC4E8EB6FEEEEB5EB7A855F6F7226F19974AECEC1A167360FB13062C8A4A55A71FCC432B6ECE5AF99AE56840EC0 + +1525464CC0864DFAAE0A6719047F891AC0B9B2AB5AD5F4285633FB7A7109020787A657356410099509773413CA5FC232981C478C407682B48D3EB7B8D0447FCFFDCD5C06561936958DDE1A76FF77774CE5127D31D7588E24D4BA84D494B9631B8A93 + +43B5E59D8288C0FBE6A05DCE65C7B9864FE6E6904DC3C26D80774FFAED32EF7550C6074DF29D4E9C9EECF20DD5E00701B504AAA48D518AF0BB4BF08BBC622B954D9E45D95AB16320C0EB6CD0854872C54DDA535D88984FEFF17319390A2DBD2AC863 + +C47B97C0FCF6D08ED3ADA68ED3979B27BB4C5C17695ECBD9888690D7D2C565E8B628D47ED4E17075A25541CFFA991B827CF41845BE0BF82F91256B97205CC5E186A9468A2768E497C1CB0E16269CF5DF6F4BC6B0294CE9D86CEF9CC57FB6663A17E3 + +1338E064BD8D0368AA035A137FA814D39F0F13B4F024E5FE848F2B4A7DFDD83D83BB9230361C72C2ECF05836B1D3377DED358917ABABCDE63BD51320BB569B47EF868AC4807F7A710B875AD1BE308AAC76CBDE113D3A98759ECFDB43DE09A49AF1B2 + +14B55D83B9A9D673B123EC00612B4CF0B4DB87C9FAFC44837C8EAD4D4EF9F7A58CDE105ADF44DBFE1179F678231C42488B1C3F7E7B49B1F58D707EA8DB27C36411C4FB5882B7AB1FD7E42E815378BCF060B969D4438A98251CEC8EFB980CF0F94159 + +620AFAAEA57DCED3B2339E1A6D4987242915E460674DD69393D9D963F43347C0446524BB691CB0F3594FA089BAFF5258E9F372FD8A1F59CD0557025FFA2880007C6D7D2FF26D714AC479A5EB774BE8A1A8C663B3BB406FF73AFD1809952BD008C951 + +2BCF447499C28063314277C0923CFF7ABC87F1DB858864EB5EF0BA091C2B723592AB87AA0E92F4CE47FE589A3C029877052B668D0730226AB3E52289A3DAAE44833ADF9EBE86D2029B7D4F3148649199C96D11E947CD65C3BECB5BE98938A951CD95 + +71C698F9EFB913F8D5149C98B853D42642B3105AD1AAE7FE91524DE4D392DA0E4DED736CFC027AEB25966E56E23CDB8C339C9F8F2542EDA520249C1060DBFDC718A186578E6DB24A9FFC1AA7F0458ED2899B8FAAEDE317EA349C3D204FE774FE31FB + +CB2C04350F3198A2972E6B69A9BF98937EC2CE8E57CFEA598349EB89777F27AE96679AAADAA9F0B33635764DCF44A35A0B4161DFE273F20D67B1981ECB1ED514487DAA21101882A21051AAEC6B8C1ADDC0E665F5C465753F7BD11279E20C6A2FB7BF + +B3FBBA1C0EA8C74A16386A3E7DEA2038A6BA052DD3BD23C3279D102451058A65239C5A13691C7277A8C38C417B77DFBAAD47BADD97447886FE244E6429EB1A87E5BDDB1CC1805CDB1981436089930531DC88568EAB02E5EEF2621F7EAD0B9872A044 + +C927E2DD92F79E85C028C2DDC0033D035B1DF6FB9EFB108EF1012447ABD6C997B2C1D5B621245E6AF0E7952C240EC5D15E0CE15CCB57DB1E1AF260EAF66912C36922DB505817CF5FCBEB7D55B88C6EFB949EFE6754114F6E24EBD572D4B41F3A3F7F + +3F428AE5C7839F56236A11DBB062988FAB19D174B3CEB3E22E72D05C717514E523E0370BEE2509D4F1C3002574E759A426B34E594C480D7298554F143CC888778E00CDD383ADC750275E3CBD2E03F7E99A488FDEA29E0041821CAA454AF970B6C0EC + +B94CEEEC683A3020BE614FE6ED90C95C85A758241A7197C5DD7C9BB9F089EC996B5C02A60C1A4DFC69A8B03DEDB6AC72F21800C8ED6C55AF423A4C0744A2FAF0D898FA9B838FDEBAA92BB5A08480ACDF18225E61B47E869CD36B9D2B1CFAE9452856 + +48E62B95341CD8FBFF9CF7500810292C59FB187EA6D149392A3C896C4A8636D8E124EEBC8EED9E950B5933BD7CC062C8702BD71A3F6DC4040EF513405D71A1206BAE2E5D35FE7473BB9145CC43E785C0079B2F4693F0DC1AC005B9ABBEF411E733B0 + +746EED9D7C70E62333488CF39F674CCB94103AC36D2E1E5341286DFF7C0853FC1381B78084A47396FC1910D6D34696858C53BC5A7CC876A205DE16A959E848E9CAA61493E69D6FD7E43CD8F459770323798CB41D301B02E33C3A1D6805DEE7F30F61 + +66BA0F2FBD4C92D25121A2647E8081BF05241DF408C9CE4EED2A630C3018869E51E7F90C030031A6E8FEE178DF9A598A4F1D8CA4C7741AA2C40081C0D48C29A8B4B60A0FE5D7BA4DD1F7CC51282CEF697AC70713546B0933B65246AAAC6A881DFB16 + +B2C55778C2D38323232D2E3299E9E50AC4E819E5AA3D9463985768CAD76F6DDA4821703006CA151F953FE9229F57DF6CDE5FF3A11A64662AF1BB782FC6CD31792D78543AAA9FE0BB68DF1AC79BB3413339093D5DCAAA5CCE1301ADEECD4B8983B6FD + +D19ECC37B505D53E012BF6FB843E921017DC2D3B6423A2781009CD694FA41A53E05AD794E2D47647D9EBDC98522F8750821F138108CE54ADF506F3ADFB7F60261938A2F3884F2325D0EF8623C985F65BAC720ED4A05CECF1E45B43932F16AF1AE31F + +A91BFC596C7347A9908E817EC7C5C162D688F35F7A42FEC1ADA4BC4CA3B60188D3E81D5D7527DD76E350F26E6AAABDC3D436FC0366DDCF1891F828A022EA340311BA1439FC278675A37DF7B3E0434DEF181CF8087C5EF963652F482363F1BBF9472F + +0079E0FBAB2AA1CC576FC5FA7935D484AA1919552D42DE98A5A7BF041DB55F7316FE9D33004F612D9C358416C2DC7826C45BBBD1D3DCE6C7C44894CC9A0F75E4ABC9ADDC8E856B31FD7A8DCD5321AB5B3C8A312FF6B27E75AA24D000F7CAE538248C + +9C91237E793CE433FB1268B7D364F99473A601FAF91BF4C6F0D8520E78B54B15E0DAA545B8E7EBAA7328C249B8BD3A4B631C04B3BDEBED55BD423A00AF948DFF0917F1EABBAB5571F0684913326F83AB12E5B8410D424A6234E376D426DF874DCA08 + +9C2ADB03755E9D04512F5DB4FFC5DE6575D2694C637E3503568D791A2DFCBB49A7088C5DC99BC9FF386FD2970AB67E6D69C575233955128F28AC25DC58116570E92DAE50A3D3573303720F05FCA263CCC46BF83761518A1933628AB4F3E4F5E482AF + +988388F543C4E573589B00B6B9C5DC9B31B4980043BCB4B185A8F7874021C7372D354F5C4D2C0DD830394FAE4B2D012DF6A8A812C1CC027CFFC97C622F4A5815D6D06194DE955D3C2A0531B722801DAC7E32D45EA01E60EED5F2E8FE0D34AC51BEC3 + +31F59756769180831240C6AF6BDB1FA99CCCDEE79E37AFEA26C8F2363F713E6E6FB80895E192ACCA09AE6C67048BC49B2C8AE19C9CB0B8CC117AEC7B8C4C648DBE69E2A9A4E08F2A898F9620CF2C736393ABE828DB4466A4AAB05C98ECDA5BB3F6D5 + +6F7C97F4498A554771F92699AA7DA316B12F9CF0F2BA1B3FF2F52DF35A7CA1E19D4D6B2D28492CB7DA03763CED91A83D69F8551A322B9E6555F2BCD7054F7F6C2E61F354BEA668212A70DBC11DF0381CD0D4CDF439617CD21BF99232CBC454D116E7 + +19B4FB6DA06D005379E45908F711DD745EFA066BB6ECD14FE9F431ABF31D0F530EA1E90BAC2F41BDB3A04894128728E008BCF2AC58EF06292037766B6CD43875414416BC9A6EA1B1517744D16E24C0876C4A3DCBA3F818C69F54FDA05FA86E654BCF + +B7BE84A85B5D020D10771BDE535581758B47C89E4844CE243A3881EBE5B7918F0F735BA046895452A42665E135FDFC19A255E3173E80CA82162CECDAD51DBF78D15E88829B43D66A6EC0002A2A2FBA71916B520EAD7C712E31C28F61A5E4871D2F5E + +A51E7205C4E83E0969BBD470A54DB5BC857629BD4DC93F8A8E99D14364E1E144C119BC65FDAD5CAEAD11CE7A1637145B7B62D76085A2BD2F60AD69575DC479C6C724F3F6CFFD22AACB81730D0C1BD9A7611355C78CA7975BD8126DA08A4F58FC09AA + +FBA94FC866A5874DB529C9DDF85E1BA77C76E9A5D0062FA59761924BC46A8AA36C05EDEE84840A101BB4F0298DD2547BCA3D2C5BD0E35286CCA3E9A893976AA3BAB6D89FA41BC9291BC97209BB4D3DB893F25F54CA6DCDA22149463532C04B0D8C8B + +7D52D433A6F9D8A85E52C496865D8EE00F97A56598F7AA50F1AB5CD6446192FFC837A62D91C60A55BBD25FD7685329D5C92AC23395FDE5244F89108BC3801175A50EEDCD8197305CD372471A6B5B5FA096B1B1B3E67EA4DC158CDF66E142D0758D65 + +E1945074840EB5E2BEF5EAE203CCCF1712B5EC395A7718735082EBF553D32C249B40C8C115719C52D7C7539855D152E3DE21BC2E3A8FF0C88618B3AE0D06360EF0D8809502DD57C79E90ADB4B5A985AF220A26AE22A216C7F6E64574463BFFB089BA + +B849A7AB2D5BDB15C373F735C46FEF09B54DBFF1FAA737C7CDAD9D121775137E8C7CCDE2A7856AD574710A47EE5604297A6DD203C2D41AD4376B21689B7A5B5E334851268DBE9CFE73D403EBEC4EF53DEE0C6811CC3E68E91C0BD2209FC8DD88D594 + +5A5C73E3F48E203AE2A8D8F1762F2AA59D5A0685F457C3CC0AE6A56C7BD7F87C7D482DBA60A6731CC5C0EDCC24BBC161329150A2CE75B445FEADDC153DC7E4B034607A7FB6A45DABF41C8E26404B908B4F573F61E618CE85AAF1DF3B5B05985CB9CD + +34C62417586BA55116B0A89C3A8CF6A75F367151992081A5356C0E006B5970E9AAAFE8D64E8181F2A40A26DBA18B4FE8B3FDBF1117359FF6A486660E68D996046357C1C1F2EBBE29885A69D8D51B4760BEC3271203104E49F387ADB60B227AE66886 + +DECED59CF51611546A6CE5BDB81A1D29A2CAED72091E5466E3E7CB9A1DA74D9C1E7AD505EFD5376429FA3F67DB379DAA6DDCDB0694B9032F687EDDAD8AC562941C16D4E7564FEF24B95D123D759DF9E5CD631165DF3E672BFDE4F0C4ACA785293173 + +35DEC3D2B8706EA2CE7B4BE94F1CFBD9CDDEFD45AAE7547B5A177C6182F772C1236A9175C5D9842DF7AF5D269FDDCCA9600D0CB5DDFE1EF8F9D631AC7C8023E1D79CC0239DFB7C656E6FD1315EEED4C2DD8DDF490FE625C29D91D0F10979494B003B + +38C1261F421C75CEA038A25F08385DEF33EA5F99E416C7A9AFCDE80C0B522A77FB21CEFBDBB8F368987601A4692AED79B4BD6F70142A9E15F644DEC1D7C354B8BAB49D06B4BA5492E9E6C0BDD2BE5A5E73B185804323AC866BB78CA436EC1B6EA4C4 + +8024332F6E697954E2DF9373BCC5146BF1B8597845887AAFDB061CC80ED1E52FD2D9A5EE2B344B3C968B8706DCC892C09D92B05465A2B8C058EFAD7F47B9F9949C57E14C7ED9BC4CAEC197620B6F7696A05889F5D059CC1C1A9349F0854805296C03 + +C11A2A54341A1C8DC41C4EC1E8CC2BA1D3F7082643F4032F199431AC7CD541AC4501C124F45A0F0F3AC801C53996FB058042A035DDFEB39CF5182871B7596599863150DAE8CAF7589E5FCEE36792B842353BD8755438D0C65747DF7690E4B738A961 + +A0069DDC0C1A58FE41856B47FDFA335042BBEBC8DCF1934A204F4B02FD42BEE3EAC7179F3313CC0BA0C02D305487527D315494F978C87416BA1CEDC02E319A376B811506BB52A3193AEBDABC3DA02CD93A96D48A7D550E284B21A6A9A823363FC054 + +D57031196835C4FFBFD4CE5D1F745CCF819CC189F7B5C21BD31BB1664517DE7E793DD9AC52F99B799187CC1E33F6EC39837B20CFF36A9E690DD1B6A7A5FB057619AD11E3D1E5267B02351A170274BF1E0DCA536672F64BD2FA6258949F650CAE92C2 + +8AE96990E4B40862A74AAF3BC3478BE2B251E348080DA797E1AB2986ACF920E8595E5A0701B22BDAF29ED175B591A9E74D1880A3BF83509B6B474B2E9321E441F73511575632A9B4F7E1C8B5E036C09D3EB1FA18B0F7F8516C5F53402C64FD074F8E + +552858FE05E00B2ADEF8820791A3FA2110157B64EEF1B91F35E094C70E893C27A0BA6160940FB73B03CBA0C37EC2513DE62B87B935D466D405085C0BD9E4D7D20F51FA2FC81345CAF6C76753A8A88426DA19C90D56A4ECB3022140775E8DF99990F5 + +EED63DE73BFD7E202EEB14FDEDB7E383D5816F98A10FAF9C25E5D130817344647F329F08C45365B4292B30E41B1FA8752BF2BE06C31E3D7927C436F25DEAC7B844102574D484B631F09CF2DFF49E3A1A078E617392DEE31F2C99D7541647A2B5E283 + +BA4947FB69737AC6BFF24ED19C945C90F57EC335ECEBF7A0A68EF0D8D6C66FA462F0BE53979E7779234AF2A8786FE0407F068BE7605B0603D0F610678FDE77A0ED39E977040EB3528B58B2E99EDC06C39F41118110FFD94FBFCE2258C23ECB7482E5 + +3B96AC0AEFD5F5684555000F6FEA136FB102E43205D73D0083C714BFB1BC100B05514E62734ACA634219CB007FCF48A40D50895EF797C1C50CE8AD445FDE7D40533AF5C82867598F94A5BB9079688425B6E5700C8DAECB795097B5A853E72FC70DB5 + +7C38BA2A69905FDFCA1F9115E234D36C7E45D4704FC8C5C2E0A2E06F4644C47FA9D7C14E1E86A476911E0489F5E40B279D9005422229ADC0C9B90C233E709CDBB8A06DC1BDA179F6F524B0A5EA96AD4EFBD437CF93FFD3BA4068EFCD4EF5AC54575D + +85499F1F923CA79B486C73B87F78446380337C2F858A8742DA9BA25A35832750BBA0DA3AB713A296F11AF480673B79652ED50B8D87A604713EA39E17416CB294E9511AA1C53A601A09864F954D9088B70C163016ED550F9BD308F2961EE13D567FA5 + +E8561D8DD37486B3F2C6EF5092E72736C0515B55AAFE552989596EB59836D990F35389F96F5463E6FACD7E16E2266EACD9B59139CEC9099024A463B09BBDD009C9286225EF04377D90F05B60626010548F5303B85A10ADA4C35E115253D523C6DEC4 + +352DA35412E6905BE331ABDB578AD49718F429DF31BF5F047EC19E4AC44C96AD724F64D89C140DDC3BE846AC0F67B4CF8F3739E819D514840A7A5F6F0811E907B1C4F61B373BDABBE4102061F1433113D923469647A63AE3C3337671DF1ADDA486FA + +A97D15F93DB181B113FE8BB56CD795140F2E2DF9DE8FE3B377F0C7736450FAFAC1DBE5B92512829140FAEAE10E7020460887F1D5A0078EB8A997F1842D5978FE01125FFCE07CD6B3834504B0ED015EC46D862088EC0925428DC31D7CE93E301EC8FB + +65F259102064576A931679DD8E2BEA40103A81163188F727F893C62906B39A83890BD3E1214AB130CAF06C4D819F329BBF3508469C0F1BDEBC997B1EBB90074BCCC2E8F53D6CB49DB90BC5D657CD45C42B9C98A75ECB9CA0F2EF9DDAECDB43ED6EEB + +9E73A12D6BC43A02E5BFE2EFFFA5229123082842FAFF2DF35EC5BD779DE00AE9ACC8B401226FDD3C47E0FE2B30A229EAE5A3E67731A38A71F64DF2A819647B04D742C3BC581F463BB9AEA71F56BC91E064D4BCF7B10584EF5EEF19F320F6A431F4CE + +92C74D6478BB68726FDBF01D7FFB2559E354DDFA2C20ED5FC930DC752018D3C97BAF429DBDD569684E66CA336D6E3CB8E3D06CDE91DCFC11A65AA069AA6AF8B86B64B8227FE43391C2F25AEE5C5D448D3118C734AC72FD90499155BAD0B201F4771C + +A288653D00E07BFAC19F764CA8BBAC390E7B988AED80824D4636D0E5199264EB9477A957AC1BF4CBB85D2F30A6ADA1412981F68433BC54C1FE9DCF6FCBA6CA1441962D11E22026E57085A9EEA8C82274D9CB4B84689616EDADC65EEC0FC6C8C7C660 + +07DA9E3C1B226F394F5F63E8F6B12119E3226639100A6C106A934CAE27C3A4B4971CD98692ED8E29499BA2CE307805D02D3CC209473578CE9679F1E9600AEDCE6CE8F94D7FBFC259214880420E32B7FA18D403FACC876AFD4366AE66B71ECEB5B0C3 + +9BF233422D5C8A85E4253C83DE93A710F42E0719196EF241654B81CF8CB71E625AB43B394EF1F1E6D499566F01EA565FC5A1D39313E9E20FDD654486E70E8A638146902D6E0A69C33212CE0CF9D438FAF47D6F4082CA69A7D5C355A0BD68DB22B2DE + +803513AE9D10021DD618E55362E8F16FEE09FE4AF790328F3E413857D7F0F8CFEC333106A7DAD34B5D43ED46C88910D4E15149809625ECB827CF9BFA2E8648C9623F1F6E1A433AC577EA159D879383B1A13358ABA4D89F7CC8CCBD53CA0CAA8AF46D + +C32B1C063B91EC34A557ABC19F4BF820698D7EDA4C0512E99315B8A0CAFB0B6098FE1A7069B13E25901D2CEC079AAEC6BC877717D59F2EBB46594F7BB13054FA559ECF26D040313607B95980EA91993745E16AAF28BCBBFF5063BC45C042A536BCBD + +16F6B3388D7CD2D026F0F0CC620D81EF807F0599127B6C692EBDACD51FAB52EC3EEA581AC3705A5BD36C222A84FC83852473815897991B47CDD8EA53B4FC3B3E9019B8C811EC7880051A5B9EC627AA6ED1D7C471C6A385713CE6328DFB96D783CE35 + +EE26503FB1AF684AEE51921EECB32D27536EF1098394E44029AFA1C96595148B9FEE4426B8A399BDD49B5D2E1EE4EDD1042F5FFFE87A9DD8EEB421E724307E551C5D9DE705BC532C17E166631092AB9D4E9836895E3D31F4A9EE107A9A527721D00C + +E95ED970D88E3F1AF71BD6764CDF69A6E706BBD085D6CBDCF1E08436E90D0C6534DAD4238E38AD96BA6608D2E963994790149B73235F916B4C9EFBDB0259F2986A7CBBCBD0D5061665AB8C341893CCA8399712866AEAD0681E616D43507AF739E53E + +3C51D15FA81D225F967050D076CB342D2730C6A261F8F9D93A6BF1BBE521843838D7108F1469138F8121474FCB68D8D46024CDEDE604DF9B51909EBBD4E325D44E041ECE559365FA0E5B4FED4CB0914EF5056B1638E1964728F4C860639CE1278FD1 + +BEBC833F6895C5DA1E65AF6E267F9E77144B7D8E805178A7FEADBB8259B6CD27A45D222ECBBB15DC7A641C81D918E0982316DD1C4DE1C71669F4C261E06BA94D3B353A377041400DF18D12CA3495C9FD60CFC33DDA7B746DBA870F33782A52A38310 + +142EE69C8E27DBCA291787BAFEDAAB12B46EF63FF6C6F2A3B15BAD468F583E16292D249DDA851FDE59111A207F4C49F21906376FB80E9A234DAC6B774AB91101964EE1617CCEF91996D6E7496D322BCC14560D80F4808C23F8B790D6DFBA45111968 + +AD41EC0D28AEE7E38C557FEAE188712B4D2716F0540B90F68B41DD68CE831DC246A9B65D130F16754919E966813B0BAB599503F7486E9743506EF2123DB410D6885DC7B97A68666A9A0B40B8E2D1B561426D8526155643E56374DA43D3B12EAEE648 + +B904D08EA7AE9EF32168ABC01FB5487A29E70FE60883859117A02D07AC3EA9BE9072CC5597256D4052DD49FF2F62E5A289B91B768146AFD1BECEE8D0B91AC477E359BF1C4175A3EE1EED1261516B81ABAD17EE510A1023FDBA0F7F6AE681BA707188 + +9B24778FC2DBEB9D521310F9EBE1FD535D08D266B5687A44C9D4C534C67DBA51D402FD66667657F9A0E4DFF1E4364CDA875096BC386CCCB3F6981422FEE24E2B72F695FF35855B84727AC2B5957A4F5EAB97D627C9B420D62864A34FAC9CF4E3D632 + +DCFC7E0B37FC51809EDC7C09BAE14C0A7C19E3FA83A1E3322716203BABCE69BCC9DE8708576157F7B7C53731B5CC4B36FDD9C4467958C1921EB333B1398E1C70B0F4F0E8EA82DF28281483A3F7FCF90AC6310D2C9F521A44D4E7915434D98A198000 + +1619F1A6AEC29EC08CA86B55E271BED43B715B5E45E51B165997D32A7E0769890376A518FBA0442B4BF5EB0C0E0893D741BCDDF782D39D99093B81444B8B1D76096FF39F258F7F99A8D70C09F139C71AEB9727295B5432DBC33245F71EB45215744C + +502F7AE7FF13B78A983F09C1EC7C23E57C01A748FF89739DAC8341B347A18F58EA0B391F0F71EF40DBB0DCABC0261655AE870E6BA4FE50FB36F1299E7AE1DC1211E5368182C66FFEBAF83348FA93A8F20EA82D9FF64E55A0FBCCDBE60106D42D4449 + +C440D3CE8CB4643E550C105C9732E78A5062D339E9BA98E0E3238D4B5602E578406FC07C39CE6E1D4821B87E6081634300672E25D592BE6EBF551FAADCC8AEBF8F622339DBEE24FC0EA5856512E775B19285BA518A10F272FD4E9CCCC17940ADD532 + +19A25BF0773C31C5894E06B950833619D137DA1C2BC98FF0B90DEC51D5FD8BC6D69EDD7E5D9E1CA503A8DF97207DAD0FD1327BAE1B861229EC73B4C1E0F710FDBA011D54EA5014F626B3C696BCFAF7D211B9211CF2BD66580D2F5AC172EA31C13A8A + +5933B19D5AEF4B059A7AE5C5F77C1A86B4C2604B4FD93C216A743BC22CD0915CE16CD0EC1D465A988C8223D1E683CA169A67348DD178332EBDDAC7C0F87099A525D97B28CBFFDC59B36D860CB3088B500C3FA3AE008FE6B795C11B84F70221255827 + +818E908F23C20863A618FA8C97B79327FDEC5850640AD744839C3B1F17E258580DEF0386EB52116FAAA422BDA327A93D2983EAEB5E601F8BFEE487B33E51FF4B63B9C7D59DD0DB972F833495D211C7606D4ECFA6F20774A64DB5F153CE13935E8100 + +CCFBDE7B4AAE0B175C5A48CA611F9192C2A507322A9C50D4B4CCEF1E2E501E59C4B3715F447B1157D904FDF61E211057844F7F19D025E9D0D796E67AA64CBDA8EE7FF57F3702A6AA28F793A4937CFC9E9A4C05AE67DE7BC042E1B63590C66CC1138C + +E9F4232BDAC14B49E0E8843BEBB6CD5B7DF5DEDA6256A443BC1404B2CA8233D52247988018A5ED6F2EA65DE42F41B782106A970525BEB5DB5D2606EBB99B3F58595E31C577ED619CAC3DFF1C7CAAD1E29D9208CF16CD4F10781CC8C6F3C149D8DF5E + +F2D15401D9A12DF4E89C4FB412D6AF6C1A6338937B881220AC33EB3F36050203E529F1C3B4AFBA07E1541081AC519611E69424267E5A584E1FB85B810E2F5191C2C721CA942368FE810F435722CC01F431AF3CF43E36ED9D65C28068C31FAFD34CE7 + +7C50DF78BD7E166B8152D5838DE83198F78BFAEA723079936AB5757F69B8CB5A6EFBAB23E5ABDED54B56E6479E1848A85A847448795F4521D5EF4A6CA412E51B81DA725D5E9911D9EE07F69EA044DA317F1824214470B438C6F73F427B1C403554DD + +AFB1455DF1A83F5B99546240358B4073E4445EC7A6D90F7BC2340E461964A949E26BDA05B6F0151B15515CDF5B4E2DB66A8BF9A4E06BC0E8284A63435EAD575C565E5214E68299563BB914B7A10A1EFA568717D8AEB24E8DE4E88A478C4864886749 + +FB105114977D0D70BB82717C1485D72912398F26EB1D63048A354C9A901924082833F2F09071F746BCF94571982E1F43071A2C0478E0B64D32415592C270B5BA6D8BCAFCB30F901ADEB8A4ADCA6C8769EB1007EADFD1C9AED905961A40B18FA2D0EF + +B5922DC692A77E707108E910D3A4FBFF2CADC5E8B60F95D95B7596B100249AC135756EDEFBE6F2175345ACBB4D574D5FF5919EB705429F0E9A933C3CDD069A8D008346FD17EB19622A49CDF543D42F40DBBCBB4D7EB5CB9C4BC6B08219A335B2472C + +E53F6B287FF71F682B8F2CA1D54CF170B3B409B8EB8DE2BE9C0A2AE80868861067EAB370F1E71E1A45196A54A536EADA550EC597F8182BFF992DA7D54ED83B13225272D57F77293CAB09C6219A13732F00B9677C3DD0CF0A423CE759F17BFDCF3588 + +330A95818E138A34698E0182C7FBE8E7467A9A873740F5C7D86B731D1DDB4E920F6CA1F2977368E671190C027664A08BB3DED638596FCD7E2CB2DC61935A9AAF9991780F8AAEEFA506926210CA05C13A28F682B11006F7EAE67C1DBCB75E65D38CD5 + +FC1640FCB27235C46733421AFA2BDFC49FECF101A1E36872B31D450709F7EF4AA35093A5D9EFAB45B396A762B9B3847DE7039213C62254566F501B38B0082B0F7495C3AC70BFE171618FDF23DDF15E01C54240748BA789CC1FDBA04E60B15C920D06 + +BB0F0B44E4F8CDE6AF0457471DEBD49901B2CF5B69FF036D09F2E42E4A5D5E95501716AC322C3F1318142DF046057E30C3A57C0664AC1BDA56C2074806ED2A55AF1385F93EAC06E67B08A45338E4106D8709F22D72FDC4056E8F48942D1D6CF85406 + +A93988784092412C8B1F3FA9666A8A564E5588C1B3C2EAB76C5BA3503DD8DFF85E39369B51CBC5867C87B494EFFD2C4C77B164F0D675DCF4CF0758ADEDB5A581A84B80D106EA0CF1A3AAB1A2E0E58548D5DDA20A061CA48DC16E29325BAA3F74CCA6 + +91BDA8F8D8AB721D05E421D32BA9C8717931E17752403DB7DC25527A9D7E228DE6808C4DD41C0FEA39D1CA44FC76BDF90138481D7F5F50C1BAE7E293BCB9A0B0024B5F5A955A1D5B464E9A1ED2CD1D89DF130803ADD9C86117810C22542AB5CF34E6 + +08A93AEDEC2FC0F2980B4F061FF2A6F7B804E8F74EF00138BCC79D3F173FC39C032B6D433D0F58E94529AD82CE89A4AEC470E53E9840E23C54399BA78275C4DA8215276BF821380656AA7317C1315C06D4946A608EA2655E2EAA2AF178C12B27F1BB + +5972FEC4E7E52E6453C6D8D9914C2C13F3FE58DCB4A7588CE7E507203E194E10333BF6A9A8B4AE4259A7FFBD1406EA4BA3367933CA0FEAF28501CD3BEFCB5737D58164FAABC93C71E7ED3D4E687971EE2A94AE266BEEC4436D61642D2512ABFD5C57 + +E935561BB51CDBCC770C81FAC06AECAE5195A38D62ED9FAD6C0E6059C12848DC5125091C24CFEF785280C8A049F56FEF399B2DA96708EA00E34CDCE5F42B5A98DBB36C68957E23D80D9400F2088F573035DE23851D54BD75B30D3824B63999A582C4 + +D845374B7E2146FF02CB0E4CC2543604ABC6EA1A5FCDD4B90DDA3F3F7061C154E0325ADCE3E0D17216527676EE29385BB5CCE4F08261FB9FD0D8B00914725A0F232237A3424A7FAA17C9165D4D1C500B764F0837C74865FC979381F245B060D95CA5 + +80C542BF6035D1AF6C703BF1BDB3227D1B80C89476F246D3562E0E1C1F019104C6DB14344365E4C0804ECDFCC4F6A04E935C6F6FBBD9E018EBA0027EE6FDF3C7DA51120C881B03010C44859E802200C99A83914A24D0FCEAFA38EE56E3BF415254B0 + +E795E64A21B0BB069F7EECAB7BBF6FF4F5D45EB0900FCC92EE25C71D85C986EE7A606ED1A597A3F0D3FC0A331220723CED3DF13E567FAC1DF080DD8EA2F4B03E34588610A4CFAE4B5E5D0409241F5F5405075AF9B6FA067B9E2A121D3A308900B8F6 + +8C2ECAC33C5408F4A843A6789484D56EA69815F034FE14A0F6F98C946DD4FC27D51B9FC71B9004A17C8E42E9AFFE2ECFD9DF3523E160FA68163C19A69E25FA0A54CBADD1B0C1A83484129017EBCD6725AA7D4E1142A72B56267DCE7C63548F93A3B9 + +012E2A59F3F1ED6C5D04BF141237F29939248DE5EC05BC3668812AF59D33FE20CA234C898D83C5AFDD2AFA543D8497A97A44E23E01940CDD6B47190965CB9CE666E3658617541C1EFA57A1FB40E1885E45621B46E9A0A2884781B63DA201DDEB2ABF + +D10A2264446D81D8F8FF97A6B1B26AB8D652A4A641E2440805E17E05FB37A3057663E51AFC0CF724004E42880C4A4B3C3242E00EC74AA10D24297927768ECFFC57E217F978FA1A9B10C3B9449AAA036C1521D760F6140367DE5F072AF0F3E1B087AF + +04AE96E0E8B6AAA24B3BE6FAD214E28FA169DB089696B8C3DA58110769FD932AC7F39250934C402B0CED56A25AC3AAA4941BDA3C7A44C681C9FB57E82FF930A1B3CCDB05D8FBAF674F4695B4BA98B1D4B53CE97C83E306D2234EE99590B4C04FD07D + +F21ED995891F57A1EE6FA4C6C71FB98C59639B633B6F1E34AE328525D5C6D08A7936885B31733CE77D8192276FF7A2EBC05C28AACF1F7AD85F619133BBFAD0DC723CA9B4BC25AED1EB0F06FD38F79F6C4719058076E4435822E4D37F7D5E756F80F2 + +A484A977E2078F3E6D3CB8B3C6F8DAD874894B61E0C24D3FCC36C8217D6C71718C9AF037A515868EA4E8FF69DB57A43198C9FBAE792269E6FC1A917D6E0A358768DDF871F6F184864CDB2397164B0EA6F85ECD75E2910C4F5E2971F355C21312DA00 + +A586E0909CDB5012CE80AC4BC87822E550952A91E06706C8D00380C5744BAA9D678D41C29C9AAF5CB5DC4AB8A1958E703F7830103426F6216E08AA03768200D5E866D058EBA0E04A8E4E492CFBC1DF5DE271C615C4EDD50F65704C2958E4635F3EB2 + +8DF8EBABBAF2BCF1532AB3AF66AA955EE1EE40894FBC42F976DA6874C728F1450A639ABCA397D8B310EF0CCFD5A57B66FF77CF0AF969E184C8D9A9B3F801C664A2672283EFF95EF36C28ABD9827D1CA9E636AF09B1D782D04F4242D576C1CBD22974 + +9F777687ED0EB8EDEBC29C00B518A456D113C3B099402A41EF98285BD44C8BA42C9A86817C184806EC9B2202C8A0DAC481396212962BD461BC4D2013755006210FE624E9BA44E3269DEF57C4F7FB8BE02C5A0745AA9F9DD7DB671434AE76FB57A15B + +0E4EA5C186BFBE15129D1EA672F34263172A07F74CE57F1978A7B2B66FBE36C14906D512EF6196A609DFE49926A3D5C0EE13D04524544FD5564DE5A82A317EB47AB792F4ADD140A1D397A66B740303DD7D5A8D62D0175F2D4D199151206F7C30763D + +293C78448919F66F77937617455260973FDF39CD864DBC8665CEF81DCE3534E48CD4A8E937E5AE72772CABC4D20D69A025E1DB5D3F26FC7A936BB80ECAAB5295B6856B42BD6377EB91AE19BC74EAF71822060BA5B99E13A2BE98B93ADD603D3E6D81 + +B44EAAA4F7C5457B4405C4110C51AAB8F59DE4ECA08EC9C95B29B2857149C14CD737EC39B30AD1ADE2CF153C31AA220252E4A584B5AE8DA1C38F0DAC089491CA36D7863CDC68EDC0BC65FE74428C353B2FECF18426D50FD66B12EFEB14FA42CED76D + +D7CE8BEAFE4A160BA71AB319B7A04AE596CB7E832C2D161C9155F303AA34B9AFF31CC2A328CBBF564744CE7FC1B7FF55E0A54FC9C4E45E6A16F6AF0BB3688E007D00124349A4B68ED3011D4E2E1A18336BA3B7298A4C04DA2BB251A275F9FAA95CF5 + +F268FF8D60FF26E8D38880A4D805D01F30CAE48D949F5C61D2A1D10E5C4196E0A4DE4F4EB091B94740B3423B8711B45DA6696ED8537CE7BCB56CF7C14AE5BC778C651508D5ECA84C801736CFE53B9A0132CEBA23B25803769D9ADFA135103743BC78 + +10EEA2F1D2F4353A51ED162C8C91CB9B35DFAE73DB597C13EADDB16CCF4BCC86C1074548D80C57981DB4B95E2B4FA6C09732C9946155456DBD8530041F3AE7E357BCAB9BD79D46069DFA39CE5E3109FA5B5AEC6C1F2107392C3D90D7197101306EE7 + +6C6CDBB156B3290C2EBE735726DCF694905ACC02D44F9F8B58EDB4C054116EA957AF09C72FBDA2A2F39C60A12293E5EE9517F7A7A092811D170D6F17EA3CDBDFDBF6F39AC899733583233563559528CD4842E0B7748DA8CD1CBC87E83C848E13B1D0 + +5C0E7E063F99A974A03E4B98698A97BCBBEF9038B38B9CDEB07770409A580ABED37882A5A81FB66F7311C6D06C3ECA34C4D6068328EA8C7D5FC2B585DA6A7DE403F9371488E5B6A04A90F27A5007C05C69D200C91FC713316B24E233E92558FD0D09 + +058C245AAAC724B8173EC30BAC5E26047B78DFED3FFCECE661FBDB3ABFE4CFB6797C754BE0A48883548A1F114800C3756DB044E28D6A2B2E5558AB468ABAE0BBF56F6C30D43AA37A2833D3BC7B544B335EDEAF68C6C91DFF6C094FB8E33EFE5BED2C + +BF39D3633204E3C65272BBC8E3CB448B7D0377BB3BE87EE9489D58E4DD96C17552FF16F39A04402EB72BBB90CA08AB1243FED1F9F9912EE3F6697244BC1F2718DDDCC97B9A3781D3BB91D7DE7A6AF8ADF2D9DC873F40C3E55EC9251CC4C28CA26390 + +67F602140814863323082290C2972D3FE6E058DE8971F4A97BAA8B6730C4CFAB643285A2B346F88A75912B135C5788EE514E2671FB20D58C155010DFBDDA30F0F970BE88B25EC843E97453B067B07FD16BF1D1FE9D40B307635BE7693F985E362334 + +DECA487AC3DB0C6B3EFE58EF0E367C4AC2BBD85609AEB71FDF962E6998520388D218E40320DEF1FEF7816F47F9ACE1F9A5785B788F7D93833767602606F4AF067CD3BE111DBEB992A6061AC9CB549EDFE84D873E8D47E84BD3AEDE68770D4532A787 + +7460CFC811468E6630A62067B56B31027F239D4B7F15CB312211C8B22AD898D3E0C690B4F20BDBF5E7F239D906EBDF8BA38C981D4A80A62D48D8212C480A7B4AEFB6B64AF1B2ACA2D542E4634C0757B17E6D1D3C5991A6B31449C700271FED9C416F + +320D52E5079102E3BDA64DFEC0F8FE61D3D6F8DD476A027C36F7526F989640DBA868B8E6A4A1E11388174638F5609F767BDA2C3D7067185A3F8C4784344E35214F134E0EA8B11F528999160D492D6E11F8AD938B867B853CAA71D104BA4B85E0D459 + +42134EF0C1FE7928068D3538D40D3397DC53D4F954211C54E3FC74C955AD2C15E07D0F07035DAE2101342E48F6AF33E32945BC023BFF7EB503B08F820B83447FBBFC983D95C2178FBCEBB72F01BFB73AA5D4C2D58A6F7F32FC26897B6CC3A4380B69 + +65E5C49900FC7D473531AE24BE0D3832339C37865B5E9AAAC874D3CFCC60F4279599E6401525731F9D1EA2D5503D63A2503DFE9F416A8B6F2CB19BE35F818E6CB565D5185E48C8248559B7F3E9B62353C3A97B9B48D869BC497393BC2757D9F3872B + +8A3C81A137D7A833AF466B02B4187E14E41BF9FD799A5A4E3735ED488AB4F6E5B14A5E17AEF7CE0ECF6063D4FBE005EE977FBDA2C542CACA11236E03A294AACEA38BAEF1939B7059EBD1CDC3ADB9EBCAA79D3468EA7F75E4C9A23AD92C9225D7C3C7 + +5A08FE9CADE7B1AF1688EB820FFF3809B8700E892ED80FF6F7FEF99802BFE0691A6029060D83CE47DECF177A1935BC00DADB6535EF3CCD9AE29E65BA390B4DF4892781794221C1A677B413ECA4DEE8E29D28CC064926E1E89684386005B8F658F510 + +7F174CA7079C8F1415D54FC74C975A340EFDA6FF4558CFA0B5EBD6542403622DAA3F21126A427550C6943B064EBE461AA1FDBA5805DDE7B7E940422F14F003B55C279D5B8D5D8DBE76DDC6987C32534E2CF4B40B217E1C733B71E854C8A468394072 + +572E95531C6361586EDEDF69E0157D3C2DAC8A8E2EC13603D2E65C160DFAE6F793237477CAC83CD31EC0699AE4FDFE0DF1FC134A2E61ACF08C5EDE73C5486CBA9ECBDF97D84BED8E1B7A8550333D146891976CDECF97F2D0FCB235180AF3A889FA70 + +3B99ED3B49E09548D9EE04020E5BF84328765F137825862ED42510CE575DA892A12E1CFC701884AAAF066A8D3D4F1C6008B1E074CB9FC5656805EEF2C0BD8337EAFCC877DF96176B9FF7AB4C344114A518E52EBEAD4031D9AB62657BDC154F320910 + +258E79603F22656F42FD03240520E7EA928D77CB6E022146CAFD6AAA55CAE25D0CB6F16ADB788899277B4CCE248736D411D1DE0579796AD381AD263FD1925D059E93157CCBDB42E494C46ED579F67A82681BEFF4C18BC0445B114FB13150D774EE26 + +96BD7428B5FCBC53D83148AD741B3A976F7B4F90119D5C3D279314FE813A67E29DBD4E8FBCDC4C5E8074CA3B51C5AAE4EA97ECF837AA776A7621408E94C96E248FB76773EF3D503958F82A77BC71AF622DA05F99EFEA15C3C4B5220761442A15AD40 + +303AB14655529FBD8B6EACEED0E01F27C3CE39FA111EC2A6DC402A080AAF7E18DCAADFC4EFE3E2B507845762C933EF05A35FA8DB69357824A88424A57FC89BC1F2E0375D12F0EBCB12EE662B2107F5A2C62553EC5A57445D293A4FE732DF0541832D + +B038661B6D4D06B36C3F557F7CFAFE3396171CB22DB05A3D9C188135836F07CC572AF740B247E74024AB82DACFFA63F969A7456B7CF90C3897CDEF95F0533935DC185736F60D84482B7D10C1693ABAB9F7F743976ECD5E936C5A7505228AB0B8A91B + +F250D4F23DA7CEE95AEC72A933016073FC0F236F6FAA24810AEA5761F31E88762C331DF796FC048A8BD6CA3F635FBB948901B77F1AFC43B031809A2A8B2F3E15376DB7909901A4F34573B1EAF6E6DE146889F67E4ECF56C9B895C2307EC26C904917 + +2FC11CAFC01726DF73BAE316733EA08DA10BD6D5D54DAD4FB694674859BF8710616398051134F395B7290BEFFE9E1DA1C218C064CBF670D7B1151FF51F137A62192AFB52EA45BF2C3E658BF3E83046BDFBA925F0ED3AD643FBE79FC6D9906C6D20B1 + +DEC2B2663EDB77C146E813CE936268E6FFCF55F7327B20E5D762FE40841CB766188D5A6F55E70E6744C0BE5D1085898DDB1F5A2FE098588365479D51B068BC6DA99B440409DB6E0CFE51760C4C5E160476FA2526AC5B893F35EE709F0C71D37EE83A + +AF4EB48D463AA25DFCE95485839EF700AAE442FBD635EFADCBA2E0C62EE3CE5B116018FB268E836D0941F032778F039B6358E18695CE5668F97BB2F5AD77EAEA8E880BC4CD767B654A0C29C31F27F82E518069B616630B25D5F32E8C8723E51206CD + +1FB05181A556C052558DD5B8AE5F1F14BB6670B4C532EBEAD6474F2D0B8D434ECF1580433E28086041AA4C2270D1FCA1F3FCF765CDC83412A864AA24AD9D40FB4C106218E19F9F0A50C113B26D05F78F32AE2BA0F89293DBFC67CFA5896CF479258B + +8239260D3B60531F3A15FBD4B0D5C28A9D6FDBAB29485BF7E53685C20055D7BF3837759362EBBF9279291EB74B73318767E5BF3BB56FFA9D8AF2FB247541ABCB2AE2039CE1EEBEE46B698915BA6A0DABEC4C106E80F0F801CD3C1EAE03F4085F3E87 + +FF88BF9F1EE383E76F3DF4B4C8A0079C8250011462638AED8FA6709D145FB13AA991855F3D8852AA412A5092743F9EDAD531A4842AAFA59A445A03DA001F1318B942EA0E47E62B6032A92483579D645F9B11F9D4141FA9F378E628C9D1AF454589B5 + +0797E00DB2935BB6955A34EE933C264CDB342B169135B358258C5454A75C53D1C1C1E4306F834A8597F894198C912DCB679342AEB77BE70F42054641A947B5520E766E6BBB009F435C1A8A62AF3B1FD1B2B0E72ACB30025E02459E431B4CF88DF881 + +859F4D3D6F27A3E62DCC445FE10068395F49F32F6A1BBDDF738DADF505EEE69D9E96D3B8D6EDA2388FF34A5BD2BBC19D90D9C3DABE5ECBA26BEFEB91D69769F4400A5EFE26D9DB95C8045DAF7F61F9E77E1C13A42049E1713903C66E6DBEFB86BC38 + +ACCA7707202E7C44D3B187920720B9E19D91EB45BA14B9F9940CD194FF95300D8C0C79C5C9AA75860B44F642557C7B78E490BFBD2ABE03BB6F6913241299631492CAA434D0A5E55FEF1A289BE318F17178D54381AF500AA97CECF95A74BA496C76B4 + +16EBB26520527CFF8B245E7479737EB9896627113FA4485979DC99DD655122F6ADA575C089DBC033B564A80DB8434A046D99BF493315B1EF012F4C8C278E24104A54E3F2C66DEDEFB13F0A0D9D573047B588D222E0DFDDA0BAC302AD5CED24B2EC96 + +F20270C9B491E0550B7576A20636CB7AADACB75A96CD8D431D8BF4A63C4607970B75FF7B2E3B19F987BB732A9C9944CCE6E7F7C641703CC19EDC59322BA9B8B2FC71FC536A95C28844BB0D2295559C06E6A36209BA908C9734C4E16160EE52034D35 + +D50BFE3AA7876D2EC4BCC2A08C6FFF18879C9A2B7BAD8BED5ADC88AD3BA44916D4107A3AC0389FD920374BD07923815707545F45C6AB1D0945AE8F2A69A1507515D4CA58D52D5C3D5049CB44D49FEC17807C17BFBA08054979CF11BA9D6D91ED7C85 + +13944AF7A8E6EA3C1B5E7D475329B42CE936A19DC9BE9915813D78C8AFDC366185F6DA40C59AE09ED2AA37C3F29F30DCDBE53DDE56D89C35B710CFE2BED6CF1976423891D62C5FED71D63D41FCBB42762AD1D006F10C7786A6273423751E7B1B7BFE + +D83EFE25A8113A2998A9903AFF431D59D2D1D7833605A74DB4737109CC549AF618CD795B378021FB9EF33118E2C8BA924BDD8875312A6F52C29B4F7F6595B929DAA6E0FF91D5A1057E744D962D941A5CBABCC1B2D75A74572B18711E6435098EC426 + +76BB8870837A151BDE808B6BA5F96D0E3993E2F7E9D0B042C8EB299078E5ADA3928CE664E026978A3347374C9F0AD72BEB1925C107793C585000C499AB164910C5BCC9C35795337D8A456AF512DB9BA20FC5332A1D5366670206E70FACED072ECE1F + +3D316298DF9BC0A5C27ACFC9E7B738AFD5EDD5332EFDCCD87D179D85BE36CD43DEBBD514D4917F5C92280C4E5937A94D7B853D4F2498C11F6709F35B036902075832AC2A060593A9F5EB376B726C04B0A11A26E566050F5466E1ED1D4DD7EB38776E + +15BABEC44739F17E3F4C9B055E201E176DE4F834154AB50F4F9BF2FC0CE77188770230634CA11DA327425E9480BFB10C223469350AE036A3B8AC56E2556CB0691BB3406829CBC9B771E30C511756055FFD368B6A367AD9D85FF1C25DF1CDFA712880 + +E48661CFBF977E98EA0FF3F5D213AFDD9B6389BFE5ADB5FE9729066A27D548F77B651639990AB60FC3B02115026E05CB403909FDB69E56D7C8DC5BE77F873D500D0CC8E105E64BD7EAF722EA1C4A9CA3BC8FEAE14BE30E303360AA8925461DDB0D30 + +1E73E0B594EB7AF690DB204C8DF8D3E11030BBD34C6BCDE3818471740AA74FEBDA632782BA85718A7D901569CE81E81870B281ECB67135856023F74F54413490483D46B075C0F43EFD980B76FB31BCD71D884E894C0D3CA2A56A0428DF7446380D26 + +FCD4698F95846C1ED130F192EBD5F1FAEB36D96B4D109400C4AD096698E9B54B02442D2400387C4738E6601B8447C0FB61BDE379BF57226393284628AD075A26761FD9ABDCA730437E9C0845389B56AC3D60AB126712998D1A5A2921856E0F63004A + +1F6D30E734D6FF1272B366922E20D69F3BB9601EDC5D20684974FD6A6445FACF739A456C4D5DC9F3A5E4D2F3E06FC6248AB5CA1EEA0E8B943480C04B9EB7BBAF9E45B96CC74C4543AB337484D847E8915EE902D254E8352C6C9DBDF5CD6A0370A7C8 + +982E925F5A24CD8669250253D4F6BE3ED3161A84BD4356667832590E20C71C0FDB11E05F1601BBAA03916F1E5AF0CA259D012B0BF458B3D527FEA58CDB7D4BE0374C8BC97D804A8BD92BF3FAD2BE387F0BBFE437026A11C564EA59FE98BAA159F125 + +BB66A4D18F2A57C2988A1917439E461F3E709DFC880093CF1589E17B1DEC610B439BBF6A15FEAB75D6E3294402885A14A8D821A2154DE604084C8AA5B8DA98EAB136E41984E1636652478F031F663CAEE5A906716DDFBB70D16E49A2705A3C77C620 + +4ED6699E513973DF94CC2D37E956761F8A75D67A8737C8F834F0BAAB2D784A074F90588D30FD5719E06BB5ADA276303D362ED8998C25064CEA7A4D5B593D7BAEAB07A264A3248B7E6D6A70A2751AC7AC4DC89D3E3ECBFFD485D7BA7A704847AB1439 + +19AF09E512CCAE07FE5E0A3581E656B9AB3AD50878EF64C40732E7612495CA23E55F2E7B693653701028EA85A3F9F7FA9A237A7268ECA278FF4B850D386ABDB93403F2E0275782C227AB674145596323DA78EE2A1FE4AF943678148F0B33CD169D53 + +B2FA23D2E655DF13441CEFE466A0E4E651CE77D7B37C66C564FC38760CFE030CB567A0D7D034EF5282BF32205416D7829A0DE83440A4163BE43D5708453D47B40121C800F7F843B0F809BAC81466409543D67D1EA2580FB3F7463604855ED66D2866 + +E867A828E88E0CE7E0EB2C80B114BEF948B869B0753911C0657DBCF4C01B32512A75DAC768E66DBB51A3046AF4B4DD050D3CADA4BEA647A4E659A13983166DF2AD726DC88DC8CA052D3D6F33AB2E1C271D2402FA6A90559B153AF55D80684CC4B006 + +64D1DF8BDDBBD3C2409314AFD2099A842F04FAD11F2F5EB5D2726F54B48FE98DD922F35A885BA3C05BCF88FC91E70CF48974A6DD3C035FE113E03A2DA8029CCDB10EE6EC13CACB962B8224DB27CE3A149699A812F936C5E144059650F54A06955024 + +1BA9530EB42D9319DEDB131A839F780D49C4507F23BB3ED4B0F63E2D1C7653EA4FB3102FEA9791D074811546FE88512004E591CB0B9DD33518E7F80A1FE60CF83C2EF432B41FFC3730D0BB39776A9A7076EB204F2845094587E32845F1D16253BEFD + +8203AAA65D8116E56AB28A949C0C1E19740D8DA9CA436687D1089D4819C11E8C02819CE1D299CA63CC97DB172079F94F5E562113ABDB8E0B47AEAE5F495FFA0DA819FA7506571995DBE59DD1C0B5EFE0D2C6845C27E579E40C149BEDFAB59E10BAA8 + +0B30D80B0B5FF3239642D4630AD3A4D5BB39B725E86FAACA1CB5896E5DE78222A618CE131688EA0BD5F52BC8AE0ACBCBB9243073B635FF635B80BCC4B4111C201D8ACFC1B2428ED1BE30EBBD3D3F12103F86F0D9424370A8B4CE5229E3FCA79DD31E + +44183AC14778BA0CA1EB7A093FDF21A7B02595DFE16D19FD097FD76FCA55EB1A7A24B17DFFE82B1167D61FB819C969A37D92A63A16A38503495016172A5F057E1FE5E39191A1BCC807ED8E2578C35E6394E4AD19A6E800338B1A9C1436AE6D4AAA91 + +49658D6EF495E6A950CCAA4353CB3043DBF3B918A110BD5876D65A4AF14A32E16F58EB1ADBB3201C55E0151AF9C35DF9A06A24E4D5D1723BB4E5419DB2D27824A849453C1D8CF8F665B6BF178D512FEAA1667EC14A7034228CD7C3D6DD5AD49C97E1 + +E3A617336C9D78DFB2CFA0920FEDA10AF87B6F4ABF6343C224E67C53E9AB68546E4CB45646619E293E66B044416182F192E96EC5DAAD7721CAADDA5B2D95E4576335B9F470C09C2AF5D144887B10105A9F4091C27B3C17BDABFC35A589B2756F8047 + +1A9456DC17598E637BC5874CEA83C9DFE30E1CEE784B19C0BF13D38DB3FAE8E883E099D1E20C12D9AFA42AB28C06D927C054B8F8B610B2CD640DD18A2128474EFF0D59C0A2C3B33213F120EB7B526FB89615FC8235075E413A13D94BF0DE9E3C703A + +9DC3A1D709649DAF5A0C8E7466513E8F44522875A8065F83C71DC8989F4C2F202AF7468D4F0F0FB05C9E56A9587C370402977FD449F1C7AAA21B870398665AD317C8A1BFB46FB0E77E280F5C5189D82943512A9C9311F11ABB0ECEA59782E790ED94 + +8ADA95954AA3134086059006A88ECCD300A5298EAFA347A7C7D8DC9EF5BB7D3683948CB15C9DB1D172CE154B2992A6337E0FD7857C52B09805697E591E1430FCD8059BB4655618024889EC38D9A1A245150DE0870540ED88EAA07F70AEADC269039C + +5ACD4B42F1D7EA0FCAAD1F0DE647FFD904754EE6F3F526DFD16048808EA7D5A3AA0ABA347F1602DDDB7A6D5FB8949E90667ACBD4BFC1A517850D6F8D59DDE30317AF7B443A1B10DC709A239A40BEBAF0DC70FBB789CFC84A42B09463178008C187F5 + +F01BFA86D722241AD93CCEB4D7784A99F480D4434FEF3DC4592B335308D0F468EFE1F0605552DDB3EEB98429CDEC09B1D8EB0FD1B8BC04367B3EB509BAD16A9A35C8B45D069887B074333D1D1E50EF713A0A858C328FF9FDE78690A42D0C98C82A32 + +9FC5698F7E160865F81F28A745AD3F8ED573F904E8D9266BA1A535039958F381FC7C5F41FCF2B3F3374C8094362BEF36FB4F1AB3635E0F845CC706AB297FDF2A0F58D9ED8A0D0D6B5B3F8820052288AAAD26361B751074F3F0D8A740D239AC5BA9BF + +7CF2151B5113F9CE47856B5E4D8C153C87ADD3644ABB5F588236986338528E3B7A5D495625B65AA2E2C9F174C3157E5B4E914AA301D12437FF8BED06FD535D1B4C03BA4D8EB0318F90456F06E5722E370BA6636B074BD3F3BA8515CF8E551E8A7FC1 + +AA620088FB1275C2F4A98222A2133D7A745000090FC84ED5DCF0C18253451CBB0899D0B7EDFF53647143B05329011CE083DD0354C226B3F385A569C6784172A57E208B0094D575FA6A6499F894F3AD73A0B1C22FA10D91A4C376FEB4E1885E41864E + +311EA0F38D8CAEA66954CEA48E36BE38E87CDFDF0A8E096AB306667B306AC0A8CD9FDA4CD4FC87747E8BF1A5E2C85AC06B82087CCD320D3777C7D44AF18899E1EC89357F2B7C003F254302016F0ED630806FBAC4B1CA84D17B147EA81D22A6927D84 + +87BD7DB8CD8B24004E28014F01CBDAF19F5CBAD0BBDCC75EFD9F76FD0ED6962A461D17CFF20EEB487AF6BD62489F23236B9494AD54399C0B372FA14C11675149F0FCEE410D06BC2372941425ADA604E1A62449FAAECB8D3148832248F9D5A17C20C4 + +F61BEF418BF5FC0965BF7BA7556432D23EB4C3CE8191B6C9E6C62A94CF3256F7E2734AC8DE3D04D4DBBE1EA72969FCB6BC715F5514759F5D495E7254E573A28D33563F5BCBCAC06EB3D67D446E99543667FD0A0B89C2D566AFE3F930542978CA5D62 + +09591A4FFF942A9BE1F93D91722E84DDE554ED5CD47E6D5BF131EE4CA7CE9AFC202E24CC00B853A5B9FE39BE2A1E558EE5A1ACEB1DF3D5978B66C6C09E2FE07B1F7221A4FE0765CA5F53E8E1C62E30C07B08A765FD93CA0F1CD26CF51399ED239773 + +F90B199BB105429EC99613A4874EEBA5F54FCAEB610A1D38C86369F0C00C5FA25A949B07730B1B9EA14D95A2B61356C72E1DE871C25D44F43F86B04C1D9B84B157817190350A39F7FB862E5F3B526360CF30119A68C911D167A74BC3464C993C02E2 + +8F18615784C2C040D2EDBADEA37DC1CB286E35E26CF36BC8E4A9F981D359B4F5506CDB74888CB1C4C33EA79802019AB5D59A96F3D63424F8EAC5009E56BCC9FF1F487400C49D541F1FEB97D1E4DF2397BC004D2FA39231174502921E7751C5D8F0C2 + +A457754AC34D00647C9DFE73FF6580A748AA2BFCE1F249A66244A53985BD6588B9F1752150F1176AA4BE258DC67882213BF740093022CA256BA04D2205A66FA74F3B3075C41035170CEE768BA5B6BD56727FC8E239367FD7BFE799B3021DA9876D34 + +FC6D73937AE03FEDD8F6A1321068FD4BE0C08130DC71AFB157F72DA7557680ED8602F75D0B353D39BA4485CC787E33485824CCDBB8F3A6795323E9BAD37DB3B3BE477AE8C267863F589711E00781628A7B8887F9B500FE8A120D634B7D705A53762D + +F2722725801EBF1EFDF555AE57B5F409316079DC86321311BB4543EAC0785CDCD145E5B5D87EA9C517CB15CECF98CA6CB7ACF9922813E51094B0575E7C0D17E7E524D792C44319D84031D79DE5E61EE667BE48C191C1B2DDD5BB4C39928C8CCAC9A3 + +1CD9030A9386ED91BD2A2A31DBC90D0C8D485A6677F52917EA4A0AFD9BE0450F9F3C27098CE76C7F07A5AE5901C118D2D8D7C481C5C3AA0F4A29839430714B86E62770ECF8C9E9A4F0E606876EB5D192E236E009BF33A337CA9A2BCD00B91F0AE1C5 + +CB1AC752945632DB2B6F295E4497255431C88F5640DB486B6AD2B80EE221B6557C61292A7E025566B4AC74770FD93CE72B88BA5EEB0BD16400AF65E07D595EE59B82DABB820E6DBCEEFEFD169CF01C429A4EF54482C2A45E8D111AF16D302CA2A83D + +A4732EE718176983B75621B7383012B2C58DF8356A4178696429C8AB08685901F7F6172A901D086BAAD275AE5FC56FA940F6E468FB2B075A0E10AC6F9FA88ABB92617137F4AB24B663B959A0DE61683E6C4AB9EDBD7280417B682D37F3D410230A0E + +17F38761F29435C7425BB4B2011322ACD91B02E32620FE9D3D71C2A69D8864FB347B75DB92C0947E980AE261F786115F2F19E68C0A23AA28B923EE1B63CEA0D23375751458E2E6924B198C0BD7BBEA0D0EC1D19BBC557394AC5C30F7A1EDD1C1ADE2 + +E71BB3C1F490969C4F00ED6CA5B95B9F1D020256F01FB6FCDEB388C199A6B102C2975CA4A250849D74E169ACE6979411072698810D77A7CD50B0DC85065A3BF0BD657959CADC13847FF2DE9F8D265BFA38FCABF75DEE50256EC8E7428EBBFE92D632 + +89B7487F00EC28E3DC7D17BE069F8B09FC3AFD737BDE9964848BB082B66E14C4805CF6D8F3CF9942689BE6CC440A9332C3EF4216B2893443C3372BF977B1EFC56B011EC84ECBA6FCFECD5E34FA07FC9F0CF23B38F657E7B7B72FFD2F1DBC921E44A2 + +D7B49A6C210BF34184DA9C45577321CA8BF17C07BBC85ABB8ECBB47E53B6807A5606152631CFB7114D8282A4D59978438CD4100C91088F37A7C3EE926246E733D2622C8EF31508BFCC38FBCC3A827C00C19DBFCB1F639C3C282DC56E5BA82D9EB10A + +9D84CB65770A51BA5C867C3CF5C771AECD68E5B8A078E697D77F6E4C0A72A4E78936CFF299E0582428DB98720F0416E6B68F15CAD56B29073C61098E1360AF52A805A79BC80E3BF7B588AE329C45542C20EEB6F333469B5E66C6F164E7D0484BD15C + +46F04BA87DE5AC09FD05A1762BB6D8016133DF802F370DE64066FDA84A8DBD38AF16D783380283CB58A96C3264CD4A8700CECEDC24E98640E4CCD7CFAED7D8F787FA8CB4CF8462AE2D8B32397290528716EF435EC6C2B1CF2E0692C64E2E35FCB394 + +E1BF127B7980C779CCCDF30733F1EE8857E208F1BE6A3C65A115E0416FCC08CCB25B2BADFD368A18EE9048DFA289036BDB956F56A37B316069007BE8C236D0D26E5D5DB86268E60B212B2FD3B1AAE9B67C3960B89F1D5017680EFD0BA3A114DBEA0B + +0B6E73FCD506F55E85C00E2B33D623331B73F9519623E63CE74614473B5C48EBF50C21736798E2090CB8D504C07722ABE669ED0B42E10A5C7CF17A0AFA662085CA90778D2F5BCBAC9101698642904FBE2A5724DD714BCCDB681882D019D7E54CEE85 + +BA92451CD9724E56E8DF33E101037E79C3CE1CC71CD63157C00EA6EBFCB2CE36290B8C746311EC1BF49F83C0D0EB3EE6DF73BCD91B69B0CEF3477AF4E8D9DFD75C10FF370A15EC94BF10C05F6000EAE2E309B880BC572186897CFB5B6B07D19DBEBD + +E2B34A649CEDEDA0465377487A2BC571A2C92D643BB3F34E84953514498BFA2FE3373E5A7D6C2795A4907F2C853811EA1FFAAFFE3560C28CD2CFE038F17DA8200C9FAFABCFCA81F7E252EBC5CEE271051D3A38915CB94FB69C3B4972E6E67852998C + +52DE63A06B1B769FB79B6BD85D3C44C65863AC282AB92F50A46EC0710166439BA3162B5AB7356F61EB5E685337FADD9977471B492B955EF555FB27B1BC54CE7B3939291A146CA499ADF8A9CC0AFEDCAE0A65D7A0293BCDEBE928C5BF0B8D0901C875 + +73970BB6CB0C8CC3C94C4A6F239DBE86158CC91ED45CFD03653FFA5DE0EDE6270C746E6D11B12E17A90E827881C3A9811FA954DB449C03D4D7202AF8A8421C10F1ABC7C813ECFEAC4D8A5D5A587AA2AD3518E06EE0F4A2AFC90D9A4D52237FD12AE6 + +7CAA806104059071A6B4A851EFB732852C0ECE82D73021BC7444C6D21A554FC3DFE05327B50B0EC903CF48B93606AFB567B83FE98F99F5190FE8C497BB8028EC4E82D2DB8E33101470B0DB4506FDCEB21F3F5242B0591FA460F7C202871559B19CFD + +6FD6DE2AAB73B90C8396757D4563DFA8FDC226D1F087C5D42F68BF45BC430A68039FD9AF0A54A646683495FDD30694D696FA26D8C505399CE43C03EDEEAF18558A151F0D1C5F5242B030CE7B47FC635F8FE7EE13FA7E57B49E385024F414D606072B + +7FF0C5A8D5EAD91A0A42C850E9CB66F20398E69DB69BF0572EB1E078AD0F5D085A1DFDD2BA40167729A7E75B48FA9DC7D50ECF3C8D2206EFBCED4F532DDC0F2483E6D294ADC7BC2E273DE400E8762519FF3AAA8AE233ABA3D77848A6968BB0DB4897 + +E856DA1C8424A6773A953C30A8AF84590B8DAE4570CF85BD3D14B88677F1ECEB49645F439D42D375F7DAEA6DB9A19E3FF933D2B88D29EED2D375BC4A6AB0649737945DD02447B394DAB9BB8032B6A6C5CB0AC4832FF37DE5381AA3F233021E8A660C + +411F3C9E9FA1C7B8E4719F0E75381F1D369E0FF1899E7E46502B22D03FDDB89B15E1A8DA141E1A20627F6D4F6FA9C22412A50365E570041986242B63B07C973C2F6BE14970ECC6F595842B3D3CCCEA011F50C19F77C4B12639BEEEA4DEC67A4A554F + +5EB3439C3B4AE79BFCD85ADB93BBA775AE669EB285374E90F3E5DB504B71C31997B805E348030880419B63AE99336FEF4C5B59A1623DD565857E55D565B32267AD75C2FD17B92BB1A01482C41671568749D8005911B76F50E73ED0B8498E9AC79BA6 + +1F28302416BA737AABA29F570D41E153EF57941F1BBA3626CCFD6DE89E9E19F31F63EB159678465487C6D91BD7BB813B9F7647A2CC6483B9785B3B53E145AB9173B23225B7C6031B61FF04EABB1BCFA1197C2BAFC2732975B9A27E0D5DCCD92AF365 + +A1317E651C06AAC2897AAE13A6B5A57E17A3A07D243A6AA5776B2459D0CFDAFFA8F63EF26D60A175461B438184F4F08D4317703E68C1D2D42751B607FE552DD0B40DA8C420EDDC11344E9DE44C5EBCACE3D587225C7BB8BE6D7AD5DCA67E57E0C575 + +3A919A489F4779CFA74C5A7487D116B941D736BDAAD66AA236A8FDF009BEBD3789DEB1919B037E8C3DE66A3B26189F39D6F75AC401F30705EEEA16D0BAD05422876CD7B8821B5D662CB9C3023F74836CEBF6087808C5A6326CB45AAC245AA30AD6D4 + +A49F47F202CE9BCD56056219ABEE93B3550E0FA73C0FD2F1994F4B42C9A973F004732BB8A2C07B8041554DF0BF6EE58CAB7D9ED79AB9719267A0025CCCC2062C798C8929147304ACD05F9AAC92316CEA22D10B74C65C5070BECD5A7898746DC3BAD3 + +B4956210456F13FCD1527FB39187EBDC92AADEA6E021C656A8D83CB6FE6D2971DD6D604BC9F3A48A4044587E3E4EDD83C457B769E52CD3DC999EBDA12BC10F9BFB6094DD64EFDBE49FFDE483B258385B420C8A55DEB56ECF4F17203467FF9AC64FC8 + +3BB053AB9695EE5BB25CB31AC22F483E212F5F5BB707CA1D690158ECE65C777D1676DBB09C0706C47520196B642235EB97DC85D6A62A4F2999ACD0F5CAC5C987CD46511D71C4B490153AD50A51B02147660890342184DC935F2FE8989A6CB1C0F77B + +7E6C40220675968108DEE6B70A40DF85EBF5A2904727BDFD44AC9DD50FC1C1375B949D46C42D58D16EF66E448BC16EBAEA8CE1989683510569087B94F7E110A2F6AABBAC9ACE40BC25FB546867FD400CDE3A6357812855483EAF0D9C272DCD31C53C + +D00AAE1F557C8396E28A694B52BB423D14B1AF3E3B24F28D47EAF71A8608AAB6C2363FA0CB422D807B06AEAEE4A37E703BDFBF0C596FE91007E98177DD1226807EC4BB0F919F68BC75CD09E212FAA2F153FA6A82898D7A1B697393E2AE067B25F00A + +63DBC96A85FAC60868EE337D2E9FD5E0D7311670B47430ADCDCEB9771D135920B0C9EF7885C0AA74FE3741A3B5900A5A9E12BF445E497FAFAFAED7BF35607160368E73A12DB4F9C24A3BD9C033C6818EA7B38604330619C2C16391C9011F1FDE63C1 + +447C24C7C1FC3F0B2EF301865DDB66873BBB9EABDC6E0883B0148B8A50BB8F36A5BE087640C4213D179B1D1E60F137E88787B80B87913F86A141A9503A6552F51180185EB3E9138D7CE42405212854B1C3FDEB4CF617120A61BD9B25CB2855B3DA5B + +43FAB8507DFA15C69F26457F725096DEC84C57C4618CB6F5359138C9690C651ED4688A207CC17816EEEBF0B3F0C786D81216E9FFA20861123F0FF230C122C001229A9B565558F714BCEF6E4FCFEEAC55EC955EC45DE8BC257F850BADD097D4C7AEA2 + +151D206AE670369EB06351B0C8247E1D352D956118E6F0022BA2BADDCAAB66807148B9F2CFD2F9909C699BD590145A8388BAFDA1AC0E8EBC1DAAAAAD3AD2654D863D33F8DF7989A5099AFAF59E1F71E3100FD7328A413F948194315D9656A8E8A5FB + +3B581DD3EC04AF89D587E96329186B5F884DA9DA92793EF4AA989D06A9D25AD68A1AAC241E8F45F9FB0FE273451FA20D555161C1818F63B8873E685C5E567F6D853420922D8C629521496F7ADF7576532CA54CC729A08D186B1F39A71E1E89629B30 + +18D298BFCC7AABAC5B52625493374EDF7C8D84214AF827C2AE584A4237CFA4AE1E33ED1252C4057A9C38D3C94EC2BE5F4223CEF2568629F42E16BB3CE09501734C17FA26871B51D68527E5FF4CEA127335272E685FF690FD751B5D7ABB4B54681CC7 + +122EB77026B15021996D7C92169EE3F306AB68C2B33B9E2E860AAED7F934C30152DECFECEF2908E60A47D19A941D16E3DB49678E1793240FC3AC156349C4C842B4406D59517D8D4C0A93DBA65D516FAA8BF853018FCC96FB2C0AEBFCE776BD074E94 + +73999498232E2D222D9D4E639FA0751FD61278A4C9C67D007CFAF10F07650F7BA8AA3AFF9E5F53495641AF91A7E1D5BC863ED206AE94033B0471786DCD458E8C84504C70A214FDD3168E5BBA7EE7E9DD08175C3FCA241C4445CAC71B6495C665505C + +BAFD556B6618410FA6AF3100A20F538417AACA8C906616B1518EB75B81B4ED631317684187F6061E69E3DE6DFEBDA6949A1F8F71810D705A1C723201578647B80A8DDAA1712B20DED482B11DB4072EC70BF07887B13BF0C23686BE95CBA5F9AD3B87 + +5AB0B21C068D1B2FA9ABC6BA1118FA7A0575E446A2331A308A810FD0BBC471F66A04D41973F487D4C1353C107E6AD8C1D6A6170950B81680A95585C5CC3ADB5033B285F2B2EB3D6C3DF172E10931BD786557D048C7D10C75E9B24670E201A1C2D61B + +FAE076E5DBFDA635B51B16456502C60C8EBA95F5C6E4BE40D9BF632B6B046AF44248209FE17208A2F08DA37EED273ECEBC6AE2DF2B0C4C71650737C22894C9BD50E6B89EF3B7BDC20043157B9EBA082164F5A2F909041F9F8D17185A685760B48307 + +F4CE61CA5384214B6F78CBDEFB0370CDC89F22B1AEAE67B606197FEEC9A62228E0FDF944BF750033D90D40F63E7B4E7104D6E7D3FA70BB86596DA1944A7DC1122C1DC925AC9BA09897724DE4802BE477D83447C1B85F99383C40B2CF5E57866CAF30 + +91DCB1686EBEEE34D07AE5D0752F8E6D01155B6A0A7CBB435EB7D628BD00F7C7600D1004A3E2AFB1844D99636E8B7DFA54109F06576343FE12FAB4F45509237FC1F616E761C946A64878D8D0DC116F9C91E0722768C3999A818F001D55D8B24A69D4 + +CD0CCA9F427D00EA7E6F879402CBDE641B159244EE8B1BDB7CE37AC204462778AD7FBBDC65C63C6EC7A8B0C64A71E48C18BDB67E104318A292438189EC36024E51BE9625C424AF1C750EF4447DC2CFEB16B7E88A4E102F296D19CB859329E5DF9E61 + +242760E310D63B1CFDBF59C09892D502D7B1A5240208A450CA664B66976AD166291327A8CD494E2A423DE43C65FE916516271EE7918A592EC9CCE9FF0A817D8F29B7B3290F81146D59167DFCC71640019B3826371C338E12532EB6568B41615C7F9F + +EF8C7E45EE261AC00F3C267227D8BA02DDDD5328787D7F028415B524C38D035426A144D836482E616407D61BF0A3B627F46756892ED3F32D1805E6760D531650AC365CCA78407195E190D1943BBD8B9EBB499BA5A31A8284324895D31FE797C0D038 + +D7FDD54F8C557B74D56D1E2AA362CA5396A2AED9C3592DE58084408B5CBA1621B045F80E08D2ED975C9225044788CA765B5A9C153918BE404FF55C695C2164C7FC6B0966979C08321D5C6415B9FF446186DA75AC17846B901A9DB2E308D19B5533BB + +D35EAF06E8C9AB05340539BC1D1B6DA8BB5397D32CB59F77B346285BD0CC708727BD7FE5F6A11824A8F0E76C200C0F4A7FF46222298E341FBBDCA94B7969BE4D1BDF3BE4650A44C7AACABA5F633A2336BABC6FA4D078F2F13CF89880625ACA8E490C + +3053818681E13F940991D7B0B5EE99ACD7919ADAE8A80A79109FF15206EA894AFFC1D6553465F49965C2A8D910A946E7D1BE7CE3F515F8B4E18087590E4335C3E4B22E09538127D99649E7762770AEF4CE414097E16C14CA99F9232E507DEBB9E4EC + +3587196D000F1558433EB024C79F3A2EF268F9CCB3971094DA2F177943CC493B7EBD715F37AD5DAE3D29ABD25F6FE24401F0E69210283B1FAB48AC621312BAF8E89CC6EC526412504C609B89FD0BF7A9A03AC5F90C34B9DFC1F3822780C46B786B23 + +9CB500B5FC85829467D644A7842936F723A4138EBA380C3241D09A0784E70E41016345CEA004CEF63B5982B7A432582C1BE971B4EC30BE4B311DF9F4D0B2C4A9942BC7E5442C03DED04AFDD82B1E4EDA4093A58F1B1B14C5A5DB2C88151B44CA1B12 + +6B7C69A473B10EC7F991CC3AABF60FBA563961BFF8130E17E7EDC36C78E30CCCCE4E6B51A68411E22682B056CA091ECA34B9BFD8B56D7B1B67C272F588EEE345FD7F8842EECA1E04C141A4E9AEEDE8FBAE9573EA8CF216B7B83A752C27760AFC6965 + +6ADF96D8C39ED5A709FB88FC36F1E198DCC9C7B1FA13CBB35000DB3716623BB148F9AF6E434D4040E44F8DE1818221437D5FC3571B15AD767E0F7F411D9485DEA6D453669DCCF09F89F09CB3F47018D1142B2F5928F062B951DC086A2C7413579E07 + +29CE730320C7BB6BBA862519F979CD8BD5540260379F92BE0946D956FDE9D547985E8B439458E3BC852FE77FB05EDD86050D7DFD54685040FC4D13979290B321C5AA64E6D6C578B6D835341379CFB2784A076143FF8B3F57BD77B51D5C59BA0E9ED7 + +FB9E88589D6849A7B65B23661E2E5A61A0EE3A611C197D49811B3188AFAC563D06E00F5F1390B23FE7417BAEF25D500E864ED5320AD1FD0DFF1413F0928E4C2BD0EB6D64E0ABE4A9124DCC0E99067A1C835ABE3C889E2A8843CC3D77D8DD2A74137D + +86A44706BE482FDC0E3CC63A4E9FEE6C436AD98E237E86D89B674706FE3C1F9544DB33C7280B20C16111CD0C7CF3140D5269702BFE42AAE48EBB6C66B998AFDD353E50B3DC17246D202B2A37087A7A7B6866E177B54900E2C83945D554ECDA5B25A2 + +4EAFA082741710A106F774DF1C969F91D19B7A959B97A87DA4C39A614D0EF31BE9A3805BC6E378866930A3D06B818F6ED66EDCC7F4C47F85DE5B59AE4469B3890A0EAD2F203BDF59E6F0A4BF79E70EA1F96C99A7C6E127D2810958DB452E47B3E806 + +B172013F85104227DD39F758A70328B9B4CE08CDE9590D2662CB74985ADD139E7EC7570966C69B02D4A34F0DE68B973F0B55280D7CCE21CAC88458DE8A1C9059A459C6618FAC93400D6110B792CC6B1524FDBE6467634C483250C6DF15322E513355 + +79E5756FC6842F9CD48850DC9066958AFAC549295B33AF289901F86E2F0ECAE96DCCF72C2D10A428C862143F7346A93B7DADC724A4E28962CBC1D555499F0E81C66AB20AD2B1F6F9AD92CDAEABAD0CCCE7A513877C1C5BEBBB38080A8D79E5C628CE + +89FD747C77A3A931CCAC3146295895939FCBDC2A89317F4452C58CF2162902AB843E8ED14BF609DB06294C1EB0AA1FF91561B8DE5F4B74CA056906F8A0DE4B1C915E8DE21AC525BD09C7C89D8D5BAF56DC0065D642B5EF2354621A4F8469DF2832DB + +535D48A08B5017DEAEC46EE6F47EF2104B9B6C5B498A6D74D0A7F2907368EB351E1CCE570CABB4D3638BF4328320603A1D1BADCEBB226C17289D350E35D5EEAB947ECAD02789F14563FE17A59586362C81FF0AF35DF29423D4013C369EA27F380591 + +24D38F8241B4AA746B4C7A1B4535B7402CECEC24F56AC8E8581F9F80595F9F01B911636759CED7EC3C60AF0F3D43E697BC82334724CB530B3AECD219B3DD8FB70E4F610861309B835827E50218795D3ACC262D6C807ED6241B0526F48C8E103F862F + +F63C5B9BE6E74AFC62A402C3D11F8E81857A756F0DBB84CDC7D7942A3F2D2DA2E09B2D527FBC84FB6224C5364BFD722ECF96B7FC93B54FC6682FF5B796C8190116B6049660BE91FA8CDFE2EBE16D665A3DF57441BA28C7262144F6761159AC8071E9 + +D8D39BCC7186215A044EAA5C32FE80106F4FF0021B5D059001FBA4AEF42E8F47E559C111A6468D2DAB84017856A75FF483A2749806F3F597FEB03AA75EEB75A9665BE71E35A78C17EC6D9C2A14E8ECC0B7681708AE06F5174B464D651F289E622C4D + +6A80CCB9FA7E8864DDEFCBA7C021601828A25B08ED9522CB18A6F429C6BD8C0993607C88D7FD915B5D1DE56EBAE68D93977A96C35B70B1F9DD7EC6ADF5D1C00E004FF0A33D2A0C6E04A786538E05C6E94E4E410411F3821972EB131E8C70AB10D232 + +9F2E4044CF4B2147B5B14D82220420C4CFB35A6FFCCD06F46DDB5F57D865CD6565FD705AD2A7432584FBEE469DC488084CD75537AA48C94205D326D53A3A91CA9C1F0AB20B47ED92E5ADD60A6E4EE4E499E409029F5895B798B08899BF312CD3967E + +6F98B5F27CA66F9CBBFC628DE924E3A118CFBA8F777A31FA4EC3A6BC442B28EBF4A27426F487241378E125A994F958E0BC430BD1793BBA6FEE600EF4FA7C6D085FCAC23F46680C464E660D7B74898E15E61766226694D513B13E35FABDB9FA13B115 + +EB8EA0D084EBEDBB1469A32F663EA94BBFB86CE44024B50831D3018F1F30A45584055439EFD9E897180DE6016187EC3E41D0FFCF1B199575892665E7133A19AC3B232E8F93201DE815D2D3796976572A4C4C7AF227B8BC256B1685BCE2E27B54300C + +7176A003E9107A385A3FCDBE5E4A0D64885154465597D9A926FAA27ED0AD59CA4C9B85BB6C66B998AFDD353E5F2F56FD34C25D54A1C9A5DD727D09E9C4ADFBA017E31BED5163E851FD0924AE2E3A3A50F639ABD0A9C1941C80490A58F0DE348D1D20 + +096913DD790915152B75A7D7305E18A03DEBC9AF1D1ECFEA12D03488E8F68ADE9B7EE573821BE432574B695CBD29A542E772A7A2C34F079DD3CCC7F529A882517E1F3500BD610636D878607090829545BC448BF64AD290AF5CE638FBF44F64C8E0B7 + +AD0F184BE11916C0517D90344EA9143CDB5F3D23621091AFB4AFD0DC031675814B1393654521809B400C493522A4B26045845A4E6ADF9A568A39D1E86B6902A6C6C0FE30FF682FB79A26D58BB8C4EBAAC0F78D9F9394E1C0E57A19AD12EF75BEAD47 + +1E7A4C9AC8EB77C3BBA5E7EEC7438EE93996478C72230FF36EF75917650ED2AAB4FC931AA2C3A40AA8035D9B224269E48CE3DAF6B5DBCE99F2E7D3B679D3E8A0E55B53C998577B98C62658A41DAC78736559C3D75D51384AE62E670BE8986E7B395E + +C1777E131572C8B441F857202795303587F916ED6CD110CE39A14697BB51567D3A99250DA686E5461354ABFA8B52985C5A5C48560FF7A9CDFD57CF63AAE3968EC81118C3B0F81760BE992A3DE92D61A0539484A0EB1E856FA8BAAE2345C1A611EBAC + +A215CF02BDE902C079E59E6ACE0EB1B1561AA197C1A1D8F6A978D62A71DA677101DC6C5E201F31D1A864E6AA54F056C64C8B2D9FAEC2758B81F309C0F4B471FE99808580FDE10CADBF9C4E7F676E80EA06634FDFECCDD517ED0894C3D1BA293E79E5 + +2E06DC2CE43EB7786C378A13AB1A56F8A235AA494485EABC67C6A215118B15EC6007CB312B258AF3D86C43585BC6207B048AEF968460DE59E1E47F3E3EFBBA5D1676DD6FD421BABA27FCC2EABE0F4DD1ACFDDF18616EA44788BBDE5AF55F8B0B362E + +8A421635EE4A560FAA99824D6D5B18ADB12D79AEEC2E8A81F2164C4C404E9E1CD55822FAED48AFFD6B6DF3FC0BD1658E33B977D471AFF5751B894B7E30EEB14127E0FDE8CCAC67C941612026A253ACB8617D358186C972896CBD799275089E501C9B + +CEE174518CB39EA4046D3514C80E5FD0808DDAF8DBE546F8292F3602D802736DCDDFF3BD2B8BC95C28A81B067853AFBC2B69958C64CB070114469DDF74C91E6A700CEC2ED3CDE3C942948805999A3F4B89932B998248769281F8CBE8F005D9F12DB4 + +11143BD921B29BFD98CE10E212A46AA0F09B4929AC852E9D1CA1C54500ECE53D5E356BC37D81FB1F2023713EC61456C61BF10023BCF2EE663E25812EC70D78F2BC5DFD839249AE61BA014AA96A8539D8F8F6E285FB4186C73C3440CAE16B4F63E2E8 + +D840F1001588225EE9EF6E4E2F5523D7422D17D751BF28B6F910F4BC7AC733E079C024688318858BFA96FD23F32D4C86FBEA1DA3710030E0260E9267546BB9FA950F0C5E1DBAABD89021167FF3C26AF7170BC9364C4FF3914AEBBC2AC39A1D9032BB + +612A950F2F850E77D7310F1EAD790A9F8615A59565ED17FE63072B3A3A4D0C279AAC50A7CF9F2ED3C33DBBC549022954578FE6E8CFEE1B25B244F06477ED6453CDC97AD939FB4BC810128F5891EA6A1200D035724E8E19CDBD4147A5A6C4611ECD09 + +12A7D1C7B194F822BAC5073A11ABD52070641C0FCC1B840F57BA42480E197F8B4C95315FDF524D1823D6F0AFCD3E3C19D2E396171A351540C1CE04C07F49CFE72845F7DD5D27058705991832D2200432097B5A0027BC5081F2DA7077719031FC51C1 + +C063941AD56CFA597CD788AFA2C7809E2A1B1D0DFD2F6BE62A4A77D1AEF1B48746D8EBEAD20083C3B471118FE4A379E455733851AD8D0603182CDBDAFD7A12D4B352A5F51D2F8C3048F62C035BA52B024E7893FA73495E026425583EF37CE8C9CA05 + +09BB88A4F806AA3102006387E481E362A1EC33899B0BF68FD2F84838AD3DC4F63E5F138D0EC2CEA77226A08EAC861E7FC20FE645DA1022A3C399A2714820252FAFE4131E0AA2A75E539FA59E6CDF6C58DB747A2455B49E5AE81BBAC2FF8FDA92311A + +6C7A138096D5FD1EE0CA1156669EE52C9611CDAE9F30D33DC82AB6F81FB6DB743AEE68A942860066AEC0B06CDE2D223EB497743EBA212FEE0E02FAC0BD57119A1B4576CF347B7293A2829909AD38A550F72316D54351B6F1D9A4F327ECB2802FCFD3 + +79657EB8FB0EC8B220F2060B4A2FC9DBEC927DE0012F080530423C7EBE40F82357CF38783604DF0562143503F97A297B6E49EF003FFDF23072BC665813187BB4EE52A13B927CFF5BF4B695B582B51B2310B29808A4A2E5316C50886A5765573824EE + +24E999B979FCA2FBB1A3303B497F0FF1476A39E43D1AC4B34C765B5C1EA26402EDBAF6780E3CC6AE21CA431B455B6B5459BD1C690135C9BD89AE43361015D0C2FBE5A07563B95BA6B4E92AE4622E5FADAE8C65B25E7802CD4DA6A3E545EEE9D17B86 + +A2707097895269B3FFAF0DA76736717EC9CD6C23F6F918CB56B7D4618F18C84687C680D1042035717E7EE4EADDAAB6B0C9B493951DB57281BA4244C9853AF38EA4A483F69C7056A0754C1F80372B350D360B1CC5E799B3728AF85699A1529F9FD0F6 + +67D81C2F8232D26D1791FC2E815282EA29ABCDDFE31C1E6A7D8691F21EE07FF871EC5AA2EDA975C9A56526AA8886F2A930C7A373BB6E587E9146804519BA8509ABAC926E044C2573C3DFD2F222A8911F8DD179363AE30AACEDB41666AF9B2FD5FC30 + +F50FB19D46E5B32214C4000F0F9299CFC5F5AE6C780365A6EACF4545357A372E74BF27B75A8BDF066450B8F845CDD79077010323A6DC674BBF063565D92555D56AF26E34729517AB59B81AAFBFAE4E98EEE1C55B64C6F554F9EA777D572D9C27BE9D + +11953BC82AE40D8220D62D855A22DC2205562DF7C6F42A5D5F1A8BA1AE3D810DDE11742FDF211A1D7507C85C55FF75DC47EF8C8EEC61B4DE939643BBB9B583CF886E73F140E43A7EA1495801B2960D8D810A629F8117D7A12648253346038AC528C6 + +B6DEBE0F38881A1EFA4C62523F313B697DC6FD967E45FD93B4E7938C83AAA8170D65B1BCFF7FC0CB2A52D6F10EA17195490372F715E295C04C83FA7A334037133D40C3BA09617998037126A270DEEEC54DC9AEF1AAD9FE45C6D4467CF351B935692B + +F208BB6A5709EADACD751217D7E873A624DF30F2766FD39AC5A67E1EB4EA57B2F50FF7240B4DD0AE18A65B7E0ADB976E4C30007A35FCCF9BA46522FF9AE0191943B71CE8C27D7AB36B83DFFE82B7CE176F078F14C3274AA31E4498051ADD33DC5D91 + +738A6A8189CB64D98C572651B7D5F367782E566CD4034B5B1A161E06AE2619D5E7322D1229113EFD2F9FF546DB9EA6774F50C7FC73B1F7A955567AD17C93C29A9CC5A41E0CE7B1A3F0FA42852BB49E5B4F623DC624FD67D61AB2971D72A2C70FE049 + +D4FA3100DA75DDC2486375D2DB7B3C59064C6D0EBE5EEC9314407E68106C0CD4E07FDF8E4591AD348DF89B4F449619D9353EC7FE3BC76B58263D9FB9651D61355056FB0AE3CE9A85ED4182CFFFF13C28AA01917C1AF586FBA02CFA8DE5AB0DB14D64 + +D16051DEBB9777EBC5445B99389265D96AA2689CC654025E850859DE4F0E448B0FC74ACA8818EE2477B6325231D61C4697370B0AA211227EF84E3F409C4822729EBBE650F63486F00DD219B15B43A9083DF99368615DBEDD8692C1070EB62CF19BFA + +CAD10096858F7B132EDC1764A6B8314343A70943750483AF763CE88EA288E70BAE9A91044DD214039F37D79D0014C66FDE773115D99402A1489FF4634504FFCAF1C01B3C2C119AF7A88906BFF5377EB4998F5DE27FE3306AF841581B898DDCB196FA + +B5662D64DC50142CF3548DA454FA4D7F526A85DA27AE92FBCDBD01359169BAEA5701B2D3C654830C01C0B7A6D23DA9D63B8BC8B8421B84987BA559B1A54677D874B776440A8C339A61949B07F4D1C6BC421148F32F6D7E25A38D51954A5D157F0B39 + +D7B7815E5354C23142A23CEE98EC3A1ECD69451B5B0A6AAA5FB499B6B7463E7E0CA1D0BECB716ED138366D253D62D9B6111F4F631472006371CB39B267216A1F62BD7B0EA99364E3DEA67E45090FD3AF4CDB432DFB003AC14EE009D8D7D07BDA756C + +29E1E4453B45FE7F809FB3BAEF97B0A3925771994C40C0F4B6F5282771F32F8064A991A58804169F178EF7A15F54AE63C16C8CDC50DC5CE260209339ADA19F1044F67061AB1DA2AA2AF2610860BEF3BA52AD7D0DEEE2FD0D058B8D1F2E31305D6359 + +DA88F1A78E17EA3AB8BEA4CAE33632012F770AA78ADB0BF455FA5F84CDA7CC8AE82787035A916FA7A23FAB01FD5FB49AB92B9093DADE1B0CB02C3A8656E9029413B62434CDFF1F5AF29CC64FA725E5BE2A2FD817A8A82EAD0721F08BF11AC13F6BF1 + +7F75DC4960A5A81E3B8894C85DBA5EB3FE90523FCC99E854AC4C29CD8D42D92768C0F2A78DF3A88247EB420D12CDF7417C1850BB50BB15ABA7D3EDBEC78EDC61EB1A2DA9D24EDF77AED82474D4A9AC3558B4879C593C76CF6C9501B0A3433FB9DA2A + +D5BACA04298F4586D5F59AF76932DAC2C75611416B289CA19AEBCFEC75AC6E10A20FDB603532035A24B9E9804F0461DC5C485DC9C24D9F542FC5AA6E902690BC16362DF16DD1BBDAB28601582AACF25C3CF1F7417E07C217A0D91C3175D8B0BF53A6 + +2C203FA1BF0EAD6D605FF040574C9BEC03C8285BE5002410F9AF0BE9E69003455CD0AE5F05879D0C0B657296D6569D2F234866DF3700383CBBF871BAE99E44BCE2A38516224472AAD467858F2B688C4C98DF1C70C037EFA332B5D08CCB74058520E1 + +B5FDD7F5764EFA3CFC844454BD88066F9911C8BFDB63BE7A20C09C0AE80B7BA6A71E9237C0288D773417CD0EEDACB740E81CA72EFCFAA9B1537E883107794C690E6FD4B205E5F3D55B3EDB2B8C4E23A170088440483604D947D16F936C561C3B49E7 + +B804F2028CBDA7CA42DD61D2CED87ECB5C964B643901FF227171B370783F21B465989D87B45E7F7487BD599BFB51D0323B877D7EA388CDA321E412BDFA95543BDBD70BDFC0AB8A689C4B93EFF0B6FF1168D9F7829034A131C453EEC20B520F1C10E3 + +0CCB9D3B8A2C88712B225A055224D2427E33270E6F2D7C0ACC7CD2E48D5E2E850C71C9F041D4F20611235362FAFA63DF2D2F830E42E6BEE2AC2C462DA189529753B073DCCA689AA390486A441CB1860EDE9EA5606D57678E93E59074682C48834A01 + +1F2F461C0A050145BD95D8748552AD1DDF75F4C2F92757CFF1EC927FD7D9811BE09176D2780A2B9CDAC72068F08D3F4A11C20CB4D568F2AC55F33A19777AFE7421C24878606888772F0CD7557FC623B615A8324353F90D407F87DCFD18B1D70A3166 + +DA5469E1215B6A1B20F7905E987F366D58F706F8BAC70A991753D6A02655EA500B608475E394E066F3C23070CA43DCBA66CFEB703CE64109945A6F615B379127CEDDEA04B2E1B7F4A675EB0452E8EAE5533AE21CBCCB161235D3A4B6913F69D19F5F + +B211E579E736F44B216B0A7C6B890E5F0E7855DB0F4A9A85AB107200D9DDDD0433057F5CE6DADE66D1FCD93F78A17FA47D2365929F836DD21135BFF08C798976B12435DC6206EAA8CF6884E79C9E78145A7858A08E25EF3632B55F0F94B7BBE9A9C5 + +66CB2E9F7E843829AE044C19354524B74A2217204AC7AE03357F3E2965B361C664E08FB15116E39B4C328480494615353F5C2C39AF1972B2EE5FF3AC46C0742623A3209F39A2BCE648558C0DEBE893851F971E4EB203CE4F566662B24EE4132C8D3A + +617E510FCCCF0FFA26192A3B73EBC81217F56237953F8F2FEEA0E47031080CC7E359439E736D993EFC726C9580F01EE446617ACBB107E4E90FA41BB0A7A154D9577EB66D6C61AAB8ACCD2CA7090B4B9C64C5CF377D68FDB1171B541777D90BD7FF37 + +39AD147C501C8954463E45A7A313E394BA9D17A9595A05C6EF0072F1C5BACBA5E8ED8D01C289D500CB93238770ABBAA1F962737A4265BB69AA00AA1BF3D1D4814134A491EE27C2376EFBCA6C612B0EF91F21E22A85B15576A2A784C7322A1829FE75 + +FB4DD1C0685F7E2D694B944C474BE5FD88F6E514A7883328F878C7C218BB950D25ECB775B4F0CB87D07642ECC59D4A2E415DD21A46E3B8BEDAA803431E198A7BF8F191A67208BA3B6758CE3FA7417CBAF3029DAC62E2C90E43C188A828DCC1F8438A + +4074E699220AE1E5DC36F425301F2BF0A834A96B8F8A1D567AAA1376990B98532917A1F92B69C1375CB4B4D90D3781CDDD9370BD7816F361185484D6DA752B633595BF02E9EEC751A9B1B24AAE6E2B34CAA89F625964DB5C31A193165ECCA7A09439 + +66A6ACF050B75057368BBC17CD4ECF0208F742470588F295AA365F63CFE374A7D60ECEEAFA2F419229F9FE2652E502B90583E3EB15999652247E2C5E14B660C00B3238BC970A174B97BB3284F155E8C2E7AFD2C70ACA3396BB2521BAAD45ED2D49A2 + +F1758D89A701F3BCC433095E12FBCB86A6365942E8A34D26818E8AC795D76D0A1145F0A432A878AF6EABAE916B66B904FAF1A5D06EBB60C42CD9A597E97ADB9119D06BE833257D11A073AF706BA3DF02AFA003DEAA3C2BE32C86BA16E33C5F5F1F24 + +ECCE16EA7D7D98A35B5D0DD1444480D54BE443E5DEB02E50FC76F20E457D36772B421A5BDD32C8BCD7CCF668A492B491ABEE639E55400E95917745511BB06EB7EADC7367F86295403901D4DB0CF18C940E1212D16CA5AEAF65C32B79F9A5B122D2F5 + +E66274DD2E80DC62EE7EBEE5000943298A94D90418163EC34C060F5046F7DC5B18017078701898C83AD131E4B4199FF2806060F99CAE0078917958F026795C421F04B89CC4E061CE134A809CCAEDB500BF5F06E016549AD43E7BED0DA76EA13A6E28 + +1AFD04196E8678C3B048285CF55463E38B9B334A4DDA7DE0AF41F67D8F9AFCD2808BF4D935628DC8CC54A3CCA78EFB59DC19149A0BAEA6E8DE19D684073AEBC85F01EAB39F1D390CFEE3C23C0FED871A0556233DC7CA4E4DE6BCFC62CE51C53CB4AB + +9DA1962F41AD90F3886C9BB04CDFCB315EDF6D30BDE663320C8BE0273F2BBB498CAF188CC6A007D854D010925A168B43CFEB4C301E551672C6A9C0DAC45AEF3BA4AB6D83DF82BA8A33D9B75ACB115F80BE2B46A83E96C56610B9D99AC0D70AF5CAA2 + +45C6A4D218F931B957060A8AE066432E6054C6EF347A7639F2151055AC9B7CDD965910837CBBFA3387FE25CF6FE5770BA7E5D8629EE62414396DE8087E4B9F6673832C5D5AB8908494E162A071CE6674AE2180802694386DE2E486CCDCE083FEFB94 + +147253249F72AEF4545F8C043F101146D92A6D42A952CF3513CB124D4F0314400742A5E29B39CDB66F418E25D09A2A630735C361149DE7FC7A96A7051B541C34AC550C20C80C7DE108303DC15BE45265967E4288779C787199B2DFB3349D4B9634F5 + +01E12D4709FFBC6CFD653E68C6FEECA05F7115B540C199073DE77EDD331ED809FF0709373DACD942DEB8FB8DFE3C4A2CB7D7421167699AFB2595BE5E2EDAC981C0857D10C518D5A7C2C95FDE108D088C7547D9800A80F19B7D531C942C8DF4D85E36 + +0FB0264C8480DB1E6D2A45B7D4F6C863DD26D572C699ABE7018B7F2E6F8FE5A2A0BA4C761BD0EA227FE8E9966F97907427217ECCAFD9190CE3D956A34F47137C20B918E889B6466492608DE797807024CA2CA12FDC01EE226B9883F2822767E89452 + +00CF4DA8F23C26BB1DA80C23774F519EB9569A0635822B16955FFDBC93D403269270E04D755115FAB98E01407B7D3852B3438C279FE754EF0441E765B078083CB6467FCA4C84E59911F2F51C58C58EFD09E6302C9972B4802A35F191E907128B0610 + +85A7E6A04B7FEC8F729C71E4BE57AC22F90ACCA80BBC7DC11A640A911436F02F4670E26476F62BAE1A4550A578C8844871828851287100369C462AB9A7C2DD64CA03A66599E93503269C4A9A08E7283AB8B1D39A6F8CD26386221EF6124358747B2A + +8F51EF9D56593D46B506777914D65EC7781F158D16F356A546E07B66E38260805817D9990EA7EE7F8B59F533C691818E761E2BE5481F47D1D4040BEF1DC1009C1E9D2837CAD8A8F9BC595B938AA6B7D762DA491C1D00BE6CB76FD78230790DC32D5F + +1C43F416CA5D430FC8DE23DAB23545B9C56E192784261BE1E2B5721473B308EFFB081D124420003A84B4ACAA6433AC90C00EC6D696A64C42C0EE97BB7E658D4162B37DCC564C1774ED019DDB4841F1D5A1961045ED2AB46CDBB00129A802E4004F96 + +D1B3887C3AB3914792E6A8A919F3184FD519298E13C2D899A242AD8AB5E0CC2993E851B2674F175C55453300831E96D3432FE1832E6E850CBB6D9B5ED1D1A27E2D17D9989F6AC2F4B568E8700AB7C28F7944F3243AD63AB2E167565A7AEC101CEB21 + +03842A2DAA8E178F0B21FDDC7C5CD282A72ADFB79949B67A0A95FB6CBEE6E9856F74E5B1A0BA2AF69F85E67839965943D940190A9ECFAB37679D13C3BF04783A2BFA8D5F39EB14773976051218853DA622055EE60F894D798CB2643B1BE5B7A8536E + +0072486E77967BE38C76017BBF2576399F3D5B703222301B235AE5FB32F2C4AFEB4A62F7956EE76AFF85FAC00BB53DC040878F784394995B69A4A1886EDF2ABF6A6EC849B904C7CE999FE6610DB7AD3B3A6515E33DF63E58CBD59CAA4BF53B664B3D + +CCFF75D61654C3EE1EAEA0F66A11A9ED4B35A16306332829CE31D037A42D44A02B61BEEC29BB089520978AAAE064CC5EB0F9022FE26488642DB0D0413FA7A442FF1B42DD518223874FA8AC0510250942AB6E3B298C2672A7746F27F662032CC81A67 + +C03F6FA4DB0A6FC060F3265B1B3FDFA246DDE3A6520DB7C350F9D8EAF6802BAE115D1265EBB5C867C1D16D2AC224671F30E52B35D9899492220812D1A7499FEA4C7D6FCE89AF5FB6655173D9F7609DF1293009E0C5BC3D09B5A94CF919792BCE78D9 + +B89039240E56EFFA5D617335962FED8D96760332696118211F54B66C25B1B1B76DFE0986DFC396F8751FC35991BE5C4411D843336F9B8C357CB318B68EB2062D136E4D08593C102FDC568FB832FA0913919D204075B358D760477A87A22B8F96A46C + +8E8FEE04B9FFA2A59965385DA91046F9CD504B2339CDA5C285466D78D80A4C47DB5EA9B4D081FA9562E271D5E1AD80DC9F619BB1E8F0047AC65194B423D2956FCFD526DA76796BA509FFA49A129339DE8F160238ED2547206F9622937A6D557C7AEB + +5C45943D62E58A02E480066ACA49E896FD8253FDFA5553E98504ADE49DE52A381C91D61A9CB0E7453E649B0A2B1FF3CAE8F81F493A4B24903686483C1323EE7AE1DA5C1FB733CCA871EE86FDB50AF41270A41447794728B123CAB3C52BB87E83B6A8 + +0BECFA1BB9FA1938774B898006EFC7BF42F55F7C79BA3E8D916C1A490224BA329BCF059EB04FFE825BC54EA5B18471ED367B3FF6C36B60C1CD1168CB2CC4A740D4AA7A07F56071405A46B993378897889CBA4EB693310F72160DAAC08C4BB45BDB82 + +72BA2448631F54E2951524203988CE2FCB071E1739B008CBAC88EA4930EAAAD800D2140514463E4AF6F8A0969358974ADF1572B74DB1B99F52B3D1A34BEBC3424A5CC0C6B951DAAF0AB15E399D7508BAF36EBD8C03C323A6BE5BC0F26677D37DC6A3 + +F673B09B4182638B1FA51C1DBA02C682E0B17C7552D127A93D7096A8AA98F5AC4B1402DE50275C7593CBB52D74C00A53BF8112A76196D5ED689C4F70A9A86EFEA9D9F346B8871BF59AA876C7AAF4B4E64DEC699E7936A10C77D057FD4CB9D0E370FC + +1378EDF06601ED788796857A81AD5ED00D4C3AC25B6B2187735E4C87B2D11F440C15ED9D087E473FA5832C0266156A7C36CF65157B97E9C8872FCE141114B5BFB8E21D2EF27BAF660DD2889EFDE2FDC63D089A78FED5A18E0A9513BB8E7B29503DB7 + +5CFA3102636D718E015472809E6E7A2B4B935321F815D44E9319BF42ECF0EA813DBC1CCCAAFCF11A6D1A8161D3A2843207E4F22AA81236F9D1186FF9D2E0A2B4B0DEE60C9FFE94B670F1F01FB49159A3BBE4A2116BFACA2C61D4251B8FC053E4C551 + +AED1C40BEEF1D6A7FF7BF6E2115047F486CF023C948C425D8ABD3AFFECB8F56FE2324CDFEF5A34F47287DD568D778C9BA30811826B25052CE53B14B164FCE008C8910ADF918225DBDBC7CCF281F129D6A4939187DFD0D8711AD3A37BB8681429F31A + +AE2E25387EC7286E5A8F2A64E1CC669582E1CCDC7B236256F5388699D799A7A4B7CC175220401AD74B66AF07FAD25A321D9AA57EDBA24CB8EE5E2ECD2E11CD0F2D41604C6DB978D94ECCF67F86B4BECACBD09C43F30FA7DD0C304BFC82C1367B74CC + +001A8D44DF11AC6FFA87DD898D42244A27AFC2CE316EBA985CC99246C19F9D001C175B6128594D1A8DC44B4E973703AD0118AE0D8587266A147F2241A04B3C951CDF6B6403FF73C573544BAACEA1CA5A39E47C62705D52AFE14097A18E5F42788EFA + +A2B5E28545A516F0823CCDF2DAFE1835283D27BF6578875B2A9790F95480178EF07A79C062FBB939C88ED8AFA870A52E176478BAEAC2FECC33438E1D97F7DF442047B64329E45BDC4668E64900611C3441C159B1F986A8E5195163AA3B67A45EB4EA + +2EEB847A47A803FAA8916B3051D7567635B23937C88B70D28FE5B6B75CB11111D68D3ABAF18F9AFF387C0098265EDD8DCF2AE114C599BD521DB5BB66AD618D0C8EA8909C52D40DF49A4EB3D45606A5C6BF6D70272484117DD6559508D72727B45539 + +5AB11B8F9FD2C81D69B55F0A9C25F28118D5F7178E61805E00545E8C164ED6778FAC77E85F832A5E69F864849504EAA0FEE9329AD02647DBED63C764365618990D433301C8E354355B42E18914338153AEF05FB4E3D4CD257C25E9E45DD52BC4B3EC + +11D2529FBE4C4D20230B68F949263DDEA895541273CC9BBAB801D9ADB95FC76AB228D8E2F8417432B10FCDD9C3EB57C9A468E6E2D79025DE277AB4E0E78CE03A455BCBC7D69E6ADC1C2A11784B968C9DF580A333EB39C0AA4DF0D576742DA39EA540 + +0DF33D4FD1678DC58D907E30EA8A0247B15CBACD65D418E60F4349FDB2ED3E0022C9537D85DE99360B3BF73EDBE45ECC58AA2F8088A3765150783607E5349286F8C308AFE96F6108A048BD9D61829A0BB6C4872CF7AAEA8A3C8A725CAFD8A9763254 + +454A4EEF43BED50FE08D9E57C4625E8698DCCDB670EE37B692065948D3D5A88B735A8DBD47626B40C512BF9AFB028A57876E01284A72B97865AE9EFA93EDE192486FB1BD3BCF0BECD66D1657A237E6C90A92057F0F9C0DC8882AB04E40492A7F7BCB + +CB5013374C87EBD67EC4785A1AA19CBA81196B6EAE3C474DF0F5C546190F0749047A4736BDC634295B4EE5A3FEF76CC78EB81C8C329F6C5B0CEEC08C6121A9D4DF10EACAA5766894C1AE2C7DDC249E09FD3B45D39A2B30D4CC3DCF6B046E7A8C980B + +AE09BD9102718B71FFF631FC11B5A148B44155408E39704586EEBC3ABD77EC1BB94B6AC33D37C3AB64F27C431342355BFEEA84A64F40288384001C75C81F574643D37553664DD94252426ED85D3D2A1AB0AF6A4EB068E102071E4DE8D4D91A61EF3A + +AC183F5F8F86C070708830C671AAE021CE2E5EC5C88E09FF1C6B1659480E20686344047BF28EF1E6D75D0B98456A46EAE1F3F8C53E4E358CD65F1D17307150023DA7E6A281B8258702F61A8D49D204B371B02153E8AA47684B769CF37AE08DE06D5B + +A81FEE15C78FEFF47828490E404095B965B506F33C0CF0A9296AFF4D42941D9A23BBE98012861C1B6CB8EEEB00A3931F59C1FA0D05336AFFC6CBEB106D34CD0D4E15BC8A90358F9474547A005015359A4AFDBE84504AF6842201FD5010466A53329B + +F27D7B571DFF767C61E107286DC8C1170538DA8DE2C33728603D5B00A003799DB2D6091867450499F2DDB960BC8D9D7EA3381EDFFF24F1244C3B44FDB0FAF6EE360DA3EB15327CC733C0D93030EB301F0B378557AA0DFF39F68B3E296522E5E2B16A + +9662EDF5F57C25E6A21BDC0480BF681BB4DB486F8C8A300D50D145A96B73DAA05714ED929F83A9AACB1A1C565EDE0D9904431BD740E20186939F8544C0A28B9CD37F08FF86D7657023CF5A1E918A023726D852E6116DACF1EBEAD2D331F71B09D210 + +C9B1959E7D076C76DEB05E882B620E97821148D62D1EDA72E7733BAAF602F79DE914D59B2BF360B71421AB61A701AF7D9EFFC490FEA94A4F2D9C1D66900FAE000C6F1BEBF3B9E102BD14FCA66DB6E7225E83DEC190EBAC5521BA7A3F535065212276 + +74339CF9C12E07728D3C8207E5578D913075054182729C5C1D58E6FE33732C6BDE6B4977BA47C880CD185B40709611443F4702A578A1618B022A6A72C145BE0BC5ECBCCF533542391E1223A6268B871D447A27D16DF4C9C0E4CF4A61258F2B40759B + +D973D6E36DDC44FADA9F528DE3627E641F6A5E9CDE9B47F5D0F624EA280D2372F652693BE50CFF7A73677037166718BB62EBFE4A26F618BB390E863BB4DEA88F2103DDE38E94F964D471E21A29159E727CCC9A179AE698ABE57A30AAD8EE6B986786 + +C9AAFC42228D70C294AE737F55491CEA4A3BDE83BDC81364D56E49BCC0ECD35A48AD970DBDAC315DAA2D159891E0A2FB6D911C8B31B07E07CF2F32E85C74501346E2B27E255A3EACA4C84CE32EA539D85ADB88FB7A213E954B5FA9EE2D1A62FCAE23 + +5D6EA986C835A927791BE7432AAE6C26F6E6325510F7AE6D737047EE6A608CC673BF17D21D5F6C0C31BF98414A07CEA6178998AB018EBB4F3EC47A29B38BB3B025E2BFE1FE029A8B85F806BCCB702472FC0838749F20FF77DAD4336E8DF627413E62 + +72CE67F215B883FCD59D2C2B4CF61A1DCB959F7949148FD2FE1FAEA223810CD5127E9EC5762E041E16C95EE7F27CACCA2044191185D460397399459E8A3BB1947A08F256A99779F6701A41EEA39C085E7E02944028A71E3DBB93E0ED22F1DBC5FB91 + +7C50DF0F980C00B8A7C8736B47F2DE74B0A16B0CA0F28DE9E76895A93EEE3A777A0A21016EF7667FEB310727AF27385F78BCA41815EB57EAFADE917493E082EB873509269108E077E8A7194C65BD861C30E4FD30B4CD176332B62761A05219A40AFF + +CD283E0C4B57960F710772EEE18D2F0A7753874901A98D488ADCB72418F12E691CC0A460E2220B4A3ADDFB0D5AE6152ECDF7DC8841BC4E41899B7D1673AC13E40A27E5A491A2FE4B623E3E01E2A28774645BCFC516FA70E710DED2BF6FC794FA0F8C + +0DB9BF22D2C0859BF3F8A580CFCA13427C9ED74063A39F25E3CF56040A10850BE3969010364EF96BF743F6377322B81E843DDB790DF8027DAFF82EAE83BB95BDF475EBA914AC2B5FC301F39E602F28D5D873D7443EFAA32E99307003AE2E77D46B73 + +B9A6217A798DB4C6AE0E0B7F3C14DF68E0BE1156ACC098B9CF9BB951B53A2A2F6826D816496F04C20BDC5A702524A7655D4681FC3BCA6A1FFA3E0945857ADD44283B70A8C3DFED18FFE0854904389710625B56A1AB97A0E5B3A18E8FCFB17C51C2A9 + +08FD41B7CC951E0F8231EF490FA4686E691939914AEE3285F945A703D48EA396C4FABAC6BECE759F2AE84487A6467F8EC65501538DAAFB1BEAC6085A94994F8EA4289DAF17F467E7F7255DCB8ADB1AF14EDD686093421E479CFC3D56DA249F5127EC + +9CC8895AF43CCD615C700B3E8E164D2963855AD4D3BAA36850A46BD62C0428B6279D16532224E701F96515CD7471054DB60C977C2F202667E15137A9AFABF41F1638526C26035F09F8F589C4FF73C0747A635BDAB3F1FF1299781B71C59BDF5D1E14 + +101EC56EE00ED940ED6638B06C77428D7E88B8C8BA1051B0D0526F50EEB6577FD173AA333DE943DFFBC50DFE7ECE87D624F98BF1E552BD7E73E8C5DB845447AAF9139C10876D42FF4C2DA35352848914C71A9DA78B731897552C075BD66FE080395A + +D8B7FC4BBDC94F186ED56657A708AF448ECB6727C6FA47FBCFDDB775036787F71647CFA173E332A16A66203887061C01C421945F1A4F31A60041137D342429EB159FE9B11B829DD29C98CD1BDF68F7F967F7326D50A9EEE2953FAE4376261DDE8EEC + +E3099117B3F1EA46FF473355C3721D12A0BC7FEE18A643B8AF7DA569B70F88885ADF60908D32E9152C7AE8321D19CB2732460837ED460DE6A081FB798293D9602FA93D8E63F811811CCBBB4CA1C27C4EE412D5B3AC63679085AAAA22BCA65573F145 + +E4DD1E88B251176D749560008A20CD01542A9658258CD792A8B14DE33D4020FEED31E2C8317E2BB8E0639C9CF16B443D9615856DB9EE050F3912D89EE1E87463BC1FDC8B532D824B6AACEAB97062FA232B7896D19FA4B8BFF0D177F32A4DB5A519BA + +4D651FE64202E2B7FD27342697397013D4FA04A6798CF3EC9854520EF0A85B9B6BEF8D5E887CEF7B3EC873690A55708B959C7386FC7C3962154820178F7DB3F9B8973E353BBF2B7DE80F5DDC65CECE267A5ED2E9D340D0DD905AD6C8395BABA4D5E8 + +8ADD54872C4B10D5B9C16971CE5D3D47F6804ECE6D713F60BAE411474933CFF745BB07B5272D084524E4FEE639FBB57274CE00E5B93F0507F657ED7E1C047B7EC3FFA40BBD3EBFA37EBCB1580104127DD9C7C27E97ABED0EB8838208D162A7987F6F + +3F0CEA08D91AFCB568DD641A730A5FCF6732B5E452124FAD8884141856D1B4408DED3FBEB65693C8466B1C39D07B21257FCA0C9641360C887F2A10652FA3127943709AC7A253D186B02351112322818C6698F0FFE4EC3030BCEF9C68E7BDA530FF4A + +1015582ADFA31B9056337523F3E7821E36ECC3D1C960A2332F3E585973952CA61891E1D084972D4AFF23AE3B734794F6DB932351545E72265F7FD9ED77AE7FDCA66DFCD6C53A08A013564B640959A522952E11D9D70FEF3C3074D8C63D14814BE767 + +8C24EE64E2FCB3AAFAF5F15B233C3C3208909D3095F4A886849F03F975EE2870098E3041AE42BFFB0FDEB5374B56767A2C636B26A3B827E88F468F4A10EB312689A1B2C4DE7B65C83BA627F1A8A4A3E4CBA379DC0D0215DD7B88BC5DC44FA1D97FFE + +F3F183380C01128CF322C696DA901D6804419D6BC74591612EF7D33921C0479FC164E54CF0B00A7B64875CCB5AB67DD878D076B3D659C8A31AA49B5E666FD6B5EBCF6D995182B49F1E036AF7083982E7E95457F49563406E622DA5E48E0B75BC856A + +5A91BD309F147F2B91645E7173BF536E30A5E1758B29BE492943E01384A0754D400FFCD436DD90A4B695F8C85EA77B690292DC42A01E09EF16060613185D44E0EE3BA216017BE34CB23289FA84DF81C1D0AF121424F46E341D20C898924CAC71B58C + +BAA90619BAAE31AD242EB9C5125E2D16817B8445881961EE0F9A13BBF2C4F72AFE1427D9D98DF23F03881934B3EB65A6A2BAA9AA415FA486B9FAD96539524392047CAC09DB74A339B052FF4CD9FBE842DF5CCB75EF814152D1A8B100F4E45407AD60 + +4AD766E0A3974F0EA81A72FEC530776F8A40BBF1539B3248DC3A04F0A6C3C1A527DA524347871382C9BB8310ED6716B0079868D134A01D75C661613D0115DEFE7445DA2B220FDC83A6346EF72A6821C3D18D4C1887A06DC00A30D78893B1EFEB7541 + +F5B80B8AEEC4B434647EDE2AB95C29BA56BE891695FDBAAC06ED08E0B7D2BF5E3D556FBAA470D8C0EDB1FD1BFEBCB56186C1FC44F00DE955F6862A815F11EAB6E5E061DFE3FF5A3D28FCC4EAE4190A69EDB02D2FFD2BF232E694DC535963DEF8EF9C + +1BAFF26BAFC8A19176C9692B8C3C5E834003DBED1DAA14E204401F742A891E89AC33B21792759000CC443B6932469A648C6EDCA35C6B5455E4AF2401D426BE9C6E1DE2EE55C10BEC0CE0F5D3BA2EF659DC9BC0900B7FE0B20BFA237384A65A473B57 + +8F3DD1E8EFAF1560A428C63C6A0664475C3A9C99F07DD03BCDFC26054E99744D6878E9A5867FD81CFDBFE6CD470CCEF52AAD51994E98596BA15FCAC92E9175281845713D575EAD48CF970A850B3F3C5FB334D3032CFEF706F0FA4321C3A907D7F323 + +63592190FAE5D493D60935183E7101F8D46CE7E4D173450068EFBD0074D4CD3BA77D3E7906165D36213739F718D9BDFEF24F55F08BAF69C70147FF15C3FD3170049700A4F0742E9FF1001371EEB6651E94EF767D7C778663D5CAFD3BA53D879B7931 + +C010FB493D3E9D4E1BB3A46338CA1D65600D9ECC472EC217C30BBD458B7C0326D9D41DCAA2866613A8FFF28B90E417D00EE00125350F0E57CC683AFC7009DCAA74530205A7683750BF4C757CBDBE6B925802A2D69BF163EBBCBE7F59D359C188F856 + +560254D41157C6BB1720C8742C55E094A5B4D8C662624D09C4457205EC185AEA90EB9C29416EB9A42782751F2BB19AFF7446CAEC9C234E66B03D7986ACB5809DC5B5FB4783ECFDF03D531167A86350DE5854D8317DA10DC2D538F17FF51F679DA647 + +D63DE73A8535FB50FA2735958D17700F9275B746213D4DB32C0FA89F5E752DF81BFA16935517CA3794B3E19862F55CD2B7B428581DD5221990B7C09B387C791347B900C1E392BD779A0362C378594CBE083DE309DC575BAB5CEB6B182F13CFCA76D7 + +B97CEE57A13E2B7709CD152BBD45AC299E181EECE7F643A230FB3985FCE1E5F27224EE367ECDD4400D9F1878790768B06A06582A1760479AF9A2F5B6E15911590EEAD070567475F02B0C702D297CCA604ED822B3E1AB2149DF0F745D9FADE4D51698 + +77204A6006FD8E8EBC76BAF0FA6362D5BC2DB4F93D32BD9D8649E2AFAF9F8A808FD72922953283AA2FC0DEF19169FAC5370CD3717E860B651E924B04EB9EB5671BA8841BC52B016B28C9D1C3E7C91E25BB6EF0AA539D912BE2172D64CAE1136D993B + +B4BA1A40A91FE09AD707FF55C82A31F5F1A7926B15D8FE0A497A6DF120F8DFAFDBB9F0395114F514DC8E8151C7E87978597E5999375F16D0996345DB8A1D18AD3658DCA4E29FA9D7EDAFBAA2ED53E8F627F7880D607D03F4A4D5A8E7FA28212F9158 + +585FDD3169FE8FAC9F5538D747FED49D66B802AA58F2263C60C12A35554DB0294087C078FACB235A1C027B5988434E350CAADF0505C07E64B2D4D03C769A0744EFDFCC1CAC2C153D65114DCAF100032BDAF3140B6791A0A50BA8370AD592AB1F7F1C + +58EB4D7B845512A3AAED022CAEFF2C97DA19DCFFF147D0A4DCFC00ADAC3D7A8BD0C50209CC23D2D33F2316A44A3B10875ADF2B5C51012FA21D15411592BFE0FF4622FC0F00886EEA934D89098A5D7B089FE1700A837B81DDB702613D8A634BFCC9FC + +F7E368FA063E71D7982F7C8D767E93EBBC964E4F0FE260FF8461339D4273365693A09843FBEB257EFAF8D3CFB9C3AD23B5AFF3119A40E492DF99A2A6CCDCFB8B7EA7800BA25F60C961ADB0DEC48D47F61C9A4F07C2FAFA79F107DE4CF1B26DD61E56 + +5D1B84D2B4F0B3CF8D2825103BFA170FC33CF2C5DB48C18619F86BC41AD86EDB16C96F2C69671F979D5E6F409A1666F03172D141B07B7000598BC3F314F60F85935BDBDD2328C9AC9F2E6FD8E1B7425836AD0BCD10ED9298711FEF0248A7D6050C34 + +1A79162A3DB7F75E1478B17F3830118FC6DF3615C32EE810E651665BC8C0A319F241D2E7C37A826B963185CF715F90788FE31BC2E40F9960EAF0F66B1EBD0D026630FF6B4EE33F90222E8CD8E6826560D9B28C02EA4E3366C0E86B4A711600AB9BEF + +4EE10F742FDFE4FB1B50BB533BA928B1923E278A9227F4DCD9BF7914CF75BAA079D098C08436E3B0A8A1FEAAE1B514237EAE973A6F915680D0DB956F43073B25A980C6F670200547843444DCF577EBC5DBFC1E5217F9A5083ECB68217731005AD3CA + +8284A1A959DB3F0B70FA0F10A5506319659296132C70BCDB717F39970E930D112E0565D1E192001483BFE1FA521A8B5CB130695EA6796259C1F2B7BC4667B2883D86B27BD84DCED6DE9F36B6D7C192420AD64F46E68F2302291616BB725C4E4CF2A2 + +D680089B8C2DF2B3D2E9696DFD3D193BBA38081A6D1130B38E52DE3DCE108744F95FB8A72C4AE1F26AED5CE94C30A013925486E413B3156D24036C14A9772DB996505C591B18D49C5F9DAE1455B51B3B55B02C85CD4C51450787EA63179B189CCFF3 + +EBD253CAAC6782CC1793F6BF569DDEAF0C2BFC74469CF5924D92EE513C426762B2214F45783A4FD63734509614AF82D00B6895E3821D8E6217192B6DDD95A14415DC97B6472622002C3DDF0D5BB051575DDC39C66BF02FA67EC9A1E85BCC59CFCCAA + +E81275DAAEF351F388DD43D98B33F7957897195A0FEC02705D6500D46206EF4552ACAEA573C61FDB74A2370FC541D7BD09172F3FAAAC0945CFD2C4CA8EF809E25CEED64A7B27A8B4A462AFD0C9785B3772B624A59C87F60EAC88E1C8E74646F17E34 + +9383F925F5EC825E690476604CE2CD9AF3742B6B98B60825100595A022EA126D08D62EDA5541468A257E09A6BC07DEB36A83250A56CDECA14F32209D854454678EF955C7D9A3B73F97E68580255027CF61B618096D9D29D0F3CEEE07B23FBF04AF99 + +200BDB0D30C6C181291E39637EFDC805B2E603461DEAB24F7E16996DCB457DE235F4F96F0383A3067F85E1033F994C48994E3D590DF51CDF022D07A858D3B84E3B3AC0BDB4FEE59BAEA7104BEF2C5E4DD3D165DF5334506759AF4DC0462437D4FF9F + +B0CE024CEFF2BA518C31B392C743473A42E8FC825320D5E6A7AAD27D4ED09A14A8CDB80AC86AA8B2D789BB86F0640C070A9F312B08443F38B914601F194128962C9B4E52A185D8C97CF74620ECCE20514FD3B36CC9B7708142089F95437A807681F1 + +65FEA4D9DF773F648CD29E95CC2C972F749BB8C21B0C60BC54291F9774524691D5BE60473D6CE2DF5596629311135971BF696BBDCB863889A7E4286E9A9DD3ABB1B7CBD1F36385954B9940442FFE404F1518C7D774F112FFD083DD4CE62D77829831 + +91F649C0A10A1BD56D355AF07CF41C789449A6F836F7EB95A02F86E9BCA3BD060290E4505FDAA8AA1026B23C2EA4F3F21F050A065A64F78094F11C37533A406AD7AD356FABF6B76EB2491764EAE23EE1299BD993E232DBA6C43DE1E47C48A821E471 + +510B33ACB45E04C723B2C9F33D1079D4E287C12F558D5C12C26BE9D6F66D166C28E15AE75D37809762EAF9B1DBE56499105D9E6F33ADC580CCF71D89E1A69C5FF58018B3251409D45E3280E5518F8AC9459470C416AD16F0F9EB484A366ED819CAEA + +FBA4385792CB3C847314E45C8E6ECA7889EBA0C1C0CFD4A19355ABB2EC401134BF2EE1258C4D03B95E58A34108AD0051B265A5153A39019540D9CA6C9252BA3E8AF18DEE371C7490F36C98AA2A8BEB4662F5F738BEA78BC96AE96973CEE3D9D4A8BF + +0746B370EA8DBE652D21AA6A390270F485F8A27B768569995288AEEBF9EE8A8104F9524057C75D8163773410FD98DDA0B3371B3D125ED25EDCAF11072940B59759EAFBFBBC694CEBD84AFEB3727464CD9099D1EB0EBCF13A8E84AB9CAB3DE2F15E22 + +78237A23526EC97536A45E80C17FAA477E94DD9E9E3511959EC957CE54B59109031E3C67E1D18037743F88CDDACC51B0B85EE3571FAE5B1134688A8F5397CCFBC9A6E1D8954DB92F8A72503AB9AA97FDC1E8AA196C1ED7EF0583026AE57FDA1BDF2E + +B33DF903EAEC5E325B43BBDB2437B030B1B82D7C826A4FC7F81EBE97D9C1547B4299F4EE8C46D5EC24185E9039891EF7334CBD8B9563EE070310503828664853598AA15EEDFC240251D4F05390863FC51E8CD2728587532D163C40FA242F3F2FD0F2 + +9F0CD009B82F6BC26DC15B66089152DA0AEE454E9F3CEE86ED360F353031285EB0855B7469184FC9AF27A2827577E6A853EF6701638ADBB08613C1A134F5FBB36CF5FF13C15FF1339F0FCA85366CC97EFD604BF011ACB08C613C4266ADE43D93B648 + +A1742DCED940B6C0A9F0A75DF1957679D626225582C6D4305D39700BB9C8C807736D914C2BE43D0F4A17CC96B04EC655A8CF5ECBAD5C474126D023113647D02EB06F9973C338D6D2D1A73F299BC6EDFBB1F10D2794B6A085D3F51C3D201FD57D177D + +4F3FD12E9BDE1ACF5CFBB0A07B93C02EFDAD323BEAB6F1F16C837BAB6936E41953EA05351C8B2FFA54DD276D36F7CD174ECC50E31C24BEF4B7CD66FB333D92E53CA8F69613BB84E058B0F26AC1D977201F30B56E41C797F96008EC3B7FD401756EBC + +7F700B40DFDCC80080B34F6E77CB80D8828FECF71DD467B5196F8BA1AF04E3C3F00E7760F976AA15DEB87D768C35308B659A88CF93039EE64C7FECF11DD3A1DF7926ED3DAF7E0BB5ABE6B5DE82FFA5F6035E587A763F879D7072C4A808BA5E193ABF + +D84AF100D687C4604F193C1F168067E76365F3143D5347A17793751E6326E170E426A6C1FDE37040A97C5C33824F287851DDA5ACC281980C180DA98C7323551B2C05B20C17B534139011664D2C35F073EB324D596E081574100E393FED6A08B4E291 + +4636E69A39B7B8EAC23F191919609287878A20BCB54B0D41C6AC24ECE5EF5D3C7164AE49206A2FE6E6DC6831AD56FB44A9EDFB8A2AA499CC5117B7BDE2B3CDA5CBDD30C15E1938E858330285EC4BE389C5EC430560256D69B6E7C10615D6DB0208E1 + +658A022847ECF53FC33086802EA6BE76755937FA4CFB4CA645D8E70F5CEB41992543A068667993A95B3F3B2415D1535769B782BED55CB6554107B344A4633D448E468C1D0F299F72B96F96DDC0A34B488E5608527D18088F322E9332E34FC1B8B41E + +0A49A14A2A9AC54E39A194FC5963D95FDB8090A8940E4159B761C25D9E38494E37C6D8D3D2516F64A4CB419E7C2AC9E6141999361A7CB1296E21702A6647BFBECEE098515E378220CF4A9CF6404AF5E28A79E31325838B5CAF1966E4E3CCB87C2BDC + +E3F9494AE47FBD020766FA86834FA3B6DCF019E90CB6A9F6E8686621152E3982311F05FDDD777CFBFA38E47C72F4CC2DD3635D0F89D8280174B39B74D274CE18ECB623B717B0F23AA118FF6AC2C483CDC83CCA80A523A91897DBE48F64B257D79DDD + +24B2A7E67D3E6E9911B6380D6265CDF742C03A9011FD8BB92844EBAC97AFD08B0FEF12F569DFD269E0288281F413B9C0AB5D234D09D31CF44DE968571F0BAAE6935CF12AB35479E561A164D17136C16B45445D97C0D78C13B419160BDCEF8FBD4804 + +0C15066ACD0F8DECD8B6327AE6347FD06CF493A0A9A55511826D21F7239C604DA6FCB955BCE0F83EC21B969BBEACDFE0225459416558798D30E937D961E73FFF8F11654CC4DC5F939C80BDA6AB98555CC2984C6395ABF39FECD20531DDAA7F804B3D + +21BAAD2EE393F289FC0C0F8239A73EAC052C43127AA1A172537C2B38D0D79E0468CA55DCDFC20968F5BD920ED70517CF921018A3389A2D6CBE3B28FEDC19CB3DC2A91D5308AFDE8FE42DBFF52A47B89144B2B3ED9E2C0F7E4DFE771896B52586E4F5 + +E0D7AA09CB3EB7ADEFA2744DCD86D2869C6BEB744DC70FB483621F822D0481D308FDFC48781B21F836B0C377E89DDF5103B26D3051ADD3F8C3ECDA614925DD9BC82351A6E9FCFFDAE89E17DF8AA92B597850BBE72F6E94BE2E2FDD5E9318FCA732D6 + +43DAF80E47BD67CC8C0C17924E6BBCEFC8E326142C599D598E9C16173AF83AF87BDEA30945115806B36BB169B8A1C7484C76D0157D8FE1A2D9F72A485CD46B96EBD99BDBF78217554451DED49EC8F5DA2C9CCFD9306687338FA14DF922CCB07A2FCE + +FA5D7D9D5218089F449642C893E1238A189CD5E0086CCBE07E495523769DDF91666D9E915A02A27E46971CB78FB019EA10562F1B0850C88F1C9A331401B296EE74C5B64990ABC0C5AF895652A10F5EE5DB9F1DF8270E0204E77D4B9CA46612E30387 + +70D0FF57EB594FE9D271EEAE5EBFF023615B69E50BEE27518584ECD96DE0C235E1C5713AAEE88DECBB781FC259F07C66D2439B76CE306A88D766F4B8238F44D600A451B6CBD18B4267F6118532461B371CB4A00517F5B75236E1EB1B460768AB4C29 + +0C35B4D02A6DD5B212FE2CEFB4F75D22943EFFCFDD68FB690B38E42358D32D1513F03EBB3159CCD02E08339E09459ED6A16790AC1BE2D545FFA720B77F060076EB486263E26513DD33E7F4E0D02C6E7214D79D7C7DF55575E4F1754CA8AB91055145 + +4B4A5684711D4208891B34BBB9979D8AA61909408AC3DF61F160212AC73A5AB0E365E482FB95897637D50F2B0295CFB68A5B4970E553FA3B4CE88FE8797DA1178A0A2FACD8AEF55E39872D04E4495D96A9E9A01F2F81479758BE834F1026EBB150FD + +68A66A58C88C7981014D915F2D5C7A9832DDED9570A83277F580E62662EA73F1EA23FBB74DBA82A5D8CF216A163FBD533F3B7D52C52928DBCCF35D2F1F5B7ED0753738A7AD394EBA4A1C72472DAB4F6C93DACE83F8318489AA40ADAFD29B3BF6C14A + +41EB76BD90B3FBF02DB3A8396298D702DE21F1E399D96427AD5BCCE6E666AF77D338B62AE7C5BF7314654ED9D04310099D26395D831D23034E5ED47DD06F0575CBA59659B840750CFE24E2EC718846EB12AA69ACFF6A11089DCEE623FF142424A1E8 + +1295E46512CC89137E05812313BF2BE252988594FDEC3AE41CBEB5A42DBF44AC90060DF8E9CC9305110860DF071C646857FF8E67FB1CCC2D393D19F4ADCB8670F2BF3096280B23DEDF6D4FED36011EBEBFC378B1AC892A95DEFAF1703E3AA0E1EAA7 + +D8CFB292DC548B7C4EC642979A632A990E396408C96E963332322326019D10F48B775060852D66255D2A28B06AF4A2AA73C66A383DBEEF2C56095D75F35B5FF99CF1500BFA0D5431E8B1B71E20A558F062E6F5655287FF7D3BBA76FD575F54453F0E + +5D6CE8450BA1EEE20DE6C75AE6CE8B4EABDC6B8A7CB2096A77CF7A3126562D4182937C5BC4D7148191F7C1224A33B1353689B88D27D565E85629995FF151C0F3D804E7677F31DD98D09730B03AAFD287955ECD48EB8C3A30F9F33FA90762D9E104AE + +C8EB3D62BD35F866579CA345FAB50ADD1E2C5593100200E8B70C82AD54B1AD4B9AA78B78FA460545F2559BEC8370633C642955167F8F359B0E3F6B157D847F8CF07E1A610E60D2DF2965001C3EB71A8FCA229E1E840959AFA35B94EC562699B04135 + +CB60CFA21C6043C7CD4046C4EF9A2F7451518F48219A9D763F2241FAF22A134FDD7E032A2837DF7ED7B7D2688BE8FDB39812E8C600268D543D1DA09E96275F79339AB74816540CCABAAEC8D6B0FA73305FCC6792D4CEB942EC408231573C7EF320AB + +77F10B5217CB7FA978DB4518D657B5A925372358800ACD33E5E3AC74BF138B641BB00E6F342C20611B3604BEF1E64217321211679588BE03B441F8DD99848819C60C0BDBA4A8CE6751FC197C4BE6E3CEADC94C1A6F979E8A7B274CDC01F8160723B1 + +64C5732FF34A605A34443F6E0D814D276062A40CA8AE52C0DA2542C26E3F7D0A6552BCC6CBB3CCA06FE40AD7336617FE2C0853336E880185F47ED5B013F3D522E48D22BC474C9FE0F7ED361A589BC3A636D7091038971CA542C95A12EEAC389FAF9A + +73CF3273B0B255F62833E2432A55D38F9419372C1F14178EFC1526BFFF0CED80BF20E2C92A4BF39A60FF56DEECE9B5E0BACFD1EA561F80A709E994A988B0E2EDFE46C36E725D7DB6F5F3CBEFD02E9FC8A02102CA51358657E869B2141CEDB4795148 + +F044860FCD6791A5A3F1143167CECD4D3211D7F39D1EEE56631FA3CDFD3DFE31B5F88462891508AEE9075AB281264358A856A1887B84C6BB15F6C5CA054FBDD34522F9AF644B79416AEEE24B69EA43097373BBF31042FD53F7907469EC4A4CCE6F1C + +D461A981E87D9A770724C544720124299C19756D4CC668A77043426B4B8EA920520DD34E06AA32E75751A8667515D1FA17C260734BA9003509F9C6434C1987B863C303D0209DC8B5C9588E4220C469E4379B9777BB0543585C18475968140BED1F11 + +617D79BB8192813A9BFD4798C65C14C3B78DFF66A5757885BD9FC9ACE3D1E85B0633BA4E3FFC6081495F072665498C769A37C831F10A19E64509917988929ECA1CD94EC657C60E4B1D323FA8755CCDDFDF51B3B4624DE65CC0159C5A146787F48295 + +6B04300A895BCBD10E119BECAA1FEA24EE8E5615C00A276D89DCE91111DB5E9D83F83DC0F00585FB89E2BD2F6E5EF145F2B956C24FEFBD521D5EE6E83AECDF82EF2F535323100942A253BAB84B6749ACA7765C493450C7075E34BDBCCDB825D26FF8 + +61A3C1E9D7983BAB2C82E710111B6D3B206EF71045CBEE997342FC521B472A79D6DDF1B2E3DEF89CEBB195D886EBEDC845DA4D19EDAE186F835A4878AE66058A9EF5469978E38B1B728D1754690F8F1627A68D1965175DE8F2F2BEB8E87B1C1308E8 + +C6CF93AFE1F14F4509B1C073E61CDE12D41BBA772D1721097069450BBC6E18E890C8A520ECE430D0AABD314D53A3D30716E7F7724A6B29B752752C53436D8CB95CF7BFF02267DB014E418E232D95A3618DAD177CD976021DFF12E372DAABCEBE2DCC + +B3014677DF101FD3116A705096C1C7B1DAAD4938544DDD659765A16819CA49DB6F1DA3B0CA107F469B6E1E985D7DACA2D5988D25E440B9AC5C99B1F2CC0C69C719DDF79383426B18D3B79B67D3D713D2FCF92AF1312697B0A85404D4EF3E91EC9F1B + +39BDCEDCF341982D712A899B40A8F068E57FC4936A4AE7576C5F5960A8518AC6241FBE43E8592DA7231844055626B47FD1772F7CC3B20A157F5FC8DED818B1AAA5024DE0ACCB94C63C33D2999EF0636305536EA22C2DBEEE69CE3A339C7593577337 + +B368CB76874D37809A39C3012A6B22A0AD603F2194AFE1CC81D4AB8612AA4A5DBFA984A3F72183D4A3075616686679EED32992128841DA1B00D0943FD05112C4E756A8EE6359C1C2EDE2D696E60DFEE5718EA9C38B428EC4A09F3B6B8C6E9BC1E14B + +B6FF638E9F9E1AD2C9F1D6B96E4BFB16AC93419EE11D6BC0611E539774C7130CB8EBDB9FF5367478A207DD1E664E7521DB3D12BE8C20AAE4330C2924A13CF3CF916B80EB5759895680DB0C1BDC07CD3301D0E43A266990A2F88F0BD6D4DB7B2F86BA + +495E59B5770D12D37EAF360FB3FE07F1F24C6447887BF655E49051F07F1FDD55AEABDAFB8A0D9C20D15986F1D25423CA8378FABE59397E3998EBA736A69EDBC95879298B7FB0E90ED1ED813F9E6E7709C80AD50CC3715CEE9B7439D46BEC29EEA725 + +42D20183106745A11A6AB0B5E6C92229C2863AD11C430942830FED290C0B99111BE36431C3003A9C231DBE68704A86FF8DF4BA091B46C06AA55F2F988D52E043C1FE8677B4516210497FCFF22B7AF566D029A15ACA496083858A4EB5A6411AB82070 + +AB760E5E080C647DF8BCE7D0D869B5BCE52BAE49BF1870AB73184D95CEBAAFFCB05F2A91A3EEC5B4C75DADEF9AC1576873AD26CCFCA25D1D55550928D920290BD6B34DD062F62CEE20F0E6F32A26ED39D2F4149CB792522B848072D12E8B86F3CC14 + +41E6E08C5064418952DB11DBC5EE0257B84803BD35CF0184D141EFF83D732C8A306F2DA40A4DEA62A59ED2615AF9A88B6CC9E0C08A0F15BB97C51ABD74C26D0395A603561B49EBFFA1DDF3E89367176D959AE8591F9F3C56632EF223A2DB04F5AE23 + +E0CBD0365801F5114B8B8A4882649211C025B5C3F52D000B7DDC5ED1FA450F492C7992E3DF09C4DC2379EC6C9D5090314CAB6E4FF6625DE204A995417F9E37EAE4203A82C08BC66BC0038E64A3FAF5DFBDFA030B8E9F54CA34E19A56AC52C4E3FDEF + +74FC6AA5AC1E6BAE3BBCDD6231D02B1213AFE822F60CDE519B10CFC9FF67FF8C42BC2EF1C95389E3955892283EBDD22BDCB0545F261BB5D8BF489A0CF5B8EF62404AFDEE5CA5C7FE0C060C7524EB61C24D7EFF4B6A53CEBB8E030CCD46308FE26F51 + +C5F52BD328E91DA962AC7B3D7060B092BE5CAAC6CD18DC2C368660102ADFF553AA5A5E6302AAF4264E767453F9751765F0C842E7040F78F1B277DD4D55F29CD6E74746686B8254DF7286F105D7E11C3882205175D4193D1030BE6DA1657F4D7989B8 + +FD0D0E18E142A99631F3E59D7503AB85EC8ACCE6FDA463C3AFD858D524436AC76BD6B88D51EFFBBB39988AAFDD3C3BDC80285C54151F0D6F821110BF6648886908DBEBD29C547C55528519BF0E47A2E8B3B36976E54FE47E58C9FB0AF396482ED487 + +63BB4718B0C0EBAF6651D18A644CD566E7D971636A96FED6BF3C18F3E4CED7C9ED1C94888F7B95D2F2F7FA8F5DFCFC065B55B2CC1964962BDEBE1CC12916A7F1093DBB1A4CF04A56CB56B5C399B013C05921CABF2DD604E2594288A5928EE367B8E5 + +5969647BE71DAED0E9B1AAEF2460FB7098F63A04C15B63E9F6D2F3F7CB7FA2950E35C08734C766F41B2D23611AD802A52B9AD9B352E254ED81C3C3726EE05312FEA01BF4420ABD0FB200D6E5651E7818257A5E3D8D0DED612A5F86830521614B6124 + +1268F5A645AD73C07502C98A6941DC083F4918FE55E22E3CEA6081000CE1787ED78EFCB85963F7888598EB390D64F96EC795865362C4E3E0745ECDCE77D3A801F37CEDC45FA7F177C1CA771AEEA4DC0DFD137DA3E96FF339723D64A185E0B16CB46C + +D8E0807436F6B3009F47FF1650E59439C4C20264662EC1555CB09870FB9E14435559536C94EE50D0F3A45682C9B80CDC9F1CAE241F192B722190257309C778A199C496865674CD31A2290F2D5F10B42CC9546E235DE4E92C81AC7E6195E69858D328 + +1A45063637CFB548BBE4B8B8BC56BB07C18D88CC6E79802E782FDB7B5E9F9239E30216CA8FAC4FD1B62A80B157C5668ED88E8423D2007079D58A6DDDFA1E02530D47E46D63A98AC459F7125F5BD320859A25619BCDE90C0B754176BFEEBEDC1A74F4 + +2FFB9D4A8EB84608A5698CD84DA718DB6DA50022FD95E032376D9F4A92F7878CFBEA7CD077E24F220BC2A03652444E0D2D8BA8F410E1D59179E7F0BC9A68190099330BCE7D71D8C5DB06CCC3FACCD4716B0621EA03DDBE22383C8CAD936AEFE798A0 + +D52735BCD3CE11ECEB00FD67E777F9EF72274FD1439FC15DD47B7ACD79FA38A49DA1EAC3ED7A6ED9BD25D910F9EE4AA35E2CC1D0F0B433BA27272D5BE08CE3C263CB0EE02CAA6579DB5E6CF15044B509DE6DF9EFE85DBA9051C55CF4900E2BB998A9 + +D960B217149B9F3F7E20DB959DAC148F0BA8A009FEA266E96106079FF2CE0E0A2CF9E9854AE9C33CFD4E9BE9BF1B56876DF27832DA944FADA2B3BB05C53B5B299E40FF2CE71D1105D7AAC7922306CD61602B64A19CCDCC11E4C039D70AC374EA4030 + +8D8D348AD16AC5C78C2564013BDA314AD42F96B82E0BAACECD0ED40C1F8C0506978C19536FE1906FA313792A7B748BAD4C7AC55EE9C7928F2C356A7CCE710BAE45E7B640E1AD74C8290B5FF14E44238342550E49DC91E2F023BF1C3A92DD9C2A0ED7 + +2EB07A602E6D542132A039562FAA05F74EE6109FB60AE8C38B4D7F8DE572E0B011A8CB3412FDCBE4A03A1DCE0A59EEE52ED9023A69E4C02B79CC5C5A5FD2B2B432401A5F697DA96FE2115D5D128470807B04418F8DF30BC1BEC613BFC98E7217F219 + +C3BACE6B5E1865E83344D4868885B4A7A0B4BC841E35F624B1FB460AAA55E15CD1BEE2BBC398924FA3AE678916812463F3E1F8487FEFD717CF168E528DBEA29DA5AAB00435BBFC7B3EF4A5BCACA6FF42ABEED00281081B39E2BFA1AD7DCC1EC31AA7 + +39CB540FD87AD30AEC34D751460EB08E81DF6B3760804348B07C018E98BEBC644EDC2F9F42E4178E8748F36DB6EC7B945F2A3E3E20936648DA22513D9C155F23B02320605DC8D5D8034E9BEA8A236406FC23878862668B7C36C29282E61974C4C770 + +9DA82FAEED375152A0A150DAE1E260E85FA8DDED44A03D2C1B558EBE398D663881266C1D2F4CC595492C2624D70A406F7159EC3E6C564BE1CE3B9BB5B6BF2C20993899CBD17880506F64577313395B372B467E101B0984EF789E313A00F1AB26AB90 + +50A287890FB34B80E5A62A021BA654ECC78DE4942CC19F6B144EBD2D1F55A0BA20C653B01858B4F93D946F92BCAD3EF37CBA12EE113D9B08A8539B6DF96FEFB136FFC177D56D76336F5107FDB491D7851C44C0FD9D1784F3544208F957828EE80CBD + +72FA4B37DBF75E7EB9514E5862337B6B970232C6AB35567DB8A6701D6A1FFA9E87E85754B355EEE33FC675610A81A62F2CCBD14E735A1ED78787D6ADF80C755BB8E6010D27A2E4F3E3A2FBAD4EBA5A2F13FA3DE81A71C5BB3A4669ABF7EE91029191 + +656607CD6668D5D19E101476476E23E185E4C6B91B6D1906C215F30E3AA3744C228A9EEB7B77881E13EE065927462327143B102AF6DD0B0C04B5424A010810EA85EC3218E3DA640E60A6C8BC8066E40B18CA4DD95435E99046168D0EADF2CC83B4A0 + +9987C154DE9CAACE6E121DA077FA15DF46B8903EBE052A770D82E49B809C83B2480872BDBAE83FF44200D0230E0799A0102225426246CE155FED41AFFA18A44D2604CD772A7F7D0D468CADFE8406F7C5DDB7B7FCC20D992F255E0CB5425107CC3D03 + +F8C47A6C8D06EA4377844A7DC46DFC69EBFBBE05AC8656B09124C37D0E9C6B1442C6F71A634C7F23A5A941FE2A1BB9C7A986F9FF51675E1B5EC6FA7C415C1FB03B3C851041FC9B376F0F13BF76C7DB5AF80AB5F1ACDF3CC62808DBD8D145CE766EEE + +018531EC17E21B445E090598378B7C2A43EB743F0BF4FEE958683F6537280F7A5CB1F52045F025F39AB94828F58EBBD0CC5451AA2DE4E5F13BDD7BFB6C89CF7952FD30E861AEED828D31C7F98D64679D5F0B570BA82A932AAE28816D999955914F72 + +F96313B12805A158FD01C168D3F8488908B9D3EBCE8A842DC5A2B9FFD567CCEB4EEC09050535D2FE6B1432C7C489531D5D2DC12D8B2BFFDB2F8F92B4CB43E890CDCA29FDC5B504514E5D831089C85952CD87937EB17723FF1C3D597635564C970D73 + +21F29BD5A8F72FBED81ABF35058B9EC6B5D92B0508AA9CB4B9FC4A59298B47BDCFE212333BA8836260CE0666B6AAE71B3D81D7F4DA0F3758404C6C7192DB8F1B0C13170D474B6955137DB239E1C2F3D3D44BD661359E5D4EA16305173CCC9B4854FB + +CFF0889C5CC5912DE1F77CF85CEB593AF6CED04F3A8C0B3B28BC1DEE2B0CAD9C72564C4692703BF0D89069736C09386B17C208DCFFF7D3FCEA217FCCC18AF925D7FE61577F8C4CB424115200ECE15D3E45CF30173DF1D7060CC840D122B8CFADF773 + +C6B38E0EAA130AC0982713D25257771DAA3E5D862C6876FF5179D56AB378C0B3EF0E1823A74F9E6B2152EFBEA4FBC71A60DE45A394ADEA243501FD18EA6A0A9A6FFAB1B645940EBA2CD7223B55A49142DD27E894E671B459E93907692A69DDDC7F80 + +E09DC37A354DC608FD7064E5F8C165CD0D254D7BB191D0DE4CCD0C06A604FF97ACA00827915656A0794457CF1B1C1ED4CEB923F21161EF5C33017AEE009AFE72B239292D2BDACE89C3C1F8378BDA7BE3D6B4CC2E77511E4A6D587070DA58D8C915A2 + +54D4ED58B31455984DC80C28F8D01E9127E6870C92886CB8F8228882ACA0934B9AC97E0F2F731C3D0278DB21B685B72A7C07156C6BEE67019F93E37614B5C011B6A939D0287DC8AC619BD9C68E94FD9E5DC82C8C11F85437306777C11F97B134C18F + +15760DA0DC08869AC3AD0F94DBFC31415497EBE6520305FF59E90316958A5CA31D80FC87005A82BC73E7E728251727B3BE276379A863677DCE2421FD16914411FE263FA002850A4A21E685692D5DEC5FCD047B2A261C0431BF956639660274B8EFD4 + +1A63ECD258721C5AEAF9623F95BF8AF7764255B69B3248B6E94445ACB00C040D8A5A851F7EDC73742FAFBF051A2E20A9A36A19960A7C9A6D8121965CC5507B0D5C9D91BAC351EC1C5EB3ED45340082E9D561C69CEB7037333AF6FC259BDBFCF4D269 + +556B7A729F9BA1250AAD6D019954737BF1D6BC6CC42C638FDD21FCDDEE65CBF8883BCA63DB3F8F31BBEEB4DB471DB91BE416D0B20A540394B10C73969B72980BA64D94ADFCBF507E6262226CE7BBC804F4D4AA66F55D039F5B16A9F1DCBDE6CC7011 + +B4038C97806FA74BAC900EAC4BD026D4DE87C856F0DC4E659AB19450110693D36FD98E0FCD6B094D21C4F7BA7B09742731B1EB850BB868CA1212C5930D00B7488C7CF64447B1C298BC46A686D616D3140EA82D15D90BEE368A887CCCE6F7F956FD70 + +1136CF90591BC3F02BF674E77FC4A4AD34C7567F68FD5F741A2933A823F1A7C035E6CBE9C9C4894C1F84691D6D0852BBA0F86FA9CB8CCFB8D6ACE168358EFA386AEA2763A6D9E603B48BC64C08ED70C209A7BFC742D11CC626C1EB05C514CC2930CA + +C27E8C8D20A258E0282E897A513F441CD3FDBCE877A9AE9F1D52FE74F0D0781CDCD39321A8B02D695D242BC6EBBB2BCED3CC3900C6591AB6B852FE2F854A26E096CED922E8E454119A759BB8DA07DC31C276F3E4A5E5FE8900FE641ECB7578ADF08B + +3C2B8D97D54AD0582E9546B3E82F7E417FE7D9102B5CB4C45BC9C2E44FCE546913B95777FD18934E3A039B5CC65608A61D600A4FE533A1181843848B593F6FC81409643228D856F06B01A4664B96D3457DDE7993078146BFF3EC9B3717E15BD62263 + +669ED5D88C4FBE024300E6CB5D518BD5C520B2DA10CA096FFA609CA949C93EF02F6D43A125A1D2BC98B7AFA284F8D9D0CAA47078D98F840B648E2F64A4139BF6437E48C96F32E3686262260B210CD2542BAFBCD613591AC4245A6A60950B57150B97 + +6077989E6209E6BD49FC5C70F3A3CC26AD8CB870B710F24A97CAC9F8B0C6FAA29FCAF82273978BD926854D706BE4C99B1BEF87AE77BF0DD03B25892E25D1C82DDF3EE502CCA5EFB7AB62E7F1F77B3D789EBE054C58FC26E19FBA21B55C1E369B635C + +1C9A18D49C4C6179EAFF25684FEBDB19915B5E7DA51DDBA30B6064A9EA389F18B1628204DCA2F156992D71DAD4220947B855F23DF9F5295C9AEB92E10C4E66F8FF1D3AB82ECF0C7A0DCDDC9C808475F7C7BBFCA654885276CD886F9F12B0A1304BA8 + +0F27B37A0BF00DE5EEA639829457699517E9DD06358EB54351C1A92DC560F47827BDA639F64234F9B52A004BC79AF4F3B762152D43FB9AA1AB21422DF8F5CCB908E0C8F44C5A5D2A4088A704CB84376114993D54B2C4A1F2F1D1F72DBF0F5583344C + +331F4BE872C61655808A50641AE34000B40284066BDE90917AE2F1040353D0CF82E5601CC587F71A4D48CAFC945F1200B240AA8CA051D25391E8260BE0700636B7D4DEFBD8709221AE2739C075DBC1F64BCA84D475B87986F7C505874E9627551D1B + +7ED8DA5FB9FA516B80E64AE57C662980903005021306109B4CFAB04CDA8B1EFCA8E085E8EB4971C24661C966F062799B5AFEA12681299B529AF8C40F895DCB19117B8BEBBA85694D61C385C88BEC781FD0865E0626CB6CFDCB6AD82E4EC13A9E81D9 + +A2E5DCBE99C04F341C8189525D459A731DEC51351BF0F2CF75FB1C39D336782A1BDE00FFDA536ED6E1919A4BCDAFB55DA74EAC20C1F4F013108405DF82E053D6021F3DA4896249F3E2660A4B096D2B72504D390D75F4E83A950901015589CDA2120F + +8F3A8E42134F9B469991D007DF255EE563C53DA6E3501B2299FD2891FF518056BA7297439B01A0E5A0EFF94E2C31DBB0305B7ABF181DBBAC9A926A6883784AAF3980A5E0AC57DCF69E7F48DE8AA36904651E4AAC08B6571E34B9161DCEFA484458EC + +7A47856EDDAF5C63D1A93217AB80229499ACB40178F68BC590CC8BE9FE83D1CF457AB9C61A3807B0DE5ECAC40148A2E1CB14990B5F98D565F1609865F066A9349C73778E8B0D2C7948B94CB6C563E0D51ECAA3D59B434C1209B899CE983EA462DBC2 + +1D626B35E080C79199B9AEC02C47853B7DFBA72066FA200F50871CB441319E823ECF95FE65EA6C3C90CE4D469B624428DD017E4B889924DE7DF10B4522751606073DD5CF85CCD1B65B8B3E685C0501F746CBDA498DD9E678B3421A7F0A2101FDC6A2 + +025C71B830FB96EA51AE9802F9FF4AC14E92873835A461953CFFE10627F1490BB546525E10E71FB05064544DE0A6DA61004C58ABF276074355F7FF6C55FB8A80091FFD3C40FCBCA6DA6CC1B42B2C3F16FE612068CF44AE9E81B9F70B2C6A8C688666 + +1307B2A8214B4561C8AFD21A11E5AC963E5196297B9F843C8BF374FD92DA2749754733C9FD7B84250023DF3C5D01DBB490BF66FC3CF292CD8AE7493307E3A28C2069BB6C4CF356FFBF6C53C3FC994AFC0F7EB7FADC5AED9E9279C040CF187D798D14 + +9F7A63BB78A3F592BF582697DB799FB8134DD46C874040B8340EEABEF3C321EBA4036D5232A4C209AB04546AE0D8C6C330BC75432D60B10B103A6ED9BA4EC42F8DFA62BBBF2085A706E9B5C110C44D277F9753B58F0C871EF66F9E37BC3599C36F07 + +E986F8A1EA8DC6B737D3263FD0575B98228B7342D599FC91378179D01552B4A99F09142291C350186D35B345EC48607E7FECC8BB3FE6793C50F0BE78B51EE4A72660FA0D8A24F2D50724AD55CCF6DDB3A7F41E09D4A440305A8AED09ECFA7DED3AE9 + +320EAA84ADE27B39CDE0A688BCA541CF7EFFAB42DBAF72940BD4609C6EAEE3AF1A00DEC9DADE305E89F12AD4B138A35A839B8EF6279051ED64646A28305F92E60AC11863B47FC17D0BA3797FFE66FCE4BE88A428B22F3B9C80D003E02B506C29099C + +F00CA669FBB19CB25EC8478EE44CC90B2595969DB67F20C659AA9048CF30C7FB8DD68C52648672E84D7826673C2539CD4771441AA62D48801769E552920A3BF67B2563AE169151875D53D02F2218F044741AF1A07A8382468920CD321434BDA87854 + +1570267B7FDA94BC52095358FD2DAAFDDD5D7B199638CE3D583D1AA7E57DDAD58D9C4D2D149AC890652EB1B80922CC2ADC557CB69CC5D1F4E1E081BE3FE53151F071B02BD98ACC32705BB1C34E69F98EBE838B9CC1D110F253 + +000000000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000000000 +cleartomark +%%EndFont +%%BeginResource: procset Altsys_header 4 0 +userdict begin /AltsysDict 300 dict def end +AltsysDict begin +/bdf{bind def}bind def +/xdf{exch def}bdf +/defed{where{pop true}{false}ifelse}bdf +/ndf{1 index where{pop pop pop}{dup xcheck{bind}if def}ifelse}bdf +/d{setdash}bdf +/h{closepath}bdf +/H{}bdf +/J{setlinecap}bdf +/j{setlinejoin}bdf +/M{setmiterlimit}bdf +/n{newpath}bdf +/N{newpath}bdf +/q{gsave}bdf +/Q{grestore}bdf +/w{setlinewidth}bdf +/Xic{matrix invertmatrix concat}bdf +/Xq{matrix currentmatrix mark}bdf +/XQ{cleartomark setmatrix}bdf +/sepdef{ +dup where not +{ +AltsysSepDict +} +if +3 1 roll exch put +}bdf +/st{settransfer}bdf +/colorimage defed /_rci xdf +/cntr 0 def +/readbinarystring{ +/cntr 0 def +2 copy readstring +{ +{ +dup +(\034) search +{ +length exch pop exch +dup length 0 ne +{ +dup dup 0 get 32 sub 0 exch put +/cntr cntr 1 add def +} +{ +pop 1 string dup +0 6 index read pop 32 sub put +}ifelse +3 copy +putinterval pop +1 add +1 index length 1 sub +1 index sub +dup 0 le {pop pop exit}if +getinterval +} +{ +pop exit +} ifelse +} loop +}if +cntr 0 gt +{ +pop 2 copy +dup length cntr sub cntr getinterval +readbinarystring +} if +pop exch pop +} bdf +/_NXLevel2 defed { +_NXLevel2 not { +/colorimage where { +userdict eq { +/_rci false def +} if +} if +} if +} if +/md defed{ +md type /dicttype eq { +/colorimage where { +md eq { +/_rci false def +}if +}if +/settransfer where { +md eq { +/st systemdict /settransfer get def +}if +}if +}if +}if +/setstrokeadjust defed +{ +true setstrokeadjust +/C{curveto}bdf +/L{lineto}bdf +/m{moveto}bdf +} +{ +/dr{transform .25 sub round .25 add +exch .25 sub round .25 add exch itransform}bdf +/C{dr curveto}bdf +/L{dr lineto}bdf +/m{dr moveto}bdf +/setstrokeadjust{pop}bdf +}ifelse +/privrectpath { +4 -2 roll m +dtransform round exch round exch idtransform +2 copy 0 lt exch 0 lt xor +{dup 0 exch rlineto exch 0 rlineto neg 0 exch rlineto} +{exch dup 0 rlineto exch 0 exch rlineto neg 0 rlineto} +ifelse +closepath +}bdf +/rectclip{newpath privrectpath clip newpath}def +/rectfill{gsave newpath privrectpath fill grestore}def +/rectstroke{gsave newpath privrectpath stroke grestore}def +/_fonthacksave false def +/currentpacking defed +{ +/_bfh {/_fonthacksave currentpacking def false setpacking} bdf +/_efh {_fonthacksave setpacking} bdf +} +{ +/_bfh {} bdf +/_efh {} bdf +}ifelse +/packedarray{array astore readonly}ndf +/` +{ +false setoverprint +/-save0- save def +5 index concat +pop +storerect left bottom width height rectclip +pop +/MMdict_count countdictstack def +/MMop_count count 1 sub def +userdict begin +/showpage {} def +0 setgray 0 setlinecap 1 setlinewidth +0 setlinejoin 10 setmiterlimit [] 0 setdash newpath +} bdf +/currentpacking defed{true setpacking}if +/min{2 copy gt{exch}if pop}bdf +/max{2 copy lt{exch}if pop}bdf +/xformfont { currentfont exch makefont setfont } bdf +/fhnumcolors 1 +statusdict begin +/processcolors defed +{ +pop processcolors +} +{ +/deviceinfo defed { +deviceinfo /Colors known { +pop deviceinfo /Colors get +} if +} if +} ifelse +end +def +/printerRes +gsave +matrix defaultmatrix setmatrix +72 72 dtransform +abs exch abs +max +grestore +def +/graycalcs +[ +{Angle Frequency} +{GrayAngle GrayFrequency} +{0 Width Height matrix defaultmatrix idtransform +dup mul exch dup mul add sqrt 72 exch div} +{0 GrayWidth GrayHeight matrix defaultmatrix idtransform +dup mul exch dup mul add sqrt 72 exch div} +] def +/calcgraysteps { +forcemaxsteps +{ +maxsteps +} +{ +/currenthalftone defed +{currenthalftone /dicttype eq}{false}ifelse +{ +currenthalftone begin +HalftoneType 4 le +{graycalcs HalftoneType 1 sub get exec} +{ +HalftoneType 5 eq +{ +Default begin +{graycalcs HalftoneType 1 sub get exec} +end +} +{0 60} +ifelse +} +ifelse +end +} +{ +currentscreen pop exch +} +ifelse +printerRes 300 max exch div exch +2 copy +sin mul round dup mul +3 1 roll +cos mul round dup mul +add 1 add +dup maxsteps gt {pop maxsteps} if +dup minsteps lt {pop minsteps} if +} +ifelse +} bdf +/nextrelease defed { +/languagelevel defed not { +/framebuffer defed { +0 40 string framebuffer 9 1 roll 8 {pop} repeat +dup 516 eq exch 520 eq or +{ +/fhnumcolors 3 def +/currentscreen {60 0 {pop pop 1}}bdf +/calcgraysteps {maxsteps} bdf +}if +}if +}if +}if +fhnumcolors 1 ne { +/calcgraysteps {maxsteps} bdf +} if +/currentpagedevice defed { +currentpagedevice /PreRenderingEnhance known +{ +currentpagedevice /PreRenderingEnhance get +{ +/calcgraysteps +{ +forcemaxsteps +{maxsteps} +{256 maxsteps min} +ifelse +} def +} if +} if +} if +/gradfrequency 144 def +printerRes 1000 lt { +/gradfrequency 72 def +} if +/adjnumsteps { +dup dtransform abs exch abs max +printerRes div +gradfrequency mul +round +5 max +min +}bdf +/goodsep { +spots exch get 4 get dup sepname eq exch (_vc_Registration) eq or +}bdf +/BeginGradation defed +{/bb{BeginGradation}bdf} +{/bb{}bdf} +ifelse +/EndGradation defed +{/eb{EndGradation}bdf} +{/eb{}bdf} +ifelse +/bottom -0 def +/delta -0 def +/frac -0 def +/height -0 def +/left -0 def +/numsteps1 -0 def +/radius -0 def +/right -0 def +/top -0 def +/width -0 def +/xt -0 def +/yt -0 def +/df currentflat def +/tempstr 1 string def +/clipflatness currentflat def +/inverted? +0 currenttransfer exec .5 ge def +/tc1 [0 0 0 1] def +/tc2 [0 0 0 1] def +/storerect{/top xdf /right xdf /bottom xdf /left xdf +/width right left sub def /height top bottom sub def}bdf +/concatprocs{ +systemdict /packedarray known +{dup type /packedarraytype eq 2 index type /packedarraytype eq or}{false}ifelse +{ +/proc2 exch cvlit def /proc1 exch cvlit def +proc1 aload pop proc2 aload pop +proc1 length proc2 length add packedarray cvx +} +{ +/proc2 exch cvlit def /proc1 exch cvlit def +/newproc proc1 length proc2 length add array def +newproc 0 proc1 putinterval newproc proc1 length proc2 putinterval +newproc cvx +}ifelse +}bdf +/i{dup 0 eq +{pop df dup} +{dup} ifelse +/clipflatness xdf setflat +}bdf +version cvr 38.0 le +{/setrgbcolor{ +currenttransfer exec 3 1 roll +currenttransfer exec 3 1 roll +currenttransfer exec 3 1 roll +setrgbcolor}bdf}if +/vms {/vmsv save def} bdf +/vmr {vmsv restore} bdf +/vmrs{vmsv restore /vmsv save def}bdf +/eomode{ +{/filler /eofill load def /clipper /eoclip load def} +{/filler /fill load def /clipper /clip load def} +ifelse +}bdf +/normtaper{}bdf +/logtaper{9 mul 1 add log}bdf +/CD{ +/NF exch def +{ +exch dup +/FID ne 1 index/UniqueID ne and +{exch NF 3 1 roll put} +{pop pop} +ifelse +}forall +NF +}bdf +/MN{ +1 index length +/Len exch def +dup length Len add +string dup +Len +4 -1 roll +putinterval +dup +0 +4 -1 roll +putinterval +}bdf +/RC{4 -1 roll /ourvec xdf 256 string cvs(|______)anchorsearch +{1 index MN cvn/NewN exch def cvn +findfont dup maxlength dict CD dup/FontName NewN put dup +/Encoding ourvec put NewN exch definefont pop}{pop}ifelse}bdf +/RF{ +dup +FontDirectory exch +known +{pop 3 -1 roll pop} +{RC} +ifelse +}bdf +/FF{dup 256 string cvs(|______)exch MN cvn dup FontDirectory exch known +{exch pop findfont 3 -1 roll pop} +{pop dup findfont dup maxlength dict CD dup dup +/Encoding exch /Encoding get 256 array copy 7 -1 roll +{3 -1 roll dup 4 -2 roll put}forall put definefont} +ifelse}bdf +/RCJ{4 -1 roll +/ourvec xdf +256 string cvs +(|______) anchorsearch +{pop +cvn +dup FDFJ +exch +1 index +eq +{ +_bfh findfont _efh +dup +maxlength dict +CD +dup +/FontName +3 index +put +dup +/Encoding ourvec put +1 index +exch +definefont +pop +} +{exch pop} +ifelse +} +{pop} +ifelse +}bdf +/RFJ{ +dup +FontDirectory exch +known +{pop 3 -1 roll pop} +{RCJ} +ifelse +}bdf +/hasfont +{ +/resourcestatus where +{ +pop +/Font resourcestatus +{ +pop pop true +} +{ +false +} +ifelse +} +{ +dup FontDirectory exch known +{pop true} +{ +256 string +cvs +(fonts/) exch MN +status +{pop pop pop pop true} +{false} +ifelse +} +ifelse +} +ifelse +}bdf +/FDFJ +{ +dup +hasfont +not +{ +pop +/Ryumin-Light-83pv-RKSJ-H +hasfont +{ +/Ryumin-Light-83pv-RKSJ-H +} +{ +/Courier +} +ifelse +} +if +}bdf +/FFJ{ +_bfh +dup +256 string cvs +(|______)exch MN +cvn +dup +FontDirectory +exch known +{ +exch +pop +findfont +3 -1 roll +pop +} +{ +pop +FDFJ +dup findfont +dup maxlength dict +CD +dup dup +/Encoding exch +/Encoding get +256 array copy +7 -1 roll +{ +3 -1 roll +dup +4 -2 roll +put +}forall +put +definefont +} +ifelse +_efh +}bdf +/GS { +dup +hasfont +{ +findfont +exch makesetfont +exch +pop +ts +} +{ +pop pop pop +ts +} ifelse +} bdf +/RCK{4 -1 roll +/ourvec xdf +256 string cvs +(|______) anchorsearch +{pop +cvn +dup FDFK +exch +1 index +eq +{ +_bfh findfont _efh +dup +maxlength dict +CD +dup +/FontName +3 index +put +dup +/Encoding ourvec put +1 index +exch +definefont +pop +} +{exch pop} +ifelse +} +{pop} +ifelse +}bdf +/RFK{ +dup +FontDirectory exch +known +{pop 3 -1 roll pop} +{RCK} +ifelse +}bdf +/hasfont +{ +/resourcestatus where +{ +pop +/Font resourcestatus +{ +pop pop true +} +{ +false +} +ifelse +} +{ +dup FontDirectory exch known +{pop true} +{ +256 string +cvs +(fonts/) exch MN +status +{pop pop pop pop true} +{false} +ifelse +} +ifelse +} +ifelse +}bdf +/FDFK +{ +dup +hasfont +not +{ +pop +/JCsm +hasfont +{ +/JCsm +} +{ +/Courier +} +ifelse +} +if +}bdf +/FFK{ +_bfh +dup +256 string cvs +(|______)exch MN +cvn +dup +FontDirectory +exch known +{ +exch +pop +findfont +3 -1 roll +pop +} +{ +pop +FDFK +dup findfont +dup maxlength dict +CD +dup dup +/Encoding exch +/Encoding get +256 array copy +7 -1 roll +{ +3 -1 roll +dup +4 -2 roll +put +}forall +put +definefont +} +ifelse +_efh +}bdf +/RCTC{4 -1 roll +/ourvec xdf +256 string cvs +(|______) anchorsearch +{pop +cvn +dup FDFTC +exch +1 index +eq +{ +_bfh findfont _efh +dup +maxlength dict +CD +dup +/FontName +3 index +put +dup +/Encoding ourvec put +1 index +exch +definefont +pop +} +{exch pop} +ifelse +} +{pop} +ifelse +}bdf +/RFTC{ +dup +FontDirectory exch +known +{pop 3 -1 roll pop} +{RCTC} +ifelse +}bdf +/FDFTC +{ +dup +hasfont +not +{ +pop +/DFMing-Lt-HK-BF +hasfont +{ +/DFMing-Lt-HK-BF +} +{ +/Courier +} +ifelse +} +if +}bdf +/FFTC{ +_bfh +dup +256 string cvs +(|______)exch MN +cvn +dup +FontDirectory +exch known +{ +exch +pop +findfont +3 -1 roll +pop +} +{ +pop +FDFTC +dup findfont +dup maxlength dict +CD +dup dup +/Encoding exch +/Encoding get +256 array copy +7 -1 roll +{ +3 -1 roll +dup +4 -2 roll +put +}forall +put +definefont +} +ifelse +_efh +}bdf +/fps{ +currentflat +exch +dup 0 le{pop 1}if +{ +dup setflat 3 index stopped +{1.3 mul dup 3 index gt{pop setflat pop pop stop}if} +{exit} +ifelse +}loop +pop setflat pop pop +}bdf +/fp{100 currentflat fps}bdf +/clipper{clip}bdf +/W{/clipper load 100 clipflatness dup setflat fps}bdf + +userdict begin /BDFontDict 29 dict def end +BDFontDict begin +/bu{}def +/bn{}def +/setTxMode{av 70 ge{pop}if pop}def +/gm{m}def +/show{pop}def +/gr{pop}def +/fnt{pop pop pop}def +/fs{pop}def +/fz{pop}def +/lin{pop pop}def +/:M {pop pop} def +/sf {pop} def +/S {pop} def +/@b {pop pop pop pop pop pop pop pop} def +/_bdsave /save load def +/_bdrestore /restore load def +/save { dup /fontsave eq {null} {_bdsave} ifelse } def +/restore { dup null eq { pop } { _bdrestore } ifelse } def +/fontsave null def +end +/MacVec 256 array def +MacVec 0 /Helvetica findfont +/Encoding get 0 128 getinterval putinterval +MacVec 127 /DEL put MacVec 16#27 /quotesingle put MacVec 16#60 /grave put +/NUL/SOH/STX/ETX/EOT/ENQ/ACK/BEL/BS/HT/LF/VT/FF/CR/SO/SI +/DLE/DC1/DC2/DC3/DC4/NAK/SYN/ETB/CAN/EM/SUB/ESC/FS/GS/RS/US +MacVec 0 32 getinterval astore pop +/Adieresis/Aring/Ccedilla/Eacute/Ntilde/Odieresis/Udieresis/aacute +/agrave/acircumflex/adieresis/atilde/aring/ccedilla/eacute/egrave +/ecircumflex/edieresis/iacute/igrave/icircumflex/idieresis/ntilde/oacute +/ograve/ocircumflex/odieresis/otilde/uacute/ugrave/ucircumflex/udieresis +/dagger/degree/cent/sterling/section/bullet/paragraph/germandbls +/registered/copyright/trademark/acute/dieresis/notequal/AE/Oslash +/infinity/plusminus/lessequal/greaterequal/yen/mu/partialdiff/summation +/product/pi/integral/ordfeminine/ordmasculine/Omega/ae/oslash +/questiondown/exclamdown/logicalnot/radical/florin/approxequal/Delta/guillemotleft +/guillemotright/ellipsis/nbspace/Agrave/Atilde/Otilde/OE/oe +/endash/emdash/quotedblleft/quotedblright/quoteleft/quoteright/divide/lozenge +/ydieresis/Ydieresis/fraction/currency/guilsinglleft/guilsinglright/fi/fl +/daggerdbl/periodcentered/quotesinglbase/quotedblbase +/perthousand/Acircumflex/Ecircumflex/Aacute +/Edieresis/Egrave/Iacute/Icircumflex/Idieresis/Igrave/Oacute/Ocircumflex +/apple/Ograve/Uacute/Ucircumflex/Ugrave/dotlessi/circumflex/tilde +/macron/breve/dotaccent/ring/cedilla/hungarumlaut/ogonek/caron +MacVec 128 128 getinterval astore pop +/findheaderfont { +/Helvetica findfont +} def +end %. AltsysDict +%%EndResource +%%EndProlog + +%%BeginSetup + +AltsysDict begin +_bfh +%%IncludeResource: font Times-Roman + +MacVec 256 array copy + +dup 128 /Adieresis put + +dup 129 /Aring put + +dup 130 /Ccedilla put + +dup 131 /Eacute put + +dup 132 /Ntilde put + +dup 133 /Odieresis put + +dup 134 /Udieresis put + +dup 135 /aacute put + +dup 136 /agrave put + +dup 137 /acircumflex put + +dup 138 /adieresis put + +dup 139 /atilde put + +dup 140 /aring put + +dup 141 /ccedilla put + +dup 142 /eacute put + +dup 143 /egrave put + +dup 144 /ecircumflex put + +dup 145 /edieresis put + +dup 146 /iacute put + +dup 147 /igrave put + +dup 148 /icircumflex put + +dup 149 /idieresis put + +dup 150 /ntilde put + +dup 151 /oacute put + +dup 152 /ograve put + +dup 153 /ocircumflex put + +dup 154 /odieresis put + +dup 155 /otilde put + +dup 156 /uacute put + +dup 157 /ugrave put + +dup 158 /ucircumflex put + +dup 159 /udieresis put + +dup 160 /dagger put + +dup 161 /degree put + +dup 162 /cent put + +dup 163 /sterling put + +dup 164 /section put + +dup 165 /bullet put + +dup 166 /paragraph put + +dup 167 /germandbls put + +dup 168 /registered put + +dup 169 /copyright put + +dup 170 /trademark put + +dup 171 /acute put + +dup 172 /dieresis put + +dup 173 /notequal put + +dup 174 /AE put + +dup 175 /Oslash put + +dup 176 /infinity put + +dup 177 /plusminus put + +dup 178 /lessequal put + +dup 179 /greaterequal put + +dup 180 /yen put + +dup 181 /mu put + +dup 182 /partialdiff put + +dup 183 /summation put + +dup 184 /product put + +dup 185 /pi put + +dup 186 /integral put + +dup 187 /ordfeminine put + +dup 188 /ordmasculine put + +dup 189 /Omega put + +dup 190 /ae put + +dup 191 /oslash put + +dup 192 /questiondown put + +dup 193 /exclamdown put + +dup 194 /logicalnot put + +dup 195 /radical put + +dup 196 /florin put + +dup 197 /approxequal put + +dup 198 /Delta put + +dup 199 /guillemotleft put + +dup 200 /guillemotright put + +dup 201 /ellipsis put + +dup 202 /nobreakspace put + +dup 203 /Agrave put + +dup 204 /Atilde put + +dup 205 /Otilde put + +dup 206 /OE put + +dup 207 /oe put + +dup 208 /endash put + +dup 209 /emdash put + +dup 210 /quotedblleft put + +dup 211 /quotedblright put + +dup 212 /quoteleft put + +dup 213 /quoteright put + +dup 214 /divide put + +dup 215 /lozenge put + +dup 216 /ydieresis put + +dup 217 /Ydieresis put + +dup 218 /fraction put + +dup 219 /Euro put + +dup 220 /guilsinglleft put + +dup 221 /guilsinglright put + +dup 222 /fi put + +dup 223 /fl put + +dup 224 /daggerdbl put + +dup 225 /periodcentered put + +dup 226 /quotesinglbase put + +dup 227 /quotedblbase put + +dup 228 /perthousand put + +dup 229 /Acircumflex put + +dup 230 /Ecircumflex put + +dup 231 /Aacute put + +dup 232 /Edieresis put + +dup 233 /Egrave put + +dup 234 /Iacute put + +dup 235 /Icircumflex put + +dup 236 /Idieresis put + +dup 237 /Igrave put + +dup 238 /Oacute put + +dup 239 /Ocircumflex put + +dup 240 /apple put + +dup 241 /Ograve put + +dup 242 /Uacute put + +dup 243 /Ucircumflex put + +dup 244 /Ugrave put + +dup 245 /dotlessi put + +dup 246 /circumflex put + +dup 247 /tilde put + +dup 248 /macron put + +dup 249 /breve put + +dup 250 /dotaccent put + +dup 251 /ring put + +dup 252 /cedilla put + +dup 253 /hungarumlaut put + +dup 254 /ogonek put + +dup 255 /caron put + +/f0 /|______Times-Roman dup RF findfont def + +_efh +end %. AltsysDict + +%%EndSetup +AltsysDict begin + +/onlyk4{false}ndf +/ccmyk{dup 5 -1 roll sub 0 max exch}ndf +/cmyk2gray{ +4 -1 roll 0.3 mul 4 -1 roll 0.59 mul 4 -1 roll 0.11 mul +add add add 1 min neg 1 add +}bdf +/setcmykcolor{1 exch sub ccmyk ccmyk ccmyk pop setrgbcolor}ndf +/maxcolor { +max max max +} ndf +/maxspot { +pop +} ndf +/setcmykcoloroverprint{4{dup -1 eq{pop 0}if 4 1 roll}repeat setcmykcolor}ndf +/findcmykcustomcolor{5 packedarray}ndf +/setcustomcolor{exch aload pop pop 4{4 index mul 4 1 roll}repeat setcmykcolor pop}ndf +/setseparationgray{setgray}ndf +/setoverprint{pop}ndf +/currentoverprint false ndf +/cmykbufs2gray{ +0 1 2 index length 1 sub +{ +4 index 1 index get 0.3 mul +4 index 2 index get 0.59 mul +4 index 3 index get 0.11 mul +4 index 4 index get +add add add cvi 255 min +255 exch sub +2 index 3 1 roll put +}for +4 1 roll pop pop pop +}bdf +/colorimage{ +pop pop +[ +5 -1 roll/exec cvx +6 -1 roll/exec cvx +7 -1 roll/exec cvx +8 -1 roll/exec cvx +/cmykbufs2gray cvx +]cvx +image +} +%. version 47.1 on Linotronic of Postscript defines colorimage incorrectly (rgb model only) +version cvr 47.1 le +statusdict /product get (Lino) anchorsearch{pop pop true}{pop false}ifelse +and{userdict begin bdf end}{ndf}ifelse +fhnumcolors 1 ne {/yt save def} if +/customcolorimage{ +aload pop +(_vc_Registration) eq +{ +pop pop pop pop separationimage +} +{ +/ik xdf /iy xdf /im xdf /ic xdf +ic im iy ik cmyk2gray /xt xdf +currenttransfer +{dup 1.0 exch sub xt mul add}concatprocs +st +image +} +ifelse +}ndf +fhnumcolors 1 ne {yt restore} if +fhnumcolors 3 ne {/yt save def} if +/customcolorimage{ +aload pop +(_vc_Registration) eq +{ +pop pop pop pop separationimage +} +{ +/ik xdf /iy xdf /im xdf /ic xdf +1.0 dup ic ik add min sub +1.0 dup im ik add min sub +1.0 dup iy ik add min sub +/ic xdf /iy xdf /im xdf +currentcolortransfer +4 1 roll +{dup 1.0 exch sub ic mul add}concatprocs 4 1 roll +{dup 1.0 exch sub iy mul add}concatprocs 4 1 roll +{dup 1.0 exch sub im mul add}concatprocs 4 1 roll +setcolortransfer +{/dummy xdf dummy}concatprocs{dummy}{dummy}true 3 colorimage +} +ifelse +}ndf +fhnumcolors 3 ne {yt restore} if +fhnumcolors 4 ne {/yt save def} if +/customcolorimage{ +aload pop +(_vc_Registration) eq +{ +pop pop pop pop separationimage +} +{ +/ik xdf /iy xdf /im xdf /ic xdf +currentcolortransfer +{1.0 exch sub ik mul ik sub 1 add}concatprocs 4 1 roll +{1.0 exch sub iy mul iy sub 1 add}concatprocs 4 1 roll +{1.0 exch sub im mul im sub 1 add}concatprocs 4 1 roll +{1.0 exch sub ic mul ic sub 1 add}concatprocs 4 1 roll +setcolortransfer +{/dummy xdf dummy}concatprocs{dummy}{dummy}{dummy} +true 4 colorimage +} +ifelse +}ndf +fhnumcolors 4 ne {yt restore} if +/separationimage{image}ndf +/spotascmyk false ndf +/newcmykcustomcolor{6 packedarray}ndf +/inkoverprint false ndf +/setinkoverprint{pop}ndf +/setspotcolor { +spots exch get +dup 4 get (_vc_Registration) eq +{pop 1 exch sub setseparationgray} +{0 5 getinterval exch setcustomcolor} +ifelse +}ndf +/currentcolortransfer{currenttransfer dup dup dup}ndf +/setcolortransfer{st pop pop pop}ndf +/fas{}ndf +/sas{}ndf +/fhsetspreadsize{pop}ndf +/filler{fill}bdf +/F{gsave {filler}fp grestore}bdf +/f{closepath F}bdf +/S{gsave {stroke}fp grestore}bdf +/s{closepath S}bdf +userdict /islevel2 +systemdict /languagelevel known dup +{ +pop systemdict /languagelevel get 2 ge +} if +put +islevel2 not +{ +/currentcmykcolor +{ +0 0 0 1 currentgray sub +} ndf +} if +/tc +{ +gsave +setcmykcolor currentcmykcolor +grestore +} bind def +/testCMYKColorThrough +{ +tc add add add 0 ne +} bind def +/fhiscomposite where not { +userdict /fhiscomposite +islevel2 +{ +gsave 1 1 1 1 setcmykcolor currentcmykcolor grestore +add add add 4 eq +} +{ +1 0 0 0 testCMYKColorThrough +0 1 0 0 testCMYKColorThrough +0 0 1 0 testCMYKColorThrough +0 0 0 1 testCMYKColorThrough +and and and +} ifelse +put +} +{ pop } +ifelse +/bc4 [0 0 0 0] def +/_lfp4 { +1 pop +/yt xdf +/xt xdf +/ang xdf +storerect +/taperfcn xdf +/k2 xdf /y2 xdf /m2 xdf /c2 xdf +/k1 xdf /y1 xdf /m1 xdf /c1 xdf +c1 c2 sub abs +m1 m2 sub abs +y1 y2 sub abs +k1 k2 sub abs +maxcolor +calcgraysteps mul abs round +height abs adjnumsteps +dup 1 lt {pop 1} if +1 sub /numsteps1 xdf +currentflat mark +currentflat clipflatness +/delta top bottom sub numsteps1 1 add div def +/right right left sub def +/botsv top delta sub def +{ +{ +W +xt yt translate +ang rotate +xt neg yt neg translate +dup setflat +/bottom botsv def +0 1 numsteps1 +{ +numsteps1 dup 0 eq {pop pop 0.5} {div} ifelse +taperfcn /frac xdf +bc4 0 c2 c1 sub frac mul c1 add put +bc4 1 m2 m1 sub frac mul m1 add put +bc4 2 y2 y1 sub frac mul y1 add put +bc4 3 k2 k1 sub frac mul k1 add put +bc4 vc +1 index setflat +{ +mark {newpath left bottom right delta rectfill}stopped +{cleartomark exch 1.3 mul dup setflat exch 2 copy gt{stop}if} +{cleartomark exit}ifelse +}loop +/bottom bottom delta sub def +}for +} +gsave stopped grestore +{exch pop 2 index exch 1.3 mul dup 100 gt{cleartomark setflat stop}if} +{exit}ifelse +}loop +cleartomark setflat +}bdf +/bcs [0 0] def +/_lfs4 { +/yt xdf +/xt xdf +/ang xdf +storerect +/taperfcn xdf +/tint2 xdf +/tint1 xdf +bcs exch 1 exch put +tint1 tint2 sub abs +bcs 1 get maxspot +calcgraysteps mul abs round +height abs adjnumsteps +dup 2 lt {pop 2} if +1 sub /numsteps1 xdf +currentflat mark +currentflat clipflatness +/delta top bottom sub numsteps1 1 add div def +/right right left sub def +/botsv top delta sub def +{ +{ +W +xt yt translate +ang rotate +xt neg yt neg translate +dup setflat +/bottom botsv def +0 1 numsteps1 +{ +numsteps1 div taperfcn /frac xdf +bcs 0 +1.0 tint2 tint1 sub frac mul tint1 add sub +put bcs vc +1 index setflat +{ +mark {newpath left bottom right delta rectfill}stopped +{cleartomark exch 1.3 mul dup setflat exch 2 copy gt{stop}if} +{cleartomark exit}ifelse +}loop +/bottom bottom delta sub def +}for +} +gsave stopped grestore +{exch pop 2 index exch 1.3 mul dup 100 gt{cleartomark setflat stop}if} +{exit}ifelse +}loop +cleartomark setflat +}bdf +/_rfs6 { +/tint2 xdf +/tint1 xdf +bcs exch 1 exch put +/inrad xdf +/radius xdf +/yt xdf +/xt xdf +tint1 tint2 sub abs +bcs 1 get maxspot +calcgraysteps mul abs round +radius inrad sub abs +adjnumsteps +dup 1 lt {pop 1} if +1 sub /numsteps1 xdf +radius inrad sub numsteps1 dup 0 eq {pop} {div} ifelse +2 div /halfstep xdf +currentflat mark +currentflat clipflatness +{ +{ +dup setflat +W +0 1 numsteps1 +{ +dup /radindex xdf +numsteps1 dup 0 eq {pop pop 0.5} {div} ifelse +/frac xdf +bcs 0 +tint2 tint1 sub frac mul tint1 add +put bcs vc +1 index setflat +{ +newpath mark +xt yt radius inrad sub 1 frac sub mul halfstep add inrad add 0 360 +{ arc +radindex numsteps1 ne +inrad 0 gt or +{ +xt yt +numsteps1 0 eq +{ inrad } +{ +radindex 1 add numsteps1 div 1 exch sub +radius inrad sub mul halfstep add inrad add +}ifelse +dup xt add yt moveto +360 0 arcn +} if +fill +}stopped +{cleartomark exch 1.3 mul dup setflat exch 2 copy gt{stop}if} +{cleartomark exit}ifelse +}loop +}for +} +gsave stopped grestore +{exch pop 2 index exch 1.3 mul dup 100 gt{cleartomark setflat stop}if} +{exit}ifelse +}loop +cleartomark setflat +}bdf +/_rfp6 { +1 pop +/k2 xdf /y2 xdf /m2 xdf /c2 xdf +/k1 xdf /y1 xdf /m1 xdf /c1 xdf +/inrad xdf +/radius xdf +/yt xdf +/xt xdf +c1 c2 sub abs +m1 m2 sub abs +y1 y2 sub abs +k1 k2 sub abs +maxcolor +calcgraysteps mul abs round +radius inrad sub abs +adjnumsteps +dup 1 lt {pop 1} if +1 sub /numsteps1 xdf +radius inrad sub numsteps1 dup 0 eq {pop} {div} ifelse +2 div /halfstep xdf +currentflat mark +currentflat clipflatness +{ +{ +dup setflat +W +0 1 numsteps1 +{ +dup /radindex xdf +numsteps1 dup 0 eq {pop pop 0.5} {div} ifelse +/frac xdf +bc4 0 c2 c1 sub frac mul c1 add put +bc4 1 m2 m1 sub frac mul m1 add put +bc4 2 y2 y1 sub frac mul y1 add put +bc4 3 k2 k1 sub frac mul k1 add put +bc4 vc +1 index setflat +{ +newpath mark +xt yt radius inrad sub 1 frac sub mul halfstep add inrad add 0 360 +{ arc +radindex numsteps1 ne +inrad 0 gt or +{ +xt yt +numsteps1 0 eq +{ inrad } +{ +radindex 1 add numsteps1 div 1 exch sub +radius inrad sub mul halfstep add inrad add +}ifelse +dup xt add yt moveto +360 0 arcn +} if +fill +}stopped +{cleartomark exch 1.3 mul dup setflat exch 2 copy gt{stop}if} +{cleartomark exit}ifelse +}loop +}for +} +gsave stopped grestore +{exch pop 2 index exch 1.3 mul dup 100 gt{cleartomark setflat stop}if} +{exit}ifelse +}loop +cleartomark setflat +}bdf +/lfp4{_lfp4}ndf +/lfs4{_lfs4}ndf +/rfs6{_rfs6}ndf +/rfp6{_rfp6}ndf +/cvc [0 0 0 1] def +/vc{ +AltsysDict /cvc 2 index put +aload length dup 4 eq +{pop dup -1 eq{pop setrgbcolor}{setcmykcolor}ifelse} +{6 eq {sethexcolor} {setspotcolor} ifelse } +ifelse +}bdf +0 setseparationgray +/imgr {1692 1584 2287.28 2425.89 } def +/bleed 0 def +/clpr {1692 1584 2287.28 2425.89 } def +/xs 1 def +/ys 1 def +/botx 0 def +/overlap 0 def +/wdist 18 def +0 2 mul fhsetspreadsize +0 0 ne {/df 0 def /clipflatness 0 def} if +/maxsteps 256 def +/forcemaxsteps false def +/minsteps 0 def + +userdict begin /AGDOrigMtx matrix currentmatrix def end +vms +-1814 -1852 translate + +/currentpacking defed{false setpacking}if +/spots[ + +1 0 0 0 (Process Cyan) false newcmykcustomcolor + +0 1 0 0 (Process Magenta) false newcmykcustomcolor + +0 0 1 0 (Process Yellow) false newcmykcustomcolor + +0 0 0 1 (Process Black) false newcmykcustomcolor + +1 0.38 0 0.69 (PANTONE 2965 CVC) false newcmykcustomcolor + +0 0.43 0.87 0 (PANTONE 151 CVC) false newcmykcustomcolor + +0 0.275 0.76 0 (PANTONE 1235 CVC) false newcmykcustomcolor + +0 0.79 0.94 0 (PANTONE 179 CVC) false newcmykcustomcolor + +0.7613 0.5271 0.6244 0.7124 (0r 43g 61b) false newcmykcustomcolor + +0.0017 0.7251 0.8508 0 (244r 72g 0b) false newcmykcustomcolor + +0.0032 0.4248 0.8274 0 (251r 139g 0b) false newcmykcustomcolor + +0.0176 0.9327 0.9184 0 (212r 0g 0b) false newcmykcustomcolor +]def + +/textopf false def +/curtextmtx{}def +/otw .25 def +/msf{dup/curtextmtx xdf makefont setfont}bdf +/makesetfont/msf load def +/curtextheight{.707104 .707104 curtextmtx dtransform +dup mul exch dup mul add sqrt}bdf +/ta2{ +tempstr 2 index gsave exec grestore +cwidth cheight rmoveto +4 index eq{5 index 5 index rmoveto}if +2 index 2 index rmoveto +}bdf +/ta{exch systemdict/cshow known +{{/cheight xdf/cwidth xdf tempstr 0 2 index put ta2}exch cshow} +{{tempstr 0 2 index put tempstr stringwidth/cheight xdf/cwidth xdf ta2}forall} +ifelse 6{pop}repeat}bdf +/sts{/textopf currentoverprint def vc setoverprint +/ts{awidthshow}def exec textopf setoverprint}bdf +/stol{/xt currentlinewidth def +setlinewidth vc newpath +/ts{{false charpath stroke}ta}def exec +xt setlinewidth}bdf +/strk{/textopf currentoverprint def vc setoverprint +/ts{{false charpath stroke}ta}def exec +textopf setoverprint +}bdf +/cvtr {1 exch sub 3 1 roll} def +/vr { +[ 3 index 3 index 3 index cvtr cvtr cvtr 0 ] +fhiscomposite not {vc pop pop pop}{pop setrgbcolor}ifelse +} def +/vc {AltsysDict /cvc 2 index put aload length dup 4 eq +{pop dup -0.2 ge {setcmykcolor} {pop vr} ifelse} +{6 eq {sethexcolor} {setspotcolor} ifelse} ifelse +} bdf +n +[] 0 d +3.863708 M +1 w +0 j +0 J +false setoverprint +0 i +false eomode +[0 0 0 1]vc +vms +2128.893 1905.8496 m +2128.893 1907.8711 2129.3485 1909.3749 2130.2616 1910.3621 C +2131.1735 1911.3723 2132.3814 1911.8773 2133.8864 1911.8785 C +2135.4144 1911.8785 2136.6477 1911.3723 2137.585 1910.3621 C +2138.5213 1909.3506 2138.9894 1907.8469 2138.9906 1905.8496 C +2138.9907 1892.7135 L +2138.9907 1888.9829 2139.2467 1886.3861 2139.7588 1884.9232 C +2140.2708 1883.4842 2141.0869 1882.363 2142.2092 1881.5583 C +2143.3545 1880.7536 2144.7569 1880.3514 2146.4153 1880.3514 C +2148.0726 1880.3514 2149.475 1880.7411 2150.6214 1881.5218 C +2151.7917 1882.3264 2152.657 1883.4968 2153.2182 1885.0329 C +2153.6319 1886.1781 2153.8388 1888.6286 2153.84 1892.3844 C +2153.84 1905.8963 L +2153.84 1907.9022 2154.294 1909.3943 2155.2 1910.3738 C +2156.1049 1911.3762 2157.3034 1911.8773 2158.7968 1911.8785 C +2160.3129 1911.8785 2161.5367 1911.3762 2162.4667 1910.3738 C +2163.3957 1909.3702 2163.8602 1907.8781 2163.8613 1905.8963 C +2163.8613 1895.0177 L +2163.8613 1888.0686 2163.3126 1883.3139 2162.2155 1880.7536 C +2160.8736 1877.6323 2158.8986 1875.2309 2156.2904 1873.5485 C +2153.6811 1871.8913 2150.3654 1871.0626 2146.3421 1871.0615 C +2141.9772 1871.0615 2138.4421 1872.0376 2135.7356 1873.9874 C +2133.0531 1875.9372 2131.1637 1878.6564 2130.0666 1882.1435 C +2129.286 1884.5574 2128.8962 1888.9463 2128.8962 1895.3103 C +2128.893 1905.8496 L +[1 8]vc +f +n +2051.3528 1877.0904 m +2051.3528 1875.0688 2051.8082 1873.565 2052.7214 1872.5779 C +2053.6333 1871.5677 2054.8412 1871.0626 2056.3462 1871.0615 C +2057.8742 1871.0615 2059.1075 1871.5677 2060.0448 1872.5779 C +2060.9811 1873.5893 2061.4492 1875.0931 2061.4503 1877.0904 C +2061.4505 1890.2265 L +2061.4505 1893.957 2061.7065 1896.5539 2062.2186 1898.0168 C +2062.7305 1899.4557 2063.5466 1900.577 2064.669 1901.3817 C +2065.8143 1902.1863 2067.2167 1902.5886 2068.8751 1902.5886 C +2070.5323 1902.5886 2071.9347 1902.1988 2073.0811 1901.4182 C +2074.2515 1900.6135 2075.1167 1899.4432 2075.6779 1897.9071 C +2076.0917 1896.7618 2076.2986 1894.3114 2076.2997 1890.5556 C +2076.2997 1877.0436 L +2076.2997 1875.0378 2076.7538 1873.5457 2077.6598 1872.5662 C +2078.5647 1871.5638 2079.7632 1871.0626 2081.2565 1871.0615 C +2082.7726 1871.0615 2083.9964 1871.5638 2084.9265 1872.5662 C +2085.8555 1873.5697 2086.32 1875.0618 2086.3211 1877.0436 C +2086.3211 1887.9223 L +2086.3211 1894.8714 2085.7724 1899.6261 2084.6753 1902.1863 C +2083.3334 1905.3076 2081.3584 1907.7091 2078.7502 1909.3915 C +2076.1408 1911.0486 2072.8251 1911.8773 2068.8019 1911.8785 C +2064.437 1911.8785 2060.9018 1910.9024 2058.1954 1908.9526 C +2055.5128 1907.0027 2053.6235 1904.2836 2052.5264 1900.7965 C +2051.7457 1898.3826 2051.3559 1893.9936 2051.3559 1887.6297 C +2051.3528 1877.0904 L +f +n +2005.6404 1905.8496 m +2005.6404 1907.8711 2006.0959 1909.3749 2007.0089 1910.3621 C +2007.9209 1911.3723 2009.1288 1911.8773 2010.6338 1911.8785 C +2012.1618 1911.8785 2013.3951 1911.3723 2014.3324 1910.3621 C +2015.2686 1909.3506 2015.7368 1907.8469 2015.7379 1905.8496 C +2015.7381 1892.7135 L +2015.7381 1888.9829 2015.9941 1886.3861 2016.5061 1884.9232 C +2017.0182 1883.4842 2017.8342 1882.363 2018.9566 1881.5583 C +2020.1019 1880.7536 2021.5043 1880.3514 2023.1627 1880.3514 C +2024.8199 1880.3514 2026.2224 1880.7411 2027.3687 1881.5218 C +2028.5391 1882.3264 2029.4044 1883.4968 2029.9655 1885.0329 C +2030.3793 1886.1781 2030.5862 1888.6286 2030.5873 1892.3844 C +2030.5873 1905.8963 L +2030.5873 1907.9022 2031.0414 1909.3943 2031.9474 1910.3738 C +2032.8523 1911.3762 2034.0508 1911.8773 2035.5441 1911.8785 C +2037.0603 1911.8785 2038.284 1911.3762 2039.2141 1910.3738 C +2040.1431 1909.3702 2040.6076 1907.8781 2040.6087 1905.8963 C +2040.6087 1895.0177 L +2040.6087 1888.0686 2040.06 1883.3139 2038.9628 1880.7536 C +2037.621 1877.6323 2035.646 1875.2309 2033.0378 1873.5485 C +2030.4285 1871.8913 2027.1127 1871.0626 2023.0895 1871.0615 C +2018.7246 1871.0615 2015.1894 1872.0376 2012.483 1873.9874 C +2009.8004 1875.9372 2007.9111 1878.6564 2006.8139 1882.1435 C +2006.0333 1884.5574 2005.6435 1888.9463 2005.6435 1895.3103 C +2005.6404 1905.8496 L +f +n +1915.1827 1905.8496 m +1915.1827 1907.8711 1915.6381 1909.3749 1916.5513 1910.3621 C +1917.4632 1911.3723 1918.6711 1911.8773 1920.1761 1911.8785 C +1921.7041 1911.8785 1922.9374 1911.3723 1923.8747 1910.3621 C +1924.8032 1909.359 1925.2717 1907.8691 1925.2804 1905.8963 C +1925.2804 1892.7135 L +1925.2804 1888.9829 1925.5365 1886.3861 1926.0485 1884.9232 C +1926.5605 1883.4842 1927.3766 1882.363 1928.499 1881.5583 C +1929.6442 1880.7536 1931.0466 1880.3514 1932.705 1880.3514 C +1934.3623 1880.3514 1935.7648 1880.7411 1936.9111 1881.5218 C +1938.0815 1882.3264 1938.9467 1883.4968 1939.5079 1885.0329 C +1939.9216 1886.1781 1940.1285 1888.6286 1940.1297 1892.3844 C +1940.1297 1905.8963 L +1940.1297 1907.9022 1940.5837 1909.3943 1941.4897 1910.3738 C +1942.3946 1911.3762 1943.5931 1911.8773 1945.0865 1911.8785 C +1946.6026 1911.8785 1947.8264 1911.3762 1948.7564 1910.3738 C +1949.6854 1909.3702 1950.1499 1907.8781 1950.1511 1905.8963 C +1950.1511 1895.0177 L +1950.1511 1888.0686 1949.6024 1883.3139 1948.5052 1880.7536 C +1947.1634 1877.6323 1945.1884 1875.2309 1942.5802 1873.5485 C +1939.9708 1871.8913 1936.6551 1871.0626 1932.6319 1871.0615 C +1928.267 1871.0615 1924.7318 1872.0376 1922.0253 1873.9874 C +1919.3428 1875.9372 1917.4535 1878.6564 1916.3563 1882.1435 C +1915.5757 1884.5574 1915.1859 1888.9463 1915.1859 1895.3103 C +1915.1827 1905.8496 L +f +n +1993.9827 1902.2 m +1993.8492 1902.5104 1993.7095 1902.8138 1993.5635 1903.1099 C +1993.7937 1902.6334 1994.0099 1902.1336 1994.2111 1901.6129 C +1994.1378 1901.8199 1994.0617 1902.0157 1993.9827 1902.2 C +h +1960.7218 1891.3504 m +1960.7401 1891.9473 L +1960.728 1892.0029 1960.7218 1892.0698 1960.7218 1892.1483 C +1960.7218 1919.103 L +1960.7218 1920.7548 1960.7593 1922.043 1960.8343 1922.9698 C +1960.9341 1923.92 1961.184 1924.7331 1961.5852 1925.41 C +1961.9853 1926.1104 1962.5602 1926.6736 1963.3122 1927.0994 C +1964.063 1927.5499 1964.9007 1927.7752 1965.8275 1927.7752 C +1967.1285 1927.7752 1968.3041 1927.2872 1969.3564 1926.3111 C +1970.0568 1925.6599 1970.4944 1924.8586 1970.6704 1923.9084 C +1970.8698 1922.9815 1970.9696 1921.6558 1970.9707 1919.9289 C +1970.9707 1909.5858 L +1973.0339 1910.33 1975.2146 1911.8922 1979.4646 1911.8922 C +1983.4878 1911.891 1985.4482 1911.0623 1988.0576 1909.4052 C +1989.4388 1908.5143 1990.6424 1907.4217 1991.6685 1906.1274 C +1992.3873 1905.2206 1993.019 1904.2148 1993.5635 1903.1099 C +1993.7095 1902.8138 1993.8492 1902.5104 1993.9827 1902.2 C +1994.0617 1902.0157 1994.1378 1901.8199 1994.2111 1901.6129 C +1995.3155 1898.7539 1995.9646 1895.262 1995.9646 1891.492 C +1995.9646 1887.7899 1995.3387 1884.3558 1994.2703 1881.5261 C +1994.179 1881.2548 1994.0831 1881.0018 1993.9827 1880.7673 C +1993.6956 1880.0997 1993.3797 1879.4651 1993.0348 1878.8634 C +1992.7521 1878.3702 1992.4499 1877.8991 1992.1283 1877.4501 C +1991.0077 1875.8858 1989.6508 1874.5899 1988.0576 1873.5622 C +1985.4483 1871.905 1982.1326 1871.0763 1978.1094 1871.0752 C +1973.7444 1871.0752 1970.2093 1872.0513 1967.5028 1874.0011 C +1964.8202 1875.9509 1962.931 1878.6701 1961.8337 1882.1572 C +1961.2277 1884.0313 1960.8572 1887.0956 1960.7218 1891.3504 C +h +1982.7773 1880.5401 m +1983.7382 1881.2007 1984.5122 1882.0854 1985.0996 1883.1942 C +1985.1853 1883.2912 1985.2564 1883.3973 1985.3116 1883.5128 C +1986.3624 1885.7106 1986.986 1888.4515 1986.986 1891.4236 C +1986.986 1894.2923 1986.4051 1896.9456 1985.4197 1899.1031 C +1984.8047 1900.5301 1983.9242 1901.6378 1982.7773 1902.4262 C +1981.5163 1903.285 1979.9737 1903.7137 1978.1507 1903.7137 C +1976.3265 1903.7137 1974.7837 1903.2712 1973.5239 1902.3861 C +1972.2894 1901.501 1971.3916 1900.2676 1970.8284 1898.6847 C +1970.3993 1897.4587 1970.1336 1895.5088 1970.0314 1892.835 C +1969.9887 1888.695 1970.2704 1885.8761 1970.8284 1884.2816 C +1971.3917 1882.6988 1972.2894 1881.4654 1973.5239 1880.5803 C +1974.7837 1879.6951 1976.3264 1879.2527 1978.1507 1879.2527 C +1979.9737 1879.2527 1981.5164 1879.6814 1982.7773 1880.5401 C +f +n +2098.4125 1911.8223 m +2099.5385 1911.8223 L +2099.5385 1917.9778 L +2099.5385 1919.6292 2099.576 1920.9171 2099.651 1921.8436 C +2099.7507 1922.7937 2100.0006 1923.6065 2100.4017 1924.2833 C +2100.8017 1924.9836 2101.3764 1925.5465 2102.1282 1925.9723 C +2102.8789 1926.4227 2103.7164 1926.6479 2104.6429 1926.6479 C +2105.9437 1926.6479 2107.119 1926.16 2108.1711 1925.1841 C +2108.8713 1924.5331 2109.3088 1923.732 2109.4847 1922.782 C +2109.6841 1921.8554 2109.7838 1920.53 2109.785 1918.8034 C +2109.785 1911.8223 L +2113.5383 1911.8223 L +2114.9891 1911.8223 2116.0893 1911.4716 2116.8412 1910.7714 C +2117.6165 1910.0958 2118.0035 1909.2196 2118.0047 1908.1441 C +2118.0047 1906.7671 2117.4535 1905.8041 2116.3532 1905.254 C +2115.2765 1904.7027 2113.726 1904.4283 2111.6992 1904.4283 C +2109.785 1904.4283 L +2109.785 1885.5867 L +2109.785 1883.9845 2109.8343 1882.7459 2109.9351 1881.8709 C +2110.0594 1881.0194 2110.3597 1880.3192 2110.8359 1879.7691 C +2111.3356 1879.2437 2112.1367 1878.9809 2113.2381 1878.9809 C +2113.8386 1878.9809 2114.6514 1879.0806 2115.6777 1879.2811 C +2116.7027 1879.5063 2117.5039 1879.619 2118.0797 1879.619 C +2118.9055 1879.619 2119.6433 1879.2811 2120.2942 1878.6055 C +2120.9698 1877.9546 2121.3077 1877.1418 2121.3077 1876.1659 C +2121.3077 1874.5145 2120.4068 1873.2501 2118.6052 1872.3751 C +2116.8036 1871.5002 2114.2138 1871.0626 2110.8359 1871.0615 C +2107.6327 1871.0615 2105.2059 1871.5999 2103.5545 1872.6754 C +2101.9031 1873.7509 2100.8146 1875.2393 2100.2891 1877.1418 C +2099.7883 1879.043 2099.5385 1881.5824 2099.5385 1884.761 C +2099.5385 1904.4283 L +2098.1873 1904.4283 L +2096.7106 1904.4283 2095.5846 1904.7778 2094.8093 1905.4792 C +2094.0328 1906.1794 2093.6457 1907.0674 2093.6457 1908.1441 C +2093.6457 1909.2196 2094.0457 1910.0946 2094.8468 1910.7714 C +2095.6726 1911.4716 2096.8607 1911.8211 2098.4125 1911.8223 C +f +n +1852.0814 1911.8957 m +1845.3927 1923.481 L +1852.1698 1926.8292 1859.6151 1927.6405 1866.58 1926.2224 C +1866.0716 1921.8327 1868.1492 1917.3564 1872.2197 1915.0062 C +1876.292 1912.655 1881.2098 1913.0953 1884.7576 1915.7334 C +1886.1928 1914.1068 1887.4884 1912.314 1888.6149 1910.3629 C +1891.1162 1906.0305 1892.525 1901.3674 1892.9266 1896.6923 C +1879.497 1896.7616 L +1878.6421 1902.4962 1875.2744 1907.8009 1869.8629 1910.9253 C +1864.2161 1914.1854 1857.6261 1914.3312 1852.0814 1911.8957 C +[1 9]vc +f +n +1840.5879 1867.0926 m +1836.9425 1869.7351 1833.7812 1873.1693 1831.3845 1877.3204 C +1830.2174 1879.342 1829.2881 1881.4356 1828.588 1883.5688 C +1829.9402 1884.5016 1831.1115 1885.7419 1831.9875 1887.2592 C +1835.0745 1892.606 1833.3492 1899.4107 1828.1554 1902.6578 C +1830.1084 1909.7134 1834.3927 1916.1275 1840.6716 1920.644 C +1847.3968 1908.9957 L +1845.6655 1907.5515 1844.1547 1905.7834 1842.9617 1903.7171 C +1838.1019 1895.2996 1840.1625 1884.7859 1847.378 1878.7638 C +1840.5879 1867.0926 L +[1 10]vc +f +n +1866.7063 1861.4781 m +1859.4051 1859.9638 1851.8572 1860.9966 1845.3021 1864.2444 C +1852.0574 1875.8558 L +1861.1428 1871.8286 1871.9901 1875.2237 1877.071 1884.0242 C +1878.3981 1886.3227 1879.2091 1888.7774 1879.5402 1891.2544 C +1892.9379 1891.1851 L +1892.3168 1883.5676 1889.0665 1876.2571 1883.5665 1870.6698 C +1878.14 1873.6264 1871.3159 1871.7284 1868.2086 1866.3465 C +1867.3185 1864.8048 1866.8285 1863.142 1866.7063 1861.4781 C +[1 11]vc +f +n +1871.3429 1864.5363 m +1873.498 1868.2691 1878.2711 1869.548 1882.0039 1867.3929 C +1885.7367 1865.2377 1887.0157 1860.4646 1884.8605 1856.7318 C +1882.7054 1852.999 1877.9323 1851.7201 1874.1995 1853.8752 C +1870.4667 1856.0304 1869.1878 1860.8035 1871.3429 1864.5363 C +[1 10]vc +f +n +1871.1709 1928.8038 m +1873.326 1932.5367 1878.099 1933.8156 1881.8318 1931.6604 C +1885.5647 1929.5052 1886.8436 1924.7321 1884.6885 1920.9993 C +1882.5333 1917.2665 1877.7603 1915.9876 1874.0275 1918.1428 C +1870.2946 1920.298 1869.0157 1925.071 1871.1709 1928.8038 C +[1 11]vc +f +n +1815.3322 1896.8786 m +1817.4873 1900.6114 1822.2603 1901.8904 1825.9932 1899.7352 C +1829.726 1897.58 1831.005 1892.8069 1828.8498 1889.0741 C +1826.6947 1885.3412 1821.9216 1884.0624 1818.1888 1886.2175 C +1814.4559 1888.3727 1813.177 1893.1458 1815.3322 1896.8786 C +[1 9]vc +f +n +vmrs +vmr +vmr +end +%%Trailer + +%%EndDocument + +% Start of EPS cleanup +count op_count sub {pop} repeat +countdictstack dict_count sub {end} repeat +b4_Inc_state restore +% End of EPS cleanup +40 646 moveto (Grayscale) show +% grayscale bar +save +/x 40 def +/y 608 def +/width_each 48 def +/height 36 def +/temp 10 string def +/setproc { 1 exch sub setgray } def +/towhite { 6 gt } def +0 setlinewidth +0 1 10 { + /i exch def + newpath + x i width_each mul add y moveto % bottom left + 0 height rlineto % to top left + width_each 0 rlineto % to top right + 0 height neg rlineto % to bottom right + closepath % back to bottom left + gsave + i 10 div setproc + fill + grestore + stroke + i 10 mul temp cvs length % multiply by 10 to get percentage + temp exch + 2 copy (%) putinterval % add percent sign + 0 exch 1 add getinterval % reduce to string + /str exch def + x % base x + i width_each mul add % plus offset to start of block + width_each 2 div add % plus half a block + str stringwidth pop 2 div sub % plus half the string width + y 5 add moveto + gsave + i towhite { 1.0 setgray } if + str show + grestore + } for +restore +40 583 moveto (Red) show +% grayscale bar +save +/x 40 def +/y 545 def +/width_each 48 def +/height 36 def +/temp 10 string def +/setproc { 0 0 setrgbcolor } def +/towhite { 6 lt } def +0 setlinewidth +0 1 10 { + /i exch def + newpath + x i width_each mul add y moveto % bottom left + 0 height rlineto % to top left + width_each 0 rlineto % to top right + 0 height neg rlineto % to bottom right + closepath % back to bottom left + gsave + i 10 div setproc + fill + grestore + stroke + i 10 mul temp cvs length % multiply by 10 to get percentage + temp exch + 2 copy (%) putinterval % add percent sign + 0 exch 1 add getinterval % reduce to string + /str exch def + x % base x + i width_each mul add % plus offset to start of block + width_each 2 div add % plus half a block + str stringwidth pop 2 div sub % plus half the string width + y 5 add moveto + gsave + i towhite { 1.0 setgray } if + str show + grestore + } for +restore +40 535 moveto (Green) show +% grayscale bar +save +/x 40 def +/y 497 def +/width_each 48 def +/height 36 def +/temp 10 string def +/setproc { 0 0 3 1 roll setrgbcolor } def +/towhite { 6 lt } def +0 setlinewidth +0 1 10 { + /i exch def + newpath + x i width_each mul add y moveto % bottom left + 0 height rlineto % to top left + width_each 0 rlineto % to top right + 0 height neg rlineto % to bottom right + closepath % back to bottom left + gsave + i 10 div setproc + fill + grestore + stroke + i 10 mul temp cvs length % multiply by 10 to get percentage + temp exch + 2 copy (%) putinterval % add percent sign + 0 exch 1 add getinterval % reduce to string + /str exch def + x % base x + i width_each mul add % plus offset to start of block + width_each 2 div add % plus half a block + str stringwidth pop 2 div sub % plus half the string width + y 5 add moveto + gsave + i towhite { 1.0 setgray } if + str show + grestore + } for +restore +40 487 moveto (Blue) show +% grayscale bar +save +/x 40 def +/y 449 def +/width_each 48 def +/height 36 def +/temp 10 string def +/setproc { 0 0 3 2 roll setrgbcolor } def +/towhite { pop true } def +0 setlinewidth +0 1 10 { + /i exch def + newpath + x i width_each mul add y moveto % bottom left + 0 height rlineto % to top left + width_each 0 rlineto % to top right + 0 height neg rlineto % to bottom right + closepath % back to bottom left + gsave + i 10 div setproc + fill + grestore + stroke + i 10 mul temp cvs length % multiply by 10 to get percentage + temp exch + 2 copy (%) putinterval % add percent sign + 0 exch 1 add getinterval % reduce to string + /str exch def + x % base x + i width_each mul add % plus offset to start of block + width_each 2 div add % plus half a block + str stringwidth pop 2 div sub % plus half the string width + y 5 add moveto + gsave + i towhite { 1.0 setgray } if + str show + grestore + } for +restore +40 424 moveto (Cyan) show +% grayscale bar +save +/x 40 def +/y 386 def +/width_each 48 def +/height 36 def +/temp 10 string def +/setproc { 0 0 0 setcmykcolor } def +/towhite { pop false } def +0 setlinewidth +0 1 10 { + /i exch def + newpath + x i width_each mul add y moveto % bottom left + 0 height rlineto % to top left + width_each 0 rlineto % to top right + 0 height neg rlineto % to bottom right + closepath % back to bottom left + gsave + i 10 div setproc + fill + grestore + stroke + i 10 mul temp cvs length % multiply by 10 to get percentage + temp exch + 2 copy (%) putinterval % add percent sign + 0 exch 1 add getinterval % reduce to string + /str exch def + x % base x + i width_each mul add % plus offset to start of block + width_each 2 div add % plus half a block + str stringwidth pop 2 div sub % plus half the string width + y 5 add moveto + gsave + i towhite { 1.0 setgray } if + str show + grestore + } for +restore +40 376 moveto (Magenta) show +% grayscale bar +save +/x 40 def +/y 338 def +/width_each 48 def +/height 36 def +/temp 10 string def +/setproc { 0 0 0 4 1 roll setcmykcolor } def +/towhite { pop false } def +0 setlinewidth +0 1 10 { + /i exch def + newpath + x i width_each mul add y moveto % bottom left + 0 height rlineto % to top left + width_each 0 rlineto % to top right + 0 height neg rlineto % to bottom right + closepath % back to bottom left + gsave + i 10 div setproc + fill + grestore + stroke + i 10 mul temp cvs length % multiply by 10 to get percentage + temp exch + 2 copy (%) putinterval % add percent sign + 0 exch 1 add getinterval % reduce to string + /str exch def + x % base x + i width_each mul add % plus offset to start of block + width_each 2 div add % plus half a block + str stringwidth pop 2 div sub % plus half the string width + y 5 add moveto + gsave + i towhite { 1.0 setgray } if + str show + grestore + } for +restore +40 328 moveto (Yellow) show +% grayscale bar +save +/x 40 def +/y 290 def +/width_each 48 def +/height 36 def +/temp 10 string def +/setproc { 0 0 0 4 2 roll setcmykcolor } def +/towhite { pop false } def +0 setlinewidth +0 1 10 { + /i exch def + newpath + x i width_each mul add y moveto % bottom left + 0 height rlineto % to top left + width_each 0 rlineto % to top right + 0 height neg rlineto % to bottom right + closepath % back to bottom left + gsave + i 10 div setproc + fill + grestore + stroke + i 10 mul temp cvs length % multiply by 10 to get percentage + temp exch + 2 copy (%) putinterval % add percent sign + 0 exch 1 add getinterval % reduce to string + /str exch def + x % base x + i width_each mul add % plus offset to start of block + width_each 2 div add % plus half a block + str stringwidth pop 2 div sub % plus half the string width + y 5 add moveto + gsave + i towhite { 1.0 setgray } if + str show + grestore + } for +restore +40 280 moveto (Black) show +% grayscale bar +save +/x 40 def +/y 242 def +/width_each 48 def +/height 36 def +/temp 10 string def +/setproc { 0 0 0 4 3 roll setcmykcolor } def +/towhite { 6 gt } def +0 setlinewidth +0 1 10 { + /i exch def + newpath + x i width_each mul add y moveto % bottom left + 0 height rlineto % to top left + width_each 0 rlineto % to top right + 0 height neg rlineto % to bottom right + closepath % back to bottom left + gsave + i 10 div setproc + fill + grestore + stroke + i 10 mul temp cvs length % multiply by 10 to get percentage + temp exch + 2 copy (%) putinterval % add percent sign + 0 exch 1 add getinterval % reduce to string + /str exch def + x % base x + i width_each mul add % plus offset to start of block + width_each 2 div add % plus half a block + str stringwidth pop 2 div sub % plus half the string width + y 5 add moveto + gsave + i towhite { 1.0 setgray } if + str show + grestore + } for +restore +40 40 moveto +statusdict begin + (Product: ) show product show + ( Version: ) show version 10 string cvs show + ( Revision: ) show revision 10 string cvs show +end +% End of page +restore +showpage +%%Trailer +end +%%EOF --- system-config-printer-1.1.3+git20090218.orig/debian/patches/45_fix-right-click-menu-shared-command.patch +++ system-config-printer-1.1.3+git20090218/debian/patches/45_fix-right-click-menu-shared-command.patch @@ -0,0 +1,13 @@ +diff -Nur -x '*.orig' -x '*~' system-config-printer-1.1.3+git20090218/system-config-printer.py system-config-printer-1.1.3+git20090218.new/system-config-printer.py +--- system-config-printer-1.1.3+git20090218/system-config-printer.py 2009-03-18 23:03:44.000000000 +0100 ++++ system-config-printer-1.1.3+git20090218.new/system-config-printer.py 2009-03-18 23:04:09.000000000 +0100 +@@ -3059,7 +3059,8 @@ + for i in range (len (paths)): + iter = model.get_iter (paths[i]) + printer = model.get_value (iter, 0) +- self.cups._begin_operation (_("modifying printer %s") % name) ++ self.cups._begin_operation (_("modifying printer %s") % ++ printer.name) + try: + printer.setShared (share) + success = True --- system-config-printer-1.1.3+git20090218.orig/debian/patches/02_install_layout.patch +++ system-config-printer-1.1.3+git20090218/debian/patches/02_install_layout.patch @@ -0,0 +1,24 @@ +# Description: install with --install-layout=deb +--- system-config-printer-1.1.3+git20090218/Makefile.am 2009-03-04 23:53:14.000000000 +0100 ++++ system-config-printer-1.1.3+git20090218.new/Makefile.am 2009-03-04 23:54:24.494651763 +0100 +@@ -35,7 +35,7 @@ + + # Use distutils to install the module. + install-exec-local: .stamp-distutils-in-builddir +- $(PYTHON) setup.py install --prefix=$(DESTDIR)$(prefix) ++ $(PYTHON) setup.py install --install-layout=deb --root=$(DESTDIR) + + # Uninstall the module, crossing our fingers that we know enough + # about how distutils works to do this. Unfortunately, distutils +diff -Nur -x '*.orig' -x '*~' system-config-printer-1.1.3+git20090218/Makefile.in system-config-printer-1.1.3+git20090218.new/Makefile.in +--- system-config-printer-1.1.3+git20090218/Makefile.in 2009-03-04 23:53:14.000000000 +0100 ++++ system-config-printer-1.1.3+git20090218.new/Makefile.in 2009-03-04 23:54:35.096473509 +0100 +@@ -1041,7 +1041,7 @@ + + # Use distutils to install the module. + install-exec-local: .stamp-distutils-in-builddir +- $(PYTHON) setup.py install --prefix=$(DESTDIR)$(prefix) ++ $(PYTHON) setup.py install --install-layout=deb --root=$(DESTDIR) + + # Uninstall the module, crossing our fingers that we know enough + # about how distutils works to do this. Unfortunately, distutils --- system-config-printer-1.1.3+git20090218.orig/debian/patches/25_enable-hplip-plugin-support.patch +++ system-config-printer-1.1.3+git20090218/debian/patches/25_enable-hplip-plugin-support.patch @@ -0,0 +1,12 @@ +diff -Nur -x '*.orig' -x '*~' system-config-printer-1.1.3+git20090217/system-config-printer.py system-config-printer-1.1.3+git20090217.new/system-config-printer.py +--- system-config-printer-1.1.3+git20090217/system-config-printer.py 2009-02-18 05:23:19.000000000 +0100 ++++ system-config-printer-1.1.3+git20090217.new/system-config-printer.py 2009-02-18 05:23:50.000000000 +0100 +@@ -3436,7 +3436,7 @@ + } + + DOWNLOADABLE_ONLYPPD=True +- HP_PLUGIN_SUPPORT=False ++ HP_PLUGIN_SUPPORT=True + + def __init__(self, mainapp): + self.mainapp = mainapp --- system-config-printer-1.1.3+git20090218.orig/debian/patches/30_new-printer-unboundlocalerror.patch +++ system-config-printer-1.1.3+git20090218/debian/patches/30_new-printer-unboundlocalerror.patch @@ -0,0 +1,47 @@ +diff -Nur -x '*.orig' -x '*~' system-config-printer-1.1.3+git20090218/system-config-printer.py system-config-printer-1.1.3+git20090218.new/system-config-printer.py +--- system-config-printer-1.1.3+git20090218/system-config-printer.py 2009-03-09 10:00:43.000000000 +0100 ++++ system-config-printer-1.1.3+git20090218.new/system-config-printer.py 2009-03-09 10:01:21.000000000 +0100 +@@ -4886,13 +4886,13 @@ + self.devices.sort() + other = cupshelpers.Device('', **{'device-info' :_("Other")}) + self.devices.append (PhysicalDevice (other)) +- device_select_path = 0 ++ device_select_index = 0 + if current_uri: + current_device = PhysicalDevice (current) + try: + i = self.devices.index (current_device) + self.devices[i].add_device (current) +- device_select_path = i ++ device_select_index = i + devs = self.devices[i].get_devices () + except ValueError: + self.devices.insert(0, current_device) +@@ -4914,6 +4914,7 @@ + self.tvNPDevices.set_model (model) + + i = 0 ++ device_select_path = None + for device in self.devices: + devs = device.get_devices () + network = devs[0].device_class == 'network' +@@ -4927,16 +4928,16 @@ + # If this is the currently selected device we need + # to expand the "Network Printer" row so that it + # is visible. +- if device_select_path == i: ++ if device_select_index == i: + network_path = model.get_path (network_iter) + self.tvNPDevices.expand_row (network_path, False) + else: + # Just a method of finding one. +- model.append (network_iter, row=row) ++ iter = model.append (network_iter, row=row) + else: + iter = model.insert_before(None, network_iter, row=row) + +- if device_select_path == i: ++ if device_select_index == i: + device_select_path = model.get_path (iter) + self.tvNPDevices.scroll_to_cell (device_select_path, + row_align=0.5) --- system-config-printer-1.1.3+git20090218.orig/debian/patches/01_delay_autostart.patch +++ system-config-printer-1.1.3+git20090218/debian/patches/01_delay_autostart.patch @@ -0,0 +1,12 @@ +# Description: Defer the autostart desktop by 30 seconds, since this is the only Python process in the GNOME startup sequence, and contributes to slow startup. +--- system-config-printer-1.1.2+git20090125/print-applet.desktop.in 2008-12-01 15:31:44.000000000 +0100 ++++ system-config-printer-1.1.2+git20090125.new/print-applet.desktop.in 2009-02-03 12:21:48.000000000 +0100 +@@ -2,7 +2,7 @@ + Encoding=UTF-8 + _Name=Print Queue Applet + _Comment=System tray icon for managing print jobs +-Exec=system-config-printer-applet ++Exec=sh -c "sleep 30; exec system-config-printer-applet > /dev/null 2> /dev/null" + Terminal=false + Type=Application + Icon=printer --- system-config-printer-1.1.3+git20090218.orig/debian/patches/47_fix-name-error-in-update-job.patch +++ system-config-printer-1.1.3+git20090218/debian/patches/47_fix-name-error-in-update-job.patch @@ -0,0 +1,12 @@ +diff -Nur -x '*.orig' -x '*~' system-config-printer-1.1.3+git20090218/jobviewer.py system-config-printer-1.1.3+git20090218.new/jobviewer.py +--- system-config-printer-1.1.3+git20090218/jobviewer.py 2009-03-19 11:03:11.000000000 +0100 ++++ system-config-printer-1.1.3+git20090218.new/jobviewer.py 2009-03-19 11:03:32.000000000 +0100 +@@ -627,7 +627,7 @@ + keyring_attrs["domain"] = str (group) + else: + (serverport, rest) = urllib.splithost (rest) +- (server, port) = urllib.splitnport (hostport) ++ (server, port) = urllib.splitnport (serverport) + username = pwd.getpwuid (os.getuid ())[0] + keyring_attrs.update ({ "server": str (server.lower ()), + "protocol": str (scheme), --- system-config-printer-1.1.3+git20090218.orig/debian/patches/35_appplet-fix-strftime-call.patch +++ system-config-printer-1.1.3+git20090218/debian/patches/35_appplet-fix-strftime-call.patch @@ -0,0 +1,12 @@ +diff -Nur -x '*.orig' -x '*~' system-config-printer-1.1.3+git20090218/jobviewer.py system-config-printer-1.1.3+git20090218.new/jobviewer.py +--- system-config-printer-1.1.3+git20090218/jobviewer.py 2009-03-09 12:17:24.000000000 +0100 ++++ system-config-printer-1.1.3+git20090218.new/jobviewer.py 2009-03-09 12:17:35.000000000 +0100 +@@ -413,7 +413,7 @@ + t = _("%d weeks ago") % weeks + else: + need_update = False +- t = time.strftime ("%B %Y", created) ++ t = time.strftime ("%B %Y", time.localtime (created)) + + self.store.set_value (iter, 5, t) + --- system-config-printer-1.1.3+git20090218.orig/debian/patches/33_system-config-printer-crash-on-rename.patch +++ system-config-printer-1.1.3+git20090218/debian/patches/33_system-config-printer-crash-on-rename.patch @@ -0,0 +1,18 @@ +diff -Nur -x '*.orig' -x '*~' system-config-printer-1.1.3+git20090218/system-config-printer.py system-config-printer-1.1.3+git20090218.new/system-config-printer.py +--- system-config-printer-1.1.3+git20090218/system-config-printer.py 2009-03-09 12:16:41.000000000 +0100 ++++ system-config-printer-1.1.3+git20090218.new/system-config-printer.py 2009-03-09 12:16:53.000000000 +0100 +@@ -2783,6 +2783,14 @@ + return + + (path, cell) = tuple ++ if type (cell) != gtk.CellRendererText: ++ cells = self.dests_iconview.get_cells () ++ for cell in cells: ++ if type (cell) == gtk.CellRendererText: ++ break ++ if type (cell) != gtk.CellRendererText: ++ return ++ + model = self.dests_iconview.get_model () + iter = model.get_iter (path) + name = unicode (model.get_value (iter, 2)) --- system-config-printer-1.1.3+git20090218.orig/debian/patches/50_work-around-broken-device-ids-in-hplip-ppds-match-model-case-insensitive.patch +++ system-config-printer-1.1.3+git20090218/debian/patches/50_work-around-broken-device-ids-in-hplip-ppds-match-model-case-insensitive.patch @@ -0,0 +1,127 @@ +diff -Nur -x '*.orig' -x '*~' system-config-printer-1.1.3+git20090218/cupshelpers/ppds.py system-config-printer-1.1.3+git20090218.new/cupshelpers/ppds.py +--- system-config-printer-1.1.3+git20090218/cupshelpers/ppds.py 2009-03-25 23:42:43.000000000 +0100 ++++ system-config-printer-1.1.3+git20090218.new/cupshelpers/ppds.py 2009-03-25 23:43:09.000000000 +0100 +@@ -163,6 +163,7 @@ + + make = re.sub (r"(?i)KONICA[\s_-]*MINOLTA", "KONICA MINOLTA", make, 1) + make = re.sub (r"(?i)HEWLETT[\s_-]PACKARD", "HP", make, 1) ++ make = re.sub (r"(?i)Lexmark\s*International", "Lexmark", make, 1) + model = re.sub (r"(?i)\s*\(recommended\)", "", model) + model = re.sub (r"(?i)\s*-\s*PostScript\b", "", model) + model = re.sub (r"(?i)\s*\bseries\b", "", model) +@@ -505,23 +506,44 @@ + """ + _debugprint ("\n%s %s" % (mfg, mdl)) + self._init_ids () ++ # Consider "HP" and "Hewlett-Packard" as equal, as the ID returned ++ # by the CUPS "usb" backend and HPLIP's "hp" backend are different ++ if mfg.lower () == "hewlett-packard": mfg = "HP" ++ ppdnamelist = [] + id_matched = False + try: + ppdnamelist = self.ids[mfg.lower ()][mdl.lower ()] + status = self.STATUS_SUCCESS + id_matched = True + except KeyError: +- if uri and (uri.startswith ("hp:") or uri.startswith ("hpfax:")): +- # The HPLIP backends make up incorrect IDs. +- if mfg == "HP": +- try: +- ppdnamelist = self.ids['hewlett-packard'][mdl.lower ()] +- status = self.STATUS_SUCCESS +- id_matched = True +- except KeyError: +- pass +- if not id_matched: +- ppdnamelist = None ++ pass ++ # The HPLIP PPDs have incorrect IDs ++ if mfg.lower () == "hp": ++ try: ++ ppdnamelist += self.ids['hp'][mdl.lower ()] ++ status = self.STATUS_SUCCESS ++ id_matched = True ++ except KeyError: ++ pass ++ try: ++ ppdnamelist += self.ids['hp'][mdl.lower ().replace (" ", "_")] ++ status = self.STATUS_SUCCESS ++ id_matched = True ++ except KeyError: ++ pass ++ if mfg.lower () == "apollo": ++ try: ++ ppdnamelist += self.ids['apollo'][mdl.lower ()] ++ status = self.STATUS_SUCCESS ++ id_matched = True ++ except KeyError: ++ pass ++ try: ++ ppdnamelist += self.ids['apollo'][mdl.lower ().replace (" ", "_")] ++ status = self.STATUS_SUCCESS ++ id_matched = True ++ except KeyError: ++ pass + + _debugprint ("Trying make/model names") + mfgl = mfg.lower () +@@ -550,16 +572,21 @@ + mdl = mdl[16:] + if mdl.startswith ('HP '): + mdl = mdl[3:] +- if mdls and mdls.has_key (mdl): +- ppdnamelist2 = mdls[mdl].keys () +- status = self.STATUS_SUCCESS +- else: +- # Make use of the model name clean-up in the ppdMakeModelSplit () +- # function +- (mfg2, mdl2) = ppdMakeModelSplit (mfg + " " + mdl) +- if mdls and mdls.has_key (mdl2): +- ppdnamelist2 = mdls[mdl2].keys () +- status = self.STATUS_SUCCESS ++ if mdls: ++ for (model, ppdnames) in mdls.iteritems (): ++ if model.lower () == mdl.lower (): ++ ppdnamelist2 = ppdnames.keys () ++ status = self.STATUS_SUCCESS ++ break ++ if not ppdnamelist2: ++ # Make use of the model name clean-up in the ++ # ppdMakeModelSplit () function ++ (mfg2, mdl2) = ppdMakeModelSplit (mfg + " " + mdl) ++ for (model, ppdnames) in mdls.iteritems (): ++ if model.lower () == mdl2.lower (): ++ ppdnamelist2 = ppdnames.keys () ++ status = self.STATUS_SUCCESS ++ break + + if ppdnamelist: + if ppdnamelist2: +@@ -610,6 +637,7 @@ + inexact = set() + if description: + for ppdname in ppdnamelist: ++ if ppdname.find ("hpijs"): continue + ppddict = self.ppds[ppdname] + id = ppddict['ppd-device-id'] + if not id: continue +@@ -629,7 +657,7 @@ + # take the first. + ppdnamelist = self.orderPPDNamesByPreference (ppdnamelist, + downloadedfiles) +- _debugprint (str (ppdnamelist)) ++ _debugprint ("Found PPDs: %s" % str (ppdnamelist)) + + if not id_matched: + sanitised_uri = re.sub (pattern="//[^@]*@/?", repl="//", +@@ -857,6 +885,10 @@ + lmfg = id_dict['MFG'].lower () + lmdl = id_dict['MDL'].lower () + ++ # Consider "HP" and "Hewlett-Packard" as equal, as the ID returned ++ # by the CUPS "usb" backend and HPLIP's "hp" backend are different ++ if lmfg == "hewlett-packard": lmfg = "hp" ++ + bad = False + if len (lmfg) == 0: + _debugprint ("Missing MFG field for %s" % ppdname) --- system-config-printer-1.1.3+git20090218.orig/debian/patches/55_locale-independent-lower-without-setlocale.patch +++ system-config-printer-1.1.3+git20090218/debian/patches/55_locale-independent-lower-without-setlocale.patch @@ -0,0 +1,45 @@ +diff -Nur -x '*.orig' -x '*~' system-config-printer-1.1.3+git20090218/cupshelpers/cupshelpers.py system-config-printer-1.1.3+git20090218.new/cupshelpers/cupshelpers.py +--- system-config-printer-1.1.3+git20090218/cupshelpers/cupshelpers.py 2009-02-18 14:15:24.000000000 +0100 ++++ system-config-printer-1.1.3+git20090218.new/cupshelpers/cupshelpers.py 2009-04-01 16:20:52.000000000 +0200 +@@ -18,7 +18,7 @@ + ## along with this program; if not, write to the Free Software + ## Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + +-import cups, pprint, os, tempfile, re ++import cups, pprint, os, tempfile, re, string + import locale + from . import _debugprint + +@@ -48,25 +48,25 @@ + return "" % self.name + + def _expand_flags(self): ++ ++ def _ascii_lower(str): ++ return str.translate(string.maketrans(string.ascii_uppercase, ++ string.ascii_lowercase)); ++ + prefix = "CUPS_PRINTER_" + prefix_length = len(prefix) + +- # Use the C locale for lower() (trac #151). +- current_ctype = locale.getlocale (locale.LC_CTYPE) +- locale.setlocale (locale.LC_CTYPE, "C") +- + # loop over cups constants + for name in cups.__dict__: + if name.startswith(prefix): +- attr_name = name[prefix_length:].lower() ++ attr_name = \ ++ _ascii_lower(name[prefix_length:]) + if attr_name in self._flags_blacklist: continue + if attr_name == "class": attr_name = "is_class" + # set as attribute + setattr(self, attr_name, + bool(self.type & getattr(cups, name))) + +- locale.setlocale (locale.LC_CTYPE, current_ctype) +- + def update(self, **kw): + """ + Update object from printer attributes. --- system-config-printer-1.1.3+git20090218.orig/debian/patches/37_newprinternotification-conf-new-dbus-defaults.patch +++ system-config-printer-1.1.3+git20090218/debian/patches/37_newprinternotification-conf-new-dbus-defaults.patch @@ -0,0 +1,27 @@ +diff -Nur -x '*.orig' -x '*~' system-config-printer-1.1.3+git20090218/newprinternotification.conf system-config-printer-1.1.3+git20090218.new/newprinternotification.conf +--- system-config-printer-1.1.3+git20090218/newprinternotification.conf 2009-02-17 10:53:52.000000000 +0100 ++++ system-config-printer-1.1.3+git20090218.new/newprinternotification.conf 2009-03-10 15:55:23.000000000 +0100 +@@ -14,11 +14,18 @@ + + +- +- +- + +- ++ ++ ++ +- ++ ++ ++ ++ ++ ++ + --- system-config-printer-1.1.3+git20090218.orig/debian/patches/26_notification.patch +++ system-config-printer-1.1.3+git20090218/debian/patches/26_notification.patch @@ -0,0 +1,276 @@ +diff -r 5f7709748005 applet.py +--- a/applet.py Mon Mar 30 09:37:04 2009 -0400 ++++ b/applet.py Tue Mar 31 09:53:41 2009 -0400 +@@ -50,6 +50,9 @@ + ICON="printer" + SEARCHING_ICON="document-print-preview" + ++# We need to call pynotify.init before we can check the server for caps ++pynotify.init('System Config Printer Notification') ++ + #### + #### NewPrinterNotification DBus server (the 'new' way). + #### +@@ -120,9 +123,16 @@ + else: + text = _("No driver for this printer.") + n = pynotify.Notification (title, text, 'printer') +- n.set_urgency (pynotify.URGENCY_CRITICAL) +- n.add_action ("setup-printer", _("Search"), +- lambda x, y: self.setup_printer (x, y, name, devid)) ++ if "actions" in pynotify.get_server_caps(): ++ n.set_urgency (pynotify.URGENCY_CRITICAL) ++ n.add_action ("setup-printer", _("Search"), ++ lambda x, y: ++ self.setup_printer (x, y, name, devid)) ++ else: ++ args = ["--setup-printer", name] ++ if devid != "": args = args + ["--devid", devid] ++ self.run_config_tool (args) ++ + else: + # name is the name of the queue which hal_lpadmin has set up + # automatically. +@@ -162,36 +172,56 @@ + title = _("Install printer driver") + text = _("`%s' requires driver installation: %s.") % (name, pkgs) + n = pynotify.Notification (title, text) +- n.set_urgency (pynotify.URGENCY_CRITICAL) + import installpackage +- try: +- self.packagekit = installpackage.PackageKit () +- n.add_action ("install-driver", _("Install"), +- lambda x, y: self.install_driver (x, y, +- missing_pkgs)) +- except: +- pass ++ if "actions" in pynotify.get_server_caps(): ++ try: ++ self.packagekit = installpackage.PackageKit () ++ n.add_action ("install-driver", _("Install"), ++ lambda x, y: ++ self.install_driver (x, y, ++ missing_pkgs)) ++ except: ++ pass ++ else: ++ try: ++ self.packagekit = installpackage.PackageKit () ++ self.packagekit.InstallPackageName (0, 0, ++ missing_pkgs[0]) ++ except: ++ pass ++ + elif status == self.STATUS_SUCCESS: + text = _("`%s' is ready for printing.") % name + n = pynotify.Notification (title, text) +- n.set_urgency (pynotify.URGENCY_NORMAL) +- n.add_action ("test-page", _("Print test page"), +- lambda x, y: self.print_test_page (x, y, name, devid)) +- n.add_action ("configure", _("Configure"), +- lambda x, y: self.configure (x, y, name)) ++ if "actions" in pynotify.get_server_caps(): ++ n.set_urgency (pynotify.URGENCY_NORMAL) ++ n.add_action ("test-page", _("Print test page"), ++ lambda x, y: ++ self.print_test_page (x, y, name, devid)) ++ n.add_action ("configure", _("Configure"), ++ lambda x, y: self.configure (x, y, name)) ++ else: ++ self.run_config_tool (["--configure-printer", ++ name, "--no-focus-on-map"]) + else: # Model mismatch + devid = "MFG:%s;MDL:%s;DES:%s;CMD:%s;" % \ + (mfg, mdl, des, cmd) + text = _("`%s' has been added, using the `%s' driver.") % \ + (name, driver) + n = pynotify.Notification (title, text, 'printer') +- n.set_urgency (pynotify.URGENCY_CRITICAL) +- n.add_action ("test-page", _("Print test page"), +- lambda x, y: self.print_test_page (x, y, name, devid)) +- n.add_action ("find-driver", _("Find driver"), +- lambda x, y: self.find_driver (x, y, name, devid)) ++ if "actions" in pynotify.get_server_caps(): ++ n.set_urgency (pynotify.URGENCY_CRITICAL) ++ n.add_action ("test-page", _("Print test page"), ++ lambda x, y: ++ self.print_test_page (x, y, name, devid)) ++ n.add_action ("find-driver", _("Find driver"), ++ lambda x, y: ++ self.find_driver (x, y, name, devid)) ++ n.set_timeout (pynotify.EXPIRES_NEVER) ++ else: ++ self.run_config_tool (["--configure-printer", ++ name, "--no-focus-on-map"]) + +- n.set_timeout (pynotify.EXPIRES_NEVER) + viewer.notify_new_printer (name, n) + # Set the icon back how it was. + self.timeout_ready () +diff -r 5f7709748005 glade.py +--- a/glade.py Mon Mar 30 09:37:04 2009 -0400 ++++ b/glade.py Tue Mar 31 09:53:41 2009 -0400 +@@ -37,4 +37,15 @@ + if widget is None: + raise ValueError, "Widget '%s' not found" % name + setattr(self, name, widget) +- xml.signal_autoconnect (self) ++ ++ try: ++ win = widget.get_top_level() ++ except AttributeError: ++ win = None ++ ++ if win != None: ++ gtk.Window.set_focus_on_map(widget.get_top_level (), ++ self.focus_on_map) ++ widget.show() ++ ++ xml.signal_autoconnect(self) +diff -r 5f7709748005 glade/PrintersWindow.glade +--- a/glade/PrintersWindow.glade Mon Mar 30 09:37:04 2009 -0400 ++++ b/glade/PrintersWindow.glade Tue Mar 31 09:53:41 2009 -0400 +@@ -5,7 +5,7 @@ + + + 450 +- True ++ False + System-Config-Printer + GTK_WINDOW_TOPLEVEL + GTK_WIN_POS_NONE +@@ -20,7 +20,6 @@ + False + GDK_WINDOW_TYPE_HINT_NORMAL + GDK_GRAVITY_NORTH_WEST +- True + False + + +diff -r 5f7709748005 jobviewer.py +--- a/jobviewer.py Mon Mar 30 09:37:04 2009 -0400 ++++ b/jobviewer.py Tue Mar 31 09:53:41 2009 -0400 +@@ -63,6 +63,9 @@ + ICON="printer" + SEARCHING_ICON="document-print-preview" + ++# We need to call pynotify.init before we can check the server for caps ++pynotify.init('System Config Printer Notification') ++ + class PrinterURIIndex: + def __init__ (self, names=None): + self.printer = {} +@@ -1177,7 +1180,8 @@ + notification = pynotify.Notification (title, text, 'printer') + reason.user_notified = True + notification.set_urgency (urgency) +- notification.set_timeout (pynotify.EXPIRES_NEVER) ++ if "actions" in pynotify.get_server_caps(): ++ notification.set_timeout (pynotify.EXPIRES_NEVER) + notification.connect ('closed', + self.on_state_reason_notification_closed) + self.state_reason_notifications[reason.get_tuple ()] = notification +diff -r 5f7709748005 system-config-printer.py +--- a/system-config-printer.py Mon Mar 30 09:37:04 2009 -0400 ++++ b/system-config-printer.py Tue Mar 31 09:53:41 2009 -0400 +@@ -55,6 +55,9 @@ + " --print-test-page NAME\n" + " Select the named printer on start-up and print a\n" + " test page to it.\n\n" ++ " --no-focus-on-map\n" ++ " Do not focus the main window, to prevent focus \n" ++ " stealing\n\n" + " --debug Enable debugging output.\n") + + if len(sys.argv)>1 and sys.argv[1] == '--help': +@@ -186,7 +189,8 @@ + cups.IPP_PRINTER_STOPPED: _("Stopped") } + + def __init__(self, setup_printer = None, configure_printer = None, +- change_ppd = False, devid = "", print_test_page = False): ++ change_ppd = False, devid = "", print_test_page = False, ++ focus_on_map = True): + + try: + self.language = locale.getlocale(locale.LC_MESSAGES) +@@ -210,6 +214,7 @@ + self.servers = set((self.connect_server,)) + self.server_is_publishing = False + self.devid = devid ++ self.focus_on_map = focus_on_map + + # WIDGETS + # ======= +@@ -343,6 +348,11 @@ + "vboxMarkerLevels", + "btnRefreshMarkerLevels"]}) + ++ # Ensure the default PrintersWindow is shown despite ++ # the --no-focus-on-map option ++ self.PrintersWindow.set_focus_on_map (self.focus_on_map) ++ self.PrintersWindow.show() ++ + # Since some dialogs are reused we can't let the delete-event's + # default handler destroy them + for dialog in [self.PrinterPropertiesDialog, +@@ -986,6 +996,7 @@ + host = CUPS_server_hostname () + self.PrinterPropertiesDialog.set_title (_("Printer Properties - " + "'%s' on %s") % (name, host)) ++ self.PrinterPropertiesDialog.set_focus_on_map (self.focus_on_map) + self.PrinterPropertiesDialog.show () + + def printer_properties_response (self, dialog, response): +@@ -1210,6 +1221,7 @@ + + host = CUPS_server_hostname () + self.PrintersWindow.set_title(_("Printer configuration - %s") % host) ++ self.PrintersWindow.set_focus_on_map (self.focus_on_map) + + if connected: + status_msg = _("Connected to %s") % host +@@ -6675,12 +6687,13 @@ + + + def main(setup_printer = None, configure_printer = None, change_ppd = False, +- devid = "", print_test_page = False): ++ devid = "", print_test_page = False, focus_on_map = True): + cups.setUser (os.environ.get ("CUPS_USER", cups.getUser())) + gtk.gdk.threads_init() + + mainwindow = GUI(setup_printer, configure_printer, change_ppd, devid, +- print_test_page) ++ print_test_page, focus_on_map) ++ + if gtk.__dict__.has_key("main"): + gtk.main() + else: +@@ -6696,6 +6709,7 @@ + 'choose-driver=', + 'devid=', + 'print-test-page=', ++ 'no-focus-on-map', + 'debug']) + except getopt.GetoptError: + show_help () +@@ -6705,6 +6719,7 @@ + configure_printer = None + change_ppd = False + print_test_page = False ++ focus_on_map = True + devid = "" + for opt, optarg in opts: + if (opt == "--configure-printer" or +@@ -6722,7 +6737,11 @@ + elif opt == '--devid': + devid = optarg + ++ elif opt == '--no-focus-on-map': ++ focus_on_map = False ++ + elif opt == '--debug': + set_debugging (True) + +- main(setup_printer, configure_printer, change_ppd, devid, print_test_page) ++ main(setup_printer, configure_printer, change_ppd, devid, print_test_page, ++ focus_on_map) --- system-config-printer-1.1.3+git20090218.orig/debian/patches/53_plugin-autoinstall-with-hplip-3.9.2.patch +++ system-config-printer-1.1.3+git20090218/debian/patches/53_plugin-autoinstall-with-hplip-3.9.2.patch @@ -0,0 +1,41 @@ +diff -Nur -x '*.orig' -x '*~' system-config-printer-1.1.3+git20090218/system-config-printer.py system-config-printer-1.1.3+git20090218.new/system-config-printer.py +--- system-config-printer-1.1.3+git20090218/system-config-printer.py 2009-03-25 23:44:16.000000000 +0100 ++++ system-config-printer-1.1.3+git20090218.new/system-config-printer.py 2009-03-25 23:44:31.000000000 +0100 +@@ -4565,7 +4565,7 @@ + elif line.find ("False") >= 0: + fw_download = 0 + elif line.find ("HP Linux Imaging and Printing") >= 0: +- res = re.search ("(\d+\.\d+\.\d+\w+)", line) ++ res = re.search ("(\d+\.\d+\.\d+\w*)", line) + if res: + resg = res.groups() + hplip_version = resg[0] +@@ -4576,16 +4576,19 @@ + # Check whether the plugin is already installed + if glob.glob("/usr/share/hplip/data/plugin/*%s*plugin*" % + hplip_version): +- try: +- f = open('/etc/hp/hplip.conf', 'r') +- for line in f: +- if line.strip ().startswith("plugin") and \ +- line.strip ().endswith("1"): ++ if hplip_version.startswith("2"): ++ try: ++ f = open('/etc/hp/hplip.conf', 'r') ++ for line in f: ++ if line.strip ().startswith("plugin") and \ ++ line.strip ().endswith("1"): ++ f.close() ++ return True + f.close() +- return True +- f.close() +- except: +- pass ++ except: ++ pass ++ else: ++ return True + # Tell the user why he needs the plugin + text = \ + _("For this printer a proprietary driver plugin from HP is available.\n") --- system-config-printer-1.1.3+git20090218.orig/debian/patches/10_menu_entries.patch +++ system-config-printer-1.1.3+git20090218/debian/patches/10_menu_entries.patch @@ -0,0 +1,58 @@ +diff -Nur -x '*.orig' -x '*~' system-config-printer-1.1.2+git20090125/Makefile.am system-config-printer-1.1.2+git20090125.new/Makefile.am +--- system-config-printer-1.1.2+git20090125/Makefile.am 2009-01-25 13:11:41.000000000 +0100 ++++ system-config-printer-1.1.2+git20090125.new/Makefile.am 2009-01-25 20:15:09.000000000 +0100 +@@ -170,7 +170,7 @@ + system-config-printer.desktop + desktop-file-install $(DESKTOP_VENDOR) \ + --dir $(DESTDIR)$(desktopdir) \ +- --add-category System \ ++ --add-category Utility \ + --add-category Monitor \ + --add-category GTK \ + manage-print-jobs.desktop +diff -Nur -x '*.orig' -x '*~' system-config-printer-1.1.2+git20090125/Makefile.in system-config-printer-1.1.2+git20090125.new/Makefile.in +--- system-config-printer-1.1.2+git20090125/Makefile.in 2009-01-25 18:39:10.000000000 +0100 ++++ system-config-printer-1.1.2+git20090125.new/Makefile.in 2009-01-25 20:16:23.000000000 +0100 +@@ -1076,7 +1076,7 @@ + system-config-printer.desktop + desktop-file-install $(DESKTOP_VENDOR) \ + --dir $(DESTDIR)$(desktopdir) \ +- --add-category System \ ++ --add-category Utility \ + --add-category Monitor \ + --add-category GTK \ + manage-print-jobs.desktop +diff -Nur -x '*.orig' -x '*~' system-config-printer-1.1.2+git20090125/manage-print-jobs.desktop.in system-config-printer-1.1.2+git20090125.new/manage-print-jobs.desktop.in +--- system-config-printer-1.1.2+git20090125/manage-print-jobs.desktop.in 2008-09-25 21:57:15.000000000 +0200 ++++ system-config-printer-1.1.2+git20090125.new/manage-print-jobs.desktop.in 2009-01-25 20:17:23.000000000 +0100 +@@ -6,4 +6,5 @@ + Terminal=false + Type=Application + Icon=printer +-NoDisplay=true ++NoDisplay=false ++X-Ubuntu-Gettext-Domain=system-config-printer +diff -Nur -x '*.orig' -x '*~' system-config-printer-1.1.2+git20090125/my-default-printer.desktop.in system-config-printer-1.1.2+git20090125.new/my-default-printer.desktop.in +--- system-config-printer-1.1.2+git20090125/my-default-printer.desktop.in 2008-09-25 21:57:15.000000000 +0200 ++++ system-config-printer-1.1.2+git20090125.new/my-default-printer.desktop.in 2009-01-25 20:17:58.000000000 +0100 +@@ -6,3 +6,4 @@ + Terminal=false + Type=Application + Icon=printer ++X-Ubuntu-Gettext-Domain=system-config-printer +diff -Nur -x '*.orig' -x '*~' system-config-printer-1.1.2+git20090125/print-applet.desktop.in system-config-printer-1.1.2+git20090125.new/print-applet.desktop.in +--- system-config-printer-1.1.2+git20090125/print-applet.desktop.in 2008-12-01 15:31:44.000000000 +0100 ++++ system-config-printer-1.1.2+git20090125.new/print-applet.desktop.in 2009-01-25 20:33:38.000000000 +0100 +@@ -8,3 +8,4 @@ + Icon=printer + NotShowIn=KDE + StartupNotify=false ++X-Ubuntu-Gettext-Domain=system-config-printer +diff -Nur -x '*.orig' -x '*~' system-config-printer-1.1.2+git20090125/system-config-printer.desktop.in system-config-printer-1.1.2+git20090125.new/system-config-printer.desktop.in +--- system-config-printer-1.1.2+git20090125/system-config-printer.desktop.in 2008-09-25 21:57:15.000000000 +0200 ++++ system-config-printer-1.1.2+git20090125.new/system-config-printer.desktop.in 2009-01-25 20:32:54.000000000 +0100 +@@ -7,3 +7,4 @@ + Type=Application + Icon=printer + StartupNotify=true ++X-Ubuntu-Gettext-Domain=system-config-printer --- system-config-printer-1.1.3+git20090218.orig/debian/patches/43_do-not-show-firewall-dialog.patch +++ system-config-printer-1.1.3+git20090218/debian/patches/43_do-not-show-firewall-dialog.patch @@ -0,0 +1,12 @@ +diff -Nur -x '*.orig' -x '*~' system-config-printer-1.1.3+git20090218/system-config-printer.py system-config-printer-1.1.3+git20090218.new/system-config-printer.py +--- system-config-printer-1.1.3+git20090218/system-config-printer.py 2009-03-17 09:49:09.000000000 +0100 ++++ system-config-printer-1.1.3+git20090218.new/system-config-printer.py 2009-03-17 09:49:34.000000000 +0100 +@@ -3296,7 +3296,7 @@ + old_setting = self.server_settings.get (cups.CUPS_SERVER_SHARE_PRINTERS, + '0') + new_setting = setting_dict.get (cups.CUPS_SERVER_SHARE_PRINTERS, '0') +- if (old_setting == '0' and new_setting != '0'): ++ if (0 and old_setting == '0' and new_setting != '0'): + # We have just enabled print queue sharing. + # Ideally, this is the time we would check the firewall + # settings on this machine and request that the IPP TCP port --- system-config-printer-1.1.3+git20090218.orig/debian/patches/40_ppds-py-improved-printer-identification.patch +++ system-config-printer-1.1.3+git20090218/debian/patches/40_ppds-py-improved-printer-identification.patch @@ -0,0 +1,136 @@ +diff -Nur -x '*.orig' -x '*~' system-config-printer-1.1.3+git20090218/cupshelpers/ppds.py system-config-printer-1.1.3+git20090218.new/cupshelpers/ppds.py +--- system-config-printer-1.1.3+git20090218/cupshelpers/ppds.py 2009-02-17 10:53:52.000000000 +0100 ++++ system-config-printer-1.1.3+git20090218.new/cupshelpers/ppds.py 2009-03-17 10:35:45.000000000 +0100 +@@ -43,55 +43,72 @@ + # If the string starts with a known model name (like "LaserJet") assume + # that the manufacturer name is missing and add the manufacturer name + # corresponding to the model name +- if re.search ("^(deskjet|laserjet|designjet|officejet|photosmart|psc|edgeline)", \ +- ppd_make_and_model, re.I): ++ if re.search ("^\s*(deskjet|dj\b|dj\d|laserjet|lj\b|color\s*laserjet|color\s*lj\b|designjet|officejet|oj\b|photosmart|ps\b|psc)", \ ++ ppd_make_and_model, re.I) or \ ++ re.search ("(edgeline)", ppd_make_and_model, re.I): + make = "HP" + model = ppd_make_and_model +- elif re.search ("^(stylus|aculaser)", \ ++ elif re.search ("^\s*(stylus|aculaser)", \ + ppd_make_and_model, re.I): + make = "Epson" + model = ppd_make_and_model +- elif re.search ("^(stylewriter|imagewriter|deskwriter|laserwriter)", \ ++ elif re.search ("^\s*(stylewriter|imagewriter|deskwriter|laserwriter)", \ + ppd_make_and_model, re.I): + make = "Apple" + model = ppd_make_and_model +- elif re.search ("^(pixus|pixma|selphy|imagerunner|\bbjc\b|\bbj\b|\blbp\b)",\ ++ elif re.search ("^\s*(pixus|pixma|selphy|imagerunner|\bbjc\b|\bbj\b|\blbp\b)",\ + ppd_make_and_model, re.I): + make = "Canon" + model = ppd_make_and_model +- elif re.search ("^(\bhl\b|\bdcp\b|\bmfc\b)", \ ++ elif re.search ("^\s*(\bhl\b|\bdcp\b|\bmfc\b)", \ + ppd_make_and_model, re.I): + make = "Brother" + model = ppd_make_and_model +- elif re.search ("^(docuprint|docupage|phaser|workcentre|homecentre)", \ ++ elif re.search ("^\s*(docuprint|docupage|phaser|workcentre|homecentre)", \ + ppd_make_and_model, re.I): + make = "Xerox" + model = ppd_make_and_model +- elif re.search ("^(optra|(color\s*|)jetprinter)", \ ++ elif re.search ("^\s*(optra|(color\s*|)jetprinter)", \ + ppd_make_and_model, re.I): + make = "Lexmark" + model = ppd_make_and_model +- elif re.search ("^(magicolor|pageworks|pagepro)", \ ++ elif re.search ("^\s*(magicolor|pageworks|pagepro)", \ + ppd_make_and_model, re.I): + make = "KONICA MINOLTA" + model = ppd_make_and_model +- elif re.search ("^(aficio)", \ ++ elif re.search ("^\s*(aficio)", \ + ppd_make_and_model, re.I): + make = "Ricoh" + model = ppd_make_and_model +- elif re.search ("^(varioprint)", \ ++ elif re.search ("^\s*(varioprint)", \ + ppd_make_and_model, re.I): + make = "Oce" + model = ppd_make_and_model +- elif re.search ("^(okipage|microline)", \ ++ elif re.search ("^\s*(okipage|microline)", \ + ppd_make_and_model, re.I): + make = "Oki" + model = ppd_make_and_model +- elif re.search ("^(konica[\s_-]*minolta)", \ ++ elif re.search ("^\s*(konica[\s_-]*minolta)", \ + ppd_make_and_model, re.I): + make = "KONICA MINOLTA" + model = ppd_make_and_model + model = re.sub ("(?i)KONICA[\s_-]*MINOLTA\s*", "", model, 1) ++ elif re.search("turboprint", ppd_make_and_model, re.I): ++ # Support for Turboprint PPDs ++ t = ppd_make_and_model.find (" TurboPrint") ++ if t != -1: ++ ppd_make_and_model = ppd_make_and_model[:t] ++ try: ++ make, model = ppd_make_and_model.split("_", 1) ++ except: ++ make = ppd_make_and_model ++ model = '' ++ make = re.sub (r"(?<=[a-z])(?=[0-9])", " ", make) ++ make = re.sub (r"(?<=[a-z])(?=[A-Z])", " ", make) ++ model = re.sub (r"(?<=[a-z])(?=[0-9])", " ", model) ++ model = re.sub (r"(?<=[a-z])(?=[A-Z])", " ", model) ++ model = re.sub (r" Jet", "Jet", model) ++ model = re.sub (r"Photo Smart", "PhotoSmart", model) + else: + try: + make, model = ppd_make_and_model.split(" ", 1) +@@ -120,6 +137,10 @@ + # Truncate at that point. + model = model[:v] + ++ h = model.find (" hpijs") ++ if h != -1: ++ model = model[:h] ++ + f = model.find (" Foomatic/") + if f != -1: + model = model[:f] +@@ -145,6 +166,12 @@ + model = re.sub (r"(?i)\s*\(recommended\)", "", model) + model = re.sub (r"(?i)\s*-\s*PostScript\b", "", model) + model = re.sub (r"(?i)\s*\bseries\b", "", model) ++ if make.lower () == "hp": ++ model = re.sub (r"(?i)^dj\b", "DeskJet", model) ++ model = re.sub (r"(?i)^LJ\b", "LaserJet", model) ++ model = re.sub (r"(?i)^OJ\b", "OfficeJet", model) ++ model = re.sub (r"(?i)^Color\s*LJ\b", "Color LaserJet", model) ++ model = re.sub (r"(?i)^PS\b", "PhotoSmart", model) + model = re.sub (r"(?i)\s*\bPS[123]?\b", "", model) + model = re.sub (r"(?i)\s*\bPXL", "", model) + model = re.sub (r"(?i)[\s_-]+BT\b", "", model) +@@ -179,9 +206,12 @@ + DRIVER_TYPE_FOOMATIC = 70 + DRIVER_TYPE_CUPS = 80 + DRIVER_TYPE_FOOMATIC_GENERIC = 90 ++DRIVER_TYPE_3RD_PARTY_NONFREE = 95 + DRIVER_DOES_NOT_WORK = 999 + def _getDriverType (ppdname, ppds=None): + """Decides which of the above types ppdname is.""" ++ if ppdname.find ("turboprint") != -1: ++ return DRIVER_TYPE_3RD_PARTY_NONFREE + if ppdname.find ("gutenprint") != -1: + if (ppdname.find ("/simple/") != -1 or + ppdname.find (".sim-") != -1): +@@ -508,6 +538,9 @@ + mfgl = "hp" + elif mfgl == "lexmark international": + mfgl = "lexmark" ++ elif mfgl == "": ++ (tmp1, tmp2) = ppdMakeModelSplit (mdl) ++ mfgl = tmp1.lower () + + # Remove manufacturer name from model field + ppdnamelist2 = None