diff --git a/.babelrc b/.babelrc
index 60c39710..5672c7aa 100644
--- a/.babelrc
+++ b/.babelrc
@@ -5,7 +5,6 @@
{
"targets": "> 0.25%, not dead"
}
- ],
- "minify"
+ ]
]
}
diff --git a/assets/js/theme.js b/assets/js/theme.js
new file mode 100644
index 00000000..ebc386be
--- /dev/null
+++ b/assets/js/theme.js
@@ -0,0 +1,1033 @@
+"use strict";
+
+function _objectDestructuringEmpty(obj) { if (obj == null) throw new TypeError("Cannot destructure undefined"); }
+
+function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
+
+function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
+
+function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
+
+function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
+
+function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
+
+function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
+
+function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
+
+function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
+
+function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
+
+var Util = /*#__PURE__*/function () {
+ function Util() {
+ _classCallCheck(this, Util);
+ }
+
+ _createClass(Util, [{
+ key: "forEach",
+ value: function forEach(elements, handler) {
+ elements = elements || [];
+
+ for (var i = 0; i < elements.length; i++) {
+ handler(elements[i]);
+ }
+ }
+ }, {
+ key: "getScrollTop",
+ value: function getScrollTop() {
+ return document.documentElement && document.documentElement.scrollTop || document.body.scrollTop;
+ }
+ }, {
+ key: "isMobile",
+ value: function isMobile() {
+ return window.matchMedia('only screen and (max-width: 680px)').matches;
+ }
+ }, {
+ key: "isTocStatic",
+ value: function isTocStatic() {
+ return window.matchMedia('only screen and (max-width: 960px)').matches;
+ }
+ }, {
+ key: "animateCSS",
+ value: function animateCSS(element, animation, reserved, callback) {
+ var _element$classList;
+
+ if (!Array.isArray(animation)) animation = [animation];
+
+ (_element$classList = element.classList).add.apply(_element$classList, ['animated'].concat(_toConsumableArray(animation)));
+
+ var handler = function handler() {
+ var _element$classList2;
+
+ (_element$classList2 = element.classList).remove.apply(_element$classList2, ['animated'].concat(_toConsumableArray(animation)));
+
+ element.removeEventListener('animationend', handler);
+ if (typeof callback === 'function') callback();
+ };
+
+ if (!reserved) element.addEventListener('animationend', handler, false);
+ }
+ }]);
+
+ return Util;
+}();
+
+var Theme = /*#__PURE__*/function () {
+ function Theme() {
+ _classCallCheck(this, Theme);
+
+ this.config = window.config;
+ this.data = this.config.data;
+ this.isDark = document.body.getAttribute('theme') === 'dark';
+ this.util = new Util();
+ this.newScrollTop = this.util.getScrollTop();
+ this.oldScrollTop = this.newScrollTop;
+ this.scrollEventSet = new Set();
+ this.resizeEventSet = new Set();
+ this.switchThemeEventSet = new Set();
+ this.clickMaskEventSet = new Set();
+ if (window.objectFitImages) objectFitImages();
+ }
+
+ _createClass(Theme, [{
+ key: "initSVGIcon",
+ value: function initSVGIcon() {
+ this.util.forEach(document.querySelectorAll('[data-svg-src]'), function ($icon) {
+ fetch($icon.getAttribute('data-svg-src')).then(function (response) {
+ return response.text();
+ }).then(function (svg) {
+ var $temp = document.createElement('div');
+ $temp.insertAdjacentHTML('afterbegin', svg);
+ var $svg = $temp.firstChild;
+ $svg.setAttribute('data-svg-src', $icon.getAttribute('data-svg-src'));
+ $svg.classList.add('icon');
+ var $titleElements = $svg.getElementsByTagName('title');
+ if ($titleElements.length) $svg.removeChild($titleElements[0]);
+ $icon.parentElement.replaceChild($svg, $icon);
+ }).catch(function (err) {
+ console.error(err);
+ });
+ });
+ }
+ }, {
+ key: "initTwemoji",
+ value: function initTwemoji() {
+ if (this.config.twemoji) twemoji.parse(document.body);
+ }
+ }, {
+ key: "initMenuMobile",
+ value: function initMenuMobile() {
+ var $menuToggleMobile = document.getElementById('menu-toggle-mobile');
+ var $menuMobile = document.getElementById('menu-mobile');
+ $menuToggleMobile.addEventListener('click', function () {
+ document.body.classList.toggle('blur');
+ $menuToggleMobile.classList.toggle('active');
+ $menuMobile.classList.toggle('active');
+ }, false);
+
+ this._menuMobileOnClickMask = this._menuMobileOnClickMask || function () {
+ $menuToggleMobile.classList.remove('active');
+ $menuMobile.classList.remove('active');
+ };
+
+ this.clickMaskEventSet.add(this._menuMobileOnClickMask);
+ }
+ }, {
+ key: "initSwitchTheme",
+ value: function initSwitchTheme() {
+ var _this = this;
+
+ this.util.forEach(document.getElementsByClassName('theme-switch'), function ($themeSwitch) {
+ $themeSwitch.addEventListener('click', function () {
+ if (document.body.getAttribute('theme') === 'dark') document.body.setAttribute('theme', 'light');else document.body.setAttribute('theme', 'dark');
+ _this.isDark = !_this.isDark;
+ window.localStorage && localStorage.setItem('theme', _this.isDark ? 'dark' : 'light');
+
+ var _iterator = _createForOfIteratorHelper(_this.switchThemeEventSet),
+ _step;
+
+ try {
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
+ var event = _step.value;
+ event();
+ }
+ } catch (err) {
+ _iterator.e(err);
+ } finally {
+ _iterator.f();
+ }
+ }, false);
+ });
+ }
+ }, {
+ key: "initSearch",
+ value: function initSearch() {
+ var _this2 = this;
+
+ var searchConfig = this.config.search;
+ var isMobile = this.util.isMobile();
+ if (!searchConfig || isMobile && this._searchMobileOnce || !isMobile && this._searchDesktopOnce) return;
+ var maxResultLength = searchConfig.maxResultLength ? searchConfig.maxResultLength : 10;
+ var snippetLength = searchConfig.snippetLength ? searchConfig.snippetLength : 50;
+ var highlightTag = searchConfig.highlightTag ? searchConfig.highlightTag : 'em';
+ var suffix = isMobile ? 'mobile' : 'desktop';
+ var $header = document.getElementById("header-".concat(suffix));
+ var $searchInput = document.getElementById("search-input-".concat(suffix));
+ var $searchToggle = document.getElementById("search-toggle-".concat(suffix));
+ var $searchLoading = document.getElementById("search-loading-".concat(suffix));
+ var $searchClear = document.getElementById("search-clear-".concat(suffix));
+
+ if (isMobile) {
+ this._searchMobileOnce = true;
+ $searchInput.addEventListener('focus', function () {
+ document.body.classList.add('blur');
+ $header.classList.add('open');
+ }, false);
+ document.getElementById('search-cancel-mobile').addEventListener('click', function () {
+ $header.classList.remove('open');
+ document.body.classList.remove('blur');
+ document.getElementById('menu-toggle-mobile').classList.remove('active');
+ document.getElementById('menu-mobile').classList.remove('active');
+ $searchLoading.style.display = 'none';
+ $searchClear.style.display = 'none';
+ _this2._searchMobile && _this2._searchMobile.autocomplete.setVal('');
+ }, false);
+ $searchClear.addEventListener('click', function () {
+ $searchClear.style.display = 'none';
+ _this2._searchMobile && _this2._searchMobile.autocomplete.setVal('');
+ }, false);
+
+ this._searchMobileOnClickMask = this._searchMobileOnClickMask || function () {
+ $header.classList.remove('open');
+ $searchLoading.style.display = 'none';
+ $searchClear.style.display = 'none';
+ _this2._searchMobile && _this2._searchMobile.autocomplete.setVal('');
+ };
+
+ this.clickMaskEventSet.add(this._searchMobileOnClickMask);
+ } else {
+ this._searchDesktopOnce = true;
+ $searchToggle.addEventListener('click', function () {
+ document.body.classList.add('blur');
+ $header.classList.add('open');
+ $searchInput.focus();
+ }, false);
+ $searchClear.addEventListener('click', function () {
+ $searchClear.style.display = 'none';
+ _this2._searchDesktop && _this2._searchDesktop.autocomplete.setVal('');
+ }, false);
+
+ this._searchDesktopOnClickMask = this._searchDesktopOnClickMask || function () {
+ $header.classList.remove('open');
+ $searchLoading.style.display = 'none';
+ $searchClear.style.display = 'none';
+ _this2._searchDesktop && _this2._searchDesktop.autocomplete.setVal('');
+ };
+
+ this.clickMaskEventSet.add(this._searchDesktopOnClickMask);
+ }
+
+ $searchInput.addEventListener('input', function () {
+ if ($searchInput.value === '') $searchClear.style.display = 'none';else $searchClear.style.display = 'inline';
+ }, false);
+
+ var initAutosearch = function initAutosearch() {
+ var autosearch = autocomplete("#search-input-".concat(suffix), {
+ hint: false,
+ autoselect: true,
+ dropdownMenuContainer: "#search-dropdown-".concat(suffix),
+ clearOnSelected: true,
+ cssClasses: {
+ noPrefix: true
+ },
+ debug: true
+ }, {
+ name: 'search',
+ source: function source(query, callback) {
+ $searchLoading.style.display = 'inline';
+ $searchClear.style.display = 'none';
+
+ var finish = function finish(results) {
+ $searchLoading.style.display = 'none';
+ $searchClear.style.display = 'inline';
+ callback(results);
+ };
+
+ if (searchConfig.type === 'lunr') {
+ var search = function search() {
+ if (lunr.queryHandler) query = lunr.queryHandler(query);
+ var results = {};
+
+ _this2._index.search(query).forEach(function (_ref) {
+ var ref = _ref.ref,
+ metadata = _ref.matchData.metadata;
+ var matchData = _this2._indexData[ref];
+ var uri = matchData.uri,
+ title = matchData.title,
+ context = matchData.content;
+ if (results[uri]) return;
+ var position = 0;
+ Object.values(metadata).forEach(function (_ref2) {
+ var content = _ref2.content;
+
+ if (content) {
+ var matchPosition = content.position[0][0];
+ if (matchPosition < position || position === 0) position = matchPosition;
+ }
+ });
+ position -= snippetLength / 5;
+
+ if (position > 0) {
+ position += context.substr(position, 20).lastIndexOf(' ') + 1;
+ context = '...' + context.substr(position, snippetLength);
+ } else {
+ context = context.substr(0, snippetLength);
+ }
+
+ Object.keys(metadata).forEach(function (key) {
+ title = title.replace(new RegExp("(".concat(key, ")"), 'gi'), "<".concat(highlightTag, ">$1").concat(highlightTag, ">"));
+ context = context.replace(new RegExp("(".concat(key, ")"), 'gi'), "<".concat(highlightTag, ">$1").concat(highlightTag, ">"));
+ });
+ results[uri] = {
+ 'uri': uri,
+ 'title': title,
+ 'date': matchData.date,
+ 'context': context
+ };
+ });
+
+ return Object.values(results).slice(0, maxResultLength);
+ };
+
+ if (!_this2._index) {
+ fetch(searchConfig.lunrIndexURL).then(function (response) {
+ return response.json();
+ }).then(function (data) {
+ var indexData = {};
+ _this2._index = lunr(function () {
+ var _this3 = this;
+
+ if (searchConfig.lunrLanguageCode) this.use(lunr[searchConfig.lunrLanguageCode]);
+ this.ref('objectID');
+ this.field('title', {
+ boost: 50
+ });
+ this.field('tags', {
+ boost: 20
+ });
+ this.field('categories', {
+ boost: 20
+ });
+ this.field('content', {
+ boost: 10
+ });
+ this.metadataWhitelist = ['position'];
+ data.forEach(function (record) {
+ indexData[record.objectID] = record;
+
+ _this3.add(record);
+ });
+ });
+ _this2._indexData = indexData;
+ finish(search());
+ }).catch(function (err) {
+ console.error(err);
+ finish([]);
+ });
+ } else finish(search());
+ } else if (searchConfig.type === 'algolia') {
+ _this2._algoliaIndex = _this2._algoliaIndex || algoliasearch(searchConfig.algoliaAppID, searchConfig.algoliaSearchKey).initIndex(searchConfig.algoliaIndex);
+
+ _this2._algoliaIndex.search(query, {
+ offset: 0,
+ length: maxResultLength * 8,
+ attributesToHighlight: ['title'],
+ attributesToSnippet: ["content:".concat(snippetLength)],
+ highlightPreTag: "<".concat(highlightTag, ">"),
+ highlightPostTag: "".concat(highlightTag, ">")
+ }).then(function (_ref3) {
+ var hits = _ref3.hits;
+ var results = {};
+ hits.forEach(function (_ref4) {
+ var uri = _ref4.uri,
+ date = _ref4.date,
+ title = _ref4._highlightResult.title,
+ content = _ref4._snippetResult.content;
+ if (results[uri] && results[uri].context.length > content.value) return;
+ results[uri] = {
+ uri: uri,
+ title: title.value,
+ date: date,
+ context: content.value
+ };
+ });
+ finish(Object.values(results).slice(0, maxResultLength));
+ }).catch(function (err) {
+ console.error(err);
+ finish([]);
+ });
+ }
+ },
+ templates: {
+ suggestion: function suggestion(_ref5) {
+ var title = _ref5.title,
+ date = _ref5.date,
+ context = _ref5.context;
+ return "
".concat(title, "").concat(date, "
").concat(context, "
");
+ },
+ empty: function empty(_ref6) {
+ var query = _ref6.query;
+ return "".concat(searchConfig.noResultsFound, ": \"").concat(query, "\"
");
+ },
+ footer: function footer(_ref7) {
+ _objectDestructuringEmpty(_ref7);
+
+ var _ref8 = searchConfig.type === 'algolia' ? {
+ searchType: 'algolia',
+ icon: '',
+ href: 'https://www.algolia.com/'
+ } : {
+ searchType: 'Lunr.js',
+ icon: '',
+ href: 'https://lunrjs.com/'
+ },
+ searchType = _ref8.searchType,
+ icon = _ref8.icon,
+ href = _ref8.href;
+
+ return "");
+ }
+ }
+ });
+ autosearch.on('autocomplete:selected', function (_event, suggestion, _dataset, _context) {
+ window.location.assign(suggestion.uri);
+ });
+ if (isMobile) _this2._searchMobile = autosearch;else _this2._searchDesktop = autosearch;
+ };
+
+ if (searchConfig.lunrSegmentitURL && !document.getElementById('lunr-segmentit')) {
+ var script = document.createElement('script');
+ script.id = 'lunr-segmentit';
+ script.type = 'text/javascript';
+ script.src = searchConfig.lunrSegmentitURL;
+ script.async = true;
+
+ if (script.readyState) {
+ script.onreadystatechange = function () {
+ if (script.readyState == 'loaded' || script.readyState == 'complete') {
+ script.onreadystatechange = null;
+ initAutosearch();
+ }
+ };
+ } else {
+ script.onload = function () {
+ initAutosearch();
+ };
+ }
+
+ document.body.appendChild(script);
+ } else initAutosearch();
+ }
+ }, {
+ key: "initDetails",
+ value: function initDetails() {
+ this.util.forEach(document.getElementsByClassName('details'), function ($details) {
+ var $summary = $details.getElementsByClassName('details-summary')[0];
+ $summary.addEventListener('click', function () {
+ $details.classList.toggle('open');
+ }, false);
+ });
+ }
+ }, {
+ key: "initLightGallery",
+ value: function initLightGallery() {
+ if (this.config.lightGallery) lightGallery(document.getElementById('content'), this.config.lightGallery);
+ }
+ }, {
+ key: "initHighlight",
+ value: function initHighlight() {
+ var _this4 = this;
+
+ this.util.forEach(document.querySelectorAll('.highlight > pre.chroma'), function ($preChroma) {
+ var $chroma = document.createElement('div');
+ $chroma.className = $preChroma.className;
+ var $table = document.createElement('table');
+ $chroma.appendChild($table);
+ var $tbody = document.createElement('tbody');
+ $table.appendChild($tbody);
+ var $tr = document.createElement('tr');
+ $tbody.appendChild($tr);
+ var $td = document.createElement('td');
+ $tr.appendChild($td);
+ $preChroma.parentElement.replaceChild($chroma, $preChroma);
+ $td.appendChild($preChroma);
+ });
+ this.util.forEach(document.querySelectorAll('.highlight > .chroma'), function ($chroma) {
+ var $codeElements = $chroma.querySelectorAll('pre.chroma > code');
+
+ if ($codeElements.length) {
+ var $code = $codeElements[$codeElements.length - 1];
+ var $header = document.createElement('div');
+ $header.className = 'code-header ' + $code.className.toLowerCase();
+ var $title = document.createElement('span');
+ $title.classList.add('code-title');
+ $title.insertAdjacentHTML('afterbegin', '');
+ $title.addEventListener('click', function () {
+ $chroma.classList.toggle('open');
+ }, false);
+ $header.appendChild($title);
+ var $ellipses = document.createElement('span');
+ $ellipses.insertAdjacentHTML('afterbegin', '');
+ $ellipses.classList.add('ellipses');
+ $ellipses.addEventListener('click', function () {
+ $chroma.classList.add('open');
+ }, false);
+ $header.appendChild($ellipses);
+ var $copy = document.createElement('span');
+ $copy.insertAdjacentHTML('afterbegin', '');
+ $copy.classList.add('copy');
+ var code = $code.innerText;
+ if (_this4.config.code.maxShownLines < 0 || code.split('\n').length < _this4.config.code.maxShownLines + 2) $chroma.classList.add('open');
+
+ if (_this4.config.code.copyTitle) {
+ $copy.setAttribute('data-clipboard-text', code);
+ $copy.title = _this4.config.code.copyTitle;
+ var clipboard = new ClipboardJS($copy);
+ clipboard.on('success', function (_e) {
+ _this4.util.animateCSS($code, 'flash');
+ });
+ $header.appendChild($copy);
+ }
+
+ $chroma.insertBefore($header, $chroma.firstChild);
+ }
+ });
+ }
+ }, {
+ key: "initTable",
+ value: function initTable() {
+ this.util.forEach(document.querySelectorAll('.content table'), function ($table) {
+ var $wrapper = document.createElement('div');
+ $wrapper.className = 'table-wrapper';
+ $table.parentElement.replaceChild($wrapper, $table);
+ $wrapper.appendChild($table);
+ });
+ }
+ }, {
+ key: "initHeaderLink",
+ value: function initHeaderLink() {
+ for (var num = 1; num <= 6; num++) {
+ this.util.forEach(document.querySelectorAll('.single .content > h' + num), function ($header) {
+ $header.classList.add('headerLink');
+ $header.insertAdjacentHTML('afterbegin', ""));
+ });
+ }
+ }
+ }, {
+ key: "initToc",
+ value: function initToc() {
+ var _this5 = this;
+
+ var $tocCore = document.getElementById('TableOfContents');
+ if ($tocCore === null) return;
+
+ if (document.getElementById('toc-static').getAttribute('data-kept') || this.util.isTocStatic()) {
+ var $tocContentStatic = document.getElementById('toc-content-static');
+
+ if ($tocCore.parentElement !== $tocContentStatic) {
+ $tocCore.parentElement.removeChild($tocCore);
+ $tocContentStatic.appendChild($tocCore);
+ }
+
+ if (this._tocOnScroll) this.scrollEventSet.delete(this._tocOnScroll);
+ } else {
+ var $tocContentAuto = document.getElementById('toc-content-auto');
+
+ if ($tocCore.parentElement !== $tocContentAuto) {
+ $tocCore.parentElement.removeChild($tocCore);
+ $tocContentAuto.appendChild($tocCore);
+ }
+
+ var $toc = document.getElementById('toc-auto');
+ var $page = document.getElementsByClassName('page')[0];
+ var rect = $page.getBoundingClientRect();
+ $toc.style.left = "".concat(rect.left + rect.width + 20, "px");
+ $toc.style.maxWidth = "".concat($page.getBoundingClientRect().left - 20, "px");
+ $toc.style.visibility = 'visible';
+ var $tocLinkElements = $tocCore.querySelectorAll('a:first-child');
+ var $tocLiElements = $tocCore.getElementsByTagName('li');
+ var $headerLinkElements = document.getElementsByClassName('headerLink');
+ var headerIsFixed = document.body.getAttribute('data-header-desktop') !== 'normal';
+ var headerHeight = document.getElementById('header-desktop').offsetHeight;
+ var TOP_SPACING = 20 + (headerIsFixed ? headerHeight : 0);
+ var minTocTop = $toc.offsetTop;
+ var minScrollTop = minTocTop - TOP_SPACING + (headerIsFixed ? 0 : headerHeight);
+
+ this._tocOnScroll = this._tocOnScroll || function () {
+ var footerTop = document.getElementById('post-footer').offsetTop;
+ var maxTocTop = footerTop - $toc.getBoundingClientRect().height;
+ var maxScrollTop = maxTocTop - TOP_SPACING + (headerIsFixed ? 0 : headerHeight);
+
+ if (_this5.newScrollTop < minScrollTop) {
+ $toc.style.position = 'absolute';
+ $toc.style.top = "".concat(minTocTop, "px");
+ } else if (_this5.newScrollTop > maxScrollTop) {
+ $toc.style.position = 'absolute';
+ $toc.style.top = "".concat(maxTocTop, "px");
+ } else {
+ $toc.style.position = 'fixed';
+ $toc.style.top = "".concat(TOP_SPACING, "px");
+ }
+
+ _this5.util.forEach($tocLinkElements, function ($tocLink) {
+ $tocLink.classList.remove('active');
+ });
+
+ _this5.util.forEach($tocLiElements, function ($tocLi) {
+ $tocLi.classList.remove('has-active');
+ });
+
+ var INDEX_SPACING = 20 + (headerIsFixed ? headerHeight : 0);
+ var activeTocIndex = $headerLinkElements.length - 1;
+
+ for (var i = 0; i < $headerLinkElements.length - 1; i++) {
+ var thisTop = $headerLinkElements[i].getBoundingClientRect().top;
+ var nextTop = $headerLinkElements[i + 1].getBoundingClientRect().top;
+
+ if (i == 0 && thisTop > INDEX_SPACING || thisTop <= INDEX_SPACING && nextTop > INDEX_SPACING) {
+ activeTocIndex = i;
+ break;
+ }
+ }
+
+ if (activeTocIndex !== -1) {
+ $tocLinkElements[activeTocIndex].classList.add('active');
+ var $parent = $tocLinkElements[activeTocIndex].parentElement;
+
+ while ($parent !== $tocCore) {
+ $parent.classList.add('has-active');
+ $parent = $parent.parentElement.parentElement;
+ }
+ }
+ };
+
+ this._tocOnScroll();
+
+ this.scrollEventSet.add(this._tocOnScroll);
+ }
+ }
+ }, {
+ key: "initMath",
+ value: function initMath() {
+ if (this.config.math) renderMathInElement(document.body, this.config.math);
+ }
+ }, {
+ key: "initMermaid",
+ value: function initMermaid() {
+ var _this6 = this;
+
+ var $mermaidElements = document.getElementsByClassName('mermaid');
+
+ if ($mermaidElements.length) {
+ mermaid.initialize({
+ startOnLoad: false,
+ theme: 'null'
+ });
+ this.util.forEach($mermaidElements, function ($mermaid) {
+ mermaid.mermaidAPI.render('svg-' + $mermaid.id, _this6.data[$mermaid.id], function (svgCode) {
+ $mermaid.insertAdjacentHTML('afterbegin', svgCode);
+ }, $mermaid);
+ });
+ }
+ }
+ }, {
+ key: "initEcharts",
+ value: function initEcharts() {
+ var _this7 = this;
+
+ this._echartsOnSwitchTheme = this._echartsOnSwitchTheme || function () {
+ _this7._echartsArr = _this7._echartsArr || [];
+
+ for (var i = 0; i < _this7._echartsArr.length; i++) {
+ _this7._echartsArr[i].dispose();
+ }
+
+ _this7._echartsArr = [];
+
+ _this7.util.forEach(document.getElementsByClassName('echarts'), function ($echarts) {
+ var chart = echarts.init($echarts, _this7.isDark ? 'dark' : 'macarons', {
+ renderer: 'svg'
+ });
+ chart.setOption(JSON.parse(_this7.data[$echarts.id]));
+
+ _this7._echartsArr.push(chart);
+ });
+ };
+
+ this.switchThemeEventSet.add(this._echartsOnSwitchTheme);
+
+ this._echartsOnSwitchTheme();
+
+ this._echartsOnResize = this._echartsOnResize || function () {
+ for (var i = 0; i < _this7._echartsArr.length; i++) {
+ _this7._echartsArr[i].resize();
+ }
+ };
+
+ this.resizeEventSet.add(this._echartsOnResize);
+ }
+ }, {
+ key: "initMapbox",
+ value: function initMapbox() {
+ var _this8 = this;
+
+ if (this.config.mapbox) {
+ mapboxgl.accessToken = this.config.mapbox.accessToken;
+ mapboxgl.setRTLTextPlugin(this.config.mapbox.RTLTextPlugin);
+ this._mapboxArr = this._mapboxArr || [];
+ this.util.forEach(document.getElementsByClassName('mapbox'), function ($mapbox) {
+ var _this8$data$$mapbox$i = _this8.data[$mapbox.id],
+ lng = _this8$data$$mapbox$i.lng,
+ lat = _this8$data$$mapbox$i.lat,
+ zoom = _this8$data$$mapbox$i.zoom,
+ lightStyle = _this8$data$$mapbox$i.lightStyle,
+ darkStyle = _this8$data$$mapbox$i.darkStyle,
+ marked = _this8$data$$mapbox$i.marked,
+ navigation = _this8$data$$mapbox$i.navigation,
+ geolocate = _this8$data$$mapbox$i.geolocate,
+ scale = _this8$data$$mapbox$i.scale,
+ fullscreen = _this8$data$$mapbox$i.fullscreen;
+ var mapbox = new mapboxgl.Map({
+ container: $mapbox,
+ center: [lng, lat],
+ zoom: zoom,
+ minZoom: .2,
+ style: _this8.isDark ? darkStyle : lightStyle,
+ attributionControl: false
+ });
+
+ if (marked) {
+ new mapboxgl.Marker().setLngLat([lng, lat]).addTo(mapbox);
+ }
+
+ if (navigation) {
+ mapbox.addControl(new mapboxgl.NavigationControl(), 'bottom-right');
+ }
+
+ if (geolocate) {
+ mapbox.addControl(new mapboxgl.GeolocateControl({
+ positionOptions: {
+ enableHighAccuracy: true
+ },
+ showUserLocation: true,
+ trackUserLocation: true
+ }), 'bottom-right');
+ }
+
+ if (scale) {
+ mapbox.addControl(new mapboxgl.ScaleControl());
+ }
+
+ if (fullscreen) {
+ mapbox.addControl(new mapboxgl.FullscreenControl());
+ }
+
+ mapbox.addControl(new MapboxLanguage());
+
+ _this8._mapboxArr.push(mapbox);
+ });
+
+ this._mapboxOnSwitchTheme = this._mapboxOnSwitchTheme || function () {
+ _this8.util.forEach(_this8._mapboxArr, function (mapbox) {
+ var $mapbox = mapbox.getContainer();
+ var _this8$data$$mapbox$i2 = _this8.data[$mapbox.id],
+ lightStyle = _this8$data$$mapbox$i2.lightStyle,
+ darkStyle = _this8$data$$mapbox$i2.darkStyle;
+ mapbox.setStyle(_this8.isDark ? darkStyle : lightStyle);
+ mapbox.addControl(new MapboxLanguage());
+ });
+ };
+
+ this.switchThemeEventSet.add(this._mapboxOnSwitchTheme);
+ }
+ }
+ }, {
+ key: "initTypeit",
+ value: function initTypeit() {
+ var _this9 = this;
+
+ if (this.config.typeit) {
+ var typeitConfig = this.config.typeit;
+ var speed = typeitConfig.speed ? typeitConfig.speed : 100;
+ var cursorSpeed = typeitConfig.cursorSpeed ? typeitConfig.cursorSpeed : 1000;
+ var cursorChar = typeitConfig.cursorChar ? typeitConfig.cursorChar : '|';
+ Object.values(typeitConfig.data).forEach(function (group) {
+ var typeone = function typeone(i) {
+ var id = group[i];
+ var instance = new TypeIt("#".concat(id), {
+ strings: _this9.data[id],
+ speed: speed,
+ lifeLike: true,
+ cursorSpeed: cursorSpeed,
+ cursorChar: cursorChar,
+ waitUntilVisible: true,
+ afterComplete: function afterComplete() {
+ if (i === group.length - 1) {
+ if (typeitConfig.duration >= 0) window.setTimeout(function () {
+ instance.destroy();
+ }, typeitConfig.duration);
+ return;
+ }
+
+ instance.destroy();
+ typeone(i + 1);
+ }
+ }).go();
+ };
+
+ typeone(0);
+ });
+ }
+ }
+ }, {
+ key: "initComment",
+ value: function initComment() {
+ var _this10 = this;
+
+ if (this.config.comment) {
+ if (this.config.comment.gitalk) {
+ this.config.comment.gitalk.body = decodeURI(window.location.href);
+ var gitalk = new Gitalk(this.config.comment.gitalk);
+ gitalk.render('gitalk');
+ }
+
+ if (this.config.comment.valine) new Valine(this.config.comment.valine);
+
+ if (this.config.comment.utterances) {
+ var utterancesConfig = this.config.comment.utterances;
+ var script = document.createElement('script');
+ script.src = 'https://utteranc.es/client.js';
+ script.type = 'text/javascript';
+ script.setAttribute('repo', utterancesConfig.repo);
+ script.setAttribute('issue-term', utterancesConfig.issueTerm);
+ if (utterancesConfig.label) script.setAttribute('label', utterancesConfig.label);
+ script.setAttribute('theme', this.isDark ? utterancesConfig.darkTheme : utterancesConfig.lightTheme);
+ script.crossOrigin = 'anonymous';
+ script.async = true;
+ document.getElementById('utterances').appendChild(script);
+
+ this._utterancesOnSwitchTheme = this._utterancesOnSwitchTheme || function () {
+ var message = {
+ type: 'set-theme',
+ theme: _this10.isDark ? utterancesConfig.darkTheme : utterancesConfig.lightTheme
+ };
+ var iframe = document.querySelector('.utterances-frame');
+ iframe.contentWindow.postMessage(message, 'https://utteranc.es');
+ };
+
+ this.switchThemeEventSet.add(this._utterancesOnSwitchTheme);
+ }
+ }
+ }
+ }, {
+ key: "initSmoothScroll",
+ value: function initSmoothScroll() {
+ if (SmoothScroll) new SmoothScroll('[href^="#"]', {
+ speed: 300,
+ speedAsDuration: true,
+ header: '#header-desktop'
+ });
+ }
+ }, {
+ key: "initCookieconsent",
+ value: function initCookieconsent() {
+ if (this.config.cookieconsent) cookieconsent.initialise(this.config.cookieconsent);
+ }
+ }, {
+ key: "onScroll",
+ value: function onScroll() {
+ var _this11 = this;
+
+ var $headers = [];
+ if (document.body.getAttribute('data-header-desktop') === 'auto') $headers.push(document.getElementById('header-desktop'));
+ if (document.body.getAttribute('data-header-mobile') === 'auto') $headers.push(document.getElementById('header-mobile'));
+
+ if (document.getElementById('comments')) {
+ var $viewComments = document.getElementById('view-comments');
+ $viewComments.href = "#comments";
+ $viewComments.style.display = 'block';
+ }
+
+ var $fixedButtons = document.getElementById('fixed-buttons');
+ var ACCURACY = 20,
+ MINIMUM = 100;
+ window.addEventListener('scroll', function () {
+ _this11.newScrollTop = _this11.util.getScrollTop();
+ var scroll = _this11.newScrollTop - _this11.oldScrollTop;
+
+ var isMobile = _this11.util.isMobile();
+
+ _this11.util.forEach($headers, function ($header) {
+ if (scroll > ACCURACY) {
+ $header.classList.remove('fadeInDown');
+
+ _this11.util.animateCSS($header, ['fadeOutUp', 'faster'], true);
+ } else if (scroll < -ACCURACY) {
+ $header.classList.remove('fadeOutUp');
+
+ _this11.util.animateCSS($header, ['fadeInDown', 'faster'], true);
+ }
+ });
+
+ if (_this11.newScrollTop > MINIMUM) {
+ if (isMobile && scroll > ACCURACY) {
+ $fixedButtons.classList.remove('fadeIn');
+
+ _this11.util.animateCSS($fixedButtons, ['fadeOut', 'faster'], true);
+ } else if (!isMobile || scroll < -ACCURACY) {
+ $fixedButtons.style.display = 'block';
+ $fixedButtons.classList.remove('fadeOut');
+
+ _this11.util.animateCSS($fixedButtons, ['fadeIn', 'faster'], true);
+ }
+ } else {
+ if (!isMobile) {
+ $fixedButtons.classList.remove('fadeIn');
+
+ _this11.util.animateCSS($fixedButtons, ['fadeOut', 'faster'], true);
+ }
+
+ $fixedButtons.style.display = 'none';
+ }
+
+ var _iterator2 = _createForOfIteratorHelper(_this11.scrollEventSet),
+ _step2;
+
+ try {
+ for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
+ var event = _step2.value;
+ event();
+ }
+ } catch (err) {
+ _iterator2.e(err);
+ } finally {
+ _iterator2.f();
+ }
+
+ _this11.oldScrollTop = _this11.newScrollTop;
+ }, false);
+ }
+ }, {
+ key: "onResize",
+ value: function onResize() {
+ var _this12 = this;
+
+ window.addEventListener('resize', function () {
+ if (!_this12._resizeTimeout) {
+ _this12._resizeTimeout = window.setTimeout(function () {
+ _this12._resizeTimeout = null;
+
+ var _iterator3 = _createForOfIteratorHelper(_this12.resizeEventSet),
+ _step3;
+
+ try {
+ for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
+ var event = _step3.value;
+ event();
+ }
+ } catch (err) {
+ _iterator3.e(err);
+ } finally {
+ _iterator3.f();
+ }
+
+ _this12.initToc();
+
+ _this12.initMermaid();
+
+ _this12.initSearch();
+ }, 100);
+ }
+ }, false);
+ }
+ }, {
+ key: "onClickMask",
+ value: function onClickMask() {
+ var _this13 = this;
+
+ document.getElementById('mask').addEventListener('click', function () {
+ var _iterator4 = _createForOfIteratorHelper(_this13.clickMaskEventSet),
+ _step4;
+
+ try {
+ for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
+ var event = _step4.value;
+ event();
+ }
+ } catch (err) {
+ _iterator4.e(err);
+ } finally {
+ _iterator4.f();
+ }
+
+ document.body.classList.remove('blur');
+ }, false);
+ }
+ }, {
+ key: "init",
+ value: function init() {
+ var _this14 = this;
+
+ try {
+ this.initSVGIcon();
+ this.initTwemoji();
+ this.initMenuMobile();
+ this.initSwitchTheme();
+ this.initSearch();
+ this.initDetails();
+ this.initLightGallery();
+ this.initHighlight();
+ this.initTable();
+ this.initHeaderLink();
+ this.initSmoothScroll();
+ this.initMath();
+ this.initMermaid();
+ this.initEcharts();
+ this.initTypeit();
+ this.initMapbox();
+ this.initCookieconsent();
+ } catch (err) {
+ console.error(err);
+ }
+
+ window.setTimeout(function () {
+ _this14.initToc();
+
+ _this14.initComment();
+
+ _this14.onScroll();
+
+ _this14.onResize();
+
+ _this14.onClickMask();
+ }, 100);
+ }
+ }]);
+
+ return Theme;
+}();
+
+var themeInit = function themeInit() {
+ var theme = new Theme();
+ theme.init();
+};
+
+if (document.readyState !== 'loading') {
+ themeInit();
+} else {
+ document.addEventListener('DOMContentLoaded', themeInit, false);
+}
diff --git a/assets/js/theme.min.js b/assets/js/theme.min.js
deleted file mode 100644
index bc13e45f..00000000
--- a/assets/js/theme.min.js
+++ /dev/null
@@ -1,3 +0,0 @@
-"use strict";function _objectDestructuringEmpty(a){if(null==a)throw new TypeError("Cannot destructure undefined")}function _createForOfIteratorHelper(a,b){var c="undefined"!=typeof Symbol&&a[Symbol.iterator]||a["@@iterator"];if(!c){if(Array.isArray(a)||(c=_unsupportedIterableToArray(a))||b&&a&&"number"==typeof a.length){c&&(a=c);var d=0,e=function(){};return{s:e,n:function n(){return d>=a.length?{done:!0}:{done:!1,value:a[d++]}},e:function e(a){throw a},f:e}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var f,g=!0,h=!1;return{s:function s(){c=c.call(a)},n:function n(){var a=c.next();return g=a.done,a},e:function e(a){h=!0,f=a},f:function f(){try{g||null==c.return||c.return()}finally{if(h)throw f}}}}function _toConsumableArray(a){return _arrayWithoutHoles(a)||_iterableToArray(a)||_unsupportedIterableToArray(a)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(a,b){if(a){if("string"==typeof a)return _arrayLikeToArray(a,b);var c=Object.prototype.toString.call(a).slice(8,-1);return"Object"===c&&a.constructor&&(c=a.constructor.name),"Map"===c||"Set"===c?Array.from(a):"Arguments"===c||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(c)?_arrayLikeToArray(a,b):void 0}}function _iterableToArray(a){if("undefined"!=typeof Symbol&&null!=a[Symbol.iterator]||null!=a["@@iterator"])return Array.from(a)}function _arrayWithoutHoles(a){if(Array.isArray(a))return _arrayLikeToArray(a)}function _arrayLikeToArray(a,b){(null==b||b>a.length)&&(b=a.length);for(var c=0,d=Array(b);c$1").concat(f,">")),k=k.replace(new RegExp("(".concat(a,")"),"gi"),"<".concat(f,">$1").concat(f,">"))}),b[i]={uri:i,title:j,date:h.date,context:k}}}),Object.values(b).slice(0,d)};a._index?h(i()):fetch(b.lunrIndexURL).then(function(a){return a.json()}).then(function(c){var d={};a._index=lunr(function(){b.lunrLanguageCode&&this.use(lunr[b.lunrLanguageCode]),this.ref("objectID"),this.field("title",{boost:50}),this.field("tags",{boost:20}),this.field("categories",{boost:20}),this.field("content",{boost:10}),this.metadataWhitelist=["position"],c.forEach(function(a){d[a.objectID]=a,this.add(a)})}),a._indexData=d,h(i())}).catch(function(a){console.error(a),h([])})}else"algolia"===b.type&&(a._algoliaIndex=a._algoliaIndex||algoliasearch(b.algoliaAppID,b.algoliaSearchKey).initIndex(b.algoliaIndex),a._algoliaIndex.search(c,{offset:0,length:8*d,attributesToHighlight:["title"],attributesToSnippet:["content:".concat(e)],highlightPreTag:"<".concat(f,">"),highlightPostTag:"".concat(f,">")}).then(function(a){var b=a.hits,c={};b.forEach(function(a){var b=a.uri,d=a.date,e=a._highlightResult.title,f=a._snippetResult.content;c[b]&&c[b].context.length>f.value||(c[b]={uri:b,title:e.value,date:d,context:f.value})}),h(Object.values(c).slice(0,d))}).catch(function(a){console.error(a),h([])}))},templates:{suggestion:function suggestion(a){var b=a.title,c=a.date,d=a.context;return"".concat(b,"").concat(c,"
").concat(d,"
")},empty:function empty(a){var c=a.query;return"".concat(b.noResultsFound,": \"").concat(c,"\"
")},footer:function footer(a){_objectDestructuringEmpty(a);var c="algolia"===b.type?{searchType:"algolia",icon:"",href:"https://www.algolia.com/"}:{searchType:"Lunr.js",icon:"",href:"https://lunrjs.com/"},d=c.searchType,e=c.icon,f=c.href;return"")}}});h.on("autocomplete:selected",function(a,b){window.location.assign(b.uri)}),c?a._searchMobile=h:a._searchDesktop=h};if(b.lunrSegmentitURL&&!document.getElementById("lunr-segmentit")){var n=document.createElement("script");n.id="lunr-segmentit",n.type="text/javascript",n.src=b.lunrSegmentitURL,n.async=!0,n.readyState?n.onreadystatechange=function(){("loaded"==n.readyState||"complete"==n.readyState)&&(n.onreadystatechange=null,m())}:n.onload=function(){m()},document.body.appendChild(n)}else m()}}},{key:"initDetails",value:function initDetails(){this.util.forEach(document.getElementsByClassName("details"),function(a){var b=a.getElementsByClassName("details-summary")[0];b.addEventListener("click",function(){a.classList.toggle("open")},!1)})}},{key:"initLightGallery",value:function initLightGallery(){this.config.lightGallery&&lightGallery(document.getElementById("content"),this.config.lightGallery)}},{key:"initHighlight",value:function initHighlight(){var a=this;this.util.forEach(document.querySelectorAll(".highlight > pre.chroma"),function(a){var b=document.createElement("div");b.className=a.className;var c=document.createElement("table");b.appendChild(c);var d=document.createElement("tbody");c.appendChild(d);var e=document.createElement("tr");d.appendChild(e);var f=document.createElement("td");e.appendChild(f),a.parentElement.replaceChild(b,a),f.appendChild(a)}),this.util.forEach(document.querySelectorAll(".highlight > .chroma"),function(b){var c=b.querySelectorAll("pre.chroma > code");if(c.length){var d=c[c.length-1],e=document.createElement("div");e.className="code-header "+d.className.toLowerCase();var f=document.createElement("span");f.classList.add("code-title"),f.insertAdjacentHTML("afterbegin",""),f.addEventListener("click",function(){b.classList.toggle("open")},!1),e.appendChild(f);var g=document.createElement("span");g.insertAdjacentHTML("afterbegin",""),g.classList.add("ellipses"),g.addEventListener("click",function(){b.classList.add("open")},!1),e.appendChild(g);var h=document.createElement("span");h.insertAdjacentHTML("afterbegin",""),h.classList.add("copy");var i=d.innerText;if((0>a.config.code.maxShownLines||i.split("\n").length=a;a++)this.util.forEach(document.querySelectorAll(".single .content > h"+a),function(a){a.classList.add("headerLink"),a.insertAdjacentHTML("afterbegin",""))})}},{key:"initToc",value:function initToc(){var a=this,b=document.getElementById("TableOfContents");if(null!==b)if(document.getElementById("toc-static").getAttribute("data-kept")||this.util.isTocStatic()){var o=document.getElementById("toc-content-static");b.parentElement!==o&&(b.parentElement.removeChild(b),o.appendChild(b)),this._tocOnScroll&&this.scrollEventSet.delete(this._tocOnScroll)}else{var p=document.getElementById("toc-content-auto");b.parentElement!==p&&(b.parentElement.removeChild(b),p.appendChild(b));var c=document.getElementById("toc-auto"),d=document.getElementsByClassName("page")[0],e=d.getBoundingClientRect();c.style.left="".concat(e.left+e.width+20,"px"),c.style.maxWidth="".concat(d.getBoundingClientRect().left-20,"px"),c.style.visibility="visible";var f=b.querySelectorAll("a:first-child"),g=b.getElementsByTagName("li"),h=document.getElementsByClassName("headerLink"),j="normal"!==document.body.getAttribute("data-header-desktop"),k=document.getElementById("header-desktop").offsetHeight,l=20+(j?k:0),m=c.offsetTop,n=m-l+(j?0:k);this._tocOnScroll=this._tocOnScroll||function(){var d=document.getElementById("post-footer").offsetTop,e=d-c.getBoundingClientRect().height,o=e-l+(j?0:k);a.newScrollTopo?(c.style.position="absolute",c.style.top="".concat(e,"px")):(c.style.position="fixed",c.style.top="".concat(l,"px")),a.util.forEach(f,function(a){a.classList.remove("active")}),a.util.forEach(g,function(a){a.classList.remove("has-active")});for(var p=20+(j?k:0),q=h.length-1,r=0;rp||s<=p&&t>p){q=r;break}}if(-1!==q){f[q].classList.add("active");for(var u=f[q].parentElement;u!==b;)u.classList.add("has-active"),u=u.parentElement.parentElement}},this._tocOnScroll(),this.scrollEventSet.add(this._tocOnScroll)}}},{key:"initMath",value:function initMath(){this.config.math&&renderMathInElement(document.body,this.config.math)}},{key:"initMermaid",value:function initMermaid(){var a=document.getElementsByClassName("mermaid");a.length&&(mermaid.initialize({startOnLoad:!1,theme:"null"}),this.util.forEach(a,function(a){mermaid.mermaidAPI.render("svg-"+a.id,this.data[a.id],function(b){a.insertAdjacentHTML("afterbegin",b)},a)}))}},{key:"initEcharts",value:function initEcharts(){var a=this;this._echartsOnSwitchTheme=this._echartsOnSwitchTheme||function(){a._echartsArr=a._echartsArr||[];for(var b=0;bd?(b.classList.remove("fadeInDown"),a.util.animateCSS(b,["fadeOutUp","faster"],!0)):e<-d&&(b.classList.remove("fadeOutUp"),a.util.animateCSS(b,["fadeInDown","faster"],!0))}),a.newScrollTop>100?f&&e>d?(c.classList.remove("fadeIn"),a.util.animateCSS(c,["fadeOut","faster"],!0)):(!f||e<-d)&&(c.style.display="block",c.classList.remove("fadeOut"),a.util.animateCSS(c,["fadeIn","faster"],!0)):(!f&&(c.classList.remove("fadeIn"),a.util.animateCSS(c,["fadeOut","faster"],!0)),c.style.display="none");var g,h=_createForOfIteratorHelper(a.scrollEventSet);try{for(h.s();!(g=h.n()).done;){var i=g.value;i()}}catch(a){h.e(a)}finally{h.f()}a.oldScrollTop=a.newScrollTop},!1)}},{key:"onResize",value:function onResize(){var a=this;window.addEventListener("resize",function(){a._resizeTimeout||(a._resizeTimeout=window.setTimeout(function(){a._resizeTimeout=null;var b,c=_createForOfIteratorHelper(a.resizeEventSet);try{for(c.s();!(b=c.n()).done;){var d=b.value;d()}}catch(a){c.e(a)}finally{c.f()}a.initToc(),a.initMermaid(),a.initSearch()},100))},!1)}},{key:"onClickMask",value:function onClickMask(){document.getElementById("mask").addEventListener("click",function(){var a,b=_createForOfIteratorHelper(this.clickMaskEventSet);try{for(b.s();!(a=b.n()).done;){var c=a.value;c()}}catch(a){b.e(a)}finally{b.f()}document.body.classList.remove("blur")},!1)}},{key:"init",value:function init(){var a=this;try{this.initSVGIcon(),this.initTwemoji(),this.initMenuMobile(),this.initSwitchTheme(),this.initSearch(),this.initDetails(),this.initLightGallery(),this.initHighlight(),this.initTable(),this.initHeaderLink(),this.initSmoothScroll(),this.initMath(),this.initMermaid(),this.initEcharts(),this.initTypeit(),this.initMapbox(),this.initCookieconsent()}catch(a){console.error(a)}window.setTimeout(function(){a.initToc(),a.initComment(),a.onScroll(),a.onResize(),a.onClickMask()},100)}}]),a}(),themeInit=function(){var a=new Theme;a.init()};"loading"===document.readyState?document.addEventListener("DOMContentLoaded",themeInit,!1):themeInit();
-
-//# sourceMappingURL=theme.min.js.map
\ No newline at end of file
diff --git a/assets/js/theme.min.js.map b/assets/js/theme.min.js.map
deleted file mode 100644
index fa0881de..00000000
--- a/assets/js/theme.min.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"theme.min.js","names":["Util","elements","handler","i","length","document","documentElement","scrollTop","body","window","matchMedia","matches","element","animation","reserved","callback","Array","isArray","classList","add","remove","removeEventListener","addEventListener","Theme","config","data","isDark","getAttribute","util","newScrollTop","getScrollTop","oldScrollTop","scrollEventSet","Set","resizeEventSet","switchThemeEventSet","clickMaskEventSet","objectFitImages","forEach","querySelectorAll","$icon","fetch","then","response","text","svg","$temp","createElement","insertAdjacentHTML","$svg","firstChild","setAttribute","$titleElements","getElementsByTagName","removeChild","parentElement","replaceChild","catch","err","console","error","twemoji","parse","$menuToggleMobile","getElementById","$menuMobile","toggle","_menuMobileOnClickMask","getElementsByClassName","$themeSwitch","localStorage","setItem","event","searchConfig","search","isMobile","_searchMobileOnce","_searchDesktopOnce","maxResultLength","snippetLength","highlightTag","suffix","$header","$searchInput","$searchToggle","$searchLoading","$searchClear","style","display","_searchMobile","autocomplete","setVal","_searchMobileOnClickMask","focus","_searchDesktop","_searchDesktopOnClickMask","value","initAutosearch","autosearch","hint","autoselect","dropdownMenuContainer","clearOnSelected","cssClasses","noPrefix","debug","name","source","query","finish","results","type","lunr","queryHandler","_index","ref","metadata","matchData","_indexData","uri","title","context","content","position","Object","values","matchPosition","substr","lastIndexOf","keys","key","replace","RegExp","date","slice","lunrIndexURL","json","indexData","lunrLanguageCode","use","field","boost","metadataWhitelist","record","objectID","_algoliaIndex","algoliasearch","algoliaAppID","algoliaSearchKey","initIndex","algoliaIndex","offset","attributesToHighlight","attributesToSnippet","highlightPreTag","highlightPostTag","hits","_highlightResult","_snippetResult","templates","suggestion","empty","noResultsFound","footer","searchType","icon","href","on","_event","location","assign","lunrSegmentitURL","script","id","src","async","readyState","onreadystatechange","onload","appendChild","$details","$summary","lightGallery","$preChroma","$chroma","className","$table","$tbody","$tr","$td","$codeElements","$code","toLowerCase","$title","$ellipses","$copy","code","innerText","maxShownLines","split","copyTitle","clipboard","ClipboardJS","animateCSS","insertBefore","$wrapper","num","$tocCore","isTocStatic","$tocContentStatic","_tocOnScroll","delete","$tocContentAuto","$toc","$page","rect","getBoundingClientRect","left","width","maxWidth","visibility","$tocLinkElements","$tocLiElements","$headerLinkElements","headerIsFixed","headerHeight","offsetHeight","TOP_SPACING","minTocTop","offsetTop","minScrollTop","footerTop","maxTocTop","height","maxScrollTop","top","$tocLink","$tocLi","INDEX_SPACING","activeTocIndex","thisTop","nextTop","$parent","math","renderMathInElement","$mermaidElements","mermaid","initialize","startOnLoad","theme","$mermaid","mermaidAPI","render","svgCode","_echartsOnSwitchTheme","_echartsArr","dispose","$echarts","chart","echarts","init","renderer","setOption","JSON","push","_echartsOnResize","resize","mapbox","mapboxgl","accessToken","setRTLTextPlugin","RTLTextPlugin","_mapboxArr","$mapbox","lng","lat","zoom","lightStyle","darkStyle","marked","navigation","geolocate","scale","fullscreen","Map","container","center","minZoom","attributionControl","Marker","setLngLat","addTo","addControl","NavigationControl","GeolocateControl","positionOptions","enableHighAccuracy","showUserLocation","trackUserLocation","ScaleControl","FullscreenControl","MapboxLanguage","_mapboxOnSwitchTheme","getContainer","setStyle","typeit","typeitConfig","speed","cursorSpeed","cursorChar","group","typeone","instance","TypeIt","strings","lifeLike","waitUntilVisible","afterComplete","duration","setTimeout","destroy","go","comment","gitalk","decodeURI","Gitalk","valine","Valine","utterances","utterancesConfig","repo","issueTerm","label","darkTheme","lightTheme","crossOrigin","_utterancesOnSwitchTheme","message","iframe","querySelector","contentWindow","postMessage","SmoothScroll","speedAsDuration","header","cookieconsent","initialise","$headers","$viewComments","$fixedButtons","ACCURACY","scroll","_resizeTimeout","initToc","initMermaid","initSearch","initSVGIcon","initTwemoji","initMenuMobile","initSwitchTheme","initDetails","initLightGallery","initHighlight","initTable","initHeaderLink","initSmoothScroll","initMath","initEcharts","initTypeit","initMapbox","initCookieconsent","initComment","onScroll","onResize","onClickMask","themeInit"],"sources":["../../src/js/theme.js"],"sourcesContent":["class Util {\n forEach(elements, handler) {\n elements = elements || [];\n for (let i = 0; i < elements.length; i++) handler(elements[i]);\n }\n\n getScrollTop() {\n return (document.documentElement && document.documentElement.scrollTop) || document.body.scrollTop;\n }\n\n isMobile() {\n return window.matchMedia('only screen and (max-width: 680px)').matches;\n }\n\n isTocStatic() {\n return window.matchMedia('only screen and (max-width: 960px)').matches;\n }\n\n animateCSS(element, animation, reserved, callback) {\n if (!Array.isArray(animation)) animation = [animation];\n element.classList.add('animated', ...animation);\n const handler = () => {\n element.classList.remove('animated', ...animation);\n element.removeEventListener('animationend', handler);\n if (typeof callback === 'function') callback();\n };\n if (!reserved) element.addEventListener('animationend', handler, false);\n }\n}\n\nclass Theme {\n constructor() {\n this.config = window.config;\n this.data = this.config.data;\n this.isDark = document.body.getAttribute('theme') === 'dark';\n this.util = new Util();\n this.newScrollTop = this.util.getScrollTop();\n this.oldScrollTop = this.newScrollTop;\n this.scrollEventSet = new Set();\n this.resizeEventSet = new Set();\n this.switchThemeEventSet = new Set();\n this.clickMaskEventSet = new Set();\n if (window.objectFitImages) objectFitImages();\n }\n\n initSVGIcon() {\n this.util.forEach(document.querySelectorAll('[data-svg-src]'), $icon => {\n fetch($icon.getAttribute('data-svg-src'))\n .then(response => response.text())\n .then(svg => {\n const $temp = document.createElement('div');\n $temp.insertAdjacentHTML('afterbegin', svg);\n const $svg = $temp.firstChild;\n $svg.setAttribute('data-svg-src', $icon.getAttribute('data-svg-src'));\n $svg.classList.add('icon');\n const $titleElements = $svg.getElementsByTagName('title');\n if ($titleElements.length) $svg.removeChild($titleElements[0]);\n $icon.parentElement.replaceChild($svg, $icon);\n })\n .catch(err => { console.error(err); });\n });\n }\n\n initTwemoji() {\n if (this.config.twemoji) twemoji.parse(document.body);\n }\n\n initMenuMobile() {\n const $menuToggleMobile = document.getElementById('menu-toggle-mobile');\n const $menuMobile = document.getElementById('menu-mobile');\n $menuToggleMobile.addEventListener('click', () => {\n document.body.classList.toggle('blur');\n $menuToggleMobile.classList.toggle('active');\n $menuMobile.classList.toggle('active');\n }, false);\n this._menuMobileOnClickMask = this._menuMobileOnClickMask || (() => {\n $menuToggleMobile.classList.remove('active');\n $menuMobile.classList.remove('active');\n });\n this.clickMaskEventSet.add(this._menuMobileOnClickMask);\n }\n\n initSwitchTheme() {\n this.util.forEach(document.getElementsByClassName('theme-switch'), $themeSwitch => {\n $themeSwitch.addEventListener('click', () => {\n if (document.body.getAttribute('theme') === 'dark') document.body.setAttribute('theme', 'light');\n else document.body.setAttribute('theme', 'dark');\n this.isDark = !this.isDark;\n window.localStorage && localStorage.setItem('theme', this.isDark ? 'dark' : 'light');\n for (let event of this.switchThemeEventSet) event();\n }, false);\n });\n }\n\n initSearch() {\n const searchConfig = this.config.search;\n const isMobile = this.util.isMobile();\n if (!searchConfig || isMobile && this._searchMobileOnce || !isMobile && this._searchDesktopOnce) return;\n\n const maxResultLength = searchConfig.maxResultLength ? searchConfig.maxResultLength : 10;\n const snippetLength = searchConfig.snippetLength ? searchConfig.snippetLength : 50;\n const highlightTag = searchConfig.highlightTag ? searchConfig.highlightTag : 'em';\n\n const suffix = isMobile ? 'mobile' : 'desktop';\n const $header = document.getElementById(`header-${suffix}`);\n const $searchInput = document.getElementById(`search-input-${suffix}`);\n const $searchToggle = document.getElementById(`search-toggle-${suffix}`);\n const $searchLoading = document.getElementById(`search-loading-${suffix}`);\n const $searchClear = document.getElementById(`search-clear-${suffix}`);\n if (isMobile) {\n this._searchMobileOnce = true;\n $searchInput.addEventListener('focus', () => {\n document.body.classList.add('blur');\n $header.classList.add('open');\n }, false);\n document.getElementById('search-cancel-mobile').addEventListener('click', () => {\n $header.classList.remove('open');\n document.body.classList.remove('blur');\n document.getElementById('menu-toggle-mobile').classList.remove('active');\n document.getElementById('menu-mobile').classList.remove('active');\n $searchLoading.style.display = 'none';\n $searchClear.style.display = 'none';\n this._searchMobile && this._searchMobile.autocomplete.setVal('');\n }, false);\n $searchClear.addEventListener('click', () => {\n $searchClear.style.display = 'none';\n this._searchMobile && this._searchMobile.autocomplete.setVal('');\n }, false);\n this._searchMobileOnClickMask = this._searchMobileOnClickMask || (() => {\n $header.classList.remove('open');\n $searchLoading.style.display = 'none';\n $searchClear.style.display = 'none';\n this._searchMobile && this._searchMobile.autocomplete.setVal('');\n });\n this.clickMaskEventSet.add(this._searchMobileOnClickMask);\n } else {\n this._searchDesktopOnce = true;\n $searchToggle.addEventListener('click', () => {\n document.body.classList.add('blur');\n $header.classList.add('open');\n $searchInput.focus();\n }, false);\n $searchClear.addEventListener('click', () => {\n $searchClear.style.display = 'none';\n this._searchDesktop && this._searchDesktop.autocomplete.setVal('');\n }, false);\n this._searchDesktopOnClickMask = this._searchDesktopOnClickMask || (() => {\n $header.classList.remove('open');\n $searchLoading.style.display = 'none';\n $searchClear.style.display = 'none';\n this._searchDesktop && this._searchDesktop.autocomplete.setVal('');\n });\n this.clickMaskEventSet.add(this._searchDesktopOnClickMask);\n }\n $searchInput.addEventListener('input', () => {\n if ($searchInput.value === '') $searchClear.style.display = 'none';\n else $searchClear.style.display = 'inline';\n }, false);\n\n const initAutosearch = () => {\n const autosearch = autocomplete(`#search-input-${suffix}`, {\n hint: false,\n autoselect: true,\n dropdownMenuContainer: `#search-dropdown-${suffix}`,\n clearOnSelected: true,\n cssClasses: { noPrefix: true },\n debug: true,\n }, {\n name: 'search',\n source: (query, callback) => {\n $searchLoading.style.display = 'inline';\n $searchClear.style.display = 'none';\n const finish = (results) => {\n $searchLoading.style.display = 'none';\n $searchClear.style.display = 'inline';\n callback(results);\n };\n if (searchConfig.type === 'lunr') {\n const search = () => {\n if (lunr.queryHandler) query = lunr.queryHandler(query);\n const results = {};\n this._index.search(query).forEach(({ ref, matchData: { metadata } }) => {\n const matchData = this._indexData[ref];\n let { uri, title, content: context } = matchData;\n if (results[uri]) return;\n let position = 0;\n Object.values(metadata).forEach(({ content }) => {\n if (content) {\n const matchPosition = content.position[0][0];\n if (matchPosition < position || position === 0) position = matchPosition;\n }\n });\n position -= snippetLength / 5;\n if (position > 0) {\n position += context.substr(position, 20).lastIndexOf(' ') + 1;\n context = '...' + context.substr(position, snippetLength);\n } else {\n context = context.substr(0, snippetLength);\n }\n Object.keys(metadata).forEach(key => {\n title = title.replace(new RegExp(`(${key})`, 'gi'), `<${highlightTag}>$1${highlightTag}>`);\n context = context.replace(new RegExp(`(${key})`, 'gi'), `<${highlightTag}>$1${highlightTag}>`);\n });\n results[uri] = {\n 'uri': uri,\n 'title' : title,\n 'date' : matchData.date,\n 'context' : context,\n };\n });\n return Object.values(results).slice(0, maxResultLength);\n }\n if (!this._index) {\n fetch(searchConfig.lunrIndexURL)\n .then(response => response.json())\n .then(data => {\n const indexData = {};\n this._index = lunr(function () {\n if (searchConfig.lunrLanguageCode) this.use(lunr[searchConfig.lunrLanguageCode]);\n this.ref('objectID');\n this.field('title', { boost: 50 });\n this.field('tags', { boost: 20 });\n this.field('categories', { boost: 20 });\n this.field('content', { boost: 10 });\n this.metadataWhitelist = ['position'];\n data.forEach((record) => {\n indexData[record.objectID] = record;\n this.add(record);\n });\n });\n this._indexData = indexData;\n finish(search());\n }).catch(err => {\n console.error(err);\n finish([]);\n });\n } else finish(search());\n } else if (searchConfig.type === 'algolia') {\n this._algoliaIndex = this._algoliaIndex || algoliasearch(searchConfig.algoliaAppID, searchConfig.algoliaSearchKey).initIndex(searchConfig.algoliaIndex);\n this._algoliaIndex\n .search(query, {\n offset: 0,\n length: maxResultLength * 8,\n attributesToHighlight: ['title'],\n attributesToSnippet: [`content:${snippetLength}`],\n highlightPreTag: `<${highlightTag}>`,\n highlightPostTag: `${highlightTag}>`,\n })\n .then(({ hits }) => {\n const results = {};\n hits.forEach(({ uri, date, _highlightResult: { title }, _snippetResult: { content } }) => {\n if (results[uri] && results[uri].context.length > content.value) return;\n results[uri] = {\n uri: uri,\n title: title.value,\n date: date,\n context: content.value,\n };\n });\n finish(Object.values(results).slice(0, maxResultLength));\n })\n .catch(err => {\n console.error(err);\n finish([]);\n });\n }\n },\n templates: {\n suggestion: ({ title, date, context }) => `${title}${date}
${context}
`,\n empty: ({ query }) => `${searchConfig.noResultsFound}: \"${query}\"
`,\n footer: ({}) => {\n const { searchType, icon, href } = searchConfig.type === 'algolia' ? {\n searchType: 'algolia',\n icon: '',\n href: 'https://www.algolia.com/',\n } : {\n searchType: 'Lunr.js',\n icon: '',\n href: 'https://lunrjs.com/',\n };\n return ``;},\n },\n });\n autosearch.on('autocomplete:selected', (_event, suggestion, _dataset, _context) => {\n window.location.assign(suggestion.uri);\n });\n if (isMobile) this._searchMobile = autosearch;\n else this._searchDesktop = autosearch;\n };\n if (searchConfig.lunrSegmentitURL && !document.getElementById('lunr-segmentit')) {\n const script = document.createElement('script');\n script.id = 'lunr-segmentit';\n script.type = 'text/javascript';\n script.src = searchConfig.lunrSegmentitURL;\n script.async = true;\n if (script.readyState) {\n script.onreadystatechange = () => {\n if (script.readyState == 'loaded' || script.readyState == 'complete'){\n script.onreadystatechange = null;\n initAutosearch();\n }\n };\n } else {\n script.onload = () => {\n initAutosearch();\n };\n }\n document.body.appendChild(script);\n } else initAutosearch();\n }\n\n initDetails() {\n this.util.forEach(document.getElementsByClassName('details'), $details => {\n const $summary = $details.getElementsByClassName('details-summary')[0];\n $summary.addEventListener('click', () => {\n $details.classList.toggle('open');\n }, false);\n });\n }\n\n initLightGallery() {\n if (this.config.lightGallery) lightGallery(document.getElementById('content'), this.config.lightGallery);\n }\n\n initHighlight() {\n this.util.forEach(document.querySelectorAll('.highlight > pre.chroma'), $preChroma => {\n const $chroma = document.createElement('div');\n $chroma.className = $preChroma.className;\n const $table = document.createElement('table');\n $chroma.appendChild($table);\n const $tbody = document.createElement('tbody');\n $table.appendChild($tbody);\n const $tr = document.createElement('tr');\n $tbody.appendChild($tr);\n const $td = document.createElement('td');\n $tr.appendChild($td);\n $preChroma.parentElement.replaceChild($chroma, $preChroma);\n $td.appendChild($preChroma);\n });\n this.util.forEach(document.querySelectorAll('.highlight > .chroma'), $chroma => {\n const $codeElements = $chroma.querySelectorAll('pre.chroma > code');\n if ($codeElements.length) {\n const $code = $codeElements[$codeElements.length - 1];\n const $header = document.createElement('div');\n $header.className = 'code-header ' + $code.className.toLowerCase();\n const $title = document.createElement('span');\n $title.classList.add('code-title');\n $title.insertAdjacentHTML('afterbegin', '');\n $title.addEventListener('click', () => {\n $chroma.classList.toggle('open');\n }, false);\n $header.appendChild($title);\n const $ellipses = document.createElement('span');\n $ellipses.insertAdjacentHTML('afterbegin', '');\n $ellipses.classList.add('ellipses');\n $ellipses.addEventListener('click', () => {\n $chroma.classList.add('open');\n }, false);\n $header.appendChild($ellipses);\n const $copy = document.createElement('span');\n $copy.insertAdjacentHTML('afterbegin', '');\n $copy.classList.add('copy');\n const code = $code.innerText;\n if (this.config.code.maxShownLines < 0 || code.split('\\n').length < this.config.code.maxShownLines + 2) $chroma.classList.add('open');\n if (this.config.code.copyTitle) {\n $copy.setAttribute('data-clipboard-text', code);\n $copy.title = this.config.code.copyTitle;\n const clipboard = new ClipboardJS($copy);\n clipboard.on('success', _e => {\n this.util.animateCSS($code, 'flash');\n });\n $header.appendChild($copy);\n }\n $chroma.insertBefore($header, $chroma.firstChild);\n }\n });\n }\n\n initTable() {\n this.util.forEach(document.querySelectorAll('.content table'), $table => {\n const $wrapper = document.createElement('div');\n $wrapper.className = 'table-wrapper';\n $table.parentElement.replaceChild($wrapper, $table);\n $wrapper.appendChild($table);\n });\n }\n\n initHeaderLink() {\n for (let num = 1; num <= 6; num++) {\n this.util.forEach(document.querySelectorAll('.single .content > h' + num), $header => {\n $header.classList.add('headerLink');\n $header.insertAdjacentHTML('afterbegin', ``);\n });\n }\n }\n\n initToc() {\n const $tocCore = document.getElementById('TableOfContents');\n if ($tocCore === null) return;\n if (document.getElementById('toc-static').getAttribute('data-kept') || this.util.isTocStatic()) {\n const $tocContentStatic = document.getElementById('toc-content-static');\n if ($tocCore.parentElement !== $tocContentStatic) {\n $tocCore.parentElement.removeChild($tocCore);\n $tocContentStatic.appendChild($tocCore);\n }\n if (this._tocOnScroll) this.scrollEventSet.delete(this._tocOnScroll);\n } else {\n const $tocContentAuto = document.getElementById('toc-content-auto');\n if ($tocCore.parentElement !== $tocContentAuto) {\n $tocCore.parentElement.removeChild($tocCore);\n $tocContentAuto.appendChild($tocCore);\n }\n const $toc = document.getElementById('toc-auto');\n const $page = document.getElementsByClassName('page')[0];\n const rect = $page.getBoundingClientRect();\n $toc.style.left = `${rect.left + rect.width + 20}px`;\n $toc.style.maxWidth = `${$page.getBoundingClientRect().left - 20}px`;\n $toc.style.visibility = 'visible';\n const $tocLinkElements = $tocCore.querySelectorAll('a:first-child');\n const $tocLiElements = $tocCore.getElementsByTagName('li');\n const $headerLinkElements = document.getElementsByClassName('headerLink');\n const headerIsFixed = document.body.getAttribute('data-header-desktop') !== 'normal';\n const headerHeight = document.getElementById('header-desktop').offsetHeight;\n const TOP_SPACING = 20 + (headerIsFixed ? headerHeight : 0);\n const minTocTop = $toc.offsetTop;\n const minScrollTop = minTocTop - TOP_SPACING + (headerIsFixed ? 0 : headerHeight);\n this._tocOnScroll = this._tocOnScroll || (() => {\n const footerTop = document.getElementById('post-footer').offsetTop;\n const maxTocTop = footerTop - $toc.getBoundingClientRect().height;\n const maxScrollTop = maxTocTop - TOP_SPACING + (headerIsFixed ? 0 : headerHeight);\n if (this.newScrollTop < minScrollTop) {\n $toc.style.position = 'absolute';\n $toc.style.top = `${minTocTop}px`;\n } else if (this.newScrollTop > maxScrollTop) {\n $toc.style.position = 'absolute';\n $toc.style.top = `${maxTocTop}px`;\n } else {\n $toc.style.position = 'fixed';\n $toc.style.top = `${TOP_SPACING}px`;\n }\n\n this.util.forEach($tocLinkElements, $tocLink => { $tocLink.classList.remove('active'); });\n this.util.forEach($tocLiElements, $tocLi => { $tocLi.classList.remove('has-active'); });\n const INDEX_SPACING = 20 + (headerIsFixed ? headerHeight : 0);\n let activeTocIndex = $headerLinkElements.length - 1;\n for (let i = 0; i < $headerLinkElements.length - 1; i++) {\n const thisTop = $headerLinkElements[i].getBoundingClientRect().top;\n const nextTop = $headerLinkElements[i + 1].getBoundingClientRect().top;\n if ((i == 0 && thisTop > INDEX_SPACING)\n || (thisTop <= INDEX_SPACING && nextTop > INDEX_SPACING)) {\n activeTocIndex = i;\n break;\n }\n }\n if (activeTocIndex !== -1) {\n $tocLinkElements[activeTocIndex].classList.add('active');\n let $parent = $tocLinkElements[activeTocIndex].parentElement;\n while ($parent !== $tocCore) {\n $parent.classList.add('has-active');\n $parent = $parent.parentElement.parentElement;\n }\n }\n });\n this._tocOnScroll();\n this.scrollEventSet.add(this._tocOnScroll);\n }\n }\n\n initMath() {\n if (this.config.math) renderMathInElement(document.body, this.config.math);\n }\n\n initMermaid() {\n const $mermaidElements = document.getElementsByClassName('mermaid');\n if ($mermaidElements.length) {\n mermaid.initialize({startOnLoad: false, theme: 'null'});\n this.util.forEach($mermaidElements, $mermaid => {\n mermaid.mermaidAPI.render('svg-' + $mermaid.id, this.data[$mermaid.id], svgCode => {\n $mermaid.insertAdjacentHTML('afterbegin', svgCode);\n }, $mermaid);\n });\n }\n }\n\n initEcharts() {\n this._echartsOnSwitchTheme = this._echartsOnSwitchTheme || (() => {\n this._echartsArr = this._echartsArr || [];\n for (let i = 0; i < this._echartsArr.length; i++) {\n this._echartsArr[i].dispose();\n }\n this._echartsArr = [];\n this.util.forEach(document.getElementsByClassName('echarts'), $echarts => {\n const chart = echarts.init($echarts, this.isDark ? 'dark' : 'macarons', {renderer: 'svg'});\n chart.setOption(JSON.parse(this.data[$echarts.id]));\n this._echartsArr.push(chart);\n });\n });\n this.switchThemeEventSet.add(this._echartsOnSwitchTheme);\n this._echartsOnSwitchTheme();\n this._echartsOnResize = this._echartsOnResize || (() => {\n for (let i = 0; i < this._echartsArr.length; i++) {\n this._echartsArr[i].resize();\n }\n });\n this.resizeEventSet.add(this._echartsOnResize);\n }\n\n initMapbox() {\n if (this.config.mapbox) {\n mapboxgl.accessToken = this.config.mapbox.accessToken;\n mapboxgl.setRTLTextPlugin(this.config.mapbox.RTLTextPlugin);\n this._mapboxArr = this._mapboxArr || [];\n this.util.forEach(document.getElementsByClassName('mapbox'), $mapbox => {\n const { lng, lat, zoom, lightStyle, darkStyle, marked, navigation, geolocate, scale, fullscreen } = this.data[$mapbox.id];\n const mapbox = new mapboxgl.Map({\n container: $mapbox,\n center: [lng, lat],\n zoom: zoom,\n minZoom: .2,\n style: this.isDark ? darkStyle : lightStyle,\n attributionControl: false,\n });\n if (marked) {\n new mapboxgl.Marker().setLngLat([lng, lat]).addTo(mapbox);\n }\n if (navigation) {\n mapbox.addControl(new mapboxgl.NavigationControl(), 'bottom-right');\n }\n if (geolocate) {\n mapbox.addControl(new mapboxgl.GeolocateControl({\n positionOptions: {\n enableHighAccuracy: true,\n },\n showUserLocation: true,\n trackUserLocation: true,\n }), 'bottom-right');\n }\n if (scale) {\n mapbox.addControl(new mapboxgl.ScaleControl());\n }\n if (fullscreen) {\n mapbox.addControl(new mapboxgl.FullscreenControl());\n }\n mapbox.addControl(new MapboxLanguage());\n this._mapboxArr.push(mapbox);\n });\n this._mapboxOnSwitchTheme = this._mapboxOnSwitchTheme || (() => {\n this.util.forEach(this._mapboxArr, mapbox => {\n const $mapbox = mapbox.getContainer();\n const { lightStyle, darkStyle } = this.data[$mapbox.id];\n mapbox.setStyle(this.isDark ? darkStyle : lightStyle);\n mapbox.addControl(new MapboxLanguage());\n });\n });\n this.switchThemeEventSet.add(this._mapboxOnSwitchTheme);\n }\n }\n\n initTypeit() {\n if (this.config.typeit) {\n const typeitConfig = this.config.typeit;\n const speed = typeitConfig.speed ? typeitConfig.speed : 100;\n const cursorSpeed = typeitConfig.cursorSpeed ? typeitConfig.cursorSpeed : 1000;\n const cursorChar = typeitConfig.cursorChar ? typeitConfig.cursorChar : '|';\n Object.values(typeitConfig.data).forEach(group => {\n const typeone = (i) => {\n const id = group[i];\n const instance = new TypeIt(`#${id}`, {\n strings: this.data[id],\n speed: speed,\n lifeLike: true,\n cursorSpeed: cursorSpeed,\n cursorChar: cursorChar,\n waitUntilVisible: true,\n afterComplete: () => {\n if (i === group.length - 1) {\n if (typeitConfig.duration >= 0) window.setTimeout(() => {\n instance.destroy();\n }, typeitConfig.duration);\n return;\n }\n instance.destroy();\n typeone(i + 1);\n },\n }).go();\n };\n typeone(0);\n });\n }\n }\n\n initComment() {\n if (this.config.comment) {\n if (this.config.comment.gitalk) {\n this.config.comment.gitalk.body = decodeURI(window.location.href);\n const gitalk = new Gitalk(this.config.comment.gitalk);\n gitalk.render('gitalk');\n }\n if (this.config.comment.valine) new Valine(this.config.comment.valine);\n if (this.config.comment.utterances) {\n const utterancesConfig = this.config.comment.utterances;\n const script = document.createElement('script');\n script.src = 'https://utteranc.es/client.js';\n script.type = 'text/javascript';\n script.setAttribute('repo', utterancesConfig.repo);\n script.setAttribute('issue-term', utterancesConfig.issueTerm);\n if (utterancesConfig.label) script.setAttribute('label', utterancesConfig.label);\n script.setAttribute('theme', this.isDark ? utterancesConfig.darkTheme : utterancesConfig.lightTheme);\n script.crossOrigin = 'anonymous';\n script.async = true;\n document.getElementById('utterances').appendChild(script);\n this._utterancesOnSwitchTheme = this._utterancesOnSwitchTheme || (() => {\n const message = {\n type: 'set-theme',\n theme: this.isDark ? utterancesConfig.darkTheme : utterancesConfig.lightTheme,\n };\n const iframe = document.querySelector('.utterances-frame');\n iframe.contentWindow.postMessage(message, 'https://utteranc.es');\n });\n this.switchThemeEventSet.add(this._utterancesOnSwitchTheme);\n }\n }\n }\n\n initSmoothScroll() {\n if (SmoothScroll) new SmoothScroll('[href^=\"#\"]', { speed: 300, speedAsDuration: true, header: '#header-desktop' });\n }\n\n initCookieconsent() {\n if (this.config.cookieconsent) cookieconsent.initialise(this.config.cookieconsent);\n }\n\n onScroll() {\n const $headers = [];\n if (document.body.getAttribute('data-header-desktop') === 'auto') $headers.push(document.getElementById('header-desktop'));\n if (document.body.getAttribute('data-header-mobile') === 'auto') $headers.push(document.getElementById('header-mobile'));\n if (document.getElementById('comments')) {\n const $viewComments = document.getElementById('view-comments');\n $viewComments.href = `#comments`;\n $viewComments.style.display = 'block';\n }\n const $fixedButtons = document.getElementById('fixed-buttons');\n const ACCURACY = 20, MINIMUM = 100;\n window.addEventListener('scroll', () => {\n this.newScrollTop = this.util.getScrollTop();\n const scroll = this.newScrollTop - this.oldScrollTop;\n const isMobile = this.util.isMobile();\n this.util.forEach($headers, $header => {\n if (scroll > ACCURACY) {\n $header.classList.remove('fadeInDown');\n this.util.animateCSS($header, ['fadeOutUp', 'faster'], true);\n } else if (scroll < - ACCURACY) {\n $header.classList.remove('fadeOutUp');\n this.util.animateCSS($header, ['fadeInDown', 'faster'], true);\n }\n });\n if (this.newScrollTop > MINIMUM) {\n if (isMobile && scroll > ACCURACY) {\n $fixedButtons.classList.remove('fadeIn');\n this.util.animateCSS($fixedButtons, ['fadeOut', 'faster'], true);\n } else if (!isMobile || scroll < - ACCURACY) {\n $fixedButtons.style.display = 'block';\n $fixedButtons.classList.remove('fadeOut');\n this.util.animateCSS($fixedButtons, ['fadeIn', 'faster'], true);\n }\n } else {\n if (!isMobile) {\n $fixedButtons.classList.remove('fadeIn');\n this.util.animateCSS($fixedButtons, ['fadeOut', 'faster'], true);\n }\n $fixedButtons.style.display = 'none';\n }\n for (let event of this.scrollEventSet) event();\n this.oldScrollTop = this.newScrollTop;\n }, false);\n }\n\n onResize() {\n window.addEventListener('resize', () => {\n if (!this._resizeTimeout) {\n this._resizeTimeout = window.setTimeout(() => {\n this._resizeTimeout = null;\n for (let event of this.resizeEventSet) event();\n this.initToc();\n this.initMermaid();\n this.initSearch();\n }, 100);\n }\n }, false);\n }\n\n onClickMask() {\n document.getElementById('mask').addEventListener('click', () => {\n for (let event of this.clickMaskEventSet) event();\n document.body.classList.remove('blur');\n }, false);\n }\n\n init() {\n try {\n this.initSVGIcon();\n this.initTwemoji();\n this.initMenuMobile();\n this.initSwitchTheme();\n this.initSearch();\n this.initDetails();\n this.initLightGallery();\n this.initHighlight();\n this.initTable();\n this.initHeaderLink();\n this.initSmoothScroll();\n this.initMath();\n this.initMermaid();\n this.initEcharts();\n this.initTypeit();\n this.initMapbox();\n this.initCookieconsent();\n } catch (err) {\n console.error(err);\n }\n\n window.setTimeout(() => {\n this.initToc();\n this.initComment();\n\n this.onScroll();\n this.onResize();\n this.onClickMask();\n }, 100);\n }\n}\n\nconst themeInit = () => {\n const theme = new Theme();\n theme.init();\n};\n\nif (document.readyState !== 'loading') {\n themeInit();\n} else {\n document.addEventListener('DOMContentLoaded', themeInit, false);\n}\n"],"mappings":"0sEAAMA,CAAAA,I,0GACF,iBAAQC,CAAR,CAAkBC,CAAlB,CAA2B,CACvBD,CAAQ,CAAGA,CAAQ,EAAI,EADA,CAEvB,IAAK,GAAIE,CAAAA,CAAC,CAAG,CAAb,CAAgBA,CAAC,CAAGF,CAAQ,CAACG,MAA7B,CAAqCD,CAAC,EAAtC,CAA0CD,CAAO,CAACD,CAAQ,CAACE,CAAD,CAAT,CACpD,C,4BAED,uBAAe,CACX,MAAQE,CAAAA,QAAQ,CAACC,eAAT,EAA4BD,QAAQ,CAACC,eAAT,CAAyBC,SAAtD,EAAoEF,QAAQ,CAACG,IAAT,CAAcD,SAC5F,C,wBAED,mBAAW,CACP,MAAOE,CAAAA,MAAM,CAACC,UAAP,CAAkB,oCAAlB,EAAwDC,OAClE,C,2BAED,sBAAc,CACV,MAAOF,CAAAA,MAAM,CAACC,UAAP,CAAkB,oCAAlB,EAAwDC,OAClE,C,0BAED,oBAAWC,CAAX,CAAoBC,CAApB,CAA+BC,CAA/B,CAAyCC,CAAzC,CAAmD,OAC1CC,KAAK,CAACC,OAAN,CAAcJ,CAAd,CAD0C,GAChBA,CAAS,CAAG,CAACA,CAAD,CADI,EAE/C,GAAAD,CAAO,CAACM,SAAR,EAAkBC,GAAlB,UAAsB,UAAtB,4BAAqCN,CAArC,GAF+C,CAG/C,GAAMX,CAAAA,CAAO,CAAG,UAAM,OAClB,GAAAU,CAAO,CAACM,SAAR,EAAkBE,MAAlB,UAAyB,UAAzB,4BAAwCP,CAAxC,GADkB,CAElBD,CAAO,CAACS,mBAAR,CAA4B,cAA5B,CAA4CnB,CAA5C,CAFkB,CAGM,UAApB,QAAOa,CAAAA,CAHO,EAGkBA,CAAQ,EAC/C,CAJD,CAKKD,CAR0C,EAQhCF,CAAO,CAACU,gBAAR,CAAyB,cAAzB,CAAyCpB,CAAzC,IAClB,C,SAGCqB,K,yBACF,YAAc,yBACV,KAAKC,MAAL,CAAcf,MAAM,CAACe,MADX,CAEV,KAAKC,IAAL,CAAY,KAAKD,MAAL,CAAYC,IAFd,CAGV,KAAKC,MAAL,CAAsD,MAAxC,GAAArB,QAAQ,CAACG,IAAT,CAAcmB,YAAd,CAA2B,OAA3B,CAHJ,CAIV,KAAKC,IAAL,CAAY,GAAI5B,CAAAA,IAJN,CAKV,KAAK6B,YAAL,CAAoB,KAAKD,IAAL,CAAUE,YAAV,EALV,CAMV,KAAKC,YAAL,CAAoB,KAAKF,YANf,CAOV,KAAKG,cAAL,CAAsB,GAAIC,CAAAA,GAPhB,CAQV,KAAKC,cAAL,CAAsB,GAAID,CAAAA,GARhB,CASV,KAAKE,mBAAL,CAA2B,GAAIF,CAAAA,GATrB,CAUV,KAAKG,iBAAL,CAAyB,GAAIH,CAAAA,GAVnB,CAWNxB,MAAM,CAAC4B,eAXD,EAWkBA,eAAe,EAC9C,C,gDAED,sBAAc,CACV,KAAKT,IAAL,CAAUU,OAAV,CAAkBjC,QAAQ,CAACkC,gBAAT,CAA0B,gBAA1B,CAAlB,CAA+D,SAAAC,CAAK,CAAI,CACpEC,KAAK,CAACD,CAAK,CAACb,YAAN,CAAmB,cAAnB,CAAD,CAAL,CACKe,IADL,CACU,SAAAC,CAAQ,QAAIA,CAAAA,CAAQ,CAACC,IAAT,EAAJ,CADlB,EAEKF,IAFL,CAEU,SAAAG,CAAG,CAAI,CACT,GAAMC,CAAAA,CAAK,CAAGzC,QAAQ,CAAC0C,aAAT,CAAuB,KAAvB,CAAd,CACAD,CAAK,CAACE,kBAAN,CAAyB,YAAzB,CAAuCH,CAAvC,CAFS,CAGT,GAAMI,CAAAA,CAAI,CAAGH,CAAK,CAACI,UAAnB,CACAD,CAAI,CAACE,YAAL,CAAkB,cAAlB,CAAkCX,CAAK,CAACb,YAAN,CAAmB,cAAnB,CAAlC,CAJS,CAKTsB,CAAI,CAAC/B,SAAL,CAAeC,GAAf,CAAmB,MAAnB,CALS,CAMT,GAAMiC,CAAAA,CAAc,CAAGH,CAAI,CAACI,oBAAL,CAA0B,OAA1B,CAAvB,CACID,CAAc,CAAChD,MAPV,EAOkB6C,CAAI,CAACK,WAAL,CAAiBF,CAAc,CAAC,CAAD,CAA/B,CAPlB,CAQTZ,CAAK,CAACe,aAAN,CAAoBC,YAApB,CAAiCP,CAAjC,CAAuCT,CAAvC,CACH,CAXL,EAYKiB,KAZL,CAYW,SAAAC,CAAG,CAAI,CAAEC,OAAO,CAACC,KAAR,CAAcF,CAAd,CAAqB,CAZzC,CAaH,CAdD,CAeH,C,2BAED,sBAAc,CACN,KAAKlC,MAAL,CAAYqC,OADN,EACeA,OAAO,CAACC,KAAR,CAAczD,QAAQ,CAACG,IAAvB,CAC5B,C,8BAED,yBAAiB,IACPuD,CAAAA,CAAiB,CAAG1D,QAAQ,CAAC2D,cAAT,CAAwB,oBAAxB,CADb,CAEPC,CAAW,CAAG5D,QAAQ,CAAC2D,cAAT,CAAwB,aAAxB,CAFP,CAGbD,CAAiB,CAACzC,gBAAlB,CAAmC,OAAnC,CAA4C,UAAM,CAC9CjB,QAAQ,CAACG,IAAT,CAAcU,SAAd,CAAwBgD,MAAxB,CAA+B,MAA/B,CAD8C,CAE9CH,CAAiB,CAAC7C,SAAlB,CAA4BgD,MAA5B,CAAmC,QAAnC,CAF8C,CAG9CD,CAAW,CAAC/C,SAAZ,CAAsBgD,MAAtB,CAA6B,QAA7B,CACH,CAJD,IAHa,CAQb,KAAKC,sBAAL,CAA8B,KAAKA,sBAAL,EAAgC,UAAM,CAChEJ,CAAiB,CAAC7C,SAAlB,CAA4BE,MAA5B,CAAmC,QAAnC,CADgE,CAEhE6C,CAAW,CAAC/C,SAAZ,CAAsBE,MAAtB,CAA6B,QAA7B,CACH,CAXY,CAYb,KAAKgB,iBAAL,CAAuBjB,GAAvB,CAA2B,KAAKgD,sBAAhC,CACH,C,+BAED,0BAAkB,YACd,KAAKvC,IAAL,CAAUU,OAAV,CAAkBjC,QAAQ,CAAC+D,sBAAT,CAAgC,cAAhC,CAAlB,CAAmE,SAAAC,CAAY,CAAI,CAC/EA,CAAY,CAAC/C,gBAAb,CAA8B,OAA9B,CAAuC,UAAM,CACG,MAAxC,GAAAjB,QAAQ,CAACG,IAAT,CAAcmB,YAAd,CAA2B,OAA3B,CADqC,CACWtB,QAAQ,CAACG,IAAT,CAAc2C,YAAd,CAA2B,OAA3B,CAAoC,OAApC,CADX,CAEpC9C,QAAQ,CAACG,IAAT,CAAc2C,YAAd,CAA2B,OAA3B,CAAoC,MAApC,CAFoC,CAGzC,CAAI,CAACzB,MAAL,CAAc,CAAC,CAAI,CAACA,MAHqB,CAIzCjB,MAAM,CAAC6D,YAAP,EAAuBA,YAAY,CAACC,OAAb,CAAqB,OAArB,CAA8B,CAAI,CAAC7C,MAAL,CAAc,MAAd,CAAuB,OAArD,CAJkB,oCAKvB,CAAI,CAACS,mBALkB,MAKzC,+BAASqC,CAAAA,CAAT,SAA4CA,CAAK,EAAjD,CALyC,+BAM5C,CAND,IAOH,CARD,CASH,C,0BAED,qBAAa,YACHC,CAAY,CAAG,KAAKjD,MAAL,CAAYkD,MADxB,CAEHC,CAAQ,CAAG,KAAK/C,IAAL,CAAU+C,QAAV,EAFR,CAGT,KAAI,CAACF,CAAD,EAAiBE,CAAQ,EAAI,KAAKC,iBAAlC,EAAuD,CAACD,CAAD,EAAa,KAAKE,kBAA7E,MAEMC,CAAAA,CAAe,CAAGL,CAAY,CAACK,eAAb,CAA+BL,CAAY,CAACK,eAA5C,CAA8D,EAFtF,CAGMC,CAAa,CAAGN,CAAY,CAACM,aAAb,CAA6BN,CAAY,CAACM,aAA1C,CAA0D,EAHhF,CAIMC,CAAY,CAAGP,CAAY,CAACO,YAAb,CAA4BP,CAAY,CAACO,YAAzC,CAAwD,IAJ7E,CAMMC,CAAM,CAAGN,CAAQ,CAAG,QAAH,CAAc,SANrC,CAOMO,CAAO,CAAG7E,QAAQ,CAAC2D,cAAT,kBAAkCiB,CAAlC,EAPhB,CAQME,CAAY,CAAG9E,QAAQ,CAAC2D,cAAT,wBAAwCiB,CAAxC,EARrB,CASMG,CAAa,CAAG/E,QAAQ,CAAC2D,cAAT,yBAAyCiB,CAAzC,EATtB,CAUMI,CAAc,CAAGhF,QAAQ,CAAC2D,cAAT,0BAA0CiB,CAA1C,EAVvB,CAWMK,CAAY,CAAGjF,QAAQ,CAAC2D,cAAT,wBAAwCiB,CAAxC,EAXrB,CAYIN,CAZJ,EAaI,KAAKC,iBAAL,GAbJ,CAcIO,CAAY,CAAC7D,gBAAb,CAA8B,OAA9B,CAAuC,UAAM,CACzCjB,QAAQ,CAACG,IAAT,CAAcU,SAAd,CAAwBC,GAAxB,CAA4B,MAA5B,CADyC,CAEzC+D,CAAO,CAAChE,SAAR,CAAkBC,GAAlB,CAAsB,MAAtB,CACH,CAHD,IAdJ,CAkBId,QAAQ,CAAC2D,cAAT,CAAwB,sBAAxB,EAAgD1C,gBAAhD,CAAiE,OAAjE,CAA0E,UAAM,CAC5E4D,CAAO,CAAChE,SAAR,CAAkBE,MAAlB,CAAyB,MAAzB,CAD4E,CAE5Ef,QAAQ,CAACG,IAAT,CAAcU,SAAd,CAAwBE,MAAxB,CAA+B,MAA/B,CAF4E,CAG5Ef,QAAQ,CAAC2D,cAAT,CAAwB,oBAAxB,EAA8C9C,SAA9C,CAAwDE,MAAxD,CAA+D,QAA/D,CAH4E,CAI5Ef,QAAQ,CAAC2D,cAAT,CAAwB,aAAxB,EAAuC9C,SAAvC,CAAiDE,MAAjD,CAAwD,QAAxD,CAJ4E,CAK5EiE,CAAc,CAACE,KAAf,CAAqBC,OAArB,CAA+B,MAL6C,CAM5EF,CAAY,CAACC,KAAb,CAAmBC,OAAnB,CAA6B,MAN+C,CAO5E,CAAI,CAACC,aAAL,EAAsB,CAAI,CAACA,aAAL,CAAmBC,YAAnB,CAAgCC,MAAhC,CAAuC,EAAvC,CACzB,CARD,IAlBJ,CA2BIL,CAAY,CAAChE,gBAAb,CAA8B,OAA9B,CAAuC,UAAM,CACzCgE,CAAY,CAACC,KAAb,CAAmBC,OAAnB,CAA6B,MADY,CAEzC,CAAI,CAACC,aAAL,EAAsB,CAAI,CAACA,aAAL,CAAmBC,YAAnB,CAAgCC,MAAhC,CAAuC,EAAvC,CACzB,CAHD,IA3BJ,CA+BI,KAAKC,wBAAL,CAAgC,KAAKA,wBAAL,EAAkC,UAAM,CACpEV,CAAO,CAAChE,SAAR,CAAkBE,MAAlB,CAAyB,MAAzB,CADoE,CAEpEiE,CAAc,CAACE,KAAf,CAAqBC,OAArB,CAA+B,MAFqC,CAGpEF,CAAY,CAACC,KAAb,CAAmBC,OAAnB,CAA6B,MAHuC,CAIpE,CAAI,CAACC,aAAL,EAAsB,CAAI,CAACA,aAAL,CAAmBC,YAAnB,CAAgCC,MAAhC,CAAuC,EAAvC,CACzB,CApCL,CAqCI,KAAKvD,iBAAL,CAAuBjB,GAAvB,CAA2B,KAAKyE,wBAAhC,CArCJ,GAuCI,KAAKf,kBAAL,GAvCJ,CAwCIO,CAAa,CAAC9D,gBAAd,CAA+B,OAA/B,CAAwC,UAAM,CAC1CjB,QAAQ,CAACG,IAAT,CAAcU,SAAd,CAAwBC,GAAxB,CAA4B,MAA5B,CAD0C,CAE1C+D,CAAO,CAAChE,SAAR,CAAkBC,GAAlB,CAAsB,MAAtB,CAF0C,CAG1CgE,CAAY,CAACU,KAAb,EACH,CAJD,IAxCJ,CA6CIP,CAAY,CAAChE,gBAAb,CAA8B,OAA9B,CAAuC,UAAM,CACzCgE,CAAY,CAACC,KAAb,CAAmBC,OAAnB,CAA6B,MADY,CAEzC,CAAI,CAACM,cAAL,EAAuB,CAAI,CAACA,cAAL,CAAoBJ,YAApB,CAAiCC,MAAjC,CAAwC,EAAxC,CAC1B,CAHD,IA7CJ,CAiDI,KAAKI,yBAAL,CAAiC,KAAKA,yBAAL,EAAmC,UAAM,CACtEb,CAAO,CAAChE,SAAR,CAAkBE,MAAlB,CAAyB,MAAzB,CADsE,CAEtEiE,CAAc,CAACE,KAAf,CAAqBC,OAArB,CAA+B,MAFuC,CAGtEF,CAAY,CAACC,KAAb,CAAmBC,OAAnB,CAA6B,MAHyC,CAItE,CAAI,CAACM,cAAL,EAAuB,CAAI,CAACA,cAAL,CAAoBJ,YAApB,CAAiCC,MAAjC,CAAwC,EAAxC,CAC1B,CAtDL,CAuDI,KAAKvD,iBAAL,CAAuBjB,GAAvB,CAA2B,KAAK4E,yBAAhC,CAvDJ,EAyDAZ,CAAY,CAAC7D,gBAAb,CAA8B,OAA9B,CAAuC,UAAM,CACVgE,CAAY,CAACC,KAAb,CAAmBC,OADT,CACd,EAAvB,GAAAL,CAAY,CAACa,KADwB,CACmB,MADnB,CAEP,QACrC,CAHD,IAzDA,CA8DA,GAAMC,CAAAA,CAAc,CAAG,UAAM,CACzB,GAAMC,CAAAA,CAAU,CAAGR,YAAY,yBAAkBT,CAAlB,EAA4B,CACvDkB,IAAI,GADmD,CAEvDC,UAAU,GAF6C,CAGvDC,qBAAqB,4BAAsBpB,CAAtB,CAHkC,CAIvDqB,eAAe,GAJwC,CAKvDC,UAAU,CAAE,CAAEC,QAAQ,GAAV,CAL2C,CAMvDC,KAAK,GANkD,CAA5B,CAO5B,CACCC,IAAI,CAAE,QADP,CAECC,MAAM,CAAE,gBAACC,CAAD,CAAQ7F,CAAR,CAAqB,CACzBsE,CAAc,CAACE,KAAf,CAAqBC,OAArB,CAA+B,QADN,CAEzBF,CAAY,CAACC,KAAb,CAAmBC,OAAnB,CAA6B,MAFJ,CAGzB,GAAMqB,CAAAA,CAAM,CAAG,SAACC,CAAD,CAAa,CACxBzB,CAAc,CAACE,KAAf,CAAqBC,OAArB,CAA+B,MADP,CAExBF,CAAY,CAACC,KAAb,CAAmBC,OAAnB,CAA6B,QAFL,CAGxBzE,CAAQ,CAAC+F,CAAD,CACX,CAJD,CAKA,GAA0B,MAAtB,GAAArC,CAAY,CAACsC,IAAjB,CAAkC,CAC9B,GAAMrC,CAAAA,CAAM,CAAG,UAAM,CACbsC,IAAI,CAACC,YADQ,GACML,CAAK,CAAGI,IAAI,CAACC,YAAL,CAAkBL,CAAlB,CADd,EAEjB,GAAME,CAAAA,CAAO,CAAG,EAAhB,CA8BA,MA7BA,CAAA,CAAI,CAACI,MAAL,CAAYxC,MAAZ,CAAmBkC,CAAnB,EAA0BtE,OAA1B,CAAkC,WAAsC,IAAnC6E,CAAAA,CAAmC,GAAnCA,GAAmC,CAAjBC,CAAiB,GAA9BC,SAA8B,CAAjBD,QAAiB,CAC9DC,CAAS,CAAG,CAAI,CAACC,UAAL,CAAgBH,CAAhB,CADkD,CAE9DI,CAF8D,CAE7BF,CAF6B,CAE9DE,GAF8D,CAEzDC,CAFyD,CAE7BH,CAF6B,CAEzDG,KAFyD,CAEzCC,CAFyC,CAE7BJ,CAF6B,CAElDK,OAFkD,CAGpE,IAAIZ,CAAO,CAACS,CAAD,CAAX,EACA,GAAII,CAAAA,CAAQ,CAAG,CAAf,CACAC,MAAM,CAACC,MAAP,CAAcT,CAAd,EAAwB9E,OAAxB,CAAgC,WAAiB,IAAdoF,CAAAA,CAAc,GAAdA,OAAc,CAC7C,GAAIA,CAAJ,CAAa,CACT,GAAMI,CAAAA,CAAa,CAAGJ,CAAO,CAACC,QAAR,CAAiB,CAAjB,EAAoB,CAApB,CAAtB,CADS,CAELG,CAAa,CAAGH,CAAhB,EAAyC,CAAb,GAAAA,CAFvB,IAEuCA,CAAQ,CAAGG,CAFlD,CAGZ,CACJ,CALD,CAFA,CAQAH,CAAQ,EAAI5C,CAAa,CAAG,CAR5B,CASe,CAAX,CAAA4C,CATJ,EAUIA,CAAQ,EAAIF,CAAO,CAACM,MAAR,CAAeJ,CAAf,CAAyB,EAAzB,EAA6BK,WAA7B,CAAyC,GAAzC,EAAgD,CAVhE,CAWIP,CAAO,CAAG,MAAQA,CAAO,CAACM,MAAR,CAAeJ,CAAf,CAAyB5C,CAAzB,CAXtB,EAaI0C,CAAO,CAAGA,CAAO,CAACM,MAAR,CAAe,CAAf,CAAkBhD,CAAlB,CAbd,CAeA6C,MAAM,CAACK,IAAP,CAAYb,CAAZ,EAAsB9E,OAAtB,CAA8B,SAAA4F,CAAG,CAAI,CACjCV,CAAK,CAAGA,CAAK,CAACW,OAAN,CAAc,GAAIC,CAAAA,MAAJ,YAAeF,CAAf,MAAuB,IAAvB,CAAd,YAAgDlD,CAAhD,iBAAoEA,CAApE,MADyB,CAEjCyC,CAAO,CAAGA,CAAO,CAACU,OAAR,CAAgB,GAAIC,CAAAA,MAAJ,YAAeF,CAAf,MAAuB,IAAvB,CAAhB,YAAkDlD,CAAlD,iBAAsEA,CAAtE,MACb,CAHD,CAfA,CAmBA8B,CAAO,CAACS,CAAD,CAAP,CAAe,CACX,IAAOA,CADI,CAEX,MAAUC,CAFC,CAGX,KAASH,CAAS,CAACgB,IAHR,CAIX,QAAYZ,CAJD,CAnBf,CAyBH,CA5BD,CA6BA,CAAOG,MAAM,CAACC,MAAP,CAAcf,CAAd,EAAuBwB,KAAvB,CAA6B,CAA7B,CAAgCxD,CAAhC,CACV,CAjCD,CAkCK,CAAI,CAACoC,MAnCoB,CA2DvBL,CAAM,CAACnC,CAAM,EAAP,CA3DiB,CAoC1BjC,KAAK,CAACgC,CAAY,CAAC8D,YAAd,CAAL,CACK7F,IADL,CACU,SAAAC,CAAQ,QAAIA,CAAAA,CAAQ,CAAC6F,IAAT,EAAJ,CADlB,EAEK9F,IAFL,CAEU,SAAAjB,CAAI,CAAI,CACV,GAAMgH,CAAAA,CAAS,CAAG,EAAlB,CACA,CAAI,CAACvB,MAAL,CAAcF,IAAI,CAAC,UAAY,CACvBvC,CAAY,CAACiE,gBADU,EACQ,KAAKC,GAAL,CAAS3B,IAAI,CAACvC,CAAY,CAACiE,gBAAd,CAAb,CADR,CAE3B,KAAKvB,GAAL,CAAS,UAAT,CAF2B,CAG3B,KAAKyB,KAAL,CAAW,OAAX,CAAoB,CAAEC,KAAK,CAAE,EAAT,CAApB,CAH2B,CAI3B,KAAKD,KAAL,CAAW,MAAX,CAAmB,CAAEC,KAAK,CAAE,EAAT,CAAnB,CAJ2B,CAK3B,KAAKD,KAAL,CAAW,YAAX,CAAyB,CAAEC,KAAK,CAAE,EAAT,CAAzB,CAL2B,CAM3B,KAAKD,KAAL,CAAW,SAAX,CAAsB,CAAEC,KAAK,CAAE,EAAT,CAAtB,CAN2B,CAO3B,KAAKC,iBAAL,CAAyB,CAAC,UAAD,CAPE,CAQ3BrH,CAAI,CAACa,OAAL,CAAa,SAACyG,CAAD,CAAY,CACrBN,CAAS,CAACM,CAAM,CAACC,QAAR,CAAT,CAA6BD,CADR,CAErB,KAAK5H,GAAL,CAAS4H,CAAT,CACH,CAHD,CAIH,CAZiB,CAFR,CAeV,CAAI,CAACzB,UAAL,CAAkBmB,CAfR,CAgBV5B,CAAM,CAACnC,CAAM,EAAP,CACT,CAnBL,EAmBOjB,KAnBP,CAmBa,SAAAC,CAAG,CAAI,CACZC,OAAO,CAACC,KAAR,CAAcF,CAAd,CADY,CAEZmD,CAAM,CAAC,EAAD,CACT,CAtBL,CAwBP,CA5DD,IA4DiC,SAAtB,GAAApC,CAAY,CAACsC,IA5DxB,GA6DI,CAAI,CAACkC,aAAL,CAAqB,CAAI,CAACA,aAAL,EAAsBC,aAAa,CAACzE,CAAY,CAAC0E,YAAd,CAA4B1E,CAAY,CAAC2E,gBAAzC,CAAb,CAAwEC,SAAxE,CAAkF5E,CAAY,CAAC6E,YAA/F,CA7D/C,CA8DI,CAAI,CAACL,aAAL,CACKvE,MADL,CACYkC,CADZ,CACmB,CACX2C,MAAM,CAAE,CADG,CAEXnJ,MAAM,CAAoB,CAAlB,CAAA0E,CAFG,CAGX0E,qBAAqB,CAAE,CAAC,OAAD,CAHZ,CAIXC,mBAAmB,CAAE,mBAAY1E,CAAZ,EAJV,CAKX2E,eAAe,YAAM1E,CAAN,KALJ,CAMX2E,gBAAgB,aAAO3E,CAAP,KANL,CADnB,EASKtC,IATL,CASU,WAAc,IAAXkH,CAAAA,CAAW,GAAXA,IAAW,CACV9C,CAAO,CAAG,EADA,CAEhB8C,CAAI,CAACtH,OAAL,CAAa,WAA6E,IAA1EiF,CAAAA,CAA0E,GAA1EA,GAA0E,CAArEc,CAAqE,GAArEA,IAAqE,CAA3Cb,CAA2C,GAA/DqC,gBAA+D,CAA3CrC,KAA2C,CAAhBE,CAAgB,GAAlCoC,cAAkC,CAAhBpC,OAAgB,CAClFZ,CAAO,CAACS,CAAD,CAAP,EAAgBT,CAAO,CAACS,CAAD,CAAP,CAAaE,OAAb,CAAqBrH,MAArB,CAA8BsH,CAAO,CAAC1B,KAD4B,GAEtFc,CAAO,CAACS,CAAD,CAAP,CAAe,CACXA,GAAG,CAAEA,CADM,CAEXC,KAAK,CAAEA,CAAK,CAACxB,KAFF,CAGXqC,IAAI,CAAEA,CAHK,CAIXZ,OAAO,CAAEC,CAAO,CAAC1B,KAJN,CAFuE,CAQzF,CARD,CAFgB,CAWhBa,CAAM,CAACe,MAAM,CAACC,MAAP,CAAcf,CAAd,EAAuBwB,KAAvB,CAA6B,CAA7B,CAAgCxD,CAAhC,CAAD,CACT,CArBL,EAsBKrB,KAtBL,CAsBW,SAAAC,CAAG,CAAI,CACVC,OAAO,CAACC,KAAR,CAAcF,CAAd,CADU,CAEVmD,CAAM,CAAC,EAAD,CACT,CAzBL,CA9DJ,CAyFH,CAnGF,CAoGCkD,SAAS,CAAE,CACPC,UAAU,CAAE,0BAAGxC,CAAAA,CAAH,GAAGA,KAAH,CAAUa,CAAV,GAAUA,IAAV,CAAgBZ,CAAhB,GAAgBA,OAAhB,uDAAqED,CAArE,mDAAkHa,CAAlH,2DAAsKZ,CAAtK,WADL,CAEPwC,KAAK,CAAE,qBAAGrD,CAAAA,CAAH,GAAGA,KAAH,6CAA4CnC,CAAY,CAACyF,cAAzD,6CAAwGtD,CAAxG,oBAFA,CAGPuD,MAAM,CAAE,kBAAQ,8BACZ,MAAyD,SAAtB,GAAA1F,CAAY,CAACsC,IAAb,CAAkC,CACjEqD,UAAU,CAAE,SADqD,CAEjEC,IAAI,CAAE,wCAF2D,CAGjEC,IAAI,CAAE,0BAH2D,CAAlC,CAI/B,CACAF,UAAU,CAAE,SADZ,CAEAC,IAAI,CAAE,EAFN,CAGAC,IAAI,CAAE,qBAHN,CAJJ,CAAQF,CAAR,GAAQA,UAAR,CAAoBC,CAApB,GAAoBA,IAApB,CAA0BC,CAA1B,GAA0BA,IAA1B,CASA,iEAAwDA,CAAxD,2DAAyGD,CAAzG,aAAiHD,CAAjH,cAAyI,CAbtI,CApGZ,CAP4B,CAA/B,CA2HAlE,CAAU,CAACqE,EAAX,CAAc,uBAAd,CAAuC,SAACC,CAAD,CAASR,CAAT,CAA4C,CAC/EvJ,MAAM,CAACgK,QAAP,CAAgBC,MAAhB,CAAuBV,CAAU,CAACzC,GAAlC,CACH,CAFD,CA5HyB,CA+HrB5C,CA/HqB,CA+HX,CAAI,CAACc,aAAL,CAAqBS,CA/HV,CAgIpB,CAAI,CAACJ,cAAL,CAAsBI,CAC9B,CAjID,CAkIA,GAAIzB,CAAY,CAACkG,gBAAb,EAAiC,CAACtK,QAAQ,CAAC2D,cAAT,CAAwB,gBAAxB,CAAtC,CAAiF,CAC7E,GAAM4G,CAAAA,CAAM,CAAGvK,QAAQ,CAAC0C,aAAT,CAAuB,QAAvB,CAAf,CACA6H,CAAM,CAACC,EAAP,CAAY,gBAFiE,CAG7ED,CAAM,CAAC7D,IAAP,CAAc,iBAH+D,CAI7E6D,CAAM,CAACE,GAAP,CAAarG,CAAY,CAACkG,gBAJmD,CAK7EC,CAAM,CAACG,KAAP,GAL6E,CAMzEH,CAAM,CAACI,UANkE,CAOzEJ,CAAM,CAACK,kBAAP,CAA4B,UAAM,EACL,QAArB,EAAAL,CAAM,CAACI,UAAP,EAAsD,UAArB,EAAAJ,CAAM,CAACI,UADd,IAE1BJ,CAAM,CAACK,kBAAP,CAA4B,IAFF,CAG1BhF,CAAc,EAHY,CAKjC,CAZwE,CAczE2E,CAAM,CAACM,MAAP,CAAgB,UAAM,CAClBjF,CAAc,EACjB,CAhBwE,CAkB7E5F,QAAQ,CAACG,IAAT,CAAc2K,WAAd,CAA0BP,CAA1B,CACH,CAnBD,IAmBO3E,CAAAA,CAAc,EAnNrB,CAoNH,C,2BAED,sBAAc,CACV,KAAKrE,IAAL,CAAUU,OAAV,CAAkBjC,QAAQ,CAAC+D,sBAAT,CAAgC,SAAhC,CAAlB,CAA8D,SAAAgH,CAAQ,CAAI,CACtE,GAAMC,CAAAA,CAAQ,CAAGD,CAAQ,CAAChH,sBAAT,CAAgC,iBAAhC,EAAmD,CAAnD,CAAjB,CACAiH,CAAQ,CAAC/J,gBAAT,CAA0B,OAA1B,CAAmC,UAAM,CACrC8J,CAAQ,CAAClK,SAAT,CAAmBgD,MAAnB,CAA0B,MAA1B,CACH,CAFD,IAGH,CALD,CAMH,C,gCAED,2BAAmB,CACX,KAAK1C,MAAL,CAAY8J,YADD,EACeA,YAAY,CAACjL,QAAQ,CAAC2D,cAAT,CAAwB,SAAxB,CAAD,CAAqC,KAAKxC,MAAL,CAAY8J,YAAjD,CAC7C,C,6BAED,wBAAgB,YACZ,KAAK1J,IAAL,CAAUU,OAAV,CAAkBjC,QAAQ,CAACkC,gBAAT,CAA0B,yBAA1B,CAAlB,CAAwE,SAAAgJ,CAAU,CAAI,CAClF,GAAMC,CAAAA,CAAO,CAAGnL,QAAQ,CAAC0C,aAAT,CAAuB,KAAvB,CAAhB,CACAyI,CAAO,CAACC,SAAR,CAAoBF,CAAU,CAACE,SAFmD,CAGlF,GAAMC,CAAAA,CAAM,CAAGrL,QAAQ,CAAC0C,aAAT,CAAuB,OAAvB,CAAf,CACAyI,CAAO,CAACL,WAAR,CAAoBO,CAApB,CAJkF,CAKlF,GAAMC,CAAAA,CAAM,CAAGtL,QAAQ,CAAC0C,aAAT,CAAuB,OAAvB,CAAf,CACA2I,CAAM,CAACP,WAAP,CAAmBQ,CAAnB,CANkF,CAOlF,GAAMC,CAAAA,CAAG,CAAGvL,QAAQ,CAAC0C,aAAT,CAAuB,IAAvB,CAAZ,CACA4I,CAAM,CAACR,WAAP,CAAmBS,CAAnB,CARkF,CASlF,GAAMC,CAAAA,CAAG,CAAGxL,QAAQ,CAAC0C,aAAT,CAAuB,IAAvB,CAAZ,CACA6I,CAAG,CAACT,WAAJ,CAAgBU,CAAhB,CAVkF,CAWlFN,CAAU,CAAChI,aAAX,CAAyBC,YAAzB,CAAsCgI,CAAtC,CAA+CD,CAA/C,CAXkF,CAYlFM,CAAG,CAACV,WAAJ,CAAgBI,CAAhB,CACH,CAbD,CADY,CAeZ,KAAK3J,IAAL,CAAUU,OAAV,CAAkBjC,QAAQ,CAACkC,gBAAT,CAA0B,sBAA1B,CAAlB,CAAqE,SAAAiJ,CAAO,CAAI,CAC5E,GAAMM,CAAAA,CAAa,CAAGN,CAAO,CAACjJ,gBAAR,CAAyB,mBAAzB,CAAtB,CACA,GAAIuJ,CAAa,CAAC1L,MAAlB,CAA0B,IAChB2L,CAAAA,CAAK,CAAGD,CAAa,CAACA,CAAa,CAAC1L,MAAd,CAAuB,CAAxB,CADL,CAEhB8E,CAAO,CAAG7E,QAAQ,CAAC0C,aAAT,CAAuB,KAAvB,CAFM,CAGtBmC,CAAO,CAACuG,SAAR,CAAoB,eAAiBM,CAAK,CAACN,SAAN,CAAgBO,WAAhB,EAHf,CAItB,GAAMC,CAAAA,CAAM,CAAG5L,QAAQ,CAAC0C,aAAT,CAAuB,MAAvB,CAAf,CACAkJ,CAAM,CAAC/K,SAAP,CAAiBC,GAAjB,CAAqB,YAArB,CALsB,CAMtB8K,CAAM,CAACjJ,kBAAP,CAA0B,YAA1B,CAAwC,oDAAxC,CANsB,CAOtBiJ,CAAM,CAAC3K,gBAAP,CAAwB,OAAxB,CAAiC,UAAM,CACnCkK,CAAO,CAACtK,SAAR,CAAkBgD,MAAlB,CAAyB,MAAzB,CACH,CAFD,IAPsB,CAUtBgB,CAAO,CAACiG,WAAR,CAAoBc,CAApB,CAVsB,CAWtB,GAAMC,CAAAA,CAAS,CAAG7L,QAAQ,CAAC0C,aAAT,CAAuB,MAAvB,CAAlB,CACAmJ,CAAS,CAAClJ,kBAAV,CAA6B,YAA7B,CAA2C,2CAA3C,CAZsB,CAatBkJ,CAAS,CAAChL,SAAV,CAAoBC,GAApB,CAAwB,UAAxB,CAbsB,CActB+K,CAAS,CAAC5K,gBAAV,CAA2B,OAA3B,CAAoC,UAAM,CACtCkK,CAAO,CAACtK,SAAR,CAAkBC,GAAlB,CAAsB,MAAtB,CACH,CAFD,IAdsB,CAiBtB+D,CAAO,CAACiG,WAAR,CAAoBe,CAApB,CAjBsB,CAkBtB,GAAMC,CAAAA,CAAK,CAAG9L,QAAQ,CAAC0C,aAAT,CAAuB,MAAvB,CAAd,CACAoJ,CAAK,CAACnJ,kBAAN,CAAyB,YAAzB,CAAuC,qCAAvC,CAnBsB,CAoBtBmJ,CAAK,CAACjL,SAAN,CAAgBC,GAAhB,CAAoB,MAApB,CApBsB,CAqBtB,GAAMiL,CAAAA,CAAI,CAAGL,CAAK,CAACM,SAAnB,CAEA,IADqC,CAAjC,CAAA,CAAI,CAAC7K,MAAL,CAAY4K,IAAZ,CAAiBE,aAAjB,EAAsCF,CAAI,CAACG,KAAL,CAAW,IAAX,EAAiBnM,MAAjB,CAA0B,CAAI,CAACoB,MAAL,CAAY4K,IAAZ,CAAiBE,aAAjB,CAAiC,CACrG,GADwGd,CAAO,CAACtK,SAAR,CAAkBC,GAAlB,CAAsB,MAAtB,CACxG,CAAI,CAAI,CAACK,MAAL,CAAY4K,IAAZ,CAAiBI,SAArB,CAAgC,CAC5BL,CAAK,CAAChJ,YAAN,CAAmB,qBAAnB,CAA0CiJ,CAA1C,CAD4B,CAE5BD,CAAK,CAAC3E,KAAN,CAAc,CAAI,CAAChG,MAAL,CAAY4K,IAAZ,CAAiBI,SAFH,CAG5B,GAAMC,CAAAA,CAAS,CAAG,GAAIC,CAAAA,WAAJ,CAAgBP,CAAhB,CAAlB,CACAM,CAAS,CAAClC,EAAV,CAAa,SAAb,CAAwB,UAAM,CAC1B,CAAI,CAAC3I,IAAL,CAAU+K,UAAV,CAAqBZ,CAArB,CAA4B,OAA5B,CACH,CAFD,CAJ4B,CAO5B7G,CAAO,CAACiG,WAAR,CAAoBgB,CAApB,CACH,CACDX,CAAO,CAACoB,YAAR,CAAqB1H,CAArB,CAA8BsG,CAAO,CAACtI,UAAtC,CACH,CACJ,CApCD,CAqCH,C,yBAED,oBAAY,CACR,KAAKtB,IAAL,CAAUU,OAAV,CAAkBjC,QAAQ,CAACkC,gBAAT,CAA0B,gBAA1B,CAAlB,CAA+D,SAAAmJ,CAAM,CAAI,CACrE,GAAMmB,CAAAA,CAAQ,CAAGxM,QAAQ,CAAC0C,aAAT,CAAuB,KAAvB,CAAjB,CACA8J,CAAQ,CAACpB,SAAT,CAAqB,eAFgD,CAGrEC,CAAM,CAACnI,aAAP,CAAqBC,YAArB,CAAkCqJ,CAAlC,CAA4CnB,CAA5C,CAHqE,CAIrEmB,CAAQ,CAAC1B,WAAT,CAAqBO,CAArB,CACH,CALD,CAMH,C,8BAED,yBAAiB,CACb,IAAK,GAAIoB,CAAAA,CAAG,CAAG,CAAf,CAAyB,CAAP,EAAAA,CAAlB,CAA4BA,CAAG,EAA/B,CACI,KAAKlL,IAAL,CAAUU,OAAV,CAAkBjC,QAAQ,CAACkC,gBAAT,CAA0B,uBAAyBuK,CAAnD,CAAlB,CAA2E,SAAA5H,CAAO,CAAI,CAClFA,CAAO,CAAChE,SAAR,CAAkBC,GAAlB,CAAsB,YAAtB,CADkF,CAElF+D,CAAO,CAAClC,kBAAR,CAA2B,YAA3B,sBAAsDkC,CAAO,CAAC2F,EAA9D,kCACH,CAHD,CAKP,C,uBAED,kBAAU,YACAkC,CAAQ,CAAG1M,QAAQ,CAAC2D,cAAT,CAAwB,iBAAxB,CADX,CAEN,GAAiB,IAAb,GAAA+I,CAAJ,CACA,GAAI1M,QAAQ,CAAC2D,cAAT,CAAwB,YAAxB,EAAsCrC,YAAtC,CAAmD,WAAnD,GAAmE,KAAKC,IAAL,CAAUoL,WAAV,EAAvE,CAAgG,CAC5F,GAAMC,CAAAA,CAAiB,CAAG5M,QAAQ,CAAC2D,cAAT,CAAwB,oBAAxB,CAA1B,CACI+I,CAAQ,CAACxJ,aAAT,GAA2B0J,CAF6D,GAGxFF,CAAQ,CAACxJ,aAAT,CAAuBD,WAAvB,CAAmCyJ,CAAnC,CAHwF,CAIxFE,CAAiB,CAAC9B,WAAlB,CAA8B4B,CAA9B,CAJwF,EAMxF,KAAKG,YANmF,EAMrE,KAAKlL,cAAL,CAAoBmL,MAApB,CAA2B,KAAKD,YAAhC,CAC1B,CAPD,IAOO,CACH,GAAME,CAAAA,CAAe,CAAG/M,QAAQ,CAAC2D,cAAT,CAAwB,kBAAxB,CAAxB,CACI+I,CAAQ,CAACxJ,aAAT,GAA2B6J,CAF5B,GAGCL,CAAQ,CAACxJ,aAAT,CAAuBD,WAAvB,CAAmCyJ,CAAnC,CAHD,CAICK,CAAe,CAACjC,WAAhB,CAA4B4B,CAA5B,CAJD,KAMGM,CAAAA,CAAI,CAAGhN,QAAQ,CAAC2D,cAAT,CAAwB,UAAxB,CANV,CAOGsJ,CAAK,CAAGjN,QAAQ,CAAC+D,sBAAT,CAAgC,MAAhC,EAAwC,CAAxC,CAPX,CAQGmJ,CAAI,CAAGD,CAAK,CAACE,qBAAN,EARV,CASHH,CAAI,CAAC9H,KAAL,CAAWkI,IAAX,WAAqBF,CAAI,CAACE,IAAL,CAAYF,CAAI,CAACG,KAAjB,CAAyB,EAA9C,MATG,CAUHL,CAAI,CAAC9H,KAAL,CAAWoI,QAAX,WAAyBL,CAAK,CAACE,qBAAN,GAA8BC,IAA9B,CAAqC,EAA9D,MAVG,CAWHJ,CAAI,CAAC9H,KAAL,CAAWqI,UAAX,CAAwB,SAXrB,IAYGC,CAAAA,CAAgB,CAAGd,CAAQ,CAACxK,gBAAT,CAA0B,eAA1B,CAZtB,CAaGuL,CAAc,CAAGf,CAAQ,CAAC1J,oBAAT,CAA8B,IAA9B,CAbpB,CAcG0K,CAAmB,CAAG1N,QAAQ,CAAC+D,sBAAT,CAAgC,YAAhC,CAdzB,CAeG4J,CAAa,CAAyD,QAAtD,GAAA3N,QAAQ,CAACG,IAAT,CAAcmB,YAAd,CAA2B,qBAA3B,CAfnB,CAgBGsM,CAAY,CAAG5N,QAAQ,CAAC2D,cAAT,CAAwB,gBAAxB,EAA0CkK,YAhB5D,CAiBGC,CAAW,CAAG,IAAMH,CAAa,CAAGC,CAAH,CAAkB,CAArC,CAjBjB,CAkBGG,CAAS,CAAGf,CAAI,CAACgB,SAlBpB,CAmBGC,CAAY,CAAGF,CAAS,CAAGD,CAAZ,EAA2BH,CAAa,CAAG,CAAH,CAAOC,CAA/C,CAnBlB,CAoBH,KAAKf,YAAL,CAAoB,KAAKA,YAAL,EAAsB,UAAM,IACtCqB,CAAAA,CAAS,CAAGlO,QAAQ,CAAC2D,cAAT,CAAwB,aAAxB,EAAuCqK,SADb,CAEtCG,CAAS,CAAGD,CAAS,CAAGlB,CAAI,CAACG,qBAAL,GAA6BiB,MAFf,CAGtCC,CAAY,CAAGF,CAAS,CAAGL,CAAZ,EAA2BH,CAAa,CAAG,CAAH,CAAOC,CAA/C,CAHuB,CAIxC,CAAI,CAACpM,YAAL,CAAoByM,CAJoB,EAKxCjB,CAAI,CAAC9H,KAAL,CAAWoC,QAAX,CAAsB,UALkB,CAMxC0F,CAAI,CAAC9H,KAAL,CAAWoJ,GAAX,WAAoBP,CAApB,MANwC,EAOjC,CAAI,CAACvM,YAAL,CAAoB6M,CAPa,EAQxCrB,CAAI,CAAC9H,KAAL,CAAWoC,QAAX,CAAsB,UARkB,CASxC0F,CAAI,CAAC9H,KAAL,CAAWoJ,GAAX,WAAoBH,CAApB,MATwC,GAWxCnB,CAAI,CAAC9H,KAAL,CAAWoC,QAAX,CAAsB,OAXkB,CAYxC0F,CAAI,CAAC9H,KAAL,CAAWoJ,GAAX,WAAoBR,CAApB,MAZwC,EAe5C,CAAI,CAACvM,IAAL,CAAUU,OAAV,CAAkBuL,CAAlB,CAAoC,SAAAe,CAAQ,CAAI,CAAEA,CAAQ,CAAC1N,SAAT,CAAmBE,MAAnB,CAA0B,QAA1B,CAAsC,CAAxF,CAf4C,CAgB5C,CAAI,CAACQ,IAAL,CAAUU,OAAV,CAAkBwL,CAAlB,CAAkC,SAAAe,CAAM,CAAI,CAAEA,CAAM,CAAC3N,SAAP,CAAiBE,MAAjB,CAAwB,YAAxB,CAAwC,CAAtF,CAhB4C,CAmB5C,OAFM0N,CAAAA,CAAa,CAAG,IAAMd,CAAa,CAAGC,CAAH,CAAkB,CAArC,CAEtB,CADIc,CAAc,CAAGhB,CAAmB,CAAC3N,MAApB,CAA6B,CAClD,CAASD,CAAC,CAAG,CAAb,CAAgBA,CAAC,CAAG4N,CAAmB,CAAC3N,MAApB,CAA6B,CAAjD,CAAoDD,CAAC,EAArD,CAAyD,IAC/C6O,CAAAA,CAAO,CAAGjB,CAAmB,CAAC5N,CAAD,CAAnB,CAAuBqN,qBAAvB,GAA+CmB,GADV,CAE/CM,CAAO,CAAGlB,CAAmB,CAAC5N,CAAC,CAAG,CAAL,CAAnB,CAA2BqN,qBAA3B,GAAmDmB,GAFd,CAGrD,GAAU,CAAL,EAAAxO,CAAC,EAAS6O,CAAO,CAAGF,CAArB,EACCE,CAAO,EAAIF,CAAX,EAA4BG,CAAO,CAAGH,CAD3C,CAC2D,CACvDC,CAAc,CAAG5O,CADsC,CAEvD,KACH,CACJ,CACD,GAAuB,CAAC,CAApB,GAAA4O,CAAJ,CAA2B,CACvBlB,CAAgB,CAACkB,CAAD,CAAhB,CAAiC7N,SAAjC,CAA2CC,GAA3C,CAA+C,QAA/C,CADuB,KAEvB,GAAI+N,CAAAA,CAAO,CAAGrB,CAAgB,CAACkB,CAAD,CAAhB,CAAiCxL,aAFxB,CAGhB2L,CAAO,GAAKnC,CAHI,EAInBmC,CAAO,CAAChO,SAAR,CAAkBC,GAAlB,CAAsB,YAAtB,CAJmB,CAKnB+N,CAAO,CAAGA,CAAO,CAAC3L,aAAR,CAAsBA,aAEvC,CACJ,CAxDE,CAyDH,KAAK2J,YAAL,EAzDG,CA0DH,KAAKlL,cAAL,CAAoBb,GAApB,CAAwB,KAAK+L,YAA7B,CACH,CACJ,C,wBAED,mBAAW,CACH,KAAK1L,MAAL,CAAY2N,IADT,EACeC,mBAAmB,CAAC/O,QAAQ,CAACG,IAAV,CAAgB,KAAKgB,MAAL,CAAY2N,IAA5B,CAC5C,C,2BAED,sBAAc,IACJE,CAAAA,CAAgB,CAAGhP,QAAQ,CAAC+D,sBAAT,CAAgC,SAAhC,CADf,CAENiL,CAAgB,CAACjP,MAFX,GAGNkP,OAAO,CAACC,UAAR,CAAmB,CAACC,WAAW,GAAZ,CAAqBC,KAAK,CAAE,MAA5B,CAAnB,CAHM,CAIN,KAAK7N,IAAL,CAAUU,OAAV,CAAkB+M,CAAlB,CAAoC,SAAAK,CAAQ,CAAI,CAC5CJ,OAAO,CAACK,UAAR,CAAmBC,MAAnB,CAA0B,OAASF,CAAQ,CAAC7E,EAA5C,CAAgD,KAAKpJ,IAAL,CAAUiO,CAAQ,CAAC7E,EAAnB,CAAhD,CAAwE,SAAAgF,CAAO,CAAI,CAC/EH,CAAQ,CAAC1M,kBAAT,CAA4B,YAA5B,CAA0C6M,CAA1C,CACH,CAFD,CAEGH,CAFH,CAGH,CAJD,CAJM,CAUb,C,2BAED,sBAAc,YACV,KAAKI,qBAAL,CAA6B,KAAKA,qBAAL,EAA+B,UAAM,CAC9D,CAAI,CAACC,WAAL,CAAmB,CAAI,CAACA,WAAL,EAAoB,EADuB,CAE9D,IAAK,GAAI5P,CAAAA,CAAC,CAAG,CAAb,CAAgBA,CAAC,CAAG,CAAI,CAAC4P,WAAL,CAAiB3P,MAArC,CAA6CD,CAAC,EAA9C,CACI,CAAI,CAAC4P,WAAL,CAAiB5P,CAAjB,EAAoB6P,OAApB,GAEJ,CAAI,CAACD,WAAL,CAAmB,EAL2C,CAM9D,CAAI,CAACnO,IAAL,CAAUU,OAAV,CAAkBjC,QAAQ,CAAC+D,sBAAT,CAAgC,SAAhC,CAAlB,CAA8D,SAAA6L,CAAQ,CAAI,CACtE,GAAMC,CAAAA,CAAK,CAAGC,OAAO,CAACC,IAAR,CAAaH,CAAb,CAAuB,CAAI,CAACvO,MAAL,CAAc,MAAd,CAAuB,UAA9C,CAA0D,CAAC2O,QAAQ,CAAE,KAAX,CAA1D,CAAd,CACAH,CAAK,CAACI,SAAN,CAAgBC,IAAI,CAACzM,KAAL,CAAW,CAAI,CAACrC,IAAL,CAAUwO,CAAQ,CAACpF,EAAnB,CAAX,CAAhB,CAFsE,CAGtE,CAAI,CAACkF,WAAL,CAAiBS,IAAjB,CAAsBN,CAAtB,CACH,CAJD,CAKH,CAZS,CAaV,KAAK/N,mBAAL,CAAyBhB,GAAzB,CAA6B,KAAK2O,qBAAlC,CAbU,CAcV,KAAKA,qBAAL,EAdU,CAeV,KAAKW,gBAAL,CAAwB,KAAKA,gBAAL,EAA0B,UAAM,CACpD,IAAK,GAAItQ,CAAAA,CAAC,CAAG,CAAb,CAAgBA,CAAC,CAAG,CAAI,CAAC4P,WAAL,CAAiB3P,MAArC,CAA6CD,CAAC,EAA9C,CACI,CAAI,CAAC4P,WAAL,CAAiB5P,CAAjB,EAAoBuQ,MAApB,EAEP,CAnBS,CAoBV,KAAKxO,cAAL,CAAoBf,GAApB,CAAwB,KAAKsP,gBAA7B,CACH,C,0BAED,qBAAa,YACL,KAAKjP,MAAL,CAAYmP,MADP,GAELC,QAAQ,CAACC,WAAT,CAAuB,KAAKrP,MAAL,CAAYmP,MAAZ,CAAmBE,WAFrC,CAGLD,QAAQ,CAACE,gBAAT,CAA0B,KAAKtP,MAAL,CAAYmP,MAAZ,CAAmBI,aAA7C,CAHK,CAIL,KAAKC,UAAL,CAAkB,KAAKA,UAAL,EAAmB,EAJhC,CAKL,KAAKpP,IAAL,CAAUU,OAAV,CAAkBjC,QAAQ,CAAC+D,sBAAT,CAAgC,QAAhC,CAAlB,CAA6D,SAAA6M,CAAO,CAAI,OACgC,CAAI,CAACxP,IAAL,CAAUwP,CAAO,CAACpG,EAAlB,CADhC,CAC5DqG,CAD4D,GAC5DA,GAD4D,CACvDC,CADuD,GACvDA,GADuD,CAClDC,CADkD,GAClDA,IADkD,CAC5CC,CAD4C,GAC5CA,UAD4C,CAChCC,CADgC,GAChCA,SADgC,CACrBC,CADqB,GACrBA,MADqB,CACbC,CADa,GACbA,UADa,CACDC,CADC,GACDA,SADC,CACUC,CADV,GACUA,KADV,CACiBC,CADjB,GACiBA,UADjB,CAE9DhB,CAAM,CAAG,GAAIC,CAAAA,QAAQ,CAACgB,GAAb,CAAiB,CAC5BC,SAAS,CAAEZ,CADiB,CAE5Ba,MAAM,CAAE,CAACZ,CAAD,CAAMC,CAAN,CAFoB,CAG5BC,IAAI,CAAEA,CAHsB,CAI5BW,OAAO,CAAE,EAJmB,CAK5BxM,KAAK,CAAE,CAAI,CAAC7D,MAAL,CAAc4P,CAAd,CAA0BD,CALL,CAM5BW,kBAAkB,GANU,CAAjB,CAFqD,CAUhET,CAVgE,EAWhE,GAAIX,CAAAA,QAAQ,CAACqB,MAAb,GAAsBC,SAAtB,CAAgC,CAAChB,CAAD,CAAMC,CAAN,CAAhC,EAA4CgB,KAA5C,CAAkDxB,CAAlD,CAXgE,CAahEa,CAbgE,EAchEb,CAAM,CAACyB,UAAP,CAAkB,GAAIxB,CAAAA,QAAQ,CAACyB,iBAA/B,CAAoD,cAApD,CAdgE,CAgBhEZ,CAhBgE,EAiBhEd,CAAM,CAACyB,UAAP,CAAkB,GAAIxB,CAAAA,QAAQ,CAAC0B,gBAAb,CAA8B,CAC5CC,eAAe,CAAE,CACbC,kBAAkB,GADL,CAD2B,CAI5CC,gBAAgB,GAJ4B,CAK5CC,iBAAiB,GAL2B,CAA9B,CAAlB,CAMI,cANJ,CAjBgE,CAyBhEhB,CAzBgE,EA0BhEf,CAAM,CAACyB,UAAP,CAAkB,GAAIxB,CAAAA,QAAQ,CAAC+B,YAA/B,CA1BgE,CA4BhEhB,CA5BgE,EA6BhEhB,CAAM,CAACyB,UAAP,CAAkB,GAAIxB,CAAAA,QAAQ,CAACgC,iBAA/B,CA7BgE,CA+BpEjC,CAAM,CAACyB,UAAP,CAAkB,GAAIS,CAAAA,cAAtB,CA/BoE,CAgCpE,CAAI,CAAC7B,UAAL,CAAgBR,IAAhB,CAAqBG,CAArB,CACH,CAjCD,CALK,CAuCL,KAAKmC,oBAAL,CAA4B,KAAKA,oBAAL,EAA8B,UAAM,CAC5D,CAAI,CAAClR,IAAL,CAAUU,OAAV,CAAkB,CAAI,CAAC0O,UAAvB,CAAmC,SAAAL,CAAM,CAAI,IACnCM,CAAAA,CAAO,CAAGN,CAAM,CAACoC,YAAP,EADyB,GAEP,CAAI,CAACtR,IAAL,CAAUwP,CAAO,CAACpG,EAAlB,CAFO,CAEjCwG,CAFiC,GAEjCA,UAFiC,CAErBC,CAFqB,GAErBA,SAFqB,CAGzCX,CAAM,CAACqC,QAAP,CAAgB,CAAI,CAACtR,MAAL,CAAc4P,CAAd,CAA0BD,CAA1C,CAHyC,CAIzCV,CAAM,CAACyB,UAAP,CAAkB,GAAIS,CAAAA,cAAtB,CACH,CALD,CAMH,CA9CI,CA+CL,KAAK1Q,mBAAL,CAAyBhB,GAAzB,CAA6B,KAAK2R,oBAAlC,CA/CK,CAiDZ,C,0BAED,qBAAa,CACT,GAAI,KAAKtR,MAAL,CAAYyR,MAAhB,CAAwB,IACdC,CAAAA,CAAY,CAAG,KAAK1R,MAAL,CAAYyR,MADb,CAEdE,CAAK,CAAGD,CAAY,CAACC,KAAb,CAAqBD,CAAY,CAACC,KAAlC,CAA0C,GAFpC,CAGdC,CAAW,CAAGF,CAAY,CAACE,WAAb,CAA2BF,CAAY,CAACE,WAAxC,CAAsD,GAHtD,CAIdC,CAAU,CAAGH,CAAY,CAACG,UAAb,CAA0BH,CAAY,CAACG,UAAvC,CAAoD,GAJnD,CAKpBzL,MAAM,CAACC,MAAP,CAAcqL,CAAY,CAACzR,IAA3B,EAAiCa,OAAjC,CAAyC,SAAAgR,CAAK,CAAI,CAC9C,GAAMC,CAAAA,CAAO,CAAG,SAACpT,CAAD,CAAO,IACb0K,CAAAA,CAAE,CAAGyI,CAAK,CAACnT,CAAD,CADG,CAEbqT,CAAQ,CAAG,GAAIC,CAAAA,MAAJ,YAAe5I,CAAf,EAAqB,CAClC6I,OAAO,CAAE,KAAKjS,IAAL,CAAUoJ,CAAV,CADyB,CAElCsI,KAAK,CAAEA,CAF2B,CAGlCQ,QAAQ,GAH0B,CAIlCP,WAAW,CAAEA,CAJqB,CAKlCC,UAAU,CAAEA,CALsB,CAMlCO,gBAAgB,GANkB,CAOlCC,aAAa,CAAE,wBAAM,OACb1T,CAAAA,CAAC,GAAKmT,CAAK,CAAClT,MAAN,CAAe,CADR,MAEgB,CAAzB,EAAA8S,CAAY,CAACY,QAFJ,EAEmBrT,MAAM,CAACsT,UAAP,CAAkB,UAAM,CACpDP,CAAQ,CAACQ,OAAT,EACH,CAF+B,CAE7Bd,CAAY,CAACY,QAFgB,CAFnB,OAOjBN,CAAQ,CAACQ,OAAT,EAPiB,CAQjBT,CAAO,CAACpT,CAAC,CAAG,CAAL,CARU,CASpB,CAhBiC,CAArB,EAiBd8T,EAjBc,EAkBpB,CApBD,CAqBAV,CAAO,CAAC,CAAD,CACV,CAvBD,CAwBH,CACJ,C,2BAED,sBAAc,CACV,GAAI,KAAK/R,MAAL,CAAY0S,OAAhB,CAAyB,CACrB,GAAI,KAAK1S,MAAL,CAAY0S,OAAZ,CAAoBC,MAAxB,CAAgC,CAC5B,KAAK3S,MAAL,CAAY0S,OAAZ,CAAoBC,MAApB,CAA2B3T,IAA3B,CAAkC4T,SAAS,CAAC3T,MAAM,CAACgK,QAAP,CAAgBH,IAAjB,CADf,CAE5B,GAAM6J,CAAAA,CAAM,CAAG,GAAIE,CAAAA,MAAJ,CAAW,KAAK7S,MAAL,CAAY0S,OAAZ,CAAoBC,MAA/B,CAAf,CACAA,CAAM,CAACvE,MAAP,CAAc,QAAd,CACH,CAED,GADI,KAAKpO,MAAL,CAAY0S,OAAZ,CAAoBI,MACxB,EADgC,GAAIC,CAAAA,MAAJ,CAAW,KAAK/S,MAAL,CAAY0S,OAAZ,CAAoBI,MAA/B,CAChC,CAAI,KAAK9S,MAAL,CAAY0S,OAAZ,CAAoBM,UAAxB,CAAoC,IAC1BC,CAAAA,CAAgB,CAAG,KAAKjT,MAAL,CAAY0S,OAAZ,CAAoBM,UADb,CAE1B5J,CAAM,CAAGvK,QAAQ,CAAC0C,aAAT,CAAuB,QAAvB,CAFiB,CAGhC6H,CAAM,CAACE,GAAP,CAAa,+BAHmB,CAIhCF,CAAM,CAAC7D,IAAP,CAAc,iBAJkB,CAKhC6D,CAAM,CAACzH,YAAP,CAAoB,MAApB,CAA4BsR,CAAgB,CAACC,IAA7C,CALgC,CAMhC9J,CAAM,CAACzH,YAAP,CAAoB,YAApB,CAAkCsR,CAAgB,CAACE,SAAnD,CANgC,CAO5BF,CAAgB,CAACG,KAPW,EAOJhK,CAAM,CAACzH,YAAP,CAAoB,OAApB,CAA6BsR,CAAgB,CAACG,KAA9C,CAPI,CAQhChK,CAAM,CAACzH,YAAP,CAAoB,OAApB,CAA6B,KAAKzB,MAAL,CAAc+S,CAAgB,CAACI,SAA/B,CAA2CJ,CAAgB,CAACK,UAAzF,CARgC,CAShClK,CAAM,CAACmK,WAAP,CAAqB,WATW,CAUhCnK,CAAM,CAACG,KAAP,GAVgC,CAWhC1K,QAAQ,CAAC2D,cAAT,CAAwB,YAAxB,EAAsCmH,WAAtC,CAAkDP,CAAlD,CAXgC,CAYhC,KAAKoK,wBAAL,CAAgC,KAAKA,wBAAL,EAAkC,UAAM,IAC9DC,CAAAA,CAAO,CAAG,CACZlO,IAAI,CAAE,WADM,CAEZ0I,KAAK,CAAE,KAAK/N,MAAL,CAAc+S,CAAgB,CAACI,SAA/B,CAA2CJ,CAAgB,CAACK,UAFvD,CADoD,CAK9DI,CAAM,CAAG7U,QAAQ,CAAC8U,aAAT,CAAuB,mBAAvB,CALqD,CAMpED,CAAM,CAACE,aAAP,CAAqBC,WAArB,CAAiCJ,CAAjC,CAA0C,qBAA1C,CACH,CAnB+B,CAoBhC,KAAK9S,mBAAL,CAAyBhB,GAAzB,CAA6B,KAAK6T,wBAAlC,CACH,CACJ,CACJ,C,gCAED,2BAAmB,CACXM,YADW,EACG,GAAIA,CAAAA,YAAJ,CAAiB,eAAjB,CAAgC,CAAEnC,KAAK,CAAE,GAAT,CAAcoC,eAAe,GAA7B,CAAqCC,MAAM,CAAE,iBAA7C,CAAhC,CACrB,C,iCAED,4BAAoB,CACZ,KAAKhU,MAAL,CAAYiU,aADA,EACeA,aAAa,CAACC,UAAd,CAAyB,KAAKlU,MAAL,CAAYiU,aAArC,CAClC,C,wBAED,mBAAW,YACDE,CAAQ,CAAG,EADV,CAIP,GAF0D,MAAtD,GAAAtV,QAAQ,CAACG,IAAT,CAAcmB,YAAd,CAA2B,qBAA3B,CAEJ,EAFkEgU,CAAQ,CAACnF,IAAT,CAAcnQ,QAAQ,CAAC2D,cAAT,CAAwB,gBAAxB,CAAd,CAElE,CADyD,MAArD,GAAA3D,QAAQ,CAACG,IAAT,CAAcmB,YAAd,CAA2B,oBAA3B,CACJ,EADiEgU,CAAQ,CAACnF,IAAT,CAAcnQ,QAAQ,CAAC2D,cAAT,CAAwB,eAAxB,CAAd,CACjE,CAAI3D,QAAQ,CAAC2D,cAAT,CAAwB,UAAxB,CAAJ,CAAyC,CACrC,GAAM4R,CAAAA,CAAa,CAAGvV,QAAQ,CAAC2D,cAAT,CAAwB,eAAxB,CAAtB,CACA4R,CAAa,CAACtL,IAAd,YAFqC,CAGrCsL,CAAa,CAACrQ,KAAd,CAAoBC,OAApB,CAA8B,OACjC,CARM,GASDqQ,CAAAA,CAAa,CAAGxV,QAAQ,CAAC2D,cAAT,CAAwB,eAAxB,CATf,CAUD8R,CAAQ,CAAG,EAVV,CAWPrV,MAAM,CAACa,gBAAP,CAAwB,QAAxB,CAAkC,UAAM,CACpC,CAAI,CAACO,YAAL,CAAoB,CAAI,CAACD,IAAL,CAAUE,YAAV,EADgB,IAE9BiU,CAAAA,CAAM,CAAG,CAAI,CAAClU,YAAL,CAAoB,CAAI,CAACE,YAFJ,CAG9B4C,CAAQ,CAAG,CAAI,CAAC/C,IAAL,CAAU+C,QAAV,EAHmB,CAIpC,CAAI,CAAC/C,IAAL,CAAUU,OAAV,CAAkBqT,CAAlB,CAA4B,SAAAzQ,CAAO,CAAI,CAC/B6Q,CAAM,CAAGD,CADsB,EAE/B5Q,CAAO,CAAChE,SAAR,CAAkBE,MAAlB,CAAyB,YAAzB,CAF+B,CAG/B,CAAI,CAACQ,IAAL,CAAU+K,UAAV,CAAqBzH,CAArB,CAA8B,CAAC,WAAD,CAAc,QAAd,CAA9B,IAH+B,EAIxB6Q,CAAM,CAAG,CAAED,CAJa,GAK/B5Q,CAAO,CAAChE,SAAR,CAAkBE,MAAlB,CAAyB,WAAzB,CAL+B,CAM/B,CAAI,CAACQ,IAAL,CAAU+K,UAAV,CAAqBzH,CAArB,CAA8B,CAAC,YAAD,CAAe,QAAf,CAA9B,IAN+B,CAQtC,CARD,CAJoC,CAahC,CAAI,CAACrD,YAAL,CAduB,GACS,CAc5B8C,CAAQ,EAAIoR,CAAM,CAAGD,CAdO,EAe5BD,CAAa,CAAC3U,SAAd,CAAwBE,MAAxB,CAA+B,QAA/B,CAf4B,CAgB5B,CAAI,CAACQ,IAAL,CAAU+K,UAAV,CAAqBkJ,CAArB,CAAoC,CAAC,SAAD,CAAY,QAAZ,CAApC,IAhB4B,GAiBrB,CAAClR,CAAD,EAAaoR,CAAM,CAAG,CAAED,CAjBH,IAkB5BD,CAAa,CAACtQ,KAAd,CAAoBC,OAApB,CAA8B,OAlBF,CAmB5BqQ,CAAa,CAAC3U,SAAd,CAAwBE,MAAxB,CAA+B,SAA/B,CAnB4B,CAoB5B,CAAI,CAACQ,IAAL,CAAU+K,UAAV,CAAqBkJ,CAArB,CAAoC,CAAC,QAAD,CAAW,QAAX,CAApC,IApB4B,GAuB5B,CAAClR,CAvB2B,GAwB5BkR,CAAa,CAAC3U,SAAd,CAAwBE,MAAxB,CAA+B,QAA/B,CAxB4B,CAyB5B,CAAI,CAACQ,IAAL,CAAU+K,UAAV,CAAqBkJ,CAArB,CAAoC,CAAC,SAAD,CAAY,QAAZ,CAApC,IAzB4B,EA2BhCA,CAAa,CAACtQ,KAAd,CAAoBC,OAApB,CAA8B,MA3BE,qCA6BlB,CAAI,CAACxD,cA7Ba,MA6BpC,+BAASwC,CAAAA,CAAT,SAAuCA,CAAK,EAA5C,CA7BoC,+BA8BpC,CAAI,CAACzC,YAAL,CAAoB,CAAI,CAACF,YAC5B,CA/BD,IAgCH,C,wBAED,mBAAW,YACPpB,MAAM,CAACa,gBAAP,CAAwB,QAAxB,CAAkC,UAAM,CAC/B,CAAI,CAAC0U,cAD0B,GAEhC,CAAI,CAACA,cAAL,CAAsBvV,MAAM,CAACsT,UAAP,CAAkB,UAAM,CAC1C,CAAI,CAACiC,cAAL,CAAsB,IADoB,oCAExB,CAAI,CAAC9T,cAFmB,MAE1C,+BAASsC,CAAAA,CAAT,SAAuCA,CAAK,EAA5C,CAF0C,+BAG1C,CAAI,CAACyR,OAAL,EAH0C,CAI1C,CAAI,CAACC,WAAL,EAJ0C,CAK1C,CAAI,CAACC,UAAL,EACH,CANqB,CAMnB,GANmB,CAFU,CAUvC,CAVD,IAWH,C,2BAED,sBAAc,CACV9V,QAAQ,CAAC2D,cAAT,CAAwB,MAAxB,EAAgC1C,gBAAhC,CAAiD,OAAjD,CAA0D,UAAM,oCAC1C,KAAKc,iBADqC,MAC5D,+BAASoC,CAAAA,CAAT,SAA0CA,CAAK,EAA/C,CAD4D,+BAE5DnE,QAAQ,CAACG,IAAT,CAAcU,SAAd,CAAwBE,MAAxB,CAA+B,MAA/B,CACH,CAHD,IAIH,C,oBAED,eAAO,YACH,GAAI,CACA,KAAKgV,WAAL,EADA,CAEA,KAAKC,WAAL,EAFA,CAGA,KAAKC,cAAL,EAHA,CAIA,KAAKC,eAAL,EAJA,CAKA,KAAKJ,UAAL,EALA,CAMA,KAAKK,WAAL,EANA,CAOA,KAAKC,gBAAL,EAPA,CAQA,KAAKC,aAAL,EARA,CASA,KAAKC,SAAL,EATA,CAUA,KAAKC,cAAL,EAVA,CAWA,KAAKC,gBAAL,EAXA,CAYA,KAAKC,QAAL,EAZA,CAaA,KAAKZ,WAAL,EAbA,CAcA,KAAKa,WAAL,EAdA,CAeA,KAAKC,UAAL,EAfA,CAgBA,KAAKC,UAAL,EAhBA,CAiBA,KAAKC,iBAAL,EACH,CAAC,MAAOxT,CAAP,CAAY,CACVC,OAAO,CAACC,KAAR,CAAcF,CAAd,CACH,CAEDjD,MAAM,CAACsT,UAAP,CAAkB,UAAM,CACpB,CAAI,CAACkC,OAAL,EADoB,CAEpB,CAAI,CAACkB,WAAL,EAFoB,CAIpB,CAAI,CAACC,QAAL,EAJoB,CAKpB,CAAI,CAACC,QAAL,EALoB,CAMpB,CAAI,CAACC,WAAL,EACH,CAPD,CAOG,GAPH,CAQH,C,SAGCC,SAAS,CAAG,UAAM,CACpB,GAAM9H,CAAAA,CAAK,CAAG,GAAIlO,CAAAA,KAAlB,CACAkO,CAAK,CAACW,IAAN,EACH,C,CAE2B,SAAxB,GAAA/P,QAAQ,CAAC2K,U,CAGT3K,QAAQ,CAACiB,gBAAT,CAA0B,kBAA1B,CAA8CiW,SAA9C,I,CAFAA,SAAS,E"}
\ No newline at end of file
diff --git a/assets/lib/lunr/lunr.segmentit.js b/assets/lib/lunr/lunr.segmentit.js
index 4c9c9ac2..75fa0cba 100644
--- a/assets/lib/lunr/lunr.segmentit.js
+++ b/assets/lib/lunr/lunr.segmentit.js
@@ -169,6 +169,18 @@ n.CHS_NAMES=T,n.ChsNameOptimizer=Z,n.ChsNameTokenizer=k,n.DatetimeOptimizer=$,n.
},{}],2:[function(require,module,exports){
-"use strict";var _segmentit=require("segmentit"),segmentit=(0,_segmentit.useDefault)(new _segmentit.Segment);lunr.segmentit=segmentit,lunr.queryHandler=function(a){return /^[\u4e00-\u9fa5]+$/.test(a)&&(a=lunr.segmentit.doSegment(a).map(function(a){return"+"+a.w}).join(" ")),a};
+"use strict";
+
+var _segmentit = require("segmentit");
+
+var segmentit = (0, _segmentit.useDefault)(new _segmentit.Segment());
+lunr.segmentit = segmentit;
+
+lunr.queryHandler = function (query) {
+ if (/^[\u4e00-\u9fa5]+$/.test(query)) query = lunr.segmentit.doSegment(query).map(function (seg) {
+ return '+' + seg.w;
+ }).join(' ');
+ return query;
+};
},{"segmentit":1}]},{},[2]);
diff --git a/layouts/partials/assets.html b/layouts/partials/assets.html
index 2ae78b75..a55e1eed 100644
--- a/layouts/partials/assets.html
+++ b/layouts/partials/assets.html
@@ -189,8 +189,7 @@
{{- $config | jsonify | printf "window.config=%s;" | dict "Content" | dict "Scratch" .Scratch "Data" | partial "scratch/script.html" -}}
{{- /* Theme script */ -}}
-{{- dict "Source" "js/theme.min.js" "Fingerprint" $fingerprint | dict "Scratch" .Scratch "Data" | partial "scratch/script.html" -}}
-{{- $_ := (resources.Get "js/theme.min.js.map").RelPermalink -}}
+{{- dict "Source" "js/theme.js" "Minify" true "Fingerprint" $fingerprint | dict "Scratch" .Scratch "Data" | partial "scratch/script.html" -}}
{{- with (.Scratch.Get "this").scriptArr -}}
{{- delimit . "\n" | dict "Content" | dict "Scratch" $.Scratch "Data" | partial "scratch/script.html" -}}
diff --git a/package-lock.json b/package-lock.json
index 8bffc622..efa02e11 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -10,16 +10,13 @@
"hasInstallScript": true,
"license": "MIT",
"devDependencies": {
- "@babel/cli": "^7.8.4",
- "@babel/core": "^7.9.0",
- "@babel/preset-env": "^7.9.0",
- "babel-preset-minify": "^0.5.1",
+ "@babel/cli": "^7.17.10",
+ "@babel/core": "^7.17.10",
+ "@babel/preset-env": "^7.17.10",
"babelify": "^10.0.0",
- "browserify": "^16.5.0",
- "core-js": "^3.6.4",
- "husky": "^4.2.3",
- "lodash": "^4.17.21",
- "minimist": "^1.2.6",
+ "browserify": "^16.5.2",
+ "core-js": "^3.22.4",
+ "husky": "^4.3.8",
"segmentit": "^2.0.3"
}
},
@@ -133,12 +130,6 @@
"node": ">=4"
}
},
- "node_modules/babel-plugin-minify-infinity": {
- "version": "0.4.3",
- "resolved": "https://registry.npmmirror.com/babel-plugin-minify-infinity/-/babel-plugin-minify-infinity-0.4.3.tgz",
- "integrity": "sha512-X0ictxCk8y+NvIf+bZ1HJPbVZKMlPku3lgYxPmIp62Dp8wdtbMLSekczty3MzvUOlrk5xzWYpBpQprXUjDRyMA==",
- "dev": true
- },
"node_modules/make-dir": {
"version": "2.1.0",
"resolved": "https://registry.npmmirror.com/make-dir/-/make-dir-2.1.0.tgz",
@@ -166,12 +157,6 @@
"sha.js": "^2.4.8"
}
},
- "node_modules/babel-plugin-transform-inline-consecutive-adds": {
- "version": "0.4.3",
- "resolved": "https://registry.npmmirror.com/babel-plugin-transform-inline-consecutive-adds/-/babel-plugin-transform-inline-consecutive-adds-0.4.3.tgz",
- "integrity": "sha512-8D104wbzzI5RlxeVPYeQb9QsUyepiH1rAO5hpPpQ6NPRgQLpIVwkS/Nbx944pm4K8Z+rx7CgjPsFACz/VCBN0Q==",
- "dev": true
- },
"node_modules/readable-stream/node_modules/safe-buffer": {
"version": "5.1.2",
"resolved": "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.1.2.tgz",
@@ -388,18 +373,6 @@
"node": ">= 0.4"
}
},
- "node_modules/babel-plugin-minify-simplify": {
- "version": "0.5.1",
- "resolved": "https://registry.npmmirror.com/babel-plugin-minify-simplify/-/babel-plugin-minify-simplify-0.5.1.tgz",
- "integrity": "sha512-OSYDSnoCxP2cYDMk9gxNAed6uJDiDz65zgL6h8d3tm8qXIagWGMLWhqysT6DY3Vs7Fgq7YUDcjOomhVUb+xX6A==",
- "dev": true,
- "dependencies": {
- "babel-helper-evaluate-path": "^0.5.0",
- "babel-helper-flip-expressions": "^0.4.3",
- "babel-helper-is-nodes-equiv": "^0.0.1",
- "babel-helper-to-multiple-sequence-expressions": "^0.5.0"
- }
- },
"node_modules/glob": {
"version": "7.2.0",
"resolved": "https://registry.npmmirror.com/glob/-/glob-7.2.0.tgz",
@@ -569,6 +542,12 @@
"integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==",
"dev": true
},
+ "node_modules/husky/node_modules/color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ },
"node_modules/@jridgewell/gen-mapping": {
"version": "0.1.1",
"resolved": "https://registry.npmmirror.com/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz",
@@ -620,16 +599,6 @@
"node": ">=6.9.0"
}
},
- "node_modules/babel-plugin-minify-guarded-expressions": {
- "version": "0.4.4",
- "resolved": "https://registry.npmmirror.com/babel-plugin-minify-guarded-expressions/-/babel-plugin-minify-guarded-expressions-0.4.4.tgz",
- "integrity": "sha512-RMv0tM72YuPPfLT9QLr3ix9nwUIq+sHT6z8Iu3sLbqldzC1Dls8DPCywzUIzkTx9Zh1hWX4q/m9BPoPed9GOfA==",
- "dev": true,
- "dependencies": {
- "babel-helper-evaluate-path": "^0.5.0",
- "babel-helper-flip-expressions": "^0.4.3"
- }
- },
"node_modules/@babel/template": {
"version": "7.16.7",
"resolved": "https://registry.npmmirror.com/@babel/template/-/template-7.16.7.tgz",
@@ -765,12 +734,6 @@
"integrity": "sha512-WF0LihfemtesFcJgO7xfOoOcnWzY/QHR4qeDqV44jPU3HTI54+LnfXK3SA27AVVGCdZFgjjFFaqUA9Jx7dMJZA==",
"dev": true
},
- "node_modules/babel-plugin-minify-numeric-literals": {
- "version": "0.4.3",
- "resolved": "https://registry.npmmirror.com/babel-plugin-minify-numeric-literals/-/babel-plugin-minify-numeric-literals-0.4.3.tgz",
- "integrity": "sha512-5D54hvs9YVuCknfWywq0eaYDt7qYxlNwCqW9Ipm/kYeS9gYhJd0Rr/Pm2WhHKJ8DC6aIlDdqSBODSthabLSX3A==",
- "dev": true
- },
"node_modules/which-pm-runs": {
"version": "1.1.0",
"resolved": "https://registry.npmmirror.com/which-pm-runs/-/which-pm-runs-1.0.0.tgz",
@@ -994,37 +957,6 @@
"node": ">=0.8.0"
}
},
- "node_modules/babel-preset-minify": {
- "version": "0.5.1",
- "resolved": "https://registry.npmmirror.com/babel-preset-minify/-/babel-preset-minify-0.5.1.tgz",
- "integrity": "sha512-1IajDumYOAPYImkHbrKeiN5AKKP9iOmRoO2IPbIuVp0j2iuCcj0n7P260z38siKMZZ+85d3mJZdtW8IgOv+Tzg==",
- "dev": true,
- "dependencies": {
- "babel-plugin-minify-flip-comparisons": "^0.4.3",
- "babel-plugin-transform-member-expression-literals": "^6.9.4",
- "babel-plugin-transform-property-literals": "^6.9.4",
- "babel-plugin-transform-inline-consecutive-adds": "^0.4.3",
- "babel-plugin-minify-mangle-names": "^0.5.0",
- "lodash": "^4.17.11",
- "babel-plugin-minify-builtins": "^0.5.0",
- "babel-plugin-transform-merge-sibling-variables": "^6.9.4",
- "babel-plugin-minify-simplify": "^0.5.1",
- "babel-plugin-transform-simplify-comparison-operators": "^6.9.4",
- "babel-plugin-minify-numeric-literals": "^0.4.3",
- "babel-plugin-transform-minify-booleans": "^6.9.4",
- "babel-plugin-transform-remove-undefined": "^0.5.0",
- "babel-plugin-transform-remove-console": "^6.9.4",
- "babel-plugin-minify-replace": "^0.5.0",
- "babel-plugin-transform-remove-debugger": "^6.9.4",
- "babel-plugin-minify-infinity": "^0.4.3",
- "babel-plugin-transform-regexp-constructors": "^0.4.3",
- "babel-plugin-minify-guarded-expressions": "^0.4.4",
- "babel-plugin-minify-constant-folding": "^0.5.0",
- "babel-plugin-minify-type-constructors": "^0.4.3",
- "babel-plugin-transform-undefined-to-void": "^6.9.4",
- "babel-plugin-minify-dead-code-elimination": "^0.5.1"
- }
- },
"node_modules/browserify-cipher": {
"version": "1.0.1",
"resolved": "https://registry.npmmirror.com/browserify-cipher/-/browserify-cipher-1.0.1.tgz",
@@ -1132,15 +1064,6 @@
"node": ">= 6"
}
},
- "node_modules/babel-plugin-minify-type-constructors": {
- "version": "0.4.3",
- "resolved": "https://registry.npmmirror.com/babel-plugin-minify-type-constructors/-/babel-plugin-minify-type-constructors-0.4.3.tgz",
- "integrity": "sha512-4ADB0irJ/6BeXWHubjCJmrPbzhxDgjphBMjIjxCc25n4NGJ00NsYqwYt+F/OvE9RXx8KaSW7cJvp+iZX436tnQ==",
- "dev": true,
- "dependencies": {
- "babel-helper-is-void-0": "^0.4.3"
- }
- },
"node_modules/@babel/plugin-transform-typeof-symbol": {
"version": "7.16.7",
"resolved": "https://registry.npmmirror.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.16.7.tgz",
@@ -1275,12 +1198,6 @@
"safe-buffer": "^5.0.1"
}
},
- "node_modules/babel-helper-remove-or-void": {
- "version": "0.4.3",
- "resolved": "https://registry.npmmirror.com/babel-helper-remove-or-void/-/babel-helper-remove-or-void-0.4.3.tgz",
- "integrity": "sha512-eYNceYtcGKpifHDir62gHJadVXdg9fAhuZEXiRQnJJ4Yi4oUTpqpNY//1pM4nVyjjDMPYaC2xSf0I+9IqVzwdA==",
- "dev": true
- },
"node_modules/@babel/helper-annotate-as-pure": {
"version": "7.16.7",
"resolved": "https://registry.npmmirror.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.7.tgz",
@@ -1417,12 +1334,6 @@
"node": ">=6.9.0"
}
},
- "node_modules/babel-plugin-transform-merge-sibling-variables": {
- "version": "6.9.4",
- "resolved": "https://registry.npmmirror.com/babel-plugin-transform-merge-sibling-variables/-/babel-plugin-transform-merge-sibling-variables-6.9.4.tgz",
- "integrity": "sha512-FDI9c4jqyYvl0pF8J0pE6xl5Ot235glDIc5mRfTH2nQ1qH/aNW45UZcAwVykD4OICRrgir6+7eQV7PPaLqsXsA==",
- "dev": true
- },
"node_modules/chalk": {
"version": "2.4.2",
"resolved": "https://registry.npmmirror.com/chalk/-/chalk-2.4.2.tgz",
@@ -1695,15 +1606,6 @@
"xtend": "^4.0.2"
}
},
- "node_modules/babel-plugin-transform-property-literals": {
- "version": "6.9.4",
- "resolved": "https://registry.npmmirror.com/babel-plugin-transform-property-literals/-/babel-plugin-transform-property-literals-6.9.4.tgz",
- "integrity": "sha512-Pf8JHTjTPxecqVyL6KSwD/hxGpoTZjiEgV7nCx0KFQsJYM0nuuoCajbg09KRmZWeZbJ5NGTySABYv8b/hY1eEA==",
- "dev": true,
- "dependencies": {
- "esutils": "^2.0.2"
- }
- },
"node_modules/combine-source-map": {
"version": "0.8.0",
"resolved": "https://registry.npmmirror.com/combine-source-map/-/combine-source-map-0.8.0.tgz",
@@ -1716,15 +1618,6 @@
"source-map": "~0.5.3"
}
},
- "node_modules/babel-plugin-minify-flip-comparisons": {
- "version": "0.4.3",
- "resolved": "https://registry.npmmirror.com/babel-plugin-minify-flip-comparisons/-/babel-plugin-minify-flip-comparisons-0.4.3.tgz",
- "integrity": "sha512-8hNwgLVeJzpeLVOVArag2DfTkbKodzOHU7+gAZ8mGBFGPQHK6uXVpg3jh5I/F6gfi5Q5usWU2OKcstn1YbAV7A==",
- "dev": true,
- "dependencies": {
- "babel-helper-is-void-0": "^0.4.3"
- }
- },
"node_modules/function-bind": {
"version": "1.1.1",
"resolved": "https://registry.npmmirror.com/function-bind/-/function-bind-1.1.1.tgz",
@@ -1871,6 +1764,18 @@
"integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==",
"dev": true
},
+ "node_modules/husky/node_modules/color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
"node_modules/https-browserify": {
"version": "1.0.0",
"resolved": "https://registry.npmmirror.com/https-browserify/-/https-browserify-1.0.0.tgz",
@@ -2133,12 +2038,6 @@
"node": ">=6"
}
},
- "node_modules/babel-plugin-transform-minify-booleans": {
- "version": "6.9.4",
- "resolved": "https://registry.npmmirror.com/babel-plugin-transform-minify-booleans/-/babel-plugin-transform-minify-booleans-6.9.4.tgz",
- "integrity": "sha512-9pW9ePng6DZpzGPalcrULuhSCcauGAbn8AeU3bE34HcDkGm8Ldt0ysjGkyb64f0K3T5ilV4mriayOVv5fg0ASA==",
- "dev": true
- },
"node_modules/gensync": {
"version": "1.0.0-beta.2",
"resolved": "https://registry.npmmirror.com/gensync/-/gensync-1.0.0-beta.2.tgz",
@@ -2336,12 +2235,6 @@
"node": ">=4"
}
},
- "node_modules/lodash": {
- "version": "4.17.21",
- "resolved": "https://registry.npmmirror.com/lodash/-/lodash-4.17.21.tgz",
- "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
- "dev": true
- },
"node_modules/@babel/plugin-transform-regenerator": {
"version": "7.17.9",
"resolved": "https://registry.npmmirror.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.17.9.tgz",
@@ -2363,12 +2256,6 @@
"integrity": "sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==",
"dev": true
},
- "node_modules/babel-plugin-transform-member-expression-literals": {
- "version": "6.9.4",
- "resolved": "https://registry.npmmirror.com/babel-plugin-transform-member-expression-literals/-/babel-plugin-transform-member-expression-literals-6.9.4.tgz",
- "integrity": "sha512-Xq9/Rarpj+bjOZSl1nBbZYETsNEDDJSrb6Plb1sS3/36FukWFLLRysgecva5KZECjUJTrJoQqjJgtWToaflk5Q==",
- "dev": true
- },
"node_modules/@babel/plugin-syntax-numeric-separator": {
"version": "7.10.4",
"resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz",
@@ -2400,12 +2287,6 @@
"node": ">=0.10.0"
}
},
- "node_modules/babel-plugin-transform-undefined-to-void": {
- "version": "6.9.4",
- "resolved": "https://registry.npmmirror.com/babel-plugin-transform-undefined-to-void/-/babel-plugin-transform-undefined-to-void-6.9.4.tgz",
- "integrity": "sha512-D2UbwxawEY1xVc9svYAUZQM2xarwSNXue2qDIx6CeV2EuMGaes/0su78zlIDIAgE7BvnMw4UpmSo9fDy+znghg==",
- "dev": true
- },
"node_modules/safer-buffer": {
"version": "2.1.2",
"resolved": "https://registry.npmmirror.com/safer-buffer/-/safer-buffer-2.1.2.tgz",
@@ -2490,12 +2371,6 @@
"stream-splicer": "^2.0.0"
}
},
- "node_modules/babel-plugin-transform-remove-debugger": {
- "version": "6.9.4",
- "resolved": "https://registry.npmmirror.com/babel-plugin-transform-remove-debugger/-/babel-plugin-transform-remove-debugger-6.9.4.tgz",
- "integrity": "sha512-Kd+eTBYlXfwoFzisburVwrngsrz4xh9I0ppoJnU/qlLysxVBRgI4Pj+dk3X8F5tDiehp3hhP8oarRMT9v2Z3lw==",
- "dev": true
- },
"node_modules/json5": {
"version": "2.2.1",
"resolved": "https://registry.npmmirror.com/json5/-/json5-2.2.1.tgz",
@@ -2700,12 +2575,6 @@
"node": ">=0.4.0"
}
},
- "node_modules/babel-helper-mark-eval-scopes": {
- "version": "0.4.3",
- "resolved": "https://registry.npmmirror.com/babel-helper-mark-eval-scopes/-/babel-helper-mark-eval-scopes-0.4.3.tgz",
- "integrity": "sha512-+d/mXPP33bhgHkdVOiPkmYoeXJ+rXRWi7OdhwpyseIqOS8CmzHQXHUp/+/Qr8baXsT0kjGpMHHofHs6C3cskdA==",
- "dev": true
- },
"node_modules/acorn-node": {
"version": "1.8.2",
"resolved": "https://registry.npmmirror.com/acorn-node/-/acorn-node-1.8.2.tgz",
@@ -2748,12 +2617,6 @@
"integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==",
"dev": true
},
- "node_modules/babel-helper-to-multiple-sequence-expressions": {
- "version": "0.5.0",
- "resolved": "https://registry.npmmirror.com/babel-helper-to-multiple-sequence-expressions/-/babel-helper-to-multiple-sequence-expressions-0.5.0.tgz",
- "integrity": "sha512-m2CvfDW4+1qfDdsrtf4dwOslQC3yhbgyBFptncp4wvtdrDHqueW7slsYv4gArie056phvQFhT2nRcGS4bnm6mA==",
- "dev": true
- },
"node_modules/@babel/plugin-transform-block-scoping": {
"version": "7.16.7",
"resolved": "https://registry.npmmirror.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.16.7.tgz",
@@ -2903,15 +2766,6 @@
"inherits": "2.0.3"
}
},
- "node_modules/babel-plugin-minify-constant-folding": {
- "version": "0.5.0",
- "resolved": "https://registry.npmmirror.com/babel-plugin-minify-constant-folding/-/babel-plugin-minify-constant-folding-0.5.0.tgz",
- "integrity": "sha512-Vj97CTn/lE9hR1D+jKUeHfNy+m1baNiJ1wJvoGyOBUx7F7kJqDZxr9nCHjO/Ad+irbR3HzR6jABpSSA29QsrXQ==",
- "dev": true,
- "dependencies": {
- "babel-helper-evaluate-path": "^0.5.0"
- }
- },
"node_modules/@babel/plugin-proposal-object-rest-spread": {
"version": "7.17.3",
"resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.17.3.tgz",
@@ -2965,12 +2819,6 @@
"integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==",
"dev": true
},
- "node_modules/babel-plugin-transform-simplify-comparison-operators": {
- "version": "6.9.4",
- "resolved": "https://registry.npmmirror.com/babel-plugin-transform-simplify-comparison-operators/-/babel-plugin-transform-simplify-comparison-operators-6.9.4.tgz",
- "integrity": "sha512-GLInxhGAQWJ9YIdjwF6dAFlmh4U+kN8pL6Big7nkDzHoZcaDQOtBm28atEhQJq6m9GpAovbiGEShKqXv4BSp0A==",
- "dev": true
- },
"node_modules/@babel/plugin-transform-named-capturing-groups-regex": {
"version": "7.17.10",
"resolved": "https://registry.npmmirror.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.17.10.tgz",
@@ -3175,15 +3023,6 @@
"@babel/core": "^7.12.0"
}
},
- "node_modules/babel-plugin-minify-mangle-names": {
- "version": "0.5.0",
- "resolved": "https://registry.npmmirror.com/babel-plugin-minify-mangle-names/-/babel-plugin-minify-mangle-names-0.5.0.tgz",
- "integrity": "sha512-3jdNv6hCAw6fsX1p2wBGPfWuK69sfOjfd3zjUXkbq8McbohWy23tpXfy5RnToYWggvqzuMOwlId1PhyHOfgnGw==",
- "dev": true,
- "dependencies": {
- "babel-helper-mark-eval-scopes": "^0.4.3"
- }
- },
"node_modules/browserify": {
"version": "16.5.2",
"resolved": "https://registry.npmmirror.com/browserify/-/browserify-16.5.2.tgz",
@@ -3277,12 +3116,6 @@
"@babel/core": "^7.0.0-0"
}
},
- "node_modules/babel-plugin-transform-remove-console": {
- "version": "6.9.4",
- "resolved": "https://registry.npmmirror.com/babel-plugin-transform-remove-console/-/babel-plugin-transform-remove-console-6.9.4.tgz",
- "integrity": "sha512-88blrUrMX3SPiGkT1GnvVY8E/7A+k6oj3MNvUtTIxJflFzXTw1bHkuJ/y039ouhFMp2prRn5cQGzokViYi1dsg==",
- "dev": true
- },
"node_modules/buffer-xor": {
"version": "1.0.3",
"resolved": "https://registry.npmmirror.com/buffer-xor/-/buffer-xor-1.0.3.tgz",
@@ -3557,21 +3390,6 @@
"safe-buffer": "^5.0.1"
}
},
- "node_modules/babel-helper-flip-expressions": {
- "version": "0.4.3",
- "resolved": "https://registry.npmmirror.com/babel-helper-flip-expressions/-/babel-helper-flip-expressions-0.4.3.tgz",
- "integrity": "sha512-rSrkRW4YQ2ETCWww9gbsWk4N0x1BOtln349Tk0dlCS90oT68WMLyGR7WvaMp3eAnsVrCqdUtC19lo1avyGPejA==",
- "dev": true
- },
- "node_modules/babel-plugin-transform-remove-undefined": {
- "version": "0.5.0",
- "resolved": "https://registry.npmmirror.com/babel-plugin-transform-remove-undefined/-/babel-plugin-transform-remove-undefined-0.5.0.tgz",
- "integrity": "sha512-+M7fJYFaEE/M9CXa0/IRkDbiV3wRELzA1kKQFCJ4ifhrzLKn/9VCCgj9OFmYWwBd8IB48YdgPkHYtbYq+4vtHQ==",
- "dev": true,
- "dependencies": {
- "babel-helper-evaluate-path": "^0.5.0"
- }
- },
"node_modules/buffer-from": {
"version": "1.1.2",
"resolved": "https://registry.npmmirror.com/buffer-from/-/buffer-from-1.1.2.tgz",
@@ -3611,18 +3429,6 @@
"node": ">=10"
}
},
- "node_modules/babel-helper-evaluate-path": {
- "version": "0.5.0",
- "resolved": "https://registry.npmmirror.com/babel-helper-evaluate-path/-/babel-helper-evaluate-path-0.5.0.tgz",
- "integrity": "sha512-mUh0UhS607bGh5wUMAQfOpt2JX2ThXMtppHRdRU1kL7ZLRWIXxoV2UIV1r2cAeeNeU1M5SB5/RSUgUxrK8yOkA==",
- "dev": true
- },
- "node_modules/babel-plugin-minify-replace": {
- "version": "0.5.0",
- "resolved": "https://registry.npmmirror.com/babel-plugin-minify-replace/-/babel-plugin-minify-replace-0.5.0.tgz",
- "integrity": "sha512-aXZiaqWDNUbyNNNpWs/8NyST+oU7QTpK7J9zFEFSA0eOmtUNMU3fczlTTTlnCxHmq/jYNFEmkkSG3DDBtW3Y4Q==",
- "dev": true
- },
"node_modules/anymatch": {
"version": "3.1.2",
"resolved": "https://registry.npmmirror.com/anymatch/-/anymatch-3.1.2.tgz",
@@ -3799,12 +3605,6 @@
"node": ">=0.10"
}
},
- "node_modules/babel-helper-is-void-0": {
- "version": "0.4.3",
- "resolved": "https://registry.npmmirror.com/babel-helper-is-void-0/-/babel-helper-is-void-0-0.4.3.tgz",
- "integrity": "sha512-07rBV0xPRM3TM5NVJEOQEkECX3qnHDjaIbFvWYPv+T1ajpUiVLiqTfC+MmiZxY5KOL/Ec08vJdJD9kZiP9UkUg==",
- "dev": true
- },
"node_modules/@babel/helper-optimise-call-expression": {
"version": "7.16.7",
"resolved": "https://registry.npmmirror.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.7.tgz",
@@ -3950,18 +3750,6 @@
"node": ">=6.0.0"
}
},
- "node_modules/babel-plugin-minify-dead-code-elimination": {
- "version": "0.5.1",
- "resolved": "https://registry.npmmirror.com/babel-plugin-minify-dead-code-elimination/-/babel-plugin-minify-dead-code-elimination-0.5.1.tgz",
- "integrity": "sha512-x8OJOZIrRmQBcSqxBcLbMIK8uPmTvNWPXH2bh5MDCW1latEqYiRMuUkPImKcfpo59pTUB2FT7HfcgtG8ZlR5Qg==",
- "dev": true,
- "dependencies": {
- "babel-helper-evaluate-path": "^0.5.0",
- "babel-helper-mark-eval-scopes": "^0.4.3",
- "babel-helper-remove-or-void": "^0.4.3",
- "lodash": "^4.17.11"
- }
- },
"node_modules/@babel/plugin-syntax-optional-catch-binding": {
"version": "7.8.3",
"resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz",
@@ -4120,12 +3908,6 @@
"sha.js": "^2.4.0"
}
},
- "node_modules/babel-plugin-minify-builtins": {
- "version": "0.5.0",
- "resolved": "https://registry.npmmirror.com/babel-plugin-minify-builtins/-/babel-plugin-minify-builtins-0.5.0.tgz",
- "integrity": "sha512-wpqbN7Ov5hsNwGdzuzvFcjgRlzbIeVv1gMIlICbPj0xkexnfoIDe7q+AZHMkQmAE/F9R5jkrB6TLfTegImlXag==",
- "dev": true
- },
"node_modules/diffie-hellman": {
"version": "5.0.3",
"resolved": "https://registry.npmmirror.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz",
@@ -4244,12 +4026,6 @@
"integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==",
"dev": true
},
- "node_modules/babel-helper-is-nodes-equiv": {
- "version": "0.0.1",
- "resolved": "https://registry.npmmirror.com/babel-helper-is-nodes-equiv/-/babel-helper-is-nodes-equiv-0.0.1.tgz",
- "integrity": "sha512-ri/nsMFVRqXn7IyT5qW4/hIAGQxuYUFHa3qsxmPtbk6spZQcYlyDogfVpNm2XYOslH/ULS4VEJGUqQX5u7ACQw==",
- "dev": true
- },
"node_modules/@babel/plugin-proposal-class-properties": {
"version": "7.16.7",
"resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.16.7.tgz",
@@ -4298,12 +4074,6 @@
"node": ">=6.9.0"
}
},
- "node_modules/babel-plugin-transform-regexp-constructors": {
- "version": "0.4.3",
- "resolved": "https://registry.npmmirror.com/babel-plugin-transform-regexp-constructors/-/babel-plugin-transform-regexp-constructors-0.4.3.tgz",
- "integrity": "sha512-JjymDyEyRNhAoNFp09y/xGwYVYzT2nWTGrBrWaL6eCg2m+B24qH2jR0AA8V8GzKJTgC8NW6joJmc6nabvWBD/g==",
- "dev": true
- },
"node_modules/path-type": {
"version": "4.0.0",
"resolved": "https://registry.npmmirror.com/path-type/-/path-type-4.0.0.tgz",
@@ -4445,6 +4215,18 @@
"node": ">=6.9.0"
}
},
+ "node_modules/husky/node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dev": true,
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/core-js-compat/node_modules/semver": {
"version": "7.0.0",
"resolved": "https://registry.npmmirror.com/semver/-/semver-7.0.0.tgz",
@@ -5771,48 +5553,6 @@
}
}
},
- "babel-helper-evaluate-path": {
- "version": "0.5.0",
- "resolved": "https://registry.npmmirror.com/babel-helper-evaluate-path/-/babel-helper-evaluate-path-0.5.0.tgz",
- "integrity": "sha512-mUh0UhS607bGh5wUMAQfOpt2JX2ThXMtppHRdRU1kL7ZLRWIXxoV2UIV1r2cAeeNeU1M5SB5/RSUgUxrK8yOkA==",
- "dev": true
- },
- "babel-helper-flip-expressions": {
- "version": "0.4.3",
- "resolved": "https://registry.npmmirror.com/babel-helper-flip-expressions/-/babel-helper-flip-expressions-0.4.3.tgz",
- "integrity": "sha512-rSrkRW4YQ2ETCWww9gbsWk4N0x1BOtln349Tk0dlCS90oT68WMLyGR7WvaMp3eAnsVrCqdUtC19lo1avyGPejA==",
- "dev": true
- },
- "babel-helper-is-nodes-equiv": {
- "version": "0.0.1",
- "resolved": "https://registry.npmmirror.com/babel-helper-is-nodes-equiv/-/babel-helper-is-nodes-equiv-0.0.1.tgz",
- "integrity": "sha512-ri/nsMFVRqXn7IyT5qW4/hIAGQxuYUFHa3qsxmPtbk6spZQcYlyDogfVpNm2XYOslH/ULS4VEJGUqQX5u7ACQw==",
- "dev": true
- },
- "babel-helper-is-void-0": {
- "version": "0.4.3",
- "resolved": "https://registry.npmmirror.com/babel-helper-is-void-0/-/babel-helper-is-void-0-0.4.3.tgz",
- "integrity": "sha512-07rBV0xPRM3TM5NVJEOQEkECX3qnHDjaIbFvWYPv+T1ajpUiVLiqTfC+MmiZxY5KOL/Ec08vJdJD9kZiP9UkUg==",
- "dev": true
- },
- "babel-helper-mark-eval-scopes": {
- "version": "0.4.3",
- "resolved": "https://registry.npmmirror.com/babel-helper-mark-eval-scopes/-/babel-helper-mark-eval-scopes-0.4.3.tgz",
- "integrity": "sha512-+d/mXPP33bhgHkdVOiPkmYoeXJ+rXRWi7OdhwpyseIqOS8CmzHQXHUp/+/Qr8baXsT0kjGpMHHofHs6C3cskdA==",
- "dev": true
- },
- "babel-helper-remove-or-void": {
- "version": "0.4.3",
- "resolved": "https://registry.npmmirror.com/babel-helper-remove-or-void/-/babel-helper-remove-or-void-0.4.3.tgz",
- "integrity": "sha512-eYNceYtcGKpifHDir62gHJadVXdg9fAhuZEXiRQnJJ4Yi4oUTpqpNY//1pM4nVyjjDMPYaC2xSf0I+9IqVzwdA==",
- "dev": true
- },
- "babel-helper-to-multiple-sequence-expressions": {
- "version": "0.5.0",
- "resolved": "https://registry.npmmirror.com/babel-helper-to-multiple-sequence-expressions/-/babel-helper-to-multiple-sequence-expressions-0.5.0.tgz",
- "integrity": "sha512-m2CvfDW4+1qfDdsrtf4dwOslQC3yhbgyBFptncp4wvtdrDHqueW7slsYv4gArie056phvQFhT2nRcGS4bnm6mA==",
- "dev": true
- },
"babel-plugin-dynamic-import-node": {
"version": "2.3.3",
"resolved": "https://registry.npmmirror.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz",
@@ -5848,100 +5588,6 @@
}
}
},
- "babel-plugin-minify-builtins": {
- "version": "0.5.0",
- "resolved": "https://registry.npmmirror.com/babel-plugin-minify-builtins/-/babel-plugin-minify-builtins-0.5.0.tgz",
- "integrity": "sha512-wpqbN7Ov5hsNwGdzuzvFcjgRlzbIeVv1gMIlICbPj0xkexnfoIDe7q+AZHMkQmAE/F9R5jkrB6TLfTegImlXag==",
- "dev": true
- },
- "babel-plugin-minify-constant-folding": {
- "version": "0.5.0",
- "resolved": "https://registry.npmmirror.com/babel-plugin-minify-constant-folding/-/babel-plugin-minify-constant-folding-0.5.0.tgz",
- "integrity": "sha512-Vj97CTn/lE9hR1D+jKUeHfNy+m1baNiJ1wJvoGyOBUx7F7kJqDZxr9nCHjO/Ad+irbR3HzR6jABpSSA29QsrXQ==",
- "dev": true,
- "requires": {
- "babel-helper-evaluate-path": "^0.5.0"
- }
- },
- "babel-plugin-minify-dead-code-elimination": {
- "version": "0.5.1",
- "resolved": "https://registry.npmmirror.com/babel-plugin-minify-dead-code-elimination/-/babel-plugin-minify-dead-code-elimination-0.5.1.tgz",
- "integrity": "sha512-x8OJOZIrRmQBcSqxBcLbMIK8uPmTvNWPXH2bh5MDCW1latEqYiRMuUkPImKcfpo59pTUB2FT7HfcgtG8ZlR5Qg==",
- "dev": true,
- "requires": {
- "babel-helper-evaluate-path": "^0.5.0",
- "babel-helper-mark-eval-scopes": "^0.4.3",
- "babel-helper-remove-or-void": "^0.4.3",
- "lodash": "^4.17.11"
- }
- },
- "babel-plugin-minify-flip-comparisons": {
- "version": "0.4.3",
- "resolved": "https://registry.npmmirror.com/babel-plugin-minify-flip-comparisons/-/babel-plugin-minify-flip-comparisons-0.4.3.tgz",
- "integrity": "sha512-8hNwgLVeJzpeLVOVArag2DfTkbKodzOHU7+gAZ8mGBFGPQHK6uXVpg3jh5I/F6gfi5Q5usWU2OKcstn1YbAV7A==",
- "dev": true,
- "requires": {
- "babel-helper-is-void-0": "^0.4.3"
- }
- },
- "babel-plugin-minify-guarded-expressions": {
- "version": "0.4.4",
- "resolved": "https://registry.npmmirror.com/babel-plugin-minify-guarded-expressions/-/babel-plugin-minify-guarded-expressions-0.4.4.tgz",
- "integrity": "sha512-RMv0tM72YuPPfLT9QLr3ix9nwUIq+sHT6z8Iu3sLbqldzC1Dls8DPCywzUIzkTx9Zh1hWX4q/m9BPoPed9GOfA==",
- "dev": true,
- "requires": {
- "babel-helper-evaluate-path": "^0.5.0",
- "babel-helper-flip-expressions": "^0.4.3"
- }
- },
- "babel-plugin-minify-infinity": {
- "version": "0.4.3",
- "resolved": "https://registry.npmmirror.com/babel-plugin-minify-infinity/-/babel-plugin-minify-infinity-0.4.3.tgz",
- "integrity": "sha512-X0ictxCk8y+NvIf+bZ1HJPbVZKMlPku3lgYxPmIp62Dp8wdtbMLSekczty3MzvUOlrk5xzWYpBpQprXUjDRyMA==",
- "dev": true
- },
- "babel-plugin-minify-mangle-names": {
- "version": "0.5.0",
- "resolved": "https://registry.npmmirror.com/babel-plugin-minify-mangle-names/-/babel-plugin-minify-mangle-names-0.5.0.tgz",
- "integrity": "sha512-3jdNv6hCAw6fsX1p2wBGPfWuK69sfOjfd3zjUXkbq8McbohWy23tpXfy5RnToYWggvqzuMOwlId1PhyHOfgnGw==",
- "dev": true,
- "requires": {
- "babel-helper-mark-eval-scopes": "^0.4.3"
- }
- },
- "babel-plugin-minify-numeric-literals": {
- "version": "0.4.3",
- "resolved": "https://registry.npmmirror.com/babel-plugin-minify-numeric-literals/-/babel-plugin-minify-numeric-literals-0.4.3.tgz",
- "integrity": "sha512-5D54hvs9YVuCknfWywq0eaYDt7qYxlNwCqW9Ipm/kYeS9gYhJd0Rr/Pm2WhHKJ8DC6aIlDdqSBODSthabLSX3A==",
- "dev": true
- },
- "babel-plugin-minify-replace": {
- "version": "0.5.0",
- "resolved": "https://registry.npmmirror.com/babel-plugin-minify-replace/-/babel-plugin-minify-replace-0.5.0.tgz",
- "integrity": "sha512-aXZiaqWDNUbyNNNpWs/8NyST+oU7QTpK7J9zFEFSA0eOmtUNMU3fczlTTTlnCxHmq/jYNFEmkkSG3DDBtW3Y4Q==",
- "dev": true
- },
- "babel-plugin-minify-simplify": {
- "version": "0.5.1",
- "resolved": "https://registry.npmmirror.com/babel-plugin-minify-simplify/-/babel-plugin-minify-simplify-0.5.1.tgz",
- "integrity": "sha512-OSYDSnoCxP2cYDMk9gxNAed6uJDiDz65zgL6h8d3tm8qXIagWGMLWhqysT6DY3Vs7Fgq7YUDcjOomhVUb+xX6A==",
- "dev": true,
- "requires": {
- "babel-helper-evaluate-path": "^0.5.0",
- "babel-helper-flip-expressions": "^0.4.3",
- "babel-helper-is-nodes-equiv": "^0.0.1",
- "babel-helper-to-multiple-sequence-expressions": "^0.5.0"
- }
- },
- "babel-plugin-minify-type-constructors": {
- "version": "0.4.3",
- "resolved": "https://registry.npmmirror.com/babel-plugin-minify-type-constructors/-/babel-plugin-minify-type-constructors-0.4.3.tgz",
- "integrity": "sha512-4ADB0irJ/6BeXWHubjCJmrPbzhxDgjphBMjIjxCc25n4NGJ00NsYqwYt+F/OvE9RXx8KaSW7cJvp+iZX436tnQ==",
- "dev": true,
- "requires": {
- "babel-helper-is-void-0": "^0.4.3"
- }
- },
"babel-plugin-polyfill-corejs2": {
"version": "0.3.1",
"resolved": "https://registry.npmmirror.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.1.tgz",
@@ -5983,109 +5629,6 @@
"require-from-string": "^2.0.2"
}
},
- "babel-plugin-transform-inline-consecutive-adds": {
- "version": "0.4.3",
- "resolved": "https://registry.npmmirror.com/babel-plugin-transform-inline-consecutive-adds/-/babel-plugin-transform-inline-consecutive-adds-0.4.3.tgz",
- "integrity": "sha512-8D104wbzzI5RlxeVPYeQb9QsUyepiH1rAO5hpPpQ6NPRgQLpIVwkS/Nbx944pm4K8Z+rx7CgjPsFACz/VCBN0Q==",
- "dev": true
- },
- "babel-plugin-transform-member-expression-literals": {
- "version": "6.9.4",
- "resolved": "https://registry.npmmirror.com/babel-plugin-transform-member-expression-literals/-/babel-plugin-transform-member-expression-literals-6.9.4.tgz",
- "integrity": "sha512-Xq9/Rarpj+bjOZSl1nBbZYETsNEDDJSrb6Plb1sS3/36FukWFLLRysgecva5KZECjUJTrJoQqjJgtWToaflk5Q==",
- "dev": true
- },
- "babel-plugin-transform-merge-sibling-variables": {
- "version": "6.9.4",
- "resolved": "https://registry.npmmirror.com/babel-plugin-transform-merge-sibling-variables/-/babel-plugin-transform-merge-sibling-variables-6.9.4.tgz",
- "integrity": "sha512-FDI9c4jqyYvl0pF8J0pE6xl5Ot235glDIc5mRfTH2nQ1qH/aNW45UZcAwVykD4OICRrgir6+7eQV7PPaLqsXsA==",
- "dev": true
- },
- "babel-plugin-transform-minify-booleans": {
- "version": "6.9.4",
- "resolved": "https://registry.npmmirror.com/babel-plugin-transform-minify-booleans/-/babel-plugin-transform-minify-booleans-6.9.4.tgz",
- "integrity": "sha512-9pW9ePng6DZpzGPalcrULuhSCcauGAbn8AeU3bE34HcDkGm8Ldt0ysjGkyb64f0K3T5ilV4mriayOVv5fg0ASA==",
- "dev": true
- },
- "babel-plugin-transform-property-literals": {
- "version": "6.9.4",
- "resolved": "https://registry.npmmirror.com/babel-plugin-transform-property-literals/-/babel-plugin-transform-property-literals-6.9.4.tgz",
- "integrity": "sha512-Pf8JHTjTPxecqVyL6KSwD/hxGpoTZjiEgV7nCx0KFQsJYM0nuuoCajbg09KRmZWeZbJ5NGTySABYv8b/hY1eEA==",
- "dev": true,
- "requires": {
- "esutils": "^2.0.2"
- }
- },
- "babel-plugin-transform-regexp-constructors": {
- "version": "0.4.3",
- "resolved": "https://registry.npmmirror.com/babel-plugin-transform-regexp-constructors/-/babel-plugin-transform-regexp-constructors-0.4.3.tgz",
- "integrity": "sha512-JjymDyEyRNhAoNFp09y/xGwYVYzT2nWTGrBrWaL6eCg2m+B24qH2jR0AA8V8GzKJTgC8NW6joJmc6nabvWBD/g==",
- "dev": true
- },
- "babel-plugin-transform-remove-console": {
- "version": "6.9.4",
- "resolved": "https://registry.npmmirror.com/babel-plugin-transform-remove-console/-/babel-plugin-transform-remove-console-6.9.4.tgz",
- "integrity": "sha512-88blrUrMX3SPiGkT1GnvVY8E/7A+k6oj3MNvUtTIxJflFzXTw1bHkuJ/y039ouhFMp2prRn5cQGzokViYi1dsg==",
- "dev": true
- },
- "babel-plugin-transform-remove-debugger": {
- "version": "6.9.4",
- "resolved": "https://registry.npmmirror.com/babel-plugin-transform-remove-debugger/-/babel-plugin-transform-remove-debugger-6.9.4.tgz",
- "integrity": "sha512-Kd+eTBYlXfwoFzisburVwrngsrz4xh9I0ppoJnU/qlLysxVBRgI4Pj+dk3X8F5tDiehp3hhP8oarRMT9v2Z3lw==",
- "dev": true
- },
- "babel-plugin-transform-remove-undefined": {
- "version": "0.5.0",
- "resolved": "https://registry.npmmirror.com/babel-plugin-transform-remove-undefined/-/babel-plugin-transform-remove-undefined-0.5.0.tgz",
- "integrity": "sha512-+M7fJYFaEE/M9CXa0/IRkDbiV3wRELzA1kKQFCJ4ifhrzLKn/9VCCgj9OFmYWwBd8IB48YdgPkHYtbYq+4vtHQ==",
- "dev": true,
- "requires": {
- "babel-helper-evaluate-path": "^0.5.0"
- }
- },
- "babel-plugin-transform-simplify-comparison-operators": {
- "version": "6.9.4",
- "resolved": "https://registry.npmmirror.com/babel-plugin-transform-simplify-comparison-operators/-/babel-plugin-transform-simplify-comparison-operators-6.9.4.tgz",
- "integrity": "sha512-GLInxhGAQWJ9YIdjwF6dAFlmh4U+kN8pL6Big7nkDzHoZcaDQOtBm28atEhQJq6m9GpAovbiGEShKqXv4BSp0A==",
- "dev": true
- },
- "babel-plugin-transform-undefined-to-void": {
- "version": "6.9.4",
- "resolved": "https://registry.npmmirror.com/babel-plugin-transform-undefined-to-void/-/babel-plugin-transform-undefined-to-void-6.9.4.tgz",
- "integrity": "sha512-D2UbwxawEY1xVc9svYAUZQM2xarwSNXue2qDIx6CeV2EuMGaes/0su78zlIDIAgE7BvnMw4UpmSo9fDy+znghg==",
- "dev": true
- },
- "babel-preset-minify": {
- "version": "0.5.1",
- "resolved": "https://registry.npmmirror.com/babel-preset-minify/-/babel-preset-minify-0.5.1.tgz",
- "integrity": "sha512-1IajDumYOAPYImkHbrKeiN5AKKP9iOmRoO2IPbIuVp0j2iuCcj0n7P260z38siKMZZ+85d3mJZdtW8IgOv+Tzg==",
- "dev": true,
- "requires": {
- "babel-plugin-minify-builtins": "^0.5.0",
- "babel-plugin-minify-constant-folding": "^0.5.0",
- "babel-plugin-minify-dead-code-elimination": "^0.5.1",
- "babel-plugin-minify-flip-comparisons": "^0.4.3",
- "babel-plugin-minify-guarded-expressions": "^0.4.4",
- "babel-plugin-minify-infinity": "^0.4.3",
- "babel-plugin-minify-mangle-names": "^0.5.0",
- "babel-plugin-minify-numeric-literals": "^0.4.3",
- "babel-plugin-minify-replace": "^0.5.0",
- "babel-plugin-minify-simplify": "^0.5.1",
- "babel-plugin-minify-type-constructors": "^0.4.3",
- "babel-plugin-transform-inline-consecutive-adds": "^0.4.3",
- "babel-plugin-transform-member-expression-literals": "^6.9.4",
- "babel-plugin-transform-merge-sibling-variables": "^6.9.4",
- "babel-plugin-transform-minify-booleans": "^6.9.4",
- "babel-plugin-transform-property-literals": "^6.9.4",
- "babel-plugin-transform-regexp-constructors": "^0.4.3",
- "babel-plugin-transform-remove-console": "^6.9.4",
- "babel-plugin-transform-remove-debugger": "^6.9.4",
- "babel-plugin-transform-remove-undefined": "^0.5.0",
- "babel-plugin-transform-simplify-comparison-operators": "^6.9.4",
- "babel-plugin-transform-undefined-to-void": "^6.9.4",
- "lodash": "^4.17.11"
- }
- },
"babelify": {
"version": "10.0.0",
"resolved": "https://registry.npmmirror.com/babelify/-/babelify-10.0.0.tgz",
@@ -7010,6 +6553,15 @@
"which-pm-runs": "^1.0.0"
},
"dependencies": {
+ "ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dev": true,
+ "requires": {
+ "color-convert": "^2.0.1"
+ }
+ },
"chalk": {
"version": "4.1.2",
"resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz",
@@ -7020,6 +6572,21 @@
"supports-color": "^7.1.0"
}
},
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ },
"has-flag": {
"version": "4.0.0",
"resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz",
@@ -7233,12 +6800,6 @@
"p-locate": "^5.0.0"
}
},
- "lodash": {
- "version": "4.17.21",
- "resolved": "https://registry.npmmirror.com/lodash/-/lodash-4.17.21.tgz",
- "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
- "dev": true
- },
"lodash.debounce": {
"version": "4.0.8",
"resolved": "https://registry.npmmirror.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz",
diff --git a/package.json b/package.json
index 353e1991..134ecb58 100644
--- a/package.json
+++ b/package.json
@@ -3,23 +3,19 @@
"version": "0.2.0",
"description": "LoveIt theme source file",
"private": true,
- "dependencies": {},
"devDependencies": {
- "@babel/cli": "^7.8.4",
- "@babel/core": "^7.9.0",
- "@babel/preset-env": "^7.9.0",
- "babel-preset-minify": "^0.5.1",
+ "@babel/cli": "^7.17.10",
+ "@babel/core": "^7.17.10",
+ "@babel/preset-env": "^7.17.10",
"babelify": "^10.0.0",
- "browserify": "^16.5.0",
- "core-js": "^3.6.4",
- "husky": "^4.2.3",
- "minimist": "^1.2.6",
- "segmentit": "^2.0.3",
- "lodash": "^4.17.21"
+ "browserify": "^16.5.2",
+ "core-js": "^3.22.4",
+ "husky": "^4.3.8",
+ "segmentit": "^2.0.3"
},
"scripts": {
"preinstall": "npx npm-force-resolutions",
- "babel": "npx babel src/js --out-file assets/js/theme.min.js --source-maps",
+ "babel": "npx babel src/js --out-file assets/js/theme.js",
"build": "npm run babel && hugo -v --source=exampleSite --themesDir ../.. --gc",
"build-lunr-segmentit": "browserify src/lib/lunr.segmentit.js -o assets/lib/lunr/lunr.segmentit.js -t babelify --presets @babel/preset-env --presets minify",
"start": "npm run babel && hugo server --source=exampleSite --themesDir ../.. -D --disableFastRender",