diff --git a/js/app/map/overlay.js b/js/app/map/overlay.js index 2ce722c6a..6242b7b6c 100644 --- a/js/app/map/overlay.js +++ b/js/app/map/overlay.js @@ -65,7 +65,7 @@ define([ * @param connectionsData */ let addConnectionsOverlay = (connections, connectionsData) => { - let SystemSignatures = require('app/ui/module/system_signature_new'); + let SystemSignatures = require('app/ui/module/system_signature'); /** * add label to endpoint diff --git a/js/app/map/util.js b/js/app/map/util.js index 6c39c260e..11de7c165 100644 --- a/js/app/map/util.js +++ b/js/app/map/util.js @@ -367,7 +367,7 @@ define([ connection && connectionData.signatures // signature data is required... ){ - let SystemSignatures = require('app/ui/module/system_signature_new'); + let SystemSignatures = require('app/ui/module/system_signature'); let connectionId = connection.getParameter('connectionId'); let sourceEndpoint = connection.endpoints[0]; diff --git a/js/app/module_map.js b/js/app/module_map.js index 734c039df..f74fc9ca9 100644 --- a/js/app/module_map.js +++ b/js/app/module_map.js @@ -7,8 +7,7 @@ define([ 'sortable', 'app/ui/module/system_info', 'app/ui/module/system_graph', - //'app/ui/module/system_signature', - 'app/ui/module/system_signature_new', + 'app/ui/module/system_signature', 'app/ui/module/system_route', 'app/ui/module/system_intel', 'app/ui/module/system_killboard', diff --git a/js/app/ui/form_element.js b/js/app/ui/form_element.js index 37d9d2ab0..296f1c517 100644 --- a/js/app/ui/form_element.js +++ b/js/app/ui/form_element.js @@ -87,7 +87,8 @@ define([ let securityClass = Util.getSecurityClassForSystem(parts[1].length > 3 ? parts[1].substring(0, 2) : parts[1]); markup += '' + parts[0] + '  '; markup += ''; - markup += '  ' + parts[1] + ' '; + markup += '  ' + parts[1] + ' '; }else{ markup += '' + state.text + ''; } diff --git a/js/app/ui/module/system_signature.js b/js/app/ui/module/system_signature.js index aae66ae99..ad04d53da 100644 --- a/js/app/ui/module/system_signature.js +++ b/js/app/ui/module/system_signature.js @@ -6,12 +6,12 @@ define([ 'jquery', 'app/init', 'app/util', - 'mustache', 'bootbox', + 'app/counter', 'app/map/map', 'app/map/util', 'app/ui/form_element' -], ($, Init, Util, Mustache, bootbox, Map, MapUtil, FormElement) => { +], ($, Init, Util, bootbox, Counter, Map, MapUtil, FormElement) => { 'use strict'; let config = { @@ -21,84 +21,46 @@ define([ moduleHeadClass: 'pf-module-head', // class for module header moduleHandlerClass: 'pf-module-handler-drag', // class for "drag" handler - moduleClass: 'pf-module', // class for each module - // system signature module - moduleTypeClass: 'pf-system-signature-module', // module wrapper + moduleTypeClass: 'pf-system-signature-module', // class for this module // headline toolbar moduleHeadlineIconClass: 'pf-module-icon-button', // class for toolbar icons in the head moduleHeadlineIconAddClass: 'pf-module-icon-button-add', // class for "add signature" icon moduleHeadlineIconReaderClass: 'pf-module-icon-button-reader', // class for "signature reader" icon moduleHeadlineIconLazyClass: 'pf-module-icon-button-lazy', // class for "lazy delete" toggle icon + moduleHeadlineProgressBarClass: 'pf-system-progress-scanned', // class for signature progress bar // tables - tableToolsActionClass: 'pf-table-tools-action', // class for table toolbar action - - // signature progress bar - signatureScannedProgressBarClass: 'pf-system-progress-scanned', // class for signature progress bar + tableToolsActionClass: 'pf-table-tools-action', // class for "new signature" table (hidden) // table toolbar sigTableClearButtonClass: 'pf-sig-table-clear-button', // class for "clear" signatures button // signature table + sigTableId: 'pf-sig-table-', // Table id prefix sigTableClass: 'pf-sig-table', // Table class for all Signature Tables sigTablePrimaryClass: 'pf-sig-table-primary', // class for primary sig table sigTableSecondaryClass: 'pf-sig-table-secondary', // class for secondary sig table - sigTableEditSigNameInput: 'pf-sig-table-edit-name-input', // class for editable fields (input) - sigTableEditSigGroupSelect: 'pf-sig-table-edit-group-select', // class for editable fields (sig group) - sigTableEditSigTypeSelect: 'pf-sig-table-edit-type-select', // class for editable fields (sig type) - sigTableEditSigConnectionSelect: 'pf-sig-table-edit-connection-select', // class for editable fields (sig connection) - sigTableEditSigDescriptionTextarea: 'pf-sig-table-edit-desc-text', // class for editable fields (sig description) - sigTableCreatedCellClass: 'pf-sig-table-created', // class for "created" cells - sigTableUpdatedCellClass: 'pf-sig-table-updated', // class for "updated" cells - - sigTableConnectionClass: 'pf-table-connection-cell', // class for "connection" cells - sigTableCounterClass: 'pf-table-counter-cell', // class for "counter" cells - sigTableActionCellClass: 'pf-table-action-cell', // class for "action" cells + sigTableRowIdPrefix: 'pf-sig-row_', // id prefix for table rows + + sigTableEditSigNameInput: 'pf-sig-table-edit-name-input', // class for editable fields (sig name) + + tableCellConnectionClass: 'pf-table-connection-cell', // class for "connection" cells + tableCellFocusClass: 'pf-table-focus-cell', // class for "tab-able" cells. enable focus() + tableCellCounterClass: 'pf-table-counter-cell', // class for "counter" cells + tableCellActionClass: 'pf-table-action-cell', // class for "action" cells // xEditable + editableNameInputClass: 'pf-editable-name', // class for "name" input editableDescriptionInputClass: 'pf-editable-description', // class for "description" textarea editableUnknownInputClass: 'pf-editable-unknown', // class for input fields (e.g. checkboxes) with "unknown" status - signatureGroupsLabels: Util.getSignatureGroupInfo('label'), - signatureGroupsNames: Util.getSignatureGroupInfo('name') - }; - - // lock Signature Table update temporary (until. some requests/animations) are finished - let disableTableUpdate = true; - - // disable "copy&paste" from clipboard (until request finished) - let disableCopyFromClipboard = false; - - // cache for dataTable object6 - let dataTableInstances = {}; - - // empty signatureData object -> for "add row" table - let emptySignatureData = { - id: 0, - name: '', - groupId: 0, - typeId: 0, - description: '', - created: { - created: null - }, - updated: { - updated: null - } - }; - - let fullSignatureOptions = { - action: 'delete', - actionClass: ['fa-times', 'txt-color', 'txt-color-redDarker'].join(' ') + signatureGroupsLabels: Util.getSignatureGroupOptions('label'), + signatureGroupsNames: Util.getSignatureGroupOptions('name') }; - // empty signatureData row Options - let emptySignatureOptions = { - action: 'add', - actionClass: ['fa-plus'].join(' ') - }; + let lockedTables = {}; // locked tables (e.g. disable cops&paste, disable table update) let sigNameCache = {}; // cache signature names @@ -113,84 +75,122 @@ define([ 'Источники сигналов' // == "Cosmic Signature" ]; - // some static signature data - let signatureGroupsLabels = Util.getSignatureGroupInfo('label'); - let signatureGroupsNames = Util.getSignatureGroupInfo('name'); + let emptySignatureData = { + id: 0, + name: '', + groupId: 0, + typeId: 0 + }; + + let editableDefaults = { // xEditable default options for signature fields + url: Init.path.saveSignatureData, + dataType: 'json', + container: 'body', + highlight: false, // i use a custom implementation. xEditable uses inline styles for bg color animation -> does not work properly on datatables "sort" cols + error: function(jqXHR, newValue){ + let reason = ''; + let status = 'Error'; + if(jqXHR.statusText){ + reason = jqXHR.statusText; + }else if(jqXHR.name){ + // validation error new sig (new row data save function) + reason = jqXHR.name; + // re-open "name" fields (its a collection of fields but we need "id" field) + jqXHR.name.field.$element.editable('show'); + }else{ + reason = jqXHR.responseJSON.text; + status = jqXHR.status; + } + + Util.showNotify({title: status + ': save signature', text: reason, type: 'error'}); + $(document).setProgramStatus('problem'); + return reason; + } + }; /** - * get module toolbar element - * @returns {jQuery} + * get custom "metaData" from dataTables API + * @param tableApi + * @returns {*} */ - let getHeadlineToolbar = () => { - let headlineToolbar = $('
', { - class: 'pull-right' - }).append( - $('', { - class: 'progress-label-right', - text: '0%' - }), - $('', { - class: ['fas', 'fa-fw', 'fa-plus', - config.moduleHeadlineIconClass, - config.moduleHeadlineIconAddClass].join(' '), - title: 'add' - }).attr('data-toggle', 'tooltip'), - $('', { - class: ['fas', 'fa-fw', 'fa-paste', - config.moduleHeadlineIconClass, - config.moduleHeadlineIconReaderClass].join(' '), - title: 'signature reader' - }).attr('data-toggle', 'tooltip'), - $('', { - class: ['fas', 'fa-fw', 'fa-exchange-alt', - config.moduleHeadlineIconClass, - config.moduleHeadlineIconLazyClass].join(' '), - title: 'lazy \'delete\' signatures' - }).attr('data-toggle', 'tooltip') - ); - - headlineToolbar.find('[data-toggle="tooltip"]').tooltip({ - container: 'body' - }); + let getTableMetaData = tableApi => { + let data = null; + if(tableApi){ + data = tableApi.init().pfMeta; + } + return data; + }; - return headlineToolbar; + /** + * lock signature tableApi and lockType + * @param tableApi + * @param lockType + */ + let lockTable = (tableApi, lockType = 'update') => { + let metaData = getTableMetaData(tableApi); + if(metaData.systemId){ + if( !lockedTables.hasOwnProperty(metaData.systemId) ){ + lockedTables[metaData.systemId] = {}; + } + lockedTables[metaData.systemId][lockType] = true; + }else{ + console.warn('metaData.systemId required in lockTable()', metaData.systemId); + } }; /** - * check whether a dataTable API instance exists in the global cache - * args: 1. mapId, 2. systemId, 3, tableType (primary/secondary) string - * @param args + * check whether a signature tableApi is locked by lockType + * @param tableApi + * @param lockType * @returns {boolean} */ - let checkDataTableInstance = (...args) => { - let obj = dataTableInstances; - for(let arg of args){ - if ( !obj || !obj.hasOwnProperty(arg) ){ - return false; + let isLockedTable = (tableApi, lockType = 'update') => { + let locked = false; + if(tableApi){ + let metaData = getTableMetaData(tableApi); + if(metaData.systemId){ + if( + lockedTables.hasOwnProperty(metaData.systemId) && + lockedTables[metaData.systemId].hasOwnProperty(lockType) + ){ + locked = true; + } + }else{ + console.warn('metaData.systemId required in isLockedTable()', metaData.systemId); + } + } + + return locked; + }; + + /** + * unlock signature tableApi and lockType + * @param tableApi + * @param lockType + */ + let unlockTable = (tableApi, lockType = 'update') => { + if(tableApi){ + let metaData = getTableMetaData(tableApi); + if(isLockedTable(tableApi, lockType)){ + delete lockedTables[metaData.systemId][lockType]; + } + if( + lockedTables.hasOwnProperty(metaData.systemId) && + !Object.getOwnPropertyNames(lockedTables[metaData.systemId]).length + ){ + delete lockedTables[metaData.systemId]; } - obj = obj[arg]; } - return true; }; /** - * stores a dataTableApi instance to global cache ( overwrites existing) + * get dataTable id * @param mapId * @param systemId * @param tableType - * @param instance + * @returns {string} */ - let setDataTableInstance = (mapId, systemId, tableType, instance) => { - let tmpObj = { - [mapId]: { - [systemId]: { - [tableType]: instance - } - } - }; - - $.extend(true, dataTableInstances, tmpObj); - }; + let getTableId = (mapId, systemId, tableType) => config.sigTableId + [mapId, systemId, tableType].join('-'); /** * get a dataTableApi instance from global cache @@ -201,357 +201,391 @@ define([ */ let getDataTableInstance = (mapId, systemId, tableType) => { let instance = null; - if( checkDataTableInstance(mapId, systemId, tableType) ){ - instance = dataTableInstances[mapId][systemId][tableType]; + let table = $.fn.dataTable.tables({ visible: false, api: true }).table('#' + getTableId(mapId, systemId, tableType)); + if(table.node()){ + instance = table; } return instance; }; /** - * get dataTable instance from "moduleElement" (DOM node) - * @param moduleElement - * @param tableType - * @returns {*} + * Update/set tooltip for an element + * @param element + * @param title */ - let getDataTableInstanceByModuleElement = (moduleElement, tableType) => { - return getDataTableInstance(moduleElement.data('mapId'), moduleElement.data('systemId'), tableType); + let updateTooltip = (element, title) => { + $(element).attr('data-container', 'body') + .attr('title', title.toUpperCase()) + .tooltip('fixTitle').tooltip('setContent'); }; /** - * delete a dataTableApi instance from global cache - * -> see checkDataTableInstance() for parameter order - * @param args + * sum up all options in nested (or not nested) object of objects + * -> e.g. + * { + * first: { + * count = [4, 2, 1] + * test = { ... } + * }, + * second: { + * count = [12, 13] + * test = { ... } + * } + * } + * -> getOptionsCount('count', obj) => 5; + * @param key + * @param obj + * @returns {number} */ - let deleteDataTableInstance = (...args) => { - // check if instance exists - if( checkDataTableInstance.apply(null, args) ){ - - // callback for "leaf" delete callback - let deleteCallback = (dataTableApi) => { - dataTableApi.destroy(); - }; - - // recursive delete from dataTableInstances Object cache - let deepDelete = (target, obj, callback) => { - if(target.length > 1){ - // remove first target param for next recursive call - let currentTarget = target.shift(); - - deepDelete(target, obj[currentTarget], callback); - - // delete "parent" key when current key became empty - if( !Object.keys( obj[currentTarget] ).length ){ - delete obj[currentTarget]; - } - }else{ - // check for callback function - if( typeof callback === 'function' ){ - callback(obj[target]); - } - - delete obj[target]; - } - }; + let getOptionsCount = (key, obj) => { + let sum = 0; + for(let entry of obj){ + if(entry.hasOwnProperty(key)){ + sum += entry[key].length; + }else{ + sum++; + } + } + return sum; + }; - deepDelete(args, dataTableInstances, deleteCallback); + /** + * get possible frig holes that could spawn in a system + * filtered by "systemTypeId" + * @param systemTypeId + * @returns {{}} + */ + let getFrigateHolesBySystem = systemTypeId => { + let signatureNames = {}; + if(Init.frigateWormholes[systemTypeId]){ + signatureNames = Init.frigateWormholes[systemTypeId]; } + return signatureNames; }; /** - * collect all data of all editable fields in a signature table - * @param tableApi + * get all signature types that can exist for a given system + * -> result is partially cached + * @param systemData + * @param systemTypeId + * @param areaId + * @param groupId * @returns {Array} */ - let getTableData = tableApi => { - let tableData = []; + let getAllSignatureNames = (systemData, systemTypeId, areaId, groupId) => { + systemTypeId = parseInt(systemTypeId || 0); + areaId = parseInt(areaId || 0); + groupId = parseInt(groupId || 0); + let newSelectOptions = []; + let newSelectOptionsCount = 0; - if(tableApi){ - tableApi.rows().eq(0).each(function(idx){ - let row = tableApi.row(idx); - // default row data - let defaultRowData = row.data(); - let rowElement = row.nodes().to$(); + if(!systemTypeId || !areaId || !groupId){ + return newSelectOptions; + } + + let cacheKey = [systemTypeId, areaId, groupId].join('_'); - if(defaultRowData.id > 0){ - // get all editable fields per row - let editableFields = rowElement.find('.editable'); + // check for cached signature names + if(sigNameCache.hasOwnProperty( cacheKey )){ + // cached signatures do not include static WHs! + // -> ".slice(0)" creates copy + newSelectOptions = sigNameCache[cacheKey].slice(0); + newSelectOptionsCount = getOptionsCount('children', newSelectOptions); + }else{ + // get new Options ---------- + // get all possible "static" signature names by the selected groupId + let tempSelectOptions = Util.getAllSignatureNames(systemTypeId, areaId, groupId); - if(editableFields.length > 0){ - let values = $(editableFields).editable('getValue'); + // format options into array with objects advantages: keep order, add more options (whs), use optgroup + if(tempSelectOptions){ + let fixSelectOptions = []; + for(let key in tempSelectOptions){ + if ( + key > 0 && + tempSelectOptions.hasOwnProperty(key) + ){ + newSelectOptionsCount++; + fixSelectOptions.push({value: newSelectOptionsCount, text: tempSelectOptions[key]}); + } + } - if(values.name){ - // convert to lower for better compare options - values.name = values.name.toLowerCase(); + if(newSelectOptionsCount > 0){ + if(groupId === 5){ + // "wormhole" selected => multiple available + newSelectOptions.push({ text: 'Wandering', children: fixSelectOptions}); + }else{ + newSelectOptions = fixSelectOptions; + } + } + } - // add pk for this row - values.id = defaultRowData.id; + // wormhole (cached signatures) + if( groupId === 5 ){ - // add updated for this row - values.updated = defaultRowData.updated; + // add possible frigate holes + let frigateHoles = getFrigateHolesBySystem(areaId); + let frigateWHData = []; + for(let frigKey in frigateHoles){ + if ( + frigKey > 0 && + frigateHoles.hasOwnProperty(frigKey) + ){ + newSelectOptionsCount++; + frigateWHData.push( {value: newSelectOptionsCount, text: frigateHoles[frigKey]} ); + } + } - // add row index - values.index = idx; + if(frigateWHData.length > 0){ + newSelectOptions.push({ text: 'Frigate', children: frigateWHData}); + } - tableData.push( values ); - } + // add possible incoming holes + let incomingWHData = []; + for(let incomingKey in Init.incomingWormholes){ + if ( + incomingKey > 0 && + Init.incomingWormholes.hasOwnProperty(incomingKey) + ){ + newSelectOptionsCount++; + incomingWHData.push( {value: newSelectOptionsCount, text: Init.incomingWormholes[incomingKey]} ); } } - }); - } - return tableData; - }; + if(incomingWHData.length > 0){ + newSelectOptions.push({ text: 'Incoming', children: incomingWHData}); + } + }else{ + // groups without "children" (optgroup) should be sorted by "value" + // this is completely optional and not necessary! + newSelectOptions = newSelectOptions.sortBy('text'); + } - /** - * updates a single cell with new data (e.g. "updated" cell) - * @param tableApi - * @param rowElement - * @param cellIndex - * @param data - */ - let updateSignatureCell = (tableApi, rowElement, cellIndex, data) => { - let rowIndex = tableApi.row(rowElement).index(); - let updateCell = tableApi.cell( rowIndex, cellIndex ); - let updateCellElement = updateCell.nodes().to$(); - - if(cellIndex === 7){ - // clear existing counter interval - clearInterval( updateCellElement.data('interval') ); + // update cache (clone array) -> further manipulation to this array, should not be cached + sigNameCache[cacheKey] = newSelectOptions.slice(0); } - // set new value - updateCell.data(data).draw(); + // static wormholes (DO NOT CACHE) (not all C2 WHs have the same statics,... + if( groupId === 5 ){ + // add static WH(s) for this system + if(systemData.statics){ + let staticWHData = []; + for(let wormholeName of systemData.statics){ + let wormholeData = Object.assign({}, Init.wormholes[wormholeName]); + let staticWHName = wormholeData.name + ' - ' + wormholeData.security; + + newSelectOptionsCount++; + staticWHData.push( {value: newSelectOptionsCount, text: staticWHName} ); + } - if(cellIndex === 7){ - updateCellElement.initTimestampCounter(); + if(staticWHData.length > 0){ + newSelectOptions.unshift({ text: 'Static', children: staticWHData}); + } + } } + + return newSelectOptions; }; /** - * update trigger function for this module - * compare data and update module - * @param moduleElement - * @param systemData + * get all signature types that can exist for a system (jQuery obj) + * @param systemElement + * @param groupId + * @returns {Array} */ - let updateModule = (moduleElement, systemData) => { - - if(systemData.signatures){ - updateSignatureTable(moduleElement, systemData.signatures, true); - } - - moduleElement.hideLoadingAnimation(); + let getAllSignatureNamesBySystem = (systemElement, groupId) => { + let systemTypeId = systemElement.data('typeId'); + let areaId = Util.getAreaIdBySecurity(systemElement.data('security')); + let systemData = {statics: systemElement.data('statics')}; + return getAllSignatureNames(systemData, systemTypeId, areaId, groupId); }; /** - * Updates a signature table, changes all signatures where name matches - * add all new signatures as a row - * @param moduleElement - * @param signatureDataOrig - * @param deleteOutdatedSignatures -> set to "true" if signatures should be deleted that are not included in "signatureData" + * get all connection select options + * @param mapId + * @param systemData + * @returns {Array} */ - let updateSignatureTable = (moduleElement, signatureDataOrig, deleteOutdatedSignatures) => { - // check if table update is allowed - if(disableTableUpdate === true){ - return; - } - - // clone signature array because of further manipulation - let signatureData = $.extend([], signatureDataOrig); - - // disable update until function is ready; - lockSignatureTable(); - - // get signature table API - let signatureTableApi = getDataTableInstanceByModuleElement(moduleElement, 'primary'); - - // get current system data - let currentSystemData = Util.getCurrentSystemData(); - - let tableData = getTableData(signatureTableApi); - - let notificationCounter = { - added: 0, - changed: 0, - deleted: 0 - }; - - for(let i = 0; i < signatureData.length; i++){ - for(let j = 0; j < tableData.length; j++){ - if(signatureData[i].id === tableData[j].id){ - - // check if row was updated - if(signatureData[i].updated.updated > tableData[j].updated.updated){ - // row element to remove - let currentRowElement = signatureTableApi.row(tableData[j].index).nodes().to$(); - - // hide open editable fields on the row before removing them - currentRowElement.find('.editable').editable('destroy'); - - // remove "old" row - signatureTableApi.row(currentRowElement).remove().draw(); + let getSignatureConnectionOptions = (mapId, systemData) => { + let map = Map.getMapInstance( mapId ); + let systemId = MapUtil.getSystemId(mapId, systemData.id); + let systemConnections = MapUtil.searchConnectionsBySystems(map, [systemId], 'wh'); + let newSelectOptions = []; + let connectionOptions = []; - // and add "new" row - let changedRowElement = addSignatureRow(signatureTableApi, currentSystemData.systemData, signatureData[i], false); + for(let systemConnection of systemConnections){ + let connectionData = MapUtil.getDataByConnection(systemConnection); - if(changedRowElement){ - // highlight - changedRowElement.pulseBackgroundColor('changed'); - notificationCounter.changed++; - } + // connectionId is required (must be stored) + if(connectionData.id){ + // check whether "source" or "target" system is relevant for this connection + // -> hint "source" === 'target' --> loop + if(systemData.id !== connectionData.target){ + let targetSystemData = MapUtil.getSystemData(mapId, connectionData.target); + if(targetSystemData){ + // take target... + connectionOptions.push({ + value: connectionData.id, + text: connectionData.targetAlias + ' - ' + targetSystemData.security + }); + } + }else if(systemData.id !== connectionData.source){ + let sourceSystemData = MapUtil.getSystemData(mapId, connectionData.source); + if(sourceSystemData){ + // take source... + connectionOptions.push({ + value: connectionData.id, + text: connectionData.sourceAlias + ' - ' + sourceSystemData.security + }); } - - // remove signature data -> all left signatures will be added - signatureData.splice(i, 1); - i--; - - // remove signature data -> all left signatures will be deleted - tableData.splice(j, 1); - j--; - - break; } } } - // delete signatures ------------------------------------------------------------------------------------------ - if(deleteOutdatedSignatures === true){ - - // callback function after row deleted - let toggleTableRowCallback = function(tempRowElement){ - // hide open editable fields on the row before removing them - tempRowElement.find('.editable').editable('destroy'); - - // delete signature row - signatureTableApi.row(tempRowElement).remove().draw(); - }; - - for(let l = 0; l < tableData.length; l++){ - let rowElement = signatureTableApi.row(tableData[l].index).nodes().to$(); - rowElement.toggleTableRow(toggleTableRowCallback); - notificationCounter.deleted++; - } - } - - // add new signatures ----------------------------------------------------------------------------------------- - for(let k = 0; k < signatureData.length; k++){ - // and add "new" row - let newRowElement = addSignatureRow(signatureTableApi, currentSystemData.systemData, signatureData[k], false); - - if(newRowElement){ - // highlight - newRowElement.pulseBackgroundColor('added'); - notificationCounter.added++; - } - } - - // show notification ------------------------------------------------------------------------------------------ - if( - notificationCounter.added > 0 || - notificationCounter.changed > 0 || - notificationCounter.deleted > 0 - ){ - // update signature bar - moduleElement.updateScannedSignaturesBar({showNotice: true}); - - let notification = notificationCounter.added + ' added
'; - notification += notificationCounter.changed + ' updated
'; - notification += notificationCounter.deleted + ' deleted
'; - Util.showNotify({title: 'Signatures updated', text: notification, type: 'success'}); - - // wait until add/remove animations are finished before enable table for auto update again - unlockSignatureTable(false); - }else{ - // enable table for next update - unlockSignatureTable(true); + if(connectionOptions.length > 0){ + newSelectOptions.push({ text: 'System', children: connectionOptions}); } - }; - /** - * lock system signature table for - */ - let lockSignatureTable = () => { - disableTableUpdate = true; + return newSelectOptions; }; /** - * unlock system signature table from been locked - * -> make table "update-able" again - * @param instant + * show/hides a table rowElement + * @param rowElement */ - let unlockSignatureTable = instant =>{ - if(disableTableUpdate === true){ - if(instant === true){ - disableTableUpdate = false; + let toggleTableRow = rowElement => { + + let toggleTableRowExecutor = (resolve, reject) => { + let cellElements = rowElement.children('td'); + let duration = 350; + // wrap each into a container (for better animation performance) + // slideUp new wrapper divs + if(rowElement.is(':visible')){ + // hide row + + // stop sig counter by adding a stopClass to each , remove padding + cellElements.addClass('stopCounter') + .velocity({ + paddingTop: [0, '4px'], + paddingBottom: [0, '4px'], + opacity: [0, 1] + },{ + duration: duration, + easing: 'linear' + }).wrapInner('
') + .children() + .css({ + 'willChange': 'height' + }).velocity('slideUp', { + duration: duration, + easing: 'linear', + complete: function(animationElements){ + // remove wrapper + $(animationElements).children().unwrap(); + + resolve({ + action: 'rowHidden', + row: rowElement + }); + } + }); }else{ - // wait until add/remove animations are finished before enable table for auto update again - setTimeout(function(){ disableTableUpdate = false; }, 2000); + // show row + + // remove padding on "hidden" cells for smother animation + cellElements.css({ + 'padding-top': 0, + 'padding-bottom': 0, + 'willChange': 'padding-top, padding-top, height' + }); + + // add hidden wrapper for ea + cellElements.wrapInner($('
').hide()); + + // show row for padding animation + rowElement.show(); + + cellElements.velocity({ + paddingTop: ['4px', 0], + paddingBottom: ['4px', 0] + },{ + duration: duration, + queue: false, + complete: function(){ + // animate wrapper + cellElements.children() + .css({ + 'willChange': 'height' + }).velocity('slideDown', { + duration: duration, + complete: function(animationElements){ + // remove wrapper + for(let i = 0; i < animationElements.length; i++){ + let currentWrapper = $(animationElements[i]); + if(currentWrapper.children().length > 0){ + currentWrapper.children().unwrap(); + }else{ + currentWrapper.parent().html( currentWrapper.html() ); + } + } + + resolve({ + action: 'rowShown', + row: rowElement + }); + } + }); + } + }); } - } + }; + + return new Promise(toggleTableRowExecutor); }; /** - * update Progressbar for all scanned signatures in a system + * update scanned signatures progress bar + * @param tableApi * @param options */ - $.fn.updateScannedSignaturesBar = function(options){ - let moduleElement = $(this); - let signatureTableApi = getDataTableInstanceByModuleElement(moduleElement, 'primary'); - - // get progress bar - let progressBarWrapper = moduleElement.find('.' + config.signatureScannedProgressBarClass); - let progressBar = $(progressBarWrapper).find('.progress-bar'); + let updateScannedSignaturesBar = (tableApi, options) => { + let tableElement = tableApi.table().node(); + let moduleElement = $(tableElement).parents('.' + config.moduleTypeClass); + let progressBar = moduleElement.find('.progress-bar'); let progressBarLabel = moduleElement.find('.progress-label-right'); - let tableData = getTableData(signatureTableApi); - - let sigCount = 0; let percent = 0; - let sigIncompleteCount = 0; - let progressBarType = 'progress-bar-danger'; + let progressBarType = ''; + let columnGroupData = tableApi.column('group:name').data(); + let sigCount = columnGroupData.length; + let sigIncompleteCount = columnGroupData.filter((value, index) => !value).length; - if(tableData){ - sigCount = tableData.length; + if(sigCount){ + percent = 100 - Math.round( 100 / sigCount * sigIncompleteCount ); + } - // check for signatures without "groupId" -> these are un scanned signatures + if(percent < 30){ + progressBarType = 'progress-bar-danger' ; + }else if(percent < 100){ + progressBarType = 'progress-bar-warning'; + }else{ + progressBarType = 'progress-bar-success'; + } - for(let i = 0; i < tableData.length; i++){ - let groupId = parseInt(tableData[i].groupId); - if(groupId === 0){ - sigIncompleteCount++; - } - } + progressBarLabel.text(percent + '%'); + progressBar.removeClass().addClass('progress-bar').addClass(progressBarType); + progressBar.attr('aria-valuenow', percent); + progressBar.css({width: percent + '%'}); - if(sigCount > 0){ - percent = 100 - Math.round( 100 / sigCount * sigIncompleteCount ); - } + // show notifications + if(options.showNotice !== false){ + let notification = (sigCount - sigIncompleteCount) + ' / ' + sigCount + ' (' + percent + '%) signatures scanned'; - if(percent < 30){ - progressBarType = 'progress-bar-danger' ; - }else if(percent < 100){ - progressBarType = 'progress-bar-warning'; + if(percent < 100){ + Util.showNotify({title: 'Unscanned signatures', text: notification, type: 'info'}); }else{ - progressBarType = 'progress-bar-success'; + Util.showNotify({title: 'System is scanned', text: notification, type: 'success'}); } } - - setTimeout( - function() { - progressBarLabel.text(percent + '%'); - progressBar.removeClass().addClass('progress-bar').addClass(progressBarType); - progressBar.attr('aria-valuenow', percent); - progressBar.css({width: percent + '%'}); - - let notification = (sigCount - sigIncompleteCount) + ' / ' + sigCount + ' (' + percent + '%) signatures scanned'; - - // show notifications - if(options.showNotice !== false){ - if(percent < 100){ - Util.showNotify({title: 'Unscanned signatures', text: notification, type: 'info'}); - }else{ - Util.showNotify({title: 'System is scanned', text: notification, type: 'success'}); - } - } - }, 100); }; /** @@ -573,20 +607,20 @@ define([ success: { label: ' update signatures', className: 'btn-success', - callback: function () { + callback: function (){ let form = this.find('form'); let formData = form.getFormValues(); let signatureOptions = { deleteOld: (formData.deleteOld) ? 1 : 0 }; - moduleElement.updateSignatureTableByClipboard(systemData, formData.clipboard, signatureOptions); + updateSignatureTableByClipboard(moduleElement, systemData, formData.clipboard, signatureOptions); } } } }); // dialog shown event - signatureReaderDialog.on('shown.bs.modal', function(e) { + signatureReaderDialog.on('shown.bs.modal', function(e){ signatureReaderDialog.initTooltips(); // set focus on sig-input textarea @@ -595,85 +629,6 @@ define([ }); }; - /** - * updates the signature table with all signatures pasted into the "signature reader" dialog - * -> Hint: copy&paste signature data (without any open dialog) will add signatures as well - * @param systemData - * @param clipboard data stream - * @param options - */ - $.fn.updateSignatureTableByClipboard = function(systemData, clipboard, options){ - let moduleElement = $(this); - - let saveSignatureData = function(signatureData){ - // lock update function until request is finished - lockSignatureTable(); - - // lock copy during request (prevent spamming (ctrl + c ) - disableCopyFromClipboard = true; - - let requestData = { - signatures: signatureData, - deleteOld: (options.deleteOld) ? 1 : 0, - systemId: parseInt(systemData.id) - }; - - $.ajax({ - type: 'POST', - url: Init.path.saveSignatureData, - data: requestData, - dataType: 'json', - context: { - moduleElement: moduleElement - } - }).done(function(responseData){ - // unlock table for update - unlockSignatureTable(true); - // updates table with new/updated signature information - updateSignatureTable(this.moduleElement, responseData.signatures, false); - }).fail(function( jqXHR, status, error) { - let reason = status + ' ' + error; - Util.showNotify({title: jqXHR.status + ': Update signatures', text: reason, type: 'warning'}); - $(document).setProgramStatus('problem'); - }).always(function() { - unlockSignatureTable(true); - disableCopyFromClipboard = false; - }); - }; - - // check if copy&paste is enabled - if( !disableCopyFromClipboard ){ - // parse input stream - let signatureData = parseSignatureString(systemData, clipboard); - if(signatureData.length > 0){ - // valid signature data parsed - - // check if signatures will be added to a system where character is currently in - // if user is not in any system -> id === undefined -> no "confirmation required - let currentLocationData = Util.getCurrentLocationData(); - if( - currentLocationData.id && - currentLocationData.id !== systemData.id - ){ - - let systemNameStr = (systemData.name === systemData.alias) ? '"' + systemData.name + '"' : '"' + systemData.alias + '" (' + systemData.name + ')'; - systemNameStr = '' + systemNameStr + ''; - - let msg = ''; - msg += 'Update signatures in ' + systemNameStr + ' ? This not your current location, "' + currentLocationData.name + '" !'; - bootbox.confirm(msg, function(result) { - if(result){ - saveSignatureData(signatureData); - } - }); - }else{ - // current system selected -> no "confirmation" required - saveSignatureData(signatureData); - } - } - } - }; - /** * parses a copy&paste string from ingame scanning window * @param systemData @@ -700,20 +655,18 @@ define([ let typeId = 0; // get groupId by groupName - for (let prop in signatureGroupOptions) { - if(signatureGroupOptions.hasOwnProperty(prop)){ - let reg = new RegExp(signatureGroupOptions[prop], 'i'); - if (reg.test(sigGroup)) { - sigGroupId = parseInt( prop ); - break; - } + for(let groupOption of signatureGroupOptions){ + let reg = new RegExp(groupOption.text, 'i'); + if(reg.test(sigGroup)){ + sigGroupId = groupOption.value; + break; } } // wormhole type cant be extracted from signature string -> skip function call if(sigGroupId !== 5){ // try to get "typeId" by description string - typeId = Util.getSignatureTypeIdByName( systemData, sigGroupId, sigDescription ); + typeId = Util.getSignatureTypeIdByName(systemData, sigGroupId, sigDescription); // set signature name as "description" if signature matching failed sigDescription = (typeId === 0) ? sigDescription : ''; @@ -747,1123 +700,1176 @@ define([ }; /** - * format signature data array into dataTable structure + * updates the signature table with all signatures pasted into the "signature reader" dialog + * -> Hint: copy&paste signature data (without any open dialog) will add signatures as well + * @param tableApi * @param systemData - * @param signatureData + * @param clipboard data stream * @param options - * @returns {Array} */ - let formatSignatureData = (systemData, signatureData, options) => { - let formattedData = []; - - // security check - if( - systemData && - systemData.id && - systemData.id > 0 - ){ - let systemTypeId = systemData.type.id; - - // areaId is required as a key for signature names - // if areaId is 0, no signature data is available for this system - let areaId = Util.getAreaIdBySecurity(systemData.security); - - for(let i = 0; i < signatureData.length; i++){ - let data = signatureData[i]; - - let tempData = {}; - - // set id --------------------------------------------------------------------------------------------- - let sigId = 0; - if(data.id > 0){ - sigId = data.id; - } - tempData.id = sigId; - - // set status ----------------------------------------------------------------------------------------- - let statusClass = ''; - if(data.updated.character !== undefined){ - statusClass = Util.getStatusInfoForCharacter(data.updated.character, 'class'); - } - let status = ''; - - tempData.status = { - status: status, - status_sort: statusClass - }; - - // set name ------------------------------------------------------------------------------------------- - let sigName = ' 0){ - sigName += 'data-pk="' + data.id + '" '; - } - sigName += '>' + data.name + ''; + let updateSignatureTableByClipboard = (tableApi, systemData, clipboard, options) => { + if(isLockedTable(tableApi, 'clipboard')) return; - tempData.name = { - render: sigName, - name: data.name - }; + let saveSignatureData = signatureData => { + // lock update function until request is finished + lockTable(tableApi); - // set group id --------------------------------------------------------------------------------------- - let sigGroup = ' 0){ - sigGroup += 'data-pk="' + data.id + '" '; - } - sigGroup += 'data-systemTypeId="' + systemTypeId + '" '; - sigGroup += 'data-areaId="' + areaId + '" '; - sigGroup += 'data-value="' + data.groupId + '" '; - sigGroup += '>'; - - tempData.group = { - group: sigGroup, - sort: config.signatureGroupsLabels[data.groupId] || '', - filter: config.signatureGroupsLabels[data.groupId] ||'' - }; + // lock copy during request (prevent spamming (ctrl + c ) + lockTable(tableApi, 'clipboard'); - // set type id ---------------------------------------------------------------------------------------- - let sigType = ' 0){ - sigType += 'data-pk="' + data.id + '" '; - } + let requestData = { + signatures: signatureData, + deleteOld: (options.deleteOld) ? 1 : 0, + systemId: parseInt(systemData.id) + }; - // set disabled if sig type is not selected - if(data.groupId < 1){ - sigType += 'data-disabled="1" '; + $.ajax({ + type: 'POST', + url: Init.path.saveSignatureData, + data: requestData, + dataType: 'json', + context: { + tableApi: tableApi } + }).done(function(responseData){ + // unlock table for update + unlockTable(this.tableApi); + // updates table with new/updated signature information + updateSignatureTable(this.tableApi, responseData.signatures, false); + }).fail(function( jqXHR, status, error){ + let reason = status + ' ' + error; + Util.showNotify({title: jqXHR.status + ': Update signatures', text: reason, type: 'warning'}); + $(document).setProgramStatus('problem'); + }).always(function(){ + unlockTable(this.tableApi); + unlockTable(this.tableApi, 'clipboard'); + }); + }; - sigType += 'data-systemTypeId="' + systemTypeId + '" '; - sigType += 'data-areaId="' + areaId + '" '; - sigType += 'data-groupId="' + data.groupId + '" '; - sigType += 'data-value="' + data.typeId + '" '; - sigType += '>'; - - tempData.type = sigType; + // parse input stream + let signatureData = parseSignatureString(systemData, clipboard); + if(signatureData.length > 0){ + // valid signature data parsed + + // check if signatures will be added to a system where character is currently in + // if user is not in any system -> id === undefined -> no "confirmation required + let currentLocationData = Util.getCurrentLocationData(); + if( + currentLocationData.id && + currentLocationData.id !== systemData.id + ){ + + let systemNameStr = (systemData.name === systemData.alias) ? '"' + systemData.name + '"' : '"' + systemData.alias + '" (' + systemData.name + ')'; + systemNameStr = '' + systemNameStr + ''; + + let msg = 'Update signatures in ' + systemNameStr + ' ? This not your current location, "' + currentLocationData.name + '" !'; + bootbox.confirm(msg, function(result){ + if(result){ + saveSignatureData(signatureData); + } + }); + }else{ + // current system selected -> no "confirmation" required + saveSignatureData(signatureData); + } + } + }; - // set connection (to target system) ------------------------------------------------------------------ - let sigConnection = ' 0){ - sigConnection += 'data-pk="' + data.id + '" '; - } + /** + * deletes signature rows from signature table + * @param tableApi + * @param rows + */ + let deleteSignatures = (tableApi, rows) => { + // get unique id array from rows -> in case there are 2 rows with same id -> you never know + let signatureIds = [...new Set(rows.data().toArray().map(rowData => rowData.id))]; - // set disabled if group is not wormhole - if(data.groupId !== 5){ - sigConnection += 'data-disabled="1" '; - } + let requestData = { + signatureIds: signatureIds + }; - if(data.connection){ - sigConnection += 'data-value="' + data.connection.id + '" '; - } - sigConnection += '>'; + $.ajax({ + type: 'POST', + url: Init.path.deleteSignatureData, + data: requestData, + dataType: 'json', + context: { + tableApi: tableApi + } + }).done(function(responseData){ + // promises for all delete rows + let promisesToggleRow = []; + // get deleted rows -> match with response data + let rows = this.tableApi.rows((idx, rowData, node) => responseData.deletedSignatureIds.includes(rowData.id)); + // toggle hide animation for rows one by one... + rows.every(function(rowIdx, tableLoop, rowLoop){ + let row = this; + let rowElement = row.nodes().to$(); - tempData.connection = { - render: sigConnection, - connection: data.connection - }; + rowElement.pulseBackgroundColor('deleted'); - // set description ------------------------------------------------------------------------------------ - let sigDescription = ' 0){ - sigDescription += 'data-pk="' + data.id + '" '; - } - sigDescription += '>' + data.description + ''; + promisesToggleRow.push(toggleTableRow(rowElement)); + }); - tempData.description = sigDescription; + // ... all hide animations done ... + Promise.all(promisesToggleRow).then(payloads => { + // ... get deleted (hide animation done) and delete them + this.tableApi.rows(payloads.map(payload => payload.row)).remove().draw(); - // set created ---------------------------------------------------------------------------------------- - tempData.created = data.created; + // update signature bar + updateScannedSignaturesBar(this.tableApi, {showNotice: false}); - // set updated ---------------------------------------------------------------------------------------- - tempData.updated = data.updated; + // update connection conflicts + checkConnectionConflicts(); - // info icon ------------------------------------------------------------------------------------------ - let infoButton = ''; - if(data.id > 0){ - infoButton = ''; + let notificationOptions = { + type: 'success' + }; + if(payloads.length === 1){ + notificationOptions.title = 'Signature deleted'; + }else{ + notificationOptions.title = payloads.length + ' Signatures deleted '; } - tempData.info = infoButton; + Util.showNotify(notificationOptions); + }); + }).fail(function( jqXHR, status, error){ + let reason = status + ' ' + error; + Util.showNotify({title: jqXHR.status + ': Delete signature', text: reason, type: 'warning'}); + $(document).setProgramStatus('problem'); + }); + }; - // action icon ---------------------------------------------------------------------------------------- + /** + * updates a single cell with new data (e.g. "updated" cell) + * @param tableApi + * @param rowIndex + * @param columnSelector + * @param data + */ + let updateSignatureCell = (tableApi, rowIndex, columnSelector, data) => { + tableApi.cell(rowIndex, columnSelector).data(data); + }; - let actionButton = ''; - tempData.action = { - action: options.action, - button: actionButton - }; + /** + * check connectionIds for conflicts (multiple signatures -> same connection) + * -> show "conflict" icon next to select + */ + let checkConnectionConflicts = () => { + setTimeout(() => { + let connectionSelects = $('.' + config.tableCellConnectionClass + '.editable'); + let connectionIds = []; + let duplicateConnectionIds = []; + let groupedSelects = []; - formattedData.push(tempData); + connectionSelects.each(function(){ + let select = $(this); + let value = parseInt(select.editable('getValue', true) )|| 0; - } + if( + connectionIds.indexOf(value) > -1 && + duplicateConnectionIds.indexOf(value) === -1 + ){ + // duplicate found + duplicateConnectionIds.push(value); + } - } + if(groupedSelects[value] !== undefined){ + groupedSelects[value].push(select[0]); + }else{ + groupedSelects[value] = [select[0]]; + } + + connectionIds.push(value); + }); - return formattedData; + // update "conflict" icon next to select label for connectionIds + connectionSelects.each(function(){ + let select = $(this); + let value = parseInt(select.editable('getValue', true) )|| 0; + let conflictIcon = select.find('.fa-exclamation-triangle'); + if( + duplicateConnectionIds.indexOf(value) > -1 && + groupedSelects[value].indexOf(select[0]) > -1 + ){ + conflictIcon.removeClass('hide'); + }else{ + conflictIcon.addClass('hide'); + } + }); + }, 200); }; /** - * get all rows of a table - * @param tableApi - * @returns {*} + * get group label by groupId + * @param groupId + * @returns {string} */ - let getRows = tableApi => { - let rows = tableApi.rows(); - return rows; + let getGroupLabelById = (groupId) => { + let options = config.signatureGroupsLabels.filter(option => option.value === groupId); + return options.length ? options[0].text : ''; }; /** - * get all selected rows of a table + * helper function - get cell by columnSelector from same row as cell * @param tableApi + * @param cell + * @param columnSelector * @returns {*} */ - let getSelectedRows = tableApi => { - let selectedRows = tableApi.rows('.selected'); - return selectedRows; + let getNeighboringCell = (tableApi, cell, columnSelector) => { + return tableApi.cell(tableApi.row(cell).index(), columnSelector); }; /** - * check the "delete signature" button. show/hide the button if a signature is selected + * get next cell by columnSelector * @param tableApi + * @param cell + * @param columnSelectors + * @returns {*} */ - let checkDeleteSignaturesButton = tableApi => { - let selectedRows = getSelectedRows(tableApi); - let selectedRowCount = selectedRows.data().length; - let clearButton = tableApi.button('tableTools', 'delete:name').node(); - - if(selectedRowCount > 0){ - let allRows = getRows(tableApi); - let rowCount = allRows.data().length; - - let countText = selectedRowCount; - if(selectedRowCount >= rowCount){ - countText = 'all'; - } - clearButton.find('i+span').text(countText); - - // update clear signatures button text - clearButton.velocity('stop'); - - if( clearButton.is(':hidden') ){ - // show button - clearButton.velocity('transition.expandIn', { - duration: 100 - }); + let searchNextCell = (tableApi, cell, columnSelectors) => { + if(columnSelectors.length){ + // copy selectors -> .shift() modifies the orig array, important! + columnSelectors = columnSelectors.slice(0); + let nextCell = getNeighboringCell(tableApi, cell, columnSelectors.shift()); + let nextCellElement = nextCell.nodes().to$(); + if( nextCellElement.data('editable') ){ + // cell is xEditable field -> skip "disabled" OR check value + let nextCellValue = nextCellElement.editable('getValue', true); + if( + [0, null].includes(nextCellValue) && + !nextCellElement.data('editable').options.disabled + ){ + // xEditable value is empty + return nextCell; + }else{ + // search next cell + return searchNextCell(tableApi, cell, columnSelectors); + } + }else if( nextCell.index().column === tableApi.column(-1).index() ){ + // NO xEditable cell BUT last column (=> action cell) -> OK + return nextCell; }else{ - // highlight button - clearButton.velocity('callout.pulse', { - duration: 200 - }); + console.error('No cell found for activation!'); } }else{ - // hide button - clearButton.velocity('transition.expandOut', { - duration: 100 - }); + // return origin cell + return tableApi.cell(cell); } }; /** - * draw signature table toolbar (add signature button, scan progress bar - * @param moduleElement - * @param mapId - * @param systemData + * make cell active -> focus() + show xEditable + * @param cell */ - let drawSignatureTableNew = (moduleElement, mapId, systemData) => { - // add toolbar action for table ------------------------------------------------------------------------------- - let tableToolbarAction = $('
', { - class: config.tableToolsActionClass - }); - - // create "empty table for new signature - let table = $('', { - class: ['stripe', 'row-border', 'compact', 'nowrap', config.sigTableClass, config.sigTableSecondaryClass].join(' ') - }); - - tableToolbarAction.append(table); - - moduleElement.find('.' + config.moduleHeadClass).after(tableToolbarAction); - - let signatureData = formatSignatureData(systemData, [emptySignatureData], emptySignatureOptions); - let signatureTable = table.dataTable( { - data: signatureData, - paging: false, - info: false, - searching: false, - tabIndex: -1 - } ); - let signatureTableApi = signatureTable.api(); - - setDataTableInstance(mapId, systemData.id, 'secondary', signatureTableApi); - - table.makeEditable(signatureTableApi, systemData); + let activateCell = (cell) => { + let cellElement = cell.nodes().to$(); + // NO xEditable + cellElement.focus(); + + if( cellElement.data('editable') ){ + // cell is xEditable field -> show xEditable form + cellElement.editable('show'); + } }; /** - * Update/set tooltip for an element - * @param element - * @param title + * search neighboring cell (same row) and set "active" -> show editable + * @param tableApi + * @param cell + * @param columnSelectors */ - let updateTooltip = (element, title) => { - $(element).attr('data-container', 'body').attr('title', title.toUpperCase()).tooltip('fixTitle') - .tooltip('setContent'); + let activateNextCell = (tableApi, cell, columnSelectors) => { + let nextCell = searchNextCell(tableApi, cell, columnSelectors); + activateCell(nextCell); + let test; }; /** - * helper function - jump to "next" editable field on save - * @param field - * @param selector - * @returns {*|jQuery|HTMLElement} + * helper function - set 'save' observer for xEditable cell + * -> show "neighboring" xEditable field + * @param tableApi + * @param cell + * @param columnSelectorsAjax - used for Ajax save (edit signature) + * @param columnSelectorsDry - used for dry save (new signature) */ - let getNextEditableField = (field, selector) => { - let nextEditableField = null; - if(selector){ - // search specific sibling - nextEditableField = $(field).closest('td').nextAll(selector).find('.editable'); - }else{ - // get next sibling - nextEditableField = $(field).closest('td').next().find('.editable'); - } - - return $(nextEditableField); + let editableOnSave = (tableApi, cell, columnSelectorsAjax = [], columnSelectorsDry = []) => { + $(cell).on('save', function(e, params){ + if(params.response){ + // send by Ajax + activateNextCell(tableApi, cell, columnSelectorsAjax); + }else{ + // dry save - no request + activateNextCell(tableApi, cell, columnSelectorsDry); + } + }); }; /** - * helper function - get the next editable field in next table column - * @param fields + * helper function - set 'hidden' observer for xEditable cell + * -> set focus() on xEditable field + * @param tableApi + * @param cell */ - let openNextEditDialogOnSave = fields => { - fields.on('save', function(e, params){ - let currentField = $(this); - let nextField = getNextEditableField(currentField); - nextField.editable('show'); - - setTimeout(() => { - // update scanning progressbar if sig "type" has changed AND - // the current field is in the "primary" table (not the "add" new sig row) - if( - $(e.target).hasClass(config.sigTableEditSigGroupSelect) && - $(e.target).parents('.' + config.sigTableClass).hasClass(config.sigTablePrimaryClass) - ){ - currentField.parents('.' + config.moduleClass).updateScannedSignaturesBar({showNotice: true}); - } - }, 200); + let editableOnHidden = (tableApi, cell) => { + $(cell).on('hidden', function(e, reason){ + // re-focus element on close (keyboard navigation) + // 'save' event handles default focus (e.g. open new xEditable) + // 'hide' handles all the rest (experimental) + if(reason !== 'save'){ + this.focus(); + } }); }; /** - * make a table or row editable - * @param tableApi - * @param systemData + * helper function - set 'shown' observer for xEditable type cell + * -> enable Select2 for xEditable form + * @param cell */ - $.fn.makeEditable = function(tableApi, systemData){ - // table element OR row element - let tableElement = $(this); - - // find editable fields - let sigNameFields = tableElement.find('.' + config.sigTableEditSigNameInput); - let sigGroupFields = tableElement.find('.' + config.sigTableEditSigGroupSelect); - let sigTypeFields = tableElement.find('.' + config.sigTableEditSigTypeSelect); - let sigDescriptionFields = tableElement.find('.' + config.sigTableEditSigDescriptionTextarea); - let sigConnectionFields = tableElement.find('.' + config.sigTableEditSigConnectionSelect); - - /** - * add map/system specific data for each editable field in the sig-table - * @param params - * @returns {*} - */ - let modifyFieldParamsOnSend = params => { - params.systemId = systemData.id; - return params; - }; - - // set global xEditable options for all table fields - $.extend($.fn.editable.defaults, { - url: Init.path.saveSignatureData, - dataType: 'json', - mode: 'popup', - container: 'body', - error: function(jqXHR, newValue){ - let reason = ''; - let status = ''; - if(jqXHR.name){ - // save error new sig (mass save) - reason = jqXHR.name; - status = 'Error'; - }else{ - reason = jqXHR.responseJSON.text; - status = jqXHR.status; - } - - Util.showNotify({title: status + ': save signature', text: reason, type: 'error'}); - $(document).setProgramStatus('problem'); - return reason; - } + let editableGroupOnShown = cell => { + $(cell).on('shown', function(e, editable){ + let inputField = editable.input.$input; + inputField.addClass('pf-select2').initSignatureGroupSelect(); }); + }; - - // Input sig name --------------------------------------------------------------------------------------------- - sigNameFields.editable({ - type: 'text', - title: 'signature id', - name: 'name', - emptytext: '? ? ?', - display: function(value) { - // change display value to first 3 letters - $(this).text($.trim( value.substr(0, 3) ).toLowerCase()); - }, - validate: function(value) { - if($.trim(value).length < 3) { - return 'Id is less than min of "3"'; - }else if($.trim(value).length > 10){ - return 'Id is more than max of "10"'; - } - }, - params: modifyFieldParamsOnSend, - success: function(response, newValue){ - if(response){ - let signatureNameField = $(this); - let columnElement = signatureNameField.parents('td'); - let rowElement = signatureNameField.parents('tr'); - let newRowData = response.signatures[0]; - - // update column tooltip - updateTooltip(columnElement, newValue); - - // update "updated" cell - updateSignatureCell(tableApi, rowElement, 7, newRowData.updated); - } + /** + * helper function - set 'save' observer for xEditable group cell + * -> update scanned signature bar + * @param tableApi + * @param cell + */ + let editableGroupOnSave = (tableApi, cell) => { + $(cell).on('save', function(e, params){ + if(params.response){ + // send by Ajax + updateScannedSignaturesBar(tableApi, {showNotice: true}); } }); + }; - - // Select sig group (master) ---------------------------------------------------------------------------------- - sigGroupFields.editable({ - type: 'select', - title: 'group', - name: 'groupId', - emptytext: 'unknown', - onblur: 'submit', - showbuttons: false, - prepend: [{value: '0', text: ''}], - params: modifyFieldParamsOnSend, - source: function(){ - let signatureGroupField = $(this); - let systemTypeId = parseInt( signatureGroupField.attr('data-systemTypeId') ); - - // get all available Signature Types - let availableTypes = config.signatureGroupsLabels; - - return availableTypes; - }, - success: function(response, newValue){ - let signatureGroupField = $(this); - let rowElement = signatureGroupField.parents('tr'); - newValue = parseInt(newValue); - - if(response){ - let newRowData = response.signatures[0]; - - // update "updated" cell - updateSignatureCell(tableApi, rowElement, 7, newRowData.updated); - } - - // find related "type" select (same row) and change options - let signatureTypeField = getNextEditableField(signatureGroupField); - - let systemTypeId = parseInt( signatureGroupField.attr('data-systemTypeId') ); - let areaId = parseInt( signatureGroupField.attr('data-areaid') ); - - let newSelectOptions = getAllSignatureNames(systemData, systemTypeId, areaId, newValue); - signatureTypeField.editable('option', 'source', newSelectOptions); - - if( - newValue > 0 && - newSelectOptions.length > 0 - ){ - signatureTypeField.editable('enable'); - }else{ - signatureTypeField.editable('disable'); - } - - signatureTypeField.editable('setValue', null); - - // find "connection" select (same row) and change "enabled" flag - let signatureConnectionField = getNextEditableField(signatureGroupField, '.' + config.sigTableConnectionClass); - if(newValue === 5){ - // wormhole - signatureConnectionField.editable('enable'); - }else{ - checkConnectionConflicts(); - signatureConnectionField.editable('disable'); - } - - signatureConnectionField.editable('setValue', null); + /** + * helper function - set 'init' observer for xEditable type cell + * -> disable xEditable field if no options available + * @param cell + */ + let editableTypeOnInit = cell => { + $(cell).on('init', function(e, editable){ + if(!editable.options.source().length){ + editableDisable($(this)); } }); + }; + /** + * helper function - set 'shown' observer for xEditable type cell + * -> enable Select2 for xEditable form + * @param cell + */ + let editableTypeOnShown = cell => { + $(cell).on('shown', function(e, editable){ + // destroy possible open popovers (e.g. wormhole types) + $(this).destroyPopover(true); - // Select sig type (slave: depends on sig type) --------------------------------------------------------------- - sigTypeFields.on('init', function(e, editable) { - // check if there are initial options available - let options = editable.input.options.source.bind(e.target)(); - if(options.length <= 0){ - editable.disable(); - } + let inputField = editable.input.$input; + let hasOptGroups = inputField.has('optgroup').length > 0; + inputField.addClass('pf-select2').initSignatureTypeSelect({}, hasOptGroups); }); + }; - sigTypeFields.editable({ - type: 'select', - title: 'type', - name: 'typeId', - emptytext: 'unknown', - onblur: 'submit', - showbuttons: false, - params: modifyFieldParamsOnSend, - display: function(value, sourceData){ - let selected = $.fn.editableutils.itemsByValue(value, sourceData); - if(selected.length && selected[0].text.length){ - $(this).html(FormElement.formatSignatureTypeSelectionData({text: selected[0].text})); - }else{ - $(this).empty(); - } - }, - source: function(){ - let signatureTypeField = $(this); - - let systemTypeId = parseInt( signatureTypeField.attr('data-systemTypeId') ); - let areaId = parseInt( signatureTypeField.attr('data-areaid') ); - let groupId = parseInt( signatureTypeField.attr('data-groupId') ); - let availableSigs = getAllSignatureNames(systemData, systemTypeId, areaId, groupId); - - return availableSigs; - }, - success: function(response, newValue){ - let signatureTypeField = $(this); - let rowElement = signatureTypeField.parents('tr'); - - if(response){ - let newRowData = response.signatures[0]; - // update "updated" cell - updateSignatureCell(tableApi, rowElement, 7, newRowData.updated); - }else{ - // "add new" signature -> set "+" focus for keyboard control - setTimeout(() => { - rowElement.find('.pf-table-action-cell')[0].focus(); - }, 50); - } - } + /** + * helper function - set 'shown' observer for xEditable description cell + * -> change height for "new signature" table wrapper + * @param cell + */ + let editableDescriptionOnShown = cell => { + $(cell).on('shown', function(e, editable){ + $(this).parents('.' + config.tableToolsActionClass).css( 'height', '+=35px' ); }); + }; - // Textarea sig description ----------------------------------------------------------------------------------- - sigDescriptionFields.editable({ - type: 'textarea', - title: 'description', - name: 'description', - emptytext: '', - onblur: 'submit', - mode: 'inline', - showbuttons: false, - inputclass: config.editableDescriptionInputClass, - params: modifyFieldParamsOnSend, - success: function(response, newValue){ - if(response){ - let signatureDescriptionField = $(this); - let rowElement = signatureDescriptionField.parents('tr'); - let newRowData = response.signatures[0]; - - // update "updated" cell - updateSignatureCell(tableApi, rowElement, 7, newRowData.updated); - } - } + /** + * helper function - set 'hidden' observer for xEditable description cell + * -> change height for "new signature" table wrapper + * @param cell + */ + let editableDescriptionOnHidden = cell => { + $(cell).on('hidden', function(e, editable){ + $(this).parents('.' + config.tableToolsActionClass).css( 'height', '-=35px' ); }); + }; - // Select connection (target system) -------------------------------------------------------------------------- - let initCount = 0; - sigConnectionFields.on('init', function(e, editable) { - if(++initCount >= sigConnectionFields.length){ + /** + * helper function - set 'init' observer for xEditable connection cell + * -> set focus() on xEditable field + * @param cell + */ + let editableConnectionOnInit = cell => { + $(cell).on('init', function(e, editable){ + if(editable.value > 0){ + // empty connection selects ON INIT don´t make a difference for conflicts checkConnectionConflicts(); } }); + }; - sigConnectionFields.editable({ - type: 'select', - title: 'system', - name: 'connectionId', - emptytext: 'unknown', - onblur: 'submit', - showbuttons: false, - prepend: [{value: '0', text: ''}], - params: modifyFieldParamsOnSend, - display: function(value, sourceData) { - let selected = $.fn.editableutils.itemsByValue(value, sourceData); - if(selected.length && selected[0].text.length){ - let errorIcon = ' '; - $(this).html(FormElement.formatSignatureConnectionSelectionData({text: selected[0].text})).prepend(errorIcon); - }else{ - $(this).empty() ; - } - }, - source: function(a,b){ - let activeMap = Util.getMapModule().getActiveMap(); - let mapId = activeMap.data('id'); - - let availableConnections = getSignatureConnectionOptions(mapId, systemData); - - return availableConnections; - }, - success: function(response, newValue){ - let signatureConnectionField = $(this); - let rowElement = signatureConnectionField.parents('tr'); - - if(response){ - let newRowData = response.signatures[0]; - - // update "updated" cell - updateSignatureCell(tableApi, rowElement, 7, newRowData.updated); - }else{ - // "add new" signature -> set "+" focus for keyboard control - setTimeout(() => { - rowElement.find('.pf-table-action-cell')[0].focus(); - }, 50); - } - } - }); - - sigGroupFields.on('shown', function(e, editable){ - let inputField = editable.input.$input; - inputField.addClass('pf-select2').initSignatureGroupSelect(); - }); - - sigTypeFields.on('shown', function(e, editable){ - // destroy possible open popovers (e.g. wormhole types) - $(this).destroyPopover(true); - - let inputField = editable.input.$input; - let hasOptGroups = inputField.has('optgroup').length > 0; - inputField.addClass('pf-select2').initSignatureTypeSelect({}, hasOptGroups); - }); - - sigConnectionFields.on('shown', function(e, editable){ + /** + * helper function - set 'shown' observer for xEditable connection cell + * -> enable Select2 for xEditable form + * @param cell + */ + let editableConnectionOnShown = cell => { + $(cell).on('shown', function(e, editable){ let inputField = editable.input.$input; inputField.addClass('pf-select2').initSignatureConnectionSelect(); }); + }; - sigDescriptionFields.on('shown', function(e, editable){ - // enlarge the tools-action container because the tables gets bigger - tableElement.parents('.' + config.tableToolsActionClass).css( 'height', '+=35px' ); - }); - - sigDescriptionFields.on('hidden', function(e, editable){ - // enlarge the tools-action container because the tables gets bigger - tableElement.parents('.' + config.tableToolsActionClass).css( 'height', '-=35px' ); - }); - - sigConnectionFields.on('save', function(e, editable){ + /** + * helper function - set 'save' observer for xEditable connection cell + * -> check connection conflicts + * @param cell + */ + let editableConnectionOnSave = cell => { + $(cell).on('save', function(e, params){ checkConnectionConflicts(); }); + }; - $().add(sigNameFields).add(sigGroupFields).add(sigTypeFields) - .add(sigDescriptionFields).add(sigConnectionFields).on('hidden', function(e, editable) { - // re-focus element on close (keyboard navigation) - this.focus(); - }); + /** + * enable xEditable element + * @param element + */ + let editableEnable = element => { + element.editable('enable'); + // (re)-enable focus on element by tabbing, xEditable removes "tabindex" on 'disable' + element.attr('tabindex', 0); + }; - // open next field dialog ------------------------------------------------------------------------------------- - openNextEditDialogOnSave(sigNameFields); - openNextEditDialogOnSave(sigGroupFields); + /** + * disable xEditable element + * @param element + */ + let editableDisable = element => { + element.editable('disable'); + // xEditable sets 'tabindex = -1' }; /** - * get all connection select options + * get dataTables default options for signature tables * @param mapId * @param systemData - * @returns {Array} + * @returns {{}} */ - let getSignatureConnectionOptions = (mapId, systemData) => { - let map = Map.getMapInstance( mapId ); - let systemId = MapUtil.getSystemId(mapId, systemData.id); - let systemConnections = MapUtil.searchConnectionsBySystems(map, [systemId], 'wh'); - let newSelectOptions = []; - let connectionOptions = []; - - for(let i = 0; i < systemConnections.length; i++){ - let connectionData = MapUtil.getDataByConnection(systemConnections[i]); - - // connectionId is required (must be stored) - if(connectionData.id){ - // check whether "source" or "target" system is relevant for this connection - // -> hint "source" === 'target' --> loop - if(systemData.id !== connectionData.target){ - let targetSystemData = MapUtil.getSystemData(mapId, connectionData.target); - if(targetSystemData){ - // take target... - connectionOptions.push({ - value: connectionData.id, - text: connectionData.targetAlias + ' - ' + targetSystemData.security - }); - } - }else if(systemData.id !== connectionData.source){ - let sourceSystemData = MapUtil.getSystemData(mapId, connectionData.source); - if(sourceSystemData){ - // take source... - connectionOptions.push({ - value: connectionData.id, - text: connectionData.sourceAlias + ' - ' + sourceSystemData.security - }); - } - } - } - } + let getSignatureDataTableDefaults = (mapId, systemData) => { - if(connectionOptions.length > 0){ - newSelectOptions.push({ text: 'System', children: connectionOptions}); - } + /** + * add map/system specific data for each editable field in the sig-table + * @param params + * @returns {*} + */ + let modifyFieldParamsOnSend = params => { + params.systemId = systemData.id; + return params; + }; - return newSelectOptions; - }; + let dataTableDefaults = { + pfMeta: { + 'mapId': mapId, + 'systemId': systemData.id + }, + order: [1, 'asc'], + rowId: rowData => config.sigTableRowIdPrefix + rowData.id, + language: { + emptyTable: 'No signatures added', + info: 'Showing _START_ to _END_ of _TOTAL_ signatures', + infoEmpty: 'Showing 0 to 0 of 0 signatures', + infoFiltered: '( from _MAX_ total)', + lengthMenu: 'Show _MENU_', + zeroRecords: 'No signatures recorded' + }, + columnDefs: [ + { + targets: 0, + name: 'status', + orderable: true, + searchable: false, + title: '', + width: 2, + class: ['text-center'].join(' '), + data: 'updated', + type: 'html', + render: { + _: (cellData, type, rowData, meta) => { + let value = ''; + if(cellData && cellData.character){ + value = Util.getStatusInfoForCharacter(cellData.character, 'class'); + } - /** - * check connectionIds for conflicts (multiple signatures -> same connection) - * -> show "conflict" icon next to select - */ - let checkConnectionConflicts = () => { - setTimeout(() => { - let connectionSelects = $('.' + config.sigTableConnectionClass + ' .editable'); - let connectionIds = []; - let duplicateConnectionIds = []; - let groupedSelects = []; + if(type === 'display'){ + value = ''; + } + return value; + } + } + },{ + targets: 1, + name: 'id', + orderable: true, + searchable: true, + title: 'id', + type: 'string', + width: 15, + class: [config.tableCellFocusClass, config.sigTableEditSigNameInput].join(' '), + data: 'name', + createdCell: function(cell, cellData, rowData, rowIndex, colIndex){ + let tableApi = this.api(); + + updateTooltip(cell, cellData); + + editableOnSave(tableApi, cell, [], ['group:name', 'type:name', 'action:name']); + editableOnHidden(tableApi, cell); + + $(cell).editable($.extend({ + mode: 'popup', + type: 'text', + title: 'signature id', + name: 'name', + pk: rowData.id || null, + emptytext: '? ? ?', + value: cellData, + inputclass: config.editableNameInputClass, + display: function(value){ + // change display value to first 3 letters + $(this).text($.trim( value.substr(0, 3) ).toLowerCase()); + }, + validate: function(value){ + let msg = false; + if($.trim(value).length < 3){ + msg = 'Id is less than min of "3"'; + }else if($.trim(value).length > 10){ + msg = 'Id is more than max of "10"'; + } - connectionSelects.each(function(){ - let select = $(this); - let value = parseInt(select.editable('getValue', true) )|| 0; + if(msg){ + return {newValue: value, msg: msg, field: this}; + } + }, + params: modifyFieldParamsOnSend, + success: function(response, newValue){ + tableApi.cell(cell).data(newValue); + + $(this).pulseBackgroundColor('changed'); + updateTooltip(cell, newValue); + + if(response){ + let newRowData = response.signatures[0]; + updateSignatureCell(tableApi, rowIndex, 'status:name', newRowData.updated); + updateSignatureCell(tableApi, rowIndex, 'updated:name', newRowData.updated.updated); + } + tableApi.draw(); + } + }, editableDefaults)); + } + },{ + targets: 2, + name: 'group', + orderable: true, + searchable: true, + title: 'group', + type: 'string', // required for sort/filter because initial data type is numeric + width: 40, + class: [config.tableCellFocusClass].join(' '), + data: 'groupId', + render: { + sort: getGroupLabelById, + filter: getGroupLabelById + }, + createdCell: function(cell, cellData, rowData, rowIndex, colIndex){ + let tableApi = this.api(); + + editableOnSave(tableApi, cell, ['type:name'], ['type:name', 'action:name']); + editableOnHidden(tableApi, cell); + editableGroupOnShown(cell); + editableGroupOnSave(tableApi, cell); + + $(cell).editable($.extend({ + mode: 'popup', + type: 'select', + title: 'group', + name: 'groupId', + pk: rowData.id || null, + emptytext: 'unknown', + onblur: 'submit', + showbuttons: false, + value: cellData, + prepend: [{value: 0, text: ''}], + params: modifyFieldParamsOnSend, + source: config.signatureGroupsLabels, + display: function(value, sourceData){ + let selected = $.fn.editableutils.itemsByValue(value, sourceData); + if(selected.length && selected[0].value > 0){ + $(this).html(selected[0].text); + }else{ + $(this).empty(); + } + }, + validate: function(value){ + // convert string to int -> important for further processing + // -> on submit record (new signature) validate() is called and no error should be returned + // value should already be integer + if( !Number.isInteger(value) ){ + return {newValue: parseInt(value) || 0, msg: null}; + } + }, + success: function(response, newValue){ + tableApi.cell(cell).data(newValue); - if( - connectionIds.indexOf(value) > -1 && - duplicateConnectionIds.indexOf(value) === -1 - ){ - // duplicate found - duplicateConnectionIds.push(value); - } + $(this).pulseBackgroundColor('changed'); - if(groupedSelects[value] !== undefined){ - groupedSelects[value].push(select[0]); - }else{ - groupedSelects[value] = [select[0]]; - } + if(response){ + let newRowData = response.signatures[0]; + updateSignatureCell(tableApi, rowIndex, 'status:name', newRowData.updated); + updateSignatureCell(tableApi, rowIndex, 'updated:name', newRowData.updated.updated); + } + tableApi.draw(); + + // find related "type" select (same row) and change options + let signatureTypeCell = getNeighboringCell(tableApi, cell, 'type:name'); + let signatureTypeField = signatureTypeCell.nodes().to$(); + + let typeOptions = getAllSignatureNames( + systemData, + systemData.type.id, + Util.getAreaIdBySecurity(systemData.security), + newValue + ); + signatureTypeField.editable('option', 'source', typeOptions); + + if( + newValue > 0 && + typeOptions.length > 0 + ){ + editableEnable(signatureTypeField); + }else{ + editableDisable(signatureTypeField); + } + signatureTypeCell.data(0); + signatureTypeField.editable('setValue', 0); - connectionIds.push(value); - }); - // update "conflict" icon next to select label for connectionIds - connectionSelects.each(function(){ - let select = $(this); - let value = parseInt(select.editable('getValue', true) )|| 0; - let conflictIcon = select.find('.fa-exclamation-triangle'); - if( - duplicateConnectionIds.indexOf(value) > -1 && - groupedSelects[value].indexOf(select[0]) > -1 - ){ - conflictIcon.removeClass('hide'); - }else{ - conflictIcon.addClass('hide'); - } - }); - }, 200); - }; + // find "connection" select (same row) and change "enabled" flag + let signatureConnectionCell = getNeighboringCell(tableApi, cell, 'connection:name'); + let signatureConnectionField = signatureConnectionCell.nodes().to$(); - /** - * get all signature types that can exist for a given system - * -> result is partially cached - * @param systemData - * @param systemTypeId - * @param areaId - * @param groupId - * @returns {Array} - */ - let getAllSignatureNames = (systemData, systemTypeId, areaId, groupId) => { - let newSelectOptions = []; - let cacheKey = [systemTypeId, areaId, groupId].join('_'); - let newSelectOptionsCount = 0; + if(newValue === 5){ + // wormhole + editableEnable(signatureConnectionField); + }else{ + checkConnectionConflicts(); + editableDisable(signatureConnectionField); + } + signatureConnectionCell.data(0); + signatureConnectionField.editable('setValue', 0); + } + }, editableDefaults)); + } + },{ + targets: 3, + name: 'type', + orderable: false, + searchable: false, + title: 'type', + type: 'string', // required for sort/filter because initial data type is numeric + width: 180, + class: [config.tableCellFocusClass].join(' '), + data: 'typeId', + createdCell: function(cell, cellData, rowData, rowIndex, colIndex){ + let tableApi = this.api(); + + editableOnSave(tableApi, cell, ['connection:name'], ['action:name']); + editableOnHidden(tableApi, cell); + editableTypeOnInit(cell); + editableTypeOnShown(cell); + + $(cell).editable($.extend({ + mode: 'popup', + type: 'select', + title: 'type', + name: 'typeId', + pk: rowData.id || null, + emptytext: 'unknown', + onblur: 'submit', + showbuttons: false, + disabled: rowData.groupId <= 0, // initial disabled if groupId not set + value: cellData, + prepend: [{value: 0, text: ''}], + params: modifyFieldParamsOnSend, + source: function(){ + // get current row data (important!) + // -> "rowData" param is not current state, values are "on createCell()" state + let rowData = tableApi.row($(cell).parents('tr')).data(); + + let typeOptions = getAllSignatureNames( + systemData, + systemData.type.id, + Util.getAreaIdBySecurity(systemData.security), + rowData.groupId + ); + return typeOptions; + }, + display: function(value, sourceData){ + let selected = $.fn.editableutils.itemsByValue(value, sourceData); + if(selected.length && selected[0].value > 0){ + $(this).html(FormElement.formatSignatureTypeSelectionData({text: selected[0].text})); + }else{ + $(this).empty(); + } + }, + validate: function(value){ + // convert string to int -> important for further processing + // -> on submit record (new signature) validate() is called and no error should be returned + // value should already be integer + if( !Number.isInteger(value) ){ + return {newValue: parseInt(value) || 0, msg: null}; + } + }, + success: function(response, newValue){ + tableApi.cell(cell).data(newValue); - // check for cached signature names - if(sigNameCache.hasOwnProperty( cacheKey )){ - // cached signatures do not include static WHs! - // -> ".slice(0)" creates copy - newSelectOptions = sigNameCache[cacheKey].slice(0); - newSelectOptionsCount = getOptionsCount('children', newSelectOptions); - }else{ - // get new Options ---------- - // get all possible "static" signature names by the selected groupId - let tempSelectOptions = Util.getAllSignatureNames(systemTypeId, areaId, groupId); + $(this).pulseBackgroundColor('changed'); - // format options into array with objects advantages: keep order, add more options (whs), use optgroup - if(tempSelectOptions){ - let fixSelectOptions = []; - for (let key in tempSelectOptions) { - if ( - key > 0 && - tempSelectOptions.hasOwnProperty(key) - ) { - newSelectOptionsCount++; - fixSelectOptions.push({value: parseInt(key), text: tempSelectOptions[key]}); + if(response){ + let newRowData = response.signatures[0]; + updateSignatureCell(tableApi, rowIndex, 'status:name', newRowData.updated); + updateSignatureCell(tableApi, rowIndex, 'updated:name', newRowData.updated.updated); + } + tableApi.draw(); + } + }, editableDefaults)); } - } - - if(newSelectOptionsCount > 0){ - if(groupId === 5){ - // "wormhole" selected => multiple available - newSelectOptions.push({ text: 'Wandering', children: fixSelectOptions}); - }else{ - newSelectOptions = fixSelectOptions; + },{ + targets: 4, + name: 'description', + orderable: false, + searchable: false, + title: 'description', + class: [config.tableCellFocusClass, config.tableCellActionClass].join(' '), + type: 'html', + data: 'description', + defaultContent: '', + createdCell: function(cell, cellData, rowData, rowIndex, colIndex){ + let tableApi = this.api(); + + editableOnSave(tableApi, cell, [], ['action:name']); + editableOnHidden(tableApi, cell); + editableDescriptionOnShown(cell); + editableDescriptionOnHidden(cell); + + $(cell).editable($.extend({ + mode: 'inline', + type: 'textarea', + title: 'description', + name: 'description', + pk: rowData.id || null, + emptytext: '', + onblur: 'submit', + showbuttons: false, + inputclass: config.editableDescriptionInputClass, + emptyclass: config.moduleHeadlineIconClass, + params: modifyFieldParamsOnSend, + success: function(response, newValue){ + tableApi.cell(cell).data(newValue); + + $(this).pulseBackgroundColor('changed'); + + if(response){ + let newRowData = response.signatures[0]; + updateSignatureCell(tableApi, rowIndex, 'status:name', newRowData.updated); + updateSignatureCell(tableApi, rowIndex, 'updated:name', newRowData.updated.updated); + } + tableApi.draw(); + } + }, editableDefaults)); } - } - } + },{ + targets: 5, + name: 'connection', + orderable: false, + searchable: false, + title: 'leads to', + type: 'string', // required for sort/filter because initial data type is numeric + className: [config.tableCellFocusClass, config.tableCellConnectionClass].join(' '), + width: 80, + data: 'connection.id', + defaultContent: 0, + createdCell: function(cell, cellData, rowData, rowIndex, colIndex){ + let tableApi = this.api(); + + editableOnSave(tableApi, cell, [], ['action:name']); + editableOnHidden(tableApi, cell); + editableConnectionOnInit(cell); + editableConnectionOnShown(cell); + editableConnectionOnSave(cell); + + $(cell).editable($.extend({ + mode: 'popup', + type: 'select', + title: 'system', + name: 'connectionId', + pk: rowData.id || null, + emptytext: 'unknown', + onblur: 'submit', + showbuttons: false, + disabled: rowData.groupId !== 5, // initial disabled if NON wh + value: cellData, + prepend: [{value: 0, text: ''}], + params: modifyFieldParamsOnSend, + source: function(){ + let activeMap = Util.getMapModule().getActiveMap(); + let mapId = activeMap.data('id'); + let connectionOptions = getSignatureConnectionOptions(mapId, systemData); + return connectionOptions; + }, + display: function(value, sourceData){ + let selected = $.fn.editableutils.itemsByValue(value, sourceData); + if(selected.length && selected[0].value > 0){ + let errorIcon = ' '; + $(this).html(FormElement.formatSignatureConnectionSelectionData({text: selected[0].text})).prepend(errorIcon); + }else{ + $(this).empty() ; + } + }, + validate: function(value, b, c){ + // convert string to int -> important for further processing + // -> on submit record (new signature) validate() is called and no error should be returned + // value should already be integer + if( !Number.isInteger(value) ){ + return {newValue: parseInt(value) || 0, msg: null}; + } + }, + success: function(response, newValue){ + tableApi.cell(cell).data(newValue); - // wormhole (cached signatures) - if( groupId === 5 ){ + $(this).pulseBackgroundColor('changed'); - // add possible frigate holes - let frigateHoles = getFrigateHolesBySystem(areaId); - let frigateWHData = []; - for(let frigKey in frigateHoles){ - if ( - frigKey > 0 && - frigateHoles.hasOwnProperty(frigKey) - ) { - newSelectOptionsCount++; - frigateWHData.push( {value: newSelectOptionsCount, text: frigateHoles[frigKey]} ); + if(response){ + let newRowData = response.signatures[0]; + updateSignatureCell(tableApi, rowIndex, 'status:name', newRowData.updated); + updateSignatureCell(tableApi, rowIndex, 'updated:name', newRowData.updated.updated); + } + tableApi.draw(); + } + }, editableDefaults)); } - } - - if(frigateWHData.length > 0){ - newSelectOptions.push({ text: 'Frigate', children: frigateWHData}); - } + },{ + targets: 6, + name: 'created', + title: 'created', + searchable: false, + width: 80, + className: ['text-right', config.tableCellCounterClass, 'min-screen-d'].join(' '), + data: 'created.created', + defaultContent: '' + },{ + targets: 7, + name: 'updated', + title: 'updated', + searchable: false, + width: 80, + className: ['text-right', config.tableCellCounterClass, 'min-screen-d'].join(' '), + data: 'updated.updated', + defaultContent: '', + createdCell: function(cell, cellData, rowData, rowIndex, colIndex){ + // highlight cell + let diff = Math.floor((new Date()).getTime()) - cellData * 1000; - // add possible incoming holes - let incomingWHData = []; - for(let incomingKey in Init.incomingWormholes){ - if ( - incomingKey > 0 && - Init.incomingWormholes.hasOwnProperty(incomingKey) - ) { - newSelectOptionsCount++; - incomingWHData.push( {value: newSelectOptionsCount, text: Init.incomingWormholes[incomingKey]} ); + // age > 1 day + if( diff > 86400000){ + $(cell).addClass('txt-color txt-color-warning'); + } } - } - - if(incomingWHData.length > 0){ - newSelectOptions.push({ text: 'Incoming', children: incomingWHData}); - } - }else{ - // groups without "children" (optgroup) should be sorted by "value" - // this is completely optional and not necessary! - newSelectOptions = newSelectOptions.sortBy('text'); - } - - // update cache (clone array) -> further manipulation to this array, should not be cached - sigNameCache[cacheKey] = newSelectOptions.slice(0); - } - - // static wormholes (DO NOT CACHE) (not all C2 WHs have the same statics,... - if( groupId === 5 ){ - // add static WH(s) for this system - if(systemData.statics){ - let staticWHData = []; - for(let wormholeName of systemData.statics){ - let wormholeData = Object.assign({}, Init.wormholes[wormholeName]); - let staticWHName = wormholeData.name + ' - ' + wormholeData.security; - - newSelectOptionsCount++; - staticWHData.push( {value: newSelectOptionsCount, text: staticWHName} ); - } - - if(staticWHData.length > 0){ - newSelectOptions.unshift({ text: 'Static', children: staticWHData}); - } - } - } - - // if selectOptions available -> add "empty" option as well - if(newSelectOptionsCount > 0){ - newSelectOptions.unshift({ value: '0', text: ''}); - } - - return newSelectOptions; - }; - - /** - * get all signature types that can exist for a system (jQuery obj) - * @param systemElement - * @param groupId - * @returns {Array} - */ - let getAllSignatureNamesBySystem = (systemElement, groupId) => { - let systemTypeId = systemElement.data('typeId'); - let areaId = Util.getAreaIdBySecurity(systemElement.data('security')); - let systemData = {statics: systemElement.data('statics')}; - return getAllSignatureNames(systemData, systemTypeId, areaId, groupId); - }; - - /** - * sum up all options in nested (or not nested) object of objects - * -> e.g. - * { - * first: { - * count = [4, 2, 1] - * test = { ... } - * }, - * second: { - * count = [12, 13] - * test = { ... } - * } - * } - * -> getOptionsCount('count', obj) => 5; - * @param key - * @param obj - * @returns {number} - */ - let getOptionsCount = (key, obj) => { - let sum = 0; - for(let entry of obj){ - if(entry.hasOwnProperty(key)){ - sum += entry[key].length; - }else{ - sum++; - } - } - return sum; - }; + },{ + targets: 8, + name: 'info', + title: '', + orderable: false, + searchable: false, + width: 10, + class: ['text-center', Util.config.helpClass , Util.config.popoverTriggerClass].join(' '), + data: 'created.created', + defaultContent: '', + render: { + display: (cellData, type, rowData, meta) => { + if(cellData){ + return ''; + } + } + } + },{ + targets: 9, + name: 'action', + title: '', + orderable: false, + searchable: false, + width: 10, + class: ['text-center', config.tableCellFocusClass, config.tableCellActionClass].join(' '), + data: null, + render: { + display: (cellData, type, rowData, meta) => { + let val = ''; + if(rowData.id){ + val = ''; + } + return val; + } + }, + createdCell: function(cell, cellData, rowData, rowIndex, colIndex){ + let tableApi = this.api(); + + if(rowData.id){ + // delete signature ----------------------------------------------------------------------- + let confirmationSettings = { + container: 'body', + placement: 'left', + btnCancelClass: 'btn btn-sm btn-default', + btnCancelLabel: 'cancel', + btnCancelIcon: 'fas fa-fw fa-ban', + title: 'delete signature', + btnOkClass: 'btn btn-sm btn-danger', + btnOkLabel: 'delete', + btnOkIcon: 'fas fa-fw fa-times', + onConfirm: function(e, target){ + // top scroll to top + e.preventDefault(); - /** - * get possible frig holes that could spawn in a system - * filtered by "systemTypeId" - * @param systemTypeId - * @returns {{}} - */ - let getFrigateHolesBySystem = systemTypeId => { - let signatureNames = {}; + let deleteRowElement = $(target).parents('tr'); + let row = tableApi.rows(deleteRowElement); + deleteSignatures(tableApi, row); + } + }; - if(Init.frigateWormholes[systemTypeId]){ - signatureNames = Init.frigateWormholes[systemTypeId]; - } + $(cell).confirmation(confirmationSettings); + }else{ + // add new signature ---------------------------------------------------------------------- + $(cell).on('click', {tableApi: tableApi, rowIndex: rowIndex}, function(e){ + e.stopPropagation(); + e.preventDefault(); + + let secondaryTableApi = e.data.tableApi; + let metaData = getTableMetaData(secondaryTableApi); + let primaryTableApi = getDataTableInstance(metaData.mapId, metaData.systemId, 'primary'); + + let formFields = secondaryTableApi.row(e.data.rowIndex).nodes().to$().find('.editable'); + + // the "hide" makes sure to take care about open editable fields (e.g. description) + // otherwise, changes would not be submitted in this field (not necessary) + formFields.editable('hide'); + + // submit all xEditable fields + formFields.editable('submit', { + url: Init.path.saveSignatureData, + ajaxOptions: { + dataType: 'json', //assuming json response + beforeSend: function(xhr, settings){ + lockTable(primaryTableApi); + }, + context: { + primaryTableApi: primaryTableApi, + secondaryTableApi: secondaryTableApi, + } + }, + data: { + systemId: metaData.systemId, // additional data to submit + pk: 0 // new data no primary key + }, + error: editableDefaults.error, // user default xEditable error function + success: function(data, editableConfig){ + let context = editableConfig.ajaxOptions.context; + let primaryTableApi = context.primaryTableApi; + let secondaryTableApi = context.secondaryTableApi; + + unlockTable(primaryTableApi); + + let signatureData = data.signatures[0]; + let row = addSignatureRow(primaryTableApi, signatureData); + if(row){ + primaryTableApi.draw(); + // highlight + row.nodes().to$().pulseBackgroundColor('added'); + + // prepare "add signature" table for new entry -> reset ------------------- + secondaryTableApi.clear().row.add($.extend(true, {}, emptySignatureData)).draw(); + + Util.showNotify({ + title: 'Signature added', + text: 'Name: ' + signatureData.name, + type: 'success' + }); + + // update signature bar + updateScannedSignaturesBar(primaryTableApi, {showNotice: true}); + } + } + }); + }); + } + } + } + ], + createdRow: function(row, data, dataIndex){ + // enable tabbing for interactive cells + let focusCells = $(row).find('.' + config.tableCellFocusClass + ':not(.editable-disabled)').attr('tabindex', 0); + // enable "return" key -> click() + focusCells.on('keydown', function(e){ + e.stopPropagation(); + if(e.which === 13){ + $(this).trigger('click'); + } + }); + } + }; - return signatureNames; + return dataTableDefaults; }; /** - * deletes signature rows from signature table + * key (arrow) navigation inside a table -> set cell focus() * @param tableApi - * @param rows + * @param e */ - let deleteSignatures = (tableApi, rows) => { - let deletedSignatures = 0; - - let moduleElement = $('.' + config.moduleTypeClass); - let data = rows.data(); - let rowElements = rows.nodes().to$(); - let signatureCount = data.length; - - let signatureIds = []; - for(let i = 0; i < data.length; i++){ - signatureIds.push(data[i].id); + let keyNavigation = (tableApi, e) => { + let offset = [0, 0]; + if(e.keyCode === 37){ + offset = [-1, 0]; + }else if(e.keyCode === 38){ + offset = [0, -1]; + }else if(e.keyCode === 39){ + offset = [1, 0]; + }else if(e.keyCode === 40){ + offset = [0, 1]; } - let requestData = { - signatureIds: signatureIds - }; - - // animation callback function - let removeCallback = function(rowElement){ - // delete signature row - tableApi.row(rowElement).remove().draw(); + if(offset !== [0, 0]){ + /** + * check if cellIndex is out of table range + * @param tableApi + * @param cellIndex + * @returns {*} + */ + let checkIndex = (tableApi, cellIndex) => { + if(cellIndex[0] < 0){ + cellIndex[0] = tableApi.column(':last').nodes().to$().index(); // last column + } + if(cellIndex[0] > tableApi.column(':last').nodes().to$().index()){ + cellIndex[0] = 0; // first column + } + if(cellIndex[1] < 0){ + cellIndex[1] = tableApi.row(':last').nodes().to$().index(); // last row + } + if(cellIndex[1] > tableApi.row(':last').nodes().to$().index()){ + cellIndex[1] = 0; // first row + } + return cellIndex; + }; - deletedSignatures++; + /** + * recursive search next cell + * @param tableApi + * @param cellOrigin + * @param offset + * @returns {*} + */ + let searchCell = (tableApi, cellOrigin, offset) => { + // we need to get the current cell indexes from DOM (not internal DataTables indexes) + let nodeOrig = cellOrigin.nodes(); + let colIndex = nodeOrig.to$().index(); + let rowIndex = nodeOrig.to$().closest('tr').index(); + let currentCellIndex = [colIndex, rowIndex]; + let newCellIndex = currentCellIndex.map((index, i) => index + offset[i]); + // check if cell index is inside table dimensions + newCellIndex = checkIndex(tableApi, newCellIndex); + + //let cell = tableApi.cell(newCellIndex[1], newCellIndex[0]); + let cell = tableApi.cell(':eq(' + newCellIndex[1] + ')', ':eq(' + newCellIndex[0] + ')'); + let node = cell.node(); - if(deletedSignatures === signatureCount){ - // all animations finished + if( + !node.hasAttribute('tabindex') || + parseInt(node.getAttribute('tabindex')) < 0 + ){ + // cell can not be focused -> search next + cell = searchCell(tableApi, cell, offset); + } + return cell; + }; - // update signature bar - moduleElement.updateScannedSignaturesBar({showNotice: false}); + let cell = searchCell(tableApi, tableApi.cell(e.target), offset); + cell.node().focus(); + } + }; - // update connection conflicts - checkConnectionConflicts(); + /** + * draw signature table toolbar (add signature button, scan progress bar + * @param moduleElement + * @param mapId + * @param systemData + */ + let drawSignatureTableNew = (moduleElement, mapId, systemData) => { + let secondaryTableContainer = $('
', { + class: config.tableToolsActionClass + }); - Util.showNotify({title: 'Signature deleted', text: signatureCount + ' deleted', type: 'success'}); - } - }; + // create "empty table for new signature + let table = $('
', { + id: getTableId(mapId, systemData.id, 'secondary'), + class: ['stripe', 'row-border', 'compact', 'nowrap', config.sigTableClass, config.sigTableSecondaryClass].join(' ') + }); - $.ajax({ - type: 'POST', - url: Init.path.deleteSignatureData, - data: requestData, - dataType: 'json' - }).done(function(data){ + secondaryTableContainer.append(table); - for(let j = 0; j < rowElements.length; j++){ - // removeRow - $(rowElements[j]).toggleTableRow(removeCallback); - } + moduleElement.find('.' + config.moduleHeadClass).after(secondaryTableContainer); - }).fail(function( jqXHR, status, error) { - let reason = status + ' ' + error; - Util.showNotify({title: jqXHR.status + ': Delete signature', text: reason, type: 'warning'}); - $(document).setProgramStatus('problem'); - }); - }; + let dataTableOptions = { + paging: false, + info: false, + searching: false, + tabIndex: -1, + data: [$.extend(true, {}, emptySignatureData)], + initComplete: function (settings, json){ + let tableApi = this.api(); - /** - * adds a new row to signature Table - * @param signatureTableApi - * @param systemData - * @param signatureData - * @param animate - * @returns {*} - */ - let addSignatureRow = (signatureTableApi, systemData, signatureData, animate) => { - let newRowElement = null; - if(signatureTableApi){ - let newSignatureData = formatSignatureData(systemData, [signatureData], fullSignatureOptions); - let newRowNode = signatureTableApi.row.add(newSignatureData.shift()).draw().nodes(); - newRowElement = newRowNode.to$(); - - if(animate === true){ - newRowElement.hide(); - newRowElement.toggleTableRow(newRowElement => { - // make new row editable - newRowElement.makeEditable(signatureTableApi, systemData); - - // update scan progress bar - newRowElement.parents('.' + config.moduleClass).updateScannedSignaturesBar({showNotice: true}); + $(this).on('keyup', 'td', {tableApi: tableApi}, function(e){ + keyNavigation(tableApi, e); }); - }else{ - newRowElement.makeEditable(signatureTableApi, systemData); } - } - - return newRowElement; - }; - - /** - * show/hides a table tag - * @param callback - */ - $.fn.toggleTableRow = function(callback){ - let rowElement = $(this); - let cellElements = rowElement.children('td'); - let duration = 100; - - // wrap each
into a container (for better animation performance) - // slideUp new wrapper divs - if(rowElement.is(':visible')){ - // hide row - - // stop sig counter by adding a stopClass to each , remove padding - cellElements.addClass('stopCounter') - .velocity({ - paddingTop: 0, - paddingBottom: 0 - },{ - duration: duration - }).wrapInner('
') - .children() - .css({ - 'willChange': 'height' - }).velocity('slideUp', { - duration: duration, - complete: function(animationElements){ - // remove wrapper - $(animationElements).children().unwrap(); - - if(callback !== undefined){ - callback(rowElement); - } - } - }); - }else{ - // show row + }; - // remove padding on "hidden" cells for smother animation - cellElements.css({ - 'padding-top': 0, - 'padding-bottom': 0, - 'willChange': 'padding-top, padding-top, height' - }); + $.extend(true, dataTableOptions, getSignatureDataTableDefaults(mapId, systemData)); - // add hidden wrapper for ea - cellElements.wrapInner($('
').hide()); - - // show row for padding animation - rowElement.show(); - - cellElements.velocity({ - paddingTop: '4px', - paddingBottom: '4px' - },{ - duration: duration, - queue: false, - complete: function(){ - // animate
wrapper - cellElements.children() - .css({ - 'willChange': 'height' - }).velocity('slideDown', { - duration: duration, - complete: function(animationElements){ - // remove wrapper - for(let i = 0; i < animationElements.length; i++){ - let currentWrapper = $(animationElements[i]); - if(currentWrapper.children().length > 0){ - currentWrapper.children().unwrap(); - }else{ - currentWrapper.parent().html( currentWrapper.html() ); - } - } + let tableApi = table.DataTable(dataTableOptions); - if(callback !== undefined){ - callback(rowElement); - } - } - }); - } - }); - } + // "Responsive" dataTables plugin did not load automatic (because table is invisible onInit) + // -> manually start "Responsive" extension -> see default dataTable setting for config e.g. breakpoints + new $.fn.dataTable.Responsive(tableApi); }; - /** - * get unique column data from column object for select filter options - * @param column - * @returns {{}} + * filter table "group" column + * @param tableApi + * @param newValue + * @param sourceOptions */ - /* currently not needed but could be helpful one day - let getColumnTableDataForFilter = column => { - // get all available options from column - let source = {}; - column.data().unique().sort((a,b) => { - // sort alphabetically - let valA = a.filter.toLowerCase(); - let valB = b.filter.toLowerCase(); - - if(valA < valB) return -1; - if(valA > valB) return 1; - return 0; - }).each(callData => { - if(callData.filter){ - source[callData.filter] = callData.filter; - } - }); - - // add empty option - source[0] = ''; - - return source; - };*/ - let searchGroupColumn = (tableApi, newValue, sourceOptions) => { let column = tableApi.column('group:name'); let pattern = ''; if(newValue.length <= sourceOptions.length){ // all options selected + "prepend" option - pattern = newValue.map(val => val !== '0' ? $.fn.dataTable.util.escapeRegex(val) : '^$').join('|'); + let selected = $.fn.editableutils.itemsByValue(newValue, sourceOptions); + + pattern = selected.map(option => option.value !== 0 ? $.fn.dataTable.util.escapeRegex(option.text) : '^$').join('|'); } column.search(pattern, true, false).draw(); }; @@ -1878,29 +1884,22 @@ define([ let promiseStore = MapUtil.getLocaleData('character', Util.getCurrentCharacterId()); promiseStore.then(data => { let filterButton = tableApi.button('tableTools', 'filterGroup:name').node(); - let prependOptions = [{value: '0', text: 'unknown'}]; - let sourceOptions = []; + let prependOptions = [{value: 0, text: 'unknown'}]; + let sourceOptions = config.signatureGroupsLabels; let selectedValues = []; - // format group filter options - let groups = Object.assign({}, config.signatureGroupsLabels); - for(let [value, label] of Object.entries(groups)){ - if(label.length){ - sourceOptions.push({value: label, text: label}); - } - } - if(data && data.filterSignatureGroups && data.filterSignatureGroups.length){ // select local stored values selectedValues = data.filterSignatureGroups; }else{ // no default group filter options -> show all - selectedValues = sourceOptions.map(option => option.text); - selectedValues.unshift('0'); + selectedValues = sourceOptions.map(option => option.value); + selectedValues.unshift(0); } filterButton.editable({ mode: 'popup', + container: 'body', type: 'checklist', showbuttons: false, onblur: 'submit', @@ -1913,15 +1912,21 @@ define([ display: function(value, sourceData){ // update filter button label let html = 'group'; - let allSelected = value.length >= (sourceOptions.length + prependOptions.length); + let allSelected = value.length >= sourceData.length; if( !allSelected ){ html += ' (' + value.length + ')'; } $(this).toggleClass('active', !allSelected).html(html); + }, + validate: function(value){ + // convert string to int -> important for further processing + return {newValue: value.map(num => parseInt(num)), msg: null}; } }); - filterButton.on('save', {tableApi: tableApi, sourceOptions: sourceOptions}, function(e, params){ + let allOptions = prependOptions.concat(sourceOptions); + + filterButton.on('save', {tableApi: tableApi, sourceOptions: allOptions}, function(e, params){ // store values local -> IndexDB MapUtil.storeLocaleCharacterData('filterSignatureGroups', params.newValue); @@ -1929,7 +1934,7 @@ define([ }); // set initial search string -> even if table ist currently empty - searchGroupColumn(tableApi, selectedValues, sourceOptions); + searchGroupColumn(tableApi, selectedValues, allOptions); }); }; @@ -1940,8 +1945,8 @@ define([ * @param systemData */ let drawSignatureTable = (moduleElement, mapId, systemData) => { - let table = $('', { + id: getTableId(mapId, systemData.id, 'primary'), class: ['display', 'compact', 'nowrap', config.sigTableClass, config.sigTablePrimaryClass].join(' ') }); @@ -1964,325 +1969,74 @@ define([ name: 'selectAll', className: config.moduleHeadlineIconClass, text: 'select all', - action: function(e, tableApi, node, conf){ - let allRows = getRows(tableApi); - let selectedRows = getSelectedRows(tableApi); - let allRowElements = allRows.nodes().to$(); - - if(allRows.data().length === selectedRows.data().length){ - allRowElements.removeClass('selected'); - }else{ - allRowElements.addClass('selected'); - } - - // check delete button - checkDeleteSignaturesButton(tableApi); - } - }, - { - name: 'delete', - className: [config.moduleHeadlineIconClass, config.sigTableClearButtonClass].join(' '), - text: 'delete (0)', - action: function(e, tableApi, node, conf){ - let selectedRows = getSelectedRows(tableApi); - bootbox.confirm('Delete ' + selectedRows.data().length + ' signature?', function(result){ - if(result){ - deleteSignatures(tableApi, selectedRows); - } - }); - } - } - ] - }, - initComplete: function (settings, json){ - let tableApi = this.api(); - initGroupFilterButton(tableApi); - } - }; - - // create signature table and store the jquery object global for this module - let signatureTable = table.dataTable(dataTableOptions); - let signatureTableApi = signatureTable.api(); - setDataTableInstance(mapId, systemData.id, 'primary', signatureTableApi); - }; - - /** - * setup dataTable options for all signatureTables - * @param systemData - */ - let initSignatureDataTable = systemData => { - - $.extend( true, $.fn.dataTable.defaults, { - pageLength: -1, - lengthMenu: [[5, 10, 25, 50, -1], [5, 10, 25, 50, 'All']], - order: [1, 'asc'], - autoWidth: false, - responsive: { - details: false - }, - language: { - emptyTable: 'No signatures added', - zeroRecords: 'No signatures found', - lengthMenu: 'Show _MENU_ signatures', - info: 'Showing _START_ to _END_ of _TOTAL_ signatures' - }, - columnDefs: [ - { - targets: 0, - name: 'status', - orderable: true, - searchable: false, - title: '', - width: 2, - class: ['text-center', 'min-tablet-l'].join(' '), - data: 'status', - type: 'html', - render: { - _: 'status', - sort: 'status_sort' - } - },{ - targets: 1, - name: 'id', - orderable: true, - searchable: true, - title: 'id', - type: 'html', - width: 15, - data: 'name', - render: { - _: 'render' - }, - createdCell: function(cell, cellData, rowData, rowIndex, colIndex){ - // update column tooltip - updateTooltip(cell, cellData.name); - } - },{ - targets: 2, - name: 'group', - orderable: true, - searchable: true, - title: 'group', - type: 'html', - width: 40, - data: 'group', - render: { - _: 'group', - sort: 'sort', - filter: 'filter' - } - },{ - targets: 3, - name: 'type', - orderable: false, - searchable: false, - title: 'type', - type: 'html', - width: 180, - data: 'type' - },{ - targets: 4, - name: 'description', - orderable: false, - searchable: false, - title: 'description', - type: 'html', - data: 'description' - },{ - targets: 5, - name: 'connection', - orderable: false, - searchable: false, - className: [config.sigTableConnectionClass].join(' '), - title: 'leads to', - type: 'html', - width: 70, - data: 'connection', - render: { - _: 'render' - } - },{ - targets: 6, - name: 'created', - title: 'created', - width: 90, - searchable: false, - className: ['text-right', config.sigTableCounterClass, config.sigTableCreatedCellClass, 'min-tablet-l'].join(' '), - data: 'created', - render: { - _: 'created', - sort: 'created' - }, - createdCell: function(cell, cellData, rowData, rowIndex, colIndex){ - $(cell).initTimestampCounter(); - } - },{ - targets: 7, - name: 'updated', - title: 'updated', - width: 90, - searchable: false, - className: ['text-right', config.sigTableCounterClass, config.sigTableUpdatedCellClass, 'min-tablet-l'].join(' '), - data: 'updated', - render: { - _: 'updated', - sort: 'updated' - }, - createdCell: function(cell, cellData, rowData, rowIndex, colIndex){ - $(cell).initTimestampCounter(); + action: function(e, tableApi, node, conf){ + let allRows = tableApi.rows(); + let selectedRows = getSelectedRows(tableApi); + let allRowElements = allRows.nodes().to$(); - // highlight cell - let diff = Math.floor((new Date()).getTime()) - cellData.updated * 1000; + if(allRows.data().length === selectedRows.data().length){ + allRowElements.removeClass('selected'); + }else{ + allRowElements.addClass('selected'); + } - // age > 1 day - if( diff > 86400000){ - $(cell).addClass('txt-color txt-color-warning'); + // check delete button + checkDeleteSignaturesButton(tableApi); } - } - },{ - targets: 8, - name: 'info', - title: '', - orderable: false, - searchable: false, - width: 10, - class: ['text-center', Util.config.helpClass].join(' '), - data: 'info', - createdCell: function(cell, cellData, rowData, rowIndex, colIndex){ - if(rowData.id > 0){ - let tooltipData = { - created: rowData.created, - updated: rowData.updated - }; - - $(cell).addCharacterInfoTooltip( tooltipData ); + }, + { + name: 'delete', + className: [config.moduleHeadlineIconClass, config.sigTableClearButtonClass].join(' '), + text: 'delete (0)', + action: function(e, tableApi, node, conf){ + let selectedRows = getSelectedRows(tableApi); + bootbox.confirm('Delete ' + selectedRows.data().length + ' signature?', function(result){ + if(result){ + deleteSignatures(tableApi, selectedRows); + } + }); } } - },{ - targets: 9, - name: 'action', - title: '', - orderable: false, - searchable: false, - width: 10, - class: ['text-center', config.sigTableActionCellClass].join(' '), - data: 'action', - render: { - _: 'button', - sort: 'action' - }, - createdCell: function(cell, cellData, rowData, rowIndex, colIndex){ - let tempTableElement = this; - let rowElement = $(cell).parents('tr'); - - $(cell).attr('tabindex', 0).on('keydown', function(e){ - e.stopPropagation(); - if(e.which === 13){ - $(this).trigger('click'); - } - }); - - switch(cellData.action){ - case 'add': - // add new signature ------------------------------------------------------------------ - $(cell).on('click', function(e) { - e.stopPropagation(); - e.preventDefault(); - - // submit all fields within a table row - let formFields = rowElement.find('.editable'); - - // get the current "primary table" for insert row on ajax callback - // -> important: in case of long response, target table might have changed... - let moduleElement = $(e.target).parents('.' + config.moduleClass); - let primaryTable = moduleElement.find('.' + config.sigTablePrimaryClass); - let secondaryTable = moduleElement.find('.' + config.sigTableSecondaryClass); - - // the "hide" makes sure to take care about open editable fields (e.g. description) - // otherwise, changes would not be submitted in this field (not necessary) - formFields.editable('hide'); - - // submit all xEditable fields - formFields.editable('submit', { - url: Init.path.saveSignatureData, - ajaxOptions: { - dataType: 'json', //assuming json response - beforeSend: function( xhr, settings ){ - lockSignatureTable(); - }, - context: { - primaryTable: primaryTable, - secondaryTable: secondaryTable - } - }, - data: { - systemId: systemData.id, // additional data to submit - pk: 0 // new data no primary key - }, - error: $.fn.editable.defaults.error, // user default xEditable error function - success: function (data, editableConfig) { - let context = editableConfig.ajaxOptions.context; - let primaryTableApi = context.primaryTable.DataTable(); - let secondaryTableApi = context.secondaryTable.DataTable(); - - unlockSignatureTable(false); - - let newRowElement = addSignatureRow(primaryTableApi, systemData, data.signatures[0], true); + ] + }, + initComplete: function (settings, json){ + let tableApi = this.api(); - if(newRowElement){ - // highlight - newRowElement.pulseBackgroundColor('added'); + initGroupFilterButton(tableApi); - // prepare "add signature" table for new entry -> reset ------------------- - let signatureData = formatSignatureData(systemData, [emptySignatureData], emptySignatureOptions); - let newAddRowElement = secondaryTableApi.clear().row.add(signatureData.shift()).draw().nodes(); + $(this).on('keyup', 'td', {tableApi: tableApi}, function(e){ + keyNavigation(tableApi, e); + }); - newAddRowElement.to$().makeEditable(secondaryTableApi, systemData); + // init update counter for timestamp columns + // mark as init + this.attr('data-counter', 'init'); + let refreshIntervalId = window.setInterval(() => { + tableApi.cells(null, ['created:name', 'updated:name']).every(function(rowIndex, colIndex, tableLoopCount, cellLoopCount){ + let cell = this; + let node = cell.node(); + let data = cell.data(); + if(data && Number.isInteger(data) && !node.classList.contains('stopCounter')){ + // timestamp expected int > 0 + let date = new Date(data * 1000); + Counter.updateDateDiff( cell.nodes().to$(), date); + } + }); + }, 500); + this.data('interval', refreshIntervalId); + } + }; - Util.showNotify({ - title: 'Signature added', - text: 'Name: ' + data.name, - type: 'success' - }); - } - } - }); - }); - break; - case 'delete': - // delete signature ------------------------------------------------------------------- - let confirmationSettings = { - container: 'body', - placement: 'left', - btnCancelClass: 'btn btn-sm btn-default', - btnCancelLabel: 'cancel', - btnCancelIcon: 'fas fa-fw fa-ban', - title: 'delete signature', - btnOkClass: 'btn btn-sm btn-danger', - btnOkLabel: 'delete', - btnOkIcon: 'fas fa-fw fa-times', - onConfirm: function(e, target){ - // top scroll to top - e.preventDefault(); - - let tableApi = tempTableElement.DataTable(); - - let deleteRowElement = $(target).parents('tr'); - let row = tableApi.rows(deleteRowElement); - deleteSignatures(tableApi, row); - } - }; + $.extend(true, dataTableOptions, getSignatureDataTableDefaults(mapId, systemData)); - // init confirmation dialog - $(cell).confirmation(confirmationSettings); + let tableApi = table.DataTable(dataTableOptions); - break; - } + // "Responsive" dataTables plugin did not load automatic (because table is invisible onInit) + // -> manually start "Responsive" extension -> see default dataTable setting for config e.g. breakpoints + new $.fn.dataTable.Responsive(tableApi); - } - } - ] - }); + // lock table until module is fully rendered + lockTable(tableApi); }; /** @@ -2290,18 +2044,69 @@ define([ * @param moduleElement */ let focusNewSignatureEditableField = moduleElement => { - let secondaryTable = moduleElement.find('.' + config.sigTableSecondaryClass); - secondaryTable.find('.' + config.sigTableEditSigNameInput).editable('show'); + moduleElement.find('.' + config.sigTableSecondaryClass) + .find('td.' + config.sigTableEditSigNameInput).editable('show'); + }; + + /** + * get all selected rows of a table + * @param tableApi + * @returns {*} + */ + let getSelectedRows = tableApi => { + return tableApi.rows('.selected'); + }; + + /** + * check the "delete signature" button. show/hide the button if a signature is selected + * @param tableApi + */ + let checkDeleteSignaturesButton = tableApi => { + let selectedRows = getSelectedRows(tableApi); + let selectedRowCount = selectedRows.data().length; + let clearButton = tableApi.button('tableTools', 'delete:name').node(); + + if(selectedRowCount > 0){ + let allRows = tableApi.rows(); + let rowCount = allRows.data().length; + + let countText = selectedRowCount; + if(selectedRowCount >= rowCount){ + countText = 'all'; + } + clearButton.find('i+span').text(countText); + + // update clear signatures button text + clearButton.velocity('stop'); + + if( clearButton.is(':hidden') ){ + // show button + clearButton.velocity('transition.expandIn', { + duration: 100 + }); + }else{ + // highlight button + clearButton.velocity('callout.pulse', { + duration: 200 + }); + } + }else{ + // hide button + clearButton.velocity('transition.expandOut', { + duration: 100 + }); + } }; /** * set module observer and look for relevant signature data to update * @param moduleElement + * @param mapId * @param systemData */ - let setModuleObserver = (moduleElement, systemData) => { + let setModuleObserver = (moduleElement, mapId, systemData) => { let primaryTable = moduleElement.find('.' + config.sigTablePrimaryClass); - let primaryTableApi = getDataTableInstanceByModuleElement(moduleElement, 'primary'); + let primaryTableApi = getDataTableInstance(mapId, systemData.id, 'primary'); // add signature toggle --------------------------------------------------------------------------------------- let toggleAddSignature = (show = 'auto') => { @@ -2345,23 +2150,32 @@ define([ }); // signature reader dialog ------------------------------------------------------------------------------------ - moduleElement.find('.' + config.moduleHeadlineIconReaderClass).on('click', function(e) { + moduleElement.find('.' + config.moduleHeadlineIconReaderClass).on('click', function(e){ moduleElement.showSignatureReaderDialog(systemData); }); // "lazy update" toggle --------------------------------------------------------------------------------------- - moduleElement.find('.' + config.moduleHeadlineIconLazyClass).on('click', function(e) { + moduleElement.find('.' + config.moduleHeadlineIconLazyClass).on('click', function(e){ let button = $(this); button.toggleClass('active'); }); // set multi row select --------------------------------------------------------------------------------------- - primaryTable.on('click', 'tr', {tableApi: primaryTableApi}, function(e){ - if(e.ctrlKey) { - $(this).toggleClass('selected'); + primaryTable.on('mousedown', 'td', {tableApi: primaryTableApi}, function(e){ + if(e.ctrlKey){ + e.preventDefault(); + e.stopPropagation(); + // xEditable field should not open -> on 'click' + // -> therefore disable "pointer-events" on "td" for some ms -> 'click' event is not triggered + $(this).css('pointer-events', 'none'); + $(e.target.parentNode).toggleClass('selected'); // check delete button checkDeleteSignaturesButton(e.data.tableApi); + + setTimeout(() => { + $(this).css('pointer-events', 'auto'); + }, 250); } }); @@ -2372,25 +2186,15 @@ define([ checkDeleteSignaturesButton(tableApi); }); - // destroy dataTables event ----------------------------------------------------------------------------------- - primaryTable.on('destroy.dt', function(){ - $(this).destroyTimestampCounter(); - }); - primaryTableApi.on('destroy.dt', function(){ - $(this).destroyTimestampCounter(); - }); - // event listener for global "paste" signatures into the page ------------------------------------------------- - moduleElement.on('pf:updateSystemSignatureModuleByClipboard', function(e, clipboard){ - // check "lazy update" toggle button + moduleElement.on('pf:updateSystemSignatureModuleByClipboard', {tableApi: primaryTableApi}, function(e, clipboard){ let signatureOptions = { deleteOld: moduleElement.find('.' + config.moduleHeadlineIconLazyClass).hasClass('active') ? 1 : 0 }; - - $(this).updateSignatureTableByClipboard(systemData, clipboard, signatureOptions); + updateSignatureTableByClipboard(e.data.tableApi, systemData, clipboard, signatureOptions); }); - // signature cell - "type" popover ---------------------------------------------------------------------------- + // signature column - "type" popover -------------------------------------------------------------------------- moduleElement.find('.' + config.sigTableClass).hoverIntent({ over: function(e){ let staticWormholeElement = $(this); @@ -2409,6 +2213,206 @@ define([ }, selector: '.editable-click:not(.editable-open) span[class^="pf-system-sec-"]' }); + + // signature column - "info" popover -------------------------------------------------------------------------- + moduleElement.find('.' + config.sigTablePrimaryClass).hoverIntent({ + over: function(e){ + let cellElement = $(this); + let rowData = primaryTableApi.row(cellElement.parents('tr')).data(); + cellElement.addCharacterInfoTooltip(rowData, { + trigger: 'manual', + placement: 'top', + show: true + }); + }, + out: function(e){ + $(this).destroyPopover(); + }, + selector: 'td.' + Util.config.helpClass + }); + }; + + /** + * add new row to signature table + * @param tableApi + * @param signatureData + * @returns {*} + */ + let addSignatureRow = (tableApi, signatureData) => { + let row = null; + if(tableApi){ + row = tableApi.row.add(signatureData); + } + return row; + }; + + /** + * update signature table with new signatures + * -> add/update/delete rows + * @param tableApi + * @param signaturesDataOrig + * @param deleteOutdatedSignatures + */ + let updateSignatureTable = (tableApi, signaturesDataOrig, deleteOutdatedSignatures = false) => { + if(isLockedTable(tableApi)) return; + + // disable tableApi until update finished; + lockTable(tableApi); + + // clone signature array because of further manipulation + let signaturesData = $.extend([], signaturesDataOrig); + + let rowIdsExist = []; + + let promisesAdded = []; + let promisesChanged = []; + let promisesDeleted = []; + + let allRows = tableApi.rows(); + let updateEmptyTable = !allRows.any(); + + let rowUpdate = function(rowIndex, colIndex, tableLoopCount, cellLoopCount){ + let cell = this; + let node = cell.nodes().to$(); + if(node.data('editable')){ + // xEditable is active -> should always be active! + // set new value even if no change -> e.g. render selected Ids as text labels + let oldValue = node.editable('getValue', true); + node.editable('setValue', cell.data()); + + if(oldValue !== cell.data()){ + // highlight cell on data change + node.pulseBackgroundColor('changed'); + } + }else if(node.hasClass(config.tableCellCounterClass)){ + // "updated" timestamp always changed + node.pulseBackgroundColor('changed'); + } + }; + + // update signatures ------------------------------------------------------------------------------------------ + allRows.every(function(rowIdx, tableLoop, rowLoop){ + let row = this; + let rowData = row.data(); + let rowElement = row.nodes().to$(); + + for(let i = 0; i < signaturesData.length; i++){ + if(signaturesData[i].id === rowData.id){ + let rowId = row.id(true); + + // check if row was updated + if(signaturesData[i].updated.updated > rowData.updated.updated){ + // set new row data -> draw() is executed after all changes made + row.data(signaturesData[i]); + + // bind new signature dataTable data() -> to xEditable inputs + row.cells(row.id(true), ['id:name', 'group:name', 'type:name', 'description:name', 'connection:name', 'updated:name']) + .every(rowUpdate); + + promisesChanged.push(new Promise((resolve, reject) => { + resolve({action: 'changed', rowId: rowId}); + })); + } + + rowIdsExist.push(rowId); + + // remove signature data -> all left signatures will be added + signaturesData.splice(i, 1); + i--; + } + } + }); + + // delete signatures ------------------------------------------------------------------------------------------ + if(deleteOutdatedSignatures){ + let rows = tableApi.rows((rowIdx, rowData, node) => !rowIdsExist.includes('#' + config.sigTableRowIdPrefix + rowData.id)); + rows.every(function(rowIdx, tableLoop, rowLoop){ + let row = this; + let rowId = row.id(true); + let rowElement = row.nodes().to$(); + + // hide open editable fields on the row before removing them + rowElement.find('.editable').editable('destroy'); + + // destroy possible open popovers (e.g. wormhole types, update popover) + rowElement.destroyPopover(true); + + rowElement.pulseBackgroundColor('deleted'); + + promisesDeleted.push(new Promise((resolve, reject) => { + toggleTableRow(rowElement).then(payload => resolve({action: 'deleted', rowIdx: rowId})); + })); + }).remove(); + } + + // add new signatures ----------------------------------------------------------------------------------------- + for(let signatureData of signaturesData){ + let row = addSignatureRow(tableApi, signatureData); + let rowId = row.id(true); + let rowElement = row.nodes().to$(); + rowElement.pulseBackgroundColor('added'); + + promisesAdded.push(new Promise((resolve, reject) => { + resolve({action: 'added', rowId: rowId}); + })); + } + + // done ------------------------------------------------------------------------------------------------------- + Promise.all(promisesAdded.concat(promisesChanged, promisesDeleted)).then(payloads => { + if(payloads.length){ + // table data changed -> draw() table changes + tableApi.draw(); + + if(!updateEmptyTable){ + // no notifications if table was empty just progressbar notification is needed + // sum payloads by "action" + let notificationCounter = payloads.reduce((acc, payload) => { + if(!acc[payload.action]){ + acc[payload.action] = 0; + } + acc[payload.action]++; + return acc; + }, {}); + + let notification = ''; + if(notificationCounter.added > 0){ + notification += notificationCounter.added + ' added
'; + } + if(notificationCounter.changed > 0){ + notification += notificationCounter.changed + ' updated
'; + } + if(notificationCounter.deleted > 0){ + notification += notificationCounter.deleted + ' deleted
'; + } + if(notification.length){ + Util.showNotify({title: 'Signatures updated', text: notification, type: 'success'}); + } + } + + updateScannedSignaturesBar(tableApi, {showNotice: true}); + } + + // unlock table + unlockTable(tableApi); + }); + }; + + /** + * update trigger function for this module + * compare data and update module + * @param moduleElement + * @param systemData + */ + let updateModule = (moduleElement, systemData) => { + + if(systemData.signatures){ + let mapId = moduleElement.data('mapId'); + let systemId = moduleElement.data('systemId'); + let tableApi = getDataTableInstance(mapId, systemId, 'primary'); + updateSignatureTable(tableApi, systemData.signatures, true); + } + + moduleElement.hideLoadingAnimation(); }; /** @@ -2418,7 +2422,41 @@ define([ * @param systemData */ let initModule = (moduleElement, mapId, systemData) => { - unlockSignatureTable(true); + let tableApi = getDataTableInstance(mapId, systemData.id, 'primary'); + unlockTable(tableApi); + }; + + /** + * get module toolbar element + * @returns {jQuery} + */ + let getHeadlineToolbar = () => { + let headlineToolbar = $('
', { + class: 'pull-right' + }).append( + $('', { + class: 'progress-label-right', + text: '0%' + }), + $('', { + class: ['fas', 'fa-fw', 'fa-plus', config.moduleHeadlineIconClass, config.moduleHeadlineIconAddClass].join(' '), + title: 'add' + }).attr('data-toggle', 'tooltip'), + $('', { + class: ['fas', 'fa-fw', 'fa-paste', config.moduleHeadlineIconClass, config.moduleHeadlineIconReaderClass].join(' '), + title: 'signature reader' + }).attr('data-toggle', 'tooltip'), + $('', { + class: ['fas', 'fa-fw', 'fa-exchange-alt', config.moduleHeadlineIconClass, config.moduleHeadlineIconLazyClass].join(' '), + title: 'lazy \'delete\' signatures' + }).attr('data-toggle', 'tooltip') + ); + + headlineToolbar.find('[data-toggle="tooltip"]').tooltip({ + container: 'body' + }); + + return headlineToolbar; }; /** @@ -2426,9 +2464,9 @@ define([ * @param parentElement * @param mapId * @param systemData - * @returns {*|jQuery|HTMLElement} + * @returns {jQuery} */ - let getModule = function(parentElement, mapId, systemData){ + let getModule = (parentElement, mapId, systemData) => { let moduleElement = $('
').append( $('
', { class: config.moduleHeadClass @@ -2447,26 +2485,18 @@ define([ requirejs(['text!templates/form/progress.html', 'mustache'], (template, Mustache) => { let data = { label: true, - wrapperClass: config.signatureScannedProgressBarClass, + wrapperClass: config.moduleHeadlineProgressBarClass, class: ['progress-bar-success'].join(' '), percent: 0 }; - - let content = Mustache.render(template, data); - - moduleElement.find('.' + config.moduleHeadClass).append(content); + moduleElement.find('.' + config.moduleHeadClass).append(Mustache.render(template, data)); }); - - moduleElement.data('mapId', mapId); moduleElement.data('systemId', systemData.id); moduleElement.showLoadingAnimation(); - // init dataTables - initSignatureDataTable(systemData); - // draw "new signature" add table drawSignatureTableNew(moduleElement, mapId, systemData); @@ -2474,29 +2504,36 @@ define([ drawSignatureTable(moduleElement, mapId, systemData); // set module observer - setModuleObserver(moduleElement, systemData); + setModuleObserver(moduleElement, mapId, systemData); return moduleElement; }; /** * before module hide callback + * @param moduleElement */ - let beforeHide = () => { + let beforeHide = moduleElement => { // disable update - lockSignatureTable(); + let mapId = moduleElement.data('mapId'); + let systemId = moduleElement.data('systemId'); + let tableApi = getDataTableInstance(mapId, systemId, 'primary'); + lockTable(tableApi); }; /** * before module destroy callback + * @param moduleElement */ - let beforeDestroy = (moduleElement) => { + let beforeDestroy = moduleElement => { // Destroying the data tables throws // -> safety remove all dataTables let mapId = moduleElement.data('mapId'); let systemId = moduleElement.data('systemId'); - deleteDataTableInstance(mapId, systemId, 'primary'); - deleteDataTableInstance(mapId, systemId, 'secondary'); + let primaryTableApi = getDataTableInstance(mapId, systemId, 'primary'); + let secondaryTableApi = getDataTableInstance(mapId, systemId, 'secondary'); + primaryTableApi.destroy(); + secondaryTableApi.destroy(); }; return { @@ -2508,5 +2545,4 @@ define([ beforeDestroy: beforeDestroy, getAllSignatureNamesBySystem: getAllSignatureNamesBySystem }; - -}); +}); \ No newline at end of file diff --git a/js/app/ui/module/system_signature_new.js b/js/app/ui/module/system_signature_new.js deleted file mode 100644 index ef192dd4c..000000000 --- a/js/app/ui/module/system_signature_new.js +++ /dev/null @@ -1,2461 +0,0 @@ -/** - * System signature module - */ - -define([ - 'jquery', - 'app/init', - 'app/util', - 'bootbox', - 'app/counter', - 'app/map/map', - 'app/map/util', - 'app/ui/form_element' -], ($, Init, Util, bootbox, Counter, Map, MapUtil, FormElement) => { - 'use strict'; - - let config = { - // module info - modulePosition: 4, - moduleName: 'systemSignature', - moduleHeadClass: 'pf-module-head', // class for module header - moduleHandlerClass: 'pf-module-handler-drag', // class for "drag" handler - - // system signature module - moduleTypeClass: 'pf-system-signature-module', // class for this module - - // headline toolbar - moduleHeadlineIconClass: 'pf-module-icon-button', // class for toolbar icons in the head - moduleHeadlineIconAddClass: 'pf-module-icon-button-add', // class for "add signature" icon - moduleHeadlineIconReaderClass: 'pf-module-icon-button-reader', // class for "signature reader" icon - moduleHeadlineIconLazyClass: 'pf-module-icon-button-lazy', // class for "lazy delete" toggle icon - moduleHeadlineProgressBarClass: 'pf-system-progress-scanned', // class for signature progress bar - - // tables - tableToolsActionClass: 'pf-table-tools-action', // class for "new signature" table (hidden) - - // table toolbar - sigTableClearButtonClass: 'pf-sig-table-clear-button', // class for "clear" signatures button - - // signature table - sigTableId: 'pf-sig-table-', // Table id prefix - sigTableClass: 'pf-sig-table', // Table class for all Signature Tables - sigTablePrimaryClass: 'pf-sig-table-primary', // class for primary sig table - sigTableSecondaryClass: 'pf-sig-table-secondary', // class for secondary sig table - sigTableRowIdPrefix: 'pf-sig-row_', // id prefix for table rows - - sigTableEditSigNameInput: 'pf-sig-table-edit-name-input', // class for editable fields (sig name) - - tableCellConnectionClass: 'pf-table-connection-cell', // class for "connection" cells - tableCellFocusClass: 'pf-table-focus-cell', // class for "tab-able" cells. enable focus() - tableCellCounterClass: 'pf-table-counter-cell', // class for "counter" cells - tableCellActionClass: 'pf-table-action-cell', // class for "action" cells - - // xEditable - editableNameInputClass: 'pf-editable-name', // class for "name" input - editableDescriptionInputClass: 'pf-editable-description', // class for "description" textarea - editableUnknownInputClass: 'pf-editable-unknown', // class for input fields (e.g. checkboxes) with "unknown" status - - signatureGroupsLabels: Util.getSignatureGroupOptions('label'), - signatureGroupsNames: Util.getSignatureGroupOptions('name') - }; - - let lockedTables = {}; // locked tables (e.g. disable cops&paste, disable table update) - - let sigNameCache = {}; // cache signature names - - let validSignatureNames = [ // allowed signature type/names - 'Cosmic Anomaly', - 'Cosmic Signature', - 'Kosmische Anomalie', - 'Kosmische Signatur', - 'Anomalie cosmique', - 'Signature cosmique', - 'Космическая аномалия', // == "Cosmic Anomaly" - 'Источники сигналов' // == "Cosmic Signature" - ]; - - let emptySignatureData = { - id: 0, - name: '', - groupId: 0, - typeId: 0 - }; - - let editableDefaults = { // xEditable default options for signature fields - url: Init.path.saveSignatureData, - dataType: 'json', - container: 'body', - highlight: false, // i use a custom implementation. xEditable uses inline styles for bg color animation -> does not work properly on datatables "sort" cols - error: function(jqXHR, newValue){ - let reason = ''; - let status = 'Error'; - if(jqXHR.statusText){ - reason = jqXHR.statusText; - }else if(jqXHR.name){ - // validation error new sig (new row data save function) - reason = jqXHR.name; - // re-open "name" fields (its a collection of fields but we need "id" field) - jqXHR.name.field.$element.editable('show'); - }else{ - reason = jqXHR.responseJSON.text; - status = jqXHR.status; - } - - Util.showNotify({title: status + ': save signature', text: reason, type: 'error'}); - $(document).setProgramStatus('problem'); - return reason; - } - }; - - /** - * get custom "metaData" from dataTables API - * @param tableApi - * @returns {*} - */ - let getTableMetaData = tableApi => { - let data = null; - if(tableApi){ - data = tableApi.init().pfMeta; - } - return data; - }; - - /** - * lock signature tableApi and lockType - * @param tableApi - * @param lockType - */ - let lockTable = (tableApi, lockType = 'update') => { - let metaData = getTableMetaData(tableApi); - if(metaData.systemId){ - if( !lockedTables.hasOwnProperty(metaData.systemId) ){ - lockedTables[metaData.systemId] = {}; - } - lockedTables[metaData.systemId][lockType] = true; - }else{ - console.warn('metaData.systemId required in lockTable()', metaData.systemId); - } - }; - - /** - * check whether a signature tableApi is locked by lockType - * @param tableApi - * @param lockType - * @returns {boolean} - */ - let isLockedTable = (tableApi, lockType = 'update') => { - let locked = false; - if(tableApi){ - let metaData = getTableMetaData(tableApi); - if(metaData.systemId){ - if( - lockedTables.hasOwnProperty(metaData.systemId) && - lockedTables[metaData.systemId].hasOwnProperty(lockType) - ){ - locked = true; - } - }else{ - console.warn('metaData.systemId required in isLockedTable()', metaData.systemId); - } - } - - return locked; - }; - - /** - * unlock signature tableApi and lockType - * @param tableApi - * @param lockType - */ - let unlockTable = (tableApi, lockType = 'update') => { - if(tableApi){ - let metaData = getTableMetaData(tableApi); - if(isLockedTable(tableApi, lockType)){ - delete lockedTables[metaData.systemId][lockType]; - } - if( - lockedTables.hasOwnProperty(metaData.systemId) && - !Object.getOwnPropertyNames(lockedTables[metaData.systemId]).length - ){ - delete lockedTables[metaData.systemId]; - } - } - }; - - /** - * get dataTable id - * @param mapId - * @param systemId - * @param tableType - * @returns {string} - */ - let getTableId = (mapId, systemId, tableType) => config.sigTableId + [mapId, systemId, tableType].join('-'); - - /** - * get a dataTableApi instance from global cache - * @param mapId - * @param systemId - * @param tableType - * @returns {*} - */ - let getDataTableInstance = (mapId, systemId, tableType) => { - let instance = null; - let table = $.fn.dataTable.tables({ visible: false, api: true }).table('#' + getTableId(mapId, systemId, tableType)); - if(table.node()){ - instance = table; - } - return instance; - }; - - /** - * Update/set tooltip for an element - * @param element - * @param title - */ - let updateTooltip = (element, title) => { - $(element).attr('data-container', 'body') - .attr('title', title.toUpperCase()) - .tooltip('fixTitle').tooltip('setContent'); - }; - - /** - * sum up all options in nested (or not nested) object of objects - * -> e.g. - * { - * first: { - * count = [4, 2, 1] - * test = { ... } - * }, - * second: { - * count = [12, 13] - * test = { ... } - * } - * } - * -> getOptionsCount('count', obj) => 5; - * @param key - * @param obj - * @returns {number} - */ - let getOptionsCount = (key, obj) => { - let sum = 0; - for(let entry of obj){ - if(entry.hasOwnProperty(key)){ - sum += entry[key].length; - }else{ - sum++; - } - } - return sum; - }; - - /** - * get possible frig holes that could spawn in a system - * filtered by "systemTypeId" - * @param systemTypeId - * @returns {{}} - */ - let getFrigateHolesBySystem = systemTypeId => { - let signatureNames = {}; - if(Init.frigateWormholes[systemTypeId]){ - signatureNames = Init.frigateWormholes[systemTypeId]; - } - return signatureNames; - }; - - /** - * get all signature types that can exist for a given system - * -> result is partially cached - * @param systemData - * @param systemTypeId - * @param areaId - * @param groupId - * @returns {Array} - */ - let getAllSignatureNames = (systemData, systemTypeId, areaId, groupId) => { - systemTypeId = parseInt(systemTypeId || 0); - areaId = parseInt(areaId || 0); - groupId = parseInt(groupId || 0); - let newSelectOptions = []; - let newSelectOptionsCount = 0; - - if(!systemTypeId || !areaId || !groupId){ - return newSelectOptions; - } - - let cacheKey = [systemTypeId, areaId, groupId].join('_'); - - // check for cached signature names - if(sigNameCache.hasOwnProperty( cacheKey )){ - // cached signatures do not include static WHs! - // -> ".slice(0)" creates copy - newSelectOptions = sigNameCache[cacheKey].slice(0); - newSelectOptionsCount = getOptionsCount('children', newSelectOptions); - }else{ - // get new Options ---------- - // get all possible "static" signature names by the selected groupId - let tempSelectOptions = Util.getAllSignatureNames(systemTypeId, areaId, groupId); - - // format options into array with objects advantages: keep order, add more options (whs), use optgroup - if(tempSelectOptions){ - let fixSelectOptions = []; - for(let key in tempSelectOptions){ - if ( - key > 0 && - tempSelectOptions.hasOwnProperty(key) - ){ - newSelectOptionsCount++; - fixSelectOptions.push({value: newSelectOptionsCount, text: tempSelectOptions[key]}); - } - } - - if(newSelectOptionsCount > 0){ - if(groupId === 5){ - // "wormhole" selected => multiple available - newSelectOptions.push({ text: 'Wandering', children: fixSelectOptions}); - }else{ - newSelectOptions = fixSelectOptions; - } - } - } - - // wormhole (cached signatures) - if( groupId === 5 ){ - - // add possible frigate holes - let frigateHoles = getFrigateHolesBySystem(areaId); - let frigateWHData = []; - for(let frigKey in frigateHoles){ - if ( - frigKey > 0 && - frigateHoles.hasOwnProperty(frigKey) - ){ - newSelectOptionsCount++; - frigateWHData.push( {value: newSelectOptionsCount, text: frigateHoles[frigKey]} ); - } - } - - if(frigateWHData.length > 0){ - newSelectOptions.push({ text: 'Frigate', children: frigateWHData}); - } - - // add possible incoming holes - let incomingWHData = []; - for(let incomingKey in Init.incomingWormholes){ - if ( - incomingKey > 0 && - Init.incomingWormholes.hasOwnProperty(incomingKey) - ){ - newSelectOptionsCount++; - incomingWHData.push( {value: newSelectOptionsCount, text: Init.incomingWormholes[incomingKey]} ); - } - } - - if(incomingWHData.length > 0){ - newSelectOptions.push({ text: 'Incoming', children: incomingWHData}); - } - }else{ - // groups without "children" (optgroup) should be sorted by "value" - // this is completely optional and not necessary! - newSelectOptions = newSelectOptions.sortBy('text'); - } - - // update cache (clone array) -> further manipulation to this array, should not be cached - sigNameCache[cacheKey] = newSelectOptions.slice(0); - } - - // static wormholes (DO NOT CACHE) (not all C2 WHs have the same statics,... - if( groupId === 5 ){ - // add static WH(s) for this system - if(systemData.statics){ - let staticWHData = []; - for(let wormholeName of systemData.statics){ - let wormholeData = Object.assign({}, Init.wormholes[wormholeName]); - let staticWHName = wormholeData.name + ' - ' + wormholeData.security; - - newSelectOptionsCount++; - staticWHData.push( {value: newSelectOptionsCount, text: staticWHName} ); - } - - if(staticWHData.length > 0){ - newSelectOptions.unshift({ text: 'Static', children: staticWHData}); - } - } - } - - return newSelectOptions; - }; - - /** - * get all signature types that can exist for a system (jQuery obj) - * @param systemElement - * @param groupId - * @returns {Array} - */ - let getAllSignatureNamesBySystem = (systemElement, groupId) => { - let systemTypeId = systemElement.data('typeId'); - let areaId = Util.getAreaIdBySecurity(systemElement.data('security')); - let systemData = {statics: systemElement.data('statics')}; - return getAllSignatureNames(systemData, systemTypeId, areaId, groupId); - }; - - /** - * get all connection select options - * @param mapId - * @param systemData - * @returns {Array} - */ - let getSignatureConnectionOptions = (mapId, systemData) => { - let map = Map.getMapInstance( mapId ); - let systemId = MapUtil.getSystemId(mapId, systemData.id); - let systemConnections = MapUtil.searchConnectionsBySystems(map, [systemId], 'wh'); - let newSelectOptions = []; - let connectionOptions = []; - - for(let systemConnection of systemConnections){ - let connectionData = MapUtil.getDataByConnection(systemConnection); - - // connectionId is required (must be stored) - if(connectionData.id){ - // check whether "source" or "target" system is relevant for this connection - // -> hint "source" === 'target' --> loop - if(systemData.id !== connectionData.target){ - let targetSystemData = MapUtil.getSystemData(mapId, connectionData.target); - if(targetSystemData){ - // take target... - connectionOptions.push({ - value: connectionData.id, - text: connectionData.targetAlias + ' - ' + targetSystemData.security - }); - } - }else if(systemData.id !== connectionData.source){ - let sourceSystemData = MapUtil.getSystemData(mapId, connectionData.source); - if(sourceSystemData){ - // take source... - connectionOptions.push({ - value: connectionData.id, - text: connectionData.sourceAlias + ' - ' + sourceSystemData.security - }); - } - } - } - } - - if(connectionOptions.length > 0){ - newSelectOptions.push({ text: 'System', children: connectionOptions}); - } - - return newSelectOptions; - }; - - /** - * show/hides a table
rowElement - * @param rowElement - */ - let toggleTableRow = rowElement => { - - let toggleTableRowExecutor = (resolve, reject) => { - let cellElements = rowElement.children('td'); - let duration = 350; - // wrap each
into a container (for better animation performance) - // slideUp new wrapper divs - if(rowElement.is(':visible')){ - // hide row - - // stop sig counter by adding a stopClass to each , remove padding - cellElements.addClass('stopCounter') - .velocity({ - paddingTop: [0, '4px'], - paddingBottom: [0, '4px'], - opacity: [0, 1] - },{ - duration: duration, - easing: 'linear' - }).wrapInner('
') - .children() - .css({ - 'willChange': 'height' - }).velocity('slideUp', { - duration: duration, - easing: 'linear', - complete: function(animationElements){ - // remove wrapper - $(animationElements).children().unwrap(); - - resolve({ - action: 'rowHidden', - row: rowElement - }); - } - }); - }else{ - // show row - - // remove padding on "hidden" cells for smother animation - cellElements.css({ - 'padding-top': 0, - 'padding-bottom': 0, - 'willChange': 'padding-top, padding-top, height' - }); - - // add hidden wrapper for ea - cellElements.wrapInner($('
').hide()); - - // show row for padding animation - rowElement.show(); - - cellElements.velocity({ - paddingTop: ['4px', 0], - paddingBottom: ['4px', 0] - },{ - duration: duration, - queue: false, - complete: function(){ - // animate
wrapper - cellElements.children() - .css({ - 'willChange': 'height' - }).velocity('slideDown', { - duration: duration, - complete: function(animationElements){ - // remove wrapper - for(let i = 0; i < animationElements.length; i++){ - let currentWrapper = $(animationElements[i]); - if(currentWrapper.children().length > 0){ - currentWrapper.children().unwrap(); - }else{ - currentWrapper.parent().html( currentWrapper.html() ); - } - } - - resolve({ - action: 'rowShown', - row: rowElement - }); - } - }); - } - }); - } - }; - - return new Promise(toggleTableRowExecutor); - }; - - /** - * update scanned signatures progress bar - * @param tableApi - * @param options - */ - let updateScannedSignaturesBar = (tableApi, options) => { - let tableElement = tableApi.table().node(); - let moduleElement = $(tableElement).parents('.' + config.moduleTypeClass); - let progressBar = moduleElement.find('.progress-bar'); - let progressBarLabel = moduleElement.find('.progress-label-right'); - - let percent = 0; - let progressBarType = ''; - let columnGroupData = tableApi.column('group:name').data(); - let sigCount = columnGroupData.length; - let sigIncompleteCount = columnGroupData.filter((value, index) => !value).length; - - if(sigCount){ - percent = 100 - Math.round( 100 / sigCount * sigIncompleteCount ); - } - - if(percent < 30){ - progressBarType = 'progress-bar-danger' ; - }else if(percent < 100){ - progressBarType = 'progress-bar-warning'; - }else{ - progressBarType = 'progress-bar-success'; - } - - progressBarLabel.text(percent + '%'); - progressBar.removeClass().addClass('progress-bar').addClass(progressBarType); - progressBar.attr('aria-valuenow', percent); - progressBar.css({width: percent + '%'}); - - // show notifications - if(options.showNotice !== false){ - let notification = (sigCount - sigIncompleteCount) + ' / ' + sigCount + ' (' + percent + '%) signatures scanned'; - - if(percent < 100){ - Util.showNotify({title: 'Unscanned signatures', text: notification, type: 'info'}); - }else{ - Util.showNotify({title: 'System is scanned', text: notification, type: 'success'}); - } - } - }; - - /** - * open "signature reader" dialog for signature table - * @param systemData - */ - $.fn.showSignatureReaderDialog = function(systemData){ - let moduleElement = $(this); - - requirejs(['text!templates/dialog/signature_reader.html', 'mustache'], (template, Mustache) => { - let signatureReaderDialog = bootbox.dialog({ - title: 'Signature reader', - message: Mustache.render(template, {}), - buttons: { - close: { - label: 'cancel', - className: 'btn-default' - }, - success: { - label: ' update signatures', - className: 'btn-success', - callback: function (){ - let form = this.find('form'); - let formData = form.getFormValues(); - let signatureOptions = { - deleteOld: (formData.deleteOld) ? 1 : 0 - }; - updateSignatureTableByClipboard(moduleElement, systemData, formData.clipboard, signatureOptions); - } - } - } - }); - - // dialog shown event - signatureReaderDialog.on('shown.bs.modal', function(e){ - signatureReaderDialog.initTooltips(); - - // set focus on sig-input textarea - signatureReaderDialog.find('textarea').focus(); - }); - }); - }; - - /** - * parses a copy&paste string from ingame scanning window - * @param systemData - * @param clipboard - * @returns {Array} - */ - let parseSignatureString = (systemData, clipboard) => { - let signatureData = []; - - if(clipboard.length){ - let signatureRows = clipboard.split(/\r\n|\r|\n/g); - let signatureGroupOptions = config.signatureGroupsNames; - let invalidSignatures = 0; - - for(let i = 0; i < signatureRows.length; i++){ - let rowData = signatureRows[i].split(/\t/g); - if(rowData.length === 6){ - // check if sig Type = anomaly or combat site - if(validSignatureNames.indexOf( rowData[1] ) !== -1){ - - let sigGroup = $.trim(rowData[2]).toLowerCase(); - let sigDescription = $.trim(rowData[3]); - let sigGroupId = 0; - let typeId = 0; - - // get groupId by groupName - for(let groupOption of signatureGroupOptions){ - let reg = new RegExp(groupOption.text, 'i'); - if(reg.test(sigGroup)){ - sigGroupId = groupOption.value; - break; - } - } - - // wormhole type cant be extracted from signature string -> skip function call - if(sigGroupId !== 5){ - // try to get "typeId" by description string - typeId = Util.getSignatureTypeIdByName(systemData, sigGroupId, sigDescription); - - // set signature name as "description" if signature matching failed - sigDescription = (typeId === 0) ? sigDescription : ''; - }else{ - sigDescription = ''; - } - - // map array values to signature Object - let signatureObj = { - systemId: systemData.id, - name: $.trim( rowData[0] ).toLowerCase(), - groupId: sigGroupId, - typeId: typeId, - description: sigDescription - }; - - signatureData.push(signatureObj); - }else{ - invalidSignatures++; - } - } - } - - if(invalidSignatures > 0){ - let notification = invalidSignatures + ' / ' + signatureRows.length + ' signatures invalid'; - Util.showNotify({title: 'Invalid signature(s)', text: notification, type: 'warning'}); - } - } - - return signatureData; - }; - - /** - * updates the signature table with all signatures pasted into the "signature reader" dialog - * -> Hint: copy&paste signature data (without any open dialog) will add signatures as well - * @param tableApi - * @param systemData - * @param clipboard data stream - * @param options - */ - let updateSignatureTableByClipboard = (tableApi, systemData, clipboard, options) => { - if(isLockedTable(tableApi, 'clipboard')) return; - - let saveSignatureData = signatureData => { - // lock update function until request is finished - lockTable(tableApi); - - // lock copy during request (prevent spamming (ctrl + c ) - lockTable(tableApi, 'clipboard'); - - let requestData = { - signatures: signatureData, - deleteOld: (options.deleteOld) ? 1 : 0, - systemId: parseInt(systemData.id) - }; - - $.ajax({ - type: 'POST', - url: Init.path.saveSignatureData, - data: requestData, - dataType: 'json', - context: { - tableApi: tableApi - } - }).done(function(responseData){ - // unlock table for update - unlockTable(this.tableApi); - // updates table with new/updated signature information - updateSignatureTable(this.tableApi, responseData.signatures, false); - }).fail(function( jqXHR, status, error){ - let reason = status + ' ' + error; - Util.showNotify({title: jqXHR.status + ': Update signatures', text: reason, type: 'warning'}); - $(document).setProgramStatus('problem'); - }).always(function(){ - unlockTable(this.tableApi); - unlockTable(this.tableApi, 'clipboard'); - }); - }; - - // parse input stream - let signatureData = parseSignatureString(systemData, clipboard); - if(signatureData.length > 0){ - // valid signature data parsed - - // check if signatures will be added to a system where character is currently in - // if user is not in any system -> id === undefined -> no "confirmation required - let currentLocationData = Util.getCurrentLocationData(); - if( - currentLocationData.id && - currentLocationData.id !== systemData.id - ){ - - let systemNameStr = (systemData.name === systemData.alias) ? '"' + systemData.name + '"' : '"' + systemData.alias + '" (' + systemData.name + ')'; - systemNameStr = '' + systemNameStr + ''; - - let msg = 'Update signatures in ' + systemNameStr + ' ? This not your current location, "' + currentLocationData.name + '" !'; - bootbox.confirm(msg, function(result){ - if(result){ - saveSignatureData(signatureData); - } - }); - }else{ - // current system selected -> no "confirmation" required - saveSignatureData(signatureData); - } - } - }; - - /** - * deletes signature rows from signature table - * @param tableApi - * @param rows - */ - let deleteSignatures = (tableApi, rows) => { - // get unique id array from rows -> in case there are 2 rows with same id -> you never know - let signatureIds = [...new Set(rows.data().toArray().map(rowData => rowData.id))]; - - let requestData = { - signatureIds: signatureIds - }; - - $.ajax({ - type: 'POST', - url: Init.path.deleteSignatureData, - data: requestData, - dataType: 'json', - context: { - tableApi: tableApi - } - }).done(function(responseData){ - // promises for all delete rows - let promisesToggleRow = []; - // get deleted rows -> match with response data - let rows = this.tableApi.rows((idx, rowData, node) => responseData.deletedSignatureIds.includes(rowData.id)); - // toggle hide animation for rows one by one... - rows.every(function(rowIdx, tableLoop, rowLoop){ - let row = this; - let rowElement = row.nodes().to$(); - - rowElement.pulseBackgroundColor('deleted'); - - promisesToggleRow.push(toggleTableRow(rowElement)); - }); - - // ... all hide animations done ... - Promise.all(promisesToggleRow).then(payloads => { - // ... get deleted (hide animation done) and delete them - this.tableApi.rows(payloads.map(payload => payload.row)).remove().draw(); - - // update signature bar - updateScannedSignaturesBar(this.tableApi, {showNotice: false}); - - // update connection conflicts - checkConnectionConflicts(); - - let notificationOptions = { - type: 'success' - }; - if(payloads.length === 1){ - notificationOptions.title = 'Signature deleted'; - }else{ - notificationOptions.title = payloads.length + ' Signatures deleted '; - } - Util.showNotify(notificationOptions); - }); - }).fail(function( jqXHR, status, error){ - let reason = status + ' ' + error; - Util.showNotify({title: jqXHR.status + ': Delete signature', text: reason, type: 'warning'}); - $(document).setProgramStatus('problem'); - }); - }; - - /** - * updates a single cell with new data (e.g. "updated" cell) - * @param tableApi - * @param rowIndex - * @param columnSelector - * @param data - */ - let updateSignatureCell = (tableApi, rowIndex, columnSelector, data) => { - tableApi.cell(rowIndex, columnSelector).data(data); - }; - - /** - * check connectionIds for conflicts (multiple signatures -> same connection) - * -> show "conflict" icon next to select - */ - let checkConnectionConflicts = () => { - setTimeout(() => { - let connectionSelects = $('.' + config.tableCellConnectionClass + '.editable'); - let connectionIds = []; - let duplicateConnectionIds = []; - let groupedSelects = []; - - connectionSelects.each(function(){ - let select = $(this); - let value = parseInt(select.editable('getValue', true) )|| 0; - - if( - connectionIds.indexOf(value) > -1 && - duplicateConnectionIds.indexOf(value) === -1 - ){ - // duplicate found - duplicateConnectionIds.push(value); - } - - if(groupedSelects[value] !== undefined){ - groupedSelects[value].push(select[0]); - }else{ - groupedSelects[value] = [select[0]]; - } - - connectionIds.push(value); - }); - - // update "conflict" icon next to select label for connectionIds - connectionSelects.each(function(){ - let select = $(this); - let value = parseInt(select.editable('getValue', true) )|| 0; - let conflictIcon = select.find('.fa-exclamation-triangle'); - if( - duplicateConnectionIds.indexOf(value) > -1 && - groupedSelects[value].indexOf(select[0]) > -1 - ){ - conflictIcon.removeClass('hide'); - }else{ - conflictIcon.addClass('hide'); - } - }); - }, 200); - }; - - /** - * get group label by groupId - * @param groupId - * @returns {string} - */ - let getGroupLabelById = (groupId) => { - let options = config.signatureGroupsLabels.filter(option => option.value === groupId); - return options.length ? options[0].text : ''; - }; - - /** - * helper function - get cell by columnSelector from same row as cell - * @param tableApi - * @param cell - * @param columnSelector - * @returns {*} - */ - let getNeighboringCell = (tableApi, cell, columnSelector) => { - return tableApi.cell(tableApi.row(cell).index(), columnSelector); - }; - - /** - * get next cell by columnSelector - * @param tableApi - * @param cell - * @param columnSelectors - * @returns {*} - */ - let searchNextCell = (tableApi, cell, columnSelectors) => { - if(columnSelectors.length){ - // copy selectors -> .shift() modifies the orig array, important! - columnSelectors = columnSelectors.slice(0); - let nextCell = getNeighboringCell(tableApi, cell, columnSelectors.shift()); - let nextCellElement = nextCell.nodes().to$(); - if( nextCellElement.data('editable') ){ - // cell is xEditable field -> skip "disabled" OR check value - let nextCellValue = nextCellElement.editable('getValue', true); - if( - [0, null].includes(nextCellValue) && - !nextCellElement.data('editable').options.disabled - ){ - // xEditable value is empty - return nextCell; - }else{ - // search next cell - return searchNextCell(tableApi, cell, columnSelectors); - } - }else if( nextCell.index().column === tableApi.column(-1).index() ){ - // NO xEditable cell BUT last column (=> action cell) -> OK - return nextCell; - }else{ - console.error('No cell found for activation!'); - } - }else{ - // return origin cell - return tableApi.cell(cell); - } - }; - - /** - * make cell active -> focus() + show xEditable - * @param cell - */ - let activateCell = (cell) => { - let cellElement = cell.nodes().to$(); - // NO xEditable - cellElement.focus(); - - if( cellElement.data('editable') ){ - // cell is xEditable field -> show xEditable form - cellElement.editable('show'); - } - }; - - /** - * search neighboring cell (same row) and set "active" -> show editable - * @param tableApi - * @param cell - * @param columnSelectors - */ - let activateNextCell = (tableApi, cell, columnSelectors) => { - let nextCell = searchNextCell(tableApi, cell, columnSelectors); - activateCell(nextCell); - let test; - }; - - /** - * helper function - set 'save' observer for xEditable cell - * -> show "neighboring" xEditable field - * @param tableApi - * @param cell - * @param columnSelectorsAjax - used for Ajax save (edit signature) - * @param columnSelectorsDry - used for dry save (new signature) - */ - let editableOnSave = (tableApi, cell, columnSelectorsAjax = [], columnSelectorsDry = []) => { - $(cell).on('save', function(e, params){ - if(params.response){ - // send by Ajax - activateNextCell(tableApi, cell, columnSelectorsAjax); - }else{ - // dry save - no request - activateNextCell(tableApi, cell, columnSelectorsDry); - } - }); - }; - - /** - * helper function - set 'hidden' observer for xEditable cell - * -> set focus() on xEditable field - * @param tableApi - * @param cell - */ - let editableOnHidden = (tableApi, cell) => { - $(cell).on('hidden', function(e, reason){ - // re-focus element on close (keyboard navigation) - // 'save' event handles default focus (e.g. open new xEditable) - // 'hide' handles all the rest (experimental) - if(reason !== 'save'){ - this.focus(); - } - }); - }; - - /** - * helper function - set 'shown' observer for xEditable type cell - * -> enable Select2 for xEditable form - * @param cell - */ - let editableGroupOnShown = cell => { - $(cell).on('shown', function(e, editable){ - let inputField = editable.input.$input; - inputField.addClass('pf-select2').initSignatureGroupSelect(); - }); - }; - - /** - * helper function - set 'save' observer for xEditable group cell - * -> update scanned signature bar - * @param tableApi - * @param cell - */ - let editableGroupOnSave = (tableApi, cell) => { - $(cell).on('save', function(e, params){ - if(params.response){ - // send by Ajax - updateScannedSignaturesBar(tableApi, {showNotice: true}); - } - }); - }; - - /** - * helper function - set 'init' observer for xEditable type cell - * -> disable xEditable field if no options available - * @param cell - */ - let editableTypeOnInit = cell => { - $(cell).on('init', function(e, editable){ - if(!editable.options.source().length){ - editableDisable($(this)); - } - }); - }; - - /** - * helper function - set 'shown' observer for xEditable type cell - * -> enable Select2 for xEditable form - * @param cell - */ - let editableTypeOnShown = cell => { - $(cell).on('shown', function(e, editable){ - // destroy possible open popovers (e.g. wormhole types) - $(this).destroyPopover(true); - - let inputField = editable.input.$input; - let hasOptGroups = inputField.has('optgroup').length > 0; - inputField.addClass('pf-select2').initSignatureTypeSelect({}, hasOptGroups); - }); - }; - - /** - * helper function - set 'shown' observer for xEditable description cell - * -> change height for "new signature" table wrapper - * @param cell - */ - let editableDescriptionOnShown = cell => { - $(cell).on('shown', function(e, editable){ - $(this).parents('.' + config.tableToolsActionClass).css( 'height', '+=35px' ); - }); - }; - - /** - * helper function - set 'hidden' observer for xEditable description cell - * -> change height for "new signature" table wrapper - * @param cell - */ - let editableDescriptionOnHidden = cell => { - $(cell).on('hidden', function(e, editable){ - $(this).parents('.' + config.tableToolsActionClass).css( 'height', '-=35px' ); - }); - }; - - /** - * helper function - set 'init' observer for xEditable connection cell - * -> set focus() on xEditable field - * @param cell - */ - let editableConnectionOnInit = cell => { - $(cell).on('init', function(e, editable){ - if(editable.value > 0){ - // empty connection selects ON INIT don´t make a difference for conflicts - checkConnectionConflicts(); - } - }); - }; - - /** - * helper function - set 'shown' observer for xEditable connection cell - * -> enable Select2 for xEditable form - * @param cell - */ - let editableConnectionOnShown = cell => { - $(cell).on('shown', function(e, editable){ - let inputField = editable.input.$input; - inputField.addClass('pf-select2').initSignatureConnectionSelect(); - }); - }; - - /** - * helper function - set 'save' observer for xEditable connection cell - * -> check connection conflicts - * @param cell - */ - let editableConnectionOnSave = cell => { - $(cell).on('save', function(e, params){ - checkConnectionConflicts(); - }); - }; - - /** - * enable xEditable element - * @param element - */ - let editableEnable = element => { - element.editable('enable'); - // (re)-enable focus on element by tabbing, xEditable removes "tabindex" on 'disable' - element.attr('tabindex', 0); - }; - - /** - * disable xEditable element - * @param element - */ - let editableDisable = element => { - element.editable('disable'); - // xEditable sets 'tabindex = -1' - }; - - /** - * get dataTables default options for signature tables - * @param mapId - * @param systemData - * @returns {{}} - */ - let getSignatureDataTableDefaults = (mapId, systemData) => { - - /** - * add map/system specific data for each editable field in the sig-table - * @param params - * @returns {*} - */ - let modifyFieldParamsOnSend = params => { - params.systemId = systemData.id; - return params; - }; - - let dataTableDefaults = { - pfMeta: { - 'mapId': mapId, - 'systemId': systemData.id - }, - order: [1, 'asc'], - rowId: rowData => config.sigTableRowIdPrefix + rowData.id, - language: { - emptyTable: 'No signatures added', - info: 'Showing _START_ to _END_ of _TOTAL_ signatures', - infoEmpty: 'Showing 0 to 0 of 0 signatures', - infoFiltered: '( from _MAX_ total)', - lengthMenu: 'Show _MENU_', - zeroRecords: 'No signatures recorded' - }, - columnDefs: [ - { - targets: 0, - name: 'status', - orderable: true, - searchable: false, - title: '', - width: 2, - class: ['text-center'].join(' '), - data: 'updated', - type: 'html', - render: { - _: (cellData, type, rowData, meta) => { - let value = ''; - if(cellData && cellData.character){ - value = Util.getStatusInfoForCharacter(cellData.character, 'class'); - } - - if(type === 'display'){ - value = ''; - } - return value; - } - } - },{ - targets: 1, - name: 'id', - orderable: true, - searchable: true, - title: 'id', - type: 'string', - width: 15, - class: [config.tableCellFocusClass, config.sigTableEditSigNameInput].join(' '), - data: 'name', - createdCell: function(cell, cellData, rowData, rowIndex, colIndex){ - let tableApi = this.api(); - - updateTooltip(cell, cellData); - - editableOnSave(tableApi, cell, [], ['group:name', 'type:name', 'action:name']); - editableOnHidden(tableApi, cell); - - $(cell).editable($.extend({ - mode: 'popup', - type: 'text', - title: 'signature id', - name: 'name', - pk: rowData.id || null, - emptytext: '? ? ?', - value: cellData, - inputclass: config.editableNameInputClass, - display: function(value){ - // change display value to first 3 letters - $(this).text($.trim( value.substr(0, 3) ).toLowerCase()); - }, - validate: function(value){ - let msg = false; - if($.trim(value).length < 3){ - msg = 'Id is less than min of "3"'; - }else if($.trim(value).length > 10){ - msg = 'Id is more than max of "10"'; - } - - if(msg){ - return {newValue: value, msg: msg, field: this}; - } - }, - params: modifyFieldParamsOnSend, - success: function(response, newValue){ - tableApi.cell(cell).data(newValue); - - $(this).pulseBackgroundColor('changed'); - updateTooltip(cell, newValue); - - if(response){ - let newRowData = response.signatures[0]; - updateSignatureCell(tableApi, rowIndex, 'status:name', newRowData.updated); - updateSignatureCell(tableApi, rowIndex, 'updated:name', newRowData.updated.updated); - } - tableApi.draw(); - } - }, editableDefaults)); - } - },{ - targets: 2, - name: 'group', - orderable: true, - searchable: true, - title: 'group', - type: 'string', // required for sort/filter because initial data type is numeric - width: 40, - class: [config.tableCellFocusClass].join(' '), - data: 'groupId', - render: { - sort: getGroupLabelById, - filter: getGroupLabelById - }, - createdCell: function(cell, cellData, rowData, rowIndex, colIndex){ - let tableApi = this.api(); - - editableOnSave(tableApi, cell, ['type:name'], ['type:name', 'action:name']); - editableOnHidden(tableApi, cell); - editableGroupOnShown(cell); - editableGroupOnSave(tableApi, cell); - - $(cell).editable($.extend({ - mode: 'popup', - type: 'select', - title: 'group', - name: 'groupId', - pk: rowData.id || null, - emptytext: 'unknown', - onblur: 'submit', - showbuttons: false, - value: cellData, - prepend: [{value: 0, text: ''}], - params: modifyFieldParamsOnSend, - source: config.signatureGroupsLabels, - display: function(value, sourceData){ - let selected = $.fn.editableutils.itemsByValue(value, sourceData); - if(selected.length && selected[0].value > 0){ - $(this).html(selected[0].text); - }else{ - $(this).empty(); - } - }, - validate: function(value){ - // convert string to int -> important for further processing - // -> on submit record (new signature) validate() is called and no error should be returned - // value should already be integer - if( !Number.isInteger(value) ){ - return {newValue: parseInt(value) || 0, msg: null}; - } - }, - success: function(response, newValue){ - tableApi.cell(cell).data(newValue); - - $(this).pulseBackgroundColor('changed'); - - if(response){ - let newRowData = response.signatures[0]; - updateSignatureCell(tableApi, rowIndex, 'status:name', newRowData.updated); - updateSignatureCell(tableApi, rowIndex, 'updated:name', newRowData.updated.updated); - } - tableApi.draw(); - - // find related "type" select (same row) and change options - let signatureTypeCell = getNeighboringCell(tableApi, cell, 'type:name'); - let signatureTypeField = signatureTypeCell.nodes().to$(); - - let typeOptions = getAllSignatureNames( - systemData, - systemData.type.id, - Util.getAreaIdBySecurity(systemData.security), - newValue - ); - signatureTypeField.editable('option', 'source', typeOptions); - - if( - newValue > 0 && - typeOptions.length > 0 - ){ - editableEnable(signatureTypeField); - }else{ - editableDisable(signatureTypeField); - } - signatureTypeCell.data(0); - signatureTypeField.editable('setValue', 0); - - - // find "connection" select (same row) and change "enabled" flag - let signatureConnectionCell = getNeighboringCell(tableApi, cell, 'connection:name'); - let signatureConnectionField = signatureConnectionCell.nodes().to$(); - - if(newValue === 5){ - // wormhole - editableEnable(signatureConnectionField); - }else{ - checkConnectionConflicts(); - editableDisable(signatureConnectionField); - } - signatureConnectionCell.data(0); - signatureConnectionField.editable('setValue', 0); - } - }, editableDefaults)); - } - },{ - targets: 3, - name: 'type', - orderable: false, - searchable: false, - title: 'type', - type: 'string', // required for sort/filter because initial data type is numeric - width: 180, - class: [config.tableCellFocusClass].join(' '), - data: 'typeId', - createdCell: function(cell, cellData, rowData, rowIndex, colIndex){ - let tableApi = this.api(); - - editableOnSave(tableApi, cell, ['connection:name'], ['action:name']); - editableOnHidden(tableApi, cell); - editableTypeOnInit(cell); - editableTypeOnShown(cell); - - $(cell).editable($.extend({ - mode: 'popup', - type: 'select', - title: 'type', - name: 'typeId', - pk: rowData.id || null, - emptytext: 'unknown', - onblur: 'submit', - showbuttons: false, - disabled: rowData.groupId <= 0, // initial disabled if groupId not set - value: cellData, - prepend: [{value: 0, text: ''}], - params: modifyFieldParamsOnSend, - source: function(){ - // get current row data (important!) - // -> "rowData" param is not current state, values are "on createCell()" state - let rowData = tableApi.row($(cell).parents('tr')).data(); - - let typeOptions = getAllSignatureNames( - systemData, - systemData.type.id, - Util.getAreaIdBySecurity(systemData.security), - rowData.groupId - ); - return typeOptions; - }, - display: function(value, sourceData){ - let selected = $.fn.editableutils.itemsByValue(value, sourceData); - if(selected.length && selected[0].value > 0){ - $(this).html(FormElement.formatSignatureTypeSelectionData({text: selected[0].text})); - }else{ - $(this).empty(); - } - }, - validate: function(value){ - // convert string to int -> important for further processing - // -> on submit record (new signature) validate() is called and no error should be returned - // value should already be integer - if( !Number.isInteger(value) ){ - return {newValue: parseInt(value) || 0, msg: null}; - } - }, - success: function(response, newValue){ - tableApi.cell(cell).data(newValue); - - $(this).pulseBackgroundColor('changed'); - - if(response){ - let newRowData = response.signatures[0]; - updateSignatureCell(tableApi, rowIndex, 'status:name', newRowData.updated); - updateSignatureCell(tableApi, rowIndex, 'updated:name', newRowData.updated.updated); - } - tableApi.draw(); - } - }, editableDefaults)); - } - },{ - targets: 4, - name: 'description', - orderable: false, - searchable: false, - title: 'description', - class: [config.tableCellFocusClass, config.tableCellActionClass].join(' '), - type: 'html', - data: 'description', - defaultContent: '', - createdCell: function(cell, cellData, rowData, rowIndex, colIndex){ - let tableApi = this.api(); - - editableOnSave(tableApi, cell, [], ['action:name']); - editableOnHidden(tableApi, cell); - editableDescriptionOnShown(cell); - editableDescriptionOnHidden(cell); - - $(cell).editable($.extend({ - mode: 'inline', - type: 'textarea', - title: 'description', - name: 'description', - pk: rowData.id || null, - emptytext: '', - onblur: 'submit', - showbuttons: false, - inputclass: config.editableDescriptionInputClass, - emptyclass: config.moduleHeadlineIconClass, - params: modifyFieldParamsOnSend, - success: function(response, newValue){ - tableApi.cell(cell).data(newValue); - - $(this).pulseBackgroundColor('changed'); - - if(response){ - let newRowData = response.signatures[0]; - updateSignatureCell(tableApi, rowIndex, 'status:name', newRowData.updated); - updateSignatureCell(tableApi, rowIndex, 'updated:name', newRowData.updated.updated); - } - tableApi.draw(); - } - }, editableDefaults)); - } - },{ - targets: 5, - name: 'connection', - orderable: false, - searchable: false, - title: 'leads to', - type: 'string', // required for sort/filter because initial data type is numeric - className: [config.tableCellFocusClass, config.tableCellConnectionClass].join(' '), - width: 80, - data: 'connection.id', - defaultContent: 0, - createdCell: function(cell, cellData, rowData, rowIndex, colIndex){ - let tableApi = this.api(); - - editableOnSave(tableApi, cell, [], ['action:name']); - editableOnHidden(tableApi, cell); - editableConnectionOnInit(cell); - editableConnectionOnShown(cell); - editableConnectionOnSave(cell); - - $(cell).editable($.extend({ - mode: 'popup', - type: 'select', - title: 'system', - name: 'connectionId', - pk: rowData.id || null, - emptytext: 'unknown', - onblur: 'submit', - showbuttons: false, - disabled: rowData.groupId !== 5, // initial disabled if NON wh - value: cellData, - prepend: [{value: 0, text: ''}], - params: modifyFieldParamsOnSend, - source: function(){ - let activeMap = Util.getMapModule().getActiveMap(); - let mapId = activeMap.data('id'); - let connectionOptions = getSignatureConnectionOptions(mapId, systemData); - return connectionOptions; - }, - display: function(value, sourceData){ - let selected = $.fn.editableutils.itemsByValue(value, sourceData); - if(selected.length && selected[0].value > 0){ - let errorIcon = ' '; - $(this).html(FormElement.formatSignatureConnectionSelectionData({text: selected[0].text})).prepend(errorIcon); - }else{ - $(this).empty() ; - } - }, - validate: function(value, b, c){ - // convert string to int -> important for further processing - // -> on submit record (new signature) validate() is called and no error should be returned - // value should already be integer - if( !Number.isInteger(value) ){ - return {newValue: parseInt(value) || 0, msg: null}; - } - }, - success: function(response, newValue){ - tableApi.cell(cell).data(newValue); - - $(this).pulseBackgroundColor('changed'); - - if(response){ - let newRowData = response.signatures[0]; - updateSignatureCell(tableApi, rowIndex, 'status:name', newRowData.updated); - updateSignatureCell(tableApi, rowIndex, 'updated:name', newRowData.updated.updated); - } - tableApi.draw(); - } - }, editableDefaults)); - } - },{ - targets: 6, - name: 'created', - title: 'created', - searchable: false, - width: 80, - className: ['text-right', config.tableCellCounterClass, 'min-screen-d'].join(' '), - data: 'created.created', - defaultContent: '' - },{ - targets: 7, - name: 'updated', - title: 'updated', - searchable: false, - width: 80, - className: ['text-right', config.tableCellCounterClass, 'min-screen-d'].join(' '), - data: 'updated.updated', - defaultContent: '', - createdCell: function(cell, cellData, rowData, rowIndex, colIndex){ - // highlight cell - let diff = Math.floor((new Date()).getTime()) - cellData * 1000; - - // age > 1 day - if( diff > 86400000){ - $(cell).addClass('txt-color txt-color-warning'); - } - } - },{ - targets: 8, - name: 'info', - title: '', - orderable: false, - searchable: false, - width: 10, - class: ['text-center', Util.config.helpClass , Util.config.popoverTriggerClass].join(' '), - data: 'created.created', - defaultContent: '', - render: { - display: (cellData, type, rowData, meta) => { - if(cellData){ - return ''; - } - } - } - },{ - targets: 9, - name: 'action', - title: '', - orderable: false, - searchable: false, - width: 10, - class: ['text-center', config.tableCellFocusClass, config.tableCellActionClass].join(' '), - data: null, - render: { - display: (cellData, type, rowData, meta) => { - let val = ''; - if(rowData.id){ - val = ''; - } - return val; - } - }, - createdCell: function(cell, cellData, rowData, rowIndex, colIndex){ - let tableApi = this.api(); - - if(rowData.id){ - // delete signature ----------------------------------------------------------------------- - let confirmationSettings = { - container: 'body', - placement: 'left', - btnCancelClass: 'btn btn-sm btn-default', - btnCancelLabel: 'cancel', - btnCancelIcon: 'fas fa-fw fa-ban', - title: 'delete signature', - btnOkClass: 'btn btn-sm btn-danger', - btnOkLabel: 'delete', - btnOkIcon: 'fas fa-fw fa-times', - onConfirm: function(e, target){ - // top scroll to top - e.preventDefault(); - - let deleteRowElement = $(target).parents('tr'); - let row = tableApi.rows(deleteRowElement); - deleteSignatures(tableApi, row); - } - }; - - $(cell).confirmation(confirmationSettings); - }else{ - // add new signature ---------------------------------------------------------------------- - $(cell).on('click', {tableApi: tableApi, rowIndex: rowIndex}, function(e){ - e.stopPropagation(); - e.preventDefault(); - - let secondaryTableApi = e.data.tableApi; - let metaData = getTableMetaData(secondaryTableApi); - let primaryTableApi = getDataTableInstance(metaData.mapId, metaData.systemId, 'primary'); - - let formFields = secondaryTableApi.row(e.data.rowIndex).nodes().to$().find('.editable'); - - // the "hide" makes sure to take care about open editable fields (e.g. description) - // otherwise, changes would not be submitted in this field (not necessary) - formFields.editable('hide'); - - // submit all xEditable fields - formFields.editable('submit', { - url: Init.path.saveSignatureData, - ajaxOptions: { - dataType: 'json', //assuming json response - beforeSend: function(xhr, settings){ - lockTable(primaryTableApi); - }, - context: { - primaryTableApi: primaryTableApi, - secondaryTableApi: secondaryTableApi, - } - }, - data: { - systemId: metaData.systemId, // additional data to submit - pk: 0 // new data no primary key - }, - error: editableDefaults.error, // user default xEditable error function - success: function(data, editableConfig){ - let context = editableConfig.ajaxOptions.context; - let primaryTableApi = context.primaryTableApi; - let secondaryTableApi = context.secondaryTableApi; - - unlockTable(primaryTableApi); - - let signatureData = data.signatures[0]; - let row = addSignatureRow(primaryTableApi, signatureData); - if(row){ - primaryTableApi.draw(); - // highlight - row.nodes().to$().pulseBackgroundColor('added'); - - // prepare "add signature" table for new entry -> reset ------------------- - secondaryTableApi.clear().row.add($.extend(true, {}, emptySignatureData)).draw(); - - Util.showNotify({ - title: 'Signature added', - text: 'Name: ' + signatureData.name, - type: 'success' - }); - - // update signature bar - updateScannedSignaturesBar(primaryTableApi, {showNotice: true}); - } - } - }); - }); - } - } - } - ], - createdRow: function(row, data, dataIndex){ - // enable tabbing for interactive cells - let focusCells = $(row).find('.' + config.tableCellFocusClass + ':not(.editable-disabled)').attr('tabindex', 0); - // enable "return" key -> click() - focusCells.on('keydown', function(e){ - e.stopPropagation(); - if(e.which === 13){ - $(this).trigger('click'); - } - }); - } - }; - - return dataTableDefaults; - }; - - /** - * draw signature table toolbar (add signature button, scan progress bar - * @param moduleElement - * @param mapId - * @param systemData - */ - let drawSignatureTableNew = (moduleElement, mapId, systemData) => { - let secondaryTableContainer = $('
', { - class: config.tableToolsActionClass - }); - - // create "empty table for new signature - let table = $('', { - id: getTableId(mapId, systemData.id, 'secondary'), - class: ['stripe', 'row-border', 'compact', 'nowrap', config.sigTableClass, config.sigTableSecondaryClass].join(' ') - }); - - secondaryTableContainer.append(table); - - moduleElement.find('.' + config.moduleHeadClass).after(secondaryTableContainer); - - let dataTableOptions = { - paging: false, - info: false, - searching: false, - tabIndex: -1, - data: [$.extend(true, {}, emptySignatureData)] - }; - - $.extend(true, dataTableOptions, getSignatureDataTableDefaults(mapId, systemData)); - - let tableApi = table.DataTable(dataTableOptions); - - // "Responsive" dataTables plugin did not load automatic (because table is invisible onInit) - // -> manually start "Responsive" extension -> see default dataTable setting for config e.g. breakpoints - new $.fn.dataTable.Responsive(tableApi); - }; - - /** - * filter table "group" column - * @param tableApi - * @param newValue - * @param sourceOptions - */ - let searchGroupColumn = (tableApi, newValue, sourceOptions) => { - let column = tableApi.column('group:name'); - let pattern = ''; - - if(newValue.length <= sourceOptions.length){ - // all options selected + "prepend" option - let selected = $.fn.editableutils.itemsByValue(newValue, sourceOptions); - - pattern = selected.map(option => option.value !== 0 ? $.fn.dataTable.util.escapeRegex(option.text) : '^$').join('|'); - } - column.search(pattern, true, false).draw(); - }; - - /** - * init table filter button "group" column - * @param tableApi - */ - let initGroupFilterButton = tableApi => { - let characterId = Util.getCurrentCharacterId(); - - let promiseStore = MapUtil.getLocaleData('character', Util.getCurrentCharacterId()); - promiseStore.then(data => { - let filterButton = tableApi.button('tableTools', 'filterGroup:name').node(); - let prependOptions = [{value: 0, text: 'unknown'}]; - let sourceOptions = config.signatureGroupsLabels; - let selectedValues = []; - - if(data && data.filterSignatureGroups && data.filterSignatureGroups.length){ - // select local stored values - selectedValues = data.filterSignatureGroups; - }else{ - // no default group filter options -> show all - selectedValues = sourceOptions.map(option => option.value); - selectedValues.unshift(0); - } - - filterButton.editable({ - mode: 'popup', - container: 'body', - type: 'checklist', - showbuttons: false, - onblur: 'submit', - highlight: false, - title: 'filter groups', - value: selectedValues, - prepend: prependOptions, - source: sourceOptions, - inputclass: config.editableUnknownInputClass, - display: function(value, sourceData){ - // update filter button label - let html = 'group'; - let allSelected = value.length >= sourceData.length; - if( !allSelected ){ - html += ' (' + value.length + ')'; - } - $(this).toggleClass('active', !allSelected).html(html); - }, - validate: function(value){ - // convert string to int -> important for further processing - return {newValue: value.map(num => parseInt(num)), msg: null}; - } - }); - - let allOptions = prependOptions.concat(sourceOptions); - - filterButton.on('save', {tableApi: tableApi, sourceOptions: allOptions}, function(e, params){ - // store values local -> IndexDB - MapUtil.storeLocaleCharacterData('filterSignatureGroups', params.newValue); - - searchGroupColumn(e.data.tableApi, params.newValue, e.data.sourceOptions); - }); - - // set initial search string -> even if table ist currently empty - searchGroupColumn(tableApi, selectedValues, allOptions); - }); - }; - - /** - * draw empty signature table - * @param moduleElement - * @param mapId - * @param systemData - */ - let drawSignatureTable = (moduleElement, mapId, systemData) => { - let table = $('
', { - id: getTableId(mapId, systemData.id, 'primary'), - class: ['display', 'compact', 'nowrap', config.sigTableClass, config.sigTablePrimaryClass].join(' ') - }); - - moduleElement.append(table); - - let dataTableOptions = { - tabIndex: -1, - dom: '<"row"<"col-xs-3"l><"col-xs-5"B><"col-xs-4"f>>' + - '<"row"<"col-xs-12"tr>>' + - '<"row"<"col-xs-5"i><"col-xs-7"p>>', - buttons: { - name: 'tableTools', - buttons: [ - { - name: 'filterGroup', - className: config.moduleHeadlineIconClass, - text: '' // set by js (xEditable) - }, - { - name: 'selectAll', - className: config.moduleHeadlineIconClass, - text: 'select all', - action: function(e, tableApi, node, conf){ - let allRows = tableApi.rows(); - let selectedRows = getSelectedRows(tableApi); - let allRowElements = allRows.nodes().to$(); - - if(allRows.data().length === selectedRows.data().length){ - allRowElements.removeClass('selected'); - }else{ - allRowElements.addClass('selected'); - } - - // check delete button - checkDeleteSignaturesButton(tableApi); - } - }, - { - name: 'delete', - className: [config.moduleHeadlineIconClass, config.sigTableClearButtonClass].join(' '), - text: 'delete (0)', - action: function(e, tableApi, node, conf){ - let selectedRows = getSelectedRows(tableApi); - bootbox.confirm('Delete ' + selectedRows.data().length + ' signature?', function(result){ - if(result){ - deleteSignatures(tableApi, selectedRows); - } - }); - } - } - ] - }, - initComplete: function (settings, json){ - let tableApi = this.api(); - - initGroupFilterButton(tableApi); - - // init update counter for timestamp columns - // mark as init - this.attr('data-counter', 'init'); - let refreshIntervalId = window.setInterval(() => { - tableApi.cells(null, ['created:name', 'updated:name']).every(function(rowIndex, colIndex, tableLoopCount, cellLoopCount){ - let cell = this; - let node = cell.node(); - let data = cell.data(); - if(data && Number.isInteger(data) && !node.classList.contains('stopCounter')){ - // timestamp expected int > 0 - let date = new Date(data * 1000); - Counter.updateDateDiff( cell.nodes().to$(), date); - } - }); - }, 500); - this.data('interval', refreshIntervalId); - } - }; - - $.extend(true, dataTableOptions, getSignatureDataTableDefaults(mapId, systemData)); - - let tableApi = table.DataTable(dataTableOptions); - - // "Responsive" dataTables plugin did not load automatic (because table is invisible onInit) - // -> manually start "Responsive" extension -> see default dataTable setting for config e.g. breakpoints - new $.fn.dataTable.Responsive(tableApi); - - // lock table until module is fully rendered - lockTable(tableApi); - }; - - /** - * open xEditable input field in "new Signature" table - * @param moduleElement - */ - let focusNewSignatureEditableField = moduleElement => { - moduleElement.find('.' + config.sigTableSecondaryClass) - .find('td.' + config.sigTableEditSigNameInput).editable('show'); - }; - - /** - * get all selected rows of a table - * @param tableApi - * @returns {*} - */ - let getSelectedRows = tableApi => { - return tableApi.rows('.selected'); - }; - - /** - * check the "delete signature" button. show/hide the button if a signature is selected - * @param tableApi - */ - let checkDeleteSignaturesButton = tableApi => { - let selectedRows = getSelectedRows(tableApi); - let selectedRowCount = selectedRows.data().length; - let clearButton = tableApi.button('tableTools', 'delete:name').node(); - - if(selectedRowCount > 0){ - let allRows = tableApi.rows(); - let rowCount = allRows.data().length; - - let countText = selectedRowCount; - if(selectedRowCount >= rowCount){ - countText = 'all'; - } - clearButton.find('i+span').text(countText); - - // update clear signatures button text - clearButton.velocity('stop'); - - if( clearButton.is(':hidden') ){ - // show button - clearButton.velocity('transition.expandIn', { - duration: 100 - }); - }else{ - // highlight button - clearButton.velocity('callout.pulse', { - duration: 200 - }); - } - }else{ - // hide button - clearButton.velocity('transition.expandOut', { - duration: 100 - }); - } - }; - - /** - * set module observer and look for relevant signature data to update - * @param moduleElement - * @param mapId - * @param systemData - */ - let setModuleObserver = (moduleElement, mapId, systemData) => { - let primaryTable = moduleElement.find('.' + config.sigTablePrimaryClass); - let primaryTableApi = getDataTableInstance(mapId, systemData.id, 'primary'); - - // add signature toggle --------------------------------------------------------------------------------------- - let toggleAddSignature = (show = 'auto') => { - let button = moduleElement.find('.' + config.moduleHeadlineIconAddClass); - let toolsElement = moduleElement.find('.' + config.tableToolsActionClass); - button.toggleClass('active', show === 'auto' ? undefined : show); - - if(toolsElement.is(':visible') && (!show || show === 'auto')){ - // hide container - toolsElement.velocity('stop').velocity({ - opacity: [0, 1], - height: [0, '70px'] - },{ - duration: 150, - display: 'none' - }); - }else if(!toolsElement.is(':visible') && (show || show === 'auto')){ - // show container - toolsElement.velocity('stop').velocity({ - opacity: [1, 0], - height: ['70px', 0] - },{ - duration: 150, - display: 'block', - complete: function(){ - focusNewSignatureEditableField(moduleElement); - } - }); - }else if(toolsElement.is(':visible') && show){ - // still visible -> no animation - focusNewSignatureEditableField(moduleElement); - } - }; - - moduleElement.find('.' + config.moduleHeadlineIconAddClass).on('click', function(e){ - toggleAddSignature('auto'); - }); - - moduleElement.on('pf:showSystemSignatureModuleAddNew', function(e){ - toggleAddSignature(true); - }); - - // signature reader dialog ------------------------------------------------------------------------------------ - moduleElement.find('.' + config.moduleHeadlineIconReaderClass).on('click', function(e){ - moduleElement.showSignatureReaderDialog(systemData); - }); - - // "lazy update" toggle --------------------------------------------------------------------------------------- - moduleElement.find('.' + config.moduleHeadlineIconLazyClass).on('click', function(e){ - let button = $(this); - button.toggleClass('active'); - }); - - // set multi row select --------------------------------------------------------------------------------------- - primaryTable.on('mousedown', 'td', {tableApi: primaryTableApi}, function(e){ - if(e.ctrlKey){ - e.preventDefault(); - e.stopPropagation(); - // xEditable field should not open -> on 'click' - // -> therefore disable "pointer-events" on "td" for some ms -> 'click' event is not triggered - $(this).css('pointer-events', 'none'); - $(e.target.parentNode).toggleClass('selected'); - - // check delete button - checkDeleteSignaturesButton(e.data.tableApi); - - setTimeout(() => { - $(this).css('pointer-events', 'auto'); - }, 250); - } - }); - - // draw event for signature table ----------------------------------------------------------------------------- - primaryTableApi.on('draw.dt', function(e, settings){ - // check delete button - let tableApi = $(this).dataTable().api(); - checkDeleteSignaturesButton(tableApi); - }); - - // event listener for global "paste" signatures into the page ------------------------------------------------- - moduleElement.on('pf:updateSystemSignatureModuleByClipboard', {tableApi: primaryTableApi}, function(e, clipboard){ - let signatureOptions = { - deleteOld: moduleElement.find('.' + config.moduleHeadlineIconLazyClass).hasClass('active') ? 1 : 0 - }; - updateSignatureTableByClipboard(e.data.tableApi, systemData, clipboard, signatureOptions); - }); - - // signature column - "type" popover -------------------------------------------------------------------------- - moduleElement.find('.' + config.sigTableClass).hoverIntent({ - over: function(e){ - let staticWormholeElement = $(this); - let wormholeName = staticWormholeElement.attr('data-name'); - let wormholeData = Util.getObjVal(Init, 'wormholes.' + wormholeName); - if(wormholeData){ - staticWormholeElement.addWormholeInfoTooltip(wormholeData, { - trigger: 'manual', - placement: 'top', - show: true - }); - } - }, - out: function(e){ - $(this).destroyPopover(); - }, - selector: '.editable-click:not(.editable-open) span[class^="pf-system-sec-"]' - }); - - // signature column - "info" popover -------------------------------------------------------------------------- - moduleElement.find('.' + config.sigTablePrimaryClass).hoverIntent({ - over: function(e){ - let cellElement = $(this); - let rowData = primaryTableApi.row(cellElement.parents('tr')).data(); - cellElement.addCharacterInfoTooltip(rowData, { - trigger: 'manual', - placement: 'top', - show: true - }); - }, - out: function(e){ - $(this).destroyPopover(); - }, - selector: 'td.' + Util.config.helpClass - }); - }; - - /** - * add new row to signature table - * @param tableApi - * @param signatureData - * @returns {*} - */ - let addSignatureRow = (tableApi, signatureData) => { - let row = null; - if(tableApi){ - row = tableApi.row.add(signatureData); - } - return row; - }; - - /** - * update signature table with new signatures - * -> add/update/delete rows - * @param tableApi - * @param signaturesDataOrig - * @param deleteOutdatedSignatures - */ - let updateSignatureTable = (tableApi, signaturesDataOrig, deleteOutdatedSignatures = false) => { - if(isLockedTable(tableApi)) return; - - // disable tableApi until update finished; - lockTable(tableApi); - - // clone signature array because of further manipulation - let signaturesData = $.extend([], signaturesDataOrig); - - let rowIdsExist = []; - - let promisesAdded = []; - let promisesChanged = []; - let promisesDeleted = []; - - let allRows = tableApi.rows(); - let updateEmptyTable = !allRows.any(); - - let rowUpdate = function(rowIndex, colIndex, tableLoopCount, cellLoopCount){ - let cell = this; - let node = cell.nodes().to$(); - if(node.data('editable')){ - // xEditable is active -> should always be active! - // set new value even if no change -> e.g. render selected Ids as text labels - let oldValue = node.editable('getValue', true); - node.editable('setValue', cell.data()); - - if(oldValue !== cell.data()){ - // highlight cell on data change - node.pulseBackgroundColor('changed'); - } - }else if(node.hasClass(config.tableCellCounterClass)){ - // "updated" timestamp always changed - node.pulseBackgroundColor('changed'); - } - }; - - // update signatures ------------------------------------------------------------------------------------------ - allRows.every(function(rowIdx, tableLoop, rowLoop){ - let row = this; - let rowData = row.data(); - let rowElement = row.nodes().to$(); - - for(let i = 0; i < signaturesData.length; i++){ - if(signaturesData[i].id === rowData.id){ - let rowId = row.id(true); - - // check if row was updated - if(signaturesData[i].updated.updated > rowData.updated.updated){ - // set new row data -> draw() is executed after all changes made - row.data(signaturesData[i]); - - // bind new signature dataTable data() -> to xEditable inputs - row.cells(row.id(true), ['id:name', 'group:name', 'type:name', 'description:name', 'connection:name', 'updated:name']) - .every(rowUpdate); - - promisesChanged.push(new Promise((resolve, reject) => { - resolve({action: 'changed', rowId: rowId}); - })); - } - - rowIdsExist.push(rowId); - - // remove signature data -> all left signatures will be added - signaturesData.splice(i, 1); - i--; - } - } - }); - - // delete signatures ------------------------------------------------------------------------------------------ - if(deleteOutdatedSignatures){ - let rows = tableApi.rows((rowIdx, rowData, node) => !rowIdsExist.includes('#' + config.sigTableRowIdPrefix + rowData.id)); - rows.every(function(rowIdx, tableLoop, rowLoop){ - let row = this; - let rowId = row.id(true); - let rowElement = row.nodes().to$(); - - // hide open editable fields on the row before removing them - rowElement.find('.editable').editable('destroy'); - - // destroy possible open popovers (e.g. wormhole types, update popover) - rowElement.destroyPopover(true); - - rowElement.pulseBackgroundColor('deleted'); - - promisesDeleted.push(new Promise((resolve, reject) => { - toggleTableRow(rowElement).then(payload => resolve({action: 'deleted', rowIdx: rowId})); - })); - }).remove(); - } - - // add new signatures ----------------------------------------------------------------------------------------- - for(let signatureData of signaturesData){ - let row = addSignatureRow(tableApi, signatureData); - let rowId = row.id(true); - let rowElement = row.nodes().to$(); - rowElement.pulseBackgroundColor('added'); - - promisesAdded.push(new Promise((resolve, reject) => { - resolve({action: 'added', rowId: rowId}); - })); - } - - // done ------------------------------------------------------------------------------------------------------- - Promise.all(promisesAdded.concat(promisesChanged, promisesDeleted)).then(payloads => { - if(payloads.length){ - // table data changed -> draw() table changes - tableApi.draw(); - - if(!updateEmptyTable){ - // no notifications if table was empty just progressbar notification is needed - // sum payloads by "action" - let notificationCounter = payloads.reduce((acc, payload) => { - if(!acc[payload.action]){ - acc[payload.action] = 0; - } - acc[payload.action]++; - return acc; - }, {}); - - let notification = ''; - if(notificationCounter.added > 0){ - notification += notificationCounter.added + ' added
'; - } - if(notificationCounter.changed > 0){ - notification += notificationCounter.changed + ' updated
'; - } - if(notificationCounter.deleted > 0){ - notification += notificationCounter.deleted + ' deleted
'; - } - if(notification.length){ - Util.showNotify({title: 'Signatures updated', text: notification, type: 'success'}); - } - } - - updateScannedSignaturesBar(tableApi, {showNotice: true}); - } - - // unlock table - unlockTable(tableApi); - }); - }; - - /** - * update trigger function for this module - * compare data and update module - * @param moduleElement - * @param systemData - */ - let updateModule = (moduleElement, systemData) => { - - if(systemData.signatures){ - let mapId = moduleElement.data('mapId'); - let systemId = moduleElement.data('systemId'); - let tableApi = getDataTableInstance(mapId, systemId, 'primary'); - updateSignatureTable(tableApi, systemData.signatures, true); - } - - moduleElement.hideLoadingAnimation(); - }; - - /** - * init callback - * @param moduleElement - * @param mapId - * @param systemData - */ - let initModule = (moduleElement, mapId, systemData) => { - let tableApi = getDataTableInstance(mapId, systemData.id, 'primary'); - unlockTable(tableApi); - }; - - /** - * get module toolbar element - * @returns {jQuery} - */ - let getHeadlineToolbar = () => { - let headlineToolbar = $('
', { - class: 'pull-right' - }).append( - $('', { - class: 'progress-label-right', - text: '0%' - }), - $('', { - class: ['fas', 'fa-fw', 'fa-plus', config.moduleHeadlineIconClass, config.moduleHeadlineIconAddClass].join(' '), - title: 'add' - }).attr('data-toggle', 'tooltip'), - $('', { - class: ['fas', 'fa-fw', 'fa-paste', config.moduleHeadlineIconClass, config.moduleHeadlineIconReaderClass].join(' '), - title: 'signature reader' - }).attr('data-toggle', 'tooltip'), - $('', { - class: ['fas', 'fa-fw', 'fa-exchange-alt', config.moduleHeadlineIconClass, config.moduleHeadlineIconLazyClass].join(' '), - title: 'lazy \'delete\' signatures' - }).attr('data-toggle', 'tooltip') - ); - - headlineToolbar.find('[data-toggle="tooltip"]').tooltip({ - container: 'body' - }); - - return headlineToolbar; - }; - - /** - * get module element - * @param parentElement - * @param mapId - * @param systemData - * @returns {jQuery} - */ - let getModule = (parentElement, mapId, systemData) => { - let moduleElement = $('
').append( - $('
', { - class: config.moduleHeadClass - }).append( - $('
', { - class: config.moduleHandlerClass - }), - $('
', { - text: 'Signatures' - }), - getHeadlineToolbar() - ) - ); - - // scanned signatures progress bar ---------------------------------------------------------------------------- - requirejs(['text!templates/form/progress.html', 'mustache'], (template, Mustache) => { - let data = { - label: true, - wrapperClass: config.moduleHeadlineProgressBarClass, - class: ['progress-bar-success'].join(' '), - percent: 0 - }; - moduleElement.find('.' + config.moduleHeadClass).append(Mustache.render(template, data)); - }); - - moduleElement.data('mapId', mapId); - moduleElement.data('systemId', systemData.id); - - moduleElement.showLoadingAnimation(); - - // draw "new signature" add table - drawSignatureTableNew(moduleElement, mapId, systemData); - - // draw signature table - drawSignatureTable(moduleElement, mapId, systemData); - - // set module observer - setModuleObserver(moduleElement, mapId, systemData); - - return moduleElement; - }; - - /** - * before module hide callback - * @param moduleElement - */ - let beforeHide = moduleElement => { - // disable update - let mapId = moduleElement.data('mapId'); - let systemId = moduleElement.data('systemId'); - let tableApi = getDataTableInstance(mapId, systemId, 'primary'); - lockTable(tableApi); - }; - - /** - * before module destroy callback - * @param moduleElement - */ - let beforeDestroy = moduleElement => { - // Destroying the data tables throws - // -> safety remove all dataTables - let mapId = moduleElement.data('mapId'); - let systemId = moduleElement.data('systemId'); - let primaryTableApi = getDataTableInstance(mapId, systemId, 'primary'); - let secondaryTableApi = getDataTableInstance(mapId, systemId, 'secondary'); - primaryTableApi.destroy(); - secondaryTableApi.destroy(); - }; - - return { - config: config, - getModule: getModule, - initModule: initModule, - updateModule: updateModule, - beforeHide: beforeHide, - beforeDestroy: beforeDestroy, - getAllSignatureNamesBySystem: getAllSignatureNamesBySystem - }; -}); \ No newline at end of file diff --git a/public/css/v1.4.1/pathfinder.css b/public/css/v1.4.1/pathfinder.css index 0c57a2868..b25836b8b 100644 --- a/public/css/v1.4.1/pathfinder.css +++ b/public/css/v1.4.1/pathfinder.css @@ -51,5 +51,5 @@ Link : http://sciactive.com/pnotify/ * ======================================================================== * Copyright 2014 Min Hur, The New York Times Company * Licensed under MIT - * ======================================================================== */.checkbox label .toggle,.editable-input .editable-checklist>div>label label .toggle,.editable-input .editable-checklist>div>label>span .toggle,.checkbox-inline .toggle{margin-left:-20px;margin-right:5px}.toggle{position:relative;overflow:hidden}.toggle input[type="checkbox"]{display:none}.toggle-group{position:absolute;width:200%;top:0;bottom:0;left:0;transition:left 0.18s ease-in-out;-webkit-transition:left 0.18s ease-in-out;-moz-user-select:none;-webkit-user-select:none}.toggle.off .toggle-group{left:-100%}.toggle-on{position:absolute;top:0;bottom:0;left:0;right:50%;margin:0;border:0;border-radius:0}.toggle-off{position:absolute;top:0;bottom:0;left:50%;right:0;margin:0;border:0;border-radius:0}.toggle-handle{position:relative;margin:0 auto;padding-top:0;padding-bottom:0;height:100%;width:0;border-width:0 1px;background:#54585a}.toggle.btn{min-width:59px;min-height:34px}.toggle-on.btn{padding-right:24px}.toggle-off.btn{padding-left:24px}.toggle.btn-lg,.btn-group-lg>.toggle.btn{min-width:79px;min-height:45px}.toggle-on.btn-lg,.btn-group-lg>.toggle-on.btn{padding-right:31px}.toggle-off.btn-lg,.btn-group-lg>.toggle-off.btn{padding-left:31px}.toggle-handle.btn-lg,.btn-group-lg>.toggle-handle.btn{width:40px}.toggle.btn-sm,.btn-group-sm>.toggle.btn{min-width:50px;min-height:28px}.toggle-on.btn-sm,.btn-group-sm>.toggle-on.btn{padding-right:10px;padding-left:0}.toggle-off.btn-sm,.btn-group-sm>.toggle-off.btn{padding-left:10px;padding-right:0}.toggle.btn-xs,.btn-group-xs>.toggle.btn{min-width:35px;min-height:22px}.toggle-on.btn-xs,.btn-group-xs>.toggle-on.btn{padding-right:5px}.toggle-off.btn-xs,.btn-group-xs>.toggle-off.btn{padding-left:5px}.checkbox,.editable-input .editable-checklist>div>label{padding-left:20px}.checkbox label,.editable-input .editable-checklist>div>label label,.editable-input .editable-checklist>div>label>span{display:inline-block;vertical-align:middle;position:relative;padding-left:5px}.checkbox label::before,.editable-input .editable-checklist>div>label label::before,.editable-input .editable-checklist>div>label>span::before{content:"";display:inline-block;position:absolute;width:17px;height:17px;left:0;margin-left:-20px;border:1px solid #63676a;border-radius:3px;background-color:#313335;-webkit-transition:border 0.18s ease,color 0.18s ease,background-color 0.18s ease;transition:border 0.18s ease,color 0.18s ease,background-color 0.18s ease}.checkbox label::after,.editable-input .editable-checklist>div>label label::after,.editable-input .editable-checklist>div>label>span::after{font-family:"Font Awesome 5 Free";content:"\f00c";font-weight:bold;display:inline-block;position:absolute;width:16px;height:16px;left:0;top:0;opacity:0;transform:scale(2) rotateZ(-20deg);transition:all .18s ease-out;will-change:transform, opacity;margin-left:-20px;padding-left:3px;padding-top:1px;font-size:calc(100% - 1px);color:#adadad}.checkbox input[type="checkbox"],.editable-input .editable-checklist>div>label input[type="checkbox"],.checkbox input[type="radio"],.editable-input .editable-checklist>div>label input[type="radio"]{opacity:0;z-index:1;cursor:pointer}.checkbox input[type="checkbox"]:checked+label::after,.editable-input .editable-checklist>div>label input[type="checkbox"]:checked+label::after,.editable-input .editable-checklist>div>label>input[type="checkbox"]:checked+span::after,.checkbox input[type="radio"]:checked+label::after,.editable-input .editable-checklist>div>label input[type="radio"]:checked+label::after,.editable-input .editable-checklist>div>label>input[type="radio"]:checked+span::after{font-family:"Font Awesome 5 Free";content:"\f00c"}.checkbox input[type="checkbox"]:checked+label::after,.editable-input .editable-checklist>div>label input[type="checkbox"]:checked+label::after,.editable-input .editable-checklist>div>label>input[type="checkbox"]:checked+span::after,.checkbox input[type="radio"]:checked+label::after,.editable-input .editable-checklist>div>label input[type="radio"]:checked+label::after,.editable-input .editable-checklist>div>label>input[type="radio"]:checked+span::after{transform:scale(1) rotateZ(0deg);opacity:1}.checkbox input[type="checkbox"]:indeterminate+label::after,.editable-input .editable-checklist>div>label input[type="checkbox"]:indeterminate+label::after,.editable-input .editable-checklist>div>label>input[type="checkbox"]:indeterminate+span::after,.checkbox input[type="radio"]:indeterminate+label::after,.editable-input .editable-checklist>div>label input[type="radio"]:indeterminate+label::after,.editable-input .editable-checklist>div>label>input[type="radio"]:indeterminate+span::after{display:block;content:"";width:10px;height:3px;background-color:#555555;border-radius:2px;margin-left:-16.5px;margin-top:7px}.checkbox input[type="checkbox"]:disabled+label,.editable-input .editable-checklist>div>label input[type="checkbox"]:disabled+label,.editable-input .editable-checklist>div>label>input[type="checkbox"]:disabled+span,.checkbox input[type="radio"]:disabled+label,.editable-input .editable-checklist>div>label input[type="radio"]:disabled+label,.editable-input .editable-checklist>div>label>input[type="radio"]:disabled+span{opacity:0.65}.checkbox input[type="checkbox"]:disabled+label::before,.editable-input .editable-checklist>div>label input[type="checkbox"]:disabled+label::before,.editable-input .editable-checklist>div>label>input[type="checkbox"]:disabled+span::before,.checkbox input[type="radio"]:disabled+label::before,.editable-input .editable-checklist>div>label input[type="radio"]:disabled+label::before,.editable-input .editable-checklist>div>label>input[type="radio"]:disabled+span::before{background-color:#3c3f41;cursor:not-allowed}.checkbox.checkbox-circle label::before,.editable-input .editable-checklist>div>label.checkbox-circle label::before,.checkbox.checkbox-circle .editable-input .editable-checklist>div>label>span::before,.editable-input .checkbox.checkbox-circle .editable-checklist>div>label>span::before,.editable-input .editable-checklist>div>label.checkbox-circle .editable-checklist>div>label>span::before{border-radius:50%}.checkbox.checkbox-inline,.editable-input .editable-checklist>div>label.checkbox-inline{margin-top:0}.checkbox-primary input[type="checkbox"]:checked+label::before,.checkbox-primary .editable-input .editable-checklist>div>label>input[type="checkbox"]:checked+span::before,.editable-input .checkbox-primary .editable-checklist>div>label>input[type="checkbox"]:checked+span::before,.checkbox-primary input[type="radio"]:checked+label::before,.checkbox-primary .editable-input .editable-checklist>div>label>input[type="radio"]:checked+span::before,.editable-input .checkbox-primary .editable-checklist>div>label>input[type="radio"]:checked+span::before{background-color:#375959;border-color:#375959}.checkbox-primary input[type="checkbox"]:checked+label::after,.checkbox-primary .editable-input .editable-checklist>div>label>input[type="checkbox"]:checked+span::after,.editable-input .checkbox-primary .editable-checklist>div>label>input[type="checkbox"]:checked+span::after,.checkbox-primary input[type="radio"]:checked+label::after,.checkbox-primary .editable-input .editable-checklist>div>label>input[type="radio"]:checked+span::after,.editable-input .checkbox-primary .editable-checklist>div>label>input[type="radio"]:checked+span::after{color:#fff}.checkbox-danger input[type="checkbox"]:checked+label::before,.checkbox-danger .editable-input .editable-checklist>div>label>input[type="checkbox"]:checked+span::before,.editable-input .checkbox-danger .editable-checklist>div>label>input[type="checkbox"]:checked+span::before,.checkbox-danger input[type="radio"]:checked+label::before,.checkbox-danger .editable-input .editable-checklist>div>label>input[type="radio"]:checked+span::before,.editable-input .checkbox-danger .editable-checklist>div>label>input[type="radio"]:checked+span::before{background-color:#a52521;border-color:#a52521}.checkbox-danger input[type="checkbox"]:checked+label::after,.checkbox-danger .editable-input .editable-checklist>div>label>input[type="checkbox"]:checked+span::after,.editable-input .checkbox-danger .editable-checklist>div>label>input[type="checkbox"]:checked+span::after,.checkbox-danger input[type="radio"]:checked+label::after,.checkbox-danger .editable-input .editable-checklist>div>label>input[type="radio"]:checked+span::after,.editable-input .checkbox-danger .editable-checklist>div>label>input[type="radio"]:checked+span::after{color:#fff}.checkbox-info input[type="checkbox"]:checked+label::before,.checkbox-info .editable-input .editable-checklist>div>label>input[type="checkbox"]:checked+span::before,.editable-input .checkbox-info .editable-checklist>div>label>input[type="checkbox"]:checked+span::before,.checkbox-info input[type="radio"]:checked+label::before,.checkbox-info .editable-input .editable-checklist>div>label>input[type="radio"]:checked+span::before,.editable-input .checkbox-info .editable-checklist>div>label>input[type="radio"]:checked+span::before{background-color:#316490;border-color:#316490}.checkbox-info input[type="checkbox"]:checked+label::after,.checkbox-info .editable-input .editable-checklist>div>label>input[type="checkbox"]:checked+span::after,.editable-input .checkbox-info .editable-checklist>div>label>input[type="checkbox"]:checked+span::after,.checkbox-info input[type="radio"]:checked+label::after,.checkbox-info .editable-input .editable-checklist>div>label>input[type="radio"]:checked+span::after,.editable-input .checkbox-info .editable-checklist>div>label>input[type="radio"]:checked+span::after{color:#fff}.checkbox-warning input[type="checkbox"]:checked+label::before,.checkbox-warning .editable-input .editable-checklist>div>label>input[type="checkbox"]:checked+span::before,.editable-input .checkbox-warning .editable-checklist>div>label>input[type="checkbox"]:checked+span::before,.checkbox-warning input[type="radio"]:checked+label::before,.checkbox-warning .editable-input .editable-checklist>div>label>input[type="radio"]:checked+span::before,.editable-input .checkbox-warning .editable-checklist>div>label>input[type="radio"]:checked+span::before{background-color:#e28a0d;border-color:#e28a0d}.checkbox-warning input[type="checkbox"]:checked+label::after,.checkbox-warning .editable-input .editable-checklist>div>label>input[type="checkbox"]:checked+span::after,.editable-input .checkbox-warning .editable-checklist>div>label>input[type="checkbox"]:checked+span::after,.checkbox-warning input[type="radio"]:checked+label::after,.checkbox-warning .editable-input .editable-checklist>div>label>input[type="radio"]:checked+span::after,.editable-input .checkbox-warning .editable-checklist>div>label>input[type="radio"]:checked+span::after{color:#fff}.checkbox-success input[type="checkbox"]:checked+label::before,.checkbox-success .editable-input .editable-checklist>div>label>input[type="checkbox"]:checked+span::before,.editable-input .checkbox-success .editable-checklist>div>label>input[type="checkbox"]:checked+span::before,.checkbox-success input[type="radio"]:checked+label::before,.checkbox-success .editable-input .editable-checklist>div>label>input[type="radio"]:checked+span::before,.editable-input .checkbox-success .editable-checklist>div>label>input[type="radio"]:checked+span::before{background-color:#4f9e4f;border-color:#4f9e4f}.checkbox-success input[type="checkbox"]:checked+label::after,.checkbox-success .editable-input .editable-checklist>div>label>input[type="checkbox"]:checked+span::after,.editable-input .checkbox-success .editable-checklist>div>label>input[type="checkbox"]:checked+span::after,.checkbox-success input[type="radio"]:checked+label::after,.checkbox-success .editable-input .editable-checklist>div>label>input[type="radio"]:checked+span::after,.editable-input .checkbox-success .editable-checklist>div>label>input[type="radio"]:checked+span::after{color:#fff}.checkbox-primary input[type="checkbox"]:indeterminate+label::before,.checkbox-primary .editable-input .editable-checklist>div>label>input[type="checkbox"]:indeterminate+span::before,.editable-input .checkbox-primary .editable-checklist>div>label>input[type="checkbox"]:indeterminate+span::before,.checkbox-primary input[type="radio"]:indeterminate+label::before,.checkbox-primary .editable-input .editable-checklist>div>label>input[type="radio"]:indeterminate+span::before,.editable-input .checkbox-primary .editable-checklist>div>label>input[type="radio"]:indeterminate+span::before{background-color:#375959;border-color:#375959}.checkbox-primary input[type="checkbox"]:indeterminate+label::after,.checkbox-primary .editable-input .editable-checklist>div>label>input[type="checkbox"]:indeterminate+span::after,.editable-input .checkbox-primary .editable-checklist>div>label>input[type="checkbox"]:indeterminate+span::after,.checkbox-primary input[type="radio"]:indeterminate+label::after,.checkbox-primary .editable-input .editable-checklist>div>label>input[type="radio"]:indeterminate+span::after,.editable-input .checkbox-primary .editable-checklist>div>label>input[type="radio"]:indeterminate+span::after{background-color:#fff}.checkbox-danger input[type="checkbox"]:indeterminate+label::before,.checkbox-danger .editable-input .editable-checklist>div>label>input[type="checkbox"]:indeterminate+span::before,.editable-input .checkbox-danger .editable-checklist>div>label>input[type="checkbox"]:indeterminate+span::before,.checkbox-danger input[type="radio"]:indeterminate+label::before,.checkbox-danger .editable-input .editable-checklist>div>label>input[type="radio"]:indeterminate+span::before,.editable-input .checkbox-danger .editable-checklist>div>label>input[type="radio"]:indeterminate+span::before{background-color:#a52521;border-color:#a52521}.checkbox-danger input[type="checkbox"]:indeterminate+label::after,.checkbox-danger .editable-input .editable-checklist>div>label>input[type="checkbox"]:indeterminate+span::after,.editable-input .checkbox-danger .editable-checklist>div>label>input[type="checkbox"]:indeterminate+span::after,.checkbox-danger input[type="radio"]:indeterminate+label::after,.checkbox-danger .editable-input .editable-checklist>div>label>input[type="radio"]:indeterminate+span::after,.editable-input .checkbox-danger .editable-checklist>div>label>input[type="radio"]:indeterminate+span::after{background-color:#fff}.checkbox-info input[type="checkbox"]:indeterminate+label::before,.checkbox-info .editable-input .editable-checklist>div>label>input[type="checkbox"]:indeterminate+span::before,.editable-input .checkbox-info .editable-checklist>div>label>input[type="checkbox"]:indeterminate+span::before,.checkbox-info input[type="radio"]:indeterminate+label::before,.checkbox-info .editable-input .editable-checklist>div>label>input[type="radio"]:indeterminate+span::before,.editable-input .checkbox-info .editable-checklist>div>label>input[type="radio"]:indeterminate+span::before{background-color:#316490;border-color:#316490}.checkbox-info input[type="checkbox"]:indeterminate+label::after,.checkbox-info .editable-input .editable-checklist>div>label>input[type="checkbox"]:indeterminate+span::after,.editable-input .checkbox-info .editable-checklist>div>label>input[type="checkbox"]:indeterminate+span::after,.checkbox-info input[type="radio"]:indeterminate+label::after,.checkbox-info .editable-input .editable-checklist>div>label>input[type="radio"]:indeterminate+span::after,.editable-input .checkbox-info .editable-checklist>div>label>input[type="radio"]:indeterminate+span::after{background-color:#fff}.checkbox-warning input[type="checkbox"]:indeterminate+label::before,.checkbox-warning .editable-input .editable-checklist>div>label>input[type="checkbox"]:indeterminate+span::before,.editable-input .checkbox-warning .editable-checklist>div>label>input[type="checkbox"]:indeterminate+span::before,.checkbox-warning input[type="radio"]:indeterminate+label::before,.checkbox-warning .editable-input .editable-checklist>div>label>input[type="radio"]:indeterminate+span::before,.editable-input .checkbox-warning .editable-checklist>div>label>input[type="radio"]:indeterminate+span::before{background-color:#e28a0d;border-color:#e28a0d}.checkbox-warning input[type="checkbox"]:indeterminate+label::after,.checkbox-warning .editable-input .editable-checklist>div>label>input[type="checkbox"]:indeterminate+span::after,.editable-input .checkbox-warning .editable-checklist>div>label>input[type="checkbox"]:indeterminate+span::after,.checkbox-warning input[type="radio"]:indeterminate+label::after,.checkbox-warning .editable-input .editable-checklist>div>label>input[type="radio"]:indeterminate+span::after,.editable-input .checkbox-warning .editable-checklist>div>label>input[type="radio"]:indeterminate+span::after{background-color:#fff}.checkbox-success input[type="checkbox"]:indeterminate+label::before,.checkbox-success .editable-input .editable-checklist>div>label>input[type="checkbox"]:indeterminate+span::before,.editable-input .checkbox-success .editable-checklist>div>label>input[type="checkbox"]:indeterminate+span::before,.checkbox-success input[type="radio"]:indeterminate+label::before,.checkbox-success .editable-input .editable-checklist>div>label>input[type="radio"]:indeterminate+span::before,.editable-input .checkbox-success .editable-checklist>div>label>input[type="radio"]:indeterminate+span::before{background-color:#4f9e4f;border-color:#4f9e4f}.checkbox-success input[type="checkbox"]:indeterminate+label::after,.checkbox-success .editable-input .editable-checklist>div>label>input[type="checkbox"]:indeterminate+span::after,.editable-input .checkbox-success .editable-checklist>div>label>input[type="checkbox"]:indeterminate+span::after,.checkbox-success input[type="radio"]:indeterminate+label::after,.checkbox-success .editable-input .editable-checklist>div>label>input[type="radio"]:indeterminate+span::after,.editable-input .checkbox-success .editable-checklist>div>label>input[type="radio"]:indeterminate+span::after{background-color:#fff}.radio{padding-left:20px}.radio label,.radio .editable-input .editable-checklist>div>label>span,.editable-input .radio .editable-checklist>div>label>span{display:inline-block;vertical-align:middle;position:relative;padding-left:5px}.radio label::before,.radio .editable-input .editable-checklist>div>label>span::before,.editable-input .radio .editable-checklist>div>label>span::before{content:"";display:inline-block;position:absolute;width:17px;height:17px;left:0;margin-left:-20px;border:1px solid #63676a;border-radius:50%;background-color:#313335;-webkit-transition:border 0.18s ease,color 0.18s ease;transition:border 0.18s ease,color 0.18s ease}.radio label::after,.radio .editable-input .editable-checklist>div>label>span::after,.editable-input .radio .editable-checklist>div>label>span::after{display:inline-block;position:absolute;content:" ";width:11px;height:11px;left:3px;top:3px;opacity:0;transform:scale(2) rotateZ(-20deg);transition:all .18s ease;will-change:transform, opacity;margin-left:-20px;border-radius:50%;background-color:#adadad;-webkit-transform:scale(0,0);-ms-transform:scale(0,0);transform:scale(0,0);-webkit-transition:-webkit-transform 0.18s cubic-bezier(0.8, -0.33, 0.2, 1.33);-moz-transition:-moz-transform 0.18s cubic-bezier(0.8, -0.33, 0.2, 1.33);-o-transition:-o-transform 0.18s cubic-bezier(0.8, -0.33, 0.2, 1.33);transition:transform 0.18s cubic-bezier(0.8, -0.33, 0.2, 1.33)}.radio input[type="radio"]{opacity:0;z-index:1;cursor:pointer}.radio input[type="radio"]:checked+label::after,.radio .editable-input .editable-checklist>div>label>input[type="radio"]:checked+span::after,.editable-input .radio .editable-checklist>div>label>input[type="radio"]:checked+span::after{-webkit-transform:scale(1,1);-ms-transform:scale(1,1);transform:scale(1,1);opacity:1}.radio input[type="radio"]:disabled+label,.radio .editable-input .editable-checklist>div>label>input[type="radio"]:disabled+span,.editable-input .radio .editable-checklist>div>label>input[type="radio"]:disabled+span{opacity:0.65}.radio input[type="radio"]:disabled+label::before,.radio .editable-input .editable-checklist>div>label>input[type="radio"]:disabled+span::before,.editable-input .radio .editable-checklist>div>label>input[type="radio"]:disabled+span::before{cursor:not-allowed}.radio.radio-inline{margin-top:0}.radio-primary input[type="radio"]+label::after,.radio-primary .editable-input .editable-checklist>div>label>input[type="radio"]+span::after,.editable-input .radio-primary .editable-checklist>div>label>input[type="radio"]+span::after{background-color:#375959}.radio-primary input[type="radio"]:checked+label::before,.radio-primary .editable-input .editable-checklist>div>label>input[type="radio"]:checked+span::before,.editable-input .radio-primary .editable-checklist>div>label>input[type="radio"]:checked+span::before{border-color:#375959}.radio-primary input[type="radio"]:checked+label::after,.radio-primary .editable-input .editable-checklist>div>label>input[type="radio"]:checked+span::after,.editable-input .radio-primary .editable-checklist>div>label>input[type="radio"]:checked+span::after{background-color:#375959}.radio-danger input[type="radio"]+label::after,.radio-danger .editable-input .editable-checklist>div>label>input[type="radio"]+span::after,.editable-input .radio-danger .editable-checklist>div>label>input[type="radio"]+span::after{background-color:#a52521}.radio-danger input[type="radio"]:checked+label::before,.radio-danger .editable-input .editable-checklist>div>label>input[type="radio"]:checked+span::before,.editable-input .radio-danger .editable-checklist>div>label>input[type="radio"]:checked+span::before{border-color:#a52521}.radio-danger input[type="radio"]:checked+label::after,.radio-danger .editable-input .editable-checklist>div>label>input[type="radio"]:checked+span::after,.editable-input .radio-danger .editable-checklist>div>label>input[type="radio"]:checked+span::after{background-color:#a52521}.radio-info input[type="radio"]+label::after,.radio-info .editable-input .editable-checklist>div>label>input[type="radio"]+span::after,.editable-input .radio-info .editable-checklist>div>label>input[type="radio"]+span::after{background-color:#316490}.radio-info input[type="radio"]:checked+label::before,.radio-info .editable-input .editable-checklist>div>label>input[type="radio"]:checked+span::before,.editable-input .radio-info .editable-checklist>div>label>input[type="radio"]:checked+span::before{border-color:#316490}.radio-info input[type="radio"]:checked+label::after,.radio-info .editable-input .editable-checklist>div>label>input[type="radio"]:checked+span::after,.editable-input .radio-info .editable-checklist>div>label>input[type="radio"]:checked+span::after{background-color:#316490}.radio-warning input[type="radio"]+label::after,.radio-warning .editable-input .editable-checklist>div>label>input[type="radio"]+span::after,.editable-input .radio-warning .editable-checklist>div>label>input[type="radio"]+span::after{background-color:#e28a0d}.radio-warning input[type="radio"]:checked+label::before,.radio-warning .editable-input .editable-checklist>div>label>input[type="radio"]:checked+span::before,.editable-input .radio-warning .editable-checklist>div>label>input[type="radio"]:checked+span::before{border-color:#e28a0d}.radio-warning input[type="radio"]:checked+label::after,.radio-warning .editable-input .editable-checklist>div>label>input[type="radio"]:checked+span::after,.editable-input .radio-warning .editable-checklist>div>label>input[type="radio"]:checked+span::after{background-color:#e28a0d}.radio-success input[type="radio"]+label::after,.radio-success .editable-input .editable-checklist>div>label>input[type="radio"]+span::after,.editable-input .radio-success .editable-checklist>div>label>input[type="radio"]+span::after{background-color:#4f9e4f}.radio-success input[type="radio"]:checked+label::before,.radio-success .editable-input .editable-checklist>div>label>input[type="radio"]:checked+span::before,.editable-input .radio-success .editable-checklist>div>label>input[type="radio"]:checked+span::before{border-color:#4f9e4f}.radio-success input[type="radio"]:checked+label::after,.radio-success .editable-input .editable-checklist>div>label>input[type="radio"]:checked+span::after,.editable-input .radio-success .editable-checklist>div>label>input[type="radio"]:checked+span::after{background-color:#4f9e4f}input[type="checkbox"].styled:checked+label:after,.editable-input .editable-checklist>div>label>input[type="checkbox"].styled:checked+span:after,input[type="radio"].styled:checked+label:after,.editable-input .editable-checklist>div>label>input[type="radio"].styled:checked+span:after{font-family:"Font Awesome 5 Free";content:"\f00c"}input[type="checkbox"] .styled:checked+label::before,input[type="checkbox"] .editable-input .editable-checklist>div>label>.styled:checked+span::before,.editable-input input[type="checkbox"] .editable-checklist>div>label>.styled:checked+span::before,input[type="radio"] .styled:checked+label::before,input[type="radio"] .editable-input .editable-checklist>div>label>.styled:checked+span::before,.editable-input input[type="radio"] .editable-checklist>div>label>.styled:checked+span::before{color:#fff}input[type="checkbox"] .styled:checked+label::after,input[type="checkbox"] .editable-input .editable-checklist>div>label>.styled:checked+span::after,.editable-input input[type="checkbox"] .editable-checklist>div>label>.styled:checked+span::after,input[type="radio"] .styled:checked+label::after,input[type="radio"] .editable-input .editable-checklist>div>label>.styled:checked+span::after,.editable-input input[type="radio"] .editable-checklist>div>label>.styled:checked+span::after{color:#fff}html{margin:0;padding:0;height:100%;position:relative}body{margin:0;padding:0;min-height:100%;direction:ltr}body.mobile-view-activated.hidden-menu{overflow-x:hidden}body.modal-open{overflow:hidden !important}a:hover,a:active,a:focus,button,button:active,button:focus,object,embed,input::-moz-focus-inner{outline:0}h1,h3,h4{margin:0;font-family:"Oxygen Bold","Helvetica Neue",Helvetica,Arial,sans-serif}.page-title{margin:12px 0 28px}.page-title span{font-size:15px;color:#313335;display:inline-block;vertical-align:1px}label,.editable-input .editable-checklist>div>label>span{font-weight:normal}*:not(td):focus{outline:0 !important}a,input,button{-ms-touch-action:none !important}textarea:focus,select:focus,input[type="text"]:focus,input[type="password"]:focus,input[type="datetime"]:focus,input[type="datetime-local"]:focus,input[type="date"]:focus,input[type="month"]:focus,input[type="time"]:focus,input[type="week"]:focus,input[type="number"]:focus,input[type="email"]:focus,input[type="url"]:focus,input[type="search"]:focus,input[type="tel"]:focus,input[type="color"]:focus,.uneditable-input:focus{outline:0;outline:thin dotted \9;box-shadow:inset -1px 1px 5px 0 rgba(0,0,0,0.8) !important}.input-sm,.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn,.input-lg,.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn,.input-xs,.form-control{border-radius:0px !important;-webkit-border-radius:0px !important;-moz-border-radius:0px !important}.input-xs{height:24px;padding:2px 10px;font-size:11px;line-height:1.5}.btn-xs,.btn-group-xs>.btn{padding:0px 2px;font-size:10px;line-height:1.3}.btn-sm,.btn-group-sm>.btn{padding:5px 8px 4px}.btn-lg,.btn-group-lg>.btn{padding:10px 16px}.no-space{margin:0}.no-space>[class*="col-"]{margin:0 !important;padding-right:0;padding-left:0}h1{letter-spacing:-1px;font-size:22px;margin:10px 0}h1 small{font-size:12px;font-weight:300;letter-spacing:-1px}h2{font-size:20px;margin:20px 0;line-height:normal}h3{display:block;font-size:17px;font-weight:400;margin:20px 0;line-height:normal}h4{line-height:normal;margin:20px 0 10px 0}h5{font-size:14px;font-weight:300;margin-top:0;margin-bottom:10px;line-height:normal}h6{font-size:13px;margin:10px 0;font-weight:bold;line-height:normal}.row-seperator-header{margin:15px 14px 20px;border-bottom:none;display:block;color:#303133;font-size:20px;font-weight:400}.center-canvas,.center-child-canvas>canvas{display:block !important;margin:0 auto !important}.form-control{box-shadow:none !important;-webkit-box-shadow:none !important;-moz-box-shadow:none !important}.form hr{margin-left:-13px;margin-right:-13px;border-color:rgba(0,0,0,0.1);margin-top:20px;margin-bottom:20px}.form fieldset{display:block;border:none;background:rgba(255,255,255,0.9);position:relative}fieldset{position:relative}.popover-content .form-actions{margin:0 -14px -9px;border-radius:0 0 3px 3px;padding:9px 14px}.no-padding .form .form-actions{margin:0;display:block;padding:13px 14px 15px;border-top:1px solid rgba(0,0,0,0.1);background:rgba(248,248,248,0.9);text-align:right;margin-top:25px}.form header,legend{display:block;padding:8px 0;border-bottom:1px dashed rgba(0,0,0,0.2);background:#fff;font-size:16px;font-weight:300;color:#2b2b2b;margin:25px 0px 20px}.no-padding .form header{margin:25px 14px 0}.form header:first-child{margin-top:10px}legend{font-weight:400;margin-top:0px;background:none}.input-group-addon{padding:6px 10px;will-change:background-color, border-color;-moz-border-radius:0;-webkit-border-radius:0;border-radius:0;-webkit-transition:all ease-out 0.15s;transition:all ease-out 0.15s}.input-group-addon .fa{font-size:14px}.input-group-addon .fa-lg,.input-group-addon .fa-2x{font-size:2em}.input-group-addon .fa-3x,.input-group-addon .fa-4x,.input-group-addon .fa-5x{font-size:30px}input[type="text"]:focus+.input-group-addon,input[type="password"]:focus+.input-group-addon,input[type="email"]:focus+.input-group-addon{border-color:#568a89;color:#568a89}.has-warning input[type="text"],.has-warning input[type="text"]+.input-group-addon{border-color:#e28a0d}.has-warning input[type="text"]+.input-group-addon{background-color:#fbe3c0;color:#2b2b2b}.has-warning input[type="text"]:focus,.has-warning input[type="text"]:focus+.input-group-addon{border-color:#e28a0d}.has-warning input[type="text"]:focus+.input-group-addon{background-color:#e28a0d;color:#fff}.has-error .input-group-addon{border-color:#d9534f !important;background:#d9534f !important;color:#2b2b2b !important}.has-success .input-group-addon{border-color:#4f9e4f !important;background-color:#2b2b2b !important;color:#4f9e4f !important}.form fieldset .form-group:last-child,.form fieldset .form-group:last-child .note,.form .form-group:last-child,.form .form-group:last-child .note{margin-bottom:0}.note{margin-top:6px;padding:0 1px;font-size:11px;line-height:15px;color:#7c8184}.input-icon-right>i,.input-icon-left>i{position:absolute;right:10px;top:10px;font-size:12px;color:#63676a}.input-icon-left>i{right:auto;left:24px}.input-icon-right .form-control{padding-right:27px}.input-icon-left .form-control{padding-left:29px}input[type="text"].ui-autocomplete-loading,input[type="password"].ui-autocomplete-loading,input[type="datetime"].ui-autocomplete-loading,input[type="datetime-local"].ui-autocomplete-loading,input[type="date"].ui-autocomplete-loading,input[type="month"].ui-autocomplete-loading,input[type="time"].ui-autocomplete-loading,input[type="week"].ui-autocomplete-loading,input[type="number"].ui-autocomplete-loading,input[type="email"].ui-autocomplete-loading,input[type="url"].ui-autocomplete-loading,input[type="search"].ui-autocomplete-loading,input[type="tel"].ui-autocomplete-loading,input[type="color"].ui-autocomplete-loading{background-image:url("../../img/select2-spinner.gif") !important;background-repeat:no-repeat;background-position:99% 50%;padding-right:27px}.input-group-addon .checkbox,.input-group-addon .editable-input .editable-checklist>div>label,.editable-input .input-group-addon .editable-checklist>div>label,.input-group-addon .radio{min-height:0px;margin-right:0px !important;padding-top:0}.input-group-addon label input[type="checkbox"].checkbox+span,.input-group-addon .editable-input .editable-checklist>div>label>span input[type="checkbox"].checkbox+span,.editable-input .input-group-addon .editable-checklist>div>label>span input[type="checkbox"].checkbox+span,.input-group-addon label input[type="radio"].radiobox+span,.input-group-addon .editable-input .editable-checklist>div>label>span input[type="radio"].radiobox+span,.editable-input .input-group-addon .editable-checklist>div>label>span input[type="radio"].radiobox+span,.input-group-addon label input[type="radio"].radiobox+span:before,.input-group-addon .editable-input .editable-checklist>div>label>span input[type="radio"].radiobox+span:before,.editable-input .input-group-addon .editable-checklist>div>label>span input[type="radio"].radiobox+span:before,.input-group-addon label input[type="checkbox"].checkbox+span:before,.input-group-addon .editable-input .editable-checklist>div>label>span input[type="checkbox"].checkbox+span:before,.editable-input .input-group-addon .editable-checklist>div>label>span input[type="checkbox"].checkbox+span:before{margin-right:0px}.alert{margin-bottom:10px;margin-top:0px;padding:5px 15px 5px 34px;color:#675100;border-width:0px;border-left-width:3px;padding:10px}.alert .ui-pnotify-title{line-height:12px}.alert .ui-pnotify-text{font-size:10px}.alert .close{top:0px;right:-5px;line-height:18px}.alert-heading{font-weight:600}.alert-danger{border-color:#a52521;color:#2b2b2b;background:#f6d1d0;text-shadow:none}.alert-danger .ui-pnotify-icon{color:#a52521}.alert-warning{border-color:#e28a0d;color:#2b2b2b;background:#fdedd8}.alert-warning .ui-pnotify-icon{color:#e28a0d}.alert-success{border-color:#4f9e4f;color:#2b2b2b;background:#d1e8d1}.alert-success .ui-pnotify-icon{color:#4f9e4f}.alert-info{border-color:#316490;color:#2b2b2b;background:#abc9e2}.alert-info .ui-pnotify-icon{color:#316490}.progress-micro{height:2px !important;line-height:2px !important}.progress-xs{height:7px !important;line-height:7px !important}.progress-sm{height:14px !important;line-height:14px !important}.progress-lg{height:30px !important;line-height:30px !important}.progress .progress-bar{position:absolute;overflow:hidden;line-height:18px}.progress .progressbar-back-text{position:absolute;width:100%;height:100%;font-size:12px;line-height:20px;text-align:center}.progress .progressbar-front-text{display:block;width:100%;font-size:12px;line-height:20px;text-align:center}.progress.right .progress-bar{right:0}.progress.right .progressbar-front-text{position:absolute;right:0}.progress.vertical{width:25px;height:100%;min-height:150px;margin-right:20px;display:inline-block;margin-bottom:0px}.progress.wide-bar{width:40px}.progress.vertical.bottom{position:relative}.progress.vertical.bottom .progressbar-front-text{position:absolute;bottom:0}.progress.vertical .progress-bar{width:100%;height:0;-webkit-transition:height 0.6s ease;transition:height 0.6s ease}.progress.vertical.bottom .progress-bar{position:absolute;bottom:0}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-moz-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:0 0}to{background-position:40px 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{position:relative;margin-bottom:20px;overflow:hidden;height:18px;background:#63676a;-webkit-box-shadow:0 1px 0 transparent,0 0 0 1px #63676a inset;box-shadow:0 1px 0 transparent,0 0 0 1px #63676a inset;-moz-border-radius:0px;-webkit-border-radius:0px;border-radius:0px}.progress-bar{float:left;width:0;height:100%;font-size:11px;color:#fff;text-align:center;background-color:#428bca;font-weight:bold;-webkit-transition:width 1s ease-in-out,background-color 1s ease-in-out;transition:width 1s ease-in-out,background-color 1s ease-in-out}.progress-striped .progress-bar{background-image:-webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255,255,255,0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255,255,255,0.15)), color-stop(0.75, rgba(255,255,255,0.15)), color-stop(0.75, transparent), to(transparent));background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-moz-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%,rgba(0,0,0,0) 25%,rgba(0,0,0,0) 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,rgba(0,0,0,0) 75%,rgba(0,0,0,0));background-size:40px 40px}.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-moz-animation:progress-bar-stripes 2s linear infinite;-ms-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-danger{background-color:#a52521}.progress-striped .progress-bar-danger{background-image:-webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255,255,255,0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255,255,255,0.15)), color-stop(0.75, rgba(255,255,255,0.15)), color-stop(0.75, transparent), to(transparent));background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-moz-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%,rgba(0,0,0,0) 25%,rgba(0,0,0,0) 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,rgba(0,0,0,0) 75%,rgba(0,0,0,0))}.progress-bar-success{background-color:#4f9e4f}.progress-striped .progress-bar-success{background-image:-webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255,255,255,0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255,255,255,0.15)), color-stop(0.75, rgba(255,255,255,0.15)), color-stop(0.75, transparent), to(transparent));background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-moz-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%,rgba(0,0,0,0) 25%,rgba(0,0,0,0) 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,rgba(0,0,0,0) 75%,rgba(0,0,0,0))}.progress-bar-warning{background-color:#e28a0d}.progress-striped .progress-bar-warning{background-image:-webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255,255,255,0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255,255,255,0.15)), color-stop(0.75, rgba(255,255,255,0.15)), color-stop(0.75, transparent), to(transparent));background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-moz-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%,rgba(0,0,0,0) 25%,rgba(0,0,0,0) 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,rgba(0,0,0,0) 75%,rgba(0,0,0,0))}.progress-bar-info{background-color:#316490}.progress-striped .progress-bar-info{background-image:-webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255,255,255,0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255,255,255,0.15)), color-stop(0.75, rgba(255,255,255,0.15)), color-stop(0.75, transparent), to(transparent));background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-moz-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%,rgba(0,0,0,0) 25%,rgba(0,0,0,0) 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,rgba(0,0,0,0) 75%,rgba(0,0,0,0))}.progress-info .bar,.progress .bar-info{background:#316490}.vertical-bars{padding:0;margin:0}.vertical-bars:after{content:"";display:block;height:0;clear:both}.vertical-bars li{padding:14px 0;width:25%;display:block;float:left;text-align:center}.vertical-bars li:first-child{border-left:none}.vertical-bars>li>.progress.vertical:first-child{margin-left:auto}.vertical-bars>li>.progress.vertical{margin:0 auto;float:none}.nav-tabs{border-bottom:none}.nav-tabs>li>a .badge{font-size:11px;padding:3px 5px 3px 5px;opacity:.5;margin-left:5px;min-width:17px;font-weight:normal}.tabs-left .nav-tabs>li>a .badge{margin-right:5px;margin-left:0px}.nav-tabs>li>a .label{display:inline-block;font-size:11px;margin-left:5px;opacity:.5}.nav-tabs>li>a{color:#63676a;font-family:"Oxygen Bold","Helvetica Neue",Helvetica,Arial,sans-serif}.nav-tabs>li>a:hover{color:#adadad;border-color:transparent transparent #63676a transparent;margin-top:1px;border-top-width:0}.nav-tabs>li.active>a{background-color:#adadad;color:#1d1d1d;border-top-width:0px !important;margin-top:1px !important;font-weight:bold}.tabs-left .nav-tabs>li.active>a{-webkit-box-shadow:-2px 0 0 #428bca;-moz-box-shadow:-2px 0 0 #428bca;box-shadow:-2px 0 0 #428bca;border-top-width:1px !important;border-left:none !important;margin-left:1px !important}.tabs-left .nav-pills>li.active>a{border:none !important;box-shadow:none !important;-webkit-box-shadow:none !important;-moz-box-shadow:none !important}.tabs-right .nav-tabs>li.active>a{-webkit-box-shadow:2px 0 0 #428bca;-moz-box-shadow:2px 0 0 #428bca;box-shadow:2px 0 0 #428bca;border-top-width:1px !important;border-right:none !important;margin-right:1px !important}.tabs-below .nav-tabs>li.active>a{-webkit-box-shadow:0 2px 0 #428bca;-moz-box-shadow:0 2px 0 #428bca;box-shadow:0 2px 0 #428bca;border-bottom-width:0px !important;border-top:none !important;margin-top:0px !important}.tabs-below>.nav-tabs,.tabs-right>.nav-tabs,.tabs-left>.nav-tabs{border-bottom:0}.tab-content>.tab-pane,.pill-content>.pill-pane{display:none}.tab-content>.active,.pill-content>.active{display:block}.tabs-below>.nav-tabs{border-top:1px solid #9b9b9b}.tabs-below>.nav-tabs>li{margin-top:-1px;margin-bottom:0}.tabs-left>.nav-tabs>li,.tabs-right>.nav-tabs>li,.tabs-left>.nav-pills>li,.tabs-right>.nav-pills>li{float:none}.tabs-left>.nav-tabs>li>a,.tabs-right>.nav-tabs>li>a,.tabs-left>.nav-pills>li>a,.tabs-right>.nav-pills>li>a{min-width:74px;margin-right:0;margin-bottom:3px}.tabs-left>.nav-tabs,.tabs-left>.nav-pills{float:left;margin-right:19px;border-right:1px solid #9b9b9b}.tabs-left>.nav-pills{border-right:none}.tabs-left>.nav-tabs>li>a{margin-right:-1px}.tabs-left>.nav-tabs>li>a:hover,.tabs-left>.nav-tabs>li>a:focus{border-color:#adadad #949494 #adadad #adadad}.tabs-left>.nav-tabs .active>a,.tabs-left>.nav-tabs .active>a:hover,.tabs-left>.nav-tabs .active>a:focus{border-color:#949494 transparent #949494 #9b9b9b;*border-right-color:#fff}.tabs-left>.tab-content{margin-left:109px}.tabs-right>.nav-tabs{float:right;margin-left:19px;border-left:1px solid #9b9b9b}.tabs-right>.nav-tabs>li>a{margin-left:-1px}.tabs-right>.nav-tabs>li>a:hover,.tabs-right>.nav-tabs>li>a:focus{border-color:#adadad #adadad #adadad #9b9b9b}.tabs-right>.nav-tabs .active>a,.tabs-right>.nav-tabs .active>a:hover,.tabs-right>.nav-tabs .active>a:focus{border-color:#9b9b9b #9b9b9b #9b9b9b transparent;*border-left-color:#fff}.tabs-below>.nav-tabs,.tabs-right>.nav-tabs,.tabs-left>.nav-tabs{border-bottom:0}.tab-content>.tab-pane,.pill-content>.pill-pane{display:none}.tab-content>.active,.pill-content>.active{display:block}.tabs-below>.nav-tabs{border-top:1px solid #9b9b9b}.tabs-below>.nav-tabs>li{margin-top:-1px;margin-bottom:0}.tabs-below>.nav-tabs>li>a:hover,.tabs-below>.nav-tabs>li>a:focus{border-top-color:#9b9b9b;border-bottom-color:transparent}.tabs-below>.nav-tabs>.active>a,.tabs-below>.nav-tabs>.active>a:hover,.tabs-below>.nav-tabs>.active>a:focus{border-color:transparent #9b9b9b #9b9b9b #9b9b9b}.nav-tabs.bordered{background:#fff;border:1px solid #9b9b9b}.nav-tabs.bordered>:first-child a{border-left-width:0px !important}.nav-tabs.bordered+.tab-content{border:1px solid #9b9b9b;border-top:none}.tabs-pull-right.nav-tabs>li,.tabs-pull-right.nav-pills>li{float:right}.tabs-pull-right.nav-tabs>li:first-child>a,.tabs-pull-right.nav-pills>li:first-child>a{margin-right:1px}.tabs-pull-right.bordered.nav-tabs>li:first-child>a,.tabs-pull-right.bordered.nav-pills>li:first-child>a{border-left-width:1px !important;margin-right:0px;border-right-width:0px}.dropdown-menu-xs{min-width:37px}.dropdown-menu-xs>li>a{padding:3px 10px}.dropdown-menu-xs>li>a:hover i{color:#fff !important}.dropdown-submenu{position:relative}.dropdown-submenu>.dropdown-menu{top:0;left:100%;margin-top:-6px;margin-left:-1px}.dropdown-submenu:hover>.dropdown-menu{display:block}.dropdown-submenu:hover>a{background-color:#63676a;color:#1d1d1d}.dropdown-submenu:hover a:after{border-left-color:#5cb85c}.dropdown-submenu>a:after{display:block;content:" ";float:right;width:0;height:0;border-color:transparent;border-style:solid;border-width:5px 0 5px 5px;border-left-color:#2b2b2b;margin-top:4px;margin-right:3px}.dropdown-submenu>a:hover:after{border-left-color:#adadad}.dropdown-submenu.pull-left{float:none}.dropdown-submenu.pull-left>.dropdown-menu{left:-100%;margin-left:10px}.pagination>li>a,.pagination>li>span{box-shadow:inset 0 -2px 0 rgba(0,0,0,0.05);-moz-box-shadow:inset 0 -2px 0 rgba(0,0,0,0.05);-webkit-box-shadow:inset 0 -2px 0 rgba(0,0,0,0.05)}.btn-default.disabled{color:#adadad}.btn{font-family:"Oxygen Bold","Helvetica Neue",Helvetica,Arial,sans-serif;will-change:background-color, border-color;-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;-webkit-transition:color 0.18s ease-in-out,background-color 0.18s ease-in-out,border-color 0.18s ease-in-out,box-shadow 0.18s ease-in-out;transition:color 0.18s ease-in-out,background-color 0.18s ease-in-out,border-color 0.18s ease-in-out,box-shadow 0.18s ease-in-out}.btn.btn-ribbon{background-color:#707070;background-image:-moz-linear-gradient(top, #777, #666);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#777), to(#666));background-image:-webkit-linear-gradient(top, #777, #666);background-image:-o-linear-gradient(top, #777, #666);background-image:linear-gradient(to bottom, #777777,#666666);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff777777', endColorstr='#ff666666', GradientType=0);color:white;padding:0 5px;line-height:20px;vertical-align:middle;height:20px;display:block;border:none;float:left;margin:0 8px 0 0;cursor:pointer}.btn.btn-ribbon>i{font-size:111%}.ribbon-button-alignment{padding-top:10px;display:inline-block}.ribbon-button-alignment.pull-right>.btn.btn-ribbon{margin:0 0 0 8px}.panel-purple{border-color:#6e587a}.panel-purple>.panel-heading{color:#fff;background-color:#6e587a;border-color:#6e587a}.panel-greenLight{border-color:#71843f}.panel-greenLight>.panel-heading{color:#fff;background-color:#71843f;border-color:#71843f}.panel-greenDark{border-color:#496949}.panel-greenDark>.panel-heading{color:#fff;background-color:#496949;border-color:#496949}.panel-darken{border-color:#313335}.panel-darken>.panel-heading{color:#fff;background-color:#404040;border-color:#404040}.panel-green{border-color:#5cb85c}.panel-green>.panel-heading{color:#fff;background-color:#5cb85c;border-color:#5cb85c}.panel-red{border-color:#d9534f}.panel-red>.panel-heading{color:#fff;background-color:#d9534f;border-color:#d9534f}.panel-teal{border-color:#568a89}.panel-teal>.panel-heading{color:#fff;background-color:#568a89;border-color:#568a89}.panel-orange{border-color:#e28a0d}.panel-orange>.panel-heading{color:#fff;background-color:#e28a0d;border-color:#e28a0d}.panel-blueDark{border-color:#4c4f53}.panel-blueDark>.panel-heading{color:#fff;background-color:#4c4f53;border-color:#4c4f53}.panel-magenta{border-color:#6e3671}.panel-magenta>.panel-heading{color:#fff;background-color:#6e3671;border-color:#6e3671}.panel-blue{border-color:#428bca}.panel-blue>.panel-heading{color:#fff;background-color:#428bca;border-color:#428bca}.panel-footer>.btn-block{border-radius:0px;-moz-border-radius:0px;-webkit-border-radius:0px;border-bottom:none;border-left:none;border-right:none}.btn-circle{width:30px;height:30px;text-align:center;padding:6px 0;font-size:12px;line-height:18px;border-radius:50%;-moz-border-radius:50%;-webkit-border-radius:50%;-webkit-box-shadow:0 1px 6px 0 rgba(0,0,0,0.12),0 1px 6px 0 rgba(0,0,0,0.12);box-shadow:0 1px 6px 0 rgba(0,0,0,0.12),0 1px 6px 0 rgba(0,0,0,0.12)}.btn-circle.btn-sm,.btn-group-sm>.btn-circle.btn{width:22px;height:22px;padding:4px 0;font-size:12px;line-height:14px;border-radius:50%;-moz-border-radius:50%;-webkit-border-radius:50%}.btn-circle.btn-lg,.btn-group-lg>.btn-circle.btn{width:50px;height:50px;padding:10px 15px;font-size:18px;line-height:30px;border-radius:50%;-moz-border-radius:50%;-webkit-border-radius:50%}.btn-circle.btn-xl{width:70px;height:70px;padding:10px 15px;font-size:24px;line-height:50px;border-radius:50%;-moz-border-radius:50%;-webkit-border-radius:50%}.btn-label{position:relative;left:-8px;display:inline-block;padding:5px 8px;background:rgba(0,0,0,0.15);border-radius:2px 0 0 2px}.btn-labeled{padding-top:0;padding-bottom:0;padding-left:8px}.btn-link{box-shadow:none;-webkit-box-shadow:none;font-size:13px}.morris-hover.morris-default-style{border-radius:5px;padding:5px;color:#666;background:rgba(29,29,29,0.9);border:solid 2px #375959;font-family:'Oxygen Bold';font-size:10px;text-align:left;-webkit-box-shadow:0 6px 12px rgba(0,0,0,0.4);box-shadow:0 6px 12px rgba(0,0,0,0.4)}.morris-hover.morris-default-style .morris-hover-row-label{font-weight:bold}.morris-hover.morris-default-style .morris-hover-point{white-space:nowrap}.morris-hover{position:absolute;z-index:903}.fixed-page-footer .morris-hover{z-index:900}.txt-color.txt-color-blue,.txt-color-blue.pf-help-light,.pf-help-light:hover,.txt-color-blue.pf-help,.pf-help:hover,.txt-color.pf-help-default:hover,.dataTable td.pf-help-default.pf-table-link-cell:hover,.dataTable td.pf-table-link-cell.pf-help-light:hover,.dataTable td.pf-table-link-cell.pf-help:hover,.dataTable td.pf-table-action-cell>.pf-help-default.pf-table-action-icon-cell:hover,.dataTable td.pf-table-action-cell>.pf-table-action-icon-cell.pf-help-light:hover,.dataTable td.pf-table-action-cell>.pf-table-action-icon-cell.pf-help:hover,.pf-landing .pf-landing-list li>i.pf-help-default:hover,.pf-landing .pf-landing-list li>i.pf-help-light:hover,.pf-landing .pf-landing-list li>i.pf-help:hover,.dataTable td.txt-color-blue.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-blue.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-blue{color:#428bca !important}.txt-color.txt-color-blueLight,.txt-color-blueLight.pf-help-light,.txt-color-blueLight.pf-help,.dataTable td.txt-color-blueLight.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-blueLight.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-blueLight{color:#92a2a8 !important}.txt-color.txt-color-blueDark,.txt-color-blueDark.pf-help-light,.txt-color-blueDark.pf-help,.dataTable td.txt-color-blueDark.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-blueDark.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-blueDark{color:#4c4f53 !important}.txt-color.txt-color-grayLightest,.txt-color-grayLightest.pf-help-light,.txt-color-grayLightest.pf-help,.dataTable td.txt-color-grayLightest.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-grayLightest.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-grayLightest{color:#eaeaea !important}.txt-color.txt-color-grayLighter,.txt-color-grayLighter.pf-help-light,.txt-color-grayLighter.pf-help,.dataTable td.txt-color-grayLighter.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-grayLighter.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-grayLighter{color:#adadad !important}.txt-color.txt-color-grayLight,.pf-help-light,.txt-color-grayLight.pf-help,.dataTable td.txt-color-grayLight.pf-table-link-cell,.dataTable td.pf-table-link-cell.pf-help-light,.dataTable td.pf-table-action-cell>.txt-color-grayLight.pf-table-action-icon-cell,.dataTable td.pf-table-action-cell>.pf-table-action-icon-cell.pf-help-light,.pf-landing .pf-landing-list li>i.txt-color-grayLight,.pf-landing .pf-landing-list li>i.pf-help-light{color:#63676a !important}.txt-color.txt-color-gray,.txt-color-gray.pf-help-light,.pf-help,.dataTable td.txt-color-gray.pf-table-link-cell,.dataTable td.pf-table-link-cell.pf-help,.dataTable td.pf-table-action-cell>.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-gray,.pf-landing .pf-landing-list li>i.pf-help{color:#3c3f41 !important}.txt-color.txt-color-grayDark,.txt-color-grayDark.pf-help-light,.txt-color-grayDark.pf-help,.dataTable td.txt-color-grayDark.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-grayDark.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-grayDark{color:#313335 !important}.txt-color.txt-color-greenLight,.txt-color-greenLight.pf-help-light,.txt-color-greenLight.pf-help,.dataTable td.txt-color-greenLight.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-greenLight.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-greenLight{color:#66c84f !important}.txt-color.txt-color-green,.txt-color-green.pf-help-light,.pf-help-light.pf-log-info,.txt-color-green.pf-help,.pf-help.pf-log-info,.dataTable td.txt-color-green.pf-table-link-cell,.dataTable td.pf-table-link-cell.pf-log-info,.dataTable td.pf-table-action-cell>.txt-color-green.pf-table-action-icon-cell,.dataTable td.pf-table-action-cell>.pf-table-action-icon-cell.pf-log-info,.txt-color.pf-log-info,.pf-landing .pf-landing-list li>i.pf-log-info,.pf-landing .pf-landing-list li>i.txt-color-green{color:#5cb85c !important}.txt-color.txt-color-greenDark,.txt-color-greenDark.pf-help-light,.txt-color-greenDark.pf-help,.dataTable td.txt-color-greenDark.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-greenDark.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-greenDark{color:#4f9e4f !important}.txt-color.txt-color-redLight,.txt-color-redLight.pf-help-light,.txt-color-redLight.pf-help,.dataTable td.txt-color-redLight.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-redLight.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-redLight{color:#a65858 !important}.txt-color.txt-color-red,.txt-color-red.pf-help-light,.pf-help-light.pf-log-error,.txt-color-red.pf-help,.pf-help.pf-log-error,.dataTable td.txt-color-red.pf-table-link-cell,.dataTable td.pf-table-link-cell.pf-log-error,.dataTable td.pf-table-action-cell>.txt-color-red.pf-table-action-icon-cell,.dataTable td.pf-table-action-cell>.pf-table-action-icon-cell.pf-log-error,.txt-color.pf-log-error,.pf-landing .pf-landing-list li>i.pf-log-error,.pf-landing .pf-landing-list li>i.txt-color-red{color:#d9534f !important}.txt-color.txt-color-redDarker,.txt-color-redDarker.pf-help-light,.txt-color-redDarker.pf-help,.dataTable td.txt-color-redDarker.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-redDarker.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-redDarker{color:#a52521 !important}.txt-color.txt-color-yellow,.txt-color-yellow.pf-help-light,.txt-color-yellow.pf-help,.dataTable td.txt-color-yellow.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-yellow.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-yellow{color:#e2ce48 !important}.txt-color.txt-color-yellowDark,.txt-color-yellowDark.pf-help-light,.txt-color-yellowDark.pf-help,.dataTable td.txt-color-yellowDark.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-yellowDark.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-yellowDark{color:#c8b847 !important}.txt-color.txt-color-orangeLight,.txt-color-orangeLight.pf-help-light,.txt-color-orangeLight.pf-help,.dataTable td.txt-color-orangeLight.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-orangeLight.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-orangeLight{color:#f0ad4e !important}.txt-color.txt-color-orange,.txt-color-orange.pf-help-light,.txt-color-orange.pf-help,.dataTable td.txt-color-orange.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-orange.pf-table-action-icon-cell,.dataTable td.pf-table-action-cell:hover>.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-orange{color:#e28a0d !important}.txt-color.txt-color-orangeDark,.txt-color-orangeDark.pf-help-light,.txt-color-orangeDark.pf-help,.dataTable td.txt-color-orangeDark.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-orangeDark.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-orangeDark{color:#c2760c !important}.txt-color.txt-color-pink,.txt-color-pink.pf-help-light,.txt-color-pink.pf-help,.dataTable td.txt-color-pink.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-pink.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-pink{color:#e06fdf !important}.txt-color.txt-color-pinkDark,.txt-color-pinkDark.pf-help-light,.txt-color-pinkDark.pf-help,.dataTable td.txt-color-pinkDark.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-pinkDark.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-pinkDark{color:#a8829f !important}.txt-color.txt-color-purple,.txt-color-purple.pf-help-light,.txt-color-purple.pf-help,.dataTable td.txt-color-purple.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-purple.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-purple{color:#6e587a !important}.txt-color.txt-color-darken,.txt-color-darken.pf-help-light,.txt-color-darken.pf-help,.dataTable td.txt-color-darken.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-darken.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-darken{color:#404040 !important}.txt-color.txt-color-lighten,.txt-color-lighten.pf-help-light,.txt-color-lighten.pf-help,.dataTable td.txt-color-lighten.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-lighten.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-lighten{color:#d5e7ec !important}.txt-color.txt-color-white,.txt-color-white.pf-help-light,.txt-color-white.pf-help,.dataTable td.txt-color-white.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-white.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-white{color:#fff !important}.txt-color.txt-color-magenta,.txt-color-magenta.pf-help-light,.txt-color-magenta.pf-help,.dataTable td.txt-color-magenta.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-magenta.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-magenta{color:#6e3671 !important}.txt-color.txt-color-tealLightest,.txt-color-tealLightest.pf-help-light,.txt-color-tealLightest.pf-help,.dataTable td.txt-color-tealLightest.pf-table-link-cell,.dataTable td.pf-table-link-cell:hover,.dataTable td.pf-table-action-cell>.txt-color-tealLightest.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-tealLightest{color:#6caead !important}.txt-color.txt-color-tealLighter,.txt-color-tealLighter.pf-help-light,.txt-color-tealLighter.pf-help,.dataTable td.txt-color-tealLighter.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-tealLighter.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i{color:#568a89 !important}.txt-color.txt-color-teal,.txt-color-teal.pf-help-light,.txt-color-teal.pf-help,.dataTable td.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-teal.pf-table-action-icon-cell,.dataTable td.pf-table-action-cell>td.pf-table-action-icon-cell.pf-table-link-cell,.pf-landing .pf-landing-list li>i.txt-color-teal{color:#477372 !important}.txt-color.txt-color-indigoDark,.txt-color-indigoDark.pf-help-light,.txt-color-indigoDark.pf-help,.dataTable td.txt-color-indigoDark.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-indigoDark.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-indigoDark{color:#5c6bc0 !important}.txt-color.txt-color-indigoDarkest,.txt-color-indigoDarkest.pf-help-light,.txt-color-indigoDarkest.pf-help,.dataTable td.txt-color-indigoDarkest.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-indigoDarkest.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-indigoDarkest{color:#313966 !important}.txt-color.txt-color-gold,.txt-color-gold.pf-help-light,.txt-color-gold.pf-help,.dataTable td.txt-color-gold.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-gold.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-gold{color:#cfb53b !important}.txt-color.txt-color-silver,.txt-color-silver.pf-help-light,.txt-color-silver.pf-help,.dataTable td.txt-color-silver.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-silver.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-silver{color:silver !important}.txt-color.txt-color-bronze,.txt-color-bronze.pf-help-light,.txt-color-bronze.pf-help,.dataTable td.txt-color-bronze.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-bronze.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-bronze{color:#8c7853 !important}.txt-color.txt-color-primary,.txt-color-primary.pf-help-light,.txt-color-primary.pf-help,.dataTable td.txt-color-primary.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-primary.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-primary{color:#375959 !important}.txt-color.txt-color-success,.txt-color-success.pf-help-light,.txt-color-success.pf-help,.dataTable td.txt-color-success.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-success.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-success{color:#4f9e4f !important}.txt-color.txt-color-information,.txt-color-information.pf-help-light,.txt-color-information.pf-help,.dataTable td.txt-color-information.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-information.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-information{color:#316490 !important}.txt-color.txt-color-info,.txt-color-info.pf-help-light,.txt-color-info.pf-help,.dataTable td.txt-color-info.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-info.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-info{color:#316490 !important}.txt-color.txt-color-warning,.txt-color-warning.pf-help-light,.pf-help-light.pf-log-warning,.txt-color-warning.pf-help,.pf-help.pf-log-warning,.dataTable td.txt-color-warning.pf-table-link-cell,.dataTable td.pf-table-link-cell.pf-log-warning,.dataTable td.pf-table-action-cell>.txt-color-warning.pf-table-action-icon-cell,.dataTable td.pf-table-action-cell>.pf-table-action-icon-cell.pf-log-warning,.txt-color.pf-log-warning,.pf-landing .pf-landing-list li>i.pf-log-warning,.pf-landing .pf-landing-list li>i.txt-color-warning{color:#e28a0d !important}.txt-color.txt-color-danger,.txt-color-danger.pf-help-light,.txt-color-danger.pf-help,.dataTable td.txt-color-danger.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-danger.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-danger{color:#a52521 !important}.bg-color.bg-color-blue{background-color:#428bca !important}.bg-color.bg-color-blueLight{background-color:#92a2a8 !important}.bg-color.bg-color-blueDark{background-color:#4c4f53 !important}.bg-color.bg-color-green{background-color:#5cb85c !important}.bg-color.bg-color-greenLight{background-color:#71843f !important}.bg-color.bg-color-greenDark{background-color:#496949 !important}.bg-color.bg-color-red{background-color:#d9534f !important}.bg-color.bg-color-yellow{background-color:#e2ce48 !important}.bg-color.bg-color-orange{background-color:#e28a0d !important}.bg-color.bg-color-orangeDark{background-color:#c2760c !important}.bg-color.bg-color-pink{background-color:#e06fdf !important}.bg-color.bg-color-pinkDark{background-color:#a8829f !important}.bg-color.bg-color-purple{background-color:#6e587a !important}.bg-color.bg-color-darken{background-color:#404040 !important}.bg-color.bg-color-lighten{background-color:#d5e7ec !important}.bg-color.bg-color-white{background-color:#fff !important}.bg-color.bg-color-gray{background-color:#3c3f41 !important}.bg-color.bg-color-grayDark{background-color:#525252 !important}.bg-color.bg-color-grayDarker{background-color:#2b2b2b !important}.bg-color.bg-color-magenta{background-color:#6e3671 !important}.bg-color.bg-color-tealLighter{background-color:#568a89 !important}.bg-color.bg-color-tealDarker{background-color:#212C30 !important}.bg-color.bg-color-tealDarkest{background-color:#1b2326 !important}.bg-color.bg-color-redLight{background-color:#a65858 !important}.pf-animation-slide-in{-moz-animation-duration:1.2s;-webkit-animation-duration:1.2s;-moz-animation-name:pfSlideIn;-webkit-animation-name:pfSlideIn;position:relative}@-webkit-keyframes pfSlideIn{from{opacity:0;top:-20px}to{opacity:1;top:0px}}@-moz-keyframes pfSlideIn{from{opacity:0;top:-20px}to{opacity:1;top:0px}}@-ms-keyframes pfSlideIn{from{opacity:0;top:-20px}to{opacity:1;top:0px}}@keyframes pfSlideIn{from{opacity:0;top:-20px}to{opacity:1;top:0px}}@-webkit-keyframes pfPulseDanger{0%{fill:#d9534f}50%{fill:#58100d}100%{fill:#d9534f}}@-moz-keyframes pfPulseDanger{0%{fill:#d9534f}50%{fill:#58100d}100%{fill:#d9534f}}@-ms-keyframes pfPulseDanger{0%{fill:#d9534f}50%{fill:#58100d}100%{fill:#d9534f}}@keyframes pfPulseDanger{0%{fill:#d9534f}50%{fill:#58100d}100%{fill:#d9534f}}.pf-animation-pulse-success{-webkit-animation:pulseBackgroundSuccess 1s 1;animation:pulseBackgroundSuccess 1s 1;-webkit-animation-timing-function:cubic-bezier(0.53, -0.03, 0.68, 0.38);animation-timing-function:cubic-bezier(0.53, -0.03, 0.68, 0.38)}.pf-animation-pulse-success .sorting_1{-webkit-animation:pulseBackgroundSuccessActive 1s 1;animation:pulseBackgroundSuccessActive 1s 1;-webkit-animation-timing-function:cubic-bezier(0.53, -0.03, 0.68, 0.38);animation-timing-function:cubic-bezier(0.53, -0.03, 0.68, 0.38)}.pf-animation-pulse-warning{-webkit-animation:pulseBackgroundWarning 1s 1;animation:pulseBackgroundWarning 1s 1;-webkit-animation-timing-function:cubic-bezier(0.53, -0.03, 0.68, 0.38);animation-timing-function:cubic-bezier(0.53, -0.03, 0.68, 0.38)}.pf-animation-pulse-warning .sorting_1{-webkit-animation:pulseBackgroundWarningActive 1s 1;animation:pulseBackgroundWarningActive 1s 1;-webkit-animation-timing-function:cubic-bezier(0.53, -0.03, 0.68, 0.38);animation-timing-function:cubic-bezier(0.53, -0.03, 0.68, 0.38)}.pf-animation-pulse-danger{-webkit-animation:pulseBackgroundDanger 1s 1;animation:pulseBackgroundDanger 1s 1;-webkit-animation-timing-function:cubic-bezier(0.53, -0.03, 0.68, 0.38);animation-timing-function:cubic-bezier(0.53, -0.03, 0.68, 0.38)}.pf-animation-pulse-danger .sorting_1{-webkit-animation:pulseBackgroundDangerActive 1s 1;animation:pulseBackgroundDangerActive 1s 1;-webkit-animation-timing-function:cubic-bezier(0.53, -0.03, 0.68, 0.38);animation-timing-function:cubic-bezier(0.53, -0.03, 0.68, 0.38)}@-webkit-keyframes pulseBackgroundSuccess{10%{background-color:#4f9e4f;color:#313335}}@-moz-keyframes pulseBackgroundSuccess{10%{background-color:#4f9e4f;color:#313335}}@-ms-keyframes pulseBackgroundSuccess{10%{background-color:#4f9e4f;color:#313335}}@keyframes pulseBackgroundSuccess{10%{background-color:#4f9e4f;color:#313335}}@-webkit-keyframes pulseBackgroundSuccessActive{10%{background-color:#478d47;color:#313335}}@-moz-keyframes pulseBackgroundSuccessActive{10%{background-color:#478d47;color:#313335}}@-ms-keyframes pulseBackgroundSuccessActive{10%{background-color:#478d47;color:#313335}}@keyframes pulseBackgroundSuccessActive{10%{background-color:#478d47;color:#313335}}@-webkit-keyframes pulseBackgroundWarning{10%{background-color:#e28a0d;color:#2b2b2b}}@-moz-keyframes pulseBackgroundWarning{10%{background-color:#e28a0d;color:#2b2b2b}}@-ms-keyframes pulseBackgroundWarning{10%{background-color:#e28a0d;color:#2b2b2b}}@keyframes pulseBackgroundWarning{10%{background-color:#e28a0d;color:#2b2b2b}}@-webkit-keyframes pulseBackgroundWarningActive{10%{background-color:#ca7b0c;color:#2b2b2b}}@-moz-keyframes pulseBackgroundWarningActive{10%{background-color:#ca7b0c;color:#2b2b2b}}@-ms-keyframes pulseBackgroundWarningActive{10%{background-color:#ca7b0c;color:#2b2b2b}}@keyframes pulseBackgroundWarningActive{10%{background-color:#ca7b0c;color:#2b2b2b}}@-webkit-keyframes pulseBackgroundDanger{10%{background-color:#d9534f;color:#2b2b2b}}@-moz-keyframes pulseBackgroundDanger{10%{background-color:#d9534f;color:#2b2b2b}}@-ms-keyframes pulseBackgroundDanger{10%{background-color:#d9534f;color:#2b2b2b}}@keyframes pulseBackgroundDanger{10%{background-color:#d9534f;color:#2b2b2b}}@-webkit-keyframes pulseBackgroundDangerActive{10%{background-color:#d43f3a;color:#2b2b2b}}@-moz-keyframes pulseBackgroundDangerActive{10%{background-color:#d43f3a;color:#2b2b2b}}@-ms-keyframes pulseBackgroundDangerActive{10%{background-color:#d43f3a;color:#2b2b2b}}@keyframes pulseBackgroundDangerActive{10%{background-color:#d43f3a;color:#2b2b2b}}.pf-animate-rotate,.modal-content h2[data-toggle="collapse"]:after,.modal-content h4[data-toggle="collapse"]:after,.panel-body h2[data-toggle="collapse"]:after,.panel-body h4[data-toggle="collapse"]:after{-webkit-transition:all 0.08s linear;transition:all 0.08s linear}.pf-animate-rotate.right,.modal-content h2.right[data-toggle="collapse"]:after,.modal-content h4.right[data-toggle="collapse"]:after,.panel-body h2.right[data-toggle="collapse"]:after,.panel-body h4.right[data-toggle="collapse"]:after{-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.pf-animate-rotate.left,.modal-content h2.left[data-toggle="collapse"]:after,.modal-content h4.left[data-toggle="collapse"]:after,.panel-body h2.left[data-toggle="collapse"]:after,.panel-body h4.left[data-toggle="collapse"]:after{-webkit-transform:rotate(-90deg);-ms-transform:rotate(-90deg);transform:rotate(-90deg)}@font-face{font-family:'Triglavian';font-style:normal;font-weight:900;src:url("../../fonts/triglavian-regular.eot");src:url("../../fonts/triglavian-regular.eot?#iefix") format("embedded-opentype"),url("../../fonts/triglavian-regular.woff2") format("woff2"),url("../../fonts/triglavian-regular.woff") format("woff"),url("../../fonts/triglavian-regular.ttf") format("truetype")}.pf-triglivian{font-family:'Triglavian';font-weight:900}body{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.pf-body{overflow:hidden}a,.pf-link{color:#477372;will-change:color;text-decoration:none;cursor:pointer;-webkit-transition:color 0.08s ease-out,background-color 0.08s ease-out;transition:color 0.08s ease-out,background-color 0.08s ease-out}a:hover,.pf-link:hover{color:#6caead;text-decoration:none}a:focus,.pf-link:focus{color:#477372}em{font-style:italic}em.pf-brand{text-transform:uppercase}.pf-font-capitalize{text-transform:capitalize}.pf-font-line-through{text-decoration:line-through}.no-padding{padding:0 !important}::-webkit-scrollbar{display:none;width:16px;height:16px}::-webkit-scrollbar-track{background-color:#2b2b2b;border-left:1px solid #313335;border-radius:2px;-webkit-transition:background-color 0.5s;transition:background-color 0.5s}::-webkit-scrollbar-thumb{height:6px;border:5px solid transparent;background-clip:padding-box;-webkit-border-radius:8px;background-color:#868c90}::-webkit-scrollbar-thumb:hover{background-color:#a1a5a8}::-webkit-scrollbar-button{width:0;height:0;display:none}::-webkit-scrollbar-corner{background-color:transparent}::selection{background:#adadad;color:#1d1d1d}::-moz-selection{background:#adadad;color:#1d1d1d}.pf-help-default,.pf-help-light,.pf-help{cursor:help;-webkit-transition:color 0.08s ease-out;transition:color 0.08s ease-out}.pf-dialog-icon-button,.pf-system-signature-module .pf-sig-table .fa-plus,.pf-system-route-module .pf-system-route-table td .fa-sync,.pf-system-route-module .pf-system-route-table td .fa-search{cursor:pointer;margin-top:2px;-webkit-transition:color 0.15s ease-out;transition:color 0.15s ease-out}.pf-dialog-icon-button:not(.collapsed),.pf-system-signature-module .pf-sig-table .fa-plus:not(.collapsed),.pf-system-route-module .pf-system-route-table td .fa-sync:not(.collapsed),.pf-system-route-module .pf-system-route-table td .fa-search:not(.collapsed),.pf-dialog-icon-button:hover,.pf-system-signature-module .pf-sig-table .fa-plus:hover,.pf-system-route-module .pf-system-route-table td .fa-sync:hover,.pf-system-route-module .pf-system-route-table td .fa-search:hover{color:#e28a0d}.pf-module-icon-button{cursor:pointer;color:#63676a;-webkit-transition:color 0.15s ease-out;transition:color 0.15s ease-out}.pf-module-icon-button:hover,.pf-module-icon-button.active{color:#e28a0d !important}.pf-module-icon-button.editable{border-bottom:none !important}.pf-module-icon-button-copy{cursor:copy;-moz-user-select:text;user-select:text}a.disabled{color:#777;pointer-events:none;cursor:default}.alert{will-change:opacity, transform}.editable-input .pf-editable-name{text-transform:uppercase}.editable-input optgroup[label]{background-color:#3c3f41;color:#63676a}.editable-input optgroup[label] option{background-color:#313335;color:#adadad;font-family:Consolas,monospace,Menlo,Monaco,"Courier New"}.editable-input .editable-checklist>div>label{display:block !important;padding-left:20px !important;color:#adadad}.editable-input .editable-checklist>div>label>span:after{top:-2px}.editable-input .editable-checklist .pf-editable-unknown[value='0']+span{color:#d9534f}select:active,select:hover{outline:none}select:active,select:hover{outline-color:red}.select2-results .select2-results__options--nested .select2-results__option{padding-left:15px}.select2-results [class*="col-"]{padding-left:3px;padding-right:3px}.select2-results .clearfix.pf-result-image [class*="col-"]{line-height:22px}.select2 ::-webkit-search-cancel-button{-webkit-appearance:none !important}.select2 .select2-selection__choice__remove{float:left}.select2 .select2-selection--multiple input{box-shadow:none !important}.dataTables_wrapper .dataTables_length select{margin:0 3px}.dataTables_wrapper .dt-buttons .dt-button{padding:0 5px}.dataTables_wrapper .dt-buttons .dt-button:not(:last-child){margin-right:10px}.dataTables_wrapper .dt-buttons .dt-button .fa{margin-right:5px}.dataTable th.pf-table-image-cell,.dataTable th.pf-table-image-small-cell,.dataTable th.pf-table-image-smaller-cell{padding-left:0 !important;padding-right:0 !important;image-rendering:-webkit-optimize-contrast}.dataTable th.sorting,.dataTable th.sorting_asc,.dataTable th.sorting_desc{padding-right:18px !important}.dataTable tr.group{background-color:rgba(43,43,43,0.4)}.dataTable td.editable-disabled:focus{outline:none;background-color:transparent}.dataTable td.editable-click:not(.editable-disabled){cursor:pointer}.dataTable td:focus,.dataTable td.editable-open{outline:1px solid #c2760c;outline-offset:-1px;background-color:rgba(194,118,12,0.08)}.dataTable td>.fa-circle{font-size:9px !important}.dataTable td.pf-table-link-cell{cursor:pointer;-webkit-transition:color 0.08s ease-out;transition:color 0.08s ease-out}.dataTable td.pf-table-action-cell{cursor:pointer}.dataTable td.pf-table-action-cell>.pf-table-action-icon-cell{-webkit-transition:color 0.08s ease-out;transition:color 0.08s ease-out}.dataTable td.pf-table-image-cell{padding:0 !important;image-rendering:-webkit-optimize-contrast}.dataTable td.pf-table-image-cell img{width:26px;box-sizing:content-box;border-left:1px solid #3c3f41;border-right:1px solid #3c3f41}.dataTable td.pf-table-image-small-cell img{width:24px;border-left:1px solid transparent;border-right:1px solid transparent}.dataTable td.pf-table-image-smaller-cell{padding:0 !important}.dataTable td.pf-table-image-smaller-cell img{width:25px;border-left:1px solid transparent;border-right:1px solid transparent}.dataTable td.pf-table-button-sm-cell{padding:0 5px}.dataTable td.pf-table-counter-cell{color:#63676a}.dataTable td.pf-table-counter-cell .pf-digit-counter-small{width:20px;display:inline-block;font-size:10px}.dataTable td.pf-table-counter-cell .pf-digit-counter-large{width:26px;display:inline-block;font-size:10px}.dataTable td .pf-table-unknown-cell{color:#d9534f;font-style:italic}.dataTable td .pf-table-cell-ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dataTable td .pf-table-cell-80{width:90px}.dataTable td .pf-table-cell-90{width:100px}.dataTable td .pf-table-cell-100{width:110px}.dataTable td.separator-right,.dataTable th.separator-right{border-right:1px solid #3c3f41}.dataTable td svg.peity,.dataTable th svg.peity{display:block}table.pf-table-fixed{width:100%;table-layout:fixed}table tr.collapsing{-webkit-transition:height 0.01s ease;transition:height 0.01s ease}table tr.collapse.in{display:table-row !important}table td.pf-table-cell-10,table th.pf-table-cell-10{width:10px}table td.pf-table-cell-20,table th.pf-table-cell-20{width:20px}table td.pf-table-cell-ellipses-auto,table th.pf-table-cell-ellipses-auto{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pf-table-tools{height:45px}.pf-table-tools>.btn-labeled:not(:last-child){margin-right:10px}.pf-table-tools-action{will-change:height, opacity;opacity:0;display:none;height:0;overflow:hidden}.pf-loading-overlay{position:absolute;width:100%;height:100%;top:0;left:0;opacity:0;background:#2b2b2b;z-index:1060;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.pf-loading-overlay .pf-loading-overlay-wrapper{width:25px;height:25px;margin:auto;text-align:center;position:absolute;top:0;left:0;bottom:0;right:0}.pf-loading-overlay .pf-loading-overlay-wrapper i{padding:3px}.navbar-header-block{width:100%}.navbar-header-block .navbar-nav{width:100%}.navbar-nav li:not(.disabled):not(.hide-before):hover:before,.navbar-nav li:not(.disabled):not(.hide-before).active:before{top:-4px;opacity:1}.navbar-nav li:not(.disabled):not(.hide-before):before{content:'';position:absolute;background-color:#5cb85c;opacity:0;will-change:opacity,top;-webkit-transition:top 0.15s ease-out,opacity 0.15s ease-out;transition:top 0.15s ease-out,opacity 0.15s ease-out;width:100%;height:2px;top:0}.pf-navbar-version-info{cursor:pointer}.pf-site{will-change:transform}.sb-slidebar{will-change:transform}.sb-left .list-group-item{cursor:pointer;-webkit-box-shadow:inset -10px 0px 5px -5px rgba(0,0,0,0.4);box-shadow:inset -10px 0px 5px -5px rgba(0,0,0,0.4)}.sb-right .list-group-item{cursor:pointer;-webkit-box-shadow:inset 10px 0px 5px -5px rgba(0,0,0,0.4);box-shadow:inset 10px 0px 5px -5px rgba(0,0,0,0.4)}.list-group-item.disabled:after{content:'\f023';font-family:'Font Awesome 5 Free';font-weight:bold;color:#2b2b2b;position:absolute;right:8px}.mCSB_container,.mCSB_dragger{will-change:top, left}.pf-timestamp-counter{visibility:hidden}.pf-map-type-private{color:#7986cb}.pf-map-type-corporation{color:#5cb85c}.pf-map-type-alliance{color:#428bca}.pf-map-type-global{color:#568a89}#pf-map-module{margin:20px 10px 0 10px}#pf-map-module #pf-map-tabs a[role="tab"]:hover .pf-map-tab-handler:before{color:#e28a0d}#pf-map-module #pf-map-tabs .pf-map-tab-handler:before{content:'\22EE\22EE\00A0';display:inline-block;cursor:-moz-grab !important;cursor:-webkit-grab !important;cursor:grab !important;color:#63676a;width:12px;transition:color 0.15s ease-out, background-color 0.15s ease-out;pointer-events:all}#pf-map-module #pf-map-tabs .pf-map-type-tab-default{border-top:2px solid transparent}#pf-map-module #pf-map-tabs .pf-map-type-tab-private{border-top:2px solid #7986cb}#pf-map-module #pf-map-tabs .pf-map-type-tab-corporation{border-top:2px solid #5cb85c}#pf-map-module #pf-map-tabs .pf-map-type-tab-alliance{border-top:2px solid #428bca}#pf-map-module #pf-map-tabs .pf-map-type-tab-global{border-top:2px solid #568a89}#pf-map-module #pf-map-tabs .pf-map-tab-icon{margin-right:3px}#pf-map-module #pf-map-tabs .pf-map-tab-shared-icon{margin-left:3px}.pf-map-content-row{margin-top:10px;padding-bottom:40px}.pf-map-content-row .pf-module{font-family:"Oxygen Bold","Helvetica Neue",Helvetica,Arial,sans-serif;background:rgba(60,63,65,0.27);padding:10px;width:100%;margin-bottom:10px;will-change:height, transform, opacity;overflow:hidden;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.pf-map-content-row .pf-module:before{content:'';position:absolute;top:0;left:0;border-style:solid;border-width:0 0 9px 9px;border-color:transparent transparent transparent #3c3f41;cursor:ns-resize}.pf-map-content-row .pf-module .label{margin-bottom:10px}.pf-map-content-row .pf-module .pf-dynamic-area{background:rgba(43,43,43,0.4)}.pf-map-content-row .pf-module .pf-module-head{margin-bottom:10px}.pf-map-content-row .pf-module .pf-module-head .pf-module-handler-drag{display:inline-block;cursor:-moz-grab !important;cursor:-webkit-grab !important;cursor:grab !important;transition:color 0.15s ease-out}.pf-map-content-row .pf-module .pf-module-head .pf-module-handler-drag:before{content:'\22EE\22EE\00A0'}.pf-map-content-row .pf-module .pf-module-head .pf-module-handler-drag:hover{color:#f0ad4e}.pf-map-content-row .pf-module .pf-module-head h5{display:inline-block;line-height:16px;margin-bottom:0}.pf-map-content-row .pf-module .pf-module-head h5 .pf-module-icon-button{margin-left:5px}.pf-map-content-row .pf-module .pf-module-table{font-size:11px;white-space:nowrap}.pf-map-content-row .pf-module-spacer{margin-bottom:10px}.pf-user-status{color:#a52521}.pf-user-status-corp{color:#5cb85c}.pf-user-status-ally{color:#428bca}.pf-user-status-own{color:#7986cb}.pf-system-effect{display:none;color:#adadad;cursor:help}.pf-system-effect-magnetar{color:#e06fdf;display:inline-block}.pf-system-effect-redgiant{color:#d9534f;display:inline-block}.pf-system-effect-pulsar{color:#428bca;display:inline-block}.pf-system-effect-wolfrayet{color:#e28a0d;display:inline-block}.pf-system-effect-cataclysmic{color:#ffb;display:inline-block}.pf-system-effect-blackhole{color:#000;display:inline-block}.pf-rally,.pf-system-info-rally .pf-system-head{text-shadow:1px 1px 2px #1d1d1d;background-color:#782d77;background-image:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjEuMCIgeTE9IjEuMCIgeDI9IjAuMCIgeTI9IjAuMCI+PHN0b3Agb2Zmc2V0PSIyNSUiIHN0b3AtY29sb3I9IiMzZTI2NGUiLz48c3RvcCBvZmZzZXQ9IjI1JSIgc3RvcC1jb2xvcj0iIzAwMDAwMCIgc3RvcC1vcGFjaXR5PSIwLjAiLz48c3RvcCBvZmZzZXQ9IjUwJSIgc3RvcC1jb2xvcj0iIzAwMDAwMCIgc3RvcC1vcGFjaXR5PSIwLjAiLz48c3RvcCBvZmZzZXQ9IjUwJSIgc3RvcC1jb2xvcj0iIzNlMjY0ZSIvPjxzdG9wIG9mZnNldD0iNzUlIiBzdG9wLWNvbG9yPSIjM2UyNjRlIi8+PHN0b3Agb2Zmc2V0PSI3NSUiIHN0b3AtY29sb3I9IiMwMDAwMDAiIHN0b3Atb3BhY2l0eT0iMC4wIi8+PHN0b3Agb2Zmc2V0PSIxMDAlIiBzdG9wLWNvbG9yPSIjMDAwMDAwIiBzdG9wLW9wYWNpdHk9IjAuMCIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9InVybCgjZ3JhZCkiIC8+PC9zdmc+IA==');background-size:100%;background-image:-moz-linear-gradient(135deg, #3e264e 25%,rgba(0,0,0,0) 25%,rgba(0,0,0,0) 50%,#3e264e 50%,#3e264e 75%,rgba(0,0,0,0) 75%,rgba(0,0,0,0));background-image:-webkit-linear-gradient(135deg, #3e264e 25%,rgba(0,0,0,0) 25%,rgba(0,0,0,0) 50%,#3e264e 50%,#3e264e 75%,rgba(0,0,0,0) 75%,rgba(0,0,0,0));background-image:linear-gradient(-45deg, #3e264e 25%,rgba(0,0,0,0) 25%,rgba(0,0,0,0) 50%,#3e264e 50%,#3e264e 75%,rgba(0,0,0,0) 75%,rgba(0,0,0,0));background-size:25px 25px;-webkit-animation:move 2.5s linear infinite;-moz-animation:move 2.5s linear infinite;-ms-animation:move 2.5s linear infinite;animation:move 2.5s linear infinite}.pf-system-security-0-0{color:#be0000}.pf-system-security-0-1{color:#ab2600}.pf-system-security-0-2{color:#be3900}.pf-system-security-0-3{color:#c24e02}.pf-system-security-0-4{color:#ab5f00}.pf-system-security-0-5{color:#bebe00}.pf-system-security-0-6{color:#73bf26}.pf-system-security-0-7{color:#00bf00}.pf-system-security-0-8{color:#00bf39}.pf-system-security-0-9{color:#39bf99}.pf-system-security-1-0{color:#28c0bf}.pf-system-sec{margin-right:5px;cursor:-moz-grab;cursor:-webkit-grab;cursor:grab}.pf-system-sec-highSec{color:#5cb85c}.pf-system-sec-lowSec{color:#e28a0d}.pf-system-sec-nullSec{color:#d9534f}.pf-system-sec-high{color:#d9534f}.pf-system-sec-mid{color:#e28a0d}.pf-system-sec-low{color:#428bca}.pf-system-sec-unknown{color:#7986cb}.pf-system-sec-abyssal{color:#e06fdf}.pf-system-status-friendly{border-color:#428bca !important;color:#428bca}.pf-system-status-occupied{border-color:#e28a0d !important;color:#e28a0d}.pf-system-status-hostile{border-color:#d9534f !important;color:#d9534f}.pf-system-status-empty{border-color:#5cb85c !important;color:#5cb85c}.pf-system-status-unscanned{border-color:#568a89 !important;color:#568a89}.pf-system-info-status-label{background-color:#63676a;color:#000;will-change:background-color;-webkit-transition:background-color 0.3s ease-out;transition:background-color 0.3s ease-out}.pf-system-info-status-label.pf-system-status-friendly{background-color:#428bca}.pf-system-info-status-label.pf-system-status-occupied{background-color:#e28a0d}.pf-system-info-status-label.pf-system-status-hostile{background-color:#d9534f}.pf-system-info-status-label.pf-system-status-empty{background-color:#5cb85c}.pf-system-info-status-label.pf-system-status-unscanned{background-color:#568a89}.pf-system-hidden{opacity:0.15 !important;pointer-events:none}.pf-system-effect-dialog-wrapper .table,.pf-jump-info-dialog .table{margin:15px 0}.pf-system-effect-dialog-wrapper .table td,.pf-jump-info-dialog .table td{text-transform:capitalize}.pf-fake-connection{box-sizing:content-box;display:inline-block;width:70px;height:4px;border-top:2px solid #63676a;border-bottom:2px solid #63676a;background-color:#3c3f41;position:relative;font-size:10px;font-family:"Oxygen","Helvetica Neue",Helvetica,Arial,sans-serif}.pf-fake-connection.pf-map-connection-stargate{background-color:#313966;border-color:#63676a}.pf-fake-connection.pf-map-connection-jumpbridge{background-color:#6caead;border-color:#3c3f41;background:repeating-linear-gradient(to right, #6caead, #6caead 10px, #3c3f41 10px, #3c3f41 20px)}.pf-fake-connection.pf-map-connection-abyssal{background-color:#5a225a;border-color:#3c3f41;background:repeating-linear-gradient(to right, #5a225a, #5a225a 5px, #3c3f41 5px, #3c3f41 10px)}.pf-fake-connection.pf-map-connection-wh-eol{border-color:#d747d6}.pf-fake-connection.pf-map-connection-wh-reduced{background-color:#e28a0d}.pf-fake-connection.pf-map-connection-wh-critical{background-color:#a52521}.pf-fake-connection.pf-map-connection-frig{border-style:dashed;border-left:none;border-right:none}.pf-fake-connection.pf-map-connection-frig:after{content:'frig';background-color:#e28a0d;color:#1d1d1d;padding:0px 3px;position:absolute;left:25px;top:-6px;font-family:"Oxygen Bold","Helvetica Neue",Helvetica,Arial,sans-serif;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px}.pf-fake-connection.pf-map-connection-preserve-mass:after{content:'save mass';background-color:#a52521;color:#eaeaea;padding:0px 3px;position:absolute;left:8px;top:-6px;font-family:"Oxygen Bold","Helvetica Neue",Helvetica,Arial,sans-serif;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px}.pf-structure-status-unknown{color:#568a89}.pf-structure-status-online{color:#5cb85c}.pf-structure-status-offline{color:#a52521}.tooltip-inner{color:#adadad;background-color:#3c3f41;font-family:"Oxygen Bold","Helvetica Neue",Helvetica,Arial,sans-serif;padding:5px 5px;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,0.4);box-shadow:0 6px 12px rgba(0,0,0,0.4)}.modal .tooltip{z-index:1060}.modal .tooltip .tooltip-inner{color:#313335;background-color:#adadad}.tooltip.top .tooltip-arrow{border-top-color:#63676a}.tooltip.right .tooltip-arrow{border-right-color:#63676a}.tooltip.bottom .tooltip-arrow{border-bottom-color:#63676a}.tooltip.left .tooltip-arrow{border-left-color:#63676a}td.pf-popover-trigger:hover{color:#477372}.pf-notransition{-webkit-transition:none !important;-moz-transition:none !important;-o-transition:none !important;transition:none !important}.pf-dynamic-area{padding:10px;min-height:100px;position:relative;background-color:#313335;overflow:hidden;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.pf-dynamic-area .dl-horizontal{margin-bottom:0}.pf-dynamic-area .dl-horizontal dd{min-width:100px}.pf-dynamic-area .dl-horizontal dd.txt-color,.pf-dynamic-area .dl-horizontal dd.pf-help-light,.pf-dynamic-area .dl-horizontal dd.pf-help,.pf-dynamic-area .dl-horizontal .dataTable td.pf-table-action-cell>dd.pf-table-action-icon-cell,.dataTable .pf-dynamic-area .dl-horizontal td.pf-table-action-cell>dd.pf-table-action-icon-cell{font-weight:bold}.pf-dynamic-area>[class~='alert']:last-of-type{margin-bottom:0}.pf-code-ObjectBrace{color:#782d77;font-weight:bold}.pf-code-ArrayBrace{color:#3e264e;font-weight:bold}.pf-code-PropertyName{color:#1d1d1d;font-weight:bold}.pf-code-String{color:#e28a0d}.pf-code-Number{color:#4f9e4f}.pf-code-Boolean{color:#313966;font-weight:bold}.pf-code-Function{color:#782d77}.pf-code-Null{color:#2b2b2b;font-weight:bold}.pf-code-Comma{color:#1d1d1d;font-weight:bold}code .fas,code .pf-landing .pf-landing-list li>i,.pf-landing .pf-landing-list code li>i,code .far,code .fab{color:#3c3f41;cursor:pointer}#pf-logo-wrapper{display:block}#pf-head{margin-bottom:0px}#pf-head a{-webkit-transition:color 0.15s ease-out;transition:color 0.15s ease-out;will-change:color}#pf-head a:focus{color:#477372}#pf-head a:focus img{border-color:#3c3f41}#pf-head a:hover{text-decoration:none}#pf-head a:hover .badge{color:#6caead}#pf-head a:hover img{border-color:#568a89}#pf-head i{margin-right:2px}#pf-head .pf-brand-desc{margin:6px 10px 0 90px;width:180px}#pf-head .pf-head-menu{padding:3px 10px;line-height:24px}#pf-head .pf-head-menu .pf-head-menu-logo{width:24px;height:24px;display:inline-block;float:left}#pf-head .pf-head-user-character,#pf-head .pf-head-user-ship{opacity:0;visibility:hidden}#pf-head .pf-head-active-user{cursor:pointer}#pf-head .pf-head-active-user,#pf-head #pf-head-current-location{display:none}#pf-head .pf-head-active-user .badge,#pf-head #pf-head-current-location .badge{-webkit-transition:color 0.3s ease-out;transition:color 0.3s ease-out}#pf-head .pf-head-user-character-image,#pf-head .pf-head-user-ship-image{display:inline-block;margin-top:-6px;margin-bottom:-6px;width:27px;border:1px solid #3c3f41;margin-right:3px;image-rendering:-webkit-optimize-contrast;-webkit-transition:border-color 0.15s ease-out;transition:border-color 0.15s ease-out;will-change:border-color}#pf-head .pf-head-program-status{cursor:pointer}#pf-head .navbar-text{min-width:60px}#pf-head .tooltip .tooltip-inner{color:#adadad}.pf-head{-webkit-box-shadow:0 6px 12px rgba(0,0,0,0.4);box-shadow:0 6px 12px rgba(0,0,0,0.4)}.pf-head .badge{background-color:#3c3f41;color:#adadad}.pf-head small{font-family:"Oxygen Bold","Helvetica Neue",Helvetica,Arial,sans-serif}#pf-footer{position:absolute;bottom:0;left:0;width:100%;margin:0;background:rgba(60,63,65,0.3)}#pf-footer a{font-family:"Oxygen Bold","Helvetica Neue",Helvetica,Arial,sans-serif;color:#375959}#pf-footer a:hover{color:#477372;text-decoration:none}.navbar-fixed-bottom{padding:2px 0}.navbar-fixed-bottom .container-fluid{padding-left:0;padding-right:0}.pf-menu-clock{position:absolute;bottom:0;width:100%;padding:6px 8px;text-align:center}#pf-global-info{position:absolute;left:0;bottom:32px;width:100%;height:32px;margin-bottom:0}.panel-reverse-order{display:table;width:100%}.panel-reverse-order .reverse-order-header{display:table-header-group}.panel-reverse-order .reverse-order-footer{display:table-footer-group}.pf-sortable-ghost{will-change:opacity;transition:opacity 0.2s ease-out;opacity:0.7 !important}.pf-sortable-ghost .pf-module-handler-drag{color:#f0ad4e;cursor:-moz-grabbing;cursor:-webkit-grabbing;cursor:grabbing}@-webkit-keyframes move{0%{background-position:0 0}100%{background-position:50px 50px}}@-moz-keyframes move{0%{background-position:0 0}100%{background-position:50px 50px}}@-ms-keyframes move{0%{background-position:0 0}100%{background-position:50px 50px}}@keyframes move{0%{background-position:0 0}100%{background-position:50px 50px}}.pf-animate{visibility:hidden;opacity:0}.pf-color-line{position:fixed;top:0;left:0;width:100%;height:3px;background-image:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuMCIgeTE9IjAuNSIgeDI9IjEuMCIgeTI9IjAuNSI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzY2Yzg0ZiIvPjxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iIzY2Yzg0ZiIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9InVybCgjZ3JhZCkiIC8+PC9zdmc+IA==');background-size:100%;background-image:-webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0%, #66c84f),color-stop(100%, #66c84f));background-image:-moz-linear-gradient(left, #66c84f,#66c84f 100%);background-image:-webkit-linear-gradient(left, #66c84f,#66c84f 100%);background-image:linear-gradient(to right, #66c84f,#66c84f 100%)}.pf-color-line.warning{background-image:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuMCIgeTE9IjAuNSIgeDI9IjEuMCIgeTI9IjAuNSI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2UyOGEwZCIvPjxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iI2UyOGEwZCIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9InVybCgjZ3JhZCkiIC8+PC9zdmc+IA==');background-size:100%;background-image:-webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0%, #e28a0d),color-stop(100%, #e28a0d));background-image:-moz-linear-gradient(left, #e28a0d,#e28a0d 100%);background-image:-webkit-linear-gradient(left, #e28a0d,#e28a0d 100%);background-image:linear-gradient(to right, #e28a0d,#e28a0d 100%)}.pf-color-line.danger{background-image:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuMCIgeTE9IjAuNSIgeDI9IjEuMCIgeTI9IjAuNSI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2E1MjUyMSIvPjxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iI2E1MjUyMSIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9InVybCgjZ3JhZCkiIC8+PC9zdmc+IA==');background-size:100%;background-image:-webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0%, #a52521),color-stop(100%, #a52521));background-image:-moz-linear-gradient(left, #a52521,#a52521 100%);background-image:-webkit-linear-gradient(left, #a52521,#a52521 100%);background-image:linear-gradient(to right, #a52521,#a52521 100%)}.pf-splash{position:absolute;z-index:2000;background-color:#1d1d1d;color:#63676a;top:0;bottom:0;left:0;right:0;will-change:opacity}.pf-splash:not(.pf-splash-warning):not(.pf-splash-error){cursor:wait}.pf-splash .pf-splash-title{position:fixed;left:50%;top:30%;text-align:center;max-width:500px;padding:20px;-moz-transform:translate(-50%, -50%);-ms-transform:translate(-50%, -50%);-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%)}.pf-splash .pf-splash-debug{position:absolute;bottom:0;width:100%}.pf-splash .pf-splash-debug .pf-splash-debug-headline{padding:0 10px}.pf-splash .pf-splash-debug .pf-splash-pre{margin-bottom:0}@media (max-width: 1200px){.pf-landing #pf-logo-container{margin:5px auto}.pf-landing .pf-brand-desc{display:none}.pf-landing .navbar .navbar-brand{margin-left:10px}}.pf-landing section:not(:last-of-type){border-bottom:1px solid #2b2b2b}.pf-landing section{min-height:200px;padding:20px 0 40px 0}.pf-landing section h4:not(.pf-dynamic-area){font-size:18px;font-family:"Oxygen","Helvetica Neue",Helvetica,Arial,sans-serif;margin:5px 0 10px 0;border-bottom:1px solid #2b2b2b;line-height:34px}.pf-landing .container>.row{margin-bottom:30px}.pf-landing .alert{box-shadow:0 4px 10px rgba(0,0,0,0.4)}.pf-landing a[data-gallery]{position:relative;display:inline-block;overflow:hidden;margin:5px 0 15px 0;box-shadow:0 4px 10px rgba(0,0,0,0.4)}.pf-landing a[data-gallery]:before{content:'\f06e';font-family:'Font Awesome 5 Free';font-size:20px;color:#e28a0d;position:absolute;height:100%;width:100%;z-index:10;-webkit-transition:transform 0.1s ease-out,opacity 0.1s ease-out;transition:transform 0.1s ease-out,opacity 0.1s ease-out;will-change:transform, opacity;transform:scale(1.3, 1.3);opacity:0;display:flex;flex-direction:column;justify-content:center;align-items:center}.pf-landing a[data-gallery]:hover img{border-color:#6caead;-webkit-filter:brightness(50%);filter:brightness(50%)}.pf-landing a[data-gallery]:hover:before{-webkit-transition-delay:.05s;transition-delay:.05s;transform:scale(1, 1);opacity:1}.pf-landing a[data-gallery] .pf-landing-image-preview{border-width:1px;border-style:solid;border-color:#1d1d1d;display:inline-block;will-change:all;-webkit-filter:brightness(100%);filter:brightness(100%);-webkit-transition:all 0.2s ease-out;transition:all 0.2s ease-out}.pf-landing a[data-gallery] .pf-landing-image-preview.pf-landing-image-preview-small{height:160px}.pf-landing a[data-gallery] .pf-landing-image-preview.pf-landing-image-preview-medium{height:256px}#pf-landing-top{height:355px;border-bottom:1px solid #313335;position:relative}#pf-landing-top:before{content:'';width:100%;height:100%;position:absolute;background:url("../../img/pf-bg.jpg") #05050a;background-repeat:no-repeat;background-position:0 0;-webkit-filter:brightness(.9);filter:brightness(.9)}#pf-landing-top #pf-logo-container{-moz-transform:scale3d(0.8, 0.8, 1);-ms-transform:scale3d(0.8, 0.8, 1);-webkit-transform:scale3d(0.8, 0.8, 1);transform:scale3d(0.8, 0.8, 1)}#pf-landing-top #pf-header-container{position:absolute;width:100%;background-position:center center}#pf-landing-top #pf-header-container #pf-header-canvas{position:absolute;visibility:hidden;top:0;left:0}#pf-landing-top #pf-header-container #pf-logo-container{z-index:110}#pf-landing-top #pf-header-container #pf-header-preview-container{position:absolute;left:400px;width:590px;height:350px;top:37px}#pf-landing-top #pf-header-container #pf-header-preview-container .pf-header-preview-element{position:relative;margin-left:12px;margin-top:12px;height:155px;width:180px;padding:7px;opacity:0;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;background-color:rgba(43,43,43,0.5)}#pf-landing-top #pf-header-container #pf-header-preview-container .pf-header-preview-element:nth-child(n+4){box-shadow:0 4px 10px rgba(0,0,0,0.4)}#pf-landing-top #pf-header-container #pf-header-preview-container .pf-header-preview-element:after{content:'';position:absolute;width:calc(100% - 14px);height:calc(100% - 14px);-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;background-repeat:no-repeat;background-position:50% 50%;background-color:rgba(29,29,29,0.75)}#pf-landing-top .container{position:relative;margin-top:10px}#pf-header-preview-intel:after{background-image:url("../../img/landing/intel.png")}#pf-header-preview-map:after{background-image:url("../../img/landing/map.png")}#pf-header-preview-scope:after{background-image:url("../../img/landing/scope.png")}#pf-header-preview-signature:after{background-image:url("../../img/landing/signature.png")}#pf-header-preview-data:after{background-image:url("../../img/landing/data.png")}#pf-header-preview-gameplay:after{background-image:url("../../img/landing/gameplay.png")}#pf-landing-login{padding-top:40px;padding-bottom:30px}#pf-landing-login .row{margin-bottom:0}#pf-landing-login .pf-character-selection>div:not(.pf-character-row-animate){-webkit-transition:width 0.2s ease,margin 0.2s ease;transition:width 0.2s ease,margin 0.2s ease}#pf-landing-login .pf-dynamic-area{display:inline-block;margin:10px 5px 20px 5px;padding:10px 10px 5px 10px;min-width:155px;min-height:184px;overflow:visible;-moz-border-radius:10px;-webkit-border-radius:10px;border-radius:10px;-webkit-box-shadow:0 4px 10px rgba(0,0,0,0.4);box-shadow:0 4px 10px rgba(0,0,0,0.4)}#pf-landing-login .pf-dynamic-area .ribbon-wrapper{z-index:5}#pf-landing-login .pf-dynamic-area .pf-character-image-wrapper{opacity:0;width:128px;border:2px solid #63676a;-moz-border-radius:8px;-webkit-border-radius:8px;border-radius:8px;-webkit-transition:border-color 0.2s ease-out,box-shadow 0.2s ease-out;transition:border-color 0.2s ease-out,box-shadow 0.2s ease-out;-moz-transform:translate3d(0, 0, 0);-ms-transform:translate3d(0, 0, 0);-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);will-change:border-color, transition;overflow:hidden;cursor:pointer;display:inline-block;background-color:#2b2b2b;box-sizing:content-box}#pf-landing-login .pf-dynamic-area .pf-character-image-wrapper:hover{border-color:#4f9e4f}#pf-landing-login .pf-dynamic-area .pf-character-image-wrapper:hover .pf-character-name{color:#4f9e4f}#pf-landing-login .pf-dynamic-area .pf-character-image-wrapper:hover .pf-character-image{-webkit-filter:grayscale(50%);filter:grayscale(50%)}#pf-landing-login .pf-dynamic-area .pf-character-image-wrapper.pf-character-active:after{font-family:"Font Awesome 5 Free";content:"\f111";font-weight:bold;position:absolute;top:5px;left:5px;height:14px;width:14px;color:#5cb85c;font-size:10px}#pf-landing-login .pf-dynamic-area .pf-character-image-wrapper .pf-character-select-image{overflow:hidden;width:128px;height:128px;position:relative}#pf-landing-login .pf-dynamic-area .pf-character-image-wrapper .pf-character-select-image .pf-character-info{position:absolute;top:0;left:0;width:0;height:100%;color:#adadad;background:rgba(60,63,65,0.8);overflow:hidden;will-change:width, transition;padding:10px 0}#pf-landing-login .pf-dynamic-area .pf-character-image-wrapper .pf-character-select-image .pf-character-info .pf-character-info-text{line-height:25px}#pf-landing-login .pf-dynamic-area .pf-character-image-wrapper .pf-character-name{font-size:13px;line-height:30px;border-top:1px solid #313335;color:#adadad;-webkit-transition:color 0.2s ease-out;transition:color 0.2s ease-out}#pf-landing-login .pf-dynamic-area .pf-character-image-wrapper .pf-character-image{-webkit-transition:all 0.3s ease-out;transition:all 0.3s ease-out;-webkit-filter:grayscale(0%);filter:grayscale(0%)}#pf-landing-login .pf-sso-login-button{position:relative;display:inline-block;width:270px;height:45px;border:none;margin-bottom:10px;background-color:transparent;background-image:url("../../img/landing/eve_sso_login_buttons_large_black_hover.png");cursor:pointer;box-shadow:0 2px 5px rgba(0,0,0,0.2);-webkit-transition:box-shadow 0.12s ease-out;transition:box-shadow 0.12s ease-out;will-change:box-shadow}#pf-landing-login .pf-sso-login-button:after{content:' ';position:absolute;width:270px;height:45px;left:0;top:0;background-image:url("../../img/landing/eve_sso_login_buttons_large_black.png");-webkit-transition:opacity 0.12s ease-in-out;transition:opacity 0.12s ease-in-out;will-change:opacity}#pf-landing-login .pf-sso-login-button:hover{box-shadow:0 4px 5px rgba(0,0,0,0.2)}#pf-landing-login .pf-sso-login-button:hover:after{opacity:0}#pf-landing-login .pf-sso-login-button.disabled{pointer-events:auto}#pf-landing-login #pf-notification-panel{display:none}#pf-header-map{position:relative;margin:0 auto;height:380px;width:600px;pointer-events:none}#pf-header-map .pf-header-svg-layer{position:absolute;top:0;left:0;right:0;bottom:0}#pf-header-map #pf-header-systems{z-index:100}#pf-header-map #pf-header-connectors{z-index:90}#pf-header-map #pf-header-connections{z-index:80}#pf-header-map #pf-header-background{z-index:70}#pf-header-map #pf-header-background .pf-header-system{display:none}#pf-header-map-bg{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none}#pf-header-map-bg img{pointer-events:none}#pf-header-map-bg #pf-map-bg-image{opacity:0;position:absolute;bottom:0;right:0;width:100%;height:100%}#pf-header-map-bg #pf-map-neocom{opacity:0;height:665px;width:21px}#pf-header-map-bg #pf-map-browser{opacity:0;position:absolute;top:110px;left:21px;height:560px;width:515px}#pf-landing-gallery-carousel{background-image:url("../../img/pf-header-bg.jpg")}#pf-landing-gallery-carousel .slide-content{border-radius:5px;pointer-events:none}#pf-landing-gallery-carousel h3{width:100%;text-align:left}.pf-landing-pricing-panel{margin-top:20px}.pricing-big{position:relative;-webkit-box-shadow:0 4px 10px rgba(0,0,0,0.4);box-shadow:0 4px 10px rgba(0,0,0,0.4)}.pricing-big .panel-heading{border-color:#3c3f41}.pricing-big .the-price{padding:1px 0;background:#2d3031;text-align:center}.pricing-big .the-price .subscript{font-size:12px;color:#63676a}.pricing-big .price-features{background:#3c3f41;color:#adadad;padding:20px 15px;line-height:22px}.pricing-big .price-features:not(.price-features-fluid){min-height:205px}.pricing-big .price-features .list-unstyled.text-left li,.pricing-big .price-features .text-left.list-inline li{text-indent:-1em;padding-left:1.5em}.pricing-big .price-features .list-unstyled.text-left li .fa,.pricing-big .price-features .text-left.list-inline li .fa{text-indent:0}.pricing-big table tr td{line-height:1}#pf-landing-admin .pf-landing-admin-login{margin-bottom:0}#pf-landing-about .pf-landing-about-me{width:256px;height:256px;border:none;-webkit-box-shadow:0 4px 10px rgba(0,0,0,0.4);box-shadow:0 4px 10px rgba(0,0,0,0.4)}.pf-landing-footer{padding:30px 0;font-family:"Oxygen Bold","Helvetica Neue",Helvetica,Arial,sans-serif;background-color:#171717}.pf-landing-footer .row{margin-bottom:0 !important}.pf-landing-footer .pf-social-networks>li{display:inline-block;line-height:1}.pf-landing-footer .pf-social-networks>li a{display:inline-block;background:rgba(99,103,106,0.5);line-height:24px;text-align:center;font-size:14px;margin-right:3px;padding:6px 6px 2px 6px;width:36px}.pf-body[data-script='admin'] .navbar-brand:hover{color:#777}.pf-body[data-script='admin'] .panel{text-align:initial}.pf-body[data-script='admin'] .panel h3 img{position:absolute;right:0;top:0;margin:4px 14px 0 0;border-radius:30%}.pf-body[data-script='admin'] .form-horizontal .panel{color:#adadad}#pf-static-logo-svg{opacity:0;position:absolute;z-index:105;overflow:visible}#pf-static-logo-svg path{will-change:fill, opacity, transform, translateZ, translateX, translateY;pointer-events:all;-moz-transform:translate3d(0, 0, 0);-ms-transform:translate3d(0, 0, 0);-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}.logo-ploygon-top-right{fill:#477372;fill-rule:evenodd;stroke:#477372;stroke-width:0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;fill-opacity:1}.logo-ploygon-bottom-left{fill:#5cb85c;fill-rule:evenodd;stroke:#5cb85c;stroke-width:0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;fill-opacity:1}.logo-ploygon-bottom-right{fill:#375959;fill-rule:evenodd;stroke:#375959;stroke-width:0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;fill-opacity:1}.logo-ploygon-top-left{fill:#63676a;fill-opacity:1;fill-rule:evenodd;stroke:#63676a;stroke-width:0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1}@-webkit-keyframes bounce{0%, 20%, 50%, 80%, 100%{-webkit-transform:translateY(0)}40%{-webkit-transform:translateY(-8px)}60%{-webkit-transform:translateY(-4px)}}@keyframes bounce{0%, 20%, 50%, 80%, 100%{transform:translateY(0)}40%{transform:translateY(-8px)}60%{transform:translateY(-4px)}}#pf-map-tab-element{max-width:2535px;margin:0 auto}.pf-map-tab-content .pf-map-wrapper{position:relative;resize:vertical;width:100%;height:555px;max-width:2535px;max-height:1000px;min-height:250px;overflow:auto;padding:5px;background:rgba(43,43,43,0.93);box-shadow:inset -3px 3px 10px 0 rgba(0,0,0,0.3);will-change:width, height;border-bottom-right-radius:5px;border-bottom-left-radius:5px;border-width:1px;border-style:solid;border-color:#313335}.pf-map-tab-content .pf-map-wrapper:before{content:'';position:absolute;bottom:0;right:0;border-style:solid;border-width:14px 14px 0 0;border-color:transparent #313335 transparent transparent;cursor:nwse-resize}.pf-map-tab-content .pf-map-wrapper:focus,.pf-map-tab-content .pf-map-wrapper:hover{border:1px solid #3c3f41}.pf-map-tab-content .pf-map-wrapper:focus:before,.pf-map-tab-content .pf-map-wrapper:hover:before{border-color:transparent #3c3f41 transparent transparent}.pf-map-overlay{position:absolute;display:none;z-index:10000;right:26px;background:rgba(0,0,0,0.25);-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.pf-map-overlay.pf-map-overlay-timer{bottom:23px;width:36px;height:36px}.pf-map-overlay.pf-map-overlay-info{top:8px;height:36px;min-height:36px;min-width:36px;padding:3px 3px 3px 8px;line-height:26px}.pf-map-overlay.pf-map-overlay-info i{margin:0;margin-top:5px;width:0;height:26px;opacity:0;color:#63676a;transform:scale(0);transform-origin:50% 50% 0px;-webkit-transition:color 0.18s ease-in-out;transition:color 0.18s ease-in-out;cursor:help;will-change:all}.pf-map-overlay.pf-map-overlay-info i.fas,.pf-map-overlay.pf-map-overlay-info .pf-landing .pf-landing-list li>i,.pf-landing .pf-landing-list .pf-map-overlay.pf-map-overlay-info li>i,.pf-map-overlay.pf-map-overlay-info i.far{font-size:20px}.pf-map-overlay.pf-map-overlay-info i.glyphicon{margin-top:1px;font-size:22px;padding-left:3px}.pf-map-overlay.pf-map-overlay-info i.active,.pf-map-overlay.pf-map-overlay-info i:hover{color:#c2760c}.pf-map-overlay.pf-map-overlay-local{top:54px;min-height:80px;width:32px;display:block;will-change:width}.pf-map-overlay.pf-map-overlay-local .pf-map-overlay-local-content{margin-right:36px;padding:5px 0 5px 5px;overflow:hidden}.pf-map-overlay.pf-map-overlay-local .pf-map-overlay-local-content .pf-map-overlay-headline{font-size:12px;font-family:"Oxygen Bold","Helvetica Neue",Helvetica,Arial,sans-serif;white-space:nowrap}.pf-map-overlay.pf-map-overlay-local .pf-map-overlay-local-content .pf-map-overlay-headline .badge{margin-left:5px}.pf-map-overlay.pf-map-overlay-local .pf-map-overlay-local-content .pf-map-overlay-headline .pf-system-sec{cursor:default}.pf-map-overlay.pf-map-overlay-local .pf-map-overlay-local-content .pf-local-table{font-size:10px}.pf-map-overlay.pf-map-overlay-local .pf-map-overlay-local-content .pf-local-table td{white-space:nowrap}.pf-map-overlay.pf-map-overlay-local .pf-map-overlay-local-content .dataTables_paginate,.pf-map-overlay.pf-map-overlay-local .pf-map-overlay-local-content .dataTables_empty{white-space:nowrap}.pf-map-overlay.pf-map-overlay-local .pf-map-overlay-local-content .pf-map-overlay-toolbar .pf-map-overlay-toolbar-icon{vertical-align:0;margin-top:14px}.pf-map-overlay.pf-map-overlay-local .pf-map-overlay-local-content .pf-map-overlay-toolbar .pf-map-overlay-toolbar-checkbox{display:inline-block;margin-bottom:0}.pf-map-overlay.pf-map-overlay-local .pf-map-overlay-local-main{position:absolute;top:0;right:0;height:100%;padding:3px;width:32px;cursor:pointer;text-align:center;border-left:1px solid #2b2b2b}.pf-map-overlay.pf-map-overlay-local .pf-map-overlay-local-main .pf-map-overlay-local-trigger{margin-bottom:10px}.pf-map-overlay.pf-map-overlay-local .pf-map-overlay-local-main .pf-map-overlay-local-trigger:hover,.pf-map-overlay.pf-map-overlay-local .pf-map-overlay-local-main .pf-map-overlay-local-trigger.right{color:#c2760c}.pf-map-overlay.pf-map-overlay-local .pf-map-overlay-local-main i{font-size:12px}.pf-map-overlay.pf-map-overlay-local .pf-map-overlay-local-jumps{position:absolute;bottom:5px;width:calc(100% - 6px)}.pf-map-overlay.pf-map-overlay-local .badge{font-family:Arial, sans-serif;background-color:#2b2b2b}.pf-grid-small:before{content:' ';display:block;position:absolute;left:0;top:0;width:100%;height:100%;opacity:0.6;background:url('data:image/png;base64,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') !important}.pf-map{width:2500px;height:1500px;position:relative;font-family:"Oxygen Bold","Helvetica Neue",Helvetica,Arial,sans-serif}.pf-map .jsplumb-overlay{opacity:1;pointer-events:none;will-change:opacity;-webkit-transition:opacity 0.18s ease-out;transition:opacity 0.18s ease-out}.pf-map .jsplumb-hover.jsplumb-overlay{opacity:0 !important}.pf-map .jsplumb-hover:not(.jsplumb-overlay){-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-delay:.5s;animation-delay:.5s;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-timing-function:linear;animation-timing-function:linear;animation-iteration-count:infinite;-webkit-animation-iteration-count:infinite;-webkit-animation-name:bounce;animation-name:bounce}.pf-map .jsplumb-target-hover,.pf-map .jsplumb-source-hover{-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-delay:.5s;animation-delay:.5s;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-timing-function:linear;animation-timing-function:linear;animation-iteration-count:infinite;-webkit-animation-iteration-count:infinite;-webkit-animation-name:bounce;animation-name:bounce;-webkit-box-shadow:0 6px 12px rgba(0,0,0,0.3);box-shadow:0 6px 12px rgba(0,0,0,0.3)}.pf-map .pf-system{position:absolute;min-width:60px;height:auto;overflow:hidden;background-color:#313335;font-family:"Oxygen Bold","Helvetica Neue",Helvetica,Arial,sans-serif;z-index:100;will-change:top, left, opacity;border-width:2px;border-style:solid;border-color:#63676a;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;-webkit-transition:border-color 0.2s ease-out,box-shadow 0.12s ease-out,opacity 0.12s ease-out;transition:border-color 0.2s ease-out,box-shadow 0.12s ease-out,opacity 0.12s ease-out;-moz-transform:translate3d(0, 0, 0);-ms-transform:translate3d(0, 0, 0);-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}.pf-map .pf-system:hover{-webkit-box-shadow:0 6px 12px rgba(0,0,0,0.3);box-shadow:0 6px 12px rgba(0,0,0,0.3);-moz-transform:translate3d(0, -1px, 0) !important;-ms-transform:translate3d(0, -1px, 0) !important;-webkit-transform:translate3d(0, -1px, 0) !important;transform:translate3d(0, -1px, 0) !important}.pf-map .pf-system:hover:not(.jsPlumb_dragged){z-index:1040 !important}.pf-map .pf-system .pf-system-head{padding:0 3px 0 3px;cursor:pointer;font-family:Arial, sans-serif;font-weight:bold;white-space:nowrap}.pf-map .pf-system .pf-system-head .pf-system-head-name{border:none;display:inline-block;min-width:50px;color:#adadad;margin-right:2px}.pf-map .pf-system .pf-system-head .pf-system-head-counter{display:inline-block;text-align:right;min-width:8px;margin-right:1px;color:#5cb85c;cursor:help}.pf-map .pf-system .pf-system-head .pf-system-head-counter:empty{display:none}.pf-map .pf-system .pf-system-head .pf-system-effect{font-size:11px}.pf-map .pf-system .pf-system-head .fa-lock{font-size:11px;display:none}.pf-map .pf-system .pf-system-head .pf-system-head-expand{margin-left:2px;color:#63676a;width:10px;display:none}.pf-map .pf-system .pf-system-head .editable-empty{font-style:normal}.pf-map .pf-system .pf-system-head-info{display:flex;color:#7c8184;font-size:10px;line-height:10px;padding-right:1px;margin-bottom:2px}.pf-map .pf-system .pf-system-head-info [class^="pf-system-sec-"]{cursor:help}.pf-map .pf-system .pf-system-head-info-left{flex:1}.pf-map .pf-system .pf-system-head-info-right{flex:1;text-align:right}.pf-map .pf-system .pf-system-body{height:0px;width:100%;overflow:hidden;cursor:-moz-grab;cursor:-webkit-grab;cursor:grab;padding:0 4px;white-space:nowrap;display:none;will-change:width;border-top-width:1px;border-top-style:dashed;border-top-color:#63676a}.pf-map .pf-system .pf-system-body .pf-system-body-item{position:relative;color:#7c8184;font-size:10px;line-height:16px;height:16px}.pf-map .pf-system .pf-system-body .pf-system-body-item .pf-system-body-right{float:right;color:#f0ad4e;width:50px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;display:none}.pf-map .pf-system .pf-system-body .pf-system-body-item .pf-user-status{font-size:6px;width:10px;vertical-align:middle}.pf-map .pf-system .pf-system-body .pf-system-body-item .pf-system-body-item-name{position:absolute;display:inline-block;width:calc(100% - 10px);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.pf-map .pf-system .tooltip.in{opacity:1}.pf-map .pf-system .tooltip .tooltip-inner{color:#313335;background-color:#adadad;padding:3px 3px}.pf-map .pf-system-active:not(.pf-map-endpoint-source):not(.pf-map-endpoint-target){-webkit-box-shadow:#ffb 0px 0px 8px 0px;box-shadow:#ffb 0px 0px 8px 0px}.pf-map .pf-system-selected:not(.pf-map-endpoint-source):not(.pf-map-endpoint-target),.pf-map .jsPlumb_dragged:not(.pf-map-endpoint-source):not(.pf-map-endpoint-target){-webkit-box-shadow:#58100d 0px 0px 8px 0px;box-shadow:#58100d 0px 0px 8px 0px;background-color:#58100d}.pf-map .pf-system-selected:not(.pf-map-endpoint-source):not(.pf-map-endpoint-target) .pf-system-head,.pf-map .jsPlumb_dragged:not(.pf-map-endpoint-source):not(.pf-map-endpoint-target) .pf-system-head,.pf-map .pf-system-selected:not(.pf-map-endpoint-source):not(.pf-map-endpoint-target) .pf-system-body,.pf-map .jsPlumb_dragged:not(.pf-map-endpoint-source):not(.pf-map-endpoint-target) .pf-system-body{background-color:#58100d}.pf-map .pf-system-locked .pf-system-sec{cursor:default !important}.pf-map .pf-system-locked .pf-system-body{cursor:default !important}.pf-map .pf-system-locked .fa-lock{color:#63676a !important;display:inline-block !important}.pf-map .pf-system-debug{position:absolute;color:#fff;font-size:10px;line-height:22px;text-align:center;pointer-events:none;z-index:500}.pf-map .pf-map-endpoint-source,.pf-map .pf-map-endpoint-target{z-index:90}.pf-map .pf-map-endpoint-source svg,.pf-map .pf-map-endpoint-target svg{overflow:visible}.pf-map .pf-map-endpoint-source svg circle,.pf-map .pf-map-endpoint-target svg circle{-webkit-transition:stroke 0.18s ease-out,fill 0.18s ease-out;transition:stroke 0.18s ease-out,fill 0.18s ease-out}.pf-map .pf-map-endpoint-source svg *,.pf-map .pf-map-endpoint-target svg *{stroke:#63676a;stroke-width:2;fill:#3c3f41;cursor:pointer}.pf-map .pf-map-endpoint-source:hover circle,.pf-map .pf-map-endpoint-target:hover circle{stroke:#e28a0d !important}.pf-map .pf-map-endpoint-source.jsplumb-hover,.pf-map .pf-map-endpoint-target.jsplumb-hover{z-index:95}.pf-map .pf-map-endpoint-source.jsplumb-dragging circle,.pf-map .pf-map-endpoint-target.jsplumb-dragging circle{stroke:#e28a0d}.pf-map .jsplumb-endpoint-drop-allowed circle{stroke:#5cb85c !important;fill:#5cb85c !important}.pf-map .jsplumb-endpoint-drop-forbidden circle{stroke:#a52521 !important;fill:#a52521 !important}.pf-map svg.jsplumb-connector{cursor:pointer;stroke-linecap:round;-webkit-transition:stroke 0.18s ease-out;transition:stroke 0.18s ease-out;will-change:all}.pf-map svg.jsplumb-connector path{-webkit-transition:stroke 0.18s ease-out;transition:stroke 0.18s ease-out}.pf-map svg.jsplumb-connector path:nth-child(2){stroke:#3c3f41}.pf-map svg.jsplumb-connector path:first-child{stroke:#63676a}.pf-map svg.jsplumb-connector.jsplumb-hover{z-index:80;filter:drop-shadow(-3px 3px 4px rgba(0,0,0,0.3))}.pf-map svg.jsplumb-connector.jsplumb-hover:not(.pf-map-connection-jumpbridge):not(.pf-map-connection-abyssal) path:first-child{stroke:#eaeaea}.pf-map svg.jsplumb-connector.jsplumb-hover.pf-map-connection-jumpbridge path:nth-child(2),.pf-map svg.jsplumb-connector.jsplumb-hover.pf-map-connection-abyssal path:nth-child(2){stroke:#eaeaea}.pf-map svg.jsplumb-connector.jsplumb-dragging{-webkit-transition:opacity 0.18s ease-out;transition:opacity 0.18s ease-out;opacity:0.4;z-index:80}.pf-map svg.pf-map-connection-abyssal{z-index:40}.pf-map svg.pf-map-connection-abyssal path:first-child{stroke:rgba(255,255,255,0)}.pf-map svg.pf-map-connection-abyssal path:nth-child(2){stroke:#5a225a}.pf-map svg.pf-map-connection-abyssal:hover path:first-child{stroke:rgba(255,255,255,0)}.pf-map svg.pf-map-connection-abyssal:hover path:nth-child(2){stroke:#eaeaea}.pf-map svg.pf-map-connection-jumpbridge{z-index:50}.pf-map svg.pf-map-connection-jumpbridge path:first-child{stroke:rgba(255,255,255,0)}.pf-map svg.pf-map-connection-jumpbridge path:nth-child(2){stroke:#568a89}.pf-map svg.pf-map-connection-jumpbridge:hover path:first-child{stroke:rgba(255,255,255,0)}.pf-map svg.pf-map-connection-jumpbridge:hover path:nth-child(2){stroke:#eaeaea}.pf-map svg.pf-map-connection-stargate{z-index:60}.pf-map svg.pf-map-connection-stargate path:first-child{stroke:#63676a}.pf-map svg.pf-map-connection-stargate path:nth-child(2){stroke:#313966}.pf-map svg.pf-map-connection-stargate:hover path:first-child{stroke:#eaeaea}.pf-map svg.pf-map-connection-wh-fresh,.pf-map svg.pf-map-connection-wh-reduced,.pf-map svg.pf-map-connection-wh-critical,.pf-map svg.pf-map-connection-wh-eol{z-index:70}.pf-map svg.pf-map-connection-wh-eol path:first-child{stroke:#d747d6}.pf-map svg.pf-map-connection-wh-eol:hover path:first-child{stroke:#eaeaea}.pf-map svg.pf-map-connection-wh-reduced path:nth-child(2){stroke:#e28a0d}.pf-map svg.pf-map-connection-wh-critical path:nth-child(2){stroke:#a52521}.pf-map svg.pf-map-connection-active{filter:drop-shadow(0px 0px 3px #ffb)}.pf-map .pf-map-connection-overlay{padding:1px 4px;font-size:10px;z-index:1020;background-color:#3c3f41;color:#adadad;-moz-border-radius:6px;-webkit-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,0.4);box-shadow:0 6px 12px rgba(0,0,0,0.4)}.pf-map .frig{background-color:#f0ad4e;color:#1d1d1d}.pf-map .mass{background-color:#a52521;color:#eaeaea}.pf-map .eol{background-color:#3c3f41;color:#d747d6}.pf-map .pf-map-connection-arrow-overlay{stroke:#313335;fill:#5cb85c}.pf-map .pf-map-connection-diamond-overlay{stroke:#313335;fill:#d9534f;animation-name:pfPulseDanger;animation-duration:4s;animation-iteration-count:infinite}.pf-map .pf-map-connection-small-overlay{filter:blur(0px);-webkit-font-smoothing:antialiased;font-family:Arial, sans-serif;padding:2px;font-size:9.5px;line-height:100%;z-index:1020;background-color:#3c3f41;color:#adadad;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;-webkit-box-shadow:0 3px 6px rgba(0,0,0,0.3);box-shadow:0 3px 6px rgba(0,0,0,0.3)}.ui-dialog-content label,.ui-dialog-content .editable-input .editable-checklist>div>label>span,.editable-input .ui-dialog-content .editable-checklist>div>label>span{min-width:60px}.dropdown-menu{min-width:150px;font-family:"Oxygen Bold","Helvetica Neue",Helvetica,Arial,sans-serif;z-index:1050;will-change:opacity, top, left, transform}.dropdown-menu a{cursor:pointer}.dropdown-menu i{width:20px;pointer-events:none}.dropdown-menu .dropdown-menu{border-top-left-radius:0;border-bottom-left-radius:0;clip-path:inset(-12px -12px -12px 0px)}.dropdown-menu[role]>li:not(.disabled){position:relative}.dropdown-menu[role]>li:not(.disabled):before{content:'';position:absolute;background-color:#5cb85c;opacity:0;will-change:opacity,left;-webkit-transition:left 0.15s ease-out,opacity 0.15s ease-out;transition:left 0.15s ease-out,opacity 0.15s ease-out;width:2px;height:100%;left:0}.dropdown-menu[role]>li:not(.disabled):hover:before{left:-4px;opacity:1}.dropdown-menu>li.disabled{cursor:not-allowed;pointer-events:none}.dropdown-menu>li>a{padding:3px 8px}.pf-system-tooltip-inner{color:#adadad;padding:2px 4px;min-width:25px;-webkit-transition:color 0.2s ease-out;transition:color 0.2s ease-out}.pf-system-info-module h5{text-transform:capitalize}.pf-system-info-module .pf-system-info-description-area{min-height:124px}.pf-system-info-module .pf-system-info-description-area .editable-container{width:100%}.pf-system-info-module .pf-system-info-description-area .editable-container .editableform{width:100%}.pf-system-info-module .pf-system-info-description-area .editable-container .editableform .form-group{width:100%}.pf-system-info-module .pf-system-info-description-area .editable-container .editableform .form-group .editable-input{width:calc(100% - 75px)}.pf-system-info-module .pf-system-info-description-area .editable-container .editableform .form-group .editable-input textarea{width:100%;max-height:200px;resize:vertical}.pf-system-signature-module .progress-label-right{margin-right:20px;vertical-align:middle;font-size:11px}.pf-system-signature-module .pf-system-progress-scanned{display:inline-block;margin-left:20px;width:calc(100% - 225px)}.pf-system-signature-module .pf-system-progress-scanned .progress{margin-bottom:3px}.pf-system-signature-module .pf-sig-table-clear-button{will-change:opacity, transform;display:none;color:#a52521}.pf-system-signature-module .pf-sig-table{font-size:10px}.pf-system-signature-module .pf-sig-table .pf-sig-table-edit-name-input{text-transform:uppercase}.pf-system-signature-module .pf-sig-table .editable-container.editable-inline{display:inline}.pf-system-signature-module .pf-sig-table .editable-container.editable-inline .control-group{display:inline}.pf-system-signature-module .pf-sig-table .editable-container.editable-inline .control-group .editable-input{display:inline}.pf-system-signature-module .pf-sig-table .pf-editable-description{width:100%;background-color:#2b2b2b;max-height:50px;font-size:11px;line-height:14px;padding:3px 6px}.pf-system-signature-module .pf-sig-table-secondary th{pointer-events:none}.pf-system-signature-module .pf-sig-table-secondary th:after{display:none !important}.pf-system-signature-module .pf-sig-table-secondary th.pf-table-counter-cell{color:transparent}.pf-system-graph-module .pf-system-graph{position:relative;width:100%;height:100px}.pf-system-route-module .pf-system-route-table{width:100%;font-size:10px}.pf-system-route-module .pf-system-route-table td{text-transform:capitalize}.pf-system-route-module .pf-system-route-table td>.fas,.pf-system-route-module .pf-system-route-table td>.far{font-size:10px}.pf-system-route-module .pf-system-route-table td .pf-fake-connection{display:none;width:12px;height:3px;cursor:pointer}.pf-system-route-module .pf-system-route-table td .pf-fake-connection[data-disabled]{cursor:initial}.pf-system-route-module .pf-system-route-table td .pf-fake-connection.pf-map-connection-frig{width:32px}.pf-system-route-module .pf-system-route-table td .pf-fake-connection.pf-map-connection-frig:after{left:4px}.pf-system-route-module .pf-system-route-table td .pf-fake-connection.pf-map-connection-preserve-mass{width:26px}.pf-system-route-module .pf-system-route-table td .pf-fake-connection.pf-map-connection-preserve-mass:after{content:"\f071";font-family:"Font Awesome 5 Free";font-style:normal;font-weight:bold;left:4px}.pf-system-route-module .pf-system-route-table td.pf-table-jump-cell .pf-fake-connection{display:inline-block}.pf-system-intel-module .pf-system-structure-table{font-size:10px}.pf-system-killboard-module .pf-system-killboard-graph-kills{width:100%;height:100px;position:relative;margin-bottom:30px}.pf-system-killboard-module .pf-system-killboard-list{padding-bottom:10px;border-bottom:1px solid #2b2b2b}.pf-system-killboard-module .pf-system-killboard-list>li{margin-left:0;overflow:visible;min-height:50px;will-change:transform, opacity, margin-left;-webkit-transition:margin-left 0.12s cubic-bezier(0.3, 0.8, 0.8, 1.7);transition:margin-left 0.12s cubic-bezier(0.3, 0.8, 0.8, 1.7)}.pf-system-killboard-module .pf-system-killboard-list>li h5{white-space:nowrap}.pf-system-killboard-module .pf-system-killboard-list>li h3{width:120px;display:inline-block}.pf-system-killboard-module .pf-system-killboard-list>li .pf-system-killboard-img-char{display:inline;width:32px;margin-top:9px;margin-right:10px;border:1px solid #2b2b2b;will-change:border-color;-moz-border-radius:50%;-webkit-border-radius:50%;border-radius:50%;-webkit-transition:border-color 0.12s ease-out;transition:border-color 0.12s ease-out}.pf-system-killboard-module .pf-system-killboard-list>li .pf-system-killboard-img-char:hover{border-color:#568a89}.pf-system-killboard-module .pf-system-killboard-list>li .pf-system-killboard-img-corp,.pf-system-killboard-module .pf-system-killboard-list>li .pf-system-killboard-img-ally{display:inline;width:20px;margin-right:10px;border:1px solid #2b2b2b;will-change:border-color;-moz-border-radius:50%;-webkit-border-radius:50%;border-radius:50%;-webkit-transition:border-color 0.12s ease-out;transition:border-color 0.12s ease-out}.pf-system-killboard-module .pf-system-killboard-list>li .pf-system-killboard-img-corp:hover,.pf-system-killboard-module .pf-system-killboard-list>li .pf-system-killboard-img-ally:hover{border-color:#568a89}.pf-system-killboard-module .pf-system-killboard-list>li .pf-system-killboard-img-ship{width:50px;margin-right:10px;border:1px solid #2b2b2b;will-change:border-color;-moz-border-radius:50%;-webkit-border-radius:50%;border-radius:50%;-webkit-transition:border-color 0.12s ease-out;transition:border-color 0.12s ease-out}.pf-system-killboard-module .pf-system-killboard-list>li .pf-system-killboard-img-ship:hover{border-color:#568a89}.pf-system-killboard-module .pf-system-killboard-list>li:before{content:"\f054";font-family:"Font Awesome 5 Free";font-weight:bold;position:absolute;z-index:10;left:-18px;top:15px;color:#477372;opacity:0;will-change:opacity, left;-webkit-transition:all 0.12s ease-out;transition:all 0.12s ease-out}.pf-system-killboard-module .pf-system-killboard-list>li:hover{margin-left:10px}.pf-system-killboard-module .pf-system-killboard-list>li:hover:before{opacity:1;left:-15px}.pf-connection-info-module .row{display:flex;align-items:stretch;flex-wrap:wrap}.pf-connection-info-module .pf-dynamic-area{display:flex;justify-content:center;align-items:center;margin-bottom:10px;min-height:inherit}.pf-connection-info-module .pf-connection-info-table{width:100%;font-size:10px}.pf-connection-info-module .pf-connection-info-table td>.fas,.pf-connection-info-module .pf-connection-info-table td>.far{font-size:10px}input,select{background-color:#313335;color:#adadad;border:1px solid #63676a;font-family:"Oxygen Bold","Helvetica Neue",Helvetica,Arial,sans-serif}input:focus,select:focus{border-color:#568a89}input:-webkit-autofill,select:-webkit-autofill{background-color:#313335 !important;-webkit-box-shadow:0 0 0 50px #313335 inset !important;box-shadow:0 0 0 50px #313335 inset !important;-webkit-text-fill-color:#adadad}input:-webkit-autofill:focus,select:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 50px #313335 inset !important;box-shadow:0 0 0 50px #313335 inset !important;-webkit-text-fill-color:#adadad}input::-webkit-file-upload-button,select::-webkit-file-upload-button{background-color:transparent;border:none;color:#63676a;outline:none}input[disabled]::-moz-placeholder,select[disabled]::-moz-placeholder{color:transparent;opacity:1}input[disabled]:-ms-input-placeholder,select[disabled]:-ms-input-placeholder{color:transparent}input[disabled]::-webkit-input-placeholder,select[disabled]::-webkit-input-placeholder{color:transparent}input.pf-select2,select.pf-select2{height:32px;padding:6px 12px}textarea{min-height:32px;max-height:400px;resize:vertical}fieldset[disabled] .form-control{color:#63676a}fieldset[disabled] .form-control::-moz-placeholder{color:transparent;opacity:1}fieldset[disabled] .form-control:-ms-input-placeholder{color:transparent}fieldset[disabled] .form-control::-webkit-input-placeholder{color:transparent}fieldset[disabled] .input-icon-left .fa-stack i:last-child,fieldset[disabled] .input-icon-right .fa-stack i:last-child{color:#3c3f41}#select2-pf-map-dialog-edit-icon-select-container,#select2-pf-map-dialog-new-icon-select-container,#select2-pf-map-dialog-new-icon-select-results,#select2-pf-map-dialog-edit-icon-select-results,.pf-form-icon-field{font-family:"Font Awesome 5 Free";font-weight:bold}#select2-pf-map-dialog-edit-icon-select-container option,#select2-pf-map-dialog-new-icon-select-container option,#select2-pf-map-dialog-new-icon-select-results option,#select2-pf-map-dialog-edit-icon-select-results option,.pf-form-icon-field option{font-family:inherit;font-weight:inherit}.input-icon-left:not(.input-icon-right) .fa-stack:first-child{left:14px}.input-icon-right:not(.input-icon-left) .fa-stack:first-child{right:14px}.input-icon-left.input-icon-right .fa-stack:first-child{left:14px}.input-icon-left.input-icon-right .fa-stack:nth-child(2){right:14px}.input-icon-left .fa-stack,.input-icon-right .fa-stack{position:absolute;top:4px}.input-icon-left .fa-stack i:first-child,.input-icon-right .fa-stack i:first-child{color:#63676a}.input-icon-left .fa-stack i:last-child,.input-icon-right .fa-stack i:last-child{color:#313335}.btn.btn-fake{border:none;text-align:left;cursor:default;opacity:1 !important;color:#63676a !important;background-color:#3c3f41 !important}.btn .btn-progress{position:absolute;display:block;height:100%;background-color:rgba(92,184,92,0.2);max-width:100%;width:0;top:0;left:0;overflow:hidden;line-height:30px;color:#f0ad4e;font-size:10px;text-align:left;-webkit-transition:width 0.1s linear;transition:width 0.1s linear}.pf-form-dropzone{border:2px dashed #2b2b2b;height:100px;background-color:#353739;text-align:center;font-size:20px;line-height:100px;margin:15px 0;color:#2b2b2b;-moz-border-radius:10px;-webkit-border-radius:10px;border-radius:10px;-webkit-transition:color 0.18s ease-out,border-color 0.18s ease-out;transition:color 0.18s ease-out,border-color 0.18s ease-out}.pf-form-dropzone:hover{color:#568a89;border-color:#568a89;cursor:-moz-grabbing;cursor:-webkit-grabbing;cursor:grabbing}.toggle.btn:active{box-shadow:none}.pf-form-field-char-count{display:block;margin-top:10px}.pf-icon{display:inline-block}.pf-icon.disabled{opacity:0.5;color:#63676a}.pf-icon-dotlan,.pf-icon-anoik{position:relative;display:inline-block;width:17px;height:17px;opacity:0.8;margin:-5px 0px 0 10px}.pf-icon-dotlan:after{content:'';position:absolute;left:0;right:0;height:17px;width:17px;margin-top:4px;background:url('data:image/png;base64,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') no-repeat}.pf-icon-anoik:after{content:'';position:absolute;left:0;right:0;height:17px;width:17px;margin-top:4px;background:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAARCAMAAAAMs7fIAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAMAUExURRoQEB4PERwRCx0SDRoTDSQQDiERDhgUExwTEx4UDyQUEiAWEiYVDSoUDigUFC4TEB0YEiIXEyAaFScYFiQZFSkYEi0XEzEWEzQXECAcGyYbGCoaGC4ZGSIdGDQZFyIeHSUeFS0cFiwcGjEbFiEgGiUfGioeFikeGjEeEzQdGTEfGTodFjkdGiwhHS4hGTUfHyojGTEhHiUlHjcgGykkHjMiGy8jIEIfGzkiHT8hGj4hHzsjGjkjIzEmIjMmHjUlIycpJTclHi8oHjwkIC4oI0MlHUIlIj4nIj0nJkglIjspIkEoHzIsJjYrJzsqJzkrI0wnHSwvLDAvKEcpIUYpJjYuJEAsIT8sJUMrJjouKjYwKkwtJUstKj8xKUcvKkYvLz4yLkIxLkQxKjo0LkYyJlMuKEsxKD01Ki85NFExKVAyL0I2MlgxJk00MEU3Ljo6Mkk2Lz85M0k3NFgzMlU2Lk45LVY3ND8+OEo8M007OU87NFQ6NUk9OVM6OkU/OUc/NERBNWI6L01BPUREPVpBQVxCPVNFPElJQVNGQldFQllFPk9IQlJJP0dNRHdDNE9ORlVOSF9MSVdPRGZLRVxPTWNOR1RTRlNTS09VTGBRR2RTRG1STGBYUWZXVFZcUmdYTmxXT15cUXBYXHRYUnBbTmhfVm1iUnpeWF9mXHVgWHFhX3JiWWdmXWxnVXhmV35pYXZtY31saYZqZHJwZINtVGxyZ2Z0aYBuX3tyYIRvZ2x8cYV1cX94bYh2Z4t1bYF5Z3Z8c5J2cop8ZY99bZZ7epN+dYiCdZ97d4WEfJOAfHmLf5CHdYaLgJqHeJaKc4KPfZeLeaCIgJ+KdaGJh5KPhZuVgo2ZiZKYjp2YjaqVja6XiKiag46jkrWYlbOdh6+elbWdlqiij8Gcl7ulj7mllaSslb2noLOsmayxo8ippLqyl6e3qMewq8K8p8i9sbnEttK/uszHtcXTx9vQsN/Nx+zQwd/ZxN/ez/Db1e7hvtjn4fPx5ub17P7w6vv++////59V2N4AAAE/SURBVHjaADIBzf4AElERERpMi3GLi2BZNQ0ODgUAGQkRNEQ9Wlp+T2CwVyEWFg0ABBE0CSBai5yCWXyfiFczDQ0AEjICNmOPs8rYknjDiu5fIyMAJREURFWPlqj+18beqtOKSCkABBAnLUSeb5r71ZnZxa97WCMAAiUlGkSHh8Kl6smv6aebeywAAhE0RD02cSqtYpP0vmJ7WEYAAhEaNi00EyIFa6l6WDVDajkAAgkRLRoUCgw1KpFXWDNHXDoAAggJCREGFE4cLE5XYjNYW0YABAACAgoJBgY2TiFXQ0czWFMAAggAAhEJFBQnKk5iR0NFXHQAAAAAAhEUCicxKjM1VyMsN1QAAgkGChsnKkFBSmJXS0VFUGwAAgIBBgoTGyIxISEjQx4YXEYAAgIAAgkbGxshIzUzDxgrQywDAKFaTfFe+Wg9AAAAAElFTkSuQmCC') no-repeat}.modal-content h2,.panel-body h2{font-family:"Oxygen","Helvetica Neue",Helvetica,Arial,sans-serif;letter-spacing:0;font-size:14px;margin:20px 0;line-height:normal}.modal-content h2.pf-dynamic-area,.modal-content h4.pf-dynamic-area,.panel-body h2.pf-dynamic-area,.panel-body h4.pf-dynamic-area{min-height:0;margin:0 0 10px 0}.modal-content h2.pf-dynamic-area>img,.modal-content h4.pf-dynamic-area>img,.panel-body h2.pf-dynamic-area>img,.panel-body h4.pf-dynamic-area>img{margin:-10px 5px -10px -10px;width:35px}.modal-content h2[data-toggle="collapse"],.modal-content h4[data-toggle="collapse"],.panel-body h2[data-toggle="collapse"],.panel-body h4[data-toggle="collapse"]{cursor:pointer}.modal-content h2[data-toggle="collapse"]:hover:after,.modal-content h4[data-toggle="collapse"]:hover:after,.panel-body h2[data-toggle="collapse"]:hover:after,.panel-body h4[data-toggle="collapse"]:hover:after{color:#e28a0d !important}.modal-content h2[data-toggle="collapse"]:after,.modal-content h4[data-toggle="collapse"]:after,.panel-body h2[data-toggle="collapse"]:after,.panel-body h4[data-toggle="collapse"]:after{content:"\f078";font-family:"Font Awesome 5 Free";font-style:normal;font-weight:bold;font-size:13px;padding-right:10px;position:absolute;color:#e28a0d;top:10px;right:6px}.modal-content h2[data-toggle="collapse"].collapsed:after,.modal-content h4[data-toggle="collapse"].collapsed:after,.panel-body h2[data-toggle="collapse"].collapsed:after,.panel-body h4[data-toggle="collapse"].collapsed:after{top:13px;right:5px;color:#63676a;-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.modal-content .dataTables_wrapper+.alert{margin-top:10px}.modal-content .dataTable,.modal-content .table{font-size:10px;font-family:"Oxygen Bold","Helvetica Neue",Helvetica,Arial,sans-serif}.modal-content hr{margin:5px 0 15px 0;border-color:#63676a}.modal-content .well{margin-bottom:0}.modal-content .well .list-inline{margin-bottom:0}.modal-content .pf-wizard-navigation{margin:0}.modal-content .pf-wizard-navigation li:not(:last-child):before{border-top:1px solid #63676a;content:"";display:block;font-size:0;overflow:hidden;position:relative;top:12px;left:71px;right:1px;width:100%}.modal-content .pf-wizard-navigation li.finished:before{-moz-border-image:-moz-linear-gradient(left, #375959,#375959) 1 1%;-moz-border-image:linear-gradient(to right, #375959,#375959) 1 1%;-o-border-image:linear-gradient(to right, #375959,#375959) 1 1%;-webkit-border-image:-webkit-linear-gradient(left, #375959,#375959) 1 1%;-webkit-border-image:linear-gradient(to right, #375959,#375959) 1 1%;border-image:-moz-linear-gradient(left, #375959,#375959) 1 1%;border-image:-webkit-linear-gradient(left, #375959,#375959) 1 1%;border-image:linear-gradient(to right, #375959,#375959) 1 1%;border-bottom:0}.modal-content .pf-wizard-navigation li.active:before{-moz-border-image:-moz-linear-gradient(left, #4f9e4f,#63676a) 1 1%;-moz-border-image:linear-gradient(to right, #4f9e4f,#63676a) 1 1%;-o-border-image:linear-gradient(to right, #4f9e4f,#63676a) 1 1%;-webkit-border-image:-webkit-linear-gradient(left, #4f9e4f,#63676a) 1 1%;-webkit-border-image:linear-gradient(to right, #4f9e4f,#63676a) 1 1%;border-image:-moz-linear-gradient(left, #4f9e4f,#63676a) 1 1%;border-image:-webkit-linear-gradient(left, #4f9e4f,#63676a) 1 1%;border-image:linear-gradient(to right, #4f9e4f,#63676a) 1 1%;border-bottom:0}.modal-content .pf-wizard-navigation li>h6{color:#63676a;font-size:11px;margin:5px}.modal-content .pf-wizard-navigation li a:hover+h6{color:#adadad}.modal-content .pf-wizard-navigation li.active a:not(.btn-danger)+h6{color:#adadad}#pf-settings-dialog .form-group .btn-sm,#pf-settings-dialog .form-group .btn-group-sm>.btn{padding:4px 7px 3px}#pf-settings-dialog #pf-dialog-captcha-wrapper{margin:0;padding:3px 0}#pf-map-dialog #pf-map-dialog-character-select,#pf-map-dialog #pf-map-dialog-corporation-select,#pf-map-dialog #pf-map-dialog-alliance-select{width:535px}#pf-route-dialog #pf-route-dialog-map-select{width:300px !important}#pf-shortcuts-dialog td kbd:last-of-type+i{display:none}#pf-manual-scrollspy{position:relative;height:700px;overflow:auto}.pf-system-dialog-select{width:300px !important}#pf-task-dialog .pf-task-dialog-status{min-height:inherit}#pf-map-info-logs{margin-bottom:10px}#pf-stats-dialog .pf-dynamic-area{margin-bottom:10px}#pf-structure-dialog #pf-structure-dialog-corporation-select,#pf-structure-dialog #pf-structure-dialog-type-select{width:267px !important}.pf-jump-info-dialog blockquote{margin-top:15px;margin-bottom:5px}.pf-changelog-dialog .pf-dynamic-message-container{margin-bottom:20px}.pf-credits-dialog .pf-credits-logo-background{overflow:visible;background:url("../../img/logo_bg.png");background-size:cover;padding:20px;margin-bottom:20px}.pf-credits-dialog #pf-logo-container{width:355px;height:366px;margin:0 auto}.pf-credits-dialog .pf-dynamic-area{min-height:50px}.pf-credits-dialog .dl-horizontal{display:inline-block;width:48%}.pf-credits-dialog .btn{padding:0}.pf-credits-dialog blockquote{font-size:14px}.pf-log-graph{height:100px;width:100%}.timeline{list-style:none;position:relative}.timeline:before{top:0;bottom:0;position:absolute;content:" ";width:1px;left:50%;margin-top:20px;background-image:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuNSIgeTE9IjAuMCIgeDI9IjAuNSIgeTI9IjEuMCI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzRmOWU0ZiIvPjxzdG9wIG9mZnNldD0iMjUlIiBzdG9wLWNvbG9yPSIjNjM2NzZhIi8+PC9saW5lYXJHcmFkaWVudD48L2RlZnM+PHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgZmlsbD0idXJsKCNncmFkKSIgLz48L3N2Zz4g');background-size:100%;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #4f9e4f),color-stop(25%, #63676a));background-image:-moz-linear-gradient(top, #4f9e4f,#63676a 25%);background-image:-webkit-linear-gradient(top, #4f9e4f,#63676a 25%);background-image:linear-gradient(to bottom, #4f9e4f,#63676a 25%)}.timeline>li{margin-bottom:20px;position:relative}.timeline>li.timeline-first .timeline-title{color:#4f9e4f}.timeline>li.timeline-first .timeline-badge{background-color:#4f9e4f}.timeline>li:before,.timeline>li:after{content:" ";display:table}.timeline>li:after{clear:both}.timeline>li:before,.timeline>li:after{content:" ";display:table}.timeline>li:after{clear:both}.timeline>li>.timeline-panel{width:47%;float:left;border:1px solid #313335;padding:8px;position:relative;background-color:#313335;font-size:11px;-webkit-box-shadow:0 4px 10px rgba(0,0,0,0.4);box-shadow:0 4px 10px rgba(0,0,0,0.4);-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.timeline>li>.timeline-panel:before{content:" ";position:absolute;top:10px;right:-8px;display:inline-block;border-top:7px solid transparent;border-left:7px solid #63676a;border-right:0 solid #63676a;border-bottom:7px solid transparent}.timeline>li>.timeline-panel:after{content:" ";position:absolute;top:10px;right:-8px;display:inline-block;border-top:7px solid transparent;border-left:7px solid #63676a;border-right:0 solid #63676a;border-bottom:7px solid transparent}.timeline>li>.timeline-badge{color:#2b2b2b;width:22px;height:22px;line-height:22px;text-align:center;position:absolute;top:7px;left:50%;margin-left:-11px;background-color:#63676a;z-index:100;-moz-border-radius:50%;-webkit-border-radius:50%;border-radius:50%}.timeline>li>.timeline-badge>i{vertical-align:middle}.timeline>li.timeline-inverted>.timeline-panel{float:right}.timeline>li.timeline-inverted>.timeline-panel:before{border-left-width:0;border-right-width:7px;left:-8px;right:auto}.timeline>li.timeline-inverted>.timeline-panel:after{border-left-width:0;border-right-width:8px;left:-9px;right:auto}.timeline-title{margin-top:0;color:inherit}.timeline-body>hr{display:none}.timeline-body>hr ~ *{display:none}.timeline-body>p,.timeline-body>ul{margin-bottom:0;list-style-type:disc;margin-left:15px}.timeline-body>p+p{margin-top:5px}@media (max-width: 1200px){ul.timeline:before{left:40px}ul.timeline>li>.timeline-panel{width:calc(100% - 62px)}ul.timeline>li>.timeline-badge{left:29px;margin-left:0;top:6px}ul.timeline>li>.timeline-panel{float:right}ul.timeline>li>.timeline-panel:before{border-left-width:0;border-right-width:7px;left:-8px;right:auto}ul.timeline>li>.timeline-panel:after{border-left-width:0;border-right-width:7px;left:-8px;right:auto}}.popover{z-index:1060;max-width:600px}.popover .arrow{pointer-events:none}.popover .popover-title{text-transform:capitalize;font-family:"Arial","Oxygen Bold","Helvetica Neue",Helvetica,sans-serif;font-weight:bold}.popover .popover-content{font-family:"Arial","Oxygen Bold","Helvetica Neue",Helvetica,sans-serif}.popover img{-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px}.popover h4{color:#adadad}.popover table{color:#adadad;line-height:16px;font-size:11px}.popover table td{padding:0 5px;vertical-align:middle !important}.popover .select2-container{margin-top:-1px;margin-left:-1px}.pf-popover-small .popover-title{padding:3px 6px}.pf-popover-small .popover-content{padding:6px 1px 3px}.pf-popover{display:initial}.pf-popover .popover-content{padding:0}.pf-popover h6{white-space:nowrap;margin-right:50px}.pf-popover h6:before,.pf-popover h6:after{content:" ";display:table}.pf-popover h6:after{clear:both}.pf-popover .well{margin-top:7px;margin-bottom:10px}.pf-popover .list-group{margin:0}.pf-popover .list-group .list-group-item{color:#313335}.pf-popover .list-group .list-group-item:hover{color:#1d1d1d}.pf-popover .list-group .list-group-item.disabled{background-color:#3c3f41;color:#63676a;cursor:not-allowed}.pf-popover .list-group .list-group-item img{width:30px;margin:-8px 10px -6px -8px;border-radius:0}.pf-popover .list-group .list-group-item i{margin-right:20px}.pf-popover-character .table>tbody>tr>td{border:none}.pf-popover-character .table>tbody>tr>td:first-child+td{padding:0 5px}.pf-popover-character .well{margin-bottom:0}.ribbon-wrapper{width:72px;height:88px;overflow:hidden;position:absolute;top:-3px;right:-3px;pointer-events:none}.ribbon{font:bold 12px "Oxygen Bold","Helvetica Neue",Helvetica,Arial,sans-serif;color:#2b2b2b;text-align:center;text-shadow:rgba(255,255,255,0.2) 0px 1px 0px;position:relative;padding:3px 0;left:-4px;top:16px;width:99px;-webkit-box-shadow:2px 3px 3px rgba(0,0,0,0.2);box-shadow:2px 3px 3px rgba(0,0,0,0.2);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);-webkit-transform:rotate(45deg);transform:rotate(45deg)}.ribbon:before,.ribbon:after{content:"";border-left:3px solid transparent;border-right:3px solid transparent;position:absolute;bottom:-3px}.ribbon.ribbon-default{color:#adadad;background-color:#353739;background-image:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuNSIgeTE9IjAuMCIgeDI9IjAuNSIgeTI9IjEuMCI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzJkMzAzMSIvPjxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iIzJhMmIyZCIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9InVybCgjZ3JhZCkiIC8+PC9zdmc+IA==');background-size:100%;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #2d3031),color-stop(100%, #2a2b2d));background-image:-moz-linear-gradient(top, #2d3031,#2a2b2d);background-image:-webkit-linear-gradient(top, #2d3031,#2a2b2d);background-image:linear-gradient(to bottom, #2d3031,#2a2b2d)}.ribbon.ribbon-default:before,.ribbon.ribbon-default:after{border-top:3px solid #000}.ribbon.ribbon-green{background-color:#5cb85c;background-image:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuNSIgeTE9IjAuMCIgeDI9IjAuNSIgeTI9IjEuMCI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzUxYjM1MSIvPjxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iIzRhOTQ0YSIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9InVybCgjZ3JhZCkiIC8+PC9zdmc+IA==');background-size:100%;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #51b351),color-stop(100%, #4a944a));background-image:-moz-linear-gradient(top, #51b351,#4a944a);background-image:-webkit-linear-gradient(top, #51b351,#4a944a);background-image:linear-gradient(to bottom, #51b351,#4a944a)}.ribbon.ribbon-green:before,.ribbon.ribbon-green:after{border-top:3px solid #285028}.ribbon.ribbon-orange{background-color:#e28a0d;background-image:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuNSIgeTE9IjAuMCIgeDI9IjAuNSIgeTI9IjEuMCI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2Q0ODEwYyIvPjxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iI2I0NmQwYiIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9InVybCgjZ3JhZCkiIC8+PC9zdmc+IA==');background-size:100%;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #d4810c),color-stop(100%, #b46d0b));background-image:-moz-linear-gradient(top, #d4810c,#b46d0b);background-image:-webkit-linear-gradient(top, #d4810c,#b46d0b);background-image:linear-gradient(to bottom, #d4810c,#b46d0b)}.ribbon.ribbon-orange:before,.ribbon.ribbon-orange:after{border-top:3px solid #6c4107}.ribbon.ribbon-red{background-color:#d9534f;background-image:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuNSIgeTE9IjAuMCIgeDI9IjAuNSIgeTI9IjEuMCI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2M5MzAyYyIvPjxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iI2E4MjgyNCIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9InVybCgjZ3JhZCkiIC8+PC9zdmc+IA==');background-size:100%;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #c9302c),color-stop(100%, #a82824));background-image:-moz-linear-gradient(top, #c9302c,#a82824);background-image:-webkit-linear-gradient(top, #c9302c,#a82824);background-image:linear-gradient(to bottom, #c9302c,#a82824)}.ribbon.ribbon-red:before,.ribbon.ribbon-red:after{border-top:3px solid #541412}.ribbon.ribbon-blue{background-color:#428bca;background-image:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuNSIgeTE9IjAuMCIgeDI9IjAuNSIgeTI9IjEuMCI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzM3ODRjNSIvPjxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iIzJkNWM4NSIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9InVybCgjZ3JhZCkiIC8+PC9zdmc+IA==');background-size:100%;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #3784c5),color-stop(100%, #2d5c85));background-image:-moz-linear-gradient(top, #3784c5,#2d5c85);background-image:-webkit-linear-gradient(top, #3784c5,#2d5c85);background-image:linear-gradient(to bottom, #3784c5,#2d5c85)}.ribbon.ribbon-blue:before,.ribbon.ribbon-blue:after{border-top:3px solid #1a344c}.ribbon:before{left:0}.ribbon:after{right:0}.pf-loading-bars-container{position:relative;z-index:4;margin:0 auto;left:5px;right:19px;width:70px;height:50px;list-style:none}.pf-loading-bars-container .pf-loading-bars-loader{position:absolute;z-index:3;margin:0 auto;left:0;right:0;top:50%;margin-top:-19px;width:56px;height:37px;list-style:none}.pf-loading-bars-container .pf-loading-bars-loader li{background-color:#5cb85c;width:6px;height:6px;float:right;margin-right:3px !important;-webkit-box-shadow:0px 12px 6px rgba(0,0,0,0.2);box-shadow:0px 12px 6px rgba(0,0,0,0.2)}.pf-loading-bars-container .pf-loading-bars-loader li:first-child{-webkit-animation:cssload-loadbars 1.75s cubic-bezier(0.645, 0.045, 0.355, 1) infinite 0s;animation:cssload-loadbars 1.75s cubic-bezier(0.645, 0.045, 0.355, 1) infinite 0s}.pf-loading-bars-container .pf-loading-bars-loader li:nth-child(2){-webkit-animation:cssload-loadbars 1.75s ease-in-out infinite -0.35s;animation:cssload-loadbars 1.75s ease-in-out infinite -0.35s}.pf-loading-bars-container .pf-loading-bars-loader li:nth-child(3){-webkit-animation:cssload-loadbars 1.75s ease-in-out infinite -0.7s;animation:cssload-loadbars 1.75s ease-in-out infinite -0.7s}.pf-loading-bars-container .pf-loading-bars-loader li:nth-child(4){-webkit-animation:cssload-loadbars 1.75s ease-in-out infinite -1.05s;animation:cssload-loadbars 1.75s ease-in-out infinite -1.05s}.pf-loading-bars-container .pf-loading-bars-loader li:nth-child(5){-webkit-animation:cssload-loadbars 1.75s ease-in-out infinite -1.4s;animation:cssload-loadbars 1.75s ease-in-out infinite -1.4s}.pf-loading-bars-container .pf-loading-bars-loader li:nth-child(6){-webkit-animation:cssload-loadbars 1.75s ease-in-out infinite -1.75s;animation:cssload-loadbars 1.75s ease-in-out infinite -1.75s}@-webkit-keyframes cssload-loadbars{0%{height:6px;margin-top:16px}33%{height:6px;margin-top:16px}66%{height:31px;margin-top:0px}100%{height:6px;margin-top:16px}}@-moz-keyframes cssload-loadbars{0%{height:6px;margin-top:16px}33%{height:6px;margin-top:16px}66%{height:31px;margin-top:0px}100%{height:6px;margin-top:16px}}@-ms-keyframes cssload-loadbars{0%{height:6px;margin-top:16px}33%{height:6px;margin-top:16px}66%{height:31px;margin-top:0px}100%{height:6px;margin-top:16px}}@keyframes cssload-loadbars{0%{height:6px;margin-top:16px}33%{height:6px;margin-top:16px}66%{height:31px;margin-top:0px}100%{height:6px;margin-top:16px}}.pf-landing-sticky-panel{position:fixed;min-width:100px;border-radius:5px;padding:7px;box-shadow:0 4px 10px rgba(0,0,0,0.4);background-color:rgba(43,43,43,0.7)}.pf-landing-sticky-panel h4{margin:5px 0 10px 0}.pf-landing-sticky-panel ul{margin-bottom:0}.pf-landing-sticky-panel ul li{text-transform:lowercase}#pf-landing-server-panel{top:50px;left:10px}#pf-landing-admin-panel{bottom:10px;right:10px}.youtube{background-position:center;background-repeat:no-repeat;position:relative;display:inline-block;overflow:hidden;transition:all 200ms ease-out;cursor:pointer}.youtube .play{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAERklEQVR4nOWbTWhcVRTHb1IJVoxGtNCNdal2JYJReC6GWuO83PM/59yUS3FRFARdFlwYP1CfiojQWt36sRCUurRIdVFXIn41lAoVdRGrG1M01YpKrWjiYmaSl8ybZJL3cd+YA//NLObd3++eO8x79z5jSq5Gw+8kov0AP8vMR5l1BtBZQM4B8ks75wCdZdYZZj5qLZ4hov2Nht9Z9vhKKSIaB/gI4M4w62KeAO6Mte4lYOq20FxrlqqOibhHmeWbvNC9ZfDX1mLae391aN6limO/gwgvAPJbWeAZuSDingdwXTBw7/0IsyaA/Fkh+KqOkD+YNfHej1QKD+y7iVlOhgLvFqFfNJvNGyuBJ+KDAF8MDd0tgS8y64OlgSdJMsysL4cG7SOHkyQZLhTee7+d2R2rAVy/S+Jd7/32ouBHAP4gNNRGQyTHc/84NhqNywZp5rvjjnnvt21aABFeCQ+RLwAf2hQ8s7sv9OCLk6AHNgQvIrvbfzKCD76g/O6cu7lf/iER/aQGgy448pExZmhdegAPhR9sObFWH1gT3lp7DaA/5bkIgJhZPgsNmz02novj+KqeApj1ubwXWe4kdyeznAgNvTpE/HQmvKqOMeuFogTUVQSRno+iaLRLAJF7uIgL9O4ubgL8aWgB7S44mNX+35YpICUiAvS9sBLkq1WzT+NFffl6AuoiApi6NT37h6sWkBIRZGkQ8YtLgyji6e1mBYTqCEBPG2Naz+0BWQgtoGoRgCzEsd9hAN1X5BfnFZASUfrSAFQNsyZ1FJASUVpHiLinDJG8U2cBZYogkrcNs5waBAGdstbeU9zdqpw0gPwwSAI6VUxHyFlDpOcHUUBBIuYNs14aZAE5RVwyzPr3/0EAEY0TyfGNjBWQvwZ +CTSbehfAH29mrID8bET0+0EUkAd8WYDOmqJ3ecsG30yr9wqRfm6Y+a1BEFDEjHfHvWmY9ck6CygHvBVr8Xhtb4ZE5HZA3y8DvBNA1TjnrmXWf+sioMwZX5V/VHXMGGMMoKdDCxCRvRWBdzKzdHEO+EisilbPyopHYqp6S9UCAsz4iojI7hUDAtyXVQgIDd6KnOoaWNkbI6FaPSuZGyMArsi7MZoloB4zviI/Nhr3X95jltwTRQmoIfgisy5ai+me67OI7fE4nrqjrqfK1t0eby0FPRB6oGVlchL3rgnfrq19RKbVBdhV9IOSwJmfmJi4vi/4ThERitwyCxVAFqydshuCX5awhQ9KtmuIWd8IDZED/nXT77rvVVv6sHRKwjYi91poqP7Dr+Y6JJ1VSZIMA3wkPNy6bX+o8Bcm0sXMdwM8Fxo0A3xORPaWBp6uPXsmbxCRD0NDL0dOANhVCXy6iAjMcjbcrMt3RITKwdMVRdFo+y5yvkL4eWZ+zHt/ZVD4dEVRNGotpst+dZZZH8k86lqn2pIvT/eqrNfn2xuyqYPZ8mv7s8pfn/8Pybm4TIjanscAAAAASUVORK5CYII=") no-repeat center center;background-size:64px 64px;position:absolute;height:100%;width:100%;opacity:.8;filter:alpha(opacity=80);transition:all 0.2s ease-out}.youtube .play:hover{opacity:1;filter:alpha(opacity=100)} + * ======================================================================== */.checkbox label .toggle,.editable-input .editable-checklist>div>label label .toggle,.editable-input .editable-checklist>div>label>span .toggle,.checkbox-inline .toggle{margin-left:-20px;margin-right:5px}.toggle{position:relative;overflow:hidden}.toggle input[type="checkbox"]{display:none}.toggle-group{position:absolute;width:200%;top:0;bottom:0;left:0;transition:left 0.18s ease-in-out;-webkit-transition:left 0.18s ease-in-out;-moz-user-select:none;-webkit-user-select:none}.toggle.off .toggle-group{left:-100%}.toggle-on{position:absolute;top:0;bottom:0;left:0;right:50%;margin:0;border:0;border-radius:0}.toggle-off{position:absolute;top:0;bottom:0;left:50%;right:0;margin:0;border:0;border-radius:0}.toggle-handle{position:relative;margin:0 auto;padding-top:0;padding-bottom:0;height:100%;width:0;border-width:0 1px;background:#54585a}.toggle.btn{min-width:59px;min-height:34px}.toggle-on.btn{padding-right:24px}.toggle-off.btn{padding-left:24px}.toggle.btn-lg,.btn-group-lg>.toggle.btn{min-width:79px;min-height:45px}.toggle-on.btn-lg,.btn-group-lg>.toggle-on.btn{padding-right:31px}.toggle-off.btn-lg,.btn-group-lg>.toggle-off.btn{padding-left:31px}.toggle-handle.btn-lg,.btn-group-lg>.toggle-handle.btn{width:40px}.toggle.btn-sm,.btn-group-sm>.toggle.btn{min-width:50px;min-height:28px}.toggle-on.btn-sm,.btn-group-sm>.toggle-on.btn{padding-right:10px;padding-left:0}.toggle-off.btn-sm,.btn-group-sm>.toggle-off.btn{padding-left:10px;padding-right:0}.toggle.btn-xs,.btn-group-xs>.toggle.btn{min-width:35px;min-height:22px}.toggle-on.btn-xs,.btn-group-xs>.toggle-on.btn{padding-right:5px}.toggle-off.btn-xs,.btn-group-xs>.toggle-off.btn{padding-left:5px}.checkbox,.editable-input .editable-checklist>div>label{padding-left:20px}.checkbox label,.editable-input .editable-checklist>div>label label,.editable-input .editable-checklist>div>label>span{display:inline-block;vertical-align:middle;position:relative;padding-left:5px}.checkbox label::before,.editable-input .editable-checklist>div>label label::before,.editable-input .editable-checklist>div>label>span::before{content:"";display:inline-block;position:absolute;width:17px;height:17px;left:0;margin-left:-20px;border:1px solid #63676a;border-radius:3px;background-color:#313335;-webkit-transition:border 0.18s ease,color 0.18s ease,background-color 0.18s ease;transition:border 0.18s ease,color 0.18s ease,background-color 0.18s ease}.checkbox label::after,.editable-input .editable-checklist>div>label label::after,.editable-input .editable-checklist>div>label>span::after{font-family:"Font Awesome 5 Free";content:"\f00c";font-weight:bold;display:inline-block;position:absolute;width:16px;height:16px;left:0;top:0;opacity:0;transform:scale(2) rotateZ(-20deg);transition:all .18s ease-out;will-change:transform, opacity;margin-left:-20px;padding-left:3px;padding-top:1px;font-size:calc(100% - 1px);color:#adadad}.checkbox input[type="checkbox"],.editable-input .editable-checklist>div>label input[type="checkbox"],.checkbox input[type="radio"],.editable-input .editable-checklist>div>label input[type="radio"]{opacity:0;z-index:1;cursor:pointer}.checkbox input[type="checkbox"]:checked+label::after,.editable-input .editable-checklist>div>label input[type="checkbox"]:checked+label::after,.editable-input .editable-checklist>div>label>input[type="checkbox"]:checked+span::after,.checkbox input[type="radio"]:checked+label::after,.editable-input .editable-checklist>div>label input[type="radio"]:checked+label::after,.editable-input .editable-checklist>div>label>input[type="radio"]:checked+span::after{font-family:"Font Awesome 5 Free";content:"\f00c"}.checkbox input[type="checkbox"]:checked+label::after,.editable-input .editable-checklist>div>label input[type="checkbox"]:checked+label::after,.editable-input .editable-checklist>div>label>input[type="checkbox"]:checked+span::after,.checkbox input[type="radio"]:checked+label::after,.editable-input .editable-checklist>div>label input[type="radio"]:checked+label::after,.editable-input .editable-checklist>div>label>input[type="radio"]:checked+span::after{transform:scale(1) rotateZ(0deg);opacity:1}.checkbox input[type="checkbox"]:indeterminate+label::after,.editable-input .editable-checklist>div>label input[type="checkbox"]:indeterminate+label::after,.editable-input .editable-checklist>div>label>input[type="checkbox"]:indeterminate+span::after,.checkbox input[type="radio"]:indeterminate+label::after,.editable-input .editable-checklist>div>label input[type="radio"]:indeterminate+label::after,.editable-input .editable-checklist>div>label>input[type="radio"]:indeterminate+span::after{display:block;content:"";width:10px;height:3px;background-color:#555555;border-radius:2px;margin-left:-16.5px;margin-top:7px}.checkbox input[type="checkbox"]:disabled+label,.editable-input .editable-checklist>div>label input[type="checkbox"]:disabled+label,.editable-input .editable-checklist>div>label>input[type="checkbox"]:disabled+span,.checkbox input[type="radio"]:disabled+label,.editable-input .editable-checklist>div>label input[type="radio"]:disabled+label,.editable-input .editable-checklist>div>label>input[type="radio"]:disabled+span{opacity:0.65}.checkbox input[type="checkbox"]:disabled+label::before,.editable-input .editable-checklist>div>label input[type="checkbox"]:disabled+label::before,.editable-input .editable-checklist>div>label>input[type="checkbox"]:disabled+span::before,.checkbox input[type="radio"]:disabled+label::before,.editable-input .editable-checklist>div>label input[type="radio"]:disabled+label::before,.editable-input .editable-checklist>div>label>input[type="radio"]:disabled+span::before{background-color:#3c3f41;cursor:not-allowed}.checkbox.checkbox-circle label::before,.editable-input .editable-checklist>div>label.checkbox-circle label::before,.checkbox.checkbox-circle .editable-input .editable-checklist>div>label>span::before,.editable-input .checkbox.checkbox-circle .editable-checklist>div>label>span::before,.editable-input .editable-checklist>div>label.checkbox-circle .editable-checklist>div>label>span::before{border-radius:50%}.checkbox.checkbox-inline,.editable-input .editable-checklist>div>label.checkbox-inline{margin-top:0}.checkbox-primary input[type="checkbox"]:checked+label::before,.checkbox-primary .editable-input .editable-checklist>div>label>input[type="checkbox"]:checked+span::before,.editable-input .checkbox-primary .editable-checklist>div>label>input[type="checkbox"]:checked+span::before,.checkbox-primary input[type="radio"]:checked+label::before,.checkbox-primary .editable-input .editable-checklist>div>label>input[type="radio"]:checked+span::before,.editable-input .checkbox-primary .editable-checklist>div>label>input[type="radio"]:checked+span::before{background-color:#375959;border-color:#375959}.checkbox-primary input[type="checkbox"]:checked+label::after,.checkbox-primary .editable-input .editable-checklist>div>label>input[type="checkbox"]:checked+span::after,.editable-input .checkbox-primary .editable-checklist>div>label>input[type="checkbox"]:checked+span::after,.checkbox-primary input[type="radio"]:checked+label::after,.checkbox-primary .editable-input .editable-checklist>div>label>input[type="radio"]:checked+span::after,.editable-input .checkbox-primary .editable-checklist>div>label>input[type="radio"]:checked+span::after{color:#fff}.checkbox-danger input[type="checkbox"]:checked+label::before,.checkbox-danger .editable-input .editable-checklist>div>label>input[type="checkbox"]:checked+span::before,.editable-input .checkbox-danger .editable-checklist>div>label>input[type="checkbox"]:checked+span::before,.checkbox-danger input[type="radio"]:checked+label::before,.checkbox-danger .editable-input .editable-checklist>div>label>input[type="radio"]:checked+span::before,.editable-input .checkbox-danger .editable-checklist>div>label>input[type="radio"]:checked+span::before{background-color:#a52521;border-color:#a52521}.checkbox-danger input[type="checkbox"]:checked+label::after,.checkbox-danger .editable-input .editable-checklist>div>label>input[type="checkbox"]:checked+span::after,.editable-input .checkbox-danger .editable-checklist>div>label>input[type="checkbox"]:checked+span::after,.checkbox-danger input[type="radio"]:checked+label::after,.checkbox-danger .editable-input .editable-checklist>div>label>input[type="radio"]:checked+span::after,.editable-input .checkbox-danger .editable-checklist>div>label>input[type="radio"]:checked+span::after{color:#fff}.checkbox-info input[type="checkbox"]:checked+label::before,.checkbox-info .editable-input .editable-checklist>div>label>input[type="checkbox"]:checked+span::before,.editable-input .checkbox-info .editable-checklist>div>label>input[type="checkbox"]:checked+span::before,.checkbox-info input[type="radio"]:checked+label::before,.checkbox-info .editable-input .editable-checklist>div>label>input[type="radio"]:checked+span::before,.editable-input .checkbox-info .editable-checklist>div>label>input[type="radio"]:checked+span::before{background-color:#316490;border-color:#316490}.checkbox-info input[type="checkbox"]:checked+label::after,.checkbox-info .editable-input .editable-checklist>div>label>input[type="checkbox"]:checked+span::after,.editable-input .checkbox-info .editable-checklist>div>label>input[type="checkbox"]:checked+span::after,.checkbox-info input[type="radio"]:checked+label::after,.checkbox-info .editable-input .editable-checklist>div>label>input[type="radio"]:checked+span::after,.editable-input .checkbox-info .editable-checklist>div>label>input[type="radio"]:checked+span::after{color:#fff}.checkbox-warning input[type="checkbox"]:checked+label::before,.checkbox-warning .editable-input .editable-checklist>div>label>input[type="checkbox"]:checked+span::before,.editable-input .checkbox-warning .editable-checklist>div>label>input[type="checkbox"]:checked+span::before,.checkbox-warning input[type="radio"]:checked+label::before,.checkbox-warning .editable-input .editable-checklist>div>label>input[type="radio"]:checked+span::before,.editable-input .checkbox-warning .editable-checklist>div>label>input[type="radio"]:checked+span::before{background-color:#e28a0d;border-color:#e28a0d}.checkbox-warning input[type="checkbox"]:checked+label::after,.checkbox-warning .editable-input .editable-checklist>div>label>input[type="checkbox"]:checked+span::after,.editable-input .checkbox-warning .editable-checklist>div>label>input[type="checkbox"]:checked+span::after,.checkbox-warning input[type="radio"]:checked+label::after,.checkbox-warning .editable-input .editable-checklist>div>label>input[type="radio"]:checked+span::after,.editable-input .checkbox-warning .editable-checklist>div>label>input[type="radio"]:checked+span::after{color:#fff}.checkbox-success input[type="checkbox"]:checked+label::before,.checkbox-success .editable-input .editable-checklist>div>label>input[type="checkbox"]:checked+span::before,.editable-input .checkbox-success .editable-checklist>div>label>input[type="checkbox"]:checked+span::before,.checkbox-success input[type="radio"]:checked+label::before,.checkbox-success .editable-input .editable-checklist>div>label>input[type="radio"]:checked+span::before,.editable-input .checkbox-success .editable-checklist>div>label>input[type="radio"]:checked+span::before{background-color:#4f9e4f;border-color:#4f9e4f}.checkbox-success input[type="checkbox"]:checked+label::after,.checkbox-success .editable-input .editable-checklist>div>label>input[type="checkbox"]:checked+span::after,.editable-input .checkbox-success .editable-checklist>div>label>input[type="checkbox"]:checked+span::after,.checkbox-success input[type="radio"]:checked+label::after,.checkbox-success .editable-input .editable-checklist>div>label>input[type="radio"]:checked+span::after,.editable-input .checkbox-success .editable-checklist>div>label>input[type="radio"]:checked+span::after{color:#fff}.checkbox-primary input[type="checkbox"]:indeterminate+label::before,.checkbox-primary .editable-input .editable-checklist>div>label>input[type="checkbox"]:indeterminate+span::before,.editable-input .checkbox-primary .editable-checklist>div>label>input[type="checkbox"]:indeterminate+span::before,.checkbox-primary input[type="radio"]:indeterminate+label::before,.checkbox-primary .editable-input .editable-checklist>div>label>input[type="radio"]:indeterminate+span::before,.editable-input .checkbox-primary .editable-checklist>div>label>input[type="radio"]:indeterminate+span::before{background-color:#375959;border-color:#375959}.checkbox-primary input[type="checkbox"]:indeterminate+label::after,.checkbox-primary .editable-input .editable-checklist>div>label>input[type="checkbox"]:indeterminate+span::after,.editable-input .checkbox-primary .editable-checklist>div>label>input[type="checkbox"]:indeterminate+span::after,.checkbox-primary input[type="radio"]:indeterminate+label::after,.checkbox-primary .editable-input .editable-checklist>div>label>input[type="radio"]:indeterminate+span::after,.editable-input .checkbox-primary .editable-checklist>div>label>input[type="radio"]:indeterminate+span::after{background-color:#fff}.checkbox-danger input[type="checkbox"]:indeterminate+label::before,.checkbox-danger .editable-input .editable-checklist>div>label>input[type="checkbox"]:indeterminate+span::before,.editable-input .checkbox-danger .editable-checklist>div>label>input[type="checkbox"]:indeterminate+span::before,.checkbox-danger input[type="radio"]:indeterminate+label::before,.checkbox-danger .editable-input .editable-checklist>div>label>input[type="radio"]:indeterminate+span::before,.editable-input .checkbox-danger .editable-checklist>div>label>input[type="radio"]:indeterminate+span::before{background-color:#a52521;border-color:#a52521}.checkbox-danger input[type="checkbox"]:indeterminate+label::after,.checkbox-danger .editable-input .editable-checklist>div>label>input[type="checkbox"]:indeterminate+span::after,.editable-input .checkbox-danger .editable-checklist>div>label>input[type="checkbox"]:indeterminate+span::after,.checkbox-danger input[type="radio"]:indeterminate+label::after,.checkbox-danger .editable-input .editable-checklist>div>label>input[type="radio"]:indeterminate+span::after,.editable-input .checkbox-danger .editable-checklist>div>label>input[type="radio"]:indeterminate+span::after{background-color:#fff}.checkbox-info input[type="checkbox"]:indeterminate+label::before,.checkbox-info .editable-input .editable-checklist>div>label>input[type="checkbox"]:indeterminate+span::before,.editable-input .checkbox-info .editable-checklist>div>label>input[type="checkbox"]:indeterminate+span::before,.checkbox-info input[type="radio"]:indeterminate+label::before,.checkbox-info .editable-input .editable-checklist>div>label>input[type="radio"]:indeterminate+span::before,.editable-input .checkbox-info .editable-checklist>div>label>input[type="radio"]:indeterminate+span::before{background-color:#316490;border-color:#316490}.checkbox-info input[type="checkbox"]:indeterminate+label::after,.checkbox-info .editable-input .editable-checklist>div>label>input[type="checkbox"]:indeterminate+span::after,.editable-input .checkbox-info .editable-checklist>div>label>input[type="checkbox"]:indeterminate+span::after,.checkbox-info input[type="radio"]:indeterminate+label::after,.checkbox-info .editable-input .editable-checklist>div>label>input[type="radio"]:indeterminate+span::after,.editable-input .checkbox-info .editable-checklist>div>label>input[type="radio"]:indeterminate+span::after{background-color:#fff}.checkbox-warning input[type="checkbox"]:indeterminate+label::before,.checkbox-warning .editable-input .editable-checklist>div>label>input[type="checkbox"]:indeterminate+span::before,.editable-input .checkbox-warning .editable-checklist>div>label>input[type="checkbox"]:indeterminate+span::before,.checkbox-warning input[type="radio"]:indeterminate+label::before,.checkbox-warning .editable-input .editable-checklist>div>label>input[type="radio"]:indeterminate+span::before,.editable-input .checkbox-warning .editable-checklist>div>label>input[type="radio"]:indeterminate+span::before{background-color:#e28a0d;border-color:#e28a0d}.checkbox-warning input[type="checkbox"]:indeterminate+label::after,.checkbox-warning .editable-input .editable-checklist>div>label>input[type="checkbox"]:indeterminate+span::after,.editable-input .checkbox-warning .editable-checklist>div>label>input[type="checkbox"]:indeterminate+span::after,.checkbox-warning input[type="radio"]:indeterminate+label::after,.checkbox-warning .editable-input .editable-checklist>div>label>input[type="radio"]:indeterminate+span::after,.editable-input .checkbox-warning .editable-checklist>div>label>input[type="radio"]:indeterminate+span::after{background-color:#fff}.checkbox-success input[type="checkbox"]:indeterminate+label::before,.checkbox-success .editable-input .editable-checklist>div>label>input[type="checkbox"]:indeterminate+span::before,.editable-input .checkbox-success .editable-checklist>div>label>input[type="checkbox"]:indeterminate+span::before,.checkbox-success input[type="radio"]:indeterminate+label::before,.checkbox-success .editable-input .editable-checklist>div>label>input[type="radio"]:indeterminate+span::before,.editable-input .checkbox-success .editable-checklist>div>label>input[type="radio"]:indeterminate+span::before{background-color:#4f9e4f;border-color:#4f9e4f}.checkbox-success input[type="checkbox"]:indeterminate+label::after,.checkbox-success .editable-input .editable-checklist>div>label>input[type="checkbox"]:indeterminate+span::after,.editable-input .checkbox-success .editable-checklist>div>label>input[type="checkbox"]:indeterminate+span::after,.checkbox-success input[type="radio"]:indeterminate+label::after,.checkbox-success .editable-input .editable-checklist>div>label>input[type="radio"]:indeterminate+span::after,.editable-input .checkbox-success .editable-checklist>div>label>input[type="radio"]:indeterminate+span::after{background-color:#fff}.radio{padding-left:20px}.radio label,.radio .editable-input .editable-checklist>div>label>span,.editable-input .radio .editable-checklist>div>label>span{display:inline-block;vertical-align:middle;position:relative;padding-left:5px}.radio label::before,.radio .editable-input .editable-checklist>div>label>span::before,.editable-input .radio .editable-checklist>div>label>span::before{content:"";display:inline-block;position:absolute;width:17px;height:17px;left:0;margin-left:-20px;border:1px solid #63676a;border-radius:50%;background-color:#313335;-webkit-transition:border 0.18s ease,color 0.18s ease;transition:border 0.18s ease,color 0.18s ease}.radio label::after,.radio .editable-input .editable-checklist>div>label>span::after,.editable-input .radio .editable-checklist>div>label>span::after{display:inline-block;position:absolute;content:" ";width:11px;height:11px;left:3px;top:3px;opacity:0;transform:scale(2) rotateZ(-20deg);transition:all .18s ease;will-change:transform, opacity;margin-left:-20px;border-radius:50%;background-color:#adadad;-webkit-transform:scale(0,0);-ms-transform:scale(0,0);transform:scale(0,0);-webkit-transition:-webkit-transform 0.18s cubic-bezier(0.8, -0.33, 0.2, 1.33);-moz-transition:-moz-transform 0.18s cubic-bezier(0.8, -0.33, 0.2, 1.33);-o-transition:-o-transform 0.18s cubic-bezier(0.8, -0.33, 0.2, 1.33);transition:transform 0.18s cubic-bezier(0.8, -0.33, 0.2, 1.33)}.radio input[type="radio"]{opacity:0;z-index:1;cursor:pointer}.radio input[type="radio"]:checked+label::after,.radio .editable-input .editable-checklist>div>label>input[type="radio"]:checked+span::after,.editable-input .radio .editable-checklist>div>label>input[type="radio"]:checked+span::after{-webkit-transform:scale(1,1);-ms-transform:scale(1,1);transform:scale(1,1);opacity:1}.radio input[type="radio"]:disabled+label,.radio .editable-input .editable-checklist>div>label>input[type="radio"]:disabled+span,.editable-input .radio .editable-checklist>div>label>input[type="radio"]:disabled+span{opacity:0.65}.radio input[type="radio"]:disabled+label::before,.radio .editable-input .editable-checklist>div>label>input[type="radio"]:disabled+span::before,.editable-input .radio .editable-checklist>div>label>input[type="radio"]:disabled+span::before{cursor:not-allowed}.radio.radio-inline{margin-top:0}.radio-primary input[type="radio"]+label::after,.radio-primary .editable-input .editable-checklist>div>label>input[type="radio"]+span::after,.editable-input .radio-primary .editable-checklist>div>label>input[type="radio"]+span::after{background-color:#375959}.radio-primary input[type="radio"]:checked+label::before,.radio-primary .editable-input .editable-checklist>div>label>input[type="radio"]:checked+span::before,.editable-input .radio-primary .editable-checklist>div>label>input[type="radio"]:checked+span::before{border-color:#375959}.radio-primary input[type="radio"]:checked+label::after,.radio-primary .editable-input .editable-checklist>div>label>input[type="radio"]:checked+span::after,.editable-input .radio-primary .editable-checklist>div>label>input[type="radio"]:checked+span::after{background-color:#375959}.radio-danger input[type="radio"]+label::after,.radio-danger .editable-input .editable-checklist>div>label>input[type="radio"]+span::after,.editable-input .radio-danger .editable-checklist>div>label>input[type="radio"]+span::after{background-color:#a52521}.radio-danger input[type="radio"]:checked+label::before,.radio-danger .editable-input .editable-checklist>div>label>input[type="radio"]:checked+span::before,.editable-input .radio-danger .editable-checklist>div>label>input[type="radio"]:checked+span::before{border-color:#a52521}.radio-danger input[type="radio"]:checked+label::after,.radio-danger .editable-input .editable-checklist>div>label>input[type="radio"]:checked+span::after,.editable-input .radio-danger .editable-checklist>div>label>input[type="radio"]:checked+span::after{background-color:#a52521}.radio-info input[type="radio"]+label::after,.radio-info .editable-input .editable-checklist>div>label>input[type="radio"]+span::after,.editable-input .radio-info .editable-checklist>div>label>input[type="radio"]+span::after{background-color:#316490}.radio-info input[type="radio"]:checked+label::before,.radio-info .editable-input .editable-checklist>div>label>input[type="radio"]:checked+span::before,.editable-input .radio-info .editable-checklist>div>label>input[type="radio"]:checked+span::before{border-color:#316490}.radio-info input[type="radio"]:checked+label::after,.radio-info .editable-input .editable-checklist>div>label>input[type="radio"]:checked+span::after,.editable-input .radio-info .editable-checklist>div>label>input[type="radio"]:checked+span::after{background-color:#316490}.radio-warning input[type="radio"]+label::after,.radio-warning .editable-input .editable-checklist>div>label>input[type="radio"]+span::after,.editable-input .radio-warning .editable-checklist>div>label>input[type="radio"]+span::after{background-color:#e28a0d}.radio-warning input[type="radio"]:checked+label::before,.radio-warning .editable-input .editable-checklist>div>label>input[type="radio"]:checked+span::before,.editable-input .radio-warning .editable-checklist>div>label>input[type="radio"]:checked+span::before{border-color:#e28a0d}.radio-warning input[type="radio"]:checked+label::after,.radio-warning .editable-input .editable-checklist>div>label>input[type="radio"]:checked+span::after,.editable-input .radio-warning .editable-checklist>div>label>input[type="radio"]:checked+span::after{background-color:#e28a0d}.radio-success input[type="radio"]+label::after,.radio-success .editable-input .editable-checklist>div>label>input[type="radio"]+span::after,.editable-input .radio-success .editable-checklist>div>label>input[type="radio"]+span::after{background-color:#4f9e4f}.radio-success input[type="radio"]:checked+label::before,.radio-success .editable-input .editable-checklist>div>label>input[type="radio"]:checked+span::before,.editable-input .radio-success .editable-checklist>div>label>input[type="radio"]:checked+span::before{border-color:#4f9e4f}.radio-success input[type="radio"]:checked+label::after,.radio-success .editable-input .editable-checklist>div>label>input[type="radio"]:checked+span::after,.editable-input .radio-success .editable-checklist>div>label>input[type="radio"]:checked+span::after{background-color:#4f9e4f}input[type="checkbox"].styled:checked+label:after,.editable-input .editable-checklist>div>label>input[type="checkbox"].styled:checked+span:after,input[type="radio"].styled:checked+label:after,.editable-input .editable-checklist>div>label>input[type="radio"].styled:checked+span:after{font-family:"Font Awesome 5 Free";content:"\f00c"}input[type="checkbox"] .styled:checked+label::before,input[type="checkbox"] .editable-input .editable-checklist>div>label>.styled:checked+span::before,.editable-input input[type="checkbox"] .editable-checklist>div>label>.styled:checked+span::before,input[type="radio"] .styled:checked+label::before,input[type="radio"] .editable-input .editable-checklist>div>label>.styled:checked+span::before,.editable-input input[type="radio"] .editable-checklist>div>label>.styled:checked+span::before{color:#fff}input[type="checkbox"] .styled:checked+label::after,input[type="checkbox"] .editable-input .editable-checklist>div>label>.styled:checked+span::after,.editable-input input[type="checkbox"] .editable-checklist>div>label>.styled:checked+span::after,input[type="radio"] .styled:checked+label::after,input[type="radio"] .editable-input .editable-checklist>div>label>.styled:checked+span::after,.editable-input input[type="radio"] .editable-checklist>div>label>.styled:checked+span::after{color:#fff}html{margin:0;padding:0;height:100%;position:relative}body{margin:0;padding:0;min-height:100%;direction:ltr}body.mobile-view-activated.hidden-menu{overflow-x:hidden}body.modal-open{overflow:hidden !important}a:hover,a:active,a:focus,button,button:active,button:focus,object,embed,input::-moz-focus-inner{outline:0}h1,h3,h4{margin:0;font-family:"Oxygen Bold","Helvetica Neue",Helvetica,Arial,sans-serif}.page-title{margin:12px 0 28px}.page-title span{font-size:15px;color:#313335;display:inline-block;vertical-align:1px}label,.editable-input .editable-checklist>div>label>span{font-weight:normal}*:not(td):focus{outline:0 !important}a,input,button{-ms-touch-action:none !important}textarea:focus,select:focus,input[type="text"]:focus,input[type="password"]:focus,input[type="datetime"]:focus,input[type="datetime-local"]:focus,input[type="date"]:focus,input[type="month"]:focus,input[type="time"]:focus,input[type="week"]:focus,input[type="number"]:focus,input[type="email"]:focus,input[type="url"]:focus,input[type="search"]:focus,input[type="tel"]:focus,input[type="color"]:focus,.uneditable-input:focus{outline:0;outline:thin dotted \9;box-shadow:inset -1px 1px 5px 0 rgba(0,0,0,0.8) !important}.input-sm,.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn,.input-lg,.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn,.input-xs,.form-control{border-radius:0px !important;-webkit-border-radius:0px !important;-moz-border-radius:0px !important}.input-xs{height:24px;padding:2px 10px;font-size:11px;line-height:1.5}.btn-xs,.btn-group-xs>.btn{padding:0px 2px;font-size:10px;line-height:1.3}.btn-sm,.btn-group-sm>.btn{padding:5px 8px 4px}.btn-lg,.btn-group-lg>.btn{padding:10px 16px}.no-space{margin:0}.no-space>[class*="col-"]{margin:0 !important;padding-right:0;padding-left:0}h1{letter-spacing:-1px;font-size:22px;margin:10px 0}h1 small{font-size:12px;font-weight:300;letter-spacing:-1px}h2{font-size:20px;margin:20px 0;line-height:normal}h3{display:block;font-size:17px;font-weight:400;margin:20px 0;line-height:normal}h4{line-height:normal;margin:20px 0 10px 0}h5{font-size:14px;font-weight:300;margin-top:0;margin-bottom:10px;line-height:normal}h6{font-size:13px;margin:10px 0;font-weight:bold;line-height:normal}.row-seperator-header{margin:15px 14px 20px;border-bottom:none;display:block;color:#303133;font-size:20px;font-weight:400}.center-canvas,.center-child-canvas>canvas{display:block !important;margin:0 auto !important}.form-control{box-shadow:none !important;-webkit-box-shadow:none !important;-moz-box-shadow:none !important}.form hr{margin-left:-13px;margin-right:-13px;border-color:rgba(0,0,0,0.1);margin-top:20px;margin-bottom:20px}.form fieldset{display:block;border:none;background:rgba(255,255,255,0.9);position:relative}fieldset{position:relative}.popover-content .form-actions{margin:0 -14px -9px;border-radius:0 0 3px 3px;padding:9px 14px}.no-padding .form .form-actions{margin:0;display:block;padding:13px 14px 15px;border-top:1px solid rgba(0,0,0,0.1);background:rgba(248,248,248,0.9);text-align:right;margin-top:25px}.form header,legend{display:block;padding:8px 0;border-bottom:1px dashed rgba(0,0,0,0.2);background:#fff;font-size:16px;font-weight:300;color:#2b2b2b;margin:25px 0px 20px}.no-padding .form header{margin:25px 14px 0}.form header:first-child{margin-top:10px}legend{font-weight:400;margin-top:0px;background:none}.input-group-addon{padding:6px 10px;will-change:background-color, border-color;-moz-border-radius:0;-webkit-border-radius:0;border-radius:0;-webkit-transition:all ease-out 0.15s;transition:all ease-out 0.15s}.input-group-addon .fa{font-size:14px}.input-group-addon .fa-lg,.input-group-addon .fa-2x{font-size:2em}.input-group-addon .fa-3x,.input-group-addon .fa-4x,.input-group-addon .fa-5x{font-size:30px}input[type="text"]:focus+.input-group-addon,input[type="password"]:focus+.input-group-addon,input[type="email"]:focus+.input-group-addon{border-color:#568a89;color:#568a89}.has-warning input[type="text"],.has-warning input[type="text"]+.input-group-addon{border-color:#e28a0d}.has-warning input[type="text"]+.input-group-addon{background-color:#fbe3c0;color:#2b2b2b}.has-warning input[type="text"]:focus,.has-warning input[type="text"]:focus+.input-group-addon{border-color:#e28a0d}.has-warning input[type="text"]:focus+.input-group-addon{background-color:#e28a0d;color:#fff}.has-error .input-group-addon{border-color:#d9534f !important;background:#d9534f !important;color:#2b2b2b !important}.has-success .input-group-addon{border-color:#4f9e4f !important;background-color:#2b2b2b !important;color:#4f9e4f !important}.form fieldset .form-group:last-child,.form fieldset .form-group:last-child .note,.form .form-group:last-child,.form .form-group:last-child .note{margin-bottom:0}.note{margin-top:6px;padding:0 1px;font-size:11px;line-height:15px;color:#7c8184}.input-icon-right>i,.input-icon-left>i{position:absolute;right:10px;top:10px;font-size:12px;color:#63676a}.input-icon-left>i{right:auto;left:24px}.input-icon-right .form-control{padding-right:27px}.input-icon-left .form-control{padding-left:29px}input[type="text"].ui-autocomplete-loading,input[type="password"].ui-autocomplete-loading,input[type="datetime"].ui-autocomplete-loading,input[type="datetime-local"].ui-autocomplete-loading,input[type="date"].ui-autocomplete-loading,input[type="month"].ui-autocomplete-loading,input[type="time"].ui-autocomplete-loading,input[type="week"].ui-autocomplete-loading,input[type="number"].ui-autocomplete-loading,input[type="email"].ui-autocomplete-loading,input[type="url"].ui-autocomplete-loading,input[type="search"].ui-autocomplete-loading,input[type="tel"].ui-autocomplete-loading,input[type="color"].ui-autocomplete-loading{background-image:url("../../img/select2-spinner.gif") !important;background-repeat:no-repeat;background-position:99% 50%;padding-right:27px}.input-group-addon .checkbox,.input-group-addon .editable-input .editable-checklist>div>label,.editable-input .input-group-addon .editable-checklist>div>label,.input-group-addon .radio{min-height:0px;margin-right:0px !important;padding-top:0}.input-group-addon label input[type="checkbox"].checkbox+span,.input-group-addon .editable-input .editable-checklist>div>label>span input[type="checkbox"].checkbox+span,.editable-input .input-group-addon .editable-checklist>div>label>span input[type="checkbox"].checkbox+span,.input-group-addon label input[type="radio"].radiobox+span,.input-group-addon .editable-input .editable-checklist>div>label>span input[type="radio"].radiobox+span,.editable-input .input-group-addon .editable-checklist>div>label>span input[type="radio"].radiobox+span,.input-group-addon label input[type="radio"].radiobox+span:before,.input-group-addon .editable-input .editable-checklist>div>label>span input[type="radio"].radiobox+span:before,.editable-input .input-group-addon .editable-checklist>div>label>span input[type="radio"].radiobox+span:before,.input-group-addon label input[type="checkbox"].checkbox+span:before,.input-group-addon .editable-input .editable-checklist>div>label>span input[type="checkbox"].checkbox+span:before,.editable-input .input-group-addon .editable-checklist>div>label>span input[type="checkbox"].checkbox+span:before{margin-right:0px}.alert{margin-bottom:10px;margin-top:0px;padding:5px 15px 5px 34px;color:#675100;border-width:0px;border-left-width:3px;padding:10px}.alert .ui-pnotify-title{line-height:12px}.alert .ui-pnotify-text{font-size:10px}.alert .close{top:0px;right:-5px;line-height:18px}.alert-heading{font-weight:600}.alert-danger{border-color:#a52521;color:#2b2b2b;background:#f6d1d0;text-shadow:none}.alert-danger .ui-pnotify-icon{color:#a52521}.alert-warning{border-color:#e28a0d;color:#2b2b2b;background:#fdedd8}.alert-warning .ui-pnotify-icon{color:#e28a0d}.alert-success{border-color:#4f9e4f;color:#2b2b2b;background:#d1e8d1}.alert-success .ui-pnotify-icon{color:#4f9e4f}.alert-info{border-color:#316490;color:#2b2b2b;background:#abc9e2}.alert-info .ui-pnotify-icon{color:#316490}.progress-micro{height:2px !important;line-height:2px !important}.progress-xs{height:7px !important;line-height:7px !important}.progress-sm{height:14px !important;line-height:14px !important}.progress-lg{height:30px !important;line-height:30px !important}.progress .progress-bar{position:absolute;overflow:hidden;line-height:18px}.progress .progressbar-back-text{position:absolute;width:100%;height:100%;font-size:12px;line-height:20px;text-align:center}.progress .progressbar-front-text{display:block;width:100%;font-size:12px;line-height:20px;text-align:center}.progress.right .progress-bar{right:0}.progress.right .progressbar-front-text{position:absolute;right:0}.progress.vertical{width:25px;height:100%;min-height:150px;margin-right:20px;display:inline-block;margin-bottom:0px}.progress.wide-bar{width:40px}.progress.vertical.bottom{position:relative}.progress.vertical.bottom .progressbar-front-text{position:absolute;bottom:0}.progress.vertical .progress-bar{width:100%;height:0;-webkit-transition:height 0.6s ease;transition:height 0.6s ease}.progress.vertical.bottom .progress-bar{position:absolute;bottom:0}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-moz-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:0 0}to{background-position:40px 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{position:relative;margin-bottom:20px;overflow:hidden;height:18px;background:#63676a;-webkit-box-shadow:0 1px 0 transparent,0 0 0 1px #63676a inset;box-shadow:0 1px 0 transparent,0 0 0 1px #63676a inset;-moz-border-radius:0px;-webkit-border-radius:0px;border-radius:0px}.progress-bar{float:left;width:0;height:100%;font-size:11px;color:#fff;text-align:center;background-color:#428bca;font-weight:bold;-webkit-transition:width 1s ease-in-out,background-color 1s ease-in-out;transition:width 1s ease-in-out,background-color 1s ease-in-out}.progress-striped .progress-bar{background-image:-webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255,255,255,0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255,255,255,0.15)), color-stop(0.75, rgba(255,255,255,0.15)), color-stop(0.75, transparent), to(transparent));background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-moz-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%,rgba(0,0,0,0) 25%,rgba(0,0,0,0) 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,rgba(0,0,0,0) 75%,rgba(0,0,0,0));background-size:40px 40px}.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-moz-animation:progress-bar-stripes 2s linear infinite;-ms-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-danger{background-color:#a52521}.progress-striped .progress-bar-danger{background-image:-webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255,255,255,0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255,255,255,0.15)), color-stop(0.75, rgba(255,255,255,0.15)), color-stop(0.75, transparent), to(transparent));background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-moz-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%,rgba(0,0,0,0) 25%,rgba(0,0,0,0) 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,rgba(0,0,0,0) 75%,rgba(0,0,0,0))}.progress-bar-success{background-color:#4f9e4f}.progress-striped .progress-bar-success{background-image:-webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255,255,255,0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255,255,255,0.15)), color-stop(0.75, rgba(255,255,255,0.15)), color-stop(0.75, transparent), to(transparent));background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-moz-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%,rgba(0,0,0,0) 25%,rgba(0,0,0,0) 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,rgba(0,0,0,0) 75%,rgba(0,0,0,0))}.progress-bar-warning{background-color:#e28a0d}.progress-striped .progress-bar-warning{background-image:-webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255,255,255,0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255,255,255,0.15)), color-stop(0.75, rgba(255,255,255,0.15)), color-stop(0.75, transparent), to(transparent));background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-moz-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%,rgba(0,0,0,0) 25%,rgba(0,0,0,0) 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,rgba(0,0,0,0) 75%,rgba(0,0,0,0))}.progress-bar-info{background-color:#316490}.progress-striped .progress-bar-info{background-image:-webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255,255,255,0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255,255,255,0.15)), color-stop(0.75, rgba(255,255,255,0.15)), color-stop(0.75, transparent), to(transparent));background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-moz-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%,rgba(0,0,0,0) 25%,rgba(0,0,0,0) 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,rgba(0,0,0,0) 75%,rgba(0,0,0,0))}.progress-info .bar,.progress .bar-info{background:#316490}.vertical-bars{padding:0;margin:0}.vertical-bars:after{content:"";display:block;height:0;clear:both}.vertical-bars li{padding:14px 0;width:25%;display:block;float:left;text-align:center}.vertical-bars li:first-child{border-left:none}.vertical-bars>li>.progress.vertical:first-child{margin-left:auto}.vertical-bars>li>.progress.vertical{margin:0 auto;float:none}.nav-tabs{border-bottom:none}.nav-tabs>li>a .badge{font-size:11px;padding:3px 5px 3px 5px;opacity:.5;margin-left:5px;min-width:17px;font-weight:normal}.tabs-left .nav-tabs>li>a .badge{margin-right:5px;margin-left:0px}.nav-tabs>li>a .label{display:inline-block;font-size:11px;margin-left:5px;opacity:.5}.nav-tabs>li>a{color:#63676a;font-family:"Oxygen Bold","Helvetica Neue",Helvetica,Arial,sans-serif}.nav-tabs>li>a:hover{color:#adadad;border-color:transparent transparent #63676a transparent;margin-top:1px;border-top-width:0}.nav-tabs>li.active>a{background-color:#adadad;color:#1d1d1d;border-top-width:0px !important;margin-top:1px !important;font-weight:bold}.tabs-left .nav-tabs>li.active>a{-webkit-box-shadow:-2px 0 0 #428bca;-moz-box-shadow:-2px 0 0 #428bca;box-shadow:-2px 0 0 #428bca;border-top-width:1px !important;border-left:none !important;margin-left:1px !important}.tabs-left .nav-pills>li.active>a{border:none !important;box-shadow:none !important;-webkit-box-shadow:none !important;-moz-box-shadow:none !important}.tabs-right .nav-tabs>li.active>a{-webkit-box-shadow:2px 0 0 #428bca;-moz-box-shadow:2px 0 0 #428bca;box-shadow:2px 0 0 #428bca;border-top-width:1px !important;border-right:none !important;margin-right:1px !important}.tabs-below .nav-tabs>li.active>a{-webkit-box-shadow:0 2px 0 #428bca;-moz-box-shadow:0 2px 0 #428bca;box-shadow:0 2px 0 #428bca;border-bottom-width:0px !important;border-top:none !important;margin-top:0px !important}.tabs-below>.nav-tabs,.tabs-right>.nav-tabs,.tabs-left>.nav-tabs{border-bottom:0}.tab-content>.tab-pane,.pill-content>.pill-pane{display:none}.tab-content>.active,.pill-content>.active{display:block}.tabs-below>.nav-tabs{border-top:1px solid #9b9b9b}.tabs-below>.nav-tabs>li{margin-top:-1px;margin-bottom:0}.tabs-left>.nav-tabs>li,.tabs-right>.nav-tabs>li,.tabs-left>.nav-pills>li,.tabs-right>.nav-pills>li{float:none}.tabs-left>.nav-tabs>li>a,.tabs-right>.nav-tabs>li>a,.tabs-left>.nav-pills>li>a,.tabs-right>.nav-pills>li>a{min-width:74px;margin-right:0;margin-bottom:3px}.tabs-left>.nav-tabs,.tabs-left>.nav-pills{float:left;margin-right:19px;border-right:1px solid #9b9b9b}.tabs-left>.nav-pills{border-right:none}.tabs-left>.nav-tabs>li>a{margin-right:-1px}.tabs-left>.nav-tabs>li>a:hover,.tabs-left>.nav-tabs>li>a:focus{border-color:#adadad #949494 #adadad #adadad}.tabs-left>.nav-tabs .active>a,.tabs-left>.nav-tabs .active>a:hover,.tabs-left>.nav-tabs .active>a:focus{border-color:#949494 transparent #949494 #9b9b9b;*border-right-color:#fff}.tabs-left>.tab-content{margin-left:109px}.tabs-right>.nav-tabs{float:right;margin-left:19px;border-left:1px solid #9b9b9b}.tabs-right>.nav-tabs>li>a{margin-left:-1px}.tabs-right>.nav-tabs>li>a:hover,.tabs-right>.nav-tabs>li>a:focus{border-color:#adadad #adadad #adadad #9b9b9b}.tabs-right>.nav-tabs .active>a,.tabs-right>.nav-tabs .active>a:hover,.tabs-right>.nav-tabs .active>a:focus{border-color:#9b9b9b #9b9b9b #9b9b9b transparent;*border-left-color:#fff}.tabs-below>.nav-tabs,.tabs-right>.nav-tabs,.tabs-left>.nav-tabs{border-bottom:0}.tab-content>.tab-pane,.pill-content>.pill-pane{display:none}.tab-content>.active,.pill-content>.active{display:block}.tabs-below>.nav-tabs{border-top:1px solid #9b9b9b}.tabs-below>.nav-tabs>li{margin-top:-1px;margin-bottom:0}.tabs-below>.nav-tabs>li>a:hover,.tabs-below>.nav-tabs>li>a:focus{border-top-color:#9b9b9b;border-bottom-color:transparent}.tabs-below>.nav-tabs>.active>a,.tabs-below>.nav-tabs>.active>a:hover,.tabs-below>.nav-tabs>.active>a:focus{border-color:transparent #9b9b9b #9b9b9b #9b9b9b}.nav-tabs.bordered{background:#fff;border:1px solid #9b9b9b}.nav-tabs.bordered>:first-child a{border-left-width:0px !important}.nav-tabs.bordered+.tab-content{border:1px solid #9b9b9b;border-top:none}.tabs-pull-right.nav-tabs>li,.tabs-pull-right.nav-pills>li{float:right}.tabs-pull-right.nav-tabs>li:first-child>a,.tabs-pull-right.nav-pills>li:first-child>a{margin-right:1px}.tabs-pull-right.bordered.nav-tabs>li:first-child>a,.tabs-pull-right.bordered.nav-pills>li:first-child>a{border-left-width:1px !important;margin-right:0px;border-right-width:0px}.dropdown-menu-xs{min-width:37px}.dropdown-menu-xs>li>a{padding:3px 10px}.dropdown-menu-xs>li>a:hover i{color:#fff !important}.dropdown-submenu{position:relative}.dropdown-submenu>.dropdown-menu{top:0;left:100%;margin-top:-6px;margin-left:-1px}.dropdown-submenu:hover>.dropdown-menu{display:block}.dropdown-submenu:hover>a{background-color:#63676a;color:#1d1d1d}.dropdown-submenu:hover a:after{border-left-color:#5cb85c}.dropdown-submenu>a:after{display:block;content:" ";float:right;width:0;height:0;border-color:transparent;border-style:solid;border-width:5px 0 5px 5px;border-left-color:#2b2b2b;margin-top:4px;margin-right:3px}.dropdown-submenu>a:hover:after{border-left-color:#adadad}.dropdown-submenu.pull-left{float:none}.dropdown-submenu.pull-left>.dropdown-menu{left:-100%;margin-left:10px}.pagination>li>a,.pagination>li>span{box-shadow:inset 0 -2px 0 rgba(0,0,0,0.05);-moz-box-shadow:inset 0 -2px 0 rgba(0,0,0,0.05);-webkit-box-shadow:inset 0 -2px 0 rgba(0,0,0,0.05)}.btn-default.disabled{color:#adadad}.btn{font-family:"Oxygen Bold","Helvetica Neue",Helvetica,Arial,sans-serif;will-change:background-color, border-color;-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;-webkit-transition:color 0.18s ease-in-out,background-color 0.18s ease-in-out,border-color 0.18s ease-in-out,box-shadow 0.18s ease-in-out;transition:color 0.18s ease-in-out,background-color 0.18s ease-in-out,border-color 0.18s ease-in-out,box-shadow 0.18s ease-in-out}.btn.btn-ribbon{background-color:#707070;background-image:-moz-linear-gradient(top, #777, #666);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#777), to(#666));background-image:-webkit-linear-gradient(top, #777, #666);background-image:-o-linear-gradient(top, #777, #666);background-image:linear-gradient(to bottom, #777777,#666666);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff777777', endColorstr='#ff666666', GradientType=0);color:white;padding:0 5px;line-height:20px;vertical-align:middle;height:20px;display:block;border:none;float:left;margin:0 8px 0 0;cursor:pointer}.btn.btn-ribbon>i{font-size:111%}.ribbon-button-alignment{padding-top:10px;display:inline-block}.ribbon-button-alignment.pull-right>.btn.btn-ribbon{margin:0 0 0 8px}.panel-purple{border-color:#6e587a}.panel-purple>.panel-heading{color:#fff;background-color:#6e587a;border-color:#6e587a}.panel-greenLight{border-color:#71843f}.panel-greenLight>.panel-heading{color:#fff;background-color:#71843f;border-color:#71843f}.panel-greenDark{border-color:#496949}.panel-greenDark>.panel-heading{color:#fff;background-color:#496949;border-color:#496949}.panel-darken{border-color:#313335}.panel-darken>.panel-heading{color:#fff;background-color:#404040;border-color:#404040}.panel-green{border-color:#5cb85c}.panel-green>.panel-heading{color:#fff;background-color:#5cb85c;border-color:#5cb85c}.panel-red{border-color:#d9534f}.panel-red>.panel-heading{color:#fff;background-color:#d9534f;border-color:#d9534f}.panel-teal{border-color:#568a89}.panel-teal>.panel-heading{color:#fff;background-color:#568a89;border-color:#568a89}.panel-orange{border-color:#e28a0d}.panel-orange>.panel-heading{color:#fff;background-color:#e28a0d;border-color:#e28a0d}.panel-blueDark{border-color:#4c4f53}.panel-blueDark>.panel-heading{color:#fff;background-color:#4c4f53;border-color:#4c4f53}.panel-magenta{border-color:#6e3671}.panel-magenta>.panel-heading{color:#fff;background-color:#6e3671;border-color:#6e3671}.panel-blue{border-color:#428bca}.panel-blue>.panel-heading{color:#fff;background-color:#428bca;border-color:#428bca}.panel-footer>.btn-block{border-radius:0px;-moz-border-radius:0px;-webkit-border-radius:0px;border-bottom:none;border-left:none;border-right:none}.btn-circle{width:30px;height:30px;text-align:center;padding:6px 0;font-size:12px;line-height:18px;border-radius:50%;-moz-border-radius:50%;-webkit-border-radius:50%;-webkit-box-shadow:0 1px 6px 0 rgba(0,0,0,0.12),0 1px 6px 0 rgba(0,0,0,0.12);box-shadow:0 1px 6px 0 rgba(0,0,0,0.12),0 1px 6px 0 rgba(0,0,0,0.12)}.btn-circle.btn-sm,.btn-group-sm>.btn-circle.btn{width:22px;height:22px;padding:4px 0;font-size:12px;line-height:14px;border-radius:50%;-moz-border-radius:50%;-webkit-border-radius:50%}.btn-circle.btn-lg,.btn-group-lg>.btn-circle.btn{width:50px;height:50px;padding:10px 15px;font-size:18px;line-height:30px;border-radius:50%;-moz-border-radius:50%;-webkit-border-radius:50%}.btn-circle.btn-xl{width:70px;height:70px;padding:10px 15px;font-size:24px;line-height:50px;border-radius:50%;-moz-border-radius:50%;-webkit-border-radius:50%}.btn-label{position:relative;left:-8px;display:inline-block;padding:5px 8px;background:rgba(0,0,0,0.15);border-radius:2px 0 0 2px}.btn-labeled{padding-top:0;padding-bottom:0;padding-left:8px}.btn-link{box-shadow:none;-webkit-box-shadow:none;font-size:13px}.morris-hover.morris-default-style{border-radius:5px;padding:5px;color:#666;background:rgba(29,29,29,0.9);border:solid 2px #375959;font-family:'Oxygen Bold';font-size:10px;text-align:left;-webkit-box-shadow:0 6px 12px rgba(0,0,0,0.4);box-shadow:0 6px 12px rgba(0,0,0,0.4)}.morris-hover.morris-default-style .morris-hover-row-label{font-weight:bold}.morris-hover.morris-default-style .morris-hover-point{white-space:nowrap}.morris-hover{position:absolute;z-index:903}.fixed-page-footer .morris-hover{z-index:900}.txt-color.txt-color-blue,.txt-color-blue.pf-help-light,.pf-help-light:hover,.txt-color-blue.pf-help,.pf-help:hover,.txt-color.pf-help-default:hover,.dataTable td.pf-help-default.pf-table-link-cell:hover,.dataTable td.pf-table-link-cell.pf-help-light:hover,.dataTable td.pf-table-link-cell.pf-help:hover,.dataTable td.pf-table-action-cell>.pf-help-default.pf-table-action-icon-cell:hover,.dataTable td.pf-table-action-cell>.pf-table-action-icon-cell.pf-help-light:hover,.dataTable td.pf-table-action-cell>.pf-table-action-icon-cell.pf-help:hover,.pf-landing .pf-landing-list li>i.pf-help-default:hover,.pf-landing .pf-landing-list li>i.pf-help-light:hover,.pf-landing .pf-landing-list li>i.pf-help:hover,.dataTable td.txt-color-blue.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-blue.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-blue{color:#428bca !important}.txt-color.txt-color-blueLight,.txt-color-blueLight.pf-help-light,.txt-color-blueLight.pf-help,.dataTable td.txt-color-blueLight.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-blueLight.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-blueLight{color:#92a2a8 !important}.txt-color.txt-color-blueDark,.txt-color-blueDark.pf-help-light,.txt-color-blueDark.pf-help,.dataTable td.txt-color-blueDark.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-blueDark.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-blueDark{color:#4c4f53 !important}.txt-color.txt-color-grayLightest,.txt-color-grayLightest.pf-help-light,.txt-color-grayLightest.pf-help,.dataTable td.txt-color-grayLightest.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-grayLightest.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-grayLightest{color:#eaeaea !important}.txt-color.txt-color-grayLighter,.txt-color-grayLighter.pf-help-light,.txt-color-grayLighter.pf-help,.dataTable td.txt-color-grayLighter.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-grayLighter.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-grayLighter{color:#adadad !important}.txt-color.txt-color-grayLight,.pf-help-light,.txt-color-grayLight.pf-help,.dataTable td.txt-color-grayLight.pf-table-link-cell,.dataTable td.pf-table-link-cell.pf-help-light,.dataTable td.pf-table-action-cell>.txt-color-grayLight.pf-table-action-icon-cell,.dataTable td.pf-table-action-cell>.pf-table-action-icon-cell.pf-help-light,.pf-landing .pf-landing-list li>i.txt-color-grayLight,.pf-landing .pf-landing-list li>i.pf-help-light{color:#63676a !important}.txt-color.txt-color-gray,.txt-color-gray.pf-help-light,.pf-help,.dataTable td.txt-color-gray.pf-table-link-cell,.dataTable td.pf-table-link-cell.pf-help,.dataTable td.pf-table-action-cell>.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-gray,.pf-landing .pf-landing-list li>i.pf-help{color:#3c3f41 !important}.txt-color.txt-color-grayDark,.txt-color-grayDark.pf-help-light,.txt-color-grayDark.pf-help,.dataTable td.txt-color-grayDark.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-grayDark.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-grayDark{color:#313335 !important}.txt-color.txt-color-greenLight,.txt-color-greenLight.pf-help-light,.txt-color-greenLight.pf-help,.dataTable td.txt-color-greenLight.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-greenLight.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-greenLight{color:#66c84f !important}.txt-color.txt-color-green,.txt-color-green.pf-help-light,.pf-help-light.pf-log-info,.txt-color-green.pf-help,.pf-help.pf-log-info,.dataTable td.txt-color-green.pf-table-link-cell,.dataTable td.pf-table-link-cell.pf-log-info,.dataTable td.pf-table-action-cell>.txt-color-green.pf-table-action-icon-cell,.dataTable td.pf-table-action-cell>.pf-table-action-icon-cell.pf-log-info,.txt-color.pf-log-info,.pf-landing .pf-landing-list li>i.pf-log-info,.pf-landing .pf-landing-list li>i.txt-color-green{color:#5cb85c !important}.txt-color.txt-color-greenDark,.txt-color-greenDark.pf-help-light,.txt-color-greenDark.pf-help,.dataTable td.txt-color-greenDark.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-greenDark.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-greenDark{color:#4f9e4f !important}.txt-color.txt-color-redLight,.txt-color-redLight.pf-help-light,.txt-color-redLight.pf-help,.dataTable td.txt-color-redLight.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-redLight.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-redLight{color:#a65858 !important}.txt-color.txt-color-red,.txt-color-red.pf-help-light,.pf-help-light.pf-log-error,.txt-color-red.pf-help,.pf-help.pf-log-error,.dataTable td.txt-color-red.pf-table-link-cell,.dataTable td.pf-table-link-cell.pf-log-error,.dataTable td.pf-table-action-cell>.txt-color-red.pf-table-action-icon-cell,.dataTable td.pf-table-action-cell>.pf-table-action-icon-cell.pf-log-error,.txt-color.pf-log-error,.pf-landing .pf-landing-list li>i.pf-log-error,.pf-landing .pf-landing-list li>i.txt-color-red{color:#d9534f !important}.txt-color.txt-color-redDarker,.txt-color-redDarker.pf-help-light,.txt-color-redDarker.pf-help,.dataTable td.txt-color-redDarker.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-redDarker.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-redDarker{color:#a52521 !important}.txt-color.txt-color-yellow,.txt-color-yellow.pf-help-light,.txt-color-yellow.pf-help,.dataTable td.txt-color-yellow.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-yellow.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-yellow{color:#e2ce48 !important}.txt-color.txt-color-yellowDark,.txt-color-yellowDark.pf-help-light,.txt-color-yellowDark.pf-help,.dataTable td.txt-color-yellowDark.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-yellowDark.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-yellowDark{color:#c8b847 !important}.txt-color.txt-color-orangeLight,.txt-color-orangeLight.pf-help-light,.txt-color-orangeLight.pf-help,.dataTable td.txt-color-orangeLight.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-orangeLight.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-orangeLight{color:#f0ad4e !important}.txt-color.txt-color-orange,.txt-color-orange.pf-help-light,.txt-color-orange.pf-help,.dataTable td.txt-color-orange.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-orange.pf-table-action-icon-cell,.dataTable td.pf-table-action-cell:hover>.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-orange{color:#e28a0d !important}.txt-color.txt-color-orangeDark,.txt-color-orangeDark.pf-help-light,.txt-color-orangeDark.pf-help,.dataTable td.txt-color-orangeDark.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-orangeDark.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-orangeDark{color:#c2760c !important}.txt-color.txt-color-pink,.txt-color-pink.pf-help-light,.txt-color-pink.pf-help,.dataTable td.txt-color-pink.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-pink.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-pink{color:#e06fdf !important}.txt-color.txt-color-pinkDark,.txt-color-pinkDark.pf-help-light,.txt-color-pinkDark.pf-help,.dataTable td.txt-color-pinkDark.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-pinkDark.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-pinkDark{color:#a8829f !important}.txt-color.txt-color-purple,.txt-color-purple.pf-help-light,.txt-color-purple.pf-help,.dataTable td.txt-color-purple.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-purple.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-purple{color:#6e587a !important}.txt-color.txt-color-darken,.txt-color-darken.pf-help-light,.txt-color-darken.pf-help,.dataTable td.txt-color-darken.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-darken.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-darken{color:#404040 !important}.txt-color.txt-color-lighten,.txt-color-lighten.pf-help-light,.txt-color-lighten.pf-help,.dataTable td.txt-color-lighten.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-lighten.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-lighten{color:#d5e7ec !important}.txt-color.txt-color-white,.txt-color-white.pf-help-light,.txt-color-white.pf-help,.dataTable td.txt-color-white.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-white.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-white{color:#fff !important}.txt-color.txt-color-magenta,.txt-color-magenta.pf-help-light,.txt-color-magenta.pf-help,.dataTable td.txt-color-magenta.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-magenta.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-magenta{color:#6e3671 !important}.txt-color.txt-color-tealLightest,.txt-color-tealLightest.pf-help-light,.txt-color-tealLightest.pf-help,.dataTable td.txt-color-tealLightest.pf-table-link-cell,.dataTable td.pf-table-link-cell:hover,.dataTable td.pf-table-action-cell>.txt-color-tealLightest.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-tealLightest{color:#6caead !important}.txt-color.txt-color-tealLighter,.txt-color-tealLighter.pf-help-light,.txt-color-tealLighter.pf-help,.dataTable td.txt-color-tealLighter.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-tealLighter.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i{color:#568a89 !important}.txt-color.txt-color-teal,.txt-color-teal.pf-help-light,.txt-color-teal.pf-help,.dataTable td.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-teal.pf-table-action-icon-cell,.dataTable td.pf-table-action-cell>td.pf-table-action-icon-cell.pf-table-link-cell,.pf-landing .pf-landing-list li>i.txt-color-teal{color:#477372 !important}.txt-color.txt-color-indigoDark,.txt-color-indigoDark.pf-help-light,.txt-color-indigoDark.pf-help,.dataTable td.txt-color-indigoDark.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-indigoDark.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-indigoDark{color:#5c6bc0 !important}.txt-color.txt-color-indigoDarkest,.txt-color-indigoDarkest.pf-help-light,.txt-color-indigoDarkest.pf-help,.dataTable td.txt-color-indigoDarkest.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-indigoDarkest.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-indigoDarkest{color:#313966 !important}.txt-color.txt-color-gold,.txt-color-gold.pf-help-light,.txt-color-gold.pf-help,.dataTable td.txt-color-gold.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-gold.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-gold{color:#cfb53b !important}.txt-color.txt-color-silver,.txt-color-silver.pf-help-light,.txt-color-silver.pf-help,.dataTable td.txt-color-silver.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-silver.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-silver{color:silver !important}.txt-color.txt-color-bronze,.txt-color-bronze.pf-help-light,.txt-color-bronze.pf-help,.dataTable td.txt-color-bronze.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-bronze.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-bronze{color:#8c7853 !important}.txt-color.txt-color-primary,.txt-color-primary.pf-help-light,.txt-color-primary.pf-help,.dataTable td.txt-color-primary.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-primary.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-primary{color:#375959 !important}.txt-color.txt-color-success,.txt-color-success.pf-help-light,.txt-color-success.pf-help,.dataTable td.txt-color-success.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-success.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-success{color:#4f9e4f !important}.txt-color.txt-color-information,.txt-color-information.pf-help-light,.txt-color-information.pf-help,.dataTable td.txt-color-information.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-information.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-information{color:#316490 !important}.txt-color.txt-color-info,.txt-color-info.pf-help-light,.txt-color-info.pf-help,.dataTable td.txt-color-info.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-info.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-info{color:#316490 !important}.txt-color.txt-color-warning,.txt-color-warning.pf-help-light,.pf-help-light.pf-log-warning,.txt-color-warning.pf-help,.pf-help.pf-log-warning,.dataTable td.txt-color-warning.pf-table-link-cell,.dataTable td.pf-table-link-cell.pf-log-warning,.dataTable td.pf-table-action-cell>.txt-color-warning.pf-table-action-icon-cell,.dataTable td.pf-table-action-cell>.pf-table-action-icon-cell.pf-log-warning,.txt-color.pf-log-warning,.pf-landing .pf-landing-list li>i.pf-log-warning,.pf-landing .pf-landing-list li>i.txt-color-warning{color:#e28a0d !important}.txt-color.txt-color-danger,.txt-color-danger.pf-help-light,.txt-color-danger.pf-help,.dataTable td.txt-color-danger.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-danger.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-danger{color:#a52521 !important}.bg-color.bg-color-blue{background-color:#428bca !important}.bg-color.bg-color-blueLight{background-color:#92a2a8 !important}.bg-color.bg-color-blueDark{background-color:#4c4f53 !important}.bg-color.bg-color-green{background-color:#5cb85c !important}.bg-color.bg-color-greenLight{background-color:#71843f !important}.bg-color.bg-color-greenDark{background-color:#496949 !important}.bg-color.bg-color-red{background-color:#d9534f !important}.bg-color.bg-color-yellow{background-color:#e2ce48 !important}.bg-color.bg-color-orange{background-color:#e28a0d !important}.bg-color.bg-color-orangeDark{background-color:#c2760c !important}.bg-color.bg-color-pink{background-color:#e06fdf !important}.bg-color.bg-color-pinkDark{background-color:#a8829f !important}.bg-color.bg-color-purple{background-color:#6e587a !important}.bg-color.bg-color-darken{background-color:#404040 !important}.bg-color.bg-color-lighten{background-color:#d5e7ec !important}.bg-color.bg-color-white{background-color:#fff !important}.bg-color.bg-color-gray{background-color:#3c3f41 !important}.bg-color.bg-color-grayDark{background-color:#525252 !important}.bg-color.bg-color-grayDarker{background-color:#2b2b2b !important}.bg-color.bg-color-magenta{background-color:#6e3671 !important}.bg-color.bg-color-tealLighter{background-color:#568a89 !important}.bg-color.bg-color-tealDarker{background-color:#212C30 !important}.bg-color.bg-color-tealDarkest{background-color:#1b2326 !important}.bg-color.bg-color-redLight{background-color:#a65858 !important}.pf-animation-slide-in{-moz-animation-duration:1.2s;-webkit-animation-duration:1.2s;-moz-animation-name:pfSlideIn;-webkit-animation-name:pfSlideIn;position:relative}@-webkit-keyframes pfSlideIn{from{opacity:0;top:-20px}to{opacity:1;top:0px}}@-moz-keyframes pfSlideIn{from{opacity:0;top:-20px}to{opacity:1;top:0px}}@-ms-keyframes pfSlideIn{from{opacity:0;top:-20px}to{opacity:1;top:0px}}@keyframes pfSlideIn{from{opacity:0;top:-20px}to{opacity:1;top:0px}}@-webkit-keyframes pfPulseDanger{0%{fill:#d9534f}50%{fill:#58100d}100%{fill:#d9534f}}@-moz-keyframes pfPulseDanger{0%{fill:#d9534f}50%{fill:#58100d}100%{fill:#d9534f}}@-ms-keyframes pfPulseDanger{0%{fill:#d9534f}50%{fill:#58100d}100%{fill:#d9534f}}@keyframes pfPulseDanger{0%{fill:#d9534f}50%{fill:#58100d}100%{fill:#d9534f}}.pf-animation-pulse-success{-webkit-animation:pulseBackgroundSuccess 1s 1;animation:pulseBackgroundSuccess 1s 1;-webkit-animation-timing-function:cubic-bezier(0.53, -0.03, 0.68, 0.38);animation-timing-function:cubic-bezier(0.53, -0.03, 0.68, 0.38)}.pf-animation-pulse-success .sorting_1{-webkit-animation:pulseBackgroundSuccessActive 1s 1;animation:pulseBackgroundSuccessActive 1s 1;-webkit-animation-timing-function:cubic-bezier(0.53, -0.03, 0.68, 0.38);animation-timing-function:cubic-bezier(0.53, -0.03, 0.68, 0.38)}.pf-animation-pulse-warning{-webkit-animation:pulseBackgroundWarning 1s 1;animation:pulseBackgroundWarning 1s 1;-webkit-animation-timing-function:cubic-bezier(0.53, -0.03, 0.68, 0.38);animation-timing-function:cubic-bezier(0.53, -0.03, 0.68, 0.38)}.pf-animation-pulse-warning .sorting_1{-webkit-animation:pulseBackgroundWarningActive 1s 1;animation:pulseBackgroundWarningActive 1s 1;-webkit-animation-timing-function:cubic-bezier(0.53, -0.03, 0.68, 0.38);animation-timing-function:cubic-bezier(0.53, -0.03, 0.68, 0.38)}.pf-animation-pulse-danger{-webkit-animation:pulseBackgroundDanger 1s 1;animation:pulseBackgroundDanger 1s 1;-webkit-animation-timing-function:cubic-bezier(0.53, -0.03, 0.68, 0.38);animation-timing-function:cubic-bezier(0.53, -0.03, 0.68, 0.38)}.pf-animation-pulse-danger .sorting_1{-webkit-animation:pulseBackgroundDangerActive 1s 1;animation:pulseBackgroundDangerActive 1s 1;-webkit-animation-timing-function:cubic-bezier(0.53, -0.03, 0.68, 0.38);animation-timing-function:cubic-bezier(0.53, -0.03, 0.68, 0.38)}@-webkit-keyframes pulseBackgroundSuccess{10%{background-color:#4f9e4f;color:#313335}}@-moz-keyframes pulseBackgroundSuccess{10%{background-color:#4f9e4f;color:#313335}}@-ms-keyframes pulseBackgroundSuccess{10%{background-color:#4f9e4f;color:#313335}}@keyframes pulseBackgroundSuccess{10%{background-color:#4f9e4f;color:#313335}}@-webkit-keyframes pulseBackgroundSuccessActive{10%{background-color:#478d47;color:#313335}}@-moz-keyframes pulseBackgroundSuccessActive{10%{background-color:#478d47;color:#313335}}@-ms-keyframes pulseBackgroundSuccessActive{10%{background-color:#478d47;color:#313335}}@keyframes pulseBackgroundSuccessActive{10%{background-color:#478d47;color:#313335}}@-webkit-keyframes pulseBackgroundWarning{10%{background-color:#e28a0d;color:#2b2b2b}}@-moz-keyframes pulseBackgroundWarning{10%{background-color:#e28a0d;color:#2b2b2b}}@-ms-keyframes pulseBackgroundWarning{10%{background-color:#e28a0d;color:#2b2b2b}}@keyframes pulseBackgroundWarning{10%{background-color:#e28a0d;color:#2b2b2b}}@-webkit-keyframes pulseBackgroundWarningActive{10%{background-color:#ca7b0c;color:#2b2b2b}}@-moz-keyframes pulseBackgroundWarningActive{10%{background-color:#ca7b0c;color:#2b2b2b}}@-ms-keyframes pulseBackgroundWarningActive{10%{background-color:#ca7b0c;color:#2b2b2b}}@keyframes pulseBackgroundWarningActive{10%{background-color:#ca7b0c;color:#2b2b2b}}@-webkit-keyframes pulseBackgroundDanger{10%{background-color:#d9534f;color:#2b2b2b}}@-moz-keyframes pulseBackgroundDanger{10%{background-color:#d9534f;color:#2b2b2b}}@-ms-keyframes pulseBackgroundDanger{10%{background-color:#d9534f;color:#2b2b2b}}@keyframes pulseBackgroundDanger{10%{background-color:#d9534f;color:#2b2b2b}}@-webkit-keyframes pulseBackgroundDangerActive{10%{background-color:#d43f3a;color:#2b2b2b}}@-moz-keyframes pulseBackgroundDangerActive{10%{background-color:#d43f3a;color:#2b2b2b}}@-ms-keyframes pulseBackgroundDangerActive{10%{background-color:#d43f3a;color:#2b2b2b}}@keyframes pulseBackgroundDangerActive{10%{background-color:#d43f3a;color:#2b2b2b}}.pf-animate-rotate,.modal-content h2[data-toggle="collapse"]:after,.modal-content h4[data-toggle="collapse"]:after,.panel-body h2[data-toggle="collapse"]:after,.panel-body h4[data-toggle="collapse"]:after{-webkit-transition:all 0.08s linear;transition:all 0.08s linear}.pf-animate-rotate.right,.modal-content h2.right[data-toggle="collapse"]:after,.modal-content h4.right[data-toggle="collapse"]:after,.panel-body h2.right[data-toggle="collapse"]:after,.panel-body h4.right[data-toggle="collapse"]:after{-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.pf-animate-rotate.left,.modal-content h2.left[data-toggle="collapse"]:after,.modal-content h4.left[data-toggle="collapse"]:after,.panel-body h2.left[data-toggle="collapse"]:after,.panel-body h4.left[data-toggle="collapse"]:after{-webkit-transform:rotate(-90deg);-ms-transform:rotate(-90deg);transform:rotate(-90deg)}@font-face{font-family:'Triglavian';font-style:normal;font-weight:900;src:url("../../fonts/triglavian-regular.eot");src:url("../../fonts/triglavian-regular.eot?#iefix") format("embedded-opentype"),url("../../fonts/triglavian-regular.woff2") format("woff2"),url("../../fonts/triglavian-regular.woff") format("woff"),url("../../fonts/triglavian-regular.ttf") format("truetype")}.pf-triglivian{font-family:'Triglavian';font-weight:900}body{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.pf-body{overflow:hidden}a,.pf-link{color:#477372;will-change:color;text-decoration:none;cursor:pointer;-webkit-transition:color 0.08s ease-out,background-color 0.08s ease-out;transition:color 0.08s ease-out,background-color 0.08s ease-out}a:hover,.pf-link:hover{color:#6caead;text-decoration:none}a:focus,.pf-link:focus{color:#477372}em{font-style:italic}em.pf-brand{text-transform:uppercase}.pf-font-capitalize{text-transform:capitalize}.pf-font-line-through{text-decoration:line-through}.no-padding{padding:0 !important}::-webkit-scrollbar{display:none;width:16px;height:16px}::-webkit-scrollbar-track{background-color:#2b2b2b;border-left:1px solid #313335;border-radius:2px;-webkit-transition:background-color 0.5s;transition:background-color 0.5s}::-webkit-scrollbar-thumb{height:6px;border:5px solid transparent;background-clip:padding-box;-webkit-border-radius:8px;background-color:#868c90}::-webkit-scrollbar-thumb:hover{background-color:#a1a5a8}::-webkit-scrollbar-button{width:0;height:0;display:none}::-webkit-scrollbar-corner{background-color:transparent}::selection{background:#adadad;color:#1d1d1d}::-moz-selection{background:#adadad;color:#1d1d1d}.pf-help-default,.pf-help-light,.pf-help{cursor:help;-webkit-transition:color 0.08s ease-out;transition:color 0.08s ease-out}.pf-dialog-icon-button,.pf-system-signature-module .pf-sig-table .fa-plus,.pf-system-route-module .pf-system-route-table td .fa-sync,.pf-system-route-module .pf-system-route-table td .fa-search{cursor:pointer;margin-top:2px;-webkit-transition:color 0.15s ease-out;transition:color 0.15s ease-out}.pf-dialog-icon-button:not(.collapsed),.pf-system-signature-module .pf-sig-table .fa-plus:not(.collapsed),.pf-system-route-module .pf-system-route-table td .fa-sync:not(.collapsed),.pf-system-route-module .pf-system-route-table td .fa-search:not(.collapsed),.pf-dialog-icon-button:hover,.pf-system-signature-module .pf-sig-table .fa-plus:hover,.pf-system-route-module .pf-system-route-table td .fa-sync:hover,.pf-system-route-module .pf-system-route-table td .fa-search:hover{color:#e28a0d}.pf-module-icon-button{cursor:pointer;color:#63676a;-webkit-transition:color 0.15s ease-out;transition:color 0.15s ease-out}.pf-module-icon-button:hover,.pf-module-icon-button.active{color:#e28a0d !important}.pf-module-icon-button.editable{border-bottom:none !important}.pf-module-icon-button-copy{cursor:copy;-moz-user-select:text;user-select:text}a.disabled{color:#777;pointer-events:none;cursor:default}.alert{will-change:opacity, transform}.editable-input .pf-editable-name{text-transform:uppercase}.editable-input optgroup[label]{background-color:#3c3f41;color:#63676a}.editable-input optgroup[label] option{background-color:#313335;color:#adadad;font-family:Consolas,monospace,Menlo,Monaco,"Courier New"}.editable-input .editable-checklist>div>label{display:block !important;padding-left:20px !important;color:#adadad}.editable-input .editable-checklist>div>label>span:after{top:-2px}.editable-input .editable-checklist .pf-editable-unknown[value='0']+span{color:#d9534f}select:active,select:hover{outline:none}select:active,select:hover{outline-color:red}.select2-results .select2-results__options--nested .select2-results__option{padding-left:15px}.select2-results [class*="col-"]{padding-left:3px;padding-right:3px}.select2-results .clearfix.pf-result-image [class*="col-"]{line-height:22px}.select2 ::-webkit-search-cancel-button{-webkit-appearance:none !important}.select2 .select2-selection__choice__remove{float:left}.select2 .select2-selection--multiple input{box-shadow:none !important}.dataTables_wrapper .dataTables_length select{margin:0 3px;padding:1px}.dataTables_wrapper .dt-buttons .dt-button{line-height:22px;padding:0 5px}.dataTables_wrapper .dt-buttons .dt-button:not(:last-child){margin-right:10px}.dataTables_wrapper .dt-buttons .dt-button .fa{margin-right:5px}.dataTable th.pf-table-image-cell,.dataTable th.pf-table-image-small-cell,.dataTable th.pf-table-image-smaller-cell{padding-left:0 !important;padding-right:0 !important;image-rendering:-webkit-optimize-contrast}.dataTable th.sorting,.dataTable th.sorting_asc,.dataTable th.sorting_desc{padding-right:18px !important}.dataTable tr.group{background-color:rgba(43,43,43,0.4)}.dataTable td.editable-disabled:focus{outline:none;background-color:transparent}.dataTable td.editable-click:not(.editable-disabled){cursor:pointer}.dataTable td:focus,.dataTable td.editable-open{outline:1px solid #c2760c;outline-offset:-1px;background-color:rgba(194,118,12,0.08)}.dataTable td>.fa-circle{font-size:9px !important}.dataTable td.pf-table-link-cell{cursor:pointer;-webkit-transition:color 0.08s ease-out;transition:color 0.08s ease-out}.dataTable td.pf-table-action-cell{cursor:pointer}.dataTable td.pf-table-action-cell>.pf-table-action-icon-cell{-webkit-transition:color 0.08s ease-out;transition:color 0.08s ease-out}.dataTable td.pf-table-image-cell{padding:0 !important;image-rendering:-webkit-optimize-contrast}.dataTable td.pf-table-image-cell img{width:26px;box-sizing:content-box;border-left:1px solid #3c3f41;border-right:1px solid #3c3f41}.dataTable td.pf-table-image-small-cell img{width:24px;border-left:1px solid transparent;border-right:1px solid transparent}.dataTable td.pf-table-image-smaller-cell{padding:0 !important}.dataTable td.pf-table-image-smaller-cell img{width:25px;border-left:1px solid transparent;border-right:1px solid transparent}.dataTable td.pf-table-button-sm-cell{padding:0 5px}.dataTable td.pf-table-counter-cell{color:#63676a}.dataTable td.pf-table-counter-cell .pf-digit-counter-small{width:20px;display:inline-block;font-size:10px}.dataTable td.pf-table-counter-cell .pf-digit-counter-large{width:26px;display:inline-block;font-size:10px}.dataTable td .pf-table-unknown-cell{color:#d9534f;font-style:italic}.dataTable td .pf-table-cell-ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dataTable td .pf-table-cell-80{width:90px}.dataTable td .pf-table-cell-90{width:100px}.dataTable td .pf-table-cell-100{width:110px}.dataTable td.separator-right,.dataTable th.separator-right{border-right:1px solid #3c3f41}.dataTable td svg.peity,.dataTable th svg.peity{display:block}table.pf-table-fixed{width:100%;table-layout:fixed}table tr.collapsing{-webkit-transition:height 0.01s ease;transition:height 0.01s ease}table tr.collapse.in{display:table-row !important}table td.pf-table-cell-10,table th.pf-table-cell-10{width:10px}table td.pf-table-cell-20,table th.pf-table-cell-20{width:20px}table td.pf-table-cell-ellipses-auto,table th.pf-table-cell-ellipses-auto{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pf-table-tools{height:45px}.pf-table-tools>.btn-labeled:not(:last-child){margin-right:10px}.pf-table-tools-action{will-change:height, opacity;opacity:0;display:none;height:0;overflow:hidden}.pf-loading-overlay{position:absolute;width:100%;height:100%;top:0;left:0;opacity:0;background:#2b2b2b;z-index:1060;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.pf-loading-overlay .pf-loading-overlay-wrapper{width:25px;height:25px;margin:auto;text-align:center;position:absolute;top:0;left:0;bottom:0;right:0}.pf-loading-overlay .pf-loading-overlay-wrapper i{padding:3px}.navbar-header-block{width:100%}.navbar-header-block .navbar-nav{width:100%}.navbar-nav li:not(.disabled):not(.hide-before):hover:before,.navbar-nav li:not(.disabled):not(.hide-before).active:before{top:-4px;opacity:1}.navbar-nav li:not(.disabled):not(.hide-before):before{content:'';position:absolute;background-color:#5cb85c;opacity:0;will-change:opacity,top;-webkit-transition:top 0.15s ease-out,opacity 0.15s ease-out;transition:top 0.15s ease-out,opacity 0.15s ease-out;width:100%;height:2px;top:0}.pf-navbar-version-info{cursor:pointer}.pf-site{will-change:transform}.sb-slidebar{will-change:transform}.sb-left .list-group-item{cursor:pointer;-webkit-box-shadow:inset -10px 0px 5px -5px rgba(0,0,0,0.4);box-shadow:inset -10px 0px 5px -5px rgba(0,0,0,0.4)}.sb-right .list-group-item{cursor:pointer;-webkit-box-shadow:inset 10px 0px 5px -5px rgba(0,0,0,0.4);box-shadow:inset 10px 0px 5px -5px rgba(0,0,0,0.4)}.list-group-item.disabled:after{content:'\f023';font-family:'Font Awesome 5 Free';font-weight:bold;color:#2b2b2b;position:absolute;right:8px}.mCSB_container,.mCSB_dragger{will-change:top, left}.pf-timestamp-counter{visibility:hidden}.pf-map-type-private{color:#7986cb}.pf-map-type-corporation{color:#5cb85c}.pf-map-type-alliance{color:#428bca}.pf-map-type-global{color:#568a89}#pf-map-module{margin:20px 10px 0 10px}#pf-map-module #pf-map-tabs a[role="tab"]:hover .pf-map-tab-handler:before{color:#e28a0d}#pf-map-module #pf-map-tabs .pf-map-tab-handler:before{content:'\22EE\22EE\00A0';display:inline-block;cursor:-moz-grab !important;cursor:-webkit-grab !important;cursor:grab !important;color:#63676a;width:12px;transition:color 0.15s ease-out, background-color 0.15s ease-out;pointer-events:all}#pf-map-module #pf-map-tabs .pf-map-type-tab-default{border-top:2px solid transparent}#pf-map-module #pf-map-tabs .pf-map-type-tab-private{border-top:2px solid #7986cb}#pf-map-module #pf-map-tabs .pf-map-type-tab-corporation{border-top:2px solid #5cb85c}#pf-map-module #pf-map-tabs .pf-map-type-tab-alliance{border-top:2px solid #428bca}#pf-map-module #pf-map-tabs .pf-map-type-tab-global{border-top:2px solid #568a89}#pf-map-module #pf-map-tabs .pf-map-tab-icon{margin-right:3px}#pf-map-module #pf-map-tabs .pf-map-tab-shared-icon{margin-left:3px}.pf-map-content-row{margin-top:10px;padding-bottom:40px}.pf-map-content-row .pf-module{font-family:"Oxygen Bold","Helvetica Neue",Helvetica,Arial,sans-serif;background:rgba(60,63,65,0.27);padding:10px;width:100%;margin-bottom:10px;will-change:height, transform, opacity;overflow:hidden;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.pf-map-content-row .pf-module:before{content:'';position:absolute;top:0;left:0;border-style:solid;border-width:0 0 9px 9px;border-color:transparent transparent transparent #3c3f41;cursor:ns-resize}.pf-map-content-row .pf-module .label{margin-bottom:10px}.pf-map-content-row .pf-module .pf-dynamic-area{background:rgba(43,43,43,0.4)}.pf-map-content-row .pf-module .pf-module-head{margin-bottom:10px}.pf-map-content-row .pf-module .pf-module-head .pf-module-handler-drag{display:inline-block;cursor:-moz-grab !important;cursor:-webkit-grab !important;cursor:grab !important;transition:color 0.15s ease-out}.pf-map-content-row .pf-module .pf-module-head .pf-module-handler-drag:before{content:'\22EE\22EE\00A0'}.pf-map-content-row .pf-module .pf-module-head .pf-module-handler-drag:hover{color:#f0ad4e}.pf-map-content-row .pf-module .pf-module-head h5{display:inline-block;line-height:16px;margin-bottom:0}.pf-map-content-row .pf-module .pf-module-head h5 .pf-module-icon-button{margin-left:5px}.pf-map-content-row .pf-module .pf-module-table{font-size:11px;white-space:nowrap}.pf-map-content-row .pf-module-spacer{margin-bottom:10px}.pf-user-status{color:#a52521}.pf-user-status-corp{color:#5cb85c}.pf-user-status-ally{color:#428bca}.pf-user-status-own{color:#7986cb}.pf-system-effect{display:none;color:#adadad;cursor:help}.pf-system-effect-magnetar{color:#e06fdf;display:inline-block}.pf-system-effect-redgiant{color:#d9534f;display:inline-block}.pf-system-effect-pulsar{color:#428bca;display:inline-block}.pf-system-effect-wolfrayet{color:#e28a0d;display:inline-block}.pf-system-effect-cataclysmic{color:#ffb;display:inline-block}.pf-system-effect-blackhole{color:#000;display:inline-block}.pf-rally,.pf-system-info-rally .pf-system-head{text-shadow:1px 1px 2px #1d1d1d;background-color:#782d77;background-image:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjEuMCIgeTE9IjEuMCIgeDI9IjAuMCIgeTI9IjAuMCI+PHN0b3Agb2Zmc2V0PSIyNSUiIHN0b3AtY29sb3I9IiMzZTI2NGUiLz48c3RvcCBvZmZzZXQ9IjI1JSIgc3RvcC1jb2xvcj0iIzAwMDAwMCIgc3RvcC1vcGFjaXR5PSIwLjAiLz48c3RvcCBvZmZzZXQ9IjUwJSIgc3RvcC1jb2xvcj0iIzAwMDAwMCIgc3RvcC1vcGFjaXR5PSIwLjAiLz48c3RvcCBvZmZzZXQ9IjUwJSIgc3RvcC1jb2xvcj0iIzNlMjY0ZSIvPjxzdG9wIG9mZnNldD0iNzUlIiBzdG9wLWNvbG9yPSIjM2UyNjRlIi8+PHN0b3Agb2Zmc2V0PSI3NSUiIHN0b3AtY29sb3I9IiMwMDAwMDAiIHN0b3Atb3BhY2l0eT0iMC4wIi8+PHN0b3Agb2Zmc2V0PSIxMDAlIiBzdG9wLWNvbG9yPSIjMDAwMDAwIiBzdG9wLW9wYWNpdHk9IjAuMCIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9InVybCgjZ3JhZCkiIC8+PC9zdmc+IA==');background-size:100%;background-image:-moz-linear-gradient(135deg, #3e264e 25%,rgba(0,0,0,0) 25%,rgba(0,0,0,0) 50%,#3e264e 50%,#3e264e 75%,rgba(0,0,0,0) 75%,rgba(0,0,0,0));background-image:-webkit-linear-gradient(135deg, #3e264e 25%,rgba(0,0,0,0) 25%,rgba(0,0,0,0) 50%,#3e264e 50%,#3e264e 75%,rgba(0,0,0,0) 75%,rgba(0,0,0,0));background-image:linear-gradient(-45deg, #3e264e 25%,rgba(0,0,0,0) 25%,rgba(0,0,0,0) 50%,#3e264e 50%,#3e264e 75%,rgba(0,0,0,0) 75%,rgba(0,0,0,0));background-size:25px 25px;-webkit-animation:move 2.5s linear infinite;-moz-animation:move 2.5s linear infinite;-ms-animation:move 2.5s linear infinite;animation:move 2.5s linear infinite}.pf-system-security-0-0{color:#be0000}.pf-system-security-0-1{color:#ab2600}.pf-system-security-0-2{color:#be3900}.pf-system-security-0-3{color:#c24e02}.pf-system-security-0-4{color:#ab5f00}.pf-system-security-0-5{color:#bebe00}.pf-system-security-0-6{color:#73bf26}.pf-system-security-0-7{color:#00bf00}.pf-system-security-0-8{color:#00bf39}.pf-system-security-0-9{color:#39bf99}.pf-system-security-1-0{color:#28c0bf}.pf-system-sec{margin-right:5px;cursor:-moz-grab;cursor:-webkit-grab;cursor:grab}.pf-system-sec-highSec{color:#5cb85c}.pf-system-sec-lowSec{color:#e28a0d}.pf-system-sec-nullSec{color:#d9534f}.pf-system-sec-high{color:#d9534f}.pf-system-sec-mid{color:#e28a0d}.pf-system-sec-low{color:#428bca}.pf-system-sec-unknown{color:#7986cb}.pf-system-sec-abyssal{color:#e06fdf}.pf-system-status-friendly{border-color:#428bca !important;color:#428bca}.pf-system-status-occupied{border-color:#e28a0d !important;color:#e28a0d}.pf-system-status-hostile{border-color:#d9534f !important;color:#d9534f}.pf-system-status-empty{border-color:#5cb85c !important;color:#5cb85c}.pf-system-status-unscanned{border-color:#568a89 !important;color:#568a89}.pf-system-info-status-label{background-color:#63676a;color:#000;will-change:background-color;-webkit-transition:background-color 0.3s ease-out;transition:background-color 0.3s ease-out}.pf-system-info-status-label.pf-system-status-friendly{background-color:#428bca}.pf-system-info-status-label.pf-system-status-occupied{background-color:#e28a0d}.pf-system-info-status-label.pf-system-status-hostile{background-color:#d9534f}.pf-system-info-status-label.pf-system-status-empty{background-color:#5cb85c}.pf-system-info-status-label.pf-system-status-unscanned{background-color:#568a89}.pf-system-hidden{opacity:0.15 !important;pointer-events:none}.pf-system-effect-dialog-wrapper .table,.pf-jump-info-dialog .table{margin:15px 0}.pf-system-effect-dialog-wrapper .table td,.pf-jump-info-dialog .table td{text-transform:capitalize}.pf-fake-connection{box-sizing:content-box;display:inline-block;width:70px;height:4px;border-top:2px solid #63676a;border-bottom:2px solid #63676a;background-color:#3c3f41;position:relative;font-size:10px;font-family:"Oxygen","Helvetica Neue",Helvetica,Arial,sans-serif}.pf-fake-connection.pf-map-connection-stargate{background-color:#313966;border-color:#63676a}.pf-fake-connection.pf-map-connection-jumpbridge{background-color:#6caead;border-color:#3c3f41;background:repeating-linear-gradient(to right, #6caead, #6caead 10px, #3c3f41 10px, #3c3f41 20px)}.pf-fake-connection.pf-map-connection-abyssal{background-color:#5a225a;border-color:#3c3f41;background:repeating-linear-gradient(to right, #5a225a, #5a225a 5px, #3c3f41 5px, #3c3f41 10px)}.pf-fake-connection.pf-map-connection-wh-eol{border-color:#d747d6}.pf-fake-connection.pf-map-connection-wh-reduced{background-color:#e28a0d}.pf-fake-connection.pf-map-connection-wh-critical{background-color:#a52521}.pf-fake-connection.pf-map-connection-frig{border-style:dashed;border-left:none;border-right:none}.pf-fake-connection.pf-map-connection-frig:after{content:'frig';background-color:#e28a0d;color:#1d1d1d;padding:0px 3px;position:absolute;left:25px;top:-6px;font-family:"Oxygen Bold","Helvetica Neue",Helvetica,Arial,sans-serif;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px}.pf-fake-connection.pf-map-connection-preserve-mass:after{content:'save mass';background-color:#a52521;color:#eaeaea;padding:0px 3px;position:absolute;left:8px;top:-6px;font-family:"Oxygen Bold","Helvetica Neue",Helvetica,Arial,sans-serif;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px}.pf-structure-status-unknown{color:#568a89}.pf-structure-status-online{color:#5cb85c}.pf-structure-status-offline{color:#a52521}.tooltip-inner{color:#adadad;background-color:#3c3f41;font-family:"Oxygen Bold","Helvetica Neue",Helvetica,Arial,sans-serif;padding:5px 5px;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,0.4);box-shadow:0 6px 12px rgba(0,0,0,0.4)}.modal .tooltip{z-index:1060}.modal .tooltip .tooltip-inner{color:#313335;background-color:#adadad}.tooltip.top .tooltip-arrow{border-top-color:#63676a}.tooltip.right .tooltip-arrow{border-right-color:#63676a}.tooltip.bottom .tooltip-arrow{border-bottom-color:#63676a}.tooltip.left .tooltip-arrow{border-left-color:#63676a}td.pf-popover-trigger:hover{color:#477372}.pf-notransition{-webkit-transition:none !important;-moz-transition:none !important;-o-transition:none !important;transition:none !important}.pf-dynamic-area{padding:10px;min-height:100px;position:relative;background-color:#313335;overflow:hidden;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.pf-dynamic-area .dl-horizontal{margin-bottom:0}.pf-dynamic-area .dl-horizontal dd{min-width:100px}.pf-dynamic-area .dl-horizontal dd.txt-color,.pf-dynamic-area .dl-horizontal dd.pf-help-light,.pf-dynamic-area .dl-horizontal dd.pf-help,.pf-dynamic-area .dl-horizontal .dataTable td.pf-table-action-cell>dd.pf-table-action-icon-cell,.dataTable .pf-dynamic-area .dl-horizontal td.pf-table-action-cell>dd.pf-table-action-icon-cell{font-weight:bold}.pf-dynamic-area>[class~='alert']:last-of-type{margin-bottom:0}.pf-code-ObjectBrace{color:#782d77;font-weight:bold}.pf-code-ArrayBrace{color:#3e264e;font-weight:bold}.pf-code-PropertyName{color:#1d1d1d;font-weight:bold}.pf-code-String{color:#e28a0d}.pf-code-Number{color:#4f9e4f}.pf-code-Boolean{color:#313966;font-weight:bold}.pf-code-Function{color:#782d77}.pf-code-Null{color:#2b2b2b;font-weight:bold}.pf-code-Comma{color:#1d1d1d;font-weight:bold}code .fas,code .pf-landing .pf-landing-list li>i,.pf-landing .pf-landing-list code li>i,code .far,code .fab{color:#3c3f41;cursor:pointer}#pf-logo-wrapper{display:block}#pf-head{margin-bottom:0px}#pf-head a{-webkit-transition:color 0.15s ease-out;transition:color 0.15s ease-out;will-change:color}#pf-head a:focus{color:#477372}#pf-head a:focus img{border-color:#3c3f41}#pf-head a:hover{text-decoration:none}#pf-head a:hover .badge{color:#6caead}#pf-head a:hover img{border-color:#568a89}#pf-head i{margin-right:2px}#pf-head .pf-brand-desc{margin:6px 10px 0 90px;width:180px}#pf-head .pf-head-menu{padding:3px 10px;line-height:24px}#pf-head .pf-head-menu .pf-head-menu-logo{width:24px;height:24px;display:inline-block;float:left}#pf-head .pf-head-user-character,#pf-head .pf-head-user-ship{opacity:0;visibility:hidden}#pf-head .pf-head-active-user{cursor:pointer}#pf-head .pf-head-active-user,#pf-head #pf-head-current-location{display:none}#pf-head .pf-head-active-user .badge,#pf-head #pf-head-current-location .badge{-webkit-transition:color 0.3s ease-out;transition:color 0.3s ease-out}#pf-head .pf-head-user-character-image,#pf-head .pf-head-user-ship-image{display:inline-block;margin-top:-6px;margin-bottom:-6px;width:27px;border:1px solid #3c3f41;margin-right:3px;image-rendering:-webkit-optimize-contrast;-webkit-transition:border-color 0.15s ease-out;transition:border-color 0.15s ease-out;will-change:border-color}#pf-head .pf-head-program-status{cursor:pointer}#pf-head .navbar-text{min-width:60px}#pf-head .tooltip .tooltip-inner{color:#adadad}.pf-head{-webkit-box-shadow:0 6px 12px rgba(0,0,0,0.4);box-shadow:0 6px 12px rgba(0,0,0,0.4)}.pf-head .badge{background-color:#3c3f41;color:#adadad}.pf-head small{font-family:"Oxygen Bold","Helvetica Neue",Helvetica,Arial,sans-serif}#pf-footer{position:absolute;bottom:0;left:0;width:100%;margin:0;background:rgba(60,63,65,0.3)}#pf-footer a{font-family:"Oxygen Bold","Helvetica Neue",Helvetica,Arial,sans-serif;color:#375959}#pf-footer a:hover{color:#477372;text-decoration:none}.navbar-fixed-bottom{padding:2px 0}.navbar-fixed-bottom .container-fluid{padding-left:0;padding-right:0}.pf-menu-clock{position:absolute;bottom:0;width:100%;padding:6px 8px;text-align:center}#pf-global-info{position:absolute;left:0;bottom:32px;width:100%;height:32px;margin-bottom:0}.panel-reverse-order{display:table;width:100%}.panel-reverse-order .reverse-order-header{display:table-header-group}.panel-reverse-order .reverse-order-footer{display:table-footer-group}.pf-sortable-ghost{will-change:opacity;transition:opacity 0.2s ease-out;opacity:0.7 !important}.pf-sortable-ghost .pf-module-handler-drag{color:#f0ad4e;cursor:-moz-grabbing;cursor:-webkit-grabbing;cursor:grabbing}@-webkit-keyframes move{0%{background-position:0 0}100%{background-position:50px 50px}}@-moz-keyframes move{0%{background-position:0 0}100%{background-position:50px 50px}}@-ms-keyframes move{0%{background-position:0 0}100%{background-position:50px 50px}}@keyframes move{0%{background-position:0 0}100%{background-position:50px 50px}}.pf-animate{visibility:hidden;opacity:0}.pf-color-line{position:fixed;top:0;left:0;width:100%;height:3px;background-image:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuMCIgeTE9IjAuNSIgeDI9IjEuMCIgeTI9IjAuNSI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzY2Yzg0ZiIvPjxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iIzY2Yzg0ZiIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9InVybCgjZ3JhZCkiIC8+PC9zdmc+IA==');background-size:100%;background-image:-webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0%, #66c84f),color-stop(100%, #66c84f));background-image:-moz-linear-gradient(left, #66c84f,#66c84f 100%);background-image:-webkit-linear-gradient(left, #66c84f,#66c84f 100%);background-image:linear-gradient(to right, #66c84f,#66c84f 100%)}.pf-color-line.warning{background-image:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuMCIgeTE9IjAuNSIgeDI9IjEuMCIgeTI9IjAuNSI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2UyOGEwZCIvPjxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iI2UyOGEwZCIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9InVybCgjZ3JhZCkiIC8+PC9zdmc+IA==');background-size:100%;background-image:-webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0%, #e28a0d),color-stop(100%, #e28a0d));background-image:-moz-linear-gradient(left, #e28a0d,#e28a0d 100%);background-image:-webkit-linear-gradient(left, #e28a0d,#e28a0d 100%);background-image:linear-gradient(to right, #e28a0d,#e28a0d 100%)}.pf-color-line.danger{background-image:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuMCIgeTE9IjAuNSIgeDI9IjEuMCIgeTI9IjAuNSI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2E1MjUyMSIvPjxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iI2E1MjUyMSIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9InVybCgjZ3JhZCkiIC8+PC9zdmc+IA==');background-size:100%;background-image:-webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0%, #a52521),color-stop(100%, #a52521));background-image:-moz-linear-gradient(left, #a52521,#a52521 100%);background-image:-webkit-linear-gradient(left, #a52521,#a52521 100%);background-image:linear-gradient(to right, #a52521,#a52521 100%)}.pf-splash{position:absolute;z-index:2000;background-color:#1d1d1d;color:#63676a;top:0;bottom:0;left:0;right:0;will-change:opacity}.pf-splash:not(.pf-splash-warning):not(.pf-splash-error){cursor:wait}.pf-splash .pf-splash-title{position:fixed;left:50%;top:30%;text-align:center;max-width:500px;padding:20px;-moz-transform:translate(-50%, -50%);-ms-transform:translate(-50%, -50%);-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%)}.pf-splash .pf-splash-debug{position:absolute;bottom:0;width:100%}.pf-splash .pf-splash-debug .pf-splash-debug-headline{padding:0 10px}.pf-splash .pf-splash-debug .pf-splash-pre{margin-bottom:0}@media (max-width: 1200px){.pf-landing #pf-logo-container{margin:5px auto}.pf-landing .pf-brand-desc{display:none}.pf-landing .navbar .navbar-brand{margin-left:10px}}.pf-landing section:not(:last-of-type){border-bottom:1px solid #2b2b2b}.pf-landing section{min-height:200px;padding:20px 0 40px 0}.pf-landing section h4:not(.pf-dynamic-area){font-size:18px;font-family:"Oxygen","Helvetica Neue",Helvetica,Arial,sans-serif;margin:5px 0 10px 0;border-bottom:1px solid #2b2b2b;line-height:34px}.pf-landing .container>.row{margin-bottom:30px}.pf-landing .alert{box-shadow:0 4px 10px rgba(0,0,0,0.4)}.pf-landing a[data-gallery]{position:relative;display:inline-block;overflow:hidden;margin:5px 0 15px 0;box-shadow:0 4px 10px rgba(0,0,0,0.4)}.pf-landing a[data-gallery]:before{content:'\f06e';font-family:'Font Awesome 5 Free';font-size:20px;color:#e28a0d;position:absolute;height:100%;width:100%;z-index:10;-webkit-transition:transform 0.1s ease-out,opacity 0.1s ease-out;transition:transform 0.1s ease-out,opacity 0.1s ease-out;will-change:transform, opacity;transform:scale(1.3, 1.3);opacity:0;display:flex;flex-direction:column;justify-content:center;align-items:center}.pf-landing a[data-gallery]:hover img{border-color:#6caead;-webkit-filter:brightness(50%);filter:brightness(50%)}.pf-landing a[data-gallery]:hover:before{-webkit-transition-delay:.05s;transition-delay:.05s;transform:scale(1, 1);opacity:1}.pf-landing a[data-gallery] .pf-landing-image-preview{border-width:1px;border-style:solid;border-color:#1d1d1d;display:inline-block;will-change:all;-webkit-filter:brightness(100%);filter:brightness(100%);-webkit-transition:all 0.2s ease-out;transition:all 0.2s ease-out}.pf-landing a[data-gallery] .pf-landing-image-preview.pf-landing-image-preview-small{height:160px}.pf-landing a[data-gallery] .pf-landing-image-preview.pf-landing-image-preview-medium{height:256px}#pf-landing-top{height:355px;border-bottom:1px solid #313335;position:relative}#pf-landing-top:before{content:'';width:100%;height:100%;position:absolute;background:url("../../img/pf-bg.jpg") #05050a;background-repeat:no-repeat;background-position:0 0;-webkit-filter:brightness(.9);filter:brightness(.9)}#pf-landing-top #pf-logo-container{-moz-transform:scale3d(0.8, 0.8, 1);-ms-transform:scale3d(0.8, 0.8, 1);-webkit-transform:scale3d(0.8, 0.8, 1);transform:scale3d(0.8, 0.8, 1)}#pf-landing-top #pf-header-container{position:absolute;width:100%;background-position:center center}#pf-landing-top #pf-header-container #pf-header-canvas{position:absolute;visibility:hidden;top:0;left:0}#pf-landing-top #pf-header-container #pf-logo-container{z-index:110}#pf-landing-top #pf-header-container #pf-header-preview-container{position:absolute;left:400px;width:590px;height:350px;top:37px}#pf-landing-top #pf-header-container #pf-header-preview-container .pf-header-preview-element{position:relative;margin-left:12px;margin-top:12px;height:155px;width:180px;padding:7px;opacity:0;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;background-color:rgba(43,43,43,0.5)}#pf-landing-top #pf-header-container #pf-header-preview-container .pf-header-preview-element:nth-child(n+4){box-shadow:0 4px 10px rgba(0,0,0,0.4)}#pf-landing-top #pf-header-container #pf-header-preview-container .pf-header-preview-element:after{content:'';position:absolute;width:calc(100% - 14px);height:calc(100% - 14px);-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;background-repeat:no-repeat;background-position:50% 50%;background-color:rgba(29,29,29,0.75)}#pf-landing-top .container{position:relative;margin-top:10px}#pf-header-preview-intel:after{background-image:url("../../img/landing/intel.png")}#pf-header-preview-map:after{background-image:url("../../img/landing/map.png")}#pf-header-preview-scope:after{background-image:url("../../img/landing/scope.png")}#pf-header-preview-signature:after{background-image:url("../../img/landing/signature.png")}#pf-header-preview-data:after{background-image:url("../../img/landing/data.png")}#pf-header-preview-gameplay:after{background-image:url("../../img/landing/gameplay.png")}#pf-landing-login{padding-top:40px;padding-bottom:30px}#pf-landing-login .row{margin-bottom:0}#pf-landing-login .pf-character-selection>div:not(.pf-character-row-animate){-webkit-transition:width 0.2s ease,margin 0.2s ease;transition:width 0.2s ease,margin 0.2s ease}#pf-landing-login .pf-dynamic-area{display:inline-block;margin:10px 5px 20px 5px;padding:10px 10px 5px 10px;min-width:155px;min-height:184px;overflow:visible;-moz-border-radius:10px;-webkit-border-radius:10px;border-radius:10px;-webkit-box-shadow:0 4px 10px rgba(0,0,0,0.4);box-shadow:0 4px 10px rgba(0,0,0,0.4)}#pf-landing-login .pf-dynamic-area .ribbon-wrapper{z-index:5}#pf-landing-login .pf-dynamic-area .pf-character-image-wrapper{opacity:0;width:128px;border:2px solid #63676a;-moz-border-radius:8px;-webkit-border-radius:8px;border-radius:8px;-webkit-transition:border-color 0.2s ease-out,box-shadow 0.2s ease-out;transition:border-color 0.2s ease-out,box-shadow 0.2s ease-out;-moz-transform:translate3d(0, 0, 0);-ms-transform:translate3d(0, 0, 0);-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);will-change:border-color, transition;overflow:hidden;cursor:pointer;display:inline-block;background-color:#2b2b2b;box-sizing:content-box}#pf-landing-login .pf-dynamic-area .pf-character-image-wrapper:hover{border-color:#4f9e4f}#pf-landing-login .pf-dynamic-area .pf-character-image-wrapper:hover .pf-character-name{color:#4f9e4f}#pf-landing-login .pf-dynamic-area .pf-character-image-wrapper:hover .pf-character-image{-webkit-filter:grayscale(50%);filter:grayscale(50%)}#pf-landing-login .pf-dynamic-area .pf-character-image-wrapper.pf-character-active:after{font-family:"Font Awesome 5 Free";content:"\f111";font-weight:bold;position:absolute;top:5px;left:5px;height:14px;width:14px;color:#5cb85c;font-size:10px}#pf-landing-login .pf-dynamic-area .pf-character-image-wrapper .pf-character-select-image{overflow:hidden;width:128px;height:128px;position:relative}#pf-landing-login .pf-dynamic-area .pf-character-image-wrapper .pf-character-select-image .pf-character-info{position:absolute;top:0;left:0;width:0;height:100%;color:#adadad;background:rgba(60,63,65,0.8);overflow:hidden;will-change:width, transition;padding:10px 0}#pf-landing-login .pf-dynamic-area .pf-character-image-wrapper .pf-character-select-image .pf-character-info .pf-character-info-text{line-height:25px}#pf-landing-login .pf-dynamic-area .pf-character-image-wrapper .pf-character-name{font-size:13px;line-height:30px;border-top:1px solid #313335;color:#adadad;-webkit-transition:color 0.2s ease-out;transition:color 0.2s ease-out}#pf-landing-login .pf-dynamic-area .pf-character-image-wrapper .pf-character-image{-webkit-transition:all 0.3s ease-out;transition:all 0.3s ease-out;-webkit-filter:grayscale(0%);filter:grayscale(0%)}#pf-landing-login .pf-sso-login-button{position:relative;display:inline-block;width:270px;height:45px;border:none;margin-bottom:10px;background-color:transparent;background-image:url("../../img/landing/eve_sso_login_buttons_large_black_hover.png");cursor:pointer;box-shadow:0 2px 5px rgba(0,0,0,0.2);-webkit-transition:box-shadow 0.12s ease-out;transition:box-shadow 0.12s ease-out;will-change:box-shadow}#pf-landing-login .pf-sso-login-button:after{content:' ';position:absolute;width:270px;height:45px;left:0;top:0;background-image:url("../../img/landing/eve_sso_login_buttons_large_black.png");-webkit-transition:opacity 0.12s ease-in-out;transition:opacity 0.12s ease-in-out;will-change:opacity}#pf-landing-login .pf-sso-login-button:hover{box-shadow:0 4px 5px rgba(0,0,0,0.2)}#pf-landing-login .pf-sso-login-button:hover:after{opacity:0}#pf-landing-login .pf-sso-login-button.disabled{pointer-events:auto}#pf-landing-login #pf-notification-panel{display:none}#pf-header-map{position:relative;margin:0 auto;height:380px;width:600px;pointer-events:none}#pf-header-map .pf-header-svg-layer{position:absolute;top:0;left:0;right:0;bottom:0}#pf-header-map #pf-header-systems{z-index:100}#pf-header-map #pf-header-connectors{z-index:90}#pf-header-map #pf-header-connections{z-index:80}#pf-header-map #pf-header-background{z-index:70}#pf-header-map #pf-header-background .pf-header-system{display:none}#pf-header-map-bg{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none}#pf-header-map-bg img{pointer-events:none}#pf-header-map-bg #pf-map-bg-image{opacity:0;position:absolute;bottom:0;right:0;width:100%;height:100%}#pf-header-map-bg #pf-map-neocom{opacity:0;height:665px;width:21px}#pf-header-map-bg #pf-map-browser{opacity:0;position:absolute;top:110px;left:21px;height:560px;width:515px}#pf-landing-gallery-carousel{background-image:url("../../img/pf-header-bg.jpg")}#pf-landing-gallery-carousel .slide-content{border-radius:5px;pointer-events:none}#pf-landing-gallery-carousel h3{width:100%;text-align:left}.pf-landing-pricing-panel{margin-top:20px}.pricing-big{position:relative;-webkit-box-shadow:0 4px 10px rgba(0,0,0,0.4);box-shadow:0 4px 10px rgba(0,0,0,0.4)}.pricing-big .panel-heading{border-color:#3c3f41}.pricing-big .the-price{padding:1px 0;background:#2d3031;text-align:center}.pricing-big .the-price .subscript{font-size:12px;color:#63676a}.pricing-big .price-features{background:#3c3f41;color:#adadad;padding:20px 15px;line-height:22px}.pricing-big .price-features:not(.price-features-fluid){min-height:205px}.pricing-big .price-features .list-unstyled.text-left li,.pricing-big .price-features .text-left.list-inline li{text-indent:-1em;padding-left:1.5em}.pricing-big .price-features .list-unstyled.text-left li .fa,.pricing-big .price-features .text-left.list-inline li .fa{text-indent:0}.pricing-big table tr td{line-height:1}#pf-landing-admin .pf-landing-admin-login{margin-bottom:0}#pf-landing-about .pf-landing-about-me{width:256px;height:256px;border:none;-webkit-box-shadow:0 4px 10px rgba(0,0,0,0.4);box-shadow:0 4px 10px rgba(0,0,0,0.4)}.pf-landing-footer{padding:30px 0;font-family:"Oxygen Bold","Helvetica Neue",Helvetica,Arial,sans-serif;background-color:#171717}.pf-landing-footer .row{margin-bottom:0 !important}.pf-landing-footer .pf-social-networks>li{display:inline-block;line-height:1}.pf-landing-footer .pf-social-networks>li a{display:inline-block;background:rgba(99,103,106,0.5);line-height:24px;text-align:center;font-size:14px;margin-right:3px;padding:6px 6px 2px 6px;width:36px}.pf-body[data-script='admin'] .navbar-brand:hover{color:#777}.pf-body[data-script='admin'] .panel{text-align:initial}.pf-body[data-script='admin'] .panel h3 img{position:absolute;right:0;top:0;margin:4px 14px 0 0;border-radius:30%}.pf-body[data-script='admin'] .form-horizontal .panel{color:#adadad}#pf-static-logo-svg{opacity:0;position:absolute;z-index:105;overflow:visible}#pf-static-logo-svg path{will-change:fill, opacity, transform, translateZ, translateX, translateY;pointer-events:all;-moz-transform:translate3d(0, 0, 0);-ms-transform:translate3d(0, 0, 0);-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}.logo-ploygon-top-right{fill:#477372;fill-rule:evenodd;stroke:#477372;stroke-width:0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;fill-opacity:1}.logo-ploygon-bottom-left{fill:#5cb85c;fill-rule:evenodd;stroke:#5cb85c;stroke-width:0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;fill-opacity:1}.logo-ploygon-bottom-right{fill:#375959;fill-rule:evenodd;stroke:#375959;stroke-width:0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;fill-opacity:1}.logo-ploygon-top-left{fill:#63676a;fill-opacity:1;fill-rule:evenodd;stroke:#63676a;stroke-width:0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1}@-webkit-keyframes bounce{0%, 20%, 50%, 80%, 100%{-webkit-transform:translateY(0)}40%{-webkit-transform:translateY(-8px)}60%{-webkit-transform:translateY(-4px)}}@keyframes bounce{0%, 20%, 50%, 80%, 100%{transform:translateY(0)}40%{transform:translateY(-8px)}60%{transform:translateY(-4px)}}#pf-map-tab-element{max-width:2535px;margin:0 auto}.pf-map-tab-content .pf-map-wrapper{position:relative;resize:vertical;width:100%;height:555px;max-width:2535px;max-height:1000px;min-height:250px;overflow:auto;padding:5px;background:rgba(43,43,43,0.93);box-shadow:inset -3px 3px 10px 0 rgba(0,0,0,0.3);will-change:width, height;border-bottom-right-radius:5px;border-bottom-left-radius:5px;border-width:1px;border-style:solid;border-color:#313335}.pf-map-tab-content .pf-map-wrapper:before{content:'';position:absolute;bottom:0;right:0;border-style:solid;border-width:14px 14px 0 0;border-color:transparent #313335 transparent transparent;cursor:nwse-resize}.pf-map-tab-content .pf-map-wrapper:focus,.pf-map-tab-content .pf-map-wrapper:hover{border:1px solid #3c3f41}.pf-map-tab-content .pf-map-wrapper:focus:before,.pf-map-tab-content .pf-map-wrapper:hover:before{border-color:transparent #3c3f41 transparent transparent}.pf-map-overlay{position:absolute;display:none;z-index:10000;right:26px;background:rgba(0,0,0,0.25);-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.pf-map-overlay.pf-map-overlay-timer{bottom:23px;width:36px;height:36px}.pf-map-overlay.pf-map-overlay-info{top:8px;height:36px;min-height:36px;min-width:36px;padding:3px 3px 3px 8px;line-height:26px}.pf-map-overlay.pf-map-overlay-info i{margin:0;margin-top:5px;width:0;height:26px;opacity:0;color:#63676a;transform:scale(0);transform-origin:50% 50% 0px;-webkit-transition:color 0.18s ease-in-out;transition:color 0.18s ease-in-out;cursor:help;will-change:all}.pf-map-overlay.pf-map-overlay-info i.fas,.pf-map-overlay.pf-map-overlay-info .pf-landing .pf-landing-list li>i,.pf-landing .pf-landing-list .pf-map-overlay.pf-map-overlay-info li>i,.pf-map-overlay.pf-map-overlay-info i.far{font-size:20px}.pf-map-overlay.pf-map-overlay-info i.glyphicon{margin-top:1px;font-size:22px;padding-left:3px}.pf-map-overlay.pf-map-overlay-info i.active,.pf-map-overlay.pf-map-overlay-info i:hover{color:#c2760c}.pf-map-overlay.pf-map-overlay-local{top:54px;min-height:80px;width:32px;display:block;will-change:width}.pf-map-overlay.pf-map-overlay-local .pf-map-overlay-local-content{margin-right:36px;padding:5px 0 5px 5px;overflow:hidden}.pf-map-overlay.pf-map-overlay-local .pf-map-overlay-local-content .pf-map-overlay-headline{font-size:12px;font-family:"Oxygen Bold","Helvetica Neue",Helvetica,Arial,sans-serif;white-space:nowrap}.pf-map-overlay.pf-map-overlay-local .pf-map-overlay-local-content .pf-map-overlay-headline .badge{margin-left:5px}.pf-map-overlay.pf-map-overlay-local .pf-map-overlay-local-content .pf-map-overlay-headline .pf-system-sec{cursor:default}.pf-map-overlay.pf-map-overlay-local .pf-map-overlay-local-content .pf-local-table{font-size:10px}.pf-map-overlay.pf-map-overlay-local .pf-map-overlay-local-content .pf-local-table td{white-space:nowrap}.pf-map-overlay.pf-map-overlay-local .pf-map-overlay-local-content .dataTables_paginate,.pf-map-overlay.pf-map-overlay-local .pf-map-overlay-local-content .dataTables_empty{white-space:nowrap}.pf-map-overlay.pf-map-overlay-local .pf-map-overlay-local-content .pf-map-overlay-toolbar .pf-map-overlay-toolbar-icon{vertical-align:0;margin-top:14px}.pf-map-overlay.pf-map-overlay-local .pf-map-overlay-local-content .pf-map-overlay-toolbar .pf-map-overlay-toolbar-checkbox{display:inline-block;margin-bottom:0}.pf-map-overlay.pf-map-overlay-local .pf-map-overlay-local-main{position:absolute;top:0;right:0;height:100%;padding:3px;width:32px;cursor:pointer;text-align:center;border-left:1px solid #2b2b2b}.pf-map-overlay.pf-map-overlay-local .pf-map-overlay-local-main .pf-map-overlay-local-trigger{margin-bottom:10px}.pf-map-overlay.pf-map-overlay-local .pf-map-overlay-local-main .pf-map-overlay-local-trigger:hover,.pf-map-overlay.pf-map-overlay-local .pf-map-overlay-local-main .pf-map-overlay-local-trigger.right{color:#c2760c}.pf-map-overlay.pf-map-overlay-local .pf-map-overlay-local-main i{font-size:12px}.pf-map-overlay.pf-map-overlay-local .pf-map-overlay-local-jumps{position:absolute;bottom:5px;width:calc(100% - 6px)}.pf-map-overlay.pf-map-overlay-local .badge{font-family:Arial, sans-serif;background-color:#2b2b2b}.pf-grid-small:before{content:' ';display:block;position:absolute;left:0;top:0;width:100%;height:100%;opacity:0.6;background:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAACXBIWXMAAAsTAAALEwEAmpwYAAAKT2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj333vRCS4iAlEtvUhUIIFJCi4AUkSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEsDIoK2AfkIaKOg6OIisr74Xuja9a89+bN/rXXPues852zzwfACAyWSDNRNYAMqUIeEeCDx8TG4eQuQIEKJHAAEAizZCFz/SMBAPh+PDwrIsAHvgABeNMLCADATZvAMByH/w/qQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAtAGAnf+bTAICd+Jl7AQBblCEVAaCRACATZYhEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJV2ZIALC3AMDOEAuyAAgMADBRiIUpAAR7AGDIIyN4AISZABRG8lc88SuuEOcqAAB4mbI8uSQ5RYFbCC1xB1dXLh4ozkkXKxQ2YQJhmkAuwnmZGTKBNA/g88wAAKCRFRHgg/P9eM4Ors7ONo62Dl8t6r8G/yJiYuP+5c+rcEAAAOF0ftH+LC+zGoA7BoBt/qIl7gRoXgugdfeLZrIPQLUAoOnaV/Nw+H48PEWhkLnZ2eXk5NhKxEJbYcpXff5nwl/AV/1s+X48/Pf14L7iJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H/LcL//wd0yLESWK5WCoU41EScY5EmozzMqUiiUKSKcUl0v9k4t8s+wM+3zUAsGo+AXuRLahdYwP2SycQWHTA4vcAAPK7b8HUKAgDgGiD4c93/+8//UegJQCAZkmScQAAXkQkLlTKsz/HCAAARKCBKrBBG/TBGCzABhzBBdzBC/xgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv1EAdNMBRaIaTcA4uwlW4Dj1wD/phCJ7BKLyBCQRByAgTYSHaiAFiilgjjggXmYX4IcFIBBKLJCDJiBRRIkuRNUgxUopUIFVIHfI9cgI5h1xGupE7yAAygvyGvEcxlIGyUT3UDLVDuag3GoRGogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8+Q8cwwOgYBzPEbDAuxsNCsTgsCZNjy7EirAyrxhqwVqwDu4n1Y8+xdwQSgUXACTYEd0IgYR5BSFhMWE7YSKggHCQ0EdoJNwkDhFHCJyKTqEu0JroR+cQYYjIxh1hILCPWEo8TLxB7iEPENyQSiUMyJ7mQAkmxpFTSEtJG0m5SI+ksqZs0SBojk8naZGuyBzmULCAryIXkneTD5DPkG+Qh8lsKnWJAcaT4U+IoUspqShnlEOU05QZlmDJBVaOaUt2ooVQRNY9aQq2htlKvUYeoEzR1mjnNgxZJS6WtopXTGmgXaPdpr+h0uhHdlR5Ol9BX0svpR+iX6AP0dwwNhhWDx4hnKBmbGAcYZxl3GK+YTKYZ04sZx1QwNzHrmOeZD5lvVVgqtip8FZHKCpVKlSaVGyovVKmqpqreqgtV81XLVI+pXlN9rkZVM1PjqQnUlqtVqp1Q61MbU2epO6iHqmeob1Q/pH5Z/YkGWcNMw09DpFGgsV/jvMYgC2MZs3gsIWsNq4Z1gTXEJrHN2Xx2KruY/R27iz2qqaE5QzNKM1ezUvOUZj8H45hx+Jx0TgnnKKeX836K3hTvKeIpG6Y0TLkxZVxrqpaXllirSKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4/OBZ3nU9lT3acKpxZNPTr1ri6qa6UbobtEd79up+6Ynr5egJ5Mb6feeb3n+hx9L/1U/W36p/VHDFgGswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6VhlWGX4YSRudE8o9VGjUYPjGnGXOMk423GbcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1mz0x1zLnm+eb15vft2BaeFostqi2uGVJsuRaplnutrxuhVo5WaVYVVpds0atna0l1rutu6cRp7lOk06rntZnw7Dxtsm2qbcZsOXYBtuutm22fWFnYhdnt8Wuw+6TvZN9un2N/T0HDYfZDqsdWh1+c7RyFDpWOt6azpzuP33F9JbpL2dYzxDP2DPjthPLKcRpnVOb00dnF2e5c4PziIuJS4LLLpc+Lpsbxt3IveRKdPVxXeF60vWdm7Obwu2o26/uNu5p7ofcn8w0nymeWTNz0MPIQ+BR5dE/C5+VMGvfrH5PQ0+BZ7XnIy9jL5FXrdewt6V3qvdh7xc+9j5yn+M+4zw33jLeWV/MN8C3yLfLT8Nvnl+F30N/I/9k/3r/0QCngCUBZwOJgUGBWwL7+Hp8Ib+OPzrbZfay2e1BjKC5QRVBj4KtguXBrSFoyOyQrSH355jOkc5pDoVQfujW0Adh5mGLw34MJ4WHhVeGP45wiFga0TGXNXfR3ENz30T6RJZE3ptnMU85ry1KNSo+qi5qPNo3ujS6P8YuZlnM1VidWElsSxw5LiquNm5svt/87fOH4p3iC+N7F5gvyF1weaHOwvSFpxapLhIsOpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi/RNtGI2ENcKh5O8kgqTXqS7JG8NXkkxTOlLOW5hCepkLxMDUzdmzqeFpp2IG0yPTq9MYOSkZBxQqohTZO2Z+pn5mZ2y6xlhbL+xW6Lty8elQfJa7OQrAVZLQq2QqboVFoo1yoHsmdlV2a/zYnKOZarnivN7cyzytuQN5zvn//tEsIS4ZK2pYZLVy0dWOa9rGo5sjxxedsK4xUFK4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWFfevc1+1dT1gvWd+1YfqGnRs+FYmKrhTbF5cVf9go3HjlG4dvyr+Z3JS0qavEuWTPZtJm6ebeLZ5bDpaql+aXDm4N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO/PLi8ZafJzs07P1SkVPRU+lQ27tLdtWHX+G7R7ht7vPY07NXbW7z3/T7JvttVAVVN1WbVZftJ+7P3P66Jqun4lvttXa1ObXHtxwPSA/0HIw6217nU1R3SPVRSj9Yr60cOxx++/p3vdy0NNg1VjZzG4iNwRHnk6fcJ3/ceDTradox7rOEH0x92HWcdL2pCmvKaRptTmvtbYlu6T8w+0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLTk2fyz4ydlZ19fi753GDborZ752PO32oPb++6EHTh0kX/i+c7vDvOXPK4dPKy2+UTV7hXmq86X23qdOo8/pPTT8e7nLuarrlca7nuer21e2b36RueN87d9L158Rb/1tWeOT3dvfN6b/fF9/XfFt1+cif9zsu72Xcn7q28T7xf9EDtQdlD3YfVP1v+3Njv3H9qwHeg89HcR/cGhYPP/pH1jw9DBY+Zj8uGDYbrnjg+OTniP3L96fynQ89kzyaeF/6i/suuFxYvfvjV69fO0ZjRoZfyl5O/bXyl/erA6xmv28bCxh6+yXgzMV70VvvtwXfcdx3vo98PT+R8IH8o/2j5sfVT0Kf7kxmTk/8EA5jz/GMzLdsAAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADqYAAAOpgAABdvkl/FRgAAAG1JREFUeNrs18EJgDAQRNGJpoQQSC+CWMSWEwhYrCAWYRNz2MP/BQzvOiUi5Op5vzl6u+VrbUoeQIAAAQIECBAgQICpK8d5zay40dtenR+CTwIQIECAAAECBAgQYLaqpGX8EHLuSdIPAAD//wMAuMQN2uF+ypQAAAAASUVORK5CYII=') !important}.pf-map{width:2500px;height:1500px;position:relative;font-family:"Oxygen Bold","Helvetica Neue",Helvetica,Arial,sans-serif}.pf-map .jsplumb-overlay{opacity:1;pointer-events:none;will-change:opacity;-webkit-transition:opacity 0.18s ease-out;transition:opacity 0.18s ease-out}.pf-map .jsplumb-hover.jsplumb-overlay{opacity:0 !important}.pf-map .jsplumb-hover:not(.jsplumb-overlay){-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-delay:.5s;animation-delay:.5s;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-timing-function:linear;animation-timing-function:linear;animation-iteration-count:infinite;-webkit-animation-iteration-count:infinite;-webkit-animation-name:bounce;animation-name:bounce}.pf-map .jsplumb-target-hover,.pf-map .jsplumb-source-hover{-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-delay:.5s;animation-delay:.5s;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-timing-function:linear;animation-timing-function:linear;animation-iteration-count:infinite;-webkit-animation-iteration-count:infinite;-webkit-animation-name:bounce;animation-name:bounce;-webkit-box-shadow:0 6px 12px rgba(0,0,0,0.3);box-shadow:0 6px 12px rgba(0,0,0,0.3)}.pf-map .pf-system{position:absolute;min-width:60px;height:auto;overflow:hidden;background-color:#313335;font-family:"Oxygen Bold","Helvetica Neue",Helvetica,Arial,sans-serif;z-index:100;will-change:top, left, opacity;border-width:2px;border-style:solid;border-color:#63676a;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;-webkit-transition:border-color 0.2s ease-out,box-shadow 0.12s ease-out,opacity 0.12s ease-out;transition:border-color 0.2s ease-out,box-shadow 0.12s ease-out,opacity 0.12s ease-out;-moz-transform:translate3d(0, 0, 0);-ms-transform:translate3d(0, 0, 0);-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}.pf-map .pf-system:hover{-webkit-box-shadow:0 6px 12px rgba(0,0,0,0.3);box-shadow:0 6px 12px rgba(0,0,0,0.3);-moz-transform:translate3d(0, -1px, 0) !important;-ms-transform:translate3d(0, -1px, 0) !important;-webkit-transform:translate3d(0, -1px, 0) !important;transform:translate3d(0, -1px, 0) !important}.pf-map .pf-system:hover:not(.jsPlumb_dragged){z-index:1040 !important}.pf-map .pf-system .pf-system-head{padding:0 3px 0 3px;cursor:pointer;font-family:Arial, sans-serif;font-weight:bold;white-space:nowrap}.pf-map .pf-system .pf-system-head .pf-system-head-name{border:none;display:inline-block;min-width:50px;color:#adadad;margin-right:2px}.pf-map .pf-system .pf-system-head .pf-system-head-counter{display:inline-block;text-align:right;min-width:8px;margin-right:1px;color:#5cb85c;cursor:help}.pf-map .pf-system .pf-system-head .pf-system-head-counter:empty{display:none}.pf-map .pf-system .pf-system-head .pf-system-effect{font-size:11px}.pf-map .pf-system .pf-system-head .fa-lock{font-size:11px;display:none}.pf-map .pf-system .pf-system-head .pf-system-head-expand{margin-left:2px;color:#63676a;width:10px;display:none}.pf-map .pf-system .pf-system-head .editable-empty{font-style:normal}.pf-map .pf-system .pf-system-head-info{display:flex;color:#7c8184;font-size:10px;line-height:10px;padding-right:1px;margin-bottom:2px}.pf-map .pf-system .pf-system-head-info [class^="pf-system-sec-"]{cursor:help}.pf-map .pf-system .pf-system-head-info-left{flex:1}.pf-map .pf-system .pf-system-head-info-right{flex:1;text-align:right}.pf-map .pf-system .pf-system-body{height:0px;width:100%;overflow:hidden;cursor:-moz-grab;cursor:-webkit-grab;cursor:grab;padding:0 4px;white-space:nowrap;display:none;will-change:width;border-top-width:1px;border-top-style:dashed;border-top-color:#63676a}.pf-map .pf-system .pf-system-body .pf-system-body-item{position:relative;color:#7c8184;font-size:10px;line-height:16px;height:16px}.pf-map .pf-system .pf-system-body .pf-system-body-item .pf-system-body-right{float:right;color:#f0ad4e;width:50px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;display:none}.pf-map .pf-system .pf-system-body .pf-system-body-item .pf-user-status{font-size:6px;width:10px;vertical-align:middle}.pf-map .pf-system .pf-system-body .pf-system-body-item .pf-system-body-item-name{position:absolute;display:inline-block;width:calc(100% - 10px);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.pf-map .pf-system .tooltip.in{opacity:1}.pf-map .pf-system .tooltip .tooltip-inner{color:#313335;background-color:#adadad;padding:3px 3px}.pf-map .pf-system-active:not(.pf-map-endpoint-source):not(.pf-map-endpoint-target){-webkit-box-shadow:#ffb 0px 0px 8px 0px;box-shadow:#ffb 0px 0px 8px 0px}.pf-map .pf-system-selected:not(.pf-map-endpoint-source):not(.pf-map-endpoint-target),.pf-map .jsPlumb_dragged:not(.pf-map-endpoint-source):not(.pf-map-endpoint-target){-webkit-box-shadow:#58100d 0px 0px 8px 0px;box-shadow:#58100d 0px 0px 8px 0px;background-color:#58100d}.pf-map .pf-system-selected:not(.pf-map-endpoint-source):not(.pf-map-endpoint-target) .pf-system-head,.pf-map .jsPlumb_dragged:not(.pf-map-endpoint-source):not(.pf-map-endpoint-target) .pf-system-head,.pf-map .pf-system-selected:not(.pf-map-endpoint-source):not(.pf-map-endpoint-target) .pf-system-body,.pf-map .jsPlumb_dragged:not(.pf-map-endpoint-source):not(.pf-map-endpoint-target) .pf-system-body{background-color:#58100d}.pf-map .pf-system-locked .pf-system-sec{cursor:default !important}.pf-map .pf-system-locked .pf-system-body{cursor:default !important}.pf-map .pf-system-locked .fa-lock{color:#63676a !important;display:inline-block !important}.pf-map .pf-system-debug{position:absolute;color:#fff;font-size:10px;line-height:22px;text-align:center;pointer-events:none;z-index:500}.pf-map .pf-map-endpoint-source,.pf-map .pf-map-endpoint-target{z-index:90}.pf-map .pf-map-endpoint-source svg,.pf-map .pf-map-endpoint-target svg{overflow:visible}.pf-map .pf-map-endpoint-source svg circle,.pf-map .pf-map-endpoint-target svg circle{-webkit-transition:stroke 0.18s ease-out,fill 0.18s ease-out;transition:stroke 0.18s ease-out,fill 0.18s ease-out}.pf-map .pf-map-endpoint-source svg *,.pf-map .pf-map-endpoint-target svg *{stroke:#63676a;stroke-width:2;fill:#3c3f41;cursor:pointer}.pf-map .pf-map-endpoint-source:hover circle,.pf-map .pf-map-endpoint-target:hover circle{stroke:#e28a0d !important}.pf-map .pf-map-endpoint-source.jsplumb-hover,.pf-map .pf-map-endpoint-target.jsplumb-hover{z-index:95}.pf-map .pf-map-endpoint-source.jsplumb-dragging circle,.pf-map .pf-map-endpoint-target.jsplumb-dragging circle{stroke:#e28a0d}.pf-map .jsplumb-endpoint-drop-allowed circle{stroke:#5cb85c !important;fill:#5cb85c !important}.pf-map .jsplumb-endpoint-drop-forbidden circle{stroke:#a52521 !important;fill:#a52521 !important}.pf-map svg.jsplumb-connector{cursor:pointer;stroke-linecap:round;-webkit-transition:stroke 0.18s ease-out;transition:stroke 0.18s ease-out;will-change:all}.pf-map svg.jsplumb-connector path{-webkit-transition:stroke 0.18s ease-out;transition:stroke 0.18s ease-out}.pf-map svg.jsplumb-connector path:nth-child(2){stroke:#3c3f41}.pf-map svg.jsplumb-connector path:first-child{stroke:#63676a}.pf-map svg.jsplumb-connector.jsplumb-hover{z-index:80;filter:drop-shadow(-3px 3px 4px rgba(0,0,0,0.3))}.pf-map svg.jsplumb-connector.jsplumb-hover:not(.pf-map-connection-jumpbridge):not(.pf-map-connection-abyssal) path:first-child{stroke:#eaeaea}.pf-map svg.jsplumb-connector.jsplumb-hover.pf-map-connection-jumpbridge path:nth-child(2),.pf-map svg.jsplumb-connector.jsplumb-hover.pf-map-connection-abyssal path:nth-child(2){stroke:#eaeaea}.pf-map svg.jsplumb-connector.jsplumb-dragging{-webkit-transition:opacity 0.18s ease-out;transition:opacity 0.18s ease-out;opacity:0.4;z-index:80}.pf-map svg.pf-map-connection-abyssal{z-index:40}.pf-map svg.pf-map-connection-abyssal path:first-child{stroke:rgba(255,255,255,0)}.pf-map svg.pf-map-connection-abyssal path:nth-child(2){stroke:#5a225a}.pf-map svg.pf-map-connection-abyssal:hover path:first-child{stroke:rgba(255,255,255,0)}.pf-map svg.pf-map-connection-abyssal:hover path:nth-child(2){stroke:#eaeaea}.pf-map svg.pf-map-connection-jumpbridge{z-index:50}.pf-map svg.pf-map-connection-jumpbridge path:first-child{stroke:rgba(255,255,255,0)}.pf-map svg.pf-map-connection-jumpbridge path:nth-child(2){stroke:#568a89}.pf-map svg.pf-map-connection-jumpbridge:hover path:first-child{stroke:rgba(255,255,255,0)}.pf-map svg.pf-map-connection-jumpbridge:hover path:nth-child(2){stroke:#eaeaea}.pf-map svg.pf-map-connection-stargate{z-index:60}.pf-map svg.pf-map-connection-stargate path:first-child{stroke:#63676a}.pf-map svg.pf-map-connection-stargate path:nth-child(2){stroke:#313966}.pf-map svg.pf-map-connection-stargate:hover path:first-child{stroke:#eaeaea}.pf-map svg.pf-map-connection-wh-fresh,.pf-map svg.pf-map-connection-wh-reduced,.pf-map svg.pf-map-connection-wh-critical,.pf-map svg.pf-map-connection-wh-eol{z-index:70}.pf-map svg.pf-map-connection-wh-eol path:first-child{stroke:#d747d6}.pf-map svg.pf-map-connection-wh-eol:hover path:first-child{stroke:#eaeaea}.pf-map svg.pf-map-connection-wh-reduced path:nth-child(2){stroke:#e28a0d}.pf-map svg.pf-map-connection-wh-critical path:nth-child(2){stroke:#a52521}.pf-map svg.pf-map-connection-active{filter:drop-shadow(0px 0px 3px #ffb)}.pf-map .pf-map-connection-overlay{padding:1px 4px;font-size:10px;z-index:1020;background-color:#3c3f41;color:#adadad;-moz-border-radius:6px;-webkit-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,0.4);box-shadow:0 6px 12px rgba(0,0,0,0.4)}.pf-map .frig{background-color:#f0ad4e;color:#1d1d1d}.pf-map .mass{background-color:#a52521;color:#eaeaea}.pf-map .eol{background-color:#3c3f41;color:#d747d6}.pf-map .pf-map-connection-arrow-overlay{stroke:#313335;fill:#5cb85c}.pf-map .pf-map-connection-diamond-overlay{stroke:#313335;fill:#d9534f;animation-name:pfPulseDanger;animation-duration:4s;animation-iteration-count:infinite}.pf-map .pf-map-connection-small-overlay{filter:blur(0px);-webkit-font-smoothing:antialiased;font-family:Arial, sans-serif;padding:2px;font-size:9.5px;line-height:100%;z-index:1020;background-color:#3c3f41;color:#adadad;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;-webkit-box-shadow:0 3px 6px rgba(0,0,0,0.3);box-shadow:0 3px 6px rgba(0,0,0,0.3)}.ui-dialog-content label,.ui-dialog-content .editable-input .editable-checklist>div>label>span,.editable-input .ui-dialog-content .editable-checklist>div>label>span{min-width:60px}.dropdown-menu{min-width:150px;font-family:"Oxygen Bold","Helvetica Neue",Helvetica,Arial,sans-serif;z-index:1050;will-change:opacity, top, left, transform}.dropdown-menu a{cursor:pointer}.dropdown-menu i{width:20px;pointer-events:none}.dropdown-menu .dropdown-menu{border-top-left-radius:0;border-bottom-left-radius:0;clip-path:inset(-12px -12px -12px 0px)}.dropdown-menu[role]>li:not(.disabled){position:relative}.dropdown-menu[role]>li:not(.disabled):before{content:'';position:absolute;background-color:#5cb85c;opacity:0;will-change:opacity,left;-webkit-transition:left 0.15s ease-out,opacity 0.15s ease-out;transition:left 0.15s ease-out,opacity 0.15s ease-out;width:2px;height:100%;left:0}.dropdown-menu[role]>li:not(.disabled):hover:before{left:-4px;opacity:1}.dropdown-menu>li.disabled{cursor:not-allowed;pointer-events:none}.dropdown-menu>li>a{padding:3px 8px}.pf-system-tooltip-inner{color:#adadad;padding:2px 4px;min-width:25px;-webkit-transition:color 0.2s ease-out;transition:color 0.2s ease-out}.pf-system-info-module h5{text-transform:capitalize}.pf-system-info-module .pf-system-info-description-area{min-height:124px}.pf-system-info-module .pf-system-info-description-area .editable-container{width:100%}.pf-system-info-module .pf-system-info-description-area .editable-container .editableform{width:100%}.pf-system-info-module .pf-system-info-description-area .editable-container .editableform .form-group{width:100%}.pf-system-info-module .pf-system-info-description-area .editable-container .editableform .form-group .editable-input{width:calc(100% - 75px)}.pf-system-info-module .pf-system-info-description-area .editable-container .editableform .form-group .editable-input textarea{width:100%;max-height:200px;resize:vertical}.pf-system-signature-module .progress-label-right{margin-right:20px;vertical-align:middle;font-size:11px}.pf-system-signature-module .pf-system-progress-scanned{display:inline-block;margin-left:20px;width:calc(100% - 225px)}.pf-system-signature-module .pf-system-progress-scanned .progress{margin-bottom:3px}.pf-system-signature-module .pf-sig-table-clear-button{will-change:opacity, transform;display:none;color:#a52521}.pf-system-signature-module .pf-sig-table{font-size:10px}.pf-system-signature-module .pf-sig-table .pf-sig-table-edit-name-input{text-transform:uppercase}.pf-system-signature-module .pf-sig-table .editable-container.editable-inline{display:inline}.pf-system-signature-module .pf-sig-table .editable-container.editable-inline .control-group{display:inline}.pf-system-signature-module .pf-sig-table .editable-container.editable-inline .control-group .editable-input{display:inline}.pf-system-signature-module .pf-sig-table .pf-editable-description{width:100%;background-color:#2b2b2b;max-height:50px;font-size:11px;line-height:14px;padding:3px 6px}.pf-system-signature-module .pf-sig-table-secondary th{pointer-events:none}.pf-system-signature-module .pf-sig-table-secondary th:after{display:none !important}.pf-system-signature-module .pf-sig-table-secondary th.pf-table-counter-cell{color:transparent}.pf-system-graph-module .pf-system-graph{position:relative;width:100%;height:100px}.pf-system-route-module .pf-system-route-table{width:100%;font-size:10px}.pf-system-route-module .pf-system-route-table td{text-transform:capitalize}.pf-system-route-module .pf-system-route-table td>.fas,.pf-system-route-module .pf-system-route-table td>.far{font-size:10px}.pf-system-route-module .pf-system-route-table td .pf-fake-connection{display:none;width:12px;height:3px;cursor:pointer}.pf-system-route-module .pf-system-route-table td .pf-fake-connection[data-disabled]{cursor:initial}.pf-system-route-module .pf-system-route-table td .pf-fake-connection.pf-map-connection-frig{width:32px}.pf-system-route-module .pf-system-route-table td .pf-fake-connection.pf-map-connection-frig:after{left:4px}.pf-system-route-module .pf-system-route-table td .pf-fake-connection.pf-map-connection-preserve-mass{width:26px}.pf-system-route-module .pf-system-route-table td .pf-fake-connection.pf-map-connection-preserve-mass:after{content:"\f071";font-family:"Font Awesome 5 Free";font-style:normal;font-weight:bold;left:4px}.pf-system-route-module .pf-system-route-table td.pf-table-jump-cell .pf-fake-connection{display:inline-block}.pf-system-intel-module .pf-system-structure-table{font-size:10px}.pf-system-killboard-module .pf-system-killboard-graph-kills{width:100%;height:100px;position:relative;margin-bottom:30px}.pf-system-killboard-module .pf-system-killboard-list{padding-bottom:10px;border-bottom:1px solid #2b2b2b}.pf-system-killboard-module .pf-system-killboard-list>li{margin-left:0;overflow:visible;min-height:50px;will-change:transform, opacity, margin-left;-webkit-transition:margin-left 0.12s cubic-bezier(0.3, 0.8, 0.8, 1.7);transition:margin-left 0.12s cubic-bezier(0.3, 0.8, 0.8, 1.7)}.pf-system-killboard-module .pf-system-killboard-list>li h5{white-space:nowrap}.pf-system-killboard-module .pf-system-killboard-list>li h3{width:120px;display:inline-block}.pf-system-killboard-module .pf-system-killboard-list>li .pf-system-killboard-img-char{display:inline;width:32px;margin-top:9px;margin-right:10px;border:1px solid #2b2b2b;will-change:border-color;-moz-border-radius:50%;-webkit-border-radius:50%;border-radius:50%;-webkit-transition:border-color 0.12s ease-out;transition:border-color 0.12s ease-out}.pf-system-killboard-module .pf-system-killboard-list>li .pf-system-killboard-img-char:hover{border-color:#568a89}.pf-system-killboard-module .pf-system-killboard-list>li .pf-system-killboard-img-corp,.pf-system-killboard-module .pf-system-killboard-list>li .pf-system-killboard-img-ally{display:inline;width:20px;margin-right:10px;border:1px solid #2b2b2b;will-change:border-color;-moz-border-radius:50%;-webkit-border-radius:50%;border-radius:50%;-webkit-transition:border-color 0.12s ease-out;transition:border-color 0.12s ease-out}.pf-system-killboard-module .pf-system-killboard-list>li .pf-system-killboard-img-corp:hover,.pf-system-killboard-module .pf-system-killboard-list>li .pf-system-killboard-img-ally:hover{border-color:#568a89}.pf-system-killboard-module .pf-system-killboard-list>li .pf-system-killboard-img-ship{width:50px;margin-right:10px;border:1px solid #2b2b2b;will-change:border-color;-moz-border-radius:50%;-webkit-border-radius:50%;border-radius:50%;-webkit-transition:border-color 0.12s ease-out;transition:border-color 0.12s ease-out}.pf-system-killboard-module .pf-system-killboard-list>li .pf-system-killboard-img-ship:hover{border-color:#568a89}.pf-system-killboard-module .pf-system-killboard-list>li:before{content:"\f054";font-family:"Font Awesome 5 Free";font-weight:bold;position:absolute;z-index:10;left:-18px;top:15px;color:#477372;opacity:0;will-change:opacity, left;-webkit-transition:all 0.12s ease-out;transition:all 0.12s ease-out}.pf-system-killboard-module .pf-system-killboard-list>li:hover{margin-left:10px}.pf-system-killboard-module .pf-system-killboard-list>li:hover:before{opacity:1;left:-15px}.pf-connection-info-module .row{display:flex;align-items:stretch;flex-wrap:wrap}.pf-connection-info-module .pf-dynamic-area{display:flex;justify-content:center;align-items:center;margin-bottom:10px;min-height:inherit}.pf-connection-info-module .pf-connection-info-table{width:100%;font-size:10px}.pf-connection-info-module .pf-connection-info-table td>.fas,.pf-connection-info-module .pf-connection-info-table td>.far{font-size:10px}input,select{background-color:#313335;color:#adadad;border:1px solid #63676a;font-family:"Oxygen Bold","Helvetica Neue",Helvetica,Arial,sans-serif}input:focus,select:focus{border-color:#568a89}input:-webkit-autofill,select:-webkit-autofill{background-color:#313335 !important;-webkit-box-shadow:0 0 0 50px #313335 inset !important;box-shadow:0 0 0 50px #313335 inset !important;-webkit-text-fill-color:#adadad}input:-webkit-autofill:focus,select:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 50px #313335 inset !important;box-shadow:0 0 0 50px #313335 inset !important;-webkit-text-fill-color:#adadad}input::-webkit-file-upload-button,select::-webkit-file-upload-button{background-color:transparent;border:none;color:#63676a;outline:none}input[disabled]::-moz-placeholder,select[disabled]::-moz-placeholder{color:transparent;opacity:1}input[disabled]:-ms-input-placeholder,select[disabled]:-ms-input-placeholder{color:transparent}input[disabled]::-webkit-input-placeholder,select[disabled]::-webkit-input-placeholder{color:transparent}input.pf-select2,select.pf-select2{height:32px;padding:6px 12px}textarea{min-height:32px;max-height:400px;resize:vertical}fieldset[disabled] .form-control{color:#63676a}fieldset[disabled] .form-control::-moz-placeholder{color:transparent;opacity:1}fieldset[disabled] .form-control:-ms-input-placeholder{color:transparent}fieldset[disabled] .form-control::-webkit-input-placeholder{color:transparent}fieldset[disabled] .input-icon-left .fa-stack i:last-child,fieldset[disabled] .input-icon-right .fa-stack i:last-child{color:#3c3f41}#select2-pf-map-dialog-edit-icon-select-container,#select2-pf-map-dialog-new-icon-select-container,#select2-pf-map-dialog-new-icon-select-results,#select2-pf-map-dialog-edit-icon-select-results,.pf-form-icon-field{font-family:"Font Awesome 5 Free";font-weight:bold}#select2-pf-map-dialog-edit-icon-select-container option,#select2-pf-map-dialog-new-icon-select-container option,#select2-pf-map-dialog-new-icon-select-results option,#select2-pf-map-dialog-edit-icon-select-results option,.pf-form-icon-field option{font-family:inherit;font-weight:inherit}.input-icon-left:not(.input-icon-right) .fa-stack:first-child{left:14px}.input-icon-right:not(.input-icon-left) .fa-stack:first-child{right:14px}.input-icon-left.input-icon-right .fa-stack:first-child{left:14px}.input-icon-left.input-icon-right .fa-stack:nth-child(2){right:14px}.input-icon-left .fa-stack,.input-icon-right .fa-stack{position:absolute;top:4px}.input-icon-left .fa-stack i:first-child,.input-icon-right .fa-stack i:first-child{color:#63676a}.input-icon-left .fa-stack i:last-child,.input-icon-right .fa-stack i:last-child{color:#313335}.btn.btn-fake{border:none;text-align:left;cursor:default;opacity:1 !important;color:#63676a !important;background-color:#3c3f41 !important}.btn .btn-progress{position:absolute;display:block;height:100%;background-color:rgba(92,184,92,0.2);max-width:100%;width:0;top:0;left:0;overflow:hidden;line-height:30px;color:#f0ad4e;font-size:10px;text-align:left;-webkit-transition:width 0.1s linear;transition:width 0.1s linear}.pf-form-dropzone{border:2px dashed #2b2b2b;height:100px;background-color:#353739;text-align:center;font-size:20px;line-height:100px;margin:15px 0;color:#2b2b2b;-moz-border-radius:10px;-webkit-border-radius:10px;border-radius:10px;-webkit-transition:color 0.18s ease-out,border-color 0.18s ease-out;transition:color 0.18s ease-out,border-color 0.18s ease-out}.pf-form-dropzone:hover{color:#568a89;border-color:#568a89;cursor:-moz-grabbing;cursor:-webkit-grabbing;cursor:grabbing}.toggle.btn:active{box-shadow:none}.pf-form-field-char-count{display:block;margin-top:10px}.pf-icon{display:inline-block}.pf-icon.disabled{opacity:0.5;color:#63676a}.pf-icon-dotlan,.pf-icon-anoik{position:relative;display:inline-block;width:17px;height:17px;opacity:0.8;margin:-5px 0px 0 10px}.pf-icon-dotlan:after{content:'';position:absolute;left:0;right:0;height:17px;width:17px;margin-top:4px;background:url('data:image/png;base64,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') no-repeat}.pf-icon-anoik:after{content:'';position:absolute;left:0;right:0;height:17px;width:17px;margin-top:4px;background:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAARCAMAAAAMs7fIAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAMAUExURRoQEB4PERwRCx0SDRoTDSQQDiERDhgUExwTEx4UDyQUEiAWEiYVDSoUDigUFC4TEB0YEiIXEyAaFScYFiQZFSkYEi0XEzEWEzQXECAcGyYbGCoaGC4ZGSIdGDQZFyIeHSUeFS0cFiwcGjEbFiEgGiUfGioeFikeGjEeEzQdGTEfGTodFjkdGiwhHS4hGTUfHyojGTEhHiUlHjcgGykkHjMiGy8jIEIfGzkiHT8hGj4hHzsjGjkjIzEmIjMmHjUlIycpJTclHi8oHjwkIC4oI0MlHUIlIj4nIj0nJkglIjspIkEoHzIsJjYrJzsqJzkrI0wnHSwvLDAvKEcpIUYpJjYuJEAsIT8sJUMrJjouKjYwKkwtJUstKj8xKUcvKkYvLz4yLkIxLkQxKjo0LkYyJlMuKEsxKD01Ki85NFExKVAyL0I2MlgxJk00MEU3Ljo6Mkk2Lz85M0k3NFgzMlU2Lk45LVY3ND8+OEo8M007OU87NFQ6NUk9OVM6OkU/OUc/NERBNWI6L01BPUREPVpBQVxCPVNFPElJQVNGQldFQllFPk9IQlJJP0dNRHdDNE9ORlVOSF9MSVdPRGZLRVxPTWNOR1RTRlNTS09VTGBRR2RTRG1STGBYUWZXVFZcUmdYTmxXT15cUXBYXHRYUnBbTmhfVm1iUnpeWF9mXHVgWHFhX3JiWWdmXWxnVXhmV35pYXZtY31saYZqZHJwZINtVGxyZ2Z0aYBuX3tyYIRvZ2x8cYV1cX94bYh2Z4t1bYF5Z3Z8c5J2cop8ZY99bZZ7epN+dYiCdZ97d4WEfJOAfHmLf5CHdYaLgJqHeJaKc4KPfZeLeaCIgJ+KdaGJh5KPhZuVgo2ZiZKYjp2YjaqVja6XiKiag46jkrWYlbOdh6+elbWdlqiij8Gcl7ulj7mllaSslb2noLOsmayxo8ippLqyl6e3qMewq8K8p8i9sbnEttK/uszHtcXTx9vQsN/Nx+zQwd/ZxN/ez/Db1e7hvtjn4fPx5ub17P7w6vv++////59V2N4AAAE/SURBVHjaADIBzf4AElERERpMi3GLi2BZNQ0ODgUAGQkRNEQ9Wlp+T2CwVyEWFg0ABBE0CSBai5yCWXyfiFczDQ0AEjICNmOPs8rYknjDiu5fIyMAJREURFWPlqj+18beqtOKSCkABBAnLUSeb5r71ZnZxa97WCMAAiUlGkSHh8Kl6smv6aebeywAAhE0RD02cSqtYpP0vmJ7WEYAAhEaNi00EyIFa6l6WDVDajkAAgkRLRoUCgw1KpFXWDNHXDoAAggJCREGFE4cLE5XYjNYW0YABAACAgoJBgY2TiFXQ0czWFMAAggAAhEJFBQnKk5iR0NFXHQAAAAAAhEUCicxKjM1VyMsN1QAAgkGChsnKkFBSmJXS0VFUGwAAgIBBgoTGyIxISEjQx4YXEYAAgIAAgkbGxshIzUzDxgrQywDAKFaTfFe+Wg9AAAAAElFTkSuQmCC') no-repeat}.modal-content h2,.panel-body h2{font-family:"Oxygen","Helvetica Neue",Helvetica,Arial,sans-serif;letter-spacing:0;font-size:14px;margin:20px 0;line-height:normal}.modal-content h2.pf-dynamic-area,.modal-content h4.pf-dynamic-area,.panel-body h2.pf-dynamic-area,.panel-body h4.pf-dynamic-area{min-height:0;margin:0 0 10px 0}.modal-content h2.pf-dynamic-area>img,.modal-content h4.pf-dynamic-area>img,.panel-body h2.pf-dynamic-area>img,.panel-body h4.pf-dynamic-area>img{margin:-10px 5px -10px -10px;width:35px}.modal-content h2[data-toggle="collapse"],.modal-content h4[data-toggle="collapse"],.panel-body h2[data-toggle="collapse"],.panel-body h4[data-toggle="collapse"]{cursor:pointer}.modal-content h2[data-toggle="collapse"]:hover:after,.modal-content h4[data-toggle="collapse"]:hover:after,.panel-body h2[data-toggle="collapse"]:hover:after,.panel-body h4[data-toggle="collapse"]:hover:after{color:#e28a0d !important}.modal-content h2[data-toggle="collapse"]:after,.modal-content h4[data-toggle="collapse"]:after,.panel-body h2[data-toggle="collapse"]:after,.panel-body h4[data-toggle="collapse"]:after{content:"\f078";font-family:"Font Awesome 5 Free";font-style:normal;font-weight:bold;font-size:13px;padding-right:10px;position:absolute;color:#e28a0d;top:10px;right:6px}.modal-content h2[data-toggle="collapse"].collapsed:after,.modal-content h4[data-toggle="collapse"].collapsed:after,.panel-body h2[data-toggle="collapse"].collapsed:after,.panel-body h4[data-toggle="collapse"].collapsed:after{top:13px;right:5px;color:#63676a;-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.modal-content .dataTables_wrapper+.alert{margin-top:10px}.modal-content .dataTable,.modal-content .table{font-size:10px;font-family:"Oxygen Bold","Helvetica Neue",Helvetica,Arial,sans-serif}.modal-content hr{margin:5px 0 15px 0;border-color:#63676a}.modal-content .well{margin-bottom:0}.modal-content .well .list-inline{margin-bottom:0}.modal-content .pf-wizard-navigation{margin:0}.modal-content .pf-wizard-navigation li:not(:last-child):before{border-top:1px solid #63676a;content:"";display:block;font-size:0;overflow:hidden;position:relative;top:12px;left:71px;right:1px;width:100%}.modal-content .pf-wizard-navigation li.finished:before{-moz-border-image:-moz-linear-gradient(left, #375959,#375959) 1 1%;-moz-border-image:linear-gradient(to right, #375959,#375959) 1 1%;-o-border-image:linear-gradient(to right, #375959,#375959) 1 1%;-webkit-border-image:-webkit-linear-gradient(left, #375959,#375959) 1 1%;-webkit-border-image:linear-gradient(to right, #375959,#375959) 1 1%;border-image:-moz-linear-gradient(left, #375959,#375959) 1 1%;border-image:-webkit-linear-gradient(left, #375959,#375959) 1 1%;border-image:linear-gradient(to right, #375959,#375959) 1 1%;border-bottom:0}.modal-content .pf-wizard-navigation li.active:before{-moz-border-image:-moz-linear-gradient(left, #4f9e4f,#63676a) 1 1%;-moz-border-image:linear-gradient(to right, #4f9e4f,#63676a) 1 1%;-o-border-image:linear-gradient(to right, #4f9e4f,#63676a) 1 1%;-webkit-border-image:-webkit-linear-gradient(left, #4f9e4f,#63676a) 1 1%;-webkit-border-image:linear-gradient(to right, #4f9e4f,#63676a) 1 1%;border-image:-moz-linear-gradient(left, #4f9e4f,#63676a) 1 1%;border-image:-webkit-linear-gradient(left, #4f9e4f,#63676a) 1 1%;border-image:linear-gradient(to right, #4f9e4f,#63676a) 1 1%;border-bottom:0}.modal-content .pf-wizard-navigation li>h6{color:#63676a;font-size:11px;margin:5px}.modal-content .pf-wizard-navigation li a:hover+h6{color:#adadad}.modal-content .pf-wizard-navigation li.active a:not(.btn-danger)+h6{color:#adadad}#pf-settings-dialog .form-group .btn-sm,#pf-settings-dialog .form-group .btn-group-sm>.btn{padding:4px 7px 3px}#pf-settings-dialog #pf-dialog-captcha-wrapper{margin:0;padding:3px 0}#pf-map-dialog #pf-map-dialog-character-select,#pf-map-dialog #pf-map-dialog-corporation-select,#pf-map-dialog #pf-map-dialog-alliance-select{width:535px}#pf-route-dialog #pf-route-dialog-map-select{width:300px !important}#pf-shortcuts-dialog td kbd:last-of-type+i{display:none}#pf-manual-scrollspy{position:relative;height:700px;overflow:auto}.pf-system-dialog-select{width:300px !important}#pf-task-dialog .pf-task-dialog-status{min-height:inherit}#pf-map-info-logs{margin-bottom:10px}#pf-stats-dialog .pf-dynamic-area{margin-bottom:10px}#pf-structure-dialog #pf-structure-dialog-corporation-select,#pf-structure-dialog #pf-structure-dialog-type-select{width:267px !important}.pf-jump-info-dialog blockquote{margin-top:15px;margin-bottom:5px}.pf-changelog-dialog .pf-dynamic-message-container{margin-bottom:20px}.pf-credits-dialog .pf-credits-logo-background{overflow:visible;background:url("../../img/logo_bg.png");background-size:cover;padding:20px;margin-bottom:20px}.pf-credits-dialog #pf-logo-container{width:355px;height:366px;margin:0 auto}.pf-credits-dialog .pf-dynamic-area{min-height:50px}.pf-credits-dialog .dl-horizontal{display:inline-block;width:48%}.pf-credits-dialog .btn{padding:0}.pf-credits-dialog blockquote{font-size:14px}.pf-log-graph{height:100px;width:100%}.timeline{list-style:none;position:relative}.timeline:before{top:0;bottom:0;position:absolute;content:" ";width:1px;left:50%;margin-top:20px;background-image:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuNSIgeTE9IjAuMCIgeDI9IjAuNSIgeTI9IjEuMCI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzRmOWU0ZiIvPjxzdG9wIG9mZnNldD0iMjUlIiBzdG9wLWNvbG9yPSIjNjM2NzZhIi8+PC9saW5lYXJHcmFkaWVudD48L2RlZnM+PHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgZmlsbD0idXJsKCNncmFkKSIgLz48L3N2Zz4g');background-size:100%;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #4f9e4f),color-stop(25%, #63676a));background-image:-moz-linear-gradient(top, #4f9e4f,#63676a 25%);background-image:-webkit-linear-gradient(top, #4f9e4f,#63676a 25%);background-image:linear-gradient(to bottom, #4f9e4f,#63676a 25%)}.timeline>li{margin-bottom:20px;position:relative}.timeline>li.timeline-first .timeline-title{color:#4f9e4f}.timeline>li.timeline-first .timeline-badge{background-color:#4f9e4f}.timeline>li:before,.timeline>li:after{content:" ";display:table}.timeline>li:after{clear:both}.timeline>li:before,.timeline>li:after{content:" ";display:table}.timeline>li:after{clear:both}.timeline>li>.timeline-panel{width:47%;float:left;border:1px solid #313335;padding:8px;position:relative;background-color:#313335;font-size:11px;-webkit-box-shadow:0 4px 10px rgba(0,0,0,0.4);box-shadow:0 4px 10px rgba(0,0,0,0.4);-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.timeline>li>.timeline-panel:before{content:" ";position:absolute;top:10px;right:-8px;display:inline-block;border-top:7px solid transparent;border-left:7px solid #63676a;border-right:0 solid #63676a;border-bottom:7px solid transparent}.timeline>li>.timeline-panel:after{content:" ";position:absolute;top:10px;right:-8px;display:inline-block;border-top:7px solid transparent;border-left:7px solid #63676a;border-right:0 solid #63676a;border-bottom:7px solid transparent}.timeline>li>.timeline-badge{color:#2b2b2b;width:22px;height:22px;line-height:22px;text-align:center;position:absolute;top:7px;left:50%;margin-left:-11px;background-color:#63676a;z-index:100;-moz-border-radius:50%;-webkit-border-radius:50%;border-radius:50%}.timeline>li>.timeline-badge>i{vertical-align:middle}.timeline>li.timeline-inverted>.timeline-panel{float:right}.timeline>li.timeline-inverted>.timeline-panel:before{border-left-width:0;border-right-width:7px;left:-8px;right:auto}.timeline>li.timeline-inverted>.timeline-panel:after{border-left-width:0;border-right-width:8px;left:-9px;right:auto}.timeline-title{margin-top:0;color:inherit}.timeline-body>hr{display:none}.timeline-body>hr ~ *{display:none}.timeline-body>p,.timeline-body>ul{margin-bottom:0;list-style-type:disc;margin-left:15px}.timeline-body>p+p{margin-top:5px}@media (max-width: 1200px){ul.timeline:before{left:40px}ul.timeline>li>.timeline-panel{width:calc(100% - 62px)}ul.timeline>li>.timeline-badge{left:29px;margin-left:0;top:6px}ul.timeline>li>.timeline-panel{float:right}ul.timeline>li>.timeline-panel:before{border-left-width:0;border-right-width:7px;left:-8px;right:auto}ul.timeline>li>.timeline-panel:after{border-left-width:0;border-right-width:7px;left:-8px;right:auto}}.popover{z-index:1060;max-width:600px}.popover .arrow{pointer-events:none}.popover .popover-title{text-transform:capitalize;font-family:"Arial","Oxygen Bold","Helvetica Neue",Helvetica,sans-serif;font-weight:bold}.popover .popover-content{font-family:"Arial","Oxygen Bold","Helvetica Neue",Helvetica,sans-serif}.popover img{-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px}.popover h4{color:#adadad}.popover table{color:#adadad;line-height:16px;font-size:11px}.popover table td{padding:0 5px;vertical-align:middle !important}.popover .select2-container{margin-top:-1px;margin-left:-1px}.pf-popover-small .popover-title{padding:3px 6px}.pf-popover-small .popover-content{padding:6px 1px 3px}.pf-popover{display:initial}.pf-popover .popover-content{padding:0}.pf-popover h6{white-space:nowrap;margin-right:50px}.pf-popover h6:before,.pf-popover h6:after{content:" ";display:table}.pf-popover h6:after{clear:both}.pf-popover .well{margin-top:7px;margin-bottom:10px}.pf-popover .list-group{margin:0}.pf-popover .list-group .list-group-item{color:#313335}.pf-popover .list-group .list-group-item:hover{color:#1d1d1d}.pf-popover .list-group .list-group-item.disabled{background-color:#3c3f41;color:#63676a;cursor:not-allowed}.pf-popover .list-group .list-group-item img{width:30px;margin:-8px 10px -6px -8px;border-radius:0}.pf-popover .list-group .list-group-item i{margin-right:20px}.pf-popover-character .table>tbody>tr>td{border:none}.pf-popover-character .table>tbody>tr>td:first-child+td{padding:0 5px}.pf-popover-character .well{margin-bottom:0}.ribbon-wrapper{width:72px;height:88px;overflow:hidden;position:absolute;top:-3px;right:-3px;pointer-events:none}.ribbon{font:bold 12px "Oxygen Bold","Helvetica Neue",Helvetica,Arial,sans-serif;color:#2b2b2b;text-align:center;text-shadow:rgba(255,255,255,0.2) 0px 1px 0px;position:relative;padding:3px 0;left:-4px;top:16px;width:99px;-webkit-box-shadow:2px 3px 3px rgba(0,0,0,0.2);box-shadow:2px 3px 3px rgba(0,0,0,0.2);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);-webkit-transform:rotate(45deg);transform:rotate(45deg)}.ribbon:before,.ribbon:after{content:"";border-left:3px solid transparent;border-right:3px solid transparent;position:absolute;bottom:-3px}.ribbon.ribbon-default{color:#adadad;background-color:#353739;background-image:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuNSIgeTE9IjAuMCIgeDI9IjAuNSIgeTI9IjEuMCI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzJkMzAzMSIvPjxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iIzJhMmIyZCIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9InVybCgjZ3JhZCkiIC8+PC9zdmc+IA==');background-size:100%;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #2d3031),color-stop(100%, #2a2b2d));background-image:-moz-linear-gradient(top, #2d3031,#2a2b2d);background-image:-webkit-linear-gradient(top, #2d3031,#2a2b2d);background-image:linear-gradient(to bottom, #2d3031,#2a2b2d)}.ribbon.ribbon-default:before,.ribbon.ribbon-default:after{border-top:3px solid #000}.ribbon.ribbon-green{background-color:#5cb85c;background-image:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuNSIgeTE9IjAuMCIgeDI9IjAuNSIgeTI9IjEuMCI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzUxYjM1MSIvPjxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iIzRhOTQ0YSIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9InVybCgjZ3JhZCkiIC8+PC9zdmc+IA==');background-size:100%;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #51b351),color-stop(100%, #4a944a));background-image:-moz-linear-gradient(top, #51b351,#4a944a);background-image:-webkit-linear-gradient(top, #51b351,#4a944a);background-image:linear-gradient(to bottom, #51b351,#4a944a)}.ribbon.ribbon-green:before,.ribbon.ribbon-green:after{border-top:3px solid #285028}.ribbon.ribbon-orange{background-color:#e28a0d;background-image:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuNSIgeTE9IjAuMCIgeDI9IjAuNSIgeTI9IjEuMCI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2Q0ODEwYyIvPjxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iI2I0NmQwYiIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9InVybCgjZ3JhZCkiIC8+PC9zdmc+IA==');background-size:100%;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #d4810c),color-stop(100%, #b46d0b));background-image:-moz-linear-gradient(top, #d4810c,#b46d0b);background-image:-webkit-linear-gradient(top, #d4810c,#b46d0b);background-image:linear-gradient(to bottom, #d4810c,#b46d0b)}.ribbon.ribbon-orange:before,.ribbon.ribbon-orange:after{border-top:3px solid #6c4107}.ribbon.ribbon-red{background-color:#d9534f;background-image:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuNSIgeTE9IjAuMCIgeDI9IjAuNSIgeTI9IjEuMCI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2M5MzAyYyIvPjxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iI2E4MjgyNCIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9InVybCgjZ3JhZCkiIC8+PC9zdmc+IA==');background-size:100%;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #c9302c),color-stop(100%, #a82824));background-image:-moz-linear-gradient(top, #c9302c,#a82824);background-image:-webkit-linear-gradient(top, #c9302c,#a82824);background-image:linear-gradient(to bottom, #c9302c,#a82824)}.ribbon.ribbon-red:before,.ribbon.ribbon-red:after{border-top:3px solid #541412}.ribbon.ribbon-blue{background-color:#428bca;background-image:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuNSIgeTE9IjAuMCIgeDI9IjAuNSIgeTI9IjEuMCI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzM3ODRjNSIvPjxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iIzJkNWM4NSIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9InVybCgjZ3JhZCkiIC8+PC9zdmc+IA==');background-size:100%;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #3784c5),color-stop(100%, #2d5c85));background-image:-moz-linear-gradient(top, #3784c5,#2d5c85);background-image:-webkit-linear-gradient(top, #3784c5,#2d5c85);background-image:linear-gradient(to bottom, #3784c5,#2d5c85)}.ribbon.ribbon-blue:before,.ribbon.ribbon-blue:after{border-top:3px solid #1a344c}.ribbon:before{left:0}.ribbon:after{right:0}.pf-loading-bars-container{position:relative;z-index:4;margin:0 auto;left:5px;right:19px;width:70px;height:50px;list-style:none}.pf-loading-bars-container .pf-loading-bars-loader{position:absolute;z-index:3;margin:0 auto;left:0;right:0;top:50%;margin-top:-19px;width:56px;height:37px;list-style:none}.pf-loading-bars-container .pf-loading-bars-loader li{background-color:#5cb85c;width:6px;height:6px;float:right;margin-right:3px !important;-webkit-box-shadow:0px 12px 6px rgba(0,0,0,0.2);box-shadow:0px 12px 6px rgba(0,0,0,0.2)}.pf-loading-bars-container .pf-loading-bars-loader li:first-child{-webkit-animation:cssload-loadbars 1.75s cubic-bezier(0.645, 0.045, 0.355, 1) infinite 0s;animation:cssload-loadbars 1.75s cubic-bezier(0.645, 0.045, 0.355, 1) infinite 0s}.pf-loading-bars-container .pf-loading-bars-loader li:nth-child(2){-webkit-animation:cssload-loadbars 1.75s ease-in-out infinite -0.35s;animation:cssload-loadbars 1.75s ease-in-out infinite -0.35s}.pf-loading-bars-container .pf-loading-bars-loader li:nth-child(3){-webkit-animation:cssload-loadbars 1.75s ease-in-out infinite -0.7s;animation:cssload-loadbars 1.75s ease-in-out infinite -0.7s}.pf-loading-bars-container .pf-loading-bars-loader li:nth-child(4){-webkit-animation:cssload-loadbars 1.75s ease-in-out infinite -1.05s;animation:cssload-loadbars 1.75s ease-in-out infinite -1.05s}.pf-loading-bars-container .pf-loading-bars-loader li:nth-child(5){-webkit-animation:cssload-loadbars 1.75s ease-in-out infinite -1.4s;animation:cssload-loadbars 1.75s ease-in-out infinite -1.4s}.pf-loading-bars-container .pf-loading-bars-loader li:nth-child(6){-webkit-animation:cssload-loadbars 1.75s ease-in-out infinite -1.75s;animation:cssload-loadbars 1.75s ease-in-out infinite -1.75s}@-webkit-keyframes cssload-loadbars{0%{height:6px;margin-top:16px}33%{height:6px;margin-top:16px}66%{height:31px;margin-top:0px}100%{height:6px;margin-top:16px}}@-moz-keyframes cssload-loadbars{0%{height:6px;margin-top:16px}33%{height:6px;margin-top:16px}66%{height:31px;margin-top:0px}100%{height:6px;margin-top:16px}}@-ms-keyframes cssload-loadbars{0%{height:6px;margin-top:16px}33%{height:6px;margin-top:16px}66%{height:31px;margin-top:0px}100%{height:6px;margin-top:16px}}@keyframes cssload-loadbars{0%{height:6px;margin-top:16px}33%{height:6px;margin-top:16px}66%{height:31px;margin-top:0px}100%{height:6px;margin-top:16px}}.pf-landing-sticky-panel{position:fixed;min-width:100px;border-radius:5px;padding:7px;box-shadow:0 4px 10px rgba(0,0,0,0.4);background-color:rgba(43,43,43,0.7)}.pf-landing-sticky-panel h4{margin:5px 0 10px 0}.pf-landing-sticky-panel ul{margin-bottom:0}.pf-landing-sticky-panel ul li{text-transform:lowercase}#pf-landing-server-panel{top:50px;left:10px}#pf-landing-admin-panel{bottom:10px;right:10px}.youtube{background-position:center;background-repeat:no-repeat;position:relative;display:inline-block;overflow:hidden;transition:all 200ms ease-out;cursor:pointer}.youtube .play{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAERklEQVR4nOWbTWhcVRTHb1IJVoxGtNCNdal2JYJReC6GWuO83PM/59yUS3FRFARdFlwYP1CfiojQWt36sRCUurRIdVFXIn41lAoVdRGrG1M01YpKrWjiYmaSl8ybZJL3cd+YA//NLObd3++eO8x79z5jSq5Gw+8kov0AP8vMR5l1BtBZQM4B8ks75wCdZdYZZj5qLZ4hov2Nht9Z9vhKKSIaB/gI4M4w62KeAO6Mte4lYOq20FxrlqqOibhHmeWbvNC9ZfDX1mLae391aN6limO/gwgvAPJbWeAZuSDingdwXTBw7/0IsyaA/Fkh+KqOkD+YNfHej1QKD+y7iVlOhgLvFqFfNJvNGyuBJ+KDAF8MDd0tgS8y64OlgSdJMsysL4cG7SOHkyQZLhTee7+d2R2rAVy/S+Jd7/32ouBHAP4gNNRGQyTHc/84NhqNywZp5rvjjnnvt21aABFeCQ+RLwAf2hQ8s7sv9OCLk6AHNgQvIrvbfzKCD76g/O6cu7lf/iER/aQGgy448pExZmhdegAPhR9sObFWH1gT3lp7DaA/5bkIgJhZPgsNmz02novj+KqeApj1ubwXWe4kdyeznAgNvTpE/HQmvKqOMeuFogTUVQSRno+iaLRLAJF7uIgL9O4ubgL8aWgB7S44mNX+35YpICUiAvS9sBLkq1WzT+NFffl6AuoiApi6NT37h6sWkBIRZGkQ8YtLgyji6e1mBYTqCEBPG2Naz+0BWQgtoGoRgCzEsd9hAN1X5BfnFZASUfrSAFQNsyZ1FJASUVpHiLinDJG8U2cBZYogkrcNs5waBAGdstbeU9zdqpw0gPwwSAI6VUxHyFlDpOcHUUBBIuYNs14aZAE5RVwyzPr3/0EAEY0TyfGNjBWQvwZ +CTSbehfAH29mrID8bET0+0EUkAd8WYDOmqJ3ecsG30yr9wqRfm6Y+a1BEFDEjHfHvWmY9ck6CygHvBVr8Xhtb4ZE5HZA3y8DvBNA1TjnrmXWf+sioMwZX5V/VHXMGGMMoKdDCxCRvRWBdzKzdHEO+EisilbPyopHYqp6S9UCAsz4iojI7hUDAtyXVQgIDd6KnOoaWNkbI6FaPSuZGyMArsi7MZoloB4zviI/Nhr3X95jltwTRQmoIfgisy5ai+me67OI7fE4nrqjrqfK1t0eby0FPRB6oGVlchL3rgnfrq19RKbVBdhV9IOSwJmfmJi4vi/4ThERitwyCxVAFqydshuCX5awhQ9KtmuIWd8IDZED/nXT77rvVVv6sHRKwjYi91poqP7Dr+Y6JJ1VSZIMA3wkPNy6bX+o8Bcm0sXMdwM8Fxo0A3xORPaWBp6uPXsmbxCRD0NDL0dOANhVCXy6iAjMcjbcrMt3RITKwdMVRdFo+y5yvkL4eWZ+zHt/ZVD4dEVRNGotpst+dZZZH8k86lqn2pIvT/eqrNfn2xuyqYPZ8mv7s8pfn/8Pybm4TIjanscAAAAASUVORK5CYII=") no-repeat center center;background-size:64px 64px;position:absolute;height:100%;width:100%;opacity:.8;filter:alpha(opacity=80);transition:all 0.2s ease-out}.youtube .play:hover{opacity:1;filter:alpha(opacity=100)} /*# sourceMappingURL=pathfinder.css.map */ diff --git a/public/css/v1.4.1/pathfinder.css.map b/public/css/v1.4.1/pathfinder.css.map index 08acdba58..caf82cdd8 100644 --- a/public/css/v1.4.1/pathfinder.css.map +++ b/public/css/v1.4.1/pathfinder.css.map @@ -1,6 +1,6 @@ { "version": 3, -"mappings": "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", +"mappings": "CAAA;;;;;;;;;IASG,DCLD,6cAYyB,CAiDzB,MAAM,CAAE,CAAC,CACT,OAAO,CAAE,CAAC,CACV,MAAM,CAAE,CAAC,CAIT,IAAI,CAAE,OAAO,CACb,SAAS,CAAE,IAAI,CACf,cAAc,CAAE,QAAQ,CApDxB,IAAK,CA6DL,WAAW,CAAE,CAAC,CA3Dd,KAAO,CA+DP,UAAU,CAAE,IAAI,CA7DhB,KAAM,CAiEN,eAAe,CAAE,QAAQ,CACzB,cAAc,CAAE,CAAC,CAhEjB,aAAgB,CAoEhB,UAAU,CAAE,IAAI,CAChB,WAAW,CAAE,MAAM,CACnB,cAAc,CAAE,MAAM,CApEtB,YAAc,CAwEd,MAAM,CAAE,IAAI,CACZ,mDAAkB,CAChB,OAAO,CAAE,EAAE,CACX,OAAO,CAAE,IAAI,CAzEf,KAAM,CA6EN,MAAM,CAAE,IAAI,CAOZ,0FAAiC,CAC/B,OAAO,CAAE,KAAK,CCnFlB,UASC,CARC,WAAW,CAAE,QAAQ,CACrB,GAAG,CAAE,6CAAkD,CACvD,GAAG,CAAE,wQAGgE,CACrE,WAAW,CAAE,GAAG,CAChB,UAAU,CAAE,MAAM,CAepB,UASC,CARC,WAAW,CAAE,aAAa,CAC1B,GAAG,CAAE,0CAA+C,CACpD,GAAG,CAAE,4PAG6D,CAClE,WAAW,CAAE,GAAG,CAChB,UAAU,CAAE,MAAM,CChEpB;;;;;;;;GAQG,ACEH,CAAE,CC0OA,kBAAkB,CDzOE,UAAU,CC0O3B,eAAe,CD1OE,UAAU,CC2OtB,UAAU,CD3OE,UAAU,CAEhC,gBACQ,CCsON,kBAAkB,CDrOE,UAAU,CCsO3B,eAAe,CDtOE,UAAU,CCuOtB,UAAU,CDvOE,UAAU,CAMhC,IAAK,CACH,SAAS,CAAE,KAAK,CAChB,2BAA2B,CAAE,WAAa,CAG5C,IAAK,CACH,WAAW,CFmEa,oDAAiB,CElEzC,UAAU,CFgDc,MAAM,CE/C9B,WAAW,CFgDa,GAAG,CE/C3B,SAAS,CFiDe,IAAI,CEhD5B,WAAW,CF4Da,GAAG,CE3D3B,KAAK,CF8sBuB,OAAW,CE7sBvC,gBAAgB,CFisBY,OAAa,CE7rB3C,4BAGS,CACP,WAAW,CAAE,OAAO,CACpB,SAAS,CAAE,OAAO,CAClB,WAAW,CAAE,OAAO,CAMtB,CAAE,CACA,KAAK,CFunBuB,OAAW,CEtnBvC,eAAe,CAAE,IAAI,CAErB,eACQ,CACN,KAAK,CFqX8B,OAAiB,CEpXpD,eAAe,CAAE,SAAS,CAG5B,OAAQ,CC3BR,OAAO,CAAE,WAAW,CAEpB,OAAO,CAAE,iCAAiC,CAC1C,cAAc,CAAE,IAAI,CACpB,aAAa,CH8T4B,OAAa,CErSpD,eAAe,CAAE,IAAI,CAUzB,MAAO,CACL,MAAM,CAAE,CAAC,CAMX,GAAI,CACF,cAAc,CAAE,MAAM,CAIxB,eAAgB,CC4Sd,OAAO,CADuB,KAAK,CAEnC,SAAS,CAAE,IAAI,CACf,MAAM,CAAE,IAAI,CDzSd,YAAa,CACX,aAAa,CF2Ca,GAAG,CErC/B,cAAe,CACb,OAAO,CFgjBqB,GAAG,CE/iB/B,WAAW,CFNa,GAAG,CEO3B,gBAAgB,CFgoBY,OAAa,CE/nBzC,MAAM,CAAE,cAA2B,CACnC,aAAa,CF+iBe,GAAmB,CGnhB/C,kBAAkB,CAAE,oBAAW,CACvB,UAAU,CAAE,oBAAW,CA8P/B,OAAO,CDvRiB,YAAY,CCwRpC,SAAS,CAAE,IAAI,CACf,MAAM,CAAE,IAAI,CDrRd,WAAY,CACV,aAAa,CAAE,GAAG,CAMpB,EAAG,CACD,UAAU,CFwNuB,IAAqB,CEvNtD,aAAa,CFuNoB,IAAqB,CEtNtD,MAAM,CAAE,CAAC,CACT,UAAU,CAAE,iBAAoB,CAQlC,QAAS,CACP,QAAQ,CAAE,QAAQ,CAClB,KAAK,CAAE,GAAG,CACV,MAAM,CAAE,GAAG,CACX,MAAM,CAAE,IAAI,CACZ,OAAO,CAAE,CAAC,CACV,QAAQ,CAAE,MAAM,CAChB,IAAI,CAAE,gBAAa,CACnB,MAAM,CAAE,CAAC,CE/HX,yCAC6B,CAC3B,WAAW,CJoFa,oDAAiB,CInFzC,WAAW,CJoFa,GAAG,CInF3B,WAAW,CJoFa,GAAG,CInF3B,KAAK,CJoFmB,OAAO,CIlF/B,+OACO,CACL,WAAW,CAAE,MAAM,CACnB,WAAW,CAAE,CAAC,CACd,KAAK,CJ2tBqB,OAAW,CIvtBzC,oBAEQ,CACN,UAAU,CJkTuB,IAAqB,CIjTtD,aAAa,CAAE,GAA2B,CAE1C,uHACO,CACL,SAAS,CAAE,GAAG,CAGlB,oBAEQ,CACN,UAAU,CAAE,GAA2B,CACvC,aAAa,CAAE,GAA2B,CAE1C,uHACO,CACL,SAAS,CAAE,GAAG,CAIlB,MAAQ,CAAE,SAAS,CJqCO,IAA+B,CIpCzD,MAAQ,CAAE,SAAS,CJqCO,IAAI,CIpC9B,MAAQ,CAAE,SAAS,CJqCO,IAA+B,CIpCzD,MAAQ,CAAE,SAAS,CJqCO,IAAe,CIpCzC,MAAQ,CAAE,SAAS,CJqCO,IAA8B,CIpCxD,MAAQ,CAAE,SAAS,CJqCO,IAA8B,CI/BxD,CAAE,CACA,MAAM,CAAE,OAA+B,CAGzC,KAAM,CACJ,aAAa,CJ8QoB,IAAqB,CI7QtD,SAAS,CAAE,IAAI,CACf,WAAW,CAAE,GAAG,CAChB,WAAW,CAAE,GAAG,CAEhB,yBAAmC,CANrC,KAAM,CAOF,SAAS,CAAE,IAAI,EASnB,YACQ,CAAE,SAAS,CAAE,GAAG,CAGxB,IAAQ,CAAE,UAAU,CAAE,MAAM,CAG5B,UAAqB,CAAE,UAAU,CAAE,IAAI,CACvC,WAAqB,CAAE,UAAU,CAAE,KAAK,CACxC,YAAqB,CAAE,UAAU,CAAE,MAAM,CACzC,aAAqB,CAAE,UAAU,CAAE,OAAO,CAG1C,WAAY,CACV,KAAK,CJmpBuB,OAAW,CGjJvC,aAAW,CACT,KAAK,CH2EqB,OAAW,CGzEvC,oBAAkB,CAChB,KAAK,CAAE,OAAmB,CAJ5B,aAAW,CACT,KAAK,CHiIqB,OAAY,CG/HxC,oBAAkB,CAChB,KAAK,CAAE,OAAmB,CAJ5B,UAAW,CACT,KAAK,CHiIqB,OAAY,CG/HxC,iBAAkB,CAChB,KAAK,CAAE,OAAmB,CAJ5B,aAAW,CACT,KAAK,CHiIqB,OAAY,CG/HxC,oBAAkB,CAChB,KAAK,CAAE,OAAmB,CAJ5B,YAAW,CACT,KAAK,CHiIqB,OAAY,CG/HxC,mBAAkB,CAChB,KAAK,CAAE,OAAmB,CCtf9B,WAAY,CAGV,KAAK,CAAE,IAAI,CDmeX,WAAW,CACT,gBAAgB,CHuFU,OAAW,CGrFvC,kBAAkB,CAChB,gBAAgB,CAAE,OAAmB,CAJvC,WAAW,CACT,gBAAgB,CH2CU,OAAiB,CGzC7C,kBAAkB,CAChB,gBAAgB,CAAE,OAAmB,CAJvC,QAAW,CACT,gBAAgB,CH+CU,OAAc,CG7C1C,eAAkB,CAChB,gBAAgB,CAAE,OAAmB,CAJvC,WAAW,CACT,gBAAgB,CHnBU,OAAiB,CGqB7C,kBAAkB,CAChB,gBAAgB,CAAE,OAAmB,CAJvC,UAAW,CACT,gBAAgB,CHuDU,OAAgB,CGrD5C,iBAAkB,CAChB,gBAAgB,CAAE,OAAmB,CCvdzC,YAAa,CACX,cAAc,CAAE,GAAiC,CACjD,MAAM,CAAE,WAAmD,CAC3D,aAAa,CAAE,iBAAmC,CAQpD,KACG,CACD,UAAU,CAAE,CAAC,CACb,aAAa,CAAE,GAA2B,CAC1C,uBACG,CACD,aAAa,CAAE,CAAC,CAOpB,2BAAe,CACb,YAAY,CAAE,CAAC,CACf,UAAU,CAAE,IAAI,CAIlB,YAAa,CAEX,WAAW,CAAE,IAAI,CAEjB,eAAK,CACH,OAAO,CAAE,YAAY,CACrB,YAAY,CAAE,GAAG,CACjB,aAAa,CAAE,GAAG,CAKtB,EAAG,CACD,UAAU,CAAE,CAAC,CACb,aAAa,CJkKoB,IAAqB,CIhKxD,KACG,CACD,WAAW,CJnFa,GAAG,CIqF7B,EAAG,CACD,WAAW,CAAE,IAAI,CAEnB,EAAG,CACD,WAAW,CAAE,CAAC,CAQhB,yBAA2C,CAEvC,iBAAG,CACD,KAAK,CAAE,IAAI,CACX,KAAK,CAAE,IAAmC,CAC1C,KAAK,CAAE,IAAI,CACX,UAAU,CAAE,KAAK,CDhIrB,QAAQ,CAAE,MAAM,CAChB,aAAa,CAAE,QAAQ,CACvB,WAAW,CAAE,MAAM,CCiIjB,iBAAG,CACD,WAAW,CJsjBa,KAAK,CGzuBjC,gDACQ,CACN,OAAO,CAAE,GAAG,CACZ,OAAO,CAAE,KAAK,CAEhB,uBAAQ,CACN,KAAK,CAAE,IAAI,ECuLf,qCAE0B,CACxB,MAAM,CAAE,IAAI,CACZ,aAAa,CAAE,kBAA6B,CAE9C,WAAY,CACV,SAAS,CAAE,GAAG,CACd,cAAc,CAAE,SAAS,CAI3B,UAAW,CACT,OAAO,CAAE,QAAiD,CAC1D,MAAM,CAAE,QAAyB,CACjC,SAAS,CJghBoB,IAAsB,CI/gBnD,WAAW,CAAE,iBAAkC,CAK7C,yEAAa,CACX,aAAa,CAAE,CAAC,CAMpB,oDAEO,CACL,OAAO,CAAE,KAAK,CACd,SAAS,CAAE,GAAG,CACd,WAAW,CJtJW,GAAG,CIuJzB,KAAK,CJ4fqB,OAAW,CI1frC,yEAAS,CACP,OAAO,CAAE,aAAa,CAQ5B,yCACsB,CACpB,aAAa,CAAE,IAAI,CACnB,YAAY,CAAE,CAAC,CACf,YAAY,CAAE,iBAAkC,CAChD,WAAW,CAAE,CAAC,CACd,UAAU,CAAE,KAAK,CAMf,+MAAS,CAAE,OAAO,CAAE,EAAE,CACtB,yMAAQ,CACN,OAAO,CAAE,aAAa,CAM5B,kCACiB,CACf,OAAO,CAAE,EAAE,CAIb,OAAQ,CACN,aAAa,CJoDoB,IAAqB,CInDtD,UAAU,CAAE,MAAM,CAClB,WAAW,CJ/La,GAAG,CKrF7B,iBAGK,CACH,WAAW,CL8Da,6CAAiD,CK1D3E,IAAK,CACH,OAAO,CAAE,OAAO,CAChB,SAAS,CAAE,GAAG,CACd,KAAK,CLitBuB,OAAa,CKhtBzC,gBAAgB,CL4tBY,OAAW,CK3tBvC,WAAW,CAAE,MAAM,CACnB,aAAa,CLiHa,GAAG,CK7G/B,GAAI,CACF,OAAO,CAAE,OAAO,CAChB,SAAS,CAAE,GAAG,CACd,KAAK,CL8tBuB,OAAa,CK7tBzC,gBAAgB,CLmsBY,OAAY,CKlsBxC,aAAa,CLwGa,GAAG,CKvG7B,UAAU,CAAE,+BAA8B,CAI5C,GAAI,CACF,OAAO,CAAE,KAAK,CACd,OAAO,CAAE,KAAiC,CAC1C,MAAM,CAAE,OAA+B,CACvC,SAAS,CAAE,IAAqB,CAChC,WAAW,CLoDa,GAAG,CKnD3B,UAAU,CAAE,SAAS,CACrB,SAAS,CAAE,UAAU,CACrB,KAAK,CLwrBuB,OAAa,CKvrBzC,gBAAgB,CLmsBY,OAAW,CKjsBvC,aAAa,CLwFa,GAAG,CKrF7B,QAAK,CACH,OAAO,CAAE,CAAC,CACV,SAAS,CAAE,OAAO,CAClB,KAAK,CAAE,OAAO,CACd,WAAW,CAAE,QAAQ,CACrB,gBAAgB,CAAE,WAAW,CAC7B,aAAa,CAAE,CAAC,CAKpB,eAAgB,CACd,UAAU,CLwqBkB,KAAK,CKvqBjC,UAAU,CAAE,MAAM,CCpDpB,UAAW,CHyoBT,YAAY,CAAE,IAAI,CAClB,WAAW,CAAE,IAAI,CACjB,YAAY,CAAG,IAAwB,CACvC,aAAa,CAAE,IAAwB,CAloBvC,kCACQ,CACN,OAAO,CAAE,GAAG,CACZ,OAAO,CAAE,KAAK,CAEhB,gBAAQ,CACN,KAAK,CAAE,IAAI,CGbb,yBAAmC,CAHrC,UAAW,CAIP,KAAK,CN4SsB,KAAiB,EM1S9C,0BAAmC,CANrC,UAAW,CAOP,KAAK,CN8SsB,MAAkB,EM5S/C,0BAAmC,CATrC,UAAW,CAUP,KAAK,CNgTsB,MAAwB,EMtSvD,gBAAiB,CHqnBf,YAAY,CAAE,IAAI,CAClB,WAAW,CAAE,IAAI,CACjB,YAAY,CAAG,IAAwB,CACvC,aAAa,CAAE,IAAwB,CAloBvC,8CACQ,CACN,OAAO,CAAE,GAAG,CACZ,OAAO,CAAE,KAAK,CAEhB,sBAAQ,CACN,KAAK,CAAE,IAAI,CGaf,IAAK,CHqnBH,WAAW,CAAG,KAAc,CAC5B,YAAY,CAAE,KAAc,CAzoB5B,sBACQ,CACN,OAAO,CAAE,GAAG,CACZ,OAAO,CAAE,KAAK,CAEhB,UAAQ,CACN,KAAK,CAAE,IAAI,CAqwBb,2eAAS,CACP,QAAQ,CAAE,QAAQ,CAElB,UAAU,CAAE,GAAG,CAEf,YAAY,CAAG,IAAwB,CACvC,aAAa,CAAE,IAAwB,CAazC,0HAAS,CACP,KAAK,CAAE,IAAI,CAOX,SAAyB,CACvB,KAAK,CAAE,QAAoC,CAD7C,SAAyB,CACvB,KAAK,CAAE,SAAoC,CAD7C,SAAyB,CACvB,KAAK,CAAE,GAAoC,CAD7C,SAAyB,CACvB,KAAK,CAAE,SAAoC,CAD7C,SAAyB,CACvB,KAAK,CAAE,SAAoC,CAD7C,SAAyB,CACvB,KAAK,CAAE,GAAoC,CAD7C,SAAyB,CACvB,KAAK,CAAE,SAAoC,CAD7C,SAAyB,CACvB,KAAK,CAAE,SAAoC,CAD7C,SAAyB,CACvB,KAAK,CAAE,GAAoC,CAD7C,UAAyB,CACvB,KAAK,CAAE,SAAoC,CAD7C,UAAyB,CACvB,KAAK,CAAE,SAAoC,CAD7C,UAAyB,CACvB,KAAK,CAAE,IAAoC,CAS7C,cAA8B,CAC5B,KAAK,CAAE,EAAoC,CAD7C,cAA8B,CAC5B,KAAK,CAAE,QAAoC,CAD7C,cAA8B,CAC5B,KAAK,CAAE,SAAoC,CAD7C,cAA8B,CAC5B,KAAK,CAAE,GAAoC,CAD7C,cAA8B,CAC5B,KAAK,CAAE,SAAoC,CAD7C,cAA8B,CAC5B,KAAK,CAAE,SAAoC,CAD7C,cAA8B,CAC5B,KAAK,CAAE,GAAoC,CAD7C,cAA8B,CAC5B,KAAK,CAAE,SAAoC,CAD7C,cAA8B,CAC5B,KAAK,CAAE,SAAoC,CAD7C,cAA8B,CAC5B,KAAK,CAAE,GAAoC,CAD7C,eAA8B,CAC5B,KAAK,CAAE,SAAoC,CAD7C,eAA8B,CAC5B,KAAK,CAAE,SAAoC,CAD7C,eAA8B,CAC5B,KAAK,CAAE,IAAoC,CAN7C,cAA8B,CAC5B,IAAI,CAAE,EAAoC,CAD5C,cAA8B,CAC5B,IAAI,CAAE,QAAoC,CAD5C,cAA8B,CAC5B,IAAI,CAAE,SAAoC,CAD5C,cAA8B,CAC5B,IAAI,CAAE,GAAoC,CAD5C,cAA8B,CAC5B,IAAI,CAAE,SAAoC,CAD5C,cAA8B,CAC5B,IAAI,CAAE,SAAoC,CAD5C,cAA8B,CAC5B,IAAI,CAAE,GAAoC,CAD5C,cAA8B,CAC5B,IAAI,CAAE,SAAoC,CAD5C,cAA8B,CAC5B,IAAI,CAAE,SAAoC,CAD5C,cAA8B,CAC5B,IAAI,CAAE,GAAoC,CAD5C,eAA8B,CAC5B,IAAI,CAAE,SAAoC,CAD5C,eAA8B,CAC5B,IAAI,CAAE,SAAoC,CAD5C,eAA8B,CAC5B,IAAI,CAAE,IAAoC,CAS5C,gBAAgC,CAC9B,WAAW,CAAE,EAAoC,CADnD,gBAAgC,CAC9B,WAAW,CAAE,QAAoC,CADnD,gBAAgC,CAC9B,WAAW,CAAE,SAAoC,CADnD,gBAAgC,CAC9B,WAAW,CAAE,GAAoC,CADnD,gBAAgC,CAC9B,WAAW,CAAE,SAAoC,CADnD,gBAAgC,CAC9B,WAAW,CAAE,SAAoC,CADnD,gBAAgC,CAC9B,WAAW,CAAE,GAAoC,CADnD,gBAAgC,CAC9B,WAAW,CAAE,SAAoC,CADnD,gBAAgC,CAC9B,WAAW,CAAE,SAAoC,CADnD,gBAAgC,CAC9B,WAAW,CAAE,GAAoC,CADnD,iBAAgC,CAC9B,WAAW,CAAE,SAAoC,CADnD,iBAAgC,CAC9B,WAAW,CAAE,SAAoC,CADnD,iBAAgC,CAC9B,WAAW,CAAE,IAAoC,CG1wBvD,yBAAmC,CHkvBjC,0HAAS,CACP,KAAK,CAAE,IAAI,CAOX,SAAyB,CACvB,KAAK,CAAE,QAAoC,CAD7C,SAAyB,CACvB,KAAK,CAAE,SAAoC,CAD7C,SAAyB,CACvB,KAAK,CAAE,GAAoC,CAD7C,SAAyB,CACvB,KAAK,CAAE,SAAoC,CAD7C,SAAyB,CACvB,KAAK,CAAE,SAAoC,CAD7C,SAAyB,CACvB,KAAK,CAAE,GAAoC,CAD7C,SAAyB,CACvB,KAAK,CAAE,SAAoC,CAD7C,SAAyB,CACvB,KAAK,CAAE,SAAoC,CAD7C,SAAyB,CACvB,KAAK,CAAE,GAAoC,CAD7C,UAAyB,CACvB,KAAK,CAAE,SAAoC,CAD7C,UAAyB,CACvB,KAAK,CAAE,SAAoC,CAD7C,UAAyB,CACvB,KAAK,CAAE,IAAoC,CAS7C,cAA8B,CAC5B,KAAK,CAAE,EAAoC,CAD7C,cAA8B,CAC5B,KAAK,CAAE,QAAoC,CAD7C,cAA8B,CAC5B,KAAK,CAAE,SAAoC,CAD7C,cAA8B,CAC5B,KAAK,CAAE,GAAoC,CAD7C,cAA8B,CAC5B,KAAK,CAAE,SAAoC,CAD7C,cAA8B,CAC5B,KAAK,CAAE,SAAoC,CAD7C,cAA8B,CAC5B,KAAK,CAAE,GAAoC,CAD7C,cAA8B,CAC5B,KAAK,CAAE,SAAoC,CAD7C,cAA8B,CAC5B,KAAK,CAAE,SAAoC,CAD7C,cAA8B,CAC5B,KAAK,CAAE,GAAoC,CAD7C,eAA8B,CAC5B,KAAK,CAAE,SAAoC,CAD7C,eAA8B,CAC5B,KAAK,CAAE,SAAoC,CAD7C,eAA8B,CAC5B,KAAK,CAAE,IAAoC,CAN7C,cAA8B,CAC5B,IAAI,CAAE,EAAoC,CAD5C,cAA8B,CAC5B,IAAI,CAAE,QAAoC,CAD5C,cAA8B,CAC5B,IAAI,CAAE,SAAoC,CAD5C,cAA8B,CAC5B,IAAI,CAAE,GAAoC,CAD5C,cAA8B,CAC5B,IAAI,CAAE,SAAoC,CAD5C,cAA8B,CAC5B,IAAI,CAAE,SAAoC,CAD5C,cAA8B,CAC5B,IAAI,CAAE,GAAoC,CAD5C,cAA8B,CAC5B,IAAI,CAAE,SAAoC,CAD5C,cAA8B,CAC5B,IAAI,CAAE,SAAoC,CAD5C,cAA8B,CAC5B,IAAI,CAAE,GAAoC,CAD5C,eAA8B,CAC5B,IAAI,CAAE,SAAoC,CAD5C,eAA8B,CAC5B,IAAI,CAAE,SAAoC,CAD5C,eAA8B,CAC5B,IAAI,CAAE,IAAoC,CAS5C,gBAAgC,CAC9B,WAAW,CAAE,EAAoC,CADnD,gBAAgC,CAC9B,WAAW,CAAE,QAAoC,CADnD,gBAAgC,CAC9B,WAAW,CAAE,SAAoC,CADnD,gBAAgC,CAC9B,WAAW,CAAE,GAAoC,CADnD,gBAAgC,CAC9B,WAAW,CAAE,SAAoC,CADnD,gBAAgC,CAC9B,WAAW,CAAE,SAAoC,CADnD,gBAAgC,CAC9B,WAAW,CAAE,GAAoC,CADnD,gBAAgC,CAC9B,WAAW,CAAE,SAAoC,CADnD,gBAAgC,CAC9B,WAAW,CAAE,SAAoC,CADnD,gBAAgC,CAC9B,WAAW,CAAE,GAAoC,CADnD,iBAAgC,CAC9B,WAAW,CAAE,SAAoC,CADnD,iBAAgC,CAC9B,WAAW,CAAE,SAAoC,CADnD,iBAAgC,CAC9B,WAAW,CAAE,IAAoC,EGjwBvD,0BAAmC,CHyuBjC,0HAAS,CACP,KAAK,CAAE,IAAI,CAOX,SAAyB,CACvB,KAAK,CAAE,QAAoC,CAD7C,SAAyB,CACvB,KAAK,CAAE,SAAoC,CAD7C,SAAyB,CACvB,KAAK,CAAE,GAAoC,CAD7C,SAAyB,CACvB,KAAK,CAAE,SAAoC,CAD7C,SAAyB,CACvB,KAAK,CAAE,SAAoC,CAD7C,SAAyB,CACvB,KAAK,CAAE,GAAoC,CAD7C,SAAyB,CACvB,KAAK,CAAE,SAAoC,CAD7C,SAAyB,CACvB,KAAK,CAAE,SAAoC,CAD7C,SAAyB,CACvB,KAAK,CAAE,GAAoC,CAD7C,UAAyB,CACvB,KAAK,CAAE,SAAoC,CAD7C,UAAyB,CACvB,KAAK,CAAE,SAAoC,CAD7C,UAAyB,CACvB,KAAK,CAAE,IAAoC,CAS7C,cAA8B,CAC5B,KAAK,CAAE,EAAoC,CAD7C,cAA8B,CAC5B,KAAK,CAAE,QAAoC,CAD7C,cAA8B,CAC5B,KAAK,CAAE,SAAoC,CAD7C,cAA8B,CAC5B,KAAK,CAAE,GAAoC,CAD7C,cAA8B,CAC5B,KAAK,CAAE,SAAoC,CAD7C,cAA8B,CAC5B,KAAK,CAAE,SAAoC,CAD7C,cAA8B,CAC5B,KAAK,CAAE,GAAoC,CAD7C,cAA8B,CAC5B,KAAK,CAAE,SAAoC,CAD7C,cAA8B,CAC5B,KAAK,CAAE,SAAoC,CAD7C,cAA8B,CAC5B,KAAK,CAAE,GAAoC,CAD7C,eAA8B,CAC5B,KAAK,CAAE,SAAoC,CAD7C,eAA8B,CAC5B,KAAK,CAAE,SAAoC,CAD7C,eAA8B,CAC5B,KAAK,CAAE,IAAoC,CAN7C,cAA8B,CAC5B,IAAI,CAAE,EAAoC,CAD5C,cAA8B,CAC5B,IAAI,CAAE,QAAoC,CAD5C,cAA8B,CAC5B,IAAI,CAAE,SAAoC,CAD5C,cAA8B,CAC5B,IAAI,CAAE,GAAoC,CAD5C,cAA8B,CAC5B,IAAI,CAAE,SAAoC,CAD5C,cAA8B,CAC5B,IAAI,CAAE,SAAoC,CAD5C,cAA8B,CAC5B,IAAI,CAAE,GAAoC,CAD5C,cAA8B,CAC5B,IAAI,CAAE,SAAoC,CAD5C,cAA8B,CAC5B,IAAI,CAAE,SAAoC,CAD5C,cAA8B,CAC5B,IAAI,CAAE,GAAoC,CAD5C,eAA8B,CAC5B,IAAI,CAAE,SAAoC,CAD5C,eAA8B,CAC5B,IAAI,CAAE,SAAoC,CAD5C,eAA8B,CAC5B,IAAI,CAAE,IAAoC,CAS5C,gBAAgC,CAC9B,WAAW,CAAE,EAAoC,CADnD,gBAAgC,CAC9B,WAAW,CAAE,QAAoC,CADnD,gBAAgC,CAC9B,WAAW,CAAE,SAAoC,CADnD,gBAAgC,CAC9B,WAAW,CAAE,GAAoC,CADnD,gBAAgC,CAC9B,WAAW,CAAE,SAAoC,CADnD,gBAAgC,CAC9B,WAAW,CAAE,SAAoC,CADnD,gBAAgC,CAC9B,WAAW,CAAE,GAAoC,CADnD,gBAAgC,CAC9B,WAAW,CAAE,SAAoC,CADnD,gBAAgC,CAC9B,WAAW,CAAE,SAAoC,CADnD,gBAAgC,CAC9B,WAAW,CAAE,GAAoC,CADnD,iBAAgC,CAC9B,WAAW,CAAE,SAAoC,CADnD,iBAAgC,CAC9B,WAAW,CAAE,SAAoC,CADnD,iBAAgC,CAC9B,WAAW,CAAE,IAAoC,EGxvBvD,0BAAmC,CHguBjC,0HAAS,CACP,KAAK,CAAE,IAAI,CAOX,SAAyB,CACvB,KAAK,CAAE,QAAoC,CAD7C,SAAyB,CACvB,KAAK,CAAE,SAAoC,CAD7C,SAAyB,CACvB,KAAK,CAAE,GAAoC,CAD7C,SAAyB,CACvB,KAAK,CAAE,SAAoC,CAD7C,SAAyB,CACvB,KAAK,CAAE,SAAoC,CAD7C,SAAyB,CACvB,KAAK,CAAE,GAAoC,CAD7C,SAAyB,CACvB,KAAK,CAAE,SAAoC,CAD7C,SAAyB,CACvB,KAAK,CAAE,SAAoC,CAD7C,SAAyB,CACvB,KAAK,CAAE,GAAoC,CAD7C,UAAyB,CACvB,KAAK,CAAE,SAAoC,CAD7C,UAAyB,CACvB,KAAK,CAAE,SAAoC,CAD7C,UAAyB,CACvB,KAAK,CAAE,IAAoC,CAS7C,cAA8B,CAC5B,KAAK,CAAE,EAAoC,CAD7C,cAA8B,CAC5B,KAAK,CAAE,QAAoC,CAD7C,cAA8B,CAC5B,KAAK,CAAE,SAAoC,CAD7C,cAA8B,CAC5B,KAAK,CAAE,GAAoC,CAD7C,cAA8B,CAC5B,KAAK,CAAE,SAAoC,CAD7C,cAA8B,CAC5B,KAAK,CAAE,SAAoC,CAD7C,cAA8B,CAC5B,KAAK,CAAE,GAAoC,CAD7C,cAA8B,CAC5B,KAAK,CAAE,SAAoC,CAD7C,cAA8B,CAC5B,KAAK,CAAE,SAAoC,CAD7C,cAA8B,CAC5B,KAAK,CAAE,GAAoC,CAD7C,eAA8B,CAC5B,KAAK,CAAE,SAAoC,CAD7C,eAA8B,CAC5B,KAAK,CAAE,SAAoC,CAD7C,eAA8B,CAC5B,KAAK,CAAE,IAAoC,CAN7C,cAA8B,CAC5B,IAAI,CAAE,EAAoC,CAD5C,cAA8B,CAC5B,IAAI,CAAE,QAAoC,CAD5C,cAA8B,CAC5B,IAAI,CAAE,SAAoC,CAD5C,cAA8B,CAC5B,IAAI,CAAE,GAAoC,CAD5C,cAA8B,CAC5B,IAAI,CAAE,SAAoC,CAD5C,cAA8B,CAC5B,IAAI,CAAE,SAAoC,CAD5C,cAA8B,CAC5B,IAAI,CAAE,GAAoC,CAD5C,cAA8B,CAC5B,IAAI,CAAE,SAAoC,CAD5C,cAA8B,CAC5B,IAAI,CAAE,SAAoC,CAD5C,cAA8B,CAC5B,IAAI,CAAE,GAAoC,CAD5C,eAA8B,CAC5B,IAAI,CAAE,SAAoC,CAD5C,eAA8B,CAC5B,IAAI,CAAE,SAAoC,CAD5C,eAA8B,CAC5B,IAAI,CAAE,IAAoC,CAS5C,gBAAgC,CAC9B,WAAW,CAAE,EAAoC,CADnD,gBAAgC,CAC9B,WAAW,CAAE,QAAoC,CADnD,gBAAgC,CAC9B,WAAW,CAAE,SAAoC,CADnD,gBAAgC,CAC9B,WAAW,CAAE,GAAoC,CADnD,gBAAgC,CAC9B,WAAW,CAAE,SAAoC,CADnD,gBAAgC,CAC9B,WAAW,CAAE,SAAoC,CADnD,gBAAgC,CAC9B,WAAW,CAAE,GAAoC,CADnD,gBAAgC,CAC9B,WAAW,CAAE,SAAoC,CADnD,gBAAgC,CAC9B,WAAW,CAAE,SAAoC,CADnD,gBAAgC,CAC9B,WAAW,CAAE,GAAoC,CADnD,iBAAgC,CAC9B,WAAW,CAAE,SAAoC,CADnD,iBAAgC,CAC9B,WAAW,CAAE,SAAoC,CADnD,iBAAgC,CAC9B,WAAW,CAAE,IAAoC,EIp0BvD,KAAM,CACJ,SAAS,CAAE,IAAI,CACf,gBAAgB,CPkJc,WAAW,COhJ3C,EAAG,CACD,UAAU,CAAE,IAAI,CAMlB,MAAO,CACL,KAAK,CAAE,IAAI,CACX,aAAa,CAAE,CAAC,CAChB,cAAc,CAAE,CAAC,CAMb,iHACK,CACH,OAAO,CP2HiB,GAAG,CO1H3B,WAAW,CP+DO,GAAG,CO9DrB,cAAc,CAAE,GAAG,CACnB,UAAU,CAAE,iBAA6B,CAK/C,kBAAkB,CAChB,cAAc,CAAE,MAAM,CACtB,aAAa,CAAE,iBAA6B,CAO1C,mPACK,CACH,UAAU,CAAE,CAAC,CAKnB,kBAAgB,CACd,UAAU,CAAE,iBAA6B,CAI3C,aAAO,CACL,gBAAgB,CPyqBU,OAAa,CO7pBrC,6KACK,CACH,OAAO,CPgFiB,GAAG,COrEnC,eAAgB,CACd,MAAM,CAAE,iBAA6B,CAKjC,uKACK,CACH,MAAM,CAAE,iBAA6B,CAKzC,uDACK,CACH,mBAAmB,CAAE,GAAG,CAY1B,mFACK,CACH,gBAAgB,CP2CU,OAAO,CO/BnC,6DACK,CACH,gBAAgB,CP+BU,OAAe,COrB/C,wBAAyB,CACvB,QAAQ,CAAE,MAAM,CAChB,KAAK,CAAE,IAAI,CACX,OAAO,CAAE,YAAY,CAKnB,+CAAiB,CACf,QAAQ,CAAE,MAAM,CAChB,KAAK,CAAE,IAAI,CACX,OAAO,CAAE,UAAU,CJ4SrB,uTAGiB,CACf,gBAAgB,CHtSU,OAAe,CG6S3C,uJAGuB,CACrB,gBAAgB,CAAE,OAAuB,CAf3C,mUAGiB,CACf,gBAAgB,CH2LQ,OAAiB,CGpL3C,2JAGuB,CACrB,gBAAgB,CAAE,OAAuB,CAf3C,+RAGiB,CACf,gBAAgB,CH+LQ,OAAc,CGxLxC,+IAGuB,CACrB,gBAAgB,CAAE,OAAuB,CAf3C,mUAGiB,CACf,gBAAgB,CH6HQ,OAAiB,CGtH3C,2JAGuB,CACrB,gBAAgB,CAAE,OAAuB,CAf3C,uTAGiB,CACf,gBAAgB,CHuMQ,OAAgB,CGhM1C,uJAGuB,CACrB,gBAAgB,CAAE,OAAuB,CIlS/C,yBAAmC,CACjC,iBAAkB,CAChB,KAAK,CAAE,IAAI,CACX,aAAa,CAAE,MAA8B,CAC7C,UAAU,CAAE,MAAM,CAClB,UAAU,CAAE,MAAM,CAClB,kBAAkB,CAAE,wBAAwB,CAC5C,MAAM,CAAE,iBAA6B,CACrC,0BAA0B,CAAE,KAAK,CAGjC,wBAAS,CACP,aAAa,CAAE,CAAC,CAOZ,6NACK,CACH,WAAW,CAAE,MAAM,CAO3B,iCAAkB,CAChB,MAAM,CAAE,CAAC,CAOL,2VACiB,CACf,WAAW,CAAE,CAAC,CAEhB,qVACgB,CACd,YAAY,CAAE,CAAC,CAWjB,mOACK,CACH,aAAa,CAAE,CAAC,ECzN5B,QAAS,CACP,OAAO,CAAE,CAAC,CACV,MAAM,CAAE,CAAC,CACT,MAAM,CAAE,CAAC,CAIT,SAAS,CAAE,CAAC,CAGd,MAAO,CACL,OAAO,CAAE,KAAK,CACd,KAAK,CAAE,IAAI,CACX,OAAO,CAAE,CAAC,CACV,aAAa,CRqToB,IAAqB,CQpTtD,SAAS,CAAE,IAAuB,CAClC,WAAW,CAAE,OAAO,CACpB,KAAK,CRooBuB,OAAU,CQnoBtC,MAAM,CAAE,CAAC,CACT,aAAa,CAAE,iBAA8B,CAG/C,wDAAM,CACJ,OAAO,CAAE,YAAY,CACrB,aAAa,CAAE,GAAG,CAClB,WAAW,CAAE,IAAI,CAWnB,oBAAqB,CLuMnB,kBAAkB,CKtME,UAAU,CLuM3B,eAAe,CKvME,UAAU,CLwMtB,UAAU,CKxME,UAAU,CAIhC,0CACuB,CACrB,MAAM,CAAE,OAAO,CACf,UAAU,CAAE,MAAM,CAClB,WAAW,CAAE,MAAM,CAIrB,kBAAmB,CACjB,OAAO,CAAE,KAAK,CAIhB,mBAAoB,CAClB,OAAO,CAAE,KAAK,CACd,KAAK,CAAE,IAAI,CAIb,6BACa,CACX,MAAM,CAAE,IAAI,CAId,+EAE6B,CL7C3B,OAAO,CAAE,WAAW,CAEpB,OAAO,CAAE,iCAAiC,CAC1C,cAAc,CAAE,IAAI,CACpB,aAAa,CH8T4B,OAAa,CQhRxD,MAAO,CACL,OAAO,CAAE,KAAK,CACd,WAAW,CAAE,GAA4B,CACzC,SAAS,CRNe,IAAI,CQO5B,WAAW,CRKa,GAAG,CQJ3B,KAAK,CRkqBuB,OAAa,CQxoB3C,aAAc,CACZ,OAAO,CAAE,KAAK,CACd,KAAK,CAAE,IAAI,CACX,MAAM,CR4F0B,IAAwD,CQ3FxF,OAAO,CAAE,QAA+C,CACxD,SAAS,CRvCe,IAAI,CQwC5B,WAAW,CR5Ba,GAAG,CQ6B3B,KAAK,CRioBuB,OAAa,CQhoBzC,gBAAgB,CRqiBY,OAAU,CQpiBtC,gBAAgB,CAAE,IAAI,CACtB,MAAM,CAAE,iBAAuB,CAC/B,aAAa,CR+EkB,GAAG,CGjFlC,kBAAkB,CAAE,iCAAO,CACnB,UAAU,CAAE,iCAAO,CAK3B,kBAAkB,CAAE,qDAAW,CACvB,UAAU,CAAE,qDAAW,CA0xB/B,mBAAQ,CACN,YAAY,CH1jB2B,OAAa,CG2jBpD,OAAO,CAAE,CAAC,CAnyBZ,kBAAkB,CAAE,8DAAO,CACnB,UAAU,CAAE,8DAAO,CAlE3B,+BAA8B,CAAE,KAAK,CHqrBT,OAAW,CGprBP,OAAO,CAAE,CAAC,CAC1C,mCAA8B,CAAE,KAAK,CHmrBT,OAAW,CGlrBvC,wCAA8B,CAAE,KAAK,CHkrBT,OAAW,CQnmBvC,gFAEqB,CACnB,MAAM,CAAE,WAAW,CACnB,gBAAgB,CR6dU,OAAK,CQ5d/B,OAAO,CAAE,CAAC,CAOd,qBAAsB,CACpB,MAAM,CAAE,IAAI,CAWd,oBAAqB,CACnB,kBAAkB,CAAE,IAAI,CAS1B,kBAAmB,CACjB,WAAW,CRkCqB,IAAwD,CQzB1F,WAAY,CACV,aAAa,CAAE,IAAI,CAQrB,8DACU,CACR,OAAO,CAAE,KAAK,CACd,UAAU,CRyIuB,IAAqB,CQxItD,UAAU,CAAE,IAAI,CAChB,aAAa,CAAE,IAAI,CACnB,YAAY,CAAE,IAAI,CAClB,uPAAM,CACJ,OAAO,CAAE,MAAM,CACf,WAAW,CAAE,MAAM,CACnB,MAAM,CAAE,OAAO,CAGnB,0MAGwC,CACtC,QAAQ,CAAE,QAAQ,CAElB,WAAW,CAAE,KAAK,CAEpB,qMACsB,CACpB,UAAU,CAAE,IAAI,CAIlB,8BACiB,CACf,OAAO,CAAE,YAAY,CACrB,YAAY,CAAE,IAAI,CAClB,aAAa,CAAE,CAAC,CAChB,cAAc,CAAE,MAAM,CACtB,WAAW,CAAE,MAAM,CACnB,MAAM,CAAE,OAAO,CAEjB,6DACoC,CAClC,UAAU,CAAE,CAAC,CACb,WAAW,CAAE,IAAI,CAYjB,6hBACqB,CACnB,MAAM,CAAE,WAAW,CLqrBrB,gHAAW,CACT,MAAM,CHztBwB,IAAgF,CG0tB9G,OAAO,CAAE,QAAqC,CAC9C,SAAS,CH51Ba,IAA8B,CG61BpD,WAAW,CH7yBa,GAAG,CG8yB3B,aAAa,CH1yBW,GAAG,CG6yB7B,wIAAiB,CACf,MAAM,CHjuBwB,IAAgF,CGkuB9G,WAAW,CHluBmB,IAAgF,CGquBhH,iUAC2B,CACzB,MAAM,CAAE,IAAI,CAfd,gHAAW,CACT,MAAM,CH1tBwB,IAA+E,CG2tB7G,OAAO,CAAE,SAAqC,CAC9C,SAAS,CH71Ba,IAA8B,CG81BpD,WAAW,CH9yBa,IAAI,CG+yB5B,aAAa,CH3yBW,GAAG,CG8yB7B,wIAAiB,CACf,MAAM,CHluBwB,IAA+E,CGmuB7G,WAAW,CHnuBmB,IAA+E,CGsuB/G,iUAC2B,CACzB,MAAM,CAAE,IAAI,CKjrBhB,aAAc,CAEZ,QAAQ,CAAE,QAAQ,CAGlB,2BAAc,CACZ,aAAa,CAAE,IAA2B,CAI5C,oCAAuB,CACrB,QAAQ,CAAE,QAAQ,CAClB,GAAG,CAAE,IAA2B,CAChC,KAAK,CAAE,CAAC,CACR,OAAO,CAAE,KAAK,CACd,KAAK,CRvEyB,IAAwD,CQwEtF,MAAM,CRxEwB,IAAwD,CQyEtF,WAAW,CRzEmB,IAAwD,CQ0EtF,UAAU,CAAE,MAAM,CL4kBpB,8QAKkB,CAChB,KAAK,CH5HqB,OAAM,CG+HlC,0BAAc,CACZ,YAAY,CHhIc,OAAM,CGtnBlC,kBAAkB,CAAE,iCAAO,CACnB,UAAU,CAAE,iCAAO,CAuvBzB,gCAAQ,CAxvBV,kBAAkB,CAAE,iDAAO,CACnB,UAAU,CAAE,iDAAO,CA+vB3B,+BAAkB,CAChB,MAAM,CAAE,oBAAoB,CAC5B,YAAY,CAAE,kBAAwB,CAlwBxC,kBAAkB,CAAE,iCAAO,CACnB,UAAU,CAAE,iCAAO,CAswB3B,+BAAmB,CACjB,KAAK,CHlJqB,OAAM,CGmJhC,YAAY,CHnJc,OAAM,CGoJhC,gBAAgB,CHvQU,OAAiB,CG0Q7C,mCAAuB,CACrB,KAAK,CHxJqB,OAAM,CGsHlC,8QAKkB,CAChB,KAAK,CH7IqB,OAAY,CGgJxC,0BAAc,CACZ,YAAY,CHjJc,OAAY,CGrmBxC,kBAAkB,CAAE,iCAAO,CACnB,UAAU,CAAE,iCAAO,CAuvBzB,gCAAQ,CAxvBV,kBAAkB,CAAE,iDAAO,CACnB,UAAU,CAAE,iDAAO,CA+vB3B,+BAAkB,CAChB,MAAM,CAAE,oBAAoB,CAC5B,YAAY,CAAE,kBAAwB,CAlwBxC,kBAAkB,CAAE,iCAAO,CACnB,UAAU,CAAE,iCAAO,CAswB3B,+BAAmB,CACjB,KAAK,CHnKqB,OAAY,CGoKtC,YAAY,CHpKc,OAAY,CGqKtC,gBAAgB,CHrUU,OAAiB,CGwU7C,mCAAuB,CACrB,KAAK,CHzKqB,OAAY,CGuIxC,8PAKkB,CAChB,KAAK,CMryBqB,OAAI,CNwyBhC,wBAAc,CACZ,YAAY,CMzyBc,OAAI,CNmDhC,kBAAkB,CAAE,iCAAO,CACnB,UAAU,CAAE,iCAAO,CAuvBzB,8BAAQ,CAxvBV,kBAAkB,CAAE,iDAAO,CACnB,UAAU,CAAE,iDAAO,CA+vB3B,6BAAkB,CAChB,MAAM,CAAE,oBAAoB,CAC5B,YAAY,CAAE,kBAAwB,CAlwBxC,kBAAkB,CAAE,iCAAO,CACnB,UAAU,CAAE,iCAAO,CAswB3B,6BAAmB,CACjB,KAAK,CM3zBqB,OAAI,CN4zB9B,YAAY,CM5zBc,OAAI,CN6zB9B,gBAAgB,CH3PU,OAAgB,CG8P5C,iCAAuB,CACrB,KAAK,CMj0BqB,OAAI,CDwOlC,oBAAqB,CACnB,aAAa,CAAE,CAAC,CASlB,WAAY,CACV,OAAO,CAAE,KAAK,CACd,UAAU,CAAE,GAAG,CACf,aAAa,CAAE,IAAI,CACnB,KAAK,CAAE,OAAyB,CAmBhC,yBAAmC,CAEjC,iDAAY,CACV,OAAO,CAAE,YAAY,CACrB,aAAa,CAAE,CAAC,CAChB,cAAc,CAAE,MAAM,CAIxB,qDAAc,CACZ,OAAO,CAAE,YAAY,CACrB,KAAK,CAAE,IAAI,CACX,cAAc,CAAE,MAAM,CAGxB,+EAA6B,CAC3B,KAAK,CAAE,IAAI,CAGb,uDAAe,CACb,aAAa,CAAE,CAAC,CAChB,cAAc,CAAE,MAAM,CAMxB,iUACU,CACR,OAAO,CAAE,YAAY,CACrB,UAAU,CAAE,CAAC,CACb,aAAa,CAAE,CAAC,CAChB,YAAY,CAAE,CAAC,CACf,cAAc,CAAE,MAAM,CAExB,mfACiC,CAC/B,KAAK,CAAE,IAAI,CACX,WAAW,CAAE,CAAC,CAOhB,mGAAqC,CACnC,GAAG,CAAE,CAAC,EAcV,iRAIiB,CACf,UAAU,CAAE,CAAC,CACb,aAAa,CAAE,CAAC,CAChB,WAAW,CAAE,GAA4B,CAI3C,gLACU,CACR,UAAU,CAAE,IAAsD,CAIpE,4BAAY,CL8PZ,WAAW,CAAG,KAAc,CAC5B,YAAY,CAAE,KAAc,CAzoB5B,sEACQ,CACN,OAAO,CAAE,GAAG,CACZ,OAAO,CAAE,KAAK,CAEhB,kCAAQ,CACN,KAAK,CAAE,IAAI,CKwYb,qCAAqB,CACnB,WAAW,CAAE,GAA4B,CAI3C,yBAAmC,CACjC,+BAAe,CACb,UAAU,CAAE,KAAK,EAQrB,qDAAqC,CACnC,GAAG,CAAE,CAAC,CACN,KAAK,CAAE,IAAwB,CE1anC,IAAK,CACH,OAAO,CAAE,YAAY,CACrB,aAAa,CAAE,CAAC,CAChB,WAAW,CV0JoB,MAAM,CUzJrC,UAAU,CAAE,MAAM,CAClB,cAAc,CAAE,MAAM,CACtB,MAAM,CAAE,OAAO,CACf,gBAAgB,CAAE,IAAI,CACtB,MAAM,CAAE,qBAAqB,CAC7B,WAAW,CAAE,MAAM,CPkhBnB,OAAO,CAAE,QAAqC,CAC9C,SAAS,CHrde,IAAI,CGsd5B,WAAW,CH1ca,GAAG,CG2c3B,aAAa,CHnaa,GAAG,CGyH7B,mBAAmB,COzOE,IAAI,CP0OtB,gBAAgB,CO1OE,IAAI,CP2OrB,eAAe,CO3OE,IAAI,CP4OjB,WAAW,CO5OE,IAAI,CAKvB,8CAAQ,CPQV,OAAO,CAAE,WAAW,CAEpB,OAAO,CAAE,iCAAiC,CAC1C,cAAc,CAAE,IAAI,CACpB,aAAa,CH8T4B,OAAa,CUrUtD,qBACQ,CACN,KAAK,CVsoBqB,OAAc,CUroBxC,eAAe,CAAE,IAAI,CP0FvB,kBAAkB,CAAE,IAAO,CACnB,UAAU,CAAE,IAAO,COvF3B,uBACS,CACP,OAAO,CAAE,CAAC,CACV,gBAAgB,CAAE,IAAI,CPmFxB,kBAAkB,CAAE,2DAAO,CACnB,UAAU,CAAE,2DAAO,CO/E3B,oDAEqB,CACnB,MAAM,CAAE,WAAW,CACnB,cAAc,CAAE,IAAI,CP8OtB,OAAO,CO7OY,GAAG,CPgPtB,MAAM,CAAE,iBAA6B,CAvKrC,kBAAkB,CAAE,IAAO,CACnB,UAAU,CAAE,IAAO,COjE7B,YAAa,CP2bX,KAAK,CHgLuB,OAAc,CG/K1C,gBAAgB,CHwPY,OAAW,CGvPvC,YAAY,CH9UmB,OAAuB,CGgVtD,8GAG0C,CACxC,KAAK,CHwKqB,OAAc,CGvKxC,gBAAgB,CAAE,OAAwB,CACtC,YAAY,CAAE,OAAqB,CAE/B,kCAAkB,CAC1B,KAAK,CHmKqB,OAAc,CGlKxC,gBAAgB,CAAE,OAAwB,CACtC,YAAY,CAAE,OAAqB,CAEzC,uCACS,CACP,gBAAgB,CAAE,IAAI,CAEd,kCAAkB,CAC1B,gBAAgB,CAAE,IAAI,CAKtB,8cAIS,CACP,gBAAgB,CHyNQ,OAAW,CGxN/B,YAAY,CH7WW,OAAuB,CGiXtD,mBAAO,CACL,KAAK,CHmNqB,OAAW,CGlNrC,gBAAgB,CHyIU,OAAc,CUxmB5C,YAAa,CPwbX,KAAK,CHgLuB,OAAc,CG/K1C,gBAAgB,CHmLY,OAAW,CGlLvC,YAAY,CH1UmB,OAA2B,CG4U1D,8GAG0C,CACxC,KAAK,CHwKqB,OAAc,CGvKxC,gBAAgB,CAAE,OAAwB,CACtC,YAAY,CAAE,OAAqB,CAE/B,kCAAkB,CAC1B,KAAK,CHmKqB,OAAc,CGlKxC,gBAAgB,CAAE,OAAwB,CACtC,YAAY,CAAE,OAAqB,CAEzC,uCACS,CACP,gBAAgB,CAAE,IAAI,CAEd,kCAAkB,CAC1B,gBAAgB,CAAE,IAAI,CAKtB,8cAIS,CACP,gBAAgB,CHoJQ,OAAW,CGnJ/B,YAAY,CHzWW,OAA2B,CG6W1D,mBAAO,CACL,KAAK,CH8IqB,OAAW,CG7IrC,gBAAgB,CHyIU,OAAc,CUpmB5C,8EAAa,CPobX,KAAK,CHgLuB,OAAc,CG/K1C,gBAAgB,CH0FY,OAAc,CGzF1C,YAAY,CHtUmB,OAA2B,CGwU1D,ibAG0C,CACxC,KAAK,CHwKqB,OAAc,CGvKxC,gBAAgB,CAAE,OAAwB,CACtC,YAAY,CAAE,OAAqB,CAE/B,kNAAkB,CAC1B,KAAK,CHmKqB,OAAc,CGlKxC,gBAAgB,CAAE,OAAwB,CACtC,YAAY,CAAE,OAAqB,CAEzC,yLACS,CACP,gBAAgB,CAAE,IAAI,CAEd,kNAAkB,CAC1B,gBAAgB,CAAE,IAAI,CAKtB,2nEAIS,CACP,gBAAgB,CH2DQ,OAAc,CG1DlC,YAAY,CHrWW,OAA2B,CGyW1D,4FAAO,CACL,KAAK,CHqDqB,OAAc,CGpDxC,gBAAgB,CHyIU,OAAc,CUhmB5C,SAAU,CPgbR,KAAK,CHgLuB,OAAc,CG/K1C,gBAAgB,CH6FY,OAAW,CG5FvC,YAAY,CHlUmB,OAAwB,CGoUvD,kGAG0C,CACxC,KAAK,CHwKqB,OAAc,CGvKxC,gBAAgB,CAAE,OAAwB,CACtC,YAAY,CAAE,OAAqB,CAE/B,+BAAkB,CAC1B,KAAK,CHmKqB,OAAc,CGlKxC,gBAAgB,CAAE,OAAwB,CACtC,YAAY,CAAE,OAAqB,CAEzC,iCACS,CACP,gBAAgB,CAAE,IAAI,CAEd,+BAAkB,CAC1B,gBAAgB,CAAE,IAAI,CAKtB,iaAIS,CACP,gBAAgB,CH8DQ,OAAW,CG7D/B,YAAY,CHjWW,OAAwB,CGqWvD,gBAAO,CACL,KAAK,CHwDqB,OAAW,CGvDrC,gBAAgB,CHyIU,OAAc,CU5lB5C,YAAa,CP4aX,KAAK,CHgLuB,OAAc,CG/K1C,gBAAgB,CH4Rc,OAAY,CG3R1C,YAAY,CH9TmB,OAA2B,CGgU1D,8GAG0C,CACxC,KAAK,CHwKqB,OAAc,CGvKxC,gBAAgB,CAAE,OAAwB,CACtC,YAAY,CAAE,OAAqB,CAE/B,kCAAkB,CAC1B,KAAK,CHmKqB,OAAc,CGlKxC,gBAAgB,CAAE,OAAwB,CACtC,YAAY,CAAE,OAAqB,CAEzC,uCACS,CACP,gBAAgB,CAAE,IAAI,CAEd,kCAAkB,CAC1B,gBAAgB,CAAE,IAAI,CAKtB,8cAIS,CACP,gBAAgB,CH6PU,OAAY,CG5PlC,YAAY,CH7VW,OAA2B,CGiW1D,mBAAO,CACL,KAAK,CHuPuB,OAAY,CGtPxC,gBAAgB,CHyIU,OAAc,CUxlB5C,WAAY,CPwaV,KAAK,CHgLuB,OAAc,CG/K1C,gBAAgB,CH6NY,OAAW,CG5NvC,YAAY,CH1TmB,OAA0B,CG4TzD,0GAG0C,CACxC,KAAK,CHwKqB,OAAc,CGvKxC,gBAAgB,CAAE,OAAwB,CACtC,YAAY,CAAE,OAAqB,CAE/B,iCAAkB,CAC1B,KAAK,CHmKqB,OAAc,CGlKxC,gBAAgB,CAAE,OAAwB,CACtC,YAAY,CAAE,OAAqB,CAEzC,qCACS,CACP,gBAAgB,CAAE,IAAI,CAEd,iCAAkB,CAC1B,gBAAgB,CAAE,IAAI,CAKtB,+bAIS,CACP,gBAAgB,CH8LQ,OAAW,CG7L/B,YAAY,CHzVW,OAA0B,CG6VzD,kBAAO,CACL,KAAK,CHwLqB,OAAW,CGvLrC,gBAAgB,CHyIU,OAAc,CU/kB5C,SAAU,CACR,KAAK,CVklBuB,OAAW,CUjlBvC,WAAW,CAAE,MAAM,CACnB,MAAM,CAAE,OAAO,CACf,aAAa,CAAE,CAAC,CAEhB,2EAGqB,CACnB,gBAAgB,CAAE,WAAW,CP0B/B,kBAAkB,CAAE,IAAO,CACnB,UAAU,CAAE,IAAO,COxB3B,0DAGS,CACP,YAAY,CAAE,WAAW,CAE3B,+BACQ,CACN,KAAK,CViU8B,OAAiB,CUhUpD,eAAe,CAAE,SAAS,CAC1B,gBAAgB,CAAE,WAAW,CAI7B,yHACQ,CACN,KAAK,CV2nBmB,OAAW,CU1nBnC,eAAe,CAAE,IAAI,CAS3B,0BAAQ,CPsaN,OAAO,CAAE,SAAqC,CAC9C,SAAS,CHpde,IAA8B,CGqdtD,WAAW,CHrae,IAAI,CGsa9B,aAAa,CHlaa,GAAG,CUH/B,0BAAQ,CPkaN,OAAO,CAAE,QAAqC,CAC9C,SAAS,CHnde,IAA8B,CGodtD,WAAW,CHpae,GAAG,CGqa7B,aAAa,CHjaa,GAAG,CUA/B,0BAAQ,CP8ZN,OAAO,CAAE,OAAqC,CAC9C,SAAS,CHnde,IAA8B,CGodtD,WAAW,CHpae,GAAG,CGqa7B,aAAa,CHjaa,GAAG,CUQ/B,UAAW,CACT,OAAO,CAAE,KAAK,CACd,KAAK,CAAE,IAAI,CACX,YAAY,CAAE,CAAC,CACf,aAAa,CAAE,CAAC,CAIlB,qBAAwB,CACtB,UAAU,CAAE,GAAG,CAOf,2FAAY,CACV,KAAK,CAAE,IAAI,CCrJf,KAAM,CACJ,OAAO,CAAE,CAAC,CRsHV,kBAAkB,CAAE,oBAAW,CACvB,UAAU,CAAE,oBAAW,CQrH/B,QAAK,CACH,OAAO,CAAE,CAAC,CAId,SAAU,CACR,OAAO,CAAE,IAAI,CACb,YAAK,CACH,OAAO,CAAE,KAAK,CAGlB,WAAY,CACV,QAAQ,CAAE,QAAQ,CAClB,MAAM,CAAE,CAAC,CACT,QAAQ,CAAE,MAAM,CAChB,WAAW,CAAE,MAAM,CRqGnB,kBAAkB,CAAE,iBAAW,CACvB,UAAU,CAAE,iBAAW,CS3HjC,MAAO,CACL,OAAO,CAAE,YAAY,CACrB,KAAK,CAAE,CAAC,CACR,MAAM,CAAE,CAAC,CACT,WAAW,CAAE,GAAG,CAChB,cAAc,CAAE,MAAM,CACtB,UAAU,CAAI,SAAuB,CACrC,YAAY,CAAE,qBAAmC,CACjD,WAAW,CAAG,qBAAmC,CAInD,SAAU,CACR,QAAQ,CAAE,QAAQ,CAIpB,sBAAuB,CACrB,OAAO,CAAE,CAAC,CAIZ,cAAe,CACb,QAAQ,CAAE,QAAQ,CAClB,GAAG,CAAE,IAAI,CACT,IAAI,CAAE,CAAC,CACP,OAAO,CZyNqB,IAAI,CYxNhC,OAAO,CAAE,IAAI,CACb,KAAK,CAAE,IAAI,CACX,SAAS,CAAE,KAAK,CAChB,OAAO,CAAE,KAAK,CACd,MAAM,CAAE,OAAO,CACf,UAAU,CAAE,IAAI,CAChB,SAAS,CZwCe,IAAI,CYvC5B,gBAAgB,CZitBY,OAAa,CYhtBzC,MAAM,CAAE,cAAmC,CAC3C,MAAM,CAAE,0BAA0B,CCkTlC,kBAAwC,CDjTjB,GAAG,CCiT1B,qBAAwC,CC9Sb,GAAuB,CD8SlD,aAAwC,CDjTjB,GAAG,CT+E1B,kBAAkB,CAAE,0BAAO,CACnB,UAAU,CAAE,0BAAO,CS9E3B,eAAe,CAAE,WAAW,CAK5B,yBAAa,CACX,KAAK,CAAE,CAAC,CACR,IAAI,CAAE,IAAI,CAIZ,uBAAS,CToVT,MAAM,CAAE,GAAG,CACX,MAAM,CAAE,KAAmC,CAC3C,QAAQ,CAAE,MAAM,CAChB,gBAAgB,CH+VY,OAAW,CYjrBvC,mBAAS,CACP,OAAO,CAAE,KAAK,CACd,OAAO,CAAE,QAAQ,CACjB,KAAK,CAAE,IAAI,CACX,WAAW,CAAE,MAAM,CACnB,WAAW,CZyBW,GAAG,CYxBzB,KAAK,CZ2lBqB,OAAU,CY1lBpC,WAAW,CAAE,MAAM,CAMrB,mDACQ,CACN,eAAe,CAAE,IAAI,CACrB,KAAK,CZqpBqB,OAAa,CYppBvC,gBAAgB,CZgqBU,OAAW,CY1pBvC,sFAEQ,CACN,KAAK,CZkqBqB,OAAa,CYjqBvC,eAAe,CAAE,IAAI,CACrB,OAAO,CAAE,CAAC,CACV,gBAAgB,CZ+kBU,OAAW,CYtkBvC,4FAEQ,CACN,KAAK,CZwoBqB,OAAW,CYnoBvC,iEACQ,CACN,eAAe,CAAE,IAAI,CACrB,gBAAgB,CAAE,WAAW,CAC7B,gBAAgB,CAAE,IAAI,CTkPxB,MAAM,CAAE,2DAA2D,CShPjE,MAAM,CAAE,WAAW,CAOrB,oBAAiB,CACf,OAAO,CAAE,KAAK,CAIhB,OAAI,CACF,OAAO,CAAE,CAAC,CAQd,oBAAqB,CACnB,IAAI,CAAE,IAAI,CACV,KAAK,CAAE,CAAC,CAQV,mBAAoB,CAClB,IAAI,CAAE,CAAC,CACP,KAAK,CAAE,IAAI,CAIb,gBAAiB,CACf,OAAO,CAAE,KAAK,CACd,OAAO,CAAE,QAAQ,CACjB,SAAS,CZxEe,IAA8B,CYyEtD,WAAW,CZ/Da,GAAG,CYgE3B,KAAK,CZmlBuB,OAAW,CY/kBzC,kBAAmB,CACjB,QAAQ,CAAE,KAAK,CACf,IAAI,CAAE,CAAC,CACP,KAAK,CAAE,CAAC,CACR,MAAM,CAAE,CAAC,CACT,GAAG,CAAE,CAAC,CACN,OAAO,CAAE,GAAuB,CAIlC,0BAA6B,CAC3B,KAAK,CAAE,CAAC,CACR,IAAI,CAAE,IAAI,CAWV,oDAAO,CACL,UAAU,CAAE,CAAC,CACb,aAAa,CAAE,SAAuB,CACtC,OAAO,CAAE,EAAE,CAGb,oEAAe,CACb,GAAG,CAAE,IAAI,CACT,MAAM,CAAE,IAAI,CACZ,aAAa,CAAE,GAAG,CAStB,yBAA2C,CAEvC,4BAAe,CACb,KAAK,CAAE,CAAC,CAAE,IAAI,CAAE,IAAI,CAItB,iCAAoB,CAClB,IAAI,CAAE,CAAC,CAAE,KAAK,CAAE,IAAI,EG3M1B,8BACoB,CAClB,QAAQ,CAAE,QAAQ,CAClB,OAAO,CAAE,YAAY,CACrB,cAAc,CAAE,MAAM,CACtB,wCAAO,CACL,QAAQ,CAAE,QAAQ,CAClB,KAAK,CAAE,IAAI,CAEX,uNAGS,CACP,OAAO,CAAE,CAAC,CAEZ,oDAAQ,CAEN,OAAO,CAAE,IAAI,CAOjB,2GAGwB,CACtB,WAAW,CAAE,IAAI,CAKrB,YAAa,CACX,WAAW,CAAE,IAAI,CZpBjB,sCACQ,CACN,OAAO,CAAE,GAAG,CACZ,OAAO,CAAE,KAAK,CAEhB,kBAAQ,CACN,KAAK,CAAE,IAAI,CYiBb,iDACa,CACX,KAAK,CAAE,IAAI,CAEb,mEAEe,CACb,WAAW,CAAE,GAAG,CAIpB,wEAA2E,CACzE,aAAa,CAAE,CAAC,CAIlB,2BAA8B,CAC5B,WAAW,CAAE,CAAC,CACd,kEAAyC,CZ4CzC,0BAA0B,CY3CK,CAAC,CZ4C7B,uBAAuB,CY5CK,CAAC,CAIlC,0FACgD,CZ8C9C,yBAAyB,CY7CG,CAAC,CZ8C1B,sBAAsB,CY9CG,CAAC,CAI/B,qBAAwB,CACtB,KAAK,CAAE,IAAI,CAEb,6DAAkE,CAChE,aAAa,CAAE,CAAC,CAGhB,oGACmB,CZyBnB,0BAA0B,CYxBK,CAAC,CZyB7B,uBAAuB,CYzBK,CAAC,CAGlC,iDAAsD,CZ6BpD,yBAAyB,CY5BG,CAAC,CZ6B1B,sBAAsB,CY7BG,CAAC,CAI/B,mEACiC,CAC/B,OAAO,CAAE,CAAC,CAiBZ,gCAAqC,CACnC,YAAY,CAAE,GAAG,CACjB,aAAa,CAAE,GAAG,CAEpB,iFAAwC,CACtC,YAAY,CAAE,IAAI,CAClB,aAAa,CAAE,IAAI,CAKrB,gCAAiC,CZI/B,kBAAkB,CAAE,iCAAO,CACnB,UAAU,CAAE,iCAAO,CYD3B,yCAAW,CZAX,kBAAkB,CAAE,IAAO,CACnB,UAAU,CAAE,IAAO,CYM7B,WAAY,CACV,WAAW,CAAE,CAAC,CAGhB,wCAAe,CACb,YAAY,CAAE,SAAuC,CACrD,mBAAmB,CAAE,CAAC,CAGxB,wDAAuB,CACrB,YAAY,CAAE,SAAuC,CAQrD,2FAEoB,CAClB,OAAO,CAAE,KAAK,CACd,KAAK,CAAE,IAAI,CACX,KAAK,CAAE,IAAI,CACX,SAAS,CAAE,IAAI,CZtIjB,0EACQ,CACN,OAAO,CAAE,GAAG,CACZ,OAAO,CAAE,KAAK,CAEhB,oCAAQ,CACN,KAAK,CAAE,IAAI,CYsIX,mCAAO,CACL,KAAK,CAAE,IAAI,CAIf,+IAG0B,CACxB,UAAU,CAAE,IAAI,CAChB,WAAW,CAAE,CAAC,CAKhB,2DAAqC,CACnC,aAAa,CAAE,CAAC,CAElB,qDAA+B,CAC7B,uBAAuB,Cf/CC,GAAG,CGvB7B,0BAA0B,CYuEM,CAAC,CZtEhC,yBAAyB,CYsEM,CAAC,CAEjC,qDAA+B,CAC7B,yBAAyB,CfnDD,GAAG,CG/B7B,uBAAuB,CYmFM,CAAC,CZlF7B,sBAAsB,CYkFM,CAAC,CAGhC,sEAA2E,CACzE,aAAa,CAAE,CAAC,CAGhB,wJACmB,CZnFnB,0BAA0B,CYoFM,CAAC,CZnFhC,yBAAyB,CYmFM,CAAC,CAGnC,4EAAiF,CZ/F/E,uBAAuB,CYgGI,CAAC,CZ/F3B,sBAAsB,CY+FI,CAAC,CAQ9B,oBAAqB,CACnB,OAAO,CAAE,KAAK,CACd,KAAK,CAAE,IAAI,CACX,YAAY,CAAE,KAAK,CACnB,eAAe,CAAE,QAAQ,CACzB,yDACa,CACX,KAAK,CAAE,IAAI,CACX,OAAO,CAAE,UAAU,CACnB,KAAK,CAAE,EAAE,CAEX,oCAAkB,CAChB,KAAK,CAAE,IAAI,CAMf,oGACwD,CACtD,OAAO,CAAE,IAAI,CC1Nf,YAAa,CACX,QAAQ,CAAE,QAAQ,CAClB,OAAO,CAAE,KAAK,CACd,eAAe,CAAE,QAAQ,CAGzB,2BAAiB,CACf,KAAK,CAAE,IAAI,CACX,YAAY,CAAE,CAAC,CACf,aAAa,CAAE,CAAC,CAGlB,0BAAc,CAGZ,QAAQ,CAAE,QAAQ,CAClB,OAAO,CAAE,CAAC,CAKV,KAAK,CAAE,IAAI,CAEX,KAAK,CAAE,IAAI,CACX,aAAa,CAAE,CAAC,CAmBpB,8DAE2B,CACzB,OAAO,CAAE,UAAU,CAEnB,uKAAqC,CACnC,aAAa,CAAE,CAAC,CAIpB,mCACiB,CACf,KAAK,CAAE,EAAE,CACT,WAAW,CAAE,MAAM,CACnB,cAAc,CAAE,MAAM,CAKxB,kBAAmB,CACjB,OAAO,CAAE,QAA+C,CACxD,SAAS,ChBSe,IAAI,CgBR5B,WAAW,CAAE,MAAM,CACnB,WAAW,CAAE,CAAC,CACd,KAAK,ChBqqBuB,OAAW,CgBpqBvC,UAAU,CAAE,MAAM,CAClB,gBAAgB,ChBopBY,OAAY,CgBnpBxC,MAAM,CAAE,iBAAyC,CACjD,aAAa,ChBsDa,GAAG,CgBnD7B,sHAAW,CACT,OAAO,CAAE,QAAiD,CAC1D,SAAS,ChBDa,IAA8B,CgBEpD,aAAa,ChBkDW,GAAG,CgBhD7B,sHAAW,CACT,OAAO,CAAE,SAAiD,CAC1D,SAAS,ChBPa,IAA8B,CgBQpD,aAAa,ChB4CW,GAAG,CgBxC7B,gFACuB,CACrB,UAAU,CAAE,CAAC,CAKjB,uUAMiE,CbD/D,0BAA0B,CaEG,CAAC,CbD3B,uBAAuB,CaCG,CAAC,CAEhC,8BAA+B,CAC7B,YAAY,CAAE,CAAC,CAEjB,gTAMmE,CbLjE,yBAAyB,CaMG,CAAC,CbL1B,sBAAsB,CaKG,CAAC,CAE/B,6BAA8B,CAC5B,WAAW,CAAE,CAAC,CAKhB,gBAAiB,CACf,QAAQ,CAAE,QAAQ,CAGlB,SAAS,CAAE,CAAC,CACZ,WAAW,CAAE,MAAM,CAInB,qBAAO,CACL,QAAQ,CAAE,QAAQ,CAClB,0BAAO,CACL,WAAW,CAAE,IAAI,CAGnB,oFAES,CACP,OAAO,CAAE,CAAC,CAMZ,yEACa,CACX,YAAY,CAAE,IAAI,CAIpB,uEACa,CACX,WAAW,CAAE,IAAI,CCtJvB,IAAK,CACH,aAAa,CAAE,CAAC,CAChB,YAAY,CAAE,CAAC,CACf,UAAU,CAAE,IAAI,CdQhB,sBACQ,CACN,OAAO,CAAE,GAAG,CACZ,OAAO,CAAE,KAAK,CAEhB,UAAQ,CACN,KAAK,CAAE,IAAI,CcXb,OAAK,CACH,QAAQ,CAAE,QAAQ,CAClB,OAAO,CAAE,KAAK,CAEd,SAAI,CACF,QAAQ,CAAE,QAAQ,CAClB,OAAO,CAAE,KAAK,CACd,OAAO,CjBqX+B,WAAW,CiBpXjD,+BACQ,CACN,eAAe,CAAE,IAAI,CACrB,gBAAgB,CjBmlBM,OAAK,CiB9kB/B,kBAAe,CACb,KAAK,CjB+sBmB,OAAW,CiB7sBnC,iDACQ,CACN,KAAK,CjB2sBiB,OAAW,CiB1sBjC,eAAe,CAAE,IAAI,CACrB,gBAAgB,CAAE,WAAW,CAC7B,MAAM,CAAE,WAAW,CAOvB,kDAEQ,CACN,gBAAgB,CjB4jBQ,OAAK,CiB3jB7B,YAAY,CjBwnBY,OAAW,CiB/mBvC,iBAAa,CdkVb,MAAM,CAAE,GAAG,CACX,MAAM,CAAE,KAAmC,CAC3C,QAAQ,CAAE,MAAM,CAChB,gBAAgB,CAJS,OAAO,Cc1UhC,aAAe,CACb,SAAS,CAAE,IAAI,CASnB,SAAU,CACR,aAAa,CAAE,iBAAgC,CAC/C,YAAK,CACH,KAAK,CAAE,IAAI,CAEX,aAAa,CAAE,IAAI,CACnB,YAAY,CAAE,GAAG,CAGjB,cAAI,CACF,WAAW,CjBMS,GAAG,CiBLvB,MAAM,CAAE,qBAAqB,CAE7B,oBAAQ,CACN,YAAY,CAAE,uBAA0F,CAM1G,6EAEQ,CACN,KAAK,CjB4jBiB,OAAU,CiB3jBhC,MAAM,CAAE,iBAAkD,CAC1D,mBAAmB,CAAE,WAAW,CAChC,MAAM,CAAE,OAAO,CAerB,aAAK,CACH,KAAK,CAAE,IAAI,CAGX,eAAI,CACF,aAAa,CjBsSyB,GAAmB,CiBpS3D,gBAAK,CACH,WAAW,CAAE,GAAG,CAKhB,gFAEQ,CACN,KAAK,CjB6R+B,IAAuB,CiB5R3D,gBAAgB,CjBoiBM,OAAW,CiB3hBvC,eAAK,CACH,KAAK,CAAE,IAAI,CACX,kBAAK,CACH,UAAU,CAAE,GAAG,CACf,WAAW,CAAE,CAAC,CAYpB,sCAAe,CACb,KAAK,CAAE,IAAI,CAEX,4CAAK,CACH,KAAK,CAAE,IAAI,CACV,gDAAI,CACH,UAAU,CAAE,MAAM,CAClB,aAAa,CAAE,GAAG,CAItB,uCAA2B,CACzB,GAAG,CAAE,IAAI,CACT,IAAI,CAAE,IAAI,CAGZ,yBAAmC,CACjC,4CAAK,CACH,OAAO,CAAE,UAAU,CACnB,KAAK,CAAE,EAAE,CACT,gDAAI,CACF,aAAa,CAAE,CAAC,EASxB,2CAAoB,CAClB,aAAa,CAAE,CAAC,CAEhB,qDAAS,CAEP,YAAY,CAAE,CAAC,CACf,aAAa,CjB/DW,GAAG,CiBkE7B,uNAEoB,CAClB,MAAM,CAAE,cAA+C,CAGzD,yBAAmC,CACjC,qDAAS,CACP,aAAa,CAAE,cAA+C,CAC9D,aAAa,CAAE,WAA2C,CAE5D,uNAEoB,CAClB,mBAAmB,CjB+gBK,OAAa,EiBpgBzC,sBAAY,CACV,OAAO,CAAE,IAAI,CAEf,oBAAU,CACR,OAAO,CAAE,KAAK,CASlB,wBAAyB,CAEvB,UAAU,CAAE,IAAI,CdzIhB,uBAAuB,Cc2II,CAAC,Cd1I3B,sBAAsB,Cc0II,CAAC,CCrO9B,OAAQ,CACN,QAAQ,CAAE,QAAQ,CAClB,UAAU,ClB+TuB,IAAI,CkB9TrC,aAAa,ClB+ToB,IAAqB,CGzTtD,4BACQ,CACN,OAAO,CAAE,GAAG,CACZ,OAAO,CAAE,KAAK,CAEhB,aAAQ,CACN,KAAK,CAAE,IAAI,CePb,yBAA2C,CAR7C,OAAQ,CASJ,aAAa,ClB0TkB,GAAmB,EG1TpD,0CACQ,CACN,OAAO,CAAE,GAAG,CACZ,OAAO,CAAE,KAAK,CAEhB,oBAAQ,CACN,KAAK,CAAE,IAAI,CeOb,yBAA2C,CAH7C,cAAe,CAIX,KAAK,CAAE,IAAI,EAef,gBAAiB,CACf,UAAU,ClB+RuB,KAAK,CkB9RtC,UAAU,CAAE,OAAO,CACnB,aAAa,ClB2RoB,IAA+B,CkB1RhE,YAAY,ClB0RqB,IAA+B,CkBzRhE,UAAU,CAAE,qBAAqB,CACjC,UAAU,CAAE,mCAAkC,CAE9C,0BAA0B,CAAE,KAAK,CfrCjC,8CACQ,CACN,OAAO,CAAE,GAAG,CACZ,OAAO,CAAE,KAAK,CAEhB,sBAAQ,CACN,KAAK,CAAE,IAAI,CeiCb,mBAAK,CACH,UAAU,CAAE,IAAI,CAGlB,yBAA2C,CAd7C,gBAAiB,CAeb,KAAK,CAAE,IAAI,CACX,UAAU,CAAE,CAAC,CACb,UAAU,CAAE,IAAI,CAEhB,yBAAW,CACT,OAAO,CAAE,gBAAgB,CACzB,MAAM,CAAE,eAAe,CACvB,cAAc,CAAE,CAAC,CACjB,QAAQ,CAAE,kBAAkB,CAG9B,mBAAK,CACH,UAAU,CAAE,OAAO,CAKrB,4GAEuB,CACrB,YAAY,CAAE,CAAC,CACf,aAAa,CAAE,CAAC,EAYpB,uHACmB,CACjB,YAAY,CAAE,KAA2B,CACzC,WAAW,CAAG,KAA2B,CAEzC,yBAA2C,CAL7C,uHACmB,CAKf,YAAY,CAAE,CAAC,CACf,WAAW,CAAG,CAAC,EAarB,kBAAmB,CACjB,OAAO,ClBmIqB,IAAI,CkBlIhC,YAAY,CAAE,OAAO,CAErB,yBAA2C,CAJ7C,kBAAmB,CAKf,aAAa,CAAE,CAAC,EAKpB,sCACqB,CACnB,QAAQ,CAAE,KAAK,CACf,KAAK,CAAE,CAAC,CACR,IAAI,CAAE,CAAC,CACP,OAAO,ClByHqB,IAAI,CkBtHhC,yBAA2C,CAR7C,sCACqB,CAQjB,aAAa,CAAE,CAAC,EAGpB,iBAAkB,CAChB,GAAG,CAAE,CAAC,CACN,YAAY,CAAE,OAAO,CAEvB,oBAAqB,CACnB,MAAM,CAAE,CAAC,CACT,aAAa,CAAE,CAAC,CAChB,YAAY,CAAE,OAAO,CAMvB,aAAc,CACZ,KAAK,CAAE,IAAI,CACX,OAAO,CAAE,QAAmD,CAC5D,SAAS,CAAE,KAAK,CAChB,WAAW,ClBiLsB,IAAqB,CkBhLtD,MAAM,ClB+K2B,IAAI,CkB9KrC,WAAW,ClBpFa,yDAA6D,CkBsFrF,uCACQ,CACN,eAAe,CAAE,IAAI,CAGvB,yBAA2C,CACzC,uEAC6B,CAC3B,WAAW,CAAE,KAA2B,EAW9C,cAAe,CACb,QAAQ,CAAE,QAAQ,CAClB,KAAK,CAAE,KAAK,CACZ,YAAY,ClByJqB,IAA+B,CkBxJhE,WAAW,ClBwJsB,IAA+B,CkBvJhE,OAAO,CAAE,QAAQ,CfmbjB,UAAU,CAAE,IAAwC,CACpD,aAAa,CAAE,IAAwC,CelbvD,gBAAgB,ClBqeY,OAAU,CkBpetC,gBAAgB,CAAE,IAAI,CACtB,MAAM,CAAE,iBAAmC,CLiK3C,kBAAwC,CKhKjB,GAAG,CLgK1B,qBAAwC,CC9Sb,GAAuB,CD8SlD,aAAwC,CKhKjB,GAAG,CAI1B,oBAAQ,CACN,OAAO,CAAE,IAAI,CAIf,wBAAU,CACR,OAAO,CAAE,KAAK,CACd,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,GAAG,CACX,aAAa,CAAE,GAAG,CAEpB,kCAAsB,CACpB,UAAU,CAAE,GAAG,CAGjB,yBAA2C,CA7B7C,cAAe,CA8BX,OAAO,CAAE,IAAI,EAUjB,WAAY,CACV,MAAM,CAAE,SAA4D,CAkClE,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,CAAC,CAjCX,gBAAS,CACP,WAAW,CAAK,IAAI,CACpB,cAAc,CAAE,IAAI,CACpB,WAAW,ClB4GoB,IAAqB,CkBzGtD,yBAA+C,CAE7C,gCAAqB,CACnB,QAAQ,CAAE,MAAM,CAChB,KAAK,CAAE,IAAI,CACX,KAAK,CAAE,IAAI,CACX,UAAU,CAAE,CAAC,CACb,gBAAgB,CAAE,WAAW,CAC7B,MAAM,CAAE,CAAC,CACT,UAAU,CAAE,IAAI,CAChB,uFACiB,CACf,OAAO,CAAE,iBAAiB,CAE5B,qCAAS,CACP,WAAW,ClB0FgB,IAAqB,CkBzFhD,uFACQ,CACN,gBAAgB,CAAE,IAAI,EAW5B,cAAK,CACH,KAAK,CAAE,IAAI,CACX,YAAY,CAAE,GAAG,CACjB,gBAAI,CACF,WAAW,ClB2EkB,GAA2C,CkB1ExE,cAAc,ClB0Ee,GAA2C,CkBtE5E,mCAA0B,CACxB,YAAY,CAAE,KAA2B,CAY/C,yBAA2C,CACzC,YAAa,CACX,KAAK,CAAE,eAAe,CAExB,aAAc,CACZ,KAAK,CAAE,gBAAgB,EAU3B,YAAa,CACX,WAAW,CAAE,KAA2B,CACxC,YAAY,CAAE,KAA2B,CACzC,OAAO,CAAE,SAA+B,CACxC,UAAU,CAAE,qBAAqB,CACjC,aAAa,CAAE,qBAAqB,CfhLpC,kBAAkB,CAAE,iEAAO,CACnB,UAAU,CAAE,iEAAO,CA+e3B,UAAU,CAAE,IAAwC,CACpD,aAAa,CAAE,IAAwC,CezTrD,yBAA+C,CADjD,wBAAY,CAER,aAAa,CAAE,GAAG,EAQtB,yBAA2C,CAtB7C,YAAa,CAuBT,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,CAAC,CACT,WAAW,CAAE,CAAC,CACd,YAAY,CAAE,CAAC,CACf,WAAW,CAAE,CAAC,CACd,cAAc,CAAE,CAAC,CfvMnB,kBAAkB,CAAE,IAAO,CACnB,UAAU,CAAE,IAAO,Ce0MzB,oCAA0B,CACxB,YAAY,CAAE,KAA2B,EAS/C,6BAAkC,CAChC,UAAU,CAAE,CAAC,Cf5Ob,uBAAuB,Ce6OI,CAAC,Cf5O3B,sBAAsB,Ce4OI,CAAC,CAG9B,kDAAuD,CfxOrD,0BAA0B,CeyOI,CAAC,CfxO9B,yBAAyB,CewOI,CAAC,CAQjC,WAAY,Cf6QV,UAAU,CAAE,IAAwC,CACpD,aAAa,CAAE,IAAwC,Ce3QvD,gDAAS,Cf0QT,UAAU,CAAE,GAAwC,CACpD,aAAa,CAAE,GAAwC,CexQvD,gDAAS,CfuQT,UAAU,CAAE,GAAwC,CACpD,aAAa,CAAE,GAAwC,Ce9PzD,YAAa,Cf6PX,UAAU,CAAE,GAAwC,CACpD,aAAa,CAAE,GAAwC,Ce5PvD,WAAW,ClBtSa,yDAA6D,CkBySnF,KAAK,CAAE,IAAI,CACX,WAAW,ClBrCoB,IAA+B,CkBsC9D,YAAY,ClBtCmB,IAA+B,CkByC9D,oCAA0B,CACxB,YAAY,CAAE,CAAC,CASrB,eAAgB,CACd,UAAU,CAAE,kBAAmD,CAC/D,YAAY,ClB9CqB,IAAI,CkBgDrC,6BAAc,CACZ,KAAK,ClBrCkC,IAA0B,CkBsCjE,uEACQ,CACN,KAAK,ClBvCgC,OAAa,CkBwClD,gBAAgB,ClBvCqB,WAAW,CkB2CpD,4BAAa,CACX,KAAK,ClB+VqB,OAAW,CkB3VrC,gCAAS,CACP,KAAK,ClBnDgC,IAA0B,CkBqD/D,6EACQ,CACN,KAAK,ClB/D8B,OAAc,CkBgEjD,gBAAgB,ClB/DmB,WAAW,CkBmEhD,iFACQ,CACN,KAAK,ClB7D8B,OAAa,CkB8DhD,gBAAgB,ClBpEmB,WAAW,CkBsEhD,2CAAO,CACL,KAAK,ClB1E8B,OAAc,CkB8EnD,mIAEQ,CACN,KAAK,ClBkMiB,OAAK,CkBjM3B,gBAAgB,ClB7EmB,WAAW,CkBkFpD,8BAAe,CACb,YAAY,ClBzE2B,OAAK,CkB0E5C,KAAK,ClB6SqB,OAAY,CkB5StC,MAAM,CAAE,OAAO,CAEf,yEACQ,CACN,YAAY,CAAE,OAAkB,CAChC,gBAAgB,CAAE,OAAuB,CAEzC,6FAAS,CACP,gBAAgB,ClBzFmB,OAAa,CkB4FpD,wCAAU,CACR,gBAAgB,ClBvFqB,OAAK,CkB2F9C,6DACa,CACX,YAAY,ClBhHmB,IAAI,CkBuHjC,uHAEQ,CACN,gBAAgB,ClBnHmB,WAAW,CkBoH9C,KAAK,ClB9G8B,OAAa,CkBkHpD,yBAA+C,CAG3C,qDAAS,CACP,KAAK,ClBvH4B,IAA0B,CkBwH3D,uHACQ,CACN,KAAK,ClBlI0B,OAAc,CkBmI7C,gBAAgB,ClBlIe,WAAW,CkBsI5C,4LAEQ,CACN,KAAK,ClBjI0B,OAAa,CkBkI5C,gBAAgB,ClBxIe,WAAW,CkB4I5C,kMAEQ,CACN,KAAK,ClBiIa,OAAK,CkBhIvB,gBAAgB,ClB9Ie,WAAW,EkB0JpD,4BAAa,CACX,KAAK,ClBxJkC,IAA0B,CkByJjE,kCAAQ,CACN,KAAK,ClBlKgC,OAAc,CkB0KzD,eAAgB,CACd,gBAAgB,ClBtJ0B,IAAI,CkBuJ9C,YAAY,ClBtJ8B,OAA+B,CkBwJzE,6BAAc,CACZ,KAAK,ClBsOqB,OAAW,CkBrOrC,uEACQ,CACN,KAAK,ClB/IiC,IAAI,CkBgJ1C,gBAAgB,ClB/IsB,WAAW,CkBmJrD,4BAAa,CACX,KAAK,ClB6NqB,OAAW,CkBzNrC,gCAAS,CACP,KAAK,ClBwNmB,OAAW,CkBtNnC,6EACQ,CACN,KAAK,ClBrK+B,IAAgC,CkBsKpE,gBAAgB,ClBvKoB,WAAW,CkB2KjD,6HAEQ,CACN,KAAK,ClB7K+B,IAAgC,CkB8KpE,gBAAgB,ClB7KoB,OAA+B,CkBiLrE,mIAEQ,CACN,KAAK,ClBnL+B,IAAI,CkBoLxC,gBAAgB,ClBnLoB,WAAW,CkByLrD,8BAAe,CACb,YAAY,ClBhL4B,IAAI,CkBiL5C,yEACQ,CACN,gBAAgB,ClBrLsB,IAAI,CkBuL5C,wCAAU,CACR,gBAAgB,ClBvLsB,IAAI,CkB2L9C,6DACa,CACX,YAAY,CAAE,OAA8B,CAM1C,uHAEQ,CACN,gBAAgB,ClBjNoB,OAA+B,CkBkNnE,KAAK,ClBnN+B,IAAgC,CkBuNxE,yBAA+C,CAG3C,iEAAmB,CACjB,YAAY,ClBjOsB,OAA+B,CkBmOnE,yDAAS,CACP,gBAAgB,ClBpOkB,OAA+B,CkBsOnE,qDAAS,CACP,KAAK,ClBwJe,OAAW,CkBvJ/B,uHACQ,CACN,KAAK,ClBpO2B,IAAgC,CkBqOhE,gBAAgB,ClBtOgB,WAAW,CkB0O7C,4LAEQ,CACN,KAAK,ClB5O2B,IAAgC,CkB6OhE,gBAAgB,ClB5OgB,OAA+B,CkBgPjE,kMAEQ,CACN,KAAK,ClBlP2B,IAAI,CkBmPpC,gBAAgB,ClBlPgB,WAAW,EkByPrD,4BAAa,CACX,KAAK,ClB4HqB,OAAW,CkB3HrC,kCAAQ,CACN,KAAK,ClB/PiC,IAAgC,CmBhX5E,WAAY,CACV,OAAO,CAAE,OAA2D,CACpE,aAAa,CnBqUoB,IAAqB,CmBpUtD,UAAU,CAAE,IAAI,CAChB,gBAAgB,CnB8qBc,IAAI,CmB7qBlC,aAAa,CnByHa,GAAG,CmBvH7B,cAAK,CACH,OAAO,CAAE,YAAY,CAErB,wBAAY,CACV,OAAO,CAAE,IAA+B,CACxC,OAAO,CAAE,KAAK,CACd,KAAK,CnB4tBmB,OAAW,CmBxtBvC,mBAAU,CACR,KAAK,CnBytBqB,OAAM,CoB7uBpC,WAAY,CACV,OAAO,CAAE,YAAY,CACrB,YAAY,CAAE,CAAC,CACf,MAAM,CAAE,MAAuB,CAC/B,aAAa,CpB4Ha,GAAG,CoB1H7B,cAAK,CACH,OAAO,CAAE,MAAM,CACf,oCACO,CACL,QAAQ,CAAE,QAAQ,CAClB,KAAK,CAAE,IAAI,CACX,OAAO,CAAE,QAA+C,CACxD,WAAW,CpB2ES,GAAG,CoB1EvB,eAAe,CAAE,IAAI,CACrB,KAAK,CpBupBmB,OAAW,CoBtpBnC,gBAAgB,CpB0aiB,IAAc,CoBza/C,MAAM,CAAE,cAA4B,CACpC,WAAW,CAAE,IAAI,CAGjB,4DACO,CACL,WAAW,CAAE,CAAC,CjBsFpB,yBAAyB,CHmBC,GAAG,CGlB1B,sBAAsB,CHkBC,GAAG,CoBpGzB,0DACO,CjBwEX,0BAA0B,CH2BA,GAAG,CG1B1B,uBAAuB,CH0BA,GAAG,CoB3F3B,iGACQ,CACN,KAAK,CpBkY4B,OAAiB,CoBjYlD,gBAAgB,CpB8sBQ,OAAa,CoB7sBrC,YAAY,CpBkYqB,IAAI,CoB5XvC,oKAEQ,CACN,OAAO,CAAE,CAAC,CACV,KAAK,CpB8Y4B,IAAwB,CoB7YzD,gBAAgB,CpBknBQ,OAAW,CoBjnBnC,YAAY,CpBinBY,OAAW,CoBhnBnC,MAAM,CAAE,OAAO,CAKjB,gLAKU,CACR,KAAK,CpB0qBmB,OAAW,CoBzqBnC,gBAAgB,CpBgXiB,IAAI,CoB/WrC,YAAY,CpBgXqB,IAAI,CoB/WrC,MAAM,CAAE,WAAW,CjBserB,0CACO,CACL,OAAO,CAAE,SAAqC,CAC9C,SAAS,CHheW,IAA8B,CGmelD,kEACO,CApcX,yBAAyB,CHoBC,GAAG,CGnB1B,sBAAsB,CHmBC,GAAG,CGqbzB,gEACO,CAldX,0BAA0B,CH4BA,GAAG,CG3B1B,uBAAuB,CH2BA,GAAG,CGya3B,0CACO,CACL,OAAO,CAAE,QAAqC,CAC9C,SAAS,CH/dW,IAA8B,CGkelD,kEACO,CApcX,yBAAyB,CHqBC,GAAG,CGpB1B,sBAAsB,CHoBC,GAAG,CGobzB,gEACO,CAldX,0BAA0B,CH6BA,GAAG,CG5B1B,uBAAuB,CH4BA,GAAG,CqBhI/B,MAAO,CACL,YAAY,CAAE,CAAC,CACf,MAAM,CAAE,MAAuB,CAC/B,UAAU,CAAE,IAAI,CAChB,UAAU,CAAE,MAAM,ClBUlB,0BACQ,CACN,OAAO,CAAE,GAAG,CACZ,OAAO,CAAE,KAAK,CAEhB,YAAQ,CACN,KAAK,CAAE,IAAI,CkBdb,SAAG,CACD,OAAO,CAAE,MAAM,CACf,0BACO,CACL,OAAO,CAAE,YAAY,CACrB,OAAO,CAAE,QAAQ,CACjB,gBAAgB,CrB4aiB,IAAc,CqB3a/C,MAAM,CAAE,cAAuB,CAC/B,aAAa,CrB4aoB,IAAI,CqBzavC,mCACU,CACR,eAAe,CAAE,IAAI,CACrB,gBAAgB,CrBguBQ,OAAa,CqB3tBvC,gCACO,CACL,KAAK,CAAE,KAAK,CAKd,wCACO,CACL,KAAK,CAAE,IAAI,CAKb,0FAGO,CACL,KAAK,CrB8rBmB,OAAW,CqB7rBnC,gBAAgB,CrB4YiB,IAAc,CqB3Y/C,MAAM,CAAE,WAAW,CC9CzB,MAAO,CACL,OAAO,CAAE,MAAM,CACf,OAAO,CAAE,OAAO,CAChB,SAAS,CAAE,GAAG,CACd,WAAW,CAAE,IAAI,CACjB,WAAW,CAAE,CAAC,CACd,KAAK,CtB0gBuB,IAAM,CsBzgBlC,UAAU,CAAE,MAAM,CAClB,WAAW,CAAE,MAAM,CACnB,cAAc,CAAE,QAAQ,CT+UxB,kBAAwC,CS9UjB,GAAG,CT8U1B,qBAAwC,CC9Sb,GAAuB,CD8SlD,aAAwC,CS9UjB,GAAG,CAKxB,qCACQ,CACN,KAAK,CtBggBmB,IAAI,CsB/f5B,eAAe,CAAE,IAAI,CACrB,MAAM,CAAE,OAAO,CAKnB,YAAQ,CACN,OAAO,CAAE,IAAI,CAIf,WAAO,CACL,QAAQ,CAAE,QAAQ,CAClB,GAAG,CAAE,IAAI,CAOb,cAAe,CnB0hBb,gBAAgB,CH0KY,OAAW,CGxKrC,qDACQ,CACN,gBAAgB,CAAE,OAAmB,CmB1hB3C,cAAe,CnBshBb,gBAAgB,CHqGY,OAAW,CGnGrC,qDACQ,CACN,gBAAgB,CAAE,OAAmB,CmBthB3C,cAAe,CnBkhBb,gBAAgB,CHYY,OAAc,CGVxC,qDACQ,CACN,gBAAgB,CAAE,OAAmB,CmBlhB3C,WAAY,CnB8gBV,gBAAgB,CHeY,OAAW,CGbrC,+CACQ,CACN,gBAAgB,CAAE,OAAmB,CmB9gB3C,cAAe,CnB0gBb,gBAAgB,CHiEY,OAAc,CG/DxC,qDACQ,CACN,gBAAgB,CAAE,OAAmB,CmB1gB3C,aAAc,CnBsgBZ,gBAAgB,CH+IY,OAAW,CG7IrC,mDACQ,CACN,gBAAgB,CAAE,OAAmB,CoBlkB3C,MAAO,CACL,OAAO,CAAE,YAAY,CACrB,SAAS,CAAE,IAAI,CACf,OAAO,CAAE,OAAO,CAChB,SAAS,CvBuEe,IAA8B,CuBtEtD,WAAW,CvBiqBiB,IAAI,CuBhqBhC,KAAK,CvBypBuB,OAAc,CuBxpB1C,WAAW,CvBgqBiB,CAAC,CuB/pB7B,cAAc,CAAE,QAAQ,CACxB,WAAW,CAAE,MAAM,CACnB,UAAU,CAAE,MAAM,CAClB,gBAAgB,CvB6tBY,OAAW,CuB5tBvC,WAAW,CAAE,OAAO,CV0UpB,kBAAwC,CbkVZ,IAAI,CalVhC,qBAAwC,CC9Sb,IAAuB,CD8SlD,aAAwC,CbkVZ,IAAI,CuBvpBhC,YAAQ,CACN,OAAO,CAAE,IAAI,CAIf,WAAO,CACL,QAAQ,CAAE,QAAQ,CAGpB,wCAAU,CACR,GAAG,CAAE,CAAC,CACN,OAAO,CAAE,OAAO,CAMlB,2BACQ,CACN,KAAK,CvB4nBqB,IAAI,CuB3nB9B,eAAe,CAAE,IAAI,CACrB,MAAM,CAAE,OAAO,CAKnB,2DACkC,CAChC,KAAK,CvBsnBuB,OAAW,CuBrnBvC,gBAAgB,CvBsnBY,IAAI,CuBpnBlC,sBAA6B,CAC3B,WAAW,CAAE,GAAG,CCjDlB,UAAW,CACT,OAAO,CAAE,KAAK,CACd,OAAO,CxBwoBqB,GAAG,CwBvoB/B,aAAa,CxBmUoB,IAAqB,CwBlUtD,WAAW,CxBiFa,GAAG,CwBhF3B,gBAAgB,CxButBY,OAAa,CwBttBzC,MAAM,CAAE,cAA2B,CACnC,aAAa,CxBsoBe,GAAmB,CGnhB/C,kBAAkB,CAAE,oBAAW,CACvB,UAAU,CAAE,oBAAW,CqBjH/B,+BACQ,CrB8WR,OAAO,CADuB,KAAK,CAEnC,SAAS,CAAE,IAAI,CACf,MAAM,CAAE,IAAI,CqB9WV,WAAW,CAAE,IAAI,CACjB,YAAY,CAAE,IAAI,CAMpB,mBAAS,CACP,OAAO,CxB2nBmB,GAAG,CwB1nB7B,KAAK,CxBktBqB,OAAW,CwB7sBzC,sDAEmB,CACjB,YAAY,CxBqoBgB,OAAW,CyBjqBzC,MAAO,CACL,OAAO,CzB0iBqB,IAAI,CyBziBhC,aAAa,CzBkUoB,IAAqB,CyBjUtD,MAAM,CAAE,qBAAqB,CAC7B,aAAa,CzBwiBe,GAAmB,CyBriB/C,SAAG,CACD,UAAU,CAAE,CAAC,CAEb,KAAK,CAAE,OAAO,CAGhB,kBAAY,CACV,WAAW,CzB+hBe,IAAI,CyB3hBhC,kBACK,CACH,aAAa,CAAE,CAAC,CAElB,UAAQ,CACN,UAAU,CAAE,GAAG,CAQnB,kBAAmB,CAClB,aAAa,CAAE,IAAqB,CAGnC,yBAAO,CACL,QAAQ,CAAE,QAAQ,CAClB,GAAG,CAAE,IAAI,CACT,KAAK,CAAE,KAAK,CACZ,KAAK,CAAE,OAAO,CAQlB,cAAe,CtBmXb,gBAAgB,CHmNY,OAAiB,CGlN7C,YAAY,CHqKgB,OAAc,CGpK1C,KAAK,CHmTuB,OAAY,CGjTxC,iBAAG,CACD,gBAAgB,CAAE,OAAmB,CAEvC,0BAAY,CACV,KAAK,CAAE,OAAwB,CsBxXnC,WAAY,CtBgXV,gBAAgB,CHuNY,OAAc,CGtN1C,YAAY,CHwKgB,OAAW,CGvKvC,KAAK,CHmTuB,OAAY,CGjTxC,cAAG,CACD,gBAAgB,CAAE,OAAmB,CAEvC,uBAAY,CACV,KAAK,CAAE,OAAwB,CsBrXnC,cAAe,CtB6Wb,gBAAgB,CHqJY,OAAiB,CGpJ7C,YAAY,CH0NgB,OAAc,CGzN1C,KAAK,CHmTuB,OAAY,CGjTxC,iBAAG,CACD,gBAAgB,CAAE,OAAmB,CAEvC,0BAAY,CACV,KAAK,CAAE,OAAwB,CsBlXnC,aAAc,CtB0WZ,gBAAgB,CH+NY,OAAgB,CG9N5C,YAAY,CHwSgB,OAAW,CGvSvC,KAAK,CHmTuB,OAAY,CGjTxC,gBAAG,CACD,gBAAgB,CAAE,OAAmB,CAEvC,yBAAY,CACV,KAAK,CAAE,OAAwB,CuBzanC,uCAGC,CAFC,IAAM,CAAE,mBAAmB,CAAE,MAAM,CACnC,EAAM,CAAE,mBAAmB,CAAE,GAAG,EAIlC,+BAGC,CAFC,IAAM,CAAE,mBAAmB,CAAE,MAAM,CACnC,EAAM,CAAE,mBAAmB,CAAE,GAAG,EASlC,SAAU,CACR,QAAQ,CAAE,MAAM,CAChB,MAAM,C1BgT2B,IAAqB,C0B/StD,aAAa,C1B+SoB,IAAqB,C0B9StD,gBAAgB,C1B8iBY,OAAO,C0B7iBnC,aAAa,C1BoGa,GAAG,CGT7B,kBAAkB,CAAE,+BAAO,CACnB,UAAU,CAAE,+BAAO,CuBvF7B,aAAc,CACZ,KAAK,CAAE,IAAI,CACX,KAAK,CAAE,EAAE,CACT,MAAM,CAAE,IAAI,CACZ,SAAS,C1ByCe,IAA8B,C0BxCtD,WAAW,C1BmSsB,IAAqB,C0BlStD,KAAK,C1BmiBuB,IAAI,C0BliBhC,UAAU,CAAE,MAAM,CAClB,gBAAgB,C1B6nBY,OAAW,CG/iBvC,kBAAkB,CAAE,+BAAO,CACnB,UAAU,CAAE,+BAAO,CAK3B,kBAAkB,CAAE,eAAW,CACvB,UAAU,CAAE,eAAW,CuB/EjC,+BAAgC,CvBsS9B,gBAAgB,CAAE,kLAAmI,CACrJ,gBAAgB,CAAE,4KAA2H,CuBrS7I,eAAe,CAAE,SAAS,CAI5B,8BAA+B,CvBqJ7B,iBAAiB,CuBpJE,uCAAuC,CvBqJlD,SAAS,CuBrJE,uCAAuC,CAQ5D,qBAAsB,CvBgjBpB,gBAAgB,CHjCY,OAAc,CGkC1C,uCAAoB,CA1RpB,gBAAgB,CAAE,kLAAmI,CACrJ,gBAAgB,CAAE,4KAA2H,CuBpR/I,kBAAmB,CvB4iBjB,gBAAgB,CH9BY,OAAW,CG+BvC,oCAAoB,CA1RpB,gBAAgB,CAAE,kLAAmI,CACrJ,gBAAgB,CAAE,4KAA2H,CuBhR/I,qBAAsB,CvBwiBpB,gBAAgB,CHoBY,OAAc,CGnB1C,uCAAoB,CA1RpB,gBAAgB,CAAE,kLAAmI,CACrJ,gBAAgB,CAAE,4KAA2H,CuB5Q/I,oBAAqB,CvBoiBnB,gBAAgB,CHkGY,OAAW,CGjGvC,sCAAoB,CA1RpB,gBAAgB,CAAE,kLAAmI,CACrJ,gBAAgB,CAAE,4KAA2H,CwBhV/I,kBACY,CACV,QAAQ,CAAE,MAAM,CAChB,IAAI,CAAE,CAAC,CAIT,oBACc,CACZ,UAAU,CAAE,IAAI,CAElB,kBAAmB,CACjB,UAAU,CAAE,CAAC,CAIf,aAAc,CACZ,OAAO,CAAE,KAAK,CAIhB,cAAe,CACb,MAAM,CAAE,OAAO,CAQf,iBAAa,CACX,YAAY,CAAE,IAAI,CAEpB,kBAAc,CACZ,WAAW,CAAE,IAAI,CASrB,WAAY,CACV,YAAY,CAAE,CAAC,CACf,UAAU,CAAE,IAAI,CC7ClB,WAAY,CAEV,aAAa,CAAE,IAAI,CACnB,YAAY,CAAE,CAAC,CAQjB,gBAAiB,CACf,QAAQ,CAAE,QAAQ,CAClB,OAAO,CAAE,KAAK,CACd,OAAO,CAAE,OAAO,CAChB,gBAAgB,C5BiuBY,OAAa,C4BhuBzC,aAAa,CAAE,iBAA4B,CAC3C,WAAW,C5B+Ca,yDAA6D,C4B5CrF,4BAAc,CzBuEd,uBAAuB,CHwfO,GAAmB,CGvfhD,sBAAsB,CHufO,GAAmB,C4B5jBjD,2BAAa,CACX,aAAa,CAAE,CAAC,CzB2ElB,0BAA0B,CHgfI,GAAmB,CG/ehD,yBAAyB,CH+eI,GAAmB,C4BtjBjD,uBAAS,CACP,KAAK,CAAE,KAAK,CAEd,8BAAkB,CAChB,YAAY,CAAE,GAAG,CAUrB,iBAAkB,CAChB,KAAK,C5B+iByB,IAAI,C4B7iBlC,0CAAyB,CACvB,KAAK,C5B6iBuB,IAAI,C4BziBlC,+CACQ,CACN,eAAe,CAAE,IAAI,CACrB,gBAAgB,C5B+qBU,OAAW,C4B9qBrC,KAAK,C5BkqBqB,OAAa,C4B9pBzC,sFAEe,CACb,OAAO,CAAE,CAAC,CACV,KAAK,C5B6lBqB,OAAc,C4B5lBxC,gBAAgB,C5BgmBU,OAAW,C4B/lBrC,YAAY,C5B+lBc,OAAW,C4B5lBrC,iKAAyB,CACvB,KAAK,CAAE,OAAO,CAEhB,wJAAsB,CACpB,KAAK,C5BihBqB,OAAmC,CG7IjE,wBAA2B,CACzB,KAAK,CHyQqB,OAAY,CGxQtC,gBAAgB,CHsKU,OAAiB,CGjK7C,yBAA4B,CAC1B,KAAK,CHkQqB,OAAY,CGhQtC,kDAAyB,CAAE,KAAK,CAAE,OAAO,CAEzC,+DACQ,CACN,KAAK,CH4PmB,OAAY,CG3PpC,gBAAgB,CAAE,OAAuB,CAE3C,8GAEe,CACb,KAAK,CAAE,IAAI,CACX,gBAAgB,CHqPQ,OAAY,CGpPpC,YAAY,CHoPY,OAAY,CG1QxC,qBAA2B,CACzB,KAAK,CHyQqB,OAAY,CGxQtC,gBAAgB,CH0KU,OAAc,CGrK1C,sBAA4B,CAC1B,KAAK,CHkQqB,OAAY,CGhQtC,+CAAyB,CAAE,KAAK,CAAE,OAAO,CAEzC,yDACQ,CACN,KAAK,CH4PmB,OAAY,CG3PpC,gBAAgB,CAAE,OAAuB,CAE3C,qGAEe,CACb,KAAK,CAAE,IAAI,CACX,gBAAgB,CHqPQ,OAAY,CGpPpC,YAAY,CHoPY,OAAY,CG1QxC,wBAA2B,CACzB,KAAK,CHyQqB,OAAY,CGxQtC,gBAAgB,CHwGU,OAAiB,CGnG7C,yBAA4B,CAC1B,KAAK,CHkQqB,OAAY,CGhQtC,kDAAyB,CAAE,KAAK,CAAE,OAAO,CAEzC,+DACQ,CACN,KAAK,CH4PmB,OAAY,CG3PpC,gBAAgB,CAAE,OAAuB,CAE3C,8GAEe,CACb,KAAK,CAAE,IAAI,CACX,gBAAgB,CHqPQ,OAAY,CGpPpC,YAAY,CHoPY,OAAY,CG1QxC,uBAA2B,CACzB,KAAK,CHyQqB,OAAY,CGxQtC,gBAAgB,CHkLU,OAAgB,CG7K5C,wBAA4B,CAC1B,KAAK,CHkQqB,OAAY,CGhQtC,iDAAyB,CAAE,KAAK,CAAE,OAAO,CAEzC,6DACQ,CACN,KAAK,CH4PmB,OAAY,CG3PpC,gBAAgB,CAAE,OAAuB,CAE3C,2GAEe,CACb,KAAK,CAAE,IAAI,CACX,gBAAgB,CHqPQ,OAAY,CGpPpC,YAAY,CHoPY,OAAY,C4BznB1C,wBAAyB,CACvB,UAAU,CAAE,CAAC,CACb,aAAa,CAAE,GAAG,CAEpB,qBAAsB,CACpB,aAAa,CAAE,CAAC,CAChB,WAAW,CAAE,GAAG,CCtGlB,MAAO,CACL,aAAa,C7BqUoB,IAAqB,C6BpUtD,gBAAgB,C7BomBY,OAAK,C6BnmBjC,MAAM,CAAE,qBAAqB,CAC7B,aAAa,C7BomBe,GAAG,CGpf/B,kBAAkB,CAAE,0BAAO,CACnB,UAAU,CAAE,0BAAO,C0B5G7B,WAAY,CACV,OAAO,C7B6lBqB,IAAI,CG1lBhC,oCACQ,CACN,OAAO,CAAE,GAAG,CACZ,OAAO,CAAE,KAAK,CAEhB,iBAAQ,CACN,KAAK,CAAE,IAAI,C0BJf,cAAe,CACb,OAAO,CAAE,SAAS,CAClB,aAAa,CAAE,qBAAqB,C1B6EpC,uBAAuB,CAAE,GAAO,CAC/B,sBAAsB,CAAE,GAAO,C0B3EhC,yCAA6B,CAC3B,KAAK,CAAE,OAAO,CAKlB,YAAa,CACX,UAAU,CAAE,CAAC,CACb,aAAa,CAAE,CAAC,CAChB,SAAS,CAAE,IAAI,CACf,KAAK,CAAE,OAAO,CAEd,cAAI,CACF,KAAK,CAAE,OAAO,CAKlB,aAAc,CACZ,OAAO,CAAE,SAAS,CAClB,gBAAgB,C7BmkBY,OAA6B,C6BlkBzD,UAAU,CAAE,iBAA6B,C1B6DzC,0BAA0B,CAAE,GAAO,CAClC,yBAAyB,CAAE,GAAO,C0BnDnC,kBAAc,CACZ,aAAa,CAAE,CAAC,CAEhB,mCAAiB,CACf,YAAY,CAAE,KAAK,CACnB,aAAa,CAAE,CAAC,CAKhB,2DAA6B,CAC3B,UAAU,CAAE,CAAC,C1B+BnB,uBAAuB,CAAE,GAAO,CAC/B,sBAAsB,CAAE,GAAO,C0B1B5B,yDAA4B,CAC1B,aAAa,CAAE,CAAC,C1BgCtB,0BAA0B,CAAE,GAAO,CAClC,yBAAyB,CAAE,GAAO,C0BzBnC,uDAA6B,CAC3B,gBAAgB,CAAE,CAAC,CAWrB,6CAC6B,CAC3B,aAAa,CAAE,CAAC,CAGlB,iFACqD,C1BFrD,uBAAuB,CAAE,GAAO,CAC/B,sBAAsB,CAAE,GAAO,C0BO1B,usBACe,CACb,sBAAsB,CAAE,GAA0B,CAEpD,+rBACc,CACZ,uBAAuB,CAAE,GAA0B,CAM3D,8EACmD,C1BbnD,0BAA0B,CAAE,GAAO,CAClC,yBAAyB,CAAE,GAAO,C0BkB7B,2qBACe,CACb,yBAAyB,CAAE,GAA0B,CAEvD,mqBACc,CACZ,0BAA0B,CAAE,GAA0B,CAK9D,8DACkC,CAChC,UAAU,CAAE,iBAA6B,CAE3C,mGACiD,CAC/C,UAAU,CAAE,CAAC,CAEf,+DACsC,CACpC,MAAM,CAAE,CAAC,CAKL,+pBACiB,CACf,WAAW,CAAE,CAAC,CAEhB,mpBACgB,CACd,YAAY,CAAE,CAAC,CAOjB,+bACK,CACH,aAAa,CAAE,CAAC,CAOlB,ubACK,CACH,aAAa,CAAE,CAAC,CAKxB,wBAAoB,CAClB,MAAM,CAAE,CAAC,CACT,aAAa,CAAE,CAAC,CAUpB,YAAa,CACX,aAAa,C7ByIoB,IAAqB,C6BtItD,mBAAO,CACL,aAAa,CAAE,CAAC,CAChB,aAAa,C7Bsaa,GAAG,C6Bra7B,QAAQ,CAAE,MAAM,CAChB,0BAAS,CACP,UAAU,CAAE,GAAG,CAInB,2BAAe,CACb,aAAa,CAAE,CAAC,CAChB,uDAA8B,CAC5B,UAAU,CAAE,iBAA6B,CAG7C,0BAAc,CACZ,UAAU,CAAE,CAAC,CACb,sDAA8B,CAC5B,aAAa,CAAE,iBAA6B,CAOlD,cAAe,C1BsLb,YAAY,CH6UgB,OAAa,CG3UzC,6BAAmB,CACjB,KAAK,CHsVqB,OAAW,CGrVrC,gBAAgB,CH4NU,OAA6B,CG3NvD,YAAY,CHwUc,OAAa,CGtUvC,yDAA8B,CAC5B,gBAAgB,CHqUQ,OAAa,CGjUvC,wDAA8B,CAC5B,mBAAmB,CHgUK,OAAa,C6BhgB3C,cAAe,C1BmLb,YAAY,CH6UgB,OAAa,CG3UzC,6BAAmB,CACjB,KAAK,CH0UqB,OAAa,CGzUvC,gBAAgB,CHgRU,OAAW,CG/QrC,YAAY,CHwUc,OAAa,CGtUvC,yDAA8B,CAC5B,gBAAgB,CHqUQ,OAAa,CGjUvC,wDAA8B,CAC5B,mBAAmB,CHgUK,OAAa,C6B7f3C,cAAe,C1BgLb,YAAY,CH6UgB,OAAa,CG3UzC,6BAAmB,CACjB,KAAK,CHuUqB,OAAY,CGtUtC,gBAAgB,CHoOU,OAAiB,CGnO3C,YAAY,CHwUc,OAAa,CGtUvC,yDAA8B,CAC5B,gBAAgB,CHqUQ,OAAa,CGjUvC,wDAA8B,CAC5B,mBAAmB,CHgUK,OAAa,C6B1f3C,WAAY,C1B6KV,YAAY,CH6UgB,OAAa,CG3UzC,0BAAmB,CACjB,KAAK,CHuUqB,OAAY,CGtUtC,gBAAgB,CHwOU,OAAc,CGvOxC,YAAY,CHwUc,OAAa,CGtUvC,sDAA8B,CAC5B,gBAAgB,CHqUQ,OAAa,CGjUvC,qDAA8B,CAC5B,mBAAmB,CHgUK,OAAa,C6Bvf3C,cAAe,C1B0Kb,YAAY,CH6UgB,OAAa,CG3UzC,6BAAmB,CACjB,KAAK,CH0UqB,OAAa,CGzUvC,gBAAgB,CH4OU,OAAc,CG3OxC,YAAY,CHwUc,OAAa,CGtUvC,yDAA8B,CAC5B,gBAAgB,CHqUQ,OAAa,CGjUvC,wDAA8B,CAC5B,mBAAmB,CHgUK,OAAa,C6Bpf3C,aAAc,C1BuKZ,YAAY,CH6UgB,OAAa,CG3UzC,4BAAmB,CACjB,KAAK,CHuUqB,OAAY,CGtUtC,gBAAgB,CHgPU,OAAgB,CG/O1C,YAAY,CHwUc,OAAa,CGtUvC,wDAA8B,CAC5B,gBAAgB,CHqUQ,OAAa,CGjUvC,uDAA8B,CAC5B,mBAAmB,CHgUK,OAAa,C8B5tB3C,KAAM,CACJ,UAAU,CAAE,IAAI,CAChB,OAAO,CAAE,IAAI,CACb,aAAa,CAAE,IAAI,CACnB,gBAAgB,C9BouBY,OAAW,C8BnuBvC,MAAM,CAAE,iBAAsB,CjBiV9B,kBAAwC,CiBhVjB,GAAG,CjBgV1B,qBAAwC,CC9Sb,GAAuB,CD8SlD,aAAwC,CiBhVjB,GAAG,CAC1B,KAAK,C9BktBuB,OAAY,C8BjtBxC,WAAW,C9B2Da,yDAA6D,C8B1DrF,gBAAW,CACT,YAAY,CAAE,IAAI,CAClB,YAAY,CAAE,gBAAe,CAG/B,OAAE,CACA,KAAK,C9BoUkC,OAAc,C8B/TzD,QAAS,CACP,OAAO,CAAE,IAAI,CACb,aAAa,C9BwGa,GAAG,C8BtG/B,QAAS,CACP,OAAO,CAAE,GAAG,CACZ,aAAa,C9BqGa,GAAG,C+BhI/B,MAAO,CACL,KAAK,CAAE,KAAK,CACZ,SAAS,CAAE,IAAuB,CAClC,WAAW,C/B0sBiB,IAAI,C+BzsBhC,WAAW,CAAE,CAAC,CACd,KAAK,C/BysBuB,OAAW,C+BvsBvC,yBACQ,CACN,KAAK,C/BqsBqB,OAAW,C+BpsBrC,eAAe,CAAE,IAAI,CACrB,MAAM,CAAE,OAAO,C5B8QjB,OAAO,C4B7QY,EAAE,C5BgRrB,MAAM,CAAE,iBAA6B,C4BvQvC,YAAa,CACX,OAAO,CAAE,CAAC,CACV,MAAM,CAAE,OAAO,CACf,UAAU,CAAE,WAAW,CACvB,MAAM,CAAE,CAAC,CACT,kBAAkB,CAAE,IAAI,CCrB1B,WAAY,CACV,QAAQ,CAAE,MAAM,CAIlB,MAAO,CACL,OAAO,CAAE,IAAI,CACb,QAAQ,CAAE,IAAI,CACd,UAAU,CAAE,IAAI,CAChB,QAAQ,CAAE,KAAK,CACf,GAAG,CAAE,CAAC,CACN,KAAK,CAAE,CAAC,CACR,MAAM,CAAE,CAAC,CACT,IAAI,CAAE,CAAC,CACP,OAAO,ChCsOqB,IAAI,CgCrOhC,0BAA0B,CAAE,KAAK,CAIjC,OAAO,CAAE,CAAC,CAGV,yBAAqB,C7BkIrB,iBAAiB,CAAE,kBAAiB,CAChC,aAAa,CAAE,kBAAiB,CAC5B,SAAS,CAAE,kBAAiB,CApBpC,kBAAkB,CAAE,8DAA6B,CAC9C,eAAe,CAAE,2DAA0B,CACzC,aAAa,CAAE,yDAAwB,CACpC,UAAU,CAAE,sDAAqB,C6B7GzC,uBAAmB,C7B4HnB,iBAAiB,CAAE,eAAiB,CAChC,aAAa,CAAE,eAAiB,CAC5B,SAAS,CAAE,eAAiB,C6BxHtC,aAAc,CACZ,QAAQ,CAAE,QAAQ,CAClB,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,IAAI,CACZ,OAAO,ChC8MqB,IAAI,CgC1MlC,cAAe,CACb,QAAQ,CAAE,QAAQ,CAClB,gBAAgB,ChCsjBY,OAAK,CgCrjBjC,MAAM,CAAE,cAA8C,CACtD,MAAM,CAAE,yBAAqC,C7BkE7C,kBAAkB,CAAE,yBAAO,CACnB,UAAU,CAAE,yBAAO,C6BhE3B,eAAe,CAAE,WAAW,CAE5B,OAAO,CAAE,IAAI,CAIf,eAAgB,CACd,QAAQ,CAAE,KAAK,CACf,GAAG,CAAE,CAAC,CACN,KAAK,CAAE,CAAC,CACR,MAAM,CAAE,CAAC,CACT,IAAI,CAAE,CAAC,CACP,OAAO,ChCsLqB,IAAI,CgCrLhC,gBAAgB,ChC6dY,IAAI,CgC3dhC,oBAAO,C7BoNP,OAAO,C6BpNmB,CAAC,C7BuN3B,MAAM,CAAE,gBAA6B,C6BtNrC,kBAAK,C7BmNL,OAAO,CHwQqB,EAAE,CGrQ9B,MAAM,CAAE,iBAA6B,C6BjNvC,aAAc,CACZ,OAAO,ChC6cqB,IAAI,CgC3chC,aAAa,CAAE,iBAAuC,CACtD,UAAU,CAAE,MAAiD,CAC7D,gBAAgB,CAAE,OAA6B,CAI/C,qEAAsB,CACpB,OAAO,CAAE,KAAK,CACd,SAAS,CAAE,IAAI,CACf,UAAU,CAAE,IAAI,CAKpB,YAAa,CACX,MAAM,CAAE,CAAC,CACT,WAAW,ChC4biB,GAAiB,CgCvb/C,WAAY,CACV,QAAQ,CAAE,QAAQ,CAClB,OAAO,ChCkbqB,IAAI,CgCjbhC,KAAK,ChC8oBuB,OAAa,CgC1oB3C,aAAc,CACZ,OAAO,CAAE,cAAoE,CAC7E,UAAU,CAAE,KAAK,CACjB,UAAU,CAAE,iBAAuC,CACnD,gBAAgB,CAAE,OAA6B,C7BhG/C,wCACQ,CACN,OAAO,CAAE,GAAG,CACZ,OAAO,CAAE,KAAK,CAEhB,mBAAQ,CACN,KAAK,CAAE,IAAI,C6B8Fb,uBAAY,CACV,WAAW,CAAE,GAAG,CAChB,aAAa,CAAE,CAAC,CAGlB,kCAAuB,CACrB,WAAW,CAAE,IAAI,CAGnB,mCAAwB,CACtB,WAAW,CAAE,CAAC,CAKlB,yBAAmC,CAEjC,aAAc,CACZ,KAAK,ChCkaqB,KAAK,CgCja/B,MAAM,CAAE,SAAS,CAEnB,cAAe,C7BlBf,kBAAkB,CAAE,0BAAO,CACnB,UAAU,CAAE,0BAAO,C6BsB3B,SAAU,CAAE,KAAK,ChC2ZW,KAAK,EgCxZnC,0BAAmC,CACjC,SAAU,CAAE,KAAK,ChCqZW,MAAM,EiCpiBpC,QAAS,CACP,QAAQ,CAAE,QAAQ,CAClB,OAAO,CjCkPqB,IAAI,CiCjPhC,OAAO,CAAE,KAAK,CACd,UAAU,CAAE,OAAO,CACnB,SAAS,CjCsEe,IAA8B,CiCrEtD,WAAW,CAAE,GAAG,C9BkRhB,OAAO,C8BjRU,CAAC,C9BoRlB,MAAM,CAAE,gBAA6B,C8BlRrC,WAAS,C9B+QT,OAAO,CHkNqB,EAAG,CG/M/B,MAAM,CAAE,iBAA6B,C8BjRrC,YAAS,CAAE,UAAU,CAAG,IAAI,CAAE,OAAO,CAAE,KAAsB,CAC7D,cAAS,CAAE,WAAW,CAAG,GAAG,CAAE,OAAO,CAAE,KAAsB,CAC7D,eAAS,CAAE,UAAU,CAAI,GAAG,CAAE,OAAO,CAAE,KAAsB,CAC7D,aAAS,CAAE,WAAW,CAAE,IAAI,CAAE,OAAO,CAAE,KAAsB,CAI/D,cAAe,CACb,SAAS,CjCqdmB,KAAK,CiCpdjC,OAAO,CAAE,OAAO,CAChB,KAAK,CjCoduB,IAAI,CiCndhC,UAAU,CAAE,MAAM,CAClB,eAAe,CAAE,IAAI,CACrB,gBAAgB,CjCsdY,IAAW,CiCrdvC,aAAa,CjCqGa,GAAG,CiCjG/B,cAAe,CACb,QAAQ,CAAE,QAAQ,CAClB,KAAK,CAAE,CAAC,CACR,MAAM,CAAE,CAAC,CACT,YAAY,CAAE,WAAW,CACzB,YAAY,CAAE,KAAK,CAGnB,2BAAqB,CACnB,MAAM,CAAE,CAAC,CACT,IAAI,CAAE,GAAG,CACT,WAAW,CAAE,IAAqB,CAClC,YAAY,CAAE,SAA2C,CACzD,gBAAgB,CjCocU,IAAW,CiClcvC,gCAA0B,CACxB,MAAM,CAAE,CAAC,CACT,IAAI,CjC+bsB,GAAG,CiC9b7B,YAAY,CAAE,SAA2C,CACzD,gBAAgB,CjC8bU,IAAW,CiC5bvC,iCAA2B,CACzB,MAAM,CAAE,CAAC,CACT,KAAK,CjCybqB,GAAG,CiCxb7B,YAAY,CAAE,SAA2C,CACzD,gBAAgB,CjCwbU,IAAW,CiCtbvC,6BAAuB,CACrB,GAAG,CAAE,GAAG,CACR,IAAI,CAAE,CAAC,CACP,UAAU,CAAE,IAAqB,CACjC,YAAY,CAAE,aAAgE,CAC9E,kBAAkB,CjCibQ,IAAW,CiC/avC,4BAAsB,CACpB,GAAG,CAAE,GAAG,CACR,KAAK,CAAE,CAAC,CACR,UAAU,CAAE,IAAqB,CACjC,YAAY,CAAE,aAAgE,CAC9E,iBAAiB,CjC0aS,IAAW,CiCxavC,8BAAwB,CACtB,GAAG,CAAE,CAAC,CACN,IAAI,CAAE,GAAG,CACT,WAAW,CAAE,IAAqB,CAClC,YAAY,CAAE,SAA2C,CACzD,mBAAmB,CjCmaO,IAAW,CiCjavC,mCAA6B,CAC3B,GAAG,CAAE,CAAC,CACN,IAAI,CjC8ZsB,GAAG,CiC7Z7B,YAAY,CAAE,SAA2C,CACzD,mBAAmB,CjC6ZO,IAAW,CiC3ZvC,oCAA8B,CAC5B,GAAG,CAAE,CAAC,CACN,KAAK,CjCwZqB,GAAG,CiCvZ7B,YAAY,CAAE,SAA2C,CACzD,mBAAmB,CjCuZO,IAAW,CkC9ezC,QAAS,CACP,QAAQ,CAAE,QAAQ,CAClB,GAAG,CAAE,CAAC,CACN,IAAI,CAAE,CAAC,CACP,OAAO,ClCkPqB,IAAI,CkCjPhC,OAAO,CAAE,IAAI,CACb,SAAS,ClCgf2B,KAAK,CkC/ezC,OAAO,CAAE,GAAG,CACZ,UAAU,CAAE,IAAI,CAChB,gBAAgB,ClC8lBY,OAAK,CkC7lBjC,eAAe,CAAE,WAAW,CAC5B,MAAM,CAAE,cAAwC,CAChD,MAAM,CAAE,yBAA+B,CACvC,aAAa,ClCkHa,GAAG,CGV7B,kBAAkB,CAAE,0BAAO,CACnB,UAAU,CAAE,0BAAO,C+BrG3B,WAAW,CAAE,MAAM,CAGnB,YAAU,CAAE,UAAU,CAAE,IAAqB,CAC7C,cAAU,CAAE,WAAW,ClCuea,GAAG,CkCtevC,eAAU,CAAE,UAAU,ClCsec,GAAG,CkCrevC,aAAU,CAAE,WAAW,CAAE,IAAqB,CAGhD,cAAe,CACb,MAAM,CAAE,CAAC,CACT,OAAO,CAAE,QAAQ,CACjB,SAAS,ClC6Ce,IAAI,CkC5C5B,WAAW,CAAE,MAAM,CACnB,WAAW,CAAE,IAAI,CACjB,gBAAgB,ClC0doB,OAAuB,CkCzd3D,aAAa,CAAE,iBAAuC,CACtD,aAAa,CAAE,WAAW,CAC1B,KAAK,ClCssBuB,OAAW,CkCnsBzC,gBAAiB,CACf,OAAO,CAAE,QAAQ,CACjB,oBAAG,CACD,aAAa,CAAE,GAAG,CASpB,qCACQ,CACN,QAAQ,CAAE,QAAQ,CAClB,OAAO,CAAE,KAAK,CACd,KAAK,CAAE,CAAC,CACR,MAAM,CAAE,CAAC,CACT,YAAY,CAAE,WAAW,CACzB,YAAY,CAAE,KAAK,CAGvB,eAAkB,CAChB,YAAY,ClCkcyB,GAAwB,CkChc/D,qBAAwB,CACtB,YAAY,ClC4bwB,GAAG,CkC3bvC,OAAO,CAAE,EAAE,CAIX,mBAAe,CACb,IAAI,CAAE,GAAG,CACT,WAAW,CAAE,IAA2B,CACxC,mBAAmB,CAAE,CAAC,CACtB,gBAAgB,ClCwbkB,IAAI,CkCvbtC,gBAAgB,ClCsbkB,gBAAe,CkCrbjD,MAAM,CAAE,IAA2B,CACnC,yBAAQ,CACN,OAAO,CAAE,GAAG,CACZ,MAAM,CAAE,GAAG,CACX,WAAW,CAAE,IAAqB,CAClC,mBAAmB,CAAE,CAAC,CACtB,gBAAgB,ClCwpBQ,OAAW,CkCrpBvC,qBAAiB,CACf,GAAG,CAAE,GAAG,CACR,IAAI,CAAE,IAA2B,CACjC,UAAU,CAAE,IAA2B,CACvC,iBAAiB,CAAE,CAAC,CACpB,kBAAkB,ClCwagB,IAAI,CkCvatC,kBAAkB,ClCsagB,gBAAe,CkCrajD,2BAAQ,CACN,OAAO,CAAE,GAAG,CACZ,IAAI,CAAE,GAAG,CACT,MAAM,CAAE,IAAqB,CAC7B,iBAAiB,CAAE,CAAC,CACpB,kBAAkB,ClCyoBM,OAAW,CkCtoBvC,sBAAkB,CAChB,IAAI,CAAE,GAAG,CACT,WAAW,CAAE,IAA2B,CACxC,gBAAgB,CAAE,CAAC,CACnB,mBAAmB,ClC0Ze,IAAI,CkCzZtC,mBAAmB,ClCwZe,gBAAe,CkCvZjD,GAAG,CAAE,IAA2B,CAChC,4BAAQ,CACN,OAAO,CAAE,GAAG,CACZ,GAAG,CAAE,GAAG,CACR,WAAW,CAAE,IAAqB,CAClC,gBAAgB,CAAE,CAAC,CACnB,mBAAmB,ClC0nBK,OAAW,CkCtnBvC,oBAAgB,CACd,GAAG,CAAE,GAAG,CACR,KAAK,CAAE,IAA2B,CAClC,UAAU,CAAE,IAA2B,CACvC,kBAAkB,CAAE,CAAC,CACrB,iBAAiB,ClCyYiB,IAAI,CkCxYtC,iBAAiB,ClCuYiB,gBAAe,CkCtYjD,0BAAQ,CACN,OAAO,CAAE,GAAG,CACZ,KAAK,CAAE,GAAG,CACV,kBAAkB,CAAE,CAAC,CACrB,iBAAiB,ClC2mBO,OAAW,CkC1mBnC,MAAM,CAAE,IAAqB,C/BjHjC,gCACQ,CACN,OAAO,CAAE,GAAG,CACZ,OAAO,CAAE,KAAK,CAEhB,eAAQ,CACN,KAAK,CAAE,IAAI,CgCdf,aAAc,ChC8BZ,OAAO,CAAE,KAAK,CACd,WAAW,CAAE,IAAI,CACjB,YAAY,CAAE,IAAI,CgC7BpB,WAAY,CACV,KAAK,CAAE,gBAAgB,CAEzB,UAAW,CACT,KAAK,CAAE,eAAe,CAQxB,KAAM,CACJ,OAAO,CAAE,eAAe,CAE1B,KAAM,CACJ,OAAO,CAAE,gBAAgB,CAE3B,UAAW,CACT,UAAU,CAAE,MAAM,CAEpB,UAAW,ChC+CT,IAAI,CAAE,KAAQ,CACd,KAAK,CAAE,WAAW,CAClB,WAAW,CAAE,IAAI,CACjB,gBAAgB,CAAE,WAAW,CAC7B,MAAM,CAAE,CAAC,CgC1CX,OAAQ,CACN,OAAO,CAAE,eAAe,CACxB,UAAU,CAAE,iBAAiB,CAO/B,MAAO,CACL,QAAQ,CAAE,KAAK,CCnCjB,aAEC,CADC,KAAK,CAAE,YAAY,CjCmnBnB,+CAAW,CACT,OAAO,CAAE,eAAe,CiC5mB5B,yBAAmC,CjCgmBjC,WAAW,CACT,OAAO,CAAE,gBAAgB,CAE3B,gBAAiB,CAAE,OAAO,CAAE,KAAK,CACjC,aAAiB,CAAE,OAAO,CAAE,oBAAoB,CAChD,2BACiB,CAAE,OAAO,CAAE,qBAAqB,EiClmBnD,iDAAmE,CjC4lBjE,WAAW,CACT,OAAO,CAAE,gBAAgB,CAE3B,gBAAiB,CAAE,OAAO,CAAE,KAAK,CACjC,aAAiB,CAAE,OAAO,CAAE,oBAAoB,CAChD,2BACiB,CAAE,OAAO,CAAE,qBAAqB,EiC9lBnD,kDAAmE,CjCwlBjE,WAAW,CACT,OAAO,CAAE,gBAAgB,CAE3B,gBAAiB,CAAE,OAAO,CAAE,KAAK,CACjC,aAAiB,CAAE,OAAO,CAAE,oBAAoB,CAChD,2BACiB,CAAE,OAAO,CAAE,qBAAqB,EiC1lBnD,0BAAmC,CjColBjC,WAAW,CACT,OAAO,CAAE,gBAAgB,CAE3B,gBAAiB,CAAE,OAAO,CAAE,KAAK,CACjC,aAAiB,CAAE,OAAO,CAAE,oBAAoB,CAChD,2BACiB,CAAE,OAAO,CAAE,qBAAqB,EiCtlBnD,yBAAmC,CjC2lBjC,UAAW,CACT,OAAO,CAAE,eAAe,EiCxlB5B,iDAAmE,CjCulBjE,UAAW,CACT,OAAO,CAAE,eAAe,EiCplB5B,kDAAmE,CjCmlBjE,UAAW,CACT,OAAO,CAAE,eAAe,EiChlB5B,0BAAmC,CjC+kBjC,UAAW,CACT,OAAO,CAAE,eAAe,EAD1B,cAAW,CACT,OAAO,CAAE,eAAe,CiCrkB5B,YAAa,CjCyjBX,cAAW,CACT,OAAO,CAAE,gBAAgB,CAE3B,mBAAiB,CAAE,OAAO,CAAE,KAAK,CACjC,gBAAiB,CAAE,OAAO,CAAE,oBAAoB,CAChD,iCACiB,CAAE,OAAO,CAAE,qBAAqB,EiC3jBnD,YAAa,CjCgkBX,aAAW,CACT,OAAO,CAAE,eAAe,EkCxoB5B;;;GAGG,ACAH,yDAIK,CACH,uBAAuB,CAAE,SAAS,CAClC,sBAAsB,CAAE,WAAW,CACnC,OAAO,CAAE,YAAY,CACrB,UAAU,CAAE,MAAM,CAClB,YAAY,CAAE,MAAM,CACpB,cAAc,CAAE,IAAI,CACpB,WAAW,CAAE,CAAC,CCVhB,MAAsB,CACpB,SAAS,CAAE,SAAS,CACpB,WAAW,CAAE,KAAS,CACtB,cAAc,CAAE,QAAQ,CAG1B,MAAsB,CACpB,SAAS,CAAE,KAAK,CAGlB,MAAsB,CACpB,SAAS,CAAE,MAAM,CAIjB,MAA0B,CACxB,SAAS,CAAE,GAAQ,CADrB,MAA0B,CACxB,SAAS,CAAE,GAAQ,CADrB,MAA0B,CACxB,SAAS,CAAE,GAAQ,CADrB,MAA0B,CACxB,SAAS,CAAE,GAAQ,CADrB,MAA0B,CACxB,SAAS,CAAE,GAAQ,CADrB,MAA0B,CACxB,SAAS,CAAE,GAAQ,CADrB,MAA0B,CACxB,SAAS,CAAE,GAAQ,CADrB,MAA0B,CACxB,SAAS,CAAE,GAAQ,CADrB,MAA0B,CACxB,SAAS,CAAE,GAAQ,CADrB,OAA0B,CACxB,SAAS,CAAE,IAAQ,CClBvB,kOAAsB,CACpB,UAAU,CAAE,MAAM,CAClB,KAAK,CAAE,MAAW,CCDpB,MAAsB,CACpB,eAAe,CAAE,IAAI,CACrB,WAAW,CAAE,KAAkB,CAC/B,YAAY,CAAE,CAAC,CAEf,SAAK,CAAE,QAAQ,CAAE,QAAQ,CAG3B,wCAAsB,CACpB,IAAI,CAAE,IAAa,CACnB,QAAQ,CAAE,QAAQ,CAClB,UAAU,CAAE,MAAM,CAClB,KAAK,CCNuB,GAAG,CDO/B,WAAW,CAAE,OAAO,CEbtB,UAA0B,CACxB,MAAM,CAAE,iBAA4B,CACpC,aAAa,CAAE,IAAI,CACnB,OAAO,CAAE,gBAAgB,CAG3B,aAA6B,CAAE,KAAK,CAAE,IAAI,CAC1C,cAA8B,CAAE,KAAK,CAAE,KAAK,CAO1C,uIAA8B,CAAE,YAAY,CAAE,IAAI,CAClD,6IAA+B,CAAE,WAAW,CAAE,IAAI,CCfpD,QAAwB,CACtB,SAAS,CAAE,0BAA0B,CAGvC,SAAyB,CACvB,SAAS,CAAE,4BAA4B,CAGzC,kBAQC,CAPC,EAAG,CACD,SAAS,CAAE,YAAY,CAGzB,IAAK,CACH,SAAS,CAAE,cAAc,ECd7B,aAA8B,CCY5B,UAAU,CAAE,0DAAqE,CACjF,SAAS,CAAE,aAAgB,CDZ7B,uGAA8B,CCW5B,UAAU,CAAE,0DAAqE,CACjF,SAAS,CAAE,cAAgB,CDX7B,cAA8B,CCU5B,UAAU,CAAE,0DAAqE,CACjF,SAAS,CAAE,cAAgB,CDT7B,mBAAmC,CCajC,UAAU,CAAE,oEAA+E,CAC3F,SAAS,CAAE,YAAoB,CDbjC,iBAAmC,CCYjC,UAAU,CAAE,oEAA+E,CAC3F,SAAS,CAAE,YAAoB,CDZjC,oCAAmE,CCWjE,UAAU,CAAE,oEAA+E,CAC3F,SAAS,CAAE,aAAoB,CDN/B,8MAIiC,CAC/B,MAAM,CAAE,IAAI,CEjBhB,SAAyB,CACvB,OAAO,CAAE,YAAY,CACrB,MAAM,CAAE,GAAG,CACX,WAAW,CAAE,GAAG,CAChB,QAAQ,CAAE,QAAQ,CAClB,cAAc,CAAE,MAAM,CACtB,KAAK,CAAE,GAAG,CAGZ,yBAC4B,CAC1B,IAAI,CAAE,CAAC,CACP,QAAQ,CAAE,QAAQ,CAClB,UAAU,CAAE,MAAM,CAClB,KAAK,CAAE,IAAI,CAGb,YAA4B,CAC1B,WAAW,CAAE,OAAO,CAGtB,YAA4B,CAC1B,SAAS,CAAE,GAAG,CAGhB,WAA2B,CACzB,KAAK,CLrBuB,IAAI,CMLlC,gBAAgC,CAAE,OAAO,CAAE,OAAyB,CACpE,0BAA0C,CAAE,OAAO,CAAE,OAAmC,CACxF,mBAAmC,CAAE,OAAO,CAAE,OAA4B,CAC1E,uBAAuC,CAAE,OAAO,CAAE,OAAgC,CAClF,uBAAuC,CAAE,OAAO,CAAE,OAAgC,CAClF,iBAAiC,CAAE,OAAO,CAAE,OAA0B,CACtE,cAA8B,CAAE,OAAO,CAAE,OAAuB,CAChE,mBAAmC,CAAE,OAAO,CAAE,OAA4B,CAC1E,yBAAyC,CAAE,OAAO,CAAE,OAAkC,CACtF,wBAAwC,CAAE,OAAO,CAAE,OAAiC,CACpF,kBAAkC,CAAE,OAAO,CAAE,OAA2B,CACxE,uBAAuC,CAAE,OAAO,CAAE,OAAgC,CAClF,wBAAwC,CAAE,OAAO,CAAE,OAAiC,CACpF,qBAAqC,CAAE,OAAO,CAAE,OAA8B,CAC9E,sBAAsC,CAAE,OAAO,CAAE,OAA+B,CAChF,oBAAoC,CAAE,OAAO,CAAE,OAA6B,CAC5E,iBAAiC,CAAE,OAAO,CAAE,OAA0B,CACtE,qBAAqC,CAAE,OAAO,CAAE,OAA8B,CAC9E,oBAAoC,CAAE,OAAO,CAAE,OAA6B,CAC5E,8CAA8D,CAAE,OAAO,CAAE,OAAuD,CAChI,iBAAiC,CAAE,OAAO,CAAE,OAA0B,CACtE,iBAAiC,CAAE,OAAO,CAAE,OAA0B,CACtE,kBAAkC,CAAE,OAAO,CAAE,OAA2B,CACxE,oBAAoC,CAAE,OAAO,CAAE,OAA6B,CAC5E,4BAA4C,CAAE,OAAO,CAAE,OAAqC,CAC5F,4BAA4C,CAAE,OAAO,CAAE,OAAqC,CAC5F,6BAA6C,CAAE,OAAO,CAAE,OAAsC,CAC9F,0BAA0C,CAAE,OAAO,CAAE,OAAmC,CACxF,qBAAqC,CAAE,OAAO,CAAE,OAA8B,CAC9E,qBAAqC,CAAE,OAAO,CAAE,OAA8B,CAC9E,+DAAsC,CAAE,OAAO,CAAE,OAA+B,CAChF,mBAAmC,CAAE,OAAO,CAAE,OAA4B,CAC1E,gBAAgC,CAAE,OAAO,CAAE,OAAyB,CACpE,wBAAwC,CAAE,OAAO,CAAE,OAAiC,CACpF,kBAAkC,CAAE,OAAO,CAAE,OAA2B,CACxE,oBAAoC,CAAE,OAAO,CAAE,OAA6B,CAC5E,wBAAwC,CAAE,OAAO,CAAE,OAAiC,CACpF,gBAAgC,CAAE,OAAO,CAAE,OAAyB,CACpE,gBAAgC,CAAE,OAAO,CAAE,OAAyB,CACpE,oBAAoC,CAAE,OAAO,CAAE,OAA6B,CAC5E,oBAAoC,CAAE,OAAO,CAAE,OAA6B,CAC5E,kBAAkC,CAAE,OAAO,CAAE,OAA2B,CACxE,kBAAkC,CAAE,OAAO,CAAE,OAA2B,CACxE,gCAAgD,CAAE,OAAO,CAAE,OAAyC,CACpG,gCAAgD,CAAE,OAAO,CAAE,OAAyC,CACpG,iCAAiD,CAAE,OAAO,CAAE,OAA0C,CACtG,8BAA8C,CAAE,OAAO,CAAE,OAAuC,CAChG,4BAA4C,CAAE,OAAO,CAAE,OAAqC,CAC5F,4BAA4C,CAAE,OAAO,CAAE,OAAqC,CAC5F,6BAA6C,CAAE,OAAO,CAAE,OAAsC,CAC9F,0BAA0C,CAAE,OAAO,CAAE,OAAmC,CACxF,qBAAqC,CAAE,OAAO,CAAE,OAA8B,CAC9E,qBAAqC,CAAE,OAAO,CAAE,OAA8B,CAC9E,sBAAsC,CAAE,OAAO,CAAE,OAA+B,CAChF,mBAAmC,CAAE,OAAO,CAAE,OAA4B,CAC1E,qBAAqC,CAAE,OAAO,CAAE,OAA8B,CAC9E,uBAAuC,CAAE,OAAO,CAAE,OAAgC,CAClF,uBAAuC,CAAE,OAAO,CAAE,OAAgC,CAClF,sCAAsD,CAAE,OAAO,CAAE,OAA+C,CAChH,mBAAmC,CAAE,OAAO,CAAE,OAA4B,CAC1E,qBAAqC,CAAE,OAAO,CAAE,OAA8B,CAC9E,aAA6B,CAAE,OAAO,CAAE,OAAsB,CAC9D,gBAAgC,CAAE,OAAO,CAAE,OAAyB,CACpE,eAA+B,CAAE,OAAO,CAAE,OAAwB,CAClE,kBAAkC,CAAE,OAAO,CAAE,OAA2B,CACxE,4BAA4C,CAAE,OAAO,CAAE,OAAqC,CAC5F,uBAAuC,CAAE,OAAO,CAAE,OAAgC,CAClF,kBAAkC,CAAE,OAAO,CAAE,OAA2B,CACxE,iBAAiC,CAAE,OAAO,CAAE,OAA0B,CACtE,gBAAgC,CAAE,OAAO,CAAE,OAAyB,CACpE,cAA8B,CAAE,OAAO,CAAE,OAAuB,CAChE,oBAAoC,CAAE,OAAO,CAAE,OAA6B,CAC5E,mBAAmC,CAAE,OAAO,CAAE,OAA4B,CAC1E,wBAAwC,CAAE,OAAO,CAAE,OAAiC,CACpF,cAA8B,CAAE,OAAO,CAAE,OAAuB,CAChE,mBAAmC,CAAE,OAAO,CAAE,OAA4B,CAC1E,mBAAmC,CAAE,OAAO,CAAE,OAA4B,CAC1E,kBAAkC,CAAE,OAAO,CAAE,OAA2B,CACxE,eAA+B,CAAE,OAAO,CAAE,OAAwB,CAClE,wBAAwC,CAAE,OAAO,CAAE,OAAiC,CACpF,0BAA0C,CAAE,OAAO,CAAE,OAAmC,CACxF,eAA+B,CAAE,OAAO,CAAE,OAAwB,CAClE,wBAAwC,CAAE,OAAO,CAAE,OAAiC,CACpF,uBAAuC,CAAE,OAAO,CAAE,OAAgC,CAClF,uBAAuC,CAAE,OAAO,CAAE,OAAgC,CAClF,0BAA0C,CAAE,OAAO,CAAE,OAAmC,CACxF,iCAAiD,CAAE,OAAO,CAAE,OAA0C,CACtG,cAA8B,CAAE,OAAO,CAAE,OAAuB,CAChE,eAA+B,CAAE,OAAO,CAAE,OAAwB,CAClE,kBAAkC,CAAE,OAAO,CAAE,OAA2B,CACxE,yBAAyC,CAAE,OAAO,CAAE,OAAkC,CACtF,eAA+B,CAAE,OAAO,CAAE,OAAwB,CAClE,qBAAqC,CAAE,OAAO,CAAE,OAA8B,CAC9E,uBAAuC,CAAE,OAAO,CAAE,OAAgC,CAClF,kBAAkC,CAAE,OAAO,CAAE,OAA2B,CACxE,oBAAoC,CAAE,OAAO,CAAE,OAA6B,CAC5E,qBAAqC,CAAE,OAAO,CAAE,OAA8B,CAC9E,wBAAwC,CAAE,OAAO,CAAE,OAAiC,CACpF,oBAAoC,CAAE,OAAO,CAAE,OAA6B,CAC5E,kBAAkC,CAAE,OAAO,CAAE,OAA2B,CACxE,eAA+B,CAAE,OAAO,CAAE,OAAwB,CAClE,oBAAoC,CAAE,OAAO,CAAE,OAA6B,CAC5E,qBAAqC,CAAE,OAAO,CAAE,OAA8B,CAC9E,kBAAkC,CAAE,OAAO,CAAE,OAA2B,CACxE,gBAAgC,CAAE,OAAO,CAAE,OAAyB,CACpE,kBAAkC,CAAE,OAAO,CAAE,OAA2B,CACxE,oBAAoC,CAAE,OAAO,CAAE,OAA6B,CAC5E,oBAAoC,CAAE,OAAO,CAAE,OAA6B,CAC5E,sBAAsC,CAAE,OAAO,CAAE,OAA+B,CAChF,eAA+B,CAAE,OAAO,CAAE,OAAwB,CAClE,eAA+B,CAAE,OAAO,CAAE,OAAwB,CAClE,eAA+B,CAAE,OAAO,CAAE,OAAwB,CAClE,eAA+B,CAAE,OAAO,CAAE,OAAwB,CAClE,eAA+B,CAAE,OAAO,CAAE,OAAwB,CAClE,eAA+B,CAAE,OAAO,CAAE,OAAwB,CAClE,oBAAoC,CAAE,OAAO,CAAE,OAA6B,CAC5E,sBAAsC,CAAE,OAAO,CAAE,OAA+B,CAChF,mBAAmC,CAAE,OAAO,CAAE,OAA4B,CAC1E,uBAAuC,CAAE,OAAO,CAAE,OAAgC,CAClF,cAA8B,CAAE,OAAO,CAAE,OAAuB,CAChE,mBAAmC,CAAE,OAAO,CAAE,OAA4B,CAC1E,gBAAgC,CAAE,OAAO,CAAE,OAAyB,CACpE,kBAAkC,CAAE,OAAO,CAAE,OAA2B,CACxE,gBAAgC,CAAE,OAAO,CAAE,OAAyB,CACpE,oBAAoC,CAAE,OAAO,CAAE,OAA6B,CAC5E,4BAA4C,CAAE,OAAO,CAAE,OAAqC,CAC5F,0BAA0C,CAAE,OAAO,CAAE,OAAmC,CACxF,gBAAgC,CAAE,OAAO,CAAE,OAAyB,CACpE,gBAAgC,CAAE,OAAO,CAAE,OAAyB,CACpE,cAA8B,CAAE,OAAO,CAAE,OAAuB,CAChE,cAA8B,CAAE,OAAO,CAAE,OAAuB,CAChE,mBAAmC,CAAE,OAAO,CAAE,OAA4B,CAC1E,mBAAmC,CAAE,OAAO,CAAE,OAA4B,CAC1E,mBAAmC,CAAE,OAAO,CAAE,OAA4B,CAC1E,eAA+B,CAAE,OAAO,CAAE,OAAwB,CAClE,2BAA2C,CAAE,OAAO,CAAE,OAAoC,CAC1F,cAA8B,CAAE,OAAO,CAAE,OAAuB,CAChE,kBAAkC,CAAE,OAAO,CAAE,OAA2B,CACxE,qBAAqC,CAAE,OAAO,CAAE,OAA8B,CAC9E,qBAAqC,CAAE,OAAO,CAAE,OAA8B,CAC9E,mBAAmC,CAAE,OAAO,CAAE,OAA4B,CAC1E,uBAAuC,CAAE,OAAO,CAAE,OAAgC,CAClF,yBAAyC,CAAE,OAAO,CAAE,OAAkC,CACtF,yBAAyC,CAAE,OAAO,CAAE,OAAkC,CACtF,wBAAwC,CAAE,OAAO,CAAE,OAAiC,CACpF,yBAAyC,CAAE,OAAO,CAAE,OAAkC,CACtF,iBAAiC,CAAE,OAAO,CAAE,OAA0B,CACtE,uBAAuC,CAAE,OAAO,CAAE,OAAgC,CAClF,mBAAmC,CAAE,OAAO,CAAE,OAA4B,CAC1E,mBAAmC,CAAE,OAAO,CAAE,OAA4B,CAC1E,cAA8B,CAAE,OAAO,CAAE,OAAuB,CAChE,kBAAkC,CAAE,OAAO,CAAE,OAA2B,CACxE,sBAAsC,CAAE,OAAO,CAAE,OAA+B,CAChF,oBAAoC,CAAE,OAAO,CAAE,OAA6B,CAC5E,mBAAmC,CAAE,OAAO,CAAE,OAA4B,CAC1E,qBAAqC,CAAE,OAAO,CAAE,OAA8B,CAC9E,qBAAqC,CAAE,OAAO,CAAE,OAA8B,CAC9E,sBAAsC,CAAE,OAAO,CAAE,OAA+B,CAChF,4BAA4C,CAAE,OAAO,CAAE,OAAqC,CAC5F,4BAA4C,CAAE,OAAO,CAAE,OAAqC,CAC5F,6BAA6C,CAAE,OAAO,CAAE,OAAsC,CAC9F,0BAA0C,CAAE,OAAO,CAAE,OAAmC,CACxF,mBAAmC,CAAE,OAAO,CAAE,OAA4B,CAC1E,0BAA0C,CAAE,OAAO,CAAE,OAAmC,CACxF,oBAAoC,CAAE,OAAO,CAAE,OAA6B,CAC5E,wBAAwC,CAAE,OAAO,CAAE,OAAiC,CACpF,kBAAkC,CAAE,OAAO,CAAE,OAA2B,CACxE,uBAAuC,CAAE,OAAO,CAAE,OAAgC,CAClF,yBAAyC,CAAE,OAAO,CAAE,OAAkC,CACtF,sBAAsC,CAAE,OAAO,CAAE,OAA+B,CAChF,iBAAiC,CAAE,OAAO,CAAE,OAA0B,CACtE,wBAAwC,CAAE,OAAO,CAAE,OAAiC,CACpF,oBAAoC,CAAE,OAAO,CAAE,OAA6B,CAC5E,oBAAoC,CAAE,OAAO,CAAE,OAA6B,CAC5E,kBAAkC,CAAE,OAAO,CAAE,OAA2B,CACxE,qBAAqC,CAAE,OAAO,CAAE,OAA8B,CAC9E,sBAAsC,CAAE,OAAO,CAAE,OAA+B,CAChF,qBAAqC,CAAE,OAAO,CAAE,OAA8B,CAC9E,6BAA6C,CAAE,OAAO,CAAE,OAAsC,CAC9F,2BAA2C,CAAE,OAAO,CAAE,OAAoC,CAC1F,qBAAqC,CAAE,OAAO,CAAE,OAA8B,CAC9E,oBAAoC,CAAE,OAAO,CAAE,OAA6B,CAC5E,qBAAqC,CAAE,OAAO,CAAE,OAA8B,CAC9E,oBAAoC,CAAE,OAAO,CAAE,OAA6B,CAC5E,gBAAgC,CAAE,OAAO,CAAE,OAAyB,CACpE,uBAAuC,CAAE,OAAO,CAAE,OAAgC,CAClF,uBAAuC,CAAE,OAAO,CAAE,OAAgC,CAClF,uBAAuC,CAAE,OAAO,CAAE,OAAgC,CAClF,gBAAgC,CAAE,OAAO,CAAE,OAAyB,CACpE,uBAAuC,CAAE,OAAO,CAAE,OAAgC,CAClF,sBAAsC,CAAE,OAAO,CAAE,OAA+B,CAChF,qBAAqC,CAAE,OAAO,CAAE,OAA8B,CAC9E,uBAAuC,CAAE,OAAO,CAAE,OAAgC,CAClF,qBAAqC,CAAE,OAAO,CAAE,OAA8B,CAC9E,sBAAsC,CAAE,OAAO,CAAE,OAA+B,CAChF,qBAAqC,CAAE,OAAO,CAAE,OAA8B,CAC9E,8BAA8C,CAAE,OAAO,CAAE,OAAuC,CAChG,8BAA8C,CAAE,OAAO,CAAE,OAAuC,CAChG,+BAA+C,CAAE,OAAO,CAAE,OAAwC,CAClG,4BAA4C,CAAE,OAAO,CAAE,OAAqC,CAC5F,uBAAuC,CAAE,OAAO,CAAE,OAAgC,CAClF,uBAAuC,CAAE,OAAO,CAAE,OAAgC,CAClF,wBAAwC,CAAE,OAAO,CAAE,OAAiC,CACpF,qBAAqC,CAAE,OAAO,CAAE,OAA8B,CAC9E,gBAAgC,CAAE,OAAO,CAAE,OAAyB,CACpE,iBAAiC,CAAE,OAAO,CAAE,OAA0B,CACtE,iBAAiC,CAAE,OAAO,CAAE,OAA0B,CACtE,iBAAiC,CAAE,OAAO,CAAE,OAA0B,CACtE,uBAAuC,CAAE,OAAO,CAAE,OAAgC,CAClF,oBAAoC,CAAE,OAAO,CAAE,OAA6B,CAC5E,0BAA0C,CAAE,OAAO,CAAE,OAAmC,CACxF,yBAAyC,CAAE,OAAO,CAAE,OAAkC,CACtF,gBAAgC,CAAE,OAAO,CAAE,OAAyB,CACpE,gBAAgC,CAAE,OAAO,CAAE,OAAyB,CACpE,4BAA4C,CAAE,OAAO,CAAE,OAAqC,CAC5F,gBAAgC,CAAE,OAAO,CAAE,OAAyB,CACpE,6BAA6C,CAAE,OAAO,CAAE,OAAsC,CAC9F,2BAA2C,CAAE,OAAO,CAAE,OAAoC,CAC1F,qBAAqC,CAAE,OAAO,CAAE,OAA8B,CAC9E,qBAAqC,CAAE,OAAO,CAAE,OAA8B,CAC9E,uBAAuC,CAAE,OAAO,CAAE,OAAgC,CAClF,mBAAmC,CAAE,OAAO,CAAE,OAA4B,CAC1E,eAA+B,CAAE,OAAO,CAAE,OAAwB,CAClE,sBAAsC,CAAE,OAAO,CAAE,OAA+B,CAChF,kBAAkC,CAAE,OAAO,CAAE,OAA2B,CACxE,mBAAmC,CAAE,OAAO,CAAE,OAA4B,CAC1E,iBAAiC,CAAE,OAAO,CAAE,OAA0B,CACtE,cAA8B,CAAE,OAAO,CAAE,OAAuB,CAChE,eAA+B,CAAE,OAAO,CAAE,OAAwB,CAClE,gBAAgC,CAAE,OAAO,CAAE,OAAyB,CACpE,kBAAkC,CAAE,OAAO,CAAE,OAA2B,CACxE,kBAAkC,CAAE,OAAO,CAAE,OAA2B,CACxE,sBAAsC,CAAE,OAAO,CAAE,OAA+B,CAChF,uBAAuC,CAAE,OAAO,CAAE,OAAgC,CAClF,wBAAwC,CAAE,OAAO,CAAE,OAAiC,CACpF,mBAAmC,CAAE,OAAO,CAAE,OAA4B,CAC1E,uBAAuC,CAAE,OAAO,CAAE,OAAgC,CAClF,kBAAkC,CAAE,OAAO,CAAE,OAA2B,CACxE,mBAAmC,CAAE,OAAO,CAAE,OAA4B,CAC1E,yBAAyC,CAAE,OAAO,CAAE,OAAkC,CACtF,yBAAyC,CAAE,OAAO,CAAE,OAAkC,CACtF,iBAAiC,CAAE,OAAO,CAAE,OAA0B,CACtE,iBAAiC,CAAE,OAAO,CAAE,OAA0B,CACtE,sBAAsC,CAAE,OAAO,CAAE,OAA+B,CAChF,eAA+B,CAAE,OAAO,CAAE,OAAwB,CAClE,oBAAoC,CAAE,OAAO,CAAE,OAA6B,CAC5E,gBAAgC,CAAE,OAAO,CAAE,OAAyB,CACpE,iBAAiC,CAAE,OAAO,CAAE,OAA0B,CACtE,2BAA2C,CAAE,OAAO,CAAE,OAAoC,CAC1F,8BAA8C,CAAE,OAAO,CAAE,OAAuC,CAChG,8BAA8C,CAAE,OAAO,CAAE,OAAuC,CAChG,iCAAiD,CAAE,OAAO,CAAE,OAA0C,CACtG,iCAAiD,CAAE,OAAO,CAAE,OAA0C,CACtG,8BAA8C,CAAE,OAAO,CAAE,OAAuC,CAChG,8BAA8C,CAAE,OAAO,CAAE,OAAuC,CAChG,kCAAkD,CAAE,OAAO,CAAE,OAA2C,CACxG,iCAAiD,CAAE,OAAO,CAAE,OAA0C,CACtG,8BAA8C,CAAE,OAAO,CAAE,OAAuC,CAChG,oCAAoD,CAAE,OAAO,CAAE,OAA6C,CAC5G,yCAAyD,CAAE,OAAO,CAAE,OAAkD,CACtH,iCAAiD,CAAE,OAAO,CAAE,OAA0C,CACtG,sBAAsC,CAAE,OAAO,CAAE,OAA+B,CAChF,eAA+B,CAAE,OAAO,CAAE,OAAwB,CAClE,mBAAmC,CAAE,OAAO,CAAE,OAA4B,CAC1E,qBAAqC,CAAE,OAAO,CAAE,OAA8B,CAC9E,eAA+B,CAAE,OAAO,CAAE,OAAwB,CAClE,gBAAgC,CAAE,OAAO,CAAE,OAAyB,CACpE,eAA+B,CAAE,OAAO,CAAE,OAAwB,CAClE,mBAAmC,CAAE,OAAO,CAAE,OAA4B,CAC1E,eAA+B,CAAE,OAAO,CAAE,OAAwB,CAClE,gBAAgC,CAAE,OAAO,CAAE,OAAyB,CACpE,cAA8B,CAAE,OAAO,CAAE,OAAuB,CAChE,qBAAqC,CAAE,OAAO,CAAE,OAA8B,CAC9E,kBAAkC,CAAE,OAAO,CAAE,OAA2B,CACxE,mBAAmC,CAAE,OAAO,CAAE,OAA4B,CAC1E,mBAAmC,CAAE,OAAO,CAAE,OAA4B,CAC1E,eAA+B,CAAE,OAAO,CAAE,OAAwB,CAClE,oBAAoC,CAAE,OAAO,CAAE,OAA6B,CAC5E,oBAAoC,CAAE,OAAO,CAAE,OAA6B,CAC5E,kBAAkC,CAAE,OAAO,CAAE,OAA2B,CACxE,kBAAkC,CAAE,OAAO,CAAE,OAA2B,CACxE,qBAAqC,CAAE,OAAO,CAAE,OAA8B,CAC9E,oBAAoC,CAAE,OAAO,CAAE,OAA6B,CAC5E,eAA+B,CAAE,OAAO,CAAE,OAAwB,CAClE,oBAAoC,CAAE,OAAO,CAAE,OAA6B,CAC5E,oBAAoC,CAAE,OAAO,CAAE,OAA6B,CAC5E,mBAAmC,CAAE,OAAO,CAAE,OAA4B,CAC1E,mBAAmC,CAAE,OAAO,CAAE,OAA4B,CAC1E,qBAAqC,CAAE,OAAO,CAAE,OAA8B,CAC9E,mBAAmC,CAAE,OAAO,CAAE,OAA4B,CAC1E,eAA+B,CAAE,OAAO,CAAE,OAAwB,CAClE,wBAAwC,CAAE,OAAO,CAAE,OAAiC,CACpF,6BAA6C,CAAE,OAAO,CAAE,OAAsC,CAC9F,qBAAqC,CAAE,OAAO,CAAE,OAA8B,CAC9E,kBAAkC,CAAE,OAAO,CAAE,OAA2B,CACxE,oBAAoC,CAAE,OAAO,CAAE,OAA6B,CAC5E,iBAAiC,CAAE,OAAO,CAAE,OAA0B,CACtE,gBAAgC,CAAE,OAAO,CAAE,OAAyB,CACpE,cAA8B,CAAE,OAAO,CAAE,OAAuB,CAChE,iBAAiC,CAAE,OAAO,CAAE,OAA0B,CACtE,iBAAiC,CAAE,OAAO,CAAE,OAA0B,CACtE,sBAAsC,CAAE,OAAO,CAAE,OAA+B,CAChF,gBAAgC,CAAE,OAAO,CAAE,OAAyB,CACpE,wBAAwC,CAAE,OAAO,CAAE,OAAiC,CACpF,iBAAiC,CAAE,OAAO,CAAE,OAA0B,CACtE,sBAAsC,CAAE,OAAO,CAAE,OAA+B,CAChF,oBAAoC,CAAE,OAAO,CAAE,OAA6B,CAC5E,qBAAqC,CAAE,OAAO,CAAE,OAA8B,CAC9E,eAA+B,CAAE,OAAO,CAAE,OAAwB,CAClE,mBAAmC,CAAE,OAAO,CAAE,OAA4B,CAC1E,wBAAwC,CAAE,OAAO,CAAE,OAAiC,CACpF,2BAA2C,CAAE,OAAO,CAAE,OAAoC,CAC1F,uBAAuC,CAAE,OAAO,CAAE,OAAgC,CAClF,mBAAmC,CAAE,OAAO,CAAE,OAA4B,CAC1E,0BAA0C,CAAE,OAAO,CAAE,OAAmC,CACxF,kBAAkC,CAAE,OAAO,CAAE,OAA2B,CACxE,eAA+B,CAAE,OAAO,CAAE,OAAwB,CAClE,wBAAwC,CAAE,OAAO,CAAE,OAAiC,CACpF,iBAAiC,CAAE,OAAO,CAAE,OAA0B,CACtE,mBAAmC,CAAE,OAAO,CAAE,OAA4B,CAC1E,iBAAiC,CAAE,OAAO,CAAE,OAA0B,CACtE,qBAAqC,CAAE,OAAO,CAAE,OAA8B,CAC9E,eAA+B,CAAE,OAAO,CAAE,OAAwB,CAClE,eAA+B,CAAE,OAAO,CAAE,OAAwB,CAClE,eAA+B,CAAE,OAAO,CAAE,OAAwB,CAClE,gBAAgC,CAAE,OAAO,CAAE,OAAyB,CACpE,oBAAoC,CAAE,OAAO,CAAE,OAA6B,CAC5E,qBAAqC,CAAE,OAAO,CAAE,OAA8B,CAC9E,qBAAqC,CAAE,OAAO,CAAE,OAA8B,CAC9E,eAA+B,CAAE,OAAO,CAAE,OAAwB,CAClE,gBAAgC,CAAE,OAAO,CAAE,OAAyB,CACpE,iBAAiC,CAAE,OAAO,CAAE,OAA0B,CACtE,mBAAmC,CAAE,OAAO,CAAE,OAA4B,CAC1E,wBAAwC,CAAE,OAAO,CAAE,OAAiC,CACpF,0BAA0C,CAAE,OAAO,CAAE,OAAmC,CACxF,iBAAiC,CAAE,OAAO,CAAE,OAA0B,CACtE,iBAAiC,CAAE,OAAO,CAAE,OAA0B,CACtE,iBAAiC,CAAE,OAAO,CAAE,OAA0B,CACtE,iBAAiC,CAAE,OAAO,CAAE,OAA0B,CACtE,mBAAmC,CAAE,OAAO,CAAE,OAA4B,CAC1E,eAA+B,CAAE,OAAO,CAAE,OAAwB,CAClE,oBAAoC,CAAE,OAAO,CAAE,OAA6B,CAC5E,uBAAuC,CAAE,OAAO,CAAE,OAAgC,CAClF,sBAAsC,CAAE,OAAO,CAAE,OAA+B,CAChF,6BAA6C,CAAE,OAAO,CAAE,OAAsC,CAC9F,+BAA+C,CAAE,OAAO,CAAE,OAAwC,CAClG,iBAAiC,CAAE,OAAO,CAAE,OAA0B,CACtE,4BAA4C,CAAE,OAAO,CAAE,OAAqC,CAC5F,uBAAuC,CAAE,OAAO,CAAE,OAAgC,CAClF,4BAA4C,CAAE,OAAO,CAAE,OAAqC,CAC5F,mCAAmD,CAAE,OAAO,CAAE,OAA4C,CAC1G,cAA8B,CAAE,OAAO,CAAE,OAAuB,CAChE,sBAAsC,CAAE,OAAO,CAAE,OAA+B,CAChF,oBAAoC,CAAE,OAAO,CAAE,OAA6B,CAC5E,mBAAmC,CAAE,OAAO,CAAE,OAA4B,CAC1E,qBAAqC,CAAE,OAAO,CAAE,OAA8B,CAC9E,6BAA6C,CAAE,OAAO,CAAE,OAAsC,CAC9F,0BAA0C,CAAE,OAAO,CAAE,OAAmC,CACxF,wBAAwC,CAAE,OAAO,CAAE,OAAiC,CACpF,uBAAuC,CAAE,OAAO,CAAE,OAAgC,CAClF,cAA8B,CAAE,OAAO,CAAE,OAAuB,CAChE,kBAAkC,CAAE,OAAO,CAAE,OAA2B,CACxE,sBAAsC,CAAE,OAAO,CAAE,OAA+B,CAChF,iBAAiC,CAAE,OAAO,CAAE,OAA0B,CACtE,sBAAsC,CAAE,OAAO,CAAE,OAA+B,CAChF,eAA+B,CAAE,OAAO,CAAE,OAAwB,CAClE,mBAAmC,CAAE,OAAO,CAAE,OAA4B,CAC1E,uBAAuC,CAAE,OAAO,CAAE,OAAgC,CAClF,qBAAqC,CAAE,OAAO,CAAE,OAA8B,CAC9E,oBAAoC,CAAE,OAAO,CAAE,OAA6B,CAC5E,wBAAwC,CAAE,OAAO,CAAE,OAAiC,CACpF,wBAAwC,CAAE,OAAO,CAAE,OAAiC,CACpF,qBAAqC,CAAE,OAAO,CAAE,OAA8B,CAC9E,sBAAsC,CAAE,OAAO,CAAE,OAA+B,CAChF,qBAAqC,CAAE,OAAO,CAAE,OAA8B,CAC9E,sBAAsC,CAAE,OAAO,CAAE,OAA+B,CAChF,uBAAuC,CAAE,OAAO,CAAE,OAAgC,CAClF,8BAA8C,CAAE,OAAO,CAAE,OAAuC,CAChG,uBAAuC,CAAE,OAAO,CAAE,OAAgC,CAClF,2BAA2C,CAAE,OAAO,CAAE,OAAoC,CAC1F,mBAAmC,CAAE,OAAO,CAAE,OAA4B,CAC1E,0BAA0C,CAAE,OAAO,CAAE,OAAmC,CACxF,4BAA4C,CAAE,OAAO,CAAE,OAAqC,CAC5F,yBAAyC,CAAE,OAAO,CAAE,OAAkC,CACtF,sBAAsC,CAAE,OAAO,CAAE,OAA+B,CAChF,qBAAqC,CAAE,OAAO,CAAE,OAA8B,CAC9E,oBAAoC,CAAE,OAAO,CAAE,OAA6B,CAC5E,eAA+B,CAAE,OAAO,CAAE,OAAwB,CAClE,oBAAoC,CAAE,OAAO,CAAE,OAA6B,CAC5E,eAA+B,CAAE,OAAO,CAAE,OAAwB,CAClE,iBAAiC,CAAE,OAAO,CAAE,OAA0B,CACtE,sBAAsC,CAAE,OAAO,CAAE,OAA+B,CAChF,eAA+B,CAAE,OAAO,CAAE,OAAwB,CAClE,4BAA4C,CAAE,OAAO,CAAE,OAAqC,CAC5F,kBAAkC,CAAE,OAAO,CAAE,OAA2B,CACxE,oBAAoC,CAAE,OAAO,CAAE,OAA6B,CAC5E,sBAAsC,CAAE,OAAO,CAAE,OAA+B,CAChF,0BAA0C,CAAE,OAAO,CAAE,OAAmC,CACxF,qBAAqC,CAAE,OAAO,CAAE,OAA8B,CAC9E,eAA+B,CAAE,OAAO,CAAE,OAAwB,CAClE,eAA+B,CAAE,OAAO,CAAE,OAAwB,CAClE,yBAAyC,CAAE,OAAO,CAAE,OAAkC,CACtF,gBAAgC,CAAE,OAAO,CAAE,OAAyB,CACpE,iBAAiC,CAAE,OAAO,CAAE,OAA0B,CACtE,oBAAoC,CAAE,OAAO,CAAE,OAA6B,CAC5E,kBAAkC,CAAE,OAAO,CAAE,OAA2B,CACxE,cAA8B,CAAE,OAAO,CAAE,OAAuB,CAChE,iBAAiC,CAAE,OAAO,CAAE,OAA0B,CACtE,sBAAsC,CAAE,OAAO,CAAE,OAA+B,CAChF,eAA+B,CAAE,OAAO,CAAE,OAAwB,CAClE,uBAAuC,CAAE,OAAO,CAAE,OAAgC,CAClF,2BAA2C,CAAE,OAAO,CAAE,OAAoC,CAC1F,4BAA4C,CAAE,OAAO,CAAE,OAAqC,CAC5F,iCAAiD,CAAE,OAAO,CAAE,OAA0C,CACtG,oBAAoC,CAAE,OAAO,CAAE,OAA6B,CAC5E,uBAAuC,CAAE,OAAO,CAAE,OAAgC,CAClF,wBAAwC,CAAE,OAAO,CAAE,OAAiC,CACpF,uBAAuC,CAAE,OAAO,CAAE,OAAgC,CAClF,2BAA2C,CAAE,OAAO,CAAE,OAAoC,CAC1F,mBAAmC,CAAE,OAAO,CAAE,OAA4B,CAC1E,kBAAkC,CAAE,OAAO,CAAE,OAA2B,CACxE,qBAAqC,CAAE,OAAO,CAAE,OAA8B,CAC9E,yBAAyC,CAAE,OAAO,CAAE,OAAkC,CACtF,kBAAkC,CAAE,OAAO,CAAE,OAA2B,CACxE,eAA+B,CAAE,OAAO,CAAE,OAAwB,CAClE,gBAAgC,CAAE,OAAO,CAAE,OAAyB,CACpE,qBAAqC,CAAE,OAAO,CAAE,OAA8B,CAC9E,kBAAkC,CAAE,OAAO,CAAE,OAA2B,CACxE,iBAAiC,CAAE,OAAO,CAAE,OAA0B,CACtE,4BAA4C,CAAE,OAAO,CAAE,OAAqC,CAC5F,0BAA0C,CAAE,OAAO,CAAE,OAAmC,CACxF,kBAAkC,CAAE,OAAO,CAAE,OAA2B,CACxE,mBAAmC,CAAE,OAAO,CAAE,OAA4B,CAC1E,gBAAgC,CAAE,OAAO,CAAE,OAAyB,CACpE,cAA8B,CAAE,OAAO,CAAE,OAAuB,CAChE,qBAAqC,CAAE,OAAO,CAAE,OAA8B,CAC9E,qBAAqC,CAAE,OAAO,CAAE,OAA8B,CAC9E,aAA6B,CAAE,OAAO,CAAE,OAAsB,CAC9D,oBAAoC,CAAE,OAAO,CAAE,OAA6B,CAC5E,eAA+B,CAAE,OAAO,CAAE,OAAwB,CAClE,cAA8B,CAAE,OAAO,CAAE,OAAuB,CAChE,qBAAqC,CAAE,OAAO,CAAE,OAA8B,CAC9E,iBAAiC,CAAE,OAAO,CAAE,OAA0B,CACtE,qBAAqC,CAAE,OAAO,CAAE,OAA8B,CAC9E,wBAAwC,CAAE,OAAO,CAAE,OAAiC,CACpF,oBAAoC,CAAE,OAAO,CAAE,OAA6B,CAC5E,iBAAiC,CAAE,OAAO,CAAE,OAA0B,CACtE,iBAAiC,CAAE,OAAO,CAAE,OAA0B,CACtE,wBAAwC,CAAE,OAAO,CAAE,OAAiC,CACpF,4BAA4C,CAAE,OAAO,CAAE,OAAqC,CAC5F,kBAAkC,CAAE,OAAO,CAAE,OAA2B,CACxE,gBAAgC,CAAE,OAAO,CAAE,OAAyB,CACpE,kBAAkC,CAAE,OAAO,CAAE,OAA2B,CACxE,gBAAgC,CAAE,OAAO,CAAE,OAAyB,CACpE,uBAAuC,CAAE,OAAO,CAAE,OAAgC,CAClF,yBAAyC,CAAE,OAAO,CAAE,OAAkC,CACtF,qBAAqC,CAAE,OAAO,CAAE,OAA8B,CAC9E,iBAAiC,CAAE,OAAO,CAAE,OAA0B,CACtE,oBAAoC,CAAE,OAAO,CAAE,OAA6B,CAC5E,oBAAoC,CAAE,OAAO,CAAE,OAA6B,CAC5E,sBAAsC,CAAE,OAAO,CAAE,OAA+B,CAChF,iBAAiC,CAAE,OAAO,CAAE,OAA0B,CACtE,uBAAuC,CAAE,OAAO,CAAE,OAAgC,CAClF,sBAAsC,CAAE,OAAO,CAAE,OAA+B,CAChF,sBAAsC,CAAE,OAAO,CAAE,OAA+B,CAChF,wBAAwC,CAAE,OAAO,CAAE,OAAiC,CACpF,6BAA6C,CAAE,OAAO,CAAE,OAAsC,CAC9F,wBAAwC,CAAE,OAAO,CAAE,OAAiC,CACpF,yBAAyC,CAAE,OAAO,CAAE,OAAkC,CACtF,mBAAmC,CAAE,OAAO,CAAE,OAA4B,CAC1E,eAA+B,CAAE,OAAO,CAAE,OAAwB,CAClE,uBAAuC,CAAE,OAAO,CAAE,OAAgC,CAClF,6BAA6C,CAAE,OAAO,CAAE,OAAsC,CAC9F,kBAAkC,CAAE,OAAO,CAAE,OAA2B,CACxE,eAA+B,CAAE,OAAO,CAAE,OAAwB,CAClE,mBAAmC,CAAE,OAAO,CAAE,OAA4B,CAC1E,oBAAoC,CAAE,OAAO,CAAE,OAA6B,CAC5E,0BAA0C,CAAE,OAAO,CAAE,OAAmC,CACxF,sBAAsC,CAAE,OAAO,CAAE,OAA+B,CAChF,sBAAsC,CAAE,OAAO,CAAE,OAA+B,CAChF,4BAA4C,CAAE,OAAO,CAAE,OAAqC,CAC5F,qBAAqC,CAAE,OAAO,CAAE,OAA8B,CAC9E,qBAAqC,CAAE,OAAO,CAAE,OAA8B,CAC9E,sBAAsC,CAAE,OAAO,CAAE,OAA+B,CAChF,6BAA6C,CAAE,OAAO,CAAE,OAAsC,CAC9F,2BAA2C,CAAE,OAAO,CAAE,OAAoC,CAC1F,oBAAoC,CAAE,OAAO,CAAE,OAA6B,CAC5E,0BAA0C,CAAE,OAAO,CAAE,OAAmC,CACxF,wBAAwC,CAAE,OAAO,CAAE,OAAiC,CACpF,mBAAmC,CAAE,OAAO,CAAE,OAA4B,CAC1E,gBAAgC,CAAE,OAAO,CAAE,OAAyB,CACpE,eAA+B,CAAE,OAAO,CAAE,OAAwB,CAClE,mBAAmC,CAAE,OAAO,CAAE,OAA4B,CAC1E,sBAAsC,CAAE,OAAO,CAAE,OAA+B,CAChF,6BAA6C,CAAE,OAAO,CAAE,OAAsC,CAC9F,qBAAqC,CAAE,OAAO,CAAE,OAA8B,CAC9E,uBAAuC,CAAE,OAAO,CAAE,OAAgC,CAClF,6BAA6C,CAAE,OAAO,CAAE,OAAsC,CAC9F,2BAA2C,CAAE,OAAO,CAAE,OAAoC,CAC1F,sBAAsC,CAAE,OAAO,CAAE,OAA+B,CAChF,qBAAqC,CAAE,OAAO,CAAE,OAA8B,CAC9E,qBAAqC,CAAE,OAAO,CAAE,OAA8B,CAC9E,0BAA0C,CAAE,OAAO,CAAE,OAAmC,CACxF,0BAA0C,CAAE,OAAO,CAAE,OAAmC,CACxF,2BAA2C,CAAE,OAAO,CAAE,OAAoC,CAC1F,wBAAwC,CAAE,OAAO,CAAE,OAAiC,CACpF,uBAAuC,CAAE,OAAO,CAAE,OAAgC,CAClF,oBAAoC,CAAE,OAAO,CAAE,OAA6B,CAC5E,wBAAwC,CAAE,OAAO,CAAE,OAAiC,CACpF,qBAAqC,CAAE,OAAO,CAAE,OAA8B,CAC9E,gBAAgC,CAAE,OAAO,CAAE,OAAyB,CACpE,wBAAwC,CAAE,OAAO,CAAE,OAAiC,CACpF,oBAAoC,CAAE,OAAO,CAAE,OAA6B,CAC5E,kBAAkC,CAAE,OAAO,CAAE,OAA2B,CACxE,cAA8B,CAAE,OAAO,CAAE,OAAuB,CAChE,kBAAkC,CAAE,OAAO,CAAE,OAA2B,CACxE,qBAAqC,CAAE,OAAO,CAAE,OAA8B,CAC9E,yBAAyC,CAAE,OAAO,CAAE,OAAkC,CACtF,kBAAkC,CAAE,OAAO,CAAE,OAA2B,CACxE,gBAAgC,CAAE,OAAO,CAAE,OAAyB,CACpE,oBAAoC,CAAE,OAAO,CAAE,OAA6B,CAC5E,qBAAqC,CAAE,OAAO,CAAE,OAA8B,CAC9E,sBAAsC,CAAE,OAAO,CAAE,OAA+B,CAChF,eAA+B,CAAE,OAAO,CAAE,OAAwB,CAClE,wBAAwC,CAAE,OAAO,CAAE,OAAiC,CACpF,kBAAkC,CAAE,OAAO,CAAE,OAA2B,CACxE,sBAAsC,CAAE,OAAO,CAAE,OAA+B,CAChF,eAA+B,CAAE,OAAO,CAAE,OAAwB,CAClE,gBAAgC,CAAE,OAAO,CAAE,OAAyB,CACpE,mBAAmC,CAAE,OAAO,CAAE,OAA4B,CAC1E,mBAAmC,CAAE,OAAO,CAAE,OAA4B,CAC1E,uBAAuC,CAAE,OAAO,CAAE,OAAgC,CAClF,0BAA0C,CAAE,OAAO,CAAE,OAAmC,CACxF,kBAAkC,CAAE,OAAO,CAAE,OAA2B,CACxE,gBAAgC,CAAE,OAAO,CAAE,OAAyB,CACpE,iBAAiC,CAAE,OAAO,CAAE,OAA0B,CACtE,oBAAoC,CAAE,OAAO,CAAE,OAA6B,CAC5E,wBAAwC,CAAE,OAAO,CAAE,OAAiC,CACpF,yBAAyC,CAAE,OAAO,CAAE,OAAkC,CACtF,0BAA0C,CAAE,OAAO,CAAE,OAAmC,CACxF,gBAAgC,CAAE,OAAO,CAAE,OAAyB,CACpE,gBAAgC,CAAE,OAAO,CAAE,OAAyB,CACpE,kBAAkC,CAAE,OAAO,CAAE,OAA2B,CACxE,mBAAmC,CAAE,OAAO,CAAE,OAA4B,CAC1E,mBAAmC,CAAE,OAAO,CAAE,OAA4B,CAC1E,kBAAkC,CAAE,OAAO,CAAE,OAA2B,CACxE,sBAAsC,CAAE,OAAO,CAAE,OAA+B,CAChF,gBAAgC,CAAE,OAAO,CAAE,OAAyB,CACpE,iBAAiC,CAAE,OAAO,CAAE,OAA0B,CACtE,eAA+B,CAAE,OAAO,CAAE,OAAwB,CAClE,gBAAgC,CAAE,OAAO,CAAE,OAAyB,CACpE,iBAAiC,CAAE,OAAO,CAAE,OAA0B,CACtE,mBAAmC,CAAE,OAAO,CAAE,OAA4B,CAC1E,mBAAmC,CAAE,OAAO,CAAE,OAA4B,CAC1E,eAA+B,CAAE,OAAO,CAAE,OAAwB,CAClE,sBAAsC,CAAE,OAAO,CAAE,OAA+B,CAChF,oBAAoC,CAAE,OAAO,CAAE,OAA6B,CAC5E,4BAA4C,CAAE,OAAO,CAAE,OAAqC,CAC5F,kBAAkC,CAAE,OAAO,CAAE,OAA2B,CACxE,iBAAiC,CAAE,OAAO,CAAE,OAA0B,CACtE,iBAAiC,CAAE,OAAO,CAAE,OAA0B,CACtE,sBAAsC,CAAE,OAAO,CAAE,OAA+B,CAChF,eAA+B,CAAE,OAAO,CAAE,OAAwB,CAClE,qBAAqC,CAAE,OAAO,CAAE,OAA8B,CAC9E,kBAAkC,CAAE,OAAO,CAAE,OAA2B,CACxE,gBAAgC,CAAE,OAAO,CAAE,OAAyB,CACpE,gBAAgC,CAAE,OAAO,CAAE,OAAyB,CACpE,iBAAiC,CAAE,OAAO,CAAE,OAA0B,CACtE,aAA6B,CAAE,OAAO,CAAE,OAAsB,CAC9D,oBAAoC,CAAE,OAAO,CAAE,OAA6B,CAC5E,mBAAmC,CAAE,OAAO,CAAE,OAA4B,CAC1E,iBAAiC,CAAE,OAAO,CAAE,OAA0B,CACtE,cAA8B,CAAE,OAAO,CAAE,OAAuB,CAChE,kBAAkC,CAAE,OAAO,CAAE,OAA2B,CACxE,mBAAmC,CAAE,OAAO,CAAE,OAA4B,CAC1E,iBAAiC,CAAE,OAAO,CAAE,OAA0B,CACtE,sBAAsC,CAAE,OAAO,CAAE,OAA+B,CAChF,wBAAwC,CAAE,OAAO,CAAE,OAAiC,CACpF,eAA+B,CAAE,OAAO,CAAE,OAAwB,CAClE,oBAAoC,CAAE,OAAO,CAAE,OAA6B,CAC5E,0BAA0C,CAAE,OAAO,CAAE,OAAmC,CACxF,oBAAoC,CAAE,OAAO,CAAE,OAA6B,CAC5E,iBAAiC,CAAE,OAAO,CAAE,OAA0B,CACtE,mBAAmC,CAAE,OAAO,CAAE,OAA4B,CAC1E,iBAAiC,CAAE,OAAO,CAAE,OAA0B,CACtE,sBAAsC,CAAE,OAAO,CAAE,OAA+B,CAChF,kBAAkC,CAAE,OAAO,CAAE,OAA2B,CACxE,iBAAiC,CAAE,OAAO,CAAE,OAA0B,CACtE,wBAAwC,CAAE,OAAO,CAAE,OAAiC,CACpF,gBAAgC,CAAE,OAAO,CAAE,OAAyB,CACpE,qBAAqC,CAAE,OAAO,CAAE,OAA8B,CAC9E,uBAAuC,CAAE,OAAO,CAAE,OAAgC,CAClF,qBAAqC,CAAE,OAAO,CAAE,OAA8B,CAC9E,sBAAsC,CAAE,OAAO,CAAE,OAA+B,CAChF,eAA+B,CAAE,OAAO,CAAE,OAAwB,CAClE,kBAAkC,CAAE,OAAO,CAAE,OAA2B,CACxE,gBAAgC,CAAE,OAAO,CAAE,OAAyB,CACpE,eAA+B,CAAE,OAAO,CAAE,OAAwB,CAClE,oBAAoC,CAAE,OAAO,CAAE,OAA6B,CAC5E,0BAA0C,CAAE,OAAO,CAAE,OAAmC,CACxF,yBAAyC,CAAE,OAAO,CAAE,OAAkC,CACtF,uBAAuC,CAAE,OAAO,CAAE,OAAgC,CAClF,oBAAoC,CAAE,OAAO,CAAE,OAA6B,CAC5E,oBAAoC,CAAE,OAAO,CAAE,OAA6B,CAC5E,eAA+B,CAAE,OAAO,CAAE,OAAwB,CAClE,eAA+B,CAAE,OAAO,CAAE,OAAwB,CAClE,mBAAmC,CAAE,OAAO,CAAE,OAA4B,CAC1E,sBAAsC,CAAE,OAAO,CAAE,OAA+B,CAChF,iBAAiC,CAAE,OAAO,CAAE,OAA0B,CACtE,gBAAgC,CAAE,OAAO,CAAE,OAAyB,CACpE,oBAAoC,CAAE,OAAO,CAAE,OAA6B,CAC5E,eAA+B,CAAE,OAAO,CAAE,OAAwB,CAClE,mBAAmC,CAAE,OAAO,CAAE,OAA4B,CAC1E,kBAAkC,CAAE,OAAO,CAAE,OAA2B,CACxE,kBAAkC,CAAE,OAAO,CAAE,OAA2B,CACxE,yBAAyC,CAAE,OAAO,CAAE,OAAkC,CACtF,eAA+B,CAAE,OAAO,CAAE,OAAwB,CAClE,oBAAoC,CAAE,OAAO,CAAE,OAA6B,CAC5E,8BAA8C,CAAE,OAAO,CAAE,OAAuC,CAChG,8BAA8C,CAAE,OAAO,CAAE,OAAuC,CAChG,+BAA+C,CAAE,OAAO,CAAE,OAAwC,CAClG,4BAA4C,CAAE,OAAO,CAAE,OAAqC,CAC5F,qBAAqC,CAAE,OAAO,CAAE,OAA8B,CAC9E,uBAAuC,CAAE,OAAO,CAAE,OAAgC,CAClF,eAA+B,CAAE,OAAO,CAAE,OAAwB,CAClE,kBAAkC,CAAE,OAAO,CAAE,OAA2B,CACxE,gBAAgC,CAAE,OAAO,CAAE,OAAyB,CACpE,iBAAiC,CAAE,OAAO,CAAE,OAA0B,CACtE,oBAAoC,CAAE,OAAO,CAAE,OAA6B,CAC5E,eAA+B,CAAE,OAAO,CAAE,OAAwB,CAClE,sBAAsC,CAAE,OAAO,CAAE,OAA+B,CAChF,cAA8B,CAAE,OAAO,CAAE,OAAuB,CAChE,qBAAqC,CAAE,OAAO,CAAE,OAA8B,CAC9E,yBAAyC,CAAE,OAAO,CAAE,OAAkC,CACtF,qBAAqC,CAAE,OAAO,CAAE,OAA8B,CAC9E,yBAAyC,CAAE,OAAO,CAAE,OAAkC,CACtF,kBAAkC,CAAE,OAAO,CAAE,OAA2B,CACxE,oBAAoC,CAAE,OAAO,CAAE,OAA6B,CAC5E,mBAAmC,CAAE,OAAO,CAAE,OAA4B,CAC1E,iBAAiC,CAAE,OAAO,CAAE,OAA0B,CACtE,eAA+B,CAAE,OAAO,CAAE,OAAwB,CAClE,sBAAsC,CAAE,OAAO,CAAE,OAA+B,CAChF,sBAAsC,CAAE,OAAO,CAAE,OAA+B,CAChF,wBAAwC,CAAE,OAAO,CAAE,OAAiC,CACpF,wBAAwC,CAAE,OAAO,CAAE,OAAiC,CACpF,mBAAmC,CAAE,OAAO,CAAE,OAA4B,CAC1E,iBAAiC,CAAE,OAAO,CAAE,OAA0B,CACtE,gBAAgC,CAAE,OAAO,CAAE,OAAyB,CACpE,kBAAkC,CAAE,OAAO,CAAE,OAA2B,CACxE,iBAAiC,CAAE,OAAO,CAAE,OAA0B,CACtE,mBAAmC,CAAE,OAAO,CAAE,OAA4B,CAC1E,iBAAiC,CAAE,OAAO,CAAE,OAA0B,CACtE,gBAAgC,CAAE,OAAO,CAAE,OAAyB,CACpE,iBAAiC,CAAE,OAAO,CAAE,OAA0B,CACtE,mBAAmC,CAAE,OAAO,CAAE,OAA4B,CAC1E,cAA8B,CAAE,OAAO,CAAE,OAAuB,CAChE,oBAAoC,CAAE,OAAO,CAAE,OAA6B,CAC5E,2BAA2C,CAAE,OAAO,CAAE,OAAoC,CAC1F,iBAAiC,CAAE,OAAO,CAAE,OAA0B,CACtE,kBAAkC,CAAE,OAAO,CAAE,OAA2B,CACxE,oBAAoC,CAAE,OAAO,CAAE,OAA6B,CAC5E,qBAAqC,CAAE,OAAO,CAAE,OAA8B,CAC9E,yBAAyC,CAAE,OAAO,CAAE,OAAkC,CACtF,+BAA+C,CAAE,OAAO,CAAE,OAAwC,CAClG,2BAA2C,CAAE,OAAO,CAAE,OAAoC,CAC1F,qBAAqC,CAAE,OAAO,CAAE,OAA8B,CAC9E,oBAAoC,CAAE,OAAO,CAAE,OAA6B,CAC5E,gBAAgC,CAAE,OAAO,CAAE,OAAyB,CACpE,uBAAuC,CAAE,OAAO,CAAE,OAAgC,CAClF,uBAAuC,CAAE,OAAO,CAAE,OAAgC,CAClF,cAA8B,CAAE,OAAO,CAAE,OAAuB,CAChE,mBAAmC,CAAE,OAAO,CAAE,OAA4B,CAC1E,iBAAiC,CAAE,OAAO,CAAE,OAA0B,CACtE,iBAAiC,CAAE,OAAO,CAAE,OAA0B,CACtE,qBAAqC,CAAE,OAAO,CAAE,OAA8B,CAC9E,eAA+B,CAAE,OAAO,CAAE,OAAwB,CAClE,iBAAiC,CAAE,OAAO,CAAE,OAA0B,CACtE,qBAAqC,CAAE,OAAO,CAAE,OAA8B,CAC9E,yBAAyC,CAAE,OAAO,CAAE,OAAkC,CACtF,0BAA0C,CAAE,OAAO,CAAE,OAAmC,CACxF,8BAA8C,CAAE,OAAO,CAAE,OAAuC,CAChG,sBAAsC,CAAE,OAAO,CAAE,OAA+B,CAChF,0BAA0C,CAAE,OAAO,CAAE,OAAmC,CACxF,mBAAmC,CAAE,OAAO,CAAE,OAA4B,CAC1E,eAA+B,CAAE,OAAO,CAAE,OAAwB,CAClE,wBAAwC,CAAE,OAAO,CAAE,OAAiC,CACpF,qBAAqC,CAAE,OAAO,CAAE,OAA8B,CAC9E,wBAAwC,CAAE,OAAO,CAAE,OAAiC,CACpF,gBAAgC,CAAE,OAAO,CAAE,OAAyB,CACpE,kBAAkC,CAAE,OAAO,CAAE,OAA2B,CACxE,eAA+B,CAAE,OAAO,CAAE,OAAwB,CAClE,iBAAiC,CAAE,OAAO,CAAE,OAA0B,CACtE,oBAAoC,CAAE,OAAO,CAAE,OAA6B,CAC5E,iBAAiC,CAAE,OAAO,CAAE,OAA0B,CACtE,0BAA0C,CAAE,OAAO,CAAE,OAAmC,CACxF,eAA+B,CAAE,OAAO,CAAE,OAAwB,CAClE,kBAAkC,CAAE,OAAO,CAAE,OAA2B,CACxE,oBAAoC,CAAE,OAAO,CAAE,OAA6B,CAC5E,wBAAwC,CAAE,OAAO,CAAE,OAAiC,CACpF,cAA8B,CAAE,OAAO,CAAE,OAAuB,CAChE,cAA8B,CAAE,OAAO,CAAE,OAAuB,CAChE,sBAAsC,CAAE,OAAO,CAAE,OAA+B,CAChF,uBAAuC,CAAE,OAAO,CAAE,OAAgC,CAClF,yBAAyC,CAAE,OAAO,CAAE,OAAkC,CACtF,wBAAwC,CAAE,OAAO,CAAE,OAAiC,CACpF,+BAA+C,CAAE,OAAO,CAAE,OAAwC,CAClG,kBAAkC,CAAE,OAAO,CAAE,OAA2B,CACxE,uBAAuC,CAAE,OAAO,CAAE,OAAgC,CAClF,mBAAmC,CAAE,OAAO,CAAE,OAA4B,CAC1E,iBAAiC,CAAE,OAAO,CAAE,OAA0B,CACtE,gBAAgC,CAAE,OAAO,CAAE,OAAyB,CACpE,wBAAwC,CAAE,OAAO,CAAE,OAAiC,CACpF,cAA8B,CAAE,OAAO,CAAE,OAAuB,CAChE,kBAAkC,CAAE,OAAO,CAAE,OAA2B,CACxE,gBAAgC,CAAE,OAAO,CAAE,OAAyB,CACpE,oBAAoC,CAAE,OAAO,CAAE,OAA6B,CAC5E,sBAAsC,CAAE,OAAO,CAAE,OAA+B,CAChF,uBAAuC,CAAE,OAAO,CAAE,OAAgC,CAClF,kBAAkC,CAAE,OAAO,CAAE,OAA2B,CACxE,iBAAiC,CAAE,OAAO,CAAE,OAA0B,CACtE,iBAAiC,CAAE,OAAO,CAAE,OAA0B,CACtE,sBAAsC,CAAE,OAAO,CAAE,OAA+B,CAChF,oBAAoC,CAAE,OAAO,CAAE,OAA6B,CAC5E,wBAAwC,CAAE,OAAO,CAAE,OAAiC,CACpF,oBAAoC,CAAE,OAAO,CAAE,OAA6B,CAC5E,kBAAkC,CAAE,OAAO,CAAE,OAA2B,CACxE,mBAAmC,CAAE,OAAO,CAAE,OAA4B,CAC1E,gBAAgC,CAAE,OAAO,CAAE,OAAyB,CACpE,kBAAkC,CAAE,OAAO,CAAE,OAA2B,CACxE,gBAAgC,CAAE,OAAO,CAAE,OAAyB,CACpE,uBAAuC,CAAE,OAAO,CAAE,OAAgC,CAClF,cAA8B,CAAE,OAAO,CAAE,OAAuB,CAChE,iBAAiC,CAAE,OAAO,CAAE,OAA0B,CACtE,cAA8B,CAAE,OAAO,CAAE,OAAuB,CAChE,kBAAkC,CAAE,OAAO,CAAE,OAA2B,CACxE,oBAAoC,CAAE,OAAO,CAAE,OAA6B,CAC5E,kBAAkC,CAAE,OAAO,CAAE,OAA2B,CACxE,qBAAqC,CAAE,OAAO,CAAE,OAA8B,CAC9E,qBAAqC,CAAE,OAAO,CAAE,OAA8B,CAC9E,uBAAuC,CAAE,OAAO,CAAE,OAAgC,CAClF,uBAAuC,CAAE,OAAO,CAAE,OAAgC,CAClF,kBAAkC,CAAE,OAAO,CAAE,OAA2B,CACxE,qBAAqC,CAAE,OAAO,CAAE,OAA8B,CAC9E,oBAAoC,CAAE,OAAO,CAAE,OAA6B,CAC5E,sBAAsC,CAAE,OAAO,CAAE,OAA+B,CAChF,4BAA4C,CAAE,OAAO,CAAE,OAAqC,CAC5F,2BAA2C,CAAE,OAAO,CAAE,OAAoC,CAC1F,gBAAgC,CAAE,OAAO,CAAE,OAAyB,CACpE,sBAAsC,CAAE,OAAO,CAAE,OAA+B,CAChF,uBAAuC,CAAE,OAAO,CAAE,OAAgC,CAClF,uBAAuC,CAAE,OAAO,CAAE,OAAgC,CAClF,cAA8B,CAAE,OAAO,CAAE,OAAuB,CAChE,qBAAqC,CAAE,OAAO,CAAE,OAA8B,CAC9E,yBAAyC,CAAE,OAAO,CAAE,OAAkC,CACtF,yBAAyC,CAAE,OAAO,CAAE,OAAkC,CACtF,wBAAwC,CAAE,OAAO,CAAE,OAAiC,CACpF,qBAAqC,CAAE,OAAO,CAAE,OAA8B,CAC9E,gBAAgC,CAAE,OAAO,CAAE,OAAyB,CACpE,oBAAoC,CAAE,OAAO,CAAE,OAA6B,CAC5E,sBAAsC,CAAE,OAAO,CAAE,OAA+B,CAChF,2BAA2C,CAAE,OAAO,CAAE,OAAoC,CAC1F,gBAAgC,CAAE,OAAO,CAAE,OAAyB,CACpE,wBAAwC,CAAE,OAAO,CAAE,OAAiC,CACpF,0BAA0C,CAAE,OAAO,CAAE,OAAmC,CACxF,eAA+B,CAAE,OAAO,CAAE,OAAwB,CAClE,sBAAsC,CAAE,OAAO,CAAE,OAA+B,CAChF,sBAAsC,CAAE,OAAO,CAAE,OAA+B,CAChF,eAA+B,CAAE,OAAO,CAAE,OAAwB,CAClE,eAA+B,CAAE,OAAO,CAAE,OAAwB,CAClE,sBAAsC,CAAE,OAAO,CAAE,OAA+B,CAChF,sBAAsC,CAAE,OAAO,CAAE,OAA+B,CAChF,kBAAkC,CAAE,OAAO,CAAE,OAA2B,CACxE,cAA8B,CAAE,OAAO,CAAE,OAAuB,CAChE,eAA+B,CAAE,OAAO,CAAE,OAAwB,CAClE,mBAAmC,CAAE,OAAO,CAAE,OAA4B,CAC1E,qBAAqC,CAAE,OAAO,CAAE,OAA8B,CAC9E,oBAAoC,CAAE,OAAO,CAAE,OAA6B,CAC5E,uBAAuC,CAAE,OAAO,CAAE,OAAgC,CAClF,8BAA8C,CAAE,OAAO,CAAE,OAAuC,CAChG,kCAAkD,CAAE,OAAO,CAAE,OAA2C,CACxG,gBAAgC,CAAE,OAAO,CAAE,OAAyB,CACpE,qBAAqC,CAAE,OAAO,CAAE,OAA8B,CAC9E,uBAAuC,CAAE,OAAO,CAAE,OAAgC,CAClF,0BAA0C,CAAE,OAAO,CAAE,OAAmC,CACxF,iBAAiC,CAAE,OAAO,CAAE,OAA0B,CACtE,uBAAuC,CAAE,OAAO,CAAE,OAAgC,CAClF,iBAAiC,CAAE,OAAO,CAAE,OAA0B,CACtE,aAA6B,CAAE,OAAO,CAAE,OAAsB,CAC9D,iBAAiC,CAAE,OAAO,CAAE,OAA0B,CACtE,mBAAmC,CAAE,OAAO,CAAE,OAA4B,CAC1E,0BAA0C,CAAE,OAAO,CAAE,OAAmC,CACxF,oBAAoC,CAAE,OAAO,CAAE,OAA6B,CAC5E,oBAAoC,CAAE,OAAO,CAAE,OAA6B,CAC5E,gBAAgC,CAAE,OAAO,CAAE,OAAyB,CACpE,qBAAqC,CAAE,OAAO,CAAE,OAA8B,CAC9E,sBAAsC,CAAE,OAAO,CAAE,OAA+B,CAChF,oBAAoC,CAAE,OAAO,CAAE,OAA6B,CAC5E,iBAAiC,CAAE,OAAO,CAAE,OAA0B,CACtE,kBAAkC,CAAE,OAAO,CAAE,OAA2B,CACxE,gBAAgC,CAAE,OAAO,CAAE,OAAyB,CACpE,iBAAiC,CAAE,OAAO,CAAE,OAA0B,CACtE,gBAAgC,CAAE,OAAO,CAAE,OAAyB,CACpE,kBAAkC,CAAE,OAAO,CAAE,OAA2B,CACxE,kBAAkC,CAAE,OAAO,CAAE,OAA2B,CACxE,oBAAoC,CAAE,OAAO,CAAE,OAA6B,CAC5E,iBAAiC,CAAE,OAAO,CAAE,OAA0B,CACtE,uBAAuC,CAAE,OAAO,CAAE,OAAgC,CAClF,wBAAwC,CAAE,OAAO,CAAE,OAAiC,CACpF,eAA+B,CAAE,OAAO,CAAE,OAAwB,CAClE,mBAAmC,CAAE,OAAO,CAAE,OAA4B,CAC1E,qBAAqC,CAAE,OAAO,CAAE,OAA8B,CAC9E,kBAAkC,CAAE,OAAO,CAAE,OAA2B,CACxE,iBAAiC,CAAE,OAAO,CAAE,OAA0B,CACtE,gBAAgC,CAAE,OAAO,CAAE,OAAyB,CACpE,oBAAoC,CAAE,OAAO,CAAE,OAA6B,CAC5E,iBAAiC,CAAE,OAAO,CAAE,OAA0B,CACtE,uBAAuC,CAAE,OAAO,CAAE,OAAgC,CAClF,oBAAoC,CAAE,OAAO,CAAE,OAA6B,CAC5E,kBAAkC,CAAE,OAAO,CAAE,OAA2B,CACxE,cAA8B,CAAE,OAAO,CAAE,OAAuB,CAChE,iBAAiC,CAAE,OAAO,CAAE,OAA0B,CACtE,eAA+B,CAAE,OAAO,CAAE,OAAwB,CAClE,gBAAgC,CAAE,OAAO,CAAE,OAAyB,CACpE,iBAAiC,CAAE,OAAO,CAAE,OAA0B,CACtE,qBAAqC,CAAE,OAAO,CAAE,OAA8B,CAC9E,kBAAkC,CAAE,OAAO,CAAE,OAA2B,CACxE,gBAAgC,CAAE,OAAO,CAAE,OAAyB,CACpE,cAA8B,CAAE,OAAO,CAAE,OAAuB,CAChE,qBAAqC,CAAE,OAAO,CAAE,OAA8B,CAC9E,qBAAqC,CAAE,OAAO,CAAE,OAA8B,CAC9E,gBAAgC,CAAE,OAAO,CAAE,OAAyB,CACpE,yBAAyC,CAAE,OAAO,CAAE,OAAkC,CACtF,2BAA2C,CAAE,OAAO,CAAE,OAAoC,CAC1F,yBAAyC,CAAE,OAAO,CAAE,OAAkC,CACtF,qBAAqC,CAAE,OAAO,CAAE,OAA8B,CAC9E,kBAAkC,CAAE,OAAO,CAAE,OAA2B,CACxE,mBAAmC,CAAE,OAAO,CAAE,OAA4B,CAC1E,iBAAiC,CAAE,OAAO,CAAE,OAA0B,CACtE,eAA+B,CAAE,OAAO,CAAE,OAAwB,CAClE,eAA+B,CAAE,OAAO,CAAE,OAAwB,CAClE,iBAAiC,CAAE,OAAO,CAAE,OAA0B,CACtE,iBAAiC,CAAE,OAAO,CAAE,OAA0B,CACtE,sBAAsC,CAAE,OAAO,CAAE,OAA+B,CAChF,iBAAiC,CAAE,OAAO,CAAE,OAA0B,CACtE,iBAAiC,CAAE,OAAO,CAAE,OAA0B,CACtE,uBAAuC,CAAE,OAAO,CAAE,OAAgC,CAClF,sBAAsC,CAAE,OAAO,CAAE,OAA+B,CAChF,sBAAsC,CAAE,OAAO,CAAE,OAA+B,CAChF,mBAAmC,CAAE,OAAO,CAAE,OAA4B,CAC1E,mBAAmC,CAAE,OAAO,CAAE,OAA4B,CAC1E,iBAAiC,CAAE,OAAO,CAAE,OAA0B,CACtE,iBAAiC,CAAE,OAAO,CAAE,OAA0B,CACtE,uBAAuC,CAAE,OAAO,CAAE,OAAgC,CAClF,iBAAiC,CAAE,OAAO,CAAE,OAA0B,CACtE,gBAAgC,CAAE,OAAO,CAAE,OAAyB,CACpE,oBAAoC,CAAE,OAAO,CAAE,OAA6B,CAC5E,2BAA2C,CAAE,OAAO,CAAE,OAAoC,CAC1F,uBAAuC,CAAE,OAAO,CAAE,OAAgC,CAClF,sBAAsC,CAAE,OAAO,CAAE,OAA+B,CAChF,qBAAqC,CAAE,OAAO,CAAE,OAA8B,CAC9E,eAA+B,CAAE,OAAO,CAAE,OAAwB,CAClE,wBAAwC,CAAE,OAAO,CAAE,OAAiC,CACpF,uBAAuC,CAAE,OAAO,CAAE,OAAgC,CAClF,sBAAsC,CAAE,OAAO,CAAE,OAA+B,CAChF,uBAAuC,CAAE,OAAO,CAAE,OAAgC,CAClF,0BAA0C,CAAE,OAAO,CAAE,OAAmC,CACxF,wBAAwC,CAAE,OAAO,CAAE,OAAiC,CACpF,mBAAmC,CAAE,OAAO,CAAE,OAA4B,CAC1E,iBAAiC,CAAE,OAAO,CAAE,OAA0B,CACtE,sBAAsC,CAAE,OAAO,CAAE,OAA+B,CAChF,eAA+B,CAAE,OAAO,CAAE,OAAwB,CAClE,sBAAsC,CAAE,OAAO,CAAE,OAA+B,CAChF,wBAAwC,CAAE,OAAO,CAAE,OAAiC,CACpF,uBAAuC,CAAE,OAAO,CAAE,OAAgC,CAClF,iBAAiC,CAAE,OAAO,CAAE,OAA0B,CACtE,oBAAoC,CAAE,OAAO,CAAE,OAA6B,CAC5E,sBAAsC,CAAE,OAAO,CAAE,OAA+B,CAChF,kBAAkC,CAAE,OAAO,CAAE,OAA2B,CACxE,kBAAkC,CAAE,OAAO,CAAE,OAA2B,CACxE,eAA+B,CAAE,OAAO,CAAE,OAAwB,CAClE,gBAAgC,CAAE,OAAO,CAAE,OAAyB,CACpE,mBAAmC,CAAE,OAAO,CAAE,OAA4B,CAC1E,gBAAgC,CAAE,OAAO,CAAE,OAAyB,CACpE,gBAAgC,CAAE,OAAO,CAAE,OAAyB,CACpE,qBAAqC,CAAE,OAAO,CAAE,OAA8B,CAC9E,oBAAoC,CAAE,OAAO,CAAE,OAA6B,CAC5E,qBAAqC,CAAE,OAAO,CAAE,OAA8B,CAC9E,gBAAgC,CAAE,OAAO,CAAE,OAAyB,CACpE,qBAAqC,CAAE,OAAO,CAAE,OAA8B,CAC9E,qBAAqC,CAAE,OAAO,CAAE,OAA8B,CAC9E,kBAAkC,CAAE,OAAO,CAAE,OAA2B,CACxE,sBAAsC,CAAE,OAAO,CAAE,OAA+B,CAChF,mBAAmC,CAAE,OAAO,CAAE,OAA4B,CAC1E,yBAAyC,CAAE,OAAO,CAAE,OAAkC,CACtF,0BAA0C,CAAE,OAAO,CAAE,OAAmC,CACxF,oBAAoC,CAAE,OAAO,CAAE,OAA6B,CAC5E,sBAAsC,CAAE,OAAO,CAAE,OAA+B,CAChF,eAA+B,CAAE,OAAO,CAAE,OAAwB,CAClE,0BAA0C,CAAE,OAAO,CAAE,OAAmC,CACxF,wBAAwC,CAAE,OAAO,CAAE,OAAiC,CACpF,2BAA2C,CAAE,OAAO,CAAE,OAAoC,CAC1F,yBAAyC,CAAE,OAAO,CAAE,OAAkC,CACtF,oBAAoC,CAAE,OAAO,CAAE,OAA6B,CAC5E,4BAA4C,CAAE,OAAO,CAAE,OAAqC,CAC5F,0BAA0C,CAAE,OAAO,CAAE,OAAmC,CACxF,kBAAkC,CAAE,OAAO,CAAE,OAA2B,CACxE,qBAAqC,CAAE,OAAO,CAAE,OAA8B,CAC9E,cAA8B,CAAE,OAAO,CAAE,OAAuB,CAChE,wBAAwC,CAAE,OAAO,CAAE,OAAiC,CACpF,kBAAkC,CAAE,OAAO,CAAE,OAA2B,CACxE,kBAAkC,CAAE,OAAO,CAAE,OAA2B,CACxE,kBAAkC,CAAE,OAAO,CAAE,OAA2B,CACxE,kBAAkC,CAAE,OAAO,CAAE,OAA2B,CACxE,oBAAoC,CAAE,OAAO,CAAE,OAA6B,CAC5E,iBAAiC,CAAE,OAAO,CAAE,OAA0B,CACtE,sBAAsC,CAAE,OAAO,CAAE,OAA+B,CAChF,sBAAsC,CAAE,OAAO,CAAE,OAA+B,CAChF,yBAAyC,CAAE,OAAO,CAAE,OAAkC,CACtF,yBAAyC,CAAE,OAAO,CAAE,OAAkC,CACtF,gBAAgC,CAAE,OAAO,CAAE,OAAyB,CACpE,eAA+B,CAAE,OAAO,CAAE,OAAwB,CAClE,oBAAoC,CAAE,OAAO,CAAE,OAA6B,CAC5E,wBAAwC,CAAE,OAAO,CAAE,OAAiC,CACpF,uBAAuC,CAAE,OAAO,CAAE,OAAgC,CAClF,qBAAqC,CAAE,OAAO,CAAE,OAA8B,CAC9E,gBAAgC,CAAE,OAAO,CAAE,OAAyB,CACpE,uBAAuC,CAAE,OAAO,CAAE,OAAgC,CAClF,uBAAuC,CAAE,OAAO,CAAE,OAAgC,CAClF,wBAAwC,CAAE,OAAO,CAAE,OAAiC,CACpF,uBAAuC,CAAE,OAAO,CAAE,OAAgC,CAClF,sBAAsC,CAAE,OAAO,CAAE,OAA+B,CAChF,uBAAuC,CAAE,OAAO,CAAE,OAAgC,CAClF,sBAAsC,CAAE,OAAO,CAAE,OAA+B,CAChF,eAA+B,CAAE,OAAO,CAAE,OAAwB,CAClE,sBAAsC,CAAE,OAAO,CAAE,OAA+B,CAChF,oBAAoC,CAAE,OAAO,CAAE,OAA6B,CAC5E,gBAAgC,CAAE,OAAO,CAAE,OAAyB,CACpE,oBAAoC,CAAE,OAAO,CAAE,OAA6B,CAC5E,iBAAiC,CAAE,OAAO,CAAE,OAA0B,CACtE,iBAAiC,CAAE,OAAO,CAAE,OAA0B,CACtE,sBAAsC,CAAE,OAAO,CAAE,OAA+B,CAChF,wBAAwC,CAAE,OAAO,CAAE,OAAiC,CACpF,iBAAiC,CAAE,OAAO,CAAE,OAA0B,CACtE,mBAAmC,CAAE,OAAO,CAAE,OAA4B,CAC1E,sBAAsC,CAAE,OAAO,CAAE,OAA+B,CAChF,uBAAuC,CAAE,OAAO,CAAE,OAAgC,CAClF,sBAAsC,CAAE,OAAO,CAAE,OAA+B,CAChF,6BAA6C,CAAE,OAAO,CAAE,OAAsC,CAC9F,oBAAoC,CAAE,OAAO,CAAE,OAA6B,CAC5E,iBAAiC,CAAE,OAAO,CAAE,OAA0B,CACtE,mBAAmC,CAAE,OAAO,CAAE,OAA4B,CAC1E,2BAA2C,CAAE,OAAO,CAAE,OAAoC,CAC1F,cAA8B,CAAE,OAAO,CAAE,OAAuB,CAChE,sBAAsC,CAAE,OAAO,CAAE,OAA+B,CAChF,sBAAsC,CAAE,OAAO,CAAE,OAA+B,CAChF,iBAAiC,CAAE,OAAO,CAAE,OAA0B,CACtE,mBAAmC,CAAE,OAAO,CAAE,OAA4B,CAC1E,qBAAqC,CAAE,OAAO,CAAE,OAA8B,CAC9E,kBAAkC,CAAE,OAAO,CAAE,OAA2B,CACxE,wBAAwC,CAAE,OAAO,CAAE,OAAiC,CACpF,eAA+B,CAAE,OAAO,CAAE,OAAwB,CAClE,mBAAmC,CAAE,OAAO,CAAE,OAA4B,CAC1E,kBAAkC,CAAE,OAAO,CAAE,OAA2B,CACxE,gBAAgC,CAAE,OAAO,CAAE,OAAyB,CACpE,uBAAuC,CAAE,OAAO,CAAE,OAAgC,CAClF,iBAAiC,CAAE,OAAO,CAAE,OAA0B,CACtE,qBAAqC,CAAE,OAAO,CAAE,OAA8B,CAC9E,kBAAkC,CAAE,OAAO,CAAE,OAA2B,CACxE,yBAAyC,CAAE,OAAO,CAAE,OAAkC,CACtF,cAA8B,CAAE,OAAO,CAAE,OAAuB,CAChE,eAA+B,CAAE,OAAO,CAAE,OAAwB,CAClE,eAA+B,CAAE,OAAO,CAAE,OAAwB,CAClE,gBAAgC,CAAE,OAAO,CAAE,OAAyB,CACpE,eAA+B,CAAE,OAAO,CAAE,OAAwB,CAClE,oBAAoC,CAAE,OAAO,CAAE,OAA6B,CAC5E,gBAAgC,CAAE,OAAO,CAAE,OAAyB,CACpE,qBAAqC,CAAE,OAAO,CAAE,OAA8B,CAC9E,mBAAmC,CAAE,OAAO,CAAE,OAA4B,CAC1E,yBAAyC,CAAE,OAAO,CAAE,OAAkC,CACtF,wBAAwC,CAAE,OAAO,CAAE,OAAiC,CACpF,mBAAmC,CAAE,OAAO,CAAE,OAA4B,CAC1E,sBAAsC,CAAE,OAAO,CAAE,OAA+B,CAChF,qBAAqC,CAAE,OAAO,CAAE,OAA8B,CAC9E,aAA6B,CAAE,OAAO,CAAE,OAAsB,CAC9D,mBAAmC,CAAE,OAAO,CAAE,OAA4B,CAC1E,kBAAkC,CAAE,OAAO,CAAE,OAA2B,CACxE,wBAAwC,CAAE,OAAO,CAAE,OAAiC,CACpF,kBAAkC,CAAE,OAAO,CAAE,OAA2B,CACxE,oBAAoC,CAAE,OAAO,CAAE,OAA6B,CAC5E,sBAAsC,CAAE,OAAO,CAAE,OAA+B,CAChF,4BAA4C,CAAE,OAAO,CAAE,OAAqC,CAC5F,2BAA2C,CAAE,OAAO,CAAE,OAAoC,CAC1F,2BAA2C,CAAE,OAAO,CAAE,OAAoC,CAC1F,8BAA8C,CAAE,OAAO,CAAE,OAAuC,CAChG,qCAAqD,CAAE,OAAO,CAAE,OAA8C,CAC9G,sBAAsC,CAAE,OAAO,CAAE,OAA+B,CAChF,oBAAoC,CAAE,OAAO,CAAE,OAA6B,CAC5E,oBAAoC,CAAE,OAAO,CAAE,OAA6B,CAC5E,qBAAqC,CAAE,OAAO,CAAE,OAA8B,CAC9E,gBAAgC,CAAE,OAAO,CAAE,OAAyB,CACpE,uBAAuC,CAAE,OAAO,CAAE,OAAgC,CAClF,eAA+B,CAAE,OAAO,CAAE,OAAwB,CAClE,qBAAqC,CAAE,OAAO,CAAE,OAA8B,CAC9E,gBAAgC,CAAE,OAAO,CAAE,OAAyB,CACpE,qBAAqC,CAAE,OAAO,CAAE,OAA8B,CAC9E,oBAAoC,CAAE,OAAO,CAAE,OAA6B,CAC5E,kBAAkC,CAAE,OAAO,CAAE,OAA2B,CACxE,gBAAgC,CAAE,OAAO,CAAE,OAAyB,CACpE,2BAA2C,CAAE,OAAO,CAAE,OAAoC,CAC1F,oBAAoC,CAAE,OAAO,CAAE,OAA6B,CAC5E,wBAAwC,CAAE,OAAO,CAAE,OAAiC,CACpF,gBAAgC,CAAE,OAAO,CAAE,OAAyB,CACpE,sBAAsC,CAAE,OAAO,CAAE,OAA+B,CAChF,0BAA0C,CAAE,OAAO,CAAE,OAAmC,CACxF,gBAAgC,CAAE,OAAO,CAAE,OAAyB,CACpE,oBAAoC,CAAE,OAAO,CAAE,OAA6B,CAC5E,eAA+B,CAAE,OAAO,CAAE,OAAwB,CAClE,iBAAiC,CAAE,OAAO,CAAE,OAA0B,CACtE,sBAAsC,CAAE,OAAO,CAAE,OAA+B,CAChF,iBAAiC,CAAE,OAAO,CAAE,OAA0B,CACtE,gBAAgC,CAAE,OAAO,CAAE,OAAyB,CACpE,wBAAwC,CAAE,OAAO,CAAE,OAAiC,CACpF,wBAAwC,CAAE,OAAO,CAAE,OAAiC,CACpF,uBAAuC,CAAE,OAAO,CAAE,OAAgC,CAClF,uBAAuC,CAAE,OAAO,CAAE,OAAgC,CAClF,iBAAiC,CAAE,OAAO,CAAE,OAA0B,CACtE,cAA8B,CAAE,OAAO,CAAE,OAAuB,CAChE,iBAAiC,CAAE,OAAO,CAAE,OAA0B,CACtE,wBAAwC,CAAE,OAAO,CAAE,OAAiC,CACpF,aAA6B,CAAE,OAAO,CAAE,OAAsB,CAC9D,iBAAiC,CAAE,OAAO,CAAE,OAA0B,CACtE,kBAAkC,CAAE,OAAO,CAAE,OAA2B,CACxE,yBAAyC,CAAE,OAAO,CAAE,OAAkC,CACtF,gBAAgC,CAAE,OAAO,CAAE,OAAyB,CACpE,eAA+B,CAAE,OAAO,CAAE,OAAwB,CAClE,gBAAgC,CAAE,OAAO,CAAE,OAAyB,CACpE,mBAAmC,CAAE,OAAO,CAAE,OAA4B,CAC1E,yBAAyC,CAAE,OAAO,CAAE,OAAkC,CACtF,oBAAoC,CAAE,OAAO,CAAE,OAA6B,CAC5E,eAA+B,CAAE,OAAO,CAAE,OAAwB,CAClE,mBAAmC,CAAE,OAAO,CAAE,OAA4B,CAC1E,sBAAsC,CAAE,OAAO,CAAE,OAA+B,CAChF,2BAA2C,CAAE,OAAO,CAAE,OAAoC,CAC1F,qBAAqC,CAAE,OAAO,CAAE,OAA8B,CAC9E,iBAAiC,CAAE,OAAO,CAAE,OAA0B,CACtE,iBAAiC,CAAE,OAAO,CAAE,OAA0B,CACtE,qBAAqC,CAAE,OAAO,CAAE,OAA8B,CAC9E,kBAAkC,CAAE,OAAO,CAAE,OAA2B,CACxE,iBAAiC,CAAE,OAAO,CAAE,OAA0B,CACtE,cAA8B,CAAE,OAAO,CAAE,OAAuB,CAChE,eAA+B,CAAE,OAAO,CAAE,OAAwB,CAClE,mBAAmC,CAAE,OAAO,CAAE,OAA4B,CAC1E,yBAAyC,CAAE,OAAO,CAAE,OAAkC,CACtF,yBAAyC,CAAE,OAAO,CAAE,OAAkC,CACtF,qBAAqC,CAAE,OAAO,CAAE,OAA8B,CAC9E,sBAAsC,CAAE,OAAO,CAAE,OAA+B,CAChF,qBAAqC,CAAE,OAAO,CAAE,OAA8B,CAC9E,mBAAmC,CAAE,OAAO,CAAE,OAA4B,CAC1E,oBAAoC,CAAE,OAAO,CAAE,OAA6B,CAC5E,uBAAuC,CAAE,OAAO,CAAE,OAAgC,CAClF,wBAAwC,CAAE,OAAO,CAAE,OAAiC,CACpF,oBAAoC,CAAE,OAAO,CAAE,OAA6B,CAC5E,kBAAkC,CAAE,OAAO,CAAE,OAA2B,CACxE,qBAAqC,CAAE,OAAO,CAAE,OAA8B,CAC9E,qBAAqC,CAAE,OAAO,CAAE,OAA8B,CAC9E,oBAAoC,CAAE,OAAO,CAAE,OAA6B,CAC5E,sBAAsC,CAAE,OAAO,CAAE,OAA+B,CAChF,sBAAsC,CAAE,OAAO,CAAE,OAA+B,CAChF,qBAAqC,CAAE,OAAO,CAAE,OAA8B,CAC9E,mBAAmC,CAAE,OAAO,CAAE,OAA4B,CAC1E,mBAAmC,CAAE,OAAO,CAAE,OAA4B,CAC1E,qBAAqC,CAAE,OAAO,CAAE,OAA8B,CAC9E,gBAAgC,CAAE,OAAO,CAAE,OAAyB,CACpE,oBAAoC,CAAE,OAAO,CAAE,OAA6B,CAC5E,mBAAmC,CAAE,OAAO,CAAE,OAA4B,CAC1E,wBAAwC,CAAE,OAAO,CAAE,OAAiC,CACpF,mBAAmC,CAAE,OAAO,CAAE,OAA4B,CAC1E,iBAAiC,CAAE,OAAO,CAAE,OAA0B,CACtE,wBAAwC,CAAE,OAAO,CAAE,OAAiC,CACpF,gBAAgC,CAAE,OAAO,CAAE,OAAyB,CACpE,uBAAuC,CAAE,OAAO,CAAE,OAAgC,CAClF,qBAAqC,CAAE,OAAO,CAAE,OAA8B,CAC9E,kBAAkC,CAAE,OAAO,CAAE,OAA2B,CACxE,iBAAiC,CAAE,OAAO,CAAE,OAA0B,CACtE,wBAAwC,CAAE,OAAO,CAAE,OAAiC,CACpF,eAA+B,CAAE,OAAO,CAAE,OAAwB,CAClE,gBAAgC,CAAE,OAAO,CAAE,OAAyB,CACpE,gBAAgC,CAAE,OAAO,CAAE,OAAyB,CACpE,gBAAgC,CAAE,OAAO,CAAE,OAAyB,CACpE,sBAAsC,CAAE,OAAO,CAAE,OAA+B,CAChF,gBAAgC,CAAE,OAAO,CAAE,OAAyB,CACpE,uBAAuC,CAAE,OAAO,CAAE,OAAgC,CAClF,kBAAkC,CAAE,OAAO,CAAE,OAA2B,CACxE,eAA+B,CAAE,OAAO,CAAE,OAAwB,CAClE,aAA6B,CAAE,OAAO,CAAE,OAAsB,CAC9D,cAA8B,CAAE,OAAO,CAAE,OAAuB,CAChE,0BAA0C,CAAE,OAAO,CAAE,OAAmC,CACxF,sBAAsC,CAAE,OAAO,CAAE,OAA+B,CAChF,qBAAqC,CAAE,OAAO,CAAE,OAA8B,CAC9E,oBAAoC,CAAE,OAAO,CAAE,OAA6B,CAC5E,gBAAgC,CAAE,OAAO,CAAE,OAAyB,CACpE,kBAAkC,CAAE,OAAO,CAAE,OAA2B,CACxE,iBAAiC,CAAE,OAAO,CAAE,OAA0B,CACtE,oBAAoC,CAAE,OAAO,CAAE,OAA6B,CAC5E,iBAAiC,CAAE,OAAO,CAAE,OAA0B,CACtE,gBAAgC,CAAE,OAAO,CAAE,OAAyB,CACpE,iBAAiC,CAAE,OAAO,CAAE,OAA0B,CACtE,yBAAyC,CAAE,OAAO,CAAE,OAAkC,CACtF,iBAAiC,CAAE,OAAO,CAAE,OAA0B,CACtE,mBAAmC,CAAE,OAAO,CAAE,OAA4B,CAC1E,0BAA0C,CAAE,OAAO,CAAE,OAAmC,CACxF,qBAAqC,CAAE,OAAO,CAAE,OAA8B,CAC9E,gBAAgC,CAAE,OAAO,CAAE,OAAyB,CACpE,eAA+B,CAAE,OAAO,CAAE,OAAwB,CAClE,sBAAsC,CAAE,OAAO,CAAE,OAA+B,CAChF,uBAAuC,CAAE,OAAO,CAAE,OAAgC,CAClF,0BAA0C,CAAE,OAAO,CAAE,OAAmC,CACxF,0BAA0C,CAAE,OAAO,CAAE,OAAmC,CACxF,yBAAyC,CAAE,OAAO,CAAE,OAAkC,CACtF,kBAAkC,CAAE,OAAO,CAAE,OAA2B,CACxE,qBAAqC,CAAE,OAAO,CAAE,OAA8B,CAC9E,yBAAyC,CAAE,OAAO,CAAE,OAAkC,CACtF,cAA8B,CAAE,OAAO,CAAE,OAAuB,CAChE,8BAA8C,CAAE,OAAO,CAAE,OAAuC,CAChG,mBAAmC,CAAE,OAAO,CAAE,OAA4B,CAC1E,oBAAoC,CAAE,OAAO,CAAE,OAA6B,CAC5E,2BAA2C,CAAE,OAAO,CAAE,OAAoC,CAC1F,qBAAqC,CAAE,OAAO,CAAE,OAA8B,CAC9E,qBAAqC,CAAE,OAAO,CAAE,OAA8B,CAC9E,kBAAkC,CAAE,OAAO,CAAE,OAA2B,CACxE,iBAAiC,CAAE,OAAO,CAAE,OAA0B,CACtE,gBAAgC,CAAE,OAAO,CAAE,OAAyB,CACpE,eAA+B,CAAE,OAAO,CAAE,OAAwB,CAClE,eAA+B,CAAE,OAAO,CAAE,OAAwB,CAClE,sBAAsC,CAAE,OAAO,CAAE,OAA+B,CAChF,uBAAuC,CAAE,OAAO,CAAE,OAAgC,CAClF,gBAAgC,CAAE,OAAO,CAAE,OAAyB,CACpE,iBAAiC,CAAE,OAAO,CAAE,OAA0B,CACtE,+BAA+C,CAAE,OAAO,CAAE,OAAwC,CAClG,eAA+B,CAAE,OAAO,CAAE,OAAwB,CAClE,mBAAmC,CAAE,OAAO,CAAE,OAA4B,CAC1E,gBAAgC,CAAE,OAAO,CAAE,OAAyB,CACpE,kBAAkC,CAAE,OAAO,CAAE,OAA2B,CACxE,yBAAyC,CAAE,OAAO,CAAE,OAAkC,CACtF,gBAAgC,CAAE,OAAO,CAAE,OAAyB,CCxnCpE,QAAS,CH2BP,MAAM,CAAE,CAAC,CACT,IAAI,CAAE,gBAAgB,CACtB,MAAM,CAAE,GAAG,CACX,MAAM,CAAE,IAAI,CACZ,QAAQ,CAAE,MAAM,CAChB,OAAO,CAAE,CAAC,CACV,QAAQ,CAAE,QAAQ,CAClB,KAAK,CAAE,GAAG,CAUV,kDACQ,CACN,IAAI,CAAE,IAAI,CACV,MAAM,CAAE,IAAI,CACZ,MAAM,CAAE,CAAC,CACT,QAAQ,CAAE,OAAO,CACjB,QAAQ,CAAE,MAAM,CAChB,KAAK,CAAE,IAAI,CItDf;;;GAGG,AAGH,UAUC,CATC,WAAW,CAAE,qBAAqB,CAClC,UAAU,CAAE,MAAM,CAClB,WAAW,CAAE,GAAG,CAChB,GAAG,CAAE,qCAA0C,CAC/C,GAAG,CAAE,+SAI+D,CAGtE,IAAK,CACH,WAAW,CAAE,qBAAqB,CAClC,WAAW,CAAE,GAAG,CCpBlB;;;GAGG,AAGH,UAUC,CATC,WAAW,CAAE,qBAAqB,CAClC,UAAU,CAAE,MAAM,CAClB,WAAW,CAAE,GAAG,CAChB,GAAG,CAAE,mCAAwC,CAC7C,GAAG,CAAE,qSAI6D,CAGpE,0CACK,CACH,WAAW,CAAE,qBAAqB,CAClC,WAAW,CAAE,GAAG,CCrBlB;;;GAGG,AAGH,UAUC,CATC,WAAW,CAAE,uBAAuB,CACpC,UAAU,CAAE,MAAM,CAClB,WAAW,CAAE,MAAM,CACnB,GAAG,CAAE,oCAAyC,CAC9C,GAAG,CAAE,0SAI8D,CAGrE,IAAK,CACH,WAAW,CAAE,uBAAuB,CCStC,iBAAiB,CAAE,gBAAgB,CAAE,UAAU,CAAE,YAAY,CAAE,UAAU,CACzE,qEAAsE,CAAE,gBAAgB,CAAE,IAAI,CAAE,YAAY,CAAE,IAAI,CAElH,iBAAiB,CACf,QAAQ,CAAE,QAAQ,CAClB,QAAQ,CAAE,MAAM,CAChB,MAAM,CAAE,IAAI,CACZ,SAAS,CAAE,IAAI,CACf,OAAO,CAAE,IAAI,CACb,SAAS,CAAE,GAAG,CAGhB,eAAe,CACb,QAAQ,CAAE,MAAM,CAChB,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,IAAI,CAYd,4BAA8B,CAAE,YAAY,CAvDX,IAAI,CAyDrC,+CAA+C,CAAE,YAAY,CAAE,CAAC,CAEhE,yCAA6C,CAC3C,YAAY,CAAE,CAAC,CACf,WAAW,CA7DoB,IAAI,CAgErC,yEAA6E,CAAE,WAAW,CAAE,CAAC,CAE7F,iBAAiB,CACf,QAAQ,CAAE,QAAQ,CAClB,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,IAAI,CACZ,IAAI,CAAE,IAAI,CACV,GAAG,CAAE,CAAC,CACN,KAAK,CAAE,CAAC,CACR,MAAM,CAAE,CAAC,CAGX,+BAAiC,CAAE,KAAK,CAAE,KAAK,CAE/C,wFACgD,CAC9C,KAAK,CAAE,IAAI,CACX,IAAI,CAAE,CAAC,CAGT,4CAAgD,CAAE,IAAI,CAAE,KAAK,CAE7D,wCAAwC,CACtC,QAAQ,CAAE,QAAQ,CAClB,GAAG,CAAE,CAAC,CACN,IAAI,CAAE,CAAC,CACP,MAAM,CAAE,CAAC,CACT,KAAK,CAAE,CAAC,CACR,MAAM,CAAE,IAAI,CAGd,0CAA4C,CAAE,MAAM,CAAE,MAAM,CAE5D,mCAAmC,CACjC,KAAK,CAAE,GAAG,CACV,MAAM,CAAE,IAAI,CACZ,MAAM,CAAE,MAAM,CACd,qBAAqB,CAAE,IAAI,CAAE,kBAAkB,CAAE,IAAI,CAAE,aAAa,CAAE,IAAI,CAG5E,+BAA+B,CAC7B,MAAM,CAAE,OAAO,CACf,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,IAAI,CACZ,OAAO,CAAE,CAAC,CAGZ,iDAAiD,CAC/C,QAAQ,CAAE,QAAQ,CAClB,KAAK,CAAE,GAAG,CACV,MAAM,CAAE,IAAI,CACZ,MAAM,CAAE,MAAM,CACd,qBAAqB,CAAE,IAAI,CAAE,kBAAkB,CAAE,IAAI,CAAE,aAAa,CAAE,IAAI,CAC1E,UAAU,CAAE,MAAM,CAGpB,6OACsH,CAAE,KAAK,CAAE,IAAI,CAEnI,+NACwG,CAAE,KAAK,CAAE,GAAG,CAEpH,mEACkC,CAChC,OAAO,CAAE,KAAK,CACd,QAAQ,CAAE,QAAQ,CAClB,MAAM,CAAE,IAAI,CACZ,KAAK,CAAE,IAAI,CACX,QAAQ,CAAE,MAAM,CAChB,MAAM,CAAE,MAAM,CACd,MAAM,CAAE,OAAO,CAGjB,kCAAkC,CAAE,MAAM,CAAE,CAAC,CAW7C,4CAA8C,CAC5C,YAAY,CAAE,CAAC,CACf,aAAa,CAtJkB,IAAI,CAyJrC,6CAA+C,CAAE,UAAU,CAAE,IAAI,CAEjE,gEAAkE,CAAE,aAAa,CAAE,CAAC,CAEpF,6CAA6C,CAC3C,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,IAAI,CACZ,GAAG,CAAE,IAAI,CACT,KAAK,CAAE,CAAC,CACR,MAAM,CAAE,CAAC,CACT,IAAI,CAAE,CAAC,CAGT,iJACqF,CAAE,MAAM,CAAE,KAAK,CAEpG,sEAAwE,CAAE,MAAM,CAAE,MAAM,CAExF,+DAA+D,CAC7D,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,GAAG,CACX,MAAM,CAAE,KAAK,CAGf,2DAA2D,CACzD,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,IAAI,CACZ,IAAI,CAAE,CAAC,CAGT,6EAA6E,CAC3E,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,GAAG,CACX,MAAM,CAAE,QAAQ,CAGlB,iPACwH,CACtH,MAAM,CAAE,IAAI,CACZ,MAAM,CAAE,QAAQ,CAGlB,mOAC0G,CACxG,MAAM,CAAE,GAAG,CACX,MAAM,CAAE,KAAK,CAGf,8HAC+D,CAC7D,OAAO,CAAE,KAAK,CACd,QAAQ,CAAE,QAAQ,CAClB,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,IAAI,CACZ,QAAQ,CAAE,MAAM,CAChB,MAAM,CAAE,MAAM,CACd,MAAM,CAAE,OAAO,CAGjB,8DAA8D,CAAE,IAAI,CAAE,CAAC,CAEvE,+DAA+D,CAAE,KAAK,CAAE,CAAC,CAWzE,uBAAuB,CACrB,QAAQ,CAAE,QAAQ,CAClB,MAAM,CAAE,IAAI,CACZ,KAAK,CAAE,IAAI,CACX,QAAQ,CAAE,MAAM,CAChB,GAAG,CAAE,CAAC,CACN,IAAI,CAAE,CAAC,CACP,KAAK,CAAE,CAAC,CACR,MAAM,CAAE,CAAC,CACT,YAAY,CA1OmB,IAAI,CA2OnC,aAAa,CA3OkB,IAAI,CA8OrC,uCAAyC,CACvC,aAAa,CA/OkB,IAAI,CAgPnC,cAAc,CAhPiB,IAAI,CAiPnC,kBAAkB,CAAE,UAAU,CAAE,eAAe,CAAE,UAAU,CAAE,UAAU,CAAE,UAAU,CAGrF,qEAAuE,CAAE,MAAM,CAAE,IAAI,CAErF,uEAAyE,CAAE,KAAK,CAAE,IAAI,CAGtF,mGAAqG,CAAE,MAAM,CAAE,CAAC,CAGhH,2OACqH,CAAE,KAAK,CAAE,CAAC,CAG/H,iHAAqH,CAAE,IAAI,CAAE,IAAI,CAGjI,6LAAmM,CAAE,IAAI,CAAE,CAAC,CAE5M,iDAAqD,CACnD,YAAY,CAAE,CAAC,CACf,WAAW,CAvQoB,IAAI,CA0QrC,uEAAyE,CAAE,aAAa,CAAE,CAAC,CAE3F,uEAAyE,CAAE,cAAc,CAAE,CAAC,CAE5F,8GAAgH,CAC9G,YAAY,CAAE,CAAC,CACf,WAAW,CAAE,CAAC,CAIhB,8GAAgH,CAAE,aAAa,CAAE,CAAC,CAUlI,8MAKmC,CACjC,kBAAkB,CAAE,yDAAyD,CAC7E,eAAe,CAAE,yDAAyD,CAC1E,aAAa,CAAE,yDAAyD,CACxE,UAAU,CAAE,yDAAyD,CAGvE,mTAG6E,CAC3E,kBAAkB,CAAE,oOAGqC,CACzD,eAAe,CAAE,oOAGwC,CACzD,aAAa,CAAE,oOAG0C,CACzD,UAAU,CAAE,oOAG6C,CAmB3D,iBAAiB,CAAE,OAAO,CAAE,IAAI,CAAE,MAAM,CAAE,mBAAmB,CAAE,UAAU,CAAE,mBAAmB,CAE9F,qGACqD,CAAE,OAAO,CAAE,CAAC,CAAE,MAAM,CAAE,kBAAkB,CAAE,UAAU,CAAE,kBAAkB,CAE7H,qWAK2D,CAAE,OAAO,CAAE,CAAC,CAAE,MAAM,CAAE,oBAAoB,CAAE,UAAU,CAAE,oBAAoB,CAEvI,mCAAmC,CACjC,gBAAgB,CAAE,IAAI,CAAE,gBAAgB,CAAE,eAAe,CACzD,MAAM,CAAE,mBAAmB,CAAE,UAAU,CAAE,mBAAmB,CAG9D,iDAAiD,CAC/C,gBAAgB,CrDuZY,OAAa,CqDvZR,gBAAgB,CAAE,sBAAsB,CACzE,MAAM,CAAE,mBAAmB,CAAE,UAAU,CAAE,mBAAmB,CAG9D,uDAAuD,CACrD,gBAAgB,CrD8RY,OAAc,CqD9Rf,gBAAgB,CAAE,qBAAqB,CAClE,MAAM,CAAE,mBAAmB,CAAE,UAAU,CAAE,mBAAmB,CAE9D,8HACqE,CACnE,gBAAgB,CrDyRY,OAAc,CqDzRf,gBAAgB,CAAE,oBAAoB,CACjE,MAAM,CAAE,mBAAmB,CAAE,UAAU,CAAE,mBAAmB,CAG9D,0IAGmC,CAEjC,UAAU,CAAE,67HAAkD,CAC9D,iBAAiB,CAAE,SAAS,CAC5B,OAAO,CAAE,GAAG,CAAE,MAAM,CAAE,mBAAmB,CAAE,UAAU,CAAE,mBAAmB,CAG5E,gCAAgC,CAC9B,mBAAmB,CAAE,GAAG,CAQ1B,kCAAkC,CAChC,mBAAmB,CAAE,OAAO,CAQ9B,kCAAkC,CAChC,mBAAmB,CAAE,OAAO,CAQ9B,mCAAmC,CACjC,mBAAmB,CAAE,OAAO,CAQ9B,kKAGyC,CAAE,OAAO,CAAE,IAAI,CAAE,MAAM,CAAE,mBAAmB,CAAE,UAAU,CAAE,mBAAmB,CAEtH,sKAG0C,CAAE,OAAO,CAAE,GAAG,CAAE,MAAM,CAAE,mBAAmB,CAAE,UAAU,CAAE,mBAAmB,CA+pBtH,8FAC8C,CAC5C,KAAK,CAAE,GAAG,CACV,gBAAgB,CAAE,IAAI,CAAE,gBAAgB,CAAE,eAAe,CAG3D,0HAC4D,CAAE,KAAK,CAAE,GAAG,CAExE,qQAGyD,CACvD,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,GAAG,CACX,MAAM,CAAE,KAAK,CAGf,6eAGmH,CACjH,KAAK,CAAE,IAAI,CAGb,qfAGqH,CACnH,MAAM,CAAE,IAAI,CACZ,MAAM,CAAE,KAAK,CAGf,4CAA4C,CAAE,mBAAmB,CAAE,WAAW,CAE9E,8CAA8C,CAAE,mBAAmB,CAAE,WAAW,CAEhF,8CAA8C,CAAE,mBAAmB,CAAE,YAAY,CAEjF,+CAA+C,CAAE,mBAAmB,CAAE,YAAY,CCzmClF,eAAgB,CACd,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,MAAM,CACd,KAAK,CAAE,IAAI,CACX,eAAe,CAAE,QAAQ,CACzB,cAAc,CAAE,CAAC,CAQnB,iDACyB,CACvB,WAAW,CAAE,IAAI,CAEnB,iDACyB,CACvB,OAAO,CAAE,SAAS,CAClB,aAAa,CAAE,iBAAe,CAEhC,+DACgC,CAC9B,OAAO,CAAE,IAAI,CAEf,iDACyB,CACvB,OAAO,CAAE,kBAAkB,CAC3B,UAAU,CAAE,iBAAe,CAE7B,qGAEoC,CAClC,MAAM,CAAE,OAAO,CACf,OAAO,CAAE,IAAI,CAEf,8LAI6C,CAC3C,iBAAiB,CAAE,SAAS,CAC5B,mBAAmB,CAAE,YAAY,CAEnC,8BAA+B,CAC7B,gBAAgB,CAAE,uCAAuC,CAE3D,kCAAmC,CACjC,gBAAgB,CAAE,sCAAsC,CAE1D,mCAAoC,CAClC,gBAAgB,CAAE,uCAAuC,CAE3D,2CAA4C,CAC1C,gBAAgB,CAAE,+CAA+C,CAEnE,4CAA6C,CAC3C,gBAAgB,CAAE,gDAAgD,CAEpE,wBAAyB,CACvB,gBAAgB,CAAE,OAAwB,CAE5C,iCAAkC,CAChC,gBAAgB,C7CxCY,OAAO,C6C0CrC,iDACyB,CACvB,OAAO,CAAE,QAAQ,CAEnB,yIAA6I,CAC3I,UAAU,CAAE,iBAAe,CAE7B,qMAEgD,CAC9C,UAAU,CAAE,IAAI,CAElB,yEAA2E,CACzE,UAAU,CAAE,cAAc,CAC1B,YAAY,CAAE,cAAc,CAE9B,uGACoD,CAClD,WAAW,CAAE,cAAc,CAE7B,uGACoD,CAClD,UAAU,CAAE,IAAI,CAElB,wEAA0E,CACxE,gBAAgB,CtDioBY,OAAY,CsD/nB1C,0FAA4F,CAC1F,gBAAgB,C7CtEY,OAAO,C6CwErC,2EAA6E,CAE3E,OAAO,CAAE,iBAAsB,CAC/B,cAAc,CAAE,IAAI,CAEpB,iFAAE,CACA,gBAAgB,CAAE,qBAAuB,CAG7C,6FAA+F,CAC7F,gBAAgB,CAAE,OAAyB,CAE7C,sRAI8C,CAC5C,gBAAgB,CtD2mBY,OAAY,CsDzmB1C,4UAIuD,CACrD,gBAAgB,CAAE,OAAO,CAE3B,2GAAiH,CAC/G,gBAAgB,C7CpGY,OAAO,C6CsGrC,2GAAiH,CAC/G,gBAAgB,C7CtGY,OAAO,C6CwGrC,2GAAiH,CAC/G,gBAAgB,CAAE,OAAyB,CAE7C,6HAAmI,CACjI,gBAAgB,CAAE,OAAyB,CAE7C,6HAAmI,CACjI,gBAAgB,CAAE,OAAO,CAE3B,6HAAmI,CACjI,gBAAgB,CAAE,OAAO,CAE3B,6GAAmH,CACjH,gBAAgB,C7CtHY,OAAO,C6CwHrC,6GAAmH,CACjH,gBAAgB,C7CxHY,OAAO,C6C0HrC,6GAAmH,CACjH,gBAAgB,CAAE,OAAyB,CAE7C,+HAAqI,CACnI,gBAAgB,CAAE,OAAyB,CAE7C,+HAAqI,CACnI,gBAAgB,CAAE,OAAO,CAE3B,+HAAqI,CACnI,gBAAgB,CAAE,OAAO,CAE3B,8GAAoH,CAClH,gBAAgB,CAAE,eAAmC,CAEvD,8GAAoH,CAClH,gBAAgB,CAAE,eAAmC,CAEvD,8GAAoH,CAClH,gBAAgB,CAAE,eAAmC,CAEvD,gIAAsI,CACpI,gBAAgB,CAAE,OAAyB,CAE7C,gIAAsI,CACpI,gBAAgB,CAAE,OAAO,CAE3B,gIAAsI,CACpI,gBAAgB,CAAE,OAAO,CAE3B,yBAA0B,CACxB,aAAa,CAAE,iBAAe,CAEhC,mDAAqD,CACnD,WAAW,CAAE,MAAM,CAErB,+GACwD,CACtD,OAAO,CAAE,gBAAgB,CAE3B,iEACiC,CAC/B,OAAO,CAAE,eAAe,CAE1B,iEACiC,CAC/B,OAAO,CAAE,GAAG,CAEd,iEACiC,CAC/B,OAAO,CAAE,GAAG,CAEd,qDAC2B,CACzB,UAAU,CAAE,IAAI,CAElB,6FAEoC,CAClC,UAAU,CAAE,MAAM,CAEpB,uDAC4B,CAC1B,UAAU,CAAE,KAAK,CAEnB,2DAC8B,CAC5B,UAAU,CAAE,OAAO,CAErB,yDAC6B,CAC3B,WAAW,CAAE,MAAM,CAErB,uJAGsC,CACpC,UAAU,CAAE,IAAI,CAElB,+JAGwC,CACtC,UAAU,CAAE,MAAM,CAEpB,2JAGuC,CACrC,UAAU,CAAE,KAAK,CAEnB,mKAGyC,CACvC,UAAU,CAAE,OAAO,CAErB,+JAGwC,CACtC,WAAW,CAAE,MAAM,CAErB,2EACsC,CACpC,UAAU,CAAE,IAAI,CAElB,+EACwC,CACtC,UAAU,CAAE,MAAM,CAEpB,6EACuC,CACrC,UAAU,CAAE,KAAK,CAEnB,iFACyC,CACvC,UAAU,CAAE,OAAO,CAErB,+EACwC,CACtC,WAAW,CAAE,MAAM,CAGrB,qDAEmB,CACjB,kBAAkB,CAAE,WAAW,CAC/B,eAAe,CAAE,WAAW,CAC5B,UAAU,CAAE,WAAW,CAMzB,mBAAoB,CAClB,QAAQ,CAAE,QAAQ,CAClB,KAAK,CAAE,IAAI,CACX,KAAK,CAAE,CAAC,CACR,IAAI,CAAE,CAAC,CAET,sCAAuC,CACrC,KAAK,CAAE,IAAI,CAEb,sCAAuC,CACrC,KAAK,CAAE,KAAK,CACZ,UAAU,CAAE,KAAK,CAEnB,4CAA6C,CAC3C,WAAW,CAAE,KAAK,CAEpB,oCAAqC,CACnC,KAAK,CAAE,IAAI,CACX,KAAK,CAAE,IAAI,CACX,WAAW,CAAE,KAAK,CAEpB,wCAAyC,CACvC,KAAK,CAAE,KAAK,CACZ,UAAU,CAAE,KAAK,CACjB,WAAW,CAAE,KAAK,CAEpB,yDAA0D,CACxD,UAAU,CAAE,UAAU,CACtB,OAAO,CAAE,YAAY,CACrB,SAAS,CAAE,KAAK,CAChB,OAAO,CAAE,WAAW,CACpB,WAAW,CAAE,GAAG,CAChB,UAAU,CAAE,MAAM,CAClB,eAAe,CAAE,eAAe,CAChC,MAAM,CAAE,OAAO,CACf,OAAO,CAAE,IAAI,CACb,KAAK,CAAE,kBAAmC,CAC1C,MAAM,CAAE,qBAAqB,CAC7B,aAAa,CAAE,GAAG,CAEpB,yIAA2I,CACzI,KAAK,CAAE,kBAAwB,CAC/B,MAAM,CAAE,qBAAqB,CAC7B,gBAAgB,CtDuVY,OAAU,CsDtVtC,UAAU,CAAE,mGAA2G,CAEvH,UAAU,CAAE,sDAA8D,CAE1E,UAAU,CAAE,mDAA2D,CAEvE,UAAU,CAAE,kDAA0D,CAEtE,UAAU,CAAE,iDAAyD,CAErE,UAAU,CAAE,mDAA4D,CAG1E,qNAAwN,CACtN,MAAM,CAAE,OAAO,CACf,KAAK,CAAE,kBAAkC,CACzC,MAAM,CAAE,qBAAqB,CAC7B,UAAU,CAAE,WAAW,CACvB,UAAU,CAAE,IAAI,CAChB,cAAc,CAAE,GAAG,CACnB,MAAM,CAAE,WAAW,CAErB,+DAAgE,CAC9D,KAAK,CAAE,kBAAqB,CAC5B,MAAM,CAAE,qBAAqB,CAC7B,gBAAgB,CtDibc,OAAY,CsDhb1C,UAAU,CAAE,mGAA6G,CAEzH,UAAU,CAAE,sDAAgE,CAE5E,UAAU,CAAE,mDAA6D,CAEzE,UAAU,CAAE,kDAA4D,CAExE,UAAU,CAAE,iDAA2D,CAEvE,UAAU,CAAE,mDAA8D,CAG5E,gEAAiE,CAC/D,OAAO,CAAE,IAAI,CACb,gBAAgB,CtDiac,OAAY,CsDha1C,UAAU,CAAE,mGAA6G,CAEzH,UAAU,CAAE,sDAAgE,CAE5E,UAAU,CAAE,mDAA6D,CAEzE,UAAU,CAAE,kDAA4D,CAExE,UAAU,CAAE,iDAA2D,CAEvE,UAAU,CAAE,mDAA8D,CAE5E,kDAAmD,CACjD,OAAO,CAAE,KAAK,CAEhB,0CAA2C,CACzC,QAAQ,CAAE,QAAQ,CAClB,GAAG,CAAE,GAAG,CACR,IAAI,CAAE,GAAG,CACT,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,IAAI,CACZ,WAAW,CAAE,IAAI,CACjB,UAAU,CAAE,KAAK,CACjB,WAAW,CAAE,IAAI,CACjB,UAAU,CAAE,MAAM,CAClB,SAAS,CAAE,KAAK,CAChB,gBAAgB,CAAE,KAAK,CACvB,UAAU,CAAE,yMAAqN,CACjO,UAAU,CAAE,qIAAiJ,CAC7J,UAAU,CAAE,kIAA8I,CAC1J,UAAU,CAAE,iIAA6I,CACzJ,UAAU,CAAE,gIAA4I,CACxJ,UAAU,CAAE,8HAA6I,CAE3J,sMAIyC,CACvC,KAAK,CtDqVuB,OAAW,CsDnVzC,sCAAuC,CACrC,KAAK,CAAE,IAAI,CAEb,gEAAiE,CAC/D,WAAW,CAAE,IAAI,CACjB,0BAA0B,CAAE,KAAK,CAEnC,uIAAyI,CACvI,cAAc,CAAE,MAAM,CAExB,mLAC4F,CAC1F,MAAM,CAAE,CAAC,CACT,QAAQ,CAAE,MAAM,CAChB,MAAM,CAAE,YAAY,CACpB,OAAO,CAAE,YAAY,CAEvB,oDAAqD,CACnD,aAAa,CAAE,cAAc,CAE/B,2HAC8D,CAC5D,aAAa,CAAE,IAAI,CAErB,yBAA0B,CACxB,UAAU,CAAE,MAAM,CAClB,OAAO,CAAE,KAAK,CACd,OAAO,CAAE,EAAE,CACX,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,CAAC,CAGX,oCAAqC,CACnC,6EACyC,CACvC,KAAK,CAAE,IAAI,CACX,UAAU,CAAE,MAAM,CAEpB,wCAAyC,CACvC,UAAU,CAAE,KAAK,EAGrB,oCAAqC,CACnC,6EACuC,CACrC,KAAK,CAAE,IAAI,CACX,UAAU,CAAE,MAAM,CAEpB,sCAAuC,CACrC,UAAU,CAAE,KAAK,EC5crB,kBAAmB,CACjB,QAAQ,CAAE,KAAK,CACf,GAAG,CAAE,GAAG,CACR,IAAI,CAAE,GAAG,CACT,KAAK,CAAE,KAAK,CACZ,UAAU,CAAE,MAAM,CAClB,WAAW,CAAE,MAAM,CACnB,gBAAgB,CAAE,KAAK,CACvB,MAAM,CAAE,cAAc,CACtB,UAAU,CAAE,2BAA8B,CAC1C,aAAa,CAAE,GAAG,CAClB,UAAU,CAAE,MAAM,CAClB,OAAO,CAAE,EAAE,CAEb,qBAAsB,CACpB,OAAO,CAAE,KAAK,CACd,MAAM,CAAE,CAAC,CACT,WAAW,CAAE,MAAM,CACnB,aAAa,CAAE,cAAc,CAC7B,gBAAgB,CAAE,OAAO,CAE3B,sBAAyB,CACvB,OAAO,CAAE,GAAG,CAGd,qCAAsC,CACpC,OAAO,CAAE,KAAK,CACd,OAAO,CAAE,IAAI,CACb,kBAAkB,CAAE,GAAG,CACvB,eAAe,CAAE,GAAG,CACpB,cAAc,CAAE,GAAG,CACnB,aAAa,CAAE,GAAG,CAClB,UAAU,CAAE,GAAG,CAEjB,2CAA4C,CAC1C,QAAQ,CAAE,KAAK,CACf,GAAG,CAAE,GAAG,CACR,IAAI,CAAE,GAAG,CACT,WAAW,CAAE,KAAK,CAClB,aAAa,CAAE,CAAC,CAElB,sDAAuD,CACrD,WAAW,CAAE,MAAM,CAErB,wDAAyD,CACvD,WAAW,CAAE,MAAM,CAErB,uDAAwD,CACtD,WAAW,CAAE,MAAM,CAErB,uCAA0C,CACxC,2BAA2B,CAAE,KAAK,CAClC,YAAY,CAAE,KAAK,CAErB,gDAAiD,CAC/C,KAAK,CAAE,KAAK,CACZ,cAAc,CAAE,GAAG,CACnB,oBAAoB,CAAE,CAAC,CACvB,iBAAiB,CAAE,CAAC,CACpB,gBAAgB,CAAE,CAAC,CACnB,eAAe,CAAE,CAAC,CAClB,YAAY,CAAE,CAAC,CAEjB,kDAAmD,CACjD,KAAK,CAAE,KAAK,CACZ,cAAc,CAAE,GAAG,CACnB,oBAAoB,CAAE,CAAC,CACvB,iBAAiB,CAAE,CAAC,CACpB,gBAAgB,CAAE,CAAC,CACnB,eAAe,CAAE,CAAC,CAClB,YAAY,CAAE,CAAC,CAEjB,iDAAkD,CAChD,KAAK,CAAE,KAAK,CACZ,cAAc,CAAE,GAAG,CACnB,oBAAoB,CAAE,CAAC,CACvB,iBAAiB,CAAE,CAAC,CACpB,gBAAgB,CAAE,CAAC,CACnB,eAAe,CAAE,CAAC,CAClB,YAAY,CAAE,CAAC,CAGjB,wBAAyB,CACvB,QAAQ,CAAE,KAAK,CACf,GAAG,CAAE,CAAC,CACN,IAAI,CAAE,CAAC,CACP,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,IAAI,CACZ,OAAO,CAAE,IAAI,CAGf,oCAAqC,CACnC,cAAe,CACb,KAAK,CAAE,IAAI,CACX,KAAK,CAAE,IAAI,CACX,UAAU,CAAE,MAAM,CAClB,aAAa,CAAE,KAAK,CAEtB,oBAAqB,CACnB,KAAK,CAAE,IAAI,ECnGf;;;GAGG,AAKH,wBAAyB,CACvB,QAAQ,CAAE,QAAQ,CAClB,gBAAgB,CAAE,eAAe,CAGnC,6HAE4C,CAC1C,QAAQ,CAAE,QAAQ,CAClB,GAAG,CAAE,IAAI,CACT,KAAK,CAAE,GAAG,CACV,OAAO,CAAE,KAAK,CACd,WAAW,CAAE,qBAAqB,CAClC,UAAU,CAAE,IAAI,CAGlB,sCAAuC,CACrC,OAAO,CAAE,OAAO,CAChB,SAAS,CAAE,KAAK,CAChB,UAAU,CAAE,IAAI,CAElB,0CAA2C,CACzC,OAAO,CAAE,OAAO,CAChB,KAAK,CxDitBuB,OAAM,CwD/sBpC,2CAA4C,CAC1C,OAAO,CAAE,OAAO,CAChB,KAAK,CxD6sBuB,OAAM,CwD1sBpC,2MAEsE,CACpE,OAAO,CAAE,EAAE,CAMb,kGACmD,CACjD,QAAQ,CAAE,QAAQ,CAClB,YAAY,CAAE,IAAI,CAGpB,6FAC+C,CAC7C,QAAQ,CAAE,QAAQ,CAClB,aAAa,CAAE,IAAI,CAGrB,gFAC0C,CACxC,QAAQ,CAAE,QAAQ,CAClB,GAAG,CAAE,GAAG,CACR,IAAI,CAAE,IAAI,CACV,OAAO,CAAE,KAAK,CACd,WAAW,CAAE,IAAI,CACjB,WAAW,CAAE,qBAAqB,CAGpC,yEACqC,CACnC,QAAQ,CAAE,QAAQ,CAClB,GAAG,CAAE,GAAG,CACR,KAAK,CAAE,IAAI,CACX,OAAO,CAAE,KAAK,CACd,WAAW,CAAE,IAAI,CACjB,WAAW,CAAE,qBAAqB,CAGpC,sCAAuC,CACrC,OAAO,CAAE,OAAO,CAGlB,yCAA0C,CACxC,OAAO,CAAE,OAAO,CAGlB,oCAAqC,CACnC,OAAO,CAAE,OAAO,CAGlB,oCAAqC,CACnC,OAAO,CAAE,OAAO,CC5FlB,+KAEwE,CACtE,MAAM,CAAE,kBAAkB,CAE5B,oMAE+E,CAC7E,OAAO,CAAE,eAAe,CAE1B,yHACmE,CACjE,QAAQ,CAAE,QAAQ,CAClB,YAAY,CAAE,IAAI,CAClB,MAAM,CAAE,OAAO,CAEjB,uIAC0E,CACxE,GAAG,CAAE,GAAG,CACR,IAAI,CAAE,GAAG,CACT,MAAM,CAAE,IAAI,CACZ,KAAK,CAAE,IAAI,CACX,OAAO,CAAE,KAAK,CACd,QAAQ,CAAE,QAAQ,CAClB,KAAK,CAAE,KAAK,CACZ,MAAM,CAAE,eAAe,CACvB,aAAa,CAAE,IAAI,CACnB,UAAU,CAAE,YAAY,CACxB,UAAU,CAAE,WAAW,CACvB,UAAU,CAAE,MAAM,CAClB,WAAW,CAAE,iCAAiC,CAC9C,WAAW,CAAE,IAAI,CACjB,OAAO,CAAE,GAAG,CACZ,gBAAgB,CAAE,OAAO,CAE3B,qJACiF,CAC/E,OAAO,CAAE,GAAG,CACZ,gBAAgB,CAAE,OAAO,CAE3B,6DAAkE,CAChE,OAAO,CAAE,IAAI,CAEf,yIAC2E,CACzE,YAAY,CAAE,IAAI,CAEpB,uJACkF,CAChF,GAAG,CAAE,GAAG,CACR,IAAI,CAAE,GAAG,CACT,MAAM,CAAE,IAAI,CACZ,KAAK,CAAE,IAAI,CACX,aAAa,CAAE,IAAI,CACnB,WAAW,CAAE,IAAI,CACjB,WAAW,CAAE,GAAG,CAElB,6FACqD,CACnD,QAAQ,CAAE,QAAQ,CAClB,MAAM,CAAE,OAAO,CAEjB,2GAC4D,CAC1D,GAAG,CAAE,GAAG,CACR,IAAI,CAAE,GAAG,CACT,MAAM,CAAE,IAAI,CACZ,KAAK,CAAE,IAAI,CACX,UAAU,CAAE,KAAK,CACjB,WAAW,CAAE,KAAK,CAClB,OAAO,CAAE,KAAK,CACd,QAAQ,CAAE,QAAQ,CAClB,KAAK,CAAE,KAAK,CACZ,MAAM,CAAE,eAAe,CACvB,aAAa,CAAE,IAAI,CACnB,UAAU,CAAE,YAAY,CACxB,UAAU,CAAE,WAAW,CACvB,UAAU,CAAE,MAAM,CAClB,WAAW,CAAE,iCAAiC,CAC9C,WAAW,CAAE,IAAI,CACjB,OAAO,CAAE,GAAG,CACZ,gBAAgB,CAAE,OAAO,CAE3B,yHACiE,CAC/D,OAAO,CAAE,GAAG,CACZ,gBAAgB,CAAE,OAAO,CAE3B,8BAAmC,CACjC,OAAO,CAAE,SAAS,CAEpB,oCAAyC,CACvC,UAAU,CAAE,sBAAsB,CAEpC,iCAAsC,CACpC,OAAO,CAAE,YAAY,CACrB,eAAe,CAAE,IAAI,CACrB,MAAM,CAAE,CAAC,CACT,OAAO,CAAE,CAAC,CAEZ,oCAAyC,CACvC,aAAa,CAAE,iBAAiB,CAChC,OAAO,CAAE,OAAO,CAElB,gDAAqD,CACnD,WAAW,CAAE,CAAC,CAEhB,+CAAoD,CAClD,aAAa,CAAE,IAAI,CAErB,6CAAkD,CAChD,OAAO,CAAE,YAAY,CACrB,SAAS,CAAE,IAAI,CACf,WAAW,CAAE,IAAI,CAGnB,aAAc,CACZ,QAAQ,CAAE,KAAK,CACf,UAAU,CAAE,UAAU,CACtB,GAAG,CAAE,CAAC,CACN,IAAI,CAAE,CAAC,CACP,MAAM,CAAE,IAAI,CACZ,KAAK,CAAE,IAAI,CACX,OAAO,CAAE,GAAG,CACZ,OAAO,CAAE,QAAQ,CAEnB,mCAAoC,CAClC,QAAQ,CAAE,QAAQ,CAClB,GAAG,CAAE,CAAC,CACN,IAAI,CAAE,CAAC,CACP,MAAM,CAAE,CAAC,CACT,KAAK,CAAE,CAAC,CACR,KAAK,CAAE,GAAG,CACV,MAAM,CAAE,GAAG,CACX,QAAQ,CAAE,IAAI,CACd,MAAM,CAAE,IAAI,CACZ,OAAO,CAAE,GAAG,CACZ,gBAAgB,CAAE,OAAO,CACzB,MAAM,CAAE,eAAe,CACvB,aAAa,CAAE,KAAK,CACpB,UAAU,CAAE,2BAA8B,CAE5C,mCAAoC,CAClC,QAAQ,CAAE,QAAQ,CAClB,OAAO,CAAE,GAAG,CAEd,iCAAkC,CAChC,QAAQ,CAAE,QAAQ,CAClB,GAAG,CAAE,GAAG,CACR,KAAK,CAAE,GAAG,CACV,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,IAAI,CACZ,MAAM,CAAE,iBAAiB,CACzB,gBAAgB,CAAE,OAAO,CACzB,UAAU,CAAE,MAAM,CAClB,aAAa,CAAE,GAAG,CAClB,MAAM,CAAE,OAAO,CACf,OAAO,CAAE,EAAE,CAEb,uCAAwC,CACtC,gBAAgB,CAAE,OAAO,CAE3B,sCAAuC,CACrC,QAAQ,CAAE,KAAK,CACf,GAAG,CAAE,CAAC,CACN,IAAI,CAAE,CAAC,CACP,KAAK,CAAE,CAAC,CACR,MAAM,CAAE,CAAC,CACT,OAAO,CAAE,GAAG,CACZ,UAAU,CAAE,eAAkB,CAGhC,oCAAqC,CACnC,mCAAoC,CAClC,KAAK,CAAE,GAAG,EC9Kd,oEACuC,CACrC,gBAAgB,CjDyBY,OAAO,CiDvBrC,uLAEmD,CACjD,gBAAgB,CjDoBY,OAAO,CiDlBrC,6LAEqD,CACnD,gBAAgB,CAAE,OAAyB,CAE7C,uaAM+C,CAC7C,gBAAgB,CAAE,OAAO,CAE3B,6HAAuI,CACrI,gBAAgB,CAAE,OAAyB,CAE7C,6HAAuI,CACrI,gBAAgB,CAAE,OAAO,CAE3B,6HAAuI,CACrI,gBAAgB,CAAE,OAAO,CAE3B,+HAAyI,CACvI,gBAAgB,CAAE,OAAyB,CAE7C,+HAAyI,CACvI,gBAAgB,CAAE,OAAO,CAE3B,+HAAyI,CACvI,gBAAgB,CAAE,OAAO,CAE3B,yGAAmH,CACjH,gBAAgB,CAAE,OAAyB,CAE7C,2GAAqH,CACnH,gBAAgB,CAAE,OAAO,CAE3B,gIAA0I,CACxI,gBAAgB,CAAE,OAAyB,CAE7C,gIAA0I,CACxI,gBAAgB,CAAE,OAAO,CAE3B,gIAA0I,CACxI,gBAAgB,CAAE,OAAO,CAE3B,yNAEgE,CAC9D,gBAAgB,CAAE,OAAO,CAE3B,kCAAmC,CACjC,QAAQ,CAAE,QAAQ,CAEpB,kFAAoF,CAClF,OAAO,CAAE,KAAK,CACd,QAAQ,CAAE,QAAQ,CAClB,GAAG,CAAE,KAAK,CACV,IAAI,CAAE,GAAG,CACT,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,IAAI,CACZ,UAAU,CAAE,UAAU,CAExB,yCAA0C,CACxC,OAAO,CAAE,GAAG,CACZ,UAAU,CAAE,IAAI,CAChB,WAAW,CAAE,IAAI,CACjB,MAAM,CAAE,eAAe,CACvB,aAAa,CAAE,GAAG,CAEpB,oDAAqD,CACnD,OAAO,CAAE,OAAO,CAChB,UAAU,CAAE,KAAK,CACjB,WAAW,CAAE,IAAI,CACjB,UAAU,CAAE,MAAM,CAClB,WAAW,CAAE,sEAAsE,CAGrF,+EACwC,CACtC,WAAW,CAAE,KAAK,CAGpB,oCAAqC,CACnC,+EACwC,CACtC,WAAW,CAAE,CAAC,CACd,OAAO,CAAE,KAAK,ECjGlB;;;qDAGqD,AACrD,aAAc,CACZ,aAAa,CAAE,CAAC,CAIlB,yBAAyB,CACvB,WAAW,CAAE,YAAY,CAG3B,4BAA6B,CAC3B,aAAa,CAAE,CAAC,CAChB,WAAW,CAAE,MAAM,CACnB,WAAW,CAAE,IAAI,CAGnB,iBAAkB,CAChB,OAAO,CAAE,YAAY,CACrB,cAAc,CAAE,GAAG,CACnB,WAAW,CAAE,GAAG,CAEhB,IAAI,CAAE,CAAC,CACP,QAAQ,CAAE,MAAM,CAGlB,yCAA0C,CACxC,OAAO,CAAE,KAAK,CACd,UAAU,CAAE,GAAG,CACf,WAAW,CAAE,CAAC,CAGhB,eAAgB,CACd,cAAc,CAAE,GAAG,CACnB,OAAO,CAAE,YAAY,CACrB,KAAK,CAAE,IAAI,CACX,WAAW,CAAE,MAAM,CAEnB,IAAI,CAAE,CAAC,CACP,QAAQ,CAAE,MAAM,CAGlB,kCAAmC,CACjC,WAAW,CAAE,GAAG,CAIlB,4CAA6C,CAC3C,MAAM,CAAE,IAAI,CACZ,KAAK,CAAE,IAAI,CAGb,qBAAsB,CAEpB,MAAM,CAAE,IAAI,CACZ,KAAK,CAAE,IAAI,CACX,SAAS,CAAE,IAAI,CACf,OAAO,CAAE,IAAI,CACb,cAAc,CAAE,MAAM,CACtB,eAAe,CAAE,MAAM,CACvB,WAAW,CAAE,MAAM,CAGrB,sCAAuC,CACrC,mBAAmB,CAAE,QAAQ,CAG/B,qBAAsB,CACpB,SAAS,CAAE,KAAK,CAChB,MAAM,CAAE,SAAS,CACjB,KAAK,CAAE,IAAI,CACX,WAAW,CAAE,MAAM,CAIrB,oCAAqC,CACnC,OAAO,CAAE,GAAG,CAGd,eAAgB,CACd,KAAK,CAAE,GAAG,CAKZ,4BAA6B,CAC3B,OAAO,CAAE,CAAC,CACV,MAAM,CAAE,CAAC,CACT,KAAK,CAAE,IAAI,CAIb,iCAAkC,CAChC,UAAU,CAAE,GAAG,CACf,WAAW,CAAE,GAAG,CAKlB,iNAC+B,CAC7B,cAAc,CAAE,MAAM,CACtB,MAAM,CAAE,CAAC,CAGX,4EAA0B,CACxB,WAAW,CAAE,MAAM,CAIrB,mBAAoB,CAClB,KAAK,CAAE,KAAK,CACZ,MAAM,CAAE,KAAK,CAIf,eAAgB,CACd,KAAK,CAAE,IAAI,CACX,SAAS,CAAE,KAAK,CAChB,eAAe,CAAE,IAAI,CACrB,UAAU,CAAE,KAAK,CAInB,iBAAkB,CAEhB,OAAO,CAAE,KAAK,CACd,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,IAAI,CACZ,QAAQ,CAAE,QAAQ,CAClB,OAAO,CAAE,GAAG,CACZ,OAAO,CAAE,GAAG,CAEZ,GAAG,CAAE,GAAG,CACR,KAAK,CAAE,GAAG,CACV,UAAU,CAAE,IAAI,CAIlB,uBAAwB,CACtB,OAAO,CAAE,CAAC,CAGZ,qBAAsB,CACpB,WAAW,CAAE,QAAQ,CAEvB,kCAAmC,CACjC,SAAS,CAAE,eAAe,CAG5B,2BAA4B,CAC1B,KAAK,CAAE,IAAI,CAGb,mCAAoC,CAClC,OAAO,CAAE,YAAY,CACrB,cAAc,CAAE,MAAM,CACtB,KAAK,CAAE,IAAI,CAEX,IAAI,CAAE,CAAC,CACP,QAAQ,CAAE,MAAM,CAGlB,6BAA8B,CAC5B,SAAS,CAAE,OAAO,CAClB,OAAO,CAAE,IAAI,CAEf,uDAEuB,CACrB,eAAe,CAAE,IAAI,CAIvB,6GAEyC,CACvC,KAAK,CAAE,OAAO,CACd,MAAM,CAAE,OAAO,CACf,aAAa,CAAE,IAAI,CAGrB,2DAA6D,CAC3D,UAAU,CAAE,MAAM,CAClB,KAAK,ClDnHuB,OAAI,CkDqHhC,eAAe,CAAE,IAAI,CAGvB,iBAAkB,CAChB,WAAW,CAAE,IAAI,CAOnB,uBAAwB,CACtB,kBAAkB,CAAE,gCAAgC,CACpD,eAAe,CAAE,gCAAgC,CACjD,aAAa,CAAE,gCAAgC,CAC/C,cAAc,CAAE,gCAAgC,CAChD,UAAU,CAAE,gCAAgC,CAI9C,0BACA,CACE,WAAW,CAAE,GAAG,CAChB,OAAO,CAAC,YAAY,CAItB;;;;;;;;GAQG,AACH,WAAY,CACV,OAAO,CAAE,GAAG,CACZ,qBAAqB,CAAE,GAAG,CAC1B,kBAAkB,CAAE,GAAG,CACvB,aAAa,CAAE,GAAG,CAClB,SAAS,CAAE,GAAG,CAMhB,kBAAmB,CACjB,KAAK,CAAE,KAAK,CAEd,0BAA2B,CACzB,SAAS,CAAE,GAAG,CAEhB,2CAA4C,CAC1C,KAAK,CAAE,KAAK,CAEd,oBAAqB,CACnB,GAAG,CAAE,CAAC,CACN,IAAI,CAAE,CAAC,CAET,2BAA4B,CAC1B,OAAO,CAAE,EAAE,CACX,OAAO,CAAE,YAAY,CACrB,WAAW,CAAE,qBAAqB,CAClC,YAAY,CAAE,qBAAqB,CACnC,aAAa,CAAE,cAAc,CAC7B,mBAAmB,CAAE,eAAkB,CACvC,QAAQ,CAAE,QAAQ,CAClB,GAAG,CAAE,IAAI,CACT,IAAI,CAAE,GAAG,CAEX,0BAA2B,CACzB,OAAO,CAAE,EAAE,CACX,OAAO,CAAE,YAAY,CACrB,WAAW,CAAE,qBAAqB,CAClC,YAAY,CAAE,qBAAqB,CACnC,aAAa,CAAE,iBAAiB,CAChC,QAAQ,CAAE,QAAQ,CAClB,GAAG,CAAE,IAAI,CACT,IAAI,CAAE,GAAG,CAEX,eAAkB,CAChB,OAAO,CAAE,IAAI,CAEf,oCAAqC,CACnC,OAAO,CAAE,KAAK,CAEhB,wCAAyC,CACvC,OAAO,CAAE,KAAK,CAEhB,sCAAuC,CACrC,OAAO,CAAE,KAAK,CAEhB,iBAAkB,CAChB,MAAM,CAAE,CAAC,CAEX,6BACe,CACb,UAAU,CAAE,MAAM,CAClB,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,IAAI,CACZ,qBAAqB,CAAE,GAAG,CAC1B,kBAAkB,CAAE,GAAG,CACvB,aAAa,CAAE,GAAG,CAClB,MAAM,CAAE,IAAI,CAEd,6EACuC,CACrC,gBAAgB,CAAE,WAAW,CAE/B,iCAAkC,CAChC,UAAU,CAAE,OAAO,CACnB,MAAM,CAAE,OAAO,CAEjB,uDAC4B,CAC1B,KAAK,CAAE,OAAO,CAEhB,uEACuC,CACrC,UAAU,CAAE,IAAI,CAChB,KAAK,CAAE,OAAO,CACd,MAAM,CAAE,OAAO,CAEjB,qJAG6C,CAC3C,gBAAgB,CAAE,OAAO,CACzB,gBAAgB,CAAE,2CAA2C,CAC7D,gBAAgB,CAAE,0CAA0C,CAC5D,gBAAgB,CAAE,iEAAiE,CACnF,gBAAgB,CAAE,8CAA8C,CAChE,gBAAgB,CAAE,yCAAyC,CAC3D,gBAAgB,CAAE,2CAAsC,CACxD,iBAAiB,CAAE,QAAQ,CAC3B,MAAM,CAAE,0GAA0G,CAClH,YAAY,CAAE,uBAAuB,CACrC,YAAY,CAAE,gDAAyD,CACvE,MAAM,CAAE,yDAAyD,CACjE,KAAK,CAAE,IAAI,CAEb,y4BAmBuD,CACrD,gBAAgB,CAAE,OAAO,CAE3B,mWAOoD,CAClD,gBAAgB,CAAE,UAAU,CAE9B,yCAA0C,CACxC,KAAK,CAAE,IAAI,CAEb,0CAA2C,CACzC,KAAK,CAAE,IAAI,CAEb,qJAG6C,CAC3C,UAAU,CAAE,OAAO,CACnB,qBAAqB,CAAE,CAAC,CACxB,kBAAkB,CAAE,CAAC,CACrB,aAAa,CAAE,CAAC,CAElB,6KAGmD,CACjD,gBAAgB,CAAE,OAAO,CACzB,gBAAgB,CAAE,2CAA2C,CAC7D,gBAAgB,CAAE,0CAA0C,CAC5D,gBAAgB,CAAE,iEAAiE,CACnF,gBAAgB,CAAE,8CAA8C,CAChE,gBAAgB,CAAE,yCAAyC,CAC3D,gBAAgB,CAAE,2CAAsC,CACxD,iBAAiB,CAAE,QAAQ,CAC3B,MAAM,CAAE,0GAA0G,CAClH,YAAY,CAAE,uBAAuB,CACrC,YAAY,CAAE,gDAAyD,CACvE,MAAM,CAAE,yDAAyD,CACjE,qBAAqB,CAAE,CAAC,CACxB,kBAAkB,CAAE,CAAC,CACrB,aAAa,CAAE,CAAC,CAElB,igCAmB6D,CAC3D,gBAAgB,CAAE,OAAO,CAE3B,mZAO0D,CACxD,gBAAgB,CAAE,UAAU,CAE9B,iKAGgD,CAC9C,gBAAgB,CAAE,OAAO,CACzB,gBAAgB,CAAE,wCAA2C,CAC7D,gBAAgB,CAAE,uCAA0C,CAC5D,gBAAgB,CAAE,8DAAiE,CACnF,gBAAgB,CAAE,2CAA8C,CAChE,gBAAgB,CAAE,sCAAyC,CAC3D,gBAAgB,CAAE,2CAAsC,CACxD,iBAAiB,CAAE,QAAQ,CAC3B,MAAM,CAAE,0GAA0G,CAClH,YAAY,CAAE,uBAAuB,CACrC,YAAY,CAAE,gDAAyD,CACvE,MAAM,CAAE,yDAAyD,CACjE,KAAK,CAAE,IAAI,CACX,WAAW,CAAE,yBAA4B,CAE3C,q8BAmB0D,CACxD,gBAAgB,CAAE,OAAO,CAE3B,2XAOuD,CACrD,gBAAgB,CAAE,UAAU,CAE9B,yJAG8C,CAC5C,gBAAgB,CAAE,OAAO,CACzB,gBAAgB,CAAE,qCAA2C,CAC7D,gBAAgB,CAAE,oCAA0C,CAC5D,gBAAgB,CAAE,2DAAiE,CACnF,gBAAgB,CAAE,wCAA8C,CAChE,gBAAgB,CAAE,mCAAyC,CAC3D,gBAAgB,CAAE,2CAAsC,CACxD,iBAAiB,CAAE,QAAQ,CAC3B,MAAM,CAAE,0GAA0G,CAClH,YAAY,CAAE,uBAAuB,CACrC,YAAY,CAAE,gDAAyD,CACvE,MAAM,CAAE,yDAAyD,CACjE,KAAK,CAAE,IAAI,CACX,WAAW,CAAE,yBAA4B,CAE3C,65BAmBwD,CACtD,gBAAgB,CAAE,OAAO,CAE3B,2WAOqD,CACnD,gBAAgB,CAAE,UAAU,CAE9B,4BAA6B,CAC3B,OAAO,CAAE,KAAK,CACd,KAAK,CAAE,GAAG,CACV,MAAM,CAAE,IAAI,CACZ,WAAW,CAAE,IAAI,CACjB,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,EAAE,CACV,MAAM,CAAE,OAAO,CACf,qBAAqB,CAAE,GAAG,CAC1B,kBAAkB,CAAE,GAAG,CACvB,aAAa,CAAE,GAAG,CAEpB,kCAAmC,CACjC,UAAU,CAAE,OAAO,CAErB,iFAC4C,CAC1C,UAAU,CAAE,IAAI,CAChB,KAAK,CAAE,OAAO,CACd,MAAM,CAAE,OAAO,CAEjB,6KAGmD,CACjD,gBAAgB,CAAE,OAAO,CACzB,gBAAgB,CAAE,qCAA2C,CAC7D,gBAAgB,CAAE,oCAA0C,CAC5D,gBAAgB,CAAE,2DAAiE,CACnF,gBAAgB,CAAE,wCAA8C,CAChE,gBAAgB,CAAE,mCAAyC,CAC3D,gBAAgB,CAAE,2CAAsC,CACxD,iBAAiB,CAAE,QAAQ,CAC3B,MAAM,CAAE,0GAA0G,CAClH,YAAY,CAAE,uBAAuB,CACrC,YAAY,CAAE,gDAAyD,CACvE,MAAM,CAAE,yDAAyD,CACjE,KAAK,CAAE,IAAI,CACX,WAAW,CAAE,yBAA4B,CAE3C,igCAmB6D,CAC3D,gBAAgB,CAAE,OAAO,CAE3B,mZAO0D,CACxD,gBAAgB,CAAE,UAAU,CAE9B,iEACiC,CAC/B,KAAK,CAAE,OAAO,CAEhB,gCAAiC,CAC/B,KAAK,CAAE,KAAK,CAEd,2DACwB,CACtB,MAAM,CAAE,OAAO,CAEjB,uEAC8B,CAC5B,UAAU,CAAE,OAAO,CAErB,eAAgB,CACd,SAAS,CAAE,IAAI,CACf,KAAK,CAAE,IAAI,CACX,OAAO,CAAE,WAAW,CACpB,cAAc,CAAE,MAAM,CAExB,sCAAuC,CACrC,MAAM,CAAE,OAAO,CACf,gBAAgB,CAAE,WAAW,CAE/B,0DAC8B,CAC5B,OAAO,CAAE,KAAK,CACd,MAAM,CAAE,OAAO,CACf,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,IAAI,CAEd,sBAAuB,CACrB,UAAU,CAAE,MAAM,CAEpB,kCAAmC,CACjC,qBAAqB,CAAE,WAAW,CAClC,kBAAkB,CAAE,WAAW,CAC/B,aAAa,CAAE,WAAW,CAE5B,iCAAkC,CAChC,qBAAqB,CAAE,WAAW,CAClC,kBAAkB,CAAE,WAAW,CAC/B,aAAa,CAAE,WAAW,CAE5B,wBAAyB,CACvB,OAAO,CAAE,YAAY,CACrB,KAAK,CAAE,IAAI,CACX,SAAS,CAAE,IAAI,CACf,MAAM,CAAE,IAAI,CACZ,OAAO,CAAE,OAAO,CAChB,WAAW,CAAE,MAAM,CACnB,WAAW,CAAE,IAAI,CACjB,UAAU,CAAE,MAAM,CAClB,WAAW,CAAE,eAAe,CAC5B,cAAc,CAAE,MAAM,CACtB,gBAAgB,CAAE,OAAO,CACzB,MAAM,CAAE,cAAc,CACtB,WAAW,CAAE,IAAI,CACjB,YAAY,CAAE,IAAI,CCtpBpB;;;;EAIE,AAEF,WAAY,CACV,GAAG,CAAE,IAAI,CACT,KAAK,CAAE,IAAI,CACX,QAAQ,CAAE,QAAQ,CAClB,MAAM,CAAE,IAAI,CACZ,OAAO,CAAE,CAAC,CAEZ,gBAAmB,CAEjB,QAAQ,CAAE,KAAK,CAEf,OAAO,CAAE,MAAM,CAEjB,yBAA0B,CACxB,gBAAgB,CAAE,eAAiB,CACnC,GAAG,CAAE,CAAC,CACN,IAAI,CAAE,CAAC,CACP,QAAQ,CAAE,QAAQ,CAClB,MAAM,CAAE,IAAI,CACZ,KAAK,CAAE,IAAI,CACX,OAAO,CAAE,CAAC,CAEZ,8BAAiC,CAC/B,QAAQ,CAAE,KAAK,CACf,OAAO,CAAE,MAAM,CAEjB,yBAA0B,CACxB,OAAO,CAAE,gBAAgB,CAE3B,2BAA4B,CAC1B,UAAU,CAAE,4DAA4D,CAE1E,gCAAiC,CAC/B,UAAU,CAAE,kBAAkB,CAC9B,OAAO,CAAE,CAAC,CAEZ,2DAA4D,CAC1D,UAAU,CAAE,gFAAgF,CAE9F,kCAAmC,CACjC,UAAU,CAAE,mBAAmB,CAC/B,OAAO,CAAE,CAAC,CAEZ,6DAA8D,CAC5D,UAAU,CAAE,iFAAiF,CAE/F,gCAAiC,CAC/B,UAAU,CAAE,kBAAkB,CAC9B,OAAO,CAAE,CAAC,CAEZ,2DAA4D,CAC1D,UAAU,CAAE,gFAAgF,CAE9F,8BAA+B,CAC7B,OAAO,CAAE,CAAC,CAEZ,8BAA+B,CAC7B,kBAAkB,CAAE,gCAAgC,CACpD,eAAe,CAAE,gCAAgC,CACjD,UAAU,CAAE,gCAAgC,CAE9C,qBAAsB,CACpB,mBAAmB,CAAE,GAAG,CACxB,OAAO,CAAE,IAAI,CACb,MAAM,CAAE,IAAI,CACZ,MAAM,CAAE,CAAC,CAEX,2BAA4B,CAC1B,OAAO,CAAE,GAAG,CACZ,UAAU,CAAE,MAAM,CAClB,OAAO,CAAE,KAAK,CACd,MAAM,CAAE,CAAC,CACT,KAAK,CAAE,IAAI,CAEb,sCAAuC,CACrC,qBAAqB,CAAE,CAAC,CACxB,kBAAkB,CAAE,CAAC,CACrB,aAAa,CAAE,CAAC,CAElB,iBAAkB,CAChB,OAAO,CAAE,KAAK,CACd,aAAa,CAAE,IAAI,CACnB,UAAU,CAAE,CAAC,CAEf,gBAAiB,CACf,OAAO,CAAE,KAAK,CAEhB,sCAAwC,CACtC,OAAO,CAAE,KAAK,CACd,KAAK,CAAE,IAAI,CACX,YAAY,CAAE,IAAI,CAGpB,sDAAwD,CACtD,IAAI,CAAE,IAAI,CACV,KAAK,CAAE,IAAI,CAEb,0DAA4D,CAC1D,MAAM,CAAE,IAAI,CACZ,GAAG,CAAE,IAAI,CAEX,uBAAwB,CACtB,IAAI,CAAE,GAAG,CACT,KAAK,CAAE,IAAI,CACX,WAAW,CAAE,MAAM,CC9GrB,oCAAqC,CAEnC,OAAO,CAAE,EAAE,CAEb,oCAAqC,CACnC,OAAO,CAAE,eAAe,CCHxB,4BAAkB,CAChB,WAAW,CAAE,GAAG,CAChB,aAAa,CAAE,IAAI,CACnB,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,CAAC,CACT,GAAG,CAAE,IAAI,CACT,IAAI,CAAE,IAAI,CCgBd,kDAAuD,CAErD,MAAM,CAAE,CAAC,CACT,OAAO,CAAE,CAAC,CACV,kBAAkB,CAAE,UAAU,CAC9B,eAAe,CAAE,UAAU,CAC3B,UAAU,CAAE,UAAU,CAGxB,SAAW,CACT,KAAK,CAAE,IAAI,CACX,UAAU,CAAE,MAAM,CAGpB,IAAK,CACH,MAAM,CAAE,IAAI,CAGd,IAAK,CACH,UAAU,CAAE,IAAI,CAChB,MAAM,CAAE,IAAI,CACZ,QAAQ,CAAE,QAAQ,CAGpB,6CAA8C,CAC5C,QAAQ,CAAE,MAAM,CAOlB,2BAA6B,CAE3B,KAAK,CAAE,IAAI,CACX,QAAQ,CAAE,QAAQ,CAClB,OAAO,CAAE,CAAC,CAGV,gBAAgB,C/DgvBM,OAAS,C+D/uB/B,iBAAiB,CAAE,SAAS,CAO9B,YAAa,CACX,MAAM,CAAE,IAAI,CACZ,UAAU,CAAE,IAAI,CAChB,QAAQ,CAAE,KAAK,CACf,GAAG,CAAE,CAAC,CACN,OAAO,CAAE,CAAC,CACV,OAAO,CAAE,IAAI,CACb,gBAAgB,C/DglBY,OAAU,C+D/kBtC,iBAAiB,CAAE,cAAc,CAGnC,QAAS,CACP,IAAI,CAAE,CAAC,C5DuCP,kBAAkB,CAAE,uCAAO,CACnB,UAAU,CAAE,uCAAO,C4DpC7B,SAAU,CACR,KAAK,CAAE,CAAC,C5DkCR,kBAAkB,CAAE,sCAAO,CACnB,UAAU,CAAE,sCAAO,C4D/B7B,kDACuB,CACrB,QAAQ,CAAE,QAAQ,CAGpB,sBAAuB,CACrB,OAAO,CAAE,KAAK,CAGhB,iBAAkB,CAChB,OAAO,CAAE,IAAI,CAGf,sBAAuB,CACrB,0BAA0B,CAAE,KAAK,CAInC,YAAa,CACX,KAAK,CAAE,GAAG,CAGZ,cAAe,CACb,KAAK,CAAE,GAAG,CAGZ,cAAe,CACb,KAAK,CAAE,GAAG,CAGZ,yBAA0B,CACxB,YAAa,CACX,KAAK,CAAE,GAAG,CAGZ,cAAe,CACb,KAAK,CAAE,GAAG,CAGZ,cAAe,CACb,KAAK,CAAE,GAAG,EAId,yBAA0B,CACxB,YAAa,CACX,KAAK,CAAE,GAAG,CAGZ,cAAe,CACb,KAAK,CAAE,GAAG,CAGZ,cAAe,CACb,KAAK,CAAE,GAAG,EAId,yBAA0B,CACxB,YAAa,CACX,KAAK,CAAE,GAAG,CAGZ,cAAe,CACb,KAAK,CAAE,GAAG,CAGZ,cAAe,CACb,KAAK,CAAE,GAAG,EAId,yBAA0B,CACxB,YAAa,CACX,KAAK,CAAE,GAAG,CAGZ,cAAe,CACb,KAAK,CAAE,GAAG,CAGZ,cAAe,CACb,KAAK,CAAE,GAAG,EAId,0BAA2B,CACzB,YAAa,CACX,KAAK,CAAE,GAAG,CAGZ,cAAe,CACb,KAAK,CAAE,EAAE,CAGX,cAAe,CACb,KAAK,CAAE,GAAG,EAQd,kDAAsD,C5DpEpD,kBAAkB,CAAE,wBAAW,CACvB,UAAU,CAAE,wBAAW,C4DqE/B,2BAA2B,CAAE,8BAA8B,CAC3D,2BAA2B,CAAE,MAAM,CAOrC,QAAS,CACP,OAAO,CAAE,IAAI,CC9Mf,aAAc,CACZ,QAAQ,CAAE,mBAAmB,CAC7B,OAAO,CAAC,UAAU,CAClB,UAAU,CAAE,MAAM,CAClB,cAAc,CAAE,MAAM,CAEtB,kBAAI,CACF,OAAO,CAAE,YAAY,CAGvB,oBAAO,CACL,QAAQ,CAAE,QAAQ,CAClB,GAAG,CAAE,CAAC,CACN,IAAI,CAAE,CAAC,CAKX,uBAAuB,CACrB,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,IAAI,CACZ,MAAM,CAAE,GAAG,CAEX,8BAAO,CACL,GAAG,CAAE,GAAG,CACR,IAAI,CAAE,GAAG,CAGX,4BAAI,CACF,SAAS,CAAE,IAAI,CACf,kCAAQ,CACN,OAAO,CAAE,GAAG,CACZ,WAAW,CAAE,GAAG,CC9BtB,yBAA0B,CACxB,UAAU,CAAE,kBAAqB,CACjC,OAAO,CAAE,KAAK,CACd,UAAU,CAAE,MAAM,CAClB,OAAO,CAAE,CAAC,CACV,OAAO,CAAE,IAAI,CACb,MAAM,CAAE,kBAAwB,CAChC,WAAW,CAAE,iCAAiC,CpDkV9C,kBAAwC,CoDjVjB,GAAG,CpDiV1B,qBAAwC,CC9Sb,GAAuB,CD8SlD,aAAwC,CoDjVjB,GAAG,C9DqH1B,kBAAkB,CAAE,oBAAW,CACvB,UAAU,CAAE,oBAAW,C8DnH/B,gCAAS,CACP,UAAU,CAAE,OAAO,CACnB,OAAO,CAAE,GAAG,CChBhB,kBAAmB,CACjB,UAAU,CAAE,UAAU,CAEtB,OAAO,CAAE,YAAY,CACrB,MAAM,CAAE,CAAC,CACT,QAAQ,CAAE,QAAQ,CAClB,cAAc,CAAE,MAAM,CCNxB,6CAA2B,CACzB,UAAU,CAAE,UAAU,CAEtB,MAAM,CAAE,OAAO,CACf,OAAO,CAAE,KAAK,CAEd,MAAM,CAAE,IAAI,CAEZ,WAAW,CAAE,IAAI,CACjB,mBAAmB,CAAE,IAAI,CAEzB,0EAA6B,CAC3B,OAAO,CAAE,KAAK,CACd,YAAY,CAAE,GAAG,CACjB,aAAa,CAAE,IAAI,CAEnB,QAAQ,CAAE,MAAM,CAChB,aAAa,CAAE,QAAQ,CACvB,WAAW,CAAE,MAAM,CAMnB,qFAA6B,CAC3B,aAAa,CAAE,GAAG,CAClB,YAAY,CAAE,IAAI,CC1BxB,+CAA6B,CAC3B,UAAU,CAAE,UAAU,CAEtB,MAAM,CAAE,OAAO,CACf,OAAO,CAAE,KAAK,CAEd,UAAU,CAAE,IAAI,CAEhB,WAAW,CAAE,IAAI,CACjB,mBAAmB,CAAE,IAAI,CAEzB,4EAA6B,CAC3B,OAAO,CAAE,YAAY,CACrB,QAAQ,CAAE,MAAM,CAChB,YAAY,CAAE,GAAG,CACjB,aAAa,CAAE,QAAQ,CACvB,WAAW,CAAE,MAAM,CAIvB,0CAAwB,CACtB,KAAK,CAAE,IAAI,CAEX,iEAAuB,CACrB,UAAU,CAAE,UAAU,CACtB,MAAM,CAAE,IAAI,CACZ,SAAS,CAAE,IAAI,CACf,UAAU,CAAE,GAAG,CAEf,+FAAgC,CAC9B,kBAAkB,CAAE,IAAI,CC9B9B,iBAAkB,CAChB,gBAAgB,CAAE,KAAK,CAEvB,MAAM,CAAE,cAAc,CACtB,aAAa,CAAE,GAAG,CAElB,UAAU,CAAE,UAAU,CAEtB,OAAO,CAAE,KAAK,CAEd,QAAQ,CAAE,QAAQ,CAClB,IAAI,CAAE,SAAS,CAEf,KAAK,CAAE,IAAI,CAEX,OAAO,CAAE,IAAI,CAGf,gBAAiB,CACf,OAAO,CAAE,KAAK,CAGhB,yBAA0B,CACxB,UAAU,CAAE,IAAI,CAChB,MAAM,CAAE,CAAC,CACT,OAAO,CAAE,CAAC,CAGZ,wBAAyB,CACvB,OAAO,CAAE,GAAG,CACZ,KAAK,CrE2tBuB,OAAa,CqE1tBzC,WAAW,CAAE,IAAI,CACjB,mBAAmB,CAAE,IAAI,CAEzB,uCAAiB,CACf,MAAM,CAAE,OAAO,CAInB,0CAA2C,CACzC,IAAI,CAAE,CAAC,CAGT,iDAAkD,CAChD,aAAa,CAAE,IAAI,CACnB,yBAAyB,CAAE,CAAC,CAC5B,0BAA0B,CAAE,CAAC,CAG/B,iDAAkD,CAChD,UAAU,CAAE,IAAI,CAChB,sBAAsB,CAAE,CAAC,CACzB,uBAAuB,CAAE,CAAC,CAG5B,yBAA0B,CACxB,OAAO,CAAE,KAAK,CACd,OAAO,CAAE,GAAG,CAEZ,gDAAuB,CACrB,OAAO,CAAE,GAAG,CACZ,KAAK,CAAE,IAAI,CACX,UAAU,CAAE,UAAU,CAEtB,8EAAgC,CAC9B,kBAAkB,CAAE,IAAI,CAI5B,8CAAuB,CACrB,OAAO,CAAE,IAAI,CHxDjB,mBAAoB,CAClB,MAAM,CAAE,CAAC,CACT,MAAM,CAAE,CAAC,CACT,OAAO,CAAE,CAAC,CACV,OAAO,CAAE,KAAK,CACd,QAAQ,CAAE,KAAK,CACf,IAAI,CAAE,CAAC,CACP,GAAG,CAAE,CAAC,CACN,UAAU,CAAE,IAAI,CAChB,SAAS,CAAE,IAAI,CACf,MAAM,CAAE,IAAI,CACZ,KAAK,CAAE,IAAI,CACX,OAAO,CAAE,CAAC,CACV,OAAO,CAAE,EAAE,CAIX,gBAAgB,CAAE,IAAI,CACtB,MAAM,CAAE,gBAAgB,CAG1B,0BAA2B,CACzB,MAAM,CAAE,CAAC,CACT,IAAI,CAAE,aAAa,CACnB,MAAM,CAAE,GAAG,CACX,MAAM,CAAE,IAAI,CACZ,QAAQ,CAAE,MAAM,CAChB,OAAO,CAAE,CAAC,CACV,QAAQ,CAAE,QAAQ,CAClB,KAAK,CAAE,GAAG,CACV,cAAc,CAAE,IAAI,CI5CtB,yDAA2B,CACzB,gBAAgB,CC+Bc,OAAU,CD9BxC,MAAM,CAAE,iBAAuB,CAC/B,aAAa,CCIC,GAAG,CDHjB,OAAO,CAAE,CAAC,CACV,MAAM,CAAE,IAAI,CACZ,OAAO,CAAE,QAAQ,CAEjB,+DAAQ,CACN,MAAM,CAAE,iBAA6B,CAGvC,sFAA6B,CAC3B,WAAW,CAAE,aAAa,CAC1B,KAAK,CCiBuB,OAAa,CDhBzC,WAAW,CAAE,GAAG,CAChB,OAAO,CAAE,UAAU,CAGrB,mFAA0B,CACxB,KAAK,CCpBM,OAAW,CDqBtB,MAAM,CAAE,OAAO,CACf,KAAK,CAAE,KAAK,CACZ,WAAW,CAAE,IAAI,CACjB,YAAY,CAAE,GAAG,CACjB,WAAW,CAAE,IAAI,CAEjB,yFAAQ,CACN,KAAK,CC3BU,OAAY,CD+B/B,yFAAgC,CAC9B,KAAK,CCC8B,OAAW,CDEhD,mFAA0B,CACxB,gBAAgB,CCLY,OAAU,CDMtC,MAAM,CAAE,IAAI,CACZ,WAAW,CAAE,IAAI,CACjB,uBAAuB,CCjCX,GAAG,CDkCf,0BAA0B,CClCd,GAAG,CDmCf,MAAM,CAAE,IAAI,CACZ,QAAQ,CAAE,QAAQ,CAClB,GAAG,CAAE,GAAG,CACR,KAAK,CAAE,GAAG,CACV,KAAK,CAAE,IAAI,CAGX,qFAAE,CACA,YAAY,CAAE,wCAAwC,CACtD,YAAY,CAAE,KAAK,CACnB,YAAY,CAAE,aAAa,CAE3B,MAAM,CAAE,CAAC,CACT,IAAI,CAAE,GAAG,CAET,WAAW,CAAE,IAAI,CACjB,UAAU,CAAE,IAAI,CAEhB,QAAQ,CAAE,QAAQ,CAElB,GAAG,CAAE,GAAG,CACR,KAAK,CAAE,CAAC,CAOV,8FAA0B,CACxB,KAAK,CAAE,IAAI,CAGb,8FAA0B,CACxB,MAAM,CAAE,IAAI,CACZ,YAAY,CAAE,iBAAuB,CAErC,aAAa,CAAE,CAAC,CAChB,sBAAsB,CCxEZ,GAAG,CDyEb,yBAAyB,CCzEf,GAAG,CD2Eb,IAAI,CAAE,GAAG,CACT,KAAK,CAAE,IAAI,CAMf,iFAA2B,CACzB,MAAM,CAAE,iBAA6B,CAErC,2GAA0B,CACxB,UAAU,CAAE,WAAW,CAEvB,MAAM,CAAE,IAAI,CAEZ,6GAAE,CACA,YAAY,CAAE,wCAAwC,CACtD,YAAY,CAAE,aAAa,CAM/B,0GAA2B,CACzB,UAAU,CAAE,IAAI,CAChB,sBAAsB,CAAE,CAAC,CACzB,uBAAuB,CAAE,CAAC,CAK5B,0GAA2B,CACzB,aAAa,CAAE,IAAI,CACnB,yBAAyB,CAAE,CAAC,CAC5B,0BAA0B,CAAE,CAAC,CEpHnC,2DAA6B,CAC3B,gBAAgB,CD+Bc,OAAU,CC9BxC,KAAK,CD8ByB,OAAU,CC7BxC,MAAM,CAAE,iBAAuB,CAC/B,aAAa,CDGC,GAAG,CCFjB,MAAM,CAAE,IAAI,CACZ,OAAO,CAAE,CAAC,CAEV,iEAAQ,CACN,MAAM,CAAE,iBAA6B,CAGvC,wFAA6B,CAC3B,UAAU,CAAE,IAAI,CAChB,MAAM,CAAE,CAAC,CACT,OAAO,CAAE,KAAK,CACd,KAAK,CAAE,IAAI,CAGb,qFAA0B,CACxB,OAAO,CAAE,IAAI,CAGf,sFAA2B,CACzB,gBAAgB,CDOY,OAAa,CCNzC,MAAM,CAAE,iBAAuB,CAC/B,aAAa,CDlBM,GAAG,CCmBtB,MAAM,CAAE,OAAO,CACf,KAAK,CAAE,IAAI,CACX,YAAY,CAAE,GAAG,CACjB,UAAU,CAAE,GAAG,CACf,OAAO,CAAE,KAAK,CAGhB,8FAAmC,CACjC,KAAK,CDnCM,OAAW,CCoCtB,MAAM,CAAE,OAAO,CACf,OAAO,CAAE,YAAY,CACrB,WAAW,CAAE,IAAI,CACjB,YAAY,CAAE,GAAG,CAEjB,oGAAQ,CACN,KAAK,CDzCU,OAAY,CC6C/B,2FAAgC,CAC9B,KAAK,CDb8B,OAAW,CCmB9C,iGAA2B,CACzB,KAAK,CAAE,KAAK,CAGd,iGAA2B,CACzB,WAAW,CAAE,GAAG,CAChB,YAAY,CAAE,IAAI,CAGpB,yGAAmC,CACjC,WAAW,CAAE,GAAG,CAChB,YAAY,CAAE,IAAI,CAMtB,mFAA6B,CAC3B,MAAM,CAAE,iBAA6B,CAIrC,4GAA6B,CAC3B,UAAU,CAAE,IAAI,CAChB,sBAAsB,CAAE,CAAC,CACzB,uBAAuB,CAAE,CAAC,CAK5B,4GAA6B,CAC3B,aAAa,CAAE,IAAI,CACnB,yBAAyB,CAAE,CAAC,CAC5B,0BAA0B,CAAE,CAAC,CC9E/B,+EAAuB,CACrB,MAAM,CAAE,iBAAuB,CAC/B,OAAO,CAAE,CAAC,CAKZ,6EAAuB,CACrB,OAAO,CAAE,CAAC,CtEyCd,+FAA8B,CAAE,KAAK,CoEvBA,OAAW,CpEwBhB,OAAO,CAAE,CAAC,CAC1C,mGAA8B,CAAE,KAAK,CoEzBA,OAAW,CpE0BhD,wGAA8B,CAAE,KAAK,CoE1BA,OAAW,CEbhD,gDAAkB,CAChB,gBAAgB,CFUY,OAAU,CETtC,MAAM,CAAE,qBAAqB,CAC7B,QAAQ,CAAE,MAAM,CtEkGlB,kBAAkB,CAAE,0BAAO,CACnB,UAAU,CAAE,0BAAO,CsEhGzB,oDAAG,CACD,eAAe,CAAE,yBAAyB,CAC1C,KAAK,CAAE,IAAI,CAIf,uDAAyB,CACvB,aAAa,CAAE,IAAI,CAGrB,uDAAyB,CACvB,UAAU,CAAE,IAAI,CAGlB,+CAAiB,CACf,UAAU,CFdO,KAAK,CEetB,UAAU,CAAE,IAAI,CAGlB,uDAAyB,CACvB,OAAO,CAAE,OAAO,CAChB,UAAU,CAAE,IAAI,CAEhB,mEAAc,CACZ,OAAO,CAAE,CAAC,CAGZ,uJACqB,CACnB,KAAK,CFtB4B,OAAW,CEuB5C,gBAAgB,CFtBiB,OAAK,CEyBtC,qMAAuB,CACrB,YAAY,CAAE,IAAI,CAElB,mNAAS,CACP,OAAO,CAAE,OAAO,CAChB,WAAW,CAAE,qBAAqB,CAClC,WAAW,CAAE,IAAI,CACjB,SAAS,CAAE,GAAG,CACd,QAAQ,CAAE,QAAQ,CAClB,IAAI,CAAE,GAAG,CACT,GAAG,CAAE,CAAC,CACN,KAAK,CFrCwB,OAAW,CE2ChD,mFAAqD,CACnD,gBAAgB,CF/CY,OAAa,CEgDzC,KAAK,CF/CuB,OAAU,CEkDxC,sDAAwB,CACtB,MAAM,CAAE,OAAO,CACf,OAAO,CAAE,KAAK,CACd,OAAO,CAAE,OAAO,CAChB,gBAAgB,CFnDmB,OAAK,CEoDxC,cAAc,CAAE,UAAU,CAG5B,wEAA4C,CAC1C,YAAY,CFjFK,OAAa,CEsFlC,gCAAgC,CClFK,eAAe,CADrC,IAAoB,CAED,kBAAkB,CAFrC,IAAoB,CCDnC,+DACqD,CACnD,QAAQ,CAAE,QAAQ,CAClB,GAAG,CAAE,CAAC,CACN,KAAK,CAAE,CAAC,CACR,MAAM,CAAE,CAAC,CACT,IAAI,CAAE,CAAC,CAEP,wBAAwB,CAAE,MAAM,CAElC,8CAAqD,CACnD,MAAM,CAAE,IAAI,CACZ,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,IAAI,CACZ,SAAS,CAAE,IAAI,CACf,UAAU,CAAE,IAAI,CAChB,OAAO,CAAE,CAAC,CAEZ,gBAAiB,CACf,QAAQ,CAAE,KAAK,CACf,OAAO,CAAE,MAAM,CACf,QAAQ,CAAE,MAAM,CAChB,UAAU,CAAE,IAAI,CAChB,UAAU,CAAE,eAAkB,CAC9B,OAAO,CAAE,CAAC,CACV,OAAO,CAAE,IAAI,CACb,SAAS,CAAE,GAAG,CACd,gBAAgB,CAAE,IAAI,CACtB,YAAY,CAAE,IAAI,CAEpB,yBAA0B,CACxB,QAAQ,CAAE,QAAQ,CAClB,OAAO,CAAE,IAAI,CACb,MAAM,CAAE,QAAQ,CAEhB,cAAc,CAAE,MAAM,CxE2EtB,kBAAkB,CAAE,0BAAO,CACnB,UAAU,CAAE,0BAAO,CUiO3B,kBAAwC,C8D3SjB,GAAG,C9D2S1B,qBAAwC,CC9Sb,GAAuB,CD8SlD,aAAwC,C8D3SjB,GAAG,CAC1B,gBAAgB,CAAE,KAAK,CACvB,YAAY,CAAE,KAAK,CAErB,wBAAyB,CACvB,OAAO,CAAE,KAAK,CACd,OAAO,CAAE,CAAC,CAEZ,wBAA2B,CACzB,QAAQ,CAAE,QAAQ,CAClB,MAAM,CAAE,IAAI,CACZ,QAAQ,CAAE,MAAM,CAElB,iCAAoC,CAClC,QAAQ,CAAE,QAAQ,CAEpB,+BAAoC,CAClC,QAAQ,CAAE,QAAQ,CAClB,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,IAAI,CACZ,UAAU,CAAE,MAAM,CAClB,WAAW,CAAE,GAAG,CAChB,kCAAkC,CAAE,oCAAwC,CACzE,+BAA+B,CAAE,oCAAwC,CACxE,8BAA8B,CAAE,oCAAwC,CACvE,6BAA6B,CAAE,oCAAwC,CACpE,0BAA0B,CAAE,oCAAwC,CAE9E,+DACqD,CACnD,kBAAkB,CAAE,mBAAmB,CACpC,eAAe,CAAE,mBAAmB,CACnC,cAAc,CAAE,mBAAmB,CAClC,aAAa,CAAE,mBAAmB,CAC/B,UAAU,CAAE,mBAAmB,CAEzC,uCAA4C,CAE1C,eAAe,CAAE,SAAS,CAE5B,sDAA6D,CAC3D,OAAO,CAAE,CAAC,CAKZ,oDAA2D,CACzD,OAAO,CAAE,IAAI,CAEf,6CACyB,CACvB,QAAQ,CAAE,QAAQ,CAClB,GAAG,CAAE,GAAG,CACR,IAAI,CAAE,IAAI,CACV,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,IAAI,CACZ,UAAU,CAAE,KAAK,CACjB,SAAS,CAAE,IAAI,CACf,WAAW,CAAE,IAAI,CACjB,KAAK,CJ1EgC,OAAW,CI2EhD,eAAe,CAAE,IAAI,CACrB,UAAU,CAAE,MAAM,CAClB,UAAU,CAAE,eAAiB,C9D6O7B,kBAAwC,C8D5OjB,GAAG,C9D4O1B,qBAAwC,CC9Sb,GAAuB,CD8SlD,aAAwC,C8D5OjB,GAAG,CxEoI1B,kBAAkB,CwEnIE,WAAW,CxEoI5B,eAAe,CwEpIE,WAAW,CxEqIvB,UAAU,CwErIE,WAAW,CxEe/B,kBAAkB,CAAE,kBAAW,CACvB,UAAU,CAAE,kBAAW,CwEd/B,WAAW,CAAE,KAAK,CAClB,OAAO,CAAE,CAAC,CACV,MAAM,CAAE,OAAO,CACf,OAAO,CAAE,IAAI,CAEf,sBAAyB,CACvB,IAAI,CAAE,IAAI,CACV,KAAK,CAAE,IAAI,CAGb,+CAC0B,CACxB,QAAQ,CAAE,QAAQ,CAClB,MAAM,CAAE,IAAI,CACZ,IAAI,CAAE,IAAI,CACV,MAAM,CAAE,UAAU,CAClB,SAAS,CAAE,IAAI,CACf,WAAW,CAAE,IAAI,CACjB,SAAS,C3E5De,yDAA6D,C2E6DrF,KAAK,CJpGgC,OAAW,CIqGhD,WAAW,CAAE,iBAAuB,CACpC,OAAO,CAAE,CAAC,CACV,OAAO,CAAE,IAAI,CAIf,uBAAyB,CACvB,WAAW,CAAE,IAAI,CAEjB,8BAAQ,CACN,OAAO,CAAE,OAAO,CAChB,WAAW,CAAE,qBAAqB,CAClC,WAAW,CAAE,IAAI,CACjB,QAAQ,CAAE,QAAQ,CAClB,GAAG,CAAE,IAAI,CACT,IAAI,CAAE,KAAK,CACX,MAAM,CAAE,IAAI,CACZ,KAAK,CAAE,IAAI,CAIf,uBAA0B,CACxB,OAAO,CAAE,IAAI,CACb,KAAK,CAAE,IAAI,CACX,IAAI,CAAE,IAAI,CACV,MAAM,CAAE,KAAK,CACb,SAAS,CAAE,IAAI,CACf,eAAe,CAAE,IAAI,CACrB,MAAM,CAAE,OAAO,CAEjB,4BAA+B,CAC7B,QAAQ,CAAE,QAAQ,CAClB,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,IAAI,CACZ,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,IAAI,CACZ,SAAS,CAAE,IAAI,CACf,WAAW,CAAE,IAAI,CACjB,UAAU,CAAE,MAAM,CAClB,UAAU,CAAE,eAAiB,C9D8K7B,kBAAwC,C8D7KjB,GAAG,C9D6K1B,qBAAwC,CC9Sb,GAAuB,CD8SlD,aAAwC,C8D7KjB,GAAG,CxEqE1B,kBAAkB,CwEpEE,WAAW,CxEqE5B,eAAe,CwErEE,WAAW,CxEsEvB,UAAU,CwEtEE,WAAW,CxEhD/B,kBAAkB,CAAE,kBAAW,CACvB,UAAU,CAAE,kBAAW,CwEiD/B,WAAW,CAAE,KAAK,CAClB,KAAK,C3EkduB,OAAc,C2Ejd1C,MAAM,CAAE,OAAO,CACf,OAAO,CAAE,CAAC,CACV,OAAO,CAAE,IAAI,CAEf,oCAAuC,CACrC,KAAK,C3EsiBuB,OAAY,C2EniB1C,0HAGqC,CACnC,KAAK,C3EqcuB,OAAc,C2Enc5C,uKAIwC,CACtC,OAAO,CAAE,KAAK,CAEd,iBAAiB,CAAE,aAAa,CAC7B,cAAc,CAAE,aAAa,CAC5B,aAAa,CAAE,aAAa,CAC3B,YAAY,CAAE,aAAa,CACxB,SAAS,CAAE,aAAa,CAElC,wJAIsC,CACpC,OAAO,CAAE,IAAI,CAEf,iJAI+B,CAC7B,mBAAmB,CAAE,IAAI,CACxB,kBAAkB,CAAE,IAAI,CACtB,gBAAgB,CAAE,IAAI,CACrB,eAAe,CAAE,IAAI,CACjB,WAAW,CAAE,IAAI,CAY3B,oDAAuD,CACrD,mBAAmB,CAAE,OAAO,CAI9B,sCAA2C,CACzC,UAAU,CAAE,KAAK,CAEnB,qDAA4D,CAC1D,QAAQ,CAAE,QAAQ,CAIpB,6CAAoD,CAClD,QAAQ,CAAE,IAAI,CACd,MAAM,CAAE,MAAM,CACd,QAAQ,CAAE,MAAM,CAChB,UAAU,CAAE,IAAI,CChPlB,4BAA6B,CAC5B,QAAQ,CAAE,QAAQ,CAClB,UAAU,CAAE,MAAM,CAClB,OAAO,CAAE,YAAY,CACrB,QAAQ,CAAE,MAAM,CAChB,MAAM,CAAE,OAAO,CAEhB,8BAA+B,CAC9B,MAAM,CAAE,CAAC,CAEV,mLAG8C,CAC7C,SAAS,CAAE,IAAI,CACf,UAAU,CAAE,IAAI,CAChB,MAAM,CAAE,IAAI,CACZ,QAAQ,CAAE,QAAQ,CAClB,GAAG,CAAE,CAAC,CACN,KAAK,CAAE,CAAC,CACR,MAAM,CAAE,CAAC,CACT,IAAI,CAAE,CAAC,CAER,iDAAkD,CAChD,OAAO,CAAE,IAAI,CAEf,iDAAkD,CACjD,OAAO,CAAE,KAAK,CAEf,kDAAmD,CAClD,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,IAAI,CACZ,MAAM,CAAE,IAAI,CACZ,IAAI,CAAE,IAAI,CAEX,kDAAmD,CAClD,IAAI,CAAE,CAAC,CAER,6FAC8C,CAC5C,OAAO,CAAE,IAAI,CAEf,6CAA8C,CAC7C,MAAM,CAAE,OAAO,CAEhB,mDAAoD,CACnD,WAAW,CAAE,sBAAsB,CACnC,sBAAsB,CAAE,WAAW,CACnC,OAAO,CAAE,OAAO,CAChB,SAAS,CAAE,IAAI,CACf,WAAW,CAAE,IAAI,CACjB,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,IAAI,CACZ,QAAQ,CAAE,QAAQ,CAClB,GAAG,CAAE,GAAG,CACR,MAAM,CAAE,eAAe,CAExB,6CAA8C,CAC7C,UAAU,CAAE,wCAAwC,CACpD,eAAe,CAAE,SAAS,CAE3B,mDAAoD,CACnD,OAAO,CAAE,IAAI,CAGd,oCAAqC,CACnC,8BAA+B,CAC7B,KAAK,CAAE,IAAI,CACX,IAAI,CAAE,IAAI,CACb,KAAK,CAAE,IAAI,CACR,SAAS,CAAE,MAAM,CACjB,YAAY,CAAE,EAAE,CAChB,aAAa,CAAE,EAAE,ECpFrB;;;;;;8EAM8E,AAG9E,uKACwB,CACtB,WAAW,CAAE,KAAK,CAClB,YAAY,CAAE,GAAG,CAGnB,OAAQ,CACN,QAAQ,CAAE,QAAQ,CAClB,QAAQ,CAAE,MAAM,CAElB,8BAA+B,CAC7B,OAAO,CAAE,IAAI,CAEf,aAAc,CACZ,QAAQ,CAAE,QAAQ,CAClB,KAAK,CAAE,IAAI,CACX,GAAG,CAAE,CAAC,CACN,MAAM,CAAE,CAAC,CACT,IAAI,CAAE,CAAC,CACP,UAAU,CAAE,sBAAsB,CAClC,kBAAkB,CAAE,sBAAsB,CAC1C,gBAAgB,CAAE,IAAI,CACtB,mBAAmB,CAAE,IAAI,CAE3B,yBAA0B,CACxB,IAAI,CAAE,KAAK,CAEb,UAAW,CACT,QAAQ,CAAE,QAAQ,CAClB,GAAG,CAAE,CAAC,CACN,MAAM,CAAE,CAAC,CACT,IAAI,CAAE,CAAC,CACP,KAAK,CAAE,GAAG,CACV,MAAM,CAAE,CAAC,CACT,MAAM,CAAE,CAAC,CACT,aAAa,CAAE,CAAC,CAElB,WAAY,CACV,QAAQ,CAAE,QAAQ,CAClB,GAAG,CAAE,CAAC,CACN,MAAM,CAAE,CAAC,CACT,IAAI,CAAE,GAAG,CACT,KAAK,CAAE,CAAC,CACR,MAAM,CAAE,CAAC,CACT,MAAM,CAAE,CAAC,CACT,aAAa,CAAE,CAAC,CAElB,cAAe,CACb,QAAQ,CAAE,QAAQ,CAClB,MAAM,CAAE,MAAM,CACd,WAAW,CAAE,CAAC,CACd,cAAc,CAAE,CAAC,CACjB,MAAM,CAAE,IAAI,CACZ,KAAK,CAAE,CAAC,CACR,YAAY,CAAE,KAAK,CACnB,UAAU,CAAE,OAAO,CAGrB,WAAY,CAAE,SAAS,CAAE,IAAI,CAAE,UAAU,CAAE,IAAI,CAC/C,cAAe,CAAE,aAAa,CAAE,IAAI,CACpC,eAAgB,CAAE,YAAY,CAAE,IAAI,CAEpC,wCAAe,CAAE,SAAS,CAAE,IAAI,CAAE,UAAU,CAAE,IAAI,CAClD,8CAAkB,CAAE,aAAa,CAAE,IAAI,CACvC,gDAAmB,CAAE,YAAY,CAAE,IAAI,CACvC,sDAAsB,CAAE,KAAK,CAAE,IAAI,CAEnC,wCAAe,CAAE,SAAS,CAAE,IAAI,CAAE,UAAU,CAAE,IAAI,CAClD,8CAAkB,CAAE,aAAa,CAAE,IAAI,CAAE,YAAY,CAAE,CAAC,CACxD,gDAAmB,CAAE,YAAY,CAAE,IAAI,CAAE,aAAa,CAAE,CAAC,CAEzD,wCAAe,CAAE,SAAS,CAAE,IAAI,CAAE,UAAU,CAAE,IAAI,CAClD,8CAAkB,CAAE,aAAa,CAAE,GAAG,CACtC,gDAAmB,CAAE,YAAY,CAAE,GAAG,CC9CtC,uDAAS,CACP,YAAY,CAAE,IAAI,CAElB,sHAAK,CACH,OAAO,CAAE,YAAY,CACrB,cAAc,CAAE,MAAM,CACtB,QAAQ,CAAE,QAAQ,CAClB,YAAY,CAAE,GAAG,CAEjB,8IAAS,CACP,OAAO,CAAE,EAAE,CACX,OAAO,CAAE,YAAY,CACrB,QAAQ,CAAE,QAAQ,CAClB,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,IAAI,CACZ,IAAI,CAAE,CAAC,CACP,WAAW,CAAE,KAAK,CAClB,MAAM,CAAE,iBAAuB,CAC/B,aAAa,CAAE,GAAG,CAClB,gBAAgB,CPvBU,OAAU,CpEgGxC,kBAAkB,CAAE,8DAAW,CACvB,UAAU,CAAE,8DAAW,C2EtE7B,2IAAS,CACP,WAAW,CAvDE,qBAAqB,CAwDlC,OAAO,CAvDA,OAAyB,CAwDhC,WAAW,CAAE,IAAI,CACjB,OAAO,CAAE,YAAY,CACrB,QAAQ,CAAE,QAAQ,CAClB,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,IAAI,CACZ,IAAI,CAAE,CAAC,CACP,GAAG,CAAE,CAAC,CACN,OAAO,CAAE,CAAC,CACV,SAAS,CAAE,wBAAwB,CACnC,UAAU,CAAE,iBAAiB,CAC7B,WAAW,CAAE,kBAAkB,CAC/B,WAAW,CAAE,KAAK,CAClB,YAAY,CAAE,GAAG,CACjB,WAAW,CAAE,GAAG,CAChB,SAAS,CAAE,gBAAgB,CAC3B,KAAK,CP9CqB,OAAa,COkD3C,qMACoB,CAClB,OAAO,CAAE,CAAC,CACV,OAAO,CAAE,CAAC,CACV,MAAM,CAAE,OAAO,CAMf,wcAAwB,CACtB,WAAW,CAvFE,qBAAqB,CAwFlC,OAAO,CAvFA,OAAyB,CA0FlC,wcAAwB,CACtB,SAAS,CAAE,sBAAsB,CACjC,OAAO,CAAE,CAAC,CAGZ,4eAA8B,CAC5B,OAAO,CAAE,KAAK,CACd,OAAO,CAAE,EAAE,CACX,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,GAAG,CACX,gBAAgB,CAAE,OAAO,CACzB,aAAa,CAAE,GAAG,CAClB,WAAW,CAAE,OAAO,CACpB,UAAU,CAAE,GAAG,CAGjB,oaAAkB,CAChB,OAAO,CAAE,IAAI,CAEb,odAAS,CACP,gBAAgB,CPjFe,OAAK,COkFpC,MAAM,CAAE,WAAW,CAMzB,sYAA+B,CAC7B,aAAa,CAAE,GAAG,CAGpB,uFAAiB,CACf,UAAU,CAAE,CAAC,CArHb,oiBAAU,CACR,gBAAgB,C9E6pBQ,OAAW,C8E5pBnC,YAAY,C9E4pBY,OAAW,C8E1pBrC,8hBAAQ,CACN,KAAK,CAAE,IAAI,CALb,8hBAAU,CACR,gBAAgB,CPZP,OAAW,COapB,YAAY,CPbH,OAAW,COetB,whBAAQ,CACN,KAAK,CAAE,IAAI,CALb,khBAAU,CACR,gBAAgB,C9EukBQ,OAAW,C8EtkBnC,YAAY,C9EskBY,OAAW,C8EpkBrC,4gBAAQ,CACN,KAAK,CAAE,IAAI,CALb,oiBAAU,CACR,gBAAgB,C9EynBQ,OAAc,C8ExnBtC,YAAY,C9EwnBY,OAAc,C8EtnBxC,8hBAAQ,CACN,KAAK,CAAE,IAAI,CALb,oiBAAU,CACR,gBAAgB,C9EokBQ,OAAc,C8EnkBtC,YAAY,C9EmkBY,OAAc,C8EjkBxC,8hBAAQ,CACN,KAAK,CAAE,IAAI,CAQb,wkBAAU,CACR,gBAAgB,C9EgpBQ,OAAW,C8E/oBnC,YAAY,C9E+oBY,OAAW,C8E7oBrC,kkBAAQ,CACN,gBAAgB,CAAE,IAAI,CALxB,kkBAAU,CACR,gBAAgB,CPzBP,OAAW,CO0BpB,YAAY,CP1BH,OAAW,CO4BtB,4jBAAQ,CACN,gBAAgB,CAAE,IAAI,CALxB,sjBAAU,CACR,gBAAgB,C9E0jBQ,OAAW,C8EzjBnC,YAAY,C9EyjBY,OAAW,C8EvjBrC,gjBAAQ,CACN,gBAAgB,CAAE,IAAI,CALxB,wkBAAU,CACR,gBAAgB,C9E4mBQ,OAAc,C8E3mBtC,YAAY,C9E2mBY,OAAc,C8EzmBxC,kkBAAQ,CACN,gBAAgB,CAAE,IAAI,CALxB,wkBAAU,CACR,gBAAgB,C9EujBQ,OAAc,C8EtjBtC,YAAY,C9EsjBY,OAAc,C8EpjBxC,kkBAAQ,CACN,gBAAgB,CAAE,IAAI,CA0I5B,MAAM,CACJ,YAAY,CAAE,IAAI,CAElB,gIAAK,CACH,OAAO,CAAE,YAAY,CACrB,cAAc,CAAE,MAAM,CACtB,QAAQ,CAAE,QAAQ,CAClB,YAAY,CAAE,GAAG,CAEjB,wJAAS,CACP,OAAO,CAAE,EAAE,CACX,OAAO,CAAE,YAAY,CACrB,QAAQ,CAAE,QAAQ,CAClB,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,IAAI,CACZ,IAAI,CAAE,CAAC,CACP,WAAW,CAAE,KAAK,CAClB,MAAM,CAAE,iBAAuB,CAC/B,aAAa,CAAE,GAAG,CAClB,gBAAgB,CP1JU,OAAU,CpEgGxC,kBAAkB,CAAE,kCAAW,CACvB,UAAU,CAAE,kCAAW,C2E6D7B,qJAAQ,CACN,OAAO,CAAE,YAAY,CACrB,QAAQ,CAAE,QAAQ,CAClB,OAAO,CAAE,GAAG,CACZ,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,IAAI,CACZ,IAAI,CAAE,GAAG,CACT,GAAG,CAAE,GAAG,CACR,OAAO,CAAE,CAAC,CACV,SAAS,CAAE,wBAAwB,CACnC,UAAU,CAAE,aAAa,CACzB,WAAW,CAAE,kBAAkB,CAC/B,WAAW,CAAE,KAAK,CAClB,aAAa,CAAE,GAAG,CAClB,gBAAgB,CP7KU,OAAa,CpE8H3C,iBAAiB,CAAE,UAAkB,CACjC,aAAa,CAAE,UAAkB,CAC7B,SAAS,CAAE,UAAkB,CAfrC,kBAAkB,CAAE,2DAA6B,CAC9C,eAAe,CAAE,wDAA0B,CACzC,aAAa,CAAE,sDAAwB,CACpC,UAAU,CAAE,mDAAqB,C2EiEzC,0BAAmB,CACjB,OAAO,CAAE,CAAC,CACV,OAAO,CAAE,CAAC,CACV,MAAM,CAAE,OAAO,CAMf,yOAAwB,C3EhE1B,iBAAiB,CAAE,UAAkB,CACjC,aAAa,CAAE,UAAkB,CAC7B,SAAS,CAAE,UAAkB,C2EgEjC,OAAO,CAAE,CAAC,CAGZ,uNAAkB,CAChB,OAAO,CAAE,IAAI,CAEb,+OAAS,CACP,MAAM,CAAE,WAAW,CAMzB,mBAAc,CACZ,UAAU,CAAE,CAAC,CArFX,yOAAQ,CACN,gBAAgB,C9EghBM,OAAW,C8E5gBnC,oQAAU,CACR,YAAY,C9E2gBU,OAAW,C8EzgBnC,iQAAQ,CACN,gBAAgB,C9EwgBM,OAAW,C8EjhBnC,sOAAQ,CACN,gBAAgB,CPzJT,OAAW,CO6JpB,iQAAU,CACR,YAAY,CP9JL,OAAW,COgKpB,8PAAQ,CACN,gBAAgB,CPjKT,OAAW,COwJpB,gOAAQ,CACN,gBAAgB,C9E0bM,OAAW,C8EtbnC,2PAAU,CACR,YAAY,C9EqbU,OAAW,C8EnbnC,wPAAQ,CACN,gBAAgB,C9EkbM,OAAW,C8E3bnC,yOAAQ,CACN,gBAAgB,C9E4eM,OAAc,C8ExetC,oQAAU,CACR,YAAY,C9EueU,OAAc,C8EretC,iQAAQ,CACN,gBAAgB,C9EoeM,OAAc,C8E7etC,yOAAQ,CACN,gBAAgB,C9EubM,OAAc,C8EnbtC,oQAAU,CACR,YAAY,C9EkbU,OAAc,C8EhbtC,iQAAQ,CACN,gBAAgB,C9E+aM,OAAc,C8EtV1C,2RAA+B,CAC7B,WAAW,CAtPI,qBAAqB,CAuPpC,OAAO,CAtPE,OAAyB,CAyPlC,weAAU,CACR,KAAK,CAAE,IAAI,CAEb,keAAS,CACP,KAAK,CAAE,IAAI,CCnQjB,IAAK,CACJ,MAAM,CAAE,CAAC,CACT,OAAO,CAAE,CAAC,CACV,MAAM,CAAE,IAAI,CACZ,QAAQ,CAAC,QAAQ,CAGlB,IAAK,CACJ,MAAM,CAAE,CAAC,CACT,OAAO,CAAE,CAAC,CACV,UAAU,CAAE,IAAI,CAChB,SAAS,CAAC,GAAG,CAId,sCAAuC,CACtC,UAAU,CAAC,MAAM,CAGlB,eAAgB,CACf,QAAQ,CAAC,iBAAiB,CAG3B,+FAAwG,CACtG,OAAO,CAAE,CAAC,CAGZ,QAAS,CACR,MAAM,CAAC,CAAC,CACR,WAAW,C/E4Cc,yDAA6D,C+EzCvF,WAAY,CACR,MAAM,CAAE,WAAW,CACnB,gBAAK,CACD,SAAS,CAAE,IAAiB,CAC5B,KAAK,CRJmB,OAAU,CQKlC,OAAO,CAAE,YAAY,CACrB,cAAc,CAAE,GAAG,CAI3B,wDAAM,CACL,WAAW,CAAC,MAAM,CAGnB,eAAgB,CACZ,OAAO,CAAE,YAAY,CAMzB,cAAiB,CACb,gBAAgB,CAAE,eAAe,CAGrC,waAgBwB,CACtB,OAAO,CAAE,CAAC,CACV,OAAO,CAAE,cAAc,CAMvB,UAAU,CAAE,+CAAkD,CAGhE,yPAGc,CACV,aAAa,CAAE,cAAc,CAC/B,qBAAqB,CAAE,cAAc,CACrC,kBAAkB,CAAE,cAAc,CAGpC,SAAU,CACT,MAAM,CAAE,IAAI,CACZ,OAAO,CAAE,QAAQ,CACjB,SAAS,CAAE,IAAI,CACf,WAAW,CAAE,GAAG,CAGjB,0BAAQ,CACP,OAAO,CAAE,OAAO,CACb,SAAS,CAAE,IAAI,CACf,WAAW,CAAE,GAAG,CAGpB,0BAAQ,CACP,OAAO,CAAE,WAAW,CAGrB,0BAAQ,CACP,OAAO,CAAE,SAAS,CAGnB,SAAU,CACR,MAAM,CAAE,CAAC,CAET,yBAAkB,CAChB,MAAM,CAAE,YAAY,CACpB,aAAa,CAAE,CAAC,CAChB,YAAY,CAAE,CAAC,CASnB,EAAG,CACF,cAAc,CAAC,IAAI,CACnB,SAAS,C/EhDgB,IAA+B,C+EiDxD,MAAM,CAAC,MAAM,CACb,QAAS,CACT,SAAS,C/EhDgB,IAAe,C+EiDxC,WAAW,CAAC,GAAG,CACf,cAAc,CAAC,IAAI,CAGpB,EAAG,CACD,SAAS,C/ExDe,IAAI,C+EyD5B,MAAM,CAAE,MAAM,CACd,WAAW,CAAE,MAAM,CAGrB,EAAG,CACF,OAAO,CAAE,KAAK,CACd,SAAS,C/E9DgB,IAA+B,C+E+DxD,WAAW,CAAE,GAAG,CAChB,MAAM,CAAE,MAAM,CACd,WAAW,CAAC,MAAM,CAGnB,EAAG,CACF,WAAW,CAAC,MAAM,CACf,MAAM,CAAE,aAAa,CAGzB,EAAG,CACF,SAAS,C/ExEgB,IAA8B,C+EyEvD,WAAW,CAAE,GAAG,CAChB,UAAU,CAAE,CAAC,CACV,aAAa,CAAE,IAAI,CACtB,WAAW,CAAC,MAAM,CAGnB,EAAG,CACF,SAAS,C/E/EgB,IAA8B,C+EgFvD,MAAM,CAAE,MAAM,CACd,WAAW,CAAC,IAAI,CAChB,WAAW,CAAC,MAAM,CAGnB,qBAAsB,CACrB,MAAM,CAAC,cAAc,CACrB,aAAa,CAAC,IAAI,CAClB,OAAO,CAAC,KAAK,CACb,KAAK,CAAE,OAA2B,CAClC,SAAS,CAAC,IAAI,CACd,WAAW,CAAC,GAAG,CAYhB,0CAA8C,CAC7C,OAAO,CAAC,gBAAgB,CACxB,MAAM,CAAC,iBAAiB,CAezB,aAAc,CACb,UAAU,CAAC,eAAe,CAC1B,kBAAkB,CAAE,eAAe,CACnC,eAAe,CAAE,eAAe,CAGjC,QAAS,CACR,WAAW,CAAC,KAAK,CACjB,YAAY,CAAC,KAAK,CAClB,YAAY,CAAC,eAAmD,CAChE,UAAU,CAAE,IAAI,CAChB,aAAa,CAAE,IAAI,CAGpB,cAAe,CACd,OAAO,CAAE,KAAK,CACd,MAAM,CAAE,IAAI,CACZ,UAAU,CAAE,qBAAmD,CAC/D,QAAQ,CAAE,QAAQ,CAGlB,QAAS,CACT,QAAQ,CAAC,QAAQ,CAIlB,8BAA+B,CAC9B,MAAM,CAAC,YAAY,CACnB,aAAa,CAAC,WAAW,CACzB,OAAO,CAAC,QACT,CAEA,+BAAgC,CAC/B,MAAM,CAAC,CAAC,CACR,OAAO,CAAE,KAAK,CACd,OAAO,CAAE,cAAc,CACvB,UAAU,CAAE,yBAA6D,CACzE,UAAU,CAAE,qBAAwB,CACpC,UAAU,CAAC,KAAK,CAChB,UAAU,CAAC,IAAI,CAGhB,mBAAqB,CACpB,OAAO,CAAE,KAAK,CACd,OAAO,CAAE,KAAK,CACd,aAAa,CAAE,0BAA8D,CAC7E,UAAU,C/EqmBiB,IAAM,C+EpmBjC,SAAS,CAAE,IAAI,CACf,WAAW,CAAE,GAAG,CAChB,KAAK,C/E8dwB,OAAY,C+E7dzC,MAAM,CAAE,aAAa,CACpB,wBAAyB,CAC1B,MAAM,CAAE,WAAW,CACnB,wBAAyB,CACzB,UAAU,CAAC,IAAI,CACd,MAAO,CACR,WAAW,CAAC,GAAG,CACf,UAAU,CAAC,GAAG,CACd,UAAU,CAAC,IAAI,CAGhB,kBAAmB,CACjB,OAAO,CAAE,QAAQ,CACjB,WAAW,CAAE,8BAA8B,ClE6E3C,kBAAwC,CkE5EjB,CAAC,ClE4ExB,qBAAwC,CC9Sb,CAAuB,CD8SlD,aAAwC,CkE5EjB,CAAC,C5EhJxB,kBAAkB,CAAE,kBAAW,CACvB,UAAU,CAAE,kBAAW,C4EmJjC,sBAAuB,CACtB,SAAS,CAAC,IAAI,CAGf,mDAAqD,CACpD,SAAS,CAAE,GAAG,CAGf,6EAAgF,CAC/E,SAAS,CAAE,IAAI,CAOd,wIAA6B,CAC3B,YAAY,CR3RK,OAAa,CQ6R9B,KAAK,CR7RY,OAAa,CQiSlC,kFAAsF,CACrF,YAAY,C/EyViB,OAAc,C+ExV3C,kDAAqD,CACrD,gBAAgB,CAAE,OAA6B,CAC/C,KAAK,C/EgbwB,OAAY,C+E9a1C,8FAAkG,CACjG,YAAY,C/EmViB,OAAc,C+ElV3C,wDAA2D,CAC3D,gBAAgB,CAAE,OAA8B,CAChD,KAAK,C/E8iBsB,IAAM,C+E3iBlC,6BAA8B,CAC7B,YAAY,CAAE,kBAAe,CAC7B,UAAU,CAAC,kBAAe,CAC1B,KAAK,CAAC,kBAA6B,CAGpC,+BAAgC,CAC/B,YAAY,CAAE,kBAAgC,CAC9C,gBAAgB,CAAC,kBAA8B,CAC/C,KAAK,CAAE,kBAAgC,CAGxC,iJACiE,CAChE,aAAa,CAAC,CAAC,CAGhB,KAAM,CACL,UAAU,CAAE,GAAG,CACf,OAAO,CAAE,KAAK,CACd,SAAS,CAAE,IAAI,CACf,WAAW,CAAE,IAAI,CACjB,KAAK,CAAE,OAAyB,CAShC,sCAA4C,CAC3C,QAAQ,CAAC,QAAQ,CACjB,KAAK,CAAC,IAAI,CACV,GAAG,CAAC,IAAI,CACR,SAAS,CAAC,IAAI,CACd,KAAK,CR1TgC,OAAW,CQ6TjD,kBAAqB,CACpB,KAAK,CAAC,IAAI,CACV,IAAI,CAAC,IAAI,CAGV,+BAAgC,CAC/B,aAAa,CAAC,IAAI,CAGnB,8BAA+B,CAC9B,YAAY,CAAC,IAAI,CAGlB,gnBAa4C,CAC3C,gBAAgB,CAAE,+CAAkD,CACpE,iBAAiB,CAAE,SAAS,CAC5B,mBAAmB,CAAE,OAAO,CAC5B,aAAa,CAAC,IAAI,CAGnB,wLAAwD,CACvD,UAAU,CAAE,GAAG,CACf,YAAY,CAAC,cAAc,CAC3B,WAAW,CAAC,CAAC,CAGd,umCAGuE,CACtE,YAAY,CAAC,GAAG,CAMlB,MAAO,CACH,aAAa,CAAE,IAAI,CACnB,UAAU,CAAE,GAAG,CACf,OAAO,CAAE,iBAAiB,CAC1B,KAAK,CAAC,OAAO,CACb,YAAY,CAAC,GAAG,CAChB,iBAAiB,CAAE,GAAG,CACtB,OAAO,CAAC,IAAI,CAEZ,wBAAiB,CACf,WAAW,CAAE,IAAI,CAGnB,uBAAgB,CACd,SAAS,CAAE,IAAI,CAGjB,aAAO,CACH,GAAG,CAAE,GAAG,CACR,KAAK,CAAE,IAAI,CACX,WAAW,CAAE,IAAI,CAIzB,cAAe,CACX,WAAW,CAAC,GAAG,CAGnB,aAAc,CACV,YAAY,CR7aD,OAAW,CQ8atB,KAAK,C/EiTqB,OAAY,C+EhTtC,UAAU,C/E0NgB,OAAgB,C+EzN1C,WAAW,CAAC,IAAI,CAElB,8BAAgB,CACd,KAAK,CRnbM,OAAW,CQub1B,cAAe,CACX,YAAY,C/E6Mc,OAAc,C+E5MxC,KAAK,C/EsSqB,OAAY,C+ErStC,UAAU,C/EqIgB,OAAiB,C+EnI7C,+BAAgB,CACd,KAAK,C/EwMqB,OAAc,C+EpM5C,cAAe,CACX,YAAY,C/E8Ic,OAAc,C+E7IxC,KAAK,C/E4RqB,OAAY,C+E3RtC,UAAU,C/EyLgB,OAAiB,C+EvL7C,+BAAgB,CACd,KAAK,C/EyIqB,OAAc,C+ErI5C,WAAY,CACR,YAAY,C/EuIc,OAAW,C+EtIrC,KAAK,C/EkRqB,OAAY,C+EjRtC,UAAU,C/EmLgB,OAAc,C+EjL1C,4BAAgB,CACd,KAAK,C/EkIqB,OAAW,C+EzHzC,eAAgB,CACf,MAAM,CAAE,cAA6B,CACrC,WAAW,CAAC,cAA6B,CAG1C,YAAa,CACZ,MAAM,CAAE,cAA0B,CAClC,WAAW,CAAC,cAA0B,CAGvC,YAAa,CACZ,MAAM,CAAE,eAA0B,CAClC,WAAW,CAAC,eAA0B,CAGvC,YAAa,CACZ,MAAM,CAAE,eAA0B,CAClC,WAAW,CAAC,eAA0B,CAGvC,uBAAwB,CACtB,QAAQ,CAAE,QAAQ,CAClB,QAAQ,CAAE,MAAM,CAChB,WAAW,CAAE,IAAI,CAGnB,gCAAiC,CAC/B,QAAQ,CAAE,QAAQ,CAClB,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,IAAI,CACZ,SAAS,CAAE,IAAI,CACf,WAAW,CAAE,IAAI,CACjB,UAAU,CAAE,MAAM,CAGpB,iCAAkC,CAChC,OAAO,CAAE,KAAK,CACd,KAAK,CAAE,IAAI,CACX,SAAS,CAAE,IAAI,CACf,WAAW,CAAE,IAAI,CACjB,UAAU,CAAE,MAAM,CAGpB,6BAA8B,CAC5B,KAAK,CAAE,CAAC,CAGV,uCAAwC,CACtC,QAAQ,CAAE,QAAQ,CAClB,KAAK,CAAE,CAAC,CAGV,kBAAmB,CACjB,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,IAAI,CACZ,UAAU,CAAC,KAAK,CAChB,YAAY,CAAE,IAAI,CAClB,OAAO,CAAC,YAAY,CACpB,aAAa,CAAC,GAAG,CAGnB,kBAAmB,CAClB,KAAK,CAAE,IAAI,CAGZ,yBAA0B,CACxB,QAAQ,CAAE,QAAQ,CAGpB,iDAAkD,CAChD,QAAQ,CAAE,QAAQ,CAClB,MAAM,CAAE,CAAC,CAGX,gCAAiC,CAC/B,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,CAAC,CACT,kBAAkB,CAAE,gBAAgB,CAC5B,UAAU,CAAE,gBAAgB,CAGtC,uCAAwC,CACtC,QAAQ,CAAE,QAAQ,CAClB,MAAM,CAAE,CAAC,CAGX,uCAOC,CANC,IAAK,CACH,mBAAmB,CAAE,MAAM,CAE7B,EAAG,CACD,mBAAmB,CAAE,GAAG,EAI5B,oCAOC,CANC,IAAK,CACH,mBAAmB,CAAE,MAAM,CAE7B,EAAG,CACD,mBAAmB,CAAE,GAAG,EAI5B,kCAOC,CANC,IAAK,CACH,mBAAmB,CAAE,GAAG,CAE1B,EAAG,CACD,mBAAmB,CAAE,MAAM,EAI/B,+BAOC,CANC,IAAK,CACH,mBAAmB,CAAE,MAAM,CAE7B,EAAG,CACD,mBAAmB,CAAE,GAAG,EAI5B,SAAU,CACT,QAAQ,CAAE,QAAQ,CAClB,aAAa,CAAE,IAAI,CACnB,QAAQ,CAAE,MAAM,CAChB,MAAM,CAAE,IAAI,CACZ,UAAU,CRvjB4B,OAAW,CpEwFhD,kBAAkB,CAAE,2CAAO,CACnB,UAAU,CAAE,2CAAO,CUiO3B,kBAAwC,CbgkBnB,GAAG,CahkBxB,qBAAwC,CC9Sb,GAAuB,CD8SlD,aAAwC,CbgkBnB,GAAG,C+E9T1B,aAAc,CACb,KAAK,CAAE,IAAI,CACX,KAAK,CAAE,CAAC,CACR,MAAM,CAAE,IAAI,CACZ,SAAS,CAAE,IAAI,CACf,KAAK,C/EgQsB,IAAM,C+E/PjC,UAAU,CAAE,MAAM,CAClB,gBAAgB,CtE7hBa,OAAK,CsE8hBlC,WAAW,CAAE,IAAI,C5EtehB,kBAAkB,CAAE,oDAAW,CACvB,UAAU,CAAE,oDAAW,C4EyejC,+BAAgC,CAC9B,gBAAgB,CAAE,kRAA4W,CAC9X,gBAAgB,CAAE,kLAA4Q,CAC9R,gBAAgB,CAAE,+KAAyQ,CAC3R,gBAAgB,CAAE,4KAAoQ,CACtR,eAAe,CAAE,SAAS,CAG5B,8BAA+B,CAC7B,iBAAiB,CAAE,uCAAuC,CACvD,cAAc,CAAE,uCAAuC,CACtD,aAAa,CAAE,uCAAuC,CACrD,YAAY,CAAE,uCAAuC,CAClD,SAAS,CAAE,uCAAuC,CAG5D,oBAAqB,CACnB,gBAAgB,CR3nBH,OAAW,CQ8nB1B,sCAAuC,CACrC,gBAAgB,CAAE,kRAA4W,CAC9X,gBAAgB,CAAE,kLAA4Q,CAC9R,gBAAgB,CAAE,+KAAyQ,CAC3R,gBAAgB,CAAE,4KAAoQ,CAGxR,qBAAsB,CACpB,gBAAgB,C/EtDY,OAAc,C+EyD5C,uCAAwC,CACtC,gBAAgB,CAAE,kRAA4W,CAC9X,gBAAgB,CAAE,kLAA4Q,CAC9R,gBAAgB,CAAE,+KAAyQ,CAC3R,gBAAgB,CAAE,4KAAoQ,CAGxR,qBAAsB,CACpB,gBAAgB,C/EZY,OAAc,C+Ee5C,uCAAwC,CACtC,gBAAgB,CAAE,kRAA4W,CAC9X,gBAAgB,CAAE,kLAA4Q,CAC9R,gBAAgB,CAAE,+KAAyQ,CAC3R,gBAAgB,CAAE,4KAAoQ,CAGxR,kBAAmB,CACjB,gBAAgB,C/EzEY,OAAW,C+E4EzC,oCAAqC,CACnC,gBAAgB,CAAE,kRAA4W,CAC9X,gBAAgB,CAAE,kLAA4Q,CAC9R,gBAAgB,CAAE,+KAAyQ,CAC3R,gBAAgB,CAAE,4KAAoQ,CAIxR,uCAAyC,CACxC,UAAU,C/ErFmB,OAAW,C+EwFzC,cAAe,CACd,OAAO,CAAC,CAAC,CACT,MAAM,CAAC,CAAC,CAGT,oBAAqB,CACpB,OAAO,CAAE,EAAE,CACX,OAAO,CAAE,KAAK,CACd,MAAM,CAAE,CAAC,CACT,KAAK,CAAE,IAAI,CAEZ,iBAAkB,CACjB,OAAO,CAAE,MAAM,CACf,KAAK,CAAE,GAAG,CACV,OAAO,CAAE,KAAK,CACd,KAAK,CAAE,IAAI,CACX,UAAU,CAAE,MAAM,CAEnB,6BAA8B,CAC7B,WAAW,CAAE,IAAI,CAElB,gDAAqD,CACpD,WAAW,CAAE,IAAI,CAElB,oCAAyC,CACxC,MAAM,CAAE,MAAM,CACd,KAAK,CAAE,IAAI,CAMZ,SAAS,CACP,aAAa,CAAE,IAAI,CAGrB,qBAAwB,CACvB,SAAS,CAAE,IAAI,CACf,OAAO,CAAE,eAAe,CACxB,OAAO,CAAE,EAAE,CACX,WAAW,CAAE,GAAG,CAChB,SAAS,CAAE,IAAI,CACf,WAAW,CAAE,MAAM,CAGpB,gCAAmC,CAClC,YAAY,CAAC,GAAG,CAChB,WAAW,CAAC,GAAG,CAEhB,qBAAwB,CACvB,OAAO,CAAC,YAAY,CACpB,SAAS,CAAC,IAAI,CACd,WAAW,CAAC,GAAG,CACf,OAAO,CAAE,EAAE,CAGZ,cAAe,CACZ,KAAK,CRlsB+B,OAAW,CQosBhD,WAAW,C/E7pBa,yDAA6D,C+E+pBrF,oBAAO,CACL,KAAK,CR1sBuB,OAAa,CQ2sBzC,YAAY,CAAE,2CAA+C,CAC7D,UAAU,CAAE,GAAG,CACf,gBAAgB,CAAE,CAAC,CAGvB,qBAA0B,CAEtB,gBAAgB,CRltBY,OAAa,CQmtBzC,KAAK,C/EhBqB,OAAa,C+EiB1C,gBAAgB,CAAE,cAAc,CAChC,UAAU,CAAE,cAAc,CAC1B,WAAW,CAAC,IAAI,CAEjB,gCAAqC,CACpC,kBAAkB,CAAE,gBAAc,CAClC,eAAe,CAAE,gBAAc,CAC/B,UAAU,CAAE,gBAAc,CAC1B,gBAAgB,CAAE,cAAc,CAChC,WAAW,CAAE,eAAe,CAC5B,WAAW,CAAE,cAAc,CAE5B,iCAAsC,CACrC,MAAM,CAAC,eAAe,CACtB,UAAU,CAAC,eAAe,CAC1B,kBAAkB,CAAE,eAAe,CACnC,eAAe,CAAE,eAAe,CAEjC,iCAAsC,CACrC,kBAAkB,CAAE,eAAa,CACjC,eAAe,CAAE,eAAa,CAC9B,UAAU,CAAE,eAAa,CACzB,gBAAgB,CAAE,cAAc,CAChC,YAAY,CAAE,eAAe,CAC7B,YAAY,CAAE,cAAc,CAE7B,iCAAsC,CACrC,kBAAkB,CAAE,eAAa,CACjC,eAAe,CAAE,eAAa,CAC9B,UAAU,CAAE,eAAa,CACzB,mBAAmB,CAAE,cAAc,CACnC,UAAU,CAAE,eAAe,CAC3B,UAAU,CAAE,cAAc,CAG3B,gEAAyE,CACxE,aAAa,CAAE,CAAC,CAGjB,+CAAqD,CACpD,OAAO,CAAE,IAAI,CAGd,0CAAgD,CAC/C,OAAO,CAAE,KAAK,CAGf,qBAAwB,CACvB,UAAU,CAAE,iBAAmC,CAGhD,wBAA6B,CAC5B,UAAU,CAAE,IAAI,CAChB,aAAa,CAAE,CAAC,CAGjB,mGAC4D,CAC3D,KAAK,CAAE,IAAI,CAGZ,2GACoE,CACnE,SAAS,CAAE,IAAI,CACf,YAAY,CAAE,CAAC,CACf,aAAa,CAAE,GAAG,CAGnB,0CAAgD,CAC/C,KAAK,CAAE,IAAI,CACX,YAAY,CAAE,IAAI,CAClB,YAAY,CAAE,iBAAmC,CAChD,qBAAwB,CACzB,YAAY,CAAC,IAAI,CAGlB,yBAAgC,CAC/B,YAAY,CAAE,IAAI,CAGnB,+DAA6E,CAC5E,YAAY,CAAE,+BAAoE,CAGnF,wGAAuH,CACtH,YAAY,CAAE,mCAA2F,CACzG,mBAAmB,C/E0BQ,IAAM,C+EvBlC,uBAA0B,CACzB,WAAW,CAAE,KAAK,CAGnB,qBAAwB,CACvB,KAAK,CAAE,KAAK,CACZ,WAAW,CAAE,IAAI,CACjB,WAAW,CAAE,iBAAmC,CAGjD,0BAAiC,CAChC,WAAW,CAAE,IAAI,CAGlB,iEAA+E,CAC9E,YAAY,CAAE,+BAAmE,CAGlF,2GAA0H,CACzH,YAAY,CAAE,mCAAyF,CACvG,kBAAkB,C/EGS,IAAM,C+EAlC,gEAAyE,CACxE,aAAa,CAAE,CAAC,CAGjB,+CAAqD,CACpD,OAAO,CAAE,IAAI,CAGd,0CAAgD,CAC/C,OAAO,CAAE,KAAK,CAGf,qBAAwB,CACvB,UAAU,CAAE,iBAAmC,CAGhD,wBAA6B,CAC5B,UAAU,CAAE,IAAI,CAChB,aAAa,CAAE,CAAC,CAGjB,iEAA+E,CAC9E,gBAAgB,CAAE,OAAyB,CAC3C,mBAAmB,CAAE,WAAW,CAGjC,2GAAgI,CAC/H,YAAY,CAAE,mCAAyF,CAIxG,kBAAmB,CAClB,UAAU,C/EhCiB,IAAM,C+EiCjC,MAAM,CAAC,iBAAmC,CAG3C,iCAAkC,CACjC,iBAAiB,CAAC,cAAc,CAGjC,+BAAkC,CACjC,MAAM,CAAC,iBAAmC,CAC1C,UAAU,CAAC,IAAI,CAKhB,0DAA4D,CAC3D,KAAK,CAAC,KAAK,CAGZ,sFAA4F,CAC3F,YAAY,CAAC,GAAG,CAGjB,wGAA8G,CAC7G,iBAAiB,CAAC,cAAc,CAChC,YAAY,CAAC,GAAG,CAChB,kBAAkB,CAAC,GAAG,CAMvB,iBAAkB,CAChB,SAAS,CAAC,IAAI,CAGhB,sBAAuB,CACrB,OAAO,CAAE,QAAQ,CAClB,8BAA+B,CAC7B,KAAK,CAAC,eAAe,CAIxB,iBAAkB,CAChB,QAAQ,CAAE,QAAQ,CAGpB,gCAAiC,CAC/B,GAAG,CAAE,CAAC,CACN,IAAI,CAAE,IAAI,CACV,UAAU,CAAE,IAAI,CAChB,WAAW,CAAE,IAAI,CAKlB,sCAAgB,CACf,OAAO,CAAE,KAAK,CAGf,yBAAG,CAEF,gBAAgB,CR/5BqB,OAAW,CQg6BhD,KAAK,C/EhOuB,OAAa,C+EkO1C,+BAAO,CACN,iBAAiB,C/ErNW,OAAM,C+E0NnC,yBAAO,CACN,OAAO,CAAE,KAAK,CACd,OAAO,CAAE,GAAG,CACZ,KAAK,CAAE,KAAK,CACZ,KAAK,CAAE,CAAC,CACR,MAAM,CAAE,CAAC,CACT,YAAY,CAAE,WAAW,CACzB,YAAY,CAAE,KAAK,CACnB,YAAY,CAAE,aAAa,CAC3B,iBAAiB,C/EpPW,OAAY,C+EqPxC,UAAU,CAAE,GAAG,CACf,YAAY,CAAE,GAAG,CAIjB,+BAAO,CACN,iBAAiB,CR37BY,OAAa,CQi8B7C,2BAA4B,CAC1B,KAAK,CAAE,IAAI,CAGb,0CAA2C,CACzC,IAAI,CAAE,KAAK,CACX,WAAW,CAAE,IAAI,CAOnB,oCAA8C,CAC7C,UAAU,CAAE,+BAAmE,CAC/E,eAAe,CAAE,+BAAmE,CACpF,kBAAkB,CAAE,+BAAmE,CAMxF,qBAAsB,CACrB,KAAK,CRx9B0B,OAAa,CQ29B7C,IAAK,CACH,WAAW,C/El7Ba,yDAA6D,C+Em7BrF,WAAW,CAAE,8BAA8B,ClEhqB3C,kBAAwC,CkEiqBjB,GAAG,ClEjqB1B,qBAAwC,CC9Sb,GAAuB,CD8SlD,aAAwC,CkEiqBjB,GAAG,C5E73B1B,kBAAkB,CAAE,sHAAW,CACvB,UAAU,CAAE,sHAAW,C4Eu4BjC,eAAgB,CACf,gBAAgB,CAAE,OAAO,CACzB,gBAAgB,CAAE,qCAAqC,CACvD,gBAAgB,CAAE,2DAA2D,CAC7E,gBAAgB,CAAE,wCAAwC,CAC1D,gBAAgB,CAAE,mCAAmC,CACrD,gBAAgB,CAAE,2CAAsC,CACxD,iBAAiB,CAAE,QAAQ,CAC3B,MAAM,CAAE,8GAA8G,CACtH,KAAK,CAAE,KAAK,CACZ,OAAO,CAAE,KAAK,CACd,WAAW,CAAE,IAAI,CACjB,cAAc,CAAE,MAAM,CACtB,MAAM,CAAE,IAAI,CACZ,OAAO,CAAE,KAAK,CACd,MAAM,CAAE,IAAI,CACZ,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,SAAS,CACjB,MAAM,CAAE,OAAO,CAGhB,iBAAoB,CACnB,SAAS,CAAC,IAAI,CAGf,wBAAyB,CACxB,WAAW,CAAE,IAAI,CACjB,OAAO,CAAE,YAAY,CAGtB,mDAAsD,CACrD,MAAM,CAAE,SAAS,CAOlB,aAAc,CACV,YAAY,C/E3RgB,OAAO,C+E4RnC,4BAAmB,CACf,KAAK,C/E9Me,IAAM,C+E+M1B,gBAAgB,C/E9RQ,OAAO,C+E+R/B,YAAY,C/E/RY,OAAO,C+EkSvC,iBAAkB,CACd,YAAY,C/ExSgB,OAAO,C+EySnC,gCAAmB,CACf,KAAK,C/EtNe,IAAM,C+EuN1B,gBAAgB,C/E3SQ,OAAO,C+E4S/B,YAAY,C/E5SY,OAAO,C+E+SvC,gBAAiB,CACb,YAAY,C/E/SgB,OAAO,C+EgTnC,+BAAmB,CACf,KAAK,C/E9Ne,IAAM,C+E+N1B,gBAAgB,C/ElTQ,OAAO,C+EmT/B,YAAY,C/EnTY,OAAO,C+EsTvC,aAAc,CACV,YAAY,CRviCgB,OAAU,CQwiCtC,4BAAmB,CACf,KAAK,C/EtOe,IAAM,C+EuO1B,gBAAgB,CAAE,OAAO,CACzB,YAAY,CAAE,OAAO,CAG7B,YAAa,CACT,YAAY,C/E/Vc,OAAM,C+EgWhC,2BAAmB,CACf,KAAK,C/E9Oe,IAAM,C+E+O1B,gBAAgB,C/ElWM,OAAM,C+EmW5B,YAAY,C/EnWU,OAAM,C+EsWpC,UAAW,CACP,YAAY,CtEhhCc,OAAI,CsEihC9B,yBAAmB,CACf,KAAK,C/EtPe,IAAM,C+EuP1B,gBAAgB,CtEnhCM,OAAI,CsEohC1B,YAAY,CtEphCU,OAAI,CsEuhClC,WAAY,CACR,YAAY,CRrlCK,OAAa,CQslC9B,0BAAmB,CACf,KAAK,C/E9Pe,IAAM,C+E+P1B,gBAAgB,CRxlCH,OAAa,CQylC1B,YAAY,CRzlCC,OAAa,CQ4lClC,aAAc,CACV,YAAY,C/Elec,OAAc,C+EmexC,4BAAmB,CACf,KAAK,C/EtQe,IAAM,C+EuQ1B,gBAAgB,C/EreM,OAAc,C+EsepC,YAAY,C/EteU,OAAc,C+Eye5C,eAAgB,CACZ,YAAY,C/EjWgB,OAAO,C+EkWnC,8BAAmB,CACf,KAAK,C/E9Qe,IAAM,C+E+Q1B,gBAAgB,C/EpWQ,OAAO,C+EqW/B,YAAY,C/ErWY,OAAO,C+EwWvC,cAAe,CACX,YAAY,C/E9VgB,OAAO,C+E+VnC,6BAAmB,CACf,KAAK,C/EtRe,IAAM,C+EuR1B,gBAAgB,C/EjWQ,OAAO,C+EkW/B,YAAY,C/ElWY,OAAO,C+EqWvC,WAAY,CACR,YAAY,CtEvjCc,OAAK,CsEwjC/B,0BAAmB,CACf,KAAK,C/E9Re,IAAM,C+E+R1B,gBAAgB,CtE1jCM,OAAK,CsE2jC3B,YAAY,CtE3jCU,OAAK,CsEgkCnC,wBAA2B,CAC1B,aAAa,CAAC,GAAG,CACjB,kBAAkB,CAAC,GAAG,CACtB,qBAAqB,CAAE,GAAG,CAC1B,aAAa,CAAC,IAAI,CAClB,WAAW,CAAC,IAAI,CAChB,YAAY,CAAC,IAAI,CAOlB,WAAY,CACV,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,IAAI,CACZ,UAAU,CAAE,MAAM,CAClB,OAAO,CAAE,KAAK,CACd,SAAS,CAAE,IAAI,CACf,WAAW,CAAE,IAAI,CACjB,aAAa,CAAE,GAAG,CAClB,kBAAkB,CAAE,GAAG,CACvB,qBAAqB,CAAE,GAAG,C5EpiC1B,kBAAkB,CAAE,yDAAO,CACnB,UAAU,CAAE,yDAAO,C4EsiC7B,gDAAmB,CACjB,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,IAAI,CACZ,OAAO,CAAE,KAAK,CACd,SAAS,CAAE,IAAI,CACf,WAAW,CAAE,IAAI,CACjB,aAAa,CAAE,GAAG,CAClB,kBAAkB,CAAE,GAAG,CACvB,qBAAqB,CAAE,GAAG,CAE5B,gDAAmB,CACjB,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,IAAI,CACZ,OAAO,CAAE,SAAS,CAClB,SAAS,CAAE,IAAI,CACf,WAAW,CAAE,IAAI,CACjB,aAAa,CAAE,GAAG,CAClB,kBAAkB,CAAE,GAAG,CACvB,qBAAqB,CAAE,GAAG,CAE5B,kBAAmB,CACjB,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,IAAI,CACZ,OAAO,CAAE,SAAS,CAClB,SAAS,CAAE,IAAI,CACf,WAAW,CAAE,IAAI,CACjB,aAAa,CAAE,GAAG,CAClB,kBAAkB,CAAE,GAAG,CACvB,qBAAqB,CAAE,GAAG,CAQ5B,UAAW,CACT,QAAQ,CAAE,QAAQ,CAClB,IAAI,CAAE,IAAI,CACV,OAAO,CAAE,YAAY,CACrB,OAAO,CAAE,OAAO,CAChB,UAAU,CAAE,gBAAoD,CAChE,aAAa,CAAE,WAAW,CAG5B,YAAa,CACX,WAAW,CAAE,CAAC,CACd,cAAc,CAAE,CAAC,CACjB,YAAY,CAAE,GAAG,CAGnB,SAAU,CACT,UAAU,CAAE,IAAI,CAChB,kBAAkB,CAAE,IAAI,CACxB,SAAS,CAAE,IAAmB,CAQ/B,kCAAmC,CAC/B,aAAa,CAAE,GAAG,CAClB,OAAO,CAAE,GAAG,CACZ,KAAK,CAAE,IAAI,CACX,UAAU,CAAE,kBAAyE,CACrF,MAAM,CAAE,iBAAoB,CAC5B,WAAW,CAAE,aAAa,CAC1B,SAAS,CAAE,IAAI,CACf,UAAU,CAAE,IAAI,C5E7mClB,kBAAkB,CAAE,0BAAO,CACnB,UAAU,CAAE,0BAAO,C4EgnC3B,0DAAwB,CAClB,WAAW,CAAE,IAAI,CAGrB,sDAAoB,CAChB,WAAW,CAAE,MAAM,CAI3B,aAAc,CACV,QAAQ,CAAE,QAAQ,CAClB,OAAO,C/EpYc,GAA0B,C+EsYnD,gCAAiC,CAC/B,OAAO,CAAE,GAAwB,CCpvCjC,62BAA0B,CAAE,KAAK,CAAE,kBAAgB,CACnD,2RAA0B,CAAE,KAAK,CAAE,kBAAqB,CACxD,qRAA0B,CAAE,KAAK,CAAE,kBAAoB,CACvD,6SAA0B,CAAE,KAAK,CAAE,kBAAyB,CAC5D,uSAA0B,CAAE,KAAK,CAAE,kBAAwB,CAC3D,kbAA0B,CAAE,KAAK,CAAE,kBAAsB,CACzD,kTAA0B,CAAE,KAAK,CAAE,kBAAgB,CACnD,qRAA0B,CAAE,KAAK,CAAE,kBAAqB,CACxD,iSAA0B,CAAE,KAAK,CAAE,kBAAuB,CAC1D,+eAA0B,CAAE,KAAK,CAAE,kBAAiB,CACpD,2RAA0B,CAAE,KAAK,CAAE,kBAAuB,CAC1D,qRAA0B,CAAE,KAAK,CAAE,kBAAoB,CACvD,yeAA0B,CAAE,KAAK,CAAE,kBAAe,CAClD,2RAA0B,CAAE,KAAK,CAAE,kBAAsB,CACzD,yQAA0B,CAAE,KAAK,CAAE,kBAAkB,CACrD,iSAA0B,CAAE,KAAK,CAAE,kBAAuB,CAC1D,uSAA0B,CAAE,KAAK,CAAE,kBAAwB,CAC3D,6UAA0B,CAAE,KAAK,CAAE,kBAAkB,CACrD,iSAA0B,CAAE,KAAK,CAAE,kBAAuB,CAC1D,6PAA0B,CAAE,KAAK,CAAE,kBAAgB,CACnD,qRAA0B,CAAE,KAAK,CAAE,kBAAoB,CACvD,yQAA0B,CAAE,KAAK,CAAE,kBAAkB,CACrD,yQAA0B,CAAE,KAAK,CAAE,kBAAkB,CACrD,+QAA0B,CAAE,KAAK,CAAE,kBAAmB,CACtD,mQAA0B,CAAE,KAAK,CAAE,eAAiB,CACpD,+QAA0B,CAAE,KAAK,CAAE,kBAAmB,CACtD,oVAA0B,CAAE,KAAK,CAAE,kBAAyB,CAC5D,iRAA0B,CAAE,KAAK,CAAE,kBAAwB,CAC3D,iUAA0B,CAAE,KAAK,CAAE,kBAAgB,CACnD,iSAA0B,CAAE,KAAK,CAAE,kBAAuB,CAC1D,mTAA0B,CAAE,KAAK,CAAE,kBAA0B,CAE7D,6PAA0B,CAAE,KAAK,CAAE,kBAAgB,CACnD,yQAA0B,CAAE,KAAK,CAAE,iBAAkB,CACrD,yQAA0B,CAAE,KAAK,CAAE,kBAAkB,CAErD,+QAA0B,CAAE,KAAK,CAAE,kBAAyB,CAC5D,+QAA0B,CAAE,KAAK,CAAE,kBAAyB,CAC5D,uSAA0B,CAAE,KAAK,CAAE,kBAAsB,CACzD,6PAA0B,CAAE,KAAK,CAAE,kBAAsB,CACzD,6gBAA0B,CAAE,KAAK,CAAE,kBAAyB,CAC5D,yQAA0B,CAAE,KAAK,CAAE,kBAAwB,CAM3D,uBAA0B,CAAE,gBAAgB,CAAE,kBAAgB,CAC9D,4BAA0B,CAAE,gBAAgB,CAAE,kBAAqB,CACnE,2BAA0B,CAAE,gBAAgB,CAAE,kBAAoB,CAClE,wBAA0B,CAAE,gBAAgB,CAAE,kBAAiB,CAC/D,6BAA0B,CAAE,gBAAgB,CAAE,kBAAsB,CACpE,4BAA0B,CAAE,gBAAgB,CAAE,kBAAsB,CACpE,sBAA0B,CAAE,gBAAgB,CAAE,kBAAe,CAC7D,yBAA0B,CAAE,gBAAgB,CAAE,kBAAkB,CAChE,yBAA0B,CAAE,gBAAgB,CAAE,kBAAkB,CAChE,6BAA0B,CAAE,gBAAgB,CAAE,kBAAsB,CACpE,uBAA0B,CAAE,gBAAgB,CAAE,kBAAgB,CAC9D,2BAA0B,CAAE,gBAAgB,CAAE,kBAAoB,CAClE,yBAA0B,CAAE,gBAAgB,CAAE,kBAAkB,CAChE,yBAA0B,CAAE,gBAAgB,CAAE,kBAAkB,CAChE,0BAA0B,CAAE,gBAAgB,CAAE,kBAAmB,CACjE,wBAA0B,CAAE,gBAAgB,CAAE,eAAiB,CAC/D,uBAA0B,CAAE,gBAAgB,CAAE,kBAAgB,CAC9D,2BAA0B,CAAE,gBAAgB,CAAE,kBAAoB,CAClE,6BAA0B,CAAE,gBAAgB,CAAE,kBAAuB,CACrE,0BAA0B,CAAE,gBAAgB,CAAE,kBAAmB,CACjE,8BAA0B,CAAE,gBAAgB,CAAE,kBAAwB,CACtE,6BAA0B,CAAE,gBAAgB,CAAE,kBAAuB,CACrE,8BAA0B,CAAE,gBAAgB,CAAE,kBAAwB,CACtE,2BAA0B,CAAE,gBAAgB,CAAE,kBAAoB,CC1DpE,sBAAuB,CACrB,uBAAuB,CAAE,IAAI,CAC7B,0BAA0B,CAAE,IAAI,CAChC,mBAAmB,CAAE,SAAS,CAC9B,sBAAsB,CAAE,SAAS,CACjC,QAAQ,CAAC,QAAQ,CApBjB,4BAEC,CAsBD,IAAK,CACH,OAAO,CAAE,CAAC,CACV,GAAG,CAAE,KAAK,CAGZ,EAAG,CACD,OAAO,CAAE,CAAC,CACV,GAAG,CAAC,GAAG,EA5BT,yBAEC,CAmBD,IAAK,CACH,OAAO,CAAE,CAAC,CACV,GAAG,CAAE,KAAK,CAGZ,EAAG,CACD,OAAO,CAAE,CAAC,CACV,GAAG,CAAC,GAAG,EAzBT,wBAEC,CAgBD,IAAK,CACH,OAAO,CAAE,CAAC,CACV,GAAG,CAAE,KAAK,CAGZ,EAAG,CACD,OAAO,CAAE,CAAC,CACV,GAAG,CAAC,GAAG,EAtBT,oBAEC,CAaD,IAAK,CACH,OAAO,CAAE,CAAC,CACV,GAAG,CAAE,KAAK,CAGZ,EAAG,CACD,OAAO,CAAE,CAAC,CACV,GAAG,CAAC,GAAG,EA/BT,gCAEC,CAmCD,EAAG,CACD,IAAI,CxE+BsB,OAAI,CwE7BhC,GAAI,CACF,IAAI,CV1Ca,OAAY,CU4C/B,IAAK,CACH,IAAI,CxEyBsB,OAAI,EwElEhC,6BAEC,CAgCD,EAAG,CACD,IAAI,CxE+BsB,OAAI,CwE7BhC,GAAI,CACF,IAAI,CV1Ca,OAAY,CU4C/B,IAAK,CACH,IAAI,CxEyBsB,OAAI,EwE/DhC,4BAEC,CA6BD,EAAG,CACD,IAAI,CxE+BsB,OAAI,CwE7BhC,GAAI,CACF,IAAI,CV1Ca,OAAY,CU4C/B,IAAK,CACH,IAAI,CxEyBsB,OAAI,EwE5DhC,wBAEC,CA0BD,EAAG,CACD,IAAI,CxE+BsB,OAAI,CwE7BhC,GAAI,CACF,IAAI,CV1Ca,OAAY,CU4C/B,IAAK,CACH,IAAI,CxEyBsB,OAAI,EwEpBlC,2BAA2B,C9E0JzB,iBAAiB,C8EzJE,2BAA6B,C9E0JxC,SAAS,C8E1JE,2BAA6B,C9EqKhD,iCAAiC,CAAE,qCAAgB,CAC3C,yBAAyB,CAAE,qCAAgB,C8EnKnD,sCAAU,C9EsJV,iBAAiB,C8ErJI,iCAAmC,C9EsJhD,SAAS,C8EtJI,iCAAmC,C9EiKxD,iCAAiC,CAAE,qCAAgB,CAC3C,yBAAyB,CAAE,qCAAgB,C8E7JrD,2BAA2B,C9EgJzB,iBAAiB,C8E/IE,2BAA6B,C9EgJxC,SAAS,C8EhJE,2BAA6B,C9E2JhD,iCAAiC,CAAE,qCAAgB,CAC3C,yBAAyB,CAAE,qCAAgB,C8EzJnD,sCAAU,C9E4IV,iBAAiB,C8E3II,iCAAmC,C9E4IhD,SAAS,C8E5II,iCAAmC,C9EuJxD,iCAAiC,CAAE,qCAAgB,CAC3C,yBAAyB,CAAE,qCAAgB,C8EnJrD,0BAA0B,C9EsIxB,iBAAiB,C8ErIE,0BAA4B,C9EsIvC,SAAS,C8EtIE,0BAA4B,C9EiJ/C,iCAAiC,CAAE,qCAAgB,CAC3C,yBAAyB,CAAE,qCAAgB,C8E/InD,qCAAU,C9EkIV,iBAAiB,C8EjII,gCAAkC,C9EkI/C,SAAS,C8ElII,gCAAkC,C9E6IvD,iCAAiC,CAAE,qCAAgB,CAC3C,yBAAyB,CAAE,qCAAgB,C8ExNnD,yCAEC,CA+ED,GAAK,CACH,gBAAgB,CjF4fU,OAAc,CiF3fxC,KAAK,CVrDuB,OAAU,EU3BxC,sCAEC,CA4ED,GAAK,CACH,gBAAgB,CjF4fU,OAAc,CiF3fxC,KAAK,CVrDuB,OAAU,EUxBxC,qCAEC,CAyED,GAAK,CACH,gBAAgB,CjF4fU,OAAc,CiF3fxC,KAAK,CVrDuB,OAAU,EUrBxC,iCAEC,CAsED,GAAK,CACH,gBAAgB,CjF4fU,OAAc,CiF3fxC,KAAK,CVrDuB,OAAU,EU9BxC,+CAEC,CAuFD,GAAK,CACH,gBAAgB,CAAE,OAAuB,CACzC,KAAK,CV7DuB,OAAU,EU3BxC,4CAEC,CAoFD,GAAK,CACH,gBAAgB,CAAE,OAAuB,CACzC,KAAK,CV7DuB,OAAU,EUxBxC,2CAEC,CAiFD,GAAK,CACH,gBAAgB,CAAE,OAAuB,CACzC,KAAK,CV7DuB,OAAU,EUrBxC,uCAEC,CA8ED,GAAK,CACH,gBAAgB,CAAE,OAAuB,CACzC,KAAK,CV7DuB,OAAU,EU9BxC,yCAEC,CAgGD,GAAK,CACH,gBAAgB,CjFgiBU,OAAc,CiF/hBxC,KAAK,CjFynBqB,OAAY,EiF1tBxC,sCAEC,CA6FD,GAAK,CACH,gBAAgB,CjFgiBU,OAAc,CiF/hBxC,KAAK,CjFynBqB,OAAY,EiFvtBxC,qCAEC,CA0FD,GAAK,CACH,gBAAgB,CjFgiBU,OAAc,CiF/hBxC,KAAK,CjFynBqB,OAAY,EiFptBxC,iCAEC,CAuFD,GAAK,CACH,gBAAgB,CjFgiBU,OAAc,CiF/hBxC,KAAK,CjFynBqB,OAAY,EiF7tBxC,+CAEC,CAwGD,GAAK,CACH,gBAAgB,CAAE,OAAmB,CACrC,KAAK,CjFinBqB,OAAY,EiF1tBxC,4CAEC,CAqGD,GAAK,CACH,gBAAgB,CAAE,OAAmB,CACrC,KAAK,CjFinBqB,OAAY,EiFvtBxC,2CAEC,CAkGD,GAAK,CACH,gBAAgB,CAAE,OAAmB,CACrC,KAAK,CjFinBqB,OAAY,EiFptBxC,uCAEC,CA+FD,GAAK,CACH,gBAAgB,CAAE,OAAmB,CACrC,KAAK,CjFinBqB,OAAY,EiF7tBxC,wCAEC,CAiHD,GAAK,CACH,gBAAgB,CxE/CU,OAAI,CwEgD9B,KAAK,CjFwmBqB,OAAY,EiF1tBxC,qCAEC,CA8GD,GAAK,CACH,gBAAgB,CxE/CU,OAAI,CwEgD9B,KAAK,CjFwmBqB,OAAY,EiFvtBxC,oCAEC,CA2GD,GAAK,CACH,gBAAgB,CxE/CU,OAAI,CwEgD9B,KAAK,CjFwmBqB,OAAY,EiFptBxC,gCAEC,CAwGD,GAAK,CACH,gBAAgB,CxE/CU,OAAI,CwEgD9B,KAAK,CjFwmBqB,OAAY,EiF7tBxC,8CAEC,CAyHD,GAAK,CACH,gBAAgB,CAAE,OAAgB,CAClC,KAAK,CjFgmBqB,OAAY,EiF1tBxC,2CAEC,CAsHD,GAAK,CACH,gBAAgB,CAAE,OAAgB,CAClC,KAAK,CjFgmBqB,OAAY,EiFvtBxC,0CAEC,CAmHD,GAAK,CACH,gBAAgB,CAAE,OAAgB,CAClC,KAAK,CjFgmBqB,OAAY,EiFptBxC,sCAEC,CAgHD,GAAK,CACH,gBAAgB,CAAE,OAAgB,CAClC,KAAK,CjFgmBqB,OAAY,EiF1lB1C,4MAAkB,C9ELhB,kBAAkB,CAAE,gBAAW,CACvB,UAAU,CAAE,gBAAW,C8EQjC,0OAAwB,C9EetB,iBAAiB,CAAE,aAAgB,CAC/B,aAAa,CAAE,aAAgB,CAC3B,SAAS,CAAE,aAAgB,C8EbrC,qOAAuB,C9EWrB,iBAAiB,CAAE,cAAgB,CAC/B,aAAa,CAAE,cAAgB,CAC3B,SAAS,CAAE,cAAgB,C+E1JrC,UASC,CARC,WAAW,CAAE,YAAY,CACzB,UAAU,CAAE,MAAM,CAClB,WAAW,CAAE,GAAG,CAChB,GAAG,CAAE,yCAA8C,CACnD,GAAG,CAAE,+PAG4D,CAGnE,cAAe,CACb,WAAW,CAAE,YAAY,CACzB,WAAW,CAAE,GAAG,CCblB,IAAI,CAEF,qBAAqB,CAAE,IAAI,CAC3B,mBAAmB,CAAE,IAAI,CACzB,kBAAkB,CAAE,IAAI,CACxB,gBAAgB,CAAE,IAAI,CACtB,eAAe,CAAE,IAAI,CACrB,WAAW,CAAE,IAAI,CACjB,MAAM,CAAE,OAAO,CAGjB,QAAQ,CACN,QAAQ,CAAE,MAAM,CAIlB,UAAW,CACT,KAAK,CnFuVoC,OAAK,CmFtV9C,WAAW,CAAE,KAAK,CAClB,eAAe,CAAE,IAAI,CACrB,MAAM,CAAE,OAAO,ChF4Gf,kBAAkB,CAAE,oDAAW,CACvB,UAAU,CAAE,oDAAW,CgF1G/B,sBAAO,CACL,KAAK,CnFiUkC,OAAc,CmFhUrD,eAAe,CAAE,IAAI,CAGvB,sBAAO,CACL,KAAK,CnF2UkC,OAAK,CmFtUhD,EAAE,CAEA,UAAU,CAAE,MAAM,CAElB,WAAU,CACR,cAAc,CAAE,SAAS,CAI7B,mBAAmB,CACjB,cAAc,CAAE,UAAU,CAG5B,qBAAqB,CACnB,eAAe,CAAE,YAAY,CAG/B,WAAW,CACT,OAAO,CAAE,YAAY,CAIvB,mBAAoB,CAClB,OAAO,CAAE,IAAI,CACb,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,IAAI,CAGd,yBAA0B,CACxB,gBAAgB,CnFgqBY,OAAY,CmF/pBxC,WAAW,CAAE,iBAAoB,CACjC,aAAa,CAAE,GAAG,ChF+DlB,kBAAkB,CAAE,qBAAW,CACvB,UAAU,CAAE,qBAAW,CgF5DjC,yBAA0B,CACxB,MAAM,CAAE,GAAG,CACX,MAAM,CAAE,qBAAqB,CAC7B,eAAe,CAAE,WAAW,CAC5B,qBAAqB,CAAE,GAAG,CAC1B,gBAAgB,CAAE,OAAmB,CAErC,+BAAO,CACL,gBAAgB,CAAE,OAAmB,CAIzC,0BAA2B,CACzB,KAAK,CAAE,CAAC,CACR,MAAM,CAAE,CAAC,CACT,OAAO,CAAE,IAAI,CAGf,0BAA2B,CACzB,gBAAgB,CAAE,WAAW,CAI/B,WAAW,CACT,UAAU,CZ9DoB,OAAa,CY+D3C,KAAK,CnFooBuB,OAAa,CmFloB3C,gBAAgB,CACd,UAAU,CZlEoB,OAAa,CYmE3C,KAAK,CnFgoBuB,OAAa,CmFjnB3C,wCAAgB,CACd,MAAM,CAAE,IAAI,ChFcZ,kBAAkB,CAAE,oBAAW,CACvB,UAAU,CAAE,oBAAW,CgFNjC,iMAAsB,CACpB,MAAM,CAAE,OAAO,CACf,UAAU,CAAE,GAAG,ChFGf,kBAAkB,CAAE,oBAAW,CACvB,UAAU,CAAE,oBAAW,CgFD/B,2dAA0B,CACxB,KAAK,CnFogBqB,OAAc,CmFhgB5C,sBAAsB,CACpB,MAAM,CAAE,OAAO,CACf,KAAK,CZrGgC,OAAW,CpE8FhD,kBAAkB,CAAE,oBAAW,CACvB,UAAU,CAAE,oBAAW,CgFS/B,0DAAiB,CACf,KAAK,CAAE,kBAAkB,CAG3B,+BAAU,CACR,aAAa,CAAE,eAAe,CAIlC,2BAA2B,CACzB,MAAM,CAAE,IAAI,CACZ,gBAAgB,CAAE,IAAI,CACtB,WAAW,CAAE,IAAI,CAKjB,UAAU,CACR,KAAK,CnFqMkC,IAA0B,CmFpMjE,cAAc,CAAE,IAAI,CACpB,MAAM,CAAE,OAAO,CAKnB,MAAM,CACJ,WAAW,CAAE,kBAAkB,CAM/B,iCAAiB,CACf,cAAc,CAAE,SAAS,CAG3B,+BAAe,CACb,gBAAgB,CZ5ImB,OAAK,CY6IxC,KAAK,CZ9I8B,OAAW,CYgJ9C,sCAAM,CACJ,gBAAgB,CZnJU,OAAU,CYoJpC,KAAK,CZrJqB,OAAa,CYsJvC,WAAW,CnF7GS,6CAAiD,CmFkHvE,6CAAgB,CAEd,OAAO,CAAE,gBAAgB,CACzB,YAAY,CAAE,eAAe,CAC7B,KAAK,CZ/JqB,OAAa,CYoKrC,wDAAO,CACL,GAAG,CAAE,IAAI,CAKf,wEAAuC,CACrC,KAAK,C1EnImB,OAAI,C0EuIlC,0BAA4B,CAC1B,OAAO,CAAE,IAAI,CAIf,0BAA4B,CAC1B,aAAa,CAAE,GAAG,CAOhB,2EAAwB,CACtB,YAAY,CAAE,IAAI,CAItB,gCAAe,CAEb,YAAY,CAAE,GAAG,CACjB,aAAa,CAAE,GAAG,CAGpB,0DAAyC,CACvC,WAAW,CAAE,IAAI,CAKnB,uCAA8B,CAC5B,kBAAkB,CAAE,eAAe,CAGrC,2CAAkC,CAChC,KAAK,CAAE,IAAI,CAIX,2CAAK,CACH,UAAU,CAAE,eAAe,CAQ/B,6CAAyB,CACvB,MAAM,CAAE,KAAK,CACb,OAAO,CAAE,GAAG,CAIZ,0CAAU,CACR,WAAW,CAAE,IAAI,CACjB,OAAO,CAAE,KAAK,CAEd,2DAAkB,CAChB,YAAY,CAAE,IAAI,CAGpB,8CAAG,CACD,YAAY,CAAE,GAAG,CAQrB,mHAE6B,CAE3B,YAAY,CAAE,YAAY,CAC1B,aAAa,CAAE,YAAY,CAC3B,eAAe,CAAE,yBAAyB,CAE5C,0EAEc,CAEZ,aAAa,CAAE,eAAe,CAKhC,mBAAO,CACL,gBAAgB,CAAE,kBAAuB,CAO3C,qCAAyB,CAGvB,OAAO,CAAE,IAAI,CACb,gBAAgB,CAAE,WAAW,CAG/B,oDAAwC,CACtC,MAAM,CAAE,OAAO,CAGjB,+CAAwB,CAEtB,OAAO,CAAE,iBAAsB,CAC/B,cAAc,CAAE,IAAI,CACpB,gBAAgB,CAAE,qBAAuB,CAG3C,wBAAY,CACV,SAAS,CAAE,cAAc,CAG3B,gCAAoB,CAClB,MAAM,CAAE,OAAO,ChFrMnB,kBAAkB,CAAE,oBAAW,CACvB,UAAU,CAAE,oBAAW,CgF8M7B,kCAAsB,CACpB,MAAM,CAAE,OAAO,CAGf,6DAA4B,ChFnNhC,kBAAkB,CAAE,oBAAW,CACvB,UAAU,CAAE,oBAAW,CgF+N7B,iCAAqB,CACnB,OAAO,CAAE,YAAY,CACrB,eAAe,CAAE,yBAAyB,CAE1C,qCAAG,CACD,KAAK,CAAE,IAAI,CACX,UAAU,CAAE,WAAW,CACvB,WAAW,CAAE,iBAAe,CAC5B,YAAY,CAAE,iBAAe,CAK/B,2CAAG,CACD,KAAK,CAAE,IAAI,CAEX,WAAW,CAAE,qBAAqB,CAClC,YAAY,CAAE,qBAAqB,CAIvC,yCAA6B,CAC3B,OAAO,CAAE,YAAY,CACrB,6CAAG,CACD,KAAK,CAAE,IAAI,CAEX,WAAW,CAAE,qBAAqB,CAClC,YAAY,CAAE,qBAAqB,CAIvC,qCAAyB,CACvB,OAAO,CAAE,KAAK,CAGhB,mCAAuB,CACrB,KAAK,CZlW4B,OAAW,CYoW5C,2DAAuB,CACrB,KAAK,CAAE,IAAI,CACX,OAAO,CAAE,YAAY,CACrB,SAAS,CAAE,IAAI,CAGjB,2DAAuB,CACrB,KAAK,CAAE,IAAI,CACX,OAAO,CAAE,YAAY,CACrB,SAAS,CAAE,IAAI,CAInB,oCAAsB,CACpB,KAAK,C1E7UmB,OAAI,C0E8U5B,UAAU,CAAE,MAAM,CAGpB,qCAAuB,CACrB,QAAQ,CAAE,MAAM,CAChB,aAAa,CAAE,QAAQ,CACvB,WAAW,CAAE,MAAM,CAGrB,+BAAiB,CACf,KAAK,CAAE,IAAI,CAGb,+BAAiB,CACf,KAAK,CAAE,KAAK,CAGd,gCAAkB,CAChB,KAAK,CAAE,KAAK,CAMd,2DAAiB,CACf,YAAY,CAAE,iBAAe,CAG/B,+CAAS,CAEP,OAAO,CAAE,KAAK,CASlB,oBAAgB,CACd,KAAK,CAAE,IAAI,CACX,YAAY,CAAE,KAAK,CAInB,mBAAY,ChFlUd,kBAAkB,CAAE,iBAAW,CACvB,UAAU,CAAE,iBAAW,CgFsU3B,oBAAI,CACF,OAAO,CAAE,oBAAoB,CAMjC,mDAAkB,CAChB,KAAK,CAAE,IAAI,CAGb,mDAAkB,CAChB,KAAK,CAAE,IAAI,CAGb,yEAA6B,CAC3B,QAAQ,CAAE,MAAM,CAChB,aAAa,CAAE,QAAQ,CACvB,WAAW,CAAE,MAAM,CAOzB,eAAe,CACb,MAAM,CAAE,IAAI,CAEZ,6CAAiC,CAC/B,YAAY,CAAE,IAAI,CAItB,sBAAsB,CACpB,WAAW,CAAE,eAAe,CAC5B,OAAO,CAAE,CAAC,CACV,OAAO,CAAE,IAAI,CACb,MAAM,CAAE,CAAC,CACT,QAAQ,CAAE,MAAM,CAIlB,mBAAmB,CACjB,QAAQ,CAAE,QAAQ,CAClB,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,IAAI,CACZ,GAAG,CAAE,CAAC,CACN,IAAI,CAAE,CAAC,CACP,OAAO,CAAE,CAAC,CACV,UAAU,CnFuOkB,OAAY,CmFtOxC,OAAO,CAAE,IAAI,CtE7Jb,kBAAwC,CsE8JjB,GAAG,CtE9J1B,qBAAwC,CC9Sb,GAAuB,CD8SlD,aAAwC,CsE8JjB,GAAG,CAE1B,+CAA2B,CACzB,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,IAAI,CACZ,MAAM,CAAE,IAAI,CACZ,UAAU,CAAE,MAAM,CAClB,QAAQ,CAAE,QAAQ,CAClB,GAAG,CAAE,CAAC,CACN,IAAI,CAAE,CAAC,CACP,MAAM,CAAE,CAAC,CACT,KAAK,CAAE,CAAC,CAER,iDAAC,CACC,OAAO,CAAE,GAAG,CAMlB,oBAAoB,CAClB,KAAK,CAAE,IAAI,CAEX,gCAAW,CACT,KAAK,CAAE,IAAI,CAOT,0HAAQ,CACN,GAAG,CAAE,IAAI,CACT,OAAO,CAAE,CAAC,CAKd,sDAAQ,CF7YV,OAAO,CAAE,EAAE,CACX,QAAQ,CAAE,QAAQ,CAClB,gBAAgB,CjF2lBY,OAAM,CiF1lBlC,OAAO,CAAE,CAAC,CACV,WAAW,CAAE,WAAkB,C9EvB/B,kBAAkB,CAAE,yCAAW,CACvB,UAAU,CAAE,yCAAW,CgFia3B,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,GAAG,CACX,GAAG,CAAE,CAAC,CAMZ,uBAAuB,CACrB,MAAM,CAAE,OAAO,CAIjB,QAAQ,CACN,WAAW,CAAE,SAAS,CAGxB,YAAY,CACV,WAAW,CAAE,SAAS,CAItB,yBAAgB,CACd,MAAM,CAAE,OAAO,ChF/bjB,kBAAkB,CAAE,wCAAO,CACnB,UAAU,CAAE,wCAAO,CgFoc3B,0BAAgB,CACd,MAAM,CAAE,OAAO,ChFtcjB,kBAAkB,CAAE,uCAAO,CACnB,UAAU,CAAE,uCAAO,CgF4czB,+BAAO,CACL,OAAO,CAAE,OAAO,CAChB,WAAW,CAAE,qBAAqB,CAClC,WAAW,CAAE,IAAI,CACjB,KAAK,CnFoJmB,OAAY,CmFnJpC,QAAQ,CAAE,QAAQ,CAClB,KAAK,CAAE,GAAG,CAMhB,6BAA8B,CAC5B,WAAW,CAAE,SAAS,CAiBxB,qBAAqB,CACnB,UAAU,CAAE,MAAM,CAGpB,oBAAoB,CAClB,KAAK,C1EjkBuB,OAAO,C0EokBrC,wBAAwB,CACtB,KAAK,CnFkIuB,OAAM,CmF/HpC,qBAAqB,CACnB,KAAK,C1E1iBuB,OAAK,C0E6iBnC,mBAAmB,CACjB,KAAK,CZ5mBc,OAAa,CYgnBlC,cAAc,CACZ,MAAM,CAAE,gBAAgB,CAMpB,0EAA0B,CACxB,KAAK,CnFGiB,OAAc,CmFEtC,sDAAQ,CACN,OAAO,CAAE,iBAAiB,CAC1B,OAAO,CAAE,YAAY,CACrB,MAAM,CAAE,oBAAoB,CAC5B,MAAM,CAAE,uBAAuB,CAC/B,MAAM,CAAE,eAAe,CACvB,KAAK,CZ3mB0B,OAAW,CY4mB1C,KAAK,CAAE,IAAI,CACX,UAAU,CAAE,qDAAqD,CACjE,cAAc,CAAE,GAAG,CAIvB,oDAAwB,CACtB,UAAU,CAAE,qBAAqB,CAGnC,oDAAwB,CACtB,UAAU,CAAE,iBAAiB,CAG/B,wDAA4B,CAC1B,UAAU,CAAE,iBAAgB,CAG9B,qDAAyB,CACvB,UAAU,CAAE,iBAAe,CAG7B,mDAAuB,CACrB,UAAU,CAAE,iBAAuB,CAGrC,4CAAgB,CACd,YAAY,CAAE,GAAG,CAGnB,mDAAuB,CACrB,WAAW,CAAE,GAAG,CAMtB,mBAAmB,CACjB,UAAU,CAAE,IAAI,CAChB,cAAc,CAAE,IAAI,CAGpB,8BAAU,CACR,WAAW,CnFhnBW,yDAA6D,CmFinBnF,UAAU,CAAE,mBAAiB,CAC7B,OAAO,CAAE,IAAI,CACb,KAAK,CAAE,IAAI,CACX,aAAa,CAAE,IAAI,CACnB,WAAW,CAAE,0BAA0B,CACvC,QAAQ,CAAE,MAAM,CtEnWlB,kBAAwC,CsEoWf,GAAG,CtEpW5B,qBAAwC,CC9Sb,GAAuB,CD8SlD,aAAwC,CsEoWf,GAAG,CAE1B,qCAAQ,CACN,OAAO,CAAE,EAAE,CACX,QAAQ,CAAE,QAAQ,CAClB,GAAG,CAAE,CAAC,CACN,IAAI,CAAE,CAAC,CACP,YAAY,CAAE,KAAK,CACnB,YAAY,CAAE,WAAW,CACzB,YAAY,CAAE,2CAAyC,CACvD,MAAM,CAAE,SAAS,CAInB,qCAAM,CACJ,aAAa,CAAE,IAAI,CAIrB,+CAAgB,CACd,UAAU,CAAE,kBAAuB,CAGrC,8CAAe,CACb,aAAa,CAAE,IAAI,CAEnB,sEAAuB,CACrB,OAAO,CAAE,YAAY,CACrB,MAAM,CAAE,oBAAoB,CAC5B,MAAM,CAAE,uBAAuB,CAC/B,MAAM,CAAE,eAAe,CACvB,UAAU,CAAE,oBAAoB,CAEhC,6EAAQ,CACN,OAAO,CAAE,iBAAiB,CAG5B,4EAAO,CACL,KAAK,C1ExrBe,OAAO,C0E4rB/B,iDAAE,CACA,OAAO,CAAE,YAAY,CACrB,WAAW,CAAE,IAAI,CACjB,aAAa,CAAE,CAAC,CAGhB,wEAAsB,CACpB,WAAW,CAAE,GAAG,CAMtB,+CAAgB,CACd,SAAS,CAAE,IAAI,CACf,WAAW,CAAE,MAAM,CAKvB,qCAAiB,CACf,aAAa,CAAE,IAAI,CAMvB,eAAe,CACb,KAAK,CZtwBQ,OAAW,CYywB1B,oBAAoB,CAClB,KAAK,CnF1BuB,OAAM,CmF6BpC,oBAAoB,CAClB,KAAK,C1EtsBuB,OAAK,C0EysBnC,mBAAmB,CACjB,KAAK,C1EzuBuB,OAAO,C0E6uBrC,iBAAiB,CACf,OAAO,CAAE,IAAI,CACb,KAAK,CZzvByB,OAAa,CY0vB3C,MAAM,CAAE,IAAI,CAGd,0BAA0B,CACxB,KAAK,C1EvtBuB,OAAK,C0EwtBjC,OAAO,CAAE,YAAY,CAGvB,0BAA0B,CACxB,KAAK,C1E3tBuB,OAAI,C0E4tBhC,OAAO,CAAE,YAAY,CAGvB,wBAAwB,CACtB,KAAK,C1E/tBuB,OAAK,C0EguBjC,OAAO,CAAE,YAAY,CAGvB,2BAA2B,CACzB,KAAK,CnFvKuB,OAAc,CmFwK1C,OAAO,CAAE,YAAY,CAGvB,6BAA6B,CAC3B,KAAK,C1EvuBuB,IAAe,C0EwuB3C,OAAO,CAAE,YAAY,CAGvB,2BAA2B,CACzB,KAAK,CnFlSuB,IAAM,CmFmSlC,OAAO,CAAE,YAAY,CAIvB,+CAAS,CACP,WAAW,CAAE,mBAAyB,CACtC,gBAAgB,C1ElwBY,OAAO,C2Ea/B,gBAAY,CAAE,64BAAgC,CA2B9C,eAAe,CAAE,IAAI,CA3BrB,gBAAY,CAAE,qIAAgC,CAA9C,gBAAY,CAAE,wIAAgC,CAE9C,gBAAY,CAAE,gIAAO,CD6vBzB,eAAe,CAAE,SAAS,CAC1B,iBAAiB,CAAE,yBAAyB,CAC5C,cAAc,CAAE,yBAAyB,CACzC,aAAa,CAAE,yBAAyB,CACxC,SAAS,CAAE,yBAAyB,CAWtC,uBAAuB,CACrB,KAAK,C1EzwBuB,OAAO,C0E4wBrC,uBAAuB,CACrB,KAAK,C1E5wBuB,OAAO,C0E+wBrC,uBAAuB,CACrB,KAAK,C1E/wBuB,OAAO,C0EkxBrC,uBAAuB,CACrB,KAAK,C1ElxBuB,OAAO,C0EqxBrC,uBAAuB,CACrB,KAAK,C1ErxBuB,OAAO,C0EwxBrC,uBAAuB,CACrB,KAAK,C1ExxBuB,OAAO,C0E2xBrC,uBAAuB,CACrB,KAAK,C1E3xBuB,OAAO,C0E8xBrC,uBAAuB,CACrB,KAAK,C1E9xBuB,OAAO,C0EiyBrC,uBAAuB,CACrB,KAAK,C1EjyBuB,OAAO,C0EoyBrC,uBAAuB,CACrB,KAAK,C1EpyBuB,OAAO,C0EuyBrC,uBAAuB,CACrB,KAAK,C1EvyBuB,OAAO,C0E4yBrC,cAAc,CACZ,YAAY,CAAE,GAAG,CACjB,MAAM,CAAE,SAAS,CACjB,MAAM,CAAE,YAAY,CACpB,MAAM,CAAE,IAAI,CAGd,sBAAsB,CACpB,KAAK,CnF5JuB,OAAM,CmF+JpC,qBAAqB,CACnB,KAAK,CnF3QuB,OAAc,CmF8Q5C,sBAAsB,CACpB,KAAK,C1E70BuB,OAAI,C0Eg1BlC,mBAAmB,CACjB,KAAK,C1Ej1BuB,OAAI,C0Eo1BlC,kBAAkB,CAChB,KAAK,CnFvRuB,OAAc,CmF0R5C,kBAAkB,CAChB,KAAK,C1Ex1BuB,OAAK,C0E21BnC,sBAAsB,CACpB,KAAK,C1E33BuB,OAAO,C0E83BrC,sBAAsB,CACpB,KAAK,C1El2BuB,OAAK,C0Eu2BnC,0BAA0B,CACxB,YAAY,CAAE,kBAAgB,CAC9B,KAAK,C1Ev2BuB,OAAK,C0E02BnC,0BAA0B,CACxB,YAAY,CAAE,kBAAkB,CAChC,KAAK,CnF/SuB,OAAc,CmFkT5C,yBAAyB,CACvB,YAAY,CAAE,kBAAe,CAC7B,KAAK,C1El3BuB,OAAI,C0Eq3BlC,uBAAuB,CACrB,YAAY,CAAE,kBAAiB,CAC/B,KAAK,CnF9MuB,OAAM,CmFiNpC,2BAA2B,CACzB,YAAY,CAAE,kBAAwB,CACtC,KAAK,CZz7Bc,OAAa,CY67BlC,4BAA4B,CAC1B,gBAAgB,CZt6BqB,OAAW,CYu6BhD,KAAK,CnFrbuB,IAAM,CmFsblC,WAAW,CAAE,gBAAgB,ChF10B7B,kBAAkB,CAAE,8BAAW,CACvB,UAAU,CAAE,8BAAW,CgF40B/B,sDAA2B,CACzB,gBAAgB,C1Et4BU,OAAK,C0Ey4BjC,sDAA2B,CACzB,gBAAgB,CnF7UU,OAAc,CmFgV1C,qDAA0B,CACxB,gBAAgB,C1E/4BU,OAAI,C0Ek5BhC,mDAAwB,CACtB,gBAAgB,CnF1OU,OAAM,CmF6OlC,uDAA4B,CAC1B,gBAAgB,CZp9BC,OAAa,CYy9BlC,iBAAiB,CACf,OAAO,CAAE,eAAe,CACxB,cAAc,CAAE,IAAI,CAKpB,mEAAM,CACJ,MAAM,CAAE,MAAM,CAEd,yEAAE,CACA,cAAc,CAAE,UAAU,CAMhC,mBAAmB,CACjB,UAAU,CAAE,WAAW,CACvB,OAAO,CAAE,YAAY,CACrB,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,GAAG,CACX,UAAU,CAAE,iBAAqB,CACjC,aAAa,CAAE,iBAAqB,CACpC,gBAAgB,CAAE,OAAO,CACzB,QAAQ,CAAE,QAAQ,CAClB,SAAS,CAAE,IAAI,CACf,WAAW,CnFh6Ba,oDAAiB,CmFk6BzC,8CAA4B,CAC1B,gBAAgB,C1Et9BU,OAAO,C0Eu9BjC,YAAY,CZh+BuB,OAAW,CYm+BhD,gDAA8B,CAC5B,gBAAgB,CnF7qBuB,OAAc,CmF8qBrD,YAAY,CZp+BuB,OAAK,CYq+BxC,UAAU,CAAE,sFAMX,CAGH,6CAA2B,CACzB,gBAAgB,CAAE,OAAwB,CAC1C,YAAY,CZh/BuB,OAAK,CYi/BxC,UAAU,CAAE,oFAMX,CAGH,4CAA0B,CACxB,YAAY,C1Ep+Bc,OAAO,C0Eu+BnC,gDAA8B,CAC5B,gBAAgB,CnF7ZU,OAAc,CmFga1C,iDAA+B,CAC7B,gBAAgB,CZtiCL,OAAW,CYyiCxB,0CAAwB,CACtB,YAAY,CAAE,MAAM,CACpB,WAAW,CAAE,IAAI,CACjB,YAAY,CAAE,IAAI,CAElB,gDAAO,CACL,OAAO,CAAE,MAAM,CACf,gBAAgB,CnF3aQ,OAAc,CmF4atC,KAAK,CnF/UmB,OAAa,CmFgVrC,OAAO,CAAE,OAAO,CAChB,QAAQ,CAAE,QAAQ,CAClB,IAAI,CAAE,IAAI,CACV,GAAG,CAAE,IAAI,CACT,WAAW,CnF7+BS,yDAA6D,CamRrF,kBAAwC,CsE2tBb,GAAG,CtE3tB9B,qBAAwC,CC9Sb,GAAuB,CD8SlD,aAAwC,CsE2tBb,GAAG,CAK5B,yDAAO,CACL,OAAO,CAAE,WAAW,CACpB,gBAAgB,CZ9jCP,OAAW,CY+jCpB,KAAK,CnF1ZmB,OAAc,CmF2ZtC,OAAO,CAAE,OAAO,CAChB,QAAQ,CAAE,QAAQ,CAClB,IAAI,CAAE,GAAG,CACT,GAAG,CAAE,IAAI,CACT,WAAW,CnF3/BS,yDAA6D,CamRrF,kBAAwC,CsEyuBb,GAAG,CtEzuB9B,qBAAwC,CC9Sb,GAAuB,CD8SlD,aAAwC,CsEyuBb,GAAG,CAOhC,4BAA4B,CAC1B,KAAK,CZnkCc,OAAa,CYskClC,2BAA2B,CACzB,KAAK,CnFjWuB,OAAM,CmFoWpC,4BAA4B,CAC1B,KAAK,CZrlCQ,OAAW,CYylC1B,cAAc,CACZ,KAAK,CZ3jCyB,OAAa,CY4jC3C,gBAAgB,CZxjCqB,OAAK,CYyjC1C,WAAW,CnFnhCa,yDAA6D,CmFohCrF,OAAO,CAAE,OAAO,CtEjwBhB,kBAAwC,CsEkwBjB,GAAG,CtElwB1B,qBAAwC,CC9Sb,GAAuB,CD8SlD,aAAwC,CsEkwBjB,GAAG,ChFp+B1B,kBAAkB,CAAE,0BAAO,CACnB,UAAU,CAAE,0BAAO,CgF0+B3B,eAAQ,CAEN,OAAO,CAAE,IAAkB,CAE3B,8BAAc,CACZ,KAAK,CZ1kCqB,OAAU,CY2kCpC,gBAAgB,CZ5kCU,OAAa,CYilC7C,2BAA2B,CACzB,gBAAgB,CZ/kCqB,OAAW,CYklClD,6BAA6B,CAC3B,kBAAkB,CZnlCmB,OAAW,CYslClD,8BAA8B,CAC5B,mBAAmB,CZvlCkB,OAAW,CY0lClD,4BAA4B,CAC1B,iBAAiB,CZ3lCoB,OAAW,CYgmChD,2BAAO,CACL,KAAK,CnF3xBkC,OAAK,CmF+xBhD,gBAAiB,CACf,kBAAkB,CAAE,eAAe,CACnC,eAAe,CAAE,eAAe,CAChC,aAAa,CAAE,eAAe,CAC9B,UAAU,CAAE,eAAe,CAI7B,gBAAgB,CACd,OAAO,CAAE,IAAI,CACb,UAAU,CAAE,KAAK,CACjB,QAAQ,CAAE,QAAQ,CAClB,gBAAgB,CZnnCc,OAAU,CYonCxC,QAAQ,CAAE,MAAM,CtExzBhB,kBAAwC,CsEyzBjB,GAAG,CtEzzB1B,qBAAwC,CC9Sb,GAAuB,CD8SlD,aAAwC,CsEyzBjB,GAAG,CAE1B,+BAAc,CACZ,aAAa,CAAE,CAAC,CAEhB,kCAAE,CACA,SAAS,CAAE,KAAK,CAEhB,wUAAW,CACT,WAAW,CAAE,IAAI,CAMvB,8CAA+B,CAC7B,aAAa,CAAE,CAAC,CAKpB,oBAAqB,CACnB,KAAK,C1EhnCuB,OAAO,C0EinCnC,WAAW,CAAE,IAAI,CAGnB,mBAAoB,CAClB,KAAK,C1ElnCuB,OAAO,C0EmnCnC,WAAW,CAAE,IAAI,CAGnB,qBAAsB,CACpB,KAAK,CnFnduB,OAAa,CmFodzC,WAAW,CAAE,IAAI,CAGnB,eAAgB,CACd,KAAK,CnFrjBuB,OAAc,CmFwjB5C,eAAgB,CACd,KAAK,CnF9mBuB,OAAc,CmFinB5C,gBAAiB,CACf,KAAK,C1EvpCuB,OAAO,C0EwpCnC,WAAW,CAAE,IAAI,CAGnB,iBAAkB,CAChB,KAAK,C1E5oCuB,OAAO,C0E+oCrC,aAAc,CACZ,KAAK,CnF5euB,OAAY,CmF6exC,WAAW,CAAE,IAAI,CAGnB,cAAe,CACb,KAAK,CnF9euB,OAAa,CmF+ezC,WAAW,CAAE,IAAI,CAIjB,2GAAiB,CACf,KAAK,CZnrC8B,OAAK,CYorCxC,MAAM,CAAE,OAAO,CAKnB,gBAAgB,CACd,OAAO,CAAE,KAAK,CAIhB,QAAQ,CACN,aAAa,CAAE,GAAG,CAElB,UAAC,ChFpmCD,kBAAkB,CAAE,oBAAW,CACvB,UAAU,CAAE,oBAAW,CgFqmC7B,WAAW,CAAE,KAAK,CAElB,gBAAO,CACL,KAAK,CnFj4BgC,OAAK,CmFm4B1C,oBAAG,CACD,YAAY,CZzsCmB,OAAK,CY6sCxC,gBAAO,CACL,eAAe,CAAE,IAAI,CAErB,uBAAM,CACJ,KAAK,CnF35B8B,OAAc,CmF85BnD,oBAAG,CACD,YAAY,CZ9uCC,OAAa,CYmvChC,UAAC,CACC,YAAY,CAAE,GAAG,CAInB,uBAAc,CACZ,MAAM,CAAE,eAAe,CACvB,KAAK,CAAE,KAAK,CAGd,sBAAa,CAGX,OAAO,CAAE,QAAQ,CACjB,WAAW,CAAE,IAAI,CAEjB,yCAAkB,CAChB,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,IAAI,CACZ,OAAO,CAAE,YAAY,CACrB,KAAK,CAAE,IAAI,CAKf,4DAA2C,CACzC,OAAO,CAAE,CAAC,CACV,UAAU,CAAE,MAAM,CAGpB,6BAAoB,CAClB,MAAM,CAAE,OAAO,CAGjB,gEAA+C,CAC7C,OAAO,CAAE,IAAI,CAEb,8EAAM,ChFlqCR,kBAAkB,CAAE,mBAAW,CACvB,UAAU,CAAE,mBAAW,CgFsqC/B,wEAAuD,CACrD,OAAO,CAAE,YAAY,CACrB,UAAU,CAAE,IAAI,CAChB,aAAa,CAAE,IAAI,CACnB,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,iBAAe,CACvB,YAAY,CAAE,GAAG,CACjB,eAAe,CAAE,yBAAyB,ChF9qC5C,kBAAkB,CAAE,2BAAW,CACvB,UAAU,CAAE,2BAAW,CgF+qC7B,WAAW,CAAE,YAAY,CAG3B,gCAAuB,CACrB,MAAM,CAAE,OAAO,CAGjB,qBAAY,CACV,SAAS,CAAE,IAAI,CAKf,gCAAc,CACZ,KAAK,CZ/xCqB,OAAa,CYqyC7C,QAAQ,ChF1sCN,kBAAkB,CAAE,0BAAO,CACnB,UAAU,CAAE,0BAAO,CgF4sC3B,eAAM,CACJ,gBAAgB,CZryCmB,OAAK,CYsyCxC,KAAK,CZ1yCuB,OAAa,CY6yC3C,cAAK,CACH,WAAW,CnFpwCW,yDAA6D,CmFywCvF,UAAU,CACR,QAAQ,CAAE,QAAQ,CAClB,MAAM,CAAE,CAAC,CACT,IAAI,CAAE,CAAC,CACP,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,CAAC,CACT,UAAU,CAAE,kBAAgB,CAE5B,YAAC,CACC,WAAW,CnFlxCW,yDAA6D,CmFmxCnF,KAAK,CnFnrBqB,OAAW,CmFqrBrC,kBAAO,CACL,KAAK,CnFv/BgC,OAAK,CmFw/B1C,eAAe,CAAE,IAAI,CAM3B,oBAAoB,CAClB,OAAO,CAAE,KAAK,CAEd,qCAAgB,CACd,YAAY,CAAE,CAAC,CACf,aAAa,CAAE,CAAC,CAKpB,cAAc,CACZ,QAAQ,CAAE,QAAQ,CAClB,MAAM,CAAE,CAAC,CACT,KAAK,CAAE,IAAI,CACX,OAAO,CAAE,OAAO,CAChB,UAAU,CAAE,MAAM,CAIpB,eAAe,CACb,QAAQ,CAAE,QAAQ,CAClB,IAAI,CAAE,CAAC,CACP,MAAM,CAAE,IAAI,CACZ,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,IAAI,CACZ,aAAa,CAAE,CAAC,CAIlB,oBAAoB,CAClB,OAAO,CAAE,KAAK,CACd,KAAK,CAAE,IAAI,CAEX,0CAAqB,CACnB,OAAO,CAAE,kBAAkB,CAG7B,0CAAqB,CACnB,OAAO,CAAE,kBAAkB,CAK/B,kBAAkB,CAChB,WAAW,CAAE,OAAO,CACpB,UAAU,CAAE,qBAAqB,CACjC,OAAO,CAAE,cAAc,CAEvB,0CAAuB,CACrB,KAAK,C1Ez2CqB,OAAO,C0E02CjC,MAAM,CAAE,aAAa,CACrB,MAAM,CAAE,gBAAgB,CACxB,MAAM,CAAE,QAAQ,CAOpB,uBAOC,CANC,EAAG,CACD,mBAAmB,CAAE,GAAG,CAE1B,IAAK,CACH,mBAAmB,CAAE,SAAS,EAGlC,oBAOC,CANC,EAAG,CACD,mBAAmB,CAAE,GAAG,CAE1B,IAAK,CACH,mBAAmB,CAAE,SAAS,EAGlC,mBAOC,CANC,EAAG,CACD,mBAAmB,CAAE,GAAG,CAE1B,IAAK,CACH,mBAAmB,CAAE,SAAS,EAGlC,eAOC,CANC,EAAG,CACD,mBAAmB,CAAE,GAAG,CAE1B,IAAK,CACH,mBAAmB,CAAE,SAAS,EE97ClC,WAAW,CACT,UAAU,CAAE,MAAM,CAClB,OAAO,CAAE,CAAC,CAMZ,cAAc,CACZ,QAAQ,CAAE,KAAK,CACf,GAAG,CAAE,CAAC,CACN,IAAI,CAAE,CAAC,CACP,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,GAAG,CD2DP,gBAAY,CAAE,qhBAAgC,CA2B9C,eAAe,CAAE,IAAI,CA3BrB,gBAAY,CAAE,6FAAgC,CAA9C,gBAAY,CAAE,gDAAgC,CAA9C,gBAAY,CAAE,mDAAgC,CAE9C,gBAAY,CAAE,+CAAO,CC1DzB,sBAAS,CDwDL,gBAAY,CAAE,qhBAAgC,CA2B9C,eAAe,CAAE,IAAI,CA3BrB,gBAAY,CAAE,6FAAgC,CAA9C,gBAAY,CAAE,gDAAgC,CAA9C,gBAAY,CAAE,mDAAgC,CAE9C,gBAAY,CAAE,+CAAO,CCtDzB,qBAAQ,CDoDJ,gBAAY,CAAE,qhBAAgC,CA2B9C,eAAe,CAAE,IAAI,CA3BrB,gBAAY,CAAE,6FAAgC,CAA9C,gBAAY,CAAE,gDAAgC,CAA9C,gBAAY,CAAE,mDAAgC,CAE9C,gBAAY,CAAE,+CAAO,CCjD3B,UAAU,CACR,QAAQ,CAAE,QAAQ,CAClB,OAAO,CAAE,IAAI,CACb,gBAAgB,CrFssBY,OAAa,CqFrsBzC,KAAK,CdKgC,OAAW,CcJhD,GAAG,CAAE,CAAC,CACN,MAAM,CAAE,CAAC,CACT,IAAI,CAAE,CAAC,CACP,KAAK,CAAE,CAAC,CACR,WAAW,CAAE,OAAO,CAEpB,wDAA+C,CAC7C,MAAM,CAAE,IAAI,CAGd,2BAAgB,CACd,QAAQ,CAAE,KAAK,CACf,IAAI,CAAE,GAAG,CACT,GAAG,CAAE,GAAG,CACR,UAAU,CAAE,MAAM,CAClB,SAAS,CAAE,KAAK,CAChB,OAAO,CAAE,IAAI,CxE8Sf,cAAwC,CAAE,qBAAM,CAAhD,aAAwC,CAAE,qBAAM,CAAhD,iBAAwC,CAAE,qBAAM,CAAhD,SAAwC,CAAE,qBAAM,CwE1ShD,2BAAgB,CACd,QAAQ,CAAE,QAAQ,CAClB,MAAM,CAAE,CAAC,CACT,KAAK,CAAC,IAAI,CAEV,qDAAyB,CACvB,OAAO,CAAE,MAAM,CAGjB,0CAAc,CACZ,aAAa,CAAE,CAAC,CAMtB,0BAA+B,CAG3B,8BAAkB,CAChB,MAAM,CAAE,QAAQ,CAGlB,0BAAe,CACb,OAAO,CAAE,IAAI,CAGf,iCAAsB,CACpB,WAAW,CAAE,IAAI,EAUrB,sCAA0B,CACxB,aAAa,CAAE,iBAAsB,CAGvC,mBAAO,CACL,UAAU,CAAE,KAAK,CACjB,OAAO,CAAE,aAAa,CAEtB,4CAAwB,CACtB,SAAS,CAAE,IAAI,CACf,WAAW,CrFJS,oDAAiB,CqFKrC,MAAM,CAAE,YAAY,CACpB,aAAa,CAAE,iBAAsB,CACrC,WAAW,CAAE,IAAI,CAIrB,2BAAiB,CACf,aAAa,CAAE,IAAI,CAGrB,kBAAO,CACL,UAAU,CAAE,0BAA6B,CAK3C,2BAAgB,CACd,QAAQ,CAAE,QAAQ,CAClB,OAAO,CAAE,YAAY,CACrB,QAAQ,CAAE,MAAM,CAChB,MAAM,CAAE,YAAY,CACpB,UAAU,CAAE,0BAA0B,CAEtC,kCAAQ,CACN,OAAO,CAAE,OAAO,CAChB,WAAW,CAAE,qBAAqB,CAClC,SAAS,CAAE,IAAI,CACf,KAAK,CrFugBmB,OAAc,CqFtgBtC,QAAQ,CAAE,QAAQ,CAClB,MAAM,CAAE,IAAI,CACZ,KAAK,CAAE,IAAI,CACX,OAAO,CAAE,EAAE,ClFFf,kBAAkB,CAAE,6CAAW,CACvB,UAAU,CAAE,6CAAW,CkFG3B,WAAW,CAAE,kBAAkB,CAC/B,SAAS,CAAE,eAAc,CACzB,OAAO,CAAE,CAAC,CACV,OAAO,CAAE,IAAI,CACb,cAAc,CAAE,MAAM,CACtB,eAAe,CAAE,MAAM,CACvB,WAAW,CAAE,MAAM,CAInB,qCAAG,CACD,YAAY,CrF0MuB,OAAc,CaGvD,cAAwC,CAAE,eAAM,CAAhD,MAAwC,CAAE,eAAM,CwEzM5C,wCAAQ,ClFXZ,wBAAwB,CkFYS,IAAK,ClFX9B,gBAAgB,CkFWS,IAAK,CAChC,SAAS,CAAE,WAAU,CACrB,OAAO,CAAE,CAAC,CAId,qDAAyB,CAErB,YAAK,CAAE,GAAG,CACV,YAAK,CAAE,KAAK,CACZ,YAAK,CrFokBiB,OAAa,CqFlkBrC,OAAO,CAAE,YAAY,CACrB,WAAW,CAAE,GAAG,CxE2LpB,cAAwC,CAAE,gBAAM,CAAhD,MAAwC,CAAE,gBAAM,CV5NhD,kBAAkB,CAAE,iBAAW,CACvB,UAAU,CAAE,iBAAW,CkFqC3B,oFAAgC,CAC9B,MAAM,CAAE,KAAK,CAGf,qFAAiC,CAC/B,MAAM,CAAE,KAAK,CAoBrB,eAAe,CACb,MAAM,CAAE,KAAK,CACb,aAAa,CAAE,iBAAoB,CACnC,QAAQ,CAAE,QAAQ,CAElB,sBAAQ,CACN,OAAO,CAAE,EAAE,CACX,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,IAAI,CACZ,QAAQ,CAAE,QAAQ,CAClB,UAAU,CAAE,kCAAoE,CAChF,iBAAiB,CAAE,SAAS,CAC5B,mBAAmB,CAAE,GAAG,CxEiJ1B,cAAwC,CAAE,cAAM,CAAhD,MAAwC,CAAE,cAAM,CwE7IhD,kCAAkB,CxE6IlB,cAAwC,CAAE,oBAAM,CAAhD,aAAwC,CAAE,oBAAM,CAAhD,iBAAwC,CAAE,oBAAM,CAAhD,SAAwC,CAAE,oBAAM,CwEzIhD,oCAAoB,CAClB,QAAQ,CAAE,QAAQ,CAClB,KAAK,CAAE,IAAI,CACX,mBAAmB,CAAE,aAAa,CAElC,sDAAiB,CACf,QAAQ,CAAE,QAAQ,CAClB,UAAU,CAAE,MAAM,CAClB,GAAG,CAAE,CAAC,CACN,IAAI,CAAE,CAAC,CAGT,uDAAkB,CAChB,OAAO,CAAE,GAAG,CAGd,iEAA4B,CAC1B,QAAQ,CAAE,QAAQ,CAClB,IAAI,CAAE,KAAK,CACX,KAAK,CAAE,KAAK,CACZ,MAAM,CAAE,KAAK,CACb,GAAG,CAAE,IAAI,CAET,4FAA0B,CACxB,QAAQ,CAAE,QAAQ,CAClB,WAAW,CAAE,IAAI,CACjB,UAAU,CAAE,IAAI,CAChB,MAAM,CAAE,KAAK,CACb,KAAK,CAAE,KAAK,CACZ,OAAO,CAAE,GAAG,CACZ,OAAO,CAAE,CAAC,CxE2GhB,kBAAwC,CwE1GX,GAAG,CxE0GhC,qBAAwC,CC9Sb,GAAuB,CD8SlD,aAAwC,CwE1GX,GAAG,CAExB,gBAAK,CAAE,kBAAqB,CAG9B,2GAAgB,CACd,UAAU,CAAE,0BAA6B,CAG3C,kGAAO,CACL,OAAO,CAAE,EAAE,CACX,QAAQ,CAAE,QAAQ,CAClB,KAAK,CAAE,iBAAiB,CACxB,MAAM,CAAE,iBAAiB,CxE6FjC,kBAAwC,CwE5FT,GAAG,CxE4FlC,qBAAwC,CC9Sb,GAAuB,CD8SlD,aAAwC,CwE5FT,GAAG,CAExB,iBAAM,CAAE,SAAS,CACjB,mBAAQ,CAAE,OAAO,CACjB,gBAAK,CAAE,mBAAsB,CAQvC,0BAAU,CACR,QAAQ,CAAE,QAAQ,CAClB,UAAU,CAAE,IAAI,CAKlB,8BAAO,CACL,gBAAgB,CAAE,kCAAqC,CAKzD,4BAAO,CACL,gBAAgB,CAAE,gCAAmC,CAKvD,8BAAO,CACL,gBAAgB,CAAE,kCAAqC,CAKzD,kCAAO,CACL,gBAAgB,CAAE,sCAAyC,CAK7D,6BAAO,CACL,gBAAgB,CAAE,iCAAoC,CAKxD,iCAAO,CACL,gBAAgB,CAAE,qCAAwC,CAK9D,iBAAiB,CACf,WAAW,CAAE,IAAI,CACjB,cAAc,CAAE,IAAI,CAEpB,sBAAI,CACF,aAAa,CAAE,CAAC,CAIlB,4EAA4D,ClFhM5D,kBAAkB,CAAE,gCAAW,CACvB,UAAU,CAAE,gCAAW,CkFmM/B,kCAAgB,CACd,OAAO,CAAE,YAAY,CACrB,MAAM,CAAE,iBAAiB,CACzB,OAAO,CAAE,kBAAkB,CAC3B,SAAS,CAAE,KAAK,CAChB,UAAU,CAAE,KAAK,CACjB,QAAQ,CAAE,OAAO,CxEkBnB,kBAAwC,CwEjBf,IAAI,CxEiB7B,qBAAwC,CC9Sb,IAAuB,CD8SlD,aAAwC,CwEjBf,IAAI,ClFjN7B,kBAAkB,CAAE,0BAAO,CACnB,UAAU,CAAE,0BAAO,CkFmNzB,kDAAe,CACb,OAAO,CAAE,CAAC,CAIZ,8DAA2B,CACzB,OAAO,CAAE,CAAC,CACV,KAAK,CAAE,KAAK,CACZ,MAAM,CAAE,iBAAqB,CxEMjC,kBAAwC,CwELb,GAAG,CxEK9B,qBAAwC,CC9Sb,GAAuB,CD8SlD,aAAwC,CwELb,GAAG,ClFvN9B,kBAAkB,CAAE,mDAAW,CACvB,UAAU,CAAE,mDAAW,CU2N/B,cAAwC,CAAE,oBAAM,CAAhD,aAAwC,CAAE,oBAAM,CAAhD,iBAAwC,CAAE,oBAAM,CAAhD,SAAwC,CAAE,oBAAM,CwEF5C,WAAW,CAAE,wBAAwB,CACrC,QAAQ,CAAE,MAAM,CAChB,MAAM,CAAE,OAAO,CACf,OAAO,CAAE,YAAY,CACrB,gBAAgB,CrFiYQ,OAAY,CqFhYpC,UAAU,CAAE,WAAW,CAEvB,oEAAO,CACL,YAAY,CrF8OU,OAAc,CqF5OpC,uFAAkB,CAChB,KAAK,CrF2Oe,OAAc,CqFxOpC,wFAAmB,CxEZzB,cAAwC,CAAE,cAAM,CAAhD,MAAwC,CAAE,cAAM,CwEkB5C,wFAA2B,CACzB,WAAW,CAAE,qBAAqB,CAClC,OAAO,CAAE,OAAO,CAChB,WAAW,CAAE,IAAI,CACjB,QAAQ,CAAE,QAAQ,CAClB,GAAG,CAAE,GAAG,CACR,IAAI,CAAE,GAAG,CACT,MAAM,CAAE,IAAI,CACZ,KAAK,CAAE,IAAI,CACX,KAAK,CrFyXiB,OAAM,CqFxX5B,SAAS,CAAE,IAAI,CAIjB,yFAA0B,CACxB,QAAQ,CAAE,MAAM,CAChB,KAAK,CAAE,KAAK,CACZ,MAAM,CAAE,KAAK,CACb,QAAQ,CAAE,QAAQ,CAGlB,4GAAkB,CAChB,QAAQ,CAAE,QAAQ,CAClB,GAAG,CAAE,CAAC,CACN,IAAI,CAAE,CAAC,CACP,KAAK,CAAE,CAAC,CACR,MAAM,CAAE,IAAI,CACZ,KAAK,Cd1WiB,OAAa,Cc2WnC,UAAU,CAAE,kBAAiB,CAC7B,QAAQ,CAAE,MAAM,CAChB,WAAW,CAAE,iBAAiB,CAC9B,OAAO,CAAE,MAAM,CAEf,oIAAuB,CACrB,WAAW,CAAE,IAAI,CAKvB,iFAAkB,CAChB,SAAS,CAAE,IAAI,CACf,WAAW,CAAE,IAAI,CACjB,UAAU,CAAE,iBAAoB,CAChC,KAAK,Cd1XmB,OAAa,CpEiG3C,kBAAkB,CAAE,mBAAW,CACvB,UAAU,CAAE,mBAAW,CkF4R3B,kFAAmB,ClF7RvB,kBAAkB,CAAE,iBAAW,CACvB,UAAU,CAAE,iBAAW,CU2N/B,cAAwC,CAAE,aAAM,CAAhD,MAAwC,CAAE,aAAM,CwEwEhD,sCAAoB,CAClB,QAAQ,CAAE,QAAQ,CAClB,OAAO,CAAE,YAAY,CACrB,KAAK,CAAE,KAAK,CACZ,MAAM,CAAE,IAAI,CACZ,MAAM,CAAE,IAAI,CACZ,aAAa,CAAE,IAAI,CACnB,gBAAgB,CAAE,WAAW,CAC7B,gBAAgB,CAAE,oEAAuE,CACzF,MAAM,CAAE,OAAO,CACf,UAAU,CAAE,yBAA4B,ClF9S1C,kBAAkB,CAAE,yBAAW,CACvB,UAAU,CAAE,yBAAW,CkF+S7B,WAAW,CAAE,UAAU,CAEvB,4CAAQ,CACN,OAAO,CAAE,GAAG,CACZ,QAAQ,CAAE,QAAQ,CAClB,KAAK,CAAE,KAAK,CACZ,MAAM,CAAE,IAAI,CACZ,IAAI,CAAE,CAAC,CACP,GAAG,CAAE,CAAC,CACN,gBAAgB,CAAE,8DAAiE,ClFzTvF,kBAAkB,CAAE,yBAAW,CACvB,UAAU,CAAE,yBAAW,CkF0T3B,WAAW,CAAE,OAAO,CAGtB,4CAAQ,CACN,UAAU,CAAE,yBAA4B,CAExC,kDAAO,CACL,OAAO,CAAE,CAAC,CAId,+CAAU,CACR,cAAc,CAAE,IAAI,CAIxB,wCAAsB,CACpB,OAAO,CAAE,IAAI,CAKjB,cAAc,CAEZ,QAAQ,CAAE,QAAQ,CAClB,MAAM,CAAE,MAAM,CACd,MAAM,CAAE,KAAK,CACb,KAAK,CAAE,KAAK,CACZ,cAAc,CAAE,IAAI,CAEpB,mCAAoB,CAClB,QAAQ,CAAE,QAAQ,CAClB,GAAG,CAAE,CAAC,CACN,IAAI,CAAE,CAAC,CACP,KAAK,CAAE,CAAC,CACR,MAAM,CAAE,CAAC,CAIX,iCAAkB,CAChB,OAAO,CAAE,GAAG,CAId,oCAAqB,CACnB,OAAO,CAAE,EAAE,CAIb,qCAAsB,CACpB,OAAO,CAAE,EAAE,CAIb,oCAAqB,CACnB,OAAO,CAAE,EAAE,CAEX,sDAAiB,CACf,OAAO,CAAE,IAAI,CAMnB,iBAAiB,CACf,QAAQ,CAAE,QAAQ,CAClB,IAAI,CAAE,CAAC,CACP,GAAG,CAAE,CAAC,CACN,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,IAAI,CACZ,cAAc,CAAE,IAAI,CAEpB,qBAAG,CACD,cAAc,CAAE,IAAI,CAGtB,kCAAgB,CACd,OAAO,CAAE,CAAC,CACV,QAAQ,CAAE,QAAQ,CAClB,MAAM,CAAE,CAAC,CACT,KAAK,CAAE,CAAC,CACR,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,IAAI,CAGd,gCAAc,CACZ,OAAO,CAAE,CAAC,CACV,MAAM,CAAE,KAAK,CACb,KAAK,CAAE,IAAI,CAGb,iCAAe,CACb,OAAO,CAAE,CAAC,CACV,QAAQ,CAAE,QAAQ,CAClB,GAAG,CAAE,KAAK,CACV,IAAI,CAAE,IAAI,CACV,MAAM,CAAE,KAAK,CACb,KAAK,CAAE,KAAK,CAKhB,4BAA4B,CAC1B,gBAAgB,CAAE,iCAAoC,CAEtD,2CAAc,CACZ,aAAa,CAAE,GAAG,CAClB,cAAc,CAAE,IAAI,CAItB,+BAAE,CACA,KAAK,CAAE,IAAI,CACX,UAAU,CAAE,IAAI,CAUpB,yBAAyB,CACvB,UAAU,CAAE,IAAI,CAGlB,YAAY,CACV,QAAQ,CAAE,QAAQ,ClFjclB,kBAAkB,CAAE,0BAAO,CACnB,UAAU,CAAE,0BAAO,CkFmc3B,2BAAc,CACZ,YAAY,Cd5hBuB,OAAK,Cc8hB1C,uBAAW,CACT,OAAO,CAAE,KAAK,CACd,UAAU,CAAE,OAA6B,CACzC,UAAU,CAAE,MAAM,CAElB,kCAAU,CACR,SAAS,CAAE,IAAI,CACf,KAAK,CdtiB4B,OAAW,Cc0iBhD,4BAAgB,CACd,UAAU,Cd1iByB,OAAK,Cc2iBxC,KAAK,Cd/iBuB,OAAa,CcgjBzC,OAAO,CAAE,SAAS,CAClB,WAAW,CAAE,IAAI,CAEjB,uDAA4B,CAC1B,UAAU,CAAE,KAAK,CAGnB,+GAA2B,CACzB,WAAW,CAAE,IAAI,CACjB,YAAY,CAAE,KAAK,CAEnB,uHAAG,CACD,WAAW,CAAE,CAAC,CAMpB,wBAAY,CACV,WAAW,CAAE,CAAC,CAMhB,yCAAuB,CACrB,aAAa,CAAE,CAAC,CAOlB,sCAAoB,CAClB,KAAK,CAAE,KAAK,CACZ,MAAM,CAAE,KAAK,CACb,MAAM,CAAE,IAAI,ClFzfd,kBAAkB,CAAE,0BAAO,CACnB,UAAU,CAAE,0BAAO,CkF8f7B,kBAAkB,CAChB,OAAO,CAAE,MAAM,CACf,WAAW,CrFljBa,yDAA6D,CqFmjBrF,gBAAgB,CAAE,OAAyB,CAE3C,uBAAI,CACF,aAAa,CAAE,YAAY,CAG7B,yCAAwB,CACtB,OAAO,CAAE,YAAY,CACrB,WAAW,CAAE,CAAC,CAEd,2CAAE,CACA,OAAO,CAAE,YAAY,CACrB,UAAU,CAAE,oBAAkE,CAC9E,WAAW,CAAE,IAAI,CACjB,UAAU,CAAE,MAAM,CAClB,SAAS,CAAE,IAAI,CACf,YAAY,CAAE,GAAG,CACjB,OAAO,CAAE,eAAe,CACxB,KAAK,CAAE,IAAI,CAOf,iDAAmB,CACf,KAAK,CAAE,IAAI,CAGf,oCAAM,CACJ,UAAU,CAAE,OAAO,CAEnB,2CAAM,CACJ,QAAQ,CAAE,QAAQ,CAClB,KAAK,CAAE,CAAC,CACR,GAAG,CAAE,CAAC,CACN,MAAM,CAAE,YAAY,CACpB,aAAa,CAAE,GAAG,CAItB,qDAAuB,CACrB,KAAK,CdvoBuB,OAAa,Ce5B7C,mBAAmB,CACjB,OAAO,CAAE,CAAC,CACV,QAAQ,CAAE,QAAQ,CAClB,OAAO,CAAE,GAAG,CACZ,QAAQ,CAAE,OAAO,CAEjB,wBAAI,CACF,WAAW,CAAE,4DAA4D,CACzE,cAAc,CAAE,GAAG,CzEiVrB,cAAwC,CAAE,oBAAM,CAAhD,aAAwC,CAAE,oBAAM,CAAhD,iBAAwC,CAAE,oBAAM,CAAhD,SAAwC,CAAE,oBAAM,CyE5UlD,uBAAuB,CACrB,IAAI,CtFuVqC,OAAK,CsFtV9C,SAAS,CAAE,OAAO,CAClB,MAAM,CtFqVmC,OAAK,CsFpV9C,YAAY,CAnBiB,GAAG,CAoBhC,cAAc,CAAE,IAAI,CACpB,eAAe,CAAE,KAAK,CACtB,cAAc,CAAE,CAAC,CACjB,YAAY,CAAE,CAAC,CAGjB,yBAAyB,CACvB,IAAI,CtFotBwB,OAAM,CsFntBlC,SAAS,CAAE,OAAO,CAClB,MAAM,CtFktBsB,OAAM,CsFjtBlC,YAAY,CA9BiB,GAAG,CA+BhC,cAAc,CAAE,IAAI,CACpB,eAAe,CAAE,KAAK,CACtB,cAAc,CAAE,CAAC,CACjB,YAAY,CAAE,CAAC,CAGjB,0BAA0B,CACxB,IAAI,CtFkoBwB,OAAW,CsFjoBvC,SAAS,CAAE,OAAO,CAClB,MAAM,CtFgoBsB,OAAW,CsF/nBvC,YAAY,CAzCiB,GAAG,CA0ChC,cAAc,CAAE,IAAI,CACpB,eAAe,CAAE,KAAK,CACtB,cAAc,CAAE,CAAC,CACjB,YAAY,CAAE,CAAC,CAGjB,sBAAsB,CACpB,IAAI,CfhBiC,OAAW,CeiBhD,YAAY,CAAE,CAAC,CACf,SAAS,CAAE,OAAO,CAClB,MAAM,CfnB+B,OAAW,CeoBhD,YAAY,CArDiB,GAAG,CAsDhC,cAAc,CAAE,IAAI,CACpB,eAAe,CAAE,KAAK,CACtB,cAAc,CAAE,CAAC,CChCnB,yBAIC,CAHC,uBAAwB,CAAC,iBAAiB,CAAE,aAAa,CACzD,GAAI,CAAC,iBAAiB,CAAE,gBAAgB,CACxC,GAAI,CAAC,iBAAiB,CAAE,gBAAgB,EAG1C,iBAIC,CAHC,uBAAwB,CAAC,SAAS,CAAE,aAAa,CACjD,GAAI,CAAC,SAAS,CAAE,gBAAgB,CAChC,GAAI,CAAC,SAAS,CAAE,gBAAgB,EAIlC,mBAAmB,CACjB,SAAS,CA/Bc,MAAgB,CAgCvC,MAAM,CAAE,MAAM,CAKd,mCAAe,CACb,QAAQ,CAAE,QAAQ,CAClB,MAAM,CAAE,QAAQ,CAChB,KAAK,CAAE,IAAI,CACX,MAAM,CA5Ce,KAAY,CA6CjC,SAAS,CA1CY,MAAgB,CA2CrC,UAAU,CA5CW,MAAM,CA6C3B,UAAU,CA9CW,KAAK,CA+C1B,QAAQ,CAAE,IAAI,CACd,OAAO,CAAE,GAAG,CACZ,UAAU,CAAE,mBAAwB,CACpC,UAAU,CAAC,qCAAuC,CAClD,WAAW,CAAE,aAAa,CpFmD5B,0BAA0B,CoFlDM,GAAG,CpFmDlC,yBAAyB,CoFnDM,GAAG,CAE/B,YAAK,CAAE,GAAG,CACV,YAAK,CAAE,KAAK,CACZ,YAAK,ChB9BqB,OAAU,CgBiCtC,0CAAQ,CACN,OAAO,CAAE,EAAE,CACX,QAAQ,CAAE,QAAQ,CAClB,MAAM,CAAE,CAAC,CACT,KAAK,CAAE,CAAC,CACR,YAAY,CAAE,KAAK,CACnB,YAAY,CAAE,aAAc,CAC5B,YAAY,CAAG,2CAA8C,CAC7D,MAAM,CAAE,WAAW,CAGrB,mFAAgB,CACd,MAAM,CAAE,iBAAe,CAEvB,iGAAQ,CACN,YAAY,CAAG,2CAAyC,CAOhE,eAAe,CACb,QAAQ,CAAE,QAAQ,CAClB,OAAO,CAAE,IAAI,CACb,OAAO,CAAE,KAAK,CACd,KAAK,CAAE,IAAI,CACX,UAAU,CAAE,gBAAkB,C1EgQ9B,kBAAwC,C0E/PjB,GAAG,C1E+P1B,qBAAwC,CC9Sb,GAAuB,CD8SlD,aAAwC,C0E/PjB,GAAG,CAE1B,oCAAsB,CACpB,MAAM,CAAE,IAAI,CACZ,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,IAAI,CAGd,mCAAqB,CACnB,GAAG,CAAE,GAAG,CACR,MAAM,CAAE,IAAI,CACZ,UAAU,CAAE,IAAI,CAChB,SAAS,CAAE,IAAI,CACf,OAAO,CAAE,eAAe,CACxB,WAAW,CAAE,IAAI,CAEjB,qCAAC,CACC,MAAM,CAAE,CAAC,CACT,UAAU,CAAE,GAAG,CACf,KAAK,CAAE,CAAC,CACR,MAAM,CAAE,IAAI,CACZ,OAAO,CAAE,CAAC,CACV,KAAK,ChBjF4B,OAAW,CgBkF5C,SAAS,CAAE,QAAQ,CACnB,gBAAgB,CAAE,WAAW,CpFWjC,kBAAkB,CAAE,uBAAW,CACvB,UAAU,CAAE,uBAAW,CoFV3B,MAAM,CAAE,IAAI,CACZ,WAAW,CAAE,GAAG,CAEhB,+NAAY,CACV,SAAS,CAAE,IAAI,CAGjB,+CAAW,CACT,UAAU,CAAE,GAAG,CACf,SAAS,CAAE,IAAI,CACf,YAAY,CAAE,GAAG,CAGnB,wFAAiB,CACf,KAAK,CvF6oBmB,OAAY,CuFxoB1C,oCAAsB,CACpB,GAAG,CAAE,IAAI,CACT,UAAU,CAAE,IAAI,CAChB,KAAK,CAAE,IAAI,CACX,OAAO,CAAE,KAAK,CACd,WAAW,CAAE,KAAK,CAElB,kEAA8B,CAC5B,YAAY,CAAE,IAAI,CAClB,OAAO,CAAE,aAAa,CACtB,QAAQ,CAAE,MAAM,CAEhB,2FAAwB,CACtB,SAAS,CAAE,IAAI,CACf,WAAW,CvF/EO,yDAA6D,CuFgF/E,WAAW,CAAE,MAAM,CAEnB,kGAAM,CACJ,WAAW,CAAE,GAAG,CAGlB,0GAAc,CACZ,MAAM,CAAE,OAAO,CAInB,kFAAgB,CACd,SAAS,CAAE,IAAI,CAEf,qFAAG,CACD,WAAW,CAAE,MAAM,CAIvB,4KACiB,CACf,WAAW,CAAE,MAAM,CAInB,uHAA4B,CAC1B,cAAc,CAAE,CAAC,CACjB,UAAU,CAAE,IAAI,CAGlB,2HAAgC,CAC9B,OAAO,CAAE,YAAY,CACrB,aAAa,CAAE,CAAC,CAKtB,+DAA0B,CACxB,QAAQ,CAAE,QAAQ,CAClB,GAAG,CAAE,CAAC,CACN,KAAK,CAAE,CAAC,CACR,MAAM,CAAE,IAAI,CACZ,OAAO,CAAE,GAAG,CACZ,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,OAAO,CACf,UAAU,CAAE,MAAM,CAClB,WAAW,CAAE,iBAAsB,CAEnC,6FAA6B,CAC3B,aAAa,CAAE,IAAI,CAEnB,uMAAgB,CACd,KAAK,CvFqkBiB,OAAY,CuFjkBtC,iEAAC,CACC,SAAS,CAAE,IAAI,CAInB,gEAA2B,CACzB,QAAQ,CAAE,QAAQ,CAClB,MAAM,CAAE,GAAG,CACX,KAAK,CAAE,gBAAgB,CAGzB,2CAAM,CACJ,WAAW,CAAE,iBAAiB,CAC9B,gBAAgB,CvFigBQ,OAAY,CuFzfxC,qBAAQ,CACN,OAAO,CAAE,GAAG,CACZ,OAAO,CAAE,KAAK,CACd,QAAQ,CAAE,QAAQ,CAClB,IAAI,CAAE,CAAC,CACP,GAAG,CAAE,CAAC,CACN,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,IAAI,CACZ,OAAO,CAAE,GAAG,CACZ,UAAU,CAAE,4yHAA0C,CAI1D,OAAO,CACL,KAAK,CAjPiB,MAAM,CAkP5B,MAAM,CAnPgB,MAAM,CAoP5B,QAAQ,CAAE,QAAQ,CAClB,WAAW,CvF9Ka,yDAA6D,CuFiLrF,wBAAgB,CACd,OAAO,CAAE,CAAC,CACV,cAAc,CAAE,IAAI,CACpB,WAAW,CAAE,OAAO,CpF7HtB,kBAAkB,CAAE,sBAAW,CACvB,UAAU,CAAE,sBAAW,CoFyI7B,sCAAiB,CACf,OAAO,CAAE,YAAY,CAGvB,4CAAuB,CpFzDzB,0BAA0B,CoFzMG,EAAE,CpF0MvB,kBAAkB,CoF1MG,EAAE,CpFiN/B,uBAAuB,CoFhNE,GAAI,CpFiNrB,eAAe,CoFjNE,GAAI,CAC7B,2BAA2B,CAAE,IAAI,CACjC,mBAAmB,CAAE,IAAI,CACzB,iCAAiC,CAAE,MAAM,CACzC,yBAAyB,CAAE,MAAM,CACjC,yBAAyB,CAAC,QAAQ,CAClC,iCAAiC,CAAC,QAAQ,CAE1C,sBAAsB,CAAE,MAAM,CAC9B,cAAc,CAAE,MAAM,CA8PtB,2DAA4C,CpF/D5C,0BAA0B,CoFzMG,EAAE,CpF0MvB,kBAAkB,CoF1MG,EAAE,CpFiN/B,uBAAuB,CoFhNE,GAAI,CpFiNrB,eAAe,CoFjNE,GAAI,CAC7B,2BAA2B,CAAE,IAAI,CACjC,mBAAmB,CAAE,IAAI,CACzB,iCAAiC,CAAE,MAAM,CACzC,yBAAyB,CAAE,MAAM,CACjC,yBAAyB,CAAC,QAAQ,CAClC,iCAAiC,CAAC,QAAQ,CAE1C,sBAAsB,CAAE,MAAM,CAC9B,cAAc,CAAE,MAAM,CpFoGtB,kBAAkB,CAAE,0BAAO,CACnB,UAAU,CAAE,0BAAO,CoF+J3B,kBAAU,CACR,QAAQ,CAAE,QAAQ,CAClB,SAAS,CAAE,IAAI,CACf,MAAM,CAAE,IAAI,CACZ,QAAQ,CAAE,MAAM,CAChB,gBAAgB,ChB/PY,OAAU,CgBgQtC,WAAW,CvFvNW,yDAA6D,CuFwNnF,OAAO,CAAE,GAAG,CACZ,WAAW,CAAE,kBAAkB,CAI7B,YAAK,CAAE,GAAG,CACV,YAAK,CAAE,KAAK,CACZ,YAAK,ChBtQ4B,OAAW,C1D0ThD,kBAAwC,C0ElDf,GAAG,C1EkD5B,qBAAwC,CC9Sb,GAAuB,CD8SlD,aAAwC,C0ElDf,GAAG,CpF1K5B,kBAAkB,CAAE,2EAAW,CACvB,UAAU,CAAE,2EAAW,CU2N/B,cAAwC,CAAE,oBAAM,CAAhD,aAAwC,CAAE,oBAAM,CAAhD,iBAAwC,CAAE,oBAAM,CAAhD,SAAwC,CAAE,oBAAM,C0E5C9C,wBAAO,CpFtLT,kBAAkB,CAAE,0BAAO,CACnB,UAAU,CAAE,0BAAO,CUiO3B,cAAwC,C0EzCjB,kCAAmC,C1EyC1D,aAAwC,C0EzCjB,kCAAmC,C1EyC1D,iBAAwC,C0EzCjB,kCAAmC,C1EyC1D,SAAwC,C0EzCjB,kCAAmC,CAEtD,8CAAuB,CACrB,OAAO,CAAE,eAAe,CAI5B,kCAAe,CACb,OAAO,CAAE,WAAW,CACpB,MAAM,CAAE,OAAO,CACf,WAAW,CAAE,iBAAiB,CAC9B,WAAW,CAAE,IAAI,CACjB,WAAW,CAAE,MAAM,CAEnB,uDAAoB,CAClB,MAAM,CAAE,IAAI,CACZ,OAAO,CAAE,YAAY,CACrB,SAAS,CAAE,IAAI,CACf,KAAK,ChBtSmB,OAAa,CgBuSrC,YAAY,CAAE,GAAG,CAGnB,0DAAuB,CACrB,OAAO,CAAE,YAAY,CACrB,UAAU,CAAE,KAAK,CACjB,SAAS,CAAE,GAAG,CACd,YAAY,CAAE,GAAG,CACjB,KAAK,CvFkaiB,OAAM,CuFja5B,MAAM,CAAE,IAAI,CAEZ,gEAAO,CACL,OAAO,CAAE,IAAI,CAIjB,oDAAiB,CACf,SAAS,CAAE,IAAI,CAGjB,2CAAQ,CACN,SAAS,CAAE,IAAI,CACf,OAAO,CAAE,IAAI,CAGf,yDAAsB,CACpB,WAAW,CAAE,GAAG,CAChB,KAAK,ChB/T0B,OAAW,CgBgU1C,KAAK,CAAE,IAAI,CACX,OAAO,CAAE,IAAI,CAIf,kDAAe,CACb,UAAU,CAAE,MAAM,CAKtB,uCAAoB,CAClB,OAAO,CAAE,IAAI,CACb,KAAK,CAAE,OAAyB,CAChC,SAAS,CAAE,IAAI,CACf,WAAW,CAAE,IAAI,CACjB,aAAa,CAAE,GAAG,CAClB,aAAa,CAAE,GAAG,CAElB,iEAAyB,CACvB,MAAM,CAAE,IAAI,CAIhB,4CAAyB,CACvB,IAAI,CAAE,CAAC,CAGT,6CAA0B,CACxB,IAAI,CAAE,CAAC,CACP,UAAU,CAAE,KAAK,CAKnB,kCAAe,CACb,MAAM,CAAE,GAAG,CACX,KAAK,CAAE,IAAI,CACX,QAAQ,CAAE,MAAM,CAChB,MAAM,CAAE,SAAS,CACjB,MAAM,CAAE,YAAY,CACpB,MAAM,CAAE,IAAI,CACZ,OAAO,CAAE,KAAK,CACd,WAAW,CAAE,MAAM,CACnB,OAAO,CAAE,IAAI,CACb,WAAW,CAAE,KAAK,CAId,gBAAK,CAAE,GAAG,CACV,gBAAK,CAAE,MAAM,CACb,gBAAK,ChBnXwB,OAAW,CgBuX5C,uDAAoB,CAClB,QAAQ,CAAE,QAAQ,CAClB,KAAK,CAAE,OAAyB,CAChC,SAAS,CAAE,IAAI,CACf,WAAW,CAAE,IAAI,CACjB,MAAM,CAAE,IAAI,CAEZ,6EAAqB,CACnB,KAAK,CAAE,KAAK,CACZ,KAAK,C9EpXe,OAAO,C8EqX3B,KAAK,CAAE,IAAI,CACX,QAAQ,CAAE,MAAM,CAChB,WAAW,CAAE,MAAM,CACnB,aAAa,CAAE,QAAQ,CACvB,OAAO,CAAE,IAAI,CAGf,uEAAe,CACb,SAAS,CAAE,GAAG,CACd,KAAK,CAAE,IAAI,CACX,cAAc,CAAE,MAAM,CAGxB,iFAAyB,CACvB,QAAQ,CAAE,QAAQ,CAClB,OAAO,CAAE,YAAY,CACrB,KAAK,CAAE,iBAAiB,CACxB,QAAQ,CAAE,MAAM,CAChB,WAAW,CAAE,MAAM,CACnB,aAAa,CAAE,QAAQ,CAS3B,8BAAI,CACF,OAAO,CAAE,CAAC,CAGZ,0CAAc,CACZ,KAAK,ChBpamB,OAAU,CgBqalC,gBAAgB,ChBtaQ,OAAa,CgBuarC,OAAO,CAAE,OAAO,CAOtB,mFAA2E,CpFnV3E,kBAAkB,CAAE,oBAAO,CACnB,UAAU,CAAE,oBAAO,CoFwV3B,wKAA6E,CpFzV7E,kBAAkB,CAAE,uBAAO,CACnB,UAAU,CAAE,uBAAO,CoF0VzB,gBAAgB,ChBpdC,OAAY,CgBqd7B,iZAAgC,CAC9B,gBAAgB,ChBtdD,OAAY,CgB6d7B,wCAAc,CACZ,MAAM,CAAE,kBAAkB,CAG5B,yCAAe,CACb,MAAM,CAAE,kBAAkB,CAG5B,kCAAQ,CACN,KAAK,CAAE,kBAAsB,CAC7B,OAAO,CAAE,uBAAuB,CAKpC,wBAAgB,CACd,QAAQ,CAAE,QAAQ,CAClB,KAAK,CvFoXmB,IAAM,CuFnX9B,SAAS,CAAE,IAAI,CACf,WAAW,CAAE,IAAI,CACjB,UAAU,CAAE,MAAM,CAClB,cAAc,CAAE,IAAI,CACpB,OAAO,CAAE,GAAG,CAId,+DAAgD,CAC9C,OAAO,CAAE,EAAE,CAEX,uEAAI,CACF,QAAQ,CAAE,OAAO,CACjB,qFAAM,CpF7XV,kBAAkB,CAAE,yCAAW,CACvB,UAAU,CAAE,yCAAW,CoFgY3B,2EAAC,CACC,MAAM,ChBheyB,OAAW,CgBie1C,YAAY,CAAE,CAAC,CACf,IAAI,ChBje2B,OAAK,CgBkepC,MAAM,CAAE,OAAO,CAMjB,yFAAM,CACJ,MAAM,CAAE,kBAAkB,CAK9B,2FAAe,CAEb,OAAO,CAAE,EAAE,CAKX,+GAAO,CACL,MAAM,CvF4GgB,OAAc,CuFtGxC,6CAAO,CACL,MAAM,CAAE,kBAAiB,CACzB,IAAI,CAAE,kBAAiB,CAKzB,+CAAO,CACL,MAAM,CAAE,kBAAsB,CAC9B,IAAI,CAAE,kBAAsB,CAMhC,6BAAqB,CACnB,MAAM,CAAE,OAAO,CACf,cAAc,CAAE,KAAK,CpFhbvB,kBAAkB,CAAE,qBAAW,CACvB,UAAU,CAAE,qBAAW,CoFib7B,WAAW,CAAE,GAAG,CAEhB,kCAAI,CpFpbN,kBAAkB,CAAE,qBAAW,CACvB,UAAU,CAAE,qBAAW,CoFub7B,+CAAiB,CACf,MAAM,ChBthB2B,OAAK,CgByhBxC,8CAAgB,CACd,MAAM,ChB3hB2B,OAAW,CgB8hB9C,2CAAe,CACb,OAAO,CAAE,EAAE,CACX,MAAM,CAAE,yCAA2C,CAEnD,+HAAqF,CACnF,MAAM,CvFgGgB,OAAc,CuF5FpC,kLAAiB,CACf,MAAM,CvF2Fc,OAAc,CuFtFxC,8CAAkB,CpF/cpB,kBAAkB,CAAE,sBAAW,CACvB,UAAU,CAAE,sBAAW,CoFgd3B,OAAO,CAAE,GAAG,CACZ,OAAO,CAAE,EAAE,CAIf,qCAA8B,CAC5B,OAAO,CAAE,EAAE,CAEX,sDAAgB,CACd,MAAM,CAAE,mBAAmB,CAG7B,uDAAiB,CACf,MAAM,CAAE,OAAwB,CAIhC,4DAAgB,CACd,MAAM,CAAE,mBAAmB,CAG7B,6DAAiB,CACf,MAAM,CvF8DgB,OAAc,CuFzD1C,wCAAiC,CAC/B,OAAO,CAAE,EAAE,CAEX,yDAAgB,CACd,MAAM,CAAE,mBAAmB,CAG7B,0DAAiB,CACf,MAAM,ChB1mBS,OAAa,CgB8mB5B,+DAAgB,CACd,MAAM,CAAE,mBAAmB,CAG7B,gEAAiB,CACf,MAAM,CvFwCgB,OAAc,CuFnC1C,sCAA+B,CAC7B,OAAO,CAAE,EAAE,CAEX,uDAAgB,CACd,MAAM,ChBpmB2B,OAAW,CgBumB9C,wDAAiB,CACf,MAAM,C9E/lBkB,OAAO,C8EmmB/B,6DAAgB,CACd,MAAM,CvFsBgB,OAAc,CuFhBxC,8JAG0B,CACxB,OAAO,CAAE,EAAE,CAMb,qDAAgB,CACd,MAAM,C9EtmBkB,OAAO,C8E0mB/B,2DAAgB,CACd,MAAM,CvFAgB,OAAc,CuFOxC,0DAAiB,CACf,MAAM,CvFxCkB,OAAc,CuF8CxC,2DAAiB,CACf,MAAM,ChBprBG,OAAW,CgBwrBxB,oCAA4B,CAC1B,MAAM,CAAE,6BAAyC,CAInD,kCAA0B,CACxB,OAAO,CAAE,OAAO,CAChB,SAAS,CAAE,IAAI,CACf,OAAO,CAAE,IAAI,CACb,gBAAgB,ChB9pBmB,OAAK,CgB+pBxC,KAAK,ChBnqBuB,OAAa,C1D6T3C,kBAAwC,C0EuWf,GAAG,C1EvW5B,qBAAwC,CC9Sb,GAAuB,CD8SlD,aAAwC,C0EuWf,GAAG,CpFzkB5B,kBAAkB,CAAE,0BAAO,CACnB,UAAU,CAAE,0BAAO,CoF4kB3B,aAAK,CACH,gBAAgB,C9E1pBU,OAAO,C8E2pBjC,KAAK,CvFyBqB,OAAa,CuFtBzC,aAAK,CACH,gBAAgB,ChB7sBL,OAAW,CgB8sBtB,KAAK,CvFzCqB,OAAc,CuF4C1C,YAAI,CACF,gBAAgB,ChB/qBmB,OAAK,CgBgrBxC,KAAK,C9EzpBqB,OAAO,C8E6pBnC,wCAAgC,CAC9B,MAAM,ChBxrBsB,OAAU,CgByrBtC,IAAI,CvFuBsB,OAAM,CuFpBlC,0CAAkC,CAChC,MAAM,ChB7rBsB,OAAU,CgB8rBtC,IAAI,C9EvpBsB,OAAI,C8EypB9B,cAAc,CAAE,aAAa,CAC7B,kBAAkB,CAAE,EAAE,CACtB,yBAAyB,CAAE,QAAQ,CAIrC,wCAAgC,CAC9B,MAAM,CAAE,SAAgB,CACxB,sBAAsB,CAAE,WAAW,CACnC,WAAW,CAAE,iBAAiB,CAC9B,OAAO,CAAE,GAAG,CACZ,SAAS,CAAE,KAAK,CAChB,WAAW,CAAE,IAAI,CACjB,OAAO,CAAE,IAAI,CACb,gBAAgB,ChB3sBmB,OAAK,CgB4sBxC,KAAK,ChBhtBuB,OAAa,C1D6T3C,kBAAwC,C0EoZf,GAAG,C1EpZ5B,qBAAwC,CC9Sb,GAAuB,CD8SlD,aAAwC,C0EoZf,GAAG,CpFtnB5B,kBAAkB,CAAE,yBAAO,CACnB,UAAU,CAAE,yBAAO,CoF4nB3B,oKAAK,CACH,SAAS,CAAE,IAAI,CAKnB,cAAc,CACZ,SAAS,CAAE,KAAK,CAChB,WAAW,CvFtrBa,yDAA6D,CuFurBrF,OAAO,CAAE,IAAI,CACb,WAAW,CAAE,6BAA6B,CAE1C,gBAAC,CACC,MAAM,CAAE,OAAO,CAGjB,gBAAC,CACC,KAAK,CAAE,IAAI,CACX,cAAc,CAAE,IAAI,CAItB,6BAAc,CACZ,sBAAsB,CAAE,CAAC,CACzB,yBAAyB,CAAE,CAAC,CAC5B,SAAS,CAAE,4BAA4B,CAMvC,sCAAgB,CACd,QAAQ,CAAE,QAAQ,CAClB,6CAAQ,CNroBZ,OAAO,CAAE,EAAE,CACX,QAAQ,CAAE,QAAQ,CAClB,gBAAgB,CjF2lBY,OAAM,CiF1lBlC,OAAO,CAAE,CAAC,CACV,WAAW,CAAE,YAAkB,C9EvB/B,kBAAkB,CAAE,0CAAW,CACvB,UAAU,CAAE,0CAAW,CoFypBzB,KAAK,CAAE,GAAG,CACV,MAAM,CAAE,IAAI,CACZ,IAAI,CAAE,CAAC,CAGT,mDAAc,CACZ,IAAI,CAAE,IAAI,CACV,OAAO,CAAE,CAAC,CAOd,0BAAU,CACR,MAAM,CAAE,WAAW,CACnB,cAAc,CAAE,IAAI,CAGtB,mBAAM,CACJ,OAAO,CAAE,OAAO,CAOtB,wBAAwB,CACtB,KAAK,ChBvxByB,OAAa,CgBwxB3C,OAAO,CAAE,OAAO,CAChB,SAAS,CAAE,IAAI,CpFxrBf,kBAAkB,CAAE,mBAAW,CACvB,UAAU,CAAE,mBAAW,CqF7H/B,yBAAE,CACA,cAAc,CAAE,UAAU,CAI5B,uDAAgC,CAC9B,UAAU,CAAE,KAAK,CAGjB,2EAAmB,CACjB,KAAK,CAAE,IAAI,CACX,yFAAa,CACX,KAAK,CAAE,IAAI,CACX,qGAAW,CACT,KAAK,CAAE,IAAI,CACX,qHAAe,CACb,KAAK,CAAE,iBAAiB,CACxB,8HAAQ,CACN,KAAK,CAAE,IAAI,CACX,UAAU,CAAE,KAAK,CACjB,MAAM,CAAE,QAAQ,CAY5B,iDAAqB,CACnB,YAAY,CAAE,IAAI,CAClB,cAAc,CAAE,MAAM,CACtB,SAAS,CAAE,IAAI,CAIjB,uDAA2B,CACzB,OAAO,CAAE,YAAY,CACrB,WAAW,CAAE,IAAI,CACjB,KAAK,CAAE,kBAAkB,CAEzB,iEAAS,CACP,aAAa,CAAE,GAAG,CAKtB,sDAA0B,CACxB,WAAW,CAAE,kBAAkB,CAC/B,OAAO,CAAE,IAAI,CACb,KAAK,CjBzDM,OAAW,CiB4DxB,yCAAa,CACX,SAAS,CAAE,IAAI,CAEf,uEAA6B,CAC3B,cAAc,CAAE,SAAS,CAK3B,6EAAoC,CAClC,OAAO,CAAE,MAAM,CACf,4FAAc,CACZ,OAAO,CAAE,MAAM,CACf,4GAAe,CACb,OAAO,CAAE,MAAM,CAKrB,kEAAwB,CACtB,KAAK,CAAE,IAAI,CACX,gBAAgB,CxF8oBQ,OAAY,CwF7oBpC,UAAU,CAAE,IAAI,CAChB,SAAS,CAAE,IAAI,CACf,WAAW,CAAE,IAAI,CACjB,OAAO,CAAE,OAAO,CAWlB,sDAAE,CACA,cAAc,CAAE,IAAI,CAEpB,4DAAO,CACL,OAAO,CAAE,eAAe,CAG1B,4EAAuB,CACrB,KAAK,CAAE,WAAW,CASxB,wCAAgB,CACd,QAAQ,CAAE,QAAQ,CAClB,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,KAAK,CAOf,8CAAsB,CACpB,KAAK,CAAE,IAAI,CACX,SAAS,CAAE,IAAI,CAEf,iDAAE,CACA,cAAc,CAAE,UAAU,CAE1B,6GAAmB,CACjB,SAAS,CAAE,IAAI,CAOjB,qEAAmB,CACjB,OAAO,CAAE,IAAI,CACb,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,GAAG,CACX,MAAM,CAAE,OAAO,CAEf,oFAAgB,CACd,MAAM,CAAE,OAAO,CAGjB,4FAAwB,CACtB,KAAK,CAAE,IAAI,CAEX,kGAAO,CACL,IAAI,CAAE,GAAG,CAGb,qGAAiC,CAC/B,KAAK,CAAE,IAAI,CAEX,2GAAO,CACL,OAAO,CAAE,OAAO,CAChB,WAAW,CAAE,qBAAqB,CAClC,UAAU,CAAE,MAAM,CAClB,WAAW,CAAE,IAAI,CACjB,IAAI,CAAE,GAAG,CAMb,wFAAmB,CACjB,OAAO,CAAE,YAAY,CAU7B,kDAA0B,CACxB,SAAS,CAAE,IAAI,CAOjB,4DAAgC,CAC9B,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,KAAK,CACb,QAAQ,CAAE,QAAQ,CAClB,aAAa,CAAE,IAAI,CAGrB,qDAAyB,CACvB,cAAc,CAAE,IAAI,CACpB,aAAa,CAAE,iBAAsB,CAErC,wDAAM,CACJ,WAAW,CAAE,CAAC,CACd,QAAQ,CAAE,OAAO,CACjB,UAAU,CAAE,IAAI,CAChB,WAAW,CAAE,+BAA+B,CrF3EhD,kBAAkB,CAAE,kDAAW,CACvB,UAAU,CAAE,kDAAW,CqF8E3B,2DAAE,CACA,WAAW,CAAE,MAAM,CAIrB,2DAAE,CACA,KAAK,CAAE,KAAK,CACZ,OAAO,CAAE,YAAY,CAGvB,sFAA6B,CAC3B,OAAO,CAAE,MAAM,CACf,KAAK,CAAE,IAAI,CACX,UAAU,CAAE,GAAG,CACf,YAAY,CAAE,IAAI,CAClB,MAAM,CAAE,iBAAsB,CAC9B,WAAW,CAAE,YAAY,C3E6H/B,kBAAwC,C2E5HX,GAAG,C3E4HhC,qBAAwC,CC9Sb,GAAuB,CD8SlD,aAAwC,C2E5HX,GAAG,CrFhGhC,kBAAkB,CAAE,2BAAW,CACvB,UAAU,CAAE,2BAAW,CqFkGzB,4FAAO,CACL,YAAY,CjB1ND,OAAa,CiB8N5B,6KAC6B,CAC3B,OAAO,CAAE,MAAM,CACf,KAAK,CAAE,IAAI,CACX,YAAY,CAAE,IAAI,CAClB,MAAM,CAAE,iBAAsB,CAC9B,WAAW,CAAE,YAAY,C3E8G/B,kBAAwC,C2E7GX,GAAG,C3E6GhC,qBAAwC,CC9Sb,GAAuB,CD8SlD,aAAwC,C2E7GX,GAAG,CrF/GhC,kBAAkB,CAAE,2BAAW,CACvB,UAAU,CAAE,2BAAW,CqFiHzB,yLAAO,CACL,YAAY,CjBzOD,OAAa,CiB6O5B,sFAA6B,CAC3B,KAAK,CAAE,IAAI,CACX,YAAY,CAAE,IAAI,CAClB,MAAM,CAAE,iBAAsB,CAC9B,WAAW,CAAE,YAAY,C3EiG/B,kBAAwC,C2EhGX,GAAG,C3EgGhC,qBAAwC,CC9Sb,GAAuB,CD8SlD,aAAwC,C2EhGX,GAAG,CrF5HhC,kBAAkB,CAAE,2BAAW,CACvB,UAAU,CAAE,2BAAW,CqF8HzB,4FAAO,CACL,YAAY,CjBtPD,OAAa,CiB0P5B,+DAAQ,CACN,OAAO,CAAE,OAAO,CAChB,WAAW,CAAE,qBAAqB,CAClC,WAAW,CAAE,IAAI,CACjB,QAAQ,CAAE,QAAQ,CAClB,OAAO,CAAE,EAAE,CACX,IAAI,CAAE,KAAK,CACX,GAAG,CAAE,IAAI,CACT,KAAK,CxF4F8B,OAAK,CwF3FxC,OAAO,CAAE,CAAC,CACV,WAAW,CAAE,aAAa,CrF9IhC,kBAAkB,CAAE,kBAAW,CACvB,UAAU,CAAE,kBAAW,CqFiJ3B,8DAAO,CACL,WAAW,CAAE,IAAI,CAEjB,qEAAQ,CACN,OAAO,CAAE,CAAC,CACV,IAAI,CAAE,KAAK,CASnB,+BAAI,CACF,OAAO,CAAE,IAAI,CACb,WAAW,CAAE,OAAO,CACpB,SAAS,CAAE,IAAI,CAGjB,2CAAgB,CACd,OAAO,CAAE,IAAI,CACb,eAAe,CAAE,MAAM,CACvB,WAAW,CAAE,MAAM,CACnB,aAAa,CAAE,IAAI,CACnB,UAAU,CAAE,OAAO,CAGrB,oDAAyB,CACvB,KAAK,CAAE,IAAI,CACX,SAAS,CAAE,IAAI,CAGb,yHAAkB,CAChB,SAAS,CAAE,IAAI,CCpTvB,YAAa,CACX,gBAAgB,ClB+Bc,OAAU,CkB9BxC,KAAK,ClB6ByB,OAAa,CkB5B3C,MAAM,CAAE,iBAAqB,CAC7B,WAAW,CzFqEa,yDAA6D,CyFnErF,wBAAO,CACL,YAAY,ClBGK,OAAa,CkBAhC,8CAAmB,CACjB,gBAAgB,CAAE,kBAAqB,CtF+GzC,kBAAkB,CAAE,mCAAO,CACnB,UAAU,CAAE,mCAAO,CsF9GzB,uBAAuB,ClBkBK,OAAa,CkBf3C,0DAAyB,CtF0GzB,kBAAkB,CAAE,mCAAO,CACnB,UAAU,CAAE,mCAAO,CsFzGzB,uBAAuB,ClBaK,OAAa,CkBT3C,oEAA6B,CAC3B,gBAAgB,CAAE,WAAW,CAC7B,MAAM,CAAE,IAAI,CACZ,KAAK,ClBS8B,OAAW,CkBR9C,OAAO,CAAE,IAAI,CtF+Bf,oEAA8B,CAAE,KAAK,CsF3Bd,WAAW,CtF4BF,OAAO,CAAE,CAAC,CAC1C,4EAA8B,CAAE,KAAK,CsF7Bd,WAAW,CtF8BlC,sFAA8B,CAAE,KAAK,CsF9Bd,WAAW,CAGlC,kCAAY,CACV,MAAM,CAAE,IAAI,CACZ,OAAO,CAAE,QAAQ,CAIrB,QAAQ,CACN,UAAU,CAAE,IAAI,CAChB,UAAU,CAAE,KAAK,CACjB,MAAM,CAAE,QAAQ,CAIhB,gCAAa,CACX,KAAK,ClBb8B,OAAW,CpEuBhD,kDAA8B,CAAE,KAAK,CsFTd,WAAW,CtFUF,OAAO,CAAE,CAAC,CAC1C,sDAA8B,CAAE,KAAK,CsFXd,WAAW,CtFYlC,2DAA8B,CAAE,KAAK,CsFZd,WAAW,CAK9B,sHAAY,CACV,KAAK,ClBnB0B,OAAK,CkByB5C,qNAIoB,CAClB,WAAW,CAAE,qBAAqB,CAClC,WAAW,CAAE,IAAI,CACjB,wPAAO,CACL,WAAW,CAAE,OAAO,CACpB,WAAW,CAAE,OAAO,CAOtB,6DAAqB,CACnB,IAAI,CAAE,IAAI,CAKZ,6DAAqB,CACnB,KAAK,CAAE,IAAI,CAKb,uDAAqB,CACnB,IAAI,CAAE,IAAI,CAEZ,wDAAuB,CACrB,KAAK,CAAE,IAAI,CAKb,sDAAS,CACP,QAAQ,CAAE,QAAQ,CAClB,GAAG,CAAE,GAAG,CAER,kFAAa,CACX,KAAK,ClBpE4B,OAAW,CkBuE9C,gFAAY,CACV,KAAK,ClB1EqB,OAAU,CkBmFxC,aAAU,CACR,MAAM,CAAE,IAAI,CACZ,UAAU,CAAE,IAAI,CAChB,MAAM,CAAE,OAAO,CACf,OAAO,CAAE,YAAY,CACrB,KAAK,CAAE,kBAAsB,CAC7B,gBAAgB,CAAE,kBAAgB,CAIpC,kBAAa,CACX,QAAQ,CAAE,QAAQ,CAClB,OAAO,CAAE,KAAK,CACd,MAAM,CAAE,IAAI,CACZ,gBAAgB,CAAE,mBAAiB,CACnC,SAAS,CAAE,IAAI,CACf,KAAK,CAAE,CAAC,CACR,GAAG,CAAE,CAAC,CACN,IAAI,CAAE,CAAC,CACP,QAAQ,CAAE,MAAM,CAChB,WAAW,CAAE,IAAI,CACjB,KAAK,ChF1FqB,OAAO,CgF2FjC,SAAS,CAAE,IAAI,CACf,UAAU,CAAE,IAAI,CtFVlB,kBAAkB,CAAE,iBAAW,CACvB,UAAU,CAAE,iBAAW,CsFgBjC,iBAAiB,CACf,MAAM,CAAE,kBAAuB,CAC/B,MAAM,CAAE,KAAK,CACb,gBAAgB,CAAE,OAAiB,CACnC,UAAU,CAAE,MAAM,CAClB,SAAS,CAAE,IAAI,CACf,WAAW,CAAE,KAAK,CAClB,MAAM,CAAE,MAAM,CACd,KAAK,CzFskBuB,OAAY,CanYxC,kBAAwC,C4ElMjB,IAAI,C5EkM3B,qBAAwC,CC9Sb,IAAuB,CD8SlD,aAAwC,C4ElMjB,IAAI,CtF1B3B,kBAAkB,CAAE,gDAAW,CACvB,UAAU,CAAE,gDAAW,CsF4B/B,uBAAO,CACL,KAAK,ClBpJY,OAAa,CkBqJ9B,YAAY,ClBrJK,OAAa,CkBsJ9B,MAAM,CAAE,aAAa,CACrB,MAAM,CAAE,gBAAgB,CACxB,MAAM,CAAE,QAAQ,CAOlB,kBAAY,CACV,UAAU,CAAE,IAAI,CAKpB,yBAAyB,CACvB,OAAO,CAAE,KAAK,CACd,UAAU,CAAE,IAAI,CCjLlB,QAAQ,CACN,OAAO,CAAE,YAAY,CAErB,iBAAU,CACR,OAAO,CAAE,GAAG,CACZ,KAAK,CnB6B8B,OAAW,CmBzBlD,8BAA8B,CAC5B,QAAQ,CAAE,QAAQ,CAClB,OAAO,CAAE,YAAY,CACrB,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,IAAI,CACZ,OAAO,CAAE,GAAG,CACZ,MAAM,CAAE,eAAe,CAGzB,qBAAqB,CACnB,OAAO,CAAE,EAAE,CACX,QAAQ,CAAE,QAAQ,CAClB,IAAI,CAAE,CAAC,CACP,KAAK,CAAE,CAAC,CACR,MAAM,CAAE,IAAI,CACZ,KAAK,CAAE,IAAI,CACX,UAAU,CAAE,GAAG,CACf,UAAU,CAAE,uqJAAgD,CAE9D,oBAAoB,CAClB,OAAO,CAAE,EAAE,CACX,QAAQ,CAAE,QAAQ,CAClB,IAAI,CAAE,CAAC,CACP,KAAK,CAAE,CAAC,CACR,MAAM,CAAE,IAAI,CACZ,KAAK,CAAE,IAAI,CACX,UAAU,CAAE,GAAG,CACf,UAAU,CAAE,moDAA+C,CCjC3D,gCAAG,CACD,WAAW,C3F0FW,oDAAiB,C2FzFvC,cAAc,CAAE,CAAC,CACjB,SAAS,C3FiFa,IAA8B,C2FhFpD,MAAM,CAAE,MAAM,CACd,WAAW,CAAE,MAAM,CAInB,iIAAkB,CAChB,UAAU,CAAE,CAAC,CACb,MAAM,CAAE,UAAU,CAElB,iJAAQ,CACN,MAAM,CAAE,qBAAqB,CAC7B,KAAK,CAAE,IAAI,CAKf,iKAA0B,CACxB,MAAM,CAAE,OAAO,CAGb,iNAAQ,CACN,KAAK,CAAE,kBAAkB,CAI7B,yLAAQ,CACN,OAAO,CAAE,OAAO,CAChB,WAAW,CAAE,qBAAqB,CAClC,UAAU,CAAE,MAAM,CAClB,WAAW,CAAE,IAAI,CACjB,SAAS,CAAE,IAAI,CACf,aAAa,CAAE,IAAI,CACnB,QAAQ,CAAE,QAAQ,CAClB,KAAK,C3F6lBiB,OAAc,C2F5lBpC,GAAG,CAAE,IAAI,CACT,KAAK,CAAE,GAAG,CAOV,iOAAQ,CACN,GAAG,CAAE,IAAI,CACT,KAAK,CAAE,GAAG,CACV,KAAK,CpBlBwB,OAAW,CpEsHhD,iBAAiB,CAAE,aAAgB,CAC/B,aAAa,CAAE,aAAgB,CAC3B,SAAS,CAAE,aAAgB,CwF1FjC,yCAAQ,CACN,UAAU,CAAE,IAAI,CAIpB,+CAAkB,CAChB,SAAS,CAAE,IAAI,CACf,WAAW,C3FEW,yDAA6D,C2FErF,iBAAE,CACA,MAAM,CAAE,YAAY,CACpB,YAAY,CpB3CuB,OAAW,CoB+ChD,oBAAK,CACH,aAAa,CAAE,CAAC,CAEhB,iCAAY,CACV,aAAa,CAAE,CAAC,CAKpB,oCAAqB,CACnB,MAAM,CAAE,CAAC,CAGP,+DAAyB,CACvB,UAAU,CAAE,iBAAqB,CACjC,OAAO,CAAE,EAAE,CACX,OAAO,CAAE,KAAK,CACd,SAAS,CAAE,CAAC,CACZ,QAAQ,CAAE,MAAM,CAChB,QAAQ,CAAE,QAAQ,CAClB,GAAG,CAAE,IAAI,CACT,IAAI,CAAE,IAAI,CACV,KAAK,CAAE,GAAG,CACV,KAAK,CAAE,IAAI,CAIT,uDAAQ,C9EgPhB,iBAAwC,CAAE,gDAAM,CAAhD,iBAAwC,C8E/OV,+CAAwD,C9E+OtF,eAAwC,C8E/OV,+CAAwD,C9E+OtF,oBAAwC,CAAE,mDAAM,CAAhD,oBAAwC,C8E/OV,+CAAwD,C9E+OtF,YAAwC,CAAE,gDAAM,CAAhD,YAAwC,CAAE,mDAAM,CAAhD,YAAwC,C8E/OV,+CAAwD,CAC9E,aAAa,CAAE,CAAC,CAMlB,qDAAQ,C9EwOd,iBAAwC,CAAE,gDAAM,CAAhD,iBAAwC,C8EvOV,+CAA6D,C9EuO3F,eAAwC,C8EvOV,+CAA6D,C9EuO3F,oBAAwC,CAAE,mDAAM,CAAhD,oBAAwC,C8EvOV,+CAA6D,C9EuO3F,YAAwC,CAAE,gDAAM,CAAhD,YAAwC,CAAE,mDAAM,CAAhD,YAAwC,C8EvOV,+CAA6D,CACnF,aAAa,CAAE,CAAC,CAIpB,0CAAM,CACJ,KAAK,CpBzF0B,OAAW,CoB0F1C,SAAS,CAAE,IAAI,CACf,MAAM,CAAE,GAAG,CAIX,kDAAM,CACJ,KAAK,CpBnGiB,OAAa,CoB0GrC,oEAAM,CACJ,KAAK,CpB3GiB,OAAa,CoBwH3C,0FAAmB,CACjB,OAAO,CAAE,WAAW,CAItB,8CAA0B,CACxB,MAAM,CAAE,CAAC,CACT,OAAO,CAAE,KAAK,CAMhB,6IAE8B,CAC5B,KAAK,CAAE,KAAK,CAKd,4CAA2B,CACzB,KAAK,CAAE,gBAAgB,CAOvB,0CAAM,CACJ,OAAO,CAAE,IAAI,CAMnB,oBAAoB,CAClB,QAAQ,CAAE,QAAQ,CAClB,MAAM,CAAE,KAAK,CACb,QAAQ,CAAE,IAAI,CAIhB,wBAAwB,CACtB,KAAK,CAAE,gBAAgB,CAKvB,sCAAsB,CACpB,UAAU,CAAE,OAAO,CAKvB,iBAAkB,CAChB,aAAa,CAAE,IAAI,CAKnB,iCAAgB,CACd,aAAa,CAAE,IAAI,CAMrB,kHAAyE,CACvE,KAAK,CAAE,gBAAgB,CAMzB,+BAAU,CACR,UAAU,CAAE,IAAI,CAChB,aAAa,CAAE,GAAG,CAKpB,kDAA6B,CAC3B,aAAa,CAAE,IAAI,CAOrB,8CAA2B,CACzB,QAAQ,CAAE,OAAO,CACjB,UAAU,CAAE,4BAA+B,CAC3C,eAAe,CAAE,KAAK,CACtB,OAAO,CAAE,IAAI,CACb,aAAa,CAAE,IAAI,CAGrB,qCAAkB,CAChB,KAAK,CAAE,KAAK,CACZ,MAAM,CAAE,KAAK,CACb,MAAM,CAAE,MAAM,CAIhB,mCAAgB,CACd,UAAU,CAAE,IAAI,CAGlB,iCAAc,CACZ,OAAO,CAAE,YAAY,CACrB,KAAK,CAAE,GAAG,CAGZ,uBAAI,CACF,OAAO,CAAE,CAAC,CAGZ,6BAAU,CACR,SAAS,CAAE,IAAI,CC9QnB,aAAa,CACX,MAAM,CAAE,KAAK,CACb,KAAK,CAAE,IAAI,CCFb,SAAU,CACR,UAAU,CAAE,IAAI,CAChB,QAAQ,CAAE,QAAQ,CAGpB,gBAAiB,CACf,GAAG,CAAE,CAAC,CACN,MAAM,CAAE,CAAC,CACT,QAAQ,CAAE,QAAQ,CAClB,OAAO,CAAE,GAAG,CACZ,KAAK,CAAE,GAAG,CAEV,IAAI,CAAE,GAAG,CACT,UAAU,CAAE,IAAI,CT2DZ,gBAAY,CAAE,ihBAAgC,CA2B9C,eAAe,CAAE,IAAI,CA3BrB,gBAAY,CAAE,4FAAgC,CAA9C,gBAAY,CAAE,8CAAgC,CAA9C,gBAAY,CAAE,iDAAgC,CAE9C,gBAAY,CAAE,+CAAO,CSxD3B,YAAe,CACb,aAAa,CAAE,IAAI,CACnB,QAAQ,CAAE,QAAQ,CAGhB,2CAAe,CACb,KAAK,C7FwjBmB,OAAc,C6FrjBxC,2CAAe,CACb,gBAAgB,C7FojBQ,OAAc,C6F/iB5C,sCACqB,CACnB,OAAO,CAAE,GAAG,CACZ,OAAO,CAAE,KAAK,CAGhB,kBAAqB,CACnB,KAAK,CAAE,IAAI,CAGb,sCACqB,CACnB,OAAO,CAAE,GAAG,CACZ,OAAO,CAAE,KAAK,CAGhB,kBAAqB,CACnB,KAAK,CAAE,IAAI,CAGb,4BAAiC,CAC/B,KAAK,CAAE,GAAG,CACV,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,iBAAoB,CAC5B,OAAO,CAAE,GAAG,CACZ,QAAQ,CAAE,QAAQ,CAClB,gBAAgB,CtB3Bc,OAAU,CsB4BxC,SAAS,CAAE,IAAI,C1F8Df,kBAAkB,CAAE,0BAAO,CACnB,UAAU,CAAE,0BAAO,CUiO3B,kBAAwC,CgF9RjB,GAAG,ChF8R1B,qBAAwC,CC9Sb,GAAuB,CD8SlD,aAAwC,CgF9RjB,GAAG,CAG5B,mCAAwC,CACtC,OAAO,CAAE,GAAG,CACZ,QAAQ,CAAE,QAAQ,CAClB,GAAG,CAAE,IAAI,CACT,KAAK,CAAE,IAAI,CACX,OAAO,CAAE,YAAY,CACrB,UAAU,CAAE,qBAAqB,CACjC,WAAW,CAAE,iBAAqB,CAClC,YAAY,CAAE,eAAmB,CACjC,aAAa,CAAE,qBAAqB,CAGtC,kCAAuC,CACrC,OAAO,CAAE,GAAG,CACZ,QAAQ,CAAE,QAAQ,CAClB,GAAG,CAAE,IAAI,CACT,KAAK,CAAE,IAAI,CACX,OAAO,CAAE,YAAY,CACrB,UAAU,CAAE,qBAAqB,CACjC,WAAW,CAAE,iBAAqB,CAClC,YAAY,CAAE,eAAmB,CACjC,aAAa,CAAE,qBAAqB,CAGtC,4BAAiC,CAC/B,KAAK,C7FqoBuB,OAAY,C6FpoBxC,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,IAAI,CACZ,WAAW,CAAE,IAAI,CACjB,UAAU,CAAE,MAAM,CAClB,QAAQ,CAAE,QAAQ,CAClB,GAAG,CAAE,GAAG,CACR,IAAI,CAAE,GAAG,CACT,WAAW,CAAE,KAAK,CAClB,gBAAgB,CtBjEqB,OAAW,CsBkEhD,OAAO,CAAE,GAAG,ChFwPZ,kBAAwC,CgFvPjB,GAAG,ChFuP1B,qBAAwC,CC9Sb,GAAuB,CD8SlD,aAAwC,CgFvPjB,GAAG,CAE1B,8BAAI,CACF,cAAc,CAAE,MAAM,CAI1B,8CAAmD,CACjD,KAAK,CAAE,KAAK,CAGd,qDAA0D,CACxD,iBAAiB,CAAE,CAAC,CACpB,kBAAkB,CAAE,GAAG,CACvB,IAAI,CAAE,IAAI,CACV,KAAK,CAAE,IAAI,CAGb,oDAAyD,CACvD,iBAAiB,CAAE,CAAC,CACpB,kBAAkB,CAAE,GAAG,CACvB,IAAI,CAAE,IAAI,CACV,KAAK,CAAE,IAAI,CAIb,eAAgB,CACd,UAAU,CAAE,CAAC,CACb,KAAK,CAAE,OAAO,CAMd,iBAAK,CACH,OAAO,CAAE,IAAI,CAEb,qBAAG,CACD,OAAO,CAAE,IAAI,CAKjB,kCACK,CACH,aAAa,CAAE,CAAC,CAChB,eAAe,CAAE,IAAI,CACrB,WAAW,CAAE,IAAI,CAGnB,kBAAQ,CACN,UAAU,CAAE,GAAG,CAMnB,0BAA2B,CACzB,kBAAmB,CACjB,IAAI,CAAE,IAAI,CAGZ,8BAAmC,CACjC,KAAK,CAAE,iBAAiB,CAG1B,8BAAmC,CACjC,IAAI,CAAE,IAAI,CACV,WAAW,CAAE,CAAC,CACd,GAAG,CAAE,GAAG,CAGV,8BAAmC,CACjC,KAAK,CAAE,KAAK,CAGd,qCAA0C,CACxC,iBAAiB,CAAE,CAAC,CACpB,kBAAkB,CAAE,GAAG,CACvB,IAAI,CAAE,IAAI,CACV,KAAK,CAAE,IAAI,CAGb,oCAAyC,CACvC,iBAAiB,CAAE,CAAC,CACpB,kBAAkB,CAAE,GAAG,CACvB,IAAI,CAAE,IAAI,CACV,KAAK,CAAE,IAAI,EC5Lf,QAAQ,CAEN,OAAO,CAAE,IAAkB,CAE3B,SAAS,CAAE,KAAK,CAEhB,eAAM,CACJ,cAAc,CAAE,IAAI,CAGtB,uBAAc,CACZ,cAAc,CAAE,UAAU,CAC1B,WAAW,C9F8DW,2DAA+D,C8F7DrF,WAAW,CAAE,IAAI,CAGnB,yBAAiB,CACf,WAAW,C9FyDW,2DAA+D,C8FrDvF,YAAG,CjFuUH,kBAAwC,CiFtUf,GAAG,CjFsU5B,qBAAwC,CC9Sb,GAAuB,CD8SlD,aAAwC,CiFtUf,GAAG,CAG5B,WAAE,CACA,KAAK,CvBKuB,OAAa,CuBD3C,cAAK,CACH,KAAK,CvBAuB,OAAa,CuBCzC,WAAW,CAAE,IAAI,CACjB,SAAS,CAAE,IAAI,CAEf,iBAAE,CACA,OAAO,CAAE,KAAK,CACd,cAAc,CAAE,iBAAiB,CAIrC,2BAAkB,CAEhB,UAAU,CAAE,IAAI,CAChB,WAAW,CAAE,IAAI,CAMnB,gCAAe,CACb,OAAO,CAAE,OAAO,CAGlB,kCAAiB,CACf,OAAO,CAAE,WAAW,CAKxB,WAAW,CACT,OAAO,CAAE,OAAO,CAEhB,4BAAgB,CACd,OAAO,CAAE,CAAC,CAGZ,cAAE,CACA,WAAW,CAAE,MAAM,CACnB,YAAY,CAAE,IAAI,C3FlDpB,0CACQ,CACN,OAAO,CAAE,GAAG,CACZ,OAAO,CAAE,KAAK,CAEhB,oBAAQ,CACN,KAAK,CAAE,IAAI,C2FgDb,iBAAK,CACH,UAAU,CAAE,GAAG,CACf,aAAa,CAAE,IAAI,CAGrB,uBAAW,CACT,MAAM,CAAE,CAAC,CAET,wCAAgB,CACd,KAAK,CvBlDqB,OAAU,CuBoDpC,8CAAO,CACL,KAAK,C9F6oBiB,OAAa,C8F1oBrC,iDAAU,CACR,gBAAgB,CvBtDe,OAAK,CuBuDpC,KAAK,CvBxD0B,OAAW,CuByD1C,MAAM,CAAE,WAAW,CAGrB,4CAAG,CACD,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,mBAAmB,CAC3B,aAAa,CAAE,CAAC,CAGlB,0CAAC,CACC,YAAY,CAAE,IAAI,CAQxB,wCAAkB,CAChB,MAAM,CAAE,IAAI,CAEZ,uDAAkB,CAEhB,OAAO,CAAE,KAAK,CAIlB,2BAAK,CACH,aAAa,CAAE,CAAC,CCtHpB,eAAgB,CACd,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,IAAI,CACZ,QAAQ,CAAE,MAAM,CAChB,QAAQ,CAAE,QAAQ,CAClB,GAAG,CAAE,IAAI,CACT,KAAK,CAAE,IAAI,CACX,cAAc,CAAE,IAAI,CAGtB,OAAQ,CACN,IAAI,CAAE,mEAA2B,CACjC,KAAK,C/FktBuB,OAAY,C+FjtBxC,UAAU,CAAE,MAAM,CAClB,WAAW,CAAE,iCAAiC,CAC9C,QAAQ,CAAE,QAAQ,CAClB,OAAO,CAAE,KAAK,CACd,IAAI,CAAE,IAAI,CACV,GAAG,CAAE,IAAI,CACT,KAAK,CAAE,IAAI,C5FsGX,kBAAkB,CAAE,2BAAO,CACnB,UAAU,CAAE,2BAAO,CUiO3B,cAAwC,CAAE,aAAM,CAAhD,aAAwC,CAAE,aAAM,CAAhD,iBAAwC,CAAE,aAAM,CAAhD,SAAwC,CAAE,aAAM,CkFnUhD,4BAAiB,CACf,OAAO,CAAE,EAAE,CACX,WAAW,CAAG,qBAAqB,CACnC,YAAY,CAAE,qBAAqB,CACnC,QAAQ,CAAC,QAAQ,CACjB,MAAM,CAAE,IAAI,CAGd,sBAAgB,CACd,KAAK,CxBHuB,OAAa,CwBIzC,gBAAgB,CAAE,OAA6B,CXqC7C,gBAAY,CAAE,qhBAAgC,CA2B9C,eAAe,CAAE,IAAI,CA3BrB,gBAAY,CAAE,6FAAgC,CAA9C,gBAAY,CAAE,0CAAgC,CAA9C,gBAAY,CAAE,6CAAgC,CAE9C,gBAAY,CAAE,2CAAO,CWpCvB,0DAAiB,CACf,UAAU,CAAI,cAAiC,CAInD,oBAAc,CACZ,gBAAgB,C/FosBU,OAAM,CoFxqB9B,gBAAY,CAAE,qhBAAgC,CA2B9C,eAAe,CAAE,IAAI,CA3BrB,gBAAY,CAAE,6FAAgC,CAA9C,gBAAY,CAAE,0CAAgC,CAA9C,gBAAY,CAAE,6CAAgC,CAE9C,gBAAY,CAAE,2CAAO,CW3BvB,sDAAiB,CACf,UAAU,CAAI,iBAAkC,CAIpD,qBAAe,CACb,gBAAgB,C/FglBU,OAAc,CoF7jBtC,gBAAY,CAAE,qhBAAgC,CA2B9C,eAAe,CAAE,IAAI,CA3BrB,gBAAY,CAAE,6FAAgC,CAA9C,gBAAY,CAAE,0CAAgC,CAA9C,gBAAY,CAAE,6CAAgC,CAE9C,gBAAY,CAAE,2CAAO,CWlBvB,wDAAiB,CACf,UAAU,CAAI,iBAAoC,CAItD,kBAAY,CACV,gBAAgB,CtFSU,OAAI,C2EC5B,gBAAY,CAAE,qhBAAgC,CA2B9C,eAAe,CAAE,IAAI,CA3BrB,gBAAY,CAAE,6FAAgC,CAA9C,gBAAY,CAAE,0CAAgC,CAA9C,gBAAY,CAAE,6CAAgC,CAE9C,gBAAY,CAAE,2CAAO,CWTvB,kDAAiB,CACf,UAAU,CAAI,iBAA2B,CAI7C,mBAAa,CACX,gBAAgB,CtFCU,OAAK,C2EA7B,gBAAY,CAAE,qhBAAgC,CA2B9C,eAAe,CAAE,IAAI,CA3BrB,gBAAY,CAAE,6FAAgC,CAA9C,gBAAY,CAAE,0CAAgC,CAA9C,gBAAY,CAAE,6CAAgC,CAE9C,gBAAY,CAAE,2CAAO,CWAvB,oDAAiB,CACf,UAAU,CAAI,iBAAiC,CAMrD,cAAe,CACb,IAAI,CAAE,CAAC,CAET,aAAc,CACZ,KAAK,CAAE,CAAC,CCrFV,0BAA0B,CACxB,QAAQ,CAAE,QAAQ,CAClB,OAAO,CAAE,CAAC,CACV,MAAM,CAAE,MAAM,CACd,IAAI,CAAE,GAAG,CACT,KAAK,CAAE,IAAI,CACX,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,IAAI,CACZ,UAAU,CAAE,IAAI,CAEhB,kDAAuB,CACrB,QAAQ,CAAE,QAAQ,CAClB,OAAO,CAAE,CAAC,CACV,MAAM,CAAE,MAAM,CACd,IAAI,CAAE,CAAC,CACP,KAAK,CAAE,CAAC,CACR,GAAG,CAAE,GAAG,CACR,UAAU,CAAE,KAAK,CACjB,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,IAAI,CACZ,UAAU,CAAE,IAAI,CAEhB,qDAAE,CACA,gBAAgB,ChGytBQ,OAAM,CgGxtB9B,KAAK,CAAE,GAAG,CACV,MAAM,CAAE,GAAG,CACX,KAAK,CAAE,KAAK,CACZ,YAAY,CAAE,cAAc,C7F+FhC,kBAAkB,CAAE,4BAAO,CACnB,UAAU,CAAE,4BAAO,C6F7FvB,iEAAa,C7F+KjB,iBAAiB,C6F9KQ,uEAAsE,C7F+KvF,SAAS,C6F/KQ,uEAAsE,CAG3F,kEAAc,C7F2KlB,iBAAiB,C6F1KQ,kDAAoD,C7F2KrE,SAAS,C6F3KQ,kDAAoD,CAGzE,kEAAc,C7FuKlB,iBAAiB,C6FtKQ,iDAAmD,C7FuKpE,SAAS,C6FvKQ,iDAAmD,CAGxE,kEAAc,C7FmKlB,iBAAiB,C6FlKQ,kDAAoD,C7FmKrE,SAAS,C6FnKQ,kDAAoD,CAGzE,kEAAc,C7F+JlB,iBAAiB,C6F9JQ,iDAAmD,C7F+JpE,SAAS,C6F/JQ,iDAAmD,CAGxE,kEAAc,C7F2JlB,iBAAiB,C6F1JQ,kDAAoD,C7F2JrE,SAAS,C6F3JQ,kDAAoD,CfjD7E,mCAEC,CesDD,EAAE,CACA,MAAM,CAAE,GAAG,CACX,UAAU,CAAE,IAAI,CAElB,GAAG,CACD,MAAM,CAAE,GAAG,CACX,UAAU,CAAE,IAAI,CAElB,GAAG,CACD,MAAM,CAAC,IAAI,CACX,UAAU,CAAE,GAAG,CAEjB,IAAI,CACF,MAAM,CAAE,GAAG,CACX,UAAU,CAAE,IAAI,EfnElB,gCAEC,CemDD,EAAE,CACA,MAAM,CAAE,GAAG,CACX,UAAU,CAAE,IAAI,CAElB,GAAG,CACD,MAAM,CAAE,GAAG,CACX,UAAU,CAAE,IAAI,CAElB,GAAG,CACD,MAAM,CAAC,IAAI,CACX,UAAU,CAAE,GAAG,CAEjB,IAAI,CACF,MAAM,CAAE,GAAG,CACX,UAAU,CAAE,IAAI,EfhElB,+BAEC,CegDD,EAAE,CACA,MAAM,CAAE,GAAG,CACX,UAAU,CAAE,IAAI,CAElB,GAAG,CACD,MAAM,CAAE,GAAG,CACX,UAAU,CAAE,IAAI,CAElB,GAAG,CACD,MAAM,CAAC,IAAI,CACX,UAAU,CAAE,GAAG,CAEjB,IAAI,CACF,MAAM,CAAE,GAAG,CACX,UAAU,CAAE,IAAI,Ef7DlB,2BAEC,Ce6CD,EAAE,CACA,MAAM,CAAE,GAAG,CACX,UAAU,CAAE,IAAI,CAElB,GAAG,CACD,MAAM,CAAE,GAAG,CACX,UAAU,CAAE,IAAI,CAElB,GAAG,CACD,MAAM,CAAC,IAAI,CACX,UAAU,CAAE,GAAG,CAEjB,IAAI,CACF,MAAM,CAAE,GAAG,CACX,UAAU,CAAE,IAAI,ECxEpB,wBAAwB,CACtB,QAAQ,CAAE,KAAK,CACf,SAAS,CAAE,KAAK,CAChB,aAAa,CAAE,GAAG,CAClB,OAAO,CAAE,GAAG,CACZ,UAAU,CAAE,0BAA0B,CAEpC,gBAAK,CAAE,kBAAqB,CAG9B,2BAAE,CACA,MAAM,CAAE,YAAY,CAGtB,2BAAE,CACA,aAAa,CAAE,CAAC,CAEhB,8BAAE,CACA,cAAc,CAAE,SAAS,CAK/B,wBAAwB,CACtB,GAAG,CAAE,IAAI,CACT,IAAI,CAAE,IAAI,CAGZ,uBAAuB,CACrB,MAAM,CAAE,IAAI,CACZ,KAAK,CAAE,IAAI,CC9Bb,QAAS,CACP,mBAAmB,CAAE,MAAM,CAC3B,iBAAiB,CAAE,SAAS,CAC5B,QAAQ,CAAE,QAAQ,CAClB,OAAO,CAAE,YAAY,CACrB,QAAQ,CAAE,MAAM,CAChB,UAAU,CAAE,kBAAkB,CAC9B,MAAM,CAAE,OAAO,CAGjB,cAAe,CACb,UAAU,CAAE,sjDAAsjD,CAClkD,eAAe,CAAE,SAAS,CAC1B,QAAQ,CAAE,QAAQ,CAClB,MAAM,CAAE,IAAI,CACZ,KAAK,CAAE,IAAI,CACX,OAAO,CAAE,EAAE,CACX,MAAM,CAAE,iBAAiB,CACzB,UAAU,CAAE,iBAAiB,CAG/B,oBAAqB,CACnB,OAAO,CAAE,CAAC,CACV,MAAM,CAAE,kBAAkB", "sources": ["../../../sass/pathfinder.scss","file:///C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss","../../../sass/_variables.scss","../../../sass/_bootstrap.scss","../../../sass/bootstrap/_scaffolding.scss","../../../sass/bootstrap/_mixins.scss","../../../sass/bootstrap/_type.scss","../../../sass/bootstrap/_code.scss","../../../sass/bootstrap/_grid.scss","../../../sass/bootstrap/_tables.scss","../../../sass/bootstrap/_forms.scss","../../../sass/_colors.scss","../../../sass/bootstrap/_buttons.scss","../../../sass/bootstrap/_component-animations.scss","../../../sass/bootstrap/_dropdowns.scss","file:///C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/compass-core-1.0.3/stylesheets/compass/_support.scss","file:///C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/compass-core-1.0.3/stylesheets/compass/css3/_border-radius.scss","../../../sass/bootstrap/_button-groups.scss","../../../sass/bootstrap/_input-groups.scss","../../../sass/bootstrap/_navs.scss","../../../sass/bootstrap/_navbar.scss","../../../sass/bootstrap/_breadcrumbs.scss","../../../sass/bootstrap/_pagination.scss","../../../sass/bootstrap/_pager.scss","../../../sass/bootstrap/_labels.scss","../../../sass/bootstrap/_badges.scss","../../../sass/bootstrap/_thumbnails.scss","../../../sass/bootstrap/_alerts.scss","../../../sass/bootstrap/_progress-bars.scss","../../../sass/bootstrap/_media.scss","../../../sass/bootstrap/_list-group.scss","../../../sass/bootstrap/_panels.scss","../../../sass/bootstrap/_wells.scss","../../../sass/bootstrap/_close.scss","../../../sass/bootstrap/_modals.scss","../../../sass/bootstrap/_tooltip.scss","../../../sass/bootstrap/_popovers.scss","../../../sass/bootstrap/_utilities.scss","../../../sass/bootstrap/_responsive-utilities.scss","../../../sass/library/fontawesome/_fontawesome.scss","../../../sass/library/fontawesome/_core.scss","../../../sass/library/fontawesome/_larger.scss","../../../sass/library/fontawesome/_fixed-width.scss","../../../sass/library/fontawesome/_list.scss","../../../sass/library/fontawesome/_variables.scss","../../../sass/library/fontawesome/_bordered-pulled.scss","../../../sass/library/fontawesome/_animated.scss","../../../sass/library/fontawesome/_rotated-flipped.scss","../../../sass/library/fontawesome/_mixins.scss","../../../sass/library/fontawesome/_stacked.scss","../../../sass/library/fontawesome/_icons.scss","../../../sass/library/fontawesome/_screen-reader.scss","../../../sass/library/fontawesome/_regular.scss","../../../sass/library/fontawesome/_solid.scss","../../../sass/library/fontawesome/_brands.scss","../../../sass/library/custom-scrollbar/_mCustomScrollbar.scss","../../../sass/library/data-tables/_dataTables.scss","../../../sass/library/data-tables/_dataTables-buttons.scss","../../../sass/library/data-tables/_dataTables-fontAwesome.scss","../../../sass/library/data-tables/_dataTables-responsive.scss","../../../sass/library/data-tables/_dataTables-select.scss","../../../sass/library/x-editable/_bootstrap-editable.scss","../../../sass/library/pnotify/_pnotify.scss","../../../sass/library/pnotify/_pnotify.nonblock.scss","../../../sass/library/pnotify/_pnotify.custom.scss","../../../sass/library/slidebars/_slidebars.scss","../../../sass/library/easy-pie-chart/_easyPieChart.scss","../../../sass/library/drag-to-select/_dragToSelect.scss","../../../sass/library/select2/_core.scss","../../../sass/library/select2/_single.scss","../../../sass/library/select2/_multiple.scss","../../../sass/library/select2/_dropdown.scss","../../../sass/library/select2/theme/pathfinder/_single.scss","../../../sass/library/select2/theme/pathfinder/_defaults.scss","../../../sass/library/select2/theme/pathfinder/_multiple.scss","../../../sass/library/select2/theme/pathfinder/_layout.scss","file:///C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/compass-core-1.0.3/stylesheets/compass/css3/_appearance.scss","../../../sass/library/blue-imp-gallery/_blueimp-gallery.scss","../../../sass/library/blue-imp-gallery/_bootstrap-image-gallery.scss","../../../sass/library/bootstrap-toggle/_bootstrap-toggle.scss","../../../sass/library/bootstrap-checkbox/_awesome-bootstrap-checkbox.scss","../../../sass/_main.scss","../../../sass/_main-colorpallet.scss","../../../sass/layout/_animation.scss","../../../sass/layout/_fonts.scss","../../../sass/layout/_main.scss","file:///C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/compass-core-1.0.3/stylesheets/compass/css3/_images.scss","../../../sass/layout/_landing.scss","../../../sass/layout/_logo.scss","../../../sass/layout/_map.scss","../../../sass/layout/_system-info.scss","../../../sass/layout/_forms.scss","../../../sass/layout/_images.scss","../../../sass/layout/_dialogs.scss","../../../sass/layout/_log.scss","../../../sass/layout/_timeline.scss","../../../sass/layout/_popover.scss","../../../sass/layout/_ribbon.scss","../../../sass/layout/_loading-bar.scss","../../../sass/layout/_sticky-panel.scss","../../../sass/layout/_youtube.scss"], "names": [], "file": "pathfinder.css" diff --git a/public/js/v1.4.1/app/map/overlay.js b/public/js/v1.4.1/app/map/overlay.js index 2ce722c6a..6242b7b6c 100644 --- a/public/js/v1.4.1/app/map/overlay.js +++ b/public/js/v1.4.1/app/map/overlay.js @@ -65,7 +65,7 @@ define([ * @param connectionsData */ let addConnectionsOverlay = (connections, connectionsData) => { - let SystemSignatures = require('app/ui/module/system_signature_new'); + let SystemSignatures = require('app/ui/module/system_signature'); /** * add label to endpoint diff --git a/public/js/v1.4.1/app/map/util.js b/public/js/v1.4.1/app/map/util.js index 6c39c260e..11de7c165 100644 --- a/public/js/v1.4.1/app/map/util.js +++ b/public/js/v1.4.1/app/map/util.js @@ -367,7 +367,7 @@ define([ connection && connectionData.signatures // signature data is required... ){ - let SystemSignatures = require('app/ui/module/system_signature_new'); + let SystemSignatures = require('app/ui/module/system_signature'); let connectionId = connection.getParameter('connectionId'); let sourceEndpoint = connection.endpoints[0]; diff --git a/public/js/v1.4.1/app/module_map.js b/public/js/v1.4.1/app/module_map.js index 734c039df..f74fc9ca9 100644 --- a/public/js/v1.4.1/app/module_map.js +++ b/public/js/v1.4.1/app/module_map.js @@ -7,8 +7,7 @@ define([ 'sortable', 'app/ui/module/system_info', 'app/ui/module/system_graph', - //'app/ui/module/system_signature', - 'app/ui/module/system_signature_new', + 'app/ui/module/system_signature', 'app/ui/module/system_route', 'app/ui/module/system_intel', 'app/ui/module/system_killboard', diff --git a/public/js/v1.4.1/app/ui/form_element.js b/public/js/v1.4.1/app/ui/form_element.js index 37d9d2ab0..296f1c517 100644 --- a/public/js/v1.4.1/app/ui/form_element.js +++ b/public/js/v1.4.1/app/ui/form_element.js @@ -87,7 +87,8 @@ define([ let securityClass = Util.getSecurityClassForSystem(parts[1].length > 3 ? parts[1].substring(0, 2) : parts[1]); markup += '' + parts[0] + '  '; markup += ''; - markup += '  ' + parts[1] + ' '; + markup += '  ' + parts[1] + ' '; }else{ markup += '' + state.text + ''; } diff --git a/public/js/v1.4.1/app/ui/module/system_signature.js b/public/js/v1.4.1/app/ui/module/system_signature.js index aae66ae99..ad04d53da 100644 --- a/public/js/v1.4.1/app/ui/module/system_signature.js +++ b/public/js/v1.4.1/app/ui/module/system_signature.js @@ -6,12 +6,12 @@ define([ 'jquery', 'app/init', 'app/util', - 'mustache', 'bootbox', + 'app/counter', 'app/map/map', 'app/map/util', 'app/ui/form_element' -], ($, Init, Util, Mustache, bootbox, Map, MapUtil, FormElement) => { +], ($, Init, Util, bootbox, Counter, Map, MapUtil, FormElement) => { 'use strict'; let config = { @@ -21,84 +21,46 @@ define([ moduleHeadClass: 'pf-module-head', // class for module header moduleHandlerClass: 'pf-module-handler-drag', // class for "drag" handler - moduleClass: 'pf-module', // class for each module - // system signature module - moduleTypeClass: 'pf-system-signature-module', // module wrapper + moduleTypeClass: 'pf-system-signature-module', // class for this module // headline toolbar moduleHeadlineIconClass: 'pf-module-icon-button', // class for toolbar icons in the head moduleHeadlineIconAddClass: 'pf-module-icon-button-add', // class for "add signature" icon moduleHeadlineIconReaderClass: 'pf-module-icon-button-reader', // class for "signature reader" icon moduleHeadlineIconLazyClass: 'pf-module-icon-button-lazy', // class for "lazy delete" toggle icon + moduleHeadlineProgressBarClass: 'pf-system-progress-scanned', // class for signature progress bar // tables - tableToolsActionClass: 'pf-table-tools-action', // class for table toolbar action - - // signature progress bar - signatureScannedProgressBarClass: 'pf-system-progress-scanned', // class for signature progress bar + tableToolsActionClass: 'pf-table-tools-action', // class for "new signature" table (hidden) // table toolbar sigTableClearButtonClass: 'pf-sig-table-clear-button', // class for "clear" signatures button // signature table + sigTableId: 'pf-sig-table-', // Table id prefix sigTableClass: 'pf-sig-table', // Table class for all Signature Tables sigTablePrimaryClass: 'pf-sig-table-primary', // class for primary sig table sigTableSecondaryClass: 'pf-sig-table-secondary', // class for secondary sig table - sigTableEditSigNameInput: 'pf-sig-table-edit-name-input', // class for editable fields (input) - sigTableEditSigGroupSelect: 'pf-sig-table-edit-group-select', // class for editable fields (sig group) - sigTableEditSigTypeSelect: 'pf-sig-table-edit-type-select', // class for editable fields (sig type) - sigTableEditSigConnectionSelect: 'pf-sig-table-edit-connection-select', // class for editable fields (sig connection) - sigTableEditSigDescriptionTextarea: 'pf-sig-table-edit-desc-text', // class for editable fields (sig description) - sigTableCreatedCellClass: 'pf-sig-table-created', // class for "created" cells - sigTableUpdatedCellClass: 'pf-sig-table-updated', // class for "updated" cells - - sigTableConnectionClass: 'pf-table-connection-cell', // class for "connection" cells - sigTableCounterClass: 'pf-table-counter-cell', // class for "counter" cells - sigTableActionCellClass: 'pf-table-action-cell', // class for "action" cells + sigTableRowIdPrefix: 'pf-sig-row_', // id prefix for table rows + + sigTableEditSigNameInput: 'pf-sig-table-edit-name-input', // class for editable fields (sig name) + + tableCellConnectionClass: 'pf-table-connection-cell', // class for "connection" cells + tableCellFocusClass: 'pf-table-focus-cell', // class for "tab-able" cells. enable focus() + tableCellCounterClass: 'pf-table-counter-cell', // class for "counter" cells + tableCellActionClass: 'pf-table-action-cell', // class for "action" cells // xEditable + editableNameInputClass: 'pf-editable-name', // class for "name" input editableDescriptionInputClass: 'pf-editable-description', // class for "description" textarea editableUnknownInputClass: 'pf-editable-unknown', // class for input fields (e.g. checkboxes) with "unknown" status - signatureGroupsLabels: Util.getSignatureGroupInfo('label'), - signatureGroupsNames: Util.getSignatureGroupInfo('name') - }; - - // lock Signature Table update temporary (until. some requests/animations) are finished - let disableTableUpdate = true; - - // disable "copy&paste" from clipboard (until request finished) - let disableCopyFromClipboard = false; - - // cache for dataTable object6 - let dataTableInstances = {}; - - // empty signatureData object -> for "add row" table - let emptySignatureData = { - id: 0, - name: '', - groupId: 0, - typeId: 0, - description: '', - created: { - created: null - }, - updated: { - updated: null - } - }; - - let fullSignatureOptions = { - action: 'delete', - actionClass: ['fa-times', 'txt-color', 'txt-color-redDarker'].join(' ') + signatureGroupsLabels: Util.getSignatureGroupOptions('label'), + signatureGroupsNames: Util.getSignatureGroupOptions('name') }; - // empty signatureData row Options - let emptySignatureOptions = { - action: 'add', - actionClass: ['fa-plus'].join(' ') - }; + let lockedTables = {}; // locked tables (e.g. disable cops&paste, disable table update) let sigNameCache = {}; // cache signature names @@ -113,84 +75,122 @@ define([ 'Источники сигналов' // == "Cosmic Signature" ]; - // some static signature data - let signatureGroupsLabels = Util.getSignatureGroupInfo('label'); - let signatureGroupsNames = Util.getSignatureGroupInfo('name'); + let emptySignatureData = { + id: 0, + name: '', + groupId: 0, + typeId: 0 + }; + + let editableDefaults = { // xEditable default options for signature fields + url: Init.path.saveSignatureData, + dataType: 'json', + container: 'body', + highlight: false, // i use a custom implementation. xEditable uses inline styles for bg color animation -> does not work properly on datatables "sort" cols + error: function(jqXHR, newValue){ + let reason = ''; + let status = 'Error'; + if(jqXHR.statusText){ + reason = jqXHR.statusText; + }else if(jqXHR.name){ + // validation error new sig (new row data save function) + reason = jqXHR.name; + // re-open "name" fields (its a collection of fields but we need "id" field) + jqXHR.name.field.$element.editable('show'); + }else{ + reason = jqXHR.responseJSON.text; + status = jqXHR.status; + } + + Util.showNotify({title: status + ': save signature', text: reason, type: 'error'}); + $(document).setProgramStatus('problem'); + return reason; + } + }; /** - * get module toolbar element - * @returns {jQuery} + * get custom "metaData" from dataTables API + * @param tableApi + * @returns {*} */ - let getHeadlineToolbar = () => { - let headlineToolbar = $('
', { - class: 'pull-right' - }).append( - $('', { - class: 'progress-label-right', - text: '0%' - }), - $('', { - class: ['fas', 'fa-fw', 'fa-plus', - config.moduleHeadlineIconClass, - config.moduleHeadlineIconAddClass].join(' '), - title: 'add' - }).attr('data-toggle', 'tooltip'), - $('', { - class: ['fas', 'fa-fw', 'fa-paste', - config.moduleHeadlineIconClass, - config.moduleHeadlineIconReaderClass].join(' '), - title: 'signature reader' - }).attr('data-toggle', 'tooltip'), - $('', { - class: ['fas', 'fa-fw', 'fa-exchange-alt', - config.moduleHeadlineIconClass, - config.moduleHeadlineIconLazyClass].join(' '), - title: 'lazy \'delete\' signatures' - }).attr('data-toggle', 'tooltip') - ); - - headlineToolbar.find('[data-toggle="tooltip"]').tooltip({ - container: 'body' - }); + let getTableMetaData = tableApi => { + let data = null; + if(tableApi){ + data = tableApi.init().pfMeta; + } + return data; + }; - return headlineToolbar; + /** + * lock signature tableApi and lockType + * @param tableApi + * @param lockType + */ + let lockTable = (tableApi, lockType = 'update') => { + let metaData = getTableMetaData(tableApi); + if(metaData.systemId){ + if( !lockedTables.hasOwnProperty(metaData.systemId) ){ + lockedTables[metaData.systemId] = {}; + } + lockedTables[metaData.systemId][lockType] = true; + }else{ + console.warn('metaData.systemId required in lockTable()', metaData.systemId); + } }; /** - * check whether a dataTable API instance exists in the global cache - * args: 1. mapId, 2. systemId, 3, tableType (primary/secondary) string - * @param args + * check whether a signature tableApi is locked by lockType + * @param tableApi + * @param lockType * @returns {boolean} */ - let checkDataTableInstance = (...args) => { - let obj = dataTableInstances; - for(let arg of args){ - if ( !obj || !obj.hasOwnProperty(arg) ){ - return false; + let isLockedTable = (tableApi, lockType = 'update') => { + let locked = false; + if(tableApi){ + let metaData = getTableMetaData(tableApi); + if(metaData.systemId){ + if( + lockedTables.hasOwnProperty(metaData.systemId) && + lockedTables[metaData.systemId].hasOwnProperty(lockType) + ){ + locked = true; + } + }else{ + console.warn('metaData.systemId required in isLockedTable()', metaData.systemId); + } + } + + return locked; + }; + + /** + * unlock signature tableApi and lockType + * @param tableApi + * @param lockType + */ + let unlockTable = (tableApi, lockType = 'update') => { + if(tableApi){ + let metaData = getTableMetaData(tableApi); + if(isLockedTable(tableApi, lockType)){ + delete lockedTables[metaData.systemId][lockType]; + } + if( + lockedTables.hasOwnProperty(metaData.systemId) && + !Object.getOwnPropertyNames(lockedTables[metaData.systemId]).length + ){ + delete lockedTables[metaData.systemId]; } - obj = obj[arg]; } - return true; }; /** - * stores a dataTableApi instance to global cache ( overwrites existing) + * get dataTable id * @param mapId * @param systemId * @param tableType - * @param instance + * @returns {string} */ - let setDataTableInstance = (mapId, systemId, tableType, instance) => { - let tmpObj = { - [mapId]: { - [systemId]: { - [tableType]: instance - } - } - }; - - $.extend(true, dataTableInstances, tmpObj); - }; + let getTableId = (mapId, systemId, tableType) => config.sigTableId + [mapId, systemId, tableType].join('-'); /** * get a dataTableApi instance from global cache @@ -201,357 +201,391 @@ define([ */ let getDataTableInstance = (mapId, systemId, tableType) => { let instance = null; - if( checkDataTableInstance(mapId, systemId, tableType) ){ - instance = dataTableInstances[mapId][systemId][tableType]; + let table = $.fn.dataTable.tables({ visible: false, api: true }).table('#' + getTableId(mapId, systemId, tableType)); + if(table.node()){ + instance = table; } return instance; }; /** - * get dataTable instance from "moduleElement" (DOM node) - * @param moduleElement - * @param tableType - * @returns {*} + * Update/set tooltip for an element + * @param element + * @param title */ - let getDataTableInstanceByModuleElement = (moduleElement, tableType) => { - return getDataTableInstance(moduleElement.data('mapId'), moduleElement.data('systemId'), tableType); + let updateTooltip = (element, title) => { + $(element).attr('data-container', 'body') + .attr('title', title.toUpperCase()) + .tooltip('fixTitle').tooltip('setContent'); }; /** - * delete a dataTableApi instance from global cache - * -> see checkDataTableInstance() for parameter order - * @param args + * sum up all options in nested (or not nested) object of objects + * -> e.g. + * { + * first: { + * count = [4, 2, 1] + * test = { ... } + * }, + * second: { + * count = [12, 13] + * test = { ... } + * } + * } + * -> getOptionsCount('count', obj) => 5; + * @param key + * @param obj + * @returns {number} */ - let deleteDataTableInstance = (...args) => { - // check if instance exists - if( checkDataTableInstance.apply(null, args) ){ - - // callback for "leaf" delete callback - let deleteCallback = (dataTableApi) => { - dataTableApi.destroy(); - }; - - // recursive delete from dataTableInstances Object cache - let deepDelete = (target, obj, callback) => { - if(target.length > 1){ - // remove first target param for next recursive call - let currentTarget = target.shift(); - - deepDelete(target, obj[currentTarget], callback); - - // delete "parent" key when current key became empty - if( !Object.keys( obj[currentTarget] ).length ){ - delete obj[currentTarget]; - } - }else{ - // check for callback function - if( typeof callback === 'function' ){ - callback(obj[target]); - } - - delete obj[target]; - } - }; + let getOptionsCount = (key, obj) => { + let sum = 0; + for(let entry of obj){ + if(entry.hasOwnProperty(key)){ + sum += entry[key].length; + }else{ + sum++; + } + } + return sum; + }; - deepDelete(args, dataTableInstances, deleteCallback); + /** + * get possible frig holes that could spawn in a system + * filtered by "systemTypeId" + * @param systemTypeId + * @returns {{}} + */ + let getFrigateHolesBySystem = systemTypeId => { + let signatureNames = {}; + if(Init.frigateWormholes[systemTypeId]){ + signatureNames = Init.frigateWormholes[systemTypeId]; } + return signatureNames; }; /** - * collect all data of all editable fields in a signature table - * @param tableApi + * get all signature types that can exist for a given system + * -> result is partially cached + * @param systemData + * @param systemTypeId + * @param areaId + * @param groupId * @returns {Array} */ - let getTableData = tableApi => { - let tableData = []; + let getAllSignatureNames = (systemData, systemTypeId, areaId, groupId) => { + systemTypeId = parseInt(systemTypeId || 0); + areaId = parseInt(areaId || 0); + groupId = parseInt(groupId || 0); + let newSelectOptions = []; + let newSelectOptionsCount = 0; - if(tableApi){ - tableApi.rows().eq(0).each(function(idx){ - let row = tableApi.row(idx); - // default row data - let defaultRowData = row.data(); - let rowElement = row.nodes().to$(); + if(!systemTypeId || !areaId || !groupId){ + return newSelectOptions; + } + + let cacheKey = [systemTypeId, areaId, groupId].join('_'); - if(defaultRowData.id > 0){ - // get all editable fields per row - let editableFields = rowElement.find('.editable'); + // check for cached signature names + if(sigNameCache.hasOwnProperty( cacheKey )){ + // cached signatures do not include static WHs! + // -> ".slice(0)" creates copy + newSelectOptions = sigNameCache[cacheKey].slice(0); + newSelectOptionsCount = getOptionsCount('children', newSelectOptions); + }else{ + // get new Options ---------- + // get all possible "static" signature names by the selected groupId + let tempSelectOptions = Util.getAllSignatureNames(systemTypeId, areaId, groupId); - if(editableFields.length > 0){ - let values = $(editableFields).editable('getValue'); + // format options into array with objects advantages: keep order, add more options (whs), use optgroup + if(tempSelectOptions){ + let fixSelectOptions = []; + for(let key in tempSelectOptions){ + if ( + key > 0 && + tempSelectOptions.hasOwnProperty(key) + ){ + newSelectOptionsCount++; + fixSelectOptions.push({value: newSelectOptionsCount, text: tempSelectOptions[key]}); + } + } - if(values.name){ - // convert to lower for better compare options - values.name = values.name.toLowerCase(); + if(newSelectOptionsCount > 0){ + if(groupId === 5){ + // "wormhole" selected => multiple available + newSelectOptions.push({ text: 'Wandering', children: fixSelectOptions}); + }else{ + newSelectOptions = fixSelectOptions; + } + } + } - // add pk for this row - values.id = defaultRowData.id; + // wormhole (cached signatures) + if( groupId === 5 ){ - // add updated for this row - values.updated = defaultRowData.updated; + // add possible frigate holes + let frigateHoles = getFrigateHolesBySystem(areaId); + let frigateWHData = []; + for(let frigKey in frigateHoles){ + if ( + frigKey > 0 && + frigateHoles.hasOwnProperty(frigKey) + ){ + newSelectOptionsCount++; + frigateWHData.push( {value: newSelectOptionsCount, text: frigateHoles[frigKey]} ); + } + } - // add row index - values.index = idx; + if(frigateWHData.length > 0){ + newSelectOptions.push({ text: 'Frigate', children: frigateWHData}); + } - tableData.push( values ); - } + // add possible incoming holes + let incomingWHData = []; + for(let incomingKey in Init.incomingWormholes){ + if ( + incomingKey > 0 && + Init.incomingWormholes.hasOwnProperty(incomingKey) + ){ + newSelectOptionsCount++; + incomingWHData.push( {value: newSelectOptionsCount, text: Init.incomingWormholes[incomingKey]} ); } } - }); - } - return tableData; - }; + if(incomingWHData.length > 0){ + newSelectOptions.push({ text: 'Incoming', children: incomingWHData}); + } + }else{ + // groups without "children" (optgroup) should be sorted by "value" + // this is completely optional and not necessary! + newSelectOptions = newSelectOptions.sortBy('text'); + } - /** - * updates a single cell with new data (e.g. "updated" cell) - * @param tableApi - * @param rowElement - * @param cellIndex - * @param data - */ - let updateSignatureCell = (tableApi, rowElement, cellIndex, data) => { - let rowIndex = tableApi.row(rowElement).index(); - let updateCell = tableApi.cell( rowIndex, cellIndex ); - let updateCellElement = updateCell.nodes().to$(); - - if(cellIndex === 7){ - // clear existing counter interval - clearInterval( updateCellElement.data('interval') ); + // update cache (clone array) -> further manipulation to this array, should not be cached + sigNameCache[cacheKey] = newSelectOptions.slice(0); } - // set new value - updateCell.data(data).draw(); + // static wormholes (DO NOT CACHE) (not all C2 WHs have the same statics,... + if( groupId === 5 ){ + // add static WH(s) for this system + if(systemData.statics){ + let staticWHData = []; + for(let wormholeName of systemData.statics){ + let wormholeData = Object.assign({}, Init.wormholes[wormholeName]); + let staticWHName = wormholeData.name + ' - ' + wormholeData.security; + + newSelectOptionsCount++; + staticWHData.push( {value: newSelectOptionsCount, text: staticWHName} ); + } - if(cellIndex === 7){ - updateCellElement.initTimestampCounter(); + if(staticWHData.length > 0){ + newSelectOptions.unshift({ text: 'Static', children: staticWHData}); + } + } } + + return newSelectOptions; }; /** - * update trigger function for this module - * compare data and update module - * @param moduleElement - * @param systemData + * get all signature types that can exist for a system (jQuery obj) + * @param systemElement + * @param groupId + * @returns {Array} */ - let updateModule = (moduleElement, systemData) => { - - if(systemData.signatures){ - updateSignatureTable(moduleElement, systemData.signatures, true); - } - - moduleElement.hideLoadingAnimation(); + let getAllSignatureNamesBySystem = (systemElement, groupId) => { + let systemTypeId = systemElement.data('typeId'); + let areaId = Util.getAreaIdBySecurity(systemElement.data('security')); + let systemData = {statics: systemElement.data('statics')}; + return getAllSignatureNames(systemData, systemTypeId, areaId, groupId); }; /** - * Updates a signature table, changes all signatures where name matches - * add all new signatures as a row - * @param moduleElement - * @param signatureDataOrig - * @param deleteOutdatedSignatures -> set to "true" if signatures should be deleted that are not included in "signatureData" + * get all connection select options + * @param mapId + * @param systemData + * @returns {Array} */ - let updateSignatureTable = (moduleElement, signatureDataOrig, deleteOutdatedSignatures) => { - // check if table update is allowed - if(disableTableUpdate === true){ - return; - } - - // clone signature array because of further manipulation - let signatureData = $.extend([], signatureDataOrig); - - // disable update until function is ready; - lockSignatureTable(); - - // get signature table API - let signatureTableApi = getDataTableInstanceByModuleElement(moduleElement, 'primary'); - - // get current system data - let currentSystemData = Util.getCurrentSystemData(); - - let tableData = getTableData(signatureTableApi); - - let notificationCounter = { - added: 0, - changed: 0, - deleted: 0 - }; - - for(let i = 0; i < signatureData.length; i++){ - for(let j = 0; j < tableData.length; j++){ - if(signatureData[i].id === tableData[j].id){ - - // check if row was updated - if(signatureData[i].updated.updated > tableData[j].updated.updated){ - // row element to remove - let currentRowElement = signatureTableApi.row(tableData[j].index).nodes().to$(); - - // hide open editable fields on the row before removing them - currentRowElement.find('.editable').editable('destroy'); - - // remove "old" row - signatureTableApi.row(currentRowElement).remove().draw(); + let getSignatureConnectionOptions = (mapId, systemData) => { + let map = Map.getMapInstance( mapId ); + let systemId = MapUtil.getSystemId(mapId, systemData.id); + let systemConnections = MapUtil.searchConnectionsBySystems(map, [systemId], 'wh'); + let newSelectOptions = []; + let connectionOptions = []; - // and add "new" row - let changedRowElement = addSignatureRow(signatureTableApi, currentSystemData.systemData, signatureData[i], false); + for(let systemConnection of systemConnections){ + let connectionData = MapUtil.getDataByConnection(systemConnection); - if(changedRowElement){ - // highlight - changedRowElement.pulseBackgroundColor('changed'); - notificationCounter.changed++; - } + // connectionId is required (must be stored) + if(connectionData.id){ + // check whether "source" or "target" system is relevant for this connection + // -> hint "source" === 'target' --> loop + if(systemData.id !== connectionData.target){ + let targetSystemData = MapUtil.getSystemData(mapId, connectionData.target); + if(targetSystemData){ + // take target... + connectionOptions.push({ + value: connectionData.id, + text: connectionData.targetAlias + ' - ' + targetSystemData.security + }); + } + }else if(systemData.id !== connectionData.source){ + let sourceSystemData = MapUtil.getSystemData(mapId, connectionData.source); + if(sourceSystemData){ + // take source... + connectionOptions.push({ + value: connectionData.id, + text: connectionData.sourceAlias + ' - ' + sourceSystemData.security + }); } - - // remove signature data -> all left signatures will be added - signatureData.splice(i, 1); - i--; - - // remove signature data -> all left signatures will be deleted - tableData.splice(j, 1); - j--; - - break; } } } - // delete signatures ------------------------------------------------------------------------------------------ - if(deleteOutdatedSignatures === true){ - - // callback function after row deleted - let toggleTableRowCallback = function(tempRowElement){ - // hide open editable fields on the row before removing them - tempRowElement.find('.editable').editable('destroy'); - - // delete signature row - signatureTableApi.row(tempRowElement).remove().draw(); - }; - - for(let l = 0; l < tableData.length; l++){ - let rowElement = signatureTableApi.row(tableData[l].index).nodes().to$(); - rowElement.toggleTableRow(toggleTableRowCallback); - notificationCounter.deleted++; - } - } - - // add new signatures ----------------------------------------------------------------------------------------- - for(let k = 0; k < signatureData.length; k++){ - // and add "new" row - let newRowElement = addSignatureRow(signatureTableApi, currentSystemData.systemData, signatureData[k], false); - - if(newRowElement){ - // highlight - newRowElement.pulseBackgroundColor('added'); - notificationCounter.added++; - } - } - - // show notification ------------------------------------------------------------------------------------------ - if( - notificationCounter.added > 0 || - notificationCounter.changed > 0 || - notificationCounter.deleted > 0 - ){ - // update signature bar - moduleElement.updateScannedSignaturesBar({showNotice: true}); - - let notification = notificationCounter.added + ' added
'; - notification += notificationCounter.changed + ' updated
'; - notification += notificationCounter.deleted + ' deleted
'; - Util.showNotify({title: 'Signatures updated', text: notification, type: 'success'}); - - // wait until add/remove animations are finished before enable table for auto update again - unlockSignatureTable(false); - }else{ - // enable table for next update - unlockSignatureTable(true); + if(connectionOptions.length > 0){ + newSelectOptions.push({ text: 'System', children: connectionOptions}); } - }; - /** - * lock system signature table for - */ - let lockSignatureTable = () => { - disableTableUpdate = true; + return newSelectOptions; }; /** - * unlock system signature table from been locked - * -> make table "update-able" again - * @param instant + * show/hides a table
rowElement + * @param rowElement */ - let unlockSignatureTable = instant =>{ - if(disableTableUpdate === true){ - if(instant === true){ - disableTableUpdate = false; + let toggleTableRow = rowElement => { + + let toggleTableRowExecutor = (resolve, reject) => { + let cellElements = rowElement.children('td'); + let duration = 350; + // wrap each
into a container (for better animation performance) + // slideUp new wrapper divs + if(rowElement.is(':visible')){ + // hide row + + // stop sig counter by adding a stopClass to each , remove padding + cellElements.addClass('stopCounter') + .velocity({ + paddingTop: [0, '4px'], + paddingBottom: [0, '4px'], + opacity: [0, 1] + },{ + duration: duration, + easing: 'linear' + }).wrapInner('
') + .children() + .css({ + 'willChange': 'height' + }).velocity('slideUp', { + duration: duration, + easing: 'linear', + complete: function(animationElements){ + // remove wrapper + $(animationElements).children().unwrap(); + + resolve({ + action: 'rowHidden', + row: rowElement + }); + } + }); }else{ - // wait until add/remove animations are finished before enable table for auto update again - setTimeout(function(){ disableTableUpdate = false; }, 2000); + // show row + + // remove padding on "hidden" cells for smother animation + cellElements.css({ + 'padding-top': 0, + 'padding-bottom': 0, + 'willChange': 'padding-top, padding-top, height' + }); + + // add hidden wrapper for ea + cellElements.wrapInner($('
').hide()); + + // show row for padding animation + rowElement.show(); + + cellElements.velocity({ + paddingTop: ['4px', 0], + paddingBottom: ['4px', 0] + },{ + duration: duration, + queue: false, + complete: function(){ + // animate
wrapper + cellElements.children() + .css({ + 'willChange': 'height' + }).velocity('slideDown', { + duration: duration, + complete: function(animationElements){ + // remove wrapper + for(let i = 0; i < animationElements.length; i++){ + let currentWrapper = $(animationElements[i]); + if(currentWrapper.children().length > 0){ + currentWrapper.children().unwrap(); + }else{ + currentWrapper.parent().html( currentWrapper.html() ); + } + } + + resolve({ + action: 'rowShown', + row: rowElement + }); + } + }); + } + }); } - } + }; + + return new Promise(toggleTableRowExecutor); }; /** - * update Progressbar for all scanned signatures in a system + * update scanned signatures progress bar + * @param tableApi * @param options */ - $.fn.updateScannedSignaturesBar = function(options){ - let moduleElement = $(this); - let signatureTableApi = getDataTableInstanceByModuleElement(moduleElement, 'primary'); - - // get progress bar - let progressBarWrapper = moduleElement.find('.' + config.signatureScannedProgressBarClass); - let progressBar = $(progressBarWrapper).find('.progress-bar'); + let updateScannedSignaturesBar = (tableApi, options) => { + let tableElement = tableApi.table().node(); + let moduleElement = $(tableElement).parents('.' + config.moduleTypeClass); + let progressBar = moduleElement.find('.progress-bar'); let progressBarLabel = moduleElement.find('.progress-label-right'); - let tableData = getTableData(signatureTableApi); - - let sigCount = 0; let percent = 0; - let sigIncompleteCount = 0; - let progressBarType = 'progress-bar-danger'; + let progressBarType = ''; + let columnGroupData = tableApi.column('group:name').data(); + let sigCount = columnGroupData.length; + let sigIncompleteCount = columnGroupData.filter((value, index) => !value).length; - if(tableData){ - sigCount = tableData.length; + if(sigCount){ + percent = 100 - Math.round( 100 / sigCount * sigIncompleteCount ); + } - // check for signatures without "groupId" -> these are un scanned signatures + if(percent < 30){ + progressBarType = 'progress-bar-danger' ; + }else if(percent < 100){ + progressBarType = 'progress-bar-warning'; + }else{ + progressBarType = 'progress-bar-success'; + } - for(let i = 0; i < tableData.length; i++){ - let groupId = parseInt(tableData[i].groupId); - if(groupId === 0){ - sigIncompleteCount++; - } - } + progressBarLabel.text(percent + '%'); + progressBar.removeClass().addClass('progress-bar').addClass(progressBarType); + progressBar.attr('aria-valuenow', percent); + progressBar.css({width: percent + '%'}); - if(sigCount > 0){ - percent = 100 - Math.round( 100 / sigCount * sigIncompleteCount ); - } + // show notifications + if(options.showNotice !== false){ + let notification = (sigCount - sigIncompleteCount) + ' / ' + sigCount + ' (' + percent + '%) signatures scanned'; - if(percent < 30){ - progressBarType = 'progress-bar-danger' ; - }else if(percent < 100){ - progressBarType = 'progress-bar-warning'; + if(percent < 100){ + Util.showNotify({title: 'Unscanned signatures', text: notification, type: 'info'}); }else{ - progressBarType = 'progress-bar-success'; + Util.showNotify({title: 'System is scanned', text: notification, type: 'success'}); } } - - setTimeout( - function() { - progressBarLabel.text(percent + '%'); - progressBar.removeClass().addClass('progress-bar').addClass(progressBarType); - progressBar.attr('aria-valuenow', percent); - progressBar.css({width: percent + '%'}); - - let notification = (sigCount - sigIncompleteCount) + ' / ' + sigCount + ' (' + percent + '%) signatures scanned'; - - // show notifications - if(options.showNotice !== false){ - if(percent < 100){ - Util.showNotify({title: 'Unscanned signatures', text: notification, type: 'info'}); - }else{ - Util.showNotify({title: 'System is scanned', text: notification, type: 'success'}); - } - } - }, 100); }; /** @@ -573,20 +607,20 @@ define([ success: { label: ' update signatures', className: 'btn-success', - callback: function () { + callback: function (){ let form = this.find('form'); let formData = form.getFormValues(); let signatureOptions = { deleteOld: (formData.deleteOld) ? 1 : 0 }; - moduleElement.updateSignatureTableByClipboard(systemData, formData.clipboard, signatureOptions); + updateSignatureTableByClipboard(moduleElement, systemData, formData.clipboard, signatureOptions); } } } }); // dialog shown event - signatureReaderDialog.on('shown.bs.modal', function(e) { + signatureReaderDialog.on('shown.bs.modal', function(e){ signatureReaderDialog.initTooltips(); // set focus on sig-input textarea @@ -595,85 +629,6 @@ define([ }); }; - /** - * updates the signature table with all signatures pasted into the "signature reader" dialog - * -> Hint: copy&paste signature data (without any open dialog) will add signatures as well - * @param systemData - * @param clipboard data stream - * @param options - */ - $.fn.updateSignatureTableByClipboard = function(systemData, clipboard, options){ - let moduleElement = $(this); - - let saveSignatureData = function(signatureData){ - // lock update function until request is finished - lockSignatureTable(); - - // lock copy during request (prevent spamming (ctrl + c ) - disableCopyFromClipboard = true; - - let requestData = { - signatures: signatureData, - deleteOld: (options.deleteOld) ? 1 : 0, - systemId: parseInt(systemData.id) - }; - - $.ajax({ - type: 'POST', - url: Init.path.saveSignatureData, - data: requestData, - dataType: 'json', - context: { - moduleElement: moduleElement - } - }).done(function(responseData){ - // unlock table for update - unlockSignatureTable(true); - // updates table with new/updated signature information - updateSignatureTable(this.moduleElement, responseData.signatures, false); - }).fail(function( jqXHR, status, error) { - let reason = status + ' ' + error; - Util.showNotify({title: jqXHR.status + ': Update signatures', text: reason, type: 'warning'}); - $(document).setProgramStatus('problem'); - }).always(function() { - unlockSignatureTable(true); - disableCopyFromClipboard = false; - }); - }; - - // check if copy&paste is enabled - if( !disableCopyFromClipboard ){ - // parse input stream - let signatureData = parseSignatureString(systemData, clipboard); - if(signatureData.length > 0){ - // valid signature data parsed - - // check if signatures will be added to a system where character is currently in - // if user is not in any system -> id === undefined -> no "confirmation required - let currentLocationData = Util.getCurrentLocationData(); - if( - currentLocationData.id && - currentLocationData.id !== systemData.id - ){ - - let systemNameStr = (systemData.name === systemData.alias) ? '"' + systemData.name + '"' : '"' + systemData.alias + '" (' + systemData.name + ')'; - systemNameStr = '' + systemNameStr + ''; - - let msg = ''; - msg += 'Update signatures in ' + systemNameStr + ' ? This not your current location, "' + currentLocationData.name + '" !'; - bootbox.confirm(msg, function(result) { - if(result){ - saveSignatureData(signatureData); - } - }); - }else{ - // current system selected -> no "confirmation" required - saveSignatureData(signatureData); - } - } - } - }; - /** * parses a copy&paste string from ingame scanning window * @param systemData @@ -700,20 +655,18 @@ define([ let typeId = 0; // get groupId by groupName - for (let prop in signatureGroupOptions) { - if(signatureGroupOptions.hasOwnProperty(prop)){ - let reg = new RegExp(signatureGroupOptions[prop], 'i'); - if (reg.test(sigGroup)) { - sigGroupId = parseInt( prop ); - break; - } + for(let groupOption of signatureGroupOptions){ + let reg = new RegExp(groupOption.text, 'i'); + if(reg.test(sigGroup)){ + sigGroupId = groupOption.value; + break; } } // wormhole type cant be extracted from signature string -> skip function call if(sigGroupId !== 5){ // try to get "typeId" by description string - typeId = Util.getSignatureTypeIdByName( systemData, sigGroupId, sigDescription ); + typeId = Util.getSignatureTypeIdByName(systemData, sigGroupId, sigDescription); // set signature name as "description" if signature matching failed sigDescription = (typeId === 0) ? sigDescription : ''; @@ -747,1123 +700,1176 @@ define([ }; /** - * format signature data array into dataTable structure + * updates the signature table with all signatures pasted into the "signature reader" dialog + * -> Hint: copy&paste signature data (without any open dialog) will add signatures as well + * @param tableApi * @param systemData - * @param signatureData + * @param clipboard data stream * @param options - * @returns {Array} */ - let formatSignatureData = (systemData, signatureData, options) => { - let formattedData = []; - - // security check - if( - systemData && - systemData.id && - systemData.id > 0 - ){ - let systemTypeId = systemData.type.id; - - // areaId is required as a key for signature names - // if areaId is 0, no signature data is available for this system - let areaId = Util.getAreaIdBySecurity(systemData.security); - - for(let i = 0; i < signatureData.length; i++){ - let data = signatureData[i]; - - let tempData = {}; - - // set id --------------------------------------------------------------------------------------------- - let sigId = 0; - if(data.id > 0){ - sigId = data.id; - } - tempData.id = sigId; - - // set status ----------------------------------------------------------------------------------------- - let statusClass = ''; - if(data.updated.character !== undefined){ - statusClass = Util.getStatusInfoForCharacter(data.updated.character, 'class'); - } - let status = ''; - - tempData.status = { - status: status, - status_sort: statusClass - }; - - // set name ------------------------------------------------------------------------------------------- - let sigName = ' 0){ - sigName += 'data-pk="' + data.id + '" '; - } - sigName += '>' + data.name + ''; + let updateSignatureTableByClipboard = (tableApi, systemData, clipboard, options) => { + if(isLockedTable(tableApi, 'clipboard')) return; - tempData.name = { - render: sigName, - name: data.name - }; + let saveSignatureData = signatureData => { + // lock update function until request is finished + lockTable(tableApi); - // set group id --------------------------------------------------------------------------------------- - let sigGroup = ' 0){ - sigGroup += 'data-pk="' + data.id + '" '; - } - sigGroup += 'data-systemTypeId="' + systemTypeId + '" '; - sigGroup += 'data-areaId="' + areaId + '" '; - sigGroup += 'data-value="' + data.groupId + '" '; - sigGroup += '>'; - - tempData.group = { - group: sigGroup, - sort: config.signatureGroupsLabels[data.groupId] || '', - filter: config.signatureGroupsLabels[data.groupId] ||'' - }; + // lock copy during request (prevent spamming (ctrl + c ) + lockTable(tableApi, 'clipboard'); - // set type id ---------------------------------------------------------------------------------------- - let sigType = ' 0){ - sigType += 'data-pk="' + data.id + '" '; - } + let requestData = { + signatures: signatureData, + deleteOld: (options.deleteOld) ? 1 : 0, + systemId: parseInt(systemData.id) + }; - // set disabled if sig type is not selected - if(data.groupId < 1){ - sigType += 'data-disabled="1" '; + $.ajax({ + type: 'POST', + url: Init.path.saveSignatureData, + data: requestData, + dataType: 'json', + context: { + tableApi: tableApi } + }).done(function(responseData){ + // unlock table for update + unlockTable(this.tableApi); + // updates table with new/updated signature information + updateSignatureTable(this.tableApi, responseData.signatures, false); + }).fail(function( jqXHR, status, error){ + let reason = status + ' ' + error; + Util.showNotify({title: jqXHR.status + ': Update signatures', text: reason, type: 'warning'}); + $(document).setProgramStatus('problem'); + }).always(function(){ + unlockTable(this.tableApi); + unlockTable(this.tableApi, 'clipboard'); + }); + }; - sigType += 'data-systemTypeId="' + systemTypeId + '" '; - sigType += 'data-areaId="' + areaId + '" '; - sigType += 'data-groupId="' + data.groupId + '" '; - sigType += 'data-value="' + data.typeId + '" '; - sigType += '>'; - - tempData.type = sigType; + // parse input stream + let signatureData = parseSignatureString(systemData, clipboard); + if(signatureData.length > 0){ + // valid signature data parsed + + // check if signatures will be added to a system where character is currently in + // if user is not in any system -> id === undefined -> no "confirmation required + let currentLocationData = Util.getCurrentLocationData(); + if( + currentLocationData.id && + currentLocationData.id !== systemData.id + ){ + + let systemNameStr = (systemData.name === systemData.alias) ? '"' + systemData.name + '"' : '"' + systemData.alias + '" (' + systemData.name + ')'; + systemNameStr = '' + systemNameStr + ''; + + let msg = 'Update signatures in ' + systemNameStr + ' ? This not your current location, "' + currentLocationData.name + '" !'; + bootbox.confirm(msg, function(result){ + if(result){ + saveSignatureData(signatureData); + } + }); + }else{ + // current system selected -> no "confirmation" required + saveSignatureData(signatureData); + } + } + }; - // set connection (to target system) ------------------------------------------------------------------ - let sigConnection = ' 0){ - sigConnection += 'data-pk="' + data.id + '" '; - } + /** + * deletes signature rows from signature table + * @param tableApi + * @param rows + */ + let deleteSignatures = (tableApi, rows) => { + // get unique id array from rows -> in case there are 2 rows with same id -> you never know + let signatureIds = [...new Set(rows.data().toArray().map(rowData => rowData.id))]; - // set disabled if group is not wormhole - if(data.groupId !== 5){ - sigConnection += 'data-disabled="1" '; - } + let requestData = { + signatureIds: signatureIds + }; - if(data.connection){ - sigConnection += 'data-value="' + data.connection.id + '" '; - } - sigConnection += '>'; + $.ajax({ + type: 'POST', + url: Init.path.deleteSignatureData, + data: requestData, + dataType: 'json', + context: { + tableApi: tableApi + } + }).done(function(responseData){ + // promises for all delete rows + let promisesToggleRow = []; + // get deleted rows -> match with response data + let rows = this.tableApi.rows((idx, rowData, node) => responseData.deletedSignatureIds.includes(rowData.id)); + // toggle hide animation for rows one by one... + rows.every(function(rowIdx, tableLoop, rowLoop){ + let row = this; + let rowElement = row.nodes().to$(); - tempData.connection = { - render: sigConnection, - connection: data.connection - }; + rowElement.pulseBackgroundColor('deleted'); - // set description ------------------------------------------------------------------------------------ - let sigDescription = ' 0){ - sigDescription += 'data-pk="' + data.id + '" '; - } - sigDescription += '>' + data.description + ''; + promisesToggleRow.push(toggleTableRow(rowElement)); + }); - tempData.description = sigDescription; + // ... all hide animations done ... + Promise.all(promisesToggleRow).then(payloads => { + // ... get deleted (hide animation done) and delete them + this.tableApi.rows(payloads.map(payload => payload.row)).remove().draw(); - // set created ---------------------------------------------------------------------------------------- - tempData.created = data.created; + // update signature bar + updateScannedSignaturesBar(this.tableApi, {showNotice: false}); - // set updated ---------------------------------------------------------------------------------------- - tempData.updated = data.updated; + // update connection conflicts + checkConnectionConflicts(); - // info icon ------------------------------------------------------------------------------------------ - let infoButton = ''; - if(data.id > 0){ - infoButton = ''; + let notificationOptions = { + type: 'success' + }; + if(payloads.length === 1){ + notificationOptions.title = 'Signature deleted'; + }else{ + notificationOptions.title = payloads.length + ' Signatures deleted '; } - tempData.info = infoButton; + Util.showNotify(notificationOptions); + }); + }).fail(function( jqXHR, status, error){ + let reason = status + ' ' + error; + Util.showNotify({title: jqXHR.status + ': Delete signature', text: reason, type: 'warning'}); + $(document).setProgramStatus('problem'); + }); + }; - // action icon ---------------------------------------------------------------------------------------- + /** + * updates a single cell with new data (e.g. "updated" cell) + * @param tableApi + * @param rowIndex + * @param columnSelector + * @param data + */ + let updateSignatureCell = (tableApi, rowIndex, columnSelector, data) => { + tableApi.cell(rowIndex, columnSelector).data(data); + }; - let actionButton = ''; - tempData.action = { - action: options.action, - button: actionButton - }; + /** + * check connectionIds for conflicts (multiple signatures -> same connection) + * -> show "conflict" icon next to select + */ + let checkConnectionConflicts = () => { + setTimeout(() => { + let connectionSelects = $('.' + config.tableCellConnectionClass + '.editable'); + let connectionIds = []; + let duplicateConnectionIds = []; + let groupedSelects = []; - formattedData.push(tempData); + connectionSelects.each(function(){ + let select = $(this); + let value = parseInt(select.editable('getValue', true) )|| 0; - } + if( + connectionIds.indexOf(value) > -1 && + duplicateConnectionIds.indexOf(value) === -1 + ){ + // duplicate found + duplicateConnectionIds.push(value); + } - } + if(groupedSelects[value] !== undefined){ + groupedSelects[value].push(select[0]); + }else{ + groupedSelects[value] = [select[0]]; + } + + connectionIds.push(value); + }); - return formattedData; + // update "conflict" icon next to select label for connectionIds + connectionSelects.each(function(){ + let select = $(this); + let value = parseInt(select.editable('getValue', true) )|| 0; + let conflictIcon = select.find('.fa-exclamation-triangle'); + if( + duplicateConnectionIds.indexOf(value) > -1 && + groupedSelects[value].indexOf(select[0]) > -1 + ){ + conflictIcon.removeClass('hide'); + }else{ + conflictIcon.addClass('hide'); + } + }); + }, 200); }; /** - * get all rows of a table - * @param tableApi - * @returns {*} + * get group label by groupId + * @param groupId + * @returns {string} */ - let getRows = tableApi => { - let rows = tableApi.rows(); - return rows; + let getGroupLabelById = (groupId) => { + let options = config.signatureGroupsLabels.filter(option => option.value === groupId); + return options.length ? options[0].text : ''; }; /** - * get all selected rows of a table + * helper function - get cell by columnSelector from same row as cell * @param tableApi + * @param cell + * @param columnSelector * @returns {*} */ - let getSelectedRows = tableApi => { - let selectedRows = tableApi.rows('.selected'); - return selectedRows; + let getNeighboringCell = (tableApi, cell, columnSelector) => { + return tableApi.cell(tableApi.row(cell).index(), columnSelector); }; /** - * check the "delete signature" button. show/hide the button if a signature is selected + * get next cell by columnSelector * @param tableApi + * @param cell + * @param columnSelectors + * @returns {*} */ - let checkDeleteSignaturesButton = tableApi => { - let selectedRows = getSelectedRows(tableApi); - let selectedRowCount = selectedRows.data().length; - let clearButton = tableApi.button('tableTools', 'delete:name').node(); - - if(selectedRowCount > 0){ - let allRows = getRows(tableApi); - let rowCount = allRows.data().length; - - let countText = selectedRowCount; - if(selectedRowCount >= rowCount){ - countText = 'all'; - } - clearButton.find('i+span').text(countText); - - // update clear signatures button text - clearButton.velocity('stop'); - - if( clearButton.is(':hidden') ){ - // show button - clearButton.velocity('transition.expandIn', { - duration: 100 - }); + let searchNextCell = (tableApi, cell, columnSelectors) => { + if(columnSelectors.length){ + // copy selectors -> .shift() modifies the orig array, important! + columnSelectors = columnSelectors.slice(0); + let nextCell = getNeighboringCell(tableApi, cell, columnSelectors.shift()); + let nextCellElement = nextCell.nodes().to$(); + if( nextCellElement.data('editable') ){ + // cell is xEditable field -> skip "disabled" OR check value + let nextCellValue = nextCellElement.editable('getValue', true); + if( + [0, null].includes(nextCellValue) && + !nextCellElement.data('editable').options.disabled + ){ + // xEditable value is empty + return nextCell; + }else{ + // search next cell + return searchNextCell(tableApi, cell, columnSelectors); + } + }else if( nextCell.index().column === tableApi.column(-1).index() ){ + // NO xEditable cell BUT last column (=> action cell) -> OK + return nextCell; }else{ - // highlight button - clearButton.velocity('callout.pulse', { - duration: 200 - }); + console.error('No cell found for activation!'); } }else{ - // hide button - clearButton.velocity('transition.expandOut', { - duration: 100 - }); + // return origin cell + return tableApi.cell(cell); } }; /** - * draw signature table toolbar (add signature button, scan progress bar - * @param moduleElement - * @param mapId - * @param systemData + * make cell active -> focus() + show xEditable + * @param cell */ - let drawSignatureTableNew = (moduleElement, mapId, systemData) => { - // add toolbar action for table ------------------------------------------------------------------------------- - let tableToolbarAction = $('
', { - class: config.tableToolsActionClass - }); - - // create "empty table for new signature - let table = $('', { - class: ['stripe', 'row-border', 'compact', 'nowrap', config.sigTableClass, config.sigTableSecondaryClass].join(' ') - }); - - tableToolbarAction.append(table); - - moduleElement.find('.' + config.moduleHeadClass).after(tableToolbarAction); - - let signatureData = formatSignatureData(systemData, [emptySignatureData], emptySignatureOptions); - let signatureTable = table.dataTable( { - data: signatureData, - paging: false, - info: false, - searching: false, - tabIndex: -1 - } ); - let signatureTableApi = signatureTable.api(); - - setDataTableInstance(mapId, systemData.id, 'secondary', signatureTableApi); - - table.makeEditable(signatureTableApi, systemData); + let activateCell = (cell) => { + let cellElement = cell.nodes().to$(); + // NO xEditable + cellElement.focus(); + + if( cellElement.data('editable') ){ + // cell is xEditable field -> show xEditable form + cellElement.editable('show'); + } }; /** - * Update/set tooltip for an element - * @param element - * @param title + * search neighboring cell (same row) and set "active" -> show editable + * @param tableApi + * @param cell + * @param columnSelectors */ - let updateTooltip = (element, title) => { - $(element).attr('data-container', 'body').attr('title', title.toUpperCase()).tooltip('fixTitle') - .tooltip('setContent'); + let activateNextCell = (tableApi, cell, columnSelectors) => { + let nextCell = searchNextCell(tableApi, cell, columnSelectors); + activateCell(nextCell); + let test; }; /** - * helper function - jump to "next" editable field on save - * @param field - * @param selector - * @returns {*|jQuery|HTMLElement} + * helper function - set 'save' observer for xEditable cell + * -> show "neighboring" xEditable field + * @param tableApi + * @param cell + * @param columnSelectorsAjax - used for Ajax save (edit signature) + * @param columnSelectorsDry - used for dry save (new signature) */ - let getNextEditableField = (field, selector) => { - let nextEditableField = null; - if(selector){ - // search specific sibling - nextEditableField = $(field).closest('td').nextAll(selector).find('.editable'); - }else{ - // get next sibling - nextEditableField = $(field).closest('td').next().find('.editable'); - } - - return $(nextEditableField); + let editableOnSave = (tableApi, cell, columnSelectorsAjax = [], columnSelectorsDry = []) => { + $(cell).on('save', function(e, params){ + if(params.response){ + // send by Ajax + activateNextCell(tableApi, cell, columnSelectorsAjax); + }else{ + // dry save - no request + activateNextCell(tableApi, cell, columnSelectorsDry); + } + }); }; /** - * helper function - get the next editable field in next table column - * @param fields + * helper function - set 'hidden' observer for xEditable cell + * -> set focus() on xEditable field + * @param tableApi + * @param cell */ - let openNextEditDialogOnSave = fields => { - fields.on('save', function(e, params){ - let currentField = $(this); - let nextField = getNextEditableField(currentField); - nextField.editable('show'); - - setTimeout(() => { - // update scanning progressbar if sig "type" has changed AND - // the current field is in the "primary" table (not the "add" new sig row) - if( - $(e.target).hasClass(config.sigTableEditSigGroupSelect) && - $(e.target).parents('.' + config.sigTableClass).hasClass(config.sigTablePrimaryClass) - ){ - currentField.parents('.' + config.moduleClass).updateScannedSignaturesBar({showNotice: true}); - } - }, 200); + let editableOnHidden = (tableApi, cell) => { + $(cell).on('hidden', function(e, reason){ + // re-focus element on close (keyboard navigation) + // 'save' event handles default focus (e.g. open new xEditable) + // 'hide' handles all the rest (experimental) + if(reason !== 'save'){ + this.focus(); + } }); }; /** - * make a table or row editable - * @param tableApi - * @param systemData + * helper function - set 'shown' observer for xEditable type cell + * -> enable Select2 for xEditable form + * @param cell */ - $.fn.makeEditable = function(tableApi, systemData){ - // table element OR row element - let tableElement = $(this); - - // find editable fields - let sigNameFields = tableElement.find('.' + config.sigTableEditSigNameInput); - let sigGroupFields = tableElement.find('.' + config.sigTableEditSigGroupSelect); - let sigTypeFields = tableElement.find('.' + config.sigTableEditSigTypeSelect); - let sigDescriptionFields = tableElement.find('.' + config.sigTableEditSigDescriptionTextarea); - let sigConnectionFields = tableElement.find('.' + config.sigTableEditSigConnectionSelect); - - /** - * add map/system specific data for each editable field in the sig-table - * @param params - * @returns {*} - */ - let modifyFieldParamsOnSend = params => { - params.systemId = systemData.id; - return params; - }; - - // set global xEditable options for all table fields - $.extend($.fn.editable.defaults, { - url: Init.path.saveSignatureData, - dataType: 'json', - mode: 'popup', - container: 'body', - error: function(jqXHR, newValue){ - let reason = ''; - let status = ''; - if(jqXHR.name){ - // save error new sig (mass save) - reason = jqXHR.name; - status = 'Error'; - }else{ - reason = jqXHR.responseJSON.text; - status = jqXHR.status; - } - - Util.showNotify({title: status + ': save signature', text: reason, type: 'error'}); - $(document).setProgramStatus('problem'); - return reason; - } + let editableGroupOnShown = cell => { + $(cell).on('shown', function(e, editable){ + let inputField = editable.input.$input; + inputField.addClass('pf-select2').initSignatureGroupSelect(); }); + }; - - // Input sig name --------------------------------------------------------------------------------------------- - sigNameFields.editable({ - type: 'text', - title: 'signature id', - name: 'name', - emptytext: '? ? ?', - display: function(value) { - // change display value to first 3 letters - $(this).text($.trim( value.substr(0, 3) ).toLowerCase()); - }, - validate: function(value) { - if($.trim(value).length < 3) { - return 'Id is less than min of "3"'; - }else if($.trim(value).length > 10){ - return 'Id is more than max of "10"'; - } - }, - params: modifyFieldParamsOnSend, - success: function(response, newValue){ - if(response){ - let signatureNameField = $(this); - let columnElement = signatureNameField.parents('td'); - let rowElement = signatureNameField.parents('tr'); - let newRowData = response.signatures[0]; - - // update column tooltip - updateTooltip(columnElement, newValue); - - // update "updated" cell - updateSignatureCell(tableApi, rowElement, 7, newRowData.updated); - } + /** + * helper function - set 'save' observer for xEditable group cell + * -> update scanned signature bar + * @param tableApi + * @param cell + */ + let editableGroupOnSave = (tableApi, cell) => { + $(cell).on('save', function(e, params){ + if(params.response){ + // send by Ajax + updateScannedSignaturesBar(tableApi, {showNotice: true}); } }); + }; - - // Select sig group (master) ---------------------------------------------------------------------------------- - sigGroupFields.editable({ - type: 'select', - title: 'group', - name: 'groupId', - emptytext: 'unknown', - onblur: 'submit', - showbuttons: false, - prepend: [{value: '0', text: ''}], - params: modifyFieldParamsOnSend, - source: function(){ - let signatureGroupField = $(this); - let systemTypeId = parseInt( signatureGroupField.attr('data-systemTypeId') ); - - // get all available Signature Types - let availableTypes = config.signatureGroupsLabels; - - return availableTypes; - }, - success: function(response, newValue){ - let signatureGroupField = $(this); - let rowElement = signatureGroupField.parents('tr'); - newValue = parseInt(newValue); - - if(response){ - let newRowData = response.signatures[0]; - - // update "updated" cell - updateSignatureCell(tableApi, rowElement, 7, newRowData.updated); - } - - // find related "type" select (same row) and change options - let signatureTypeField = getNextEditableField(signatureGroupField); - - let systemTypeId = parseInt( signatureGroupField.attr('data-systemTypeId') ); - let areaId = parseInt( signatureGroupField.attr('data-areaid') ); - - let newSelectOptions = getAllSignatureNames(systemData, systemTypeId, areaId, newValue); - signatureTypeField.editable('option', 'source', newSelectOptions); - - if( - newValue > 0 && - newSelectOptions.length > 0 - ){ - signatureTypeField.editable('enable'); - }else{ - signatureTypeField.editable('disable'); - } - - signatureTypeField.editable('setValue', null); - - // find "connection" select (same row) and change "enabled" flag - let signatureConnectionField = getNextEditableField(signatureGroupField, '.' + config.sigTableConnectionClass); - if(newValue === 5){ - // wormhole - signatureConnectionField.editable('enable'); - }else{ - checkConnectionConflicts(); - signatureConnectionField.editable('disable'); - } - - signatureConnectionField.editable('setValue', null); + /** + * helper function - set 'init' observer for xEditable type cell + * -> disable xEditable field if no options available + * @param cell + */ + let editableTypeOnInit = cell => { + $(cell).on('init', function(e, editable){ + if(!editable.options.source().length){ + editableDisable($(this)); } }); + }; + /** + * helper function - set 'shown' observer for xEditable type cell + * -> enable Select2 for xEditable form + * @param cell + */ + let editableTypeOnShown = cell => { + $(cell).on('shown', function(e, editable){ + // destroy possible open popovers (e.g. wormhole types) + $(this).destroyPopover(true); - // Select sig type (slave: depends on sig type) --------------------------------------------------------------- - sigTypeFields.on('init', function(e, editable) { - // check if there are initial options available - let options = editable.input.options.source.bind(e.target)(); - if(options.length <= 0){ - editable.disable(); - } + let inputField = editable.input.$input; + let hasOptGroups = inputField.has('optgroup').length > 0; + inputField.addClass('pf-select2').initSignatureTypeSelect({}, hasOptGroups); }); + }; - sigTypeFields.editable({ - type: 'select', - title: 'type', - name: 'typeId', - emptytext: 'unknown', - onblur: 'submit', - showbuttons: false, - params: modifyFieldParamsOnSend, - display: function(value, sourceData){ - let selected = $.fn.editableutils.itemsByValue(value, sourceData); - if(selected.length && selected[0].text.length){ - $(this).html(FormElement.formatSignatureTypeSelectionData({text: selected[0].text})); - }else{ - $(this).empty(); - } - }, - source: function(){ - let signatureTypeField = $(this); - - let systemTypeId = parseInt( signatureTypeField.attr('data-systemTypeId') ); - let areaId = parseInt( signatureTypeField.attr('data-areaid') ); - let groupId = parseInt( signatureTypeField.attr('data-groupId') ); - let availableSigs = getAllSignatureNames(systemData, systemTypeId, areaId, groupId); - - return availableSigs; - }, - success: function(response, newValue){ - let signatureTypeField = $(this); - let rowElement = signatureTypeField.parents('tr'); - - if(response){ - let newRowData = response.signatures[0]; - // update "updated" cell - updateSignatureCell(tableApi, rowElement, 7, newRowData.updated); - }else{ - // "add new" signature -> set "+" focus for keyboard control - setTimeout(() => { - rowElement.find('.pf-table-action-cell')[0].focus(); - }, 50); - } - } + /** + * helper function - set 'shown' observer for xEditable description cell + * -> change height for "new signature" table wrapper + * @param cell + */ + let editableDescriptionOnShown = cell => { + $(cell).on('shown', function(e, editable){ + $(this).parents('.' + config.tableToolsActionClass).css( 'height', '+=35px' ); }); + }; - // Textarea sig description ----------------------------------------------------------------------------------- - sigDescriptionFields.editable({ - type: 'textarea', - title: 'description', - name: 'description', - emptytext: '', - onblur: 'submit', - mode: 'inline', - showbuttons: false, - inputclass: config.editableDescriptionInputClass, - params: modifyFieldParamsOnSend, - success: function(response, newValue){ - if(response){ - let signatureDescriptionField = $(this); - let rowElement = signatureDescriptionField.parents('tr'); - let newRowData = response.signatures[0]; - - // update "updated" cell - updateSignatureCell(tableApi, rowElement, 7, newRowData.updated); - } - } + /** + * helper function - set 'hidden' observer for xEditable description cell + * -> change height for "new signature" table wrapper + * @param cell + */ + let editableDescriptionOnHidden = cell => { + $(cell).on('hidden', function(e, editable){ + $(this).parents('.' + config.tableToolsActionClass).css( 'height', '-=35px' ); }); + }; - // Select connection (target system) -------------------------------------------------------------------------- - let initCount = 0; - sigConnectionFields.on('init', function(e, editable) { - if(++initCount >= sigConnectionFields.length){ + /** + * helper function - set 'init' observer for xEditable connection cell + * -> set focus() on xEditable field + * @param cell + */ + let editableConnectionOnInit = cell => { + $(cell).on('init', function(e, editable){ + if(editable.value > 0){ + // empty connection selects ON INIT don´t make a difference for conflicts checkConnectionConflicts(); } }); + }; - sigConnectionFields.editable({ - type: 'select', - title: 'system', - name: 'connectionId', - emptytext: 'unknown', - onblur: 'submit', - showbuttons: false, - prepend: [{value: '0', text: ''}], - params: modifyFieldParamsOnSend, - display: function(value, sourceData) { - let selected = $.fn.editableutils.itemsByValue(value, sourceData); - if(selected.length && selected[0].text.length){ - let errorIcon = ' '; - $(this).html(FormElement.formatSignatureConnectionSelectionData({text: selected[0].text})).prepend(errorIcon); - }else{ - $(this).empty() ; - } - }, - source: function(a,b){ - let activeMap = Util.getMapModule().getActiveMap(); - let mapId = activeMap.data('id'); - - let availableConnections = getSignatureConnectionOptions(mapId, systemData); - - return availableConnections; - }, - success: function(response, newValue){ - let signatureConnectionField = $(this); - let rowElement = signatureConnectionField.parents('tr'); - - if(response){ - let newRowData = response.signatures[0]; - - // update "updated" cell - updateSignatureCell(tableApi, rowElement, 7, newRowData.updated); - }else{ - // "add new" signature -> set "+" focus for keyboard control - setTimeout(() => { - rowElement.find('.pf-table-action-cell')[0].focus(); - }, 50); - } - } - }); - - sigGroupFields.on('shown', function(e, editable){ - let inputField = editable.input.$input; - inputField.addClass('pf-select2').initSignatureGroupSelect(); - }); - - sigTypeFields.on('shown', function(e, editable){ - // destroy possible open popovers (e.g. wormhole types) - $(this).destroyPopover(true); - - let inputField = editable.input.$input; - let hasOptGroups = inputField.has('optgroup').length > 0; - inputField.addClass('pf-select2').initSignatureTypeSelect({}, hasOptGroups); - }); - - sigConnectionFields.on('shown', function(e, editable){ + /** + * helper function - set 'shown' observer for xEditable connection cell + * -> enable Select2 for xEditable form + * @param cell + */ + let editableConnectionOnShown = cell => { + $(cell).on('shown', function(e, editable){ let inputField = editable.input.$input; inputField.addClass('pf-select2').initSignatureConnectionSelect(); }); + }; - sigDescriptionFields.on('shown', function(e, editable){ - // enlarge the tools-action container because the tables gets bigger - tableElement.parents('.' + config.tableToolsActionClass).css( 'height', '+=35px' ); - }); - - sigDescriptionFields.on('hidden', function(e, editable){ - // enlarge the tools-action container because the tables gets bigger - tableElement.parents('.' + config.tableToolsActionClass).css( 'height', '-=35px' ); - }); - - sigConnectionFields.on('save', function(e, editable){ + /** + * helper function - set 'save' observer for xEditable connection cell + * -> check connection conflicts + * @param cell + */ + let editableConnectionOnSave = cell => { + $(cell).on('save', function(e, params){ checkConnectionConflicts(); }); + }; - $().add(sigNameFields).add(sigGroupFields).add(sigTypeFields) - .add(sigDescriptionFields).add(sigConnectionFields).on('hidden', function(e, editable) { - // re-focus element on close (keyboard navigation) - this.focus(); - }); + /** + * enable xEditable element + * @param element + */ + let editableEnable = element => { + element.editable('enable'); + // (re)-enable focus on element by tabbing, xEditable removes "tabindex" on 'disable' + element.attr('tabindex', 0); + }; - // open next field dialog ------------------------------------------------------------------------------------- - openNextEditDialogOnSave(sigNameFields); - openNextEditDialogOnSave(sigGroupFields); + /** + * disable xEditable element + * @param element + */ + let editableDisable = element => { + element.editable('disable'); + // xEditable sets 'tabindex = -1' }; /** - * get all connection select options + * get dataTables default options for signature tables * @param mapId * @param systemData - * @returns {Array} + * @returns {{}} */ - let getSignatureConnectionOptions = (mapId, systemData) => { - let map = Map.getMapInstance( mapId ); - let systemId = MapUtil.getSystemId(mapId, systemData.id); - let systemConnections = MapUtil.searchConnectionsBySystems(map, [systemId], 'wh'); - let newSelectOptions = []; - let connectionOptions = []; - - for(let i = 0; i < systemConnections.length; i++){ - let connectionData = MapUtil.getDataByConnection(systemConnections[i]); - - // connectionId is required (must be stored) - if(connectionData.id){ - // check whether "source" or "target" system is relevant for this connection - // -> hint "source" === 'target' --> loop - if(systemData.id !== connectionData.target){ - let targetSystemData = MapUtil.getSystemData(mapId, connectionData.target); - if(targetSystemData){ - // take target... - connectionOptions.push({ - value: connectionData.id, - text: connectionData.targetAlias + ' - ' + targetSystemData.security - }); - } - }else if(systemData.id !== connectionData.source){ - let sourceSystemData = MapUtil.getSystemData(mapId, connectionData.source); - if(sourceSystemData){ - // take source... - connectionOptions.push({ - value: connectionData.id, - text: connectionData.sourceAlias + ' - ' + sourceSystemData.security - }); - } - } - } - } + let getSignatureDataTableDefaults = (mapId, systemData) => { - if(connectionOptions.length > 0){ - newSelectOptions.push({ text: 'System', children: connectionOptions}); - } + /** + * add map/system specific data for each editable field in the sig-table + * @param params + * @returns {*} + */ + let modifyFieldParamsOnSend = params => { + params.systemId = systemData.id; + return params; + }; - return newSelectOptions; - }; + let dataTableDefaults = { + pfMeta: { + 'mapId': mapId, + 'systemId': systemData.id + }, + order: [1, 'asc'], + rowId: rowData => config.sigTableRowIdPrefix + rowData.id, + language: { + emptyTable: 'No signatures added', + info: 'Showing _START_ to _END_ of _TOTAL_ signatures', + infoEmpty: 'Showing 0 to 0 of 0 signatures', + infoFiltered: '( from _MAX_ total)', + lengthMenu: 'Show _MENU_', + zeroRecords: 'No signatures recorded' + }, + columnDefs: [ + { + targets: 0, + name: 'status', + orderable: true, + searchable: false, + title: '', + width: 2, + class: ['text-center'].join(' '), + data: 'updated', + type: 'html', + render: { + _: (cellData, type, rowData, meta) => { + let value = ''; + if(cellData && cellData.character){ + value = Util.getStatusInfoForCharacter(cellData.character, 'class'); + } - /** - * check connectionIds for conflicts (multiple signatures -> same connection) - * -> show "conflict" icon next to select - */ - let checkConnectionConflicts = () => { - setTimeout(() => { - let connectionSelects = $('.' + config.sigTableConnectionClass + ' .editable'); - let connectionIds = []; - let duplicateConnectionIds = []; - let groupedSelects = []; + if(type === 'display'){ + value = ''; + } + return value; + } + } + },{ + targets: 1, + name: 'id', + orderable: true, + searchable: true, + title: 'id', + type: 'string', + width: 15, + class: [config.tableCellFocusClass, config.sigTableEditSigNameInput].join(' '), + data: 'name', + createdCell: function(cell, cellData, rowData, rowIndex, colIndex){ + let tableApi = this.api(); + + updateTooltip(cell, cellData); + + editableOnSave(tableApi, cell, [], ['group:name', 'type:name', 'action:name']); + editableOnHidden(tableApi, cell); + + $(cell).editable($.extend({ + mode: 'popup', + type: 'text', + title: 'signature id', + name: 'name', + pk: rowData.id || null, + emptytext: '? ? ?', + value: cellData, + inputclass: config.editableNameInputClass, + display: function(value){ + // change display value to first 3 letters + $(this).text($.trim( value.substr(0, 3) ).toLowerCase()); + }, + validate: function(value){ + let msg = false; + if($.trim(value).length < 3){ + msg = 'Id is less than min of "3"'; + }else if($.trim(value).length > 10){ + msg = 'Id is more than max of "10"'; + } - connectionSelects.each(function(){ - let select = $(this); - let value = parseInt(select.editable('getValue', true) )|| 0; + if(msg){ + return {newValue: value, msg: msg, field: this}; + } + }, + params: modifyFieldParamsOnSend, + success: function(response, newValue){ + tableApi.cell(cell).data(newValue); + + $(this).pulseBackgroundColor('changed'); + updateTooltip(cell, newValue); + + if(response){ + let newRowData = response.signatures[0]; + updateSignatureCell(tableApi, rowIndex, 'status:name', newRowData.updated); + updateSignatureCell(tableApi, rowIndex, 'updated:name', newRowData.updated.updated); + } + tableApi.draw(); + } + }, editableDefaults)); + } + },{ + targets: 2, + name: 'group', + orderable: true, + searchable: true, + title: 'group', + type: 'string', // required for sort/filter because initial data type is numeric + width: 40, + class: [config.tableCellFocusClass].join(' '), + data: 'groupId', + render: { + sort: getGroupLabelById, + filter: getGroupLabelById + }, + createdCell: function(cell, cellData, rowData, rowIndex, colIndex){ + let tableApi = this.api(); + + editableOnSave(tableApi, cell, ['type:name'], ['type:name', 'action:name']); + editableOnHidden(tableApi, cell); + editableGroupOnShown(cell); + editableGroupOnSave(tableApi, cell); + + $(cell).editable($.extend({ + mode: 'popup', + type: 'select', + title: 'group', + name: 'groupId', + pk: rowData.id || null, + emptytext: 'unknown', + onblur: 'submit', + showbuttons: false, + value: cellData, + prepend: [{value: 0, text: ''}], + params: modifyFieldParamsOnSend, + source: config.signatureGroupsLabels, + display: function(value, sourceData){ + let selected = $.fn.editableutils.itemsByValue(value, sourceData); + if(selected.length && selected[0].value > 0){ + $(this).html(selected[0].text); + }else{ + $(this).empty(); + } + }, + validate: function(value){ + // convert string to int -> important for further processing + // -> on submit record (new signature) validate() is called and no error should be returned + // value should already be integer + if( !Number.isInteger(value) ){ + return {newValue: parseInt(value) || 0, msg: null}; + } + }, + success: function(response, newValue){ + tableApi.cell(cell).data(newValue); - if( - connectionIds.indexOf(value) > -1 && - duplicateConnectionIds.indexOf(value) === -1 - ){ - // duplicate found - duplicateConnectionIds.push(value); - } + $(this).pulseBackgroundColor('changed'); - if(groupedSelects[value] !== undefined){ - groupedSelects[value].push(select[0]); - }else{ - groupedSelects[value] = [select[0]]; - } + if(response){ + let newRowData = response.signatures[0]; + updateSignatureCell(tableApi, rowIndex, 'status:name', newRowData.updated); + updateSignatureCell(tableApi, rowIndex, 'updated:name', newRowData.updated.updated); + } + tableApi.draw(); + + // find related "type" select (same row) and change options + let signatureTypeCell = getNeighboringCell(tableApi, cell, 'type:name'); + let signatureTypeField = signatureTypeCell.nodes().to$(); + + let typeOptions = getAllSignatureNames( + systemData, + systemData.type.id, + Util.getAreaIdBySecurity(systemData.security), + newValue + ); + signatureTypeField.editable('option', 'source', typeOptions); + + if( + newValue > 0 && + typeOptions.length > 0 + ){ + editableEnable(signatureTypeField); + }else{ + editableDisable(signatureTypeField); + } + signatureTypeCell.data(0); + signatureTypeField.editable('setValue', 0); - connectionIds.push(value); - }); - // update "conflict" icon next to select label for connectionIds - connectionSelects.each(function(){ - let select = $(this); - let value = parseInt(select.editable('getValue', true) )|| 0; - let conflictIcon = select.find('.fa-exclamation-triangle'); - if( - duplicateConnectionIds.indexOf(value) > -1 && - groupedSelects[value].indexOf(select[0]) > -1 - ){ - conflictIcon.removeClass('hide'); - }else{ - conflictIcon.addClass('hide'); - } - }); - }, 200); - }; + // find "connection" select (same row) and change "enabled" flag + let signatureConnectionCell = getNeighboringCell(tableApi, cell, 'connection:name'); + let signatureConnectionField = signatureConnectionCell.nodes().to$(); - /** - * get all signature types that can exist for a given system - * -> result is partially cached - * @param systemData - * @param systemTypeId - * @param areaId - * @param groupId - * @returns {Array} - */ - let getAllSignatureNames = (systemData, systemTypeId, areaId, groupId) => { - let newSelectOptions = []; - let cacheKey = [systemTypeId, areaId, groupId].join('_'); - let newSelectOptionsCount = 0; + if(newValue === 5){ + // wormhole + editableEnable(signatureConnectionField); + }else{ + checkConnectionConflicts(); + editableDisable(signatureConnectionField); + } + signatureConnectionCell.data(0); + signatureConnectionField.editable('setValue', 0); + } + }, editableDefaults)); + } + },{ + targets: 3, + name: 'type', + orderable: false, + searchable: false, + title: 'type', + type: 'string', // required for sort/filter because initial data type is numeric + width: 180, + class: [config.tableCellFocusClass].join(' '), + data: 'typeId', + createdCell: function(cell, cellData, rowData, rowIndex, colIndex){ + let tableApi = this.api(); + + editableOnSave(tableApi, cell, ['connection:name'], ['action:name']); + editableOnHidden(tableApi, cell); + editableTypeOnInit(cell); + editableTypeOnShown(cell); + + $(cell).editable($.extend({ + mode: 'popup', + type: 'select', + title: 'type', + name: 'typeId', + pk: rowData.id || null, + emptytext: 'unknown', + onblur: 'submit', + showbuttons: false, + disabled: rowData.groupId <= 0, // initial disabled if groupId not set + value: cellData, + prepend: [{value: 0, text: ''}], + params: modifyFieldParamsOnSend, + source: function(){ + // get current row data (important!) + // -> "rowData" param is not current state, values are "on createCell()" state + let rowData = tableApi.row($(cell).parents('tr')).data(); + + let typeOptions = getAllSignatureNames( + systemData, + systemData.type.id, + Util.getAreaIdBySecurity(systemData.security), + rowData.groupId + ); + return typeOptions; + }, + display: function(value, sourceData){ + let selected = $.fn.editableutils.itemsByValue(value, sourceData); + if(selected.length && selected[0].value > 0){ + $(this).html(FormElement.formatSignatureTypeSelectionData({text: selected[0].text})); + }else{ + $(this).empty(); + } + }, + validate: function(value){ + // convert string to int -> important for further processing + // -> on submit record (new signature) validate() is called and no error should be returned + // value should already be integer + if( !Number.isInteger(value) ){ + return {newValue: parseInt(value) || 0, msg: null}; + } + }, + success: function(response, newValue){ + tableApi.cell(cell).data(newValue); - // check for cached signature names - if(sigNameCache.hasOwnProperty( cacheKey )){ - // cached signatures do not include static WHs! - // -> ".slice(0)" creates copy - newSelectOptions = sigNameCache[cacheKey].slice(0); - newSelectOptionsCount = getOptionsCount('children', newSelectOptions); - }else{ - // get new Options ---------- - // get all possible "static" signature names by the selected groupId - let tempSelectOptions = Util.getAllSignatureNames(systemTypeId, areaId, groupId); + $(this).pulseBackgroundColor('changed'); - // format options into array with objects advantages: keep order, add more options (whs), use optgroup - if(tempSelectOptions){ - let fixSelectOptions = []; - for (let key in tempSelectOptions) { - if ( - key > 0 && - tempSelectOptions.hasOwnProperty(key) - ) { - newSelectOptionsCount++; - fixSelectOptions.push({value: parseInt(key), text: tempSelectOptions[key]}); + if(response){ + let newRowData = response.signatures[0]; + updateSignatureCell(tableApi, rowIndex, 'status:name', newRowData.updated); + updateSignatureCell(tableApi, rowIndex, 'updated:name', newRowData.updated.updated); + } + tableApi.draw(); + } + }, editableDefaults)); } - } - - if(newSelectOptionsCount > 0){ - if(groupId === 5){ - // "wormhole" selected => multiple available - newSelectOptions.push({ text: 'Wandering', children: fixSelectOptions}); - }else{ - newSelectOptions = fixSelectOptions; + },{ + targets: 4, + name: 'description', + orderable: false, + searchable: false, + title: 'description', + class: [config.tableCellFocusClass, config.tableCellActionClass].join(' '), + type: 'html', + data: 'description', + defaultContent: '', + createdCell: function(cell, cellData, rowData, rowIndex, colIndex){ + let tableApi = this.api(); + + editableOnSave(tableApi, cell, [], ['action:name']); + editableOnHidden(tableApi, cell); + editableDescriptionOnShown(cell); + editableDescriptionOnHidden(cell); + + $(cell).editable($.extend({ + mode: 'inline', + type: 'textarea', + title: 'description', + name: 'description', + pk: rowData.id || null, + emptytext: '', + onblur: 'submit', + showbuttons: false, + inputclass: config.editableDescriptionInputClass, + emptyclass: config.moduleHeadlineIconClass, + params: modifyFieldParamsOnSend, + success: function(response, newValue){ + tableApi.cell(cell).data(newValue); + + $(this).pulseBackgroundColor('changed'); + + if(response){ + let newRowData = response.signatures[0]; + updateSignatureCell(tableApi, rowIndex, 'status:name', newRowData.updated); + updateSignatureCell(tableApi, rowIndex, 'updated:name', newRowData.updated.updated); + } + tableApi.draw(); + } + }, editableDefaults)); } - } - } + },{ + targets: 5, + name: 'connection', + orderable: false, + searchable: false, + title: 'leads to', + type: 'string', // required for sort/filter because initial data type is numeric + className: [config.tableCellFocusClass, config.tableCellConnectionClass].join(' '), + width: 80, + data: 'connection.id', + defaultContent: 0, + createdCell: function(cell, cellData, rowData, rowIndex, colIndex){ + let tableApi = this.api(); + + editableOnSave(tableApi, cell, [], ['action:name']); + editableOnHidden(tableApi, cell); + editableConnectionOnInit(cell); + editableConnectionOnShown(cell); + editableConnectionOnSave(cell); + + $(cell).editable($.extend({ + mode: 'popup', + type: 'select', + title: 'system', + name: 'connectionId', + pk: rowData.id || null, + emptytext: 'unknown', + onblur: 'submit', + showbuttons: false, + disabled: rowData.groupId !== 5, // initial disabled if NON wh + value: cellData, + prepend: [{value: 0, text: ''}], + params: modifyFieldParamsOnSend, + source: function(){ + let activeMap = Util.getMapModule().getActiveMap(); + let mapId = activeMap.data('id'); + let connectionOptions = getSignatureConnectionOptions(mapId, systemData); + return connectionOptions; + }, + display: function(value, sourceData){ + let selected = $.fn.editableutils.itemsByValue(value, sourceData); + if(selected.length && selected[0].value > 0){ + let errorIcon = ' '; + $(this).html(FormElement.formatSignatureConnectionSelectionData({text: selected[0].text})).prepend(errorIcon); + }else{ + $(this).empty() ; + } + }, + validate: function(value, b, c){ + // convert string to int -> important for further processing + // -> on submit record (new signature) validate() is called and no error should be returned + // value should already be integer + if( !Number.isInteger(value) ){ + return {newValue: parseInt(value) || 0, msg: null}; + } + }, + success: function(response, newValue){ + tableApi.cell(cell).data(newValue); - // wormhole (cached signatures) - if( groupId === 5 ){ + $(this).pulseBackgroundColor('changed'); - // add possible frigate holes - let frigateHoles = getFrigateHolesBySystem(areaId); - let frigateWHData = []; - for(let frigKey in frigateHoles){ - if ( - frigKey > 0 && - frigateHoles.hasOwnProperty(frigKey) - ) { - newSelectOptionsCount++; - frigateWHData.push( {value: newSelectOptionsCount, text: frigateHoles[frigKey]} ); + if(response){ + let newRowData = response.signatures[0]; + updateSignatureCell(tableApi, rowIndex, 'status:name', newRowData.updated); + updateSignatureCell(tableApi, rowIndex, 'updated:name', newRowData.updated.updated); + } + tableApi.draw(); + } + }, editableDefaults)); } - } - - if(frigateWHData.length > 0){ - newSelectOptions.push({ text: 'Frigate', children: frigateWHData}); - } + },{ + targets: 6, + name: 'created', + title: 'created', + searchable: false, + width: 80, + className: ['text-right', config.tableCellCounterClass, 'min-screen-d'].join(' '), + data: 'created.created', + defaultContent: '' + },{ + targets: 7, + name: 'updated', + title: 'updated', + searchable: false, + width: 80, + className: ['text-right', config.tableCellCounterClass, 'min-screen-d'].join(' '), + data: 'updated.updated', + defaultContent: '', + createdCell: function(cell, cellData, rowData, rowIndex, colIndex){ + // highlight cell + let diff = Math.floor((new Date()).getTime()) - cellData * 1000; - // add possible incoming holes - let incomingWHData = []; - for(let incomingKey in Init.incomingWormholes){ - if ( - incomingKey > 0 && - Init.incomingWormholes.hasOwnProperty(incomingKey) - ) { - newSelectOptionsCount++; - incomingWHData.push( {value: newSelectOptionsCount, text: Init.incomingWormholes[incomingKey]} ); + // age > 1 day + if( diff > 86400000){ + $(cell).addClass('txt-color txt-color-warning'); + } } - } - - if(incomingWHData.length > 0){ - newSelectOptions.push({ text: 'Incoming', children: incomingWHData}); - } - }else{ - // groups without "children" (optgroup) should be sorted by "value" - // this is completely optional and not necessary! - newSelectOptions = newSelectOptions.sortBy('text'); - } - - // update cache (clone array) -> further manipulation to this array, should not be cached - sigNameCache[cacheKey] = newSelectOptions.slice(0); - } - - // static wormholes (DO NOT CACHE) (not all C2 WHs have the same statics,... - if( groupId === 5 ){ - // add static WH(s) for this system - if(systemData.statics){ - let staticWHData = []; - for(let wormholeName of systemData.statics){ - let wormholeData = Object.assign({}, Init.wormholes[wormholeName]); - let staticWHName = wormholeData.name + ' - ' + wormholeData.security; - - newSelectOptionsCount++; - staticWHData.push( {value: newSelectOptionsCount, text: staticWHName} ); - } - - if(staticWHData.length > 0){ - newSelectOptions.unshift({ text: 'Static', children: staticWHData}); - } - } - } - - // if selectOptions available -> add "empty" option as well - if(newSelectOptionsCount > 0){ - newSelectOptions.unshift({ value: '0', text: ''}); - } - - return newSelectOptions; - }; - - /** - * get all signature types that can exist for a system (jQuery obj) - * @param systemElement - * @param groupId - * @returns {Array} - */ - let getAllSignatureNamesBySystem = (systemElement, groupId) => { - let systemTypeId = systemElement.data('typeId'); - let areaId = Util.getAreaIdBySecurity(systemElement.data('security')); - let systemData = {statics: systemElement.data('statics')}; - return getAllSignatureNames(systemData, systemTypeId, areaId, groupId); - }; - - /** - * sum up all options in nested (or not nested) object of objects - * -> e.g. - * { - * first: { - * count = [4, 2, 1] - * test = { ... } - * }, - * second: { - * count = [12, 13] - * test = { ... } - * } - * } - * -> getOptionsCount('count', obj) => 5; - * @param key - * @param obj - * @returns {number} - */ - let getOptionsCount = (key, obj) => { - let sum = 0; - for(let entry of obj){ - if(entry.hasOwnProperty(key)){ - sum += entry[key].length; - }else{ - sum++; - } - } - return sum; - }; + },{ + targets: 8, + name: 'info', + title: '', + orderable: false, + searchable: false, + width: 10, + class: ['text-center', Util.config.helpClass , Util.config.popoverTriggerClass].join(' '), + data: 'created.created', + defaultContent: '', + render: { + display: (cellData, type, rowData, meta) => { + if(cellData){ + return ''; + } + } + } + },{ + targets: 9, + name: 'action', + title: '', + orderable: false, + searchable: false, + width: 10, + class: ['text-center', config.tableCellFocusClass, config.tableCellActionClass].join(' '), + data: null, + render: { + display: (cellData, type, rowData, meta) => { + let val = ''; + if(rowData.id){ + val = ''; + } + return val; + } + }, + createdCell: function(cell, cellData, rowData, rowIndex, colIndex){ + let tableApi = this.api(); + + if(rowData.id){ + // delete signature ----------------------------------------------------------------------- + let confirmationSettings = { + container: 'body', + placement: 'left', + btnCancelClass: 'btn btn-sm btn-default', + btnCancelLabel: 'cancel', + btnCancelIcon: 'fas fa-fw fa-ban', + title: 'delete signature', + btnOkClass: 'btn btn-sm btn-danger', + btnOkLabel: 'delete', + btnOkIcon: 'fas fa-fw fa-times', + onConfirm: function(e, target){ + // top scroll to top + e.preventDefault(); - /** - * get possible frig holes that could spawn in a system - * filtered by "systemTypeId" - * @param systemTypeId - * @returns {{}} - */ - let getFrigateHolesBySystem = systemTypeId => { - let signatureNames = {}; + let deleteRowElement = $(target).parents('tr'); + let row = tableApi.rows(deleteRowElement); + deleteSignatures(tableApi, row); + } + }; - if(Init.frigateWormholes[systemTypeId]){ - signatureNames = Init.frigateWormholes[systemTypeId]; - } + $(cell).confirmation(confirmationSettings); + }else{ + // add new signature ---------------------------------------------------------------------- + $(cell).on('click', {tableApi: tableApi, rowIndex: rowIndex}, function(e){ + e.stopPropagation(); + e.preventDefault(); + + let secondaryTableApi = e.data.tableApi; + let metaData = getTableMetaData(secondaryTableApi); + let primaryTableApi = getDataTableInstance(metaData.mapId, metaData.systemId, 'primary'); + + let formFields = secondaryTableApi.row(e.data.rowIndex).nodes().to$().find('.editable'); + + // the "hide" makes sure to take care about open editable fields (e.g. description) + // otherwise, changes would not be submitted in this field (not necessary) + formFields.editable('hide'); + + // submit all xEditable fields + formFields.editable('submit', { + url: Init.path.saveSignatureData, + ajaxOptions: { + dataType: 'json', //assuming json response + beforeSend: function(xhr, settings){ + lockTable(primaryTableApi); + }, + context: { + primaryTableApi: primaryTableApi, + secondaryTableApi: secondaryTableApi, + } + }, + data: { + systemId: metaData.systemId, // additional data to submit + pk: 0 // new data no primary key + }, + error: editableDefaults.error, // user default xEditable error function + success: function(data, editableConfig){ + let context = editableConfig.ajaxOptions.context; + let primaryTableApi = context.primaryTableApi; + let secondaryTableApi = context.secondaryTableApi; + + unlockTable(primaryTableApi); + + let signatureData = data.signatures[0]; + let row = addSignatureRow(primaryTableApi, signatureData); + if(row){ + primaryTableApi.draw(); + // highlight + row.nodes().to$().pulseBackgroundColor('added'); + + // prepare "add signature" table for new entry -> reset ------------------- + secondaryTableApi.clear().row.add($.extend(true, {}, emptySignatureData)).draw(); + + Util.showNotify({ + title: 'Signature added', + text: 'Name: ' + signatureData.name, + type: 'success' + }); + + // update signature bar + updateScannedSignaturesBar(primaryTableApi, {showNotice: true}); + } + } + }); + }); + } + } + } + ], + createdRow: function(row, data, dataIndex){ + // enable tabbing for interactive cells + let focusCells = $(row).find('.' + config.tableCellFocusClass + ':not(.editable-disabled)').attr('tabindex', 0); + // enable "return" key -> click() + focusCells.on('keydown', function(e){ + e.stopPropagation(); + if(e.which === 13){ + $(this).trigger('click'); + } + }); + } + }; - return signatureNames; + return dataTableDefaults; }; /** - * deletes signature rows from signature table + * key (arrow) navigation inside a table -> set cell focus() * @param tableApi - * @param rows + * @param e */ - let deleteSignatures = (tableApi, rows) => { - let deletedSignatures = 0; - - let moduleElement = $('.' + config.moduleTypeClass); - let data = rows.data(); - let rowElements = rows.nodes().to$(); - let signatureCount = data.length; - - let signatureIds = []; - for(let i = 0; i < data.length; i++){ - signatureIds.push(data[i].id); + let keyNavigation = (tableApi, e) => { + let offset = [0, 0]; + if(e.keyCode === 37){ + offset = [-1, 0]; + }else if(e.keyCode === 38){ + offset = [0, -1]; + }else if(e.keyCode === 39){ + offset = [1, 0]; + }else if(e.keyCode === 40){ + offset = [0, 1]; } - let requestData = { - signatureIds: signatureIds - }; - - // animation callback function - let removeCallback = function(rowElement){ - // delete signature row - tableApi.row(rowElement).remove().draw(); + if(offset !== [0, 0]){ + /** + * check if cellIndex is out of table range + * @param tableApi + * @param cellIndex + * @returns {*} + */ + let checkIndex = (tableApi, cellIndex) => { + if(cellIndex[0] < 0){ + cellIndex[0] = tableApi.column(':last').nodes().to$().index(); // last column + } + if(cellIndex[0] > tableApi.column(':last').nodes().to$().index()){ + cellIndex[0] = 0; // first column + } + if(cellIndex[1] < 0){ + cellIndex[1] = tableApi.row(':last').nodes().to$().index(); // last row + } + if(cellIndex[1] > tableApi.row(':last').nodes().to$().index()){ + cellIndex[1] = 0; // first row + } + return cellIndex; + }; - deletedSignatures++; + /** + * recursive search next cell + * @param tableApi + * @param cellOrigin + * @param offset + * @returns {*} + */ + let searchCell = (tableApi, cellOrigin, offset) => { + // we need to get the current cell indexes from DOM (not internal DataTables indexes) + let nodeOrig = cellOrigin.nodes(); + let colIndex = nodeOrig.to$().index(); + let rowIndex = nodeOrig.to$().closest('tr').index(); + let currentCellIndex = [colIndex, rowIndex]; + let newCellIndex = currentCellIndex.map((index, i) => index + offset[i]); + // check if cell index is inside table dimensions + newCellIndex = checkIndex(tableApi, newCellIndex); + + //let cell = tableApi.cell(newCellIndex[1], newCellIndex[0]); + let cell = tableApi.cell(':eq(' + newCellIndex[1] + ')', ':eq(' + newCellIndex[0] + ')'); + let node = cell.node(); - if(deletedSignatures === signatureCount){ - // all animations finished + if( + !node.hasAttribute('tabindex') || + parseInt(node.getAttribute('tabindex')) < 0 + ){ + // cell can not be focused -> search next + cell = searchCell(tableApi, cell, offset); + } + return cell; + }; - // update signature bar - moduleElement.updateScannedSignaturesBar({showNotice: false}); + let cell = searchCell(tableApi, tableApi.cell(e.target), offset); + cell.node().focus(); + } + }; - // update connection conflicts - checkConnectionConflicts(); + /** + * draw signature table toolbar (add signature button, scan progress bar + * @param moduleElement + * @param mapId + * @param systemData + */ + let drawSignatureTableNew = (moduleElement, mapId, systemData) => { + let secondaryTableContainer = $('
', { + class: config.tableToolsActionClass + }); - Util.showNotify({title: 'Signature deleted', text: signatureCount + ' deleted', type: 'success'}); - } - }; + // create "empty table for new signature + let table = $('
', { + id: getTableId(mapId, systemData.id, 'secondary'), + class: ['stripe', 'row-border', 'compact', 'nowrap', config.sigTableClass, config.sigTableSecondaryClass].join(' ') + }); - $.ajax({ - type: 'POST', - url: Init.path.deleteSignatureData, - data: requestData, - dataType: 'json' - }).done(function(data){ + secondaryTableContainer.append(table); - for(let j = 0; j < rowElements.length; j++){ - // removeRow - $(rowElements[j]).toggleTableRow(removeCallback); - } + moduleElement.find('.' + config.moduleHeadClass).after(secondaryTableContainer); - }).fail(function( jqXHR, status, error) { - let reason = status + ' ' + error; - Util.showNotify({title: jqXHR.status + ': Delete signature', text: reason, type: 'warning'}); - $(document).setProgramStatus('problem'); - }); - }; + let dataTableOptions = { + paging: false, + info: false, + searching: false, + tabIndex: -1, + data: [$.extend(true, {}, emptySignatureData)], + initComplete: function (settings, json){ + let tableApi = this.api(); - /** - * adds a new row to signature Table - * @param signatureTableApi - * @param systemData - * @param signatureData - * @param animate - * @returns {*} - */ - let addSignatureRow = (signatureTableApi, systemData, signatureData, animate) => { - let newRowElement = null; - if(signatureTableApi){ - let newSignatureData = formatSignatureData(systemData, [signatureData], fullSignatureOptions); - let newRowNode = signatureTableApi.row.add(newSignatureData.shift()).draw().nodes(); - newRowElement = newRowNode.to$(); - - if(animate === true){ - newRowElement.hide(); - newRowElement.toggleTableRow(newRowElement => { - // make new row editable - newRowElement.makeEditable(signatureTableApi, systemData); - - // update scan progress bar - newRowElement.parents('.' + config.moduleClass).updateScannedSignaturesBar({showNotice: true}); + $(this).on('keyup', 'td', {tableApi: tableApi}, function(e){ + keyNavigation(tableApi, e); }); - }else{ - newRowElement.makeEditable(signatureTableApi, systemData); } - } - - return newRowElement; - }; - - /** - * show/hides a table tag - * @param callback - */ - $.fn.toggleTableRow = function(callback){ - let rowElement = $(this); - let cellElements = rowElement.children('td'); - let duration = 100; - - // wrap each
into a container (for better animation performance) - // slideUp new wrapper divs - if(rowElement.is(':visible')){ - // hide row - - // stop sig counter by adding a stopClass to each , remove padding - cellElements.addClass('stopCounter') - .velocity({ - paddingTop: 0, - paddingBottom: 0 - },{ - duration: duration - }).wrapInner('
') - .children() - .css({ - 'willChange': 'height' - }).velocity('slideUp', { - duration: duration, - complete: function(animationElements){ - // remove wrapper - $(animationElements).children().unwrap(); - - if(callback !== undefined){ - callback(rowElement); - } - } - }); - }else{ - // show row + }; - // remove padding on "hidden" cells for smother animation - cellElements.css({ - 'padding-top': 0, - 'padding-bottom': 0, - 'willChange': 'padding-top, padding-top, height' - }); + $.extend(true, dataTableOptions, getSignatureDataTableDefaults(mapId, systemData)); - // add hidden wrapper for ea - cellElements.wrapInner($('
').hide()); - - // show row for padding animation - rowElement.show(); - - cellElements.velocity({ - paddingTop: '4px', - paddingBottom: '4px' - },{ - duration: duration, - queue: false, - complete: function(){ - // animate
wrapper - cellElements.children() - .css({ - 'willChange': 'height' - }).velocity('slideDown', { - duration: duration, - complete: function(animationElements){ - // remove wrapper - for(let i = 0; i < animationElements.length; i++){ - let currentWrapper = $(animationElements[i]); - if(currentWrapper.children().length > 0){ - currentWrapper.children().unwrap(); - }else{ - currentWrapper.parent().html( currentWrapper.html() ); - } - } + let tableApi = table.DataTable(dataTableOptions); - if(callback !== undefined){ - callback(rowElement); - } - } - }); - } - }); - } + // "Responsive" dataTables plugin did not load automatic (because table is invisible onInit) + // -> manually start "Responsive" extension -> see default dataTable setting for config e.g. breakpoints + new $.fn.dataTable.Responsive(tableApi); }; - /** - * get unique column data from column object for select filter options - * @param column - * @returns {{}} + * filter table "group" column + * @param tableApi + * @param newValue + * @param sourceOptions */ - /* currently not needed but could be helpful one day - let getColumnTableDataForFilter = column => { - // get all available options from column - let source = {}; - column.data().unique().sort((a,b) => { - // sort alphabetically - let valA = a.filter.toLowerCase(); - let valB = b.filter.toLowerCase(); - - if(valA < valB) return -1; - if(valA > valB) return 1; - return 0; - }).each(callData => { - if(callData.filter){ - source[callData.filter] = callData.filter; - } - }); - - // add empty option - source[0] = ''; - - return source; - };*/ - let searchGroupColumn = (tableApi, newValue, sourceOptions) => { let column = tableApi.column('group:name'); let pattern = ''; if(newValue.length <= sourceOptions.length){ // all options selected + "prepend" option - pattern = newValue.map(val => val !== '0' ? $.fn.dataTable.util.escapeRegex(val) : '^$').join('|'); + let selected = $.fn.editableutils.itemsByValue(newValue, sourceOptions); + + pattern = selected.map(option => option.value !== 0 ? $.fn.dataTable.util.escapeRegex(option.text) : '^$').join('|'); } column.search(pattern, true, false).draw(); }; @@ -1878,29 +1884,22 @@ define([ let promiseStore = MapUtil.getLocaleData('character', Util.getCurrentCharacterId()); promiseStore.then(data => { let filterButton = tableApi.button('tableTools', 'filterGroup:name').node(); - let prependOptions = [{value: '0', text: 'unknown'}]; - let sourceOptions = []; + let prependOptions = [{value: 0, text: 'unknown'}]; + let sourceOptions = config.signatureGroupsLabels; let selectedValues = []; - // format group filter options - let groups = Object.assign({}, config.signatureGroupsLabels); - for(let [value, label] of Object.entries(groups)){ - if(label.length){ - sourceOptions.push({value: label, text: label}); - } - } - if(data && data.filterSignatureGroups && data.filterSignatureGroups.length){ // select local stored values selectedValues = data.filterSignatureGroups; }else{ // no default group filter options -> show all - selectedValues = sourceOptions.map(option => option.text); - selectedValues.unshift('0'); + selectedValues = sourceOptions.map(option => option.value); + selectedValues.unshift(0); } filterButton.editable({ mode: 'popup', + container: 'body', type: 'checklist', showbuttons: false, onblur: 'submit', @@ -1913,15 +1912,21 @@ define([ display: function(value, sourceData){ // update filter button label let html = 'group'; - let allSelected = value.length >= (sourceOptions.length + prependOptions.length); + let allSelected = value.length >= sourceData.length; if( !allSelected ){ html += ' (' + value.length + ')'; } $(this).toggleClass('active', !allSelected).html(html); + }, + validate: function(value){ + // convert string to int -> important for further processing + return {newValue: value.map(num => parseInt(num)), msg: null}; } }); - filterButton.on('save', {tableApi: tableApi, sourceOptions: sourceOptions}, function(e, params){ + let allOptions = prependOptions.concat(sourceOptions); + + filterButton.on('save', {tableApi: tableApi, sourceOptions: allOptions}, function(e, params){ // store values local -> IndexDB MapUtil.storeLocaleCharacterData('filterSignatureGroups', params.newValue); @@ -1929,7 +1934,7 @@ define([ }); // set initial search string -> even if table ist currently empty - searchGroupColumn(tableApi, selectedValues, sourceOptions); + searchGroupColumn(tableApi, selectedValues, allOptions); }); }; @@ -1940,8 +1945,8 @@ define([ * @param systemData */ let drawSignatureTable = (moduleElement, mapId, systemData) => { - let table = $('', { + id: getTableId(mapId, systemData.id, 'primary'), class: ['display', 'compact', 'nowrap', config.sigTableClass, config.sigTablePrimaryClass].join(' ') }); @@ -1964,325 +1969,74 @@ define([ name: 'selectAll', className: config.moduleHeadlineIconClass, text: 'select all', - action: function(e, tableApi, node, conf){ - let allRows = getRows(tableApi); - let selectedRows = getSelectedRows(tableApi); - let allRowElements = allRows.nodes().to$(); - - if(allRows.data().length === selectedRows.data().length){ - allRowElements.removeClass('selected'); - }else{ - allRowElements.addClass('selected'); - } - - // check delete button - checkDeleteSignaturesButton(tableApi); - } - }, - { - name: 'delete', - className: [config.moduleHeadlineIconClass, config.sigTableClearButtonClass].join(' '), - text: 'delete (0)', - action: function(e, tableApi, node, conf){ - let selectedRows = getSelectedRows(tableApi); - bootbox.confirm('Delete ' + selectedRows.data().length + ' signature?', function(result){ - if(result){ - deleteSignatures(tableApi, selectedRows); - } - }); - } - } - ] - }, - initComplete: function (settings, json){ - let tableApi = this.api(); - initGroupFilterButton(tableApi); - } - }; - - // create signature table and store the jquery object global for this module - let signatureTable = table.dataTable(dataTableOptions); - let signatureTableApi = signatureTable.api(); - setDataTableInstance(mapId, systemData.id, 'primary', signatureTableApi); - }; - - /** - * setup dataTable options for all signatureTables - * @param systemData - */ - let initSignatureDataTable = systemData => { - - $.extend( true, $.fn.dataTable.defaults, { - pageLength: -1, - lengthMenu: [[5, 10, 25, 50, -1], [5, 10, 25, 50, 'All']], - order: [1, 'asc'], - autoWidth: false, - responsive: { - details: false - }, - language: { - emptyTable: 'No signatures added', - zeroRecords: 'No signatures found', - lengthMenu: 'Show _MENU_ signatures', - info: 'Showing _START_ to _END_ of _TOTAL_ signatures' - }, - columnDefs: [ - { - targets: 0, - name: 'status', - orderable: true, - searchable: false, - title: '', - width: 2, - class: ['text-center', 'min-tablet-l'].join(' '), - data: 'status', - type: 'html', - render: { - _: 'status', - sort: 'status_sort' - } - },{ - targets: 1, - name: 'id', - orderable: true, - searchable: true, - title: 'id', - type: 'html', - width: 15, - data: 'name', - render: { - _: 'render' - }, - createdCell: function(cell, cellData, rowData, rowIndex, colIndex){ - // update column tooltip - updateTooltip(cell, cellData.name); - } - },{ - targets: 2, - name: 'group', - orderable: true, - searchable: true, - title: 'group', - type: 'html', - width: 40, - data: 'group', - render: { - _: 'group', - sort: 'sort', - filter: 'filter' - } - },{ - targets: 3, - name: 'type', - orderable: false, - searchable: false, - title: 'type', - type: 'html', - width: 180, - data: 'type' - },{ - targets: 4, - name: 'description', - orderable: false, - searchable: false, - title: 'description', - type: 'html', - data: 'description' - },{ - targets: 5, - name: 'connection', - orderable: false, - searchable: false, - className: [config.sigTableConnectionClass].join(' '), - title: 'leads to', - type: 'html', - width: 70, - data: 'connection', - render: { - _: 'render' - } - },{ - targets: 6, - name: 'created', - title: 'created', - width: 90, - searchable: false, - className: ['text-right', config.sigTableCounterClass, config.sigTableCreatedCellClass, 'min-tablet-l'].join(' '), - data: 'created', - render: { - _: 'created', - sort: 'created' - }, - createdCell: function(cell, cellData, rowData, rowIndex, colIndex){ - $(cell).initTimestampCounter(); - } - },{ - targets: 7, - name: 'updated', - title: 'updated', - width: 90, - searchable: false, - className: ['text-right', config.sigTableCounterClass, config.sigTableUpdatedCellClass, 'min-tablet-l'].join(' '), - data: 'updated', - render: { - _: 'updated', - sort: 'updated' - }, - createdCell: function(cell, cellData, rowData, rowIndex, colIndex){ - $(cell).initTimestampCounter(); + action: function(e, tableApi, node, conf){ + let allRows = tableApi.rows(); + let selectedRows = getSelectedRows(tableApi); + let allRowElements = allRows.nodes().to$(); - // highlight cell - let diff = Math.floor((new Date()).getTime()) - cellData.updated * 1000; + if(allRows.data().length === selectedRows.data().length){ + allRowElements.removeClass('selected'); + }else{ + allRowElements.addClass('selected'); + } - // age > 1 day - if( diff > 86400000){ - $(cell).addClass('txt-color txt-color-warning'); + // check delete button + checkDeleteSignaturesButton(tableApi); } - } - },{ - targets: 8, - name: 'info', - title: '', - orderable: false, - searchable: false, - width: 10, - class: ['text-center', Util.config.helpClass].join(' '), - data: 'info', - createdCell: function(cell, cellData, rowData, rowIndex, colIndex){ - if(rowData.id > 0){ - let tooltipData = { - created: rowData.created, - updated: rowData.updated - }; - - $(cell).addCharacterInfoTooltip( tooltipData ); + }, + { + name: 'delete', + className: [config.moduleHeadlineIconClass, config.sigTableClearButtonClass].join(' '), + text: 'delete (0)', + action: function(e, tableApi, node, conf){ + let selectedRows = getSelectedRows(tableApi); + bootbox.confirm('Delete ' + selectedRows.data().length + ' signature?', function(result){ + if(result){ + deleteSignatures(tableApi, selectedRows); + } + }); } } - },{ - targets: 9, - name: 'action', - title: '', - orderable: false, - searchable: false, - width: 10, - class: ['text-center', config.sigTableActionCellClass].join(' '), - data: 'action', - render: { - _: 'button', - sort: 'action' - }, - createdCell: function(cell, cellData, rowData, rowIndex, colIndex){ - let tempTableElement = this; - let rowElement = $(cell).parents('tr'); - - $(cell).attr('tabindex', 0).on('keydown', function(e){ - e.stopPropagation(); - if(e.which === 13){ - $(this).trigger('click'); - } - }); - - switch(cellData.action){ - case 'add': - // add new signature ------------------------------------------------------------------ - $(cell).on('click', function(e) { - e.stopPropagation(); - e.preventDefault(); - - // submit all fields within a table row - let formFields = rowElement.find('.editable'); - - // get the current "primary table" for insert row on ajax callback - // -> important: in case of long response, target table might have changed... - let moduleElement = $(e.target).parents('.' + config.moduleClass); - let primaryTable = moduleElement.find('.' + config.sigTablePrimaryClass); - let secondaryTable = moduleElement.find('.' + config.sigTableSecondaryClass); - - // the "hide" makes sure to take care about open editable fields (e.g. description) - // otherwise, changes would not be submitted in this field (not necessary) - formFields.editable('hide'); - - // submit all xEditable fields - formFields.editable('submit', { - url: Init.path.saveSignatureData, - ajaxOptions: { - dataType: 'json', //assuming json response - beforeSend: function( xhr, settings ){ - lockSignatureTable(); - }, - context: { - primaryTable: primaryTable, - secondaryTable: secondaryTable - } - }, - data: { - systemId: systemData.id, // additional data to submit - pk: 0 // new data no primary key - }, - error: $.fn.editable.defaults.error, // user default xEditable error function - success: function (data, editableConfig) { - let context = editableConfig.ajaxOptions.context; - let primaryTableApi = context.primaryTable.DataTable(); - let secondaryTableApi = context.secondaryTable.DataTable(); - - unlockSignatureTable(false); - - let newRowElement = addSignatureRow(primaryTableApi, systemData, data.signatures[0], true); + ] + }, + initComplete: function (settings, json){ + let tableApi = this.api(); - if(newRowElement){ - // highlight - newRowElement.pulseBackgroundColor('added'); + initGroupFilterButton(tableApi); - // prepare "add signature" table for new entry -> reset ------------------- - let signatureData = formatSignatureData(systemData, [emptySignatureData], emptySignatureOptions); - let newAddRowElement = secondaryTableApi.clear().row.add(signatureData.shift()).draw().nodes(); + $(this).on('keyup', 'td', {tableApi: tableApi}, function(e){ + keyNavigation(tableApi, e); + }); - newAddRowElement.to$().makeEditable(secondaryTableApi, systemData); + // init update counter for timestamp columns + // mark as init + this.attr('data-counter', 'init'); + let refreshIntervalId = window.setInterval(() => { + tableApi.cells(null, ['created:name', 'updated:name']).every(function(rowIndex, colIndex, tableLoopCount, cellLoopCount){ + let cell = this; + let node = cell.node(); + let data = cell.data(); + if(data && Number.isInteger(data) && !node.classList.contains('stopCounter')){ + // timestamp expected int > 0 + let date = new Date(data * 1000); + Counter.updateDateDiff( cell.nodes().to$(), date); + } + }); + }, 500); + this.data('interval', refreshIntervalId); + } + }; - Util.showNotify({ - title: 'Signature added', - text: 'Name: ' + data.name, - type: 'success' - }); - } - } - }); - }); - break; - case 'delete': - // delete signature ------------------------------------------------------------------- - let confirmationSettings = { - container: 'body', - placement: 'left', - btnCancelClass: 'btn btn-sm btn-default', - btnCancelLabel: 'cancel', - btnCancelIcon: 'fas fa-fw fa-ban', - title: 'delete signature', - btnOkClass: 'btn btn-sm btn-danger', - btnOkLabel: 'delete', - btnOkIcon: 'fas fa-fw fa-times', - onConfirm: function(e, target){ - // top scroll to top - e.preventDefault(); - - let tableApi = tempTableElement.DataTable(); - - let deleteRowElement = $(target).parents('tr'); - let row = tableApi.rows(deleteRowElement); - deleteSignatures(tableApi, row); - } - }; + $.extend(true, dataTableOptions, getSignatureDataTableDefaults(mapId, systemData)); - // init confirmation dialog - $(cell).confirmation(confirmationSettings); + let tableApi = table.DataTable(dataTableOptions); - break; - } + // "Responsive" dataTables plugin did not load automatic (because table is invisible onInit) + // -> manually start "Responsive" extension -> see default dataTable setting for config e.g. breakpoints + new $.fn.dataTable.Responsive(tableApi); - } - } - ] - }); + // lock table until module is fully rendered + lockTable(tableApi); }; /** @@ -2290,18 +2044,69 @@ define([ * @param moduleElement */ let focusNewSignatureEditableField = moduleElement => { - let secondaryTable = moduleElement.find('.' + config.sigTableSecondaryClass); - secondaryTable.find('.' + config.sigTableEditSigNameInput).editable('show'); + moduleElement.find('.' + config.sigTableSecondaryClass) + .find('td.' + config.sigTableEditSigNameInput).editable('show'); + }; + + /** + * get all selected rows of a table + * @param tableApi + * @returns {*} + */ + let getSelectedRows = tableApi => { + return tableApi.rows('.selected'); + }; + + /** + * check the "delete signature" button. show/hide the button if a signature is selected + * @param tableApi + */ + let checkDeleteSignaturesButton = tableApi => { + let selectedRows = getSelectedRows(tableApi); + let selectedRowCount = selectedRows.data().length; + let clearButton = tableApi.button('tableTools', 'delete:name').node(); + + if(selectedRowCount > 0){ + let allRows = tableApi.rows(); + let rowCount = allRows.data().length; + + let countText = selectedRowCount; + if(selectedRowCount >= rowCount){ + countText = 'all'; + } + clearButton.find('i+span').text(countText); + + // update clear signatures button text + clearButton.velocity('stop'); + + if( clearButton.is(':hidden') ){ + // show button + clearButton.velocity('transition.expandIn', { + duration: 100 + }); + }else{ + // highlight button + clearButton.velocity('callout.pulse', { + duration: 200 + }); + } + }else{ + // hide button + clearButton.velocity('transition.expandOut', { + duration: 100 + }); + } }; /** * set module observer and look for relevant signature data to update * @param moduleElement + * @param mapId * @param systemData */ - let setModuleObserver = (moduleElement, systemData) => { + let setModuleObserver = (moduleElement, mapId, systemData) => { let primaryTable = moduleElement.find('.' + config.sigTablePrimaryClass); - let primaryTableApi = getDataTableInstanceByModuleElement(moduleElement, 'primary'); + let primaryTableApi = getDataTableInstance(mapId, systemData.id, 'primary'); // add signature toggle --------------------------------------------------------------------------------------- let toggleAddSignature = (show = 'auto') => { @@ -2345,23 +2150,32 @@ define([ }); // signature reader dialog ------------------------------------------------------------------------------------ - moduleElement.find('.' + config.moduleHeadlineIconReaderClass).on('click', function(e) { + moduleElement.find('.' + config.moduleHeadlineIconReaderClass).on('click', function(e){ moduleElement.showSignatureReaderDialog(systemData); }); // "lazy update" toggle --------------------------------------------------------------------------------------- - moduleElement.find('.' + config.moduleHeadlineIconLazyClass).on('click', function(e) { + moduleElement.find('.' + config.moduleHeadlineIconLazyClass).on('click', function(e){ let button = $(this); button.toggleClass('active'); }); // set multi row select --------------------------------------------------------------------------------------- - primaryTable.on('click', 'tr', {tableApi: primaryTableApi}, function(e){ - if(e.ctrlKey) { - $(this).toggleClass('selected'); + primaryTable.on('mousedown', 'td', {tableApi: primaryTableApi}, function(e){ + if(e.ctrlKey){ + e.preventDefault(); + e.stopPropagation(); + // xEditable field should not open -> on 'click' + // -> therefore disable "pointer-events" on "td" for some ms -> 'click' event is not triggered + $(this).css('pointer-events', 'none'); + $(e.target.parentNode).toggleClass('selected'); // check delete button checkDeleteSignaturesButton(e.data.tableApi); + + setTimeout(() => { + $(this).css('pointer-events', 'auto'); + }, 250); } }); @@ -2372,25 +2186,15 @@ define([ checkDeleteSignaturesButton(tableApi); }); - // destroy dataTables event ----------------------------------------------------------------------------------- - primaryTable.on('destroy.dt', function(){ - $(this).destroyTimestampCounter(); - }); - primaryTableApi.on('destroy.dt', function(){ - $(this).destroyTimestampCounter(); - }); - // event listener for global "paste" signatures into the page ------------------------------------------------- - moduleElement.on('pf:updateSystemSignatureModuleByClipboard', function(e, clipboard){ - // check "lazy update" toggle button + moduleElement.on('pf:updateSystemSignatureModuleByClipboard', {tableApi: primaryTableApi}, function(e, clipboard){ let signatureOptions = { deleteOld: moduleElement.find('.' + config.moduleHeadlineIconLazyClass).hasClass('active') ? 1 : 0 }; - - $(this).updateSignatureTableByClipboard(systemData, clipboard, signatureOptions); + updateSignatureTableByClipboard(e.data.tableApi, systemData, clipboard, signatureOptions); }); - // signature cell - "type" popover ---------------------------------------------------------------------------- + // signature column - "type" popover -------------------------------------------------------------------------- moduleElement.find('.' + config.sigTableClass).hoverIntent({ over: function(e){ let staticWormholeElement = $(this); @@ -2409,6 +2213,206 @@ define([ }, selector: '.editable-click:not(.editable-open) span[class^="pf-system-sec-"]' }); + + // signature column - "info" popover -------------------------------------------------------------------------- + moduleElement.find('.' + config.sigTablePrimaryClass).hoverIntent({ + over: function(e){ + let cellElement = $(this); + let rowData = primaryTableApi.row(cellElement.parents('tr')).data(); + cellElement.addCharacterInfoTooltip(rowData, { + trigger: 'manual', + placement: 'top', + show: true + }); + }, + out: function(e){ + $(this).destroyPopover(); + }, + selector: 'td.' + Util.config.helpClass + }); + }; + + /** + * add new row to signature table + * @param tableApi + * @param signatureData + * @returns {*} + */ + let addSignatureRow = (tableApi, signatureData) => { + let row = null; + if(tableApi){ + row = tableApi.row.add(signatureData); + } + return row; + }; + + /** + * update signature table with new signatures + * -> add/update/delete rows + * @param tableApi + * @param signaturesDataOrig + * @param deleteOutdatedSignatures + */ + let updateSignatureTable = (tableApi, signaturesDataOrig, deleteOutdatedSignatures = false) => { + if(isLockedTable(tableApi)) return; + + // disable tableApi until update finished; + lockTable(tableApi); + + // clone signature array because of further manipulation + let signaturesData = $.extend([], signaturesDataOrig); + + let rowIdsExist = []; + + let promisesAdded = []; + let promisesChanged = []; + let promisesDeleted = []; + + let allRows = tableApi.rows(); + let updateEmptyTable = !allRows.any(); + + let rowUpdate = function(rowIndex, colIndex, tableLoopCount, cellLoopCount){ + let cell = this; + let node = cell.nodes().to$(); + if(node.data('editable')){ + // xEditable is active -> should always be active! + // set new value even if no change -> e.g. render selected Ids as text labels + let oldValue = node.editable('getValue', true); + node.editable('setValue', cell.data()); + + if(oldValue !== cell.data()){ + // highlight cell on data change + node.pulseBackgroundColor('changed'); + } + }else if(node.hasClass(config.tableCellCounterClass)){ + // "updated" timestamp always changed + node.pulseBackgroundColor('changed'); + } + }; + + // update signatures ------------------------------------------------------------------------------------------ + allRows.every(function(rowIdx, tableLoop, rowLoop){ + let row = this; + let rowData = row.data(); + let rowElement = row.nodes().to$(); + + for(let i = 0; i < signaturesData.length; i++){ + if(signaturesData[i].id === rowData.id){ + let rowId = row.id(true); + + // check if row was updated + if(signaturesData[i].updated.updated > rowData.updated.updated){ + // set new row data -> draw() is executed after all changes made + row.data(signaturesData[i]); + + // bind new signature dataTable data() -> to xEditable inputs + row.cells(row.id(true), ['id:name', 'group:name', 'type:name', 'description:name', 'connection:name', 'updated:name']) + .every(rowUpdate); + + promisesChanged.push(new Promise((resolve, reject) => { + resolve({action: 'changed', rowId: rowId}); + })); + } + + rowIdsExist.push(rowId); + + // remove signature data -> all left signatures will be added + signaturesData.splice(i, 1); + i--; + } + } + }); + + // delete signatures ------------------------------------------------------------------------------------------ + if(deleteOutdatedSignatures){ + let rows = tableApi.rows((rowIdx, rowData, node) => !rowIdsExist.includes('#' + config.sigTableRowIdPrefix + rowData.id)); + rows.every(function(rowIdx, tableLoop, rowLoop){ + let row = this; + let rowId = row.id(true); + let rowElement = row.nodes().to$(); + + // hide open editable fields on the row before removing them + rowElement.find('.editable').editable('destroy'); + + // destroy possible open popovers (e.g. wormhole types, update popover) + rowElement.destroyPopover(true); + + rowElement.pulseBackgroundColor('deleted'); + + promisesDeleted.push(new Promise((resolve, reject) => { + toggleTableRow(rowElement).then(payload => resolve({action: 'deleted', rowIdx: rowId})); + })); + }).remove(); + } + + // add new signatures ----------------------------------------------------------------------------------------- + for(let signatureData of signaturesData){ + let row = addSignatureRow(tableApi, signatureData); + let rowId = row.id(true); + let rowElement = row.nodes().to$(); + rowElement.pulseBackgroundColor('added'); + + promisesAdded.push(new Promise((resolve, reject) => { + resolve({action: 'added', rowId: rowId}); + })); + } + + // done ------------------------------------------------------------------------------------------------------- + Promise.all(promisesAdded.concat(promisesChanged, promisesDeleted)).then(payloads => { + if(payloads.length){ + // table data changed -> draw() table changes + tableApi.draw(); + + if(!updateEmptyTable){ + // no notifications if table was empty just progressbar notification is needed + // sum payloads by "action" + let notificationCounter = payloads.reduce((acc, payload) => { + if(!acc[payload.action]){ + acc[payload.action] = 0; + } + acc[payload.action]++; + return acc; + }, {}); + + let notification = ''; + if(notificationCounter.added > 0){ + notification += notificationCounter.added + ' added
'; + } + if(notificationCounter.changed > 0){ + notification += notificationCounter.changed + ' updated
'; + } + if(notificationCounter.deleted > 0){ + notification += notificationCounter.deleted + ' deleted
'; + } + if(notification.length){ + Util.showNotify({title: 'Signatures updated', text: notification, type: 'success'}); + } + } + + updateScannedSignaturesBar(tableApi, {showNotice: true}); + } + + // unlock table + unlockTable(tableApi); + }); + }; + + /** + * update trigger function for this module + * compare data and update module + * @param moduleElement + * @param systemData + */ + let updateModule = (moduleElement, systemData) => { + + if(systemData.signatures){ + let mapId = moduleElement.data('mapId'); + let systemId = moduleElement.data('systemId'); + let tableApi = getDataTableInstance(mapId, systemId, 'primary'); + updateSignatureTable(tableApi, systemData.signatures, true); + } + + moduleElement.hideLoadingAnimation(); }; /** @@ -2418,7 +2422,41 @@ define([ * @param systemData */ let initModule = (moduleElement, mapId, systemData) => { - unlockSignatureTable(true); + let tableApi = getDataTableInstance(mapId, systemData.id, 'primary'); + unlockTable(tableApi); + }; + + /** + * get module toolbar element + * @returns {jQuery} + */ + let getHeadlineToolbar = () => { + let headlineToolbar = $('
', { + class: 'pull-right' + }).append( + $('', { + class: 'progress-label-right', + text: '0%' + }), + $('', { + class: ['fas', 'fa-fw', 'fa-plus', config.moduleHeadlineIconClass, config.moduleHeadlineIconAddClass].join(' '), + title: 'add' + }).attr('data-toggle', 'tooltip'), + $('', { + class: ['fas', 'fa-fw', 'fa-paste', config.moduleHeadlineIconClass, config.moduleHeadlineIconReaderClass].join(' '), + title: 'signature reader' + }).attr('data-toggle', 'tooltip'), + $('', { + class: ['fas', 'fa-fw', 'fa-exchange-alt', config.moduleHeadlineIconClass, config.moduleHeadlineIconLazyClass].join(' '), + title: 'lazy \'delete\' signatures' + }).attr('data-toggle', 'tooltip') + ); + + headlineToolbar.find('[data-toggle="tooltip"]').tooltip({ + container: 'body' + }); + + return headlineToolbar; }; /** @@ -2426,9 +2464,9 @@ define([ * @param parentElement * @param mapId * @param systemData - * @returns {*|jQuery|HTMLElement} + * @returns {jQuery} */ - let getModule = function(parentElement, mapId, systemData){ + let getModule = (parentElement, mapId, systemData) => { let moduleElement = $('
').append( $('
', { class: config.moduleHeadClass @@ -2447,26 +2485,18 @@ define([ requirejs(['text!templates/form/progress.html', 'mustache'], (template, Mustache) => { let data = { label: true, - wrapperClass: config.signatureScannedProgressBarClass, + wrapperClass: config.moduleHeadlineProgressBarClass, class: ['progress-bar-success'].join(' '), percent: 0 }; - - let content = Mustache.render(template, data); - - moduleElement.find('.' + config.moduleHeadClass).append(content); + moduleElement.find('.' + config.moduleHeadClass).append(Mustache.render(template, data)); }); - - moduleElement.data('mapId', mapId); moduleElement.data('systemId', systemData.id); moduleElement.showLoadingAnimation(); - // init dataTables - initSignatureDataTable(systemData); - // draw "new signature" add table drawSignatureTableNew(moduleElement, mapId, systemData); @@ -2474,29 +2504,36 @@ define([ drawSignatureTable(moduleElement, mapId, systemData); // set module observer - setModuleObserver(moduleElement, systemData); + setModuleObserver(moduleElement, mapId, systemData); return moduleElement; }; /** * before module hide callback + * @param moduleElement */ - let beforeHide = () => { + let beforeHide = moduleElement => { // disable update - lockSignatureTable(); + let mapId = moduleElement.data('mapId'); + let systemId = moduleElement.data('systemId'); + let tableApi = getDataTableInstance(mapId, systemId, 'primary'); + lockTable(tableApi); }; /** * before module destroy callback + * @param moduleElement */ - let beforeDestroy = (moduleElement) => { + let beforeDestroy = moduleElement => { // Destroying the data tables throws // -> safety remove all dataTables let mapId = moduleElement.data('mapId'); let systemId = moduleElement.data('systemId'); - deleteDataTableInstance(mapId, systemId, 'primary'); - deleteDataTableInstance(mapId, systemId, 'secondary'); + let primaryTableApi = getDataTableInstance(mapId, systemId, 'primary'); + let secondaryTableApi = getDataTableInstance(mapId, systemId, 'secondary'); + primaryTableApi.destroy(); + secondaryTableApi.destroy(); }; return { @@ -2508,5 +2545,4 @@ define([ beforeDestroy: beforeDestroy, getAllSignatureNamesBySystem: getAllSignatureNamesBySystem }; - -}); +}); \ No newline at end of file diff --git a/public/js/v1.4.1/app/util.js b/public/js/v1.4.1/app/util.js index bf7b7242b..5ee854044 100644 --- a/public/js/v1.4.1/app/util.js +++ b/public/js/v1.4.1/app/util.js @@ -1051,9 +1051,9 @@ define([ preventDefault: true }, keyboard: { - enable: false, + enable: true, scrollType: 'stepless', - scrollAmount: 'auto' + scrollAmount: 20 }, scrollbarPosition: 'inside', autoDraggerLength: true, diff --git a/sass/layout/_main.scss b/sass/layout/_main.scss index 88f8851ec..af21cbfe4 100644 --- a/sass/layout/_main.scss +++ b/sass/layout/_main.scss @@ -254,10 +254,12 @@ select:active, select:hover { .dataTables_length select{ margin: 0 3px; //