1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4937],{54937:(e,n,t)=>{"use strict";t.r(n),t.d(n,{default:()=>O});var r=t(55318),o=t(11798);function u(e,n){return Object.freeze({...e,...n})}let l=(0,o.createContext)(null);function i(){let e=(0,o.use)(l);if(null==e)throw Error("No context provided: useLeafletContext() can only be used in a descendant of <MapContainer>");return e}var a=t(10876),c=t.n(a);let s=(0,o.forwardRef)(function({bounds:e,boundsOptions:n,center:t,children:r,className:u,id:i,placeholder:c,style:s,whenReady:f,zoom:p,...d},m){let[g]=(0,o.useState)({className:u,id:i,style:s}),[v,h]=(0,o.useState)(null),y=(0,o.useRef)(void 0);(0,o.useImperativeHandle)(m,()=>v?.map??null,[v]);let b=(0,o.useCallback)(r=>{if(null!==r&&!y.current){let o=new a.Map(r,d);y.current=o,null!=t&&null!=p?o.setView(t,p):null!=e&&o.fitBounds(e,n),null!=f&&o.whenReady(f),h(Object.freeze({__version:1,map:o}))}},[]);(0,o.useEffect)(()=>()=>{v?.map.remove()},[v]);let w=v?o.createElement(l,{value:v},r):c??null;return o.createElement("div",{...g,ref:b},w)});var f=t(27587);function p(e){return(0,o.forwardRef)(function(n,t){let{instance:r,context:u}=e(n).current;(0,o.useImperativeHandle)(t,()=>r);let{children:i}=n;return null==i?null:o.createElement(l,{value:u},i)})}function d(e,n){let t=(0,o.useRef)(n);(0,o.useEffect)(function(){n!==t.current&&null!=e.attributionControl&&(null!=t.current&&e.attributionControl.removeAttribution(t.current),null!=n&&e.attributionControl.addAttribution(n)),t.current=n},[e,n])}function m(e,n){let t=(0,o.useRef)(void 0);(0,o.useEffect)(function(){return null!=n&&e.instance.on(n),t.current=n,function(){null!=t.current&&e.instance.off(t.current),t.current=null}},[e,n])}function g(e,n){let t=e.pane??n.pane;return t?{...e,pane:t}:e}function v(e,n,t){return Object.freeze({instance:e,context:n,container:t})}function h(e,n){return null==n?function(n,t){let r=(0,o.useRef)(void 0);return r.current||(r.current=e(n,t)),r}:function(t,r){let u=(0,o.useRef)(void 0);u.current||(u.current=e(t,r));let l=(0,o.useRef)(t),{instance:i}=u.current;return(0,o.useEffect)(function(){l.current!==t&&(n(i,t,l.current),l.current=t)},[i,t,n]),u}}function y(e,n){(0,o.useEffect)(function(){return(n.layerContainer??n.map).addLayer(e.instance),function(){n.layerContainer?.removeLayer(e.instance),n.map.removeLayer(e.instance)}},[n,e])}function b(e){return function(n){let t=i(),r=e(g(n,t),t);return d(t.map,n.attribution),m(r.current,n.eventHandlers),y(r.current,t),r}}let w=function(e,n){var t;return t=b(h(e,n)),(0,o.forwardRef)(function(e,n){let{instance:r}=t(e).current;return(0,o.useImperativeHandle)(n,()=>r),null})}(function({url:e,...n},t){return v(new a.TileLayer(e,g(n,t)),t)},function(e,n,t){let{opacity:r,zIndex:o}=n;null!=r&&r!==t.opacity&&e.setOpacity(r),null!=o&&o!==t.zIndex&&e.setZIndex(o);let{url:u}=n;null!=u&&u!==t.url&&e.setUrl(u)}),x=function(e,n){var t;return p((t=h(e,n),function(e){let n=i(),r=t(g(e,n),n);m(r.current,e.eventHandlers),y(r.current,n);var u=r.current;let l=(0,o.useRef)(void 0);return(0,o.useEffect)(function(){if(e.pathOptions!==l.current){let n=e.pathOptions??{};u.instance.setStyle(n),l.current=n}},[u,e]),r}))}(function({positions:e,...n},t){let r=new a.Polyline(e,n);return v(r,u(t,{overlayContainer:r}))},function(e,n,t){n.positions!==t.positions&&e.setLatLngs(n.positions)}),C=p(b(h(function({position:e,...n},t){let r=new a.Marker(e,n);return v(r,u(t,{overlayContainer:r}))},function(e,n,t){n.position!==t.position&&e.setLatLng(n.position),null!=n.icon&&n.icon!==t.icon&&e.setIcon(n.icon),null!=n.zIndexOffset&&n.zIndexOffset!==t.zIndexOffset&&e.setZIndexOffset(n.zIndexOffset),null!=n.opacity&&n.opacity!==t.opacity&&e.setOpacity(n.opacity),null!=e.dragging&&n.draggable!==t.draggable&&(!0===n.draggable?e.dragging.enable():e.dragging.disable())}))),E=function(e,n){var t,r;return t=h(e),r=function(e,r){let o=i(),u=t(g(e,o),o);return d(o.map,e.attribution),m(u.current,e.eventHandlers),n(u.current,o,e,r),u},(0,o.forwardRef)(function(e,n){let[t,u]=(0,o.useState)(!1),{instance:l}=r(e,u).current;(0,o.useImperativeHandle)(n,()=>
1l),(0,o.useEffect)(function(){t&&l.update()},[l,t,e.children]);let i=l._contentNode;return i?(0,f.createPortal)(e.children,i):null})}(function(e,n){return v(new a.Tooltip(e,n.overlayContainer),n)},function(e,n,{position:t},r){(0,o.useEffect)(function(){let o=n.overlayContainer;if(null==o)return;let{instance:u}=e,l=e=>{e.tooltip===u&&(null!=t&&u.setLatLng(t),u.update(),r(!0))},i=e=>{e.tooltip===u&&r(!1)};return o.on({tooltipopen:l,tooltipclose:i}),o.bindTooltip(u),function(){o.off({tooltipopen:l,tooltipclose:i}),null!=o._map&&o.unbindTooltip()}},[e,n,r,t])});t(75722);let I=new(c()).Icon({iconUrl:"https://unpkg.com/[email protected]/dist/images/marker-icon.png",iconRetinaUrl:"https://unpkg.com/[email protected]/dist/images/marker-icon-2x.png",shadowUrl:"https://unpkg.com/[email protected]/dist/images/marker-shadow.png",iconSize:[20,33],iconAnchor:[10,33],popupAnchor:[0,-33],shadowSize:[33,33]});function O(e){let{routes:n,locations:t,routeColors:o}=e;return(0,r.jsxs)(s,{center:[-36.5,175.05],zoom:8,style:{width:"100%",height:"100%"},scrollWheelZoom:!1,attributionControl:!1,children:[(0,r.jsx)(w,{url:"https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png"}),n.map(e=>(0,r.jsx)(x,{positions:[[e.source.lat,e.source.lng],[e.destination.lat,e.destination.lng]],pathOptions:{color:o[e.id]||"#6b7280",weight:2.5,dashArray:"8 6"}},e.id)),t.map(e=>(0,r.jsx)(C,{position:[e.lat,e.lng],icon:I,children:(0,r.jsx)(E,{direction:"top",offset:[0,-34],permanent:!0,children:(0,r.jsx)("span",{className:"text-[10px] font-medium",children:e.name.split("(")[0].trim()})})},e.name))]})}},75722:()=>{}}]);
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.