redoc 2.0.0-rc.21 → 2.0.0-rc.25
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/CHANGELOG.md +56 -0
- package/README.md +7 -6
- package/bundles/66d14429db4e18077079.worker.js.map +1 -0
- package/bundles/9bfd118e9284deb14028.worker.js.map +1 -0
- package/bundles/redoc.lib.js +610 -487
- package/bundles/redoc.lib.js.map +1 -1
- package/bundles/redoc.standalone.js +36 -36
- package/bundles/redoc.standalone.js.map +1 -1
- package/package.json +50 -48
- package/typings/common-elements/panels.d.ts +1 -1
- package/typings/components/Fields/Field.d.ts +1 -0
- package/typings/components/Markdown/Markdown.d.ts +1 -0
- package/typings/components/Markdown/SanitizedMdBlock.d.ts +1 -0
- package/typings/components/PayloadSamples/styled.elements.d.ts +2 -2
- package/typings/components/Schema/ObjectSchema.d.ts +1 -0
- package/typings/components/SearchBox/SearchBox.d.ts +1 -0
- package/typings/components/SideMenu/styled.elements.d.ts +10 -9
- package/typings/services/OpenAPIParser.d.ts +1 -1
- package/typings/services/RedocNormalizedOptions.d.ts +2 -0
- package/typings/services/SearchStore.d.ts +1 -0
- package/typings/services/models/Field.d.ts +1 -1
- package/typings/services/models/MediaContent.d.ts +0 -1
- package/typings/services/models/Operation.d.ts +1 -1
- package/typings/theme.d.ts +2 -2
- package/typings/types/open-api.d.ts +1 -0
- package/typings/utils/highlight.d.ts +1 -0
- package/bundles/080d918f61cfd391b4f8.worker.js.map +0 -1
- package/bundles/ba7dfd4bc26076b4ff3d.worker.js.map +0 -1
- package/typings/types/components.d.ts +0 -5
package/bundles/redoc.lib.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* ReDoc - OpenAPI/Swagger-generated API Reference Documentation
|
|
3
3
|
* -------------------------------------------------------------
|
|
4
|
-
* Version: "2.0.0-rc.
|
|
4
|
+
* Version: "2.0.0-rc.25"
|
|
5
5
|
* Repo: https://github.com/Redocly/redoc
|
|
6
6
|
*/
|
|
7
7
|
(function webpackUniversalModuleDefinition(root, factory) {
|
|
@@ -97,7 +97,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
|
|
97
97
|
/******/
|
|
98
98
|
/******/
|
|
99
99
|
/******/ // Load entry module and return exports
|
|
100
|
-
/******/ return __webpack_require__(__webpack_require__.s =
|
|
100
|
+
/******/ return __webpack_require__(__webpack_require__.s = 82);
|
|
101
101
|
/******/ })
|
|
102
102
|
/************************************************************************/
|
|
103
103
|
/******/ ([
|
|
@@ -152,24 +152,30 @@ module.exports = require("lunr");
|
|
|
152
152
|
/* 8 */
|
|
153
153
|
/***/ (function(module, exports) {
|
|
154
154
|
|
|
155
|
-
module.exports = require("
|
|
155
|
+
module.exports = require("decko");
|
|
156
156
|
|
|
157
157
|
/***/ }),
|
|
158
158
|
/* 9 */
|
|
159
159
|
/***/ (function(module, exports) {
|
|
160
160
|
|
|
161
|
-
module.exports = require("
|
|
161
|
+
module.exports = require("react-tabs");
|
|
162
162
|
|
|
163
163
|
/***/ }),
|
|
164
164
|
/* 10 */
|
|
165
165
|
/***/ (function(module, exports) {
|
|
166
166
|
|
|
167
|
-
module.exports =
|
|
167
|
+
module.exports = require("prismjs");
|
|
168
168
|
|
|
169
169
|
/***/ }),
|
|
170
170
|
/* 11 */
|
|
171
171
|
/***/ (function(module, exports) {
|
|
172
172
|
|
|
173
|
+
module.exports = undefined;
|
|
174
|
+
|
|
175
|
+
/***/ }),
|
|
176
|
+
/* 12 */
|
|
177
|
+
/***/ (function(module, exports) {
|
|
178
|
+
|
|
173
179
|
var g;
|
|
174
180
|
|
|
175
181
|
// This works in non-strict mode
|
|
@@ -193,7 +199,7 @@ module.exports = g;
|
|
|
193
199
|
|
|
194
200
|
|
|
195
201
|
/***/ }),
|
|
196
|
-
/*
|
|
202
|
+
/* 13 */
|
|
197
203
|
/***/ (function(module, exports, __webpack_require__) {
|
|
198
204
|
|
|
199
205
|
/* WEBPACK VAR INJECTION */(function(process) {// .dirname, .basename, and .extname methods are extracted from Node.js v8.11.1,
|
|
@@ -501,17 +507,11 @@ var substr = 'ab'.substr(-1) === 'b'
|
|
|
501
507
|
|
|
502
508
|
/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(16)))
|
|
503
509
|
|
|
504
|
-
/***/ }),
|
|
505
|
-
/* 13 */
|
|
506
|
-
/***/ (function(module, exports) {
|
|
507
|
-
|
|
508
|
-
module.exports = require("prop-types");
|
|
509
|
-
|
|
510
510
|
/***/ }),
|
|
511
511
|
/* 14 */
|
|
512
512
|
/***/ (function(module, exports) {
|
|
513
513
|
|
|
514
|
-
module.exports = require("
|
|
514
|
+
module.exports = require("prop-types");
|
|
515
515
|
|
|
516
516
|
/***/ }),
|
|
517
517
|
/* 15 */
|
|
@@ -721,9 +721,7 @@ process.umask = function() { return 0; };
|
|
|
721
721
|
* @return the escaped string
|
|
722
722
|
*/
|
|
723
723
|
function jpescape(s) {
|
|
724
|
-
|
|
725
|
-
s = s.split('/').join('~1');
|
|
726
|
-
return s;
|
|
724
|
+
return s.replace(/\~/g, '~0').replace(/\//g, '~1');
|
|
727
725
|
}
|
|
728
726
|
/**
|
|
729
727
|
* unescapes JSON Pointer using ~0 for ~ and ~1 for /
|
|
@@ -731,9 +729,7 @@ function jpescape(s) {
|
|
|
731
729
|
* @return the unescaped string
|
|
732
730
|
*/
|
|
733
731
|
function jpunescape(s) {
|
|
734
|
-
|
|
735
|
-
s = s.split('~0').join('~');
|
|
736
|
-
return s;
|
|
732
|
+
return s.replace(/\~1/g, '/').replace(/~0/g, '~');
|
|
737
733
|
}
|
|
738
734
|
// JSON Pointer specification: http://tools.ietf.org/html/rfc6901
|
|
739
735
|
/**
|
|
@@ -747,7 +743,7 @@ function jpunescape(s) {
|
|
|
747
743
|
function jptr(obj, prop, newValue) {
|
|
748
744
|
if (typeof obj === 'undefined')
|
|
749
745
|
return false;
|
|
750
|
-
if (!prop || (prop === '#'))
|
|
746
|
+
if (!prop || typeof prop !== 'string' || (prop === '#'))
|
|
751
747
|
return (typeof newValue !== 'undefined' ? newValue : obj);
|
|
752
748
|
if (prop.indexOf('#') >= 0) {
|
|
753
749
|
var parts = prop.split('#');
|
|
@@ -927,6 +923,12 @@ module.exports = require("eventemitter3");
|
|
|
927
923
|
|
|
928
924
|
/***/ }),
|
|
929
925
|
/* 20 */
|
|
926
|
+
/***/ (function(module, exports) {
|
|
927
|
+
|
|
928
|
+
module.exports = require("url-template");
|
|
929
|
+
|
|
930
|
+
/***/ }),
|
|
931
|
+
/* 21 */
|
|
930
932
|
/***/ (function(module, exports, __webpack_require__) {
|
|
931
933
|
|
|
932
934
|
"use strict";
|
|
@@ -940,7 +942,7 @@ module.exports = {
|
|
|
940
942
|
|
|
941
943
|
|
|
942
944
|
/***/ }),
|
|
943
|
-
/*
|
|
945
|
+
/* 22 */
|
|
944
946
|
/***/ (function(module, exports, __webpack_require__) {
|
|
945
947
|
|
|
946
948
|
"use strict";
|
|
@@ -979,7 +981,9 @@ function recurse(object, state, callback) {
|
|
|
979
981
|
state.path = state.path + '/' + encodeURIComponent(jpescape(key));
|
|
980
982
|
state.identityPath = state.seen.get(object[key]);
|
|
981
983
|
state.identity = (typeof state.identityPath !== 'undefined');
|
|
982
|
-
|
|
984
|
+
if (object.hasOwnProperty(key)) {
|
|
985
|
+
callback(object, key, state);
|
|
986
|
+
}
|
|
983
987
|
if ((typeof object[key] === 'object') && (!state.identity)) {
|
|
984
988
|
if (state.identityDetection && !Array.isArray(object[key]) && object[key] !== null) {
|
|
985
989
|
state.seen.set(object[key], state.path);
|
|
@@ -1004,45 +1008,49 @@ module.exports = {
|
|
|
1004
1008
|
|
|
1005
1009
|
|
|
1006
1010
|
/***/ }),
|
|
1007
|
-
/*
|
|
1011
|
+
/* 23 */
|
|
1008
1012
|
/***/ (function(module, exports) {
|
|
1009
1013
|
|
|
1010
1014
|
module.exports = require("mark.js");
|
|
1011
1015
|
|
|
1012
1016
|
/***/ }),
|
|
1013
|
-
/*
|
|
1017
|
+
/* 24 */
|
|
1014
1018
|
/***/ (function(module, exports) {
|
|
1015
1019
|
|
|
1016
1020
|
module.exports = require("openapi-sampler");
|
|
1017
1021
|
|
|
1018
1022
|
/***/ }),
|
|
1019
|
-
/*
|
|
1023
|
+
/* 25 */
|
|
1020
1024
|
/***/ (function(module, exports) {
|
|
1021
1025
|
|
|
1022
1026
|
module.exports = require("perfect-scrollbar");
|
|
1023
1027
|
|
|
1024
1028
|
/***/ }),
|
|
1025
|
-
/*
|
|
1029
|
+
/* 26 */
|
|
1026
1030
|
/***/ (function(module, exports, __webpack_require__) {
|
|
1027
1031
|
|
|
1028
|
-
|
|
1032
|
+
// Imports
|
|
1033
|
+
var ___CSS_LOADER_API_IMPORT___ = __webpack_require__(80);
|
|
1034
|
+
exports = ___CSS_LOADER_API_IMPORT___(false);
|
|
1029
1035
|
// Module
|
|
1030
1036
|
exports.push([module.i, "/*\n * Container style\n */\n.ps {\n overflow: hidden !important;\n overflow-anchor: none;\n -ms-overflow-style: none;\n touch-action: auto;\n -ms-touch-action: auto;\n}\n\n/*\n * Scrollbar rail styles\n */\n.ps__rail-x {\n display: none;\n opacity: 0;\n transition: background-color .2s linear, opacity .2s linear;\n -webkit-transition: background-color .2s linear, opacity .2s linear;\n height: 15px;\n /* there must be 'bottom' or 'top' for ps__rail-x */\n bottom: 0px;\n /* please don't change 'position' */\n position: absolute;\n}\n\n.ps__rail-y {\n display: none;\n opacity: 0;\n transition: background-color .2s linear, opacity .2s linear;\n -webkit-transition: background-color .2s linear, opacity .2s linear;\n width: 15px;\n /* there must be 'right' or 'left' for ps__rail-y */\n right: 0;\n /* please don't change 'position' */\n position: absolute;\n}\n\n.ps--active-x > .ps__rail-x,\n.ps--active-y > .ps__rail-y {\n display: block;\n background-color: transparent;\n}\n\n.ps:hover > .ps__rail-x,\n.ps:hover > .ps__rail-y,\n.ps--focus > .ps__rail-x,\n.ps--focus > .ps__rail-y,\n.ps--scrolling-x > .ps__rail-x,\n.ps--scrolling-y > .ps__rail-y {\n opacity: 0.6;\n}\n\n.ps .ps__rail-x:hover,\n.ps .ps__rail-y:hover,\n.ps .ps__rail-x:focus,\n.ps .ps__rail-y:focus,\n.ps .ps__rail-x.ps--clicking,\n.ps .ps__rail-y.ps--clicking {\n background-color: #eee;\n opacity: 0.9;\n}\n\n/*\n * Scrollbar thumb styles\n */\n.ps__thumb-x {\n background-color: #aaa;\n border-radius: 6px;\n transition: background-color .2s linear, height .2s ease-in-out;\n -webkit-transition: background-color .2s linear, height .2s ease-in-out;\n height: 6px;\n /* there must be 'bottom' for ps__thumb-x */\n bottom: 2px;\n /* please don't change 'position' */\n position: absolute;\n}\n\n.ps__thumb-y {\n background-color: #aaa;\n border-radius: 6px;\n transition: background-color .2s linear, width .2s ease-in-out;\n -webkit-transition: background-color .2s linear, width .2s ease-in-out;\n width: 6px;\n /* there must be 'right' for ps__thumb-y */\n right: 2px;\n /* please don't change 'position' */\n position: absolute;\n}\n\n.ps__rail-x:hover > .ps__thumb-x,\n.ps__rail-x:focus > .ps__thumb-x,\n.ps__rail-x.ps--clicking .ps__thumb-x {\n background-color: #999;\n height: 11px;\n}\n\n.ps__rail-y:hover > .ps__thumb-y,\n.ps__rail-y:focus > .ps__thumb-y,\n.ps__rail-y.ps--clicking .ps__thumb-y {\n background-color: #999;\n width: 11px;\n}\n\n/* MS supports */\n@supports (-ms-overflow-style: none) {\n .ps {\n overflow: auto !important;\n }\n}\n\n@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {\n .ps {\n overflow: auto !important;\n }\n}\n", ""]);
|
|
1037
|
+
// Exports
|
|
1038
|
+
module.exports = exports;
|
|
1031
1039
|
|
|
1032
1040
|
|
|
1033
1041
|
/***/ }),
|
|
1034
|
-
/*
|
|
1042
|
+
/* 27 */
|
|
1035
1043
|
/***/ (function(module, exports) {
|
|
1036
1044
|
|
|
1037
1045
|
|
|
1038
1046
|
|
|
1039
1047
|
/***/ }),
|
|
1040
|
-
/*
|
|
1048
|
+
/* 28 */
|
|
1041
1049
|
/***/ (function(module, exports, __webpack_require__) {
|
|
1042
1050
|
|
|
1043
1051
|
"use strict";
|
|
1044
1052
|
/* WEBPACK VAR INJECTION */(function(process) {
|
|
1045
|
-
var sjs = __webpack_require__(
|
|
1053
|
+
var sjs = __webpack_require__(11);
|
|
1046
1054
|
var colour = process.env.NODE_DISABLE_COLORS ?
|
|
1047
1055
|
{ red: '', yellow: '', green: '', normal: '' } :
|
|
1048
1056
|
{ red: '\x1b[31m', yellow: '\x1b[33;1m', green: '\x1b[32m', normal: '\x1b[0m' };
|
|
@@ -1168,7 +1176,7 @@ module.exports = {
|
|
|
1168
1176
|
/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(16)))
|
|
1169
1177
|
|
|
1170
1178
|
/***/ }),
|
|
1171
|
-
/*
|
|
1179
|
+
/* 29 */
|
|
1172
1180
|
/***/ (function(module, exports, __webpack_require__) {
|
|
1173
1181
|
|
|
1174
1182
|
"use strict";
|
|
@@ -1182,9 +1190,9 @@ module.exports = {
|
|
|
1182
1190
|
|
|
1183
1191
|
|
|
1184
1192
|
|
|
1185
|
-
var base64 = __webpack_require__(
|
|
1186
|
-
var ieee754 = __webpack_require__(
|
|
1187
|
-
var isArray = __webpack_require__(
|
|
1193
|
+
var base64 = __webpack_require__(50)
|
|
1194
|
+
var ieee754 = __webpack_require__(51)
|
|
1195
|
+
var isArray = __webpack_require__(52)
|
|
1188
1196
|
|
|
1189
1197
|
exports.Buffer = Buffer
|
|
1190
1198
|
exports.SlowBuffer = SlowBuffer
|
|
@@ -2962,10 +2970,10 @@ function isnan (val) {
|
|
|
2962
2970
|
return val !== val // eslint-disable-line no-self-compare
|
|
2963
2971
|
}
|
|
2964
2972
|
|
|
2965
|
-
/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(
|
|
2973
|
+
/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(12)))
|
|
2966
2974
|
|
|
2967
2975
|
/***/ }),
|
|
2968
|
-
/*
|
|
2976
|
+
/* 30 */
|
|
2969
2977
|
/***/ (function(module, exports, __webpack_require__) {
|
|
2970
2978
|
|
|
2971
2979
|
/* WEBPACK VAR INJECTION */(function(global) {exports.fetch = isFunction(global.fetch) && isFunction(global.ReadableStream)
|
|
@@ -3042,21 +3050,21 @@ function isFunction (value) {
|
|
|
3042
3050
|
|
|
3043
3051
|
xhr = null // Help gc
|
|
3044
3052
|
|
|
3045
|
-
/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(
|
|
3053
|
+
/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(12)))
|
|
3046
3054
|
|
|
3047
3055
|
/***/ }),
|
|
3048
|
-
/*
|
|
3056
|
+
/* 31 */
|
|
3049
3057
|
/***/ (function(module, exports) {
|
|
3050
3058
|
|
|
3051
3059
|
module.exports = require("inherits");
|
|
3052
3060
|
|
|
3053
3061
|
/***/ }),
|
|
3054
|
-
/*
|
|
3062
|
+
/* 32 */
|
|
3055
3063
|
/***/ (function(module, exports, __webpack_require__) {
|
|
3056
3064
|
|
|
3057
|
-
/* WEBPACK VAR INJECTION */(function(process, Buffer, global) {var capability = __webpack_require__(
|
|
3058
|
-
var inherits = __webpack_require__(
|
|
3059
|
-
var stream = __webpack_require__(
|
|
3065
|
+
/* WEBPACK VAR INJECTION */(function(process, Buffer, global) {var capability = __webpack_require__(30)
|
|
3066
|
+
var inherits = __webpack_require__(31)
|
|
3067
|
+
var stream = __webpack_require__(33)
|
|
3060
3068
|
|
|
3061
3069
|
var rStates = exports.readyStates = {
|
|
3062
3070
|
UNSENT: 0,
|
|
@@ -3279,16 +3287,16 @@ IncomingMessage.prototype._onXHRProgress = function () {
|
|
|
3279
3287
|
}
|
|
3280
3288
|
}
|
|
3281
3289
|
|
|
3282
|
-
/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(16), __webpack_require__(
|
|
3290
|
+
/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(16), __webpack_require__(29).Buffer, __webpack_require__(12)))
|
|
3283
3291
|
|
|
3284
3292
|
/***/ }),
|
|
3285
|
-
/*
|
|
3293
|
+
/* 33 */
|
|
3286
3294
|
/***/ (function(module, exports) {
|
|
3287
3295
|
|
|
3288
3296
|
module.exports = require("readable-stream");
|
|
3289
3297
|
|
|
3290
3298
|
/***/ }),
|
|
3291
|
-
/*
|
|
3299
|
+
/* 34 */
|
|
3292
3300
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
3293
3301
|
|
|
3294
3302
|
"use strict";
|
|
@@ -3306,7 +3314,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
3306
3314
|
|
|
3307
3315
|
try {
|
|
3308
3316
|
// tslint:disable-next-line
|
|
3309
|
-
__webpack_require__(
|
|
3317
|
+
__webpack_require__(79); // bundle into worker
|
|
3310
3318
|
}
|
|
3311
3319
|
catch (_) { } // nope
|
|
3312
3320
|
/* just for better typings */
|
|
@@ -3409,48 +3417,48 @@ function search(q, limit) {
|
|
|
3409
3417
|
|
|
3410
3418
|
|
|
3411
3419
|
/***/ }),
|
|
3412
|
-
/*
|
|
3420
|
+
/* 35 */
|
|
3413
3421
|
/***/ (function(module, exports) {
|
|
3414
3422
|
|
|
3415
3423
|
module.exports = require("slugify");
|
|
3416
3424
|
|
|
3417
3425
|
/***/ }),
|
|
3418
|
-
/*
|
|
3426
|
+
/* 36 */
|
|
3419
3427
|
/***/ (function(module, exports) {
|
|
3420
3428
|
|
|
3421
3429
|
module.exports = require("styled-components");
|
|
3422
3430
|
|
|
3423
3431
|
/***/ }),
|
|
3424
|
-
/*
|
|
3432
|
+
/* 37 */
|
|
3425
3433
|
/***/ (function(module, exports) {
|
|
3426
3434
|
|
|
3427
3435
|
module.exports = require("json-schema-ref-parser");
|
|
3428
3436
|
|
|
3429
3437
|
/***/ }),
|
|
3430
|
-
/*
|
|
3438
|
+
/* 38 */
|
|
3431
3439
|
/***/ (function(module, exports, __webpack_require__) {
|
|
3432
3440
|
|
|
3433
3441
|
"use strict";
|
|
3434
3442
|
// @ts-check
|
|
3435
3443
|
|
|
3436
3444
|
var tslib_1 = __webpack_require__(1);
|
|
3437
|
-
var fs = __webpack_require__(
|
|
3445
|
+
var fs = __webpack_require__(27);
|
|
3438
3446
|
var url = __webpack_require__(5);
|
|
3439
|
-
var pathlib = __webpack_require__(
|
|
3440
|
-
var maybe = __webpack_require__(
|
|
3441
|
-
var fetch = __webpack_require__(
|
|
3442
|
-
var yaml = __webpack_require__(
|
|
3447
|
+
var pathlib = __webpack_require__(13);
|
|
3448
|
+
var maybe = __webpack_require__(43);
|
|
3449
|
+
var fetch = __webpack_require__(11);
|
|
3450
|
+
var yaml = __webpack_require__(11);
|
|
3443
3451
|
var jptr = __webpack_require__(17);
|
|
3444
3452
|
var resolveInternal = jptr.jptr;
|
|
3445
|
-
var isRef = __webpack_require__(
|
|
3453
|
+
var isRef = __webpack_require__(21).isRef;
|
|
3446
3454
|
var clone = __webpack_require__(18).clone;
|
|
3447
3455
|
var cclone = __webpack_require__(18).circularClone;
|
|
3448
|
-
var recurse = __webpack_require__(
|
|
3449
|
-
var resolver = __webpack_require__(
|
|
3450
|
-
var sw = __webpack_require__(
|
|
3451
|
-
var common = __webpack_require__(
|
|
3452
|
-
var statusCodes = __webpack_require__(
|
|
3453
|
-
var ourVersion = __webpack_require__(
|
|
3456
|
+
var recurse = __webpack_require__(22).recurse;
|
|
3457
|
+
var resolver = __webpack_require__(44);
|
|
3458
|
+
var sw = __webpack_require__(46);
|
|
3459
|
+
var common = __webpack_require__(28);
|
|
3460
|
+
var statusCodes = __webpack_require__(47).statusCodes;
|
|
3461
|
+
var ourVersion = __webpack_require__(56).version;
|
|
3454
3462
|
// TODO handle specification-extensions with plugins?
|
|
3455
3463
|
var targetVersion = '3.0.0';
|
|
3456
3464
|
var componentNames; // initialised in main
|
|
@@ -3637,7 +3645,8 @@ function fixupRefs(obj, key, state) {
|
|
|
3637
3645
|
else if (obj[key].startsWith('#/definitions/')) {
|
|
3638
3646
|
//only the first part of a schema component name must be sanitised
|
|
3639
3647
|
var keys = obj[key].replace('#/definitions/', '').split('/');
|
|
3640
|
-
var
|
|
3648
|
+
var ref = jptr.jpunescape(keys[0]);
|
|
3649
|
+
var newKey = componentNames.schemas[decodeURIComponent(ref)]; // lookup, resolves a $ref
|
|
3641
3650
|
if (newKey) {
|
|
3642
3651
|
keys[0] = newKey;
|
|
3643
3652
|
}
|
|
@@ -3801,41 +3810,39 @@ function processHeader(header, options) {
|
|
|
3801
3810
|
}
|
|
3802
3811
|
if (header.type)
|
|
3803
3812
|
header.schema.type = header.type;
|
|
3804
|
-
if (header.items && header.items.
|
|
3805
|
-
if (header.items.
|
|
3806
|
-
|
|
3807
|
-
throwOrWarn('Nested collectionFormats are not supported', header, options);
|
|
3808
|
-
}
|
|
3809
|
-
delete header.items.collectionFormat;
|
|
3813
|
+
if (header.items && header.items.type !== 'array') {
|
|
3814
|
+
if (header.items.collectionFormat !== header.collectionFormat) {
|
|
3815
|
+
throwOrWarn('Nested collectionFormats are not supported', header, options);
|
|
3810
3816
|
}
|
|
3817
|
+
delete header.items.collectionFormat;
|
|
3811
3818
|
}
|
|
3812
|
-
if (
|
|
3813
|
-
if (header.type != 'array') {
|
|
3814
|
-
if (options.patch) {
|
|
3815
|
-
delete header.collectionFormat;
|
|
3816
|
-
}
|
|
3817
|
-
else {
|
|
3818
|
-
throwError('(Patchable) collectionFormat is only applicable to header.type array', options);
|
|
3819
|
-
}
|
|
3820
|
-
}
|
|
3821
|
-
if (header.collectionFormat === 'csv') {
|
|
3822
|
-
header.style = 'simple';
|
|
3823
|
-
}
|
|
3819
|
+
if (header.type === 'array') {
|
|
3824
3820
|
if (header.collectionFormat === 'ssv') {
|
|
3825
3821
|
throwOrWarn('collectionFormat:ssv is no longer supported for headers', header, options); // not lossless
|
|
3826
3822
|
}
|
|
3827
|
-
if (header.collectionFormat === 'pipes') {
|
|
3823
|
+
else if (header.collectionFormat === 'pipes') {
|
|
3828
3824
|
throwOrWarn('collectionFormat:pipes is no longer supported for headers', header, options); // not lossless
|
|
3829
3825
|
}
|
|
3830
|
-
if (header.collectionFormat === 'multi') {
|
|
3826
|
+
else if (header.collectionFormat === 'multi') {
|
|
3831
3827
|
header.explode = true;
|
|
3832
3828
|
}
|
|
3833
|
-
if (header.collectionFormat === 'tsv') {
|
|
3829
|
+
else if (header.collectionFormat === 'tsv') {
|
|
3834
3830
|
throwOrWarn('collectionFormat:tsv is no longer supported', header, options); // not lossless
|
|
3835
3831
|
header["x-collectionFormat"] = 'tsv';
|
|
3836
3832
|
}
|
|
3833
|
+
else { // 'csv'
|
|
3834
|
+
header.style = 'simple';
|
|
3835
|
+
}
|
|
3837
3836
|
delete header.collectionFormat;
|
|
3838
3837
|
}
|
|
3838
|
+
else if (header.collectionFormat) {
|
|
3839
|
+
if (options.patch) {
|
|
3840
|
+
delete header.collectionFormat;
|
|
3841
|
+
}
|
|
3842
|
+
else {
|
|
3843
|
+
throwError('(Patchable) collectionFormat is only applicable to header.type array', options);
|
|
3844
|
+
}
|
|
3845
|
+
}
|
|
3839
3846
|
delete header.type;
|
|
3840
3847
|
for (var _i = 0, _a = common.parameterTypeProperties; _i < _a.length; _i++) {
|
|
3841
3848
|
var prop = _a[_i];
|
|
@@ -3951,7 +3958,10 @@ function processParameter(param, op, path, method, index, openapi, options) {
|
|
|
3951
3958
|
if (param.description === null)
|
|
3952
3959
|
delete param.description;
|
|
3953
3960
|
var oldCollectionFormat_1 = param.collectionFormat;
|
|
3954
|
-
if (param.
|
|
3961
|
+
if ((param.type === 'array') && !oldCollectionFormat_1) {
|
|
3962
|
+
oldCollectionFormat_1 = 'csv';
|
|
3963
|
+
}
|
|
3964
|
+
if (oldCollectionFormat_1) {
|
|
3955
3965
|
if (param.type != 'array') {
|
|
3956
3966
|
if (options.patch) {
|
|
3957
3967
|
delete param.collectionFormat;
|
|
@@ -3960,14 +3970,14 @@ function processParameter(param, op, path, method, index, openapi, options) {
|
|
|
3960
3970
|
throwError('(Patchable) collectionFormat is only applicable to param.type array', options);
|
|
3961
3971
|
}
|
|
3962
3972
|
}
|
|
3963
|
-
if ((
|
|
3973
|
+
if ((oldCollectionFormat_1 === 'csv') && ((param.in === 'query') || (param.in === 'cookie'))) {
|
|
3964
3974
|
param.style = 'form';
|
|
3965
3975
|
param.explode = false;
|
|
3966
3976
|
}
|
|
3967
|
-
if ((
|
|
3977
|
+
if ((oldCollectionFormat_1 === 'csv') && ((param.in === 'path') || (param.in === 'header'))) {
|
|
3968
3978
|
param.style = 'simple';
|
|
3969
3979
|
}
|
|
3970
|
-
if (
|
|
3980
|
+
if (oldCollectionFormat_1 === 'ssv') {
|
|
3971
3981
|
if (param.in === 'query') {
|
|
3972
3982
|
param.style = 'spaceDelimited';
|
|
3973
3983
|
}
|
|
@@ -3975,7 +3985,7 @@ function processParameter(param, op, path, method, index, openapi, options) {
|
|
|
3975
3985
|
throwOrWarn('collectionFormat:ssv is no longer supported except for in:query parameters', param, options); // not lossless
|
|
3976
3986
|
}
|
|
3977
3987
|
}
|
|
3978
|
-
if (
|
|
3988
|
+
if (oldCollectionFormat_1 === 'pipes') {
|
|
3979
3989
|
if (param.in === 'query') {
|
|
3980
3990
|
param.style = 'pipeDelimited';
|
|
3981
3991
|
}
|
|
@@ -3983,10 +3993,10 @@ function processParameter(param, op, path, method, index, openapi, options) {
|
|
|
3983
3993
|
throwOrWarn('collectionFormat:pipes is no longer supported except for in:query parameters', param, options); // not lossless
|
|
3984
3994
|
}
|
|
3985
3995
|
}
|
|
3986
|
-
if (
|
|
3996
|
+
if (oldCollectionFormat_1 === 'multi') {
|
|
3987
3997
|
param.explode = true;
|
|
3988
3998
|
}
|
|
3989
|
-
if (
|
|
3999
|
+
if (oldCollectionFormat_1 === 'tsv') {
|
|
3990
4000
|
throwOrWarn('collectionFormat:tsv is no longer supported', param, options); // not lossless
|
|
3991
4001
|
param["x-collectionFormat"] = 'tsv';
|
|
3992
4002
|
}
|
|
@@ -4010,8 +4020,8 @@ function processParameter(param, op, path, method, index, openapi, options) {
|
|
|
4010
4020
|
}
|
|
4011
4021
|
delete obj[key]; // not lossless
|
|
4012
4022
|
}
|
|
4013
|
-
// items in 2.0 was a subset of JSON-Schema items
|
|
4014
|
-
// fixed up below
|
|
4023
|
+
// items in 2.0 was a subset of the JSON-Schema items
|
|
4024
|
+
// object, it gets fixed up below
|
|
4015
4025
|
});
|
|
4016
4026
|
}
|
|
4017
4027
|
for (var _i = 0, _a = common.parameterTypeProperties; _i < _a.length; _i++) {
|
|
@@ -4898,17 +4908,21 @@ function convertObj(swagger, options, callback) {
|
|
|
4898
4908
|
function convertStr(str, options, callback) {
|
|
4899
4909
|
return maybe(callback, new Promise(function (resolve, reject) {
|
|
4900
4910
|
var obj = null;
|
|
4911
|
+
var error = null;
|
|
4901
4912
|
try {
|
|
4902
4913
|
obj = JSON.parse(str);
|
|
4903
4914
|
options.text = JSON.stringify(obj, null, 2);
|
|
4904
4915
|
}
|
|
4905
4916
|
catch (ex) {
|
|
4917
|
+
error = ex;
|
|
4906
4918
|
try {
|
|
4907
|
-
obj = yaml.parse(str, { schema: 'core' });
|
|
4919
|
+
obj = yaml.parse(str, { schema: 'core', prettyErrors: true });
|
|
4908
4920
|
options.sourceYaml = true;
|
|
4909
4921
|
options.text = str;
|
|
4910
4922
|
}
|
|
4911
|
-
catch (ex) {
|
|
4923
|
+
catch (ex) {
|
|
4924
|
+
error = ex;
|
|
4925
|
+
}
|
|
4912
4926
|
}
|
|
4913
4927
|
if (obj) {
|
|
4914
4928
|
convertObj(obj, options)
|
|
@@ -4916,7 +4930,7 @@ function convertStr(str, options, callback) {
|
|
|
4916
4930
|
.catch(function (ex) { return reject(ex); });
|
|
4917
4931
|
}
|
|
4918
4932
|
else {
|
|
4919
|
-
reject(new S2OError('Could not parse string'));
|
|
4933
|
+
reject(new S2OError(error ? error.message : 'Could not parse string'));
|
|
4920
4934
|
}
|
|
4921
4935
|
}));
|
|
4922
4936
|
}
|
|
@@ -4983,7 +4997,7 @@ module.exports = {
|
|
|
4983
4997
|
|
|
4984
4998
|
|
|
4985
4999
|
/***/ }),
|
|
4986
|
-
/*
|
|
5000
|
+
/* 39 */
|
|
4987
5001
|
/***/ (function(module, exports, __webpack_require__) {
|
|
4988
5002
|
|
|
4989
5003
|
"use strict";
|
|
@@ -5028,47 +5042,47 @@ module.exports = memoizeOne;
|
|
|
5028
5042
|
|
|
5029
5043
|
|
|
5030
5044
|
/***/ }),
|
|
5031
|
-
/*
|
|
5045
|
+
/* 40 */
|
|
5032
5046
|
/***/ (function(module, exports) {
|
|
5033
5047
|
|
|
5034
5048
|
module.exports = require("react-dropdown");
|
|
5035
5049
|
|
|
5036
5050
|
/***/ }),
|
|
5037
|
-
/*
|
|
5051
|
+
/* 41 */
|
|
5038
5052
|
/***/ (function(module, exports) {
|
|
5039
5053
|
|
|
5040
5054
|
module.exports = require("dompurify");
|
|
5041
5055
|
|
|
5042
5056
|
/***/ }),
|
|
5043
|
-
/*
|
|
5057
|
+
/* 42 */
|
|
5044
5058
|
/***/ (function(module, exports) {
|
|
5045
5059
|
|
|
5046
5060
|
module.exports = require("classnames");
|
|
5047
5061
|
|
|
5048
5062
|
/***/ }),
|
|
5049
|
-
/*
|
|
5063
|
+
/* 43 */
|
|
5050
5064
|
/***/ (function(module, exports) {
|
|
5051
5065
|
|
|
5052
5066
|
module.exports = require("call-me-maybe");
|
|
5053
5067
|
|
|
5054
5068
|
/***/ }),
|
|
5055
|
-
/*
|
|
5069
|
+
/* 44 */
|
|
5056
5070
|
/***/ (function(module, exports, __webpack_require__) {
|
|
5057
5071
|
|
|
5058
5072
|
"use strict";
|
|
5059
5073
|
|
|
5060
5074
|
var tslib_1 = __webpack_require__(1);
|
|
5061
|
-
var fs = __webpack_require__(
|
|
5062
|
-
var path = __webpack_require__(
|
|
5075
|
+
var fs = __webpack_require__(27);
|
|
5076
|
+
var path = __webpack_require__(13);
|
|
5063
5077
|
var url = __webpack_require__(5);
|
|
5064
|
-
var fetch = __webpack_require__(
|
|
5065
|
-
var yaml = __webpack_require__(
|
|
5078
|
+
var fetch = __webpack_require__(11);
|
|
5079
|
+
var yaml = __webpack_require__(11);
|
|
5066
5080
|
var jptr = __webpack_require__(17).jptr;
|
|
5067
|
-
var recurse = __webpack_require__(
|
|
5081
|
+
var recurse = __webpack_require__(22).recurse;
|
|
5068
5082
|
var clone = __webpack_require__(18).clone;
|
|
5069
|
-
var deRef = __webpack_require__(
|
|
5070
|
-
var isRef = __webpack_require__(
|
|
5071
|
-
var common = __webpack_require__(
|
|
5083
|
+
var deRef = __webpack_require__(45).dereference;
|
|
5084
|
+
var isRef = __webpack_require__(21).isRef;
|
|
5085
|
+
var common = __webpack_require__(28);
|
|
5072
5086
|
function unique(arr) {
|
|
5073
5087
|
return tslib_1.__spreadArrays(new Set(arr));
|
|
5074
5088
|
}
|
|
@@ -5251,7 +5265,7 @@ function resolveExternal(root, pointer, options, callback) {
|
|
|
5251
5265
|
})
|
|
5252
5266
|
.then(function (data) {
|
|
5253
5267
|
try {
|
|
5254
|
-
var context = yaml.parse(data, { schema: 'core' });
|
|
5268
|
+
var context = yaml.parse(data, { schema: 'core', prettyErrors: true });
|
|
5255
5269
|
data = options.externalRef = context;
|
|
5256
5270
|
options.cache[target] = clone(data);
|
|
5257
5271
|
/* resolutionSource:B, from the network, data is fresh, but we clone it into the cache */
|
|
@@ -5296,7 +5310,7 @@ function resolveExternal(root, pointer, options, callback) {
|
|
|
5296
5310
|
return readFileAsync(target, options.encoding || 'utf8')
|
|
5297
5311
|
.then(function (data) {
|
|
5298
5312
|
try {
|
|
5299
|
-
var context = yaml.parse(data, { schema: 'core' });
|
|
5313
|
+
var context = yaml.parse(data, { schema: 'core', prettyErrors: true });
|
|
5300
5314
|
data = options.externalRef = context;
|
|
5301
5315
|
/*
|
|
5302
5316
|
resolutionSource:C from a file, data is fresh but we clone it into the cache
|
|
@@ -5542,7 +5556,7 @@ function setupOptions(options) {
|
|
|
5542
5556
|
if (!options.externals)
|
|
5543
5557
|
options.externals = [];
|
|
5544
5558
|
if (!options.externalRefs)
|
|
5545
|
-
options.externalRefs =
|
|
5559
|
+
options.externalRefs = {};
|
|
5546
5560
|
options.rewriteRefs = true;
|
|
5547
5561
|
options.resolver = {};
|
|
5548
5562
|
options.resolver.depth = 0;
|
|
@@ -5577,15 +5591,15 @@ module.exports = {
|
|
|
5577
5591
|
|
|
5578
5592
|
|
|
5579
5593
|
/***/ }),
|
|
5580
|
-
/*
|
|
5594
|
+
/* 45 */
|
|
5581
5595
|
/***/ (function(module, exports, __webpack_require__) {
|
|
5582
5596
|
|
|
5583
5597
|
"use strict";
|
|
5584
5598
|
|
|
5585
|
-
var recurse = __webpack_require__(
|
|
5599
|
+
var recurse = __webpack_require__(22).recurse;
|
|
5586
5600
|
var clone = __webpack_require__(18).shallowClone;
|
|
5587
5601
|
var jptr = __webpack_require__(17).jptr;
|
|
5588
|
-
var isRef = __webpack_require__(
|
|
5602
|
+
var isRef = __webpack_require__(21).isRef;
|
|
5589
5603
|
var getLogger = function (options) {
|
|
5590
5604
|
if (options && options.verbose) {
|
|
5591
5605
|
return {
|
|
@@ -5689,7 +5703,7 @@ module.exports = {
|
|
|
5689
5703
|
|
|
5690
5704
|
|
|
5691
5705
|
/***/ }),
|
|
5692
|
-
/*
|
|
5706
|
+
/* 46 */
|
|
5693
5707
|
/***/ (function(module, exports, __webpack_require__) {
|
|
5694
5708
|
|
|
5695
5709
|
"use strict";
|
|
@@ -5707,11 +5721,10 @@ function getDefaultState() {
|
|
|
5707
5721
|
return { depth: 0, seen: new WeakMap(), top: true, combine: false, allowRefSiblings: false };
|
|
5708
5722
|
}
|
|
5709
5723
|
/**
|
|
5710
|
-
* begins the walk of a schema object
|
|
5711
|
-
* by walkSchema
|
|
5724
|
+
* begins the walk of a schema object
|
|
5712
5725
|
* @param parent the parent schema, if any. Use empty object if none
|
|
5713
|
-
* @param state the initial starting state of the walker, usually obtained from `getDefaultState
|
|
5714
|
-
* @param callback
|
|
5726
|
+
* @param state the initial starting state of the walker, usually obtained from `getDefaultState`. Use empty object to auto-initialise
|
|
5727
|
+
* @param callback a function taking a schema, parent and state to be called on this and all subschemas
|
|
5715
5728
|
* @return the schema object
|
|
5716
5729
|
*/
|
|
5717
5730
|
function walkSchema(schema, parent, state, callback) {
|
|
@@ -5815,12 +5828,12 @@ module.exports = {
|
|
|
5815
5828
|
|
|
5816
5829
|
|
|
5817
5830
|
/***/ }),
|
|
5818
|
-
/*
|
|
5831
|
+
/* 47 */
|
|
5819
5832
|
/***/ (function(module, exports, __webpack_require__) {
|
|
5820
5833
|
|
|
5821
5834
|
"use strict";
|
|
5822
5835
|
|
|
5823
|
-
var http = __webpack_require__(
|
|
5836
|
+
var http = __webpack_require__(48);
|
|
5824
5837
|
var ours = {
|
|
5825
5838
|
"default": "Default response",
|
|
5826
5839
|
"1XX": "Informational",
|
|
@@ -5837,13 +5850,13 @@ module.exports = {
|
|
|
5837
5850
|
|
|
5838
5851
|
|
|
5839
5852
|
/***/ }),
|
|
5840
|
-
/*
|
|
5853
|
+
/* 48 */
|
|
5841
5854
|
/***/ (function(module, exports, __webpack_require__) {
|
|
5842
5855
|
|
|
5843
|
-
/* WEBPACK VAR INJECTION */(function(global) {var ClientRequest = __webpack_require__(
|
|
5844
|
-
var response = __webpack_require__(
|
|
5845
|
-
var extend = __webpack_require__(
|
|
5846
|
-
var statusCodes = __webpack_require__(
|
|
5856
|
+
/* WEBPACK VAR INJECTION */(function(global) {var ClientRequest = __webpack_require__(49)
|
|
5857
|
+
var response = __webpack_require__(32)
|
|
5858
|
+
var extend = __webpack_require__(54)
|
|
5859
|
+
var statusCodes = __webpack_require__(55)
|
|
5847
5860
|
var url = __webpack_require__(5)
|
|
5848
5861
|
|
|
5849
5862
|
var http = exports
|
|
@@ -5925,17 +5938,17 @@ http.METHODS = [
|
|
|
5925
5938
|
'UNLOCK',
|
|
5926
5939
|
'UNSUBSCRIBE'
|
|
5927
5940
|
]
|
|
5928
|
-
/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(
|
|
5941
|
+
/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(12)))
|
|
5929
5942
|
|
|
5930
5943
|
/***/ }),
|
|
5931
|
-
/*
|
|
5944
|
+
/* 49 */
|
|
5932
5945
|
/***/ (function(module, exports, __webpack_require__) {
|
|
5933
5946
|
|
|
5934
|
-
/* WEBPACK VAR INJECTION */(function(Buffer, global, process) {var capability = __webpack_require__(
|
|
5935
|
-
var inherits = __webpack_require__(
|
|
5936
|
-
var response = __webpack_require__(
|
|
5937
|
-
var stream = __webpack_require__(
|
|
5938
|
-
var toArrayBuffer = __webpack_require__(
|
|
5947
|
+
/* WEBPACK VAR INJECTION */(function(Buffer, global, process) {var capability = __webpack_require__(30)
|
|
5948
|
+
var inherits = __webpack_require__(31)
|
|
5949
|
+
var response = __webpack_require__(32)
|
|
5950
|
+
var stream = __webpack_require__(33)
|
|
5951
|
+
var toArrayBuffer = __webpack_require__(53)
|
|
5939
5952
|
|
|
5940
5953
|
var IncomingMessage = response.IncomingMessage
|
|
5941
5954
|
var rStates = response.readyStates
|
|
@@ -6259,55 +6272,49 @@ var unsafeHeaders = [
|
|
|
6259
6272
|
'via'
|
|
6260
6273
|
]
|
|
6261
6274
|
|
|
6262
|
-
/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(
|
|
6275
|
+
/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(29).Buffer, __webpack_require__(12), __webpack_require__(16)))
|
|
6263
6276
|
|
|
6264
6277
|
/***/ }),
|
|
6265
|
-
/*
|
|
6278
|
+
/* 50 */
|
|
6266
6279
|
/***/ (function(module, exports) {
|
|
6267
6280
|
|
|
6268
6281
|
module.exports = require("base64-js");
|
|
6269
6282
|
|
|
6270
6283
|
/***/ }),
|
|
6271
|
-
/*
|
|
6284
|
+
/* 51 */
|
|
6272
6285
|
/***/ (function(module, exports) {
|
|
6273
6286
|
|
|
6274
6287
|
module.exports = require("ieee754");
|
|
6275
6288
|
|
|
6276
6289
|
/***/ }),
|
|
6277
|
-
/*
|
|
6290
|
+
/* 52 */
|
|
6278
6291
|
/***/ (function(module, exports) {
|
|
6279
6292
|
|
|
6280
6293
|
module.exports = require("isarray");
|
|
6281
6294
|
|
|
6282
6295
|
/***/ }),
|
|
6283
|
-
/*
|
|
6296
|
+
/* 53 */
|
|
6284
6297
|
/***/ (function(module, exports) {
|
|
6285
6298
|
|
|
6286
6299
|
module.exports = require("to-arraybuffer");
|
|
6287
6300
|
|
|
6288
6301
|
/***/ }),
|
|
6289
|
-
/*
|
|
6302
|
+
/* 54 */
|
|
6290
6303
|
/***/ (function(module, exports) {
|
|
6291
6304
|
|
|
6292
6305
|
module.exports = require("xtend");
|
|
6293
6306
|
|
|
6294
6307
|
/***/ }),
|
|
6295
|
-
/*
|
|
6308
|
+
/* 55 */
|
|
6296
6309
|
/***/ (function(module, exports) {
|
|
6297
6310
|
|
|
6298
6311
|
module.exports = require("builtin-status-codes");
|
|
6299
6312
|
|
|
6300
|
-
/***/ }),
|
|
6301
|
-
/* 55 */
|
|
6302
|
-
/***/ (function(module) {
|
|
6303
|
-
|
|
6304
|
-
module.exports = JSON.parse("{\"name\":\"swagger2openapi\",\"version\":\"5.3.1\",\"description\":\"Convert Swagger 2.0 definitions to OpenApi 3.0 and validate\",\"main\":\"index.js\",\"bin\":{\"swagger2openapi\":\"./swagger2openapi.js\",\"oas-validate\":\"./oas-validate.js\",\"boast\":\"./boast.js\"},\"scripts\":{\"test\":\"mocha\"},\"browserify\":{\"transform\":[[\"babelify\",{\"presets\":[\"es2015\"]}]]},\"repository\":{\"url\":\"https://github.com/Mermade/oas-kit.git\",\"type\":\"git\"},\"bugs\":{\"url\":\"https://github.com/mermade/oas-kit/issues\"},\"author\":\"Mike Ralphson <mike.ralphson@gmail.com>\",\"license\":\"BSD-3-Clause\",\"dependencies\":{\"better-ajv-errors\":\"^0.6.1\",\"call-me-maybe\":\"^1.0.1\",\"node-fetch-h2\":\"^2.3.0\",\"node-readfiles\":\"^0.2.0\",\"oas-kit-common\":\"^1.0.7\",\"oas-resolver\":\"^2.2.5\",\"oas-schema-walker\":\"^1.1.2\",\"oas-validator\":\"^3.3.1\",\"reftools\":\"^1.0.8\",\"yaml\":\"^1.3.1\",\"yargs\":\"^12.0.5\"},\"keywords\":[\"swagger\",\"openapi\",\"openapi2\",\"openapi3\",\"converter\",\"conversion\",\"validator\",\"validation\",\"resolver\",\"lint\",\"linter\"],\"gitHead\":\"bb9737783f5c8e192bdf2cc33edcaec1f7fa5720\"}");
|
|
6305
|
-
|
|
6306
6313
|
/***/ }),
|
|
6307
6314
|
/* 56 */
|
|
6308
|
-
/***/ (function(module
|
|
6315
|
+
/***/ (function(module) {
|
|
6309
6316
|
|
|
6310
|
-
module.exports =
|
|
6317
|
+
module.exports = JSON.parse("{\"name\":\"swagger2openapi\",\"version\":\"5.3.4\",\"description\":\"Convert Swagger 2.0 definitions to OpenApi 3.0 and validate\",\"main\":\"index.js\",\"bin\":{\"swagger2openapi\":\"./swagger2openapi.js\",\"oas-validate\":\"./oas-validate.js\",\"boast\":\"./boast.js\"},\"scripts\":{\"test\":\"mocha\"},\"browserify\":{\"transform\":[[\"babelify\",{\"presets\":[\"es2015\"]}]]},\"repository\":{\"url\":\"https://github.com/Mermade/oas-kit.git\",\"type\":\"git\"},\"bugs\":{\"url\":\"https://github.com/mermade/oas-kit/issues\"},\"author\":\"Mike Ralphson <mike.ralphson@gmail.com>\",\"license\":\"BSD-3-Clause\",\"dependencies\":{\"better-ajv-errors\":\"^0.6.1\",\"call-me-maybe\":\"^1.0.1\",\"node-fetch-h2\":\"^2.3.0\",\"node-readfiles\":\"^0.2.0\",\"oas-kit-common\":\"^1.0.7\",\"oas-resolver\":\"^2.2.8\",\"oas-schema-walker\":\"^1.1.3\",\"oas-validator\":\"^3.3.4\",\"reftools\":\"^1.0.11\",\"yaml\":\"^1.8.0\",\"yargs\":\"^12.0.5\"},\"keywords\":[\"swagger\",\"openapi\",\"openapi2\",\"openapi3\",\"converter\",\"conversion\",\"validator\",\"validation\",\"resolver\",\"lint\",\"linter\"],\"gitHead\":\"3c04d8c190507d806746d45042fcb8d579dfb237\",\"_resolved\":\"https://registry.npmjs.org/swagger2openapi/-/swagger2openapi-5.3.4.tgz\",\"_integrity\":\"sha512-4LSutujtmehQFkRG4MAObjnI414S8VHSZ2tDAT88XxK6LhgYWUcYGZ0LNDecx5mkxAn0gOdfCJY0MCUPKJDqlw==\",\"_from\":\"swagger2openapi@5.3.4\"}");
|
|
6311
6318
|
|
|
6312
6319
|
/***/ }),
|
|
6313
6320
|
/* 57 */
|
|
@@ -6355,83 +6362,89 @@ module.exports = require("prismjs/components/prism-go.js");
|
|
|
6355
6362
|
/* 64 */
|
|
6356
6363
|
/***/ (function(module, exports) {
|
|
6357
6364
|
|
|
6358
|
-
module.exports = require("prismjs/components/prism-
|
|
6365
|
+
module.exports = require("prismjs/components/prism-http.js");
|
|
6359
6366
|
|
|
6360
6367
|
/***/ }),
|
|
6361
6368
|
/* 65 */
|
|
6362
6369
|
/***/ (function(module, exports) {
|
|
6363
6370
|
|
|
6364
|
-
module.exports = require("prismjs/components/prism-
|
|
6371
|
+
module.exports = require("prismjs/components/prism-java.js");
|
|
6365
6372
|
|
|
6366
6373
|
/***/ }),
|
|
6367
6374
|
/* 66 */
|
|
6368
6375
|
/***/ (function(module, exports) {
|
|
6369
6376
|
|
|
6370
|
-
module.exports = require("prismjs/components/prism-
|
|
6377
|
+
module.exports = require("prismjs/components/prism-lua.js");
|
|
6371
6378
|
|
|
6372
6379
|
/***/ }),
|
|
6373
6380
|
/* 67 */
|
|
6374
6381
|
/***/ (function(module, exports) {
|
|
6375
6382
|
|
|
6376
|
-
module.exports = require("prismjs/components/prism-markup.js");
|
|
6383
|
+
module.exports = require("prismjs/components/prism-markup-templating.js");
|
|
6377
6384
|
|
|
6378
6385
|
/***/ }),
|
|
6379
6386
|
/* 68 */
|
|
6380
6387
|
/***/ (function(module, exports) {
|
|
6381
6388
|
|
|
6382
|
-
module.exports = require("prismjs/components/prism-
|
|
6389
|
+
module.exports = require("prismjs/components/prism-markup.js");
|
|
6383
6390
|
|
|
6384
6391
|
/***/ }),
|
|
6385
6392
|
/* 69 */
|
|
6386
6393
|
/***/ (function(module, exports) {
|
|
6387
6394
|
|
|
6388
|
-
module.exports = require("prismjs/components/prism-
|
|
6395
|
+
module.exports = require("prismjs/components/prism-objectivec.js");
|
|
6389
6396
|
|
|
6390
6397
|
/***/ }),
|
|
6391
6398
|
/* 70 */
|
|
6392
6399
|
/***/ (function(module, exports) {
|
|
6393
6400
|
|
|
6394
|
-
module.exports = require("prismjs/components/prism-
|
|
6401
|
+
module.exports = require("prismjs/components/prism-perl.js");
|
|
6395
6402
|
|
|
6396
6403
|
/***/ }),
|
|
6397
6404
|
/* 71 */
|
|
6398
6405
|
/***/ (function(module, exports) {
|
|
6399
6406
|
|
|
6400
|
-
module.exports = require("prismjs/components/prism-
|
|
6407
|
+
module.exports = require("prismjs/components/prism-php.js");
|
|
6401
6408
|
|
|
6402
6409
|
/***/ }),
|
|
6403
6410
|
/* 72 */
|
|
6404
6411
|
/***/ (function(module, exports) {
|
|
6405
6412
|
|
|
6406
|
-
module.exports = require("prismjs/components/prism-
|
|
6413
|
+
module.exports = require("prismjs/components/prism-python.js");
|
|
6407
6414
|
|
|
6408
6415
|
/***/ }),
|
|
6409
6416
|
/* 73 */
|
|
6410
6417
|
/***/ (function(module, exports) {
|
|
6411
6418
|
|
|
6412
|
-
module.exports = require("prismjs/components/prism-
|
|
6419
|
+
module.exports = require("prismjs/components/prism-ruby.js");
|
|
6413
6420
|
|
|
6414
6421
|
/***/ }),
|
|
6415
6422
|
/* 74 */
|
|
6416
6423
|
/***/ (function(module, exports) {
|
|
6417
6424
|
|
|
6418
|
-
module.exports = require("prismjs/components/prism-
|
|
6425
|
+
module.exports = require("prismjs/components/prism-scala.js");
|
|
6419
6426
|
|
|
6420
6427
|
/***/ }),
|
|
6421
6428
|
/* 75 */
|
|
6422
6429
|
/***/ (function(module, exports) {
|
|
6423
6430
|
|
|
6424
|
-
module.exports = require("prismjs/components/prism-
|
|
6431
|
+
module.exports = require("prismjs/components/prism-sql.js");
|
|
6425
6432
|
|
|
6426
6433
|
/***/ }),
|
|
6427
6434
|
/* 76 */
|
|
6435
|
+
/***/ (function(module, exports) {
|
|
6436
|
+
|
|
6437
|
+
module.exports = require("prismjs/components/prism-swift.js");
|
|
6438
|
+
|
|
6439
|
+
/***/ }),
|
|
6440
|
+
/* 77 */
|
|
6428
6441
|
/***/ (function(module, exports, __webpack_require__) {
|
|
6429
6442
|
|
|
6430
6443
|
|
|
6431
|
-
var addMethods = __webpack_require__(
|
|
6444
|
+
var addMethods = __webpack_require__(78)
|
|
6432
6445
|
var methods = ["add","done","toJS","load","search"]
|
|
6433
6446
|
module.exports = function() {
|
|
6434
|
-
var w = new Worker(URL.createObjectURL(new Blob(["/*!\n * ReDoc - OpenAPI/Swagger-generated API Reference Documentation\n * -------------------------------------------------------------\n * Version: \"2.0.0-rc.21\"\n * Repo: https://github.com/Redocly/redoc\n */\n/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 97);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/* WEBPACK VAR INJECTION */(function(global) {var check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line no-undef\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n // eslint-disable-next-line no-new-func\n Function('return this')();\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(59)))\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(0);\nvar shared = __webpack_require__(32);\nvar has = __webpack_require__(3);\nvar uid = __webpack_require__(36);\nvar NATIVE_SYMBOL = __webpack_require__(37);\nvar USE_SYMBOL_AS_UID = __webpack_require__(60);\n\nvar WellKnownSymbolsStore = shared('wks');\nvar Symbol = global.Symbol;\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : uid;\n\nmodule.exports = function (name) {\n if (!has(WellKnownSymbolsStore, name)) {\n if (NATIVE_SYMBOL && has(Symbol, name)) WellKnownSymbolsStore[name] = Symbol[name];\n else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);\n } return WellKnownSymbolsStore[name];\n};\n\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(7);\n\nmodule.exports = function (it) {\n if (!isObject(it)) {\n throw TypeError(String(it) + ' is not an object');\n } return it;\n};\n\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports) {\n\nvar hasOwnProperty = {}.hasOwnProperty;\n\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_RESULT__;/**\n * lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as bright - 2.3.8\n * Copyright (C) 2019 Oliver Nightingale\n * @license MIT\n */\n\n;(function(){\n\n/**\n * A convenience function for configuring and constructing\n * a new lunr Index.\n *\n * A lunr.Builder instance is created and the pipeline setup\n * with a trimmer, stop word filter and stemmer.\n *\n * This builder object is yielded to the configuration function\n * that is passed as a parameter, allowing the list of fields\n * and other builder parameters to be customised.\n *\n * All documents _must_ be added within the passed config function.\n *\n * @example\n * var idx = lunr(function () {\n * this.field('title')\n * this.field('body')\n * this.ref('id')\n *\n * documents.forEach(function (doc) {\n * this.add(doc)\n * }, this)\n * })\n *\n * @see {@link lunr.Builder}\n * @see {@link lunr.Pipeline}\n * @see {@link lunr.trimmer}\n * @see {@link lunr.stopWordFilter}\n * @see {@link lunr.stemmer}\n * @namespace {function} lunr\n */\nvar lunr = function (config) {\n var builder = new lunr.Builder\n\n builder.pipeline.add(\n lunr.trimmer,\n lunr.stopWordFilter,\n lunr.stemmer\n )\n\n builder.searchPipeline.add(\n lunr.stemmer\n )\n\n config.call(builder, builder)\n return builder.build()\n}\n\nlunr.version = \"2.3.8\"\n/*!\n * lunr.utils\n * Copyright (C) 2019 Oliver Nightingale\n */\n\n/**\n * A namespace containing utils for the rest of the lunr library\n * @namespace lunr.utils\n */\nlunr.utils = {}\n\n/**\n * Print a warning message to the console.\n *\n * @param {String} message The message to be printed.\n * @memberOf lunr.utils\n * @function\n */\nlunr.utils.warn = (function (global) {\n /* eslint-disable no-console */\n return function (message) {\n if (global.console && console.warn) {\n console.warn(message)\n }\n }\n /* eslint-enable no-console */\n})(this)\n\n/**\n * Convert an object to a string.\n *\n * In the case of `null` and `undefined` the function returns\n * the empty string, in all other cases the result of calling\n * `toString` on the passed object is returned.\n *\n * @param {Any} obj The object to convert to a string.\n * @return {String} string representation of the passed object.\n * @memberOf lunr.utils\n */\nlunr.utils.asString = function (obj) {\n if (obj === void 0 || obj === null) {\n return \"\"\n } else {\n return obj.toString()\n }\n}\n\n/**\n * Clones an object.\n *\n * Will create a copy of an existing object such that any mutations\n * on the copy cannot affect the original.\n *\n * Only shallow objects are supported, passing a nested object to this\n * function will cause a TypeError.\n *\n * Objects with primitives, and arrays of primitives are supported.\n *\n * @param {Object} obj The object to clone.\n * @return {Object} a clone of the passed object.\n * @throws {TypeError} when a nested object is passed.\n * @memberOf Utils\n */\nlunr.utils.clone = function (obj) {\n if (obj === null || obj === undefined) {\n return obj\n }\n\n var clone = Object.create(null),\n keys = Object.keys(obj)\n\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i],\n val = obj[key]\n\n if (Array.isArray(val)) {\n clone[key] = val.slice()\n continue\n }\n\n if (typeof val === 'string' ||\n typeof val === 'number' ||\n typeof val === 'boolean') {\n clone[key] = val\n continue\n }\n\n throw new TypeError(\"clone is not deep and does not support nested objects\")\n }\n\n return clone\n}\nlunr.FieldRef = function (docRef, fieldName, stringValue) {\n this.docRef = docRef\n this.fieldName = fieldName\n this._stringValue = stringValue\n}\n\nlunr.FieldRef.joiner = \"/\"\n\nlunr.FieldRef.fromString = function (s) {\n var n = s.indexOf(lunr.FieldRef.joiner)\n\n if (n === -1) {\n throw \"malformed field ref string\"\n }\n\n var fieldRef = s.slice(0, n),\n docRef = s.slice(n + 1)\n\n return new lunr.FieldRef (docRef, fieldRef, s)\n}\n\nlunr.FieldRef.prototype.toString = function () {\n if (this._stringValue == undefined) {\n this._stringValue = this.fieldName + lunr.FieldRef.joiner + this.docRef\n }\n\n return this._stringValue\n}\n/*!\n * lunr.Set\n * Copyright (C) 2019 Oliver Nightingale\n */\n\n/**\n * A lunr set.\n *\n * @constructor\n */\nlunr.Set = function (elements) {\n this.elements = Object.create(null)\n\n if (elements) {\n this.length = elements.length\n\n for (var i = 0; i < this.length; i++) {\n this.elements[elements[i]] = true\n }\n } else {\n this.length = 0\n }\n}\n\n/**\n * A complete set that contains all elements.\n *\n * @static\n * @readonly\n * @type {lunr.Set}\n */\nlunr.Set.complete = {\n intersect: function (other) {\n return other\n },\n\n union: function (other) {\n return other\n },\n\n contains: function () {\n return true\n }\n}\n\n/**\n * An empty set that contains no elements.\n *\n * @static\n * @readonly\n * @type {lunr.Set}\n */\nlunr.Set.empty = {\n intersect: function () {\n return this\n },\n\n union: function (other) {\n return other\n },\n\n contains: function () {\n return false\n }\n}\n\n/**\n * Returns true if this set contains the specified object.\n *\n * @param {object} object - Object whose presence in this set is to be tested.\n * @returns {boolean} - True if this set contains the specified object.\n */\nlunr.Set.prototype.contains = function (object) {\n return !!this.elements[object]\n}\n\n/**\n * Returns a new set containing only the elements that are present in both\n * this set and the specified set.\n *\n * @param {lunr.Set} other - set to intersect with this set.\n * @returns {lunr.Set} a new set that is the intersection of this and the specified set.\n */\n\nlunr.Set.prototype.intersect = function (other) {\n var a, b, elements, intersection = []\n\n if (other === lunr.Set.complete) {\n return this\n }\n\n if (other === lunr.Set.empty) {\n return other\n }\n\n if (this.length < other.length) {\n a = this\n b = other\n } else {\n a = other\n b = this\n }\n\n elements = Object.keys(a.elements)\n\n for (var i = 0; i < elements.length; i++) {\n var element = elements[i]\n if (element in b.elements) {\n intersection.push(element)\n }\n }\n\n return new lunr.Set (intersection)\n}\n\n/**\n * Returns a new set combining the elements of this and the specified set.\n *\n * @param {lunr.Set} other - set to union with this set.\n * @return {lunr.Set} a new set that is the union of this and the specified set.\n */\n\nlunr.Set.prototype.union = function (other) {\n if (other === lunr.Set.complete) {\n return lunr.Set.complete\n }\n\n if (other === lunr.Set.empty) {\n return this\n }\n\n return new lunr.Set(Object.keys(this.elements).concat(Object.keys(other.elements)))\n}\n/**\n * A function to calculate the inverse document frequency for\n * a posting. This is shared between the builder and the index\n *\n * @private\n * @param {object} posting - The posting for a given term\n * @param {number} documentCount - The total number of documents.\n */\nlunr.idf = function (posting, documentCount) {\n var documentsWithTerm = 0\n\n for (var fieldName in posting) {\n if (fieldName == '_index') continue // Ignore the term index, its not a field\n documentsWithTerm += Object.keys(posting[fieldName]).length\n }\n\n var x = (documentCount - documentsWithTerm + 0.5) / (documentsWithTerm + 0.5)\n\n return Math.log(1 + Math.abs(x))\n}\n\n/**\n * A token wraps a string representation of a token\n * as it is passed through the text processing pipeline.\n *\n * @constructor\n * @param {string} [str=''] - The string token being wrapped.\n * @param {object} [metadata={}] - Metadata associated with this token.\n */\nlunr.Token = function (str, metadata) {\n this.str = str || \"\"\n this.metadata = metadata || {}\n}\n\n/**\n * Returns the token string that is being wrapped by this object.\n *\n * @returns {string}\n */\nlunr.Token.prototype.toString = function () {\n return this.str\n}\n\n/**\n * A token update function is used when updating or optionally\n * when cloning a token.\n *\n * @callback lunr.Token~updateFunction\n * @param {string} str - The string representation of the token.\n * @param {Object} metadata - All metadata associated with this token.\n */\n\n/**\n * Applies the given function to the wrapped string token.\n *\n * @example\n * token.update(function (str, metadata) {\n * return str.toUpperCase()\n * })\n *\n * @param {lunr.Token~updateFunction} fn - A function to apply to the token string.\n * @returns {lunr.Token}\n */\nlunr.Token.prototype.update = function (fn) {\n this.str = fn(this.str, this.metadata)\n return this\n}\n\n/**\n * Creates a clone of this token. Optionally a function can be\n * applied to the cloned token.\n *\n * @param {lunr.Token~updateFunction} [fn] - An optional function to apply to the cloned token.\n * @returns {lunr.Token}\n */\nlunr.Token.prototype.clone = function (fn) {\n fn = fn || function (s) { return s }\n return new lunr.Token (fn(this.str, this.metadata), this.metadata)\n}\n/*!\n * lunr.tokenizer\n * Copyright (C) 2019 Oliver Nightingale\n */\n\n/**\n * A function for splitting a string into tokens ready to be inserted into\n * the search index. Uses `lunr.tokenizer.separator` to split strings, change\n * the value of this property to change how strings are split into tokens.\n *\n * This tokenizer will convert its parameter to a string by calling `toString` and\n * then will split this string on the character in `lunr.tokenizer.separator`.\n * Arrays will have their elements converted to strings and wrapped in a lunr.Token.\n *\n * Optional metadata can be passed to the tokenizer, this metadata will be cloned and\n * added as metadata to every token that is created from the object to be tokenized.\n *\n * @static\n * @param {?(string|object|object[])} obj - The object to convert into tokens\n * @param {?object} metadata - Optional metadata to associate with every token\n * @returns {lunr.Token[]}\n * @see {@link lunr.Pipeline}\n */\nlunr.tokenizer = function (obj, metadata) {\n if (obj == null || obj == undefined) {\n return []\n }\n\n if (Array.isArray(obj)) {\n return obj.map(function (t) {\n return new lunr.Token(\n lunr.utils.asString(t).toLowerCase(),\n lunr.utils.clone(metadata)\n )\n })\n }\n\n var str = obj.toString().toLowerCase(),\n len = str.length,\n tokens = []\n\n for (var sliceEnd = 0, sliceStart = 0; sliceEnd <= len; sliceEnd++) {\n var char = str.charAt(sliceEnd),\n sliceLength = sliceEnd - sliceStart\n\n if ((char.match(lunr.tokenizer.separator) || sliceEnd == len)) {\n\n if (sliceLength > 0) {\n var tokenMetadata = lunr.utils.clone(metadata) || {}\n tokenMetadata[\"position\"] = [sliceStart, sliceLength]\n tokenMetadata[\"index\"] = tokens.length\n\n tokens.push(\n new lunr.Token (\n str.slice(sliceStart, sliceEnd),\n tokenMetadata\n )\n )\n }\n\n sliceStart = sliceEnd + 1\n }\n\n }\n\n return tokens\n}\n\n/**\n * The separator used to split a string into tokens. Override this property to change the behaviour of\n * `lunr.tokenizer` behaviour when tokenizing strings. By default this splits on whitespace and hyphens.\n *\n * @static\n * @see lunr.tokenizer\n */\nlunr.tokenizer.separator = /[\\s\\-]+/\n/*!\n * lunr.Pipeline\n * Copyright (C) 2019 Oliver Nightingale\n */\n\n/**\n * lunr.Pipelines maintain an ordered list of functions to be applied to all\n * tokens in documents entering the search index and queries being ran against\n * the index.\n *\n * An instance of lunr.Index created with the lunr shortcut will contain a\n * pipeline with a stop word filter and an English language stemmer. Extra\n * functions can be added before or after either of these functions or these\n * default functions can be removed.\n *\n * When run the pipeline will call each function in turn, passing a token, the\n * index of that token in the original list of all tokens and finally a list of\n * all the original tokens.\n *\n * The output of functions in the pipeline will be passed to the next function\n * in the pipeline. To exclude a token from entering the index the function\n * should return undefined, the rest of the pipeline will not be called with\n * this token.\n *\n * For serialisation of pipelines to work, all functions used in an instance of\n * a pipeline should be registered with lunr.Pipeline. Registered functions can\n * then be loaded. If trying to load a serialised pipeline that uses functions\n * that are not registered an error will be thrown.\n *\n * If not planning on serialising the pipeline then registering pipeline functions\n * is not necessary.\n *\n * @constructor\n */\nlunr.Pipeline = function () {\n this._stack = []\n}\n\nlunr.Pipeline.registeredFunctions = Object.create(null)\n\n/**\n * A pipeline function maps lunr.Token to lunr.Token. A lunr.Token contains the token\n * string as well as all known metadata. A pipeline function can mutate the token string\n * or mutate (or add) metadata for a given token.\n *\n * A pipeline function can indicate that the passed token should be discarded by returning\n * null, undefined or an empty string. This token will not be passed to any downstream pipeline\n * functions and will not be added to the index.\n *\n * Multiple tokens can be returned by returning an array of tokens. Each token will be passed\n * to any downstream pipeline functions and all will returned tokens will be added to the index.\n *\n * Any number of pipeline functions may be chained together using a lunr.Pipeline.\n *\n * @interface lunr.PipelineFunction\n * @param {lunr.Token} token - A token from the document being processed.\n * @param {number} i - The index of this token in the complete list of tokens for this document/field.\n * @param {lunr.Token[]} tokens - All tokens for this document/field.\n * @returns {(?lunr.Token|lunr.Token[])}\n */\n\n/**\n * Register a function with the pipeline.\n *\n * Functions that are used in the pipeline should be registered if the pipeline\n * needs to be serialised, or a serialised pipeline needs to be loaded.\n *\n * Registering a function does not add it to a pipeline, functions must still be\n * added to instances of the pipeline for them to be used when running a pipeline.\n *\n * @param {lunr.PipelineFunction} fn - The function to check for.\n * @param {String} label - The label to register this function with\n */\nlunr.Pipeline.registerFunction = function (fn, label) {\n if (label in this.registeredFunctions) {\n lunr.utils.warn('Overwriting existing registered function: ' + label)\n }\n\n fn.label = label\n lunr.Pipeline.registeredFunctions[fn.label] = fn\n}\n\n/**\n * Warns if the function is not registered as a Pipeline function.\n *\n * @param {lunr.PipelineFunction} fn - The function to check for.\n * @private\n */\nlunr.Pipeline.warnIfFunctionNotRegistered = function (fn) {\n var isRegistered = fn.label && (fn.label in this.registeredFunctions)\n\n if (!isRegistered) {\n lunr.utils.warn('Function is not registered with pipeline. This may cause problems when serialising the index.\\n', fn)\n }\n}\n\n/**\n * Loads a previously serialised pipeline.\n *\n * All functions to be loaded must already be registered with lunr.Pipeline.\n * If any function from the serialised data has not been registered then an\n * error will be thrown.\n *\n * @param {Object} serialised - The serialised pipeline to load.\n * @returns {lunr.Pipeline}\n */\nlunr.Pipeline.load = function (serialised) {\n var pipeline = new lunr.Pipeline\n\n serialised.forEach(function (fnName) {\n var fn = lunr.Pipeline.registeredFunctions[fnName]\n\n if (fn) {\n pipeline.add(fn)\n } else {\n throw new Error('Cannot load unregistered function: ' + fnName)\n }\n })\n\n return pipeline\n}\n\n/**\n * Adds new functions to the end of the pipeline.\n *\n * Logs a warning if the function has not been registered.\n *\n * @param {lunr.PipelineFunction[]} functions - Any number of functions to add to the pipeline.\n */\nlunr.Pipeline.prototype.add = function () {\n var fns = Array.prototype.slice.call(arguments)\n\n fns.forEach(function (fn) {\n lunr.Pipeline.warnIfFunctionNotRegistered(fn)\n this._stack.push(fn)\n }, this)\n}\n\n/**\n * Adds a single function after a function that already exists in the\n * pipeline.\n *\n * Logs a warning if the function has not been registered.\n *\n * @param {lunr.PipelineFunction} existingFn - A function that already exists in the pipeline.\n * @param {lunr.PipelineFunction} newFn - The new function to add to the pipeline.\n */\nlunr.Pipeline.prototype.after = function (existingFn, newFn) {\n lunr.Pipeline.warnIfFunctionNotRegistered(newFn)\n\n var pos = this._stack.indexOf(existingFn)\n if (pos == -1) {\n throw new Error('Cannot find existingFn')\n }\n\n pos = pos + 1\n this._stack.splice(pos, 0, newFn)\n}\n\n/**\n * Adds a single function before a function that already exists in the\n * pipeline.\n *\n * Logs a warning if the function has not been registered.\n *\n * @param {lunr.PipelineFunction} existingFn - A function that already exists in the pipeline.\n * @param {lunr.PipelineFunction} newFn - The new function to add to the pipeline.\n */\nlunr.Pipeline.prototype.before = function (existingFn, newFn) {\n lunr.Pipeline.warnIfFunctionNotRegistered(newFn)\n\n var pos = this._stack.indexOf(existingFn)\n if (pos == -1) {\n throw new Error('Cannot find existingFn')\n }\n\n this._stack.splice(pos, 0, newFn)\n}\n\n/**\n * Removes a function from the pipeline.\n *\n * @param {lunr.PipelineFunction} fn The function to remove from the pipeline.\n */\nlunr.Pipeline.prototype.remove = function (fn) {\n var pos = this._stack.indexOf(fn)\n if (pos == -1) {\n return\n }\n\n this._stack.splice(pos, 1)\n}\n\n/**\n * Runs the current list of functions that make up the pipeline against the\n * passed tokens.\n *\n * @param {Array} tokens The tokens to run through the pipeline.\n * @returns {Array}\n */\nlunr.Pipeline.prototype.run = function (tokens) {\n var stackLength = this._stack.length\n\n for (var i = 0; i < stackLength; i++) {\n var fn = this._stack[i]\n var memo = []\n\n for (var j = 0; j < tokens.length; j++) {\n var result = fn(tokens[j], j, tokens)\n\n if (result === null || result === void 0 || result === '') continue\n\n if (Array.isArray(result)) {\n for (var k = 0; k < result.length; k++) {\n memo.push(result[k])\n }\n } else {\n memo.push(result)\n }\n }\n\n tokens = memo\n }\n\n return tokens\n}\n\n/**\n * Convenience method for passing a string through a pipeline and getting\n * strings out. This method takes care of wrapping the passed string in a\n * token and mapping the resulting tokens back to strings.\n *\n * @param {string} str - The string to pass through the pipeline.\n * @param {?object} metadata - Optional metadata to associate with the token\n * passed to the pipeline.\n * @returns {string[]}\n */\nlunr.Pipeline.prototype.runString = function (str, metadata) {\n var token = new lunr.Token (str, metadata)\n\n return this.run([token]).map(function (t) {\n return t.toString()\n })\n}\n\n/**\n * Resets the pipeline by removing any existing processors.\n *\n */\nlunr.Pipeline.prototype.reset = function () {\n this._stack = []\n}\n\n/**\n * Returns a representation of the pipeline ready for serialisation.\n *\n * Logs a warning if the function has not been registered.\n *\n * @returns {Array}\n */\nlunr.Pipeline.prototype.toJSON = function () {\n return this._stack.map(function (fn) {\n lunr.Pipeline.warnIfFunctionNotRegistered(fn)\n\n return fn.label\n })\n}\n/*!\n * lunr.Vector\n * Copyright (C) 2019 Oliver Nightingale\n */\n\n/**\n * A vector is used to construct the vector space of documents and queries. These\n * vectors support operations to determine the similarity between two documents or\n * a document and a query.\n *\n * Normally no parameters are required for initializing a vector, but in the case of\n * loading a previously dumped vector the raw elements can be provided to the constructor.\n *\n * For performance reasons vectors are implemented with a flat array, where an elements\n * index is immediately followed by its value. E.g. [index, value, index, value]. This\n * allows the underlying array to be as sparse as possible and still offer decent\n * performance when being used for vector calculations.\n *\n * @constructor\n * @param {Number[]} [elements] - The flat list of element index and element value pairs.\n */\nlunr.Vector = function (elements) {\n this._magnitude = 0\n this.elements = elements || []\n}\n\n\n/**\n * Calculates the position within the vector to insert a given index.\n *\n * This is used internally by insert and upsert. If there are duplicate indexes then\n * the position is returned as if the value for that index were to be updated, but it\n * is the callers responsibility to check whether there is a duplicate at that index\n *\n * @param {Number} insertIdx - The index at which the element should be inserted.\n * @returns {Number}\n */\nlunr.Vector.prototype.positionForIndex = function (index) {\n // For an empty vector the tuple can be inserted at the beginning\n if (this.elements.length == 0) {\n return 0\n }\n\n var start = 0,\n end = this.elements.length / 2,\n sliceLength = end - start,\n pivotPoint = Math.floor(sliceLength / 2),\n pivotIndex = this.elements[pivotPoint * 2]\n\n while (sliceLength > 1) {\n if (pivotIndex < index) {\n start = pivotPoint\n }\n\n if (pivotIndex > index) {\n end = pivotPoint\n }\n\n if (pivotIndex == index) {\n break\n }\n\n sliceLength = end - start\n pivotPoint = start + Math.floor(sliceLength / 2)\n pivotIndex = this.elements[pivotPoint * 2]\n }\n\n if (pivotIndex == index) {\n return pivotPoint * 2\n }\n\n if (pivotIndex > index) {\n return pivotPoint * 2\n }\n\n if (pivotIndex < index) {\n return (pivotPoint + 1) * 2\n }\n}\n\n/**\n * Inserts an element at an index within the vector.\n *\n * Does not allow duplicates, will throw an error if there is already an entry\n * for this index.\n *\n * @param {Number} insertIdx - The index at which the element should be inserted.\n * @param {Number} val - The value to be inserted into the vector.\n */\nlunr.Vector.prototype.insert = function (insertIdx, val) {\n this.upsert(insertIdx, val, function () {\n throw \"duplicate index\"\n })\n}\n\n/**\n * Inserts or updates an existing index within the vector.\n *\n * @param {Number} insertIdx - The index at which the element should be inserted.\n * @param {Number} val - The value to be inserted into the vector.\n * @param {function} fn - A function that is called for updates, the existing value and the\n * requested value are passed as arguments\n */\nlunr.Vector.prototype.upsert = function (insertIdx, val, fn) {\n this._magnitude = 0\n var position = this.positionForIndex(insertIdx)\n\n if (this.elements[position] == insertIdx) {\n this.elements[position + 1] = fn(this.elements[position + 1], val)\n } else {\n this.elements.splice(position, 0, insertIdx, val)\n }\n}\n\n/**\n * Calculates the magnitude of this vector.\n *\n * @returns {Number}\n */\nlunr.Vector.prototype.magnitude = function () {\n if (this._magnitude) return this._magnitude\n\n var sumOfSquares = 0,\n elementsLength = this.elements.length\n\n for (var i = 1; i < elementsLength; i += 2) {\n var val = this.elements[i]\n sumOfSquares += val * val\n }\n\n return this._magnitude = Math.sqrt(sumOfSquares)\n}\n\n/**\n * Calculates the dot product of this vector and another vector.\n *\n * @param {lunr.Vector} otherVector - The vector to compute the dot product with.\n * @returns {Number}\n */\nlunr.Vector.prototype.dot = function (otherVector) {\n var dotProduct = 0,\n a = this.elements, b = otherVector.elements,\n aLen = a.length, bLen = b.length,\n aVal = 0, bVal = 0,\n i = 0, j = 0\n\n while (i < aLen && j < bLen) {\n aVal = a[i], bVal = b[j]\n if (aVal < bVal) {\n i += 2\n } else if (aVal > bVal) {\n j += 2\n } else if (aVal == bVal) {\n dotProduct += a[i + 1] * b[j + 1]\n i += 2\n j += 2\n }\n }\n\n return dotProduct\n}\n\n/**\n * Calculates the similarity between this vector and another vector.\n *\n * @param {lunr.Vector} otherVector - The other vector to calculate the\n * similarity with.\n * @returns {Number}\n */\nlunr.Vector.prototype.similarity = function (otherVector) {\n return this.dot(otherVector) / this.magnitude() || 0\n}\n\n/**\n * Converts the vector to an array of the elements within the vector.\n *\n * @returns {Number[]}\n */\nlunr.Vector.prototype.toArray = function () {\n var output = new Array (this.elements.length / 2)\n\n for (var i = 1, j = 0; i < this.elements.length; i += 2, j++) {\n output[j] = this.elements[i]\n }\n\n return output\n}\n\n/**\n * A JSON serializable representation of the vector.\n *\n * @returns {Number[]}\n */\nlunr.Vector.prototype.toJSON = function () {\n return this.elements\n}\n/* eslint-disable */\n/*!\n * lunr.stemmer\n * Copyright (C) 2019 Oliver Nightingale\n * Includes code from - http://tartarus.org/~martin/PorterStemmer/js.txt\n */\n\n/**\n * lunr.stemmer is an english language stemmer, this is a JavaScript\n * implementation of the PorterStemmer taken from http://tartarus.org/~martin\n *\n * @static\n * @implements {lunr.PipelineFunction}\n * @param {lunr.Token} token - The string to stem\n * @returns {lunr.Token}\n * @see {@link lunr.Pipeline}\n * @function\n */\nlunr.stemmer = (function(){\n var step2list = {\n \"ational\" : \"ate\",\n \"tional\" : \"tion\",\n \"enci\" : \"ence\",\n \"anci\" : \"ance\",\n \"izer\" : \"ize\",\n \"bli\" : \"ble\",\n \"alli\" : \"al\",\n \"entli\" : \"ent\",\n \"eli\" : \"e\",\n \"ousli\" : \"ous\",\n \"ization\" : \"ize\",\n \"ation\" : \"ate\",\n \"ator\" : \"ate\",\n \"alism\" : \"al\",\n \"iveness\" : \"ive\",\n \"fulness\" : \"ful\",\n \"ousness\" : \"ous\",\n \"aliti\" : \"al\",\n \"iviti\" : \"ive\",\n \"biliti\" : \"ble\",\n \"logi\" : \"log\"\n },\n\n step3list = {\n \"icate\" : \"ic\",\n \"ative\" : \"\",\n \"alize\" : \"al\",\n \"iciti\" : \"ic\",\n \"ical\" : \"ic\",\n \"ful\" : \"\",\n \"ness\" : \"\"\n },\n\n c = \"[^aeiou]\", // consonant\n v = \"[aeiouy]\", // vowel\n C = c + \"[^aeiouy]*\", // consonant sequence\n V = v + \"[aeiou]*\", // vowel sequence\n\n mgr0 = \"^(\" + C + \")?\" + V + C, // [C]VC... is m>0\n meq1 = \"^(\" + C + \")?\" + V + C + \"(\" + V + \")?$\", // [C]VC[V] is m=1\n mgr1 = \"^(\" + C + \")?\" + V + C + V + C, // [C]VCVC... is m>1\n s_v = \"^(\" + C + \")?\" + v; // vowel in stem\n\n var re_mgr0 = new RegExp(mgr0);\n var re_mgr1 = new RegExp(mgr1);\n var re_meq1 = new RegExp(meq1);\n var re_s_v = new RegExp(s_v);\n\n var re_1a = /^(.+?)(ss|i)es$/;\n var re2_1a = /^(.+?)([^s])s$/;\n var re_1b = /^(.+?)eed$/;\n var re2_1b = /^(.+?)(ed|ing)$/;\n var re_1b_2 = /.$/;\n var re2_1b_2 = /(at|bl|iz)$/;\n var re3_1b_2 = new RegExp(\"([^aeiouylsz])\\\\1$\");\n var re4_1b_2 = new RegExp(\"^\" + C + v + \"[^aeiouwxy]$\");\n\n var re_1c = /^(.+?[^aeiou])y$/;\n var re_2 = /^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/;\n\n var re_3 = /^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/;\n\n var re_4 = /^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/;\n var re2_4 = /^(.+?)(s|t)(ion)$/;\n\n var re_5 = /^(.+?)e$/;\n var re_5_1 = /ll$/;\n var re3_5 = new RegExp(\"^\" + C + v + \"[^aeiouwxy]$\");\n\n var porterStemmer = function porterStemmer(w) {\n var stem,\n suffix,\n firstch,\n re,\n re2,\n re3,\n re4;\n\n if (w.length < 3) { return w; }\n\n firstch = w.substr(0,1);\n if (firstch == \"y\") {\n w = firstch.toUpperCase() + w.substr(1);\n }\n\n // Step 1a\n re = re_1a\n re2 = re2_1a;\n\n if (re.test(w)) { w = w.replace(re,\"$1$2\"); }\n else if (re2.test(w)) { w = w.replace(re2,\"$1$2\"); }\n\n // Step 1b\n re = re_1b;\n re2 = re2_1b;\n if (re.test(w)) {\n var fp = re.exec(w);\n re = re_mgr0;\n if (re.test(fp[1])) {\n re = re_1b_2;\n w = w.replace(re,\"\");\n }\n } else if (re2.test(w)) {\n var fp = re2.exec(w);\n stem = fp[1];\n re2 = re_s_v;\n if (re2.test(stem)) {\n w = stem;\n re2 = re2_1b_2;\n re3 = re3_1b_2;\n re4 = re4_1b_2;\n if (re2.test(w)) { w = w + \"e\"; }\n else if (re3.test(w)) { re = re_1b_2; w = w.replace(re,\"\"); }\n else if (re4.test(w)) { w = w + \"e\"; }\n }\n }\n\n // Step 1c - replace suffix y or Y by i if preceded by a non-vowel which is not the first letter of the word (so cry -> cri, by -> by, say -> say)\n re = re_1c;\n if (re.test(w)) {\n var fp = re.exec(w);\n stem = fp[1];\n w = stem + \"i\";\n }\n\n // Step 2\n re = re_2;\n if (re.test(w)) {\n var fp = re.exec(w);\n stem = fp[1];\n suffix = fp[2];\n re = re_mgr0;\n if (re.test(stem)) {\n w = stem + step2list[suffix];\n }\n }\n\n // Step 3\n re = re_3;\n if (re.test(w)) {\n var fp = re.exec(w);\n stem = fp[1];\n suffix = fp[2];\n re = re_mgr0;\n if (re.test(stem)) {\n w = stem + step3list[suffix];\n }\n }\n\n // Step 4\n re = re_4;\n re2 = re2_4;\n if (re.test(w)) {\n var fp = re.exec(w);\n stem = fp[1];\n re = re_mgr1;\n if (re.test(stem)) {\n w = stem;\n }\n } else if (re2.test(w)) {\n var fp = re2.exec(w);\n stem = fp[1] + fp[2];\n re2 = re_mgr1;\n if (re2.test(stem)) {\n w = stem;\n }\n }\n\n // Step 5\n re = re_5;\n if (re.test(w)) {\n var fp = re.exec(w);\n stem = fp[1];\n re = re_mgr1;\n re2 = re_meq1;\n re3 = re3_5;\n if (re.test(stem) || (re2.test(stem) && !(re3.test(stem)))) {\n w = stem;\n }\n }\n\n re = re_5_1;\n re2 = re_mgr1;\n if (re.test(w) && re2.test(w)) {\n re = re_1b_2;\n w = w.replace(re,\"\");\n }\n\n // and turn initial Y back to y\n\n if (firstch == \"y\") {\n w = firstch.toLowerCase() + w.substr(1);\n }\n\n return w;\n };\n\n return function (token) {\n return token.update(porterStemmer);\n }\n})();\n\nlunr.Pipeline.registerFunction(lunr.stemmer, 'stemmer')\n/*!\n * lunr.stopWordFilter\n * Copyright (C) 2019 Oliver Nightingale\n */\n\n/**\n * lunr.generateStopWordFilter builds a stopWordFilter function from the provided\n * list of stop words.\n *\n * The built in lunr.stopWordFilter is built using this generator and can be used\n * to generate custom stopWordFilters for applications or non English languages.\n *\n * @function\n * @param {Array} token The token to pass through the filter\n * @returns {lunr.PipelineFunction}\n * @see lunr.Pipeline\n * @see lunr.stopWordFilter\n */\nlunr.generateStopWordFilter = function (stopWords) {\n var words = stopWords.reduce(function (memo, stopWord) {\n memo[stopWord] = stopWord\n return memo\n }, {})\n\n return function (token) {\n if (token && words[token.toString()] !== token.toString()) return token\n }\n}\n\n/**\n * lunr.stopWordFilter is an English language stop word list filter, any words\n * contained in the list will not be passed through the filter.\n *\n * This is intended to be used in the Pipeline. If the token does not pass the\n * filter then undefined will be returned.\n *\n * @function\n * @implements {lunr.PipelineFunction}\n * @params {lunr.Token} token - A token to check for being a stop word.\n * @returns {lunr.Token}\n * @see {@link lunr.Pipeline}\n */\nlunr.stopWordFilter = lunr.generateStopWordFilter([\n 'a',\n 'able',\n 'about',\n 'across',\n 'after',\n 'all',\n 'almost',\n 'also',\n 'am',\n 'among',\n 'an',\n 'and',\n 'any',\n 'are',\n 'as',\n 'at',\n 'be',\n 'because',\n 'been',\n 'but',\n 'by',\n 'can',\n 'cannot',\n 'could',\n 'dear',\n 'did',\n 'do',\n 'does',\n 'either',\n 'else',\n 'ever',\n 'every',\n 'for',\n 'from',\n 'get',\n 'got',\n 'had',\n 'has',\n 'have',\n 'he',\n 'her',\n 'hers',\n 'him',\n 'his',\n 'how',\n 'however',\n 'i',\n 'if',\n 'in',\n 'into',\n 'is',\n 'it',\n 'its',\n 'just',\n 'least',\n 'let',\n 'like',\n 'likely',\n 'may',\n 'me',\n 'might',\n 'most',\n 'must',\n 'my',\n 'neither',\n 'no',\n 'nor',\n 'not',\n 'of',\n 'off',\n 'often',\n 'on',\n 'only',\n 'or',\n 'other',\n 'our',\n 'own',\n 'rather',\n 'said',\n 'say',\n 'says',\n 'she',\n 'should',\n 'since',\n 'so',\n 'some',\n 'than',\n 'that',\n 'the',\n 'their',\n 'them',\n 'then',\n 'there',\n 'these',\n 'they',\n 'this',\n 'tis',\n 'to',\n 'too',\n 'twas',\n 'us',\n 'wants',\n 'was',\n 'we',\n 'were',\n 'what',\n 'when',\n 'where',\n 'which',\n 'while',\n 'who',\n 'whom',\n 'why',\n 'will',\n 'with',\n 'would',\n 'yet',\n 'you',\n 'your'\n])\n\nlunr.Pipeline.registerFunction(lunr.stopWordFilter, 'stopWordFilter')\n/*!\n * lunr.trimmer\n * Copyright (C) 2019 Oliver Nightingale\n */\n\n/**\n * lunr.trimmer is a pipeline function for trimming non word\n * characters from the beginning and end of tokens before they\n * enter the index.\n *\n * This implementation may not work correctly for non latin\n * characters and should either be removed or adapted for use\n * with languages with non-latin characters.\n *\n * @static\n * @implements {lunr.PipelineFunction}\n * @param {lunr.Token} token The token to pass through the filter\n * @returns {lunr.Token}\n * @see lunr.Pipeline\n */\nlunr.trimmer = function (token) {\n return token.update(function (s) {\n return s.replace(/^\\W+/, '').replace(/\\W+$/, '')\n })\n}\n\nlunr.Pipeline.registerFunction(lunr.trimmer, 'trimmer')\n/*!\n * lunr.TokenSet\n * Copyright (C) 2019 Oliver Nightingale\n */\n\n/**\n * A token set is used to store the unique list of all tokens\n * within an index. Token sets are also used to represent an\n * incoming query to the index, this query token set and index\n * token set are then intersected to find which tokens to look\n * up in the inverted index.\n *\n * A token set can hold multiple tokens, as in the case of the\n * index token set, or it can hold a single token as in the\n * case of a simple query token set.\n *\n * Additionally token sets are used to perform wildcard matching.\n * Leading, contained and trailing wildcards are supported, and\n * from this edit distance matching can also be provided.\n *\n * Token sets are implemented as a minimal finite state automata,\n * where both common prefixes and suffixes are shared between tokens.\n * This helps to reduce the space used for storing the token set.\n *\n * @constructor\n */\nlunr.TokenSet = function () {\n this.final = false\n this.edges = {}\n this.id = lunr.TokenSet._nextId\n lunr.TokenSet._nextId += 1\n}\n\n/**\n * Keeps track of the next, auto increment, identifier to assign\n * to a new tokenSet.\n *\n * TokenSets require a unique identifier to be correctly minimised.\n *\n * @private\n */\nlunr.TokenSet._nextId = 1\n\n/**\n * Creates a TokenSet instance from the given sorted array of words.\n *\n * @param {String[]} arr - A sorted array of strings to create the set from.\n * @returns {lunr.TokenSet}\n * @throws Will throw an error if the input array is not sorted.\n */\nlunr.TokenSet.fromArray = function (arr) {\n var builder = new lunr.TokenSet.Builder\n\n for (var i = 0, len = arr.length; i < len; i++) {\n builder.insert(arr[i])\n }\n\n builder.finish()\n return builder.root\n}\n\n/**\n * Creates a token set from a query clause.\n *\n * @private\n * @param {Object} clause - A single clause from lunr.Query.\n * @param {string} clause.term - The query clause term.\n * @param {number} [clause.editDistance] - The optional edit distance for the term.\n * @returns {lunr.TokenSet}\n */\nlunr.TokenSet.fromClause = function (clause) {\n if ('editDistance' in clause) {\n return lunr.TokenSet.fromFuzzyString(clause.term, clause.editDistance)\n } else {\n return lunr.TokenSet.fromString(clause.term)\n }\n}\n\n/**\n * Creates a token set representing a single string with a specified\n * edit distance.\n *\n * Insertions, deletions, substitutions and transpositions are each\n * treated as an edit distance of 1.\n *\n * Increasing the allowed edit distance will have a dramatic impact\n * on the performance of both creating and intersecting these TokenSets.\n * It is advised to keep the edit distance less than 3.\n *\n * @param {string} str - The string to create the token set from.\n * @param {number} editDistance - The allowed edit distance to match.\n * @returns {lunr.Vector}\n */\nlunr.TokenSet.fromFuzzyString = function (str, editDistance) {\n var root = new lunr.TokenSet\n\n var stack = [{\n node: root,\n editsRemaining: editDistance,\n str: str\n }]\n\n while (stack.length) {\n var frame = stack.pop()\n\n // no edit\n if (frame.str.length > 0) {\n var char = frame.str.charAt(0),\n noEditNode\n\n if (char in frame.node.edges) {\n noEditNode = frame.node.edges[char]\n } else {\n noEditNode = new lunr.TokenSet\n frame.node.edges[char] = noEditNode\n }\n\n if (frame.str.length == 1) {\n noEditNode.final = true\n }\n\n stack.push({\n node: noEditNode,\n editsRemaining: frame.editsRemaining,\n str: frame.str.slice(1)\n })\n }\n\n if (frame.editsRemaining == 0) {\n continue\n }\n\n // insertion\n if (\"*\" in frame.node.edges) {\n var insertionNode = frame.node.edges[\"*\"]\n } else {\n var insertionNode = new lunr.TokenSet\n frame.node.edges[\"*\"] = insertionNode\n }\n\n if (frame.str.length == 0) {\n insertionNode.final = true\n }\n\n stack.push({\n node: insertionNode,\n editsRemaining: frame.editsRemaining - 1,\n str: frame.str\n })\n\n // deletion\n // can only do a deletion if we have enough edits remaining\n // and if there are characters left to delete in the string\n if (frame.str.length > 1) {\n stack.push({\n node: frame.node,\n editsRemaining: frame.editsRemaining - 1,\n str: frame.str.slice(1)\n })\n }\n\n // deletion\n // just removing the last character from the str\n if (frame.str.length == 1) {\n frame.node.final = true\n }\n\n // substitution\n // can only do a substitution if we have enough edits remaining\n // and if there are characters left to substitute\n if (frame.str.length >= 1) {\n if (\"*\" in frame.node.edges) {\n var substitutionNode = frame.node.edges[\"*\"]\n } else {\n var substitutionNode = new lunr.TokenSet\n frame.node.edges[\"*\"] = substitutionNode\n }\n\n if (frame.str.length == 1) {\n substitutionNode.final = true\n }\n\n stack.push({\n node: substitutionNode,\n editsRemaining: frame.editsRemaining - 1,\n str: frame.str.slice(1)\n })\n }\n\n // transposition\n // can only do a transposition if there are edits remaining\n // and there are enough characters to transpose\n if (frame.str.length > 1) {\n var charA = frame.str.charAt(0),\n charB = frame.str.charAt(1),\n transposeNode\n\n if (charB in frame.node.edges) {\n transposeNode = frame.node.edges[charB]\n } else {\n transposeNode = new lunr.TokenSet\n frame.node.edges[charB] = transposeNode\n }\n\n if (frame.str.length == 1) {\n transposeNode.final = true\n }\n\n stack.push({\n node: transposeNode,\n editsRemaining: frame.editsRemaining - 1,\n str: charA + frame.str.slice(2)\n })\n }\n }\n\n return root\n}\n\n/**\n * Creates a TokenSet from a string.\n *\n * The string may contain one or more wildcard characters (*)\n * that will allow wildcard matching when intersecting with\n * another TokenSet.\n *\n * @param {string} str - The string to create a TokenSet from.\n * @returns {lunr.TokenSet}\n */\nlunr.TokenSet.fromString = function (str) {\n var node = new lunr.TokenSet,\n root = node\n\n /*\n * Iterates through all characters within the passed string\n * appending a node for each character.\n *\n * When a wildcard character is found then a self\n * referencing edge is introduced to continually match\n * any number of any characters.\n */\n for (var i = 0, len = str.length; i < len; i++) {\n var char = str[i],\n final = (i == len - 1)\n\n if (char == \"*\") {\n node.edges[char] = node\n node.final = final\n\n } else {\n var next = new lunr.TokenSet\n next.final = final\n\n node.edges[char] = next\n node = next\n }\n }\n\n return root\n}\n\n/**\n * Converts this TokenSet into an array of strings\n * contained within the TokenSet.\n *\n * This is not intended to be used on a TokenSet that\n * contains wildcards, in these cases the results are\n * undefined and are likely to cause an infinite loop.\n *\n * @returns {string[]}\n */\nlunr.TokenSet.prototype.toArray = function () {\n var words = []\n\n var stack = [{\n prefix: \"\",\n node: this\n }]\n\n while (stack.length) {\n var frame = stack.pop(),\n edges = Object.keys(frame.node.edges),\n len = edges.length\n\n if (frame.node.final) {\n /* In Safari, at this point the prefix is sometimes corrupted, see:\n * https://github.com/olivernn/lunr.js/issues/279 Calling any\n * String.prototype method forces Safari to \"cast\" this string to what\n * it's supposed to be, fixing the bug. */\n frame.prefix.charAt(0)\n words.push(frame.prefix)\n }\n\n for (var i = 0; i < len; i++) {\n var edge = edges[i]\n\n stack.push({\n prefix: frame.prefix.concat(edge),\n node: frame.node.edges[edge]\n })\n }\n }\n\n return words\n}\n\n/**\n * Generates a string representation of a TokenSet.\n *\n * This is intended to allow TokenSets to be used as keys\n * in objects, largely to aid the construction and minimisation\n * of a TokenSet. As such it is not designed to be a human\n * friendly representation of the TokenSet.\n *\n * @returns {string}\n */\nlunr.TokenSet.prototype.toString = function () {\n // NOTE: Using Object.keys here as this.edges is very likely\n // to enter 'hash-mode' with many keys being added\n //\n // avoiding a for-in loop here as it leads to the function\n // being de-optimised (at least in V8). From some simple\n // benchmarks the performance is comparable, but allowing\n // V8 to optimize may mean easy performance wins in the future.\n\n if (this._str) {\n return this._str\n }\n\n var str = this.final ? '1' : '0',\n labels = Object.keys(this.edges).sort(),\n len = labels.length\n\n for (var i = 0; i < len; i++) {\n var label = labels[i],\n node = this.edges[label]\n\n str = str + label + node.id\n }\n\n return str\n}\n\n/**\n * Returns a new TokenSet that is the intersection of\n * this TokenSet and the passed TokenSet.\n *\n * This intersection will take into account any wildcards\n * contained within the TokenSet.\n *\n * @param {lunr.TokenSet} b - An other TokenSet to intersect with.\n * @returns {lunr.TokenSet}\n */\nlunr.TokenSet.prototype.intersect = function (b) {\n var output = new lunr.TokenSet,\n frame = undefined\n\n var stack = [{\n qNode: b,\n output: output,\n node: this\n }]\n\n while (stack.length) {\n frame = stack.pop()\n\n // NOTE: As with the #toString method, we are using\n // Object.keys and a for loop instead of a for-in loop\n // as both of these objects enter 'hash' mode, causing\n // the function to be de-optimised in V8\n var qEdges = Object.keys(frame.qNode.edges),\n qLen = qEdges.length,\n nEdges = Object.keys(frame.node.edges),\n nLen = nEdges.length\n\n for (var q = 0; q < qLen; q++) {\n var qEdge = qEdges[q]\n\n for (var n = 0; n < nLen; n++) {\n var nEdge = nEdges[n]\n\n if (nEdge == qEdge || qEdge == '*') {\n var node = frame.node.edges[nEdge],\n qNode = frame.qNode.edges[qEdge],\n final = node.final && qNode.final,\n next = undefined\n\n if (nEdge in frame.output.edges) {\n // an edge already exists for this character\n // no need to create a new node, just set the finality\n // bit unless this node is already final\n next = frame.output.edges[nEdge]\n next.final = next.final || final\n\n } else {\n // no edge exists yet, must create one\n // set the finality bit and insert it\n // into the output\n next = new lunr.TokenSet\n next.final = final\n frame.output.edges[nEdge] = next\n }\n\n stack.push({\n qNode: qNode,\n output: next,\n node: node\n })\n }\n }\n }\n }\n\n return output\n}\nlunr.TokenSet.Builder = function () {\n this.previousWord = \"\"\n this.root = new lunr.TokenSet\n this.uncheckedNodes = []\n this.minimizedNodes = {}\n}\n\nlunr.TokenSet.Builder.prototype.insert = function (word) {\n var node,\n commonPrefix = 0\n\n if (word < this.previousWord) {\n throw new Error (\"Out of order word insertion\")\n }\n\n for (var i = 0; i < word.length && i < this.previousWord.length; i++) {\n if (word[i] != this.previousWord[i]) break\n commonPrefix++\n }\n\n this.minimize(commonPrefix)\n\n if (this.uncheckedNodes.length == 0) {\n node = this.root\n } else {\n node = this.uncheckedNodes[this.uncheckedNodes.length - 1].child\n }\n\n for (var i = commonPrefix; i < word.length; i++) {\n var nextNode = new lunr.TokenSet,\n char = word[i]\n\n node.edges[char] = nextNode\n\n this.uncheckedNodes.push({\n parent: node,\n char: char,\n child: nextNode\n })\n\n node = nextNode\n }\n\n node.final = true\n this.previousWord = word\n}\n\nlunr.TokenSet.Builder.prototype.finish = function () {\n this.minimize(0)\n}\n\nlunr.TokenSet.Builder.prototype.minimize = function (downTo) {\n for (var i = this.uncheckedNodes.length - 1; i >= downTo; i--) {\n var node = this.uncheckedNodes[i],\n childKey = node.child.toString()\n\n if (childKey in this.minimizedNodes) {\n node.parent.edges[node.char] = this.minimizedNodes[childKey]\n } else {\n // Cache the key for this node since\n // we know it can't change anymore\n node.child._str = childKey\n\n this.minimizedNodes[childKey] = node.child\n }\n\n this.uncheckedNodes.pop()\n }\n}\n/*!\n * lunr.Index\n * Copyright (C) 2019 Oliver Nightingale\n */\n\n/**\n * An index contains the built index of all documents and provides a query interface\n * to the index.\n *\n * Usually instances of lunr.Index will not be created using this constructor, instead\n * lunr.Builder should be used to construct new indexes, or lunr.Index.load should be\n * used to load previously built and serialized indexes.\n *\n * @constructor\n * @param {Object} attrs - The attributes of the built search index.\n * @param {Object} attrs.invertedIndex - An index of term/field to document reference.\n * @param {Object<string, lunr.Vector>} attrs.fieldVectors - Field vectors\n * @param {lunr.TokenSet} attrs.tokenSet - An set of all corpus tokens.\n * @param {string[]} attrs.fields - The names of indexed document fields.\n * @param {lunr.Pipeline} attrs.pipeline - The pipeline to use for search terms.\n */\nlunr.Index = function (attrs) {\n this.invertedIndex = attrs.invertedIndex\n this.fieldVectors = attrs.fieldVectors\n this.tokenSet = attrs.tokenSet\n this.fields = attrs.fields\n this.pipeline = attrs.pipeline\n}\n\n/**\n * A result contains details of a document matching a search query.\n * @typedef {Object} lunr.Index~Result\n * @property {string} ref - The reference of the document this result represents.\n * @property {number} score - A number between 0 and 1 representing how similar this document is to the query.\n * @property {lunr.MatchData} matchData - Contains metadata about this match including which term(s) caused the match.\n */\n\n/**\n * Although lunr provides the ability to create queries using lunr.Query, it also provides a simple\n * query language which itself is parsed into an instance of lunr.Query.\n *\n * For programmatically building queries it is advised to directly use lunr.Query, the query language\n * is best used for human entered text rather than program generated text.\n *\n * At its simplest queries can just be a single term, e.g. `hello`, multiple terms are also supported\n * and will be combined with OR, e.g `hello world` will match documents that contain either 'hello'\n * or 'world', though those that contain both will rank higher in the results.\n *\n * Wildcards can be included in terms to match one or more unspecified characters, these wildcards can\n * be inserted anywhere within the term, and more than one wildcard can exist in a single term. Adding\n * wildcards will increase the number of documents that will be found but can also have a negative\n * impact on query performance, especially with wildcards at the beginning of a term.\n *\n * Terms can be restricted to specific fields, e.g. `title:hello`, only documents with the term\n * hello in the title field will match this query. Using a field not present in the index will lead\n * to an error being thrown.\n *\n * Modifiers can also be added to terms, lunr supports edit distance and boost modifiers on terms. A term\n * boost will make documents matching that term score higher, e.g. `foo^5`. Edit distance is also supported\n * to provide fuzzy matching, e.g. 'hello~2' will match documents with hello with an edit distance of 2.\n * Avoid large values for edit distance to improve query performance.\n *\n * Each term also supports a presence modifier. By default a term's presence in document is optional, however\n * this can be changed to either required or prohibited. For a term's presence to be required in a document the\n * term should be prefixed with a '+', e.g. `+foo bar` is a search for documents that must contain 'foo' and\n * optionally contain 'bar'. Conversely a leading '-' sets the terms presence to prohibited, i.e. it must not\n * appear in a document, e.g. `-foo bar` is a search for documents that do not contain 'foo' but may contain 'bar'.\n *\n * To escape special characters the backslash character '\\' can be used, this allows searches to include\n * characters that would normally be considered modifiers, e.g. `foo\\~2` will search for a term \"foo~2\" instead\n * of attempting to apply a boost of 2 to the search term \"foo\".\n *\n * @typedef {string} lunr.Index~QueryString\n * @example <caption>Simple single term query</caption>\n * hello\n * @example <caption>Multiple term query</caption>\n * hello world\n * @example <caption>term scoped to a field</caption>\n * title:hello\n * @example <caption>term with a boost of 10</caption>\n * hello^10\n * @example <caption>term with an edit distance of 2</caption>\n * hello~2\n * @example <caption>terms with presence modifiers</caption>\n * -foo +bar baz\n */\n\n/**\n * Performs a search against the index using lunr query syntax.\n *\n * Results will be returned sorted by their score, the most relevant results\n * will be returned first. For details on how the score is calculated, please see\n * the {@link https://lunrjs.com/guides/searching.html#scoring|guide}.\n *\n * For more programmatic querying use lunr.Index#query.\n *\n * @param {lunr.Index~QueryString} queryString - A string containing a lunr query.\n * @throws {lunr.QueryParseError} If the passed query string cannot be parsed.\n * @returns {lunr.Index~Result[]}\n */\nlunr.Index.prototype.search = function (queryString) {\n return this.query(function (query) {\n var parser = new lunr.QueryParser(queryString, query)\n parser.parse()\n })\n}\n\n/**\n * A query builder callback provides a query object to be used to express\n * the query to perform on the index.\n *\n * @callback lunr.Index~queryBuilder\n * @param {lunr.Query} query - The query object to build up.\n * @this lunr.Query\n */\n\n/**\n * Performs a query against the index using the yielded lunr.Query object.\n *\n * If performing programmatic queries against the index, this method is preferred\n * over lunr.Index#search so as to avoid the additional query parsing overhead.\n *\n * A query object is yielded to the supplied function which should be used to\n * express the query to be run against the index.\n *\n * Note that although this function takes a callback parameter it is _not_ an\n * asynchronous operation, the callback is just yielded a query object to be\n * customized.\n *\n * @param {lunr.Index~queryBuilder} fn - A function that is used to build the query.\n * @returns {lunr.Index~Result[]}\n */\nlunr.Index.prototype.query = function (fn) {\n // for each query clause\n // * process terms\n // * expand terms from token set\n // * find matching documents and metadata\n // * get document vectors\n // * score documents\n\n var query = new lunr.Query(this.fields),\n matchingFields = Object.create(null),\n queryVectors = Object.create(null),\n termFieldCache = Object.create(null),\n requiredMatches = Object.create(null),\n prohibitedMatches = Object.create(null)\n\n /*\n * To support field level boosts a query vector is created per\n * field. An empty vector is eagerly created to support negated\n * queries.\n */\n for (var i = 0; i < this.fields.length; i++) {\n queryVectors[this.fields[i]] = new lunr.Vector\n }\n\n fn.call(query, query)\n\n for (var i = 0; i < query.clauses.length; i++) {\n /*\n * Unless the pipeline has been disabled for this term, which is\n * the case for terms with wildcards, we need to pass the clause\n * term through the search pipeline. A pipeline returns an array\n * of processed terms. Pipeline functions may expand the passed\n * term, which means we may end up performing multiple index lookups\n * for a single query term.\n */\n var clause = query.clauses[i],\n terms = null,\n clauseMatches = lunr.Set.complete\n\n if (clause.usePipeline) {\n terms = this.pipeline.runString(clause.term, {\n fields: clause.fields\n })\n } else {\n terms = [clause.term]\n }\n\n for (var m = 0; m < terms.length; m++) {\n var term = terms[m]\n\n /*\n * Each term returned from the pipeline needs to use the same query\n * clause object, e.g. the same boost and or edit distance. The\n * simplest way to do this is to re-use the clause object but mutate\n * its term property.\n */\n clause.term = term\n\n /*\n * From the term in the clause we create a token set which will then\n * be used to intersect the indexes token set to get a list of terms\n * to lookup in the inverted index\n */\n var termTokenSet = lunr.TokenSet.fromClause(clause),\n expandedTerms = this.tokenSet.intersect(termTokenSet).toArray()\n\n /*\n * If a term marked as required does not exist in the tokenSet it is\n * impossible for the search to return any matches. We set all the field\n * scoped required matches set to empty and stop examining any further\n * clauses.\n */\n if (expandedTerms.length === 0 && clause.presence === lunr.Query.presence.REQUIRED) {\n for (var k = 0; k < clause.fields.length; k++) {\n var field = clause.fields[k]\n requiredMatches[field] = lunr.Set.empty\n }\n\n break\n }\n\n for (var j = 0; j < expandedTerms.length; j++) {\n /*\n * For each term get the posting and termIndex, this is required for\n * building the query vector.\n */\n var expandedTerm = expandedTerms[j],\n posting = this.invertedIndex[expandedTerm],\n termIndex = posting._index\n\n for (var k = 0; k < clause.fields.length; k++) {\n /*\n * For each field that this query term is scoped by (by default\n * all fields are in scope) we need to get all the document refs\n * that have this term in that field.\n *\n * The posting is the entry in the invertedIndex for the matching\n * term from above.\n */\n var field = clause.fields[k],\n fieldPosting = posting[field],\n matchingDocumentRefs = Object.keys(fieldPosting),\n termField = expandedTerm + \"/\" + field,\n matchingDocumentsSet = new lunr.Set(matchingDocumentRefs)\n\n /*\n * if the presence of this term is required ensure that the matching\n * documents are added to the set of required matches for this clause.\n *\n */\n if (clause.presence == lunr.Query.presence.REQUIRED) {\n clauseMatches = clauseMatches.union(matchingDocumentsSet)\n\n if (requiredMatches[field] === undefined) {\n requiredMatches[field] = lunr.Set.complete\n }\n }\n\n /*\n * if the presence of this term is prohibited ensure that the matching\n * documents are added to the set of prohibited matches for this field,\n * creating that set if it does not yet exist.\n */\n if (clause.presence == lunr.Query.presence.PROHIBITED) {\n if (prohibitedMatches[field] === undefined) {\n prohibitedMatches[field] = lunr.Set.empty\n }\n\n prohibitedMatches[field] = prohibitedMatches[field].union(matchingDocumentsSet)\n\n /*\n * Prohibited matches should not be part of the query vector used for\n * similarity scoring and no metadata should be extracted so we continue\n * to the next field\n */\n continue\n }\n\n /*\n * The query field vector is populated using the termIndex found for\n * the term and a unit value with the appropriate boost applied.\n * Using upsert because there could already be an entry in the vector\n * for the term we are working with. In that case we just add the scores\n * together.\n */\n queryVectors[field].upsert(termIndex, clause.boost, function (a, b) { return a + b })\n\n /**\n * If we've already seen this term, field combo then we've already collected\n * the matching documents and metadata, no need to go through all that again\n */\n if (termFieldCache[termField]) {\n continue\n }\n\n for (var l = 0; l < matchingDocumentRefs.length; l++) {\n /*\n * All metadata for this term/field/document triple\n * are then extracted and collected into an instance\n * of lunr.MatchData ready to be returned in the query\n * results\n */\n var matchingDocumentRef = matchingDocumentRefs[l],\n matchingFieldRef = new lunr.FieldRef (matchingDocumentRef, field),\n metadata = fieldPosting[matchingDocumentRef],\n fieldMatch\n\n if ((fieldMatch = matchingFields[matchingFieldRef]) === undefined) {\n matchingFields[matchingFieldRef] = new lunr.MatchData (expandedTerm, field, metadata)\n } else {\n fieldMatch.add(expandedTerm, field, metadata)\n }\n\n }\n\n termFieldCache[termField] = true\n }\n }\n }\n\n /**\n * If the presence was required we need to update the requiredMatches field sets.\n * We do this after all fields for the term have collected their matches because\n * the clause terms presence is required in _any_ of the fields not _all_ of the\n * fields.\n */\n if (clause.presence === lunr.Query.presence.REQUIRED) {\n for (var k = 0; k < clause.fields.length; k++) {\n var field = clause.fields[k]\n requiredMatches[field] = requiredMatches[field].intersect(clauseMatches)\n }\n }\n }\n\n /**\n * Need to combine the field scoped required and prohibited\n * matching documents into a global set of required and prohibited\n * matches\n */\n var allRequiredMatches = lunr.Set.complete,\n allProhibitedMatches = lunr.Set.empty\n\n for (var i = 0; i < this.fields.length; i++) {\n var field = this.fields[i]\n\n if (requiredMatches[field]) {\n allRequiredMatches = allRequiredMatches.intersect(requiredMatches[field])\n }\n\n if (prohibitedMatches[field]) {\n allProhibitedMatches = allProhibitedMatches.union(prohibitedMatches[field])\n }\n }\n\n var matchingFieldRefs = Object.keys(matchingFields),\n results = [],\n matches = Object.create(null)\n\n /*\n * If the query is negated (contains only prohibited terms)\n * we need to get _all_ fieldRefs currently existing in the\n * index. This is only done when we know that the query is\n * entirely prohibited terms to avoid any cost of getting all\n * fieldRefs unnecessarily.\n *\n * Additionally, blank MatchData must be created to correctly\n * populate the results.\n */\n if (query.isNegated()) {\n matchingFieldRefs = Object.keys(this.fieldVectors)\n\n for (var i = 0; i < matchingFieldRefs.length; i++) {\n var matchingFieldRef = matchingFieldRefs[i]\n var fieldRef = lunr.FieldRef.fromString(matchingFieldRef)\n matchingFields[matchingFieldRef] = new lunr.MatchData\n }\n }\n\n for (var i = 0; i < matchingFieldRefs.length; i++) {\n /*\n * Currently we have document fields that match the query, but we\n * need to return documents. The matchData and scores are combined\n * from multiple fields belonging to the same document.\n *\n * Scores are calculated by field, using the query vectors created\n * above, and combined into a final document score using addition.\n */\n var fieldRef = lunr.FieldRef.fromString(matchingFieldRefs[i]),\n docRef = fieldRef.docRef\n\n if (!allRequiredMatches.contains(docRef)) {\n continue\n }\n\n if (allProhibitedMatches.contains(docRef)) {\n continue\n }\n\n var fieldVector = this.fieldVectors[fieldRef],\n score = queryVectors[fieldRef.fieldName].similarity(fieldVector),\n docMatch\n\n if ((docMatch = matches[docRef]) !== undefined) {\n docMatch.score += score\n docMatch.matchData.combine(matchingFields[fieldRef])\n } else {\n var match = {\n ref: docRef,\n score: score,\n matchData: matchingFields[fieldRef]\n }\n matches[docRef] = match\n results.push(match)\n }\n }\n\n /*\n * Sort the results objects by score, highest first.\n */\n return results.sort(function (a, b) {\n return b.score - a.score\n })\n}\n\n/**\n * Prepares the index for JSON serialization.\n *\n * The schema for this JSON blob will be described in a\n * separate JSON schema file.\n *\n * @returns {Object}\n */\nlunr.Index.prototype.toJSON = function () {\n var invertedIndex = Object.keys(this.invertedIndex)\n .sort()\n .map(function (term) {\n return [term, this.invertedIndex[term]]\n }, this)\n\n var fieldVectors = Object.keys(this.fieldVectors)\n .map(function (ref) {\n return [ref, this.fieldVectors[ref].toJSON()]\n }, this)\n\n return {\n version: lunr.version,\n fields: this.fields,\n fieldVectors: fieldVectors,\n invertedIndex: invertedIndex,\n pipeline: this.pipeline.toJSON()\n }\n}\n\n/**\n * Loads a previously serialized lunr.Index\n *\n * @param {Object} serializedIndex - A previously serialized lunr.Index\n * @returns {lunr.Index}\n */\nlunr.Index.load = function (serializedIndex) {\n var attrs = {},\n fieldVectors = {},\n serializedVectors = serializedIndex.fieldVectors,\n invertedIndex = Object.create(null),\n serializedInvertedIndex = serializedIndex.invertedIndex,\n tokenSetBuilder = new lunr.TokenSet.Builder,\n pipeline = lunr.Pipeline.load(serializedIndex.pipeline)\n\n if (serializedIndex.version != lunr.version) {\n lunr.utils.warn(\"Version mismatch when loading serialised index. Current version of lunr '\" + lunr.version + \"' does not match serialized index '\" + serializedIndex.version + \"'\")\n }\n\n for (var i = 0; i < serializedVectors.length; i++) {\n var tuple = serializedVectors[i],\n ref = tuple[0],\n elements = tuple[1]\n\n fieldVectors[ref] = new lunr.Vector(elements)\n }\n\n for (var i = 0; i < serializedInvertedIndex.length; i++) {\n var tuple = serializedInvertedIndex[i],\n term = tuple[0],\n posting = tuple[1]\n\n tokenSetBuilder.insert(term)\n invertedIndex[term] = posting\n }\n\n tokenSetBuilder.finish()\n\n attrs.fields = serializedIndex.fields\n\n attrs.fieldVectors = fieldVectors\n attrs.invertedIndex = invertedIndex\n attrs.tokenSet = tokenSetBuilder.root\n attrs.pipeline = pipeline\n\n return new lunr.Index(attrs)\n}\n/*!\n * lunr.Builder\n * Copyright (C) 2019 Oliver Nightingale\n */\n\n/**\n * lunr.Builder performs indexing on a set of documents and\n * returns instances of lunr.Index ready for querying.\n *\n * All configuration of the index is done via the builder, the\n * fields to index, the document reference, the text processing\n * pipeline and document scoring parameters are all set on the\n * builder before indexing.\n *\n * @constructor\n * @property {string} _ref - Internal reference to the document reference field.\n * @property {string[]} _fields - Internal reference to the document fields to index.\n * @property {object} invertedIndex - The inverted index maps terms to document fields.\n * @property {object} documentTermFrequencies - Keeps track of document term frequencies.\n * @property {object} documentLengths - Keeps track of the length of documents added to the index.\n * @property {lunr.tokenizer} tokenizer - Function for splitting strings into tokens for indexing.\n * @property {lunr.Pipeline} pipeline - The pipeline performs text processing on tokens before indexing.\n * @property {lunr.Pipeline} searchPipeline - A pipeline for processing search terms before querying the index.\n * @property {number} documentCount - Keeps track of the total number of documents indexed.\n * @property {number} _b - A parameter to control field length normalization, setting this to 0 disabled normalization, 1 fully normalizes field lengths, the default value is 0.75.\n * @property {number} _k1 - A parameter to control how quickly an increase in term frequency results in term frequency saturation, the default value is 1.2.\n * @property {number} termIndex - A counter incremented for each unique term, used to identify a terms position in the vector space.\n * @property {array} metadataWhitelist - A list of metadata keys that have been whitelisted for entry in the index.\n */\nlunr.Builder = function () {\n this._ref = \"id\"\n this._fields = Object.create(null)\n this._documents = Object.create(null)\n this.invertedIndex = Object.create(null)\n this.fieldTermFrequencies = {}\n this.fieldLengths = {}\n this.tokenizer = lunr.tokenizer\n this.pipeline = new lunr.Pipeline\n this.searchPipeline = new lunr.Pipeline\n this.documentCount = 0\n this._b = 0.75\n this._k1 = 1.2\n this.termIndex = 0\n this.metadataWhitelist = []\n}\n\n/**\n * Sets the document field used as the document reference. Every document must have this field.\n * The type of this field in the document should be a string, if it is not a string it will be\n * coerced into a string by calling toString.\n *\n * The default ref is 'id'.\n *\n * The ref should _not_ be changed during indexing, it should be set before any documents are\n * added to the index. Changing it during indexing can lead to inconsistent results.\n *\n * @param {string} ref - The name of the reference field in the document.\n */\nlunr.Builder.prototype.ref = function (ref) {\n this._ref = ref\n}\n\n/**\n * A function that is used to extract a field from a document.\n *\n * Lunr expects a field to be at the top level of a document, if however the field\n * is deeply nested within a document an extractor function can be used to extract\n * the right field for indexing.\n *\n * @callback fieldExtractor\n * @param {object} doc - The document being added to the index.\n * @returns {?(string|object|object[])} obj - The object that will be indexed for this field.\n * @example <caption>Extracting a nested field</caption>\n * function (doc) { return doc.nested.field }\n */\n\n/**\n * Adds a field to the list of document fields that will be indexed. Every document being\n * indexed should have this field. Null values for this field in indexed documents will\n * not cause errors but will limit the chance of that document being retrieved by searches.\n *\n * All fields should be added before adding documents to the index. Adding fields after\n * a document has been indexed will have no effect on already indexed documents.\n *\n * Fields can be boosted at build time. This allows terms within that field to have more\n * importance when ranking search results. Use a field boost to specify that matches within\n * one field are more important than other fields.\n *\n * @param {string} fieldName - The name of a field to index in all documents.\n * @param {object} attributes - Optional attributes associated with this field.\n * @param {number} [attributes.boost=1] - Boost applied to all terms within this field.\n * @param {fieldExtractor} [attributes.extractor] - Function to extract a field from a document.\n * @throws {RangeError} fieldName cannot contain unsupported characters '/'\n */\nlunr.Builder.prototype.field = function (fieldName, attributes) {\n if (/\\//.test(fieldName)) {\n throw new RangeError (\"Field '\" + fieldName + \"' contains illegal character '/'\")\n }\n\n this._fields[fieldName] = attributes || {}\n}\n\n/**\n * A parameter to tune the amount of field length normalisation that is applied when\n * calculating relevance scores. A value of 0 will completely disable any normalisation\n * and a value of 1 will fully normalise field lengths. The default is 0.75. Values of b\n * will be clamped to the range 0 - 1.\n *\n * @param {number} number - The value to set for this tuning parameter.\n */\nlunr.Builder.prototype.b = function (number) {\n if (number < 0) {\n this._b = 0\n } else if (number > 1) {\n this._b = 1\n } else {\n this._b = number\n }\n}\n\n/**\n * A parameter that controls the speed at which a rise in term frequency results in term\n * frequency saturation. The default value is 1.2. Setting this to a higher value will give\n * slower saturation levels, a lower value will result in quicker saturation.\n *\n * @param {number} number - The value to set for this tuning parameter.\n */\nlunr.Builder.prototype.k1 = function (number) {\n this._k1 = number\n}\n\n/**\n * Adds a document to the index.\n *\n * Before adding fields to the index the index should have been fully setup, with the document\n * ref and all fields to index already having been specified.\n *\n * The document must have a field name as specified by the ref (by default this is 'id') and\n * it should have all fields defined for indexing, though null or undefined values will not\n * cause errors.\n *\n * Entire documents can be boosted at build time. Applying a boost to a document indicates that\n * this document should rank higher in search results than other documents.\n *\n * @param {object} doc - The document to add to the index.\n * @param {object} attributes - Optional attributes associated with this document.\n * @param {number} [attributes.boost=1] - Boost applied to all terms within this document.\n */\nlunr.Builder.prototype.add = function (doc, attributes) {\n var docRef = doc[this._ref],\n fields = Object.keys(this._fields)\n\n this._documents[docRef] = attributes || {}\n this.documentCount += 1\n\n for (var i = 0; i < fields.length; i++) {\n var fieldName = fields[i],\n extractor = this._fields[fieldName].extractor,\n field = extractor ? extractor(doc) : doc[fieldName],\n tokens = this.tokenizer(field, {\n fields: [fieldName]\n }),\n terms = this.pipeline.run(tokens),\n fieldRef = new lunr.FieldRef (docRef, fieldName),\n fieldTerms = Object.create(null)\n\n this.fieldTermFrequencies[fieldRef] = fieldTerms\n this.fieldLengths[fieldRef] = 0\n\n // store the length of this field for this document\n this.fieldLengths[fieldRef] += terms.length\n\n // calculate term frequencies for this field\n for (var j = 0; j < terms.length; j++) {\n var term = terms[j]\n\n if (fieldTerms[term] == undefined) {\n fieldTerms[term] = 0\n }\n\n fieldTerms[term] += 1\n\n // add to inverted index\n // create an initial posting if one doesn't exist\n if (this.invertedIndex[term] == undefined) {\n var posting = Object.create(null)\n posting[\"_index\"] = this.termIndex\n this.termIndex += 1\n\n for (var k = 0; k < fields.length; k++) {\n posting[fields[k]] = Object.create(null)\n }\n\n this.invertedIndex[term] = posting\n }\n\n // add an entry for this term/fieldName/docRef to the invertedIndex\n if (this.invertedIndex[term][fieldName][docRef] == undefined) {\n this.invertedIndex[term][fieldName][docRef] = Object.create(null)\n }\n\n // store all whitelisted metadata about this token in the\n // inverted index\n for (var l = 0; l < this.metadataWhitelist.length; l++) {\n var metadataKey = this.metadataWhitelist[l],\n metadata = term.metadata[metadataKey]\n\n if (this.invertedIndex[term][fieldName][docRef][metadataKey] == undefined) {\n this.invertedIndex[term][fieldName][docRef][metadataKey] = []\n }\n\n this.invertedIndex[term][fieldName][docRef][metadataKey].push(metadata)\n }\n }\n\n }\n}\n\n/**\n * Calculates the average document length for this index\n *\n * @private\n */\nlunr.Builder.prototype.calculateAverageFieldLengths = function () {\n\n var fieldRefs = Object.keys(this.fieldLengths),\n numberOfFields = fieldRefs.length,\n accumulator = {},\n documentsWithField = {}\n\n for (var i = 0; i < numberOfFields; i++) {\n var fieldRef = lunr.FieldRef.fromString(fieldRefs[i]),\n field = fieldRef.fieldName\n\n documentsWithField[field] || (documentsWithField[field] = 0)\n documentsWithField[field] += 1\n\n accumulator[field] || (accumulator[field] = 0)\n accumulator[field] += this.fieldLengths[fieldRef]\n }\n\n var fields = Object.keys(this._fields)\n\n for (var i = 0; i < fields.length; i++) {\n var fieldName = fields[i]\n accumulator[fieldName] = accumulator[fieldName] / documentsWithField[fieldName]\n }\n\n this.averageFieldLength = accumulator\n}\n\n/**\n * Builds a vector space model of every document using lunr.Vector\n *\n * @private\n */\nlunr.Builder.prototype.createFieldVectors = function () {\n var fieldVectors = {},\n fieldRefs = Object.keys(this.fieldTermFrequencies),\n fieldRefsLength = fieldRefs.length,\n termIdfCache = Object.create(null)\n\n for (var i = 0; i < fieldRefsLength; i++) {\n var fieldRef = lunr.FieldRef.fromString(fieldRefs[i]),\n fieldName = fieldRef.fieldName,\n fieldLength = this.fieldLengths[fieldRef],\n fieldVector = new lunr.Vector,\n termFrequencies = this.fieldTermFrequencies[fieldRef],\n terms = Object.keys(termFrequencies),\n termsLength = terms.length\n\n\n var fieldBoost = this._fields[fieldName].boost || 1,\n docBoost = this._documents[fieldRef.docRef].boost || 1\n\n for (var j = 0; j < termsLength; j++) {\n var term = terms[j],\n tf = termFrequencies[term],\n termIndex = this.invertedIndex[term]._index,\n idf, score, scoreWithPrecision\n\n if (termIdfCache[term] === undefined) {\n idf = lunr.idf(this.invertedIndex[term], this.documentCount)\n termIdfCache[term] = idf\n } else {\n idf = termIdfCache[term]\n }\n\n score = idf * ((this._k1 + 1) * tf) / (this._k1 * (1 - this._b + this._b * (fieldLength / this.averageFieldLength[fieldName])) + tf)\n score *= fieldBoost\n score *= docBoost\n scoreWithPrecision = Math.round(score * 1000) / 1000\n // Converts 1.23456789 to 1.234.\n // Reducing the precision so that the vectors take up less\n // space when serialised. Doing it now so that they behave\n // the same before and after serialisation. Also, this is\n // the fastest approach to reducing a number's precision in\n // JavaScript.\n\n fieldVector.insert(termIndex, scoreWithPrecision)\n }\n\n fieldVectors[fieldRef] = fieldVector\n }\n\n this.fieldVectors = fieldVectors\n}\n\n/**\n * Creates a token set of all tokens in the index using lunr.TokenSet\n *\n * @private\n */\nlunr.Builder.prototype.createTokenSet = function () {\n this.tokenSet = lunr.TokenSet.fromArray(\n Object.keys(this.invertedIndex).sort()\n )\n}\n\n/**\n * Builds the index, creating an instance of lunr.Index.\n *\n * This completes the indexing process and should only be called\n * once all documents have been added to the index.\n *\n * @returns {lunr.Index}\n */\nlunr.Builder.prototype.build = function () {\n this.calculateAverageFieldLengths()\n this.createFieldVectors()\n this.createTokenSet()\n\n return new lunr.Index({\n invertedIndex: this.invertedIndex,\n fieldVectors: this.fieldVectors,\n tokenSet: this.tokenSet,\n fields: Object.keys(this._fields),\n pipeline: this.searchPipeline\n })\n}\n\n/**\n * Applies a plugin to the index builder.\n *\n * A plugin is a function that is called with the index builder as its context.\n * Plugins can be used to customise or extend the behaviour of the index\n * in some way. A plugin is just a function, that encapsulated the custom\n * behaviour that should be applied when building the index.\n *\n * The plugin function will be called with the index builder as its argument, additional\n * arguments can also be passed when calling use. The function will be called\n * with the index builder as its context.\n *\n * @param {Function} plugin The plugin to apply.\n */\nlunr.Builder.prototype.use = function (fn) {\n var args = Array.prototype.slice.call(arguments, 1)\n args.unshift(this)\n fn.apply(this, args)\n}\n/**\n * Contains and collects metadata about a matching document.\n * A single instance of lunr.MatchData is returned as part of every\n * lunr.Index~Result.\n *\n * @constructor\n * @param {string} term - The term this match data is associated with\n * @param {string} field - The field in which the term was found\n * @param {object} metadata - The metadata recorded about this term in this field\n * @property {object} metadata - A cloned collection of metadata associated with this document.\n * @see {@link lunr.Index~Result}\n */\nlunr.MatchData = function (term, field, metadata) {\n var clonedMetadata = Object.create(null),\n metadataKeys = Object.keys(metadata || {})\n\n // Cloning the metadata to prevent the original\n // being mutated during match data combination.\n // Metadata is kept in an array within the inverted\n // index so cloning the data can be done with\n // Array#slice\n for (var i = 0; i < metadataKeys.length; i++) {\n var key = metadataKeys[i]\n clonedMetadata[key] = metadata[key].slice()\n }\n\n this.metadata = Object.create(null)\n\n if (term !== undefined) {\n this.metadata[term] = Object.create(null)\n this.metadata[term][field] = clonedMetadata\n }\n}\n\n/**\n * An instance of lunr.MatchData will be created for every term that matches a\n * document. However only one instance is required in a lunr.Index~Result. This\n * method combines metadata from another instance of lunr.MatchData with this\n * objects metadata.\n *\n * @param {lunr.MatchData} otherMatchData - Another instance of match data to merge with this one.\n * @see {@link lunr.Index~Result}\n */\nlunr.MatchData.prototype.combine = function (otherMatchData) {\n var terms = Object.keys(otherMatchData.metadata)\n\n for (var i = 0; i < terms.length; i++) {\n var term = terms[i],\n fields = Object.keys(otherMatchData.metadata[term])\n\n if (this.metadata[term] == undefined) {\n this.metadata[term] = Object.create(null)\n }\n\n for (var j = 0; j < fields.length; j++) {\n var field = fields[j],\n keys = Object.keys(otherMatchData.metadata[term][field])\n\n if (this.metadata[term][field] == undefined) {\n this.metadata[term][field] = Object.create(null)\n }\n\n for (var k = 0; k < keys.length; k++) {\n var key = keys[k]\n\n if (this.metadata[term][field][key] == undefined) {\n this.metadata[term][field][key] = otherMatchData.metadata[term][field][key]\n } else {\n this.metadata[term][field][key] = this.metadata[term][field][key].concat(otherMatchData.metadata[term][field][key])\n }\n\n }\n }\n }\n}\n\n/**\n * Add metadata for a term/field pair to this instance of match data.\n *\n * @param {string} term - The term this match data is associated with\n * @param {string} field - The field in which the term was found\n * @param {object} metadata - The metadata recorded about this term in this field\n */\nlunr.MatchData.prototype.add = function (term, field, metadata) {\n if (!(term in this.metadata)) {\n this.metadata[term] = Object.create(null)\n this.metadata[term][field] = metadata\n return\n }\n\n if (!(field in this.metadata[term])) {\n this.metadata[term][field] = metadata\n return\n }\n\n var metadataKeys = Object.keys(metadata)\n\n for (var i = 0; i < metadataKeys.length; i++) {\n var key = metadataKeys[i]\n\n if (key in this.metadata[term][field]) {\n this.metadata[term][field][key] = this.metadata[term][field][key].concat(metadata[key])\n } else {\n this.metadata[term][field][key] = metadata[key]\n }\n }\n}\n/**\n * A lunr.Query provides a programmatic way of defining queries to be performed\n * against a {@link lunr.Index}.\n *\n * Prefer constructing a lunr.Query using the {@link lunr.Index#query} method\n * so the query object is pre-initialized with the right index fields.\n *\n * @constructor\n * @property {lunr.Query~Clause[]} clauses - An array of query clauses.\n * @property {string[]} allFields - An array of all available fields in a lunr.Index.\n */\nlunr.Query = function (allFields) {\n this.clauses = []\n this.allFields = allFields\n}\n\n/**\n * Constants for indicating what kind of automatic wildcard insertion will be used when constructing a query clause.\n *\n * This allows wildcards to be added to the beginning and end of a term without having to manually do any string\n * concatenation.\n *\n * The wildcard constants can be bitwise combined to select both leading and trailing wildcards.\n *\n * @constant\n * @default\n * @property {number} wildcard.NONE - The term will have no wildcards inserted, this is the default behaviour\n * @property {number} wildcard.LEADING - Prepend the term with a wildcard, unless a leading wildcard already exists\n * @property {number} wildcard.TRAILING - Append a wildcard to the term, unless a trailing wildcard already exists\n * @see lunr.Query~Clause\n * @see lunr.Query#clause\n * @see lunr.Query#term\n * @example <caption>query term with trailing wildcard</caption>\n * query.term('foo', { wildcard: lunr.Query.wildcard.TRAILING })\n * @example <caption>query term with leading and trailing wildcard</caption>\n * query.term('foo', {\n * wildcard: lunr.Query.wildcard.LEADING | lunr.Query.wildcard.TRAILING\n * })\n */\n\nlunr.Query.wildcard = new String (\"*\")\nlunr.Query.wildcard.NONE = 0\nlunr.Query.wildcard.LEADING = 1\nlunr.Query.wildcard.TRAILING = 2\n\n/**\n * Constants for indicating what kind of presence a term must have in matching documents.\n *\n * @constant\n * @enum {number}\n * @see lunr.Query~Clause\n * @see lunr.Query#clause\n * @see lunr.Query#term\n * @example <caption>query term with required presence</caption>\n * query.term('foo', { presence: lunr.Query.presence.REQUIRED })\n */\nlunr.Query.presence = {\n /**\n * Term's presence in a document is optional, this is the default value.\n */\n OPTIONAL: 1,\n\n /**\n * Term's presence in a document is required, documents that do not contain\n * this term will not be returned.\n */\n REQUIRED: 2,\n\n /**\n * Term's presence in a document is prohibited, documents that do contain\n * this term will not be returned.\n */\n PROHIBITED: 3\n}\n\n/**\n * A single clause in a {@link lunr.Query} contains a term and details on how to\n * match that term against a {@link lunr.Index}.\n *\n * @typedef {Object} lunr.Query~Clause\n * @property {string[]} fields - The fields in an index this clause should be matched against.\n * @property {number} [boost=1] - Any boost that should be applied when matching this clause.\n * @property {number} [editDistance] - Whether the term should have fuzzy matching applied, and how fuzzy the match should be.\n * @property {boolean} [usePipeline] - Whether the term should be passed through the search pipeline.\n * @property {number} [wildcard=lunr.Query.wildcard.NONE] - Whether the term should have wildcards appended or prepended.\n * @property {number} [presence=lunr.Query.presence.OPTIONAL] - The terms presence in any matching documents.\n */\n\n/**\n * Adds a {@link lunr.Query~Clause} to this query.\n *\n * Unless the clause contains the fields to be matched all fields will be matched. In addition\n * a default boost of 1 is applied to the clause.\n *\n * @param {lunr.Query~Clause} clause - The clause to add to this query.\n * @see lunr.Query~Clause\n * @returns {lunr.Query}\n */\nlunr.Query.prototype.clause = function (clause) {\n if (!('fields' in clause)) {\n clause.fields = this.allFields\n }\n\n if (!('boost' in clause)) {\n clause.boost = 1\n }\n\n if (!('usePipeline' in clause)) {\n clause.usePipeline = true\n }\n\n if (!('wildcard' in clause)) {\n clause.wildcard = lunr.Query.wildcard.NONE\n }\n\n if ((clause.wildcard & lunr.Query.wildcard.LEADING) && (clause.term.charAt(0) != lunr.Query.wildcard)) {\n clause.term = \"*\" + clause.term\n }\n\n if ((clause.wildcard & lunr.Query.wildcard.TRAILING) && (clause.term.slice(-1) != lunr.Query.wildcard)) {\n clause.term = \"\" + clause.term + \"*\"\n }\n\n if (!('presence' in clause)) {\n clause.presence = lunr.Query.presence.OPTIONAL\n }\n\n this.clauses.push(clause)\n\n return this\n}\n\n/**\n * A negated query is one in which every clause has a presence of\n * prohibited. These queries require some special processing to return\n * the expected results.\n *\n * @returns boolean\n */\nlunr.Query.prototype.isNegated = function () {\n for (var i = 0; i < this.clauses.length; i++) {\n if (this.clauses[i].presence != lunr.Query.presence.PROHIBITED) {\n return false\n }\n }\n\n return true\n}\n\n/**\n * Adds a term to the current query, under the covers this will create a {@link lunr.Query~Clause}\n * to the list of clauses that make up this query.\n *\n * The term is used as is, i.e. no tokenization will be performed by this method. Instead conversion\n * to a token or token-like string should be done before calling this method.\n *\n * The term will be converted to a string by calling `toString`. Multiple terms can be passed as an\n * array, each term in the array will share the same options.\n *\n * @param {object|object[]} term - The term(s) to add to the query.\n * @param {object} [options] - Any additional properties to add to the query clause.\n * @returns {lunr.Query}\n * @see lunr.Query#clause\n * @see lunr.Query~Clause\n * @example <caption>adding a single term to a query</caption>\n * query.term(\"foo\")\n * @example <caption>adding a single term to a query and specifying search fields, term boost and automatic trailing wildcard</caption>\n * query.term(\"foo\", {\n * fields: [\"title\"],\n * boost: 10,\n * wildcard: lunr.Query.wildcard.TRAILING\n * })\n * @example <caption>using lunr.tokenizer to convert a string to tokens before using them as terms</caption>\n * query.term(lunr.tokenizer(\"foo bar\"))\n */\nlunr.Query.prototype.term = function (term, options) {\n if (Array.isArray(term)) {\n term.forEach(function (t) { this.term(t, lunr.utils.clone(options)) }, this)\n return this\n }\n\n var clause = options || {}\n clause.term = term.toString()\n\n this.clause(clause)\n\n return this\n}\nlunr.QueryParseError = function (message, start, end) {\n this.name = \"QueryParseError\"\n this.message = message\n this.start = start\n this.end = end\n}\n\nlunr.QueryParseError.prototype = new Error\nlunr.QueryLexer = function (str) {\n this.lexemes = []\n this.str = str\n this.length = str.length\n this.pos = 0\n this.start = 0\n this.escapeCharPositions = []\n}\n\nlunr.QueryLexer.prototype.run = function () {\n var state = lunr.QueryLexer.lexText\n\n while (state) {\n state = state(this)\n }\n}\n\nlunr.QueryLexer.prototype.sliceString = function () {\n var subSlices = [],\n sliceStart = this.start,\n sliceEnd = this.pos\n\n for (var i = 0; i < this.escapeCharPositions.length; i++) {\n sliceEnd = this.escapeCharPositions[i]\n subSlices.push(this.str.slice(sliceStart, sliceEnd))\n sliceStart = sliceEnd + 1\n }\n\n subSlices.push(this.str.slice(sliceStart, this.pos))\n this.escapeCharPositions.length = 0\n\n return subSlices.join('')\n}\n\nlunr.QueryLexer.prototype.emit = function (type) {\n this.lexemes.push({\n type: type,\n str: this.sliceString(),\n start: this.start,\n end: this.pos\n })\n\n this.start = this.pos\n}\n\nlunr.QueryLexer.prototype.escapeCharacter = function () {\n this.escapeCharPositions.push(this.pos - 1)\n this.pos += 1\n}\n\nlunr.QueryLexer.prototype.next = function () {\n if (this.pos >= this.length) {\n return lunr.QueryLexer.EOS\n }\n\n var char = this.str.charAt(this.pos)\n this.pos += 1\n return char\n}\n\nlunr.QueryLexer.prototype.width = function () {\n return this.pos - this.start\n}\n\nlunr.QueryLexer.prototype.ignore = function () {\n if (this.start == this.pos) {\n this.pos += 1\n }\n\n this.start = this.pos\n}\n\nlunr.QueryLexer.prototype.backup = function () {\n this.pos -= 1\n}\n\nlunr.QueryLexer.prototype.acceptDigitRun = function () {\n var char, charCode\n\n do {\n char = this.next()\n charCode = char.charCodeAt(0)\n } while (charCode > 47 && charCode < 58)\n\n if (char != lunr.QueryLexer.EOS) {\n this.backup()\n }\n}\n\nlunr.QueryLexer.prototype.more = function () {\n return this.pos < this.length\n}\n\nlunr.QueryLexer.EOS = 'EOS'\nlunr.QueryLexer.FIELD = 'FIELD'\nlunr.QueryLexer.TERM = 'TERM'\nlunr.QueryLexer.EDIT_DISTANCE = 'EDIT_DISTANCE'\nlunr.QueryLexer.BOOST = 'BOOST'\nlunr.QueryLexer.PRESENCE = 'PRESENCE'\n\nlunr.QueryLexer.lexField = function (lexer) {\n lexer.backup()\n lexer.emit(lunr.QueryLexer.FIELD)\n lexer.ignore()\n return lunr.QueryLexer.lexText\n}\n\nlunr.QueryLexer.lexTerm = function (lexer) {\n if (lexer.width() > 1) {\n lexer.backup()\n lexer.emit(lunr.QueryLexer.TERM)\n }\n\n lexer.ignore()\n\n if (lexer.more()) {\n return lunr.QueryLexer.lexText\n }\n}\n\nlunr.QueryLexer.lexEditDistance = function (lexer) {\n lexer.ignore()\n lexer.acceptDigitRun()\n lexer.emit(lunr.QueryLexer.EDIT_DISTANCE)\n return lunr.QueryLexer.lexText\n}\n\nlunr.QueryLexer.lexBoost = function (lexer) {\n lexer.ignore()\n lexer.acceptDigitRun()\n lexer.emit(lunr.QueryLexer.BOOST)\n return lunr.QueryLexer.lexText\n}\n\nlunr.QueryLexer.lexEOS = function (lexer) {\n if (lexer.width() > 0) {\n lexer.emit(lunr.QueryLexer.TERM)\n }\n}\n\n// This matches the separator used when tokenising fields\n// within a document. These should match otherwise it is\n// not possible to search for some tokens within a document.\n//\n// It is possible for the user to change the separator on the\n// tokenizer so it _might_ clash with any other of the special\n// characters already used within the search string, e.g. :.\n//\n// This means that it is possible to change the separator in\n// such a way that makes some words unsearchable using a search\n// string.\nlunr.QueryLexer.termSeparator = lunr.tokenizer.separator\n\nlunr.QueryLexer.lexText = function (lexer) {\n while (true) {\n var char = lexer.next()\n\n if (char == lunr.QueryLexer.EOS) {\n return lunr.QueryLexer.lexEOS\n }\n\n // Escape character is '\\'\n if (char.charCodeAt(0) == 92) {\n lexer.escapeCharacter()\n continue\n }\n\n if (char == \":\") {\n return lunr.QueryLexer.lexField\n }\n\n if (char == \"~\") {\n lexer.backup()\n if (lexer.width() > 0) {\n lexer.emit(lunr.QueryLexer.TERM)\n }\n return lunr.QueryLexer.lexEditDistance\n }\n\n if (char == \"^\") {\n lexer.backup()\n if (lexer.width() > 0) {\n lexer.emit(lunr.QueryLexer.TERM)\n }\n return lunr.QueryLexer.lexBoost\n }\n\n // \"+\" indicates term presence is required\n // checking for length to ensure that only\n // leading \"+\" are considered\n if (char == \"+\" && lexer.width() === 1) {\n lexer.emit(lunr.QueryLexer.PRESENCE)\n return lunr.QueryLexer.lexText\n }\n\n // \"-\" indicates term presence is prohibited\n // checking for length to ensure that only\n // leading \"-\" are considered\n if (char == \"-\" && lexer.width() === 1) {\n lexer.emit(lunr.QueryLexer.PRESENCE)\n return lunr.QueryLexer.lexText\n }\n\n if (char.match(lunr.QueryLexer.termSeparator)) {\n return lunr.QueryLexer.lexTerm\n }\n }\n}\n\nlunr.QueryParser = function (str, query) {\n this.lexer = new lunr.QueryLexer (str)\n this.query = query\n this.currentClause = {}\n this.lexemeIdx = 0\n}\n\nlunr.QueryParser.prototype.parse = function () {\n this.lexer.run()\n this.lexemes = this.lexer.lexemes\n\n var state = lunr.QueryParser.parseClause\n\n while (state) {\n state = state(this)\n }\n\n return this.query\n}\n\nlunr.QueryParser.prototype.peekLexeme = function () {\n return this.lexemes[this.lexemeIdx]\n}\n\nlunr.QueryParser.prototype.consumeLexeme = function () {\n var lexeme = this.peekLexeme()\n this.lexemeIdx += 1\n return lexeme\n}\n\nlunr.QueryParser.prototype.nextClause = function () {\n var completedClause = this.currentClause\n this.query.clause(completedClause)\n this.currentClause = {}\n}\n\nlunr.QueryParser.parseClause = function (parser) {\n var lexeme = parser.peekLexeme()\n\n if (lexeme == undefined) {\n return\n }\n\n switch (lexeme.type) {\n case lunr.QueryLexer.PRESENCE:\n return lunr.QueryParser.parsePresence\n case lunr.QueryLexer.FIELD:\n return lunr.QueryParser.parseField\n case lunr.QueryLexer.TERM:\n return lunr.QueryParser.parseTerm\n default:\n var errorMessage = \"expected either a field or a term, found \" + lexeme.type\n\n if (lexeme.str.length >= 1) {\n errorMessage += \" with value '\" + lexeme.str + \"'\"\n }\n\n throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end)\n }\n}\n\nlunr.QueryParser.parsePresence = function (parser) {\n var lexeme = parser.consumeLexeme()\n\n if (lexeme == undefined) {\n return\n }\n\n switch (lexeme.str) {\n case \"-\":\n parser.currentClause.presence = lunr.Query.presence.PROHIBITED\n break\n case \"+\":\n parser.currentClause.presence = lunr.Query.presence.REQUIRED\n break\n default:\n var errorMessage = \"unrecognised presence operator'\" + lexeme.str + \"'\"\n throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end)\n }\n\n var nextLexeme = parser.peekLexeme()\n\n if (nextLexeme == undefined) {\n var errorMessage = \"expecting term or field, found nothing\"\n throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end)\n }\n\n switch (nextLexeme.type) {\n case lunr.QueryLexer.FIELD:\n return lunr.QueryParser.parseField\n case lunr.QueryLexer.TERM:\n return lunr.QueryParser.parseTerm\n default:\n var errorMessage = \"expecting term or field, found '\" + nextLexeme.type + \"'\"\n throw new lunr.QueryParseError (errorMessage, nextLexeme.start, nextLexeme.end)\n }\n}\n\nlunr.QueryParser.parseField = function (parser) {\n var lexeme = parser.consumeLexeme()\n\n if (lexeme == undefined) {\n return\n }\n\n if (parser.query.allFields.indexOf(lexeme.str) == -1) {\n var possibleFields = parser.query.allFields.map(function (f) { return \"'\" + f + \"'\" }).join(', '),\n errorMessage = \"unrecognised field '\" + lexeme.str + \"', possible fields: \" + possibleFields\n\n throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end)\n }\n\n parser.currentClause.fields = [lexeme.str]\n\n var nextLexeme = parser.peekLexeme()\n\n if (nextLexeme == undefined) {\n var errorMessage = \"expecting term, found nothing\"\n throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end)\n }\n\n switch (nextLexeme.type) {\n case lunr.QueryLexer.TERM:\n return lunr.QueryParser.parseTerm\n default:\n var errorMessage = \"expecting term, found '\" + nextLexeme.type + \"'\"\n throw new lunr.QueryParseError (errorMessage, nextLexeme.start, nextLexeme.end)\n }\n}\n\nlunr.QueryParser.parseTerm = function (parser) {\n var lexeme = parser.consumeLexeme()\n\n if (lexeme == undefined) {\n return\n }\n\n parser.currentClause.term = lexeme.str.toLowerCase()\n\n if (lexeme.str.indexOf(\"*\") != -1) {\n parser.currentClause.usePipeline = false\n }\n\n var nextLexeme = parser.peekLexeme()\n\n if (nextLexeme == undefined) {\n parser.nextClause()\n return\n }\n\n switch (nextLexeme.type) {\n case lunr.QueryLexer.TERM:\n parser.nextClause()\n return lunr.QueryParser.parseTerm\n case lunr.QueryLexer.FIELD:\n parser.nextClause()\n return lunr.QueryParser.parseField\n case lunr.QueryLexer.EDIT_DISTANCE:\n return lunr.QueryParser.parseEditDistance\n case lunr.QueryLexer.BOOST:\n return lunr.QueryParser.parseBoost\n case lunr.QueryLexer.PRESENCE:\n parser.nextClause()\n return lunr.QueryParser.parsePresence\n default:\n var errorMessage = \"Unexpected lexeme type '\" + nextLexeme.type + \"'\"\n throw new lunr.QueryParseError (errorMessage, nextLexeme.start, nextLexeme.end)\n }\n}\n\nlunr.QueryParser.parseEditDistance = function (parser) {\n var lexeme = parser.consumeLexeme()\n\n if (lexeme == undefined) {\n return\n }\n\n var editDistance = parseInt(lexeme.str, 10)\n\n if (isNaN(editDistance)) {\n var errorMessage = \"edit distance must be numeric\"\n throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end)\n }\n\n parser.currentClause.editDistance = editDistance\n\n var nextLexeme = parser.peekLexeme()\n\n if (nextLexeme == undefined) {\n parser.nextClause()\n return\n }\n\n switch (nextLexeme.type) {\n case lunr.QueryLexer.TERM:\n parser.nextClause()\n return lunr.QueryParser.parseTerm\n case lunr.QueryLexer.FIELD:\n parser.nextClause()\n return lunr.QueryParser.parseField\n case lunr.QueryLexer.EDIT_DISTANCE:\n return lunr.QueryParser.parseEditDistance\n case lunr.QueryLexer.BOOST:\n return lunr.QueryParser.parseBoost\n case lunr.QueryLexer.PRESENCE:\n parser.nextClause()\n return lunr.QueryParser.parsePresence\n default:\n var errorMessage = \"Unexpected lexeme type '\" + nextLexeme.type + \"'\"\n throw new lunr.QueryParseError (errorMessage, nextLexeme.start, nextLexeme.end)\n }\n}\n\nlunr.QueryParser.parseBoost = function (parser) {\n var lexeme = parser.consumeLexeme()\n\n if (lexeme == undefined) {\n return\n }\n\n var boost = parseInt(lexeme.str, 10)\n\n if (isNaN(boost)) {\n var errorMessage = \"boost must be numeric\"\n throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end)\n }\n\n parser.currentClause.boost = boost\n\n var nextLexeme = parser.peekLexeme()\n\n if (nextLexeme == undefined) {\n parser.nextClause()\n return\n }\n\n switch (nextLexeme.type) {\n case lunr.QueryLexer.TERM:\n parser.nextClause()\n return lunr.QueryParser.parseTerm\n case lunr.QueryLexer.FIELD:\n parser.nextClause()\n return lunr.QueryParser.parseField\n case lunr.QueryLexer.EDIT_DISTANCE:\n return lunr.QueryParser.parseEditDistance\n case lunr.QueryLexer.BOOST:\n return lunr.QueryParser.parseBoost\n case lunr.QueryLexer.PRESENCE:\n parser.nextClause()\n return lunr.QueryParser.parsePresence\n default:\n var errorMessage = \"Unexpected lexeme type '\" + nextLexeme.type + \"'\"\n throw new lunr.QueryParseError (errorMessage, nextLexeme.start, nextLexeme.end)\n }\n}\n\n /**\n * export the module via AMD, CommonJS or as a browser global\n * Export code from https://github.com/umdjs/umd/blob/master/returnExports.js\n */\n ;(function (root, factory) {\n if (true) {\n // AMD. Register as an anonymous module.\n !(__WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.call(exports, __webpack_require__, exports, module)) :\n\t\t\t\t__WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__))\n } else {}\n }(this, function () {\n /**\n * Just return a value to define the module export.\n * This example returns an object, but the module\n * can return a function as the exported value.\n */\n return lunr\n }))\n})();\n\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar DESCRIPTORS = __webpack_require__(8);\nvar definePropertyModule = __webpack_require__(12);\nvar createPropertyDescriptor = __webpack_require__(22);\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar fails = __webpack_require__(6);\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !fails(function () {\n return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(0);\nvar createNonEnumerableProperty = __webpack_require__(5);\nvar has = __webpack_require__(3);\nvar setGlobal = __webpack_require__(20);\nvar inspectSource = __webpack_require__(23);\nvar InternalStateModule = __webpack_require__(16);\n\nvar getInternalState = InternalStateModule.get;\nvar enforceInternalState = InternalStateModule.enforce;\nvar TEMPLATE = String(String).split('String');\n\n(module.exports = function (O, key, value, options) {\n var unsafe = options ? !!options.unsafe : false;\n var simple = options ? !!options.enumerable : false;\n var noTargetGet = options ? !!options.noTargetGet : false;\n if (typeof value == 'function') {\n if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);\n enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');\n }\n if (O === global) {\n if (simple) O[key] = value;\n else setGlobal(key, value);\n return;\n } else if (!unsafe) {\n delete O[key];\n } else if (!noTargetGet && O[key]) {\n simple = true;\n }\n if (simple) O[key] = value;\n else createNonEnumerableProperty(O, key, value);\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, 'toString', function toString() {\n return typeof this == 'function' && getInternalState(this).source || inspectSource(this);\n});\n\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar path = __webpack_require__(40);\nvar global = __webpack_require__(0);\n\nvar aFunction = function (variable) {\n return typeof variable == 'function' ? variable : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace])\n : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method];\n};\n\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports) {\n\nmodule.exports = false;\n\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar DESCRIPTORS = __webpack_require__(8);\nvar IE8_DOM_DEFINE = __webpack_require__(34);\nvar anObject = __webpack_require__(2);\nvar toPrimitive = __webpack_require__(35);\n\nvar nativeDefineProperty = Object.defineProperty;\n\n// `Object.defineProperty` method\n// https://tc39.github.io/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? nativeDefineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return nativeDefineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports) {\n\nvar toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n\n\n/***/ }),\n/* 14 */\n/***/ (function(module, exports) {\n\nmodule.exports = {};\n\n\n/***/ }),\n/* 15 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n if (typeof it != 'function') {\n throw TypeError(String(it) + ' is not a function');\n } return it;\n};\n\n\n/***/ }),\n/* 16 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar NATIVE_WEAK_MAP = __webpack_require__(61);\nvar global = __webpack_require__(0);\nvar isObject = __webpack_require__(7);\nvar createNonEnumerableProperty = __webpack_require__(5);\nvar objectHas = __webpack_require__(3);\nvar sharedKey = __webpack_require__(24);\nvar hiddenKeys = __webpack_require__(25);\n\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP) {\n var store = new WeakMap();\n var wmget = store.get;\n var wmhas = store.has;\n var wmset = store.set;\n set = function (it, metadata) {\n wmset.call(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget.call(store, it) || {};\n };\n has = function (it) {\n return wmhas.call(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return objectHas(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return objectHas(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n\n\n/***/ }),\n/* 17 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(0);\nvar getOwnPropertyDescriptor = __webpack_require__(28).f;\nvar createNonEnumerableProperty = __webpack_require__(5);\nvar redefine = __webpack_require__(9);\nvar setGlobal = __webpack_require__(20);\nvar copyConstructorProperties = __webpack_require__(67);\nvar isForced = __webpack_require__(43);\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.noTargetGet - prevent calling a getter on target\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || setGlobal(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty === typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n // extend global\n redefine(target, key, sourceProperty, options);\n }\n};\n\n\n/***/ }),\n/* 18 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = __webpack_require__(66);\nvar requireObjectCoercible = __webpack_require__(27);\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n\n\n/***/ }),\n/* 19 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar wellKnownSymbol = __webpack_require__(1);\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n\n\n/***/ }),\n/* 20 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(0);\nvar createNonEnumerableProperty = __webpack_require__(5);\n\nmodule.exports = function (key, value) {\n try {\n createNonEnumerableProperty(global, key, value);\n } catch (error) {\n global[key] = value;\n } return value;\n};\n\n\n/***/ }),\n/* 21 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(0);\nvar isObject = __webpack_require__(7);\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n\n\n/***/ }),\n/* 22 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n\n\n/***/ }),\n/* 23 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar store = __webpack_require__(33);\n\nvar functionToString = Function.toString;\n\n// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper\nif (typeof store.inspectSource != 'function') {\n store.inspectSource = function (it) {\n return functionToString.call(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n\n\n/***/ }),\n/* 24 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar shared = __webpack_require__(32);\nvar uid = __webpack_require__(36);\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n\n\n/***/ }),\n/* 25 */\n/***/ (function(module, exports) {\n\nmodule.exports = {};\n\n\n/***/ }),\n/* 26 */\n/***/ (function(module, exports) {\n\nvar ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `ToInteger` abstract operation\n// https://tc39.github.io/ecma262/#sec-tointeger\nmodule.exports = function (argument) {\n return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);\n};\n\n\n/***/ }),\n/* 27 */\n/***/ (function(module, exports) {\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.github.io/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n\n\n/***/ }),\n/* 28 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar DESCRIPTORS = __webpack_require__(8);\nvar propertyIsEnumerableModule = __webpack_require__(65);\nvar createPropertyDescriptor = __webpack_require__(22);\nvar toIndexedObject = __webpack_require__(18);\nvar toPrimitive = __webpack_require__(35);\nvar has = __webpack_require__(3);\nvar IE8_DOM_DEFINE = __webpack_require__(34);\n\nvar nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return nativeGetOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (has(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);\n};\n\n\n/***/ }),\n/* 29 */\n/***/ (function(module, exports) {\n\n// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n\n\n/***/ }),\n/* 30 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar defineProperty = __webpack_require__(12).f;\nvar has = __webpack_require__(3);\nvar wellKnownSymbol = __webpack_require__(1);\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nmodule.exports = function (it, TAG, STATIC) {\n if (it && !has(it = STATIC ? it : it.prototype, TO_STRING_TAG)) {\n defineProperty(it, TO_STRING_TAG, { configurable: true, value: TAG });\n }\n};\n\n\n/***/ }),\n/* 31 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar aFunction = __webpack_require__(15);\n\nvar PromiseCapability = function (C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aFunction(resolve);\n this.reject = aFunction(reject);\n};\n\n// 25.4.1.5 NewPromiseCapability(C)\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n\n\n/***/ }),\n/* 32 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar IS_PURE = __webpack_require__(11);\nvar store = __webpack_require__(33);\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.5.0',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2019 Denis Pushkarev (zloirock.ru)'\n});\n\n\n/***/ }),\n/* 33 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(0);\nvar setGlobal = __webpack_require__(20);\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || setGlobal(SHARED, {});\n\nmodule.exports = store;\n\n\n/***/ }),\n/* 34 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar DESCRIPTORS = __webpack_require__(8);\nvar fails = __webpack_require__(6);\nvar createElement = __webpack_require__(21);\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n\n\n/***/ }),\n/* 35 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(7);\n\n// `ToPrimitive` abstract operation\n// https://tc39.github.io/ecma262/#sec-toprimitive\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (input, PREFERRED_STRING) {\n if (!isObject(input)) return input;\n var fn, val;\n if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;\n if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n\n\n/***/ }),\n/* 36 */\n/***/ (function(module, exports) {\n\nvar id = 0;\nvar postfix = Math.random();\n\nmodule.exports = function (key) {\n return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);\n};\n\n\n/***/ }),\n/* 37 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar fails = __webpack_require__(6);\n\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n // Chrome 38 Symbol has incorrect toString conversion\n // eslint-disable-next-line no-undef\n return !String(Symbol());\n});\n\n\n/***/ }),\n/* 38 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar TO_STRING_TAG_SUPPORT = __webpack_require__(19);\nvar classofRaw = __webpack_require__(13);\nvar wellKnownSymbol = __webpack_require__(1);\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result;\n};\n\n\n/***/ }),\n/* 39 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $ = __webpack_require__(17);\nvar createIteratorConstructor = __webpack_require__(73);\nvar getPrototypeOf = __webpack_require__(45);\nvar setPrototypeOf = __webpack_require__(78);\nvar setToStringTag = __webpack_require__(30);\nvar createNonEnumerableProperty = __webpack_require__(5);\nvar redefine = __webpack_require__(9);\nvar wellKnownSymbol = __webpack_require__(1);\nvar IS_PURE = __webpack_require__(11);\nvar Iterators = __webpack_require__(14);\nvar IteratorsCore = __webpack_require__(44);\n\nvar IteratorPrototype = IteratorsCore.IteratorPrototype;\nvar BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;\nvar ITERATOR = wellKnownSymbol('iterator');\nvar KEYS = 'keys';\nvar VALUES = 'values';\nvar ENTRIES = 'entries';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {\n createIteratorConstructor(IteratorConstructor, NAME, next);\n\n var getIterationMethod = function (KIND) {\n if (KIND === DEFAULT && defaultIterator) return defaultIterator;\n if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype) return IterablePrototype[KIND];\n switch (KIND) {\n case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };\n case VALUES: return function values() { return new IteratorConstructor(this, KIND); };\n case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };\n } return function () { return new IteratorConstructor(this); };\n };\n\n var TO_STRING_TAG = NAME + ' Iterator';\n var INCORRECT_VALUES_NAME = false;\n var IterablePrototype = Iterable.prototype;\n var nativeIterator = IterablePrototype[ITERATOR]\n || IterablePrototype['@@iterator']\n || DEFAULT && IterablePrototype[DEFAULT];\n var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);\n var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;\n var CurrentIteratorPrototype, methods, KEY;\n\n // fix native\n if (anyNativeIterator) {\n CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));\n if (IteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\n if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\n if (setPrototypeOf) {\n setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\n } else if (typeof CurrentIteratorPrototype[ITERATOR] != 'function') {\n createNonEnumerableProperty(CurrentIteratorPrototype, ITERATOR, returnThis);\n }\n }\n // Set @@toStringTag to native iterators\n setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);\n if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis;\n }\n }\n\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n INCORRECT_VALUES_NAME = true;\n defaultIterator = function values() { return nativeIterator.call(this); };\n }\n\n // define iterator\n if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {\n createNonEnumerableProperty(IterablePrototype, ITERATOR, defaultIterator);\n }\n Iterators[NAME] = defaultIterator;\n\n // export additional methods\n if (DEFAULT) {\n methods = {\n values: getIterationMethod(VALUES),\n keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),\n entries: getIterationMethod(ENTRIES)\n };\n if (FORCED) for (KEY in methods) {\n if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {\n redefine(IterablePrototype, KEY, methods[KEY]);\n }\n } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);\n }\n\n return methods;\n};\n\n\n/***/ }),\n/* 40 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(0);\n\nmodule.exports = global;\n\n\n/***/ }),\n/* 41 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar has = __webpack_require__(3);\nvar toIndexedObject = __webpack_require__(18);\nvar indexOf = __webpack_require__(70).indexOf;\nvar hiddenKeys = __webpack_require__(25);\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~indexOf(result, key) || result.push(key);\n }\n return result;\n};\n\n\n/***/ }),\n/* 42 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar toInteger = __webpack_require__(26);\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.github.io/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n\n\n/***/ }),\n/* 43 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar fails = __webpack_require__(6);\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true\n : value == NATIVE ? false\n : typeof detection == 'function' ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n\n\n/***/ }),\n/* 44 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar getPrototypeOf = __webpack_require__(45);\nvar createNonEnumerableProperty = __webpack_require__(5);\nvar has = __webpack_require__(3);\nvar wellKnownSymbol = __webpack_require__(1);\nvar IS_PURE = __webpack_require__(11);\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar BUGGY_SAFARI_ITERATORS = false;\n\nvar returnThis = function () { return this; };\n\n// `%IteratorPrototype%` object\n// https://tc39.github.io/ecma262/#sec-%iteratorprototype%-object\nvar IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;\n\nif ([].keys) {\n arrayIterator = [].keys();\n // Safari 8 has buggy iterators w/o `next`\n if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;\n else {\n PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));\n if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;\n }\n}\n\nif (IteratorPrototype == undefined) IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nif (!IS_PURE && !has(IteratorPrototype, ITERATOR)) {\n createNonEnumerableProperty(IteratorPrototype, ITERATOR, returnThis);\n}\n\nmodule.exports = {\n IteratorPrototype: IteratorPrototype,\n BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\n};\n\n\n/***/ }),\n/* 45 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar has = __webpack_require__(3);\nvar toObject = __webpack_require__(74);\nvar sharedKey = __webpack_require__(24);\nvar CORRECT_PROTOTYPE_GETTER = __webpack_require__(75);\n\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar ObjectPrototype = Object.prototype;\n\n// `Object.getPrototypeOf` method\n// https://tc39.github.io/ecma262/#sec-object.getprototypeof\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectPrototype : null;\n};\n\n\n/***/ }),\n/* 46 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar anObject = __webpack_require__(2);\nvar defineProperties = __webpack_require__(76);\nvar enumBugKeys = __webpack_require__(29);\nvar hiddenKeys = __webpack_require__(25);\nvar html = __webpack_require__(47);\nvar documentCreateElement = __webpack_require__(21);\nvar sharedKey = __webpack_require__(24);\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar PROTOTYPE = 'prototype';\nvar Empty = function () { /* empty */ };\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var length = enumBugKeys.length;\n var lt = '<';\n var script = 'script';\n var gt = '>';\n var js = 'java' + script + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n iframe.src = String(js);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(lt + script + gt + 'document.F=Object' + lt + '/' + script + gt);\n iframeDocument.close();\n createDict = iframeDocument.F;\n while (length--) delete createDict[PROTOTYPE][enumBugKeys[length]];\n return createDict();\n};\n\n// `Object.create` method\n// https://tc39.github.io/ecma262/#sec-object.create\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n Empty[PROTOTYPE] = anObject(O);\n result = new Empty();\n Empty[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = createDict();\n return Properties === undefined ? result : defineProperties(result, Properties);\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n\n/***/ }),\n/* 47 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar getBuiltIn = __webpack_require__(10);\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n\n\n/***/ }),\n/* 48 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(0);\n\nmodule.exports = global.Promise;\n\n\n/***/ }),\n/* 49 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar anObject = __webpack_require__(2);\nvar isArrayIteratorMethod = __webpack_require__(88);\nvar toLength = __webpack_require__(42);\nvar bind = __webpack_require__(50);\nvar getIteratorMethod = __webpack_require__(89);\nvar callWithSafeIterationClosing = __webpack_require__(90);\n\nvar Result = function (stopped, result) {\n this.stopped = stopped;\n this.result = result;\n};\n\nvar iterate = module.exports = function (iterable, fn, that, AS_ENTRIES, IS_ITERATOR) {\n var boundFunction = bind(fn, that, AS_ENTRIES ? 2 : 1);\n var iterator, iterFn, index, length, result, next, step;\n\n if (IS_ITERATOR) {\n iterator = iterable;\n } else {\n iterFn = getIteratorMethod(iterable);\n if (typeof iterFn != 'function') throw TypeError('Target is not iterable');\n // optimisation for array iterators\n if (isArrayIteratorMethod(iterFn)) {\n for (index = 0, length = toLength(iterable.length); length > index; index++) {\n result = AS_ENTRIES\n ? boundFunction(anObject(step = iterable[index])[0], step[1])\n : boundFunction(iterable[index]);\n if (result && result instanceof Result) return result;\n } return new Result(false);\n }\n iterator = iterFn.call(iterable);\n }\n\n next = iterator.next;\n while (!(step = next.call(iterator)).done) {\n result = callWithSafeIterationClosing(iterator, boundFunction, step.value, AS_ENTRIES);\n if (typeof result == 'object' && result && result instanceof Result) return result;\n } return new Result(false);\n};\n\niterate.stop = function (result) {\n return new Result(true, result);\n};\n\n\n/***/ }),\n/* 50 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar aFunction = __webpack_require__(15);\n\n// optional / simple context binding\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 0: return function () {\n return fn.call(that);\n };\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n\n\n/***/ }),\n/* 51 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar anObject = __webpack_require__(2);\nvar aFunction = __webpack_require__(15);\nvar wellKnownSymbol = __webpack_require__(1);\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `SpeciesConstructor` abstract operation\n// https://tc39.github.io/ecma262/#sec-speciesconstructor\nmodule.exports = function (O, defaultConstructor) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? defaultConstructor : aFunction(S);\n};\n\n\n/***/ }),\n/* 52 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(0);\nvar fails = __webpack_require__(6);\nvar classof = __webpack_require__(13);\nvar bind = __webpack_require__(50);\nvar html = __webpack_require__(47);\nvar createElement = __webpack_require__(21);\nvar IS_IOS = __webpack_require__(53);\n\nvar location = global.location;\nvar set = global.setImmediate;\nvar clear = global.clearImmediate;\nvar process = global.process;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar defer, channel, port;\n\nvar run = function (id) {\n // eslint-disable-next-line no-prototype-builtins\n if (queue.hasOwnProperty(id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\n\nvar runner = function (id) {\n return function () {\n run(id);\n };\n};\n\nvar listener = function (event) {\n run(event.data);\n};\n\nvar post = function (id) {\n // old engines have not location.origin\n global.postMessage(id + '', location.protocol + '//' + location.host);\n};\n\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!set || !clear) {\n set = function setImmediate(fn) {\n var args = [];\n var i = 1;\n while (arguments.length > i) args.push(arguments[i++]);\n queue[++counter] = function () {\n // eslint-disable-next-line no-new-func\n (typeof fn == 'function' ? fn : Function(fn)).apply(undefined, args);\n };\n defer(counter);\n return counter;\n };\n clear = function clearImmediate(id) {\n delete queue[id];\n };\n // Node.js 0.8-\n if (classof(process) == 'process') {\n defer = function (id) {\n process.nextTick(runner(id));\n };\n // Sphere (JS game engine) Dispatch API\n } else if (Dispatch && Dispatch.now) {\n defer = function (id) {\n Dispatch.now(runner(id));\n };\n // Browsers with MessageChannel, includes WebWorkers\n // except iOS - https://github.com/zloirock/core-js/issues/624\n } else if (MessageChannel && !IS_IOS) {\n channel = new MessageChannel();\n port = channel.port2;\n channel.port1.onmessage = listener;\n defer = bind(port.postMessage, port, 1);\n // Browsers with postMessage, skip WebWorkers\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts && !fails(post)) {\n defer = post;\n global.addEventListener('message', listener, false);\n // IE8-\n } else if (ONREADYSTATECHANGE in createElement('script')) {\n defer = function (id) {\n html.appendChild(createElement('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run(id);\n };\n };\n // Rest old browsers\n } else {\n defer = function (id) {\n setTimeout(runner(id), 0);\n };\n }\n}\n\nmodule.exports = {\n set: set,\n clear: clear\n};\n\n\n/***/ }),\n/* 53 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar userAgent = __webpack_require__(54);\n\nmodule.exports = /(iphone|ipod|ipad).*applewebkit/i.test(userAgent);\n\n\n/***/ }),\n/* 54 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar getBuiltIn = __webpack_require__(10);\n\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n\n\n/***/ }),\n/* 55 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar anObject = __webpack_require__(2);\nvar isObject = __webpack_require__(7);\nvar newPromiseCapability = __webpack_require__(31);\n\nmodule.exports = function (C, x) {\n anObject(C);\n if (isObject(x) && x.constructor === C) return x;\n var promiseCapability = newPromiseCapability.f(C);\n var resolve = promiseCapability.resolve;\n resolve(x);\n return promiseCapability.promise;\n};\n\n\n/***/ }),\n/* 56 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (exec) {\n try {\n return { error: false, value: exec() };\n } catch (error) {\n return { error: true, value: error };\n }\n};\n\n\n/***/ }),\n/* 57 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(58);\n__webpack_require__(63);\n__webpack_require__(80);\n__webpack_require__(84);\n__webpack_require__(95);\n__webpack_require__(96);\nvar path = __webpack_require__(40);\n\nmodule.exports = path.Promise;\n\n\n/***/ }),\n/* 58 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar TO_STRING_TAG_SUPPORT = __webpack_require__(19);\nvar redefine = __webpack_require__(9);\nvar toString = __webpack_require__(62);\n\n// `Object.prototype.toString` method\n// https://tc39.github.io/ecma262/#sec-object.prototype.tostring\nif (!TO_STRING_TAG_SUPPORT) {\n redefine(Object.prototype, 'toString', toString, { unsafe: true });\n}\n\n\n/***/ }),\n/* 59 */\n/***/ (function(module, exports) {\n\nvar g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n\n\n/***/ }),\n/* 60 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar NATIVE_SYMBOL = __webpack_require__(37);\n\nmodule.exports = NATIVE_SYMBOL\n // eslint-disable-next-line no-undef\n && !Symbol.sham\n // eslint-disable-next-line no-undef\n && typeof Symbol() == 'symbol';\n\n\n/***/ }),\n/* 61 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(0);\nvar inspectSource = __webpack_require__(23);\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));\n\n\n/***/ }),\n/* 62 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar TO_STRING_TAG_SUPPORT = __webpack_require__(19);\nvar classof = __webpack_require__(38);\n\n// `Object.prototype.toString` method implementation\n// https://tc39.github.io/ecma262/#sec-object.prototype.tostring\nmodule.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {\n return '[object ' + classof(this) + ']';\n};\n\n\n/***/ }),\n/* 63 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar charAt = __webpack_require__(64).charAt;\nvar InternalStateModule = __webpack_require__(16);\nvar defineIterator = __webpack_require__(39);\n\nvar STRING_ITERATOR = 'String Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);\n\n// `String.prototype[@@iterator]` method\n// https://tc39.github.io/ecma262/#sec-string.prototype-@@iterator\ndefineIterator(String, 'String', function (iterated) {\n setInternalState(this, {\n type: STRING_ITERATOR,\n string: String(iterated),\n index: 0\n });\n// `%StringIteratorPrototype%.next` method\n// https://tc39.github.io/ecma262/#sec-%stringiteratorprototype%.next\n}, function next() {\n var state = getInternalState(this);\n var string = state.string;\n var index = state.index;\n var point;\n if (index >= string.length) return { value: undefined, done: true };\n point = charAt(string, index);\n state.index += point.length;\n return { value: point, done: false };\n});\n\n\n/***/ }),\n/* 64 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar toInteger = __webpack_require__(26);\nvar requireObjectCoercible = __webpack_require__(27);\n\n// `String.prototype.{ codePointAt, at }` methods implementation\nvar createMethod = function (CONVERT_TO_STRING) {\n return function ($this, pos) {\n var S = String(requireObjectCoercible($this));\n var position = toInteger(pos);\n var size = S.length;\n var first, second;\n if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;\n first = S.charCodeAt(position);\n return first < 0xD800 || first > 0xDBFF || position + 1 === size\n || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF\n ? CONVERT_TO_STRING ? S.charAt(position) : first\n : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;\n };\n};\n\nmodule.exports = {\n // `String.prototype.codePointAt` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.codepointat\n codeAt: createMethod(false),\n // `String.prototype.at` method\n // https://github.com/mathiasbynens/String.prototype.at\n charAt: createMethod(true)\n};\n\n\n/***/ }),\n/* 65 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar nativePropertyIsEnumerable = {}.propertyIsEnumerable;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : nativePropertyIsEnumerable;\n\n\n/***/ }),\n/* 66 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar fails = __webpack_require__(6);\nvar classof = __webpack_require__(13);\n\nvar split = ''.split;\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins\n return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split.call(it, '') : Object(it);\n} : Object;\n\n\n/***/ }),\n/* 67 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar has = __webpack_require__(3);\nvar ownKeys = __webpack_require__(68);\nvar getOwnPropertyDescriptorModule = __webpack_require__(28);\nvar definePropertyModule = __webpack_require__(12);\n\nmodule.exports = function (target, source) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n};\n\n\n/***/ }),\n/* 68 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar getBuiltIn = __webpack_require__(10);\nvar getOwnPropertyNamesModule = __webpack_require__(69);\nvar getOwnPropertySymbolsModule = __webpack_require__(72);\nvar anObject = __webpack_require__(2);\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;\n};\n\n\n/***/ }),\n/* 69 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar internalObjectKeys = __webpack_require__(41);\nvar enumBugKeys = __webpack_require__(29);\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertynames\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n\n\n/***/ }),\n/* 70 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar toIndexedObject = __webpack_require__(18);\nvar toLength = __webpack_require__(42);\nvar toAbsoluteIndex = __webpack_require__(71);\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n\n\n/***/ }),\n/* 71 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar toInteger = __webpack_require__(26);\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toInteger(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n\n\n/***/ }),\n/* 72 */\n/***/ (function(module, exports) {\n\nexports.f = Object.getOwnPropertySymbols;\n\n\n/***/ }),\n/* 73 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar IteratorPrototype = __webpack_require__(44).IteratorPrototype;\nvar create = __webpack_require__(46);\nvar createPropertyDescriptor = __webpack_require__(22);\nvar setToStringTag = __webpack_require__(30);\nvar Iterators = __webpack_require__(14);\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (IteratorConstructor, NAME, next) {\n var TO_STRING_TAG = NAME + ' Iterator';\n IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(1, next) });\n setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);\n Iterators[TO_STRING_TAG] = returnThis;\n return IteratorConstructor;\n};\n\n\n/***/ }),\n/* 74 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar requireObjectCoercible = __webpack_require__(27);\n\n// `ToObject` abstract operation\n// https://tc39.github.io/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return Object(requireObjectCoercible(argument));\n};\n\n\n/***/ }),\n/* 75 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar fails = __webpack_require__(6);\n\nmodule.exports = !fails(function () {\n function F() { /* empty */ }\n F.prototype.constructor = null;\n return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n\n\n/***/ }),\n/* 76 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar DESCRIPTORS = __webpack_require__(8);\nvar definePropertyModule = __webpack_require__(12);\nvar anObject = __webpack_require__(2);\nvar objectKeys = __webpack_require__(77);\n\n// `Object.defineProperties` method\n// https://tc39.github.io/ecma262/#sec-object.defineproperties\nmodule.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], Properties[key]);\n return O;\n};\n\n\n/***/ }),\n/* 77 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar internalObjectKeys = __webpack_require__(41);\nvar enumBugKeys = __webpack_require__(29);\n\n// `Object.keys` method\n// https://tc39.github.io/ecma262/#sec-object.keys\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n\n\n/***/ }),\n/* 78 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar anObject = __webpack_require__(2);\nvar aPossiblePrototype = __webpack_require__(79);\n\n// `Object.setPrototypeOf` method\n// https://tc39.github.io/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n setter = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set;\n setter.call(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n anObject(O);\n aPossiblePrototype(proto);\n if (CORRECT_SETTER) setter.call(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n\n\n/***/ }),\n/* 79 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(7);\n\nmodule.exports = function (it) {\n if (!isObject(it) && it !== null) {\n throw TypeError(\"Can't set \" + String(it) + ' as a prototype');\n } return it;\n};\n\n\n/***/ }),\n/* 80 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(0);\nvar DOMIterables = __webpack_require__(81);\nvar ArrayIteratorMethods = __webpack_require__(82);\nvar createNonEnumerableProperty = __webpack_require__(5);\nvar wellKnownSymbol = __webpack_require__(1);\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar ArrayValues = ArrayIteratorMethods.values;\n\nfor (var COLLECTION_NAME in DOMIterables) {\n var Collection = global[COLLECTION_NAME];\n var CollectionPrototype = Collection && Collection.prototype;\n if (CollectionPrototype) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[ITERATOR] !== ArrayValues) try {\n createNonEnumerableProperty(CollectionPrototype, ITERATOR, ArrayValues);\n } catch (error) {\n CollectionPrototype[ITERATOR] = ArrayValues;\n }\n if (!CollectionPrototype[TO_STRING_TAG]) {\n createNonEnumerableProperty(CollectionPrototype, TO_STRING_TAG, COLLECTION_NAME);\n }\n if (DOMIterables[COLLECTION_NAME]) for (var METHOD_NAME in ArrayIteratorMethods) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME]) try {\n createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]);\n } catch (error) {\n CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME];\n }\n }\n }\n}\n\n\n/***/ }),\n/* 81 */\n/***/ (function(module, exports) {\n\n// iterable DOM collections\n// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods\nmodule.exports = {\n CSSRuleList: 0,\n CSSStyleDeclaration: 0,\n CSSValueList: 0,\n ClientRectList: 0,\n DOMRectList: 0,\n DOMStringList: 0,\n DOMTokenList: 1,\n DataTransferItemList: 0,\n FileList: 0,\n HTMLAllCollection: 0,\n HTMLCollection: 0,\n HTMLFormElement: 0,\n HTMLSelectElement: 0,\n MediaList: 0,\n MimeTypeArray: 0,\n NamedNodeMap: 0,\n NodeList: 1,\n PaintRequestList: 0,\n Plugin: 0,\n PluginArray: 0,\n SVGLengthList: 0,\n SVGNumberList: 0,\n SVGPathSegList: 0,\n SVGPointList: 0,\n SVGStringList: 0,\n SVGTransformList: 0,\n SourceBufferList: 0,\n StyleSheetList: 0,\n TextTrackCueList: 0,\n TextTrackList: 0,\n TouchList: 0\n};\n\n\n/***/ }),\n/* 82 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar toIndexedObject = __webpack_require__(18);\nvar addToUnscopables = __webpack_require__(83);\nvar Iterators = __webpack_require__(14);\nvar InternalStateModule = __webpack_require__(16);\nvar defineIterator = __webpack_require__(39);\n\nvar ARRAY_ITERATOR = 'Array Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);\n\n// `Array.prototype.entries` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.entries\n// `Array.prototype.keys` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.keys\n// `Array.prototype.values` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.values\n// `Array.prototype[@@iterator]` method\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@iterator\n// `CreateArrayIterator` internal method\n// https://tc39.github.io/ecma262/#sec-createarrayiterator\nmodule.exports = defineIterator(Array, 'Array', function (iterated, kind) {\n setInternalState(this, {\n type: ARRAY_ITERATOR,\n target: toIndexedObject(iterated), // target\n index: 0, // next index\n kind: kind // kind\n });\n// `%ArrayIteratorPrototype%.next` method\n// https://tc39.github.io/ecma262/#sec-%arrayiteratorprototype%.next\n}, function () {\n var state = getInternalState(this);\n var target = state.target;\n var kind = state.kind;\n var index = state.index++;\n if (!target || index >= target.length) {\n state.target = undefined;\n return { value: undefined, done: true };\n }\n if (kind == 'keys') return { value: index, done: false };\n if (kind == 'values') return { value: target[index], done: false };\n return { value: [index, target[index]], done: false };\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values%\n// https://tc39.github.io/ecma262/#sec-createunmappedargumentsobject\n// https://tc39.github.io/ecma262/#sec-createmappedargumentsobject\nIterators.Arguments = Iterators.Array;\n\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n\n/***/ }),\n/* 83 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar wellKnownSymbol = __webpack_require__(1);\nvar create = __webpack_require__(46);\nvar createNonEnumerableProperty = __webpack_require__(5);\n\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\n\n// Array.prototype[@@unscopables]\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\nif (ArrayPrototype[UNSCOPABLES] == undefined) {\n createNonEnumerableProperty(ArrayPrototype, UNSCOPABLES, create(null));\n}\n\n// add a key to Array.prototype[@@unscopables]\nmodule.exports = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n\n\n/***/ }),\n/* 84 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $ = __webpack_require__(17);\nvar IS_PURE = __webpack_require__(11);\nvar global = __webpack_require__(0);\nvar getBuiltIn = __webpack_require__(10);\nvar NativePromise = __webpack_require__(48);\nvar redefine = __webpack_require__(9);\nvar redefineAll = __webpack_require__(85);\nvar setToStringTag = __webpack_require__(30);\nvar setSpecies = __webpack_require__(86);\nvar isObject = __webpack_require__(7);\nvar aFunction = __webpack_require__(15);\nvar anInstance = __webpack_require__(87);\nvar classof = __webpack_require__(13);\nvar inspectSource = __webpack_require__(23);\nvar iterate = __webpack_require__(49);\nvar checkCorrectnessOfIteration = __webpack_require__(91);\nvar speciesConstructor = __webpack_require__(51);\nvar task = __webpack_require__(52).set;\nvar microtask = __webpack_require__(92);\nvar promiseResolve = __webpack_require__(55);\nvar hostReportErrors = __webpack_require__(93);\nvar newPromiseCapabilityModule = __webpack_require__(31);\nvar perform = __webpack_require__(56);\nvar InternalStateModule = __webpack_require__(16);\nvar isForced = __webpack_require__(43);\nvar wellKnownSymbol = __webpack_require__(1);\nvar V8_VERSION = __webpack_require__(94);\n\nvar SPECIES = wellKnownSymbol('species');\nvar PROMISE = 'Promise';\nvar getInternalState = InternalStateModule.get;\nvar setInternalState = InternalStateModule.set;\nvar getInternalPromiseState = InternalStateModule.getterFor(PROMISE);\nvar PromiseConstructor = NativePromise;\nvar TypeError = global.TypeError;\nvar document = global.document;\nvar process = global.process;\nvar $fetch = getBuiltIn('fetch');\nvar newPromiseCapability = newPromiseCapabilityModule.f;\nvar newGenericPromiseCapability = newPromiseCapability;\nvar IS_NODE = classof(process) == 'process';\nvar DISPATCH_EVENT = !!(document && document.createEvent && global.dispatchEvent);\nvar UNHANDLED_REJECTION = 'unhandledrejection';\nvar REJECTION_HANDLED = 'rejectionhandled';\nvar PENDING = 0;\nvar FULFILLED = 1;\nvar REJECTED = 2;\nvar HANDLED = 1;\nvar UNHANDLED = 2;\nvar Internal, OwnPromiseCapability, PromiseWrapper, nativeThen;\n\nvar FORCED = isForced(PROMISE, function () {\n var GLOBAL_CORE_JS_PROMISE = inspectSource(PromiseConstructor) !== String(PromiseConstructor);\n if (!GLOBAL_CORE_JS_PROMISE) {\n // V8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables\n // https://bugs.chromium.org/p/chromium/issues/detail?id=830565\n // We can't detect it synchronously, so just check versions\n if (V8_VERSION === 66) return true;\n // Unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n if (!IS_NODE && typeof PromiseRejectionEvent != 'function') return true;\n }\n // We need Promise#finally in the pure version for preventing prototype pollution\n if (IS_PURE && !PromiseConstructor.prototype['finally']) return true;\n // We can't use @@species feature detection in V8 since it causes\n // deoptimization and performance degradation\n // https://github.com/zloirock/core-js/issues/679\n if (V8_VERSION >= 51 && /native code/.test(PromiseConstructor)) return false;\n // Detect correctness of subclassing with @@species support\n var promise = PromiseConstructor.resolve(1);\n var FakePromise = function (exec) {\n exec(function () { /* empty */ }, function () { /* empty */ });\n };\n var constructor = promise.constructor = {};\n constructor[SPECIES] = FakePromise;\n return !(promise.then(function () { /* empty */ }) instanceof FakePromise);\n});\n\nvar INCORRECT_ITERATION = FORCED || !checkCorrectnessOfIteration(function (iterable) {\n PromiseConstructor.all(iterable)['catch'](function () { /* empty */ });\n});\n\n// helpers\nvar isThenable = function (it) {\n var then;\n return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\n\nvar notify = function (promise, state, isReject) {\n if (state.notified) return;\n state.notified = true;\n var chain = state.reactions;\n microtask(function () {\n var value = state.value;\n var ok = state.state == FULFILLED;\n var index = 0;\n // variable length - can't use forEach\n while (chain.length > index) {\n var reaction = chain[index++];\n var handler = ok ? reaction.ok : reaction.fail;\n var resolve = reaction.resolve;\n var reject = reaction.reject;\n var domain = reaction.domain;\n var result, then, exited;\n try {\n if (handler) {\n if (!ok) {\n if (state.rejection === UNHANDLED) onHandleUnhandled(promise, state);\n state.rejection = HANDLED;\n }\n if (handler === true) result = value;\n else {\n if (domain) domain.enter();\n result = handler(value); // can throw\n if (domain) {\n domain.exit();\n exited = true;\n }\n }\n if (result === reaction.promise) {\n reject(TypeError('Promise-chain cycle'));\n } else if (then = isThenable(result)) {\n then.call(result, resolve, reject);\n } else resolve(result);\n } else reject(value);\n } catch (error) {\n if (domain && !exited) domain.exit();\n reject(error);\n }\n }\n state.reactions = [];\n state.notified = false;\n if (isReject && !state.rejection) onUnhandled(promise, state);\n });\n};\n\nvar dispatchEvent = function (name, promise, reason) {\n var event, handler;\n if (DISPATCH_EVENT) {\n event = document.createEvent('Event');\n event.promise = promise;\n event.reason = reason;\n event.initEvent(name, false, true);\n global.dispatchEvent(event);\n } else event = { promise: promise, reason: reason };\n if (handler = global['on' + name]) handler(event);\n else if (name === UNHANDLED_REJECTION) hostReportErrors('Unhandled promise rejection', reason);\n};\n\nvar onUnhandled = function (promise, state) {\n task.call(global, function () {\n var value = state.value;\n var IS_UNHANDLED = isUnhandled(state);\n var result;\n if (IS_UNHANDLED) {\n result = perform(function () {\n if (IS_NODE) {\n process.emit('unhandledRejection', value, promise);\n } else dispatchEvent(UNHANDLED_REJECTION, promise, value);\n });\n // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n state.rejection = IS_NODE || isUnhandled(state) ? UNHANDLED : HANDLED;\n if (result.error) throw result.value;\n }\n });\n};\n\nvar isUnhandled = function (state) {\n return state.rejection !== HANDLED && !state.parent;\n};\n\nvar onHandleUnhandled = function (promise, state) {\n task.call(global, function () {\n if (IS_NODE) {\n process.emit('rejectionHandled', promise);\n } else dispatchEvent(REJECTION_HANDLED, promise, state.value);\n });\n};\n\nvar bind = function (fn, promise, state, unwrap) {\n return function (value) {\n fn(promise, state, value, unwrap);\n };\n};\n\nvar internalReject = function (promise, state, value, unwrap) {\n if (state.done) return;\n state.done = true;\n if (unwrap) state = unwrap;\n state.value = value;\n state.state = REJECTED;\n notify(promise, state, true);\n};\n\nvar internalResolve = function (promise, state, value, unwrap) {\n if (state.done) return;\n state.done = true;\n if (unwrap) state = unwrap;\n try {\n if (promise === value) throw TypeError(\"Promise can't be resolved itself\");\n var then = isThenable(value);\n if (then) {\n microtask(function () {\n var wrapper = { done: false };\n try {\n then.call(value,\n bind(internalResolve, promise, wrapper, state),\n bind(internalReject, promise, wrapper, state)\n );\n } catch (error) {\n internalReject(promise, wrapper, error, state);\n }\n });\n } else {\n state.value = value;\n state.state = FULFILLED;\n notify(promise, state, false);\n }\n } catch (error) {\n internalReject(promise, { done: false }, error, state);\n }\n};\n\n// constructor polyfill\nif (FORCED) {\n // 25.4.3.1 Promise(executor)\n PromiseConstructor = function Promise(executor) {\n anInstance(this, PromiseConstructor, PROMISE);\n aFunction(executor);\n Internal.call(this);\n var state = getInternalState(this);\n try {\n executor(bind(internalResolve, this, state), bind(internalReject, this, state));\n } catch (error) {\n internalReject(this, state, error);\n }\n };\n // eslint-disable-next-line no-unused-vars\n Internal = function Promise(executor) {\n setInternalState(this, {\n type: PROMISE,\n done: false,\n notified: false,\n parent: false,\n reactions: [],\n rejection: false,\n state: PENDING,\n value: undefined\n });\n };\n Internal.prototype = redefineAll(PromiseConstructor.prototype, {\n // `Promise.prototype.then` method\n // https://tc39.github.io/ecma262/#sec-promise.prototype.then\n then: function then(onFulfilled, onRejected) {\n var state = getInternalPromiseState(this);\n var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor));\n reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n reaction.fail = typeof onRejected == 'function' && onRejected;\n reaction.domain = IS_NODE ? process.domain : undefined;\n state.parent = true;\n state.reactions.push(reaction);\n if (state.state != PENDING) notify(this, state, false);\n return reaction.promise;\n },\n // `Promise.prototype.catch` method\n // https://tc39.github.io/ecma262/#sec-promise.prototype.catch\n 'catch': function (onRejected) {\n return this.then(undefined, onRejected);\n }\n });\n OwnPromiseCapability = function () {\n var promise = new Internal();\n var state = getInternalState(promise);\n this.promise = promise;\n this.resolve = bind(internalResolve, promise, state);\n this.reject = bind(internalReject, promise, state);\n };\n newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n return C === PromiseConstructor || C === PromiseWrapper\n ? new OwnPromiseCapability(C)\n : newGenericPromiseCapability(C);\n };\n\n if (!IS_PURE && typeof NativePromise == 'function') {\n nativeThen = NativePromise.prototype.then;\n\n // wrap native Promise#then for native async functions\n redefine(NativePromise.prototype, 'then', function then(onFulfilled, onRejected) {\n var that = this;\n return new PromiseConstructor(function (resolve, reject) {\n nativeThen.call(that, resolve, reject);\n }).then(onFulfilled, onRejected);\n // https://github.com/zloirock/core-js/issues/640\n }, { unsafe: true });\n\n // wrap fetch result\n if (typeof $fetch == 'function') $({ global: true, enumerable: true, forced: true }, {\n // eslint-disable-next-line no-unused-vars\n fetch: function fetch(input /* , init */) {\n return promiseResolve(PromiseConstructor, $fetch.apply(global, arguments));\n }\n });\n }\n}\n\n$({ global: true, wrap: true, forced: FORCED }, {\n Promise: PromiseConstructor\n});\n\nsetToStringTag(PromiseConstructor, PROMISE, false, true);\nsetSpecies(PROMISE);\n\nPromiseWrapper = getBuiltIn(PROMISE);\n\n// statics\n$({ target: PROMISE, stat: true, forced: FORCED }, {\n // `Promise.reject` method\n // https://tc39.github.io/ecma262/#sec-promise.reject\n reject: function reject(r) {\n var capability = newPromiseCapability(this);\n capability.reject.call(undefined, r);\n return capability.promise;\n }\n});\n\n$({ target: PROMISE, stat: true, forced: IS_PURE || FORCED }, {\n // `Promise.resolve` method\n // https://tc39.github.io/ecma262/#sec-promise.resolve\n resolve: function resolve(x) {\n return promiseResolve(IS_PURE && this === PromiseWrapper ? PromiseConstructor : this, x);\n }\n});\n\n$({ target: PROMISE, stat: true, forced: INCORRECT_ITERATION }, {\n // `Promise.all` method\n // https://tc39.github.io/ecma262/#sec-promise.all\n all: function all(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aFunction(C.resolve);\n var values = [];\n var counter = 0;\n var remaining = 1;\n iterate(iterable, function (promise) {\n var index = counter++;\n var alreadyCalled = false;\n values.push(undefined);\n remaining++;\n $promiseResolve.call(C, promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if (result.error) reject(result.value);\n return capability.promise;\n },\n // `Promise.race` method\n // https://tc39.github.io/ecma262/#sec-promise.race\n race: function race(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aFunction(C.resolve);\n iterate(iterable, function (promise) {\n $promiseResolve.call(C, promise).then(capability.resolve, reject);\n });\n });\n if (result.error) reject(result.value);\n return capability.promise;\n }\n});\n\n\n/***/ }),\n/* 85 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar redefine = __webpack_require__(9);\n\nmodule.exports = function (target, src, options) {\n for (var key in src) redefine(target, key, src[key], options);\n return target;\n};\n\n\n/***/ }),\n/* 86 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar getBuiltIn = __webpack_require__(10);\nvar definePropertyModule = __webpack_require__(12);\nvar wellKnownSymbol = __webpack_require__(1);\nvar DESCRIPTORS = __webpack_require__(8);\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (CONSTRUCTOR_NAME) {\n var Constructor = getBuiltIn(CONSTRUCTOR_NAME);\n var defineProperty = definePropertyModule.f;\n\n if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {\n defineProperty(Constructor, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n }\n};\n\n\n/***/ }),\n/* 87 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (it, Constructor, name) {\n if (!(it instanceof Constructor)) {\n throw TypeError('Incorrect ' + (name ? name + ' ' : '') + 'invocation');\n } return it;\n};\n\n\n/***/ }),\n/* 88 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar wellKnownSymbol = __webpack_require__(1);\nvar Iterators = __webpack_require__(14);\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\n\n// check on default Array iterator\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n};\n\n\n/***/ }),\n/* 89 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar classof = __webpack_require__(38);\nvar Iterators = __webpack_require__(14);\nvar wellKnownSymbol = __webpack_require__(1);\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = function (it) {\n if (it != undefined) return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n\n\n/***/ }),\n/* 90 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar anObject = __webpack_require__(2);\n\n// call something on iterator step with safe closing on error\nmodule.exports = function (iterator, fn, value, ENTRIES) {\n try {\n return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value);\n // 7.4.6 IteratorClose(iterator, completion)\n } catch (error) {\n var returnMethod = iterator['return'];\n if (returnMethod !== undefined) anObject(returnMethod.call(iterator));\n throw error;\n }\n};\n\n\n/***/ }),\n/* 91 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar wellKnownSymbol = __webpack_require__(1);\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var called = 0;\n var iteratorWithReturn = {\n next: function () {\n return { done: !!called++ };\n },\n 'return': function () {\n SAFE_CLOSING = true;\n }\n };\n iteratorWithReturn[ITERATOR] = function () {\n return this;\n };\n // eslint-disable-next-line no-throw-literal\n Array.from(iteratorWithReturn, function () { throw 2; });\n} catch (error) { /* empty */ }\n\nmodule.exports = function (exec, SKIP_CLOSING) {\n if (!SKIP_CLOSING && !SAFE_CLOSING) return false;\n var ITERATION_SUPPORT = false;\n try {\n var object = {};\n object[ITERATOR] = function () {\n return {\n next: function () {\n return { done: ITERATION_SUPPORT = true };\n }\n };\n };\n exec(object);\n } catch (error) { /* empty */ }\n return ITERATION_SUPPORT;\n};\n\n\n/***/ }),\n/* 92 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(0);\nvar getOwnPropertyDescriptor = __webpack_require__(28).f;\nvar classof = __webpack_require__(13);\nvar macrotask = __webpack_require__(52).set;\nvar IS_IOS = __webpack_require__(53);\n\nvar MutationObserver = global.MutationObserver || global.WebKitMutationObserver;\nvar process = global.process;\nvar Promise = global.Promise;\nvar IS_NODE = classof(process) == 'process';\n// Node.js 11 shows ExperimentalWarning on getting `queueMicrotask`\nvar queueMicrotaskDescriptor = getOwnPropertyDescriptor(global, 'queueMicrotask');\nvar queueMicrotask = queueMicrotaskDescriptor && queueMicrotaskDescriptor.value;\n\nvar flush, head, last, notify, toggle, node, promise, then;\n\n// modern engines have queueMicrotask method\nif (!queueMicrotask) {\n flush = function () {\n var parent, fn;\n if (IS_NODE && (parent = process.domain)) parent.exit();\n while (head) {\n fn = head.fn;\n head = head.next;\n try {\n fn();\n } catch (error) {\n if (head) notify();\n else last = undefined;\n throw error;\n }\n } last = undefined;\n if (parent) parent.enter();\n };\n\n // Node.js\n if (IS_NODE) {\n notify = function () {\n process.nextTick(flush);\n };\n // browsers with MutationObserver, except iOS - https://github.com/zloirock/core-js/issues/339\n } else if (MutationObserver && !IS_IOS) {\n toggle = true;\n node = document.createTextNode('');\n new MutationObserver(flush).observe(node, { characterData: true });\n notify = function () {\n node.data = toggle = !toggle;\n };\n // environments with maybe non-completely correct, but existent Promise\n } else if (Promise && Promise.resolve) {\n // Promise.resolve without an argument throws an error in LG WebOS 2\n promise = Promise.resolve(undefined);\n then = promise.then;\n notify = function () {\n then.call(promise, flush);\n };\n // for other environments - macrotask based on:\n // - setImmediate\n // - MessageChannel\n // - window.postMessag\n // - onreadystatechange\n // - setTimeout\n } else {\n notify = function () {\n // strange IE + webpack dev server bug - use .call(global)\n macrotask.call(global, flush);\n };\n }\n}\n\nmodule.exports = queueMicrotask || function (fn) {\n var task = { fn: fn, next: undefined };\n if (last) last.next = task;\n if (!head) {\n head = task;\n notify();\n } last = task;\n};\n\n\n/***/ }),\n/* 93 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(0);\n\nmodule.exports = function (a, b) {\n var console = global.console;\n if (console && console.error) {\n arguments.length === 1 ? console.error(a) : console.error(a, b);\n }\n};\n\n\n/***/ }),\n/* 94 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(0);\nvar userAgent = __webpack_require__(54);\n\nvar process = global.process;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n version = match[0] + match[1];\n} else if (userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = match[1];\n }\n}\n\nmodule.exports = version && +version;\n\n\n/***/ }),\n/* 95 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $ = __webpack_require__(17);\nvar aFunction = __webpack_require__(15);\nvar newPromiseCapabilityModule = __webpack_require__(31);\nvar perform = __webpack_require__(56);\nvar iterate = __webpack_require__(49);\n\n// `Promise.allSettled` method\n// https://github.com/tc39/proposal-promise-allSettled\n$({ target: 'Promise', stat: true }, {\n allSettled: function allSettled(iterable) {\n var C = this;\n var capability = newPromiseCapabilityModule.f(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var promiseResolve = aFunction(C.resolve);\n var values = [];\n var counter = 0;\n var remaining = 1;\n iterate(iterable, function (promise) {\n var index = counter++;\n var alreadyCalled = false;\n values.push(undefined);\n remaining++;\n promiseResolve.call(C, promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[index] = { status: 'fulfilled', value: value };\n --remaining || resolve(values);\n }, function (e) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[index] = { status: 'rejected', reason: e };\n --remaining || resolve(values);\n });\n });\n --remaining || resolve(values);\n });\n if (result.error) reject(result.value);\n return capability.promise;\n }\n});\n\n\n/***/ }),\n/* 96 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $ = __webpack_require__(17);\nvar IS_PURE = __webpack_require__(11);\nvar NativePromise = __webpack_require__(48);\nvar fails = __webpack_require__(6);\nvar getBuiltIn = __webpack_require__(10);\nvar speciesConstructor = __webpack_require__(51);\nvar promiseResolve = __webpack_require__(55);\nvar redefine = __webpack_require__(9);\n\n// Safari bug https://bugs.webkit.org/show_bug.cgi?id=200829\nvar NON_GENERIC = !!NativePromise && fails(function () {\n NativePromise.prototype['finally'].call({ then: function () { /* empty */ } }, function () { /* empty */ });\n});\n\n// `Promise.prototype.finally` method\n// https://tc39.github.io/ecma262/#sec-promise.prototype.finally\n$({ target: 'Promise', proto: true, real: true, forced: NON_GENERIC }, {\n 'finally': function (onFinally) {\n var C = speciesConstructor(this, getBuiltIn('Promise'));\n var isFunction = typeof onFinally == 'function';\n return this.then(\n isFunction ? function (x) {\n return promiseResolve(C, onFinally()).then(function () { return x; });\n } : onFinally,\n isFunction ? function (e) {\n return promiseResolve(C, onFinally()).then(function () { throw e; });\n } : onFinally\n );\n }\n});\n\n// patch native Promise.prototype for native async functions\nif (!IS_PURE && typeof NativePromise == 'function' && !NativePromise.prototype['finally']) {\n redefine(NativePromise.prototype, 'finally', getBuiltIn('Promise').prototype['finally']);\n}\n\n\n/***/ }),\n/* 97 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n\n// CONCATENATED MODULE: ./node_modules/tslib/tslib.es6.js\n/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nfunction __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nvar __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nfunction __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nfunction __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nfunction __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nfunction __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nfunction __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nfunction __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nfunction __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nfunction __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nfunction __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nfunction __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nfunction __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nfunction __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nfunction __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nfunction __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nfunction __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nfunction __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nfunction __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nfunction __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\n// EXTERNAL MODULE: ./node_modules/lunr/lunr.js\nvar lunr = __webpack_require__(4);\n\n// CONCATENATED MODULE: ./node_modules/workerize-loader/dist/rpc-worker-loader.js!./node_modules/ts-loader??ref--4-0!./node_modules/babel-loader/lib??ref--4-1!./src/services/SearchWorker.worker.ts\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"add\", function() { return add; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"done\", function() { return done; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"toJS\", function() { return toJS; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"load\", function() { return load; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"search\", function() { return search; });\n\n\ntry {\n // tslint:disable-next-line\n __webpack_require__(57); // bundle into worker\n}\ncatch (_) { } // nope\n/* just for better typings */\nvar Worker = /** @class */ (function () {\n function Worker() {\n this.add = add;\n this.done = done;\n this.search = search;\n this.toJS = toJS;\n this.load = load;\n }\n return Worker;\n}());\n/* harmony default export */ var SearchWorker_worker = __webpack_exports__[\"default\"] = (Worker);\nvar store = [];\nvar resolveIndex = function () {\n throw new Error('Should not be called');\n};\nvar index = new Promise(function (resolve) {\n resolveIndex = resolve;\n});\nlunr[\"tokenizer\"].separator = /\\s+/;\nvar builder = new lunr[\"Builder\"]();\nbuilder.field('title');\nbuilder.field('description');\nbuilder.ref('ref');\nbuilder.pipeline.add(lunr[\"trimmer\"], lunr[\"stopWordFilter\"], lunr[\"stemmer\"]);\nvar expandTerm = function (term) { return '*' + lunr[\"stemmer\"](new lunr[\"Token\"](term, {})) + '*'; };\nfunction add(title, description, meta) {\n var ref = store.push(meta) - 1;\n var item = {\n title: title.toLowerCase(),\n description: description.toLowerCase(),\n ref: ref\n };\n builder.add(item);\n}\nfunction done() {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n resolveIndex(builder.build());\n return [2 /*return*/];\n });\n });\n}\nfunction toJS() {\n return __awaiter(this, void 0, void 0, function () {\n var _a;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n _a = {\n store: store\n };\n return [4 /*yield*/, index];\n case 1: return [2 /*return*/, (_a.index = (_b.sent()).toJSON(),\n _a)];\n }\n });\n });\n}\nfunction load(state) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n store = state.store;\n resolveIndex(lunr[\"Index\"].load(state.index));\n return [2 /*return*/];\n });\n });\n}\nfunction search(q, limit) {\n if (limit === void 0) { limit = 0; }\n return __awaiter(this, void 0, void 0, function () {\n var searchResults;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (q.trim().length === 0) {\n return [2 /*return*/, []];\n }\n return [4 /*yield*/, index];\n case 1:\n searchResults = (_a.sent()).query(function (t) {\n q.trim().toLowerCase().split(/\\s+/).forEach(function (term) {\n var exp = expandTerm(term);\n t.term(exp, {});\n });\n });\n if (limit > 0) {\n searchResults = searchResults.slice(0, limit);\n }\n return [2 /*return*/, searchResults.map(function (res) { return ({\n meta: store[res.ref],\n score: res.score\n }); })];\n }\n });\n });\n}\n\naddEventListener('message', function (e) {var ref = e.data;var type = ref.type;var method = ref.method;var id = ref.id;var params = ref.params;var f,p;if (type === 'RPC' && method) {if (f = __webpack_exports__[method]) {p = Promise.resolve().then(function () { return f.apply(__webpack_exports__, params); });} else {p = Promise.reject('No such method');}p.then(function (result) {postMessage({type: 'RPC',id: id,result: result});}).catch(function (e) {var error = {message: e};if (e.stack) {error.message = e.message;error.stack = e.stack;error.name = e.name;}postMessage({type: 'RPC',id: id,error: error});});}});postMessage({type: 'RPC',method: 'ready'});\n\n/***/ })\n/******/ ]);\n//# sourceMappingURL=ba7dfd4bc26076b4ff3d.worker.js.map"])), { name: "[hash].worker.js" })
|
|
6447
|
+
var w = new Worker(URL.createObjectURL(new Blob(["/*!\n * ReDoc - OpenAPI/Swagger-generated API Reference Documentation\n * -------------------------------------------------------------\n * Version: \"2.0.0-rc.25\"\n * Repo: https://github.com/Redocly/redoc\n */\n/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 97);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/* WEBPACK VAR INJECTION */(function(global) {var check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line no-undef\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n // eslint-disable-next-line no-new-func\n Function('return this')();\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(59)))\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(0);\nvar shared = __webpack_require__(32);\nvar has = __webpack_require__(3);\nvar uid = __webpack_require__(36);\nvar NATIVE_SYMBOL = __webpack_require__(37);\nvar USE_SYMBOL_AS_UID = __webpack_require__(60);\n\nvar WellKnownSymbolsStore = shared('wks');\nvar Symbol = global.Symbol;\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!has(WellKnownSymbolsStore, name)) {\n if (NATIVE_SYMBOL && has(Symbol, name)) WellKnownSymbolsStore[name] = Symbol[name];\n else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);\n } return WellKnownSymbolsStore[name];\n};\n\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(7);\n\nmodule.exports = function (it) {\n if (!isObject(it)) {\n throw TypeError(String(it) + ' is not an object');\n } return it;\n};\n\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports) {\n\nvar hasOwnProperty = {}.hasOwnProperty;\n\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_RESULT__;/**\n * lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as bright - 2.3.8\n * Copyright (C) 2019 Oliver Nightingale\n * @license MIT\n */\n\n;(function(){\n\n/**\n * A convenience function for configuring and constructing\n * a new lunr Index.\n *\n * A lunr.Builder instance is created and the pipeline setup\n * with a trimmer, stop word filter and stemmer.\n *\n * This builder object is yielded to the configuration function\n * that is passed as a parameter, allowing the list of fields\n * and other builder parameters to be customised.\n *\n * All documents _must_ be added within the passed config function.\n *\n * @example\n * var idx = lunr(function () {\n * this.field('title')\n * this.field('body')\n * this.ref('id')\n *\n * documents.forEach(function (doc) {\n * this.add(doc)\n * }, this)\n * })\n *\n * @see {@link lunr.Builder}\n * @see {@link lunr.Pipeline}\n * @see {@link lunr.trimmer}\n * @see {@link lunr.stopWordFilter}\n * @see {@link lunr.stemmer}\n * @namespace {function} lunr\n */\nvar lunr = function (config) {\n var builder = new lunr.Builder\n\n builder.pipeline.add(\n lunr.trimmer,\n lunr.stopWordFilter,\n lunr.stemmer\n )\n\n builder.searchPipeline.add(\n lunr.stemmer\n )\n\n config.call(builder, builder)\n return builder.build()\n}\n\nlunr.version = \"2.3.8\"\n/*!\n * lunr.utils\n * Copyright (C) 2019 Oliver Nightingale\n */\n\n/**\n * A namespace containing utils for the rest of the lunr library\n * @namespace lunr.utils\n */\nlunr.utils = {}\n\n/**\n * Print a warning message to the console.\n *\n * @param {String} message The message to be printed.\n * @memberOf lunr.utils\n * @function\n */\nlunr.utils.warn = (function (global) {\n /* eslint-disable no-console */\n return function (message) {\n if (global.console && console.warn) {\n console.warn(message)\n }\n }\n /* eslint-enable no-console */\n})(this)\n\n/**\n * Convert an object to a string.\n *\n * In the case of `null` and `undefined` the function returns\n * the empty string, in all other cases the result of calling\n * `toString` on the passed object is returned.\n *\n * @param {Any} obj The object to convert to a string.\n * @return {String} string representation of the passed object.\n * @memberOf lunr.utils\n */\nlunr.utils.asString = function (obj) {\n if (obj === void 0 || obj === null) {\n return \"\"\n } else {\n return obj.toString()\n }\n}\n\n/**\n * Clones an object.\n *\n * Will create a copy of an existing object such that any mutations\n * on the copy cannot affect the original.\n *\n * Only shallow objects are supported, passing a nested object to this\n * function will cause a TypeError.\n *\n * Objects with primitives, and arrays of primitives are supported.\n *\n * @param {Object} obj The object to clone.\n * @return {Object} a clone of the passed object.\n * @throws {TypeError} when a nested object is passed.\n * @memberOf Utils\n */\nlunr.utils.clone = function (obj) {\n if (obj === null || obj === undefined) {\n return obj\n }\n\n var clone = Object.create(null),\n keys = Object.keys(obj)\n\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i],\n val = obj[key]\n\n if (Array.isArray(val)) {\n clone[key] = val.slice()\n continue\n }\n\n if (typeof val === 'string' ||\n typeof val === 'number' ||\n typeof val === 'boolean') {\n clone[key] = val\n continue\n }\n\n throw new TypeError(\"clone is not deep and does not support nested objects\")\n }\n\n return clone\n}\nlunr.FieldRef = function (docRef, fieldName, stringValue) {\n this.docRef = docRef\n this.fieldName = fieldName\n this._stringValue = stringValue\n}\n\nlunr.FieldRef.joiner = \"/\"\n\nlunr.FieldRef.fromString = function (s) {\n var n = s.indexOf(lunr.FieldRef.joiner)\n\n if (n === -1) {\n throw \"malformed field ref string\"\n }\n\n var fieldRef = s.slice(0, n),\n docRef = s.slice(n + 1)\n\n return new lunr.FieldRef (docRef, fieldRef, s)\n}\n\nlunr.FieldRef.prototype.toString = function () {\n if (this._stringValue == undefined) {\n this._stringValue = this.fieldName + lunr.FieldRef.joiner + this.docRef\n }\n\n return this._stringValue\n}\n/*!\n * lunr.Set\n * Copyright (C) 2019 Oliver Nightingale\n */\n\n/**\n * A lunr set.\n *\n * @constructor\n */\nlunr.Set = function (elements) {\n this.elements = Object.create(null)\n\n if (elements) {\n this.length = elements.length\n\n for (var i = 0; i < this.length; i++) {\n this.elements[elements[i]] = true\n }\n } else {\n this.length = 0\n }\n}\n\n/**\n * A complete set that contains all elements.\n *\n * @static\n * @readonly\n * @type {lunr.Set}\n */\nlunr.Set.complete = {\n intersect: function (other) {\n return other\n },\n\n union: function (other) {\n return other\n },\n\n contains: function () {\n return true\n }\n}\n\n/**\n * An empty set that contains no elements.\n *\n * @static\n * @readonly\n * @type {lunr.Set}\n */\nlunr.Set.empty = {\n intersect: function () {\n return this\n },\n\n union: function (other) {\n return other\n },\n\n contains: function () {\n return false\n }\n}\n\n/**\n * Returns true if this set contains the specified object.\n *\n * @param {object} object - Object whose presence in this set is to be tested.\n * @returns {boolean} - True if this set contains the specified object.\n */\nlunr.Set.prototype.contains = function (object) {\n return !!this.elements[object]\n}\n\n/**\n * Returns a new set containing only the elements that are present in both\n * this set and the specified set.\n *\n * @param {lunr.Set} other - set to intersect with this set.\n * @returns {lunr.Set} a new set that is the intersection of this and the specified set.\n */\n\nlunr.Set.prototype.intersect = function (other) {\n var a, b, elements, intersection = []\n\n if (other === lunr.Set.complete) {\n return this\n }\n\n if (other === lunr.Set.empty) {\n return other\n }\n\n if (this.length < other.length) {\n a = this\n b = other\n } else {\n a = other\n b = this\n }\n\n elements = Object.keys(a.elements)\n\n for (var i = 0; i < elements.length; i++) {\n var element = elements[i]\n if (element in b.elements) {\n intersection.push(element)\n }\n }\n\n return new lunr.Set (intersection)\n}\n\n/**\n * Returns a new set combining the elements of this and the specified set.\n *\n * @param {lunr.Set} other - set to union with this set.\n * @return {lunr.Set} a new set that is the union of this and the specified set.\n */\n\nlunr.Set.prototype.union = function (other) {\n if (other === lunr.Set.complete) {\n return lunr.Set.complete\n }\n\n if (other === lunr.Set.empty) {\n return this\n }\n\n return new lunr.Set(Object.keys(this.elements).concat(Object.keys(other.elements)))\n}\n/**\n * A function to calculate the inverse document frequency for\n * a posting. This is shared between the builder and the index\n *\n * @private\n * @param {object} posting - The posting for a given term\n * @param {number} documentCount - The total number of documents.\n */\nlunr.idf = function (posting, documentCount) {\n var documentsWithTerm = 0\n\n for (var fieldName in posting) {\n if (fieldName == '_index') continue // Ignore the term index, its not a field\n documentsWithTerm += Object.keys(posting[fieldName]).length\n }\n\n var x = (documentCount - documentsWithTerm + 0.5) / (documentsWithTerm + 0.5)\n\n return Math.log(1 + Math.abs(x))\n}\n\n/**\n * A token wraps a string representation of a token\n * as it is passed through the text processing pipeline.\n *\n * @constructor\n * @param {string} [str=''] - The string token being wrapped.\n * @param {object} [metadata={}] - Metadata associated with this token.\n */\nlunr.Token = function (str, metadata) {\n this.str = str || \"\"\n this.metadata = metadata || {}\n}\n\n/**\n * Returns the token string that is being wrapped by this object.\n *\n * @returns {string}\n */\nlunr.Token.prototype.toString = function () {\n return this.str\n}\n\n/**\n * A token update function is used when updating or optionally\n * when cloning a token.\n *\n * @callback lunr.Token~updateFunction\n * @param {string} str - The string representation of the token.\n * @param {Object} metadata - All metadata associated with this token.\n */\n\n/**\n * Applies the given function to the wrapped string token.\n *\n * @example\n * token.update(function (str, metadata) {\n * return str.toUpperCase()\n * })\n *\n * @param {lunr.Token~updateFunction} fn - A function to apply to the token string.\n * @returns {lunr.Token}\n */\nlunr.Token.prototype.update = function (fn) {\n this.str = fn(this.str, this.metadata)\n return this\n}\n\n/**\n * Creates a clone of this token. Optionally a function can be\n * applied to the cloned token.\n *\n * @param {lunr.Token~updateFunction} [fn] - An optional function to apply to the cloned token.\n * @returns {lunr.Token}\n */\nlunr.Token.prototype.clone = function (fn) {\n fn = fn || function (s) { return s }\n return new lunr.Token (fn(this.str, this.metadata), this.metadata)\n}\n/*!\n * lunr.tokenizer\n * Copyright (C) 2019 Oliver Nightingale\n */\n\n/**\n * A function for splitting a string into tokens ready to be inserted into\n * the search index. Uses `lunr.tokenizer.separator` to split strings, change\n * the value of this property to change how strings are split into tokens.\n *\n * This tokenizer will convert its parameter to a string by calling `toString` and\n * then will split this string on the character in `lunr.tokenizer.separator`.\n * Arrays will have their elements converted to strings and wrapped in a lunr.Token.\n *\n * Optional metadata can be passed to the tokenizer, this metadata will be cloned and\n * added as metadata to every token that is created from the object to be tokenized.\n *\n * @static\n * @param {?(string|object|object[])} obj - The object to convert into tokens\n * @param {?object} metadata - Optional metadata to associate with every token\n * @returns {lunr.Token[]}\n * @see {@link lunr.Pipeline}\n */\nlunr.tokenizer = function (obj, metadata) {\n if (obj == null || obj == undefined) {\n return []\n }\n\n if (Array.isArray(obj)) {\n return obj.map(function (t) {\n return new lunr.Token(\n lunr.utils.asString(t).toLowerCase(),\n lunr.utils.clone(metadata)\n )\n })\n }\n\n var str = obj.toString().toLowerCase(),\n len = str.length,\n tokens = []\n\n for (var sliceEnd = 0, sliceStart = 0; sliceEnd <= len; sliceEnd++) {\n var char = str.charAt(sliceEnd),\n sliceLength = sliceEnd - sliceStart\n\n if ((char.match(lunr.tokenizer.separator) || sliceEnd == len)) {\n\n if (sliceLength > 0) {\n var tokenMetadata = lunr.utils.clone(metadata) || {}\n tokenMetadata[\"position\"] = [sliceStart, sliceLength]\n tokenMetadata[\"index\"] = tokens.length\n\n tokens.push(\n new lunr.Token (\n str.slice(sliceStart, sliceEnd),\n tokenMetadata\n )\n )\n }\n\n sliceStart = sliceEnd + 1\n }\n\n }\n\n return tokens\n}\n\n/**\n * The separator used to split a string into tokens. Override this property to change the behaviour of\n * `lunr.tokenizer` behaviour when tokenizing strings. By default this splits on whitespace and hyphens.\n *\n * @static\n * @see lunr.tokenizer\n */\nlunr.tokenizer.separator = /[\\s\\-]+/\n/*!\n * lunr.Pipeline\n * Copyright (C) 2019 Oliver Nightingale\n */\n\n/**\n * lunr.Pipelines maintain an ordered list of functions to be applied to all\n * tokens in documents entering the search index and queries being ran against\n * the index.\n *\n * An instance of lunr.Index created with the lunr shortcut will contain a\n * pipeline with a stop word filter and an English language stemmer. Extra\n * functions can be added before or after either of these functions or these\n * default functions can be removed.\n *\n * When run the pipeline will call each function in turn, passing a token, the\n * index of that token in the original list of all tokens and finally a list of\n * all the original tokens.\n *\n * The output of functions in the pipeline will be passed to the next function\n * in the pipeline. To exclude a token from entering the index the function\n * should return undefined, the rest of the pipeline will not be called with\n * this token.\n *\n * For serialisation of pipelines to work, all functions used in an instance of\n * a pipeline should be registered with lunr.Pipeline. Registered functions can\n * then be loaded. If trying to load a serialised pipeline that uses functions\n * that are not registered an error will be thrown.\n *\n * If not planning on serialising the pipeline then registering pipeline functions\n * is not necessary.\n *\n * @constructor\n */\nlunr.Pipeline = function () {\n this._stack = []\n}\n\nlunr.Pipeline.registeredFunctions = Object.create(null)\n\n/**\n * A pipeline function maps lunr.Token to lunr.Token. A lunr.Token contains the token\n * string as well as all known metadata. A pipeline function can mutate the token string\n * or mutate (or add) metadata for a given token.\n *\n * A pipeline function can indicate that the passed token should be discarded by returning\n * null, undefined or an empty string. This token will not be passed to any downstream pipeline\n * functions and will not be added to the index.\n *\n * Multiple tokens can be returned by returning an array of tokens. Each token will be passed\n * to any downstream pipeline functions and all will returned tokens will be added to the index.\n *\n * Any number of pipeline functions may be chained together using a lunr.Pipeline.\n *\n * @interface lunr.PipelineFunction\n * @param {lunr.Token} token - A token from the document being processed.\n * @param {number} i - The index of this token in the complete list of tokens for this document/field.\n * @param {lunr.Token[]} tokens - All tokens for this document/field.\n * @returns {(?lunr.Token|lunr.Token[])}\n */\n\n/**\n * Register a function with the pipeline.\n *\n * Functions that are used in the pipeline should be registered if the pipeline\n * needs to be serialised, or a serialised pipeline needs to be loaded.\n *\n * Registering a function does not add it to a pipeline, functions must still be\n * added to instances of the pipeline for them to be used when running a pipeline.\n *\n * @param {lunr.PipelineFunction} fn - The function to check for.\n * @param {String} label - The label to register this function with\n */\nlunr.Pipeline.registerFunction = function (fn, label) {\n if (label in this.registeredFunctions) {\n lunr.utils.warn('Overwriting existing registered function: ' + label)\n }\n\n fn.label = label\n lunr.Pipeline.registeredFunctions[fn.label] = fn\n}\n\n/**\n * Warns if the function is not registered as a Pipeline function.\n *\n * @param {lunr.PipelineFunction} fn - The function to check for.\n * @private\n */\nlunr.Pipeline.warnIfFunctionNotRegistered = function (fn) {\n var isRegistered = fn.label && (fn.label in this.registeredFunctions)\n\n if (!isRegistered) {\n lunr.utils.warn('Function is not registered with pipeline. This may cause problems when serialising the index.\\n', fn)\n }\n}\n\n/**\n * Loads a previously serialised pipeline.\n *\n * All functions to be loaded must already be registered with lunr.Pipeline.\n * If any function from the serialised data has not been registered then an\n * error will be thrown.\n *\n * @param {Object} serialised - The serialised pipeline to load.\n * @returns {lunr.Pipeline}\n */\nlunr.Pipeline.load = function (serialised) {\n var pipeline = new lunr.Pipeline\n\n serialised.forEach(function (fnName) {\n var fn = lunr.Pipeline.registeredFunctions[fnName]\n\n if (fn) {\n pipeline.add(fn)\n } else {\n throw new Error('Cannot load unregistered function: ' + fnName)\n }\n })\n\n return pipeline\n}\n\n/**\n * Adds new functions to the end of the pipeline.\n *\n * Logs a warning if the function has not been registered.\n *\n * @param {lunr.PipelineFunction[]} functions - Any number of functions to add to the pipeline.\n */\nlunr.Pipeline.prototype.add = function () {\n var fns = Array.prototype.slice.call(arguments)\n\n fns.forEach(function (fn) {\n lunr.Pipeline.warnIfFunctionNotRegistered(fn)\n this._stack.push(fn)\n }, this)\n}\n\n/**\n * Adds a single function after a function that already exists in the\n * pipeline.\n *\n * Logs a warning if the function has not been registered.\n *\n * @param {lunr.PipelineFunction} existingFn - A function that already exists in the pipeline.\n * @param {lunr.PipelineFunction} newFn - The new function to add to the pipeline.\n */\nlunr.Pipeline.prototype.after = function (existingFn, newFn) {\n lunr.Pipeline.warnIfFunctionNotRegistered(newFn)\n\n var pos = this._stack.indexOf(existingFn)\n if (pos == -1) {\n throw new Error('Cannot find existingFn')\n }\n\n pos = pos + 1\n this._stack.splice(pos, 0, newFn)\n}\n\n/**\n * Adds a single function before a function that already exists in the\n * pipeline.\n *\n * Logs a warning if the function has not been registered.\n *\n * @param {lunr.PipelineFunction} existingFn - A function that already exists in the pipeline.\n * @param {lunr.PipelineFunction} newFn - The new function to add to the pipeline.\n */\nlunr.Pipeline.prototype.before = function (existingFn, newFn) {\n lunr.Pipeline.warnIfFunctionNotRegistered(newFn)\n\n var pos = this._stack.indexOf(existingFn)\n if (pos == -1) {\n throw new Error('Cannot find existingFn')\n }\n\n this._stack.splice(pos, 0, newFn)\n}\n\n/**\n * Removes a function from the pipeline.\n *\n * @param {lunr.PipelineFunction} fn The function to remove from the pipeline.\n */\nlunr.Pipeline.prototype.remove = function (fn) {\n var pos = this._stack.indexOf(fn)\n if (pos == -1) {\n return\n }\n\n this._stack.splice(pos, 1)\n}\n\n/**\n * Runs the current list of functions that make up the pipeline against the\n * passed tokens.\n *\n * @param {Array} tokens The tokens to run through the pipeline.\n * @returns {Array}\n */\nlunr.Pipeline.prototype.run = function (tokens) {\n var stackLength = this._stack.length\n\n for (var i = 0; i < stackLength; i++) {\n var fn = this._stack[i]\n var memo = []\n\n for (var j = 0; j < tokens.length; j++) {\n var result = fn(tokens[j], j, tokens)\n\n if (result === null || result === void 0 || result === '') continue\n\n if (Array.isArray(result)) {\n for (var k = 0; k < result.length; k++) {\n memo.push(result[k])\n }\n } else {\n memo.push(result)\n }\n }\n\n tokens = memo\n }\n\n return tokens\n}\n\n/**\n * Convenience method for passing a string through a pipeline and getting\n * strings out. This method takes care of wrapping the passed string in a\n * token and mapping the resulting tokens back to strings.\n *\n * @param {string} str - The string to pass through the pipeline.\n * @param {?object} metadata - Optional metadata to associate with the token\n * passed to the pipeline.\n * @returns {string[]}\n */\nlunr.Pipeline.prototype.runString = function (str, metadata) {\n var token = new lunr.Token (str, metadata)\n\n return this.run([token]).map(function (t) {\n return t.toString()\n })\n}\n\n/**\n * Resets the pipeline by removing any existing processors.\n *\n */\nlunr.Pipeline.prototype.reset = function () {\n this._stack = []\n}\n\n/**\n * Returns a representation of the pipeline ready for serialisation.\n *\n * Logs a warning if the function has not been registered.\n *\n * @returns {Array}\n */\nlunr.Pipeline.prototype.toJSON = function () {\n return this._stack.map(function (fn) {\n lunr.Pipeline.warnIfFunctionNotRegistered(fn)\n\n return fn.label\n })\n}\n/*!\n * lunr.Vector\n * Copyright (C) 2019 Oliver Nightingale\n */\n\n/**\n * A vector is used to construct the vector space of documents and queries. These\n * vectors support operations to determine the similarity between two documents or\n * a document and a query.\n *\n * Normally no parameters are required for initializing a vector, but in the case of\n * loading a previously dumped vector the raw elements can be provided to the constructor.\n *\n * For performance reasons vectors are implemented with a flat array, where an elements\n * index is immediately followed by its value. E.g. [index, value, index, value]. This\n * allows the underlying array to be as sparse as possible and still offer decent\n * performance when being used for vector calculations.\n *\n * @constructor\n * @param {Number[]} [elements] - The flat list of element index and element value pairs.\n */\nlunr.Vector = function (elements) {\n this._magnitude = 0\n this.elements = elements || []\n}\n\n\n/**\n * Calculates the position within the vector to insert a given index.\n *\n * This is used internally by insert and upsert. If there are duplicate indexes then\n * the position is returned as if the value for that index were to be updated, but it\n * is the callers responsibility to check whether there is a duplicate at that index\n *\n * @param {Number} insertIdx - The index at which the element should be inserted.\n * @returns {Number}\n */\nlunr.Vector.prototype.positionForIndex = function (index) {\n // For an empty vector the tuple can be inserted at the beginning\n if (this.elements.length == 0) {\n return 0\n }\n\n var start = 0,\n end = this.elements.length / 2,\n sliceLength = end - start,\n pivotPoint = Math.floor(sliceLength / 2),\n pivotIndex = this.elements[pivotPoint * 2]\n\n while (sliceLength > 1) {\n if (pivotIndex < index) {\n start = pivotPoint\n }\n\n if (pivotIndex > index) {\n end = pivotPoint\n }\n\n if (pivotIndex == index) {\n break\n }\n\n sliceLength = end - start\n pivotPoint = start + Math.floor(sliceLength / 2)\n pivotIndex = this.elements[pivotPoint * 2]\n }\n\n if (pivotIndex == index) {\n return pivotPoint * 2\n }\n\n if (pivotIndex > index) {\n return pivotPoint * 2\n }\n\n if (pivotIndex < index) {\n return (pivotPoint + 1) * 2\n }\n}\n\n/**\n * Inserts an element at an index within the vector.\n *\n * Does not allow duplicates, will throw an error if there is already an entry\n * for this index.\n *\n * @param {Number} insertIdx - The index at which the element should be inserted.\n * @param {Number} val - The value to be inserted into the vector.\n */\nlunr.Vector.prototype.insert = function (insertIdx, val) {\n this.upsert(insertIdx, val, function () {\n throw \"duplicate index\"\n })\n}\n\n/**\n * Inserts or updates an existing index within the vector.\n *\n * @param {Number} insertIdx - The index at which the element should be inserted.\n * @param {Number} val - The value to be inserted into the vector.\n * @param {function} fn - A function that is called for updates, the existing value and the\n * requested value are passed as arguments\n */\nlunr.Vector.prototype.upsert = function (insertIdx, val, fn) {\n this._magnitude = 0\n var position = this.positionForIndex(insertIdx)\n\n if (this.elements[position] == insertIdx) {\n this.elements[position + 1] = fn(this.elements[position + 1], val)\n } else {\n this.elements.splice(position, 0, insertIdx, val)\n }\n}\n\n/**\n * Calculates the magnitude of this vector.\n *\n * @returns {Number}\n */\nlunr.Vector.prototype.magnitude = function () {\n if (this._magnitude) return this._magnitude\n\n var sumOfSquares = 0,\n elementsLength = this.elements.length\n\n for (var i = 1; i < elementsLength; i += 2) {\n var val = this.elements[i]\n sumOfSquares += val * val\n }\n\n return this._magnitude = Math.sqrt(sumOfSquares)\n}\n\n/**\n * Calculates the dot product of this vector and another vector.\n *\n * @param {lunr.Vector} otherVector - The vector to compute the dot product with.\n * @returns {Number}\n */\nlunr.Vector.prototype.dot = function (otherVector) {\n var dotProduct = 0,\n a = this.elements, b = otherVector.elements,\n aLen = a.length, bLen = b.length,\n aVal = 0, bVal = 0,\n i = 0, j = 0\n\n while (i < aLen && j < bLen) {\n aVal = a[i], bVal = b[j]\n if (aVal < bVal) {\n i += 2\n } else if (aVal > bVal) {\n j += 2\n } else if (aVal == bVal) {\n dotProduct += a[i + 1] * b[j + 1]\n i += 2\n j += 2\n }\n }\n\n return dotProduct\n}\n\n/**\n * Calculates the similarity between this vector and another vector.\n *\n * @param {lunr.Vector} otherVector - The other vector to calculate the\n * similarity with.\n * @returns {Number}\n */\nlunr.Vector.prototype.similarity = function (otherVector) {\n return this.dot(otherVector) / this.magnitude() || 0\n}\n\n/**\n * Converts the vector to an array of the elements within the vector.\n *\n * @returns {Number[]}\n */\nlunr.Vector.prototype.toArray = function () {\n var output = new Array (this.elements.length / 2)\n\n for (var i = 1, j = 0; i < this.elements.length; i += 2, j++) {\n output[j] = this.elements[i]\n }\n\n return output\n}\n\n/**\n * A JSON serializable representation of the vector.\n *\n * @returns {Number[]}\n */\nlunr.Vector.prototype.toJSON = function () {\n return this.elements\n}\n/* eslint-disable */\n/*!\n * lunr.stemmer\n * Copyright (C) 2019 Oliver Nightingale\n * Includes code from - http://tartarus.org/~martin/PorterStemmer/js.txt\n */\n\n/**\n * lunr.stemmer is an english language stemmer, this is a JavaScript\n * implementation of the PorterStemmer taken from http://tartarus.org/~martin\n *\n * @static\n * @implements {lunr.PipelineFunction}\n * @param {lunr.Token} token - The string to stem\n * @returns {lunr.Token}\n * @see {@link lunr.Pipeline}\n * @function\n */\nlunr.stemmer = (function(){\n var step2list = {\n \"ational\" : \"ate\",\n \"tional\" : \"tion\",\n \"enci\" : \"ence\",\n \"anci\" : \"ance\",\n \"izer\" : \"ize\",\n \"bli\" : \"ble\",\n \"alli\" : \"al\",\n \"entli\" : \"ent\",\n \"eli\" : \"e\",\n \"ousli\" : \"ous\",\n \"ization\" : \"ize\",\n \"ation\" : \"ate\",\n \"ator\" : \"ate\",\n \"alism\" : \"al\",\n \"iveness\" : \"ive\",\n \"fulness\" : \"ful\",\n \"ousness\" : \"ous\",\n \"aliti\" : \"al\",\n \"iviti\" : \"ive\",\n \"biliti\" : \"ble\",\n \"logi\" : \"log\"\n },\n\n step3list = {\n \"icate\" : \"ic\",\n \"ative\" : \"\",\n \"alize\" : \"al\",\n \"iciti\" : \"ic\",\n \"ical\" : \"ic\",\n \"ful\" : \"\",\n \"ness\" : \"\"\n },\n\n c = \"[^aeiou]\", // consonant\n v = \"[aeiouy]\", // vowel\n C = c + \"[^aeiouy]*\", // consonant sequence\n V = v + \"[aeiou]*\", // vowel sequence\n\n mgr0 = \"^(\" + C + \")?\" + V + C, // [C]VC... is m>0\n meq1 = \"^(\" + C + \")?\" + V + C + \"(\" + V + \")?$\", // [C]VC[V] is m=1\n mgr1 = \"^(\" + C + \")?\" + V + C + V + C, // [C]VCVC... is m>1\n s_v = \"^(\" + C + \")?\" + v; // vowel in stem\n\n var re_mgr0 = new RegExp(mgr0);\n var re_mgr1 = new RegExp(mgr1);\n var re_meq1 = new RegExp(meq1);\n var re_s_v = new RegExp(s_v);\n\n var re_1a = /^(.+?)(ss|i)es$/;\n var re2_1a = /^(.+?)([^s])s$/;\n var re_1b = /^(.+?)eed$/;\n var re2_1b = /^(.+?)(ed|ing)$/;\n var re_1b_2 = /.$/;\n var re2_1b_2 = /(at|bl|iz)$/;\n var re3_1b_2 = new RegExp(\"([^aeiouylsz])\\\\1$\");\n var re4_1b_2 = new RegExp(\"^\" + C + v + \"[^aeiouwxy]$\");\n\n var re_1c = /^(.+?[^aeiou])y$/;\n var re_2 = /^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/;\n\n var re_3 = /^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/;\n\n var re_4 = /^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/;\n var re2_4 = /^(.+?)(s|t)(ion)$/;\n\n var re_5 = /^(.+?)e$/;\n var re_5_1 = /ll$/;\n var re3_5 = new RegExp(\"^\" + C + v + \"[^aeiouwxy]$\");\n\n var porterStemmer = function porterStemmer(w) {\n var stem,\n suffix,\n firstch,\n re,\n re2,\n re3,\n re4;\n\n if (w.length < 3) { return w; }\n\n firstch = w.substr(0,1);\n if (firstch == \"y\") {\n w = firstch.toUpperCase() + w.substr(1);\n }\n\n // Step 1a\n re = re_1a\n re2 = re2_1a;\n\n if (re.test(w)) { w = w.replace(re,\"$1$2\"); }\n else if (re2.test(w)) { w = w.replace(re2,\"$1$2\"); }\n\n // Step 1b\n re = re_1b;\n re2 = re2_1b;\n if (re.test(w)) {\n var fp = re.exec(w);\n re = re_mgr0;\n if (re.test(fp[1])) {\n re = re_1b_2;\n w = w.replace(re,\"\");\n }\n } else if (re2.test(w)) {\n var fp = re2.exec(w);\n stem = fp[1];\n re2 = re_s_v;\n if (re2.test(stem)) {\n w = stem;\n re2 = re2_1b_2;\n re3 = re3_1b_2;\n re4 = re4_1b_2;\n if (re2.test(w)) { w = w + \"e\"; }\n else if (re3.test(w)) { re = re_1b_2; w = w.replace(re,\"\"); }\n else if (re4.test(w)) { w = w + \"e\"; }\n }\n }\n\n // Step 1c - replace suffix y or Y by i if preceded by a non-vowel which is not the first letter of the word (so cry -> cri, by -> by, say -> say)\n re = re_1c;\n if (re.test(w)) {\n var fp = re.exec(w);\n stem = fp[1];\n w = stem + \"i\";\n }\n\n // Step 2\n re = re_2;\n if (re.test(w)) {\n var fp = re.exec(w);\n stem = fp[1];\n suffix = fp[2];\n re = re_mgr0;\n if (re.test(stem)) {\n w = stem + step2list[suffix];\n }\n }\n\n // Step 3\n re = re_3;\n if (re.test(w)) {\n var fp = re.exec(w);\n stem = fp[1];\n suffix = fp[2];\n re = re_mgr0;\n if (re.test(stem)) {\n w = stem + step3list[suffix];\n }\n }\n\n // Step 4\n re = re_4;\n re2 = re2_4;\n if (re.test(w)) {\n var fp = re.exec(w);\n stem = fp[1];\n re = re_mgr1;\n if (re.test(stem)) {\n w = stem;\n }\n } else if (re2.test(w)) {\n var fp = re2.exec(w);\n stem = fp[1] + fp[2];\n re2 = re_mgr1;\n if (re2.test(stem)) {\n w = stem;\n }\n }\n\n // Step 5\n re = re_5;\n if (re.test(w)) {\n var fp = re.exec(w);\n stem = fp[1];\n re = re_mgr1;\n re2 = re_meq1;\n re3 = re3_5;\n if (re.test(stem) || (re2.test(stem) && !(re3.test(stem)))) {\n w = stem;\n }\n }\n\n re = re_5_1;\n re2 = re_mgr1;\n if (re.test(w) && re2.test(w)) {\n re = re_1b_2;\n w = w.replace(re,\"\");\n }\n\n // and turn initial Y back to y\n\n if (firstch == \"y\") {\n w = firstch.toLowerCase() + w.substr(1);\n }\n\n return w;\n };\n\n return function (token) {\n return token.update(porterStemmer);\n }\n})();\n\nlunr.Pipeline.registerFunction(lunr.stemmer, 'stemmer')\n/*!\n * lunr.stopWordFilter\n * Copyright (C) 2019 Oliver Nightingale\n */\n\n/**\n * lunr.generateStopWordFilter builds a stopWordFilter function from the provided\n * list of stop words.\n *\n * The built in lunr.stopWordFilter is built using this generator and can be used\n * to generate custom stopWordFilters for applications or non English languages.\n *\n * @function\n * @param {Array} token The token to pass through the filter\n * @returns {lunr.PipelineFunction}\n * @see lunr.Pipeline\n * @see lunr.stopWordFilter\n */\nlunr.generateStopWordFilter = function (stopWords) {\n var words = stopWords.reduce(function (memo, stopWord) {\n memo[stopWord] = stopWord\n return memo\n }, {})\n\n return function (token) {\n if (token && words[token.toString()] !== token.toString()) return token\n }\n}\n\n/**\n * lunr.stopWordFilter is an English language stop word list filter, any words\n * contained in the list will not be passed through the filter.\n *\n * This is intended to be used in the Pipeline. If the token does not pass the\n * filter then undefined will be returned.\n *\n * @function\n * @implements {lunr.PipelineFunction}\n * @params {lunr.Token} token - A token to check for being a stop word.\n * @returns {lunr.Token}\n * @see {@link lunr.Pipeline}\n */\nlunr.stopWordFilter = lunr.generateStopWordFilter([\n 'a',\n 'able',\n 'about',\n 'across',\n 'after',\n 'all',\n 'almost',\n 'also',\n 'am',\n 'among',\n 'an',\n 'and',\n 'any',\n 'are',\n 'as',\n 'at',\n 'be',\n 'because',\n 'been',\n 'but',\n 'by',\n 'can',\n 'cannot',\n 'could',\n 'dear',\n 'did',\n 'do',\n 'does',\n 'either',\n 'else',\n 'ever',\n 'every',\n 'for',\n 'from',\n 'get',\n 'got',\n 'had',\n 'has',\n 'have',\n 'he',\n 'her',\n 'hers',\n 'him',\n 'his',\n 'how',\n 'however',\n 'i',\n 'if',\n 'in',\n 'into',\n 'is',\n 'it',\n 'its',\n 'just',\n 'least',\n 'let',\n 'like',\n 'likely',\n 'may',\n 'me',\n 'might',\n 'most',\n 'must',\n 'my',\n 'neither',\n 'no',\n 'nor',\n 'not',\n 'of',\n 'off',\n 'often',\n 'on',\n 'only',\n 'or',\n 'other',\n 'our',\n 'own',\n 'rather',\n 'said',\n 'say',\n 'says',\n 'she',\n 'should',\n 'since',\n 'so',\n 'some',\n 'than',\n 'that',\n 'the',\n 'their',\n 'them',\n 'then',\n 'there',\n 'these',\n 'they',\n 'this',\n 'tis',\n 'to',\n 'too',\n 'twas',\n 'us',\n 'wants',\n 'was',\n 'we',\n 'were',\n 'what',\n 'when',\n 'where',\n 'which',\n 'while',\n 'who',\n 'whom',\n 'why',\n 'will',\n 'with',\n 'would',\n 'yet',\n 'you',\n 'your'\n])\n\nlunr.Pipeline.registerFunction(lunr.stopWordFilter, 'stopWordFilter')\n/*!\n * lunr.trimmer\n * Copyright (C) 2019 Oliver Nightingale\n */\n\n/**\n * lunr.trimmer is a pipeline function for trimming non word\n * characters from the beginning and end of tokens before they\n * enter the index.\n *\n * This implementation may not work correctly for non latin\n * characters and should either be removed or adapted for use\n * with languages with non-latin characters.\n *\n * @static\n * @implements {lunr.PipelineFunction}\n * @param {lunr.Token} token The token to pass through the filter\n * @returns {lunr.Token}\n * @see lunr.Pipeline\n */\nlunr.trimmer = function (token) {\n return token.update(function (s) {\n return s.replace(/^\\W+/, '').replace(/\\W+$/, '')\n })\n}\n\nlunr.Pipeline.registerFunction(lunr.trimmer, 'trimmer')\n/*!\n * lunr.TokenSet\n * Copyright (C) 2019 Oliver Nightingale\n */\n\n/**\n * A token set is used to store the unique list of all tokens\n * within an index. Token sets are also used to represent an\n * incoming query to the index, this query token set and index\n * token set are then intersected to find which tokens to look\n * up in the inverted index.\n *\n * A token set can hold multiple tokens, as in the case of the\n * index token set, or it can hold a single token as in the\n * case of a simple query token set.\n *\n * Additionally token sets are used to perform wildcard matching.\n * Leading, contained and trailing wildcards are supported, and\n * from this edit distance matching can also be provided.\n *\n * Token sets are implemented as a minimal finite state automata,\n * where both common prefixes and suffixes are shared between tokens.\n * This helps to reduce the space used for storing the token set.\n *\n * @constructor\n */\nlunr.TokenSet = function () {\n this.final = false\n this.edges = {}\n this.id = lunr.TokenSet._nextId\n lunr.TokenSet._nextId += 1\n}\n\n/**\n * Keeps track of the next, auto increment, identifier to assign\n * to a new tokenSet.\n *\n * TokenSets require a unique identifier to be correctly minimised.\n *\n * @private\n */\nlunr.TokenSet._nextId = 1\n\n/**\n * Creates a TokenSet instance from the given sorted array of words.\n *\n * @param {String[]} arr - A sorted array of strings to create the set from.\n * @returns {lunr.TokenSet}\n * @throws Will throw an error if the input array is not sorted.\n */\nlunr.TokenSet.fromArray = function (arr) {\n var builder = new lunr.TokenSet.Builder\n\n for (var i = 0, len = arr.length; i < len; i++) {\n builder.insert(arr[i])\n }\n\n builder.finish()\n return builder.root\n}\n\n/**\n * Creates a token set from a query clause.\n *\n * @private\n * @param {Object} clause - A single clause from lunr.Query.\n * @param {string} clause.term - The query clause term.\n * @param {number} [clause.editDistance] - The optional edit distance for the term.\n * @returns {lunr.TokenSet}\n */\nlunr.TokenSet.fromClause = function (clause) {\n if ('editDistance' in clause) {\n return lunr.TokenSet.fromFuzzyString(clause.term, clause.editDistance)\n } else {\n return lunr.TokenSet.fromString(clause.term)\n }\n}\n\n/**\n * Creates a token set representing a single string with a specified\n * edit distance.\n *\n * Insertions, deletions, substitutions and transpositions are each\n * treated as an edit distance of 1.\n *\n * Increasing the allowed edit distance will have a dramatic impact\n * on the performance of both creating and intersecting these TokenSets.\n * It is advised to keep the edit distance less than 3.\n *\n * @param {string} str - The string to create the token set from.\n * @param {number} editDistance - The allowed edit distance to match.\n * @returns {lunr.Vector}\n */\nlunr.TokenSet.fromFuzzyString = function (str, editDistance) {\n var root = new lunr.TokenSet\n\n var stack = [{\n node: root,\n editsRemaining: editDistance,\n str: str\n }]\n\n while (stack.length) {\n var frame = stack.pop()\n\n // no edit\n if (frame.str.length > 0) {\n var char = frame.str.charAt(0),\n noEditNode\n\n if (char in frame.node.edges) {\n noEditNode = frame.node.edges[char]\n } else {\n noEditNode = new lunr.TokenSet\n frame.node.edges[char] = noEditNode\n }\n\n if (frame.str.length == 1) {\n noEditNode.final = true\n }\n\n stack.push({\n node: noEditNode,\n editsRemaining: frame.editsRemaining,\n str: frame.str.slice(1)\n })\n }\n\n if (frame.editsRemaining == 0) {\n continue\n }\n\n // insertion\n if (\"*\" in frame.node.edges) {\n var insertionNode = frame.node.edges[\"*\"]\n } else {\n var insertionNode = new lunr.TokenSet\n frame.node.edges[\"*\"] = insertionNode\n }\n\n if (frame.str.length == 0) {\n insertionNode.final = true\n }\n\n stack.push({\n node: insertionNode,\n editsRemaining: frame.editsRemaining - 1,\n str: frame.str\n })\n\n // deletion\n // can only do a deletion if we have enough edits remaining\n // and if there are characters left to delete in the string\n if (frame.str.length > 1) {\n stack.push({\n node: frame.node,\n editsRemaining: frame.editsRemaining - 1,\n str: frame.str.slice(1)\n })\n }\n\n // deletion\n // just removing the last character from the str\n if (frame.str.length == 1) {\n frame.node.final = true\n }\n\n // substitution\n // can only do a substitution if we have enough edits remaining\n // and if there are characters left to substitute\n if (frame.str.length >= 1) {\n if (\"*\" in frame.node.edges) {\n var substitutionNode = frame.node.edges[\"*\"]\n } else {\n var substitutionNode = new lunr.TokenSet\n frame.node.edges[\"*\"] = substitutionNode\n }\n\n if (frame.str.length == 1) {\n substitutionNode.final = true\n }\n\n stack.push({\n node: substitutionNode,\n editsRemaining: frame.editsRemaining - 1,\n str: frame.str.slice(1)\n })\n }\n\n // transposition\n // can only do a transposition if there are edits remaining\n // and there are enough characters to transpose\n if (frame.str.length > 1) {\n var charA = frame.str.charAt(0),\n charB = frame.str.charAt(1),\n transposeNode\n\n if (charB in frame.node.edges) {\n transposeNode = frame.node.edges[charB]\n } else {\n transposeNode = new lunr.TokenSet\n frame.node.edges[charB] = transposeNode\n }\n\n if (frame.str.length == 1) {\n transposeNode.final = true\n }\n\n stack.push({\n node: transposeNode,\n editsRemaining: frame.editsRemaining - 1,\n str: charA + frame.str.slice(2)\n })\n }\n }\n\n return root\n}\n\n/**\n * Creates a TokenSet from a string.\n *\n * The string may contain one or more wildcard characters (*)\n * that will allow wildcard matching when intersecting with\n * another TokenSet.\n *\n * @param {string} str - The string to create a TokenSet from.\n * @returns {lunr.TokenSet}\n */\nlunr.TokenSet.fromString = function (str) {\n var node = new lunr.TokenSet,\n root = node\n\n /*\n * Iterates through all characters within the passed string\n * appending a node for each character.\n *\n * When a wildcard character is found then a self\n * referencing edge is introduced to continually match\n * any number of any characters.\n */\n for (var i = 0, len = str.length; i < len; i++) {\n var char = str[i],\n final = (i == len - 1)\n\n if (char == \"*\") {\n node.edges[char] = node\n node.final = final\n\n } else {\n var next = new lunr.TokenSet\n next.final = final\n\n node.edges[char] = next\n node = next\n }\n }\n\n return root\n}\n\n/**\n * Converts this TokenSet into an array of strings\n * contained within the TokenSet.\n *\n * This is not intended to be used on a TokenSet that\n * contains wildcards, in these cases the results are\n * undefined and are likely to cause an infinite loop.\n *\n * @returns {string[]}\n */\nlunr.TokenSet.prototype.toArray = function () {\n var words = []\n\n var stack = [{\n prefix: \"\",\n node: this\n }]\n\n while (stack.length) {\n var frame = stack.pop(),\n edges = Object.keys(frame.node.edges),\n len = edges.length\n\n if (frame.node.final) {\n /* In Safari, at this point the prefix is sometimes corrupted, see:\n * https://github.com/olivernn/lunr.js/issues/279 Calling any\n * String.prototype method forces Safari to \"cast\" this string to what\n * it's supposed to be, fixing the bug. */\n frame.prefix.charAt(0)\n words.push(frame.prefix)\n }\n\n for (var i = 0; i < len; i++) {\n var edge = edges[i]\n\n stack.push({\n prefix: frame.prefix.concat(edge),\n node: frame.node.edges[edge]\n })\n }\n }\n\n return words\n}\n\n/**\n * Generates a string representation of a TokenSet.\n *\n * This is intended to allow TokenSets to be used as keys\n * in objects, largely to aid the construction and minimisation\n * of a TokenSet. As such it is not designed to be a human\n * friendly representation of the TokenSet.\n *\n * @returns {string}\n */\nlunr.TokenSet.prototype.toString = function () {\n // NOTE: Using Object.keys here as this.edges is very likely\n // to enter 'hash-mode' with many keys being added\n //\n // avoiding a for-in loop here as it leads to the function\n // being de-optimised (at least in V8). From some simple\n // benchmarks the performance is comparable, but allowing\n // V8 to optimize may mean easy performance wins in the future.\n\n if (this._str) {\n return this._str\n }\n\n var str = this.final ? '1' : '0',\n labels = Object.keys(this.edges).sort(),\n len = labels.length\n\n for (var i = 0; i < len; i++) {\n var label = labels[i],\n node = this.edges[label]\n\n str = str + label + node.id\n }\n\n return str\n}\n\n/**\n * Returns a new TokenSet that is the intersection of\n * this TokenSet and the passed TokenSet.\n *\n * This intersection will take into account any wildcards\n * contained within the TokenSet.\n *\n * @param {lunr.TokenSet} b - An other TokenSet to intersect with.\n * @returns {lunr.TokenSet}\n */\nlunr.TokenSet.prototype.intersect = function (b) {\n var output = new lunr.TokenSet,\n frame = undefined\n\n var stack = [{\n qNode: b,\n output: output,\n node: this\n }]\n\n while (stack.length) {\n frame = stack.pop()\n\n // NOTE: As with the #toString method, we are using\n // Object.keys and a for loop instead of a for-in loop\n // as both of these objects enter 'hash' mode, causing\n // the function to be de-optimised in V8\n var qEdges = Object.keys(frame.qNode.edges),\n qLen = qEdges.length,\n nEdges = Object.keys(frame.node.edges),\n nLen = nEdges.length\n\n for (var q = 0; q < qLen; q++) {\n var qEdge = qEdges[q]\n\n for (var n = 0; n < nLen; n++) {\n var nEdge = nEdges[n]\n\n if (nEdge == qEdge || qEdge == '*') {\n var node = frame.node.edges[nEdge],\n qNode = frame.qNode.edges[qEdge],\n final = node.final && qNode.final,\n next = undefined\n\n if (nEdge in frame.output.edges) {\n // an edge already exists for this character\n // no need to create a new node, just set the finality\n // bit unless this node is already final\n next = frame.output.edges[nEdge]\n next.final = next.final || final\n\n } else {\n // no edge exists yet, must create one\n // set the finality bit and insert it\n // into the output\n next = new lunr.TokenSet\n next.final = final\n frame.output.edges[nEdge] = next\n }\n\n stack.push({\n qNode: qNode,\n output: next,\n node: node\n })\n }\n }\n }\n }\n\n return output\n}\nlunr.TokenSet.Builder = function () {\n this.previousWord = \"\"\n this.root = new lunr.TokenSet\n this.uncheckedNodes = []\n this.minimizedNodes = {}\n}\n\nlunr.TokenSet.Builder.prototype.insert = function (word) {\n var node,\n commonPrefix = 0\n\n if (word < this.previousWord) {\n throw new Error (\"Out of order word insertion\")\n }\n\n for (var i = 0; i < word.length && i < this.previousWord.length; i++) {\n if (word[i] != this.previousWord[i]) break\n commonPrefix++\n }\n\n this.minimize(commonPrefix)\n\n if (this.uncheckedNodes.length == 0) {\n node = this.root\n } else {\n node = this.uncheckedNodes[this.uncheckedNodes.length - 1].child\n }\n\n for (var i = commonPrefix; i < word.length; i++) {\n var nextNode = new lunr.TokenSet,\n char = word[i]\n\n node.edges[char] = nextNode\n\n this.uncheckedNodes.push({\n parent: node,\n char: char,\n child: nextNode\n })\n\n node = nextNode\n }\n\n node.final = true\n this.previousWord = word\n}\n\nlunr.TokenSet.Builder.prototype.finish = function () {\n this.minimize(0)\n}\n\nlunr.TokenSet.Builder.prototype.minimize = function (downTo) {\n for (var i = this.uncheckedNodes.length - 1; i >= downTo; i--) {\n var node = this.uncheckedNodes[i],\n childKey = node.child.toString()\n\n if (childKey in this.minimizedNodes) {\n node.parent.edges[node.char] = this.minimizedNodes[childKey]\n } else {\n // Cache the key for this node since\n // we know it can't change anymore\n node.child._str = childKey\n\n this.minimizedNodes[childKey] = node.child\n }\n\n this.uncheckedNodes.pop()\n }\n}\n/*!\n * lunr.Index\n * Copyright (C) 2019 Oliver Nightingale\n */\n\n/**\n * An index contains the built index of all documents and provides a query interface\n * to the index.\n *\n * Usually instances of lunr.Index will not be created using this constructor, instead\n * lunr.Builder should be used to construct new indexes, or lunr.Index.load should be\n * used to load previously built and serialized indexes.\n *\n * @constructor\n * @param {Object} attrs - The attributes of the built search index.\n * @param {Object} attrs.invertedIndex - An index of term/field to document reference.\n * @param {Object<string, lunr.Vector>} attrs.fieldVectors - Field vectors\n * @param {lunr.TokenSet} attrs.tokenSet - An set of all corpus tokens.\n * @param {string[]} attrs.fields - The names of indexed document fields.\n * @param {lunr.Pipeline} attrs.pipeline - The pipeline to use for search terms.\n */\nlunr.Index = function (attrs) {\n this.invertedIndex = attrs.invertedIndex\n this.fieldVectors = attrs.fieldVectors\n this.tokenSet = attrs.tokenSet\n this.fields = attrs.fields\n this.pipeline = attrs.pipeline\n}\n\n/**\n * A result contains details of a document matching a search query.\n * @typedef {Object} lunr.Index~Result\n * @property {string} ref - The reference of the document this result represents.\n * @property {number} score - A number between 0 and 1 representing how similar this document is to the query.\n * @property {lunr.MatchData} matchData - Contains metadata about this match including which term(s) caused the match.\n */\n\n/**\n * Although lunr provides the ability to create queries using lunr.Query, it also provides a simple\n * query language which itself is parsed into an instance of lunr.Query.\n *\n * For programmatically building queries it is advised to directly use lunr.Query, the query language\n * is best used for human entered text rather than program generated text.\n *\n * At its simplest queries can just be a single term, e.g. `hello`, multiple terms are also supported\n * and will be combined with OR, e.g `hello world` will match documents that contain either 'hello'\n * or 'world', though those that contain both will rank higher in the results.\n *\n * Wildcards can be included in terms to match one or more unspecified characters, these wildcards can\n * be inserted anywhere within the term, and more than one wildcard can exist in a single term. Adding\n * wildcards will increase the number of documents that will be found but can also have a negative\n * impact on query performance, especially with wildcards at the beginning of a term.\n *\n * Terms can be restricted to specific fields, e.g. `title:hello`, only documents with the term\n * hello in the title field will match this query. Using a field not present in the index will lead\n * to an error being thrown.\n *\n * Modifiers can also be added to terms, lunr supports edit distance and boost modifiers on terms. A term\n * boost will make documents matching that term score higher, e.g. `foo^5`. Edit distance is also supported\n * to provide fuzzy matching, e.g. 'hello~2' will match documents with hello with an edit distance of 2.\n * Avoid large values for edit distance to improve query performance.\n *\n * Each term also supports a presence modifier. By default a term's presence in document is optional, however\n * this can be changed to either required or prohibited. For a term's presence to be required in a document the\n * term should be prefixed with a '+', e.g. `+foo bar` is a search for documents that must contain 'foo' and\n * optionally contain 'bar'. Conversely a leading '-' sets the terms presence to prohibited, i.e. it must not\n * appear in a document, e.g. `-foo bar` is a search for documents that do not contain 'foo' but may contain 'bar'.\n *\n * To escape special characters the backslash character '\\' can be used, this allows searches to include\n * characters that would normally be considered modifiers, e.g. `foo\\~2` will search for a term \"foo~2\" instead\n * of attempting to apply a boost of 2 to the search term \"foo\".\n *\n * @typedef {string} lunr.Index~QueryString\n * @example <caption>Simple single term query</caption>\n * hello\n * @example <caption>Multiple term query</caption>\n * hello world\n * @example <caption>term scoped to a field</caption>\n * title:hello\n * @example <caption>term with a boost of 10</caption>\n * hello^10\n * @example <caption>term with an edit distance of 2</caption>\n * hello~2\n * @example <caption>terms with presence modifiers</caption>\n * -foo +bar baz\n */\n\n/**\n * Performs a search against the index using lunr query syntax.\n *\n * Results will be returned sorted by their score, the most relevant results\n * will be returned first. For details on how the score is calculated, please see\n * the {@link https://lunrjs.com/guides/searching.html#scoring|guide}.\n *\n * For more programmatic querying use lunr.Index#query.\n *\n * @param {lunr.Index~QueryString} queryString - A string containing a lunr query.\n * @throws {lunr.QueryParseError} If the passed query string cannot be parsed.\n * @returns {lunr.Index~Result[]}\n */\nlunr.Index.prototype.search = function (queryString) {\n return this.query(function (query) {\n var parser = new lunr.QueryParser(queryString, query)\n parser.parse()\n })\n}\n\n/**\n * A query builder callback provides a query object to be used to express\n * the query to perform on the index.\n *\n * @callback lunr.Index~queryBuilder\n * @param {lunr.Query} query - The query object to build up.\n * @this lunr.Query\n */\n\n/**\n * Performs a query against the index using the yielded lunr.Query object.\n *\n * If performing programmatic queries against the index, this method is preferred\n * over lunr.Index#search so as to avoid the additional query parsing overhead.\n *\n * A query object is yielded to the supplied function which should be used to\n * express the query to be run against the index.\n *\n * Note that although this function takes a callback parameter it is _not_ an\n * asynchronous operation, the callback is just yielded a query object to be\n * customized.\n *\n * @param {lunr.Index~queryBuilder} fn - A function that is used to build the query.\n * @returns {lunr.Index~Result[]}\n */\nlunr.Index.prototype.query = function (fn) {\n // for each query clause\n // * process terms\n // * expand terms from token set\n // * find matching documents and metadata\n // * get document vectors\n // * score documents\n\n var query = new lunr.Query(this.fields),\n matchingFields = Object.create(null),\n queryVectors = Object.create(null),\n termFieldCache = Object.create(null),\n requiredMatches = Object.create(null),\n prohibitedMatches = Object.create(null)\n\n /*\n * To support field level boosts a query vector is created per\n * field. An empty vector is eagerly created to support negated\n * queries.\n */\n for (var i = 0; i < this.fields.length; i++) {\n queryVectors[this.fields[i]] = new lunr.Vector\n }\n\n fn.call(query, query)\n\n for (var i = 0; i < query.clauses.length; i++) {\n /*\n * Unless the pipeline has been disabled for this term, which is\n * the case for terms with wildcards, we need to pass the clause\n * term through the search pipeline. A pipeline returns an array\n * of processed terms. Pipeline functions may expand the passed\n * term, which means we may end up performing multiple index lookups\n * for a single query term.\n */\n var clause = query.clauses[i],\n terms = null,\n clauseMatches = lunr.Set.complete\n\n if (clause.usePipeline) {\n terms = this.pipeline.runString(clause.term, {\n fields: clause.fields\n })\n } else {\n terms = [clause.term]\n }\n\n for (var m = 0; m < terms.length; m++) {\n var term = terms[m]\n\n /*\n * Each term returned from the pipeline needs to use the same query\n * clause object, e.g. the same boost and or edit distance. The\n * simplest way to do this is to re-use the clause object but mutate\n * its term property.\n */\n clause.term = term\n\n /*\n * From the term in the clause we create a token set which will then\n * be used to intersect the indexes token set to get a list of terms\n * to lookup in the inverted index\n */\n var termTokenSet = lunr.TokenSet.fromClause(clause),\n expandedTerms = this.tokenSet.intersect(termTokenSet).toArray()\n\n /*\n * If a term marked as required does not exist in the tokenSet it is\n * impossible for the search to return any matches. We set all the field\n * scoped required matches set to empty and stop examining any further\n * clauses.\n */\n if (expandedTerms.length === 0 && clause.presence === lunr.Query.presence.REQUIRED) {\n for (var k = 0; k < clause.fields.length; k++) {\n var field = clause.fields[k]\n requiredMatches[field] = lunr.Set.empty\n }\n\n break\n }\n\n for (var j = 0; j < expandedTerms.length; j++) {\n /*\n * For each term get the posting and termIndex, this is required for\n * building the query vector.\n */\n var expandedTerm = expandedTerms[j],\n posting = this.invertedIndex[expandedTerm],\n termIndex = posting._index\n\n for (var k = 0; k < clause.fields.length; k++) {\n /*\n * For each field that this query term is scoped by (by default\n * all fields are in scope) we need to get all the document refs\n * that have this term in that field.\n *\n * The posting is the entry in the invertedIndex for the matching\n * term from above.\n */\n var field = clause.fields[k],\n fieldPosting = posting[field],\n matchingDocumentRefs = Object.keys(fieldPosting),\n termField = expandedTerm + \"/\" + field,\n matchingDocumentsSet = new lunr.Set(matchingDocumentRefs)\n\n /*\n * if the presence of this term is required ensure that the matching\n * documents are added to the set of required matches for this clause.\n *\n */\n if (clause.presence == lunr.Query.presence.REQUIRED) {\n clauseMatches = clauseMatches.union(matchingDocumentsSet)\n\n if (requiredMatches[field] === undefined) {\n requiredMatches[field] = lunr.Set.complete\n }\n }\n\n /*\n * if the presence of this term is prohibited ensure that the matching\n * documents are added to the set of prohibited matches for this field,\n * creating that set if it does not yet exist.\n */\n if (clause.presence == lunr.Query.presence.PROHIBITED) {\n if (prohibitedMatches[field] === undefined) {\n prohibitedMatches[field] = lunr.Set.empty\n }\n\n prohibitedMatches[field] = prohibitedMatches[field].union(matchingDocumentsSet)\n\n /*\n * Prohibited matches should not be part of the query vector used for\n * similarity scoring and no metadata should be extracted so we continue\n * to the next field\n */\n continue\n }\n\n /*\n * The query field vector is populated using the termIndex found for\n * the term and a unit value with the appropriate boost applied.\n * Using upsert because there could already be an entry in the vector\n * for the term we are working with. In that case we just add the scores\n * together.\n */\n queryVectors[field].upsert(termIndex, clause.boost, function (a, b) { return a + b })\n\n /**\n * If we've already seen this term, field combo then we've already collected\n * the matching documents and metadata, no need to go through all that again\n */\n if (termFieldCache[termField]) {\n continue\n }\n\n for (var l = 0; l < matchingDocumentRefs.length; l++) {\n /*\n * All metadata for this term/field/document triple\n * are then extracted and collected into an instance\n * of lunr.MatchData ready to be returned in the query\n * results\n */\n var matchingDocumentRef = matchingDocumentRefs[l],\n matchingFieldRef = new lunr.FieldRef (matchingDocumentRef, field),\n metadata = fieldPosting[matchingDocumentRef],\n fieldMatch\n\n if ((fieldMatch = matchingFields[matchingFieldRef]) === undefined) {\n matchingFields[matchingFieldRef] = new lunr.MatchData (expandedTerm, field, metadata)\n } else {\n fieldMatch.add(expandedTerm, field, metadata)\n }\n\n }\n\n termFieldCache[termField] = true\n }\n }\n }\n\n /**\n * If the presence was required we need to update the requiredMatches field sets.\n * We do this after all fields for the term have collected their matches because\n * the clause terms presence is required in _any_ of the fields not _all_ of the\n * fields.\n */\n if (clause.presence === lunr.Query.presence.REQUIRED) {\n for (var k = 0; k < clause.fields.length; k++) {\n var field = clause.fields[k]\n requiredMatches[field] = requiredMatches[field].intersect(clauseMatches)\n }\n }\n }\n\n /**\n * Need to combine the field scoped required and prohibited\n * matching documents into a global set of required and prohibited\n * matches\n */\n var allRequiredMatches = lunr.Set.complete,\n allProhibitedMatches = lunr.Set.empty\n\n for (var i = 0; i < this.fields.length; i++) {\n var field = this.fields[i]\n\n if (requiredMatches[field]) {\n allRequiredMatches = allRequiredMatches.intersect(requiredMatches[field])\n }\n\n if (prohibitedMatches[field]) {\n allProhibitedMatches = allProhibitedMatches.union(prohibitedMatches[field])\n }\n }\n\n var matchingFieldRefs = Object.keys(matchingFields),\n results = [],\n matches = Object.create(null)\n\n /*\n * If the query is negated (contains only prohibited terms)\n * we need to get _all_ fieldRefs currently existing in the\n * index. This is only done when we know that the query is\n * entirely prohibited terms to avoid any cost of getting all\n * fieldRefs unnecessarily.\n *\n * Additionally, blank MatchData must be created to correctly\n * populate the results.\n */\n if (query.isNegated()) {\n matchingFieldRefs = Object.keys(this.fieldVectors)\n\n for (var i = 0; i < matchingFieldRefs.length; i++) {\n var matchingFieldRef = matchingFieldRefs[i]\n var fieldRef = lunr.FieldRef.fromString(matchingFieldRef)\n matchingFields[matchingFieldRef] = new lunr.MatchData\n }\n }\n\n for (var i = 0; i < matchingFieldRefs.length; i++) {\n /*\n * Currently we have document fields that match the query, but we\n * need to return documents. The matchData and scores are combined\n * from multiple fields belonging to the same document.\n *\n * Scores are calculated by field, using the query vectors created\n * above, and combined into a final document score using addition.\n */\n var fieldRef = lunr.FieldRef.fromString(matchingFieldRefs[i]),\n docRef = fieldRef.docRef\n\n if (!allRequiredMatches.contains(docRef)) {\n continue\n }\n\n if (allProhibitedMatches.contains(docRef)) {\n continue\n }\n\n var fieldVector = this.fieldVectors[fieldRef],\n score = queryVectors[fieldRef.fieldName].similarity(fieldVector),\n docMatch\n\n if ((docMatch = matches[docRef]) !== undefined) {\n docMatch.score += score\n docMatch.matchData.combine(matchingFields[fieldRef])\n } else {\n var match = {\n ref: docRef,\n score: score,\n matchData: matchingFields[fieldRef]\n }\n matches[docRef] = match\n results.push(match)\n }\n }\n\n /*\n * Sort the results objects by score, highest first.\n */\n return results.sort(function (a, b) {\n return b.score - a.score\n })\n}\n\n/**\n * Prepares the index for JSON serialization.\n *\n * The schema for this JSON blob will be described in a\n * separate JSON schema file.\n *\n * @returns {Object}\n */\nlunr.Index.prototype.toJSON = function () {\n var invertedIndex = Object.keys(this.invertedIndex)\n .sort()\n .map(function (term) {\n return [term, this.invertedIndex[term]]\n }, this)\n\n var fieldVectors = Object.keys(this.fieldVectors)\n .map(function (ref) {\n return [ref, this.fieldVectors[ref].toJSON()]\n }, this)\n\n return {\n version: lunr.version,\n fields: this.fields,\n fieldVectors: fieldVectors,\n invertedIndex: invertedIndex,\n pipeline: this.pipeline.toJSON()\n }\n}\n\n/**\n * Loads a previously serialized lunr.Index\n *\n * @param {Object} serializedIndex - A previously serialized lunr.Index\n * @returns {lunr.Index}\n */\nlunr.Index.load = function (serializedIndex) {\n var attrs = {},\n fieldVectors = {},\n serializedVectors = serializedIndex.fieldVectors,\n invertedIndex = Object.create(null),\n serializedInvertedIndex = serializedIndex.invertedIndex,\n tokenSetBuilder = new lunr.TokenSet.Builder,\n pipeline = lunr.Pipeline.load(serializedIndex.pipeline)\n\n if (serializedIndex.version != lunr.version) {\n lunr.utils.warn(\"Version mismatch when loading serialised index. Current version of lunr '\" + lunr.version + \"' does not match serialized index '\" + serializedIndex.version + \"'\")\n }\n\n for (var i = 0; i < serializedVectors.length; i++) {\n var tuple = serializedVectors[i],\n ref = tuple[0],\n elements = tuple[1]\n\n fieldVectors[ref] = new lunr.Vector(elements)\n }\n\n for (var i = 0; i < serializedInvertedIndex.length; i++) {\n var tuple = serializedInvertedIndex[i],\n term = tuple[0],\n posting = tuple[1]\n\n tokenSetBuilder.insert(term)\n invertedIndex[term] = posting\n }\n\n tokenSetBuilder.finish()\n\n attrs.fields = serializedIndex.fields\n\n attrs.fieldVectors = fieldVectors\n attrs.invertedIndex = invertedIndex\n attrs.tokenSet = tokenSetBuilder.root\n attrs.pipeline = pipeline\n\n return new lunr.Index(attrs)\n}\n/*!\n * lunr.Builder\n * Copyright (C) 2019 Oliver Nightingale\n */\n\n/**\n * lunr.Builder performs indexing on a set of documents and\n * returns instances of lunr.Index ready for querying.\n *\n * All configuration of the index is done via the builder, the\n * fields to index, the document reference, the text processing\n * pipeline and document scoring parameters are all set on the\n * builder before indexing.\n *\n * @constructor\n * @property {string} _ref - Internal reference to the document reference field.\n * @property {string[]} _fields - Internal reference to the document fields to index.\n * @property {object} invertedIndex - The inverted index maps terms to document fields.\n * @property {object} documentTermFrequencies - Keeps track of document term frequencies.\n * @property {object} documentLengths - Keeps track of the length of documents added to the index.\n * @property {lunr.tokenizer} tokenizer - Function for splitting strings into tokens for indexing.\n * @property {lunr.Pipeline} pipeline - The pipeline performs text processing on tokens before indexing.\n * @property {lunr.Pipeline} searchPipeline - A pipeline for processing search terms before querying the index.\n * @property {number} documentCount - Keeps track of the total number of documents indexed.\n * @property {number} _b - A parameter to control field length normalization, setting this to 0 disabled normalization, 1 fully normalizes field lengths, the default value is 0.75.\n * @property {number} _k1 - A parameter to control how quickly an increase in term frequency results in term frequency saturation, the default value is 1.2.\n * @property {number} termIndex - A counter incremented for each unique term, used to identify a terms position in the vector space.\n * @property {array} metadataWhitelist - A list of metadata keys that have been whitelisted for entry in the index.\n */\nlunr.Builder = function () {\n this._ref = \"id\"\n this._fields = Object.create(null)\n this._documents = Object.create(null)\n this.invertedIndex = Object.create(null)\n this.fieldTermFrequencies = {}\n this.fieldLengths = {}\n this.tokenizer = lunr.tokenizer\n this.pipeline = new lunr.Pipeline\n this.searchPipeline = new lunr.Pipeline\n this.documentCount = 0\n this._b = 0.75\n this._k1 = 1.2\n this.termIndex = 0\n this.metadataWhitelist = []\n}\n\n/**\n * Sets the document field used as the document reference. Every document must have this field.\n * The type of this field in the document should be a string, if it is not a string it will be\n * coerced into a string by calling toString.\n *\n * The default ref is 'id'.\n *\n * The ref should _not_ be changed during indexing, it should be set before any documents are\n * added to the index. Changing it during indexing can lead to inconsistent results.\n *\n * @param {string} ref - The name of the reference field in the document.\n */\nlunr.Builder.prototype.ref = function (ref) {\n this._ref = ref\n}\n\n/**\n * A function that is used to extract a field from a document.\n *\n * Lunr expects a field to be at the top level of a document, if however the field\n * is deeply nested within a document an extractor function can be used to extract\n * the right field for indexing.\n *\n * @callback fieldExtractor\n * @param {object} doc - The document being added to the index.\n * @returns {?(string|object|object[])} obj - The object that will be indexed for this field.\n * @example <caption>Extracting a nested field</caption>\n * function (doc) { return doc.nested.field }\n */\n\n/**\n * Adds a field to the list of document fields that will be indexed. Every document being\n * indexed should have this field. Null values for this field in indexed documents will\n * not cause errors but will limit the chance of that document being retrieved by searches.\n *\n * All fields should be added before adding documents to the index. Adding fields after\n * a document has been indexed will have no effect on already indexed documents.\n *\n * Fields can be boosted at build time. This allows terms within that field to have more\n * importance when ranking search results. Use a field boost to specify that matches within\n * one field are more important than other fields.\n *\n * @param {string} fieldName - The name of a field to index in all documents.\n * @param {object} attributes - Optional attributes associated with this field.\n * @param {number} [attributes.boost=1] - Boost applied to all terms within this field.\n * @param {fieldExtractor} [attributes.extractor] - Function to extract a field from a document.\n * @throws {RangeError} fieldName cannot contain unsupported characters '/'\n */\nlunr.Builder.prototype.field = function (fieldName, attributes) {\n if (/\\//.test(fieldName)) {\n throw new RangeError (\"Field '\" + fieldName + \"' contains illegal character '/'\")\n }\n\n this._fields[fieldName] = attributes || {}\n}\n\n/**\n * A parameter to tune the amount of field length normalisation that is applied when\n * calculating relevance scores. A value of 0 will completely disable any normalisation\n * and a value of 1 will fully normalise field lengths. The default is 0.75. Values of b\n * will be clamped to the range 0 - 1.\n *\n * @param {number} number - The value to set for this tuning parameter.\n */\nlunr.Builder.prototype.b = function (number) {\n if (number < 0) {\n this._b = 0\n } else if (number > 1) {\n this._b = 1\n } else {\n this._b = number\n }\n}\n\n/**\n * A parameter that controls the speed at which a rise in term frequency results in term\n * frequency saturation. The default value is 1.2. Setting this to a higher value will give\n * slower saturation levels, a lower value will result in quicker saturation.\n *\n * @param {number} number - The value to set for this tuning parameter.\n */\nlunr.Builder.prototype.k1 = function (number) {\n this._k1 = number\n}\n\n/**\n * Adds a document to the index.\n *\n * Before adding fields to the index the index should have been fully setup, with the document\n * ref and all fields to index already having been specified.\n *\n * The document must have a field name as specified by the ref (by default this is 'id') and\n * it should have all fields defined for indexing, though null or undefined values will not\n * cause errors.\n *\n * Entire documents can be boosted at build time. Applying a boost to a document indicates that\n * this document should rank higher in search results than other documents.\n *\n * @param {object} doc - The document to add to the index.\n * @param {object} attributes - Optional attributes associated with this document.\n * @param {number} [attributes.boost=1] - Boost applied to all terms within this document.\n */\nlunr.Builder.prototype.add = function (doc, attributes) {\n var docRef = doc[this._ref],\n fields = Object.keys(this._fields)\n\n this._documents[docRef] = attributes || {}\n this.documentCount += 1\n\n for (var i = 0; i < fields.length; i++) {\n var fieldName = fields[i],\n extractor = this._fields[fieldName].extractor,\n field = extractor ? extractor(doc) : doc[fieldName],\n tokens = this.tokenizer(field, {\n fields: [fieldName]\n }),\n terms = this.pipeline.run(tokens),\n fieldRef = new lunr.FieldRef (docRef, fieldName),\n fieldTerms = Object.create(null)\n\n this.fieldTermFrequencies[fieldRef] = fieldTerms\n this.fieldLengths[fieldRef] = 0\n\n // store the length of this field for this document\n this.fieldLengths[fieldRef] += terms.length\n\n // calculate term frequencies for this field\n for (var j = 0; j < terms.length; j++) {\n var term = terms[j]\n\n if (fieldTerms[term] == undefined) {\n fieldTerms[term] = 0\n }\n\n fieldTerms[term] += 1\n\n // add to inverted index\n // create an initial posting if one doesn't exist\n if (this.invertedIndex[term] == undefined) {\n var posting = Object.create(null)\n posting[\"_index\"] = this.termIndex\n this.termIndex += 1\n\n for (var k = 0; k < fields.length; k++) {\n posting[fields[k]] = Object.create(null)\n }\n\n this.invertedIndex[term] = posting\n }\n\n // add an entry for this term/fieldName/docRef to the invertedIndex\n if (this.invertedIndex[term][fieldName][docRef] == undefined) {\n this.invertedIndex[term][fieldName][docRef] = Object.create(null)\n }\n\n // store all whitelisted metadata about this token in the\n // inverted index\n for (var l = 0; l < this.metadataWhitelist.length; l++) {\n var metadataKey = this.metadataWhitelist[l],\n metadata = term.metadata[metadataKey]\n\n if (this.invertedIndex[term][fieldName][docRef][metadataKey] == undefined) {\n this.invertedIndex[term][fieldName][docRef][metadataKey] = []\n }\n\n this.invertedIndex[term][fieldName][docRef][metadataKey].push(metadata)\n }\n }\n\n }\n}\n\n/**\n * Calculates the average document length for this index\n *\n * @private\n */\nlunr.Builder.prototype.calculateAverageFieldLengths = function () {\n\n var fieldRefs = Object.keys(this.fieldLengths),\n numberOfFields = fieldRefs.length,\n accumulator = {},\n documentsWithField = {}\n\n for (var i = 0; i < numberOfFields; i++) {\n var fieldRef = lunr.FieldRef.fromString(fieldRefs[i]),\n field = fieldRef.fieldName\n\n documentsWithField[field] || (documentsWithField[field] = 0)\n documentsWithField[field] += 1\n\n accumulator[field] || (accumulator[field] = 0)\n accumulator[field] += this.fieldLengths[fieldRef]\n }\n\n var fields = Object.keys(this._fields)\n\n for (var i = 0; i < fields.length; i++) {\n var fieldName = fields[i]\n accumulator[fieldName] = accumulator[fieldName] / documentsWithField[fieldName]\n }\n\n this.averageFieldLength = accumulator\n}\n\n/**\n * Builds a vector space model of every document using lunr.Vector\n *\n * @private\n */\nlunr.Builder.prototype.createFieldVectors = function () {\n var fieldVectors = {},\n fieldRefs = Object.keys(this.fieldTermFrequencies),\n fieldRefsLength = fieldRefs.length,\n termIdfCache = Object.create(null)\n\n for (var i = 0; i < fieldRefsLength; i++) {\n var fieldRef = lunr.FieldRef.fromString(fieldRefs[i]),\n fieldName = fieldRef.fieldName,\n fieldLength = this.fieldLengths[fieldRef],\n fieldVector = new lunr.Vector,\n termFrequencies = this.fieldTermFrequencies[fieldRef],\n terms = Object.keys(termFrequencies),\n termsLength = terms.length\n\n\n var fieldBoost = this._fields[fieldName].boost || 1,\n docBoost = this._documents[fieldRef.docRef].boost || 1\n\n for (var j = 0; j < termsLength; j++) {\n var term = terms[j],\n tf = termFrequencies[term],\n termIndex = this.invertedIndex[term]._index,\n idf, score, scoreWithPrecision\n\n if (termIdfCache[term] === undefined) {\n idf = lunr.idf(this.invertedIndex[term], this.documentCount)\n termIdfCache[term] = idf\n } else {\n idf = termIdfCache[term]\n }\n\n score = idf * ((this._k1 + 1) * tf) / (this._k1 * (1 - this._b + this._b * (fieldLength / this.averageFieldLength[fieldName])) + tf)\n score *= fieldBoost\n score *= docBoost\n scoreWithPrecision = Math.round(score * 1000) / 1000\n // Converts 1.23456789 to 1.234.\n // Reducing the precision so that the vectors take up less\n // space when serialised. Doing it now so that they behave\n // the same before and after serialisation. Also, this is\n // the fastest approach to reducing a number's precision in\n // JavaScript.\n\n fieldVector.insert(termIndex, scoreWithPrecision)\n }\n\n fieldVectors[fieldRef] = fieldVector\n }\n\n this.fieldVectors = fieldVectors\n}\n\n/**\n * Creates a token set of all tokens in the index using lunr.TokenSet\n *\n * @private\n */\nlunr.Builder.prototype.createTokenSet = function () {\n this.tokenSet = lunr.TokenSet.fromArray(\n Object.keys(this.invertedIndex).sort()\n )\n}\n\n/**\n * Builds the index, creating an instance of lunr.Index.\n *\n * This completes the indexing process and should only be called\n * once all documents have been added to the index.\n *\n * @returns {lunr.Index}\n */\nlunr.Builder.prototype.build = function () {\n this.calculateAverageFieldLengths()\n this.createFieldVectors()\n this.createTokenSet()\n\n return new lunr.Index({\n invertedIndex: this.invertedIndex,\n fieldVectors: this.fieldVectors,\n tokenSet: this.tokenSet,\n fields: Object.keys(this._fields),\n pipeline: this.searchPipeline\n })\n}\n\n/**\n * Applies a plugin to the index builder.\n *\n * A plugin is a function that is called with the index builder as its context.\n * Plugins can be used to customise or extend the behaviour of the index\n * in some way. A plugin is just a function, that encapsulated the custom\n * behaviour that should be applied when building the index.\n *\n * The plugin function will be called with the index builder as its argument, additional\n * arguments can also be passed when calling use. The function will be called\n * with the index builder as its context.\n *\n * @param {Function} plugin The plugin to apply.\n */\nlunr.Builder.prototype.use = function (fn) {\n var args = Array.prototype.slice.call(arguments, 1)\n args.unshift(this)\n fn.apply(this, args)\n}\n/**\n * Contains and collects metadata about a matching document.\n * A single instance of lunr.MatchData is returned as part of every\n * lunr.Index~Result.\n *\n * @constructor\n * @param {string} term - The term this match data is associated with\n * @param {string} field - The field in which the term was found\n * @param {object} metadata - The metadata recorded about this term in this field\n * @property {object} metadata - A cloned collection of metadata associated with this document.\n * @see {@link lunr.Index~Result}\n */\nlunr.MatchData = function (term, field, metadata) {\n var clonedMetadata = Object.create(null),\n metadataKeys = Object.keys(metadata || {})\n\n // Cloning the metadata to prevent the original\n // being mutated during match data combination.\n // Metadata is kept in an array within the inverted\n // index so cloning the data can be done with\n // Array#slice\n for (var i = 0; i < metadataKeys.length; i++) {\n var key = metadataKeys[i]\n clonedMetadata[key] = metadata[key].slice()\n }\n\n this.metadata = Object.create(null)\n\n if (term !== undefined) {\n this.metadata[term] = Object.create(null)\n this.metadata[term][field] = clonedMetadata\n }\n}\n\n/**\n * An instance of lunr.MatchData will be created for every term that matches a\n * document. However only one instance is required in a lunr.Index~Result. This\n * method combines metadata from another instance of lunr.MatchData with this\n * objects metadata.\n *\n * @param {lunr.MatchData} otherMatchData - Another instance of match data to merge with this one.\n * @see {@link lunr.Index~Result}\n */\nlunr.MatchData.prototype.combine = function (otherMatchData) {\n var terms = Object.keys(otherMatchData.metadata)\n\n for (var i = 0; i < terms.length; i++) {\n var term = terms[i],\n fields = Object.keys(otherMatchData.metadata[term])\n\n if (this.metadata[term] == undefined) {\n this.metadata[term] = Object.create(null)\n }\n\n for (var j = 0; j < fields.length; j++) {\n var field = fields[j],\n keys = Object.keys(otherMatchData.metadata[term][field])\n\n if (this.metadata[term][field] == undefined) {\n this.metadata[term][field] = Object.create(null)\n }\n\n for (var k = 0; k < keys.length; k++) {\n var key = keys[k]\n\n if (this.metadata[term][field][key] == undefined) {\n this.metadata[term][field][key] = otherMatchData.metadata[term][field][key]\n } else {\n this.metadata[term][field][key] = this.metadata[term][field][key].concat(otherMatchData.metadata[term][field][key])\n }\n\n }\n }\n }\n}\n\n/**\n * Add metadata for a term/field pair to this instance of match data.\n *\n * @param {string} term - The term this match data is associated with\n * @param {string} field - The field in which the term was found\n * @param {object} metadata - The metadata recorded about this term in this field\n */\nlunr.MatchData.prototype.add = function (term, field, metadata) {\n if (!(term in this.metadata)) {\n this.metadata[term] = Object.create(null)\n this.metadata[term][field] = metadata\n return\n }\n\n if (!(field in this.metadata[term])) {\n this.metadata[term][field] = metadata\n return\n }\n\n var metadataKeys = Object.keys(metadata)\n\n for (var i = 0; i < metadataKeys.length; i++) {\n var key = metadataKeys[i]\n\n if (key in this.metadata[term][field]) {\n this.metadata[term][field][key] = this.metadata[term][field][key].concat(metadata[key])\n } else {\n this.metadata[term][field][key] = metadata[key]\n }\n }\n}\n/**\n * A lunr.Query provides a programmatic way of defining queries to be performed\n * against a {@link lunr.Index}.\n *\n * Prefer constructing a lunr.Query using the {@link lunr.Index#query} method\n * so the query object is pre-initialized with the right index fields.\n *\n * @constructor\n * @property {lunr.Query~Clause[]} clauses - An array of query clauses.\n * @property {string[]} allFields - An array of all available fields in a lunr.Index.\n */\nlunr.Query = function (allFields) {\n this.clauses = []\n this.allFields = allFields\n}\n\n/**\n * Constants for indicating what kind of automatic wildcard insertion will be used when constructing a query clause.\n *\n * This allows wildcards to be added to the beginning and end of a term without having to manually do any string\n * concatenation.\n *\n * The wildcard constants can be bitwise combined to select both leading and trailing wildcards.\n *\n * @constant\n * @default\n * @property {number} wildcard.NONE - The term will have no wildcards inserted, this is the default behaviour\n * @property {number} wildcard.LEADING - Prepend the term with a wildcard, unless a leading wildcard already exists\n * @property {number} wildcard.TRAILING - Append a wildcard to the term, unless a trailing wildcard already exists\n * @see lunr.Query~Clause\n * @see lunr.Query#clause\n * @see lunr.Query#term\n * @example <caption>query term with trailing wildcard</caption>\n * query.term('foo', { wildcard: lunr.Query.wildcard.TRAILING })\n * @example <caption>query term with leading and trailing wildcard</caption>\n * query.term('foo', {\n * wildcard: lunr.Query.wildcard.LEADING | lunr.Query.wildcard.TRAILING\n * })\n */\n\nlunr.Query.wildcard = new String (\"*\")\nlunr.Query.wildcard.NONE = 0\nlunr.Query.wildcard.LEADING = 1\nlunr.Query.wildcard.TRAILING = 2\n\n/**\n * Constants for indicating what kind of presence a term must have in matching documents.\n *\n * @constant\n * @enum {number}\n * @see lunr.Query~Clause\n * @see lunr.Query#clause\n * @see lunr.Query#term\n * @example <caption>query term with required presence</caption>\n * query.term('foo', { presence: lunr.Query.presence.REQUIRED })\n */\nlunr.Query.presence = {\n /**\n * Term's presence in a document is optional, this is the default value.\n */\n OPTIONAL: 1,\n\n /**\n * Term's presence in a document is required, documents that do not contain\n * this term will not be returned.\n */\n REQUIRED: 2,\n\n /**\n * Term's presence in a document is prohibited, documents that do contain\n * this term will not be returned.\n */\n PROHIBITED: 3\n}\n\n/**\n * A single clause in a {@link lunr.Query} contains a term and details on how to\n * match that term against a {@link lunr.Index}.\n *\n * @typedef {Object} lunr.Query~Clause\n * @property {string[]} fields - The fields in an index this clause should be matched against.\n * @property {number} [boost=1] - Any boost that should be applied when matching this clause.\n * @property {number} [editDistance] - Whether the term should have fuzzy matching applied, and how fuzzy the match should be.\n * @property {boolean} [usePipeline] - Whether the term should be passed through the search pipeline.\n * @property {number} [wildcard=lunr.Query.wildcard.NONE] - Whether the term should have wildcards appended or prepended.\n * @property {number} [presence=lunr.Query.presence.OPTIONAL] - The terms presence in any matching documents.\n */\n\n/**\n * Adds a {@link lunr.Query~Clause} to this query.\n *\n * Unless the clause contains the fields to be matched all fields will be matched. In addition\n * a default boost of 1 is applied to the clause.\n *\n * @param {lunr.Query~Clause} clause - The clause to add to this query.\n * @see lunr.Query~Clause\n * @returns {lunr.Query}\n */\nlunr.Query.prototype.clause = function (clause) {\n if (!('fields' in clause)) {\n clause.fields = this.allFields\n }\n\n if (!('boost' in clause)) {\n clause.boost = 1\n }\n\n if (!('usePipeline' in clause)) {\n clause.usePipeline = true\n }\n\n if (!('wildcard' in clause)) {\n clause.wildcard = lunr.Query.wildcard.NONE\n }\n\n if ((clause.wildcard & lunr.Query.wildcard.LEADING) && (clause.term.charAt(0) != lunr.Query.wildcard)) {\n clause.term = \"*\" + clause.term\n }\n\n if ((clause.wildcard & lunr.Query.wildcard.TRAILING) && (clause.term.slice(-1) != lunr.Query.wildcard)) {\n clause.term = \"\" + clause.term + \"*\"\n }\n\n if (!('presence' in clause)) {\n clause.presence = lunr.Query.presence.OPTIONAL\n }\n\n this.clauses.push(clause)\n\n return this\n}\n\n/**\n * A negated query is one in which every clause has a presence of\n * prohibited. These queries require some special processing to return\n * the expected results.\n *\n * @returns boolean\n */\nlunr.Query.prototype.isNegated = function () {\n for (var i = 0; i < this.clauses.length; i++) {\n if (this.clauses[i].presence != lunr.Query.presence.PROHIBITED) {\n return false\n }\n }\n\n return true\n}\n\n/**\n * Adds a term to the current query, under the covers this will create a {@link lunr.Query~Clause}\n * to the list of clauses that make up this query.\n *\n * The term is used as is, i.e. no tokenization will be performed by this method. Instead conversion\n * to a token or token-like string should be done before calling this method.\n *\n * The term will be converted to a string by calling `toString`. Multiple terms can be passed as an\n * array, each term in the array will share the same options.\n *\n * @param {object|object[]} term - The term(s) to add to the query.\n * @param {object} [options] - Any additional properties to add to the query clause.\n * @returns {lunr.Query}\n * @see lunr.Query#clause\n * @see lunr.Query~Clause\n * @example <caption>adding a single term to a query</caption>\n * query.term(\"foo\")\n * @example <caption>adding a single term to a query and specifying search fields, term boost and automatic trailing wildcard</caption>\n * query.term(\"foo\", {\n * fields: [\"title\"],\n * boost: 10,\n * wildcard: lunr.Query.wildcard.TRAILING\n * })\n * @example <caption>using lunr.tokenizer to convert a string to tokens before using them as terms</caption>\n * query.term(lunr.tokenizer(\"foo bar\"))\n */\nlunr.Query.prototype.term = function (term, options) {\n if (Array.isArray(term)) {\n term.forEach(function (t) { this.term(t, lunr.utils.clone(options)) }, this)\n return this\n }\n\n var clause = options || {}\n clause.term = term.toString()\n\n this.clause(clause)\n\n return this\n}\nlunr.QueryParseError = function (message, start, end) {\n this.name = \"QueryParseError\"\n this.message = message\n this.start = start\n this.end = end\n}\n\nlunr.QueryParseError.prototype = new Error\nlunr.QueryLexer = function (str) {\n this.lexemes = []\n this.str = str\n this.length = str.length\n this.pos = 0\n this.start = 0\n this.escapeCharPositions = []\n}\n\nlunr.QueryLexer.prototype.run = function () {\n var state = lunr.QueryLexer.lexText\n\n while (state) {\n state = state(this)\n }\n}\n\nlunr.QueryLexer.prototype.sliceString = function () {\n var subSlices = [],\n sliceStart = this.start,\n sliceEnd = this.pos\n\n for (var i = 0; i < this.escapeCharPositions.length; i++) {\n sliceEnd = this.escapeCharPositions[i]\n subSlices.push(this.str.slice(sliceStart, sliceEnd))\n sliceStart = sliceEnd + 1\n }\n\n subSlices.push(this.str.slice(sliceStart, this.pos))\n this.escapeCharPositions.length = 0\n\n return subSlices.join('')\n}\n\nlunr.QueryLexer.prototype.emit = function (type) {\n this.lexemes.push({\n type: type,\n str: this.sliceString(),\n start: this.start,\n end: this.pos\n })\n\n this.start = this.pos\n}\n\nlunr.QueryLexer.prototype.escapeCharacter = function () {\n this.escapeCharPositions.push(this.pos - 1)\n this.pos += 1\n}\n\nlunr.QueryLexer.prototype.next = function () {\n if (this.pos >= this.length) {\n return lunr.QueryLexer.EOS\n }\n\n var char = this.str.charAt(this.pos)\n this.pos += 1\n return char\n}\n\nlunr.QueryLexer.prototype.width = function () {\n return this.pos - this.start\n}\n\nlunr.QueryLexer.prototype.ignore = function () {\n if (this.start == this.pos) {\n this.pos += 1\n }\n\n this.start = this.pos\n}\n\nlunr.QueryLexer.prototype.backup = function () {\n this.pos -= 1\n}\n\nlunr.QueryLexer.prototype.acceptDigitRun = function () {\n var char, charCode\n\n do {\n char = this.next()\n charCode = char.charCodeAt(0)\n } while (charCode > 47 && charCode < 58)\n\n if (char != lunr.QueryLexer.EOS) {\n this.backup()\n }\n}\n\nlunr.QueryLexer.prototype.more = function () {\n return this.pos < this.length\n}\n\nlunr.QueryLexer.EOS = 'EOS'\nlunr.QueryLexer.FIELD = 'FIELD'\nlunr.QueryLexer.TERM = 'TERM'\nlunr.QueryLexer.EDIT_DISTANCE = 'EDIT_DISTANCE'\nlunr.QueryLexer.BOOST = 'BOOST'\nlunr.QueryLexer.PRESENCE = 'PRESENCE'\n\nlunr.QueryLexer.lexField = function (lexer) {\n lexer.backup()\n lexer.emit(lunr.QueryLexer.FIELD)\n lexer.ignore()\n return lunr.QueryLexer.lexText\n}\n\nlunr.QueryLexer.lexTerm = function (lexer) {\n if (lexer.width() > 1) {\n lexer.backup()\n lexer.emit(lunr.QueryLexer.TERM)\n }\n\n lexer.ignore()\n\n if (lexer.more()) {\n return lunr.QueryLexer.lexText\n }\n}\n\nlunr.QueryLexer.lexEditDistance = function (lexer) {\n lexer.ignore()\n lexer.acceptDigitRun()\n lexer.emit(lunr.QueryLexer.EDIT_DISTANCE)\n return lunr.QueryLexer.lexText\n}\n\nlunr.QueryLexer.lexBoost = function (lexer) {\n lexer.ignore()\n lexer.acceptDigitRun()\n lexer.emit(lunr.QueryLexer.BOOST)\n return lunr.QueryLexer.lexText\n}\n\nlunr.QueryLexer.lexEOS = function (lexer) {\n if (lexer.width() > 0) {\n lexer.emit(lunr.QueryLexer.TERM)\n }\n}\n\n// This matches the separator used when tokenising fields\n// within a document. These should match otherwise it is\n// not possible to search for some tokens within a document.\n//\n// It is possible for the user to change the separator on the\n// tokenizer so it _might_ clash with any other of the special\n// characters already used within the search string, e.g. :.\n//\n// This means that it is possible to change the separator in\n// such a way that makes some words unsearchable using a search\n// string.\nlunr.QueryLexer.termSeparator = lunr.tokenizer.separator\n\nlunr.QueryLexer.lexText = function (lexer) {\n while (true) {\n var char = lexer.next()\n\n if (char == lunr.QueryLexer.EOS) {\n return lunr.QueryLexer.lexEOS\n }\n\n // Escape character is '\\'\n if (char.charCodeAt(0) == 92) {\n lexer.escapeCharacter()\n continue\n }\n\n if (char == \":\") {\n return lunr.QueryLexer.lexField\n }\n\n if (char == \"~\") {\n lexer.backup()\n if (lexer.width() > 0) {\n lexer.emit(lunr.QueryLexer.TERM)\n }\n return lunr.QueryLexer.lexEditDistance\n }\n\n if (char == \"^\") {\n lexer.backup()\n if (lexer.width() > 0) {\n lexer.emit(lunr.QueryLexer.TERM)\n }\n return lunr.QueryLexer.lexBoost\n }\n\n // \"+\" indicates term presence is required\n // checking for length to ensure that only\n // leading \"+\" are considered\n if (char == \"+\" && lexer.width() === 1) {\n lexer.emit(lunr.QueryLexer.PRESENCE)\n return lunr.QueryLexer.lexText\n }\n\n // \"-\" indicates term presence is prohibited\n // checking for length to ensure that only\n // leading \"-\" are considered\n if (char == \"-\" && lexer.width() === 1) {\n lexer.emit(lunr.QueryLexer.PRESENCE)\n return lunr.QueryLexer.lexText\n }\n\n if (char.match(lunr.QueryLexer.termSeparator)) {\n return lunr.QueryLexer.lexTerm\n }\n }\n}\n\nlunr.QueryParser = function (str, query) {\n this.lexer = new lunr.QueryLexer (str)\n this.query = query\n this.currentClause = {}\n this.lexemeIdx = 0\n}\n\nlunr.QueryParser.prototype.parse = function () {\n this.lexer.run()\n this.lexemes = this.lexer.lexemes\n\n var state = lunr.QueryParser.parseClause\n\n while (state) {\n state = state(this)\n }\n\n return this.query\n}\n\nlunr.QueryParser.prototype.peekLexeme = function () {\n return this.lexemes[this.lexemeIdx]\n}\n\nlunr.QueryParser.prototype.consumeLexeme = function () {\n var lexeme = this.peekLexeme()\n this.lexemeIdx += 1\n return lexeme\n}\n\nlunr.QueryParser.prototype.nextClause = function () {\n var completedClause = this.currentClause\n this.query.clause(completedClause)\n this.currentClause = {}\n}\n\nlunr.QueryParser.parseClause = function (parser) {\n var lexeme = parser.peekLexeme()\n\n if (lexeme == undefined) {\n return\n }\n\n switch (lexeme.type) {\n case lunr.QueryLexer.PRESENCE:\n return lunr.QueryParser.parsePresence\n case lunr.QueryLexer.FIELD:\n return lunr.QueryParser.parseField\n case lunr.QueryLexer.TERM:\n return lunr.QueryParser.parseTerm\n default:\n var errorMessage = \"expected either a field or a term, found \" + lexeme.type\n\n if (lexeme.str.length >= 1) {\n errorMessage += \" with value '\" + lexeme.str + \"'\"\n }\n\n throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end)\n }\n}\n\nlunr.QueryParser.parsePresence = function (parser) {\n var lexeme = parser.consumeLexeme()\n\n if (lexeme == undefined) {\n return\n }\n\n switch (lexeme.str) {\n case \"-\":\n parser.currentClause.presence = lunr.Query.presence.PROHIBITED\n break\n case \"+\":\n parser.currentClause.presence = lunr.Query.presence.REQUIRED\n break\n default:\n var errorMessage = \"unrecognised presence operator'\" + lexeme.str + \"'\"\n throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end)\n }\n\n var nextLexeme = parser.peekLexeme()\n\n if (nextLexeme == undefined) {\n var errorMessage = \"expecting term or field, found nothing\"\n throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end)\n }\n\n switch (nextLexeme.type) {\n case lunr.QueryLexer.FIELD:\n return lunr.QueryParser.parseField\n case lunr.QueryLexer.TERM:\n return lunr.QueryParser.parseTerm\n default:\n var errorMessage = \"expecting term or field, found '\" + nextLexeme.type + \"'\"\n throw new lunr.QueryParseError (errorMessage, nextLexeme.start, nextLexeme.end)\n }\n}\n\nlunr.QueryParser.parseField = function (parser) {\n var lexeme = parser.consumeLexeme()\n\n if (lexeme == undefined) {\n return\n }\n\n if (parser.query.allFields.indexOf(lexeme.str) == -1) {\n var possibleFields = parser.query.allFields.map(function (f) { return \"'\" + f + \"'\" }).join(', '),\n errorMessage = \"unrecognised field '\" + lexeme.str + \"', possible fields: \" + possibleFields\n\n throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end)\n }\n\n parser.currentClause.fields = [lexeme.str]\n\n var nextLexeme = parser.peekLexeme()\n\n if (nextLexeme == undefined) {\n var errorMessage = \"expecting term, found nothing\"\n throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end)\n }\n\n switch (nextLexeme.type) {\n case lunr.QueryLexer.TERM:\n return lunr.QueryParser.parseTerm\n default:\n var errorMessage = \"expecting term, found '\" + nextLexeme.type + \"'\"\n throw new lunr.QueryParseError (errorMessage, nextLexeme.start, nextLexeme.end)\n }\n}\n\nlunr.QueryParser.parseTerm = function (parser) {\n var lexeme = parser.consumeLexeme()\n\n if (lexeme == undefined) {\n return\n }\n\n parser.currentClause.term = lexeme.str.toLowerCase()\n\n if (lexeme.str.indexOf(\"*\") != -1) {\n parser.currentClause.usePipeline = false\n }\n\n var nextLexeme = parser.peekLexeme()\n\n if (nextLexeme == undefined) {\n parser.nextClause()\n return\n }\n\n switch (nextLexeme.type) {\n case lunr.QueryLexer.TERM:\n parser.nextClause()\n return lunr.QueryParser.parseTerm\n case lunr.QueryLexer.FIELD:\n parser.nextClause()\n return lunr.QueryParser.parseField\n case lunr.QueryLexer.EDIT_DISTANCE:\n return lunr.QueryParser.parseEditDistance\n case lunr.QueryLexer.BOOST:\n return lunr.QueryParser.parseBoost\n case lunr.QueryLexer.PRESENCE:\n parser.nextClause()\n return lunr.QueryParser.parsePresence\n default:\n var errorMessage = \"Unexpected lexeme type '\" + nextLexeme.type + \"'\"\n throw new lunr.QueryParseError (errorMessage, nextLexeme.start, nextLexeme.end)\n }\n}\n\nlunr.QueryParser.parseEditDistance = function (parser) {\n var lexeme = parser.consumeLexeme()\n\n if (lexeme == undefined) {\n return\n }\n\n var editDistance = parseInt(lexeme.str, 10)\n\n if (isNaN(editDistance)) {\n var errorMessage = \"edit distance must be numeric\"\n throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end)\n }\n\n parser.currentClause.editDistance = editDistance\n\n var nextLexeme = parser.peekLexeme()\n\n if (nextLexeme == undefined) {\n parser.nextClause()\n return\n }\n\n switch (nextLexeme.type) {\n case lunr.QueryLexer.TERM:\n parser.nextClause()\n return lunr.QueryParser.parseTerm\n case lunr.QueryLexer.FIELD:\n parser.nextClause()\n return lunr.QueryParser.parseField\n case lunr.QueryLexer.EDIT_DISTANCE:\n return lunr.QueryParser.parseEditDistance\n case lunr.QueryLexer.BOOST:\n return lunr.QueryParser.parseBoost\n case lunr.QueryLexer.PRESENCE:\n parser.nextClause()\n return lunr.QueryParser.parsePresence\n default:\n var errorMessage = \"Unexpected lexeme type '\" + nextLexeme.type + \"'\"\n throw new lunr.QueryParseError (errorMessage, nextLexeme.start, nextLexeme.end)\n }\n}\n\nlunr.QueryParser.parseBoost = function (parser) {\n var lexeme = parser.consumeLexeme()\n\n if (lexeme == undefined) {\n return\n }\n\n var boost = parseInt(lexeme.str, 10)\n\n if (isNaN(boost)) {\n var errorMessage = \"boost must be numeric\"\n throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end)\n }\n\n parser.currentClause.boost = boost\n\n var nextLexeme = parser.peekLexeme()\n\n if (nextLexeme == undefined) {\n parser.nextClause()\n return\n }\n\n switch (nextLexeme.type) {\n case lunr.QueryLexer.TERM:\n parser.nextClause()\n return lunr.QueryParser.parseTerm\n case lunr.QueryLexer.FIELD:\n parser.nextClause()\n return lunr.QueryParser.parseField\n case lunr.QueryLexer.EDIT_DISTANCE:\n return lunr.QueryParser.parseEditDistance\n case lunr.QueryLexer.BOOST:\n return lunr.QueryParser.parseBoost\n case lunr.QueryLexer.PRESENCE:\n parser.nextClause()\n return lunr.QueryParser.parsePresence\n default:\n var errorMessage = \"Unexpected lexeme type '\" + nextLexeme.type + \"'\"\n throw new lunr.QueryParseError (errorMessage, nextLexeme.start, nextLexeme.end)\n }\n}\n\n /**\n * export the module via AMD, CommonJS or as a browser global\n * Export code from https://github.com/umdjs/umd/blob/master/returnExports.js\n */\n ;(function (root, factory) {\n if (true) {\n // AMD. Register as an anonymous module.\n !(__WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.call(exports, __webpack_require__, exports, module)) :\n\t\t\t\t__WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__))\n } else {}\n }(this, function () {\n /**\n * Just return a value to define the module export.\n * This example returns an object, but the module\n * can return a function as the exported value.\n */\n return lunr\n }))\n})();\n\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar DESCRIPTORS = __webpack_require__(8);\nvar definePropertyModule = __webpack_require__(9);\nvar createPropertyDescriptor = __webpack_require__(22);\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar fails = __webpack_require__(5);\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !fails(function () {\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar DESCRIPTORS = __webpack_require__(8);\nvar IE8_DOM_DEFINE = __webpack_require__(34);\nvar anObject = __webpack_require__(2);\nvar toPrimitive = __webpack_require__(35);\n\nvar nativeDefineProperty = Object.defineProperty;\n\n// `Object.defineProperty` method\n// https://tc39.github.io/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? nativeDefineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return nativeDefineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(0);\nvar createNonEnumerableProperty = __webpack_require__(6);\nvar has = __webpack_require__(3);\nvar setGlobal = __webpack_require__(20);\nvar inspectSource = __webpack_require__(23);\nvar InternalStateModule = __webpack_require__(16);\n\nvar getInternalState = InternalStateModule.get;\nvar enforceInternalState = InternalStateModule.enforce;\nvar TEMPLATE = String(String).split('String');\n\n(module.exports = function (O, key, value, options) {\n var unsafe = options ? !!options.unsafe : false;\n var simple = options ? !!options.enumerable : false;\n var noTargetGet = options ? !!options.noTargetGet : false;\n if (typeof value == 'function') {\n if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);\n enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');\n }\n if (O === global) {\n if (simple) O[key] = value;\n else setGlobal(key, value);\n return;\n } else if (!unsafe) {\n delete O[key];\n } else if (!noTargetGet && O[key]) {\n simple = true;\n }\n if (simple) O[key] = value;\n else createNonEnumerableProperty(O, key, value);\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, 'toString', function toString() {\n return typeof this == 'function' && getInternalState(this).source || inspectSource(this);\n});\n\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar path = __webpack_require__(40);\nvar global = __webpack_require__(0);\n\nvar aFunction = function (variable) {\n return typeof variable == 'function' ? variable : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace])\n : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method];\n};\n\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports) {\n\nmodule.exports = false;\n\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports) {\n\nvar toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n\n\n/***/ }),\n/* 14 */\n/***/ (function(module, exports) {\n\nmodule.exports = {};\n\n\n/***/ }),\n/* 15 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n if (typeof it != 'function') {\n throw TypeError(String(it) + ' is not a function');\n } return it;\n};\n\n\n/***/ }),\n/* 16 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar NATIVE_WEAK_MAP = __webpack_require__(61);\nvar global = __webpack_require__(0);\nvar isObject = __webpack_require__(7);\nvar createNonEnumerableProperty = __webpack_require__(6);\nvar objectHas = __webpack_require__(3);\nvar sharedKey = __webpack_require__(24);\nvar hiddenKeys = __webpack_require__(25);\n\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP) {\n var store = new WeakMap();\n var wmget = store.get;\n var wmhas = store.has;\n var wmset = store.set;\n set = function (it, metadata) {\n wmset.call(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget.call(store, it) || {};\n };\n has = function (it) {\n return wmhas.call(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return objectHas(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return objectHas(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n\n\n/***/ }),\n/* 17 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(0);\nvar getOwnPropertyDescriptor = __webpack_require__(28).f;\nvar createNonEnumerableProperty = __webpack_require__(6);\nvar redefine = __webpack_require__(10);\nvar setGlobal = __webpack_require__(20);\nvar copyConstructorProperties = __webpack_require__(67);\nvar isForced = __webpack_require__(43);\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.noTargetGet - prevent calling a getter on target\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || setGlobal(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty === typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n // extend global\n redefine(target, key, sourceProperty, options);\n }\n};\n\n\n/***/ }),\n/* 18 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = __webpack_require__(66);\nvar requireObjectCoercible = __webpack_require__(27);\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n\n\n/***/ }),\n/* 19 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar wellKnownSymbol = __webpack_require__(1);\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n\n\n/***/ }),\n/* 20 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(0);\nvar createNonEnumerableProperty = __webpack_require__(6);\n\nmodule.exports = function (key, value) {\n try {\n createNonEnumerableProperty(global, key, value);\n } catch (error) {\n global[key] = value;\n } return value;\n};\n\n\n/***/ }),\n/* 21 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(0);\nvar isObject = __webpack_require__(7);\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n\n\n/***/ }),\n/* 22 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n\n\n/***/ }),\n/* 23 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar store = __webpack_require__(33);\n\nvar functionToString = Function.toString;\n\n// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper\nif (typeof store.inspectSource != 'function') {\n store.inspectSource = function (it) {\n return functionToString.call(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n\n\n/***/ }),\n/* 24 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar shared = __webpack_require__(32);\nvar uid = __webpack_require__(36);\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n\n\n/***/ }),\n/* 25 */\n/***/ (function(module, exports) {\n\nmodule.exports = {};\n\n\n/***/ }),\n/* 26 */\n/***/ (function(module, exports) {\n\nvar ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `ToInteger` abstract operation\n// https://tc39.github.io/ecma262/#sec-tointeger\nmodule.exports = function (argument) {\n return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);\n};\n\n\n/***/ }),\n/* 27 */\n/***/ (function(module, exports) {\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.github.io/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n\n\n/***/ }),\n/* 28 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar DESCRIPTORS = __webpack_require__(8);\nvar propertyIsEnumerableModule = __webpack_require__(65);\nvar createPropertyDescriptor = __webpack_require__(22);\nvar toIndexedObject = __webpack_require__(18);\nvar toPrimitive = __webpack_require__(35);\nvar has = __webpack_require__(3);\nvar IE8_DOM_DEFINE = __webpack_require__(34);\n\nvar nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return nativeGetOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (has(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);\n};\n\n\n/***/ }),\n/* 29 */\n/***/ (function(module, exports) {\n\n// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n\n\n/***/ }),\n/* 30 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar defineProperty = __webpack_require__(9).f;\nvar has = __webpack_require__(3);\nvar wellKnownSymbol = __webpack_require__(1);\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nmodule.exports = function (it, TAG, STATIC) {\n if (it && !has(it = STATIC ? it : it.prototype, TO_STRING_TAG)) {\n defineProperty(it, TO_STRING_TAG, { configurable: true, value: TAG });\n }\n};\n\n\n/***/ }),\n/* 31 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar aFunction = __webpack_require__(15);\n\nvar PromiseCapability = function (C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aFunction(resolve);\n this.reject = aFunction(reject);\n};\n\n// 25.4.1.5 NewPromiseCapability(C)\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n\n\n/***/ }),\n/* 32 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar IS_PURE = __webpack_require__(12);\nvar store = __webpack_require__(33);\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.6.4',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2020 Denis Pushkarev (zloirock.ru)'\n});\n\n\n/***/ }),\n/* 33 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(0);\nvar setGlobal = __webpack_require__(20);\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || setGlobal(SHARED, {});\n\nmodule.exports = store;\n\n\n/***/ }),\n/* 34 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar DESCRIPTORS = __webpack_require__(8);\nvar fails = __webpack_require__(5);\nvar createElement = __webpack_require__(21);\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n\n\n/***/ }),\n/* 35 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(7);\n\n// `ToPrimitive` abstract operation\n// https://tc39.github.io/ecma262/#sec-toprimitive\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (input, PREFERRED_STRING) {\n if (!isObject(input)) return input;\n var fn, val;\n if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;\n if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n\n\n/***/ }),\n/* 36 */\n/***/ (function(module, exports) {\n\nvar id = 0;\nvar postfix = Math.random();\n\nmodule.exports = function (key) {\n return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);\n};\n\n\n/***/ }),\n/* 37 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar fails = __webpack_require__(5);\n\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n // Chrome 38 Symbol has incorrect toString conversion\n // eslint-disable-next-line no-undef\n return !String(Symbol());\n});\n\n\n/***/ }),\n/* 38 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar TO_STRING_TAG_SUPPORT = __webpack_require__(19);\nvar classofRaw = __webpack_require__(13);\nvar wellKnownSymbol = __webpack_require__(1);\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result;\n};\n\n\n/***/ }),\n/* 39 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $ = __webpack_require__(17);\nvar createIteratorConstructor = __webpack_require__(73);\nvar getPrototypeOf = __webpack_require__(45);\nvar setPrototypeOf = __webpack_require__(78);\nvar setToStringTag = __webpack_require__(30);\nvar createNonEnumerableProperty = __webpack_require__(6);\nvar redefine = __webpack_require__(10);\nvar wellKnownSymbol = __webpack_require__(1);\nvar IS_PURE = __webpack_require__(12);\nvar Iterators = __webpack_require__(14);\nvar IteratorsCore = __webpack_require__(44);\n\nvar IteratorPrototype = IteratorsCore.IteratorPrototype;\nvar BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;\nvar ITERATOR = wellKnownSymbol('iterator');\nvar KEYS = 'keys';\nvar VALUES = 'values';\nvar ENTRIES = 'entries';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {\n createIteratorConstructor(IteratorConstructor, NAME, next);\n\n var getIterationMethod = function (KIND) {\n if (KIND === DEFAULT && defaultIterator) return defaultIterator;\n if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype) return IterablePrototype[KIND];\n switch (KIND) {\n case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };\n case VALUES: return function values() { return new IteratorConstructor(this, KIND); };\n case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };\n } return function () { return new IteratorConstructor(this); };\n };\n\n var TO_STRING_TAG = NAME + ' Iterator';\n var INCORRECT_VALUES_NAME = false;\n var IterablePrototype = Iterable.prototype;\n var nativeIterator = IterablePrototype[ITERATOR]\n || IterablePrototype['@@iterator']\n || DEFAULT && IterablePrototype[DEFAULT];\n var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);\n var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;\n var CurrentIteratorPrototype, methods, KEY;\n\n // fix native\n if (anyNativeIterator) {\n CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));\n if (IteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\n if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\n if (setPrototypeOf) {\n setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\n } else if (typeof CurrentIteratorPrototype[ITERATOR] != 'function') {\n createNonEnumerableProperty(CurrentIteratorPrototype, ITERATOR, returnThis);\n }\n }\n // Set @@toStringTag to native iterators\n setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);\n if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis;\n }\n }\n\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n INCORRECT_VALUES_NAME = true;\n defaultIterator = function values() { return nativeIterator.call(this); };\n }\n\n // define iterator\n if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {\n createNonEnumerableProperty(IterablePrototype, ITERATOR, defaultIterator);\n }\n Iterators[NAME] = defaultIterator;\n\n // export additional methods\n if (DEFAULT) {\n methods = {\n values: getIterationMethod(VALUES),\n keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),\n entries: getIterationMethod(ENTRIES)\n };\n if (FORCED) for (KEY in methods) {\n if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {\n redefine(IterablePrototype, KEY, methods[KEY]);\n }\n } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);\n }\n\n return methods;\n};\n\n\n/***/ }),\n/* 40 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(0);\n\nmodule.exports = global;\n\n\n/***/ }),\n/* 41 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar has = __webpack_require__(3);\nvar toIndexedObject = __webpack_require__(18);\nvar indexOf = __webpack_require__(70).indexOf;\nvar hiddenKeys = __webpack_require__(25);\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~indexOf(result, key) || result.push(key);\n }\n return result;\n};\n\n\n/***/ }),\n/* 42 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar toInteger = __webpack_require__(26);\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.github.io/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n\n\n/***/ }),\n/* 43 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar fails = __webpack_require__(5);\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true\n : value == NATIVE ? false\n : typeof detection == 'function' ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n\n\n/***/ }),\n/* 44 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar getPrototypeOf = __webpack_require__(45);\nvar createNonEnumerableProperty = __webpack_require__(6);\nvar has = __webpack_require__(3);\nvar wellKnownSymbol = __webpack_require__(1);\nvar IS_PURE = __webpack_require__(12);\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar BUGGY_SAFARI_ITERATORS = false;\n\nvar returnThis = function () { return this; };\n\n// `%IteratorPrototype%` object\n// https://tc39.github.io/ecma262/#sec-%iteratorprototype%-object\nvar IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;\n\nif ([].keys) {\n arrayIterator = [].keys();\n // Safari 8 has buggy iterators w/o `next`\n if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;\n else {\n PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));\n if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;\n }\n}\n\nif (IteratorPrototype == undefined) IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nif (!IS_PURE && !has(IteratorPrototype, ITERATOR)) {\n createNonEnumerableProperty(IteratorPrototype, ITERATOR, returnThis);\n}\n\nmodule.exports = {\n IteratorPrototype: IteratorPrototype,\n BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\n};\n\n\n/***/ }),\n/* 45 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar has = __webpack_require__(3);\nvar toObject = __webpack_require__(74);\nvar sharedKey = __webpack_require__(24);\nvar CORRECT_PROTOTYPE_GETTER = __webpack_require__(75);\n\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar ObjectPrototype = Object.prototype;\n\n// `Object.getPrototypeOf` method\n// https://tc39.github.io/ecma262/#sec-object.getprototypeof\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectPrototype : null;\n};\n\n\n/***/ }),\n/* 46 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar anObject = __webpack_require__(2);\nvar defineProperties = __webpack_require__(76);\nvar enumBugKeys = __webpack_require__(29);\nvar hiddenKeys = __webpack_require__(25);\nvar html = __webpack_require__(47);\nvar documentCreateElement = __webpack_require__(21);\nvar sharedKey = __webpack_require__(24);\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null; // avoid memory leak\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n /* global ActiveXObject */\n activeXDocument = document.domain && new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame();\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.github.io/ecma262/#sec-object.create\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = NullProtoObject();\n return Properties === undefined ? result : defineProperties(result, Properties);\n};\n\n\n/***/ }),\n/* 47 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar getBuiltIn = __webpack_require__(11);\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n\n\n/***/ }),\n/* 48 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(0);\n\nmodule.exports = global.Promise;\n\n\n/***/ }),\n/* 49 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar anObject = __webpack_require__(2);\nvar isArrayIteratorMethod = __webpack_require__(88);\nvar toLength = __webpack_require__(42);\nvar bind = __webpack_require__(50);\nvar getIteratorMethod = __webpack_require__(89);\nvar callWithSafeIterationClosing = __webpack_require__(90);\n\nvar Result = function (stopped, result) {\n this.stopped = stopped;\n this.result = result;\n};\n\nvar iterate = module.exports = function (iterable, fn, that, AS_ENTRIES, IS_ITERATOR) {\n var boundFunction = bind(fn, that, AS_ENTRIES ? 2 : 1);\n var iterator, iterFn, index, length, result, next, step;\n\n if (IS_ITERATOR) {\n iterator = iterable;\n } else {\n iterFn = getIteratorMethod(iterable);\n if (typeof iterFn != 'function') throw TypeError('Target is not iterable');\n // optimisation for array iterators\n if (isArrayIteratorMethod(iterFn)) {\n for (index = 0, length = toLength(iterable.length); length > index; index++) {\n result = AS_ENTRIES\n ? boundFunction(anObject(step = iterable[index])[0], step[1])\n : boundFunction(iterable[index]);\n if (result && result instanceof Result) return result;\n } return new Result(false);\n }\n iterator = iterFn.call(iterable);\n }\n\n next = iterator.next;\n while (!(step = next.call(iterator)).done) {\n result = callWithSafeIterationClosing(iterator, boundFunction, step.value, AS_ENTRIES);\n if (typeof result == 'object' && result && result instanceof Result) return result;\n } return new Result(false);\n};\n\niterate.stop = function (result) {\n return new Result(true, result);\n};\n\n\n/***/ }),\n/* 50 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar aFunction = __webpack_require__(15);\n\n// optional / simple context binding\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 0: return function () {\n return fn.call(that);\n };\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n\n\n/***/ }),\n/* 51 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar anObject = __webpack_require__(2);\nvar aFunction = __webpack_require__(15);\nvar wellKnownSymbol = __webpack_require__(1);\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `SpeciesConstructor` abstract operation\n// https://tc39.github.io/ecma262/#sec-speciesconstructor\nmodule.exports = function (O, defaultConstructor) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? defaultConstructor : aFunction(S);\n};\n\n\n/***/ }),\n/* 52 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(0);\nvar fails = __webpack_require__(5);\nvar classof = __webpack_require__(13);\nvar bind = __webpack_require__(50);\nvar html = __webpack_require__(47);\nvar createElement = __webpack_require__(21);\nvar IS_IOS = __webpack_require__(53);\n\nvar location = global.location;\nvar set = global.setImmediate;\nvar clear = global.clearImmediate;\nvar process = global.process;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar defer, channel, port;\n\nvar run = function (id) {\n // eslint-disable-next-line no-prototype-builtins\n if (queue.hasOwnProperty(id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\n\nvar runner = function (id) {\n return function () {\n run(id);\n };\n};\n\nvar listener = function (event) {\n run(event.data);\n};\n\nvar post = function (id) {\n // old engines have not location.origin\n global.postMessage(id + '', location.protocol + '//' + location.host);\n};\n\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!set || !clear) {\n set = function setImmediate(fn) {\n var args = [];\n var i = 1;\n while (arguments.length > i) args.push(arguments[i++]);\n queue[++counter] = function () {\n // eslint-disable-next-line no-new-func\n (typeof fn == 'function' ? fn : Function(fn)).apply(undefined, args);\n };\n defer(counter);\n return counter;\n };\n clear = function clearImmediate(id) {\n delete queue[id];\n };\n // Node.js 0.8-\n if (classof(process) == 'process') {\n defer = function (id) {\n process.nextTick(runner(id));\n };\n // Sphere (JS game engine) Dispatch API\n } else if (Dispatch && Dispatch.now) {\n defer = function (id) {\n Dispatch.now(runner(id));\n };\n // Browsers with MessageChannel, includes WebWorkers\n // except iOS - https://github.com/zloirock/core-js/issues/624\n } else if (MessageChannel && !IS_IOS) {\n channel = new MessageChannel();\n port = channel.port2;\n channel.port1.onmessage = listener;\n defer = bind(port.postMessage, port, 1);\n // Browsers with postMessage, skip WebWorkers\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts && !fails(post)) {\n defer = post;\n global.addEventListener('message', listener, false);\n // IE8-\n } else if (ONREADYSTATECHANGE in createElement('script')) {\n defer = function (id) {\n html.appendChild(createElement('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run(id);\n };\n };\n // Rest old browsers\n } else {\n defer = function (id) {\n setTimeout(runner(id), 0);\n };\n }\n}\n\nmodule.exports = {\n set: set,\n clear: clear\n};\n\n\n/***/ }),\n/* 53 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar userAgent = __webpack_require__(54);\n\nmodule.exports = /(iphone|ipod|ipad).*applewebkit/i.test(userAgent);\n\n\n/***/ }),\n/* 54 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar getBuiltIn = __webpack_require__(11);\n\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n\n\n/***/ }),\n/* 55 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar anObject = __webpack_require__(2);\nvar isObject = __webpack_require__(7);\nvar newPromiseCapability = __webpack_require__(31);\n\nmodule.exports = function (C, x) {\n anObject(C);\n if (isObject(x) && x.constructor === C) return x;\n var promiseCapability = newPromiseCapability.f(C);\n var resolve = promiseCapability.resolve;\n resolve(x);\n return promiseCapability.promise;\n};\n\n\n/***/ }),\n/* 56 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (exec) {\n try {\n return { error: false, value: exec() };\n } catch (error) {\n return { error: true, value: error };\n }\n};\n\n\n/***/ }),\n/* 57 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(58);\n__webpack_require__(63);\n__webpack_require__(80);\n__webpack_require__(84);\n__webpack_require__(95);\n__webpack_require__(96);\nvar path = __webpack_require__(40);\n\nmodule.exports = path.Promise;\n\n\n/***/ }),\n/* 58 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar TO_STRING_TAG_SUPPORT = __webpack_require__(19);\nvar redefine = __webpack_require__(10);\nvar toString = __webpack_require__(62);\n\n// `Object.prototype.toString` method\n// https://tc39.github.io/ecma262/#sec-object.prototype.tostring\nif (!TO_STRING_TAG_SUPPORT) {\n redefine(Object.prototype, 'toString', toString, { unsafe: true });\n}\n\n\n/***/ }),\n/* 59 */\n/***/ (function(module, exports) {\n\nvar g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n\n\n/***/ }),\n/* 60 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar NATIVE_SYMBOL = __webpack_require__(37);\n\nmodule.exports = NATIVE_SYMBOL\n // eslint-disable-next-line no-undef\n && !Symbol.sham\n // eslint-disable-next-line no-undef\n && typeof Symbol.iterator == 'symbol';\n\n\n/***/ }),\n/* 61 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(0);\nvar inspectSource = __webpack_require__(23);\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));\n\n\n/***/ }),\n/* 62 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar TO_STRING_TAG_SUPPORT = __webpack_require__(19);\nvar classof = __webpack_require__(38);\n\n// `Object.prototype.toString` method implementation\n// https://tc39.github.io/ecma262/#sec-object.prototype.tostring\nmodule.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {\n return '[object ' + classof(this) + ']';\n};\n\n\n/***/ }),\n/* 63 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar charAt = __webpack_require__(64).charAt;\nvar InternalStateModule = __webpack_require__(16);\nvar defineIterator = __webpack_require__(39);\n\nvar STRING_ITERATOR = 'String Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);\n\n// `String.prototype[@@iterator]` method\n// https://tc39.github.io/ecma262/#sec-string.prototype-@@iterator\ndefineIterator(String, 'String', function (iterated) {\n setInternalState(this, {\n type: STRING_ITERATOR,\n string: String(iterated),\n index: 0\n });\n// `%StringIteratorPrototype%.next` method\n// https://tc39.github.io/ecma262/#sec-%stringiteratorprototype%.next\n}, function next() {\n var state = getInternalState(this);\n var string = state.string;\n var index = state.index;\n var point;\n if (index >= string.length) return { value: undefined, done: true };\n point = charAt(string, index);\n state.index += point.length;\n return { value: point, done: false };\n});\n\n\n/***/ }),\n/* 64 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar toInteger = __webpack_require__(26);\nvar requireObjectCoercible = __webpack_require__(27);\n\n// `String.prototype.{ codePointAt, at }` methods implementation\nvar createMethod = function (CONVERT_TO_STRING) {\n return function ($this, pos) {\n var S = String(requireObjectCoercible($this));\n var position = toInteger(pos);\n var size = S.length;\n var first, second;\n if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;\n first = S.charCodeAt(position);\n return first < 0xD800 || first > 0xDBFF || position + 1 === size\n || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF\n ? CONVERT_TO_STRING ? S.charAt(position) : first\n : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;\n };\n};\n\nmodule.exports = {\n // `String.prototype.codePointAt` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.codepointat\n codeAt: createMethod(false),\n // `String.prototype.at` method\n // https://github.com/mathiasbynens/String.prototype.at\n charAt: createMethod(true)\n};\n\n\n/***/ }),\n/* 65 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar nativePropertyIsEnumerable = {}.propertyIsEnumerable;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : nativePropertyIsEnumerable;\n\n\n/***/ }),\n/* 66 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar fails = __webpack_require__(5);\nvar classof = __webpack_require__(13);\n\nvar split = ''.split;\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins\n return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split.call(it, '') : Object(it);\n} : Object;\n\n\n/***/ }),\n/* 67 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar has = __webpack_require__(3);\nvar ownKeys = __webpack_require__(68);\nvar getOwnPropertyDescriptorModule = __webpack_require__(28);\nvar definePropertyModule = __webpack_require__(9);\n\nmodule.exports = function (target, source) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n};\n\n\n/***/ }),\n/* 68 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar getBuiltIn = __webpack_require__(11);\nvar getOwnPropertyNamesModule = __webpack_require__(69);\nvar getOwnPropertySymbolsModule = __webpack_require__(72);\nvar anObject = __webpack_require__(2);\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;\n};\n\n\n/***/ }),\n/* 69 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar internalObjectKeys = __webpack_require__(41);\nvar enumBugKeys = __webpack_require__(29);\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertynames\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n\n\n/***/ }),\n/* 70 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar toIndexedObject = __webpack_require__(18);\nvar toLength = __webpack_require__(42);\nvar toAbsoluteIndex = __webpack_require__(71);\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n\n\n/***/ }),\n/* 71 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar toInteger = __webpack_require__(26);\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toInteger(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n\n\n/***/ }),\n/* 72 */\n/***/ (function(module, exports) {\n\nexports.f = Object.getOwnPropertySymbols;\n\n\n/***/ }),\n/* 73 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar IteratorPrototype = __webpack_require__(44).IteratorPrototype;\nvar create = __webpack_require__(46);\nvar createPropertyDescriptor = __webpack_require__(22);\nvar setToStringTag = __webpack_require__(30);\nvar Iterators = __webpack_require__(14);\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (IteratorConstructor, NAME, next) {\n var TO_STRING_TAG = NAME + ' Iterator';\n IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(1, next) });\n setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);\n Iterators[TO_STRING_TAG] = returnThis;\n return IteratorConstructor;\n};\n\n\n/***/ }),\n/* 74 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar requireObjectCoercible = __webpack_require__(27);\n\n// `ToObject` abstract operation\n// https://tc39.github.io/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return Object(requireObjectCoercible(argument));\n};\n\n\n/***/ }),\n/* 75 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar fails = __webpack_require__(5);\n\nmodule.exports = !fails(function () {\n function F() { /* empty */ }\n F.prototype.constructor = null;\n return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n\n\n/***/ }),\n/* 76 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar DESCRIPTORS = __webpack_require__(8);\nvar definePropertyModule = __webpack_require__(9);\nvar anObject = __webpack_require__(2);\nvar objectKeys = __webpack_require__(77);\n\n// `Object.defineProperties` method\n// https://tc39.github.io/ecma262/#sec-object.defineproperties\nmodule.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], Properties[key]);\n return O;\n};\n\n\n/***/ }),\n/* 77 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar internalObjectKeys = __webpack_require__(41);\nvar enumBugKeys = __webpack_require__(29);\n\n// `Object.keys` method\n// https://tc39.github.io/ecma262/#sec-object.keys\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n\n\n/***/ }),\n/* 78 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar anObject = __webpack_require__(2);\nvar aPossiblePrototype = __webpack_require__(79);\n\n// `Object.setPrototypeOf` method\n// https://tc39.github.io/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n setter = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set;\n setter.call(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n anObject(O);\n aPossiblePrototype(proto);\n if (CORRECT_SETTER) setter.call(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n\n\n/***/ }),\n/* 79 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(7);\n\nmodule.exports = function (it) {\n if (!isObject(it) && it !== null) {\n throw TypeError(\"Can't set \" + String(it) + ' as a prototype');\n } return it;\n};\n\n\n/***/ }),\n/* 80 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(0);\nvar DOMIterables = __webpack_require__(81);\nvar ArrayIteratorMethods = __webpack_require__(82);\nvar createNonEnumerableProperty = __webpack_require__(6);\nvar wellKnownSymbol = __webpack_require__(1);\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar ArrayValues = ArrayIteratorMethods.values;\n\nfor (var COLLECTION_NAME in DOMIterables) {\n var Collection = global[COLLECTION_NAME];\n var CollectionPrototype = Collection && Collection.prototype;\n if (CollectionPrototype) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[ITERATOR] !== ArrayValues) try {\n createNonEnumerableProperty(CollectionPrototype, ITERATOR, ArrayValues);\n } catch (error) {\n CollectionPrototype[ITERATOR] = ArrayValues;\n }\n if (!CollectionPrototype[TO_STRING_TAG]) {\n createNonEnumerableProperty(CollectionPrototype, TO_STRING_TAG, COLLECTION_NAME);\n }\n if (DOMIterables[COLLECTION_NAME]) for (var METHOD_NAME in ArrayIteratorMethods) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME]) try {\n createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]);\n } catch (error) {\n CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME];\n }\n }\n }\n}\n\n\n/***/ }),\n/* 81 */\n/***/ (function(module, exports) {\n\n// iterable DOM collections\n// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods\nmodule.exports = {\n CSSRuleList: 0,\n CSSStyleDeclaration: 0,\n CSSValueList: 0,\n ClientRectList: 0,\n DOMRectList: 0,\n DOMStringList: 0,\n DOMTokenList: 1,\n DataTransferItemList: 0,\n FileList: 0,\n HTMLAllCollection: 0,\n HTMLCollection: 0,\n HTMLFormElement: 0,\n HTMLSelectElement: 0,\n MediaList: 0,\n MimeTypeArray: 0,\n NamedNodeMap: 0,\n NodeList: 1,\n PaintRequestList: 0,\n Plugin: 0,\n PluginArray: 0,\n SVGLengthList: 0,\n SVGNumberList: 0,\n SVGPathSegList: 0,\n SVGPointList: 0,\n SVGStringList: 0,\n SVGTransformList: 0,\n SourceBufferList: 0,\n StyleSheetList: 0,\n TextTrackCueList: 0,\n TextTrackList: 0,\n TouchList: 0\n};\n\n\n/***/ }),\n/* 82 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar toIndexedObject = __webpack_require__(18);\nvar addToUnscopables = __webpack_require__(83);\nvar Iterators = __webpack_require__(14);\nvar InternalStateModule = __webpack_require__(16);\nvar defineIterator = __webpack_require__(39);\n\nvar ARRAY_ITERATOR = 'Array Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);\n\n// `Array.prototype.entries` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.entries\n// `Array.prototype.keys` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.keys\n// `Array.prototype.values` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.values\n// `Array.prototype[@@iterator]` method\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@iterator\n// `CreateArrayIterator` internal method\n// https://tc39.github.io/ecma262/#sec-createarrayiterator\nmodule.exports = defineIterator(Array, 'Array', function (iterated, kind) {\n setInternalState(this, {\n type: ARRAY_ITERATOR,\n target: toIndexedObject(iterated), // target\n index: 0, // next index\n kind: kind // kind\n });\n// `%ArrayIteratorPrototype%.next` method\n// https://tc39.github.io/ecma262/#sec-%arrayiteratorprototype%.next\n}, function () {\n var state = getInternalState(this);\n var target = state.target;\n var kind = state.kind;\n var index = state.index++;\n if (!target || index >= target.length) {\n state.target = undefined;\n return { value: undefined, done: true };\n }\n if (kind == 'keys') return { value: index, done: false };\n if (kind == 'values') return { value: target[index], done: false };\n return { value: [index, target[index]], done: false };\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values%\n// https://tc39.github.io/ecma262/#sec-createunmappedargumentsobject\n// https://tc39.github.io/ecma262/#sec-createmappedargumentsobject\nIterators.Arguments = Iterators.Array;\n\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n\n/***/ }),\n/* 83 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar wellKnownSymbol = __webpack_require__(1);\nvar create = __webpack_require__(46);\nvar definePropertyModule = __webpack_require__(9);\n\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\n\n// Array.prototype[@@unscopables]\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\nif (ArrayPrototype[UNSCOPABLES] == undefined) {\n definePropertyModule.f(ArrayPrototype, UNSCOPABLES, {\n configurable: true,\n value: create(null)\n });\n}\n\n// add a key to Array.prototype[@@unscopables]\nmodule.exports = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n\n\n/***/ }),\n/* 84 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $ = __webpack_require__(17);\nvar IS_PURE = __webpack_require__(12);\nvar global = __webpack_require__(0);\nvar getBuiltIn = __webpack_require__(11);\nvar NativePromise = __webpack_require__(48);\nvar redefine = __webpack_require__(10);\nvar redefineAll = __webpack_require__(85);\nvar setToStringTag = __webpack_require__(30);\nvar setSpecies = __webpack_require__(86);\nvar isObject = __webpack_require__(7);\nvar aFunction = __webpack_require__(15);\nvar anInstance = __webpack_require__(87);\nvar classof = __webpack_require__(13);\nvar inspectSource = __webpack_require__(23);\nvar iterate = __webpack_require__(49);\nvar checkCorrectnessOfIteration = __webpack_require__(91);\nvar speciesConstructor = __webpack_require__(51);\nvar task = __webpack_require__(52).set;\nvar microtask = __webpack_require__(92);\nvar promiseResolve = __webpack_require__(55);\nvar hostReportErrors = __webpack_require__(93);\nvar newPromiseCapabilityModule = __webpack_require__(31);\nvar perform = __webpack_require__(56);\nvar InternalStateModule = __webpack_require__(16);\nvar isForced = __webpack_require__(43);\nvar wellKnownSymbol = __webpack_require__(1);\nvar V8_VERSION = __webpack_require__(94);\n\nvar SPECIES = wellKnownSymbol('species');\nvar PROMISE = 'Promise';\nvar getInternalState = InternalStateModule.get;\nvar setInternalState = InternalStateModule.set;\nvar getInternalPromiseState = InternalStateModule.getterFor(PROMISE);\nvar PromiseConstructor = NativePromise;\nvar TypeError = global.TypeError;\nvar document = global.document;\nvar process = global.process;\nvar $fetch = getBuiltIn('fetch');\nvar newPromiseCapability = newPromiseCapabilityModule.f;\nvar newGenericPromiseCapability = newPromiseCapability;\nvar IS_NODE = classof(process) == 'process';\nvar DISPATCH_EVENT = !!(document && document.createEvent && global.dispatchEvent);\nvar UNHANDLED_REJECTION = 'unhandledrejection';\nvar REJECTION_HANDLED = 'rejectionhandled';\nvar PENDING = 0;\nvar FULFILLED = 1;\nvar REJECTED = 2;\nvar HANDLED = 1;\nvar UNHANDLED = 2;\nvar Internal, OwnPromiseCapability, PromiseWrapper, nativeThen;\n\nvar FORCED = isForced(PROMISE, function () {\n var GLOBAL_CORE_JS_PROMISE = inspectSource(PromiseConstructor) !== String(PromiseConstructor);\n if (!GLOBAL_CORE_JS_PROMISE) {\n // V8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables\n // https://bugs.chromium.org/p/chromium/issues/detail?id=830565\n // We can't detect it synchronously, so just check versions\n if (V8_VERSION === 66) return true;\n // Unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n if (!IS_NODE && typeof PromiseRejectionEvent != 'function') return true;\n }\n // We need Promise#finally in the pure version for preventing prototype pollution\n if (IS_PURE && !PromiseConstructor.prototype['finally']) return true;\n // We can't use @@species feature detection in V8 since it causes\n // deoptimization and performance degradation\n // https://github.com/zloirock/core-js/issues/679\n if (V8_VERSION >= 51 && /native code/.test(PromiseConstructor)) return false;\n // Detect correctness of subclassing with @@species support\n var promise = PromiseConstructor.resolve(1);\n var FakePromise = function (exec) {\n exec(function () { /* empty */ }, function () { /* empty */ });\n };\n var constructor = promise.constructor = {};\n constructor[SPECIES] = FakePromise;\n return !(promise.then(function () { /* empty */ }) instanceof FakePromise);\n});\n\nvar INCORRECT_ITERATION = FORCED || !checkCorrectnessOfIteration(function (iterable) {\n PromiseConstructor.all(iterable)['catch'](function () { /* empty */ });\n});\n\n// helpers\nvar isThenable = function (it) {\n var then;\n return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\n\nvar notify = function (promise, state, isReject) {\n if (state.notified) return;\n state.notified = true;\n var chain = state.reactions;\n microtask(function () {\n var value = state.value;\n var ok = state.state == FULFILLED;\n var index = 0;\n // variable length - can't use forEach\n while (chain.length > index) {\n var reaction = chain[index++];\n var handler = ok ? reaction.ok : reaction.fail;\n var resolve = reaction.resolve;\n var reject = reaction.reject;\n var domain = reaction.domain;\n var result, then, exited;\n try {\n if (handler) {\n if (!ok) {\n if (state.rejection === UNHANDLED) onHandleUnhandled(promise, state);\n state.rejection = HANDLED;\n }\n if (handler === true) result = value;\n else {\n if (domain) domain.enter();\n result = handler(value); // can throw\n if (domain) {\n domain.exit();\n exited = true;\n }\n }\n if (result === reaction.promise) {\n reject(TypeError('Promise-chain cycle'));\n } else if (then = isThenable(result)) {\n then.call(result, resolve, reject);\n } else resolve(result);\n } else reject(value);\n } catch (error) {\n if (domain && !exited) domain.exit();\n reject(error);\n }\n }\n state.reactions = [];\n state.notified = false;\n if (isReject && !state.rejection) onUnhandled(promise, state);\n });\n};\n\nvar dispatchEvent = function (name, promise, reason) {\n var event, handler;\n if (DISPATCH_EVENT) {\n event = document.createEvent('Event');\n event.promise = promise;\n event.reason = reason;\n event.initEvent(name, false, true);\n global.dispatchEvent(event);\n } else event = { promise: promise, reason: reason };\n if (handler = global['on' + name]) handler(event);\n else if (name === UNHANDLED_REJECTION) hostReportErrors('Unhandled promise rejection', reason);\n};\n\nvar onUnhandled = function (promise, state) {\n task.call(global, function () {\n var value = state.value;\n var IS_UNHANDLED = isUnhandled(state);\n var result;\n if (IS_UNHANDLED) {\n result = perform(function () {\n if (IS_NODE) {\n process.emit('unhandledRejection', value, promise);\n } else dispatchEvent(UNHANDLED_REJECTION, promise, value);\n });\n // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n state.rejection = IS_NODE || isUnhandled(state) ? UNHANDLED : HANDLED;\n if (result.error) throw result.value;\n }\n });\n};\n\nvar isUnhandled = function (state) {\n return state.rejection !== HANDLED && !state.parent;\n};\n\nvar onHandleUnhandled = function (promise, state) {\n task.call(global, function () {\n if (IS_NODE) {\n process.emit('rejectionHandled', promise);\n } else dispatchEvent(REJECTION_HANDLED, promise, state.value);\n });\n};\n\nvar bind = function (fn, promise, state, unwrap) {\n return function (value) {\n fn(promise, state, value, unwrap);\n };\n};\n\nvar internalReject = function (promise, state, value, unwrap) {\n if (state.done) return;\n state.done = true;\n if (unwrap) state = unwrap;\n state.value = value;\n state.state = REJECTED;\n notify(promise, state, true);\n};\n\nvar internalResolve = function (promise, state, value, unwrap) {\n if (state.done) return;\n state.done = true;\n if (unwrap) state = unwrap;\n try {\n if (promise === value) throw TypeError(\"Promise can't be resolved itself\");\n var then = isThenable(value);\n if (then) {\n microtask(function () {\n var wrapper = { done: false };\n try {\n then.call(value,\n bind(internalResolve, promise, wrapper, state),\n bind(internalReject, promise, wrapper, state)\n );\n } catch (error) {\n internalReject(promise, wrapper, error, state);\n }\n });\n } else {\n state.value = value;\n state.state = FULFILLED;\n notify(promise, state, false);\n }\n } catch (error) {\n internalReject(promise, { done: false }, error, state);\n }\n};\n\n// constructor polyfill\nif (FORCED) {\n // 25.4.3.1 Promise(executor)\n PromiseConstructor = function Promise(executor) {\n anInstance(this, PromiseConstructor, PROMISE);\n aFunction(executor);\n Internal.call(this);\n var state = getInternalState(this);\n try {\n executor(bind(internalResolve, this, state), bind(internalReject, this, state));\n } catch (error) {\n internalReject(this, state, error);\n }\n };\n // eslint-disable-next-line no-unused-vars\n Internal = function Promise(executor) {\n setInternalState(this, {\n type: PROMISE,\n done: false,\n notified: false,\n parent: false,\n reactions: [],\n rejection: false,\n state: PENDING,\n value: undefined\n });\n };\n Internal.prototype = redefineAll(PromiseConstructor.prototype, {\n // `Promise.prototype.then` method\n // https://tc39.github.io/ecma262/#sec-promise.prototype.then\n then: function then(onFulfilled, onRejected) {\n var state = getInternalPromiseState(this);\n var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor));\n reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n reaction.fail = typeof onRejected == 'function' && onRejected;\n reaction.domain = IS_NODE ? process.domain : undefined;\n state.parent = true;\n state.reactions.push(reaction);\n if (state.state != PENDING) notify(this, state, false);\n return reaction.promise;\n },\n // `Promise.prototype.catch` method\n // https://tc39.github.io/ecma262/#sec-promise.prototype.catch\n 'catch': function (onRejected) {\n return this.then(undefined, onRejected);\n }\n });\n OwnPromiseCapability = function () {\n var promise = new Internal();\n var state = getInternalState(promise);\n this.promise = promise;\n this.resolve = bind(internalResolve, promise, state);\n this.reject = bind(internalReject, promise, state);\n };\n newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n return C === PromiseConstructor || C === PromiseWrapper\n ? new OwnPromiseCapability(C)\n : newGenericPromiseCapability(C);\n };\n\n if (!IS_PURE && typeof NativePromise == 'function') {\n nativeThen = NativePromise.prototype.then;\n\n // wrap native Promise#then for native async functions\n redefine(NativePromise.prototype, 'then', function then(onFulfilled, onRejected) {\n var that = this;\n return new PromiseConstructor(function (resolve, reject) {\n nativeThen.call(that, resolve, reject);\n }).then(onFulfilled, onRejected);\n // https://github.com/zloirock/core-js/issues/640\n }, { unsafe: true });\n\n // wrap fetch result\n if (typeof $fetch == 'function') $({ global: true, enumerable: true, forced: true }, {\n // eslint-disable-next-line no-unused-vars\n fetch: function fetch(input /* , init */) {\n return promiseResolve(PromiseConstructor, $fetch.apply(global, arguments));\n }\n });\n }\n}\n\n$({ global: true, wrap: true, forced: FORCED }, {\n Promise: PromiseConstructor\n});\n\nsetToStringTag(PromiseConstructor, PROMISE, false, true);\nsetSpecies(PROMISE);\n\nPromiseWrapper = getBuiltIn(PROMISE);\n\n// statics\n$({ target: PROMISE, stat: true, forced: FORCED }, {\n // `Promise.reject` method\n // https://tc39.github.io/ecma262/#sec-promise.reject\n reject: function reject(r) {\n var capability = newPromiseCapability(this);\n capability.reject.call(undefined, r);\n return capability.promise;\n }\n});\n\n$({ target: PROMISE, stat: true, forced: IS_PURE || FORCED }, {\n // `Promise.resolve` method\n // https://tc39.github.io/ecma262/#sec-promise.resolve\n resolve: function resolve(x) {\n return promiseResolve(IS_PURE && this === PromiseWrapper ? PromiseConstructor : this, x);\n }\n});\n\n$({ target: PROMISE, stat: true, forced: INCORRECT_ITERATION }, {\n // `Promise.all` method\n // https://tc39.github.io/ecma262/#sec-promise.all\n all: function all(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aFunction(C.resolve);\n var values = [];\n var counter = 0;\n var remaining = 1;\n iterate(iterable, function (promise) {\n var index = counter++;\n var alreadyCalled = false;\n values.push(undefined);\n remaining++;\n $promiseResolve.call(C, promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if (result.error) reject(result.value);\n return capability.promise;\n },\n // `Promise.race` method\n // https://tc39.github.io/ecma262/#sec-promise.race\n race: function race(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aFunction(C.resolve);\n iterate(iterable, function (promise) {\n $promiseResolve.call(C, promise).then(capability.resolve, reject);\n });\n });\n if (result.error) reject(result.value);\n return capability.promise;\n }\n});\n\n\n/***/ }),\n/* 85 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar redefine = __webpack_require__(10);\n\nmodule.exports = function (target, src, options) {\n for (var key in src) redefine(target, key, src[key], options);\n return target;\n};\n\n\n/***/ }),\n/* 86 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar getBuiltIn = __webpack_require__(11);\nvar definePropertyModule = __webpack_require__(9);\nvar wellKnownSymbol = __webpack_require__(1);\nvar DESCRIPTORS = __webpack_require__(8);\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (CONSTRUCTOR_NAME) {\n var Constructor = getBuiltIn(CONSTRUCTOR_NAME);\n var defineProperty = definePropertyModule.f;\n\n if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {\n defineProperty(Constructor, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n }\n};\n\n\n/***/ }),\n/* 87 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (it, Constructor, name) {\n if (!(it instanceof Constructor)) {\n throw TypeError('Incorrect ' + (name ? name + ' ' : '') + 'invocation');\n } return it;\n};\n\n\n/***/ }),\n/* 88 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar wellKnownSymbol = __webpack_require__(1);\nvar Iterators = __webpack_require__(14);\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\n\n// check on default Array iterator\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n};\n\n\n/***/ }),\n/* 89 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar classof = __webpack_require__(38);\nvar Iterators = __webpack_require__(14);\nvar wellKnownSymbol = __webpack_require__(1);\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = function (it) {\n if (it != undefined) return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n\n\n/***/ }),\n/* 90 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar anObject = __webpack_require__(2);\n\n// call something on iterator step with safe closing on error\nmodule.exports = function (iterator, fn, value, ENTRIES) {\n try {\n return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value);\n // 7.4.6 IteratorClose(iterator, completion)\n } catch (error) {\n var returnMethod = iterator['return'];\n if (returnMethod !== undefined) anObject(returnMethod.call(iterator));\n throw error;\n }\n};\n\n\n/***/ }),\n/* 91 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar wellKnownSymbol = __webpack_require__(1);\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var called = 0;\n var iteratorWithReturn = {\n next: function () {\n return { done: !!called++ };\n },\n 'return': function () {\n SAFE_CLOSING = true;\n }\n };\n iteratorWithReturn[ITERATOR] = function () {\n return this;\n };\n // eslint-disable-next-line no-throw-literal\n Array.from(iteratorWithReturn, function () { throw 2; });\n} catch (error) { /* empty */ }\n\nmodule.exports = function (exec, SKIP_CLOSING) {\n if (!SKIP_CLOSING && !SAFE_CLOSING) return false;\n var ITERATION_SUPPORT = false;\n try {\n var object = {};\n object[ITERATOR] = function () {\n return {\n next: function () {\n return { done: ITERATION_SUPPORT = true };\n }\n };\n };\n exec(object);\n } catch (error) { /* empty */ }\n return ITERATION_SUPPORT;\n};\n\n\n/***/ }),\n/* 92 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(0);\nvar getOwnPropertyDescriptor = __webpack_require__(28).f;\nvar classof = __webpack_require__(13);\nvar macrotask = __webpack_require__(52).set;\nvar IS_IOS = __webpack_require__(53);\n\nvar MutationObserver = global.MutationObserver || global.WebKitMutationObserver;\nvar process = global.process;\nvar Promise = global.Promise;\nvar IS_NODE = classof(process) == 'process';\n// Node.js 11 shows ExperimentalWarning on getting `queueMicrotask`\nvar queueMicrotaskDescriptor = getOwnPropertyDescriptor(global, 'queueMicrotask');\nvar queueMicrotask = queueMicrotaskDescriptor && queueMicrotaskDescriptor.value;\n\nvar flush, head, last, notify, toggle, node, promise, then;\n\n// modern engines have queueMicrotask method\nif (!queueMicrotask) {\n flush = function () {\n var parent, fn;\n if (IS_NODE && (parent = process.domain)) parent.exit();\n while (head) {\n fn = head.fn;\n head = head.next;\n try {\n fn();\n } catch (error) {\n if (head) notify();\n else last = undefined;\n throw error;\n }\n } last = undefined;\n if (parent) parent.enter();\n };\n\n // Node.js\n if (IS_NODE) {\n notify = function () {\n process.nextTick(flush);\n };\n // browsers with MutationObserver, except iOS - https://github.com/zloirock/core-js/issues/339\n } else if (MutationObserver && !IS_IOS) {\n toggle = true;\n node = document.createTextNode('');\n new MutationObserver(flush).observe(node, { characterData: true });\n notify = function () {\n node.data = toggle = !toggle;\n };\n // environments with maybe non-completely correct, but existent Promise\n } else if (Promise && Promise.resolve) {\n // Promise.resolve without an argument throws an error in LG WebOS 2\n promise = Promise.resolve(undefined);\n then = promise.then;\n notify = function () {\n then.call(promise, flush);\n };\n // for other environments - macrotask based on:\n // - setImmediate\n // - MessageChannel\n // - window.postMessag\n // - onreadystatechange\n // - setTimeout\n } else {\n notify = function () {\n // strange IE + webpack dev server bug - use .call(global)\n macrotask.call(global, flush);\n };\n }\n}\n\nmodule.exports = queueMicrotask || function (fn) {\n var task = { fn: fn, next: undefined };\n if (last) last.next = task;\n if (!head) {\n head = task;\n notify();\n } last = task;\n};\n\n\n/***/ }),\n/* 93 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(0);\n\nmodule.exports = function (a, b) {\n var console = global.console;\n if (console && console.error) {\n arguments.length === 1 ? console.error(a) : console.error(a, b);\n }\n};\n\n\n/***/ }),\n/* 94 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(0);\nvar userAgent = __webpack_require__(54);\n\nvar process = global.process;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n version = match[0] + match[1];\n} else if (userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = match[1];\n }\n}\n\nmodule.exports = version && +version;\n\n\n/***/ }),\n/* 95 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $ = __webpack_require__(17);\nvar aFunction = __webpack_require__(15);\nvar newPromiseCapabilityModule = __webpack_require__(31);\nvar perform = __webpack_require__(56);\nvar iterate = __webpack_require__(49);\n\n// `Promise.allSettled` method\n// https://github.com/tc39/proposal-promise-allSettled\n$({ target: 'Promise', stat: true }, {\n allSettled: function allSettled(iterable) {\n var C = this;\n var capability = newPromiseCapabilityModule.f(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var promiseResolve = aFunction(C.resolve);\n var values = [];\n var counter = 0;\n var remaining = 1;\n iterate(iterable, function (promise) {\n var index = counter++;\n var alreadyCalled = false;\n values.push(undefined);\n remaining++;\n promiseResolve.call(C, promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[index] = { status: 'fulfilled', value: value };\n --remaining || resolve(values);\n }, function (e) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[index] = { status: 'rejected', reason: e };\n --remaining || resolve(values);\n });\n });\n --remaining || resolve(values);\n });\n if (result.error) reject(result.value);\n return capability.promise;\n }\n});\n\n\n/***/ }),\n/* 96 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $ = __webpack_require__(17);\nvar IS_PURE = __webpack_require__(12);\nvar NativePromise = __webpack_require__(48);\nvar fails = __webpack_require__(5);\nvar getBuiltIn = __webpack_require__(11);\nvar speciesConstructor = __webpack_require__(51);\nvar promiseResolve = __webpack_require__(55);\nvar redefine = __webpack_require__(10);\n\n// Safari bug https://bugs.webkit.org/show_bug.cgi?id=200829\nvar NON_GENERIC = !!NativePromise && fails(function () {\n NativePromise.prototype['finally'].call({ then: function () { /* empty */ } }, function () { /* empty */ });\n});\n\n// `Promise.prototype.finally` method\n// https://tc39.github.io/ecma262/#sec-promise.prototype.finally\n$({ target: 'Promise', proto: true, real: true, forced: NON_GENERIC }, {\n 'finally': function (onFinally) {\n var C = speciesConstructor(this, getBuiltIn('Promise'));\n var isFunction = typeof onFinally == 'function';\n return this.then(\n isFunction ? function (x) {\n return promiseResolve(C, onFinally()).then(function () { return x; });\n } : onFinally,\n isFunction ? function (e) {\n return promiseResolve(C, onFinally()).then(function () { throw e; });\n } : onFinally\n );\n }\n});\n\n// patch native Promise.prototype for native async functions\nif (!IS_PURE && typeof NativePromise == 'function' && !NativePromise.prototype['finally']) {\n redefine(NativePromise.prototype, 'finally', getBuiltIn('Promise').prototype['finally']);\n}\n\n\n/***/ }),\n/* 97 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n// ESM COMPAT FLAG\n__webpack_require__.r(__webpack_exports__);\n\n// EXPORTS\n__webpack_require__.d(__webpack_exports__, \"add\", function() { return /* binding */ add; });\n__webpack_require__.d(__webpack_exports__, \"done\", function() { return /* binding */ done; });\n__webpack_require__.d(__webpack_exports__, \"toJS\", function() { return /* binding */ toJS; });\n__webpack_require__.d(__webpack_exports__, \"load\", function() { return /* binding */ load; });\n__webpack_require__.d(__webpack_exports__, \"search\", function() { return /* binding */ search; });\n\n// CONCATENATED MODULE: ./node_modules/tslib/tslib.es6.js\n/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nfunction __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nvar __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nfunction __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nfunction __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nfunction __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nfunction __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nfunction __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nfunction __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nfunction __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nfunction __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nfunction __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nfunction __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nfunction __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nfunction __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nfunction __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nfunction __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nfunction __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nfunction __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nfunction __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nfunction __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nfunction __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nfunction __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n\n// EXTERNAL MODULE: ./node_modules/lunr/lunr.js\nvar lunr = __webpack_require__(4);\n\n// CONCATENATED MODULE: ./node_modules/workerize-loader/dist/rpc-worker-loader.js!./node_modules/ts-loader??ref--4-0!./node_modules/babel-loader/lib??ref--4-1!./src/services/SearchWorker.worker.ts\n\n\ntry {\n // tslint:disable-next-line\n __webpack_require__(57); // bundle into worker\n}\ncatch (_) { } // nope\n/* just for better typings */\nvar Worker = /** @class */ (function () {\n function Worker() {\n this.add = add;\n this.done = done;\n this.search = search;\n this.toJS = toJS;\n this.load = load;\n }\n return Worker;\n}());\n/* harmony default export */ var SearchWorker_worker = __webpack_exports__[\"default\"] = (Worker);\nvar store = [];\nvar resolveIndex = function () {\n throw new Error('Should not be called');\n};\nvar index = new Promise(function (resolve) {\n resolveIndex = resolve;\n});\nlunr[\"tokenizer\"].separator = /\\s+/;\nvar builder = new lunr[\"Builder\"]();\nbuilder.field('title');\nbuilder.field('description');\nbuilder.ref('ref');\nbuilder.pipeline.add(lunr[\"trimmer\"], lunr[\"stopWordFilter\"], lunr[\"stemmer\"]);\nvar expandTerm = function (term) { return '*' + lunr[\"stemmer\"](new lunr[\"Token\"](term, {})) + '*'; };\nfunction add(title, description, meta) {\n var ref = store.push(meta) - 1;\n var item = {\n title: title.toLowerCase(),\n description: description.toLowerCase(),\n ref: ref\n };\n builder.add(item);\n}\nfunction done() {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n resolveIndex(builder.build());\n return [2 /*return*/];\n });\n });\n}\nfunction toJS() {\n return __awaiter(this, void 0, void 0, function () {\n var _a;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n _a = {\n store: store\n };\n return [4 /*yield*/, index];\n case 1: return [2 /*return*/, (_a.index = (_b.sent()).toJSON(),\n _a)];\n }\n });\n });\n}\nfunction load(state) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n store = state.store;\n resolveIndex(lunr[\"Index\"].load(state.index));\n return [2 /*return*/];\n });\n });\n}\nfunction search(q, limit) {\n if (limit === void 0) { limit = 0; }\n return __awaiter(this, void 0, void 0, function () {\n var searchResults;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (q.trim().length === 0) {\n return [2 /*return*/, []];\n }\n return [4 /*yield*/, index];\n case 1:\n searchResults = (_a.sent()).query(function (t) {\n q.trim().toLowerCase().split(/\\s+/).forEach(function (term) {\n var exp = expandTerm(term);\n t.term(exp, {});\n });\n });\n if (limit > 0) {\n searchResults = searchResults.slice(0, limit);\n }\n return [2 /*return*/, searchResults.map(function (res) { return ({\n meta: store[res.ref],\n score: res.score\n }); })];\n }\n });\n });\n}\n\naddEventListener('message', function (e) {var ref = e.data;var type = ref.type;var method = ref.method;var id = ref.id;var params = ref.params;var f,p;if (type === 'RPC' && method) {if (f = __webpack_exports__[method]) {p = Promise.resolve().then(function () { return f.apply(__webpack_exports__, params); });} else {p = Promise.reject('No such method');}p.then(function (result) {postMessage({type: 'RPC',id: id,result: result});}).catch(function (e) {var error = {message: e};if (e.stack) {error.message = e.message;error.stack = e.stack;error.name = e.name;}postMessage({type: 'RPC',id: id,error: error});});}});postMessage({type: 'RPC',method: 'ready'});\n\n/***/ })\n/******/ ]);\n//# sourceMappingURL=9bfd118e9284deb14028.worker.js.map"])), { name: "[hash].worker.js" })
|
|
6435
6448
|
addMethods(w, methods)
|
|
6436
6449
|
|
|
6437
6450
|
return w
|
|
@@ -6439,7 +6452,7 @@ module.exports = require("prismjs/components/prism-swift.js");
|
|
|
6439
6452
|
|
|
6440
6453
|
|
|
6441
6454
|
/***/ }),
|
|
6442
|
-
/*
|
|
6455
|
+
/* 78 */
|
|
6443
6456
|
/***/ (function(module, exports) {
|
|
6444
6457
|
|
|
6445
6458
|
function addMethods(worker, methods) {
|
|
@@ -6491,13 +6504,13 @@ module.exports = addMethods;
|
|
|
6491
6504
|
|
|
6492
6505
|
|
|
6493
6506
|
/***/ }),
|
|
6494
|
-
/*
|
|
6507
|
+
/* 79 */
|
|
6495
6508
|
/***/ (function(module, exports) {
|
|
6496
6509
|
|
|
6497
6510
|
module.exports = require("core-js/es/promise");
|
|
6498
6511
|
|
|
6499
6512
|
/***/ }),
|
|
6500
|
-
/*
|
|
6513
|
+
/* 80 */
|
|
6501
6514
|
/***/ (function(module, exports, __webpack_require__) {
|
|
6502
6515
|
|
|
6503
6516
|
"use strict";
|
|
@@ -6517,7 +6530,7 @@ module.exports = function (useSourceMap) {
|
|
|
6517
6530
|
var content = cssWithMappingToString(item, useSourceMap);
|
|
6518
6531
|
|
|
6519
6532
|
if (item[2]) {
|
|
6520
|
-
return "@media ".concat(item[2], "{").concat(content, "}");
|
|
6533
|
+
return "@media ".concat(item[2], " {").concat(content, "}");
|
|
6521
6534
|
}
|
|
6522
6535
|
|
|
6523
6536
|
return content;
|
|
@@ -6526,7 +6539,7 @@ module.exports = function (useSourceMap) {
|
|
|
6526
6539
|
// eslint-disable-next-line func-names
|
|
6527
6540
|
|
|
6528
6541
|
|
|
6529
|
-
list.i = function (modules, mediaQuery) {
|
|
6542
|
+
list.i = function (modules, mediaQuery, dedupe) {
|
|
6530
6543
|
if (typeof modules === 'string') {
|
|
6531
6544
|
// eslint-disable-next-line no-param-reassign
|
|
6532
6545
|
modules = [[null, modules, '']];
|
|
@@ -6534,30 +6547,34 @@ module.exports = function (useSourceMap) {
|
|
|
6534
6547
|
|
|
6535
6548
|
var alreadyImportedModules = {};
|
|
6536
6549
|
|
|
6537
|
-
|
|
6538
|
-
|
|
6539
|
-
|
|
6550
|
+
if (dedupe) {
|
|
6551
|
+
for (var i = 0; i < this.length; i++) {
|
|
6552
|
+
// eslint-disable-next-line prefer-destructuring
|
|
6553
|
+
var id = this[i][0];
|
|
6540
6554
|
|
|
6541
|
-
|
|
6542
|
-
|
|
6555
|
+
if (id != null) {
|
|
6556
|
+
alreadyImportedModules[id] = true;
|
|
6557
|
+
}
|
|
6543
6558
|
}
|
|
6544
6559
|
}
|
|
6545
6560
|
|
|
6546
6561
|
for (var _i = 0; _i < modules.length; _i++) {
|
|
6547
|
-
var item = modules[_i];
|
|
6548
|
-
|
|
6549
|
-
|
|
6550
|
-
|
|
6562
|
+
var item = [].concat(modules[_i]);
|
|
6563
|
+
|
|
6564
|
+
if (dedupe && alreadyImportedModules[item[0]]) {
|
|
6565
|
+
// eslint-disable-next-line no-continue
|
|
6566
|
+
continue;
|
|
6567
|
+
}
|
|
6551
6568
|
|
|
6552
|
-
if (
|
|
6553
|
-
if (
|
|
6569
|
+
if (mediaQuery) {
|
|
6570
|
+
if (!item[2]) {
|
|
6554
6571
|
item[2] = mediaQuery;
|
|
6555
|
-
} else
|
|
6556
|
-
item[2] = "
|
|
6572
|
+
} else {
|
|
6573
|
+
item[2] = "".concat(mediaQuery, " and ").concat(item[2]);
|
|
6557
6574
|
}
|
|
6558
|
-
|
|
6559
|
-
list.push(item);
|
|
6560
6575
|
}
|
|
6576
|
+
|
|
6577
|
+
list.push(item);
|
|
6561
6578
|
}
|
|
6562
6579
|
};
|
|
6563
6580
|
|
|
@@ -6576,7 +6593,7 @@ function cssWithMappingToString(item, useSourceMap) {
|
|
|
6576
6593
|
if (useSourceMap && typeof btoa === 'function') {
|
|
6577
6594
|
var sourceMapping = toComment(cssMapping);
|
|
6578
6595
|
var sourceURLs = cssMapping.sources.map(function (source) {
|
|
6579
|
-
return "/*# sourceURL=".concat(cssMapping.sourceRoot).concat(source, " */");
|
|
6596
|
+
return "/*# sourceURL=".concat(cssMapping.sourceRoot || '').concat(source, " */");
|
|
6580
6597
|
});
|
|
6581
6598
|
return [content].concat(sourceURLs).concat([sourceMapping]).join('\n');
|
|
6582
6599
|
}
|
|
@@ -6593,23 +6610,180 @@ function toComment(sourceMap) {
|
|
|
6593
6610
|
}
|
|
6594
6611
|
|
|
6595
6612
|
/***/ }),
|
|
6596
|
-
/*
|
|
6613
|
+
/* 81 */
|
|
6597
6614
|
/***/ (function(module, exports) {
|
|
6598
6615
|
|
|
6599
6616
|
module.exports = require("stickyfill");
|
|
6600
6617
|
|
|
6601
6618
|
/***/ }),
|
|
6602
|
-
/*
|
|
6619
|
+
/* 82 */
|
|
6603
6620
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
6604
6621
|
|
|
6605
6622
|
"use strict";
|
|
6623
|
+
// ESM COMPAT FLAG
|
|
6606
6624
|
__webpack_require__.r(__webpack_exports__);
|
|
6607
6625
|
|
|
6626
|
+
// EXPORTS
|
|
6627
|
+
__webpack_require__.d(__webpack_exports__, "RedocStandalone", function() { return /* reexport */ RedocStandalone_RedocStandalone; });
|
|
6628
|
+
__webpack_require__.d(__webpack_exports__, "Redoc", function() { return /* reexport */ Redoc_Redoc; });
|
|
6629
|
+
__webpack_require__.d(__webpack_exports__, "ApiInfo", function() { return /* reexport */ ApiInfo_ApiInfo; });
|
|
6630
|
+
__webpack_require__.d(__webpack_exports__, "ApiLogo", function() { return /* reexport */ ApiLogo_ApiLogo; });
|
|
6631
|
+
__webpack_require__.d(__webpack_exports__, "ContentItems", function() { return /* reexport */ ContentItems_ContentItems; });
|
|
6632
|
+
__webpack_require__.d(__webpack_exports__, "ContentItem", function() { return /* reexport */ ContentItems_ContentItem; });
|
|
6633
|
+
__webpack_require__.d(__webpack_exports__, "SectionItem", function() { return /* reexport */ ContentItems_SectionItem; });
|
|
6634
|
+
__webpack_require__.d(__webpack_exports__, "OperationItem", function() { return /* reexport */ ContentItems_OperationItem; });
|
|
6635
|
+
__webpack_require__.d(__webpack_exports__, "ApiContentWrap", function() { return /* reexport */ ApiContentWrap; });
|
|
6636
|
+
__webpack_require__.d(__webpack_exports__, "BackgroundStub", function() { return /* reexport */ BackgroundStub; });
|
|
6637
|
+
__webpack_require__.d(__webpack_exports__, "RedocWrap", function() { return /* reexport */ RedocWrap; });
|
|
6638
|
+
__webpack_require__.d(__webpack_exports__, "Schema", function() { return /* reexport */ Schema_Schema; });
|
|
6639
|
+
__webpack_require__.d(__webpack_exports__, "ObjectSchema", function() { return /* reexport */ ObjectSchema_ObjectSchema; });
|
|
6640
|
+
__webpack_require__.d(__webpack_exports__, "OneOfButton", function() { return /* reexport */ OneOfSchema_OneOfButton; });
|
|
6641
|
+
__webpack_require__.d(__webpack_exports__, "OneOfSchema", function() { return /* reexport */ OneOfSchema_OneOfSchema; });
|
|
6642
|
+
__webpack_require__.d(__webpack_exports__, "ArraySchema", function() { return /* reexport */ ArraySchema_ArraySchema; });
|
|
6643
|
+
__webpack_require__.d(__webpack_exports__, "DiscriminatorDropdown", function() { return /* reexport */ DiscriminatorDropdown_DiscriminatorDropdown; });
|
|
6644
|
+
__webpack_require__.d(__webpack_exports__, "SearchBox", function() { return /* reexport */ SearchBox_SearchBox; });
|
|
6645
|
+
__webpack_require__.d(__webpack_exports__, "Operation", function() { return /* reexport */ Operation_Operation; });
|
|
6646
|
+
__webpack_require__.d(__webpack_exports__, "Loading", function() { return /* reexport */ Loading_Loading; });
|
|
6647
|
+
__webpack_require__.d(__webpack_exports__, "JsonViewer", function() { return /* reexport */ JsonViewer; });
|
|
6648
|
+
__webpack_require__.d(__webpack_exports__, "Markdown", function() { return /* reexport */ Markdown_Markdown; });
|
|
6649
|
+
__webpack_require__.d(__webpack_exports__, "StyledMarkdownBlock", function() { return /* reexport */ StyledMarkdownBlock; });
|
|
6650
|
+
__webpack_require__.d(__webpack_exports__, "OAuthFlow", function() { return /* reexport */ SecuritySchemes_OAuthFlow; });
|
|
6651
|
+
__webpack_require__.d(__webpack_exports__, "SecurityDefs", function() { return /* reexport */ SecuritySchemes_SecurityDefs; });
|
|
6652
|
+
__webpack_require__.d(__webpack_exports__, "ResponseView", function() { return /* reexport */ Response_ResponseView; });
|
|
6653
|
+
__webpack_require__.d(__webpack_exports__, "ResponseDetails", function() { return /* reexport */ ResponseDetails_ResponseDetails; });
|
|
6654
|
+
__webpack_require__.d(__webpack_exports__, "ResponseHeaders", function() { return /* reexport */ ResponseHeaders_ResponseHeaders; });
|
|
6655
|
+
__webpack_require__.d(__webpack_exports__, "ResponsesList", function() { return /* reexport */ ResponsesList_ResponsesList; });
|
|
6656
|
+
__webpack_require__.d(__webpack_exports__, "ResponseTitle", function() { return /* reexport */ ResponseTitle_ResponseTitle; });
|
|
6657
|
+
__webpack_require__.d(__webpack_exports__, "ResponseSamples", function() { return /* reexport */ ResponseSamples_ResponseSamples; });
|
|
6658
|
+
__webpack_require__.d(__webpack_exports__, "PayloadSamples", function() { return /* reexport */ PayloadSamples_PayloadSamples; });
|
|
6659
|
+
__webpack_require__.d(__webpack_exports__, "MediaTypesSwitch", function() { return /* reexport */ MediaTypesSwitch_MediaTypesSwitch; });
|
|
6660
|
+
__webpack_require__.d(__webpack_exports__, "ErrorBoundary", function() { return /* reexport */ ErrorBoundary_ErrorBoundary; });
|
|
6661
|
+
__webpack_require__.d(__webpack_exports__, "StoreProvider", function() { return /* reexport */ Provider; });
|
|
6662
|
+
__webpack_require__.d(__webpack_exports__, "StoreConsumer", function() { return /* reexport */ Consumer; });
|
|
6663
|
+
__webpack_require__.d(__webpack_exports__, "StoreBuilder", function() { return /* reexport */ StoreBuilder_StoreBuilder; });
|
|
6664
|
+
__webpack_require__.d(__webpack_exports__, "OptionsContext", function() { return /* reexport */ OptionsContext; });
|
|
6665
|
+
__webpack_require__.d(__webpack_exports__, "OptionsProvider", function() { return /* reexport */ OptionsProvider; });
|
|
6666
|
+
__webpack_require__.d(__webpack_exports__, "OptionsConsumer", function() { return /* reexport */ OptionsConsumer; });
|
|
6667
|
+
__webpack_require__.d(__webpack_exports__, "MenuItem", function() { return /* reexport */ MenuItem_MenuItem; });
|
|
6668
|
+
__webpack_require__.d(__webpack_exports__, "OperationMenuItemContent", function() { return /* reexport */ MenuItem_OperationMenuItemContent; });
|
|
6669
|
+
__webpack_require__.d(__webpack_exports__, "MenuItems", function() { return /* reexport */ MenuItems_MenuItems; });
|
|
6670
|
+
__webpack_require__.d(__webpack_exports__, "SideMenu", function() { return /* reexport */ SideMenu_SideMenu; });
|
|
6671
|
+
__webpack_require__.d(__webpack_exports__, "OperationBadge", function() { return /* reexport */ OperationBadge; });
|
|
6672
|
+
__webpack_require__.d(__webpack_exports__, "MenuItemUl", function() { return /* reexport */ MenuItemUl; });
|
|
6673
|
+
__webpack_require__.d(__webpack_exports__, "MenuItemLi", function() { return /* reexport */ MenuItemLi; });
|
|
6674
|
+
__webpack_require__.d(__webpack_exports__, "menuItemDepth", function() { return /* reexport */ menuItemDepth; });
|
|
6675
|
+
__webpack_require__.d(__webpack_exports__, "MenuItemLabel", function() { return /* reexport */ MenuItemLabel; });
|
|
6676
|
+
__webpack_require__.d(__webpack_exports__, "MenuItemTitle", function() { return /* reexport */ MenuItemTitle; });
|
|
6677
|
+
__webpack_require__.d(__webpack_exports__, "RedocAttribution", function() { return /* reexport */ RedocAttribution; });
|
|
6678
|
+
__webpack_require__.d(__webpack_exports__, "StickyResponsiveSidebar", function() { return /* reexport */ StickyResponsiveSidebar_StickyResponsiveSidebar; });
|
|
6679
|
+
__webpack_require__.d(__webpack_exports__, "SchemaDefinition", function() { return /* reexport */ SchemaDefinition_SchemaDefinition; });
|
|
6680
|
+
__webpack_require__.d(__webpack_exports__, "SourceCode", function() { return /* reexport */ SourceCode_SourceCode; });
|
|
6681
|
+
__webpack_require__.d(__webpack_exports__, "SourceCodeWithCopy", function() { return /* reexport */ SourceCode_SourceCodeWithCopy; });
|
|
6682
|
+
__webpack_require__.d(__webpack_exports__, "MiddlePanel", function() { return /* reexport */ MiddlePanel; });
|
|
6683
|
+
__webpack_require__.d(__webpack_exports__, "Row", function() { return /* reexport */ Row; });
|
|
6684
|
+
__webpack_require__.d(__webpack_exports__, "RightPanel", function() { return /* reexport */ RightPanel; });
|
|
6685
|
+
__webpack_require__.d(__webpack_exports__, "Section", function() { return /* reexport */ Section; });
|
|
6686
|
+
__webpack_require__.d(__webpack_exports__, "createStore", function() { return /* reexport */ createStore; });
|
|
6687
|
+
__webpack_require__.d(__webpack_exports__, "AppStore", function() { return /* reexport */ AppStore_AppStore; });
|
|
6688
|
+
__webpack_require__.d(__webpack_exports__, "OpenAPIParser", function() { return /* reexport */ OpenAPIParser_OpenAPIParser; });
|
|
6689
|
+
__webpack_require__.d(__webpack_exports__, "LEGACY_REGEXP", function() { return /* reexport */ LEGACY_REGEXP; });
|
|
6690
|
+
__webpack_require__.d(__webpack_exports__, "MDX_COMPONENT_REGEXP", function() { return /* reexport */ MDX_COMPONENT_REGEXP; });
|
|
6691
|
+
__webpack_require__.d(__webpack_exports__, "COMPONENT_REGEXP", function() { return /* reexport */ COMPONENT_REGEXP; });
|
|
6692
|
+
__webpack_require__.d(__webpack_exports__, "buildComponentComment", function() { return /* reexport */ buildComponentComment; });
|
|
6693
|
+
__webpack_require__.d(__webpack_exports__, "MarkdownRenderer", function() { return /* reexport */ MarkdownRenderer_MarkdownRenderer; });
|
|
6694
|
+
__webpack_require__.d(__webpack_exports__, "SECTION_ATTR", function() { return /* reexport */ SECTION_ATTR; });
|
|
6695
|
+
__webpack_require__.d(__webpack_exports__, "MenuStore", function() { return /* reexport */ MenuStore_MenuStore; });
|
|
6696
|
+
__webpack_require__.d(__webpack_exports__, "ScrollService", function() { return /* reexport */ ScrollService_ScrollService; });
|
|
6697
|
+
__webpack_require__.d(__webpack_exports__, "SpecStore", function() { return /* reexport */ SpecStore_SpecStore; });
|
|
6698
|
+
__webpack_require__.d(__webpack_exports__, "ClipboardService", function() { return /* reexport */ ClipboardService; });
|
|
6699
|
+
__webpack_require__.d(__webpack_exports__, "HistoryService", function() { return /* reexport */ HistoryService_HistoryService; });
|
|
6700
|
+
__webpack_require__.d(__webpack_exports__, "history", function() { return /* reexport */ HistoryService_history; });
|
|
6701
|
+
__webpack_require__.d(__webpack_exports__, "GroupModel", function() { return /* reexport */ Group_model_GroupModel; });
|
|
6702
|
+
__webpack_require__.d(__webpack_exports__, "isPayloadSample", function() { return /* reexport */ isPayloadSample; });
|
|
6703
|
+
__webpack_require__.d(__webpack_exports__, "OperationModel", function() { return /* reexport */ Operation_OperationModel; });
|
|
6704
|
+
__webpack_require__.d(__webpack_exports__, "RequestBodyModel", function() { return /* reexport */ RequestBody_RequestBodyModel; });
|
|
6705
|
+
__webpack_require__.d(__webpack_exports__, "ExampleModel", function() { return /* reexport */ Example_ExampleModel; });
|
|
6706
|
+
__webpack_require__.d(__webpack_exports__, "MediaContentModel", function() { return /* reexport */ MediaContent_MediaContentModel; });
|
|
6707
|
+
__webpack_require__.d(__webpack_exports__, "MediaTypeModel", function() { return /* reexport */ MediaType_MediaTypeModel; });
|
|
6708
|
+
__webpack_require__.d(__webpack_exports__, "ResponseModel", function() { return /* reexport */ Response_ResponseModel; });
|
|
6709
|
+
__webpack_require__.d(__webpack_exports__, "SchemaModel", function() { return /* reexport */ Schema_SchemaModel; });
|
|
6710
|
+
__webpack_require__.d(__webpack_exports__, "FieldModel", function() { return /* reexport */ Field_FieldModel; });
|
|
6711
|
+
__webpack_require__.d(__webpack_exports__, "ApiInfoModel", function() { return /* reexport */ ApiInfo_ApiInfoModel; });
|
|
6712
|
+
__webpack_require__.d(__webpack_exports__, "SecuritySchemeModel", function() { return /* reexport */ SecuritySchemes_SecuritySchemeModel; });
|
|
6713
|
+
__webpack_require__.d(__webpack_exports__, "SecuritySchemesModel", function() { return /* reexport */ SecuritySchemesModel; });
|
|
6714
|
+
__webpack_require__.d(__webpack_exports__, "RedocNormalizedOptions", function() { return /* reexport */ RedocNormalizedOptions_RedocNormalizedOptions; });
|
|
6715
|
+
__webpack_require__.d(__webpack_exports__, "GROUP_DEPTH", function() { return /* reexport */ GROUP_DEPTH; });
|
|
6716
|
+
__webpack_require__.d(__webpack_exports__, "MenuBuilder", function() { return /* reexport */ MenuBuilder_MenuBuilder; });
|
|
6717
|
+
__webpack_require__.d(__webpack_exports__, "SearchStore", function() { return /* reexport */ SearchStore_SearchStore; });
|
|
6718
|
+
__webpack_require__.d(__webpack_exports__, "MarkerService", function() { return /* reexport */ MarkerService_MarkerService; });
|
|
6719
|
+
__webpack_require__.d(__webpack_exports__, "JsonPointer", function() { return /* reexport */ JsonPointer_JsonPointer; });
|
|
6720
|
+
__webpack_require__.d(__webpack_exports__, "isStatusCode", function() { return /* reexport */ isStatusCode; });
|
|
6721
|
+
__webpack_require__.d(__webpack_exports__, "getStatusCodeType", function() { return /* reexport */ getStatusCodeType; });
|
|
6722
|
+
__webpack_require__.d(__webpack_exports__, "isOperationName", function() { return /* reexport */ isOperationName; });
|
|
6723
|
+
__webpack_require__.d(__webpack_exports__, "getOperationSummary", function() { return /* reexport */ getOperationSummary; });
|
|
6724
|
+
__webpack_require__.d(__webpack_exports__, "detectType", function() { return /* reexport */ detectType; });
|
|
6725
|
+
__webpack_require__.d(__webpack_exports__, "isPrimitiveType", function() { return /* reexport */ isPrimitiveType; });
|
|
6726
|
+
__webpack_require__.d(__webpack_exports__, "isJsonLike", function() { return /* reexport */ isJsonLike; });
|
|
6727
|
+
__webpack_require__.d(__webpack_exports__, "isFormUrlEncoded", function() { return /* reexport */ isFormUrlEncoded; });
|
|
6728
|
+
__webpack_require__.d(__webpack_exports__, "urlFormEncodePayload", function() { return /* reexport */ urlFormEncodePayload; });
|
|
6729
|
+
__webpack_require__.d(__webpack_exports__, "serializeParameterValueWithMime", function() { return /* reexport */ serializeParameterValueWithMime; });
|
|
6730
|
+
__webpack_require__.d(__webpack_exports__, "serializeParameterValue", function() { return /* reexport */ serializeParameterValue; });
|
|
6731
|
+
__webpack_require__.d(__webpack_exports__, "langFromMime", function() { return /* reexport */ langFromMime; });
|
|
6732
|
+
__webpack_require__.d(__webpack_exports__, "isNamedDefinition", function() { return /* reexport */ isNamedDefinition; });
|
|
6733
|
+
__webpack_require__.d(__webpack_exports__, "humanizeConstraints", function() { return /* reexport */ humanizeConstraints; });
|
|
6734
|
+
__webpack_require__.d(__webpack_exports__, "sortByRequired", function() { return /* reexport */ sortByRequired; });
|
|
6735
|
+
__webpack_require__.d(__webpack_exports__, "sortByField", function() { return /* reexport */ sortByField; });
|
|
6736
|
+
__webpack_require__.d(__webpack_exports__, "mergeParams", function() { return /* reexport */ mergeParams; });
|
|
6737
|
+
__webpack_require__.d(__webpack_exports__, "mergeSimilarMediaTypes", function() { return /* reexport */ mergeSimilarMediaTypes; });
|
|
6738
|
+
__webpack_require__.d(__webpack_exports__, "expandDefaultServerVariables", function() { return /* reexport */ expandDefaultServerVariables; });
|
|
6739
|
+
__webpack_require__.d(__webpack_exports__, "normalizeServers", function() { return /* reexport */ normalizeServers; });
|
|
6740
|
+
__webpack_require__.d(__webpack_exports__, "SECURITY_DEFINITIONS_COMPONENT_NAME", function() { return /* reexport */ SECURITY_DEFINITIONS_COMPONENT_NAME; });
|
|
6741
|
+
__webpack_require__.d(__webpack_exports__, "SECURITY_DEFINITIONS_JSX_NAME", function() { return /* reexport */ SECURITY_DEFINITIONS_JSX_NAME; });
|
|
6742
|
+
__webpack_require__.d(__webpack_exports__, "SCHEMA_DEFINITION_JSX_NAME", function() { return /* reexport */ SCHEMA_DEFINITION_JSX_NAME; });
|
|
6743
|
+
__webpack_require__.d(__webpack_exports__, "SECURITY_SCHEMES_SECTION_PREFIX", function() { return /* reexport */ SECURITY_SCHEMES_SECTION_PREFIX; });
|
|
6744
|
+
__webpack_require__.d(__webpack_exports__, "setSecuritySchemePrefix", function() { return /* reexport */ setSecuritySchemePrefix; });
|
|
6745
|
+
__webpack_require__.d(__webpack_exports__, "shortenHTTPVerb", function() { return /* reexport */ shortenHTTPVerb; });
|
|
6746
|
+
__webpack_require__.d(__webpack_exports__, "isRedocExtension", function() { return /* reexport */ isRedocExtension; });
|
|
6747
|
+
__webpack_require__.d(__webpack_exports__, "extractExtensions", function() { return /* reexport */ extractExtensions; });
|
|
6748
|
+
__webpack_require__.d(__webpack_exports__, "pluralizeType", function() { return /* reexport */ pluralizeType; });
|
|
6749
|
+
__webpack_require__.d(__webpack_exports__, "mapWithLast", function() { return /* reexport */ mapWithLast; });
|
|
6750
|
+
__webpack_require__.d(__webpack_exports__, "mapValues", function() { return /* reexport */ mapValues; });
|
|
6751
|
+
__webpack_require__.d(__webpack_exports__, "flattenByProp", function() { return /* reexport */ flattenByProp; });
|
|
6752
|
+
__webpack_require__.d(__webpack_exports__, "stripTrailingSlash", function() { return /* reexport */ stripTrailingSlash; });
|
|
6753
|
+
__webpack_require__.d(__webpack_exports__, "isNumeric", function() { return /* reexport */ isNumeric; });
|
|
6754
|
+
__webpack_require__.d(__webpack_exports__, "appendToMdHeading", function() { return /* reexport */ appendToMdHeading; });
|
|
6755
|
+
__webpack_require__.d(__webpack_exports__, "mergeObjects", function() { return /* reexport */ mergeObjects; });
|
|
6756
|
+
__webpack_require__.d(__webpack_exports__, "safeSlugify", function() { return /* reexport */ safeSlugify; });
|
|
6757
|
+
__webpack_require__.d(__webpack_exports__, "isAbsoluteUrl", function() { return /* reexport */ isAbsoluteUrl; });
|
|
6758
|
+
__webpack_require__.d(__webpack_exports__, "resolveUrl", function() { return /* reexport */ resolveUrl; });
|
|
6759
|
+
__webpack_require__.d(__webpack_exports__, "getBasePath", function() { return /* reexport */ getBasePath; });
|
|
6760
|
+
__webpack_require__.d(__webpack_exports__, "titleize", function() { return /* reexport */ titleize; });
|
|
6761
|
+
__webpack_require__.d(__webpack_exports__, "removeQueryString", function() { return /* reexport */ removeQueryString; });
|
|
6762
|
+
__webpack_require__.d(__webpack_exports__, "unescapeHTMLChars", function() { return /* reexport */ unescapeHTMLChars; });
|
|
6763
|
+
__webpack_require__.d(__webpack_exports__, "mapLang", function() { return /* reexport */ mapLang; });
|
|
6764
|
+
__webpack_require__.d(__webpack_exports__, "highlight", function() { return /* reexport */ highlight; });
|
|
6765
|
+
__webpack_require__.d(__webpack_exports__, "loadAndBundleSpec", function() { return /* reexport */ loadAndBundleSpec; });
|
|
6766
|
+
__webpack_require__.d(__webpack_exports__, "convertSwagger2OpenAPI", function() { return /* reexport */ convertSwagger2OpenAPI; });
|
|
6767
|
+
__webpack_require__.d(__webpack_exports__, "IS_BROWSER", function() { return /* reexport */ IS_BROWSER; });
|
|
6768
|
+
__webpack_require__.d(__webpack_exports__, "querySelector", function() { return /* reexport */ querySelector; });
|
|
6769
|
+
__webpack_require__.d(__webpack_exports__, "html2Str", function() { return /* reexport */ html2Str; });
|
|
6770
|
+
__webpack_require__.d(__webpack_exports__, "Throttle", function() { return /* reexport */ Throttle; });
|
|
6771
|
+
__webpack_require__.d(__webpack_exports__, "debugTime", function() { return /* reexport */ debugTime; });
|
|
6772
|
+
__webpack_require__.d(__webpack_exports__, "debugTimeEnd", function() { return /* reexport */ debugTimeEnd; });
|
|
6773
|
+
__webpack_require__.d(__webpack_exports__, "memoize", function() { return /* reexport */ memoize; });
|
|
6774
|
+
__webpack_require__.d(__webpack_exports__, "media", function() { return /* reexport */ media; });
|
|
6775
|
+
__webpack_require__.d(__webpack_exports__, "css", function() { return /* reexport */ css; });
|
|
6776
|
+
__webpack_require__.d(__webpack_exports__, "createGlobalStyle", function() { return /* reexport */ createGlobalStyle; });
|
|
6777
|
+
__webpack_require__.d(__webpack_exports__, "keyframes", function() { return /* reexport */ keyframes; });
|
|
6778
|
+
__webpack_require__.d(__webpack_exports__, "ThemeProvider", function() { return /* reexport */ ThemeProvider; });
|
|
6779
|
+
__webpack_require__.d(__webpack_exports__, "extensionsHook", function() { return /* reexport */ extensionsHook; });
|
|
6780
|
+
__webpack_require__.d(__webpack_exports__, "styled", function() { return /* reexport */ styled_components; });
|
|
6781
|
+
|
|
6608
6782
|
// EXTERNAL MODULE: external "tslib"
|
|
6609
6783
|
var external_tslib_ = __webpack_require__(1);
|
|
6610
6784
|
|
|
6611
6785
|
// EXTERNAL MODULE: external "prop-types"
|
|
6612
|
-
var external_prop_types_ = __webpack_require__(
|
|
6786
|
+
var external_prop_types_ = __webpack_require__(14);
|
|
6613
6787
|
|
|
6614
6788
|
// EXTERNAL MODULE: external "react"
|
|
6615
6789
|
var external_react_ = __webpack_require__(0);
|
|
@@ -6654,10 +6828,10 @@ var defaultTheme = {
|
|
|
6654
6828
|
}
|
|
6655
6829
|
},
|
|
6656
6830
|
success: {
|
|
6657
|
-
main: '#
|
|
6831
|
+
main: '#37d247',
|
|
6658
6832
|
light: function (_a) {
|
|
6659
6833
|
var colors = _a.colors;
|
|
6660
|
-
return Object(external_polished_["lighten"])(colors.tonalOffset, colors.success.main);
|
|
6834
|
+
return Object(external_polished_["lighten"])(colors.tonalOffset * 2, colors.success.main);
|
|
6661
6835
|
},
|
|
6662
6836
|
dark: function (_a) {
|
|
6663
6837
|
var colors = _a.colors;
|
|
@@ -6669,7 +6843,7 @@ var defaultTheme = {
|
|
|
6669
6843
|
}
|
|
6670
6844
|
},
|
|
6671
6845
|
warning: {
|
|
6672
|
-
main: '#
|
|
6846
|
+
main: '#ffa500',
|
|
6673
6847
|
light: function (_a) {
|
|
6674
6848
|
var colors = _a.colors;
|
|
6675
6849
|
return Object(external_polished_["lighten"])(colors.tonalOffset, colors.warning.main);
|
|
@@ -6728,7 +6902,10 @@ var defaultTheme = {
|
|
|
6728
6902
|
}
|
|
6729
6903
|
},
|
|
6730
6904
|
redirect: {
|
|
6731
|
-
color:
|
|
6905
|
+
color: function (_a) {
|
|
6906
|
+
var colors = _a.colors;
|
|
6907
|
+
return colors.warning.main;
|
|
6908
|
+
},
|
|
6732
6909
|
backgroundColor: function (_a) {
|
|
6733
6910
|
var colors = _a.colors;
|
|
6734
6911
|
return Object(external_polished_["transparentize"])(0.9, colors.responses.redirect.color);
|
|
@@ -6812,11 +6989,11 @@ var defaultTheme = {
|
|
|
6812
6989
|
}
|
|
6813
6990
|
}
|
|
6814
6991
|
},
|
|
6815
|
-
|
|
6992
|
+
sidebar: {
|
|
6816
6993
|
width: '260px',
|
|
6817
6994
|
backgroundColor: '#fafafa',
|
|
6818
6995
|
textColor: '#333333',
|
|
6819
|
-
activeTextColor: function (theme) { return theme.
|
|
6996
|
+
activeTextColor: function (theme) { return theme.sidebar.textColor !== defaultTheme.sidebar.textColor ? theme.sidebar.textColor : theme.colors.primary.main; },
|
|
6820
6997
|
groupItems: {
|
|
6821
6998
|
textTransform: 'uppercase'
|
|
6822
6999
|
},
|
|
@@ -6825,16 +7002,16 @@ var defaultTheme = {
|
|
|
6825
7002
|
},
|
|
6826
7003
|
arrow: {
|
|
6827
7004
|
size: '1.5em',
|
|
6828
|
-
color: function (theme) { return theme.
|
|
7005
|
+
color: function (theme) { return theme.sidebar.textColor; }
|
|
6829
7006
|
}
|
|
6830
7007
|
},
|
|
6831
7008
|
logo: {
|
|
6832
7009
|
maxHeight: function (_a) {
|
|
6833
|
-
var menu = _a.
|
|
7010
|
+
var menu = _a.sidebar;
|
|
6834
7011
|
return menu.width;
|
|
6835
7012
|
},
|
|
6836
7013
|
maxWidth: function (_a) {
|
|
6837
|
-
var menu = _a.
|
|
7014
|
+
var menu = _a.sidebar;
|
|
6838
7015
|
return menu.width;
|
|
6839
7016
|
},
|
|
6840
7017
|
gutter: '2px'
|
|
@@ -6844,7 +7021,7 @@ var defaultTheme = {
|
|
|
6844
7021
|
width: '40%',
|
|
6845
7022
|
textColor: '#ffffff'
|
|
6846
7023
|
},
|
|
6847
|
-
|
|
7024
|
+
codeBlock: {
|
|
6848
7025
|
backgroundColor: function (_a) {
|
|
6849
7026
|
var rightPanel = _a.rightPanel;
|
|
6850
7027
|
return Object(external_polished_["darken"])(0.1, rightPanel.backgroundColor);
|
|
@@ -6928,7 +7105,7 @@ if (typeof Element !== 'undefined' && !Element.prototype.scrollIntoViewIfNeeded)
|
|
|
6928
7105
|
}
|
|
6929
7106
|
|
|
6930
7107
|
// EXTERNAL MODULE: external "slugify"
|
|
6931
|
-
var external_slugify_ = __webpack_require__(
|
|
7108
|
+
var external_slugify_ = __webpack_require__(35);
|
|
6932
7109
|
var external_slugify_default = /*#__PURE__*/__webpack_require__.n(external_slugify_);
|
|
6933
7110
|
|
|
6934
7111
|
// EXTERNAL MODULE: external "url"
|
|
@@ -7156,8 +7333,17 @@ function argValueToBoolean(val, defaultValue) {
|
|
|
7156
7333
|
var RedocNormalizedOptions_RedocNormalizedOptions = /** @class */ (function () {
|
|
7157
7334
|
function RedocNormalizedOptions(raw, defaults) {
|
|
7158
7335
|
if (defaults === void 0) { defaults = {}; }
|
|
7336
|
+
var _a, _b, _c, _d;
|
|
7159
7337
|
raw = Object(external_tslib_["__assign"])(Object(external_tslib_["__assign"])({}, defaults), raw);
|
|
7160
|
-
var hook = raw.theme && raw.theme.extensionsHook;
|
|
7338
|
+
var hook = raw.theme && raw.theme.extensionsHook; // migrate from old theme
|
|
7339
|
+
if (((_a = raw.theme) === null || _a === void 0 ? void 0 : _a.menu) && !((_b = raw.theme) === null || _b === void 0 ? void 0 : _b.sidebar)) {
|
|
7340
|
+
console.warn('Theme setting "menu" is deprecated. Rename to "sidebar"');
|
|
7341
|
+
raw.theme.sidebar = raw.theme.menu;
|
|
7342
|
+
}
|
|
7343
|
+
if (((_c = raw.theme) === null || _c === void 0 ? void 0 : _c.codeSample) && !((_d = raw.theme) === null || _d === void 0 ? void 0 : _d.codeBlock)) {
|
|
7344
|
+
console.warn('Theme setting "codeSample" is deprecated. Rename to "codeBlock"');
|
|
7345
|
+
raw.theme.codeBlock = raw.theme.codeSample;
|
|
7346
|
+
}
|
|
7161
7347
|
this.theme = resolveTheme(mergeObjects({}, src_theme, Object(external_tslib_["__assign"])(Object(external_tslib_["__assign"])({}, raw.theme), { extensionsHook: undefined })));
|
|
7162
7348
|
this.theme.extensionsHook = hook; // do not support dynamic labels changes. Labels should be configured before
|
|
7163
7349
|
setRedocLabels(raw.labels);
|
|
@@ -7180,6 +7366,7 @@ var RedocNormalizedOptions_RedocNormalizedOptions = /** @class */ (function () {
|
|
|
7180
7366
|
this.enumSkipQuotes = argValueToBoolean(raw.enumSkipQuotes);
|
|
7181
7367
|
this.hideSchemaTitles = argValueToBoolean(raw.hideSchemaTitles);
|
|
7182
7368
|
this.payloadSampleIdx = RedocNormalizedOptions.normalizePayloadSampleIdx(raw.payloadSampleIdx);
|
|
7369
|
+
this.expandSingleSchemaField = argValueToBoolean(raw.expandSingleSchemaField); // eslint-disable-next-line @typescript-eslint/camelcase
|
|
7183
7370
|
this.unstable_ignoreMimeParameters = argValueToBoolean(raw.unstable_ignoreMimeParameters);
|
|
7184
7371
|
this.allowedMdComponents = raw.allowedMdComponents || {};
|
|
7185
7372
|
this.expandDefaultServerVariables = argValueToBoolean(raw.expandDefaultServerVariables);
|
|
@@ -7237,10 +7424,17 @@ var RedocNormalizedOptions_RedocNormalizedOptions = /** @class */ (function () {
|
|
|
7237
7424
|
if (value === '') {
|
|
7238
7425
|
return true;
|
|
7239
7426
|
}
|
|
7240
|
-
if (typeof value
|
|
7241
|
-
return value
|
|
7427
|
+
if (typeof value !== 'string') {
|
|
7428
|
+
return value;
|
|
7429
|
+
}
|
|
7430
|
+
switch (value) {
|
|
7431
|
+
case 'true':
|
|
7432
|
+
return true;
|
|
7433
|
+
case 'false':
|
|
7434
|
+
return false;
|
|
7435
|
+
default:
|
|
7436
|
+
return value.split(',').map(function (ext) { return ext.trim(); });
|
|
7242
7437
|
}
|
|
7243
|
-
return value;
|
|
7244
7438
|
};
|
|
7245
7439
|
RedocNormalizedOptions.normalizePayloadSampleIdx = function (value) {
|
|
7246
7440
|
if (typeof value === 'number') {
|
|
@@ -7265,7 +7459,7 @@ var RedocNormalizedOptions_RedocNormalizedOptions = /** @class */ (function () {
|
|
|
7265
7459
|
|
|
7266
7460
|
|
|
7267
7461
|
// EXTERNAL MODULE: external "styled-components"
|
|
7268
|
-
var external_styled_components_ = __webpack_require__(
|
|
7462
|
+
var external_styled_components_ = __webpack_require__(36);
|
|
7269
7463
|
|
|
7270
7464
|
// CONCATENATED MODULE: ./src/styled-components.ts
|
|
7271
7465
|
|
|
@@ -7346,12 +7540,12 @@ var ErrorBoundary_ErrorBoundary = /** @class */ (function (_super) {
|
|
|
7346
7540
|
external_react_["createElement"]("pre", null, this.state.error.stack))),
|
|
7347
7541
|
external_react_["createElement"]("small", null,
|
|
7348
7542
|
" ReDoc Version: ",
|
|
7349
|
-
"2.0.0-rc.
|
|
7543
|
+
"2.0.0-rc.25"),
|
|
7350
7544
|
" ",
|
|
7351
7545
|
external_react_["createElement"]("br", null),
|
|
7352
7546
|
external_react_["createElement"]("small", null,
|
|
7353
7547
|
" Commit: ",
|
|
7354
|
-
"
|
|
7548
|
+
"89054da"));
|
|
7355
7549
|
}
|
|
7356
7550
|
return external_react_["Children"].only(this.props.children);
|
|
7357
7551
|
};
|
|
@@ -7411,10 +7605,10 @@ var OptionsConsumer = OptionsContext.Consumer;
|
|
|
7411
7605
|
var external_mobx_ = __webpack_require__(4);
|
|
7412
7606
|
|
|
7413
7607
|
// EXTERNAL MODULE: external "json-schema-ref-parser"
|
|
7414
|
-
var external_json_schema_ref_parser_ = __webpack_require__(
|
|
7608
|
+
var external_json_schema_ref_parser_ = __webpack_require__(37);
|
|
7415
7609
|
|
|
7416
7610
|
// EXTERNAL MODULE: ./node_modules/swagger2openapi/index.js
|
|
7417
|
-
var swagger2openapi = __webpack_require__(
|
|
7611
|
+
var swagger2openapi = __webpack_require__(38);
|
|
7418
7612
|
|
|
7419
7613
|
// CONCATENATED MODULE: ./src/utils/loadAndBundleSpec.ts
|
|
7420
7614
|
|
|
@@ -7464,7 +7658,7 @@ function convertSwagger2OpenAPI(spec) {
|
|
|
7464
7658
|
}
|
|
7465
7659
|
|
|
7466
7660
|
// EXTERNAL MODULE: external "decko"
|
|
7467
|
-
var external_decko_ = __webpack_require__(
|
|
7661
|
+
var external_decko_ = __webpack_require__(8);
|
|
7468
7662
|
|
|
7469
7663
|
// EXTERNAL MODULE: external "eventemitter3"
|
|
7470
7664
|
var external_eventemitter3_ = __webpack_require__(19);
|
|
@@ -7564,12 +7758,15 @@ Object.assign(JsonPointer_JsonPointer, external_json_pointer_);
|
|
|
7564
7758
|
/* harmony default export */ var utils_JsonPointer = (JsonPointer_JsonPointer);
|
|
7565
7759
|
|
|
7566
7760
|
// EXTERNAL MODULE: ./node_modules/path-browserify/index.js
|
|
7567
|
-
var path_browserify = __webpack_require__(
|
|
7761
|
+
var path_browserify = __webpack_require__(13);
|
|
7762
|
+
|
|
7763
|
+
// EXTERNAL MODULE: external "url-template"
|
|
7764
|
+
var external_url_template_ = __webpack_require__(20);
|
|
7568
7765
|
|
|
7569
7766
|
// CONCATENATED MODULE: ./src/utils/openapi.ts
|
|
7570
7767
|
|
|
7571
7768
|
|
|
7572
|
-
|
|
7769
|
+
|
|
7573
7770
|
|
|
7574
7771
|
|
|
7575
7772
|
function isWildcardStatusCode(statusCode) {
|
|
@@ -7702,7 +7899,7 @@ function serializeFormValue(name, explode, value) {
|
|
|
7702
7899
|
// e.g. URI.template doesn't parse names with hyphen (-) which are valid query param names
|
|
7703
7900
|
var safeName = '__redoc_param_name__';
|
|
7704
7901
|
var suffix = explode ? '*' : '';
|
|
7705
|
-
var template =
|
|
7902
|
+
var template = external_url_template_["parse"]("{?" + safeName + suffix + "}");
|
|
7706
7903
|
return template.expand((_a = {},
|
|
7707
7904
|
_a[safeName] = value,
|
|
7708
7905
|
_a)).substring(1).replace(/__redoc_param_name__/g, name);
|
|
@@ -7749,7 +7946,7 @@ function serializePathParameter(name, style, explode, value) {
|
|
|
7749
7946
|
} // Use RFC6570 safe name ([a-zA-Z0-9_]) and replace with our name later
|
|
7750
7947
|
// e.g. URI.template doesn't parse names with hyphen (-) which are valid query param names
|
|
7751
7948
|
var safeName = '__redoc_param_name__';
|
|
7752
|
-
var template =
|
|
7949
|
+
var template = external_url_template_["parse"]("{" + prefix + safeName + suffix + "}");
|
|
7753
7950
|
return template.expand((_a = {},
|
|
7754
7951
|
_a[safeName] = value,
|
|
7755
7952
|
_a)).replace(/__redoc_param_name__/g, name);
|
|
@@ -7793,7 +7990,7 @@ function serializeHeaderParameter(style, explode, value) {
|
|
|
7793
7990
|
case 'simple':
|
|
7794
7991
|
var suffix = explode ? '*' : ''; // name is not important here, so use RFC6570 safe name ([a-zA-Z0-9_])
|
|
7795
7992
|
var name_1 = '__redoc_param_name__';
|
|
7796
|
-
var template =
|
|
7993
|
+
var template = external_url_template_["parse"]("{" + name_1 + suffix + "}");
|
|
7797
7994
|
return decodeURIComponent(template.expand((_a = {},
|
|
7798
7995
|
_a[name_1] = value,
|
|
7799
7996
|
_a)));
|
|
@@ -8027,7 +8224,8 @@ function isRedocExtension(key) {
|
|
|
8027
8224
|
'x-servers': true,
|
|
8028
8225
|
'x-tagGroups': true,
|
|
8029
8226
|
'x-traitTag': true,
|
|
8030
|
-
'x-additionalPropertiesName': true
|
|
8227
|
+
'x-additionalPropertiesName': true,
|
|
8228
|
+
'x-explicitMappingOnly': true
|
|
8031
8229
|
};
|
|
8032
8230
|
return key in redocExtensions;
|
|
8033
8231
|
}
|
|
@@ -8047,7 +8245,7 @@ function pluralizeType(displayType) {
|
|
|
8047
8245
|
}
|
|
8048
8246
|
|
|
8049
8247
|
// EXTERNAL MODULE: external "prismjs"
|
|
8050
|
-
var external_prismjs_ = __webpack_require__(
|
|
8248
|
+
var external_prismjs_ = __webpack_require__(10);
|
|
8051
8249
|
|
|
8052
8250
|
// EXTERNAL MODULE: external "prismjs/components/prism-bash.js"
|
|
8053
8251
|
var prism_bash_js_ = __webpack_require__(57);
|
|
@@ -8070,41 +8268,44 @@ var prism_csharp_js_ = __webpack_require__(62);
|
|
|
8070
8268
|
// EXTERNAL MODULE: external "prismjs/components/prism-go.js"
|
|
8071
8269
|
var prism_go_js_ = __webpack_require__(63);
|
|
8072
8270
|
|
|
8271
|
+
// EXTERNAL MODULE: external "prismjs/components/prism-http.js"
|
|
8272
|
+
var prism_http_js_ = __webpack_require__(64);
|
|
8273
|
+
|
|
8073
8274
|
// EXTERNAL MODULE: external "prismjs/components/prism-java.js"
|
|
8074
|
-
var prism_java_js_ = __webpack_require__(
|
|
8275
|
+
var prism_java_js_ = __webpack_require__(65);
|
|
8075
8276
|
|
|
8076
8277
|
// EXTERNAL MODULE: external "prismjs/components/prism-lua.js"
|
|
8077
|
-
var prism_lua_js_ = __webpack_require__(
|
|
8278
|
+
var prism_lua_js_ = __webpack_require__(66);
|
|
8078
8279
|
|
|
8079
8280
|
// EXTERNAL MODULE: external "prismjs/components/prism-markup-templating.js"
|
|
8080
|
-
var prism_markup_templating_js_ = __webpack_require__(
|
|
8281
|
+
var prism_markup_templating_js_ = __webpack_require__(67);
|
|
8081
8282
|
|
|
8082
8283
|
// EXTERNAL MODULE: external "prismjs/components/prism-markup.js"
|
|
8083
|
-
var prism_markup_js_ = __webpack_require__(
|
|
8284
|
+
var prism_markup_js_ = __webpack_require__(68);
|
|
8084
8285
|
|
|
8085
8286
|
// EXTERNAL MODULE: external "prismjs/components/prism-objectivec.js"
|
|
8086
|
-
var prism_objectivec_js_ = __webpack_require__(
|
|
8287
|
+
var prism_objectivec_js_ = __webpack_require__(69);
|
|
8087
8288
|
|
|
8088
8289
|
// EXTERNAL MODULE: external "prismjs/components/prism-perl.js"
|
|
8089
|
-
var prism_perl_js_ = __webpack_require__(
|
|
8290
|
+
var prism_perl_js_ = __webpack_require__(70);
|
|
8090
8291
|
|
|
8091
8292
|
// EXTERNAL MODULE: external "prismjs/components/prism-php.js"
|
|
8092
|
-
var prism_php_js_ = __webpack_require__(
|
|
8293
|
+
var prism_php_js_ = __webpack_require__(71);
|
|
8093
8294
|
|
|
8094
8295
|
// EXTERNAL MODULE: external "prismjs/components/prism-python.js"
|
|
8095
|
-
var prism_python_js_ = __webpack_require__(
|
|
8296
|
+
var prism_python_js_ = __webpack_require__(72);
|
|
8096
8297
|
|
|
8097
8298
|
// EXTERNAL MODULE: external "prismjs/components/prism-ruby.js"
|
|
8098
|
-
var prism_ruby_js_ = __webpack_require__(
|
|
8299
|
+
var prism_ruby_js_ = __webpack_require__(73);
|
|
8099
8300
|
|
|
8100
8301
|
// EXTERNAL MODULE: external "prismjs/components/prism-scala.js"
|
|
8101
|
-
var prism_scala_js_ = __webpack_require__(
|
|
8302
|
+
var prism_scala_js_ = __webpack_require__(74);
|
|
8102
8303
|
|
|
8103
8304
|
// EXTERNAL MODULE: external "prismjs/components/prism-sql.js"
|
|
8104
|
-
var prism_sql_js_ = __webpack_require__(
|
|
8305
|
+
var prism_sql_js_ = __webpack_require__(75);
|
|
8105
8306
|
|
|
8106
8307
|
// EXTERNAL MODULE: external "prismjs/components/prism-swift.js"
|
|
8107
|
-
var prism_swift_js_ = __webpack_require__(
|
|
8308
|
+
var prism_swift_js_ = __webpack_require__(76);
|
|
8108
8309
|
|
|
8109
8310
|
// CONCATENATED MODULE: ./src/utils/highlight.ts
|
|
8110
8311
|
|
|
@@ -8117,6 +8318,7 @@ var prism_swift_js_ = __webpack_require__(75);
|
|
|
8117
8318
|
|
|
8118
8319
|
|
|
8119
8320
|
|
|
8321
|
+
|
|
8120
8322
|
// dep of php
|
|
8121
8323
|
// xml
|
|
8122
8324
|
|
|
@@ -8187,7 +8389,7 @@ function throttle(func, wait) {
|
|
|
8187
8389
|
return function () {
|
|
8188
8390
|
var now = new Date().getTime();
|
|
8189
8391
|
var remaining = wait - (now - previous);
|
|
8190
|
-
context = this;
|
|
8392
|
+
context = this; // eslint-disable-next-line prefer-rest-params
|
|
8191
8393
|
args = arguments;
|
|
8192
8394
|
if (remaining <= 0 || remaining > wait) {
|
|
8193
8395
|
if (timeout) {
|
|
@@ -8340,7 +8542,7 @@ var HistoryService_history = new HistoryService_HistoryService();
|
|
|
8340
8542
|
if (false) {}
|
|
8341
8543
|
|
|
8342
8544
|
// EXTERNAL MODULE: external "mark.js"
|
|
8343
|
-
var external_mark_js_ = __webpack_require__(
|
|
8545
|
+
var external_mark_js_ = __webpack_require__(23);
|
|
8344
8546
|
|
|
8345
8547
|
// CONCATENATED MODULE: ./src/services/MarkerService.ts
|
|
8346
8548
|
|
|
@@ -9073,6 +9275,7 @@ var Schema_SchemaModel = /** @class */ (function () {
|
|
|
9073
9275
|
this.activeOneOf = idx;
|
|
9074
9276
|
};
|
|
9075
9277
|
SchemaModel.prototype.init = function (parser, isChild) {
|
|
9278
|
+
var _this = this;
|
|
9076
9279
|
var schema = this.schema;
|
|
9077
9280
|
this.isCircular = schema['x-circular-ref'];
|
|
9078
9281
|
this.title = schema.title || isNamedDefinition(this.pointer) && JsonPointer_JsonPointer.baseName(this.pointer) || '';
|
|
@@ -9099,6 +9302,10 @@ var Schema_SchemaModel = /** @class */ (function () {
|
|
|
9099
9302
|
this.initDiscriminator(schema, parser);
|
|
9100
9303
|
return;
|
|
9101
9304
|
}
|
|
9305
|
+
else if (isChild && Array.isArray(schema.oneOf) && schema.oneOf.find(function (s) { return s.$ref === _this.pointer; })) {
|
|
9306
|
+
// we hit allOf of the schema with the parent discriminator
|
|
9307
|
+
delete schema.oneOf;
|
|
9308
|
+
}
|
|
9102
9309
|
if (schema.oneOf !== undefined) {
|
|
9103
9310
|
this.initOneOf(schema.oneOf, parser);
|
|
9104
9311
|
this.oneOfType = 'One of';
|
|
@@ -9162,10 +9369,15 @@ var Schema_SchemaModel = /** @class */ (function () {
|
|
|
9162
9369
|
continue;
|
|
9163
9370
|
}
|
|
9164
9371
|
var name_1 = JsonPointer_JsonPointer.baseName(variant.$ref);
|
|
9165
|
-
implicitInversedMapping[variant.$ref] =
|
|
9372
|
+
implicitInversedMapping[variant.$ref] = name_1;
|
|
9166
9373
|
}
|
|
9167
9374
|
}
|
|
9168
|
-
var mapping = discriminator.mapping || {};
|
|
9375
|
+
var mapping = discriminator.mapping || {}; // Defines if the mapping is exhaustive. This avoids having references
|
|
9376
|
+
// that overlap with the mapping entries
|
|
9377
|
+
var isLimitedToMapping = discriminator['x-explicitMappingOnly'] || false; // if there are no mappings, assume non-exhaustive
|
|
9378
|
+
if (Object.keys(mapping).length === 0) {
|
|
9379
|
+
isLimitedToMapping = false;
|
|
9380
|
+
}
|
|
9169
9381
|
var explicitInversedMapping = {};
|
|
9170
9382
|
for (var name_2 in mapping) {
|
|
9171
9383
|
var $ref = mapping[name_2];
|
|
@@ -9173,16 +9385,17 @@ var Schema_SchemaModel = /** @class */ (function () {
|
|
|
9173
9385
|
explicitInversedMapping[$ref].push(name_2);
|
|
9174
9386
|
}
|
|
9175
9387
|
else {
|
|
9388
|
+
// overrides implicit mapping here
|
|
9176
9389
|
explicitInversedMapping[$ref] = [name_2];
|
|
9177
9390
|
}
|
|
9178
9391
|
}
|
|
9179
|
-
var inversedMapping = Object(external_tslib_["__assign"])(Object(external_tslib_["__assign"])({}, implicitInversedMapping), explicitInversedMapping);
|
|
9392
|
+
var inversedMapping = isLimitedToMapping ? Object(external_tslib_["__assign"])({}, explicitInversedMapping) : Object(external_tslib_["__assign"])(Object(external_tslib_["__assign"])({}, implicitInversedMapping), explicitInversedMapping);
|
|
9180
9393
|
var refs = [];
|
|
9181
9394
|
for (var _b = 0, _c = Object.keys(inversedMapping); _b < _c.length; _b++) {
|
|
9182
9395
|
var $ref = _c[_b];
|
|
9183
|
-
var
|
|
9184
|
-
if (Array.isArray(
|
|
9185
|
-
for (var _d = 0, names_1 =
|
|
9396
|
+
var names_2 = inversedMapping[$ref];
|
|
9397
|
+
if (Array.isArray(names_2)) {
|
|
9398
|
+
for (var _d = 0, names_1 = names_2; _d < names_1.length; _d++) {
|
|
9186
9399
|
var name_3 = names_1[_d];
|
|
9187
9400
|
refs.push({
|
|
9188
9401
|
$ref: $ref,
|
|
@@ -9193,9 +9406,38 @@ var Schema_SchemaModel = /** @class */ (function () {
|
|
|
9193
9406
|
else {
|
|
9194
9407
|
refs.push({
|
|
9195
9408
|
$ref: $ref,
|
|
9196
|
-
name:
|
|
9409
|
+
name: names_2
|
|
9197
9410
|
});
|
|
9198
9411
|
}
|
|
9412
|
+
} // Make the listing respects the mapping
|
|
9413
|
+
// in case a mapping is defined, the user usually wants to have the order shown
|
|
9414
|
+
// as it was defined in the yaml. This will sort the names given the provided
|
|
9415
|
+
// mapping (if provided).
|
|
9416
|
+
// The logic is:
|
|
9417
|
+
// - If a name is among the mapping, promote it to first
|
|
9418
|
+
// - Names among the mapping are sorted by their order in the mapping
|
|
9419
|
+
// - Names outside the mapping are sorted alphabetically
|
|
9420
|
+
var names = Object.keys(mapping);
|
|
9421
|
+
if (names.length !== 0) {
|
|
9422
|
+
refs = refs.sort(function (left, right) {
|
|
9423
|
+
var indexLeft = names.indexOf(left.name);
|
|
9424
|
+
var indexRight = names.indexOf(right.name);
|
|
9425
|
+
if (indexLeft < 0 && indexRight < 0) {
|
|
9426
|
+
// out of mapping, order by name
|
|
9427
|
+
return left.name.localCompare(right.name);
|
|
9428
|
+
}
|
|
9429
|
+
else if (indexLeft < 0) {
|
|
9430
|
+
// the right is found, so mapping wins
|
|
9431
|
+
return 1;
|
|
9432
|
+
}
|
|
9433
|
+
else if (indexRight < 0) {
|
|
9434
|
+
// left wins as it's in mapping
|
|
9435
|
+
return -1;
|
|
9436
|
+
}
|
|
9437
|
+
else {
|
|
9438
|
+
return indexLeft - indexRight;
|
|
9439
|
+
}
|
|
9440
|
+
});
|
|
9199
9441
|
}
|
|
9200
9442
|
this.oneOf = refs.map(function (_a) {
|
|
9201
9443
|
var $ref = _a.$ref, name = _a.name;
|
|
@@ -9273,7 +9515,6 @@ function getDefaultStyleValue(parameterLocation) {
|
|
|
9273
9515
|
*/
|
|
9274
9516
|
var Field_FieldModel = /** @class */ (function () {
|
|
9275
9517
|
function FieldModel(parser, infoOrRef, pointer, options) {
|
|
9276
|
-
this.expanded = false;
|
|
9277
9518
|
var info = parser.deref(infoOrRef);
|
|
9278
9519
|
this.kind = infoOrRef.kind || 'field';
|
|
9279
9520
|
this.name = infoOrRef.name || info.name;
|
|
@@ -9318,7 +9559,7 @@ var Field_FieldModel = /** @class */ (function () {
|
|
|
9318
9559
|
|
|
9319
9560
|
|
|
9320
9561
|
// EXTERNAL MODULE: external "openapi-sampler"
|
|
9321
|
-
var external_openapi_sampler_ = __webpack_require__(
|
|
9562
|
+
var external_openapi_sampler_ = __webpack_require__(24);
|
|
9322
9563
|
|
|
9323
9564
|
// CONCATENATED MODULE: ./src/services/models/Example.ts
|
|
9324
9565
|
|
|
@@ -9443,7 +9684,6 @@ var MediaContent_MediaContentModel = /** @class */ (function () {
|
|
|
9443
9684
|
* @param isRequestType needed to know if skipe RO/RW fields in objects
|
|
9444
9685
|
*/
|
|
9445
9686
|
function MediaContentModel(parser, info, isRequestType, options) {
|
|
9446
|
-
this.parser = parser;
|
|
9447
9687
|
this.isRequestType = isRequestType;
|
|
9448
9688
|
this.activeMimeIdx = 0;
|
|
9449
9689
|
if (options.unstable_ignoreMimeParameters) {
|
|
@@ -9586,17 +9826,6 @@ var Operation_OperationModel = /** @class */ (function () {
|
|
|
9586
9826
|
this.deprecated = !!operationSpec.deprecated;
|
|
9587
9827
|
this.operationId = operationSpec.operationId;
|
|
9588
9828
|
this.path = operationSpec.pathName;
|
|
9589
|
-
this.codeSamples = operationSpec['x-code-samples'] || [];
|
|
9590
|
-
var requestBodyContent = this.requestBody && this.requestBody.content;
|
|
9591
|
-
if (requestBodyContent && requestBodyContent.hasSample) {
|
|
9592
|
-
var insertInx = Math.min(this.codeSamples.length, options.payloadSampleIdx);
|
|
9593
|
-
this.codeSamples = Object(external_tslib_["__spreadArrays"])(this.codeSamples.slice(0, insertInx), [{
|
|
9594
|
-
lang: 'payload',
|
|
9595
|
-
label: 'Payload',
|
|
9596
|
-
source: '',
|
|
9597
|
-
requestBodyContent: requestBodyContent
|
|
9598
|
-
}], this.codeSamples.slice(insertInx));
|
|
9599
|
-
}
|
|
9600
9829
|
var pathInfo = parser.byRef(JsonPointer_JsonPointer.compile(['paths', operationSpec.pathName]));
|
|
9601
9830
|
this.servers = normalizeServers(parser.specUrl, operationSpec.servers || pathInfo && pathInfo.servers || parser.spec.servers || []);
|
|
9602
9831
|
this.security = (operationSpec.security || parser.spec.security || []).map(function (security) { return new SecurityRequirement_SecurityRequirementModel(security, parser); });
|
|
@@ -9631,6 +9860,24 @@ var Operation_OperationModel = /** @class */ (function () {
|
|
|
9631
9860
|
enumerable: true,
|
|
9632
9861
|
configurable: true
|
|
9633
9862
|
});
|
|
9863
|
+
Object.defineProperty(OperationModel.prototype, "codeSamples", {
|
|
9864
|
+
get: function () {
|
|
9865
|
+
var samples = this.operationSpec['x-code-samples'] || [];
|
|
9866
|
+
var requestBodyContent = this.requestBody && this.requestBody.content;
|
|
9867
|
+
if (requestBodyContent && requestBodyContent.hasSample) {
|
|
9868
|
+
var insertInx = Math.min(samples.length, this.options.payloadSampleIdx);
|
|
9869
|
+
samples = Object(external_tslib_["__spreadArrays"])(samples.slice(0, insertInx), [{
|
|
9870
|
+
lang: 'payload',
|
|
9871
|
+
label: 'Payload',
|
|
9872
|
+
source: '',
|
|
9873
|
+
requestBodyContent: requestBodyContent
|
|
9874
|
+
}], samples.slice(insertInx));
|
|
9875
|
+
}
|
|
9876
|
+
return samples;
|
|
9877
|
+
},
|
|
9878
|
+
enumerable: true,
|
|
9879
|
+
configurable: true
|
|
9880
|
+
});
|
|
9634
9881
|
Object.defineProperty(OperationModel.prototype, "parameters", {
|
|
9635
9882
|
get: function () {
|
|
9636
9883
|
var _this = this;
|
|
@@ -9685,6 +9932,9 @@ var Operation_OperationModel = /** @class */ (function () {
|
|
|
9685
9932
|
Object(external_tslib_["__decorate"])([
|
|
9686
9933
|
memoize
|
|
9687
9934
|
], OperationModel.prototype, "requestBody", null);
|
|
9935
|
+
Object(external_tslib_["__decorate"])([
|
|
9936
|
+
memoize
|
|
9937
|
+
], OperationModel.prototype, "codeSamples", null);
|
|
9688
9938
|
Object(external_tslib_["__decorate"])([
|
|
9689
9939
|
memoize
|
|
9690
9940
|
], OperationModel.prototype, "parameters", null);
|
|
@@ -10193,22 +10443,25 @@ var ScrollService_ScrollService = /** @class */ (function () {
|
|
|
10193
10443
|
// CONCATENATED MODULE: ./src/services/SearchStore.ts
|
|
10194
10444
|
|
|
10195
10445
|
|
|
10196
|
-
|
|
10197
|
-
|
|
10198
|
-
|
|
10199
|
-
|
|
10200
|
-
|
|
10446
|
+
function getWorker() {
|
|
10447
|
+
var worker;
|
|
10448
|
+
if (IS_BROWSER) {
|
|
10449
|
+
try {
|
|
10450
|
+
// tslint:disable-next-line
|
|
10451
|
+
worker = __webpack_require__(77);
|
|
10452
|
+
}
|
|
10453
|
+
catch (e) {
|
|
10454
|
+
worker = __webpack_require__(34).default;
|
|
10455
|
+
}
|
|
10201
10456
|
}
|
|
10202
|
-
|
|
10203
|
-
worker = __webpack_require__(
|
|
10457
|
+
else {
|
|
10458
|
+
worker = __webpack_require__(34).default;
|
|
10204
10459
|
}
|
|
10205
|
-
|
|
10206
|
-
else {
|
|
10207
|
-
worker = __webpack_require__(33).default;
|
|
10460
|
+
return new worker();
|
|
10208
10461
|
}
|
|
10209
10462
|
var SearchStore_SearchStore = /** @class */ (function () {
|
|
10210
10463
|
function SearchStore() {
|
|
10211
|
-
this.searchWorker =
|
|
10464
|
+
this.searchWorker = getWorker();
|
|
10212
10465
|
}
|
|
10213
10466
|
SearchStore.prototype.indexItems = function (groups) {
|
|
10214
10467
|
var _this = this;
|
|
@@ -10226,6 +10479,9 @@ var SearchStore_SearchStore = /** @class */ (function () {
|
|
|
10226
10479
|
SearchStore.prototype.add = function (title, body, meta) {
|
|
10227
10480
|
this.searchWorker.add(title, body, meta);
|
|
10228
10481
|
};
|
|
10482
|
+
SearchStore.prototype.dispose = function () {
|
|
10483
|
+
this.searchWorker.terminate();
|
|
10484
|
+
};
|
|
10229
10485
|
SearchStore.prototype.search = function (q) {
|
|
10230
10486
|
return this.searchWorker.search(q);
|
|
10231
10487
|
};
|
|
@@ -10308,7 +10564,7 @@ var UnderlinedHeader = styled_components.h5(headers_templateObject_6 || (headers
|
|
|
10308
10564
|
var headers_templateObject_1, headers_templateObject_2, headers_templateObject_3, headers_templateObject_4, headers_templateObject_5, headers_templateObject_6;
|
|
10309
10565
|
|
|
10310
10566
|
// EXTERNAL MODULE: ./node_modules/memoize-one/dist/memoize-one.cjs.js
|
|
10311
|
-
var memoize_one_cjs = __webpack_require__(
|
|
10567
|
+
var memoize_one_cjs = __webpack_require__(39);
|
|
10312
10568
|
|
|
10313
10569
|
// CONCATENATED MODULE: ./src/components/StoreBuilder.ts
|
|
10314
10570
|
|
|
@@ -10531,7 +10787,7 @@ var ArrayClosingLabel = styled_components.div(schema_templateObject_5 || (schema
|
|
|
10531
10787
|
var schema_templateObject_1, schema_templateObject_2, schema_templateObject_3, schema_templateObject_4, schema_templateObject_5;
|
|
10532
10788
|
|
|
10533
10789
|
// EXTERNAL MODULE: external "react-dropdown"
|
|
10534
|
-
var external_react_dropdown_ = __webpack_require__(
|
|
10790
|
+
var external_react_dropdown_ = __webpack_require__(40);
|
|
10535
10791
|
var external_react_dropdown_default = /*#__PURE__*/__webpack_require__.n(external_react_dropdown_);
|
|
10536
10792
|
|
|
10537
10793
|
// CONCATENATED MODULE: ./src/common-elements/dropdown.ts
|
|
@@ -10544,7 +10800,7 @@ var MimeLabel = styled_components.span(dropdown_templateObject_3 || (dropdown_te
|
|
|
10544
10800
|
var dropdown_templateObject_1, dropdown_templateObject_2, dropdown_templateObject_3;
|
|
10545
10801
|
|
|
10546
10802
|
// EXTERNAL MODULE: external "react-tabs"
|
|
10547
|
-
var external_react_tabs_ = __webpack_require__(
|
|
10803
|
+
var external_react_tabs_ = __webpack_require__(9);
|
|
10548
10804
|
|
|
10549
10805
|
// CONCATENATED MODULE: ./src/common-elements/tabs.ts
|
|
10550
10806
|
|
|
@@ -10560,7 +10816,7 @@ var Tabs = styled_components(external_react_tabs_["Tabs"])(tabs_templateObject_1
|
|
|
10560
10816
|
";\n }\n\n &:only-child {\n flex: none;\n min-width: 100px;\n }\n\n &.tab-success {\n color: ", ";\n }\n\n &.tab-redirect {\n color: ", ";\n }\n\n &.tab-info {\n color: ", ";\n }\n\n &.tab-error {\n color: ", ";\n }\n }\n }\n > .react-tabs__tab-panel {\n background: ",
|
|
10561
10817
|
";\n & > div,\n & > pre {\n padding: ", "px;\n margin: 0;\n }\n\n & > div > pre {\n padding: 0;\n }\n }\n"])), function (_a) {
|
|
10562
10818
|
var theme = _a.theme;
|
|
10563
|
-
return theme.
|
|
10819
|
+
return theme.codeBlock.backgroundColor;
|
|
10564
10820
|
}, function (_a) {
|
|
10565
10821
|
var theme = _a.theme;
|
|
10566
10822
|
return Object(external_polished_["darken"])(theme.colors.tonalOffset, theme.rightPanel.textColor);
|
|
@@ -10569,13 +10825,13 @@ var Tabs = styled_components(external_react_tabs_["Tabs"])(tabs_templateObject_1
|
|
|
10569
10825
|
return theme.spacing.unit + "px " + theme.spacing.unit + "px " + theme.spacing.unit + "px";
|
|
10570
10826
|
}, function (_a) {
|
|
10571
10827
|
var theme = _a.theme;
|
|
10572
|
-
return Object(external_polished_["darken"])(0.05, theme.
|
|
10828
|
+
return Object(external_polished_["darken"])(0.05, theme.codeBlock.backgroundColor);
|
|
10573
10829
|
}, function (props) { return props.theme.colors.text.primary; }, function (_a) {
|
|
10574
10830
|
var theme = _a.theme;
|
|
10575
10831
|
return theme.rightPanel.textColor;
|
|
10576
10832
|
}, function (props) { return props.theme.colors.responses.success.color; }, function (props) { return props.theme.colors.responses.redirect.color; }, function (props) { return props.theme.colors.responses.info.color; }, function (props) { return props.theme.colors.responses.error.color; }, function (_a) {
|
|
10577
10833
|
var theme = _a.theme;
|
|
10578
|
-
return theme.
|
|
10834
|
+
return theme.codeBlock.backgroundColor;
|
|
10579
10835
|
}, function (props) { return props.theme.spacing.unit * 4; });
|
|
10580
10836
|
var SmallTabs = styled_components(Tabs)(tabs_templateObject_2 || (tabs_templateObject_2 = Object(external_tslib_["__makeTemplateObject"])(["\n > ul {\n display: block;\n > li {\n padding: 2px 5px;\n min-width: auto;\n margin: 0 15px 0 0;\n font-size: 13px;\n font-weight: normal;\n border-bottom: 1px dashed;\n color: ", ";\n border-radius: 0;\n background: none;\n\n &:last-child {\n margin-right: 0;\n }\n\n &.react-tabs__tab--selected {\n color: ", ";\n background: none;\n }\n }\n }\n > .react-tabs__tab-panel {\n & > div,\n & > pre {\n padding: ", "px 0;\n }\n }\n"], ["\n > ul {\n display: block;\n > li {\n padding: 2px 5px;\n min-width: auto;\n margin: 0 15px 0 0;\n font-size: 13px;\n font-weight: normal;\n border-bottom: 1px dashed;\n color: ",
|
|
10581
10837
|
";\n border-radius: 0;\n background: none;\n\n &:last-child {\n margin-right: 0;\n }\n\n &.react-tabs__tab--selected {\n color: ",
|
|
@@ -10608,11 +10864,11 @@ var StyledPre = styled_components(PrismDiv.withComponent('pre'))(samples_templat
|
|
|
10608
10864
|
var samples_templateObject_1, samples_templateObject_2, samples_templateObject_3;
|
|
10609
10865
|
|
|
10610
10866
|
// EXTERNAL MODULE: external "perfect-scrollbar"
|
|
10611
|
-
var external_perfect_scrollbar_ = __webpack_require__(
|
|
10867
|
+
var external_perfect_scrollbar_ = __webpack_require__(25);
|
|
10612
10868
|
var external_perfect_scrollbar_default = /*#__PURE__*/__webpack_require__.n(external_perfect_scrollbar_);
|
|
10613
10869
|
|
|
10614
10870
|
// EXTERNAL MODULE: ./node_modules/perfect-scrollbar/css/perfect-scrollbar.css
|
|
10615
|
-
var perfect_scrollbar = __webpack_require__(
|
|
10871
|
+
var perfect_scrollbar = __webpack_require__(26);
|
|
10616
10872
|
var perfect_scrollbar_default = /*#__PURE__*/__webpack_require__.n(perfect_scrollbar);
|
|
10617
10873
|
|
|
10618
10874
|
// CONCATENATED MODULE: ./src/common-elements/perfect-scrollbar.tsx
|
|
@@ -10698,7 +10954,7 @@ function DropdownOrLabel(props) {
|
|
|
10698
10954
|
}
|
|
10699
10955
|
|
|
10700
10956
|
// EXTERNAL MODULE: external "dompurify"
|
|
10701
|
-
var external_dompurify_ = __webpack_require__(
|
|
10957
|
+
var external_dompurify_ = __webpack_require__(41);
|
|
10702
10958
|
|
|
10703
10959
|
// CONCATENATED MODULE: ./src/components/Markdown/styled.elements.tsx
|
|
10704
10960
|
|
|
@@ -10706,14 +10962,15 @@ var external_dompurify_ = __webpack_require__(40);
|
|
|
10706
10962
|
|
|
10707
10963
|
|
|
10708
10964
|
var linksCss = css(styled_elements_templateObject_1 || (styled_elements_templateObject_1 = Object(external_tslib_["__makeTemplateObject"])(["\n a {\n text-decoration: none;\n color: ", ";\n\n &:visited {\n color: ", ";\n }\n\n &:hover {\n color: ", ";\n }\n }\n"], ["\n a {\n text-decoration: none;\n color: ", ";\n\n &:visited {\n color: ", ";\n }\n\n &:hover {\n color: ", ";\n }\n }\n"])), function (props) { return props.theme.typography.links.color; }, function (props) { return props.theme.typography.links.visited; }, function (props) { return props.theme.typography.links.hover; });
|
|
10709
|
-
var StyledMarkdownBlock = styled_components(PrismDiv)(styled_elements_templateObject_2 || (styled_elements_templateObject_2 = Object(external_tslib_["__makeTemplateObject"])(["\n\n font-family: ", ";\n font-weight: ", ";\n line-height: ", ";\n\n p {\n &:last-child {\n margin-bottom: 0;\n }\n }\n\n ", "\n\n ", "\n\n h1 {\n ", ";\n color: ", ";\n margin-top: 0;\n }\n\n h2 {\n ", ";\n color: ", ";\n }\n\n code {\n color: ", ";\n background-color: ", ";\n\n font-family: ", ";\n border-radius: 2px;\n border: 1px solid rgba(38, 50, 56, 0.1);\n padding: 0 ", "px;\n font-size: ", ";\n font-weight: ", ";\n\n word-break: break-word;\n }\n\n pre {\n font-family: ", ";\n white-space:", ";\n background-color:
|
|
10965
|
+
var StyledMarkdownBlock = styled_components(PrismDiv)(styled_elements_templateObject_2 || (styled_elements_templateObject_2 = Object(external_tslib_["__makeTemplateObject"])(["\n\n font-family: ", ";\n font-weight: ", ";\n line-height: ", ";\n\n p {\n &:last-child {\n margin-bottom: 0;\n }\n }\n\n ", "\n\n ", "\n\n h1 {\n ", ";\n color: ", ";\n margin-top: 0;\n }\n\n h2 {\n ", ";\n color: ", ";\n }\n\n code {\n color: ", ";\n background-color: ", ";\n\n font-family: ", ";\n border-radius: 2px;\n border: 1px solid rgba(38, 50, 56, 0.1);\n padding: 0 ", "px;\n font-size: ", ";\n font-weight: ", ";\n\n word-break: break-word;\n }\n\n pre {\n font-family: ", ";\n white-space:", ";\n background-color: ", ";\n color: white;\n padding: ", "px;\n overflow-x: auto;\n line-height: normal;\n border-radius: 0px\n border: 1px solid rgba(38, 50, 56, 0.1);\n\n code {\n background-color: transparent;\n color: white;\n padding: 0;\n\n &:before,\n &:after {\n content: none;\n }\n }\n }\n\n blockquote {\n margin: 0;\n margin-bottom: 1em;\n padding: 0 15px;\n color: #777;\n border-left: 4px solid #ddd;\n }\n\n img {\n max-width: 100%;\n box-sizing: content-box;\n }\n\n ul,\n ol {\n padding-left: 2em;\n margin: 0;\n margin-bottom: 1em;\n\n ul, ol {\n margin-bottom: 0;\n margin-top: 0;\n }\n }\n\n table {\n display: block;\n width: 100%;\n overflow: auto;\n word-break: normal;\n word-break: keep-all;\n border-collapse: collapse;\n border-spacing: 0;\n margin-top: 1.5em;\n margin-bottom: 1.5em;\n }\n\n table tr {\n background-color: #fff;\n border-top: 1px solid #ccc;\n\n &:nth-child(2n) {\n background-color: ", ";\n }\n }\n\n table th,\n table td {\n padding: 6px 13px;\n border: 1px solid #ddd;\n }\n\n table th {\n text-align: left;\n font-weight: bold;\n }\n\n ", ";\n\n ", "\n\n ", ";\n"], ["\n\n font-family: ", ";\n font-weight: ", ";\n line-height: ", ";\n\n p {\n &:last-child {\n margin-bottom: 0;\n }\n }\n\n ",
|
|
10710
10966
|
"\n\n ",
|
|
10711
10967
|
"\n\n h1 {\n ", ";\n color: ", ";\n margin-top: 0;\n }\n\n h2 {\n ", ";\n color: ", ";\n }\n\n code {\n color: ",
|
|
10712
10968
|
";\n background-color: ",
|
|
10713
10969
|
";\n\n font-family: ", ";\n border-radius: 2px;\n border: 1px solid rgba(38, 50, 56, 0.1);\n padding: 0 ",
|
|
10714
10970
|
"px;\n font-size: ", ";\n font-weight: ",
|
|
10715
10971
|
";\n\n word-break: break-word;\n }\n\n pre {\n font-family: ", ";\n white-space:",
|
|
10716
|
-
";\n background-color:
|
|
10972
|
+
";\n background-color: ",
|
|
10973
|
+
";\n color: white;\n padding: ", "px;\n overflow-x: auto;\n line-height: normal;\n border-radius: 0px\n border: 1px solid rgba(38, 50, 56, 0.1);\n\n code {\n background-color: transparent;\n color: white;\n padding: 0;\n\n &:before,\n &:after {\n content: none;\n }\n }\n }\n\n blockquote {\n margin: 0;\n margin-bottom: 1em;\n padding: 0 15px;\n color: #777;\n border-left: 4px solid #ddd;\n }\n\n img {\n max-width: 100%;\n box-sizing: content-box;\n }\n\n ul,\n ol {\n padding-left: 2em;\n margin: 0;\n margin-bottom: 1em;\n\n ul, ol {\n margin-bottom: 0;\n margin-top: 0;\n }\n }\n\n table {\n display: block;\n width: 100%;\n overflow: auto;\n word-break: normal;\n word-break: keep-all;\n border-collapse: collapse;\n border-spacing: 0;\n margin-top: 1.5em;\n margin-bottom: 1.5em;\n }\n\n table tr {\n background-color: #fff;\n border-top: 1px solid #ccc;\n\n &:nth-child(2n) {\n background-color: ",
|
|
10717
10974
|
";\n }\n }\n\n table th,\n table td {\n padding: 6px 13px;\n border: 1px solid #ddd;\n }\n\n table th {\n text-align: left;\n font-weight: bold;\n }\n\n ", ";\n\n ", "\n\n ", ";\n"])), function (props) { return props.theme.typography.fontFamily; }, function (props) { return props.theme.typography.fontWeightRegular; }, function (props) { return props.theme.typography.lineHeight; }, function (_a) {
|
|
10718
10975
|
var compact = _a.compact;
|
|
10719
10976
|
return compact && "\n p:first-child {\n margin-top: 0;\n }\n p:last-child {\n margin-bottom: 0;\n }\n ";
|
|
@@ -10735,6 +10992,9 @@ var StyledMarkdownBlock = styled_components(PrismDiv)(styled_elements_templateOb
|
|
|
10735
10992
|
}, function (props) { return props.theme.typography.code.fontFamily; }, function (_a) {
|
|
10736
10993
|
var theme = _a.theme;
|
|
10737
10994
|
return theme.typography.code.wrap ? 'pre-wrap' : 'pre';
|
|
10995
|
+
}, function (_a) {
|
|
10996
|
+
var theme = _a.theme;
|
|
10997
|
+
return theme.codeBlock.backgroundColor;
|
|
10738
10998
|
}, function (props) { return props.theme.spacing.unit * 4; }, function (_a) {
|
|
10739
10999
|
var theme = _a.theme;
|
|
10740
11000
|
return theme.schema.nestedBackground;
|
|
@@ -10753,7 +11013,7 @@ function SanitizedMarkdownHTML(props) {
|
|
|
10753
11013
|
var Wrap = props.inline ? StyledMarkdownSpan : StyledMarkdownBlock;
|
|
10754
11014
|
return external_react_["createElement"](OptionsConsumer, null, function (options) { return external_react_["createElement"](Wrap, Object(external_tslib_["__assign"])({ className: 'redoc-markdown ' + (props.className || ''), dangerouslySetInnerHTML: {
|
|
10755
11015
|
__html: sanitize(options.untrustedSpec, props.html)
|
|
10756
|
-
} }, props)); });
|
|
11016
|
+
}, "data-role": props['data-role'] }, props)); });
|
|
10757
11017
|
}
|
|
10758
11018
|
|
|
10759
11019
|
// CONCATENATED MODULE: ./src/components/Markdown/Markdown.tsx
|
|
@@ -10767,9 +11027,9 @@ var Markdown_Markdown = /** @class */ (function (_super) {
|
|
|
10767
11027
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
10768
11028
|
}
|
|
10769
11029
|
Markdown.prototype.render = function () {
|
|
10770
|
-
var _a = this.props, source = _a.source, inline = _a.inline, compact = _a.compact, className = _a.className;
|
|
11030
|
+
var _a = this.props, source = _a.source, inline = _a.inline, compact = _a.compact, className = _a.className, dataRole = _a["data-role"];
|
|
10771
11031
|
var renderer = new MarkdownRenderer_MarkdownRenderer();
|
|
10772
|
-
return external_react_["createElement"](SanitizedMarkdownHTML, { html: renderer.renderMd(source), inline: inline, compact: compact, className: className });
|
|
11032
|
+
return external_react_["createElement"](SanitizedMarkdownHTML, { html: renderer.renderMd(source), inline: inline, compact: compact, className: className, "data-role": dataRole });
|
|
10773
11033
|
};
|
|
10774
11034
|
return Markdown;
|
|
10775
11035
|
}(external_react_["Component"]));
|
|
@@ -11070,13 +11330,10 @@ var JsonViewer_Json = /** @class */ (function (_super) {
|
|
|
11070
11330
|
}
|
|
11071
11331
|
};
|
|
11072
11332
|
_this.collapseAll = function () {
|
|
11073
|
-
var elements = _this.node.getElementsByClassName('collapsible');
|
|
11074
|
-
|
|
11075
|
-
|
|
11076
|
-
|
|
11077
|
-
if (expanded.parentNode.classList.contains('redoc-json')) {
|
|
11078
|
-
continue;
|
|
11079
|
-
}
|
|
11333
|
+
var elements = _this.node.getElementsByClassName('collapsible'); // skip first item to avoid collapsing whole object/array
|
|
11334
|
+
var elementsArr = Array.prototype.slice.call(elements, 1);
|
|
11335
|
+
for (var _i = 0, elementsArr_1 = elementsArr; _i < elementsArr_1.length; _i++) {
|
|
11336
|
+
var expanded = elementsArr_1[_i];
|
|
11080
11337
|
expanded.parentNode.classList.add('collapsed');
|
|
11081
11338
|
}
|
|
11082
11339
|
};
|
|
@@ -11232,7 +11489,7 @@ function ExternalExample(_a) {
|
|
|
11232
11489
|
return external_react_["createElement"](StyledPre, null,
|
|
11233
11490
|
"Error loading external example: ",
|
|
11234
11491
|
external_react_["createElement"]("br", null),
|
|
11235
|
-
external_react_["createElement"]("a", { className: 'token string', href: example.externalValueUrl, target: "_blank" }, example.externalValueUrl));
|
|
11492
|
+
external_react_["createElement"]("a", { className: 'token string', href: example.externalValueUrl, target: "_blank", rel: "noopener noreferrer" }, example.externalValueUrl));
|
|
11236
11493
|
}
|
|
11237
11494
|
return external_react_["createElement"](ExampleValue, { value: value, mimeType: mimeType });
|
|
11238
11495
|
}
|
|
@@ -11666,14 +11923,20 @@ var Field_Field = /** @class */ (function (_super) {
|
|
|
11666
11923
|
function Field() {
|
|
11667
11924
|
var _this = _super !== null && _super.apply(this, arguments) || this;
|
|
11668
11925
|
_this.toggle = function () {
|
|
11669
|
-
_this.props.field.
|
|
11926
|
+
if (_this.props.field.expanded === undefined && _this.props.expandByDefault) {
|
|
11927
|
+
_this.props.field.expanded = false;
|
|
11928
|
+
}
|
|
11929
|
+
else {
|
|
11930
|
+
_this.props.field.toggle();
|
|
11931
|
+
}
|
|
11670
11932
|
};
|
|
11671
11933
|
return _this;
|
|
11672
11934
|
}
|
|
11673
11935
|
Field.prototype.render = function () {
|
|
11674
|
-
var _a = this.props, className = _a.className, field = _a.field, isLast = _a.isLast;
|
|
11675
|
-
var name = field.name,
|
|
11936
|
+
var _a = this.props, className = _a.className, field = _a.field, isLast = _a.isLast, expandByDefault = _a.expandByDefault;
|
|
11937
|
+
var name = field.name, deprecated = field.deprecated, required = field.required, kind = field.kind;
|
|
11676
11938
|
var withSubSchema = !field.schema.isPrimitive && !field.schema.isCircular;
|
|
11939
|
+
var expanded = field.expanded === undefined ? expandByDefault : field.expanded;
|
|
11677
11940
|
var paramName = withSubSchema ? external_react_["createElement"](ClickablePropertyNameCell, { onClick: this.toggle, className: deprecated ? 'deprecated' : '', kind: kind, title: name },
|
|
11678
11941
|
external_react_["createElement"](PropertyBullet, null),
|
|
11679
11942
|
name,
|
|
@@ -11687,7 +11950,7 @@ var Field_Field = /** @class */ (function (_super) {
|
|
|
11687
11950
|
paramName,
|
|
11688
11951
|
external_react_["createElement"](PropertyDetailsCell, null,
|
|
11689
11952
|
external_react_["createElement"](FieldDetails_FieldDetails, Object(external_tslib_["__assign"])({}, this.props)))),
|
|
11690
|
-
|
|
11953
|
+
expanded && withSubSchema && external_react_["createElement"]("tr", { key: field.name + 'inner' },
|
|
11691
11954
|
external_react_["createElement"](PropertyCellWithInner, { colSpan: 2 },
|
|
11692
11955
|
external_react_["createElement"](InnerPropertiesWrap, null,
|
|
11693
11956
|
external_react_["createElement"](Schema_Schema, { schema: field.schema, skipReadOnly: this.props.skipReadOnly, skipWriteOnly: this.props.skipWriteOnly, showTitle: this.props.showTitle })))));
|
|
@@ -11757,6 +12020,7 @@ var DiscriminatorDropdown_DiscriminatorDropdown = /** @class */ (function (_supe
|
|
|
11757
12020
|
|
|
11758
12021
|
|
|
11759
12022
|
|
|
12023
|
+
|
|
11760
12024
|
var ObjectSchema_ObjectSchema = /** @class */ (function (_super) {
|
|
11761
12025
|
Object(external_tslib_["__extends"])(ObjectSchema, _super);
|
|
11762
12026
|
function ObjectSchema() {
|
|
@@ -11776,12 +12040,14 @@ var ObjectSchema_ObjectSchema = /** @class */ (function (_super) {
|
|
|
11776
12040
|
var filteredFields = needFilter ? fields.filter(function (item) {
|
|
11777
12041
|
return !(_this.props.skipReadOnly && item.schema.readOnly || _this.props.skipWriteOnly && item.schema.writeOnly);
|
|
11778
12042
|
}) : fields;
|
|
12043
|
+
var expandByDefault = this.context.expandSingleSchemaField && filteredFields.length === 1;
|
|
11779
12044
|
return external_react_["createElement"](PropertiesTable, null,
|
|
11780
12045
|
showTitle && external_react_["createElement"](PropertiesTableCaption, null, this.props.schema.title),
|
|
11781
12046
|
external_react_["createElement"]("tbody", null, mapWithLast(filteredFields, function (field, isLast) {
|
|
11782
|
-
return external_react_["createElement"](Field_Field, { key: field.name, isLast: isLast, field: field, renderDiscriminatorSwitch: discriminator && discriminator.fieldName === field.name && (function () { return external_react_["createElement"](DiscriminatorDropdown_DiscriminatorDropdown, { parent: _this.parentSchema, enumValues: field.schema.enum }); }) || undefined, className: field.expanded ? 'expanded' : undefined, showExamples: false, skipReadOnly: _this.props.skipReadOnly, skipWriteOnly: _this.props.skipWriteOnly, showTitle: _this.props.showTitle });
|
|
12047
|
+
return external_react_["createElement"](Field_Field, { key: field.name, isLast: isLast, field: field, expandByDefault: expandByDefault, renderDiscriminatorSwitch: discriminator && discriminator.fieldName === field.name && (function () { return external_react_["createElement"](DiscriminatorDropdown_DiscriminatorDropdown, { parent: _this.parentSchema, enumValues: field.schema.enum }); }) || undefined, className: field.expanded ? 'expanded' : undefined, showExamples: false, skipReadOnly: _this.props.skipReadOnly, skipWriteOnly: _this.props.skipWriteOnly, showTitle: _this.props.showTitle });
|
|
11783
12048
|
})));
|
|
11784
12049
|
};
|
|
12050
|
+
ObjectSchema.contextType = OptionsContext;
|
|
11785
12051
|
ObjectSchema = Object(external_tslib_["__decorate"])([
|
|
11786
12052
|
external_mobx_react_["observer"]
|
|
11787
12053
|
], ObjectSchema);
|
|
@@ -11981,7 +12247,7 @@ var SchemaDefinition_SchemaDefinition = /** @class */ (function (_super) {
|
|
|
11981
12247
|
var MediaSamplesWrap = styled_components.div(SchemaDefinition_templateObject_1 || (SchemaDefinition_templateObject_1 = Object(external_tslib_["__makeTemplateObject"])(["\n background: ", ";\n & > div,\n & > pre {\n padding: ", "px;\n margin: 0;\n }\n\n & > div > pre {\n padding: 0;\n }\n"], ["\n background: ",
|
|
11982
12248
|
";\n & > div,\n & > pre {\n padding: ", "px;\n margin: 0;\n }\n\n & > div > pre {\n padding: 0;\n }\n"])), function (_a) {
|
|
11983
12249
|
var theme = _a.theme;
|
|
11984
|
-
return theme.
|
|
12250
|
+
return theme.codeBlock.backgroundColor;
|
|
11985
12251
|
}, function (props) { return props.theme.spacing.unit * 4; });
|
|
11986
12252
|
var SchemaDefinition_templateObject_1;
|
|
11987
12253
|
|
|
@@ -12073,7 +12339,7 @@ var SecuritySchemes_SecurityDefs = /** @class */ (function (_super) {
|
|
|
12073
12339
|
"\" "))] : scheme.openId ? external_react_["createElement"]("tr", null,
|
|
12074
12340
|
external_react_["createElement"]("th", null, " Connect URL "),
|
|
12075
12341
|
external_react_["createElement"]("td", null,
|
|
12076
|
-
external_react_["createElement"]("a", { target: "_blank", href: scheme.openId.connectUrl }, scheme.openId.connectUrl))) : scheme.flows ? Object.keys(scheme.flows).map(function (type) { return external_react_["createElement"](SecuritySchemes_OAuthFlow, { key: type, type: type, flow: scheme.flows[type] }); }) : null)))))); });
|
|
12342
|
+
external_react_["createElement"]("a", { target: "_blank", rel: "noopener noreferrer", href: scheme.openId.connectUrl }, scheme.openId.connectUrl))) : scheme.flows ? Object.keys(scheme.flows).map(function (type) { return external_react_["createElement"](SecuritySchemes_OAuthFlow, { key: type, type: type, flow: scheme.flows[type] }); }) : null)))))); });
|
|
12077
12343
|
};
|
|
12078
12344
|
return SecurityDefs;
|
|
12079
12345
|
}(external_react_["PureComponent"]));
|
|
@@ -12094,6 +12360,7 @@ var AppStore_a;
|
|
|
12094
12360
|
|
|
12095
12361
|
|
|
12096
12362
|
|
|
12363
|
+
|
|
12097
12364
|
function createStore(spec, specUrl, options) {
|
|
12098
12365
|
if (options === void 0) { options = {}; }
|
|
12099
12366
|
return Object(external_tslib_["__awaiter"])(this, void 0, void 0, function () {
|
|
@@ -12152,6 +12419,9 @@ var AppStore_AppStore = /** @class */ (function () {
|
|
|
12152
12419
|
AppStore.prototype.dispose = function () {
|
|
12153
12420
|
this.scroll.dispose();
|
|
12154
12421
|
this.menu.dispose();
|
|
12422
|
+
if (this.search) {
|
|
12423
|
+
this.search.dispose();
|
|
12424
|
+
}
|
|
12155
12425
|
if (this.disposer != null) {
|
|
12156
12426
|
this.disposer();
|
|
12157
12427
|
}
|
|
@@ -12200,12 +12470,12 @@ var AppStore_AppStore = /** @class */ (function () {
|
|
|
12200
12470
|
if (!elem) {
|
|
12201
12471
|
continue;
|
|
12202
12472
|
}
|
|
12203
|
-
|
|
12204
|
-
|
|
12205
|
-
|
|
12206
|
-
|
|
12207
|
-
|
|
12208
|
-
|
|
12473
|
+
elements.push(elem);
|
|
12474
|
+
}
|
|
12475
|
+
if (idx === -1 && IS_BROWSER) {
|
|
12476
|
+
var $description = document.querySelector('[data-role="redoc-description"]');
|
|
12477
|
+
if ($description)
|
|
12478
|
+
elements.push($description);
|
|
12209
12479
|
}
|
|
12210
12480
|
this.marker.addOnly(elements);
|
|
12211
12481
|
this.marker.mark();
|
|
@@ -12327,7 +12597,7 @@ var ApiInfo_ApiInfo = /** @class */ (function (_super) {
|
|
|
12327
12597
|
license,
|
|
12328
12598
|
" ",
|
|
12329
12599
|
terms)) || null),
|
|
12330
|
-
external_react_["createElement"](Markdown_Markdown, { source: store.spec.info.description }),
|
|
12600
|
+
external_react_["createElement"](Markdown_Markdown, { source: store.spec.info.description, "data-role": "redoc-description" }),
|
|
12331
12601
|
externalDocs && external_react_["createElement"](ExternalDocumentation_ExternalDocumentation, { externalDocs: externalDocs }))));
|
|
12332
12602
|
};
|
|
12333
12603
|
ApiInfo = Object(external_tslib_["__decorate"])([
|
|
@@ -12502,7 +12772,7 @@ var SelectOnClick_SelectOnClick = /** @class */ (function (_super) {
|
|
|
12502
12772
|
|
|
12503
12773
|
var OperationEndpointWrap = styled_components.div(Endpoint_styled_elements_templateObject_1 || (Endpoint_styled_elements_templateObject_1 = Object(external_tslib_["__makeTemplateObject"])(["\n cursor: pointer;\n position: relative;\n margin-bottom: 5px;\n"], ["\n cursor: pointer;\n position: relative;\n margin-bottom: 5px;\n"])));
|
|
12504
12774
|
var ServerRelativeURL = styled_components.span(Endpoint_styled_elements_templateObject_2 || (Endpoint_styled_elements_templateObject_2 = Object(external_tslib_["__makeTemplateObject"])(["\n font-family: ", ";\n margin-left: 10px;\n flex: 1;\n overflow-x: hidden;\n text-overflow: ellipsis;\n"], ["\n font-family: ", ";\n margin-left: 10px;\n flex: 1;\n overflow-x: hidden;\n text-overflow: ellipsis;\n"])), function (props) { return props.theme.typography.code.fontFamily; });
|
|
12505
|
-
var EndpointInfo = styled_components.div(Endpoint_styled_elements_templateObject_3 || (Endpoint_styled_elements_templateObject_3 = Object(external_tslib_["__makeTemplateObject"])(["\n padding: 10px 30px 10px ", ";\n border-radius: ", ";\n background-color: ", ";\n display: flex;\n white-space: nowrap;\n align-items: center;\n border: ", ";\n border-bottom: ", ";\n transition: border-color 0.25s ease;\n\n ", "\n\n .", " {\n color: ", "\n }\n"], ["\n padding: 10px 30px 10px ", ";\n border-radius: ", ";\n background-color: ", ";\n display: flex;\n white-space: nowrap;\n align-items: center;\n border: ", ";\n border-bottom: ", ";\n transition: border-color 0.25s ease;\n\n ", "\n\n .", " {\n color: ", "\n }\n"])), function (props) { return props.inverted ? '10px' : '20px'; }, function (props) { return props.inverted ? '0' : '4px 4px 0 0'; }, function (props) { return props.inverted ? 'transparent' : props.theme.
|
|
12775
|
+
var EndpointInfo = styled_components.div(Endpoint_styled_elements_templateObject_3 || (Endpoint_styled_elements_templateObject_3 = Object(external_tslib_["__makeTemplateObject"])(["\n padding: 10px 30px 10px ", ";\n border-radius: ", ";\n background-color: ", ";\n display: flex;\n white-space: nowrap;\n align-items: center;\n border: ", ";\n border-bottom: ", ";\n transition: border-color 0.25s ease;\n\n ", "\n\n .", " {\n color: ", "\n }\n"], ["\n padding: 10px 30px 10px ", ";\n border-radius: ", ";\n background-color: ", ";\n display: flex;\n white-space: nowrap;\n align-items: center;\n border: ", ";\n border-bottom: ", ";\n transition: border-color 0.25s ease;\n\n ", "\n\n .", " {\n color: ", "\n }\n"])), function (props) { return props.inverted ? '10px' : '20px'; }, function (props) { return props.inverted ? '0' : '4px 4px 0 0'; }, function (props) { return props.inverted ? 'transparent' : props.theme.codeBlock.backgroundColor; }, function (props) { return props.inverted ? '0' : '1px solid transparent'; }, function (props) { return props.inverted ? '1px solid #ccc' : '0'; }, function (props) { return props.expanded && !props.inverted && "border-color: " + props.theme.colors.border.dark + ";" || ''; }, ServerRelativeURL, function (props) { return props.inverted ? props.theme.colors.text.primary : '#ffffff'; });
|
|
12506
12776
|
var HttpVerb = styled_components.span.attrs(function (props) { return ({
|
|
12507
12777
|
className: "http-verb " + props.type
|
|
12508
12778
|
}); })(Endpoint_styled_elements_templateObject_4 || (Endpoint_styled_elements_templateObject_4 = Object(external_tslib_["__makeTemplateObject"])(["\n font-size: 0.929em;\n line-height: 20px;\n background-color: ", ";\n color: #ffffff;\n padding: 3px 10px;\n text-transform: uppercase;\n font-family: ", ";\n margin: 0;\n"], ["\n font-size: 0.929em;\n line-height: 20px;\n background-color: ", ";\n color: #ffffff;\n padding: 3px 10px;\n text-transform: uppercase;\n font-family: ", ";\n margin: 0;\n"])), function (props) { return props.theme.colors.http[props.type] || '#999999'; }, function (props) { return props.theme.typography.headings.fontFamily; });
|
|
@@ -13110,7 +13380,7 @@ var ContentItems_OperationItem = /** @class */ (function (_super) {
|
|
|
13110
13380
|
|
|
13111
13381
|
|
|
13112
13382
|
// EXTERNAL MODULE: external "classnames"
|
|
13113
|
-
var external_classnames_ = __webpack_require__(
|
|
13383
|
+
var external_classnames_ = __webpack_require__(42);
|
|
13114
13384
|
|
|
13115
13385
|
// CONCATENATED MODULE: ./src/components/SideMenu/styled.elements.ts
|
|
13116
13386
|
|
|
@@ -13124,10 +13394,10 @@ var OperationBadge = styled_components.span.attrs(function (props) { return ({
|
|
|
13124
13394
|
function menuItemActiveBg(depth, _a) {
|
|
13125
13395
|
var theme = _a.theme;
|
|
13126
13396
|
if (depth > 1) {
|
|
13127
|
-
return Object(external_polished_["darken"])(0.1, theme.
|
|
13397
|
+
return Object(external_polished_["darken"])(0.1, theme.sidebar.backgroundColor);
|
|
13128
13398
|
}
|
|
13129
13399
|
else if (depth === 1) {
|
|
13130
|
-
return Object(external_polished_["darken"])(0.05, theme.
|
|
13400
|
+
return Object(external_polished_["darken"])(0.05, theme.sidebar.backgroundColor);
|
|
13131
13401
|
}
|
|
13132
13402
|
else {
|
|
13133
13403
|
return '';
|
|
@@ -13139,14 +13409,14 @@ var menuItemDepth = {
|
|
|
13139
13409
|
0: css(SideMenu_styled_elements_templateObject_4 || (SideMenu_styled_elements_templateObject_4 = Object(external_tslib_["__makeTemplateObject"])(["\n opacity: 0.7;\n text-transform: ", ";\n font-size: 0.8em;\n padding-bottom: 0;\n cursor: default;\n color: ", ";\n "], ["\n opacity: 0.7;\n text-transform: ",
|
|
13140
13410
|
";\n font-size: 0.8em;\n padding-bottom: 0;\n cursor: default;\n color: ", ";\n "])), function (_a) {
|
|
13141
13411
|
var theme = _a.theme;
|
|
13142
|
-
return theme.
|
|
13143
|
-
}, function (props) { return props.theme.
|
|
13412
|
+
return theme.sidebar.groupItems.textTransform;
|
|
13413
|
+
}, function (props) { return props.theme.sidebar.textColor; }),
|
|
13144
13414
|
1: css(SideMenu_styled_elements_templateObject_5 || (SideMenu_styled_elements_templateObject_5 = Object(external_tslib_["__makeTemplateObject"])(["\n font-size: 0.929em;\n text-transform: ", ";\n &:hover {\n color: ", ";\n }\n "], ["\n font-size: 0.929em;\n text-transform: ",
|
|
13145
13415
|
";\n &:hover {\n color: ", ";\n }\n "])), function (_a) {
|
|
13146
13416
|
var theme = _a.theme;
|
|
13147
|
-
return theme.
|
|
13148
|
-
}, function (props) { return props.theme.
|
|
13149
|
-
2: css(SideMenu_styled_elements_templateObject_6 || (SideMenu_styled_elements_templateObject_6 = Object(external_tslib_["__makeTemplateObject"])(["\n color: ", ";\n "], ["\n color: ", ";\n "])), function (props) { return props.theme.
|
|
13417
|
+
return theme.sidebar.level1Items.textTransform;
|
|
13418
|
+
}, function (props) { return props.theme.sidebar.activeTextColor; }),
|
|
13419
|
+
2: css(SideMenu_styled_elements_templateObject_6 || (SideMenu_styled_elements_templateObject_6 = Object(external_tslib_["__makeTemplateObject"])(["\n color: ", ";\n "], ["\n color: ", ";\n "])), function (props) { return props.theme.sidebar.textColor; })
|
|
13150
13420
|
};
|
|
13151
13421
|
var MenuItemLabel = styled_components.label.attrs(function (props) { return ({
|
|
13152
13422
|
role: 'menuitem',
|
|
@@ -13157,24 +13427,24 @@ var MenuItemLabel = styled_components.label.attrs(function (props) { return ({
|
|
|
13157
13427
|
"\n display: flex;\n justify-content: space-between;\n font-family: ", ";\n ", ";\n background-color: ", ";\n\n ", ";\n\n &:hover {\n background-color: ", ";\n }\n\n ", " {\n height: ",
|
|
13158
13428
|
";\n width: ",
|
|
13159
13429
|
";\n polygon {\n fill: ",
|
|
13160
|
-
";\n }\n }\n"])), function (props) { return props.active ? props.theme.
|
|
13430
|
+
";\n }\n }\n"])), function (props) { return props.active ? props.theme.sidebar.activeTextColor : props.theme.sidebar.textColor; }, function (props) { return props.theme.spacing.unit * 4; }, function (_a) {
|
|
13161
13431
|
var depth = _a.depth, type = _a.type, theme = _a.theme;
|
|
13162
13432
|
return type === 'section' && depth > 1 && 'padding-left: ' + theme.spacing.unit * 8 + 'px;' || '';
|
|
13163
13433
|
}, function (props) { return props.theme.typography.headings.fontFamily; }, function (props) { return menuItemDepth[props.depth]; }, function (props) { return props.active ? menuItemActiveBg(props.depth, props) : ''; }, function (props) { return props.deprecated && deprecatedCss || ''; }, function (props) { return menuItemActiveBg(props.depth, props); }, ShelfIcon, function (_a) {
|
|
13164
13434
|
var theme = _a.theme;
|
|
13165
|
-
return theme.
|
|
13435
|
+
return theme.sidebar.arrow.size;
|
|
13166
13436
|
}, function (_a) {
|
|
13167
13437
|
var theme = _a.theme;
|
|
13168
|
-
return theme.
|
|
13438
|
+
return theme.sidebar.arrow.size;
|
|
13169
13439
|
}, function (_a) {
|
|
13170
13440
|
var theme = _a.theme;
|
|
13171
|
-
return theme.
|
|
13441
|
+
return theme.sidebar.arrow.color;
|
|
13172
13442
|
});
|
|
13173
13443
|
var MenuItemTitle = styled_components.span(styled_elements_templateObject_8 || (styled_elements_templateObject_8 = Object(external_tslib_["__makeTemplateObject"])(["\n display: inline-block;\n vertical-align: middle;\n width: ", ";\n overflow: hidden;\n text-overflow: ellipsis;\n"], ["\n display: inline-block;\n vertical-align: middle;\n width: ", ";\n overflow: hidden;\n text-overflow: ellipsis;\n"])), function (props) { return props.width ? props.width : 'auto'; });
|
|
13174
13444
|
var RedocAttribution = styled_components.div(styled_elements_templateObject_9 || (styled_elements_templateObject_9 = Object(external_tslib_["__makeTemplateObject"])(["\n ", ";\n"], ["\n ",
|
|
13175
13445
|
";\n"])), function (_a) {
|
|
13176
13446
|
var theme = _a.theme;
|
|
13177
|
-
return "\n font-size: 0.8em;\n margin-top: " + theme.spacing.unit * 2 + "px;\n padding: 0 " + theme.spacing.unit * 4 + "px;\n text-align: left;\n\n opacity: 0.7;\n\n a,\n a:visited,\n a:hover {\n color: " + theme.
|
|
13447
|
+
return "\n font-size: 0.8em;\n margin-top: " + theme.spacing.unit * 2 + "px;\n padding: 0 " + theme.spacing.unit * 4 + "px;\n text-align: left;\n\n opacity: 0.7;\n\n a,\n a:visited,\n a:hover {\n color: " + theme.sidebar.textColor + " !important;\n border-top: 1px solid " + Object(external_polished_["darken"])(0.1, theme.sidebar.backgroundColor) + ";\n padding: " + theme.spacing.unit + "px 0;\n display: block;\n }\n";
|
|
13178
13448
|
});
|
|
13179
13449
|
var SideMenu_styled_elements_templateObject_1, SideMenu_styled_elements_templateObject_2, SideMenu_styled_elements_templateObject_3, SideMenu_styled_elements_templateObject_4, SideMenu_styled_elements_templateObject_5, SideMenu_styled_elements_templateObject_6, SideMenu_styled_elements_templateObject_7, styled_elements_templateObject_8, styled_elements_templateObject_9;
|
|
13180
13450
|
|
|
@@ -13313,7 +13583,7 @@ var SideMenu_SideMenu = /** @class */ (function (_super) {
|
|
|
13313
13583
|
} },
|
|
13314
13584
|
external_react_["createElement"](MenuItems_MenuItems, { items: store.items, onActivate: this.activate, root: true }),
|
|
13315
13585
|
external_react_["createElement"](RedocAttribution, null,
|
|
13316
|
-
external_react_["createElement"]("a", { target: "_blank", href: "https://github.com/Redocly/redoc" }, "Documentation Powered by ReDoc")));
|
|
13586
|
+
external_react_["createElement"]("a", { target: "_blank", rel: "noopener noreferrer", href: "https://github.com/Redocly/redoc" }, "Documentation Powered by ReDoc")));
|
|
13317
13587
|
};
|
|
13318
13588
|
SideMenu.contextType = OptionsContext;
|
|
13319
13589
|
SideMenu = Object(external_tslib_["__decorate"])([
|
|
@@ -13360,14 +13630,14 @@ var ChevronSvg_templateObject_1;
|
|
|
13360
13630
|
|
|
13361
13631
|
var Stickyfill;
|
|
13362
13632
|
if (IS_BROWSER) {
|
|
13363
|
-
Stickyfill = __webpack_require__(
|
|
13633
|
+
Stickyfill = __webpack_require__(81);
|
|
13364
13634
|
}
|
|
13365
13635
|
var stickyfill = Stickyfill && Stickyfill();
|
|
13366
|
-
var StyledStickySidebar = styled_components.div(StickyResponsiveSidebar_templateObject_2 || (StickyResponsiveSidebar_templateObject_2 = Object(external_tslib_["__makeTemplateObject"])(["\n width: ", ";\n background-color: ", ";\n overflow: hidden;\n display: flex;\n flex-direction: column;\n\n backface-visibility: hidden;\n contain: strict
|
|
13367
|
-
";\n\n @media print {\n display: none;\n }\n"])), function (props) { return props.theme.
|
|
13636
|
+
var StyledStickySidebar = styled_components.div(StickyResponsiveSidebar_templateObject_2 || (StickyResponsiveSidebar_templateObject_2 = Object(external_tslib_["__makeTemplateObject"])(["\n width: ", ";\n background-color: ", ";\n overflow: hidden;\n display: flex;\n flex-direction: column;\n\n backface-visibility: hidden;\n /* contain: strict; TODO: breaks layout since Chrome 80*/\n\n height: 100vh;\n position: sticky;\n position: -webkit-sticky;\n top: 0;\n\n ", ";\n\n @media print {\n display: none;\n }\n"], ["\n width: ", ";\n background-color: ", ";\n overflow: hidden;\n display: flex;\n flex-direction: column;\n\n backface-visibility: hidden;\n /* contain: strict; TODO: breaks layout since Chrome 80*/\n\n height: 100vh;\n position: sticky;\n position: -webkit-sticky;\n top: 0;\n\n ",
|
|
13637
|
+
";\n\n @media print {\n display: none;\n }\n"])), function (props) { return props.theme.sidebar.width; }, function (props) { return props.theme.sidebar.backgroundColor; }, media.lessThan('small')(StickyResponsiveSidebar_templateObject_1 || (StickyResponsiveSidebar_templateObject_1 = Object(external_tslib_["__makeTemplateObject"])(["\n position: fixed;\n z-index: 20;\n width: 100%;\n background: ", ";\n display: ", ";\n "], ["\n position: fixed;\n z-index: 20;\n width: 100%;\n background: ",
|
|
13368
13638
|
";\n display: ", ";\n "])), function (_a) {
|
|
13369
13639
|
var theme = _a.theme;
|
|
13370
|
-
return theme.
|
|
13640
|
+
return theme.sidebar.backgroundColor;
|
|
13371
13641
|
}, function (props) { return props.open ? 'flex' : 'none'; }));
|
|
13372
13642
|
var FloatingButton = styled_components.div(StickyResponsiveSidebar_templateObject_4 || (StickyResponsiveSidebar_templateObject_4 = Object(external_tslib_["__makeTemplateObject"])(["\n outline: none;\n user-select: none;\n background-color: #f2f2f2;\n color: ", ";\n display: none;\n cursor: pointer;\n position: fixed;\n right: 20px;\n z-index: 100;\n border-radius: 50%;\n box-shadow: 0 0 20px rgba(0, 0, 0, 0.3);\n ", ";\n\n bottom: 44px;\n\n width: 60px;\n height: 60px;\n padding: 0 20px;\n\n @media print {\n display: none;\n }\n"], ["\n outline: none;\n user-select: none;\n background-color: #f2f2f2;\n color: ", ";\n display: none;\n cursor: pointer;\n position: fixed;\n right: 20px;\n z-index: 100;\n border-radius: 50%;\n box-shadow: 0 0 20px rgba(0, 0, 0, 0.3);\n ",
|
|
13373
13643
|
";\n\n bottom: 44px;\n\n width: 60px;\n height: 60px;\n padding: 0 20px;\n\n @media print {\n display: none;\n }\n"])), function (props) { return props.theme.colors.primary.main; }, media.lessThan('small')(StickyResponsiveSidebar_templateObject_3 || (StickyResponsiveSidebar_templateObject_3 = Object(external_tslib_["__makeTemplateObject"])(["\n display: flex;\n "], ["\n display: flex;\n "]))));
|
|
@@ -13439,7 +13709,7 @@ var RedocWrap = styled_components.div(Redoc_styled_elements_templateObject_1 ||
|
|
|
13439
13709
|
return "\n font-family: " + theme.typography.fontFamily + ";\n font-size: " + theme.typography.fontSize + ";\n font-weight: " + theme.typography.fontWeightRegular + ";\n line-height: " + theme.typography.lineHeight + ";\n color: " + theme.colors.text.primary + ";\n display: flex;\n position: relative;\n text-align: left;\n\n -webkit-font-smoothing: " + theme.typography.smoothing + ";\n font-smoothing: " + theme.typography.smoothing + ";\n " + (theme.typography.optimizeSpeed && 'text-rendering: optimizeSpeed !important' || '') + ";\n\n tap-highlight-color: rgba(0, 0, 0, 0);\n text-size-adjust: 100%;\n\n * {\n box-sizing: border-box;\n -webkit-tap-highlight-color: rgba(255, 255, 255, 0);\n }\n";
|
|
13440
13710
|
});
|
|
13441
13711
|
var ApiContentWrap = styled_components.div(Redoc_styled_elements_templateObject_3 || (Redoc_styled_elements_templateObject_3 = Object(external_tslib_["__makeTemplateObject"])(["\n z-index: 1;\n position: relative;\n overflow: hidden;\n width: calc(100% - ", ");\n ", ";\n\n contain: layout;\n"], ["\n z-index: 1;\n position: relative;\n overflow: hidden;\n width: calc(100% - ", ");\n ",
|
|
13442
|
-
";\n\n contain: layout;\n"])), function (props) { return props.theme.
|
|
13712
|
+
";\n\n contain: layout;\n"])), function (props) { return props.theme.sidebar.width; }, media.lessThan('small', true)(Redoc_styled_elements_templateObject_2 || (Redoc_styled_elements_templateObject_2 = Object(external_tslib_["__makeTemplateObject"])(["\n width: 100%;\n "], ["\n width: 100%;\n "]))));
|
|
13443
13713
|
var BackgroundStub = styled_components.div(Redoc_styled_elements_templateObject_5 || (Redoc_styled_elements_templateObject_5 = Object(external_tslib_["__makeTemplateObject"])(["\n background: ", ";\n position: absolute;\n top: 0;\n bottom: 0;\n right: 0;\n width: ", ";\n ", ";\n"], ["\n background: ",
|
|
13444
13714
|
";\n position: absolute;\n top: 0;\n bottom: 0;\n right: 0;\n width: ",
|
|
13445
13715
|
";\n ",
|
|
@@ -13450,7 +13720,7 @@ var BackgroundStub = styled_components.div(Redoc_styled_elements_templateObject_
|
|
|
13450
13720
|
var theme = _a.theme;
|
|
13451
13721
|
if (theme.rightPanel.width.endsWith('%')) {
|
|
13452
13722
|
var percents = parseInt(theme.rightPanel.width, 10);
|
|
13453
|
-
return "calc((100% - " + theme.
|
|
13723
|
+
return "calc((100% - " + theme.sidebar.width + ") * " + percents / 100 + ")";
|
|
13454
13724
|
}
|
|
13455
13725
|
else {
|
|
13456
13726
|
return theme.rightPanel.width;
|
|
@@ -13471,31 +13741,31 @@ var SearchInput = styled_components.input.attrs(function () { return ({
|
|
|
13471
13741
|
";\n font-family: ",
|
|
13472
13742
|
";\n font-weight: bold;\n font-size: 13px;\n color: ", ";\n background-color: transparent;\n outline: none;\n"])), function (props) { return props.theme.spacing.unit * 8; }, function (props) { return props.theme.spacing.unit * 4; }, function (props) { return props.theme.spacing.unit * 2; }, function (props) { return props.theme.spacing.unit * 4; }, function (_a) {
|
|
13473
13743
|
var theme = _a.theme;
|
|
13474
|
-
return (Object(external_polished_["getLuminance"])(theme.
|
|
13744
|
+
return (Object(external_polished_["getLuminance"])(theme.sidebar.backgroundColor) > 0.5 ? external_polished_["darken"] : external_polished_["lighten"])(0.1, theme.sidebar.backgroundColor);
|
|
13475
13745
|
}, function (_a) {
|
|
13476
13746
|
var theme = _a.theme;
|
|
13477
13747
|
return theme.typography.fontFamily;
|
|
13478
|
-
}, function (props) { return props.theme.
|
|
13748
|
+
}, function (props) { return props.theme.sidebar.textColor; });
|
|
13479
13749
|
var SearchIcon = styled_components(function (props) { return external_react_["createElement"]("svg", { className: props.className, version: "1.1", viewBox: "0 0 1000 1000", x: "0px", xmlns: "http://www.w3.org/2000/svg", y: "0px" },
|
|
13480
13750
|
external_react_["createElement"]("path", { d: "M968.2,849.4L667.3,549c83.9-136.5,66.7-317.4-51.7-435.6C477.1-25,252.5-25,113.9,113.4c-138.5,138.3-138.5,362.6,0,501C219.2,730.1,413.2,743,547.6,666.5l301.9,301.4c43.6,43.6,76.9,14.9,104.2-12.4C981,928.3,1011.8,893,968.2,849.4z M524.5,522c-88.9,88.7-233,88.7-321.8,0c-88.9-88.7-88.9-232.6,0-321.3c88.9-88.7,233-88.7,321.8,0C613.4,289.4,613.4,433.3,524.5,522z" })); }).attrs({
|
|
13481
13751
|
className: 'search-icon'
|
|
13482
|
-
})(SearchBox_styled_elements_templateObject_3 || (SearchBox_styled_elements_templateObject_3 = Object(external_tslib_["__makeTemplateObject"])(["\n position: absolute;\n left: ", "px;\n height: 1.8em;\n width: 0.9em;\n\n path {\n fill: ", ";\n }\n"], ["\n position: absolute;\n left: ", "px;\n height: 1.8em;\n width: 0.9em;\n\n path {\n fill: ", ";\n }\n"])), function (props) { return props.theme.spacing.unit * 4; }, function (props) { return props.theme.
|
|
13752
|
+
})(SearchBox_styled_elements_templateObject_3 || (SearchBox_styled_elements_templateObject_3 = Object(external_tslib_["__makeTemplateObject"])(["\n position: absolute;\n left: ", "px;\n height: 1.8em;\n width: 0.9em;\n\n path {\n fill: ", ";\n }\n"], ["\n position: absolute;\n left: ", "px;\n height: 1.8em;\n width: 0.9em;\n\n path {\n fill: ", ";\n }\n"])), function (props) { return props.theme.spacing.unit * 4; }, function (props) { return props.theme.sidebar.textColor; });
|
|
13483
13753
|
var SearchResultsBox = styled_components.div(SearchBox_styled_elements_templateObject_4 || (SearchBox_styled_elements_templateObject_4 = Object(external_tslib_["__makeTemplateObject"])(["\n padding: ", "px 0;\n background-color: ", "};\n color: ", ";\n min-height: 150px;\n max-height: 250px;\n border-top: ", "};\n border-bottom: ", "};\n margin-top: 10px;\n line-height: 1.4;\n font-size: 0.9em;\n\n ", " {\n padding-top: 6px;\n padding-bottom: 6px;\n\n &:hover,\n &.active {\n background-color: ", ";\n }\n\n > svg {\n display: none;\n }\n }\n"], ["\n padding: ", "px 0;\n background-color: ",
|
|
13484
13754
|
"};\n color: ", ";\n min-height: 150px;\n max-height: 250px;\n border-top: ",
|
|
13485
13755
|
"};\n border-bottom: ",
|
|
13486
13756
|
"};\n margin-top: 10px;\n line-height: 1.4;\n font-size: 0.9em;\n\n ", " {\n padding-top: 6px;\n padding-bottom: 6px;\n\n &:hover,\n &.active {\n background-color: ",
|
|
13487
13757
|
";\n }\n\n > svg {\n display: none;\n }\n }\n"])), function (props) { return props.theme.spacing.unit; }, function (_a) {
|
|
13488
13758
|
var theme = _a.theme;
|
|
13489
|
-
return Object(external_polished_["darken"])(0.05, theme.
|
|
13490
|
-
}, function (props) { return props.theme.
|
|
13759
|
+
return Object(external_polished_["darken"])(0.05, theme.sidebar.backgroundColor);
|
|
13760
|
+
}, function (props) { return props.theme.sidebar.textColor; }, function (_a) {
|
|
13491
13761
|
var theme = _a.theme;
|
|
13492
|
-
return Object(external_polished_["darken"])(0.1, theme.
|
|
13762
|
+
return Object(external_polished_["darken"])(0.1, theme.sidebar.backgroundColor);
|
|
13493
13763
|
}, function (_a) {
|
|
13494
13764
|
var theme = _a.theme;
|
|
13495
|
-
return Object(external_polished_["darken"])(0.1, theme.
|
|
13765
|
+
return Object(external_polished_["darken"])(0.1, theme.sidebar.backgroundColor);
|
|
13496
13766
|
}, MenuItemLabel, function (_a) {
|
|
13497
13767
|
var theme = _a.theme;
|
|
13498
|
-
return Object(external_polished_["darken"])(0.1, theme.
|
|
13768
|
+
return Object(external_polished_["darken"])(0.1, theme.sidebar.backgroundColor);
|
|
13499
13769
|
});
|
|
13500
13770
|
var ClearIcon = styled_components.i(SearchBox_styled_elements_templateObject_5 || (SearchBox_styled_elements_templateObject_5 = Object(external_tslib_["__makeTemplateObject"])(["\n position: absolute;\n display: inline-block;\n width: ", "px;\n text-align: center;\n right: ", "px;\n line-height: 2em;\n vertical-align: middle;\n margin-right: 2px;\n cursor: pointer;\n font-style: normal;\n color: '#666';\n"], ["\n position: absolute;\n display: inline-block;\n width: ", "px;\n text-align: center;\n right: ", "px;\n line-height: 2em;\n vertical-align: middle;\n margin-right: 2px;\n cursor: pointer;\n font-style: normal;\n color: '#666';\n"])), function (props) { return props.theme.spacing.unit * 2; }, function (props) { return props.theme.spacing.unit * 4; });
|
|
13501
13771
|
var SearchBox_styled_elements_templateObject_1, SearchBox_styled_elements_templateObject_2, SearchBox_styled_elements_templateObject_3, SearchBox_styled_elements_templateObject_4, SearchBox_styled_elements_templateObject_5;
|
|
@@ -13506,6 +13776,7 @@ var SearchBox_styled_elements_templateObject_1, SearchBox_styled_elements_templa
|
|
|
13506
13776
|
|
|
13507
13777
|
|
|
13508
13778
|
|
|
13779
|
+
|
|
13509
13780
|
var SearchBox_SearchBox = /** @class */ (function (_super) {
|
|
13510
13781
|
Object(external_tslib_["__extends"])(SearchBox, _super);
|
|
13511
13782
|
function SearchBox(props) {
|
|
@@ -13557,10 +13828,7 @@ var SearchBox_SearchBox = /** @class */ (function (_super) {
|
|
|
13557
13828
|
}
|
|
13558
13829
|
_this.setState({
|
|
13559
13830
|
term: q
|
|
13560
|
-
});
|
|
13561
|
-
_this.props.search.search(event.target.value).then(function (res) {
|
|
13562
|
-
_this.setResults(res, q);
|
|
13563
|
-
});
|
|
13831
|
+
}, function () { return _this.searchCallback(_this.state.term); });
|
|
13564
13832
|
};
|
|
13565
13833
|
_this.state = {
|
|
13566
13834
|
results: [],
|
|
@@ -13578,11 +13846,16 @@ var SearchBox_SearchBox = /** @class */ (function (_super) {
|
|
|
13578
13846
|
};
|
|
13579
13847
|
SearchBox.prototype.setResults = function (results, term) {
|
|
13580
13848
|
this.setState({
|
|
13581
|
-
results: results
|
|
13582
|
-
term: term
|
|
13849
|
+
results: results
|
|
13583
13850
|
});
|
|
13584
13851
|
this.props.marker.mark(term);
|
|
13585
13852
|
};
|
|
13853
|
+
SearchBox.prototype.searchCallback = function (searchTerm) {
|
|
13854
|
+
var _this = this;
|
|
13855
|
+
this.props.search.search(searchTerm).then(function (res) {
|
|
13856
|
+
_this.setResults(res, searchTerm);
|
|
13857
|
+
});
|
|
13858
|
+
};
|
|
13586
13859
|
SearchBox.prototype.render = function () {
|
|
13587
13860
|
var _this = this;
|
|
13588
13861
|
var activeItemIdx = this.state.activeItemIdx;
|
|
@@ -13604,6 +13877,10 @@ var SearchBox_SearchBox = /** @class */ (function (_super) {
|
|
|
13604
13877
|
}
|
|
13605
13878
|
}), onActivate: _this.props.onActivate, withoutChildren: true, key: res.item.id, "data-role": "search:result" }); }))));
|
|
13606
13879
|
};
|
|
13880
|
+
Object(external_tslib_["__decorate"])([
|
|
13881
|
+
external_decko_["bind"],
|
|
13882
|
+
Object(external_decko_["debounce"])(400)
|
|
13883
|
+
], SearchBox.prototype, "searchCallback", null);
|
|
13607
13884
|
return SearchBox;
|
|
13608
13885
|
}(external_react_["PureComponent"]));
|
|
13609
13886
|
|
|
@@ -13743,160 +14020,6 @@ var RedocStandalone_RedocStandalone = /** @class */ (function (_super) {
|
|
|
13743
14020
|
|
|
13744
14021
|
|
|
13745
14022
|
// CONCATENATED MODULE: ./src/index.ts
|
|
13746
|
-
/* concated harmony reexport ApiContentWrap */__webpack_require__.d(__webpack_exports__, "ApiContentWrap", function() { return ApiContentWrap; });
|
|
13747
|
-
/* concated harmony reexport BackgroundStub */__webpack_require__.d(__webpack_exports__, "BackgroundStub", function() { return BackgroundStub; });
|
|
13748
|
-
/* concated harmony reexport RedocWrap */__webpack_require__.d(__webpack_exports__, "RedocWrap", function() { return RedocWrap; });
|
|
13749
|
-
/* concated harmony reexport StyledMarkdownBlock */__webpack_require__.d(__webpack_exports__, "StyledMarkdownBlock", function() { return StyledMarkdownBlock; });
|
|
13750
|
-
/* concated harmony reexport RedocStandalone */__webpack_require__.d(__webpack_exports__, "RedocStandalone", function() { return RedocStandalone_RedocStandalone; });
|
|
13751
|
-
/* concated harmony reexport Redoc */__webpack_require__.d(__webpack_exports__, "Redoc", function() { return Redoc_Redoc; });
|
|
13752
|
-
/* concated harmony reexport ApiInfo */__webpack_require__.d(__webpack_exports__, "ApiInfo", function() { return ApiInfo_ApiInfo; });
|
|
13753
|
-
/* concated harmony reexport ApiLogo */__webpack_require__.d(__webpack_exports__, "ApiLogo", function() { return ApiLogo_ApiLogo; });
|
|
13754
|
-
/* concated harmony reexport ContentItems */__webpack_require__.d(__webpack_exports__, "ContentItems", function() { return ContentItems_ContentItems; });
|
|
13755
|
-
/* concated harmony reexport ContentItem */__webpack_require__.d(__webpack_exports__, "ContentItem", function() { return ContentItems_ContentItem; });
|
|
13756
|
-
/* concated harmony reexport SectionItem */__webpack_require__.d(__webpack_exports__, "SectionItem", function() { return ContentItems_SectionItem; });
|
|
13757
|
-
/* concated harmony reexport OperationItem */__webpack_require__.d(__webpack_exports__, "OperationItem", function() { return ContentItems_OperationItem; });
|
|
13758
|
-
/* concated harmony reexport SearchBox */__webpack_require__.d(__webpack_exports__, "SearchBox", function() { return SearchBox_SearchBox; });
|
|
13759
|
-
/* concated harmony reexport Operation */__webpack_require__.d(__webpack_exports__, "Operation", function() { return Operation_Operation; });
|
|
13760
|
-
/* concated harmony reexport Loading */__webpack_require__.d(__webpack_exports__, "Loading", function() { return Loading_Loading; });
|
|
13761
|
-
/* concated harmony reexport Markdown */__webpack_require__.d(__webpack_exports__, "Markdown", function() { return Markdown_Markdown; });
|
|
13762
|
-
/* concated harmony reexport OAuthFlow */__webpack_require__.d(__webpack_exports__, "OAuthFlow", function() { return SecuritySchemes_OAuthFlow; });
|
|
13763
|
-
/* concated harmony reexport SecurityDefs */__webpack_require__.d(__webpack_exports__, "SecurityDefs", function() { return SecuritySchemes_SecurityDefs; });
|
|
13764
|
-
/* concated harmony reexport ResponseView */__webpack_require__.d(__webpack_exports__, "ResponseView", function() { return Response_ResponseView; });
|
|
13765
|
-
/* concated harmony reexport ResponseDetails */__webpack_require__.d(__webpack_exports__, "ResponseDetails", function() { return ResponseDetails_ResponseDetails; });
|
|
13766
|
-
/* concated harmony reexport ResponseHeaders */__webpack_require__.d(__webpack_exports__, "ResponseHeaders", function() { return ResponseHeaders_ResponseHeaders; });
|
|
13767
|
-
/* concated harmony reexport ResponsesList */__webpack_require__.d(__webpack_exports__, "ResponsesList", function() { return ResponsesList_ResponsesList; });
|
|
13768
|
-
/* concated harmony reexport ResponseTitle */__webpack_require__.d(__webpack_exports__, "ResponseTitle", function() { return ResponseTitle_ResponseTitle; });
|
|
13769
|
-
/* concated harmony reexport ResponseSamples */__webpack_require__.d(__webpack_exports__, "ResponseSamples", function() { return ResponseSamples_ResponseSamples; });
|
|
13770
|
-
/* concated harmony reexport PayloadSamples */__webpack_require__.d(__webpack_exports__, "PayloadSamples", function() { return PayloadSamples_PayloadSamples; });
|
|
13771
|
-
/* concated harmony reexport MediaTypesSwitch */__webpack_require__.d(__webpack_exports__, "MediaTypesSwitch", function() { return MediaTypesSwitch_MediaTypesSwitch; });
|
|
13772
|
-
/* concated harmony reexport ErrorBoundary */__webpack_require__.d(__webpack_exports__, "ErrorBoundary", function() { return ErrorBoundary_ErrorBoundary; });
|
|
13773
|
-
/* concated harmony reexport StoreProvider */__webpack_require__.d(__webpack_exports__, "StoreProvider", function() { return Provider; });
|
|
13774
|
-
/* concated harmony reexport StoreConsumer */__webpack_require__.d(__webpack_exports__, "StoreConsumer", function() { return Consumer; });
|
|
13775
|
-
/* concated harmony reexport StoreBuilder */__webpack_require__.d(__webpack_exports__, "StoreBuilder", function() { return StoreBuilder_StoreBuilder; });
|
|
13776
|
-
/* concated harmony reexport OptionsContext */__webpack_require__.d(__webpack_exports__, "OptionsContext", function() { return OptionsContext; });
|
|
13777
|
-
/* concated harmony reexport OptionsProvider */__webpack_require__.d(__webpack_exports__, "OptionsProvider", function() { return OptionsProvider; });
|
|
13778
|
-
/* concated harmony reexport OptionsConsumer */__webpack_require__.d(__webpack_exports__, "OptionsConsumer", function() { return OptionsConsumer; });
|
|
13779
|
-
/* concated harmony reexport StickyResponsiveSidebar */__webpack_require__.d(__webpack_exports__, "StickyResponsiveSidebar", function() { return StickyResponsiveSidebar_StickyResponsiveSidebar; });
|
|
13780
|
-
/* concated harmony reexport SchemaDefinition */__webpack_require__.d(__webpack_exports__, "SchemaDefinition", function() { return SchemaDefinition_SchemaDefinition; });
|
|
13781
|
-
/* concated harmony reexport SourceCode */__webpack_require__.d(__webpack_exports__, "SourceCode", function() { return SourceCode_SourceCode; });
|
|
13782
|
-
/* concated harmony reexport SourceCodeWithCopy */__webpack_require__.d(__webpack_exports__, "SourceCodeWithCopy", function() { return SourceCode_SourceCodeWithCopy; });
|
|
13783
|
-
/* concated harmony reexport Schema */__webpack_require__.d(__webpack_exports__, "Schema", function() { return Schema_Schema; });
|
|
13784
|
-
/* concated harmony reexport ObjectSchema */__webpack_require__.d(__webpack_exports__, "ObjectSchema", function() { return ObjectSchema_ObjectSchema; });
|
|
13785
|
-
/* concated harmony reexport OneOfButton */__webpack_require__.d(__webpack_exports__, "OneOfButton", function() { return OneOfSchema_OneOfButton; });
|
|
13786
|
-
/* concated harmony reexport OneOfSchema */__webpack_require__.d(__webpack_exports__, "OneOfSchema", function() { return OneOfSchema_OneOfSchema; });
|
|
13787
|
-
/* concated harmony reexport ArraySchema */__webpack_require__.d(__webpack_exports__, "ArraySchema", function() { return ArraySchema_ArraySchema; });
|
|
13788
|
-
/* concated harmony reexport DiscriminatorDropdown */__webpack_require__.d(__webpack_exports__, "DiscriminatorDropdown", function() { return DiscriminatorDropdown_DiscriminatorDropdown; });
|
|
13789
|
-
/* concated harmony reexport JsonViewer */__webpack_require__.d(__webpack_exports__, "JsonViewer", function() { return JsonViewer; });
|
|
13790
|
-
/* concated harmony reexport MenuItem */__webpack_require__.d(__webpack_exports__, "MenuItem", function() { return MenuItem_MenuItem; });
|
|
13791
|
-
/* concated harmony reexport OperationMenuItemContent */__webpack_require__.d(__webpack_exports__, "OperationMenuItemContent", function() { return MenuItem_OperationMenuItemContent; });
|
|
13792
|
-
/* concated harmony reexport MenuItems */__webpack_require__.d(__webpack_exports__, "MenuItems", function() { return MenuItems_MenuItems; });
|
|
13793
|
-
/* concated harmony reexport SideMenu */__webpack_require__.d(__webpack_exports__, "SideMenu", function() { return SideMenu_SideMenu; });
|
|
13794
|
-
/* concated harmony reexport OperationBadge */__webpack_require__.d(__webpack_exports__, "OperationBadge", function() { return OperationBadge; });
|
|
13795
|
-
/* concated harmony reexport MenuItemUl */__webpack_require__.d(__webpack_exports__, "MenuItemUl", function() { return MenuItemUl; });
|
|
13796
|
-
/* concated harmony reexport MenuItemLi */__webpack_require__.d(__webpack_exports__, "MenuItemLi", function() { return MenuItemLi; });
|
|
13797
|
-
/* concated harmony reexport menuItemDepth */__webpack_require__.d(__webpack_exports__, "menuItemDepth", function() { return menuItemDepth; });
|
|
13798
|
-
/* concated harmony reexport MenuItemLabel */__webpack_require__.d(__webpack_exports__, "MenuItemLabel", function() { return MenuItemLabel; });
|
|
13799
|
-
/* concated harmony reexport MenuItemTitle */__webpack_require__.d(__webpack_exports__, "MenuItemTitle", function() { return MenuItemTitle; });
|
|
13800
|
-
/* concated harmony reexport RedocAttribution */__webpack_require__.d(__webpack_exports__, "RedocAttribution", function() { return RedocAttribution; });
|
|
13801
|
-
/* concated harmony reexport MiddlePanel */__webpack_require__.d(__webpack_exports__, "MiddlePanel", function() { return MiddlePanel; });
|
|
13802
|
-
/* concated harmony reexport Row */__webpack_require__.d(__webpack_exports__, "Row", function() { return Row; });
|
|
13803
|
-
/* concated harmony reexport RightPanel */__webpack_require__.d(__webpack_exports__, "RightPanel", function() { return RightPanel; });
|
|
13804
|
-
/* concated harmony reexport Section */__webpack_require__.d(__webpack_exports__, "Section", function() { return Section; });
|
|
13805
|
-
/* concated harmony reexport createStore */__webpack_require__.d(__webpack_exports__, "createStore", function() { return createStore; });
|
|
13806
|
-
/* concated harmony reexport AppStore */__webpack_require__.d(__webpack_exports__, "AppStore", function() { return AppStore_AppStore; });
|
|
13807
|
-
/* concated harmony reexport OpenAPIParser */__webpack_require__.d(__webpack_exports__, "OpenAPIParser", function() { return OpenAPIParser_OpenAPIParser; });
|
|
13808
|
-
/* concated harmony reexport LEGACY_REGEXP */__webpack_require__.d(__webpack_exports__, "LEGACY_REGEXP", function() { return LEGACY_REGEXP; });
|
|
13809
|
-
/* concated harmony reexport MDX_COMPONENT_REGEXP */__webpack_require__.d(__webpack_exports__, "MDX_COMPONENT_REGEXP", function() { return MDX_COMPONENT_REGEXP; });
|
|
13810
|
-
/* concated harmony reexport COMPONENT_REGEXP */__webpack_require__.d(__webpack_exports__, "COMPONENT_REGEXP", function() { return COMPONENT_REGEXP; });
|
|
13811
|
-
/* concated harmony reexport buildComponentComment */__webpack_require__.d(__webpack_exports__, "buildComponentComment", function() { return buildComponentComment; });
|
|
13812
|
-
/* concated harmony reexport MarkdownRenderer */__webpack_require__.d(__webpack_exports__, "MarkdownRenderer", function() { return MarkdownRenderer_MarkdownRenderer; });
|
|
13813
|
-
/* concated harmony reexport SECTION_ATTR */__webpack_require__.d(__webpack_exports__, "SECTION_ATTR", function() { return SECTION_ATTR; });
|
|
13814
|
-
/* concated harmony reexport MenuStore */__webpack_require__.d(__webpack_exports__, "MenuStore", function() { return MenuStore_MenuStore; });
|
|
13815
|
-
/* concated harmony reexport ScrollService */__webpack_require__.d(__webpack_exports__, "ScrollService", function() { return ScrollService_ScrollService; });
|
|
13816
|
-
/* concated harmony reexport SpecStore */__webpack_require__.d(__webpack_exports__, "SpecStore", function() { return SpecStore_SpecStore; });
|
|
13817
|
-
/* concated harmony reexport ClipboardService */__webpack_require__.d(__webpack_exports__, "ClipboardService", function() { return ClipboardService; });
|
|
13818
|
-
/* concated harmony reexport HistoryService */__webpack_require__.d(__webpack_exports__, "HistoryService", function() { return HistoryService_HistoryService; });
|
|
13819
|
-
/* concated harmony reexport history */__webpack_require__.d(__webpack_exports__, "history", function() { return HistoryService_history; });
|
|
13820
|
-
/* concated harmony reexport ApiInfoModel */__webpack_require__.d(__webpack_exports__, "ApiInfoModel", function() { return ApiInfo_ApiInfoModel; });
|
|
13821
|
-
/* concated harmony reexport SecuritySchemeModel */__webpack_require__.d(__webpack_exports__, "SecuritySchemeModel", function() { return SecuritySchemes_SecuritySchemeModel; });
|
|
13822
|
-
/* concated harmony reexport SecuritySchemesModel */__webpack_require__.d(__webpack_exports__, "SecuritySchemesModel", function() { return SecuritySchemesModel; });
|
|
13823
|
-
/* concated harmony reexport RedocNormalizedOptions */__webpack_require__.d(__webpack_exports__, "RedocNormalizedOptions", function() { return RedocNormalizedOptions_RedocNormalizedOptions; });
|
|
13824
|
-
/* concated harmony reexport GROUP_DEPTH */__webpack_require__.d(__webpack_exports__, "GROUP_DEPTH", function() { return GROUP_DEPTH; });
|
|
13825
|
-
/* concated harmony reexport MenuBuilder */__webpack_require__.d(__webpack_exports__, "MenuBuilder", function() { return MenuBuilder_MenuBuilder; });
|
|
13826
|
-
/* concated harmony reexport SearchStore */__webpack_require__.d(__webpack_exports__, "SearchStore", function() { return SearchStore_SearchStore; });
|
|
13827
|
-
/* concated harmony reexport MarkerService */__webpack_require__.d(__webpack_exports__, "MarkerService", function() { return MarkerService_MarkerService; });
|
|
13828
|
-
/* concated harmony reexport GroupModel */__webpack_require__.d(__webpack_exports__, "GroupModel", function() { return Group_model_GroupModel; });
|
|
13829
|
-
/* concated harmony reexport isPayloadSample */__webpack_require__.d(__webpack_exports__, "isPayloadSample", function() { return isPayloadSample; });
|
|
13830
|
-
/* concated harmony reexport OperationModel */__webpack_require__.d(__webpack_exports__, "OperationModel", function() { return Operation_OperationModel; });
|
|
13831
|
-
/* concated harmony reexport RequestBodyModel */__webpack_require__.d(__webpack_exports__, "RequestBodyModel", function() { return RequestBody_RequestBodyModel; });
|
|
13832
|
-
/* concated harmony reexport ExampleModel */__webpack_require__.d(__webpack_exports__, "ExampleModel", function() { return Example_ExampleModel; });
|
|
13833
|
-
/* concated harmony reexport MediaContentModel */__webpack_require__.d(__webpack_exports__, "MediaContentModel", function() { return MediaContent_MediaContentModel; });
|
|
13834
|
-
/* concated harmony reexport MediaTypeModel */__webpack_require__.d(__webpack_exports__, "MediaTypeModel", function() { return MediaType_MediaTypeModel; });
|
|
13835
|
-
/* concated harmony reexport ResponseModel */__webpack_require__.d(__webpack_exports__, "ResponseModel", function() { return Response_ResponseModel; });
|
|
13836
|
-
/* concated harmony reexport SchemaModel */__webpack_require__.d(__webpack_exports__, "SchemaModel", function() { return Schema_SchemaModel; });
|
|
13837
|
-
/* concated harmony reexport FieldModel */__webpack_require__.d(__webpack_exports__, "FieldModel", function() { return Field_FieldModel; });
|
|
13838
|
-
/* concated harmony reexport JsonPointer */__webpack_require__.d(__webpack_exports__, "JsonPointer", function() { return JsonPointer_JsonPointer; });
|
|
13839
|
-
/* concated harmony reexport isStatusCode */__webpack_require__.d(__webpack_exports__, "isStatusCode", function() { return isStatusCode; });
|
|
13840
|
-
/* concated harmony reexport getStatusCodeType */__webpack_require__.d(__webpack_exports__, "getStatusCodeType", function() { return getStatusCodeType; });
|
|
13841
|
-
/* concated harmony reexport isOperationName */__webpack_require__.d(__webpack_exports__, "isOperationName", function() { return isOperationName; });
|
|
13842
|
-
/* concated harmony reexport getOperationSummary */__webpack_require__.d(__webpack_exports__, "getOperationSummary", function() { return getOperationSummary; });
|
|
13843
|
-
/* concated harmony reexport detectType */__webpack_require__.d(__webpack_exports__, "detectType", function() { return detectType; });
|
|
13844
|
-
/* concated harmony reexport isPrimitiveType */__webpack_require__.d(__webpack_exports__, "isPrimitiveType", function() { return isPrimitiveType; });
|
|
13845
|
-
/* concated harmony reexport isJsonLike */__webpack_require__.d(__webpack_exports__, "isJsonLike", function() { return isJsonLike; });
|
|
13846
|
-
/* concated harmony reexport isFormUrlEncoded */__webpack_require__.d(__webpack_exports__, "isFormUrlEncoded", function() { return isFormUrlEncoded; });
|
|
13847
|
-
/* concated harmony reexport urlFormEncodePayload */__webpack_require__.d(__webpack_exports__, "urlFormEncodePayload", function() { return urlFormEncodePayload; });
|
|
13848
|
-
/* concated harmony reexport serializeParameterValueWithMime */__webpack_require__.d(__webpack_exports__, "serializeParameterValueWithMime", function() { return serializeParameterValueWithMime; });
|
|
13849
|
-
/* concated harmony reexport serializeParameterValue */__webpack_require__.d(__webpack_exports__, "serializeParameterValue", function() { return serializeParameterValue; });
|
|
13850
|
-
/* concated harmony reexport langFromMime */__webpack_require__.d(__webpack_exports__, "langFromMime", function() { return langFromMime; });
|
|
13851
|
-
/* concated harmony reexport isNamedDefinition */__webpack_require__.d(__webpack_exports__, "isNamedDefinition", function() { return isNamedDefinition; });
|
|
13852
|
-
/* concated harmony reexport humanizeConstraints */__webpack_require__.d(__webpack_exports__, "humanizeConstraints", function() { return humanizeConstraints; });
|
|
13853
|
-
/* concated harmony reexport sortByRequired */__webpack_require__.d(__webpack_exports__, "sortByRequired", function() { return sortByRequired; });
|
|
13854
|
-
/* concated harmony reexport sortByField */__webpack_require__.d(__webpack_exports__, "sortByField", function() { return sortByField; });
|
|
13855
|
-
/* concated harmony reexport mergeParams */__webpack_require__.d(__webpack_exports__, "mergeParams", function() { return mergeParams; });
|
|
13856
|
-
/* concated harmony reexport mergeSimilarMediaTypes */__webpack_require__.d(__webpack_exports__, "mergeSimilarMediaTypes", function() { return mergeSimilarMediaTypes; });
|
|
13857
|
-
/* concated harmony reexport expandDefaultServerVariables */__webpack_require__.d(__webpack_exports__, "expandDefaultServerVariables", function() { return expandDefaultServerVariables; });
|
|
13858
|
-
/* concated harmony reexport normalizeServers */__webpack_require__.d(__webpack_exports__, "normalizeServers", function() { return normalizeServers; });
|
|
13859
|
-
/* concated harmony reexport SECURITY_DEFINITIONS_COMPONENT_NAME */__webpack_require__.d(__webpack_exports__, "SECURITY_DEFINITIONS_COMPONENT_NAME", function() { return SECURITY_DEFINITIONS_COMPONENT_NAME; });
|
|
13860
|
-
/* concated harmony reexport SECURITY_DEFINITIONS_JSX_NAME */__webpack_require__.d(__webpack_exports__, "SECURITY_DEFINITIONS_JSX_NAME", function() { return SECURITY_DEFINITIONS_JSX_NAME; });
|
|
13861
|
-
/* concated harmony reexport SCHEMA_DEFINITION_JSX_NAME */__webpack_require__.d(__webpack_exports__, "SCHEMA_DEFINITION_JSX_NAME", function() { return SCHEMA_DEFINITION_JSX_NAME; });
|
|
13862
|
-
/* concated harmony reexport SECURITY_SCHEMES_SECTION_PREFIX */__webpack_require__.d(__webpack_exports__, "SECURITY_SCHEMES_SECTION_PREFIX", function() { return SECURITY_SCHEMES_SECTION_PREFIX; });
|
|
13863
|
-
/* concated harmony reexport setSecuritySchemePrefix */__webpack_require__.d(__webpack_exports__, "setSecuritySchemePrefix", function() { return setSecuritySchemePrefix; });
|
|
13864
|
-
/* concated harmony reexport shortenHTTPVerb */__webpack_require__.d(__webpack_exports__, "shortenHTTPVerb", function() { return shortenHTTPVerb; });
|
|
13865
|
-
/* concated harmony reexport isRedocExtension */__webpack_require__.d(__webpack_exports__, "isRedocExtension", function() { return isRedocExtension; });
|
|
13866
|
-
/* concated harmony reexport extractExtensions */__webpack_require__.d(__webpack_exports__, "extractExtensions", function() { return extractExtensions; });
|
|
13867
|
-
/* concated harmony reexport pluralizeType */__webpack_require__.d(__webpack_exports__, "pluralizeType", function() { return pluralizeType; });
|
|
13868
|
-
/* concated harmony reexport mapWithLast */__webpack_require__.d(__webpack_exports__, "mapWithLast", function() { return mapWithLast; });
|
|
13869
|
-
/* concated harmony reexport mapValues */__webpack_require__.d(__webpack_exports__, "mapValues", function() { return mapValues; });
|
|
13870
|
-
/* concated harmony reexport flattenByProp */__webpack_require__.d(__webpack_exports__, "flattenByProp", function() { return flattenByProp; });
|
|
13871
|
-
/* concated harmony reexport stripTrailingSlash */__webpack_require__.d(__webpack_exports__, "stripTrailingSlash", function() { return stripTrailingSlash; });
|
|
13872
|
-
/* concated harmony reexport isNumeric */__webpack_require__.d(__webpack_exports__, "isNumeric", function() { return isNumeric; });
|
|
13873
|
-
/* concated harmony reexport appendToMdHeading */__webpack_require__.d(__webpack_exports__, "appendToMdHeading", function() { return appendToMdHeading; });
|
|
13874
|
-
/* concated harmony reexport mergeObjects */__webpack_require__.d(__webpack_exports__, "mergeObjects", function() { return mergeObjects; });
|
|
13875
|
-
/* concated harmony reexport safeSlugify */__webpack_require__.d(__webpack_exports__, "safeSlugify", function() { return safeSlugify; });
|
|
13876
|
-
/* concated harmony reexport isAbsoluteUrl */__webpack_require__.d(__webpack_exports__, "isAbsoluteUrl", function() { return isAbsoluteUrl; });
|
|
13877
|
-
/* concated harmony reexport resolveUrl */__webpack_require__.d(__webpack_exports__, "resolveUrl", function() { return resolveUrl; });
|
|
13878
|
-
/* concated harmony reexport getBasePath */__webpack_require__.d(__webpack_exports__, "getBasePath", function() { return getBasePath; });
|
|
13879
|
-
/* concated harmony reexport titleize */__webpack_require__.d(__webpack_exports__, "titleize", function() { return titleize; });
|
|
13880
|
-
/* concated harmony reexport removeQueryString */__webpack_require__.d(__webpack_exports__, "removeQueryString", function() { return removeQueryString; });
|
|
13881
|
-
/* concated harmony reexport unescapeHTMLChars */__webpack_require__.d(__webpack_exports__, "unescapeHTMLChars", function() { return unescapeHTMLChars; });
|
|
13882
|
-
/* concated harmony reexport mapLang */__webpack_require__.d(__webpack_exports__, "mapLang", function() { return mapLang; });
|
|
13883
|
-
/* concated harmony reexport highlight */__webpack_require__.d(__webpack_exports__, "highlight", function() { return highlight; });
|
|
13884
|
-
/* concated harmony reexport loadAndBundleSpec */__webpack_require__.d(__webpack_exports__, "loadAndBundleSpec", function() { return loadAndBundleSpec; });
|
|
13885
|
-
/* concated harmony reexport convertSwagger2OpenAPI */__webpack_require__.d(__webpack_exports__, "convertSwagger2OpenAPI", function() { return convertSwagger2OpenAPI; });
|
|
13886
|
-
/* concated harmony reexport IS_BROWSER */__webpack_require__.d(__webpack_exports__, "IS_BROWSER", function() { return IS_BROWSER; });
|
|
13887
|
-
/* concated harmony reexport querySelector */__webpack_require__.d(__webpack_exports__, "querySelector", function() { return querySelector; });
|
|
13888
|
-
/* concated harmony reexport html2Str */__webpack_require__.d(__webpack_exports__, "html2Str", function() { return html2Str; });
|
|
13889
|
-
/* concated harmony reexport Throttle */__webpack_require__.d(__webpack_exports__, "Throttle", function() { return Throttle; });
|
|
13890
|
-
/* concated harmony reexport debugTime */__webpack_require__.d(__webpack_exports__, "debugTime", function() { return debugTime; });
|
|
13891
|
-
/* concated harmony reexport debugTimeEnd */__webpack_require__.d(__webpack_exports__, "debugTimeEnd", function() { return debugTimeEnd; });
|
|
13892
|
-
/* concated harmony reexport memoize */__webpack_require__.d(__webpack_exports__, "memoize", function() { return memoize; });
|
|
13893
|
-
/* concated harmony reexport media */__webpack_require__.d(__webpack_exports__, "media", function() { return media; });
|
|
13894
|
-
/* concated harmony reexport css */__webpack_require__.d(__webpack_exports__, "css", function() { return css; });
|
|
13895
|
-
/* concated harmony reexport createGlobalStyle */__webpack_require__.d(__webpack_exports__, "createGlobalStyle", function() { return createGlobalStyle; });
|
|
13896
|
-
/* concated harmony reexport keyframes */__webpack_require__.d(__webpack_exports__, "keyframes", function() { return keyframes; });
|
|
13897
|
-
/* concated harmony reexport ThemeProvider */__webpack_require__.d(__webpack_exports__, "ThemeProvider", function() { return ThemeProvider; });
|
|
13898
|
-
/* concated harmony reexport extensionsHook */__webpack_require__.d(__webpack_exports__, "extensionsHook", function() { return extensionsHook; });
|
|
13899
|
-
/* concated harmony reexport styled */__webpack_require__.d(__webpack_exports__, "styled", function() { return styled_components; });
|
|
13900
14023
|
|
|
13901
14024
|
|
|
13902
14025
|
|