From dc6b8c53ec069130b4517db596e0fe903d2529d2 Mon Sep 17 00:00:00 2001 From: Jonny Barnes Date: Fri, 25 Nov 2016 15:59:04 +0000 Subject: [PATCH] Squashed commit of the following: commit f00503ad21200f49b360b64297e6969768721ff6 Author: Jonny Barnes Date: Fri Nov 25 15:58:53 2016 +0000 Update changelog commit dc0e92b0b9085609525ec937d21625ddca5350d7 Author: Jonny Barnes Date: Fri Nov 25 15:58:17 2016 +0000 gulp derived assets commit 78501ee5ffe39ca0c96539d5406fcdc4170176c4 Author: Jonny Barnes Date: Fri Nov 25 15:57:47 2016 +0000 Add navigation controls, fixes #37 --- changelog.md | 1 + public/assets/js/maps.js | 2 +- public/assets/js/maps.js.br | Bin 568 -> 583 bytes public/assets/js/maps.js.gz | Bin 674 -> 694 bytes public/assets/js/maps/maps.js.map | 2 +- public/assets/js/maps/newnote.js.map | 2 +- public/assets/js/newnote.js | 2 +- public/assets/js/newnote.js.br | Bin 1737 -> 1750 bytes public/assets/js/newnote.js.gz | Bin 1961 -> 1980 bytes resources/assets/js/maps.js | 1 + resources/assets/js/newnote.js | 1 + 11 files changed, 7 insertions(+), 4 deletions(-) diff --git a/changelog.md b/changelog.md index 5e33bada..d5ccf258 100644 --- a/changelog.md +++ b/changelog.md @@ -4,6 +4,7 @@ - improved contact h-cards - Better look in /contacts - h-cards now have person-tags (issue#36) + - maps now have zoom controls (issue#37) ## Version 0.0.16.1 (2016-11-22) - Break words diff --git a/public/assets/js/maps.js b/public/assets/js/maps.js index cde37385..dab34f57 100644 --- a/public/assets/js/maps.js +++ b/public/assets/js/maps.js @@ -1,2 +1,2 @@ -var mapDivs=document.querySelectorAll(".map");mapboxgl.accessToken="pk.eyJ1Ijoiam9ubnliYXJuZXMiLCJhIjoiY2l2cDhjYW04MDAwcjJ0cG1uZnhqcm82ayJ9.qA2zeVA-nsoMh9IFrd5KQw";for(var i=0;i@9**1 zy0^`D?r;&Bv4As0$cw*lw`c})`V!G4JK42N+)ix1eTwnw%&OYO(Y3Az85TM*UzxLZ zW7UWC0=Z596JG>7tF;t3o>!H1-1=_QtR}wSt<`tdU(DJeaQ^qZ#z2WY6|eUARa@k~ z*7`*S+?i6=KP#gstGDstBEK26YC?6tSkGR&o>XhM@yDl6ciAtWmdXnDy)sGSE7!)- zE0a8=pT6Ua)wtl;cba=SduLjC?m@+K+|NW+jvcxhTItw%#8<9z!LkJcVXF35?g@Od zVau5yutsufk4=?#tKd|7~Q<;<#8_I56-$l7hWamtVx!6aR09ylVBCsldFrkdM%GsNHO=tWmTR3=J)B;4|Lkk)zJx4TS<|>s?>J|4LD;STTvjsz w4*uHnb!oDeNx|CGscxb>+w7eu`Jdmncs=9IAO9k@ZeP&0%-5qVmp6?80IF0R0RR91 literal 568 zcmb0RVQ1*MEc#igwebB0-~WI2?3&H$-Ow3*v}p~?^fb?#FRTCT&1Q6yY}fqq{@&|b z-QPC+ReP>F=>Utb!sLLej@xS;q%D-!HawH7G})6@S+qzdME3IQ*$Vp#Vp(o1RxB~O zeW9u7+s4(y1A{Cho}HAY)||n-ltD z;WxJ{1_Cz}(vKPIN!nDMZV@~lQgFKUlGap4eZe0m^lX=9l&7l+c*y-TPi146^Fb{{ z@X?`}3(F;WnC!mJkeBwkz`xex;A(eCnaLARysz_jXqnf%C+d5~38~~g9S0^xx3{P) z|0z64X->Y^PsS^nvhwBPGHy%zIZ~Rt|2x_^mKZ9e{%v%Bb8!8}@HYJ_HJR4ktn~^) zwhB58CklfVYKj+3wG{X>d1L2xhLSc`1tH&n)mLZTR4(CLazsTjhmWI|GyVT?6^L& zxV<()SAYFA(I>joChm6DQpzrVGrjTTi{<=rf2A}MPVV*f>Rq}bY1)}Bzs`J|<-C|9 zS>RFI^oG>wcY;J-xpy8`QeW}s`gubyIr+Xn%iDvCHr0l3Jd>Yn(pk=R^!V=|{g>yS z)zXtY`myd%eNwA`%)iMlUl;Gcc>Zh(^E)$TpAVN0-9K!5{$FKHWUSZoo#`y4lX7f) zjS{y8a-EsjYI5_2!R))SDThB8S8mmqmFCjVmD!{1je_gnrt0} z$~0M&lTWINs&Zb?Smx0otdt^hbKAxcw>VB4QLfcitk3*Cg@O*xywh>$kHPc_at$Kw zXTCnY(W26^igj;6NW+~emy|8zo1EULW^4B7&%DMGbS*YuO?%EE^~pR_nS+XsFEo%` ztMKaZ8qo(#4}?}UeO>Pu!?`t@QH}X(L*w#k0ZrcCVfWG_gwFA7URlC(DekmYsOD`o zzoSV?65SEiGTfWpwCbmy37h{wUBmn!n@LAoQ+7py@TmjMzuzu8QQCO(Hmg%^@&hUJ zfXV51!X(#yy|uwWbjcKt85g;wiU_WhD=)0+AGVy^D#1-owibhdC^ck##^ zPZx=bm1Xu@_qF(+EjS)2F(c&lyxnud%U_1CK3Hiv^+zV>n?kSoO&7Pjyk4Enw(iC= zpH&SP!_P~u5@2WD#&LL=X+ZvkCA%JQR$8@B{2yb@srBkD H>K_ut$GSAi}G3xL4rReOs zK6CPpi9a|P?G;vZ9&uxCwO*px&3HVJd4^Y=n}XGK2S#l@GtJVuOVVWY*V}vViCyT~ zV(3wM`1OGC%-+48BQSOKcQ_R09Qe_%U}{apZO_wqh02EffmAJnvA;u|+qghcG#u zbQW{VTIZa!=GOs@Iae%mwNyPcgBDCY@Nw>qcNPDbf=Zn(tZ`s`*zMUS)fTcRXyFEl zTqUW4s{|itJ+OMw@OHgt4ENUCS7u6IZD_pUu5qyRxV}4&_Mw@tzi#O}_IB&5fP%So z!q0;=Gp`w4jbEO$zVlgq-*;2BADmjc8O&L0Ha-xW=iy}jA!VPlNUP$8gxy{l5By>t zv)y{t!~VeP`nMdJ8D>FVB5Q7Ni_O2!JMF?n-j||Qhc;<{ZD|dE!`1!&l~eTo_WcKnt6W(?{P57~te&VmXHxb%K8M!=i9LqIIs%IFt zaxhPPeLnbq^p87S<#YPCvi!R9x!}_+&A+e8E%Tok)&CUY_Io)w^6#{ZrL#E>_{55@ zxc~U+COwaLmJ>aHcjo;1dfNNdSI*UQ6rP^j)s#N#b=&S+GbbKsv0LV_rtAAx<*C1F noj-XbSX^aDoO*k;@aGRd&Uvb38?D@5|A#-$PVHYPI|Bm%7xhnK diff --git a/public/assets/js/maps/maps.js.map b/public/assets/js/maps/maps.js.map index 4a976459..1ca274c4 100644 --- a/public/assets/js/maps/maps.js.map +++ b/public/assets/js/maps/maps.js.map @@ -1 +1 @@ -{"version":3,"sources":["maps.js"],"names":["mapDivs","document","querySelectorAll","mapboxgl","accessToken","i","length","mapDiv","latitude","dataset","longitude","el","createElement","classList","add","mapMenu","streetsInput","setAttribute","addEventListener","map","setStyle","streetsLabel","appendChild","createTextNode","satelliteInput","satelliteLabel","Map","container","style","center","zoom","scrollZoom","Marker","offset","setLngLat","addTo"],"mappings":"AAEA,GAAIA,SAAUC,SAASC,iBAAiB,OACxCC,UAASC,YAAc,gGACvB,KAAK,GAAIC,GAAI,EAAGA,EAAIL,QAAQM,OAAQD,IAAK,CACrC,GAAIE,QAASP,QAAQK,GACjBG,SAAWD,OAAOE,QAAQD,SAC1BE,UAAaH,OAAOE,QAAQC,UAC5BC,GAAKV,SAASW,cAAc,MAChCD,IAAGE,UAAUC,IAAI,SACjB,IAAIC,SAAUd,SAASW,cAAc,MACrCG,SAAQF,UAAUC,IAAI,WACtB,IAAIE,cAAef,SAASW,cAAc,QAC1CI,cAAaC,aAAa,KAAM,WAChCD,aAAaC,aAAa,OAAQ,SAClCD,aAAaC,aAAa,OAAQ,UAClCD,aAAaC,aAAa,QAAS,WACnCD,aAAaC,aAAa,UAAW,WACrCD,aAAaE,iBAAiB,QAAS,WACnCC,IAAIC,SAAS,sCAEjB,IAAIC,cAAepB,SAASW,cAAc,QAC1CS,cAAaJ,aAAa,MAAO,WACjCI,aAAaC,YAAYrB,SAASsB,eAAe,WACjD,IAAIC,gBAAiBvB,SAASW,cAAc,QAC5CY,gBAAeP,aAAa,KAAM,aAClCO,eAAeP,aAAa,OAAQ,SACpCO,eAAeP,aAAa,OAAQ,UACpCO,eAAeP,aAAa,QAAS,WACrCO,eAAeN,iBAAiB,QAAS,WACrCC,IAAIC,SAAS,wCAEjB,IAAIK,gBAAiBxB,SAASW,cAAc,QAC5Ca,gBAAeR,aAAa,MAAO,aACnCQ,eAAeH,YAAYrB,SAASsB,eAAe,cACnDR,QAAQO,YAAYN,cACpBD,QAAQO,YAAYD,cACpBN,QAAQO,YAAYE,gBACpBT,QAAQO,YAAYG,eACpB,IAAIN,KAAM,GAAIhB,UAASuB,KACnBC,UAAWpB,OACXqB,MAAO,oCACPC,QAASnB,UAAWF,UACpBsB,KAAM,GACNC,YAAY,GAEhB,IAAI5B,UAAS6B,OAAOrB,IAAKsB,SAAS,IAAK,MAAOC,WAAWxB,UAAWF,WAAW2B,MAAMhB,KACrFZ,OAAOe,YAAYP","file":"../maps.js","sourcesContent":["/* global mapboxgl */\n//This code runs on page load and looks for
, then adds map\nvar mapDivs = document.querySelectorAll('.map');\nmapboxgl.accessToken = 'pk.eyJ1Ijoiam9ubnliYXJuZXMiLCJhIjoiY2l2cDhjYW04MDAwcjJ0cG1uZnhqcm82ayJ9.qA2zeVA-nsoMh9IFrd5KQw';\nfor (var i = 0; i < mapDivs.length; i++) {\n var mapDiv = mapDivs[i];\n var latitude = mapDiv.dataset.latitude;\n var longitude = mapDiv.dataset.longitude;\n var el = document.createElement('div');\n el.classList.add('marker');\n var mapMenu = document.createElement('div');\n mapMenu.classList.add('map-menu');\n var streetsInput = document.createElement('input');\n streetsInput.setAttribute('id', 'streets');\n streetsInput.setAttribute('type', 'radio');\n streetsInput.setAttribute('name', 'toggle');\n streetsInput.setAttribute('value', 'streets');\n streetsInput.setAttribute('checked', 'checked');\n streetsInput.addEventListener('click', function () {\n map.setStyle('mapbox://styles/mapbox/streets-v9');\n });\n var streetsLabel = document.createElement('label');\n streetsLabel.setAttribute('for', 'streets');\n streetsLabel.appendChild(document.createTextNode('Streets'));\n var satelliteInput = document.createElement('input');\n satelliteInput.setAttribute('id', 'satellite');\n satelliteInput.setAttribute('type', 'radio');\n satelliteInput.setAttribute('name', 'toggle');\n satelliteInput.setAttribute('value', 'streets');\n satelliteInput.addEventListener('click', function () {\n map.setStyle('mapbox://styles/mapbox/satellite-v9');\n });\n var satelliteLabel = document.createElement('label');\n satelliteLabel.setAttribute('for', 'satellite');\n satelliteLabel.appendChild(document.createTextNode('Satellite'));\n mapMenu.appendChild(streetsInput);\n mapMenu.appendChild(streetsLabel);\n mapMenu.appendChild(satelliteInput);\n mapMenu.appendChild(satelliteLabel);\n var map = new mapboxgl.Map({\n container: mapDiv,\n style: 'mapbox://styles/mapbox/streets-v9',\n center: [longitude, latitude],\n zoom: 15,\n scrollZoom: false\n });\n new mapboxgl.Marker(el, {offset: [-10, -20]}).setLngLat([longitude, latitude]).addTo(map);\n mapDiv.appendChild(mapMenu);\n}\n"]} \ No newline at end of file +{"version":3,"sources":["maps.js"],"names":["mapDivs","document","querySelectorAll","mapboxgl","accessToken","i","length","mapDiv","latitude","dataset","longitude","el","createElement","classList","add","mapMenu","streetsInput","setAttribute","addEventListener","map","setStyle","streetsLabel","appendChild","createTextNode","satelliteInput","satelliteLabel","Map","container","style","center","zoom","scrollZoom","addControl","NavigationControl","Marker","offset","setLngLat","addTo"],"mappings":"AAEA,GAAIA,SAAUC,SAASC,iBAAiB,OACxCC,UAASC,YAAc,gGACvB,KAAK,GAAIC,GAAI,EAAGA,EAAIL,QAAQM,OAAQD,IAAK,CACrC,GAAIE,QAASP,QAAQK,GACjBG,SAAWD,OAAOE,QAAQD,SAC1BE,UAAaH,OAAOE,QAAQC,UAC5BC,GAAKV,SAASW,cAAc,MAChCD,IAAGE,UAAUC,IAAI,SACjB,IAAIC,SAAUd,SAASW,cAAc,MACrCG,SAAQF,UAAUC,IAAI,WACtB,IAAIE,cAAef,SAASW,cAAc,QAC1CI,cAAaC,aAAa,KAAM,WAChCD,aAAaC,aAAa,OAAQ,SAClCD,aAAaC,aAAa,OAAQ,UAClCD,aAAaC,aAAa,QAAS,WACnCD,aAAaC,aAAa,UAAW,WACrCD,aAAaE,iBAAiB,QAAS,WACnCC,IAAIC,SAAS,sCAEjB,IAAIC,cAAepB,SAASW,cAAc,QAC1CS,cAAaJ,aAAa,MAAO,WACjCI,aAAaC,YAAYrB,SAASsB,eAAe,WACjD,IAAIC,gBAAiBvB,SAASW,cAAc,QAC5CY,gBAAeP,aAAa,KAAM,aAClCO,eAAeP,aAAa,OAAQ,SACpCO,eAAeP,aAAa,OAAQ,UACpCO,eAAeP,aAAa,QAAS,WACrCO,eAAeN,iBAAiB,QAAS,WACrCC,IAAIC,SAAS,wCAEjB,IAAIK,gBAAiBxB,SAASW,cAAc,QAC5Ca,gBAAeR,aAAa,MAAO,aACnCQ,eAAeH,YAAYrB,SAASsB,eAAe,cACnDR,QAAQO,YAAYN,cACpBD,QAAQO,YAAYD,cACpBN,QAAQO,YAAYE,gBACpBT,QAAQO,YAAYG,eACpB,IAAIN,KAAM,GAAIhB,UAASuB,KACnBC,UAAWpB,OACXqB,MAAO,oCACPC,QAASnB,UAAWF,UACpBsB,KAAM,GACNC,YAAY,GAEhBZ,KAAIa,WAAW,GAAI7B,UAAS8B,mBAC5B,GAAI9B,UAAS+B,OAAOvB,IAAKwB,SAAS,IAAK,MAAOC,WAAW1B,UAAWF,WAAW6B,MAAMlB,KACrFZ,OAAOe,YAAYP","file":"../maps.js","sourcesContent":["/* global mapboxgl */\n//This code runs on page load and looks for
, then adds map\nvar mapDivs = document.querySelectorAll('.map');\nmapboxgl.accessToken = 'pk.eyJ1Ijoiam9ubnliYXJuZXMiLCJhIjoiY2l2cDhjYW04MDAwcjJ0cG1uZnhqcm82ayJ9.qA2zeVA-nsoMh9IFrd5KQw';\nfor (var i = 0; i < mapDivs.length; i++) {\n var mapDiv = mapDivs[i];\n var latitude = mapDiv.dataset.latitude;\n var longitude = mapDiv.dataset.longitude;\n var el = document.createElement('div');\n el.classList.add('marker');\n var mapMenu = document.createElement('div');\n mapMenu.classList.add('map-menu');\n var streetsInput = document.createElement('input');\n streetsInput.setAttribute('id', 'streets');\n streetsInput.setAttribute('type', 'radio');\n streetsInput.setAttribute('name', 'toggle');\n streetsInput.setAttribute('value', 'streets');\n streetsInput.setAttribute('checked', 'checked');\n streetsInput.addEventListener('click', function () {\n map.setStyle('mapbox://styles/mapbox/streets-v9');\n });\n var streetsLabel = document.createElement('label');\n streetsLabel.setAttribute('for', 'streets');\n streetsLabel.appendChild(document.createTextNode('Streets'));\n var satelliteInput = document.createElement('input');\n satelliteInput.setAttribute('id', 'satellite');\n satelliteInput.setAttribute('type', 'radio');\n satelliteInput.setAttribute('name', 'toggle');\n satelliteInput.setAttribute('value', 'streets');\n satelliteInput.addEventListener('click', function () {\n map.setStyle('mapbox://styles/mapbox/satellite-v9');\n });\n var satelliteLabel = document.createElement('label');\n satelliteLabel.setAttribute('for', 'satellite');\n satelliteLabel.appendChild(document.createTextNode('Satellite'));\n mapMenu.appendChild(streetsInput);\n mapMenu.appendChild(streetsLabel);\n mapMenu.appendChild(satelliteInput);\n mapMenu.appendChild(satelliteLabel);\n var map = new mapboxgl.Map({\n container: mapDiv,\n style: 'mapbox://styles/mapbox/streets-v9',\n center: [longitude, latitude],\n zoom: 15,\n scrollZoom: false\n });\n map.addControl(new mapboxgl.NavigationControl());\n new mapboxgl.Marker(el, {offset: [-10, -20]}).setLngLat([longitude, latitude]).addTo(map);\n mapDiv.appendChild(mapMenu);\n}\n"]} \ No newline at end of file diff --git a/public/assets/js/maps/newnote.js.map b/public/assets/js/maps/newnote.js.map index 81044df7..dbc589e0 100644 --- a/public/assets/js/maps/newnote.js.map +++ b/public/assets/js/maps/newnote.js.map @@ -1 +1 @@ -{"version":3,"sources":["newnote.js"],"names":["getLocation","navigator","geolocation","getCurrentPosition","position","addPlacesMap","coords","latitude","longitude","accuracy","uncertainty","fetch","credentials","method","then","response","json","j","error","alertify","reset","error_description","places","length","i","latlng","parseLocation","location","name","uri","push","addMap","catch","err","console","arguments","form","document","querySelector","mapDiv","createElement","classList","add","appendChild","mapboxgl","accessToken","map","Map","container","style","center","zoom","el","mapMenu","streetsInput","setAttribute","addEventListener","setStyle","streetsLabel","createTextNode","satelliteInput","satelliteLabel","Marker","offset","setLngLat","addTo","containingDiv","selectEl","noLocation","geoLocation","dataset","insertBefore","forEach","item","option","text","placeMarkerIcon","flyTo","selectPlace","value","placeLat","selectedIndex","placeLon","newLocButton","nameDiv","nameLabel","nameEl","descDiv","descLabel","descEl","latDiv","latLabel","latEl","getLatitudeFromMapbox","getCenter","lonDiv","lonLabel","lonEl","getLongitudeFromMapbox","placeSubmit","formData","FormData","append","body","placeJson","Error","labels","querySelectorAll","removeChild","parentNode","newPlaceButton","newOption","newPlaceMarkerIcon","placeError","point","re","resultArray","exec","split","selected","lnglat","replace","button","disabled"],"mappings":"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","file":"../newnote.js","sourcesContent":["/* global mapboxgl, alertify */\nif ('geolocation' in navigator) {\n var button = document.querySelector('#locate');\n if (button.addEventListener) {\n //if we have javascript, event listeners and geolocation, make the locate\n //button clickable and add event\n button.disabled = false;\n button.addEventListener('click', getLocation);\n }\n}\n\nfunction getLocation() {\n navigator.geolocation.getCurrentPosition(function (position) {\n //the locate button has been clicked so add the places/map\n addPlacesMap(position.coords.latitude, position.coords.longitude, position.coords.accuracy);\n });\n}\n\nfunction addPlacesMap(latitude, longitude, uncertainty) {\n //get the nearby places\n fetch('/places/near/' + latitude + '/' + longitude + '?u=' + uncertainty, {\n credentials: 'same-origin',\n method: 'get'\n }).then(function (response) {\n return response.json();\n }).then(function (j) {\n if (j.error == true) {\n alertify.reset();\n alertify.error(j.error_description);\n }\n if (j.places.length > 0) {\n var i;\n var places = [];\n for (i = 0; i < j.places.length; ++i) {\n var latlng = parseLocation(j.places[i].location);\n var name = j.places[i].name;\n var uri = j.places[i].uri;\n places.push([name, uri, latlng[0], latlng[1]]);\n }\n //add a map with the nearby places\n addMap(latitude, longitude, places);\n } else {\n //add a map with just current location\n addMap(latitude, longitude);\n }\n }).catch(function (err) {\n console.error(err);\n });\n}\n\nfunction addMap(latitude, longitude, places) {\n //make places null if not supplied\n if (arguments.length == 2) {\n places = null;\n }\n // the form has a fieldset element that we are actually targetting\n var form = document.querySelector('.note-ui');\n var mapDiv = document.createElement('div');\n mapDiv.classList.add('map');\n //add the map div\n form.appendChild(mapDiv);\n //set up the mapbox gl map\n mapboxgl.accessToken = 'pk.eyJ1Ijoiam9ubnliYXJuZXMiLCJhIjoiY2l2cDhjYW04MDAwcjJ0cG1uZnhqcm82ayJ9.qA2zeVA-nsoMh9IFrd5KQw';\n var map = new mapboxgl.Map({\n container: mapDiv,\n style: 'mapbox://styles/mapbox/streets-v9',\n center: [longitude, latitude],\n zoom: 15\n });\n //create the current location marker\n var el = document.createElement('div');\n el.classList.add('marker');\n //create the map style menu\n var mapMenu = document.createElement('div');\n mapMenu.classList.add('map-menu');\n var streetsInput = document.createElement('input');\n streetsInput.setAttribute('id', 'streets');\n streetsInput.setAttribute('type', 'radio');\n streetsInput.setAttribute('name', 'toggle');\n streetsInput.setAttribute('value', 'streets');\n streetsInput.setAttribute('checked', 'checked');\n streetsInput.addEventListener('click', function () {\n map.setStyle('mapbox://styles/mapbox/streets-v9');\n });\n var streetsLabel = document.createElement('label');\n streetsLabel.setAttribute('for', 'streets');\n streetsLabel.appendChild(document.createTextNode('Streets'));\n var satelliteInput = document.createElement('input');\n satelliteInput.setAttribute('id', 'satellite');\n satelliteInput.setAttribute('type', 'radio');\n satelliteInput.setAttribute('name', 'toggle');\n satelliteInput.setAttribute('value', 'streets');\n satelliteInput.addEventListener('click', function () {\n map.setStyle('mapbox://styles/mapbox/satellite-v9');\n });\n var satelliteLabel = document.createElement('label');\n satelliteLabel.setAttribute('for', 'satellite');\n satelliteLabel.appendChild(document.createTextNode('Satellite'));\n mapMenu.appendChild(streetsInput);\n mapMenu.appendChild(streetsLabel);\n mapMenu.appendChild(satelliteInput);\n mapMenu.appendChild(satelliteLabel);\n //add the map menu\n mapDiv.appendChild(mapMenu);\n //add a marker for the current location\n new mapboxgl.Marker(el, {offset: [-10, -20]}).setLngLat([longitude, latitude]).addTo(map);\n //create containing div for flexbox\n var containingDiv = document.createElement('div');\n //create the \n places.forEach(function (item) {\n var option = document.createElement('option');\n option.setAttribute('value', item[1]);\n var text = document.createTextNode(item[0]);\n option.appendChild(text);\n option.dataset.latitude = item[2];\n option.dataset.longitude = item[3];\n selectEl.appendChild(option);\n var placeMarkerIcon = document.createElement('div');\n placeMarkerIcon.classList.add('marker');\n new mapboxgl.Marker(placeMarkerIcon, {offset: [-10, -20]}).setLngLat([item[3], item[2]]).addTo(map);\n placeMarkerIcon.addEventListener('click', function () {\n map.flyTo({\n center: [\n item[3],\n item[2]\n ]\n });\n selectPlace(item[1]);\n });\n });\n //add an event listener\n selectEl.addEventListener('change', function () {\n if (selectEl.value !== 'no-location') {\n var placeLat = selectEl[selectEl.selectedIndex].dataset.latitude;\n var placeLon = selectEl[selectEl.selectedIndex].dataset.longitude;\n map.flyTo({\n center: [\n placeLon,\n placeLat\n ]\n });\n }\n });\n }\n //add a button to add a new place\n var newLocButton = document.createElement('button');\n newLocButton.setAttribute('type', 'button');\n newLocButton.setAttribute('id', 'create-new-place');\n newLocButton.appendChild(document.createTextNode('Create New Place?'));\n //the event listener\n newLocButton.addEventListener('click', function() {\n //add the form elements\n var nameDiv = document.createElement('div');\n var nameLabel = document.createElement('label');\n nameLabel.setAttribute('for', 'place-name');\n nameLabel.classList.add('place-label');\n nameLabel.appendChild(document.createTextNode('Place Name:'));\n var nameEl = document.createElement('input');\n nameEl.setAttribute('placeholder', 'Name');\n nameEl.setAttribute('name', 'place-name');\n nameEl.setAttribute('id', 'place-name');\n nameEl.setAttribute('type', 'text');\n nameDiv.appendChild(nameLabel);\n nameDiv.appendChild(nameEl);\n var descDiv = document.createElement('div');\n var descLabel = document.createElement('label');\n descLabel.setAttribute('for', 'place-description');\n descLabel.classList.add('place-label');\n descLabel.appendChild(document.createTextNode('Place Description:'));\n var descEl = document.createElement('input');\n descEl.setAttribute('placeholder', 'Description');\n descEl.setAttribute('name', 'place-description');\n descEl.setAttribute('id', 'place-description');\n descEl.setAttribute('type', 'text');\n descDiv.appendChild(descLabel);\n descDiv.appendChild(descEl);\n var latDiv = document.createElement('div');\n var latLabel = document.createElement('label');\n latLabel.setAttribute('for', 'place-latitude');\n latLabel.classList.add('place-label');\n latLabel.appendChild(document.createTextNode('Place Latitude:'));\n var latEl = document.createElement('input');\n latEl.setAttribute('name', 'place-latitude');\n latEl.setAttribute('id', 'place-latitude');\n latEl.setAttribute('type', 'text');\n latEl.value = getLatitudeFromMapbox(map.getCenter());\n latDiv.appendChild(latLabel);\n latDiv.appendChild(latEl);\n var lonDiv = document.createElement('div');\n var lonLabel = document.createElement('label');\n lonLabel.setAttribute('for', 'place-longitude');\n lonLabel.classList.add('place-label');\n lonLabel.appendChild(document.createTextNode('Place Longitude:'));\n var lonEl = document.createElement('input');\n lonEl.setAttribute('name', 'place-longitude');\n lonEl.setAttribute('id', 'place-longitude');\n lonEl.setAttribute('type', 'text');\n lonEl.value = getLongitudeFromMapbox(map.getCenter());\n lonDiv.appendChild(lonLabel);\n lonDiv.appendChild(lonEl);\n var placeSubmit = document.createElement('button');\n placeSubmit.setAttribute('id', 'place-submit');\n placeSubmit.setAttribute('value', 'Submit New Place');\n placeSubmit.setAttribute('name', 'place-submit');\n placeSubmit.setAttribute('type', 'button');\n placeSubmit.appendChild(document.createTextNode('Submit New Place'));\n form.appendChild(nameDiv);\n form.appendChild(descDiv);\n form.appendChild(latDiv);\n form.appendChild(lonDiv);\n form.appendChild(placeSubmit);\n //the event listener for the new place form\n placeSubmit.addEventListener('click', function () {\n //create the form data to send\n var formData = new FormData();\n formData.append('place-name', document.querySelector('#place-name').value);\n formData.append('place-description', document.querySelector('#place-description').value);\n formData.append('place-latitude', document.querySelector('#place-latitude').value);\n formData.append('place-longitude', document.querySelector('#place-longitude').value);\n //post the new place\n fetch('/places/new', {\n //send cookies with the request\n credentials: 'same-origin',\n method: 'post',\n body: formData\n })\n .then(function (response) {\n return response.json();\n })\n .then(function (placeJson) {\n if (placeJson.error == true) {\n throw new Error(placeJson.error_description);\n }\n //remove un-needed form elements\n //iterate through labels and remove parent div elements\n var labels = document.querySelectorAll('.place-label');\n for (var i = 0; i < labels.length; ++i) {\n form.removeChild(labels[i].parentNode);\n }\n form.removeChild(document.querySelector('#place-submit'));\n var newPlaceButton = document.querySelector('#create-new-place');\n //in order to remove a DOM Node, you need to run removeChild on the parent Node\n newPlaceButton.parentNode.removeChild(newPlaceButton);\n //add place marker\n var newOption = document.createElement('option');\n newOption.setAttribute('value', placeJson.uri);\n newOption.appendChild(document.createTextNode(placeJson.name));\n newOption.dataset.latitude = placeJson.latitude;\n newOption.dataset.longitude = placeJson.longitude;\n selectEl.appendChild(newOption);\n var newPlaceMarkerIcon = document.createElement('div');\n newPlaceMarkerIcon.classList.add('marker');\n var newPlaceMarker = new mapboxgl.Marker(newPlaceMarkerIcon, {offset: [-10, -20]}).setLngLat([placeJson.longitude, placeJson.latitude]).addTo(map);\n map.flyTo({center: [placeJson.longitude, placeJson.latitude]});\n\n newPlaceMarkerIcon.addEventListener('click', function () {\n map.flyTo({center: [placeJson.longitude, placeJson.latitude]});\n selectPlace(placeJson.uri);\n });\n //make selected\n selectPlace(placeJson.uri);\n }).catch(function (placeError) {\n alertify.reset();\n alertify.error(placeError);\n });\n });\n });\n containingDiv.appendChild(newLocButton);\n}\n\nfunction parseLocation(point) {\n var re = /\\((.*)\\)/;\n var resultArray = re.exec(point);\n var location = resultArray[1].split(' ');\n\n return [location[1], location[0]];\n}\n\nfunction selectPlace(uri) {\n document.querySelector('select [value=\"' + uri + '\"]').selected = true;\n}\n\nfunction getLatitudeFromMapbox(lnglat) {\n var resultArray = /\\((.*)\\)/.exec(lnglat);\n var location = resultArray[1].split(' ');\n\n return location[1];\n}\n\nfunction getLongitudeFromMapbox(lnglat) {\n var resultArray = /\\((.*)\\)/.exec(lnglat);\n var location = resultArray[1].split(' ');\n\n return location[0].replace(',', '');\n}\n"]} \ No newline at end of file +{"version":3,"sources":["newnote.js"],"names":["getLocation","navigator","geolocation","getCurrentPosition","position","addPlacesMap","coords","latitude","longitude","accuracy","uncertainty","fetch","credentials","method","then","response","json","j","error","alertify","reset","error_description","places","length","i","latlng","parseLocation","location","name","uri","push","addMap","catch","err","console","arguments","form","document","querySelector","mapDiv","createElement","classList","add","appendChild","mapboxgl","accessToken","map","Map","container","style","center","zoom","addControl","NavigationControl","el","mapMenu","streetsInput","setAttribute","addEventListener","setStyle","streetsLabel","createTextNode","satelliteInput","satelliteLabel","Marker","offset","setLngLat","addTo","containingDiv","selectEl","noLocation","geoLocation","dataset","insertBefore","forEach","item","option","text","placeMarkerIcon","flyTo","selectPlace","value","placeLat","selectedIndex","placeLon","newLocButton","nameDiv","nameLabel","nameEl","descDiv","descLabel","descEl","latDiv","latLabel","latEl","getLatitudeFromMapbox","getCenter","lonDiv","lonLabel","lonEl","getLongitudeFromMapbox","placeSubmit","formData","FormData","append","body","placeJson","Error","labels","querySelectorAll","removeChild","parentNode","newPlaceButton","newOption","newPlaceMarkerIcon","placeError","point","re","resultArray","exec","split","selected","lnglat","replace","button","disabled"],"mappings":"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","file":"../newnote.js","sourcesContent":["/* global mapboxgl, alertify */\nif ('geolocation' in navigator) {\n var button = document.querySelector('#locate');\n if (button.addEventListener) {\n //if we have javascript, event listeners and geolocation, make the locate\n //button clickable and add event\n button.disabled = false;\n button.addEventListener('click', getLocation);\n }\n}\n\nfunction getLocation() {\n navigator.geolocation.getCurrentPosition(function (position) {\n //the locate button has been clicked so add the places/map\n addPlacesMap(position.coords.latitude, position.coords.longitude, position.coords.accuracy);\n });\n}\n\nfunction addPlacesMap(latitude, longitude, uncertainty) {\n //get the nearby places\n fetch('/places/near/' + latitude + '/' + longitude + '?u=' + uncertainty, {\n credentials: 'same-origin',\n method: 'get'\n }).then(function (response) {\n return response.json();\n }).then(function (j) {\n if (j.error == true) {\n alertify.reset();\n alertify.error(j.error_description);\n }\n if (j.places.length > 0) {\n var i;\n var places = [];\n for (i = 0; i < j.places.length; ++i) {\n var latlng = parseLocation(j.places[i].location);\n var name = j.places[i].name;\n var uri = j.places[i].uri;\n places.push([name, uri, latlng[0], latlng[1]]);\n }\n //add a map with the nearby places\n addMap(latitude, longitude, places);\n } else {\n //add a map with just current location\n addMap(latitude, longitude);\n }\n }).catch(function (err) {\n console.error(err);\n });\n}\n\nfunction addMap(latitude, longitude, places) {\n //make places null if not supplied\n if (arguments.length == 2) {\n places = null;\n }\n // the form has a fieldset element that we are actually targetting\n var form = document.querySelector('.note-ui');\n var mapDiv = document.createElement('div');\n mapDiv.classList.add('map');\n //add the map div\n form.appendChild(mapDiv);\n //set up the mapbox gl map\n mapboxgl.accessToken = 'pk.eyJ1Ijoiam9ubnliYXJuZXMiLCJhIjoiY2l2cDhjYW04MDAwcjJ0cG1uZnhqcm82ayJ9.qA2zeVA-nsoMh9IFrd5KQw';\n var map = new mapboxgl.Map({\n container: mapDiv,\n style: 'mapbox://styles/mapbox/streets-v9',\n center: [longitude, latitude],\n zoom: 15\n });\n map.addControl(new mapboxgl.NavigationControl());\n //create the current location marker\n var el = document.createElement('div');\n el.classList.add('marker');\n //create the map style menu\n var mapMenu = document.createElement('div');\n mapMenu.classList.add('map-menu');\n var streetsInput = document.createElement('input');\n streetsInput.setAttribute('id', 'streets');\n streetsInput.setAttribute('type', 'radio');\n streetsInput.setAttribute('name', 'toggle');\n streetsInput.setAttribute('value', 'streets');\n streetsInput.setAttribute('checked', 'checked');\n streetsInput.addEventListener('click', function () {\n map.setStyle('mapbox://styles/mapbox/streets-v9');\n });\n var streetsLabel = document.createElement('label');\n streetsLabel.setAttribute('for', 'streets');\n streetsLabel.appendChild(document.createTextNode('Streets'));\n var satelliteInput = document.createElement('input');\n satelliteInput.setAttribute('id', 'satellite');\n satelliteInput.setAttribute('type', 'radio');\n satelliteInput.setAttribute('name', 'toggle');\n satelliteInput.setAttribute('value', 'streets');\n satelliteInput.addEventListener('click', function () {\n map.setStyle('mapbox://styles/mapbox/satellite-v9');\n });\n var satelliteLabel = document.createElement('label');\n satelliteLabel.setAttribute('for', 'satellite');\n satelliteLabel.appendChild(document.createTextNode('Satellite'));\n mapMenu.appendChild(streetsInput);\n mapMenu.appendChild(streetsLabel);\n mapMenu.appendChild(satelliteInput);\n mapMenu.appendChild(satelliteLabel);\n //add the map menu\n mapDiv.appendChild(mapMenu);\n //add a marker for the current location\n new mapboxgl.Marker(el, {offset: [-10, -20]}).setLngLat([longitude, latitude]).addTo(map);\n //create containing div for flexbox\n var containingDiv = document.createElement('div');\n //create the \n places.forEach(function (item) {\n var option = document.createElement('option');\n option.setAttribute('value', item[1]);\n var text = document.createTextNode(item[0]);\n option.appendChild(text);\n option.dataset.latitude = item[2];\n option.dataset.longitude = item[3];\n selectEl.appendChild(option);\n var placeMarkerIcon = document.createElement('div');\n placeMarkerIcon.classList.add('marker');\n new mapboxgl.Marker(placeMarkerIcon, {offset: [-10, -20]}).setLngLat([item[3], item[2]]).addTo(map);\n placeMarkerIcon.addEventListener('click', function () {\n map.flyTo({\n center: [\n item[3],\n item[2]\n ]\n });\n selectPlace(item[1]);\n });\n });\n //add an event listener\n selectEl.addEventListener('change', function () {\n if (selectEl.value !== 'no-location') {\n var placeLat = selectEl[selectEl.selectedIndex].dataset.latitude;\n var placeLon = selectEl[selectEl.selectedIndex].dataset.longitude;\n map.flyTo({\n center: [\n placeLon,\n placeLat\n ]\n });\n }\n });\n }\n //add a button to add a new place\n var newLocButton = document.createElement('button');\n newLocButton.setAttribute('type', 'button');\n newLocButton.setAttribute('id', 'create-new-place');\n newLocButton.appendChild(document.createTextNode('Create New Place?'));\n //the event listener\n newLocButton.addEventListener('click', function() {\n //add the form elements\n var nameDiv = document.createElement('div');\n var nameLabel = document.createElement('label');\n nameLabel.setAttribute('for', 'place-name');\n nameLabel.classList.add('place-label');\n nameLabel.appendChild(document.createTextNode('Place Name:'));\n var nameEl = document.createElement('input');\n nameEl.setAttribute('placeholder', 'Name');\n nameEl.setAttribute('name', 'place-name');\n nameEl.setAttribute('id', 'place-name');\n nameEl.setAttribute('type', 'text');\n nameDiv.appendChild(nameLabel);\n nameDiv.appendChild(nameEl);\n var descDiv = document.createElement('div');\n var descLabel = document.createElement('label');\n descLabel.setAttribute('for', 'place-description');\n descLabel.classList.add('place-label');\n descLabel.appendChild(document.createTextNode('Place Description:'));\n var descEl = document.createElement('input');\n descEl.setAttribute('placeholder', 'Description');\n descEl.setAttribute('name', 'place-description');\n descEl.setAttribute('id', 'place-description');\n descEl.setAttribute('type', 'text');\n descDiv.appendChild(descLabel);\n descDiv.appendChild(descEl);\n var latDiv = document.createElement('div');\n var latLabel = document.createElement('label');\n latLabel.setAttribute('for', 'place-latitude');\n latLabel.classList.add('place-label');\n latLabel.appendChild(document.createTextNode('Place Latitude:'));\n var latEl = document.createElement('input');\n latEl.setAttribute('name', 'place-latitude');\n latEl.setAttribute('id', 'place-latitude');\n latEl.setAttribute('type', 'text');\n latEl.value = getLatitudeFromMapbox(map.getCenter());\n latDiv.appendChild(latLabel);\n latDiv.appendChild(latEl);\n var lonDiv = document.createElement('div');\n var lonLabel = document.createElement('label');\n lonLabel.setAttribute('for', 'place-longitude');\n lonLabel.classList.add('place-label');\n lonLabel.appendChild(document.createTextNode('Place Longitude:'));\n var lonEl = document.createElement('input');\n lonEl.setAttribute('name', 'place-longitude');\n lonEl.setAttribute('id', 'place-longitude');\n lonEl.setAttribute('type', 'text');\n lonEl.value = getLongitudeFromMapbox(map.getCenter());\n lonDiv.appendChild(lonLabel);\n lonDiv.appendChild(lonEl);\n var placeSubmit = document.createElement('button');\n placeSubmit.setAttribute('id', 'place-submit');\n placeSubmit.setAttribute('value', 'Submit New Place');\n placeSubmit.setAttribute('name', 'place-submit');\n placeSubmit.setAttribute('type', 'button');\n placeSubmit.appendChild(document.createTextNode('Submit New Place'));\n form.appendChild(nameDiv);\n form.appendChild(descDiv);\n form.appendChild(latDiv);\n form.appendChild(lonDiv);\n form.appendChild(placeSubmit);\n //the event listener for the new place form\n placeSubmit.addEventListener('click', function () {\n //create the form data to send\n var formData = new FormData();\n formData.append('place-name', document.querySelector('#place-name').value);\n formData.append('place-description', document.querySelector('#place-description').value);\n formData.append('place-latitude', document.querySelector('#place-latitude').value);\n formData.append('place-longitude', document.querySelector('#place-longitude').value);\n //post the new place\n fetch('/places/new', {\n //send cookies with the request\n credentials: 'same-origin',\n method: 'post',\n body: formData\n })\n .then(function (response) {\n return response.json();\n })\n .then(function (placeJson) {\n if (placeJson.error == true) {\n throw new Error(placeJson.error_description);\n }\n //remove un-needed form elements\n //iterate through labels and remove parent div elements\n var labels = document.querySelectorAll('.place-label');\n for (var i = 0; i < labels.length; ++i) {\n form.removeChild(labels[i].parentNode);\n }\n form.removeChild(document.querySelector('#place-submit'));\n var newPlaceButton = document.querySelector('#create-new-place');\n //in order to remove a DOM Node, you need to run removeChild on the parent Node\n newPlaceButton.parentNode.removeChild(newPlaceButton);\n //add place marker\n var newOption = document.createElement('option');\n newOption.setAttribute('value', placeJson.uri);\n newOption.appendChild(document.createTextNode(placeJson.name));\n newOption.dataset.latitude = placeJson.latitude;\n newOption.dataset.longitude = placeJson.longitude;\n selectEl.appendChild(newOption);\n var newPlaceMarkerIcon = document.createElement('div');\n newPlaceMarkerIcon.classList.add('marker');\n var newPlaceMarker = new mapboxgl.Marker(newPlaceMarkerIcon, {offset: [-10, -20]}).setLngLat([placeJson.longitude, placeJson.latitude]).addTo(map);\n map.flyTo({center: [placeJson.longitude, placeJson.latitude]});\n\n newPlaceMarkerIcon.addEventListener('click', function () {\n map.flyTo({center: [placeJson.longitude, placeJson.latitude]});\n selectPlace(placeJson.uri);\n });\n //make selected\n selectPlace(placeJson.uri);\n }).catch(function (placeError) {\n alertify.reset();\n alertify.error(placeError);\n });\n });\n });\n containingDiv.appendChild(newLocButton);\n}\n\nfunction parseLocation(point) {\n var re = /\\((.*)\\)/;\n var resultArray = re.exec(point);\n var location = resultArray[1].split(' ');\n\n return [location[1], location[0]];\n}\n\nfunction selectPlace(uri) {\n document.querySelector('select [value=\"' + uri + '\"]').selected = true;\n}\n\nfunction getLatitudeFromMapbox(lnglat) {\n var resultArray = /\\((.*)\\)/.exec(lnglat);\n var location = resultArray[1].split(' ');\n\n return location[1];\n}\n\nfunction getLongitudeFromMapbox(lnglat) {\n var resultArray = /\\((.*)\\)/.exec(lnglat);\n var location = resultArray[1].split(' ');\n\n return location[0].replace(',', '');\n}\n"]} \ No newline at end of file diff --git a/public/assets/js/newnote.js b/public/assets/js/newnote.js index 086e2fb7..ebac396a 100644 --- a/public/assets/js/newnote.js +++ b/public/assets/js/newnote.js @@ -1,2 +1,2 @@ -function getLocation(){navigator.geolocation.getCurrentPosition(function(e){addPlacesMap(e.coords.latitude,e.coords.longitude,e.coords.accuracy)})}function addPlacesMap(e,t,a){fetch("/places/near/"+e+"/"+t+"?u="+a,{credentials:"same-origin",method:"get"}).then(function(e){return e.json()}).then(function(a){if(1==a.error&&(alertify.reset(),alertify.error(a.error_description)),a.places.length>0){var n,d=[];for(n=0;n0){var n,d=[];for(n=0;nGJ-%cx<6> zi|2FMq%+p6N7<6YQoc;}Pkb;V>wUB2Wxf+ZCK}0#u|d;~YS(jkPHXtgJV~X)*8P%h zy5!M&(=A&jY?M5A!`k)rx5ZX0Dw<^}X^=yb#+}ey%fTgWTo24!)B} zwAjxTbb8&X-)BW#&3{Tb|L1i(BDN`GL4P3UToWG^+mm&AMpHKzd+!Vp^f%^U$<>f; zd6l*{_*2#rN!P#YKQ(T?Qh7)vs?9C*oq1VOOwW~reP4d38nkVeV{7vhx+a~tJ~-?D z=9fX0ruPjm_4C~i{!u=@7&STwN_P6L@*UV~Jy=j*i zQlfsPTi1q3?G&`vW!q9{efrU|{z&U$89vp^V!`2acf?LSaz4-aBInW1{jZGXYiw|| zvs)%9prTke)8YDr0*#vE2Mk`k5U9O1;meChhO$=ye(u-B6z%>u*PobMk5&x($a=% zC+uy$FO>eGq>$KR>6)m|ur6^u`=P?=-FG;9Q|3Ne>~^KI>f`*5Ez75r-}%zU!K{9G zt3+PThOFn;cbXYpV0Sb9(R-=sm0{AJZuXzgx!Hc5(9&GybLyvMkKoH=rsfVY`%M;n zer7&zHBaxyb8iwa6jm|2ecj`q8@Wh!(bd&|8KRcxsqkCOSJ=aTEyv>Hk=_4;Uh_K# zzWr0X+Hc`A5tEIndB6Ysh?v8|`EiTTa!$s#GwW2p_L*^H8 zR@!K-+xP17(u1jdcQ&ecJaT{M7uR#jN$XgN%gW>Y%;k)`-G+0FT{HNrAG|l!E_HZ)mMyYmUu?uub2r(G z9SIjCw9S|8(0pLUzMWM?myh{+QNJ4HID_Knqsq@>jaME@3-9RAzCvp zu8=!WfiFdsQ@B>4QlNWwP4dh@ZuKJ(Mj`(fv1HtS*Cl`D$hMDd5=VkQFYezyb>Y9` zO(DE8@+BoIvQbsDmUpVozs~tIDrnikdv+^I1I#CMm3lszw70$XQPbrq(|9#L=}5i& zS0>eBaJFTZgq_;&BbC2g_B@)lK;!8A6TUKbMSVBkIYnOfdl_e=F>4bG)2IIjcQ1>c{e6AJ zs?*PTeU{wYzru0UOqV&o3+!xD*58mU@L#o iCnq-j&UW{%b3cDFKmP6tIkw;p2P-c<_-eAQkRJef3uep! literal 1737 zcmb3CD#IYd{`8um;A#2Lw>u=fesBKreDCzhmstO%SgD=6yY|>uruXU@OcNdU-TGFr zdkcf{!n(JS+f63(@H`j2{CN2@w#7$NtiSEc+~0nBd3gHeZ!HIBo<5^8*=u!azInB( z{lY1a{<~Y)tTS0?*w+4dA*<6TiFKbY{k|vBuCP!~?@QZ!Rz*pk4NINopJvyv*4P%3 zvEJ;%A!D^!{Jt@_uA46kLc`tv1hr#_SdgfmkB>!aNy3F zrw^PDz7$=`^IW{o`<_Twk6k{N7WuW8Piq z58r?J=H0G@|FlQX&;H@9&vje2efif*59b9JACFg0Y1w)G zK}r`}!sSc$-!G>xeN_HPUEM)?`s9=wU+gp|9e5aEq9d4lwexiA^NQECYEjeo{@dGW z!C!vDcA@g53?;*g6PI_ba24kJXL4%=gJ{*iD~F>5J@3hR3b3pxW!O@=>-tW%D5I6T zWN#h(6fV@Jlim5BaZZt6U(XuuP4WEm%x+wmZnD%U+I8oX^NUW(KTeaEi{381MK$Ux zpK;xx=3m>}YUX#W+Z{QfFFhe$*g>I#W#b2bmV3reW#=c&?e|MNy!D0M(v!EWm#?|P z9J@AqgVpj)OAbw1AoYGx-~Y;e4R)J4Hl1BubAQ^^#rB3*IV-aCf`07z*}inycE|N! z%G0==3ol3uESp;UWR}zG2kT>UtuI)mDpnr2!ST>`gUI1d>uZ0mn?Li=xMiI_d%6f0 zUtaSTj@SdmnjZ}=+>Fl6lN0CR`s}~JHr(g^-sC8bf~TH7ceBKqSQ6GQSpV?nM(%E% zM}@5Cf~4~_WWR_+8_Y?++w3~8@Qd%sS%C%%KNxm)ny*Q%Ss7>B$|J8e98~}cx@`g7xgZ6F_IH?jo$L{(A_M~ zJBHsU==7hOx@W;jtB|NAkJc}f3R!UYdR$kc%%(P>L(LNpdWz^Oui5E!(JEpo`&Xu! zbJp!QTgU1yW3qAo**%v(eVZ{^c4DJh=&wy)0v)WAEAuvLOTJqhEfUhvD19P(**z7@ z#f26h6i(HIG{4|k5b+~`mv0Hv)EG;Hb|2F~CBfplxiOk7HEfeIXHJe5j&Ml2v|r}V z!X4YD1lO|GU5|QuHK=%1mN?7B)g5A+>vB^LH;HV}-F%cY>z@$!trt<=tJJ#8n?s82 z`OWJ3S6m3@?w*;t-0$onM)&iTZ?z>~WnA+O{*bGrweeoQzhBEFhx@zi4xRN}^CkY& zk!w1Wj5`FkdA^1-h)mzA$pe}BhvFiUER zuFF)53!yu+uAh@ycU6Eh$G~Fd;=fyDKWu2a!M0-Z>eSy6|Emu)y~tUaVRGy`&upG} zK22$n#rkY|KV4Pt*%+FrmnwgZ_4k-;kmIcUHO?rmI7ez;$K#JK-`3Ba>(gm;KbQBa zDNC}q{`KyXnYHa_mn~E=i&Ad%U=ORE{Gs_k9e?xX?tKln-?c|?U^Gn7&Yoe!7UaK( zb8@~+>D4af#GDta>g!}oLd#Y8PHk9eojN%qtM1SH+?}icdwPcQ%Di`3qW{t|DQKCe zQv5pMRoR|P)vA9l+TwWEVbvP%NmITkf2n14lU0|V@OAkm&+pe`xw`ZO@{)ecc+z(1 z2Y2;mb@qqJHIA7_`#Cf=ol)K}WzF8~%ET3dCa$vkGOTbx-_JS8+-;D&M`JIfA+6*oUl zS@q8J-Pd=XcNAPbA2=+^S$}xljTd=k_3}=OD`P$LidET*H%#v`{%)=IeUk2H%gtWu z#Q{mW$M1i8?3F#?n|JD`sI6Q38}Dq^`5k1y_pEEGp-PPA+?g&5)~+>L5ZyWHb6-bc zT;{R&C%V>{DgOMoVrkEv_~xhG7FN2i8-qE0=DVpE2tAztO{HqT*J5F}_dDBo4xgE6 zu=vCVrZ%tVpJUv%FzgPvsc|S~k*MbzravksH@r?Ws+{k2e$>cyY(o6;=b5L3E=0ZD ze!p)fL+P<`N^> z_{DR5&L8`9x9{GMCoX2QlyqmBZAe@jI_E^@r69Kze&tVv7B09W9BL(>?io4L)#l=q zU_;BNpGHbEq{Yw7 zIDO{^3vn`_1$%ym-EHt${7J2G_xW@7wd;z) z{_LLRIr0CO$LUwk+s8efE?>W`;M07)BdqmXD*j#OPp{uy_2r>%{lA-%^;L0yb;R{6 zKCb63`+jr(WO4bpKV0|gEnEuLiT(fgrSsgse?P;wU)-S>bm(ou=Q{R@%@;StG|8o2 zxna$?ctxPZ+9YtrPebuHNn(}W|h@sX0-(5Ye-hYz6teD!d zx7;@Sn&qU;a(NBcZD+h{pYcliLSXXQ>NS-O6BV^WvVYgCuhlz!YEjrci4F2mt3OAk zGCqxTS!^nBBDeg;y{Qdcvr>0*@py;rNL>A_n6dGrs<5a`4P!jReny@}e?wm<RN z*zPSd!Rv~!<^IkWX?rJBKeVZR%+cGgFk_8W%aynmmf4LCEg|Yocl`J8OtJr4n}7e1 z_ivxnjBmc#7xrv_mAZ_}sCkytlWUF9vd@;idbsS>(`8kuJGKYDSBn3p6wfx{yP`(_ zk-BUrjqf?1);W~2hK2_S&8lSbTe1J`6>p1cU*clplere3{P3rTPygI9?MFeorhN8J zdt8;T$oDuubk9A#GY?t)yZ1g`cJHF#R;4r5)qQKr+iu3WuZmfH_M4Bu%C_kAk}?_A z{waU{*Z)svXA5PIEzN|zHuVG)zqmD|B6O#fSb8?kGcy_5_n>^z> zjt<_l0b!gUt7aLMzf;$!J7aaVrTOZ&!&!$T7{UyBO?B>0=S$ex%(o{)a-kW+?I%fI zxeS&w{*>NgJg|;?#=OY^?=0O9dk25hJ!>T({_Gsn(oZM;eu%oW@L+AUQ%>z#j@)Ny zu|3C4S7! zK4o|-_LOb4J1AByd2nX(>yukJ<_EmBh;0c=f1J~?h4=NPTQ6m|&#_xKpZ)xV4^j`l zD+k^FHu>6u>zlvdy2pH)jem_*cj8{&#gpIJ?mgNGzD|++vb(19)i(6am0t3>bcX2P z>WIoMU-u}sf1h-if70g@-P7bBX;`nAm2TUWcue!+>nsMdu z)cR7xc?Yyxe)HXY`tOFXsdiEIfs2-q+hU)T@6I{u|I?;q`~NJ5hS(-t6svligAlEe!CExNanD=Igc0@tW|Qp1%*} zJZ@iodevU>YrEvyw%NqYXf`TO3K+i@0uRr@CIpAdgSGj*l!1Jw^z?EaE*rNY5oGB>3Zl+VtZ=OGf@ zS=;>b+SchTJMVAixR-f_ZSu1-z4s2&$uAkGgCeGTnHaQ_=sigu_s^0VawY4)J&05{hxN^0>F>IgwK2CdS>OS~0-HYX z(BD$OtA49wPFSRJVZsWP$;oaxCbRC|XI~(F_O(~hY;DUK&3i-U?7VNdb9&Cq^D{%O zW;P3DTmIW7A0E}bC0=Xt^;K{GNSv@ey-A<-al*O?N#{dTFU|C1Ikz>GtwcMp=$@eA zIqkDQWFseDJ*IkJZtIkZzq2>g2)Zv%wJp$Ue0li=i=Wb;%kx~`hi8@?dSQEgLgN-o z;WQD+umb@vYv!Hq5K9o(l6IBw-lEhQ+aTY<7M*F?@MLG9hfRQ^{HNDHYfD5IgJE86wseDknHAcj|=Fw1*oRzKgg=?(5+=c8t~d znUT4fBm1Kj395dRIkmkf+&tbLlTzrW(Utz{Y0QqT9LH)_=Q%73tekw{Zu;~2cHx%V z|6ssI2%P3idch}eda!IfM|7Z2>j5`9F56d=G?r%PEFe6gWvEL}` z&D@5-D;hn1{;$)EZ`nMa%(fwI$DeW+OONhgwP}Z@{96@bX!ZYhSHNB7iFF(k_c6+v z>U@}Y(}v-Lfat2Pe`?t_Ik&JRqrOu3;jpvMnV24Xt7%#MVA{t}$Na+O_v&j0Z^-F8Mu}^9Tv(xAR407#>?if_ha!I+ z`zS1bP(0F%FpS& z<)`c3Pn%bs`{&)08~;>FByYL&_9h1Zukfl{P#my$*MWr*4=lF!M7FJ(y-TZgZ9#O@ zQn97S*Lt(Fg*$&yo^FvO$Fxc1N=4J5r{`m&E__oyAj`OMq2wto#kk{Z-d(C_dUSkE zu#81SuKgOb9@d1wO96*3)jnhh)6Y2Yd75Ar^9EnNWmniHG@p!LF3a#{m)y&fEk*Hi zym`Jix0`0W&zWs4J>``0`NP?T?ZWSFcO_(JyJl=Qdwt7lonx%v6fwoq+-lDs%slq$ z`t4eeiiuZvO#e7V`E)Ib{Wt#cLRF?3*wc?kR z<}AEbxQpZMxnnm3GNrFg-E`SH&$>3oo`0U=L(>EA-IvU}?H|<~cm8H}weU1vwKY~< ziM2e7C%&`Fb-OOM!d5RxT#l_v%{|xgU==slv+C=6Di^x2ojaZ0Tdy<2_K!qFhgrO` z&z_?U1tNcV?}=_uTd<~`@2+>dox|~Stru=uo$2~#yT;~L)V&FZt4}^;KUw*t@-%

`Rxn|>uuNgjIYg$KX)N<*Om7RUl-+;eL1dGEMI^BYy#{3 z)lZeZ^I@3)>hocSC>BvHod)&OZ{uX)A-mP^%vSLdsTMddB1yQnrj|^ z$d3D0xNi5nT>WdtPqu2K--WCN5B}bLCs4u~89t$$H8p%g$v>HR)*VeBJ1-qoPP@6o z*Y{&y)8gM%$@y$q zncbDXv`1W{c^B39vR;L^eh>-Z@cj5a*mIA4Nw|y^k&ppq1`@DQy^}{dIE&TpD z)hRBYvec|``hnNNHmMa?eSI{GQnDL*OscDt0)14!@h*$L94GLk?z~#X@<3^yS#zZK zHrLK7U-Z&CrFf%ny!~w{-f8}d`=jU2{qH!RT~Fk`LC}{jo%y~KCvW1jUGyX0CG6d~ z{ht*LPCZTd+`6ICb8^Y|`C?x~%H2%5_`{U8^;}bq%)8-Z@#0*j!_DYz*7CZXk$cOk sejPio!mHSU