@opengeoweb/sigmet-airmet 5.2.1 → 6.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.js +708 -1081
- package/package.json +10 -8
- package/src/lib/components/MapViewGeoJson/MapViewGeoJson.d.ts +3 -11
- package/src/lib/components/MapViewGeoJson/constants.d.ts +3 -17
- package/src/lib/components/ProductForms/ProductFormFields/DrawTools.d.ts +4 -4
- package/src/lib/components/ProductForms/ProductFormFields/Progress.d.ts +7 -4
- package/src/lib/components/ProductForms/ProductFormFields/StartGeometry.d.ts +6 -4
- package/src/lib/components/ProductForms/ProductFormLayout.d.ts +3 -2
- package/src/lib/components/ProductForms/utils.d.ts +9 -3
- package/src/lib/types.d.ts +1 -25
- package/src/lib/utils/testUtils.d.ts +1 -0
- package/src/lib/components/MapViewGeoJson/utils.d.ts +0 -32
- package/src/lib/components/MapViewGeoJson/utils.spec.d.ts +0 -1
package/index.js
CHANGED
|
@@ -1,17 +1,18 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import React__default, { createContext, version, useContext, useRef, useCallback, useDebugValue, forwardRef, createElement, Fragment } from 'react';
|
|
3
|
-
import { Box as Box$2, Button,
|
|
3
|
+
import { FormControlLabel, Radio, Grid, Typography, Box as Box$2, Button, Checkbox, MenuItem, FormHelperText, useTheme as useTheme$2, Dialog, DialogTitle, DialogContent, Card, LinearProgress, List, ListItemButton, Backdrop, CircularProgress } from '@mui/material';
|
|
4
4
|
import { useFormContext } from 'react-hook-form';
|
|
5
5
|
import { useDraftFormHelpers, ReactHookFormRadioGroup, ReactHookFormSelect, ReactHookFormNumberField, isInteger, isValidMax, isValidMin, isEmpty, ReactHookFormDateTime, isValidDate, isBefore, isBetween, hasMaxFeaturePoints, hasMulitpleIntersections, ReactHookFormHiddenInput, isMaximumOneDrawing, hasIntersectionWithFIR, isValidGeoJsonCoordinates, isXHoursBefore, isAfter, isXHoursAfter, ReactHookFormTextField, isLatitude, isNonOrBothCoordinates, isLongitude, ReactHookFormFormControl, isGeometryDirty, ReactHookFormProvider, defaultFormOptions } from '@opengeoweb/form-fields';
|
|
6
6
|
import { useApiContext, useApi, createApiInstance, createNonAuthApiInstance, createFakeApiInstance, ApiProvider } from '@opengeoweb/api';
|
|
7
|
-
import
|
|
8
|
-
import {
|
|
7
|
+
import { defaultStyleProperties, defaultIntersectionStyleProperties, defaultPoint, defaultBox, defaultPolygon, DRAWMODE, addFeatureProperties, defaultDelete, MapControls, LayerManagerMapButtonConnect, LegendMapButtonConnect, MultiDimensionSelectMapButtonsConnect, MapViewConnect, MapViewLayer, TimeSliderConnect, LegendConnect, LayerManagerConnect, useMapDrawTool } from '@opengeoweb/core';
|
|
8
|
+
import { CustomTooltip, ToggleMenu, useIsMounted, StatusTag, AlertBanner, ConfirmationServiceProvider, usePreventBrowserClose, useConfirmationDialog, isAxiosError, getAxiosErrorMessage, usePoller, ErrorBoundary } from '@opengeoweb/shared';
|
|
9
9
|
import moment from 'moment';
|
|
10
|
-
import {
|
|
11
|
-
import { layerTypes, mapSelectors,
|
|
12
|
-
import {
|
|
10
|
+
import { polygonToLineString, booleanClockwise, rewind } from '@turf/turf';
|
|
11
|
+
import { layerTypes, mapSelectors, syncGroupsActions, mapStoreActions, defaultLayers, syncConstants } from '@opengeoweb/store';
|
|
12
|
+
import { DrawFIRLand, ChevronLeft, Edit, Success, Clock } from '@opengeoweb/theme';
|
|
13
13
|
import { debounce } from 'lodash';
|
|
14
14
|
import 'react-dom';
|
|
15
|
+
import { webmapUtils } from '@opengeoweb/webmap';
|
|
15
16
|
import { jsx } from 'react/jsx-runtime';
|
|
16
17
|
|
|
17
18
|
function _iterableToArrayLimit(arr, i) {
|
|
@@ -147,7 +148,10 @@ function _regeneratorRuntime() {
|
|
|
147
148
|
if ("executing" === state) throw new Error("Generator is already running");
|
|
148
149
|
if ("completed" === state) {
|
|
149
150
|
if ("throw" === method) throw arg;
|
|
150
|
-
return
|
|
151
|
+
return {
|
|
152
|
+
value: void 0,
|
|
153
|
+
done: !0
|
|
154
|
+
};
|
|
151
155
|
}
|
|
152
156
|
for (context.method = method, context.arg = arg;;) {
|
|
153
157
|
var delegate = context.delegate;
|
|
@@ -200,7 +204,7 @@ function _regeneratorRuntime() {
|
|
|
200
204
|
}], tryLocsList.forEach(pushTryEntry, this), this.reset(!0);
|
|
201
205
|
}
|
|
202
206
|
function values(iterable) {
|
|
203
|
-
if (iterable) {
|
|
207
|
+
if (iterable || "" === iterable) {
|
|
204
208
|
var iteratorMethod = iterable[iteratorSymbol];
|
|
205
209
|
if (iteratorMethod) return iteratorMethod.call(iterable);
|
|
206
210
|
if ("function" == typeof iterable.next) return iterable;
|
|
@@ -213,15 +217,7 @@ function _regeneratorRuntime() {
|
|
|
213
217
|
return next.next = next;
|
|
214
218
|
}
|
|
215
219
|
}
|
|
216
|
-
|
|
217
|
-
next: doneResult
|
|
218
|
-
};
|
|
219
|
-
}
|
|
220
|
-
function doneResult() {
|
|
221
|
-
return {
|
|
222
|
-
value: undefined,
|
|
223
|
-
done: !0
|
|
224
|
-
};
|
|
220
|
+
throw new TypeError(typeof iterable + " is not iterable");
|
|
225
221
|
}
|
|
226
222
|
return GeneratorFunction.prototype = GeneratorFunctionPrototype, defineProperty(Gp, "constructor", {
|
|
227
223
|
value: GeneratorFunctionPrototype,
|
|
@@ -414,8 +410,6 @@ function _toPropertyKey(arg) {
|
|
|
414
410
|
return typeof key === "symbol" ? key : String(key);
|
|
415
411
|
}
|
|
416
412
|
|
|
417
|
-
function n$5(n){for(var r=arguments.length,t=Array(r>1?r-1:0),e=1;e<r;e++)t[e-1]=arguments[e];if("production"!==process.env.NODE_ENV){var i=Y[n],o=i?"function"==typeof i?i.apply(null,t):i:"unknown error nr: "+n;throw Error("[Immer] "+o)}throw Error("[Immer] minified error nr: "+n+(t.length?" "+t.map((function(n){return "'"+n+"'"})).join(","):"")+". Find the full error at: https://bit.ly/3cXEKWf")}function r$5(n){return !!n&&!!n[Q]}function t$5(n){var r;return !!n&&(function(n){if(!n||"object"!=typeof n)return !1;var r=Object.getPrototypeOf(n);if(null===r)return !0;var t=Object.hasOwnProperty.call(r,"constructor")&&r.constructor;return t===Object||"function"==typeof t&&Function.toString.call(t)===Z}(n)||Array.isArray(n)||!!n[L]||!!(null===(r=n.constructor)||void 0===r?void 0:r[L])||s(n)||v$4(n))}function i(n,r,t){void 0===t&&(t=!1),0===o(n)?(t?Object.keys:nn)(n).forEach((function(e){t&&"symbol"==typeof e||r(e,n[e],n);})):n.forEach((function(t,e){return r(e,t,n)}));}function o(n){var r=n[Q];return r?r.i>3?r.i-4:r.i:Array.isArray(n)?1:s(n)?2:v$4(n)?3:0}function u$3(n,r){return 2===o(n)?n.has(r):Object.prototype.hasOwnProperty.call(n,r)}function a(n,r){return 2===o(n)?n.get(r):n[r]}function f$3(n,r,t){var e=o(n);2===e?n.set(r,t):3===e?n.add(t):n[r]=t;}function c$3(n,r){return n===r?0!==n||1/n==1/r:n!=n&&r!=r}function s(n){return X&&n instanceof Map}function v$4(n){return q$5&&n instanceof Set}function p$5(n){return n.o||n.t}function l$4(n){if(Array.isArray(n))return Array.prototype.slice.call(n);var r=rn(n);delete r[Q];for(var t=nn(r),e=0;e<t.length;e++){var i=t[e],o=r[i];!1===o.writable&&(o.writable=!0,o.configurable=!0),(o.get||o.set)&&(r[i]={configurable:!0,writable:!0,enumerable:o.enumerable,value:n[i]});}return Object.create(Object.getPrototypeOf(n),r)}function d$3(n,e){return void 0===e&&(e=!1),y$2(n)||r$5(n)||!t$5(n)||(o(n)>1&&(n.set=n.add=n.clear=n.delete=h$5),Object.freeze(n),e&&i(n,(function(n,r){return d$3(r,!0)}),!0)),n}function h$5(){n$5(2);}function y$2(n){return null==n||"object"!=typeof n||Object.isFrozen(n)}function b$3(r){var t=tn[r];return t||n$5(18,r),t}function _(){return "production"===process.env.NODE_ENV||U||n$5(0),U}function j(n,r){r&&(b$3("Patches"),n.u=[],n.s=[],n.v=r);}function g$3(n){O(n),n.p.forEach(S),n.p=null;}function O(n){n===U&&(U=n.l);}function w$3(n){return U={p:[],l:U,h:n,m:!0,_:0}}function S(n){var r=n[Q];0===r.i||1===r.i?r.j():r.g=!0;}function P(r,e){e._=e.p.length;var i=e.p[0],o=void 0!==r&&r!==i;return e.h.O||b$3("ES5").S(e,r,o),o?(i[Q].P&&(g$3(e),n$5(4)),t$5(r)&&(r=M(e,r),e.l||x$2(e,r)),e.u&&b$3("Patches").M(i[Q].t,r,e.u,e.s)):r=M(e,i,[]),g$3(e),e.u&&e.v(e.u,e.s),r!==H?r:void 0}function M(n,r,t){if(y$2(r))return r;var e=r[Q];if(!e)return i(r,(function(i,o){return A$2(n,e,r,i,o,t)}),!0),r;if(e.A!==n)return r;if(!e.P)return x$2(n,e.t,!0),e.t;if(!e.I){e.I=!0,e.A._--;var o=4===e.i||5===e.i?e.o=l$4(e.k):e.o,u=o,a=!1;3===e.i&&(u=new Set(o),o.clear(),a=!0),i(u,(function(r,i){return A$2(n,e,o,r,i,t,a)})),x$2(n,o,!1),t&&n.u&&b$3("Patches").N(e,t,n.u,n.s);}return e.o}function A$2(e,i,o,a,c,s,v){if("production"!==process.env.NODE_ENV&&c===o&&n$5(5),r$5(c)){var p=M(e,c,s&&i&&3!==i.i&&!u$3(i.R,a)?s.concat(a):void 0);if(f$3(o,a,p),!r$5(p))return;e.m=!1;}else v&&o.add(c);if(t$5(c)&&!y$2(c)){if(!e.h.D&&e._<1)return;M(e,c),i&&i.A.l||x$2(e,c);}}function x$2(n,r,t){void 0===t&&(t=!1),!n.l&&n.h.D&&n.m&&d$3(r,t);}function z$2(n,r){var t=n[Q];return (t?p$5(t):n)[r]}function I(n,r){if(r in n)for(var t=Object.getPrototypeOf(n);t;){var e=Object.getOwnPropertyDescriptor(t,r);if(e)return e;t=Object.getPrototypeOf(t);}}function k$4(n){n.P||(n.P=!0,n.l&&k$4(n.l));}function E(n){n.o||(n.o=l$4(n.t));}function N(n,r,t){var e=s(r)?b$3("MapSet").F(r,t):v$4(r)?b$3("MapSet").T(r,t):n.O?function(n,r){var t=Array.isArray(n),e={i:t?1:0,A:r?r.A:_(),P:!1,I:!1,R:{},l:r,t:n,k:null,o:null,j:null,C:!1},i=e,o=en;t&&(i=[e],o=on);var u=Proxy.revocable(i,o),a=u.revoke,f=u.proxy;return e.k=f,e.j=a,f}(r,t):b$3("ES5").J(r,t);return (t?t.A:_()).p.push(e),e}function R(e){return r$5(e)||n$5(22,e),function n(r){if(!t$5(r))return r;var e,u=r[Q],c=o(r);if(u){if(!u.P&&(u.i<4||!b$3("ES5").K(u)))return u.t;u.I=!0,e=D(r,c),u.I=!1;}else e=D(r,c);return i(e,(function(r,t){u&&a(u.t,r)===t||f$3(e,r,n(t));})),3===c?new Set(e):e}(e)}function D(n,r){switch(r){case 2:return new Map(n);case 3:return Array.from(n)}return l$4(n)}var G,U,W="undefined"!=typeof Symbol&&"symbol"==typeof Symbol("x"),X="undefined"!=typeof Map,q$5="undefined"!=typeof Set,B="undefined"!=typeof Proxy&&void 0!==Proxy.revocable&&"undefined"!=typeof Reflect,H=W?Symbol.for("immer-nothing"):((G={})["immer-nothing"]=!0,G),L=W?Symbol.for("immer-draftable"):"__$immer_draftable",Q=W?Symbol.for("immer-state"):"__$immer_state",Y={0:"Illegal state",1:"Immer drafts cannot have computed properties",2:"This object has been frozen and should not be mutated",3:function(n){return "Cannot use a proxy that has been revoked. Did you pass an object from inside an immer function to an async process? "+n},4:"An immer producer returned a new value *and* modified its draft. Either return a new value *or* modify the draft.",5:"Immer forbids circular references",6:"The first or second argument to `produce` must be a function",7:"The third argument to `produce` must be a function or undefined",8:"First argument to `createDraft` must be a plain object, an array, or an immerable object",9:"First argument to `finishDraft` must be a draft returned by `createDraft`",10:"The given draft is already finalized",11:"Object.defineProperty() cannot be used on an Immer draft",12:"Object.setPrototypeOf() cannot be used on an Immer draft",13:"Immer only supports deleting array indices",14:"Immer only supports setting array indices and the 'length' property",15:function(n){return "Cannot apply patch, path doesn't resolve: "+n},16:'Sets cannot have "replace" patches.',17:function(n){return "Unsupported patch operation: "+n},18:function(n){return "The plugin for '"+n+"' has not been loaded into Immer. To enable the plugin, import and call `enable"+n+"()` when initializing your application."},20:"Cannot use proxies if Proxy, Proxy.revocable or Reflect are not available",21:function(n){return "produce can only be called on things that are draftable: plain objects, arrays, Map, Set or classes that are marked with '[immerable]: true'. Got '"+n+"'"},22:function(n){return "'current' expects a draft, got: "+n},23:function(n){return "'original' expects a draft, got: "+n},24:"Patching reserved attributes like __proto__, prototype and constructor is not allowed"},Z=""+Object.prototype.constructor,nn="undefined"!=typeof Reflect&&Reflect.ownKeys?Reflect.ownKeys:void 0!==Object.getOwnPropertySymbols?function(n){return Object.getOwnPropertyNames(n).concat(Object.getOwnPropertySymbols(n))}:Object.getOwnPropertyNames,rn=Object.getOwnPropertyDescriptors||function(n){var r={};return nn(n).forEach((function(t){r[t]=Object.getOwnPropertyDescriptor(n,t);})),r},tn={},en={get:function(n,r){if(r===Q)return n;var e=p$5(n);if(!u$3(e,r))return function(n,r,t){var e,i=I(r,t);return i?"value"in i?i.value:null===(e=i.get)||void 0===e?void 0:e.call(n.k):void 0}(n,e,r);var i=e[r];return n.I||!t$5(i)?i:i===z$2(n.t,r)?(E(n),n.o[r]=N(n.A.h,i,n)):i},has:function(n,r){return r in p$5(n)},ownKeys:function(n){return Reflect.ownKeys(p$5(n))},set:function(n,r,t){var e=I(p$5(n),r);if(null==e?void 0:e.set)return e.set.call(n.k,t),!0;if(!n.P){var i=z$2(p$5(n),r),o=null==i?void 0:i[Q];if(o&&o.t===t)return n.o[r]=t,n.R[r]=!1,!0;if(c$3(t,i)&&(void 0!==t||u$3(n.t,r)))return !0;E(n),k$4(n);}return n.o[r]===t&&(void 0!==t||r in n.o)||Number.isNaN(t)&&Number.isNaN(n.o[r])||(n.o[r]=t,n.R[r]=!0),!0},deleteProperty:function(n,r){return void 0!==z$2(n.t,r)||r in n.t?(n.R[r]=!1,E(n),k$4(n)):delete n.R[r],n.o&&delete n.o[r],!0},getOwnPropertyDescriptor:function(n,r){var t=p$5(n),e=Reflect.getOwnPropertyDescriptor(t,r);return e?{writable:!0,configurable:1!==n.i||"length"!==r,enumerable:e.enumerable,value:t[r]}:e},defineProperty:function(){n$5(11);},getPrototypeOf:function(n){return Object.getPrototypeOf(n.t)},setPrototypeOf:function(){n$5(12);}},on={};i(en,(function(n,r){on[n]=function(){return arguments[0]=arguments[0][0],r.apply(this,arguments)};})),on.deleteProperty=function(r,t){return "production"!==process.env.NODE_ENV&&isNaN(parseInt(t))&&n$5(13),on.set.call(this,r,t,void 0)},on.set=function(r,t,e){return "production"!==process.env.NODE_ENV&&"length"!==t&&isNaN(parseInt(t))&&n$5(14),en.set.call(this,r[0],t,e,r[0])};var un=function(){function e(r){var e=this;this.O=B,this.D=!0,this.produce=function(r,i,o){if("function"==typeof r&&"function"!=typeof i){var u=i;i=r;var a=e;return function(n){var r=this;void 0===n&&(n=u);for(var t=arguments.length,e=Array(t>1?t-1:0),o=1;o<t;o++)e[o-1]=arguments[o];return a.produce(n,(function(n){var t;return (t=i).call.apply(t,[r,n].concat(e))}))}}var f;if("function"!=typeof i&&n$5(6),void 0!==o&&"function"!=typeof o&&n$5(7),t$5(r)){var c=w$3(e),s=N(e,r,void 0),v=!0;try{f=i(s),v=!1;}finally{v?g$3(c):O(c);}return "undefined"!=typeof Promise&&f instanceof Promise?f.then((function(n){return j(c,o),P(n,c)}),(function(n){throw g$3(c),n})):(j(c,o),P(f,c))}if(!r||"object"!=typeof r){if(void 0===(f=i(r))&&(f=r),f===H&&(f=void 0),e.D&&d$3(f,!0),o){var p=[],l=[];b$3("Patches").M(r,f,p,l),o(p,l);}return f}n$5(21,r);},this.produceWithPatches=function(n,r){if("function"==typeof n)return function(r){for(var t=arguments.length,i=Array(t>1?t-1:0),o=1;o<t;o++)i[o-1]=arguments[o];return e.produceWithPatches(r,(function(r){return n.apply(void 0,[r].concat(i))}))};var t,i,o=e.produce(n,r,(function(n,r){t=n,i=r;}));return "undefined"!=typeof Promise&&o instanceof Promise?o.then((function(n){return [n,t,i]})):[o,t,i]},"boolean"==typeof(null==r?void 0:r.useProxies)&&this.setUseProxies(r.useProxies),"boolean"==typeof(null==r?void 0:r.autoFreeze)&&this.setAutoFreeze(r.autoFreeze);}var i=e.prototype;return i.createDraft=function(e){t$5(e)||n$5(8),r$5(e)&&(e=R(e));var i=w$3(this),o=N(this,e,void 0);return o[Q].C=!0,O(i),o},i.finishDraft=function(r,t){var e=r&&r[Q];"production"!==process.env.NODE_ENV&&(e&&e.C||n$5(9),e.I&&n$5(10));var i=e.A;return j(i,t),P(void 0,i)},i.setAutoFreeze=function(n){this.D=n;},i.setUseProxies=function(r){r&&!B&&n$5(20),this.O=r;},i.applyPatches=function(n,t){var e;for(e=t.length-1;e>=0;e--){var i=t[e];if(0===i.path.length&&"replace"===i.op){n=i.value;break}}e>-1&&(t=t.slice(e+1));var o=b$3("Patches").$;return r$5(n)?o(n,t):this.produce(n,(function(n){return o(n,t)}))},e}(),an=new un,fn=an.produce;an.produceWithPatches.bind(an);an.setAutoFreeze.bind(an);an.setUseProxies.bind(an);an.applyPatches.bind(an);an.createDraft.bind(an);an.finishDraft.bind(an);
|
|
418
|
-
|
|
419
413
|
/**
|
|
420
414
|
* The possible phenomena for the sigmet
|
|
421
415
|
*/
|
|
@@ -551,217 +545,377 @@ var isInstanceOfSigmetOrAirmet = function isInstanceOfSigmetOrAirmet(obj) {
|
|
|
551
545
|
var isInstanceOfCancelSigmetOrAirmet = function isInstanceOfCancelSigmetOrAirmet(obj) {
|
|
552
546
|
return 'cancelsSigmetSequenceId' in obj || 'cancelsAirmetSequenceId' in obj;
|
|
553
547
|
};
|
|
554
|
-
var MapDrawMode;
|
|
555
|
-
(function (MapDrawMode) {
|
|
556
|
-
MapDrawMode["POINT"] = "POINT";
|
|
557
|
-
MapDrawMode["BOX"] = "BOX";
|
|
558
|
-
MapDrawMode["POLYGON"] = "POLYGON";
|
|
559
|
-
MapDrawMode["FIR"] = "FIR";
|
|
560
|
-
MapDrawMode["DELETE"] = "DELETE";
|
|
561
|
-
})(MapDrawMode || (MapDrawMode = {}));
|
|
562
548
|
var StartOrEndDrawing;
|
|
563
549
|
(function (StartOrEndDrawing) {
|
|
564
550
|
StartOrEndDrawing["start"] = "start";
|
|
565
551
|
StartOrEndDrawing["end"] = "end";
|
|
566
552
|
})(StartOrEndDrawing || (StartOrEndDrawing = {}));
|
|
567
553
|
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
554
|
+
/* *
|
|
555
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
556
|
+
* you may not use this file except in compliance with the License.
|
|
557
|
+
* You may obtain a copy of the License at
|
|
558
|
+
*
|
|
559
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
560
|
+
*
|
|
561
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
562
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
563
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
564
|
+
* See the License for the specific language governing permissions and
|
|
565
|
+
* limitations under the License.
|
|
566
|
+
*
|
|
567
|
+
* Copyright 2021 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
568
|
+
* Copyright 2021 - Finnish Meteorological Institute (FMI)
|
|
569
|
+
* */
|
|
570
|
+
var styles$2 = {
|
|
571
|
+
label: {
|
|
572
|
+
fontSize: '0.875rem',
|
|
573
|
+
marginTop: 2,
|
|
574
|
+
textAlign: 'right'
|
|
574
575
|
},
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
fill: '#f24a00',
|
|
582
|
-
'fill-opacity': 0.25
|
|
583
|
-
};
|
|
584
|
-
var featurePropsEnd = {
|
|
585
|
-
stroke: '#6e1e91',
|
|
586
|
-
'stroke-width': 1.5,
|
|
587
|
-
'stroke-opacity': 1,
|
|
588
|
-
fill: '#6e1e91',
|
|
589
|
-
'fill-opacity': 0.25
|
|
590
|
-
};
|
|
591
|
-
var featurePropsIntersectionStart = {
|
|
592
|
-
stroke: '#f24a00',
|
|
593
|
-
'stroke-width': 1.5,
|
|
594
|
-
'stroke-opacity': 1,
|
|
595
|
-
fill: '#f24a00',
|
|
596
|
-
'fill-opacity': 0.5
|
|
597
|
-
};
|
|
598
|
-
var featurePropsIntersectionEnd = {
|
|
599
|
-
stroke: '#6e1e91',
|
|
600
|
-
'stroke-width': 1.5,
|
|
601
|
-
'stroke-opacity': 1,
|
|
602
|
-
fill: '#6e1e91',
|
|
603
|
-
'fill-opacity': 0.5
|
|
604
|
-
};
|
|
605
|
-
var featurePropsFIR = {
|
|
606
|
-
stroke: '#0075a9',
|
|
607
|
-
'stroke-width': 1.5,
|
|
608
|
-
'stroke-opacity': 1,
|
|
609
|
-
fill: '#0075a9',
|
|
610
|
-
'fill-opacity': 0.0
|
|
611
|
-
};
|
|
612
|
-
var featurePropsUnStyled = {
|
|
613
|
-
stroke: '#FF0000',
|
|
614
|
-
'stroke-width': 10.0,
|
|
615
|
-
'stroke-opacity': 1,
|
|
616
|
-
fill: '#0000FF',
|
|
617
|
-
'fill-opacity': 1.0
|
|
618
|
-
};
|
|
619
|
-
var emptyPolygonGeoJSONStart = {
|
|
620
|
-
type: 'FeatureCollection',
|
|
621
|
-
features: [{
|
|
622
|
-
type: 'Feature',
|
|
623
|
-
properties: Object.assign(Object.assign({}, featurePropsUnStyled), {
|
|
624
|
-
selectionType: 'poly'
|
|
625
|
-
}),
|
|
626
|
-
geometry: {
|
|
627
|
-
type: 'Polygon',
|
|
628
|
-
coordinates: [[]]
|
|
629
|
-
}
|
|
630
|
-
}]
|
|
631
|
-
};
|
|
632
|
-
var emptyPolygonGeoJSONEnd = {
|
|
633
|
-
type: 'FeatureCollection',
|
|
634
|
-
features: [{
|
|
635
|
-
type: 'Feature',
|
|
636
|
-
properties: Object.assign(Object.assign({}, featurePropsUnStyled), {
|
|
637
|
-
selectionType: 'poly'
|
|
638
|
-
}),
|
|
639
|
-
geometry: {
|
|
640
|
-
type: 'Polygon',
|
|
641
|
-
coordinates: [[]]
|
|
642
|
-
}
|
|
643
|
-
}]
|
|
644
|
-
};
|
|
645
|
-
var emptyBoxGeoJSONStart = {
|
|
646
|
-
type: 'FeatureCollection',
|
|
647
|
-
features: [{
|
|
648
|
-
type: 'Feature',
|
|
649
|
-
properties: Object.assign({
|
|
650
|
-
_adaguctype: 'box',
|
|
651
|
-
selectionType: 'box'
|
|
652
|
-
}, featurePropsUnStyled),
|
|
653
|
-
geometry: {
|
|
654
|
-
type: 'Polygon',
|
|
655
|
-
coordinates: [[]]
|
|
656
|
-
}
|
|
657
|
-
}]
|
|
658
|
-
};
|
|
659
|
-
var emptyBoxGeoJSONEnd = {
|
|
660
|
-
type: 'FeatureCollection',
|
|
661
|
-
features: [{
|
|
662
|
-
type: 'Feature',
|
|
663
|
-
properties: Object.assign({
|
|
664
|
-
_adaguctype: 'box',
|
|
665
|
-
selectionType: 'box'
|
|
666
|
-
}, featurePropsUnStyled),
|
|
667
|
-
geometry: {
|
|
668
|
-
type: 'Polygon',
|
|
669
|
-
coordinates: [[]]
|
|
670
|
-
}
|
|
671
|
-
}]
|
|
672
|
-
};
|
|
673
|
-
var emptyPointsGeojsonStart = {
|
|
674
|
-
type: 'FeatureCollection',
|
|
675
|
-
features: [{
|
|
676
|
-
type: 'Feature',
|
|
677
|
-
properties: Object.assign(Object.assign({}, featurePropsUnStyled), {
|
|
678
|
-
selectionType: 'point'
|
|
679
|
-
}),
|
|
680
|
-
geometry: {
|
|
681
|
-
type: 'Point',
|
|
682
|
-
coordinates: []
|
|
683
|
-
}
|
|
684
|
-
}]
|
|
685
|
-
};
|
|
686
|
-
var emptyPointsGeojsonEnd = {
|
|
687
|
-
type: 'FeatureCollection',
|
|
688
|
-
features: [{
|
|
689
|
-
type: 'Feature',
|
|
690
|
-
properties: Object.assign(Object.assign({}, featurePropsUnStyled), {
|
|
691
|
-
selectionType: 'point'
|
|
692
|
-
}),
|
|
693
|
-
geometry: {
|
|
694
|
-
type: 'Point',
|
|
695
|
-
coordinates: []
|
|
576
|
+
body: {
|
|
577
|
+
paddingTop: '17px'
|
|
578
|
+
},
|
|
579
|
+
containerItem: {
|
|
580
|
+
' .MuiTypography-subtitle1': {
|
|
581
|
+
marginTop: 1
|
|
696
582
|
}
|
|
697
|
-
}]
|
|
698
|
-
};
|
|
699
|
-
var geoJSONTemplate = {
|
|
700
|
-
POINT: {
|
|
701
|
-
start: emptyPointsGeojsonStart,
|
|
702
|
-
end: emptyPointsGeojsonEnd
|
|
703
583
|
},
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
584
|
+
volcanicField: {
|
|
585
|
+
marginBottom: 2
|
|
586
|
+
},
|
|
587
|
+
surfaceVisibility: {
|
|
588
|
+
marginBottom: 2
|
|
589
|
+
},
|
|
590
|
+
surfaceWind: {
|
|
591
|
+
marginBottom: 2
|
|
592
|
+
},
|
|
593
|
+
levelField: {
|
|
594
|
+
marginBottom: 2
|
|
595
|
+
},
|
|
596
|
+
movement: {
|
|
597
|
+
marginBottom: 2
|
|
598
|
+
},
|
|
599
|
+
latitude: {
|
|
600
|
+
width: '97%'
|
|
601
|
+
},
|
|
602
|
+
unit: {
|
|
603
|
+
width: '95%'
|
|
604
|
+
},
|
|
605
|
+
quitDrawModeMessage: {
|
|
606
|
+
paddingBottom: '10px',
|
|
607
|
+
opacity: '1'
|
|
707
608
|
},
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
609
|
+
drawSection: {
|
|
610
|
+
'+ .MuiGrid-item': {
|
|
611
|
+
paddingTop: 5
|
|
612
|
+
},
|
|
613
|
+
' .MuiTypography-subtitle1': {
|
|
614
|
+
marginTop: 1
|
|
615
|
+
}
|
|
711
616
|
},
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
617
|
+
helperText: {
|
|
618
|
+
' .MuiFormHelperText-root': {
|
|
619
|
+
position: 'absolute',
|
|
620
|
+
top: 56,
|
|
621
|
+
'&.Mui-error': {
|
|
622
|
+
top: 'auto',
|
|
623
|
+
position: 'relative'
|
|
624
|
+
}
|
|
625
|
+
}
|
|
715
626
|
}
|
|
716
627
|
};
|
|
717
628
|
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
var
|
|
757
|
-
|
|
629
|
+
/******************************************************************************
|
|
630
|
+
Copyright (c) Microsoft Corporation.
|
|
631
|
+
|
|
632
|
+
Permission to use, copy, modify, and/or distribute this software for any
|
|
633
|
+
purpose with or without fee is hereby granted.
|
|
634
|
+
|
|
635
|
+
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
|
636
|
+
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
637
|
+
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
638
|
+
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
639
|
+
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
640
|
+
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
641
|
+
PERFORMANCE OF THIS SOFTWARE.
|
|
642
|
+
***************************************************************************** */
|
|
643
|
+
|
|
644
|
+
function __rest(s, e) {
|
|
645
|
+
var t = {};
|
|
646
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
647
|
+
t[p] = s[p];
|
|
648
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
649
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
650
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
651
|
+
t[p[i]] = s[p[i]];
|
|
652
|
+
}
|
|
653
|
+
return t;
|
|
654
|
+
}
|
|
655
|
+
|
|
656
|
+
function __awaiter(thisArg, _arguments, P, generator) {
|
|
657
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
658
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
659
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
660
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
661
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
662
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
663
|
+
});
|
|
664
|
+
}
|
|
665
|
+
|
|
666
|
+
// A version of a radio button with label where the label and surrounding white space is not clickable
|
|
667
|
+
var RadioButtonAndLabel = function RadioButtonAndLabel(props) {
|
|
668
|
+
var value = props.value,
|
|
669
|
+
label = props.label,
|
|
670
|
+
_props$disabled = props.disabled,
|
|
671
|
+
disabled = _props$disabled === void 0 ? true : _props$disabled,
|
|
672
|
+
restProps = __rest(props, ["value", "label", "disabled"]);
|
|
673
|
+
return /*#__PURE__*/React__default.createElement(FormControlLabel, Object.assign({
|
|
674
|
+
style: {
|
|
675
|
+
pointerEvents: 'none'
|
|
676
|
+
},
|
|
677
|
+
value: value,
|
|
678
|
+
control: /*#__PURE__*/React__default.createElement(Radio, {
|
|
679
|
+
style: {
|
|
680
|
+
pointerEvents: 'auto'
|
|
681
|
+
}
|
|
682
|
+
}),
|
|
683
|
+
label: label,
|
|
684
|
+
disabled: disabled
|
|
685
|
+
}, restProps));
|
|
758
686
|
};
|
|
759
|
-
|
|
760
|
-
|
|
687
|
+
|
|
688
|
+
var ProductFormFieldLayout = function ProductFormFieldLayout(_a) {
|
|
689
|
+
var title = _a.title,
|
|
690
|
+
children = _a.children,
|
|
691
|
+
props = __rest(_a, ["title", "children"]);
|
|
692
|
+
return /*#__PURE__*/React__default.createElement(Grid, Object.assign({
|
|
693
|
+
item: true,
|
|
694
|
+
container: true,
|
|
695
|
+
spacing: 3
|
|
696
|
+
}, props), /*#__PURE__*/React__default.createElement(Grid, {
|
|
697
|
+
item: true,
|
|
698
|
+
xs: 4,
|
|
699
|
+
container: true,
|
|
700
|
+
justifyContent: "flex-end"
|
|
701
|
+
}, title && /*#__PURE__*/React__default.createElement(Typography, {
|
|
702
|
+
variant: "subtitle1",
|
|
703
|
+
sx: styles$2.label
|
|
704
|
+
}, title)), /*#__PURE__*/React__default.createElement(Grid, {
|
|
705
|
+
item: true,
|
|
706
|
+
xs: 8,
|
|
707
|
+
container: true,
|
|
708
|
+
justifyContent: "flex-start"
|
|
709
|
+
}, children));
|
|
761
710
|
};
|
|
762
|
-
|
|
763
|
-
|
|
764
|
-
|
|
711
|
+
|
|
712
|
+
/* *
|
|
713
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
714
|
+
* you may not use this file except in compliance with the License.
|
|
715
|
+
* You may obtain a copy of the License at
|
|
716
|
+
*
|
|
717
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
718
|
+
*
|
|
719
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
720
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
721
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
722
|
+
* See the License for the specific language governing permissions and
|
|
723
|
+
* limitations under the License.
|
|
724
|
+
*
|
|
725
|
+
* Copyright 2022 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
726
|
+
* Copyright 2022 - Finnish Meteorological Institute (FMI)
|
|
727
|
+
* */
|
|
728
|
+
var Change = function Change(_ref) {
|
|
729
|
+
var isDisabled = _ref.isDisabled,
|
|
730
|
+
isReadOnly = _ref.isReadOnly;
|
|
731
|
+
var _useDraftFormHelpers = useDraftFormHelpers(),
|
|
732
|
+
isRequired = _useDraftFormHelpers.isRequired;
|
|
733
|
+
return /*#__PURE__*/React__default.createElement(ProductFormFieldLayout, {
|
|
734
|
+
title: "Change",
|
|
735
|
+
sx: styles$2.containerItem
|
|
736
|
+
}, /*#__PURE__*/React__default.createElement(Grid, {
|
|
737
|
+
item: true,
|
|
738
|
+
xs: 12
|
|
739
|
+
}, /*#__PURE__*/React__default.createElement(ReactHookFormRadioGroup, {
|
|
740
|
+
name: "change",
|
|
741
|
+
rules: {
|
|
742
|
+
validate: {
|
|
743
|
+
isRequired: isRequired
|
|
744
|
+
}
|
|
745
|
+
},
|
|
746
|
+
disabled: isDisabled,
|
|
747
|
+
isReadOnly: isReadOnly
|
|
748
|
+
}, /*#__PURE__*/React__default.createElement(RadioButtonAndLabel, {
|
|
749
|
+
value: "WKN",
|
|
750
|
+
label: "Weakening",
|
|
751
|
+
disabled: isDisabled,
|
|
752
|
+
"data-testid": "change-WKN"
|
|
753
|
+
}), /*#__PURE__*/React__default.createElement(RadioButtonAndLabel, {
|
|
754
|
+
value: "NC",
|
|
755
|
+
label: "No change",
|
|
756
|
+
disabled: isDisabled,
|
|
757
|
+
"data-testid": "change-NC"
|
|
758
|
+
}), /*#__PURE__*/React__default.createElement(RadioButtonAndLabel, {
|
|
759
|
+
value: "INTSF",
|
|
760
|
+
label: "Intensifying",
|
|
761
|
+
disabled: isDisabled,
|
|
762
|
+
"data-testid": "change-INTSF"
|
|
763
|
+
}))));
|
|
764
|
+
};
|
|
765
|
+
|
|
766
|
+
/* *
|
|
767
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
768
|
+
* you may not use this file except in compliance with the License.
|
|
769
|
+
* You may obtain a copy of the License at
|
|
770
|
+
*
|
|
771
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
772
|
+
*
|
|
773
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
774
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
775
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
776
|
+
* See the License for the specific language governing permissions and
|
|
777
|
+
* limitations under the License.
|
|
778
|
+
*
|
|
779
|
+
* Copyright 2023 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
780
|
+
* Copyright 2023 - Finnish Meteorological Institute (FMI)
|
|
781
|
+
* */
|
|
782
|
+
var styles$1 = {
|
|
783
|
+
radioInput: {
|
|
784
|
+
padding: 1,
|
|
785
|
+
borderRadius: '5px',
|
|
786
|
+
backgroundColor: 'geowebColors.buttons.tool.default.fill',
|
|
787
|
+
color: 'geowebColors.buttons.tool.default.color',
|
|
788
|
+
'&.Mui-checked': {
|
|
789
|
+
backgroundColor: 'geowebColors.buttons.primary.default.fill',
|
|
790
|
+
color: 'geowebColors.buttons.primary.default.color'
|
|
791
|
+
}
|
|
792
|
+
}
|
|
793
|
+
};
|
|
794
|
+
var DrawTools = function DrawTools(_ref) {
|
|
795
|
+
var activeTool = _ref.activeTool,
|
|
796
|
+
tools = _ref.tools,
|
|
797
|
+
onChangeTool = _ref.onChangeTool;
|
|
798
|
+
return /*#__PURE__*/React__default.createElement(Grid, {
|
|
799
|
+
item: true,
|
|
800
|
+
xs: 12,
|
|
801
|
+
container: true,
|
|
802
|
+
justifyContent: "space-between",
|
|
803
|
+
"data-testid": "drawtools",
|
|
804
|
+
spacing: 1
|
|
805
|
+
}, tools.map(function (tool) {
|
|
806
|
+
return /*#__PURE__*/React__default.createElement(Grid, {
|
|
807
|
+
key: tool.id,
|
|
808
|
+
item: true
|
|
809
|
+
}, /*#__PURE__*/React__default.createElement(CustomTooltip, {
|
|
810
|
+
title: tool.title
|
|
811
|
+
}, /*#__PURE__*/React__default.createElement(Radio, {
|
|
812
|
+
icon: tool.icon,
|
|
813
|
+
value: true,
|
|
814
|
+
checkedIcon: tool.icon,
|
|
815
|
+
checked: tool.isSelectable && activeTool === tool.id,
|
|
816
|
+
onChange: function onChange() {
|
|
817
|
+
onChangeTool(tool);
|
|
818
|
+
},
|
|
819
|
+
"data-testid": tool.id,
|
|
820
|
+
sx: styles$1.radioInput
|
|
821
|
+
})));
|
|
822
|
+
}));
|
|
823
|
+
};
|
|
824
|
+
|
|
825
|
+
function n$5(n){for(var r=arguments.length,t=Array(r>1?r-1:0),e=1;e<r;e++)t[e-1]=arguments[e];if("production"!==process.env.NODE_ENV){var i=Y[n],o=i?"function"==typeof i?i.apply(null,t):i:"unknown error nr: "+n;throw Error("[Immer] "+o)}throw Error("[Immer] minified error nr: "+n+(t.length?" "+t.map((function(n){return "'"+n+"'"})).join(","):"")+". Find the full error at: https://bit.ly/3cXEKWf")}function r$5(n){return !!n&&!!n[Q]}function t$5(n){var r;return !!n&&(function(n){if(!n||"object"!=typeof n)return !1;var r=Object.getPrototypeOf(n);if(null===r)return !0;var t=Object.hasOwnProperty.call(r,"constructor")&&r.constructor;return t===Object||"function"==typeof t&&Function.toString.call(t)===Z}(n)||Array.isArray(n)||!!n[L]||!!(null===(r=n.constructor)||void 0===r?void 0:r[L])||s(n)||v$4(n))}function i(n,r,t){void 0===t&&(t=!1),0===o(n)?(t?Object.keys:nn)(n).forEach((function(e){t&&"symbol"==typeof e||r(e,n[e],n);})):n.forEach((function(t,e){return r(e,t,n)}));}function o(n){var r=n[Q];return r?r.i>3?r.i-4:r.i:Array.isArray(n)?1:s(n)?2:v$4(n)?3:0}function u$3(n,r){return 2===o(n)?n.has(r):Object.prototype.hasOwnProperty.call(n,r)}function a(n,r){return 2===o(n)?n.get(r):n[r]}function f$3(n,r,t){var e=o(n);2===e?n.set(r,t):3===e?n.add(t):n[r]=t;}function c$3(n,r){return n===r?0!==n||1/n==1/r:n!=n&&r!=r}function s(n){return X&&n instanceof Map}function v$4(n){return q$5&&n instanceof Set}function p$5(n){return n.o||n.t}function l$4(n){if(Array.isArray(n))return Array.prototype.slice.call(n);var r=rn(n);delete r[Q];for(var t=nn(r),e=0;e<t.length;e++){var i=t[e],o=r[i];!1===o.writable&&(o.writable=!0,o.configurable=!0),(o.get||o.set)&&(r[i]={configurable:!0,writable:!0,enumerable:o.enumerable,value:n[i]});}return Object.create(Object.getPrototypeOf(n),r)}function d$3(n,e){return void 0===e&&(e=!1),y$2(n)||r$5(n)||!t$5(n)||(o(n)>1&&(n.set=n.add=n.clear=n.delete=h$5),Object.freeze(n),e&&i(n,(function(n,r){return d$3(r,!0)}),!0)),n}function h$5(){n$5(2);}function y$2(n){return null==n||"object"!=typeof n||Object.isFrozen(n)}function b$3(r){var t=tn[r];return t||n$5(18,r),t}function _(){return "production"===process.env.NODE_ENV||U||n$5(0),U}function j(n,r){r&&(b$3("Patches"),n.u=[],n.s=[],n.v=r);}function g$3(n){O(n),n.p.forEach(S),n.p=null;}function O(n){n===U&&(U=n.l);}function w$3(n){return U={p:[],l:U,h:n,m:!0,_:0}}function S(n){var r=n[Q];0===r.i||1===r.i?r.j():r.g=!0;}function P(r,e){e._=e.p.length;var i=e.p[0],o=void 0!==r&&r!==i;return e.h.O||b$3("ES5").S(e,r,o),o?(i[Q].P&&(g$3(e),n$5(4)),t$5(r)&&(r=M(e,r),e.l||x$2(e,r)),e.u&&b$3("Patches").M(i[Q].t,r,e.u,e.s)):r=M(e,i,[]),g$3(e),e.u&&e.v(e.u,e.s),r!==H?r:void 0}function M(n,r,t){if(y$2(r))return r;var e=r[Q];if(!e)return i(r,(function(i,o){return A$2(n,e,r,i,o,t)}),!0),r;if(e.A!==n)return r;if(!e.P)return x$2(n,e.t,!0),e.t;if(!e.I){e.I=!0,e.A._--;var o=4===e.i||5===e.i?e.o=l$4(e.k):e.o,u=o,a=!1;3===e.i&&(u=new Set(o),o.clear(),a=!0),i(u,(function(r,i){return A$2(n,e,o,r,i,t,a)})),x$2(n,o,!1),t&&n.u&&b$3("Patches").N(e,t,n.u,n.s);}return e.o}function A$2(e,i,o,a,c,s,v){if("production"!==process.env.NODE_ENV&&c===o&&n$5(5),r$5(c)){var p=M(e,c,s&&i&&3!==i.i&&!u$3(i.R,a)?s.concat(a):void 0);if(f$3(o,a,p),!r$5(p))return;e.m=!1;}else v&&o.add(c);if(t$5(c)&&!y$2(c)){if(!e.h.D&&e._<1)return;M(e,c),i&&i.A.l||x$2(e,c);}}function x$2(n,r,t){void 0===t&&(t=!1),!n.l&&n.h.D&&n.m&&d$3(r,t);}function z$2(n,r){var t=n[Q];return (t?p$5(t):n)[r]}function I(n,r){if(r in n)for(var t=Object.getPrototypeOf(n);t;){var e=Object.getOwnPropertyDescriptor(t,r);if(e)return e;t=Object.getPrototypeOf(t);}}function k$4(n){n.P||(n.P=!0,n.l&&k$4(n.l));}function E(n){n.o||(n.o=l$4(n.t));}function N(n,r,t){var e=s(r)?b$3("MapSet").F(r,t):v$4(r)?b$3("MapSet").T(r,t):n.O?function(n,r){var t=Array.isArray(n),e={i:t?1:0,A:r?r.A:_(),P:!1,I:!1,R:{},l:r,t:n,k:null,o:null,j:null,C:!1},i=e,o=en;t&&(i=[e],o=on);var u=Proxy.revocable(i,o),a=u.revoke,f=u.proxy;return e.k=f,e.j=a,f}(r,t):b$3("ES5").J(r,t);return (t?t.A:_()).p.push(e),e}function R(e){return r$5(e)||n$5(22,e),function n(r){if(!t$5(r))return r;var e,u=r[Q],c=o(r);if(u){if(!u.P&&(u.i<4||!b$3("ES5").K(u)))return u.t;u.I=!0,e=D(r,c),u.I=!1;}else e=D(r,c);return i(e,(function(r,t){u&&a(u.t,r)===t||f$3(e,r,n(t));})),3===c?new Set(e):e}(e)}function D(n,r){switch(r){case 2:return new Map(n);case 3:return Array.from(n)}return l$4(n)}var G,U,W="undefined"!=typeof Symbol&&"symbol"==typeof Symbol("x"),X="undefined"!=typeof Map,q$5="undefined"!=typeof Set,B="undefined"!=typeof Proxy&&void 0!==Proxy.revocable&&"undefined"!=typeof Reflect,H=W?Symbol.for("immer-nothing"):((G={})["immer-nothing"]=!0,G),L=W?Symbol.for("immer-draftable"):"__$immer_draftable",Q=W?Symbol.for("immer-state"):"__$immer_state",Y={0:"Illegal state",1:"Immer drafts cannot have computed properties",2:"This object has been frozen and should not be mutated",3:function(n){return "Cannot use a proxy that has been revoked. Did you pass an object from inside an immer function to an async process? "+n},4:"An immer producer returned a new value *and* modified its draft. Either return a new value *or* modify the draft.",5:"Immer forbids circular references",6:"The first or second argument to `produce` must be a function",7:"The third argument to `produce` must be a function or undefined",8:"First argument to `createDraft` must be a plain object, an array, or an immerable object",9:"First argument to `finishDraft` must be a draft returned by `createDraft`",10:"The given draft is already finalized",11:"Object.defineProperty() cannot be used on an Immer draft",12:"Object.setPrototypeOf() cannot be used on an Immer draft",13:"Immer only supports deleting array indices",14:"Immer only supports setting array indices and the 'length' property",15:function(n){return "Cannot apply patch, path doesn't resolve: "+n},16:'Sets cannot have "replace" patches.',17:function(n){return "Unsupported patch operation: "+n},18:function(n){return "The plugin for '"+n+"' has not been loaded into Immer. To enable the plugin, import and call `enable"+n+"()` when initializing your application."},20:"Cannot use proxies if Proxy, Proxy.revocable or Reflect are not available",21:function(n){return "produce can only be called on things that are draftable: plain objects, arrays, Map, Set or classes that are marked with '[immerable]: true'. Got '"+n+"'"},22:function(n){return "'current' expects a draft, got: "+n},23:function(n){return "'original' expects a draft, got: "+n},24:"Patching reserved attributes like __proto__, prototype and constructor is not allowed"},Z=""+Object.prototype.constructor,nn="undefined"!=typeof Reflect&&Reflect.ownKeys?Reflect.ownKeys:void 0!==Object.getOwnPropertySymbols?function(n){return Object.getOwnPropertyNames(n).concat(Object.getOwnPropertySymbols(n))}:Object.getOwnPropertyNames,rn=Object.getOwnPropertyDescriptors||function(n){var r={};return nn(n).forEach((function(t){r[t]=Object.getOwnPropertyDescriptor(n,t);})),r},tn={},en={get:function(n,r){if(r===Q)return n;var e=p$5(n);if(!u$3(e,r))return function(n,r,t){var e,i=I(r,t);return i?"value"in i?i.value:null===(e=i.get)||void 0===e?void 0:e.call(n.k):void 0}(n,e,r);var i=e[r];return n.I||!t$5(i)?i:i===z$2(n.t,r)?(E(n),n.o[r]=N(n.A.h,i,n)):i},has:function(n,r){return r in p$5(n)},ownKeys:function(n){return Reflect.ownKeys(p$5(n))},set:function(n,r,t){var e=I(p$5(n),r);if(null==e?void 0:e.set)return e.set.call(n.k,t),!0;if(!n.P){var i=z$2(p$5(n),r),o=null==i?void 0:i[Q];if(o&&o.t===t)return n.o[r]=t,n.R[r]=!1,!0;if(c$3(t,i)&&(void 0!==t||u$3(n.t,r)))return !0;E(n),k$4(n);}return n.o[r]===t&&(void 0!==t||r in n.o)||Number.isNaN(t)&&Number.isNaN(n.o[r])||(n.o[r]=t,n.R[r]=!0),!0},deleteProperty:function(n,r){return void 0!==z$2(n.t,r)||r in n.t?(n.R[r]=!1,E(n),k$4(n)):delete n.R[r],n.o&&delete n.o[r],!0},getOwnPropertyDescriptor:function(n,r){var t=p$5(n),e=Reflect.getOwnPropertyDescriptor(t,r);return e?{writable:!0,configurable:1!==n.i||"length"!==r,enumerable:e.enumerable,value:t[r]}:e},defineProperty:function(){n$5(11);},getPrototypeOf:function(n){return Object.getPrototypeOf(n.t)},setPrototypeOf:function(){n$5(12);}},on={};i(en,(function(n,r){on[n]=function(){return arguments[0]=arguments[0][0],r.apply(this,arguments)};})),on.deleteProperty=function(r,t){return "production"!==process.env.NODE_ENV&&isNaN(parseInt(t))&&n$5(13),on.set.call(this,r,t,void 0)},on.set=function(r,t,e){return "production"!==process.env.NODE_ENV&&"length"!==t&&isNaN(parseInt(t))&&n$5(14),en.set.call(this,r[0],t,e,r[0])};var un=function(){function e(r){var e=this;this.O=B,this.D=!0,this.produce=function(r,i,o){if("function"==typeof r&&"function"!=typeof i){var u=i;i=r;var a=e;return function(n){var r=this;void 0===n&&(n=u);for(var t=arguments.length,e=Array(t>1?t-1:0),o=1;o<t;o++)e[o-1]=arguments[o];return a.produce(n,(function(n){var t;return (t=i).call.apply(t,[r,n].concat(e))}))}}var f;if("function"!=typeof i&&n$5(6),void 0!==o&&"function"!=typeof o&&n$5(7),t$5(r)){var c=w$3(e),s=N(e,r,void 0),v=!0;try{f=i(s),v=!1;}finally{v?g$3(c):O(c);}return "undefined"!=typeof Promise&&f instanceof Promise?f.then((function(n){return j(c,o),P(n,c)}),(function(n){throw g$3(c),n})):(j(c,o),P(f,c))}if(!r||"object"!=typeof r){if(void 0===(f=i(r))&&(f=r),f===H&&(f=void 0),e.D&&d$3(f,!0),o){var p=[],l=[];b$3("Patches").M(r,f,p,l),o(p,l);}return f}n$5(21,r);},this.produceWithPatches=function(n,r){if("function"==typeof n)return function(r){for(var t=arguments.length,i=Array(t>1?t-1:0),o=1;o<t;o++)i[o-1]=arguments[o];return e.produceWithPatches(r,(function(r){return n.apply(void 0,[r].concat(i))}))};var t,i,o=e.produce(n,r,(function(n,r){t=n,i=r;}));return "undefined"!=typeof Promise&&o instanceof Promise?o.then((function(n){return [n,t,i]})):[o,t,i]},"boolean"==typeof(null==r?void 0:r.useProxies)&&this.setUseProxies(r.useProxies),"boolean"==typeof(null==r?void 0:r.autoFreeze)&&this.setAutoFreeze(r.autoFreeze);}var i=e.prototype;return i.createDraft=function(e){t$5(e)||n$5(8),r$5(e)&&(e=R(e));var i=w$3(this),o=N(this,e,void 0);return o[Q].C=!0,O(i),o},i.finishDraft=function(r,t){var e=r&&r[Q];"production"!==process.env.NODE_ENV&&(e&&e.C||n$5(9),e.I&&n$5(10));var i=e.A;return j(i,t),P(void 0,i)},i.setAutoFreeze=function(n){this.D=n;},i.setUseProxies=function(r){r&&!B&&n$5(20),this.O=r;},i.applyPatches=function(n,t){var e;for(e=t.length-1;e>=0;e--){var i=t[e];if(0===i.path.length&&"replace"===i.op){n=i.value;break}}e>-1&&(t=t.slice(e+1));var o=b$3("Patches").$;return r$5(n)?o(n,t):this.produce(n,(function(n){return o(n,t)}))},e}(),an=new un,fn=an.produce;an.produceWithPatches.bind(an);an.setAutoFreeze.bind(an);an.setUseProxies.bind(an);an.applyPatches.bind(an);an.createDraft.bind(an);an.finishDraft.bind(an);
|
|
826
|
+
|
|
827
|
+
/* *
|
|
828
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
829
|
+
* you may not use this file except in compliance with the License.
|
|
830
|
+
* You may obtain a copy of the License at
|
|
831
|
+
*
|
|
832
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
833
|
+
*
|
|
834
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
835
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
836
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
837
|
+
* See the License for the specific language governing permissions and
|
|
838
|
+
* limitations under the License.
|
|
839
|
+
*
|
|
840
|
+
* Copyright 2023 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
841
|
+
* Copyright 2023 - Finnish Meteorological Institute (FMI)
|
|
842
|
+
* */
|
|
843
|
+
var srsAndBboxDefault = {
|
|
844
|
+
bbox: {
|
|
845
|
+
left: -911501,
|
|
846
|
+
right: 3738819,
|
|
847
|
+
top: 11688874,
|
|
848
|
+
bottom: 5930186
|
|
849
|
+
},
|
|
850
|
+
srs: 'EPSG:3857'
|
|
851
|
+
};
|
|
852
|
+
var featurePropsStart = defaultStyleProperties;
|
|
853
|
+
var featurePropsEnd = {
|
|
854
|
+
stroke: '#6e1e91',
|
|
855
|
+
'stroke-width': 1.5,
|
|
856
|
+
'stroke-opacity': 1,
|
|
857
|
+
fill: '#6e1e91',
|
|
858
|
+
'fill-opacity': 0.25
|
|
859
|
+
};
|
|
860
|
+
var featurePropsIntersectionStart = defaultIntersectionStyleProperties;
|
|
861
|
+
var featurePropsIntersectionEnd = Object.assign(Object.assign({}, featurePropsEnd), {
|
|
862
|
+
'fill-opacity': 0.5
|
|
863
|
+
});
|
|
864
|
+
var featurePropsFIR = {
|
|
865
|
+
stroke: '#0075a9',
|
|
866
|
+
'stroke-width': 1.5,
|
|
867
|
+
'stroke-opacity': 1,
|
|
868
|
+
fill: '#0075a9',
|
|
869
|
+
'fill-opacity': 0.0
|
|
870
|
+
};
|
|
871
|
+
|
|
872
|
+
var getHoursBeforeValidity = function getHoursBeforeValidity(phenomenon, fir, config) {
|
|
873
|
+
if (!fir) {
|
|
874
|
+
return 4;
|
|
875
|
+
}
|
|
876
|
+
var _config$fir_areas$fir = config.fir_areas[fir],
|
|
877
|
+
hours_before_validity = _config$fir_areas$fir.hours_before_validity,
|
|
878
|
+
va_hours_before_validity = _config$fir_areas$fir.va_hours_before_validity,
|
|
879
|
+
tc_hours_before_validity = _config$fir_areas$fir.tc_hours_before_validity;
|
|
880
|
+
switch (phenomenon) {
|
|
881
|
+
// Tropical Cyclone
|
|
882
|
+
case 'TC':
|
|
883
|
+
return tc_hours_before_validity;
|
|
884
|
+
// Volcanic ash cloud
|
|
885
|
+
case 'VA_CLD':
|
|
886
|
+
return va_hours_before_validity;
|
|
887
|
+
default:
|
|
888
|
+
return hours_before_validity;
|
|
889
|
+
}
|
|
890
|
+
};
|
|
891
|
+
var getMaxHoursOfValidity = function getMaxHoursOfValidity(phenomenon, fir, config) {
|
|
892
|
+
if (!fir) {
|
|
893
|
+
return 4;
|
|
894
|
+
}
|
|
895
|
+
var _config$fir_areas$fir2 = config.fir_areas[fir],
|
|
896
|
+
max_hours_of_validity = _config$fir_areas$fir2.max_hours_of_validity,
|
|
897
|
+
va_max_hours_of_validity = _config$fir_areas$fir2.va_max_hours_of_validity,
|
|
898
|
+
tc_max_hours_of_validity = _config$fir_areas$fir2.tc_max_hours_of_validity;
|
|
899
|
+
switch (phenomenon) {
|
|
900
|
+
// Tropical Cyclone
|
|
901
|
+
case 'TC':
|
|
902
|
+
return tc_max_hours_of_validity;
|
|
903
|
+
// Volcanic ash cloud
|
|
904
|
+
case 'VA_CLD':
|
|
905
|
+
return va_max_hours_of_validity;
|
|
906
|
+
default:
|
|
907
|
+
return max_hours_of_validity;
|
|
908
|
+
}
|
|
909
|
+
};
|
|
910
|
+
var getValidFromDelayTimeMinutesFromConfig = function getValidFromDelayTimeMinutesFromConfig(config) {
|
|
911
|
+
return config.valid_from_delay_minutes;
|
|
912
|
+
};
|
|
913
|
+
var getDefaultValidityMinutesFromConfig = function getDefaultValidityMinutesFromConfig(config) {
|
|
914
|
+
return config.default_validity_minutes;
|
|
915
|
+
};
|
|
916
|
+
var getFirArea = function getFirArea(selectedFIR, productConfig) {
|
|
917
|
+
// If no FIR selected or FIR doesn't exist in list, select first FIR
|
|
918
|
+
return selectedFIR && productConfig.fir_areas[selectedFIR] !== undefined ? selectedFIR : productConfig.active_firs[0];
|
|
765
919
|
};
|
|
766
920
|
var getActiveFIRArea = function getActiveFIRArea(selectedFIR, productConfig) {
|
|
767
921
|
var FIR = getFirArea(selectedFIR, productConfig);
|
|
@@ -982,10 +1136,10 @@ var prepareFormValues = function prepareFormValues(product) {
|
|
|
982
1136
|
}
|
|
983
1137
|
// remove geometry if empty coordinates
|
|
984
1138
|
if (key === 'endGeometry' || key === 'endGeometryIntersect' || key === 'startGeometry' || key === 'startGeometryIntersect') {
|
|
985
|
-
if ((value === null || value === void 0 ? void 0 : value.features[0].geometry.type) === 'Polygon' && (value === null || value === void 0 ? void 0 : value.features[0].geometry.coordinates[0].length)) {
|
|
1139
|
+
if ((value === null || value === void 0 ? void 0 : value.features.length) > 0 && (value === null || value === void 0 ? void 0 : value.features[0].geometry.type) === 'Polygon' && (value === null || value === void 0 ? void 0 : value.features[0].geometry.coordinates[0].length)) {
|
|
986
1140
|
return Object.assign(Object.assign({}, list), _defineProperty({}, key, value));
|
|
987
1141
|
}
|
|
988
|
-
if ((value === null || value === void 0 ? void 0 : value.features[0].geometry.type) === 'Point' && (value === null || value === void 0 ? void 0 : value.features[0].geometry.coordinates.length)) {
|
|
1142
|
+
if ((value === null || value === void 0 ? void 0 : value.features.length) > 0 && (value === null || value === void 0 ? void 0 : value.features[0].geometry.type) === 'Point' && (value === null || value === void 0 ? void 0 : value.features[0].geometry.coordinates.length)) {
|
|
989
1143
|
return Object.assign(Object.assign({}, list), _defineProperty({}, key, value));
|
|
990
1144
|
}
|
|
991
1145
|
return list;
|
|
@@ -1107,602 +1261,97 @@ var getFir = function getFir(productConfig, firName) {
|
|
|
1107
1261
|
var currentFIRName = firName || productConfig.active_firs[0];
|
|
1108
1262
|
return productConfig.fir_areas[currentFIRName].fir_location;
|
|
1109
1263
|
};
|
|
1110
|
-
/**
|
|
1111
|
-
* Function to check if the given geojson object has 'fir' selectionType property
|
|
1112
|
-
*/
|
|
1113
|
-
var isFir = function isFir(geojson) {
|
|
1114
|
-
return geojson && geojson.features && geojson.features[0].properties['selectionType'] === 'fir';
|
|
1115
|
-
};
|
|
1116
|
-
var rewindGeometry = function rewindGeometry(geoJSON) {
|
|
1117
|
-
return fn(geoJSON, function (geoJSONDraft) {
|
|
1118
|
-
if (geoJSONDraft && geoJSONDraft.features[0].geometry.type === 'Polygon' && geoJSONDraft.features[0].geometry.coordinates[0].length > 1) {
|
|
1119
|
-
var geometry = geoJSON.features[0].geometry;
|
|
1120
|
-
var lineString = polygonToLineString(geometry);
|
|
1121
|
-
if (booleanClockwise(lineString.geometry.coordinates)) {
|
|
1122
|
-
// eslint-disable-next-line no-param-reassign
|
|
1123
|
-
geoJSONDraft.features[0].geometry = rewind(geoJSONDraft.features[0].geometry);
|
|
1124
|
-
}
|
|
1125
|
-
}
|
|
1126
|
-
});
|
|
1127
|
-
};
|
|
1128
|
-
var getFieldLabel = function getFieldLabel(title, isDisabled) {
|
|
1129
|
-
var action = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'Select';
|
|
1130
|
-
return isDisabled ? title : "".concat(action, " ").concat(title.toLowerCase());
|
|
1131
|
-
};
|
|
1132
|
-
var getBaseLayers = function getBaseLayers(productConfig) {
|
|
1133
|
-
var _a, _b;
|
|
1134
|
-
return ((_b = (_a = productConfig.mapPreset) === null || _a === void 0 ? void 0 : _a.layers) === null || _b === void 0 ? void 0 : _b.filter(function (layer) {
|
|
1135
|
-
return layer.layerType === layerTypes.LayerType.baseLayer || layer.layerType === layerTypes.LayerType.overLayer;
|
|
1136
|
-
})) || [];
|
|
1137
|
-
};
|
|
1138
|
-
var getMaxMovementSpeedValue = function getMaxMovementSpeedValue(unit, selectedFIR, productConfig) {
|
|
1139
|
-
var _getActiveFIRArea11 = getActiveFIRArea(selectedFIR, productConfig),
|
|
1140
|
-
movement_max = _getActiveFIRArea11.movement_max;
|
|
1141
|
-
// Return max value for selected unit - if not present in list, return null
|
|
1142
|
-
return movement_max !== undefined && movement_max[unit] ? movement_max[unit] : null;
|
|
1143
|
-
};
|
|
1144
|
-
var DEFAULT_MIN_MOVEMENT_SPEED = 0;
|
|
1145
|
-
var getMinMovementSpeedValue = function getMinMovementSpeedValue(unit, selectedFIR, productConfig) {
|
|
1146
|
-
var _getActiveFIRArea12 = getActiveFIRArea(selectedFIR, productConfig),
|
|
1147
|
-
movement_min = _getActiveFIRArea12.movement_min;
|
|
1148
|
-
// Return min value for selected unit - if not present in list, return DEFAULT_MIN_MOVEMENT_SPEED (zero, no negative speeds)
|
|
1149
|
-
return movement_min !== undefined && movement_min[unit] ? movement_min[unit] : DEFAULT_MIN_MOVEMENT_SPEED;
|
|
1150
|
-
};
|
|
1151
|
-
/** Trigger form validations for given list of field names if field has a value */
|
|
1152
|
-
var triggerValidations = function triggerValidations(fieldNames, getValues, trigger) {
|
|
1153
|
-
fieldNames.forEach(function (field) {
|
|
1154
|
-
var value = getValues(field);
|
|
1155
|
-
if (value || value === 0) {
|
|
1156
|
-
trigger(field);
|
|
1157
|
-
}
|
|
1158
|
-
});
|
|
1159
|
-
};
|
|
1160
|
-
var getProjection = function getProjection(productConfig) {
|
|
1161
|
-
var _a;
|
|
1162
|
-
return ((_a = productConfig.mapPreset) === null || _a === void 0 ? void 0 : _a.proj) || undefined;
|
|
1163
|
-
};
|
|
1164
|
-
|
|
1165
|
-
var getDrawModeFromSelectionType = function getDrawModeFromSelectionType(selectionType) {
|
|
1166
|
-
switch (selectionType) {
|
|
1167
|
-
case 'point':
|
|
1168
|
-
return MapDrawMode.POINT;
|
|
1169
|
-
case 'box':
|
|
1170
|
-
return MapDrawMode.BOX;
|
|
1171
|
-
case 'fir':
|
|
1172
|
-
return MapDrawMode.FIR;
|
|
1173
|
-
case 'poly':
|
|
1174
|
-
default:
|
|
1175
|
-
return MapDrawMode.POLYGON;
|
|
1176
|
-
}
|
|
1177
|
-
};
|
|
1178
|
-
/**
|
|
1179
|
-
* Adds properties to the first geojson feature based on the given property object.
|
|
1180
|
-
* It only extends or changes the properties which are defined in styleConfig,
|
|
1181
|
-
* all other properties in the geojson are left unchanged.
|
|
1182
|
-
* @param geojson
|
|
1183
|
-
* @param featureProperties
|
|
1184
|
-
*/
|
|
1185
|
-
var addFeatureProperties = function addFeatureProperties(geojson, featureProperties) {
|
|
1186
|
-
if (!geojson) {
|
|
1187
|
-
return null;
|
|
1188
|
-
}
|
|
1189
|
-
return fn(geojson, function (draft) {
|
|
1190
|
-
if (draft.features && draft.features.length > 0 && draft.features[0].properties) {
|
|
1191
|
-
Object.keys(featureProperties).forEach(function (key) {
|
|
1192
|
-
draft.features[0].properties[key] = featureProperties[key];
|
|
1193
|
-
});
|
|
1194
|
-
}
|
|
1195
|
-
});
|
|
1196
|
-
};
|
|
1197
|
-
var getInitialGeoJSONState = function getInitialGeoJSONState(productConfig, currentSelectedFIR, initialGeometry) {
|
|
1198
|
-
var startGeometry = initialGeometry && initialGeometry.start ? initialGeometry.start : geoJSONTemplate['BOX']['start'];
|
|
1199
|
-
var endGeometry = initialGeometry && initialGeometry.end ? initialGeometry.end : geoJSONTemplate['BOX']['end'];
|
|
1200
|
-
return {
|
|
1201
|
-
start: addFeatureProperties(startGeometry, featurePropsStart),
|
|
1202
|
-
end: addFeatureProperties(endGeometry, featurePropsEnd),
|
|
1203
|
-
intersectionStart: addFeatureProperties(initialGeometry === null || initialGeometry === void 0 ? void 0 : initialGeometry.intersectionStart, featurePropsIntersectionStart),
|
|
1204
|
-
intersectionEnd: addFeatureProperties(initialGeometry === null || initialGeometry === void 0 ? void 0 : initialGeometry.intersectionEnd, featurePropsIntersectionEnd),
|
|
1205
|
-
fir: addFeatureProperties(getFir(productConfig, currentSelectedFIR), featurePropsFIR)
|
|
1206
|
-
};
|
|
1207
|
-
};
|
|
1208
|
-
var useDrawMode = function useDrawMode(productConfig, initialGeometry, currentSelectedFIR) {
|
|
1209
|
-
var getInitialLayerDrawModes = function getInitialLayerDrawModes(startorEnd) {
|
|
1210
|
-
return initialGeometry && initialGeometry[startorEnd] ? getDrawModeFromSelectionType(initialGeometry[startorEnd].features[0].properties.selectionType) : null;
|
|
1211
|
-
};
|
|
1212
|
-
/* For the radio buttons */
|
|
1213
|
-
var _React$useState = React.useState({
|
|
1214
|
-
start: null,
|
|
1215
|
-
end: null
|
|
1216
|
-
}),
|
|
1217
|
-
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
1218
|
-
drawMode = _React$useState2[0],
|
|
1219
|
-
setDrawMode = _React$useState2[1];
|
|
1220
|
-
/* Drawmode for the layers */
|
|
1221
|
-
var _React$useState3 = React.useState({
|
|
1222
|
-
start: getInitialLayerDrawModes('start'),
|
|
1223
|
-
end: getInitialLayerDrawModes('end')
|
|
1224
|
-
}),
|
|
1225
|
-
_React$useState4 = _slicedToArray(_React$useState3, 2),
|
|
1226
|
-
layerDrawModes = _React$useState4[0],
|
|
1227
|
-
setLayersDrawModes = _React$useState4[1];
|
|
1228
|
-
/* GeoJSONs for the layers */
|
|
1229
|
-
var _React$useState5 = React.useState(function () {
|
|
1230
|
-
return getInitialGeoJSONState(productConfig, currentSelectedFIR, initialGeometry);
|
|
1231
|
-
}),
|
|
1232
|
-
_React$useState6 = _slicedToArray(_React$useState5, 2),
|
|
1233
|
-
geoJSONs = _React$useState6[0],
|
|
1234
|
-
setLayerGeoJSONs = _React$useState6[1];
|
|
1235
|
-
/**
|
|
1236
|
-
*
|
|
1237
|
-
* @param mapDrawMode Can be 'POINT' | 'BOX' | 'POLYGON' | 'FIR' | 'DELETE'
|
|
1238
|
-
* @param startOrEnd Can be 'start' | 'end'
|
|
1239
|
-
*/
|
|
1240
|
-
var setDrawModeType = function setDrawModeType(mapDrawMode, startOrEnd, updateCallback) {
|
|
1241
|
-
var newGeoJSONDrawMode = Object.assign({}, layerDrawModes);
|
|
1242
|
-
var featureStyleProperties = startOrEnd === StartOrEndDrawing.start ? featurePropsStart : featurePropsEnd;
|
|
1243
|
-
/* Switch on the mapdrawmode type for either start or end */
|
|
1244
|
-
switch (mapDrawMode) {
|
|
1245
|
-
/* Set draw modes point, box, polygon for either start or end layer */
|
|
1246
|
-
case MapDrawMode.POINT:
|
|
1247
|
-
case MapDrawMode.BOX:
|
|
1248
|
-
case MapDrawMode.POLYGON:
|
|
1249
|
-
{
|
|
1250
|
-
if (newGeoJSONDrawMode[startOrEnd] !== mapDrawMode) {
|
|
1251
|
-
/* Set for either start or end GeoJSON; key is the same as in the MapDrawMode ENUM */
|
|
1252
|
-
var cleanGeoJSON = fn(geoJSONs, function (draft) {
|
|
1253
|
-
draft[startOrEnd] = addFeatureProperties(geoJSONTemplate[mapDrawMode][startOrEnd], featureStyleProperties);
|
|
1254
|
-
});
|
|
1255
|
-
setLayerGeoJSONs(createInterSections(cleanGeoJSON));
|
|
1256
|
-
}
|
|
1257
|
-
newGeoJSONDrawMode[startOrEnd] = mapDrawMode;
|
|
1258
|
-
setLayersDrawModes(newGeoJSONDrawMode);
|
|
1259
|
-
setDrawMode(startOrEnd === StartOrEndDrawing.start ? {
|
|
1260
|
-
start: mapDrawMode,
|
|
1261
|
-
end: null
|
|
1262
|
-
} : {
|
|
1263
|
-
start: null,
|
|
1264
|
-
end: mapDrawMode
|
|
1265
|
-
});
|
|
1266
|
-
break;
|
|
1267
|
-
}
|
|
1268
|
-
/* Set complete fir for either start or end layer */
|
|
1269
|
-
case MapDrawMode.FIR:
|
|
1270
|
-
{
|
|
1271
|
-
newGeoJSONDrawMode[startOrEnd] = mapDrawMode;
|
|
1272
|
-
var _cleanGeoJSON = fn(geoJSONs, function (draft) {
|
|
1273
|
-
draft[startOrEnd] = addFeatureProperties(getFir(productConfig, currentSelectedFIR), Object.assign(Object.assign({}, featureStyleProperties), {
|
|
1274
|
-
selectionType: 'fir'
|
|
1275
|
-
}));
|
|
1276
|
-
});
|
|
1277
|
-
setDrawMode({
|
|
1278
|
-
start: null,
|
|
1279
|
-
end: null
|
|
1280
|
-
});
|
|
1281
|
-
setLayersDrawModes(newGeoJSONDrawMode);
|
|
1282
|
-
var intersections = createInterSections(_cleanGeoJSON);
|
|
1283
|
-
setLayerGeoJSONs(intersections);
|
|
1284
|
-
if (updateCallback) {
|
|
1285
|
-
updateCallback(intersections);
|
|
1286
|
-
}
|
|
1287
|
-
break;
|
|
1288
|
-
}
|
|
1289
|
-
/* Clear the map for either start or end layer */
|
|
1290
|
-
case MapDrawMode.DELETE:
|
|
1291
|
-
{
|
|
1292
|
-
var newDrawMode = Object.assign({}, drawMode);
|
|
1293
|
-
newDrawMode[startOrEnd] = null;
|
|
1294
|
-
setDrawMode(newDrawMode);
|
|
1295
|
-
switch (newGeoJSONDrawMode[startOrEnd]) {
|
|
1296
|
-
case MapDrawMode.POINT:
|
|
1297
|
-
case MapDrawMode.BOX:
|
|
1298
|
-
{
|
|
1299
|
-
var _cleanGeoJSON2 = fn(geoJSONs, function (draft) {
|
|
1300
|
-
draft[startOrEnd] = addFeatureProperties(geoJSONTemplate[newGeoJSONDrawMode[startOrEnd]][startOrEnd], featureStyleProperties);
|
|
1301
|
-
});
|
|
1302
|
-
var _intersections = createInterSections(_cleanGeoJSON2);
|
|
1303
|
-
setLayerGeoJSONs(_intersections);
|
|
1304
|
-
if (updateCallback) {
|
|
1305
|
-
updateCallback(_intersections);
|
|
1306
|
-
}
|
|
1307
|
-
break;
|
|
1308
|
-
}
|
|
1309
|
-
default:
|
|
1310
|
-
{
|
|
1311
|
-
var _cleanGeoJSON3 = fn(geoJSONs, function (draft) {
|
|
1312
|
-
draft[startOrEnd] = addFeatureProperties(geoJSONTemplate['POLYGON'][startOrEnd], featureStyleProperties);
|
|
1313
|
-
});
|
|
1314
|
-
var _intersections2 = createInterSections(_cleanGeoJSON3);
|
|
1315
|
-
setLayerGeoJSONs(_intersections2);
|
|
1316
|
-
if (updateCallback) {
|
|
1317
|
-
updateCallback(_intersections2);
|
|
1318
|
-
}
|
|
1319
|
-
break;
|
|
1320
|
-
}
|
|
1321
|
-
}
|
|
1322
|
-
break;
|
|
1323
|
-
}
|
|
1324
|
-
}
|
|
1325
|
-
};
|
|
1326
|
-
return {
|
|
1327
|
-
drawMode: drawMode,
|
|
1328
|
-
setDrawMode: setDrawMode,
|
|
1329
|
-
layerDrawModes: layerDrawModes,
|
|
1330
|
-
setLayersDrawModes: setLayersDrawModes,
|
|
1331
|
-
geoJSONs: geoJSONs,
|
|
1332
|
-
setLayerGeoJSONs: setLayerGeoJSONs,
|
|
1333
|
-
setDrawModeType: setDrawModeType
|
|
1334
|
-
};
|
|
1335
|
-
};
|
|
1336
|
-
/**
|
|
1337
|
-
* Returns the intersection of two features. In case of a polygon, only the first feature is used.
|
|
1338
|
-
* @param a Feature A
|
|
1339
|
-
* @param b Feature B
|
|
1340
|
-
* @returns The intersection of the two features.
|
|
1341
|
-
*/
|
|
1342
|
-
var intersectGeoJSONS = function intersectGeoJSONS(a, b) {
|
|
1343
|
-
var featureA = turf.feature(a.features[0].geometry);
|
|
1344
|
-
var featureB = turf.feature(b.features[0].geometry);
|
|
1345
|
-
var options = {
|
|
1346
|
-
tolerance: 0.001,
|
|
1347
|
-
highQuality: true
|
|
1348
|
-
};
|
|
1349
|
-
var simplifiedA = turf.simplify(featureA, options);
|
|
1350
|
-
var simplifiedB = turf.simplify(featureB, options);
|
|
1351
|
-
var intersection = turf.intersect(simplifiedA, simplifiedB);
|
|
1352
|
-
return addFeatureProperties({
|
|
1353
|
-
type: 'FeatureCollection',
|
|
1354
|
-
features: intersection === null ? [{
|
|
1355
|
-
type: 'Feature',
|
|
1356
|
-
properties: {
|
|
1357
|
-
selectionType: 'poly'
|
|
1358
|
-
},
|
|
1359
|
-
geometry: {
|
|
1360
|
-
type: 'Polygon',
|
|
1361
|
-
coordinates: [[]]
|
|
1362
|
-
}
|
|
1363
|
-
}] : [intersection]
|
|
1364
|
-
}, featurePropsUnStyled);
|
|
1365
|
-
};
|
|
1366
|
-
/**
|
|
1367
|
-
* Adds the intersectionStart and intersectionEnd properties to the GeoJSONS structure
|
|
1368
|
-
* @param geoJSONs
|
|
1369
|
-
* @returns GeoJSONS extend with intersections
|
|
1370
|
-
*/
|
|
1371
|
-
var createInterSections = function createInterSections(geoJSONs) {
|
|
1372
|
-
var intersections = fn(geoJSONs, function (draft) {
|
|
1373
|
-
try {
|
|
1374
|
-
draft.intersectionStart = addFeatureProperties(intersectGeoJSONS(geoJSONs.start, geoJSONs.fir), featurePropsIntersectionStart);
|
|
1375
|
-
} catch (e) {
|
|
1376
|
-
draft.intersectionStart = addFeatureProperties(geoJSONs.start, featurePropsIntersectionStart);
|
|
1377
|
-
}
|
|
1378
|
-
try {
|
|
1379
|
-
draft.intersectionEnd = addFeatureProperties(intersectGeoJSONS(geoJSONs.end, geoJSONs.fir), featurePropsIntersectionEnd);
|
|
1380
|
-
} catch (e) {
|
|
1381
|
-
draft.intersectionEnd = addFeatureProperties(geoJSONs.end, featurePropsIntersectionEnd);
|
|
1382
|
-
}
|
|
1383
|
-
});
|
|
1384
|
-
return intersections;
|
|
1385
|
-
};
|
|
1386
|
-
|
|
1387
|
-
/* *
|
|
1388
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
1389
|
-
* you may not use this file except in compliance with the License.
|
|
1390
|
-
* You may obtain a copy of the License at
|
|
1391
|
-
*
|
|
1392
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
1393
|
-
*
|
|
1394
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
1395
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
1396
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1397
|
-
* See the License for the specific language governing permissions and
|
|
1398
|
-
* limitations under the License.
|
|
1399
|
-
*
|
|
1400
|
-
* Copyright 2021 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
1401
|
-
* Copyright 2021 - Finnish Meteorological Institute (FMI)
|
|
1402
|
-
* */
|
|
1403
|
-
var styles$2 = {
|
|
1404
|
-
label: {
|
|
1405
|
-
fontSize: '0.875rem',
|
|
1406
|
-
marginTop: 2,
|
|
1407
|
-
textAlign: 'right'
|
|
1408
|
-
},
|
|
1409
|
-
body: {
|
|
1410
|
-
paddingTop: '17px'
|
|
1411
|
-
},
|
|
1412
|
-
containerItem: {
|
|
1413
|
-
' .MuiTypography-subtitle1': {
|
|
1414
|
-
marginTop: 1
|
|
1415
|
-
}
|
|
1416
|
-
},
|
|
1417
|
-
volcanicField: {
|
|
1418
|
-
marginBottom: 2
|
|
1419
|
-
},
|
|
1420
|
-
surfaceVisibility: {
|
|
1421
|
-
marginBottom: 2
|
|
1422
|
-
},
|
|
1423
|
-
surfaceWind: {
|
|
1424
|
-
marginBottom: 2
|
|
1425
|
-
},
|
|
1426
|
-
levelField: {
|
|
1427
|
-
marginBottom: 2
|
|
1428
|
-
},
|
|
1429
|
-
movement: {
|
|
1430
|
-
marginBottom: 2
|
|
1431
|
-
},
|
|
1432
|
-
latitude: {
|
|
1433
|
-
width: '97%'
|
|
1434
|
-
},
|
|
1435
|
-
unit: {
|
|
1436
|
-
width: '95%'
|
|
1437
|
-
},
|
|
1438
|
-
quitDrawModeMessage: {
|
|
1439
|
-
paddingBottom: '10px',
|
|
1440
|
-
opacity: '1'
|
|
1441
|
-
},
|
|
1442
|
-
drawSection: {
|
|
1443
|
-
'+ .MuiGrid-item': {
|
|
1444
|
-
paddingTop: 5
|
|
1445
|
-
},
|
|
1446
|
-
' .MuiTypography-subtitle1': {
|
|
1447
|
-
marginTop: 1
|
|
1448
|
-
}
|
|
1449
|
-
},
|
|
1450
|
-
helperText: {
|
|
1451
|
-
' .MuiFormHelperText-root': {
|
|
1452
|
-
position: 'absolute',
|
|
1453
|
-
top: 56,
|
|
1454
|
-
'&.Mui-error': {
|
|
1455
|
-
top: 'auto',
|
|
1456
|
-
position: 'relative'
|
|
1457
|
-
}
|
|
1458
|
-
}
|
|
1459
|
-
}
|
|
1460
|
-
};
|
|
1461
|
-
|
|
1462
|
-
/******************************************************************************
|
|
1463
|
-
Copyright (c) Microsoft Corporation.
|
|
1464
|
-
|
|
1465
|
-
Permission to use, copy, modify, and/or distribute this software for any
|
|
1466
|
-
purpose with or without fee is hereby granted.
|
|
1467
|
-
|
|
1468
|
-
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
|
1469
|
-
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
1470
|
-
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
1471
|
-
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
1472
|
-
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
1473
|
-
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
1474
|
-
PERFORMANCE OF THIS SOFTWARE.
|
|
1475
|
-
***************************************************************************** */
|
|
1476
|
-
|
|
1477
|
-
function __rest(s, e) {
|
|
1478
|
-
var t = {};
|
|
1479
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
1480
|
-
t[p] = s[p];
|
|
1481
|
-
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
1482
|
-
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
1483
|
-
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
1484
|
-
t[p[i]] = s[p[i]];
|
|
1485
|
-
}
|
|
1486
|
-
return t;
|
|
1487
|
-
}
|
|
1488
|
-
|
|
1489
|
-
function __awaiter(thisArg, _arguments, P, generator) {
|
|
1490
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
1491
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
1492
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
1493
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
1494
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
1495
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
1496
|
-
});
|
|
1497
|
-
}
|
|
1498
|
-
|
|
1499
|
-
// A version of a radio button with label where the label and surrounding white space is not clickable
|
|
1500
|
-
var RadioButtonAndLabel = function RadioButtonAndLabel(props) {
|
|
1501
|
-
var value = props.value,
|
|
1502
|
-
label = props.label,
|
|
1503
|
-
_props$disabled = props.disabled,
|
|
1504
|
-
disabled = _props$disabled === void 0 ? true : _props$disabled,
|
|
1505
|
-
restProps = __rest(props, ["value", "label", "disabled"]);
|
|
1506
|
-
return /*#__PURE__*/React__default.createElement(FormControlLabel, Object.assign({
|
|
1507
|
-
style: {
|
|
1508
|
-
pointerEvents: 'none'
|
|
1509
|
-
},
|
|
1510
|
-
value: value,
|
|
1511
|
-
control: /*#__PURE__*/React__default.createElement(Radio, {
|
|
1512
|
-
style: {
|
|
1513
|
-
pointerEvents: 'auto'
|
|
1514
|
-
}
|
|
1515
|
-
}),
|
|
1516
|
-
label: label,
|
|
1517
|
-
disabled: disabled
|
|
1518
|
-
}, restProps));
|
|
1519
|
-
};
|
|
1520
|
-
|
|
1521
|
-
var ProductFormFieldLayout = function ProductFormFieldLayout(_a) {
|
|
1522
|
-
var title = _a.title,
|
|
1523
|
-
children = _a.children,
|
|
1524
|
-
props = __rest(_a, ["title", "children"]);
|
|
1525
|
-
return /*#__PURE__*/React__default.createElement(Grid, Object.assign({
|
|
1526
|
-
item: true,
|
|
1527
|
-
container: true,
|
|
1528
|
-
spacing: 3
|
|
1529
|
-
}, props), /*#__PURE__*/React__default.createElement(Grid, {
|
|
1530
|
-
item: true,
|
|
1531
|
-
xs: 4,
|
|
1532
|
-
container: true,
|
|
1533
|
-
justifyContent: "flex-end"
|
|
1534
|
-
}, title && /*#__PURE__*/React__default.createElement(Typography, {
|
|
1535
|
-
variant: "subtitle1",
|
|
1536
|
-
sx: styles$2.label
|
|
1537
|
-
}, title)), /*#__PURE__*/React__default.createElement(Grid, {
|
|
1538
|
-
item: true,
|
|
1539
|
-
xs: 8,
|
|
1540
|
-
container: true,
|
|
1541
|
-
justifyContent: "flex-start"
|
|
1542
|
-
}, children));
|
|
1264
|
+
/**
|
|
1265
|
+
* Function to check if the given geojson object has 'fir' selectionType property
|
|
1266
|
+
*/
|
|
1267
|
+
var isFir = function isFir(geojson) {
|
|
1268
|
+
return geojson && geojson.features && geojson.features.length > 0 && geojson.features[0].properties['selectionType'] === 'fir';
|
|
1543
1269
|
};
|
|
1544
|
-
|
|
1545
|
-
|
|
1546
|
-
|
|
1547
|
-
|
|
1548
|
-
|
|
1549
|
-
|
|
1550
|
-
|
|
1551
|
-
|
|
1552
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
1553
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
1554
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1555
|
-
* See the License for the specific language governing permissions and
|
|
1556
|
-
* limitations under the License.
|
|
1557
|
-
*
|
|
1558
|
-
* Copyright 2022 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
1559
|
-
* Copyright 2022 - Finnish Meteorological Institute (FMI)
|
|
1560
|
-
* */
|
|
1561
|
-
var Change = function Change(_ref) {
|
|
1562
|
-
var isDisabled = _ref.isDisabled,
|
|
1563
|
-
isReadOnly = _ref.isReadOnly;
|
|
1564
|
-
var _useDraftFormHelpers = useDraftFormHelpers(),
|
|
1565
|
-
isRequired = _useDraftFormHelpers.isRequired;
|
|
1566
|
-
return /*#__PURE__*/React__default.createElement(ProductFormFieldLayout, {
|
|
1567
|
-
title: "Change",
|
|
1568
|
-
sx: styles$2.containerItem
|
|
1569
|
-
}, /*#__PURE__*/React__default.createElement(Grid, {
|
|
1570
|
-
item: true,
|
|
1571
|
-
xs: 12
|
|
1572
|
-
}, /*#__PURE__*/React__default.createElement(ReactHookFormRadioGroup, {
|
|
1573
|
-
name: "change",
|
|
1574
|
-
rules: {
|
|
1575
|
-
validate: {
|
|
1576
|
-
isRequired: isRequired
|
|
1270
|
+
var rewindGeometry = function rewindGeometry(geoJSON) {
|
|
1271
|
+
return fn(geoJSON, function (geoJSONDraft) {
|
|
1272
|
+
if (geoJSONDraft && geoJSONDraft.features.length > 0 && geoJSONDraft.features[0].geometry.type === 'Polygon' && geoJSONDraft.features[0].geometry.coordinates[0].length > 1) {
|
|
1273
|
+
var geometry = geoJSON.features[0].geometry;
|
|
1274
|
+
var lineString = polygonToLineString(geometry);
|
|
1275
|
+
if (booleanClockwise(lineString.geometry.coordinates)) {
|
|
1276
|
+
// eslint-disable-next-line no-param-reassign
|
|
1277
|
+
geoJSONDraft.features[0].geometry = rewind(geoJSONDraft.features[0].geometry);
|
|
1577
1278
|
}
|
|
1578
|
-
}
|
|
1579
|
-
|
|
1580
|
-
isReadOnly: isReadOnly
|
|
1581
|
-
}, /*#__PURE__*/React__default.createElement(RadioButtonAndLabel, {
|
|
1582
|
-
value: "WKN",
|
|
1583
|
-
label: "Weakening",
|
|
1584
|
-
disabled: isDisabled,
|
|
1585
|
-
"data-testid": "change-WKN"
|
|
1586
|
-
}), /*#__PURE__*/React__default.createElement(RadioButtonAndLabel, {
|
|
1587
|
-
value: "NC",
|
|
1588
|
-
label: "No change",
|
|
1589
|
-
disabled: isDisabled,
|
|
1590
|
-
"data-testid": "change-NC"
|
|
1591
|
-
}), /*#__PURE__*/React__default.createElement(RadioButtonAndLabel, {
|
|
1592
|
-
value: "INTSF",
|
|
1593
|
-
label: "Intensifying",
|
|
1594
|
-
disabled: isDisabled,
|
|
1595
|
-
"data-testid": "change-INTSF"
|
|
1596
|
-
}))));
|
|
1279
|
+
}
|
|
1280
|
+
});
|
|
1597
1281
|
};
|
|
1598
|
-
|
|
1599
|
-
|
|
1600
|
-
|
|
1601
|
-
|
|
1602
|
-
|
|
1603
|
-
|
|
1604
|
-
|
|
1605
|
-
|
|
1606
|
-
|
|
1607
|
-
|
|
1608
|
-
|
|
1609
|
-
|
|
1610
|
-
|
|
1611
|
-
|
|
1612
|
-
|
|
1613
|
-
|
|
1614
|
-
|
|
1615
|
-
var
|
|
1616
|
-
|
|
1617
|
-
|
|
1618
|
-
|
|
1619
|
-
|
|
1620
|
-
|
|
1621
|
-
|
|
1622
|
-
|
|
1623
|
-
|
|
1282
|
+
var getFieldLabel = function getFieldLabel(title, isDisabled) {
|
|
1283
|
+
var action = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'Select';
|
|
1284
|
+
return isDisabled ? title : "".concat(action, " ").concat(title.toLowerCase());
|
|
1285
|
+
};
|
|
1286
|
+
var getBaseLayers = function getBaseLayers(productConfig) {
|
|
1287
|
+
var _a, _b;
|
|
1288
|
+
return ((_b = (_a = productConfig.mapPreset) === null || _a === void 0 ? void 0 : _a.layers) === null || _b === void 0 ? void 0 : _b.filter(function (layer) {
|
|
1289
|
+
return layer.layerType === layerTypes.LayerType.baseLayer || layer.layerType === layerTypes.LayerType.overLayer;
|
|
1290
|
+
})) || [];
|
|
1291
|
+
};
|
|
1292
|
+
var getMaxMovementSpeedValue = function getMaxMovementSpeedValue(unit, selectedFIR, productConfig) {
|
|
1293
|
+
var _getActiveFIRArea11 = getActiveFIRArea(selectedFIR, productConfig),
|
|
1294
|
+
movement_max = _getActiveFIRArea11.movement_max;
|
|
1295
|
+
// Return max value for selected unit - if not present in list, return null
|
|
1296
|
+
return movement_max !== undefined && movement_max[unit] ? movement_max[unit] : null;
|
|
1297
|
+
};
|
|
1298
|
+
var DEFAULT_MIN_MOVEMENT_SPEED = 0;
|
|
1299
|
+
var getMinMovementSpeedValue = function getMinMovementSpeedValue(unit, selectedFIR, productConfig) {
|
|
1300
|
+
var _getActiveFIRArea12 = getActiveFIRArea(selectedFIR, productConfig),
|
|
1301
|
+
movement_min = _getActiveFIRArea12.movement_min;
|
|
1302
|
+
// Return min value for selected unit - if not present in list, return DEFAULT_MIN_MOVEMENT_SPEED (zero, no negative speeds)
|
|
1303
|
+
return movement_min !== undefined && movement_min[unit] ? movement_min[unit] : DEFAULT_MIN_MOVEMENT_SPEED;
|
|
1304
|
+
};
|
|
1305
|
+
/** Trigger form validations for given list of field names if field has a value */
|
|
1306
|
+
var triggerValidations = function triggerValidations(fieldNames, getValues, trigger) {
|
|
1307
|
+
fieldNames.forEach(function (field) {
|
|
1308
|
+
var value = getValues(field);
|
|
1309
|
+
if (value || value === 0) {
|
|
1310
|
+
trigger(field);
|
|
1624
1311
|
}
|
|
1625
|
-
}
|
|
1312
|
+
});
|
|
1626
1313
|
};
|
|
1627
|
-
var
|
|
1628
|
-
var
|
|
1629
|
-
|
|
1630
|
-
|
|
1631
|
-
|
|
1632
|
-
return
|
|
1633
|
-
|
|
1634
|
-
|
|
1635
|
-
|
|
1636
|
-
|
|
1637
|
-
|
|
1638
|
-
|
|
1639
|
-
|
|
1640
|
-
|
|
1641
|
-
|
|
1642
|
-
|
|
1643
|
-
|
|
1644
|
-
|
|
1645
|
-
|
|
1646
|
-
|
|
1647
|
-
|
|
1648
|
-
|
|
1649
|
-
|
|
1650
|
-
|
|
1651
|
-
|
|
1652
|
-
|
|
1653
|
-
|
|
1654
|
-
|
|
1655
|
-
},
|
|
1656
|
-
title:
|
|
1657
|
-
}
|
|
1658
|
-
|
|
1659
|
-
|
|
1660
|
-
|
|
1661
|
-
|
|
1662
|
-
|
|
1663
|
-
|
|
1664
|
-
|
|
1665
|
-
|
|
1666
|
-
|
|
1667
|
-
|
|
1668
|
-
}, /*#__PURE__*/React__default.createElement(CustomTooltip, {
|
|
1669
|
-
title: "Draw a shape as ".concat(type, " position")
|
|
1670
|
-
}, /*#__PURE__*/React__default.createElement(Radio, {
|
|
1671
|
-
icon: /*#__PURE__*/React__default.createElement(DrawPolygon, null),
|
|
1672
|
-
checkedIcon: /*#__PURE__*/React__default.createElement(DrawPolygon, null),
|
|
1673
|
-
checked: drawMode === MapDrawMode.POLYGON,
|
|
1674
|
-
onChange: function onChange() {
|
|
1675
|
-
setDrawMode(MapDrawMode.POLYGON);
|
|
1676
|
-
},
|
|
1677
|
-
"data-testid": "drawtools-polygon",
|
|
1678
|
-
sx: styles$1.radioInput
|
|
1679
|
-
}))), /*#__PURE__*/React__default.createElement(Grid, {
|
|
1680
|
-
item: true
|
|
1681
|
-
}, /*#__PURE__*/React__default.createElement(CustomTooltip, {
|
|
1682
|
-
title: "Set FIR as ".concat(type, " position")
|
|
1683
|
-
}, /*#__PURE__*/React__default.createElement(Radio, {
|
|
1684
|
-
icon: /*#__PURE__*/React__default.createElement(DrawFIRLand, null),
|
|
1685
|
-
checkedIcon: /*#__PURE__*/React__default.createElement(DrawFIRLand, null),
|
|
1686
|
-
checked: drawMode === MapDrawMode.FIR,
|
|
1687
|
-
onChange: function onChange() {
|
|
1688
|
-
setDrawMode(MapDrawMode.FIR);
|
|
1689
|
-
},
|
|
1690
|
-
"data-testid": "drawtools-fir",
|
|
1691
|
-
sx: styles$1.radioInput
|
|
1692
|
-
}))), /*#__PURE__*/React__default.createElement(Grid, {
|
|
1693
|
-
item: true
|
|
1694
|
-
}, /*#__PURE__*/React__default.createElement(CustomTooltip, {
|
|
1695
|
-
title: "Remove geometry"
|
|
1696
|
-
}, /*#__PURE__*/React__default.createElement(Radio, {
|
|
1697
|
-
icon: /*#__PURE__*/React__default.createElement(Delete, null),
|
|
1698
|
-
checkedIcon: /*#__PURE__*/React__default.createElement(Delete, null),
|
|
1699
|
-
checked: drawMode === MapDrawMode.DELETE,
|
|
1700
|
-
onChange: function onChange() {
|
|
1701
|
-
setDrawMode(MapDrawMode.DELETE);
|
|
1702
|
-
},
|
|
1703
|
-
"data-testid": "drawtools-delete",
|
|
1704
|
-
sx: styles$1.radioInput
|
|
1705
|
-
}))));
|
|
1314
|
+
var getProjection = function getProjection(productConfig) {
|
|
1315
|
+
var _a;
|
|
1316
|
+
return ((_a = productConfig.mapPreset) === null || _a === void 0 ? void 0 : _a.proj) || undefined;
|
|
1317
|
+
};
|
|
1318
|
+
var getShapeWithProperties = function getShapeWithProperties(shape, properties) {
|
|
1319
|
+
return Object.assign(Object.assign({}, shape), {
|
|
1320
|
+
properties: Object.assign(Object.assign({}, shape.properties), properties)
|
|
1321
|
+
});
|
|
1322
|
+
};
|
|
1323
|
+
var firID = 'drawtools-fir';
|
|
1324
|
+
var getDrawTools = function getDrawTools(type, firShape) {
|
|
1325
|
+
var defaultStyleProperties = type === StartOrEndDrawing.start ? featurePropsStart : featurePropsEnd;
|
|
1326
|
+
return [Object.assign(Object.assign({}, defaultPoint), {
|
|
1327
|
+
title: "Drop a point as ".concat(type, " position"),
|
|
1328
|
+
shape: getShapeWithProperties(defaultPoint.shape, defaultStyleProperties)
|
|
1329
|
+
}), Object.assign(Object.assign({}, defaultBox), {
|
|
1330
|
+
title: "Draw a box as ".concat(type, " position"),
|
|
1331
|
+
shape: getShapeWithProperties(defaultBox.shape, defaultStyleProperties)
|
|
1332
|
+
}), Object.assign(Object.assign({}, defaultPolygon), {
|
|
1333
|
+
title: "Draw a shape as ".concat(type, " position"),
|
|
1334
|
+
shape: getShapeWithProperties(defaultPolygon.shape, defaultStyleProperties)
|
|
1335
|
+
}), {
|
|
1336
|
+
id: firID,
|
|
1337
|
+
title: "Set FIR as ".concat(type, " position"),
|
|
1338
|
+
isSelectable: false,
|
|
1339
|
+
value: DRAWMODE.POLYGON,
|
|
1340
|
+
icon: /*#__PURE__*/React.createElement(DrawFIRLand, null),
|
|
1341
|
+
shape: addFeatureProperties(firShape, defaultStyleProperties)
|
|
1342
|
+
}, Object.assign(Object.assign({}, defaultDelete), {
|
|
1343
|
+
title: 'Remove geometry'
|
|
1344
|
+
})];
|
|
1345
|
+
};
|
|
1346
|
+
var updateDrawToolsWithFir = function updateDrawToolsWithFir(drawTools, newFirShape) {
|
|
1347
|
+
return drawTools.map(function (mode) {
|
|
1348
|
+
if (mode.id === firID) {
|
|
1349
|
+
return Object.assign(Object.assign({}, mode), {
|
|
1350
|
+
shape: newFirShape
|
|
1351
|
+
});
|
|
1352
|
+
}
|
|
1353
|
+
return mode;
|
|
1354
|
+
});
|
|
1706
1355
|
};
|
|
1707
1356
|
|
|
1708
1357
|
/* *
|
|
@@ -2370,9 +2019,11 @@ var multiIntersectionsMessage = 'The drawn polygon has multiple intersections wi
|
|
|
2370
2019
|
var StartGeometry = function StartGeometry(_ref) {
|
|
2371
2020
|
var _ref$isReadOnly = _ref.isReadOnly,
|
|
2372
2021
|
isReadOnly = _ref$isReadOnly === void 0 ? false : _ref$isReadOnly,
|
|
2373
|
-
|
|
2374
|
-
|
|
2375
|
-
|
|
2022
|
+
activeTool = _ref.activeTool,
|
|
2023
|
+
tools = _ref.tools,
|
|
2024
|
+
onChangeTool = _ref.onChangeTool,
|
|
2025
|
+
geoJSON = _ref.geoJSON,
|
|
2026
|
+
geoJSONIntersection = _ref.geoJSONIntersection;
|
|
2376
2027
|
var _useFormContext = useFormContext(),
|
|
2377
2028
|
errors = _useFormContext.formState.errors,
|
|
2378
2029
|
watch = _useFormContext.watch;
|
|
@@ -2383,21 +2034,19 @@ var StartGeometry = function StartGeometry(_ref) {
|
|
|
2383
2034
|
sx: styles$2.drawSection,
|
|
2384
2035
|
"data-testid": "startGeometry"
|
|
2385
2036
|
}, /*#__PURE__*/React__default.createElement(DrawTools, {
|
|
2386
|
-
|
|
2387
|
-
|
|
2388
|
-
|
|
2389
|
-
|
|
2390
|
-
}
|
|
2391
|
-
}), drawMode[StartOrEndDrawing.start] && /*#__PURE__*/React__default.createElement(FormHelperText, {
|
|
2037
|
+
activeTool: activeTool,
|
|
2038
|
+
tools: tools,
|
|
2039
|
+
onChangeTool: onChangeTool
|
|
2040
|
+
}), activeTool && /*#__PURE__*/React__default.createElement(FormHelperText, {
|
|
2392
2041
|
variant: "filled",
|
|
2393
2042
|
sx: styles$2.quitDrawModeMessage
|
|
2394
2043
|
}, exitDrawModeMessage), !!errors.startGeometry && /*#__PURE__*/React__default.createElement(FormHelperText, {
|
|
2395
2044
|
error: true,
|
|
2396
2045
|
variant: "filled"
|
|
2397
2046
|
}, errors.startGeometry.message), /* non-blocking warnings */
|
|
2398
|
-
hasMaxFeaturePoints(
|
|
2047
|
+
hasMaxFeaturePoints(geoJSONIntersection) && !activeTool && !errors.startGeometry && !isFir(geoJSON) && /*#__PURE__*/React__default.createElement(FormHelperText, {
|
|
2399
2048
|
variant: "filled"
|
|
2400
|
-
}, maxFeaturePointsMessage), hasMulitpleIntersections(
|
|
2049
|
+
}, maxFeaturePointsMessage), hasMulitpleIntersections(geoJSONIntersection) && !activeTool && !errors.startGeometry && !isFir(geoJSON) && /*#__PURE__*/React__default.createElement(FormHelperText, {
|
|
2401
2050
|
variant: "filled"
|
|
2402
2051
|
}, multiIntersectionsMessage), /*#__PURE__*/React__default.createElement(ReactHookFormHiddenInput, {
|
|
2403
2052
|
name: "startGeometry",
|
|
@@ -2473,15 +2122,19 @@ var _validateMovementSteps = function validateMovementSteps(value, unit, product
|
|
|
2473
2122
|
var Progress = function Progress(_ref) {
|
|
2474
2123
|
var productType = _ref.productType,
|
|
2475
2124
|
productConfig = _ref.productConfig,
|
|
2476
|
-
drawMode = _ref.drawMode,
|
|
2477
2125
|
_ref$isDisabled = _ref.isDisabled,
|
|
2478
2126
|
isDisabled = _ref$isDisabled === void 0 ? false : _ref$isDisabled,
|
|
2479
2127
|
_ref$isReadOnly = _ref.isReadOnly,
|
|
2480
2128
|
isReadOnly = _ref$isReadOnly === void 0 ? false : _ref$isReadOnly,
|
|
2481
|
-
geoJSONs = _ref.geoJSONs,
|
|
2482
|
-
setDrawModeType = _ref.setDrawModeType,
|
|
2483
2129
|
_ref$onChange = _ref.onChange,
|
|
2484
|
-
_onChange = _ref$onChange === void 0 ? function () {} : _ref$onChange
|
|
2130
|
+
_onChange = _ref$onChange === void 0 ? function () {} : _ref$onChange,
|
|
2131
|
+
_ref$tools = _ref.tools,
|
|
2132
|
+
tools = _ref$tools === void 0 ? [] : _ref$tools,
|
|
2133
|
+
activeTool = _ref.activeTool,
|
|
2134
|
+
_ref$onChangeTool = _ref.onChangeTool,
|
|
2135
|
+
onChangeTool = _ref$onChangeTool === void 0 ? function () {} : _ref$onChangeTool,
|
|
2136
|
+
geoJSON = _ref.geoJSON,
|
|
2137
|
+
geoJSONIntersection = _ref.geoJSONIntersection;
|
|
2485
2138
|
var _useFormContext = useFormContext(),
|
|
2486
2139
|
watch = _useFormContext.watch,
|
|
2487
2140
|
getValues = _useFormContext.getValues,
|
|
@@ -2522,10 +2175,15 @@ var Progress = function Progress(_ref) {
|
|
|
2522
2175
|
isRequired: isRequired
|
|
2523
2176
|
}
|
|
2524
2177
|
},
|
|
2178
|
+
isReadOnly: isReadOnly,
|
|
2525
2179
|
onChange: function onChange() {
|
|
2526
|
-
|
|
2527
|
-
|
|
2528
|
-
|
|
2180
|
+
var deleteTool = tools === null || tools === void 0 ? void 0 : tools.find(function (tool) {
|
|
2181
|
+
return tool.value === 'DELETE';
|
|
2182
|
+
});
|
|
2183
|
+
if (deleteTool) {
|
|
2184
|
+
onChangeTool(deleteTool);
|
|
2185
|
+
}
|
|
2186
|
+
}
|
|
2529
2187
|
}, watch('phenomenon') === 'VA_CLD' && /*#__PURE__*/React__default.createElement(RadioButtonAndLabel, {
|
|
2530
2188
|
value: "NO_VA_EXP",
|
|
2531
2189
|
label: "No volcanic ash expected",
|
|
@@ -2640,21 +2298,19 @@ var Progress = function Progress(_ref) {
|
|
|
2640
2298
|
sx: styles$2.drawSection
|
|
2641
2299
|
}, !isReadOnly && /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(DrawTools, {
|
|
2642
2300
|
"data-testid": "endGeometry-drawTools",
|
|
2643
|
-
|
|
2644
|
-
|
|
2645
|
-
|
|
2646
|
-
|
|
2647
|
-
}
|
|
2648
|
-
}), drawMode[StartOrEndDrawing.end] && /*#__PURE__*/React__default.createElement(FormHelperText, {
|
|
2301
|
+
tools: tools,
|
|
2302
|
+
activeTool: activeTool,
|
|
2303
|
+
onChangeTool: onChangeTool
|
|
2304
|
+
}), activeTool && /*#__PURE__*/React__default.createElement(FormHelperText, {
|
|
2649
2305
|
variant: "filled",
|
|
2650
2306
|
sx: styles$2.quitDrawModeMessage
|
|
2651
2307
|
}, exitDrawModeMessage), !!errors.endGeometry && /*#__PURE__*/React__default.createElement(FormHelperText, {
|
|
2652
2308
|
error: true,
|
|
2653
2309
|
variant: "filled"
|
|
2654
2310
|
}, errors.endGeometry.message), /* non-blocking warnings */
|
|
2655
|
-
hasMaxFeaturePoints(
|
|
2311
|
+
hasMaxFeaturePoints(geoJSONIntersection) && !activeTool && !errors.endGeometry && !isFir(geoJSON) && /*#__PURE__*/React__default.createElement(FormHelperText, {
|
|
2656
2312
|
variant: "filled"
|
|
2657
|
-
}, maxFeaturePointsMessage), hasMulitpleIntersections(
|
|
2313
|
+
}, maxFeaturePointsMessage), hasMulitpleIntersections(geoJSONIntersection) && !activeTool && !errors.endGeometry && !isFir(geoJSON) && /*#__PURE__*/React__default.createElement(FormHelperText, {
|
|
2658
2314
|
variant: "filled"
|
|
2659
2315
|
}, multiIntersectionsMessage)), /*#__PURE__*/React__default.createElement(ReactHookFormHiddenInput, {
|
|
2660
2316
|
name: "endGeometry",
|
|
@@ -5071,39 +4727,11 @@ initializeUseSelector(withSelector.exports.useSyncExternalStoreWithSelector);
|
|
|
5071
4727
|
* Copyright 2021 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
5072
4728
|
* Copyright 2021 - Finnish Meteorological Institute (FMI)
|
|
5073
4729
|
* */
|
|
5074
|
-
var allowOneGeoJSONFeature = function allowOneGeoJSONFeature(mode, geojson) {
|
|
5075
|
-
switch (mode) {
|
|
5076
|
-
case MapDrawMode.BOX:
|
|
5077
|
-
case MapDrawMode.POLYGON:
|
|
5078
|
-
return geojson.features[0].geometry.coordinates.length > 1 ? fn(geojson, function (draft) {
|
|
5079
|
-
draft.features[0].geometry.coordinates = [draft.features[0].geometry.coordinates[1]];
|
|
5080
|
-
}) : geojson;
|
|
5081
|
-
default:
|
|
5082
|
-
return geojson;
|
|
5083
|
-
}
|
|
5084
|
-
};
|
|
5085
4730
|
var MapViewGeoJson = function MapViewGeoJson(_ref) {
|
|
5086
|
-
var
|
|
5087
|
-
initialBaseLayers = _ref.baseLayers,
|
|
4731
|
+
var initialBaseLayers = _ref.baseLayers,
|
|
5088
4732
|
initialProjection = _ref.projection,
|
|
5089
|
-
_ref$
|
|
5090
|
-
|
|
5091
|
-
_ref$layerDrawModes = _ref.layerDrawModes,
|
|
5092
|
-
layerDrawModes = _ref$layerDrawModes === void 0 ? {
|
|
5093
|
-
start: null,
|
|
5094
|
-
end: null
|
|
5095
|
-
} : _ref$layerDrawModes,
|
|
5096
|
-
_ref$drawMode = _ref.drawMode,
|
|
5097
|
-
drawMode = _ref$drawMode === void 0 ? {
|
|
5098
|
-
start: null,
|
|
5099
|
-
end: null
|
|
5100
|
-
} : _ref$drawMode,
|
|
5101
|
-
_ref$setDrawMode = _ref.setDrawMode,
|
|
5102
|
-
setDrawMode = _ref$setDrawMode === void 0 ? function () {} : _ref$setDrawMode,
|
|
5103
|
-
_ref$exitDrawModeCall = _ref.exitDrawModeCallbackStart,
|
|
5104
|
-
exitDrawModeCallbackStart = _ref$exitDrawModeCall === void 0 ? function () {} : _ref$exitDrawModeCall,
|
|
5105
|
-
_ref$exitDrawModeCall2 = _ref.exitDrawModeCallbackEnd,
|
|
5106
|
-
exitDrawModeCallbackEnd = _ref$exitDrawModeCall2 === void 0 ? function () {} : _ref$exitDrawModeCall2;
|
|
4733
|
+
_ref$geoJSONLayers = _ref.geoJSONLayers,
|
|
4734
|
+
geoJSONLayers = _ref$geoJSONLayers === void 0 ? [] : _ref$geoJSONLayers;
|
|
5107
4735
|
var dispatch = useDispatch();
|
|
5108
4736
|
var firstMap = useSelector(function (store) {
|
|
5109
4737
|
return mapSelectors.getFirstMap(store);
|
|
@@ -5115,44 +4743,44 @@ var MapViewGeoJson = function MapViewGeoJson(_ref) {
|
|
|
5115
4743
|
var mapDimensions = useSelector(function (store) {
|
|
5116
4744
|
return mapSelectors.getMapDimensions(store, firstMapId);
|
|
5117
4745
|
}, shallowEqual);
|
|
5118
|
-
var mapId = React.useRef("sigmet-".concat(generateMapId())).current;
|
|
5119
|
-
var timesliderId = React.useRef("sigmet-".concat(generateTimesliderId())).current;
|
|
4746
|
+
var mapId = React.useRef("sigmet-".concat(webmapUtils.generateMapId())).current;
|
|
4747
|
+
var timesliderId = React.useRef("sigmet-".concat(webmapUtils.generateTimesliderId())).current;
|
|
5120
4748
|
var syncGroupAddGroup = React.useCallback(function (payload) {
|
|
5121
|
-
dispatch(
|
|
4749
|
+
dispatch(syncGroupsActions.syncGroupAddGroup(payload));
|
|
5122
4750
|
}, [dispatch]);
|
|
5123
4751
|
var syncGroupAddTarget = React.useCallback(function (payload) {
|
|
5124
|
-
dispatch(
|
|
4752
|
+
dispatch(syncGroupsActions.syncGroupAddTarget(payload));
|
|
5125
4753
|
}, [dispatch]);
|
|
5126
4754
|
React.useEffect(function () {
|
|
5127
4755
|
if (mapLayers && mapLayers.length) {
|
|
5128
4756
|
// use maplayers, but change layerId and current mapId
|
|
5129
4757
|
var layers = mapLayers.map(function (layer) {
|
|
5130
4758
|
return Object.assign(Object.assign({}, layer), {
|
|
5131
|
-
id: generateLayerId(),
|
|
4759
|
+
id: webmapUtils.generateLayerId(),
|
|
5132
4760
|
mapId: mapId
|
|
5133
4761
|
});
|
|
5134
4762
|
});
|
|
5135
|
-
dispatch(
|
|
4763
|
+
dispatch(mapStoreActions.setLayers({
|
|
5136
4764
|
mapId: mapId,
|
|
5137
4765
|
layers: layers
|
|
5138
4766
|
}));
|
|
5139
4767
|
}
|
|
5140
4768
|
if (mapDimensions && mapDimensions.length) {
|
|
5141
|
-
dispatch(
|
|
4769
|
+
dispatch(mapStoreActions.mapChangeDimension({
|
|
5142
4770
|
mapId: mapId,
|
|
5143
4771
|
dimension: mapDimensions[0],
|
|
5144
4772
|
origin: 'MapViewGeoJson'
|
|
5145
4773
|
}));
|
|
5146
4774
|
}
|
|
5147
|
-
var baseLayers = initialBaseLayers || [Object.assign(Object.assign({},
|
|
4775
|
+
var baseLayers = initialBaseLayers || [Object.assign(Object.assign({}, defaultLayers.overLayer), {
|
|
5148
4776
|
id: "countryborders-".concat(mapId)
|
|
5149
4777
|
})];
|
|
5150
|
-
dispatch(
|
|
4778
|
+
dispatch(mapStoreActions.setBaseLayers({
|
|
5151
4779
|
mapId: mapId,
|
|
5152
4780
|
layers: baseLayers
|
|
5153
4781
|
}));
|
|
5154
4782
|
var projection = initialProjection || srsAndBboxDefault;
|
|
5155
|
-
dispatch(
|
|
4783
|
+
dispatch(mapStoreActions.setBbox({
|
|
5156
4784
|
mapId: mapId,
|
|
5157
4785
|
bbox: projection.bbox,
|
|
5158
4786
|
srs: projection.srs
|
|
@@ -5160,7 +4788,7 @@ var MapViewGeoJson = function MapViewGeoJson(_ref) {
|
|
|
5160
4788
|
syncGroupAddGroup({
|
|
5161
4789
|
groupId: 'Time_SigmetAirmet',
|
|
5162
4790
|
title: 'Group 1 for sigmet/airmet map',
|
|
5163
|
-
type:
|
|
4791
|
+
type: syncConstants.SYNCGROUPS_TYPE_SETTIME
|
|
5164
4792
|
});
|
|
5165
4793
|
syncGroupAddTarget({
|
|
5166
4794
|
groupId: 'Time_SigmetAirmet',
|
|
@@ -5189,56 +4817,10 @@ var MapViewGeoJson = function MapViewGeoJson(_ref) {
|
|
|
5189
4817
|
mapId: mapId
|
|
5190
4818
|
})), /*#__PURE__*/React.createElement(MapViewConnect, {
|
|
5191
4819
|
mapId: mapId
|
|
5192
|
-
},
|
|
5193
|
-
|
|
5194
|
-
|
|
5195
|
-
|
|
5196
|
-
}), /*#__PURE__*/React.createElement(MapViewLayer, {
|
|
5197
|
-
id: "geojsonlayer-end-".concat(mapId),
|
|
5198
|
-
isInEditMode: drawMode.end !== null && layerDrawModes.end !== null,
|
|
5199
|
-
geojson: geoJSONs.end,
|
|
5200
|
-
drawMode: layerDrawModes.end,
|
|
5201
|
-
updateGeojson: function updateGeojson(geojson) {
|
|
5202
|
-
var end = allowOneGeoJSONFeature(layerDrawModes.end, geojson);
|
|
5203
|
-
setLayerGeoJSONs(Object.assign(Object.assign({}, geoJSONs), {
|
|
5204
|
-
end: end
|
|
5205
|
-
}));
|
|
5206
|
-
},
|
|
5207
|
-
exitDrawModeCallback: function exitDrawModeCallback() {
|
|
5208
|
-
setDrawMode({
|
|
5209
|
-
start: null,
|
|
5210
|
-
end: null
|
|
5211
|
-
});
|
|
5212
|
-
exitDrawModeCallbackEnd();
|
|
5213
|
-
},
|
|
5214
|
-
featureNrToEdit: 0
|
|
5215
|
-
}), /*#__PURE__*/React.createElement(MapViewLayer, {
|
|
5216
|
-
id: "geojsonlayer-start-".concat(mapId),
|
|
5217
|
-
isInEditMode: drawMode.start !== null && layerDrawModes.start !== null,
|
|
5218
|
-
geojson: geoJSONs.start,
|
|
5219
|
-
drawMode: layerDrawModes.start,
|
|
5220
|
-
updateGeojson: function updateGeojson(geojson) {
|
|
5221
|
-
var start = allowOneGeoJSONFeature(layerDrawModes.start, geojson);
|
|
5222
|
-
setLayerGeoJSONs(Object.assign(Object.assign({}, geoJSONs), {
|
|
5223
|
-
start: start
|
|
5224
|
-
}));
|
|
5225
|
-
},
|
|
5226
|
-
exitDrawModeCallback: function exitDrawModeCallback() {
|
|
5227
|
-
setDrawMode({
|
|
5228
|
-
start: null,
|
|
5229
|
-
end: null
|
|
5230
|
-
});
|
|
5231
|
-
exitDrawModeCallbackStart();
|
|
5232
|
-
},
|
|
5233
|
-
featureNrToEdit: 0
|
|
5234
|
-
}), /*#__PURE__*/React.createElement(MapViewLayer, {
|
|
5235
|
-
id: "geojsonlayer-intersection-end-".concat(mapId),
|
|
5236
|
-
isInEditMode: false,
|
|
5237
|
-
geojson: geoJSONs.intersectionEnd
|
|
5238
|
-
}), /*#__PURE__*/React.createElement(MapViewLayer, {
|
|
5239
|
-
id: "geojsonlayer-intersection-start-".concat(mapId),
|
|
5240
|
-
isInEditMode: false,
|
|
5241
|
-
geojson: geoJSONs.intersectionStart
|
|
4820
|
+
}, geoJSONLayers.map(function (layer) {
|
|
4821
|
+
return /*#__PURE__*/React.createElement(MapViewLayer, Object.assign({
|
|
4822
|
+
key: layer.id
|
|
4823
|
+
}, layer));
|
|
5242
4824
|
})), /*#__PURE__*/React.createElement("div", {
|
|
5243
4825
|
style: {
|
|
5244
4826
|
position: 'absolute',
|
|
@@ -5261,10 +4843,11 @@ var MapViewGeoJson = function MapViewGeoJson(_ref) {
|
|
|
5261
4843
|
}));
|
|
5262
4844
|
};
|
|
5263
4845
|
|
|
5264
|
-
var ProductFormLayout = function ProductFormLayout(
|
|
5265
|
-
var children =
|
|
5266
|
-
productConfig =
|
|
5267
|
-
|
|
4846
|
+
var ProductFormLayout = function ProductFormLayout(_ref) {
|
|
4847
|
+
var children = _ref.children,
|
|
4848
|
+
productConfig = _ref.productConfig,
|
|
4849
|
+
_ref$geoJSONLayers = _ref.geoJSONLayers,
|
|
4850
|
+
geoJSONLayers = _ref$geoJSONLayers === void 0 ? [] : _ref$geoJSONLayers;
|
|
5268
4851
|
var theme = useTheme$2();
|
|
5269
4852
|
var baseLayers = getBaseLayers(productConfig);
|
|
5270
4853
|
var projection = getProjection(productConfig);
|
|
@@ -5288,10 +4871,11 @@ var ProductFormLayout = function ProductFormLayout(_a) {
|
|
|
5288
4871
|
height: '100%',
|
|
5289
4872
|
padding: 0
|
|
5290
4873
|
})
|
|
5291
|
-
}, /*#__PURE__*/React__default.createElement(MapViewGeoJson,
|
|
4874
|
+
}, /*#__PURE__*/React__default.createElement(MapViewGeoJson, {
|
|
5292
4875
|
baseLayers: baseLayers,
|
|
5293
|
-
projection: projection
|
|
5294
|
-
|
|
4876
|
+
projection: projection,
|
|
4877
|
+
geoJSONLayers: geoJSONLayers
|
|
4878
|
+
})), /*#__PURE__*/React__default.createElement(Grid, {
|
|
5295
4879
|
item: true,
|
|
5296
4880
|
xs: 12,
|
|
5297
4881
|
sm: 6,
|
|
@@ -8363,6 +7947,10 @@ var airmetDefaultConfig = {
|
|
|
8363
7947
|
mapPreset: mapPreset
|
|
8364
7948
|
};
|
|
8365
7949
|
|
|
7950
|
+
var schema13={type:'object',title:'sigmet config schema',properties:{location_indicator_mwo:{type:'string'},active_firs:{type:'array',items:{type:'string'},minItems:1},valid_from_delay_minutes:{type:'number'},default_validity_minutes:{type:'number'},fir_areas:{type:'object',patternProperties:{'':{type:'object',$merge:{source:{$ref:'firArea.schema.json'},"with":{properties:{tc_max_hours_of_validity:{type:'number'},tc_hours_before_validity:{type:'number'},va_max_hours_of_validity:{type:'number'},va_hours_before_validity:{type:'number'},adjacent_firs:{type:'array',items:{type:'string'},minItems:1},area_preset:{type:'string'}},required:['fir_name','fir_location','location_indicator_atsr','location_indicator_atsu','max_hours_of_validity','hours_before_validity','units','tc_max_hours_of_validity','tc_hours_before_validity','va_max_hours_of_validity','va_hours_before_validity','adjacent_firs','area_preset']}}}},required:[],minProperties:1},mapPreset:{type:'object',properties:{layers:{type:'array',items:{type:'object',properties:{id:{type:'string'},name:{type:'string'},layerType:{type:'string',"enum":['overLayer','baseLayer','mapLayer']}},additionalProperties:true,required:['id','name','layerType']}},proj:{type:'object',properties:{bbox:{type:'object',properties:{left:{type:'number'},right:{type:'number'},top:{type:'number'},bottom:{type:'number'}},additionalProperties:false,required:['left','right','top','bottom']},srs:{type:'string'}},additionalProperties:false,required:['bbox','srs']}}}},required:['location_indicator_mwo','fir_areas','active_firs','valid_from_delay_minutes','default_validity_minutes'],additionalProperties:false};var schema15$1={$schema:'http://json-schema.org/draft-07/schema#',$id:'geojson.schema.json',title:'GeoJSON FeatureCollection',type:'object',required:['type','features'],properties:{type:{type:'string',"enum":['FeatureCollection']},features:{type:'array',items:{title:'GeoJSON Feature',type:'object',required:['type','properties','geometry'],properties:{type:{type:'string',"enum":['Feature']},id:{oneOf:[{type:'number'},{type:'string'}]},properties:{type:'object',properties:{selectionType:{type:'string'}}},geometry:{oneOf:[{type:'null'},{title:'GeoJSON Point',type:'object',required:['type','coordinates'],properties:{type:{type:'string',"enum":['Point']},coordinates:{type:'array',minItems:2,items:{type:'number'}},bbox:{type:'array',minItems:4,items:{}}}},{title:'GeoJSON LineString',type:'object',required:['type','coordinates'],properties:{type:{type:'string',"enum":['LineString']},coordinates:{type:'array',minItems:2,items:{type:'array',minItems:2,items:{type:'number'}}},bbox:{type:'array',minItems:4,items:{type:'number'}}}},{title:'GeoJSON Polygon',type:'object',required:['type','coordinates'],properties:{type:{type:'string',"enum":['Polygon']},coordinates:{type:'array',items:{type:'array',minItems:4,items:{type:'array',minItems:2,items:{type:'number'}}}},bbox:{type:'array',minItems:4,items:{type:'number'}}}},{title:'GeoJSON MultiPoint',type:'object',required:['type','coordinates'],properties:{type:{type:'string',"enum":['MultiPoint']},coordinates:{type:'array',items:{type:'array',minItems:2,items:{type:'number'}}},bbox:{type:'array',minItems:4,items:{type:'number'}}}},{title:'GeoJSON MultiLineString',type:'object',required:['type','coordinates'],properties:{type:{type:'string',"enum":['MultiLineString']},coordinates:{type:'array',items:{type:'array',minItems:2,items:{type:'array',minItems:2,items:{type:'number'}}}},bbox:{type:'array',minItems:4,items:{type:'number'}}}},{title:'GeoJSON MultiPolygon',type:'object',required:['type','coordinates'],properties:{type:{type:'string',"enum":['MultiPolygon']},coordinates:{type:'array',items:{type:'array',items:{type:'array',minItems:4,items:{type:'array',minItems:2,items:{type:'number'}}}}},bbox:{type:'array',minItems:4,items:{type:'number'}}}},{title:'GeoJSON GeometryCollection',type:'object',required:['type','geometries'],properties:{type:{type:'string',"enum":['GeometryCollection']},geometries:{type:'array',items:{oneOf:[{title:'GeoJSON Point',type:'object',required:['type','coordinates'],properties:{type:{type:'string',"enum":['Point']},coordinates:{type:'array',minItems:2,items:{type:'number'}},bbox:{type:'array',minItems:4,items:{type:'number'}}}},{title:'GeoJSON LineString',type:'object',required:['type','coordinates'],properties:{type:{type:'string',"enum":['LineString']},coordinates:{type:'array',minItems:2,items:{type:'array',minItems:2,items:{type:'number'}}},bbox:{type:'array',minItems:4,items:{type:'number'}}}},{title:'GeoJSON Polygon',type:'object',required:['type','coordinates'],properties:{type:{type:'string',"enum":['Polygon']},coordinates:{type:'array',items:{type:'array',minItems:4,items:{type:'array',minItems:2,items:{type:'number'}}}},bbox:{type:'array',minItems:4,items:{type:'number'}}}},{title:'GeoJSON MultiPoint',type:'object',required:['type','coordinates'],properties:{type:{type:'string',"enum":['MultiPoint']},coordinates:{type:'array',items:{type:'array',minItems:2,items:{type:'number'}}},bbox:{type:'array',minItems:4,items:{type:'number'}}}},{title:'GeoJSON MultiLineString',type:'object',required:['type','coordinates'],properties:{type:{type:'string',"enum":['MultiLineString']},coordinates:{type:'array',items:{type:'array',minItems:2,items:{type:'array',minItems:2,items:{type:'number'}}}},bbox:{type:'array',minItems:4,items:{type:'number'}}}},{title:'GeoJSON MultiPolygon',type:'object',required:['type','coordinates'],properties:{type:{type:'string',"enum":['MultiPolygon']},coordinates:{type:'array',items:{type:'array',items:{type:'array',minItems:4,items:{type:'array',minItems:2,items:{type:'number'}}}}},bbox:{type:'array',minItems:4,items:{type:'number'}}}}]}},bbox:{type:'array',minItems:4,items:{type:'number'}}}}]},bbox:{type:'array',minItems:4,items:{type:'number'}}}}},bbox:{type:'array',minItems:4,items:{type:'number'}}}};var pattern0$1=new RegExp('','u');var keyword0={$id:'firArea.schema.json',title:'fir config schema',description:'all properties defined in FIRConfig type',type:'object',properties:{fir_name:{type:'string'},fir_location:{$ref:'geojson.schema.json'},location_indicator_atsr:{type:'string'},location_indicator_atsu:{type:'string'},max_hours_of_validity:{type:'number'},hours_before_validity:{type:'number'},movement_rounding_kt:{type:'number'},movement_rounding_kmh:{type:'number'},level_min:{type:'object',additionalProperties:{type:'number'}},level_max:{type:'object',additionalProperties:{type:'number'}},level_rounding_FL:{type:'number'},level_rounding_FT:{type:'number'},level_rounding_M:{type:'number'},movement_min:{type:'object',additionalProperties:{type:'number'}},movement_max:{type:'object',additionalProperties:{type:'number'}},units:{type:'array',items:{type:'object',properties:{unit_type:{type:'string'},allowed_units:{type:'array',items:{type:'string'},minItems:1}},required:['unit_type','allowed_units'],additionalProperties:false},minItems:1},tc_max_hours_of_validity:{type:'number'},tc_hours_before_validity:{type:'number'},va_max_hours_of_validity:{type:'number'},va_hours_before_validity:{type:'number'},adjacent_firs:{type:'array',items:{type:'string'},minItems:1},area_preset:{type:'string'}},required:['fir_name','fir_location','location_indicator_atsr','location_indicator_atsu','max_hours_of_validity','hours_before_validity','units','tc_max_hours_of_validity','tc_hours_before_validity','va_max_hours_of_validity','va_hours_before_validity','adjacent_firs','area_preset'],additionalProperties:false};var func2$1=Object.prototype.hasOwnProperty;function validate14(data){var _ref=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{},_ref$instancePath=_ref.instancePath,instancePath=_ref$instancePath===void 0?'':_ref$instancePath;_ref.parentData;_ref.parentDataProperty;_ref.rootData;var vErrors=null;var errors=0;if(data&&_typeof(data)=='object'&&!Array.isArray(data)){if(data.location_indicator_mwo===undefined){var err0={instancePath:instancePath,schemaPath:'#/required',keyword:'required',params:{missingProperty:'location_indicator_mwo'},message:"must have required property '"+'location_indicator_mwo'+"'"};if(vErrors===null){vErrors=[err0];}else {vErrors.push(err0);}errors++;}if(data.fir_areas===undefined){var err1={instancePath:instancePath,schemaPath:'#/required',keyword:'required',params:{missingProperty:'fir_areas'},message:"must have required property '"+'fir_areas'+"'"};if(vErrors===null){vErrors=[err1];}else {vErrors.push(err1);}errors++;}if(data.active_firs===undefined){var err2={instancePath:instancePath,schemaPath:'#/required',keyword:'required',params:{missingProperty:'active_firs'},message:"must have required property '"+'active_firs'+"'"};if(vErrors===null){vErrors=[err2];}else {vErrors.push(err2);}errors++;}if(data.valid_from_delay_minutes===undefined){var err3={instancePath:instancePath,schemaPath:'#/required',keyword:'required',params:{missingProperty:'valid_from_delay_minutes'},message:"must have required property '"+'valid_from_delay_minutes'+"'"};if(vErrors===null){vErrors=[err3];}else {vErrors.push(err3);}errors++;}if(data.default_validity_minutes===undefined){var err4={instancePath:instancePath,schemaPath:'#/required',keyword:'required',params:{missingProperty:'default_validity_minutes'},message:"must have required property '"+'default_validity_minutes'+"'"};if(vErrors===null){vErrors=[err4];}else {vErrors.push(err4);}errors++;}for(var key0 in data){if(!(key0==='location_indicator_mwo'||key0==='active_firs'||key0==='valid_from_delay_minutes'||key0==='default_validity_minutes'||key0==='fir_areas'||key0==='mapPreset')){var err5={instancePath:instancePath,schemaPath:'#/additionalProperties',keyword:'additionalProperties',params:{additionalProperty:key0},message:'must NOT have additional properties'};if(vErrors===null){vErrors=[err5];}else {vErrors.push(err5);}errors++;}}if(data.location_indicator_mwo!==undefined){if(typeof data.location_indicator_mwo!=='string'){var err6={instancePath:instancePath+'/location_indicator_mwo',schemaPath:'#/properties/location_indicator_mwo/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err6];}else {vErrors.push(err6);}errors++;}}if(data.active_firs!==undefined){var data1=data.active_firs;if(Array.isArray(data1)){if(data1.length<1){var err7={instancePath:instancePath+'/active_firs',schemaPath:'#/properties/active_firs/minItems',keyword:'minItems',params:{limit:1},message:'must NOT have fewer than 1 items'};if(vErrors===null){vErrors=[err7];}else {vErrors.push(err7);}errors++;}var len0=data1.length;for(var i0=0;i0<len0;i0++){if(typeof data1[i0]!=='string'){var err8={instancePath:instancePath+'/active_firs/'+i0,schemaPath:'#/properties/active_firs/items/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err8];}else {vErrors.push(err8);}errors++;}}}else {var err9={instancePath:instancePath+'/active_firs',schemaPath:'#/properties/active_firs/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err9];}else {vErrors.push(err9);}errors++;}}if(data.valid_from_delay_minutes!==undefined){var data3=data.valid_from_delay_minutes;if(!(typeof data3=='number'&&isFinite(data3))){var err10={instancePath:instancePath+'/valid_from_delay_minutes',schemaPath:'#/properties/valid_from_delay_minutes/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err10];}else {vErrors.push(err10);}errors++;}}if(data.default_validity_minutes!==undefined){var data4=data.default_validity_minutes;if(!(typeof data4=='number'&&isFinite(data4))){var err11={instancePath:instancePath+'/default_validity_minutes',schemaPath:'#/properties/default_validity_minutes/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err11];}else {vErrors.push(err11);}errors++;}}if(data.fir_areas!==undefined){var data5=data.fir_areas;if(data5&&_typeof(data5)=='object'&&!Array.isArray(data5)){if(Object.keys(data5).length<1){var err12={instancePath:instancePath+'/fir_areas',schemaPath:'#/properties/fir_areas/minProperties',keyword:'minProperties',params:{limit:1},message:'must NOT have fewer than 1 properties'};if(vErrors===null){vErrors=[err12];}else {vErrors.push(err12);}errors++;}for(var key1 in data5){if(pattern0$1.test(key1)){var data6=data5[key1];if(!(data6&&_typeof(data6)=='object'&&!Array.isArray(data6))){var err13={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err13];}else {vErrors.push(err13);}errors++;}var _errs17=errors;if(data6&&_typeof(data6)=='object'&&!Array.isArray(data6)){if(data6.fir_name===undefined){var err14={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/required',keyword:'required',params:{missingProperty:'fir_name'},message:"must have required property '"+'fir_name'+"'"};if(vErrors===null){vErrors=[err14];}else {vErrors.push(err14);}errors++;}if(data6.fir_location===undefined){var err15={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/required',keyword:'required',params:{missingProperty:'fir_location'},message:"must have required property '"+'fir_location'+"'"};if(vErrors===null){vErrors=[err15];}else {vErrors.push(err15);}errors++;}if(data6.location_indicator_atsr===undefined){var err16={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/required',keyword:'required',params:{missingProperty:'location_indicator_atsr'},message:"must have required property '"+'location_indicator_atsr'+"'"};if(vErrors===null){vErrors=[err16];}else {vErrors.push(err16);}errors++;}if(data6.location_indicator_atsu===undefined){var err17={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/required',keyword:'required',params:{missingProperty:'location_indicator_atsu'},message:"must have required property '"+'location_indicator_atsu'+"'"};if(vErrors===null){vErrors=[err17];}else {vErrors.push(err17);}errors++;}if(data6.max_hours_of_validity===undefined){var err18={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/required',keyword:'required',params:{missingProperty:'max_hours_of_validity'},message:"must have required property '"+'max_hours_of_validity'+"'"};if(vErrors===null){vErrors=[err18];}else {vErrors.push(err18);}errors++;}if(data6.hours_before_validity===undefined){var err19={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/required',keyword:'required',params:{missingProperty:'hours_before_validity'},message:"must have required property '"+'hours_before_validity'+"'"};if(vErrors===null){vErrors=[err19];}else {vErrors.push(err19);}errors++;}if(data6.units===undefined){var err20={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/required',keyword:'required',params:{missingProperty:'units'},message:"must have required property '"+'units'+"'"};if(vErrors===null){vErrors=[err20];}else {vErrors.push(err20);}errors++;}if(data6.tc_max_hours_of_validity===undefined){var err21={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/required',keyword:'required',params:{missingProperty:'tc_max_hours_of_validity'},message:"must have required property '"+'tc_max_hours_of_validity'+"'"};if(vErrors===null){vErrors=[err21];}else {vErrors.push(err21);}errors++;}if(data6.tc_hours_before_validity===undefined){var err22={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/required',keyword:'required',params:{missingProperty:'tc_hours_before_validity'},message:"must have required property '"+'tc_hours_before_validity'+"'"};if(vErrors===null){vErrors=[err22];}else {vErrors.push(err22);}errors++;}if(data6.va_max_hours_of_validity===undefined){var err23={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/required',keyword:'required',params:{missingProperty:'va_max_hours_of_validity'},message:"must have required property '"+'va_max_hours_of_validity'+"'"};if(vErrors===null){vErrors=[err23];}else {vErrors.push(err23);}errors++;}if(data6.va_hours_before_validity===undefined){var err24={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/required',keyword:'required',params:{missingProperty:'va_hours_before_validity'},message:"must have required property '"+'va_hours_before_validity'+"'"};if(vErrors===null){vErrors=[err24];}else {vErrors.push(err24);}errors++;}if(data6.adjacent_firs===undefined){var err25={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/required',keyword:'required',params:{missingProperty:'adjacent_firs'},message:"must have required property '"+'adjacent_firs'+"'"};if(vErrors===null){vErrors=[err25];}else {vErrors.push(err25);}errors++;}if(data6.area_preset===undefined){var err26={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/required',keyword:'required',params:{missingProperty:'area_preset'},message:"must have required property '"+'area_preset'+"'"};if(vErrors===null){vErrors=[err26];}else {vErrors.push(err26);}errors++;}for(var key2 in data6){if(!func2$1.call(keyword0.properties,key2)){var err27={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/additionalProperties',keyword:'additionalProperties',params:{additionalProperty:key2},message:'must NOT have additional properties'};if(vErrors===null){vErrors=[err27];}else {vErrors.push(err27);}errors++;}}if(data6.fir_name!==undefined){if(typeof data6.fir_name!=='string'){var err28={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_name',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/fir_name/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err28];}else {vErrors.push(err28);}errors++;}}if(data6.fir_location!==undefined){var data8=data6.fir_location;if(data8&&_typeof(data8)=='object'&&!Array.isArray(data8)){if(data8.type===undefined){var err29={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location',schemaPath:'geojson.schema.json/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err29];}else {vErrors.push(err29);}errors++;}if(data8.features===undefined){var err30={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location',schemaPath:'geojson.schema.json/required',keyword:'required',params:{missingProperty:'features'},message:"must have required property '"+'features'+"'"};if(vErrors===null){vErrors=[err30];}else {vErrors.push(err30);}errors++;}if(data8.type!==undefined){var data9=data8.type;if(typeof data9!=='string'){var err31={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/type',schemaPath:'geojson.schema.json/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err31];}else {vErrors.push(err31);}errors++;}if(!(data9==='FeatureCollection')){var err32={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/type',schemaPath:'geojson.schema.json/properties/type/enum',keyword:'enum',params:{allowedValues:schema15$1.properties.type["enum"]},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err32];}else {vErrors.push(err32);}errors++;}}if(data8.features!==undefined){var data10=data8.features;if(Array.isArray(data10)){var len1=data10.length;for(var i1=0;i1<len1;i1++){var data11=data10[i1];if(data11&&_typeof(data11)=='object'&&!Array.isArray(data11)){if(data11.type===undefined){var err33={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1,schemaPath:'geojson.schema.json/properties/features/items/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err33];}else {vErrors.push(err33);}errors++;}if(data11.properties===undefined){var err34={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1,schemaPath:'geojson.schema.json/properties/features/items/required',keyword:'required',params:{missingProperty:'properties'},message:"must have required property '"+'properties'+"'"};if(vErrors===null){vErrors=[err34];}else {vErrors.push(err34);}errors++;}if(data11.geometry===undefined){var err35={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1,schemaPath:'geojson.schema.json/properties/features/items/required',keyword:'required',params:{missingProperty:'geometry'},message:"must have required property '"+'geometry'+"'"};if(vErrors===null){vErrors=[err35];}else {vErrors.push(err35);}errors++;}if(data11.type!==undefined){var data12=data11.type;if(typeof data12!=='string'){var err36={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err36];}else {vErrors.push(err36);}errors++;}if(!(data12==='Feature')){var err37={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/type/enum',keyword:'enum',params:{allowedValues:schema15$1.properties.features.items.properties.type["enum"]},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err37];}else {vErrors.push(err37);}errors++;}}if(data11.id!==undefined){var data13=data11.id;var _errs34=errors;var valid11=false;var passing0=null;var _errs35=errors;if(!(typeof data13=='number'&&isFinite(data13))){var err38={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/id',schemaPath:'geojson.schema.json/properties/features/items/properties/id/oneOf/0/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err38];}else {vErrors.push(err38);}errors++;}var _valid0=_errs35===errors;if(_valid0){valid11=true;passing0=0;}var _errs37=errors;if(typeof data13!=='string'){var err39={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/id',schemaPath:'geojson.schema.json/properties/features/items/properties/id/oneOf/1/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err39];}else {vErrors.push(err39);}errors++;}var _valid0=_errs37===errors;if(_valid0&&valid11){valid11=false;passing0=[passing0,1];}else {if(_valid0){valid11=true;passing0=1;}}if(!valid11){var err40={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/id',schemaPath:'geojson.schema.json/properties/features/items/properties/id/oneOf',keyword:'oneOf',params:{passingSchemas:passing0},message:'must match exactly one schema in oneOf'};if(vErrors===null){vErrors=[err40];}else {vErrors.push(err40);}errors++;}else {errors=_errs34;if(vErrors!==null){if(_errs34){vErrors.length=_errs34;}else {vErrors=null;}}}}if(data11.properties!==undefined){var data14=data11.properties;if(data14&&_typeof(data14)=='object'&&!Array.isArray(data14)){if(data14.selectionType!==undefined){if(typeof data14.selectionType!=='string'){var err41={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/properties/selectionType',schemaPath:'geojson.schema.json/properties/features/items/properties/properties/properties/selectionType/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err41];}else {vErrors.push(err41);}errors++;}}}else {var err42={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/properties',schemaPath:'geojson.schema.json/properties/features/items/properties/properties/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err42];}else {vErrors.push(err42);}errors++;}}if(data11.geometry!==undefined){var data16=data11.geometry;var _errs44=errors;var valid13=false;var passing1=null;var _errs45=errors;if(data16!==null){var err43={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/0/type',keyword:'type',params:{type:'null'},message:'must be null'};if(vErrors===null){vErrors=[err43];}else {vErrors.push(err43);}errors++;}var _valid1=_errs45===errors;if(_valid1){valid13=true;passing1=0;}var _errs47=errors;if(data16&&_typeof(data16)=='object'&&!Array.isArray(data16)){if(data16.type===undefined){var err44={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/1/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err44];}else {vErrors.push(err44);}errors++;}if(data16.coordinates===undefined){var err45={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/1/required',keyword:'required',params:{missingProperty:'coordinates'},message:"must have required property '"+'coordinates'+"'"};if(vErrors===null){vErrors=[err45];}else {vErrors.push(err45);}errors++;}if(data16.type!==undefined){var data17=data16.type;if(typeof data17!=='string'){var err46={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/1/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err46];}else {vErrors.push(err46);}errors++;}if(!(data17==='Point')){var err47={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/1/properties/type/enum',keyword:'enum',params:{allowedValues:schema15$1.properties.features.items.properties.geometry.oneOf[1].properties.type["enum"]},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err47];}else {vErrors.push(err47);}errors++;}}if(data16.coordinates!==undefined){var data18=data16.coordinates;if(Array.isArray(data18)){if(data18.length<2){var err48={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/1/properties/coordinates/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err48];}else {vErrors.push(err48);}errors++;}var len2=data18.length;for(var i2=0;i2<len2;i2++){var data19=data18[i2];if(!(typeof data19=='number'&&isFinite(data19))){var err49={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i2,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/1/properties/coordinates/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err49];}else {vErrors.push(err49);}errors++;}}}else {var err50={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/1/properties/coordinates/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err50];}else {vErrors.push(err50);}errors++;}}if(data16.bbox!==undefined){var data20=data16.bbox;if(Array.isArray(data20)){if(data20.length<4){var err51={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/1/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err51];}else {vErrors.push(err51);}errors++;}}else {var err52={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/1/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err52];}else {vErrors.push(err52);}errors++;}}}else {var err53={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/1/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err53];}else {vErrors.push(err53);}errors++;}var _valid1=_errs47===errors;if(_valid1&&valid13){valid13=false;passing1=[passing1,1];}else {if(_valid1){valid13=true;passing1=1;}var _errs57=errors;if(data16&&_typeof(data16)=='object'&&!Array.isArray(data16)){if(data16.type===undefined){var err54={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/2/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err54];}else {vErrors.push(err54);}errors++;}if(data16.coordinates===undefined){var err55={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/2/required',keyword:'required',params:{missingProperty:'coordinates'},message:"must have required property '"+'coordinates'+"'"};if(vErrors===null){vErrors=[err55];}else {vErrors.push(err55);}errors++;}if(data16.type!==undefined){var data21=data16.type;if(typeof data21!=='string'){var err56={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/2/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err56];}else {vErrors.push(err56);}errors++;}if(!(data21==='LineString')){var err57={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/2/properties/type/enum',keyword:'enum',params:{allowedValues:schema15$1.properties.features.items.properties.geometry.oneOf[2].properties.type["enum"]},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err57];}else {vErrors.push(err57);}errors++;}}if(data16.coordinates!==undefined){var data22=data16.coordinates;if(Array.isArray(data22)){if(data22.length<2){var err58={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/2/properties/coordinates/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err58];}else {vErrors.push(err58);}errors++;}var len3=data22.length;for(var i3=0;i3<len3;i3++){var data23=data22[i3];if(Array.isArray(data23)){if(data23.length<2){var err59={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i3,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/2/properties/coordinates/items/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err59];}else {vErrors.push(err59);}errors++;}var len4=data23.length;for(var i4=0;i4<len4;i4++){var data24=data23[i4];if(!(typeof data24=='number'&&isFinite(data24))){var err60={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i3+'/'+i4,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/2/properties/coordinates/items/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err60];}else {vErrors.push(err60);}errors++;}}}else {var err61={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i3,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/2/properties/coordinates/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err61];}else {vErrors.push(err61);}errors++;}}}else {var err62={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/2/properties/coordinates/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err62];}else {vErrors.push(err62);}errors++;}}if(data16.bbox!==undefined){var data25=data16.bbox;if(Array.isArray(data25)){if(data25.length<4){var err63={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/2/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err63];}else {vErrors.push(err63);}errors++;}var len5=data25.length;for(var i5=0;i5<len5;i5++){var data26=data25[i5];if(!(typeof data26=='number'&&isFinite(data26))){var err64={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox/'+i5,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/2/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err64];}else {vErrors.push(err64);}errors++;}}}else {var err65={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/2/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err65];}else {vErrors.push(err65);}errors++;}}}else {var err66={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/2/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err66];}else {vErrors.push(err66);}errors++;}var _valid1=_errs57===errors;if(_valid1&&valid13){valid13=false;passing1=[passing1,2];}else {if(_valid1){valid13=true;passing1=2;}var _errs71=errors;if(data16&&_typeof(data16)=='object'&&!Array.isArray(data16)){if(data16.type===undefined){var err67={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err67];}else {vErrors.push(err67);}errors++;}if(data16.coordinates===undefined){var err68={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/required',keyword:'required',params:{missingProperty:'coordinates'},message:"must have required property '"+'coordinates'+"'"};if(vErrors===null){vErrors=[err68];}else {vErrors.push(err68);}errors++;}if(data16.type!==undefined){var data27=data16.type;if(typeof data27!=='string'){var err69={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err69];}else {vErrors.push(err69);}errors++;}if(!(data27==='Polygon')){var err70={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/properties/type/enum',keyword:'enum',params:{allowedValues:schema15$1.properties.features.items.properties.geometry.oneOf[3].properties.type["enum"]},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err70];}else {vErrors.push(err70);}errors++;}}if(data16.coordinates!==undefined){var data28=data16.coordinates;if(Array.isArray(data28)){var len6=data28.length;for(var i6=0;i6<len6;i6++){var data29=data28[i6];if(Array.isArray(data29)){if(data29.length<4){var err71={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i6,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/properties/coordinates/items/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err71];}else {vErrors.push(err71);}errors++;}var len7=data29.length;for(var i7=0;i7<len7;i7++){var data30=data29[i7];if(Array.isArray(data30)){if(data30.length<2){var err72={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i6+'/'+i7,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/properties/coordinates/items/items/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err72];}else {vErrors.push(err72);}errors++;}var len8=data30.length;for(var i8=0;i8<len8;i8++){var data31=data30[i8];if(!(typeof data31=='number'&&isFinite(data31))){var err73={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i6+'/'+i7+'/'+i8,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/properties/coordinates/items/items/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err73];}else {vErrors.push(err73);}errors++;}}}else {var err74={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i6+'/'+i7,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/properties/coordinates/items/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err74];}else {vErrors.push(err74);}errors++;}}}else {var err75={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i6,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/properties/coordinates/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err75];}else {vErrors.push(err75);}errors++;}}}else {var err76={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/properties/coordinates/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err76];}else {vErrors.push(err76);}errors++;}}if(data16.bbox!==undefined){var data32=data16.bbox;if(Array.isArray(data32)){if(data32.length<4){var err77={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err77];}else {vErrors.push(err77);}errors++;}var len9=data32.length;for(var i9=0;i9<len9;i9++){var data33=data32[i9];if(!(typeof data33=='number'&&isFinite(data33))){var err78={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox/'+i9,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err78];}else {vErrors.push(err78);}errors++;}}}else {var err79={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err79];}else {vErrors.push(err79);}errors++;}}}else {var err80={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err80];}else {vErrors.push(err80);}errors++;}var _valid1=_errs71===errors;if(_valid1&&valid13){valid13=false;passing1=[passing1,3];}else {if(_valid1){valid13=true;passing1=3;}var _errs87=errors;if(data16&&_typeof(data16)=='object'&&!Array.isArray(data16)){if(data16.type===undefined){var err81={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/4/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err81];}else {vErrors.push(err81);}errors++;}if(data16.coordinates===undefined){var err82={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/4/required',keyword:'required',params:{missingProperty:'coordinates'},message:"must have required property '"+'coordinates'+"'"};if(vErrors===null){vErrors=[err82];}else {vErrors.push(err82);}errors++;}if(data16.type!==undefined){var data34=data16.type;if(typeof data34!=='string'){var err83={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/4/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err83];}else {vErrors.push(err83);}errors++;}if(!(data34==='MultiPoint')){var err84={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/4/properties/type/enum',keyword:'enum',params:{allowedValues:schema15$1.properties.features.items.properties.geometry.oneOf[4].properties.type["enum"]},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err84];}else {vErrors.push(err84);}errors++;}}if(data16.coordinates!==undefined){var data35=data16.coordinates;if(Array.isArray(data35)){var len10=data35.length;for(var i10=0;i10<len10;i10++){var data36=data35[i10];if(Array.isArray(data36)){if(data36.length<2){var err85={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i10,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/4/properties/coordinates/items/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err85];}else {vErrors.push(err85);}errors++;}var len11=data36.length;for(var i11=0;i11<len11;i11++){var data37=data36[i11];if(!(typeof data37=='number'&&isFinite(data37))){var err86={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i10+'/'+i11,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/4/properties/coordinates/items/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err86];}else {vErrors.push(err86);}errors++;}}}else {var err87={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i10,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/4/properties/coordinates/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err87];}else {vErrors.push(err87);}errors++;}}}else {var err88={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/4/properties/coordinates/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err88];}else {vErrors.push(err88);}errors++;}}if(data16.bbox!==undefined){var data38=data16.bbox;if(Array.isArray(data38)){if(data38.length<4){var err89={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/4/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err89];}else {vErrors.push(err89);}errors++;}var len12=data38.length;for(var i12=0;i12<len12;i12++){var data39=data38[i12];if(!(typeof data39=='number'&&isFinite(data39))){var err90={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox/'+i12,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/4/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err90];}else {vErrors.push(err90);}errors++;}}}else {var err91={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/4/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err91];}else {vErrors.push(err91);}errors++;}}}else {var err92={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/4/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err92];}else {vErrors.push(err92);}errors++;}var _valid1=_errs87===errors;if(_valid1&&valid13){valid13=false;passing1=[passing1,4];}else {if(_valid1){valid13=true;passing1=4;}var _errs101=errors;if(data16&&_typeof(data16)=='object'&&!Array.isArray(data16)){if(data16.type===undefined){var err93={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err93];}else {vErrors.push(err93);}errors++;}if(data16.coordinates===undefined){var err94={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/required',keyword:'required',params:{missingProperty:'coordinates'},message:"must have required property '"+'coordinates'+"'"};if(vErrors===null){vErrors=[err94];}else {vErrors.push(err94);}errors++;}if(data16.type!==undefined){var data40=data16.type;if(typeof data40!=='string'){var err95={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err95];}else {vErrors.push(err95);}errors++;}if(!(data40==='MultiLineString')){var err96={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/properties/type/enum',keyword:'enum',params:{allowedValues:schema15$1.properties.features.items.properties.geometry.oneOf[5].properties.type["enum"]},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err96];}else {vErrors.push(err96);}errors++;}}if(data16.coordinates!==undefined){var data41=data16.coordinates;if(Array.isArray(data41)){var len13=data41.length;for(var i13=0;i13<len13;i13++){var data42=data41[i13];if(Array.isArray(data42)){if(data42.length<2){var err97={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i13,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/properties/coordinates/items/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err97];}else {vErrors.push(err97);}errors++;}var len14=data42.length;for(var i14=0;i14<len14;i14++){var data43=data42[i14];if(Array.isArray(data43)){if(data43.length<2){var err98={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i13+'/'+i14,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/properties/coordinates/items/items/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err98];}else {vErrors.push(err98);}errors++;}var len15=data43.length;for(var i15=0;i15<len15;i15++){var data44=data43[i15];if(!(typeof data44=='number'&&isFinite(data44))){var err99={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i13+'/'+i14+'/'+i15,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/properties/coordinates/items/items/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err99];}else {vErrors.push(err99);}errors++;}}}else {var err100={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i13+'/'+i14,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/properties/coordinates/items/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err100];}else {vErrors.push(err100);}errors++;}}}else {var err101={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i13,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/properties/coordinates/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err101];}else {vErrors.push(err101);}errors++;}}}else {var err102={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/properties/coordinates/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err102];}else {vErrors.push(err102);}errors++;}}if(data16.bbox!==undefined){var data45=data16.bbox;if(Array.isArray(data45)){if(data45.length<4){var err103={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err103];}else {vErrors.push(err103);}errors++;}var len16=data45.length;for(var i16=0;i16<len16;i16++){var data46=data45[i16];if(!(typeof data46=='number'&&isFinite(data46))){var err104={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox/'+i16,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err104];}else {vErrors.push(err104);}errors++;}}}else {var err105={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err105];}else {vErrors.push(err105);}errors++;}}}else {var err106={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err106];}else {vErrors.push(err106);}errors++;}var _valid1=_errs101===errors;if(_valid1&&valid13){valid13=false;passing1=[passing1,5];}else {if(_valid1){valid13=true;passing1=5;}var _errs117=errors;if(data16&&_typeof(data16)=='object'&&!Array.isArray(data16)){if(data16.type===undefined){var err107={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err107];}else {vErrors.push(err107);}errors++;}if(data16.coordinates===undefined){var err108={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/required',keyword:'required',params:{missingProperty:'coordinates'},message:"must have required property '"+'coordinates'+"'"};if(vErrors===null){vErrors=[err108];}else {vErrors.push(err108);}errors++;}if(data16.type!==undefined){var data47=data16.type;if(typeof data47!=='string'){var err109={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err109];}else {vErrors.push(err109);}errors++;}if(!(data47==='MultiPolygon')){var err110={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/properties/type/enum',keyword:'enum',params:{allowedValues:schema15$1.properties.features.items.properties.geometry.oneOf[6].properties.type["enum"]},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err110];}else {vErrors.push(err110);}errors++;}}if(data16.coordinates!==undefined){var data48=data16.coordinates;if(Array.isArray(data48)){var len17=data48.length;for(var i17=0;i17<len17;i17++){var data49=data48[i17];if(Array.isArray(data49)){var len18=data49.length;for(var i18=0;i18<len18;i18++){var data50=data49[i18];if(Array.isArray(data50)){if(data50.length<4){var err111={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i17+'/'+i18,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/properties/coordinates/items/items/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err111];}else {vErrors.push(err111);}errors++;}var len19=data50.length;for(var i19=0;i19<len19;i19++){var data51=data50[i19];if(Array.isArray(data51)){if(data51.length<2){var err112={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i17+'/'+i18+'/'+i19,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/properties/coordinates/items/items/items/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err112];}else {vErrors.push(err112);}errors++;}var len20=data51.length;for(var i20=0;i20<len20;i20++){var data52=data51[i20];if(!(typeof data52=='number'&&isFinite(data52))){var err113={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i17+'/'+i18+'/'+i19+'/'+i20,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/properties/coordinates/items/items/items/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err113];}else {vErrors.push(err113);}errors++;}}}else {var err114={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i17+'/'+i18+'/'+i19,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/properties/coordinates/items/items/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err114];}else {vErrors.push(err114);}errors++;}}}else {var err115={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i17+'/'+i18,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/properties/coordinates/items/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err115];}else {vErrors.push(err115);}errors++;}}}else {var err116={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i17,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/properties/coordinates/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err116];}else {vErrors.push(err116);}errors++;}}}else {var err117={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/properties/coordinates/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err117];}else {vErrors.push(err117);}errors++;}}if(data16.bbox!==undefined){var data53=data16.bbox;if(Array.isArray(data53)){if(data53.length<4){var err118={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err118];}else {vErrors.push(err118);}errors++;}var len21=data53.length;for(var i21=0;i21<len21;i21++){var data54=data53[i21];if(!(typeof data54=='number'&&isFinite(data54))){var err119={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox/'+i21,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err119];}else {vErrors.push(err119);}errors++;}}}else {var err120={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err120];}else {vErrors.push(err120);}errors++;}}}else {var err121={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err121];}else {vErrors.push(err121);}errors++;}var _valid1=_errs117===errors;if(_valid1&&valid13){valid13=false;passing1=[passing1,6];}else {if(_valid1){valid13=true;passing1=6;}var _errs135=errors;if(data16&&_typeof(data16)=='object'&&!Array.isArray(data16)){if(data16.type===undefined){var err122={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err122];}else {vErrors.push(err122);}errors++;}if(data16.geometries===undefined){var err123={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/required',keyword:'required',params:{missingProperty:'geometries'},message:"must have required property '"+'geometries'+"'"};if(vErrors===null){vErrors=[err123];}else {vErrors.push(err123);}errors++;}if(data16.type!==undefined){var data55=data16.type;if(typeof data55!=='string'){var err124={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err124];}else {vErrors.push(err124);}errors++;}if(!(data55==='GeometryCollection')){var err125={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/type/enum',keyword:'enum',params:{allowedValues:schema15$1.properties.features.items.properties.geometry.oneOf[7].properties.type["enum"]},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err125];}else {vErrors.push(err125);}errors++;}}if(data16.geometries!==undefined){var data56=data16.geometries;if(Array.isArray(data56)){var len22=data56.length;for(var i22=0;i22<len22;i22++){var data57=data56[i22];var _errs142=errors;var valid63=false;var passing2=null;var _errs143=errors;if(data57&&_typeof(data57)=='object'&&!Array.isArray(data57)){if(data57.type===undefined){var err126={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/0/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err126];}else {vErrors.push(err126);}errors++;}if(data57.coordinates===undefined){var err127={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/0/required',keyword:'required',params:{missingProperty:'coordinates'},message:"must have required property '"+'coordinates'+"'"};if(vErrors===null){vErrors=[err127];}else {vErrors.push(err127);}errors++;}if(data57.type!==undefined){var data58=data57.type;if(typeof data58!=='string'){var err128={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/0/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err128];}else {vErrors.push(err128);}errors++;}if(!(data58==='Point')){var err129={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/0/properties/type/enum',keyword:'enum',params:{allowedValues:schema15$1.properties.features.items.properties.geometry.oneOf[7].properties.geometries.items.oneOf[0].properties.type["enum"]},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err129];}else {vErrors.push(err129);}errors++;}}if(data57.coordinates!==undefined){var data59=data57.coordinates;if(Array.isArray(data59)){if(data59.length<2){var err130={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/0/properties/coordinates/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err130];}else {vErrors.push(err130);}errors++;}var len23=data59.length;for(var i23=0;i23<len23;i23++){var data60=data59[i23];if(!(typeof data60=='number'&&isFinite(data60))){var err131={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i23,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/0/properties/coordinates/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err131];}else {vErrors.push(err131);}errors++;}}}else {var err132={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/0/properties/coordinates/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err132];}else {vErrors.push(err132);}errors++;}}if(data57.bbox!==undefined){var data61=data57.bbox;if(Array.isArray(data61)){if(data61.length<4){var err133={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/0/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err133];}else {vErrors.push(err133);}errors++;}var len24=data61.length;for(var i24=0;i24<len24;i24++){var data62=data61[i24];if(!(typeof data62=='number'&&isFinite(data62))){var err134={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox/'+i24,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/0/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err134];}else {vErrors.push(err134);}errors++;}}}else {var err135={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/0/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err135];}else {vErrors.push(err135);}errors++;}}}else {var err136={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/0/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err136];}else {vErrors.push(err136);}errors++;}var _valid2=_errs143===errors;if(_valid2){valid63=true;passing2=0;}var _errs155=errors;if(data57&&_typeof(data57)=='object'&&!Array.isArray(data57)){if(data57.type===undefined){var err137={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/1/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err137];}else {vErrors.push(err137);}errors++;}if(data57.coordinates===undefined){var err138={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/1/required',keyword:'required',params:{missingProperty:'coordinates'},message:"must have required property '"+'coordinates'+"'"};if(vErrors===null){vErrors=[err138];}else {vErrors.push(err138);}errors++;}if(data57.type!==undefined){var data63=data57.type;if(typeof data63!=='string'){var err139={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/1/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err139];}else {vErrors.push(err139);}errors++;}if(!(data63==='LineString')){var err140={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/1/properties/type/enum',keyword:'enum',params:{allowedValues:schema15$1.properties.features.items.properties.geometry.oneOf[7].properties.geometries.items.oneOf[1].properties.type["enum"]},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err140];}else {vErrors.push(err140);}errors++;}}if(data57.coordinates!==undefined){var data64=data57.coordinates;if(Array.isArray(data64)){if(data64.length<2){var err141={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/1/properties/coordinates/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err141];}else {vErrors.push(err141);}errors++;}var len25=data64.length;for(var i25=0;i25<len25;i25++){var data65=data64[i25];if(Array.isArray(data65)){if(data65.length<2){var err142={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i25,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/1/properties/coordinates/items/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err142];}else {vErrors.push(err142);}errors++;}var len26=data65.length;for(var i26=0;i26<len26;i26++){var data66=data65[i26];if(!(typeof data66=='number'&&isFinite(data66))){var err143={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i25+'/'+i26,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/1/properties/coordinates/items/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err143];}else {vErrors.push(err143);}errors++;}}}else {var err144={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i25,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/1/properties/coordinates/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err144];}else {vErrors.push(err144);}errors++;}}}else {var err145={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/1/properties/coordinates/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err145];}else {vErrors.push(err145);}errors++;}}if(data57.bbox!==undefined){var data67=data57.bbox;if(Array.isArray(data67)){if(data67.length<4){var err146={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/1/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err146];}else {vErrors.push(err146);}errors++;}var len27=data67.length;for(var i27=0;i27<len27;i27++){var data68=data67[i27];if(!(typeof data68=='number'&&isFinite(data68))){var err147={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox/'+i27,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/1/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err147];}else {vErrors.push(err147);}errors++;}}}else {var err148={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/1/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err148];}else {vErrors.push(err148);}errors++;}}}else {var err149={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/1/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err149];}else {vErrors.push(err149);}errors++;}var _valid2=_errs155===errors;if(_valid2&&valid63){valid63=false;passing2=[passing2,1];}else {if(_valid2){valid63=true;passing2=1;}var _errs169=errors;if(data57&&_typeof(data57)=='object'&&!Array.isArray(data57)){if(data57.type===undefined){var err150={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err150];}else {vErrors.push(err150);}errors++;}if(data57.coordinates===undefined){var err151={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/required',keyword:'required',params:{missingProperty:'coordinates'},message:"must have required property '"+'coordinates'+"'"};if(vErrors===null){vErrors=[err151];}else {vErrors.push(err151);}errors++;}if(data57.type!==undefined){var data69=data57.type;if(typeof data69!=='string'){var err152={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err152];}else {vErrors.push(err152);}errors++;}if(!(data69==='Polygon')){var err153={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/properties/type/enum',keyword:'enum',params:{allowedValues:schema15$1.properties.features.items.properties.geometry.oneOf[7].properties.geometries.items.oneOf[2].properties.type["enum"]},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err153];}else {vErrors.push(err153);}errors++;}}if(data57.coordinates!==undefined){var data70=data57.coordinates;if(Array.isArray(data70)){var len28=data70.length;for(var i28=0;i28<len28;i28++){var data71=data70[i28];if(Array.isArray(data71)){if(data71.length<4){var err154={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i28,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/properties/coordinates/items/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err154];}else {vErrors.push(err154);}errors++;}var len29=data71.length;for(var i29=0;i29<len29;i29++){var data72=data71[i29];if(Array.isArray(data72)){if(data72.length<2){var err155={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i28+'/'+i29,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/properties/coordinates/items/items/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err155];}else {vErrors.push(err155);}errors++;}var len30=data72.length;for(var i30=0;i30<len30;i30++){var data73=data72[i30];if(!(typeof data73=='number'&&isFinite(data73))){var err156={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i28+'/'+i29+'/'+i30,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/properties/coordinates/items/items/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err156];}else {vErrors.push(err156);}errors++;}}}else {var err157={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i28+'/'+i29,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/properties/coordinates/items/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err157];}else {vErrors.push(err157);}errors++;}}}else {var err158={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i28,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/properties/coordinates/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err158];}else {vErrors.push(err158);}errors++;}}}else {var err159={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/properties/coordinates/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err159];}else {vErrors.push(err159);}errors++;}}if(data57.bbox!==undefined){var data74=data57.bbox;if(Array.isArray(data74)){if(data74.length<4){var err160={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err160];}else {vErrors.push(err160);}errors++;}var len31=data74.length;for(var i31=0;i31<len31;i31++){var data75=data74[i31];if(!(typeof data75=='number'&&isFinite(data75))){var err161={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox/'+i31,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err161];}else {vErrors.push(err161);}errors++;}}}else {var err162={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err162];}else {vErrors.push(err162);}errors++;}}}else {var err163={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err163];}else {vErrors.push(err163);}errors++;}var _valid2=_errs169===errors;if(_valid2&&valid63){valid63=false;passing2=[passing2,2];}else {if(_valid2){valid63=true;passing2=2;}var _errs185=errors;if(data57&&_typeof(data57)=='object'&&!Array.isArray(data57)){if(data57.type===undefined){var err164={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/3/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err164];}else {vErrors.push(err164);}errors++;}if(data57.coordinates===undefined){var err165={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/3/required',keyword:'required',params:{missingProperty:'coordinates'},message:"must have required property '"+'coordinates'+"'"};if(vErrors===null){vErrors=[err165];}else {vErrors.push(err165);}errors++;}if(data57.type!==undefined){var data76=data57.type;if(typeof data76!=='string'){var err166={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/3/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err166];}else {vErrors.push(err166);}errors++;}if(!(data76==='MultiPoint')){var err167={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/3/properties/type/enum',keyword:'enum',params:{allowedValues:schema15$1.properties.features.items.properties.geometry.oneOf[7].properties.geometries.items.oneOf[3].properties.type["enum"]},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err167];}else {vErrors.push(err167);}errors++;}}if(data57.coordinates!==undefined){var data77=data57.coordinates;if(Array.isArray(data77)){var len32=data77.length;for(var i32=0;i32<len32;i32++){var data78=data77[i32];if(Array.isArray(data78)){if(data78.length<2){var err168={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i32,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/3/properties/coordinates/items/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err168];}else {vErrors.push(err168);}errors++;}var len33=data78.length;for(var i33=0;i33<len33;i33++){var data79=data78[i33];if(!(typeof data79=='number'&&isFinite(data79))){var err169={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i32+'/'+i33,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/3/properties/coordinates/items/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err169];}else {vErrors.push(err169);}errors++;}}}else {var err170={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i32,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/3/properties/coordinates/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err170];}else {vErrors.push(err170);}errors++;}}}else {var err171={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/3/properties/coordinates/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err171];}else {vErrors.push(err171);}errors++;}}if(data57.bbox!==undefined){var data80=data57.bbox;if(Array.isArray(data80)){if(data80.length<4){var err172={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/3/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err172];}else {vErrors.push(err172);}errors++;}var len34=data80.length;for(var i34=0;i34<len34;i34++){var data81=data80[i34];if(!(typeof data81=='number'&&isFinite(data81))){var err173={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox/'+i34,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/3/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err173];}else {vErrors.push(err173);}errors++;}}}else {var err174={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/3/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err174];}else {vErrors.push(err174);}errors++;}}}else {var err175={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/3/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err175];}else {vErrors.push(err175);}errors++;}var _valid2=_errs185===errors;if(_valid2&&valid63){valid63=false;passing2=[passing2,3];}else {if(_valid2){valid63=true;passing2=3;}var _errs199=errors;if(data57&&_typeof(data57)=='object'&&!Array.isArray(data57)){if(data57.type===undefined){var err176={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err176];}else {vErrors.push(err176);}errors++;}if(data57.coordinates===undefined){var err177={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/required',keyword:'required',params:{missingProperty:'coordinates'},message:"must have required property '"+'coordinates'+"'"};if(vErrors===null){vErrors=[err177];}else {vErrors.push(err177);}errors++;}if(data57.type!==undefined){var data82=data57.type;if(typeof data82!=='string'){var err178={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err178];}else {vErrors.push(err178);}errors++;}if(!(data82==='MultiLineString')){var err179={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/properties/type/enum',keyword:'enum',params:{allowedValues:schema15$1.properties.features.items.properties.geometry.oneOf[7].properties.geometries.items.oneOf[4].properties.type["enum"]},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err179];}else {vErrors.push(err179);}errors++;}}if(data57.coordinates!==undefined){var data83=data57.coordinates;if(Array.isArray(data83)){var len35=data83.length;for(var i35=0;i35<len35;i35++){var data84=data83[i35];if(Array.isArray(data84)){if(data84.length<2){var err180={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i35,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/properties/coordinates/items/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err180];}else {vErrors.push(err180);}errors++;}var len36=data84.length;for(var i36=0;i36<len36;i36++){var data85=data84[i36];if(Array.isArray(data85)){if(data85.length<2){var err181={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i35+'/'+i36,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/properties/coordinates/items/items/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err181];}else {vErrors.push(err181);}errors++;}var len37=data85.length;for(var i37=0;i37<len37;i37++){var data86=data85[i37];if(!(typeof data86=='number'&&isFinite(data86))){var err182={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i35+'/'+i36+'/'+i37,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/properties/coordinates/items/items/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err182];}else {vErrors.push(err182);}errors++;}}}else {var err183={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i35+'/'+i36,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/properties/coordinates/items/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err183];}else {vErrors.push(err183);}errors++;}}}else {var err184={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i35,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/properties/coordinates/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err184];}else {vErrors.push(err184);}errors++;}}}else {var err185={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/properties/coordinates/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err185];}else {vErrors.push(err185);}errors++;}}if(data57.bbox!==undefined){var data87=data57.bbox;if(Array.isArray(data87)){if(data87.length<4){var err186={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err186];}else {vErrors.push(err186);}errors++;}var len38=data87.length;for(var i38=0;i38<len38;i38++){var data88=data87[i38];if(!(typeof data88=='number'&&isFinite(data88))){var err187={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox/'+i38,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err187];}else {vErrors.push(err187);}errors++;}}}else {var err188={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err188];}else {vErrors.push(err188);}errors++;}}}else {var err189={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err189];}else {vErrors.push(err189);}errors++;}var _valid2=_errs199===errors;if(_valid2&&valid63){valid63=false;passing2=[passing2,4];}else {if(_valid2){valid63=true;passing2=4;}var _errs215=errors;if(data57&&_typeof(data57)=='object'&&!Array.isArray(data57)){if(data57.type===undefined){var err190={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err190];}else {vErrors.push(err190);}errors++;}if(data57.coordinates===undefined){var err191={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/required',keyword:'required',params:{missingProperty:'coordinates'},message:"must have required property '"+'coordinates'+"'"};if(vErrors===null){vErrors=[err191];}else {vErrors.push(err191);}errors++;}if(data57.type!==undefined){var data89=data57.type;if(typeof data89!=='string'){var err192={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err192];}else {vErrors.push(err192);}errors++;}if(!(data89==='MultiPolygon')){var err193={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/properties/type/enum',keyword:'enum',params:{allowedValues:schema15$1.properties.features.items.properties.geometry.oneOf[7].properties.geometries.items.oneOf[5].properties.type["enum"]},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err193];}else {vErrors.push(err193);}errors++;}}if(data57.coordinates!==undefined){var data90=data57.coordinates;if(Array.isArray(data90)){var len39=data90.length;for(var i39=0;i39<len39;i39++){var data91=data90[i39];if(Array.isArray(data91)){var len40=data91.length;for(var i40=0;i40<len40;i40++){var data92=data91[i40];if(Array.isArray(data92)){if(data92.length<4){var err194={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i39+'/'+i40,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/properties/coordinates/items/items/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err194];}else {vErrors.push(err194);}errors++;}var len41=data92.length;for(var i41=0;i41<len41;i41++){var data93=data92[i41];if(Array.isArray(data93)){if(data93.length<2){var err195={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i39+'/'+i40+'/'+i41,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/properties/coordinates/items/items/items/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err195];}else {vErrors.push(err195);}errors++;}var len42=data93.length;for(var i42=0;i42<len42;i42++){var data94=data93[i42];if(!(typeof data94=='number'&&isFinite(data94))){var err196={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i39+'/'+i40+'/'+i41+'/'+i42,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/properties/coordinates/items/items/items/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err196];}else {vErrors.push(err196);}errors++;}}}else {var err197={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i39+'/'+i40+'/'+i41,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/properties/coordinates/items/items/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err197];}else {vErrors.push(err197);}errors++;}}}else {var err198={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i39+'/'+i40,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/properties/coordinates/items/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err198];}else {vErrors.push(err198);}errors++;}}}else {var err199={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i39,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/properties/coordinates/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err199];}else {vErrors.push(err199);}errors++;}}}else {var err200={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/properties/coordinates/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err200];}else {vErrors.push(err200);}errors++;}}if(data57.bbox!==undefined){var data95=data57.bbox;if(Array.isArray(data95)){if(data95.length<4){var err201={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err201];}else {vErrors.push(err201);}errors++;}var len43=data95.length;for(var i43=0;i43<len43;i43++){var data96=data95[i43];if(!(typeof data96=='number'&&isFinite(data96))){var err202={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox/'+i43,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err202];}else {vErrors.push(err202);}errors++;}}}else {var err203={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err203];}else {vErrors.push(err203);}errors++;}}}else {var err204={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err204];}else {vErrors.push(err204);}errors++;}var _valid2=_errs215===errors;if(_valid2&&valid63){valid63=false;passing2=[passing2,5];}else {if(_valid2){valid63=true;passing2=5;}}}}}}if(!valid63){var err205={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf',keyword:'oneOf',params:{passingSchemas:passing2},message:'must match exactly one schema in oneOf'};if(vErrors===null){vErrors=[err205];}else {vErrors.push(err205);}errors++;}else {errors=_errs142;if(vErrors!==null){if(_errs142){vErrors.length=_errs142;}else {vErrors=null;}}}}}else {var err206={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err206];}else {vErrors.push(err206);}errors++;}}if(data16.bbox!==undefined){var data97=data16.bbox;if(Array.isArray(data97)){if(data97.length<4){var err207={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err207];}else {vErrors.push(err207);}errors++;}var len44=data97.length;for(var i44=0;i44<len44;i44++){var data98=data97[i44];if(!(typeof data98=='number'&&isFinite(data98))){var err208={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox/'+i44,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err208];}else {vErrors.push(err208);}errors++;}}}else {var err209={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err209];}else {vErrors.push(err209);}errors++;}}}else {var err210={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err210];}else {vErrors.push(err210);}errors++;}var _valid1=_errs135===errors;if(_valid1&&valid13){valid13=false;passing1=[passing1,7];}else {if(_valid1){valid13=true;passing1=7;}}}}}}}}if(!valid13){var err211={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf',keyword:'oneOf',params:{passingSchemas:passing1},message:'must match exactly one schema in oneOf'};if(vErrors===null){vErrors=[err211];}else {vErrors.push(err211);}errors++;}else {errors=_errs44;if(vErrors!==null){if(_errs44){vErrors.length=_errs44;}else {vErrors=null;}}}}if(data11.bbox!==undefined){var data99=data11.bbox;if(Array.isArray(data99)){if(data99.length<4){var err212={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err212];}else {vErrors.push(err212);}errors++;}var len45=data99.length;for(var i45=0;i45<len45;i45++){var data100=data99[i45];if(!(typeof data100=='number'&&isFinite(data100))){var err213={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/bbox/'+i45,schemaPath:'geojson.schema.json/properties/features/items/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err213];}else {vErrors.push(err213);}errors++;}}}else {var err214={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err214];}else {vErrors.push(err214);}errors++;}}}else {var err215={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1,schemaPath:'geojson.schema.json/properties/features/items/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err215];}else {vErrors.push(err215);}errors++;}}}else {var err216={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features',schemaPath:'geojson.schema.json/properties/features/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err216];}else {vErrors.push(err216);}errors++;}}if(data8.bbox!==undefined){var data101=data8.bbox;if(Array.isArray(data101)){if(data101.length<4){var err217={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/bbox',schemaPath:'geojson.schema.json/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err217];}else {vErrors.push(err217);}errors++;}var len46=data101.length;for(var i46=0;i46<len46;i46++){var data102=data101[i46];if(!(typeof data102=='number'&&isFinite(data102))){var err218={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/bbox/'+i46,schemaPath:'geojson.schema.json/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err218];}else {vErrors.push(err218);}errors++;}}}else {var err219={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/bbox',schemaPath:'geojson.schema.json/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err219];}else {vErrors.push(err219);}errors++;}}}else {var err220={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location',schemaPath:'geojson.schema.json/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err220];}else {vErrors.push(err220);}errors++;}}if(data6.location_indicator_atsr!==undefined){if(typeof data6.location_indicator_atsr!=='string'){var err221={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/location_indicator_atsr',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/location_indicator_atsr/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err221];}else {vErrors.push(err221);}errors++;}}if(data6.location_indicator_atsu!==undefined){if(typeof data6.location_indicator_atsu!=='string'){var err222={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/location_indicator_atsu',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/location_indicator_atsu/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err222];}else {vErrors.push(err222);}errors++;}}if(data6.max_hours_of_validity!==undefined){var data105=data6.max_hours_of_validity;if(!(typeof data105=='number'&&isFinite(data105))){var err223={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/max_hours_of_validity',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/max_hours_of_validity/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err223];}else {vErrors.push(err223);}errors++;}}if(data6.hours_before_validity!==undefined){var data106=data6.hours_before_validity;if(!(typeof data106=='number'&&isFinite(data106))){var err224={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/hours_before_validity',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/hours_before_validity/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err224];}else {vErrors.push(err224);}errors++;}}if(data6.movement_rounding_kt!==undefined){var data107=data6.movement_rounding_kt;if(!(typeof data107=='number'&&isFinite(data107))){var err225={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/movement_rounding_kt',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/movement_rounding_kt/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err225];}else {vErrors.push(err225);}errors++;}}if(data6.movement_rounding_kmh!==undefined){var data108=data6.movement_rounding_kmh;if(!(typeof data108=='number'&&isFinite(data108))){var err226={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/movement_rounding_kmh',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/movement_rounding_kmh/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err226];}else {vErrors.push(err226);}errors++;}}if(data6.level_min!==undefined){var data109=data6.level_min;if(data109&&_typeof(data109)=='object'&&!Array.isArray(data109)){for(var key3 in data109){var data110=data109[key3];if(!(typeof data110=='number'&&isFinite(data110))){var err227={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/level_min/'+key3.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/level_min/additionalProperties/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err227];}else {vErrors.push(err227);}errors++;}}}else {var err228={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/level_min',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/level_min/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err228];}else {vErrors.push(err228);}errors++;}}if(data6.level_max!==undefined){var data111=data6.level_max;if(data111&&_typeof(data111)=='object'&&!Array.isArray(data111)){for(var key4 in data111){var data112=data111[key4];if(!(typeof data112=='number'&&isFinite(data112))){var err229={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/level_max/'+key4.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/level_max/additionalProperties/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err229];}else {vErrors.push(err229);}errors++;}}}else {var err230={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/level_max',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/level_max/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err230];}else {vErrors.push(err230);}errors++;}}if(data6.level_rounding_FL!==undefined){var data113=data6.level_rounding_FL;if(!(typeof data113=='number'&&isFinite(data113))){var err231={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/level_rounding_FL',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/level_rounding_FL/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err231];}else {vErrors.push(err231);}errors++;}}if(data6.level_rounding_FT!==undefined){var data114=data6.level_rounding_FT;if(!(typeof data114=='number'&&isFinite(data114))){var err232={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/level_rounding_FT',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/level_rounding_FT/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err232];}else {vErrors.push(err232);}errors++;}}if(data6.level_rounding_M!==undefined){var data115=data6.level_rounding_M;if(!(typeof data115=='number'&&isFinite(data115))){var err233={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/level_rounding_M',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/level_rounding_M/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err233];}else {vErrors.push(err233);}errors++;}}if(data6.movement_min!==undefined){var data116=data6.movement_min;if(data116&&_typeof(data116)=='object'&&!Array.isArray(data116)){for(var key5 in data116){var data117=data116[key5];if(!(typeof data117=='number'&&isFinite(data117))){var err234={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/movement_min/'+key5.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/movement_min/additionalProperties/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err234];}else {vErrors.push(err234);}errors++;}}}else {var err235={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/movement_min',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/movement_min/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err235];}else {vErrors.push(err235);}errors++;}}if(data6.movement_max!==undefined){var data118=data6.movement_max;if(data118&&_typeof(data118)=='object'&&!Array.isArray(data118)){for(var key6 in data118){var data119=data118[key6];if(!(typeof data119=='number'&&isFinite(data119))){var err236={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/movement_max/'+key6.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/movement_max/additionalProperties/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err236];}else {vErrors.push(err236);}errors++;}}}else {var err237={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/movement_max',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/movement_max/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err237];}else {vErrors.push(err237);}errors++;}}if(data6.units!==undefined){var data120=data6.units;if(Array.isArray(data120)){if(data120.length<1){var err238={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/units',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/units/minItems',keyword:'minItems',params:{limit:1},message:'must NOT have fewer than 1 items'};if(vErrors===null){vErrors=[err238];}else {vErrors.push(err238);}errors++;}var len47=data120.length;for(var i47=0;i47<len47;i47++){var data121=data120[i47];if(data121&&_typeof(data121)=='object'&&!Array.isArray(data121)){if(data121.unit_type===undefined){var err239={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/units/'+i47,schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/units/items/required',keyword:'required',params:{missingProperty:'unit_type'},message:"must have required property '"+'unit_type'+"'"};if(vErrors===null){vErrors=[err239];}else {vErrors.push(err239);}errors++;}if(data121.allowed_units===undefined){var err240={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/units/'+i47,schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/units/items/required',keyword:'required',params:{missingProperty:'allowed_units'},message:"must have required property '"+'allowed_units'+"'"};if(vErrors===null){vErrors=[err240];}else {vErrors.push(err240);}errors++;}for(var key7 in data121){if(!(key7==='unit_type'||key7==='allowed_units')){var err241={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/units/'+i47,schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/units/items/additionalProperties',keyword:'additionalProperties',params:{additionalProperty:key7},message:'must NOT have additional properties'};if(vErrors===null){vErrors=[err241];}else {vErrors.push(err241);}errors++;}}if(data121.unit_type!==undefined){if(typeof data121.unit_type!=='string'){var err242={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/units/'+i47+'/unit_type',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/units/items/properties/unit_type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err242];}else {vErrors.push(err242);}errors++;}}if(data121.allowed_units!==undefined){var data123=data121.allowed_units;if(Array.isArray(data123)){if(data123.length<1){var err243={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/units/'+i47+'/allowed_units',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/units/items/properties/allowed_units/minItems',keyword:'minItems',params:{limit:1},message:'must NOT have fewer than 1 items'};if(vErrors===null){vErrors=[err243];}else {vErrors.push(err243);}errors++;}var len48=data123.length;for(var i48=0;i48<len48;i48++){if(typeof data123[i48]!=='string'){var err244={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/units/'+i47+'/allowed_units/'+i48,schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/units/items/properties/allowed_units/items/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err244];}else {vErrors.push(err244);}errors++;}}}else {var err245={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/units/'+i47+'/allowed_units',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/units/items/properties/allowed_units/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err245];}else {vErrors.push(err245);}errors++;}}}else {var err246={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/units/'+i47,schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/units/items/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err246];}else {vErrors.push(err246);}errors++;}}}else {var err247={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/units',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/units/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err247];}else {vErrors.push(err247);}errors++;}}if(data6.tc_max_hours_of_validity!==undefined){var data125=data6.tc_max_hours_of_validity;if(!(typeof data125=='number'&&isFinite(data125))){var err248={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/tc_max_hours_of_validity',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/tc_max_hours_of_validity/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err248];}else {vErrors.push(err248);}errors++;}}if(data6.tc_hours_before_validity!==undefined){var data126=data6.tc_hours_before_validity;if(!(typeof data126=='number'&&isFinite(data126))){var err249={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/tc_hours_before_validity',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/tc_hours_before_validity/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err249];}else {vErrors.push(err249);}errors++;}}if(data6.va_max_hours_of_validity!==undefined){var data127=data6.va_max_hours_of_validity;if(!(typeof data127=='number'&&isFinite(data127))){var err250={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/va_max_hours_of_validity',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/va_max_hours_of_validity/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err250];}else {vErrors.push(err250);}errors++;}}if(data6.va_hours_before_validity!==undefined){var data128=data6.va_hours_before_validity;if(!(typeof data128=='number'&&isFinite(data128))){var err251={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/va_hours_before_validity',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/va_hours_before_validity/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err251];}else {vErrors.push(err251);}errors++;}}if(data6.adjacent_firs!==undefined){var data129=data6.adjacent_firs;if(Array.isArray(data129)){if(data129.length<1){var err252={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/adjacent_firs',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/adjacent_firs/minItems',keyword:'minItems',params:{limit:1},message:'must NOT have fewer than 1 items'};if(vErrors===null){vErrors=[err252];}else {vErrors.push(err252);}errors++;}var len49=data129.length;for(var i49=0;i49<len49;i49++){if(typeof data129[i49]!=='string'){var err253={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/adjacent_firs/'+i49,schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/adjacent_firs/items/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err253];}else {vErrors.push(err253);}errors++;}}}else {var err254={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/adjacent_firs',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/adjacent_firs/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err254];}else {vErrors.push(err254);}errors++;}}if(data6.area_preset!==undefined){if(typeof data6.area_preset!=='string'){var err255={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/area_preset',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/area_preset/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err255];}else {vErrors.push(err255);}errors++;}}}else {var err256={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err256];}else {vErrors.push(err256);}errors++;}var valid4=_errs17===errors;if(!valid4){var err257={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge',keyword:'$merge',params:{},message:'must pass "$merge" keyword validation'};if(vErrors===null){vErrors=[err257];}else {vErrors.push(err257);}errors++;}}}}else {var err258={instancePath:instancePath+'/fir_areas',schemaPath:'#/properties/fir_areas/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err258];}else {vErrors.push(err258);}errors++;}}if(data.mapPreset!==undefined){var data132=data.mapPreset;if(data132&&_typeof(data132)=='object'&&!Array.isArray(data132)){if(data132.layers!==undefined){var data133=data132.layers;if(Array.isArray(data133)){var len50=data133.length;for(var i50=0;i50<len50;i50++){var data134=data133[i50];if(data134&&_typeof(data134)=='object'&&!Array.isArray(data134)){if(data134.id===undefined){var err259={instancePath:instancePath+'/mapPreset/layers/'+i50,schemaPath:'#/properties/mapPreset/properties/layers/items/required',keyword:'required',params:{missingProperty:'id'},message:"must have required property '"+'id'+"'"};if(vErrors===null){vErrors=[err259];}else {vErrors.push(err259);}errors++;}if(data134.name===undefined){var err260={instancePath:instancePath+'/mapPreset/layers/'+i50,schemaPath:'#/properties/mapPreset/properties/layers/items/required',keyword:'required',params:{missingProperty:'name'},message:"must have required property '"+'name'+"'"};if(vErrors===null){vErrors=[err260];}else {vErrors.push(err260);}errors++;}if(data134.layerType===undefined){var err261={instancePath:instancePath+'/mapPreset/layers/'+i50,schemaPath:'#/properties/mapPreset/properties/layers/items/required',keyword:'required',params:{missingProperty:'layerType'},message:"must have required property '"+'layerType'+"'"};if(vErrors===null){vErrors=[err261];}else {vErrors.push(err261);}errors++;}if(data134.id!==undefined){if(typeof data134.id!=='string'){var err262={instancePath:instancePath+'/mapPreset/layers/'+i50+'/id',schemaPath:'#/properties/mapPreset/properties/layers/items/properties/id/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err262];}else {vErrors.push(err262);}errors++;}}if(data134.name!==undefined){if(typeof data134.name!=='string'){var err263={instancePath:instancePath+'/mapPreset/layers/'+i50+'/name',schemaPath:'#/properties/mapPreset/properties/layers/items/properties/name/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err263];}else {vErrors.push(err263);}errors++;}}if(data134.layerType!==undefined){var data137=data134.layerType;if(typeof data137!=='string'){var err264={instancePath:instancePath+'/mapPreset/layers/'+i50+'/layerType',schemaPath:'#/properties/mapPreset/properties/layers/items/properties/layerType/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err264];}else {vErrors.push(err264);}errors++;}if(!(data137==='overLayer'||data137==='baseLayer'||data137==='mapLayer')){var err265={instancePath:instancePath+'/mapPreset/layers/'+i50+'/layerType',schemaPath:'#/properties/mapPreset/properties/layers/items/properties/layerType/enum',keyword:'enum',params:{allowedValues:schema13.properties.mapPreset.properties.layers.items.properties.layerType["enum"]},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err265];}else {vErrors.push(err265);}errors++;}}}else {var err266={instancePath:instancePath+'/mapPreset/layers/'+i50,schemaPath:'#/properties/mapPreset/properties/layers/items/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err266];}else {vErrors.push(err266);}errors++;}}}else {var err267={instancePath:instancePath+'/mapPreset/layers',schemaPath:'#/properties/mapPreset/properties/layers/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err267];}else {vErrors.push(err267);}errors++;}}if(data132.proj!==undefined){var data138=data132.proj;if(data138&&_typeof(data138)=='object'&&!Array.isArray(data138)){if(data138.bbox===undefined){var err268={instancePath:instancePath+'/mapPreset/proj',schemaPath:'#/properties/mapPreset/properties/proj/required',keyword:'required',params:{missingProperty:'bbox'},message:"must have required property '"+'bbox'+"'"};if(vErrors===null){vErrors=[err268];}else {vErrors.push(err268);}errors++;}if(data138.srs===undefined){var err269={instancePath:instancePath+'/mapPreset/proj',schemaPath:'#/properties/mapPreset/properties/proj/required',keyword:'required',params:{missingProperty:'srs'},message:"must have required property '"+'srs'+"'"};if(vErrors===null){vErrors=[err269];}else {vErrors.push(err269);}errors++;}for(var key8 in data138){if(!(key8==='bbox'||key8==='srs')){var err270={instancePath:instancePath+'/mapPreset/proj',schemaPath:'#/properties/mapPreset/properties/proj/additionalProperties',keyword:'additionalProperties',params:{additionalProperty:key8},message:'must NOT have additional properties'};if(vErrors===null){vErrors=[err270];}else {vErrors.push(err270);}errors++;}}if(data138.bbox!==undefined){var data139=data138.bbox;if(data139&&_typeof(data139)=='object'&&!Array.isArray(data139)){if(data139.left===undefined){var err271={instancePath:instancePath+'/mapPreset/proj/bbox',schemaPath:'#/properties/mapPreset/properties/proj/properties/bbox/required',keyword:'required',params:{missingProperty:'left'},message:"must have required property '"+'left'+"'"};if(vErrors===null){vErrors=[err271];}else {vErrors.push(err271);}errors++;}if(data139.right===undefined){var err272={instancePath:instancePath+'/mapPreset/proj/bbox',schemaPath:'#/properties/mapPreset/properties/proj/properties/bbox/required',keyword:'required',params:{missingProperty:'right'},message:"must have required property '"+'right'+"'"};if(vErrors===null){vErrors=[err272];}else {vErrors.push(err272);}errors++;}if(data139.top===undefined){var err273={instancePath:instancePath+'/mapPreset/proj/bbox',schemaPath:'#/properties/mapPreset/properties/proj/properties/bbox/required',keyword:'required',params:{missingProperty:'top'},message:"must have required property '"+'top'+"'"};if(vErrors===null){vErrors=[err273];}else {vErrors.push(err273);}errors++;}if(data139.bottom===undefined){var err274={instancePath:instancePath+'/mapPreset/proj/bbox',schemaPath:'#/properties/mapPreset/properties/proj/properties/bbox/required',keyword:'required',params:{missingProperty:'bottom'},message:"must have required property '"+'bottom'+"'"};if(vErrors===null){vErrors=[err274];}else {vErrors.push(err274);}errors++;}for(var key9 in data139){if(!(key9==='left'||key9==='right'||key9==='top'||key9==='bottom')){var err275={instancePath:instancePath+'/mapPreset/proj/bbox',schemaPath:'#/properties/mapPreset/properties/proj/properties/bbox/additionalProperties',keyword:'additionalProperties',params:{additionalProperty:key9},message:'must NOT have additional properties'};if(vErrors===null){vErrors=[err275];}else {vErrors.push(err275);}errors++;}}if(data139.left!==undefined){var data140=data139.left;if(!(typeof data140=='number'&&isFinite(data140))){var err276={instancePath:instancePath+'/mapPreset/proj/bbox/left',schemaPath:'#/properties/mapPreset/properties/proj/properties/bbox/properties/left/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err276];}else {vErrors.push(err276);}errors++;}}if(data139.right!==undefined){var data141=data139.right;if(!(typeof data141=='number'&&isFinite(data141))){var err277={instancePath:instancePath+'/mapPreset/proj/bbox/right',schemaPath:'#/properties/mapPreset/properties/proj/properties/bbox/properties/right/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err277];}else {vErrors.push(err277);}errors++;}}if(data139.top!==undefined){var data142=data139.top;if(!(typeof data142=='number'&&isFinite(data142))){var err278={instancePath:instancePath+'/mapPreset/proj/bbox/top',schemaPath:'#/properties/mapPreset/properties/proj/properties/bbox/properties/top/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err278];}else {vErrors.push(err278);}errors++;}}if(data139.bottom!==undefined){var data143=data139.bottom;if(!(typeof data143=='number'&&isFinite(data143))){var err279={instancePath:instancePath+'/mapPreset/proj/bbox/bottom',schemaPath:'#/properties/mapPreset/properties/proj/properties/bbox/properties/bottom/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err279];}else {vErrors.push(err279);}errors++;}}}else {var err280={instancePath:instancePath+'/mapPreset/proj/bbox',schemaPath:'#/properties/mapPreset/properties/proj/properties/bbox/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err280];}else {vErrors.push(err280);}errors++;}}if(data138.srs!==undefined){if(typeof data138.srs!=='string'){var err281={instancePath:instancePath+'/mapPreset/proj/srs',schemaPath:'#/properties/mapPreset/properties/proj/properties/srs/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err281];}else {vErrors.push(err281);}errors++;}}}else {var err282={instancePath:instancePath+'/mapPreset/proj',schemaPath:'#/properties/mapPreset/properties/proj/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err282];}else {vErrors.push(err282);}errors++;}}}else {var err283={instancePath:instancePath+'/mapPreset',schemaPath:'#/properties/mapPreset/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err283];}else {vErrors.push(err283);}errors++;}}}else {var err284={instancePath:instancePath,schemaPath:'#/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err284];}else {vErrors.push(err284);}errors++;}validate14.errors=vErrors;return errors===0;}
|
|
7951
|
+
|
|
7952
|
+
var schema17={type:'object',title:'airmet config schema',properties:{location_indicator_mwo:{type:'string'},active_firs:{type:'array',items:{type:'string'},minItems:1},valid_from_delay_minutes:{type:'number'},default_validity_minutes:{type:'number'},fir_areas:{type:'object',patternProperties:{'':{type:'object',$merge:{source:{$ref:'firArea.schema.json'},"with":{properties:{cloud_level_min:{type:'object',additionalProperties:{type:'number'}},cloud_level_max:{type:'object',additionalProperties:{type:'number'}},cloud_lower_level_min:{type:'object',additionalProperties:{type:'number'}},cloud_lower_level_max:{type:'object',additionalProperties:{type:'number'}},cloud_level_rounding_ft:{type:'number'},cloud_level_rounding_m_below:{type:'number'},cloud_level_rounding_m_above:{type:'number'},wind_direction_rounding:{type:'number'},wind_speed_max:{type:'object',additionalProperties:{type:'number'}},wind_speed_min:{type:'object',additionalProperties:{type:'number'}},visibility_max:{type:'number'},visibility_min:{type:'number'},visibility_rounding_below:{type:'number'},visibility_rounding_above:{type:'number'}},required:['fir_name','fir_location','location_indicator_atsr','location_indicator_atsu','max_hours_of_validity','hours_before_validity','units']}}}},required:[],minProperties:1},mapPreset:{type:'object',properties:{layers:{type:'array',items:{type:'object',properties:{id:{type:'string'},name:{type:'string'},layerType:{type:'string',"enum":['overLayer','baseLayer','mapLayer']}},additionalProperties:true,required:['id','name','layerType']}},proj:{type:'object',properties:{bbox:{type:'object',properties:{left:{type:'number'},right:{type:'number'},top:{type:'number'},bottom:{type:'number'}},additionalProperties:false,required:['left','right','top','bottom']},srs:{type:'string'}},additionalProperties:false,required:['bbox','srs']}}}},required:['location_indicator_mwo','fir_areas','active_firs','valid_from_delay_minutes','default_validity_minutes'],additionalProperties:false};var schema15={$schema:'http://json-schema.org/draft-07/schema#',$id:'geojson.schema.json',title:'GeoJSON FeatureCollection',type:'object',required:['type','features'],properties:{type:{type:'string',"enum":['FeatureCollection']},features:{type:'array',items:{title:'GeoJSON Feature',type:'object',required:['type','properties','geometry'],properties:{type:{type:'string',"enum":['Feature']},id:{oneOf:[{type:'number'},{type:'string'}]},properties:{type:'object',properties:{selectionType:{type:'string'}}},geometry:{oneOf:[{type:'null'},{title:'GeoJSON Point',type:'object',required:['type','coordinates'],properties:{type:{type:'string',"enum":['Point']},coordinates:{type:'array',minItems:2,items:{type:'number'}},bbox:{type:'array',minItems:4,items:{}}}},{title:'GeoJSON LineString',type:'object',required:['type','coordinates'],properties:{type:{type:'string',"enum":['LineString']},coordinates:{type:'array',minItems:2,items:{type:'array',minItems:2,items:{type:'number'}}},bbox:{type:'array',minItems:4,items:{type:'number'}}}},{title:'GeoJSON Polygon',type:'object',required:['type','coordinates'],properties:{type:{type:'string',"enum":['Polygon']},coordinates:{type:'array',items:{type:'array',minItems:4,items:{type:'array',minItems:2,items:{type:'number'}}}},bbox:{type:'array',minItems:4,items:{type:'number'}}}},{title:'GeoJSON MultiPoint',type:'object',required:['type','coordinates'],properties:{type:{type:'string',"enum":['MultiPoint']},coordinates:{type:'array',items:{type:'array',minItems:2,items:{type:'number'}}},bbox:{type:'array',minItems:4,items:{type:'number'}}}},{title:'GeoJSON MultiLineString',type:'object',required:['type','coordinates'],properties:{type:{type:'string',"enum":['MultiLineString']},coordinates:{type:'array',items:{type:'array',minItems:2,items:{type:'array',minItems:2,items:{type:'number'}}}},bbox:{type:'array',minItems:4,items:{type:'number'}}}},{title:'GeoJSON MultiPolygon',type:'object',required:['type','coordinates'],properties:{type:{type:'string',"enum":['MultiPolygon']},coordinates:{type:'array',items:{type:'array',items:{type:'array',minItems:4,items:{type:'array',minItems:2,items:{type:'number'}}}}},bbox:{type:'array',minItems:4,items:{type:'number'}}}},{title:'GeoJSON GeometryCollection',type:'object',required:['type','geometries'],properties:{type:{type:'string',"enum":['GeometryCollection']},geometries:{type:'array',items:{oneOf:[{title:'GeoJSON Point',type:'object',required:['type','coordinates'],properties:{type:{type:'string',"enum":['Point']},coordinates:{type:'array',minItems:2,items:{type:'number'}},bbox:{type:'array',minItems:4,items:{type:'number'}}}},{title:'GeoJSON LineString',type:'object',required:['type','coordinates'],properties:{type:{type:'string',"enum":['LineString']},coordinates:{type:'array',minItems:2,items:{type:'array',minItems:2,items:{type:'number'}}},bbox:{type:'array',minItems:4,items:{type:'number'}}}},{title:'GeoJSON Polygon',type:'object',required:['type','coordinates'],properties:{type:{type:'string',"enum":['Polygon']},coordinates:{type:'array',items:{type:'array',minItems:4,items:{type:'array',minItems:2,items:{type:'number'}}}},bbox:{type:'array',minItems:4,items:{type:'number'}}}},{title:'GeoJSON MultiPoint',type:'object',required:['type','coordinates'],properties:{type:{type:'string',"enum":['MultiPoint']},coordinates:{type:'array',items:{type:'array',minItems:2,items:{type:'number'}}},bbox:{type:'array',minItems:4,items:{type:'number'}}}},{title:'GeoJSON MultiLineString',type:'object',required:['type','coordinates'],properties:{type:{type:'string',"enum":['MultiLineString']},coordinates:{type:'array',items:{type:'array',minItems:2,items:{type:'array',minItems:2,items:{type:'number'}}}},bbox:{type:'array',minItems:4,items:{type:'number'}}}},{title:'GeoJSON MultiPolygon',type:'object',required:['type','coordinates'],properties:{type:{type:'string',"enum":['MultiPolygon']},coordinates:{type:'array',items:{type:'array',items:{type:'array',minItems:4,items:{type:'array',minItems:2,items:{type:'number'}}}}},bbox:{type:'array',minItems:4,items:{type:'number'}}}}]}},bbox:{type:'array',minItems:4,items:{type:'number'}}}}]},bbox:{type:'array',minItems:4,items:{type:'number'}}}}},bbox:{type:'array',minItems:4,items:{type:'number'}}}};var pattern0=new RegExp('','u');var keyword1={$id:'firArea.schema.json',title:'fir config schema',description:'all properties defined in FIRConfig type',type:'object',properties:{fir_name:{type:'string'},fir_location:{$ref:'geojson.schema.json'},location_indicator_atsr:{type:'string'},location_indicator_atsu:{type:'string'},max_hours_of_validity:{type:'number'},hours_before_validity:{type:'number'},movement_rounding_kt:{type:'number'},movement_rounding_kmh:{type:'number'},level_min:{type:'object',additionalProperties:{type:'number'}},level_max:{type:'object',additionalProperties:{type:'number'}},level_rounding_FL:{type:'number'},level_rounding_FT:{type:'number'},level_rounding_M:{type:'number'},movement_min:{type:'object',additionalProperties:{type:'number'}},movement_max:{type:'object',additionalProperties:{type:'number'}},units:{type:'array',items:{type:'object',properties:{unit_type:{type:'string'},allowed_units:{type:'array',items:{type:'string'},minItems:1}},required:['unit_type','allowed_units'],additionalProperties:false},minItems:1},cloud_level_min:{type:'object',additionalProperties:{type:'number'}},cloud_level_max:{type:'object',additionalProperties:{type:'number'}},cloud_lower_level_min:{type:'object',additionalProperties:{type:'number'}},cloud_lower_level_max:{type:'object',additionalProperties:{type:'number'}},cloud_level_rounding_ft:{type:'number'},cloud_level_rounding_m_below:{type:'number'},cloud_level_rounding_m_above:{type:'number'},wind_direction_rounding:{type:'number'},wind_speed_max:{type:'object',additionalProperties:{type:'number'}},wind_speed_min:{type:'object',additionalProperties:{type:'number'}},visibility_max:{type:'number'},visibility_min:{type:'number'},visibility_rounding_below:{type:'number'},visibility_rounding_above:{type:'number'}},required:['fir_name','fir_location','location_indicator_atsr','location_indicator_atsu','max_hours_of_validity','hours_before_validity','units'],additionalProperties:false};var func2=Object.prototype.hasOwnProperty;function validate16(data){var _ref=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{},_ref$instancePath=_ref.instancePath,instancePath=_ref$instancePath===void 0?'':_ref$instancePath;_ref.parentData;_ref.parentDataProperty;_ref.rootData;var vErrors=null;var errors=0;if(data&&_typeof(data)=='object'&&!Array.isArray(data)){if(data.location_indicator_mwo===undefined){var err0={instancePath:instancePath,schemaPath:'#/required',keyword:'required',params:{missingProperty:'location_indicator_mwo'},message:"must have required property '"+'location_indicator_mwo'+"'"};if(vErrors===null){vErrors=[err0];}else {vErrors.push(err0);}errors++;}if(data.fir_areas===undefined){var err1={instancePath:instancePath,schemaPath:'#/required',keyword:'required',params:{missingProperty:'fir_areas'},message:"must have required property '"+'fir_areas'+"'"};if(vErrors===null){vErrors=[err1];}else {vErrors.push(err1);}errors++;}if(data.active_firs===undefined){var err2={instancePath:instancePath,schemaPath:'#/required',keyword:'required',params:{missingProperty:'active_firs'},message:"must have required property '"+'active_firs'+"'"};if(vErrors===null){vErrors=[err2];}else {vErrors.push(err2);}errors++;}if(data.valid_from_delay_minutes===undefined){var err3={instancePath:instancePath,schemaPath:'#/required',keyword:'required',params:{missingProperty:'valid_from_delay_minutes'},message:"must have required property '"+'valid_from_delay_minutes'+"'"};if(vErrors===null){vErrors=[err3];}else {vErrors.push(err3);}errors++;}if(data.default_validity_minutes===undefined){var err4={instancePath:instancePath,schemaPath:'#/required',keyword:'required',params:{missingProperty:'default_validity_minutes'},message:"must have required property '"+'default_validity_minutes'+"'"};if(vErrors===null){vErrors=[err4];}else {vErrors.push(err4);}errors++;}for(var key0 in data){if(!(key0==='location_indicator_mwo'||key0==='active_firs'||key0==='valid_from_delay_minutes'||key0==='default_validity_minutes'||key0==='fir_areas'||key0==='mapPreset')){var err5={instancePath:instancePath,schemaPath:'#/additionalProperties',keyword:'additionalProperties',params:{additionalProperty:key0},message:'must NOT have additional properties'};if(vErrors===null){vErrors=[err5];}else {vErrors.push(err5);}errors++;}}if(data.location_indicator_mwo!==undefined){if(typeof data.location_indicator_mwo!=='string'){var err6={instancePath:instancePath+'/location_indicator_mwo',schemaPath:'#/properties/location_indicator_mwo/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err6];}else {vErrors.push(err6);}errors++;}}if(data.active_firs!==undefined){var data1=data.active_firs;if(Array.isArray(data1)){if(data1.length<1){var err7={instancePath:instancePath+'/active_firs',schemaPath:'#/properties/active_firs/minItems',keyword:'minItems',params:{limit:1},message:'must NOT have fewer than 1 items'};if(vErrors===null){vErrors=[err7];}else {vErrors.push(err7);}errors++;}var len0=data1.length;for(var i0=0;i0<len0;i0++){if(typeof data1[i0]!=='string'){var err8={instancePath:instancePath+'/active_firs/'+i0,schemaPath:'#/properties/active_firs/items/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err8];}else {vErrors.push(err8);}errors++;}}}else {var err9={instancePath:instancePath+'/active_firs',schemaPath:'#/properties/active_firs/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err9];}else {vErrors.push(err9);}errors++;}}if(data.valid_from_delay_minutes!==undefined){var data3=data.valid_from_delay_minutes;if(!(typeof data3=='number'&&isFinite(data3))){var err10={instancePath:instancePath+'/valid_from_delay_minutes',schemaPath:'#/properties/valid_from_delay_minutes/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err10];}else {vErrors.push(err10);}errors++;}}if(data.default_validity_minutes!==undefined){var data4=data.default_validity_minutes;if(!(typeof data4=='number'&&isFinite(data4))){var err11={instancePath:instancePath+'/default_validity_minutes',schemaPath:'#/properties/default_validity_minutes/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err11];}else {vErrors.push(err11);}errors++;}}if(data.fir_areas!==undefined){var data5=data.fir_areas;if(data5&&_typeof(data5)=='object'&&!Array.isArray(data5)){if(Object.keys(data5).length<1){var err12={instancePath:instancePath+'/fir_areas',schemaPath:'#/properties/fir_areas/minProperties',keyword:'minProperties',params:{limit:1},message:'must NOT have fewer than 1 properties'};if(vErrors===null){vErrors=[err12];}else {vErrors.push(err12);}errors++;}for(var key1 in data5){if(pattern0.test(key1)){var data6=data5[key1];if(!(data6&&_typeof(data6)=='object'&&!Array.isArray(data6))){var err13={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err13];}else {vErrors.push(err13);}errors++;}var _errs17=errors;if(data6&&_typeof(data6)=='object'&&!Array.isArray(data6)){if(data6.fir_name===undefined){var err14={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/required',keyword:'required',params:{missingProperty:'fir_name'},message:"must have required property '"+'fir_name'+"'"};if(vErrors===null){vErrors=[err14];}else {vErrors.push(err14);}errors++;}if(data6.fir_location===undefined){var err15={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/required',keyword:'required',params:{missingProperty:'fir_location'},message:"must have required property '"+'fir_location'+"'"};if(vErrors===null){vErrors=[err15];}else {vErrors.push(err15);}errors++;}if(data6.location_indicator_atsr===undefined){var err16={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/required',keyword:'required',params:{missingProperty:'location_indicator_atsr'},message:"must have required property '"+'location_indicator_atsr'+"'"};if(vErrors===null){vErrors=[err16];}else {vErrors.push(err16);}errors++;}if(data6.location_indicator_atsu===undefined){var err17={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/required',keyword:'required',params:{missingProperty:'location_indicator_atsu'},message:"must have required property '"+'location_indicator_atsu'+"'"};if(vErrors===null){vErrors=[err17];}else {vErrors.push(err17);}errors++;}if(data6.max_hours_of_validity===undefined){var err18={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/required',keyword:'required',params:{missingProperty:'max_hours_of_validity'},message:"must have required property '"+'max_hours_of_validity'+"'"};if(vErrors===null){vErrors=[err18];}else {vErrors.push(err18);}errors++;}if(data6.hours_before_validity===undefined){var err19={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/required',keyword:'required',params:{missingProperty:'hours_before_validity'},message:"must have required property '"+'hours_before_validity'+"'"};if(vErrors===null){vErrors=[err19];}else {vErrors.push(err19);}errors++;}if(data6.units===undefined){var err20={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/required',keyword:'required',params:{missingProperty:'units'},message:"must have required property '"+'units'+"'"};if(vErrors===null){vErrors=[err20];}else {vErrors.push(err20);}errors++;}for(var key2 in data6){if(!func2.call(keyword1.properties,key2)){var err21={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/additionalProperties',keyword:'additionalProperties',params:{additionalProperty:key2},message:'must NOT have additional properties'};if(vErrors===null){vErrors=[err21];}else {vErrors.push(err21);}errors++;}}if(data6.fir_name!==undefined){if(typeof data6.fir_name!=='string'){var err22={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_name',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/fir_name/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err22];}else {vErrors.push(err22);}errors++;}}if(data6.fir_location!==undefined){var data8=data6.fir_location;if(data8&&_typeof(data8)=='object'&&!Array.isArray(data8)){if(data8.type===undefined){var err23={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location',schemaPath:'geojson.schema.json/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err23];}else {vErrors.push(err23);}errors++;}if(data8.features===undefined){var err24={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location',schemaPath:'geojson.schema.json/required',keyword:'required',params:{missingProperty:'features'},message:"must have required property '"+'features'+"'"};if(vErrors===null){vErrors=[err24];}else {vErrors.push(err24);}errors++;}if(data8.type!==undefined){var data9=data8.type;if(typeof data9!=='string'){var err25={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/type',schemaPath:'geojson.schema.json/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err25];}else {vErrors.push(err25);}errors++;}if(!(data9==='FeatureCollection')){var err26={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/type',schemaPath:'geojson.schema.json/properties/type/enum',keyword:'enum',params:{allowedValues:schema15.properties.type["enum"]},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err26];}else {vErrors.push(err26);}errors++;}}if(data8.features!==undefined){var data10=data8.features;if(Array.isArray(data10)){var len1=data10.length;for(var i1=0;i1<len1;i1++){var data11=data10[i1];if(data11&&_typeof(data11)=='object'&&!Array.isArray(data11)){if(data11.type===undefined){var err27={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1,schemaPath:'geojson.schema.json/properties/features/items/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err27];}else {vErrors.push(err27);}errors++;}if(data11.properties===undefined){var err28={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1,schemaPath:'geojson.schema.json/properties/features/items/required',keyword:'required',params:{missingProperty:'properties'},message:"must have required property '"+'properties'+"'"};if(vErrors===null){vErrors=[err28];}else {vErrors.push(err28);}errors++;}if(data11.geometry===undefined){var err29={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1,schemaPath:'geojson.schema.json/properties/features/items/required',keyword:'required',params:{missingProperty:'geometry'},message:"must have required property '"+'geometry'+"'"};if(vErrors===null){vErrors=[err29];}else {vErrors.push(err29);}errors++;}if(data11.type!==undefined){var data12=data11.type;if(typeof data12!=='string'){var err30={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err30];}else {vErrors.push(err30);}errors++;}if(!(data12==='Feature')){var err31={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/type/enum',keyword:'enum',params:{allowedValues:schema15.properties.features.items.properties.type["enum"]},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err31];}else {vErrors.push(err31);}errors++;}}if(data11.id!==undefined){var data13=data11.id;var _errs34=errors;var valid11=false;var passing0=null;var _errs35=errors;if(!(typeof data13=='number'&&isFinite(data13))){var err32={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/id',schemaPath:'geojson.schema.json/properties/features/items/properties/id/oneOf/0/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err32];}else {vErrors.push(err32);}errors++;}var _valid0=_errs35===errors;if(_valid0){valid11=true;passing0=0;}var _errs37=errors;if(typeof data13!=='string'){var err33={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/id',schemaPath:'geojson.schema.json/properties/features/items/properties/id/oneOf/1/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err33];}else {vErrors.push(err33);}errors++;}var _valid0=_errs37===errors;if(_valid0&&valid11){valid11=false;passing0=[passing0,1];}else {if(_valid0){valid11=true;passing0=1;}}if(!valid11){var err34={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/id',schemaPath:'geojson.schema.json/properties/features/items/properties/id/oneOf',keyword:'oneOf',params:{passingSchemas:passing0},message:'must match exactly one schema in oneOf'};if(vErrors===null){vErrors=[err34];}else {vErrors.push(err34);}errors++;}else {errors=_errs34;if(vErrors!==null){if(_errs34){vErrors.length=_errs34;}else {vErrors=null;}}}}if(data11.properties!==undefined){var data14=data11.properties;if(data14&&_typeof(data14)=='object'&&!Array.isArray(data14)){if(data14.selectionType!==undefined){if(typeof data14.selectionType!=='string'){var err35={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/properties/selectionType',schemaPath:'geojson.schema.json/properties/features/items/properties/properties/properties/selectionType/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err35];}else {vErrors.push(err35);}errors++;}}}else {var err36={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/properties',schemaPath:'geojson.schema.json/properties/features/items/properties/properties/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err36];}else {vErrors.push(err36);}errors++;}}if(data11.geometry!==undefined){var data16=data11.geometry;var _errs44=errors;var valid13=false;var passing1=null;var _errs45=errors;if(data16!==null){var err37={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/0/type',keyword:'type',params:{type:'null'},message:'must be null'};if(vErrors===null){vErrors=[err37];}else {vErrors.push(err37);}errors++;}var _valid1=_errs45===errors;if(_valid1){valid13=true;passing1=0;}var _errs47=errors;if(data16&&_typeof(data16)=='object'&&!Array.isArray(data16)){if(data16.type===undefined){var err38={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/1/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err38];}else {vErrors.push(err38);}errors++;}if(data16.coordinates===undefined){var err39={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/1/required',keyword:'required',params:{missingProperty:'coordinates'},message:"must have required property '"+'coordinates'+"'"};if(vErrors===null){vErrors=[err39];}else {vErrors.push(err39);}errors++;}if(data16.type!==undefined){var data17=data16.type;if(typeof data17!=='string'){var err40={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/1/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err40];}else {vErrors.push(err40);}errors++;}if(!(data17==='Point')){var err41={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/1/properties/type/enum',keyword:'enum',params:{allowedValues:schema15.properties.features.items.properties.geometry.oneOf[1].properties.type["enum"]},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err41];}else {vErrors.push(err41);}errors++;}}if(data16.coordinates!==undefined){var data18=data16.coordinates;if(Array.isArray(data18)){if(data18.length<2){var err42={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/1/properties/coordinates/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err42];}else {vErrors.push(err42);}errors++;}var len2=data18.length;for(var i2=0;i2<len2;i2++){var data19=data18[i2];if(!(typeof data19=='number'&&isFinite(data19))){var err43={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i2,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/1/properties/coordinates/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err43];}else {vErrors.push(err43);}errors++;}}}else {var err44={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/1/properties/coordinates/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err44];}else {vErrors.push(err44);}errors++;}}if(data16.bbox!==undefined){var data20=data16.bbox;if(Array.isArray(data20)){if(data20.length<4){var err45={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/1/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err45];}else {vErrors.push(err45);}errors++;}}else {var err46={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/1/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err46];}else {vErrors.push(err46);}errors++;}}}else {var err47={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/1/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err47];}else {vErrors.push(err47);}errors++;}var _valid1=_errs47===errors;if(_valid1&&valid13){valid13=false;passing1=[passing1,1];}else {if(_valid1){valid13=true;passing1=1;}var _errs57=errors;if(data16&&_typeof(data16)=='object'&&!Array.isArray(data16)){if(data16.type===undefined){var err48={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/2/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err48];}else {vErrors.push(err48);}errors++;}if(data16.coordinates===undefined){var err49={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/2/required',keyword:'required',params:{missingProperty:'coordinates'},message:"must have required property '"+'coordinates'+"'"};if(vErrors===null){vErrors=[err49];}else {vErrors.push(err49);}errors++;}if(data16.type!==undefined){var data21=data16.type;if(typeof data21!=='string'){var err50={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/2/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err50];}else {vErrors.push(err50);}errors++;}if(!(data21==='LineString')){var err51={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/2/properties/type/enum',keyword:'enum',params:{allowedValues:schema15.properties.features.items.properties.geometry.oneOf[2].properties.type["enum"]},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err51];}else {vErrors.push(err51);}errors++;}}if(data16.coordinates!==undefined){var data22=data16.coordinates;if(Array.isArray(data22)){if(data22.length<2){var err52={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/2/properties/coordinates/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err52];}else {vErrors.push(err52);}errors++;}var len3=data22.length;for(var i3=0;i3<len3;i3++){var data23=data22[i3];if(Array.isArray(data23)){if(data23.length<2){var err53={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i3,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/2/properties/coordinates/items/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err53];}else {vErrors.push(err53);}errors++;}var len4=data23.length;for(var i4=0;i4<len4;i4++){var data24=data23[i4];if(!(typeof data24=='number'&&isFinite(data24))){var err54={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i3+'/'+i4,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/2/properties/coordinates/items/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err54];}else {vErrors.push(err54);}errors++;}}}else {var err55={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i3,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/2/properties/coordinates/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err55];}else {vErrors.push(err55);}errors++;}}}else {var err56={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/2/properties/coordinates/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err56];}else {vErrors.push(err56);}errors++;}}if(data16.bbox!==undefined){var data25=data16.bbox;if(Array.isArray(data25)){if(data25.length<4){var err57={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/2/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err57];}else {vErrors.push(err57);}errors++;}var len5=data25.length;for(var i5=0;i5<len5;i5++){var data26=data25[i5];if(!(typeof data26=='number'&&isFinite(data26))){var err58={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox/'+i5,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/2/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err58];}else {vErrors.push(err58);}errors++;}}}else {var err59={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/2/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err59];}else {vErrors.push(err59);}errors++;}}}else {var err60={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/2/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err60];}else {vErrors.push(err60);}errors++;}var _valid1=_errs57===errors;if(_valid1&&valid13){valid13=false;passing1=[passing1,2];}else {if(_valid1){valid13=true;passing1=2;}var _errs71=errors;if(data16&&_typeof(data16)=='object'&&!Array.isArray(data16)){if(data16.type===undefined){var err61={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err61];}else {vErrors.push(err61);}errors++;}if(data16.coordinates===undefined){var err62={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/required',keyword:'required',params:{missingProperty:'coordinates'},message:"must have required property '"+'coordinates'+"'"};if(vErrors===null){vErrors=[err62];}else {vErrors.push(err62);}errors++;}if(data16.type!==undefined){var data27=data16.type;if(typeof data27!=='string'){var err63={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err63];}else {vErrors.push(err63);}errors++;}if(!(data27==='Polygon')){var err64={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/properties/type/enum',keyword:'enum',params:{allowedValues:schema15.properties.features.items.properties.geometry.oneOf[3].properties.type["enum"]},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err64];}else {vErrors.push(err64);}errors++;}}if(data16.coordinates!==undefined){var data28=data16.coordinates;if(Array.isArray(data28)){var len6=data28.length;for(var i6=0;i6<len6;i6++){var data29=data28[i6];if(Array.isArray(data29)){if(data29.length<4){var err65={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i6,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/properties/coordinates/items/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err65];}else {vErrors.push(err65);}errors++;}var len7=data29.length;for(var i7=0;i7<len7;i7++){var data30=data29[i7];if(Array.isArray(data30)){if(data30.length<2){var err66={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i6+'/'+i7,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/properties/coordinates/items/items/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err66];}else {vErrors.push(err66);}errors++;}var len8=data30.length;for(var i8=0;i8<len8;i8++){var data31=data30[i8];if(!(typeof data31=='number'&&isFinite(data31))){var err67={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i6+'/'+i7+'/'+i8,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/properties/coordinates/items/items/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err67];}else {vErrors.push(err67);}errors++;}}}else {var err68={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i6+'/'+i7,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/properties/coordinates/items/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err68];}else {vErrors.push(err68);}errors++;}}}else {var err69={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i6,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/properties/coordinates/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err69];}else {vErrors.push(err69);}errors++;}}}else {var err70={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/properties/coordinates/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err70];}else {vErrors.push(err70);}errors++;}}if(data16.bbox!==undefined){var data32=data16.bbox;if(Array.isArray(data32)){if(data32.length<4){var err71={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err71];}else {vErrors.push(err71);}errors++;}var len9=data32.length;for(var i9=0;i9<len9;i9++){var data33=data32[i9];if(!(typeof data33=='number'&&isFinite(data33))){var err72={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox/'+i9,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err72];}else {vErrors.push(err72);}errors++;}}}else {var err73={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err73];}else {vErrors.push(err73);}errors++;}}}else {var err74={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err74];}else {vErrors.push(err74);}errors++;}var _valid1=_errs71===errors;if(_valid1&&valid13){valid13=false;passing1=[passing1,3];}else {if(_valid1){valid13=true;passing1=3;}var _errs87=errors;if(data16&&_typeof(data16)=='object'&&!Array.isArray(data16)){if(data16.type===undefined){var err75={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/4/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err75];}else {vErrors.push(err75);}errors++;}if(data16.coordinates===undefined){var err76={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/4/required',keyword:'required',params:{missingProperty:'coordinates'},message:"must have required property '"+'coordinates'+"'"};if(vErrors===null){vErrors=[err76];}else {vErrors.push(err76);}errors++;}if(data16.type!==undefined){var data34=data16.type;if(typeof data34!=='string'){var err77={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/4/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err77];}else {vErrors.push(err77);}errors++;}if(!(data34==='MultiPoint')){var err78={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/4/properties/type/enum',keyword:'enum',params:{allowedValues:schema15.properties.features.items.properties.geometry.oneOf[4].properties.type["enum"]},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err78];}else {vErrors.push(err78);}errors++;}}if(data16.coordinates!==undefined){var data35=data16.coordinates;if(Array.isArray(data35)){var len10=data35.length;for(var i10=0;i10<len10;i10++){var data36=data35[i10];if(Array.isArray(data36)){if(data36.length<2){var err79={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i10,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/4/properties/coordinates/items/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err79];}else {vErrors.push(err79);}errors++;}var len11=data36.length;for(var i11=0;i11<len11;i11++){var data37=data36[i11];if(!(typeof data37=='number'&&isFinite(data37))){var err80={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i10+'/'+i11,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/4/properties/coordinates/items/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err80];}else {vErrors.push(err80);}errors++;}}}else {var err81={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i10,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/4/properties/coordinates/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err81];}else {vErrors.push(err81);}errors++;}}}else {var err82={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/4/properties/coordinates/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err82];}else {vErrors.push(err82);}errors++;}}if(data16.bbox!==undefined){var data38=data16.bbox;if(Array.isArray(data38)){if(data38.length<4){var err83={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/4/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err83];}else {vErrors.push(err83);}errors++;}var len12=data38.length;for(var i12=0;i12<len12;i12++){var data39=data38[i12];if(!(typeof data39=='number'&&isFinite(data39))){var err84={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox/'+i12,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/4/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err84];}else {vErrors.push(err84);}errors++;}}}else {var err85={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/4/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err85];}else {vErrors.push(err85);}errors++;}}}else {var err86={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/4/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err86];}else {vErrors.push(err86);}errors++;}var _valid1=_errs87===errors;if(_valid1&&valid13){valid13=false;passing1=[passing1,4];}else {if(_valid1){valid13=true;passing1=4;}var _errs101=errors;if(data16&&_typeof(data16)=='object'&&!Array.isArray(data16)){if(data16.type===undefined){var err87={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err87];}else {vErrors.push(err87);}errors++;}if(data16.coordinates===undefined){var err88={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/required',keyword:'required',params:{missingProperty:'coordinates'},message:"must have required property '"+'coordinates'+"'"};if(vErrors===null){vErrors=[err88];}else {vErrors.push(err88);}errors++;}if(data16.type!==undefined){var data40=data16.type;if(typeof data40!=='string'){var err89={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err89];}else {vErrors.push(err89);}errors++;}if(!(data40==='MultiLineString')){var err90={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/properties/type/enum',keyword:'enum',params:{allowedValues:schema15.properties.features.items.properties.geometry.oneOf[5].properties.type["enum"]},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err90];}else {vErrors.push(err90);}errors++;}}if(data16.coordinates!==undefined){var data41=data16.coordinates;if(Array.isArray(data41)){var len13=data41.length;for(var i13=0;i13<len13;i13++){var data42=data41[i13];if(Array.isArray(data42)){if(data42.length<2){var err91={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i13,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/properties/coordinates/items/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err91];}else {vErrors.push(err91);}errors++;}var len14=data42.length;for(var i14=0;i14<len14;i14++){var data43=data42[i14];if(Array.isArray(data43)){if(data43.length<2){var err92={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i13+'/'+i14,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/properties/coordinates/items/items/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err92];}else {vErrors.push(err92);}errors++;}var len15=data43.length;for(var i15=0;i15<len15;i15++){var data44=data43[i15];if(!(typeof data44=='number'&&isFinite(data44))){var err93={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i13+'/'+i14+'/'+i15,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/properties/coordinates/items/items/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err93];}else {vErrors.push(err93);}errors++;}}}else {var err94={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i13+'/'+i14,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/properties/coordinates/items/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err94];}else {vErrors.push(err94);}errors++;}}}else {var err95={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i13,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/properties/coordinates/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err95];}else {vErrors.push(err95);}errors++;}}}else {var err96={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/properties/coordinates/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err96];}else {vErrors.push(err96);}errors++;}}if(data16.bbox!==undefined){var data45=data16.bbox;if(Array.isArray(data45)){if(data45.length<4){var err97={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err97];}else {vErrors.push(err97);}errors++;}var len16=data45.length;for(var i16=0;i16<len16;i16++){var data46=data45[i16];if(!(typeof data46=='number'&&isFinite(data46))){var err98={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox/'+i16,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err98];}else {vErrors.push(err98);}errors++;}}}else {var err99={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err99];}else {vErrors.push(err99);}errors++;}}}else {var err100={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err100];}else {vErrors.push(err100);}errors++;}var _valid1=_errs101===errors;if(_valid1&&valid13){valid13=false;passing1=[passing1,5];}else {if(_valid1){valid13=true;passing1=5;}var _errs117=errors;if(data16&&_typeof(data16)=='object'&&!Array.isArray(data16)){if(data16.type===undefined){var err101={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err101];}else {vErrors.push(err101);}errors++;}if(data16.coordinates===undefined){var err102={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/required',keyword:'required',params:{missingProperty:'coordinates'},message:"must have required property '"+'coordinates'+"'"};if(vErrors===null){vErrors=[err102];}else {vErrors.push(err102);}errors++;}if(data16.type!==undefined){var data47=data16.type;if(typeof data47!=='string'){var err103={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err103];}else {vErrors.push(err103);}errors++;}if(!(data47==='MultiPolygon')){var err104={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/properties/type/enum',keyword:'enum',params:{allowedValues:schema15.properties.features.items.properties.geometry.oneOf[6].properties.type["enum"]},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err104];}else {vErrors.push(err104);}errors++;}}if(data16.coordinates!==undefined){var data48=data16.coordinates;if(Array.isArray(data48)){var len17=data48.length;for(var i17=0;i17<len17;i17++){var data49=data48[i17];if(Array.isArray(data49)){var len18=data49.length;for(var i18=0;i18<len18;i18++){var data50=data49[i18];if(Array.isArray(data50)){if(data50.length<4){var err105={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i17+'/'+i18,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/properties/coordinates/items/items/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err105];}else {vErrors.push(err105);}errors++;}var len19=data50.length;for(var i19=0;i19<len19;i19++){var data51=data50[i19];if(Array.isArray(data51)){if(data51.length<2){var err106={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i17+'/'+i18+'/'+i19,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/properties/coordinates/items/items/items/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err106];}else {vErrors.push(err106);}errors++;}var len20=data51.length;for(var i20=0;i20<len20;i20++){var data52=data51[i20];if(!(typeof data52=='number'&&isFinite(data52))){var err107={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i17+'/'+i18+'/'+i19+'/'+i20,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/properties/coordinates/items/items/items/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err107];}else {vErrors.push(err107);}errors++;}}}else {var err108={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i17+'/'+i18+'/'+i19,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/properties/coordinates/items/items/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err108];}else {vErrors.push(err108);}errors++;}}}else {var err109={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i17+'/'+i18,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/properties/coordinates/items/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err109];}else {vErrors.push(err109);}errors++;}}}else {var err110={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i17,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/properties/coordinates/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err110];}else {vErrors.push(err110);}errors++;}}}else {var err111={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/properties/coordinates/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err111];}else {vErrors.push(err111);}errors++;}}if(data16.bbox!==undefined){var data53=data16.bbox;if(Array.isArray(data53)){if(data53.length<4){var err112={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err112];}else {vErrors.push(err112);}errors++;}var len21=data53.length;for(var i21=0;i21<len21;i21++){var data54=data53[i21];if(!(typeof data54=='number'&&isFinite(data54))){var err113={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox/'+i21,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err113];}else {vErrors.push(err113);}errors++;}}}else {var err114={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err114];}else {vErrors.push(err114);}errors++;}}}else {var err115={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err115];}else {vErrors.push(err115);}errors++;}var _valid1=_errs117===errors;if(_valid1&&valid13){valid13=false;passing1=[passing1,6];}else {if(_valid1){valid13=true;passing1=6;}var _errs135=errors;if(data16&&_typeof(data16)=='object'&&!Array.isArray(data16)){if(data16.type===undefined){var err116={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err116];}else {vErrors.push(err116);}errors++;}if(data16.geometries===undefined){var err117={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/required',keyword:'required',params:{missingProperty:'geometries'},message:"must have required property '"+'geometries'+"'"};if(vErrors===null){vErrors=[err117];}else {vErrors.push(err117);}errors++;}if(data16.type!==undefined){var data55=data16.type;if(typeof data55!=='string'){var err118={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err118];}else {vErrors.push(err118);}errors++;}if(!(data55==='GeometryCollection')){var err119={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/type/enum',keyword:'enum',params:{allowedValues:schema15.properties.features.items.properties.geometry.oneOf[7].properties.type["enum"]},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err119];}else {vErrors.push(err119);}errors++;}}if(data16.geometries!==undefined){var data56=data16.geometries;if(Array.isArray(data56)){var len22=data56.length;for(var i22=0;i22<len22;i22++){var data57=data56[i22];var _errs142=errors;var valid63=false;var passing2=null;var _errs143=errors;if(data57&&_typeof(data57)=='object'&&!Array.isArray(data57)){if(data57.type===undefined){var err120={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/0/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err120];}else {vErrors.push(err120);}errors++;}if(data57.coordinates===undefined){var err121={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/0/required',keyword:'required',params:{missingProperty:'coordinates'},message:"must have required property '"+'coordinates'+"'"};if(vErrors===null){vErrors=[err121];}else {vErrors.push(err121);}errors++;}if(data57.type!==undefined){var data58=data57.type;if(typeof data58!=='string'){var err122={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/0/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err122];}else {vErrors.push(err122);}errors++;}if(!(data58==='Point')){var err123={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/0/properties/type/enum',keyword:'enum',params:{allowedValues:schema15.properties.features.items.properties.geometry.oneOf[7].properties.geometries.items.oneOf[0].properties.type["enum"]},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err123];}else {vErrors.push(err123);}errors++;}}if(data57.coordinates!==undefined){var data59=data57.coordinates;if(Array.isArray(data59)){if(data59.length<2){var err124={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/0/properties/coordinates/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err124];}else {vErrors.push(err124);}errors++;}var len23=data59.length;for(var i23=0;i23<len23;i23++){var data60=data59[i23];if(!(typeof data60=='number'&&isFinite(data60))){var err125={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i23,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/0/properties/coordinates/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err125];}else {vErrors.push(err125);}errors++;}}}else {var err126={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/0/properties/coordinates/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err126];}else {vErrors.push(err126);}errors++;}}if(data57.bbox!==undefined){var data61=data57.bbox;if(Array.isArray(data61)){if(data61.length<4){var err127={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/0/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err127];}else {vErrors.push(err127);}errors++;}var len24=data61.length;for(var i24=0;i24<len24;i24++){var data62=data61[i24];if(!(typeof data62=='number'&&isFinite(data62))){var err128={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox/'+i24,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/0/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err128];}else {vErrors.push(err128);}errors++;}}}else {var err129={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/0/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err129];}else {vErrors.push(err129);}errors++;}}}else {var err130={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/0/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err130];}else {vErrors.push(err130);}errors++;}var _valid2=_errs143===errors;if(_valid2){valid63=true;passing2=0;}var _errs155=errors;if(data57&&_typeof(data57)=='object'&&!Array.isArray(data57)){if(data57.type===undefined){var err131={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/1/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err131];}else {vErrors.push(err131);}errors++;}if(data57.coordinates===undefined){var err132={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/1/required',keyword:'required',params:{missingProperty:'coordinates'},message:"must have required property '"+'coordinates'+"'"};if(vErrors===null){vErrors=[err132];}else {vErrors.push(err132);}errors++;}if(data57.type!==undefined){var data63=data57.type;if(typeof data63!=='string'){var err133={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/1/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err133];}else {vErrors.push(err133);}errors++;}if(!(data63==='LineString')){var err134={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/1/properties/type/enum',keyword:'enum',params:{allowedValues:schema15.properties.features.items.properties.geometry.oneOf[7].properties.geometries.items.oneOf[1].properties.type["enum"]},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err134];}else {vErrors.push(err134);}errors++;}}if(data57.coordinates!==undefined){var data64=data57.coordinates;if(Array.isArray(data64)){if(data64.length<2){var err135={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/1/properties/coordinates/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err135];}else {vErrors.push(err135);}errors++;}var len25=data64.length;for(var i25=0;i25<len25;i25++){var data65=data64[i25];if(Array.isArray(data65)){if(data65.length<2){var err136={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i25,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/1/properties/coordinates/items/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err136];}else {vErrors.push(err136);}errors++;}var len26=data65.length;for(var i26=0;i26<len26;i26++){var data66=data65[i26];if(!(typeof data66=='number'&&isFinite(data66))){var err137={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i25+'/'+i26,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/1/properties/coordinates/items/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err137];}else {vErrors.push(err137);}errors++;}}}else {var err138={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i25,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/1/properties/coordinates/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err138];}else {vErrors.push(err138);}errors++;}}}else {var err139={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/1/properties/coordinates/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err139];}else {vErrors.push(err139);}errors++;}}if(data57.bbox!==undefined){var data67=data57.bbox;if(Array.isArray(data67)){if(data67.length<4){var err140={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/1/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err140];}else {vErrors.push(err140);}errors++;}var len27=data67.length;for(var i27=0;i27<len27;i27++){var data68=data67[i27];if(!(typeof data68=='number'&&isFinite(data68))){var err141={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox/'+i27,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/1/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err141];}else {vErrors.push(err141);}errors++;}}}else {var err142={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/1/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err142];}else {vErrors.push(err142);}errors++;}}}else {var err143={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/1/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err143];}else {vErrors.push(err143);}errors++;}var _valid2=_errs155===errors;if(_valid2&&valid63){valid63=false;passing2=[passing2,1];}else {if(_valid2){valid63=true;passing2=1;}var _errs169=errors;if(data57&&_typeof(data57)=='object'&&!Array.isArray(data57)){if(data57.type===undefined){var err144={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err144];}else {vErrors.push(err144);}errors++;}if(data57.coordinates===undefined){var err145={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/required',keyword:'required',params:{missingProperty:'coordinates'},message:"must have required property '"+'coordinates'+"'"};if(vErrors===null){vErrors=[err145];}else {vErrors.push(err145);}errors++;}if(data57.type!==undefined){var data69=data57.type;if(typeof data69!=='string'){var err146={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err146];}else {vErrors.push(err146);}errors++;}if(!(data69==='Polygon')){var err147={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/properties/type/enum',keyword:'enum',params:{allowedValues:schema15.properties.features.items.properties.geometry.oneOf[7].properties.geometries.items.oneOf[2].properties.type["enum"]},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err147];}else {vErrors.push(err147);}errors++;}}if(data57.coordinates!==undefined){var data70=data57.coordinates;if(Array.isArray(data70)){var len28=data70.length;for(var i28=0;i28<len28;i28++){var data71=data70[i28];if(Array.isArray(data71)){if(data71.length<4){var err148={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i28,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/properties/coordinates/items/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err148];}else {vErrors.push(err148);}errors++;}var len29=data71.length;for(var i29=0;i29<len29;i29++){var data72=data71[i29];if(Array.isArray(data72)){if(data72.length<2){var err149={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i28+'/'+i29,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/properties/coordinates/items/items/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err149];}else {vErrors.push(err149);}errors++;}var len30=data72.length;for(var i30=0;i30<len30;i30++){var data73=data72[i30];if(!(typeof data73=='number'&&isFinite(data73))){var err150={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i28+'/'+i29+'/'+i30,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/properties/coordinates/items/items/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err150];}else {vErrors.push(err150);}errors++;}}}else {var err151={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i28+'/'+i29,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/properties/coordinates/items/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err151];}else {vErrors.push(err151);}errors++;}}}else {var err152={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i28,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/properties/coordinates/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err152];}else {vErrors.push(err152);}errors++;}}}else {var err153={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/properties/coordinates/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err153];}else {vErrors.push(err153);}errors++;}}if(data57.bbox!==undefined){var data74=data57.bbox;if(Array.isArray(data74)){if(data74.length<4){var err154={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err154];}else {vErrors.push(err154);}errors++;}var len31=data74.length;for(var i31=0;i31<len31;i31++){var data75=data74[i31];if(!(typeof data75=='number'&&isFinite(data75))){var err155={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox/'+i31,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err155];}else {vErrors.push(err155);}errors++;}}}else {var err156={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err156];}else {vErrors.push(err156);}errors++;}}}else {var err157={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err157];}else {vErrors.push(err157);}errors++;}var _valid2=_errs169===errors;if(_valid2&&valid63){valid63=false;passing2=[passing2,2];}else {if(_valid2){valid63=true;passing2=2;}var _errs185=errors;if(data57&&_typeof(data57)=='object'&&!Array.isArray(data57)){if(data57.type===undefined){var err158={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/3/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err158];}else {vErrors.push(err158);}errors++;}if(data57.coordinates===undefined){var err159={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/3/required',keyword:'required',params:{missingProperty:'coordinates'},message:"must have required property '"+'coordinates'+"'"};if(vErrors===null){vErrors=[err159];}else {vErrors.push(err159);}errors++;}if(data57.type!==undefined){var data76=data57.type;if(typeof data76!=='string'){var err160={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/3/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err160];}else {vErrors.push(err160);}errors++;}if(!(data76==='MultiPoint')){var err161={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/3/properties/type/enum',keyword:'enum',params:{allowedValues:schema15.properties.features.items.properties.geometry.oneOf[7].properties.geometries.items.oneOf[3].properties.type["enum"]},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err161];}else {vErrors.push(err161);}errors++;}}if(data57.coordinates!==undefined){var data77=data57.coordinates;if(Array.isArray(data77)){var len32=data77.length;for(var i32=0;i32<len32;i32++){var data78=data77[i32];if(Array.isArray(data78)){if(data78.length<2){var err162={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i32,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/3/properties/coordinates/items/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err162];}else {vErrors.push(err162);}errors++;}var len33=data78.length;for(var i33=0;i33<len33;i33++){var data79=data78[i33];if(!(typeof data79=='number'&&isFinite(data79))){var err163={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i32+'/'+i33,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/3/properties/coordinates/items/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err163];}else {vErrors.push(err163);}errors++;}}}else {var err164={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i32,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/3/properties/coordinates/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err164];}else {vErrors.push(err164);}errors++;}}}else {var err165={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/3/properties/coordinates/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err165];}else {vErrors.push(err165);}errors++;}}if(data57.bbox!==undefined){var data80=data57.bbox;if(Array.isArray(data80)){if(data80.length<4){var err166={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/3/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err166];}else {vErrors.push(err166);}errors++;}var len34=data80.length;for(var i34=0;i34<len34;i34++){var data81=data80[i34];if(!(typeof data81=='number'&&isFinite(data81))){var err167={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox/'+i34,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/3/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err167];}else {vErrors.push(err167);}errors++;}}}else {var err168={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/3/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err168];}else {vErrors.push(err168);}errors++;}}}else {var err169={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/3/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err169];}else {vErrors.push(err169);}errors++;}var _valid2=_errs185===errors;if(_valid2&&valid63){valid63=false;passing2=[passing2,3];}else {if(_valid2){valid63=true;passing2=3;}var _errs199=errors;if(data57&&_typeof(data57)=='object'&&!Array.isArray(data57)){if(data57.type===undefined){var err170={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err170];}else {vErrors.push(err170);}errors++;}if(data57.coordinates===undefined){var err171={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/required',keyword:'required',params:{missingProperty:'coordinates'},message:"must have required property '"+'coordinates'+"'"};if(vErrors===null){vErrors=[err171];}else {vErrors.push(err171);}errors++;}if(data57.type!==undefined){var data82=data57.type;if(typeof data82!=='string'){var err172={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err172];}else {vErrors.push(err172);}errors++;}if(!(data82==='MultiLineString')){var err173={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/properties/type/enum',keyword:'enum',params:{allowedValues:schema15.properties.features.items.properties.geometry.oneOf[7].properties.geometries.items.oneOf[4].properties.type["enum"]},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err173];}else {vErrors.push(err173);}errors++;}}if(data57.coordinates!==undefined){var data83=data57.coordinates;if(Array.isArray(data83)){var len35=data83.length;for(var i35=0;i35<len35;i35++){var data84=data83[i35];if(Array.isArray(data84)){if(data84.length<2){var err174={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i35,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/properties/coordinates/items/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err174];}else {vErrors.push(err174);}errors++;}var len36=data84.length;for(var i36=0;i36<len36;i36++){var data85=data84[i36];if(Array.isArray(data85)){if(data85.length<2){var err175={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i35+'/'+i36,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/properties/coordinates/items/items/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err175];}else {vErrors.push(err175);}errors++;}var len37=data85.length;for(var i37=0;i37<len37;i37++){var data86=data85[i37];if(!(typeof data86=='number'&&isFinite(data86))){var err176={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i35+'/'+i36+'/'+i37,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/properties/coordinates/items/items/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err176];}else {vErrors.push(err176);}errors++;}}}else {var err177={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i35+'/'+i36,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/properties/coordinates/items/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err177];}else {vErrors.push(err177);}errors++;}}}else {var err178={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i35,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/properties/coordinates/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err178];}else {vErrors.push(err178);}errors++;}}}else {var err179={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/properties/coordinates/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err179];}else {vErrors.push(err179);}errors++;}}if(data57.bbox!==undefined){var data87=data57.bbox;if(Array.isArray(data87)){if(data87.length<4){var err180={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err180];}else {vErrors.push(err180);}errors++;}var len38=data87.length;for(var i38=0;i38<len38;i38++){var data88=data87[i38];if(!(typeof data88=='number'&&isFinite(data88))){var err181={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox/'+i38,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err181];}else {vErrors.push(err181);}errors++;}}}else {var err182={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err182];}else {vErrors.push(err182);}errors++;}}}else {var err183={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err183];}else {vErrors.push(err183);}errors++;}var _valid2=_errs199===errors;if(_valid2&&valid63){valid63=false;passing2=[passing2,4];}else {if(_valid2){valid63=true;passing2=4;}var _errs215=errors;if(data57&&_typeof(data57)=='object'&&!Array.isArray(data57)){if(data57.type===undefined){var err184={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err184];}else {vErrors.push(err184);}errors++;}if(data57.coordinates===undefined){var err185={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/required',keyword:'required',params:{missingProperty:'coordinates'},message:"must have required property '"+'coordinates'+"'"};if(vErrors===null){vErrors=[err185];}else {vErrors.push(err185);}errors++;}if(data57.type!==undefined){var data89=data57.type;if(typeof data89!=='string'){var err186={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err186];}else {vErrors.push(err186);}errors++;}if(!(data89==='MultiPolygon')){var err187={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/properties/type/enum',keyword:'enum',params:{allowedValues:schema15.properties.features.items.properties.geometry.oneOf[7].properties.geometries.items.oneOf[5].properties.type["enum"]},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err187];}else {vErrors.push(err187);}errors++;}}if(data57.coordinates!==undefined){var data90=data57.coordinates;if(Array.isArray(data90)){var len39=data90.length;for(var i39=0;i39<len39;i39++){var data91=data90[i39];if(Array.isArray(data91)){var len40=data91.length;for(var i40=0;i40<len40;i40++){var data92=data91[i40];if(Array.isArray(data92)){if(data92.length<4){var err188={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i39+'/'+i40,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/properties/coordinates/items/items/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err188];}else {vErrors.push(err188);}errors++;}var len41=data92.length;for(var i41=0;i41<len41;i41++){var data93=data92[i41];if(Array.isArray(data93)){if(data93.length<2){var err189={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i39+'/'+i40+'/'+i41,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/properties/coordinates/items/items/items/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err189];}else {vErrors.push(err189);}errors++;}var len42=data93.length;for(var i42=0;i42<len42;i42++){var data94=data93[i42];if(!(typeof data94=='number'&&isFinite(data94))){var err190={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i39+'/'+i40+'/'+i41+'/'+i42,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/properties/coordinates/items/items/items/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err190];}else {vErrors.push(err190);}errors++;}}}else {var err191={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i39+'/'+i40+'/'+i41,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/properties/coordinates/items/items/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err191];}else {vErrors.push(err191);}errors++;}}}else {var err192={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i39+'/'+i40,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/properties/coordinates/items/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err192];}else {vErrors.push(err192);}errors++;}}}else {var err193={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i39,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/properties/coordinates/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err193];}else {vErrors.push(err193);}errors++;}}}else {var err194={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/properties/coordinates/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err194];}else {vErrors.push(err194);}errors++;}}if(data57.bbox!==undefined){var data95=data57.bbox;if(Array.isArray(data95)){if(data95.length<4){var err195={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err195];}else {vErrors.push(err195);}errors++;}var len43=data95.length;for(var i43=0;i43<len43;i43++){var data96=data95[i43];if(!(typeof data96=='number'&&isFinite(data96))){var err196={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox/'+i43,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err196];}else {vErrors.push(err196);}errors++;}}}else {var err197={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err197];}else {vErrors.push(err197);}errors++;}}}else {var err198={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err198];}else {vErrors.push(err198);}errors++;}var _valid2=_errs215===errors;if(_valid2&&valid63){valid63=false;passing2=[passing2,5];}else {if(_valid2){valid63=true;passing2=5;}}}}}}if(!valid63){var err199={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf',keyword:'oneOf',params:{passingSchemas:passing2},message:'must match exactly one schema in oneOf'};if(vErrors===null){vErrors=[err199];}else {vErrors.push(err199);}errors++;}else {errors=_errs142;if(vErrors!==null){if(_errs142){vErrors.length=_errs142;}else {vErrors=null;}}}}}else {var err200={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err200];}else {vErrors.push(err200);}errors++;}}if(data16.bbox!==undefined){var data97=data16.bbox;if(Array.isArray(data97)){if(data97.length<4){var err201={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err201];}else {vErrors.push(err201);}errors++;}var len44=data97.length;for(var i44=0;i44<len44;i44++){var data98=data97[i44];if(!(typeof data98=='number'&&isFinite(data98))){var err202={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox/'+i44,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err202];}else {vErrors.push(err202);}errors++;}}}else {var err203={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err203];}else {vErrors.push(err203);}errors++;}}}else {var err204={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err204];}else {vErrors.push(err204);}errors++;}var _valid1=_errs135===errors;if(_valid1&&valid13){valid13=false;passing1=[passing1,7];}else {if(_valid1){valid13=true;passing1=7;}}}}}}}}if(!valid13){var err205={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf',keyword:'oneOf',params:{passingSchemas:passing1},message:'must match exactly one schema in oneOf'};if(vErrors===null){vErrors=[err205];}else {vErrors.push(err205);}errors++;}else {errors=_errs44;if(vErrors!==null){if(_errs44){vErrors.length=_errs44;}else {vErrors=null;}}}}if(data11.bbox!==undefined){var data99=data11.bbox;if(Array.isArray(data99)){if(data99.length<4){var err206={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err206];}else {vErrors.push(err206);}errors++;}var len45=data99.length;for(var i45=0;i45<len45;i45++){var data100=data99[i45];if(!(typeof data100=='number'&&isFinite(data100))){var err207={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/bbox/'+i45,schemaPath:'geojson.schema.json/properties/features/items/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err207];}else {vErrors.push(err207);}errors++;}}}else {var err208={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err208];}else {vErrors.push(err208);}errors++;}}}else {var err209={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1,schemaPath:'geojson.schema.json/properties/features/items/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err209];}else {vErrors.push(err209);}errors++;}}}else {var err210={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features',schemaPath:'geojson.schema.json/properties/features/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err210];}else {vErrors.push(err210);}errors++;}}if(data8.bbox!==undefined){var data101=data8.bbox;if(Array.isArray(data101)){if(data101.length<4){var err211={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/bbox',schemaPath:'geojson.schema.json/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err211];}else {vErrors.push(err211);}errors++;}var len46=data101.length;for(var i46=0;i46<len46;i46++){var data102=data101[i46];if(!(typeof data102=='number'&&isFinite(data102))){var err212={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/bbox/'+i46,schemaPath:'geojson.schema.json/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err212];}else {vErrors.push(err212);}errors++;}}}else {var err213={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/bbox',schemaPath:'geojson.schema.json/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err213];}else {vErrors.push(err213);}errors++;}}}else {var err214={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location',schemaPath:'geojson.schema.json/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err214];}else {vErrors.push(err214);}errors++;}}if(data6.location_indicator_atsr!==undefined){if(typeof data6.location_indicator_atsr!=='string'){var err215={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/location_indicator_atsr',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/location_indicator_atsr/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err215];}else {vErrors.push(err215);}errors++;}}if(data6.location_indicator_atsu!==undefined){if(typeof data6.location_indicator_atsu!=='string'){var err216={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/location_indicator_atsu',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/location_indicator_atsu/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err216];}else {vErrors.push(err216);}errors++;}}if(data6.max_hours_of_validity!==undefined){var data105=data6.max_hours_of_validity;if(!(typeof data105=='number'&&isFinite(data105))){var err217={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/max_hours_of_validity',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/max_hours_of_validity/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err217];}else {vErrors.push(err217);}errors++;}}if(data6.hours_before_validity!==undefined){var data106=data6.hours_before_validity;if(!(typeof data106=='number'&&isFinite(data106))){var err218={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/hours_before_validity',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/hours_before_validity/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err218];}else {vErrors.push(err218);}errors++;}}if(data6.movement_rounding_kt!==undefined){var data107=data6.movement_rounding_kt;if(!(typeof data107=='number'&&isFinite(data107))){var err219={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/movement_rounding_kt',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/movement_rounding_kt/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err219];}else {vErrors.push(err219);}errors++;}}if(data6.movement_rounding_kmh!==undefined){var data108=data6.movement_rounding_kmh;if(!(typeof data108=='number'&&isFinite(data108))){var err220={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/movement_rounding_kmh',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/movement_rounding_kmh/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err220];}else {vErrors.push(err220);}errors++;}}if(data6.level_min!==undefined){var data109=data6.level_min;if(data109&&_typeof(data109)=='object'&&!Array.isArray(data109)){for(var key3 in data109){var data110=data109[key3];if(!(typeof data110=='number'&&isFinite(data110))){var err221={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/level_min/'+key3.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/level_min/additionalProperties/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err221];}else {vErrors.push(err221);}errors++;}}}else {var err222={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/level_min',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/level_min/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err222];}else {vErrors.push(err222);}errors++;}}if(data6.level_max!==undefined){var data111=data6.level_max;if(data111&&_typeof(data111)=='object'&&!Array.isArray(data111)){for(var key4 in data111){var data112=data111[key4];if(!(typeof data112=='number'&&isFinite(data112))){var err223={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/level_max/'+key4.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/level_max/additionalProperties/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err223];}else {vErrors.push(err223);}errors++;}}}else {var err224={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/level_max',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/level_max/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err224];}else {vErrors.push(err224);}errors++;}}if(data6.level_rounding_FL!==undefined){var data113=data6.level_rounding_FL;if(!(typeof data113=='number'&&isFinite(data113))){var err225={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/level_rounding_FL',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/level_rounding_FL/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err225];}else {vErrors.push(err225);}errors++;}}if(data6.level_rounding_FT!==undefined){var data114=data6.level_rounding_FT;if(!(typeof data114=='number'&&isFinite(data114))){var err226={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/level_rounding_FT',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/level_rounding_FT/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err226];}else {vErrors.push(err226);}errors++;}}if(data6.level_rounding_M!==undefined){var data115=data6.level_rounding_M;if(!(typeof data115=='number'&&isFinite(data115))){var err227={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/level_rounding_M',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/level_rounding_M/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err227];}else {vErrors.push(err227);}errors++;}}if(data6.movement_min!==undefined){var data116=data6.movement_min;if(data116&&_typeof(data116)=='object'&&!Array.isArray(data116)){for(var key5 in data116){var data117=data116[key5];if(!(typeof data117=='number'&&isFinite(data117))){var err228={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/movement_min/'+key5.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/movement_min/additionalProperties/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err228];}else {vErrors.push(err228);}errors++;}}}else {var err229={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/movement_min',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/movement_min/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err229];}else {vErrors.push(err229);}errors++;}}if(data6.movement_max!==undefined){var data118=data6.movement_max;if(data118&&_typeof(data118)=='object'&&!Array.isArray(data118)){for(var key6 in data118){var data119=data118[key6];if(!(typeof data119=='number'&&isFinite(data119))){var err230={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/movement_max/'+key6.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/movement_max/additionalProperties/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err230];}else {vErrors.push(err230);}errors++;}}}else {var err231={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/movement_max',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/movement_max/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err231];}else {vErrors.push(err231);}errors++;}}if(data6.units!==undefined){var data120=data6.units;if(Array.isArray(data120)){if(data120.length<1){var err232={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/units',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/units/minItems',keyword:'minItems',params:{limit:1},message:'must NOT have fewer than 1 items'};if(vErrors===null){vErrors=[err232];}else {vErrors.push(err232);}errors++;}var len47=data120.length;for(var i47=0;i47<len47;i47++){var data121=data120[i47];if(data121&&_typeof(data121)=='object'&&!Array.isArray(data121)){if(data121.unit_type===undefined){var err233={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/units/'+i47,schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/units/items/required',keyword:'required',params:{missingProperty:'unit_type'},message:"must have required property '"+'unit_type'+"'"};if(vErrors===null){vErrors=[err233];}else {vErrors.push(err233);}errors++;}if(data121.allowed_units===undefined){var err234={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/units/'+i47,schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/units/items/required',keyword:'required',params:{missingProperty:'allowed_units'},message:"must have required property '"+'allowed_units'+"'"};if(vErrors===null){vErrors=[err234];}else {vErrors.push(err234);}errors++;}for(var key7 in data121){if(!(key7==='unit_type'||key7==='allowed_units')){var err235={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/units/'+i47,schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/units/items/additionalProperties',keyword:'additionalProperties',params:{additionalProperty:key7},message:'must NOT have additional properties'};if(vErrors===null){vErrors=[err235];}else {vErrors.push(err235);}errors++;}}if(data121.unit_type!==undefined){if(typeof data121.unit_type!=='string'){var err236={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/units/'+i47+'/unit_type',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/units/items/properties/unit_type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err236];}else {vErrors.push(err236);}errors++;}}if(data121.allowed_units!==undefined){var data123=data121.allowed_units;if(Array.isArray(data123)){if(data123.length<1){var err237={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/units/'+i47+'/allowed_units',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/units/items/properties/allowed_units/minItems',keyword:'minItems',params:{limit:1},message:'must NOT have fewer than 1 items'};if(vErrors===null){vErrors=[err237];}else {vErrors.push(err237);}errors++;}var len48=data123.length;for(var i48=0;i48<len48;i48++){if(typeof data123[i48]!=='string'){var err238={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/units/'+i47+'/allowed_units/'+i48,schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/units/items/properties/allowed_units/items/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err238];}else {vErrors.push(err238);}errors++;}}}else {var err239={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/units/'+i47+'/allowed_units',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/units/items/properties/allowed_units/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err239];}else {vErrors.push(err239);}errors++;}}}else {var err240={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/units/'+i47,schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/units/items/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err240];}else {vErrors.push(err240);}errors++;}}}else {var err241={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/units',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/units/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err241];}else {vErrors.push(err241);}errors++;}}if(data6.cloud_level_min!==undefined){var data125=data6.cloud_level_min;if(data125&&_typeof(data125)=='object'&&!Array.isArray(data125)){for(var key8 in data125){var data126=data125[key8];if(!(typeof data126=='number'&&isFinite(data126))){var err242={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/cloud_level_min/'+key8.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/cloud_level_min/additionalProperties/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err242];}else {vErrors.push(err242);}errors++;}}}else {var err243={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/cloud_level_min',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/cloud_level_min/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err243];}else {vErrors.push(err243);}errors++;}}if(data6.cloud_level_max!==undefined){var data127=data6.cloud_level_max;if(data127&&_typeof(data127)=='object'&&!Array.isArray(data127)){for(var key9 in data127){var data128=data127[key9];if(!(typeof data128=='number'&&isFinite(data128))){var err244={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/cloud_level_max/'+key9.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/cloud_level_max/additionalProperties/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err244];}else {vErrors.push(err244);}errors++;}}}else {var err245={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/cloud_level_max',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/cloud_level_max/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err245];}else {vErrors.push(err245);}errors++;}}if(data6.cloud_lower_level_min!==undefined){var data129=data6.cloud_lower_level_min;if(data129&&_typeof(data129)=='object'&&!Array.isArray(data129)){for(var key10 in data129){var data130=data129[key10];if(!(typeof data130=='number'&&isFinite(data130))){var err246={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/cloud_lower_level_min/'+key10.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/cloud_lower_level_min/additionalProperties/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err246];}else {vErrors.push(err246);}errors++;}}}else {var err247={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/cloud_lower_level_min',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/cloud_lower_level_min/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err247];}else {vErrors.push(err247);}errors++;}}if(data6.cloud_lower_level_max!==undefined){var data131=data6.cloud_lower_level_max;if(data131&&_typeof(data131)=='object'&&!Array.isArray(data131)){for(var key11 in data131){var data132=data131[key11];if(!(typeof data132=='number'&&isFinite(data132))){var err248={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/cloud_lower_level_max/'+key11.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/cloud_lower_level_max/additionalProperties/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err248];}else {vErrors.push(err248);}errors++;}}}else {var err249={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/cloud_lower_level_max',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/cloud_lower_level_max/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err249];}else {vErrors.push(err249);}errors++;}}if(data6.cloud_level_rounding_ft!==undefined){var data133=data6.cloud_level_rounding_ft;if(!(typeof data133=='number'&&isFinite(data133))){var err250={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/cloud_level_rounding_ft',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/cloud_level_rounding_ft/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err250];}else {vErrors.push(err250);}errors++;}}if(data6.cloud_level_rounding_m_below!==undefined){var data134=data6.cloud_level_rounding_m_below;if(!(typeof data134=='number'&&isFinite(data134))){var err251={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/cloud_level_rounding_m_below',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/cloud_level_rounding_m_below/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err251];}else {vErrors.push(err251);}errors++;}}if(data6.cloud_level_rounding_m_above!==undefined){var data135=data6.cloud_level_rounding_m_above;if(!(typeof data135=='number'&&isFinite(data135))){var err252={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/cloud_level_rounding_m_above',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/cloud_level_rounding_m_above/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err252];}else {vErrors.push(err252);}errors++;}}if(data6.wind_direction_rounding!==undefined){var data136=data6.wind_direction_rounding;if(!(typeof data136=='number'&&isFinite(data136))){var err253={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/wind_direction_rounding',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/wind_direction_rounding/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err253];}else {vErrors.push(err253);}errors++;}}if(data6.wind_speed_max!==undefined){var data137=data6.wind_speed_max;if(data137&&_typeof(data137)=='object'&&!Array.isArray(data137)){for(var key12 in data137){var data138=data137[key12];if(!(typeof data138=='number'&&isFinite(data138))){var err254={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/wind_speed_max/'+key12.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/wind_speed_max/additionalProperties/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err254];}else {vErrors.push(err254);}errors++;}}}else {var err255={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/wind_speed_max',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/wind_speed_max/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err255];}else {vErrors.push(err255);}errors++;}}if(data6.wind_speed_min!==undefined){var data139=data6.wind_speed_min;if(data139&&_typeof(data139)=='object'&&!Array.isArray(data139)){for(var key13 in data139){var data140=data139[key13];if(!(typeof data140=='number'&&isFinite(data140))){var err256={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/wind_speed_min/'+key13.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/wind_speed_min/additionalProperties/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err256];}else {vErrors.push(err256);}errors++;}}}else {var err257={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/wind_speed_min',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/wind_speed_min/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err257];}else {vErrors.push(err257);}errors++;}}if(data6.visibility_max!==undefined){var data141=data6.visibility_max;if(!(typeof data141=='number'&&isFinite(data141))){var err258={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/visibility_max',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/visibility_max/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err258];}else {vErrors.push(err258);}errors++;}}if(data6.visibility_min!==undefined){var data142=data6.visibility_min;if(!(typeof data142=='number'&&isFinite(data142))){var err259={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/visibility_min',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/visibility_min/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err259];}else {vErrors.push(err259);}errors++;}}if(data6.visibility_rounding_below!==undefined){var data143=data6.visibility_rounding_below;if(!(typeof data143=='number'&&isFinite(data143))){var err260={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/visibility_rounding_below',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/visibility_rounding_below/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err260];}else {vErrors.push(err260);}errors++;}}if(data6.visibility_rounding_above!==undefined){var data144=data6.visibility_rounding_above;if(!(typeof data144=='number'&&isFinite(data144))){var err261={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/visibility_rounding_above',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/visibility_rounding_above/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err261];}else {vErrors.push(err261);}errors++;}}}else {var err262={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err262];}else {vErrors.push(err262);}errors++;}var valid4=_errs17===errors;if(!valid4){var err263={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge',keyword:'$merge',params:{},message:'must pass "$merge" keyword validation'};if(vErrors===null){vErrors=[err263];}else {vErrors.push(err263);}errors++;}}}}else {var err264={instancePath:instancePath+'/fir_areas',schemaPath:'#/properties/fir_areas/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err264];}else {vErrors.push(err264);}errors++;}}if(data.mapPreset!==undefined){var data145=data.mapPreset;if(data145&&_typeof(data145)=='object'&&!Array.isArray(data145)){if(data145.layers!==undefined){var data146=data145.layers;if(Array.isArray(data146)){var len49=data146.length;for(var i49=0;i49<len49;i49++){var data147=data146[i49];if(data147&&_typeof(data147)=='object'&&!Array.isArray(data147)){if(data147.id===undefined){var err265={instancePath:instancePath+'/mapPreset/layers/'+i49,schemaPath:'#/properties/mapPreset/properties/layers/items/required',keyword:'required',params:{missingProperty:'id'},message:"must have required property '"+'id'+"'"};if(vErrors===null){vErrors=[err265];}else {vErrors.push(err265);}errors++;}if(data147.name===undefined){var err266={instancePath:instancePath+'/mapPreset/layers/'+i49,schemaPath:'#/properties/mapPreset/properties/layers/items/required',keyword:'required',params:{missingProperty:'name'},message:"must have required property '"+'name'+"'"};if(vErrors===null){vErrors=[err266];}else {vErrors.push(err266);}errors++;}if(data147.layerType===undefined){var err267={instancePath:instancePath+'/mapPreset/layers/'+i49,schemaPath:'#/properties/mapPreset/properties/layers/items/required',keyword:'required',params:{missingProperty:'layerType'},message:"must have required property '"+'layerType'+"'"};if(vErrors===null){vErrors=[err267];}else {vErrors.push(err267);}errors++;}if(data147.id!==undefined){if(typeof data147.id!=='string'){var err268={instancePath:instancePath+'/mapPreset/layers/'+i49+'/id',schemaPath:'#/properties/mapPreset/properties/layers/items/properties/id/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err268];}else {vErrors.push(err268);}errors++;}}if(data147.name!==undefined){if(typeof data147.name!=='string'){var err269={instancePath:instancePath+'/mapPreset/layers/'+i49+'/name',schemaPath:'#/properties/mapPreset/properties/layers/items/properties/name/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err269];}else {vErrors.push(err269);}errors++;}}if(data147.layerType!==undefined){var data150=data147.layerType;if(typeof data150!=='string'){var err270={instancePath:instancePath+'/mapPreset/layers/'+i49+'/layerType',schemaPath:'#/properties/mapPreset/properties/layers/items/properties/layerType/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err270];}else {vErrors.push(err270);}errors++;}if(!(data150==='overLayer'||data150==='baseLayer'||data150==='mapLayer')){var err271={instancePath:instancePath+'/mapPreset/layers/'+i49+'/layerType',schemaPath:'#/properties/mapPreset/properties/layers/items/properties/layerType/enum',keyword:'enum',params:{allowedValues:schema17.properties.mapPreset.properties.layers.items.properties.layerType["enum"]},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err271];}else {vErrors.push(err271);}errors++;}}}else {var err272={instancePath:instancePath+'/mapPreset/layers/'+i49,schemaPath:'#/properties/mapPreset/properties/layers/items/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err272];}else {vErrors.push(err272);}errors++;}}}else {var err273={instancePath:instancePath+'/mapPreset/layers',schemaPath:'#/properties/mapPreset/properties/layers/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err273];}else {vErrors.push(err273);}errors++;}}if(data145.proj!==undefined){var data151=data145.proj;if(data151&&_typeof(data151)=='object'&&!Array.isArray(data151)){if(data151.bbox===undefined){var err274={instancePath:instancePath+'/mapPreset/proj',schemaPath:'#/properties/mapPreset/properties/proj/required',keyword:'required',params:{missingProperty:'bbox'},message:"must have required property '"+'bbox'+"'"};if(vErrors===null){vErrors=[err274];}else {vErrors.push(err274);}errors++;}if(data151.srs===undefined){var err275={instancePath:instancePath+'/mapPreset/proj',schemaPath:'#/properties/mapPreset/properties/proj/required',keyword:'required',params:{missingProperty:'srs'},message:"must have required property '"+'srs'+"'"};if(vErrors===null){vErrors=[err275];}else {vErrors.push(err275);}errors++;}for(var key14 in data151){if(!(key14==='bbox'||key14==='srs')){var err276={instancePath:instancePath+'/mapPreset/proj',schemaPath:'#/properties/mapPreset/properties/proj/additionalProperties',keyword:'additionalProperties',params:{additionalProperty:key14},message:'must NOT have additional properties'};if(vErrors===null){vErrors=[err276];}else {vErrors.push(err276);}errors++;}}if(data151.bbox!==undefined){var data152=data151.bbox;if(data152&&_typeof(data152)=='object'&&!Array.isArray(data152)){if(data152.left===undefined){var err277={instancePath:instancePath+'/mapPreset/proj/bbox',schemaPath:'#/properties/mapPreset/properties/proj/properties/bbox/required',keyword:'required',params:{missingProperty:'left'},message:"must have required property '"+'left'+"'"};if(vErrors===null){vErrors=[err277];}else {vErrors.push(err277);}errors++;}if(data152.right===undefined){var err278={instancePath:instancePath+'/mapPreset/proj/bbox',schemaPath:'#/properties/mapPreset/properties/proj/properties/bbox/required',keyword:'required',params:{missingProperty:'right'},message:"must have required property '"+'right'+"'"};if(vErrors===null){vErrors=[err278];}else {vErrors.push(err278);}errors++;}if(data152.top===undefined){var err279={instancePath:instancePath+'/mapPreset/proj/bbox',schemaPath:'#/properties/mapPreset/properties/proj/properties/bbox/required',keyword:'required',params:{missingProperty:'top'},message:"must have required property '"+'top'+"'"};if(vErrors===null){vErrors=[err279];}else {vErrors.push(err279);}errors++;}if(data152.bottom===undefined){var err280={instancePath:instancePath+'/mapPreset/proj/bbox',schemaPath:'#/properties/mapPreset/properties/proj/properties/bbox/required',keyword:'required',params:{missingProperty:'bottom'},message:"must have required property '"+'bottom'+"'"};if(vErrors===null){vErrors=[err280];}else {vErrors.push(err280);}errors++;}for(var key15 in data152){if(!(key15==='left'||key15==='right'||key15==='top'||key15==='bottom')){var err281={instancePath:instancePath+'/mapPreset/proj/bbox',schemaPath:'#/properties/mapPreset/properties/proj/properties/bbox/additionalProperties',keyword:'additionalProperties',params:{additionalProperty:key15},message:'must NOT have additional properties'};if(vErrors===null){vErrors=[err281];}else {vErrors.push(err281);}errors++;}}if(data152.left!==undefined){var data153=data152.left;if(!(typeof data153=='number'&&isFinite(data153))){var err282={instancePath:instancePath+'/mapPreset/proj/bbox/left',schemaPath:'#/properties/mapPreset/properties/proj/properties/bbox/properties/left/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err282];}else {vErrors.push(err282);}errors++;}}if(data152.right!==undefined){var data154=data152.right;if(!(typeof data154=='number'&&isFinite(data154))){var err283={instancePath:instancePath+'/mapPreset/proj/bbox/right',schemaPath:'#/properties/mapPreset/properties/proj/properties/bbox/properties/right/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err283];}else {vErrors.push(err283);}errors++;}}if(data152.top!==undefined){var data155=data152.top;if(!(typeof data155=='number'&&isFinite(data155))){var err284={instancePath:instancePath+'/mapPreset/proj/bbox/top',schemaPath:'#/properties/mapPreset/properties/proj/properties/bbox/properties/top/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err284];}else {vErrors.push(err284);}errors++;}}if(data152.bottom!==undefined){var data156=data152.bottom;if(!(typeof data156=='number'&&isFinite(data156))){var err285={instancePath:instancePath+'/mapPreset/proj/bbox/bottom',schemaPath:'#/properties/mapPreset/properties/proj/properties/bbox/properties/bottom/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err285];}else {vErrors.push(err285);}errors++;}}}else {var err286={instancePath:instancePath+'/mapPreset/proj/bbox',schemaPath:'#/properties/mapPreset/properties/proj/properties/bbox/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err286];}else {vErrors.push(err286);}errors++;}}if(data151.srs!==undefined){if(typeof data151.srs!=='string'){var err287={instancePath:instancePath+'/mapPreset/proj/srs',schemaPath:'#/properties/mapPreset/properties/proj/properties/srs/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err287];}else {vErrors.push(err287);}errors++;}}}else {var err288={instancePath:instancePath+'/mapPreset/proj',schemaPath:'#/properties/mapPreset/properties/proj/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err288];}else {vErrors.push(err288);}errors++;}}}else {var err289={instancePath:instancePath+'/mapPreset',schemaPath:'#/properties/mapPreset/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err289];}else {vErrors.push(err289);}errors++;}}}else {var err290={instancePath:instancePath,schemaPath:'#/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err290];}else {vErrors.push(err290);}errors++;}validate16.errors=vErrors;return errors===0;}
|
|
7953
|
+
|
|
8366
7954
|
/* *
|
|
8367
7955
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
8368
7956
|
* you may not use this file except in compliance with the License.
|
|
@@ -8379,10 +7967,6 @@ var airmetDefaultConfig = {
|
|
|
8379
7967
|
* Copyright 2023 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
8380
7968
|
* Copyright 2023 - Finnish Meteorological Institute (FMI)
|
|
8381
7969
|
* */
|
|
8382
|
-
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
8383
|
-
var sigmetValidator = require('./sigmetSchemaValidator');
|
|
8384
|
-
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
8385
|
-
var airmetValidator = require('./airmetSchemaValidator');
|
|
8386
7970
|
var parseErrors = function parseErrors(errors) {
|
|
8387
7971
|
return errors.reduce(function (list, error) {
|
|
8388
7972
|
// filter out merge errors, as they are not very helpful
|
|
@@ -8399,10 +7983,10 @@ var createReadableErrorMessage = function createReadableErrorMessage(errors) {
|
|
|
8399
7983
|
}, []).join('\n');
|
|
8400
7984
|
};
|
|
8401
7985
|
var validateSigmet = function validateSigmet(sigmetConfig) {
|
|
8402
|
-
return
|
|
7986
|
+
return validate14(sigmetConfig) || parseErrors(validate14.errors);
|
|
8403
7987
|
};
|
|
8404
7988
|
var validateAirmet = function validateAirmet(airmetConfig) {
|
|
8405
|
-
return
|
|
7989
|
+
return validate16(airmetConfig) || parseErrors(validate16.errors);
|
|
8406
7990
|
};
|
|
8407
7991
|
|
|
8408
7992
|
/* *
|
|
@@ -8453,11 +8037,96 @@ var SigmetForm = function SigmetForm(_ref) {
|
|
|
8453
8037
|
productConfig = _ref$productConfig === void 0 ? sigmetConfig : _ref$productConfig;
|
|
8454
8038
|
var _useApiContext = useApiContext(),
|
|
8455
8039
|
api = _useApiContext.api;
|
|
8040
|
+
var _useMapDrawTool = useMapDrawTool({
|
|
8041
|
+
defaultEditModes: getDrawTools(StartOrEndDrawing.start, getFir(productConfig)),
|
|
8042
|
+
defaultGeoJSON: !isCancelSigmet && initialSigmet ? addFeatureProperties(initialSigmet.startGeometry, featurePropsStart) : undefined,
|
|
8043
|
+
defaultGeoJSONIntersection: !isCancelSigmet && initialSigmet ? addFeatureProperties(initialSigmet.startGeometryIntersect, featurePropsIntersectionStart) : undefined,
|
|
8044
|
+
defaultGeoJSONIntersectionBounds: addFeatureProperties(getFir(productConfig), featurePropsFIR)
|
|
8045
|
+
}),
|
|
8046
|
+
startGeoJSON = _useMapDrawTool.geoJSON,
|
|
8047
|
+
startGeoJSONIntersection = _useMapDrawTool.geoJSONIntersection,
|
|
8048
|
+
getStartLayer = _useMapDrawTool.getLayer,
|
|
8049
|
+
startEditModes = _useMapDrawTool.editModes,
|
|
8050
|
+
activeStartTool = _useMapDrawTool.activeTool,
|
|
8051
|
+
changeActiveStartTool = _useMapDrawTool.changeActiveTool,
|
|
8052
|
+
deactivateStartTool = _useMapDrawTool.deactivateTool,
|
|
8053
|
+
setStartGeoJSONIntersectionBounds = _useMapDrawTool.setGeoJSONIntersectionBounds,
|
|
8054
|
+
setStartEditModes = _useMapDrawTool.setEditModes;
|
|
8055
|
+
var _useMapDrawTool2 = useMapDrawTool({
|
|
8056
|
+
defaultEditModes: getDrawTools(StartOrEndDrawing.end, getFir(productConfig)),
|
|
8057
|
+
defaultGeoJSON: !isCancelSigmet && initialSigmet ? addFeatureProperties(initialSigmet.endGeometry, featurePropsEnd) : undefined,
|
|
8058
|
+
defaultGeoJSONIntersection: !isCancelSigmet && initialSigmet ? addFeatureProperties(initialSigmet.endGeometryIntersect, featurePropsIntersectionEnd) : undefined,
|
|
8059
|
+
defaultGeoJSONIntersectionBounds: addFeatureProperties(getFir(productConfig), featurePropsFIR),
|
|
8060
|
+
defaultGeoJSONIntersectionProperties: featurePropsIntersectionEnd
|
|
8061
|
+
}),
|
|
8062
|
+
endGeoJSON = _useMapDrawTool2.geoJSON,
|
|
8063
|
+
endGeoJSONIntersection = _useMapDrawTool2.geoJSONIntersection,
|
|
8064
|
+
getEndLayer = _useMapDrawTool2.getLayer,
|
|
8065
|
+
endEditModes = _useMapDrawTool2.editModes,
|
|
8066
|
+
activeEndTool = _useMapDrawTool2.activeTool,
|
|
8067
|
+
changeActiveEndTool = _useMapDrawTool2.changeActiveTool,
|
|
8068
|
+
deactivateEndTool = _useMapDrawTool2.deactivateTool,
|
|
8069
|
+
setEndGeoJSONIntersectionBounds = _useMapDrawTool2.setGeoJSONIntersectionBounds,
|
|
8070
|
+
setEndEditModes = _useMapDrawTool2.setEditModes;
|
|
8071
|
+
var onUpdateStartgeoJSON = function onUpdateStartgeoJSON(updatedStartGeoJSON, updateStartGeoJSONIntersection) {
|
|
8072
|
+
setValue('startGeometry', updatedStartGeoJSON, {
|
|
8073
|
+
shouldValidate: true,
|
|
8074
|
+
shouldDirty: isGeometryDirty(watch('startGeometry'), updatedStartGeoJSON)
|
|
8075
|
+
});
|
|
8076
|
+
setValue('startGeometryIntersect', updateStartGeoJSONIntersection, {
|
|
8077
|
+
shouldValidate: true,
|
|
8078
|
+
shouldDirty: isGeometryDirty(watch('startGeometryIntersect'), updateStartGeoJSONIntersection)
|
|
8079
|
+
});
|
|
8080
|
+
onChangeForm();
|
|
8081
|
+
};
|
|
8082
|
+
var onUpdateEndGeoJson = function onUpdateEndGeoJson(updatedEndGeoJSON, updateEndGeoJSONIntersection) {
|
|
8083
|
+
setValue('endGeometry', updatedEndGeoJSON, {
|
|
8084
|
+
shouldValidate: true,
|
|
8085
|
+
shouldDirty: isGeometryDirty(watch('endGeometry'), updatedEndGeoJSON)
|
|
8086
|
+
});
|
|
8087
|
+
setValue('endGeometryIntersect', updateEndGeoJSONIntersection, {
|
|
8088
|
+
shouldValidate: true,
|
|
8089
|
+
shouldDirty: isGeometryDirty(watch('endGeometryIntersect'), updateEndGeoJSONIntersection)
|
|
8090
|
+
});
|
|
8091
|
+
onChangeForm();
|
|
8092
|
+
};
|
|
8093
|
+
var onChangeStartTool = function onChangeStartTool(newTool) {
|
|
8094
|
+
deactivateEndTool();
|
|
8095
|
+
changeActiveStartTool(newTool);
|
|
8096
|
+
if (!newTool.isSelectable) {
|
|
8097
|
+
deactivateStartTool();
|
|
8098
|
+
onUpdateStartgeoJSON(newTool.shape, newTool.shape);
|
|
8099
|
+
}
|
|
8100
|
+
};
|
|
8101
|
+
var onChangeEndTool = function onChangeEndTool(newTool) {
|
|
8102
|
+
deactivateStartTool();
|
|
8103
|
+
changeActiveEndTool(newTool);
|
|
8104
|
+
if (!newTool.isSelectable) {
|
|
8105
|
+
deactivateEndTool();
|
|
8106
|
+
onUpdateEndGeoJson(newTool.shape, newTool.shape);
|
|
8107
|
+
}
|
|
8108
|
+
};
|
|
8109
|
+
var onExitDrawMode = function onExitDrawMode() {
|
|
8110
|
+
deactivateStartTool();
|
|
8111
|
+
var newGeoStart = rewindGeometry(startGeoJSON);
|
|
8112
|
+
var newGeoStartIntersect = rewindGeometry(startGeoJSONIntersection);
|
|
8113
|
+
onUpdateStartgeoJSON(newGeoStart, newGeoStartIntersect);
|
|
8114
|
+
};
|
|
8115
|
+
var onExitDrawModeEnd = function onExitDrawModeEnd() {
|
|
8116
|
+
deactivateEndTool();
|
|
8117
|
+
var newGeoEnd = rewindGeometry(endGeoJSON);
|
|
8118
|
+
var newGeoEndIntersect = rewindGeometry(endGeoJSONIntersection);
|
|
8119
|
+
onUpdateEndGeoJson(newGeoEnd, newGeoEndIntersect);
|
|
8120
|
+
};
|
|
8121
|
+
var layers = [getStartLayer('geoJSONIntersectionBounds', 'geojsonlayer-fir'), Object.assign(Object.assign({}, getEndLayer('geoJSON', 'geojsonlayer-end')), {
|
|
8122
|
+
exitDrawModeCallback: onExitDrawModeEnd
|
|
8123
|
+
}), Object.assign(Object.assign({}, getStartLayer('geoJSON', 'geojsonlayer-start')), {
|
|
8124
|
+
exitDrawModeCallback: onExitDrawMode
|
|
8125
|
+
}), getEndLayer('geoJSONIntersection', 'geojsonlayer-intersection-end'), getStartLayer('geoJSONIntersection', 'geojsonlayer-intersection-start')];
|
|
8456
8126
|
var _useFormContext2 = useFormContext(),
|
|
8457
8127
|
watch = _useFormContext2.watch,
|
|
8458
8128
|
setValue = _useFormContext2.setValue,
|
|
8459
|
-
handleSubmit = _useFormContext2.handleSubmit
|
|
8460
|
-
getValues = _useFormContext2.getValues;
|
|
8129
|
+
handleSubmit = _useFormContext2.handleSubmit;
|
|
8461
8130
|
var _React$useState = React__default.useState(mode === 'view'),
|
|
8462
8131
|
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
8463
8132
|
isDisabled = _React$useState2[0],
|
|
@@ -8471,65 +8140,31 @@ var SigmetForm = function SigmetForm(_ref) {
|
|
|
8471
8140
|
var onChangeForm = function onChangeForm() {
|
|
8472
8141
|
updateTac(watch);
|
|
8473
8142
|
};
|
|
8474
|
-
// TODO: [Loes Cornelis]: fix this whole mess of if statements for isCancelSigmet and hidden fields if disabled throughout the form
|
|
8475
|
-
var initialGeometry = initialSigmet && !isCancelSigmet ? {
|
|
8476
|
-
start: initialSigmet.startGeometry,
|
|
8477
|
-
end: initialSigmet.endGeometry,
|
|
8478
|
-
intersectionStart: initialSigmet.startGeometryIntersect,
|
|
8479
|
-
intersectionEnd: initialSigmet.endGeometryIntersect
|
|
8480
|
-
} : undefined;
|
|
8481
|
-
var currentSelectedFIR = getValues('locationIndicatorATSR');
|
|
8482
|
-
var _useDrawMode = useDrawMode(productConfig, initialGeometry, currentSelectedFIR),
|
|
8483
|
-
drawMode = _useDrawMode.drawMode,
|
|
8484
|
-
setDrawMode = _useDrawMode.setDrawMode,
|
|
8485
|
-
layerDrawModes = _useDrawMode.layerDrawModes,
|
|
8486
|
-
geoJSONs = _useDrawMode.geoJSONs,
|
|
8487
|
-
_setLayerGeoJSONs = _useDrawMode.setLayerGeoJSONs,
|
|
8488
|
-
_setDrawModeType = _useDrawMode.setDrawModeType;
|
|
8489
|
-
var updateStartDrawing = function updateStartDrawing(mapGeoJSONS) {
|
|
8490
|
-
var baseGeoJSON = mapGeoJSONS || geoJSONs;
|
|
8491
|
-
var newGeoJSON = fn(baseGeoJSON, function (draftGeoJSON) {
|
|
8492
|
-
// eslint-disable-next-line no-param-reassign
|
|
8493
|
-
draftGeoJSON.start = rewindGeometry(baseGeoJSON.start);
|
|
8494
|
-
// eslint-disable-next-line no-param-reassign
|
|
8495
|
-
draftGeoJSON.intersectionStart = rewindGeometry(baseGeoJSON.intersectionStart);
|
|
8496
|
-
});
|
|
8497
|
-
setValue('startGeometry', newGeoJSON.start, {
|
|
8498
|
-
shouldValidate: true,
|
|
8499
|
-
shouldDirty: isGeometryDirty(watch('startGeometry'), newGeoJSON.start)
|
|
8500
|
-
});
|
|
8501
|
-
setValue('startGeometryIntersect', newGeoJSON.intersectionStart, {
|
|
8502
|
-
shouldValidate: true,
|
|
8503
|
-
shouldDirty: isGeometryDirty(watch('startGeometryIntersect'), newGeoJSON.intersectionStart)
|
|
8504
|
-
});
|
|
8505
|
-
onChangeForm();
|
|
8506
|
-
};
|
|
8507
|
-
var updateEndDrawing = function updateEndDrawing(mapGeoJSONS) {
|
|
8508
|
-
var baseGeoJSON = mapGeoJSONS || geoJSONs;
|
|
8509
|
-
var newGeoJSON = fn(baseGeoJSON, function (draftGeoJSON) {
|
|
8510
|
-
// eslint-disable-next-line no-param-reassign
|
|
8511
|
-
draftGeoJSON.end = rewindGeometry(baseGeoJSON.end);
|
|
8512
|
-
// eslint-disable-next-line no-param-reassign
|
|
8513
|
-
draftGeoJSON.intersectionEnd = rewindGeometry(baseGeoJSON.intersectionEnd);
|
|
8514
|
-
});
|
|
8515
|
-
setValue('endGeometry', newGeoJSON.end, {
|
|
8516
|
-
shouldValidate: true,
|
|
8517
|
-
shouldDirty: isGeometryDirty(watch('endGeometry'), newGeoJSON.end)
|
|
8518
|
-
});
|
|
8519
|
-
setValue('endGeometryIntersect', newGeoJSON.intersectionEnd, {
|
|
8520
|
-
shouldValidate: true,
|
|
8521
|
-
shouldDirty: isGeometryDirty(watch('endGeometryIntersect'), newGeoJSON.intersectionEnd)
|
|
8522
|
-
});
|
|
8523
|
-
onChangeForm();
|
|
8524
|
-
};
|
|
8525
8143
|
React__default.useEffect(function () {
|
|
8526
|
-
var isInDrawMode =
|
|
8144
|
+
var isInDrawMode = activeStartTool !== '' || activeEndTool !== '';
|
|
8527
8145
|
if (!isReadOnly && isInDrawMode !== isDisabled) {
|
|
8528
8146
|
setIsDisabled(isInDrawMode);
|
|
8529
8147
|
}
|
|
8530
|
-
}, [
|
|
8148
|
+
}, [activeStartTool, activeEndTool, isReadOnly, isDisabled]);
|
|
8531
8149
|
var _useConditionalFields = useConditionalFields$1(),
|
|
8532
8150
|
hasVolcanicAshes = _useConditionalFields.hasVolcanicAshes;
|
|
8151
|
+
var onChangeFir = function onChangeFir(event) {
|
|
8152
|
+
var newFIRValue = event === null || event === void 0 ? void 0 : event.target.value;
|
|
8153
|
+
var newFirGeoJSON = addFeatureProperties(getFir(productConfig, newFIRValue), featurePropsFIR);
|
|
8154
|
+
// delete shape
|
|
8155
|
+
onChangeStartTool(startEditModes.find(function (mode) {
|
|
8156
|
+
return mode.value === 'DELETE';
|
|
8157
|
+
}));
|
|
8158
|
+
onChangeEndTool(endEditModes.find(function (mode) {
|
|
8159
|
+
return mode.value === 'DELETE';
|
|
8160
|
+
}));
|
|
8161
|
+
// update instersection bounds
|
|
8162
|
+
setStartGeoJSONIntersectionBounds(newFirGeoJSON);
|
|
8163
|
+
setEndGeoJSONIntersectionBounds(newFirGeoJSON);
|
|
8164
|
+
// update tool buttons with new fir geoJSON
|
|
8165
|
+
setStartEditModes(updateDrawToolsWithFir(startEditModes, newFirGeoJSON));
|
|
8166
|
+
setEndEditModes(updateDrawToolsWithFir(endEditModes, newFirGeoJSON));
|
|
8167
|
+
};
|
|
8533
8168
|
var renderForm = function renderForm() {
|
|
8534
8169
|
return /*#__PURE__*/React__default.createElement(Grid, {
|
|
8535
8170
|
container: true,
|
|
@@ -8566,24 +8201,14 @@ var SigmetForm = function SigmetForm(_ref) {
|
|
|
8566
8201
|
productConfig: productConfig,
|
|
8567
8202
|
isDisabled: isDisabled,
|
|
8568
8203
|
isReadOnly: isReadOnly,
|
|
8569
|
-
onChange:
|
|
8570
|
-
var newFIRValue = event === null || event === void 0 ? void 0 : event.target.value;
|
|
8571
|
-
var updatedGeoJson = getInitialGeoJSONState(productConfig, newFIRValue);
|
|
8572
|
-
_setDrawModeType(MapDrawMode.DELETE, StartOrEndDrawing.start, function () {
|
|
8573
|
-
return updateStartDrawing(updatedGeoJson);
|
|
8574
|
-
});
|
|
8575
|
-
_setDrawModeType(MapDrawMode.DELETE, StartOrEndDrawing.end, function () {
|
|
8576
|
-
return updateEndDrawing(updatedGeoJson);
|
|
8577
|
-
});
|
|
8578
|
-
_setLayerGeoJSONs(updatedGeoJson);
|
|
8579
|
-
}
|
|
8204
|
+
onChange: onChangeFir
|
|
8580
8205
|
}), /*#__PURE__*/React__default.createElement(StartGeometry, {
|
|
8581
8206
|
isReadOnly: isReadOnly,
|
|
8582
|
-
|
|
8583
|
-
|
|
8584
|
-
|
|
8585
|
-
|
|
8586
|
-
|
|
8207
|
+
geoJSON: startGeoJSON,
|
|
8208
|
+
geoJSONIntersection: startGeoJSONIntersection,
|
|
8209
|
+
tools: startEditModes,
|
|
8210
|
+
onChangeTool: onChangeStartTool,
|
|
8211
|
+
activeTool: activeStartTool
|
|
8587
8212
|
}), !isCancelSigmet && /*#__PURE__*/React__default.createElement(Levels, {
|
|
8588
8213
|
isDisabled: isDisabled,
|
|
8589
8214
|
isReadOnly: isReadOnly,
|
|
@@ -8595,12 +8220,12 @@ var SigmetForm = function SigmetForm(_ref) {
|
|
|
8595
8220
|
productConfig: productConfig,
|
|
8596
8221
|
isDisabled: isDisabled,
|
|
8597
8222
|
isReadOnly: isReadOnly,
|
|
8598
|
-
|
|
8599
|
-
|
|
8600
|
-
|
|
8601
|
-
|
|
8602
|
-
|
|
8603
|
-
|
|
8223
|
+
onChange: onChangeForm,
|
|
8224
|
+
geoJSON: endGeoJSON,
|
|
8225
|
+
geoJSONIntersection: endGeoJSONIntersection,
|
|
8226
|
+
tools: endEditModes,
|
|
8227
|
+
onChangeTool: onChangeEndTool,
|
|
8228
|
+
activeTool: activeEndTool
|
|
8604
8229
|
}), !isCancelSigmet && /*#__PURE__*/React__default.createElement(Change, {
|
|
8605
8230
|
isDisabled: isDisabled,
|
|
8606
8231
|
isReadOnly: isReadOnly
|
|
@@ -8644,15 +8269,7 @@ var SigmetForm = function SigmetForm(_ref) {
|
|
|
8644
8269
|
}
|
|
8645
8270
|
}, /*#__PURE__*/React__default.createElement(ProductFormLayout, {
|
|
8646
8271
|
productConfig: productConfig,
|
|
8647
|
-
|
|
8648
|
-
setLayerGeoJSONs: function setLayerGeoJSONs(geoJSONs) {
|
|
8649
|
-
return _setLayerGeoJSONs(createInterSections(geoJSONs));
|
|
8650
|
-
},
|
|
8651
|
-
layerDrawModes: layerDrawModes,
|
|
8652
|
-
drawMode: drawMode,
|
|
8653
|
-
setDrawMode: setDrawMode,
|
|
8654
|
-
exitDrawModeCallbackStart: updateStartDrawing,
|
|
8655
|
-
exitDrawModeCallbackEnd: updateEndDrawing
|
|
8272
|
+
geoJSONLayers: layers
|
|
8656
8273
|
}, renderForm()));
|
|
8657
8274
|
};
|
|
8658
8275
|
|
|
@@ -8710,6 +8327,48 @@ var AirmetForm = function AirmetForm(_ref) {
|
|
|
8710
8327
|
productConfig = _ref$productConfig === void 0 ? airmetConfig : _ref$productConfig;
|
|
8711
8328
|
var _useApiContext = useApiContext(),
|
|
8712
8329
|
api = _useApiContext.api;
|
|
8330
|
+
var _useMapDrawTool = useMapDrawTool({
|
|
8331
|
+
defaultEditModes: getDrawTools(StartOrEndDrawing.start, getFir(productConfig)),
|
|
8332
|
+
defaultGeoJSON: !isCancelAirmet && initialAirmet ? addFeatureProperties(initialAirmet.startGeometry, featurePropsStart) : undefined,
|
|
8333
|
+
defaultGeoJSONIntersection: !isCancelAirmet && initialAirmet ? addFeatureProperties(initialAirmet.startGeometryIntersect, featurePropsIntersectionStart) : undefined,
|
|
8334
|
+
defaultGeoJSONIntersectionBounds: addFeatureProperties(getFir(productConfig), featurePropsFIR)
|
|
8335
|
+
}),
|
|
8336
|
+
startGeoJSON = _useMapDrawTool.geoJSON,
|
|
8337
|
+
startGeoJSONIntersection = _useMapDrawTool.geoJSONIntersection,
|
|
8338
|
+
getStartLayer = _useMapDrawTool.getLayer,
|
|
8339
|
+
startEditModes = _useMapDrawTool.editModes,
|
|
8340
|
+
activeStartTool = _useMapDrawTool.activeTool,
|
|
8341
|
+
changeActiveStartTool = _useMapDrawTool.changeActiveTool,
|
|
8342
|
+
deactivateStartTool = _useMapDrawTool.deactivateTool,
|
|
8343
|
+
setStartGeoJSONIntersectionBounds = _useMapDrawTool.setGeoJSONIntersectionBounds,
|
|
8344
|
+
setStartEditModes = _useMapDrawTool.setEditModes;
|
|
8345
|
+
var onUpdateStartgeoJSON = function onUpdateStartgeoJSON(updatedStartGeoJSON, updateStartGeoJSONIntersection) {
|
|
8346
|
+
setValue('startGeometry', updatedStartGeoJSON, {
|
|
8347
|
+
shouldValidate: true,
|
|
8348
|
+
shouldDirty: isGeometryDirty(watch('startGeometry'), updatedStartGeoJSON)
|
|
8349
|
+
});
|
|
8350
|
+
setValue('startGeometryIntersect', updateStartGeoJSONIntersection, {
|
|
8351
|
+
shouldValidate: true,
|
|
8352
|
+
shouldDirty: isGeometryDirty(watch('startGeometryIntersect'), updateStartGeoJSONIntersection)
|
|
8353
|
+
});
|
|
8354
|
+
onChangeForm();
|
|
8355
|
+
};
|
|
8356
|
+
var onChangeStartTool = function onChangeStartTool(newTool) {
|
|
8357
|
+
changeActiveStartTool(newTool);
|
|
8358
|
+
if (!newTool.isSelectable) {
|
|
8359
|
+
deactivateStartTool();
|
|
8360
|
+
onUpdateStartgeoJSON(newTool.shape, newTool.shape);
|
|
8361
|
+
}
|
|
8362
|
+
};
|
|
8363
|
+
var onExitDrawMode = function onExitDrawMode() {
|
|
8364
|
+
deactivateStartTool();
|
|
8365
|
+
var newGeoStart = rewindGeometry(startGeoJSON);
|
|
8366
|
+
var newGeoStartIntersect = rewindGeometry(startGeoJSONIntersection);
|
|
8367
|
+
onUpdateStartgeoJSON(newGeoStart, newGeoStartIntersect);
|
|
8368
|
+
};
|
|
8369
|
+
var layers = [getStartLayer('geoJSONIntersectionBounds', 'geojsonlayer-fir'), Object.assign(Object.assign({}, getStartLayer('geoJSON', 'geojsonlayer-start')), {
|
|
8370
|
+
exitDrawModeCallback: onExitDrawMode
|
|
8371
|
+
}), getStartLayer('geoJSONIntersection', 'geojsonlayer-intersection-start')];
|
|
8713
8372
|
var _useFormContext2 = useFormContext(),
|
|
8714
8373
|
watch = _useFormContext2.watch,
|
|
8715
8374
|
setValue = _useFormContext2.setValue,
|
|
@@ -8729,47 +8388,32 @@ var AirmetForm = function AirmetForm(_ref) {
|
|
|
8729
8388
|
var onChangeForm = function onChangeForm() {
|
|
8730
8389
|
updateTac(watch);
|
|
8731
8390
|
};
|
|
8732
|
-
var initialGeometry = initialAirmet && !isCancelAirmet ? {
|
|
8733
|
-
start: initialAirmet.startGeometry,
|
|
8734
|
-
intersectionStart: initialAirmet.startGeometryIntersect
|
|
8735
|
-
} : undefined;
|
|
8736
|
-
var currentSelectedFIR = getValues('locationIndicatorATSR');
|
|
8737
|
-
var _useDrawMode = useDrawMode(productConfig, initialGeometry, currentSelectedFIR),
|
|
8738
|
-
drawMode = _useDrawMode.drawMode,
|
|
8739
|
-
setDrawMode = _useDrawMode.setDrawMode,
|
|
8740
|
-
layerDrawModes = _useDrawMode.layerDrawModes,
|
|
8741
|
-
geoJSONs = _useDrawMode.geoJSONs,
|
|
8742
|
-
_setLayerGeoJSONs = _useDrawMode.setLayerGeoJSONs,
|
|
8743
|
-
_setDrawModeType = _useDrawMode.setDrawModeType;
|
|
8744
|
-
var updateStartDrawing = function updateStartDrawing(mapGeoJSONS) {
|
|
8745
|
-
var baseGeoJSON = mapGeoJSONS || geoJSONs;
|
|
8746
|
-
var newGeoJSON = fn(baseGeoJSON, function (draftGeoJSON) {
|
|
8747
|
-
// eslint-disable-next-line no-param-reassign
|
|
8748
|
-
draftGeoJSON.start = rewindGeometry(baseGeoJSON.start);
|
|
8749
|
-
// eslint-disable-next-line no-param-reassign
|
|
8750
|
-
draftGeoJSON.intersectionStart = rewindGeometry(baseGeoJSON.intersectionStart);
|
|
8751
|
-
});
|
|
8752
|
-
setValue('startGeometry', newGeoJSON.start, {
|
|
8753
|
-
shouldValidate: true,
|
|
8754
|
-
shouldDirty: isGeometryDirty(watch('startGeometry'), newGeoJSON.start)
|
|
8755
|
-
});
|
|
8756
|
-
setValue('startGeometryIntersect', newGeoJSON.intersectionStart, {
|
|
8757
|
-
shouldValidate: true,
|
|
8758
|
-
shouldDirty: isGeometryDirty(watch('startGeometryIntersect'), newGeoJSON.intersectionStart)
|
|
8759
|
-
});
|
|
8760
|
-
onChangeForm();
|
|
8761
|
-
};
|
|
8762
8391
|
React__default.useEffect(function () {
|
|
8763
|
-
var isInDrawMode =
|
|
8392
|
+
var isInDrawMode = activeStartTool !== '';
|
|
8764
8393
|
if (!isReadOnly && isInDrawMode !== isDisabled) {
|
|
8765
8394
|
setIsDisabled(isInDrawMode);
|
|
8766
8395
|
}
|
|
8767
|
-
}, [
|
|
8396
|
+
}, [activeStartTool, isReadOnly, isDisabled]);
|
|
8768
8397
|
var _useConditionalFields = useConditionalFields(),
|
|
8769
8398
|
hasSurfaceVisiblity = _useConditionalFields.hasSurfaceVisiblity,
|
|
8770
8399
|
hasSurfaceWind = _useConditionalFields.hasSurfaceWind,
|
|
8771
8400
|
hasLevels = _useConditionalFields.hasLevels,
|
|
8772
8401
|
hasCloudLevels = _useConditionalFields.hasCloudLevels;
|
|
8402
|
+
var onChangeFir = function onChangeFir(event) {
|
|
8403
|
+
var newFIRValue = event === null || event === void 0 ? void 0 : event.target.value;
|
|
8404
|
+
var newFirGeoJSON = addFeatureProperties(getFir(productConfig, newFIRValue), featurePropsFIR);
|
|
8405
|
+
// delete shape
|
|
8406
|
+
onChangeStartTool(startEditModes.find(function (mode) {
|
|
8407
|
+
return mode.value === 'DELETE';
|
|
8408
|
+
}));
|
|
8409
|
+
// update instersection bounds
|
|
8410
|
+
setStartGeoJSONIntersectionBounds(newFirGeoJSON);
|
|
8411
|
+
// update tool buttons with new fir geoJSON
|
|
8412
|
+
setStartEditModes(updateDrawToolsWithFir(startEditModes, newFirGeoJSON));
|
|
8413
|
+
// trigger validation for airmet specific fields that depend on FIR config
|
|
8414
|
+
var fieldnames = ['windDirection', 'windSpeed', 'visibilityValue', 'cloudLevel.value', 'cloudLowerLevel.value'];
|
|
8415
|
+
triggerValidations(fieldnames, getValues, trigger);
|
|
8416
|
+
};
|
|
8773
8417
|
var renderForm = function renderForm() {
|
|
8774
8418
|
return /*#__PURE__*/React__default.createElement(Grid, {
|
|
8775
8419
|
container: true,
|
|
@@ -8812,24 +8456,14 @@ var AirmetForm = function AirmetForm(_ref) {
|
|
|
8812
8456
|
isReadOnly: isReadOnly,
|
|
8813
8457
|
isDisabled: isDisabled,
|
|
8814
8458
|
productConfig: productConfig,
|
|
8815
|
-
onChange:
|
|
8816
|
-
var newFIRValue = event === null || event === void 0 ? void 0 : event.target.value;
|
|
8817
|
-
var updatedGeoJson = getInitialGeoJSONState(productConfig, newFIRValue);
|
|
8818
|
-
_setDrawModeType(MapDrawMode.DELETE, StartOrEndDrawing.start, function () {
|
|
8819
|
-
return updateStartDrawing(updatedGeoJson);
|
|
8820
|
-
});
|
|
8821
|
-
_setLayerGeoJSONs(updatedGeoJson);
|
|
8822
|
-
// trigger validation for airmet specific fields that depend on FIR config
|
|
8823
|
-
var fieldnames = ['windDirection', 'windSpeed', 'visibilityValue', 'cloudLevel.value', 'cloudLowerLevel.value'];
|
|
8824
|
-
triggerValidations(fieldnames, getValues, trigger);
|
|
8825
|
-
}
|
|
8459
|
+
onChange: onChangeFir
|
|
8826
8460
|
}), /*#__PURE__*/React__default.createElement(StartGeometry, {
|
|
8827
8461
|
isReadOnly: isReadOnly,
|
|
8828
|
-
|
|
8829
|
-
|
|
8830
|
-
|
|
8831
|
-
|
|
8832
|
-
|
|
8462
|
+
geoJSON: startGeoJSON,
|
|
8463
|
+
geoJSONIntersection: startGeoJSONIntersection,
|
|
8464
|
+
tools: startEditModes,
|
|
8465
|
+
onChangeTool: onChangeStartTool,
|
|
8466
|
+
activeTool: activeStartTool
|
|
8833
8467
|
}), !isCancelAirmet && hasLevels && /*#__PURE__*/React__default.createElement(Levels, {
|
|
8834
8468
|
isDisabled: isDisabled,
|
|
8835
8469
|
isReadOnly: isReadOnly,
|
|
@@ -8883,14 +8517,7 @@ var AirmetForm = function AirmetForm(_ref) {
|
|
|
8883
8517
|
}
|
|
8884
8518
|
}, /*#__PURE__*/React__default.createElement(ProductFormLayout, {
|
|
8885
8519
|
productConfig: productConfig,
|
|
8886
|
-
|
|
8887
|
-
setLayerGeoJSONs: function setLayerGeoJSONs(geoJSONs) {
|
|
8888
|
-
return _setLayerGeoJSONs(createInterSections(geoJSONs));
|
|
8889
|
-
},
|
|
8890
|
-
layerDrawModes: layerDrawModes,
|
|
8891
|
-
drawMode: drawMode,
|
|
8892
|
-
setDrawMode: setDrawMode,
|
|
8893
|
-
exitDrawModeCallbackStart: updateStartDrawing
|
|
8520
|
+
geoJSONLayers: layers
|
|
8894
8521
|
}, renderForm()));
|
|
8895
8522
|
};
|
|
8896
8523
|
|
|
@@ -17007,4 +16634,4 @@ var AirmetComponentsLookUp = function AirmetComponentsLookUp(payload, _ref) {
|
|
|
17007
16634
|
}
|
|
17008
16635
|
};
|
|
17009
16636
|
|
|
17010
|
-
export { AirmetComponentsLookUp, AirmetForm, AirmetPhenomena, CloudLevelUnits, ContentDialog, Direction, DownloadSigmetAirmetConfigWrapper, LevelUnits,
|
|
16637
|
+
export { AirmetComponentsLookUp, AirmetForm, AirmetPhenomena, CloudLevelUnits, ContentDialog, Direction, DownloadSigmetAirmetConfigWrapper, LevelUnits, MapViewGeoJson, MetInfoWrapper, MovementUnit, ProductList, ProductListRow, ProductStatusDescription, SigmetComponentsLookUp, SigmetForm, SigmetPhenomena, StartOrEndDrawing, VisibilityCause, WindUnit, airmetConfig, createApi$1 as createApi, createApi as createFakeApi, isInstanceOfAirmet, isInstanceOfCancelAirmet, isInstanceOfCancelSigmet, isInstanceOfCancelSigmetOrAirmet, isInstanceOfSigmet, isInstanceOfSigmetOrAirmet, sigmetConfig };
|