From 4ec660fd74dcb82d1cabd510452803fd09debd45 Mon Sep 17 00:00:00 2001 From: Adriaan Wormgoor Date: Mon, 21 Oct 2013 11:40:38 +0200 Subject: [PATCH] overhaul of client files to 'www' dir. This dir will now as a 'bin' dir of sorts. Outside of the 'www' dir there will be old files, temp files and also shell scripts which support continuous compilation and minification of css and js files --- css_old/_backup20131010/d3d_btns.css | 179 +++++++++ css_old/_backup20131010/fixedPosInterface.css | 93 +++++ css_old/_backup20131010/settingsPopup.css | 74 ++++ css_old/_backup20131011/fixedPosInterface.css | 329 ++++++++++++++++ .../fixedPosInterface.css.BACKUP.99789.css | 329 ++++++++++++++++ .../fixedPosInterface.css.BASE.99789.css | 323 ++++++++++++++++ .../fixedPosInterface.css.LOCAL.99789.css | 329 ++++++++++++++++ .../fixedPosInterface.css.REMOTE.99789.css | 0 {css => css_old}/_backup20131011/popups.css | 0 css_old/_settings.css | 96 +++++ {img => img_old}/bg_vertical.jpg | Bin img_old/logo/logo_full_8bit.png | Bin 0 -> 19659 bytes img_old/logo/logo_small BACKUP.png | Bin 0 -> 53815 bytes img_old/logo/logo_small_8bit.png | Bin 0 -> 14509 bytes img_old/logo/logo_smaller_8bit.png | Bin 0 -> 6217 bytes {img => img_old}/logo/logo_smaller_wide.png | Bin img_old/logo/logo_smaller_wide_8bit.png | Bin 0 -> 6347 bytes {img => img_old}/logo/logo_smallest_wide.png | Bin img_old/thermo_bg_2.png | Bin 0 -> 1770 bytes img_old/thermo_fg_2.png | Bin 0 -> 1127 bytes js_old/Thermometer.js.orig | 136 +++++++ {js/libs => js_old}/bootstrap.js | 0 {js/libs => js_old}/bootstrap.min.js | 0 js_old/init_layout backup20130918.js | 260 +++++++++++++ js_old/main.js.orig | 139 +++++++ {js => js_old}/previewRendering_v01.js | 0 js_old/previewRendering_v02.js.orig | 355 ++++++++++++++++++ {css => www/css}/debug.css | 0 {css => www/css}/settings.css | 0 {css => www/css}/styles.css | 0 {css => www/css}/styles.min.css | 0 favicon.ico => www/favicon.ico | Bin favicon.png => www/favicon.png | Bin favicon_alt.ico => www/favicon_alt.ico | Bin {img => www/img}/arrows.png | Bin {img => www/img}/bg_bottom.png | Bin {img => www/img}/bg_middle.png | Bin {img => www/img}/bg_top.png | Bin .../img/bg_vertical.png | Bin {img => www/img}/buttons/btnDown.png | Bin {img => www/img}/buttons/btnInfo.png | Bin {img => www/img}/buttons/btnLeft.png | Bin {img => www/img}/buttons/btnNew.png | Bin {img => www/img}/buttons/btnOk.png | Bin {img => www/img}/buttons/btnOk_settings.png | Bin {img => www/img}/buttons/btnOops.png | Bin {img => www/img}/buttons/btnOops2.png | Bin {img => www/img}/buttons/btnOops_disabled.png | Bin {img => www/img}/buttons/btnPrint.png | Bin {img => www/img}/buttons/btnPrint2.png | Bin .../img}/buttons/btnPrint_disabled.png | Bin {img => www/img}/buttons/btnRight.png | Bin {img => www/img}/buttons/btnSave.png | Bin {img => www/img}/buttons/btnSettings.png | Bin {img => www/img}/buttons/btnStop.png | Bin {img => www/img}/buttons/btnStop2.png | Bin {img => www/img}/buttons/btnStop_disabled.png | Bin {img => www/img}/buttons/btnTurnLeft.png | Bin {img => www/img}/buttons/btnTurnRight.png | Bin {img => www/img}/buttons/btnUp.png | Bin {img => www/img}/buttons/btnZoomIn.png | Bin {img => www/img}/buttons/btnZoomOut.png | Bin {img => www/img}/buttons/settings_lable.png | Bin {img => www/img}/icon.png | Bin {img => www/img}/logo/logo_full.png | Bin {img => www/img}/logo/logo_small.png | Bin www/img/logo/logo_smaller.png | Bin 0 -> 31902 bytes www/img/logo/logo_smallest.png | Bin 0 -> 19093 bytes {img => www/img}/progress_bg.png | Bin {img => www/img}/progress_fg.png | Bin {img => www/img}/settings_lable.png | Bin {img => www/img}/thermometer_fg_overlay.png | Bin .../img}/vertical_shape_icons/converging.png | Bin .../img}/vertical_shape_icons/diverging.png | Bin .../img}/vertical_shape_icons/sinus.png | Bin .../img}/vertical_shape_icons/straight.png | Bin .../apple-touch-icon-114x114-precomposed.png | Bin .../apple-touch-icon-144x144-precomposed.png | Bin .../apple-touch-icon-72x72-precomposed.png | Bin .../apple-touch-icon-precomposed.png | Bin index.html => www/index.html | 2 +- {js => www/js}/Printer.js | 0 {js => www/js}/Progressbar.js | 0 {js => www/js}/SettingsWindow.js | 0 {js => www/js}/Thermometer.js | 0 {js => www/js}/buttonbehaviors.js | 0 {js => www/js}/canvasDrawing.js | 0 {js => www/js}/d3dServerInterfacing.js | 0 {js => www/js}/gcodeGenerating.js | 0 {js => www/js}/init_layout.js | 0 {js => www/js}/libs/excanvas.compiled.js | 0 {js => www/js}/libs/excanvas.js | 0 {js => www/js}/libs/html5shiv-printshiv.js | 0 {js => www/js}/libs/html5shiv.js | 0 {js => www/js}/libs/jquery-1.8.3.min.js | 0 {js => www/js}/main.js | 0 {js => www/js}/message.js | 0 {js => www/js}/previewRendering.js | 0 {js => www/js}/sidebar.js | 0 {js => www/js}/utils.js | 0 {js => www/js}/verticalShapes.js | 0 {library => www/library}/test/success.html | 0 settings.html => www/settings.html | 0 103 files changed, 2643 insertions(+), 1 deletion(-) create mode 100644 css_old/_backup20131010/d3d_btns.css create mode 100644 css_old/_backup20131010/fixedPosInterface.css create mode 100644 css_old/_backup20131010/settingsPopup.css create mode 100644 css_old/_backup20131011/fixedPosInterface.css create mode 100644 css_old/_backup20131011/fixedPosInterface.css.BACKUP.99789.css create mode 100644 css_old/_backup20131011/fixedPosInterface.css.BASE.99789.css create mode 100644 css_old/_backup20131011/fixedPosInterface.css.LOCAL.99789.css create mode 100644 css_old/_backup20131011/fixedPosInterface.css.REMOTE.99789.css rename {css => css_old}/_backup20131011/popups.css (100%) create mode 100644 css_old/_settings.css rename {img => img_old}/bg_vertical.jpg (100%) create mode 100644 img_old/logo/logo_full_8bit.png create mode 100644 img_old/logo/logo_small BACKUP.png create mode 100644 img_old/logo/logo_small_8bit.png create mode 100644 img_old/logo/logo_smaller_8bit.png rename {img => img_old}/logo/logo_smaller_wide.png (100%) create mode 100644 img_old/logo/logo_smaller_wide_8bit.png rename {img => img_old}/logo/logo_smallest_wide.png (100%) create mode 100644 img_old/thermo_bg_2.png create mode 100644 img_old/thermo_fg_2.png create mode 100644 js_old/Thermometer.js.orig rename {js/libs => js_old}/bootstrap.js (100%) rename {js/libs => js_old}/bootstrap.min.js (100%) create mode 100644 js_old/init_layout backup20130918.js create mode 100644 js_old/main.js.orig rename {js => js_old}/previewRendering_v01.js (100%) create mode 100644 js_old/previewRendering_v02.js.orig rename {css => www/css}/debug.css (100%) rename {css => www/css}/settings.css (100%) rename {css => www/css}/styles.css (100%) rename {css => www/css}/styles.min.css (100%) rename favicon.ico => www/favicon.ico (100%) rename favicon.png => www/favicon.png (100%) rename favicon_alt.ico => www/favicon_alt.ico (100%) rename {img => www/img}/arrows.png (100%) rename {img => www/img}/bg_bottom.png (100%) rename {img => www/img}/bg_middle.png (100%) rename {img => www/img}/bg_top.png (100%) rename img/bg_vertical2.png => www/img/bg_vertical.png (100%) rename {img => www/img}/buttons/btnDown.png (100%) rename {img => www/img}/buttons/btnInfo.png (100%) rename {img => www/img}/buttons/btnLeft.png (100%) rename {img => www/img}/buttons/btnNew.png (100%) rename {img => www/img}/buttons/btnOk.png (100%) rename {img => www/img}/buttons/btnOk_settings.png (100%) rename {img => www/img}/buttons/btnOops.png (100%) rename {img => www/img}/buttons/btnOops2.png (100%) rename {img => www/img}/buttons/btnOops_disabled.png (100%) rename {img => www/img}/buttons/btnPrint.png (100%) rename {img => www/img}/buttons/btnPrint2.png (100%) rename {img => www/img}/buttons/btnPrint_disabled.png (100%) rename {img => www/img}/buttons/btnRight.png (100%) rename {img => www/img}/buttons/btnSave.png (100%) rename {img => www/img}/buttons/btnSettings.png (100%) rename {img => www/img}/buttons/btnStop.png (100%) rename {img => www/img}/buttons/btnStop2.png (100%) rename {img => www/img}/buttons/btnStop_disabled.png (100%) rename {img => www/img}/buttons/btnTurnLeft.png (100%) rename {img => www/img}/buttons/btnTurnRight.png (100%) rename {img => www/img}/buttons/btnUp.png (100%) rename {img => www/img}/buttons/btnZoomIn.png (100%) rename {img => www/img}/buttons/btnZoomOut.png (100%) rename {img => www/img}/buttons/settings_lable.png (100%) rename {img => www/img}/icon.png (100%) rename {img => www/img}/logo/logo_full.png (100%) rename {img => www/img}/logo/logo_small.png (100%) create mode 100644 www/img/logo/logo_smaller.png create mode 100644 www/img/logo/logo_smallest.png rename {img => www/img}/progress_bg.png (100%) rename {img => www/img}/progress_fg.png (100%) rename {img => www/img}/settings_lable.png (100%) rename {img => www/img}/thermometer_fg_overlay.png (100%) rename {img => www/img}/vertical_shape_icons/converging.png (100%) rename {img => www/img}/vertical_shape_icons/diverging.png (100%) rename {img => www/img}/vertical_shape_icons/sinus.png (100%) rename {img => www/img}/vertical_shape_icons/straight.png (100%) rename {img => www/img}/webpage_icons/apple-touch-icon-114x114-precomposed.png (100%) rename {img => www/img}/webpage_icons/apple-touch-icon-144x144-precomposed.png (100%) rename {img => www/img}/webpage_icons/apple-touch-icon-72x72-precomposed.png (100%) rename {img => www/img}/webpage_icons/apple-touch-icon-precomposed.png (100%) rename index.html => www/index.html (98%) rename {js => www/js}/Printer.js (100%) rename {js => www/js}/Progressbar.js (100%) rename {js => www/js}/SettingsWindow.js (100%) rename {js => www/js}/Thermometer.js (100%) rename {js => www/js}/buttonbehaviors.js (100%) rename {js => www/js}/canvasDrawing.js (100%) rename {js => www/js}/d3dServerInterfacing.js (100%) rename {js => www/js}/gcodeGenerating.js (100%) rename {js => www/js}/init_layout.js (100%) rename {js => www/js}/libs/excanvas.compiled.js (100%) rename {js => www/js}/libs/excanvas.js (100%) rename {js => www/js}/libs/html5shiv-printshiv.js (100%) rename {js => www/js}/libs/html5shiv.js (100%) rename {js => www/js}/libs/jquery-1.8.3.min.js (100%) rename {js => www/js}/main.js (100%) rename {js => www/js}/message.js (100%) rename {js => www/js}/previewRendering.js (100%) rename {js => www/js}/sidebar.js (100%) rename {js => www/js}/utils.js (100%) rename {js => www/js}/verticalShapes.js (100%) rename {library => www/library}/test/success.html (100%) rename settings.html => www/settings.html (100%) diff --git a/css_old/_backup20131010/d3d_btns.css b/css_old/_backup20131010/d3d_btns.css new file mode 100644 index 0000000..1e60daa --- /dev/null +++ b/css_old/_backup20131010/d3d_btns.css @@ -0,0 +1,179 @@ +/*.logo { + background: #f5f5f5 url('../img/logo_full.png') no-repeat left top; +} + +@media screen and (max-width: 500px) { + .logo { + background: #f5f5f5 url('../img/logo_small.png') no-repeat left top; + } +}*/ + +/*body {*/ + /*-moz-user-select: none; *//* disable cut copy paste */ + /*-webkit-user-select: none; *//* disable cut copy paste */ + /*overflow:hidden; *//* This chops off any overhanging divs */ +/*}*/ + +/*img {*/ + /*z-index: 5;*/ + /*pointer-events:none;*/ + /*-webkit-touch-callout: none; *//**//*disable callout, image save panel */ + /*-webkit-tap-highlight-color: transparent; *//**//* "turn off" link highlight */ +/*}*/ + +/* http://stackoverflow.com/questions/5348092/prevent-default-press-but-not-default-drag-in-ios-mobilesafari */ +/*.btn {*/ + /*background-repeat: no-repeat;*/ +/* -webkit-user-select: none;*/ + /*cursor: pointer*/ +/*}*/ + +/* + + INTERFACE BUTTONS + +*/ +/* +#btnNew { + left: 10px; + top: 10px; + width: 194px; + height: 170px; + background: url('../img/buttons/btnNew.png') no-repeat; +} + +#btnPrevious { + left: 20px; + top: 180px; + z-index: 10; +} + +#btnNext { + left: 126px; + top: 186px; + z-index: 10; +} + +#btnSave { + left: 20px; + top: 240px; +} + +#btnOops { + left: 20px; + top: 450px; + width: 146px; + height: 144px; + background: url('../img/buttons/btnOops.png') no-repeat; +} +*/ + +/* +#btnPrint { + right: 15px; + top: 15px; +} + +#btnStop { + right: 20px; + top: 200px; +} + +#btnInfo { + right: 25px; + bottom: 90px; +} + +#btnSettings { + right: 25px; + bottom: 20px; +} +*/ + + + +/* + + DRAW AREA + +*/ + + +/*#drawAreaContainer > .manipulationBtns {*/ +/* +.drawareacontainer > .manipulationBtns { + margin: 5px; +} + +.manipulationBtn { + cursor: pointer; +} + +#btnsUpDown { + position: absolute; + right: 200px; + bottom: -75px; +} +#btnsUpDown > div { + float: left; + padding-right: 8px; + background-repeat: no-repeat; +} + +#btnsTurnLeftRight { + position: absolute; + right: 20px; + bottom: -75px; +} +#btnsTurnLeftRight >div { + float: left; + padding-right: 8px; + background-repeat: no-repeat; +} + +#btnMoveUp { + width: 65px; + height: 61px; + background: url('../img/buttons/btnUp.png'); +} + +#btnMoveDown { + width: 64px; + height: 63px; + background: url('../img/buttons/btnDown.png'); +} + +#btnTwistLeft { + width: 59px; + height: 61px; + background: url('../img/buttons/btnTurnLeft.png'); +} + +#btnTwistRight { + width: 64px; + height: 56px; + background: url('../img/buttons/btnTurnRight.png'); +} +*/ + +/* +#displayTemp { + position: absolute; + right: 55px; + top: 334px; + font-weight: bold; + background: white; + display:none; +} +*/ + +/* +.disabled { + opacity: 0.3; + cursor: default; +} + +#btnStop.disabled { + display: none; +} +*/ \ No newline at end of file diff --git a/css_old/_backup20131010/fixedPosInterface.css b/css_old/_backup20131010/fixedPosInterface.css new file mode 100644 index 0000000..881dd30 --- /dev/null +++ b/css_old/_backup20131010/fixedPosInterface.css @@ -0,0 +1,93 @@ +/* +#drawAreaContainer { + position: absolute; + top: 50%; + left: 50%; + background-color: #fff; + width: 65%; + min-width: 500px; + max-width: 650px; + height: 60%; + min-height: 150px; + max-height: 450px; + border: 4px solid #000; + border-radius: 15px; + overflow: hidden; + z-index: 15; + display: none; +} + +#canvasContainers { + display:table; + position: absolute; + top: 0; + bottom: 0; + left: 0; + right: 0; + width: 100%; + height: 100%; + padding: 0; + margin: 0; +} + +#mycanvasContainer { + display:table-cell; + width: auto; + height: 100%; +} +#mycanvas { + width: 100%; + height: 100%; + margin: 0; + padding: 0; + border-right: 2px solid #333; +} + +#previewContainer { + display:table-cell; + width: 150px; + height: 100%; +} +#preview { + width: 150px; + height: 100%; + float: right; + margin: 0; + padding: 0; +} +*/ + +/* DEBUG THING */ +/* +#preview_tmp { + position: absolute; + top: 0px; + left: 0px; + z-index: 500; + border: 1px solid #f80; + display: none; +} +*/ + +/* + + Buttons and logo's + +*/ +/* +.button { + display: table; +} +*/ + +/*#d3dlogo {*/ + /*position: absolute;*/ + /*top: 15px;*/ + /*left: 31%;*/ + /*width: 399px;*/ + /*height: 139px;*/ + /*background-image: url('../img/logo_full.png');*/ + /*cursor: pointer;*/ +/*}*/ + + diff --git a/css_old/_backup20131010/settingsPopup.css b/css_old/_backup20131010/settingsPopup.css new file mode 100644 index 0000000..95b407b --- /dev/null +++ b/css_old/_backup20131010/settingsPopup.css @@ -0,0 +1,74 @@ +#contentOverlay { + background-color: rgba(255, 255, 255, 0.65); + z-index: 20; + position: absolute; + top: 0px; + left: 0px; + width: 100%; + height: 100%; + display:none; +} +#settings { + background-color: #fff; + z-index: 15; + + position: absolute; + top: 50%; + left: 50%; + width: 835px; + height: 500px; + margin: -250px 0 0 -417.5px; + /*padding: 25px;*/ + + /*overflow: scroll;*/ + /*overflow-y: hidden;*/ + -moz-box-shadow: 0px 2px 6px 0px rgba(16, 16, 16, 0.65); + -webkit-box-shadow: 0px 2px 6px 0px rgba(16, 16, 16, 0.65); + box-shadow: 0px 2px 6px 0px rgba(16, 16, 16, 0.65); + border: 2px solid #222; + border-radius: 15px; + -moz-border-radius: 15px; + -webkit-border-radius: 15px; + overflow: hidden; +} +#settings header { + margin: 25px 25px 0 25px; + height: 44px; +} + +div.content { + margin: 15px 25px 25px 25px; + height: 388px; + display: table; +} + +div.content > div { + height: 100%; +} + +div.content > div.settings { + border: 1px solid rgb(187, 187, 187); + -webkit-border-radius: 5px; + -moz-border-radius: 5px; + border-radius: 5px; + + width: 660px; + overflow: scroll; + max-height: 368px; + overflow-x: hidden; + padding: 10px 10px 10px 10px; +} +div.content > div.manipulationBtns { + display: table-cell; + vertical-align: bottom; + width: 125px; + +} + +div.content .btnOK { + width: 85px; + height: 86px; + background: url('../img/buttons/btnOk_settings.png') no-repeat; + margin: 0 0 0 10px; + cursor: pointer; +} diff --git a/css_old/_backup20131011/fixedPosInterface.css b/css_old/_backup20131011/fixedPosInterface.css new file mode 100644 index 0000000..eb071f2 --- /dev/null +++ b/css_old/_backup20131011/fixedPosInterface.css @@ -0,0 +1,329 @@ +body { +/* This chops off any overhanging divs */ + overflow:hidden; +} + +.button { + display: table; +} + +/*#landscape {*/ + /*position:relative;*/ + /*width: 1024px;*/ + /*max-height: 768px;*/ + /*background-color: #808;*/ + /*border: 10px solid #ff0;*/ + /*margin: 0px auto;*/ +/*}*/ + + +#verticalShapes { + position:absolute; + right: -56px; + bottom: 15px; + /*background-color: #fff;*/ +} + +.verticalshape { + width: 50px; + height: 50px; + border: 2px solid #333; + border-radius: 0px 5px 5px 0px; + margin-top: 4px; + /*background-color: #f0f;*/ + cursor: pointer; +} + +.straight { + background: url('../img/vertical_shape_icons/straight.png') no-repeat; +} +.diverging { + background: url('../img/vertical_shape_icons/diverging.png') no-repeat; +} +.converging { + background: url('../img/vertical_shape_icons/converging.png') no-repeat; +} +.sinus { + background: url('../img/vertical_shape_icons/sinus.png') no-repeat; +} + + +/* Portrait */ +@media screen and (orientation:portrait) { + body { +/* background-color: #08F;*/ + } + + #landscape { + display: none; + } + #portrait { + display: block; + } +} + /* Landscape */ +@media screen and (orientation:landscape) { + body { +/* background-color: #8F0;*/ + } + + #landscape { + display: block; + } + #portrait { + display: none; + } +} + +.uiButtonsContainer { + position: fixed; + top: 0px; + left: 0px; + width: 1024px; + min-height: 500px; + max-height: 768px; + height: 100%; + /* height: 768px;*/ +} +.uiButtonsContainer:before { + content:' '; + display:block; + position:absolute; + left:0; + top:0; + right:0; + bottom:0; + border: 2px solid #333; +} + +#d3dlogo { + position: absolute; + top: 15px; + left: 31%; + width: 399px; + height: 139px; + background-image: url('../img/logo_full.png'); + cursor: pointer; +} + +#drawAreaContainer { + position: absolute; + top: 193px; + left: 193px; + width: 650px; + height: 450px; + background-color: #fff; + border: 4px solid #000; + border-radius: 15px; +} + +#preview_tmp { + position: absolute; + top: 0px; + left: 0px; + z-index: 500; + border: 1px solid #f80; + display: none; +} + +#mycanvas, #preview { + /*border: 1px solid #08c;*/ + float: left; +} + +#mycanvas { + width: 500px; + height: 450px; + border: 0px solid #333; + border-right: 2px solid #333; +} + +#preview { + /*border: 1px solid #f8c;*/ + position: absolute; + right: 0px; + top: 0px; + width: 150px; + height: 450px; +} + +.vertImage { + margin: 0px; + padding: 0px; + /*border: 2px solid #f0f;*/ + max-width: 100%; + height: auto; + width: auto; /* for ie9 */ +} + + +.bgTop { + position: absolute; + top: 0px; + left: 0px; + z-index: -5; +} +.bgMiddle { + display: block; + position: absolute; + top: 30%; + left: 0px; + z-index: -5; +} +.bgBottom { + position: absolute; + bottom: 0px; + left: 0px; + z-index: -5; +} + +/* PRINT PROGRESS DISPLAY */ +#printProgressContainer { + position: absolute; + right: 30px; + top: 370px; + width: 110px; + margin: 5px 0px; + font-weight: bold; + display:none; +} +#progressbarContainer { + margin: 3px 0px; + width: inherit; + height: 20px; + background-color: #fff; + border: 2px solid #333; + border-radius: 5px; + -o-border-radius: 5px; + -moz-border-radius: 5px; + -webkit-border-radius: 5px; +} +.progressAmount { + margin: 0px 5px; +} +#progressbar { + position: relative; + /*margin-bottom: -20px;*/ + width: 0%; + height: 100%; + background-color: #4c4; + border: 0px solid #f0f; + border-radius: 3px; + -o-border-radius: 3px; + -moz-border-radius: 3px; + -webkit-border-radius: 3px; +} + +/* THERMOMETER */ +#thermometerContainer { + position: absolute; + right: 5px; + top: 360px; +} +#thermometerCanvas { + /*background: #59b2b8;*/ + /*zoom: 2;*/ +} + + +/* The code below is for resizing UI elements as the viewport becomes less high (suitable for tablets & smartphones) */ + +@media screen and (max-height: 675px) { + .bgMiddle { + display: none; + } + + #d3dlogo { + width: 399px; + height: 74px; + background-image: url('../img/logo_small.png'); + margin-top: 9px; + } + + #btnsUpDown, #btnsTurnLeftRight { + zoom: 0.94; + -moz-transform: translate(0px,-5px) scale(.94); + } + + #btnNew { + zoom: 0.94; + -moz-transform: translate(-5px,-5px) scale(.94); + /*-moz-transform: translate(-3px,-3px);*/ + } + #btnOops { + zoom: 0.94; + -moz-transform: translate(-5px,-10px) scale(0.94); + } + + #btnPrint { + right: 10px; + top: 10px; + -moz-transform: translate(5px,-5px); + } + + + .btn { + zoom: 0.94; + -moz-transform: scale(.94); + } + + #drawAreaContainer { + top: 128px; + height: 350px; + } +} + +@media screen and (max-height: 560px) { + #d3dlogo { + width: 399px; + height: 57px; + background-image: url('../img/logo_smaller_wide.png'); + margin-top: 14px; + /*zoom: 0.8;*/ + /*-moz-transform: translate(-20px,-15px) scale(.8);*/ + /*-moz-transform: ;*/ + /*left: 34%;*/ + } + + #btnsUpDown, #btnsTurnLeftRight { + zoom: 0.86; + -moz-transform: translate(0px,-7px) scale(0.86); + } + + #btnPrint { + right: 6px; + -moz-transform: translate(10px,-10px); + } + + #btnNew { + zoom: 0.86; + -moz-transform: translate(-10px,-10px) scale(.86); + } + + .btn { + zoom: 0.86; + -moz-transform: scale(.86); + } + + #btnOops { + top: 350px; + zoom: 0.86; + -moz-transform: translate(-10px,-25px) scale(.86); + } + #btnSave { + -moz-transform: translate(-5px,-13px); + } + + #btnPrevious, #btnNext { + /*top: 200px;*/ + -moz-transform: translate(-5px,-10px); + } + + #drawAreaContainer { + top: 110px; + height: 350px; + } +} + + + diff --git a/css_old/_backup20131011/fixedPosInterface.css.BACKUP.99789.css b/css_old/_backup20131011/fixedPosInterface.css.BACKUP.99789.css new file mode 100644 index 0000000..eb071f2 --- /dev/null +++ b/css_old/_backup20131011/fixedPosInterface.css.BACKUP.99789.css @@ -0,0 +1,329 @@ +body { +/* This chops off any overhanging divs */ + overflow:hidden; +} + +.button { + display: table; +} + +/*#landscape {*/ + /*position:relative;*/ + /*width: 1024px;*/ + /*max-height: 768px;*/ + /*background-color: #808;*/ + /*border: 10px solid #ff0;*/ + /*margin: 0px auto;*/ +/*}*/ + + +#verticalShapes { + position:absolute; + right: -56px; + bottom: 15px; + /*background-color: #fff;*/ +} + +.verticalshape { + width: 50px; + height: 50px; + border: 2px solid #333; + border-radius: 0px 5px 5px 0px; + margin-top: 4px; + /*background-color: #f0f;*/ + cursor: pointer; +} + +.straight { + background: url('../img/vertical_shape_icons/straight.png') no-repeat; +} +.diverging { + background: url('../img/vertical_shape_icons/diverging.png') no-repeat; +} +.converging { + background: url('../img/vertical_shape_icons/converging.png') no-repeat; +} +.sinus { + background: url('../img/vertical_shape_icons/sinus.png') no-repeat; +} + + +/* Portrait */ +@media screen and (orientation:portrait) { + body { +/* background-color: #08F;*/ + } + + #landscape { + display: none; + } + #portrait { + display: block; + } +} + /* Landscape */ +@media screen and (orientation:landscape) { + body { +/* background-color: #8F0;*/ + } + + #landscape { + display: block; + } + #portrait { + display: none; + } +} + +.uiButtonsContainer { + position: fixed; + top: 0px; + left: 0px; + width: 1024px; + min-height: 500px; + max-height: 768px; + height: 100%; + /* height: 768px;*/ +} +.uiButtonsContainer:before { + content:' '; + display:block; + position:absolute; + left:0; + top:0; + right:0; + bottom:0; + border: 2px solid #333; +} + +#d3dlogo { + position: absolute; + top: 15px; + left: 31%; + width: 399px; + height: 139px; + background-image: url('../img/logo_full.png'); + cursor: pointer; +} + +#drawAreaContainer { + position: absolute; + top: 193px; + left: 193px; + width: 650px; + height: 450px; + background-color: #fff; + border: 4px solid #000; + border-radius: 15px; +} + +#preview_tmp { + position: absolute; + top: 0px; + left: 0px; + z-index: 500; + border: 1px solid #f80; + display: none; +} + +#mycanvas, #preview { + /*border: 1px solid #08c;*/ + float: left; +} + +#mycanvas { + width: 500px; + height: 450px; + border: 0px solid #333; + border-right: 2px solid #333; +} + +#preview { + /*border: 1px solid #f8c;*/ + position: absolute; + right: 0px; + top: 0px; + width: 150px; + height: 450px; +} + +.vertImage { + margin: 0px; + padding: 0px; + /*border: 2px solid #f0f;*/ + max-width: 100%; + height: auto; + width: auto; /* for ie9 */ +} + + +.bgTop { + position: absolute; + top: 0px; + left: 0px; + z-index: -5; +} +.bgMiddle { + display: block; + position: absolute; + top: 30%; + left: 0px; + z-index: -5; +} +.bgBottom { + position: absolute; + bottom: 0px; + left: 0px; + z-index: -5; +} + +/* PRINT PROGRESS DISPLAY */ +#printProgressContainer { + position: absolute; + right: 30px; + top: 370px; + width: 110px; + margin: 5px 0px; + font-weight: bold; + display:none; +} +#progressbarContainer { + margin: 3px 0px; + width: inherit; + height: 20px; + background-color: #fff; + border: 2px solid #333; + border-radius: 5px; + -o-border-radius: 5px; + -moz-border-radius: 5px; + -webkit-border-radius: 5px; +} +.progressAmount { + margin: 0px 5px; +} +#progressbar { + position: relative; + /*margin-bottom: -20px;*/ + width: 0%; + height: 100%; + background-color: #4c4; + border: 0px solid #f0f; + border-radius: 3px; + -o-border-radius: 3px; + -moz-border-radius: 3px; + -webkit-border-radius: 3px; +} + +/* THERMOMETER */ +#thermometerContainer { + position: absolute; + right: 5px; + top: 360px; +} +#thermometerCanvas { + /*background: #59b2b8;*/ + /*zoom: 2;*/ +} + + +/* The code below is for resizing UI elements as the viewport becomes less high (suitable for tablets & smartphones) */ + +@media screen and (max-height: 675px) { + .bgMiddle { + display: none; + } + + #d3dlogo { + width: 399px; + height: 74px; + background-image: url('../img/logo_small.png'); + margin-top: 9px; + } + + #btnsUpDown, #btnsTurnLeftRight { + zoom: 0.94; + -moz-transform: translate(0px,-5px) scale(.94); + } + + #btnNew { + zoom: 0.94; + -moz-transform: translate(-5px,-5px) scale(.94); + /*-moz-transform: translate(-3px,-3px);*/ + } + #btnOops { + zoom: 0.94; + -moz-transform: translate(-5px,-10px) scale(0.94); + } + + #btnPrint { + right: 10px; + top: 10px; + -moz-transform: translate(5px,-5px); + } + + + .btn { + zoom: 0.94; + -moz-transform: scale(.94); + } + + #drawAreaContainer { + top: 128px; + height: 350px; + } +} + +@media screen and (max-height: 560px) { + #d3dlogo { + width: 399px; + height: 57px; + background-image: url('../img/logo_smaller_wide.png'); + margin-top: 14px; + /*zoom: 0.8;*/ + /*-moz-transform: translate(-20px,-15px) scale(.8);*/ + /*-moz-transform: ;*/ + /*left: 34%;*/ + } + + #btnsUpDown, #btnsTurnLeftRight { + zoom: 0.86; + -moz-transform: translate(0px,-7px) scale(0.86); + } + + #btnPrint { + right: 6px; + -moz-transform: translate(10px,-10px); + } + + #btnNew { + zoom: 0.86; + -moz-transform: translate(-10px,-10px) scale(.86); + } + + .btn { + zoom: 0.86; + -moz-transform: scale(.86); + } + + #btnOops { + top: 350px; + zoom: 0.86; + -moz-transform: translate(-10px,-25px) scale(.86); + } + #btnSave { + -moz-transform: translate(-5px,-13px); + } + + #btnPrevious, #btnNext { + /*top: 200px;*/ + -moz-transform: translate(-5px,-10px); + } + + #drawAreaContainer { + top: 110px; + height: 350px; + } +} + + + diff --git a/css_old/_backup20131011/fixedPosInterface.css.BASE.99789.css b/css_old/_backup20131011/fixedPosInterface.css.BASE.99789.css new file mode 100644 index 0000000..426497d --- /dev/null +++ b/css_old/_backup20131011/fixedPosInterface.css.BASE.99789.css @@ -0,0 +1,323 @@ +body { +/* This chops off any overhanging divs */ + overflow:hidden; +} + + +.button { + display: table; +} + +/*.big {*/ + /*background: #a6e19c;*/ + /*border: 1px solid #222;*/ + /*height: 64px;*/ + /*width: 64px;*/ + /*display: table-cell;*/ + /*vertical-align: middle;*/ + /*text-align: center;*/ + /*border-radius: 32px;*/ + /*-moz-border-radius: 32px;*/ + /*-webkit-border-radius: 32px;*/ +/*}*/ +/*.small {*/ + /*background: #a3d5f7;*/ + /*border: 1px solid #222;*/ + /*height: 40px;*/ + /*width: 40px;*/ + /*display: table-cell;*/ + /*vertical-align: middle;*/ + /*text-align: center;*/ + /*border-radius: 20px;*/ + /*-moz-border-radius: 20px;*/ + /*-webkit-border-radius: 20px;*/ +/*}*/ + +#logo { + position: absolute; + /*left: 50%;*/ + /*margin-left: -220px;*/ + top: 20px; + left: 315px; + width: 400px; + height: 140px; +} + +/*ha {*/ + /*background: #f5f5f5 url('../images/bg.jpg') no-repeat;*/ +/*}*/ + + /* Portrait */ +@media screen and (orientation:portrait) { + body { +/* background-color: #08F;*/ + } + + #landscape { + display: none; + } + #portrait { + display: block; + } +} + /* Landscape */ +@media screen and (orientation:landscape) { + body { +/* background-color: #8F0;*/ + } + + #landscape { + display: block; + } + #portrait { + display: none; + } +} + +.container { + position: fixed; + top: 0px; + left: 0px; + border: 2px solid #333; + width: 1024px; + min-height: 500px; + max-height: 768px; + height: 100%; +/* height: 768px;*/ +} + +#d3dlogo { + position: absolute; + top: 15px; + left: 31%; + width: 399px; + height: 139px; + background-image: url('../img/logo_full.png'); + cursor: pointer; +} + +#svg { + cursor: pointer; +} + +#drawAreaContainer { + position: absolute; + top: 193px; + left: 193px; + width: 650px; + height: 450px; + background-color: #fff; + border: 4px solid #000; + border-radius: 15px; +} + +#preview_tmp { + position: absolute; + top: 0px; + left: 0px; + z-index: 500; + border: 1px solid #f80; + display: none; +} + +#mycanvas, #preview { + /*border: 1px solid #08c;*/ + float: left; +} + +#mycanvas { + width: 500px; + height: 450px; + border: 0px solid #333; + border-right: 2px solid #333; +} + +#preview { + /*border: 1px solid #f8c;*/ + position: absolute; + right: 0px; + top: 0px; + width: 150px; + height: 450px; +} + +.vertImage { + margin: 0px; + padding: 0px; + /*border: 2px solid #f0f;*/ + max-width: 100%; + height: auto; + width: auto; /* for ie9 */ +} + + +.bgTop { + position: absolute; + top: 0px; + left: 0px; + z-index: -5; +} +.bgMiddle { + display: block; + position: absolute; + top: 30%; + left: 0px; + z-index: -5; +} +.bgBottom { + position: absolute; + bottom: 0px; + left: 0px; + z-index: -5; +} + +/* PRINT PROGRESS DISPLAY */ +#printProgressContainer { + position: absolute; + right: 30px; + top: 370px; + width: 110px; + margin: 5px 0px; + font-weight: bold; + display:none; +} +#progressbarContainer { + margin: 3px 0px; + width: inherit; + height: 20px; + background-color: #fff; + border: 2px solid #333; + border-radius: 5px; + -o-border-radius: 5px; + -moz-border-radius: 5px; + -webkit-border-radius: 5px; +} +.progressAmount { + margin: 0px 5px; +} +#progressbar { + position: relative; + /*margin-bottom: -20px;*/ + width: 0%; + height: 100%; + background-color: #4c4; + border: 0px solid #f0f; + border-radius: 3px; + -o-border-radius: 3px; + -moz-border-radius: 3px; + -webkit-border-radius: 3px; +} + +/* THERMOMETER */ +#thermometerContainer { + position: absolute; + right: 25px; + top: 370px; +} +#thermometerCanvas { + /*background: #59b2b8;*/ + /*zoom: 2;*/ +} + + +/* The code below is for resizing UI elements as the viewport becomes less high (suitable for tablets & smartphones) */ + +@media screen and (max-height: 675px) { + .bgMiddle { + display: none; + } + + #d3dlogo { + width: 399px; + height: 74px; + background-image: url('../img/logo_small.png'); + margin-top: 9px; + } + + #btnsUpDown, #btnsTurnLeftRight { + zoom: 0.94; + -moz-transform: translate(0px,-5px) scale(.94); + } + + #btnNew { + zoom: 0.94; + -moz-transform: translate(-5px,-5px) scale(.94); + /*-moz-transform: translate(-3px,-3px);*/ + } + #btnOops { + zoom: 0.94; + -moz-transform: translate(-5px,-10px) scale(0.94); + } + + #btnPrint { + right: 10px; + top: 10px; + -moz-transform: translate(5px,-5px); + } + + + .btn { + zoom: 0.94; + -moz-transform: scale(.94); + } + + #drawAreaContainer { + top: 128px; + height: 350px; + } +} + +@media screen and (max-height: 560px) { + #d3dlogo { + width: 399px; + height: 57px; + background-image: url('../img/logo_smaller_wide.png'); + margin-top: 14px; + /*zoom: 0.8;*/ + /*-moz-transform: translate(-20px,-15px) scale(.8);*/ + /*-moz-transform: ;*/ + /*left: 34%;*/ + } + + #btnsUpDown, #btnsTurnLeftRight { + zoom: 0.86; + -moz-transform: translate(0px,-7px) scale(0.86); + } + + #btnPrint { + right: 6px; + -moz-transform: translate(10px,-10px); + } + + #btnNew { + zoom: 0.86; + -moz-transform: translate(-10px,-10px) scale(.86); + } + + .btn { + zoom: 0.86; + -moz-transform: scale(.86); + } + + #btnOops { + top: 350px; + zoom: 0.86; + -moz-transform: translate(-10px,-25px) scale(.86); + } + #btnSave { + -moz-transform: translate(-5px,-13px); + } + + #btnPrevious, #btnNext { + /*top: 200px;*/ + -moz-transform: translate(-5px,-10px); + } + + #drawAreaContainer { + top: 110px; + height: 350px; + } +} + + + diff --git a/css_old/_backup20131011/fixedPosInterface.css.LOCAL.99789.css b/css_old/_backup20131011/fixedPosInterface.css.LOCAL.99789.css new file mode 100644 index 0000000..eb071f2 --- /dev/null +++ b/css_old/_backup20131011/fixedPosInterface.css.LOCAL.99789.css @@ -0,0 +1,329 @@ +body { +/* This chops off any overhanging divs */ + overflow:hidden; +} + +.button { + display: table; +} + +/*#landscape {*/ + /*position:relative;*/ + /*width: 1024px;*/ + /*max-height: 768px;*/ + /*background-color: #808;*/ + /*border: 10px solid #ff0;*/ + /*margin: 0px auto;*/ +/*}*/ + + +#verticalShapes { + position:absolute; + right: -56px; + bottom: 15px; + /*background-color: #fff;*/ +} + +.verticalshape { + width: 50px; + height: 50px; + border: 2px solid #333; + border-radius: 0px 5px 5px 0px; + margin-top: 4px; + /*background-color: #f0f;*/ + cursor: pointer; +} + +.straight { + background: url('../img/vertical_shape_icons/straight.png') no-repeat; +} +.diverging { + background: url('../img/vertical_shape_icons/diverging.png') no-repeat; +} +.converging { + background: url('../img/vertical_shape_icons/converging.png') no-repeat; +} +.sinus { + background: url('../img/vertical_shape_icons/sinus.png') no-repeat; +} + + +/* Portrait */ +@media screen and (orientation:portrait) { + body { +/* background-color: #08F;*/ + } + + #landscape { + display: none; + } + #portrait { + display: block; + } +} + /* Landscape */ +@media screen and (orientation:landscape) { + body { +/* background-color: #8F0;*/ + } + + #landscape { + display: block; + } + #portrait { + display: none; + } +} + +.uiButtonsContainer { + position: fixed; + top: 0px; + left: 0px; + width: 1024px; + min-height: 500px; + max-height: 768px; + height: 100%; + /* height: 768px;*/ +} +.uiButtonsContainer:before { + content:' '; + display:block; + position:absolute; + left:0; + top:0; + right:0; + bottom:0; + border: 2px solid #333; +} + +#d3dlogo { + position: absolute; + top: 15px; + left: 31%; + width: 399px; + height: 139px; + background-image: url('../img/logo_full.png'); + cursor: pointer; +} + +#drawAreaContainer { + position: absolute; + top: 193px; + left: 193px; + width: 650px; + height: 450px; + background-color: #fff; + border: 4px solid #000; + border-radius: 15px; +} + +#preview_tmp { + position: absolute; + top: 0px; + left: 0px; + z-index: 500; + border: 1px solid #f80; + display: none; +} + +#mycanvas, #preview { + /*border: 1px solid #08c;*/ + float: left; +} + +#mycanvas { + width: 500px; + height: 450px; + border: 0px solid #333; + border-right: 2px solid #333; +} + +#preview { + /*border: 1px solid #f8c;*/ + position: absolute; + right: 0px; + top: 0px; + width: 150px; + height: 450px; +} + +.vertImage { + margin: 0px; + padding: 0px; + /*border: 2px solid #f0f;*/ + max-width: 100%; + height: auto; + width: auto; /* for ie9 */ +} + + +.bgTop { + position: absolute; + top: 0px; + left: 0px; + z-index: -5; +} +.bgMiddle { + display: block; + position: absolute; + top: 30%; + left: 0px; + z-index: -5; +} +.bgBottom { + position: absolute; + bottom: 0px; + left: 0px; + z-index: -5; +} + +/* PRINT PROGRESS DISPLAY */ +#printProgressContainer { + position: absolute; + right: 30px; + top: 370px; + width: 110px; + margin: 5px 0px; + font-weight: bold; + display:none; +} +#progressbarContainer { + margin: 3px 0px; + width: inherit; + height: 20px; + background-color: #fff; + border: 2px solid #333; + border-radius: 5px; + -o-border-radius: 5px; + -moz-border-radius: 5px; + -webkit-border-radius: 5px; +} +.progressAmount { + margin: 0px 5px; +} +#progressbar { + position: relative; + /*margin-bottom: -20px;*/ + width: 0%; + height: 100%; + background-color: #4c4; + border: 0px solid #f0f; + border-radius: 3px; + -o-border-radius: 3px; + -moz-border-radius: 3px; + -webkit-border-radius: 3px; +} + +/* THERMOMETER */ +#thermometerContainer { + position: absolute; + right: 5px; + top: 360px; +} +#thermometerCanvas { + /*background: #59b2b8;*/ + /*zoom: 2;*/ +} + + +/* The code below is for resizing UI elements as the viewport becomes less high (suitable for tablets & smartphones) */ + +@media screen and (max-height: 675px) { + .bgMiddle { + display: none; + } + + #d3dlogo { + width: 399px; + height: 74px; + background-image: url('../img/logo_small.png'); + margin-top: 9px; + } + + #btnsUpDown, #btnsTurnLeftRight { + zoom: 0.94; + -moz-transform: translate(0px,-5px) scale(.94); + } + + #btnNew { + zoom: 0.94; + -moz-transform: translate(-5px,-5px) scale(.94); + /*-moz-transform: translate(-3px,-3px);*/ + } + #btnOops { + zoom: 0.94; + -moz-transform: translate(-5px,-10px) scale(0.94); + } + + #btnPrint { + right: 10px; + top: 10px; + -moz-transform: translate(5px,-5px); + } + + + .btn { + zoom: 0.94; + -moz-transform: scale(.94); + } + + #drawAreaContainer { + top: 128px; + height: 350px; + } +} + +@media screen and (max-height: 560px) { + #d3dlogo { + width: 399px; + height: 57px; + background-image: url('../img/logo_smaller_wide.png'); + margin-top: 14px; + /*zoom: 0.8;*/ + /*-moz-transform: translate(-20px,-15px) scale(.8);*/ + /*-moz-transform: ;*/ + /*left: 34%;*/ + } + + #btnsUpDown, #btnsTurnLeftRight { + zoom: 0.86; + -moz-transform: translate(0px,-7px) scale(0.86); + } + + #btnPrint { + right: 6px; + -moz-transform: translate(10px,-10px); + } + + #btnNew { + zoom: 0.86; + -moz-transform: translate(-10px,-10px) scale(.86); + } + + .btn { + zoom: 0.86; + -moz-transform: scale(.86); + } + + #btnOops { + top: 350px; + zoom: 0.86; + -moz-transform: translate(-10px,-25px) scale(.86); + } + #btnSave { + -moz-transform: translate(-5px,-13px); + } + + #btnPrevious, #btnNext { + /*top: 200px;*/ + -moz-transform: translate(-5px,-10px); + } + + #drawAreaContainer { + top: 110px; + height: 350px; + } +} + + + diff --git a/css_old/_backup20131011/fixedPosInterface.css.REMOTE.99789.css b/css_old/_backup20131011/fixedPosInterface.css.REMOTE.99789.css new file mode 100644 index 0000000..e69de29 diff --git a/css/_backup20131011/popups.css b/css_old/_backup20131011/popups.css similarity index 100% rename from css/_backup20131011/popups.css rename to css_old/_backup20131011/popups.css diff --git a/css_old/_settings.css b/css_old/_settings.css new file mode 100644 index 0000000..7c6112c --- /dev/null +++ b/css_old/_settings.css @@ -0,0 +1,96 @@ +form { + margin: 10px; +} +form input { + margin: 1px; +} + +body,th,td { + font-family: Helvetica, Arial, "Nimbus Sans L", sans-serif; + font-size: 13px; +} +.settingsContainer { + position:relative; + max-width: 600px; + /*min-width: 370px;*/ + width: 100%; + height: 100%; +} +/*form#settingsForm {*/ + /*width: 100% auto;*/ +/*}*/ +form fieldset { + max-width: 600px; + border: 1px solid rgb(187, 187, 187); + -webkit-border-radius: 5px; + -moz-border-radius: 5px; + border-radius: 5px; + margin-bottom: 20px; + padding: 8px; + /*padding-right: 8px;*/ +} +form fieldset fieldset{ + max-width: 580px; + margin: 15px 0 5px 0; + clear: left; + float: left; +} +form fieldset legend { + margin-left: 10px; + font-weight: bold; +} +form label { + min-width: 150px; + display: block; + float: left; + margin: 1px 0 0 0; + clear: left; +} +form div { + float: left; +} +form input[type="text"], form input[type="number"], form input[type="password"] { + border: 1px solid rgb(144, 192, 255); + margin-right: 5px; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; +} +form input[type="text"].small, form input[type="number"].small, form input[type="password"].small { + width: 50px; +} +form input[type="text"].large, form input[type="number"].large, form input[type="password"].large { + width: 250px; +} +form input[type="radio"] { + margin: 4px 4px 0 0; +} + +form textarea { + border: 1px solid rgb(144, 192, 255); + -webkit-border-radius: 5px; + -moz-border-radius: 5px; + border-radius: 5px; +} +form .startgcode_left { + float:left; + margin-right: 20px; +} +form textarea.gcode { + width: 252px; + /*max-width: 262px;*/ + /*min-width: 200px;*/ + height: 150px; +} +form small { + margin: 3px 0 0 0; + display: block; + clear: left; +} +form .button { + display: inline-block; +} + +form #passwordLabel, form #password { + display: none; +} \ No newline at end of file diff --git a/img/bg_vertical.jpg b/img_old/bg_vertical.jpg similarity index 100% rename from img/bg_vertical.jpg rename to img_old/bg_vertical.jpg diff --git a/img_old/logo/logo_full_8bit.png b/img_old/logo/logo_full_8bit.png new file mode 100644 index 0000000000000000000000000000000000000000..adba35c7befb3ec2267180469f72d4479a06c92b GIT binary patch literal 19659 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 P00000NkvXXu0mjf5XX!x literal 0 HcmV?d00001 diff --git a/img_old/logo/logo_small BACKUP.png b/img_old/logo/logo_small BACKUP.png new file mode 100644 index 0000000000000000000000000000000000000000..372b5ee2ea94117d998c5cdfa321422eda3e39bc GIT binary patch literal 53815 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 literal 0 HcmV?d00001 diff --git a/img_old/logo/logo_small_8bit.png b/img_old/logo/logo_small_8bit.png new file mode 100644 index 0000000000000000000000000000000000000000..a2c0189357a6efd483a4c190da0c092f257796da GIT binary patch literal 14509 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 literal 0 HcmV?d00001 diff --git a/img/logo/logo_smaller_wide.png b/img_old/logo/logo_smaller_wide.png similarity index 100% rename from img/logo/logo_smaller_wide.png rename to img_old/logo/logo_smaller_wide.png diff --git a/img_old/logo/logo_smaller_wide_8bit.png b/img_old/logo/logo_smaller_wide_8bit.png new file mode 100644 index 0000000000000000000000000000000000000000..ef193abf1f5944ff05574f204550b4320237d16c GIT binary patch literal 6347 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 Lx_qsyY3Tm|as(#d literal 0 HcmV?d00001 diff --git a/img/logo/logo_smallest_wide.png b/img_old/logo/logo_smallest_wide.png similarity index 100% rename from img/logo/logo_smallest_wide.png rename to img_old/logo/logo_smallest_wide.png diff --git a/img_old/thermo_bg_2.png b/img_old/thermo_bg_2.png new file mode 100644 index 0000000000000000000000000000000000000000..8e3a979be587abdc48bf6878444fcadd72bd3bfe GIT binary patch literal 1770 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 literal 0 HcmV?d00001 diff --git a/js_old/Thermometer.js.orig b/js_old/Thermometer.js.orig new file mode 100644 index 0000000..54a708e --- /dev/null +++ b/js_old/Thermometer.js.orig @@ -0,0 +1,136 @@ +<<<<<<< HEAD +======= +var $displayThermometer = $("#thermometerContainer"); + + +//TODO 2013-09-18 allow displaying temperatures HIGHER than the targTemp (it's now being capped at targTemp). +>>>>>>> new_layouting_approach +function Thermometer() { + this.currentTemperature = 0; // default val + this.targetTemperature = 180; // default val + + this.thermoOverlayImg = new Image(); + this.thermoOverlayImgSrc = "img/thermometer_fg_overlay.png"; // ../img/thermometer_fg_overlay.png + + this.thermoWidth= 40; + this.thermoHeight = 100; + + this.$canvas; + this.canvas; + this.context; + this.$container; + + this.isInitted = false; + + this.enabled = true; + + this.thermoColors = [ + [50, 200, 244], // 'cold' + [244, 190, 10], // 'warming up' + [244, 50, 50] // 'ready / hot' + ]; + + this.init = function(targCanvas, targCanvasContainer) { + console.log("Thermometer.init()"); + + this.$container = targCanvasContainer; + + this.$canvas = targCanvas; + this.canvas = this.$canvas[0]; + this.context = this.canvas.getContext('2d'); + + + var self = this; + this.thermoOverlayImg.onload = function() { + console.log("canvasThermoOverlay img loaded"); + self.isInitted = true; + self.update(self.currentTemperature, self.targetTemperature); + }; + this.thermoOverlayImg.src = this.thermoOverlayImgSrc; + } + + this.update = function(curr, targ) { + // console.log("Thermometer.update(" + curr + "," + targ + ")"); + + if (this.isInitted) { + if(!this.enabled) return; + if (curr == undefined) curr = 0; + if (targ== undefined) targ = 180; // prevent divide by zero + + var progress = curr / targ; + + progress = Math.min(progress, 1.0); + progress = Math.max(progress, 0); + + var h = this.thermoHeight; // 94 // px + var paddingUnder = 15; // how far is beginpoint from bottom of thermometer + var paddingAbove = 25; // how far is endpoint from top of thermometer + var endPoint = h * .8; + var p = Math.floor((h - paddingUnder - paddingAbove) * progress); // % + // var tempHeight = + + var currColor = this.thermoColors[0]; + if (progress > 0.98) { + currColor = this.thermoColors[2]; + } else if (progress > 0.25) { + currColor = this.thermoColors[1]; + } + + // clear + this.context.clearRect(0, 0, this.canvas.width, this.canvas.height); + this.context.font = "10pt sans-serif"; + + // draw the thermometer clipping path + this.context.save(); + this.context.beginPath(); + this.context.arc(40, 80, 16, 0, 2 * Math.PI, false); // circle bottom of thermometer + this.context.arc(40, 10, 4, 0, 2 * Math.PI, false); // circle at top of thermometer tube + this.context.rect(36, 11, 8, 70); // thermometer tube + this.context.fillStyle = '#fff'; + this.context.fill(); + this.context.clip(); + + // draw rectangle which represents temperature + // rect will be clipped by the thermometer outlines + this.context.beginPath(); + this.context.rect(20, h - paddingUnder - p, 60, p + paddingUnder); + //console.log(" currColor: " + currColor); + //todo Math.floor?? + this.context.fillStyle = "rgb(" + currColor[0] + "," + currColor[1] + "," + currColor[2] + ")"; + this.context.fill(); + this.context.restore(); + + // additional text labels + this.context.save(); + this.context.beginPath(); + this.context.moveTo(32, paddingAbove); + this.context.lineTo(52, paddingAbove); + this.context.lineWidth = 2; + this.context.strokeStyle = '#000'; + this.context.stroke(); + this.context.fillStyle = '#000'; + this.context.textAlign = "left"; + this.context.textBaseline = "middle"; + this.context.fillText(targ + "°", 55, paddingAbove); + this.context.restore(); + + // the thermometer outline png + this.context.drawImage(this.thermoOverlayImg, 20, 0); + + // text + this.context.fillStyle = '#000'; + this.context.textAlign="center"; + this.context.fillText(curr + "°", 40, h + paddingUnder); + } else { + console.log("Thermometer.setTemperature() -> thermometer not initialized!"); + } + } + this.show = function() { + this.$container.show(); + this.enabled = true; + } + this.hide = function() { + this.$container.hide(); + this.enabled = false; + } +} diff --git a/js/libs/bootstrap.js b/js_old/bootstrap.js similarity index 100% rename from js/libs/bootstrap.js rename to js_old/bootstrap.js diff --git a/js/libs/bootstrap.min.js b/js_old/bootstrap.min.js similarity index 100% rename from js/libs/bootstrap.min.js rename to js_old/bootstrap.min.js diff --git a/js_old/init_layout backup20130918.js b/js_old/init_layout backup20130918.js new file mode 100644 index 0000000..a535412 --- /dev/null +++ b/js_old/init_layout backup20130918.js @@ -0,0 +1,260 @@ +var imgDims = [320, 320]; // width and height of image + +function doClientAndOrientationStuff() { + console.log("f:doClientAndOrientationStuff()"); + + $(".agentInfo").text(""); + + /* + if( /Android|webOS|iPhone|iPad|iPod|BlackBerry/i.test(navigator.userAgent) ) { + if (window.orientation == -90 || window.orientation == 90) { + // landscape +// $('#Viewport').attr('content', 'width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=yes'); + } else { + // portrait + $('#Viewport').attr('content', 'width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=yes'); + } + } + return; + //*/ + + if( /Android|webOS|iPhone|iPad|iPod|BlackBerry/i.test(navigator.userAgent) ) { + console.log("PHONE OR TABLET! --> window.orientation = " + window.orientation); + if (window.orientation == -90 || window.orientation == 90) { + console.log(" landscape"); + // landscape + + // var ww = ( $(window).width() < window.screen.width ) ? $(window).width() : window.screen.width; //get proper width + var ww = 0; //get proper width + if (window.innerWidth) { + ww = window.innerWidth; + // if (window.screen.availWidth) { +// ww = window.screen.availWidth; + +// if( /iPhone|iPad|iPod/i.test(navigator.userAgent) ) { +// ww = window.innerWidth; +// } + } else if($(window).width()) { + ww = $(window).width(); + } else { + + } + + // ww = 480; + + var mw = imgDims[0]; // min width of site + //* + if( /iPhone|iPad|iPod/i.test(navigator.userAgent) ) { + var mw = imgDims[1]; // in landscape: min-width is image width + } + //*/ + var ratio = ww / mw; //calculate ratio + $('#Viewport').attr('content', 'initial-scale='+ratio+',maximum-scale='+ratio+',minimum-scale='+ratio+',user-scalable=no,width='+mw); + if( ww < mw){ //smaller than minimum size +// $(".colmask").css("background-color", "#ff0"); + // $('#Viewport').attr('content', 'initial-scale=' + ratio + ', maximum-scale=' + ratio + ', minimum-scale=' + ratio + ', user-scalable=yes, width=' + ww); + // $('#Viewport').attr('content', 'initial-scale=1.0, maximum-scale=2, minimum-scale=1.0, user-scalable=yes, width=' + ww); + }else{ //regular size +// $(".colmask").css("background-color", "#0ff"); + // $('#Viewport').attr('content', 'initial-scale=1.0, maximum-scale=2, minimum-scale=1.0, user-scalable=yes, width=' + ww); + } + + console.log(" ww: " + ww + ", mw: " + mw + ", ratio: " + ratio); + + $(".agentInfo").append("ww: " + ww + ", mw: " + mw + "
"); + $(".agentInfo").append("ratio: " + ratio + "
"); + $(".agentInfo").append("
"); + } else { + console.log(" portrait"); + // portrait +// $('#Viewport').attr('content', 'initial-scale='+1+',maximum-scale='+1+',minimum-scale='+1+',user-scalable=no'); + $('#Viewport').attr('content', 'width=device-width,initial-scale=1.0,maximum-scale=1.0,minimum-scale=1.0,user-scalable=no'); + } + + } else { + // console.log("else"); + $(".colmask").css("background-color", "#f80"); + + } + + + $(".agentInfo").append("$(window).width(): " + $(window).width() + "
"); + $(".agentInfo").append("window.screen.width: " + window.screen.width+ "
"); + $(".agentInfo").append("window.screen.availWidth: " + window.screen.availWidth+ "
"); + $(".agentInfo").append("
"); + $(".agentInfo").append("window.innerWidth: " + window.innerWidth + "
"); + $(".agentInfo").append("window.innerHeight: " + window.innerHeight + "
"); + $(".agentInfo").append("
"); + $(".agentInfo").append("$(window).height(): " + $(window).height() + "
"); + $(".agentInfo").append("window.screen.height: " + window.screen.height+ "
"); + $(".agentInfo").append("window.screen.availHeight: " + window.screen.availHeight+ "
"); + $(".agentInfo").append("
"); + $(".agentInfo").append("user agent: " + navigator.userAgent + "
"); +}; + +function doOnOrientationChange() { + console.log("doOnOrientationChange"); + doClientAndOrientationStuff(); + + // switch(window.orientation) { + // case -90: + // case 90: + // alert('landscape'); + // break; + // default: + // alert('portrait'); + // break; + // } +} + +var drawAreaContainerMinHeight = 300; +var drawAreaContainerMaxHeight = 450; +function doOnResize() { + // console.log("doOnResize() >> " + new Date().getTime()); +// $(".container").css("height", window.innerHeight); + + // code from new layouting approach... //TODO give this a more logical spot + $drawAreaContainer.css("marginTop", -parseInt($drawAreaContainer.css("height"))/2); + + canvas.width = $drawAreaContainer.width() - 150; // canvas.clientWidth; + canvas.height = $drawAreaContainer.height(); // canvas.clientHeight; + // canvas.width = canvas.clientWidth; + // canvas.height = canvas.clientHeight; + + // $("#drawAreaContainer").attr("width", parseInt($("#drawAreaContainer").css("width"), 10)); + // $("#drawAreaContainer").attr("height", parseInt($("#drawAreaContainer").css("height"), 10)); + // canvas.width = parseInt($canvas.css("width"), 10); + // canvas.height = parseInt($canvas.css("height"), 10); + + preview.width = 150; + preview.height = $drawAreaContainer.height(); +// preview.width = parseInt($preview.css("width"), 10); +// preview.height = parseInt($preview.css("height"), 10); + + canvasWidth = canvas.width; + canvasHeight = canvas.height; + + redrawDoodle(); + redrawPreview(); + + return; + +// doClientAndOrientationStuff() // <-- is this necessary in this method? + +// console.log("f:doOnResize() >> $('#canvascontainer').innerHeight: " + window.innerHeight); + if (window.innerHeight < 768) { +// $('#drawAreaContainer').innerHeight(window.innerHeight - $("#drawAreaContainer").offset().top - 70); + var newVal = window.innerHeight - $("#drawAreaContainer").offset().top - 100; // what's the 70 ?? + newVal = Math.max(newVal, drawAreaContainerMinHeight); + newVal = Math.min(newVal, drawAreaContainerMaxHeight); + + $('#drawAreaContainer').innerHeight(newVal); + + // canvas drawing area + $canvas.css("height", newVal); + canvas.height = newVal; + canvasWidth = canvas.width; + canvasHeight = canvas.height; + + // preview area + $preview.css("height", newVal); + preview.height = newVal; + layerOffsetY = preview.height - 1.75 * layerCY; + yStep = preview.height / 150; + + redrawDoodle(); + redrawPreview(); + } +} + +function initLayouting() { + console.log("f:initLayouting()"); + + // first set the css width/height and actual width/height of the drawing area + + + + +// $doodleCanvas = $("#mycanvas"); +// doodleCanvas = $("#mycanvas")[0]; +// doodleCanvasContext = doodleCanvas.getContext('2d'); + + $drawAreaContainer = $("#drawAreaContainer"); + $drawAreaContainer.css("margin", 0); + $drawAreaContainer.css("marginLeft", -parseInt($drawAreaContainer.css("width"))/2); + $drawAreaContainer.css("marginTop", -parseInt($drawAreaContainer.css("height"))/2); + + canvas.width = $drawAreaContainer.width() - 150; // canvas.clientWidth; + canvas.height = $drawAreaContainer.height(); // canvas.clientHeight; +// canvas.width = canvas.clientWidth; +// canvas.height = canvas.clientHeight; + + preview.width = 150; + preview.height = $drawAreaContainer.height(); + + // code from new layouting approach... //TODO give this a more logical spot +// $("#drawAreaContainer").attr("width", parseInt($("#drawAreaContainer").css("width"), 10)); +// $("#drawAreaContainer").attr("height", parseInt($("#drawAreaContainer").css("height"), 10)); +// canvas.width = parseInt($canvas.css("width"), 10); +// canvas.height = parseInt($canvas.css("height"), 10); +// preview.width = parseInt($preview.css("width"), 10); +// preview.height = parseInt($preview.css("height"), 10); + canvasWidth = canvas.width; + canvasHeight = canvas.height; + +// console.log("f:initLayouting() >> canvas height: " + canvas.height); + + + + // imgDims[0] = parseInt($(".container").css("width").match(/[0-9]+/).join("")); + // imgDims[1] = parseInt($(".container").css("height").match(/[0-9]+/).join("")); + +// imgDims = [1024, 768]; + + /* + if( /Android|webOS|BlackBerry/i.test(navigator.userAgent) ) { + imgDims[1] = parseInt($(".container").css("height").match(/[0-9]+/).join("")); + } else if ( /iPhone|iPad|iPod/i.test(navigator.userAgent) ) { + imgDims[1] = parseInt($(".container").css("width").match(/[0-9]+/).join("")); + } else { + imgDims[1] = parseInt($(".container").css("height").match(/[0-9]+/).join("")); + } + //*/ + + // $(".container").css("height", window.innerHeight); + + // window.innerHeight + console.log("window.innerHeight: " + window.innerHeight); + console.log("window.innerWidth: " + window.innerWidth); + console.log("$('#drawAreaContainer').innerHeight(): " + $("#drawAreaContainer").innerHeight()); + console.log("$('#drawAreaContainer').offset().top: " + $("#drawAreaContainer").offset().top); + + + /* 2013-07-26 not doing this resizing stuff now, it's not working well yet + if (window.innerHeight < 768) { + $('#drawAreaContainer').innerHeight(window.innerHeight - $("#drawAreaContainer").offset().top - 70); + } + //*/ + + // timeout because it SEEMS to be beneficial for initting the layout + // 2013-09-18 seems beneficial since when? + setTimeout(_startOrientationAndChangeEventListening, 1000); +} + +function _startOrientationAndChangeEventListening() { + // Initial execution if needed + + $(window).on('resize', doOnResize); + +// if (!window.addEventListener) { +// window.attachEvent('orientationchange', doOnOrientationChange, false); +// window.attachEvent('resize', doOnResize, false); +// } else { +// window.addEventListener('orientationchange', doOnOrientationChange, false); +// window.addEventListener('resize', doOnResize, false); +// } + + // is it necessary to call these? Aren't they called by the above eventhandlers? +// doClientAndOrientationStuff(); + doOnResize(); +} diff --git a/js_old/main.js.orig b/js_old/main.js.orig new file mode 100644 index 0000000..f74b219 --- /dev/null +++ b/js_old/main.js.orig @@ -0,0 +1,139 @@ +var debugMode = false; // debug mode +var sendPrintCommands = true; // if Doodle3d should send print commands to the 3d printer +var communicateWithWifibox = true; // if Doodle3d should try interfacing with the wifibox (in case one is not connected) +var wifiboxIsRemote = false; // when you want to run the client on a computer and have it remotely connect to the wifibox +var autoUpdate = true; // auto retrieve updates about temperature and progress from printer + +var printer = new Printer(); +var progressbar = new Progressbar(); +var thermometer = new Thermometer(); +var settingsWindow = new SettingsWindow(); +var message = new Message(); + +var firstTimeSettingsLoaded = true; + +var wifiboxURL; // Using the uhttpd lua handler as default, because of better performance +var wifiboxCGIBinURL; // CGI-bin, for some network stuff, where it needs to restart the webserver for example + +var $drawAreaContainer, $doodleCanvas, doodleCanvas, doodleCanvasContext, $previewContainer; + +$(function() { + console.log("ready"); + + + //TODO give this a more logical place in code + + if (getURLParameter("d") != "null") debugMode = (getURLParameter("d") == "1"); + if (getURLParameter("p") != "null") sendPrintCommands = (getURLParameter("p") == "1"); + if (getURLParameter("c") != "null") communicateWithWifibox = (getURLParameter("c") == "1"); + if (getURLParameter("r") != "null") wifiboxIsRemote = (getURLParameter("r") == "1"); + if (getURLParameter("u") != "null") autoUpdate = (getURLParameter("u") == "1"); + + if (wifiboxIsRemote) { + wifiboxURL = "http://192.168.5.1/d3dapi"; + wifiboxCGIBinURL = "http://192.168.5.1/cgi-bin/d3dapi"; + } else { + wifiboxURL = "http://" + window.location.host + "/d3dapi"; + wifiboxCGIBinURL = "http://" + window.location.host + "/cgi-bin/d3dapi"; + } + + if (!communicateWithWifibox) { + sendPrintCommands = false; // 'communicateWithWifibox = false' implies this + } + console.log("debugMode: " + debugMode); + console.log("sendPrintCommands: " + sendPrintCommands); + console.log("communicateWithWifibox: " + communicateWithWifibox); + console.log("wifiboxIsRemote: " + wifiboxIsRemote); + console.log("wifibox URL: " + wifiboxURL); + + initDoodleDrawing(); + initPreviewRendering(); + initLayouting(); + initSidebars(); + initButtonBehavior(); + initVerticalShapes(); + + thermometer.init($("#thermometerCanvas"), $("#thermometerContainer")); + progressbar.init($("#progressbarCanvas"), $("#progressbarCanvasContainer")); + + message.init($("#message")); + + printer.init(); + $(document).on(Printer.UPDATE,update); + + settingsWindow.init(wifiboxURL,wifiboxCGIBinURL); + $(document).on(SettingsWindow.SETTINGS_LOADED, settingsLoaded); + + if(debugMode) { + console.log("debug mode is true"); + $("body").css("overflow", "auto"); + $("#debug_textArea").css("display", "block"); + $("#preview_tmp").css("display", "block"); + + $("#debug_display").css("display", "block"); + + // show and hide the progressguage and thermometer + showhideInterval = setInterval(showOrHideThermo, 2500); + +// $("#debugContainer").css("display", "block"); + + /* TEMP CODE!! -> artificially populates the startgcode and endgcode textareas in the settings window */ + // todo remove this temporary code... + /* + setTimeout(function() { + $("#startgcode").text(""); + $("#startgcode").append("G21 (mm) \n"); + $("#startgcode").append("G91 (relative) \n"); + $("#startgcode").append("G28 X0 Y0 Z0 (physical home) \n"); + $("#startgcode").append("M104 S230 (temperature) \n"); + $("#startgcode").append("G1 E10 F250 (flow) \n"); + $("#startgcode").append("G92 X-100 Y-100 Z0 E10 \n"); + $("#startgcode").append("G1 Z3 F5000 (prevent diagonal line) \n"); + $("#startgcode").append("G90 (absolute) \n"); + $("#startgcode").append("M106 (fan on)"); + console.log("$('#startgcode'): " + $("#startgcode").val()); + + $("#endgcode").text(""); + $("#endgcode").append("G1 X-100 Y-100 F15000 (fast homing) \n"); + $("#endgcode").append("M107 \n"); + $("#endgcode").append("M84 (disable axes) \n"); + console.log("$('#endgcode'): " + $("#endgcode").val()); + }, 1000); + //*/ + } +<<<<<<< .merge_file_HNcA77 +======= + //showhideInterval = setInterval(showOrHideThermo, 2500); +>>>>>>> .merge_file_0hlg7g +}); + +/*var showhideInterval; +var showOrHide = false; + +function showOrHideThermo() { + console.log("f:showOrHideThermo()"); + if (showOrHide) { + thermometer.hide(); + progressbar.hide(); + } else { + thermometer.show(); + progressbar.show(); + + } + showOrHide = !showOrHide; +}*/ + +function settingsLoaded() { + console.log("settingsLoaded"); + console.log("autoHeatup: ",settings["printer.heatup.enabled"]); + if(settings["printer.heatup.enabled"]) { + if(firstTimeSettingsLoaded) { + printer.preheat(); + firstTimeSettingsLoaded = false; + } + } +} + +function setDebugText(text) { + $("#debug_display").text(text); +} diff --git a/js/previewRendering_v01.js b/js_old/previewRendering_v01.js similarity index 100% rename from js/previewRendering_v01.js rename to js_old/previewRendering_v01.js diff --git a/js_old/previewRendering_v02.js.orig b/js_old/previewRendering_v02.js.orig new file mode 100644 index 0000000..a5e9dd0 --- /dev/null +++ b/js_old/previewRendering_v02.js.orig @@ -0,0 +1,355 @@ +//* +var $preview; +var preview; +var previewCtx; + +var preview_tmp; +var previewCtx_tmp; + +var previewDefaults = { + rotation: Math.PI/90, + numLayers: 10 +} + +var svgPathRegExp = /[LM]\d* \d*/ig; +var svgPathParamsRegExp = /([LM])(\d*) (\d*)/; + +var prevRedrawTime = new Date().getTime(); +var redrawInterval = 1000 / 30; // ms + +function initPreviewRendering() { + console.log("f:initPreviewRendering()"); + + $preview = $("#preview"); + preview = $preview[0]; + previewCtx = preview.getContext('2d'); + + // DEBUG --> mbt preview_tmp (voor de toImageData truc) + var _ratio = preview.width / canvas.width; + preview_tmp = document.getElementById('preview_tmp'); + preview_tmp.width = preview.width; + preview_tmp.height = canvas.height * _ratio; + $("#preview_tmp").css("top", -preview_tmp.height); + + previewCtx_tmp = preview_tmp.getContext('2d'); + + calcPreviewCanvasProperties(); + redrawPreview(); +} + +function calcPreviewCanvasProperties() { + console.log("f:calcPreviewCanvasProperties()"); + + globalScale = preview.width / canvasWidth; + layerCX = (canvasWidth / 2) * globalScale; // defined in canvasDrawing_v01.js + layerCY = (canvasHeight / 2) * globalScale; // defined in canvasDrawing_v01.js +// layerOffsetY = preview.height - 1.75 * layerCY; + layerOffsetY = preview.height * (1 - previewVerticalPadding.bottom); + yStep = (preview.height - (preview.height * (previewVerticalPadding.top + previewVerticalPadding.bottom))) / maxNumLayers; +} + +// TODO (perhaps) : make the twist limit dynamic, depending on what's printable (w.r.t. overlapping) +var previewRotationLimit = Math.PI / 30; // rough estimate + +var numLayers = previewDefaults.numLayers; // current number of preview layers +var maxNumLayers= 100; // maximum number of preview layers +var minNumLayers= 2; // minimum number of preview layers +var globalScale = 0.3; // global scale of preview (width preview / width canvas) +var globalAlpha = 0.20; // global alpha of preview +var scaleY = 0.4; // additional vertical scale per path for 3d effect +var viewerScale = 0.65; // additional scale to fit into preview nicely (otherwise is fills out totally) +var previewVerticalPadding = { "top" : .15, "bottom" : 0.12 }; // % +var strokeWidth = 2; //4; +//var rStep = Math.PI/40; //Math.PI/40; // +var rStep = previewDefaults.rotation; // Math.PI/180; //Math.PI/40; // +var yStep;// = preview.height / 150; // 3; //6; +//var svgWidth = 500; // 650 //parseInt($(svg).css("width")); +//var svgHeight = 450; //450; //parseInt($(svg).css("height")); +var layerCX, layerCY; +//var layerCX = (canvasWidth / 2) * globalScale; // defined in canvasDrawing_v01.js +//var layerCY = (canvasHeight / 2) * globalScale; // defined in canvasDrawing_v01.js +var layerOffsetY; //= preview.height - 1.75 * layerCY; // 330; // previewHeight - 120 +var prevX = 0; +var prevY = 0; +var highlight = true; //highlight bottom, middle and top layers + +var linesRaw = ""; +var debug_redrawSimplification = 6; +function redrawPreview(redrawLess) { + if (redrawLess == undefined) redrawLess = false; + + if (_points.length < 2) return; + + if (!redrawLess) { + //debug_redrawSimplification = Math.round(_points.length / 65); + //* + if (_points.length < 100) { + debug_redrawSimplification = 6; + } else if (_points.length < 250) { + debug_redrawSimplification = 7; + } else if (_points.length < 400) { + debug_redrawSimplification = 8; + } else if (_points.length < 550) { + debug_redrawSimplification = 9; + } else if (_points.length < 700) { + debug_redrawSimplification = 10; + } else { + debug_redrawSimplification = 11; + } + //*/ +// console.log("debug_redrawSimplification: " + debug_redrawSimplification); + } + + var y = 0; + var r = 0; + + //preview.width = preview.width; + previewCtx.clearRect(0, 0, preview.width, preview.height); + previewCtx.lineWidth = strokeWidth; + previewCtx.strokeStyle = '#f00'; //"rgba(255,255,0,0)"; + + for(var i = 0; i < numLayers; i++) { + + var verticalScaleFactor = scaleFunction(i / maxNumLayers); + + if(i == 0 || i == Math.floor(numLayers/2) || i == numLayers-1) { + previewCtx.globalAlpha = 1; + } else { + previewCtx.globalAlpha = globalAlpha; + } + + if (redrawLess && i%debug_redrawSimplification != 0 && !(i == 0 || i == Math.floor(numLayers/2) || i == numLayers-1) ) { + y -= yStep; + r += rStep; + continue; + } + + previewCtx.save(); + +// previewCtx.translate(layerCX, layerOffsetY + layerCY + y); + previewCtx.translate(layerCX, layerOffsetY + y); +// previewCtx.setTransform(1, 0, 0, scaleY, layerCX, layerOffsetY+layerCY+y); + previewCtx.scale(viewerScale * verticalScaleFactor, scaleY * viewerScale * verticalScaleFactor); + previewCtx.rotate(r); + previewCtx.translate((-doodleTransform[0]) * (globalScale * doodleTransform[2]), (-doodleTransform[1]) * (globalScale * doodleTransform[3])); + + var adjustedDoodlePoint = centeredAndScaledDoodlePoint(_points[0]); + + previewCtx.beginPath(); + previewCtx.moveTo(adjustedDoodlePoint.x, adjustedDoodlePoint.y); + for(var j = 1; j < _points.length; j++) { + adjustedDoodlePoint = centeredAndScaledDoodlePoint(_points[j]) + if (redrawLess && j%debug_redrawSimplification != 0 ) continue; + previewCtx.lineTo(adjustedDoodlePoint.x, adjustedDoodlePoint.y); + } + previewCtx.stroke(); + + y -= yStep; + r += rStep; + previewCtx.restore(); + } + previewCtx.globalAlpha = globalAlpha; +} + +function renderToImageDataPreview() { + console.log("f:renderToImageDataPreview()"); + + if (_points.length < 2) return; + + //* + // the first step + previewCtx_tmp.clearRect(0, 0, preview.width, preview.height); + previewCtx_tmp.lineWidth = strokeWidth; + previewCtx_tmp.strokeStyle = '#f00'; //"rgba(255,255,0,0)"; + + previewCtx_tmp.save(); + previewCtx_tmp.translate(layerCX, layerCY); + previewCtx_tmp.scale(viewerScale, viewerScale); + previewCtx_tmp.translate((-doodleTransform[0]) * (globalScale * doodleTransform[2]), (-doodleTransform[1]) * (globalScale * doodleTransform[3])); + + var adjustedDoodlePt = centeredAndScaledDoodlePoint(_points[0]); + + previewCtx_tmp.beginPath(); + previewCtx_tmp.moveTo(adjustedDoodlePt.x, adjustedDoodlePt.y); + for(var j = 1; j < _points.length; j++) { + adjustedDoodlePt = centeredAndScaledDoodlePoint(_points[j]) + previewCtx_tmp.lineTo(adjustedDoodlePt.x, adjustedDoodlePt.y); + } + previewCtx_tmp.stroke(); + previewCtx_tmp.closePath(); + previewCtx_tmp.restore(); + //*/ + + // var saved_rect = previewCtx_tmp.getImageData(0, 0, layerCX*2, layerCY*2); + var saved_rect_todataurl = preview_tmp.toDataURL(); + doodleImageCapture = new Image(); + doodleImageCapture.onload = function() { + + previewCtx.clearRect(0, 0, preview.width, preview.height); + previewCtx.lineWidth = strokeWidth; + previewCtx.strokeStyle = '#f00'; //"rgba(255,255,0,0)"; + + var y = 0; + var r = 0; + + for(var i=0;i>>>>>> new_layouting_approach + previewCtx.rotate(r); + previewCtx.translate(-layerCX,-layerCY); + + previewCtx.drawImage(doodleImageCapture, 0, 0); + + y -= yStep; + r += rStep; + previewCtx.restore(); + } + }; + doodleImageCapture.src = saved_rect_todataurl; + + previewCtx.globalAlpha = globalAlpha; +} + +// called by the move up/down or twist left/right buttons +// it is assumed that the preview has been rendered to an Image object, which will be used to draw the preview with (much better performance) +function redrawRenderedPreview(redrawLess) { + if (redrawLess == undefined) redrawLess = false; + console.log("f:redrawRenderedPreview()"); + + previewCtx.clearRect(0, 0, preview.width, preview.height); + previewCtx.lineWidth = strokeWidth; + previewCtx.strokeStyle = '#f00'; //"rgba(255,255,0,0)"; + + var y = 0; + var r = 0; + + for(var i = 0; i < numLayers; i++) { + + var verticalScaleFactor = scaleFunction(i / maxNumLayers); + + if(i == 0 || i == Math.floor(numLayers/2) || i == numLayers-1){ + previewCtx.globalAlpha = 1; + } else { + previewCtx.globalAlpha = globalAlpha; + } + + if (redrawLess && i%2 != 0 && !(i == 0 || i == Math.floor(numLayers/2) || i == numLayers-1) ) { + y -= yStep; + r += rStep; + continue; + } + previewCtx.save(); + +<<<<<<< HEAD + previewCtx.translate(layerCX,layerOffsetY+layerCY+y); +// previewCtx.scale(1, scaleY) + previewCtx.scale(verticalScaleFactor, scaleY * verticalScaleFactor); +======= + previewCtx.translate(layerCX,layerOffsetY+y); +// previewCtx.translate(layerCX,layerOffsetY+layerCY+y); + previewCtx.scale(1, scaleY) +>>>>>>> new_layouting_approach + previewCtx.rotate(r); + previewCtx.translate(-layerCX,-layerCY); + + previewCtx.drawImage(doodleImageCapture, 0, 0); + + y -= yStep; + r += rStep; + previewCtx.restore(); + } +} + +function centeredAndScaledDoodlePoint(p) { + var obj = { x: 0, y: 0}; + + obj.x = (p[0] - ((doodleBounds[2] - doodleBounds[0])/2)) * (globalScale * doodleTransform[2]); + obj.y = (p[1] - ((doodleBounds[3] - doodleBounds[1])/2)) * (globalScale * doodleTransform[3]); +// obj.x = (p[0] - (doodleBounds[2] - doodleBounds[0])) * (globalScale * doodleTransform[2]); +// obj.y = (p[1] - (doodleBounds[3] - doodleBounds[1])) * (globalScale * doodleTransform[3]); +// obj.x = (p[0] - doodleTransform[0]) * (globalScale * doodleTransform[2]); +// obj.y = (p[1] - doodleTransform[1]) * (globalScale * doodleTransform[3]); + + return obj; +} + +//* +var updatePrevX = -1; +var updatePrevY = -1; +function updatePreview(_x, _y, redrawLess) { + if (redrawLess == undefined) redrawLess = false; + redrawLess = false; + + if (_points.length < 2) return; + if (updatePrevX == -1 || updatePrevY == -1) { + updatePrevX = _x; + updatePrevY = _y; + return; + } + +// if (_points.length < 16 && Math.sqrt(Math.pow((updatePrevX - _x), 2) + Math.pow((updatePrevY - _y), 2)) < 8) return; + + var y = 0; + var r = 0; + + previewCtx.lineWidth = strokeWidth; + previewCtx.strokeStyle = '#f00'; //"rgba(255,255,0,0)"; + + for(var i = 0; i < numLayers; i++) { + + if(i == 0 || i == Math.floor(numLayers/2) || i == numLayers-1) { + previewCtx.globalAlpha = 1; + } else { + previewCtx.globalAlpha = globalAlpha; + } + + if (redrawLess && i%debug_redrawSimplification != 0 && !(i == 0 || i == Math.floor(numLayers/2) || i == numLayers-1) ) { + y -= yStep; + r += rStep; + continue; + } + + previewCtx.save(); + +// previewCtx.translate(layerCX, layerOffsetY + layerCY + y); + previewCtx.translate(layerCX, layerOffsetY + y); + previewCtx.scale(viewerScale, scaleY * viewerScale); + previewCtx.rotate(r); + previewCtx.translate((-doodleTransform[0]) * (globalScale * doodleTransform[2]), (-doodleTransform[1]) * (globalScale * doodleTransform[3])); + + + previewCtx.beginPath(); + var prevPoint = centeredAndScaledDoodlePoint([updatePrevX, updatePrevY]); + previewCtx.moveTo(prevPoint.x, prevPoint.y); + var adjustedDoodlePoint = centeredAndScaledDoodlePoint([_x, _y]); + previewCtx.lineTo(adjustedDoodlePoint.x, adjustedDoodlePoint.y); + previewCtx.stroke(); + + y -= yStep; + r += rStep; + previewCtx.restore(); + } + previewCtx.globalAlpha = globalAlpha; + updatePrevX = _x; + updatePrevY = _y; + +} +//*/ \ No newline at end of file diff --git a/css/debug.css b/www/css/debug.css similarity index 100% rename from css/debug.css rename to www/css/debug.css diff --git a/css/settings.css b/www/css/settings.css similarity index 100% rename from css/settings.css rename to www/css/settings.css diff --git a/css/styles.css b/www/css/styles.css similarity index 100% rename from css/styles.css rename to www/css/styles.css diff --git a/css/styles.min.css b/www/css/styles.min.css similarity index 100% rename from css/styles.min.css rename to www/css/styles.min.css diff --git a/favicon.ico b/www/favicon.ico similarity index 100% rename from favicon.ico rename to www/favicon.ico diff --git a/favicon.png b/www/favicon.png similarity index 100% rename from favicon.png rename to www/favicon.png diff --git a/favicon_alt.ico b/www/favicon_alt.ico similarity index 100% rename from favicon_alt.ico rename to www/favicon_alt.ico diff --git a/img/arrows.png b/www/img/arrows.png similarity index 100% rename from img/arrows.png rename to www/img/arrows.png diff --git a/img/bg_bottom.png b/www/img/bg_bottom.png similarity index 100% rename from img/bg_bottom.png rename to www/img/bg_bottom.png diff --git a/img/bg_middle.png b/www/img/bg_middle.png similarity index 100% rename from img/bg_middle.png rename to www/img/bg_middle.png diff --git a/img/bg_top.png b/www/img/bg_top.png similarity index 100% rename from img/bg_top.png rename to www/img/bg_top.png diff --git a/img/bg_vertical2.png b/www/img/bg_vertical.png similarity index 100% rename from img/bg_vertical2.png rename to www/img/bg_vertical.png diff --git a/img/buttons/btnDown.png b/www/img/buttons/btnDown.png similarity index 100% rename from img/buttons/btnDown.png rename to www/img/buttons/btnDown.png diff --git a/img/buttons/btnInfo.png b/www/img/buttons/btnInfo.png similarity index 100% rename from img/buttons/btnInfo.png rename to www/img/buttons/btnInfo.png diff --git a/img/buttons/btnLeft.png b/www/img/buttons/btnLeft.png similarity index 100% rename from img/buttons/btnLeft.png rename to www/img/buttons/btnLeft.png diff --git a/img/buttons/btnNew.png b/www/img/buttons/btnNew.png similarity index 100% rename from img/buttons/btnNew.png rename to www/img/buttons/btnNew.png diff --git a/img/buttons/btnOk.png b/www/img/buttons/btnOk.png similarity index 100% rename from img/buttons/btnOk.png rename to www/img/buttons/btnOk.png diff --git a/img/buttons/btnOk_settings.png b/www/img/buttons/btnOk_settings.png similarity index 100% rename from img/buttons/btnOk_settings.png rename to www/img/buttons/btnOk_settings.png diff --git a/img/buttons/btnOops.png b/www/img/buttons/btnOops.png similarity index 100% rename from img/buttons/btnOops.png rename to www/img/buttons/btnOops.png diff --git a/img/buttons/btnOops2.png b/www/img/buttons/btnOops2.png similarity index 100% rename from img/buttons/btnOops2.png rename to www/img/buttons/btnOops2.png diff --git a/img/buttons/btnOops_disabled.png b/www/img/buttons/btnOops_disabled.png similarity index 100% rename from img/buttons/btnOops_disabled.png rename to www/img/buttons/btnOops_disabled.png diff --git a/img/buttons/btnPrint.png b/www/img/buttons/btnPrint.png similarity index 100% rename from img/buttons/btnPrint.png rename to www/img/buttons/btnPrint.png diff --git a/img/buttons/btnPrint2.png b/www/img/buttons/btnPrint2.png similarity index 100% rename from img/buttons/btnPrint2.png rename to www/img/buttons/btnPrint2.png diff --git a/img/buttons/btnPrint_disabled.png b/www/img/buttons/btnPrint_disabled.png similarity index 100% rename from img/buttons/btnPrint_disabled.png rename to www/img/buttons/btnPrint_disabled.png diff --git a/img/buttons/btnRight.png b/www/img/buttons/btnRight.png similarity index 100% rename from img/buttons/btnRight.png rename to www/img/buttons/btnRight.png diff --git a/img/buttons/btnSave.png b/www/img/buttons/btnSave.png similarity index 100% rename from img/buttons/btnSave.png rename to www/img/buttons/btnSave.png diff --git a/img/buttons/btnSettings.png b/www/img/buttons/btnSettings.png similarity index 100% rename from img/buttons/btnSettings.png rename to www/img/buttons/btnSettings.png diff --git a/img/buttons/btnStop.png b/www/img/buttons/btnStop.png similarity index 100% rename from img/buttons/btnStop.png rename to www/img/buttons/btnStop.png diff --git a/img/buttons/btnStop2.png b/www/img/buttons/btnStop2.png similarity index 100% rename from img/buttons/btnStop2.png rename to www/img/buttons/btnStop2.png diff --git a/img/buttons/btnStop_disabled.png b/www/img/buttons/btnStop_disabled.png similarity index 100% rename from img/buttons/btnStop_disabled.png rename to www/img/buttons/btnStop_disabled.png diff --git a/img/buttons/btnTurnLeft.png b/www/img/buttons/btnTurnLeft.png similarity index 100% rename from img/buttons/btnTurnLeft.png rename to www/img/buttons/btnTurnLeft.png diff --git a/img/buttons/btnTurnRight.png b/www/img/buttons/btnTurnRight.png similarity index 100% rename from img/buttons/btnTurnRight.png rename to www/img/buttons/btnTurnRight.png diff --git a/img/buttons/btnUp.png b/www/img/buttons/btnUp.png similarity index 100% rename from img/buttons/btnUp.png rename to www/img/buttons/btnUp.png diff --git a/img/buttons/btnZoomIn.png b/www/img/buttons/btnZoomIn.png similarity index 100% rename from img/buttons/btnZoomIn.png rename to www/img/buttons/btnZoomIn.png diff --git a/img/buttons/btnZoomOut.png b/www/img/buttons/btnZoomOut.png similarity index 100% rename from img/buttons/btnZoomOut.png rename to www/img/buttons/btnZoomOut.png diff --git a/img/buttons/settings_lable.png b/www/img/buttons/settings_lable.png similarity index 100% rename from img/buttons/settings_lable.png rename to www/img/buttons/settings_lable.png diff --git a/img/icon.png b/www/img/icon.png similarity index 100% rename from img/icon.png rename to www/img/icon.png diff --git a/img/logo/logo_full.png b/www/img/logo/logo_full.png similarity index 100% rename from img/logo/logo_full.png rename to www/img/logo/logo_full.png diff --git a/img/logo/logo_small.png b/www/img/logo/logo_small.png similarity index 100% rename from img/logo/logo_small.png rename to www/img/logo/logo_small.png diff --git a/www/img/logo/logo_smaller.png b/www/img/logo/logo_smaller.png new file mode 100644 index 0000000000000000000000000000000000000000..f000e5c4ff29ecfafab7170fb69ab278164e90f7 GIT binary patch literal 31902 zcmV*vKtR8VP)XFa(?8f(!1w%eG`&mL*%VdM`5? zP5k9+|7Kg(Thp(&f-CBIt zr_pG%d-m+PjQ4u7va&RVg@r9Tovvu-&YjIUIXNz;)9H_ok0;!hs;a68_a=|WL-qCb z)Y{rgTCJ9*O`AsP>FMP2`KZ0UooZ@osI#+^aBu4S;?G1!M{A;@qO_5bkrv!Dx1piI z6doR4W3^gqaBpo#M@J9Z=TfOu!SA8%;_B(?A@ohWr&g;eE-sGnUD~y47bPVn(eUBJ z$!s=@%V;$A+Xm%+{k_NEak*S%x7(?urG+kDyhs@t8KUoe&(zdZG2R##@qGRc`XlB6 z<4x$3XhU~*H(4weabF%Ao-h79-?zEBS+tA4d-m*E(I@_y`+>2ilP6D7c6PRS7LONy zmcPSe%l$on{ya^ZG>J+}OGTSPWpTC_;NchU%o7U z=bw3OtE;O;KW@A2Ho{!cnKNeyb0eNzR8%CM$z#NyNl8he{QUfW$8(?;j{`retgKA@ ze7!I32hR!1mol~ngMltxx+KPf=c%~3ShSzVjN1j77P7i!%NCk2VFHaBHH!A{-!J+F z86=a*M9>j}tW!)(3_(9ARPK})%LRXr`+nD5cZqf=vZcrk%ixhCM}+M2Sn+5187!Bq zCwxKIL_fxi86)Os)22;y^UXJlXK&lKO~?xCGRsSUFX%Ci8#j)1oem#9Oa%o6qQ5LV z6%`fw(W6J3(UyV}Cr)IQl$2;NM|#L-IAlzPF-yU}X55DLx(0KnL)-nh*JZTDk9+ws zMzxT^(_6Q0?SwA6_<3{Z&J{AkvdQDeeXOmm6>}dJ7AE9_`!;dnL@}TIKKFf~K4|-U zlW&fPWkEqkU=nlDnXJ0Hx+wgc2k=R2YirX%Xf#DdC(Hrd*X?l!XGy2k1xWf$WwY73 zArzjv+B)^QbLToR!RPS31_*2`8hZv4Qi=&K!qs*yfnz~nrD7#z!59Ece0<@vF7%;= z2V$_7A_%OcJg6)@{R!L`uP8v?LRg7H(c{sTM> zKCf5ha=U|;!=Tr*`B4FU0x(n#=)50B!ViPo1f4Adt~3G{YH*d}`(*&glK>~@=h1F$ zU&{t%jsik{_0*|Tx1%Geur4v&aJJ-E0Su`rJkm-Dk?{n6LtQO)^7_0g?v2AC7>GIe z;WDz~|0(?A!Gj0cvUKA)4FI*`Aw!0If{uQOPSp+6P=!IUbzuuS2%ufpi|@s30E|&s zfiGTPy#BYpSf6l>1%rQV@7}$Wq5DZ-?orHk`z1YE9fe0lQ-U>|+^!z7ceb-)sXQJx zdj%?7mXMD};L7D6!X#$d0p`^N=6D1i*gGH}i~-)y1ZGU7Ll~JB6#Y9NeDJ~d(19S@ z>J55I9g<9mX$iOz$r^1XmEKR*C@aM$#ZqKEgLZ)0n>r`}3aHX*sIj(DxIQ|Sj?{h) z^>n)E;@OLIq4*Lt*EO>%X~va_FJ{8MnGbhn`I03|eg&l74YuSO2!NP5eI9_uE*QHB zOm}a@CHdm@#q0mY7wZlal7ZZI)+4xu1THFJ3{S`7c2PrJ4S78-=s#Q~kB96n&2-^R5nU`TrjF(& zx?Eiy&KGW<15ld_9Qp{Z@GD@2#nADTHX{_s1f)hr(9(x)p~<(8 zr---+(iyenhexNDxLNquuwm#*v(SnM;#pF6Ri zSXOyy3H|MbAJT{^vnYSU42p zjA!uHw3L}Ul!lI*MwUoh(~7(Ad)3p{*nIT($;S>IK2!kRPrPv9LO#5upP(HxCQX|3 zJjlkr8v-+4J>nMwhSTXB$^m{2+{DEX-b9HxiM0FUy>$L~In`dQ71yWl?+{>Mfa_@o z(6O5)D6H3a&4-m8ub{o_4!~{IQAAWEWslCFVH1YZz0cf9m(EnvmepJ7!ntxnr-r=s z)>|vBR%;^A`quzj??4QVS9FwB&i+25P-tdlN?*TteewF=%FZ}G+@D8cG#XXy?d>VR z0aa{b65aFEe^7fz3+-LMhAy8!LuDnW#HIiHpUDC@lLCIScRR=r-0*{z4Ya}-`YJtk zfHuGTCK*iT^tjlVpAH!^i)<#)s=g$pfm6X5rcm1Cf zw7$>%Ki!6ZN1yuZ8>bs^NP_=`VKhO({E(Ud)s}{3m4Sv=)l#s|^a(W{#Hu`*p z#?JU2c)k&=C|>f)B5BmDg_JQSnY=IJ!EhwV@6;;Luf7I#R1DD^s^_+2RFZX__!$f{jyLI0c5| z_~*}`&x20CJa_I~uU@a;$fW6-V8(eX3YhVYdYnC^(W|)~)aC3ZwLwjjmyf5BvxZU8 zwqjcUmrYcB=!~F_skzBCVcs}O$c&+s>=cSgiY9%S9$=!9+)GV>)PA)DW*#7Un}aGV zE>mkw8`YN9)5UX@bh)&e%1>PqS9nA?B_$?{T$|p@<^OBSDYM~l2w@_RE%ybN9)F611x{>eXfQ))&G<|-7&zxD?oUro z-;6nI`M(jAKMRN`z|l9htH>pQWMoxU)wK2N*P8%lUgdNAcl@kvX=!Q2zqPV#xNv!8 z`CtRz2xV`^-@C8XF8&S!Cg&}3xFz&CHk(ZcVxtptr_+-go>mtaOH@iWE&lqmG1_3eUU29pQYN0QmUyquf2HjVj|};vK!17=NWSTV|jUb7RKf`xw*Ms==YXuf*B{M zD#FM4V{9=s1|xt-Y6J)L-A*@IqQhw6S7uX3lU;zB#bT!Wp1q4^KR6wY_LHl}g^vfs z)oTDr3KDYiSyXl;Wll;XtwvAX9o^J)xtT5;y-25bm(Y=I$Emr#nL64#gf&to1;7-x za^=b&;>WJL@4kB_uXOZXk>TGNv^ZIi1DqTi);!qV-JOol#j*zg1v27_ zft;Cmo|F&;zmk%Y9vU`m*oNW5hyN90^C|A(`Tw(jvXNmq3WE$JLso2PuaN--KX>Eb zM*OV-pYbW59SA^_WZ=5GIttBw=r^kd(ehj{H-42%KtV)j!N+Nzzh~ZqSY~ZLfOQE3WNAc1#BcKR z^WXnhmyMP7useZv4g-z8d;9k7b4p4|Cc+90)`ncPdp?ZLGPv9?g1x+jHu!HOGyd~t zTJNE&i{;gth&)10G}1?JG2XEQ{CR`|j0~EP=_-uf3B0u*ZCa21oawvcW!9`&v})C= zpgYTdhmLCiXj+nqhaZ=~A^w}!LtX9A9fy~c#khp@97@j4r7kqv-U@=K@=MYFK?heQ z?g~eQ3}H6P95se=#*CrKx7Gp`FS@x4v*QwBqdM>+*y1RM= zT{W2XH0I_Jlv|ihqvwpIkN&WcN>BD~GyC%Zv}b?(;~$^GWS#H3l}5I50(koqXzm{b zZ~oe~Ykvt#I9~C=O(p{s6l79*dNfHndraS1$hzsoiE=Q*F50_y??lkxS08)qv6#Zb z!ax11fW|lQFfM^+uI1A zA5m6T_VRuA-4`)`{`^1iHnM+}aVSD8CrREA0PyFTVX)lrR+#}}85$_6ikb3_F1o=+qvUfq<9(k@75 zY!cP_S52UbG&20T>~0K9E17LZn)Bc^${CwQZ$1Am?f&=xcRl!(Q>RXi-?(w(<9FV9 z=d-Yip1z98g2IB+S2@`NVq$aFty}k>M~@yIuPEi*xufX5`=?Oh#7rn=7`~?@6>7l_ zy>#eM1^wX<+iClble}UY_s2i}@fR4#Rsh<&1FhZ+#2Wc|P_)#)|NZYj-Lq#;q0)w# zqbJhCvu>fnoC1oDh=zfa;$@^!liTg2qRMjm{U`6y#>2Zgju4IS{{pV318(OV*U2*U zc#aKMJS=ZiV`F11#v__7EdL#huK|Cn#(TB+y$e4(uElT^b_TW@Tx{tx7aZ*KNNrHj z@bLx2jK8$#Jm$wc0BMKot=EbKO9n_7ka^3NEz8Dzny#0fDF$sY7dSLlrSy^e10Wj# z2Jj5rI9^FhzMj=NeqsFdxJDd1c5Fm)a`IdN@F4)jn*gs(7#n-2yT}HB4Vuz6W>S@v zl`;K2%LGH9QEOhfe`@%o{bZe9pYmOB`ea;NXA(O>~ z8~FPGtA9XY{7f+ljl}BMmG$&^DSdP@J@Lw;6rC7L>)+VOdq2hJAgC&U*@~%Cr+%1_ zkgzK>qnQVX!K`nVvuv%^U}TR2L?#HZM&F)(`eu6Ki3OCHXk$1fK`#Tk;3P#w=_w_3 zJdGcpP0#=01A60)?d%Fg{pnAC`meCCuvWOcTX{hHDzlOXa+UD;{i@BIH-8mvm?sIV zfu34=H+|zv4^eU?JP2kKNEI7P)rkuBCjwg?-g zXQxtJN-XXAXb)KV1>P3ttFEp#GrPMHSCa$CN+S4RFP0MqJ~_W?-n;L<`)ervnEsT6 z$0;Hr3`%YVV^LNXC8E*M?!uh3!xeO~!HdSV2<&poym|B1qAe>82E)k^83=C9mp9{U zAXDLepEoo;iypoCb_zFHsE1b$ubKlGZm)~Fdb+6vOzB)@1vRubQ)iC@|F)7dWVI2` z(7`R91#rs(c>a9+`0;OWJ9r~K%L*GM9s~3{7C$Em{fCj#;_m@p=ooPOy%;n1=N+IV z;V58^yV{&&uo!95(q$BroI-E^>c@0w=cZ7A4hNt;3P9TlcG=K3|5SUX z5vzci(PTv91HGV39Z->0t^M}}USY+(ZZ9?0v`|D`I6eHUyU1uZ(EES*fZQ%=5Fspy z05lF3AH;;X`T|#9FyVXmoHZCby6{nU5fdFRXg zJ0~1}d-+53!xfK_Nu?ogTNBzKS=zpB&^o#(Av}_vyZ>E`%tcy^-yaW9`q`(Se#)*!0&ff+WY`(aTo&I?a!^wY@h+4Zs{7VeQFM+!w93;=nIIN6%>6LH-PR7pn>S|l)?3v4S{z5bD-(N;0B~^Uyh_~N<`^$NGd1E0X z&*Sfe3i6+(DUZl9alo!!(88r9O; zK!?kU=}=h-9XfZK%4@5GtPOITwsPgl7oL3b$-uN})BehLV2_0t19+?e?8yK=k(yzN zh$OwFff?CV|^K3AULIB!s#jTK+xW$TQXkZiVw{6?D?ZJkIh6H|Z$&v|R zW%EURth2pK1Un_S>gu+5y#cYh8ey~0Pk*`$VBx1%UfICUAM@5*Z++{TXP$WyM!*po zH)3H`1Vm{A+G9O%;J^cyFJBgx@8$_p>6^6iKmJF(Q@5=ZCA|cakkS0`sUBLkEVX<^Eg` zm@$xXc_UWP{)!^>1!8VD#%%8EufM($K$g?@Gowdm(O14Qn{K{oIHjetdl)p242RP4 z96&lhKY?b?86j5ltE-!6`?hoR+UvXM@R3pu_>X?+rI-HrgCG3B3?~0JYY_K`FWJq- z)JdTo<)z2CL|em24dd+{zUq5CcGaJ}xfq0$k5M%woCh6R$L5J~iErZt);3nxxjCe;$9YaF?3PP02dQ zG8+(=*gO6g;GwHz}{fgR~8|cjOgG!!U7>LQOlP6DJ!yZ!TTx*r!BU}pu z1X(X7!2!$+Iw|qB_xQZoc{EjSChm_^0BU$muPj_Ll;v+=j-+#)&(3?!29U zj{>`TVD7CHWr-wLV?6~lnn6PkDzW;@am7wDSR?4^rT5V3$};+R?{?a-VZ*HxCQMkj zXwjm#xo#Gx*~m4-xSmumjb`CX9X5t$E&np9!y>4=vx!=&E|IgnnY!B>NUfC?1K15> zhQ|Pcc1MB*-v*_eddn@hybR;<3dYwFI!|msuH|wn%4h_u;i3f+u?UdU;iOJ`7dhIy zg=}fnIw-mx_tdgfv5T1v#pfJ6-?f6@d}U^4iauNm%(%^v^}ILVeDjy3rKMK^*}{cm z>6ibxoW_phA}=0*yj=jS&#R`AGqnH!-V@wI2?^1Zlo&(t3E^;W!zdfGp-th=PWRDl@#4WjXJ~;*)7|4;A zq9iIo1k@s+Zqw>$T-I7 z@Fd1&Wo3ODDtlTk#3$2R0}xu|nW%M=9~;WlIj-gH@dVvHk#QgJ(ZBblqK=j>ip`9o zd%m}vE}yFry9QWrIk*XQP6m)v^Y5&D9FXP}HigDRF|7cyTbr7ixcms+vS&F z@iw6-ViAC^}~PC=~G1_y{4)9B3wBqxw`HB^tbm5f)n@mzyJN` zp!QjK)~_J=7ZniUzVgK&IQXilO5Uf}JM&yER#+t~&nxE9@sVT-Gm_KZV*q1I20PPT z3(R=T*}dd~h1X($!M%f9*Y=z|^NqPH&`AsbvNyr85mWwkl~yH#0fjVuZ;hy;e^XvI}VC<3FO5 z*aUic?JDZVbNB4oGap8H*`!I6UdOok*%*V#tHF9CY1e9c2lwTlS%y3z+aCi;Y&Y=P z76S&FC+^Rg7bUxL5#^ zQZq>h;Fq?UbPC~g^M+xEqu*yUICAh60-rH;>eOd3)8V)4`pRV!+5o0Oac^U(Gz=L z&po%1{`5ba#ds;Nnwmy&(GjAxAFAl@tM<{CzBG}ZerhgdWTnva&)){7-c4)P?B~>) zS$TPR-v^ucHrm@GuWE9_?EuTW0pZB%!B#Z}1JPiz0)6nho#caY@H;oVP=8*N|t;ad!(+7CYb@Bz4*>(Qn4!c+e|d`u4!~&!(l2vbCKH{S6Nv(2A1VxrpYYuY+*uHqs&K+99djn zUoT>1lP3?MNmDZL*dEb`f2D>Q?}mtkySZ?|2->-;geiN}@#DuA-hKDoAA>=N2eUu` zXvO`RRRHjofZ3$--wN|b(yW4UJVPQDrdFwMaB|h;bGyhI9!YaXPNWS-_KF=6TefVu zdFargAEWPGG7$JRYPEoej1dzkfBYocwQdb{wYP~Bn_C|E8r|~Xqqr9*b9PfZfYl4P zrW>Hv+Ehn=D8|L&6LezV4(fK;Db$VMx^?S(Jm=+Q%a%O}r7TgvEOb@%U*q5*E~8la z3#d3*6yU15)_s{3^2O~N%*Et6f%g&43nOi9ZMM+A4I7#c*Yb7%Sqy-zQvexPe$eU6 z^!n?&acvVo1~BZwSo6Y=%A05f#P-0kcZls6J|ovTPPyB8qFE176aSG%1$ z+q&eq16--TzGz5CSWiu11~Qq=!j6C@6Rw45L|bJ3h}BGfPg*;H1^TRwfz5xV}A?R3E4!s?u&=edVNO7`a)Y zf8*89C!SnDW5=bEv%5ki>rM*7|FR?v_kS@h^5v*~-!)-aIT-hco7XCSkCG5_^wlgG=; z*nLpl34JIkE21q&chlMG3M#9vqAt5bh^>-z9@?*%@CYg#Hi~YWIE%*RjU=PTM=ls9 z4g(1fgliRcwNQLi9L*hBi2Lp*dsk<~<;$06#m2_&#klw}kD~oyVOENcO_V|cewmE$ z)+YSk-rOWANDH0P>qKr~zf7A^5qMz$t2G%(0G10LonPd6OGHMk(}?Oh8ZcBA&mIRn zgC39gTVMU>@40$(G<3>z8aj3g9ow^&bt@kFHab2&euEM>*DA@Au<%*-F1v|=z!q*5 z0O$33LSla^p%hA21GHn>{9l-r-H35 zSWs4cGL6X^BEYPnu^|<%W+4>1h-}cj&JX1B%Y%U#k2wPkv-5!tSP3SgnoOFbM~}_`TaOEUfBLkcbjR&uF-AQi zl%mK12h%riE&&UuVZif@88hZ@nCIVSW@dVLI~R1Pbj6Alhj8CtuU@_SE_Qc$?m5)) z{`>nVCnuJE`qNu!`SL!au8#|XGvxP;Pd}h{ zcWYJN%oDYXSnZYhy=ufst%dlFZ|4~A(gA0K2?j8mkpPch)<`q}CnZ7{Zd`hV@ zb(mF6Etjk4;GsR#R$E1FjSXV=fY@^h%rTp-6qT4nVQ5R{@ClSrkPmm#1QzC!2#u;Y z!{B&*cw8J6F8mS|gIT)Z-M|AHGhxDn80fs%B_g&nfla6(I9%&n#kI_guqqtz_xl4^ zm>CDudDD51)R~C5NHUlV7^L17S)-M5z0U49N9+Eyg-Q;e5pE*qkFgS8A<8N~{6M6D z=uLVmm^h4()QSaZ(yU%`p0{M~8O@@Z&(946j5AoF5NVnRE({cczhP7C6^FI8V3-sOeBhSB_a z1+;d}0cvY&HNn!495G@9Z~P4~Ba>rHiEGxZSpk6+Z;Z~)qp_*k6aae&sQUBD10v&F zub1N^UN^a*sQoFj$LECyVxswQHU9~KX=`gYA3JtzIu!07P%wL2d%MNs^BEL3J+!|n zwN|pUex(h8Ue?|(D+h;0+`Na*WTlbw7Es2>k+k72zo(DhcvaMTcRHQAci(;Y>zr#h zZrr%Hl!WEar+Tl1>X^$wXvX|NjEmVY$0`Slm+^f7c&YpL?JEp*TWz*5y8nUc6c=xi zR=DL*hfb%a&JH(i{NyCqh?DQ{fUKQ^;@F;k`f2^zwQK3kH{bNYfU3c4JlqcU3TDrq zElxP%l!rIo*aJ znt$J8l$bM=oDL6p1)&MaKlSiV2OW)^K82FfGU;O38Q%Jqcj?llOpJdMj~ka45nzS^ zQL|5MfS(=(pyC*pSQSx80dTEOOHK97)ZEY#jAaR5l6r%g!EB(OHaC6n>P9-a<#4}Z zs{G_a2YGSSVeh8B8}?IK(FMBmTes1?hv5a71LOvvDU_2H&;?MmMuwq71+@MBUF=rq zAv6WKxw*U&VqIoY*;pku`$Zoj>15?Hx`UHY|z4 z@p*e!k4R=!tFP4M@`&6UKaCliN{LBPR9;@kj35)j9tkjMp`x*t8UPkU!Js1e^8i1e*jJ+JwUvd_v&Ur)p%e&b$)yX_ zP+ycB^4aUDId$!zS+C!(EAPi6gZ^Nk$NhrB^8VJ*q3@3HPfsOG! zyIrj7jQ`CIb)2?%9AJPz27}Y)s+_q)PH7lKC$4?12)!0 zAH24biVy9j2Y&b~8a;afLA(V1gc@R355^`nhlWp@CBO`x7au3ddw37CAr&Qn7|bw8 zn&5J|Mtw!y0zqRX5*rn(W&nHB!g_h!eFBm)ihE^ul-(W(KrMXp1_)gQGZqZENr|y= zeWj$tBu`yUeE_bb{%^lnEn*f6ADtua<92!kmz*9IW+pTkn1aEm0T!cqOH3$Rn>T+1 zB_>#)D7|+wuyJW?b5KXSQ;E%K@%;>5QyJ(PPG>idN9dA+kQ+{Ciir-Rd25 zR~_TWkN*)|)~x`v=fMo8fu+%Ztoj2bKOILS60^xAZxB~WkuGISqH+Id7{7LmwNCL+ zL_9a32u~n5KVDg9*;pIGEb!jwN_s}GMG2o^R`M9T)6>%{0Q_#=8{FL7oP;@0D_9d1 z6&;8Ow|OstA(ov!u6g}u-=rr@|3kTj)2O4xcjeY92~)x%%#=A|oG1bby<_hqX~>Wv zS9SoPLu&j%8+5m<(!MRf?3W9&36xTYEWEILsL~9a0;~kMtyXLI{rBJha$a8ETlhI` z&z?OKVZBDelH9`Ea+pmOPA>!j8s3|1?*wW_Kr3s!H8@|~na8>OYk2`%=AEG|gyW1%z=S!{_^A0T31bL|NL74nxA~~$sL7-g==$ia*lIq#|<+yWj8ba zHCpt+MIi{ifeUjE1ZIkh$%|NnZL5+MKmN>_Gvh<=6(1iCFdK^Jsma;XJ5KAweCOsw z(Sr}ppgnue3fAQkxpY@$PzVEIG8ri{!X|WvOUg$?SSUL?j_$vIJamfLy&KOepufDf zgBly#cr`I)@#4iguCU7s6JYd5rca;#5aulaIdUkeCgPAFJeSjb?!No(APWrzWCk_N zdjNX8bIzPOUxqIHX4kG=OOM0F`^`uHpx=M_I~1lj%JJ+g;KOb_z8e6;(E?xcFG?I)1Xc``W{PAZ1w8hoc)kC@L7QB|}Fo5&WXCqji z|E_!Q+h1OJx#`1yzPtER=^5kOFZ_g_`t9GymXJc-ojpQll{76L>-3?+C@wLXYAP!@ zDR~rJ&1f*$7Hwi;A`cMfC217@R3nn+R96YQR5eysCY4tX5UQ?~*W&?gz67#Tk3p`- z03J?FP36r!qR@!(BK{BVMr6$ao zGgq7}4L4!}03}{|R-`$MqV;C#<;Tc~YP49$?sd`&Yu=>YMMp%;4+0v1a;naOrhnsq z{)-$v-Sp_3Wg^E+S_+o}}`sy-?jm286v}(nB zRek+#xF!*x4Uaa_;;(*#DoRe#@x9x`nGGjSocPk%v15xMOa2=!!=s3iN|HZSf0S~N zn3-}4{9s^)cEte9azo$G&rcS~vAk;U>yxhIhQUfsvCuF6a~ZX^%*PzJQMc12?@s9( z^bSClOfYcLVvE6`6Z<-~tVhJ53YQ3$j~Sgz!-gdbFvA$dLN{XIp4V`!O%6}k`TLys z%%{nNp#`^I@oC;%;U*Mt730dM#q-V+PJqYnWw+gS+qcnQ8)R|Twi5^Gz=dL(KfDkV z>lemH@ec5rR>(>Vo^NBrA-R+qDNCUrd!q^Y&3~Qq1CPvuw%71}U-Y8}c=KswWaMk; z>(BP>+xJ*wQ=|6Ku@m~Q{^}1tmo7Z;;p@Mnq60f<>#9G|?caWmbdXE0$byjKiLA!a zNl6rwoG!quq@*~1;lhQ9z?K#cUNVi1z`u!#WcgJCI3ocH#(PBZMpfXNJ_`m{4X_Cl z^^ZW6S@6&)FMRdCEm^wcuTWfX<;AM3;^I^H&AxAXWZ?oSDf{%n5-Q$vj!e9DEmZ$G zF9q$3PKg#v>Rt9O18)goDh|-J;O7zOv|1VTyu36@jJFDbqL2!y1_N(MH_}^gAEx!| zkBawix#gCRzV)qdJs%w%-6|zTHqlEjZ>G|74P*{8$`(;2AKnsxV5VWRqS)=!oIQJP z1e8HNYSbv+N;C<=sT@8)*{SJbv$)R{x@lOdjtf+zHHWs*dwVvEcLDO7@4D-*pFnUg z@$W5gEq?paTU1n425M~#iJJ*uo(j@3DKRdV;|n?%h5{HREmtDFQgiLvLdQW^@_WeD z*+O1NyBM1=8z)6-<=9EcXK~xkR%XW;wD>Dek~Lf`n$o)U>%Rm5AI|f@fckk9k5rWP zS{J*S*ScU#ZIHvLE9$7Gkt4Ifrc4;S-n$q0Cq4S!+2NwD&JGH*s3|8m0iVyL5hK!R zc&{siMvls)40sD+VQR8iw4~Q@0&)kw-$E@dcCb1Res)ri+e?|5lA1w2vMyh~JO(U9 ztbmRgGlsIVvP6HB-4qORte;BNRYiaLUJ65Vi=*CLtOwP&7v}&5+B!R_yuMEI1~7Ns z?jCY^J&GRqKKS4RFMz;`D^3bSXeiKM>XMKHU(l=Z1wywtsRm1((V$I6r92n6v7@7- z^`@I{dVcQQxtqD1`u@H9Cbx7tSKRv8Q>OIXd;uv(wy&r93g~~Bx>sn1o31z6C^|7! zj!TM_={T`*K|Xgf5_B^`>WrU!YAG*CB{x{q^arZD9Bx=_iH=7=Xw{_Z*Jti;-<+}m zoBdn1IvBhF1Z?w`OuLzEeIvOWHogC1IkXETFoLyc;0m;K74> zUKs)d7^b+G9A8L|jw2m}(%shHE6}YonyIp}nqJ$ymb&1c!Gbj}UAlB7#%CjdF75T# zUw@SEQ&v++>yPZA(RU1iq3@RC5>ge%xQJ+qv@j99%<-DUM;>{EcXIf)Zryraj7W`f z(*!)U_3y9Hsr}nXZ!l5**g_h=;8wA+%tm?&Txf^HC){EaeJ3C`fo;;bs_hk^{P4evd;rBeQ zbc>4%7&svZ%?!pE2Xo)#VWosT-q%Af!thx(=2;(o^w9!&KeEaKw=vNcAs0|pQ-`x# zY;WTi6hSD!DTl%WN3KC55k zK)T(27}{{k89IWtlPC)m4L36f4DdJ~CcqEj0&_-X;yJ&jm;A_%v(F=y9TBytqQirV zJ=lx4qd>vEoC3mDgXuC)N~g%O_VvJ}^+{CSCtQr=>?DeciK5o#R;oB(DUx)}u%7lF zX_e3~?>Ml))eMUaBdQc>5E*uRml=~E3CbNGYS~R@buj-$aS8N#PEXL#nl;Dh*s(J4 z{zDHv^fwIh;iE^724E%Ee){RBx5IjBT`o6ORka2e3pgCaUFNJ0gI)uxuTd1ngb9PU zX0XBCvj+PQ0WvZ3QEP*4xpHO!@8eXE zzVe1@3V>bm8j>%B4jXZAgGSm`#%CTD6clLApFeMO_4KHNpf^Z#UvJb<)ybo@;jgby zeT~?pPKUOxqn#hDra8CYOSA8On8IUXsH@!zt0*nT@YUn=P(-wirYyRHj_vpaZf=|E z{o15py|>+8c6;JbC|ESf!Rtk|nbW(%FZbb;zyn|S5i zGkWysJxi7>ah*PWIUL(xpfbRD&BV!EU z_$IS=x$<*BuhaXxdt8Dfv2o8X7z5dRi`wBfSDY=T!o_z=tkdNb3t*f;tI_KyJT^i6 z?sRr*Kpvu*kSSF&*cBAQ7ZV$e#)b=5N(oS_MP8Cmtn6{D#%K%^X8`!G1I#cPURa$@ zW@Jn?8KIdP^Y^xI-#!*pJC0XRjaH)ov&iTOiin92U}o>=5-UMgP1sd3!AADmgjXQ(9Uo zguk}7le#+i@L+AP;5PWC*b%@lOi(NX8Tyl})P+*OM6k*}dvZD9y58PO|J?VfxMyZ& z=EXU4=B&b`xR}8L^h=VGl3Ezd_&!Y?ZPeM-NmiXns-z(6po$a7J;D98k@#*bgjy|@ zZ17^kG;p+ECCVXREGwqA)|QaP1s|24JxNu+K1*kg?4#SC`XS|vn+Sjf3y|}FSROd7 zX2^tTG<4h)I=F2ECxi~EtgOt!Twjt;r1sOlUW=GrEGyotyEFbOz*Eb6qFkC0Rc39_f4{O>N6esyU0ivGMVQ4Z<)YEG_n5=`x(JME zVK8H_3dTMuzWU$$|xH82hrid+foSfa+-Xh&!9lA3|%6;>xw1RZ; zJ)v`4O3B0rB?y+ZuN1cv3A3C?3V*-7sZ;!Jv02CxX_XOtfK2reDhy;5 zb)1xgFgVtQ!HYX_;>1!utRx~b9CR{SxVVl^hgda}vW!h4zfBZPQ1#ZsfZ!)V*5N;N z=#ZwWswx9OX}kiYdI~ceuYj4byc&^LcJ$~)DlV=fY2W7L4H%TuY~h&#a}9S`L(VEr zlM-MZpyn>JSWUgqfEkKLW zE=p$|z+xSSU>5i)962*&3*pzI*}SJ0Qdw zRzQv;UL{GP=@=>~$>uF3bo_X^GB0N)OqlR40J%+^lLiK+m&YA~8cIZSiiV8#Xp zx}e2ebEV)??gyt_pf9`!^>ZoXY=W*WoivMn`Or5hH8O!*U}A=tc-nVz5A8i8)dv8B zKN%MnSHXFvTw+^Uv@t{fIV|J#T}g1&YE{(f=%kL8CfUu5CX*#h;tJP5GmKBqh7B9M z3}(}(PZxztc|Nvo-8y~8jvX^Z>82sWDJCgHcs;zqUm1olYlIZ|4@q8Eg`^lMQ;2?O za&vPv9B&dj2VoE(pf~e=$&gaT0SayqRnE}R=rp3{luEH`gU8HNY!&5d4#Aq^M~)o1 z8CFQdw}y<#qpZ>C0*&jd8mYNXVhO34sbq_=h+PN4P1!1W^I%9w0s^lCBjEHBYv{&Z zc7@~OW2DVN0g0(GBjT-GCr@4k&F$vJ2+xQSBaVXV_i)Y~TS-1n%*jbZiZW7 zX;H-B0I=_eaz(+=1h?2+DlMVaFaDI0GO{T$B}>$77i&MF+>DkohmWP$#6)UssMoi* zw@!hAyaQJ!(;x7wRi7brCWs|~B6RGP^AtEgQ8_2oYPFJ5mrE%D)i<_wJ$Y`Nq9Inu z%j!i65a)p1d+)u!#q-|;sCoIB%n~_&mI!jTHHt)dZ@^0*9^OT@ zO-@0J#Bf^u0ATH5p6>#?M|%QHila&#NoWiF_!ict5oo! zv?E83)M{mL36@!jj0p!K8l@GxfU?a-s$9|D)-G>Z(21ks0`gXv>p9&=*}Es#sZZFq zZ{K}f&t3ydIOC3~6c%LymGx2m#YR!OgqNc;ho_U#W+Hp7quRO4zGW5C-7?f&wxqNPFvbTw*MMgw+V4};IStvE{o0^&;(FTL^Jr-sK zq;8J*V`GC)Ep1NXAL@yW6G2%F9Fmzmijhtj8;B+?)V|v z_5NFQ+cQ5D+pa_fRCcuCY9?n5p}3R`YN)BE>gt-zJMLI+WTE{`I|7u&Yo9L=TH;Ar z6p$bl&Th3s4IBlt#F#T8%aYECRw`Z*R9_AZrysy^KkNPIX3I1sMH|6CbywB*Aj| zAbg)|cZtIsH+55rJj(zgUC$ocK3Rb&k{d+Wd>D?5al0!bHHy8lcnXP29MaoO%b?h$j zF>~G|Gty(Iy`luH!wG+H2%NOLf%@(9QVxct6WFhXVlEad0o6ft)0;w>5A1LzFTsUu2F{ zoGPaBVoCoqhmNASj68BXIZ-5V)&4eRd5OgU?e|@-uJ&sAU{bT$taH2EqIEhjE{#Fk zTUdm0Xs)<=Lg22ib{W+0=~51dqgOQqyWL5h9a703WobMh?={ovg4Npi zgd7cnI%im8&?B~Q-@dd*UJVrPZc3CmoyYCA2k#>i2f^5Q1HEj;>v0*;&&1F+u)wuK zX!};~WH8jp0c$T54Qx=uipVQlHk(ZkmN}F611euhjEoT}7(P&ORq%{>DW0G(7e0b6 zJw3emO@e56nB;Zjg!njkCYRZ3%;LHm_YW9dV!gT zPebD!|4e^*6{kjlu9UK8zR2z3|U0sm>pz9 z%qwI@#apO&m0#3vGZ}&I1L*Dxarn+-+lK-d-v{L z$bTC%buP`g^8qqiwA5bPMxXrc_k#V|BBE%@;xAEHgq1p5T)l{lfJv4WuUmK>I?QW& zT3S#3(4kK4&wlnZ-W2Uyy?V8fAVZj5?2q$N=&GGxVncE`icz0^@axnRO+`h8o8t=r zn-vhqUxN8WvA`{VW*LpSX@qFtCvR?}kN&bz2u(stJWc!3BvKjFr0jc@eBLPsi&b*)9n7HtSEH(r#@OK+)HXMWfWM@(lFP~&;YO|G zMRq&8jc7-h5<|iG6dXEqXmU^?amyHMgxEsjcJ}nn6VpnYe&w-g!MN7x*&N?so)?3X z)nf7Ff|GrX1PUg;Z72c4>|pp?r=biBBT zDj`QsfLIe)5+5xW4v>!xk0LYVXkuOgEf`TqCY_#ooLw@PQHezyLu3>!oiv+1Il7nX z@xARkwlAJFYu2A3E5&k}kYt`QW(Jc{uq5dy!Vu%jGAmCdmnq`9de>7Q1#`$-4O!6j z@4WNQ_upN;`f-oft4U1Drsd!K5oL`@q1NgydhexQ(1Fb#i|>q{Hit&dz6GwXk9wD; zAfbnD5TDk%8WG3iiY4R5kFTFJX;PE+kw+fUf+WuOv_ikF<)F zLchGVWYd8dSBv-5jh?v){TlXj*LZRFvB_)<7PtFl(7@_5ZgyM2hxt@R`_-?fA z0+g+~FYEEELQZ>DN!0)hDkBX~%@T3F_SQBVnBnMo^XC1XH#BeBwCT&GrKQ2GH?iT7 zGoGDsTQk5C8!pdS>(&E?l7R zeCInNN9lS1gWV@?H?MRm?Et_va>*Sgxr39$D{|iLbo#-}0->=#W{50rrVW|b0LRRLi<13gY!IA#jnJYgEWx%orh&zuP_X~l#I6VAaa2`D+HSJ-Wz zF$qXJKa?E+5fPDKYWk~d8TP*-ZAHH)0Arqb>#euG&O20+;XXe7-@m6Bx6PpQC(G%* z7hj}JtKSg&jT4g7=;jB$PDZN0`wv7!jlQ*0MQO1VSB#Es!d#TY;M%n%B_$Sg zD8^5Iy_CP@mFjKv+QOn18Ni+%$q$c?ixCJea%}qZ7~m>+<>l4p)@IA9Rja-YWsQMl zjj&p6boWzt(A;}w($;r&(B@U!==ARfU7sfRar_X+$nkojBz zYPi^>9DDBoqpE%5jW=AN?G+rKL8nviZcR8i~*W6r+`L{%p%@{3Ad8# zp;vQ`*v_3h@3<0&(a;@t6w>tRd2)qXX+Wh#3>96vSVy(B(#mULVPOp{w-asPlfeT@ zEj3YcCuDmVgR>}C;`Py7Skf`M!|2G_({%FW$z@ZfOew}VB>~LtQiR!PQHiNHZwT@{#Lqxc+LvQmyupbg^uQ-jGwdJ}I5_7566Q_K5tJK8(+mo8m0 zW@KdOc{P*cOsvSfFv7w0FwlRs&Ulrr6Dym%h!7&(H?*Beb~8C4JIrDxlPOGD);GWi zrXD_gxC+nr$&AZ&tpL0dTVqgAKFcM=!JJ!rgPD9}Tu6|Z(*k_5aR|5Bj4+g%(4<`k zFCGuh1LMlZ3{DJe{Qf}6y-Kj3&yPug_|=;F(5V9Py(qmdg!w2Ciks?&6Q{c!d8Z3K*(HVN)lW%<%&3wx2vq zmG!lvH~`$gRn5)KWso_M?-Ss%?98V7gwA+YUC@25NydGNiA{tjVuTAE=c3Xfj(@JEb0-c7+2O^9d%yE@8a`t- zb+ma%)z2X=oPXZY-b{^EQaCCvH@6b9R?Fk7qTxwU!-@3vixO2X4xRyN< zKye|JSzzjO`1FjZ(Dfg9EUU`Z0v>-&mw2GNC3g{b8%_Y6wN9}E1 z`RKWT$bFM03hc0n_c9t>0K?M&p#T7}747MUkO*PqfNgb41NofYA}5WDS@ND%kK0M< zvB~t61-DVj#S84hWUgGf@+Cgi>f*89l>x3tIWyfQ5e@&KUX>PuAD z(#T5U;usI7nka$ph?qFCMMaXmrCxwde<&ihc=DcHnRX z4>?KA%%QlnRB^IZK&GjD00}RAH-q-GK&kqi@O~qR#%(kK%xpF(R0wvO`oaq@yo`B0 z4`pu#Y&J|N?%<&L`c!tQ9 zN-z(jQ3WuSR-YRh8b)DWWAWV%1tj@wQr_6j`H1r2xxrP{fmUx7FypJLs!GTuuj+*^ zRB-tuFyg&nOC?}#x9-`q=Ls;}(U{kE%kQ`LK4Ofa8JDQGtOMhZkBg@h zd$!Q3mA`}zAC~H@u?LiyO?Q9ur!@Wc`#@~GqJnO(^gR)p(TI57rE}+~ro2pvYaYYA zRPj7>YKC$`j7pCEh!sCypIC>7E5*vk%tge6i}Z}X)Up$rq8Xt9cboZOP!vo0et3Fpt7tdT0??KoOhKGmOEMB~r zYg(Ox#bM3UEB?!wbC;;0(T+hhgXTM>eP$=^c{Jv5mPAGtuQSMT90;$Fd+v14=T z#TW0Q%&bUpz(wf5a-h`V@Y02{7LxbYIqK@_+TpkJzSGkX_6C4imNE%tRh3lV-a^UY z(d6ayHF?!d=W@}CsSD|F*=c%X;|E;MBqFp8!?JSd*AG2S1&JBthA@U24i3n&rMyso zSya+UjEU*WNKdbZz6TUm$Kc8AvYU%cdR%?u29j%pp>U#qe6R3`2;QeRY3U{t}8#OeDKQIssm63DRmrCDE#ivLGws$|EkC7Ekm?j~-?4 zDd2RFvn6Nwc@EBE;MGzc=MZp-c8f)g>+-Z|)7}AKyp8v3#R0isOUcQ}!teqVs-aW| zH*VZGSCQ407Kf-PtkJ0C1sxaV<|WY3{B*G=v#6+OIBy6~OG~@Jz{6*fveGcP|Em>s zd3<=WiSH3wMVH&kxpHV{8`}I=+<*6s88ZseuUdEu#Q?H)0HBXo1OaULMlnG3f(Xmt z_kAl?tnja1z4|Ad?)2K0wKQw!7>c)m0Xn*bym37|u0b|u_yl@q=O$`xYc<1IECM*L zVYVx+d`gFC_u6hLF95il-Qr{>-qRe(TZzw_9E{Q%eb(T^)9LWl+j9Q}=t=s!EjT3Ba(9m_3|^ zelmngPn;*eJUU^PFfy7Ag1OnEY?MDXk48=(Mnfj$QFx-2+;F434qv}HWg@o-el&OV z)b3(&8aXF5GI+4H;lyc_rkHA9`5S!f(o;@W}AlMoXOV6esF8?x3%^XHv z(S|^;P3mgBf$G|t=+HT7UuQyGTvcpb+-X>8-IWv{zmk?fgKg0iWrrZdP_USP{_~&T zQx+paUy~Osp_$9?7i=Z~rmL*#YP2e{H#JjxL#?u{ijokEAiW^Eq+i#Qf)ja)>pBm(nLV4R;LK0dw%ime1z0zZXW%1u8x!IeANa-us2L-==&?n3B0 zM~@!84oK@EDD%hjD@*BmZ7D?$n;_LQD$)rG>lgR*qo~ku(isg5Dx&VY?>;Z?GA$0U zcML`K>Pr&9lpvZ&pvBwuV#WdlqK~f_5Y+8>3ITfT6aaH^!i+gooSi{U4Rx-d3@5^B ze0|9isI7P3el%cY0*#qEiw2LKOrE}hVhWQ|qupI#$lKS0bhTxam3&GW`dk$g6H~$h zSh#L*F+*|baUc-Ra~F;ARMa^^StVZp*GSrAWX6-JIfCZsxHTEWlPlLifrq{s*#GMQRM@3Kw;bc*6~Zn2q?Qbq-Z)kmY9s(4b!T zP*gxDkenH&spBRM$fyibmo60LQeK&aa(ngeeI2N{32O~f%4=@wK&|RRc5+)}4#sjv z4<=BH#jJMk1t$d+0%+2sb7{f5f1zNk$=K5Fs*w}XFIW>zUAciu3(Bavw%UukMQ~62 zxpU`!0EDxT6RP=Mbdj`E2!uv}oG%AKY46vs zpD(^=h)`;toKLCgVhzbYvo@=se@~4U5T3uV-jwN0H-Qe&FSoazJa-{@K8jLK9pGp^ z^?`Eki)SbVrgu;z&wtEwwaD6#$+3o9qu652m<>K=8F;Lm@gwfWt!KWrTaTYyQiSg05O2tPErDFS$P@h z59=wKr+N7XlTR4Tp+F7wiHo7w(XnJ3jJ0U|sJW$Cn1MWkP^Z(ad;IaoM}pY@30i36 zvm$%o+jfH1BB$}c>5@}vRl z&j)hO$9uSLm`!XaCwP~YmBnH|PaQjUY^LHX4u-H95Y>kiAGmuy4Z9sW8)p+&toU$y zB!PfK!YBZsz%IwD*lbkuWGB#KQ$wvBfKvlmd36?{ce7<~Z?6VDkDdJ_jh*$l%-d3z z7)4JpF0xv=6NfCs=vI|P05Z7mI)IkrTh@t!_n@F4)58xxd;lP(v97L8$|aP|0T1a5 zov=wABHP^TA!U85u}5uqfqAvUAa`XUNTiD|+0B$o}TeoiI_8 zHlL%jdy^H%Um^QQpfRnSv!hhyv*ralN0__YZ=W=x|G~P|3M4 zj5gXj4SyNR+#D8m3KJA;PW$&>rVAIYDFKKq9BK+fU0y5KRs#B71wu?`$gd#8+^S+K zX{@CI5iz14yJD&+YvAZDiRO)6h@{K8c#46fesnlJiO%Or8fw76f%(|?1!iRKe!>HE z?1Dx^K>Wiiqt)>~=A?w7FU?3rz_G4|=8V zckiOhr;mt_96o#m7cXaUD)Q(IX}x;kCA z`v?pQ6xAT^LVx`rkv}VZ?b@|}145dN{q4hDvuR`D1_~T-;laS{C%i=f zfIB&}0IE}%N9p6wOb8(qV=x$cxtZl202$tRvWAU2d-kkSDdK?jVFDwIh%VRe;{QUF zjyDRuJbmB8G^}?VIe?~IwbjCAgw@n$2KslMlZPC{5cFc}XcbzD5s=9#TDwYP>VUS) zWsiu}q=z1Q z=ol2|Ay$}U$BvcUB{-Zy98x*MY%aV`T)m&7<05F-gF{GL-y-}NOqXhIxj~ZsZBunf zu$5G|+?F&2-RTN--=fN>yTTUnUao5li3pQ2dGjZooKwjg#dGpr6)VyD-)e5J6erYjXD$b<=ed0(BO=0hv9e>k; zdP-6Up#=p~Swl5_ePS-E61&iYBTkuBLVf)W!-e6@$NxSq#Li1FHJJKsoJ$2M@jkbe0TZ_N0hNU$3O_d#8D#*D)dseTY7ys}9g+%otgSJ&l@aCq9 zDo?qrO>TOnx|3Qt$uHPr|3=lV{iwWsKcIh&#zqIfSwly^T`#^7K&EWr!iB4G?ppWq zMHXhM2?+^JQ>IKA2sk_MMrI*>@zyu=>lI6A*wn$)0^uQ$Drf)8ZL)bfx60|f3%x{d z;SgruT!0TujzG#jnNRE9*+7+rQa&mK#dix9ELe|&vMU;n%YfugmJaOY2uzHFyLaz? zO7aaDY1ghan5DzS;0f+crnZDIUJq)u|a{N!5HtiI?X9sHs_Fu3t z)fJ7IF^le< zJxjm_G5$|)6aEh=1Wzt!u#cY?ggQ|k(87l0Z;7s;{CM=yM|a_wc=hU42O|dDi^i3; z4My-LAJH4%;|@$;&}`L ztpy5q1=B9m3M(I;jKuxD_%%agzYK=5=!_Qem2C%$FBjsj=Fa3TKti1UyDgq zFTVEyh4qgkHW*0MM>_YndH*09opBK>hc?n_?6HgQugBt<@DXLeb zoM3pD1)9>OL+v5*jl6&?&TmVhtsj0zr3F$kHBiV=Z03Dv*%sNUE1sNF1oA@|KvglfkNFTAhwXNTR_*qv`e6AAqtW5sc!!n@nxQ9l#%ZY#8J3ymJh~68k}x8RkyQd)1V2zAZTu`m_uSX_M39KVTVaiyZ*U~5`q3r20beS#}iLH@df)X88~nPvb(TX zyM>91pL_1PH>0AWbX&J>U0iyj++*!~8|hWYB6?)uL#}xMJgAnRPAAdb5YNK-@0wuE z)6F%a5hLNZTM~*@Fec^X zC#Ozlq}5-Zpb3-uQQw$AQMc)I{?J$Fbk#wTC`RXu^x9f8eel=A^z}C<1*7x8ljom* zemMl$1r9!VdwaY5d+sJLUU%);XP^C~yu5rZ=l_^2X8P(_BHjOs1R4+(OOEC`X?R2r z5nPf(_Fh18TC0IRJ+PHl?cFLmg@%NLu!j0epFVw(l%ccA0OBD-h9t2-!{hOzTh~#> znIkY4YpH9=ihC0YG3|*_uBSANm>Ezi$d^qV0~q-9IXbgz6J1R{EoNr2@P^5D3F!1K zoWTulGRWr%O>Y2$Y`u8#;u!2bHvLQnt$ckI^^NOG7L)a6grSn+E-Z9ZZe9zg>`P%( z=X5iZolrt1gGIPG*mUJJih;Bcc%Hrxbb}%(L>(e308Vc|Baob8{;@xk(;2|X*6Guy ze|F`{m67S`=~FnW{r>yAASg7naM5Hzk3yhvTjo|C!l4&UJ|CMkL_B$-7gv5XHUc4v zeDm&lZP_72Rn)t8AJC7MUVU{v51D4O)C9%bS?=X(f=VvmsYS1&ULg?_6%r6i0KW3!PLD^47WH#?(bbOJa`?ad9+^e$HDGHrW-Ha!5PYnp55uRGRL#*IAj zcUU*y4jno)O`f~S{Bq*SC!c%`f`4UdYU-rRXHQVaAD7Z^S8b$_h)~I&#vWtvCYP<< zl_3v`0FxbOoJry3tA@^UP}$Y1FfCWo`9q07$*t@@>cING27>$yYi{ihv8vr2?ReC@ z{PN3hGkI;=v}ti&bshcd!)>I2t*vh|x?abODyqJI^1xT8t29Z&iw7}kz(5{Yf}zPm zR}SaWu?;8b%K0pjcf!Krp@$wi^~x)+{1%AgTGz4>{yfgCc3%(sFn|`efWb$8`Q?{O z`O=b-vgwnL4%0^;JtLx@oI_@FYjmel$z4fdl5yJ~m8Tb_rB~5MAMU3E2QCYSkB*Ku zzxd*dACDR}Y8#tFEJ$4Y@$e8iQSR%4P}%*`OD_%o>Z`BbGn>uo3wfFJQQ|lB_a$#r zL}(P*j5;}UTy;}A0=HOEa~3tUPhM3KeTw&RvLh!RLZi3hVpm`-n>oiwN?q{~=OhaC zd-bY=V)_PJb~1!$Sb5P6x12IB@(=bE&inROpPSd_+rU?p|$oI^|}cDwi;0XEY-pa&u`2r7G9kijEK+Fq6#^Jy^}HB0}C~E24t* zLJ=L60~XxFPsKgYcvvvgFV3oD(V|6v1}&}0%E}tXl^lQkQ=&ky^Pih2%qfeQCeOw6 zD&bFN|12kNa{5mEun3}frFEUN2dF6~YC^%Zi+W(D9}c!DIc7?cI@iD|RU1ru?8ad; zQ4!#rzc?ax07du&kh4W6XU#jQ!zqmf6uhgFnmKZ!G%GZ2(?dXprZx+uJ0>FC@{% z&l>nFf*(>Un3osU?IqRaHdPc;%AwtK^1BUGUVKBzT{O*~KmUtI9(m+%rKP3%p1xPz zr6`mas)NRVm$S&f{r1~M3Z=+Ck${3YFz?QuVm(IzZZ4>0lZ7?E zr#v);FSyOvPBn!!lz09HT{@aZd6%z)Fr_jlXbj!7Y16)2wrts_faGP3jg7LC`-h32 z?wb@zbZWKbnP;B)0On{wVq)SV-ru@)$Hj%b`|ccyiwl(ruB(UAgX-$cw0CbRty*=Q zu3eK%T%cAh1keT&9mo6Q&a^=boxJ0V6lB1P$HRaTXp9Y;lP7eSA;%IZbjdb-5R8o*j&GnVk zSW!l$*R!cvHg)*HsVK3rv00Bk`skK{0|)K`8Z#>8PB#ZkR1OH+qcCO4p-umslyv49 zgF){)tX4}aT~8?xE!f!y#tjGB+d5oPUM6(*dDT|ciyTK+^q13R93C#^V{5ZftEo*K zoUz3yBIpK#ky;>}_&bAQK7Upa_4^t&XlK~dTJ@o`}50}FW-Ci zz)mX2yi8_!B08IyK@kx=pGN?Y+cg6cDoWLf!qtNRJKe=%a=o^e>Pt!}>s%70ojO3* zg+JISQmKXwi!TH%e>P&oh)q~u+pQ9@)jtf6i`|&}dsDswOPW6?I+;u^`4~)S1 zTPc0}_T7jBJ`7E2`LV-g z!Tt${n^OcR)&L<^&h@9*{~??q`{ZhzZoSmHL*L9S_?bUz)~q+<;^OkRZ{NPGuC7kB zx#61JJ?jtBk*z00)ks@wn_zx-rOP>LPN(B%nKAwP^{eGz48Ffzp&$OKj6aNsh)BXY zy#}H32~XK(gtmP7c1lUPMlUaVkj9RWrQW>)f!I{tq$D|e2+OJ55St&+qDl-1>3Tjq znTZ7&5K%Eu5{D@J7F1W#+5=l?>WJ|`;da;e`1<;B?T={Cd2{sJLFQH~)ipMe8Kz)$ zQypa#Ul#@CJYPbqmvTda)^(uYZ2$)U&Dje*rIGNR;chPj3H=6Z{AXHP+T@yw&R~a+ zUw{~R>;Zw)CaM;0?+5pgr@k|aw!jk6RyL3gYpy9NrHXd&AU29;LUs9Cxtsd&0a=Y-X2Mm9Uk;TT18(&q3wz{&8_N_idy#_^-wcUE# z@GM85Je_I@fkA_Ek$FXNC4TD3++rquv%$p>j4Z&gMUcXoqeqY4$^Iaik6Jbl?zl9j z%YzTW%gd`C+U8vlan*$j7kZYibbBTRj5&{V6motPyK1 zA3uJ478F7<_MQgDtH4tyUYbZ(k~%JDU$BHjpMv7yzN;MPcFo zFs~s{fP})rgUE;LlOgoATBE2IVdc-lu(7cjd-jwvWB_3}m#wMEEKrHkqTWNKfLO&a z6a2dj=W`}IJ3GMwW%9QzYiMJ5BsFNI6bx&dmGY}gK?hN!ZLFszn3~lM^r!n4GTue);Ja zXy=L#N$npfroP`&n#qXYLnu8PwV4gnP+bA@v5;ELdeUQm7E>p0gYIm@;^T9nG|yn& zdtk+6VJ)JcTzA&k9SJk#lChCyAhiF&#j7`O-u$vib7 zrv?umoHS#`jI8SFYJ>aWhoAG1(>IJUF)<$jCFB z*yeW@b*o8Uk*Vm;LZ! zG-|FW(83hD1R-{C(4ay4@Y+VM5A3devx0<_R24ou`TWc?XU_c4VzKl&di3aQj+_OD zgjjqa3^p`f+}i878<6il!ZiL4~ts2YEa9{s)5P-fHXq9K4*XsXL22P3#4v%`6X3|r&2_p@M(+uY;Cm`?PXEPSB=DYBGc&VBHtP(Y zNoO*NpR&sUOdc$fr^CX6#C!=UQQ9Pg8S^!#0reEI#a_Lzr$Ame-_xm6r`UhR_tpNu z0}uQUPZk3bnqO8{7FH^^xaNn!V4@YfHqoY&`$=nrurjug4nnXeRpR68V;ejuo&{tw z=;jnGoRd&!4cr&*P8G2%(5}v#H}7}Y;}=)1ToIY6#n*Dg^KLyrcMhg=+~FkvhqDtW zPCSh}$l-Y!?n%&h@=)JyLwIOepn>q)_w3p89Jjk>Cb3HpSOtx#rY;>4RPy{FTvCVd zaBzN-w~v#P0a;VPUM~W3)PZoDhYufKfrBoZK7IOC9CnfDYcBG9+J06+Z+8fRKNIL; zFAw{L*>OL9ACr@l(}xGBGRI(#c4!41nEE=1yA+I<22|Lf2#LF~2G+*7wEg((bO@#U zKxku1OH1#8@b>1Q1z#@EsUDYm1K(LNYSgGSoJWJ=H146cPeku{x>R@OFTSS&=IJ{? z9vAED>-7+#^^9h41~%M*EjT#1j{Qpb-F)N54RcCLii1l;n0Z-%$>!qE-anr|&NbzU zC!V;1HHBcGERb4v?AX!94IQ~H4it`v$|`522u~&Yr=U0mY4J~``-DO_{F9ycu3*(| z)~?JBz&@=*hYtM`3M3iAauWVF8H(>=+)pHAtryH*&xQtpmQ>Z%^*^vTVX`~1Cc8%C zZPP#*amGH*+3Dq_;X&9nP#lfyuD~5Tl~H+azSYVpQ>MI&_Z$cMei-~Q9Y`$>XQ1H# zL2*r`3Qt!OKJ%2PhX=Pnut9h^1`Zg=l>t||O%T?84FDk-VPQh)4&`5d2j z=~ut{)f?d3;9g*wO-{M@XQ8HX9L;n1S2PaK1M*ejI5}r7*JAD63UGem45xq(BJ_J znB4#&Xu$nda+6T53gAJ~cyi#O1A?g>yrAQPaiDvd@I3*(%tc3gHlOr^H0tSpyV#8TM# z?@TAYwdv!){`Fl1_y5!N;QL%_PzXygukYqM6o>cSK$!nOJmmY(12LS1pvZw@z6Nu9 zB$&H5$eTNpIOW%=pr}ny%8gLY&ETa%2%iGH#|q_b18=bTY=aVUGSYPSY0AmfH{A)} z6L_#40wfj6H6Ma=1kmAl2*gl1Lhk^A)^klVOzd)b~Fiy}$SO{zvDRFqwIt`#$$M=ekb0?~#4+#TO(!91aHs2M1G8QIW2&urRp1 zygWQADk|;Jp+h0~n?5WoOj}!9r?cB_I;B!s5gryUyOMLI%*V&a(x*?K8o6A4q^hc_ zC?q7L4A-f-cI}$GM~@yUcJa>vr$1o0pEx4nTGqjTrR@>6yf3F zzBg~)jH#=uv*J1>_4W0x>gsB%OePcWce~wGTU$#vZrl)Kj);gLyWLLs3}GDP@9$4K zosJX=1vP%~=NkX6QmM#lwG!q@xw*Nd(P+qGu~0xj0A*)qi}&$sadB~U`SNAz(xnSw z-sJ1+%i|QkV~pbSJhqD$FN)6x1_n}DS(&(ha&oe`S8;K%7(0&}^CP3tNU^c8;x&`W zL}s&D+&48fRm`dJgXO|=<7@Lcd29m*4kWAxWo2cF`9s#?K0J3GC)R+RPAA>%!S~I{ z$r0mkyar9>#be{OesKIkcqUmzx?tGojP@jLPJBvvqg&*q}6Ka%$YOddhOb^qvOYq z(})ox#QUP7qlLU#M$&`l&0~Vziu*!0^jM=1$Tu9imv-dv;Se8{$`9+Oal2fhc)t$@ zP!5^Nq4z?c)6>(9xbHFCw*WsYx^?Sjf*!jQ6BB9QzI_xK87X8}Sy@T=n^+5$dE;^L zL&+242MZ929KU<_?#D6t-dNDYqJm<7+}z*cw9DM&76R~5`H;izxMT5-96Z7bXVPdj zwJln;yq=KI>L>)bQLR=V#^;<(6^50JC(nx5WP$m;br{d3rVGzwWn*QbmX?+Zqmst| zKac-=AFKmS^?;op^sF6>@F6(z-f#v973F0Hr`@5qJDoCiwFuXxHY;_H`aRSD^4$k%1AJI7_qkwmSLGT`{PM$p3M|c?+Qrol?O6r(E z0iph+)G8=CK9YhXgQ>2jo*XtiJc@-X%PI-OBzv8mu3osNzkK?t{@jH#kr^2$(+mc~ zld$krX=!Qyf@izd)X3P&@q>-*_Y9if!(Nj;TT^uUpU3~54|ep-LK-6n>q%y2X501a z*RMNq;zSC+rc$e^eeZ#k*sc@l14Bp&W)jmPkpe@)$y8HCPKTXpYig**SV>Bln%PuG zS1+E`Up{+WfBMXs=o2ST_5)JR$ji%H4kTOzea>eD`;P|35YCVdXlw^)@7OR%l2bxz zOB(V}e~L^BCzsnvwMH10*@a2DsHD~{ZlocyhEC98iIBC+Pw?M~NKzE(@G%%)Wpm9`FQ`5;@ zZ`KW(1cPc3M!VM^pdXiRre9ZXr?A*i@#gBvYI53KWT~}~-D$s**URK&2-Z_fVl<_6 zPo^0!{+TYFxI){1+!?)L!-fywZMt^q)M*y1-z0Hz$;jB?N=iz^PYKQVcZPcQQp~@Z zYyZ#VmY0^4>;F`zBaNM(QVjM-=$E7)91k^?0mpoZha*_GM*nFh`NCLs|G0`)fAkJ* zTJb4`N5?~_>{NsJ$pLz3sjnl4)6wks0zx8Gaj{WdIhYswt z`EQ(rfE2F z(tr^w$vqhc2bpS3UG2sl8I@l}T?>QkMjpzjQVQ#rTW(OyT487zh_-fK;L3 zh|8??cB(3B!H=>F~~@0@--d{P_O+?;o_;Y>pRSd~pT_XO)sAQcT7_tE#F< zG9Jn3*wFBrAB5Ot@7}#>K)c>mRYnEB2Z5+ltyY}|h1`OLIsMX||6eL@(`+Zdh8QF0=+UE(V9wo)Mx!1-HCb6% zvG`pF=Aq&cBQY^Cqf3`A3xV>#aZ;)AHU8g3Oz*k`VI6|8b}Ia|;NQh~y-sq5O~=nD z(>P;{e=Ba@y!qm9zx_6ooh9Dm^6G#bdQySwR$z`+tg8dEH|un|tC(vp{#}IkoW^~M zB*cB`T6;3zPHUOr@9)Vu$HOx#J}I8#10+l-KVEfr{4W(_WR4o5E@HL zm4+Gske9$ae7ns7bTd*}-c7o4>JS~;vR-%m$N^&i#^dJ4&Ye5wLGNrpH#Rc&9a%(9 zAM=1J$}4=tfR&st#G=;QsNScZ)H)x;UoJ}Olt3*z#ZqNi71`^(I@Wj%F)&6ng^!#f zT8C16#~2#?NIIR{ok>3~{)x^WKHu=xjT<*U9335-pVx-@S*mQr_+J6%`eOva+&!r>FP(x^?T;uj6yY_cF5PGH>^i5yr%+?g=pL^i!u! zwZ;8{Avd4>`}bQzLql2NvqC~bcHs9zP`B4tsUaPCxwc!(ZUw z3dW5ax8x4labBO%MWfLO0}Bdfs^%n?Jqx3(s9Y$S%ZbeCuX-7XEj-!DWGg zHpEOd7J+h|M|GgoKFRdc$J^-pMH|R!@gOM_W|HE+@?$PiiOFsM*drCdH(UluL%c+re6ufgyoZ zT2$7oA=K1V`)=8?Wma->as}r9GRyK_4=Fro&JZOuV!DhuPk?;poIZWJKiEfeR@ny6 zfqVDvpOu=La;|gdPG12{*I=Gye0`3IxHiYX^EI(9+Hb%8R`*9~JP=BWXUB8r&UL(S z;liJ~b?f$Ne0=;8{H>bx7*0?aF^3No<>f&avo8x8$m%5=9!6eTcwOLvlh*`p(j{^M z%{d~s&}UBQ)!P6zHEe9Y)MNByYTtJlty}mC{q)txBAmfJWzf$TQ&Uq9BqSu9;yQ1G zfmv-A&$)RewV{VHDxuV^7ElTy*ioVQex@j zXTKn0MHMTPcJ=Dje?@$D41%fWfr|TK(WT#cJTR)z&p!L?4K}Xs-4ki)(&^N-D?7Qy zf|1h$_jjWYKWa@czPMVxc<~a>@RSS~FknsN$x7Fhe&@HH3nZ_wI6#&NVG02EW9`=Dd}QdT-;uGZ5NSuUV+a-b=tkse;- zRD(7A>!+W7nhV<8kVSxJIe;J@7|a0RICU6*E0wPw8G;aYIJ{Q`c-Ga{++ts{KS14O9%HPj zfC2mI>9IE!Q*3f7efiq+;+g<~@E?EtaluP3z4UNn2BJK23mp0sK2F7--7Kb?eqWq*43QviYw8xrUIVqJ-?6QF7nn&arG+6yXU@b!`Fdgj z9*d2QE$-dB_qyT3hkp!*dxedaKj%e2q2Nso%>nih**c8+j!zQ?7918te_b|@qS}Sy ze!g_{rwn0WKtYA%sG373z84qkIr+rDH&rH^y3)fBrBV0p zaWJxAj8`oLWriW-Tq&dDC$H1m)rV;3u8b~OSr^w~K5tH*Jozoj8}c<^Tx#66fivIN zZx~G<_XvTC+^+OO{y-8eww)0S>z;Ar68(DOApLM~2bEP-(5_v(Mq!@Iq1X?AAyi}B z?4gzGOZDrSD{1B6hk{Zs;N#G<%8B9XZ~BXKIQSTgs2Jt%feWd)VgeL^RC z?A3>*Y@r+idKdziG14?PGByT`sWpt?F@EoJe;EVg3c(r}MV*4PLiVH%9 zYswpba*f|oSxz0|lIi0){~)!GO19*~4_`z~632?lv@SO{H?*|0G+I*V=$47}_$!O) zsedh_DYO4Z?K^j)i10AsG^DKUs#U9=dG*y-cLPBmig}f-7Q9BI_XB2o z-fMF^$XsUzeX1gbT0wpqKT`RqBESl?+%DGi$qt4K^=;a;5%ORoZ2DyRZ{51}pN)+x zAV5o>elndltbdB`f1o3^Y!ym1)%CPv$7$NKP3qdzrJnTw%OjyuY_bRL95gabQDa7U@T^18JVlfZ#^M%v$29~rW%sf)l#@xOQYMR z(I+$hM!VizMpFll6rV@zH5_sM^Q<$x7Ww)4ZgzY=KG0{CUqg5$e5UswF1d{U+cc0I zpJlYIEVWbm{nO~aSqr=ry+*fh-@XaV9JmNA+R)%p2@9+;RvCTeFmJi?cKEc^TfH3E z^~Z3v86)FtV|95AjeKG-4Vc(ZyngcJ$!?jMnJJ6{+@C0+3o8Ny_W%?zzFW5>x*rtK zYBt^V{(OBWsGZeZOHV$TPMtfqf_K|9=Gd`gLkkNFg;8jxco`!o4-nVame}hI# zvqnzAL~WoXPS1s!gJKBPUQ(`Uv9Hw*cAGdGe`bq@WiqP-~icd_Y z>sK$+r>{Ln|DHLKmj3-|I=X*16_u0A3$iShKs7f*t*C}kgfu;}%x zSFfhCk#U9?;|PQd8U*cfdh|*uR|q8b11dB;)$A}l%?uWsnJl%{WUHyB_Tllg;@P+9 zZx7B8*VwRO!wjHTr|#Xmb3dmH_mIhfmNKQhL2bn~YCUnO>whuHDv%!Xt24Q1{8P_U zr``j_>yX_Tu)zp6E^dyHBN*n!QD1mIg9B8?A-g?^VYhe+aKWJ=w?^3{_+*P#s-P4= zKSn?wUmueD$i2wrzD-X#_34BnPkMG7>7WpZS>p2Y^3qsQc>!1fSrK4tv7m=j`C|`1 z+#5#W2N-tTGxH@<+BQ4T%8w>b>dD1K6$JkfUyr>t(uaklPkzUX5wpq>YcD)ADtT#XMWIhXWsn^g^ zH1EAH=&9E~rfJW;P7`M?fOGj1wd>wn&?RrYeN}qhPm4*-h7p-4^kRE(+0KN6r15mV@z!fW2zJqH9 z@ESLD94eKXi&7-VoXhHKDX-Q@`E}LenO6r2USC5BI9)%jL6m%)aP}6wrmQ#9Yg12ghQ@ za-;ZNhrdyiEF5PEH3khi%}%PXtVgg{FJ{6Dq7T%QT8A}4Xk1@Y?=duQX0ooPj#_q# zqn^XN(XMrS>GbK-X;D#8U-I9Wy0CX$yLRma(786@;ej+_L_3Vh(k#00kQ%=%*saS- zqsMljcmB1JPMtc_7s{UmuYE;|abVP)ckbLdoZmmb=RnaGCQzkuRXp)g4riT9&d$#6*|%@sO<)4b9ov3YxG@KfArKV8L9s29=;6P=Lx%8B7_c|fDmq?B zc;c*M`)K=j%jnepoj?W~{rc;#k0Nd?1nvC06gU1io)zoqd+E|8Mbn0CDcR7oXHVh8 zn*N>93l5_%P=Ap0+LS51>9Of)R1amBiL9=gKK^(&D0Tr288T!IKJzkIfif&CY$}|@ zGw|L)#l@90Yu1-=bQ&PqaKyT&Y0sV$y+NO5!lA#1H83@v+l}%<`fT$G+J5o?UCz5f z7RW;3Eo%q|jyrd0ol1`m9!EpkbtfOIoh;URI0dr^C8nm2qBVQA(xvQ6gTW@432>LZ zDkzw{lr%!0S+{t)Mz9TjXmon7I=dV6#s~BF(<%TeCaMF)6bU}4g;J%2{u`jr{s@x* z0w$|y4kmA@qu%78Ha*j+YyS~+Z0FBPgbKY|v}mz`9lDa~0_a&Z7ck>v<4C1e2@fHx z6-H5C=gA@l1RHMinhJ$nB=YusbBGRXIzq-GBbkh~p7b{c6c`#nfzg39r7d1zaB zX$v`Q9t3jQL2D4t4VcoG_WZb?DQd5oGiQc!T9>^jJbEB_`y+gx{{7ohLaSiWSlraU zG+MP#*19^YG+%G3-$uzvVU(WU7D}7Z;>eLBX}x;&y22>Q#=Cp>?ng0SL)#XK)Hk_3 zxv@~UkzdR~4M!ta`aszACIE+uAmp>TB+&M!?sX*+9HPeEfT)S2Q zI(8g!TzDy*;X)Y9H3aueyWbi#Xi&R#>()(Xns)m1Incy!Y5%@gXx_Y$xbAsQDm{Mx z{r7*{p+kqQ$;rv*;gs6*eLmQ*@|KbNs%`%M0X1qLwapvvFcPa_K*8$|?2tV?WGub) zr`Z(gXMh19WU!biB`TI8fr@&jvvLMkP}+cs#Y)VwU*_8c3y4iHry*4mj>A$}95pcL9yu zjTTDluc!U14$}v-KNf>%`pC~M@Nm+fj?%=Z$Iyc>O(GaS*{vQ$GuK+Eblz;8A3P$#NVq)S^Aj9=P*7GGHy4=leNA70myo6$mR*enNTNn?@$jBHf zy*6ZU2kO}?UeIbLT0Uweoj7q5^t}Qy(&&#LKlyP{QL!1QB|~hb0{XS*>llqSqTAu@ z+3U3a$D=g;v2>tj5*<5sr8S)0=+2!xfBE2p4?YfOx&jO!HNHiQg0`utza%9k9R#}O zA3b{XCSo?Hcf78aEnBMaa~!9^zuvYn`chsl{qX#|6y>KEHCumQE$QIc%Ij(|HH8xK zwHEYD85kB$3YA>wg%We-PNRy7GGc7>)#^M+Jnv#@^*;3TcgyLkw_a#owz*d*Gvf&D z-@JyV%z1$(Kl@KIyOlskPYA{8k=knjMaCu2#mo!sU{i5HK|w|(x0rx3asP&lvxrI& z6iT`x6NBQ66&qe-#xW{Vy|?bN<~`(s?20Y$l=g&Po{r*`e*@qR~x z=M|d@5p?g^eue(@@TWjFD=m0-3_bt+Fa*UgT#M9YVyCX%S^|lf7iaf?0T?18B5E+U z!8dN)h~>BRNbT6**`%L-epaCIN6hN^??JF-Y&thlK8!UlBB&E4|jGXn1iHZ3jBqU@fjBMHA z%rm_ftXM=VXT3~nnW90ki0?FDL4jFWSw3J8a$k*BFdWbNlBn-GAWudsPT}98h@Lpj zTJLGlfuUa>K79ChFp`$1PMu0esM3my{psoH#aDB#m{%`)qop4Vbj+;3Qmv7*&TasQ zjr_x7D5+C-I`Gq41MUeQnRrggF$pHdJVYjv6G}y+xJE__w?d@n-3s>|v5#Eg;mJwK z$ysB^j(yYa(FT7AY~JcsYhJCcGn(cuelmCA^NSNVeEbu&>yt`dM|Y%}ikb$*Nba5p zhwkL`dFR1{2Q$J%!@%0{-$Fz6SRez8($yeroz9o84kRzKYu7G1c-tD#lD?i|sShQEMBNrws_>ds?xy)) zzAuamoZP);?>5=_o7ZUdvu{%Sh&UK@JvrbtgAj1HiEKf?T{sp1qm71wxEVR!GM3k! zy)ME4xW?tH6m-@ON8l1I2A;fNO{JBRx~I{!7hk7E^JmbOEnB8R0lxs~kyh(V!6AAI@Ry4Y*O4PT&}*-+$C{N#V@`fB8gq4Z z^`(@QluMl17HvaMFrqmMq?fUa!#oQ>mM#CYF1Am5Z9H~hHa`@P$`Kh$>^jq5&$ z+?HBTM%Cr2$2E-@i^#_M`1x|DRD-iq%DApeVtqV+xIHm0^TvHWdi1yi*}us<@?j*Q zhYufq1rBeH%|#XS-d|qu@8_Osx$3=tQgY|sl+d-WU}GHTL49CgU1ZvxilX7Q zqd^nH;JJJ9`$GbQC@~@iZ?t<0b)ZgKJ$8&5X zB0B`Y!8a?eN};4qNv+9TSI@^ABxCHhdo~oa@z&MQrNg@^FEazi>momcZv(4jFIZD) zr+)W6OudGVWrT^`v17+0-tG48-%AmtWDNVdrcX91Ry;0MaJH@SljBn;W~_9nwy7;B zJVFQA+r3>7>@-08&fKKZ(lW$c+zA2)77>7_KSe|aP(%cyl>>%cFG?2|FI=O&doR=B z!`YO3y_AB244kD*L44AhOD3He%=@VlJ1O@RuE5`t7S<0m@=&ZzS1+)aXqEHosv zgvWTLsDLZiWN}!@=CrdhI)K17taG?0X{eA=7~ZtH3-KxULn;9n%3GT(%U|W4m{IGE|W|75ep@W-Ok-!+4hqADm#$evQf zeL4;8+Lc4AzS~EssckP#nl$M>Act>MRMf+Tg@sYO_gn z=4mQ4R#3by5DRJ(9x%*5NJ6K8UcGwBmoH!LO=G%m(|Sf(70~6kFF&Pk-g_DHF;Le5 zqiD>`X9Q~1)^NaV7Y>Kyel%j*Q*?C4&zuyv57+$|%H{mMVHn4x3WeMSy6tYeZ_*tipV(qF)se&Vd^J4xM)hd}ZdVk8j zb~XCo!Gm#1=DSc*!5bnX!yEV?U%+9ui!K4JUgt^2i&Wj61Hu66p^P@Ekcpp~1N#qj zX9}s-smMRrpMpYz$XHoTb+vV*3)S7~7J(y?BfN8%9NLQ)FNSeyzCkDo2e*=V+jQ7y z1p=#}Ohs&9B_+J&8`sw<08CC#;X@`UjuHW9L_t9T??2Ld zn)}@3X?ycf9GTjeemb<3vTx?n=rLn9;+i`-gV(WR$5U)z#yS%gv7F-lLp*Je{3)A9 z?;TD@1Uz$&Cky6#D;XkXsAL>q*VFmq2gGY8Qw{C?c`aq^{|y22i!^G+JOX(WMrN*e zQk!0bs6(&*bnfWB%rw8Iz*c~c**>Gz*wF&BGszqGV8Kkpv0+jb^+)A)BZKQmGQ zAsU&D!y`XI(>NBF(b8pmg>k_UOyS`XZ}fI&}O6NNB06t4|cQu8=VDREOLG zfvuK0=yM(E{R6?8v<>B`+u|ONQD1{TIl1A15Ap#;4**T7Nt!C~bW&_ibug3TGqVesu7v7lY z<{*`6NOpGipp26l{o|5jD7I}h6(Bw`Rn>^Jz0RP!)sfFZzGy^Z>Lruy-MiNhF;bLt z-EbHsqY*nZ4X9s!ekJYQcL4?+Q3iUknIRm;ZHKoJl)-AT;r?V@#%t3HhOz?+tl|X5??f>@)(QU|=Q+j*JooHD=5hf%*py9Jue)sngv%_Zv!4iLL2M#u2cp zdTIr_U2XuR54K^5f12RBKxl_aG zcHT{RvPSh4Ee1CS@AVn{-~b8^3#22Pj#Di>N4K_JC@>*!iZAq55pRdHg0TY6Zypd&#}~C`SK&`)PFd&=#VD%E%9j#$(?(`K`5!Tq@;c4 z&Ye$kEyxG4((kN=xwx}L+JD7L%tj@h!o^I3d-gc7AQ{-birOsuk`faPqL#XM@0ppF z)@w5dTWp{#15QM634{^zUIxbFU@FQ8%7(zZnVJ4c@0mVwG7ae1ohm`ai@+AjDl71; zB!gB*En;J-Q+zTFN$pAjS_9dPm83%4xMth0bhD(G#*Q7kw{PFRClO*OEf%v_0z+U> z0}bSmtJY-1(?n`t4d&$2(7E5tSmmA_0w!*K3R6S)1 ze?6J1t+#bQu?|=*RyTCVtvrAJyv$*D_%VcfcFB7bNEF^Io)#LeLy7eBU7QVPD z1G8D}w`vtIG^Twrx#-igegFOUZth6H_)_5ITZtnLbbcbq;pxT~Nv ze^OM1r!7heWzQZze*6Z>z^b7vhkyQ&5;~`ec#V}p9~=qqsHM`fQWaAb43aZYciq~+ zeb{c$X^x}W7l0DGIB~)Kom|J_1B0ZoNgeZ2U96D-$eZtcRMMH#xnkYoXf6B^MCLVyfnb zW~#0=(fR{B#DzfRc0itN=srecwOnMt@j0nKT{I-%b9S&0g=l?}HyeZT+u^)je10b% z2=&c3-@Kfenc2Bp`f%$1z*MR#uA}`Me-Q8OI%J$@ubBWPSwp6hr^JaVAiGtGg{I%O z{U+x_Khy^G?LCHWB`L7rc9&gHxw~%MvzXn74jpowJb7~FFI#^3C%0A2{$K`0M1|Ax zm%gEsdrni^?kUuDL?@~P<&>Pf?Bk=VY20O9P*@73mo;?bYjsRx z+^jGf&ML77-oAbNXrNetCx$eT0l|2^x1J$*fhW+lLD`D2m<@Z7ipxu>7K^O`XJ*4v zV!?dztgo){g;J_xVq&;H$QAic0!?)W3JVA(YE+!%l7`^=LBTf=m)M03x$oV}sMTs* zFkS_W<_w?n0mYZq7^@(cDxpj=(M#weLr@5XMaGcDY*s@iK60_G-hEHp66F;9XN8g> z&e8C8l-FK+O=Jn1Q})I^kNgw#&2pFiaiEvk8=ojHv4OCmFv|0xn@m61quJ zai&<>n2L4N1JTspHbJ^jkV9?HAE8s(7sv=kakIQcIJPiDAf-gLp#CWx1qI{(SYLH; zKs}P%(dnElKIEofj~+divSPz|%D9fF)~FhqdPR8TWleTQ(z|txv!mAQLckhm{rdHP z;T;d55ivC5t%X2DU;1>xUnukBVd^{TK1xj+2w!k33(cxl3)E#A+99=T^@Ir%ij?!` z&-Vw4>9ex4L?Fn;<%ZDTB@>FxZBkrcaaogi8^zn^@xO0pX3JP6?J{VKd(B6dxub?=>r#}yb3Z`Td= zAec*RO%Z8l#CEM(1d1&YSy_1r2xdFt{Z$acW0Hb#twrudNKWZ`B$ZjHLPvZA2TK^3#{b?-~SC-!~ z3O_i2`4b+d*Qd-RAFC%Ls={^WjG0Os5AUMgd-jYTHEL9E%qas7*hj`2Ynv>B+q;P{ z0FF{2SCQRuyO~Lpv8brH_3G8D7k~EIXR{*X66Akdx{?CJ{ON-yXVR~$mQ!$O1Wlg% zf?!j;*Uw{Ld@vCh)8(_|Ks=w6lzbVeTA;ji>5{&_u3qEG8#!*}fp`J8sSy>N)@^%%4^w<`(VEiC>klw%V+UnCQr}-TI^*$7?m5z^W)OcW40nK$1t^S-U(c0><&oi2KQbIMQma zqjoU~G-Jd>dVB4c1{nKz(AKl&db8-HcgPx&#Nvmg&Z8TFq2Yoey4|-*6|B;7ACI)R zZr$1wYtu`K_w*e!luqv6Mcbw?qjJRPVbQTP_q{Ku1!BdT%3J-ha=8aIuADw5{@p4e z;V7Jn8@i&fNrxw@)IQ#>au2(zN5JiHIY3wRBI(h<*YO_2THy;>ojTowC0W-I_^(OPU4b5=CNbP#7?@a z*NWgxYA7a3C%Cg2)bFwBy=dS5ELykjP_lHn^z?T0(MMAeyt+WsJzj~o(_guqj~Jv9 z9=!bxgTYV%3UMA(*3KTT1W=wQ+Y)xl@wrn@v(e#8SKt|&lI?)jmd`s zJy}!5h7B7gVQnYz?ub3R_ZSf;*D4W{014%wrDeT)_x=iK@&%{=8G$%P!#s{72CmA_ z&kw99uYXWO1Wk_bn+uKe%9Y8s&y*WR9PF0i!Y<{RZ%VGcj4F}((AM) zo7H-T$F2k|2!cR-)fzSV2N=lZO`)?zN=Bj4`8BkWG@Km)bc;@jqKBTJLR-Jt4*n^p zR&834A+UKAeY3(8_`w1-Mb zyLVp{HM8*Wuzm2%c3e9f9s_L59HEY() zm6VWcGSgrFH^roIeCp}H<6Zc9S*OVi>IhF*1?OOcGAiy>W|DR>a8tJQNJvVc*4+|u zJ)eMTQ*}Vm%_6EUGQsg&i9*b>WYC~NeSshg;A!(Y1_On=jM(iM3~a=?bJyv{^$Kc} z5&}iGQTOgGG1oS9J6lVrvl=mfy`Fm6BqPFVIZ1U%Tusva*=|I`Npqm#nGc!#b z({Tv_)L `TZOZLr<@ThlN$75ZjqEq2GBuH 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 Y0B~6WW9t*vtN;K207*qoM6N<$g1-~C+5i9m literal 0 HcmV?d00001 diff --git a/img/progress_bg.png b/www/img/progress_bg.png similarity index 100% rename from img/progress_bg.png rename to www/img/progress_bg.png diff --git a/img/progress_fg.png b/www/img/progress_fg.png similarity index 100% rename from img/progress_fg.png rename to www/img/progress_fg.png diff --git a/img/settings_lable.png b/www/img/settings_lable.png similarity index 100% rename from img/settings_lable.png rename to www/img/settings_lable.png diff --git a/img/thermometer_fg_overlay.png b/www/img/thermometer_fg_overlay.png similarity index 100% rename from img/thermometer_fg_overlay.png rename to www/img/thermometer_fg_overlay.png diff --git a/img/vertical_shape_icons/converging.png b/www/img/vertical_shape_icons/converging.png similarity index 100% rename from img/vertical_shape_icons/converging.png rename to www/img/vertical_shape_icons/converging.png diff --git a/img/vertical_shape_icons/diverging.png b/www/img/vertical_shape_icons/diverging.png similarity index 100% rename from img/vertical_shape_icons/diverging.png rename to www/img/vertical_shape_icons/diverging.png diff --git a/img/vertical_shape_icons/sinus.png b/www/img/vertical_shape_icons/sinus.png similarity index 100% rename from img/vertical_shape_icons/sinus.png rename to www/img/vertical_shape_icons/sinus.png diff --git a/img/vertical_shape_icons/straight.png b/www/img/vertical_shape_icons/straight.png similarity index 100% rename from img/vertical_shape_icons/straight.png rename to www/img/vertical_shape_icons/straight.png diff --git a/img/webpage_icons/apple-touch-icon-114x114-precomposed.png b/www/img/webpage_icons/apple-touch-icon-114x114-precomposed.png similarity index 100% rename from img/webpage_icons/apple-touch-icon-114x114-precomposed.png rename to www/img/webpage_icons/apple-touch-icon-114x114-precomposed.png diff --git a/img/webpage_icons/apple-touch-icon-144x144-precomposed.png b/www/img/webpage_icons/apple-touch-icon-144x144-precomposed.png similarity index 100% rename from img/webpage_icons/apple-touch-icon-144x144-precomposed.png rename to www/img/webpage_icons/apple-touch-icon-144x144-precomposed.png diff --git a/img/webpage_icons/apple-touch-icon-72x72-precomposed.png b/www/img/webpage_icons/apple-touch-icon-72x72-precomposed.png similarity index 100% rename from img/webpage_icons/apple-touch-icon-72x72-precomposed.png rename to www/img/webpage_icons/apple-touch-icon-72x72-precomposed.png diff --git a/img/webpage_icons/apple-touch-icon-precomposed.png b/www/img/webpage_icons/apple-touch-icon-precomposed.png similarity index 100% rename from img/webpage_icons/apple-touch-icon-precomposed.png rename to www/img/webpage_icons/apple-touch-icon-precomposed.png diff --git a/index.html b/www/index.html similarity index 98% rename from index.html rename to www/index.html index 9002452..cd0b5d3 100755 --- a/index.html +++ b/www/index.html @@ -127,7 +127,7 @@
- +
diff --git a/js/Printer.js b/www/js/Printer.js similarity index 100% rename from js/Printer.js rename to www/js/Printer.js diff --git a/js/Progressbar.js b/www/js/Progressbar.js similarity index 100% rename from js/Progressbar.js rename to www/js/Progressbar.js diff --git a/js/SettingsWindow.js b/www/js/SettingsWindow.js similarity index 100% rename from js/SettingsWindow.js rename to www/js/SettingsWindow.js diff --git a/js/Thermometer.js b/www/js/Thermometer.js similarity index 100% rename from js/Thermometer.js rename to www/js/Thermometer.js diff --git a/js/buttonbehaviors.js b/www/js/buttonbehaviors.js similarity index 100% rename from js/buttonbehaviors.js rename to www/js/buttonbehaviors.js diff --git a/js/canvasDrawing.js b/www/js/canvasDrawing.js similarity index 100% rename from js/canvasDrawing.js rename to www/js/canvasDrawing.js diff --git a/js/d3dServerInterfacing.js b/www/js/d3dServerInterfacing.js similarity index 100% rename from js/d3dServerInterfacing.js rename to www/js/d3dServerInterfacing.js diff --git a/js/gcodeGenerating.js b/www/js/gcodeGenerating.js similarity index 100% rename from js/gcodeGenerating.js rename to www/js/gcodeGenerating.js diff --git a/js/init_layout.js b/www/js/init_layout.js similarity index 100% rename from js/init_layout.js rename to www/js/init_layout.js diff --git a/js/libs/excanvas.compiled.js b/www/js/libs/excanvas.compiled.js similarity index 100% rename from js/libs/excanvas.compiled.js rename to www/js/libs/excanvas.compiled.js diff --git a/js/libs/excanvas.js b/www/js/libs/excanvas.js similarity index 100% rename from js/libs/excanvas.js rename to www/js/libs/excanvas.js diff --git a/js/libs/html5shiv-printshiv.js b/www/js/libs/html5shiv-printshiv.js similarity index 100% rename from js/libs/html5shiv-printshiv.js rename to www/js/libs/html5shiv-printshiv.js diff --git a/js/libs/html5shiv.js b/www/js/libs/html5shiv.js similarity index 100% rename from js/libs/html5shiv.js rename to www/js/libs/html5shiv.js diff --git a/js/libs/jquery-1.8.3.min.js b/www/js/libs/jquery-1.8.3.min.js similarity index 100% rename from js/libs/jquery-1.8.3.min.js rename to www/js/libs/jquery-1.8.3.min.js diff --git a/js/main.js b/www/js/main.js similarity index 100% rename from js/main.js rename to www/js/main.js diff --git a/js/message.js b/www/js/message.js similarity index 100% rename from js/message.js rename to www/js/message.js diff --git a/js/previewRendering.js b/www/js/previewRendering.js similarity index 100% rename from js/previewRendering.js rename to www/js/previewRendering.js diff --git a/js/sidebar.js b/www/js/sidebar.js similarity index 100% rename from js/sidebar.js rename to www/js/sidebar.js diff --git a/js/utils.js b/www/js/utils.js similarity index 100% rename from js/utils.js rename to www/js/utils.js diff --git a/js/verticalShapes.js b/www/js/verticalShapes.js similarity index 100% rename from js/verticalShapes.js rename to www/js/verticalShapes.js diff --git a/library/test/success.html b/www/library/test/success.html similarity index 100% rename from library/test/success.html rename to www/library/test/success.html diff --git a/settings.html b/www/settings.html similarity index 100% rename from settings.html rename to www/settings.html