1export default function(e){function t(e,t){return fetch("/api/0.6/notes.json",{method:"POST",headers:{...OSM.oauth},body:new URLSearchParams({lat:e.lat,lon:e.lng,text:t})}).then(e=>{if(e.ok)return e.json();const t=e.headers.get("Error")||`HTTP Error ${e.status} ${e.statusText}`;throw new Error(t)})}function n(e){const t=L.marker(e.geometry.coordinates.reverse(),{icon:OSM.noteMarkers[e.properties.status],opacity:.9,interactive:!0});t.id=e.properties.id,t.addTo(c)}function o(t){m&&e.removeLayer(m),m=L.circleMarker(t,{weight:2.5,radius:20,fillOpacity:.5,color:"#FF6200"}),e.addLayer(m)}function a(){m&&e.removeLayer(m),m=null}function r(t){p&&e.removeLayer(p),p=L.marker(t,{icon:OSM.noteMarkers.new,opacity:.9,draggable:!0}),p.on("dragstart",a),p.on("dragend",function(){a(),o(p.getLatLng())}),p.addTo(e),o(p.getLatLng()),p.on("dragend",function(){l.find("textarea").trigger("focus")})}function i(){a(),p&&e.removeLayer(p),p=null}function s(e){p&&p.setLatLng(e.latlng),m&&m.setLatLng(e.latlng),l.find("textarea").trigger("focus")}function d(){const e=g.hasClass("disabled"),t=""===l.find("textarea").val();l.find("#new-note-zoom-warning").prop("hidden",!e),l.find("input[type=submit]").prop("disabled",e||t),p&&p.setOpacity(e?.5:.9)}const c=e.noteLayer,l=$("#sidebar_content"),u={},f=$(".control-note"),g=f.find(".control-button");let p,m,y,b;return u.load=function(e){OSM.loadSidebarContent(e).then(()=>u.init(e))},u.init=function(o){f.addClass("active"),e.addLayer(c);const a=new URLSearchParams(o.substring(o.indexOf("?")));let i;return i=a.has("lat")&&a.has("lon")?{lat:a.get("lat"),lng:a.get("lon")}:e.getCenter(),e.panInside(i,{padding:[50,50]}),r(i),l.find("textarea").on("input",d).attr("readonly","readonly").trigger("focus").removeAttr("readonly"),l.find("input[type=submit]").on("click",function(e){const o=p.getLatLng().wrap(),a=l.find("textarea").val();y=l.find(".new-note-error"),y.addClass("d-none"),b=y.find(".new-note-error-detail"),e.preventDefault(),$(this).prop("disabled",!0),p.options.draggable=!1,p.dragging.disable(),t(o,a).then(e=>{if(void 0===OSM.user){const e=Number(OSM.cookies.get("_osm_anonymous_notes_count"))||0;OSM.cookies.set("_osm_anonymous_notes_count",e+1,{expires:14})}l.find("textarea").val(""),n(e),OSM.router.route("/note/"+e.properties.id)}).catch(e=>{y.removeClass("d-none"),b.text(e.message||e),d()})}),e.on("click",s),g.on("disabled enabled",d),d(),e.getState()},u.unload=function(){e.off("click",s),g.off("disabled enabled",d),i(),f.removeClass("active")},u}
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.