{"version":3,"sources":["vendor/ember-cli/app-prefix.js","insights-web/adapters/-json-api.js","insights-web/app.js","insights-web/breakpoints.js","insights-web/component-managers/glimmer.js","insights-web/components/-dynamic-element-alt.js","insights-web/components/-dynamic-element.js","insights-web/components/agent-stats.js","insights-web/components/area-chart.js","insights-web/components/bar-chart.js","insights-web/components/basic-dropdown-content.js","insights-web/components/basic-dropdown-trigger.js","insights-web/components/basic-dropdown.js","insights-web/components/bs-accordion.js","insights-web/components/bs-accordion/item.js","insights-web/components/bs-accordion/item/body.js","insights-web/components/bs-accordion/item/title.js","insights-web/components/bs-alert.js","insights-web/components/bs-button-group.js","insights-web/components/bs-button-group/button.js","insights-web/components/bs-button.js","insights-web/components/bs-carousel.js","insights-web/components/bs-carousel/slide.js","insights-web/components/bs-collapse.js","insights-web/components/bs-datetimepicker.js","insights-web/components/bs-dropdown.js","insights-web/components/bs-dropdown/button.js","insights-web/components/bs-dropdown/menu.js","insights-web/components/bs-dropdown/menu/divider.js","insights-web/components/bs-dropdown/menu/item.js","insights-web/components/bs-dropdown/toggle.js","insights-web/components/bs-form.js","insights-web/components/bs-form/element.js","insights-web/components/bs-form/element/control.js","insights-web/components/bs-form/element/control/checkbox.js","insights-web/components/bs-form/element/control/input.js","insights-web/components/bs-form/element/control/radio.js","insights-web/components/bs-form/element/control/switch.js","insights-web/components/bs-form/element/control/textarea.js","insights-web/components/bs-form/element/errors.js","insights-web/components/bs-form/element/feedback-icon.js","insights-web/components/bs-form/element/help-text.js","insights-web/components/bs-form/element/label.js","insights-web/components/bs-form/element/layout/horizontal.js","insights-web/components/bs-form/element/layout/horizontal/checkbox.js","insights-web/components/bs-form/element/layout/inline.js","insights-web/components/bs-form/element/layout/inline/checkbox.js","insights-web/components/bs-form/element/layout/vertical.js","insights-web/components/bs-form/element/layout/vertical/checkbox.js","insights-web/components/bs-form/element/legend.js","insights-web/components/bs-form/group.js","insights-web/components/bs-link-to.js","insights-web/components/bs-modal-simple.js","insights-web/components/bs-modal.js","insights-web/components/bs-modal/body.js","insights-web/components/bs-modal/dialog.js","insights-web/components/bs-modal/footer.js","insights-web/components/bs-modal/header.js","insights-web/components/bs-modal/header/close.js","insights-web/components/bs-modal/header/title.js","insights-web/components/bs-nav.js","insights-web/components/bs-nav/item.js","insights-web/components/bs-navbar.js","insights-web/components/bs-navbar/content.js","insights-web/components/bs-navbar/link-to.js","insights-web/components/bs-navbar/nav.js","insights-web/components/bs-navbar/toggle.js","insights-web/components/bs-popover.js","insights-web/components/bs-popover/element.js","insights-web/components/bs-progress.js","insights-web/components/bs-progress/bar.js","insights-web/components/bs-tab.js","insights-web/components/bs-tab/pane.js","insights-web/components/bs-tooltip.js","insights-web/components/bs-tooltip/element.js","insights-web/components/call-detail-link.js","insights-web/components/call-detail-query.js","insights-web/components/chart-widget.js","insights-web/components/color-picker.js","insights-web/components/configuration/clock-widget.js","insights-web/components/configuration/image-widget.js","insights-web/components/configuration/observation-graph.js","insights-web/components/configuration/static-text-widget.js","insights-web/components/configuration/webframe-widget.js","insights-web/components/conversation-detail.js","insights-web/components/copy-button.js","insights-web/components/count-display.js","insights-web/components/database-config.js","insights-web/components/datetime-banner.js","insights-web/components/debug-widget.js","insights-web/components/dnis-value.js","insights-web/components/ember-chart.js","insights-web/components/ember-popper-targeting-parent.js","insights-web/components/ember-popper.js","insights-web/components/fa-icon.js","insights-web/components/fa-list.js","insights-web/components/fa-stack.js","insights-web/components/geo-chart.js","insights-web/components/google-chart.js","insights-web/components/grid-stack-item.js","insights-web/components/grid-stack.js","insights-web/components/grid-stat.js","insights-web/components/labeled-radio-button.js","insights-web/components/line-chart.js","insights-web/components/maybe-in-element.js","insights-web/components/nav-bar.js","insights-web/components/notification-container.js","insights-web/components/notification-message.js","insights-web/components/observation-graph.js","insights-web/components/pie-chart.js","insights-web/components/power-select-multiple.js","insights-web/components/power-select-multiple/trigger.js","insights-web/components/power-select.js","insights-web/components/power-select/before-options.js","insights-web/components/power-select/no-matches-message.js","insights-web/components/power-select/options.js","insights-web/components/power-select/placeholder.js","insights-web/components/power-select/power-select-group.js","insights-web/components/power-select/search-message.js","insights-web/components/power-select/trigger.js","insights-web/components/query-panel.js","insights-web/components/queue-interaction-list.js","insights-web/components/queue-selector.js","insights-web/components/queue-stats.js","insights-web/components/radio-button-input.js","insights-web/components/radio-button.js","insights-web/components/realtime-debug-view.js","insights-web/components/realtime-grid.js","insights-web/components/realtime-widget.js","insights-web/components/sankey-diagram.js","insights-web/components/scatter-chart.js","insights-web/components/select-box-advanced.js","insights-web/components/select-box.js","insights-web/components/stat-grid-row-expanded.js","insights-web/components/stat-grid-row-toggle.js","insights-web/components/stat-grid-row.js","insights-web/components/stat-grid.js","insights-web/components/static-text-widget.js","insights-web/components/time-range.js","insights-web/components/timeline-chart.js","insights-web/components/timezone-banner.js","insights-web/components/trial-banner.js","insights-web/components/two-col-selector.js","insights-web/components/web-frame.js","insights-web/components/widget-clock.js","insights-web/components/widget-image.js","insights-web/components/wrapup-widget.js","insights-web/controllers/application.js","insights-web/controllers/call-flow.js","insights-web/controllers/client-app-install.js","insights-web/controllers/dashboard-config.js","insights-web/controllers/mypermissions.js","insights-web/data-adapter.js","insights-web/helpers/-element.js","insights-web/helpers/-has-block-params.js","insights-web/helpers/-has-block.js","insights-web/helpers/-is-named-block-invocation.js","insights-web/helpers/-named-block-invocation.js","insights-web/helpers/and.js","insights-web/helpers/app-version.js","insights-web/helpers/assign.js","insights-web/helpers/bs-contains.js","insights-web/helpers/bs-default.js","insights-web/helpers/bs-eq.js","insights-web/helpers/bs-noop.js","insights-web/helpers/bs-size-class.js","insights-web/helpers/bs-type-class.js","insights-web/helpers/cancel-all.js","insights-web/helpers/contains.js","insights-web/helpers/did-insert-helper.js","insights-web/helpers/did-insert.js","insights-web/helpers/did-update-helper.js","insights-web/helpers/did-update.js","insights-web/helpers/element.js","insights-web/helpers/ember-power-select-is-group.js","insights-web/helpers/ember-power-select-is-selected.js","insights-web/helpers/ensure-safe-component.js","insights-web/helpers/eq.js","insights-web/helpers/formatnumber.js","insights-web/helpers/formattime.js","insights-web/helpers/formattimezone.js","insights-web/helpers/getprop.js","insights-web/helpers/gt.js","insights-web/helpers/gte.js","insights-web/helpers/html-string.js","insights-web/helpers/is-after.js","insights-web/helpers/is-array.js","insights-web/helpers/is-before.js","insights-web/helpers/is-between.js","insights-web/helpers/is-clipboard-supported.js","insights-web/helpers/is-empty.js","insights-web/helpers/is-equal.js","insights-web/helpers/is-same-or-after.js","insights-web/helpers/is-same-or-before.js","insights-web/helpers/is-same.js","insights-web/helpers/local-class.js","insights-web/helpers/lt.js","insights-web/helpers/lte.js","insights-web/helpers/media.js","insights-web/helpers/moment-add.js","insights-web/helpers/moment-calendar.js","insights-web/helpers/moment-diff.js","insights-web/helpers/moment-duration.js","insights-web/helpers/moment-format.js","insights-web/helpers/moment-from-now.js","insights-web/helpers/moment-from.js","insights-web/helpers/moment-subtract.js","insights-web/helpers/moment-to-date.js","insights-web/helpers/moment-to-now.js","insights-web/helpers/moment-to.js","insights-web/helpers/moment-unix.js","insights-web/helpers/moment.js","insights-web/helpers/not-eq.js","insights-web/helpers/not.js","insights-web/helpers/now.js","insights-web/helpers/on-document.js","insights-web/helpers/on-window.js","insights-web/helpers/on.js","insights-web/helpers/or.js","insights-web/helpers/perform.js","insights-web/helpers/pluralize.js","insights-web/helpers/ref-to.js","insights-web/helpers/selectedtab.js","insights-web/helpers/singularize.js","insights-web/helpers/statgridcolclass.js","insights-web/helpers/statgridextracols.js","insights-web/helpers/task.js","insights-web/helpers/timezoneformat.js","insights-web/helpers/unix.js","insights-web/helpers/utc.js","insights-web/helpers/will-destroy-helper.js","insights-web/helpers/will-destroy.js","insights-web/helpers/xor.js","insights-web/initializers/app-version.js","insights-web/initializers/container-debug-adapter.js","insights-web/initializers/ember-concurrency.js","insights-web/initializers/ember-data-data-adapter.js","insights-web/initializers/ember-data.js","insights-web/initializers/ember-responsive-breakpoints.js","insights-web/initializers/export-application-global.js","insights-web/initializers/load-bootstrap-config.js","insights-web/initializers/notifications.js","insights-web/initializers/responsive.js","insights-web/instance-initializers/ember-data.js","insights-web/mixins/widget-mixin.js","insights-web/modifiers/create-ref.js","insights-web/modifiers/did-insert.js","insights-web/modifiers/did-update.js","insights-web/modifiers/focus-trap.js","insights-web/modifiers/gs-item-attributes.js","insights-web/modifiers/style.js","insights-web/modifiers/will-destroy.js","insights-web/router.js","insights-web/routes/application.js","insights-web/routes/call-flow.js","insights-web/routes/client-app-install.js","insights-web/routes/client-app.js","insights-web/routes/conversation.js","insights-web/routes/conversationquery.js","insights-web/routes/dashboard-config.js","insights-web/routes/debug-query.js","insights-web/routes/home.js","insights-web/routes/mypermissions.js","insights-web/routes/realtime-debug.js","insights-web/routes/realtime.js","insights-web/routes/syncconfiguration.js","insights-web/serializers/-default.js","insights-web/serializers/-json-api.js","insights-web/serializers/-rest.js","insights-web/services/-ensure-registered.js","insights-web/services/ajax.js","insights-web/services/analytics-service.js","insights-web/services/campaign-service.js","insights-web/services/cookies.js","insights-web/services/diagnostics.js","insights-web/services/embedded-service.js","insights-web/services/error-service.js","insights-web/services/featuretoggle-service.js","insights-web/services/google-charts.js","insights-web/services/media.js","insights-web/services/missing-permission-service.js","insights-web/services/moment.js","insights-web/services/notification-messages-service.js","insights-web/services/observation-stat-service.js","insights-web/services/purecloud.js","insights-web/services/queue-service.js","insights-web/services/realtime-service.js","insights-web/services/request-service.js","insights-web/services/stat-calculation.js","insights-web/services/status-service.js","insights-web/services/storage-service.js","insights-web/services/store.js","insights-web/services/text-measurer.js","insights-web/services/time-diff.js","insights-web/services/widget-state-service.js","insights-web/templates/application.js","insights-web/templates/call-flow.js","insights-web/templates/client-app-install.js","insights-web/templates/client-app.js","insights-web/templates/components/agent-stats.js","insights-web/templates/components/basic-dropdown-content.js","insights-web/templates/components/basic-dropdown-trigger.js","insights-web/templates/components/basic-dropdown.js","insights-web/templates/components/call-detail-link.js","insights-web/templates/components/call-detail-query.js","insights-web/templates/components/chart-widget.js","insights-web/templates/components/configuration/clock-widget.js","insights-web/templates/components/configuration/image-widget.js","insights-web/templates/components/configuration/observation-graph.js","insights-web/templates/components/configuration/static-text-widget.js","insights-web/templates/components/configuration/webframe-widget.js","insights-web/templates/components/conversation-detail.js","insights-web/templates/components/count-display.js","insights-web/templates/components/database-config.js","insights-web/templates/components/datetime-banner.js","insights-web/templates/components/debug-widget.js","insights-web/templates/components/dnis-value.js","insights-web/templates/components/ember-popper-targeting-parent.js","insights-web/templates/components/ember-popper.js","insights-web/templates/components/grid-stat.js","insights-web/templates/components/nav-bar.js","insights-web/templates/components/observation-graph.js","insights-web/templates/components/query-panel.js","insights-web/templates/components/queue-interaction-list.js","insights-web/templates/components/queue-selector.js","insights-web/templates/components/queue-stats.js","insights-web/templates/components/realtime-debug-view.js","insights-web/templates/components/realtime-grid.js","insights-web/templates/components/realtime-widget.js","insights-web/templates/components/select-box-advanced.js","insights-web/templates/components/select-box.js","insights-web/templates/components/stat-grid-row-expanded.js","insights-web/templates/components/stat-grid-row-toggle.js","insights-web/templates/components/stat-grid-row.js","insights-web/templates/components/stat-grid.js","insights-web/templates/components/static-text-widget.js","insights-web/templates/components/time-range.js","insights-web/templates/components/timezone-banner.js","insights-web/templates/components/trial-banner.js","insights-web/templates/components/two-col-selector.js","insights-web/templates/components/web-frame.js","insights-web/templates/components/widget-clock.js","insights-web/templates/components/widget-image.js","insights-web/templates/components/wrapup-widget.js","insights-web/templates/conversation.js","insights-web/templates/conversationquery.js","insights-web/templates/dashboard-config.js","insights-web/templates/debug-query.js","insights-web/templates/home.js","insights-web/templates/mypermissions.js","insights-web/templates/realtime-debug.js","insights-web/templates/realtime.js","insights-web/templates/syncconfiguration.js","insights-web/transforms/boolean.js","insights-web/transforms/date.js","insights-web/transforms/number.js","insights-web/transforms/string.js","insights-web/utils/agentstattypes.js","insights-web/utils/calculate-position.js","insights-web/utils/colorDefaults.js","insights-web/utils/graphconfigoptions.js","insights-web/utils/guid.js","insights-web/utils/observationGraphStatTypes.js","insights-web/utils/render-classic-chart.js","insights-web/utils/render-material-chart.js","insights-web/utils/stattimeperiods.js","insights-web/utils/widgetstattypes.js","insights-web/utils/widgettypes.js","vendor/ember-cli/app-suffix.js","vendor/ember-cli/app-config.js","vendor/ember-cli/app-boot.js"],"sourcesContent":["'use strict';\n\n\n","define(\"insights-web/adapters/-json-api\", [\"exports\", \"@ember-data/adapter/json-api\"], function (_exports, _jsonApi) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _jsonApi.default;\n    }\n  });\n});","define(\"insights-web/app\", [\"exports\", \"@babel/runtime/helpers/esm/createClass\", \"@babel/runtime/helpers/esm/classCallCheck\", \"@babel/runtime/helpers/esm/possibleConstructorReturn\", \"@babel/runtime/helpers/esm/getPrototypeOf\", \"@babel/runtime/helpers/esm/inherits\", \"@babel/runtime/helpers/esm/defineProperty\", \"ember-resolver\", \"ember-load-initializers\", \"insights-web/config/environment\"], function (_exports, _createClass2, _classCallCheck2, _possibleConstructorReturn2, _getPrototypeOf2, _inherits2, _defineProperty2, _emberResolver, _emberLoadInitializers, _environment) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }\n  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\n  var App = _exports.default = /*#__PURE__*/function (_Ember$Application) {\n    function App() {\n      var _this;\n      (0, _classCallCheck2.default)(this, App);\n      for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n        args[_key] = arguments[_key];\n      }\n      _this = _callSuper(this, App, [].concat(args));\n      (0, _defineProperty2.default)(_this, \"modulePrefix\", _environment.default.modulePrefix);\n      (0, _defineProperty2.default)(_this, \"podModulePrefix\", _environment.default.podModulePrefix);\n      (0, _defineProperty2.default)(_this, \"Resolver\", _emberResolver.default);\n      return _this;\n    }\n    (0, _inherits2.default)(App, _Ember$Application);\n    return (0, _createClass2.default)(App);\n  }(Ember.Application);\n  (0, _emberLoadInitializers.default)(App, _environment.default.modulePrefix);\n});","define(\"insights-web/breakpoints\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = {\n    mobile: '(max-width: 767px)',\n    tablet: '(min-width: 768px) and (max-width: 991px)',\n    desktop: '(min-width: 992px) and (max-width: 1200px)'\n  };\n});","define(\"insights-web/component-managers/glimmer\", [\"exports\", \"@glimmer/component/-private/ember-component-manager\"], function (_exports, _emberComponentManager) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _emberComponentManager.default;\n    }\n  });\n});","define(\"insights-web/components/-dynamic-element-alt\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  // This component is not needed anymore. However we can only safely remove it once we have an Embroider release that\n  // has the special dependency rule for this addon removed:\n  // https://github.com/embroider-build/embroider/blob/4fad67f16f811e7f93199a1ee92dba8254c42978/packages/compat/src/addon-dependency-rules/ember-element-helper.ts\n  var _default = _exports.default = Ember.Component.extend();\n});","define(\"insights-web/components/-dynamic-element\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  // This component is not needed anymore. However we can only safely remove it once we have an Embroider release that\n  // has the special dependency rule for this addon removed:\n  // https://github.com/embroider-build/embroider/blob/4fad67f16f811e7f93199a1ee92dba8254c42978/packages/compat/src/addon-dependency-rules/ember-element-helper.ts\n  var _default = _exports.default = Ember.Component.extend();\n});","define(\"insights-web/components/agent-stats\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = Ember.Component.extend({\n    queueService: Ember.inject.service(),\n    statCalculation: Ember.inject.service(),\n    realtimeService: Ember.inject.service(),\n    statusService: Ember.inject.service(),\n    timeDiff: Ember.inject.service(),\n    expander: [],\n    _stats: [],\n    data: [],\n    headers: [],\n    forceRefresh: null,\n    init: function init() {\n      this._super.apply(this, arguments);\n      this.get(\"statusService\");\n    },\n    didReceiveAttrs: function didReceiveAttrs() {\n      this._super.apply(this, arguments);\n      this.get(\"realtimeService\").get(\"userData\");\n      this.get(\"realtimeService\").get(\"observationData\");\n      this._stats = this.configuration.stats;\n    },\n    didInsertElement: function didInsertElement() {\n      this._super.apply(this, arguments);\n      this.updateTimers();\n      this._loadData();\n      Ember.run.later(this, function () {\n        if (!this || this.isDestroyed) {\n          return;\n        }\n        this._resizeScroller();\n      }, 500);\n    },\n    updateTimers: function updateTimers() {\n      if (!this || this.isDestroyed) {\n        return;\n      }\n      Ember.run.later(this, function () {\n        this.updateTimers();\n      }, 1000); //every second\n\n      this.updateTimersImpl();\n    },\n    updateTimersImpl: function updateTimersImpl() {\n      var data = this.get(\"data\");\n      if (data) {\n        for (var x = 0; x < data.length; x++) {\n          var row = data[x];\n          for (var y = 0; y < row.stats.length; y++) {\n            var stat = row.stats[y];\n            if (stat.timeSince) {\n              var adjustedTime = this.timeDiff.skewAdjustedTime(stat.timeSince);\n              var timeDiff = moment().diff(adjustedTime);\n              if (!adjustedTime.isBefore(moment())) {\n                timeDiff = moment().diff(stat.timeSince);\n              }\n              var duration = moment.duration(timeDiff);\n              var formattedTime = void 0;\n              if (duration.asDays() >= 1) {\n                var days = Math.floor(duration.asDays());\n                var hours = duration.hours();\n                var minutes = duration.minutes();\n                var seconds = duration.seconds();\n                formattedTime = days + \"d \" + String(hours).padStart(2, \"0\") + \":\" + String(minutes).padStart(2, \"0\") + \":\" + String(seconds).padStart(2, \"0\");\n              } else {\n                formattedTime = moment.utc(timeDiff).format(\"HH:mm:ss\");\n              }\n              Ember.set(this.data[x].stats[y], \"value\", formattedTime); //.fromNow();\n            }\n          }\n        }\n      }\n    },\n    queueNameObserver: Ember.observer(\"configuration\", \"configuration.queueIds\", \"configuration.queueIds.@each\", function () {\n      this.loadQueueIds();\n    }),\n    _loadData: function _loadData() {\n      var _this = this;\n      if (this.isDestroyed) {\n        return;\n      }\n      this.set(\"errorMessage\", null);\n      var queueIds = [];\n      if (!this.configuration.fontsize) {\n        this.configuration.fontsize = \"18\";\n      }\n      this.configuration.queueIds.forEach(function (queueId) {\n        queueIds.pushObject(queueId);\n      });\n      var realtimeService = this.get(\"realtimeService\");\n      var _data = [];\n      if (queueIds === null) {\n        return;\n      }\n      var queueUsers = [];\n      for (var y = 0; y < queueIds.length; y++) {\n        var queueId = queueIds[y];\n\n        //let queueUsers = queueUsers.concat(realtimeService.queueUsers[queueId]);\n        if (realtimeService.queueUsers) {\n          if (realtimeService.queueUsers[queueId]) {\n            realtimeService.queueUsers[queueId].forEach(function (user) {\n              if (_this.configuration.showInactiveAgents !== true && user.joined == false) {\n                return;\n              }\n              if (queueUsers.indexOf(user.id) === -1) {\n                queueUsers.push(user);\n              }\n            });\n            if (queueUsers.length === 0) {\n              this.set(\"errorMessage\", \"No users configured for queue\");\n            }\n          } else {\n            this.set(\"errorMessage\", \"User status information not found for queue\");\n          }\n        } else {\n          this.set(\"errorMessage\", \"No user status information found\");\n        }\n      }\n      queueUsers.forEach(function (user) {\n        var shouldInclude = true;\n        var rowData = {\n          isExpanded: false,\n          userId: user.id,\n          stats: [{\n            value: user.name\n          }]\n        };\n        if (_this.configuration.showAgentPicture) {\n          rowData.stats[0].image = realtimeService.userImages[user.id];\n        }\n        if (_this._stats.length === 0) {\n          _this._stats = [\"agent_status\", \"agent_time_in_status\"];\n        }\n        for (var x = 0; x < _this._stats.length; x++) {\n          var statKey = _this._stats[x];\n          var stat = {\n            column: statKey //statCalculation.getStatDisplayName(statKey),\n          };\n          if (statKey === \"agent_status\") {\n            var value = \"\";\n            var statusKey = \"\";\n            if (realtimeService.userRoutingStatus[user.id]) {\n              statusKey = realtimeService.userRoutingStatus[user.id].status;\n              value = statusKey;\n              if (value === \"OFF_QUEUE\") {\n                rowData.stats[0].cssClass = \"OFF_QUEUE\";\n                if (!_this.configuration.showOffQueue) {\n                  shouldInclude = false;\n                }\n              } else {\n                rowData.stats[0].cssClass = \"ON_QUEUE\";\n                if (_this.configuration.useCustomQueueColors) {\n                  if (value === \"NOT_RESPONDING\") {\n                    rowData.stats[0].customColor = _this.configuration.notRespondingColor;\n                  } else if (value === \"IDLE\") {\n                    rowData.stats[0].customColor = _this.configuration.idleColor;\n                  } else if (value === \"INTERACTING\") {\n                    rowData.stats[0].customColor = _this.configuration.interactingColor;\n                  }\n                }\n              }\n            } else if (!_this.configuration.showOffQueue) {\n              shouldInclude = false;\n            }\n            if (realtimeService.userPresence[user.id] && realtimeService.userPresence[user.id].presenceDefinition.systemPresence === \"Offline\") {\n              value = null;\n            }\n            if (!value) {\n              value = \"OFFLINE\";\n              rowData.stats[0].cssClass = \"Offline\";\n            }\n            if (value) {\n              value = _this.get(\"statusService\").getRoutingStatusLabel(value);\n            }\n            if (realtimeService.userIsOOO[user.id]) {\n              rowData.stats[0].cssClass = \"OOO\";\n              value = \"Out of Office\";\n            }\n            if (value === \"Offline\" && !_this.configuration.showOffline) {\n              shouldInclude = false;\n            }\n\n            // if(['ON_QUEUE','Away','Meal','Training','Break','Busy','Meeting','OOO','Offline','Available', 'Idle'].indexOf(rowData.stats[0].cssClass) === -1){\n            //     //This is here to track down an issue where we are getting a unknown css class value\n            //     value = value + ` (${rowData.stats[0].cssClass})`;\n            // }\n\n            if (statusKey == \"INTERACTING\" && realtimeService.userConversations[user.id] && realtimeService.userConversations[user.id].isAcw) {\n              value = \"ACW\";\n            }\n            stat.value = value;\n          } else if (statKey === \"agent_time_in_status\") {\n            if (realtimeService.userRoutingStatus[user.id]) {\n              stat.timeSince = realtimeService.userRoutingStatus[user.id].startTime;\n            }\n            var _statusKey = \"\";\n            if (realtimeService.userRoutingStatus[user.id]) {\n              _statusKey = realtimeService.userRoutingStatus[user.id].status;\n            }\n            if (_statusKey == \"INTERACTING\" && realtimeService.userConversations[user.id] && realtimeService.userConversations[user.id].isAcw) {\n              stat.timeSince = realtimeService.userConversations[user.id].acwStartTime;\n            }\n          } else if (statKey === \"longest_active_conversation\") {\n            if (realtimeService.userConversations[user.id] && realtimeService.userConversations[user.id].longestActiveStart) {\n              stat.timeSince = realtimeService.userConversations[user.id].longestActiveStart;\n            } else {\n              stat.value = \"-\";\n            }\n          } else if (statKey === \"conversations_on_hold\") {\n            if (realtimeService.userConversations[user.id]) {\n              stat.value = realtimeService.userConversations[user.id].conversationsOnHold;\n            } else {\n              stat.value = \"0\";\n            }\n          } else if (statKey === \"current_conversation_count\") {\n            if (realtimeService.userConversations[user.id]) {\n              stat.value = realtimeService.userConversations[user.id].conversationCount;\n            } else {\n              stat.value = \"0\";\n            }\n          } else {\n            stat.value = _this.get(\"statCalculation\").getStatValue(_this.configuration.queueIds, statKey, \"\", \"\", user.id).data;\n          }\n          rowData.stats.push(stat);\n        }\n        if (_data.findBy(\"userId\", user.id)) {\n          shouldInclude = false;\n        }\n        if (shouldInclude) {\n          _data.push(rowData);\n        }\n      });\n      var headers = [];\n      headers.push(\"User\");\n      for (var x = 0; x < this._stats.length; x++) {\n        var statKey = this._stats[x];\n        headers.push(this.get(\"statCalculation\").getStatDisplayName(statKey));\n        // headers.push(statKey);\n      }\n      if (this.configuration.sortBy && this.configuration.sortBy.toLowerCase() === \"status\") {\n        var statusIndex = 0;\n        for (var _x = 0; _x < this._stats.length; _x++) {\n          if (this._stats[_x] === \"agent_status\") {\n            statusIndex = _x + 1;\n            break;\n          }\n        }\n        _data.sort(function (a, b) {\n          if (a.stats[statusIndex].value === b.stats[statusIndex].value) {\n            return a.stats[0].value.localeCompare(b.stats[0].value);\n          } else if (a.stats[statusIndex].value > b.stats[statusIndex].value) {\n            return 1;\n          }\n          return -1;\n        });\n      } else if (this.configuration.sortBy && this.configuration.sortBy.toLowerCase() === \"duration\") {\n        var durationIndex = 0;\n        for (var _x2 = 0; _x2 < this.configuration.stats.length; _x2++) {\n          if (this.configuration.stats[_x2] === \"agent_time_in_status\") {\n            durationIndex = _x2 + 1;\n            break;\n          }\n        }\n        _data.sort(function (a, b) {\n          var aVal = moment().diff(moment.utc(a.stats[durationIndex].timeSince));\n          var bVal = moment().diff(moment.utc(b.stats[durationIndex].timeSince));\n          return bVal - aVal;\n        });\n      } else {\n        //sort by name\n        _data.sort(function (a, b) {\n          return a.stats[0].value.localeCompare(b.stats[0].value);\n        });\n      }\n      this.set(\"headers\", headers);\n      this.set(\"data\", _data);\n      this.updateTimersImpl();\n      this._resizeScroller();\n      if (this && !this.isDestroyed) {\n        if (this.forceRefresh) {\n          Ember.run.cancel(this.forceRefresh);\n        }\n        var forceRefreshLater = Ember.run.later(this, function () {\n          this._loadData();\n        }, 10000);\n        this.set(\"forceRefresh\", forceRefreshLater);\n      }\n    },\n    _resizeScroller: function _resizeScroller() {\n      var parentHeight = this.$().parents(\".grid-stack-item-content\").height();\n      this.parentHeight = parentHeight;\n      if (parentHeight > 10) {\n        this.$().children(\".scroll-table-container\").height(parentHeight);\n      }\n    },\n    dataObserver: Ember.observer(\"realtimeService.queueUsers\", \"realtimeService.userPresence\", \"realtimeService.userRoutingStatus\", \"realtimeService.userIsOOO\", \"realtimeService.agentData\", \"realtimeService.userConversations\", function () {\n      this._loadData();\n    }),\n    actions: {\n      toggleExpand: function toggleExpand(index) {\n        this.expander.arrayContentWillChange(index);\n        this.expander[index] = !this.expander[index];\n        Ember.set(this.data[index], \"isExpanded\", this.expander[index]);\n        ///    Ember.set(this.expander, `total.${year}`, data.total);\n      }\n    }\n  });\n});","define(\"insights-web/components/area-chart\", [\"exports\", \"ember-google-charts/components/area-chart\"], function (_exports, _areaChart) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _areaChart.default;\n    }\n  });\n});","define(\"insights-web/components/bar-chart\", [\"exports\", \"ember-google-charts/components/bar-chart\"], function (_exports, _barChart) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _barChart.default;\n    }\n  });\n});","define(\"insights-web/components/basic-dropdown-content\", [\"exports\", \"ember-basic-dropdown/components/basic-dropdown-content\"], function (_exports, _basicDropdownContent) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _basicDropdownContent.default;\n    }\n  });\n});","define(\"insights-web/components/basic-dropdown-trigger\", [\"exports\", \"ember-basic-dropdown/components/basic-dropdown-trigger\"], function (_exports, _basicDropdownTrigger) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _basicDropdownTrigger.default;\n    }\n  });\n});","define(\"insights-web/components/basic-dropdown\", [\"exports\", \"ember-basic-dropdown/components/basic-dropdown\"], function (_exports, _basicDropdown) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _basicDropdown.default;\n    }\n  });\n});","define(\"insights-web/components/bs-accordion\", [\"exports\", \"ember-bootstrap/components/bs-accordion\"], function (_exports, _bsAccordion) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _bsAccordion.default;\n    }\n  });\n});","define(\"insights-web/components/bs-accordion/item\", [\"exports\", \"ember-bootstrap/components/bs-accordion/item\"], function (_exports, _item) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _item.default;\n    }\n  });\n});","define(\"insights-web/components/bs-accordion/item/body\", [\"exports\", \"ember-bootstrap/components/bs-accordion/item/body\"], function (_exports, _body) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _body.default;\n    }\n  });\n});","define(\"insights-web/components/bs-accordion/item/title\", [\"exports\", \"ember-bootstrap/components/bs-accordion/item/title\"], function (_exports, _title) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _title.default;\n    }\n  });\n});","define(\"insights-web/components/bs-alert\", [\"exports\", \"ember-bootstrap/components/bs-alert\"], function (_exports, _bsAlert) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _bsAlert.default;\n    }\n  });\n});","define(\"insights-web/components/bs-button-group\", [\"exports\", \"ember-bootstrap/components/bs-button-group\"], function (_exports, _bsButtonGroup) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _bsButtonGroup.default;\n    }\n  });\n});","define(\"insights-web/components/bs-button-group/button\", [\"exports\", \"ember-bootstrap/components/bs-button-group/button\"], function (_exports, _button) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _button.default;\n    }\n  });\n});","define(\"insights-web/components/bs-button\", [\"exports\", \"ember-bootstrap/components/bs-button\"], function (_exports, _bsButton) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _bsButton.default;\n    }\n  });\n});","define(\"insights-web/components/bs-carousel\", [\"exports\", \"ember-bootstrap/components/bs-carousel\"], function (_exports, _bsCarousel) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _bsCarousel.default;\n    }\n  });\n});","define(\"insights-web/components/bs-carousel/slide\", [\"exports\", \"ember-bootstrap/components/bs-carousel/slide\"], function (_exports, _slide) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _slide.default;\n    }\n  });\n});","define(\"insights-web/components/bs-collapse\", [\"exports\", \"ember-bootstrap/components/bs-collapse\"], function (_exports, _bsCollapse) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _bsCollapse.default;\n    }\n  });\n});","define(\"insights-web/components/bs-datetimepicker\", [\"exports\", \"ember-cli-bootstrap-datetimepicker/components/bs-datetimepicker\", \"insights-web/config/environment\"], function (_exports, _bsDatetimepicker, _environment) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = _bsDatetimepicker.default.extend({\n    config: _environment.default['ember-cli-bootstrap-datetimepicker']\n  });\n});","define(\"insights-web/components/bs-dropdown\", [\"exports\", \"ember-bootstrap/components/bs-dropdown\"], function (_exports, _bsDropdown) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _bsDropdown.default;\n    }\n  });\n});","define(\"insights-web/components/bs-dropdown/button\", [\"exports\", \"ember-bootstrap/components/bs-dropdown/button\"], function (_exports, _button) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _button.default;\n    }\n  });\n});","define(\"insights-web/components/bs-dropdown/menu\", [\"exports\", \"ember-bootstrap/components/bs-dropdown/menu\"], function (_exports, _menu) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _menu.default;\n    }\n  });\n});","define(\"insights-web/components/bs-dropdown/menu/divider\", [\"exports\", \"ember-bootstrap/components/bs-dropdown/menu/divider\"], function (_exports, _divider) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _divider.default;\n    }\n  });\n});","define(\"insights-web/components/bs-dropdown/menu/item\", [\"exports\", \"ember-bootstrap/components/bs-dropdown/menu/item\"], function (_exports, _item) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _item.default;\n    }\n  });\n});","define(\"insights-web/components/bs-dropdown/toggle\", [\"exports\", \"ember-bootstrap/components/bs-dropdown/toggle\"], function (_exports, _toggle) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _toggle.default;\n    }\n  });\n});","define(\"insights-web/components/bs-form\", [\"exports\", \"ember-bootstrap/components/bs-form\"], function (_exports, _bsForm) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _bsForm.default;\n    }\n  });\n});","define(\"insights-web/components/bs-form/element\", [\"exports\", \"ember-bootstrap/components/bs-form/element\"], function (_exports, _element) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _element.default;\n    }\n  });\n});","define(\"insights-web/components/bs-form/element/control\", [\"exports\", \"ember-bootstrap/components/bs-form/element/control\"], function (_exports, _control) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _control.default;\n    }\n  });\n});","define(\"insights-web/components/bs-form/element/control/checkbox\", [\"exports\", \"ember-bootstrap/components/bs-form/element/control/checkbox\"], function (_exports, _checkbox) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _checkbox.default;\n    }\n  });\n});","define(\"insights-web/components/bs-form/element/control/input\", [\"exports\", \"ember-bootstrap/components/bs-form/element/control/input\"], function (_exports, _input) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _input.default;\n    }\n  });\n});","define(\"insights-web/components/bs-form/element/control/radio\", [\"exports\", \"ember-bootstrap/components/bs-form/element/control/radio\"], function (_exports, _radio) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _radio.default;\n    }\n  });\n});","define(\"insights-web/components/bs-form/element/control/switch\", [\"exports\", \"ember-bootstrap/components/bs-form/element/control/switch\"], function (_exports, _switch) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _switch.default;\n    }\n  });\n});","define(\"insights-web/components/bs-form/element/control/textarea\", [\"exports\", \"ember-bootstrap/components/bs-form/element/control/textarea\"], function (_exports, _textarea) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _textarea.default;\n    }\n  });\n});","define(\"insights-web/components/bs-form/element/errors\", [\"exports\", \"ember-bootstrap/components/bs-form/element/errors\"], function (_exports, _errors) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _errors.default;\n    }\n  });\n});","define(\"insights-web/components/bs-form/element/feedback-icon\", [\"exports\", \"ember-bootstrap/components/bs-form/element/feedback-icon\"], function (_exports, _feedbackIcon) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _feedbackIcon.default;\n    }\n  });\n});","define(\"insights-web/components/bs-form/element/help-text\", [\"exports\", \"ember-bootstrap/components/bs-form/element/help-text\"], function (_exports, _helpText) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _helpText.default;\n    }\n  });\n});","define(\"insights-web/components/bs-form/element/label\", [\"exports\", \"ember-bootstrap/components/bs-form/element/label\"], function (_exports, _label) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _label.default;\n    }\n  });\n});","define(\"insights-web/components/bs-form/element/layout/horizontal\", [\"exports\", \"ember-bootstrap/components/bs-form/element/layout/horizontal\"], function (_exports, _horizontal) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _horizontal.default;\n    }\n  });\n});","define(\"insights-web/components/bs-form/element/layout/horizontal/checkbox\", [\"exports\", \"ember-bootstrap/components/bs-form/element/layout/horizontal/checkbox\"], function (_exports, _checkbox) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _checkbox.default;\n    }\n  });\n});","define(\"insights-web/components/bs-form/element/layout/inline\", [\"exports\", \"ember-bootstrap/components/bs-form/element/layout/inline\"], function (_exports, _inline) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _inline.default;\n    }\n  });\n});","define(\"insights-web/components/bs-form/element/layout/inline/checkbox\", [\"exports\", \"ember-bootstrap/components/bs-form/element/layout/inline/checkbox\"], function (_exports, _checkbox) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _checkbox.default;\n    }\n  });\n});","define(\"insights-web/components/bs-form/element/layout/vertical\", [\"exports\", \"ember-bootstrap/components/bs-form/element/layout/vertical\"], function (_exports, _vertical) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _vertical.default;\n    }\n  });\n});","define(\"insights-web/components/bs-form/element/layout/vertical/checkbox\", [\"exports\", \"ember-bootstrap/components/bs-form/element/layout/vertical/checkbox\"], function (_exports, _checkbox) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _checkbox.default;\n    }\n  });\n});","define(\"insights-web/components/bs-form/element/legend\", [\"exports\", \"ember-bootstrap/components/bs-form/element/legend\"], function (_exports, _legend) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _legend.default;\n    }\n  });\n});","define(\"insights-web/components/bs-form/group\", [\"exports\", \"ember-bootstrap/components/bs-form/group\"], function (_exports, _group) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _group.default;\n    }\n  });\n});","define(\"insights-web/components/bs-link-to\", [\"exports\", \"ember-bootstrap/components/bs-link-to\"], function (_exports, _bsLinkTo) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _bsLinkTo.default;\n    }\n  });\n});","define(\"insights-web/components/bs-modal-simple\", [\"exports\", \"ember-bootstrap/components/bs-modal-simple\"], function (_exports, _bsModalSimple) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _bsModalSimple.default;\n    }\n  });\n});","define(\"insights-web/components/bs-modal\", [\"exports\", \"ember-bootstrap/components/bs-modal\"], function (_exports, _bsModal) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _bsModal.default;\n    }\n  });\n});","define(\"insights-web/components/bs-modal/body\", [\"exports\", \"ember-bootstrap/components/bs-modal/body\"], function (_exports, _body) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _body.default;\n    }\n  });\n});","define(\"insights-web/components/bs-modal/dialog\", [\"exports\", \"ember-bootstrap/components/bs-modal/dialog\"], function (_exports, _dialog) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _dialog.default;\n    }\n  });\n});","define(\"insights-web/components/bs-modal/footer\", [\"exports\", \"ember-bootstrap/components/bs-modal/footer\"], function (_exports, _footer) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _footer.default;\n    }\n  });\n});","define(\"insights-web/components/bs-modal/header\", [\"exports\", \"ember-bootstrap/components/bs-modal/header\"], function (_exports, _header) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _header.default;\n    }\n  });\n});","define(\"insights-web/components/bs-modal/header/close\", [\"exports\", \"ember-bootstrap/components/bs-modal/header/close\"], function (_exports, _close) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _close.default;\n    }\n  });\n});","define(\"insights-web/components/bs-modal/header/title\", [\"exports\", \"ember-bootstrap/components/bs-modal/header/title\"], function (_exports, _title) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _title.default;\n    }\n  });\n});","define(\"insights-web/components/bs-nav\", [\"exports\", \"ember-bootstrap/components/bs-nav\"], function (_exports, _bsNav) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _bsNav.default;\n    }\n  });\n});","define(\"insights-web/components/bs-nav/item\", [\"exports\", \"ember-bootstrap/components/bs-nav/item\"], function (_exports, _item) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _item.default;\n    }\n  });\n});","define(\"insights-web/components/bs-navbar\", [\"exports\", \"ember-bootstrap/components/bs-navbar\"], function (_exports, _bsNavbar) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _bsNavbar.default;\n    }\n  });\n});","define(\"insights-web/components/bs-navbar/content\", [\"exports\", \"ember-bootstrap/components/bs-navbar/content\"], function (_exports, _content) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _content.default;\n    }\n  });\n});","define(\"insights-web/components/bs-navbar/link-to\", [\"exports\", \"ember-bootstrap/components/bs-navbar/link-to\"], function (_exports, _linkTo) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _linkTo.default;\n    }\n  });\n});","define(\"insights-web/components/bs-navbar/nav\", [\"exports\", \"ember-bootstrap/components/bs-navbar/nav\"], function (_exports, _nav) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _nav.default;\n    }\n  });\n});","define(\"insights-web/components/bs-navbar/toggle\", [\"exports\", \"ember-bootstrap/components/bs-navbar/toggle\"], function (_exports, _toggle) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _toggle.default;\n    }\n  });\n});","define(\"insights-web/components/bs-popover\", [\"exports\", \"ember-bootstrap/components/bs-popover\"], function (_exports, _bsPopover) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _bsPopover.default;\n    }\n  });\n});","define(\"insights-web/components/bs-popover/element\", [\"exports\", \"ember-bootstrap/components/bs-popover/element\"], function (_exports, _element) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _element.default;\n    }\n  });\n});","define(\"insights-web/components/bs-progress\", [\"exports\", \"ember-bootstrap/components/bs-progress\"], function (_exports, _bsProgress) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _bsProgress.default;\n    }\n  });\n});","define(\"insights-web/components/bs-progress/bar\", [\"exports\", \"ember-bootstrap/components/bs-progress/bar\"], function (_exports, _bar) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _bar.default;\n    }\n  });\n});","define(\"insights-web/components/bs-tab\", [\"exports\", \"ember-bootstrap/components/bs-tab\"], function (_exports, _bsTab) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _bsTab.default;\n    }\n  });\n});","define(\"insights-web/components/bs-tab/pane\", [\"exports\", \"ember-bootstrap/components/bs-tab/pane\"], function (_exports, _pane) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _pane.default;\n    }\n  });\n});","define(\"insights-web/components/bs-tooltip\", [\"exports\", \"ember-bootstrap/components/bs-tooltip\"], function (_exports, _bsTooltip) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _bsTooltip.default;\n    }\n  });\n});","define(\"insights-web/components/bs-tooltip/element\", [\"exports\", \"ember-bootstrap/components/bs-tooltip/element\"], function (_exports, _element) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _element.default;\n    }\n  });\n});","define(\"insights-web/components/call-detail-link\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = Ember.Component.extend({});\n});","define(\"insights-web/components/call-detail-query\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var $ = Ember.$;\n  var _default = _exports.default = Ember.Component.extend({\n    requestService: Ember.inject.service(),\n    analyticsService: Ember.inject.service(),\n    selectedConversation: \"8817b816-961e-4fcc-ac2e-eb0d1466e3ba\",\n    selectedQueues: [],\n    queueIds: [],\n    interval: \"\",\n    pagedResults: [],\n    currentPage: null,\n    queryInProgress: false,\n    currentPageIndex: 0,\n    error: null,\n    hasResults: false,\n    isQueryVisible: true,\n    pageData: [],\n    aniValue: \"\",\n    conversationDetail: null,\n    init: function init() {\n      this._super.apply(this, arguments);\n    },\n    setSelectedPage: function setSelectedPage(index) {\n      var pages = this.get(\"pagedResults\");\n      this.set(\"currentPage\", pages[index]);\n      this.set(\"currentPageIndex\", index);\n    },\n    valuesChanged: Ember.observer('selectedPage', function () {\n      var page = this.get(\"selectedPage\");\n      this.setSelectedPage(page.page);\n    }),\n    tableColumns: Ember.computed(function () {\n      /*\n      mediaType: \"\",\n      conversationId: conversation.conversationId,\n      conversationStart: conversation.conversationStart,\n      remoteName:\"\",\n      ani: \"\",\n      dnis: \"\",\n      direction: \"\",\n      ivrCount: 0,\n      ivrTime: 0,\n      alertCount: 0,\n      totalAlertTime: 0,\n      agentHandleCount: 0,\n      agentInteractionTime: 0,\n      wrapUpCount: 0,\n      totalWrapUpTime: 0,\n       totalQueueWaitTime: 0,\n      queueCount:0,\n      firstQueue:\"\",\n      wentToVoicemail: \"no\",\n      voicemailDuration: 0\n      */\n      var columns = [{\n        header: 'Conversation Id',\n        key: 'conversationId'\n      }, {\n        header: 'Media Type',\n        key: 'mediaType'\n      }, {\n        header: 'Conversation Start',\n        key: 'conversationStart'\n      }, {\n        header: 'Remote Name',\n        key: 'remoteName'\n      }, {\n        header: 'ANI',\n        key: 'ani'\n      }, {\n        header: 'DNIS',\n        key: 'dnis'\n      }, {\n        header: 'Direction',\n        key: 'direction'\n      }, {\n        header: 'IVR Count',\n        key: 'ivrCount',\n        summary: \"sum\"\n      }, {\n        header: 'IVR Time',\n        key: 'ivrTime',\n        summary: \"sum\"\n      }, {\n        header: 'Alert Count',\n        key: 'alertCount',\n        summary: \"sum\"\n      }, {\n        header: 'Alert Time',\n        key: 'totalAlertTime',\n        summary: \"sum\"\n      }, {\n        header: 'Agent Handle Count',\n        key: 'agentHandleCount',\n        summary: \"sum\"\n      }, {\n        header: 'Agent Interaction Time',\n        key: 'agentInteractionTime',\n        summary: \"sum\"\n      }, {\n        header: 'Hold Count',\n        key: 'holdCount',\n        summary: \"sum\"\n      }, {\n        header: 'Hold Time',\n        key: 'toltalHoldTime',\n        summary: \"sum\"\n      }, {\n        header: 'Wrap Up Count',\n        key: 'wrapUpCount',\n        summary: \"sum\"\n      }, {\n        header: 'Wrap Up Time',\n        key: 'totalWrapUpTime',\n        summary: \"sum\"\n      }, {\n        header: 'Total Queue Wait Time',\n        key: 'totalQueueWaitTime',\n        summary: \"sum\"\n      }, {\n        header: 'Queue Count',\n        key: 'queueCount',\n        summary: \"sum\"\n      }, {\n        header: 'First Queue',\n        key: 'firstQueue'\n      }, {\n        header: 'Abandoned',\n        key: 'abandoned',\n        summary: \"count\",\n        count: \"yes\"\n      }, {\n        header: 'Abandoned in Queue',\n        key: 'abandonQueue'\n      }, {\n        header: 'Went to Voicemail',\n        key: 'wentToVoicemail',\n        summary: \"count\",\n        count: \"yes\"\n      }, {\n        header: 'Voicemail Duration',\n        key: 'voicemailDuration',\n        summary: \"sum\"\n      }, {\n        header: 'Last Wrapup Code',\n        key: 'lastWrapup'\n      }];\n      return columns;\n    }).property(),\n    actions: {\n      setConversationDetail: function setConversationDetail(conversation) {\n        this.set(\"conversationDetail\", null);\n        this.set(\"conversationDetail\", conversation.conversationId);\n      },\n      cancelConversationDetails: function cancelConversationDetails() {\n        this.set(\"conversationDetail\", null);\n      },\n      calculateSummary: function calculateSummary() {\n        var results = this.pagedResults;\n        var columns = this.get(\"tableColumns\");\n        var callCount = 0;\n        var summaryData = {};\n        for (var x = 0; x < columns.length; x++) {\n          var column = columns[x];\n          if (column.summary) {\n            summaryData[column.key] = {\n              header: column.header,\n              key: column.key,\n              summary: column.summary,\n              count: column.count,\n              total: 0\n            };\n          }\n        }\n        for (var callPageIndex = 0; callPageIndex < results.length; callPageIndex++) {\n          var callPage = results[callPageIndex];\n          for (var callIndex = 0; callIndex < callPage.length; callIndex++) {\n            var call = callPage[callIndex];\n            callCount++;\n            for (var prop in summaryData) {\n              var sumType = summaryData[prop].summary;\n              if (sumType === \"sum\") {\n                summaryData[prop].total = summaryData[prop].total + call[prop];\n              } else if (sumType === \"count\") {\n                if (call[prop] === summaryData[prop].count) {\n                  summaryData[prop].total = summaryData[prop].total + 1;\n                }\n              }\n            }\n          }\n        }\n        summaryData[\"count\"] = {\n          total: callCount,\n          header: \"Interaction Count\"\n        };\n        var lst = [];\n        for (var _prop in summaryData) {\n          lst.push(summaryData[_prop]);\n        }\n        this.set(\"summary\", lst);\n        this.set(\"summaryMap\", summaryData);\n      },\n      generateCsv: function generateCsv() {\n        var cols = this.get(\"tableColumns\");\n        var pages = this.get(\"pagedResults\");\n        var rows = [];\n        var data = \"\";\n        var headerRow = [];\n        for (var _p = 0; _p < cols.length; _p++) {\n          headerRow.push(cols[_p].header);\n        }\n        rows.push(headerRow.join(\",\"));\n        if (this.get(\"csvWithSummary\") === true) {\n          var summary = this.get(\"summaryMap\");\n          var summaryRow = [];\n          summaryRow.push(\"Total\");\n          for (var p = 1; p < cols.length; p++) {\n            if (cols[p].summary) {\n              summaryRow.push(summary[cols[p].key].total);\n            } else {\n              summaryRow.push(\"\");\n            }\n          }\n          rows.push(summaryRow.join(\",\"));\n        }\n        for (var x = 0; x < pages.length; x++) {\n          for (var _p2 = 0; _p2 < pages[x].length; _p2++) {\n            var detailRow = [];\n            var details = pages[x][_p2];\n            for (var _p3 = 0; _p3 < cols.length; _p3++) {\n              detailRow.push(details[cols[_p3].key]);\n            }\n            rows.push(detailRow.join(\",\"));\n          }\n        }\n        data = rows.join(\"\\n\");\n        if (this.get(\"csvUrl\") !== null) {\n          window.URL.revokeObjectURL(this.get(\"csvUrl\"));\n        }\n\n        //var json = JSON.stringify(data),\n        var blob = new Blob([data], {\n          type: 'text/csv'\n        });\n        var url = window.URL.createObjectURL(blob);\n        this.set(\"hasCSVToDownload\", true);\n        var a = document.getElementById(\"downloadCSV\");\n        a.href = url;\n        a.download = \"ConversationDetail_\" + moment().format(\"YYYY-MM-DD\") + \".csv\";\n        //  a.click();\n        this.set(\"csvUrl\", url);\n        $('#downloadContainer').show();\n      },\n      setPage: function setPage(page) {\n        var pages = this.get(\"pagedResults\");\n        this.set(\"currentPage\", pages[page]);\n        this.set(\"currentPageIndex\", page);\n      },\n      selectConversation: function selectConversation(conversationId) {\n        this.set(\"selectedConversation\", conversationId);\n      },\n      closeConversation: function closeConversation() {\n        this.set(\"selectedConversation\", null);\n      },\n      toggleQueryPane: function toggleQueryPane() {\n        this.set(\"isQueryVisible\", !this.get(\"isQueryVisible\"));\n      },\n      executeQuery: function executeQuery() {\n        this.get(\"analyticsService\").logCallDetailReport();\n        var pageNumber = 1;\n        var queues = this.get(\"queueIds\");\n        var dnis = this.get(\"dnisValue\");\n        var ani = this.get(\"aniValue\");\n\n        //18215258401\n\n        if (ani) {\n          ani = ani.split(';,');\n        }\n        if (dnis) {\n          dnis = dnis.split(';,');\n        }\n        var interval = this.get(\"interval\");\n        var queueIds = [];\n        for (var x = 0; x < queues.length; x++) {\n          queueIds.push(queues[x]);\n        }\n        var query = {\n          query: {\n            \"interval\": interval\n          },\n          meta: {\n            queues: queueIds,\n            dnis: dnis,\n            ani: ani,\n            pageSize: 100,\n            pageNumber: pageNumber\n          }\n        };\n        Ember.Logger.log(query);\n        var self = this;\n        this.set(\"hasResults\", false);\n        this.set(\"queryInProgress\", true);\n        this.set(\"currentPageIndex\", 0);\n        this.set(\"currentPage\", []);\n        this.set(\"hasCSVToDownload\", false);\n        this.pagedResults.clear();\n        this.pageData.clear();\n        function getPage(number) {\n          query.meta.pageNumber = number;\n          self.get(\"requestService\").postResource('/execute/v1/calldetail', query).then(function (results) {\n            if (results && results.length > 0) {\n              self.pagedResults.addObject(results);\n              //    self.tableContentX.addObjects(results);\n              getPage(number + 1);\n              if (number === 0) {\n                self.set(\"currentPageIndex\", 0);\n                self.set(\"currentPage\", results);\n              }\n              var startTime = moment(results[0].conversationStart).format('ddd, MMMM Do YYYY, h:mm:ss a');\n              var endTime = moment(results[results.length - 1].conversationStart).format('ddd, MMMM Do YYYY, h:mm:ss a');\n              self.pageData.pushObject({\n                range: \"\".concat(startTime, \" - \").concat(endTime),\n                page: number - 1\n              });\n            } else {\n              self.set(\"queryInProgress\", false);\n              self.set(\"hasResults\", true);\n              self.send(\"calculateSummary\");\n              self.set(\"isQueryVisible\", false);\n              self.setSelectedPage(0);\n            }\n          }).catch(function (err) {\n            self.set(\"queryInProgress\", false);\n            var errormessage = JSON.stringify(err, null, \" \");\n            if (err.error) {\n              errormessage = err.error;\n            }\n            self.set(\"error\", errormessage);\n            Ember.Logger.error(err);\n            self.setSelectedPage(0);\n          });\n        }\n        this.set(\"queryInProgress\", true);\n        getPage(1);\n      }\n    }\n  });\n});","define(\"insights-web/components/chart-widget\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var SECONDS_FACTOR = 1000; // / 60;\n  var _default = _exports.default = Ember.Component.extend({\n    queueService: Ember.inject.service(),\n    colors: [\"#1e7145\", \"#da532c\", \"#9f00a7\", \"#00aba9\", \" #ff0097\", \"#2d89ef\", \"#99b433\", \"#b91d47\", \"#38200D\", \"#084081\", \"#80CDC1\", \"#bf812d\", \"#543005\", \"#C7EAE5\", \"#0868AC\", \"#4EB3D3\", \"#DFC27D\", \"#8C510A\", \"#38200D\"],\n    realtimeService: Ember.inject.service(),\n    _isTimeData: function _isTimeData() {\n      var configuration = this.get(\"configuration\");\n      var isTime = configuration.type === \"tAnswered\" || configuration.type === \"tAbandon\" || configuration.type === \"tAcd\" || configuration.type === \"tHeldComplete\";\n      this.set(\"isTimeData\", isTime);\n      return isTime;\n    },\n    queuesChanged: Ember.observer(\"queueService.queueList\", function () {\n      this.createChart();\n    }),\n    darkModeChanged: Ember.observer(\"darkMode\", function () {\n      var labelColor = \"#666\";\n      if (this.get(\"darkMode\") === true) {\n        labelColor = \"white\";\n      }\n      Chart.defaults.global.defaultFontColor = labelColor;\n    }),\n    getAggregateDataWithTimezoneOffset: function getAggregateDataWithTimezoneOffset(stat, start, end, queues, granularity) {\n      var realtimeService = this.get(\"realtimeService\");\n      return new Ember.RSVP.Promise(function (resolve, reject) {\n        realtimeService.getAggregateData(stat, start, end, queues, \"PT1H\").then(function (pureCloudData) {\n          if (granularity === \"P1H\") {\n            resolve(pureCloudData);\n          }\n          var aggregatedData = {\n            results: []\n          };\n          pureCloudData.results.forEach(function (result) {\n            var aggregatedResult = {\n              group: result.group,\n              data: []\n            };\n            var aggregatedMap = {};\n            result.data.forEach(function (data) {\n              var intervalStart = moment(data.interval.split(\"/\")[0]).local();\n              var intervalKey = intervalStart.startOf(\"day\").format();\n              if (granularity === \"P1W\") {\n                intervalKey = intervalStart.startOf(\"week\").format();\n              }\n              if (!aggregatedMap[intervalKey]) {\n                aggregatedMap[intervalKey] = {};\n              }\n              data.metrics.forEach(function (metric) {\n                if (!aggregatedMap[intervalKey][metric.metric]) {\n                  aggregatedMap[intervalKey][metric.metric] = {};\n                }\n                var keys = Object.keys(metric.stats);\n                keys.forEach(function (key) {\n                  if (aggregatedMap[intervalKey][metric.metric][key]) {\n                    aggregatedMap[intervalKey][metric.metric][key] = aggregatedMap[intervalKey][metric.metric][key] + metric.stats[key];\n                  } else {\n                    aggregatedMap[intervalKey][metric.metric][key] = metric.stats[key];\n                  }\n                });\n              });\n            });\n            Object.keys(aggregatedMap).forEach(function (intervalKey) {\n              var interval = {\n                interval: intervalKey,\n                metrics: []\n              };\n              Object.keys(aggregatedMap[intervalKey]).forEach(function (metricKey) {\n                var metric = {\n                  metric: metricKey,\n                  stats: aggregatedMap[intervalKey][metricKey]\n                };\n                interval.metrics.push(metric);\n              });\n              aggregatedResult.data.push(interval);\n            });\n            aggregatedData.results.push(aggregatedResult);\n          });\n          resolve(aggregatedData);\n        }).catch(function (err) {\n          reject();\n          console.error(\"unable to get aggregate data for widget \" + err);\n        });\n      });\n    },\n    processAggregateData: function processAggregateData(interval, previousPeriods, pureCloudData) {\n      var _this = this;\n      var configuration = this.get(\"configuration\");\n      var dataSetKey = configuration.dataSet;\n      try {\n        var labels = [];\n        var datasets = {};\n        var endVal = 1;\n        if (configuration.interval === \"P1D\") {\n          endVal = 0;\n        }\n\n        //if we are in a tz that isn't a full hour off of UTC\n        if (moment.parseZone().utcOffset() % 60 != 0) {\n          endVal = 1;\n        }\n        for (var x = previousPeriods - 1; x >= endVal; x--) {\n          //debugger;\n          var intervalStart = moment().endOf(interval).subtract(x, interval).format().split(\"T\")[0];\n          if (configuration.interval === \"PT1H\") {\n            intervalStart = moment().startOf(\"hour\").utc().subtract(x - 1, interval).format();\n          } else if (configuration.interval === \"P1W\") {\n            intervalStart = moment().endOf(interval).subtract(x, interval).add(1, \"day\").format().split(\"T\")[0];\n          }\n\n          //moment().startOf(interval).subtract(x , interval).utc().format().split(\"T\")[0];\n          labels.push(intervalStart);\n        }\n        if (typeof pureCloudData.results === \"undefined\") {\n          return;\n        }\n        pureCloudData.results.forEach(function (result) {\n          try {\n            for (var _x = 0; _x < result.data.length; _x++) {\n              var data = result.data[_x];\n              var _intervalStart = data.interval.split(\"T\")[0];\n              if (configuration.interval === \"PT1H\") {\n                var time = moment(data.interval.split(\"/\")[0]).utc();\n                _intervalStart = time.format();\n              }\n              var dataSet = result.group[dataSetKey];\n              if (typeof datasets[dataSet] === \"undefined\") {\n                datasets[dataSet] = {};\n              }\n              if (typeof datasets[dataSet][_intervalStart] === \"undefined\") {\n                var initialD = 1;\n                if (configuration.type === \"oServiceLevel\") {\n                  initialD = 0;\n                }\n                datasets[dataSet][_intervalStart] = {\n                  n: 0,\n                  d: initialD\n                };\n              }\n              if (configuration.type === \"oServiceLevel\") {\n                datasets[dataSet][_intervalStart].n = datasets[dataSet][_intervalStart].n + data.metrics[0].stats.numerator;\n                datasets[dataSet][_intervalStart].d = datasets[dataSet][_intervalStart].d + data.metrics[0].stats.denominator;\n              } else if (_this._isTimeData()) {\n                datasets[dataSet][_intervalStart].n = datasets[dataSet][_intervalStart].n + data.metrics[0].stats.sum;\n                datasets[dataSet][_intervalStart].d = datasets[dataSet][_intervalStart].d + data.metrics[0].stats.count;\n              } else {\n                datasets[dataSet][_intervalStart].n = datasets[dataSet][_intervalStart].n + data.metrics[0].stats.count;\n              }\n            }\n          } catch (ex) {\n            Ember.Logger.error(ex);\n          }\n        });\n        if (configuration.chartType === \"line\" || configuration.chartType === \"bar\") {\n          var data = {\n            labels: labels,\n            datasets: []\n          };\n          var colorIndex = 0;\n          Object.keys(datasets).forEach(function (dataSetLabel) {\n            var title = dataSetLabel;\n            var queueNameMap = _this.get(\"queueService\").queueIdToNameMap;\n            var queueName = dataSetLabel;\n            if (queueNameMap) {\n              queueName = queueNameMap[dataSetLabel];\n            }\n            if (typeof queueName !== \"undefined\" && queueName !== null && queueName !== \"\") {\n              title = queueName;\n            }\n            var backgrounColor = \"transparent\";\n            if (configuration.chartType === \"bar\") {\n              backgrounColor = _this.colors[colorIndex];\n            }\n            var dataset = {\n              label: title,\n              backgroundColor: backgrounColor,\n              borderColor: _this.colors[colorIndex],\n              pointBackgroundColor: _this.colors[colorIndex],\n              data: []\n            };\n            colorIndex++;\n            labels.forEach(function (label) {\n              if (typeof datasets[dataSetLabel][label] !== \"undefined\" && datasets[dataSetLabel][label] !== null) {\n                var val = datasets[dataSetLabel][label].n / datasets[dataSetLabel][label].d;\n                if (_this._isTimeData()) {\n                  val = val / SECONDS_FACTOR;\n                } else if (datasets[dataSetLabel][label].d > 1) {\n                  val = (val * 100).toFixed(2);\n                }\n                if (configuration.interval === \"P1D\") {\n                  var time = moment(label);\n                  if (configuration.hideWeekend !== true || configuration.hideWeekend === true && time.day() !== 0 && time.day() !== 6) {\n                    dataset.data.push(val);\n                  }\n                } else {\n                  dataset.data.push(val);\n                }\n              } else if (configuration.interval === \"P1D\") {\n                var _time = moment(label);\n                if (configuration.hideWeekend !== true || configuration.hideWeekend === true && _time.day() !== 0 && _time.day() !== 6) {\n                  dataset.data.push(0);\n                }\n              } else {\n                dataset.data.push(0);\n              }\n            });\n            data.datasets.push(dataset);\n          });\n          if (configuration.interval === \"PT1H\") {\n            var newLabels = [];\n            labels.forEach(function (label) {\n              newLabels.push(moment(label).format(\"h\") + \":00\");\n            });\n            data.labels = newLabels;\n          } else if (configuration.interval === \"P1D\") {\n            var _newLabels = [];\n            labels.forEach(function (label) {\n              var time = moment(label);\n              if (configuration.hideWeekend !== true || configuration.hideWeekend === true && time.day() !== 0 && time.day() !== 6) {\n                _newLabels.push(moment(label).format(\"dddd\"));\n              }\n            });\n            data.labels = _newLabels;\n          } else if (configuration.interval === \"P1M\") {\n            var _newLabels2 = [];\n            labels.forEach(function (label) {\n              _newLabels2.push(moment(label).format(\"MMM\"));\n            });\n            data.labels = _newLabels2;\n          }\n          this.set(\"chartData\", data);\n        } else if (configuration.chartType === \"pie\") {\n          var _data = {\n            labels: [],\n            datasets: [{\n              data: [],\n              backgroundColor: []\n            }]\n          };\n          var _colorIndex = 0;\n          Object.keys(datasets).forEach(function (dataSetLabel) {\n            var title = dataSetLabel;\n            var queueName = _this.get(\"queueService\").queueIdToNameMap[dataSetLabel];\n            if (typeof queueName !== \"undefined\" && queueName !== null && queueName !== \"\") {\n              title = queueName;\n            }\n            _data.labels.push(title);\n            var total = 0;\n            Object.keys(datasets[dataSetLabel]).forEach(function (key) {\n              var val = datasets[dataSetLabel][key];\n              total = total + val;\n            });\n            _data.datasets[0].data.push(total);\n            _data.datasets[0].backgroundColor.push(_this.colors[_colorIndex]);\n            _colorIndex++;\n          });\n          Ember.Logger.log(_data);\n          this.set(\"chartData\", _data);\n        }\n      } catch (ex) {\n        Ember.Logger.error(ex);\n      }\n    },\n    createChart: function createChart() {\n      var _this2 = this;\n      if (!this || this.isDestroyed) {\n        return;\n      }\n      var options = {\n        title: {\n          display: false\n        },\n        tooltips: {\n          mode: \"index\"\n        },\n        hover: {\n          mode: \"index\"\n        },\n        animation: {\n          animateScale: false\n        }\n      };\n      var previousPeriods = 9;\n      var configuration = this.get(\"configuration\");\n      var realtimeService = this.get(\"realtimeService\");\n      var interval = \"day\";\n      if (configuration.interval === \"PT1H\") {\n        interval = \"hour\";\n        previousPeriods = 12;\n      } else if (configuration.interval === \"P1W\") {\n        interval = \"week\";\n      } else if (configuration.interval === \"P1M\") {\n        interval = \"month\";\n      }\n      if (configuration.queueIds === null || configuration.queueIds.length === 0) {\n        //Ember.set(this, 'options.title.text', 'No Queues');\n        options.title.text = \"No Queues\";\n        return;\n      }\n      var graphend = moment().utc().endOf(interval).add(1, \"ms\");\n      var graphstart = moment().utc().startOf(interval).subtract(previousPeriods, interval); //.add(1, \"ms\");\n\n      //if we are in a tz that isn't a full hour off of UTC\n      if (moment.parseZone().utcOffset() % 60 != 0) {\n        graphstart = graphstart.add(1, \"hour\");\n        graphend = graphend.add(1, \"hour\");\n      }\n      if (configuration.interval === \"P1W\") {\n        graphend = graphend.add(1, \"hour\");\n      }\n      var metric = configuration.type.split(\"_\")[0];\n      if (configuration.interval === \"P1D\") {\n        this.getAggregateDataWithTimezoneOffset(metric, graphstart, graphend, configuration.queueIds, configuration.interval).then(function (pureCloudData) {\n          _this2.processAggregateData(interval, previousPeriods, pureCloudData);\n        }).catch(function (err) {\n          Ember.Logger.error(\"Falling back to legacy chart aggregation\", err);\n          realtimeService.getAggregateData(metric, graphstart, graphend, configuration.queueIds, configuration.interval).then(function (pureCloudData) {\n            _this2.processAggregateData(interval, previousPeriods, pureCloudData);\n          }).catch(function (err) {\n            console.log.error(\"Unable to get chart data \" + err);\n          });\n        });\n      } else {\n        realtimeService.getAggregateData(metric, graphstart, graphend, configuration.queueIds, configuration.interval).then(function (pureCloudData) {\n          _this2.processAggregateData(interval, previousPeriods, pureCloudData);\n        }).catch(function (err) {\n          console.log.error(\"Unable to get chart data \" + err);\n        });\n      }\n      if (this && !this.isDestroyed) {\n        var refreshInterval = 10 * 60 * 1000; //10 min\n\n        if (configuration.interval === \"PT1H\") {\n          refreshInterval = 3 * 60 * 1000; //3 min\n        }\n        Ember.run.later(this, function () {\n          if (!this || this.isDestroyed) {\n            return;\n          }\n          this.createChart();\n        }, refreshInterval);\n      }\n\n      //Ember.set(this, 'options.title.text', configuration.title);\n      options.title.text = configuration.title;\n      var labelColor = \"#666\";\n      if (this.get(\"darkMode\") === true) {\n        labelColor = \"white\";\n      }\n      Chart.defaults.global.defaultFontColor = labelColor;\n      if (configuration.chartType !== \"pie\") {\n        var labelString = null;\n        var shouldStack = configuration.stackValues;\n        if (configuration.type === \"oServiceLevel\" || this._isTimeData()) {\n          shouldStack = false;\n        }\n        var yAxesCallback = function yAxesCallback(v) {\n          return v.toLocaleString();\n        };\n        if (this._isTimeData()) {\n          labelString = \"Time in seconds\";\n        } else if (configuration.type === \"oServiceLevel\") {\n          labelString = \"%\";\n        }\n        var scales = {\n          xAxes: [{\n            scaleLabel: {\n              display: true\n            },\n            stacked: shouldStack\n          }],\n          yAxes: [{\n            scaleLabel: {\n              display: labelString !== null,\n              labelString: labelString\n            },\n            stacked: shouldStack,\n            ticks: {\n              userCallback: yAxesCallback,\n              min: 0\n            }\n          }]\n        };\n        options.scales = scales;\n      } else {\n        var _scales = {\n          xAxes: [{\n            scaleLabel: {\n              display: false\n            }\n          }],\n          yAxes: [{\n            stacked: configuration.stackValues\n          }]\n        };\n        options.scales = _scales;\n      }\n      this.set(\"options\", options);\n    },\n    didReceiveAttrs: function didReceiveAttrs() {\n      this.createChart();\n    },\n    options: null\n  });\n});","define(\"insights-web/components/color-picker\", [\"exports\", \"ember-pickr/components/color-picker\"], function (_exports, _colorPicker) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _colorPicker.default;\n    }\n  });\n});","define(\"insights-web/components/configuration/clock-widget\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = Ember.Component.extend({\n    timeZones: moment.tz.names()\n  });\n});","define(\"insights-web/components/configuration/image-widget\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = Ember.Component.extend({});\n});","define(\"insights-web/components/configuration/observation-graph\", [\"exports\", \"insights-web/utils/observationGraphStatTypes\"], function (_exports, _observationGraphStatTypes) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = Ember.Component.extend({\n    availableStats: [],\n    selectedStats: [],\n    queueService: Ember.inject.service(),\n    init: function init() {\n      this._super.apply(this, arguments);\n      this.set(\"queues\", this.get(\"queueService\").queueList);\n    },\n    valuesChanged: Ember.observer('queueService.queueList', 'queueService.queueList.[]', 'queueService.queueList.@each', function () {\n      this.set(\"queues\", this.get(\"queueService\").queueList);\n    }),\n    didReceiveAttrs: function didReceiveAttrs() {\n      var _this = this;\n      this._super.apply(this, arguments);\n      if (!this.get(\"editWidget\")) {\n        return;\n      }\n      if (!this.get(\"editWidget\").stats) {\n        this.get(\"editWidget\").stats = [];\n      }\n      this.availableStats.clear();\n      _observationGraphStatTypes.default.forEach(function (type) {\n        _this.availableStats.pushObject(type.text);\n      });\n      var selected = [];\n      this.get(\"editWidget\").stats.forEach(function (configuredKey) {\n        _observationGraphStatTypes.default.forEach(function (type) {\n          if (type.key === configuredKey) {\n            if (selected.indexOf(type.text) === -1) {\n              selected.push(type.text);\n            }\n            _this.availableStats.removeObject(type.text);\n          }\n        });\n      });\n      this.selectedStats.setObjects(selected);\n      if (!this.get(\"editWidget\").duration || this.get(\"editWidget\").duration === \"\") {\n        this.get(\"editWidget\").duration = 1;\n      }\n    },\n    configuredStatsObserver: Ember.observer('selectedStats', 'selectedStats.[]', 'selectedStats.@each', function () {\n      var _this2 = this;\n      this.get(\"editWidget\").stats.clear();\n      this.selectedStats.forEach(function (selectedName) {\n        _observationGraphStatTypes.default.forEach(function (type) {\n          if (type.text === selectedName) {\n            _this2.get(\"editWidget\").stats.push(type.key);\n          }\n        });\n      });\n    })\n  });\n});","define(\"insights-web/components/configuration/static-text-widget\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = Ember.Component.extend({\n    featuretoggleService: Ember.inject.service(),\n    init: function init() {\n      this._super.apply(this, arguments);\n      this.set(\"dashboardplusEnabled\", this.featuretoggleService.featureEnabled(\"dashboardplus\"));\n    },\n    didReceiveAttrs: function didReceiveAttrs() {\n      this._super.apply(this, arguments);\n      if (!this.editWidget.scrollSpeed) {\n        this.set('editWidget.scrollSpeed', 5);\n      }\n    }\n  });\n});","define(\"insights-web/components/configuration/webframe-widget\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = Ember.Component.extend({});\n});","define(\"insights-web/components/conversation-detail\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = Ember.Component.extend({\n    requestService: Ember.inject.service(),\n    conversationTimeline: [[\"Participant\", \"Segment\", \"Start\", \"End\"]],\n    _parseConversation: function _parseConversation(conversation, self) {\n      //let conversationData=[[\"Participant\", \"Segment\", \"Start\", \"End\"]];\n      Ember.Logger.log(conversation);\n      for (var x = 0; x < conversation.participants.length; x++) {\n        var participant = conversation.participants[x];\n        var name = participant.participantName || participant.purpose;\n        if (participant.attributes && participant.attributes.length > 0) {\n          self.set('hasAttributes', true);\n        }\n        for (var s = 0; s < participant.sessions.length; s++) {\n          var session = participant.sessions[s];\n          for (var y = 0; y < session.segments.length; y++) {\n            var segment = session.segments[y];\n            var start = moment(segment.segmentStart);\n            var end = moment();\n            if (segment.segmentEnd) {\n              end = moment(segment.segmentEnd);\n            }\n            self.conversationTimeline.pushObject([name, segment.segmentType, start.toDate(), end.toDate()]);\n          }\n        }\n      }\n      var duration = moment(conversation.participants[0].sessions[0].segments[conversation.participants[0].sessions[0].segments.length - 1].segmentEnd) - moment(conversation.participants[0].sessions[0].segments[0].segmentStart);\n      if (duration > 1000) {\n        self.set('hasData', true);\n      }\n    },\n    options: {\n      timeline: {\n        groupByRowLabel: true\n      },\n      height: 300\n    },\n    didReceiveAttrs: function didReceiveAttrs() {\n      this._super.apply(this, arguments);\n      var self = this;\n      self.set(\"conversation\", null);\n      self.conversationTimeline.clear();\n      self.conversationTimeline.pushObject([\"Participant\", \"Segment\", \"Start\", \"End\"]);\n      this.get(\"requestService\").getResource('/purecloud/conversation/' + this.get(\"conversationId\")).then(function (conversation) {\n        self.set(\"conversation\", conversation);\n        self.set(\"conversationJson\", JSON.stringify(conversation, null, 2));\n        self._parseConversation(conversation, self);\n      });\n    }\n  });\n});","define(\"insights-web/components/copy-button\", [\"exports\", \"ember-cli-clipboard/components/copy-button\"], function (_exports, _copyButton) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _copyButton.default;\n    }\n  });\n});","define(\"insights-web/components/count-display\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = Ember.Component.extend({});\n});","define(\"insights-web/components/database-config\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = Ember.Component.extend({\n    requestService: Ember.inject.service(),\n    notifications: Ember.inject.service('notification-messages'),\n    requiredPermissions: [{\n      domain: \"analytics\",\n      entity: \"conversationDetail\",\n      action: \"view\"\n    }, {\n      domain: \"analytics\",\n      entity: \"conversationAggregate\",\n      action: \"view\"\n    }, {\n      domain: \"analytics\",\n      entity: \"conversationProperties\",\n      action: \"view\"\n    }, {\n      domain: \"analytics\",\n      entity: \"userAggregate\",\n      action: \"view\"\n    }, {\n      domain: \"analytics\",\n      entity: \"userObservation\",\n      action: \"view\"\n    }, {\n      domain: \"analytics\",\n      entity: \"userDetail\",\n      action: \"view\"\n    }, {\n      domain: \"routing\",\n      entity: \"queue\",\n      action: \"view\"\n    }, {\n      domain: \"routing\",\n      entity: \"wrapupCode\",\n      action: \"view\"\n    }],\n    roles: [],\n    init: function init() {\n      this._super.apply(this, arguments);\n      var requiredPermissions = this.get(\"requiredPermissions\");\n      var self = this;\n      var requestService = self.get(\"requestService\");\n      requestService.getResource('/purecloud/myauthorization').then(function (authorization) {\n        self.set(\"hasOauthCreate\", authorization.hasOauthCreate);\n        self.set(\"doesNotHaveOauthCreate\", !authorization.hasOauthCreate);\n        self.set(\"hasRoleView\", authorization.hasRoleView);\n        if (!authorization.hasRoleView) {\n          self.set(\"roles\", authorization.roles);\n        } else {\n          authorization.roles.forEach(function (role) {\n            for (var y = 0; y < requiredPermissions.length; y++) {\n              var permission = requiredPermissions[y];\n              var wasFound = false;\n              for (var x = 0; x < role.permissionPolicies.length; x++) {\n                var policy = role.permissionPolicies[x];\n                if (policy.domain === permission.domain && (policy.entityName === permission.entity || policy.entityName === \"*\") && (policy.actionSet.indexOf(permission.action) > -1 || policy.actionSet.indexOf(\"*\") > -1)) {\n                  wasFound = true;\n                }\n              }\n              if (!wasFound) {\n                return;\n              }\n            }\n            self.roles.pushObject(role);\n          });\n        }\n      });\n      requestService.getResource('/dbsync/config').then(function (config) {\n        self.set(\"config\", config);\n      });\n    },\n    actions: {\n      createClient: function createClient() {\n        var self = this;\n        var requestService = this.get(\"requestService\");\n        var requestBody = {\n          roleId: this.selectedRole\n        };\n        requestService.postResource('/dbsync/createclient', requestBody).then(function () {\n          self.get('notifications').success('Saved successfully', {\n            autoClear: true,\n            clearDuration: 1200\n          });\n          requestService.getResource('/dbsync/config').then(function (config) {\n            self.set(\"config\", config);\n          });\n        }).catch(function (err) {\n          Ember.Logger.error(err);\n          self.get(\"analyticsService\").exception(err);\n          self.get('notifications').error('Unable to save dashboard settings.', {\n            autoClear: true,\n            clearDuration: 1200\n          });\n        });\n      }\n    }\n  });\n});","define(\"insights-web/components/datetime-banner\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = Ember.Component.extend({\n    init: function init() {\n      this._super.apply(this, arguments);\n      var self = this;\n      function updateTime() {\n        Ember.run.later(self, function () {\n          updateTime();\n        }, 1000);\n        if (self && !self.isDestroyed) {\n          self.set(\"currentTime\", moment().format(\"dddd, MMMM Do YYYY\"));\n        }\n      }\n      Ember.run.later(this, function () {\n        updateTime();\n      }, 1000);\n    }\n  });\n});","define(\"insights-web/components/debug-widget\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = Ember.Component.extend({\n    queueService: Ember.inject.service(),\n    realtimeService: Ember.inject.service(),\n    requestService: Ember.inject.service(),\n    purecloud: Ember.inject.service(),\n    notifications: Ember.inject.service(\"notification-messages\"),\n    actions: {\n      testNotificationSubscriptions: function testNotificationSubscriptions() {\n        for (var x = 0; x < 30; x++) {\n          this.realtimeService._openWebSocket();\n          this.realtimeService._openWebSocket();\n        }\n      },\n      downloadDebug: function downloadDebug() {\n        var _this = this;\n        this.get(\"purecloud\").getRequest(\"/api/v2/date\").then(function (date) {\n          _this.get(\"requestService\").getMe().then(function (me) {\n            var data = {\n              currentTime: moment().format(),\n              pollingStartTime: _this.get(\"realtimeService\").get(\"startPollingTime\"),\n              lastWebSocketNotification: _this.get(\"realtimeService\").get(\"lastWebSocketNotification\"),\n              queues: _this.get(\"queueService\").queueList,\n              queueUsers: _this.get(\"realtimeService\").get(\"queueUsers\"),\n              dashboardConfig: _this.get(\"dashboardConfiguration\"),\n              userPresence: _this.get(\"realtimeService\").get(\"userPresence\"),\n              userRoutingStatus: _this.get(\"realtimeService\").get(\"userRoutingStatus\"),\n              queueData: _this.get(\"realtimeService\").get(\"queueData\"),\n              observationData: _this.get(\"realtimeService\").get(\"observationData\"),\n              lastUpdateTimes: _this.get(\"realtimeService\").get(\"lastUpdateTimes\"),\n              notificationHistory: _this.get(\"realtimeService\").get(\"notificationHistory\"),\n              latestErrors: _this.get(\"requestService\").get(\"recentErrors\"),\n              campaignStats: _this.get(\"requestService\").get(\"campaignStats\"),\n              agentData: _this.get(\"requestService\").get(\"agentData\"),\n              queueAggregates: _this.get(\"realtimeService\").get(\"queueAggregateHistory\"),\n              me: me,\n              date: date\n            };\n\n            //\n            var element = document.createElement(\"a\");\n            element.setAttribute(\"href\", \"data:text/plain;charset=utf-8,\" + encodeURIComponent(JSON.stringify(data)));\n            element.setAttribute(\"download\", \"pureinsightsdebugdata.json\");\n            element.style.display = \"none\";\n            document.body.appendChild(element);\n            element.click();\n            document.body.removeChild(element);\n          });\n        });\n      }\n    }\n  });\n});","define(\"insights-web/components/dnis-value\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = Ember.Component.extend({\n    init: function init() {\n      this._super.apply(this, arguments);\n      this.set(\"description\", \"Filter based on calls matching a specific \" + this.get(\"title\") + \".\");\n    }\n  });\n});","define(\"insights-web/components/ember-chart\", [\"exports\", \"ember-cli-chart/components/ember-chart\"], function (_exports, _emberChart) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = _emberChart.default;\n});","define(\"insights-web/components/ember-popper-targeting-parent\", [\"exports\", \"ember-popper/components/ember-popper-targeting-parent\"], function (_exports, _emberPopperTargetingParent) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _emberPopperTargetingParent.default;\n    }\n  });\n});","define(\"insights-web/components/ember-popper\", [\"exports\", \"ember-popper/components/ember-popper\"], function (_exports, _emberPopper) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _emberPopper.default;\n    }\n  });\n});","define(\"insights-web/components/fa-icon\", [\"exports\", \"ember-font-awesome/components/fa-icon\"], function (_exports, _faIcon) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _faIcon.default;\n    }\n  });\n});","define(\"insights-web/components/fa-list\", [\"exports\", \"ember-font-awesome/components/fa-list\"], function (_exports, _faList) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _faList.default;\n    }\n  });\n});","define(\"insights-web/components/fa-stack\", [\"exports\", \"ember-font-awesome/components/fa-stack\"], function (_exports, _faStack) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _faStack.default;\n    }\n  });\n});","define(\"insights-web/components/geo-chart\", [\"exports\", \"ember-google-charts/components/geo-chart\"], function (_exports, _geoChart) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _geoChart.default;\n    }\n  });\n});","define(\"insights-web/components/google-chart\", [\"exports\", \"ember-google-charts/components/google-chart\"], function (_exports, _googleChart) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _googleChart.default;\n    }\n  });\n});","define(\"insights-web/components/grid-stack-item\", [\"exports\", \"ember-gridstack/components/grid-stack-item\"], function (_exports, _gridStackItem) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _gridStackItem.default;\n    }\n  });\n});","define(\"insights-web/components/grid-stack\", [\"exports\", \"ember-gridstack/components/grid-stack\"], function (_exports, _gridStack) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _gridStack.default;\n    }\n  });\n});","define(\"insights-web/components/grid-stat\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = Ember.Component.extend({});\n});","define(\"insights-web/components/labeled-radio-button\", [\"exports\", \"ember-radio-button/components/labeled-radio-button\"], function (_exports, _labeledRadioButton) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _labeledRadioButton.default;\n    }\n  });\n});","define(\"insights-web/components/line-chart\", [\"exports\", \"ember-google-charts/components/line-chart\"], function (_exports, _lineChart) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _lineChart.default;\n    }\n  });\n});","define(\"insights-web/components/maybe-in-element\", [\"exports\", \"ember-maybe-in-element/components/maybe-in-element\"], function (_exports, _maybeInElement) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _maybeInElement.default;\n    }\n  });\n});","define(\"insights-web/components/nav-bar\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = Ember.Component.extend({\n    actions: {\n      logOut: function logOut() {\n        window.location.replace(\"/server/oauth/logout\");\n      }\n    }\n  });\n});","define(\"insights-web/components/notification-container\", [\"exports\", \"ember-cli-notifications/components/notification-container\"], function (_exports, _notificationContainer) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _notificationContainer.default;\n    }\n  });\n});","define(\"insights-web/components/notification-message\", [\"exports\", \"ember-cli-notifications/components/notification-message\", \"ember-get-config\"], function (_exports, _notificationMessage, _emberGetConfig) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var globals = _emberGetConfig.default['ember-cli-notifications'] || {}; // Import app config object\n  var _default = _exports.default = _notificationMessage.default.extend({\n    init: function init() {\n      this._super.apply(this, arguments);\n      this.icons = globals.icons || 'font-awesome';\n    }\n  });\n});","define(\"insights-web/components/observation-graph\", [\"exports\", \"insights-web/utils/observationGraphStatTypes\"], function (_exports, _observationGraphStatTypes) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var ColorMap = {\n    \"oWaiting\": \"#ff5050\",\n    \"oInteracting\": \"#0fcf66\",\n    \"oUserRoutingStatuses.INTERACTING\": \"#0fcf66\",\n    \"oUserRoutingStatuses.IDLE\": \"#b297c3\",\n    \"oUserRoutingStatuses.NOT_RESPONDING\": \"#ffc000\"\n  };\n  var _default = _exports.default = Ember.Component.extend({\n    chartHeight: \"100%\",\n    // Calls in queue waiting - red - oWaiting\n    // Active calls - green  - oUserRoutingStatuses.INTERACTING\n    // Agents idle waiting on calls - blue - oUserRoutingStatuses.IDLE\n    // Not Responding - purple - oUserRoutingStatuses.NOT_RESPONDING\n    observationStatService: Ember.inject.service(),\n    getLabel: function getLabel(stat) {\n      if (this.get(\"height\") <= 4) {\n        return stat.legendText;\n      }\n      return stat.text;\n    },\n    scheduleCreateChart: function scheduleCreateChart() {\n      if (!this || this.isDestroyed) {\n        return;\n      }\n      Ember.run.debounce(this, this.createChart, 150);\n    },\n    createChart: function createChart() {\n      var _this = this;\n      if (!this || this.isDestroyed) {\n        return;\n      }\n      if (this.get(\"imgsrc\")) {\n        return;\n      }\n      this.set(\"chartHeight\", this.$().parents('.grid-stack-item-content').height() - 55 + \"px\");\n      var self = this;\n      var configuration = this.get(\"configuration\");\n      var observationStatService = this.get(\"observationStatService\");\n      var metrics = [];\n      var options = {\n        tooltip: {\n          trigger: 'axis',\n          axisPointer: {\n            type: 'cross',\n            label: {\n              backgroundColor: '#6a7985'\n            }\n          }\n        },\n        legend: {\n          data: []\n        },\n        grid: {\n          left: '3%',\n          right: '4%',\n          bottom: '3%',\n          containLabel: true\n        },\n        xAxis: [{\n          type: 'category',\n          boundaryGap: false,\n          data: []\n        }],\n        yAxis: [{\n          type: 'value'\n        }],\n        series: []\n      };\n      var _loop = function _loop() {\n        var stat = configuration.stats[x];\n        _observationGraphStatTypes.default.forEach(function (type) {\n          if (type.key === stat) {\n            options.legend.data.push(_this.getLabel(type));\n            metrics.push(type.observationMetric);\n            options.series.push({\n              name: _this.getLabel(type),\n              type: 'line',\n              stack: 'Total',\n              symbol: 'none',\n              areaStyle: {\n                color: ColorMap[type.observationMetric]\n              },\n              emphasis: {\n                focus: 'series'\n              },\n              lineStyle: {\n                width: 0\n              },\n              sampling: 'lttb',\n              data: [],\n              color: ColorMap[type.observationMetric]\n            });\n          }\n        });\n      };\n      for (var x = configuration.stats.length - 1; x >= 0; x--) {\n        _loop();\n      }\n      var dataSets = observationStatService.getDataTable(configuration.agentStatusQueue, configuration.queueIds, metrics, configuration.duration);\n      for (var r = 0; r < dataSets.length; r++) {\n        var row = dataSets[r];\n        options.xAxis[0].data.push(row[0]);\n        for (var c = 1; c < row.length; c++) {\n          options.series[c - 1].data.push(row[c]);\n        }\n      }\n      var chartDiv = this.$().find(\"div\")[0];\n      var myChart = echarts.init(chartDiv, this.get(\"darkMode\") ? 'dark' : null);\n      Ember.run.later(function () {\n        myChart.setOption(options);\n        myChart.resize();\n      }, 500);\n    },\n    darkModeChanged: Ember.observer('darkMode', function () {\n      this.scheduleCreateChart();\n    }),\n    valuesChanged: Ember.observer('observationStatService.updateFlag', 'observationStatService.stats', function () {\n      this.scheduleCreateChart();\n    }),\n    willDestroyElement: function willDestroyElement() {\n      this._super.apply(this, arguments);\n      var parentContainer = this.get('parentContainer');\n      if (parentContainer && parentContainer.$()) {\n        parentContainer.$().off('resizestop');\n      }\n    },\n    didRender: function didRender() {\n      var axisUnit = \"hour\";\n      this._super.apply(this, arguments);\n      this.scheduleCreateChart();\n      var self = this;\n      var parentContainer = this.get('parentContainer');\n      if (parentContainer && parentContainer.$()) {\n        parentContainer.$().on('resizestop', function (event, element) {\n          self.scheduleCreateChart();\n          self.set(\"chartHeight\", element.size.height - 55 + \"px\");\n        });\n      }\n    },\n    getDefaultOptions: function getDefaultOptions(widgetheight) {\n      var yAxisFormat = this.yAxisFormat;\n      var legendType = \"plain\";\n      var visual = this.visual;\n\n      // specify chart configuration item and data\n      return {\n        grid: {\n          containLabel: true\n        },\n        tooltip: {\n          trigger: \"axis\",\n          formatter: function formatter(params, ticket, callback) {\n            var tooltip = \"\";\n            params.forEach(function (m) {\n              tooltip = m.marker + \" \" + m.seriesName + \" \" + textformatter.format(m.data, yAxisFormat) + \"<br/>\" + tooltip;\n            });\n            return tooltip;\n          }\n        },\n        legend: {\n          type: legendType,\n          data: []\n        },\n        toolbox: {\n          orient: 'vertical',\n          feature: {\n            dataZoom: {\n              show: true,\n              title: {\n                zoom: \"Zoom\",\n                back: \"Undo Zoom\"\n              }\n            },\n            restore: {\n              title: \"Reset\"\n            }\n          },\n          tooltip: {\n            confine: true\n          },\n          right: '15px'\n        },\n        xAxis: {\n          type: 'category',\n          data: [],\n          axisLabel: {\n            interval: 1\n          }\n        },\n        yAxis: {\n          axisLabel: {\n            show: true\n          },\n          type: \"value\"\n        },\n        series: []\n      };\n    },\n    options: null\n  });\n});","define(\"insights-web/components/pie-chart\", [\"exports\", \"ember-google-charts/components/pie-chart\"], function (_exports, _pieChart) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _pieChart.default;\n    }\n  });\n});","define(\"insights-web/components/power-select-multiple\", [\"exports\", \"ember-power-select/components/power-select-multiple\"], function (_exports, _powerSelectMultiple) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _powerSelectMultiple.default;\n    }\n  });\n});","define(\"insights-web/components/power-select-multiple/trigger\", [\"exports\", \"ember-power-select/components/power-select-multiple/trigger\"], function (_exports, _trigger) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _trigger.default;\n    }\n  });\n});","define(\"insights-web/components/power-select\", [\"exports\", \"ember-power-select/components/power-select\"], function (_exports, _powerSelect) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _powerSelect.default;\n    }\n  });\n});","define(\"insights-web/components/power-select/before-options\", [\"exports\", \"ember-power-select/components/power-select/before-options\"], function (_exports, _beforeOptions) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _beforeOptions.default;\n    }\n  });\n});","define(\"insights-web/components/power-select/no-matches-message\", [\"exports\", \"ember-power-select/components/power-select/no-matches-message\"], function (_exports, _noMatchesMessage) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _noMatchesMessage.default;\n    }\n  });\n});","define(\"insights-web/components/power-select/options\", [\"exports\", \"ember-power-select/components/power-select/options\"], function (_exports, _options) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _options.default;\n    }\n  });\n});","define(\"insights-web/components/power-select/placeholder\", [\"exports\", \"ember-power-select/components/power-select/placeholder\"], function (_exports, _placeholder) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _placeholder.default;\n    }\n  });\n});","define(\"insights-web/components/power-select/power-select-group\", [\"exports\", \"ember-power-select/components/power-select/power-select-group\"], function (_exports, _powerSelectGroup) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _powerSelectGroup.default;\n    }\n  });\n});","define(\"insights-web/components/power-select/search-message\", [\"exports\", \"ember-power-select/components/power-select/search-message\"], function (_exports, _searchMessage) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _searchMessage.default;\n    }\n  });\n});","define(\"insights-web/components/power-select/trigger\", [\"exports\", \"ember-power-select/components/power-select/trigger\"], function (_exports, _trigger) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _trigger.default;\n    }\n  });\n});","define(\"insights-web/components/query-panel\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = Ember.Component.extend({});\n});","define(\"insights-web/components/queue-interaction-list\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = Ember.Component.extend({\n    queueService: Ember.inject.service(),\n    statCalculation: Ember.inject.service(),\n    realtimeService: Ember.inject.service(),\n    expander: [],\n    _queueIds: [],\n    _stats: null,\n    data: null,\n    isLoading: true,\n    headers: [],\n    init: function init() {\n      this._super.apply(this, arguments);\n    },\n    didReceiveAttrs: function didReceiveAttrs() {\n      var _this = this;\n      this._super.apply(this, arguments);\n      this.get(\"realtimeService\").get(\"queueData\");\n      this.get(\"realtimeService\").get(\"observationData\");\n      this._queueIds.clear();\n      this.configuration.queueIds.forEach(function (queueId) {\n        _this._queueIds.pushObject(queueId);\n      });\n      this.updateTimers();\n    },\n    _loadData: function _loadData() {\n      var statCalculation = this.get(\"statCalculation\");\n      var data = statCalculation.getStatValue(this._queueIds, \"calls_waiting_list\", null, this.configuration.mediaType);\n      data.data.forEach(function (d) {\n        var diff = moment() - moment(d.observationDate);\n        d.timeWaiting = moment.utc(diff).format(\"HH:mm:ss\");\n      });\n      this.set(\"calls\", data.data);\n    },\n    dataObserver: Ember.observer('realtimeService.queueData', 'realtimeService.observationData', function () {\n      this._loadData();\n    }),\n    updateTimers: function updateTimers() {\n      Ember.run.later(this, function () {\n        this.updateTimers();\n      }, 1000); //every second\n\n      this.updateTimersImpl();\n    },\n    updateTimersImpl: function updateTimersImpl() {\n      var data = this.get(\"calls\");\n      if (data) {\n        for (var x = 0; x < data.length; x++) {\n          var row = data[x];\n          var diff = moment() - moment(row.observationDate);\n          Ember.set(row, 'timeWaiting', moment.utc(diff).format(\"HH:mm:ss\"));\n        }\n      }\n    }\n  });\n});","define(\"insights-web/components/queue-selector\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = Ember.Component.extend({\n    requestService: Ember.inject.service(),\n    queueService: Ember.inject.service(),\n    storageService: Ember.inject.service(),\n    isLoading: true,\n    selectedQueueNames: [],\n    description: \"Select which queues are included in the result set.\",\n    title: 'Queues',\n    valuesChanged: Ember.observer('queueService.queueMap', 'selectedQueueNames', 'selectedQueueNames.@each', function () {\n      var selectedQueueNames = this.get(\"selectedQueueNames\");\n      var availableQueueIds = [];\n      var availableQueueNames = [];\n      var map = this.get('queueService').get('queueMap');\n      if (map) {\n        this.set(\"isLoading\", false);\n      }\n      var allKeys = Object.keys(map); //map of name - id pair\n\n      for (var x = allKeys.length - 1; x >= 0; x--) {\n        var queueName = allKeys[x];\n        var queueId = map[queueName];\n        if (selectedQueueNames.indexOf(queueName) === -1) {\n          availableQueueIds.push(queueId);\n          availableQueueNames.push(queueName);\n        }\n      }\n      selectedQueueNames.sort();\n      availableQueueNames.sort();\n      var newQueueIds = [];\n      selectedQueueNames.forEach(function (queueName) {\n        for (var _x = allKeys.length - 1; _x >= 0; _x--) {\n          if (queueName === allKeys[_x]) {\n            var _queueId = map[queueName];\n            newQueueIds.pushObject(_queueId);\n          }\n        }\n      });\n      this.selectedQueueIds.clear();\n      this.selectedQueueIds.pushObjects(newQueueIds);\n\n      //    this.set(\"selectedQueueIds\", selectedQueueIds);\n      this.set(\"availableQueueIds\", availableQueueIds);\n      this.set(\"availableQueueNames\", availableQueueNames);\n    }),\n    init: function init() {\n      this._super.apply(this, arguments);\n      this.get(\"queueService\");\n      // },\n      // didReceiveAttrs(){\n      //   this._super(...arguments);\n\n      var selectedQueueIds = this.get(\"selectedQueueIds\");\n      var selectedQueueNames = [];\n      var availableQueueIds = [];\n      var availableQueueNames = [];\n      var map = this.get('queueService').get('queueMap');\n      if (!map) {\n        return;\n      }\n      var allKeys = Object.keys(map); //map of name - id pair\n\n      if (allKeys.length > 0) {\n        this.set(\"isLoading\", false);\n      }\n      for (var x = allKeys.length - 1; x >= 0; x--) {\n        var queueName = allKeys[x];\n        var queueId = map[queueName];\n        if (selectedQueueIds.indexOf(queueId) > -1) {\n          selectedQueueNames.pushObject(queueName);\n        } else {\n          availableQueueIds.pushObject(queueId);\n          availableQueueNames.pushObject(queueName);\n        }\n      }\n      selectedQueueNames.sort();\n      availableQueueNames.sort();\n      this.set(\"selectedQueueNames\", selectedQueueNames);\n      this.set(\"availableQueueIds\", availableQueueIds);\n      this.set(\"availableQueueNames\", availableQueueNames);\n    }\n  });\n});","define(\"insights-web/components/queue-stats\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = Ember.Component.extend({\n    queueService: Ember.inject.service(),\n    statCalculation: Ember.inject.service(),\n    realtimeService: Ember.inject.service(),\n    timeDiff: Ember.inject.service(),\n    expander: [],\n    _queueIds: null,\n    _stats: null,\n    data: null,\n    isLoading: true,\n    headers: [],\n    init: function init() {\n      this._super.apply(this, arguments);\n    },\n    updateTimers: function updateTimers() {\n      if (!this || this.isDestroyed) {\n        return;\n      }\n      Ember.run.later(this, function () {\n        if (!this || this.isDestroyed) {\n          return;\n        }\n        this.updateTimers();\n      }, 1000); //every second\n\n      this._loadData();\n    },\n    didReceiveAttrs: function didReceiveAttrs() {\n      this._super.apply(this, arguments);\n      this.get(\"realtimeService\").get(\"queueData\");\n      this.get(\"realtimeService\").get(\"observationData\");\n    },\n    didInsertElement: function didInsertElement() {\n      var _this = this;\n      this._super.apply(this, arguments);\n      var configuration = this.get(\"configuration\");\n      var _queueIds = [];\n      configuration.queueIds.forEach(function (queueId) {\n        _queueIds.pushObject(queueId);\n      });\n      this.set(\"_queueIds\", _queueIds);\n      this.set(\"_stats\", []);\n      configuration.stats.forEach(function (stat) {\n        _this._stats.pushObject(stat);\n      });\n      if (!configuration.fontsize) {\n        configuration.fontsize = \"18\";\n      }\n      this._loadData();\n      for (var x = 0; x < this._stats.length; x++) {\n        if (this._stats[x] === \"longest_call_waiting\") {\n          //need to refresh the UI on a quicker timer\n          this.updateTimers();\n        }\n      }\n    },\n    queueNameObserver: Ember.observer(\"configuration\", \"configuration.queueIds\", \"configuration.queueIds.@each\", function () {\n      var _this2 = this;\n      this._queueIds.clear();\n      this.configuration.queueIds.forEach(function (queueId) {\n        _this2._queueIds.pushObject(queueId);\n      });\n    }),\n    _formatTimeString: function _formatTimeString(start, end) {\n      start = this.get(\"timeDiff\").skewAdjustedTime(start);\n      var diff = moment.duration(end.diff(start));\n\n      //Get hours and subtract from duration\n      var hours = diff.hours();\n      diff.subtract(moment.duration(hours, \"hours\"));\n      if (diff.days() > 0) {\n        hours = hours + 24 * diff.days();\n      }\n\n      //Get Minutes and subtract from duration\n      var minutes = diff.minutes();\n      diff.subtract(moment.duration(minutes, \"minutes\"));\n\n      //Get seconds\n      var seconds = diff.seconds();\n      if (seconds < 10) {\n        seconds = \"0\" + seconds;\n      }\n      if (minutes < 10) {\n        minutes = \"0\" + minutes;\n      }\n      if (hours < 10) {\n        hours = \"0\" + hours;\n      }\n      return \"\".concat(hours, \":\").concat(minutes, \":\").concat(seconds);\n    },\n    _loadData: function _loadData() {\n      if (!this || this.isDestroyed) {\n        return;\n      }\n      var startTime = moment().startOf(\"day\").utc().toISOString();\n      this.set(\"isLoading\", false);\n      var statCalculation = this.get(\"statCalculation\");\n      var queueService = this.get(\"queueService\");\n      var _data = [];\n      while (this.expander.length < this._queueIds.length) {\n        this.expander.pushObject(false);\n      }\n      var mediaType = this.configuration.mediaType;\n      if (queueService.queueIdToNameMap) {\n        for (var y = 0; y < this._queueIds.length; y++) {\n          var queueId = this._queueIds[y];\n          var rowData = {\n            isExpanded: this.expander[y],\n            stats: [{\n              value: queueService.queueIdToNameMap[queueId]\n            }]\n          };\n          for (var x = 0; x < this._stats.length; x++) {\n            var statKey = this._stats[x];\n            var val = 0;\n            var statValue = statCalculation.getStatValue([queueId], statKey, startTime, mediaType);\n            if (statValue) {\n              val = statValue.data;\n              if (statValue.isTimeSince === true && statValue.data) {\n                val = this._formatTimeString(statValue.data, moment());\n              }\n            }\n            rowData.stats.push({\n              value: val,\n              column: statCalculation.getStatDisplayName(statKey)\n            });\n          }\n          _data.push(rowData);\n        }\n      }\n      var headers = [];\n      headers.push(\"Queue\");\n      for (var _x = 0; _x < this._stats.length; _x++) {\n        var _statKey = this._stats[_x];\n        headers.push(statCalculation.getStatDisplayName(_statKey));\n      }\n      this.set(\"headers\", headers);\n      this.set(\"data\", _data);\n    },\n    dataObserver: Ember.observer(\"realtimeService.queueData\", \"realtimeService.observationData\", \"queueService.queueIdToNameMap\", function () {\n      try {\n        this._loadData();\n      } catch (ex) {\n        console.log(ex);\n      }\n    }),\n    actions: {\n      toggleExpand: function toggleExpand(index) {\n        this.expander.arrayContentWillChange(index);\n        this.expander[index] = !this.expander[index];\n        Ember.set(this.data[index], \"isExpanded\", this.expander[index]);\n        ///    Ember.set(this.expander, `total.${year}`, data.total);\n      }\n    }\n  });\n});","define(\"insights-web/components/radio-button-input\", [\"exports\", \"ember-radio-button/components/radio-button-input\"], function (_exports, _radioButtonInput) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _radioButtonInput.default;\n    }\n  });\n});","define(\"insights-web/components/radio-button\", [\"exports\", \"ember-radio-button/components/radio-button\"], function (_exports, _radioButton) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _radioButton.default;\n    }\n  });\n});","define(\"insights-web/components/realtime-debug-view\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = Ember.Component.extend({\n    queueService: Ember.inject.service(),\n    realtimeService: Ember.inject.service(),\n    requestService: Ember.inject.service(),\n    purecloud: Ember.inject.service(),\n    notifications: Ember.inject.service('notification-messages'),\n    dashboardString: \"\",\n    wrapups: [],\n    queueNameObserver: Ember.observer('queueService.queueList', 'queueService.@each', function () {\n      this.set(\"queues\", this.get(\"queueService\").queueList);\n    }),\n    dashboardConfigurations: Ember.observer('realtimeService.dashboardConfiguration', function () {\n      Ember.Logger.log(\"got dashbosed\");\n      this.set(\"dashboardString\", JSON.stringify(this.get('realtimeService').get(\"dashboardConfiguration\"), null, \" \"));\n      //return this.get('realtimeService').get(\"dashboardConfiguration\");\n    }),\n    observationData: Ember.computed('realtimeService.observationData', function () {\n      return JSON.stringify(this.get('realtimeService').get(\"observationData\"), null, \" \");\n    }),\n    userRoutingStatus: Ember.computed('realtimeService.userRoutingStatus', function () {\n      return JSON.stringify(this.get('realtimeService').get(\"userRoutingStatus\"), null, \" \");\n    }),\n    queueUsers: Ember.computed('realtimeService.queueUsers', function () {\n      return JSON.stringify(this.get('realtimeService').get(\"queueUsers\"), null, \" \");\n    }),\n    userPresence: Ember.computed('realtimeService.userPresence', function () {\n      return JSON.stringify(this.get('realtimeService').get(\"userPresence\"), null, \" \");\n    }),\n    queueData: Ember.computed('realtimeService.queueData', function () {\n      return JSON.stringify(this.get('realtimeService').get(\"queueData\"), null, \" \");\n    }),\n    wrapupObserver: Ember.observer('wrapups', 'wrapups.@each', function () {\n      this.set(\"wrapupData\", JSON.stringify(this.get(\"wrapups\"), null, \" \"));\n    }),\n    init: function init() {\n      this._super.apply(this, arguments);\n      this.get(\"queueService\");\n      this.get(\"wrapups\");\n      this.set(\"queues\", this.get(\"queueService\").queueList);\n      this.get('realtimeService').get(\"userData\");\n      var realtimeService = this.get(\"realtimeService\");\n      realtimeService.get(\"dashboardConfiguration\");\n      this.set(\"userId\", this.get(\"purecloud\").getUserId());\n      var self = this;\n      this.get(\"realtimeService\").getDashboards().then(function (dashboards) {\n        self.set(\"dashboardConfiguration\", dashboards);\n        self.set(\"dashboardString\", JSON.stringify(dashboards, null, \" \"));\n        dashboards.dashboards.forEach(function (dashboard) {\n          dashboard.widgets.forEach(function (widget) {\n            if (widget.widgetType === \"topwrapups\") {\n              var end = moment().endOf(\"day\");\n              var start = moment().startOf(\"day\");\n              realtimeService.getConversationSummary(\"wrapUpCode\", widget.count, start, end, widget.queueIds, 100).then(function (values) {\n                self.wrapups.pushObject({\n                  title: widget.title,\n                  values: values\n                });\n              });\n            }\n          });\n        });\n      });\n    },\n    actions: {\n      copyToClipboard: function copyToClipboard() {\n        var _this = this;\n        this.get(\"purecloud\").getRequest(\"/api/v2/date\").then(function (date) {\n          _this.get(\"requestService\").getMe().then(function (me) {\n            var data = {\n              currentTime: moment().format(),\n              pollingStartTime: _this.get('realtimeService').get(\"startPollingTime\"),\n              lastWebSocketNotification: _this.get('realtimeService').get(\"lastWebSocketNotification\"),\n              queues: _this.get(\"queueService\").queueList,\n              queueUsers: _this.get('realtimeService').get(\"queueUsers\"),\n              dashboardConfig: _this.get(\"dashboardConfiguration\"),\n              userPresence: _this.get('realtimeService').get(\"userPresence\"),\n              userRoutingStatus: _this.get('realtimeService').get(\"userRoutingStatus\"),\n              queueData: _this.get('realtimeService').get(\"queueData\"),\n              observationData: _this.get('realtimeService').get(\"observationData\"),\n              lastUpdateTimes: _this.get('realtimeService').get(\"lastUpdateTimes\"),\n              notificationHistory: _this.get('realtimeService').get(\"notificationHistory\"),\n              latestErrors: _this.get('requestService').get(\"recentErrors\"),\n              campaignStats: _this.get('requestService').get(\"campaignStats\"),\n              agentData: _this.get('requestService').get(\"agentData\"),\n              queueAggregates: _this.get('realtimeService').get(\"queueAggregateHistory\"),\n              me: me,\n              date: date\n            };\n\n            //\n            var element = document.createElement('a');\n            element.setAttribute('href', 'data:text/plain;charset=utf-8,' + encodeURIComponent(JSON.stringify(data)));\n            element.setAttribute('download', \"pureinsightsdebugdata.json\");\n            element.style.display = 'none';\n            document.body.appendChild(element);\n            element.click();\n            document.body.removeChild(element);\n          });\n        });\n      }\n    }\n  });\n});","define(\"insights-web/components/realtime-grid\", [\"exports\", \"insights-web/utils/widgetstattypes\", \"insights-web/utils/agentstattypes\", \"insights-web/utils/widgettypes\", \"insights-web/utils/stattimeperiods\", \"insights-web/utils/colorDefaults\", \"insights-web/utils/graphconfigoptions\", \"ember-cli-guid\", \"insights-web/config/environment\"], function (_exports, _widgetstattypes, _agentstattypes, _widgettypes, _stattimeperiods, _colorDefaults, _graphconfigoptions, _emberCliGuid, _environment) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var STORAGE_ACTIVE_TAB_KEY = \"pureInsightsActiveTab\";\n  var HEADLESS_COOKIE_NAME = \"pureinsightsHeadless\";\n  var _default = _exports.default = Ember.Component.extend({\n    cookies: Ember.inject.service(),\n    queueService: Ember.inject.service(),\n    featuretoggleService: Ember.inject.service(),\n    statusService: Ember.inject.service(),\n    campaignService: Ember.inject.service(),\n    realtimeService: Ember.inject.service(),\n    requestService: Ember.inject.service(),\n    errorService: Ember.inject.service(),\n    analyticsService: Ember.inject.service(),\n    storageService: Ember.inject.service(),\n    timeDiff: Ember.inject.service(),\n    missingPermissionService: Ember.inject.service(),\n    purecloud: Ember.inject.service(),\n    notifications: Ember.inject.service(\"notification-messages\"),\n    embeddedService: Ember.inject.service(),\n    graphConfigOptions: _graphconfigoptions.default,\n    availableAgentStatTypes: [],\n    agentStatusSort: [\"Name\", \"Status\", \"Duration\"],\n    slaMediaTypes: [\"All\", \"Voice\", \"Email\", \"Chat\", \"Callback\", \"Message\"],\n    fontJustificationOptions: [\"Left\", \"Center\", \"Right\"],\n    statTimePeriods: _stattimeperiods.default,\n    isDashboardLayoutLocked: false,\n    isHeadlessCookiePresent: function isHeadlessCookiePresent() {\n      var cookieService = this.get(\"cookies\");\n      var cookie = JSON.parse(cookieService.read(\"purecloudTokenV2\"));\n      return cookie[HEADLESS_COOKIE_NAME];\n    },\n    isHeadlessSession: function isHeadlessSession() {\n      return this.purecloud.getSessionId() === null;\n    },\n    rotateDashboards: function rotateDashboards() {\n      if (this.isDestroyed) {\n        return;\n      }\n      var config = this.get(\"dashboardConfiguration\");\n      if (config.rotateDashboards === true) {\n        var activeTab = this.get(\"activeTabId\");\n        var nextTabId = this.dashboardConfiguration.dashboards[0].id;\n        for (var x = 0; x < this.dashboardConfiguration.dashboards.length - 1; x++) {\n          if (this.dashboardConfiguration.dashboards[x].id === activeTab) {\n            nextTabId = this.dashboardConfiguration.dashboards[x + 1].id;\n          }\n        }\n        this.set(\"activeTabId\", nextTabId);\n      }\n      var interval = 10000;\n      if (config.rotateSeconds && config.rotateSeconds > 0) {\n        interval = config.rotateSeconds * 1000;\n      }\n\n      //Ember.run.later(this.rotateDashboards, interval);\n      Ember.run.later(this, function () {\n        if (!this || this.isDestroyed) {\n          return;\n        }\n        this.rotateDashboards();\n      }, interval);\n    },\n    isStatGrid: Ember.computed(\"activeTabId\", function () {\n      var is = false;\n      if (this.dashboardConfiguration.dashboards) {\n        is = typeof this.dashboardConfiguration.dashboards[this.get(\"currentDashboardIndex\")].statgrid !== \"undefined\" && this.dashboardConfiguration.dashboards[this.get(\"currentDashboardIndex\")].statgrid !== null;\n      }\n      return is;\n    }),\n    selectedDashboardObserver: Ember.observer(\"activeTabId\", function () {\n      if (this.dashboardConfiguration.dashboards) {\n        for (var x = 0; x < this.dashboardConfiguration.dashboards.length; x++) {\n          var dashboard = this.dashboardConfiguration.dashboards[x];\n          if (dashboard.id === this.get(\"activeTabId\")) {\n            this.set(\"currentDashboardIndex\", x);\n            return;\n          }\n        }\n        this.set(\"currentDashboardIndex\", 0);\n        this.set(\"activeTabId\", this.dashboardConfiguration.dashboards[0].id);\n      }\n    }),\n    queueNameObserver: Ember.observer(\"queueService.queueList\", \"queueService.@each\", function () {\n      this.set(\"queues\", this.get(\"queueService\").queueList);\n    }),\n    campaignNameObserver: Ember.observer(\"campaignService.campaignList\", \"campaignService.@each\", function () {\n      this.set(\"campaigns\", this.get(\"campaignService\").campaignList);\n    }),\n    dashboardConfigurationObserver: Ember.observer(\"realtimeService.dashboardConfiguration\", function () {\n      var dashboards = this.get(\"realtimeService\").get(\"dashboardConfiguration\");\n      this.set(\"activeTabId\", dashboards.dashboards[0].id);\n      this.set(\"dashboardConfiguration\", dashboards);\n    }),\n    _widgetStatChange: Ember.observer(\"editWidget\", \"editWidget.widgetType\", function () {\n      var _this = this;\n      var widgetType = this.get(\"editWidget\");\n      if (widgetType === null) {\n        return;\n      }\n      if (!widgetType.defaultTextColor) {\n        if (this.dashboardConfiguration.darkMode) {\n          widgetType.defaultTextColor = _colorDefaults.default.defaultDarkText;\n        } else {\n          widgetType.defaultTextColor = _colorDefaults.default.defaultText;\n        }\n      }\n      if (!widgetType.defaultBackgroundColor) {\n        if (this.dashboardConfiguration.darkMode) {\n          widgetType.defaultBackgroundColor = _colorDefaults.default.defaultDarkBackground;\n        } else {\n          widgetType.defaultBackgroundColor = _colorDefaults.default.defaultBackground;\n        }\n      }\n      if (!widgetType.titleAlign) {\n        widgetType.titleAlign = \"Left\";\n      }\n      _widgetstattypes.default.forEach(function (stat) {\n        if (widgetType.type === stat.key) {\n          _this.set(\"selectedWidgetStatType\", stat);\n        }\n      });\n    }),\n    _newWidgetTypeChange: Ember.observer(\"editWidget.type\", function () {\n      if (this.get(\"editWidget\") === null) {\n        this.set(\"allowZeroTimer\", false);\n        this.set(\"isCampaignStat\", false);\n        return;\n      }\n      var type = this.get(\"editWidget\").type;\n      var statTypes = this.get(\"statTypes\");\n      var allowZeroTimer = false;\n      var isCampaignStat = false;\n      for (var x = 0; x < statTypes.length; x++) {\n        if (!allowZeroTimer && statTypes[x].key === type && statTypes[x].allowZeroTimer) {\n          allowZeroTimer = true;\n        }\n        if (!isCampaignStat && statTypes[x].key === type && statTypes[x].isCampaign) {\n          isCampaignStat = true;\n        }\n      }\n      if (!allowZeroTimer) {\n        Ember.set(this, \"editWidget.zeroTimer\", false);\n      }\n      this.set(\"allowZeroTimer\", allowZeroTimer);\n      this.set(\"isCampaignStat\", isCampaignStat);\n    }),\n    init: function init() {\n      var _this2 = this;\n      this._super.apply(this, arguments);\n      console.log(\"buildNumber: \".concat(_environment.default.APP.BuildNumber, \", commit: \").concat(_environment.default.APP.Commit));\n      this.set(\"pageLoadTime\", moment());\n      this.get(\"queueService\");\n      this.set(\"queues\", this.get(\"queueService\").queueList);\n      this.set(\"campaigns\", this.get(\"campaignService\").queueList);\n      this.set(\"isEmbedded\", this.get(\"embeddedService\").isEmbedded());\n      this.set(\"shareCopyRestricted\", this.get(\"isEmbedded\") && !!window.chrome);\n      _widgetstattypes.default.forEach(function (type) {\n        if (type.widgetType.indexOf(\"chart\") === -1) {\n          _this2.gridStatTypes.pushObject(type.text);\n        }\n      });\n      _agentstattypes.default.forEach(function (type) {\n        _this2.availableAgentStatTypes.pushObject(type.text);\n      });\n      var statTypes = {};\n      _widgetstattypes.default.sort(function (a, b) {\n        return a.text.localeCompare(b.text);\n      });\n      _widgetstattypes.default.forEach(function (stat) {\n        if (typeof statTypes[stat.category] === \"undefined\") {\n          statTypes[stat.category] = {\n            groupName: stat.category,\n            options: []\n          };\n        }\n        statTypes[stat.category].options.push(stat);\n      });\n      this.set(\"statTypesPowerSelect\", Object.values(statTypes));\n      var self = this;\n      this.set(\"windowDimensions\", {\n        outerWidth: window.outerWidth,\n        outerHeight: window.outerHeight,\n        innerWidth: window.innerWidth,\n        innerHeight: window.innerHeight\n      });\n      this.loadDashboards();\n      this.set(\"isFullscreen\", false);\n      this.set(\"isDarkTheme\", false);\n      var featuretoggleService = this.get(\"featuretoggleService\");\n      this.set(\"dashboardplusEnabled\", featuretoggleService.featureEnabled(\"dashboardplus\"));\n      _widgettypes.default.forEach(function (w) {\n        if (featuretoggleService.featureEnabled(w.feature)) {\n          _this2.widgetTypes.pushObject(w);\n        }\n      });\n      if (this.isHeadlessCookiePresent() || this.isHeadlessSession()) {\n        this.set(\"isFullscreen\", true);\n        this.set(\"isHeadless\", true);\n        this.set(\"lockWidgets\", \"yes\");\n      } else {\n        this.set(\"isHeadless\", false);\n      }\n      this.get(\"requestService\").getResource(\"/permalink/current\").then(function (link) {\n        _this2.set(\"currentPermalink\", link.url);\n      });\n    },\n    loadDashboards: function loadDashboards() {\n      var _this3 = this;\n      var self = this;\n      this.get(\"realtimeService\").getDashboards().then(function (dashboards) {\n        var storage = self.get(\"storageService\");\n        var savedActiveTab = storage.localStorageGet(STORAGE_ACTIVE_TAB_KEY);\n        if (savedActiveTab) {\n          self.set(\"activeTabId\", savedActiveTab);\n        } else {\n          self.set(\"activeTabId\", dashboards.dashboards[0].id);\n        }\n        self.set(\"dashboardConfiguration\", null);\n        self.set(\"dashboardConfiguration\", dashboards);\n        self.set(\"isDashboardLayoutLocked\", dashboards.isLayoutLocked);\n        Ember.run.later(_this3, function () {\n          this.rotateDashboards();\n        }, 1000);\n      }).catch(function (err) {\n        Ember.Logger.error(err);\n        if (err.payload && err.payload.error === \"invalid permalink\") {\n          window.location.replace(\"/loginerror.html?error=Invalid Permalink\");\n          return;\n        }\n        self.get(\"notifications\").error(\"Unable to get dashboard configuration.\", {\n          autoClear: true,\n          clearDuration: 1200\n        });\n        self.get(\"analyticsService\").exception(err);\n      });\n\n      // Ember.run.later(this, function () {\n      //     this.loadDashboards();\n      // }, 60000);\n    },\n    statTypes: _widgetstattypes.default,\n    widgetTypes: [],\n    editWidget: null,\n    editDashboard: null,\n    currentDashboardIndex: 0,\n    editStatGrid: null,\n    gridStatTypes: [],\n    selectedGridStatTypes: [],\n    actions: {\n      permalinkCopySuccess: function permalinkCopySuccess() {\n        this.get(\"notifications\").success(\"Link copied to clipboard\", {\n          autoClear: true,\n          clearDuration: 1200\n        });\n      },\n      selectTab: function selectTab(id) {\n        var storage = this.get(\"storageService\");\n        storage.localStorageSet(STORAGE_ACTIVE_TAB_KEY, id);\n        this.set(\"activeTabId\", id);\n      },\n      deleteWidget: function deleteWidget(index) {\n        this.dashboardConfiguration.dashboards[this.get(\"currentDashboardIndex\")].widgets.removeAt(index);\n        var self = this;\n        this.get(\"realtimeService\").saveDashboards(this.dashboardConfiguration).then(function () {\n          self.get(\"notifications\").success(\"Saved successfully\", {\n            autoClear: true,\n            clearDuration: 1200\n          });\n        }).catch(function (err) {\n          Ember.Logger.error(err);\n          self.get(\"analyticsService\").exception(err);\n          self.get(\"notifications\").error(\"Unable to save dashboard settings. Wait 90 seconds and make another dashboard edit to try again.\", {\n            autoClear: true,\n            clearDuration: 1200\n          });\n        });\n      },\n      showAddWidget: function showAddWidget() {\n        this.set(\"editWidget\", {\n          type: this.get(\"statTypes\")[0].key,\n          title: \"\",\n          queueIds: [],\n          alerts: [],\n          stats: [],\n          widgetType: \"statistic\"\n        });\n      },\n      convertToResize: function convertToResize() {\n        Ember.set(this.editDashboard, \"allowresize\", true);\n      },\n      showSettings: function showSettings() {\n        this.set(\"shareCode\", null);\n        this.set(\"shareCodeSuccess\", false);\n        this.set(\"shareCodeFailure\", false);\n        this.set(\"loadShareCode\", null);\n        this.set(\"loadCodeFailure\", false);\n        var config = this.get(\"dashboardConfiguration\");\n        this.set(\"previousSettings\", JSON.parse(JSON.stringify(config)));\n        if (!config.rotateSeconds) {\n          config.rotateSeconds = 10;\n          this.set(\"dashboardConfiguration\", config);\n        }\n        this.set(\"shouldShowSettings\", true);\n      },\n      saveDashboardSettings: function saveDashboardSettings() {\n        this.get(\"realtimeService\").saveDashboards(this.dashboardConfiguration);\n        this.set(\"shouldShowSettings\", false);\n      },\n      cancelDashboardSettings: function cancelDashboardSettings() {\n        this.set(\"shouldShowSettings\", false);\n        this.set(\"dashboardConfiguration\", this.get(\"previousSettings\"));\n      },\n      showEditWidget: function showEditWidget(index) {\n        var _this4 = this;\n        var widgetToEdit = JSON.parse(JSON.stringify(this.dashboardConfiguration.dashboards[this.get(\"currentDashboardIndex\")].widgets[index]));\n\n        //widgetToEdit.queue = widgetToEdit.queueIds[0];\n        this.set(\"editWidget\", this.set(\"editWidget\", widgetToEdit));\n        this.set(\"editWidgetIndex\", index);\n        _widgetstattypes.default.forEach(function (stat) {\n          if (widgetToEdit.type === stat.key) {\n            _this4.set(\"selectedWidgetStatType\", stat);\n          }\n        });\n        if (widgetToEdit.widgetType === \"chart\") {\n          _graphconfigoptions.default.stats.forEach(function (stat) {\n            if (widgetToEdit.type === stat.key) {\n              _this4.set(\"selectedWidgetStatType\", stat);\n            }\n          });\n        }\n        this.selectedGridStatTypes.clear();\n        this.gridStatTypes.clear();\n        this.availableAgentStatTypes.clear();\n        if (widgetToEdit.widgetType === \"queuestats\") {\n          widgetToEdit.stats.forEach(function (statKey) {\n            _widgetstattypes.default.forEach(function (type) {\n              if (statKey === type.key) {\n                _this4.selectedGridStatTypes.pushObject(type.text);\n              }\n            });\n          });\n          _widgetstattypes.default.forEach(function (type) {\n            if (widgetToEdit.stats.indexOf(type.key) === -1 && type.widgetType.indexOf(\"chart\") === -1) {\n              _this4.gridStatTypes.pushObject(type.text);\n            }\n          });\n        } else if (widgetToEdit.widgetType === \"agentstats\") {\n          widgetToEdit.stats.forEach(function (statKey) {\n            _agentstattypes.default.forEach(function (type) {\n              if (statKey === type.key) {\n                _this4.selectedGridStatTypes.pushObject(type.text);\n              }\n            });\n          });\n          _agentstattypes.default.forEach(function (type) {\n            if (widgetToEdit.stats.indexOf(type.key) === -1) {\n              _this4.availableAgentStatTypes.pushObject(type.text);\n            }\n          });\n        }\n      },\n      showEditDashboard: function showEditDashboard() {\n        this.set(\"editDashboard\", {\n          dashboardName: \"New Dashboard\",\n          widgets: [],\n          allowresize: true,\n          id: _emberCliGuid.default.create()\n        });\n      },\n      deleteDashboard: function deleteDashboard(index) {\n        this.set(\"confirmDelete\", true);\n        this.dashboardConfiguration.dashboards.removeAt(index);\n        this.set(\"activeTabId\", this.dashboardConfiguration.dashboards[0].id);\n      },\n      cancelEditDashboard: function cancelEditDashboard() {\n        this.set(\"editDashboard\", null);\n      },\n      saveDashboard: function saveDashboard() {\n        var newDashboard = this.get(\"editDashboard\");\n        this.dashboardConfiguration.dashboards.addObject(newDashboard);\n        this.set(\"editDashboard\", null);\n        var self = this;\n        this.get(\"realtimeService\").saveDashboards(this.dashboardConfiguration).then(function () {\n          self.get(\"notifications\").success(\"Saved successfully\", {\n            autoClear: true,\n            clearDuration: 1200\n          });\n        }).catch(function (err) {\n          self.get(\"analyticsService\").exception(err);\n          self.get(\"notifications\").error(\"Unable to save dashboard.\", {\n            autoClear: true,\n            clearDuration: 1200\n          });\n        });\n      },\n      addWidget: function addWidget() {\n        this.get(\"analyticsService\").logWidgetConfigure();\n        var newWidget = this.get(\"editWidget\");\n        if (newWidget.widgetType !== \"observationchart\") {\n          newWidget.stats = [];\n          this.selectedGridStatTypes.forEach(function (selectedName) {\n            if (newWidget.widgetType === \"queuestats\") {\n              _widgetstattypes.default.forEach(function (type) {\n                if (type.text === selectedName) {\n                  newWidget.stats.push(type.key);\n                }\n              });\n            } else if (newWidget.widgetType === \"agentstats\") {\n              _agentstattypes.default.forEach(function (type) {\n                if (type.text === selectedName) {\n                  newWidget.stats.push(type.key);\n                }\n              });\n            }\n          });\n        }\n        if (typeof newWidget.title === \"undefined\" || newWidget.title === null) {\n          Ember.set(newWidget, \"title\", \"\");\n        }\n        var selectedWidgetStatType = this.get(\"selectedWidgetStatType\");\n        if (selectedWidgetStatType !== null) {\n          Ember.set(newWidget, \"type\", selectedWidgetStatType.key);\n        }\n        delete newWidget.queue;\n        var editIndex = this.get(\"editWidgetIndex\");\n        if (!Ember.get(newWidget, \"fontsize\")) {\n          Ember.set(newWidget, \"fontsize\", \"18\");\n        }\n        if (typeof newWidget.x === \"undefined\") {\n          var maxX = 0;\n          var maxY = 0;\n          this.dashboardConfiguration.dashboards[this.get(\"currentDashboardIndex\")].widgets.forEach(function (w) {\n            var x = w.x + w.width;\n            var y = w.y + w.height;\n            if (x > maxX) {\n              maxX = x;\n            }\n            if (y > maxY) {\n              maxY = y;\n            }\n          });\n          newWidget.x = maxX;\n          newWidget.y = maxY;\n          newWidget.height = 2;\n          newWidget.width = 1;\n        }\n        this.set(\"editWidget\", null);\n        this.set(\"editWidgetIndex\", null);\n        if (typeof editIndex !== \"undefined\" && editIndex !== null) {\n          this.dashboardConfiguration.dashboards[this.get(\"currentDashboardIndex\")].widgets.replace(editIndex, 1, [newWidget]);\n        } else {\n          this.dashboardConfiguration.dashboards[this.get(\"currentDashboardIndex\")].widgets.pushObject(newWidget);\n        }\n\n        // this.availableAgentStatTypes.clear();\n        // agentStatTypes.forEach((type)=>{\n        //     this.availableAgentStatTypes.pushObject(type.text);\n        // });\n\n        var self = this;\n        this.get(\"realtimeService\").saveDashboards(this.dashboardConfiguration).then(function () {\n          self.get(\"notifications\").success(\"Saved successfully\", {\n            autoClear: true,\n            clearDuration: 1200\n          });\n        }).catch(function (err) {\n          Ember.Logger.error(err);\n          self.get(\"analyticsService\").exception(err);\n          self.get(\"notifications\").error(\"Unable to save dashboard settings. Wait 90 seconds and make another dashboard edit to try again.\", {\n            autoClear: true,\n            clearDuration: 1200\n          });\n        });\n      },\n      cancelAddWidget: function cancelAddWidget() {\n        this.set(\"editWidget\", null);\n        this.set(\"editWidgetIndex\", null);\n      },\n      addAlert: function addAlert() {\n        this.editWidget.alerts.pushObject({\n          min: 0,\n          max: 100,\n          color: \"#ff0000\"\n        });\n      },\n      deleteAlert: function deleteAlert(index) {\n        this.editWidget.alerts.removeAt(index);\n      },\n      toggleFullscreen: function toggleFullscreen() {\n        var fullscreen = this.get(\"isFullscreen\");\n        this.set(\"isFullscreen\", !fullscreen);\n      },\n      toggleDashboardLock: function toggleDashboardLock() {\n        if (this.get(\"isDashboardLayoutLocked\") === true) {\n          this.set(\"isDashboardLayoutLocked\", false);\n        } else {\n          this.set(\"isDashboardLayoutLocked\", true);\n        }\n        this.dashboardConfiguration.isLayoutLocked = this.get(\"isDashboardLayoutLocked\");\n        this.get(\"realtimeService\").saveDashboards(this.dashboardConfiguration);\n      },\n      saveStatGrid: function saveStatGrid() {\n        var editStatGrid = this.get(\"editStatGrid\");\n        editStatGrid.stats = [];\n        this.selectedGridStatTypes.forEach(function (selectedName) {\n          _widgetstattypes.default.forEach(function (type) {\n            if (type.text === selectedName) {\n              editStatGrid.stats.push(type.key);\n            }\n          });\n        });\n\n        //this.dashboardConfiguration[this.get(\"currentDashboardIndex\")].statgrid = editStatGrid;\n        Ember.set(this.dashboardConfiguration.dashboards[this.get(\"currentDashboardIndex\")], \"statgrid\", editStatGrid);\n        this.set(\"editStatGrid\", null);\n        var self = this;\n        this.get(\"realtimeService\").saveDashboards(this.dashboardConfiguration).then(function () {\n          self.get(\"notifications\").success(\"Saved successfully\", {\n            autoClear: true,\n            clearDuration: 1200\n          });\n        }).catch(function (err) {\n          self.get(\"analyticsService\").exception(err);\n          self.get(\"notifications\").error(\"Unable to save dashboard.\", {\n            autoClear: true,\n            clearDuration: 1200\n          });\n        });\n      },\n      deleteStatGrid: function deleteStatGrid() {\n        Ember.set(this.dashboardConfiguration.dashboards[this.get(\"currentDashboardIndex\")], \"statgrid\", null);\n        var self = this;\n        this.get(\"realtimeService\").saveDashboards(this.dashboardConfiguration).then(function () {\n          self.get(\"notifications\").success(\"Saved successfully\", {\n            autoClear: true,\n            clearDuration: 1200\n          });\n        }).catch(function (err) {\n          self.get(\"analyticsService\").exception(err);\n          self.get(\"notifications\").error(\"Unable to save dashboard.\", {\n            autoClear: true,\n            clearDuration: 1200\n          });\n        });\n      },\n      cancelEditStatGrid: function cancelEditStatGrid() {\n        this.set(\"editStatGrid\", null);\n      },\n      showEditGrid: function showEditGrid() {\n        var _this5 = this;\n        var widgetToEdit = this.dashboardConfiguration.dashboards[this.get(\"currentDashboardIndex\")].statgrid;\n        if (typeof widgetToEdit === \"undefined\" || widgetToEdit === null) {\n          widgetToEdit = {\n            queueIds: [],\n            stats: []\n          };\n        }\n        widgetToEdit = JSON.parse(JSON.stringify(widgetToEdit));\n        this.selectedGridStatTypes.clear();\n        this.gridStatTypes.clear();\n        widgetToEdit.stats.forEach(function (statKey) {\n          _widgetstattypes.default.forEach(function (type) {\n            if (statKey === type.key) {\n              _this5.selectedGridStatTypes.pushObject(type.text);\n            }\n          });\n        });\n        _widgetstattypes.default.forEach(function (type) {\n          if (widgetToEdit.stats.indexOf(type.key) === -1 && type.widgetType.indexOf(\"chart\") === -1) {\n            _this5.gridStatTypes.pushObject(type.text);\n          }\n        });\n\n        //widgetToEdit.queue = widgetToEdit.queueIds[0];\n        this.set(\"editStatGrid\", widgetToEdit);\n      },\n      gridChange: function gridChange(event, items) {\n        var _this6 = this;\n        if (this.isHeadless) {\n          return;\n        }\n        if (this.isDashboardLayoutLocked) {\n          return;\n        }\n        var dashboardIndex = this.get(\"currentDashboardIndex\");\n        items.forEach(function (item) {\n          try {\n            var id = parseInt(item.id);\n            Ember.set(_this6.dashboardConfiguration.dashboards[dashboardIndex].widgets[id], \"height\", item.height);\n            Ember.set(_this6.dashboardConfiguration.dashboards[dashboardIndex].widgets[id], \"width\", item.width);\n            Ember.set(_this6.dashboardConfiguration.dashboards[dashboardIndex].widgets[id], \"x\", item.x);\n            Ember.set(_this6.dashboardConfiguration.dashboards[dashboardIndex].widgets[id], \"y\", item.y);\n          } catch (ex) {\n            Ember.Logger.error(ex);\n          }\n        });\n        var self = this;\n        this.get(\"realtimeService\").saveDashboards(this.dashboardConfiguration).catch(function (err) {\n          Ember.Logger.error(err);\n          self.get(\"analyticsService\").exception(err);\n          self.get(\"notifications\").error(\"Unable to save dashboard settings. Wait 90 seconds and make another dashboard edit to try again.\", {\n            autoClear: true,\n            clearDuration: 1200\n          });\n        });\n      },\n      moveDashboardUp: function moveDashboardUp(index) {\n        if (index === 0) {\n          return;\n        }\n        var indexDashboard = this.dashboardConfiguration.dashboards[index];\n        this.dashboardConfiguration.dashboards.removeAt(index);\n        this.dashboardConfiguration.dashboards.insertAt(index - 1, indexDashboard);\n      },\n      moveDashboardDown: function moveDashboardDown(index) {\n        if (index === this.dashboardConfiguration.dashboards.length - 1) {\n          return;\n        }\n        var indexDashboard = this.dashboardConfiguration.dashboards[index];\n        this.dashboardConfiguration.dashboards.removeAt(index);\n        this.dashboardConfiguration.dashboards.insertAt(index + 1, indexDashboard);\n      },\n      generatePermalink: function generatePermalink() {\n        var _this7 = this;\n        this.get(\"requestService\").getResource(\"/permalink/create\").then(function (link) {\n          _this7.set(\"currentPermalink\", link.url);\n          var textArea = document.createElement(\"textarea\");\n          textArea.value = link.url;\n          document.body.appendChild(textArea);\n          textArea.focus();\n          textArea.select();\n          try {\n            var successful = document.execCommand(\"copy\");\n            if (successful) {\n              _this7.get(\"notifications\").success(\"Permalink copied to clipboard\", {\n                autoClear: true,\n                clearDuration: 1200\n              });\n            } else {\n              _this7.get(\"notifications\").error(\"Unable to copy permalink to clipboard.\", {\n                autoClear: true,\n                clearDuration: 1200\n              });\n            }\n          } catch (err) {\n            console.log.error(err);\n            _this7.get(\"notifications\").error(\"Unable to copy permalink to clipboard.\", {\n              autoClear: true,\n              clearDuration: 1200\n            });\n          }\n          document.body.removeChild(textArea);\n          window.scrollTo(0, 0);\n        }).catch(function (ex) {\n          console.log.error(ex);\n          _this7.get(\"notifications\").error(\"Unable to generate permalink.\", {\n            autoClear: true,\n            clearDuration: 1200\n          });\n        });\n      },\n      doLoadShareCode: function doLoadShareCode() {\n        var code = this.get(\"loadShareCode\");\n        try {\n          var strCode = atob(code);\n          var config = JSON.parse(strCode);\n          config.id = _emberCliGuid.default.create();\n          this.dashboardConfiguration.dashboards.pushObject(config);\n        } catch (ex) {\n          console.error(ex);\n          this.set(\"loadCodeFailure\", true);\n        }\n      },\n      shareDashboard: function shareDashboard(index) {\n        var _this8 = this;\n        var indexDashboard = JSON.stringify(this.dashboardConfiguration.dashboards[index]);\n        this.set(\"shareCode\", btoa(indexDashboard));\n        if (this.get(\"shareCopyRestricted\")) {\n          this.set(\"shareCodeFailure\", true);\n          return;\n        }\n        try {\n          if (navigator && navigator.clipboard && navigator.clipboard.writeText) {\n            navigator.clipboard.writeText(btoa(indexDashboard)).then(function () {\n              _this8.set(\"shareCodeSuccess\", true);\n            }).catch(function (err) {\n              console.log(err);\n              _this8.shareDashboardLegacy(index);\n            });\n          } else {\n            this.shareDashboardLegacy(index);\n          }\n        } catch (err) {\n          console.log(err);\n          this.set(\"shareCodeFailure\", true);\n        }\n      },\n      shareDashboardLegacy: function shareDashboardLegacy(index) {\n        var textArea = document.createElement(\"textarea\");\n        try {\n          var indexDashboard = JSON.stringify(this.dashboardConfiguration.dashboards[index]);\n          this.set(\"shareCode\", btoa(indexDashboard));\n          textArea.value = btoa(indexDashboard);\n          document.body.appendChild(textArea);\n          textArea.focus();\n          textArea.select();\n          var successful = document.execCommand(\"copy\");\n          if (successful) {\n            this.set(\"shareCodeSuccess\", true);\n          } else {\n            this.set(\"shareCodeFailure\", true);\n          }\n        } catch (err) {\n          console.log(err);\n          this.set(\"shareCodeFailure\", true);\n        }\n        document.body.removeChild(textArea);\n        window.scrollTo(0, 0);\n      },\n      downloadDebug: function downloadDebug() {\n        var _this9 = this;\n        this.get(\"purecloud\").getRequest(\"/api/v2/date\").then(function (date) {\n          _this9.get(\"requestService\").getMe().then(function (me) {\n            var data = {\n              meta: \"downloaded via menu option\",\n              currentTime: moment().format(),\n              pollingStartTime: _this9.get(\"realtimeService\").get(\"startPollingTime\"),\n              webSocketOpenTime: _this9.get(\"realtimeService\").get(\"webSocketOpenTime\"),\n              pageLoadTime: _this9.get(\"pageLoadTime\"),\n              lastWebSocketNotification: _this9.get(\"realtimeService\").get(\"lastWebSocketNotification\"),\n              queues: _this9.get(\"queueService\").queueList,\n              queueUsers: _this9.get(\"realtimeService\").get(\"queueUsers\"),\n              dashboardConfig: _this9.get(\"dashboardConfiguration\"),\n              userPresence: _this9.get(\"realtimeService\").get(\"userPresence\"),\n              userRoutingStatus: _this9.get(\"realtimeService\").get(\"userRoutingStatus\"),\n              userConversations: _this9.get(\"realtimeService\").get(\"userConversations\"),\n              queueData: _this9.get(\"realtimeService\").get(\"queueData\"),\n              observationData: _this9.get(\"realtimeService\").get(\"observationData\"),\n              lastUpdateTimes: _this9.get(\"realtimeService\").get(\"lastUpdateTimes\"),\n              notificationHistory: _this9.get(\"realtimeService\").get(\"notificationHistory\"),\n              latestErrors: _this9.get(\"errorService\").get(\"recentErrors\"),\n              campaignStats: _this9.get(\"requestService\").get(\"campaignStats\"),\n              agentData: _this9.get(\"requestService\").get(\"agentData\"),\n              queueAggregates: _this9.get(\"realtimeService\").get(\"queueAggregateHistory\"),\n              statusConfiguration: _this9.statusService.definations,\n              me: me,\n              date: date,\n              window: _this9.get(\"windowDimensions\"),\n              skewInformation: _this9.get(\"timeDiff\").skewInformation,\n              browser: {\n                appCodeName: navigator.appCodeName,\n                appName: navigator.appName,\n                appVersion: navigator.appVersion,\n                languages: navigator.languages,\n                oscpu: navigator.oscpu,\n                userAgent: navigator.userAgent\n              },\n              build: {\n                buildNumber: _environment.default.APP.BuildNumber,\n                commit: _environment.default.APP.Commit\n              },\n              polling: {\n                pollingInterval: _this9.get(\"realtimeService\").getPollingInterval(),\n                userStatusDataInterval: _this9.get(\"realtimeService\").getPollUserStatusDataInterval()\n              },\n              websocket: _this9.get(\"realtimeService\").get(\"websocketDetails\")\n            };\n\n            //\n            var element = document.createElement(\"a\");\n            element.setAttribute(\"href\", \"data:text/plain;charset=utf-8,\" + encodeURIComponent(JSON.stringify(data)));\n            element.setAttribute(\"download\", \"pureinsightsdebugdata.json\");\n            element.style.display = \"none\";\n            document.body.appendChild(element);\n            element.click();\n            document.body.removeChild(element);\n          });\n        });\n      }\n    },\n    dashboardConfiguration: [{\n      dashboardName: \"default dashboard\",\n      widgets: [],\n      id: _emberCliGuid.default.create()\n    }]\n  });\n});","define(\"insights-web/components/realtime-widget\", [\"exports\", \"insights-web/mixins/widget-mixin\", \"insights-web/utils/colorDefaults\"], function (_exports, _widgetMixin, _colorDefaults) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var TimeRegex = /^\\d\\d:\\d\\d:\\d\\d$/gm;\n  var _default = _exports.default = Ember.Component.extend(_widgetMixin.default, {\n    widgetStateService: Ember.inject.service(),\n    realtimeService: Ember.inject.service(),\n    requestService: Ember.inject.service(),\n    statCalculation: Ember.inject.service(),\n    timeDiff: Ember.inject.service(),\n    lastUpdateTime: null,\n    forceRefresh: null,\n    data: [],\n    _updateAlert: function _updateAlert() {\n      var alerts = this.configuration.alerts;\n      if (typeof alerts === \"undefined\" || alerts === null) {\n        return;\n      }\n      var value = this.get(\"data\");\n      this.set(\"alertColor\", null);\n      if (this.configuration.useCustomBackgroundColor) {\n        this.$().parents(\".grid-stack-item-content\").css(\"background-color\", this.configuration.customBackgroundColor);\n      } else {\n        this.$().parents(\".grid-stack-item-content\").css(\"background-color\", \"\");\n      }\n      if (this.configuration.useCustomTextColor) {\n        this.set(\"titleColor\", this.configuration.customTextColor);\n      }\n      if (value && value.match && value.match(TimeRegex)) {\n        var parts = value.split(\":\");\n        var seconds = parseInt(parts[2]);\n        var minutesToSeconds = parts[1] * 60;\n        var hoursToSeconds = parts[0] * 60 * 60;\n        value = seconds + minutesToSeconds + hoursToSeconds;\n      }\n      for (var x = 0; x < alerts.length; x++) {\n        var evalAlert = alerts[x];\n        if (value >= evalAlert.min && value < evalAlert.max) {\n          this.set(\"alertColor\", evalAlert.color);\n          if (this.configuration.invertAlertColors == true) {\n            this.set(\"textColor\", evalAlert.color);\n          } else {\n            this.$().parents(\".grid-stack-item-content\").css(\"background-color\", evalAlert.color);\n            var shaded = this._shadeColor(evalAlert.color.substring(1), -10);\n            this.$().parents(\".grid-stack-item-content\").css(\"border\", \"1px solid \" + shaded);\n          }\n        }\n      }\n    },\n    _shadeColor: function _shadeColor(color, percent) {\n      var f = parseInt(color.slice(1), 16),\n        t = percent < 0 ? 0 : 255,\n        p = percent < 0 ? percent * -1 : percent,\n        R = f >> 16,\n        G = f >> 8 & 0x00ff,\n        B = f & 0x0000ff;\n      return \"#\" + (0x1000000 + (Math.round((t - R) * p) + R) * 0x10000 + (Math.round((t - G) * p) + G) * 0x100 + (Math.round((t - B) * p) + B)).toString(16).slice(1);\n    },\n    valuesChanged: Ember.observer(\"data\", function () {\n      this._updateAlert();\n      this._setFontSizeSoon();\n      //this.dataCalculate();\n    }),\n    updateTimers: function updateTimers() {\n      if (window.debug === true) {\n        this.set(\"isDebugMode\", true);\n      }\n      if (this && !this.isDestroyed) {\n        Ember.run.later(this, function () {\n          this.updateTimers();\n        }, 1000); //every second\n\n        this.updateTimersImpl();\n      }\n    },\n    updateTimersImpl: function updateTimersImpl() {\n      if (!this || this.isDestroyed) {\n        return;\n      }\n      var isTimeSince = this.get(\"isTimeSince\");\n      if (isTimeSince === true) {\n        var now = moment();\n        var data = this.get(\"data\");\n        if (typeof data !== \"undefined\" && data !== \"-\") {\n          if (now.isAfter(this.get(\"startTime\"))) {\n            if (!this.isDestroyed) {\n              // let diff = now - this.get(\"startTime\");\n\n              var diff = moment.duration(now.diff(this.get(\"startTime\")));\n              if (diff.seconds() > -1) {\n                // this.set(\"data\", moment.utc(diff).format(\"HH:mm:ss\"));\n                this.set(\"data\", this.getTimeFormattedString(this.get(\"startTime\"), now));\n              }\n            }\n          }\n        } else {\n          this.set(\"data\", \"-\");\n        }\n      }\n    },\n    getTimeFormattedString: function getTimeFormattedString(start, end) {\n      start = this.get(\"timeDiff\").skewAdjustedTime(start);\n      var diff = moment.duration(end.diff(start));\n\n      //Get hours and subtract from duration\n      var hours = diff.hours();\n      diff.subtract(moment.duration(hours, \"hours\"));\n      if (diff.days() > 0) {\n        hours = hours + 24 * diff.days();\n      }\n\n      //Get Minutes and subtract from duration\n      var minutes = diff.minutes();\n      diff.subtract(moment.duration(minutes, \"minutes\"));\n\n      //Get seconds\n      var seconds = diff.seconds();\n      if (seconds < 10) {\n        seconds = \"0\" + seconds;\n      }\n      if (minutes < 10) {\n        minutes = \"0\" + minutes;\n      }\n      if (hours < 10) {\n        hours = \"0\" + hours;\n      }\n      return \"\".concat(hours, \":\").concat(minutes, \":\").concat(seconds);\n    },\n    dataCalculate: function () {\n      if (this.isDestroyed) {\n        return;\n      }\n      var statService = this.get(\"statCalculation\");\n      try {\n        this.set(\"isTime\", false);\n        if (typeof this.configuration === \"undefined\" || this.configuration === null) {\n          return;\n        }\n        var queues = this.configuration.queueIds;\n        if (this.configuration.campaignId) {\n          queues = [this.configuration.campaignId];\n        }\n        var startTime = moment().startOf(\"day\").utc().toISOString();\n        if (this.configuration.timePeriod === \"currentinterval\") {\n          startTime = moment().startOf(\"hour\").utc();\n          if (moment().minute() >= 30) {\n            startTime = startTime.add(\"30\", \"m\");\n          }\n          startTime = startTime.toISOString();\n        } else if (this.configuration.timePeriod === \"previousinterval\") {\n          startTime = moment().startOf(\"hour\").utc();\n          if (moment().minute() <= 30) {\n            startTime = startTime.subtract(\"30\", \"m\");\n          }\n          startTime = startTime.toISOString();\n        }\n        var data = statService.getStatValue(queues, this.configuration.type, startTime, this.configuration.mediaType);\n        if (data.isTimeSince === true) {\n          if (data.data) {\n            // let diff = moment() - data.data;\n            this.set(\"startTime\", data.data);\n            // data.data = moment.utc(diff).format(\"HH:mm:ss\");\n            data.data = this.getTimeFormattedString(data.data, moment());\n          } else {\n            data.data = \"-\";\n          }\n        }\n        this.set(\"data\", data.data);\n        this.set(\"isTime\", data.isTime);\n        this.set(\"isTimeSince\", data.isTimeSince);\n        this.set(\"showPercent\", data.showPercent);\n        this.set(\"lastDataUpdate\", data.update);\n        this.set(\"lastUpdateTime\", moment().format());\n        if (this.configuration.type === \"conversations_active\") {\n          var value = data.data;\n          if (value === 0 && this.configuration.zeroTimer === true) {\n            var state = this.get(\"widgetStateService\").getState(this.get(\"dashboardIndex\"), this.get(\"widgetIndex\"));\n            if (state === null) {\n              state = moment();\n              this.get(\"widgetStateService\").setState(this.get(\"dashboardIndex\"), this.get(\"widgetIndex\"), state);\n            }\n          } else {\n            this.set(\"secondaryData\", null);\n          }\n        } else if (this.configuration.type === \"queue_conversation_state_by_mediatype\") {\n          this.options.isStacked = true;\n          this.options.bars = \"horizontal\";\n          this.options.series = {\n            0: {\n              color: \"#d9534f\"\n            },\n            1: {\n              color: \"#2E75B6\"\n            }\n          };\n        } else if (this.configuration.type === \"queue_mediatype\") {\n          this.options.series = {\n            0: {\n              color: \"#d9534f\"\n            },\n            1: {\n              color: \"#2E75B6\"\n            },\n            2: {\n              color: \"blue\"\n            }\n          };\n        }\n      } catch (ex) {\n        Ember.Logger.error(ex);\n        this.get(\"requestService\").logError(\"dataCalculate: \" + ex.toString());\n      }\n      if (this && !this.isDestroyed) {\n        if (this.forceRefresh) {\n          Ember.run.cancel(this.forceRefresh);\n        }\n        var forceRefreshLater = Ember.run.later(this, function () {\n          if (this && !this.isDestroyed) {\n            this.dataCalculate();\n          }\n        }, 10000);\n        this.set(\"forceRefresh\", forceRefreshLater);\n      }\n    }.observes(\"realtimeService.queueData\"),\n    realtimeServiceObservationDataChanged: function realtimeServiceObservationDataChanged() {\n      try {\n        var ob = this.get(\"realtimeService\").get(\"observationData\");\n        this.set(\"observationData\", ob);\n        this.dataCalculate();\n        this._updateAlert();\n      } catch (ex) {\n        console.log(ex);\n      }\n    },\n    init: function init() {\n      this._super.apply(this, arguments);\n      var self = this;\n      this.get(\"realtimeService\").on(\"observationData\", this, this.realtimeServiceObservationDataChanged);\n      self.dataCalculate();\n      this._setFontSizeSoon();\n      Ember.$(window).on(\"resize\", Ember.run.bind(this, this._setFontSizeSoon));\n      this.updateTimers();\n    },\n    didInsertElement: function didInsertElement() {\n      this._super.apply(this, arguments);\n      try {\n        this._updateAlert();\n      } catch (ex) {}\n    },\n    alertsObserver: Ember.observer(\"configuration\", \"configuration.alerts\", \"configuration.alerts.@each\", function () {\n      this._updateAlert();\n    }),\n    willDestroyElement: function willDestroyElement() {\n      this._super.apply(this, arguments);\n      this.get(\"realtimeService\").off(\"observationData\", this, this.realtimeServiceObservationDataChanged);\n    },\n    options: {\n      backgroundColor: \"#fff\",\n      annotations: {\n        alwaysOutside: true\n      }\n    }\n  });\n});","define(\"insights-web/components/sankey-diagram\", [\"exports\", \"ember-google-charts/components/sankey-diagram\"], function (_exports, _sankeyDiagram) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _sankeyDiagram.default;\n    }\n  });\n});","define(\"insights-web/components/scatter-chart\", [\"exports\", \"ember-google-charts/components/scatter-chart\"], function (_exports, _scatterChart) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _scatterChart.default;\n    }\n  });\n});","define(\"insights-web/components/select-box-advanced\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = Ember.Component.extend({\n    didReceiveAttrs: function didReceiveAttrs() {\n      this._super.apply(this, arguments);\n      Ember.run.later(this, function () {\n        var selectedItem = this.get(\"selectedItem\");\n        var items = this.get(\"items\");\n        if (!selectedItem && items) {\n          if (items[0].id) {\n            this.set(\"selectedItem\", items[0].id);\n          } else {\n            this.set(\"selectedItem\", items[0]);\n          }\n        }\n      }, 500);\n    },\n    actions: {\n      selectItem: function selectItem(item) {\n        this.set(\"selectedItem\", item);\n      }\n    }\n  });\n});","define(\"insights-web/components/select-box\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = Ember.Component.extend({\n    actions: {\n      selectItem: function selectItem(item) {\n        this.set(\"selectedItem\", item);\n      }\n    }\n  });\n});","define(\"insights-web/components/stat-grid-row-expanded\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = Ember.Component.extend({});\n});","define(\"insights-web/components/stat-grid-row-toggle\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = Ember.Component.extend({});\n});","define(\"insights-web/components/stat-grid-row\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = Ember.Component.extend({\n    values: [],\n    columns: [],\n    getColumnStyle: function getColumnStyle(index) {\n      if (index === 0) {\n        return \"col-xs-12 col-sm-3 col-md-2 col-lg-2\";\n      }\n      if (index <= 3) {\n        return \"col-sm-3 col-md-1 hidden-xs\";\n      }\n      if (index <= 6) {\n        return \"col-md-2 hidden-xs hidden-sm\";\n      }\n      return \"col-lg-1 hidden-xs hidden-md hidden-sm\";\n    },\n    init: function init() {\n      this._super.apply(this, arguments);\n      var columns = this.get(\"columns\");\n      this.values.clear();\n      debugger;\n      for (var x = 0; x < columns.length; x++) {\n        this.values.pushObject({\n          text: columns[x],\n          style: this.getColumnStyle(x)\n        });\n      }\n    },\n    didUpdateAttrs: function didUpdateAttrs() {\n      this._super.apply(this, arguments);\n      this.get(\"columns\");\n      var columns = this.get(\"columns\");\n      this.values.clear();\n      for (var x = 0; x < columns.length; x++) {\n        this.values.pushObject({\n          text: columns[x],\n          style: this.getColumnStyle(x)\n        });\n      }\n    },\n    queueNameObserver: Ember.observer('columns', 'columns.@each', 'columns.[]', function () {\n      var columns = this.get(\"columns\");\n      this.values.clear();\n      for (var x = 0; x < columns.length; x++) {\n        this.values.pushObject({\n          text: columns[x],\n          style: this.getColumnStyle(x)\n        });\n      }\n    })\n  });\n});","define(\"insights-web/components/stat-grid\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = Ember.Component.extend({\n    expander: [],\n    actions: {\n      toggleExpand: function toggleExpand(index) {\n        this.onToggleExpand(index);\n      }\n    }\n  });\n});","define(\"insights-web/components/static-text-widget\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = Ember.Component.extend({\n    didInsertElement: function didInsertElement() {\n      this._super.apply(this, arguments);\n      Ember.run.later(this, function () {\n        if (this.configuration.scrollText) {\n          this.marquee(this.$().parents('.grid-stack-item-content'), this.$().children(\".static-text-widget\"));\n        }\n        this.set(\"loaded\", true);\n        var parentHeight = this.$().parents('.grid-stack-item-content').height();\n        this.set('contentTop', \"\".concat(parentHeight / 2 - 50, \"px\"));\n      }, 500);\n    },\n    marquee: function marquee(a, b) {\n      var self = this;\n      b.css({\n        'white-space': 'nowrap'\n      });\n      var width = b.width();\n      var start_pos = a.width();\n      var end_pos = -width;\n      function scroll() {\n        if (b.position().left <= -width + 1) {\n          b.css('left', start_pos);\n          scroll();\n        } else {\n          var scrollSpeed = 5;\n          if (self.configuration.scrollSpeed) {\n            scrollSpeed = Math.abs(16 - self.configuration.scrollSpeed);\n          }\n          var time = (parseInt(b.position().left, 10) - end_pos) * (scrollSpeed * 3000 / (start_pos - end_pos)); // Increase or decrease speed by changing value 10000, bigger = slower\n          b.animate({\n            'left': -width\n          }, time, 'linear', function () {\n            scroll();\n          });\n        }\n      }\n      b.css({\n        'width': width,\n        'left': start_pos,\n        'white-space': 'nowrap'\n      });\n      scroll(a, b);\n    }\n  });\n});","define(\"insights-web/components/time-range\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = Ember.Component.extend({\n    storageService: Ember.inject.service(),\n    startDate: moment().startOf('day'),\n    endDate: moment().endOf('day'),\n    selectedRangeType: \"yesterday\",\n    rangeTypes: [{\n      value: \"yesterday\",\n      text: \"Yesterday\"\n    }, {\n      value: \"today\",\n      text: \"Today\"\n    }, {\n      value: \"TW\",\n      text: \"This Week\"\n    }, {\n      value: \"LW\",\n      text: \"Last Week\"\n    }, {\n      value: \"TM\",\n      text: \"This Month\"\n    }, {\n      value: \"LM\",\n      text: \"Last Month\"\n    }, {\n      value: \"custom\",\n      text: \"Custom\"\n    }],\n    init: function init() {\n      this._super.apply(this, arguments);\n      var self = this;\n      var storage = this.get(\"storageService\");\n      if (storage.sessionStorageGet(\"selectedTimeRangeType\")) {\n        this.set(\"selectedRangeType\", storage.sessionStorageGet(\"selectedTimeRangeType\"));\n      }\n      setTimeout(function () {\n        if (self && !(self.get('isDestroyed') || self.get('isDestroying'))) {\n          self._computeValue();\n        }\n      }, 100);\n    },\n    _computeValue: function _computeValue() {\n      var storage = this.get(\"storageService\");\n      storage.sessionStorageSet(\"selectedTimeRangeType\", this.get(\"selectedRangeType\"));\n      var start = this.get(\"startDate\");\n      var end = this.get(\"endDate\");\n      var intervalType = this.get(\"selectedRangeType\");\n      var value = \"\";\n      switch (intervalType) {\n        case \"today\":\n          value = moment().startOf('day').utc().toISOString() + \"/\" + moment().endOf('day').add(1, 'millisecond').utc().toISOString();\n          break;\n        case \"yesterday\":\n          value = moment().startOf('day').subtract(1, 'days').utc().toISOString() + \"/\" + moment().endOf('day').subtract(1, 'days').add(1, 'millisecond').utc().toISOString();\n          break;\n        case \"TW\":\n          value = moment().startOf('week').utc().toISOString() + \"/\" + moment().endOf('week').add(1, 'millisecond').utc().toISOString();\n          break;\n        case \"LW\":\n          value = moment().startOf('week').subtract(1, 'weeks').utc().toISOString() + \"/\" + moment().endOf('week').subtract(1, 'weeks').add(1, 'millisecond').utc().toISOString();\n          break;\n        case \"TM\":\n          value = moment().startOf('month').utc().toISOString() + \"/\" + moment().endOf('month').add(1, 'millisecond').utc().toISOString();\n          break;\n        case \"LM\":\n          value = moment().startOf('month').subtract(1, 'month').utc().toISOString() + \"/\" + moment().subtract(1, 'month').endOf('month').add(1, 'millisecond').utc().toISOString();\n          break;\n        case \"custom\":\n          value = start.toISOString() + \"/\" + end.toISOString();\n          break;\n        default:\n      }\n      this.set(\"value\", value);\n    },\n    valuesChanged: Ember.observer('startDate', 'endDate', 'selectedRangeType', function () {\n      this._computeValue();\n    })\n  });\n});","define(\"insights-web/components/timeline-chart\", [\"exports\", \"ember-google-charts/components/timeline-chart\"], function (_exports, _timelineChart) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _timelineChart.default;\n    }\n  });\n});","define(\"insights-web/components/timezone-banner\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = Ember.Component.extend({\n    hourformat24: null,\n    init: function init() {\n      var _this = this;\n      this._super.apply(this, arguments);\n      var self = this;\n      setInterval(function () {\n        var format = \"hh:mm a\";\n        var hourformat24 = _this.get(\"hourformat24\");\n        if (typeof hourformat24 !== \"undefined\" && hourformat24 === true) {\n          format = \"HH:mm\";\n        }\n\n        //.zoneAbbr()\n        var est = moment().tz(\"America/New_York\");\n        var cst = moment().tz(\"America/Chicago\");\n        var mst = moment().tz(\"America/Denver\");\n        var pst = moment().tz('America/Los_Angeles');\n        if (!_this.isDestroyed) {\n          self.set(\"eastern\", est.format(format));\n          self.set(\"central\", cst.format(format));\n          self.set(\"mountain\", mst.format(format));\n          self.set(\"pacific\", pst.format(format));\n          self.set(\"utc\", moment().utc().format(format));\n        }\n      }, 1000);\n    }\n  });\n});","define(\"insights-web/components/trial-banner\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var COOKIE_NAME = \"purecloudTokenV2\";\n  var _default = _exports.default = Ember.Component.extend({\n    cookies: Ember.inject.service(),\n    didReceiveAttrs: function didReceiveAttrs() {\n      this._super.apply(this, arguments);\n      try {\n        var cookieService = this.get('cookies');\n        var cookie = JSON.parse(cookieService.read(COOKIE_NAME));\n        if (cookie.trialExpires) {\n          var expires = moment(cookie.trialExpires);\n          this.set(\"daysRemaining\", expires.diff(moment(), 'days'));\n          this.set(\"isTrial\", true);\n        } else {\n          this.set(\"isTrial\", false);\n        }\n      } catch (ex) {}\n    }\n  });\n});","define(\"insights-web/components/two-col-selector\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = Ember.Component.extend({\n    selectedAvailableItems: [],\n    selectedSelectedItems: [],\n    disableMoveSelected: true,\n    actions: {\n      selectAvailable: function selectAvailable(Items) {\n        this.set(\"selectedAvailableItems\", Ember.$(Items.target).val());\n      },\n      selectSelected: function selectSelected(Items) {\n        this.set(\"selectedSelectedItems\", Ember.$(Items.target).val());\n        this.set(\"disableMoveSelected\", this.selectedSelectedItems.length !== 1);\n      },\n      selectItems: function selectItems() {\n        var selectedAvailable = this.get(\"selectedAvailableItems\");\n        //let availableItems = this.get(\"availableItems\");\n\n        this.selectedItems.addObjects(selectedAvailable);\n        for (var x = 0; x < selectedAvailable.length; x++) {\n          this.availableItems.removeObject(selectedAvailable[x]);\n        }\n      },\n      selectedItemUp: function selectedItemUp() {\n        var selectedSelectedItems = this.get(\"selectedSelectedItems\");\n        var selectedItem = selectedSelectedItems[0];\n        var selectedIndex = this.selectedItems.indexOf(selectedItem);\n        if (selectedIndex === 0) {\n          return;\n        }\n        this.selectedItems.removeAt(selectedIndex, 1);\n        this.selectedItems.insertAt(selectedIndex - 1, selectedItem);\n      },\n      selectedItemDown: function selectedItemDown() {\n        var selectedSelectedItems = this.get(\"selectedSelectedItems\");\n        var selectedItem = selectedSelectedItems[0];\n        var selectedIndex = this.selectedItems.indexOf(selectedItem);\n        if (selectedIndex >= this.selectedItems.length) {\n          return;\n        }\n        this.selectedItems.insertAt(selectedIndex + 2, selectedItem);\n        this.selectedItems.removeAt(selectedIndex, 1);\n      },\n      removeSelectedItems: function removeSelectedItems() {\n        var selectedSelectedItems = this.get(\"selectedSelectedItems\");\n        //let selectedItems = this.get(\"selectedItems\");\n\n        this.availableItems.addObjects(selectedSelectedItems);\n        for (var x = 0; x < selectedSelectedItems.length; x++) {\n          this.selectedItems.removeObject(selectedSelectedItems[x]);\n        }\n\n        //  this.set(\"availableItems\",availableItems);\n        //this.set(\"selectedItems\",selectedItems);\n      }\n    }\n  });\n});","define(\"insights-web/components/web-frame\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = Ember.Component.extend({\n    iframeHeight: 100,\n    heightChanged: Ember.observer('configuration.height', function () {\n      var parentHeight = this.$().parents('.grid-stack-item-content').height();\n      this.set(\"iframeHeight\", parentHeight);\n    }),\n    didInsertElement: function didInsertElement() {\n      Ember.run.later(this, function () {\n        var parentHeight = this.$().parents('.grid-stack-item-content').height();\n        this.set(\"iframeHeight\", parentHeight);\n      }, 100);\n    }\n  });\n});","define(\"insights-web/components/widget-clock\", [\"exports\", \"insights-web/mixins/widget-mixin\"], function (_exports, _widgetMixin) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = Ember.Component.extend(_widgetMixin.default, {\n    hourformat24: null,\n    _updateTime: function _updateTime() {\n      if (this.isDestroyed) {\n        return;\n      }\n      var format = \"hh:mm a\";\n      var hourformat24 = this.get(\"configuration\").hourformat24;\n      if (typeof hourformat24 !== \"undefined\" && hourformat24 === true) {\n        format = \"HH:mm\";\n      }\n      var time = moment().tz(this.get(\"configuration\").title);\n      if (this && !this.isDestroyed) {\n        this.set(\"data\", time.format(format));\n        this._setFontSize();\n        Ember.run.later(this, function () {\n          this._updateTime();\n        }, 1000);\n      }\n    },\n    init: function init() {\n      this._super.apply(this, arguments);\n      Ember.run.later(this, function () {\n        this._updateTime();\n      }, 100);\n    }\n  });\n});","define(\"insights-web/components/widget-image\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = Ember.Component.extend({\n    didRender: function didRender() {\n      Ember.run.later(this, function () {\n        var parentHeight = this.$().parents('.grid-stack-item-content').height();\n        var parentWidth = this.$().parents('.grid-stack-item-content').width();\n        this.$(\"img\").css('max-height', \"\".concat(parentHeight - 20, \"px\"));\n        this.$(\"img\").css('max-width', \"\".concat(parentWidth - 20, \"px\"));\n      }, 1000);\n      this.$().parents('.grid-stack-item-content').css('background-color', 'transparent');\n      this.$().parents('.grid-stack-item-content').css('border', '0px');\n    }\n  });\n});","define(\"insights-web/components/wrapup-widget\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = Ember.Component.extend({\n    queueService: Ember.inject.service(),\n    realtimeService: Ember.inject.service(),\n    requestService: Ember.inject.service(),\n    missingPermissionService: Ember.inject.service(),\n    //wrapup codes cause a high api usage, some customers ask to disable\n    _isWrapupDisabled: function _isWrapupDisabled() {\n      return ['c47c6696-d16f-4e1a-80d5-e253aadf356e',\n      //focuscura https://mypureinsights.zendesk.com/agent/tickets/1270\n      'c78e7a69-926d-4ad4-a90e-736a8894e089',\n      //sodexo https://mypureinsights.zendesk.com/agent/tickets/1632\n      '803ac76d-37cc-4485-a56e-4d4c8c4b6a41',\n      //crystalsas https://mypureinsights.zendesk.com/agent/tickets/5236\n      '924246ee-e90f-42c1-96be-53a8f5f51c45',\n      //europassistancebe https://mypureinsights.zendesk.com/agent/tickets/6744\n      '4658826b-d29e-40aa-a173-4cec180a6b02',\n      //brighton https://mypureinsights.zendesk.com/agent/tickets/10639\n      ''].indexOf(this.get(\"requestService\").me.organization.id) > -1;\n    },\n    _getWrapupCodes: function _getWrapupCodes() {\n      var self = this;\n      var requestService = this.get(\"requestService\");\n      if (this._isWrapupDisabled()) {\n        this.set(\"wrapupwarning\", \"Wrap up code widget is not supported for this organization\");\n        return Ember.RSVP.Promise.resolve();\n      }\n      Ember.run.later(this, function () {\n        this._getWrapupCodes();\n      }, 1000 * 60 * 60); //every hour\n\n      return new Ember.RSVP.Promise(function (resolve) {\n        requestService.getResource(\"/purecloud/wrapups\").then(function (wrapups) {\n          var wrapupMap = {};\n          wrapups.forEach(function (wrapup) {\n            wrapupMap[wrapup.id] = wrapup.name;\n          });\n          self.set(\"wrapupMap\", wrapupMap);\n          resolve();\n        });\n      });\n    },\n    _getWrapupData: function _getWrapupData() {\n      var self = this;\n      if (this._isWrapupDisabled()) {\n        return;\n      }\n      Ember.run.later(this, function () {\n        if (this && !this.isDestroyed) {\n          this._getWrapupData();\n        }\n      }, 20 * 1000); //every 20 seconds\n\n      var configuration = this.get(\"configuration\");\n      var realtimeService = this.get(\"realtimeService\");\n      var end = moment().endOf(\"day\");\n      var start = moment().startOf(\"day\");\n      realtimeService.getAggregateData(\"tHandle\", start, end, configuration.queueIds, \"P1D\", [\"wrapUpCode\", \"queueId\"]).then(function (values) {\n        var wrapupMap = self.get(\"wrapupMap\");\n        var displayValueMap = {};\n        var displayValues = [];\n        if (values.results) {\n          values.results.forEach(function (result) {\n            if (!result.group.wrapUpCode) {\n              return;\n            }\n            var display = wrapupMap[result.group.wrapUpCode];\n            if (!display) {\n              if (result.group.wrapUpCode.length === 36) {\n                display = \"Default\";\n              } else if (result.group.wrapUpCode === 'ININ-OUTBOUND-PREVIEW-SKIPPED') {\n                display = \"Outbound Preview Skipped\";\n              } else if (result.group.wrapUpCode === 'ININ-OUTBOUND-TRANSFERRED-TO-QUEUE') {\n                display = \"Outbound Transferred To Queue\";\n              } else if (result.group.wrapUpCode === 'ININ-OUTBOUND-NO-ANSWER') {\n                display = \"Outbound No Answer\";\n              } else if (result.group.wrapUpCode === 'ININ-OUTBOUND-DISCONNECT') {\n                display = \"Outbound Disconnect\";\n              } else {\n                display = result.group.wrapUpCode;\n              }\n            }\n            if (!displayValueMap[display]) {\n              displayValueMap[display] = 0;\n            }\n            result.data.forEach(function (data) {\n              data.metrics.forEach(function (metric) {\n                if (metric.stats && metric.stats.count) {\n                  displayValueMap[display] = displayValueMap[display] + metric.stats.count;\n                }\n              });\n            });\n          });\n          Object.keys(displayValueMap).forEach(function (key) {\n            displayValues.push({\n              code: key,\n              value: displayValueMap[key]\n            });\n          });\n        }\n        displayValues = displayValues.sort(function (a, b) {\n          if (a.value === b.value) {\n            return 0;\n          } else if (a.value < b.value) {\n            return 1;\n          }\n          return -1;\n        });\n        if (displayValues.length > configuration.count) {\n          displayValues = displayValues.slice(0, configuration.count);\n        }\n        self.set(\"wrapups\", displayValues);\n      }).catch(function (ex) {\n        console.error(\"Unable to get wrapup data \" + ex);\n      });\n\n      // realtimeService.getConversationSummary(\"wrapUpCode\", configuration.count, start, end, configuration.queueIds, 1).then(function(values){\n      //     let wrapupMap = self.get(\"wrapupMap\");\n      //     let displayValues = [];\n\n      //     if(values.aggregations){\n      //         let wrapupAggregation = values.aggregations[0];\n      //         wrapupAggregation.results.forEach((aggregation)=>{\n      //             let display = wrapupMap[aggregation.value];\n      //             if (!display){\n      //                 if(aggregation.value.length === 36){\n      //                     display = \"Default\";\n      //                 }else if(aggregation.value === 'ININ-OUTBOUND-PREVIEW-SKIPPED'){\n      //                     display = \"Outbound Preview Skipped\";\n      //                 }else if(aggregation.value === 'ININ-OUTBOUND-TRANSFERRED-TO-QUEUE'){\n      //                     display = \"Outbound Transferred To Queue\";\n      //                 }else if(aggregation.value === 'ININ-OUTBOUND-NO-ANSWER'){\n      //                     display = \"Outbound No Answer\";\n      //                 }else if(aggregation.value === 'ININ-OUTBOUND-DISCONNECT'){\n      //                     display = \"Outbound Disconnect\";\n      //                 }else{\n      //                     display = aggregation.value;\n      //                 }\n      //             }\n      //             displayValues.push({\n      //                 code: display,\n      //                 value: aggregation.count\n      //             });\n      //         });\n      //     }\n\n      //     displayValues = displayValues.sort((a,b)=>{\n      //         if(a.value === b.value){\n      //             return 0;\n      //         }else if(a.value < b.value){\n      //             return 1;\n      //         }\n\n      //         return -1;\n      //     });\n      //     self.set(\"wrapups\", displayValues);\n      // });\n    },\n    queuesChanged: Ember.observer('queueService.queueList', function () {\n      var self = this;\n      this._getWrapupCodes().then(function () {\n        self._getWrapupData();\n      });\n    }),\n    didReceiveAttrs: function didReceiveAttrs() {\n      var self = this;\n      this._getWrapupCodes().then(function () {\n        self._getWrapupData();\n      });\n    }\n  });\n});","define(\"insights-web/controllers/application\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = Ember.Controller.extend({\n    requestService: Ember.inject.service(),\n    embeddedService: Ember.inject.service(),\n    missingPermissionService: Ember.inject.service(),\n    isLoading: true,\n    isEmbedded: false,\n    init: function init() {\n      this._super.apply(this, arguments);\n      var self = this;\n      var missingPermissionService = this.get(\"missingPermissionService\");\n      this.get(\"requestService\").getMe().then(function (me) {\n        self.set(\"isLoading\", false);\n        var hasQueueView = false;\n        var hasConversationQuery = false;\n        var hasConversationAggregate = false;\n        var hasQueueObservation = false;\n        var hasCampaignView = false;\n        self.set(\"organizationId\", me.organization.id);\n        me.authorization.permissions.forEach(function (permission) {\n          if (permission.match(/routing:queue.*view/g)) {\n            hasQueueView = true;\n          }\n          if (permission.match(/analytics:conversationDetail:.*view/g)) {\n            hasConversationQuery = true;\n          }\n          if (permission.match(/analytics:conversationAggregate:.*view/g)) {\n            hasConversationAggregate = true;\n          }\n          if (permission.match(/analytics:queueObservation:.*view/g)) {\n            hasQueueObservation = true;\n          }\n          if (permission.match(/outbound:campaign:.*view/g)) {\n            hasCampaignView = true;\n          }\n        });\n        if (!hasQueueView) {\n          missingPermissionService.reportMissing(\"routing:queue:view\");\n        }\n        if (!hasConversationQuery) {\n          missingPermissionService.reportMissing(\"analytics:conversationDetail:view\");\n        }\n        if (!hasConversationAggregate) {\n          missingPermissionService.reportMissing(\"analytics:conversationAggregate:view\");\n        }\n        if (!hasQueueObservation) {\n          missingPermissionService.reportMissing(\"analytics:queueObservation:view\");\n        }\n        missingPermissionService.set(\"hasCampaignView\", hasCampaignView);\n      });\n      this.set('isEmbedded', this.get(\"embeddedService\").isEmbedded());\n    }\n  });\n});","define(\"insights-web/controllers/call-flow\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = Ember.Controller.extend({\n    requestService: Ember.inject.service(),\n    selectedQueues: [],\n    queueIds: [],\n    interval: \"\",\n    callFlowData: [['From', 'To', 'Conversation Count']],\n    queryInProgress: false,\n    error: null,\n    hasResults: false,\n    options: {\n      height: 500,\n      sankey: {\n        node: {\n          nodePadding: 60,\n          interactivity: true,\n          width: 20\n        },\n        iterations: 64\n      },\n      animation: {\n        startup: true,\n        easing: 'inAndOut'\n      }\n    },\n    init: function init() {\n      this._super.apply(this, arguments);\n      this.set(\"selectedQueues\", []);\n    },\n    actions: {\n      handleChartLoaded: function handleChartLoaded(chart) {\n        google.visualization.events.addListener(chart, 'select', selectHandler);\n        var self = this;\n        function selectHandler() {\n          try {\n            var callFlowMap = self.get(\"callFlowMap\");\n            var selection = chart.getSelection();\n            if (!selection) {\n              return;\n            }\n            var nodeName = selection[0].name;\n            var callsOut = [];\n            var node = callFlowMap[nodeName];\n            var outKeys = Object.keys(node);\n            for (var keyIndex in outKeys) {\n              var key = outKeys[keyIndex];\n              if (node[key]) {\n                callsOut.push({\n                  destination: key,\n                  conversations: node[key].conversations\n                });\n              }\n            }\n            self.set(\"selectedNode\", nodeName);\n            self.set(\"callsOut\", callsOut);\n            Ember.Logger.log(\"to\");\n            Ember.Logger.log(node);\n          } catch (ex) {\n            Ember.Logger.log(ex);\n          }\n        }\n      },\n      executeQuery: function executeQuery() {\n        this.set(\"hasResults\", false);\n        while (this.callFlowData.length > 1) {\n          this.callFlowData.removeAt(1);\n        }\n        var queues = this.get(\"queueIds\");\n        var interval = this.get(\"interval\");\n        var queueIds = [];\n        for (var x = 0; x < queues.length; x++) {\n          queueIds.push(queues[x]);\n        }\n        var query = {\n          query: {\n            \"interval\": interval\n          },\n          meta: {\n            queues: queueIds\n          }\n        };\n        Ember.Logger.log(query);\n        var self = this;\n        this.set(\"queryInProgress\", true);\n        this.get(\"requestService\").postResource('/execute/v1/callflow', query).then(function (data) {\n          for (var _x = 1; _x < data.data.length; _x++) {\n            self.callFlowData.pushObject(data.data[_x]);\n          }\n          self.set(\"callFlowMap\", data.flowMap);\n\n          //self.callFlowData.pushObject([\"0 - customer\",\"1 - ivr\",83]); ///,[\"1 - ivr\",\"2 - acd\",83],[\"2 - acd\",\"3 - agent\",99],[\"0 - ivr\",\"1 - customer\",16],[\"1 - customer\",\"2 - acd\",16]]);\n          self.set(\"queryInProgress\", false);\n          self.set(\"hasResults\", true);\n        }).catch(function (err) {\n          self.set(\"queryInProgress\", false);\n          var errormessage = JSON.stringify(err, null, \" \");\n          if (err.error) {\n            errormessage = err.error;\n          }\n          self.set(\"error\", errormessage);\n          Ember.Logger.error(err);\n        });\n        this.set(\"queryInProgress\", true);\n      }\n    }\n  });\n});","define(\"insights-web/controllers/client-app-install\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = Ember.Controller.extend({\n    purecloud: Ember.inject.service(),\n    requestService: Ember.inject.service(),\n    groups: [],\n    hasPermissions: true,\n    canInstall: Ember.computed('hasPermissions', 'groups', 'groups.@each', function () {\n      return this.get(\"hasPermissions\") === true && this.get(\"groups\").length > 0;\n    }),\n    init: function init() {\n      this._super.apply(this, arguments);\n      var self = this;\n      this.get(\"requestService\").getResource('/purecloud/myauthorization').then(function (authorization) {\n        self.set(\"hasPermissions\", authorization.hasIntegrationInstall);\n      });\n    },\n    actions: {\n      searchTask: function searchTask(term) {\n        var search = {\n          \"pageSize\": 25,\n          \"pageNumber\": 1,\n          \"types\": [\"groups\"],\n          \"query\": [{\n            \"type\": \"TERM\",\n            \"fields\": [\"name\"],\n            \"value\": term,\n            \"operator\": \"AND\"\n          }]\n        };\n        return this.get(\"purecloud\").post(\"/api/v2/search?profile=false\", search).then(function (results) {\n          return results.results;\n        });\n      },\n      install: function install() {\n        var self = this;\n        var groupIds = [];\n        this.get(\"groups\").forEach(function (group) {\n          groupIds.push(group.id);\n        });\n        return this.get(\"requestService\").postResource('/purecloud/installclientapp', {\n          groups: groupIds\n        }).then(function () {\n          self.set(\"success\", \"Application was successfully installed and can be found in Performance > PureInsights Dashboard.  You will need to refresh your PureCloud client to see the changes.\");\n          self.set(\"error\", null);\n        }).catch(function (err) {\n          console.log(err);\n          self.set(\"error\", \"An error occurred installing the app. \" + err.responseText);\n          self.set(\"success\", null);\n        });\n      }\n    }\n  });\n});","define(\"insights-web/controllers/dashboard-config\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = Ember.Controller.extend({\n    realtimeService: Ember.inject.service(),\n    notifications: Ember.inject.service('notification-messages'),\n    init: function init() {\n      var _this = this;\n      this._super.apply(this, arguments);\n      this.get(\"realtimeService\").getDashboards().then(function (config) {\n        _this.set(\"config\", JSON.stringify(config, null, \" \"));\n      });\n    },\n    actions: {\n      update: function update() {\n        var _this2 = this;\n        var config = JSON.parse(this.get(\"config\"));\n        this.get(\"realtimeService\").saveDashboards(config).then(function () {\n          _this2.get('notifications').success('Saved successfully', {\n            autoClear: true,\n            clearDuration: 1200\n          });\n        });\n      }\n    }\n  });\n});","define(\"insights-web/controllers/mypermissions\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = Ember.Controller.extend({\n    requestService: Ember.inject.service(),\n    init: function init() {\n      this._super.apply(this, arguments);\n      var self = this;\n      this.get(\"requestService\").getResource('/purecloud/me').then(function (me) {\n        var permissions = me.authorization.permissions;\n        self.set(\"permissions\", permissions.sort());\n      });\n      this.get(\"requestService\").getResource(\"/purecloud/queues\").then(function (queues) {\n        self.set(\"queues\", queues);\n      });\n    }\n  });\n});","define(\"insights-web/data-adapter\", [\"exports\", \"@ember-data/debug\"], function (_exports, _debug) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _debug.default;\n    }\n  });\n});","define(\"insights-web/helpers/-element\", [\"exports\", \"ember-element-helper/helpers/-element\"], function (_exports, _element) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _element.default;\n    }\n  });\n});","define(\"insights-web/helpers/-has-block-params\", [\"exports\", \"ember-named-blocks-polyfill/helpers/-has-block-params\"], function (_exports, _hasBlockParams) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _hasBlockParams.default;\n    }\n  });\n});","define(\"insights-web/helpers/-has-block\", [\"exports\", \"ember-named-blocks-polyfill/helpers/-has-block\"], function (_exports, _hasBlock) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _hasBlock.default;\n    }\n  });\n});","define(\"insights-web/helpers/-is-named-block-invocation\", [\"exports\", \"ember-named-blocks-polyfill/helpers/-is-named-block-invocation\"], function (_exports, _isNamedBlockInvocation) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _isNamedBlockInvocation.default;\n    }\n  });\n});","define(\"insights-web/helpers/-named-block-invocation\", [\"exports\", \"ember-named-blocks-polyfill/helpers/-named-block-invocation\"], function (_exports, _namedBlockInvocation) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _namedBlockInvocation.default;\n    }\n  });\n});","define(\"insights-web/helpers/and\", [\"exports\", \"ember-truth-helpers/helpers/and\"], function (_exports, _and) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"and\", {\n    enumerable: true,\n    get: function get() {\n      return _and.and;\n    }\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _and.default;\n    }\n  });\n});","define(\"insights-web/helpers/app-version\", [\"exports\", \"insights-web/config/environment\", \"ember-cli-app-version/utils/regexp\"], function (_exports, _environment, _regexp) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.appVersion = appVersion;\n  _exports.default = void 0;\n  function appVersion(_) {\n    var hash = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n    var version = _environment.default.APP.version;\n    // e.g. 1.0.0-alpha.1+4jds75hf\n\n    // Allow use of 'hideSha' and 'hideVersion' For backwards compatibility\n    var versionOnly = hash.versionOnly || hash.hideSha;\n    var shaOnly = hash.shaOnly || hash.hideVersion;\n    var match = null;\n    if (versionOnly) {\n      if (hash.showExtended) {\n        match = version.match(_regexp.versionExtendedRegExp); // 1.0.0-alpha.1\n      }\n      // Fallback to just version\n      if (!match) {\n        match = version.match(_regexp.versionRegExp); // 1.0.0\n      }\n    }\n    if (shaOnly) {\n      match = version.match(_regexp.shaRegExp); // 4jds75hf\n    }\n    return match ? match[0] : version;\n  }\n  var _default = _exports.default = Ember.Helper.helper(appVersion);\n});","define(\"insights-web/helpers/assign\", [\"exports\", \"ember-assign-helper/helpers/assign\"], function (_exports, _assign) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"assign\", {\n    enumerable: true,\n    get: function get() {\n      return _assign.assign;\n    }\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _assign.default;\n    }\n  });\n});","define(\"insights-web/helpers/bs-contains\", [\"exports\", \"ember-bootstrap/helpers/bs-contains\"], function (_exports, _bsContains) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"bsContains\", {\n    enumerable: true,\n    get: function get() {\n      return _bsContains.bsContains;\n    }\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _bsContains.default;\n    }\n  });\n});","define(\"insights-web/helpers/bs-default\", [\"exports\", \"ember-bootstrap/helpers/bs-default\"], function (_exports, _bsDefault) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _bsDefault.default;\n    }\n  });\n});","define(\"insights-web/helpers/bs-eq\", [\"exports\", \"ember-bootstrap/helpers/bs-eq\"], function (_exports, _bsEq) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _bsEq.default;\n    }\n  });\n});","define(\"insights-web/helpers/bs-noop\", [\"exports\", \"ember-bootstrap/helpers/bs-noop\"], function (_exports, _bsNoop) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _bsNoop.default;\n    }\n  });\n});","define(\"insights-web/helpers/bs-size-class\", [\"exports\", \"ember-bootstrap/helpers/bs-size-class\"], function (_exports, _bsSizeClass) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _bsSizeClass.default;\n    }\n  });\n});","define(\"insights-web/helpers/bs-type-class\", [\"exports\", \"ember-bootstrap/helpers/bs-type-class\"], function (_exports, _bsTypeClass) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _bsTypeClass.default;\n    }\n  });\n});","define(\"insights-web/helpers/cancel-all\", [\"exports\", \"ember-concurrency/helpers/cancel-all\"], function (_exports, _cancelAll) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _cancelAll.default;\n    }\n  });\n});","define(\"insights-web/helpers/contains\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var contains = function contains(params) {\n    return params[0].indexOf(params[1]) > -1;\n  };\n  var _default = _exports.default = Ember.Helper.helper(contains);\n});","define(\"insights-web/helpers/did-insert-helper\", [\"exports\", \"ember-render-helpers/helpers/did-insert-helper\"], function (_exports, _didInsertHelper) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _didInsertHelper.default;\n    }\n  });\n});","define(\"insights-web/helpers/did-insert\", [\"exports\", \"ember-render-helpers/helpers/did-insert\"], function (_exports, _didInsert) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _didInsert.default;\n    }\n  });\n});","define(\"insights-web/helpers/did-update-helper\", [\"exports\", \"ember-render-helpers/helpers/did-update-helper\"], function (_exports, _didUpdateHelper) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _didUpdateHelper.default;\n    }\n  });\n});","define(\"insights-web/helpers/did-update\", [\"exports\", \"ember-render-helpers/helpers/did-update\"], function (_exports, _didUpdate) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _didUpdate.default;\n    }\n  });\n});","define(\"insights-web/helpers/element\", [\"exports\", \"ember-element-helper/helpers/element\"], function (_exports, _element) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _element.default;\n    }\n  });\n});","define(\"insights-web/helpers/ember-power-select-is-group\", [\"exports\", \"ember-power-select/helpers/ember-power-select-is-group\"], function (_exports, _emberPowerSelectIsGroup) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _emberPowerSelectIsGroup.default;\n    }\n  });\n  Object.defineProperty(_exports, \"emberPowerSelectIsGroup\", {\n    enumerable: true,\n    get: function get() {\n      return _emberPowerSelectIsGroup.emberPowerSelectIsGroup;\n    }\n  });\n});","define(\"insights-web/helpers/ember-power-select-is-selected\", [\"exports\", \"ember-power-select/helpers/ember-power-select-is-selected\"], function (_exports, _emberPowerSelectIsSelected) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _emberPowerSelectIsSelected.default;\n    }\n  });\n  Object.defineProperty(_exports, \"emberPowerSelectIsSelected\", {\n    enumerable: true,\n    get: function get() {\n      return _emberPowerSelectIsSelected.emberPowerSelectIsSelected;\n    }\n  });\n});","define(\"insights-web/helpers/ensure-safe-component\", [\"exports\", \"@embroider/util\"], function (_exports, _util) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _util.EnsureSafeComponentHelper;\n    }\n  });\n});","define(\"insights-web/helpers/eq\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var eq = function eq(params) {\n    return params[0] === params[1];\n  };\n  var _default = _exports.default = Ember.Helper.helper(eq);\n});","define(\"insights-web/helpers/formatnumber\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  _exports.formatNumber = formatNumber;\n  function formatNumber(params) {\n    var value = params[0];\n\n    //debugger;\n    if (value % 1 !== 0) {\n      value = parseFloat(parseFloat(value, 10).toFixed(2));\n    }\n    return value;\n  }\n  var _default = _exports.default = Ember.Helper.helper(formatNumber);\n});","define(\"insights-web/helpers/formattime\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  _exports.formattime = formattime;\n  function formattime(params) {\n    var value = params[0];\n    return moment(value).format(\"LLLL\");\n  }\n  var _default = _exports.default = Ember.Helper.helper(formattime);\n});","define(\"insights-web/helpers/formattimezone\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  _exports.formatTimezone = formatTimezone;\n  function formatTimezone(params) {\n    var value = params[0];\n    var split = value.split('/');\n    if (split.length > 1) {\n      value = split[1];\n    }\n    value = value.replace(/_/g, ' ');\n    return value;\n  }\n  var _default = _exports.default = Ember.Helper.helper(formatTimezone);\n});","define(\"insights-web/helpers/getprop\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var getprop = function getprop(params) {\n    return params[0][params[1]];\n  };\n  var _default = _exports.default = Ember.Helper.helper(getprop);\n});","define(\"insights-web/helpers/gt\", [\"exports\", \"ember-truth-helpers/helpers/gt\"], function (_exports, _gt) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _gt.default;\n    }\n  });\n  Object.defineProperty(_exports, \"gt\", {\n    enumerable: true,\n    get: function get() {\n      return _gt.gt;\n    }\n  });\n});","define(\"insights-web/helpers/gte\", [\"exports\", \"ember-truth-helpers/helpers/gte\"], function (_exports, _gte) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _gte.default;\n    }\n  });\n  Object.defineProperty(_exports, \"gte\", {\n    enumerable: true,\n    get: function get() {\n      return _gte.gte;\n    }\n  });\n});","define(\"insights-web/helpers/html-string\", [\"exports\", \"@babel/runtime/helpers/esm/slicedToArray\"], function (_exports, _slicedToArray2) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  _exports.replacenewline = replacenewline;\n  function replacenewline(_ref) {\n    var _ref2 = (0, _slicedToArray2.default)(_ref, 1),\n      param = _ref2[0];\n    return Ember.String.htmlSafe(param.replace(\"\\\\n\", \"<br/>\"));\n  }\n  ;\n  var _default = _exports.default = Ember.Helper.helper(replacenewline);\n});","define(\"insights-web/helpers/is-after\", [\"exports\", \"ember-moment/helpers/is-after\"], function (_exports, _isAfter) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _isAfter.default;\n    }\n  });\n});","define(\"insights-web/helpers/is-array\", [\"exports\", \"ember-truth-helpers/helpers/is-array\"], function (_exports, _isArray) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _isArray.default;\n    }\n  });\n  Object.defineProperty(_exports, \"isArray\", {\n    enumerable: true,\n    get: function get() {\n      return _isArray.isArray;\n    }\n  });\n});","define(\"insights-web/helpers/is-before\", [\"exports\", \"ember-moment/helpers/is-before\"], function (_exports, _isBefore) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _isBefore.default;\n    }\n  });\n});","define(\"insights-web/helpers/is-between\", [\"exports\", \"ember-moment/helpers/is-between\"], function (_exports, _isBetween) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _isBetween.default;\n    }\n  });\n});","define(\"insights-web/helpers/is-clipboard-supported\", [\"exports\", \"ember-cli-clipboard/helpers/is-clipboard-supported\"], function (_exports, _isClipboardSupported) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _isClipboardSupported.default;\n    }\n  });\n});","define(\"insights-web/helpers/is-empty\", [\"exports\", \"ember-truth-helpers/helpers/is-empty\"], function (_exports, _isEmpty) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _isEmpty.default;\n    }\n  });\n});","define(\"insights-web/helpers/is-equal\", [\"exports\", \"ember-truth-helpers/helpers/is-equal\"], function (_exports, _isEqual) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _isEqual.default;\n    }\n  });\n  Object.defineProperty(_exports, \"isEqual\", {\n    enumerable: true,\n    get: function get() {\n      return _isEqual.isEqual;\n    }\n  });\n});","define(\"insights-web/helpers/is-same-or-after\", [\"exports\", \"ember-moment/helpers/is-same-or-after\"], function (_exports, _isSameOrAfter) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _isSameOrAfter.default;\n    }\n  });\n});","define(\"insights-web/helpers/is-same-or-before\", [\"exports\", \"ember-moment/helpers/is-same-or-before\"], function (_exports, _isSameOrBefore) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _isSameOrBefore.default;\n    }\n  });\n});","define(\"insights-web/helpers/is-same\", [\"exports\", \"ember-moment/helpers/is-same\"], function (_exports, _isSame) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _isSame.default;\n    }\n  });\n});","define(\"insights-web/helpers/local-class\", [\"exports\", \"ember-css-modules/helpers/local-class\"], function (_exports, _localClass) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _localClass.default;\n    }\n  });\n  Object.defineProperty(_exports, \"localClass\", {\n    enumerable: true,\n    get: function get() {\n      return _localClass.localClass;\n    }\n  });\n});","define(\"insights-web/helpers/lt\", [\"exports\", \"ember-truth-helpers/helpers/lt\"], function (_exports, _lt) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _lt.default;\n    }\n  });\n  Object.defineProperty(_exports, \"lt\", {\n    enumerable: true,\n    get: function get() {\n      return _lt.lt;\n    }\n  });\n});","define(\"insights-web/helpers/lte\", [\"exports\", \"ember-truth-helpers/helpers/lte\"], function (_exports, _lte) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _lte.default;\n    }\n  });\n  Object.defineProperty(_exports, \"lte\", {\n    enumerable: true,\n    get: function get() {\n      return _lte.lte;\n    }\n  });\n});","define(\"insights-web/helpers/media\", [\"exports\", \"ember-responsive/helpers/media\"], function (_exports, _media) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _media.default;\n    }\n  });\n  Object.defineProperty(_exports, \"media\", {\n    enumerable: true,\n    get: function get() {\n      return _media.media;\n    }\n  });\n});","define(\"insights-web/helpers/moment-add\", [\"exports\", \"ember-moment/helpers/moment-add\"], function (_exports, _momentAdd) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _momentAdd.default;\n    }\n  });\n});","define(\"insights-web/helpers/moment-calendar\", [\"exports\", \"ember-moment/helpers/moment-calendar\"], function (_exports, _momentCalendar) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _momentCalendar.default;\n    }\n  });\n});","define(\"insights-web/helpers/moment-diff\", [\"exports\", \"ember-moment/helpers/moment-diff\"], function (_exports, _momentDiff) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _momentDiff.default;\n    }\n  });\n});","define(\"insights-web/helpers/moment-duration\", [\"exports\", \"ember-moment/helpers/moment-duration\"], function (_exports, _momentDuration) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _momentDuration.default;\n    }\n  });\n});","define(\"insights-web/helpers/moment-format\", [\"exports\", \"ember-moment/helpers/moment-format\"], function (_exports, _momentFormat) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _momentFormat.default;\n    }\n  });\n});","define(\"insights-web/helpers/moment-from-now\", [\"exports\", \"ember-moment/helpers/moment-from-now\"], function (_exports, _momentFromNow) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _momentFromNow.default;\n    }\n  });\n});","define(\"insights-web/helpers/moment-from\", [\"exports\", \"ember-moment/helpers/moment-from\"], function (_exports, _momentFrom) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _momentFrom.default;\n    }\n  });\n});","define(\"insights-web/helpers/moment-subtract\", [\"exports\", \"ember-moment/helpers/moment-subtract\"], function (_exports, _momentSubtract) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _momentSubtract.default;\n    }\n  });\n});","define(\"insights-web/helpers/moment-to-date\", [\"exports\", \"ember-moment/helpers/moment-to-date\"], function (_exports, _momentToDate) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _momentToDate.default;\n    }\n  });\n});","define(\"insights-web/helpers/moment-to-now\", [\"exports\", \"ember-moment/helpers/moment-to-now\"], function (_exports, _momentToNow) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _momentToNow.default;\n    }\n  });\n});","define(\"insights-web/helpers/moment-to\", [\"exports\", \"ember-moment/helpers/moment-to\"], function (_exports, _momentTo) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _momentTo.default;\n    }\n  });\n});","define(\"insights-web/helpers/moment-unix\", [\"exports\", \"ember-moment/helpers/unix\"], function (_exports, _unix) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _unix.default;\n    }\n  });\n});","define(\"insights-web/helpers/moment\", [\"exports\", \"ember-moment/helpers/moment\"], function (_exports, _moment) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _moment.default;\n    }\n  });\n});","define(\"insights-web/helpers/not-eq\", [\"exports\", \"ember-truth-helpers/helpers/not-eq\"], function (_exports, _notEq) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _notEq.default;\n    }\n  });\n  Object.defineProperty(_exports, \"notEqualHelper\", {\n    enumerable: true,\n    get: function get() {\n      return _notEq.notEqualHelper;\n    }\n  });\n});","define(\"insights-web/helpers/not\", [\"exports\", \"ember-truth-helpers/helpers/not\"], function (_exports, _not) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _not.default;\n    }\n  });\n  Object.defineProperty(_exports, \"not\", {\n    enumerable: true,\n    get: function get() {\n      return _not.not;\n    }\n  });\n});","define(\"insights-web/helpers/now\", [\"exports\", \"ember-moment/helpers/now\"], function (_exports, _now) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _now.default;\n    }\n  });\n});","define(\"insights-web/helpers/on-document\", [\"exports\", \"ember-on-helper/helpers/on-document\"], function (_exports, _onDocument) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _onDocument.default;\n    }\n  });\n});","define(\"insights-web/helpers/on-window\", [\"exports\", \"ember-on-helper/helpers/on-window\"], function (_exports, _onWindow) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _onWindow.default;\n    }\n  });\n});","define(\"insights-web/helpers/on\", [\"exports\", \"ember-on-helper/helpers/on\"], function (_exports, _on) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _on.default;\n    }\n  });\n});","define(\"insights-web/helpers/or\", [\"exports\", \"ember-truth-helpers/helpers/or\"], function (_exports, _or) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _or.default;\n    }\n  });\n  Object.defineProperty(_exports, \"or\", {\n    enumerable: true,\n    get: function get() {\n      return _or.or;\n    }\n  });\n});","define(\"insights-web/helpers/perform\", [\"exports\", \"ember-concurrency/helpers/perform\"], function (_exports, _perform) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _perform.default;\n    }\n  });\n});","define(\"insights-web/helpers/pluralize\", [\"exports\", \"ember-inflector/lib/helpers/pluralize\"], function (_exports, _pluralize) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = _pluralize.default;\n});","define(\"insights-web/helpers/ref-to\", [\"exports\", \"ember-ref-bucket/helpers/ref-to\"], function (_exports, _refTo) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _refTo.default;\n    }\n  });\n  Object.defineProperty(_exports, \"refTo\", {\n    enumerable: true,\n    get: function get() {\n      return _refTo.default;\n    }\n  });\n});","define(\"insights-web/helpers/selectedtab\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var getprop = function getprop(params) {\n    return params[0][params[1]];\n  };\n  var _default = _exports.default = Ember.Helper.helper(getprop);\n});","define(\"insights-web/helpers/singularize\", [\"exports\", \"ember-inflector/lib/helpers/singularize\"], function (_exports, _singularize) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = _singularize.default;\n});","define(\"insights-web/helpers/statgridcolclass\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  _exports.statGridColClass = statGridColClass;\n  function statGridColClass(params /*, hash*/) {\n    var index = params[0];\n    if (index === 0) {\n      return \"col-sm-3 col-md-2 col-lg-2\";\n    }\n    if (index <= 3) {\n      return \"col-sm-3 col-md-2 hidden-xs  col-lg-1\";\n    }\n    if (index < 6) {\n      return \" col-lg-1 col-md-2 hidden-xs hidden-sm\";\n    }\n    return \"col-lg-1 hidden-xs hidden-md hidden-sm\";\n  }\n  var _default = _exports.default = Ember.Helper.helper(statGridColClass);\n});","define(\"insights-web/helpers/statgridextracols\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  _exports.statGridExtraCols = statGridExtraCols;\n  function statGridExtraCols(params /*, hash*/) {\n    var index = params[0];\n    if (index === 0) {\n      return \"hidden\";\n    }\n    if (index <= 3) {\n      return \"hidden-md hidden-sm hidden-lg\";\n    }\n    if (index < 6) {\n      return \"hidden-md hidden-lg\";\n    }\n    return \"hidden-lg\";\n  }\n  var _default = _exports.default = Ember.Helper.helper(statGridExtraCols);\n});","define(\"insights-web/helpers/task\", [\"exports\", \"ember-concurrency/helpers/task\"], function (_exports, _task) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _task.default;\n    }\n  });\n});","define(\"insights-web/helpers/timezoneformat\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  _exports.timezoneFormat = timezoneFormat;\n  function timezoneFormat(params) {\n    var value = params[0];\n    return value.replace(\"/\", \" / \").replace(\"_\", \" \");\n  }\n  var _default = _exports.default = Ember.Helper.helper(timezoneFormat);\n});","define(\"insights-web/helpers/unix\", [\"exports\", \"ember-moment/helpers/unix\"], function (_exports, _unix) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _unix.default;\n    }\n  });\n});","define(\"insights-web/helpers/utc\", [\"exports\", \"ember-moment/helpers/utc\"], function (_exports, _utc) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _utc.default;\n    }\n  });\n  Object.defineProperty(_exports, \"utc\", {\n    enumerable: true,\n    get: function get() {\n      return _utc.utc;\n    }\n  });\n});","define(\"insights-web/helpers/will-destroy-helper\", [\"exports\", \"ember-render-helpers/helpers/will-destroy-helper\"], function (_exports, _willDestroyHelper) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _willDestroyHelper.default;\n    }\n  });\n});","define(\"insights-web/helpers/will-destroy\", [\"exports\", \"ember-render-helpers/helpers/will-destroy\"], function (_exports, _willDestroy) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _willDestroy.default;\n    }\n  });\n});","define(\"insights-web/helpers/xor\", [\"exports\", \"ember-truth-helpers/helpers/xor\"], function (_exports, _xor) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _xor.default;\n    }\n  });\n  Object.defineProperty(_exports, \"xor\", {\n    enumerable: true,\n    get: function get() {\n      return _xor.xor;\n    }\n  });\n});","define(\"insights-web/initializers/app-version\", [\"exports\", \"ember-cli-app-version/initializer-factory\", \"insights-web/config/environment\"], function (_exports, _initializerFactory, _environment) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var name, version;\n  if (_environment.default.APP) {\n    name = _environment.default.APP.name;\n    version = _environment.default.APP.version;\n  }\n  var _default = _exports.default = {\n    name: 'App Version',\n    initialize: (0, _initializerFactory.default)(name, version)\n  };\n});","define(\"insights-web/initializers/container-debug-adapter\", [\"exports\", \"ember-resolver/resolvers/classic/container-debug-adapter\"], function (_exports, _containerDebugAdapter) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = {\n    name: 'container-debug-adapter',\n    initialize: function initialize() {\n      var app = arguments[1] || arguments[0];\n      app.register('container-debug-adapter:main', _containerDebugAdapter.default);\n    }\n  };\n});","define(\"insights-web/initializers/ember-concurrency\", [\"exports\", \"ember-concurrency/initializers/ember-concurrency\"], function (_exports, _emberConcurrency) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _emberConcurrency.default;\n    }\n  });\n});","define(\"insights-web/initializers/ember-data-data-adapter\", [\"exports\", \"@ember-data/debug/setup\"], function (_exports, _setup) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _setup.default;\n    }\n  });\n});","define(\"insights-web/initializers/ember-data\", [\"exports\", \"ember-data\", \"ember-data/setup-container\"], function (_exports, _emberData, _setupContainer) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  /*\n    This code initializes EmberData in an Ember application.\n  \n    It ensures that the `store` service is automatically injected\n    as the `store` property on all routes and controllers.\n  */\n  var _default = _exports.default = {\n    name: 'ember-data',\n    initialize: _setupContainer.default\n  };\n});","define(\"insights-web/initializers/ember-responsive-breakpoints\", [\"exports\", \"ember-responsive/initializers/responsive\"], function (_exports, _responsive) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = _responsive.default;\n});","define(\"insights-web/initializers/export-application-global\", [\"exports\", \"insights-web/config/environment\"], function (_exports, _environment) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  _exports.initialize = initialize;\n  function initialize() {\n    var application = arguments[1] || arguments[0];\n    if (_environment.default.exportApplicationGlobal !== false) {\n      var theGlobal;\n      if (typeof window !== 'undefined') {\n        theGlobal = window;\n      } else if (typeof global !== 'undefined') {\n        theGlobal = global;\n      } else if (typeof self !== 'undefined') {\n        theGlobal = self;\n      } else {\n        // no reasonable global, just bail\n        return;\n      }\n      var value = _environment.default.exportApplicationGlobal;\n      var globalName;\n      if (typeof value === 'string') {\n        globalName = value;\n      } else {\n        globalName = Ember.String.classify(_environment.default.modulePrefix);\n      }\n      if (!theGlobal[globalName]) {\n        theGlobal[globalName] = application;\n        application.reopen({\n          willDestroy: function willDestroy() {\n            this._super.apply(this, arguments);\n            delete theGlobal[globalName];\n          }\n        });\n      }\n    }\n  }\n  var _default = _exports.default = {\n    name: 'export-application-global',\n    initialize: initialize\n  };\n});","define(\"insights-web/initializers/load-bootstrap-config\", [\"exports\", \"insights-web/config/environment\", \"ember-bootstrap/config\", \"ember-bootstrap/version\"], function (_exports, _environment, _config, _version) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  _exports.initialize = initialize;\n  function initialize(/* container, application */\n  ) {\n    _config.default.load(_environment.default['ember-bootstrap'] || {});\n    (0, _version.registerLibrary)();\n  }\n  var _default = _exports.default = {\n    name: 'load-bootstrap-config',\n    initialize: initialize\n  };\n});","define(\"insights-web/initializers/notifications\", [\"exports\", \"ember-cli-notifications/services/notification-messages-service\"], function (_exports, _notificationMessagesService) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = {\n    name: 'notification-messages-service',\n    initialize: function initialize() {\n      var application = arguments[1] || arguments[0];\n      if (Ember.Service) {\n        application.register('service:notification-messages', _notificationMessagesService.default);\n        application.inject('component:notification-container', 'notifications', 'service:notification-messages');\n        application.inject('component:notification-message', 'notifications', 'service:notification-messages');\n        return;\n      }\n      application.register('notification-messages:service', _notificationMessagesService.default);\n      ['controller', 'component', 'route', 'router', 'service'].forEach(function (injectionTarget) {\n        application.inject(injectionTarget, 'notifications', 'notification-messages:service');\n      });\n    }\n  };\n});","define(\"insights-web/initializers/responsive\", [\"exports\", \"ember-responsive/initializers/responsive\"], function (_exports, _responsive) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  /**\n   * Ember responsive initializer\n   *\n   * Supports auto injecting media service app-wide.\n   *\n   * Generated by the ember-responsive addon. Customize initialize to change\n   * injection.\n   */\n  var _default = _exports.default = {\n    name: 'responsive',\n    initialize: _responsive.initialize\n  };\n});","define(\"insights-web/instance-initializers/ember-data\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  /* exists only for things that historically used \"after\" or \"before\" */\n  var _default = _exports.default = {\n    name: 'ember-data',\n    initialize: function initialize() {}\n  };\n});","define(\"insights-web/mixins/widget-mixin\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = Ember.Mixin.create({\n    fontSize: \"\",\n    _setFontSizeSoon: function _setFontSizeSoon() {\n      Ember.run.later(this, function () {\n        this._setFontSize();\n      }, 100);\n    },\n    heightChanged: Ember.observer(\"configuration.height\", function () {\n      this._setFontSizeSoon();\n    }),\n    calculateOptimalSize: function calculateOptimalSize(content) {\n      var parentWidth = this.$().parents(\".grid-stack-item-content\").width();\n      if (parentWidth < 100) {\n        parentWidth = (window.outerWidth - 50) / 12 * this.configuration.width;\n      }\n      var dataLength = content.length;\n      if (this.showPercent) {\n        dataLength = dataLength + 2;\n      }\n      var fontSize = parentWidth * 1.65 / dataLength;\n      var maxScalar = 30;\n      var maxSize = this.configuration.height * (maxScalar + this.configuration.height * 3);\n      if (fontSize > maxSize) {\n        fontSize = maxSize;\n      }\n      return fontSize;\n    },\n    _updateTimer: function _updateTimer() {\n      if (this.get(\"data\") === 0 && this.configuration.zeroTimer === true) {\n        var state = this.get(\"widgetStateService\").getState(this.get(\"dashboardIndex\"), this.get(\"widgetIndex\"));\n        if (state === null) {\n          state = moment();\n          this.get(\"widgetStateService\").setState(this.get(\"dashboardIndex\"), this.get(\"widgetIndex\"), state);\n        }\n        var secondaryData = this._formatTimeString(Date.now() - state);\n        this.set(\"secondaryData\", secondaryData);\n        var secondaryHeight = this.calculateOptimalSize(secondaryData) / 2;\n        this.set(\"secondarysize\", \"\".concat(secondaryHeight, \"px\"));\n        if (this && !this.isDestroyed) {\n          Ember.run.later(this, function () {\n            this._updateTimer();\n          }, 500);\n        }\n      }\n    },\n    _formatTimeString: function _formatTimeString(duration) {\n      duration = duration / 1000;\n      //Ember.Logger.log(duration);\n      var seconds = parseInt(duration % 60);\n      var minutes = parseInt(duration / 60 % 60);\n      var hours = parseInt(duration / (60 * 60) % 24);\n      if (isNaN(seconds)) {\n        return \"\";\n      }\n      hours = hours < 10 ? \"0\" + hours : hours;\n      minutes = minutes < 10 ? \"0\" + minutes : minutes;\n      seconds = seconds < 10 ? \"0\" + seconds : seconds;\n      return hours + \":\" + minutes + \":\" + seconds;\n    },\n    _setFontSize: function _setFontSize() {\n      var fontSize = 50;\n      var parentContainer = this.get(\"parentContainer\");\n      if (typeof parentContainer !== \"undefined\" && parentContainer !== null && typeof this.$() !== \"undefined\") {\n        var parentWidth = this.$().parents(\".grid-stack-item-content\").width();\n        var titleSize = 0;\n        if (this.configuration && this.configuration.title) {\n          if (parentWidth < 0) {\n            parentWidth = window.outerWidth / 14.0 * this.configuration.width;\n          }\n          var titleLength = this.configuration.title.length;\n          fontSize = parentWidth * 1.5 / titleLength;\n          if (this.configuration.height === 2 && fontSize > 30) {\n            fontSize = 30;\n          } else if (fontSize > 45) {\n            fontSize = 45;\n          }\n          this.configuration.titlesize = fontSize;\n          titleSize = fontSize;\n          if (typeof this.data !== \"undefined\" && this.data != null) {\n            var _fontSize = this.calculateOptimalSize(this.data.toString());\n            this.set(\"contentsize\", \"\".concat(_fontSize, \"px\"));\n            this.set(\"contentoffset\", \"-\".concat(_fontSize / 6, \"px\"));\n            // this.set('secondarysize', `${fontSize/2}px`);\n            this.configuration.contentsize = _fontSize;\n          }\n        }\n        if (this.configuration && this.configuration.useDefinedFontSize) {\n          if (!this.configuration.definedFontSize) {\n            this.configuration.definedFontSize = 24;\n          }\n          titleSize = this.configuration.definedFontSize;\n        }\n        this.set(\"titlesize\", \"\".concat(titleSize, \"px\"));\n        this.set(\"calculatedtitlesize\", \"\".concat(titleSize, \"px\"));\n        var parentHeight = this.$().parents(\".grid-stack-item-content\").height();\n        var titleHeight = this.$().parents(\".grid-stack-item-content\").find(\".widget-title\").height();\n        this.set(\"contentHeight\", \"\".concat(parentHeight - titleHeight));\n      }\n    },\n    didReceiveAttrs: function didReceiveAttrs() {\n      this._super.apply(this, arguments);\n      if (this.configuration.contentsize) {\n        this.set(\"contentsize\", \"\".concat(this.configuration.contentsize, \"px\"));\n        this.set(\"secondarysize\", \"\".concat(this.configuration.contentsize / 2, \"px\"));\n      }\n      if (this.configuration.titlesize) {\n        this.set(\"titlesize\", \"\".concat(this.configuration.titlesize, \"px\"));\n      }\n    },\n    didInsertElement: function didInsertElement() {\n      this._super.apply(this, arguments);\n      this._setFontSizeSoon();\n      Ember.run.later(this, function () {\n        this._updateTimer();\n      }, 500);\n    },\n    didRender: function didRender() {\n      this._super.apply(this, arguments);\n      this._setFontSize();\n    },\n    willDestroyElement: function willDestroyElement() {\n      this._super.apply(this, arguments);\n      var parentContainer = this.get(\"parentContainer\");\n      if (parentContainer && parentContainer.element) {\n        $(parentContainer.element).off(\"resizestop\");\n      }\n    }\n  });\n});","define(\"insights-web/modifiers/create-ref\", [\"exports\", \"ember-ref-bucket/modifiers/create-ref\"], function (_exports, _createRef) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _createRef.default;\n    }\n  });\n});","define(\"insights-web/modifiers/did-insert\", [\"exports\", \"@ember/render-modifiers/modifiers/did-insert\"], function (_exports, _didInsert) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _didInsert.default;\n    }\n  });\n});","define(\"insights-web/modifiers/did-update\", [\"exports\", \"@ember/render-modifiers/modifiers/did-update\"], function (_exports, _didUpdate) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _didUpdate.default;\n    }\n  });\n});","define(\"insights-web/modifiers/focus-trap\", [\"exports\", \"ember-focus-trap/modifiers/focus-trap\"], function (_exports, _focusTrap) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _focusTrap.default;\n    }\n  });\n});","define(\"insights-web/modifiers/gs-item-attributes\", [\"exports\", \"ember-gridstack/modifiers/gs-item-attributes\"], function (_exports, _gsItemAttributes) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _gsItemAttributes.default;\n    }\n  });\n});","define(\"insights-web/modifiers/style\", [\"exports\", \"ember-style-modifier/modifiers/style\"], function (_exports, _style) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _style.default;\n    }\n  });\n});","define(\"insights-web/modifiers/will-destroy\", [\"exports\", \"@ember/render-modifiers/modifiers/will-destroy\"], function (_exports, _willDestroy) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _willDestroy.default;\n    }\n  });\n});","define(\"insights-web/router\", [\"exports\", \"@babel/runtime/helpers/esm/createClass\", \"@babel/runtime/helpers/esm/classCallCheck\", \"@babel/runtime/helpers/esm/possibleConstructorReturn\", \"@babel/runtime/helpers/esm/getPrototypeOf\", \"@babel/runtime/helpers/esm/inherits\", \"@babel/runtime/helpers/esm/defineProperty\", \"insights-web/config/environment\"], function (_exports, _createClass2, _classCallCheck2, _possibleConstructorReturn2, _getPrototypeOf2, _inherits2, _defineProperty2, _environment) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }\n  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\n  var Router = _exports.default = /*#__PURE__*/function (_Ember$Router) {\n    function Router() {\n      var _this;\n      (0, _classCallCheck2.default)(this, Router);\n      for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n        args[_key] = arguments[_key];\n      }\n      _this = _callSuper(this, Router, [].concat(args));\n      (0, _defineProperty2.default)(_this, \"location\", _environment.default.locationType);\n      (0, _defineProperty2.default)(_this, \"rootURL\", _environment.default.rootURL);\n      return _this;\n    }\n    (0, _inherits2.default)(Router, _Ember$Router);\n    return (0, _createClass2.default)(Router);\n  }(Ember.Router);\n  Router.map(function () {\n    this.route('conversation', {\n      path: '/conversation/:conversation_id'\n    });\n    this.route('realtime', {\n      path: '/'\n    });\n    this.route('conversationquery');\n    this.route('calldetail');\n    this.route('syncconfiguration');\n    this.route('realtime');\n    this.route('home');\n    this.route('call-flow');\n    this.route('realtime-debug');\n    this.route('client-app');\n    this.route('realtimeembedded');\n    this.route('client-app-install');\n    this.route('mypermissions');\n    this.route('conversationsearch');\n    this.route('debug-query');\n    this.route('dashboard-config');\n  });\n});","define(\"insights-web/routes/application\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = Ember.Route.extend({\n    analyticsService: Ember.inject.service(),\n    requestService: Ember.inject.service(),\n    errorService: Ember.inject.service(),\n    beforeModel: function beforeModel() {\n      var self = this;\n      // define a new console\n      var console = function (oldCons) {\n        return {\n          log: function log(text) {\n            oldCons.log(text);\n            // Your code\n          },\n          info: function info(text) {\n            oldCons.info(text);\n          },\n          warn: function warn(text) {\n            oldCons.warn(text);\n          },\n          error: function error(text) {\n            oldCons.error(text);\n            self.get(\"errorService\").logError(text, \"\");\n          }\n        };\n      }(window.console);\n\n      //Then redefine the old console\n      window.console = console;\n      Ember.Logger = console;\n      return this.get('analyticsService');\n    }\n  });\n});","define(\"insights-web/routes/call-flow\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = Ember.Route.extend({});\n});","define(\"insights-web/routes/client-app-install\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = Ember.Route.extend({});\n});","define(\"insights-web/routes/client-app\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = Ember.Route.extend({\n    templateName: 'realtime-grid'\n  });\n});","define(\"insights-web/routes/conversation\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = Ember.Route.extend({\n    model: function model(params) {\n      return {\n        conversationId: params.conversation_id\n      };\n    }\n  });\n});","define(\"insights-web/routes/conversationquery\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = Ember.Route.extend({});\n});","define(\"insights-web/routes/dashboard-config\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = Ember.Route.extend({});\n});","define(\"insights-web/routes/debug-query\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = Ember.Route.extend({\n    purecloud: Ember.inject.service(),\n    model: function model() {\n      return {\n        query: \"\",\n        results: null\n      };\n    },\n    actions: {\n      run: function run() {\n        var model = this.get(\"controller.model\");\n        try {\n          var query = JSON.parse(model.query);\n          if (query.method === \"GET\") {\n            this.get(\"purecloud\").getRequest(query.url).then(function (res) {\n              Ember.set(model, \"results\", JSON.stringify(res, null, 2));\n            }).catch(function (ex) {\n              Ember.set(model, \"results\", JSON.stringify(ex, null, 2));\n            });\n          } else {\n            this.get(\"purecloud\").post(query.url, query.data).then(function (res) {\n              Ember.set(model, \"results\", JSON.stringify(res, null, 2));\n            }).catch(function (ex) {\n              Ember.set(model, \"results\", JSON.stringify(ex, null, 2));\n            });\n          }\n        } catch (ex) {\n          Ember.set(model, \"results\", ex);\n        }\n      }\n    }\n  });\n  /*\n  {\n      url: \"/api/v2/analytics/conversations/details/query\",\n      data: {\n          \"interval\": \"2018-09-28T00:00:00.000Z/2018-09-28T14:49:00.000Z\",\n          \"order\": \"asc\",\n          \"orderBy\": \"conversationStart\",\n          \"paging\": {\n              \"pageSize\": 100,\n              \"pageNumber\": 1\n          },\n          \"segmentFilters\": [\n          {\n              \"type\": \"or\",\n              \"predicates\": [\n                  {\n                  \"type\": \"dimension\",\n                  \"dimension\": \"queueId\",\n                  \"operator\": \"matches\",\n                  \"value\": \"e3c9259a-517d-48dc-8158-26ea50c915d4\"\n                  }\n              ]\n          }\n          ],\n          \"aggregations\": [\n              {\n              \"type\": \"termFrequency\",\n              \"dimension\": \"wrapUpCode\",\n              \"size\": \"10\"\n              }\n          ]\n      }\n  }\n  */\n});","define(\"insights-web/routes/home\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = Ember.Route.extend({});\n});","define(\"insights-web/routes/mypermissions\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = Ember.Route.extend({});\n});","define(\"insights-web/routes/realtime-debug\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = Ember.Route.extend({});\n});","define(\"insights-web/routes/realtime\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = Ember.Route.extend({});\n});","define(\"insights-web/routes/syncconfiguration\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = Ember.Route.extend({});\n});","define(\"insights-web/serializers/-default\", [\"exports\", \"@ember-data/serializer/json\"], function (_exports, _json) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _json.default;\n    }\n  });\n});","define(\"insights-web/serializers/-json-api\", [\"exports\", \"@ember-data/serializer/json-api\"], function (_exports, _jsonApi) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _jsonApi.default;\n    }\n  });\n});","define(\"insights-web/serializers/-rest\", [\"exports\", \"@ember-data/serializer/rest\"], function (_exports, _rest) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _rest.default;\n    }\n  });\n});","define(\"insights-web/services/-ensure-registered\", [\"exports\", \"@embroider/util/services/ensure-registered\"], function (_exports, _ensureRegistered) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _ensureRegistered.default;\n    }\n  });\n});","define(\"insights-web/services/ajax\", [\"exports\", \"ember-ajax/services/ajax\"], function (_exports, _ajax) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _ajax.default;\n    }\n  });\n});","define(\"insights-web/services/analytics-service\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = Ember.Service.extend(Ember.Evented, {\n    logEvent: function logEvent(action, label) {\n      // if(typeof ga !== 'undefined' && ga && config.analyticsTrackingId){\n      //     ga('send', 'event', \"Webapp\", action, label);\n      // }\n    },\n    logCallDetailReport: function logCallDetailReport() {\n      this.get(\"logEvent\")(\"Call Detail Report\");\n    },\n    logWidgetConfigure: function logWidgetConfigure() {\n      this.get(\"logEvent\")(\"Widget Configuration\");\n    },\n    exception: function exception(ex) {\n      // if(typeof ga !== 'undefined' && ga && config.analyticsTrackingId){\n      //   ga('send', 'exception', {\n      //     'exDescription': ex.toString(),\n      //     'exFatal': false\n      //   });\n      // }\n    }\n  });\n});","define(\"insights-web/services/campaign-service\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = Ember.Service.extend({\n    requestService: Ember.inject.service(),\n    campaignMap: {},\n    campaignIdToNameMap: {},\n    campaignList: [],\n    updateCampaignFromPureCloud: function updateCampaignFromPureCloud() {\n      var self = this;\n      this.get(\"requestService\").getResource(\"/purecloud/campaigns\").then(function (campaigns) {\n        var map = {};\n        var campaignIdToNameMap = {};\n        for (var x = 0; x < campaigns.length; x++) {\n          map[campaigns[x].name] = campaigns[x].id;\n          campaignIdToNameMap[campaigns[x].id] = campaigns[x].name;\n        }\n        self.set(\"campaignIdToNameMap\", campaignIdToNameMap);\n        self.set(\"queueMap\", map);\n        self.set(\"campaignList\", campaigns);\n      });\n    },\n    init: function init() {\n      this._super.apply(this, arguments);\n      this.updateCampaignFromPureCloud();\n    }\n  });\n});","define(\"insights-web/services/cookies\", [\"exports\", \"ember-cookies/services/cookies\"], function (_exports, _cookies) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = _cookies.default;\n});","define(\"insights-web/services/diagnostics\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = Ember.Service.extend({\n    queueService: Ember.inject.service(),\n    realtimeService: Ember.inject.service(),\n    send: function send() {\n      // let queueList = this.get(\"queueService\").queueList;\n      // let dashboardConfiguration = this.get('realtimeService').get(\"dashboardConfiguration\");\n      // let historicalData = this.get('realtimeService').get(\"queueData\");\n      // let observationData = this.get('realtimeService').get(\"observationData\");\n      // let gatedObservationData = this.get('realtimeService').get(\"gatedObservationData\");\n    }\n  });\n});","define(\"insights-web/services/embedded-service\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = Ember.Service.extend({\n    isEmbedded: function isEmbedded() {\n      try {\n        return window.self !== window.top;\n      } catch (e) {\n        return true;\n      }\n    }\n  });\n});","define(\"insights-web/services/error-service\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = Ember.Service.extend({\n    recentErrors: [],\n    init: function init() {\n      // super.init(...arguments);\n      this._super.apply(this, arguments);\n    },\n    error: function error(message) {\n      this.logError(message, null);\n    },\n    logError: function logError(message, correlationId) {\n      if (!this.get(\"recentErrors\")) {\n        this.set(\"recentErrors\", []);\n      }\n      this.recentErrors.pushObject({\n        time: moment().format(),\n        message: message,\n        correlationId: correlationId\n      });\n      if (this.recentErrors.length > 50) {\n        this.recentErrors.removeAt(0);\n      }\n    }\n  });\n});","define(\"insights-web/services/featuretoggle-service\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = Ember.Service.extend({\n    requestService: Ember.inject.service(),\n    features: {\n      \"observationchart\": [\"e89cee8c-24d8-43ad-9464-520f6b20fa1f\",\n      //PureInsights\n      \"4136c7bf-96e9-4652-b07c-d981b839b04f\"],\n      //Vivint        \n      \"dashboardplus\": [\"e89cee8c-24d8-43ad-9464-520f6b20fa1f\",\n      //PureInsights\n      // \"f657a486-0a31-413f-bcf9-f453b0b3d6db\", //PCN\n      \"93a01c88-1b55-424d-bd2b-47e227a524a8\",\n      // Genesis Energy Dev\n      \"56170b71-e293-4f7f-8f33-dbe7a5c12b85\",\n      // Genesis Energy Prod\n      \"2332acaa-1795-44e7-8dfb-0499e3dc8c95\",\n      // Frontline Managed Services\n      // \"88d1a56f-a5dc-44dd-aef2-d74c062e3ae7\", // NCR\n      // \"8c0a0bb5-19be-4c1d-b454-df3639267148\", // ncr atmco\n      \"f22d7ddb-18bf-46b6-90c9-4f8c99c14d67\" // MnTProduction\n      // \"838ac5aa-bad0-4f8f-ac06-920ae761babd\", //NCRvoyix\n      ]\n    },\n    init: function init() {\n      this._super.apply(this, arguments);\n      this.set(\"organizationId\", this.get(\"requestService\").me.organization.id);\n    },\n    featureEnabled: function featureEnabled(featureName) {\n      var features = this.get(\"features\");\n      if (!features[featureName]) {\n        return true;\n      }\n      var orgId = this.get(\"organizationId\");\n      return features[featureName].indexOf(orgId) > -1;\n    }\n  });\n});","define(\"insights-web/services/google-charts\", [\"exports\", \"ember-google-charts/services/google-charts\"], function (_exports, _googleCharts) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _googleCharts.default;\n    }\n  });\n});","define(\"insights-web/services/media\", [\"exports\", \"ember-responsive/services/media\"], function (_exports, _media) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = _media.default;\n});","define(\"insights-web/services/missing-permission-service\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = Ember.Service.extend({\n    notifications: Ember.inject.service('notification-messages'),\n    hasCampaignView: false,\n    permissions: [],\n    reportMissing: function reportMissing(permission, err) {\n      //messageParams is returned from the api, but does not make it here as part of the error\n      if (err.messageParams && err.divisions) {\n        permission = permission + \" for division \" + err.divisions;\n      } else if (err.message && err.message.indexOf(\"provided division\")) {\n        permission = permission + \" for unknown division\";\n      }\n      if (this.permissions.indexOf(permission) === -1) {\n        this.permissions.pushObject(permission);\n        this.get(\"notifications\").error(\"Missing permission \".concat(permission));\n      }\n    }\n  });\n});","define(\"insights-web/services/moment\", [\"exports\", \"ember-moment/services/moment\", \"insights-web/config/environment\"], function (_exports, _moment, _environment) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var get = Ember.get;\n  var _default = _exports.default = _moment.default.extend({\n    defaultFormat: get(_environment.default, 'moment.outputFormat')\n  });\n});","define(\"insights-web/services/notification-messages-service\", [\"exports\", \"ember-cli-notifications/services/notification-messages-service\"], function (_exports, _notificationMessagesService) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _notificationMessagesService.default;\n    }\n  });\n});","define(\"insights-web/services/observation-stat-service\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var SnapshotIntervalSeconds = 20;\n  var SnapshotInterval = SnapshotIntervalSeconds * 1000;\n  var LocalStorageObservationKey = 'observationGraphData';\n  var StatKeys = ['oUserRoutingStatuses.INTERACTING', 'oUserRoutingStatuses.IDLE', 'oUserRoutingStatuses.NOT_RESPONDING', 'oWaiting', 'oInteracting'];\n  var _default = _exports.default = Ember.Service.extend({\n    stats: {},\n    currentValues: {},\n    statCalculation: Ember.inject.service(),\n    realtimeService: Ember.inject.service(),\n    requestService: Ember.inject.service(),\n    init: function init() {\n      var _this = this;\n      this._super.apply(this, arguments);\n      this.get(\"updateFlag\", true);\n      this.loadDashboardConfig();\n\n      // if(localStorage.getItem(LocalStorageObservationKey)){\n      //     try{\n      //         let data = JSON.parse(localStorage.getItem(LocalStorageObservationKey));\n      //         if(data){\n      //          this.set(\"stats\", data);\n      //         }\n      //     }\n      //     catch(ex){ }\n      // }\n\n      // later(this, function() {\n      //     this.snapShotWrapper();\n      // }, 3000);  \n\n      $(window).on('beforeunload', function () {\n        localStorage.setItem(LocalStorageObservationKey, JSON.stringify(_this.get(\"stats\")));\n      });\n    },\n    loadDashboardConfig: function loadDashboardConfig() {\n      var _this2 = this;\n      var snapshotLater = this.get(\"snapShotLater\");\n      if (snapshotLater) {\n        Ember.run.cancel(snapshotLater);\n        this.set(\"snapShotLater\", null);\n      }\n      var queueIds = {};\n      var queueIdList = [];\n      var requestService = this.get(\"requestService\");\n      this.get('realtimeService').get(\"dashboardConfiguration\").dashboards.forEach(function (dashboard) {\n        dashboard.widgets.forEach(function (widget) {\n          if (widget.widgetType === 'observationchart') {\n            var queueId = widget.agentStatusQueue;\n            queueIdList.pushObject(queueId);\n            if (!widget.duration || parseInt(widget.duration) <= 0) {\n              queueIds[queueId] = 1;\n            } else if (typeof queueIds[queueId] === \"undefined\" || parseInt(widget.duration) > queueIds[queueId]) {\n              queueIds[queueId] = parseInt(widget.duration);\n            }\n            if (widget.queueIds) {\n              widget.queueIds.forEach(function (queueId) {\n                if (queueIdList.indexOf(queueId) === -1) {\n                  queueIdList.pushObject(queueId);\n                }\n                if (!widget.duration || parseInt(widget.duration) <= 0) {\n                  queueIds[queueId] = 1;\n                } else if (typeof queueIds[queueId] === \"undefined\" || parseInt(widget.duration) > queueIds[queueId]) {\n                  queueIds[queueId] = parseInt(widget.duration);\n                }\n              });\n            }\n          }\n        });\n      });\n      var statPromises = [];\n      while (queueIdList.length > 0) {\n        var subset = queueIdList.splice(0, 10);\n        statPromises.pushObject(requestService.postResource('/dashboards/observation/stats', subset));\n      }\n      Promise.all(statPromises).then(function (promiseResults) {\n        var stats = {};\n        promiseResults.forEach(function (promiseStats) {\n          Object.keys(promiseStats).forEach(function (queueId) {\n            stats[queueId] = promiseStats[queueId];\n          });\n        });\n        Object.keys(stats).forEach(function (queueId) {\n          Object.keys(stats[queueId]).forEach(function (metric) {\n            stats[queueId][metric].forEach(function (val) {\n              val.t = new Date(val.t).toISOString().replace(/\\.\\d{3}Z$/, 'Z');\n            });\n          });\n        });\n        var self = _this2;\n        Ember.run.next(function () {\n          if (self.isDestroyed) {\n            return;\n          }\n          self.set(\"stats\", stats);\n          self.set(\"updateFlag\", !self.get(\"updateFlag\"));\n          if (!self.get(\"snapShotLater\")) {\n            self.snapShotWrapper();\n          }\n        });\n      }).catch(function (err) {\n        console.error(\"Unable to get observation stats history\");\n        console.error(err);\n      });\n      this.set(\"queueIds\", queueIds);\n    },\n    dashboardConfigurations: Ember.observer('realtimeService.dashboardConfigurationChangedToggle', function () {\n      this.loadDashboardConfig();\n\n      // later(this, function() {\n      //     this.snapShot();\n      // }, 3000);        \n    }),\n    hoursToKeep: function hoursToKeep() {\n      return 1;\n    },\n    getDataTable: function getDataTable(agentStatusQueue, conversationMetricQueues, metrics, previousHours) {\n      var stats = this.get('stats');\n      if (!previousHours || previousHours < 1) {\n        previousHours = this.hoursToKeep();\n      }\n      var result = [];\n      var resultRowMap = {};\n      var refQueue = stats[agentStatusQueue];\n      if (!refQueue) {\n        var defaultRow = [\"\"];\n        for (var i = 0; i < metrics.length; i++) {\n          defaultRow.push(0);\n        }\n        result.push(defaultRow);\n        return result;\n      }\n      var metricsLen = metrics.length;\n      var oWaitingArr = refQueue[\"oWaiting\"];\n      oWaitingArr.forEach(function (m) {\n        var row = new Array(metricsLen).fill(0);\n        resultRowMap[m.t] = row;\n      });\n      for (var x = 0; x < metricsLen; x++) {\n        var metric = metrics[x];\n        if (metric.indexOf(\"oUserRoutingStatuses\") > -1) {\n          var queueId = agentStatusQueue;\n          if (stats[queueId] && stats[queueId][metric]) {\n            var values = stats[queueId][metric];\n            for (var _i = 0; _i < values.length; _i++) {\n              var v = values[_i];\n              if (resultRowMap[v.t]) {\n                resultRowMap[v.t][x] = v.y;\n              }\n            }\n          }\n        } else {\n          for (var y = 0; y < conversationMetricQueues.length; y++) {\n            var _queueId = conversationMetricQueues[y];\n            if (stats[_queueId] && stats[_queueId][metric]) {\n              var _values = stats[_queueId][metric];\n              for (var _i2 = 0; _i2 < _values.length; _i2++) {\n                var value = _values[_i2];\n                if (!resultRowMap[value.t]) {\n                  resultRowMap[value.t] = new Array(metricsLen).fill(0);\n                }\n                resultRowMap[value.t][x] = resultRowMap[value.t][x] + value.y;\n              }\n            }\n          }\n        }\n      }\n      refQueue[\"oWaiting\"].forEach(function (m) {\n        var d = new Date(m.t);\n        var hours = d.getHours() % 12 || 12;\n        var minutes = d.getMinutes();\n        var row = [hours + ':' + (minutes < 10 ? '0' : '') + minutes];\n        var rowData = resultRowMap[m.t];\n        for (var _i3 = 0; _i3 < rowData.length; _i3++) {\n          row.push(rowData[_i3]);\n        }\n        result.push(row);\n      });\n      return result;\n    },\n    getValues: function getValues(agentStatusQueue, conversationMetricQueues, metric, previousHours) {\n      var stats = this.get('stats');\n      if (metric.indexOf(\"oUserRoutingStatuses\") > -1) {\n        var queueId = agentStatusQueue;\n        if (stats[queueId]) {\n          var queueStats = stats[queueId];\n          if (queueStats[metric]) {\n            return queueStats[metric].slice(0);\n          }\n        }\n      } else {\n        var valueMap = {};\n        for (var x = 0; x < conversationMetricQueues.length; x++) {\n          var _queueId2 = conversationMetricQueues[x];\n          if (stats[_queueId2]) {\n            var _queueStats = stats[_queueId2];\n            if (_queueStats[metric]) {\n              var values = _queueStats[metric];\n              for (var _x = 0; _x < values.length; _x++) {\n                var value = values[_x];\n                if (!(value.t in valueMap)) {\n                  valueMap[value.t] = 0;\n                }\n                valueMap[value.t] = valueMap[value.t] + value.y;\n              }\n            }\n          }\n        }\n        var valueList = [];\n        Object.keys(valueMap).sort().forEach(function (key) {\n          valueList.push({\n            t: key,\n            y: valueMap[key]\n          });\n        });\n        return valueList;\n      }\n      return [];\n    },\n    snapShotWrapper: function snapShotWrapper() {\n      if (this && !this.isDestroyed) {\n        var snapshotLater = Ember.run.later(this, function () {\n          this.snapShotWrapper();\n        }, SnapshotInterval);\n        this.set(\"snapShotLater\", snapshotLater);\n      }\n      Ember.run.next(this, function () {\n        if (this.isDestroyed) {\n          return;\n        }\n        var nowMs = Date.now();\n        var now = new Date(nowMs).toISOString().replace(/\\.\\d{3}Z$/, 'Z');\n        this.snapShotChunked(0, now, nowMs);\n      });\n    },\n    snapShotChunked: function snapShotChunked(queueIndex, now, nowMs) {\n      var queueIdsObj = this.get(\"queueIds\");\n      if (!queueIdsObj) {\n        return;\n      }\n      var queueIdsList = Object.keys(queueIdsObj);\n      var totalWork = queueIdsList.length * StatKeys.length;\n      if (queueIndex >= totalWork) {\n        this.set(\"stats\", this.get(\"stats\"));\n        this.set(\"updateFlag\", !this.get(\"updateFlag\"));\n        return;\n      }\n      var stats = this.get('stats');\n      var qIdx = Math.floor(queueIndex / StatKeys.length);\n      var mIdx = queueIndex % StatKeys.length;\n      var queueId = queueIdsList[qIdx];\n      var metricKey = StatKeys[mIdx];\n      if (!stats[queueId]) {\n        stats[queueId] = {};\n      }\n      var arr = stats[queueId][metricKey];\n      if (!arr) {\n        arr = [];\n        stats[queueId][metricKey] = arr;\n      }\n      var value = this.get(\"statCalculation\").getStatValue([queueId], metricKey).data;\n      var gapThresholdMs = nowMs - SnapshotIntervalSeconds * 3 * 1000;\n      var stepMs = (SnapshotIntervalSeconds + 1) * 1000;\n      var maxDuration = queueIdsObj[queueId] || 1;\n      var cutoffMs = nowMs - maxDuration * 3600000;\n      if (arr.length > 3) {\n        var lastMs = new Date(arr[arr.length - 1].t).getTime();\n        if (lastMs < cutoffMs) {\n          arr.length = 0;\n        } else if (lastMs < gapThresholdMs) {\n          while (lastMs < gapThresholdMs) {\n            lastMs += stepMs;\n            arr.push({\n              t: new Date(lastMs).toISOString().replace(/\\.\\d{3}Z$/, 'Z'),\n              y: 0\n            });\n          }\n        }\n      }\n      arr.push({\n        t: now,\n        y: value\n      });\n      while (arr.length && new Date(arr[0].t).getTime() < cutoffMs) {\n        arr.shift();\n      }\n      var self = this;\n      setTimeout(function () {\n        if (self.isDestroyed) {\n          return;\n        }\n        self.snapShotChunked(queueIndex + 1, now, nowMs);\n      }, 0);\n    }\n  });\n});","define(\"insights-web/services/purecloud\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var COOKIE_NAME = \"purecloudTokenV2\";\n  var _default = _exports.default = Ember.Service.extend({\n    cookies: Ember.inject.service(),\n    _session: null,\n    getRegion: function getRegion() {\n      var cookieService = this.get('cookies');\n      var cookie = JSON.parse(cookieService.read(COOKIE_NAME));\n      var region = cookie.region;\n      if (!region) {\n        region = \"mypurecloud.com\";\n      }\n      return region;\n    },\n    getAccessToken: function getAccessToken() {\n      var cookieService = this.get('cookies');\n      var cookie = JSON.parse(cookieService.read(COOKIE_NAME));\n      return cookie.access_token;\n    },\n    getUserId: function getUserId() {\n      var cookieService = this.get('cookies');\n      var cookie = JSON.parse(cookieService.read(COOKIE_NAME));\n      return cookie.userId;\n    },\n    getSessionId: function getSessionId() {\n      var cookieService = this.get('cookies');\n      var cookie = JSON.parse(cookieService.read(COOKIE_NAME));\n      return cookie.getSessionId;\n    },\n    _getSession: function _getSession() {\n      var session = this.get(\"_session\");\n      if (session === null) {\n        var region = this.getRegion();\n        session = purecloud.platform.PureCloudSession({\n          strategy: 'token',\n          token: this.getAccessToken(),\n          timeout: 45000,\n          environment: region\n        });\n        session.setUnauthenticatedErrorHandler(function () {\n          window.location.reload();\n        });\n        this.set(\"_session\", session);\n      }\n      return session;\n    },\n    post: function post(url, data) {\n      return this._getSession().makeRequest(\"POST\", url, \"\", data);\n    },\n    getRequest: function getRequest(url) {\n      return this._getSession().makeRequest(\"GET\", url, \"\");\n    },\n    getAnalyticsApi: function getAnalyticsApi() {\n      var session = this._getSession();\n      var api = new purecloud.platform.AnalyticsApi(session);\n      return api;\n    },\n    getSearchApi: function getSearchApi() {\n      var session = this._getSession();\n      var api = new purecloud.platform.SearchApi(session);\n      return api;\n    },\n    getNotificationsApi: function getNotificationsApi() {\n      var session = this._getSession();\n      var api = new purecloud.platform.NotificationsApi(session);\n      return api;\n    },\n    getOutboundApi: function getOutboundApi() {\n      var session = this._getSession();\n      var api = new purecloud.platform.OutboundApi(session);\n      return api;\n    },\n    getRoutingApi: function getRoutingApi() {\n      var session = this._getSession();\n      var api = new purecloud.platform.RoutingApi(session);\n      return api;\n    },\n    getPresenceApi: function getPresenceApi() {\n      var session = this._getSession();\n      var api = new purecloud.platform.PresenceApi(session);\n      return api;\n    }\n  });\n});","define(\"insights-web/services/queue-service\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = Ember.Service.extend({\n    requestService: Ember.inject.service(),\n    queueMap: null,\n    queueIdToNameMap: null,\n    queueList: null,\n    notifications: Ember.inject.service('notification-messages'),\n    updateQueuesFromPureCloud: function updateQueuesFromPureCloud() {\n      var _this = this;\n      var self = this;\n      this.get(\"requestService\").getResource(\"/purecloud/queues\").then(function (queues) {\n        var map = {};\n        var queueIdToNameMap = {};\n        for (var x = 0; x < queues.length; x++) {\n          map[queues[x].name] = queues[x].id;\n          queueIdToNameMap[queues[x].id] = queues[x].name;\n        }\n        self.set(\"queueIdToNameMap\", queueIdToNameMap);\n        self.set(\"queueMap\", map);\n        self.set(\"queueList\", queues);\n      }).catch(function (err) {\n        _this.get(\"notifications\").error('Unable to get queues:' + err.status + \" \" + err.payload.error, {\n          autoClear: true,\n          clearDuration: 1200\n        });\n        console.error(err);\n        Ember.run.later(function () {\n          self.updateQueuesFromPureCloud();\n        }, 15000);\n        Ember.Logger.error(err);\n      });\n    },\n    init: function init() {\n      this._super.apply(this, arguments);\n      this.updateQueuesFromPureCloud();\n    }\n  });\n});","define(\"insights-web/services/realtime-service\", [\"exports\", \"@babel/runtime/helpers/esm/toConsumableArray\", \"insights-web/utils/widgetstattypes\", \"insights-web/utils/agentstattypes\", \"ember-cli-guid\", \"insights-web/helpers/html-string\"], function (_exports, _toConsumableArray2, _widgetstattypes, _agentstattypes, _emberCliGuid, _htmlString) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  // import moment from '../../node_modules/moment/moment';\n\n  var POLLING_INTERVAL = 8000;\n  var LONG_POLLING_INTERVAL = 45000;\n  var REALTIME_GATED_UPDATE = 1000;\n  var OBSERVATION_DATA_POLL = 60000;\n  var _default = _exports.default = Ember.Service.extend(Ember.Evented, {\n    cookies: Ember.inject.service(),\n    pollingInterval: POLLING_INTERVAL,\n    requestService: Ember.inject.service(),\n    missingPermissionService: Ember.inject.service(),\n    widgetStateService: Ember.inject.service(),\n    queueService: Ember.inject.service(),\n    notifications: Ember.inject.service(\"notification-messages\"),\n    ajax: Ember.inject.service(),\n    purecloud: Ember.inject.service(),\n    errorService: Ember.inject.service(),\n    _isPollingHistorical: false,\n    gatedObservationData: {},\n    observationData: {},\n    userConversations: {},\n    userRoutingStatus: {},\n    notificationSubscriptions: [],\n    lastUpdateTimes: {},\n    notificationHistory: [],\n    queueAggregateHistory: [],\n    _queueUserCache: {},\n    lastWebSocketNotification: null,\n    startPollingTime: null,\n    websocketDetails: {\n      websocketRetryCount: 0\n    },\n    websocketSubscriptionTimer: null,\n    subscribedChannelId: null,\n    // Track which channel we've successfully subscribed to\n    subscribedTopics: null,\n    // Track which topics we've successfully subscribed to for the current channel\n    // rateLimitWorker: null,\n    init: function init() {\n      this._super.apply(this, arguments);\n      this.checkWebsocketStatus();\n      this.pollDashboards();\n    },\n    pollDashboards: function pollDashboards() {\n      var _this = this;\n      //if headless, poll for updates\n      var cookieService = this.get(\"cookies\");\n      var cookie = JSON.parse(cookieService.read(\"purecloudTokenV2\"));\n      if (cookie[\"pureinsightsHeadless\"]) {\n        Ember.run.later(function () {\n          _this.getDashboards().catch(function (err) {\n            Ember.Logger.error(err);\n            if (err.payload && err.payload.error === \"invalid permalink\") {\n              window.location.replace(\"/loginerror.html?error=Invalid Permalink\");\n              return;\n            }\n          });\n          _this.pollDashboards();\n        }, 60000);\n      }\n    },\n    checkWebsocketStatus: function checkWebsocketStatus() {\n      var _this2 = this;\n      Ember.run.later(function () {\n        var lastWebSocketNotification = _this2.get(\"lastWebSocketNotification\");\n        var lastAcceptableTime = moment().subtract(1.25, \"minutes\");\n        var isValid = lastWebSocketNotification > lastAcceptableTime;\n        if (!isValid) {\n          _this2.set(\"lastWebSocketNotification\", moment());\n          _this2.startPolling();\n        }\n        _this2.checkWebsocketStatus();\n      }, 61000);\n    },\n    queryExistingConversationsForUsers: function queryExistingConversationsForUsers(userIds) {\n      var _this3 = this;\n      if (userIds.length === 0) {\n        return;\n      }\n\n      // https://developer.mypurecloud.com/forum/t/limit-to-the-number-of-query-predicates-for-analytics/7791\n      // need to limit predicates, since we only get 50 conversations, we can limit the query to 175 users\n      if (userIds.length > 175) {\n        userIds = userIds.slice(0, 175);\n      }\n      var self = this;\n      var start = moment().subtract(1, \"d\").utc();\n      var end = moment().utc();\n      var query = {\n        interval: start.utc().toISOString() + \"/\" + end.utc().toISOString(),\n        order: \"asc\",\n        orderBy: \"conversationStart\",\n        paging: {\n          pageSize: 100,\n          pageNumber: 1\n        },\n        segmentFilters: [{\n          clauses: [{\n            predicates: [],\n            type: \"or\"\n          }],\n          predicates: [{\n            type: \"dimension\",\n            dimension: \"segmentType\",\n            operator: \"matches\",\n            value: \"interact\"\n          }],\n          type: \"and\"\n        }],\n        conversationFilters: [{\n          type: \"or\",\n          predicates: [{\n            type: \"dimension\",\n            dimension: \"conversationEnd\",\n            operator: \"notExists\",\n            value: null\n          }]\n        }]\n      };\n      userIds.forEach(function (u) {\n        query.segmentFilters[0].clauses[0].predicates.push({\n          type: \"dimension\",\n          dimension: \"userId\",\n          operator: \"matches\",\n          value: u\n        });\n      });\n      var analytics = this.get(\"purecloud\").getAnalyticsApi();\n\n      // Run this a little later so that on startup, if we get rate limited, these are a lower priority\n      Ember.run.later(function () {\n        analytics.postConversationsDetailsQuery(query).then(function (conversations) {\n          var conversationCount = 0;\n          var conversationIds = [];\n          conversations.conversations.forEach(function (conversation) {\n            conversation.participants.forEach(function (p) {\n              if (userIds.indexOf(p.userId) > -1) {\n                conversationIds.pushObject({\n                  conversationId: conversation.conversationId,\n                  userId: p.userId\n                });\n              }\n            });\n          });\n\n          //Limit conversation IDS to 50 to avoid API abuse\n          if (conversationIds.length > 50) {\n            // because we limit the above to 50 calls, we might not properly reset acw status, so lets force an acw reset here\n            var userConversations = _this3.get(\"userConversations\");\n            Object.keys(userConversations).forEach(function (conv) {\n              conv.isAcw = false;\n            });\n            _this3.set(\"userConversations\", userConversations);\n            conversationIds = conversationIds.slice(0, 50);\n          }\n          conversationIds.forEach(function (conversation) {\n            self.get(\"purecloud\").getRequest(\"/api/v2/conversations/\".concat(conversation.conversationId)).then(function (c) {\n              self.processConversation(conversation.userId, c);\n            });\n          });\n        });\n      }, 1250);\n    },\n    getConversationSummary: function getConversationSummary(dimension, count, start, end, queues, conversationCount) {\n      var analytics = this.get(\"purecloud\").getAnalyticsApi();\n      var queueFilter = [];\n      if (!count) {\n        count = \"10\";\n      }\n      queues.forEach(function (id) {\n        queueFilter.push({\n          type: \"dimension\",\n          dimension: \"queueId\",\n          operator: \"matches\",\n          value: id.trim()\n        });\n      });\n      var requestData = {\n        interval: start.utc().toISOString() + \"/\" + end.utc().toISOString(),\n        paging: {\n          pageSize: conversationCount,\n          pageNumber: 1\n        },\n        segmentFilters: [{\n          type: \"or\",\n          predicates: queueFilter\n        }],\n        aggregations: [{\n          type: \"termFrequency\",\n          dimension: dimension,\n          size: count\n        }]\n      };\n      return analytics.postConversationsDetailsQuery(requestData);\n    },\n    getAggregateData: function getAggregateData(stat, start, end, queues, granularity, groupBy) {\n      var _this4 = this;\n      var analytics = this.get(\"purecloud\").getAnalyticsApi();\n      var queueFilter = [];\n      queues.forEach(function (id) {\n        queueFilter.push({\n          type: \"dimension\",\n          dimension: \"queueId\",\n          operator: \"matches\",\n          value: id.trim()\n        });\n      });\n      var requestData = {\n        interval: start.utc().toISOString() + \"/\" + end.utc().toISOString(),\n        groupBy: groupBy || [\"queueId\"],\n        metrics: [stat],\n        filter: {\n          type: \"or\",\n          predicates: queueFilter\n        },\n        granularity: granularity\n      };\n      // debugger;\n      return analytics.postConversationsAggregatesQuery(requestData).then(function (resp) {\n        _this4.queueAggregateHistory.pushObject({\n          time: moment().format(),\n          request: requestData,\n          response: resp\n        });\n        if (_this4.queueAggregateHistory.length > 50) {\n          _this4.queueAggregateHistory.removeAt(0);\n        }\n        return resp;\n      }).catch(function (err) {\n        _this4.queueAggregateHistory.pushObject({\n          time: moment().format(),\n          request: requestData,\n          error: err\n        });\n        if (_this4.queueAggregateHistory.length > 50) {\n          _this4.queueAggregateHistory.removeAt(0);\n        }\n        return err;\n      });\n    },\n    dashboardConfiguration: {\n      dashboards: [{\n        dashboardName: \"Default Dashboard\",\n        widgets: [],\n        allowresize: true,\n        id: _emberCliGuid.default.create()\n      }]\n    },\n    _getWidgetConfiguration: function _getWidgetConfiguration(typeName) {\n      var returnwidget = null;\n      _widgetstattypes.default.forEach(function (widget) {\n        if (widget.key === typeName) {\n          returnwidget = widget;\n        }\n      });\n      return returnwidget;\n    },\n    subscribeToTopicsWithRetry: function subscribeToTopicsWithRetry(channelId) {\n      var _this5 = this;\n      var self = this;\n      if (self.websocketSubscriptionTimer) {\n        //There is already a timer setup to handle subcriptions, don't try to sub now\n        return;\n      }\n      if (self.subscriptionPutInFlight) {\n        self.subscriptionPutPending = channelId;\n        return;\n      }\n      var notificationsapi = this.get(\"purecloud\").getNotificationsApi();\n      var topics = [];\n\n      // Deduplicate topics before sending\n      var uniqueTopics = (0, _toConsumableArray2.default)(new Set(self.notificationSubscriptions));\n      this.websocketDetails.topicLength = uniqueTopics.length;\n      uniqueTopics.forEach(function (topic) {\n        if (topics.length < 975) {\n          topics.push({\n            id: topic\n          });\n        }\n      });\n      if (topics.length === 0) {\n        return;\n      }\n\n      // Check if we've already subscribed to this exact set of topics for this channel\n      if (self.subscribedChannelId === channelId && self.subscribedTopics) {\n        // Create a sorted array of topic IDs for comparison\n        var currentTopicIds = topics.map(function (t) {\n          return t.id;\n        }).sort().join(\",\");\n        var subscribedTopicIds = (0, _toConsumableArray2.default)(self.subscribedTopics).sort().join(\",\");\n        if (currentTopicIds === subscribedTopicIds) {\n          console.log(\"Already subscribed to channel \" + channelId + \" with same topics, skipping resubscription\");\n          return;\n        } else {\n          console.log(\"Topics changed for channel \" + channelId + \", resubscribing with new topics\");\n        }\n      }\n      if (topics.length > 975) {\n        console.error(\"Maximum number of subscriptions reached from subscribeToTopics\");\n        self.get(\"requestService\").logError(\"Maximum number of subscriptions reached from subscribeToTopics\" + JSON.stringify(topics));\n        self.get(\"notifications\").error(\"Maximum number of subscriptions reached. Genesys Cloud limits the number of statistic changes that can be registered to listen for at a time, some statistics might have a delay in being updated. Generally this becomes an issue when watching agent stats on large queues.\", {\n          autoClear: false,\n          clearDuration: 1200\n        });\n      }\n      self.subscriptionPutInFlight = true;\n      notificationsapi.putChannelsChannelIdSubscriptions(channelId, topics).then(function (resp) {\n        self.subscriptionPutInFlight = false;\n        console.log(\"subscribed to notification topics\");\n        _this5.websocketDetails.subscribedTime = moment();\n        _this5.websocketDetails.subscribeError = \"\";\n        // Track that we've successfully subscribed to this channel and which topics\n        self.subscribedChannelId = channelId;\n        self.subscribedTopics = topics.map(function (t) {\n          return t.id;\n        });\n        // Reset retry count on successful subscription\n        self.websocketDetails.websocketRetryCount = 0;\n        if (self.subscriptionPutPending) {\n          var pendingChannelId = self.subscriptionPutPending;\n          self.subscriptionPutPending = null;\n          if (pendingChannelId === self.get(\"websocketChannelId\")) {\n            self.subscribeToTopicsWithRetry(pendingChannelId);\n          }\n        }\n      }).catch(function (ex) {\n        self.subscriptionPutInFlight = false;\n        Ember.Logger.error(\"put channel subscriptions err - \" + JSON.stringify(ex));\n        var err = new Error();\n        self.websocketDetails.subscribeError = ex.statusCode + \" \" + ex.toString();\n        var nextAttempt = 60000;\n        if (ex.statusCode === 400) {\n          //channel most likely expired - clear subscription tracking\n          self.subscribedChannelId = null;\n          self.subscribedTopics = null;\n          Ember.run.later(function () {\n            self._openWebSocket();\n          }, 1000);\n          return;\n        } else if (ex.statusCode === 429) {\n          if (ex.headers[\"retry-after\"]) {\n            nextAttempt = parseInt(ex.headers[\"retry-after\"]);\n            if (!nextAttempt || nextAttempt === 0 || isNaN(nextAttempt)) {\n              nextAttempt = 60;\n            }\n          } else {\n            nextAttempt = 60;\n          }\n          nextAttempt = nextAttempt * 1000;\n        }\n        self.requestService.logError({\n          message: \"post channel subscriptions err next attempt in \" + nextAttempt + \" attempt count \" + self.websocketDetails.websocketRetryCount,\n          stack: err.stack,\n          exception: ex\n        }, \"\");\n        if (self.websocketDetails.websocketRetryCount === 20) {\n          console.error(\"notification subscription count reached\");\n          return;\n        }\n        self.websocketDetails.websocketRetryCount = self.websocketDetails.websocketRetryCount + 1;\n        nextAttempt = nextAttempt + self.websocketDetails.websocketRetryCount * 5000;\n        console.log(\"retrying in \" + nextAttempt);\n        if (self.websocketSubscriptionTimer) {\n          Ember.run.cancel(self.websocketSubscriptionTimer);\n        }\n        self.websocketSubscriptionTimer = Ember.run.later(function () {\n          self.websocketSubscriptionTimer = null;\n          self.subscribeToTopicsWithRetry(channelId);\n        }, nextAttempt);\n      });\n    },\n    _openWebSocket: function _openWebSocket() {\n      this.set(\"webSocketOpenTime\", moment());\n      var self = this;\n      var websocket = this.get(\"websocket\");\n      function subscribeToTopics() {\n        var channelId = self.get(\"websocketChannelId\");\n\n        // If channel ID changed, clear old subscriptions\n        if (self.subscribedChannelId && self.subscribedChannelId !== channelId) {\n          console.log(\"Channel ID changed from \" + self.subscribedChannelId + \" to \" + channelId + \", clearing subscriptions\");\n          self.notificationSubscriptions = [];\n          self.subscribedChannelId = null;\n          self.subscribedTopics = null;\n        }\n        self.getQueueIdsFromDashboards().forEach(function (id) {\n          var topic = \"v2.analytics.queues.\".concat(id, \".observations\");\n          if (self.notificationSubscriptions.indexOf(topic) === -1) {\n            self.notificationSubscriptions.push(topic);\n            self.notificationSubscriptions.push(topic + \".details\");\n          }\n        });\n        self.getCampaignIdsFromDashboards().forEach(function (id) {\n          var topic = \"v2.outbound.campaigns.\".concat(id, \".stats\");\n          if (self.notificationSubscriptions.indexOf(topic) === -1) {\n            self.notificationSubscriptions.push(topic);\n          }\n        });\n        self.subscribeToTopicsWithRetry(channelId);\n        Ember.Logger.log(\"websocket open\");\n        self.getUserData();\n      }\n      var notificationsapi = this.get(\"purecloud\").getNotificationsApi();\n      if (websocket) {\n        subscribeToTopics();\n      } else {\n        notificationsapi /*postChannels*/.postChannels().then(function (data) {\n          try {\n            // New channel created - clear old subscriptions and reset state\n            self.notificationSubscriptions = [];\n            self.subscribedChannelId = null;\n            self.subscribedTopics = null;\n            self.websocketDetails.websocketRetryCount = 0;\n            if (self.websocketSubscriptionTimer) {\n              // Clear any pending subscription timer\n              Ember.run.cancel(self.websocketSubscriptionTimer);\n              self.websocketSubscriptionTimer = null;\n            }\n            self.getObservationData();\n            websocket = new WebSocket(data.connectUri);\n            Ember.Logger.log(\"Opening web socket \" + moment().format());\n            self.set(\"websocketChannelId\", data.id);\n            websocket.onopen = function () {\n              self.websocketRecoveryInProgress = false;\n              subscribeToTopics();\n              self.websocketDetails.openTime = moment();\n              self.websocketDetails.openError = \"\";\n            };\n            websocket.onclose = function (event) {\n              self.websocketDetails.onCloseTime = moment();\n              self.websocketDetails.onCloseError = \"Websocket onclose code \".concat(event.code, \" - \").concat(event.reason, \" \").concat(moment().format());\n              if (event.code !== 1000) {\n                Ember.Logger.error(\"Websocket onclose code \".concat(event.code, \" - \").concat(event.reason, \" \").concat(moment().format()));\n              }\n              websocket.onerror = function () {};\n              websocket.onclose = function () {};\n              if (self.websocketRecoveryInProgress) {\n                return;\n              }\n              self.websocketRecoveryInProgress = true;\n              self.set(\"websocket\", null);\n              self._openWebSocket();\n            };\n            websocket.onerror = function (event) {\n              self.websocketDetails.onErrorTime = moment();\n              self.websocketDetails.onErrorError = \"Websocket onerror \" + event;\n              Ember.Logger.error(\"Websocket onerror \" + moment().format());\n              if (self.websocketRecoveryInProgress) {\n                return;\n              }\n              self.websocketRecoveryInProgress = true;\n              self.set(\"websocket\", null);\n              Ember.run.later(function () {\n                self._openWebSocket();\n              }, 1500);\n            };\n            websocket.onmessage = function (message) {\n              try {\n                self.set(\"lastWebSocketNotification\", moment());\n                var event = JSON.parse(message.data);\n                self.websocketDetails.lastWebSocketNotification = moment();\n                if (window.location.host === \"localhost:4200\") {\n                  console.log(event.topicName);\n                }\n\n                // console.log(event);\n                self.notificationHistory.pushObject({\n                  event: event,\n                  time: moment().format(),\n                  uri: data.connectUri\n                });\n                while (self.notificationHistory.length > 100) {\n                  self.notificationHistory.shiftObject();\n                }\n                if (event.topicName.indexOf(\"message\") === -1) {\n                  self.lastUpdateTimes[event.topicName] = moment().format();\n                  var _data = event.eventBody;\n                  var observationData = self.get(\"gatedObservationData\");\n                  var group = _data.mediaType;\n                  if (_data.group && _data.group.mediaType) {\n                    group = _data.group.mediaType;\n                  }\n                  if (!group) {\n                    group = \"queue\";\n                  }\n                  if (event.topicName.indexOf(\"v2.outbound.campaigns\") !== -1) {\n                    if (_data.group.outboundCampaignId) {\n                      group = \"campaignId\"; // data.group.outboundCampaignId;\n                    }\n                    if (!observationData[_data.group.outboundCampaignId]) {\n                      observationData[_data.group.outboundCampaignId] = {};\n                    }\n                    if (!observationData[_data.group.outboundCampaignId][group]) {\n                      observationData[_data.group.outboundCampaignId][group] = {};\n                    }\n                    for (var x = 0; x < _data.data.length; x++) {\n                      for (var y = 0; y < _data.data[x].metrics.length; y++) {\n                        var metric = _data.data[x].metrics[y];\n                        observationData[_data.group.outboundCampaignId][group][metric.metric] = metric.stats;\n                      }\n                    }\n                  } else if (event.topicName.indexOf(\"v2.analytics.queues\") > -1 && event.topicName.indexOf(\".details\") > -1) {\n                    _data.results.forEach(function (d) {\n                      if (d.group.mediaType) {\n                        group = d.group.mediaType;\n                      } else {\n                        group = \"queue\";\n                      }\n                      if (!d.group.queueId) {\n                        d.group.queueId = event.topicName.split(\".\")[3]; //get queue Id\n                      }\n                      if (!observationData[d.group.queueId]) {\n                        observationData[d.group.queueId] = {};\n                      }\n                      if (!observationData[d.group.queueId][group]) {\n                        observationData[d.group.queueId][group] = {};\n                      }\n                      var metric = d.data;\n                      var key = metric.metric;\n                      if (metric.qualifier) {\n                        key = \"\".concat(key, \".\").concat(metric.qualifier);\n                      }\n                      var value = metric.stats;\n                      if (value) {\n                        value.receivedBy = \"websocket\";\n                        value.receivedAt = moment().format();\n                        observationData[d.group.queueId][group][key] = value;\n                      } else {\n                        observationData[d.group.queueId][group][key] = {};\n                      }\n                      if (metric.observations) {\n                        metric.observations.receivedBy = \"websocket\";\n                        metric.observations.receivedAt = moment().format();\n                        observationData[d.group.queueId][group][key + \"Observations\"] = metric.observations;\n                      } else {\n                        observationData[d.group.queueId][group][key + \"Observations\"] = [];\n                      }\n                    });\n                  } else if (event.topicName.indexOf(\"v2.analytics.queues\") > -1) {\n                    if (!observationData[_data.group.queueId]) {\n                      observationData[_data.group.queueId] = {};\n                    }\n                    if (!observationData[_data.group.queueId][group]) {\n                      observationData[_data.group.queueId][group] = {};\n                    }\n                    _data.data.forEach(function (dataitem) {\n                      dataitem.metrics.forEach(function (metric) {\n                        var key = metric.metric;\n                        if (metric.qualifier) {\n                          key = \"\".concat(key, \".\").concat(metric.qualifier);\n                        }\n                        var value = metric.stats;\n                        if (value) {\n                          value.receivedBy = \"websocket\";\n                          value.receivedAt = moment().format();\n                          observationData[_data.group.queueId][group][key] = value;\n                        }\n                      });\n                    });\n                  } else if (event.topicName.indexOf(\"presence\") > -1) {\n                    var userId = event.topicName.split(\".\")[2];\n                    var userPresenceMap = self.get(\"userPresence\");\n                    if (!userPresenceMap) {\n                      console.error(\"User presence event before map set - \" + message.data);\n                      return;\n                    }\n                    var presenceInfo = JSON.parse(JSON.stringify(userPresenceMap));\n                    _data.receivedBy = \"websocket\";\n                    _data.receivedAt = moment().format();\n                    presenceInfo[userId] = _data;\n                    self.set(\"userPresence\", presenceInfo);\n                  } else if (event.topicName.indexOf(\"routingStatus\") > -1) {\n                    var _userId = _data.id;\n                    var routingStatus = JSON.parse(JSON.stringify(self.get(\"userRoutingStatus\")));\n                    _data.routingStatus.receivedBy = \"websocket\";\n                    _data.routingStatus.receivedAt = moment().format();\n                    routingStatus[_userId] = _data.routingStatus;\n                    self.set(\"userRoutingStatus\", routingStatus);\n                  } else if (event.topicName.indexOf(\"outofoffice\") > -1) {\n                    var _userId2 = _data.user.id;\n                    var ooo = JSON.parse(JSON.stringify(self.get(\"userIsOOO\")));\n                    ooo[_userId2] = _data.active;\n                    self.set(\"userIsOOO\", ooo);\n                  } else if (event.topicName.indexOf(\"v2.system.no_longer_subscribed\") === 0) {\n                    console.log(\"no longer subscribed to websocket, resubscribing\");\n                    // Clear subscription tracking when we're no longer subscribed\n                    self.subscribedChannelId = null;\n                    self.subscribedTopics = null;\n                    self._openWebSocket();\n                  } else if (event.topicName.indexOf(\"v2.users\") > -1 && event.topicName.indexOf(\"conversations\") > -1) {\n                    var _userId3 = event.topicName.split(\".\")[2];\n                    _data.updateBy = \"websocket\";\n                    _data.updateTime = moment().format();\n                    self.processConversation(_userId3, _data);\n                  }\n                  self.set(\"gatedObservationData\", observationData);\n                }\n              } catch (ex) {\n                self.websocketDetails.lastWebSocketNotificationError = ex.toString();\n                self.websocketDetails.lastWebSocketNotificationErrorTime = moment();\n                if (message) {\n                  console.error(\"error handling websocket message \" + ex.toString() + \" message - \" + message.data);\n                } else {\n                  console.error(\"error handling websocket message \" + ex.toString() + \" message - is undefined\");\n                }\n              }\n            };\n            self.set(\"websocket\", websocket);\n          } catch (ex) {\n            var err = new Error();\n            console.log(\"exception caught subscribing to websocket \" + ex.toString() + \" \" + err.stack);\n            self.requestService.logError({\n              message: \"exception caught subscribing to websocket\",\n              error: self.websocketDetails.openError,\n              exception: ex,\n              stack: err.stack\n            }, \"\");\n            self.websocketDetails.openErrorTime = moment();\n            self.websocketDetails.openError = \"exception caught subscribing to websocket \" + ex.toString() + \" \" + err.stack;\n          }\n        }).catch(function (ex) {\n          var err = new Error();\n          console.log(\"Unable to open websocket channel \" + ex.toString() + \" \" + err.stack);\n          self.websocketDetails.openErrorTime = moment();\n          self.websocketDetails.openError = \"Unable to open websocket channel \" + ex.toString() + \" \" + err.stack;\n          self.requestService.logError({\n            error: self.websocketDetails.openError,\n            exception: ex,\n            stack: err.stack\n          }, \"\");\n          var nextAttempt = 60000;\n          if (ex.statusCode === 429) {\n            if (ex.headers[\"retry-after\"]) {\n              nextAttempt = parseInt(ex.headers[\"retry-after\"]);\n              if (!nextAttempt || nextAttempt === 0 || isNaN(nextAttempt)) {\n                nextAttempt = 60;\n              }\n            } else {\n              nextAttempt = 60;\n            }\n            nextAttempt = nextAttempt * 1000;\n          }\n          Ember.run.later(function () {\n            if (self.websocketDetails.websocketRetryCount === 20) {\n              console.error(\"notification subscription count reached\");\n              return;\n            }\n            self.websocketDetails.websocketRetryCount = self.websocketDetails.websocketRetryCount + 1;\n            self._openWebSocket();\n          }, nextAttempt);\n        });\n      }\n    },\n    processConversation: function processConversation(userId, conversation) {\n      var userConversations = this.get(\"userConversations\");\n      var details = userConversations[userId] || {\n        conversations: {},\n        isAcw: false,\n        acwStartTime: null,\n        longestActiveStart: null,\n        conversationCount: 0\n      };\n      details.isAcw = false;\n      details.acwStartTime = null;\n      conversation.participants.forEach(function (p) {\n        if (p.userId === userId) {\n          if (!p.wrapupTimeoutMs) {\n            p.wrapupTimeoutMs = 0;\n          }\n          if ((!p.startAcwTime || p.wrapup && p.wrapup.code !== \"\" || p.wrapupTimeoutMs && moment.utc(p.startAcwTime).add(p.wrapupTimeoutMs, \"ms\").isBefore(moment.utc()) || p.endAcwTime && moment.utc(p.endAcwTime).isBefore(moment.utc())) && p.endTime) {\n            delete details.conversations[conversation.id];\n          } else {\n            details.conversations[conversation.id] = p;\n          }\n        }\n      });\n      var oldestAcw = null;\n      var oldestAcwId = \"\";\n      var oldestAcwStringValue = \"\";\n      var isAcw = false;\n      var longestActive = new Date();\n      Object.keys(details.conversations).forEach(function (id) {\n        var call = details.conversations[id];\n        if (call.calls) {\n          call.calls.forEach(function (c) {\n            if (c.afterCallWork && c.afterCallWork.state == \"pending\") {\n              isAcw = true;\n              var currentAcw = new Date(c.afterCallWork.startTime);\n              if (oldestAcw == null || currentAcw < oldestAcw) {\n                oldestAcw = currentAcw;\n                oldestAcwId = c.id;\n                oldestAcwStringValue = c.afterCallWork.startTime;\n              }\n            }\n          });\n        }\n        if (call.chats) {\n          call.chats.forEach(function (c) {\n            if (c.afterCallWork && c.afterCallWork.state == \"pending\") {\n              isAcw = true;\n              var currentAcw = new Date(c.afterCallWork.startTime);\n              if (oldestAcw == null || currentAcw < oldestAcw) {\n                oldestAcw = currentAcw;\n                oldestAcwId = c.id;\n                oldestAcwStringValue = c.afterCallWork.startTime;\n              }\n            }\n          });\n        }\n        if (call.emails) {\n          call.emails.forEach(function (c) {\n            if (c.afterCallWork && c.afterCallWork.state == \"pending\") {\n              isAcw = true;\n              var currentAcw = new Date(c.afterCallWork.startTime);\n              if (oldestAcw == null || currentAcw < oldestAcw) {\n                oldestAcw = currentAcw;\n                oldestAcwId = c.id;\n                oldestAcwStringValue = c.afterCallWork.startTime;\n              }\n            }\n          });\n        }\n        if (call.callbacks) {\n          call.callbacks.forEach(function (c) {\n            if (c.afterCallWork && c.afterCallWork.state == \"pending\") {\n              isAcw = true;\n              var currentAcw = new Date(c.afterCallWork.startTime);\n              if (oldestAcw == null || currentAcw < oldestAcw) {\n                oldestAcw = currentAcw;\n                oldestAcwId = c.id;\n                oldestAcwStringValue = c.afterCallWork.startTime;\n              }\n            }\n          });\n        }\n        // if (call.startAcwTime && moment.utc(call.startAcwTime) < oldestAcw) {\n        //     oldestAcw = moment.utc(call.startAcwTime);\n        //     isAcw = true;\n        // }\n\n        var connectedDate = new Date(call.connectedTime);\n        if (call.connectedTime && connectedDate < longestActive) {\n          longestActive = connectedDate;\n        }\n        if (isAcw === false) {\n          isAcw = call.startAcwTime && !call.endAcwTime;\n        }\n        var acwStartTime = new Date(call.startAcwTime);\n        if (isAcw && acwStartTime < oldestAcw) {\n          oldestAcw = acwStartTime;\n        }\n      });\n      if (Object.keys(details.conversations).length > 1) {\n        isAcw = false;\n      }\n      details.isAcw = isAcw;\n      details.acwStartTime = isAcw ? oldestAcw.toISOString() : null;\n      details.oldestAcwStringValue = oldestAcwStringValue;\n      details.oldestAcwId = oldestAcwId;\n      details.conversationCount = Object.keys(details.conversations).length;\n      if (details.conversationCount > 0) {\n        details.longestActiveStart = longestActive;\n      } else {\n        details.longestActiveStart = null;\n      }\n      if (details.conversationCount === 1 && isAcw) {\n        var onlyConversation = details.conversations[Object.keys(details.conversations)[0]];\n        var conversationAcwTime = onlyConversation.startAcwTime;\n        if (conversationAcwTime) {\n          details.oldestAcwStringValue = conversationAcwTime;\n          details.participantAcwStartTime = details.acwStartTime;\n          details.endTime = onlyConversation.endTime;\n          details.acwStartTime = conversationAcwTime;\n        }\n      }\n      userConversations[userId] = details;\n      this.set(\"userConversations\", userConversations);\n    },\n    processObservationData: function processObservationData() {\n      var gatedData = this.get(\"gatedObservationData\");\n      var observationData = this.get(\"observationData\");\n      var queueIds = Object.keys(gatedData);\n      for (var x = 0; x < queueIds.length; x++) {\n        var queueId = queueIds[x];\n        var queueData = gatedData[queueId];\n        var groupIds = Object.keys(queueData);\n        for (var y = 0; y < groupIds.length; y++) {\n          var groupId = groupIds[y];\n          var groupData = queueData[groupId];\n          var keys = Object.keys(groupData);\n          for (var z = 0; z < keys.length; z++) {\n            var key = keys[z];\n            var value = groupData[key];\n            if (!observationData[queueId]) {\n              observationData[queueId] = {};\n            }\n            if (!observationData[queueId][groupId]) {\n              observationData[queueId][groupId] = {};\n            }\n            value.receivedBy = \"poll\";\n            value.receivedAt = moment().format();\n            observationData[queueId][groupId][key] = value;\n          }\n        }\n      }\n      this.set(\"observationData\", observationData);\n      this.trigger(\"observationData\");\n      this.set(\"gatedObservationData\", {});\n    },\n    getPollUserStatusDataInterval: function getPollUserStatusDataInterval() {\n      var defaultInterval = 60000 * 2; //2 minutes\n\n      var queueList = [];\n      this.dashboardConfiguration.dashboards.forEach(function (dashboard) {\n        var widgets = dashboard.widgets;\n        for (var w = 0; w < widgets.length; w++) {\n          if (widgets[w].widgetType !== \"agentstats\") {\n            for (var q = 0; q < widgets[w].queueIds.length; q++) {\n              var queueId = widgets[w].queueIds[q];\n              if (queueList.indexOf(queueId) === -1) {\n                queueList.push(queueId);\n              }\n            }\n          }\n        }\n      });\n      if (queueList.length > 25) {\n        return defaultInterval * (queueList.length / 25);\n      }\n      return defaultInterval;\n    },\n    getPollingInterval: function getPollingInterval() {\n      var queueIds = this.getQueueIdsFromDashboards();\n      var campaignIds = this.getCampaignIdsFromDashboards();\n      var totalIds = queueIds.length + campaignIds.length;\n      if (totalIds > 25) {\n        return POLLING_INTERVAL * (totalIds / 25);\n      }\n      return POLLING_INTERVAL;\n    },\n    getCampaignIdsFromDashboards: function getCampaignIdsFromDashboards() {\n      var campaignList = [];\n      this.dashboardConfiguration.dashboards.forEach(function (dashboard) {\n        var widgets = dashboard.widgets;\n        for (var w = 0; w < widgets.length; w++) {\n          if (widgets[w].campaignId && widgets[w].campaignId.length > 0) {\n            if (campaignList.indexOf(widgets[w].campaignId) === -1) {\n              campaignList.push(widgets[w].campaignId);\n            }\n          }\n        }\n      });\n      return campaignList;\n    },\n    getQueueIdsFromDashboards: function getQueueIdsFromDashboards() {\n      var queueList = [];\n      this.dashboardConfiguration.dashboards.forEach(function (dashboard) {\n        var widgets = dashboard.widgets;\n        for (var w = 0; w < widgets.length; w++) {\n          if (widgets[w].widgetType === \"observationchart\") {\n            if (widgets[w].queueId) {\n              queueList.push(widgets[w].queueId);\n            }\n            if (widgets[w].agentStatusQueue) {\n              queueList.push(widgets[w].agentStatusQueue);\n            }\n            if (widgets[w].queueIds) {\n              for (var q = 0; q < widgets[w].queueIds.length; q++) {\n                var queueId = widgets[w].queueIds[q];\n                if (queueList.indexOf(queueId) === -1) {\n                  queueList.push(queueId);\n                }\n              }\n            }\n          } else if (widgets[w].widgetType !== \"agentstats\") {\n            for (var _q = 0; _q < widgets[w].queueIds.length; _q++) {\n              var _queueId = widgets[w].queueIds[_q];\n              if (queueList.indexOf(_queueId) === -1) {\n                queueList.push(_queueId);\n              }\n            }\n          }\n        }\n        if (dashboard.statgrid) {\n          dashboard.statgrid.queueIds.forEach(function (queueId) {\n            if (queueList.indexOf(queueId) === -1) {\n              queueList.push(queueId);\n            }\n          });\n        }\n      });\n      return queueList;\n    },\n    startPolling: function startPolling() {\n      this.set(\"startPollingTime\", moment());\n      var observationPollingInterval = OBSERVATION_DATA_POLL;\n      var self = this;\n      function pollObservationData() {\n        self.getObservationData();\n        Ember.run.later(function () {\n          pollObservationData();\n        }, observationPollingInterval);\n      }\n      function pollUserStatusData() {\n        self.getCurrentUserStatuses();\n        Ember.run.later(function () {\n          pollUserStatusData();\n        }, self.getPollUserStatusDataInterval());\n      }\n      function realtimeGatedUpdate() {\n        self.processObservationData();\n        Ember.run.later(function () {\n          realtimeGatedUpdate();\n        }, REALTIME_GATED_UPDATE);\n      }\n      function poll() {\n        self.getHistoricalData();\n        self.getAgentStats();\n        self.getCampaignData();\n        var pollingInterval = self.getPollingInterval();\n        Ember.run.later(function () {\n          poll();\n          var webSocketOpen = self.get(\"webSocketOpenTime\");\n          if (moment().isAfter(webSocketOpen.add(\"22\", \"hours\"))) {\n            Ember.Logger.log(\"Reopening web socket\");\n            self._openWebSocket();\n          }\n        }, pollingInterval);\n      }\n      if (!this._isPollingHistorical) {\n        this.set(\"_isPollingHistorical\", true);\n        Ember.run.later(function () {\n          poll();\n          pollObservationData();\n          realtimeGatedUpdate();\n          pollUserStatusData();\n        }, 500);\n      }\n      this._openWebSocket();\n    },\n    _getQueueFilter: function _getQueueFilter(queueIds) {\n      var availableQueueIds = [];\n      var queueFilter = [];\n      if (!this.queueService.queueList) {\n        return queueFilter;\n      }\n      this.queueService.queueList.forEach(function (q) {\n        availableQueueIds.pushObject(q.id);\n      });\n      queueIds.forEach(function (id) {\n        if (availableQueueIds.indexOf(id) === -1) {\n          console.warn(\"user does not have access to queue \" + id);\n        } else if (id) {\n          queueFilter.push({\n            type: \"dimension\",\n            dimension: \"queueId\",\n            operator: \"matches\",\n            value: id.trim()\n          });\n        }\n      });\n      return queueFilter;\n    },\n    _findWidgetMetric: function _findWidgetMetric(metricHandler) {\n      var _this6 = this;\n      this.dashboardConfiguration.dashboards.forEach(function (dashboard) {\n        var widgets = dashboard.widgets;\n        if (typeof widgets !== \"undefined\" && widgets !== null) {\n          for (var w = 0; w < widgets.length; w++) {\n            var widget = widgets[w];\n            if (widget.widgetType !== \"topwrapups\" && widget.widgetType !== \"observationchart\") {\n              var config = _this6._getWidgetConfiguration(widget.type);\n              if (typeof config !== \"undefined\" && config !== null && typeof config.metrics !== \"undefined\") {\n                for (var s = 0; s < config.metrics.length; s++) {\n                  var metric = config.metrics[s];\n                  metricHandler(metric, config.isObservation);\n                }\n              }\n              if (typeof widget.stats !== \"undefined\") {\n                for (var _s = 0; _s < widget.stats.length; _s++) {\n                  var _config = _this6._getWidgetConfiguration(widget.stats[_s]);\n                  if (typeof _config !== \"undefined\" && _config !== null && typeof _config.metrics !== \"undefined\") {\n                    for (var _s2 = 0; _s2 < _config.metrics.length; _s2++) {\n                      var _metric = _config.metrics[_s2];\n                      metricHandler(_metric, _config.isObservation);\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }\n        if (dashboard.statgrid) {\n          for (var _w = 0; _w < dashboard.statgrid.stats.length; _w++) {\n            var _config2 = _this6._getWidgetConfiguration(dashboard.statgrid.stats[_w]);\n            if (_config2.metrics) {\n              for (var _s3 = 0; _s3 < _config2.metrics.length; _s3++) {\n                var _metric2 = _config2.metrics[_s3];\n                metricHandler(_metric2, _config2.isObservation);\n              }\n            }\n          }\n        }\n      });\n    },\n    getObservationData: function getObservationData() {\n      var queueIds = this.getQueueIdsFromDashboards();\n      var queueFilter = this._getQueueFilter(queueIds);\n      if (queueFilter.length === 0) {\n        return;\n      }\n      var observationMetricList = [\"oWaiting\", \"oInteracting\", \"oActiveUsers\", \"oUserRoutingStatuses\"];\n      var observationDetailMetricList = [\"oWaiting\", \"oInteracting\"];\n      var analytics = this.get(\"purecloud\").getAnalyticsApi();\n      var self = this;\n      if (observationMetricList.length > 0) {\n        var promises = [];\n        while (queueFilter.length > 99) {\n          var requestData = {\n            metrics: observationMetricList,\n            detailMetrics: observationDetailMetricList,\n            filter: {\n              type: \"or\",\n              predicates: queueFilter.slice(0, 99)\n            }\n          };\n          queueFilter = queueFilter.slice(99);\n          promises.pushObject(analytics.postQueuesObservationsQuery(requestData));\n        }\n        if (queueFilter.length > 0) {\n          var _requestData = {\n            metrics: observationMetricList,\n            detailMetrics: observationDetailMetricList,\n            filter: {\n              type: \"or\",\n              predicates: queueFilter\n            }\n          };\n          promises.pushObject(analytics.postQueuesObservationsQuery(_requestData));\n        }\n\n        // can only query for 100 queues at a time\n\n        Ember.RSVP.Promise.all(promises).then(function (queryResults) {\n          var observationData = self.get(\"observationData\");\n          queryResults.forEach(function (queryResult) {\n            var stats = queryResult.results;\n            var _loop = function _loop(x) {\n              var stat = stats[x];\n              if (!observationData[stat.group.queueId]) {\n                observationData[stat.group.queueId] = {};\n              }\n              var group = stat.group.mediaType;\n              if (!group) {\n                group = \"queue\";\n              }\n              if (!observationData[stat.group.queueId][group]) {\n                observationData[stat.group.queueId][group] = {};\n              }\n\n              //POLL won't return interacting if no users are interacting, this can cause issues\n              // with not reseting back to 0 if we aren't getting WS notifications and need to fall back to poll\n              // reset observations back to 0\n              [\"INTERACTING\", \"IDLE\", \"OFF_QUEUE\", \"OFFLINE\"].forEach(function (q) {\n                stat.data.forEach(function (data) {\n                  if (data.metric === \"oUserRoutingStatues\") {\n                    var metricKey = \"oUserRoutingStatuses\" + \".\" + stat.data[x].qualifier;\n                    observationData[stat.group.queueId][group][metricKey] = {\n                      count: 0,\n                      receivedBy: \"poll reset\",\n                      receivedAt: moment().format()\n                    };\n                    observationData[stat.group.queueId][group][metricKey + \"Observations\"] = [];\n                  }\n                });\n              });\n              for (var _x = 0; _x < stat.data.length; _x++) {\n                var metricKey = stat.data[_x].metric;\n                if (stat.data[_x].qualifier) {\n                  metricKey = metricKey + \".\" + stat.data[_x].qualifier;\n                }\n                stat.data[_x].stats.receivedBy = \"poll\";\n                stat.data[_x].stats.receivedAt = moment().format();\n                observationData[stat.group.queueId][group][metricKey] = stat.data[_x].stats;\n                if (stat.data[_x].observations) {\n                  observationData[stat.group.queueId][group][metricKey + \"Observations\"] = stat.data[_x].observations;\n                } else {\n                  observationData[stat.group.queueId][group][metricKey + \"Observations\"] = [];\n                }\n              }\n            };\n            for (var x = 0; x < stats.length; x++) {\n              _loop(x);\n            }\n          });\n          self.set(\"observationData\", observationData);\n          self.trigger(\"observationData\");\n        }).catch(function (err) {\n          if (err.statusCode === 403) {\n            self.get(\"missingPermissionService\").reportMissing(\"analytics:queueObservation:view\", err);\n          }\n          console.log(err);\n        });\n      }\n    },\n    getAgentStats: function getAgentStats() {\n      var dayStart = moment().startOf(\"day\").utc().toISOString();\n      var dayEnd = moment().startOf(\"day\").add(1, \"d\").utc().toISOString();\n      var self = this;\n      this.getAgentStatsWithStartEnd(dayStart, dayEnd, \"P1D\").then(function (agentData) {\n        if (agentData.results.length > 0) {\n          self.set(\"agentData\", agentData);\n        }\n      });\n    },\n    getAgentStatsWithStartEnd: function getAgentStatsWithStartEnd(start, end, period) {\n      var _this7 = this;\n      return new Ember.RSVP.Promise(function (resolve) {\n        var queueList = [];\n        var widgetTimePeriod = \"day\";\n        if (period === \"PT30M\") {\n          widgetTimePeriod = \"interval\";\n        }\n        var metricList = [];\n        _this7.dashboardConfiguration.dashboards.forEach(function (dashboard) {\n          var widgets = dashboard.widgets;\n          for (var w = 0; w < widgets.length; w++) {\n            if (widgets[w].widgetType === \"agentstats\") {\n              for (var q = 0; q < widgets[w].queueIds.length; q++) {\n                var queueId = widgets[w].queueIds[q];\n                if (queueList.indexOf(queueId) === -1) {\n                  queueList.push(queueId);\n                }\n              }\n              var _loop2 = function _loop2() {\n                var statId = widgets[w].stats[_q2];\n                _agentstattypes.default.forEach(function (agentStat) {\n                  if (statId === agentStat.key) {\n                    agentStat.metrics.forEach(function (metric) {\n                      if (metricList.indexOf(metric) === -1 && metric !== \"\") {\n                        metricList.push(metric);\n                      }\n                    });\n                  }\n                });\n              };\n              for (var _q2 = 0; _q2 < widgets[w].stats.length; _q2++) {\n                _loop2();\n              }\n            }\n          }\n        });\n        var queueFilter = _this7._getQueueFilter(queueList);\n\n        //debugger;\n        if (queueFilter.length === 0 && metricList.length === 0) {\n          resolve({\n            results: []\n          });\n          return;\n        }\n        var analytics = _this7.get(\"purecloud\").getAnalyticsApi();\n        var self = _this7;\n        if (metricList.length > 0) {\n          var promises = [];\n          while (queueFilter.length > 0) {\n            var queueSubset = queueFilter.splice(0, 20);\n            var requestData = {\n              interval: start + \"/\" + end,\n              groupBy: [\"queueId\", \"userId\"],\n              metrics: metricList,\n              granularity: period,\n              filter: {\n                type: \"or\",\n                predicates: queueSubset\n              }\n            };\n            promises.push(analytics.postConversationsAggregatesQuery(requestData));\n          }\n          Ember.RSVP.Promise.all(promises).then(function (queueDataArray) {\n            var queueData = {\n              results: []\n            };\n            for (var x = 0; x < queueDataArray.length; x++) {\n              if (typeof queueDataArray[x].results !== \"undefined\") {\n                queueData.results = queueData.results.concat(queueDataArray[x].results);\n              }\n            }\n            resolve(queueData);\n          }).catch(function (err) {\n            if (err.statusCode === 403) {\n              self.get(\"missingPermissionService\").reportMissing(\"analytics:conversationAggregate:view\", err);\n            }\n            if (err.statusCode === 0) {\n              self.set(\"pollingInterval\", LONG_POLLING_INTERVAL);\n            }\n            Ember.Logger.warn(err);\n            var message = \"PureCloud API error - Conversation Aggregate query \" + JSON.stringify(err) + \"   Metrics: \" + JSON.stringify(metricList) + \" Queues: \" + JSON.stringify(self.getQueueIdsFromDashboards());\n          });\n        }\n      });\n    },\n    getHistoricalData: function getHistoricalData() {\n      var dayStart = moment().startOf(\"day\").utc().toISOString();\n      var dayEnd = moment().startOf(\"day\").add(1, \"d\").utc().toISOString();\n      var self = this;\n      this.getHistoricalDataWithStartEnd(dayStart, dayEnd, \"P1D\").then(function (queueData) {\n        if (queueData.results.length > 0) {\n          self.set(\"queueData\", queueData);\n        }\n      });\n      var currentIntervalStart = moment().startOf(\"hour\");\n      if (moment().minute() >= 30) {\n        currentIntervalStart = currentIntervalStart.add(30, \"m\");\n      }\n      var previousIntervalStart = currentIntervalStart.subtract(30, \"m\").utc().toISOString();\n      var queryEndTime = currentIntervalStart.add(1, \"h\").utc().toISOString();\n      currentIntervalStart = currentIntervalStart.utc().toISOString();\n      this.getHistoricalDataWithStartEnd(previousIntervalStart, queryEndTime, \"PT30M\").then(function (queueData) {\n        if (queueData.results.length > 0) {\n          self.set(\"intervalQueueData\", queueData);\n        }\n      });\n    },\n    getHistoricalDataWithStartEnd: function getHistoricalDataWithStartEnd(start, end, period) {\n      var _this8 = this;\n      return new Ember.RSVP.Promise(function (resolve) {\n        var queueList = [];\n        var widgetTimePeriod = \"day\";\n        if (period === \"PT30M\") {\n          widgetTimePeriod = \"interval\";\n        }\n        var metricList = [];\n        _this8.dashboardConfiguration.dashboards.forEach(function (dashboard) {\n          if (dashboard.statgrid && widgetTimePeriod === \"day\") {\n            for (var q = 0; q < dashboard.statgrid.queueIds.length; q++) {\n              var queueId = dashboard.statgrid.queueIds[q];\n              if (queueList.indexOf(queueId) === -1) {\n                queueList.push(queueId);\n              }\n            }\n          } else {\n            var widgets = dashboard.widgets;\n            for (var w = 0; w < widgets.length; w++) {\n              var timeperiod = widgets[w].timePeriod || \"day\";\n              if (widgets[w].widgetType !== \"agentstats\" && timeperiod.indexOf(widgetTimePeriod) > -1) {\n                for (var _q3 = 0; _q3 < widgets[w].queueIds.length; _q3++) {\n                  var _queueId2 = widgets[w].queueIds[_q3];\n                  if (queueList.indexOf(_queueId2) === -1) {\n                    queueList.push(_queueId2);\n                  }\n                }\n              }\n            }\n          }\n        });\n        var queueFilter = _this8._getQueueFilter(queueList);\n\n        //debugger;\n        if (queueFilter.length === 0) {\n          resolve({\n            results: []\n          });\n          return;\n        }\n        _this8._findWidgetMetric(function (metric, isObservationStat) {\n          if (!isObservationStat) {\n            if (metricList.indexOf(metric) === -1) {\n              metricList.push(metric);\n            }\n          }\n        });\n        var analytics = _this8.get(\"purecloud\").getAnalyticsApi();\n        var self = _this8;\n        if (metricList.length > 0) {\n          var promises = [];\n          while (queueFilter.length > 0) {\n            var queueSubset = queueFilter.splice(0, 20);\n            var requestData = {\n              interval: start + \"/\" + end,\n              groupBy: [\"queueId\"],\n              metrics: metricList,\n              granularity: period,\n              filter: {\n                type: \"or\",\n                predicates: queueSubset\n              }\n            };\n            // debugger;\n            promises.push(analytics.postConversationsAggregatesQuery(requestData));\n          }\n          Ember.RSVP.Promise.all(promises).then(function (queueDataArray) {\n            var queueData = {\n              results: []\n            };\n            for (var x = 0; x < queueDataArray.length; x++) {\n              if (typeof queueDataArray[x].results !== \"undefined\") {\n                queueData.results = queueData.results.concat(queueDataArray[x].results);\n              }\n            }\n            resolve(queueData);\n          }).catch(function (err) {\n            if (err.statusCode === 403) {\n              self.get(\"missingPermissionService\").reportMissing(\"analytics:conversationAggregate:view\", err);\n            }\n            if (err.statusCode === 0) {\n              self.set(\"pollingInterval\", LONG_POLLING_INTERVAL);\n            }\n            Ember.Logger.warn(err);\n            var message = \"PureCloud API error - Conversation Aggregate query \" + JSON.stringify(err) + \"   Metrics: \" + JSON.stringify(metricList) + \" Queues: \" + JSON.stringify(self.getQueueIdsFromDashboards());\n          });\n        }\n      });\n    },\n    getCampaignData: function getCampaignData() {\n      var campaigns = this.getCampaignIdsFromDashboards();\n      if (campaigns.length === 0) {\n        return;\n      }\n      var outbound = this.get(\"purecloud\").getOutboundApi();\n      var self = this;\n      var promiseList = [];\n      campaigns.forEach(function (campaignId) {\n        promiseList.push(outbound.getCampaignsCampaignIdStats(campaignId));\n      });\n      outbound.postCampaignsProgress(campaigns).then(function (progressData) {\n        var campaignData = {};\n        for (var x = 0; x < progressData.length; x++) {\n          var data = progressData[x];\n          campaignData[data.campaign.id] = data;\n        }\n        self.set(\"campaignProgress\", campaignData);\n      });\n      Ember.RSVP.Promise.all(promiseList).then(function (campaignStats) {\n        var campaignData = {};\n        for (var x = 0; x < campaigns.length; x++) {\n          var campaignId = campaigns[x];\n          campaignData[campaignId] = campaignStats[x];\n        }\n        self.set(\"campaignStats\", campaignData);\n      }).catch(function (err) {\n        if (err.statusCode === 403) {\n          self.get(\"missingPermissionService\").reportMissing(\"outbound:campaign:view\", err);\n        }\n      });\n    },\n    getPageOfQueueUsers: function getPageOfQueueUsers(mainResolve, users, queueId, page) {\n      var _this9 = this;\n      var self = this;\n      this.get(\"purecloud\").getRequest(\"/api/v2/routing/queues/\".concat(queueId, \"/members?pageNumber=\").concat(page, \"&pageSize=250&expand=routingStatus,presence,outOfOffice\")).then(function (entities) {\n        if (entities.entities.length > 0) {\n          users.pushObjects(entities.entities);\n        }\n        if (entities.nextUri) {\n          _this9.getPageOfQueueUsers(mainResolve, users, queueId, page + 1);\n        } else {\n          var res = {\n            entities: users\n          };\n          _this9.get(\"_queueUserCache\")[queueId] = res;\n          mainResolve(res);\n        }\n      }).catch(function (ex) {\n        if (ex.headers && ex.headers[\"retry-after\"]) {\n          setTimeout(function () {\n            self.getPageOfQueueUsers(mainResolve, users, queueId, page);\n          }, (parseInt(ex.headers[\"retry-after\"]) + 1) * 1000);\n        } else {\n          mainResolve({\n            entities: users\n          });\n        }\n      });\n    },\n    getQueueUsers: function getQueueUsers(queueUsersResolve, queueId) {\n      var _this0 = this;\n      var users = [];\n      new Ember.RSVP.Promise(function (resolve) {\n        _this0.getPageOfQueueUsers(resolve, users, queueId, 1);\n      }).then(function (users) {\n        _this0.get(\"_queueUserCache\")[queueId] = users;\n        queueUsersResolve(users);\n      });\n    },\n    getCurrentUserStatuses: function getCurrentUserStatuses() {\n      var _this1 = this;\n      var queues = [];\n      this.dashboardConfiguration.dashboards.forEach(function (dashboard) {\n        var widgets = dashboard.widgets;\n        if (typeof widgets !== \"undefined\" && widgets !== null) {\n          for (var w = 0; w < widgets.length; w++) {\n            if (widgets[w].widgetType === \"agentstats\") {\n              widgets[w].queueIds.forEach(function (queue) {\n                if (queues.indexOf(queue) === -1) {\n                  queues.push(queue);\n                }\n              });\n            }\n          }\n        }\n      });\n      var userImages = {};\n      var userPresence = {};\n      var userRoutingStatus = {};\n      var userIsOOO = {};\n      var queueUsers = this.get(\"queueUsers\");\n      if (!queueUsers) {\n        queueUsers = {};\n      }\n      var self = this;\n      var queuePromises = [];\n      queues.forEach(function (queueId) {\n        queuePromises.push(new Ember.RSVP.Promise(function (resolve) {\n          _this1.getQueueUsers(resolve, queueId);\n        }));\n      });\n      var userIds = [];\n      Ember.RSVP.Promise.all(queuePromises).then(function (promiseResults) {\n        var _loop3 = function _loop3() {\n          var users = promiseResults[x];\n          var queueId = queues[x];\n          if (!queueUsers[queueId] || users.entities && users.entities.length > 0) {\n            queueUsers[queueId] = [];\n          }\n          users.entities.forEach(function (user) {\n            //unknown users are deleted users\n            if (user.user.id.indexOf(\"UNKNOWN\") === -1) {\n              if (userIds.indexOf(user.id) === -1) {\n                userIds.push(user.id);\n              }\n              queueUsers[queueId].push({\n                id: user.id,\n                name: user.name,\n                joined: user.joined\n              });\n              if (user.user.images) {\n                user.user.images.forEach(function (image) {\n                  if (image.resolution === \"x48\") {\n                    userImages[user.id] = image.imageUri;\n                  }\n                });\n              } else {\n                userImages[user.id] = \"https://dhqbrvplips7x.cloudfront.net/directory/4524/assets/images/svg/person.svg\";\n              }\n              if (!user.user.presence) {\n                user.user.presence = {\n                  source: \"PURECLOUD\",\n                  presenceDefinition: {\n                    systemPresence: \"\"\n                  },\n                  message: \"\",\n                  modifiedDate: moment().format()\n                };\n              }\n              user.user.presence.receivedBy = \"poll\";\n              user.user.presence.receivedAt = moment().format();\n              userPresence[user.id] = user.user.presence;\n              user.routingStatus.receivedBy = \"poll\";\n              user.routingStatus.receivedAt = moment().format();\n              userRoutingStatus[user.id] = user.routingStatus;\n              userIsOOO[user.id] = false;\n              if (user.user && user.user.outOfOffice) {\n                userIsOOO[user.id] = user.user.outOfOffice.active;\n              }\n            }\n          });\n        };\n        for (var x = 0; x < promiseResults.length; x++) {\n          _loop3();\n        }\n        self.set(\"queuePromises\", queuePromises);\n        self.set(\"userIsOOO\", userIsOOO);\n        self.set(\"userRoutingStatus\", userRoutingStatus);\n        self.set(\"userPresence\", userPresence);\n        self.set(\"userImages\", userImages);\n        self.set(\"queueUsers\", queueUsers);\n      });\n    },\n    getUserData: function getUserData() {\n      var _this10 = this;\n      var self = this;\n      var queues = [];\n      var queueUsers = {};\n      var queuePromises = [];\n      this.getCurrentUserStatuses();\n      this.dashboardConfiguration.dashboards.forEach(function (dashboard) {\n        var widgets = dashboard.widgets;\n        if (typeof widgets !== \"undefined\" && widgets !== null) {\n          for (var w = 0; w < widgets.length; w++) {\n            if (widgets[w].widgetType === \"agentstats\") {\n              widgets[w].queueIds.forEach(function (queue) {\n                if (queues.indexOf(queue) === -1) {\n                  queues.push(queue);\n                }\n              });\n            }\n          }\n        }\n      });\n      queues.forEach(function (queueId) {\n        queueUsers[queueId] = [];\n        queuePromises.push(new Ember.RSVP.Promise(function (resolve) {\n          if (_this10.get(\"_queueUserCache\")[queueId]) {\n            resolve(_this10.get(\"_queueUserCache\")[queueId]);\n            return;\n          }\n          _this10.getQueueUsers(resolve, queueId);\n        }));\n      });\n      var userIds = [];\n      Ember.RSVP.Promise.all(queuePromises).then(function (promiseResults) {\n        _this10.getCurrentUserStatuses();\n        for (var x = 0; x < promiseResults.length; x++) {\n          var users = promiseResults[x];\n          users.entities.forEach(function (user) {\n            //unknown users are deleted users\n            if (user.user.id.indexOf(\"UNKNOWN\") === -1) {\n              if (userIds.indexOf(user.id) === -1) {\n                userIds.push(user.id);\n              }\n            }\n          });\n        }\n        var channelId = self.get(\"websocketChannelId\");\n        var notificationsapi = self.get(\"purecloud\").getNotificationsApi();\n        Ember.run.later(function () {\n          // Add user topics (will be deduplicated in subscribeToTopicsWithRetry)\n          userIds.forEach(function (id) {\n            var topicString = \"v2.users.\".concat(id, \"?presence&routingStatus&outofoffice&conversations\");\n            // Check for both the old format and new format to avoid duplicates\n            var topicPresence = \"v2.users.\".concat(id, \".presence\");\n            if (self.notificationSubscriptions.indexOf(topicString) === -1 && self.notificationSubscriptions.indexOf(topicPresence) === -1) {\n              self.notificationSubscriptions.push(topicString);\n            }\n          });\n          self.queryExistingConversationsForUsers(userIds);\n          // Always try to subscribe - subscribeToTopicsWithRetry will check if topics changed\n          self.subscribeToTopicsWithRetry(channelId);\n        }, 500);\n      }).catch(function (err) {\n        if (err.statusCode === 403) {\n          self.get(\"missingPermissionService\").reportMissing(\"routing:queue:view\", err);\n        }\n      });\n    },\n    saveDashboards: function saveDashboards(dashboards) {\n      //this.get(\"widgetStateService\").clear();\n      this.startPolling();\n      dashboards.dashboards.forEach(function (dashboard) {\n        dashboard.widgets.forEach(function (widget) {\n          if (typeof widget.title === \"undefined\" || widget.title === null || widget.title.length === 0) {\n            Ember.set(widget, \"title\", \" \");\n          }\n        });\n      });\n      this.set(\"dashboardConfigurationChangedToggle\", !this.get(\"dashboardConfigurationChangedToggle\"));\n      return this.get(\"requestService\").postResource(\"/dashboards\", dashboards);\n    },\n    dashboardConfigurationChangedToggle: false,\n    hashCode: function hashCode(str) {\n      var hash = 0;\n      for (var i = 0; i < str.length; i++) {\n        var char = str.charCodeAt(i);\n        hash = (hash << 5) - hash + char;\n        hash = hash & hash; // Convert to 32bit integer\n      }\n      return hash;\n    },\n    getDashboards: function getDashboards() {\n      var self = this;\n      return new Ember.RSVP.Promise(function (resolve, reject) {\n        var requestService = self.get(\"requestService\");\n        requestService.getResource(\"/dashboards\").then(function (dashboards) {\n          var existingDashboardHash = self.get(\"dashboardHash\");\n          var newDashboardHash = self.hashCode(JSON.stringify(dashboards));\n          if (existingDashboardHash === newDashboardHash) {\n            console.log(\"dashboard is unchanged\");\n            resolve(self.dashboardConfiguration);\n            return;\n          } else {\n            console.log(\"New dashboard configuration\");\n            self.set(\"dashboardHash\", newDashboardHash);\n          }\n          var dashboardConfig = dashboards;\n          if (Array.isArray(dashboards)) {\n            dashboardConfig = {\n              dashboards: dashboards\n            };\n            if (dashboards.length > 0) {\n              dashboardConfig.darkMode = dashboards[0].darkMode;\n            }\n          }\n\n          //Do some verification that each widget does not overlap and has an x/y\n          function hasXOverlap(a, b) {\n            return a.x + a.width <= b.x;\n          }\n          function hasYOverlap(a, b) {\n            return a.y + a.height <= b.y;\n          }\n          for (var d = 0; d < dashboardConfig.dashboards.length; d++) {\n            var dashboard = dashboardConfig.dashboards[d];\n            var locations = [];\n            var toRemove = [];\n            var maxX = 0;\n            var maxY = 1;\n            var _loop4 = function _loop4(w) {\n              var widget = dashboard.widgets[w];\n              var xy = \"\".concat(widget.x, \"-\").concat(widget.y);\n              if (locations.indexOf(xy) > 0) {\n                console.log(\"already has \" + xy);\n                self.get(\"errorService\").logError(\"already has widget at \" + xy);\n                // widget.x = 100 + widget.x;\n                // widget.y = 100 + widget.y;\n\n                toRemove.push(w);\n              } else if (typeof widget.x === \"undefined\" || typeof widget.y === \"undefined\") {\n                console.log(\"XY undefined \".concat(widget.x, \" \").concat(widget.y));\n                self.get(\"errorService\").logError(\"XY undefined \".concat(widget.x, \" \").concat(widget.y));\n                toRemove.push(w);\n              } else {\n                locations.push(xy);\n                dashboard.widgets.forEach(function (otherW) {\n                  if (otherW.x !== widget.x && otherW.y !== widget.y) {\n                    if (hasXOverlap(w, otherW)) {\n                      console.log(\"\".concat(w, \" found x overlap \").concat(widget.x, \",\").concat(widget.width, \"  \").concat(otherW.x, \",\").concat(otherW.width, \" \"));\n                      self.get(\"errorService\").logError(\"\".concat(w, \" found x overlap \").concat(widget.x, \",\").concat(widget.width, \"  \").concat(otherW.x, \",\").concat(otherW.width, \" \"));\n                      widget.width = 1;\n                    }\n                    if (hasYOverlap(w, otherW)) {\n                      console.log(\"\".concat(w, \" found Y overlap \").concat(widget.y, \",\").concat(widget.height, \" \").concat(otherW.y, \",\").concat(otherW.height));\n                      self.get(\"errorService\").logError(\"\".concat(w, \" found Y overlap \").concat(widget.y, \",\").concat(widget.height, \" \").concat(otherW.y, \",\").concat(otherW.height));\n                      widget.height = 1;\n                    }\n                  }\n                });\n                if (maxX < widget.x + widget.width) {\n                  maxX = widget.x + widget.width + 1;\n                }\n                if (maxY < widget.y + widget.height) {\n                  maxY = widget.y + widget.height + 1;\n                }\n              }\n            };\n            for (var w = 0; w < dashboard.widgets.length; w++) {\n              _loop4(w);\n            }\n            for (var i = toRemove.length - 1; i >= 0; i--) {\n              var wIndex = toRemove[i];\n              console.log(\"adjusting \".concat(wIndex));\n              self.get(\"errorService\").logError(\"adjusting \".concat(wIndex));\n              dashboard.widgets[wIndex].x = maxX + 1;\n              dashboard.widgets[wIndex].width = 1;\n              dashboard.widgets[wIndex].height = 2;\n              dashboard.widgets[wIndex].y = i * 2;\n            }\n          }\n          if (dashboardConfig.dashboards.length < 1 || typeof dashboardConfig.dashboards[0].dashboardName === \"undefined\") {\n            dashboardConfig = {\n              dashboards: [{\n                dashboardName: \"Default Dashboard\",\n                widgets: [],\n                allowresize: true,\n                id: _emberCliGuid.default.create()\n              }]\n            };\n          }\n          self.startPolling();\n          self.set(\"dashboardConfiguration\", dashboardConfig);\n          self.dashboardConfiguration.dashboards.forEach(function (dashboard) {\n            if (typeof dashboard.id === \"undefined\" || dashboard.id === null) {\n              dashboard.id = _emberCliGuid.default.create();\n            }\n            var size = 4;\n            if (dashboard.widgetSize === \"md\") {\n              size = 3;\n            } else if (dashboard.widgetSize === \"sm\") {\n              size = 2;\n            }\n            var x = 0;\n            var y = 0;\n            if (dashboard.widgets) {\n              for (var _i = 0; _i < dashboard.widgets.length; _i++) {\n                if (dashboard.widgets[_i].widgetType === \"undefined\" || dashboard.widgets[_i].widgetType === null) {\n                  dashboard.widgets[_i].widgetType = \"statistic\";\n                  dashboard.widgets[_i].height = size;\n                  dashboard.widgets[_i].width = size;\n                  dashboard.widgets[_i].x = (size + 1) * _i % 12;\n                  dashboard.widgets[_i].y = y;\n                  x = x + size;\n                }\n              }\n            }\n          });\n          self.set(\"dashboardConfigurationChangedToggle\", !self.get(\"dashboardConfigurationChangedToggle\"));\n          resolve(self.dashboardConfiguration);\n        }).catch(function (ex) {\n          reject(ex);\n        });\n      });\n    }\n  });\n});","define(\"insights-web/services/request-service\", [\"exports\", \"@babel/runtime/helpers/esm/typeof\"], function (_exports, _typeof2) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  //const SERVER = \"http://d22huhlq55w9kn.cloudfront.net\";\n  var SERVER = \"\"; // \"http://localhost:8080\";\n\n  function makeRequestWithRetry(request, resolve, reject) {\n    $.ajax(request).done(function (queues) {\n      resolve(queues);\n    }).catch(function (err) {\n      if (err.status === 401) {\n        self._loginRedirect(self);\n        resolve();\n      } else if (err.status === 401) {\n        self._loginRedirect(self);\n        reject(err);\n      } else if (err.status === 429) {\n        setTimeout(function () {\n          makeRequestWithRetry(request, resolve, reject);\n        }, 30000);\n      } else {\n        Ember.Logger.error(err);\n        reject(err);\n      }\n    });\n  }\n  var _default = _exports.default = Ember.Service.extend(Ember.Evented, {\n    ajax: Ember.inject.service(),\n    errorService: Ember.inject.service(),\n    getServer: function getServer() {\n      return SERVER + \"/server\";\n    },\n    me: null,\n    getMe: function getMe() {\n      if (this.get(\"me\") !== null) {\n        return Ember.RSVP.Promise.resolve(this.get(\"me\"));\n      }\n      var self = this;\n      return this.getResource(\"/purecloud/me\").then(function (me) {\n        self.set(\"me\", me);\n        return me;\n      });\n    },\n    _loginRedirect: function _loginRedirect() {\n      window.location.replace(SERVER + \"/server/oauth/login?redirect=\" + window.location.href);\n    },\n    logError: function logError(message, correlationId) {\n      var _this = this;\n      this.get(\"errorService\").logError(message, correlationId);\n      this.getMe().then(function (me) {\n        _this.postResource(\"/log/error\", {\n          userId: me.id,\n          correlationId: correlationId,\n          message: message\n        }).catch(function () {\n          _this.postResource(\"/log/error\", {\n            correlationId: correlationId,\n            message: message\n          });\n        });\n      });\n    },\n    getResource: function getResource(url) {\n      var self = this;\n      try {\n        return new Ember.RSVP.Promise(function (resolve, reject) {\n          //resolve({});\n          self.get(\"ajax\").request(self.getServer(url) + url /*{\n                                                             url: self.getServer(url) + url,\n                                                             //  data: { whatever:'cool' },\n                                                             type: 'GET',\n                                                             beforeSend: function(xhr){\n                                                             xhr.withCredentials = true;\n                                                             },\n                                                             }*/).then(function (data) {\n            resolve(data);\n          }).catch(function (err) {\n            try {\n              Ember.Logger.error(err);\n              Ember.Logger.error((0, _typeof2.default)(err));\n              if (err.status === 401 || err.message === \"Ajax authorization failed\") {\n                Ember.Logger.log(\"REDIRECTING\");\n                self._loginRedirect(self);\n              }\n              if (reject) {\n                reject(err);\n              }\n            } catch (e) {\n              Ember.Logger.error(\"error caught in get resource \" + url + \" \" + e);\n              if (reject) {\n                reject(e);\n              }\n            }\n          });\n        });\n      } catch (e) {\n        Ember.Logger.error(e);\n      }\n    },\n    postResource: function postResource(url, data) {\n      var self = this;\n      var token = document.querySelector('meta[name=\"csrf-token\"]').getAttribute(\"content\");\n      try {\n        return new Ember.RSVP.Promise(function (resolve, reject) {\n          var request = {\n            url: self.getServer(url) + url,\n            type: \"POST\",\n            contentType: \"application/json\",\n            //json object to sent to the authentication url\n            data: JSON.stringify(data),\n            headers: {\n              \"CSRF-Token\": token\n            },\n            beforeSend: function beforeSend(xhr) {\n              xhr.withCredentials = true;\n            }\n          };\n          makeRequestWithRetry(request, resolve, reject);\n        });\n      } catch (e) {\n        Ember.Logger.error(e);\n      }\n    }\n  });\n});","define(\"insights-web/services/stat-calculation\", [\"exports\", \"insights-web/utils/widgetstattypes\", \"insights-web/utils/agentstattypes\"], function (_exports, _widgetstattypes, _agentstattypes) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = Ember.Service.extend({\n    realtimeService: Ember.inject.service(),\n    requestService: Ember.inject.service(),\n    _formatTimeString: function _formatTimeString(duration) {\n      //\"00:00:00\"\n\n      duration = duration / 1000;\n      //Ember.Logger.log(duration);\n\n      var seconds = parseInt(duration % 60);\n      var minutes = parseInt(duration / 60 % 60);\n      var hours = parseInt(duration / (60 * 60) % 24);\n      if (isNaN(seconds)) {\n        return \"\";\n      }\n      hours = hours < 10 ? \"0\" + hours : hours;\n      minutes = minutes < 10 ? \"0\" + minutes : minutes;\n      seconds = seconds < 10 ? \"0\" + seconds : seconds;\n      return hours + \":\" + minutes + \":\" + seconds;\n    },\n    _findHistoricalMatchingMetrics: function _findHistoricalMatchingMetrics(queues, metricName, startTime, handler) {\n      try {\n        var queueData = this.get(\"realtimeService\").get(\"queueData\");\n        if (moment(startTime) > moment().startOf(\"day\").utc()) {\n          queueData = this.get(\"realtimeService\").get(\"intervalQueueData\");\n        }\n        if (queueData === null || typeof queueData === \"undefined\") {\n          return;\n        }\n        for (var x = 0; x < queueData.results.length; x++) {\n          var results = queueData.results[x];\n          if (Object.keys(results.group).length >= 1 && queues.indexOf(results.group.queueId) > -1) {\n            for (var y = 0; y < results.data.length; y++) {\n              var data = results.data[y];\n              if (data.interval.indexOf(startTime) === 0) {\n                for (var i = 0; i < data.metrics.length; i++) {\n                  var metric = data.metrics[i];\n                  if (metric.metric === metricName) {\n                    handler(metric.stats, results.group.queueId, queues, results.group.mediaType);\n                  }\n                }\n              }\n            }\n          }\n        }\n      } catch (ex) {\n        Ember.Logger.error(ex);\n      }\n    },\n    _findHistoricalAgentMatchingMetrics: function _findHistoricalAgentMatchingMetrics(agentId, queues, metricName, handler) {\n      try {\n        var agentData = this.get(\"realtimeService\").get(\"agentData\");\n        if (agentData === null || typeof agentData === \"undefined\") {\n          return;\n        }\n        for (var x = 0; x < agentData.results.length; x++) {\n          var results = agentData.results[x];\n          if (Object.keys(results.group).length >= 1 && queues.indexOf(results.group.queueId) > -1 && results.group.userId === agentId) {\n            for (var y = 0; y < results.data.length; y++) {\n              var data = results.data[y];\n              for (var i = 0; i < data.metrics.length; i++) {\n                var metric = data.metrics[i];\n                if (metric.metric === metricName) {\n                  handler(metric.stats, results.group.queueId, agentId, queues, results.group.mediaType);\n                }\n              }\n            }\n          }\n        }\n      } catch (ex) {\n        Ember.Logger.error(ex);\n      }\n    },\n    _findMatchingObservationMetrics: function _findMatchingObservationMetrics(queues, metric, handler) {\n      try {\n        var observationData = this.get(\"realtimeService\").get(\"observationData\");\n        var queueIds = Object.keys(observationData);\n        for (var x = 0; x < queueIds.length; x++) {\n          var queueId = queueIds[x];\n          if (queues.indexOf(queueId) > -1) {\n            var groupKeys = Object.keys(observationData[queueId]);\n            for (var i = 0; i < groupKeys.length; i++) {\n              var group = groupKeys[i];\n              if (observationData[queueId][group][metric]) {\n                handler(observationData[queueId][group][metric], group);\n              }\n            }\n          }\n        }\n      } catch (ex) {\n        Ember.Logger.error(ex);\n      }\n    },\n    getOnQueueUsers: function getOnQueueUsers(queues) {\n      var idleValue = 0;\n      var interactingValue = 0;\n      this._findMatchingObservationMetrics(queues, \"oUserRoutingStatuses.IDLE\", function (data) {\n        idleValue = idleValue + data.count;\n      });\n      this._findMatchingObservationMetrics(queues, \"oUserRoutingStatuses.INTERACTING\", function (data) {\n        interactingValue = interactingValue + data.count;\n      });\n      this._findMatchingObservationMetrics(queues, \"oUserRoutingStatuses.COMMUNICATING\", function (data) {\n        interactingValue = interactingValue + data.count;\n      });\n      return interactingValue + idleValue;\n    },\n    getStatDisplayName: function getStatDisplayName(statKey) {\n      var txt = statKey;\n      _widgetstattypes.default.forEach(function (stat) {\n        if (stat.key === statKey) {\n          txt = stat.text;\n        }\n      });\n      _agentstattypes.default.forEach(function (stat) {\n        if (stat.key === statKey) {\n          txt = stat.text;\n        }\n      });\n      return txt;\n    },\n    getStatValue: function getStatValue(queues, statKey, intervalStart, mediaType, agentId) {\n      var returnData = {\n        data: null,\n        isTime: false,\n        showPercent: false\n      };\n      try {\n        if (statKey === \"agent_status\") {\n          var result = [[\"Status\", \"Agents\"]];\n          returnData.data = result;\n          return returnData;\n        } else if (statKey === \"conversations_waiting\") {\n          var value = 0;\n          this._findMatchingObservationMetrics(queues, \"oWaiting\", function (data, statMediaType) {\n            if (!mediaType || statMediaType.toLowerCase() === mediaType.toLowerCase() || mediaType.toLowerCase() === \"all\") {\n              value = value + data.count;\n              returnData.update = data.receivedAt;\n            }\n          });\n          returnData.data = value;\n          return returnData;\n        } else if (statKey === \"abandoned_interactions\") {\n          var _value = 0;\n          this._findHistoricalMatchingMetrics(queues, \"tAbandon\", intervalStart, function (data, queueId, queues, statMediaType) {\n            if (!mediaType || statMediaType.toLowerCase() === mediaType.toLowerCase() || mediaType.toLowerCase() === \"all\") {\n              _value = _value + data.count;\n              returnData.update = data.receivedAt;\n            }\n          });\n          returnData.data = _value;\n          return returnData;\n        } else if (statKey === \"conversations_active\") {\n          var _value2 = 0;\n          this._findMatchingObservationMetrics(queues, \"oInteracting\", function (data, statMediaType) {\n            if (!mediaType || statMediaType.toLowerCase() === mediaType.toLowerCase() || mediaType.toLowerCase() === \"all\") {\n              _value2 = _value2 + data.count;\n              returnData.update = data.receivedAt;\n            }\n          });\n          returnData.data = _value2;\n          return returnData;\n        } else if (statKey === \"agents_on_queue\") {\n          var _value3 = this.getOnQueueUsers(queues);\n          returnData.data = _value3;\n          return returnData;\n        } else if (statKey === \"agents_interacting\" || statKey === \"oUserRoutingStatuses.INTERACTING\") {\n          var _value4 = 0;\n          this._findMatchingObservationMetrics(queues, \"oUserRoutingStatuses.INTERACTING\", function (data) {\n            _value4 = _value4 + data.count;\n            returnData.update = data.receivedAt;\n          });\n          returnData.data = _value4;\n          return returnData;\n        } else if (statKey === \"agents_idle\" || statKey === \"oUserRoutingStatuses.IDLE\") {\n          var _value5 = 0;\n          this._findMatchingObservationMetrics(queues, \"oUserRoutingStatuses.IDLE\", function (data) {\n            _value5 = _value5 + data.count;\n            returnData.update = data.receivedAt;\n          });\n          returnData.data = _value5;\n          return returnData;\n        } else if (statKey === \"agents_not_responding\" || statKey === \"oUserRoutingStatuses.NOT_RESPONDING\") {\n          var _value6 = 0;\n          this._findMatchingObservationMetrics(queues, \"oUserRoutingStatuses.NOT_RESPONDING\", function (data) {\n            _value6 = _value6 + data.count;\n            returnData.update = data.receivedAt;\n          });\n          returnData.data = _value6;\n          return returnData;\n        } else if (statKey === \"queue_depth\") {\n          var agentsOnQueue = this.getOnQueueUsers(queues);\n          if (agentsOnQueue === 0) {\n            returnData.data = \"-\";\n          } else {\n            var conversationsWaiting = 0;\n            this._findMatchingObservationMetrics(queues, \"oWaiting\", function (data, statMediaType) {\n              if (!mediaType || statMediaType.toLowerCase() === mediaType.toLowerCase() || mediaType.toLowerCase() === \"all\") {\n                conversationsWaiting = conversationsWaiting + data.count;\n              }\n            });\n            if (agentsOnQueue === 0) {\n              returnData.data = \"-\";\n            } else {\n              returnData.data = parseFloat(conversationsWaiting / agentsOnQueue + 0.001).toFixed(2);\n            }\n          }\n          return returnData;\n        } else if (statKey === \"campaign_contactrate\") {\n          returnData.data = \"-\";\n          var statData = this.get(\"realtimeService\").get(\"campaignStats\");\n          if (typeof statData === \"undefined\" || statData === null) {\n            return returnData;\n          }\n          var attempts = 0;\n          var connects = 0;\n          queues.forEach(function (campaignId) {\n            var data = statData[campaignId];\n            if (data && data.contactRate) {\n              attempts = attempts + data.contactRate.attempts;\n              connects = connects + data.contactRate.connects;\n            }\n          });\n          if (attempts > 0) {\n            var contactRate = connects / attempts;\n            returnData.data = parseFloat((contactRate * 100).toFixed(0));\n            returnData.showPercent = true;\n          } else {\n            returnData.data = \"-\";\n          }\n          return returnData;\n        } else if (statKey === \"campaign_progress\") {\n          var progressData = this.get(\"realtimeService\").get(\"campaignProgress\");\n          if (typeof progressData === \"undefined\" || progressData === null) {\n            return returnData;\n          }\n          queues.forEach(function (campaignId) {\n            var data = progressData[campaignId];\n            if (data && data.percentage) {\n              returnData.data = data.percentage;\n            } else {\n              returnData.data = 0;\n            }\n            returnData.showPercent = true;\n          });\n          return returnData;\n        } else if (statKey === \"campaign_idleagents\") {\n          returnData.data = \"0\";\n          var _statData = this.get(\"realtimeService\").get(\"campaignStats\");\n          if (typeof _statData === \"undefined\" || _statData === null) {\n            return returnData;\n          }\n          queues.forEach(function (campaignId) {\n            var data = _statData[campaignId];\n            if (data) {\n              returnData.data = data.idleAgents;\n            }\n          });\n          return returnData;\n        } else if (statKey === \"sla_today\") {\n          var numerator = 0;\n          var denominator = 0;\n          this._findHistoricalMatchingMetrics(queues, \"oServiceLevel\", intervalStart, function (data, queueId, queues, statMediaType) {\n            if (!mediaType || statMediaType.toLowerCase() === mediaType.toLowerCase() || mediaType.toLowerCase() === \"all\") {\n              numerator = numerator + data.numerator;\n              denominator = denominator + data.denominator;\n            }\n          });\n          if (denominator === 0) {\n            returnData.data = \"-\";\n            returnData.showPercent = false;\n          } else {\n            returnData.data = parseFloat((numerator / denominator * 100).toFixed(2));\n            returnData.showPercent = true;\n          }\n          return returnData;\n        } else if (statKey === \"total_conversations\") {\n          var _value7 = 0;\n          this._findHistoricalMatchingMetrics(queues, \"nOffered\", intervalStart, function (data, queueId, queues, statMediaType) {\n            if (!mediaType || statMediaType.toLowerCase() === mediaType.toLowerCase() || mediaType.toLowerCase() === \"all\") {\n              _value7 = _value7 + data.count;\n            } else if (!statMediaType) {\n              debugger;\n            }\n          });\n          returnData.data = _value7;\n          return returnData;\n        } else if (statKey === \"total_conversations_answered\") {\n          var _value8 = 0;\n          this._findHistoricalMatchingMetrics(queues, \"tAnswered\", intervalStart, function (data, queueId, queues, statMediaType) {\n            if (!mediaType || statMediaType.toLowerCase() === mediaType.toLowerCase() || mediaType.toLowerCase() === \"all\") {\n              _value8 = _value8 + data.count;\n            }\n          });\n          returnData.data = _value8;\n          return returnData;\n        }\n        //////////////////////////////\n        else if (statKey === \"average_handle_time\") {\n          var _value9 = 0;\n          var count = 0;\n          this._findHistoricalMatchingMetrics(queues, \"tHandle\", intervalStart, function (data, queueId, queues, statMediaType) {\n            if (!mediaType || statMediaType.toLowerCase() === mediaType.toLowerCase() || mediaType.toLowerCase() === \"all\") {\n              _value9 = _value9 + data.sum;\n              count = count + data.count;\n            }\n          });\n          if (count === 0) {\n            returnData.data = \"-\";\n            returnData.isTime = false;\n          } else {\n            var avg = _value9 / count;\n            returnData.data = this._formatTimeString(avg);\n            returnData.isTime = true;\n          }\n          return returnData;\n        } else if (statKey === \"average_hold_time\") {\n          var _value0 = 0;\n          var _count = 0;\n          this._findHistoricalMatchingMetrics(queues, \"tHeldComplete\", intervalStart, function (data, queueId, queues, statMediaType) {\n            if (!mediaType || statMediaType.toLowerCase() === mediaType.toLowerCase() || mediaType.toLowerCase() === \"all\") {\n              _value0 = _value0 + data.sum;\n              _count = _count + data.count;\n            }\n          });\n          if (_count === 0) {\n            returnData.data = \"-\";\n            returnData.isTime = false;\n          } else {\n            var _avg = _value0 / _count;\n            returnData.data = this._formatTimeString(_avg);\n            returnData.isTime = true;\n          }\n          return returnData;\n        } else if (statKey === \"average_acw_time\") {\n          var _value1 = 0;\n          var _count2 = 0;\n          this._findHistoricalMatchingMetrics(queues, \"tAcw\", intervalStart, function (data, queueId, queues, statMediaType) {\n            if (!mediaType || statMediaType.toLowerCase() === mediaType.toLowerCase() || mediaType.toLowerCase() === \"all\") {\n              _value1 = _value1 + data.sum;\n              _count2 = _count2 + data.count;\n            }\n          });\n          if (_count2 === 0) {\n            returnData.data = \"-\";\n            returnData.isTime = false;\n          } else {\n            var _avg2 = _value1 / _count2;\n            returnData.data = this._formatTimeString(_avg2);\n            returnData.isTime = true;\n          }\n          return returnData;\n        } else if (statKey === \"total_conversations_answered_pct\") {\n          var offered = 0;\n          this._findHistoricalMatchingMetrics(queues, \"nOffered\", intervalStart, function (data, queueId, queues, statMediaType) {\n            if (!mediaType || statMediaType.toLowerCase() === mediaType.toLowerCase() || mediaType.toLowerCase() === \"all\") {\n              offered = offered + data.count;\n            }\n          });\n          var answered = 0;\n          this._findHistoricalMatchingMetrics(queues, \"tAnswered\", intervalStart, function (data, queueId, queues, statMediaType) {\n            if (!mediaType || statMediaType.toLowerCase() === mediaType.toLowerCase() || mediaType.toLowerCase() === \"all\") {\n              answered = answered + data.count;\n            }\n          });\n          if (offered > 0) {\n            var answeredPct = answered / offered;\n            returnData.data = parseFloat((answeredPct * 100).toFixed(0));\n            returnData.showPercent = true;\n          } else {\n            returnData.data = \"-\";\n          }\n          return returnData;\n        } else if (statKey === \"average_wait_time\") {\n          var _value10 = 0;\n          var _count3 = 0;\n          this._findHistoricalMatchingMetrics(queues, \"tAcd\", intervalStart, function (data, queueId, queues, statMediaType) {\n            if (!mediaType || statMediaType.toLowerCase() === mediaType.toLowerCase() || mediaType.toLowerCase() === \"all\") {\n              _value10 = _value10 + data.sum;\n              _count3 = _count3 + data.count;\n            }\n          });\n          if (_count3 === 0) {\n            returnData.data = \"-\";\n            returnData.isTime = false;\n          } else {\n            var _avg3 = _value10 / _count3;\n            returnData.data = this._formatTimeString(_avg3);\n            returnData.isTime = true;\n          }\n          return returnData;\n        } else if (statKey === \"average_speed_of_answer\") {\n          var _value11 = 0;\n          var _count4 = 0;\n          this._findHistoricalMatchingMetrics(queues, \"tAnswered\", intervalStart, function (data, queueId, queues, statMediaType) {\n            if (!mediaType || statMediaType.toLowerCase() === mediaType.toLowerCase() || mediaType.toLowerCase() === \"all\") {\n              _value11 = _value11 + data.sum;\n              _count4 = _count4 + data.count;\n            }\n          });\n          if (_count4 === 0) {\n            returnData.data = \"-\";\n            returnData.isTime = false;\n          } else {\n            var _avg4 = _value11 / _count4;\n            returnData.data = this._formatTimeString(_avg4);\n            returnData.isTime = true;\n          }\n          return returnData;\n        } else if (statKey === \"average_call_time\") {\n          var _value12 = 0;\n          var _count5 = 0;\n          this._findHistoricalMatchingMetrics(queues, \"tTalkComplete\", intervalStart, function (data, queueId, queues, statMediaType) {\n            if (!mediaType || statMediaType.toLowerCase() === mediaType.toLowerCase() || mediaType.toLowerCase() === \"all\") {\n              _value12 = _value12 + data.sum;\n              _count5 = _count5 + data.count;\n            }\n          });\n          var _avg5 = _value12 / _count5;\n          returnData.data = this._formatTimeString(_avg5);\n          returnData.isTime = true;\n          return returnData;\n        } else if (statKey === \"queue_conversation_state_by_mediatype\") {\n          var mediaTypes = [\"voice\", \"chat\", \"email\", \"callback\", \"message\"];\n          var _result = [[\"Media Type\", \"Waiting\", \"Interacting\"]];\n          var counts = {};\n          for (var x = 0; x < mediaTypes.length; x++) {\n            counts[mediaTypes[x]] = {\n              interacting: 0,\n              waiting: 0\n            };\n          }\n          this._findMatchingObservationMetrics(queues, \"oInteracting\", function (data, mediaType) {\n            if (counts[mediaType]) {\n              counts[mediaType].interacting = data.count;\n            }\n          });\n          this._findMatchingObservationMetrics(queues, \"oWaiting\", function (data, mediaType) {\n            if (counts[mediaType]) {\n              counts[mediaType].waiting = data.count;\n            }\n          });\n          for (var _i = 0, _mediaTypes = mediaTypes; _i < _mediaTypes.length; _i++) {\n            var _x = _mediaTypes[_i];\n            if (counts[_x]) {\n              _result.push([_x, counts[_x].waiting, counts[_x].interacting]);\n            }\n          }\n          returnData.data = _result;\n          return returnData;\n        } else if (statKey === \"queue_mediatype\") {\n          var _mediaTypes2 = [\"voice\", \"chat\", \"email\", \"callback\", \"message\"];\n          var _result2 = [[\"Media\", \"Count\"]];\n          var _counts = {};\n          this._findMatchingObservationMetrics(queues, \"oInteracting\", function (data, mediaType) {\n            if (typeof _counts[mediaType] === \"undefined\") {\n              _counts[mediaType] = 0;\n            }\n            _counts[mediaType] = _counts[mediaType] + data.count;\n          });\n          this._findMatchingObservationMetrics(queues, \"oWaiting\", function (data, mediaType) {\n            if (typeof _counts[mediaType] === \"undefined\") {\n              _counts[mediaType] = 0;\n            }\n            _counts[mediaType] = _counts[mediaType] + data.count;\n          });\n          var countKeys = Object.keys(_counts);\n          for (var _x2 = 0; _x2 < countKeys.length; _x2++) {\n            var key = countKeys[_x2];\n            if (_mediaTypes2.indexOf(key) > -1) {\n              _result2.push([key, _counts[key]]);\n            }\n          }\n          returnData.data = _result2;\n          return returnData;\n        } else if (statKey === \"longest_call_waiting\") {\n          var lcw = null;\n          this._findMatchingObservationMetrics(queues, \"oWaitingObservations\", function (data, statMediaType) {\n            if (!mediaType || statMediaType.toLowerCase() === mediaType.toLowerCase() || mediaType.toLowerCase() === \"all\") {\n              if (!data || data.length === 0) {\n                return;\n              }\n              data.forEach(function (observation) {\n                var time = moment(observation.observationDate);\n                if (lcw === null || lcw > time) {\n                  lcw = time;\n                }\n              });\n            }\n          });\n          returnData.isTimeSince = true;\n          returnData.isTime = true;\n          returnData.data = lcw;\n          return returnData;\n        } else if (statKey === \"calls_waiting_list\") {\n          var calls = [];\n          this._findMatchingObservationMetrics(queues, \"oWaitingObservations\", function (data) {\n            if (!data || data.length === 0) {\n              return;\n            }\n            data.forEach(function (observation) {\n              calls.push(observation);\n            });\n          });\n          returnData.data = calls;\n          return returnData;\n        } else if (statKey === \"agent_answered\") {\n          var _value13 = 0;\n          this._findHistoricalAgentMatchingMetrics(agentId, queues, \"tAnswered\", function (data) {\n            _value13 = _value13 + data.count;\n          });\n          returnData.data = _value13;\n          return returnData;\n        } else if (statKey === \"agent_average_handle\") {\n          var _value14 = 0;\n          var _count6 = 0;\n          this._findHistoricalAgentMatchingMetrics(agentId, queues, \"tHandle\", function (data) {\n            _value14 = _value14 + data.sum;\n            _count6 = _count6 + data.count;\n          });\n          var _avg6 = _value14 / _count6;\n          returnData.data = this._formatTimeString(_avg6);\n          returnData.isTime = true;\n          return returnData;\n        } else if (statKey === \"agent_average_acw\") {\n          var _value15 = 0;\n          var _count7 = 0;\n          this._findHistoricalAgentMatchingMetrics(agentId, queues, \"tAcw\", function (data) {\n            _value15 = _value15 + data.sum;\n            _count7 = _count7 + data.count;\n          });\n          var _avg7 = 0;\n          if (_count7 > 0) {\n            _avg7 = _value15 / _count7;\n          }\n          returnData.data = this._formatTimeString(_avg7);\n          returnData.isTime = true;\n          return returnData;\n        } else if (statKey === \"agent_avg_hold_time\") {\n          var _value16 = 0;\n          var _count8 = 0;\n          this._findHistoricalAgentMatchingMetrics(agentId, queues, \"tHeldComplete\", function (data) {\n            _value16 = _value16 + data.sum;\n            _count8 = _count8 + data.count;\n          });\n          var _avg8 = 0;\n          if (_count8 > 0) {\n            _avg8 = _value16 / _count8;\n          }\n          returnData.data = this._formatTimeString(_avg8);\n          returnData.isTime = true;\n          return returnData;\n        } else if (statKey === \"agent_hold_time\") {\n          var _value17 = 0;\n          this._findHistoricalAgentMatchingMetrics(agentId, queues, \"tHeldComplete\", function (data) {\n            _value17 = _value17 + data.sum;\n          });\n          returnData.data = this._formatTimeString(_value17);\n          return returnData;\n        } else if (statKey === \"agent_avg_talk_time\") {\n          var _value18 = 0;\n          var _count9 = 0;\n          this._findHistoricalAgentMatchingMetrics(agentId, queues, \"tTalkComplete\", function (data) {\n            _value18 = _value18 + data.sum;\n            _count9 = _count9 + data.count;\n          });\n          var _avg9 = 0;\n          if (_count9 > 0) {\n            _avg9 = _value18 / _count9;\n          }\n          returnData.data = this._formatTimeString(_avg9);\n          returnData.isTime = true;\n          return returnData;\n        } else if (statKey === \"agent_talk_time\") {\n          var _value19 = 0;\n          this._findHistoricalAgentMatchingMetrics(agentId, queues, \"tTalkComplete\", function (data) {\n            _value19 = _value19 + data.sum;\n          });\n          returnData.data = this._formatTimeString(_value19);\n          return returnData;\n        } else if (statKey === \"agent_transfer\") {\n          var _value20 = 0;\n          this._findHistoricalAgentMatchingMetrics(agentId, queues, \"nTransferred\", function (data) {\n            _value20 = _value20 + data.count;\n          });\n          returnData.data = _value20;\n          return returnData;\n        } else if (statKey === \"outbound_calls\") {\n          var _value21 = 0;\n          this._findHistoricalAgentMatchingMetrics(agentId, queues, \"nOutbound\", function (data) {\n            _value21 = _value21 + data.count;\n          });\n          returnData.data = _value21;\n          return returnData;\n        } else {\n          var _value22 = 0;\n          this._findMatchingObservationMetrics(queues, statKey, function (data) {\n            _value22 = _value22 + data.count;\n          });\n          returnData.data = _value22;\n          return returnData;\n        }\n      } catch (ex) {\n        Ember.Logger.error(ex);\n        return returnData;\n      }\n      //  });\n    }\n  });\n});","define(\"insights-web/services/status-service\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = Ember.Service.extend({\n    purecloud: Ember.inject.service(),\n    init: function init() {\n      var _this = this;\n      this._super.apply(this, arguments);\n      this.get(\"purecloud\").getRequest(\"/api/v2/presence/definitions\").then(function (definations) {\n        var defMap = {};\n        definations.entities.forEach(function (e) {\n          defMap[e.id] = e;\n        });\n        _this.set(\"definitions\", defMap);\n      }).catch(function () {\n        _this.get(\"purecloud\").getPresenceApi().getPresencedefinitions(1, 250).then(function (definations) {\n          var defMap = {};\n          definations.entities.forEach(function (e) {\n            defMap[e.id] = e;\n          });\n          _this.set(\"definitions\", defMap);\n        });\n      });\n      this.get(\"purecloud\").getPresenceApi().getSystempresences().then(function (definations) {\n        var defMap = {};\n        definations.entities.forEach(function (e) {\n          defMap[e.name] = e.id;\n        });\n        _this.set(\"routingdefinitions\", defMap);\n      });\n    },\n    getStatusLabel: function getStatusLabel(id) {\n      var definitions = this.get('definitions');\n      if (!definitions) {\n        return null;\n      }\n      var presenceDefinition = definitions[id];\n      if (!presenceDefinition || !presenceDefinition.languageLabels) {\n        return null;\n      }\n      var browserLanguages = navigator.languages;\n      for (var x = 0; x < browserLanguages.length; x++) {\n        var language = browserLanguages[x].replace(\"-\", \"_\");\n        if (presenceDefinition.languageLabels[language]) {\n          return presenceDefinition.languageLabels[language];\n        }\n      }\n      return null;\n    },\n    getRoutingStatusLabel: function getRoutingStatusLabel(routingStatus) {\n      var routingDefinitions = this.get('routingdefinitions');\n      if (routingDefinitions) {\n        var routingDefinitionId = routingDefinitions[routingStatus];\n        var label = this.getStatusLabel(routingDefinitionId);\n        if (label) {\n          return label;\n        }\n      }\n      var value = routingStatus.toLowerCase();\n      value = value[0].toUpperCase() + value.substring(1);\n      value = value.replace(\"_\", \" \");\n      return value;\n    }\n  });\n});","define(\"insights-web/services/storage-service\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = Ember.Service.extend(Ember.Evented, {\n    localStorageSet: function localStorageSet(key, value) {\n      try {\n        if (typeof window.localStorage !== 'undefined') {\n          window.localStorage[key] = JSON.stringify(value);\n        }\n      } catch (ex) {\n        Ember.Logger.warn(ex);\n      }\n    },\n    localStorageGet: function localStorageGet(key) {\n      try {\n        if (typeof window.localStorage !== 'undefined') {\n          return JSON.parse(window.localStorage[key]);\n        }\n      } catch (ex) {\n        // empty\n      }\n      return null;\n    },\n    sessionStorageSet: function sessionStorageSet(key, value) {\n      try {\n        if (typeof window.sessionStorage !== 'undefined') {\n          window.sessionStorage[key] = JSON.stringify(value);\n        }\n      } catch (ex) {\n        Ember.Logger.warn(ex);\n      }\n    },\n    sessionStorageGet: function sessionStorageGet(key) {\n      try {\n        if (typeof window.sessionStorage !== 'undefined') {\n          return JSON.parse(window.sessionStorage[key]);\n        }\n      } catch (ex) {\n        // empty\n      }\n      return null;\n    }\n  });\n});","define(\"insights-web/services/store\", [\"exports\", \"ember-data/store\"], function (_exports, _store) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _store.default;\n    }\n  });\n});","define(\"insights-web/services/text-measurer\", [\"exports\", \"ember-text-measurer/services/text-measurer\"], function (_exports, _textMeasurer) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _textMeasurer.default;\n    }\n  });\n});","define(\"insights-web/services/time-diff\", [\"exports\", \"@babel/runtime/helpers/esm/initializerDefineProperty\", \"@babel/runtime/helpers/esm/classCallCheck\", \"@babel/runtime/helpers/esm/createClass\", \"@babel/runtime/helpers/esm/possibleConstructorReturn\", \"@babel/runtime/helpers/esm/getPrototypeOf\", \"@babel/runtime/helpers/esm/get\", \"@babel/runtime/helpers/esm/inherits\", \"@babel/runtime/helpers/esm/defineProperty\", \"@babel/runtime/helpers/esm/applyDecoratedDescriptor\", \"@babel/runtime/helpers/esm/initializerWarningHelper\"], function (_exports, _initializerDefineProperty2, _classCallCheck2, _createClass2, _possibleConstructorReturn2, _getPrototypeOf2, _get2, _inherits2, _defineProperty2, _applyDecoratedDescriptor2, _initializerWarningHelper2) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _dec, _class, _descriptor;\n  function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }\n  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\n  function _superPropGet(t, o, e, r) { var p = (0, _get2.default)((0, _getPrototypeOf2.default)(1 & r ? t.prototype : t), o, e); return 2 & r && \"function\" == typeof p ? function (t) { return p.apply(e, t); } : p; }\n  var TimeDiffService = _exports.default = (_dec = Ember.inject.service(\"purecloud\"), _class = /*#__PURE__*/function (_Ember$Service) {\n    function TimeDiffService() {\n      var _this;\n      (0, _classCallCheck2.default)(this, TimeDiffService);\n      for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n        args[_key] = arguments[_key];\n      }\n      _this = _callSuper(this, TimeDiffService, [].concat(args));\n      (0, _initializerDefineProperty2.default)(_this, \"purecloud\", _descriptor, _this);\n      (0, _defineProperty2.default)(_this, \"skewInformation\", {\n        skewOffSetMs: 0,\n        serverTimet1: null,\n        clientTimet3: null,\n        clientTimet0: null,\n        clientSystemTimeSuspect: null\n      });\n      return _this;\n    }\n    (0, _inherits2.default)(TimeDiffService, _Ember$Service);\n    return (0, _createClass2.default)(TimeDiffService, [{\n      key: \"init\",\n      value: function init() {\n        var _this2 = this;\n        _superPropGet(TimeDiffService, \"init\", this, 3)(arguments);\n        var CLIENT_REQUEST_TIME_DIFF = 30000; //30 sec in milliseconds; Represents the acceptable time gap on the client between t3 and t0\n\n        var t0 = new Date();\n        this.purecloud.getRequest(\"/api/v2/date\").then(function (date) {\n          var t1 = new Date(date.currentDate);\n          var t2 = t1;\n          var t3 = new Date();\n          var clientSystemTimeSuspect = Math.abs(t3 - t0) >= CLIENT_REQUEST_TIME_DIFF;\n          if (clientSystemTimeSuspect) {\n            _this2.skewInformation.skewOffSetMs = t2 - t3;\n          } else {\n            _this2.skewInformation.skewOffSetMs = (t1 - t0 + (t2 - t3)) / 2; //Offset algorithm:  http://en.wikipedia.org/wiki/Network_Time_Protocol#Clock_synchronization_algorithm\n          }\n          _this2.skewInformation.clientSystemTimeSuspect = clientSystemTimeSuspect;\n          _this2.skewInformation.serverTimet1 = t1;\n          _this2.skewInformation.clientTimet3 = t3;\n          _this2.skewInformation.clientTimet0 = t0;\n        }).catch(function (err) {\n          console.error(err);\n          _this2.skewInformation.error = err;\n        });\n      }\n\n      //takes in a string or moment for a date from purecloud and adjusts it for the clock skew on the local machine\n    }, {\n      key: \"skewAdjustedTime\",\n      value: function skewAdjustedTime(start) {\n        var startMoment = start;\n        if (start.__proto__ == Date.prototype) {\n          startMoment = moment(start.toISOString());\n        }\n        if (typeof startMoment === \"string\") {\n          startMoment = moment.utc(start);\n        }\n        if (!startMoment) {\n          return startMoment;\n        }\n        if (!startMoment.add && typeof startMoment === \"number\") {\n          startMoment = moment(startMoment);\n        }\n        return startMoment.add(this.skewInformation.skewOffSetMs, \"ms\");\n      }\n    }]);\n  }(Ember.Service), _descriptor = (0, _applyDecoratedDescriptor2.default)(_class.prototype, \"purecloud\", [_dec], {\n    configurable: true,\n    enumerable: true,\n    writable: true,\n    initializer: null\n  }), _class);\n});","define(\"insights-web/services/widget-state-service\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = Ember.Service.extend({\n    _data: {},\n    getState: function getState(dashboardIndex, widgetIndex) {\n      var data = this.get(\"_data\");\n      var key = \"d\".concat(dashboardIndex, \"w\").concat(widgetIndex);\n      if (typeof data[key] !== \"undefined\") {\n        return data[key];\n      }\n      return null;\n    },\n    setState: function setState(dashboardIndex, widgetIndex, data) {\n      var key = \"d\".concat(dashboardIndex, \"w\").concat(widgetIndex);\n      Ember.set(this, \"_data.\".concat(key), data);\n    },\n    clear: function clear() {\n      this.set(\"_data\", {});\n    }\n  });\n});","define(\"insights-web/templates/application\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = Ember.HTMLBars.template({\n    \"id\": \"8VEdvEKv\",\n    \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[2,\\\"\\\\n\\\"],[6,[37,3],[[30,[36,9],[[35,8],true],null]],null,[[\\\"default\\\",\\\"else\\\"],[{\\\"statements\\\":[[10,\\\"div\\\"],[14,0,\\\"loading-background\\\"],[12],[2,\\\"\\\\n  \\\"],[10,\\\"div\\\"],[14,0,\\\"loading-content\\\"],[12],[2,\\\"\\\\n    \\\"],[10,\\\"i\\\"],[14,0,\\\"fa fa-spinner fa-pulse fa-2x fa-fw\\\"],[14,5,\\\"float:left\\\"],[12],[13],[2,\\\"\\\\n    \\\"],[10,\\\"div\\\"],[14,0,\\\"message\\\"],[12],[2,\\\"\\\\n      Loading\\\\n    \\\"],[13],[2,\\\"\\\\n  \\\"],[13],[2,\\\"\\\\n\\\"],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[10,\\\"div\\\"],[15,0,[31,[\\\"app \\\",[30,[36,3],[[35,2],\\\"embedded\\\",\\\"notembedded\\\"],null]]]],[12],[2,\\\"\\\\n  \\\"],[1,[30,[36,4],null,[[\\\"position\\\"],[\\\"top-right\\\"]]]],[2,\\\"\\\\n\\\"],[6,[37,5],[[35,2]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\"  \\\"],[10,\\\"div\\\"],[14,1,\\\"header\\\"],[12],[2,\\\"\\\\n  \\\"],[1,[30,[36,1],null,[[\\\"organizationId\\\"],[[35,0]]]]],[2,\\\"\\\\n  \\\"],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]]],[2,\\\"  \\\"],[10,\\\"div\\\"],[14,0,\\\"main-content\\\"],[12],[2,\\\"\\\\n    \\\"],[1,[30,[36,7],[[30,[36,6],null,null]],null]],[2,\\\"\\\\n  \\\"],[13],[2,\\\"\\\\n\\\"],[6,[37,3],[[35,2]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\"  \\\"],[10,\\\"div\\\"],[14,0,\\\"powered-by\\\"],[12],[2,\\\"\\\\n\\\\n    \\\"],[10,\\\"span\\\"],[14,0,\\\"text-muted\\\"],[12],[2,\\\"Powered by\\\"],[13],[10,\\\"img\\\"],[14,\\\"src\\\",\\\"/images/pureinsights_alpha.png\\\"],[12],[13],[2,\\\"\\\\n  \\\"],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]]],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]]]],\\\"hasEval\\\":false,\\\"upvars\\\":[\\\"organizationId\\\",\\\"nav-bar\\\",\\\"isEmbedded\\\",\\\"if\\\",\\\"notification-container\\\",\\\"unless\\\",\\\"-outlet\\\",\\\"component\\\",\\\"isLoading\\\",\\\"eq\\\"]}\",\n    \"meta\": {\n      \"moduleName\": \"insights-web/templates/application.hbs\"\n    }\n  });\n});","define(\"insights-web/templates/call-flow\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = Ember.HTMLBars.template({\n    \"id\": \"QEPZopWq\",\n    \"block\": \"{\\\"symbols\\\":[\\\"destination\\\",\\\"converation\\\"],\\\"statements\\\":[[10,\\\"div\\\"],[14,0,\\\"container query\\\"],[12],[2,\\\"\\\\n  \\\"],[10,\\\"div\\\"],[14,0,\\\"row\\\"],[12],[2,\\\"\\\\n    \\\"],[10,\\\"p\\\"],[14,0,\\\"text-muted\\\"],[12],[2,\\\"The call flow query will provide a visualization of how calls flow through PureCloud. They can illustrate when calls move between queues or back into an IVR. \\\"],[13],[2,\\\"\\\\n\\\\n\\\\n  \\\"],[13],[2,\\\"\\\\n  \\\"],[1,[30,[36,10],null,[[\\\"value\\\"],[[35,9]]]]],[2,\\\"\\\\n  \\\"],[1,[30,[36,12],null,[[\\\"queueIds\\\"],[[35,11]]]]],[2,\\\"\\\\n\\\\n  \\\"],[10,\\\"div\\\"],[14,0,\\\"row\\\"],[12],[2,\\\"\\\\n\\\"],[6,[37,14],[[35,13]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\"    \\\"],[10,\\\"div\\\"],[14,0,\\\"col-md-1\\\"],[12],[2,\\\"\\\\n      \\\"],[11,\\\"button\\\"],[24,0,\\\"btn btn-primary\\\"],[4,[38,8],[[32,0],\\\"executeQuery\\\"],null],[12],[2,\\\"Execute\\\"],[13],[2,\\\"\\\\n    \\\"],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]]],[2,\\\"    \\\"],[10,\\\"div\\\"],[14,0,\\\"col-md-2\\\"],[12],[2,\\\"\\\\n\\\\n\\\"],[6,[37,15],[[35,13]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\"      \\\"],[10,\\\"i\\\"],[14,0,\\\"fa fa-spinner fa-pulse fa-3x fa-fw\\\"],[14,5,\\\"float:left\\\"],[12],[13],[2,\\\"\\\\n      \\\"],[10,\\\"div\\\"],[14,0,\\\"message\\\"],[12],[2,\\\"\\\\n        Query in Progress\\\\n      \\\"],[13],[2,\\\"\\\\n\\\\n\\\"]],\\\"parameters\\\":[]}]]],[2,\\\"    \\\"],[13],[2,\\\"\\\\n  \\\"],[13],[2,\\\"\\\\n  \\\"],[10,\\\"div\\\"],[14,0,\\\"row\\\"],[14,5,\\\"display:none\\\"],[12],[2,\\\"\\\\n    \\\"],[10,\\\"div\\\"],[14,0,\\\"col-md-12\\\"],[12],[2,\\\"\\\\n      \\\"],[10,\\\"div\\\"],[14,1,\\\"queryError\\\"],[14,0,\\\"alert alert-danger alert-dismissible\\\"],[14,\\\"role\\\",\\\"alert\\\"],[12],[2,\\\"\\\\n        \\\"],[10,\\\"div\\\"],[14,1,\\\"errorMessage\\\"],[12],[2,\\\"An unknown error occured querying PureCloud\\\"],[13],[2,\\\"\\\\n      \\\"],[13],[2,\\\"\\\\n    \\\"],[13],[2,\\\"\\\\n  \\\"],[13],[2,\\\"\\\\n\\\\n\\\"],[13],[2,\\\"\\\\n\\\\n\\\\n\\\\n\\\"],[6,[37,15],[[35,16]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[10,\\\"div\\\"],[14,0,\\\"container\\\"],[12],[2,\\\"\\\\n  \\\"],[10,\\\"div\\\"],[14,0,\\\"row\\\"],[12],[2,\\\"\\\\n\\\\n    \\\"],[10,\\\"div\\\"],[14,0,\\\"col-md-12\\\"],[12],[2,\\\"\\\\n      \\\"],[1,[30,[36,7],null,[[\\\"data\\\",\\\"options\\\",\\\"chartDidRender\\\"],[[35,6],[35,5],\\\"handleChartLoaded\\\"]]]],[2,\\\"\\\\n    \\\"],[13],[2,\\\"\\\\n  \\\"],[13],[2,\\\"\\\\n\\\"],[13],[2,\\\"\\\\n\\\\n\\\"]],\\\"parameters\\\":[]}]]],[2,\\\"\\\\n\\\\n\\\"],[6,[37,15],[[35,3]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[10,\\\"div\\\"],[14,0,\\\"container\\\"],[12],[2,\\\"\\\\n  \\\"],[10,\\\"div\\\"],[14,0,\\\"row\\\"],[12],[2,\\\"\\\\n\\\\n    \\\"],[10,\\\"div\\\"],[14,0,\\\"col-md-12\\\"],[12],[2,\\\"\\\\n      \\\"],[10,\\\"h2\\\"],[12],[2,\\\"From \\\"],[1,[34,3]],[13],[2,\\\"\\\\n    \\\"],[13],[2,\\\"\\\\n  \\\"],[13],[2,\\\"\\\\n\\\\n\\\"],[6,[37,2],[[30,[36,1],[[30,[36,1],[[35,4]],null]],null]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[10,\\\"div\\\"],[14,0,\\\"row\\\"],[12],[2,\\\"\\\\n  \\\"],[10,\\\"div\\\"],[14,0,\\\"col-md-12\\\"],[12],[2,\\\"\\\\n    \\\"],[10,\\\"b\\\"],[12],[2,\\\"To \\\"],[1,[32,1,[\\\"destination\\\"]]],[13],[2,\\\"\\\\n  \\\"],[13],[2,\\\"\\\\n\\\"],[13],[2,\\\"\\\\n\\\\n\\\"],[6,[37,2],[[30,[36,1],[[30,[36,1],[[32,1,[\\\"conversations\\\"]]],null]],null]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[10,\\\"div\\\"],[14,0,\\\"row\\\"],[12],[2,\\\"\\\\n  \\\"],[10,\\\"div\\\"],[14,0,\\\"col-md-offset-1 col-md-12\\\"],[12],[2,\\\"\\\\n    \\\"],[6,[37,0],null,[[\\\"conversationId\\\"],[[32,2]]],[[\\\"default\\\"],[{\\\"statements\\\":[[1,[32,2]]],\\\"parameters\\\":[]}]]],[2,\\\"\\\\n  \\\"],[13],[2,\\\"\\\\n\\\"],[13],[2,\\\"\\\\n\\\\n\\\"]],\\\"parameters\\\":[2]}]]],[2,\\\"\\\\n\\\\n\\\"]],\\\"parameters\\\":[1]}]]],[13],[2,\\\"\\\\n\\\\n\\\"]],\\\"parameters\\\":[]}]]]],\\\"hasEval\\\":false,\\\"upvars\\\":[\\\"call-detail-link\\\",\\\"-track-array\\\",\\\"each\\\",\\\"selectedNode\\\",\\\"callsOut\\\",\\\"options\\\",\\\"callFlowData\\\",\\\"sankey-diagram\\\",\\\"action\\\",\\\"interval\\\",\\\"time-range\\\",\\\"queueIds\\\",\\\"queue-selector\\\",\\\"queryInProgress\\\",\\\"unless\\\",\\\"if\\\",\\\"hasResults\\\"]}\",\n    \"meta\": {\n      \"moduleName\": \"insights-web/templates/call-flow.hbs\"\n    }\n  });\n});","define(\"insights-web/templates/client-app-install\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = Ember.HTMLBars.template({\n    \"id\": \"HVls11lJ\",\n    \"block\": \"{\\\"symbols\\\":[\\\"group\\\"],\\\"statements\\\":[[10,\\\"div\\\"],[14,0,\\\"container\\\"],[12],[2,\\\"\\\\n    \\\"],[10,\\\"div\\\"],[14,0,\\\"row\\\"],[12],[2,\\\"\\\\n        \\\"],[10,\\\"div\\\"],[14,0,\\\"col-md-12\\\"],[12],[2,\\\"\\\\n            This process will take you through installing the PureInsights dashboard in the PureCloud client.\\\\n        \\\"],[13],[2,\\\"\\\\n    \\\"],[13],[2,\\\"\\\\n\\\\n\\\"],[6,[37,7],[[35,8]],null,[[\\\"default\\\",\\\"else\\\"],[{\\\"statements\\\":[[2,\\\"    \\\"],[10,\\\"div\\\"],[14,0,\\\"row\\\"],[12],[2,\\\"\\\\n        \\\"],[10,\\\"div\\\"],[14,0,\\\"col-md-12\\\"],[12],[2,\\\"\\\\n            \\\"],[10,\\\"label\\\"],[12],[2,\\\"Group Access\\\"],[13],[2,\\\"\\\\n        \\\"],[13],[2,\\\"\\\\n    \\\"],[13],[2,\\\"\\\\n    \\\"],[10,\\\"div\\\"],[14,0,\\\"row\\\"],[12],[2,\\\"\\\\n        \\\"],[10,\\\"div\\\"],[14,0,\\\"col-md-12\\\"],[12],[2,\\\"\\\\n\\\\n            \\\"],[10,\\\"div\\\"],[14,0,\\\"text-muted\\\"],[12],[2,\\\"\\\\n                Select groups to grant access to this application. The groups specified here will have access to the PureCloud dashboard.\\\\n\\\\n            \\\"],[13],[2,\\\"\\\\n\\\\n        \\\"],[13],[2,\\\"\\\\n    \\\"],[13],[2,\\\"\\\\n    \\\"],[10,\\\"div\\\"],[14,0,\\\"row\\\"],[12],[2,\\\"\\\\n        \\\"],[10,\\\"div\\\"],[14,0,\\\"col-md-12\\\"],[12],[2,\\\"\\\\n\\\\n\\\"],[6,[37,5],null,[[\\\"searchEnabled\\\",\\\"search\\\",\\\"selected\\\",\\\"onChange\\\"],[true,[30,[36,2],[[32,0],\\\"searchTask\\\"],null],[35,3],[30,[36,2],[[32,0],[30,[36,4],[[35,3]],null]],null]]],[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\"                \\\"],[1,[32,1,[\\\"name\\\"]]],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[1]}]]],[2,\\\"\\\\n\\\\n            \\\"],[13],[2,\\\"\\\\n\\\\n        \\\"],[13],[2,\\\"\\\\n\\\\n\\\"],[6,[37,7],[[35,6]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\"        \\\"],[11,\\\"button\\\"],[24,0,\\\"btn btn-primary\\\"],[4,[38,2],[[32,0],\\\"install\\\"],null],[12],[2,\\\"Install\\\"],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]]],[2,\\\"\\\\n\\\"],[6,[37,7],[[35,1]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\"        \\\"],[10,\\\"div\\\"],[14,0,\\\"text-success\\\"],[12],[2,\\\"\\\\n            \\\"],[1,[34,1]],[2,\\\"\\\\n        \\\"],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]]],[2,\\\"\\\\n\\\"],[6,[37,7],[[35,0]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\"        \\\"],[10,\\\"div\\\"],[14,0,\\\"text-danger\\\"],[12],[2,\\\"\\\\n            \\\"],[1,[34,0]],[2,\\\"\\\\n        \\\"],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]]],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[2,\\\"        \\\"],[10,\\\"div\\\"],[14,0,\\\"text-danger\\\"],[12],[2,\\\"\\\\n            You do not have permissions to install client apps.\\\\n        \\\"],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]]],[2,\\\"    \\\"],[13],[2,\\\"\\\\n\\\"]],\\\"hasEval\\\":false,\\\"upvars\\\":[\\\"error\\\",\\\"success\\\",\\\"action\\\",\\\"groups\\\",\\\"mut\\\",\\\"power-select-multiple\\\",\\\"canInstall\\\",\\\"if\\\",\\\"hasPermissions\\\"]}\",\n    \"meta\": {\n      \"moduleName\": \"insights-web/templates/client-app-install.hbs\"\n    }\n  });\n});","define(\"insights-web/templates/client-app\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = Ember.HTMLBars.template({\n    \"id\": \"fekser37\",\n    \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[1,[34,0]],[2,\\\"\\\\n\\\"],[1,[30,[36,2],[[30,[36,1],null,null]],null]],[2,\\\"\\\\n\\\"]],\\\"hasEval\\\":false,\\\"upvars\\\":[\\\"realtime-grid\\\",\\\"-outlet\\\",\\\"component\\\"]}\",\n    \"meta\": {\n      \"moduleName\": \"insights-web/templates/client-app.hbs\"\n    }\n  });\n});","define(\"insights-web/templates/components/agent-stats\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = Ember.HTMLBars.template({\n    \"id\": \"QEmApd6H\",\n    \"block\": \"{\\\"symbols\\\":[\\\"r\\\",\\\"rowindex\\\",\\\"c\\\",\\\"index\\\",\\\"value\\\",\\\"index\\\"],\\\"statements\\\":[[10,\\\"div\\\"],[14,0,\\\"scroll-table-container\\\"],[12],[2,\\\"\\\\n\\\"],[10,\\\"table\\\"],[14,0,\\\"table table-striped table-condensed stat-table\\\"],[15,5,[31,[\\\"font-size:\\\",[34,3,[\\\"fontsize\\\"]],\\\"px\\\"]]],[12],[2,\\\"\\\\n\\\"],[10,\\\"tr\\\"],[12],[2,\\\"\\\\n    \\\\n\\\"],[6,[37,2],[[30,[36,1],[[30,[36,1],[[35,4]],null]],null]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[10,\\\"th\\\"],[12],[2,\\\"\\\\n\\\"],[1,[32,5]],[2,\\\"\\\\n\\\"],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[5,6]}]]],[13],[2,\\\"\\\\n\\\"],[6,[37,2],[[30,[36,1],[[30,[36,1],[[35,5]],null]],null]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[10,\\\"tr\\\"],[12],[2,\\\"\\\\n\\\"],[6,[37,2],[[30,[36,1],[[30,[36,1],[[32,1,[\\\"stats\\\"]]],null]],null]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\"    \\\"],[10,\\\"td\\\"],[15,0,[32,3,[\\\"cssClass\\\"]]],[15,5,[31,[\\\"border-left-color:\\\",[32,3,[\\\"customColor\\\"]]]]],[12],[2,\\\"\\\\n\\\"],[6,[37,0],[[32,3,[\\\"image\\\"]]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\"        \\\"],[10,\\\"img\\\"],[14,\\\"height\\\",\\\"40px\\\"],[14,\\\"width\\\",\\\"40px\\\"],[14,5,\\\"margin-top:2px;margin-bottom:2px; border-radius:50%\\\"],[15,\\\"src\\\",[32,3,[\\\"image\\\"]]],[12],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]]],[2,\\\"        \\\"],[1,[32,3,[\\\"value\\\"]]],[2,\\\"\\\\n    \\\"],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[3,4]}]]],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[1,2]}]]],[13],[2,\\\"\\\\n\\\"],[1,[34,6]],[2,\\\"\\\\n\\\"],[13],[2,\\\"\\\\n\\\"]],\\\"hasEval\\\":false,\\\"upvars\\\":[\\\"if\\\",\\\"-track-array\\\",\\\"each\\\",\\\"configuration\\\",\\\"headers\\\",\\\"data\\\",\\\"errorMessage\\\"]}\",\n    \"meta\": {\n      \"moduleName\": \"insights-web/templates/components/agent-stats.hbs\"\n    }\n  });\n});","define(\"insights-web/templates/components/basic-dropdown-content\", [\"exports\", \"ember-basic-dropdown/templates/components/basic-dropdown-content\"], function (_exports, _basicDropdownContent) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _basicDropdownContent.default;\n    }\n  });\n});","define(\"insights-web/templates/components/basic-dropdown-trigger\", [\"exports\", \"ember-basic-dropdown/templates/components/basic-dropdown-trigger\"], function (_exports, _basicDropdownTrigger) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _basicDropdownTrigger.default;\n    }\n  });\n});","define(\"insights-web/templates/components/basic-dropdown\", [\"exports\", \"ember-basic-dropdown/templates/components/basic-dropdown\"], function (_exports, _basicDropdown) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _basicDropdown.default;\n    }\n  });\n});","define(\"insights-web/templates/components/call-detail-link\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = Ember.HTMLBars.template({\n    \"id\": \"tmXd8r+q\",\n    \"block\": \"{\\\"symbols\\\":[\\\"&default\\\"],\\\"statements\\\":[[10,\\\"a\\\"],[15,6,[31,[\\\"https://apps.mypurecloud.com/directory/#/engage/admin/interactions/\\\",[34,0]]]],[14,\\\"targe\\\",\\\"_blank\\\"],[12],[18,1,null],[13],[2,\\\"\\\\n\\\"]],\\\"hasEval\\\":false,\\\"upvars\\\":[\\\"conversationId\\\"]}\",\n    \"meta\": {\n      \"moduleName\": \"insights-web/templates/components/call-detail-link.hbs\"\n    }\n  });\n});","define(\"insights-web/templates/components/call-detail-query\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = Ember.HTMLBars.template({\n    \"id\": \"bLbxgc+n\",\n    \"block\": \"{\\\"symbols\\\":[\\\"modal\\\",\\\"footer\\\",\\\"page\\\",\\\"column\\\",\\\"column\\\",\\\"item\\\",\\\"item\\\"],\\\"statements\\\":[[2,\\\"\\\\n\\\"],[10,\\\"div\\\"],[14,5,\\\"display:flex;align-items: flex-start; \\\"],[12],[2,\\\"\\\\n\\\\n\\\\n\\\"],[6,[37,8],[[35,33]],null,[[\\\"default\\\",\\\"else\\\"],[{\\\"statements\\\":[[10,\\\"div\\\"],[14,0,\\\"query-vertical-panel query-params inline\\\"],[12],[2,\\\"\\\\n  \\\"],[10,\\\"div\\\"],[14,0,\\\"extractor-heading\\\"],[12],[2,\\\"\\\\n      \\\"],[10,\\\"label\\\"],[12],[2,\\\"Call Detail Extractor\\\"],[13],[2,\\\"\\\\n      \\\"],[11,\\\"button\\\"],[24,0,\\\"btn btn-xs btn-default pull-right\\\"],[4,[38,0],[[32,0],\\\"toggleQueryPane\\\"],null],[12],[2,\\\"\\\\n        \\\"],[10,\\\"i\\\"],[14,0,\\\"fa fa-angle-double-left\\\"],[14,\\\"aria-hidden\\\",\\\"true\\\"],[12],[13],[2,\\\"\\\\n\\\\n      \\\"],[13],[2,\\\"\\\\n  \\\"],[13],[2,\\\"\\\\n  \\\"],[10,\\\"div\\\"],[14,0,\\\"query-panel-content\\\"],[12],[2,\\\"\\\\n  \\\"],[1,[30,[36,26],null,[[\\\"value\\\"],[[35,25]]]]],[2,\\\"\\\\n\\\\n  \\\"],[1,[30,[36,28],null,[[\\\"selectedQueueIds\\\"],[[35,27]]]]],[2,\\\"\\\\n  \\\"],[1,[30,[36,30],null,[[\\\"dnisValue\\\",\\\"title\\\"],[[35,29],\\\"DNIS\\\"]]]],[2,\\\"\\\\n  \\\"],[1,[30,[36,30],null,[[\\\"dnisValue\\\",\\\"title\\\"],[[35,31],\\\"ANI\\\"]]]],[2,\\\"\\\\n\\\"],[6,[37,18],[[35,32]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\"  \\\"],[10,\\\"div\\\"],[14,0,\\\"col-md-1\\\"],[12],[2,\\\"\\\\n    \\\"],[11,\\\"button\\\"],[24,0,\\\"btn btn-primary\\\"],[4,[38,0],[[32,0],\\\"executeQuery\\\"],null],[12],[2,\\\"Execute\\\"],[13],[2,\\\"\\\\n  \\\"],[13],[2,\\\"\\\\n\\\\n\\\"]],\\\"parameters\\\":[]}]]],[13],[2,\\\"\\\\n\\\"],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[11,\\\"div\\\"],[24,0,\\\"query-vertical-panel query-params  inline query-collapsed\\\"],[4,[38,0],[[32,0],\\\"toggleQueryPane\\\"],null],[12],[2,\\\"\\\\n  \\\"],[10,\\\"i\\\"],[14,0,\\\"fa fa-angle-double-right\\\"],[14,\\\"aria-hidden\\\",\\\"true\\\"],[12],[13],[2,\\\"\\\\n\\\\n\\\"],[10,\\\"div\\\"],[12],[2,\\\"Query\\\"],[13],[2,\\\"\\\\n\\\\n\\\\n\\\"],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]]],[6,[37,8],[[35,32]],null,[[\\\"default\\\",\\\"else\\\"],[{\\\"statements\\\":[[2,\\\"\\\\n\\\"],[10,\\\"div\\\"],[14,0,\\\"no-query-results inline\\\"],[12],[2,\\\"\\\\n  \\\"],[10,\\\"div\\\"],[12],[2,\\\"\\\\n\\\\n    \\\"],[10,\\\"i\\\"],[14,0,\\\"fa fa-spinner fa-pulse fa-3x fa-fw\\\"],[14,5,\\\"float:left\\\"],[12],[13],[2,\\\"\\\\n    \\\"],[10,\\\"div\\\"],[14,0,\\\"message\\\"],[12],[2,\\\"\\\\n      Query in Progress. \\\"],[10,\\\"br\\\"],[12],[13],[1,[35,24,[\\\"length\\\"]]],[2,\\\" pages\\\\n    \\\"],[13],[2,\\\"\\\\n  \\\"],[13],[2,\\\"\\\\n\\\"],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[2,\\\"\\\\n\\\"],[6,[37,18],[[35,23]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[10,\\\"div\\\"],[14,0,\\\"no-query-results inline\\\"],[12],[2,\\\"\\\\n  \\\"],[10,\\\"div\\\"],[12],[2,\\\"\\\\n    No results\\\\n  \\\"],[13],[2,\\\"\\\\n\\\"],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]]],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]]],[2,\\\"\\\\n\\\\n\\\\n\\\"],[10,\\\"div\\\"],[14,0,\\\"container query\\\"],[12],[2,\\\"\\\\n\\\\n  \\\"],[10,\\\"div\\\"],[14,0,\\\"row\\\"],[14,5,\\\"display:none\\\"],[12],[2,\\\"\\\\n    \\\"],[10,\\\"div\\\"],[14,0,\\\"col-md-12\\\"],[12],[2,\\\"\\\\n      \\\"],[10,\\\"div\\\"],[14,1,\\\"queryError\\\"],[14,0,\\\"alert alert-danger alert-dismissible\\\"],[14,\\\"role\\\",\\\"alert\\\"],[12],[2,\\\"\\\\n        \\\"],[10,\\\"div\\\"],[14,1,\\\"errorMessage\\\"],[12],[2,\\\"An unknown error occured querying PureCloud\\\"],[13],[2,\\\"\\\\n      \\\"],[13],[2,\\\"\\\\n    \\\"],[13],[2,\\\"\\\\n  \\\"],[13],[2,\\\"\\\\n\\\\n\\\"],[13],[2,\\\"\\\\n\\\\n\\\"],[6,[37,8],[[35,23]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[10,\\\"div\\\"],[14,0,\\\"form-flex\\\"],[12],[2,\\\"\\\\n\\\"],[6,[37,22],null,[[\\\"title\\\"],[\\\"Summary\\\"]],[[\\\"default\\\"],[{\\\"statements\\\":[[10,\\\"table\\\"],[14,0,\\\"table table-striped table-responsive\\\"],[12],[2,\\\"\\\\n  \\\"],[10,\\\"thead\\\"],[12],[2,\\\"\\\\n    \\\"],[10,\\\"tr\\\"],[12],[2,\\\"\\\\n\\\"],[6,[37,11],[[30,[36,10],[[30,[36,10],[[35,21]],null]],null]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\"      \\\"],[10,\\\"th\\\"],[12],[1,[32,7,[\\\"header\\\"]]],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[7]}]]],[2,\\\"    \\\"],[13],[2,\\\"\\\\n  \\\"],[13],[2,\\\"\\\\n  \\\"],[10,\\\"tbody\\\"],[12],[2,\\\"\\\\n    \\\"],[10,\\\"tr\\\"],[12],[2,\\\"\\\\n\\\"],[6,[37,11],[[30,[36,10],[[30,[36,10],[[35,21]],null]],null]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\"      \\\"],[10,\\\"td\\\"],[12],[2,\\\"\\\\n        \\\"],[1,[30,[36,20],[[32,6,[\\\"total\\\"]]],null]],[2,\\\"\\\\n      \\\"],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[6]}]]],[2,\\\"    \\\"],[13],[2,\\\"\\\\n  \\\"],[13],[2,\\\"\\\\n\\\"],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]]],[2,\\\"\\\\n\\\"],[6,[37,22],null,[[\\\"title\\\"],[\\\"Results\\\"]],[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\"  \\\"],[10,\\\"nav\\\"],[14,\\\"aria-label\\\",\\\"Page navigation\\\"],[14,1,\\\"page-select\\\"],[12],[2,\\\"\\\\n    \\\"],[10,\\\"label\\\"],[12],[2,\\\"Page\\\"],[13],[2,\\\"d\\\\n  \\\"],[1,[30,[36,16],null,[[\\\"idKey\\\",\\\"nameKey\\\",\\\"items\\\",\\\"selectedItem\\\"],[\\\"page\\\",\\\"range\\\",[35,15],[35,14]]]]],[2,\\\"\\\\n\\\"],[13],[2,\\\"\\\\n\\\"],[10,\\\"br\\\"],[12],[13],[2,\\\"\\\\n\\\"],[6,[37,18],[[35,17]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[10,\\\"div\\\"],[12],[2,\\\"\\\\n  \\\"],[11,\\\"a\\\"],[24,0,\\\"btn btn-primary\\\"],[4,[38,0],[[32,0],\\\"generateCsv\\\"],null],[12],[2,\\\"Generate CSV\\\"],[13],[2,\\\"\\\\n  \\\"],[1,[30,[36,13],null,[[\\\"type\\\",\\\"name\\\",\\\"checked\\\"],[\\\"checkbox\\\",\\\"csvWithSummary\\\",[35,12]]]]],[2,\\\"Include Summary in CSV\\\\n\\\"],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]]],[2,\\\"\\\\n\\\"],[10,\\\"div\\\"],[14,1,\\\"downloadContainer\\\"],[14,5,\\\"display:none\\\"],[12],[2,\\\"\\\\n  \\\"],[10,\\\"a\\\"],[14,1,\\\"downloadCSV\\\"],[14,0,\\\"btn btn-success\\\"],[12],[2,\\\"Download CSV\\\"],[13],[2,\\\"\\\\n\\\"],[13],[2,\\\"\\\\n\\\\n\\\"],[10,\\\"br\\\"],[12],[13],[2,\\\"\\\\n\\\\n\\\"],[10,\\\"div\\\"],[14,0,\\\"results-table\\\"],[12],[2,\\\"\\\\n  \\\"],[10,\\\"table\\\"],[14,0,\\\"table table-striped table-responsive\\\"],[12],[2,\\\"\\\\n    \\\"],[10,\\\"thead\\\"],[12],[2,\\\"\\\\n      \\\"],[10,\\\"tr\\\"],[12],[2,\\\"\\\\n\\\"],[6,[37,11],[[30,[36,10],[[30,[36,10],[[35,9]],null]],null]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\"        \\\"],[10,\\\"th\\\"],[12],[1,[32,5,[\\\"header\\\"]]],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[5]}]]],[2,\\\"      \\\"],[13],[2,\\\"\\\\n    \\\"],[13],[2,\\\"\\\\n    \\\"],[10,\\\"tbody\\\"],[12],[2,\\\"\\\\n\\\"],[6,[37,11],[[30,[36,10],[[30,[36,10],[[35,19]],null]],null]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\"      \\\"],[10,\\\"tr\\\"],[12],[2,\\\"\\\\n\\\"],[6,[37,11],[[30,[36,10],[[30,[36,10],[[35,9]],null]],null]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\"\\\\n        \\\"],[10,\\\"td\\\"],[12],[2,\\\"\\\\n\\\"],[6,[37,8],[[30,[36,7],[[32,4,[\\\"key\\\"]],\\\"conversationId\\\"],null]],null,[[\\\"default\\\",\\\"else\\\"],[{\\\"statements\\\":[[2,\\\"          \\\"],[11,\\\"button\\\"],[24,0,\\\"btn btn-link\\\"],[4,[38,0],[[32,0],\\\"setConversationDetail\\\",[32,3]],null],[12],[1,[30,[36,6],[[32,3],[32,4,[\\\"key\\\"]]],null]],[13],[2,\\\"\\\\n          \\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[2,\\\"          \\\"],[1,[30,[36,6],[[32,3],[32,4,[\\\"key\\\"]]],null]],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]]],[2,\\\"        \\\"],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[4]}]]],[2,\\\"\\\\n      \\\"],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[3]}]]],[2,\\\"    \\\"],[13],[2,\\\"\\\\n  \\\"],[13],[2,\\\"\\\\n\\\"],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]]],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]]],[13],[2,\\\"\\\\n\\\\n\\\\n\\\"],[6,[37,18],[[30,[36,7],[[35,1],null],null]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[6,[37,5],null,[[\\\"size\\\",\\\"title\\\",\\\"footer\\\",\\\"onHide\\\"],[\\\"lg\\\",\\\"Conversation\\\",false,[30,[36,0],[[32,0],\\\"cancelConversationDetails\\\"],null]]],[[\\\"default\\\"],[{\\\"statements\\\":[[6,[37,4],[[30,[36,3],[[32,1,[\\\"body\\\"]],\\\"expected `modal.body` to be a contextual component but found a string. Did you mean `(component modal.body)`? ('insights-web/templates/components/call-detail-query.hbs' @ L153:C3) \\\"],null]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[1,[30,[36,2],null,[[\\\"conversationId\\\"],[[35,1]]]]],[2,\\\"\\\\n\\\\n\\\"]],\\\"parameters\\\":[]}]]],[6,[37,4],[[30,[36,3],[[32,1,[\\\"footer\\\"]],\\\"expected `modal.footer` to be a contextual component but found a string. Did you mean `(component modal.footer)`? ('insights-web/templates/components/call-detail-query.hbs' @ L157:C3) \\\"],null]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[11,\\\"button\\\"],[24,0,\\\"btn btn-default\\\"],[4,[38,0],[[32,0],\\\"cancelConversationDetails\\\"],null],[12],[2,\\\"Close\\\"],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[2]}]]]],\\\"parameters\\\":[1]}]]]],\\\"parameters\\\":[]}]]]],\\\"hasEval\\\":false,\\\"upvars\\\":[\\\"action\\\",\\\"conversationDetail\\\",\\\"conversation-detail\\\",\\\"-assert-implicit-component-helper-argument\\\",\\\"component\\\",\\\"bs-modal\\\",\\\"getprop\\\",\\\"eq\\\",\\\"if\\\",\\\"tableColumns\\\",\\\"-track-array\\\",\\\"each\\\",\\\"csvWithSummary\\\",\\\"input\\\",\\\"selectedPage\\\",\\\"pageData\\\",\\\"select-box-advanced\\\",\\\"hasCSVToDownload\\\",\\\"unless\\\",\\\"currentPage\\\",\\\"formatnumber\\\",\\\"summary\\\",\\\"query-panel\\\",\\\"hasResults\\\",\\\"pagedResults\\\",\\\"interval\\\",\\\"time-range\\\",\\\"queueIds\\\",\\\"queue-selector\\\",\\\"dnisValue\\\",\\\"dnis-value\\\",\\\"aniValue\\\",\\\"queryInProgress\\\",\\\"isQueryVisible\\\"]}\",\n    \"meta\": {\n      \"moduleName\": \"insights-web/templates/components/call-detail-query.hbs\"\n    }\n  });\n});","define(\"insights-web/templates/components/chart-widget\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = Ember.HTMLBars.template({\n    \"id\": \"0NssGP5l\",\n    \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[10,\\\"b\\\"],[14,0,\\\"chart-title\\\"],[12],[1,[35,0,[\\\"title\\\"]]],[2,\\\" \\\"],[6,[37,2],[[35,1]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\"(in seconds)\\\"]],\\\"parameters\\\":[]}]]],[13],[2,\\\"\\\\n\\\"],[1,[30,[36,5],null,[[\\\"type\\\",\\\"data\\\",\\\"options\\\"],[[35,0,[\\\"chartType\\\"]],[35,4],[35,3]]]]],[2,\\\"\\\\n\\\"]],\\\"hasEval\\\":false,\\\"upvars\\\":[\\\"configuration\\\",\\\"isTimeData\\\",\\\"if\\\",\\\"options\\\",\\\"chartData\\\",\\\"ember-chart\\\"]}\",\n    \"meta\": {\n      \"moduleName\": \"insights-web/templates/components/chart-widget.hbs\"\n    }\n  });\n});","define(\"insights-web/templates/components/configuration/clock-widget\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = Ember.HTMLBars.template({\n    \"id\": \"Wo8yjauJ\",\n    \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[2,\\\"    \\\"],[10,\\\"div\\\"],[14,0,\\\"row\\\"],[12],[2,\\\"\\\\n        \\\"],[10,\\\"div\\\"],[14,0,\\\"col-md-2\\\"],[12],[2,\\\"\\\\n            \\\"],[10,\\\"label\\\"],[12],[2,\\\"Time Zone\\\"],[13],[2,\\\"\\\\n        \\\"],[13],[2,\\\"\\\\n\\\\n        \\\"],[10,\\\"div\\\"],[14,0,\\\"col-md-4\\\"],[12],[2,\\\"\\\\n            \\\"],[1,[30,[36,3],null,[[\\\"items\\\",\\\"selectedItem\\\"],[[35,2],[35,0,[\\\"title\\\"]]]]]],[2,\\\"\\\\n        \\\"],[13],[2,\\\"\\\\n\\\\n    \\\"],[13],[2,\\\"\\\\n    \\\"],[10,\\\"div\\\"],[14,0,\\\"row\\\"],[12],[2,\\\"\\\\n        \\\"],[10,\\\"div\\\"],[14,0,\\\"col-md-2\\\"],[12],[2,\\\"\\\\n\\\\n            \\\"],[1,[30,[36,1],null,[[\\\"type\\\",\\\"checked\\\"],[\\\"checkbox\\\",[35,0,[\\\"hourformat24\\\"]]]]]],[2,\\\"\\\\n            \\\"],[10,\\\"label\\\"],[12],[2,\\\"24 Hour format\\\"],[13],[2,\\\"\\\\n        \\\"],[13],[2,\\\"\\\\n    \\\"],[13],[2,\\\"\\\\n    \\\"],[10,\\\"div\\\"],[14,0,\\\"row\\\"],[12],[2,\\\"\\\\n        \\\"],[10,\\\"div\\\"],[14,0,\\\"col-md-2\\\"],[12],[2,\\\"\\\\n            \\\\n\\\\n            \\\"],[1,[30,[36,1],null,[[\\\"type\\\",\\\"checked\\\"],[\\\"checkbox\\\",[35,0,[\\\"useCustomLabel\\\"]]]]]],[2,\\\"\\\\n            \\\"],[10,\\\"label\\\"],[12],[2,\\\"Custom Label\\\"],[13],[2,\\\"\\\\n           \\\\n        \\\"],[13],[2,\\\"\\\\n        \\\"],[10,\\\"div\\\"],[14,0,\\\"col-md-4\\\"],[12],[2,\\\"\\\\n\\\"],[6,[37,4],[[35,0,[\\\"useCustomLabel\\\"]]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\"            \\\"],[1,[30,[36,1],null,[[\\\"class\\\",\\\"value\\\"],[\\\"form-control\\\",[35,0,[\\\"customLabel\\\"]]]]]],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]]],[2,\\\"        \\\"],[13],[2,\\\"\\\\n    \\\"],[13]],\\\"hasEval\\\":false,\\\"upvars\\\":[\\\"editWidget\\\",\\\"input\\\",\\\"timeZones\\\",\\\"select-box\\\",\\\"if\\\"]}\",\n    \"meta\": {\n      \"moduleName\": \"insights-web/templates/components/configuration/clock-widget.hbs\"\n    }\n  });\n});","define(\"insights-web/templates/components/configuration/image-widget\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = Ember.HTMLBars.template({\n    \"id\": \"mwxOHic/\",\n    \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[10,\\\"div\\\"],[14,0,\\\"row\\\"],[12],[2,\\\"\\\\n        \\\"],[10,\\\"div\\\"],[14,0,\\\"col-md-1\\\"],[12],[2,\\\"\\\\n            \\\"],[10,\\\"label\\\"],[12],[2,\\\"Image Url\\\"],[13],[2,\\\"\\\\n        \\\"],[13],[2,\\\"\\\\n\\\\n        \\\"],[10,\\\"div\\\"],[14,0,\\\"col-md-10\\\"],[12],[2,\\\"\\\\n            \\\"],[1,[30,[36,1],null,[[\\\"class\\\",\\\"value\\\"],[\\\"form-control\\\",[35,0,[\\\"title\\\"]]]]]],[2,\\\"\\\\n\\\"],[6,[37,3],[[30,[36,2],[[35,0,[\\\"title\\\"]],\\\"https\\\"],null]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\"             \\\"],[10,\\\"span\\\"],[14,0,\\\"text-danger\\\"],[12],[2,\\\"\\\\n                URL must start with https.\\\\n             \\\"],[13],[2,\\\"\\\\n            \\\\n\\\"]],\\\"parameters\\\":[]}]]],[2,\\\"        \\\"],[13],[2,\\\"\\\\n\\\\n    \\\"],[13]],\\\"hasEval\\\":false,\\\"upvars\\\":[\\\"editWidget\\\",\\\"input\\\",\\\"contains\\\",\\\"unless\\\"]}\",\n    \"meta\": {\n      \"moduleName\": \"insights-web/templates/components/configuration/image-widget.hbs\"\n    }\n  });\n});","define(\"insights-web/templates/components/configuration/observation-graph\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = Ember.HTMLBars.template({\n    \"id\": \"Aq0xW+Iz\",\n    \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[10,\\\"div\\\"],[14,0,\\\"row\\\"],[12],[2,\\\"\\\\n    \\\"],[10,\\\"div\\\"],[14,0,\\\"col-md-1\\\"],[12],[2,\\\"\\\\n        \\\"],[10,\\\"label\\\"],[12],[2,\\\"Title\\\"],[13],[2,\\\"\\\\n    \\\"],[13],[2,\\\"\\\\n    \\\"],[10,\\\"div\\\"],[14,0,\\\"col-md-4\\\"],[12],[2,\\\"\\\\n        \\\"],[1,[30,[36,6],null,[[\\\"class\\\",\\\"value\\\"],[\\\"form-control\\\",[35,3,[\\\"title\\\"]]]]]],[2,\\\"\\\\n    \\\"],[13],[2,\\\"\\\\n\\\\n    \\\"],[10,\\\"div\\\"],[14,0,\\\"col-md-3\\\"],[12],[2,\\\"\\\\n        \\\"],[10,\\\"label\\\"],[12],[2,\\\"Hours of Data to Show\\\"],[13],[2,\\\"\\\\n    \\\"],[13],[2,\\\"\\\\n    \\\"],[10,\\\"div\\\"],[14,0,\\\"col-md-2\\\"],[12],[2,\\\"\\\\n        \\\"],[1,[30,[36,6],null,[[\\\"class\\\",\\\"type\\\",\\\"value\\\",\\\"min\\\",\\\"max\\\"],[\\\"form-control\\\",\\\"number\\\",[35,3,[\\\"duration\\\"]],\\\"1\\\",\\\"24\\\"]]]],[2,\\\"\\\\n    \\\"],[13],[2,\\\"\\\\n\\\"],[13],[2,\\\"\\\\n\\\\n\\\"],[6,[37,7],null,[[\\\"title\\\",\\\"description\\\"],[\\\"Agent Presence Queue\\\",\\\"Select which queue to use to determine agent presence \\\"]],[[\\\"default\\\"],[{\\\"statements\\\":[[1,[30,[36,5],null,[[\\\"idKey\\\",\\\"nameKey\\\",\\\"items\\\",\\\"selectedItem\\\"],[\\\"id\\\",\\\"name\\\",[35,4],[35,3,[\\\"agentStatusQueue\\\"]]]]]],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]]],[2,\\\"\\\\n\\\"],[1,[30,[36,8],null,[[\\\"selectedQueueIds\\\",\\\"title\\\",\\\"description\\\"],[[35,3,[\\\"queueIds\\\"]],\\\"Conversation Count Queues\\\",\\\"Select which queue to use for conversations waiting and interacting\\\"]]]],[2,\\\"\\\\n\\\\n\\\"],[6,[37,7],null,[[\\\"title\\\",\\\"description\\\"],[\\\"Statistics\\\",\\\"Select which statistics to display\\\"]],[[\\\"default\\\"],[{\\\"statements\\\":[[1,[30,[36,2],null,[[\\\"availableItems\\\",\\\"selectedItems\\\",\\\"sortSelected\\\",\\\"title\\\"],[[35,1],[35,0],true,\\\"\\\"]]]],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]]]],\\\"hasEval\\\":false,\\\"upvars\\\":[\\\"selectedStats\\\",\\\"availableStats\\\",\\\"two-col-selector\\\",\\\"editWidget\\\",\\\"queues\\\",\\\"select-box-advanced\\\",\\\"input\\\",\\\"query-panel\\\",\\\"queue-selector\\\"]}\",\n    \"meta\": {\n      \"moduleName\": \"insights-web/templates/components/configuration/observation-graph.hbs\"\n    }\n  });\n});","define(\"insights-web/templates/components/configuration/static-text-widget\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = Ember.HTMLBars.template({\n    \"id\": \"mg+nvSYu\",\n    \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[10,\\\"div\\\"],[14,0,\\\"row\\\"],[12],[2,\\\"\\\\n    \\\"],[10,\\\"div\\\"],[14,0,\\\"col-md-2\\\"],[12],[2,\\\"\\\\n        \\\"],[10,\\\"label\\\"],[12],[2,\\\"Text\\\"],[13],[2,\\\"\\\\n    \\\"],[13],[2,\\\"\\\\n\\\\n    \\\"],[10,\\\"div\\\"],[14,0,\\\"col-md-10\\\"],[12],[2,\\\"\\\\n        \\\"],[1,[30,[36,1],null,[[\\\"class\\\",\\\"value\\\"],[\\\"form-control\\\",[35,0,[\\\"title\\\"]]]]]],[2,\\\"\\\\n    \\\"],[13],[2,\\\"\\\\n\\\\n\\\"],[13],[2,\\\"\\\\n\\\\n\\\"],[10,\\\"div\\\"],[14,0,\\\"row\\\"],[12],[2,\\\"\\\\n    \\\"],[10,\\\"div\\\"],[14,0,\\\"col-md-2\\\"],[12],[2,\\\"\\\\n        \\\"],[10,\\\"label\\\"],[12],[2,\\\"Font Size\\\"],[13],[2,\\\"\\\\n    \\\"],[13],[2,\\\"\\\\n    \\\"],[10,\\\"div\\\"],[14,0,\\\"col-md-2\\\"],[12],[2,\\\"\\\\n        \\\"],[1,[30,[36,1],null,[[\\\"class\\\",\\\"value\\\",\\\"type\\\"],[\\\"form-control\\\",[35,0,[\\\"fontsize\\\"]],\\\"number\\\"]]]],[2,\\\"\\\\n    \\\"],[13],[2,\\\"\\\\n\\\\n\\\\n\\\"],[13],[2,\\\"\\\\n\\\"],[10,\\\"div\\\"],[14,0,\\\"row\\\"],[12],[2,\\\"\\\\n    \\\"],[10,\\\"div\\\"],[14,0,\\\"col-md-2\\\"],[12],[2,\\\"\\\\n        \\\"],[10,\\\"label\\\"],[12],[2,\\\"Font Color\\\"],[13],[2,\\\"\\\\n    \\\"],[13],[2,\\\"\\\\n    \\\"],[10,\\\"div\\\"],[14,0,\\\"col-md-2\\\"],[12],[2,\\\"\\\\n          \\\"],[10,\\\"div\\\"],[14,0,\\\"col-md-12\\\"],[12],[2,\\\"\\\\n            \\\"],[10,\\\"div\\\"],[14,0,\\\"agent-status-custom-color\\\"],[12],[2,\\\"  \\\"],[1,[30,[36,2],null,[[\\\"format\\\",\\\"value\\\"],[\\\"hexa\\\",[35,0,[\\\"fontcolor\\\"]]]]]],[13],[2,\\\" \\\\n        \\\"],[13],[2,\\\"\\\\n    \\\"],[13],[2,\\\"\\\\n\\\"],[13],[2,\\\"\\\\n\\\"],[6,[37,4],[[35,3]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[10,\\\"div\\\"],[14,0,\\\"row\\\"],[12],[2,\\\"\\\\n    \\\"],[10,\\\"div\\\"],[14,0,\\\"col-md-2\\\"],[12],[2,\\\"\\\\n        \\\"],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"editWidgetscrollText\\\"],[12],[2,\\\"Scroll Text\\\"],[13],[2,\\\"\\\\n    \\\"],[13],[2,\\\"\\\\n    \\\"],[10,\\\"div\\\"],[14,0,\\\"col-md-2\\\"],[12],[2,\\\"\\\\n          \\\"],[1,[30,[36,1],null,[[\\\"type\\\",\\\"name\\\",\\\"checked\\\"],[\\\"checkbox\\\",\\\"editWidgetscrollText\\\",[35,0,[\\\"scrollText\\\"]]]]]],[2,\\\"\\\\n    \\\"],[13],[2,\\\"\\\\n\\\"],[13],[2,\\\"\\\\n\\\"],[10,\\\"div\\\"],[14,0,\\\"row\\\"],[12],[2,\\\"\\\\n    \\\"],[10,\\\"div\\\"],[14,0,\\\"col-md-2\\\"],[12],[2,\\\"\\\\n        \\\"],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"editWidgetscrollspeed\\\"],[12],[2,\\\"Scroll Speed\\\"],[13],[2,\\\" \\\\n    \\\"],[13],[2,\\\"\\\\n    \\\"],[10,\\\"div\\\"],[14,0,\\\"col-md-2\\\"],[12],[2,\\\"\\\\n          \\\"],[1,[30,[36,1],null,[[\\\"type\\\",\\\"min\\\",\\\"max\\\",\\\"name\\\",\\\"value\\\"],[\\\"range\\\",\\\"1\\\",\\\"14\\\",\\\"editWidgetscrollspeed\\\",[35,0,[\\\"scrollSpeed\\\"]]]]]],[2,\\\"\\\\n    \\\"],[13],[2,\\\"\\\\n\\\"],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]]]],\\\"hasEval\\\":false,\\\"upvars\\\":[\\\"editWidget\\\",\\\"input\\\",\\\"color-picker\\\",\\\"dashboardplusEnabled\\\",\\\"if\\\"]}\",\n    \"meta\": {\n      \"moduleName\": \"insights-web/templates/components/configuration/static-text-widget.hbs\"\n    }\n  });\n});","define(\"insights-web/templates/components/configuration/webframe-widget\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = Ember.HTMLBars.template({\n    \"id\": \"TRAd3X+K\",\n    \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[10,\\\"div\\\"],[14,0,\\\"row\\\"],[12],[2,\\\"\\\\n    \\\"],[10,\\\"div\\\"],[14,0,\\\"col-md-1\\\"],[12],[2,\\\"\\\\n        \\\"],[10,\\\"label\\\"],[12],[2,\\\"Url\\\"],[13],[2,\\\"\\\\n    \\\"],[13],[2,\\\"\\\\n\\\\n    \\\"],[10,\\\"div\\\"],[14,0,\\\"col-md-10\\\"],[12],[2,\\\"\\\\n        \\\"],[1,[30,[36,1],null,[[\\\"class\\\",\\\"value\\\"],[\\\"form-control\\\",[35,0,[\\\"title\\\"]]]]]],[2,\\\"\\\\n    \\\"],[13],[2,\\\"\\\\n\\\\n\\\"],[13]],\\\"hasEval\\\":false,\\\"upvars\\\":[\\\"editWidget\\\",\\\"input\\\"]}\",\n    \"meta\": {\n      \"moduleName\": \"insights-web/templates/components/configuration/webframe-widget.hbs\"\n    }\n  });\n});","define(\"insights-web/templates/components/conversation-detail\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = Ember.HTMLBars.template({\n    \"id\": \"0F0LaWcb\",\n    \"block\": \"{\\\"symbols\\\":[\\\"participant\\\",\\\"value\\\"],\\\"statements\\\":[[2,\\\"\\\\n\\\\n\\\"],[10,\\\"div\\\"],[14,0,\\\"container\\\"],[12],[2,\\\"\\\\n  \\\"],[10,\\\"h1\\\"],[12],[2,\\\"Conversation Detail\\\"],[13],[2,\\\"\\\\n  \\\"],[10,\\\"div\\\"],[14,0,\\\"row\\\"],[12],[2,\\\"\\\\n    \\\"],[10,\\\"div\\\"],[14,0,\\\"col-md-12\\\"],[12],[2,\\\"\\\\n      \\\"],[10,\\\"label\\\"],[14,5,\\\"margin-right:10px\\\"],[12],[2,\\\"Conversation Id: \\\"],[13],[1,[35,3,[\\\"conversationId\\\"]]],[2,\\\"\\\\n    \\\"],[13],[2,\\\"\\\\n    \\\\n  \\\"],[13],[2,\\\"\\\\n  \\\"],[10,\\\"div\\\"],[14,0,\\\"row\\\"],[12],[2,\\\"\\\\n    \\\"],[10,\\\"div\\\"],[14,0,\\\"col-md-12\\\"],[12],[2,\\\"\\\\n      \\\"],[10,\\\"label\\\"],[14,5,\\\"margin-right:10px\\\"],[12],[2,\\\"Conversation Start:  \\\"],[13],[1,[30,[36,7],[[35,3,[\\\"conversationStart\\\"]]],null]],[2,\\\"\\\\n    \\\"],[13],[2,\\\"\\\\n    \\\\n  \\\"],[13],[2,\\\"\\\\n  \\\"],[10,\\\"div\\\"],[14,0,\\\"row\\\"],[12],[2,\\\"\\\\n    \\\"],[10,\\\"div\\\"],[14,0,\\\"col-md-12\\\"],[12],[2,\\\"\\\\n      \\\"],[10,\\\"label\\\"],[14,5,\\\"margin-right:10px\\\"],[12],[2,\\\"Conversation End:  \\\"],[13],[1,[30,[36,7],[[35,3,[\\\"conversationEnd\\\"]]],null]],[2,\\\"\\\\n    \\\"],[13],[2,\\\"\\\\n  \\\"],[13],[2,\\\"\\\\n\\\\n\\\\n\\\"],[13],[2,\\\"\\\\n\\\"],[10,\\\"div\\\"],[14,0,\\\"container-full\\\"],[12],[2,\\\"\\\\n  \\\"],[10,\\\"div\\\"],[14,0,\\\"row\\\"],[12],[2,\\\"\\\\n    \\\"],[10,\\\"div\\\"],[14,0,\\\"col-md-12\\\"],[12],[2,\\\"\\\\n\\\"],[6,[37,2],[[35,8]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[1,[30,[36,6],null,[[\\\"data\\\",\\\"options\\\"],[[35,5],[35,4]]]]],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]]],[2,\\\"\\\\n    \\\"],[13],[2,\\\"\\\\n  \\\"],[13],[2,\\\"\\\\n\\\"],[13],[2,\\\"\\\\n\\\\n\\\"],[6,[37,2],[[35,9]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[10,\\\"div\\\"],[14,0,\\\"container\\\"],[12],[2,\\\"\\\\n\\\"],[10,\\\"h2\\\"],[12],[2,\\\"Participant Attributes\\\"],[13],[2,\\\"\\\\n\\\"],[6,[37,1],[[30,[36,0],[[30,[36,0],[[35,3,[\\\"participants\\\"]]],null]],null]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[6,[37,2],[[32,1,[\\\"attributes\\\"]]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\"  \\\"],[10,\\\"div\\\"],[14,0,\\\"row\\\"],[12],[2,\\\"\\\\n    \\\"],[10,\\\"div\\\"],[14,0,\\\"col\\\"],[12],[10,\\\"label\\\"],[12],[2,\\\"Participant name  -  \\\"],[13],[1,[32,1,[\\\"participantName\\\"]]],[13],[2,\\\"\\\\n  \\\"],[13],[2,\\\"\\\\n  \\\"],[10,\\\"div\\\"],[14,0,\\\"row\\\"],[12],[2,\\\"\\\\n    \\\"],[10,\\\"table\\\"],[14,0,\\\"participant-attribute-table \\\"],[12],[2,\\\"\\\\n      \\\\n\\\"],[6,[37,1],[[30,[36,0],[[30,[36,0],[[32,1,[\\\"attributes\\\"]]],null]],null]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\"  \\\"],[10,\\\"tr\\\"],[12],[2,\\\"\\\\n    \\\"],[10,\\\"td\\\"],[12],[2,\\\"\\\\n      \\\"],[1,[32,2,[\\\"key\\\"]]],[2,\\\"\\\\n    \\\"],[13],[2,\\\"\\\\n    \\\"],[10,\\\"td\\\"],[12],[2,\\\"\\\\n\\\"],[1,[32,2,[\\\"value\\\"]]],[2,\\\"\\\\n    \\\"],[13],[2,\\\"\\\\n  \\\"],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[2]}]]],[2,\\\"    \\\"],[13],[2,\\\"\\\\n  \\\"],[13],[2,\\\"\\\\n    \\\\n\\\"]],\\\"parameters\\\":[]}]]],[2,\\\"  \\\\n\\\\n\\\"]],\\\"parameters\\\":[1]}]]],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]]]],\\\"hasEval\\\":false,\\\"upvars\\\":[\\\"-track-array\\\",\\\"each\\\",\\\"if\\\",\\\"conversation\\\",\\\"options\\\",\\\"conversationTimeline\\\",\\\"timeline-chart\\\",\\\"formattime\\\",\\\"hasData\\\",\\\"hasAttributes\\\"]}\",\n    \"meta\": {\n      \"moduleName\": \"insights-web/templates/components/conversation-detail.hbs\"\n    }\n  });\n});","define(\"insights-web/templates/components/count-display\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = Ember.HTMLBars.template({\n    \"id\": \"+DNgoSt8\",\n    \"block\": \"{\\\"symbols\\\":[\\\"&default\\\"],\\\"statements\\\":[[10,\\\"div\\\"],[15,0,[31,[\\\"count-display \\\",[30,[36,1],[[35,0],\\\"time-widget\\\"],null]]]],[15,5,[31,[\\\"background:\\\",[34,2]]]],[12],[2,\\\"\\\\n\\\"],[18,1,null],[2,\\\"\\\\n\\\"],[13],[2,\\\"\\\\n\\\"]],\\\"hasEval\\\":false,\\\"upvars\\\":[\\\"isTime\\\",\\\"if\\\",\\\"alertColor\\\"]}\",\n    \"meta\": {\n      \"moduleName\": \"insights-web/templates/components/count-display.hbs\"\n    }\n  });\n});","define(\"insights-web/templates/components/database-config\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = Ember.HTMLBars.template({\n    \"id\": \"nKzcUhxq\",\n    \"block\": \"{\\\"symbols\\\":[\\\"permission\\\",\\\"&default\\\"],\\\"statements\\\":[[18,2,null],[2,\\\"\\\\n\\\"],[10,\\\"div\\\"],[14,0,\\\"container\\\"],[12],[2,\\\"\\\\n  \\\"],[10,\\\"h2\\\"],[12],[2,\\\"Sync Status\\\"],[13],[2,\\\"\\\\n\\\\n  \\\"],[10,\\\"div\\\"],[14,0,\\\"row\\\"],[12],[2,\\\"\\\\n    \\\"],[10,\\\"div\\\"],[14,0,\\\"col-md-2\\\"],[12],[2,\\\"\\\\n      Call Detail\\\\n    \\\"],[13],[2,\\\"\\\\n    \\\"],[10,\\\"div\\\"],[14,0,\\\"col-md-2\\\"],[12],[2,\\\"\\\\n      Queue Aggregate\\\\n    \\\"],[13],[2,\\\"\\\\n    \\\"],[10,\\\"div\\\"],[14,0,\\\"col-md-2\\\"],[12],[2,\\\"\\\\n      User Aggregate\\\\n    \\\"],[13],[2,\\\"\\\\n  \\\"],[13],[2,\\\"\\\\n\\\"],[13],[2,\\\"\\\\n\\\\n\\\"],[10,\\\"div\\\"],[14,0,\\\"container\\\"],[12],[2,\\\"\\\\n  \\\"],[10,\\\"h2\\\"],[12],[2,\\\"Configuration\\\"],[13],[2,\\\"\\\\n\\\\n  \\\"],[10,\\\"div\\\"],[14,0,\\\"row\\\"],[12],[2,\\\"\\\\n    \\\"],[10,\\\"div\\\"],[14,0,\\\"col-md-2\\\"],[12],[2,\\\"\\\\n      \\\"],[10,\\\"label\\\"],[12],[2,\\\"Database\\\"],[13],[2,\\\"\\\\n    \\\"],[13],[2,\\\"\\\\n    \\\"],[10,\\\"div\\\"],[14,0,\\\"col-md-4\\\"],[12],[2,\\\"\\\\n      \\\"],[1,[35,11,[\\\"dbServer\\\"]]],[2,\\\"\\\\n    \\\"],[13],[2,\\\"\\\\n  \\\"],[13],[2,\\\"\\\\n  \\\"],[10,\\\"div\\\"],[14,0,\\\"row\\\"],[12],[2,\\\"\\\\n    \\\"],[10,\\\"div\\\"],[14,0,\\\"col-md-2\\\"],[12],[2,\\\"\\\\n      \\\"],[10,\\\"label\\\"],[12],[2,\\\"Database User\\\"],[13],[2,\\\"\\\\n    \\\"],[13],[2,\\\"\\\\n    \\\"],[10,\\\"div\\\"],[14,0,\\\"col-md-4\\\"],[12],[2,\\\"\\\\n      \\\"],[1,[35,11,[\\\"dbUser\\\"]]],[2,\\\"\\\\n    \\\"],[13],[2,\\\"\\\\n  \\\"],[13],[2,\\\"\\\\n  \\\"],[10,\\\"div\\\"],[14,0,\\\"row\\\"],[12],[2,\\\"\\\\n\\\"],[6,[37,4],[[35,11,[\\\"clientId\\\"]]],null,[[\\\"default\\\",\\\"else\\\"],[{\\\"statements\\\":[[2,\\\"    \\\"],[10,\\\"div\\\"],[14,0,\\\"col-md-2\\\"],[12],[2,\\\"\\\\n      \\\"],[10,\\\"label\\\"],[12],[2,\\\"OAuth Client Id\\\"],[13],[2,\\\"\\\\n    \\\"],[13],[2,\\\"\\\\n    \\\"],[10,\\\"div\\\"],[14,0,\\\"col-md-4\\\"],[12],[2,\\\"\\\\n      \\\"],[1,[35,11,[\\\"clientId\\\"]]],[2,\\\"\\\\n    \\\"],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[2,\\\"    \\\"],[10,\\\"div\\\"],[14,0,\\\"well\\\"],[12],[2,\\\"\\\\n      In order for the database service to connect to PureCloud, you must create an OAuth Client. When creating an OAuth Client you must specify a role which will define the permissions that the client inherits. This role must be on of the roles that the creator has. It is recommended to create a role with only the permissions needed for the database sync.\\\\n      \\\"],[10,\\\"br\\\"],[12],[13],[2,\\\"\\\\n      \\\"],[10,\\\"br\\\"],[12],[13],[2,\\\"\\\\n      The database sync requires the following permissions:\\\\n      \\\"],[10,\\\"ul\\\"],[12],[2,\\\"\\\\n\\\"],[6,[37,2],[[30,[36,1],[[30,[36,1],[[35,0]],null]],null]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\"        \\\"],[10,\\\"li\\\"],[12],[1,[32,1,[\\\"entity\\\"]]],[2,\\\" > \\\"],[1,[32,1,[\\\"domain\\\"]]],[2,\\\" > \\\"],[1,[32,1,[\\\"action\\\"]]],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[1]}]]],[2,\\\"      \\\"],[13],[2,\\\"\\\\n\\\\n\\\\n      \\\"],[10,\\\"label\\\"],[12],[2,\\\"Role\\\"],[13],[2,\\\"\\\\n      \\\"],[10,\\\"br\\\"],[12],[13],[2,\\\"\\\\n      \\\"],[10,\\\"label\\\"],[14,0,\\\"text-muted\\\"],[12],[2,\\\"\\\\n\\\"],[6,[37,4],[[35,3]],null,[[\\\"default\\\",\\\"else\\\"],[{\\\"statements\\\":[[2,\\\"        The following roles are assigned to you and have the needed permissions.\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[2,\\\"        You do not have the authorization>role>view permission. This is a list of all your roles, but without that role we can't determine which ones have the needed permissions.\\\\n\\\"]],\\\"parameters\\\":[]}]]],[2,\\\"      \\\"],[13],[2,\\\"\\\\n\\\\n      \\\"],[1,[30,[36,7],null,[[\\\"style\\\",\\\"idKey\\\",\\\"nameKey\\\",\\\"items\\\",\\\"selectedItem\\\"],[\\\"width:200px\\\",\\\"id\\\",\\\"name\\\",[35,6],[35,5]]]]],[2,\\\"\\\\n      \\\"],[10,\\\"br\\\"],[12],[13],[2,\\\"\\\\n      \\\"],[1,[30,[36,10],null,[[\\\"type\\\",\\\"defaultText\\\",\\\"disabled\\\",\\\"action\\\"],[\\\"primary\\\",\\\"Create OAuth Client\\\",[35,9],[30,[36,8],[[32,0],\\\"createClient\\\"],null]]]]],[2,\\\"\\\\n\\\"],[6,[37,4],[[35,9]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\"      You do not have permissions to create OAuth clients.\\\\n\\\"]],\\\"parameters\\\":[]}]]],[2,\\\"    \\\"],[13],[2,\\\"\\\\n\\\\n\\\"]],\\\"parameters\\\":[]}]]],[2,\\\"  \\\"],[13],[2,\\\"\\\\n\\\\n\\\\n\\\\n\\\"],[13],[2,\\\"\\\\n\\\"]],\\\"hasEval\\\":false,\\\"upvars\\\":[\\\"requiredPermissions\\\",\\\"-track-array\\\",\\\"each\\\",\\\"hasRoleView\\\",\\\"if\\\",\\\"selectedRole\\\",\\\"roles\\\",\\\"select-box-advanced\\\",\\\"action\\\",\\\"doesNotHaveOauthCreate\\\",\\\"bs-button\\\",\\\"config\\\"]}\",\n    \"meta\": {\n      \"moduleName\": \"insights-web/templates/components/database-config.hbs\"\n    }\n  });\n});","define(\"insights-web/templates/components/datetime-banner\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = Ember.HTMLBars.template({\n    \"id\": \"5Ya0fuD8\",\n    \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[2,\\\"\\\\n\\\"],[10,\\\"div\\\"],[14,0,\\\"container-full datetime-banner\\\"],[12],[2,\\\"\\\\n  \\\"],[10,\\\"div\\\"],[14,0,\\\"row\\\"],[12],[2,\\\"\\\\n    \\\"],[10,\\\"div\\\"],[14,0,\\\"col-md-1 \\\"],[12],[2,\\\"\\\\n    \\\"],[13],[2,\\\"\\\\n    \\\"],[10,\\\"div\\\"],[14,0,\\\"col-md-10 \\\"],[12],[2,\\\"\\\\n      \\\"],[10,\\\"h3\\\"],[12],[1,[34,0]],[13],[2,\\\"\\\\n    \\\"],[13],[2,\\\"\\\\n  \\\"],[13],[2,\\\"\\\\n\\\"],[13],[2,\\\"\\\\n\\\"]],\\\"hasEval\\\":false,\\\"upvars\\\":[\\\"currentTime\\\"]}\",\n    \"meta\": {\n      \"moduleName\": \"insights-web/templates/components/datetime-banner.hbs\"\n    }\n  });\n});","define(\"insights-web/templates/components/debug-widget\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = Ember.HTMLBars.template({\n    \"id\": \"TOESfLEk\",\n    \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[10,\\\"br\\\"],[12],[13],[2,\\\"\\\\n\\\"],[11,\\\"button\\\"],[24,0,\\\"btn btn-link\\\"],[4,[38,0],[[32,0],\\\"testNotificationSubscriptions\\\"],null],[12],[2,\\\"Test Notification Subs\\\"],[13],[2,\\\"\\\\n\\\"],[10,\\\"br\\\"],[12],[13],[2,\\\"\\\\n\\\"],[11,\\\"button\\\"],[24,0,\\\"btn btn-link\\\"],[4,[38,0],[[32,0],\\\"downloadDebug\\\"],null],[12],[2,\\\"Click to \\\"],[10,\\\"br\\\"],[12],[13],[2,\\\"download Debug\\\"],[10,\\\"br\\\"],[12],[13],[2,\\\" Data\\\"],[13]],\\\"hasEval\\\":false,\\\"upvars\\\":[\\\"action\\\"]}\",\n    \"meta\": {\n      \"moduleName\": \"insights-web/templates/components/debug-widget.hbs\"\n    }\n  });\n});","define(\"insights-web/templates/components/dnis-value\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = Ember.HTMLBars.template({\n    \"id\": \"srJguLS4\",\n    \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[6,[37,4],null,[[\\\"title\\\",\\\"description\\\"],[[35,3],[35,2]]],[[\\\"default\\\"],[{\\\"statements\\\":[[1,[30,[36,1],null,[[\\\"value\\\",\\\"class\\\"],[[35,0],\\\"form-control \\\"]]]],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]]]],\\\"hasEval\\\":false,\\\"upvars\\\":[\\\"dnisValue\\\",\\\"input\\\",\\\"description\\\",\\\"title\\\",\\\"query-panel\\\"]}\",\n    \"meta\": {\n      \"moduleName\": \"insights-web/templates/components/dnis-value.hbs\"\n    }\n  });\n});","define(\"insights-web/templates/components/ember-popper-targeting-parent\", [\"exports\", \"ember-popper/templates/components/ember-popper-targeting-parent\"], function (_exports, _emberPopperTargetingParent) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _emberPopperTargetingParent.default;\n    }\n  });\n});","define(\"insights-web/templates/components/ember-popper\", [\"exports\", \"ember-popper/templates/components/ember-popper\"], function (_exports, _emberPopper) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _emberPopper.default;\n    }\n  });\n});","define(\"insights-web/templates/components/grid-stat\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = Ember.HTMLBars.template({\n    \"id\": \"cMMjrWHP\",\n    \"block\": \"{\\\"symbols\\\":[\\\"&default\\\"],\\\"statements\\\":[[18,1,null],[2,\\\"\\\\n\\\"]],\\\"hasEval\\\":false,\\\"upvars\\\":[]}\",\n    \"meta\": {\n      \"moduleName\": \"insights-web/templates/components/grid-stat.hbs\"\n    }\n  });\n});","define(\"insights-web/templates/components/nav-bar\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = Ember.HTMLBars.template({\n    \"id\": \"qHTHoDEk\",\n    \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[10,\\\"nav\\\"],[14,0,\\\"navbar navbar-default\\\"],[12],[2,\\\"\\\\n  \\\"],[10,\\\"div\\\"],[14,0,\\\"container-fluid\\\"],[12],[2,\\\"\\\\n    \\\"],[3,\\\" Brand and toggle get grouped for better mobile display \\\"],[2,\\\"\\\\n    \\\"],[10,\\\"div\\\"],[14,0,\\\"navbar-header\\\"],[12],[2,\\\"\\\\n      \\\"],[10,\\\"button\\\"],[14,0,\\\"navbar-toggle collapsed\\\"],[14,\\\"data-toggle\\\",\\\"collapse\\\"],[14,\\\"data-target\\\",\\\"#bs-example-navbar-collapse-1\\\"],[14,\\\"aria-expanded\\\",\\\"false\\\"],[14,4,\\\"button\\\"],[12],[2,\\\"\\\\n       \\\"],[10,\\\"span\\\"],[14,0,\\\"sr-only\\\"],[12],[2,\\\"Toggle navigation\\\"],[13],[2,\\\"\\\\n       \\\"],[10,\\\"span\\\"],[14,0,\\\"icon-bar\\\"],[12],[13],[2,\\\"\\\\n       \\\"],[10,\\\"span\\\"],[14,0,\\\"icon-bar\\\"],[12],[13],[2,\\\"\\\\n       \\\"],[10,\\\"span\\\"],[14,0,\\\"icon-bar\\\"],[12],[13],[2,\\\"\\\\n     \\\"],[13],[2,\\\"\\\\n      \\\"],[10,\\\"a\\\"],[14,0,\\\"navbar-brand\\\"],[14,\\\"target\\\",\\\"_blank\\\"],[14,6,\\\"http://mypureinsights.com\\\"],[12],[10,\\\"img\\\"],[14,\\\"src\\\",\\\"/images/pureinsights_alpha.png\\\"],[12],[13],[13],[2,\\\"\\\\n    \\\"],[13],[2,\\\"\\\\n    \\\"],[10,\\\"div\\\"],[14,0,\\\"collapse navbar-collapse\\\"],[14,1,\\\"bs-example-navbar-collapse-1\\\"],[12],[2,\\\"\\\\n    \\\"],[10,\\\"ul\\\"],[14,0,\\\"nav navbar-nav\\\"],[12],[2,\\\"\\\\n      \\\"],[10,\\\"li\\\"],[12],[2,\\\"\\\\n\\\"],[6,[37,0],null,[[\\\"route\\\"],[\\\"realtime\\\"]],[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\"        Dashboard\\\\n\\\"]],\\\"parameters\\\":[]}]]],[2,\\\"      \\\"],[13],[2,\\\"\\\\n      \\\"],[10,\\\"li\\\"],[12],[2,\\\"\\\\n\\\"],[6,[37,0],null,[[\\\"route\\\"],[\\\"conversationquery\\\"]],[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\"        Call Detail Report\\\\n\\\"]],\\\"parameters\\\":[]}]]],[2,\\\"      \\\"],[13],[2,\\\"\\\\n      \\\"],[3,\\\"<li>\\\\n{{#link-to \\\\\\\"call-flow\\\\\\\"}}\\\\n        Call Flow\\\\n        {{/link-to}}      </li>\\\"],[2,\\\"\\\\n     \\\\n      \\\\n\\\\n    \\\"],[13],[2,\\\"\\\\n     \\\"],[10,\\\"p\\\"],[14,0,\\\"navbar-text\\\"],[12],[2,\\\"\\\\n    \\\"],[1,[30,[36,2],null,[[\\\"organizationId\\\"],[[35,1]]]]],[2,\\\"\\\\n      \\\"],[13],[2,\\\"\\\\n    \\\"],[10,\\\"ul\\\"],[14,0,\\\"nav navbar-nav navbar-right\\\"],[12],[2,\\\"\\\\n      \\\"],[10,\\\"li\\\"],[12],[11,\\\"a\\\"],[24,6,\\\"#\\\"],[4,[38,3],[[32,0],\\\"logOut\\\"],null],[12],[2,\\\"Log Out\\\"],[13],[13],[2,\\\"\\\\n    \\\"],[13],[2,\\\"\\\\n\\\\n  \\\"],[13],[2,\\\"\\\\n\\\\n\\\\n  \\\"],[13],[3,\\\" /.container-fluid \\\"],[2,\\\"\\\\n\\\"],[13],[2,\\\"\\\\n\\\"]],\\\"hasEval\\\":false,\\\"upvars\\\":[\\\"link-to\\\",\\\"organizationId\\\",\\\"trial-banner\\\",\\\"action\\\"]}\",\n    \"meta\": {\n      \"moduleName\": \"insights-web/templates/components/nav-bar.hbs\"\n    }\n  });\n});","define(\"insights-web/templates/components/observation-graph\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = Ember.HTMLBars.template({\n    \"id\": \"mofF5iY+\",\n    \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[10,\\\"b\\\"],[14,0,\\\"chart-title\\\"],[14,5,\\\"min-height:30px;display:inline-block;\\\"],[12],[1,[35,0,[\\\"title\\\"]]],[13],[2,\\\"\\\\n\\\\n\\\"],[10,\\\"div\\\"],[14,0,\\\"chart\\\"],[15,5,[31,[\\\"width: 100%;height:\\\",[34,1],\\\";\\\"]]],[12],[13],[2,\\\"\\\\n\\\"]],\\\"hasEval\\\":false,\\\"upvars\\\":[\\\"configuration\\\",\\\"chartHeight\\\"]}\",\n    \"meta\": {\n      \"moduleName\": \"insights-web/templates/components/observation-graph.hbs\"\n    }\n  });\n});","define(\"insights-web/templates/components/query-panel\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = Ember.HTMLBars.template({\n    \"id\": \"K01oZoP6\",\n    \"block\": \"{\\\"symbols\\\":[\\\"&default\\\"],\\\"statements\\\":[[2,\\\"\\\\n\\\"],[10,\\\"div\\\"],[14,0,\\\"panel\\\"],[12],[2,\\\"\\\\n  \\\"],[10,\\\"div\\\"],[14,0,\\\"panel-heading\\\"],[12],[2,\\\"\\\\n    \\\"],[1,[34,0]],[2,\\\"\\\\n  \\\"],[13],[2,\\\"\\\\n  \\\"],[10,\\\"div\\\"],[14,0,\\\"panel-body\\\"],[12],[2,\\\"\\\\n    \\\"],[10,\\\"div\\\"],[14,0,\\\"panel-description\\\"],[12],[1,[34,1]],[13],[2,\\\"\\\\n    \\\"],[18,1,null],[2,\\\"\\\\n  \\\"],[13],[2,\\\"\\\\n\\\"],[13],[2,\\\"\\\\n\\\"]],\\\"hasEval\\\":false,\\\"upvars\\\":[\\\"title\\\",\\\"description\\\"]}\",\n    \"meta\": {\n      \"moduleName\": \"insights-web/templates/components/query-panel.hbs\"\n    }\n  });\n});","define(\"insights-web/templates/components/queue-interaction-list\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = Ember.HTMLBars.template({\n    \"id\": \"9TnJbS2g\",\n    \"block\": \"{\\\"symbols\\\":[\\\"r\\\",\\\"rowindex\\\"],\\\"statements\\\":[[10,\\\"span\\\"],[14,0,\\\"h3\\\"],[15,5,[31,[\\\"font-size:\\\",[34,0]]]],[12],[2,\\\"\\\\n    \\\"],[1,[35,1,[\\\"title\\\"]]],[2,\\\"\\\\n\\\"],[13],[2,\\\"\\\\n\\\"],[10,\\\"div\\\"],[14,0,\\\"scroll-table-container\\\"],[12],[2,\\\"\\\\n\\\"],[10,\\\"table\\\"],[14,0,\\\"table table-striped table-condensed stat-table\\\"],[15,5,[31,[\\\"font-size:\\\",[34,1,[\\\"fontsize\\\"]],\\\"px\\\"]]],[12],[2,\\\"\\\\n\\\"],[10,\\\"tr\\\"],[12],[2,\\\"\\\\n    \\\"],[10,\\\"th\\\"],[12],[2,\\\"\\\\n        Remote Name\\\\n    \\\"],[13],[2,\\\"\\\\n    \\\"],[10,\\\"th\\\"],[12],[2,\\\"\\\\n        Wait Time\\\\n    \\\"],[13],[2,\\\"\\\\n\\\"],[13],[2,\\\"\\\\n\\\"],[6,[37,4],[[30,[36,3],[[30,[36,3],[[35,2]],null]],null]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[10,\\\"tr\\\"],[12],[2,\\\"\\\\n    \\\\n    \\\"],[10,\\\"td\\\"],[12],[2,\\\"\\\\n        \\\"],[1,[32,1,[\\\"participantName\\\"]]],[2,\\\"\\\\n    \\\"],[13],[2,\\\"\\\\n    \\\"],[10,\\\"td\\\"],[12],[2,\\\"\\\\n        \\\"],[1,[32,1,[\\\"timeWaiting\\\"]]],[2,\\\"\\\\n    \\\"],[13],[2,\\\"\\\\n    \\\\n\\\"],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[1,2]}]]],[13],[2,\\\"\\\\n\\\"],[13],[2,\\\"\\\\n\\\"]],\\\"hasEval\\\":false,\\\"upvars\\\":[\\\"titlesize\\\",\\\"configuration\\\",\\\"calls\\\",\\\"-track-array\\\",\\\"each\\\"]}\",\n    \"meta\": {\n      \"moduleName\": \"insights-web/templates/components/queue-interaction-list.hbs\"\n    }\n  });\n});","define(\"insights-web/templates/components/queue-selector\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = Ember.HTMLBars.template({\n    \"id\": \"IKtQzHrm\",\n    \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[6,[37,6],null,[[\\\"title\\\",\\\"description\\\"],[[35,5],[35,4]]],[[\\\"default\\\"],[{\\\"statements\\\":[[1,[30,[36,3],null,[[\\\"availableItems\\\",\\\"selectedItems\\\",\\\"title\\\",\\\"isLoading\\\"],[[35,2],[35,1],\\\"\\\",[35,0]]]]],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]]]],\\\"hasEval\\\":false,\\\"upvars\\\":[\\\"isLoading\\\",\\\"selectedQueueNames\\\",\\\"availableQueueNames\\\",\\\"two-col-selector\\\",\\\"description\\\",\\\"title\\\",\\\"query-panel\\\"]}\",\n    \"meta\": {\n      \"moduleName\": \"insights-web/templates/components/queue-selector.hbs\"\n    }\n  });\n});","define(\"insights-web/templates/components/queue-stats\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = Ember.HTMLBars.template({\n    \"id\": \"ynSGLHXE\",\n    \"block\": \"{\\\"symbols\\\":[\\\"r\\\",\\\"rowindex\\\",\\\"c\\\",\\\"index\\\",\\\"value\\\",\\\"index\\\"],\\\"statements\\\":[[6,[37,4],[[35,8]],null,[[\\\"default\\\",\\\"else\\\"],[{\\\"statements\\\":[[10,\\\"div\\\"],[14,0,\\\"scroll-table-container\\\"],[12],[2,\\\"\\\\n    \\\\n\\\"],[10,\\\"table\\\"],[14,0,\\\"table table-striped table-condensed stat-table\\\"],[15,5,[31,[\\\"font-size:\\\",[34,7,[\\\"fontsize\\\"]],\\\"px\\\"]]],[12],[2,\\\"\\\\n\\\"],[10,\\\"tr\\\"],[12],[2,\\\"\\\\n    \\\\n\\\"],[6,[37,6],[[30,[36,5],[[30,[36,5],[[35,2]],null]],null]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[10,\\\"th\\\"],[12],[2,\\\"\\\\n\\\"],[1,[32,5]],[2,\\\"\\\\n\\\"],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[5,6]}]]],[13],[2,\\\"\\\\n\\\"],[6,[37,6],[[30,[36,5],[[30,[36,5],[[35,1]],null]],null]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[10,\\\"tr\\\"],[12],[2,\\\"\\\\n\\\"],[6,[37,6],[[30,[36,5],[[30,[36,5],[[32,1,[\\\"stats\\\"]]],null]],null]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\"    \\\"],[10,\\\"td\\\"],[15,0,[32,3,[\\\"cssClass\\\"]]],[12],[2,\\\"\\\\n\\\"],[6,[37,4],[[32,3,[\\\"image\\\"]]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\"        \\\"],[10,\\\"img\\\"],[14,\\\"height\\\",\\\"40px\\\"],[14,\\\"width\\\",\\\"40px\\\"],[14,5,\\\"margin-top:2px;margin-bottom:2px; border-radius:50%\\\"],[15,\\\"src\\\",[32,3,[\\\"image\\\"]]],[12],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]]],[2,\\\"        \\\"],[1,[32,3,[\\\"value\\\"]]],[2,\\\"\\\\n    \\\"],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[3,4]}]]],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[1,2]}]]],[13],[2,\\\"\\\\n\\\"],[13],[2,\\\"\\\\n\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[1,[30,[36,3],null,[[\\\"headers\\\",\\\"data\\\",\\\"onToggleExpand\\\"],[[35,2],[35,1],[30,[36,0],[[32,0],\\\"toggleExpand\\\"],null]]]]],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]]]],\\\"hasEval\\\":false,\\\"upvars\\\":[\\\"action\\\",\\\"data\\\",\\\"headers\\\",\\\"stat-grid\\\",\\\"if\\\",\\\"-track-array\\\",\\\"each\\\",\\\"configuration\\\",\\\"isWidget\\\"]}\",\n    \"meta\": {\n      \"moduleName\": \"insights-web/templates/components/queue-stats.hbs\"\n    }\n  });\n});","define(\"insights-web/templates/components/realtime-debug-view\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = Ember.HTMLBars.template({\n    \"id\": \"vWzCn1oR\",\n    \"block\": \"{\\\"symbols\\\":[\\\"queue\\\"],\\\"statements\\\":[[6,[37,12],[[35,9]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\"Loading data.....\\\\n\\\"]],\\\"parameters\\\":[]}]]],[6,[37,13],[[35,9]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\"\\\\n\\\\n\\\"],[10,\\\"div\\\"],[14,0,\\\"container\\\"],[14,1,\\\"realtime-debug-info\\\"],[12],[2,\\\"\\\\n  \\\"],[11,\\\"button\\\"],[24,0,\\\"btn btn-link\\\"],[4,[38,0],[[32,0],\\\"copyToClipboard\\\"],null],[12],[2,\\\"Download Debug Data\\\"],[13],[2,\\\"\\\\n\\\\n\\\\nUser: \\\"],[1,[34,1]],[2,\\\"\\\\n\\\\n\\\"],[10,\\\"h2\\\"],[12],[2,\\\"Queues\\\"],[13],[2,\\\"\\\\n\\\"],[10,\\\"table\\\"],[14,0,\\\"\\\"],[12],[2,\\\"\\\\n\\\"],[6,[37,4],[[30,[36,3],[[30,[36,3],[[35,2]],null]],null]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[10,\\\"tr\\\"],[12],[2,\\\"\\\\n  \\\"],[10,\\\"td\\\"],[12],[1,[32,1,[\\\"name\\\"]]],[13],[10,\\\"td\\\"],[12],[1,[32,1,[\\\"id\\\"]]],[13],[2,\\\"\\\\n\\\"],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[1]}]]],[13],[2,\\\"\\\\n\\\\n\\\\n\\\"],[10,\\\"h2\\\"],[12],[2,\\\"Dashboard Configuration\\\"],[13],[2,\\\"\\\\n\\\"],[10,\\\"code\\\"],[12],[10,\\\"pre\\\"],[12],[1,[34,5]],[13],[13],[2,\\\"\\\\n\\\\n\\\"],[10,\\\"h2\\\"],[12],[2,\\\"User Data\\\"],[13],[2,\\\"\\\\n\\\"],[10,\\\"h3\\\"],[12],[2,\\\"Routing Status\\\"],[13],[2,\\\"\\\\n\\\"],[10,\\\"code\\\"],[12],[10,\\\"pre\\\"],[12],[1,[34,6]],[13],[13],[2,\\\"\\\\n\\\"],[10,\\\"h3\\\"],[12],[2,\\\"Queue Users\\\"],[13],[2,\\\"\\\\n\\\"],[10,\\\"code\\\"],[12],[10,\\\"pre\\\"],[12],[1,[34,7]],[13],[13],[2,\\\"\\\\n\\\"],[10,\\\"h3\\\"],[12],[2,\\\"User Presence\\\"],[13],[2,\\\"\\\\n\\\"],[10,\\\"code\\\"],[12],[10,\\\"pre\\\"],[12],[1,[34,8]],[13],[13],[2,\\\"\\\\n\\\\n\\\"],[10,\\\"h2\\\"],[12],[2,\\\"Observation Stats\\\"],[13],[2,\\\"\\\\n\\\"],[10,\\\"code\\\"],[12],[10,\\\"pre\\\"],[12],[1,[34,9]],[13],[13],[2,\\\"\\\\n\\\\n\\\"],[10,\\\"h2\\\"],[12],[2,\\\"Queue Stats\\\"],[13],[2,\\\"\\\\n\\\"],[10,\\\"code\\\"],[12],[10,\\\"pre\\\"],[12],[1,[34,10]],[13],[13],[2,\\\"\\\\n\\\\n\\\"],[10,\\\"h2\\\"],[12],[2,\\\"Wrapup Stats\\\"],[13],[2,\\\"\\\\n\\\"],[10,\\\"code\\\"],[12],[10,\\\"pre\\\"],[12],[1,[34,11]],[13],[13],[2,\\\"\\\\n\\\"],[13],[2,\\\"\\\\n\\\\n\\\"]],\\\"parameters\\\":[]}]]]],\\\"hasEval\\\":false,\\\"upvars\\\":[\\\"action\\\",\\\"userId\\\",\\\"queues\\\",\\\"-track-array\\\",\\\"each\\\",\\\"dashboardString\\\",\\\"userRoutingStatus\\\",\\\"queueUsers\\\",\\\"userPresence\\\",\\\"observationData\\\",\\\"queueData\\\",\\\"wrapupData\\\",\\\"unless\\\",\\\"if\\\"]}\",\n    \"meta\": {\n      \"moduleName\": \"insights-web/templates/components/realtime-debug-view.hbs\"\n    }\n  });\n});","define(\"insights-web/templates/components/realtime-grid\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = Ember.HTMLBars.template({\n    \"id\": \"IvWX/ei0\",\n    \"block\": \"{\\\"symbols\\\":[\\\"modal\\\",\\\"footer\\\",\\\"dashboard\\\",\\\"dashboardIndex\\\",\\\"modal\\\",\\\"footer\\\",\\\"modal\\\",\\\"footer\\\",\\\"modal\\\",\\\"footer\\\",\\\"alert\\\",\\\"index\\\",\\\"stat\\\",\\\"stat\\\",\\\"tab\\\",\\\"dashboard\\\",\\\"dashboardIndex\\\",\\\"widget\\\",\\\"index\\\",\\\"widget\\\",\\\"index\\\",\\\"item\\\",\\\"nav\\\",\\\"dashboard\\\",\\\"dashboardIndex\\\"],\\\"statements\\\":[[10,\\\"div\\\"],[15,0,[31,[\\\" \\\",[30,[36,2],[[35,80],\\\"fullscreen\\\"],null],\\\"  \\\",[30,[36,2],[[35,11,[\\\"darkMode\\\"]],\\\"dark\\\"],null],\\\" \\\",[30,[36,2],[[30,[36,34],[[35,11,[\\\"dashboards\\\",\\\"length\\\"]],1],null],\\\"one-dashboard\\\"],null]]]],[14,1,\\\"realtime-grid\\\"],[12],[2,\\\"\\\\n    \\\"],[3,\\\"<button class=\\\\\\\"hamburger realtime-hamburger\\\\\\\">&#9776;</button>\\\"],[2,\\\"\\\\n\\\"],[6,[37,22],[[35,54]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\"    \\\"],[10,\\\"div\\\"],[14,0,\\\"dropdown realtime-hamburger\\\"],[12],[2,\\\"\\\\n        \\\"],[10,\\\"button\\\"],[14,0,\\\"btn btn-default dropdown-toggle\\\"],[14,1,\\\"dropdownMenu1\\\"],[14,\\\"data-toggle\\\",\\\"dropdown\\\"],[14,\\\"aria-haspopup\\\",\\\"true\\\"],[14,\\\"aria-expanded\\\",\\\"true\\\"],[14,4,\\\"button\\\"],[12],[2,\\\"\\\\n            ☰\\\\n        \\\"],[13],[2,\\\"\\\\n        \\\"],[10,\\\"ul\\\"],[14,0,\\\"dropdown-menu dropdown-menu-right\\\"],[14,\\\"aria-labelledby\\\",\\\"dropdownMenu1\\\"],[12],[2,\\\"\\\\n\\\"],[6,[37,22],[[35,75]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[6,[37,22],[[35,78]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\"            \\\"],[10,\\\"li\\\"],[12],[11,\\\"a\\\"],[24,6,\\\"#\\\"],[4,[38,0],[[32,0],\\\"showAddWidget\\\"],null],[12],[2,\\\"Add Widget\\\"],[13],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]]],[2,\\\"            \\\"],[10,\\\"li\\\"],[14,\\\"role\\\",\\\"separator\\\"],[14,0,\\\"divider\\\"],[12],[13],[2,\\\"\\\\n            \\\"],[10,\\\"li\\\"],[14,0,\\\"dropdown-header\\\"],[12],[2,\\\"Dashboards\\\"],[13],[2,\\\"\\\\n            \\\"],[10,\\\"li\\\"],[12],[11,\\\"a\\\"],[24,6,\\\"#\\\"],[4,[38,0],[[32,0],\\\"showEditDashboard\\\"],null],[12],[2,\\\"Add Dashboard \\\"],[13],[13],[2,\\\"\\\\n            \\\"],[10,\\\"li\\\"],[12],[11,\\\"a\\\"],[24,6,\\\"#\\\"],[4,[38,0],[[32,0],\\\"showSettings\\\"],null],[12],[2,\\\"Settings \\\"],[13],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]]],[2,\\\"            \\\"],[10,\\\"li\\\"],[14,\\\"role\\\",\\\"separator\\\"],[14,0,\\\"divider\\\"],[12],[13],[2,\\\"\\\\n            \\\"],[10,\\\"li\\\"],[14,0,\\\"dropdown-header\\\"],[12],[2,\\\"View\\\"],[13],[2,\\\"   \\\\n\\\\n\\\"],[6,[37,22],[[35,79]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\"            \\\"],[10,\\\"li\\\"],[12],[11,\\\"a\\\"],[24,6,\\\"#\\\"],[4,[38,0],[[32,0],\\\"toggleFullscreen\\\"],null],[12],[2,\\\"Full Screen Toggle\\\"],[13],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]]],[6,[37,2],[[35,75]],null,[[\\\"default\\\",\\\"else\\\"],[{\\\"statements\\\":[[2,\\\"            \\\"],[10,\\\"li\\\"],[12],[11,\\\"a\\\"],[24,6,\\\"#\\\"],[4,[38,0],[[32,0],\\\"toggleDashboardLock\\\"],null],[12],[2,\\\"Unlock Dashboard Layout\\\"],[13],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[2,\\\"            \\\"],[10,\\\"li\\\"],[12],[11,\\\"a\\\"],[24,6,\\\"#\\\"],[4,[38,0],[[32,0],\\\"toggleDashboardLock\\\"],null],[12],[2,\\\"Lock Dashboard Layout\\\"],[13],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]]],[2,\\\"            \\\"],[10,\\\"li\\\"],[14,\\\"role\\\",\\\"separator\\\"],[14,0,\\\"divider\\\"],[12],[13],[2,\\\"\\\\n            \\\"],[10,\\\"li\\\"],[14,0,\\\"dropdown-header\\\"],[12],[2,\\\"Support\\\"],[13],[2,\\\"\\\\n            \\\"],[10,\\\"li\\\"],[12],[11,\\\"a\\\"],[24,6,\\\"#\\\"],[4,[38,0],[[32,0],\\\"downloadDebug\\\"],null],[12],[2,\\\"Download Support Data\\\"],[13],[13],[2,\\\"\\\\n        \\\\n\\\\n        \\\"],[13],[2,\\\"\\\\n    \\\"],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]]],[2,\\\"    \\\"],[8,\\\"bs-tab\\\",[],[[\\\"@customTabs\\\",\\\"@activeId\\\",\\\"@onChange\\\"],[true,[34,81],[30,[36,0],[[32,0],\\\"selectTab\\\"],null]]],[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\"\\\\n    \\\"],[8,\\\"bs-nav\\\",[],[[\\\"@type\\\"],[\\\"tabs\\\"]],[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\"\\\\n\\\"],[6,[37,13],[[30,[36,12],[[30,[36,12],[[35,11,[\\\"dashboards\\\"]]],null]],null]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\"            \\\"],[8,[32,23,[\\\"item\\\"]],[[16,\\\"active\\\",[30,[36,7],[[32,15,[\\\"activeId\\\"]],[32,24,[\\\"id\\\"]]],null]],[16,0,[31,[[30,[36,2],[[30,[36,34],[[32,15,[\\\"activeId\\\"]],[32,24,[\\\"id\\\"]]],null],\\\"active\\\"],null]]]]],[[],[]],[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\"\\\\n                \\\"],[11,\\\"a\\\"],[16,6,[31,[\\\"#\\\",[32,24,[\\\"id\\\"]]]]],[24,\\\"role\\\",\\\"tab\\\"],[4,[38,0],[[32,0],[32,15,[\\\"select\\\"]],[32,24,[\\\"id\\\"]]],null],[12],[1,[32,24,[\\\"dashboardName\\\"]]],[13],[2,\\\" \\\\n            \\\"]],\\\"parameters\\\":[]}]]],[2,\\\" \\\\n\\\"]],\\\"parameters\\\":[24,25]}]]],[2,\\\"    \\\"]],\\\"parameters\\\":[23]}]]],[2,\\\"\\\\n\\\\n    \\\"],[10,\\\"div\\\"],[14,0,\\\"tab-content\\\"],[12],[2,\\\"\\\\n\\\\n\\\"],[6,[37,13],[[30,[36,12],[[30,[36,12],[[35,11,[\\\"dashboards\\\"]]],null]],null]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\"\\\\n        \\\"],[8,[32,15,[\\\"pane\\\"]],[],[[\\\"@id\\\",\\\"@title\\\"],[[32,16,[\\\"id\\\"]],[31,[[32,16,[\\\"dashboardName\\\"]]]]]],[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\"\\\\n\\\"],[6,[37,2],[[30,[36,7],[[32,15,[\\\"activeId\\\"]],[32,16,[\\\"id\\\"]]],null]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[6,[37,2],[[32,16,[\\\"statgrid\\\"]]],null,[[\\\"default\\\",\\\"else\\\"],[{\\\"statements\\\":[[2,\\\"        \\\"],[10,\\\"div\\\"],[14,0,\\\"container-fluid stat-grid\\\"],[12],[2,\\\"\\\\n\\\"],[6,[37,22],[[35,54]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\"            \\\"],[10,\\\"div\\\"],[14,0,\\\"widget-options pull-right\\\"],[12],[2,\\\"\\\\n                \\\"],[11,\\\"button\\\"],[24,0,\\\"btn btn-default btn-xs\\\"],[4,[38,0],[[32,0],\\\"showEditGrid\\\",[35,77]],null],[12],[2,\\\" \\\"],[10,\\\"i\\\"],[14,0,\\\"fa fa-pencil\\\"],[14,\\\"aria-hidden\\\",\\\"true\\\"],[12],[13],[13],[2,\\\"\\\\n                \\\"],[11,\\\"button\\\"],[24,0,\\\"btn btn-danger btn-xs\\\"],[4,[38,0],[[32,0],\\\"deleteStatGrid\\\",[35,77]],null],[12],[2,\\\" \\\"],[10,\\\"i\\\"],[14,0,\\\"fa fa-trash\\\"],[14,\\\"aria-hidden\\\",\\\"true\\\"],[12],[13],[13],[2,\\\"\\\\n            \\\"],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]]],[2,\\\"            \\\"],[1,[30,[36,65],null,[[\\\"queues\\\",\\\"configuration\\\",\\\"queueData\\\"],[[32,16,[\\\"statgrid\\\",\\\"configuration\\\",\\\"queueIds\\\"]],[32,16,[\\\"statgrid\\\"]],[35,56]]]]],[2,\\\"\\\\n        \\\"],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[6,[37,2],[[30,[36,34],[[32,16,[\\\"widgets\\\",\\\"length\\\"]],0],null]],null,[[\\\"default\\\",\\\"else\\\"],[{\\\"statements\\\":[[2,\\\"\\\\n        \\\"],[10,\\\"div\\\"],[14,0,\\\"container-fluid\\\"],[12],[2,\\\"\\\\n            \\\"],[10,\\\"div\\\"],[14,0,\\\"row\\\"],[12],[2,\\\"\\\\n                \\\"],[10,\\\"div\\\"],[14,0,\\\"col-md-6\\\"],[12],[2,\\\"\\\\n\\\\n                \\\"],[13],[2,\\\"\\\\n            \\\"],[13],[2,\\\"\\\\n            \\\"],[10,\\\"div\\\"],[14,0,\\\"row\\\"],[12],[2,\\\"\\\\n                \\\"],[10,\\\"div\\\"],[14,0,\\\"col-md-offset-3 col-md-6\\\"],[12],[2,\\\"\\\\n\\\"],[6,[37,2],[[30,[36,34],[[32,17],0],null]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\"                    \\\"],[10,\\\"div\\\"],[14,0,\\\"alert alert-info\\\"],[14,\\\"role\\\",\\\"alert\\\"],[12],[10,\\\"strong\\\"],[12],[2,\\\"Welcome!\\\"],[13],[2,\\\" You don't have any statistics configured yet. Use the buttons below to get started. There is a menu on the right to add new dashboards or statistics.  \\\"],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]]],[2,\\\"                \\\"],[13],[2,\\\"\\\\n            \\\"],[13],[2,\\\"\\\\n            \\\"],[10,\\\"div\\\"],[14,0,\\\"row\\\"],[12],[2,\\\"\\\\n                \\\"],[10,\\\"div\\\"],[14,0,\\\"col-md-offset-4 col-md-2\\\"],[12],[2,\\\"\\\\n                    \\\"],[11,\\\"button\\\"],[24,1,\\\"add-first-widget\\\"],[24,0,\\\"btn btn-primary btn-lg\\\"],[24,4,\\\"button\\\"],[4,[38,0],[[32,0],\\\"showAddWidget\\\"],null],[12],[2,\\\"Add Widget\\\"],[13],[2,\\\"\\\\n                \\\"],[13],[2,\\\"\\\\n\\\\n                \\\"],[10,\\\"div\\\"],[14,0,\\\"col-md-2\\\"],[12],[2,\\\"\\\\n                    \\\"],[11,\\\"button\\\"],[24,1,\\\"add-first-widget\\\"],[24,0,\\\"btn btn-primary btn-lg\\\"],[24,4,\\\"button\\\"],[4,[38,0],[[32,0],\\\"showEditGrid\\\"],null],[12],[2,\\\" Create Statistic Grid\\\"],[13],[2,\\\"\\\\n                \\\"],[13],[2,\\\"\\\\n            \\\"],[13],[2,\\\"\\\\n\\\\n        \\\"],[13],[2,\\\"\\\\n\\\\n\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[6,[37,2],[[32,16,[\\\"allowresize\\\"]]],null,[[\\\"default\\\",\\\"else\\\"],[{\\\"statements\\\":[[2,\\\"        \\\"],[10,\\\"div\\\"],[14,0,\\\"container-fluid \\\"],[12],[2,\\\"\\\\n\\\"],[6,[37,76],null,[[\\\"options\\\",\\\"onChange\\\"],[[30,[36,73],null,[[\\\"animate\\\",\\\"alwaysShowResizeHandle\\\",\\\"staticGrid\\\",\\\"disableOneColumnMode\\\"],[true,false,[35,75],false]]],[30,[36,0],[[32,0],\\\"gridChange\\\"],null]]],[[\\\"default\\\"],[{\\\"statements\\\":[[6,[37,13],[[30,[36,12],[[30,[36,12],[[32,16,[\\\"widgets\\\"]]],null]],null]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[6,[37,74],null,[[\\\"options\\\"],[[30,[36,73],null,[[\\\"id\\\",\\\"x\\\",\\\"y\\\",\\\"width\\\",\\\"height\\\",\\\"min-width\\\",\\\"min-height\\\",\\\"noResize\\\",\\\"noMove\\\"],[[32,21],[32,20,[\\\"x\\\"]],[32,20,[\\\"y\\\"]],[32,20,[\\\"width\\\"]],[32,20,[\\\"height\\\"]],1,1,[35,72],[35,72]]]]]],[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\"            \\\"],[10,\\\"div\\\"],[14,0,\\\"realtime-widget-resize\\\"],[12],[2,\\\"\\\\n\\\"],[6,[37,22],[[35,54]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\"               \\\\n                \\\"],[10,\\\"div\\\"],[14,0,\\\"widget-options\\\"],[12],[2,\\\"\\\\n                    \\\"],[11,\\\"button\\\"],[24,0,\\\"btn btn-default btn-xs\\\"],[4,[38,0],[[32,0],\\\"showEditWidget\\\",[32,21]],null],[12],[2,\\\" \\\"],[10,\\\"i\\\"],[14,0,\\\"fa fa-pencil\\\"],[14,\\\"aria-hidden\\\",\\\"true\\\"],[12],[13],[13],[2,\\\"                \\\\n                    \\\"],[11,\\\"button\\\"],[24,0,\\\"btn btn-danger btn-xs\\\"],[4,[38,0],[[32,0],\\\"deleteWidget\\\",[32,21]],null],[12],[2,\\\" \\\"],[10,\\\"i\\\"],[14,0,\\\"fa fa-trash\\\"],[14,\\\"aria-hidden\\\",\\\"true\\\"],[12],[13],[13],[2,\\\"                    \\\\n                \\\"],[13],[2,\\\"            \\\\n\\\"]],\\\"parameters\\\":[]}]]],[6,[37,2],[[30,[36,34],[[32,20,[\\\"widgetType\\\"]],\\\"clock\\\"],null]],null,[[\\\"default\\\",\\\"else\\\"],[{\\\"statements\\\":[[2,\\\"                \\\"],[1,[30,[36,71],null,[[\\\"class\\\",\\\"parentContainer\\\",\\\"configuration\\\"],[\\\"full-height\\\",[32,22],[32,20]]]]],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[6,[37,2],[[30,[36,34],[[32,20,[\\\"widgetType\\\"]],\\\"image\\\"],null]],null,[[\\\"default\\\",\\\"else\\\"],[{\\\"statements\\\":[[2,\\\"                \\\"],[1,[30,[36,70],null,[[\\\"parentContainer\\\",\\\"configuration\\\"],[[32,22],[32,20]]]]],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[6,[37,2],[[30,[36,34],[[32,20,[\\\"widgetType\\\"]],\\\"chart\\\"],null]],null,[[\\\"default\\\",\\\"else\\\"],[{\\\"statements\\\":[[2,\\\"                \\\"],[1,[30,[36,69],null,[[\\\"chartType\\\",\\\"configuration\\\",\\\"darkMode\\\"],[[32,20,[\\\"chartType\\\"]],[32,20],[35,11,[\\\"darkMode\\\"]]]]]],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[6,[37,2],[[30,[36,34],[[32,20,[\\\"widgetType\\\"]],\\\"observationchart\\\"],null]],null,[[\\\"default\\\",\\\"else\\\"],[{\\\"statements\\\":[[2,\\\"                \\\"],[1,[30,[36,68],null,[[\\\"configuration\\\",\\\"darkMode\\\",\\\"width\\\",\\\"height\\\"],[[32,20],[35,11,[\\\"darkMode\\\"]],[32,20,[\\\"width\\\"]],[32,20,[\\\"height\\\"]]]]]],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[6,[37,2],[[30,[36,34],[[32,20,[\\\"widgetType\\\"]],\\\"topwrapups\\\"],null]],null,[[\\\"default\\\",\\\"else\\\"],[{\\\"statements\\\":[[2,\\\"                \\\"],[1,[30,[36,67],null,[[\\\"configuration\\\"],[[32,20]]]]],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[6,[37,2],[[30,[36,34],[[32,20,[\\\"widgetType\\\"]],\\\"agentstats\\\"],null]],null,[[\\\"default\\\",\\\"else\\\"],[{\\\"statements\\\":[[2,\\\"                \\\"],[1,[30,[36,66],null,[[\\\"configuration\\\"],[[32,20]]]]],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[6,[37,2],[[30,[36,34],[[32,20,[\\\"widgetType\\\"]],\\\"queuestats\\\"],null]],null,[[\\\"default\\\",\\\"else\\\"],[{\\\"statements\\\":[[2,\\\"                \\\"],[1,[30,[36,65],null,[[\\\"queues\\\",\\\"configuration\\\",\\\"queueData\\\",\\\"isWidget\\\"],[[32,20,[\\\"queueIds\\\"]],[32,20],[35,56],true]]]],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[6,[37,2],[[30,[36,34],[[32,20,[\\\"widgetType\\\"]],\\\"queuecalls\\\"],null]],null,[[\\\"default\\\",\\\"else\\\"],[{\\\"statements\\\":[[2,\\\"                \\\"],[1,[30,[36,64],null,[[\\\"queues\\\",\\\"configuration\\\",\\\"queueData\\\",\\\"isWidget\\\"],[[32,20,[\\\"queueIds\\\"]],[32,20],[35,56],true]]]],[2,\\\"\\\\n                \\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[6,[37,2],[[30,[36,34],[[32,20,[\\\"widgetType\\\"]],\\\"webframe\\\"],null]],null,[[\\\"default\\\",\\\"else\\\"],[{\\\"statements\\\":[[2,\\\"                \\\"],[1,[30,[36,63],null,[[\\\"configuration\\\"],[[32,20]]]]],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[6,[37,2],[[30,[36,34],[[32,20,[\\\"widgetType\\\"]],\\\"debug\\\"],null]],null,[[\\\"default\\\",\\\"else\\\"],[{\\\"statements\\\":[[2,\\\"                \\\"],[1,[34,62]],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[6,[37,2],[[30,[36,34],[[32,20,[\\\"widgetType\\\"]],\\\"statictext\\\"],null]],null,[[\\\"default\\\",\\\"else\\\"],[{\\\"statements\\\":[[2,\\\"                \\\"],[1,[30,[36,61],null,[[\\\"class\\\",\\\"configuration\\\"],[\\\"full-height\\\",[32,20]]]]],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[2,\\\"                \\\"],[1,[30,[36,58],null,[[\\\"class\\\",\\\"parentContainer\\\",\\\"configuration\\\",\\\"lastupdate\\\",\\\"dashboardIndex\\\",\\\"widgetIndex\\\",\\\"darkMode\\\"],[\\\"full-height\\\",[32,22],[32,20],[35,55],[32,17],[32,21],[35,11,[\\\"darkMode\\\"]]]]]],[2,\\\"\\\\n                \\\"]],\\\"parameters\\\":[]}]]]],\\\"parameters\\\":[]}]]]],\\\"parameters\\\":[]}]]]],\\\"parameters\\\":[]}]]]],\\\"parameters\\\":[]}]]]],\\\"parameters\\\":[]}]]]],\\\"parameters\\\":[]}]]]],\\\"parameters\\\":[]}]]]],\\\"parameters\\\":[]}]]]],\\\"parameters\\\":[]}]]]],\\\"parameters\\\":[]}]]],[2,\\\"            \\\"],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[22]}]]]],\\\"parameters\\\":[20,21]}]]],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]]],[2,\\\"        \\\"],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[2,\\\"        \\\"],[10,\\\"div\\\"],[14,0,\\\"container-fluid widget-grid \\\"],[12],[2,\\\"\\\\n            \\\"],[10,\\\"div\\\"],[14,0,\\\"row\\\"],[12],[2,\\\"\\\\n\\\"],[6,[37,2],[[30,[36,34],[[32,16,[\\\"showTimeLogoHeader\\\"]],true],null]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\"\\\\n                \\\"],[10,\\\"div\\\"],[14,1,\\\"logo-img\\\"],[15,5,[31,[\\\"background-image:url(\\\",[32,16,[\\\"logoUrl\\\"]],\\\")\\\"]]],[12],[13],[2,\\\"\\\\n                \\\"],[1,[34,60]],[2,\\\"\\\\n\\\\n\\\"]],\\\"parameters\\\":[]}]]],[6,[37,2],[[30,[36,34],[[32,16,[\\\"showTimezones\\\"]],true],null]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\"                \\\"],[1,[30,[36,59],null,[[\\\"hourformat24\\\"],[[32,16,[\\\"hourformat24\\\"]]]]]],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]]],[2,\\\"\\\\n            \\\"],[13],[2,\\\"\\\\n            \\\"],[10,\\\"div\\\"],[14,0,\\\"widget-contaner\\\"],[12],[2,\\\"\\\\n\\\"],[6,[37,13],[[30,[36,12],[[30,[36,12],[[32,16,[\\\"widgets\\\"]]],null]],null]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\"\\\\n                \\\"],[10,\\\"div\\\"],[15,0,[31,[\\\"realtime-widget realtime-widget-\\\",[32,16,[\\\"widgetSize\\\"]]]]],[12],[2,\\\"\\\\n\\\"],[6,[37,22],[[35,54]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\"                    \\\"],[10,\\\"div\\\"],[14,0,\\\"widget-options\\\"],[12],[2,\\\"\\\\n                        \\\"],[11,\\\"button\\\"],[24,0,\\\"btn btn-default btn-xs\\\"],[4,[38,0],[[32,0],\\\"showEditWidget\\\",[32,19]],null],[12],[2,\\\" \\\"],[10,\\\"i\\\"],[14,0,\\\"fa fa-pencil\\\"],[14,\\\"aria-hidden\\\",\\\"true\\\"],[12],[13],[13],[2,\\\"\\\\n                        \\\"],[11,\\\"button\\\"],[24,0,\\\"btn btn-danger btn-xs\\\"],[4,[38,0],[[32,0],\\\"deleteWidget\\\",[32,19]],null],[12],[2,\\\" \\\"],[10,\\\"i\\\"],[14,0,\\\"fa fa-trash\\\"],[14,\\\"aria-hidden\\\",\\\"true\\\"],[12],[13],[13],[2,\\\"\\\\n                    \\\"],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]]],[2,\\\"                    \\\"],[1,[30,[36,58],null,[[\\\"observationData\\\",\\\"queueData\\\",\\\"configuration\\\",\\\"lastupdate\\\",\\\"dashboardIndex\\\",\\\"widgetIndex\\\"],[[35,57],[35,56],[32,18],[35,55],[32,17],[32,19]]]]],[2,\\\"\\\\n                \\\"],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[18,19]}]]],[2,\\\"            \\\"],[13],[2,\\\"\\\\n\\\\n\\\\n        \\\"],[13],[2,\\\"\\\\n        \\\"]],\\\"parameters\\\":[]}]]]],\\\"parameters\\\":[]}]]]],\\\"parameters\\\":[]}]]]],\\\"parameters\\\":[]}]]],[2,\\\"        \\\"]],\\\"parameters\\\":[]}]]],[2,\\\"\\\\n\\\\n\\\"]],\\\"parameters\\\":[16,17]}]]],[2,\\\"    \\\"],[13],[2,\\\"\\\\n    \\\"]],\\\"parameters\\\":[15]}]]],[2,\\\"\\\\n\\\\n\\\"],[13],[2,\\\"\\\\n\\\\n\\\"],[6,[37,22],[[30,[36,34],[[35,30],null],null]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[6,[37,19],null,[[\\\"size\\\",\\\"id\\\",\\\"title\\\",\\\"footer\\\",\\\"closeAction\\\"],[\\\"lg\\\",\\\"widget-modal\\\",\\\"Widget\\\",false,[30,[36,0],[[32,0],\\\"cancelAddWidget\\\"],null]]],[[\\\"default\\\"],[{\\\"statements\\\":[[6,[37,10],[[30,[36,9],[[32,9,[\\\"body\\\"]],\\\"expected `modal.body` to be a contextual component but found a string. Did you mean `(component modal.body)`? ('insights-web/templates/components/realtime-grid.hbs' @ L191:C3) \\\"],null]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[10,\\\"div\\\"],[14,0,\\\"container-full widget-configuration\\\"],[12],[2,\\\"\\\\n    \\\"],[10,\\\"div\\\"],[14,0,\\\"row\\\"],[12],[2,\\\"\\\\n        \\\"],[10,\\\"div\\\"],[14,0,\\\"col-md-2\\\"],[12],[2,\\\"\\\\n            \\\"],[10,\\\"label\\\"],[12],[2,\\\"Widget Type\\\"],[13],[2,\\\"\\\\n        \\\"],[13],[2,\\\"\\\\n        \\\"],[10,\\\"div\\\"],[14,0,\\\"col-md-4\\\"],[12],[2,\\\"\\\\n            \\\"],[1,[30,[36,37],null,[[\\\"idKey\\\",\\\"nameKey\\\",\\\"items\\\",\\\"selectedItem\\\"],[\\\"key\\\",\\\"text\\\",[35,53],[35,30,[\\\"widgetType\\\"]]]]]],[2,\\\"\\\\n\\\\n        \\\"],[13],[2,\\\"\\\\n\\\\n    \\\"],[13],[2,\\\"\\\\n\\\"],[6,[37,2],[[30,[36,34],[[35,30,[\\\"widgetType\\\"]],\\\"clock\\\"],null]],null,[[\\\"default\\\",\\\"else\\\"],[{\\\"statements\\\":[[2,\\\"    \\\"],[1,[30,[36,52],null,[[\\\"editWidget\\\"],[[35,30]]]]],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[6,[37,2],[[30,[36,34],[[35,30,[\\\"widgetType\\\"]],\\\"debug\\\"],null]],null,[[\\\"default\\\",\\\"else\\\"],[{\\\"statements\\\":[[2,\\\"    \\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[6,[37,2],[[30,[36,34],[[35,30,[\\\"widgetType\\\"]],\\\"observationchart\\\"],null]],null,[[\\\"default\\\",\\\"else\\\"],[{\\\"statements\\\":[[2,\\\"    \\\"],[1,[30,[36,51],null,[[\\\"editWidget\\\"],[[35,30]]]]],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[6,[37,2],[[30,[36,34],[[35,30,[\\\"widgetType\\\"]],\\\"webframe\\\"],null]],null,[[\\\"default\\\",\\\"else\\\"],[{\\\"statements\\\":[[2,\\\"    \\\"],[1,[30,[36,50],null,[[\\\"editWidget\\\"],[[35,30]]]]],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[6,[37,2],[[30,[36,34],[[35,30,[\\\"widgetType\\\"]],\\\"statictext\\\"],null]],null,[[\\\"default\\\",\\\"else\\\"],[{\\\"statements\\\":[[2,\\\"    \\\"],[1,[30,[36,49],null,[[\\\"editWidget\\\"],[[35,30]]]]],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[6,[37,2],[[30,[36,34],[[35,30,[\\\"widgetType\\\"]],\\\"image\\\"],null]],null,[[\\\"default\\\",\\\"else\\\"],[{\\\"statements\\\":[[2,\\\"    \\\"],[1,[30,[36,48],null,[[\\\"editWidget\\\"],[[35,30]]]]],[2,\\\"\\\\n\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[6,[37,2],[[30,[36,34],[[35,30,[\\\"widgetType\\\"]],\\\"chart\\\"],null]],null,[[\\\"default\\\",\\\"else\\\"],[{\\\"statements\\\":[[2,\\\"    \\\"],[10,\\\"div\\\"],[14,0,\\\"row\\\"],[12],[2,\\\"\\\\n        \\\"],[10,\\\"div\\\"],[14,0,\\\"col-md-2\\\"],[12],[2,\\\"\\\\n            \\\"],[10,\\\"label\\\"],[12],[2,\\\"Title\\\"],[13],[2,\\\"\\\\n        \\\"],[13],[2,\\\"\\\\n        \\\"],[10,\\\"div\\\"],[14,0,\\\"col-md-4\\\"],[12],[2,\\\"\\\\n            \\\"],[1,[30,[36,6],null,[[\\\"class\\\",\\\"value\\\"],[\\\"form-control\\\",[35,30,[\\\"title\\\"]]]]]],[2,\\\"\\\\n        \\\"],[13],[2,\\\"\\\\n\\\\n\\\\n    \\\"],[13],[2,\\\"\\\\n    \\\"],[10,\\\"div\\\"],[14,0,\\\"row\\\"],[12],[2,\\\"\\\\n        \\\"],[10,\\\"div\\\"],[14,0,\\\"col-md-2\\\"],[12],[2,\\\"\\\\n            \\\"],[10,\\\"label\\\"],[12],[2,\\\"Chart Type\\\"],[13],[2,\\\"\\\\n        \\\"],[13],[2,\\\"\\\\n        \\\"],[10,\\\"div\\\"],[14,0,\\\"col-md-4\\\"],[12],[2,\\\"\\\\n            \\\"],[1,[30,[36,37],null,[[\\\"idKey\\\",\\\"nameKey\\\",\\\"items\\\",\\\"selectedItem\\\"],[\\\"key\\\",\\\"text\\\",[35,47,[\\\"chartTypes\\\"]],[35,30,[\\\"chartType\\\"]]]]]],[2,\\\"\\\\n        \\\"],[13],[2,\\\"\\\\n        \\\"],[10,\\\"div\\\"],[14,0,\\\"col-md-1\\\"],[12],[2,\\\"\\\\n            \\\"],[10,\\\"label\\\"],[12],[2,\\\"Stat Type\\\"],[13],[2,\\\"\\\\n        \\\"],[13],[2,\\\"\\\\n        \\\"],[10,\\\"div\\\"],[14,0,\\\"col-md-4\\\"],[12],[2,\\\"\\\\n\\\"],[6,[37,44],null,[[\\\"options\\\",\\\"selected\\\",\\\"searchField\\\",\\\"onChange\\\"],[[35,47,[\\\"stats\\\"]],[35,40],\\\"text\\\",[30,[36,0],[[32,0],[30,[36,42],[[35,40]],null]],null]]],[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\"              \\\"],[1,[32,14,[\\\"text\\\"]]],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[14]}]]],[2,\\\"        \\\"],[13],[2,\\\"\\\\n    \\\"],[13],[2,\\\"\\\\n    \\\"],[10,\\\"div\\\"],[14,0,\\\"row\\\"],[12],[2,\\\"\\\\n\\\\n        \\\"],[10,\\\"div\\\"],[14,0,\\\"col-md-2\\\"],[12],[2,\\\"\\\\n            \\\"],[10,\\\"label\\\"],[12],[2,\\\"Interval\\\"],[13],[2,\\\"\\\\n        \\\"],[13],[2,\\\"\\\\n        \\\"],[10,\\\"div\\\"],[14,0,\\\"col-md-4\\\"],[12],[2,\\\"\\\\n            \\\"],[1,[30,[36,37],null,[[\\\"idKey\\\",\\\"nameKey\\\",\\\"items\\\",\\\"selectedItem\\\"],[\\\"key\\\",\\\"text\\\",[35,47,[\\\"intervals\\\"]],[35,30,[\\\"interval\\\"]]]]]],[2,\\\"\\\\n        \\\"],[13],[2,\\\"\\\\n\\\\n        \\\"],[10,\\\"div\\\"],[14,0,\\\"col-md-2\\\"],[12],[2,\\\"\\\\n            \\\"],[10,\\\"label\\\"],[12],[2,\\\"Display By\\\"],[13],[2,\\\"\\\\n        \\\"],[13],[2,\\\"\\\\n        \\\"],[10,\\\"div\\\"],[14,0,\\\"col-md-4\\\"],[12],[2,\\\"\\\\n            \\\"],[1,[30,[36,37],null,[[\\\"idKey\\\",\\\"nameKey\\\",\\\"items\\\",\\\"selectedItem\\\"],[\\\"key\\\",\\\"text\\\",[35,47,[\\\"dataSet\\\"]],[35,30,[\\\"dataSet\\\"]]]]]],[2,\\\"\\\\n        \\\"],[13],[2,\\\"\\\\n    \\\"],[13],[2,\\\"\\\\n\\\"],[6,[37,2],[[30,[36,34],[[35,30,[\\\"interval\\\"]],\\\"P1D\\\"],null]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\"    \\\"],[10,\\\"div\\\"],[14,0,\\\"row\\\"],[12],[2,\\\"\\\\n    \\\"],[10,\\\"div\\\"],[14,0,\\\"col-md-5\\\"],[12],[2,\\\"\\\\n        \\\"],[10,\\\"label\\\"],[12],[2,\\\"Hide Saturday and Sunday \\\"],[13],[2,\\\"\\\\n\\\\n        \\\"],[1,[30,[36,6],null,[[\\\"type\\\",\\\"checked\\\"],[\\\"checkbox\\\",[35,30,[\\\"hideWeekend\\\"]]]]]],[2,\\\"\\\\n    \\\"],[13],[2,\\\"\\\\n    \\\"],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]]],[6,[37,22],[[30,[36,34],[[35,30,[\\\"type\\\"]],\\\"oServiceLevel\\\"],null]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[6,[37,22],[[30,[36,34],[[35,30,[\\\"type\\\"]],\\\"tAnswered\\\"],null]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[6,[37,22],[[30,[36,34],[[35,30,[\\\"type\\\"]],\\\"tHeldComplete\\\"],null]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[6,[37,22],[[30,[36,34],[[35,30,[\\\"type\\\"]],\\\"tAbandon\\\"],null]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\"    \\\"],[10,\\\"div\\\"],[14,0,\\\"row\\\"],[12],[2,\\\"\\\\n\\\\n    \\\"],[10,\\\"div\\\"],[14,0,\\\"col-md-5\\\"],[12],[2,\\\"\\\\n        \\\"],[10,\\\"label\\\"],[12],[2,\\\"Stack Values\\\"],[13],[2,\\\"\\\\n\\\\n        \\\"],[1,[30,[36,6],null,[[\\\"type\\\",\\\"checked\\\"],[\\\"checkbox\\\",[35,30,[\\\"stackValues\\\"]]]]]],[2,\\\"\\\\n    \\\"],[13],[2,\\\"\\\\n\\\\n    \\\"],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]]]],\\\"parameters\\\":[]}]]]],\\\"parameters\\\":[]}]]]],\\\"parameters\\\":[]}]]],[2,\\\"    \\\"],[1,[30,[36,28],null,[[\\\"selectedQueueIds\\\",\\\"loadPrevious\\\",\\\"nocacheselected\\\"],[[35,30,[\\\"queueIds\\\"]],false,true]]]],[2,\\\"\\\\n\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[2,\\\"\\\\n    \\\"],[10,\\\"div\\\"],[14,0,\\\"row\\\"],[12],[2,\\\"\\\\n\\\"],[6,[37,2],[[30,[36,34],[[35,30,[\\\"widgetType\\\"]],\\\"agentstats\\\"],null]],null,[[\\\"default\\\",\\\"else\\\"],[{\\\"statements\\\":[[2,\\\"        \\\"],[10,\\\"div\\\"],[14,0,\\\"col-md-3\\\"],[12],[2,\\\"\\\\n            \\\"],[1,[30,[36,6],null,[[\\\"type\\\",\\\"checked\\\"],[\\\"checkbox\\\",[35,30,[\\\"showAgentPicture\\\"]]]]]],[2,\\\"\\\\n            \\\"],[10,\\\"label\\\"],[12],[2,\\\"Show Agent Picture\\\"],[13],[2,\\\"\\\\n        \\\"],[13],[2,\\\"\\\\n         \\\"],[10,\\\"div\\\"],[14,0,\\\"col-md-3\\\"],[12],[2,\\\"\\\\n            \\\"],[1,[30,[36,6],null,[[\\\"type\\\",\\\"checked\\\"],[\\\"checkbox\\\",[35,30,[\\\"showOffline\\\"]]]]]],[2,\\\"\\\\n            \\\"],[10,\\\"label\\\"],[12],[2,\\\"Show Offline Agents\\\"],[13],[2,\\\"\\\\n        \\\"],[13],[2,\\\"\\\\n        \\\"],[10,\\\"div\\\"],[14,0,\\\"col-md-3\\\"],[12],[2,\\\"\\\\n            \\\"],[1,[30,[36,6],null,[[\\\"type\\\",\\\"checked\\\"],[\\\"checkbox\\\",[35,30,[\\\"showOffQueue\\\"]]]]]],[2,\\\"\\\\n            \\\"],[10,\\\"label\\\"],[12],[2,\\\"Show Off Queue Agents\\\"],[13],[2,\\\"\\\\n        \\\"],[13],[2,\\\"\\\\n        \\\"],[10,\\\"div\\\"],[14,0,\\\"col-md-3\\\"],[12],[2,\\\"\\\\n            \\\"],[1,[30,[36,6],null,[[\\\"type\\\",\\\"checked\\\"],[\\\"checkbox\\\",[35,30,[\\\"showInactiveAgents\\\"]]]]]],[2,\\\"\\\\n            \\\"],[10,\\\"label\\\"],[12],[2,\\\"Show Inactive Agents\\\"],[13],[2,\\\"\\\\n        \\\"],[13],[2,\\\"\\\\n        \\\"],[10,\\\"div\\\"],[14,0,\\\"col-md-2\\\"],[12],[2,\\\"\\\\n            \\\\n            \\\"],[10,\\\"label\\\"],[12],[2,\\\"Sort By\\\"],[13],[2,\\\"\\\\n        \\\"],[13],[2,\\\"\\\\n        \\\"],[10,\\\"div\\\"],[14,0,\\\"col-md-2\\\"],[12],[2,\\\"\\\\n            \\\"],[1,[30,[36,32],null,[[\\\"items\\\",\\\"selectedItem\\\"],[[35,45],[35,30,[\\\"sortBy\\\"]]]]]],[2,\\\"\\\\n        \\\"],[13],[2,\\\"\\\\n\\\\n        \\\"],[10,\\\"div\\\"],[14,0,\\\"col-md-2\\\"],[12],[2,\\\"\\\\n            \\\"],[10,\\\"label\\\"],[12],[2,\\\"Font Size\\\"],[13],[2,\\\"\\\\n        \\\"],[13],[2,\\\"\\\\n        \\\"],[10,\\\"div\\\"],[14,0,\\\"col-md-2\\\"],[12],[2,\\\"\\\\n            \\\"],[1,[30,[36,6],null,[[\\\"class\\\",\\\"value\\\",\\\"type\\\"],[\\\"form-control\\\",[35,30,[\\\"fontsize\\\"]],\\\"number\\\"]]]],[2,\\\"\\\\n        \\\"],[13],[2,\\\"\\\\n\\\\n        \\\"],[10,\\\"div\\\"],[14,0,\\\"col-md-12\\\"],[12],[2,\\\"\\\\n            \\\"],[1,[30,[36,6],null,[[\\\"type\\\",\\\"checked\\\"],[\\\"checkbox\\\",[35,30,[\\\"useCustomQueueColors\\\"]]]]]],[2,\\\"\\\\n            \\\"],[10,\\\"label\\\"],[12],[2,\\\"Use Custom Queue Status Colors\\\"],[13],[10,\\\"p\\\"],[12],[13],[2,\\\"\\\\n        \\\"],[13],[2,\\\"\\\\n\\\"],[6,[37,2],[[35,30,[\\\"useCustomQueueColors\\\"]]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\"        \\\"],[10,\\\"div\\\"],[14,0,\\\"col-md-12\\\"],[12],[2,\\\"\\\\n            \\\"],[10,\\\"div\\\"],[14,0,\\\"agent-status-custom-color\\\"],[12],[2,\\\"  \\\"],[1,[30,[36,33],null,[[\\\"format\\\",\\\"value\\\"],[\\\"hexa\\\",[35,30,[\\\"idleColor\\\"]]]]]],[2,\\\" Idle\\\"],[13],[2,\\\" \\\\n        \\\"],[13],[2,\\\"\\\\n\\\\n        \\\"],[10,\\\"div\\\"],[14,0,\\\"col-md-12\\\"],[12],[2,\\\"\\\\n            \\\"],[10,\\\"div\\\"],[14,0,\\\"agent-status-custom-color\\\"],[12],[2,\\\" \\\"],[1,[30,[36,33],null,[[\\\"format\\\",\\\"value\\\"],[\\\"hexa\\\",[35,30,[\\\"notRespondingColor\\\"]]]]]],[2,\\\" Not Responding \\\"],[13],[2,\\\" \\\\n        \\\"],[13],[2,\\\"\\\\n\\\\n        \\\"],[10,\\\"div\\\"],[14,0,\\\"col-md-12\\\"],[12],[2,\\\"            \\\\n            \\\"],[10,\\\"div\\\"],[14,0,\\\"agent-status-custom-color\\\"],[12],[2,\\\"  \\\"],[1,[30,[36,33],null,[[\\\"format\\\",\\\"value\\\"],[\\\"hexa\\\",[35,30,[\\\"interactingColor\\\"]]]]]],[2,\\\" Interacting\\\"],[13],[2,\\\" \\\\n        \\\"],[13],[2,\\\"\\\\n       \\\\n\\\"]],\\\"parameters\\\":[]}]]],[2,\\\"\\\\n\\\\n        \\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[2,\\\"        \\\"],[10,\\\"div\\\"],[14,0,\\\"col-md-2\\\"],[12],[2,\\\"\\\\n            \\\"],[10,\\\"label\\\"],[12],[2,\\\"Title\\\"],[13],[2,\\\"\\\\n        \\\"],[13],[2,\\\"\\\\n        \\\"],[10,\\\"div\\\"],[14,0,\\\"col-md-4\\\"],[12],[2,\\\"\\\\n            \\\"],[1,[30,[36,6],null,[[\\\"class\\\",\\\"value\\\"],[\\\"form-control\\\",[35,30,[\\\"title\\\"]]]]]],[2,\\\"\\\\n        \\\"],[13],[2,\\\"\\\\n\\\"],[6,[37,22],[[30,[36,34],[[35,30,[\\\"widgetType\\\"]],\\\"topwrapups\\\"],null]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[6,[37,22],[[30,[36,34],[[35,30,[\\\"widgetType\\\"]],\\\"queuestats\\\"],null]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[6,[37,22],[[30,[36,34],[[35,30,[\\\"widgetType\\\"]],\\\"queuecalls\\\"],null]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\"\\\\n\\\\n        \\\"],[10,\\\"div\\\"],[14,0,\\\"col-md-2\\\"],[12],[2,\\\"\\\\n            \\\"],[10,\\\"label\\\"],[12],[2,\\\"Statistic\\\"],[13],[2,\\\"\\\\n        \\\"],[13],[2,\\\"\\\\n        \\\"],[10,\\\"div\\\"],[14,0,\\\"col-md-4\\\"],[12],[2,\\\"\\\\n\\\"],[6,[37,44],null,[[\\\"options\\\",\\\"selected\\\",\\\"searchField\\\",\\\"onChange\\\"],[[35,43],[35,40],\\\"text\\\",[30,[36,0],[[32,0],[30,[36,42],[[35,40]],null]],null]]],[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\"              \\\"],[1,[32,13,[\\\"text\\\"]]],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[13]}]]],[2,\\\"        \\\"],[13],[2,\\\"\\\\n     \\\\n\\\"],[6,[37,22],[[35,40,[\\\"isObservation\\\"]]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[6,[37,22],[[35,40,[\\\"isCampaign\\\"]]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\"        \\\"],[10,\\\"div\\\"],[14,0,\\\"col-md-2\\\"],[12],[2,\\\"\\\\n            \\\"],[10,\\\"label\\\"],[12],[2,\\\"Interval\\\"],[13],[2,\\\"\\\\n        \\\"],[13],[2,\\\"\\\\n        \\\"],[10,\\\"div\\\"],[14,0,\\\"col-md-4\\\"],[12],[2,\\\"\\\\n            \\\"],[1,[30,[36,37],null,[[\\\"idKey\\\",\\\"nameKey\\\",\\\"items\\\",\\\"selectedItem\\\"],[\\\"id\\\",\\\"name\\\",[35,41],[35,30,[\\\"timePeriod\\\"]]]]]],[2,\\\"\\\\n        \\\\n        \\\"],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]]]],\\\"parameters\\\":[]}]]]],\\\"parameters\\\":[]}]]]],\\\"parameters\\\":[]}]]]],\\\"parameters\\\":[]}]]],[2,\\\"        \\\\n\\\"],[6,[37,2],[[30,[36,34],[[35,30,[\\\"widgetType\\\"]],\\\"topwrapups\\\"],null]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\"\\\\n        \\\"],[10,\\\"div\\\"],[14,0,\\\"col-md-2\\\"],[12],[2,\\\"\\\\n            \\\"],[10,\\\"label\\\"],[12],[2,\\\"Count\\\"],[13],[2,\\\"\\\\n        \\\"],[13],[2,\\\"\\\\n        \\\"],[10,\\\"div\\\"],[14,0,\\\"col-md-2\\\"],[12],[2,\\\"\\\\n            \\\"],[1,[30,[36,6],null,[[\\\"class\\\",\\\"value\\\",\\\"type\\\"],[\\\"form-control\\\",[35,30,[\\\"count\\\"]],\\\"number\\\"]]]],[2,\\\"\\\\n        \\\"],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]]],[2,\\\"\\\\n\\\"],[6,[37,2],[[30,[36,34],[[35,30,[\\\"widgetType\\\"]],\\\"queuestats\\\"],null]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\"\\\\n        \\\"],[10,\\\"div\\\"],[14,0,\\\"col-md-2\\\"],[12],[2,\\\"\\\\n            \\\"],[10,\\\"label\\\"],[12],[2,\\\"Font Size\\\"],[13],[2,\\\"\\\\n        \\\"],[13],[2,\\\"\\\\n        \\\"],[10,\\\"div\\\"],[14,0,\\\"col-md-2\\\"],[12],[2,\\\"\\\\n            \\\"],[1,[30,[36,6],null,[[\\\"class\\\",\\\"value\\\",\\\"type\\\"],[\\\"form-control\\\",[35,30,[\\\"fontsize\\\"]],\\\"number\\\"]]]],[2,\\\"\\\\n        \\\"],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]]],[2,\\\"\\\\n\\\\n\\\"]],\\\"parameters\\\":[]}]]],[2,\\\"\\\\n\\\\n    \\\"],[13],[2,\\\"\\\\n\\\"],[6,[37,2],[[30,[36,34],[[35,40,[\\\"category\\\"]],\\\"Queue\\\"],null]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[6,[37,22],[[35,40,[\\\"agentStat\\\"]]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\"    \\\"],[10,\\\"div\\\"],[14,0,\\\"row\\\"],[12],[2,\\\"\\\\n        \\\"],[10,\\\"div\\\"],[14,0,\\\"col-md-offset-6 col-md-2\\\"],[12],[2,\\\"\\\\n            \\\"],[10,\\\"label\\\"],[12],[2,\\\"Media Type\\\"],[13],[2,\\\"\\\\n        \\\"],[13],[2,\\\"\\\\n        \\\"],[10,\\\"div\\\"],[14,0,\\\"col-md-4\\\"],[12],[2,\\\"\\\\n            \\\"],[1,[30,[36,32],null,[[\\\"items\\\",\\\"selectedItem\\\"],[[35,39],[35,30,[\\\"mediaType\\\"]]]]]],[2,\\\"\\\\n        \\\\n        \\\"],[13],[2,\\\"\\\\n    \\\"],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]]]],\\\"parameters\\\":[]}]]],[2,\\\"\\\\n\\\"],[6,[37,2],[[35,46]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\"    \\\"],[10,\\\"div\\\"],[14,0,\\\"row\\\"],[12],[2,\\\"\\\\n        \\\"],[10,\\\"div\\\"],[14,0,\\\"col-md-5\\\"],[12],[2,\\\"\\\\n            \\\"],[10,\\\"label\\\"],[12],[2,\\\"Show timer when value is zero\\\"],[13],[2,\\\"\\\\n\\\\n            \\\"],[1,[30,[36,6],null,[[\\\"type\\\",\\\"checked\\\"],[\\\"checkbox\\\",[35,30,[\\\"zeroTimer\\\"]]]]]],[2,\\\"\\\\n        \\\"],[13],[2,\\\"\\\\n    \\\"],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]]],[6,[37,2],[[30,[36,34],[[35,40,[\\\"isCampaign\\\"]],true],null]],null,[[\\\"default\\\",\\\"else\\\"],[{\\\"statements\\\":[[6,[37,29],null,[[\\\"title\\\",\\\"description\\\"],[\\\"Campaign\\\",\\\"Select which campign to view statistic for.\\\"]],[[\\\"default\\\"],[{\\\"statements\\\":[[6,[37,2],[[35,38,[\\\"hasCampaignView\\\"]]],null,[[\\\"default\\\",\\\"else\\\"],[{\\\"statements\\\":[[2,\\\"        \\\"],[1,[30,[36,37],null,[[\\\"idKey\\\",\\\"nameKey\\\",\\\"items\\\",\\\"selectedItem\\\"],[\\\"id\\\",\\\"name\\\",[35,36],[35,30,[\\\"campaignId\\\"]]]]]],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[2,\\\"        \\\"],[10,\\\"div\\\"],[14,0,\\\"text-danger\\\"],[12],[2,\\\"User does not have outbound:campaign:view permission.\\\"],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]]],[2,\\\"        \\\\n\\\"]],\\\"parameters\\\":[]}]]],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[2,\\\"        \\\"],[1,[30,[36,28],null,[[\\\"selectedQueueIds\\\",\\\"loadPrevious\\\",\\\"nocacheselected\\\"],[[35,30,[\\\"queueIds\\\"]],false,true]]]],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]]],[2,\\\"\\\\n\\\"],[6,[37,2],[[30,[36,34],[[35,30,[\\\"widgetType\\\"]],\\\"agentstats\\\"],null]],null,[[\\\"default\\\",\\\"else\\\"],[{\\\"statements\\\":[[6,[37,29],null,[[\\\"title\\\",\\\"description\\\"],[\\\"Statistics\\\",\\\"Select which statistics are included in the grid\\\"]],[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\"        \\\"],[1,[30,[36,26],null,[[\\\"availableItems\\\",\\\"selectedItems\\\",\\\"sortSelected\\\",\\\"title\\\"],[[35,35],[35,24],true,\\\"\\\"]]]],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]]]],\\\"parameters\\\":[]},{\\\"statements\\\":[[6,[37,22],[[30,[36,34],[[35,30,[\\\"widgetType\\\"]],\\\"topwrapups\\\"],null]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\"\\\\n\\\"],[6,[37,2],[[30,[36,34],[[35,30,[\\\"widgetType\\\"]],\\\"queuestats\\\"],null]],null,[[\\\"default\\\",\\\"else\\\"],[{\\\"statements\\\":[[6,[37,29],null,[[\\\"title\\\",\\\"description\\\"],[\\\"Statistics\\\",\\\"Select which statistics are included in the grid\\\"]],[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\"        \\\"],[1,[30,[36,26],null,[[\\\"availableItems\\\",\\\"selectedItems\\\",\\\"sortSelected\\\",\\\"title\\\"],[[35,25],[35,24],true,\\\"\\\"]]]],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]]]],\\\"parameters\\\":[]},{\\\"statements\\\":[[2,\\\"            \\\\n\\\\n\\\"],[6,[37,29],null,[[\\\"title\\\",\\\"description\\\"],[\\\"Alerts\\\",\\\"Set the rules for visible alerts.\\\"]],[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\"            \\\"],[11,\\\"button\\\"],[24,0,\\\"btn btn-default btn-sm\\\"],[4,[38,0],[[32,0],\\\"addAlert\\\"],null],[12],[2,\\\"Add Alert\\\"],[13],[2,\\\"\\\\n\\\"],[6,[37,22],[[30,[36,34],[[35,30,[\\\"alerts\\\",\\\"length\\\"]],0],null]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\"            \\\"],[10,\\\"div\\\"],[14,0,\\\"row\\\"],[12],[2,\\\"\\\\n\\\\n                \\\"],[10,\\\"div\\\"],[14,0,\\\"col-md-3\\\"],[12],[2,\\\"\\\\n                    Greater Than or Equal\\\\n                \\\"],[13],[2,\\\"\\\\n                \\\"],[10,\\\"div\\\"],[14,0,\\\"col-md-3\\\"],[12],[2,\\\"\\\\n                    Less Than\\\\n                \\\"],[13],[2,\\\"\\\\n                \\\"],[10,\\\"div\\\"],[14,0,\\\"col-md-2\\\"],[12],[2,\\\"\\\\n                    Display Color\\\\n                \\\"],[13],[2,\\\"\\\\n            \\\"],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]]],[6,[37,13],[[30,[36,12],[[30,[36,12],[[35,30,[\\\"alerts\\\"]]],null]],null]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\"            \\\"],[10,\\\"div\\\"],[14,0,\\\"row\\\"],[12],[2,\\\"\\\\n\\\\n                \\\"],[10,\\\"div\\\"],[14,0,\\\"col-md-3\\\"],[12],[2,\\\"\\\\n                    \\\"],[1,[30,[36,6],null,[[\\\"type\\\",\\\"class\\\",\\\"value\\\"],[\\\"number\\\",\\\"form-control\\\",[32,11,[\\\"min\\\"]]]]]],[2,\\\"\\\\n                \\\"],[13],[2,\\\"\\\\n                \\\"],[10,\\\"div\\\"],[14,0,\\\"col-md-3\\\"],[12],[2,\\\"\\\\n                    \\\"],[1,[30,[36,6],null,[[\\\"type\\\",\\\"class\\\",\\\"value\\\"],[\\\"number\\\",\\\"form-control\\\",[32,11,[\\\"max\\\"]]]]]],[2,\\\"\\\\n                \\\"],[13],[2,\\\"\\\\n                \\\"],[10,\\\"div\\\"],[14,0,\\\"col-md-2\\\"],[12],[2,\\\"\\\\n                    \\\"],[1,[30,[36,33],null,[[\\\"format\\\",\\\"value\\\"],[\\\"hexa\\\",[32,11,[\\\"color\\\"]]]]]],[2,\\\"\\\\n                \\\"],[13],[2,\\\"\\\\n                \\\"],[10,\\\"div\\\"],[14,0,\\\"col-md-3\\\"],[12],[2,\\\"\\\\n                    \\\"],[11,\\\"button\\\"],[24,0,\\\"btn btn-danger btn-xs\\\"],[4,[38,0],[[32,0],\\\"deleteAlert\\\",[32,12]],null],[12],[10,\\\"i\\\"],[14,0,\\\"fa fa-trash\\\"],[14,\\\"aria-hidden\\\",\\\"true\\\"],[12],[13],[13],[2,\\\"\\\\n                \\\"],[13],[2,\\\"\\\\n            \\\"],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[11,12]}]]]],\\\"parameters\\\":[]}]]],[6,[37,2],[[35,18]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[6,[37,29],null,[[\\\"title\\\"],[\\\"Style\\\"]],[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\"            \\\"],[10,\\\"div\\\"],[14,0,\\\"row\\\"],[12],[2,\\\"\\\\n                \\\"],[10,\\\"div\\\"],[14,0,\\\"col-md-12\\\"],[12],[2,\\\"\\\\n                    \\\"],[10,\\\"form\\\"],[14,0,\\\"form-inline\\\"],[12],[2,\\\"\\\\n                        \\\"],[1,[30,[36,6],null,[[\\\"type\\\",\\\"checked\\\"],[\\\"checkbox\\\",[35,30,[\\\"useDefinedFontSize\\\"]]]]]],[2,\\\"\\\\n                        \\\"],[10,\\\"label\\\"],[12],[2,\\\"Static Title Font Size\\\"],[13],[2,\\\"\\\\n                        \\\\n                        \\\"],[1,[30,[36,6],null,[[\\\"type\\\",\\\"class\\\",\\\"value\\\"],[\\\"number\\\",\\\"form-control form-inline\\\",[35,30,[\\\"definedFontSize\\\"]]]]]],[2,\\\"\\\\n                        \\\\n                    \\\"],[13],[2,\\\"\\\\n                \\\"],[13],[2,\\\"\\\\n\\\\n                \\\"],[10,\\\"div\\\"],[14,0,\\\"col-md-12\\\"],[12],[2,\\\"\\\\n                 \\\"],[10,\\\"form\\\"],[14,0,\\\"form-inline\\\"],[12],[2,\\\"\\\\n                    \\\"],[10,\\\"label\\\"],[12],[2,\\\"Title Text Justify\\\"],[13],[2,\\\"\\\\n                    \\\"],[10,\\\"label\\\"],[12],[2,\\\"\\\\n                      \\\"],[1,[30,[36,32],null,[[\\\"items\\\",\\\"selectedItem\\\"],[[35,31],[35,30,[\\\"titleAlign\\\"]]]]]],[2,\\\"\\\\n                     \\\"],[13],[2,\\\"\\\\n                          \\\"],[13],[2,\\\"\\\\n                \\\"],[13],[2,\\\"\\\\n\\\\n                \\\"],[10,\\\"div\\\"],[14,0,\\\"col-md-12\\\"],[12],[2,\\\"\\\\n                 \\\"],[10,\\\"form\\\"],[14,0,\\\"form-inline\\\"],[12],[2,\\\"\\\\n                    \\\"],[1,[30,[36,6],null,[[\\\"type\\\",\\\"checked\\\"],[\\\"checkbox\\\",[35,30,[\\\"useCustomBackgroundColor\\\"]]]]]],[2,\\\"\\\\n                    \\\"],[10,\\\"label\\\"],[12],[2,\\\"Custom Background Color\\\"],[13],[2,\\\"\\\\n                    \\\"],[10,\\\"label\\\"],[12],[2,\\\"\\\\n                    \\\"],[1,[30,[36,33],null,[[\\\"format\\\",\\\"value\\\"],[\\\"hexa\\\",[35,30,[\\\"customBackgroundColor\\\"]]]]]],[2,\\\"\\\\n                    \\\"],[13],[2,\\\"\\\\n                          \\\"],[13],[2,\\\"\\\\n                \\\"],[13],[2,\\\"\\\\n\\\\n                 \\\"],[10,\\\"div\\\"],[14,0,\\\"col-md-12\\\"],[12],[2,\\\"\\\\n                 \\\"],[10,\\\"form\\\"],[14,0,\\\"form-inline\\\"],[12],[2,\\\"\\\\n                    \\\"],[1,[30,[36,6],null,[[\\\"type\\\",\\\"checked\\\"],[\\\"checkbox\\\",[35,30,[\\\"useCustomTextColor\\\"]]]]]],[2,\\\"\\\\n                    \\\"],[10,\\\"label\\\"],[12],[2,\\\"Custom Text Color\\\"],[13],[2,\\\"\\\\n                    \\\"],[10,\\\"label\\\"],[12],[2,\\\"\\\\n                    \\\"],[1,[30,[36,33],null,[[\\\"format\\\",\\\"value\\\"],[\\\"hexa\\\",[35,30,[\\\"customTextColor\\\"]]]]]],[2,\\\"\\\\n                    \\\"],[13],[2,\\\"\\\\n                          \\\"],[13],[2,\\\"\\\\n                \\\"],[13],[2,\\\"\\\\n\\\\n                \\\"],[10,\\\"div\\\"],[14,0,\\\"col-md-12\\\"],[12],[2,\\\"\\\\n                 \\\"],[10,\\\"form\\\"],[14,0,\\\"form-inline\\\"],[12],[2,\\\"\\\\n                    \\\"],[1,[30,[36,6],null,[[\\\"type\\\",\\\"checked\\\"],[\\\"checkbox\\\",[35,30,[\\\"invertAlertColors\\\"]]]]]],[2,\\\"\\\\n                    \\\"],[10,\\\"label\\\"],[12],[2,\\\"Adjust alert text color instead of background\\\"],[13],[2,\\\"\\\\n                  \\\"],[13],[2,\\\"\\\\n                \\\"],[13],[2,\\\"\\\\n            \\\"],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]]]],\\\"parameters\\\":[]}]]]],\\\"parameters\\\":[]}]]]],\\\"parameters\\\":[]}]]]],\\\"parameters\\\":[]}]]],[2,\\\"    \\\"]],\\\"parameters\\\":[]}]]]],\\\"parameters\\\":[]}]]]],\\\"parameters\\\":[]}]]]],\\\"parameters\\\":[]}]]]],\\\"parameters\\\":[]}]]]],\\\"parameters\\\":[]}]]]],\\\"parameters\\\":[]}]]],[3,\\\"end stat config \\\"],[2,\\\"\\\\n\\\\n\\\"],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]]],[6,[37,10],[[30,[36,9],[[32,9,[\\\"footer\\\"]],\\\"expected `modal.footer` to be a contextual component but found a string. Did you mean `(component modal.footer)`? ('insights-web/templates/components/realtime-grid.hbs' @ L559:C3) \\\"],null]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[11,\\\"button\\\"],[24,0,\\\"btn btn-primary\\\"],[4,[38,0],[[32,0],\\\"addWidget\\\"],null],[12],[2,\\\"Save\\\"],[13],[2,\\\"\\\\n\\\"],[11,\\\"button\\\"],[24,0,\\\"btn btn-default\\\"],[4,[38,0],[[32,0],\\\"cancelAddWidget\\\"],null],[12],[2,\\\"Cancel\\\"],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[10]}]]]],\\\"parameters\\\":[9]}]]]],\\\"parameters\\\":[]}]]],[2,\\\"\\\\n\\\\n\\\"],[6,[37,22],[[30,[36,34],[[35,27],null],null]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[6,[37,19],null,[[\\\"size\\\",\\\"title\\\",\\\"footer\\\",\\\"closeAction\\\"],[\\\"lg\\\",\\\"Edit Stat Grid\\\",false,[30,[36,0],[[32,0],\\\"cancelEditStatGrid\\\"],null]]],[[\\\"default\\\"],[{\\\"statements\\\":[[6,[37,10],[[30,[36,9],[[32,7,[\\\"body\\\"]],\\\"expected `modal.body` to be a contextual component but found a string. Did you mean `(component modal.body)`? ('insights-web/templates/components/realtime-grid.hbs' @ L569:C3) \\\"],null]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[10,\\\"div\\\"],[14,0,\\\"container-full\\\"],[12],[2,\\\"\\\\n\\\\n    \\\"],[1,[30,[36,28],null,[[\\\"selectedQueueIds\\\",\\\"loadPrevious\\\",\\\"nocacheselected\\\",\\\"sortSelected\\\"],[[35,27,[\\\"queueIds\\\"]],false,true,true]]]],[2,\\\"\\\\n\\\\n\\\"],[6,[37,29],null,[[\\\"title\\\",\\\"description\\\"],[\\\"Statistics\\\",\\\"Select which statistics are included in the grid\\\"]],[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\"    \\\"],[1,[30,[36,26],null,[[\\\"availableItems\\\",\\\"selectedItems\\\",\\\"sortSelected\\\",\\\"title\\\"],[[35,25],[35,24],true,\\\"\\\"]]]],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]]],[2,\\\"\\\\n\\\"],[13],[2,\\\"\\\\n\\\\n\\\"]],\\\"parameters\\\":[]}]]],[6,[37,10],[[30,[36,9],[[32,7,[\\\"footer\\\"]],\\\"expected `modal.footer` to be a contextual component but found a string. Did you mean `(component modal.footer)`? ('insights-web/templates/components/realtime-grid.hbs' @ L581:C3) \\\"],null]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[11,\\\"button\\\"],[24,0,\\\"btn btn-primary\\\"],[4,[38,0],[[32,0],\\\"saveStatGrid\\\"],null],[12],[2,\\\"Save\\\"],[13],[2,\\\"\\\\n\\\"],[11,\\\"button\\\"],[24,0,\\\"btn btn-default\\\"],[4,[38,0],[[32,0],\\\"cancelEditStatGrid\\\"],null],[12],[2,\\\"Cancel\\\"],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[8]}]]]],\\\"parameters\\\":[7]}]]]],\\\"parameters\\\":[]}]]],[2,\\\"\\\\n\\\"],[6,[37,22],[[30,[36,34],[[35,20],null],null]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[6,[37,19],null,[[\\\"size\\\",\\\"title\\\",\\\"footer\\\",\\\"closeAction\\\"],[\\\"lg\\\",\\\"Edit Dashboard\\\",false,[30,[36,0],[[32,0],\\\"cancelEditDashboard\\\"],null]]],[[\\\"default\\\"],[{\\\"statements\\\":[[6,[37,10],[[30,[36,9],[[32,5,[\\\"body\\\"]],\\\"expected `modal.body` to be a contextual component but found a string. Did you mean `(component modal.body)`? ('insights-web/templates/components/realtime-grid.hbs' @ L590:C3) \\\"],null]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[10,\\\"div\\\"],[14,0,\\\"container-full\\\"],[12],[2,\\\"\\\\n    \\\"],[10,\\\"div\\\"],[14,0,\\\"row\\\"],[12],[2,\\\"\\\\n        \\\"],[10,\\\"div\\\"],[14,0,\\\"col-md-3\\\"],[12],[2,\\\"\\\\n\\\\n\\\\n            \\\"],[10,\\\"label\\\"],[12],[2,\\\"Dashboard Name\\\"],[13],[2,\\\"\\\\n        \\\"],[13],[2,\\\"\\\\n        \\\"],[10,\\\"div\\\"],[14,0,\\\"col-md-9\\\"],[12],[2,\\\"\\\\n            \\\"],[1,[30,[36,6],null,[[\\\"class\\\",\\\"value\\\"],[\\\"form-control\\\",[35,20,[\\\"dashboardName\\\"]]]]]],[2,\\\"\\\\n        \\\"],[13],[2,\\\"\\\\n\\\\n\\\\n    \\\"],[13],[2,\\\"\\\\n\\\\n\\\\n\\\"],[6,[37,22],[[35,20,[\\\"allowresize\\\"]]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\"    \\\"],[10,\\\"div\\\"],[14,0,\\\"row\\\"],[12],[2,\\\"\\\\n        \\\"],[10,\\\"div\\\"],[14,0,\\\"col-md-11\\\"],[12],[2,\\\"\\\\n            \\\"],[11,\\\"button\\\"],[24,0,\\\"btn btn-primary \\\"],[4,[38,0],[[32,0],\\\"convertToResize\\\"],null],[12],[2,\\\"Convert dashboard to resizable widgets\\\"],[13],[2,\\\"\\\\n\\\\n        \\\"],[13],[2,\\\"\\\\n    \\\"],[13],[2,\\\"\\\\n\\\\n\\\\n    \\\"],[10,\\\"div\\\"],[14,0,\\\"row\\\"],[12],[2,\\\"\\\\n        \\\"],[10,\\\"div\\\"],[14,0,\\\"col-md-11\\\"],[12],[2,\\\"\\\\n\\\\n            \\\"],[1,[30,[36,6],null,[[\\\"type\\\",\\\"checked\\\"],[\\\"checkbox\\\",[35,20,[\\\"showTimeLogoHeader\\\"]]]]]],[2,\\\"\\\\n            \\\"],[10,\\\"label\\\"],[12],[2,\\\"Show Time and Logo Header\\\"],[13],[2,\\\"\\\\n        \\\"],[13],[2,\\\"\\\\n\\\\n    \\\"],[13],[2,\\\"\\\\n    \\\"],[10,\\\"div\\\"],[14,0,\\\"row\\\"],[12],[2,\\\"\\\\n        \\\"],[10,\\\"div\\\"],[14,0,\\\"col-md-1\\\"],[12],[2,\\\"\\\\n\\\\n\\\\n            \\\"],[10,\\\"label\\\"],[12],[2,\\\"Logo Url\\\"],[13],[2,\\\"\\\\n        \\\"],[13],[2,\\\"\\\\n        \\\"],[10,\\\"div\\\"],[14,0,\\\"col-md-10\\\"],[12],[2,\\\"\\\\n            \\\"],[1,[30,[36,6],null,[[\\\"class\\\",\\\"value\\\"],[\\\"form-control\\\",[35,20,[\\\"logoUrl\\\"]]]]]],[2,\\\"\\\\n\\\"],[6,[37,22],[[30,[36,21],[[35,20,[\\\"logoUrl\\\"]],\\\"https\\\"],null]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\"            URL must start with https\\\\n\\\"]],\\\"parameters\\\":[]}]]],[2,\\\"        \\\"],[13],[2,\\\"\\\\n\\\\n\\\\n    \\\"],[13],[2,\\\"\\\\n    \\\"],[10,\\\"div\\\"],[14,0,\\\"row\\\"],[12],[2,\\\"\\\\n        \\\"],[10,\\\"div\\\"],[14,0,\\\"col-md-4\\\"],[12],[2,\\\"\\\\n\\\\n            \\\"],[1,[30,[36,6],null,[[\\\"type\\\",\\\"checked\\\"],[\\\"checkbox\\\",[35,20,[\\\"showTimezones\\\"]]]]]],[2,\\\"\\\\n            \\\"],[10,\\\"label\\\"],[12],[2,\\\"Show US Timezones\\\"],[13],[2,\\\"\\\\n        \\\"],[13],[2,\\\"\\\\n    \\\"],[13],[2,\\\"\\\\n    \\\"],[10,\\\"div\\\"],[14,0,\\\"row\\\"],[12],[2,\\\"\\\\n\\\\n        \\\"],[10,\\\"div\\\"],[14,0,\\\"col-md-4\\\"],[12],[2,\\\"\\\\n\\\\n            \\\"],[1,[30,[36,6],null,[[\\\"type\\\",\\\"checked\\\"],[\\\"checkbox\\\",[35,20,[\\\"hourformat24\\\"]]]]]],[2,\\\"\\\\n            \\\"],[10,\\\"label\\\"],[12],[2,\\\"24-Hour Format\\\"],[13],[2,\\\"\\\\n        \\\"],[13],[2,\\\"\\\\n    \\\"],[13],[2,\\\"\\\\n\\\\n\\\\n    \\\"],[10,\\\"div\\\"],[14,0,\\\"row\\\"],[12],[2,\\\"\\\\n        \\\"],[10,\\\"div\\\"],[14,0,\\\"col-md-12\\\"],[12],[2,\\\"\\\\n            \\\"],[10,\\\"label\\\"],[12],[2,\\\"Widget Size\\\"],[13],[2,\\\"\\\\n\\\\n            \\\"],[10,\\\"label\\\"],[12],[1,[30,[36,23],null,[[\\\"value\\\",\\\"groupValue\\\"],[\\\"sm\\\",[35,20,[\\\"widgetSize\\\"]]]]]],[2,\\\" Small \\\"],[13],[2,\\\"\\\\n            \\\"],[10,\\\"label\\\"],[12],[2,\\\" \\\"],[1,[30,[36,23],null,[[\\\"value\\\",\\\"groupValue\\\"],[\\\"md\\\",[35,20,[\\\"widgetSize\\\"]]]]]],[2,\\\" Medium\\\"],[13],[2,\\\"\\\\n            \\\"],[10,\\\"label\\\"],[12],[1,[30,[36,23],null,[[\\\"value\\\",\\\"groupValue\\\"],[\\\"lg\\\",[35,20,[\\\"widgetSize\\\"]]]]]],[2,\\\"Large \\\"],[13],[2,\\\"\\\\n        \\\"],[13],[2,\\\"\\\\n    \\\"],[13],[2,\\\"\\\\n\\\\n\\\"]],\\\"parameters\\\":[]}]]],[13],[2,\\\"\\\\n\\\\n\\\"]],\\\"parameters\\\":[]}]]],[6,[37,10],[[30,[36,9],[[32,5,[\\\"footer\\\"]],\\\"expected `modal.footer` to be a contextual component but found a string. Did you mean `(component modal.footer)`? ('insights-web/templates/components/realtime-grid.hbs' @ L669:C3) \\\"],null]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[11,\\\"button\\\"],[24,0,\\\"btn btn-primary\\\"],[4,[38,0],[[32,0],\\\"saveDashboard\\\"],null],[12],[2,\\\"Save\\\"],[13],[2,\\\"\\\\n\\\"],[11,\\\"button\\\"],[24,0,\\\"btn btn-default\\\"],[4,[38,0],[[32,0],\\\"cancelEditDashboard\\\"],null],[12],[2,\\\"Cancel\\\"],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[6]}]]]],\\\"parameters\\\":[5]}]]]],\\\"parameters\\\":[]}]]],[2,\\\"\\\\n\\\"],[6,[37,2],[[35,82]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[6,[37,19],null,[[\\\"size\\\",\\\"title\\\",\\\"footer\\\",\\\"onHide\\\"],[\\\"md\\\",\\\"Confirm Delete\\\",true,[30,[36,0],[[32,0],\\\"cancelDashboardSettings\\\"],null]]],[[\\\"default\\\"],[{\\\"statements\\\":[[6,[37,10],[[30,[36,9],[[32,1,[\\\"body\\\"]],\\\"expected `modal.body` to be a contextual component but found a string. Did you mean `(component modal.body)`? ('insights-web/templates/components/realtime-grid.hbs' @ L678:C3) \\\"],null]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[10,\\\"h1\\\"],[12],[2,\\\"Configuration\\\"],[13],[2,\\\"\\\\n\\\"],[10,\\\"form\\\"],[14,0,\\\"form-inline\\\"],[12],[2,\\\"\\\\n    \\\"],[10,\\\"div\\\"],[14,0,\\\"form-group\\\"],[12],[2,\\\"\\\\n        \\\"],[1,[30,[36,6],null,[[\\\"type\\\",\\\"name\\\",\\\"checked\\\"],[\\\"checkbox\\\",\\\"darkmode\\\",[35,11,[\\\"darkMode\\\"]]]]]],[2,\\\"Dark Mode\\\\n    \\\"],[13],[2,\\\"\\\\n\\\"],[13],[2,\\\"\\\\n\\\"],[10,\\\"form\\\"],[14,0,\\\"form-inline\\\"],[12],[2,\\\"\\\\n    \\\"],[10,\\\"div\\\"],[14,0,\\\"form-group\\\"],[12],[2,\\\"\\\\n         \\\"],[1,[30,[36,6],null,[[\\\"type\\\",\\\"name\\\",\\\"checked\\\"],[\\\"checkbox\\\",\\\"rotateDashboards\\\",[35,11,[\\\"rotateDashboards\\\"]]]]]],[2,\\\"Rotate Dashboards every \\\\n            \\\"],[1,[30,[36,6],null,[[\\\"type\\\",\\\"class\\\",\\\"value\\\"],[\\\"number\\\",\\\"form-control\\\",[35,11,[\\\"rotateSeconds\\\"]]]]]],[2,\\\" seconds\\\\n    \\\"],[13],[2,\\\"\\\\n\\\\n\\\"],[13],[2,\\\"\\\\n\\\\n\\\"],[10,\\\"div\\\"],[14,0,\\\"container-full\\\"],[12],[2,\\\"\\\\n    \\\"],[10,\\\"h2\\\"],[12],[2,\\\"Dashboards\\\"],[13],[2,\\\"\\\\n\\\"],[6,[37,13],[[30,[36,12],[[30,[36,12],[[35,11,[\\\"dashboards\\\"]]],null]],null]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\"        \\\"],[10,\\\"form\\\"],[14,0,\\\"form-inline\\\"],[12],[2,\\\"\\\\n            \\\"],[10,\\\"div\\\"],[14,0,\\\"form-group\\\"],[12],[2,\\\"\\\\n                \\\"],[1,[30,[36,6],null,[[\\\"class\\\",\\\"value\\\"],[\\\"form-control\\\",[32,3,[\\\"dashboardName\\\"]]]]]],[2,\\\" \\\\n                \\\"],[11,\\\"button\\\"],[24,0,\\\"btn btn-default btn-xs\\\"],[24,\\\"title\\\",\\\"Move Dashboard Up\\\"],[4,[38,0],[[32,0],\\\"moveDashboardUp\\\",[32,4]],null],[12],[2,\\\" \\\"],[10,\\\"i\\\"],[14,0,\\\"fa fa-arrow-up\\\"],[14,\\\"aria-hidden\\\",\\\"true\\\"],[12],[13],[13],[2,\\\"\\\\n                \\\"],[11,\\\"button\\\"],[24,0,\\\"btn btn-default btn-xs\\\"],[24,\\\"title\\\",\\\"Move Dashboard Down\\\"],[4,[38,0],[[32,0],\\\"moveDashboardDown\\\",[32,4]],null],[12],[2,\\\" \\\"],[10,\\\"i\\\"],[14,0,\\\"fa fa-arrow-down\\\"],[14,\\\"aria-hidden\\\",\\\"true\\\"],[12],[13],[13],[2,\\\"\\\\n                \\\"],[11,\\\"button\\\"],[24,0,\\\"btn btn-default btn-xs\\\"],[24,\\\"title\\\",\\\"Share Dashboard\\\"],[4,[38,0],[[32,0],\\\"shareDashboard\\\",[32,4]],null],[12],[2,\\\" \\\"],[10,\\\"i\\\"],[14,0,\\\"fa fa-share-alt\\\"],[14,\\\"aria-hidden\\\",\\\"true\\\"],[12],[13],[13],[2,\\\"            \\\\n                \\\"],[11,\\\"button\\\"],[24,0,\\\"btn btn-danger btn-xs\\\"],[24,\\\"title\\\",\\\"Delete Dashboard\\\"],[4,[38,0],[[32,0],\\\"deleteDashboard\\\",[32,4]],null],[12],[2,\\\" \\\"],[10,\\\"i\\\"],[14,0,\\\"fa fa-trash\\\"],[14,\\\"aria-hidden\\\",\\\"true\\\"],[12],[13],[13],[2,\\\"\\\\n            \\\"],[13],[2,\\\"\\\\n        \\\"],[13],[2,\\\"\\\\n        \\\"],[6,[37,10],[[30,[36,9],[[35,8,[\\\"item\\\"]],\\\"expected `nav.item` to be a contextual component but found a string. Did you mean `(component nav.item)`? ('insights-web/templates/components/realtime-grid.hbs' @ L705:C11) \\\"],null]],[[\\\"active\\\"],[[30,[36,7],[[35,5,[\\\"activeId\\\"]],[32,3,[\\\"id\\\"]]],null]]],[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\" \\\"],[11,\\\"a\\\"],[16,6,[31,[\\\"#\\\",[32,3,[\\\"id\\\"]]]]],[24,\\\"role\\\",\\\"tab\\\"],[4,[38,0],[[32,0],[35,5,[\\\"select\\\"]],[32,3,[\\\"id\\\"]]],null],[12],[1,[32,3,[\\\"dashboardName\\\"]]],[13],[2,\\\" \\\"]],\\\"parameters\\\":[]}]]],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[3,4]}]]],[6,[37,2],[[35,14]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\"    \\\"],[10,\\\"div\\\"],[14,0,\\\"alert alert-success\\\"],[14,\\\"role\\\",\\\"alert\\\"],[12],[2,\\\"\\\\n        Share code copied to your clipboard!\\\\n    \\\"],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]]],[6,[37,2],[[35,15]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\"    \\\"],[10,\\\"div\\\"],[14,0,\\\"alert alert-danger\\\"],[14,\\\"role\\\",\\\"alert\\\"],[12],[2,\\\"\\\\n\\\"],[6,[37,2],[[35,3]],null,[[\\\"default\\\",\\\"else\\\"],[{\\\"statements\\\":[[2,\\\"        Clipboard access is not supported in Chrome when running embedded in Genesys Cloud.  Manually select and copy this value:\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[2,\\\"        Unable to copy share code to your clipboard, copy this full value:\\\\n\\\"]],\\\"parameters\\\":[]}]]],[2,\\\"\\\\n        \\\"],[10,\\\"span\\\"],[14,0,\\\"share-code\\\"],[12],[2,\\\"\\\\n        \\\"],[10,\\\"b\\\"],[12],[1,[34,4]],[13],[2,\\\"\\\\n        \\\"],[13],[2,\\\"\\\\n    \\\"],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]]],[2,\\\"    \\\"],[10,\\\"h3\\\"],[12],[2,\\\"Load Shared Dashboard\\\"],[13],[2,\\\"\\\\n    \\\"],[10,\\\"div\\\"],[14,0,\\\"text-muted\\\"],[12],[2,\\\"\\\\n        Paste a share code from another user here\\\\n    \\\"],[13],[2,\\\"\\\\n    \\\"],[10,\\\"form\\\"],[14,0,\\\"form-inline\\\"],[12],[2,\\\"\\\\n        \\\"],[10,\\\"div\\\"],[14,0,\\\"form-group\\\"],[12],[2,\\\"\\\\n            Share Code: \\\"],[1,[30,[36,6],null,[[\\\"class\\\",\\\"value\\\"],[\\\"form-control\\\",[35,16]]]]],[2,\\\" \\\\n            \\\"],[11,\\\"button\\\"],[24,0,\\\"btn btn-primary\\\"],[16,\\\"disabled\\\",[30,[36,2],[[35,16],null,true],null]],[4,[38,0],[[32,0],\\\"doLoadShareCode\\\"],null],[12],[2,\\\"Load\\\"],[13],[2,\\\"                        \\\\n        \\\"],[13],[2,\\\"\\\\n    \\\"],[13],[2,\\\"\\\\n\\\"],[6,[37,2],[[35,17]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\"    \\\"],[10,\\\"div\\\"],[14,0,\\\"alert alert-danger\\\"],[14,\\\"role\\\",\\\"alert\\\"],[12],[2,\\\"\\\\n        Unable to load dashboard from code\\\\n    \\\"],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]]],[2,\\\"\\\\n\\\"],[6,[37,2],[[35,18]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\"\\\\n\\\"],[10,\\\"form\\\"],[14,0,\\\"form-inline\\\"],[12],[2,\\\"\\\\n    \\\"],[10,\\\"div\\\"],[14,0,\\\"form-group\\\"],[12],[2,\\\" \\\\n        \\\"],[10,\\\"h3\\\"],[12],[2,\\\"Permalink\\\"],[13],[2,\\\"        \\\\n         \\\"],[10,\\\"p\\\"],[14,0,\\\"text-muted\\\"],[12],[2,\\\"Permalinks let you run this dashboard on a wallboard without having to log in from that dashboard. Generating a permalink will invalidate all preexisting permalinks for this user. \\\"],[13],[2,\\\" \\\\n         \\\"],[11,\\\"button\\\"],[24,0,\\\"btn btn-primary\\\"],[4,[38,0],[[32,0],\\\"generatePermalink\\\"],null],[12],[2,\\\"Generate Permalink\\\"],[13],[2,\\\"    \\\\n         \\\"],[10,\\\"br\\\"],[12],[13],[2,\\\"\\\\n\\\"],[6,[37,2],[[35,1]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\"         \\\"],[10,\\\"label\\\"],[12],[2,\\\"Current Link: \\\"],[8,\\\"copy-button\\\",[[24,0,\\\"btn btn-link\\\"]],[[\\\"@clipboardText\\\",\\\"@success\\\"],[[34,1],[30,[36,0],[[32,0],\\\"permalinkCopySuccess\\\"],null]]],[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\"\\\\n  \\\"],[10,\\\"i\\\"],[14,0,\\\"fa fa-copy\\\"],[14,\\\"aria-hidden\\\",\\\"true\\\"],[12],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]]],[2,\\\"\\\\n\\\"],[13],[2,\\\" \\\"],[10,\\\"p\\\"],[14,1,\\\"permalinkValue\\\"],[12],[1,[34,1]],[2,\\\" \\\"],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]]],[2,\\\"         \\\\n    \\\"],[13],[2,\\\"\\\\n\\\\n\\\"],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]]],[2,\\\"\\\\n    \\\\n\\\"],[13],[2,\\\"\\\\n\\\\n\\\"]],\\\"parameters\\\":[]}]]],[6,[37,10],[[30,[36,9],[[32,1,[\\\"footer\\\"]],\\\"expected `modal.footer` to be a contextual component but found a string. Did you mean `(component modal.footer)`? ('insights-web/templates/components/realtime-grid.hbs' @ L767:C3) \\\"],null]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[11,\\\"button\\\"],[24,0,\\\"btn btn-primary\\\"],[4,[38,0],[[32,0],\\\"saveDashboardSettings\\\"],null],[12],[2,\\\"Save\\\"],[13],[2,\\\"\\\\n\\\"],[11,\\\"button\\\"],[24,0,\\\"btn btn-default\\\"],[4,[38,0],[[32,0],\\\"cancelDashboardSettings\\\"],null],[12],[2,\\\"Cancel\\\"],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[2]}]]]],\\\"parameters\\\":[1]}]]]],\\\"parameters\\\":[]}]]]],\\\"hasEval\\\":false,\\\"upvars\\\":[\\\"action\\\",\\\"currentPermalink\\\",\\\"if\\\",\\\"shareCopyRestricted\\\",\\\"shareCode\\\",\\\"tab\\\",\\\"input\\\",\\\"bs-eq\\\",\\\"nav\\\",\\\"-assert-implicit-component-helper-argument\\\",\\\"component\\\",\\\"dashboardConfiguration\\\",\\\"-track-array\\\",\\\"each\\\",\\\"shareCodeSuccess\\\",\\\"shareCodeFailure\\\",\\\"loadShareCode\\\",\\\"loadCodeFailure\\\",\\\"dashboardplusEnabled\\\",\\\"bs-modal\\\",\\\"editDashboard\\\",\\\"contains\\\",\\\"unless\\\",\\\"radio-button\\\",\\\"selectedGridStatTypes\\\",\\\"gridStatTypes\\\",\\\"two-col-selector\\\",\\\"editStatGrid\\\",\\\"queue-selector\\\",\\\"query-panel\\\",\\\"editWidget\\\",\\\"fontJustificationOptions\\\",\\\"select-box\\\",\\\"color-picker\\\",\\\"eq\\\",\\\"availableAgentStatTypes\\\",\\\"campaigns\\\",\\\"select-box-advanced\\\",\\\"missingPermissionService\\\",\\\"slaMediaTypes\\\",\\\"selectedWidgetStatType\\\",\\\"statTimePeriods\\\",\\\"mut\\\",\\\"statTypesPowerSelect\\\",\\\"power-select\\\",\\\"agentStatusSort\\\",\\\"allowZeroTimer\\\",\\\"graphConfigOptions\\\",\\\"configuration/image-widget\\\",\\\"configuration/static-text-widget\\\",\\\"configuration/webframe-widget\\\",\\\"configuration/observation-graph\\\",\\\"configuration/clock-widget\\\",\\\"widgetTypes\\\",\\\"isHeadless\\\",\\\"lastupdate\\\",\\\"queueData\\\",\\\"observationData\\\",\\\"realtime-widget\\\",\\\"timezone-banner\\\",\\\"datetime-banner\\\",\\\"static-text-widget\\\",\\\"debug-widget\\\",\\\"web-frame\\\",\\\"queue-interaction-list\\\",\\\"queue-stats\\\",\\\"agent-stats\\\",\\\"wrapup-widget\\\",\\\"observation-graph\\\",\\\"chart-widget\\\",\\\"widget-image\\\",\\\"widget-clock\\\",\\\"lockWidgets\\\",\\\"hash\\\",\\\"grid-stack-item\\\",\\\"isDashboardLayoutLocked\\\",\\\"grid-stack\\\",\\\"index\\\",\\\"isStatGrid\\\",\\\"isEmbedded\\\",\\\"isFullscreen\\\",\\\"activeTabId\\\",\\\"shouldShowSettings\\\"]}\",\n    \"meta\": {\n      \"moduleName\": \"insights-web/templates/components/realtime-grid.hbs\"\n    }\n  });\n});","define(\"insights-web/templates/components/realtime-widget\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = Ember.HTMLBars.template({\n    \"id\": \"ADZOzE7k\",\n    \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[2,\\\"\\\\n\\\"],[10,\\\"div\\\"],[14,5,\\\"width:100%\\\"],[14,0,\\\"realtime-widget\\\"],[12],[2,\\\"\\\\n    \\\"],[10,\\\"div\\\"],[14,0,\\\"center-block widget-title\\\"],[15,5,[31,[\\\"font-size:\\\",[34,7],\\\";text-align:\\\",[34,3,[\\\"titleAlign\\\"]],\\\";color:\\\",[34,14]]]],[12],[2,\\\"\\\\n        \\\"],[1,[30,[36,15],[[35,3,[\\\"title\\\"]]],null]],[2,\\\"\\\\n    \\\"],[13],[2,\\\"\\\\n\\\\n\\\"],[6,[37,13],[[30,[36,16],[[35,3,[\\\"type\\\"]],\\\"agent_status\\\"],null]],null,[[\\\"default\\\",\\\"else\\\"],[{\\\"statements\\\":[],\\\"parameters\\\":[]},{\\\"statements\\\":[[2,\\\"    \\\"],[10,\\\"div\\\"],[14,0,\\\"widget-content \\\"],[15,5,[31,[\\\"color:\\\",[34,9],\\\";\\\"]]],[12],[2,\\\"\\\\n         \\\"],[10,\\\"div\\\"],[14,0,\\\"calculated-content\\\"],[15,5,[31,[\\\"font-size:\\\",[34,2],\\\";color:\\\",[34,9]]]],[12],[2,\\\"\\\\n                    \\\"],[1,[34,6]],[6,[37,13],[[35,12]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\"%\\\"]],\\\"parameters\\\":[]}]]],[2,\\\"\\\\n            \\\"],[13],[2,\\\"\\\\n\\\"],[6,[37,13],[[35,11]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\"            \\\"],[10,\\\"div\\\"],[14,0,\\\"secondaryData\\\"],[15,5,[31,[\\\"font-size:\\\",[34,10],\\\";color:\\\",[34,9]]]],[12],[2,\\\"\\\\n                \\\"],[1,[34,11]],[2,\\\"          \\\\n            \\\"],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]]],[2,\\\"    \\\"],[13],[2,\\\"\\\\n    \\\\n\\\\n\\\\n\\\"]],\\\"parameters\\\":[]}]]],[13],[2,\\\"\\\\n\\\"],[6,[37,13],[[35,17]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[10,\\\"div\\\"],[14,0,\\\"debug-detail\\\"],[12],[2,\\\"\\\\n    - \\\"],[1,[34,0]],[10,\\\"br\\\"],[12],[13],[2,\\\"\\\\n    - \\\"],[1,[34,1]],[10,\\\"br\\\"],[12],[13],[2,\\\"\\\\n    - \\\"],[1,[34,2]],[10,\\\"br\\\"],[12],[13],[2,\\\"\\\\n    - \\\"],[1,[35,3,[\\\"height\\\"]]],[2,\\\", \\\"],[1,[35,3,[\\\"width\\\"]]],[2,\\\" \\\"],[10,\\\"br\\\"],[12],[13],[2,\\\"\\\\n    - \\\"],[1,[34,4]],[2,\\\" \\\"],[10,\\\"br\\\"],[12],[13],[2,\\\"\\\\n    - \\\"],[1,[34,5]],[2,\\\" \\\"],[10,\\\"br\\\"],[12],[13],[2,\\\"\\\\n    - \\\"],[1,[34,6]],[2,\\\" \\\"],[10,\\\"br\\\"],[12],[13],[2,\\\"\\\\n    - \\\"],[1,[34,7]],[2,\\\" \\\"],[10,\\\"br\\\"],[12],[13],[2,\\\"\\\\n    - \\\"],[1,[34,8]],[2,\\\" \\\"],[10,\\\"br\\\"],[12],[13],[2,\\\"\\\\n\\\"],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]]]],\\\"hasEval\\\":false,\\\"upvars\\\":[\\\"parentHeight\\\",\\\"contentTop\\\",\\\"contentsize\\\",\\\"configuration\\\",\\\"lastUpdateTime\\\",\\\"lastDataUpdate\\\",\\\"data\\\",\\\"titlesize\\\",\\\"calculatedtitlesize\\\",\\\"textColor\\\",\\\"secondarysize\\\",\\\"secondaryData\\\",\\\"showPercent\\\",\\\"if\\\",\\\"titleColor\\\",\\\"html-string\\\",\\\"eq\\\",\\\"isDebugMode\\\"]}\",\n    \"meta\": {\n      \"moduleName\": \"insights-web/templates/components/realtime-widget.hbs\"\n    }\n  });\n});","define(\"insights-web/templates/components/select-box-advanced\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = Ember.HTMLBars.template({\n    \"id\": \"oC8Ypkq/\",\n    \"block\": \"{\\\"symbols\\\":[\\\"item\\\"],\\\"statements\\\":[[10,\\\"select\\\"],[14,0,\\\"form-control \\\"],[15,\\\"onchange\\\",[30,[36,5],[[32,0],\\\"selectItem\\\"],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[12],[2,\\\"\\\\n\\\"],[6,[37,8],[[30,[36,7],[[30,[36,7],[[35,6]],null]],null]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\"     \\\"],[10,\\\"option\\\"],[15,2,[30,[36,1],[[32,1],[35,0]],null]],[15,\\\"selected\\\",[30,[36,3],[[35,2],[30,[36,1],[[32,1],[35,0]],null]],null]],[12],[1,[30,[36,1],[[32,1],[35,4]],null]],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[1]}]]],[2,\\\" \\\"],[13],[2,\\\"\\\\n\\\"]],\\\"hasEval\\\":false,\\\"upvars\\\":[\\\"idKey\\\",\\\"getprop\\\",\\\"selectedItem\\\",\\\"eq\\\",\\\"nameKey\\\",\\\"action\\\",\\\"items\\\",\\\"-track-array\\\",\\\"each\\\"]}\",\n    \"meta\": {\n      \"moduleName\": \"insights-web/templates/components/select-box-advanced.hbs\"\n    }\n  });\n});","define(\"insights-web/templates/components/select-box\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = Ember.HTMLBars.template({\n    \"id\": \"wtNq4EOv\",\n    \"block\": \"{\\\"symbols\\\":[\\\"item\\\"],\\\"statements\\\":[[10,\\\"select\\\"],[14,0,\\\"form-control \\\"],[15,\\\"onchange\\\",[30,[36,2],[[32,0],\\\"selectItem\\\"],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[12],[2,\\\"\\\\n\\\"],[6,[37,5],[[30,[36,4],[[30,[36,4],[[35,3]],null]],null]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\"    \\\"],[10,\\\"option\\\"],[15,2,[32,1]],[15,\\\"selected\\\",[30,[36,1],[[35,0],[32,1]],null]],[12],[1,[32,1]],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[1]}]]],[13],[2,\\\"\\\\n\\\"]],\\\"hasEval\\\":false,\\\"upvars\\\":[\\\"selectedItem\\\",\\\"eq\\\",\\\"action\\\",\\\"items\\\",\\\"-track-array\\\",\\\"each\\\"]}\",\n    \"meta\": {\n      \"moduleName\": \"insights-web/templates/components/select-box.hbs\"\n    }\n  });\n});","define(\"insights-web/templates/components/stat-grid-row-expanded\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = Ember.HTMLBars.template({\n    \"id\": \"/++sqW55\",\n    \"block\": \"{\\\"symbols\\\":[\\\"column\\\"],\\\"statements\\\":[[10,\\\"div\\\"],[14,0,\\\"row\\\"],[14,5,\\\"font-size:15px\\\"],[12],[2,\\\"\\\\n\\\"],[6,[37,4],[[30,[36,3],[[30,[36,3],[[35,2,[\\\"responsiveHiddenColumns\\\"]]],null]],null]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\"\\\\n        \\\"],[10,\\\"div\\\"],[14,0,\\\"row\\\"],[12],[2,\\\"\\\\n            \\\"],[10,\\\"div\\\"],[14,0,\\\"col-xs-1\\\"],[12],[2,\\\"\\\\n            \\\"],[13],[2,\\\"\\\\n        \\\"],[10,\\\"div\\\"],[14,0,\\\"col-xs-6\\\"],[12],[2,\\\"\\\\n            \\\"],[10,\\\"label\\\"],[12],[1,[32,1,[\\\"label\\\"]]],[13],[2,\\\"\\\\n        \\\"],[13],[2,\\\"\\\\n\\\\n        \\\"],[10,\\\"div\\\"],[14,0,\\\"col-xs-5\\\"],[12],[2,\\\"\\\\n            \\\"],[1,[30,[36,1],[[35,0],[32,1,[\\\"valuePath\\\"]]],null]],[2,\\\"\\\\n        \\\"],[13],[2,\\\"\\\\n        \\\"],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[1]}]]],[13],[2,\\\"\\\\n\\\"]],\\\"hasEval\\\":false,\\\"upvars\\\":[\\\"row\\\",\\\"get\\\",\\\"table\\\",\\\"-track-array\\\",\\\"each\\\"]}\",\n    \"meta\": {\n      \"moduleName\": \"insights-web/templates/components/stat-grid-row-expanded.hbs\"\n    }\n  });\n});","define(\"insights-web/templates/components/stat-grid-row-toggle\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = Ember.HTMLBars.template({\n    \"id\": \"uyeM+7T8\",\n    \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[11,\\\"a\\\"],[24,0,\\\"row-toggle\\\"],[4,[38,2],[[32,0],[30,[36,1],[\\\"expanded\\\",[35,0]],null]],null],[12],[2,\\\"\\\\n  \\\"],[10,\\\"i\\\"],[15,0,[31,[\\\"fa \\\",[30,[36,3],[[35,0,[\\\"expanded\\\"]],\\\"fa-chevron-down\\\",\\\"fa-chevron-right\\\"],null]]]],[12],[13],[2,\\\"\\\\n\\\"],[13],[2,\\\"\\\\n\\\"]],\\\"hasEval\\\":false,\\\"upvars\\\":[\\\"row\\\",\\\"toggle\\\",\\\"action\\\",\\\"if\\\"]}\",\n    \"meta\": {\n      \"moduleName\": \"insights-web/templates/components/stat-grid-row-toggle.hbs\"\n    }\n  });\n});","define(\"insights-web/templates/components/stat-grid-row\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = Ember.HTMLBars.template({\n    \"id\": \"Vh37mESX\",\n    \"block\": \"{\\\"symbols\\\":[\\\"value\\\"],\\\"statements\\\":[[10,\\\"div\\\"],[14,0,\\\"row statgridrow\\\"],[12],[2,\\\" \\\\n\\\"],[6,[37,4],[[30,[36,3],[[30,[36,3],[[35,2]],null]],null]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\"   \\\\n    \\\"],[10,\\\"div\\\"],[15,0,[31,[[32,1,[\\\"style\\\"]],\\\" statgridcol\\\"]]],[14,5,\\\"vertical-align:bottom\\\"],[12],[2,\\\"\\\\n\\\\n\\\"],[6,[37,1],[[35,0]],null,[[\\\"default\\\",\\\"else\\\"],[{\\\"statements\\\":[[2,\\\"        \\\"],[10,\\\"b\\\"],[12],[1,[32,1,[\\\"text\\\"]]],[13],[2,\\\"\\\\n\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[2,\\\"        \\\"],[1,[32,1,[\\\"text\\\"]]],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]]],[2,\\\"    \\\"],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[1]}]]],[13]],\\\"hasEval\\\":false,\\\"upvars\\\":[\\\"isHeader\\\",\\\"if\\\",\\\"values\\\",\\\"-track-array\\\",\\\"each\\\"]}\",\n    \"meta\": {\n      \"moduleName\": \"insights-web/templates/components/stat-grid-row.hbs\"\n    }\n  });\n});","define(\"insights-web/templates/components/stat-grid\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = Ember.HTMLBars.template({\n    \"id\": \"M5w8J1J2\",\n    \"block\": \"{\\\"symbols\\\":[\\\"r\\\",\\\"rowindex\\\",\\\"c\\\",\\\"index\\\",\\\"c\\\",\\\"index\\\",\\\"value\\\",\\\"index\\\"],\\\"statements\\\":[[10,\\\"div\\\"],[14,0,\\\"container-full stat-grid-container\\\"],[12],[2,\\\"\\\\n    \\\"],[10,\\\"div\\\"],[14,0,\\\"row statgridheader\\\"],[12],[2,\\\"\\\\n\\\"],[6,[37,2],[[30,[36,1],[[30,[36,1],[[35,7]],null]],null]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\"    \\\"],[10,\\\"div\\\"],[15,0,[31,[[30,[36,5],[[32,8]],null],\\\" statgridcol\\\"]]],[12],[2,\\\"\\\\n        \\\"],[10,\\\"b\\\"],[12],[1,[32,7]],[13],[2,\\\"\\\\n    \\\"],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[7,8]}]]],[13],[2,\\\"\\\\n\\\\n\\\"],[6,[37,2],[[30,[36,1],[[30,[36,1],[[35,8]],null]],null]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[10,\\\"div\\\"],[14,0,\\\"row statgridrow\\\"],[12],[2,\\\"\\\\n\\\\n\\\"],[6,[37,2],[[30,[36,1],[[30,[36,1],[[32,1,[\\\"stats\\\"]]],null]],null]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\"\\\\n    \\\"],[10,\\\"div\\\"],[15,0,[31,[[30,[36,5],[[32,6]],null],\\\" \\\",[32,5,[\\\"cssClass\\\"]],\\\" statgridcol\\\"]]],[12],[2,\\\"\\\\n\\\\n\\\"],[6,[37,4],[[30,[36,6],[[32,6],0],null]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\"        \\\"],[11,\\\"div\\\"],[24,5,\\\"display:inline\\\"],[24,0,\\\"hidden-lg\\\"],[4,[38,3],[[32,0],\\\"toggleExpand\\\",[32,2]],null],[12],[2,\\\"\\\\n\\\"],[6,[37,4],[[32,1,[\\\"isExpanded\\\"]]],null,[[\\\"default\\\",\\\"else\\\"],[{\\\"statements\\\":[[2,\\\"            \\\"],[10,\\\"i\\\"],[14,0,\\\"fa fa-chevron-down\\\"],[14,\\\"aria-hidden\\\",\\\"true\\\"],[12],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[2,\\\"            \\\"],[10,\\\"i\\\"],[14,0,\\\"fa fa-chevron-right\\\"],[14,\\\"aria-hidden\\\",\\\"true\\\"],[12],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]]],[2,\\\"        \\\"],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]]],[6,[37,4],[[32,5,[\\\"image\\\"]]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\"        \\\"],[10,\\\"img\\\"],[14,\\\"height\\\",\\\"36px\\\"],[14,\\\"width\\\",\\\"36px\\\"],[15,\\\"src\\\",[32,5,[\\\"image\\\"]]],[12],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]]],[2,\\\"        \\\"],[1,[32,5,[\\\"value\\\"]]],[2,\\\"\\\\n\\\\n    \\\"],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[5,6]}]]],[2,\\\"\\\\n\\\"],[6,[37,4],[[32,1,[\\\"isExpanded\\\"]]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[6,[37,2],[[30,[36,1],[[30,[36,1],[[32,1,[\\\"stats\\\"]]],null]],null]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\"        \\\"],[10,\\\"div\\\"],[15,0,[31,[\\\"gridsubrow row \\\",[30,[36,0],[[32,4]],null],\\\" \\\"]]],[12],[2,\\\"\\\\n            \\\"],[10,\\\"div\\\"],[14,0,\\\"col-xs-6 \\\"],[12],[2,\\\"\\\\n                \\\"],[10,\\\"label\\\"],[12],[1,[32,3,[\\\"column\\\"]]],[13],[2,\\\"\\\\n            \\\"],[13],[2,\\\"\\\\n            \\\"],[10,\\\"div\\\"],[14,0,\\\"col-xs-6 \\\"],[12],[2,\\\"\\\\n                \\\"],[1,[32,3,[\\\"value\\\"]]],[2,\\\"\\\\n            \\\"],[13],[2,\\\"\\\\n        \\\"],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[3,4]}]]]],\\\"parameters\\\":[]}]]],[2,\\\"\\\\n\\\"],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[1,2]}]]],[13],[2,\\\"\\\\n\\\"]],\\\"hasEval\\\":false,\\\"upvars\\\":[\\\"statgridextracols\\\",\\\"-track-array\\\",\\\"each\\\",\\\"action\\\",\\\"if\\\",\\\"statgridcolclass\\\",\\\"eq\\\",\\\"headers\\\",\\\"data\\\"]}\",\n    \"meta\": {\n      \"moduleName\": \"insights-web/templates/components/stat-grid.hbs\"\n    }\n  });\n});","define(\"insights-web/templates/components/static-text-widget\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = Ember.HTMLBars.template({\n    \"id\": \"6GHEqpIW\",\n    \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[10,\\\"div\\\"],[14,0,\\\"static-text-widget widget-content\\\"],[15,5,[31,[\\\"overflow:hidden;\\\\nz-index:1;\\\\n  position:absolute; font-size:\\\",[34,0,[\\\"fontsize\\\"]],\\\"pt;color:\\\",[34,0,[\\\"fontcolor\\\"]]]]],[12],[2,\\\"\\\\n    \\\"],[1,[30,[36,1],[[35,0,[\\\"title\\\"]]],null]],[2,\\\"\\\\n\\\"],[13]],\\\"hasEval\\\":false,\\\"upvars\\\":[\\\"configuration\\\",\\\"html-string\\\"]}\",\n    \"meta\": {\n      \"moduleName\": \"insights-web/templates/components/static-text-widget.hbs\"\n    }\n  });\n});","define(\"insights-web/templates/components/time-range\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = Ember.HTMLBars.template({\n    \"id\": \"ZjwdxrXU\",\n    \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[6,[37,8],null,[[\\\"title\\\",\\\"description\\\"],[\\\"Time Range\\\",\\\"Select the time range for the result set.\\\"]],[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\"  \\\"],[1,[30,[36,5],null,[[\\\"idKey\\\",\\\"nameKey\\\",\\\"items\\\",\\\"selectedItem\\\"],[\\\"value\\\",\\\"text\\\",[35,4],[35,3]]]]],[2,\\\"\\\\n\\\"],[6,[37,7],[[30,[36,6],[[35,3],\\\"custom\\\"],null]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\"      \\\"],[10,\\\"label\\\"],[14,0,\\\"custom-time\\\"],[12],[2,\\\"Start Time\\\"],[13],[2,\\\"\\\\n\\\\n      \\\"],[1,[30,[36,1],null,[[\\\"date\\\",\\\"format\\\"],[[35,0],\\\"YYYY-MM-DD h:mm:ss a\\\"]]]],[2,\\\"\\\\n      \\\"],[10,\\\"label\\\"],[14,0,\\\"custom-time\\\"],[12],[2,\\\"End Time\\\"],[13],[2,\\\"\\\\n      \\\"],[1,[30,[36,1],null,[[\\\"date\\\",\\\"format\\\"],[[35,2],\\\"YYYY-MM-DD h:mm:ss a\\\"]]]],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]]]],\\\"parameters\\\":[]}]]]],\\\"hasEval\\\":false,\\\"upvars\\\":[\\\"startDate\\\",\\\"bs-datetimepicker\\\",\\\"endDate\\\",\\\"selectedRangeType\\\",\\\"rangeTypes\\\",\\\"select-box-advanced\\\",\\\"eq\\\",\\\"if\\\",\\\"query-panel\\\"]}\",\n    \"meta\": {\n      \"moduleName\": \"insights-web/templates/components/time-range.hbs\"\n    }\n  });\n});","define(\"insights-web/templates/components/timezone-banner\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = Ember.HTMLBars.template({\n    \"id\": \"K5sd7R3G\",\n    \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[10,\\\"div\\\"],[14,0,\\\"container-full timezone-banner\\\"],[12],[2,\\\"\\\\n  \\\"],[10,\\\"div\\\"],[14,0,\\\"row\\\"],[12],[2,\\\"\\\\n    \\\"],[10,\\\"div\\\"],[14,0,\\\"col-xs-2 col-xs-offset-1\\\"],[12],[2,\\\"\\\\n      \\\"],[10,\\\"h3\\\"],[12],[2,\\\"\\\\n        EST \\\"],[10,\\\"div\\\"],[12],[1,[34,0]],[13],[2,\\\"\\\\n\\\\n      \\\"],[13],[2,\\\"\\\\n    \\\"],[13],[2,\\\"\\\\n    \\\"],[10,\\\"div\\\"],[14,0,\\\"col-xs-2\\\"],[12],[2,\\\"\\\\n      \\\"],[10,\\\"h3\\\"],[12],[2,\\\"\\\\n        CST \\\"],[10,\\\"div\\\"],[12],[1,[34,1]],[13],[2,\\\"\\\\n      \\\"],[13],[2,\\\"\\\\n    \\\"],[13],[2,\\\"\\\\n    \\\"],[10,\\\"div\\\"],[14,0,\\\"col-xs-2\\\"],[12],[2,\\\"\\\\n      \\\"],[10,\\\"h3\\\"],[12],[2,\\\"\\\\n        MST \\\"],[10,\\\"div\\\"],[12],[1,[34,2]],[13],[2,\\\"\\\\n      \\\"],[13],[2,\\\"\\\\n    \\\"],[13],[2,\\\"\\\\n    \\\"],[10,\\\"div\\\"],[14,0,\\\"col-xs-2\\\"],[12],[2,\\\"\\\\n      \\\"],[10,\\\"h3\\\"],[12],[2,\\\"\\\\n        PST \\\"],[10,\\\"div\\\"],[12],[1,[34,3]],[13],[2,\\\"\\\\n      \\\"],[13],[2,\\\"\\\\n    \\\"],[13],[2,\\\"\\\\n    \\\"],[10,\\\"div\\\"],[14,0,\\\"col-xs-2\\\"],[12],[2,\\\"\\\\n      \\\"],[10,\\\"h3\\\"],[12],[2,\\\"\\\\n        UTC \\\"],[10,\\\"div\\\"],[12],[1,[34,4]],[13],[2,\\\"\\\\n      \\\"],[13],[2,\\\"\\\\n    \\\"],[13],[2,\\\"\\\\n  \\\"],[13],[2,\\\"\\\\n\\\"],[13],[2,\\\"\\\\n\\\"]],\\\"hasEval\\\":false,\\\"upvars\\\":[\\\"eastern\\\",\\\"central\\\",\\\"mountain\\\",\\\"pacific\\\",\\\"utc\\\"]}\",\n    \"meta\": {\n      \"moduleName\": \"insights-web/templates/components/timezone-banner.hbs\"\n    }\n  });\n});","define(\"insights-web/templates/components/trial-banner\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = Ember.HTMLBars.template({\n    \"id\": \"pJJKTYw4\",\n    \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[6,[37,2],[[35,1]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[10,\\\"span\\\"],[14,0,\\\"alert alert-info\\\"],[14,\\\"role\\\",\\\"alert\\\"],[12],[2,\\\"\\\\n    \\\"],[10,\\\"strong\\\"],[12],[2,\\\"Trial\\\"],[13],[2,\\\"\\\\n    You have \\\"],[10,\\\"strong\\\"],[12],[1,[34,0]],[2,\\\" days\\\"],[13],[2,\\\" left in your trial.\\\\n\\\\n    \\\"],[10,\\\"b\\\"],[12],[10,\\\"a\\\"],[14,0,\\\"app-foundry-link\\\"],[14,\\\"target\\\",\\\"_blank\\\"],[14,6,\\\"https://appfoundry.mypurecloud.com/filter/purecloud/listing/1f3df1a1-1aae-4439-b235-376062fc0b14\\\"],[12],[2,\\\"Purchase on the AppFoundry\\\"],[13],[13],[2,\\\"\\\\n\\\"],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]]],[2,\\\"\\\\n\\\\n\\\"],[3,\\\"show in purecloudnow \\\"],[2,\\\"\\\\n\\\"],[6,[37,2],[[30,[36,4],[[35,3],\\\"f657a486-0a31-413f-bcf9-f453b0b3d6db\\\"],null]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[10,\\\"b\\\"],[12],[10,\\\"a\\\"],[14,0,\\\"app-foundry-link\\\"],[14,\\\"target\\\",\\\"_blank\\\"],[14,6,\\\"https://appfoundry.mypurecloud.com/filter/purecloud/listing/1f3df1a1-1aae-4439-b235-376062fc0b14\\\"],[12],[2,\\\"Purchase on the AppFoundry\\\"],[13],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]]]],\\\"hasEval\\\":false,\\\"upvars\\\":[\\\"daysRemaining\\\",\\\"isTrial\\\",\\\"if\\\",\\\"organizationId\\\",\\\"eq\\\"]}\",\n    \"meta\": {\n      \"moduleName\": \"insights-web/templates/components/trial-banner.hbs\"\n    }\n  });\n});","define(\"insights-web/templates/components/two-col-selector\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = Ember.HTMLBars.template({\n    \"id\": \"GeHwSRN2\",\n    \"block\": \"{\\\"symbols\\\":[\\\"Item\\\",\\\"Item\\\"],\\\"statements\\\":[[10,\\\"div\\\"],[14,0,\\\"query-indent\\\"],[12],[2,\\\"\\\\n  \\\"],[10,\\\"form\\\"],[14,0,\\\"form form-flex form-col-selector\\\"],[12],[2,\\\"\\\\n    \\\"],[10,\\\"div\\\"],[14,0,\\\"form-group form-group-stacked\\\"],[12],[2,\\\"\\\\n      \\\"],[10,\\\"label\\\"],[12],[2,\\\"Available\\\"],[13],[2,\\\"\\\\n\\\"],[6,[37,3],[[35,7]],null,[[\\\"default\\\",\\\"else\\\"],[{\\\"statements\\\":[[2,\\\"      \\\"],[10,\\\"div\\\"],[12],[2,\\\"\\\\n        \\\"],[10,\\\"i\\\"],[14,0,\\\"fa fa-spinner fa-pulse fa-1x fa-fw\\\"],[14,5,\\\"float:left\\\"],[12],[13],[2,\\\"\\\\n        \\\"],[10,\\\"div\\\"],[14,0,\\\"message\\\"],[12],[2,\\\"\\\\n          Loading Queues\\\\n        \\\"],[13],[2,\\\"\\\\n\\\\n      \\\"],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[2,\\\"      \\\"],[10,\\\"select\\\"],[14,0,\\\"form-control \\\"],[14,\\\"multiple\\\",\\\"true\\\"],[15,\\\"onchange\\\",[30,[36,1],[[32,0],\\\"selectAvailable\\\"],null]],[12],[2,\\\"\\\\n\\\"],[6,[37,6],[[30,[36,5],[[30,[36,5],[[35,4]],null]],null]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\"        \\\"],[10,\\\"option\\\"],[15,2,[32,2]],[12],[1,[32,2]],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[2]}]]],[2,\\\"      \\\"],[13],[2,\\\"\\\\n\\\\n\\\"]],\\\"parameters\\\":[]}]]],[2,\\\"    \\\"],[13],[2,\\\"\\\\n\\\\n    \\\"],[10,\\\"div\\\"],[14,0,\\\"col-sm-1\\\"],[12],[2,\\\"\\\\n\\\"],[6,[37,8],[[35,7]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\"      \\\"],[10,\\\"label\\\"],[12],[13],[2,\\\"\\\\n      \\\"],[10,\\\"div\\\"],[14,0,\\\"row two-col-button\\\"],[12],[2,\\\"\\\\n        \\\"],[11,\\\"button\\\"],[24,0,\\\"btn btn-default\\\"],[4,[38,1],[[32,0],\\\"selectItems\\\"],null],[12],[10,\\\"i\\\"],[14,0,\\\"fa fa-chevron-right\\\"],[14,\\\"aria-hidden\\\",\\\"true\\\"],[12],[13],[13],[2,\\\"\\\\n      \\\"],[13],[2,\\\"\\\\n      \\\"],[10,\\\"div\\\"],[14,0,\\\"row two-col-button\\\"],[12],[2,\\\"\\\\n        \\\"],[11,\\\"button\\\"],[24,0,\\\"btn btn-default\\\"],[4,[38,1],[[32,0],\\\"removeSelectedItems\\\"],null],[12],[10,\\\"i\\\"],[14,0,\\\"fa fa-chevron-left\\\"],[14,\\\"aria-hidden\\\",\\\"true\\\"],[12],[13],[13],[2,\\\"\\\\n      \\\"],[13],[2,\\\"\\\\n\\\"],[6,[37,3],[[35,2]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\"        \\\"],[10,\\\"div\\\"],[14,0,\\\"row two-col-button\\\"],[12],[2,\\\"\\\\n          \\\"],[11,\\\"button\\\"],[24,0,\\\"btn btn-default\\\"],[16,\\\"disabled\\\",[34,0]],[4,[38,1],[[32,0],\\\"selectedItemUp\\\"],null],[12],[10,\\\"i\\\"],[14,0,\\\"fa fa-chevron-up\\\"],[14,\\\"aria-hidden\\\",\\\"true\\\"],[12],[13],[13],[2,\\\"\\\\n        \\\"],[13],[2,\\\"\\\\n        \\\"],[10,\\\"div\\\"],[14,0,\\\"row two-col-button\\\"],[12],[2,\\\"\\\\n          \\\"],[11,\\\"button\\\"],[24,0,\\\"btn btn-default\\\"],[16,\\\"disabled\\\",[34,0]],[4,[38,1],[[32,0],\\\"selectedItemDown\\\"],null],[12],[10,\\\"i\\\"],[14,0,\\\"fa fa-chevron-down\\\"],[14,\\\"aria-hidden\\\",\\\"true\\\"],[12],[13],[13],[2,\\\"\\\\n        \\\"],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]]]],\\\"parameters\\\":[]}]]],[2,\\\"    \\\"],[13],[2,\\\"\\\\n\\\\n    \\\"],[10,\\\"div\\\"],[14,0,\\\"form-group form-group-stacked\\\"],[12],[2,\\\"\\\\n      \\\"],[10,\\\"label\\\"],[12],[2,\\\"Selected\\\"],[13],[2,\\\"\\\\n      \\\"],[10,\\\"select\\\"],[14,0,\\\"form-control \\\"],[14,\\\"multiple\\\",\\\"true\\\"],[15,\\\"onchange\\\",[30,[36,1],[[32,0],\\\"selectSelected\\\"],null]],[12],[2,\\\"\\\\n\\\"],[6,[37,6],[[30,[36,5],[[30,[36,5],[[35,9]],null]],null]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\"        \\\"],[10,\\\"option\\\"],[15,2,[32,1]],[12],[1,[32,1]],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[1]}]]],[2,\\\"      \\\"],[13],[2,\\\"\\\\n    \\\"],[13],[2,\\\"\\\\n  \\\"],[13],[2,\\\"\\\\n\\\"],[13],[2,\\\"\\\\n\\\"]],\\\"hasEval\\\":false,\\\"upvars\\\":[\\\"disableMoveSelected\\\",\\\"action\\\",\\\"sortSelected\\\",\\\"if\\\",\\\"availableItems\\\",\\\"-track-array\\\",\\\"each\\\",\\\"isLoading\\\",\\\"unless\\\",\\\"selectedItems\\\"]}\",\n    \"meta\": {\n      \"moduleName\": \"insights-web/templates/components/two-col-selector.hbs\"\n    }\n  });\n});","define(\"insights-web/templates/components/web-frame\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = Ember.HTMLBars.template({\n    \"id\": \"61Bf3Zhn\",\n    \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[10,\\\"iframe\\\"],[15,\\\"src\\\",[34,0,[\\\"title\\\"]]],[14,\\\"width\\\",\\\"100%\\\"],[15,\\\"height\\\",[31,[[34,1],\\\"px\\\"]]],[14,\\\"frameborder\\\",\\\"0\\\"],[14,\\\"scrolling\\\",\\\"no\\\"],[14,\\\"sandbox\\\",\\\"allow-same-origin allow-scripts\\\"],[12],[13]],\\\"hasEval\\\":false,\\\"upvars\\\":[\\\"configuration\\\",\\\"iframeHeight\\\"]}\",\n    \"meta\": {\n      \"moduleName\": \"insights-web/templates/components/web-frame.hbs\"\n    }\n  });\n});","define(\"insights-web/templates/components/widget-clock\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = Ember.HTMLBars.template({\n    \"id\": \"ODyKpnLT\",\n    \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[10,\\\"div\\\"],[14,5,\\\"width:100%\\\"],[14,0,\\\"realtime-widget\\\"],[12],[2,\\\"\\\\n    \\\"],[10,\\\"span\\\"],[14,0,\\\"h3 widget-title\\\"],[15,5,[31,[\\\"font-size:\\\",[34,2]]]],[12],[2,\\\"\\\\n\\\"],[6,[37,3],[[35,0,[\\\"useCustomLabel\\\"]]],null,[[\\\"default\\\",\\\"else\\\"],[{\\\"statements\\\":[[2,\\\"        \\\"],[1,[35,0,[\\\"customLabel\\\"]]],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[2,\\\"        \\\"],[1,[30,[36,1],[[35,0,[\\\"title\\\"]]],null]],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]]],[2,\\\"    \\\"],[13],[2,\\\"\\\\n\\\\n    \\\"],[10,\\\"div\\\"],[14,0,\\\"widget-content \\\"],[12],[2,\\\"\\\\n        \\\"],[10,\\\"span\\\"],[14,0,\\\"calculated-content\\\"],[15,5,[31,[\\\"font-size:\\\",[34,4]]]],[12],[2,\\\"\\\\n            \\\"],[1,[34,5]],[2,\\\"\\\\n        \\\"],[13],[2,\\\"\\\\n            \\\\n    \\\"],[13],[2,\\\"\\\\n\\\"],[13]],\\\"hasEval\\\":false,\\\"upvars\\\":[\\\"configuration\\\",\\\"formattimezone\\\",\\\"titlesize\\\",\\\"if\\\",\\\"contentsize\\\",\\\"data\\\"]}\",\n    \"meta\": {\n      \"moduleName\": \"insights-web/templates/components/widget-clock.hbs\"\n    }\n  });\n});","define(\"insights-web/templates/components/widget-image\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = Ember.HTMLBars.template({\n    \"id\": \"rz/sSHB8\",\n    \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[6,[37,2],[[30,[36,1],[[35,0,[\\\"title\\\"]],\\\"https\\\"],null]],null,[[\\\"default\\\",\\\"else\\\"],[{\\\"statements\\\":[[2,\\\"    \\\"],[10,\\\"span\\\"],[14,0,\\\"text-danger\\\"],[12],[2,\\\"\\\\n    Image URL must start with https.\\\\n    \\\"],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[2,\\\"    \\\"],[10,\\\"img\\\"],[15,\\\"src\\\",[34,0,[\\\"title\\\"]]],[14,5,\\\"width:100%\\\"],[12],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]]]],\\\"hasEval\\\":false,\\\"upvars\\\":[\\\"configuration\\\",\\\"contains\\\",\\\"unless\\\"]}\",\n    \"meta\": {\n      \"moduleName\": \"insights-web/templates/components/widget-image.hbs\"\n    }\n  });\n});","define(\"insights-web/templates/components/wrapup-widget\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = Ember.HTMLBars.template({\n    \"id\": \"qJlK9umM\",\n    \"block\": \"{\\\"symbols\\\":[\\\"wrapup\\\"],\\\"statements\\\":[[10,\\\"span\\\"],[14,0,\\\"h3\\\"],[15,5,[31,[\\\"font-size:\\\",[34,4]]]],[12],[2,\\\"\\\\n    \\\"],[1,[35,5,[\\\"title\\\"]]],[2,\\\"\\\\n\\\"],[13],[2,\\\"\\\\n\\\"],[6,[37,6],[[35,3]],null,[[\\\"default\\\",\\\"else\\\"],[{\\\"statements\\\":[[10,\\\"label\\\"],[14,0,\\\"text-warning\\\"],[12],[1,[34,3]],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[10,\\\"table\\\"],[14,0,\\\"table table-stripeds table-condensed wrapups\\\"],[12],[2,\\\"\\\\n    \\\"],[10,\\\"tbody\\\"],[12],[2,\\\"\\\\n\\\"],[6,[37,2],[[30,[36,1],[[30,[36,1],[[35,0]],null]],null]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\"    \\\"],[10,\\\"tr\\\"],[12],[2,\\\"\\\\n        \\\"],[10,\\\"td\\\"],[12],[2,\\\"\\\\n            \\\"],[1,[32,1,[\\\"code\\\"]]],[2,\\\"\\\\n        \\\"],[13],[2,\\\"\\\\n        \\\"],[10,\\\"td\\\"],[12],[2,\\\"\\\\n            \\\"],[1,[32,1,[\\\"value\\\"]]],[2,\\\"\\\\n        \\\"],[13],[2,\\\"\\\\n    \\\"],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[1]}]]],[2,\\\"    \\\"],[13],[2,\\\"\\\\n\\\"],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]]]],\\\"hasEval\\\":false,\\\"upvars\\\":[\\\"wrapups\\\",\\\"-track-array\\\",\\\"each\\\",\\\"wrapupwarning\\\",\\\"titlesize\\\",\\\"configuration\\\",\\\"if\\\"]}\",\n    \"meta\": {\n      \"moduleName\": \"insights-web/templates/components/wrapup-widget.hbs\"\n    }\n  });\n});","define(\"insights-web/templates/conversation\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = Ember.HTMLBars.template({\n    \"id\": \"eFo0Wy+9\",\n    \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[1,[30,[36,1],null,[[\\\"conversationId\\\"],[[35,0,[\\\"conversationId\\\"]]]]]],[2,\\\"\\\\n\\\"]],\\\"hasEval\\\":false,\\\"upvars\\\":[\\\"model\\\",\\\"conversation-detail\\\"]}\",\n    \"meta\": {\n      \"moduleName\": \"insights-web/templates/conversation.hbs\"\n    }\n  });\n});","define(\"insights-web/templates/conversationquery\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = Ember.HTMLBars.template({\n    \"id\": \"T1m3vX+K\",\n    \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[2,\\\"\\\\n\\\\n\\\"],[1,[34,0]],[2,\\\"\\\\n\\\"]],\\\"hasEval\\\":false,\\\"upvars\\\":[\\\"call-detail-query\\\"]}\",\n    \"meta\": {\n      \"moduleName\": \"insights-web/templates/conversationquery.hbs\"\n    }\n  });\n});","define(\"insights-web/templates/dashboard-config\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = Ember.HTMLBars.template({\n    \"id\": \"jJuGrrS7\",\n    \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[11,\\\"button\\\"],[24,0,\\\"btn btn-primary\\\"],[4,[38,0],[[32,0],\\\"update\\\"],null],[12],[2,\\\"Save\\\"],[13],[2,\\\"\\\\n\\\"],[1,[30,[36,2],null,[[\\\"rows\\\",\\\"cols\\\",\\\"value\\\"],[\\\"30\\\",\\\"100\\\",[35,1]]]]],[2,\\\"\\\\n\\\"]],\\\"hasEval\\\":false,\\\"upvars\\\":[\\\"action\\\",\\\"config\\\",\\\"textarea\\\"]}\",\n    \"meta\": {\n      \"moduleName\": \"insights-web/templates/dashboard-config.hbs\"\n    }\n  });\n});","define(\"insights-web/templates/debug-query\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = Ember.HTMLBars.template({\n    \"id\": \"MutgiKRU\",\n    \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[10,\\\"h3\\\"],[12],[2,\\\"Input query here\\\"],[13],[2,\\\"\\\\n\\\"],[1,[30,[36,1],null,[[\\\"cols\\\",\\\"rows\\\",\\\"value\\\"],[\\\"80\\\",\\\"6\\\",[35,0,[\\\"query\\\"]]]]]],[2,\\\"\\\\n\\\\n\\\"],[11,\\\"button\\\"],[24,0,\\\"btn btn-primary\\\"],[4,[38,2],[[32,0],\\\"run\\\"],null],[12],[2,\\\" Run Query\\\"],[13],[2,\\\"\\\\n\\\\n\\\"],[6,[37,3],[[35,0,[\\\"results\\\"]]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[10,\\\"h3\\\"],[12],[2,\\\"Results\\\"],[13],[2,\\\"\\\\n\\\"],[1,[35,0,[\\\"results\\\"]]],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]]]],\\\"hasEval\\\":false,\\\"upvars\\\":[\\\"model\\\",\\\"textarea\\\",\\\"action\\\",\\\"if\\\"]}\",\n    \"meta\": {\n      \"moduleName\": \"insights-web/templates/debug-query.hbs\"\n    }\n  });\n});","define(\"insights-web/templates/home\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = Ember.HTMLBars.template({\n    \"id\": \"1wAS7xXG\",\n    \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[1,[30,[36,1],[[30,[36,0],null,null]],null]],[2,\\\"\\\\n\\\"]],\\\"hasEval\\\":false,\\\"upvars\\\":[\\\"-outlet\\\",\\\"component\\\"]}\",\n    \"meta\": {\n      \"moduleName\": \"insights-web/templates/home.hbs\"\n    }\n  });\n});","define(\"insights-web/templates/mypermissions\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = Ember.HTMLBars.template({\n    \"id\": \"UGvDbep9\",\n    \"block\": \"{\\\"symbols\\\":[\\\"queue\\\",\\\"permission\\\"],\\\"statements\\\":[[1,[30,[36,1],[[30,[36,0],null,null]],null]],[2,\\\"\\\\n\\\"],[10,\\\"div\\\"],[14,0,\\\"container\\\"],[12],[2,\\\"\\\\n\\\\n\\\"],[10,\\\"h1\\\"],[12],[2,\\\"Permissions\\\"],[13],[2,\\\"\\\\n\\\"],[10,\\\"ul\\\"],[12],[2,\\\"\\\\n\\\\n\\\"],[6,[37,4],[[30,[36,3],[[30,[36,3],[[35,2]],null]],null]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[10,\\\"li\\\"],[12],[2,\\\"\\\\n    \\\"],[1,[32,2]],[2,\\\"\\\\n\\\"],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[2]}]]],[13],[2,\\\"\\\\n\\\\n\\\"],[10,\\\"h1\\\"],[12],[2,\\\"Queues\\\"],[13],[2,\\\"\\\\n\\\"],[10,\\\"table\\\"],[12],[2,\\\"\\\\n\\\"],[6,[37,4],[[30,[36,3],[[30,[36,3],[[35,5]],null]],null]],null,[[\\\"default\\\"],[{\\\"statements\\\":[[2,\\\"    \\\"],[10,\\\"tr\\\"],[12],[2,\\\"\\\\n        \\\"],[10,\\\"td\\\"],[12],[2,\\\"\\\\n            \\\"],[1,[32,1,[\\\"name\\\"]]],[2,\\\"\\\\n        \\\"],[13],[2,\\\"\\\\n        \\\"],[10,\\\"td\\\"],[12],[2,\\\"\\\\n            \\\"],[1,[32,1,[\\\"id\\\"]]],[2,\\\"\\\\n        \\\"],[13],[2,\\\"\\\\n    \\\"],[13],[2,\\\"\\\\n\\\"]],\\\"parameters\\\":[1]}]]],[2,\\\"\\\\n\\\"],[13],[2,\\\"\\\\n\\\\n\\\"],[13],[2,\\\"\\\\n\\\"]],\\\"hasEval\\\":false,\\\"upvars\\\":[\\\"-outlet\\\",\\\"component\\\",\\\"permissions\\\",\\\"-track-array\\\",\\\"each\\\",\\\"queues\\\"]}\",\n    \"meta\": {\n      \"moduleName\": \"insights-web/templates/mypermissions.hbs\"\n    }\n  });\n});","define(\"insights-web/templates/realtime-debug\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = Ember.HTMLBars.template({\n    \"id\": \"huqXyHkr\",\n    \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[1,[34,0]],[2,\\\"\\\\n\\\"]],\\\"hasEval\\\":false,\\\"upvars\\\":[\\\"realtime-debug-view\\\"]}\",\n    \"meta\": {\n      \"moduleName\": \"insights-web/templates/realtime-debug.hbs\"\n    }\n  });\n});","define(\"insights-web/templates/realtime\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = Ember.HTMLBars.template({\n    \"id\": \"CkkMbvQH\",\n    \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[1,[34,0]],[2,\\\"\\\\n\\\"],[1,[30,[36,2],[[30,[36,1],null,null]],null]],[2,\\\"\\\\n\\\"]],\\\"hasEval\\\":false,\\\"upvars\\\":[\\\"realtime-grid\\\",\\\"-outlet\\\",\\\"component\\\"]}\",\n    \"meta\": {\n      \"moduleName\": \"insights-web/templates/realtime.hbs\"\n    }\n  });\n});","define(\"insights-web/templates/syncconfiguration\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = Ember.HTMLBars.template({\n    \"id\": \"QDs0oQlj\",\n    \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[1,[34,0]],[2,\\\"\\\\n\\\"]],\\\"hasEval\\\":false,\\\"upvars\\\":[\\\"database-config\\\"]}\",\n    \"meta\": {\n      \"moduleName\": \"insights-web/templates/syncconfiguration.hbs\"\n    }\n  });\n});","define(\"insights-web/transforms/boolean\", [\"exports\", \"@ember-data/serializer/-private\"], function (_exports, _private) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _private.BooleanTransform;\n    }\n  });\n});","define(\"insights-web/transforms/date\", [\"exports\", \"@ember-data/serializer/-private\"], function (_exports, _private) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _private.DateTransform;\n    }\n  });\n});","define(\"insights-web/transforms/number\", [\"exports\", \"@ember-data/serializer/-private\"], function (_exports, _private) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _private.NumberTransform;\n    }\n  });\n});","define(\"insights-web/transforms/string\", [\"exports\", \"@ember-data/serializer/-private\"], function (_exports, _private) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _private.StringTransform;\n    }\n  });\n});","define(\"insights-web/utils/agentstattypes\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var agentstattypes = [{\n    \"key\": \"agent_status\",\n    \"text\": \"Status\",\n    \"metrics\": [\"\"]\n  }, {\n    \"key\": \"agent_time_in_status\",\n    \"text\": \"Time In Status\",\n    \"metrics\": [\"\"]\n  }, {\n    \"key\": \"current_conversation_count\",\n    \"text\": \"Active Conversations\",\n    \"metrics\": [\"\"]\n  }, {\n    \"key\": \"longest_active_conversation\",\n    \"text\": \"Longest Active Conversation\",\n    \"metrics\": [\"\"]\n  }, {\n    \"key\": \"agent_answered\",\n    \"text\": \"Answered\",\n    \"metrics\": [\"tAnswered\"]\n  }, {\n    \"key\": \"agent_hold_time\",\n    \"text\": \"Hold Time\",\n    \"metrics\": [\"tHeldComplete\"]\n  }, {\n    \"key\": \"agent_talk_time\",\n    \"text\": \"Talk Time\",\n    \"metrics\": [\"tTalkComplete\"]\n  }, {\n    \"key\": \"agent_avg_hold_time\",\n    \"text\": \"Avg Hold Time\",\n    \"metrics\": [\"tHeldComplete\"]\n  }, {\n    \"key\": \"agent_avg_talk_time\",\n    \"text\": \"Avg Talk Time\",\n    \"metrics\": [\"tTalkComplete\"]\n  }, {\n    \"key\": \"agent_average_handle\",\n    \"text\": \"Avg Handle Time\",\n    \"metrics\": [\"tHandle\"]\n  }, {\n    \"key\": \"agent_average_acw\",\n    \"text\": \"Avg ACW Time\",\n    \"metrics\": [\"tAcw\"]\n  }, {\n    \"key\": \"agent_transfer\",\n    \"text\": \"Transfer Count\",\n    \"metrics\": [\"nTransferred\"]\n  }, {\n    \"key\": \"outbound_calls\",\n    \"text\": \"Outbound Calls\",\n    \"metrics\": [\"nOutbound\"]\n  }];\n  var _default = _exports.default = agentstattypes;\n});","define(\"insights-web/utils/calculate-position\", [\"exports\", \"ember-basic-dropdown/utils/calculate-position\"], function (_exports, _calculatePosition) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _calculatePosition.default;\n    }\n  });\n});","define(\"insights-web/utils/colorDefaults\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var colors = {\n    defaultText: \"rgb(51, 51, 51)\",\n    defaultBackground: \"#f8f8f8\",\n    defaultDarkText: \"white\",\n    defaultDarkBackground: \"#444A52\"\n  };\n  var _default = _exports.default = colors;\n});","define(\"insights-web/utils/graphconfigoptions\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  /*\n  //  configuration\n  chartTYpe: bar, line\n  Stat. nOffered, nAbandoned, tHandled, tWait, serviceLevel\n  Interval : Day, week, Month\n  Group By: Queue, Media Type\n  Stacked t/f\n  Queues\n  \n  */\n\n  var graphconfigoptions = {\n    chartTypes: [{\n      'text': '',\n      'key': ''\n    }, {\n      'text': 'Line',\n      'key': 'line'\n    }, {\n      'text': 'Bar',\n      'key': 'bar'\n    }],\n    stats: [{\n      'text': '',\n      'key': ''\n    }, {\n      'text': 'Average Hold Time',\n      'key': 'tHeldComplete'\n    }, {\n      'text': 'Average Speed of Abandon',\n      'key': 'tAbandon'\n    }, {\n      'text': 'Average Speed of Answer',\n      'key': 'tAnswered'\n    }, {\n      'text': 'Average Wait Time',\n      'key': 'tAcd'\n    }, {\n      'text': 'Interactions Abandoned',\n      'key': 'tAbandon_count'\n    }, {\n      'text': 'Interactions Answered',\n      'key': 'tAnswered_count'\n    }, {\n      'text': 'Interactions Offered',\n      'key': 'nOffered'\n    }, {\n      'text': 'SLA',\n      'key': 'oServiceLevel'\n    }],\n    intervals: [{\n      'text': '',\n      'key': ''\n    }, {\n      'text': 'Hour',\n      'key': 'PT1H'\n    }, {\n      'text': 'Day',\n      'key': 'P1D'\n    }, {\n      'text': 'Week',\n      'key': 'P1W'\n    } /*,\n      {\n         'text': 'Month',\n         'key' : 'P1M'\n      }*/],\n    dataSet: [{\n      'text': '',\n      'key': ''\n    }, {\n      'text': 'Queue',\n      'key': 'queueId'\n    }, {\n      'text': 'Media Type',\n      'key': 'mediaType'\n    }]\n  };\n  var _default = _exports.default = graphconfigoptions;\n});","define(\"insights-web/utils/guid\", [\"exports\", \"ember-cli-guid/utils/guid\"], function (_exports, _guid) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _guid.default;\n    }\n  });\n});","define(\"insights-web/utils/observationGraphStatTypes\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var observationGraphStatTypes = [{\n    \"key\": \"observation_conversations_waiting\",\n    \"text\": \"Conversations Waiting\",\n    \"legendText\": \"Waiting\",\n    \"observationMetric\": \"oWaiting\",\n    \"metrics\": [\"oWaiting\"]\n  }, {\n    \"key\": \"observation_agents_not_responding\",\n    \"text\": \"Not Responding Agents\",\n    \"legendText\": \"Not Responding\",\n    \"observationMetric\": \"oUserRoutingStatuses.NOT_RESPONDING\",\n    \"metrics\": [\"oOnQueueUsers\", \"oUserRoutingStatuses\"]\n  }, {\n    \"key\": \"observation_agents_idle\",\n    \"text\": \"Idle Agents\",\n    \"legendText\": \"Idle\",\n    \"observationMetric\": \"oUserRoutingStatuses.IDLE\",\n    \"metrics\": [\"oOnQueueUsers\", \"oUserRoutingStatuses\"]\n  }, {\n    \"key\": \"observation_agents_interacting\",\n    \"text\": \"Conversations Interacting\",\n    \"legendText\": \"Interacting\",\n    // \"observationMetric\": \"oUserRoutingStatuses.INTERACTING\",\n    // \"metrics\": [\"oOnQueueUsers\", \"oUserRoutingStatuses\"],\n    \"observationMetric\": \"oInteracting\",\n    \"metrics\": [\"oInteracting\"]\n  }];\n  var _default = _exports.default = observationGraphStatTypes;\n});","define(\"insights-web/utils/render-classic-chart\", [\"exports\", \"ember-google-charts/utils/render-classic-chart\"], function (_exports, _renderClassicChart) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _renderClassicChart.default;\n    }\n  });\n});","define(\"insights-web/utils/render-material-chart\", [\"exports\", \"ember-google-charts/utils/render-material-chart\"], function (_exports, _renderMaterialChart) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _renderMaterialChart.default;\n    }\n  });\n});","define(\"insights-web/utils/stattimeperiods\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var stattimeperiods = [{\n    \"id\": \"day\",\n    \"name\": \"Current Day\"\n  }, {\n    \"id\": \"currentinterval\",\n    \"name\": \"Current Interval\"\n  }, {\n    \"id\": \"previousinterval\",\n    \"name\": \"Previous Interval\"\n  }];\n  var _default = _exports.default = stattimeperiods;\n});","define(\"insights-web/utils/widgetstattypes\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var widgetstattypes = [{\n    \"key\": \"average_call_time\",\n    \"text\": \"Average Conversation Time\",\n    \"widgetType\": \"count\",\n    \"multiqueue\": true,\n    \"isObservation\": false,\n    \"metrics\": [\"tTalkComplete\"],\n    \"category\": \"Queue\"\n  }, {\n    \"key\": \"conversations_active\",\n    \"text\": \"Active Conversations\",\n    \"widgetType\": \"count\",\n    \"multiqueue\": true,\n    \"allowZeroTimer\": true,\n    \"isObservation\": true,\n    \"metrics\": [\"oInteracting\"],\n    \"category\": \"Queue\"\n  }, {\n    \"key\": \"agents_on_queue\",\n    \"text\": \"Agents on Queue\",\n    \"widgetType\": \"count\",\n    \"multiqueue\": true,\n    \"isObservation\": true,\n    \"metrics\": [\"oOnQueueUsers\", \"oUserRoutingStatuses\"],\n    \"category\": \"Queue\",\n    \"agentStat\": true\n  }, {\n    \"key\": \"agents_interacting\",\n    \"text\": \"Agents Interacting\",\n    \"qualifier\": \"INTERACTING\",\n    \"widgetType\": \"count\",\n    \"multiqueue\": true,\n    \"isObservation\": true,\n    \"metrics\": [\"oOnQueueUsers\", \"oUserRoutingStatuses\"],\n    \"category\": \"Queue\",\n    \"agentStat\": true\n  }, {\n    \"key\": \"agents_idle\",\n    \"text\": \"Agents Idle\",\n    \"widgetType\": \"count\",\n    \"qualifier\": \"IDLE\",\n    \"multiqueue\": true,\n    \"isObservation\": true,\n    \"metrics\": [\"oOnQueueUsers\", \"oUserRoutingStatuses\"],\n    \"category\": \"Queue\",\n    \"agentStat\": true\n  }, {\n    \"key\": \"average_wait_time\",\n    \"text\": \"Average Wait Time\",\n    \"widgetType\": \"count\",\n    \"multiqueue\": true,\n    \"isObservation\": false,\n    \"metrics\": [\"tAcd\"],\n    \"category\": \"Queue\"\n  }, {\n    \"key\": \"average_speed_of_answer\",\n    \"text\": \"Average Speed Of Answer\",\n    \"widgetType\": \"count\",\n    \"multiqueue\": true,\n    \"isObservation\": false,\n    \"metrics\": [\"tAnswered\"],\n    \"category\": \"Queue\"\n  }, {\n    \"key\": \"conversations_waiting\",\n    \"text\": \"Conversations Waiting\",\n    \"widgetType\": \"count\",\n    \"multiqueue\": true,\n    \"isObservation\": true,\n    \"metrics\": [\"oWaiting\"],\n    \"category\": \"Queue\"\n  }, {\n    \"key\": \"total_conversations\",\n    \"text\": \"Conversation Offered Count\",\n    \"widgetType\": \"count\",\n    \"multiqueue\": true,\n    \"isObservation\": false,\n    \"metrics\": [\"nOffered\"],\n    \"category\": \"Queue\"\n  }, {\n    \"key\": \"total_conversations_answered\",\n    \"text\": \"Conversation Answered Count\",\n    \"widgetType\": \"count\",\n    \"multiqueue\": true,\n    \"isObservation\": false,\n    \"metrics\": [\"tAnswered\"],\n    \"category\": \"Queue\"\n  }, {\n    \"key\": \"total_conversations_answered_pct\",\n    \"text\": \"Conversation Answered %\",\n    \"widgetType\": \"count\",\n    \"multiqueue\": true,\n    \"isObservation\": false,\n    \"metrics\": [\"tAnswered\", \"nOffered\"],\n    \"category\": \"Queue\"\n  }, {\n    \"key\": \"sla_today\",\n    \"text\": \"SLA\",\n    \"widgetType\": \"count\",\n    \"multiqueue\": true,\n    \"isObservation\": false,\n    \"metrics\": [\"oServiceLevel\"],\n    \"category\": \"Queue\"\n  }, {\n    \"key\": \"campaign_progress\",\n    \"text\": \"Campaign Progress %\",\n    \"widgetType\": \"count\",\n    \"isCampaign\": true,\n    \"category\": \"Campaign\"\n  }, {\n    \"key\": \"campaign_idleagents\",\n    \"text\": \"Campaign Idle Agents\",\n    \"widgetType\": \"count\",\n    \"isCampaign\": true,\n    \"category\": \"Campaign\"\n  }, {\n    \"key\": \"campaign_contactrate\",\n    \"text\": \"Campaign Contact Rate\",\n    \"widgetType\": \"count\",\n    \"isCampaign\": true,\n    \"isObservation\": true,\n    \"metrics\": [\"oContactRate\"],\n    \"category\": \"Campaign\"\n  },\n  /*{\n    \"key\": \"queue_conversation_state_by_mediatype\",\n    \"text\": \"Queue Conversation State by Media Type (Bar Chart)\",\n    \"widgetType\": \"barchart\",\n    \"multiqueue\": true,\n    \"isObservation\": true\n  },\n  {\n    \"key\": \"queue_mediatype\",\n    \"text\": \"Queue Media Types (Pie Chart)\",\n    \"widgetType\": \"piechart\",\n    \"multiqueue\": true,\n    \"isObservation\": true,\n    \"metrics\": [\"oInteracting\", \"oWaiting\"]\n  },*/\n  {\n    \"key\": \"queue_depth\",\n    \"text\": \"Queue Depth\",\n    // (Ratio of waiting conversations to agents in queue)\",\n    \"widgetType\": \"count\",\n    \"multiqueue\": true,\n    \"isObservation\": true,\n    \"metrics\": [\"oOnQueueUsers\", \"oWaiting\"],\n    \"category\": \"Queue\"\n  }, {\n    \"key\": \"abandoned_interactions\",\n    \"text\": \"Abandoned Interactions\",\n    \"widgetType\": \"count\",\n    \"multiqueue\": true,\n    \"isObservation\": false,\n    \"metrics\": [\"tAbandon\"],\n    \"category\": \"Queue\"\n  }, {\n    \"key\": \"longest_call_waiting\",\n    \"text\": \"Longest Call Waiting\",\n    \"widgetType\": \"count\",\n    \"multiqueue\": true,\n    \"isObservation\": true,\n    \"metrics\": [],\n    \"category\": \"Queue\"\n  }, {\n    \"key\": \"average_handle_time\",\n    \"text\": \"Average Handle Time\",\n    \"widgetType\": \"count\",\n    \"multiqueue\": true,\n    \"isObservation\": false,\n    \"metrics\": [\"tHandle\"],\n    \"category\": \"Queue\"\n  }, {\n    \"key\": \"average_hold_time\",\n    \"text\": \"Average Hold Time\",\n    \"widgetType\": \"count\",\n    \"multiqueue\": true,\n    \"isObservation\": false,\n    \"metrics\": [\"tHeldComplete\"],\n    \"category\": \"Queue\"\n  }, {\n    \"key\": \"average_acw_time\",\n    \"text\": \"Average ACW Time\",\n    \"widgetType\": \"count\",\n    \"multiqueue\": true,\n    \"isObservation\": false,\n    \"metrics\": [\"tAcw\"],\n    \"category\": \"Queue\"\n  }];\n  var _default = _exports.default = widgetstattypes;\n});","define(\"insights-web/utils/widgettypes\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var widgettypes = [{\n    key: \"statistic\",\n    text: \"Statistic\",\n    defaultSize: {\n      width: 3,\n      height: 3\n    }\n  }, {\n    key: \"chart\",\n    text: \"Chart\",\n    defaultSize: {\n      width: 3,\n      height: 4\n    }\n  }, {\n    key: \"observationchart\",\n    text: \"Queue Observation Chart\",\n    defaultSize: {\n      width: 3,\n      height: 4\n    },\n    feature: \"observationchart\"\n  }, {\n    key: \"agentstats\",\n    text: \"Agent Stat Grid\",\n    defaultSize: {\n      width: 3,\n      height: 4\n    }\n  }, {\n    key: \"queuestats\",\n    text: \"Queue Stat Grid\",\n    defaultSize: {\n      width: 3,\n      height: 4\n    }\n  },\n  // {\n  //     \"key\": \"queuecalls\",\n  //     \"text\": \"Queue Calls\",\n  //     \"defaultSize\":{\n  //         \"width\":3,\n  //         \"height\":4,\n  //     }\n  // },\n  {\n    key: \"topwrapups\",\n    text: \"Top Wrapup Codes\",\n    defaultSize: {\n      width: 3,\n      height: 4\n    }\n  }, {\n    key: \"image\",\n    text: \"Image\",\n    defaultSize: {\n      width: 4,\n      height: 2\n    }\n  }, {\n    key: \"clock\",\n    text: \"Clock\",\n    defaultSize: {\n      width: 2,\n      height: 2\n    }\n  }, {\n    key: \"webframe\",\n    text: \"Embedded Web Page\",\n    defaultSize: {\n      width: 3,\n      height: 4\n    }\n  }, {\n    key: \"statictext\",\n    text: \"Static Text\",\n    defaultSize: {\n      width: 6,\n      height: 1\n    },\n    feature: \"dashboardplus\"\n  }\n  //   {\n  //     key: \"debug\",\n  //     text: \"DEBUG UTIL\",\n  //     defaultSize: {\n  //       width: 6,\n  //       height: 1,\n  //     },\n  //   },\n  ];\n  var _default = _exports.default = widgettypes;\n});","\n","define('insights-web/config/environment', [], function() {\n  var prefix = 'insights-web';\ntry {\n  var metaName = prefix + '/config/environment';\n  var rawConfig = document.querySelector('meta[name=\"' + metaName + '\"]').getAttribute('content');\n  var config = JSON.parse(decodeURIComponent(rawConfig));\n\n  var exports = { 'default': config };\n\n  Object.defineProperty(exports, '__esModule', { value: true });\n\n  return exports;\n}\ncatch(err) {\n  throw new Error('Could not read config from meta tag with name \"' + metaName + '\".');\n}\n\n});\n","\n          if (!runningTests) {\n            require(\"insights-web/app\")[\"default\"].create({\"BuildNumber\":\"326\",\"Commit\":\"15bbbbee2a5f2428d7f824cdfb8541bdb3a93907\",\"name\":\"insights-web\",\"version\":\"0.0.0+15bbbbee\"});\n          }\n        \n"],"names":[],"mappings":"AAAA;AACA;AACA;;ACFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACzTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjWA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACxZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACzDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC9MA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC5DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC5GA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACxxBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1QA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC3BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACxDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACxBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC7DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC/GA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACzDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC3CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC7CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACxEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC3BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACzCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC5SA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACxFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC9qDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC/HA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvmBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC9CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACxBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC5DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClGA;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;","file":"insights-web.js"}