wxPython 4.3.2__cp315-cp315-win_amd64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- wx/WebView2Loader.dll +0 -0
- wx/__init__.py +22 -0
- wx/__init__.pyi +10 -0
- wx/__version__.py +9 -0
- wx/__version__.pyi +15 -0
- wx/_adv.cp315-win_amd64.pyd +0 -0
- wx/_aui.cp315-win_amd64.pyd +0 -0
- wx/_core.cp315-win_amd64.pyd +0 -0
- wx/_dataview.cp315-win_amd64.pyd +0 -0
- wx/_glcanvas.cp315-win_amd64.pyd +0 -0
- wx/_grid.cp315-win_amd64.pyd +0 -0
- wx/_html.cp315-win_amd64.pyd +0 -0
- wx/_html2.cp315-win_amd64.pyd +0 -0
- wx/_media.cp315-win_amd64.pyd +0 -0
- wx/_msw.cp315-win_amd64.pyd +0 -0
- wx/_propgrid.cp315-win_amd64.pyd +0 -0
- wx/_ribbon.cp315-win_amd64.pyd +0 -0
- wx/_richtext.cp315-win_amd64.pyd +0 -0
- wx/_stc.cp315-win_amd64.pyd +0 -0
- wx/_xml.cp315-win_amd64.pyd +0 -0
- wx/_xrc.cp315-win_amd64.pyd +0 -0
- wx/adv.py +127 -0
- wx/adv.pyi +5931 -0
- wx/aui.py +70 -0
- wx/aui.pyi +4805 -0
- wx/core.py +3417 -0
- wx/core.pyi +62949 -0
- wx/dataview.py +176 -0
- wx/dataview.pyi +3828 -0
- wx/gizmos.py +18 -0
- wx/glcanvas.py +13 -0
- wx/glcanvas.pyi +544 -0
- wx/grid.py +237 -0
- wx/grid.pyi +5678 -0
- wx/html.py +38 -0
- wx/html.pyi +3283 -0
- wx/html2.py +46 -0
- wx/html2.pyi +1301 -0
- wx/include/wxPython/sip.h +1938 -0
- wx/include/wxPython/wxpy_api.h +418 -0
- wx/lib/CDate.py +201 -0
- wx/lib/ClickableHtmlWindow.py +57 -0
- wx/lib/__init__.py +0 -0
- wx/lib/activex.py +178 -0
- wx/lib/activexwrapper.py +153 -0
- wx/lib/agw/__init__.py +128 -0
- wx/lib/agw/advancedsplash.py +563 -0
- wx/lib/agw/aquabutton.py +1127 -0
- wx/lib/agw/artmanager.py +2110 -0
- wx/lib/agw/aui/__init__.py +295 -0
- wx/lib/agw/aui/aui_constants.py +2616 -0
- wx/lib/agw/aui/aui_switcherdialog.py +1232 -0
- wx/lib/agw/aui/aui_utilities.py +648 -0
- wx/lib/agw/aui/auibar.py +4045 -0
- wx/lib/agw/aui/auibook.py +6288 -0
- wx/lib/agw/aui/dockart.py +1198 -0
- wx/lib/agw/aui/framemanager.py +10485 -0
- wx/lib/agw/aui/tabart.py +2749 -0
- wx/lib/agw/aui/tabmdi.py +679 -0
- wx/lib/agw/balloontip.py +1157 -0
- wx/lib/agw/buttonpanel.py +2787 -0
- wx/lib/agw/cubecolourdialog.py +3529 -0
- wx/lib/agw/customtreectrl.py +9908 -0
- wx/lib/agw/data/ShortcutEditor_1.png +0 -0
- wx/lib/agw/data/ShortcutEditor_1_thumb.png +0 -0
- wx/lib/agw/data/ShortcutEditor_2.png +0 -0
- wx/lib/agw/data/ShortcutEditor_2_thumb.png +0 -0
- wx/lib/agw/data/ShortcutEditor_3.png +0 -0
- wx/lib/agw/data/ShortcutEditor_3_thumb.png +0 -0
- wx/lib/agw/data/ShortcutEditor_4.png +0 -0
- wx/lib/agw/data/ShortcutEditor_4_thumb.png +0 -0
- wx/lib/agw/data/default_help_text.html +105 -0
- wx/lib/agw/flatmenu.py +7392 -0
- wx/lib/agw/flatnotebook.py +6669 -0
- wx/lib/agw/floatspin.py +1820 -0
- wx/lib/agw/fmcustomizedlg.py +535 -0
- wx/lib/agw/fmresources.py +407 -0
- wx/lib/agw/foldpanelbar.py +2282 -0
- wx/lib/agw/fourwaysplitter.py +1130 -0
- wx/lib/agw/genericmessagedialog.py +1549 -0
- wx/lib/agw/gradientbutton.py +731 -0
- wx/lib/agw/hyperlink.py +664 -0
- wx/lib/agw/hypertreelist.py +5756 -0
- wx/lib/agw/infobar.py +885 -0
- wx/lib/agw/knobctrl.py +944 -0
- wx/lib/agw/labelbook.py +3028 -0
- wx/lib/agw/multidirdialog.py +581 -0
- wx/lib/agw/peakmeter.py +1028 -0
- wx/lib/agw/persist/__init__.py +188 -0
- wx/lib/agw/persist/persist_constants.py +283 -0
- wx/lib/agw/persist/persist_handlers.py +2614 -0
- wx/lib/agw/persist/persistencemanager.py +863 -0
- wx/lib/agw/piectrl.py +1082 -0
- wx/lib/agw/pybusyinfo.py +399 -0
- wx/lib/agw/pycollapsiblepane.py +940 -0
- wx/lib/agw/pygauge.py +570 -0
- wx/lib/agw/pyprogress.py +916 -0
- wx/lib/agw/ribbon/__init__.py +198 -0
- wx/lib/agw/ribbon/art.py +219 -0
- wx/lib/agw/ribbon/art_aui.py +1283 -0
- wx/lib/agw/ribbon/art_default.py +81 -0
- wx/lib/agw/ribbon/art_internal.py +248 -0
- wx/lib/agw/ribbon/art_msw.py +2735 -0
- wx/lib/agw/ribbon/art_osx.py +52 -0
- wx/lib/agw/ribbon/bar.py +1259 -0
- wx/lib/agw/ribbon/buttonbar.py +1317 -0
- wx/lib/agw/ribbon/control.py +205 -0
- wx/lib/agw/ribbon/gallery.py +973 -0
- wx/lib/agw/ribbon/page.py +946 -0
- wx/lib/agw/ribbon/panel.py +1170 -0
- wx/lib/agw/ribbon/toolbar.py +1441 -0
- wx/lib/agw/rulerctrl.py +1885 -0
- wx/lib/agw/scrolledthumbnail.py +2116 -0
- wx/lib/agw/shapedbutton.py +1809 -0
- wx/lib/agw/shortcuteditor.py +2642 -0
- wx/lib/agw/speedmeter.py +1800 -0
- wx/lib/agw/supertooltip.py +1443 -0
- wx/lib/agw/thumbnailctrl.py +529 -0
- wx/lib/agw/toasterbox.py +1327 -0
- wx/lib/agw/ultimatelistctrl.py +13671 -0
- wx/lib/agw/xlsgrid.py +2111 -0
- wx/lib/agw/zoombar.py +1336 -0
- wx/lib/analogclock/__init__.py +140 -0
- wx/lib/analogclock/analogclock.py +630 -0
- wx/lib/analogclock/helpers.py +986 -0
- wx/lib/analogclock/lib_setup/__init__.py +0 -0
- wx/lib/analogclock/lib_setup/buttontreectrlpanel.py +297 -0
- wx/lib/analogclock/lib_setup/fontselect.py +57 -0
- wx/lib/analogclock/setup.py +490 -0
- wx/lib/analogclock/styles.py +47 -0
- wx/lib/anchors.py +103 -0
- wx/lib/art/__init__.py +4 -0
- wx/lib/art/flagart.py +1583 -0
- wx/lib/art/img2pyartprov.py +56 -0
- wx/lib/busy.py +152 -0
- wx/lib/buttons.py +1140 -0
- wx/lib/calendar.py +1596 -0
- wx/lib/checkbox.py +837 -0
- wx/lib/colourchooser/__init__.py +36 -0
- wx/lib/colourchooser/canvas.py +145 -0
- wx/lib/colourchooser/intl.py +24 -0
- wx/lib/colourchooser/pycolourbox.py +89 -0
- wx/lib/colourchooser/pycolourchooser.py +626 -0
- wx/lib/colourchooser/pycolourslider.py +98 -0
- wx/lib/colourchooser/pypalette.py +208 -0
- wx/lib/colourdb.py +740 -0
- wx/lib/colourselect.py +385 -0
- wx/lib/colourutils.py +118 -0
- wx/lib/combotreebox.py +944 -0
- wx/lib/delayedresult.py +420 -0
- wx/lib/dialogs.py +510 -0
- wx/lib/docview.py +3210 -0
- wx/lib/dragscroller.py +79 -0
- wx/lib/editor/README.txt +77 -0
- wx/lib/editor/__init__.py +24 -0
- wx/lib/editor/editor.py +974 -0
- wx/lib/editor/images.py +15 -0
- wx/lib/editor/selection.py +44 -0
- wx/lib/embeddedimage.py +76 -0
- wx/lib/eventStack.py +136 -0
- wx/lib/eventwatcher.py +440 -0
- wx/lib/evtmgr.py +521 -0
- wx/lib/expando.py +393 -0
- wx/lib/fancytext.py +494 -0
- wx/lib/filebrowsebutton.py +461 -0
- wx/lib/flashwin.py +262 -0
- wx/lib/flashwin_old.py +651 -0
- wx/lib/floatcanvas/FCEvents.py +53 -0
- wx/lib/floatcanvas/FCObjects.py +2910 -0
- wx/lib/floatcanvas/FloatCanvas.py +1025 -0
- wx/lib/floatcanvas/GUIMode.py +396 -0
- wx/lib/floatcanvas/NavCanvas.py +162 -0
- wx/lib/floatcanvas/Resources.py +319 -0
- wx/lib/floatcanvas/ScreenShot.py +1788 -0
- wx/lib/floatcanvas/Utilities/BBox.py +313 -0
- wx/lib/floatcanvas/Utilities/Colors.py +137 -0
- wx/lib/floatcanvas/Utilities/GUI.py +91 -0
- wx/lib/floatcanvas/Utilities/__init__.py +7 -0
- wx/lib/floatcanvas/__init__.py +124 -0
- wx/lib/foldmenu.py +89 -0
- wx/lib/gestures.py +310 -0
- wx/lib/gizmos/__init__.py +18 -0
- wx/lib/gizmos/dynamicsash.py +1202 -0
- wx/lib/gizmos/ledctrl.py +299 -0
- wx/lib/gizmos/treelistctrl.py +87 -0
- wx/lib/graphics.py +1942 -0
- wx/lib/gridmovers.py +516 -0
- wx/lib/iewin.py +249 -0
- wx/lib/iewin_old.py +894 -0
- wx/lib/imagebrowser.py +853 -0
- wx/lib/imageutils.py +163 -0
- wx/lib/infoframe.py +490 -0
- wx/lib/inspection.py +1254 -0
- wx/lib/intctrl.py +990 -0
- wx/lib/itemspicker.py +256 -0
- wx/lib/langlistctrl.py +480 -0
- wx/lib/layoutf.py +271 -0
- wx/lib/masked/__init__.py +27 -0
- wx/lib/masked/combobox.py +839 -0
- wx/lib/masked/ctrl.py +108 -0
- wx/lib/masked/ipaddrctrl.py +241 -0
- wx/lib/masked/maskededit.py +7262 -0
- wx/lib/masked/numctrl.py +2000 -0
- wx/lib/masked/textctrl.py +465 -0
- wx/lib/masked/timectrl.py +1465 -0
- wx/lib/mixins/__init__.py +17 -0
- wx/lib/mixins/grid.py +47 -0
- wx/lib/mixins/gridlabelrenderer.py +277 -0
- wx/lib/mixins/imagelist.py +77 -0
- wx/lib/mixins/inspection.py +184 -0
- wx/lib/mixins/listctrl.py +893 -0
- wx/lib/mixins/rubberband.py +403 -0
- wx/lib/mixins/treemixin.py +678 -0
- wx/lib/msgpanel.py +95 -0
- wx/lib/multisash.py +746 -0
- wx/lib/myole4ax.idl +178 -0
- wx/lib/myole4ax.tlb +0 -0
- wx/lib/newevent.py +229 -0
- wx/lib/newevent.pyi +25 -0
- wx/lib/nvdlg.py +156 -0
- wx/lib/ogl/__init__.py +13 -0
- wx/lib/ogl/basic.py +3989 -0
- wx/lib/ogl/bmpshape.py +86 -0
- wx/lib/ogl/canvas.py +467 -0
- wx/lib/ogl/composit.py +1576 -0
- wx/lib/ogl/diagram.py +230 -0
- wx/lib/ogl/divided.py +482 -0
- wx/lib/ogl/drawn.py +898 -0
- wx/lib/ogl/lines.py +1809 -0
- wx/lib/ogl/oglmisc.py +607 -0
- wx/lib/pdfviewer/__init__.py +113 -0
- wx/lib/pdfviewer/bitmaps/ArrowLeft.png +0 -0
- wx/lib/pdfviewer/bitmaps/ArrowRight.png +0 -0
- wx/lib/pdfviewer/bitmaps/DirectionH.png +0 -0
- wx/lib/pdfviewer/bitmaps/DirectionV.png +0 -0
- wx/lib/pdfviewer/bitmaps/PlayerFirst.png +0 -0
- wx/lib/pdfviewer/bitmaps/PlayerLast.png +0 -0
- wx/lib/pdfviewer/bitmaps/PlayerNext.png +0 -0
- wx/lib/pdfviewer/bitmaps/PlayerPrev.png +0 -0
- wx/lib/pdfviewer/bitmaps/Printer.png +0 -0
- wx/lib/pdfviewer/bitmaps/ReadMe.txt +28 -0
- wx/lib/pdfviewer/bitmaps/Save.png +0 -0
- wx/lib/pdfviewer/bitmaps/ZoomIn.png +0 -0
- wx/lib/pdfviewer/bitmaps/ZoomOut.png +0 -0
- wx/lib/pdfviewer/bitmaps/encode_bitmaps.py +37 -0
- wx/lib/pdfviewer/buttonpanel.py +285 -0
- wx/lib/pdfviewer/images.py +240 -0
- wx/lib/pdfviewer/viewer.py +1118 -0
- wx/lib/pdfwin.py +295 -0
- wx/lib/pdfwin_old.py +789 -0
- wx/lib/platebtn.py +789 -0
- wx/lib/plot/CHANGELOG.md +150 -0
- wx/lib/plot/README.md +16 -0
- wx/lib/plot/__init__.py +46 -0
- wx/lib/plot/__main__.py +5 -0
- wx/lib/plot/examples/__init__.py +0 -0
- wx/lib/plot/examples/demo.py +1010 -0
- wx/lib/plot/examples/simple_example.py +56 -0
- wx/lib/plot/plotcanvas.py +2985 -0
- wx/lib/plot/polyobjects.py +1524 -0
- wx/lib/plot/utils.py +334 -0
- wx/lib/popupctl.py +251 -0
- wx/lib/printout.py +1155 -0
- wx/lib/progressindicator.py +151 -0
- wx/lib/pubsub/LICENSE_BSD_Simple.txt +23 -0
- wx/lib/pubsub/README_WxPython.txt +22 -0
- wx/lib/pubsub/RELEASE_NOTES.txt +71 -0
- wx/lib/pubsub/__init__.py +25 -0
- wx/lib/pubsub/core/__init__.py +92 -0
- wx/lib/pubsub/core/arg1/__init__.py +16 -0
- wx/lib/pubsub/core/arg1/listenerimpl.py +97 -0
- wx/lib/pubsub/core/arg1/publisher.py +40 -0
- wx/lib/pubsub/core/arg1/publishermixin.py +34 -0
- wx/lib/pubsub/core/arg1/topicargspecimpl.py +66 -0
- wx/lib/pubsub/core/arg1/topicmgrimpl.py +19 -0
- wx/lib/pubsub/core/callables.py +198 -0
- wx/lib/pubsub/core/imp2.py +62 -0
- wx/lib/pubsub/core/itopicdefnprovider.py +0 -0
- wx/lib/pubsub/core/kwargs/__init__.py +16 -0
- wx/lib/pubsub/core/kwargs/datamsg.py +27 -0
- wx/lib/pubsub/core/kwargs/listenerimpl.py +93 -0
- wx/lib/pubsub/core/kwargs/publisher.py +77 -0
- wx/lib/pubsub/core/kwargs/publishermixin.py +65 -0
- wx/lib/pubsub/core/kwargs/topicargspecimpl.py +216 -0
- wx/lib/pubsub/core/kwargs/topicmgrimpl.py +13 -0
- wx/lib/pubsub/core/listener.py +40 -0
- wx/lib/pubsub/core/listenerbase.py +185 -0
- wx/lib/pubsub/core/notificationmgr.py +185 -0
- wx/lib/pubsub/core/publisherbase.py +189 -0
- wx/lib/pubsub/core/topicargspec.py +77 -0
- wx/lib/pubsub/core/topicdefnprovider.py +631 -0
- wx/lib/pubsub/core/topicexc.py +72 -0
- wx/lib/pubsub/core/topicmgr.py +454 -0
- wx/lib/pubsub/core/topicobj.py +472 -0
- wx/lib/pubsub/core/topictreetraverser.py +143 -0
- wx/lib/pubsub/core/topicutils.py +119 -0
- wx/lib/pubsub/core/treeconfig.py +21 -0
- wx/lib/pubsub/core/validatedefnargs.py +29 -0
- wx/lib/pubsub/core/weakmethod.py +102 -0
- wx/lib/pubsub/policies.py +24 -0
- wx/lib/pubsub/pub.py +199 -0
- wx/lib/pubsub/setuparg1.py +47 -0
- wx/lib/pubsub/setupkwargs.py +29 -0
- wx/lib/pubsub/utils/__init__.py +27 -0
- wx/lib/pubsub/utils/exchandling.py +100 -0
- wx/lib/pubsub/utils/misc.py +99 -0
- wx/lib/pubsub/utils/notification.py +331 -0
- wx/lib/pubsub/utils/topictreeprinter.py +195 -0
- wx/lib/pubsub/utils/xmltopicdefnprovider.py +286 -0
- wx/lib/pydocview.py +3300 -0
- wx/lib/rcsizer.py +227 -0
- wx/lib/resizewidget.py +357 -0
- wx/lib/scrolledpanel.py +243 -0
- wx/lib/sheet.py +350 -0
- wx/lib/sized_controls.py +691 -0
- wx/lib/softwareupdate.py +355 -0
- wx/lib/splitter.py +925 -0
- wx/lib/statbmp.py +199 -0
- wx/lib/stattext.py +321 -0
- wx/lib/throbber.py +424 -0
- wx/lib/ticker.py +306 -0
- wx/lib/ticker_xrc.py +48 -0
- wx/lib/utils.py +89 -0
- wx/lib/wordwrap.py +97 -0
- wx/lib/wxcairo/__init__.py +139 -0
- wx/lib/wxcairo/wx_cairocffi.py +200 -0
- wx/lib/wxcairo/wx_pycairo.py +455 -0
- wx/lib/wxpTag.py +274 -0
- wx/libcairo-2.dll +0 -0
- wx/locale/af/LC_MESSAGES/wxstd.mo +0 -0
- wx/locale/an/LC_MESSAGES/wxstd.mo +0 -0
- wx/locale/ar/LC_MESSAGES/wxstd.mo +0 -0
- wx/locale/ca/LC_MESSAGES/wxstd.mo +0 -0
- wx/locale/ca@valencia/LC_MESSAGES/wxstd.mo +0 -0
- wx/locale/co/LC_MESSAGES/wxstd.mo +0 -0
- wx/locale/cs/LC_MESSAGES/wxstd.mo +0 -0
- wx/locale/da/LC_MESSAGES/wxstd.mo +0 -0
- wx/locale/de/LC_MESSAGES/wxstd.mo +0 -0
- wx/locale/el/LC_MESSAGES/wxstd.mo +0 -0
- wx/locale/es/LC_MESSAGES/wxstd.mo +0 -0
- wx/locale/eu/LC_MESSAGES/wxstd.mo +0 -0
- wx/locale/fa_IR/LC_MESSAGES/wxstd.mo +0 -0
- wx/locale/fi/LC_MESSAGES/wxstd.mo +0 -0
- wx/locale/fr/LC_MESSAGES/wxstd.mo +0 -0
- wx/locale/gl_ES/LC_MESSAGES/wxstd.mo +0 -0
- wx/locale/hi/LC_MESSAGES/wxstd.mo +0 -0
- wx/locale/hr/LC_MESSAGES/wxstd.mo +0 -0
- wx/locale/hu/LC_MESSAGES/wxstd.mo +0 -0
- wx/locale/id/LC_MESSAGES/wxstd.mo +0 -0
- wx/locale/it/LC_MESSAGES/wxstd.mo +0 -0
- wx/locale/ja/LC_MESSAGES/wxstd.mo +0 -0
- wx/locale/ka/LC_MESSAGES/wxstd.mo +0 -0
- wx/locale/ko_KR/LC_MESSAGES/wxstd.mo +0 -0
- wx/locale/lt/LC_MESSAGES/wxstd.mo +0 -0
- wx/locale/lv/LC_MESSAGES/wxstd.mo +0 -0
- wx/locale/ms/LC_MESSAGES/wxstd.mo +0 -0
- wx/locale/nb/LC_MESSAGES/wxstd.mo +0 -0
- wx/locale/ne/LC_MESSAGES/wxstd.mo +0 -0
- wx/locale/nl/LC_MESSAGES/wxstd.mo +0 -0
- wx/locale/pl/LC_MESSAGES/wxstd.mo +0 -0
- wx/locale/pt/LC_MESSAGES/wxstd.mo +0 -0
- wx/locale/pt_BR/LC_MESSAGES/wxstd.mo +0 -0
- wx/locale/ro/LC_MESSAGES/wxstd.mo +0 -0
- wx/locale/ru/LC_MESSAGES/wxstd.mo +0 -0
- wx/locale/sk/LC_MESSAGES/wxstd.mo +0 -0
- wx/locale/sl/LC_MESSAGES/wxstd.mo +0 -0
- wx/locale/sq/LC_MESSAGES/wxstd.mo +0 -0
- wx/locale/sr/LC_MESSAGES/wxstd.mo +0 -0
- wx/locale/sv/LC_MESSAGES/wxstd.mo +0 -0
- wx/locale/ta/LC_MESSAGES/wxstd.mo +0 -0
- wx/locale/tr/LC_MESSAGES/wxstd.mo +0 -0
- wx/locale/uk/LC_MESSAGES/wxstd.mo +0 -0
- wx/locale/vi/LC_MESSAGES/wxstd.mo +0 -0
- wx/locale/zh_CN/LC_MESSAGES/wxstd.mo +0 -0
- wx/locale/zh_TW/LC_MESSAGES/wxstd.mo +0 -0
- wx/media.py +30 -0
- wx/media.pyi +272 -0
- wx/msw.py +16 -0
- wx/msw.pyi +91 -0
- wx/propgrid.py +498 -0
- wx/propgrid.pyi +7427 -0
- wx/py/CHANGES.txt +796 -0
- wx/py/Py.ico +0 -0
- wx/py/PyAlaCarte.py +34 -0
- wx/py/PyAlaMode.py +34 -0
- wx/py/PyAlaModeTest.py +33 -0
- wx/py/PyCrust.ico +0 -0
- wx/py/PyCrust.py +78 -0
- wx/py/PyCrust_16.png +0 -0
- wx/py/PyCrust_32.png +0 -0
- wx/py/PyFilling.py +35 -0
- wx/py/PyShell.py +78 -0
- wx/py/PySlices.ico +0 -0
- wx/py/PySlices.py +98 -0
- wx/py/PySlicesShell.py +94 -0
- wx/py/PySlices_16.png +0 -0
- wx/py/PySlices_32.png +0 -0
- wx/py/PyWrap.py +52 -0
- wx/py/README.txt +77 -0
- wx/py/__init__.py +20 -0
- wx/py/buffer.py +136 -0
- wx/py/crust.py +403 -0
- wx/py/crustslices.py +403 -0
- wx/py/dispatcher.py +259 -0
- wx/py/document.py +37 -0
- wx/py/editor.py +844 -0
- wx/py/editwindow.py +316 -0
- wx/py/filling.py +358 -0
- wx/py/frame.py +976 -0
- wx/py/images.py +212 -0
- wx/py/interpreter.py +161 -0
- wx/py/introspect.py +402 -0
- wx/py/magic.py +98 -0
- wx/py/parse.py +134 -0
- wx/py/path.py +36 -0
- wx/py/pseudo.py +99 -0
- wx/py/shell.py +1579 -0
- wx/py/sliceshell.py +3805 -0
- wx/py/tests/test_interpreter.py +71 -0
- wx/py/tests/test_introspect.py +810 -0
- wx/py/tests/test_pseudo.py +70 -0
- wx/py/tests/test_version.py +36 -0
- wx/py/tests/testall.py +22 -0
- wx/py/version.py +7 -0
- wx/py.typed +0 -0
- wx/ribbon.py +48 -0
- wx/ribbon.pyi +3099 -0
- wx/richtext.py +141 -0
- wx/richtext.pyi +13581 -0
- wx/siplib.cp315-win_amd64.pyd +0 -0
- wx/siplib.pyi +19 -0
- wx/stc.py +59 -0
- wx/stc.pyi +9918 -0
- wx/svg/__init__.py +363 -0
- wx/svg/_nanosvg.cp315-win_amd64.pyd +0 -0
- wx/tools/__init__.py +18 -0
- wx/tools/dbg.py +268 -0
- wx/tools/genaxmodule.py +50 -0
- wx/tools/helpviewer.py +92 -0
- wx/tools/img2img.py +85 -0
- wx/tools/img2png.py +54 -0
- wx/tools/img2py.py +306 -0
- wx/tools/img2xpm.py +54 -0
- wx/tools/pywxrc.py +951 -0
- wx/tools/wxget.py +254 -0
- wx/tools/wxget_docs_demo.py +183 -0
- wx/wxbase334u_net_vc140_x64.dll +0 -0
- wx/wxbase334u_vc140_x64.dll +0 -0
- wx/wxbase334u_xml_vc140_x64.dll +0 -0
- wx/wxmsw334u_adv_vc140_x64.dll +0 -0
- wx/wxmsw334u_aui_vc140_x64.dll +0 -0
- wx/wxmsw334u_core_vc140_x64.dll +0 -0
- wx/wxmsw334u_gl_vc140_x64.dll +0 -0
- wx/wxmsw334u_html_vc140_x64.dll +0 -0
- wx/wxmsw334u_media_vc140_x64.dll +0 -0
- wx/wxmsw334u_propgrid_vc140_x64.dll +0 -0
- wx/wxmsw334u_qa_vc140_x64.dll +0 -0
- wx/wxmsw334u_ribbon_vc140_x64.dll +0 -0
- wx/wxmsw334u_richtext_vc140_x64.dll +0 -0
- wx/wxmsw334u_stc_vc140_x64.dll +0 -0
- wx/wxmsw334u_webview_vc140_x64.dll +0 -0
- wx/wxmsw334u_xrc_vc140_x64.dll +0 -0
- wx/xml.py +18 -0
- wx/xml.pyi +728 -0
- wx/xrc.py +68 -0
- wx/xrc.pyi +896 -0
- wxpython-4.3.2.dist-info/METADATA +71 -0
- wxpython-4.3.2.dist-info/RECORD +472 -0
- wxpython-4.3.2.dist-info/WHEEL +5 -0
- wxpython-4.3.2.dist-info/entry_points.txt +13 -0
- wxpython-4.3.2.dist-info/licenses/LICENSE.txt +610 -0
- wxpython-4.3.2.dist-info/top_level.txt +1 -0
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
Free Icons by Axialis Software
|
|
2
|
+
http://www.axialis.com
|
|
3
|
+
|
|
4
|
+
Here is a library of icons that you can freely use in your projects. All
|
|
5
|
+
the icons are licensed under the Creative Commons Attribution License
|
|
6
|
+
(http://creativecommons.org/licenses/by/2.5/). It means that you can use
|
|
7
|
+
them in any project or website, commercially or not.
|
|
8
|
+
|
|
9
|
+
The icons have been created by Axialis IconWorkshop, the professional
|
|
10
|
+
icon authoring tool for Windows. For more info visit this page:
|
|
11
|
+
http://www.axialis.com/iconworkshop
|
|
12
|
+
|
|
13
|
+
TERMS OF USE
|
|
14
|
+
The only restrictions are: (a) you must keep the credits of the authors:
|
|
15
|
+
"Axialis Team", even if you modify them; (b) link to us if you use them
|
|
16
|
+
on your website (see below).
|
|
17
|
+
|
|
18
|
+
LINK TO US
|
|
19
|
+
If you use the icons in your website, you must add the following link on
|
|
20
|
+
EACH PAGE containing the icons (at the bottom of the page for example).
|
|
21
|
+
The HTML code for this link is:
|
|
22
|
+
|
|
23
|
+
<a href="http://www.axialis.com/free/icons">Icons</a> by <a href="http://www.axialis.com">Axialis Team</a>
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
|
|
2
|
+
"""
|
|
3
|
+
This is a way to save the startup time when running img2py on lots of
|
|
4
|
+
files...
|
|
5
|
+
"""
|
|
6
|
+
import sys, os
|
|
7
|
+
if os.path.abspath('..') not in sys.path:
|
|
8
|
+
sys.path.append(os.path.abspath('..'))
|
|
9
|
+
|
|
10
|
+
vspdir = 'f:/Python%s-sp.v%s' % ( '25', '660') # version-specific site-packages
|
|
11
|
+
if os.path.exists(vspdir) and vspdir not in sys.path:
|
|
12
|
+
sys.path.append(vspdir)
|
|
13
|
+
|
|
14
|
+
from wx.tools import img2py
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
command_lines = [
|
|
18
|
+
" -u -n First PlayerFirst.png ../images.py",
|
|
19
|
+
"-a -u -n Prev PlayerPrev.png ../images.py",
|
|
20
|
+
"-a -u -n Next PlayerNext.png ../images.py",
|
|
21
|
+
"-a -u -n Last PlayerLast.png ../images.py",
|
|
22
|
+
"-a -u -n PrintIt Printer.png ../images.py",
|
|
23
|
+
"-a -u -n SaveIt Save.png ../images.py",
|
|
24
|
+
"-a -u -n Left ArrowLeft.png ../images.py",
|
|
25
|
+
"-a -u -n Right ArrowRight.png ../images.py",
|
|
26
|
+
"-a -u -n Width DirectionH.png ../images.py",
|
|
27
|
+
"-a -u -n Height DirectionV.png ../images.py",
|
|
28
|
+
"-a -u -n ZoomIn ZoomIn.png ../images.py",
|
|
29
|
+
"-a -u -n ZoomOut ZoomOut.png ../images.py",
|
|
30
|
+
]
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
if __name__ == "__main__":
|
|
34
|
+
for line in command_lines:
|
|
35
|
+
args = line.split()
|
|
36
|
+
img2py.main(args)
|
|
37
|
+
|
|
@@ -0,0 +1,285 @@
|
|
|
1
|
+
# Name: buttonpanel.py
|
|
2
|
+
# Package: wx.lib.pdfviewer
|
|
3
|
+
#
|
|
4
|
+
# Purpose: A button panel class for pdf viewer
|
|
5
|
+
#
|
|
6
|
+
# Author: David Hughes dfh@forestfield.co.uk
|
|
7
|
+
# Copyright: Forestfield Software Ltd
|
|
8
|
+
# Licence: Same as wxPython host
|
|
9
|
+
|
|
10
|
+
# History: Created 26 Jun 2009
|
|
11
|
+
#
|
|
12
|
+
# Tags: phoenix-port, documented
|
|
13
|
+
#
|
|
14
|
+
#----------------------------------------------------------------------------
|
|
15
|
+
"""
|
|
16
|
+
This module provides the :class:`~wx.lib.pdfviewer.buttonpanel.pdfButtonPanel`
|
|
17
|
+
which can be used together with the :class:`~wx.lib.pdfviewer.viewer.pdfViewer`.
|
|
18
|
+
"""
|
|
19
|
+
import sys, os, time
|
|
20
|
+
|
|
21
|
+
from . import images
|
|
22
|
+
import wx
|
|
23
|
+
import wx.lib.agw.buttonpanel as bp
|
|
24
|
+
|
|
25
|
+
class pdfButtonPanel(bp.ButtonPanel):
|
|
26
|
+
"""
|
|
27
|
+
:class:`~wx.lib.pdfviewer.buttonpanel.pdfButtonPanel` is derived
|
|
28
|
+
from wx.lib.agw.buttonpanel and provides buttons to manipulate the viewed
|
|
29
|
+
PDF, e.g. zoom, save, print etc.
|
|
30
|
+
"""
|
|
31
|
+
def __init__(self, parent, nid, pos, size, style):
|
|
32
|
+
"""
|
|
33
|
+
Default class constructor.
|
|
34
|
+
|
|
35
|
+
:param wx.Window `parent`: parent window. Must not be ``None``;
|
|
36
|
+
:param integer `nid`: window identifier. A value of -1 indicates a default value;
|
|
37
|
+
:param `pos`: the control position. A value of (-1, -1) indicates a default position,
|
|
38
|
+
chosen by either the windowing system or wxPython, depending on platform;
|
|
39
|
+
:type `pos`: tuple or :class:`wx.Point`
|
|
40
|
+
:param `size`: the control size. A value of (-1, -1) indicates a default size,
|
|
41
|
+
chosen by either the windowing system or wxPython, depending on platform;
|
|
42
|
+
:type `size`: tuple or :class:`wx.Size`
|
|
43
|
+
:param integer `style`: the button style (unused);
|
|
44
|
+
|
|
45
|
+
"""
|
|
46
|
+
self.viewer = None # reference to viewer is set by their common parent
|
|
47
|
+
self.numpages = None
|
|
48
|
+
bp.ButtonPanel.__init__(self, parent, nid, "",
|
|
49
|
+
agwStyle=bp.BP_USE_GRADIENT, alignment=bp.BP_ALIGN_LEFT)
|
|
50
|
+
self.SetProperties()
|
|
51
|
+
self.CreateButtons()
|
|
52
|
+
|
|
53
|
+
def GetPanelItems(self):
|
|
54
|
+
"""
|
|
55
|
+
Return the buttons that should be displayed. A subclass can customize this
|
|
56
|
+
"""
|
|
57
|
+
return [
|
|
58
|
+
('btn', images.PrintIt.GetBitmap(), wx.ITEM_NORMAL, "Print", self.OnPrint),
|
|
59
|
+
('sep',),
|
|
60
|
+
('btn', images.SaveIt.GetBitmap(), wx.ITEM_NORMAL, "Save", self.OnSave),
|
|
61
|
+
('sep',),
|
|
62
|
+
('btn', images.First.GetBitmap(), wx.ITEM_NORMAL, "First page", self.OnFirst),
|
|
63
|
+
('btn', images.Prev.GetBitmap(), wx.ITEM_NORMAL, "Previous page", self.OnPrev),
|
|
64
|
+
('btn', images.Next.GetBitmap(), wx.ITEM_NORMAL, "Next page", self.OnNext),
|
|
65
|
+
('btn', images.Last.GetBitmap(), wx.ITEM_NORMAL, "Last page", self.OnLast),
|
|
66
|
+
('Ctrl', self.pagelabel),
|
|
67
|
+
('ctrl', self.page),
|
|
68
|
+
('ctrl', self.maxlabel),
|
|
69
|
+
('sep',),
|
|
70
|
+
('btn', images.ZoomOut.GetBitmap(), wx.ITEM_NORMAL, "Zoom out", self.OnZoomOut),
|
|
71
|
+
('btn', images.ZoomIn.GetBitmap(), wx.ITEM_NORMAL, "Zoom in", self.OnZoomIn),
|
|
72
|
+
('ctrl', self.zoom),
|
|
73
|
+
('btn', images.Width.GetBitmap(), wx.ITEM_NORMAL, "Fit page width", self.OnWidth),
|
|
74
|
+
('btn', images.Height.GetBitmap(), wx.ITEM_NORMAL, "Fit page height", self.OnHeight),
|
|
75
|
+
]
|
|
76
|
+
|
|
77
|
+
def CreateButtons(self):
|
|
78
|
+
"""
|
|
79
|
+
Add the buttons and other controls to the panel.
|
|
80
|
+
"""
|
|
81
|
+
self.disabled_controls = []
|
|
82
|
+
self.pagelabel = wx.StaticText(self, -1, 'Page')
|
|
83
|
+
self.page = wx.TextCtrl(self, -1, size=(30, -1), style=wx.TE_CENTRE|wx.TE_PROCESS_ENTER)
|
|
84
|
+
self.page.Enable(False)
|
|
85
|
+
self.disabled_controls.append(self.page)
|
|
86
|
+
self.page.Bind(wx.EVT_KILL_FOCUS, self.OnPage)
|
|
87
|
+
self.Bind(wx.EVT_TEXT_ENTER, self.OnPage, self.page)
|
|
88
|
+
self.maxlabel = wx.StaticText(self, -1, ' ')
|
|
89
|
+
self.zoom = wx.ComboBox(self, -1, style=wx.CB_DROPDOWN|wx.TE_PROCESS_ENTER)
|
|
90
|
+
self.zoom.Enable(False)
|
|
91
|
+
self.disabled_controls.append(self.zoom)
|
|
92
|
+
self.comboval = (('Actual size', 1.0), ('Fit width', -1), ('Fit page', -2),
|
|
93
|
+
('25%', 0.25), ('50%', 0.5), ('75%', 0.75), ('100%', 1.0),
|
|
94
|
+
('125%', 1.25), ('150%', 1.5), ('200%', 2.0), ('400%', 4.0),
|
|
95
|
+
('800%', 8.0), ('1000%', 10.0))
|
|
96
|
+
for item in self.comboval:
|
|
97
|
+
self.zoom.Append(item[0], item[1]) # string value and client data
|
|
98
|
+
self.Bind(wx.EVT_COMBOBOX, self.OnZoomSet, self.zoom)
|
|
99
|
+
self.Bind(wx.EVT_TEXT_ENTER, self.OnZoomSet, self.zoom)
|
|
100
|
+
panelitems = self.GetPanelItems()
|
|
101
|
+
|
|
102
|
+
self.Freeze()
|
|
103
|
+
for item in panelitems:
|
|
104
|
+
if item[0].lower() == 'btn':
|
|
105
|
+
x_type, image, kind, popup, handler = item
|
|
106
|
+
btn = bp.ButtonInfo(self, wx.ID_ANY,image, kind=kind,
|
|
107
|
+
shortHelp=popup, longHelp='')
|
|
108
|
+
self.AddButton(btn)
|
|
109
|
+
btn.Enable(False)
|
|
110
|
+
self.disabled_controls.append(btn)
|
|
111
|
+
self.Bind(wx.EVT_BUTTON, handler, id=btn.GetId())
|
|
112
|
+
elif item[0].lower() == 'sep':
|
|
113
|
+
self.AddSeparator()
|
|
114
|
+
elif item[0].lower() == 'space':
|
|
115
|
+
self.AddSpacer(item[1])
|
|
116
|
+
elif item[0].lower() == 'ctrl':
|
|
117
|
+
self.AddControl(item[1])
|
|
118
|
+
self.Thaw()
|
|
119
|
+
self.DoLayout()
|
|
120
|
+
|
|
121
|
+
|
|
122
|
+
def SetProperties(self):
|
|
123
|
+
"""
|
|
124
|
+
Setup the buttonpanel colours, borders etc.
|
|
125
|
+
"""
|
|
126
|
+
bpArt = self.GetBPArt()
|
|
127
|
+
bpArt.SetGradientType(bp.BP_GRADIENT_VERTICAL)
|
|
128
|
+
bpArt.SetColor(bp.BP_GRADIENT_COLOUR_FROM, wx.Colour(119, 136, 153)) #light slate
|
|
129
|
+
bpArt.SetColor(bp.BP_GRADIENT_COLOUR_TO, wx.Colour(245, 245, 245)) # white smoke
|
|
130
|
+
bpArt.SetColor(bp.BP_BORDER_COLOUR, wx.Colour(119, 136, 153))
|
|
131
|
+
bpArt.SetColor(bp.BP_BUTTONTEXT_COLOUR, wx.BLACK) # not used
|
|
132
|
+
bpArt.SetColor(bp.BP_SEPARATOR_COLOUR,
|
|
133
|
+
bp.BrightenColour(wx.Colour(60, 11, 112), 0.85))
|
|
134
|
+
bpArt.SetColor(bp.BP_SELECTION_BRUSH_COLOUR, wx.Colour(225, 225, 255)) # used?
|
|
135
|
+
bpArt.SetColor(bp.BP_SELECTION_PEN_COLOUR,
|
|
136
|
+
wx.SystemSettings.GetColour(wx.SYS_COLOUR_ACTIVECAPTION))
|
|
137
|
+
|
|
138
|
+
def Update(self, pagenum, numpages, zoomscale):
|
|
139
|
+
"""
|
|
140
|
+
Called from viewer to initialize and update controls.
|
|
141
|
+
|
|
142
|
+
:param integer `pagenum`: the page to show
|
|
143
|
+
:param integer `numpages`: the total pages
|
|
144
|
+
:param integer `zoomscale`: the zoom factor
|
|
145
|
+
|
|
146
|
+
:note:
|
|
147
|
+
In the viewer, page range is from 0 to numpages-1, in button controls it
|
|
148
|
+
is from 1 to numpages.
|
|
149
|
+
|
|
150
|
+
"""
|
|
151
|
+
if self.disabled_controls:
|
|
152
|
+
for item in self.disabled_controls:
|
|
153
|
+
item.Enable(True)
|
|
154
|
+
self.disabled_controls = []
|
|
155
|
+
self.Refresh()
|
|
156
|
+
|
|
157
|
+
self.pageno = pagenum + 1
|
|
158
|
+
self.page.ChangeValue('%d' % self.pageno)
|
|
159
|
+
if numpages != self.numpages:
|
|
160
|
+
self.maxlabel.SetLabel('of %d' % numpages)
|
|
161
|
+
self.numpages = numpages
|
|
162
|
+
self.percentzoom = zoomscale * 100
|
|
163
|
+
self.zoom.SetValue('%.0f%%' % self.percentzoom)
|
|
164
|
+
self.zoomtext = self.zoom.GetValue() # save last good value
|
|
165
|
+
|
|
166
|
+
def OnSave(self, event):
|
|
167
|
+
"""
|
|
168
|
+
The button handler to save the PDF file.
|
|
169
|
+
"""
|
|
170
|
+
self.viewer.Save()
|
|
171
|
+
|
|
172
|
+
def OnPrint(self, event):
|
|
173
|
+
"""
|
|
174
|
+
The button handler to print the PDF file.
|
|
175
|
+
"""
|
|
176
|
+
self.viewer.Print()
|
|
177
|
+
|
|
178
|
+
def OnFirst(self, event):
|
|
179
|
+
"""
|
|
180
|
+
The button handler to show the first page of the report.
|
|
181
|
+
"""
|
|
182
|
+
if self.pageno > 1:
|
|
183
|
+
self.pageno = 1
|
|
184
|
+
self.ChangePage()
|
|
185
|
+
|
|
186
|
+
def OnPrev(self, event):
|
|
187
|
+
"""
|
|
188
|
+
The button handler to show the previous page of the report.
|
|
189
|
+
"""
|
|
190
|
+
if self.pageno > 1:
|
|
191
|
+
self.pageno -= 1
|
|
192
|
+
self.ChangePage()
|
|
193
|
+
|
|
194
|
+
def OnNext(self, event):
|
|
195
|
+
"""
|
|
196
|
+
The button handler to show the next page of the report.
|
|
197
|
+
"""
|
|
198
|
+
if self.pageno < self.numpages:
|
|
199
|
+
self.pageno += 1
|
|
200
|
+
self.ChangePage()
|
|
201
|
+
|
|
202
|
+
def OnLast(self, event):
|
|
203
|
+
"""
|
|
204
|
+
The button handler to show the last page of the report.
|
|
205
|
+
"""
|
|
206
|
+
if self.pageno < self.numpages:
|
|
207
|
+
self.pageno = self.numpages
|
|
208
|
+
self.ChangePage()
|
|
209
|
+
|
|
210
|
+
def OnPage(self, event):
|
|
211
|
+
"""
|
|
212
|
+
The handler to go to enter page number of the report, if a
|
|
213
|
+
valid number is entered.
|
|
214
|
+
"""
|
|
215
|
+
try:
|
|
216
|
+
newpage = int(self.page.GetValue())
|
|
217
|
+
if 1 <= newpage <= self.numpages:
|
|
218
|
+
if newpage != self.pageno:
|
|
219
|
+
self.pageno = newpage
|
|
220
|
+
self.ChangePage()
|
|
221
|
+
except ValueError:
|
|
222
|
+
pass
|
|
223
|
+
event.Skip()
|
|
224
|
+
|
|
225
|
+
def OnZoomOut(self, event):
|
|
226
|
+
"Decrease page magnification"
|
|
227
|
+
self.viewer.SetZoom(max(0.1, self.percentzoom*0.5/100.0))
|
|
228
|
+
|
|
229
|
+
def OnZoomIn(self, event):
|
|
230
|
+
"""
|
|
231
|
+
The button handler to zoom in.
|
|
232
|
+
"""
|
|
233
|
+
self.viewer.SetZoom(min(self.percentzoom*2/100.0, 10))
|
|
234
|
+
|
|
235
|
+
def OnZoomSet(self, event):
|
|
236
|
+
"""
|
|
237
|
+
The zoom set handler, either a list selection or a value entered.
|
|
238
|
+
"""
|
|
239
|
+
MINZ = 0
|
|
240
|
+
MAXZ = 1000
|
|
241
|
+
newzoom_scale = None
|
|
242
|
+
num = self.zoom.GetSelection()
|
|
243
|
+
if num >= 0: # selection from list
|
|
244
|
+
newzoom_scale = self.zoom.GetClientData(num)
|
|
245
|
+
else: # combo text
|
|
246
|
+
astring = self.zoom.GetValue().strip().replace('%','') # ignore percent sign
|
|
247
|
+
try:
|
|
248
|
+
numvalue = float(astring)
|
|
249
|
+
if numvalue < MINZ or numvalue > MAXZ:
|
|
250
|
+
numvalue = None
|
|
251
|
+
except ValueError:
|
|
252
|
+
numvalue = None
|
|
253
|
+
if numvalue: # numeric value
|
|
254
|
+
newzoom_scale = numvalue/100.0
|
|
255
|
+
else: # valid text?
|
|
256
|
+
textvalue = self.zoom.GetValue()
|
|
257
|
+
for k in range(len(self.comboval)):
|
|
258
|
+
if textvalue.lower() == self.comboval[k][0].lower():
|
|
259
|
+
newzoom_scale = self.comboval[k][1]
|
|
260
|
+
break
|
|
261
|
+
|
|
262
|
+
if newzoom_scale:
|
|
263
|
+
self.viewer.SetZoom(newzoom_scale) # will send update to set zoomtext
|
|
264
|
+
else:
|
|
265
|
+
self.zoom.SetValue(self.zoomtext) # restore last good value
|
|
266
|
+
event.Skip()
|
|
267
|
+
|
|
268
|
+
def OnWidth(self, event):
|
|
269
|
+
"""
|
|
270
|
+
The button handler to fit display to page width.
|
|
271
|
+
"""
|
|
272
|
+
self.viewer.SetZoom(-1)
|
|
273
|
+
|
|
274
|
+
def OnHeight(self, event):
|
|
275
|
+
"""
|
|
276
|
+
The button handler to fit display to page height.
|
|
277
|
+
"""
|
|
278
|
+
self.viewer.SetZoom(-2)
|
|
279
|
+
|
|
280
|
+
def ChangePage(self):
|
|
281
|
+
"""
|
|
282
|
+
Update viewer with new page number.
|
|
283
|
+
"""
|
|
284
|
+
self.viewer.GoPage(self.pageno - 1)
|
|
285
|
+
|
|
@@ -0,0 +1,240 @@
|
|
|
1
|
+
#----------------------------------------------------------------------
|
|
2
|
+
# This file was generated by ./encode_bitmaps.py
|
|
3
|
+
#
|
|
4
|
+
from wx.lib.embeddedimage import PyEmbeddedImage
|
|
5
|
+
|
|
6
|
+
First = PyEmbeddedImage(
|
|
7
|
+
"iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAACz0lEQVRIiX1WsUodQRQ9Z7ME"
|
|
8
|
+
"AoKJxC5EEgyKGk2RP7B8IA/Uwi+wsLS18g8srVKkCQGbZyFJG5tUIoSAIAQtAhaBBBuJmXtS"
|
|
9
|
+
"zNzZ2X1PF5a9b+bOnTtn7jn3ceHzwgcAM7jv0R2vuS3IOmMGwHBWk5wB8EaSSBIAJIkobJEe"
|
|
10
|
+
"VJJopCRBICzGp0UfWfSXCTCgHpntfVnHIMOnsMb24JJQS8phlX54pkVAdTZQCurf6G/Ddk0Q"
|
|
11
|
+
"ACg0UJSwlFB0IIg+TcBs09K4qYDozgscAUUBiaQWPF27khSPHHdUtiUtPl5U/1kfi+OLkkkK"
|
|
12
|
+
"aS59Jx5OaO3lmmQxhoKEgJZdUYTDQSP9eDBw7fkad9/sYn1qnXkuAJUqrr5YxaA3YG+qRwSA"
|
|
13
|
+
"oVgbQAQwQlRAkY9bQuFPiPOz47PYebuDpadLSFWd5zI8RYw6lVyuCkloVUi8H409GMPW6y1s"
|
|
14
|
+
"vNpAxSpXHUUPKi9PCE0VpQGmQVLMlZI20PyTeQ56A0w+moQTsiQmQmetJaIpbZBrvqxrr3UA"
|
|
15
|
+
"0+PTnjFKvvg6BbWydh7kO7irrj1OztRh6Z7AUGadOQEBVetiQqJ5iLaf4OLPBa7/XmPko7Qu"
|
|
16
|
+
"JHkI7cuucrAieHZKG5xcnWDl4wqOzo9Gb1Ak2P1WThInUGl7HUnS1fWVtj9ta/NwE5e/L0vt"
|
|
17
|
+
"koLaJC3syomhoEi0EMmEAEJRqCDQiXT84xj9933uf93Hbbil61QmWsyefg91xtowRJSD7wc4"
|
|
18
|
+
"/XmK81/nrbmbfzfY+7KHw2+HWJ5ebu6ro2GSwLl3cycQltoMTB1qpIDd0b2KDTJZhdOaRsDA"
|
|
19
|
+
"VPdJZtsdCgY2/EBbrpv+0Ei9ZalHnUgCmABjK6vcubqn6WbalfbirZNQJRZqiMlJX1QGyv5K"
|
|
20
|
+
"heT649ij6YCRyamJZzbGgM7GfORCVug+FIc6YP7DAKFGwFkXEplQqOSwlJc+DgcKaLKw4Ow/"
|
|
21
|
+
"oX1dfBQFFGsAAAAASUVORK5CYII=")
|
|
22
|
+
|
|
23
|
+
#----------------------------------------------------------------------
|
|
24
|
+
Prev = PyEmbeddedImage(
|
|
25
|
+
"iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAB3RJTUUH2QYaCSkRaCYhigAA"
|
|
26
|
+
"AAlwSFlzAAALEgAACxIB0t1+/AAAAARnQU1BAACxjwv8YQUAAAMGSURBVHjadVYxS1xBEJ6Z"
|
|
27
|
+
"typYBIsgJBCr6BVJoekMSSXpBDGgpd39AVHzC8Ta2tLmilSmC5gycD8gkEOsxEA0hXAgRsyb"
|
|
28
|
+
"7OzO7Nt9d75j2dndmd2Zb7+ZPex86vQAoQPysW+oTT5qydSsIyIwMSBhGDN6ucKkK7L/DZwf"
|
|
29
|
+
"drzyYtgfmVEssZR9Y2+EQYX8XHNQGnvFoCMHBls/Lw646DizeSqL5qVXkEPighyC5bpGxbks"
|
|
30
|
+
"kYgsttI7Dfdxr1HPrbxHYl/pOjU6uddx3m8e9eMBhUfZHSR8IXo19i4qbGwqXRO/vK346mTS"
|
|
31
|
+
"wg5wKBQFHKTRjUISdeQOWmsCEaNenYQWwoseYYCBVHYqhx7TnLTF54uw9moN22vitPTkSLlB"
|
|
32
|
+
"Y1rVyAEGm/Nt9sksHHw4gOOPx7D0bKlYy+1EDhAlWLKQdVwwZGpiCraWtrj7pgvTE9N6KcAJ"
|
|
33
|
+
"LlKoCaNtYlGVsajheWKIyCsvV3Dn7Q7PzcxZ6kFd10HfwwGJYdSwTgQXMsG8BA0xY8j803nY"
|
|
34
|
+
"e7cHyy+W/RYMI5/aBoJUmuGSC7qPy+8gKFEMcdJNwu77Xdh8vQnhqsTwsQN0M4WmoXPojF6U"
|
|
35
|
+
"sGTB8gEf4PzmnId/h2xwWG8tqwKcUZMT9X1PgSEVRGoqvUSusYbezx6ufl5F30MNdcCUiNCa"
|
|
36
|
+
"JmNDZaU4KmUBswisdiiL2Nh1c3/D+/192Piywf3f/bERFF5rNNaTXLJ5HUqsC/mdkssS52x4"
|
|
37
|
+
"ht1vXdj+vo2Xt5dlBLnXZqv7UUoMTZJwCGGRNGns5dNfp7D+dR0OfxzC7b/bogZZ/cnrlTOe"
|
|
38
|
+
"20RKtCzMXJb1O76Do8ERnFycwMLMwmjtwuYJcBZOSrQqK9dVrOQ23y7XV/dXfP3nuizXunmQ"
|
|
39
|
+
"wUpFXoIzeRyvC732s5o/t/q5/PVR/Bq4qF2us3IOWe3KIbICxQaR0xeNyje2qEuQXrcEQwGF"
|
|
40
|
+
"yfYy1hlEJC9FFeEIL1dWixJc+rrZezvyzyO6MAJPOMDDMLC/IPb3Ixa6cpNiHbJ54IR/qlWN"
|
|
41
|
+
"PPgPVhphQTIBT3gAAAAASUVORK5CYII=")
|
|
42
|
+
|
|
43
|
+
#----------------------------------------------------------------------
|
|
44
|
+
Next = PyEmbeddedImage(
|
|
45
|
+
"iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAACtUlEQVRIiYWWPUtcQRSG33e9"
|
|
46
|
+
"ETGS2EQhWAnGhFik22I7F1KlDegPsPYP+AfEYn+ANnYBCz/QJmAVQqyy2Agq6QRBUiUgiMx5"
|
|
47
|
+
"U8zHnfvhZuByz9w5e2bOM2feWS59XfoCYBGjmp54LNqCrPbNABguC5KLAD5IEkkCgCQRmS0y"
|
|
48
|
+
"BpUkGilJEAjz8WneR+b9ZQIMKFpXO2rVPkgzCyvtGFwSCkkprEInrjQLqNoECkHj2/tb0y4I"
|
|
49
|
+
"AgCFEkWOJUdRQ+B9yoDJpoXvpgzRkxvYgiJDIqmCp253JPmU/YxKtqTeq55mxmcg57/LhTFX"
|
|
50
|
+
"+sNBMh9DToJDxe5QRMRBI2N6MHB5dplH/SOsvVnjBCb8mPNjcAAcGG267LcOhANlQielFNKN"
|
|
51
|
+
"FQDn05wcm8T6+3Xsf9xH/3U/jVX8Ql9OqR/HOjG98EEBU6yUVF1zz+c06A20s7yDhRcLHoUr"
|
|
52
|
+
"scFBoV9FFHHEd8QQDo4vsax1Z7vY+7THje4Gpp9NM8cVEdGRAZ+fIF912mRXzSA2ABjjmFbe"
|
|
53
|
+
"ruDk84lW362qo05jk2GQnFDAgCfrOhy7KCFJOuilYmp8ivMv51GokDljOOHpTEDwE4ys65Ym"
|
|
54
|
+
"CWc3Z9j8tonr39flhgeZoIhyAldOEIMnp5YJbv7cYOv7Fk5/nSbftgMW30WWVq4xpR2w3D/e"
|
|
55
|
+
"Y/vnNnaHu3h4fIhao0z8lMtJmiBWT2UP/CbRy5B0fHXMwY8B7v7epbEa64pcQ2H/rIao8ggY"
|
|
56
|
+
"3g5xcHGA89vzxliFda5bme3l2rUhEmTQ4cVh/JFKrn6sjiLJe24LKGhMiNINZbWUrUxZhqpc"
|
|
57
|
+
"17Akua5lAJgAY6UC/lchkhpY6k8Bl99AzSoKNa48UPJXuASDndgjQwTzupMu8zJgo0Iyvow+"
|
|
58
|
+
"FBs3YPrDAKGAw2UdSVuFZCut+kQcyNAkYcHlP13rmcgeVJ4HAAAAAElFTkSuQmCC")
|
|
59
|
+
|
|
60
|
+
#----------------------------------------------------------------------
|
|
61
|
+
Last = PyEmbeddedImage(
|
|
62
|
+
"iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAACwklEQVRIiX1WPUtcURA9s3lK"
|
|
63
|
+
"bAwoIbAkEEJEsxgSLEw6MWkEC/cn6H/wH2hjbSvEzljZahobUwSEEAgSCRIIa2NjEQMWuXNS"
|
|
64
|
+
"3HvnzX2764NlZ++dNzPnzNfK7KfZjwCmcdfDIR/NMkFtnCkAxXklItMAXpOkiAgAkKTAyRTJ"
|
|
65
|
+
"RklSVIQkQQg02heNOtSoTyWgQDUw2ruijkb6UWgtZ+MkUZE0s0w/cqTOIBsOmIzm76iv/XIl"
|
|
66
|
+
"EAAQoqbC0+KpaFAQdWqDJoumc6WjaGgCB1DhKCFZ0NOUWyQj5OiRJpNcbi+zfb8NhnjOkO4C"
|
|
67
|
+
"OTM+g+7TLucfzpMabTCQCCjkllCQ6RAVyfCgkIVHC3KweIDV56sywpF4F+Ld0pMlbLzdkLUX"
|
|
68
|
+
"a4IASHDvBggChEq0DFKCmysAIcIcuzeG9Zfr2H+/j7nJueLOqI1Rg4HxLsD0WhleOmCiKSYT"
|
|
69
|
+
"YtU19WCKu+92uflmExOjE3QFUL8bSIaSriolRJKiCMUqJUVpDQgAK89WuPh4UXp/evE8Iijf"
|
|
70
|
+
"1dRoTA6s5n1d51r3/ZGe8dFxdiY7ds5AGBLXB7FMFRha1wMQ5JFioyUF5qK2ngBRJjknyxJV"
|
|
71
|
+
"xF0/t/9ucXF9USY5pPEQXF8o0DJjzrgpDXBw8vsE3b0ujn8d1w5cgM3vysHyMybKjparv1fY"
|
|
72
|
+
"+ryFo59H8M3Yl4NyVqUqUpQ50DoHSuXe9z3Z/rKNm9sbf9eXA2dcagehAdPNktPLU+yc7uDs"
|
|
73
|
+
"6qzv7vDHIXrXPVxeX9b5aswwkpDOh85XEK/KIZU21MABNmR7OQek7YtvlagYRbahmpC1hkxF"
|
|
74
|
+
"Oa4btNi4Zl44gRYZorM6kry5mmiakTZHu/tUCH4Dsa+T0/CjN2T6TIWUZOMe9QaMnZyWuHVj"
|
|
75
|
+
"NJi70SC7sSJZRyh9G9D+MICoEHDepIRKCKVc5HWkpU6mA44aGyw4/w8M23JBubTHcwAAAABJ"
|
|
76
|
+
"RU5ErkJggg==")
|
|
77
|
+
|
|
78
|
+
#----------------------------------------------------------------------
|
|
79
|
+
PrintIt = PyEmbeddedImage(
|
|
80
|
+
"iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAADDUlEQVRIiZ2Wz2pUWRDGf9Xc"
|
|
81
|
+
"yAgRxkVDFsFGRARHISADbdCNvkCEPIAL8R3c+RZKnmBmp45usuyFzKySxRCT+GehkUQik0Fb"
|
|
82
|
+
"O9fuez4X554/99rJwgPNrXO6uk7VV9/9qu3S6qU/gAsct3TExwVbyLXOHODYKszsArAgSWZm"
|
|
83
|
+
"AJJkZLbMQlBJMmcmSQjD+fjmvI+c95cTOCimZntc1j7Ij1W4ZIfgkigkxbCqNyHTLKBaF6gO"
|
|
84
|
+
"Gp7e3/1oF4YBmEhQBFgWfl3geve6h8InQB3SEELY+sd1Bu8HwgW4PIQ4X0mCaEoDb83fYml+"
|
|
85
|
+
"ibo1hEvMLD7/2fubwdvBVKhw1BD5bJqw+CpCUJGtsPdPC5gfAZEMhMXS0kU2dmOAyK7IKvMs"
|
|
86
|
+
"MjMbV2OomizK4KJIXK4xdlBQgODBxgNW3642GVT7hP27T++Y0QwA42o8BSKXIEJopb9Cv9vP"
|
|
87
|
+
"Cdu222SOZ893nnP3r7uhCnDQqQ3DQfdE1/rdvqdVvXI730/zWZxftLmTc1hlRuVjFrEpgo46"
|
|
88
|
+
"MaO8scc3uXk2w0ysQE6+AnNmVDAshyb00xUA9qX8AhWxgk5sioOv5VdGkxE/uypVDEdD8pgF"
|
|
89
|
+
"FbHjTo790T69Uz3WPqzx7M2zJnuO0Kab526y2Fvk8+Fnym/lESzymOnlwUt6p3o8ff1U5aRk"
|
|
90
|
+
"6fwSBLYk7kRr8GbAo38fcfXMVW182EgvXbggsCjI7L3BPR7OPtSr/17Z/Wv3uTJ3RU+2ntjB"
|
|
91
|
+
"6CAFFzZ7YlbLl5dtMplw58872t7btp2DHaj89+mCDCIcHI4P2RxtJgiAG2dvUL/V8azoJBmr"
|
|
92
|
+
"JhXbe9utIRTkumpC5J2EXALi8YvH2h/u+8lSg3X6l9Pc/v12U67btqAwZxGiOKGc15bdT7uU"
|
|
93
|
+
"k1LLvy0nOaWWa1A5KW33/92AeZL6pGnYxZWLa4gFnETQ8TAWEwEsm1ZhJOZYNy9Ic2W9oMrl"
|
|
94
|
+
"NSuzttusiGrrbWXil6SeDKLwJjeyDhnVPwwlZ/ha8DFZO+v0hwFRULGVZR2Htsmag7wl09En"
|
|
95
|
+
"Y1u0U8e2vgN1UBiOxfpC0gAAAABJRU5ErkJggg==")
|
|
96
|
+
|
|
97
|
+
#----------------------------------------------------------------------
|
|
98
|
+
SaveIt = PyEmbeddedImage(
|
|
99
|
+
"iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAADAElEQVRIiZ1Wv09TURT+zuuj"
|
|
100
|
+
"JWmMOomOrQaDDCTGri7MQoh/RfkLmFmY2AqJA7MbDQODjP5IQ2JEJwiJSNKURBY1OLT0ns/h"
|
|
101
|
+
"/nwPJMabvPTc+84797vf+c65ldk3s68BTOOmwb886m2CWlpTAIqjXESmAcyRpIgIAJCkILEp"
|
|
102
|
+
"4oOSpKgISYIQqI0van2o1p9KQIH8WrQ3obZBrp5Co+2Dk0ROMoSlm3ikSUCWNqAL6n+tv161"
|
|
103
|
+
"c4EAgBD2aFO1Kczfm7cU2YAEIG5TOyfEvQk+JGXvdA9nF2eWLrUniRQ5dAsPFtB+2IZLB0gG"
|
|
104
|
+
"O52n696uZ3VsHmwWaMsTVCDJDJn/iEnQYKfzso9QAFOmiAIQ4tXhksyRjmT7dBsjMwoU+Xfe"
|
|
105
|
+
"H4RUsyqWHi2xVqmJUGxe1KuLyKOW7YIH1f/dx9rnNYzNGO5D+y4mEqKCCipoTbXQvNO06jEo"
|
|
106
|
+
"UaSRoqAKAI1bDfZe9DDWcSpeDyCIeSKbQK1SC6qjcfE8RW43cYsFirpfuxiZka27KISCiqpZ"
|
|
107
|
+
"FUuPLUUepKgrNLoNguaTE/Qv+lz7aClKdO+f4F9BBa37LTTuNizqJMlWpgq40o4tAWDzdlN6"
|
|
108
|
+
"L3u41Eub5EREbk4A4iiybcaDdEkOJyihC2Myn0SNtX+qA781DYMo7AYmbuBq4v9HqScVVaRJ"
|
|
109
|
+
"j7Go2D3uYvXdKoaXQ/oGliQS9Yk6V56vYPHJImgHCnGCihQxB5YiiogMfg0wHA3Zftq+Umgg"
|
|
110
|
+
"2HnfkcHPQfAXFcAkPUpLFEGBkx8nhSPTEMvPlq/NQedtp0hp4RKyvhkNQUPCADTk7vEutw62"
|
|
111
|
+
"vHTpZczAQdKLDH2JgiSVGqimWqnmohIo8jfU+od1Hn4/lPOLc4gRbvQ2IkVJoYmK7H/b9wFl"
|
|
112
|
+
"58tOuPH8CWTm1cwnEHNQEr6P+2sxCiDoOrkSU66DnV6xJA/yYnuN2fdKcOphym/wJ4JyQj+z"
|
|
113
|
+
"mIJtK9ld4gG1R+Q+DG08thXxPkIpo45/GEDkMDhKUIdLO1RjRF1UiPeJ8o12LPyjPzWYSc7N"
|
|
114
|
+
"KY0aAAAAAElFTkSuQmCC")
|
|
115
|
+
|
|
116
|
+
#----------------------------------------------------------------------
|
|
117
|
+
Left = PyEmbeddedImage(
|
|
118
|
+
"iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAACzUlEQVRIiZ1WPUsdURA9Z11B"
|
|
119
|
+
"7EMIgRQJxCJGEkgidoKFpWATK3+AKFgIgo1YiSAIr4hia5N/IKRRCSSFwSbVS5MukB+g+JE7"
|
|
120
|
+
"J8X9fk8tXLjs7N3ZuTNnZs4sR7+MfgYwgvsu3bEsyoKsZ88AGLotyREAbySJJAFAkohCFhmN"
|
|
121
|
+
"ShKNlCQIhHn7NK8j8/oyAQa0t3p7n9feSH8UluVoXBJaScmswkP0tDCongMUjMa717d+uSGI"
|
|
122
|
+
"CAdF0kgYQMtygIJTj6dII2gkXNBxQceBcKBMoAv7DmjuTKTVa3FkETvvd0Bj3ncBDufluJdk"
|
|
123
|
+
"Q4BIPtQKlhimgJVXK5p/Me8dMUDO68m8jiQP1y0QtRQBgbE6ioNIEWuv1zT3fI4pUgfBwGCQ"
|
|
124
|
+
"MRdlFYX3Psm5lpMngIBGDTbebmDm2UxdZAESSRVc6duimjxEliGCeecHMYjNd5uafjqNqroA"
|
|
125
|
+
"nH086y3mdPbuj13snu56exGiVCV+k0PNELY/bGvyyWRutNCAADCAAZG+0arGJNmgSXDFXmlT"
|
|
126
|
+
"UgQMN8PqTHQw/mi88rqUy+c+nVhZQZaFHITWVoPGewH0eVcauiuC1HwhyRDQlIk5vzrHwvEC"
|
|
127
|
+
"Tv6c4EGXALk62U1qjNA0l9eXWD5axuHvwwcdkJot3HMVWeaYG7vB6vGqLq4vMPtytsJ67NMY"
|
|
128
|
+
"nHOxSmLD5cqpuSpA5EA5ZW5xgPvnuH6yzoOfBwDBeIVoGQ5glOkCd7mwH/LQlLxRwhUoAVtf"
|
|
129
|
+
"t7B/uo8UhOV31XfWvzxdu36IYIIsh9z51tHVzRWWJpYgp5qLSrrulQW0od0ZlD2H9HCLTNz7"
|
|
130
|
+
"vofu3y7kFBspTbr0bTHxIvXECAATELklehInVwj56NcRZALFzD/VbO5fbdl5KEM25QopJlcP"
|
|
131
|
+
"lasgyEz1KCCK0ysN82wwdmMKucCXUYdi9WNQ/TBAaOHQ7YWkhKHwuoIi6UQ4UECTp0f3P4CK"
|
|
132
|
+
"ICuf1hoBAAAAAElFTkSuQmCC")
|
|
133
|
+
|
|
134
|
+
#----------------------------------------------------------------------
|
|
135
|
+
Right = PyEmbeddedImage(
|
|
136
|
+
"iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAACs0lEQVRIiZ2Wv0scQRTHv9+7"
|
|
137
|
+
"BU//gZSBELwEhaQIaS0sLNJYWlnGC1xlo2ChrSAIVwhXWySNljFYnEIkpDLEVJdA/gohgs77"
|
|
138
|
+
"ptiZ2ZndnGAGhns7vHv73uf9mOX86fwHAF3ctzRhW5AFWe3MABjGBckugJeSRJIAIElEIosM"
|
|
139
|
+
"RiWJRkoSBMJK+7RSR1bqywQYUPzT2/u8Lo00o7BKDsYloZAUzco/BE8Tg6q9QN5o+C31rSm3"
|
|
140
|
+
"CCLgoEgaCQNolexRkEYuPloEjYTzOs7rOBAOlAl0/twBrYmJtOamiP3X++g/74NGwHkcDuU2"
|
|
141
|
+
"5LLBI1IZaoYlhFlHBODts7fqsIO9yz0F1jBMQCQiVEmGxUosMqXnJUqSq91VbL3aIuVxueS/"
|
|
142
|
+
"Ca6iquXoSbM6wm9trcyuYIpT2L7YhjOXI1VAZBUiGLQ2u4Zet5cWbF2O1SZJy0+XMd2axsZo"
|
|
143
|
+
"Q7fuNhiPiEIE9IdsoYU223nTeTl9Ts+Xniyp0+5w/dM6buymbETfKy1YmUSZQjKjd6mn9ee6"
|
|
144
|
+
"zsLjBR28OdBMa6a0Y5Ccz4Fv7WokAA+KIMgEQVFwCP1TRhB3qN//WOe/z9E77uH6z3WW7AKu"
|
|
145
|
+
"yrjviQevk/EJNj9u4u7urlF5nHs/9w3CC5+LZheHl5vQVhtX764y40c/jrBzulOVaf6C70Vo"
|
|
146
|
+
"qpgDn3QYGAdaOYeCzZiDw8tD7o52YWbZuPZV2UQ0yXOK1RlKlMOvQww+D3J95XI5rp1iY1Rj"
|
|
147
|
+
"WFCYLYoRhQrG4GKg4ZdhOrarOZbKAgoaI6J4Q1l+QwVcktA/7uvs11lW1imWcOPVIwBMgLGB"
|
|
148
|
+
"J8UnCaOfo4gsVl2KqLYLuHS8JmF62V9/Sg0lo1zJgKxGPRJE4faKl3llMHRjDDnhy6BDMfsw"
|
|
149
|
+
"yD4YIBRwGNeRZJVTeZ1XSNBJLqIox4rG+C+fohr4fgXssAAAAABJRU5ErkJggg==")
|
|
150
|
+
|
|
151
|
+
#----------------------------------------------------------------------
|
|
152
|
+
Width = PyEmbeddedImage(
|
|
153
|
+
"iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAADeUlEQVRIiZWWT2gVVxTGf2cy"
|
|
154
|
+
"L5TEQDA2aUFINmKJjyiUtjQidGHblcsGQRBx1Y3BjRtFXIkLF4ILcRehWmtWQRfWUIpdJC5E"
|
|
155
|
+
"07hJUpAUJWmLpf5pCYS8ez8Xd+78y4vQgeGdmTnz3Xu+Od93njWnmz8Au3nXoS1OH2MhX7vn"
|
|
156
|
+
"Ac9Sama7gX2SZGYGIElGKZZZBJUk82aShDB8wDcfcuRDvrzAQ9p2t+/adQDZXIUv4gguiVRS"
|
|
157
|
+
"DqvsIu60BKjaAspA42/I95vj1DAAEwUVZVrKVNQoCDkFYB6bz+57lSja8gO2oaJEiaQKPfU4"
|
|
158
|
+
"kRRKDisqj1XEPR09Gn1/VHLhen//fnUn3eE9h+QDhpyEoxInJiPSYd4slpeVbCO9I0x+MWkH"
|
|
159
|
+
"PzwYnjk4NHjIbn11i+HeYcNjODBXetdhOExeJHlJWbmxA8wbx3cd59qBa+zs3lnpDgSDPYNc"
|
|
160
|
+
"//o6Rz86SuIT5IWcwBHOsBBJLC+7IXmpr9HH1c+v6uTwSaWWxg8d6HAi6x0aSUOnPjmlK19e"
|
|
161
|
+
"YXvndslJclW6rHm7OYfYhxAeG+0f5fzH57XjvR2F0Mxs5b8VFl8ugtCevj020DVQEeaLtRd2"
|
|
162
|
+
"+qfTzD6bDUIMWvnVmlPNOUl7U1LGh8c5tusYWev+78PLM/F4gsszl2m1WshrPsn4tk46Geoe"
|
|
163
|
+
"ssSSIIzsKMfl63Y5HUmHDfUO0aBhuKCLjv5v+r9FfLDR2uDes3v2av0lnw58RpqkeRlmZiv/"
|
|
164
|
+
"rvDwj4csv1qmq9Fl2zq35QsBrLt1u/DzBS7ev0ir1YrC/DPJv7oD7zw3Fr7nyN0jLL9erpQ/"
|
|
165
|
+
"83yG8R/HOXH3BI9WH1WePf3nKYdvHObm45tFJ7XrIrkgroW/Fxi7Paap36YKjxK50GIXSdLk"
|
|
166
|
+
"/KTGvhtj6a8ltRNsGkVV8RYvrW2s2Zn7Z3jw/IHOHjgbhRiNzt6sv9G56XM2vThd+E9hhBat"
|
|
167
|
+
"IsXVPKTmJXcW7/Bk9Qkj/SN56bO/z3Lpl0usvl6t5tc8TBI2PDE8h9hbBc4mVFsD22J6lRaQ"
|
|
168
|
+
"8nkxn5q3nKJ8QvnqhMIXJctTtesaLRW6JNJM+uAFYbFiJ3Fy1aup77Ru7aUzxZUnkFQCV8ng"
|
|
169
|
+
"VAbK85UNwdhZkXuKCZhGJefDvACMYslLzqdXeCaEmWzTBMz/MCBSHEt1SuSFyaqDvNhpNSfS"
|
|
170
|
+
"QYmawsqW3gIVgl7eufygTQAAAABJRU5ErkJggg==")
|
|
171
|
+
|
|
172
|
+
#----------------------------------------------------------------------
|
|
173
|
+
Height = PyEmbeddedImage(
|
|
174
|
+
"iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAADXklEQVRIiX1Wz2tcVRT+vjfP"
|
|
175
|
+
"dKE4jNhBI1kISogMxlQZQgKW/gtdtnQZaLclq5Z2kRYyJH9DtyXQLkSxopBBitK6KKmIDBmD"
|
|
176
|
+
"CxeGGLEEIWli7/lc3B/vvb6ZXri8M/eec+493z3fOcPOd50NANN41dCYaVEWZC+tGQDDdk5y"
|
|
177
|
+
"GsAnkkSSACBJREkWGZ1KEo2UJAiEef80ryPz+jIBBuQjbzvm1g00AAEv7EU9Civk6FwScknJ"
|
|
178
|
+
"rcKPeNN0a/Py1Y+uQhLWfllTcBq/Xt/qck4QACgUUJRhiVCcbZ/FxfcvAoAe7z3mwz8fep3C"
|
|
179
|
+
"YZJpYd2EbOxDWjHbE22szK4gYwaCuP3pbbRPtQEX4HDw01CVDcgkeQj8iUqyvJwpw+rcqloT"
|
|
180
|
+
"LUUIWxMtrXZXQVFwkMz7kJPCoUnOKCLCQSNjeCFkLn24hO7pLuMAAJLstrtYmlkiDIQD6Eq2"
|
|
181
|
+
"DoQDPUQlKEI0KdQzb53B5enLY+lx5eMrmHt7LkElV4cri+GFBQWY0Myb6n3WU4MND1cY5Wxr"
|
|
182
|
+
"sKG1z9fUfK3pbZ0kV4UrD7lLCIKBFCGTFt5d4OCfAQYYSBJnWjOYfGMSknRwfMAne08U7LA4"
|
|
183
|
+
"uagHwwfJlhaIJoCdLzpbkmbHkSam28r8Cs5/cB4AsLW3hUtfXUp7r7D7OYcBgdqj89oKTpCM"
|
|
184
|
+
"cBEuRGwsyoe/dbKFCogqDw0Dzr13DvPvzCdezJ6eTY879eYUri1eS3uP/niE/m/9VCYoojjA"
|
|
185
|
+
"lUIKzmXCYH+AW/O30DzVRMjONNqvt3GhcwEk8ezoGe78dKcGT/xWskiuINruv7u6+cPNlDWj"
|
|
186
|
+
"skiSbnx7Q7sHu1WSluQsEkNOnmiODLnMzd83ufHrBlgakWgAcPfpXfaHfcJKRHMFSf0BpbqR"
|
|
187
|
+
"SFIiyvqP6xj+PayRbLg/xHp/vbCz+pSETE5INSRB5NfkpOcnz7H8zbKO/jtKEB2eHGr5y2Uc"
|
|
188
|
+
"nxyPhKUCEY1IsFioIa4a8s7+Dnvf9wj42t7b7HHnr52RtUtSZT2XU3hxAcYawaJ87+k9LEwt"
|
|
189
|
+
"QBLub90vsq7Sm+szhyt3IKnkXKX2Jwi4/vX1Ys87VUxtCEUHRNENPZNDE09s9A4jG1NDPzw6"
|
|
190
|
+
"TB0u6lCsdcD0hwFCDoftlyGpsDE28uKmVZ0IB0rQFLzc/h/4UISz4M1LhAAAAABJRU5ErkJg"
|
|
191
|
+
"gg==")
|
|
192
|
+
|
|
193
|
+
#----------------------------------------------------------------------
|
|
194
|
+
ZoomIn = PyEmbeddedImage(
|
|
195
|
+
"iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAELklEQVRIiX1WTWhUVxg95817"
|
|
196
|
+
"GlON2ug0KRiJaJOQBEWarm0F46qLGqhIcZ1EkEYCulBcunAhCLrJSgraRaG0hSyiEXUlGcmk"
|
|
197
|
+
"Tn9MLTb+jEyiScAkxsx47+nivfvmzUQdeMz37vveufc75/t57Bjp+BFACz7003su62xBtmrN"
|
|
198
|
+
"ArCY9Em2ANgjSSQJAJJEJGyRDlSSaElJgkDYEJ829JEN/WUFWMB/52k/dOoQZHUUtmw7cEnw"
|
|
199
|
+
"JcWwim7cSROAqtpAEaj7D/3tatsnCAAUylQ4Wnau34nuhm41fdTEoini/tx9DD8d1uLbRToq"
|
|
200
|
+
"EoCxTRutW4GdI53ZWINoAw+eBlsHeWT7ERCMtQGAuZU5nc6c5p3nd5wWYSQWZQ3Kekyk0t+l"
|
|
201
|
+
"eyF8kqTgVNspROC4VbiFq4+uYmJ2Ag3rGtCwrgHd27pxb/oeni8+j7mONajUZNqjwjNCAC3Z"
|
|
202
|
+
"ur6Vh7cfBgCey53j8bvHsXnNZmZfZtkz0sOxmTEEXsCzn59FRAVhABrSUQMDwoCygpfcWRK6"
|
|
203
|
+
"G7tBELn5HK79ew0yQn9bP7rqu7BcWsaZu2dgrEFzXTP2btkLGAAm5FtG8X20ETxZhVkRLmhb"
|
|
204
|
+
"7TYBwPjLcfW19il3KAdJ6mvvU+7bnPKv8ni2+EwA0L65XTLld2UkmRBPRoIB/IgzQqFQS6Ul"
|
|
205
|
+
"AFD92nrezt8GDNTf2c9MIYPMdAYBAm1au4kAFDBgFL1gQYqxyK5WvCid5CLJzGQEAPs/3a/8"
|
|
206
|
+
"Ql6X71+GJI0VxnQpe0k9O3tQt6ZOAPDf/KN3njpiRDKRBrQMhbLkyJMRPl54jNqglkP7hti1"
|
|
207
|
+
"tQu7f9jNK39c4dG2ozz5xUm4tJ1ZfEGaUFgaEgYVIsMC7PipIwthTxyahF11uzT01RC3rNsC"
|
|
208
|
+
"SVoxK/Q9H77nw/UsSXq18orHfjuG8fx4ZR2UC3AilT6U7oVFQ6yFBWZfz2L40TA3BBvQVNeE"
|
|
209
|
+
"2qCWHj28tW+RX8hjY81GAkBNUMODnx3EX4U/8WT+KV0NuEKDRYHt19qzEHa70q5oXBZIIYX6"
|
|
210
|
+
"mnrQEvPL85ARLhy8gH3N++L+WDIlnPj1BEb/Ga1ugL+n0t+ke2HRKKuwKbhiCUOmjLD0ZolL"
|
|
211
|
+
"b5ZojKExBjce3mDr1hY0f7yDJOnRw4GWA3ww/YBTL6ZcVhIWBS8uiqgwqgtFRqueF0tFfP/L"
|
|
212
|
+
"AG4+vBlHEaQCDH45WBG9JHgyQpxeRgpTLFxzReTs5LNiqYiBnwc0Ojkat/rJ6Ukl0l6wQCr9"
|
|
213
|
+
"dbqXlo0JkakodV02OLriZ9G6NZbX/75OgpianeL5kfN8XXxdflco+DJOWAGWFd1wlehVE0wS"
|
|
214
|
+
"Sirh4s2L751+PkxyAkkJcCXGn5Lgsb+iIRjZ8cRDeQL6rpLjYV4GdHmtRF67UUrnQ7Hiw6Di"
|
|
215
|
+
"gwGCD4PJakqilK0c5OWTVvo4OpCgJp5/mPwf/ayV5rr3q+AAAAAASUVORK5CYII=")
|
|
216
|
+
|
|
217
|
+
#----------------------------------------------------------------------
|
|
218
|
+
ZoomOut = PyEmbeddedImage(
|
|
219
|
+
"iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAEE0lEQVRIiX1WTUxUVxT+vjdv"
|
|
220
|
+
"Kj8FbcERmoCh0Q4ESBsT66ZNaE2EVY3tStO4hrgphkQXunbhwkTdsW2kJk2a1oQ0KERdNYEA"
|
|
221
|
+
"StpKbSkqENACqYLIDPd+Xbx737wZqpNM3nn3nXfuud/5vnMe24bavgOQxZt+es3feluQLVmz"
|
|
222
|
+
"ACymQ5JZAB9JEkkCgCQRCVukDypJtKQkQSBsFJ828pGN/GUFWCD832zflHUUZPspbMH2wSUh"
|
|
223
|
+
"lBSHlbvxmSYCqmQDuaD+Gvnb7XZIEAAoFKDwsOx7ex866zrVWNnInMnh/sp9DD4Z1NrWGj0U"
|
|
224
|
+
"iYCxTevWrcD2ofaJuAZugwCB+pr7eGLvCRCMawMAK5srOjd6jncX7vpaRCexKNSgUI/JVObr"
|
|
225
|
+
"TDeEPUkIzrachQuO24u3cW3mGiaXJ1FXXoe68jp0NnRibGkMC2sLMdZxDYprssT2n9snIHcC"
|
|
226
|
+
"S2arsrj+6XUR5IWpCxj4ayDOroxluPrJVR3ac4gz/87o6I2jlFVp1km4JoPkzpLQWd8Jgpha"
|
|
227
|
+
"ncLAnwOQcdkZYCO/gfO/nIexBk3VTThQewAw0TNZRb7u3r8TOsrFrGioaAAAjP8zrp7mHvS0"
|
|
228
|
+
"9CTJi7Zv2zC3NqfGqka0vtOqsbkxD4k8PSEUWOQW6Ba5nl8HANXsqOGd+TuAQSQot00aae3a"
|
|
229
|
+
"sYsAlGaaLpBgQYoxXF4rYUwzl8Xo01Ec23sMh987rCv3rmB0YTTJexzPHkf1W9UCgL9XZxRD"
|
|
230
|
+
"mMja60BWCGABWhImug49HuKjF49Qka5gf0c/D+4+iJRSrAwqebLlJM98fAaetk/XnpEm4jwN"
|
|
231
|
+
"CRMVFwaxzbbv2yIW2bjHYH/1fvV/3s/a8lpI0qbZZBiECIMQvmdJ0vPN5zx14xTG58eLdVAQ"
|
|
232
|
+
"4GQq81WmGxZ1cS0ssPxyGYMzg6xKV6GxuhEV6QoGDLBltzD/Yh47y3YSAMrSZez6oAu/Lf6K"
|
|
233
|
+
"x6tP6DXgKQuLRbYOtE5A+NBjVtS4LJBCCjVlNaAlVjdWISNc6rqEjqaOuD/mTR6nfzqN4T+G"
|
|
234
|
+
"SxvgvVTmy0w3LOplFTUF10fckSkjrL9a5/qrdRpjaIzBrYe32Lw7i6Z33ydJBgxwJHuED5Ye"
|
|
235
|
+
"cPbZrGclYbEYxKJwwigVSsySxPNcPodvfuzFyMOR+BTpVBp9n/UVnV4SAhlBRnLBFEk9WpNx"
|
|
236
|
+
"dHN28lkun0PvD70anh6OW/300rSnp/MFUpkvMt20rE8UmXLU9WzwcMXP3Lo1ljd/v0mCmF2e"
|
|
237
|
+
"5cWhi3yZe1l4V1gMZXxhBVgWdcNtRS+ZYJKQVx6XRy6/dvqFMMkJVFCsV6/rL0oGj/3lhqBX"
|
|
238
|
+
"sp94KEzA0Cs5HuaFgJ7XSvDatxV6H4pFHwZFHwwQQhhMl0LiKFs8yAuZFvt4OJCAJp5/mP4P"
|
|
239
|
+
"yFN2/NjDF0IAAAAASUVORK5CYII=")
|
|
240
|
+
|