PageSourceSearch

https://www.wko.at/static/js/powerbi.js?v=24092026

js wko.at collected 2026-09-24 06:59:54 UTC 574,029 bytes, 13,425 lines download raw bytes

1// powerbi-client v2.23.1
2// Copyright (c) Microsoft Corporation.
3// Licensed under the MIT License.
4(function webpackUniversalModuleDefinition(root, factory) {
5	if(typeof exports === 'object' && typeof module === 'object')
6		module.exports = factory();
7	else if(typeof define === 'function' && define.amd)
8		define([], factory);
9	else if(typeof exports === 'object')
10		exports["powerbi-client"] = factory();
11	else
12		root["powerbi-client"] = factory();
13})(this, () => {
14return /******/ (() => { // webpackBootstrap
15/******/ 	var __webpack_modules__ = ({
16
vendor: 7,099 bytes, lines 17-199
17/***/ "./node_modules/http-post-message/dist/httpPostMessage.js":
18/*!****************************************************************!*\
19  !*** ./node_modules/http-post-message/dist/httpPostMessage.js ***!
20  \****************************************************************/
21/***/ (function(module) {
22
23/*! http-post-message v0.2.3 | (c) 2016 Microsoft Corporation MIT */
24(function webpackUniversalModuleDefinition(root, factory) {
25	if(true)
26		module.exports = factory();
27	else {}
28})(this, function() {
29return /******/ (function(modules) { // webpackBootstrap
30/******/ 	// The module cache
31/******/ 	var installedModules = {};
32/******/
33/******/ 	// The require function
34/******/ 	function __nested_webpack_require_626__(moduleId) {
35/******/
36/******/ 		// Check if module is in cache
37/******/ 		if(installedModules[moduleId])
38/******/ 			return installedModules[moduleId].exports;
39/******/
40/******/ 		// Create a new module (and put it into the cache)
41/******/ 		var module = installedModules[moduleId] = {
42/******/ 			exports: {},
43/******/ 			id: moduleId,
44/******/ 			loaded: false
45/******/ 		};
46/******/
47/******/ 		// Execute the module function
48/******/ 		modules[moduleId].call(module.exports, module, module.exports, __nested_webpack_require_626__);
49/******/
50/******/ 		// Flag the module as loaded
51/******/ 		module.loaded = true;
52/******/
53/******/ 		// Return the exports of the module
54/******/ 		return module.exports;
55/******/ 	}
56/******/
57/******/
58/******/ 	// expose the modules object (__webpack_modules__)
59/******/ 	__nested_webpack_require_626__.m = modules;
60/******/
61/******/ 	// expose the module cache
62/******/ 	__nested_webpack_require_626__.c = installedModules;
63/******/
64/******/ 	// __webpack_public_path__
65/******/ 	__nested_webpack_require_626__.p = "";
66/******/
67/******/ 	// Load entry module and return exports
68/******/ 	return __nested_webpack_require_626__(0);
69/******/ })
70/************************************************************************/
71/******/ ([
72/* 0 */
73/***/ function(module, exports) {
74
75	"use strict";
76	var HttpPostMessage = (function () {
77	    function HttpPostMessage(windowPostMessageProxy, defaultHeaders, defaultTargetWindow) {
78	        if (defaultHeaders === void 0) { defaultHeaders = {}; }
79	        this.defaultHeaders = defaultHeaders;
80	        this.defaultTargetWindow = defaultTargetWindow;
81	        this.windowPostMessageProxy = windowPostMessageProxy;
82	    }
83	    // TODO: See if it's possible to share tracking properties interface?
84	    // The responsibility of knowing how to configure windowPostMessageProxy for http should
85	    // live in this http class, but the configuration would need ITrackingProperties
86	    // interface which lives in WindowPostMessageProxy. Use <any> type as workaround
87	    HttpPostMessage.addTrackingProperties = function (message, trackingProperties) {
88	        message.headers = message.headers || {};
89	        if (trackingProperties && trackingProperties.id) {
90	            message.headers.id = trackingProperties.id;
91	        }
92	        return message;
93	    };
94	    HttpPostMessage.getTrackingProperties = function (message) {
95	        return {
96	            id: message.headers && message.headers.id
97	        };
98	    };
99	    HttpPostMessage.isErrorMessage = function (message) {
100	        if (typeof (message && message.statusCode) !== 'number') {
101	            return false;
102	        }
103	        return !(200 <= message.statusCode && message.statusCode < 300);
104	    };
105	    HttpPostMessage.prototype.get = function (url, headers, targetWindow) {
106	        if (headers === void 0) { headers = {}; }
107	        if (targetWindow === void 0) { targetWindow = this.defaultTargetWindow; }
108	        return this.send({
109	            method: "GET",
110	            url: url,
111	            headers: headers
112	        }, targetWindow);
113	    };
114	    HttpPostMessage.prototype.post = function (url, body, headers, targetWindow) {
115	        if (headers === void 0) { headers = {}; }
116	        if (targetWindow === void 0) { targetWindow = this.defaultTargetWindow; }
117	        return this.send({
118	            method: "POST",
119	            url: url,
120	            headers: headers,
121	            body: body
122	        }, targetWindow);
123	    };
124	    HttpPostMessage.prototype.put = function (url, body, headers, targetWindow) {
125	        if (headers === void 0) { headers = {}; }
126	        if (targetWindow === void 0) { targetWindow = this.defaultTargetWindow; }
127	        return this.send({
128	            method: "PUT",
129	            url: url,
130	            headers: headers,
131	            body: body
132	        }, targetWindow);
133	    };
134	    HttpPostMessage.prototype.patch = function (url, body, headers, targetWindow) {
135	        if (headers === void 0) { headers = {}; }
136	        if (targetWindow === void 0) { targetWindow = this.defaultTargetWindow; }
137	        return this.send({
138	            method: "PATCH",
139	            url: url,
140	            headers: headers,
141	            body: body
142	        }, targetWindow);
143	    };
144	    HttpPostMessage.prototype.delete = function (url, body, headers, targetWindow) {
145	        if (body === void 0) { body = null; }
146	        if (headers === void 0) { headers = {}; }
147	        if (targetWindow === void 0) { targetWindow = this.defaultTargetWindow; }
148	        return this.send({
149	            method: "DELETE",
150	            url: url,
151	            headers: headers,
152	            body: body
153	        }, targetWindow);
154	    };
155	    HttpPostMessage.prototype.send = function (request, targetWindow) {
156	        if (targetWindow === void 0) { targetWindow = this.defaultTargetWindow; }
157	        request.headers = this.assign({}, this.defaultHeaders, request.headers);
158	        if (!targetWindow) {
159	            throw new Error("target window is not provided.  You must either provide the target window explicitly as argument to request, or specify default target window when constructing instance of this class.");
160	        }
161	        return this.windowPostMessageProxy.postMessage(targetWindow, request);
162	    };
163	    /**
164	     * Object.assign() polyfill
165	     * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign
166	     */
167	    HttpPostMessage.prototype.assign = function (target) {
168	        var sources = [];
169	        for (var _i = 1; _i < arguments.length; _i++) {
170	            sources[_i - 1] = arguments[_i];
171	        }
172	        if (target === undefined || target === null) {
173	            throw new TypeError('Cannot convert undefined or null to object');
174	        }
175	        var output = Object(target);
176	        sources.forEach(function (source) {
177	            if (source !== undefined && source !== null) {
178	                for (var nextKey in source) {
179	                    if (Object.prototype.hasOwnProperty.call(source, nextKey)) {
180	                        output[nextKey] = source[nextKey];
181	                    }
182	                }
183	            }
184	        });
185	        return output;
186	    };
187	    return HttpPostMessage;
188	}());
189	exports.HttpPostMessage = HttpPostMessage;
190
191
192/***/ }
193/******/ ])
194});
195;
196//# sourceMappingURL=httpPostMessage.js.map
197
198/***/ }),
199
vendor: 262,611 bytes, lines 200-6032
200/***/ "./node_modules/powerbi-models/dist/models.js":
201/*!****************************************************!*\
202  !*** ./node_modules/powerbi-models/dist/models.js ***!
203  \****************************************************/
204/***/ (function(module) {
205
206// powerbi-models v1.15.2
207// Copyright (c) Microsoft Corporation.
208// Licensed under the MIT License.
209(function webpackUniversalModuleDefinition(root, factory) {
210	if(true)
211		module.exports = factory();
212	else {}
213})(this, () => {
214return /******/ (() => { // webpackBootstrap
215/******/ 	var __webpack_modules__ = ([
216/* 0 */
217/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_612__) {
218
219// Copyright (c) Microsoft Corporation.
220// Licensed under the MIT License.
221var __extends = (this && this.__extends) || (function () {
222    var extendStatics = function (d, b) {
223        extendStatics = Object.setPrototypeOf ||
224            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
225            function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
226        return extendStatics(d, b);
227    };
228    return function (d, b) {
229        if (typeof b !== "function" && b !== null)
230            throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
231        extendStatics(d, b);
232        function __() { this.constructor = d; }
233        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
234    };
235})();
236Object.defineProperty(exports, "__esModule", ({ value: true }));
237exports.CommonErrorCodes = exports.BookmarksPlayMode = exports.ExportDataType = exports.QnaMode = exports.PageNavigationPosition = exports.BrowserPrintAdjustmentsMode = exports.AggregateFunction = exports.DataCacheMode = exports.CredentialType = exports.isPercentOfGrandTotal = exports.isColumnAggr = exports.isHierarchyLevelAggr = exports.isHierarchyLevel = exports.isColumn = exports.isMeasure = exports.getFilterType = exports.isBasicFilterWithKeys = exports.isFilterKeyColumnsTarget = exports.HierarchyIdentityFilter = exports.HierarchyFilter = exports.AdvancedFilter = exports.TupleFilter = exports.IdentityFilter = exports.BasicFilterWithKeys = exports.BasicFilter = exports.RelativeTimeFilter = exports.RelativeDateFilter = exports.TopNFilter = exports.IncludeExcludeFilter = exports.NotSupportedFilter = exports.Filter = exports.RelativeDateOperators = exports.RelativeDateFilterTimeUnit = exports.FilterType = exports.FiltersLevel = exports.FiltersOperations = exports.MenuLocation = exports.ContrastMode = exports.TokenType = exports.ViewMode = exports.Permissions = exports.SectionVisibility = exports.ReportAlignment = exports.HyperlinkClickBehavior = exports.LayoutType = exports.VisualContainerDisplayMode = exports.BackgroundType = exports.DisplayOption = exports.PageSizeType = exports.TraceType = void 0;
238exports.validateExportDataRequest = exports.validateQnaInterpretInputData = exports.validateLoadQnaConfiguration = exports.validateSaveAsParameters = exports.validateUpdateFiltersRequest = exports.validateFilter = exports.validatePage = exports.validateTileLoad = exports.validateDashboardLoad = exports.validateQuickCreate = exports.validateCreateReport = exports.validatePaginatedReportLoad = exports.validateReportLoad = exports.validateMenuGroupExtension = exports.validateExtension = exports.validateCustomPageSize = exports.validateVisualizationsPane = exports.validateSyncSlicersPane = exports.validateSelectionPane = exports.validatePageNavigationPane = exports.validateFieldsPane = exports.validateFiltersPane = exports.validateBookmarksPane = exports.validatePanes = exports.validateSettings = exports.validateCaptureBookmarkRequest = exports.validateApplyBookmarkStateRequest = exports.validateApplyBookmarkByNameRequest = exports.validateAddBookmarkRequest = exports.validatePlayBookmarkRequest = exports.validateSlicerState = exports.validateSlicer = exports.validateVisualSelector = exports.isIExtensionArray = exports.isIExtensions = exports.isGroupedMenuExtension = exports.isFlatMenuExtension = exports.isReportFiltersArray = exports.isOnLoadFilters = exports.VisualDataRoleKindPreference = exports.VisualDataRoleKind = exports.CommandDisplayOption = exports.SlicerTargetSelector = exports.VisualTypeSelector = exports.VisualSelector = exports.PageSelector = exports.Selector = exports.SortDirection = exports.LegendPosition = exports.TextAlignment = void 0;
239exports.validatePrintSettings = exports.validateZoomLevel = exports.validateCustomTheme = exports.validateCommandsSettings = exports.validateVisualSettings = exports.validateVisualHeader = void 0;
240var validator_1 = __nested_webpack_require_612__(1);
241var TraceType;
242(function (TraceType) {
243    TraceType[TraceType["Information"] = 0] = "Information";
244    TraceType[TraceType["Verbose"] = 1] = "Verbose";
245    TraceType[TraceType["Warning"] = 2] = "Warning";
246    TraceType[TraceType["Error"] = 3] = "Error";
247    TraceType[TraceType["ExpectedError"] = 4] = "ExpectedError";
248    TraceType[TraceType["UnexpectedError"] = 5] = "UnexpectedError";
249    TraceType[TraceType["Fatal"] = 6] = "Fatal";
250})(TraceType = exports.TraceType || (exports.TraceType = {}));
251var PageSizeType;
252(function (PageSizeType) {
253    PageSizeType[PageSizeType["Widescreen"] = 0] = "Widescreen";
254    PageSizeType[PageSizeType["Standard"] = 1] = "Standard";
255    PageSizeType[PageSizeType["Cortana"] = 2] = "Cortana";
256    PageSizeType[PageSizeType["Letter"] = 3] = "Letter";
257    PageSizeType[PageSizeType["Custom"] = 4] = "Custom";
258    PageSizeType[PageSizeType["Mobile"] = 5] = "Mobile";
259})(PageSizeType = exports.PageSizeType || (exports.PageSizeType = {}));
260var DisplayOption;
261(function (DisplayOption) {
262    DisplayOption[DisplayOption["FitToPage"] = 0] = "FitToPage";
263    DisplayOption[DisplayOption["FitToWidth"] = 1] = "FitToWidth";
264    DisplayOption[DisplayOption["ActualSize"] = 2] = "ActualSize";
265})(DisplayOption = exports.DisplayOption || (exports.DisplayOption = {}));
266var BackgroundType;
267(function (BackgroundType) {
268    BackgroundType[BackgroundType["Default"] = 0] = "Default";
269    BackgroundType[BackgroundType["Transparent"] = 1] = "Transparent";
270})(BackgroundType = exports.BackgroundType || (exports.BackgroundType = {}));
271var VisualContainerDisplayMode;
272(function (VisualContainerDisplayMode) {
273    VisualContainerDisplayMode[VisualContainerDisplayMode["Visible"] = 0] = "Visible";
274    VisualContainerDisplayMode[VisualContainerDisplayMode["Hidden"] = 1] = "Hidden";
275})(VisualContainerDisplayMode = exports.VisualContainerDisplayMode || (exports.VisualContainerDisplayMode = {}));
276var LayoutType;
277(function (LayoutType) {
278    LayoutType[LayoutType["Master"] = 0] = "Master";
279    LayoutType[LayoutType["Custom"] = 1] = "Custom";
280    LayoutType[LayoutType["MobilePortrait"] = 2] = "MobilePortrait";
281    LayoutType[LayoutType["MobileLandscape"] = 3] = "MobileLandscape";
282})(LayoutType = exports.LayoutType || (exports.LayoutType = {}));
283var HyperlinkClickBehavior;
284(function (HyperlinkClickBehavior) {
285    HyperlinkClickBehavior[HyperlinkClickBehavior["Navigate"] = 0] = "Navigate";
286    HyperlinkClickBehavior[HyperlinkClickBehavior["NavigateAndRaiseEvent"] = 1] = "NavigateAndRaiseEvent";
287    HyperlinkClickBehavior[HyperlinkClickBehavior["RaiseEvent"] = 2] = "RaiseEvent";
288})(HyperlinkClickBehavior = exports.HyperlinkClickBehavior || (exports.HyperlinkClickBehavior = {}));
289var ReportAlignment;
290(function (ReportAlignment) {
291    ReportAlignment[ReportAlignment["Left"] = 0] = "Left";
292    ReportAlignment[ReportAlignment["Center"] = 1] = "Center";
293    ReportAlignment[ReportAlignment["Right"] = 2] = "Right";
294    ReportAlignment[ReportAlignment["None"] = 3] = "None";
295})(ReportAlignment = exports.ReportAlignment || (exports.ReportAlignment = {}));
296var SectionVisibility;
297(function (SectionVisibility) {
298    SectionVisibility[SectionVisibility["AlwaysVisible"] = 0] = "AlwaysVisible";
299    SectionVisibility[SectionVisibility["HiddenInViewMode"] = 1] = "HiddenInViewMode";
300})(SectionVisibility = exports.SectionVisibility || (exports.SectionVisibility = {}));
301var Permissions;
302(function (Permissions) {
303    Permissions[Permissions["Read"] = 0] = "Read";
304    Permissions[Permissions["ReadWrite"] = 1] = "ReadWrite";
305    Permissions[Permissions["Copy"] = 2] = "Copy";
306    Permissions[Permissions["Create"] = 4] = "Create";
307    Permissions[Permissions["All"] = 7] = "All";
308})(Permissions = exports.Permissions || (exports.Permissions = {}));
309var ViewMode;
310(function (ViewMode) {
311    ViewMode[ViewMode["View"] = 0] = "View";
312    ViewMode[ViewMode["Edit"] = 1] = "Edit";
313})(ViewMode = exports.ViewMode || (exports.ViewMode = {}));
314var TokenType;
315(function (TokenType) {
316    TokenType[TokenType["Aad"] = 0] = "Aad";
317    TokenType[TokenType["Embed"] = 1] = "Embed";
318})(TokenType = exports.TokenType || (exports.TokenType = {}));
319var ContrastMode;
320(function (ContrastMode) {
321    ContrastMode[ContrastMode["None"] = 0] = "None";
322    ContrastMode[ContrastMode["HighContrast1"] = 1] = "HighContrast1";
323    ContrastMode[ContrastMode["HighContrast2"] = 2] = "HighContrast2";
324    ContrastMode[ContrastMode["HighContrastBlack"] = 3] = "HighContrastBlack";
325    ContrastMode[ContrastMode["HighContrastWhite"] = 4] = "HighContrastWhite";
326})(ContrastMode = exports.ContrastMode || (exports.ContrastMode = {}));
327var MenuLocation;
328(function (MenuLocation) {
329    MenuLocation[MenuLocation["Bottom"] = 0] = "Bottom";
330    MenuLocation[MenuLocation["Top"] = 1] = "Top";
331})(MenuLocation = exports.MenuLocation || (exports.MenuLocation = {}));
332var FiltersOperations;
333(function (FiltersOperations) {
334    FiltersOperations[FiltersOperations["RemoveAll"] = 0] = "RemoveAll";
335    FiltersOperations[FiltersOperations["ReplaceAll"] = 1] = "ReplaceAll";
336    FiltersOperations[FiltersOperations["Add"] = 2] = "Add";
337    FiltersOperations[FiltersOperations["Replace"] = 3] = "Replace";
338})(FiltersOperations = exports.FiltersOperations || (exports.FiltersOperations = {}));
339var FiltersLevel;
340(function (FiltersLevel) {
341    FiltersLevel[FiltersLevel["Report"] = 0] = "Report";
342    FiltersLevel[FiltersLevel["Page"] = 1] = "Page";
343    FiltersLevel[FiltersLevel["Visual"] = 2] = "Visual";
344})(FiltersLevel = exports.FiltersLevel || (exports.FiltersLevel = {}));
345var FilterType;
346(function (FilterType) {
347    FilterType[FilterType["Advanced"] = 0] = "Advanced";
348    FilterType[FilterType["Basic"] = 1] = "Basic";
349    FilterType[FilterType["Unknown"] = 2] = "Unknown";
350    FilterType[FilterType["IncludeExclude"] = 3] = "IncludeExclude";
351    FilterType[FilterType["RelativeDate"] = 4] = "RelativeDate";
352    FilterType[FilterType["TopN"] = 5] = "TopN";
353    FilterType[FilterType["Tuple"] = 6] = "Tuple";
354    FilterType[FilterType["RelativeTime"] = 7] = "RelativeTime";
355    FilterType[FilterType["Identity"] = 8] = "Identity";
356    FilterType[FilterType["Hierarchy"] = 9] = "Hierarchy";
357    FilterType[FilterType["HierarchyIdentity"] = 10] = "HierarchyIdentity";
358})(FilterType = exports.FilterType || (exports.FilterType = {}));
359var RelativeDateFilterTimeUnit;
360(function (RelativeDateFilterTimeUnit) {
361    RelativeDateFilterTimeUnit[RelativeDateFilterTimeUnit["Days"] = 0] = "Days";
362    RelativeDateFilterTimeUnit[RelativeDateFilterTimeUnit["Weeks"] = 1] = "Weeks";
363    RelativeDateFilterTimeUnit[RelativeDateFilterTimeUnit["CalendarWeeks"] = 2] = "CalendarWeeks";
364    RelativeDateFilterTimeUnit[RelativeDateFilterTimeUnit["Months"] = 3] = "Months";
365    RelativeDateFilterTimeUnit[RelativeDateFilterTimeUnit["CalendarMonths"] = 4] = "CalendarMonths";
366    RelativeDateFilterTimeUnit[RelativeDateFilterTimeUnit["Years"] = 5] = "Years";
367    RelativeDateFilterTimeUnit[RelativeDateFilterTimeUnit["CalendarYears"] = 6] = "CalendarYears";
368    RelativeDateFilterTimeUnit[RelativeDateFilterTimeUnit["Minutes"] = 7] = "Minutes";
369    RelativeDateFilterTimeUnit[RelativeDateFilterTimeUnit["Hours"] = 8] = "Hours";
370})(RelativeDateFilterTimeUnit = exports.RelativeDateFilterTimeUnit || (exports.RelativeDateFilterTimeUnit = {}));
371var RelativeDateOperators;
372(function (RelativeDateOperators) {
373    RelativeDateOperators[RelativeDateOperators["InLast"] = 0] = "InLast";
374    RelativeDateOperators[RelativeDateOperators["InThis"] = 1] = "InThis";
375    RelativeDateOperators[RelativeDateOperators["InNext"] = 2] = "InNext";
376})(RelativeDateOperators = exports.RelativeDateOperators || (exports.RelativeDateOperators = {}));
377var Filter = /** @class */ (function () {
378    function Filter(target, filterType) {
379        this.target = target;
380        this.filterType = filterType;
381    }
382    Filter.prototype.toJSON = function () {
383        var filter = {
384            $schema: this.schemaUrl,
385            target: this.target,
386            filterType: this.filterType
387        };
388        // Add displaySettings only when defined
389        if (this.displaySettings !== undefined) {
390            filter.displaySettings = this.displaySettings;
391        }
392        return filter;
393    };
394    return Filter;
395}());
396exports.Filter = Filter;
397var NotSupportedFilter = /** @class */ (function (_super) {
398    __extends(NotSupportedFilter, _super);
399    function NotSupportedFilter(target, message, notSupportedTypeName) {
400        var _this = _super.call(this, target, FilterType.Unknown) || this;
401        _this.message = message;
402        _this.notSupportedTypeName = notSupportedTypeName;
403        _this.schemaUrl = NotSupportedFilter.schemaUrl;
404        return _this;
405    }
406    NotSupportedFilter.prototype.toJSON = function () {
407        var filter = _super.prototype.toJSON.call(this);
408        filter.message = this.message;
409        filter.notSupportedTypeName = this.notSupportedTypeName;
410        return filter;
411    };
412    NotSupportedFilter.schemaUrl = "http://powerbi.com/product/schema#notSupported";
413    return NotSupportedFilter;
414}(Filter));
415exports.NotSupportedFilter = NotSupportedFilter;
416var IncludeExcludeFilter = /** @class */ (function (_super) {
417    __extends(IncludeExcludeFilter, _super);
418    function IncludeExcludeFilter(target, isExclude, values) {
419        var _this = _super.call(this, target, FilterType.IncludeExclude) || this;
420        _this.target = target;
421        _this.values = values;
422        _this.isExclude = isExclude;
423        _this.schemaUrl = IncludeExcludeFilter.schemaUrl;
424        return _this;
425    }
426    IncludeExcludeFilter.prototype.toJSON = function () {
427        var filter = _super.prototype.toJSON.call(this);
428        filter.isExclude = this.isExclude;
429        filter.values = this.values;
430        return filter;
431    };
432    IncludeExcludeFilter.schemaUrl = "http://powerbi.com/product/schema#includeExclude";
433    return IncludeExcludeFilter;
434}(Filter));
435exports.IncludeExcludeFilter = IncludeExcludeFilter;
436var TopNFilter = /** @class */ (function (_super) {
437    __extends(TopNFilter, _super);
438    function TopNFilter(target, operator, itemCount, orderBy) {
439        var _this = _super.call(this, target, FilterType.TopN) || this;
440        _this.operator = operator;
441        _this.itemCount = itemCount;
442        _this.schemaUrl = TopNFilter.schemaUrl;
443        _this.orderBy = orderBy;
444        return _this;
445    }
446    TopNFilter.prototype.toJSON = function () {
447        var filter = _super.prototype.toJSON.call(this);
448        filter.operator = this.operator;
449        filter.itemCount = this.itemCount;
450        filter.orderBy = this.orderBy;
451        return filter;
452    };
453    TopNFilter.schemaUrl = "http://powerbi.com/product/schema#topN";
454    return TopNFilter;
455}(Filter));
456exports.TopNFilter = TopNFilter;
457var RelativeDateFilter = /** @class */ (function (_super) {
458    __extends(RelativeDateFilter, _super);
459    function RelativeDateFilter(target, operator, timeUnitsCount, timeUnitType, includeToday) {
460        var _this = _super.call(this, target, FilterType.RelativeDate) || this;
461        _this.operator = operator;
462        _this.timeUnitsCount = timeUnitsCount;
463        _this.timeUnitType = timeUnitType;
464        _this.includeToday = includeToday;
465        _this.schemaUrl = RelativeDateFilter.schemaUrl;
466        return _this;
467    }
468    RelativeDateFilter.prototype.toJSON = function () {
469        var filter = _super.prototype.toJSON.call(this);
470        filter.operator = this.operator;
471        filter.timeUnitsCount = this.timeUnitsCount;
472        filter.timeUnitType = this.timeUnitType;
473        filter.includeToday = this.includeToday;
474        return filter;
475    };
476    RelativeDateFilter.schemaUrl = "http://powerbi.com/product/schema#relativeDate";
477    return RelativeDateFilter;
478}(Filter));
479exports.RelativeDateFilter = RelativeDateFilter;
480var RelativeTimeFilter = /** @class */ (function (_super) {
481    __extends(RelativeTimeFilter, _super);
482    function RelativeTimeFilter(target, operator, timeUnitsCount, timeUnitType) {
483        var _this = _super.call(this, target, FilterType.RelativeTime) || this;
484        _this.operator = operator;
485        _this.timeUnitsCount = timeUnitsCount;
486        _this.timeUnitType = timeUnitType;
487        _this.schemaUrl = RelativeTimeFilter.schemaUrl;
488        return _this;
489    }
490    RelativeTimeFilter.prototype.toJSON = function () {
491        var filter = _super.prototype.toJSON.call(this);
492        filter.operator = this.operator;
493        filter.timeUnitsCount = this.timeUnitsCount;
494        filter.timeUnitType = this.timeUnitType;
495        return filter;
496    };
497    RelativeTimeFilter.schemaUrl = "http://powerbi.com/product/schema#relativeTime";
498    return RelativeTimeFilter;
499}(Filter));
500exports.RelativeTimeFilter = RelativeTimeFilter;
501var BasicFilter = /** @class */ (function (_super) {
502    __extends(BasicFilter, _super);
503    function BasicFilter(target, operator) {
504        var values = [];
505        for (var _i = 2; _i < arguments.length; _i++) {
506            values[_i - 2] = arguments[_i];
507        }
508        var _this = _super.call(this, target, FilterType.Basic) || this;
509        _this.operator = operator;
510        _this.schemaUrl = BasicFilter.schemaUrl;
511        if (values.length === 0 && operator !== "All") {
512            throw new Error("values must be a non-empty array unless your operator is \"All\".");
513        }
514        /**
515         * Accept values as array instead of as individual arguments
516         * new BasicFilter('a', 'b', 1, 2);
517         * new BasicFilter('a', 'b', [1,2]);
518         */
519        if (Array.isArray(values[0])) {
520            // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion
521            _this.values = values[0];
522        }
523        else {
524            _this.values = values;
525        }
526        return _this;
527    }
528    BasicFilter.prototype.toJSON = function () {
529        var filter = _super.prototype.toJSON.call(this);
530        filter.operator = this.operator;
531        filter.values = this.values;
532        filter.requireSingleSelection = !!this.requireSingleSelection;
533        return filter;
534    };
535    BasicFilter.schemaUrl = "http://powerbi.com/product/schema#basic";
536    return BasicFilter;
537}(Filter));
538exports.BasicFilter = BasicFilter;
539var BasicFilterWithKeys = /** @class */ (function (_super) {
540    __extends(BasicFilterWithKeys, _super);
541    function BasicFilterWithKeys(target, operator, values, keyValues) {
542        var _this = _super.call(this, target, operator, values) || this;
543        _this.keyValues = keyValues;
544        _this.target = target;
545        var numberOfKeys = target.keys ? target.keys.length : 0;
546        if (numberOfKeys > 0 && !keyValues) {
547            throw new Error("You should pass the values to be filtered for each key. You passed: no values and ".concat(numberOfKeys, " keys"));
548        }
549        if (numberOfKeys === 0 && keyValues && keyValues.length > 0) {
550            throw new Error("You passed key values but your target object doesn't contain the keys to be filtered");
551        }
552        for (var _i = 0, _a = _this.keyValues; _i < _a.length; _i++) {
553            var keyValue = _a[_i];
554            if (keyValue) {
555                var lengthOfArray = keyValue.length;
556                if (lengthOfArray !== numberOfKeys) {
557                    throw new Error("Each tuple of key values should contain a value for each of the keys. You passed: ".concat(lengthOfArray, " values and ").concat(numberOfKeys, " keys"));
558                }
559            }
560        }
561        return _this;
562    }
563    BasicFilterWithKeys.prototype.toJSON = function () {
564        var filter = _super.prototype.toJSON.call(this);
565        filter.keyValues = this.keyValues;
566        return filter;
567    };
568    return BasicFilterWithKeys;
569}(BasicFilter));
570exports.BasicFilterWithKeys = BasicFilterWithKeys;
571var IdentityFilter = /** @class */ (function (_super) {
572    __extends(IdentityFilter, _super);
573    function IdentityFilter(target, operator) {
574        var _this = _super.call(this, target, FilterType.Identity) || this;
575        _this.operator = operator;
576        _this.schemaUrl = IdentityFilter.schemaUrl;
577        return _this;
578    }
579    IdentityFilter.prototype.toJSON = function () {
580        var filter = _super.prototype.toJSON.call(this);
581        filter.operator = this.operator;
582        filter.target = this.target;
583        return filter;
584    };
585    IdentityFilter.schemaUrl = "http://powerbi.com/product/schema#identity";
586    return IdentityFilter;
587}(Filter));
588exports.IdentityFilter = IdentityFilter;
589var TupleFilter = /** @class */ (function (_super) {
590    __extends(TupleFilter, _super);
591    function TupleFilter(target, operator, values) {
592        var _this = _super.call(this, target, FilterType.Tuple) || this;
593        _this.operator = operator;
594        _this.schemaUrl = TupleFilter.schemaUrl;
595        _this.values = values;
596        return _this;
597    }
598    TupleFilter.prototype.toJSON = function () {
599        var filter = _super.prototype.toJSON.call(this);
600        filter.operator = this.operator;
601        filter.values = this.values;
602        filter.target = this.target;
603        return filter;
604    };
605    TupleFilter.schemaUrl = "http://powerbi.com/product/schema#tuple";
606    return TupleFilter;
607}(Filter));
608exports.TupleFilter = TupleFilter;
609var AdvancedFilter = /** @class */ (function (_super) {
610    __extends(AdvancedFilter, _super);
611    function AdvancedFilter(target, logicalOperator) {
612        var conditions = [];
613        for (var _i = 2; _i < arguments.length; _i++) {
614            conditions[_i - 2] = arguments[_i];
615        }
616        var _this = _super.call(this, target, FilterType.Advanced) || this;
617        _this.schemaUrl = AdvancedFilter.schemaUrl;
618        // Guard statements
619        if (typeof logicalOperator !== "string" || logicalOperator.length === 0) {
620            // TODO: It would be nicer to list out the possible logical operators.
621            throw new Error("logicalOperator must be a valid operator, You passed: ".concat(logicalOperator));
622        }
623        _this.logicalOperator = logicalOperator;
624        var extractedConditions;
625        /**
626         * Accept conditions as array instead of as individual arguments
627         * new AdvancedFilter('a', 'b', "And", { value: 1, operator: "Equals" }, { value: 2, operator: "IsGreaterThan" });
628         * new AdvancedFilter('a', 'b', "And", [{ value: 1, operator: "Equals" }, { value: 2, operator: "IsGreaterThan" }]);
629         */
630        if (Array.isArray(conditions[0])) {
631            // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion
632            extractedConditions = conditions[0];
633        }
634        else {
635            extractedConditions = conditions;
636        }
637        if (extractedConditions.length > 2) {
638            throw new Error("AdvancedFilters may not have more than two conditions. You passed: ".concat(conditions.length));
639        }
640        if (extractedConditions.length === 1 && logicalOperator !== "And") {
641            throw new Error("Logical Operator must be \"And\" when there is only one condition provided");
642        }
643        _this.conditions = extractedConditions;
644        return _this;
645    }
646    AdvancedFilter.prototype.toJSON = function () {
647        var filter = _super.prototype.toJSON.call(this);
648        filter.logicalOperator = this.logicalOperator;
649        filter.conditions = this.conditions;
650        return filter;
651    };
652    AdvancedFilter.schemaUrl = "http://powerbi.com/product/schema#advanced";
653    return AdvancedFilter;
654}(Filter));
655exports.AdvancedFilter = AdvancedFilter;
656var HierarchyFilter = /** @class */ (function (_super) {
657    __extends(HierarchyFilter, _super);
658    function HierarchyFilter(target, hierarchyData) {
659        var _this = _super.call(this, target, FilterType.Hierarchy) || this;
660        _this.schemaUrl = HierarchyFilter.schemaUrl;
661        _this.hierarchyData = hierarchyData;
662        return _this;
663    }
664    HierarchyFilter.prototype.toJSON = function () {
665        var filter = _super.prototype.toJSON.call(this);
666        filter.hierarchyData = this.hierarchyData;
667        filter.target = this.target;
668        return filter;
669    };
670    HierarchyFilter.schemaUrl = "http://powerbi.com/product/schema#hierarchy";
671    return HierarchyFilter;
672}(Filter));
673exports.HierarchyFilter = HierarchyFilter;
674var HierarchyIdentityFilter = /** @class */ (function (_super) {
675    __extends(HierarchyIdentityFilter, _super);
676    function HierarchyIdentityFilter(target, hierarchyData) {
677        var _this = _super.call(this, target, FilterType.HierarchyIdentity) || this;
678        _this.schemaUrl = HierarchyIdentityFilter.schemaUrl;
679        _this.hierarchyData = hierarchyData;
680        return _this;
681    }
682    HierarchyIdentityFilter.prototype.toJSON = function () {
683        var filter = _super.prototype.toJSON.call(this);
684        filter.hierarchyData = this.hierarchyData;
685        filter.target = this.target;
686        return filter;
687    };
688    HierarchyIdentityFilter.schemaUrl = "http://powerbi.com/product/schema#hierarchyIdentity";
689    return HierarchyIdentityFilter;
690}(Filter));
691exports.HierarchyIdentityFilter = HierarchyIdentityFilter;
692function isFilterKeyColumnsTarget(target) {
693    return isColumn(target) && !!target.keys;
694}
695exports.isFilterKeyColumnsTarget = isFilterKeyColumnsTarget;
696function isBasicFilterWithKeys(filter) {
697    return getFilterType(filter) === FilterType.Basic && !!filter.keyValues;
698}
699exports.isBasicFilterWithKeys = isBasicFilterWithKeys;
700function getFilterType(filter) {
701    if (filter.filterType) {
702        return filter.filterType;
703    }
704    var basicFilter = filter;
705    var advancedFilter = filter;
706    if ((typeof basicFilter.operator === "string")
707        && (Array.isArray(basicFilter.values))) {
708        return FilterType.Basic;
709    }
710    else if ((typeof advancedFilter.logicalOperator === "string")
711        && (Array.isArray(advancedFilter.conditions))) {
712        return FilterType.Advanced;
713    }
714    else {
715        return FilterType.Unknown;
716    }
717}
718exports.getFilterType = getFilterType;
719function isMeasure(arg) {
720    return arg.table !== undefined && arg.measure !== undefined;
721}
722exports.isMeasure = isMeasure;
723function isColumn(arg) {
724    return !!(arg.table && arg.column && !arg.aggregationFunction);
725}
726exports.isColumn = isColumn;
727function isHierarchyLevel(arg) {
728    return !!(arg.table && arg.hierarchy && arg.hierarchyLevel && !arg.aggregationFunction);
729}
730exports.isHierarchyLevel = isHierarchyLevel;
731function isHierarchyLevelAggr(arg) {
732    return !!(arg.table && arg.hierarchy && arg.hierarchyLevel && arg.aggregationFunction);
733}
734exports.isHierarchyLevelAggr = isHierarchyLevelAggr;
735function isColumnAggr(arg) {
736    return !!(arg.table && arg.column && arg.aggregationFunction);
737}
738exports.isColumnAggr = isColumnAggr;
739function isPercentOfGrandTotal(arg) {
740    return !!arg.percentOfGrandTotal;
741}
742exports.isPercentOfGrandTotal = isPercentOfGrandTotal;
743var CredentialType;
744(function (CredentialType) {
745    CredentialType[CredentialType["NoConnection"] = 0] = "NoConnection";
746    CredentialType[CredentialType["OnBehalfOf"] = 1] = "OnBehalfOf";
747    CredentialType[CredentialType["Anonymous"] = 2] = "Anonymous";
748})(CredentialType = exports.CredentialType || (exports.CredentialType = {}));
749var DataCacheMode;
750(function (DataCacheMode) {
751    DataCacheMode[DataCacheMode["Import"] = 0] = "Import";
752    DataCacheMode[DataCacheMode["DirectQuery"] = 1] = "DirectQuery";
753})(DataCacheMode = exports.DataCacheMode || (exports.DataCacheMode = {}));
754var AggregateFunction;
755(function (AggregateFunction) {
756    AggregateFunction[AggregateFunction["Default"] = 1] = "Default";
757    AggregateFunction[AggregateFunction["None"] = 2] = "None";
758    AggregateFunction[AggregateFunction["Sum"] = 3] = "Sum";
759    AggregateFunction[AggregateFunction["Min"] = 4] = "Min";
760    AggregateFunction[AggregateFunction["Max"] = 5] = "Max";
761    AggregateFunction[AggregateFunction["Count"] = 6] = "Count";
762    AggregateFunction[AggregateFunction["Average"] = 7] = "Average";
763    AggregateFunction[AggregateFunction["DistinctCount"] = 8] = "DistinctCount";
764})(AggregateFunction = exports.AggregateFunction || (exports.AggregateFunction = {}));
765var BrowserPrintAdjustmentsMode;
766(function (BrowserPrintAdjustmentsMode) {
767    BrowserPrintAdjustmentsMode[BrowserPrintAdjustmentsMode["Default"] = 0] = "Default";
768    BrowserPrintAdjustmentsMode[BrowserPrintAdjustmentsMode["NoAdjustments"] = 1] = "NoAdjustments";
769})(BrowserPrintAdjustmentsMode = exports.BrowserPrintAdjustmentsMode || (exports.BrowserPrintAdjustmentsMode = {}));
770var PageNavigationPosition;
771(function (PageNavigationPosition) {
772    PageNavigationPosition[PageNavigationPosition["Bottom"] = 0] = "Bottom";
773    PageNavigationPosition[PageNavigationPosition["Left"] = 1] = "Left";
774})(PageNavigationPosition = exports.PageNavigationPosition || (exports.PageNavigationPosition = {}));
775var QnaMode;
776(function (QnaMode) {
777    QnaMode[QnaMode["Interactive"] = 0] = "Interactive";
778    QnaMode[QnaMode["ResultOnly"] = 1] = "ResultOnly";
779})(QnaMode = exports.QnaMode || (exports.QnaMode = {}));
780var ExportDataType;
781(function (ExportDataType) {
782    ExportDataType[ExportDataType["Summarized"] = 0] = "Summarized";
783    ExportDataType[ExportDataType["Underlying"] = 1] = "Underlying";
784})(ExportDataType = exports.ExportDataType || (exports.ExportDataType = {}));
785var BookmarksPlayMode;
786(function (BookmarksPlayMode) {
787    BookmarksPlayMode[BookmarksPlayMode["Off"] = 0] = "Off";
788    BookmarksPlayMode[BookmarksPlayMode["Presentation"] = 1] = "Presentation";
789})(BookmarksPlayMode = exports.BookmarksPlayMode || (exports.BookmarksPlayMode = {}));
790// This is not an enum because enum strings require
791// us to upgrade typeScript version and change SDK build definition
792exports.CommonErrorCodes = {
793    TokenExpired: 'TokenExpired',
794    NotFound: 'PowerBIEntityNotFound',
795    InvalidParameters: 'Invalid parameters',
796    LoadReportFailed: 'LoadReportFailed',
797    NotAuthorized: 'PowerBINotAuthorizedException',
798    FailedToLoadModel: 'ExplorationContainer_FailedToLoadModel_DefaultDetails',
799};
800exports.TextAlignment = {
801    Left: 'left',
802    Center: 'center',
803    Right: 'right',
804};
805exports.LegendPosition = {
806    Top: 'Top',
807    Bottom: 'Bottom',
808    Right: 'Right',
809    Left: 'Left',
810    TopCenter: 'TopCenter',
811    BottomCenter: 'BottomCenter',
812    RightCenter: 'RightCenter',
813    LeftCenter: 'LeftCenter',
814};
815var SortDirection;
816(function (SortDirection) {
817    SortDirection[SortDirection["Ascending"] = 1] = "Ascending";
818    SortDirection[SortDirection["Descending"] = 2] = "Descending";
819})(SortDirection = exports.SortDirection || (exports.SortDirection = {}));
820var Selector = /** @class */ (function () {
821    function Selector(schema) {
822        this.$schema = schema;
823    }
824    Selector.prototype.toJSON = function () {
825        return {
826            $schema: this.$schema
827        };
828    };
829    return Selector;
830}());
831exports.Selector = Selector;
832var PageSelector = /** @class */ (function (_super) {
833    __extends(PageSelector, _super);
834    function PageSelector(pageName) {
835        var _this = _super.call(this, PageSelector.schemaUrl) || this;
836        _this.pageName = pageName;
837        return _this;
838    }
839    PageSelector.prototype.toJSON = function () {
840        var selector = _super.prototype.toJSON.call(this);
841        selector.pageName = this.pageName;
842        return selector;
843    };
844    PageSelector.schemaUrl = "http://powerbi.com/product/schema#pageSelector";
845    return PageSelector;
846}(Selector));
847exports.PageSelector = PageSelector;
848var VisualSelector = /** @class */ (function (_super) {
849    __extends(VisualSelector, _super);
850    function VisualSelector(visualName) {
851        var _this = _super.call(this, VisualSelector.schemaUrl) || this;
852        _this.visualName = visualName;
853        return _this;
854    }
855    VisualSelector.prototype.toJSON = function () {
856        var selector = _super.prototype.toJSON.call(this);
857        selector.visualName = this.visualName;
858        return selector;
859    };
860    VisualSelector.schemaUrl = "http://powerbi.com/product/schema#visualSelector";
861    return VisualSelector;
862}(Selector));
863exports.VisualSelector = VisualSelector;
864var VisualTypeSelector = /** @class */ (function (_super) {
865    __extends(VisualTypeSelector, _super);
866    function VisualTypeSelector(visualType) {
867        var _this = _super.call(this, VisualSelector.schemaUrl) || this;
868        _this.visualType = visualType;
869        return _this;
870    }
871    VisualTypeSelector.prototype.toJSON = function () {
872        var selector = _super.prototype.toJSON.call(this);
873        selector.visualType = this.visualType;
874        return selector;
875    };
876    VisualTypeSelector.schemaUrl = "http://powerbi.com/product/schema#visualTypeSelector";
877    return VisualTypeSelector;
878}(Selector));
879exports.VisualTypeSelector = VisualTypeSelector;
880var SlicerTargetSelector = /** @class */ (function (_super) {
881    __extends(SlicerTargetSelector, _super);
882    function SlicerTargetSelector(target) {
883        var _this = _super.call(this, VisualSelector.schemaUrl) || this;
884        _this.target = target;
885        return _this;
886    }
887    SlicerTargetSelector.prototype.toJSON = function () {
888        var selector = _super.prototype.toJSON.call(this);
889        selector.target = this.target;
890        return selector;
891    };
892    SlicerTargetSelector.schemaUrl = "http://powerbi.com/product/schema#slicerTargetSelector";
893    return SlicerTargetSelector;
894}(Selector));
895exports.SlicerTargetSelector = SlicerTargetSelector;
896var CommandDisplayOption;
897(function (CommandDisplayOption) {
898    CommandDisplayOption[CommandDisplayOption["Enabled"] = 0] = "Enabled";
899    CommandDisplayOption[CommandDisplayOption["Disabled"] = 1] = "Disabled";
900    CommandDisplayOption[CommandDisplayOption["Hidden"] = 2] = "Hidden";
901})(CommandDisplayOption = exports.CommandDisplayOption || (exports.CommandDisplayOption = {}));
902/*
903 * Visual CRUD
904 */
905var VisualDataRoleKind;
906(function (VisualDataRoleKind) {
907    // Indicates that the role should be bound to something that evaluates to a grouping of values.
908    VisualDataRoleKind[VisualDataRoleKind["Grouping"] = 0] = "Grouping";
909    // Indicates that the role should be bound to something that evaluates to a single value in a scope.
910    VisualDataRoleKind[VisualDataRoleKind["Measure"] = 1] = "Measure";
911    // Indicates that the role can be bound to either Grouping or Measure.
912    VisualDataRoleKind[VisualDataRoleKind["GroupingOrMeasure"] = 2] = "GroupingOrMeasure";
913})(VisualDataRoleKind = exports.VisualDataRoleKind || (exports.VisualDataRoleKind = {}));
914// Indicates the visual preference on Grouping or Measure. Only applicable if kind is GroupingOrMeasure.
915var VisualDataRoleKindPreference;
916(function (VisualDataRoleKindPreference) {
917    VisualDataRoleKindPreference[VisualDataRoleKindPreference["Measure"] = 0] = "Measure";
918    VisualDataRoleKindPreference[VisualDataRoleKindPreference["Grouping"] = 1] = "Grouping";
919})(VisualDataRoleKindPreference = exports.VisualDataRoleKindPreference || (exports.VisualDataRoleKindPreference = {}));
920function isOnLoadFilters(filters) {
921    return filters && !isReportFiltersArray(filters);
922}
923exports.isOnLoadFilters = isOnLoadFilters;
924function isReportFiltersArray(filters) {
925    return Array.isArray(filters);
926}
927exports.isReportFiltersArray = isReportFiltersArray;
928function isFlatMenuExtension(menuExtension) {
929    return menuExtension && !isGroupedMenuExtension(menuExtension);
930}
931exports.isFlatMenuExtension = isFlatMenuExtension;
932function isGroupedMenuExtension(menuExtension) {
933    return menuExtension && !!menuExtension.groupName;
934}
935exports.isGroupedMenuExtension = isGroupedMenuExtension;
936function isIExtensions(extensions) {
937    return extensions && !isIExtensionArray(extensions);
938}
939exports.isIExtensions = isIExtensions;
940function isIExtensionArray(extensions) {
941    return Array.isArray(extensions);
942}
943exports.isIExtensionArray = isIExtensionArray;
944function normalizeError(error) {
945    var message = error.message;
946    if (!message) {
947        message = "".concat(error.path, " is invalid. Not meeting ").concat(error.keyword, " constraint");
948    }
949    return {
950        message: message
951    };
952}
953function validateVisualSelector(input) {
954    var errors = validator_1.Validators.visualSelectorValidator.validate(input);
955    return errors ? errors.map(normalizeError) : undefined;
956}
957exports.validateVisualSelector = validateVisualSelector;
958function validateSlicer(input) {
959    var errors = validator_1.Validators.slicerValidator.validate(input);
960    return errors ? errors.map(normalizeError) : undefined;
961}
962exports.validateSlicer = validateSlicer;
963function validateSlicerState(input) {
964    var errors = validator_1.Validators.slicerStateValidator.validate(input);
965    return errors ? errors.map(normalizeError) : undefined;
966}
967exports.validateSlicerState = validateSlicerState;
968function validatePlayBookmarkRequest(input) {
969    var errors = validator_1.Validators.playBookmarkRequestValidator.validate(input);
970    return errors ? errors.map(normalizeError) : undefined;
971}
972exports.validatePlayBookmarkRequest = validatePlayBookmarkRequest;
973function validateAddBookmarkRequest(input) {
974    var errors = validator_1.Validators.addBookmarkRequestValidator.validate(input);
975    return errors ? errors.map(normalizeError) : undefined;
976}
977exports.validateAddBookmarkRequest = validateAddBookmarkRequest;
978function validateApplyBookmarkByNameRequest(input) {
979    var errors = validator_1.Validators.applyBookmarkByNameRequestValidator.validate(input);
980    return errors ? errors.map(normalizeError) : undefined;
981}
982exports.validateApplyBookmarkByNameRequest = validateApplyBookmarkByNameRequest;
983function validateApplyBookmarkStateRequest(input) {
984    var errors = validator_1.Validators.applyBookmarkStateRequestValidator.validate(input);
985    return errors ? errors.map(normalizeError) : undefined;
986}
987exports.validateApplyBookmarkStateRequest = validateApplyBookmarkStateRequest;
988function validateCaptureBookmarkRequest(input) {
989    var errors = validator_1.Validators.captureBookmarkRequestValidator.validate(input);
990    return errors ? errors.map(normalizeError) : undefined;
991}
992exports.validateCaptureBookmarkRequest = validateCaptureBookmarkRequest;
993function validateSettings(input) {
994    var errors = validator_1.Validators.settingsValidator.validate(input);
995    return errors ? errors.map(normalizeError) : undefined;
996}
997exports.validateSettings = validateSettings;
998function validatePanes(input) {
999    var errors = validator_1.Validators.reportPanesValidator.validate(input);
1000    return errors ? errors.map(normalizeError) : undefined;
1001}
1002exports.validatePanes = validatePanes;
1003function validateBookmarksPane(input) {
1004    var errors = validator_1.Validators.bookmarksPaneValidator.validate(input);
1005    return errors ? errors.map(normalizeError) : undefined;
1006}
1007exports.validateBookmarksPane = validateBookmarksPane;
1008function validateFiltersPane(input) {
1009    var errors = validator_1.Validators.filtersPaneValidator.validate(input);
1010    return errors ? errors.map(normalizeError) : undefined;
1011}
1012exports.validateFiltersPane = validateFiltersPane;
1013function validateFieldsPane(input) {
1014    var errors = validator_1.Validators.fieldsPaneValidator.validate(input);
1015    return errors ? errors.map(normalizeError) : undefined;
1016}
1017exports.validateFieldsPane = validateFieldsPane;
1018function validatePageNavigationPane(input) {
1019    var errors = validator_1.Validators.pageNavigationPaneValidator.validate(input);
1020    return errors ? errors.map(normalizeError) : undefined;
1021}
1022exports.validatePageNavigationPane = validatePageNavigationPane;
1023function validateSelectionPane(input) {
1024    var errors = validator_1.Validators.selectionPaneValidator.validate(input);
1025    return errors ? errors.map(normalizeError) : undefined;
1026}
1027exports.validateSelectionPane = validateSelectionPane;
1028function validateSyncSlicersPane(input) {
1029    var errors = validator_1.Validators.syncSlicersPaneValidator.validate(input);
1030    return errors ? errors.map(normalizeError) : undefined;
1031}
1032exports.validateSyncSlicersPane = validateSyncSlicersPane;
1033function validateVisualizationsPane(input) {
1034    var errors = validator_1.Validators.visualizationsPaneValidator.validate(input);
1035    return errors ? errors.map(normalizeError) : undefined;
1036}
1037exports.validateVisualizationsPane = validateVisualizationsPane;
1038function validateCustomPageSize(input) {
1039    var errors = validator_1.Validators.customPageSizeValidator.validate(input);
1040    return errors ? errors.map(normalizeError) : undefined;
1041}
1042exports.validateCustomPageSize = validateCustomPageSize;
1043function validateExtension(input) {
1044    var errors = validator_1.Validators.extensionValidator.validate(input);
1045    return errors ? errors.map(normalizeError) : undefined;
1046}
1047exports.validateExtension = validateExtension;
1048function validateMenuGroupExtension(input) {
1049    var errors = validator_1.Validators.menuGroupExtensionValidator.validate(input);
1050    return errors ? errors.map(normalizeError) : undefined;
1051}
1052exports.validateMenuGroupExtension = validateMenuGroupExtension;
1053function validateReportLoad(input) {
1054    var errors = validator_1.Validators.reportLoadValidator.validate(input);
1055    return errors ? errors.map(normalizeError) : undefined;
1056}
1057exports.validateReportLoad = validateReportLoad;
1058function validatePaginatedReportLoad(input) {
1059    var errors = validator_1.Validators.paginatedReportLoadValidator.validate(input);
1060    return errors ? errors.map(normalizeError) : undefined;
1061}
1062exports.validatePaginatedReportLoad = validatePaginatedReportLoad;
1063function validateCreateReport(input) {
1064    var errors = validator_1.Validators.reportCreateValidator.validate(input);
1065    return errors ? errors.map(normalizeError) : undefined;
1066}
1067exports.validateCreateReport = validateCreateReport;
1068function validateQuickCreate(input) {
1069    var errors = validator_1.Validators.quickCreateValidator.validate(input);
1070    return errors ? errors.map(normalizeError) : undefined;
1071}
1072exports.validateQuickCreate = validateQuickCreate;
1073function validateDashboardLoad(input) {
1074    var errors = validator_1.Validators.dashboardLoadValidator.validate(input);
1075    return errors ? errors.map(normalizeError) : undefined;
1076}
1077exports.validateDashboardLoad = validateDashboardLoad;
1078function validateTileLoad(input) {
1079    var errors = validator_1.Validators.tileLoadValidator.validate(input);
1080    return errors ? errors.map(normalizeError) : undefined;
1081}
1082exports.validateTileLoad = validateTileLoad;
1083function validatePage(input) {
1084    var errors = validator_1.Validators.pageValidator.validate(input);
1085    return errors ? errors.map(normalizeError) : undefined;
1086}
1087exports.validatePage = validatePage;
1088function validateFilter(input) {
1089    var errors = validator_1.Validators.filterValidator.validate(input);
1090    return errors ? errors.map(normalizeError) : undefined;
1091}
1092exports.validateFilter = validateFilter;
1093function validateUpdateFiltersRequest(input) {
1094    var errors = validator_1.Validators.updateFiltersRequestValidator.validate(input);
1095    return errors ? errors.map(normalizeError) : undefined;
1096}
1097exports.validateUpdateFiltersRequest = validateUpdateFiltersRequest;
1098function validateSaveAsParameters(input) {
1099    var errors = validator_1.Validators.saveAsParametersValidator.validate(input);
1100    return errors ? errors.map(normalizeError) : undefined;
1101}
1102exports.validateSaveAsParameters = validateSaveAsParameters;
1103function validateLoadQnaConfiguration(input) {
1104    var errors = validator_1.Validators.loadQnaValidator.validate(input);
1105    return errors ? errors.map(normalizeError) : undefined;
1106}
1107exports.validateLoadQnaConfiguration = validateLoadQnaConfiguration;
1108function validateQnaInterpretInputData(input) {
1109    var errors = validator_1.Validators.qnaInterpretInputDataValidator.validate(input);
1110    return errors ? errors.map(normalizeError) : undefined;
1111}
1112exports.validateQnaInterpretInputData = validateQnaInterpretInputData;
1113function validateExportDataRequest(input) {
1114    var errors = validator_1.Validators.exportDataRequestValidator.validate(input);
1115    return errors ? errors.map(normalizeError) : undefined;
1116}
1117exports.validateExportDataRequest = validateExportDataRequest;
1118function validateVisualHeader(input) {
1119    var errors = validator_1.Validators.visualHeaderValidator.validate(input);
1120    return errors ? errors.map(normalizeError) : undefined;
1121}
1122exports.validateVisualHeader = validateVisualHeader;
1123function validateVisualSettings(input) {
1124    var errors = validator_1.Validators.visualSettingsValidator.validate(input);
1125    return errors ? errors.map(normalizeError) : undefined;
1126}
1127exports.validateVisualSettings = validateVisualSettings;
1128function validateCommandsSettings(input) {
1129    var errors = validator_1.Validators.commandsSettingsValidator.validate(input);
1130    return errors ? errors.map(normalizeError) : undefined;
1131}
1132exports.validateCommandsSettings = validateCommandsSettings;
1133function validateCustomTheme(input) {
1134    var errors = validator_1.Validators.customThemeValidator.validate(input);
1135    return errors ? errors.map(normalizeError) : undefined;
1136}
1137exports.validateCustomTheme = validateCustomTheme;
1138function validateZoomLevel(input) {
1139    var errors = validator_1.Validators.zoomLevelValidator.validate(input);
1140    return errors ? errors.map(normalizeError) : undefined;
1141}
1142exports.validateZoomLevel = validateZoomLevel;
1143function validatePrintSettings(input) {
1144    var errors = validator_1.Validators.printSettingsValidator.validate(input);
1145    return errors ? errors.map(normalizeError) : undefined;
1146}
1147exports.validatePrintSettings = validatePrintSettings;
1148
1149
1150/***/ }),
1151/* 1 */
1152/***/ ((__unused_webpack_module, exports, __nested_webpack_require_47160__) => {
1153
1154// Copyright (c) Microsoft Corporation.
1155// Licensed under the MIT License.
1156Object.defineProperty(exports, "__esModule", ({ value: true }));
1157exports.Validators = void 0;
1158var barsValidator_1 = __nested_webpack_require_47160__(2);
1159var bookmarkValidator_1 = __nested_webpack_require_47160__(5);
1160var commandsSettingsValidator_1 = __nested_webpack_require_47160__(6);
1161var customThemeValidator_1 = __nested_webpack_require_47160__(7);
1162var dashboardLoadValidator_1 = __nested_webpack_require_47160__(8);
1163var datasetBindingValidator_1 = __nested_webpack_require_47160__(9);
1164var exportDataValidator_1 = __nested_webpack_require_47160__(10);
1165var extensionsValidator_1 = __nested_webpack_require_47160__(11);
1166var filtersValidator_1 = __nested_webpack_require_47160__(12);
1167var layoutValidator_1 = __nested_webpack_require_47160__(13);
1168var pageValidator_1 = __nested_webpack_require_47160__(14);
1169var panesValidator_1 = __nested_webpack_require_47160__(15);
1170var qnaValidator_1 = __nested_webpack_require_47160__(16);
1171var reportCreateValidator_1 = __nested_webpack_require_47160__(17);
1172var reportLoadValidator_1 = __nested_webpack_require_47160__(18);
1173var paginatedReportLoadValidator_1 = __nested_webpack_require_47160__(19);
1174var saveAsParametersValidator_1 = __nested_webpack_require_47160__(20);
1175var selectorsValidator_1 = __nested_webpack_require_47160__(21);
1176var settingsValidator_1 = __nested_webpack_require_47160__(22);
1177var slicersValidator_1 = __nested_webpack_require_47160__(23);
1178var tileLoadValidator_1 = __nested_webpack_require_47160__(24);
1179var visualSettingsValidator_1 = __nested_webpack_require_47160__(25);
1180var anyOfValidator_1 = __nested_webpack_require_47160__(26);
1181var fieldForbiddenValidator_1 = __nested_webpack_require_47160__(27);
1182var fieldRequiredValidator_1 = __nested_webpack_require_47160__(28);
1183var mapValidator_1 = __nested_webpack_require_47160__(29);
1184var typeValidator_1 = __nested_webpack_require_47160__(4);
1185var parameterPanelValidator_1 = __nested_webpack_require_47160__(30);
1186var datasetCreateConfigValidator_1 = __nested_webpack_require_47160__(31);
1187var quickCreateValidator_1 = __nested_webpack_require_47160__(32);
1188var printSettingsValidator_1 = __nested_webpack_require_47160__(33);
1189var paginatedReportDatasetBindingValidator_1 = __nested_webpack_require_47160__(34);
1190exports.Validators = {
1191    addBookmarkRequestValidator: new bookmarkValidator_1.AddBookmarkRequestValidator(),
1192    advancedFilterTypeValidator: new typeValidator_1.EnumValidator([0]),
1193    advancedFilterValidator: new filtersValidator_1.AdvancedFilterValidator(),
1194    anyArrayValidator: new typeValidator_1.ArrayValidator([new anyOfValidator_1.AnyOfValidator([new typeValidator_1.StringValidator(), new typeValidator_1.NumberValidator(), new typeValidator_1.BooleanValidator()])]),
1195    anyFilterValidator: new anyOfValidator_1.AnyOfValidator([new filtersValidator_1.BasicFilterValidator(), new filtersValidator_1.AdvancedFilterValidator(), new filtersValidator_1.IncludeExcludeFilterValidator(), new filtersValidator_1.NotSupportedFilterValidator(), new filtersValidator_1.RelativeDateFilterValidator(), new filtersValidator_1.TopNFilterValidator(), new filtersValidator_1.RelativeTimeFilterValidator(), new filtersValidator_1.HierarchyFilterValidator()]),
1196    anyValueValidator: new anyOfValidator_1.AnyOfValidator([new typeValidator_1.StringValidator(), new typeValidator_1.NumberValidator(), new typeValidator_1.BooleanValidator()]),
1197    actionBarValidator: new barsValidator_1.ActionBarValidator(),
1198    statusBarValidator: new barsValidator_1.StatusBarValidator(),
1199    applyBookmarkByNameRequestValidator: new bookmarkValidator_1.ApplyBookmarkByNameRequestValidator(),
1200    applyBookmarkStateRequestValidator: new bookmarkValidator_1.ApplyBookmarkStateRequestValidator(),
1201    applyBookmarkValidator: new anyOfValidator_1.AnyOfValidator([new bookmarkValidator_1.ApplyBookmarkByNameRequestValidator(), new bookmarkValidator_1.ApplyBookmarkStateRequestValidator()]),
1202    backgroundValidator: new typeValidator_1.EnumValidator([0, 1]),
1203    basicFilterTypeValidator: new typeValidator_1.EnumValidator([1]),
1204    basicFilterValidator: new filtersValidator_1.BasicFilterValidator(),
1205    booleanArrayValidator: new typeValidator_1.BooleanArrayValidator(),
1206    booleanValidator: new typeValidator_1.BooleanValidator(),
1207    bookmarksPaneValidator: new panesValidator_1.BookmarksPaneValidator(),
1208    captureBookmarkOptionsValidator: new bookmarkValidator_1.CaptureBookmarkOptionsValidator(),
1209    captureBookmarkRequestValidator: new bookmarkValidator_1.CaptureBookmarkRequestValidator(),
1210    columnSchemaArrayValidator: new typeValidator_1.ArrayValidator([new datasetCreateConfigValidator_1.ColumnSchemaValidator()]),
1211    commandDisplayOptionValidator: new typeValidator_1.EnumValidator([0, 1, 2]),
1212    commandExtensionSelectorValidator: new anyOfValidator_1.AnyOfValidator([new selectorsValidator_1.VisualSelectorValidator(), new selectorsValidator_1.VisualTypeSelectorValidator()]),
1213    commandExtensionArrayValidator: new typeValidator_1.ArrayValidator([new extensionsValidator_1.CommandExtensionValidator()]),
1214    commandExtensionValidator: new extensionsValidator_1.CommandExtensionValidator(),
1215    commandsSettingsArrayValidator: new typeValidator_1.ArrayValidator([new commandsSettingsValidator_1.CommandsSettingsValidator()]),
1216    commandsSettingsValidator: new commandsSettingsValidator_1.CommandsSettingsValidator(),
1217    conditionItemValidator: new filtersValidator_1.ConditionItemValidator(),
1218    contrastModeValidator: new typeValidator_1.EnumValidator([0, 1, 2, 3, 4]),
1219    credentialDetailsValidator: new mapValidator_1.MapValidator([new typeValidator_1.StringValidator()], [new typeValidator_1.StringValidator()]),
1220    credentialsValidator: new datasetCreateConfigValidator_1.CredentialsValidator(),
1221    credentialTypeValidator: new typeValidator_1.EnumValidator([0, 1, 2]),
1222    customLayoutDisplayOptionValidator: new typeValidator_1.EnumValidator([0, 1, 2]),
1223    customLayoutValidator: new layoutValidator_1.CustomLayoutValidator(),
1224    customPageSizeValidator: new pageValidator_1.CustomPageSizeValidator(),
1225    customThemeValidator: new customThemeValidator_1.CustomThemeValidator(),
1226    dashboardLoadValidator: new dashboardLoadValidator_1.DashboardLoadValidator(),
1227    dataCacheModeValidator: new typeValidator_1.EnumValidator([0, 1]),
1228    datasetBindingValidator: new datasetBindingValidator_1.DatasetBindingValidator(),
1229    datasetCreateConfigValidator: new datasetCreateConfigValidator_1.DatasetCreateConfigValidator(),
1230    datasourceConnectionConfigValidator: new datasetCreateConfigValidator_1.DatasourceConnectionConfigValidator(),
1231    displayStateModeValidator: new typeValidator_1.EnumValidator([0, 1]),
1232    displayStateValidator: new layoutValidator_1.DisplayStateValidator(),
1233    exportDataRequestValidator: new exportDataValidator_1.ExportDataRequestValidator(),
1234    extensionArrayValidator: new typeValidator_1.ArrayValidator([new extensionsValidator_1.ExtensionValidator()]),
1235    extensionsValidator: new anyOfValidator_1.AnyOfValidator([new typeValidator_1.ArrayValidator([new extensionsValidator_1.ExtensionValidator()]), new extensionsValidator_1.ExtensionsValidator()]),
1236    extensionPointsValidator: new extensionsValidator_1.ExtensionPointsValidator(),
1237    extensionValidator: new extensionsValidator_1.ExtensionValidator(),
1238    fieldForbiddenValidator: new fieldForbiddenValidator_1.FieldForbiddenValidator(),
1239    fieldRequiredValidator: new fieldRequiredValidator_1.FieldRequiredValidator(),
1240    fieldsPaneValidator: new panesValidator_1.FieldsPaneValidator(),
1241    filterColumnTargetValidator: new filtersValidator_1.FilterColumnTargetValidator(),
1242    filterDisplaySettingsValidator: new filtersValidator_1.FilterDisplaySettingsValidator(),
1243    filterConditionsValidator: new typeValidator_1.ArrayValidator([new filtersValidator_1.ConditionItemValidator()]),
1244    filterHierarchyTargetValidator: new filtersValidator_1.FilterHierarchyTargetValidator(),
1245    filterMeasureTargetValidator: new filtersValidator_1.FilterMeasureTargetValidator(),
1246    filterTargetValidator: new anyOfValidator_1.AnyOfValidator([new filtersValidator_1.FilterColumnTargetValidator(), new filtersValidator_1.FilterHierarchyTargetValidator(), new filtersValidator_1.FilterMeasureTargetValidator(), new typeValidator_1.ArrayValidator([new anyOfValidator_1.AnyOfValidator([new filtersValidator_1.FilterColumnTargetValidator(), new filtersValidator_1.FilterHierarchyTargetValidator(), new filtersValidator_1.FilterMeasureTargetValidator(), new filtersValidator_1.FilterKeyColumnsTargetValidator(), new filtersValidator_1.FilterKeyHierarchyTargetValidator(), new typeValidator_1.ArrayValidator([new anyOfValidator_1.AnyOfValidator([new filtersValidator_1.FilterColumnTargetValidator(), new filtersValidator_1.FilterHierarchyTargetValidator(), new filtersValidator_1.FilterMeasureTargetValidator(), new filtersValidator_1.FilterKeyColumnsTargetValidator(), new filtersValidator_1.FilterKeyHierarchyTargetValidator()])])])])]),
1247    filterValidator: new filtersValidator_1.FilterValidator(),
1248    filterTypeValidator: new typeValidator_1.EnumValidator([0, 1, 2, 3, 4, 5, 6, 7, 9]),
1249    filtersArrayValidator: new typeValidator_1.ArrayValidator([new filtersValidator_1.FilterValidator()]),
1250    filtersOperationsUpdateValidator: new typeValidator_1.EnumValidator([1, 2, 3]),
1251    filtersOperationsRemoveAllValidator: new typeValidator_1.EnumValidator([0]),
1252    filtersPaneValidator: new panesValidator_1.FiltersPaneValidator(),
1253    hyperlinkClickBehaviorValidator: new typeValidator_1.EnumValidator([0, 1, 2]),
1254    includeExcludeFilterValidator: new filtersValidator_1.IncludeExcludeFilterValidator(),
1255    includeExludeFilterTypeValidator: new typeValidator_1.EnumValidator([3]),
1256    includeExcludeFilterValuesValidator: new typeValidator_1.ArrayValidator([new anyOfValidator_1.AnyOfValidator([new typeValidator_1.StringValidator(), new typeValidator_1.NumberValidator(), new typeValidator_1.BooleanValidator(), new typeValidator_1.ArrayValidator([new typeValidator_1.ArrayValidator([new filtersValidator_1.IncludeExcludePointValueValidator()])])])]),
1257    hierarchyFilterTypeValidator: new typeValidator_1.EnumValidator([9]),
1258    hierarchyFilterValuesValidator: new typeValidator_1.ArrayValidator([new filtersValidator_1.HierarchyFilterNodeValidator()]),
1259    layoutTypeValidator: new typeValidator_1.EnumValidator([0, 1, 2, 3]),
1260    loadQnaValidator: new qnaValidator_1.LoadQnaValidator(),
1261    menuExtensionValidator: new anyOfValidator_1.AnyOfValidator([new extensionsValidator_1.FlatMenuExtensionValidator(), new extensionsValidator_1.GroupedMenuExtensionValidator()]),
1262    menuGroupExtensionArrayValidator: new typeValidator_1.ArrayValidator([new extensionsValidator_1.MenuGroupExtensionValidator()]),
1263    menuGroupExtensionValidator: new extensionsValidator_1.MenuGroupExtensionValidator(),
1264    menuLocationValidator: new typeValidator_1.EnumValidator([0, 1]),
1265    notSupportedFilterTypeValidator: new typeValidator_1.EnumValidator([2]),
1266    notSupportedFilterValidator: new filtersValidator_1.NotSupportedFilterValidator(),
1267    numberArrayValidator: new typeValidator_1.NumberArrayValidator(),
1268    numberValidator: new typeValidator_1.NumberValidator(),
1269    onLoadFiltersBaseValidator: new anyOfValidator_1.AnyOfValidator([new filtersValidator_1.OnLoadFiltersBaseValidator(), new filtersValidator_1.OnLoadFiltersBaseRemoveOperationValidator()]),
1270    pageLayoutValidator: new mapValidator_1.MapValidator([new typeValidator_1.StringValidator()], [new layoutValidator_1.VisualLayoutValidator()]),
1271    pageNavigationPaneValidator: new panesValidator_1.PageNavigationPaneValidator(),
1272    pageNavigationPositionValidator: new typeValidator_1.EnumValidator([0, 1]),
1273    pageSizeTypeValidator: new typeValidator_1.EnumValidator([0, 1, 2, 3, 4, 5]),
1274    pageSizeValidator: new pageValidator_1.PageSizeValidator(),
1275    pageValidator: new pageValidator_1.PageValidator(),
1276    pageViewFieldValidator: new pageValidator_1.PageViewFieldValidator(),
1277    pagesLayoutValidator: new mapValidator_1.MapValidator([new typeValidator_1.StringValidator()], [new layoutValidator_1.PageLayoutValidator()]),
1278    paginatedReportCommandsValidator: new commandsSettingsValidator_1.PaginatedReportCommandsValidator(),
1279    paginatedReportDatasetBindingArrayValidator: new typeValidator_1.ArrayValidator([new paginatedReportDatasetBindingValidator_1.PaginatedReportDatasetBindingValidator()]),
1280    paginatedReportLoadValidator: new paginatedReportLoadValidator_1.PaginatedReportLoadValidator(),
1281    paginatedReportsettingsValidator: new settingsValidator_1.PaginatedReportSettingsValidator(),
1282    parameterValuesArrayValidator: new typeValidator_1.ArrayValidator([new paginatedReportLoadValidator_1.ReportParameterFieldsValidator()]),
1283    parametersPanelValidator: new parameterPanelValidator_1.ParametersPanelValidator(),
1284    permissionsValidator: new typeValidator_1.EnumValidator([0, 1, 2, 4, 7]),
1285    playBookmarkRequestValidator: new bookmarkValidator_1.PlayBookmarkRequestValidator(),
1286    printSettingsValidator: new printSettingsValidator_1.PrintSettingsValidator(),
1287    qnaInterpretInputDataValidator: new qnaValidator_1.QnaInterpretInputDataValidator(),
1288    qnaPanesValidator: new panesValidator_1.QnaPanesValidator(),
1289    qnaSettingValidator: new qnaValidator_1.QnaSettingsValidator(),
1290    quickCreateValidator: new quickCreateValidator_1.QuickCreateValidator(),
1291    rawDataValidator: new typeValidator_1.ArrayValidator([new typeValidator_1.ArrayValidator([new typeValidator_1.StringValidator()])]),
1292    relativeDateFilterOperatorValidator: new typeValidator_1.EnumValidator([0, 1, 2]),
1293    relativeDateFilterTimeUnitTypeValidator: new typeValidator_1.EnumValidator([0, 1, 2, 3, 4, 5, 6]),
1294    relativeDateFilterTypeValidator: new typeValidator_1.EnumValidator([4]),
1295    relativeDateFilterValidator: new filtersValidator_1.RelativeDateFilterValidator(),
1296    relativeDateTimeFilterTypeValidator: new typeValidator_1.EnumValidator([4, 7]),
1297    relativeDateTimeFilterUnitTypeValidator: new typeValidator_1.EnumValidator([0, 1, 2, 3, 4, 5, 6, 7, 8]),
1298    relativeTimeFilterTimeUnitTypeValidator: new typeValidator_1.EnumValidator([7, 8]),
1299    relativeTimeFilterTypeValidator: new typeValidator_1.EnumValidator([7]),
1300    relativeTimeFilterValidator: new filtersValidator_1.RelativeTimeFilterValidator(),
1301    reportBarsValidator: new barsValidator_1.ReportBarsValidator(),
1302    reportCreateValidator: new reportCreateValidator_1.ReportCreateValidator(),
1303    reportLoadFiltersValidator: new anyOfValidator_1.AnyOfValidator([new typeValidator_1.ArrayValidator([new filtersValidator_1.FilterValidator()]), new filtersValidator_1.OnLoadFiltersValidator()]),
1304    reportLoadValidator: new reportLoadValidator_1.ReportLoadValidator(),
1305    reportPanesValidator: new panesValidator_1.ReportPanesValidator(),
1306    saveAsParametersValidator: new saveAsParametersValidator_1.SaveAsParametersValidator(),
1307    selectionPaneValidator: new panesValidator_1.SelectionPaneValidator(),
1308    settingsValidator: new settingsValidator_1.SettingsValidator(),
1309    singleCommandSettingsValidator: new commandsSettingsValidator_1.SingleCommandSettingsValidator(),
1310    slicerSelectorValidator: new anyOfValidator_1.AnyOfValidator([new selectorsValidator_1.VisualSelectorValidator(), new selectorsValidator_1.SlicerTargetSelectorValidator()]),
1311    slicerStateValidator: new slicersValidator_1.SlicerStateValidator(),
1312    slicerTargetValidator: new anyOfValidator_1.AnyOfValidator([new filtersValidator_1.FilterColumnTargetValidator(), new filtersValidator_1.FilterHierarchyTargetValidator(), new filtersValidator_1.FilterMeasureTargetValidator(), new filtersValidator_1.FilterKeyColumnsTargetValidator(), new filtersValidator_1.FilterKeyHierarchyTargetValidator()]),
1313    slicerValidator: new slicersValidator_1.SlicerValidator(),
1314    stringArrayValidator: new typeValidator_1.StringArrayValidator(),
1315    stringValidator: new typeValidator_1.StringValidator(),
1316    syncSlicersPaneValidator: new panesValidator_1.SyncSlicersPaneValidator(),
1317    tableDataArrayValidator: new typeValidator_1.ArrayValidator([new datasetCreateConfigValidator_1.TableDataValidator()]),
1318    tableSchemaListValidator: new typeValidator_1.ArrayValidator([new datasetCreateConfigValidator_1.TableSchemaValidator()]),
1319    tileLoadValidator: new tileLoadValidator_1.TileLoadValidator(),
1320    tokenTypeValidator: new typeValidator_1.EnumValidator([0, 1]),
1321    topNFilterTypeValidator: new typeValidator_1.EnumValidator([5]),
1322    topNFilterValidator: new filtersValidator_1.TopNFilterValidator(),
1323    updateFiltersRequestValidator: new anyOfValidator_1.AnyOfValidator([new filtersValidator_1.UpdateFiltersRequestValidator(), new filtersValidator_1.RemoveFiltersRequestValidator()]),
1324    viewModeValidator: new typeValidator_1.EnumValidator([0, 1]),
1325    visualCommandSelectorValidator: new anyOfValidator_1.AnyOfValidator([new selectorsValidator_1.VisualSelectorValidator(), new selectorsValidator_1.VisualTypeSelectorValidator()]),
1326    visualHeaderSelectorValidator: new anyOfValidator_1.AnyOfValidator([new selectorsValidator_1.VisualSelectorValidator(), new selectorsValidator_1.VisualTypeSelectorValidator()]),
1327    visualHeaderSettingsValidator: new visualSettingsValidator_1.VisualHeaderSettingsValidator(),
1328    visualHeaderValidator: new visualSettingsValidator_1.VisualHeaderValidator(),
1329    visualHeadersValidator: new typeValidator_1.ArrayValidator([new visualSettingsValidator_1.VisualHeaderValidator()]),
1330    visualizationsPaneValidator: new panesValidator_1.VisualizationsPaneValidator(),
1331    visualLayoutValidator: new layoutValidator_1.VisualLayoutValidator(),
1332    visualSelectorValidator: new selectorsValidator_1.VisualSelectorValidator(),
1333    visualSettingsValidator: new visualSettingsValidator_1.VisualSettingsValidator(),
1334    visualTypeSelectorValidator: new selectorsValidator_1.VisualTypeSelectorValidator(),
1335    zoomLevelValidator: new typeValidator_1.RangeValidator(0.25, 4),
1336};
1337
1338
1339/***/ }),
1340/* 2 */
1341/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_65027__) {
1342
1343// Copyright (c) Microsoft Corporation.
1344// Licensed under the MIT License.
1345var __extends = (this && this.__extends) || (function () {
1346    var extendStatics = function (d, b) {
1347        extendStatics = Object.setPrototypeOf ||
1348            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
1349            function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
1350        return extendStatics(d, b);
1351    };
1352    return function (d, b) {
1353        if (typeof b !== "function" && b !== null)
1354            throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
1355        extendStatics(d, b);
1356        function __() { this.constructor = d; }
1357        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
1358    };
1359})();
1360Object.defineProperty(exports, "__esModule", ({ value: true }));
1361exports.StatusBarValidator = exports.ActionBarValidator = exports.ReportBarsValidator = void 0;
1362var multipleFieldsValidator_1 = __nested_webpack_require_65027__(3);
1363var typeValidator_1 = __nested_webpack_require_65027__(4);
1364var validator_1 = __nested_webpack_require_65027__(1);
1365var ReportBarsValidator = /** @class */ (function (_super) {
1366    __extends(ReportBarsValidator, _super);
1367    function ReportBarsValidator() {
1368        return _super !== null && _super.apply(this, arguments) || this;
1369    }
1370    ReportBarsValidator.prototype.validate = function (input, path, field) {
1371        if (input == null) {
1372            return null;
1373        }
1374        var errors = _super.prototype.validate.call(this, input, path, field);
1375        if (errors) {
1376            return errors;
1377        }
1378        var fields = [
1379            {
1380                field: "actionBar",
1381                validators: [validator_1.Validators.actionBarValidator]
1382            },
1383            {
1384                field: "statusBar",
1385                validators: [validator_1.Validators.statusBarValidator]
1386            }
1387        ];
1388        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
1389        return multipleFieldsValidator.validate(input, path, field);
1390    };
1391    return ReportBarsValidator;
1392}(typeValidator_1.ObjectValidator));
1393exports.ReportBarsValidator = ReportBarsValidator;
1394var ActionBarValidator = /** @class */ (function (_super) {
1395    __extends(ActionBarValidator, _super);
1396    function ActionBarValidator() {
1397        return _super !== null && _super.apply(this, arguments) || this;
1398    }
1399    ActionBarValidator.prototype.validate = function (input, path, field) {
1400        if (input == null) {
1401            return null;
1402        }
1403        var errors = _super.prototype.validate.call(this, input, path, field);
1404        if (errors) {
1405            return errors;
1406        }
1407        var fields = [
1408            {
1409                field: "visible",
1410                validators: [validator_1.Validators.booleanValidator]
1411            },
1412        ];
1413        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
1414        return multipleFieldsValidator.validate(input, path, field);
1415    };
1416    return ActionBarValidator;
1417}(typeValidator_1.ObjectValidator));
1418exports.ActionBarValidator = ActionBarValidator;
1419var StatusBarValidator = /** @class */ (function (_super) {
1420    __extends(StatusBarValidator, _super);
1421    function StatusBarValidator() {
1422        return _super !== null && _super.apply(this, arguments) || this;
1423    }
1424    StatusBarValidator.prototype.validate = function (input, path, field) {
1425        if (input == null) {
1426            return null;
1427        }
1428        var errors = _super.prototype.validate.call(this, input, path, field);
1429        if (errors) {
1430            return errors;
1431        }
1432        var fields = [
1433            {
1434                field: "visible",
1435                validators: [validator_1.Validators.booleanValidator]
1436            },
1437        ];
1438        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
1439        return multipleFieldsValidator.validate(input, path, field);
1440    };
1441    return StatusBarValidator;
1442}(typeValidator_1.ObjectValidator));
1443exports.StatusBarValidator = StatusBarValidator;
1444
1445
1446/***/ }),
1447/* 3 */
1448/***/ ((__unused_webpack_module, exports) => {
1449
1450// Copyright (c) Microsoft Corporation.
1451// Licensed under the MIT License.
1452Object.defineProperty(exports, "__esModule", ({ value: true }));
1453exports.MultipleFieldsValidator = void 0;
1454var MultipleFieldsValidator = /** @class */ (function () {
1455    function MultipleFieldsValidator(fieldValidatorsPairs) {
1456        this.fieldValidatorsPairs = fieldValidatorsPairs;
1457    }
1458    MultipleFieldsValidator.prototype.validate = function (input, path, field) {
1459        if (!this.fieldValidatorsPairs) {
1460            return null;
1461        }
1462        var fieldsPath = path ? path + "." + field : field;
1463        for (var _i = 0, _a = this.fieldValidatorsPairs; _i < _a.length; _i++) {
1464            var fieldValidators = _a[_i];
1465            for (var _b = 0, _c = fieldValidators.validators; _b < _c.length; _b++) {
1466                var validator = _c[_b];
1467                var errors = validator.validate(input[fieldValidators.field], fieldsPath, fieldValidators.field);
1468                if (errors) {
1469                    return errors;
1470                }
1471            }
1472        }
1473        return null;
1474    };
1475    return MultipleFieldsValidator;
1476}());
1477exports.MultipleFieldsValidator = MultipleFieldsValidator;
1478
1479
1480/***/ }),
1481/* 4 */
1482/***/ (function(__unused_webpack_module, exports) {
1483
1484// Copyright (c) Microsoft Corporation.
1485// Licensed under the MIT License.
1486var __extends = (this && this.__extends) || (function () {
1487    var extendStatics = function (d, b) {
1488        extendStatics = Object.setPrototypeOf ||
1489            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
1490            function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
1491        return extendStatics(d, b);
1492    };
1493    return function (d, b) {
1494        if (typeof b !== "function" && b !== null)
1495            throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
1496        extendStatics(d, b);
1497        function __() { this.constructor = d; }
1498        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
1499    };
1500})();
1501Object.defineProperty(exports, "__esModule", ({ value: true }));
1502exports.RangeValidator = exports.NumberArrayValidator = exports.BooleanArrayValidator = exports.StringArrayValidator = exports.EnumValidator = exports.SchemaValidator = exports.ValueValidator = exports.NumberValidator = exports.BooleanValidator = exports.StringValidator = exports.TypeValidator = exports.ArrayValidator = exports.ObjectValidator = void 0;
1503var ObjectValidator = /** @class */ (function () {
1504    function ObjectValidator() {
1505    }
1506    ObjectValidator.prototype.validate = function (input, path, field) {
1507        if (input == null) {
1508            return null;
1509        }
1510        if (typeof input !== "object" || Array.isArray(input)) {
1511            return [{
1512                    message: field !== undefined ? field + " must be an object" : "input must be an object",
1513                    path: path,
1514                    keyword: "type"
1515                }];
1516        }
1517        return null;
1518    };
1519    return ObjectValidator;
1520}());
1521exports.ObjectValidator = ObjectValidator;
1522var ArrayValidator = /** @class */ (function () {
1523    function ArrayValidator(itemValidators) {
1524        this.itemValidators = itemValidators;
1525    }
1526    ArrayValidator.prototype.validate = function (input, path, field) {
1527        if (input == null) {
1528            return null;
1529        }
1530        if (!(Array.isArray(input))) {
1531            return [{
1532                    message: field + " property is invalid",
1533                    path: (path ? path + "." : "") + field,
1534                    keyword: "type"
1535                }];
1536        }
1537        for (var i = 0; i < input.length; i++) {
1538            var fieldsPath = (path ? path + "." : "") + field + "." + i.toString();
1539            for (var _i = 0, _a = this.itemValidators; _i < _a.length; _i++) {
1540                var validator = _a[_i];
1541                var errors = validator.validate(input[i], fieldsPath, field);
1542                if (errors) {
1543                    return [{
1544                            message: field + " property is invalid",
1545                            path: (path ? path + "." : "") + field,
1546                            keyword: "type"
1547                        }];
1548                }
1549            }
1550        }
1551        return null;
1552    };
1553    return ArrayValidator;
1554}());
1555exports.ArrayValidator = ArrayValidator;
1556var TypeValidator = /** @class */ (function () {
1557    function TypeValidator(expectedType) {
1558        this.expectedType = expectedType;
1559    }
1560    TypeValidator.prototype.validate = function (input, path, field) {
1561        if (input == null) {
1562            return null;
1563        }
1564        if (!(typeof input === this.expectedType)) {
1565            return [{
1566                    message: field + " must be a " + this.expectedType,
1567                    path: (path ? path + "." : "") + field,
1568                    keyword: "type"
1569                }];
1570        }
1571        return null;
1572    };
1573    return TypeValidator;
1574}());
1575exports.TypeValidator = TypeValidator;
1576var StringValidator = /** @class */ (function (_super) {
1577    __extends(StringValidator, _super);
1578    function StringValidator() {
1579        return _super.call(this, "string") || this;
1580    }
1581    return StringValidator;
1582}(TypeValidator));
1583exports.StringValidator = StringValidator;
1584var BooleanValidator = /** @class */ (function (_super) {
1585    __extends(BooleanValidator, _super);
1586    function BooleanValidator() {
1587        return _super.call(this, "boolean") || this;
1588    }
1589    return BooleanValidator;
1590}(TypeValidator));
1591exports.BooleanValidator = BooleanValidator;
1592var NumberValidator = /** @class */ (function (_super) {
1593    __extends(NumberValidator, _super);
1594    function NumberValidator() {
1595        return _super.call(this, "number") || this;
1596    }
1597    return NumberValidator;
1598}(TypeValidator));
1599exports.NumberValidator = NumberValidator;
1600var ValueValidator = /** @class */ (function () {
1601    function ValueValidator(possibleValues) {
1602        this.possibleValues = possibleValues;
1603    }
1604    ValueValidator.prototype.validate = function (input, path, field) {
1605        if (input == null) {
1606            return null;
1607        }
1608        if (this.possibleValues.indexOf(input) < 0) {
1609            return [{
1610                    message: field + " property is invalid",
1611                    path: (path ? path + "." : "") + field,
1612                    keyword: "invalid"
1613                }];
1614        }
1615        return null;
1616    };
1617    return ValueValidator;
1618}());
1619exports.ValueValidator = ValueValidator;
1620var SchemaValidator = /** @class */ (function (_super) {
1621    __extends(SchemaValidator, _super);
1622    function SchemaValidator(schemaValue) {
1623        var _this = _super.call(this, [schemaValue]) || this;
1624        _this.schemaValue = schemaValue;
1625        return _this;
1626    }
1627    SchemaValidator.prototype.validate = function (input, path, field) {
1628        return _super.prototype.validate.call(this, input, path, field);
1629    };
1630    return SchemaValidator;
1631}(ValueValidator));
1632exports.SchemaValidator = SchemaValidator;
1633var EnumValidator = /** @class */ (function (_super) {
1634    __extends(EnumValidator, _super);
1635    function EnumValidator(possibleValues) {
1636        var _this = _super.call(this) || this;
1637        _this.possibleValues = possibleValues;
1638        return _this;
1639    }
1640    EnumValidator.prototype.validate = function (input, path, field) {
1641        if (input == null) {
1642            return null;
1643        }
1644        var errors = _super.prototype.validate.call(this, input, path, field);
1645        if (errors) {
1646            return errors;
1647        }
1648        var valueValidator = new ValueValidator(this.possibleValues);
1649        return valueValidator.validate(input, path, field);
1650    };
1651    return EnumValidator;
1652}(NumberValidator));
1653exports.EnumValidator = EnumValidator;
1654var StringArrayValidator = /** @class */ (function (_super) {
1655    __extends(StringArrayValidator, _super);
1656    function StringArrayValidator() {
1657        return _super.call(this, [new StringValidator()]) || this;
1658    }
1659    StringArrayValidator.prototype.validate = function (input, path, field) {
1660        var errors = _super.prototype.validate.call(this, input, path, field);
1661        if (errors) {
1662            return [{
1663                    message: field + " must be an array of strings",
1664                    path: (path ? path + "." : "") + field,
1665                    keyword: "type"
1666                }];
1667        }
1668        return null;
1669    };
1670    return StringArrayValidator;
1671}(ArrayValidator));
1672exports.StringArrayValidator = StringArrayValidator;
1673var BooleanArrayValidator = /** @class */ (function (_super) {
1674    __extends(BooleanArrayValidator, _super);
1675    function BooleanArrayValidator() {
1676        return _super.call(this, [new BooleanValidator()]) || this;
1677    }
1678    BooleanArrayValidator.prototype.validate = function (input, path, field) {
1679        var errors = _super.prototype.validate.call(this, input, path, field);
1680        if (errors) {
1681            return [{
1682                    message: field + " must be an array of booleans",
1683                    path: (path ? path + "." : "") + field,
1684                    keyword: "type"
1685                }];
1686        }
1687        return null;
1688    };
1689    return BooleanArrayValidator;
1690}(ArrayValidator));
1691exports.BooleanArrayValidator = BooleanArrayValidator;
1692var NumberArrayValidator = /** @class */ (function (_super) {
1693    __extends(NumberArrayValidator, _super);
1694    function NumberArrayValidator() {
1695        return _super.call(this, [new NumberValidator()]) || this;
1696    }
1697    NumberArrayValidator.prototype.validate = function (input, path, field) {
1698        var errors = _super.prototype.validate.call(this, input, path, field);
1699        if (errors) {
1700            return [{
1701                    message: field + " must be an array of numbers",
1702                    path: (path ? path + "." : "") + field,
1703                    keyword: "type"
1704                }];
1705        }
1706        return null;
1707    };
1708    return NumberArrayValidator;
1709}(ArrayValidator));
1710exports.NumberArrayValidator = NumberArrayValidator;
1711var RangeValidator = /** @class */ (function (_super) {
1712    __extends(RangeValidator, _super);
1713    function RangeValidator(minValue, maxValue) {
1714        var _this = _super.call(this) || this;
1715        _this.minValue = minValue;
1716        _this.maxValue = maxValue;
1717        return _this;
1718    }
1719    RangeValidator.prototype.validate = function (input, path, field) {
1720        if (input == null) {
1721            return null;
1722        }
1723        var errors = _super.prototype.validate.call(this, input, path, field);
1724        if (errors) {
1725            return errors;
1726        }
1727        // input is a number, now check if it's in the given range
1728        if (input > this.maxValue || input < this.minValue) {
1729            return [{
1730                    message: field + " must be a number between " + this.minValue.toString() + " and " + this.maxValue.toString(),
1731                    path: (path ? path + "." : "") + field,
1732                    keyword: "range"
1733                }];
1734        }
1735        return null;
1736    };
1737    return RangeValidator;
1738}(NumberValidator));
1739exports.RangeValidator = RangeValidator;
1740
1741
1742/***/ }),
1743/* 5 */
1744/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_80906__) {
1745
1746// Copyright (c) Microsoft Corporation.
1747// Licensed under the MIT License.
1748var __extends = (this && this.__extends) || (function () {
1749    var extendStatics = function (d, b) {
1750        extendStatics = Object.setPrototypeOf ||
1751            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
1752            function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
1753        return extendStatics(d, b);
1754    };
1755    return function (d, b) {
1756        if (typeof b !== "function" && b !== null)
1757            throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
1758        extendStatics(d, b);
1759        function __() { this.constructor = d; }
1760        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
1761    };
1762})();
1763Object.defineProperty(exports, "__esModule", ({ value: true }));
1764exports.CaptureBookmarkRequestValidator = exports.CaptureBookmarkOptionsValidator = exports.ApplyBookmarkStateRequestValidator = exports.ApplyBookmarkByNameRequestValidator = exports.AddBookmarkRequestValidator = exports.PlayBookmarkRequestValidator = void 0;
1765var multipleFieldsValidator_1 = __nested_webpack_require_80906__(3);
1766var typeValidator_1 = __nested_webpack_require_80906__(4);
1767var validator_1 = __nested_webpack_require_80906__(1);
1768var PlayBookmarkRequestValidator = /** @class */ (function (_super) {
1769    __extends(PlayBookmarkRequestValidator, _super);
1770    function PlayBookmarkRequestValidator() {
1771        return _super !== null && _super.apply(this, arguments) || this;
1772    }
1773    PlayBookmarkRequestValidator.prototype.validate = function (input, path, field) {
1774        if (input == null) {
1775            return null;
1776        }
1777        var errors = _super.prototype.validate.call(this, input, path, field);
1778        if (errors) {
1779            return errors;
1780        }
1781        var fields = [
1782            {
1783                field: "playMode",
1784                validators: [validator_1.Validators.fieldRequiredValidator, new typeValidator_1.EnumValidator([0, 1])]
1785            }
1786        ];
1787        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
1788        return multipleFieldsValidator.validate(input, path, field);
1789    };
1790    return PlayBookmarkRequestValidator;
1791}(typeValidator_1.ObjectValidator));
1792exports.PlayBookmarkRequestValidator = PlayBookmarkRequestValidator;
1793var AddBookmarkRequestValidator = /** @class */ (function (_super) {
1794    __extends(AddBookmarkRequestValidator, _super);
1795    function AddBookmarkRequestValidator() {
1796        return _super !== null && _super.apply(this, arguments) || this;
1797    }
1798    AddBookmarkRequestValidator.prototype.validate = function (input, path, field) {
1799        if (input == null) {
1800            return null;
1801        }
1802        var errors = _super.prototype.validate.call(this, input, path, field);
1803        if (errors) {
1804            return errors;
1805        }
1806        var fields = [
1807            {
1808                field: "state",
1809                validators: [validator_1.Validators.stringValidator]
1810            },
1811            {
1812                field: "displayName",
1813                validators: [validator_1.Validators.stringValidator]
1814            },
1815            {
1816                field: "apply",
1817                validators: [validator_1.Validators.booleanValidator]
1818            },
1819        ];
1820        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
1821        return multipleFieldsValidator.validate(input, path, field);
1822    };
1823    return AddBookmarkRequestValidator;
1824}(typeValidator_1.ObjectValidator));
1825exports.AddBookmarkRequestValidator = AddBookmarkRequestValidator;
1826var ApplyBookmarkByNameRequestValidator = /** @class */ (function (_super) {
1827    __extends(ApplyBookmarkByNameRequestValidator, _super);
1828    function ApplyBookmarkByNameRequestValidator() {
1829        return _super !== null && _super.apply(this, arguments) || this;
1830    }
1831    ApplyBookmarkByNameRequestValidator.prototype.validate = function (input, path, field) {
1832        if (input == null) {
1833            return null;
1834        }
1835        var errors = _super.prototype.validate.call(this, input, path, field);
1836        if (errors) {
1837            return errors;
1838        }
1839        var fields = [
1840            {
1841                field: "name",
1842                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator]
1843            }
1844        ];
1845        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
1846        return multipleFieldsValidator.validate(input, path, field);
1847    };
1848    return ApplyBookmarkByNameRequestValidator;
1849}(typeValidator_1.ObjectValidator));
1850exports.ApplyBookmarkByNameRequestValidator = ApplyBookmarkByNameRequestValidator;
1851var ApplyBookmarkStateRequestValidator = /** @class */ (function (_super) {
1852    __extends(ApplyBookmarkStateRequestValidator, _super);
1853    function ApplyBookmarkStateRequestValidator() {
1854        return _super !== null && _super.apply(this, arguments) || this;
1855    }
1856    ApplyBookmarkStateRequestValidator.prototype.validate = function (input, path, field) {
1857        if (input == null) {
1858            return null;
1859        }
1860        var errors = _super.prototype.validate.call(this, input, path, field);
1861        if (errors) {
1862            return errors;
1863        }
1864        var fields = [
1865            {
1866                field: "state",
1867                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator]
1868            }
1869        ];
1870        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
1871        return multipleFieldsValidator.validate(input, path, field);
1872    };
1873    return ApplyBookmarkStateRequestValidator;
1874}(typeValidator_1.ObjectValidator));
1875exports.ApplyBookmarkStateRequestValidator = ApplyBookmarkStateRequestValidator;
1876var CaptureBookmarkOptionsValidator = /** @class */ (function (_super) {
1877    __extends(CaptureBookmarkOptionsValidator, _super);
1878    function CaptureBookmarkOptionsValidator() {
1879        return _super !== null && _super.apply(this, arguments) || this;
1880    }
1881    CaptureBookmarkOptionsValidator.prototype.validate = function (input, path, field) {
1882        if (input == null) {
1883            return null;
1884        }
1885        var errors = _super.prototype.validate.call(this, input, path, field);
1886        if (errors) {
1887            return errors;
1888        }
1889        var fields = [
1890            {
1891                field: "personalizeVisuals",
1892                validators: [validator_1.Validators.booleanValidator]
1893            },
1894            {
1895                field: "allPages",
1896                validators: [validator_1.Validators.booleanValidator]
1897            }
1898        ];
1899        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
1900        return multipleFieldsValidator.validate(input, path, field);
1901    };
1902    return CaptureBookmarkOptionsValidator;
1903}(typeValidator_1.ObjectValidator));
1904exports.CaptureBookmarkOptionsValidator = CaptureBookmarkOptionsValidator;
1905var CaptureBookmarkRequestValidator = /** @class */ (function (_super) {
1906    __extends(CaptureBookmarkRequestValidator, _super);
1907    function CaptureBookmarkRequestValidator() {
1908        return _super !== null && _super.apply(this, arguments) || this;
1909    }
1910    CaptureBookmarkRequestValidator.prototype.validate = function (input, path, field) {
1911        if (input == null) {
1912            return null;
1913        }
1914        var errors = _super.prototype.validate.call(this, input, path, field);
1915        if (errors) {
1916            return errors;
1917        }
1918        var fields = [
1919            {
1920                field: "options",
1921                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.captureBookmarkOptionsValidator]
1922            }
1923        ];
1924        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
1925        return multipleFieldsValidator.validate(input, path, field);
1926    };
1927    return CaptureBookmarkRequestValidator;
1928}(typeValidator_1.ObjectValidator));
1929exports.CaptureBookmarkRequestValidator = CaptureBookmarkRequestValidator;
1930
1931
1932/***/ }),
1933/* 6 */
1934/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_89382__) {
1935
1936// Copyright (c) Microsoft Corporation.
1937// Licensed under the MIT License.
1938var __extends = (this && this.__extends) || (function () {
1939    var extendStatics = function (d, b) {
1940        extendStatics = Object.setPrototypeOf ||
1941            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
1942            function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
1943        return extendStatics(d, b);
1944    };
1945    return function (d, b) {
1946        if (typeof b !== "function" && b !== null)
1947            throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
1948        extendStatics(d, b);
1949        function __() { this.constructor = d; }
1950        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
1951    };
1952})();
1953Object.defineProperty(exports, "__esModule", ({ value: true }));
1954exports.PaginatedReportCommandsValidator = exports.SingleCommandSettingsValidator = exports.CommandsSettingsValidator = void 0;
1955var multipleFieldsValidator_1 = __nested_webpack_require_89382__(3);
1956var typeValidator_1 = __nested_webpack_require_89382__(4);
1957var validator_1 = __nested_webpack_require_89382__(1);
1958var CommandsSettingsValidator = /** @class */ (function (_super) {
1959    __extends(CommandsSettingsValidator, _super);
1960    function CommandsSettingsValidator() {
1961        return _super !== null && _super.apply(this, arguments) || this;
1962    }
1963    CommandsSettingsValidator.prototype.validate = function (input, path, field) {
1964        if (input == null) {
1965            return null;
1966        }
1967        var errors = _super.prototype.validate.call(this, input, path, field);
1968        if (errors) {
1969            return errors;
1970        }
1971        var fields = [
1972            {
1973                field: "copy",
1974                validators: [validator_1.Validators.singleCommandSettingsValidator]
1975            },
1976            {
1977                field: "drill",
1978                validators: [validator_1.Validators.singleCommandSettingsValidator]
1979            },
1980            {
1981                field: "drillthrough",
1982                validators: [validator_1.Validators.singleCommandSettingsValidator]
1983            },
1984            {
1985                field: "expandCollapse",
1986                validators: [validator_1.Validators.singleCommandSettingsValidator]
1987            },
1988            {
1989                field: "exportData",
1990                validators: [validator_1.Validators.singleCommandSettingsValidator]
1991            },
1992            {
1993                field: "includeExclude",
1994                validators: [validator_1.Validators.singleCommandSettingsValidator]
1995            },
1996            {
1997                field: "removeVisual",
1998                validators: [validator_1.Validators.singleCommandSettingsValidator]
1999            },
2000            {
2001                field: "search",
2002                validators: [validator_1.Validators.singleCommandSettingsValidator]
2003            },
2004            {
2005                field: "seeData",
2006                validators: [validator_1.Validators.singleCommandSettingsValidator]
2007            },
2008            {
2009                field: "sort",
2010                validators: [validator_1.Validators.singleCommandSettingsValidator]
2011            },
2012            {
2013                field: "spotlight",
2014                validators: [validator_1.Validators.singleCommandSettingsValidator]
2015            },
2016            {
2017                field: "insightsAnalysis",
2018                validators: [validator_1.Validators.singleCommandSettingsValidator]
2019            },
2020            {
2021                field: "addComment",
2022                validators: [validator_1.Validators.singleCommandSettingsValidator]
2023            },
2024            {
2025                field: "groupVisualContainers",
2026                validators: [validator_1.Validators.singleCommandSettingsValidator]
2027            },
2028            {
2029                field: "summarize",
2030                validators: [validator_1.Validators.singleCommandSettingsValidator]
2031            },
2032            {
2033                field: "clearSelection",
2034                validators: [validator_1.Validators.singleCommandSettingsValidator]
2035            }
2036        ];
2037        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
2038        return multipleFieldsValidator.validate(input, path, field);
2039    };
2040    return CommandsSettingsValidator;
2041}(typeValidator_1.ObjectValidator));
2042exports.CommandsSettingsValidator = CommandsSettingsValidator;
2043var SingleCommandSettingsValidator = /** @class */ (function (_super) {
2044    __extends(SingleCommandSettingsValidator, _super);
2045    function SingleCommandSettingsValidator() {
2046        return _super !== null && _super.apply(this, arguments) || this;
2047    }
2048    SingleCommandSettingsValidator.prototype.validate = function (input, path, field) {
2049        if (input == null) {
2050            return null;
2051        }
2052        var errors = _super.prototype.validate.call(this, input, path, field);
2053        if (errors) {
2054            return errors;
2055        }
2056        var fields = [
2057            {
2058                field: "displayOption",
2059                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.commandDisplayOptionValidator]
2060            },
2061            {
2062                field: "selector",
2063                validators: [validator_1.Validators.visualCommandSelectorValidator]
2064            },
2065        ];
2066        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
2067        return multipleFieldsValidator.validate(input, path, field);
2068    };
2069    return SingleCommandSettingsValidator;
2070}(typeValidator_1.ObjectValidator));
2071exports.SingleCommandSettingsValidator = SingleCommandSettingsValidator;
2072var PaginatedReportCommandsValidator = /** @class */ (function (_super) {
2073    __extends(PaginatedReportCommandsValidator, _super);
2074    function PaginatedReportCommandsValidator() {
2075        return _super !== null && _super.apply(this, arguments) || this;
2076    }
2077    PaginatedReportCommandsValidator.prototype.validate = function (input, path, field) {
2078        if (input == null) {
2079            return null;
2080        }
2081        var errors = _super.prototype.validate.call(this, input, path, field);
2082        if (errors) {
2083            return errors;
2084        }
2085        var fields = [
2086            {
2087                field: "parameterPanel",
2088                validators: [validator_1.Validators.parametersPanelValidator]
2089            }
2090        ];
2091        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
2092        return multipleFieldsValidator.validate(input, path, field);
2093    };
2094    return PaginatedReportCommandsValidator;
2095}(typeValidator_1.ObjectValidator));
2096exports.PaginatedReportCommandsValidator = PaginatedReportCommandsValidator;
2097
2098
2099/***/ }),
2100/* 7 */
2101/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_96415__) {
2102
2103// Copyright (c) Microsoft Corporation.
2104// Licensed under the MIT License.
2105var __extends = (this && this.__extends) || (function () {
2106    var extendStatics = function (d, b) {
2107        extendStatics = Object.setPrototypeOf ||
2108            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
2109            function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
2110        return extendStatics(d, b);
2111    };
2112    return function (d, b) {
2113        if (typeof b !== "function" && b !== null)
2114            throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
2115        extendStatics(d, b);
2116        function __() { this.constructor = d; }
2117        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
2118    };
2119})();
2120Object.defineProperty(exports, "__esModule", ({ value: true }));
2121exports.CustomThemeValidator = void 0;
2122var multipleFieldsValidator_1 = __nested_webpack_require_96415__(3);
2123var typeValidator_1 = __nested_webpack_require_96415__(4);
2124var CustomThemeValidator = /** @class */ (function (_super) {
2125    __extends(CustomThemeValidator, _super);
2126    function CustomThemeValidator() {
2127        return _super !== null && _super.apply(this, arguments) || this;
2128    }
2129    CustomThemeValidator.prototype.validate = function (input, path, field) {
2130        if (input == null) {
2131            return null;
2132        }
2133        var errors = _super.prototype.validate.call(this, input, path, field);
2134        if (errors) {
2135            return errors;
2136        }
2137        var fields = [
2138            {
2139                field: "themeJson",
2140                validators: [new typeValidator_1.ObjectValidator()]
2141            }
2142        ];
2143        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
2144        return multipleFieldsValidator.validate(input, path, field);
2145    };
2146    return CustomThemeValidator;
2147}(typeValidator_1.ObjectValidator));
2148exports.CustomThemeValidator = CustomThemeValidator;
2149
2150
2151/***/ }),
2152/* 8 */
2153/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_98569__) {
2154
2155// Copyright (c) Microsoft Corporation.
2156// Licensed under the MIT License.
2157var __extends = (this && this.__extends) || (function () {
2158    var extendStatics = function (d, b) {
2159        extendStatics = Object.setPrototypeOf ||
2160            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
2161            function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
2162        return extendStatics(d, b);
2163    };
2164    return function (d, b) {
2165        if (typeof b !== "function" && b !== null)
2166            throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
2167        extendStatics(d, b);
2168        function __() { this.constructor = d; }
2169        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
2170    };
2171})();
2172Object.defineProperty(exports, "__esModule", ({ value: true }));
2173exports.DashboardLoadValidator = void 0;
2174var multipleFieldsValidator_1 = __nested_webpack_require_98569__(3);
2175var typeValidator_1 = __nested_webpack_require_98569__(4);
2176var validator_1 = __nested_webpack_require_98569__(1);
2177var DashboardLoadValidator = /** @class */ (function (_super) {
2178    __extends(DashboardLoadValidator, _super);
2179    function DashboardLoadValidator() {
2180        return _super !== null && _super.apply(this, arguments) || this;
2181    }
2182    DashboardLoadValidator.prototype.validate = function (input, path, field) {
2183        if (input == null) {
2184            return null;
2185        }
2186        var errors = _super.prototype.validate.call(this, input, path, field);
2187        if (errors) {
2188            return errors;
2189        }
2190        var fields = [
2191            {
2192                field: "accessToken",
2193                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator]
2194            },
2195            {
2196                field: "id",
2197                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator]
2198            },
2199            {
2200                field: "groupId",
2201                validators: [validator_1.Validators.stringValidator]
2202            },
2203            {
2204                field: "pageView",
2205                validators: [validator_1.Validators.pageViewFieldValidator]
2206            },
2207            {
2208                field: "tokenType",
2209                validators: [validator_1.Validators.tokenTypeValidator]
2210            },
2211            {
2212                field: "embedUrl",
2213                validators: [validator_1.Validators.stringValidator]
2214            }
2215        ];
2216        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
2217        return multipleFieldsValidator.validate(input, path, field);
2218    };
2219    return DashboardLoadValidator;
2220}(typeValidator_1.ObjectValidator));
2221exports.DashboardLoadValidator = DashboardLoadValidator;
2222
2223
2224/***/ }),
2225/* 9 */
2226/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_101568__) {
2227
2228// Copyright (c) Microsoft Corporation.
2229// Licensed under the MIT License.
2230var __extends = (this && this.__extends) || (function () {
2231    var extendStatics = function (d, b) {
2232        extendStatics = Object.setPrototypeOf ||
2233            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
2234            function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
2235        return extendStatics(d, b);
2236    };
2237    return function (d, b) {
2238        if (typeof b !== "function" && b !== null)
2239            throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
2240        extendStatics(d, b);
2241        function __() { this.constructor = d; }
2242        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
2243    };
2244})();
2245Object.defineProperty(exports, "__esModule", ({ value: true }));
2246exports.DatasetBindingValidator = void 0;
2247var multipleFieldsValidator_1 = __nested_webpack_require_101568__(3);
2248var typeValidator_1 = __nested_webpack_require_101568__(4);
2249var validator_1 = __nested_webpack_require_101568__(1);
2250var DatasetBindingValidator = /** @class */ (function (_super) {
2251    __extends(DatasetBindingValidator, _super);
2252    function DatasetBindingValidator() {
2253        return _super !== null && _super.apply(this, arguments) || this;
2254    }
2255    DatasetBindingValidator.prototype.validate = function (input, path, field) {
2256        if (input == null) {
2257            return null;
2258        }
2259        var errors = _super.prototype.validate.call(this, input, path, field);
2260        if (errors) {
2261            return errors;
2262        }
2263        if (!input["datasetId"] && !input["paginatedReportBindings"]) {
2264            return [{
2265                    message: "datasetBinding cannot be empty",
2266                    path: (path ? path + "." : "") + field,
2267                    keyword: "invalid"
2268                }];
2269        }
2270        var fields = [
2271            {
2272                field: "datasetId",
2273                validators: [validator_1.Validators.stringValidator]
2274            },
2275            {
2276                field: "paginatedReportBindings",
2277                validators: [validator_1.Validators.paginatedReportDatasetBindingArrayValidator]
2278            }
2279        ];
2280        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
2281        return multipleFieldsValidator.validate(input, path, field);
2282    };
2283    return DatasetBindingValidator;
2284}(typeValidator_1.ObjectValidator));
2285exports.DatasetBindingValidator = DatasetBindingValidator;
2286
2287
2288/***/ }),
2289/* 10 */
2290/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_104264__) {
2291
2292// Copyright (c) Microsoft Corporation.
2293// Licensed under the MIT License.
2294var __extends = (this && this.__extends) || (function () {
2295    var extendStatics = function (d, b) {
2296        extendStatics = Object.setPrototypeOf ||
2297            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
2298            function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
2299        return extendStatics(d, b);
2300    };
2301    return function (d, b) {
2302        if (typeof b !== "function" && b !== null)
2303            throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
2304        extendStatics(d, b);
2305        function __() { this.constructor = d; }
2306        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
2307    };
2308})();
2309Object.defineProperty(exports, "__esModule", ({ value: true }));
2310exports.ExportDataRequestValidator = void 0;
2311var multipleFieldsValidator_1 = __nested_webpack_require_104264__(3);
2312var typeValidator_1 = __nested_webpack_require_104264__(4);
2313var ExportDataRequestValidator = /** @class */ (function (_super) {
2314    __extends(ExportDataRequestValidator, _super);
2315    function ExportDataRequestValidator() {
2316        return _super !== null && _super.apply(this, arguments) || this;
2317    }
2318    ExportDataRequestValidator.prototype.validate = function (input, path, field) {
2319        if (input == null) {
2320            return null;
2321        }
2322        var errors = _super.prototype.validate.call(this, input, path, field);
2323        if (errors) {
2324            return errors;
2325        }
2326        var fields = [
2327            {
2328                field: "rows",
2329                validators: [new typeValidator_1.NumberValidator()]
2330            },
2331            {
2332                field: "exportDataType",
2333                validators: [new typeValidator_1.EnumValidator([0, 1])]
2334            }
2335        ];
2336        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
2337        return multipleFieldsValidator.validate(input, path, field);
2338    };
2339    return ExportDataRequestValidator;
2340}(typeValidator_1.ObjectValidator));
2341exports.ExportDataRequestValidator = ExportDataRequestValidator;
2342
2343
2344/***/ }),
2345/* 11 */
2346/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_106608__) {
2347
2348// Copyright (c) Microsoft Corporation.
2349// Licensed under the MIT License.
2350var __extends = (this && this.__extends) || (function () {
2351    var extendStatics = function (d, b) {
2352        extendStatics = Object.setPrototypeOf ||
2353            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
2354            function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
2355        return extendStatics(d, b);
2356    };
2357    return function (d, b) {
2358        if (typeof b !== "function" && b !== null)
2359            throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
2360        extendStatics(d, b);
2361        function __() { this.constructor = d; }
2362        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
2363    };
2364})();
2365Object.defineProperty(exports, "__esModule", ({ value: true }));
2366exports.ExtensionsValidator = exports.MenuGroupExtensionValidator = exports.ExtensionValidator = exports.CommandExtensionValidator = exports.ExtensionItemValidator = exports.ExtensionPointsValidator = exports.GroupedMenuExtensionValidator = exports.FlatMenuExtensionValidator = exports.MenuExtensionBaseValidator = void 0;
2367var multipleFieldsValidator_1 = __nested_webpack_require_106608__(3);
2368var typeValidator_1 = __nested_webpack_require_106608__(4);
2369var validator_1 = __nested_webpack_require_106608__(1);
2370var MenuExtensionBaseValidator = /** @class */ (function (_super) {
2371    __extends(MenuExtensionBaseValidator, _super);
2372    function MenuExtensionBaseValidator() {
2373        return _super !== null && _super.apply(this, arguments) || this;
2374    }
2375    MenuExtensionBaseValidator.prototype.validate = function (input, path, field) {
2376        if (input == null) {
2377            return null;
2378        }
2379        var errors = _super.prototype.validate.call(this, input, path, field);
2380        if (errors) {
2381            return errors;
2382        }
2383        var fields = [
2384            {
2385                field: "title",
2386                validators: [validator_1.Validators.stringValidator]
2387            },
2388            {
2389                field: "icon",
2390                validators: [validator_1.Validators.stringValidator]
2391            }
2392        ];
2393        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
2394        return multipleFieldsValidator.validate(input, path, field);
2395    };
2396    return MenuExtensionBaseValidator;
2397}(typeValidator_1.ObjectValidator));
2398exports.MenuExtensionBaseValidator = MenuExtensionBaseValidator;
2399var FlatMenuExtensionValidator = /** @class */ (function (_super) {
2400    __extends(FlatMenuExtensionValidator, _super);
2401    function FlatMenuExtensionValidator() {
2402        return _super !== null && _super.apply(this, arguments) || this;
2403    }
2404    FlatMenuExtensionValidator.prototype.validate = function (input, path, field) {
2405        if (input == null) {
2406            return null;
2407        }
2408        var errors = _super.prototype.validate.call(this, input, path, field);
2409        if (errors) {
2410            return errors;
2411        }
2412        var fields = [
2413            {
2414                field: "menuLocation",
2415                validators: [validator_1.Validators.menuLocationValidator]
2416            },
2417            {
2418                field: "groupName",
2419                validators: [validator_1.Validators.fieldForbiddenValidator]
2420            },
2421        ];
2422        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
2423        return multipleFieldsValidator.validate(input, path, field);
2424    };
2425    return FlatMenuExtensionValidator;
2426}(MenuExtensionBaseValidator));
2427exports.FlatMenuExtensionValidator = FlatMenuExtensionValidator;
2428var GroupedMenuExtensionValidator = /** @class */ (function (_super) {
2429    __extends(GroupedMenuExtensionValidator, _super);
2430    function GroupedMenuExtensionValidator() {
2431        return _super !== null && _super.apply(this, arguments) || this;
2432    }
2433    GroupedMenuExtensionValidator.prototype.validate = function (input, path, field) {
2434        if (input == null) {
2435            return null;
2436        }
2437        var errors = _super.prototype.validate.call(this, input, path, field);
2438        if (errors) {
2439            return errors;
2440        }
2441        var fields = [
2442            {
2443                field: "groupName",
2444                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator]
2445            },
2446            {
2447                field: "menuLocation",
2448                validators: [validator_1.Validators.fieldForbiddenValidator]
2449            },
2450        ];
2451        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
2452        return multipleFieldsValidator.validate(input, path, field);
2453    };
2454    return GroupedMenuExtensionValidator;
2455}(MenuExtensionBaseValidator));
2456exports.GroupedMenuExtensionValidator = GroupedMenuExtensionValidator;
2457var ExtensionPointsValidator = /** @class */ (function (_super) {
2458    __extends(ExtensionPointsValidator, _super);
2459    function ExtensionPointsValidator() {
2460        return _super !== null && _super.apply(this, arguments) || this;
2461    }
2462    ExtensionPointsValidator.prototype.validate = function (input, path, field) {
2463        if (input == null) {
2464            return null;
2465        }
2466        var errors = _super.prototype.validate.call(this, input, path, field);
2467        if (errors) {
2468            return errors;
2469        }
2470        var fields = [
2471            {
2472                field: "visualContextMenu",
2473                validators: [validator_1.Validators.menuExtensionValidator]
2474            },
2475            {
2476                field: "visualOptionsMenu",
2477                validators: [validator_1.Validators.menuExtensionValidator]
2478            }
2479        ];
2480        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
2481        return multipleFieldsValidator.validate(input, path, field);
2482    };
2483    return ExtensionPointsValidator;
2484}(typeValidator_1.ObjectValidator));
2485exports.ExtensionPointsValidator = ExtensionPointsValidator;
2486var ExtensionItemValidator = /** @class */ (function (_super) {
2487    __extends(ExtensionItemValidator, _super);
2488    function ExtensionItemValidator() {
2489        return _super !== null && _super.apply(this, arguments) || this;
2490    }
2491    ExtensionItemValidator.prototype.validate = function (input, path, field) {
2492        if (input == null) {
2493            return null;
2494        }
2495        var errors = _super.prototype.validate.call(this, input, path, field);
2496        if (errors) {
2497            return errors;
2498        }
2499        var fields = [
2500            {
2501                field: "name",
2502                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator]
2503            },
2504            {
2505                field: "extend",
2506                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.extensionPointsValidator]
2507            }
2508        ];
2509        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
2510        return multipleFieldsValidator.validate(input, path, field);
2511    };
2512    return ExtensionItemValidator;
2513}(typeValidator_1.ObjectValidator));
2514exports.ExtensionItemValidator = ExtensionItemValidator;
2515var CommandExtensionValidator = /** @class */ (function (_super) {
2516    __extends(CommandExtensionValidator, _super);
2517    function CommandExtensionValidator() {
2518        return _super !== null && _super.apply(this, arguments) || this;
2519    }
2520    CommandExtensionValidator.prototype.validate = function (input, path, field) {
2521        if (input == null) {
2522            return null;
2523        }
2524        var errors = _super.prototype.validate.call(this, input, path, field);
2525        if (errors) {
2526            return errors;
2527        }
2528        var fields = [
2529            {
2530                field: "title",
2531                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator]
2532            },
2533            {
2534                field: "icon",
2535                validators: [validator_1.Validators.stringValidator]
2536            },
2537            {
2538                field: "selector",
2539                validators: [validator_1.Validators.commandExtensionSelectorValidator]
2540            },
2541        ];
2542        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
2543        return multipleFieldsValidator.validate(input, path, field);
2544    };
2545    return CommandExtensionValidator;
2546}(ExtensionItemValidator));
2547exports.CommandExtensionValidator = CommandExtensionValidator;
2548var ExtensionValidator = /** @class */ (function (_super) {
2549    __extends(ExtensionValidator, _super);
2550    function ExtensionValidator() {
2551        return _super !== null && _super.apply(this, arguments) || this;
2552    }
2553    ExtensionValidator.prototype.validate = function (input, path, field) {
2554        if (input == null) {
2555            return null;
2556        }
2557        var errors = _super.prototype.validate.call(this, input, path, field);
2558        if (errors) {
2559            return errors;
2560        }
2561        var fields = [
2562            {
2563                field: "command",
2564                validators: [validator_1.Validators.commandExtensionValidator]
2565            }
2566        ];
2567        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
2568        return multipleFieldsValidator.validate(input, path, field);
2569    };
2570    return ExtensionValidator;
2571}(typeValidator_1.ObjectValidator));
2572exports.ExtensionValidator = ExtensionValidator;
2573var MenuGroupExtensionValidator = /** @class */ (function (_super) {
2574    __extends(MenuGroupExtensionValidator, _super);
2575    function MenuGroupExtensionValidator() {
2576        return _super !== null && _super.apply(this, arguments) || this;
2577    }
2578    MenuGroupExtensionValidator.prototype.validate = function (input, path, field) {
2579        if (input == null) {
2580            return null;
2581        }
2582        var errors = _super.prototype.validate.call(this, input, path, field);
2583        if (errors) {
2584            return errors;
2585        }
2586        var fields = [
2587            {
2588                field: "name",
2589                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator]
2590            },
2591            {
2592                field: "title",
2593                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator]
2594            },
2595            {
2596                field: "menuLocation",
2597                validators: [validator_1.Validators.menuLocationValidator]
2598            },
2599        ];
2600        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
2601        return multipleFieldsValidator.validate(input, path, field);
2602    };
2603    return MenuGroupExtensionValidator;
2604}(typeValidator_1.ObjectValidator));
2605exports.MenuGroupExtensionValidator = MenuGroupExtensionValidator;
2606var ExtensionsValidator = /** @class */ (function (_super) {
2607    __extends(ExtensionsValidator, _super);
2608    function ExtensionsValidator() {
2609        return _super !== null && _super.apply(this, arguments) || this;
2610    }
2611    ExtensionsValidator.prototype.validate = function (input, path, field) {
2612        if (input == null) {
2613            return null;
2614        }
2615        var errors = _super.prototype.validate.call(this, input, path, field);
2616        if (errors) {
2617            return errors;
2618        }
2619        var fields = [
2620            {
2621                field: "commands",
2622                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.commandExtensionArrayValidator]
2623            },
2624            {
2625                field: "groups",
2626                validators: [validator_1.Validators.menuGroupExtensionArrayValidator]
2627            }
2628        ];
2629        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
2630        return multipleFieldsValidator.validate(input, path, field);
2631    };
2632    return ExtensionsValidator;
2633}(typeValidator_1.ObjectValidator));
2634exports.ExtensionsValidator = ExtensionsValidator;
2635
2636
2637/***/ }),
2638/* 12 */
2639/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_119099__) {
2640
2641// Copyright (c) Microsoft Corporation.
2642// Licensed under the MIT License.
2643var __extends = (this && this.__extends) || (function () {
2644    var extendStatics = function (d, b) {
2645        extendStatics = Object.setPrototypeOf ||
2646            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
2647            function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
2648        return extendStatics(d, b);
2649    };
2650    return function (d, b) {
2651        if (typeof b !== "function" && b !== null)
2652            throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
2653        extendStatics(d, b);
2654        function __() { this.constructor = d; }
2655        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
2656    };
2657})();
2658Object.defineProperty(exports, "__esModule", ({ value: true }));
2659exports.OnLoadFiltersValidator = exports.OnLoadFiltersBaseRemoveOperationValidator = exports.OnLoadFiltersBaseValidator = exports.ConditionItemValidator = exports.RemoveFiltersRequestValidator = exports.UpdateFiltersRequestValidator = exports.FilterValidator = exports.IncludeExcludePointValueValidator = exports.HierarchyFilterNodeValidator = exports.HierarchyFilterValidator = exports.IncludeExcludeFilterValidator = exports.NotSupportedFilterValidator = exports.TopNFilterValidator = exports.RelativeTimeFilterValidator = exports.RelativeDateFilterValidator = exports.RelativeDateTimeFilterValidator = exports.AdvancedFilterValidator = exports.BasicFilterValidator = exports.FilterValidatorBase = exports.FilterDisplaySettingsValidator = exports.FilterMeasureTargetValidator = exports.FilterKeyHierarchyTargetValidator = exports.FilterHierarchyTargetValidator = exports.FilterKeyColumnsTargetValidator = exports.FilterColumnTargetValidator = void 0;
2660var multipleFieldsValidator_1 = __nested_webpack_require_119099__(3);
2661var typeValidator_1 = __nested_webpack_require_119099__(4);
2662var validator_1 = __nested_webpack_require_119099__(1);
2663var FilterColumnTargetValidator = /** @class */ (function (_super) {
2664    __extends(FilterColumnTargetValidator, _super);
2665    function FilterColumnTargetValidator() {
2666        return _super !== null && _super.apply(this, arguments) || this;
2667    }
2668    FilterColumnTargetValidator.prototype.validate = function (input, path, field) {
2669        if (input == null) {
2670            return null;
2671        }
2672        var errors = _super.prototype.validate.call(this, input, path, field);
2673        if (errors) {
2674            return errors;
2675        }
2676        var fields = [
2677            {
2678                field: "table",
2679                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator]
2680            },
2681            {
2682                field: "column",
2683                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator]
2684            }
2685        ];
2686        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
2687        return multipleFieldsValidator.validate(input, path, field);
2688    };
2689    return FilterColumnTargetValidator;
2690}(typeValidator_1.ObjectValidator));
2691exports.FilterColumnTargetValidator = FilterColumnTargetValidator;
2692var FilterKeyColumnsTargetValidator = /** @class */ (function (_super) {
2693    __extends(FilterKeyColumnsTargetValidator, _super);
2694    function FilterKeyColumnsTargetValidator() {
2695        return _super !== null && _super.apply(this, arguments) || this;
2696    }
2697    FilterKeyColumnsTargetValidator.prototype.validate = function (input, path, field) {
2698        if (input == null) {
2699            return null;
2700        }
2701        var errors = _super.prototype.validate.call(this, input, path, field);
2702        if (errors) {
2703            return errors;
2704        }
2705        var fields = [
2706            {
2707                field: "keys",
2708                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringArrayValidator]
2709            },
2710        ];
2711        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
2712        return multipleFieldsValidator.validate(input, path, field);
2713    };
2714    return FilterKeyColumnsTargetValidator;
2715}(FilterColumnTargetValidator));
2716exports.FilterKeyColumnsTargetValidator = FilterKeyColumnsTargetValidator;
2717var FilterHierarchyTargetValidator = /** @class */ (function (_super) {
2718    __extends(FilterHierarchyTargetValidator, _super);
2719    function FilterHierarchyTargetValidator() {
2720        return _super !== null && _super.apply(this, arguments) || this;
2721    }
2722    FilterHierarchyTargetValidator.prototype.validate = function (input, path, field) {
2723        if (input == null) {
2724            return null;
2725        }
2726        var errors = _super.prototype.validate.call(this, input, path, field);
2727        if (errors) {
2728            return errors;
2729        }
2730        var fields = [
2731            {
2732                field: "table",
2733                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator]
2734            },
2735            {
2736                field: "hierarchy",
2737                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator]
2738            },
2739            {
2740                field: "hierarchyLevel",
2741                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator]
2742            }
2743        ];
2744        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
2745        return multipleFieldsValidator.validate(input, path, field);
2746    };
2747    return FilterHierarchyTargetValidator;
2748}(typeValidator_1.ObjectValidator));
2749exports.FilterHierarchyTargetValidator = FilterHierarchyTargetValidator;
2750var FilterKeyHierarchyTargetValidator = /** @class */ (function (_super) {
2751    __extends(FilterKeyHierarchyTargetValidator, _super);
2752    function FilterKeyHierarchyTargetValidator() {
2753        return _super !== null && _super.apply(this, arguments) || this;
2754    }
2755    FilterKeyHierarchyTargetValidator.prototype.validate = function (input, path, field) {
2756        if (input == null) {
2757            return null;
2758        }
2759        var errors = _super.prototype.validate.call(this, input, path, field);
2760        if (errors) {
2761            return errors;
2762        }
2763        var fields = [
2764            {
2765                field: "keys",
2766                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringArrayValidator]
2767            },
2768        ];
2769        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
2770        return multipleFieldsValidator.validate(input, path, field);
2771    };
2772    return FilterKeyHierarchyTargetValidator;
2773}(FilterHierarchyTargetValidator));
2774exports.FilterKeyHierarchyTargetValidator = FilterKeyHierarchyTargetValidator;
2775var FilterMeasureTargetValidator = /** @class */ (function (_super) {
2776    __extends(FilterMeasureTargetValidator, _super);
2777    function FilterMeasureTargetValidator() {
2778        return _super !== null && _super.apply(this, arguments) || this;
2779    }
2780    FilterMeasureTargetValidator.prototype.validate = function (input, path, field) {
2781        if (input == null) {
2782            return null;
2783        }
2784        var errors = _super.prototype.validate.call(this, input, path, field);
2785        if (errors) {
2786            return errors;
2787        }
2788        var fields = [
2789            {
2790                field: "table",
2791                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator]
2792            },
2793            {
2794                field: "measure",
2795                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator]
2796            }
2797        ];
2798        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
2799        return multipleFieldsValidator.validate(input, path, field);
2800    };
2801    return FilterMeasureTargetValidator;
2802}(typeValidator_1.ObjectValidator));
2803exports.FilterMeasureTargetValidator = FilterMeasureTargetValidator;
2804var FilterDisplaySettingsValidator = /** @class */ (function (_super) {
2805    __extends(FilterDisplaySettingsValidator, _super);
2806    function FilterDisplaySettingsValidator() {
2807        return _super !== null && _super.apply(this, arguments) || this;
2808    }
2809    FilterDisplaySettingsValidator.prototype.validate = function (input, path, field) {
2810        if (input == null) {
2811            return null;
2812        }
2813        var errors = _super.prototype.validate.call(this, input, path, field);
2814        if (errors) {
2815            return errors;
2816        }
2817        var fields = [
2818            {
2819                field: "isLockedInViewMode",
2820                validators: [validator_1.Validators.booleanValidator]
2821            },
2822            {
2823                field: "isHiddenInViewMode",
2824                validators: [validator_1.Validators.booleanValidator]
2825            },
2826            {
2827                field: "displayName",
2828                validators: [validator_1.Validators.stringValidator]
2829            }
2830        ];
2831        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
2832        return multipleFieldsValidator.validate(input, path, field);
2833    };
2834    return FilterDisplaySettingsValidator;
2835}(typeValidator_1.ObjectValidator));
2836exports.FilterDisplaySettingsValidator = FilterDisplaySettingsValidator;
2837var FilterValidatorBase = /** @class */ (function (_super) {
2838    __extends(FilterValidatorBase, _super);
2839    function FilterValidatorBase() {
2840        return _super !== null && _super.apply(this, arguments) || this;
2841    }
2842    FilterValidatorBase.prototype.validate = function (input, path, field) {
2843        if (input == null) {
2844            return null;
2845        }
2846        var errors = _super.prototype.validate.call(this, input, path, field);
2847        if (errors) {
2848            return errors;
2849        }
2850        var fields = [
2851            {
2852                field: "target",
2853                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.filterTargetValidator]
2854            },
2855            {
2856                field: "$schema",
2857                validators: [validator_1.Validators.stringValidator]
2858            },
2859            {
2860                field: "filterType",
2861                validators: [validator_1.Validators.filterTypeValidator]
2862            },
2863            {
2864                field: "displaySettings",
2865                validators: [validator_1.Validators.filterDisplaySettingsValidator]
2866            },
2867        ];
2868        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
2869        return multipleFieldsValidator.validate(input, path, field);
2870    };
2871    return FilterValidatorBase;
2872}(typeValidator_1.ObjectValidator));
2873exports.FilterValidatorBase = FilterValidatorBase;
2874var BasicFilterValidator = /** @class */ (function (_super) {
2875    __extends(BasicFilterValidator, _super);
2876    function BasicFilterValidator() {
2877        return _super !== null && _super.apply(this, arguments) || this;
2878    }
2879    BasicFilterValidator.prototype.validate = function (input, path, field) {
2880        if (input == null) {
2881            return null;
2882        }
2883        var errors = _super.prototype.validate.call(this, input, path, field);
2884        if (errors) {
2885            return errors;
2886        }
2887        var fields = [
2888            {
2889                field: "operator",
2890                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator]
2891            },
2892            {
2893                field: "values",
2894                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.anyArrayValidator]
2895            },
2896            {
2897                field: "filterType",
2898                validators: [validator_1.Validators.basicFilterTypeValidator]
2899            },
2900            {
2901                field: "requireSingleSelection",
2902                validators: [validator_1.Validators.booleanValidator]
2903            },
2904        ];
2905        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
2906        return multipleFieldsValidator.validate(input, path, field);
2907    };
2908    return BasicFilterValidator;
2909}(FilterValidatorBase));
2910exports.BasicFilterValidator = BasicFilterValidator;
2911var AdvancedFilterValidator = /** @class */ (function (_super) {
2912    __extends(AdvancedFilterValidator, _super);
2913    function AdvancedFilterValidator() {
2914        return _super !== null && _super.apply(this, arguments) || this;
2915    }
2916    AdvancedFilterValidator.prototype.validate = function (input, path, field) {
2917        if (input == null) {
2918            return null;
2919        }
2920        var errors = _super.prototype.validate.call(this, input, path, field);
2921        if (errors) {
2922            return errors;
2923        }
2924        var fields = [
2925            {
2926                field: "logicalOperator",
2927                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator]
2928            },
2929            {
2930                field: "conditions",
2931                validators: [validator_1.Validators.filterConditionsValidator]
2932            },
2933            {
2934                field: "filterType",
2935                validators: [validator_1.Validators.advancedFilterTypeValidator]
2936            }
2937        ];
2938        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
2939        return multipleFieldsValidator.validate(input, path, field);
2940    };
2941    return AdvancedFilterValidator;
2942}(FilterValidatorBase));
2943exports.AdvancedFilterValidator = AdvancedFilterValidator;
2944var RelativeDateTimeFilterValidator = /** @class */ (function (_super) {
2945    __extends(RelativeDateTimeFilterValidator, _super);
2946    function RelativeDateTimeFilterValidator() {
2947        return _super !== null && _super.apply(this, arguments) || this;
2948    }
2949    RelativeDateTimeFilterValidator.prototype.validate = function (input, path, field) {
2950        if (input == null) {
2951            return null;
2952        }
2953        var errors = _super.prototype.validate.call(this, input, path, field);
2954        if (errors) {
2955            return errors;
2956        }
2957        var fields = [
2958            {
2959                field: "operator",
2960                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.relativeDateFilterOperatorValidator]
2961            },
2962            {
2963                field: "timeUnitsCount",
2964                validators: [validator_1.Validators.numberValidator]
2965            },
2966            {
2967                field: "timeUnitType",
2968                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.relativeDateTimeFilterUnitTypeValidator]
2969            },
2970            {
2971                field: "filterType",
2972                validators: [validator_1.Validators.relativeDateTimeFilterTypeValidator]
2973            },
2974        ];
2975        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
2976        return multipleFieldsValidator.validate(input, path, field);
2977    };
2978    return RelativeDateTimeFilterValidator;
2979}(FilterValidatorBase));
2980exports.RelativeDateTimeFilterValidator = RelativeDateTimeFilterValidator;
2981var RelativeDateFilterValidator = /** @class */ (function (_super) {
2982    __extends(RelativeDateFilterValidator, _super);
2983    function RelativeDateFilterValidator() {
2984        return _super !== null && _super.apply(this, arguments) || this;
2985    }
2986    RelativeDateFilterValidator.prototype.validate = function (input, path, field) {
2987        if (input == null) {
2988            return null;
2989        }
2990        var errors = _super.prototype.validate.call(this, input, path, field);
2991        if (errors) {
2992            return errors;
2993        }
2994        var fields = [
2995            {
2996                field: "includeToday",
2997                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.booleanValidator]
2998            },
2999            {
3000                field: "timeUnitType",
3001                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.relativeDateFilterTimeUnitTypeValidator]
3002            },
3003            {
3004                field: "filterType",
3005                validators: [validator_1.Validators.relativeDateFilterTypeValidator]
3006            },
3007        ];
3008        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
3009        return multipleFieldsValidator.validate(input, path, field);
3010    };
3011    return RelativeDateFilterValidator;
3012}(RelativeDateTimeFilterValidator));
3013exports.RelativeDateFilterValidator = RelativeDateFilterValidator;
3014var RelativeTimeFilterValidator = /** @class */ (function (_super) {
3015    __extends(RelativeTimeFilterValidator, _super);
3016    function RelativeTimeFilterValidator() {
3017        return _super !== null && _super.apply(this, arguments) || this;
3018    }
3019    RelativeTimeFilterValidator.prototype.validate = function (input, path, field) {
3020        if (input == null) {
3021            return null;
3022        }
3023        var errors = _super.prototype.validate.call(this, input, path, field);
3024        if (errors) {
3025            return errors;
3026        }
3027        var fields = [
3028            {
3029                field: "timeUnitType",
3030                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.relativeTimeFilterTimeUnitTypeValidator]
3031            },
3032            {
3033                field: "filterType",
3034                validators: [validator_1.Validators.relativeTimeFilterTypeValidator]
3035            },
3036        ];
3037        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
3038        return multipleFieldsValidator.validate(input, path, field);
3039    };
3040    return RelativeTimeFilterValidator;
3041}(RelativeDateTimeFilterValidator));
3042exports.RelativeTimeFilterValidator = RelativeTimeFilterValidator;
3043var TopNFilterValidator = /** @class */ (function (_super) {
3044    __extends(TopNFilterValidator, _super);
3045    function TopNFilterValidator() {
3046        return _super !== null && _super.apply(this, arguments) || this;
3047    }
3048    TopNFilterValidator.prototype.validate = function (input, path, field) {
3049        if (input == null) {
3050            return null;
3051        }
3052        var errors = _super.prototype.validate.call(this, input, path, field);
3053        if (errors) {
3054            return errors;
3055        }
3056        var fields = [
3057            {
3058                field: "operator",
3059                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator]
3060            },
3061            {
3062                field: "itemCount",
3063                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.numberValidator]
3064            },
3065            {
3066                field: "filterType",
3067                validators: [validator_1.Validators.topNFilterTypeValidator]
3068            },
3069            {
3070                field: "orderBy",
3071                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.filterTargetValidator]
3072            }
3073        ];
3074        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
3075        return multipleFieldsValidator.validate(input, path, field);
3076    };
3077    return TopNFilterValidator;
3078}(FilterValidatorBase));
3079exports.TopNFilterValidator = TopNFilterValidator;
3080var NotSupportedFilterValidator = /** @class */ (function (_super) {
3081    __extends(NotSupportedFilterValidator, _super);
3082    function NotSupportedFilterValidator() {
3083        return _super !== null && _super.apply(this, arguments) || this;
3084    }
3085    NotSupportedFilterValidator.prototype.validate = function (input, path, field) {
3086        if (input == null) {
3087            return null;
3088        }
3089        var errors = _super.prototype.validate.call(this, input, path, field);
3090        if (errors) {
3091            return errors;
3092        }
3093        var fields = [
3094            {
3095                field: "message",
3096                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator]
3097            },
3098            {
3099                field: "notSupportedTypeName",
3100                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator]
3101            },
3102            {
3103                field: "filterType",
3104                validators: [validator_1.Validators.notSupportedFilterTypeValidator]
3105            },
3106        ];
3107        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
3108        return multipleFieldsValidator.validate(input, path, field);
3109    };
3110    return NotSupportedFilterValidator;
3111}(FilterValidatorBase));
3112exports.NotSupportedFilterValidator = NotSupportedFilterValidator;
3113var IncludeExcludeFilterValidator = /** @class */ (function (_super) {
3114    __extends(IncludeExcludeFilterValidator, _super);
3115    function IncludeExcludeFilterValidator() {
3116        return _super !== null && _super.apply(this, arguments) || this;
3117    }
3118    IncludeExcludeFilterValidator.prototype.validate = function (input, path, field) {
3119        if (input == null) {
3120            return null;
3121        }
3122        var errors = _super.prototype.validate.call(this, input, path, field);
3123        if (errors) {
3124            return errors;
3125        }
3126        var fields = [
3127            {
3128                field: "isExclude",
3129                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.booleanValidator]
3130            },
3131            {
3132                field: "values",
3133                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.includeExcludeFilterValuesValidator]
3134            },
3135            {
3136                field: "filterType",
3137                validators: [validator_1.Validators.includeExludeFilterTypeValidator]
3138            },
3139        ];
3140        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
3141        return multipleFieldsValidator.validate(input, path, field);
3142    };
3143    return IncludeExcludeFilterValidator;
3144}(FilterValidatorBase));
3145exports.IncludeExcludeFilterValidator = IncludeExcludeFilterValidator;
3146var HierarchyFilterValidator = /** @class */ (function (_super) {
3147    __extends(HierarchyFilterValidator, _super);
3148    function HierarchyFilterValidator() {
3149        return _super !== null && _super.apply(this, arguments) || this;
3150    }
3151    HierarchyFilterValidator.prototype.validate = function (input, path, field) {
3152        if (input == null) {
3153            return null;
3154        }
3155        var errors = _super.prototype.validate.call(this, input, path, field);
3156        if (errors) {
3157            return errors;
3158        }
3159        var fields = [
3160            {
3161                field: "hierarchyData",
3162                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.hierarchyFilterValuesValidator]
3163            },
3164            {
3165                field: "filterType",
3166                validators: [validator_1.Validators.hierarchyFilterTypeValidator]
3167            },
3168        ];
3169        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
3170        return multipleFieldsValidator.validate(input, path, field);
3171    };
3172    return HierarchyFilterValidator;
3173}(FilterValidatorBase));
3174exports.HierarchyFilterValidator = HierarchyFilterValidator;
3175var HierarchyFilterNodeValidator = /** @class */ (function (_super) {
3176    __extends(HierarchyFilterNodeValidator, _super);
3177    function HierarchyFilterNodeValidator() {
3178        return _super !== null && _super.apply(this, arguments) || this;
3179    }
3180    HierarchyFilterNodeValidator.prototype.validate = function (input, path, field) {
3181        if (input == null) {
3182            return null;
3183        }
3184        var errors = _super.prototype.validate.call(this, input, path, field);
3185        if (errors) {
3186            return errors;
3187        }
3188        var fields = [
3189            {
3190                field: "value",
3191                validators: [validator_1.Validators.anyValueValidator]
3192            },
3193            {
3194                field: "keyValues",
3195                validators: [validator_1.Validators.anyArrayValidator]
3196            },
3197            {
3198                field: "children",
3199                validators: [validator_1.Validators.hierarchyFilterValuesValidator]
3200            },
3201            {
3202                field: "operator",
3203                validators: [validator_1.Validators.stringValidator]
3204            }
3205        ];
3206        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
3207        return multipleFieldsValidator.validate(input, path, field);
3208    };
3209    return HierarchyFilterNodeValidator;
3210}(typeValidator_1.ObjectValidator));
3211exports.HierarchyFilterNodeValidator = HierarchyFilterNodeValidator;
3212var IncludeExcludePointValueValidator = /** @class */ (function (_super) {
3213    __extends(IncludeExcludePointValueValidator, _super);
3214    function IncludeExcludePointValueValidator() {
3215        return _super !== null && _super.apply(this, arguments) || this;
3216    }
3217    IncludeExcludePointValueValidator.prototype.validate = function (input, path, field) {
3218        if (input == null) {
3219            return null;
3220        }
3221        var errors = _super.prototype.validate.call(this, input, path, field);
3222        if (errors) {
3223            return errors;
3224        }
3225        var fields = [
3226            {
3227                field: "value",
3228                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.anyValueValidator]
3229            },
3230            {
3231                field: "keyValues",
3232                validators: [validator_1.Validators.anyArrayValidator]
3233            }
3234        ];
3235        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
3236        return multipleFieldsValidator.validate(input, path, field);
3237    };
3238    return IncludeExcludePointValueValidator;
3239}(typeValidator_1.ObjectValidator));
3240exports.IncludeExcludePointValueValidator = IncludeExcludePointValueValidator;
3241var FilterValidator = /** @class */ (function (_super) {
3242    __extends(FilterValidator, _super);
3243    function FilterValidator() {
3244        return _super !== null && _super.apply(this, arguments) || this;
3245    }
3246    FilterValidator.prototype.validate = function (input, path, field) {
3247        if (input == null) {
3248            return null;
3249        }
3250        var errors = _super.prototype.validate.call(this, input, path, field);
3251        if (errors) {
3252            return errors;
3253        }
3254        return validator_1.Validators.anyFilterValidator.validate(input, path, field);
3255    };
3256    return FilterValidator;
3257}(typeValidator_1.ObjectValidator));
3258exports.FilterValidator = FilterValidator;
3259var UpdateFiltersRequestValidator = /** @class */ (function (_super) {
3260    __extends(UpdateFiltersRequestValidator, _super);
3261    function UpdateFiltersRequestValidator() {
3262        return _super !== null && _super.apply(this, arguments) || this;
3263    }
3264    UpdateFiltersRequestValidator.prototype.validate = function (input, path, field) {
3265        if (input == null) {
3266            return null;
3267        }
3268        var errors = _super.prototype.validate.call(this, input, path, field);
3269        if (errors) {
3270            return errors;
3271        }
3272        var fields = [
3273            {
3274                field: "filtersOperation",
3275                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.filtersOperationsUpdateValidator]
3276            },
3277            {
3278                field: "filters",
3279                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.filtersArrayValidator]
3280            }
3281        ];
3282        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
3283        return multipleFieldsValidator.validate(input, path, field);
3284    };
3285    return UpdateFiltersRequestValidator;
3286}(typeValidator_1.ObjectValidator));
3287exports.UpdateFiltersRequestValidator = UpdateFiltersRequestValidator;
3288var RemoveFiltersRequestValidator = /** @class */ (function (_super) {
3289    __extends(RemoveFiltersRequestValidator, _super);
3290    function RemoveFiltersRequestValidator() {
3291        return _super !== null && _super.apply(this, arguments) || this;
3292    }
3293    RemoveFiltersRequestValidator.prototype.validate = function (input, path, field) {
3294        if (input == null) {
3295            return null;
3296        }
3297        var errors = _super.prototype.validate.call(this, input, path, field);
3298        if (errors) {
3299            return errors;
3300        }
3301        var fields = [
3302            {
3303                field: "filtersOperation",
3304                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.filtersOperationsRemoveAllValidator]
3305            },
3306            {
3307                field: "filters",
3308                validators: [validator_1.Validators.fieldForbiddenValidator, validator_1.Validators.filtersArrayValidator]
3309            }
3310        ];
3311        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
3312        return multipleFieldsValidator.validate(input, path, field);
3313    };
3314    return RemoveFiltersRequestValidator;
3315}(typeValidator_1.ObjectValidator));
3316exports.RemoveFiltersRequestValidator = RemoveFiltersRequestValidator;
3317var ConditionItemValidator = /** @class */ (function (_super) {
3318    __extends(ConditionItemValidator, _super);
3319    function ConditionItemValidator() {
3320        return _super !== null && _super.apply(this, arguments) || this;
3321    }
3322    ConditionItemValidator.prototype.validate = function (input, path, field) {
3323        if (input == null) {
3324            return null;
3325        }
3326        var errors = _super.prototype.validate.call(this, input, path, field);
3327        if (errors) {
3328            return errors;
3329        }
3330        var fields = [
3331            {
3332                field: "value",
3333                validators: [validator_1.Validators.anyValueValidator]
3334            },
3335            {
3336                field: "operator",
3337                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator]
3338            }
3339        ];
3340        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
3341        return multipleFieldsValidator.validate(input, path, field);
3342    };
3343    return ConditionItemValidator;
3344}(typeValidator_1.ObjectValidator));
3345exports.ConditionItemValidator = ConditionItemValidator;
3346var OnLoadFiltersBaseValidator = /** @class */ (function (_super) {
3347    __extends(OnLoadFiltersBaseValidator, _super);
3348    function OnLoadFiltersBaseValidator() {
3349        return _super !== null && _super.apply(this, arguments) || this;
3350    }
3351    OnLoadFiltersBaseValidator.prototype.validate = function (input, path, field) {
3352        if (input == null) {
3353            return null;
3354        }
3355        var errors = _super.prototype.validate.call(this, input, path, field);
3356        if (errors) {
3357            return errors;
3358        }
3359        var fields = [
3360            {
3361                field: "operation",
3362                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.filtersOperationsUpdateValidator]
3363            },
3364            {
3365                field: "filters",
3366                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.filtersArrayValidator]
3367            }
3368        ];
3369        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
3370        return multipleFieldsValidator.validate(input, path, field);
3371    };
3372    return OnLoadFiltersBaseValidator;
3373}(typeValidator_1.ObjectValidator));
3374exports.OnLoadFiltersBaseValidator = OnLoadFiltersBaseValidator;
3375var OnLoadFiltersBaseRemoveOperationValidator = /** @class */ (function (_super) {
3376    __extends(OnLoadFiltersBaseRemoveOperationValidator, _super);
3377    function OnLoadFiltersBaseRemoveOperationValidator() {
3378        return _super !== null && _super.apply(this, arguments) || this;
3379    }
3380    OnLoadFiltersBaseRemoveOperationValidator.prototype.validate = function (input, path, field) {
3381        if (input == null) {
3382            return null;
3383        }
3384        var errors = _super.prototype.validate.call(this, input, path, field);
3385        if (errors) {
3386            return errors;
3387        }
3388        var fields = [
3389            {
3390                field: "operation",
3391                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.filtersOperationsRemoveAllValidator]
3392            },
3393            {
3394                field: "filters",
3395                validators: [validator_1.Validators.fieldForbiddenValidator, validator_1.Validators.filtersArrayValidator]
3396            }
3397        ];
3398        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
3399        return multipleFieldsValidator.validate(input, path, field);
3400    };
3401    return OnLoadFiltersBaseRemoveOperationValidator;
3402}(typeValidator_1.ObjectValidator));
3403exports.OnLoadFiltersBaseRemoveOperationValidator = OnLoadFiltersBaseRemoveOperationValidator;
3404var OnLoadFiltersValidator = /** @class */ (function (_super) {
3405    __extends(OnLoadFiltersValidator, _super);
3406    function OnLoadFiltersValidator() {
3407        return _super !== null && _super.apply(this, arguments) || this;
3408    }
3409    OnLoadFiltersValidator.prototype.validate = function (input, path, field) {
3410        if (input == null) {
3411            return null;
3412        }
3413        var errors = _super.prototype.validate.call(this, input, path, field);
3414        if (errors) {
3415            return errors;
3416        }
3417        var fields = [
3418            {
3419                field: "allPages",
3420                validators: [validator_1.Validators.onLoadFiltersBaseValidator]
3421            },
3422            {
3423                field: "currentPage",
3424                validators: [validator_1.Validators.onLoadFiltersBaseValidator]
3425            }
3426        ];
3427        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
3428        return multipleFieldsValidator.validate(input, path, field);
3429    };
3430    return OnLoadFiltersValidator;
3431}(typeValidator_1.ObjectValidator));
3432exports.OnLoadFiltersValidator = OnLoadFiltersValidator;
3433
3434
3435/***/ }),
3436/* 13 */
3437/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_154405__) {
3438
3439// Copyright (c) Microsoft Corporation.
3440// Licensed under the MIT License.
3441var __extends = (this && this.__extends) || (function () {
3442    var extendStatics = function (d, b) {
3443        extendStatics = Object.setPrototypeOf ||
3444            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
3445            function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
3446        return extendStatics(d, b);
3447    };
3448    return function (d, b) {
3449        if (typeof b !== "function" && b !== null)
3450            throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
3451        extendStatics(d, b);
3452        function __() { this.constructor = d; }
3453        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
3454    };
3455})();
3456Object.defineProperty(exports, "__esModule", ({ value: true }));
3457exports.PageLayoutValidator = exports.DisplayStateValidator = exports.VisualLayoutValidator = exports.CustomLayoutValidator = void 0;
3458var multipleFieldsValidator_1 = __nested_webpack_require_154405__(3);
3459var typeValidator_1 = __nested_webpack_require_154405__(4);
3460var validator_1 = __nested_webpack_require_154405__(1);
3461var CustomLayoutValidator = /** @class */ (function (_super) {
3462    __extends(CustomLayoutValidator, _super);
3463    function CustomLayoutValidator() {
3464        return _super !== null && _super.apply(this, arguments) || this;
3465    }
3466    CustomLayoutValidator.prototype.validate = function (input, path, field) {
3467        if (input == null) {
3468            return null;
3469        }
3470        var errors = _super.prototype.validate.call(this, input, path, field);
3471        if (errors) {
3472            return errors;
3473        }
3474        var fields = [
3475            {
3476                field: "pageSize",
3477                validators: [validator_1.Validators.pageSizeValidator]
3478            },
3479            {
3480                field: "displayOption",
3481                validators: [validator_1.Validators.customLayoutDisplayOptionValidator]
3482            },
3483            {
3484                field: "pagesLayout",
3485                validators: [validator_1.Validators.pagesLayoutValidator]
3486            }
3487        ];
3488        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
3489        return multipleFieldsValidator.validate(input, path, field);
3490    };
3491    return CustomLayoutValidator;
3492}(typeValidator_1.ObjectValidator));
3493exports.CustomLayoutValidator = CustomLayoutValidator;
3494var VisualLayoutValidator = /** @class */ (function (_super) {
3495    __extends(VisualLayoutValidator, _super);
3496    function VisualLayoutValidator() {
3497        return _super !== null && _super.apply(this, arguments) || this;
3498    }
3499    VisualLayoutValidator.prototype.validate = function (input, path, field) {
3500        if (input == null) {
3501            return null;
3502        }
3503        var errors = _super.prototype.validate.call(this, input, path, field);
3504        if (errors) {
3505            return errors;
3506        }
3507        var fields = [
3508            {
3509                field: "x",
3510                validators: [validator_1.Validators.numberValidator]
3511            },
3512            {
3513                field: "y",
3514                validators: [validator_1.Validators.numberValidator]
3515            },
3516            {
3517                field: "z",
3518                validators: [validator_1.Validators.numberValidator]
3519            },
3520            {
3521                field: "width",
3522                validators: [validator_1.Validators.numberValidator]
3523            },
3524            {
3525                field: "height",
3526                validators: [validator_1.Validators.numberValidator]
3527            },
3528            {
3529                field: "displayState",
3530                validators: [validator_1.Validators.displayStateValidator]
3531            }
3532        ];
3533        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
3534        return multipleFieldsValidator.validate(input, path, field);
3535    };
3536    return VisualLayoutValidator;
3537}(typeValidator_1.ObjectValidator));
3538exports.VisualLayoutValidator = VisualLayoutValidator;
3539var DisplayStateValidator = /** @class */ (function (_super) {
3540    __extends(DisplayStateValidator, _super);
3541    function DisplayStateValidator() {
3542        return _super !== null && _super.apply(this, arguments) || this;
3543    }
3544    DisplayStateValidator.prototype.validate = function (input, path, field) {
3545        if (input == null) {
3546            return null;
3547        }
3548        var errors = _super.prototype.validate.call(this, input, path, field);
3549        if (errors) {
3550            return errors;
3551        }
3552        var fields = [
3553            {
3554                field: "mode",
3555                validators: [validator_1.Validators.displayStateModeValidator]
3556            }
3557        ];
3558        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
3559        return multipleFieldsValidator.validate(input, path, field);
3560    };
3561    return DisplayStateValidator;
3562}(typeValidator_1.ObjectValidator));
3563exports.DisplayStateValidator = DisplayStateValidator;
3564var PageLayoutValidator = /** @class */ (function (_super) {
3565    __extends(PageLayoutValidator, _super);
3566    function PageLayoutValidator() {
3567        return _super !== null && _super.apply(this, arguments) || this;
3568    }
3569    PageLayoutValidator.prototype.validate = function (input, path, field) {
3570        if (input == null) {
3571            return null;
3572        }
3573        var errors = _super.prototype.validate.call(this, input, path, field);
3574        if (errors) {
3575            return errors;
3576        }
3577        var fields = [
3578            {
3579                field: "visualsLayout",
3580                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.pageLayoutValidator]
3581            },
3582            {
3583                field: "defaultLayout",
3584                validators: [validator_1.Validators.visualLayoutValidator]
3585            }
3586        ];
3587        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
3588        return multipleFieldsValidator.validate(input, path, field);
3589    };
3590    return PageLayoutValidator;
3591}(typeValidator_1.ObjectValidator));
3592exports.PageLayoutValidator = PageLayoutValidator;
3593
3594
3595/***/ }),
3596/* 14 */
3597/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_160884__) {
3598
3599// Copyright (c) Microsoft Corporation.
3600// Licensed under the MIT License.
3601var __extends = (this && this.__extends) || (function () {
3602    var extendStatics = function (d, b) {
3603        extendStatics = Object.setPrototypeOf ||
3604            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
3605            function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
3606        return extendStatics(d, b);
3607    };
3608    return function (d, b) {
3609        if (typeof b !== "function" && b !== null)
3610            throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
3611        extendStatics(d, b);
3612        function __() { this.constructor = d; }
3613        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
3614    };
3615})();
3616Object.defineProperty(exports, "__esModule", ({ value: true }));
3617exports.PageViewFieldValidator = exports.PageValidator = exports.CustomPageSizeValidator = exports.PageSizeValidator = void 0;
3618var multipleFieldsValidator_1 = __nested_webpack_require_160884__(3);
3619var typeValidator_1 = __nested_webpack_require_160884__(4);
3620var validator_1 = __nested_webpack_require_160884__(1);
3621var PageSizeValidator = /** @class */ (function (_super) {
3622    __extends(PageSizeValidator, _super);
3623    function PageSizeValidator() {
3624        return _super !== null && _super.apply(this, arguments) || this;
3625    }
3626    PageSizeValidator.prototype.validate = function (input, path, field) {
3627        if (input == null) {
3628            return null;
3629        }
3630        var errors = _super.prototype.validate.call(this, input, path, field);
3631        if (errors) {
3632            return errors;
3633        }
3634        var fields = [
3635            {
3636                field: "type",
3637                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.pageSizeTypeValidator]
3638            }
3639        ];
3640        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
3641        return multipleFieldsValidator.validate(input, path, field);
3642    };
3643    return PageSizeValidator;
3644}(typeValidator_1.ObjectValidator));
3645exports.PageSizeValidator = PageSizeValidator;
3646var CustomPageSizeValidator = /** @class */ (function (_super) {
3647    __extends(CustomPageSizeValidator, _super);
3648    function CustomPageSizeValidator() {
3649        return _super !== null && _super.apply(this, arguments) || this;
3650    }
3651    CustomPageSizeValidator.prototype.validate = function (input, path, field) {
3652        if (input == null) {
3653            return null;
3654        }
3655        var errors = _super.prototype.validate.call(this, input, path, field);
3656        if (errors) {
3657            return errors;
3658        }
3659        var fields = [
3660            {
3661                field: "width",
3662                validators: [validator_1.Validators.numberValidator]
3663            },
3664            {
3665                field: "height",
3666                validators: [validator_1.Validators.numberValidator]
3667            }
3668        ];
3669        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
3670        return multipleFieldsValidator.validate(input, path, field);
3671    };
3672    return CustomPageSizeValidator;
3673}(PageSizeValidator));
3674exports.CustomPageSizeValidator = CustomPageSizeValidator;
3675var PageValidator = /** @class */ (function (_super) {
3676    __extends(PageValidator, _super);
3677    function PageValidator() {
3678        return _super !== null && _super.apply(this, arguments) || this;
3679    }
3680    PageValidator.prototype.validate = function (input, path, field) {
3681        if (input == null) {
3682            return null;
3683        }
3684        var errors = _super.prototype.validate.call(this, input, path, field);
3685        if (errors) {
3686            return errors;
3687        }
3688        var fields = [
3689            {
3690                field: "name",
3691                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator]
3692            }
3693        ];
3694        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
3695        return multipleFieldsValidator.validate(input, path, field);
3696    };
3697    return PageValidator;
3698}(typeValidator_1.ObjectValidator));
3699exports.PageValidator = PageValidator;
3700var PageViewFieldValidator = /** @class */ (function (_super) {
3701    __extends(PageViewFieldValidator, _super);
3702    function PageViewFieldValidator() {
3703        return _super !== null && _super.apply(this, arguments) || this;
3704    }
3705    PageViewFieldValidator.prototype.validate = function (input, path, field) {
3706        if (input == null) {
3707            return null;
3708        }
3709        var errors = _super.prototype.validate.call(this, input, path, field);
3710        if (errors) {
3711            return errors;
3712        }
3713        var possibleValues = ["actualSize", "fitToWidth", "oneColumn"];
3714        if (possibleValues.indexOf(input) < 0) {
3715            return [{
3716                    message: "pageView must be a string with one of the following values: \"actualSize\", \"fitToWidth\", \"oneColumn\""
3717                }];
3718        }
3719        return null;
3720    };
3721    return PageViewFieldValidator;
3722}(typeValidator_1.StringValidator));
3723exports.PageViewFieldValidator = PageViewFieldValidator;
3724
3725
3726/***/ }),
3727/* 15 */
3728/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_166324__) {
3729
3730// Copyright (c) Microsoft Corporation.
3731// Licensed under the MIT License.
3732var __extends = (this && this.__extends) || (function () {
3733    var extendStatics = function (d, b) {
3734        extendStatics = Object.setPrototypeOf ||
3735            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
3736            function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
3737        return extendStatics(d, b);
3738    };
3739    return function (d, b) {
3740        if (typeof b !== "function" && b !== null)
3741            throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
3742        extendStatics(d, b);
3743        function __() { this.constructor = d; }
3744        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
3745    };
3746})();
3747Object.defineProperty(exports, "__esModule", ({ value: true }));
3748exports.VisualizationsPaneValidator = exports.SyncSlicersPaneValidator = exports.SelectionPaneValidator = exports.PageNavigationPaneValidator = exports.FiltersPaneValidator = exports.FieldsPaneValidator = exports.BookmarksPaneValidator = exports.QnaPanesValidator = exports.ReportPanesValidator = void 0;
3749var multipleFieldsValidator_1 = __nested_webpack_require_166324__(3);
3750var typeValidator_1 = __nested_webpack_require_166324__(4);
3751var validator_1 = __nested_webpack_require_166324__(1);
3752var ReportPanesValidator = /** @class */ (function (_super) {
3753    __extends(ReportPanesValidator, _super);
3754    function ReportPanesValidator() {
3755        return _super !== null && _super.apply(this, arguments) || this;
3756    }
3757    ReportPanesValidator.prototype.validate = function (input, path, field) {
3758        if (input == null) {
3759            return null;
3760        }
3761        var errors = _super.prototype.validate.call(this, input, path, field);
3762        if (errors) {
3763            return errors;
3764        }
3765        var fields = [
3766            {
3767                field: "bookmarks",
3768                validators: [validator_1.Validators.bookmarksPaneValidator]
3769            },
3770            {
3771                field: "fields",
3772                validators: [validator_1.Validators.fieldsPaneValidator]
3773            },
3774            {
3775                field: "filters",
3776                validators: [validator_1.Validators.filtersPaneValidator]
3777            },
3778            {
3779                field: "pageNavigation",
3780                validators: [validator_1.Validators.pageNavigationPaneValidator]
3781            },
3782            {
3783                field: "selection",
3784                validators: [validator_1.Validators.selectionPaneValidator]
3785            },
3786            {
3787                field: "syncSlicers",
3788                validators: [validator_1.Validators.syncSlicersPaneValidator]
3789            },
3790            {
3791                field: "visualizations",
3792                validators: [validator_1.Validators.visualizationsPaneValidator]
3793            }
3794        ];
3795        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
3796        return multipleFieldsValidator.validate(input, path, field);
3797    };
3798    return ReportPanesValidator;
3799}(typeValidator_1.ObjectValidator));
3800exports.ReportPanesValidator = ReportPanesValidator;
3801var QnaPanesValidator = /** @class */ (function (_super) {
3802    __extends(QnaPanesValidator, _super);
3803    function QnaPanesValidator() {
3804        return _super !== null && _super.apply(this, arguments) || this;
3805    }
3806    QnaPanesValidator.prototype.validate = function (input, path, field) {
3807        if (input == null) {
3808            return null;
3809        }
3810        var errors = _super.prototype.validate.call(this, input, path, field);
3811        if (errors) {
3812            return errors;
3813        }
3814        var fields = [
3815            {
3816                field: "filters",
3817                validators: [validator_1.Validators.filtersPaneValidator]
3818            }
3819        ];
3820        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
3821        return multipleFieldsValidator.validate(input, path, field);
3822    };
3823    return QnaPanesValidator;
3824}(typeValidator_1.ObjectValidator));
3825exports.QnaPanesValidator = QnaPanesValidator;
3826var BookmarksPaneValidator = /** @class */ (function (_super) {
3827    __extends(BookmarksPaneValidator, _super);
3828    function BookmarksPaneValidator() {
3829        return _super !== null && _super.apply(this, arguments) || this;
3830    }
3831    BookmarksPaneValidator.prototype.validate = function (input, path, field) {
3832        if (input == null) {
3833            return null;
3834        }
3835        var errors = _super.prototype.validate.call(this, input, path, field);
3836        if (errors) {
3837            return errors;
3838        }
3839        var fields = [
3840            {
3841                field: "visible",
3842                validators: [validator_1.Validators.booleanValidator]
3843            },
3844        ];
3845        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
3846        return multipleFieldsValidator.validate(input, path, field);
3847    };
3848    return BookmarksPaneValidator;
3849}(typeValidator_1.ObjectValidator));
3850exports.BookmarksPaneValidator = BookmarksPaneValidator;
3851var FieldsPaneValidator = /** @class */ (function (_super) {
3852    __extends(FieldsPaneValidator, _super);
3853    function FieldsPaneValidator() {
3854        return _super !== null && _super.apply(this, arguments) || this;
3855    }
3856    FieldsPaneValidator.prototype.validate = function (input, path, field) {
3857        if (input == null) {
3858            return null;
3859        }
3860        var errors = _super.prototype.validate.call(this, input, path, field);
3861        if (errors) {
3862            return errors;
3863        }
3864        var fields = [
3865            {
3866                field: "expanded",
3867                validators: [validator_1.Validators.booleanValidator]
3868            },
3869        ];
3870        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
3871        return multipleFieldsValidator.validate(input, path, field);
3872    };
3873    return FieldsPaneValidator;
3874}(typeValidator_1.ObjectValidator));
3875exports.FieldsPaneValidator = FieldsPaneValidator;
3876var FiltersPaneValidator = /** @class */ (function (_super) {
3877    __extends(FiltersPaneValidator, _super);
3878    function FiltersPaneValidator() {
3879        return _super !== null && _super.apply(this, arguments) || this;
3880    }
3881    FiltersPaneValidator.prototype.validate = function (input, path, field) {
3882        if (input == null) {
3883            return null;
3884        }
3885        var errors = _super.prototype.validate.call(this, input, path, field);
3886        if (errors) {
3887            return errors;
3888        }
3889        var fields = [
3890            {
3891                field: "visible",
3892                validators: [validator_1.Validators.booleanValidator]
3893            },
3894            {
3895                field: "expanded",
3896                validators: [validator_1.Validators.booleanValidator]
3897            },
3898        ];
3899        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
3900        return multipleFieldsValidator.validate(input, path, field);
3901    };
3902    return FiltersPaneValidator;
3903}(typeValidator_1.ObjectValidator));
3904exports.FiltersPaneValidator = FiltersPaneValidator;
3905var PageNavigationPaneValidator = /** @class */ (function (_super) {
3906    __extends(PageNavigationPaneValidator, _super);
3907    function PageNavigationPaneValidator() {
3908        return _super !== null && _super.apply(this, arguments) || this;
3909    }
3910    PageNavigationPaneValidator.prototype.validate = function (input, path, field) {
3911        if (input == null) {
3912            return null;
3913        }
3914        var errors = _super.prototype.validate.call(this, input, path, field);
3915        if (errors) {
3916            return errors;
3917        }
3918        var fields = [
3919            {
3920                field: "visible",
3921                validators: [validator_1.Validators.booleanValidator]
3922            },
3923            {
3924                field: "position",
3925                validators: [validator_1.Validators.pageNavigationPositionValidator]
3926            },
3927        ];
3928        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
3929        return multipleFieldsValidator.validate(input, path, field);
3930    };
3931    return PageNavigationPaneValidator;
3932}(typeValidator_1.ObjectValidator));
3933exports.PageNavigationPaneValidator = PageNavigationPaneValidator;
3934var SelectionPaneValidator = /** @class */ (function (_super) {
3935    __extends(SelectionPaneValidator, _super);
3936    function SelectionPaneValidator() {
3937        return _super !== null && _super.apply(this, arguments) || this;
3938    }
3939    SelectionPaneValidator.prototype.validate = function (input, path, field) {
3940        if (input == null) {
3941            return null;
3942        }
3943        var errors = _super.prototype.validate.call(this, input, path, field);
3944        if (errors) {
3945            return errors;
3946        }
3947        var fields = [
3948            {
3949                field: "visible",
3950                validators: [validator_1.Validators.booleanValidator]
3951            },
3952        ];
3953        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
3954        return multipleFieldsValidator.validate(input, path, field);
3955    };
3956    return SelectionPaneValidator;
3957}(typeValidator_1.ObjectValidator));
3958exports.SelectionPaneValidator = SelectionPaneValidator;
3959var SyncSlicersPaneValidator = /** @class */ (function (_super) {
3960    __extends(SyncSlicersPaneValidator, _super);
3961    function SyncSlicersPaneValidator() {
3962        return _super !== null && _super.apply(this, arguments) || this;
3963    }
3964    SyncSlicersPaneValidator.prototype.validate = function (input, path, field) {
3965        if (input == null) {
3966            return null;
3967        }
3968        var errors = _super.prototype.validate.call(this, input, path, field);
3969        if (errors) {
3970            return errors;
3971        }
3972        var fields = [
3973            {
3974                field: "visible",
3975                validators: [validator_1.Validators.booleanValidator]
3976            },
3977        ];
3978        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
3979        return multipleFieldsValidator.validate(input, path, field);
3980    };
3981    return SyncSlicersPaneValidator;
3982}(typeValidator_1.ObjectValidator));
3983exports.SyncSlicersPaneValidator = SyncSlicersPaneValidator;
3984var VisualizationsPaneValidator = /** @class */ (function (_super) {
3985    __extends(VisualizationsPaneValidator, _super);
3986    function VisualizationsPaneValidator() {
3987        return _super !== null && _super.apply(this, arguments) || this;
3988    }
3989    VisualizationsPaneValidator.prototype.validate = function (input, path, field) {
3990        if (input == null) {
3991            return null;
3992        }
3993        var errors = _super.prototype.validate.call(this, input, path, field);
3994        if (errors) {
3995            return errors;
3996        }
3997        var fields = [
3998            {
3999                field: "expanded",
4000                validators: [validator_1.Validators.booleanValidator]
4001            },
4002        ];
4003        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
4004        return multipleFieldsValidator.validate(input, path, field);
4005    };
4006    return VisualizationsPaneValidator;
4007}(typeValidator_1.ObjectValidator));
4008exports.VisualizationsPaneValidator = VisualizationsPaneValidator;
4009
4010
4011/***/ }),
4012/* 16 */
4013/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_178070__) {
4014
4015// Copyright (c) Microsoft Corporation.
4016// Licensed under the MIT License.
4017var __extends = (this && this.__extends) || (function () {
4018    var extendStatics = function (d, b) {
4019        extendStatics = Object.setPrototypeOf ||
4020            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
4021            function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
4022        return extendStatics(d, b);
4023    };
4024    return function (d, b) {
4025        if (typeof b !== "function" && b !== null)
4026            throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
4027        extendStatics(d, b);
4028        function __() { this.constructor = d; }
4029        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
4030    };
4031})();
4032Object.defineProperty(exports, "__esModule", ({ value: true }));
4033exports.QnaInterpretInputDataValidator = exports.QnaSettingsValidator = exports.LoadQnaValidator = void 0;
4034var multipleFieldsValidator_1 = __nested_webpack_require_178070__(3);
4035var typeValidator_1 = __nested_webpack_require_178070__(4);
4036var validator_1 = __nested_webpack_require_178070__(1);
4037var LoadQnaValidator = /** @class */ (function (_super) {
4038    __extends(LoadQnaValidator, _super);
4039    function LoadQnaValidator() {
4040        return _super !== null && _super.apply(this, arguments) || this;
4041    }
4042    LoadQnaValidator.prototype.validate = function (input, path, field) {
4043        if (input == null) {
4044            return null;
4045        }
4046        var errors = _super.prototype.validate.call(this, input, path, field);
4047        if (errors) {
4048            return errors;
4049        }
4050        var fields = [
4051            {
4052                field: "accessToken",
4053                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator]
4054            },
4055            {
4056                field: "datasetIds",
4057                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringArrayValidator]
4058            },
4059            {
4060                field: "question",
4061                validators: [validator_1.Validators.stringValidator]
4062            },
4063            {
4064                field: "viewMode",
4065                validators: [validator_1.Validators.viewModeValidator]
4066            },
4067            {
4068                field: "settings",
4069                validators: [validator_1.Validators.qnaSettingValidator]
4070            },
4071            {
4072                field: "tokenType",
4073                validators: [validator_1.Validators.tokenTypeValidator]
4074            },
4075            {
4076                field: "groupId",
4077                validators: [validator_1.Validators.stringValidator]
4078            }
4079        ];
4080        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
4081        return multipleFieldsValidator.validate(input, path, field);
4082    };
4083    return LoadQnaValidator;
4084}(typeValidator_1.ObjectValidator));
4085exports.LoadQnaValidator = LoadQnaValidator;
4086var QnaSettingsValidator = /** @class */ (function (_super) {
4087    __extends(QnaSettingsValidator, _super);
4088    function QnaSettingsValidator() {
4089        return _super !== null && _super.apply(this, arguments) || this;
4090    }
4091    QnaSettingsValidator.prototype.validate = function (input, path, field) {
4092        if (input == null) {
4093            return null;
4094        }
4095        var errors = _super.prototype.validate.call(this, input, path, field);
4096        if (errors) {
4097            return errors;
4098        }
4099        var fields = [
4100            {
4101                field: "filterPaneEnabled",
4102                validators: [validator_1.Validators.booleanValidator]
4103            },
4104            {
4105                field: "hideErrors",
4106                validators: [validator_1.Validators.booleanValidator]
4107            },
4108            {
4109                field: "panes",
4110                validators: [validator_1.Validators.qnaPanesValidator]
4111            }
4112        ];
4113        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
4114        return multipleFieldsValidator.validate(input, path, field);
4115    };
4116    return QnaSettingsValidator;
4117}(typeValidator_1.ObjectValidator));
4118exports.QnaSettingsValidator = QnaSettingsValidator;
4119var QnaInterpretInputDataValidator = /** @class */ (function (_super) {
4120    __extends(QnaInterpretInputDataValidator, _super);
4121    function QnaInterpretInputDataValidator() {
4122        return _super !== null && _super.apply(this, arguments) || this;
4123    }
4124    QnaInterpretInputDataValidator.prototype.validate = function (input, path, field) {
4125        if (input == null) {
4126            return null;
4127        }
4128        var errors = _super.prototype.validate.call(this, input, path, field);
4129        if (errors) {
4130            return errors;
4131        }
4132        var fields = [
4133            {
4134                field: "datasetIds",
4135                validators: [validator_1.Validators.stringArrayValidator]
4136            },
4137            {
4138                field: "question",
4139                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator]
4140            },
4141        ];
4142        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
4143        return multipleFieldsValidator.validate(input, path, field);
4144    };
4145    return QnaInterpretInputDataValidator;
4146}(typeValidator_1.ObjectValidator));
4147exports.QnaInterpretInputDataValidator = QnaInterpretInputDataValidator;
4148
4149
4150/***/ }),
4151/* 17 */
4152/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_183781__) {
4153
4154// Copyright (c) Microsoft Corporation.
4155// Licensed under the MIT License.
4156var __extends = (this && this.__extends) || (function () {
4157    var extendStatics = function (d, b) {
4158        extendStatics = Object.setPrototypeOf ||
4159            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
4160            function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
4161        return extendStatics(d, b);
4162    };
4163    return function (d, b) {
4164        if (typeof b !== "function" && b !== null)
4165            throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
4166        extendStatics(d, b);
4167        function __() { this.constructor = d; }
4168        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
4169    };
4170})();
4171Object.defineProperty(exports, "__esModule", ({ value: true }));
4172exports.ReportCreateValidator = void 0;
4173var multipleFieldsValidator_1 = __nested_webpack_require_183781__(3);
4174var typeValidator_1 = __nested_webpack_require_183781__(4);
4175var validator_1 = __nested_webpack_require_183781__(1);
4176var ReportCreateValidator = /** @class */ (function (_super) {
4177    __extends(ReportCreateValidator, _super);
4178    function ReportCreateValidator() {
4179        return _super !== null && _super.apply(this, arguments) || this;
4180    }
4181    ReportCreateValidator.prototype.validate = function (input, path, field) {
4182        if (input == null) {
4183            return null;
4184        }
4185        var errors = _super.prototype.validate.call(this, input, path, field);
4186        if (errors) {
4187            return errors;
4188        }
4189        var fields = [
4190            {
4191                field: "accessToken",
4192                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator]
4193            },
4194            {
4195                field: "datasetId",
4196                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator]
4197            },
4198            {
4199                field: "groupId",
4200                validators: [validator_1.Validators.stringValidator]
4201            },
4202            {
4203                field: "tokenType",
4204                validators: [validator_1.Validators.tokenTypeValidator]
4205            },
4206            {
4207                field: "theme",
4208                validators: [validator_1.Validators.customThemeValidator]
4209            },
4210        ];
4211        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
4212        return multipleFieldsValidator.validate(input, path, field);
4213    };
4214    return ReportCreateValidator;
4215}(typeValidator_1.ObjectValidator));
4216exports.ReportCreateValidator = ReportCreateValidator;
4217
4218
4219/***/ }),
4220/* 18 */
4221/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_186639__) {
4222
4223// Copyright (c) Microsoft Corporation.
4224// Licensed under the MIT License.
4225var __extends = (this && this.__extends) || (function () {
4226    var extendStatics = function (d, b) {
4227        extendStatics = Object.setPrototypeOf ||
4228            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
4229            function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
4230        return extendStatics(d, b);
4231    };
4232    return function (d, b) {
4233        if (typeof b !== "function" && b !== null)
4234            throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
4235        extendStatics(d, b);
4236        function __() { this.constructor = d; }
4237        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
4238    };
4239})();
4240Object.defineProperty(exports, "__esModule", ({ value: true }));
4241exports.ReportLoadValidator = void 0;
4242var multipleFieldsValidator_1 = __nested_webpack_require_186639__(3);
4243var typeValidator_1 = __nested_webpack_require_186639__(4);
4244var validator_1 = __nested_webpack_require_186639__(1);
4245var ReportLoadValidator = /** @class */ (function (_super) {
4246    __extends(ReportLoadValidator, _super);
4247    function ReportLoadValidator() {
4248        return _super !== null && _super.apply(this, arguments) || this;
4249    }
4250    ReportLoadValidator.prototype.validate = function (input, path, field) {
4251        if (input == null) {
4252            return null;
4253        }
4254        var errors = _super.prototype.validate.call(this, input, path, field);
4255        if (errors) {
4256            return errors;
4257        }
4258        var fields = [
4259            {
4260                field: "accessToken",
4261                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator]
4262            },
4263            {
4264                field: "id",
4265                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator]
4266            },
4267            {
4268                field: "groupId",
4269                validators: [validator_1.Validators.stringValidator]
4270            },
4271            {
4272                field: "settings",
4273                validators: [validator_1.Validators.settingsValidator]
4274            },
4275            {
4276                field: "pageName",
4277                validators: [validator_1.Validators.stringValidator]
4278            },
4279            {
4280                field: "filters",
4281                validators: [validator_1.Validators.reportLoadFiltersValidator]
4282            },
4283            {
4284                field: "permissions",
4285                validators: [validator_1.Validators.permissionsValidator]
4286            },
4287            {
4288                field: "viewMode",
4289                validators: [validator_1.Validators.viewModeValidator]
4290            },
4291            {
4292                field: "tokenType",
4293                validators: [validator_1.Validators.tokenTypeValidator]
4294            },
4295            {
4296                field: "bookmark",
4297                validators: [validator_1.Validators.applyBookmarkValidator]
4298            },
4299            {
4300                field: "theme",
4301                validators: [validator_1.Validators.customThemeValidator]
4302            },
4303            {
4304                field: "embedUrl",
4305                validators: [validator_1.Validators.stringValidator]
4306            },
4307            {
4308                field: "datasetBinding",
4309                validators: [validator_1.Validators.datasetBindingValidator]
4310            },
4311            {
4312                field: "contrastMode",
4313                validators: [validator_1.Validators.contrastModeValidator]
4314            },
4315        ];
4316        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
4317        return multipleFieldsValidator.validate(input, path, field);
4318    };
4319    return ReportLoadValidator;
4320}(typeValidator_1.ObjectValidator));
4321exports.ReportLoadValidator = ReportLoadValidator;
4322
4323
4324/***/ }),
4325/* 19 */
4326/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_190760__) {
4327
4328// Copyright (c) Microsoft Corporation.
4329// Licensed under the MIT License.
4330var __extends = (this && this.__extends) || (function () {
4331    var extendStatics = function (d, b) {
4332        extendStatics = Object.setPrototypeOf ||
4333            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
4334            function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
4335        return extendStatics(d, b);
4336    };
4337    return function (d, b) {
4338        if (typeof b !== "function" && b !== null)
4339            throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
4340        extendStatics(d, b);
4341        function __() { this.constructor = d; }
4342        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
4343    };
4344})();
4345Object.defineProperty(exports, "__esModule", ({ value: true }));
4346exports.ReportParameterFieldsValidator = exports.PaginatedReportLoadValidator = void 0;
4347var multipleFieldsValidator_1 = __nested_webpack_require_190760__(3);
4348var typeValidator_1 = __nested_webpack_require_190760__(4);
4349var validator_1 = __nested_webpack_require_190760__(1);
4350var PaginatedReportLoadValidator = /** @class */ (function (_super) {
4351    __extends(PaginatedReportLoadValidator, _super);
4352    function PaginatedReportLoadValidator() {
4353        return _super !== null && _super.apply(this, arguments) || this;
4354    }
4355    PaginatedReportLoadValidator.prototype.validate = function (input, path, field) {
4356        if (input == null) {
4357            return null;
4358        }
4359        var errors = _super.prototype.validate.call(this, input, path, field);
4360        if (errors) {
4361            return errors;
4362        }
4363        var fields = [
4364            {
4365                field: "accessToken",
4366                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator]
4367            },
4368            {
4369                field: "id",
4370                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator]
4371            },
4372            {
4373                field: "groupId",
4374                validators: [validator_1.Validators.stringValidator]
4375            },
4376            {
4377                field: "settings",
4378                validators: [validator_1.Validators.paginatedReportsettingsValidator]
4379            },
4380            {
4381                field: "tokenType",
4382                validators: [validator_1.Validators.tokenTypeValidator]
4383            },
4384            {
4385                field: "embedUrl",
4386                validators: [validator_1.Validators.stringValidator]
4387            },
4388            {
4389                field: "type",
4390                validators: [validator_1.Validators.stringValidator]
4391            },
4392            {
4393                field: "parameterValues",
4394                validators: [validator_1.Validators.parameterValuesArrayValidator]
4395            },
4396            {
4397                field: "datasetBindings",
4398                validators: [validator_1.Validators.paginatedReportDatasetBindingArrayValidator]
4399            }
4400        ];
4401        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
4402        return multipleFieldsValidator.validate(input, path, field);
4403    };
4404    return PaginatedReportLoadValidator;
4405}(typeValidator_1.ObjectValidator));
4406exports.PaginatedReportLoadValidator = PaginatedReportLoadValidator;
4407var ReportParameterFieldsValidator = /** @class */ (function () {
4408    function ReportParameterFieldsValidator() {
4409    }
4410    ReportParameterFieldsValidator.prototype.validate = function (input, path, field) {
4411        if (input == null) {
4412            return null;
4413        }
4414        var fields = [
4415            {
4416                field: "name",
4417                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator]
4418            },
4419            {
4420                field: "value",
4421                validators: [validator_1.Validators.stringValidator]
4422            },
4423        ];
4424        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
4425        return multipleFieldsValidator.validate(input, path, field);
4426    };
4427    return ReportParameterFieldsValidator;
4428}());
4429exports.ReportParameterFieldsValidator = ReportParameterFieldsValidator;
4430
4431
4432/***/ }),
4433/* 20 */
4434/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_195256__) {
4435
4436// Copyright (c) Microsoft Corporation.
4437// Licensed under the MIT License.
4438var __extends = (this && this.__extends) || (function () {
4439    var extendStatics = function (d, b) {
4440        extendStatics = Object.setPrototypeOf ||
4441            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
4442            function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
4443        return extendStatics(d, b);
4444    };
4445    return function (d, b) {
4446        if (typeof b !== "function" && b !== null)
4447            throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
4448        extendStatics(d, b);
4449        function __() { this.constructor = d; }
4450        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
4451    };
4452})();
4453Object.defineProperty(exports, "__esModule", ({ value: true }));
4454exports.SaveAsParametersValidator = void 0;
4455var multipleFieldsValidator_1 = __nested_webpack_require_195256__(3);
4456var typeValidator_1 = __nested_webpack_require_195256__(4);
4457var validator_1 = __nested_webpack_require_195256__(1);
4458var SaveAsParametersValidator = /** @class */ (function (_super) {
4459    __extends(SaveAsParametersValidator, _super);
4460    function SaveAsParametersValidator() {
4461        return _super !== null && _super.apply(this, arguments) || this;
4462    }
4463    SaveAsParametersValidator.prototype.validate = function (input, path, field) {
4464        if (input == null) {
4465            return null;
4466        }
4467        var errors = _super.prototype.validate.call(this, input, path, field);
4468        if (errors) {
4469            return errors;
4470        }
4471        var fields = [
4472            {
4473                field: "name",
4474                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator]
4475            }
4476        ];
4477        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
4478        return multipleFieldsValidator.validate(input, path, field);
4479    };
4480    return SaveAsParametersValidator;
4481}(typeValidator_1.ObjectValidator));
4482exports.SaveAsParametersValidator = SaveAsParametersValidator;
4483
4484
4485/***/ }),
4486/* 21 */
4487/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_197537__) {
4488
4489// Copyright (c) Microsoft Corporation.
4490// Licensed under the MIT License.
4491var __extends = (this && this.__extends) || (function () {
4492    var extendStatics = function (d, b) {
4493        extendStatics = Object.setPrototypeOf ||
4494            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
4495            function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
4496        return extendStatics(d, b);
4497    };
4498    return function (d, b) {
4499        if (typeof b !== "function" && b !== null)
4500            throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
4501        extendStatics(d, b);
4502        function __() { this.constructor = d; }
4503        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
4504    };
4505})();
4506Object.defineProperty(exports, "__esModule", ({ value: true }));
4507exports.SlicerTargetSelectorValidator = exports.VisualTypeSelectorValidator = exports.VisualSelectorValidator = void 0;
4508var multipleFieldsValidator_1 = __nested_webpack_require_197537__(3);
4509var typeValidator_1 = __nested_webpack_require_197537__(4);
4510var typeValidator_2 = __nested_webpack_require_197537__(4);
4511var validator_1 = __nested_webpack_require_197537__(1);
4512var VisualSelectorValidator = /** @class */ (function (_super) {
4513    __extends(VisualSelectorValidator, _super);
4514    function VisualSelectorValidator() {
4515        return _super !== null && _super.apply(this, arguments) || this;
4516    }
4517    VisualSelectorValidator.prototype.validate = function (input, path, field) {
4518        if (input == null) {
4519            return null;
4520        }
4521        var errors = _super.prototype.validate.call(this, input, path, field);
4522        if (errors) {
4523            return errors;
4524        }
4525        var fields = [
4526            {
4527                // Not required for this selector only - Backward compatibility
4528                field: "$schema",
4529                validators: [validator_1.Validators.stringValidator, new typeValidator_2.SchemaValidator("http://powerbi.com/product/schema#visualSelector")]
4530            },
4531            {
4532                field: "visualName",
4533                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator]
4534            }
4535        ];
4536        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
4537        return multipleFieldsValidator.validate(input, path, field);
4538    };
4539    return VisualSelectorValidator;
4540}(typeValidator_1.ObjectValidator));
4541exports.VisualSelectorValidator = VisualSelectorValidator;
4542var VisualTypeSelectorValidator = /** @class */ (function (_super) {
4543    __extends(VisualTypeSelectorValidator, _super);
4544    function VisualTypeSelectorValidator() {
4545        return _super !== null && _super.apply(this, arguments) || this;
4546    }
4547    VisualTypeSelectorValidator.prototype.validate = function (input, path, field) {
4548        if (input == null) {
4549            return null;
4550        }
4551        var errors = _super.prototype.validate.call(this, input, path, field);
4552        if (errors) {
4553            return errors;
4554        }
4555        var fields = [
4556            {
4557                field: "$schema",
4558                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator, new typeValidator_2.SchemaValidator("http://powerbi.com/product/schema#visualTypeSelector")]
4559            },
4560            {
4561                field: "visualType",
4562                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator]
4563            }
4564        ];
4565        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
4566        return multipleFieldsValidator.validate(input, path, field);
4567    };
4568    return VisualTypeSelectorValidator;
4569}(typeValidator_1.ObjectValidator));
4570exports.VisualTypeSelectorValidator = VisualTypeSelectorValidator;
4571var SlicerTargetSelectorValidator = /** @class */ (function (_super) {
4572    __extends(SlicerTargetSelectorValidator, _super);
4573    function SlicerTargetSelectorValidator() {
4574        return _super !== null && _super.apply(this, arguments) || this;
4575    }
4576    SlicerTargetSelectorValidator.prototype.validate = function (input, path, field) {
4577        if (input == null) {
4578            return null;
4579        }
4580        var errors = _super.prototype.validate.call(this, input, path, field);
4581        if (errors) {
4582            return errors;
4583        }
4584        var fields = [
4585            {
4586                field: "$schema",
4587                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator, new typeValidator_2.SchemaValidator("http://powerbi.com/product/schema#slicerTargetSelector")]
4588            },
4589            {
4590                field: "target",
4591                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.slicerTargetValidator]
4592            }
4593        ];
4594        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
4595        return multipleFieldsValidator.validate(input, path, field);
4596    };
4597    return SlicerTargetSelectorValidator;
4598}(typeValidator_1.ObjectValidator));
4599exports.SlicerTargetSelectorValidator = SlicerTargetSelectorValidator;
4600
4601
4602/***/ }),
4603/* 22 */
4604/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_202995__) {
4605
4606// Copyright (c) Microsoft Corporation.
4607// Licensed under the MIT License.
4608var __extends = (this && this.__extends) || (function () {
4609    var extendStatics = function (d, b) {
4610        extendStatics = Object.setPrototypeOf ||
4611            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
4612            function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
4613        return extendStatics(d, b);
4614    };
4615    return function (d, b) {
4616        if (typeof b !== "function" && b !== null)
4617            throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
4618        extendStatics(d, b);
4619        function __() { this.constructor = d; }
4620        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
4621    };
4622})();
4623Object.defineProperty(exports, "__esModule", ({ value: true }));
4624exports.PaginatedReportSettingsValidator = exports.SettingsValidator = void 0;
4625var multipleFieldsValidator_1 = __nested_webpack_require_202995__(3);
4626var typeValidator_1 = __nested_webpack_require_202995__(4);
4627var validator_1 = __nested_webpack_require_202995__(1);
4628var SettingsValidator = /** @class */ (function (_super) {
4629    __extends(SettingsValidator, _super);
4630    function SettingsValidator() {
4631        return _super !== null && _super.apply(this, arguments) || this;
4632    }
4633    SettingsValidator.prototype.validate = function (input, path, field) {
4634        if (input == null) {
4635            return null;
4636        }
4637        var errors = _super.prototype.validate.call(this, input, path, field);
4638        if (errors) {
4639            return errors;
4640        }
4641        var fields = [
4642            {
4643                field: "filterPaneEnabled",
4644                validators: [validator_1.Validators.booleanValidator]
4645            },
4646            {
4647                field: "navContentPaneEnabled",
4648                validators: [validator_1.Validators.booleanValidator]
4649            },
4650            {
4651                field: "bookmarksPaneEnabled",
4652                validators: [validator_1.Validators.booleanValidator]
4653            },
4654            {
4655                field: "useCustomSaveAsDialog",
4656                validators: [validator_1.Validators.booleanValidator]
4657            },
4658            {
4659                field: "extensions",
4660                validators: [validator_1.Validators.extensionsValidator]
4661            },
4662            {
4663                field: "layoutType",
4664                validators: [validator_1.Validators.layoutTypeValidator]
4665            },
4666            {
4667                field: "customLayout",
4668                validators: [validator_1.Validators.customLayoutValidator]
4669            },
4670            {
4671                field: "background",
4672                validators: [validator_1.Validators.backgroundValidator]
4673            },
4674            {
4675                field: "visualSettings",
4676                validators: [validator_1.Validators.visualSettingsValidator]
4677            },
4678            {
4679                field: "hideErrors",
4680                validators: [validator_1.Validators.booleanValidator]
4681            },
4682            {
4683                field: "commands",
4684                validators: [validator_1.Validators.commandsSettingsArrayValidator]
4685            },
4686            {
4687                field: "hyperlinkClickBehavior",
4688                validators: [validator_1.Validators.hyperlinkClickBehaviorValidator]
4689            },
4690            {
4691                field: "bars",
4692                validators: [validator_1.Validators.reportBarsValidator]
4693            },
4694            {
4695                field: "panes",
4696                validators: [validator_1.Validators.reportPanesValidator]
4697            },
4698            {
4699                field: "personalBookmarksEnabled",
4700                validators: [validator_1.Validators.booleanValidator]
4701            },
4702            {
4703                field: "persistentFiltersEnabled",
4704                validators: [validator_1.Validators.booleanValidator]
4705            },
4706            {
4707                field: "visualRenderedEvents",
4708                validators: [validator_1.Validators.booleanValidator]
4709            },
4710            {
4711                field: "authoringHintsEnabled",
4712                validators: [validator_1.Validators.booleanValidator]
4713            },
4714            {
4715                field: "printSettings",
4716                validators: [validator_1.Validators.printSettingsValidator]
4717            }
4718        ];
4719        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
4720        return multipleFieldsValidator.validate(input, path, field);
4721    };
4722    return SettingsValidator;
4723}(typeValidator_1.ObjectValidator));
4724exports.SettingsValidator = SettingsValidator;
4725var PaginatedReportSettingsValidator = /** @class */ (function (_super) {
4726    __extends(PaginatedReportSettingsValidator, _super);
4727    function PaginatedReportSettingsValidator() {
4728        return _super !== null && _super.apply(this, arguments) || this;
4729    }
4730    PaginatedReportSettingsValidator.prototype.validate = function (input, path, field) {
4731        if (input == null) {
4732            return null;
4733        }
4734        var errors = _super.prototype.validate.call(this, input, path, field);
4735        if (errors) {
4736            return errors;
4737        }
4738        var fields = [
4739            {
4740                field: "commands",
4741                validators: [validator_1.Validators.paginatedReportCommandsValidator]
4742            },
4743        ];
4744        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
4745        return multipleFieldsValidator.validate(input, path, field);
4746    };
4747    return PaginatedReportSettingsValidator;
4748}(typeValidator_1.ObjectValidator));
4749exports.PaginatedReportSettingsValidator = PaginatedReportSettingsValidator;
4750
4751
4752/***/ }),
4753/* 23 */
4754/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_208991__) {
4755
4756// Copyright (c) Microsoft Corporation.
4757// Licensed under the MIT License.
4758var __extends = (this && this.__extends) || (function () {
4759    var extendStatics = function (d, b) {
4760        extendStatics = Object.setPrototypeOf ||
4761            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
4762            function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
4763        return extendStatics(d, b);
4764    };
4765    return function (d, b) {
4766        if (typeof b !== "function" && b !== null)
4767            throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
4768        extendStatics(d, b);
4769        function __() { this.constructor = d; }
4770        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
4771    };
4772})();
4773Object.defineProperty(exports, "__esModule", ({ value: true }));
4774exports.SlicerStateValidator = exports.SlicerValidator = void 0;
4775var multipleFieldsValidator_1 = __nested_webpack_require_208991__(3);
4776var typeValidator_1 = __nested_webpack_require_208991__(4);
4777var validator_1 = __nested_webpack_require_208991__(1);
4778var SlicerValidator = /** @class */ (function (_super) {
4779    __extends(SlicerValidator, _super);
4780    function SlicerValidator() {
4781        return _super !== null && _super.apply(this, arguments) || this;
4782    }
4783    SlicerValidator.prototype.validate = function (input, path, field) {
4784        if (input == null) {
4785            return null;
4786        }
4787        var errors = _super.prototype.validate.call(this, input, path, field);
4788        if (errors) {
4789            return errors;
4790        }
4791        var fields = [
4792            {
4793                field: "selector",
4794                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.slicerSelectorValidator]
4795            },
4796            {
4797                field: "state",
4798                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.slicerStateValidator]
4799            }
4800        ];
4801        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
4802        return multipleFieldsValidator.validate(input, path, field);
4803    };
4804    return SlicerValidator;
4805}(typeValidator_1.ObjectValidator));
4806exports.SlicerValidator = SlicerValidator;
4807var SlicerStateValidator = /** @class */ (function (_super) {
4808    __extends(SlicerStateValidator, _super);
4809    function SlicerStateValidator() {
4810        return _super !== null && _super.apply(this, arguments) || this;
4811    }
4812    SlicerStateValidator.prototype.validate = function (input, path, field) {
4813        if (input == null) {
4814            return null;
4815        }
4816        var errors = _super.prototype.validate.call(this, input, path, field);
4817        if (errors) {
4818            return errors;
4819        }
4820        var fields = [
4821            {
4822                field: "filters",
4823                validators: [validator_1.Validators.filtersArrayValidator]
4824            }
4825        ];
4826        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
4827        return multipleFieldsValidator.validate(input, path, field);
4828    };
4829    return SlicerStateValidator;
4830}(typeValidator_1.ObjectValidator));
4831exports.SlicerStateValidator = SlicerStateValidator;
4832
4833
4834/***/ }),
4835/* 24 */
4836/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_212421__) {
4837
4838// Copyright (c) Microsoft Corporation.
4839// Licensed under the MIT License.
4840var __extends = (this && this.__extends) || (function () {
4841    var extendStatics = function (d, b) {
4842        extendStatics = Object.setPrototypeOf ||
4843            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
4844            function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
4845        return extendStatics(d, b);
4846    };
4847    return function (d, b) {
4848        if (typeof b !== "function" && b !== null)
4849            throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
4850        extendStatics(d, b);
4851        function __() { this.constructor = d; }
4852        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
4853    };
4854})();
4855Object.defineProperty(exports, "__esModule", ({ value: true }));
4856exports.TileLoadValidator = void 0;
4857var multipleFieldsValidator_1 = __nested_webpack_require_212421__(3);
4858var typeValidator_1 = __nested_webpack_require_212421__(4);
4859var validator_1 = __nested_webpack_require_212421__(1);
4860var TileLoadValidator = /** @class */ (function (_super) {
4861    __extends(TileLoadValidator, _super);
4862    function TileLoadValidator() {
4863        return _super !== null && _super.apply(this, arguments) || this;
4864    }
4865    TileLoadValidator.prototype.validate = function (input, path, field) {
4866        if (input == null) {
4867            return null;
4868        }
4869        var errors = _super.prototype.validate.call(this, input, path, field);
4870        if (errors) {
4871            return errors;
4872        }
4873        var fields = [
4874            {
4875                field: "accessToken",
4876                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator]
4877            },
4878            {
4879                field: "id",
4880                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator]
4881            },
4882            {
4883                field: "dashboardId",
4884                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator]
4885            },
4886            {
4887                field: "groupId",
4888                validators: [validator_1.Validators.stringValidator]
4889            },
4890            {
4891                field: "pageView",
4892                validators: [validator_1.Validators.stringValidator]
4893            },
4894            {
4895                field: "tokenType",
4896                validators: [validator_1.Validators.tokenTypeValidator]
4897            },
4898            {
4899                field: "width",
4900                validators: [validator_1.Validators.numberValidator]
4901            },
4902            {
4903                field: "height",
4904                validators: [validator_1.Validators.numberValidator]
4905            }
4906        ];
4907        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
4908        return multipleFieldsValidator.validate(input, path, field);
4909    };
4910    return TileLoadValidator;
4911}(typeValidator_1.ObjectValidator));
4912exports.TileLoadValidator = TileLoadValidator;
4913
4914
4915/***/ }),
4916/* 25 */
4917/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_215693__) {
4918
4919// Copyright (c) Microsoft Corporation.
4920// Licensed under the MIT License.
4921var __extends = (this && this.__extends) || (function () {
4922    var extendStatics = function (d, b) {
4923        extendStatics = Object.setPrototypeOf ||
4924            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
4925            function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
4926        return extendStatics(d, b);
4927    };
4928    return function (d, b) {
4929        if (typeof b !== "function" && b !== null)
4930            throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
4931        extendStatics(d, b);
4932        function __() { this.constructor = d; }
4933        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
4934    };
4935})();
4936Object.defineProperty(exports, "__esModule", ({ value: true }));
4937exports.VisualHeaderValidator = exports.VisualHeaderSettingsValidator = exports.VisualSettingsValidator = void 0;
4938var multipleFieldsValidator_1 = __nested_webpack_require_215693__(3);
4939var typeValidator_1 = __nested_webpack_require_215693__(4);
4940var validator_1 = __nested_webpack_require_215693__(1);
4941var VisualSettingsValidator = /** @class */ (function (_super) {
4942    __extends(VisualSettingsValidator, _super);
4943    function VisualSettingsValidator() {
4944        return _super !== null && _super.apply(this, arguments) || this;
4945    }
4946    VisualSettingsValidator.prototype.validate = function (input, path, field) {
4947        if (input == null) {
4948            return null;
4949        }
4950        var errors = _super.prototype.validate.call(this, input, path, field);
4951        if (errors) {
4952            return errors;
4953        }
4954        var fields = [
4955            {
4956                field: "visualHeaders",
4957                validators: [validator_1.Validators.visualHeadersValidator]
4958            },
4959        ];
4960        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
4961        return multipleFieldsValidator.validate(input, path, field);
4962    };
4963    return VisualSettingsValidator;
4964}(typeValidator_1.ObjectValidator));
4965exports.VisualSettingsValidator = VisualSettingsValidator;
4966var VisualHeaderSettingsValidator = /** @class */ (function (_super) {
4967    __extends(VisualHeaderSettingsValidator, _super);
4968    function VisualHeaderSettingsValidator() {
4969        return _super !== null && _super.apply(this, arguments) || this;
4970    }
4971    VisualHeaderSettingsValidator.prototype.validate = function (input, path, field) {
4972        if (input == null) {
4973            return null;
4974        }
4975        var errors = _super.prototype.validate.call(this, input, path, field);
4976        if (errors) {
4977            return errors;
4978        }
4979        var fields = [
4980            {
4981                field: "visible",
4982                validators: [validator_1.Validators.booleanValidator]
4983            }
4984        ];
4985        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
4986        return multipleFieldsValidator.validate(input, path, field);
4987    };
4988    return VisualHeaderSettingsValidator;
4989}(typeValidator_1.ObjectValidator));
4990exports.VisualHeaderSettingsValidator = VisualHeaderSettingsValidator;
4991var VisualHeaderValidator = /** @class */ (function (_super) {
4992    __extends(VisualHeaderValidator, _super);
4993    function VisualHeaderValidator() {
4994        return _super !== null && _super.apply(this, arguments) || this;
4995    }
4996    VisualHeaderValidator.prototype.validate = function (input, path, field) {
4997        if (input == null) {
4998            return null;
4999        }
5000        var errors = _super.prototype.validate.call(this, input, path, field);
5001        if (errors) {
5002            return errors;
5003        }
5004        var fields = [
5005            {
5006                field: "settings",
5007                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.visualHeaderSettingsValidator]
5008            },
5009            {
5010                field: "selector",
5011                validators: [validator_1.Validators.visualHeaderSelectorValidator]
5012            },
5013        ];
5014        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
5015        return multipleFieldsValidator.validate(input, path, field);
5016    };
5017    return VisualHeaderValidator;
5018}(typeValidator_1.ObjectValidator));
5019exports.VisualHeaderValidator = VisualHeaderValidator;
5020
5021
5022/***/ }),
5023/* 26 */
5024/***/ ((__unused_webpack_module, exports) => {
5025
5026// Copyright (c) Microsoft Corporation.
5027// Licensed under the MIT License.
5028Object.defineProperty(exports, "__esModule", ({ value: true }));
5029exports.AnyOfValidator = void 0;
5030var AnyOfValidator = /** @class */ (function () {
5031    function AnyOfValidator(validators) {
5032        this.validators = validators;
5033    }
5034    AnyOfValidator.prototype.validate = function (input, path, field) {
5035        if (input == null) {
5036            return null;
5037        }
5038        var valid = false;
5039        for (var _i = 0, _a = this.validators; _i < _a.length; _i++) {
5040            var validator = _a[_i];
5041            var errors = validator.validate(input, path, field);
5042            if (!errors) {
5043                valid = true;
5044                break;
5045            }
5046        }
5047        if (!valid) {
5048            return [{
5049                    message: field + " property is invalid",
5050                    path: (path ? path + "." : "") + field,
5051                    keyword: "invalid"
5052                }];
5053        }
5054        return null;
5055    };
5056    return AnyOfValidator;
5057}());
5058exports.AnyOfValidator = AnyOfValidator;
5059
5060
5061/***/ }),
5062/* 27 */
5063/***/ ((__unused_webpack_module, exports) => {
5064
5065// Copyright (c) Microsoft Corporation.
5066// Licensed under the MIT License.
5067Object.defineProperty(exports, "__esModule", ({ value: true }));
5068exports.FieldForbiddenValidator = void 0;
5069var FieldForbiddenValidator = /** @class */ (function () {
5070    function FieldForbiddenValidator() {
5071    }
5072    FieldForbiddenValidator.prototype.validate = function (input, path, field) {
5073        if (input !== undefined) {
5074            return [{
5075                    message: field + " is forbidden",
5076                    path: (path ? path + "." : "") + field,
5077                    keyword: "forbidden"
5078                }];
5079        }
5080        return null;
5081    };
5082    return FieldForbiddenValidator;
5083}());
5084exports.FieldForbiddenValidator = FieldForbiddenValidator;
5085
5086
5087/***/ }),
5088/* 28 */
5089/***/ ((__unused_webpack_module, exports) => {
5090
5091// Copyright (c) Microsoft Corporation.
5092// Licensed under the MIT License.
5093Object.defineProperty(exports, "__esModule", ({ value: true }));
5094exports.FieldRequiredValidator = void 0;
5095var FieldRequiredValidator = /** @class */ (function () {
5096    function FieldRequiredValidator() {
5097    }
5098    FieldRequiredValidator.prototype.validate = function (input, path, field) {
5099        if (input == null) {
5100            return [{
5101                    message: field + " is required",
5102                    path: (path ? path + "." : "") + field,
5103                    keyword: "required"
5104                }];
5105        }
5106        return null;
5107    };
5108    return FieldRequiredValidator;
5109}());
5110exports.FieldRequiredValidator = FieldRequiredValidator;
5111
5112
5113/***/ }),
5114/* 29 */
5115/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_223102__) {
5116
5117// Copyright (c) Microsoft Corporation.
5118// Licensed under the MIT License.
5119var __extends = (this && this.__extends) || (function () {
5120    var extendStatics = function (d, b) {
5121        extendStatics = Object.setPrototypeOf ||
5122            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
5123            function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
5124        return extendStatics(d, b);
5125    };
5126    return function (d, b) {
5127        if (typeof b !== "function" && b !== null)
5128            throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
5129        extendStatics(d, b);
5130        function __() { this.constructor = d; }
5131        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
5132    };
5133})();
5134Object.defineProperty(exports, "__esModule", ({ value: true }));
5135exports.MapValidator = void 0;
5136var typeValidator_1 = __nested_webpack_require_223102__(4);
5137var MapValidator = /** @class */ (function (_super) {
5138    __extends(MapValidator, _super);
5139    function MapValidator(keyValidators, valueValidators) {
5140        var _this = _super.call(this) || this;
5141        _this.keyValidators = keyValidators;
5142        _this.valueValidators = valueValidators;
5143        return _this;
5144    }
5145    MapValidator.prototype.validate = function (input, path, field) {
5146        if (input == null) {
5147            return null;
5148        }
5149        var errors = _super.prototype.validate.call(this, input, path, field);
5150        if (errors) {
5151            return errors;
5152        }
5153        for (var key in input) {
5154            if (input.hasOwnProperty(key)) {
5155                var fieldsPath = (path ? path + "." : "") + field + "." + key;
5156                for (var _i = 0, _a = this.keyValidators; _i < _a.length; _i++) {
5157                    var keyValidator = _a[_i];
5158                    errors = keyValidator.validate(key, fieldsPath, field);
5159                    if (errors) {
5160                        return errors;
5161                    }
5162                }
5163                for (var _b = 0, _c = this.valueValidators; _b < _c.length; _b++) {
5164                    var valueValidator = _c[_b];
5165                    errors = valueValidator.validate(input[key], fieldsPath, field);
5166                    if (errors) {
5167                        return errors;
5168                    }
5169                }
5170            }
5171        }
5172        return null;
5173    };
5174    return MapValidator;
5175}(typeValidator_1.ObjectValidator));
5176exports.MapValidator = MapValidator;
5177
5178
5179/***/ }),
5180/* 30 */
5181/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_225786__) {
5182
5183// Copyright (c) Microsoft Corporation.
5184// Licensed under the MIT License.
5185var __extends = (this && this.__extends) || (function () {
5186    var extendStatics = function (d, b) {
5187        extendStatics = Object.setPrototypeOf ||
5188            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
5189            function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
5190        return extendStatics(d, b);
5191    };
5192    return function (d, b) {
5193        if (typeof b !== "function" && b !== null)
5194            throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
5195        extendStatics(d, b);
5196        function __() { this.constructor = d; }
5197        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
5198    };
5199})();
5200Object.defineProperty(exports, "__esModule", ({ value: true }));
5201exports.ParametersPanelValidator = void 0;
5202var multipleFieldsValidator_1 = __nested_webpack_require_225786__(3);
5203var typeValidator_1 = __nested_webpack_require_225786__(4);
5204var validator_1 = __nested_webpack_require_225786__(1);
5205var ParametersPanelValidator = /** @class */ (function (_super) {
5206    __extends(ParametersPanelValidator, _super);
5207    function ParametersPanelValidator() {
5208        return _super !== null && _super.apply(this, arguments) || this;
5209    }
5210    ParametersPanelValidator.prototype.validate = function (input, path, field) {
5211        if (input == null) {
5212            return null;
5213        }
5214        var errors = _super.prototype.validate.call(this, input, path, field);
5215        if (errors) {
5216            return errors;
5217        }
5218        var fields = [
5219            {
5220                field: "expanded",
5221                validators: [validator_1.Validators.booleanValidator]
5222            },
5223            {
5224                field: "enabled",
5225                validators: [validator_1.Validators.booleanValidator]
5226            }
5227        ];
5228        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
5229        return multipleFieldsValidator.validate(input, path, field);
5230    };
5231    return ParametersPanelValidator;
5232}(typeValidator_1.ObjectValidator));
5233exports.ParametersPanelValidator = ParametersPanelValidator;
5234
5235
5236/***/ }),
5237/* 31 */
5238/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_228154__) {
5239
5240// Copyright (c) Microsoft Corporation.
5241// Licensed under the MIT License.
5242var __extends = (this && this.__extends) || (function () {
5243    var extendStatics = function (d, b) {
5244        extendStatics = Object.setPrototypeOf ||
5245            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
5246            function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
5247        return extendStatics(d, b);
5248    };
5249    return function (d, b) {
5250        if (typeof b !== "function" && b !== null)
5251            throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
5252        extendStatics(d, b);
5253        function __() { this.constructor = d; }
5254        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
5255    };
5256})();
5257Object.defineProperty(exports, "__esModule", ({ value: true }));
5258exports.TableDataValidator = exports.TableSchemaValidator = exports.ColumnSchemaValidator = exports.CredentialsValidator = exports.DatasourceConnectionConfigValidator = exports.DatasetCreateConfigValidator = void 0;
5259var multipleFieldsValidator_1 = __nested_webpack_require_228154__(3);
5260var typeValidator_1 = __nested_webpack_require_228154__(4);
5261var validator_1 = __nested_webpack_require_228154__(1);
5262var DatasetCreateConfigValidator = /** @class */ (function (_super) {
5263    __extends(DatasetCreateConfigValidator, _super);
5264    function DatasetCreateConfigValidator() {
5265        return _super !== null && _super.apply(this, arguments) || this;
5266    }
5267    DatasetCreateConfigValidator.prototype.validate = function (input, path, field) {
5268        if (input == null) {
5269            return null;
5270        }
5271        var errors = _super.prototype.validate.call(this, input, path, field);
5272        if (errors) {
5273            return errors;
5274        }
5275        var fields = [
5276            {
5277                field: "locale",
5278                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator]
5279            },
5280            {
5281                field: "mashupDocument",
5282                validators: [validator_1.Validators.stringValidator]
5283            },
5284            {
5285                field: "datasourceConnectionConfig",
5286                validators: [validator_1.Validators.datasourceConnectionConfigValidator]
5287            },
5288            {
5289                field: "tableSchemaList",
5290                validators: [validator_1.Validators.tableSchemaListValidator]
5291            },
5292            {
5293                field: "data",
5294                validators: [validator_1.Validators.tableDataArrayValidator]
5295            },
5296        ];
5297        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
5298        errors = multipleFieldsValidator.validate(input, path, field);
5299        if (errors) {
5300            return errors;
5301        }
5302        if (input["datasourceConnectionConfig"] && input["mashupDocument"] == null) {
5303            return [{
5304                    message: "mashupDocument cannot be empty when datasourceConnectionConfig is presented"
5305                }];
5306        }
5307        if (input["data"] && input["tableSchemaList"] == null) {
5308            return [{
5309                    message: "tableSchemaList cannot be empty when data is provided"
5310                }];
5311        }
5312        if (input["data"] == null && input["mashupDocument"] == null) {
5313            return [{
5314                    message: "At least one of data or mashupDocument must be provided"
5315                }];
5316        }
5317    };
5318    return DatasetCreateConfigValidator;
5319}(typeValidator_1.ObjectValidator));
5320exports.DatasetCreateConfigValidator = DatasetCreateConfigValidator;
5321var DatasourceConnectionConfigValidator = /** @class */ (function (_super) {
5322    __extends(DatasourceConnectionConfigValidator, _super);
5323    function DatasourceConnectionConfigValidator() {
5324        return _super !== null && _super.apply(this, arguments) || this;
5325    }
5326    DatasourceConnectionConfigValidator.prototype.validate = function (input, path, field) {
5327        if (input == null) {
5328            return null;
5329        }
5330        var errors = _super.prototype.validate.call(this, input, path, field);
5331        if (errors) {
5332            return errors;
5333        }
5334        var fields = [
5335            {
5336                field: "dataCacheMode",
5337                validators: [validator_1.Validators.dataCacheModeValidator]
5338            },
5339            {
5340                field: "credentials",
5341                validators: [validator_1.Validators.credentialsValidator]
5342            }
5343        ];
5344        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
5345        return multipleFieldsValidator.validate(input, path, field);
5346    };
5347    return DatasourceConnectionConfigValidator;
5348}(typeValidator_1.ObjectValidator));
5349exports.DatasourceConnectionConfigValidator = DatasourceConnectionConfigValidator;
5350var CredentialsValidator = /** @class */ (function (_super) {
5351    __extends(CredentialsValidator, _super);
5352    function CredentialsValidator() {
5353        return _super !== null && _super.apply(this, arguments) || this;
5354    }
5355    CredentialsValidator.prototype.validate = function (input, path, field) {
5356        if (input == null) {
5357            return null;
5358        }
5359        var errors = _super.prototype.validate.call(this, input, path, field);
5360        if (errors) {
5361            return errors;
5362        }
5363        var fields = [
5364            {
5365                field: "credentialType",
5366                validators: [validator_1.Validators.credentialTypeValidator]
5367            },
5368            {
5369                field: "credentialDetails",
5370                validators: [validator_1.Validators.credentialDetailsValidator]
5371            }
5372        ];
5373        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
5374        return multipleFieldsValidator.validate(input, path, field);
5375    };
5376    return CredentialsValidator;
5377}(typeValidator_1.ObjectValidator));
5378exports.CredentialsValidator = CredentialsValidator;
5379var ColumnSchemaValidator = /** @class */ (function (_super) {
5380    __extends(ColumnSchemaValidator, _super);
5381    function ColumnSchemaValidator() {
5382        return _super !== null && _super.apply(this, arguments) || this;
5383    }
5384    ColumnSchemaValidator.prototype.validate = function (input, path, field) {
5385        if (input == null) {
5386            return null;
5387        }
5388        var errors = _super.prototype.validate.call(this, input, path, field);
5389        if (errors) {
5390            return errors;
5391        }
5392        var fields = [
5393            {
5394                field: "name",
5395                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator]
5396            },
5397            {
5398                field: "displayName",
5399                validators: [validator_1.Validators.stringValidator]
5400            },
5401            {
5402                field: "dataType",
5403                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator]
5404            }
5405        ];
5406        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
5407        return multipleFieldsValidator.validate(input, path, field);
5408    };
5409    return ColumnSchemaValidator;
5410}(typeValidator_1.ObjectValidator));
5411exports.ColumnSchemaValidator = ColumnSchemaValidator;
5412var TableSchemaValidator = /** @class */ (function (_super) {
5413    __extends(TableSchemaValidator, _super);
5414    function TableSchemaValidator() {
5415        return _super !== null && _super.apply(this, arguments) || this;
5416    }
5417    TableSchemaValidator.prototype.validate = function (input, path, field) {
5418        if (input == null) {
5419            return null;
5420        }
5421        var errors = _super.prototype.validate.call(this, input, path, field);
5422        if (errors) {
5423            return errors;
5424        }
5425        var fields = [
5426            {
5427                field: "name",
5428                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator]
5429            },
5430            {
5431                field: "columns",
5432                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.columnSchemaArrayValidator]
5433            }
5434        ];
5435        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
5436        return multipleFieldsValidator.validate(input, path, field);
5437    };
5438    return TableSchemaValidator;
5439}(typeValidator_1.ObjectValidator));
5440exports.TableSchemaValidator = TableSchemaValidator;
5441var TableDataValidator = /** @class */ (function (_super) {
5442    __extends(TableDataValidator, _super);
5443    function TableDataValidator() {
5444        return _super !== null && _super.apply(this, arguments) || this;
5445    }
5446    TableDataValidator.prototype.validate = function (input, path, field) {
5447        if (input == null) {
5448            return null;
5449        }
5450        var errors = _super.prototype.validate.call(this, input, path, field);
5451        if (errors) {
5452            return errors;
5453        }
5454        var fields = [
5455            {
5456                field: "name",
5457                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator]
5458            },
5459            {
5460                field: "rows",
5461                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.rawDataValidator]
5462            }
5463        ];
5464        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
5465        return multipleFieldsValidator.validate(input, path, field);
5466    };
5467    return TableDataValidator;
5468}(typeValidator_1.ObjectValidator));
5469exports.TableDataValidator = TableDataValidator;
5470
5471
5472/***/ }),
5473/* 32 */
5474/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_238209__) {
5475
5476// Copyright (c) Microsoft Corporation.
5477// Licensed under the MIT License.
5478var __extends = (this && this.__extends) || (function () {
5479    var extendStatics = function (d, b) {
5480        extendStatics = Object.setPrototypeOf ||
5481            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
5482            function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
5483        return extendStatics(d, b);
5484    };
5485    return function (d, b) {
5486        if (typeof b !== "function" && b !== null)
5487            throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
5488        extendStatics(d, b);
5489        function __() { this.constructor = d; }
5490        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
5491    };
5492})();
5493Object.defineProperty(exports, "__esModule", ({ value: true }));
5494exports.QuickCreateValidator = void 0;
5495var multipleFieldsValidator_1 = __nested_webpack_require_238209__(3);
5496var typeValidator_1 = __nested_webpack_require_238209__(4);
5497var validator_1 = __nested_webpack_require_238209__(1);
5498var QuickCreateValidator = /** @class */ (function (_super) {
5499    __extends(QuickCreateValidator, _super);
5500    function QuickCreateValidator() {
5501        return _super !== null && _super.apply(this, arguments) || this;
5502    }
5503    QuickCreateValidator.prototype.validate = function (input, path, field) {
5504        if (input == null) {
5505            return null;
5506        }
5507        var errors = _super.prototype.validate.call(this, input, path, field);
5508        if (errors) {
5509            return errors;
5510        }
5511        var fields = [
5512            {
5513                field: "accessToken",
5514                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator]
5515            },
5516            {
5517                field: "groupId",
5518                validators: [validator_1.Validators.stringValidator]
5519            },
5520            {
5521                field: "tokenType",
5522                validators: [validator_1.Validators.tokenTypeValidator]
5523            },
5524            {
5525                field: "theme",
5526                validators: [validator_1.Validators.customThemeValidator]
5527            },
5528            {
5529                field: "datasetCreateConfig",
5530                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.datasetCreateConfigValidator]
5531            },
5532        ];
5533        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
5534        return multipleFieldsValidator.validate(input, path, field);
5535    };
5536    return QuickCreateValidator;
5537}(typeValidator_1.ObjectValidator));
5538exports.QuickCreateValidator = QuickCreateValidator;
5539
5540
5541/***/ }),
5542/* 33 */
5543/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_241082__) {
5544
5545// Copyright (c) Microsoft Corporation.
5546// Licensed under the MIT License.
5547var __extends = (this && this.__extends) || (function () {
5548    var extendStatics = function (d, b) {
5549        extendStatics = Object.setPrototypeOf ||
5550            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
5551            function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
5552        return extendStatics(d, b);
5553    };
5554    return function (d, b) {
5555        if (typeof b !== "function" && b !== null)
5556            throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
5557        extendStatics(d, b);
5558        function __() { this.constructor = d; }
5559        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
5560    };
5561})();
5562Object.defineProperty(exports, "__esModule", ({ value: true }));
5563exports.PrintSettingsValidator = void 0;
5564var multipleFieldsValidator_1 = __nested_webpack_require_241082__(3);
5565var typeValidator_1 = __nested_webpack_require_241082__(4);
5566var PrintSettingsValidator = /** @class */ (function (_super) {
5567    __extends(PrintSettingsValidator, _super);
5568    function PrintSettingsValidator() {
5569        return _super !== null && _super.apply(this, arguments) || this;
5570    }
5571    PrintSettingsValidator.prototype.validate = function (input, path, field) {
5572        if (input == null) {
5573            return null;
5574        }
5575        var errors = _super.prototype.validate.call(this, input, path, field);
5576        if (errors) {
5577            return errors;
5578        }
5579        var fields = [
5580            {
5581                field: "browserPrintAdjustmentsMode",
5582                validators: [new typeValidator_1.EnumValidator([0, 1])]
5583            }
5584        ];
5585        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
5586        return multipleFieldsValidator.validate(input, path, field);
5587    };
5588    return PrintSettingsValidator;
5589}(typeValidator_1.ObjectValidator));
5590exports.PrintSettingsValidator = PrintSettingsValidator;
5591
5592
5593/***/ }),
5594/* 34 */
5595/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_243275__) {
5596
5597// Copyright (c) Microsoft Corporation.
5598// Licensed under the MIT License.
5599var __extends = (this && this.__extends) || (function () {
5600    var extendStatics = function (d, b) {
5601        extendStatics = Object.setPrototypeOf ||
5602            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
5603            function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
5604        return extendStatics(d, b);
5605    };
5606    return function (d, b) {
5607        if (typeof b !== "function" && b !== null)
5608            throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
5609        extendStatics(d, b);
5610        function __() { this.constructor = d; }
5611        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
5612    };
5613})();
5614Object.defineProperty(exports, "__esModule", ({ value: true }));
5615exports.PaginatedReportDatasetBindingValidator = void 0;
5616var multipleFieldsValidator_1 = __nested_webpack_require_243275__(3);
5617var typeValidator_1 = __nested_webpack_require_243275__(4);
5618var validator_1 = __nested_webpack_require_243275__(1);
5619var PaginatedReportDatasetBindingValidator = /** @class */ (function (_super) {
5620    __extends(PaginatedReportDatasetBindingValidator, _super);
5621    function PaginatedReportDatasetBindingValidator() {
5622        return _super !== null && _super.apply(this, arguments) || this;
5623    }
5624    PaginatedReportDatasetBindingValidator.prototype.validate = function (input, path, field) {
5625        if (input == null) {
5626            return null;
5627        }
5628        var errors = _super.prototype.validate.call(this, input, path, field);
5629        if (errors) {
5630            return errors;
5631        }
5632        var fields = [
5633            {
5634                field: "sourceDatasetId",
5635                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator]
5636            },
5637            {
5638                field: "targetDatasetId",
5639                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator]
5640            }
5641        ];
5642        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
5643        return multipleFieldsValidator.validate(input, path, field);
5644    };
5645    return PaginatedReportDatasetBindingValidator;
5646}(typeValidator_1.ObjectValidator));
5647exports.PaginatedReportDatasetBindingValidator = PaginatedReportDatasetBindingValidator;
5648
5649
5650/***/ })
5651/******/ 	]);
5652/************************************************************************/
5653/******/ 	// The module cache
5654/******/ 	var __webpack_module_cache__ = {};
5655/******/ 	
5656/******/ 	// The require function
5657/******/ 	function __nested_webpack_require_246021__(moduleId) {
5658/******/ 		// Check if module is in cache
5659/******/ 		var cachedModule = __webpack_module_cache__[moduleId];
5660/******/ 		if (cachedModule !== undefined) {
5661/******/ 			return cachedModule.exports;
5662/******/ 		}
5663/******/ 		// Create a new module (and put it into the cache)
5664/******/ 		var module = __webpack_module_cache__[moduleId] = {
5665/******/ 			// no module.id needed
5666/******/ 			// no module.loaded needed
5667/******/ 			exports: {}
5668/******/ 		};
5669/******/ 	
5670/******/ 		// Execute the module function
5671/******/ 		__webpack_modules__[moduleId].call(module.exports, module, module.exports, __nested_webpack_require_246021__);
5672/******/ 	
5673/******/ 		// Return the exports of the module
5674/******/ 		return module.exports;
5675/******/ 	}
5676/******/ 	
5677/************************************************************************/
5678/******/ 	
5679/******/ 	// startup
5680/******/ 	// Load entry module and return exports
5681/******/ 	// This entry module is referenced by other modules so it can't be inlined
5682/******/ 	var __nested_webpack_exports__ = __nested_webpack_require_246021__(0);
5683/******/ 	
5684/******/ 	return __nested_webpack_exports__;
5685/******/ })()
5686;
5687});
5688//# sourceMappingURL=models.js.map
5689// SIG // Begin signature block
5690// SIG // MIIreAYJKoZIhvcNAQcCoIIraTCCK2UCAQExDzANBglg
5691// SIG // hkgBZQMEAgEFADB3BgorBgEEAYI3AgEEoGkwZzAyBgor
5692// SIG // BgEEAYI3AgEeMCQCAQEEEBDgyQbOONQRoqMAEEvTUJAC
5693// SIG // AQACAQACAQACAQACAQAwMTANBglghkgBZQMEAgEFAAQg
5694// SIG // MwL/tGu4f/dhr3gVOxM8t9Nr0kVsURXdWFmzt2Tv2Syg
5695// SIG // ghFuMIIIfjCCB2agAwIBAgITNgAAAd9zgZcWvjL9DQAC
5696// SIG // AAAB3zANBgkqhkiG9w0BAQsFADBBMRMwEQYKCZImiZPy
5697// SIG // LGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRUw
5698// SIG // EwYDVQQDEwxBTUUgQ1MgQ0EgMDEwHhcNMjQwMTIwMDEz
5699// SIG // MzQ0WhcNMjUwMTE5MDEzMzQ0WjAkMSIwIAYDVQQDExlN
5700// SIG // aWNyb3NvZnQgQXp1cmUgQ29kZSBTaWduMIIBIjANBgkq
5701// SIG // hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA1bnAJpGyFqbK
5702// SIG // WMrMsnUMskYdi/KuYoGBXMtrw5PMRr1TEQYccGzrCSBH
5703// SIG // dMGPDe1lP8YJGDJ0rDOL5nNgePQxnawI0iam7MdM3/gy
5704// SIG // xY6wSE1HnHUYZatFShl/FG1TpINGiHxTS0bOA0qwmWId
5705// SIG // us8gfKpC/41Jgew4XARIYYDpV0UOCx51L+6n/ol6g7sB
5706// SIG // c/bVEwIfCRrIC0QStKErEX1AfhSRdislMc5nhVySohMp
5707// SIG // 7Fs+JKqDPdWoNWMNFPHdHvkYACotxbdXFwPt6ijOiNR9
5708// SIG // dXvzXSI4e6E4b6wbXxJ4MJcG0xdymTh3YSwRWdfFOL/F
5709// SIG // Xk5W+K/eN+OgmNvkip0GuwIDAQABo4IFijCCBYYwKQYJ
5710// SIG // KwYBBAGCNxUKBBwwGjAMBgorBgEEAYI3WwEBMAoGCCsG
5711// SIG // AQUFBwMDMD0GCSsGAQQBgjcVBwQwMC4GJisGAQQBgjcV
5712// SIG // CIaQ4w2E1bR4hPGLPoWb3RbOnRKBYIPdzWaGlIwyAgFk
5713// SIG // AgEOMIICdgYIKwYBBQUHAQEEggJoMIICZDBiBggrBgEF
5714// SIG // BQcwAoZWaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3Br
5715// SIG // aWluZnJhL0NlcnRzL0JZMlBLSUNTQ0EwMS5BTUUuR0JM
5716// SIG // X0FNRSUyMENTJTIwQ0ElMjAwMSgyKS5jcnQwUgYIKwYB
5717// SIG // BQUHMAKGRmh0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JZ
5718// SIG // MlBLSUNTQ0EwMS5BTUUuR0JMX0FNRSUyMENTJTIwQ0El
5719// SIG // MjAwMSgyKS5jcnQwUgYIKwYBBQUHMAKGRmh0dHA6Ly9j
5720// SIG // cmwyLmFtZS5nYmwvYWlhL0JZMlBLSUNTQ0EwMS5BTUUu
5721// SIG // R0JMX0FNRSUyMENTJTIwQ0ElMjAwMSgyKS5jcnQwUgYI
5722// SIG // KwYBBQUHMAKGRmh0dHA6Ly9jcmwzLmFtZS5nYmwvYWlh
5723// SIG // L0JZMlBLSUNTQ0EwMS5BTUUuR0JMX0FNRSUyMENTJTIw
5724// SIG // Q0ElMjAwMSgyKS5jcnQwUgYIKwYBBQUHMAKGRmh0dHA6
5725// SIG // Ly9jcmw0LmFtZS5nYmwvYWlhL0JZMlBLSUNTQ0EwMS5B
5726// SIG // TUUuR0JMX0FNRSUyMENTJTIwQ0ElMjAwMSgyKS5jcnQw
5727// SIG // ga0GCCsGAQUFBzAChoGgbGRhcDovLy9DTj1BTUUlMjBD
5728// SIG // UyUyMENBJTIwMDEsQ049QUlBLENOPVB1YmxpYyUyMEtl
5729// SIG // eSUyMFNlcnZpY2VzLENOPVNlcnZpY2VzLENOPUNvbmZp
5730// SIG // Z3VyYXRpb24sREM9QU1FLERDPUdCTD9jQUNlcnRpZmlj
5731// SIG // YXRlP2Jhc2U/b2JqZWN0Q2xhc3M9Y2VydGlmaWNhdGlv
5732// SIG // bkF1dGhvcml0eTAdBgNVHQ4EFgQUju4tKpnu7Y7YxY8r
5733// SIG // iI5ZhjOnGwkwDgYDVR0PAQH/BAQDAgeAMEUGA1UdEQQ+
5734// SIG // MDykOjA4MR4wHAYDVQQLExVNaWNyb3NvZnQgQ29ycG9y
5735// SIG // YXRpb24xFjAUBgNVBAUTDTIzNjE2Nys1MDE5NzAwggHm
5736// SIG // BgNVHR8EggHdMIIB2TCCAdWgggHRoIIBzYY/aHR0cDov
5737// SIG // L2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9B
5738// SIG // TUUlMjBDUyUyMENBJTIwMDEoMikuY3JshjFodHRwOi8v
5739// SIG // Y3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBDUyUyMENBJTIw
5740// SIG // MDEoMikuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2Ny
5741// SIG // bC9BTUUlMjBDUyUyMENBJTIwMDEoMikuY3JshjFodHRw
5742// SIG // Oi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBDUyUyMENB
5743// SIG // JTIwMDEoMikuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2Js
5744// SIG // L2NybC9BTUUlMjBDUyUyMENBJTIwMDEoMikuY3JshoG9
5745// SIG // bGRhcDovLy9DTj1BTUUlMjBDUyUyMENBJTIwMDEoMiks
5746// SIG // Q049QlkyUEtJQ1NDQTAxLENOPUNEUCxDTj1QdWJsaWMl
5747// SIG // MjBLZXklMjBTZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1D
5748// SIG // b25maWd1cmF0aW9uLERDPUFNRSxEQz1HQkw/Y2VydGlm
5749// SIG // aWNhdGVSZXZvY2F0aW9uTGlzdD9iYXNlP29iamVjdENs
5750// SIG // YXNzPWNSTERpc3RyaWJ1dGlvblBvaW50MB8GA1UdIwQY
5751// SIG // MBaAFJZRhOBrb3v+2Aarw/KF5imuavnUMB8GA1UdJQQY
5752// SIG // MBYGCisGAQQBgjdbAQEGCCsGAQUFBwMDMA0GCSqGSIb3
5753// SIG // DQEBCwUAA4IBAQCXv2FzUgqF4rS3/1+aXyWaXqd3LI3a
5754// SIG // pgYIPvCq/vvFzI1sHZuLYi2rCTFDwoJqeTWJ98AuBnnx
5755// SIG // mMHxe15thTEkdoukFB44oBrugY3VkIeBMBmjaly5F5VD
5756// SIG // O1sNmdCq0baQi9egwjkzWbghTwMrUhxbJD1q6+qtxAbo
5757// SIG // jOj+VS4BUiogMXLp5XSaK26wa72UmYm9TiDcxRgELM1E
5758// SIG // dMraL1uhTqfrqFYYkAqpzoXgtaaZ2T7LO7516KIMjtMY
5759// SIG // EluNG0ZZbRn8J5TndyGf+N2To+V3nkoYOdks1RIsmK2Y
5760// SIG // w9ezEjc0DNSSiNO/prQAuw/nmf/oNqTP/daB3Kw6vTau
5761// SIG // EK0tMIII6DCCBtCgAwIBAgITHwAAAFHqj/accwyoOwAA
5762// SIG // AAAAUTANBgkqhkiG9w0BAQsFADA8MRMwEQYKCZImiZPy
5763// SIG // LGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw
5764// SIG // DgYDVQQDEwdhbWVyb290MB4XDTIxMDUyMTE4NDQxNFoX
5765// SIG // DTI2MDUyMTE4NTQxNFowQTETMBEGCgmSJomT8ixkARkW
5766// SIG // A0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEVMBMGA1UE
5767// SIG // AxMMQU1FIENTIENBIDAxMIIBIjANBgkqhkiG9w0BAQEF
5768// SIG // AAOCAQ8AMIIBCgKCAQEAyZpSCX0Bno1W1yqXMhT6BUlJ
5769// SIG // ZWpa4p3xFeiTHO4vm2Q6C/azR5xwxnyYHrkSGDtS2P9X
5770// SIG // +KDE64V20mmEQkubxnPNeOVnE2RvdPGxgwlq+BhS3ONd
5771// SIG // VsQPj79q7XgHM9HhzB9+qk0PC9KN1zm9p/seyiRS6JF1
5772// SIG // dbOqRf1pUl7FAVxmgiCFgV8hHIb/rDPXig7FDi3S0yEx
5773// SIG // 2CUDVpIq8jEhG8anUFE1WYxM+ni0S5KHwwKPKV4qyGDo
5774// SIG // DO+9AmDoma3Chyu5WDlW5cdtqXTWsGPE3umtnX6Amlld
5775// SIG // UFLms4OVR4guKf+n5LIBCC6bTiocfXPomqYjYTKx7AGM
5776// SIG // faVLaaXmhQIDAQABo4IE3DCCBNgwEgYJKwYBBAGCNxUB
5777// SIG // BAUCAwIAAjAjBgkrBgEEAYI3FQIEFgQUEmgkQiFHy9Rr
5778// SIG // vjHPIKTACyN/P0cwHQYDVR0OBBYEFJZRhOBrb3v+2Aar
5779// SIG // w/KF5imuavnUMIIBBAYDVR0lBIH8MIH5BgcrBgEFAgMF
5780// SIG // BggrBgEFBQcDAQYIKwYBBQUHAwIGCisGAQQBgjcUAgEG
5781// SIG // CSsGAQQBgjcVBgYKKwYBBAGCNwoDDAYJKwYBBAGCNxUG
5782// SIG // BggrBgEFBQcDCQYIKwYBBQUIAgIGCisGAQQBgjdAAQEG
5783// SIG // CysGAQQBgjcKAwQBBgorBgEEAYI3CgMEBgkrBgEEAYI3
5784// SIG // FQUGCisGAQQBgjcUAgIGCisGAQQBgjcUAgMGCCsGAQUF
5785// SIG // BwMDBgorBgEEAYI3WwEBBgorBgEEAYI3WwIBBgorBgEE
5786// SIG // AYI3WwMBBgorBgEEAYI3WwUBBgorBgEEAYI3WwQBBgor
5787// SIG // BgEEAYI3WwQCMBkGCSsGAQQBgjcUAgQMHgoAUwB1AGIA
5788// SIG // QwBBMAsGA1UdDwQEAwIBhjASBgNVHRMBAf8ECDAGAQH/
5789// SIG // AgEAMB8GA1UdIwQYMBaAFCleUV5krjS566ycDaeMdQHR
5790// SIG // CQsoMIIBaAYDVR0fBIIBXzCCAVswggFXoIIBU6CCAU+G
5791// SIG // MWh0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9wa2lpbmZy
5792// SIG // YS9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwyLmFt
5793// SIG // ZS5nYmwvY3JsL2FtZXJvb3QuY3JshiNodHRwOi8vY3Js
5794// SIG // My5hbWUuZ2JsL2NybC9hbWVyb290LmNybIYjaHR0cDov
5795// SIG // L2NybDEuYW1lLmdibC9jcmwvYW1lcm9vdC5jcmyGgaps
5796// SIG // ZGFwOi8vL0NOPWFtZXJvb3QsQ049QU1FUm9vdCxDTj1D
5797// SIG // RFAsQ049UHVibGljJTIwS2V5JTIwU2VydmljZXMsQ049
5798// SIG // U2VydmljZXMsQ049Q29uZmlndXJhdGlvbixEQz1BTUUs
5799// SIG // REM9R0JMP2NlcnRpZmljYXRlUmV2b2NhdGlvbkxpc3Q/
5800// SIG // YmFzZT9vYmplY3RDbGFzcz1jUkxEaXN0cmlidXRpb25Q
5801// SIG // b2ludDCCAasGCCsGAQUFBwEBBIIBnTCCAZkwRwYIKwYB
5802// SIG // BQUHMAKGO2h0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9w
5803// SIG // a2lpbmZyYS9jZXJ0cy9BTUVSb290X2FtZXJvb3QuY3J0
5804// SIG // MDcGCCsGAQUFBzAChitodHRwOi8vY3JsMi5hbWUuZ2Js
5805// SIG // L2FpYS9BTUVSb290X2FtZXJvb3QuY3J0MDcGCCsGAQUF
5806// SIG // BzAChitodHRwOi8vY3JsMy5hbWUuZ2JsL2FpYS9BTUVS
5807// SIG // b290X2FtZXJvb3QuY3J0MDcGCCsGAQUFBzAChitodHRw
5808// SIG // Oi8vY3JsMS5hbWUuZ2JsL2FpYS9BTUVSb290X2FtZXJv
5809// SIG // b3QuY3J0MIGiBggrBgEFBQcwAoaBlWxkYXA6Ly8vQ049
5810// SIG // YW1lcm9vdCxDTj1BSUEsQ049UHVibGljJTIwS2V5JTIw
5811// SIG // U2VydmljZXMsQ049U2VydmljZXMsQ049Q29uZmlndXJh
5812// SIG // dGlvbixEQz1BTUUsREM9R0JMP2NBQ2VydGlmaWNhdGU/
5813// SIG // YmFzZT9vYmplY3RDbGFzcz1jZXJ0aWZpY2F0aW9uQXV0
5814// SIG // aG9yaXR5MA0GCSqGSIb3DQEBCwUAA4ICAQBQECO3Tw/o
5815// SIG // 317Rrd7yadqcswPx1LvIYymkaTN6KcmuRt6HKa0Xe73U
5816// SIG // x2/AQ30TfgA9GBJngweRykKBusRzyOU17iIubJvy3gA2
5817// SIG // 1dwtqtB0DsoEv1U/ptVu2v++doTCJ/i+GbssVXkgaX8H
5818// SIG // +6EOGEmT4evp4GbwR4HwWlc+Dvf8HH8PdUA2Z04CvcwI
5819// SIG // fckSipbNm84jxJ8XjmTFTWscldL9edj2NsY6iGnyJFIy
5820// SIG // ur2PS7VRYyV3p1VAJp91gj1jRQtWEyCB8P5g9nE3z8u0
5821// SIG // ANaU/hjwEQCrdGyravWgnf2JtG+bT26YAokbc8m+32zU
5822// SIG // tXRO+NK3tAjhOu2FdsG3qNrF4sc7y37R/C+7Pcb/cFfh
5823// SIG // ttqsirepZii4xStcjMODYuXzGm3IJs0b0owHG6oKd7ZO
5824// SIG // GvHpmmh9K8/DLriD/sq8bURD10qi/wuW8zM7IpLg1vcR
5825// SIG // 9dIK2mc0pj44pc6UX0XbttP/VEJgu3lT2eI9VjWtaKjx
5826// SIG // 38xE9woSMyekPRtzTwgfuysF9DkJisr+yA4po/FPxpbB
5827// SIG // w9c/hBf32DH/GFxteS2pmjgKIbMP8sDukmEq3lVvuWNJ
5828// SIG // sybrZwQvQpvaM49fv+JKpLK5YWYEfwksYRR9wU8Hh/ID
5829// SIG // 9hRCEkbUoQ2W7mMpsp2Nbp/kcn4ivfolUy3Q9Yf0scsQ
5830// SIG // 6WTLYpm+AoCUJTGCGWIwghleAgEBMFgwQTETMBEGCgmS
5831// SIG // JomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FN
5832// SIG // RTEVMBMGA1UEAxMMQU1FIENTIENBIDAxAhM2AAAB33OB
5833// SIG // lxa+Mv0NAAIAAAHfMA0GCWCGSAFlAwQCAQUAoIGuMBkG
5834// SIG // CSqGSIb3DQEJAzEMBgorBgEEAYI3AgEEMBwGCisGAQQB
5835// SIG // gjcCAQsxDjAMBgorBgEEAYI3AgEVMC8GCSqGSIb3DQEJ
5836// SIG // BDEiBCC3oAvWj8W35XCGz6mfgvuaIDOaSXvP1W3rFrPd
5837// SIG // AOh/bzBCBgorBgEEAYI3AgEMMTQwMqAUgBIATQBpAGMA
5838// SIG // cgBvAHMAbwBmAHShGoAYaHR0cDovL3d3dy5taWNyb3Nv
5839// SIG // ZnQuY29tMA0GCSqGSIb3DQEBAQUABIIBAH+QbSXUtg4a
5840// SIG // 1DpnczlSYMWv9IBjG6D/if62zIqGmL0+uLeJryRfcW1I
5841// SIG // AP8F/i8LvWbtodi6cANj2DSmm3tZQ4ynfUkdQTza1zEM
5842// SIG // tbZuCZk9w3X+ToN1tfLiWxqWnRQl+RPJ83+OrlP55pAq
5843// SIG // Ryg1Mfm6lVs9q3FmhPRyWEaPyH8BDBIDss80A+1Hv5mt
5844// SIG // d2fhe8rR+/+bNhdrR9AcAU1eTP4R9x/IZL0ZlxqwMP8h
5845// SIG // e/juk00nO5gkakd6+SuHBqNOh4Sak9eBvai/3kU/Pslx
5846// SIG // qnn/f1vDjXxx554VyA/0WkKXh1G/4yf1v5JTqNC/etNK
5847// SIG // X8AOamhT9a08WNVMC4XQMZmhghcqMIIXJgYKKwYBBAGC
5848// SIG // NwMDATGCFxYwghcSBgkqhkiG9w0BBwKgghcDMIIW/wIB
5849// SIG // AzEPMA0GCWCGSAFlAwQCAQUAMIIBWQYLKoZIhvcNAQkQ
5850// SIG // AQSgggFIBIIBRDCCAUACAQEGCisGAQQBhFkKAwEwMTAN
5851// SIG // BglghkgBZQMEAgEFAAQgiRIZEQCbpfMTea7mD6b6LEjM
5852// SIG // OeXK5udPpePql6WE5/MCBmXxz4wKeRgTMjAyNDAzMjEx
5853// SIG // NTA2MzEuMzEyWjAEgAIB9KCB2KSB1TCB0jELMAkGA1UE
5854// SIG // BhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNV
5855// SIG // BAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBD
5856// SIG // b3Jwb3JhdGlvbjEtMCsGA1UECxMkTWljcm9zb2Z0IEly
5857// SIG // ZWxhbmQgT3BlcmF0aW9ucyBMaW1pdGVkMSYwJAYDVQQL
5858// SIG // Ex1UaGFsZXMgVFNTIEVTTjo4RDQxLTRCRjctQjNCNzEl
5859// SIG // MCMGA1UEAxMcTWljcm9zb2Z0IFRpbWUtU3RhbXAgU2Vy
5860// SIG // dmljZaCCEXkwggcnMIIFD6ADAgECAhMzAAAB49+9m5oc
5861// SIG // aIMiAAEAAAHjMA0GCSqGSIb3DQEBCwUAMHwxCzAJBgNV
5862// SIG // BAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYD
5863// SIG // VQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQg
5864// SIG // Q29ycG9yYXRpb24xJjAkBgNVBAMTHU1pY3Jvc29mdCBU
5865// SIG // aW1lLVN0YW1wIFBDQSAyMDEwMB4XDTIzMTAxMjE5MDcy
5866// SIG // OVoXDTI1MDExMDE5MDcyOVowgdIxCzAJBgNVBAYTAlVT
5867// SIG // MRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdS
5868// SIG // ZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9y
5869// SIG // YXRpb24xLTArBgNVBAsTJE1pY3Jvc29mdCBJcmVsYW5k
5870// SIG // IE9wZXJhdGlvbnMgTGltaXRlZDEmMCQGA1UECxMdVGhh
5871// SIG // bGVzIFRTUyBFU046OEQ0MS00QkY3LUIzQjcxJTAjBgNV
5872// SIG // BAMTHE1pY3Jvc29mdCBUaW1lLVN0YW1wIFNlcnZpY2Uw
5873// SIG // ggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC+
5874// SIG // pA1oHkafn8UgVA+jf8rhCaV4IMwXjRuSgfDPQGyFnhKJ
5875// SIG // CYDoIZTIPCZqpDbAeFpdTRF0e3C+r5TwrFhizIcqprHE
5876// SIG // Lt+v/Idm8ek1ODPHVWRHeleFPpfYKbXvlRfdZDiN+Xzq
5877// SIG // ienkAzMEgUOXPRJTxVIo0wO81e2OT0WK0uBS/aePeE4n
5878// SIG // QqQRB+TegDubvMDQP4yjveGZH44Lu7CxfElHa3NRkTRJ
5879// SIG // NhfdS96cUft9hbLkE2YvIaraxaRDkcW8koIkAT93B+3z
5880// SIG // 5XjdTcp4TEX+k+1wtS9D0cisvTGekwVq7th3lor5MSLn
5881// SIG // tZy0G/zv59I9kFXeNmX9AK1wf1aueIEPCSL1B9HG78lj
5882// SIG // PD6JoRYuqthe4XuN44a8cr59V4tacBzlbGx9umMQyk1s
5883// SIG // ZdtIX0C3c8+EVU6PHBUTHUAsZSpEp6HD1qn1f+B+QD0j
5884// SIG // 15NK/AnP3DJr2t4OBL7qReBK20jtFDZwkb+1A8ZUhosI
5885// SIG // hpJp8ud5qrQGezS3j4RbcH8aegEyKI5fCV469/m50FlA
5886// SIG // gwneTmqeeHxnhmFPCsTqIZs+tOAYE9eHt7EVgAaVvqF2
5887// SIG // EgshUN0mUN/yzU1W8vRDbLhIdlCECllO5b+3Iawaxwg8
5888// SIG // NIzPlsDo2FEu2MTAIWksjmoaW7nQC70VF6UIRCxaDurT
5889// SIG // sf+uoc6oI0kzhGN6buOgRQIDAQABo4IBSTCCAUUwHQYD
5890// SIG // VR0OBBYEFLGuDWa+NRW3oWfGPnqdptmImKkDMB8GA1Ud
5891// SIG // IwQYMBaAFJ+nFV0AXmJdg/Tl0mWnG1M1GelyMF8GA1Ud
5892// SIG // HwRYMFYwVKBSoFCGTmh0dHA6Ly93d3cubWljcm9zb2Z0
5893// SIG // LmNvbS9wa2lvcHMvY3JsL01pY3Jvc29mdCUyMFRpbWUt
5894// SIG // U3RhbXAlMjBQQ0ElMjAyMDEwKDEpLmNybDBsBggrBgEF
5895// SIG // BQcBAQRgMF4wXAYIKwYBBQUHMAKGUGh0dHA6Ly93d3cu
5896// SIG // bWljcm9zb2Z0LmNvbS9wa2lvcHMvY2VydHMvTWljcm9z
5897// SIG // b2Z0JTIwVGltZS1TdGFtcCUyMFBDQSUyMDIwMTAoMSku
5898// SIG // Y3J0MAwGA1UdEwEB/wQCMAAwFgYDVR0lAQH/BAwwCgYI
5899// SIG // KwYBBQUHAwgwDgYDVR0PAQH/BAQDAgeAMA0GCSqGSIb3
5900// SIG // DQEBCwUAA4ICAQC3vpsuqdTTzBFtbe9GvGNoRsY+rIg0
5901// SIG // rpRgLOFMZpH88TAInOI9Phkz2x8ZNfd5kNBUT2vXbW0W
5902// SIG // 2ns1dBi5BLFFkxhdrT+lrA3Zef5Q+MFEO+gKxTnp3AqS
5903// SIG // ubLxNLDtBcoayR2cTCwjnJb3erwCDzpGQGIoQR/0V3Mc
5904// SIG // 24pYjgq//98O0RJ7C7jqf+75VyQLBs5iXrAT/9BEasYy
5905// SIG // rnT1rgRs/6nUZSbTpeZ7/TWZMi4oOA+YcvadhHNc2qLY
5906// SIG // i4h5yfZpbCRHFA4WI/D52JyY47Asb/sic2qNmlB4iEMz
5907// SIG // GxavjNPHPLgRH/rN+2G2UO1wBccHthFSQFMKVo5rSd29
5908// SIG // 80lkzJhVrpxa9mi5Or1XktLtTMhHxL/tGw5Pjd45rAsG
5909// SIG // y5DPRWg4u6th7VJ98+pOwJxE3NvHQLy3/4qKlK1WE8Aa
5910// SIG // 20R+F1RRL2iEPou3rA0InFltXQgwPyd8TqAhAlevOtdY
5911// SIG // 64mo33VYPKNFqfhQoOQgFLbJYDhbomFC4HMZ6s5Jj9ou
5912// SIG // fGRGtK5uC2cphwc7CDFNMjJrlZgJGMW3RA4uV6pWSLqT
5913// SIG // 6apg+v3y4w+Lm9EhBLbTqYNJ6dK2vzDQn7/7VYSbc+cI
5914// SIG // IhCCl/rOGpGsC32PtesQweuDZtB6BrPxsvNt7pSJuBsq
5915// SIG // 1HKTWcZ17xOjmTIyP1dQIEgIPFP4XjFrmU1lVDCCB3Ew
5916// SIG // ggVZoAMCAQICEzMAAAAVxedrngKbSZkAAAAAABUwDQYJ
5917// SIG // KoZIhvcNAQELBQAwgYgxCzAJBgNVBAYTAlVTMRMwEQYD
5918// SIG // VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25k
5919// SIG // MR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24x
5920// SIG // MjAwBgNVBAMTKU1pY3Jvc29mdCBSb290IENlcnRpZmlj
5921// SIG // YXRlIEF1dGhvcml0eSAyMDEwMB4XDTIxMDkzMDE4MjIy
5922// SIG // NVoXDTMwMDkzMDE4MzIyNVowfDELMAkGA1UEBhMCVVMx
5923// SIG // EzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1Jl
5924// SIG // ZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3Jh
5925// SIG // dGlvbjEmMCQGA1UEAxMdTWljcm9zb2Z0IFRpbWUtU3Rh
5926// SIG // bXAgUENBIDIwMTAwggIiMA0GCSqGSIb3DQEBAQUAA4IC
5927// SIG // DwAwggIKAoICAQDk4aZM57RyIQt5osvXJHm9DtWC0/3u
5928// SIG // nAcH0qlsTnXIyjVX9gF/bErg4r25PhdgM/9cT8dm95VT
5929// SIG // cVrifkpa/rg2Z4VGIwy1jRPPdzLAEBjoYH1qUoNEt6aO
5930// SIG // RmsHFPPFdvWGUNzBRMhxXFExN6AKOG6N7dcP2CZTfDlh
5931// SIG // AnrEqv1yaa8dq6z2Nr41JmTamDu6GnszrYBbfowQHJ1S
5932// SIG // /rboYiXcag/PXfT+jlPP1uyFVk3v3byNpOORj7I5LFGc
5933// SIG // 6XBpDco2LXCOMcg1KL3jtIckw+DJj361VI/c+gVVmG1o
5934// SIG // O5pGve2krnopN6zL64NF50ZuyjLVwIYwXE8s4mKyzbni
5935// SIG // jYjklqwBSru+cakXW2dg3viSkR4dPf0gz3N9QZpGdc3E
5936// SIG // XzTdEonW/aUgfX782Z5F37ZyL9t9X4C626p+Nuw2TPYr
5937// SIG // bqgSUei/BQOj0XOmTTd0lBw0gg/wEPK3Rxjtp+iZfD9M
5938// SIG // 269ewvPV2HM9Q07BMzlMjgK8QmguEOqEUUbi0b1qGFph
5939// SIG // AXPKZ6Je1yh2AuIzGHLXpyDwwvoSCtdjbwzJNmSLW6Cm
5940// SIG // gyFdXzB0kZSU2LlQ+QuJYfM2BjUYhEfb3BvR/bLUHMVr
5941// SIG // 9lxSUV0S2yW6r1AFemzFER1y7435UsSFF5PAPBXbGjfH
5942// SIG // CBUYP3irRbb1Hode2o+eFnJpxq57t7c+auIurQIDAQAB
5943// SIG // o4IB3TCCAdkwEgYJKwYBBAGCNxUBBAUCAwEAATAjBgkr
5944// SIG // BgEEAYI3FQIEFgQUKqdS/mTEmr6CkTxGNSnPEP8vBO4w
5945// SIG // HQYDVR0OBBYEFJ+nFV0AXmJdg/Tl0mWnG1M1GelyMFwG
5946// SIG // A1UdIARVMFMwUQYMKwYBBAGCN0yDfQEBMEEwPwYIKwYB
5947// SIG // BQUHAgEWM2h0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9w
5948// SIG // a2lvcHMvRG9jcy9SZXBvc2l0b3J5Lmh0bTATBgNVHSUE
5949// SIG // DDAKBggrBgEFBQcDCDAZBgkrBgEEAYI3FAIEDB4KAFMA
5950// SIG // dQBiAEMAQTALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUw
5951// SIG // AwEB/zAfBgNVHSMEGDAWgBTV9lbLj+iiXGJo0T2UkFvX
5952// SIG // zpoYxDBWBgNVHR8ETzBNMEugSaBHhkVodHRwOi8vY3Js
5953// SIG // Lm1pY3Jvc29mdC5jb20vcGtpL2NybC9wcm9kdWN0cy9N
5954// SIG // aWNSb29DZXJBdXRfMjAxMC0wNi0yMy5jcmwwWgYIKwYB
5955// SIG // BQUHAQEETjBMMEoGCCsGAQUFBzAChj5odHRwOi8vd3d3
5956// SIG // Lm1pY3Jvc29mdC5jb20vcGtpL2NlcnRzL01pY1Jvb0Nl
5957// SIG // ckF1dF8yMDEwLTA2LTIzLmNydDANBgkqhkiG9w0BAQsF
5958// SIG // AAOCAgEAnVV9/Cqt4SwfZwExJFvhnnJL/Klv6lwUtj5O
5959// SIG // R2R4sQaTlz0xM7U518JxNj/aZGx80HU5bbsPMeTCj/ts
5960// SIG // 0aGUGCLu6WZnOlNN3Zi6th542DYunKmCVgADsAW+iehp
5961// SIG // 4LoJ7nvfam++Kctu2D9IdQHZGN5tggz1bSNU5HhTdSRX
5962// SIG // ud2f8449xvNo32X2pFaq95W2KFUn0CS9QKC/GbYSEhFd
5963// SIG // PSfgQJY4rPf5KYnDvBewVIVCs/wMnosZiefwC2qBwoEZ
5964// SIG // QhlSdYo2wh3DYXMuLGt7bj8sCXgU6ZGyqVvfSaN0DLzs
5965// SIG // kYDSPeZKPmY7T7uG+jIa2Zb0j/aRAfbOxnT99kxybxCr
5966// SIG // dTDFNLB62FD+CljdQDzHVG2dY3RILLFORy3BFARxv2T5
5967// SIG // JL5zbcqOCb2zAVdJVGTZc9d/HltEAY5aGZFrDZ+kKNxn
5968// SIG // GSgkujhLmm77IVRrakURR6nxt67I6IleT53S0Ex2tVdU
5969// SIG // CbFpAUR+fKFhbHP+CrvsQWY9af3LwUFJfn6Tvsv4O+S3
5970// SIG // Fb+0zj6lMVGEvL8CwYKiexcdFYmNcP7ntdAoGokLjzba
5971// SIG // ukz5m/8K6TT4JDVnK+ANuOaMmdbhIurwJ0I9JZTmdHRb
5972// SIG // atGePu1+oDEzfbzL6Xu/OHBE0ZDxyKs6ijoIYn/ZcGNT
5973// SIG // TY3ugm2lBRDBcQZqELQdVTNYs6FwZvKhggLVMIICPgIB
5974// SIG // ATCCAQChgdikgdUwgdIxCzAJBgNVBAYTAlVTMRMwEQYD
5975// SIG // VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25k
5976// SIG // MR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24x
5977// SIG // LTArBgNVBAsTJE1pY3Jvc29mdCBJcmVsYW5kIE9wZXJh
5978// SIG // dGlvbnMgTGltaXRlZDEmMCQGA1UECxMdVGhhbGVzIFRT
5979// SIG // UyBFU046OEQ0MS00QkY3LUIzQjcxJTAjBgNVBAMTHE1p
5980// SIG // Y3Jvc29mdCBUaW1lLVN0YW1wIFNlcnZpY2WiIwoBATAH
5981// SIG // BgUrDgMCGgMVAD2Il7vDkUOIbynLhOxitAjoMVp6oIGD
5982// SIG // MIGApH4wfDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldh
5983// SIG // c2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNV
5984// SIG // BAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEmMCQGA1UE
5985// SIG // AxMdTWljcm9zb2Z0IFRpbWUtU3RhbXAgUENBIDIwMTAw
5986// SIG // DQYJKoZIhvcNAQEFBQACBQDppi9YMCIYDzIwMjQwMzIx
5987// SIG // MTIwMDI0WhgPMjAyNDAzMjIxMjAwMjRaMHUwOwYKKwYB
5988// SIG // BAGEWQoEATEtMCswCgIFAOmmL1gCAQAwCAIBAAIDAIr8
5989// SIG // MAcCAQACAlsQMAoCBQDpp4DYAgEAMDYGCisGAQQBhFkK
5990// SIG // BAIxKDAmMAwGCisGAQQBhFkKAwKgCjAIAgEAAgMHoSCh
5991// SIG // CjAIAgEAAgMBhqAwDQYJKoZIhvcNAQEFBQADgYEAXxtC
5992// SIG // QhsIs3i3cDZZ0AvijAZ7yDQhh2CWDwAvtI3D/b+TsXTS
5993// SIG // gn5GiUcSBQnhgxmQPkW6B7Ad1D7f2x+pmWmlrgCZp7Jn
5994// SIG // lvac0WwWSsdLaeVS1mCsVKobp8WZ3X/sto4bV8NQcSQQ
5995// SIG // d67rqC2iRkbVM1PSFcT6VmHKRTfcOHatsHQxggQNMIIE
5996// SIG // CQIBATCBkzB8MQswCQYDVQQGEwJVUzETMBEGA1UECBMK
5997// SIG // V2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwG
5998// SIG // A1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYD
5999// SIG // VQQDEx1NaWNyb3NvZnQgVGltZS1TdGFtcCBQQ0EgMjAx
6000// SIG // MAITMwAAAePfvZuaHGiDIgABAAAB4zANBglghkgBZQME
6001// SIG // AgEFAKCCAUowGgYJKoZIhvcNAQkDMQ0GCyqGSIb3DQEJ
6002// SIG // EAEEMC8GCSqGSIb3DQEJBDEiBCAprdBPDwqal6VpAAOV
6003// SIG // i+J92DiJe6lERu9UeZxt4Qn0QzCB+gYLKoZIhvcNAQkQ
6004// SIG // Ai8xgeowgecwgeQwgb0EIDPUI6vlsP5k90SBCNa9wha4
6005// SIG // MlxBt2Crw12PTHIy5iYqMIGYMIGApH4wfDELMAkGA1UE
6006// SIG // BhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNV
6007// SIG // BAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBD
6008// SIG // b3Jwb3JhdGlvbjEmMCQGA1UEAxMdTWljcm9zb2Z0IFRp
6009// SIG // bWUtU3RhbXAgUENBIDIwMTACEzMAAAHj372bmhxogyIA
6010// SIG // AQAAAeMwIgQgfAfgbQHUyCCwG8I1CtfFUY+J5pYJIHw3
6011// SIG // 3qm3nzXXMpEwDQYJKoZIhvcNAQELBQAEggIAOQSUw4z9
6012// SIG // Dc/eTPbnSMOKo4RhCpQ8rBBnu5MUon6DOIpHS5E+xv/N
6013// SIG // /AtZ9HY/VhlH6MmAJgImbvqh9+KopJwEpfOfSyQNALTM
6014// SIG // mjgYmGErF53TeYSDPDfN7l3r4Fd3Lu237/L4niMEOKNs
6015// SIG // LbBouy6UUKCQ78iKwiKCGMAXq9cVKba7FLiuVKNMXoBB
6016// SIG // +imsivm6pU92eg/+/iEzHrTSgWh6nRSWK74mSd9rza8o
6017// SIG // Idp/DKUQPOpB+m4dQEB43+ixdXBZ3+yCSZvreiGwR8vR
6018// SIG // PfonLWxkcE425RRTLTut4yXaOs5fhDZfY5ho13mgYWAD
6019// SIG // KbqIij2ZuvLCMugRFbL2ypMk0xHpA9DSWLuJE25EBe0y
6020// SIG // +WPMtjDDC4Vlv9Iao58tZPkFUh0i5br2bu9J+4YPOaI0
6021// SIG // mIi/auJA7imf1pm2y6FrDYTbp+0bAR3ePZsKgQm8hgYW
6022// SIG // XnJ/I1Mx1NeGTuC0VSMU9/0eFNWzOwdzzGCMxG8pOO34
6023// SIG // K9UuDaRgNpoo+RXp1vNa7NnJ3ifiaeHx8V2mEhqX5gig
6024// SIG // QTHdGpkqPoKBdu9aLxprB+DPzHkAbb+F0Xd9ElnFU/0Z
6025// SIG // VlyVQ8rawejf7dtVFNV+jRX4ET/2qSauKAmweOlncur7
6026// SIG // XufbM4VHBBnZyDqQAkK+kwjsQ/2ALvgxlQDYZVfQTsCT
6027// SIG // sI4ez1LRm+bvHRs=
6028// SIG // End signature block
6029
6030
6031/***/ }),
6032
vendor: 28,976 bytes, lines 6033-6854
6033/***/ "./node_modules/powerbi-router/dist/router.js":
6034/*!****************************************************!*\
6035  !*** ./node_modules/powerbi-router/dist/router.js ***!
6036  \****************************************************/
6037/***/ (function(module) {
6038
6039/*! powerbi-router v0.1.5 | (c) 2016 Microsoft Corporation MIT */
6040(function webpackUniversalModuleDefinition(root, factory) {
6041	if(true)
6042		module.exports = factory();
6043	else {}
6044})(this, function() {
6045return /******/ (function(modules) { // webpackBootstrap
6046/******/ 	// The module cache
6047/******/ 	var installedModules = {};
6048/******/
6049/******/ 	// The require function
6050/******/ 	function __nested_webpack_require_617__(moduleId) {
6051/******/
6052/******/ 		// Check if module is in cache
6053/******/ 		if(installedModules[moduleId])
6054/******/ 			return installedModules[moduleId].exports;
6055/******/
6056/******/ 		// Create a new module (and put it into the cache)
6057/******/ 		var module = installedModules[moduleId] = {
6058/******/ 			exports: {},
6059/******/ 			id: moduleId,
6060/******/ 			loaded: false
6061/******/ 		};
6062/******/
6063/******/ 		// Execute the module function
6064/******/ 		modules[moduleId].call(module.exports, module, module.exports, __nested_webpack_require_617__);
6065/******/
6066/******/ 		// Flag the module as loaded
6067/******/ 		module.loaded = true;
6068/******/
6069/******/ 		// Return the exports of the module
6070/******/ 		return module.exports;
6071/******/ 	}
6072/******/
6073/******/
6074/******/ 	// expose the modules object (__webpack_modules__)
6075/******/ 	__nested_webpack_require_617__.m = modules;
6076/******/
6077/******/ 	// expose the module cache
6078/******/ 	__nested_webpack_require_617__.c = installedModules;
6079/******/
6080/******/ 	// __webpack_public_path__
6081/******/ 	__nested_webpack_require_617__.p = "";
6082/******/
6083/******/ 	// Load entry module and return exports
6084/******/ 	return __nested_webpack_require_617__(0);
6085/******/ })
6086/************************************************************************/
6087/******/ ([
6088/* 0 */
6089/***/ function(module, exports, __nested_webpack_require_1897__) {
6090
6091	"use strict";
6092	var RouteRecognizer = __nested_webpack_require_1897__(1);
6093	var Router = (function () {
6094	    function Router(handlers) {
6095	        this.handlers = handlers;
6096	        /**
6097	         * TODO: look at generating the router dynamically based on list of supported http methods
6098	         * instead of hardcoding the creation of these and the methods.
6099	         */
6100	        this.getRouteRecognizer = new RouteRecognizer();
6101	        this.patchRouteRecognizer = new RouteRecognizer();
6102	        this.postRouteRecognizer = new RouteRecognizer();
6103	        this.putRouteRecognizer = new RouteRecognizer();
6104	        this.deleteRouteRecognizer = new RouteRecognizer();
6105	    }
6106	    Router.prototype.get = function (url, handler) {
6107	        this.registerHandler(this.getRouteRecognizer, "GET", url, handler);
6108	        return this;
6109	    };
6110	    Router.prototype.patch = function (url, handler) {
6111	        this.registerHandler(this.patchRouteRecognizer, "PATCH", url, handler);
6112	        return this;
6113	    };
6114	    Router.prototype.post = function (url, handler) {
6115	        this.registerHandler(this.postRouteRecognizer, "POST", url, handler);
6116	        return this;
6117	    };
6118	    Router.prototype.put = function (url, handler) {
6119	        this.registerHandler(this.putRouteRecognizer, "PUT", url, handler);
6120	        return this;
6121	    };
6122	    Router.prototype.delete = function (url, handler) {
6123	        this.registerHandler(this.deleteRouteRecognizer, "DELETE", url, handler);
6124	        return this;
6125	    };
6126	    /**
6127	     * TODO: This method could use some refactoring.  There is conflict of interest between keeping clean separation of test and handle method
6128	     * Test method only returns boolean indicating if request can be handled, and handle method has opportunity to modify response and return promise of it.
6129	     * In the case of the router with route-recognizer where handlers are associated with routes, this already guarantees that only one handler is selected and makes the test method feel complicated
6130	     * Will leave as is an investigate cleaner ways at later time.
6131	     */
6132	    Router.prototype.registerHandler = function (routeRecognizer, method, url, handler) {
6133	        var routeRecognizerHandler = function (request) {
6134	            var response = new Response();
6135	            return Promise.resolve(handler(request, response))
6136	                .then(function (x) { return response; });
6137	        };
6138	        routeRecognizer.add([
6139	            { path: url, handler: routeRecognizerHandler }
6140	        ]);
6141	        var internalHandler = {
6142	            test: function (request) {
6143	                if (request.method !== method) {
6144	                    return false;
6145	                }
6146	                var matchingRoutes = routeRecognizer.recognize(request.url);
6147	                if (matchingRoutes === undefined) {
6148	                    return false;
6149	                }
6150	                /**
6151	                 * Copy parameters from recognized route to the request so they can be used within the handler function
6152	                 * This isn't ideal because it is side affect which modifies the request instead of strictly testing for true or false
6153	                 * but I don't see a better place to put this.  If we move it between the call to test and the handle it becomes part of the window post message proxy
6154	                 * even though it's responsibility is related to routing.
6155	                 */
6156	                var route = matchingRoutes[0];
6157	                request.params = route.params;
6158	                request.queryParams = matchingRoutes.queryParams;
6159	                request.handler = route.handler;
6160	                return true;
6161	            },
6162	            handle: function (request) {
6163	                return request.handler(request);
6164	            }
6165	        };
6166	        this.handlers.addHandler(internalHandler);
6167	    };
6168	    return Router;
6169	}());
6170	exports.Router = Router;
6171	var Response = (function () {
6172	    function Response() {
6173	        this.statusCode = 200;
6174	        this.headers = {};
6175	        this.body = null;
6176	    }
6177	    Response.prototype.send = function (statusCode, body) {
6178	        this.statusCode = statusCode;
6179	        this.body = body;
6180	    };
6181	    return Response;
6182	}());
6183	exports.Response = Response;
6184
6185
6186/***/ },
6187/* 1 */
6188/***/ function(module, exports, __nested_webpack_require_6218__) {
6189
6190	var __WEBPACK_AMD_DEFINE_RESULT__;/* WEBPACK VAR INJECTION */(function(module) {(function() {
6191	    "use strict";
6192	    function $$route$recognizer$dsl$$Target(path, matcher, delegate) {
6193	      this.path = path;
6194	      this.matcher = matcher;
6195	      this.delegate = delegate;
6196	    }
6197	
6198	    $$route$recognizer$dsl$$Target.prototype = {
6199	      to: function(target, callback) {
6200	        var delegate = this.delegate;
6201	
6202	        if (delegate && delegate.willAddRoute) {
6203	          target = delegate.willAddRoute(this.matcher.target, target);
6204	        }
6205	
6206	        this.matcher.add(this.path, target);
6207	
6208	        if (callback) {
6209	          if (callback.length === 0) { throw new Error("You must have an argument in the function passed to `to`"); }
6210	          this.matcher.addChild(this.path, target, callback, this.delegate);
6211	        }
6212	        return this;
6213	      }
6214	    };
6215	
6216	    function $$route$recognizer$dsl$$Matcher(target) {
6217	      this.routes = {};
6218	      this.children = {};
6219	      this.target = target;
6220	    }
6221	
6222	    $$route$recognizer$dsl$$Matcher.prototype = {
6223	      add: function(path, handler) {
6224	        this.routes[path] = handler;
6225	      },
6226	
6227	      addChild: function(path, target, callback, delegate) {
6228	        var matcher = new $$route$recognizer$dsl$$Matcher(target);
6229	        this.children[path] = matcher;
6230	
6231	        var match = $$route$recognizer$dsl$$generateMatch(path, matcher, delegate);
6232	
6233	        if (delegate && delegate.contextEntered) {
6234	          delegate.contextEntered(target, match);
6235	        }
6236	
6237	        callback(match);
6238	      }
6239	    };
6240	
6241	    function $$route$recognizer$dsl$$generateMatch(startingPath, matcher, delegate) {
6242	      return function(path, nestedCallback) {
6243	        var fullPath = startingPath + path;
6244	
6245	        if (nestedCallback) {
6246	          nestedCallback($$route$recognizer$dsl$$generateMatch(fullPath, matcher, delegate));
6247	        } else {
6248	          return new $$route$recognizer$dsl$$Target(startingPath + path, matcher, delegate);
6249	        }
6250	      };
6251	    }
6252	
6253	    function $$route$recognizer$dsl$$addRoute(routeArray, path, handler) {
6254	      var len = 0;
6255	      for (var i=0; i<routeArray.length; i++) {
6256	        len += routeArray[i].path.length;
6257	      }
6258	
6259	      path = path.substr(len);
6260	      var route = { path: path, handler: handler };
6261	      routeArray.push(route);
6262	    }
6263	
6264	    function $$route$recognizer$dsl$$eachRoute(baseRoute, matcher, callback, binding) {
6265	      var routes = matcher.routes;
6266	
6267	      for (var path in routes) {
6268	        if (routes.hasOwnProperty(path)) {
6269	          var routeArray = baseRoute.slice();
6270	          $$route$recognizer$dsl$$addRoute(routeArray, path, routes[path]);
6271	
6272	          if (matcher.children[path]) {
6273	            $$route$recognizer$dsl$$eachRoute(routeArray, matcher.children[path], callback, binding);
6274	          } else {
6275	            callback.call(binding, routeArray);
6276	          }
6277	        }
6278	      }
6279	    }
6280	
6281	    var $$route$recognizer$dsl$$default = function(callback, addRouteCallback) {
6282	      var matcher = new $$route$recognizer$dsl$$Matcher();
6283	
6284	      callback($$route$recognizer$dsl$$generateMatch("", matcher, this.delegate));
6285	
6286	      $$route$recognizer$dsl$$eachRoute([], matcher, function(route) {
6287	        if (addRouteCallback) { addRouteCallback(this, route); }
6288	        else { this.add(route); }
6289	      }, this);
6290	    };
6291	
6292	    var $$route$recognizer$$specials = [
6293	      '/', '.', '*', '+', '?', '|',
6294	      '(', ')', '[', ']', '{', '}', '\\'
6295	    ];
6296	
6297	    var $$route$recognizer$$escapeRegex = new RegExp('(\\' + $$route$recognizer$$specials.join('|\\') + ')', 'g');
6298	
6299	    function $$route$recognizer$$isArray(test) {
6300	      return Object.prototype.toString.call(test) === "[object Array]";
6301	    }
6302	
6303	    // A Segment represents a segment in the original route description.
6304	    // Each Segment type provides an `eachChar` and `regex` method.
6305	    //
6306	    // The `eachChar` method invokes the callback with one or more character
6307	    // specifications. A character specification consumes one or more input
6308	    // characters.
6309	    //
6310	    // The `regex` method returns a regex fragment for the segment. If the
6311	    // segment is a dynamic of star segment, the regex fragment also includes
6312	    // a capture.
6313	    //
6314	    // A character specification contains:
6315	    //
6316	    // * `validChars`: a String with a list of all valid characters, or
6317	    // * `invalidChars`: a String with a list of all invalid characters
6318	    // * `repeat`: true if the character specification can repeat
6319	
6320	    function $$route$recognizer$$StaticSegment(string) { this.string = string; }
6321	    $$route$recognizer$$StaticSegment.prototype = {
6322	      eachChar: function(currentState) {
6323	        var string = this.string, ch;
6324	
6325	        for (var i=0; i<string.length; i++) {
6326	          ch = string.charAt(i);
6327	          currentState = currentState.put({ invalidChars: undefined, repeat: false, validChars: ch });
6328	        }
6329	
6330	        return currentState;
6331	      },
6332	
6333	      regex: function() {
6334	        return this.string.replace($$route$recognizer$$escapeRegex, '\\$1');
6335	      },
6336	
6337	      generate: function() {
6338	        return this.string;
6339	      }
6340	    };
6341	
6342	    function $$route$recognizer$$DynamicSegment(name) { this.name = name; }
6343	    $$route$recognizer$$DynamicSegment.prototype = {
6344	      eachChar: function(currentState) {
6345	        return currentState.put({ invalidChars: "/", repeat: true, validChars: undefined });
6346	      },
6347	
6348	      regex: function() {
6349	        return "([^/]+)";
6350	      },
6351	
6352	      generate: function(params) {
6353	        return params[this.name];
6354	      }
6355	    };
6356	
6357	    function $$route$recognizer$$StarSegment(name) { this.name = name; }
6358	    $$route$recognizer$$StarSegment.prototype = {
6359	      eachChar: function(currentState) {
6360	        return currentState.put({ invalidChars: "", repeat: true, validChars: undefined });
6361	      },
6362	
6363	      regex: function() {
6364	        return "(.+)";
6365	      },
6366	
6367	      generate: function(params) {
6368	        return params[this.name];
6369	      }
6370	    };
6371	
6372	    function $$route$recognizer$$EpsilonSegment() {}
6373	    $$route$recognizer$$EpsilonSegment.prototype = {
6374	      eachChar: function(currentState) {
6375	        return currentState;
6376	      },
6377	      regex: function() { return ""; },
6378	      generate: function() { return ""; }
6379	    };
6380	
6381	    function $$route$recognizer$$parse(route, names, specificity) {
6382	      // normalize route as not starting with a "/". Recognition will
6383	      // also normalize.
6384	      if (route.charAt(0) === "/") { route = route.substr(1); }
6385	
6386	      var segments = route.split("/");
6387	      var results = new Array(segments.length);
6388	
6389	      // A routes has specificity determined by the order that its different segments
6390	      // appear in. This system mirrors how the magnitude of numbers written as strings
6391	      // works.
6392	      // Consider a number written as: "abc". An example would be "200". Any other number written
6393	      // "xyz" will be smaller than "abc" so long as `a > z`. For instance, "199" is smaller
6394	      // then "200", even though "y" and "z" (which are both 9) are larger than "0" (the value
6395	      // of (`b` and `c`). This is because the leading symbol, "2", is larger than the other
6396	      // leading symbol, "1".
6397	      // The rule is that symbols to the left carry more weight than symbols to the right
6398	      // when a number is written out as a string. In the above strings, the leading digit
6399	      // represents how many 100's are in the number, and it carries more weight than the middle
6400	      // number which represents how many 10's are in the number.
6401	      // This system of number magnitude works well for route specificity, too. A route written as
6402	      // `a/b/c` will be more specific than `x/y/z` as long as `a` is more specific than
6403	      // `x`, irrespective of the other parts.
6404	      // Because of this similarity, we assign each type of segment a number value written as a
6405	      // string. We can find the specificity of compound routes by concatenating these strings
6406	      // together, from left to right. After we have looped through all of the segments,
6407	      // we convert the string to a number.
6408	      specificity.val = '';
6409	
6410	      for (var i=0; i<segments.length; i++) {
6411	        var segment = segments[i], match;
6412	
6413	        if (match = segment.match(/^:([^\/]+)$/)) {
6414	          results[i] = new $$route$recognizer$$DynamicSegment(match[1]);
6415	          names.push(match[1]);
6416	          specificity.val += '3';
6417	        } else if (match = segment.match(/^\*([^\/]+)$/)) {
6418	          results[i] = new $$route$recognizer$$StarSegment(match[1]);
6419	          specificity.val += '1';
6420	          names.push(match[1]);
6421	        } else if(segment === "") {
6422	          results[i] = new $$route$recognizer$$EpsilonSegment();
6423	          specificity.val += '2';
6424	        } else {
6425	          results[i] = new $$route$recognizer$$StaticSegment(segment);
6426	          specificity.val += '4';
6427	        }
6428	      }
6429	
6430	      specificity.val = +specificity.val;
6431	
6432	      return results;
6433	    }
6434	
6435	    // A State has a character specification and (`charSpec`) and a list of possible
6436	    // subsequent states (`nextStates`).
6437	    //
6438	    // If a State is an accepting state, it will also have several additional
6439	    // properties:
6440	    //
6441	    // * `regex`: A regular expression that is used to extract parameters from paths
6442	    //   that reached this accepting state.
6443	    // * `handlers`: Information on how to convert the list of captures into calls
6444	    //   to registered handlers with the specified parameters
6445	    // * `types`: How many static, dynamic or star segments in this route. Used to
6446	    //   decide which route to use if multiple registered routes match a path.
6447	    //
6448	    // Currently, State is implemented naively by looping over `nextStates` and
6449	    // comparing a character specification against a character. A more efficient
6450	    // implementation would use a hash of keys pointing at one or more next states.
6451	
6452	    function $$route$recognizer$$State(charSpec) {
6453	      this.charSpec = charSpec;
6454	      this.nextStates = [];
6455	      this.charSpecs = {};
6456	      this.regex = undefined;
6457	      this.handlers = undefined;
6458	      this.specificity = undefined;
6459	    }
6460	
6461	    $$route$recognizer$$State.prototype = {
6462	      get: function(charSpec) {
6463	        if (this.charSpecs[charSpec.validChars]) {
6464	          return this.charSpecs[charSpec.validChars];
6465	        }
6466	
6467	        var nextStates = this.nextStates;
6468	
6469	        for (var i=0; i<nextStates.length; i++) {
6470	          var child = nextStates[i];
6471	
6472	          var isEqual = child.charSpec.validChars === charSpec.validChars;
6473	          isEqual = isEqual && child.charSpec.invalidChars === charSpec.invalidChars;
6474	
6475	          if (isEqual) {
6476	            this.charSpecs[charSpec.validChars] = child;
6477	            return child;
6478	          }
6479	        }
6480	      },
6481	
6482	      put: function(charSpec) {
6483	        var state;
6484	
6485	        // If the character specification already exists in a child of the current
6486	        // state, just return that state.
6487	        if (state = this.get(charSpec)) { return state; }
6488	
6489	        // Make a new state for the character spec
6490	        state = new $$route$recognizer$$State(charSpec);
6491	
6492	        // Insert the new state as a child of the current state
6493	        this.nextStates.push(state);
6494	
6495	        // If this character specification repeats, insert the new state as a child
6496	        // of itself. Note that this will not trigger an infinite loop because each
6497	        // transition during recognition consumes a character.
6498	        if (charSpec.repeat) {
6499	          state.nextStates.push(state);
6500	        }
6501	
6502	        // Return the new state
6503	        return state;
6504	      },
6505	
6506	      // Find a list of child states matching the next character
6507	      match: function(ch) {
6508	        var nextStates = this.nextStates,
6509	            child, charSpec, chars;
6510	
6511	        var returned = [];
6512	
6513	        for (var i=0; i<nextStates.length; i++) {
6514	          child = nextStates[i];
6515	
6516	          charSpec = child.charSpec;
6517	
6518	          if (typeof (chars = charSpec.validChars) !== 'undefined') {
6519	            if (chars.indexOf(ch) !== -1) { returned.push(child); }
6520	          } else if (typeof (chars = charSpec.invalidChars) !== 'undefined') {
6521	            if (chars.indexOf(ch) === -1) { returned.push(child); }
6522	          }
6523	        }
6524	
6525	        return returned;
6526	      }
6527	    };
6528	
6529	    // Sort the routes by specificity
6530	    function $$route$recognizer$$sortSolutions(states) {
6531	      return states.sort(function(a, b) {
6532	        return b.specificity.val - a.specificity.val;
6533	      });
6534	    }
6535	
6536	    function $$route$recognizer$$recognizeChar(states, ch) {
6537	      var nextStates = [];
6538	
6539	      for (var i=0, l=states.length; i<l; i++) {
6540	        var state = states[i];
6541	
6542	        nextStates = nextStates.concat(state.match(ch));
6543	      }
6544	
6545	      return nextStates;
6546	    }
6547	
6548	    var $$route$recognizer$$oCreate = Object.create || function(proto) {
6549	      function F() {}
6550	      F.prototype = proto;
6551	      return new F();
6552	    };
6553	
6554	    function $$route$recognizer$$RecognizeResults(queryParams) {
6555	      this.queryParams = queryParams || {};
6556	    }
6557	    $$route$recognizer$$RecognizeResults.prototype = $$route$recognizer$$oCreate({
6558	      splice: Array.prototype.splice,
6559	      slice:  Array.prototype.slice,
6560	      push:   Array.prototype.push,
6561	      length: 0,
6562	      queryParams: null
6563	    });
6564	
6565	    function $$route$recognizer$$findHandler(state, path, queryParams) {
6566	      var handlers = state.handlers, regex = state.regex;
6567	      var captures = path.match(regex), currentCapture = 1;
6568	      var result = new $$route$recognizer$$RecognizeResults(queryParams);
6569	
6570	      result.length = handlers.length;
6571	
6572	      for (var i=0; i<handlers.length; i++) {
6573	        var handler = handlers[i], names = handler.names, params = {};
6574	
6575	        for (var j=0; j<names.length; j++) {
6576	          params[names[j]] = captures[currentCapture++];
6577	        }
6578	
6579	        result[i] = { handler: handler.handler, params: params, isDynamic: !!names.length };
6580	      }
6581	
6582	      return result;
6583	    }
6584	
6585	    function $$route$recognizer$$decodeQueryParamPart(part) {
6586	      // http://www.w3.org/TR/html401/interact/forms.html#h-17.13.4.1
6587	      part = part.replace(/\+/gm, '%20');
6588	      var result;
6589	      try {
6590	        result = decodeURIComponent(part);
6591	      } catch(error) {result = '';}
6592	      return result;
6593	    }
6594	
6595	    // The main interface
6596	
6597	    var $$route$recognizer$$RouteRecognizer = function() {
6598	      this.rootState = new $$route$recognizer$$State();
6599	      this.names = {};
6600	    };
6601	
6602	
6603	    $$route$recognizer$$RouteRecognizer.prototype = {
6604	      add: function(routes, options) {
6605	        var currentState = this.rootState, regex = "^",
6606	            specificity = {},
6607	            handlers = new Array(routes.length), allSegments = [], name;
6608	
6609	        var isEmpty = true;
6610	
6611	        for (var i=0; i<routes.length; i++) {
6612	          var route = routes[i], names = [];
6613	
6614	          var segments = $$route$recognizer$$parse(route.path, names, specificity);
6615	
6616	          allSegments = allSegments.concat(segments);
6617	
6618	          for (var j=0; j<segments.length; j++) {
6619	            var segment = segments[j];
6620	
6621	            if (segment instanceof $$route$recognizer$$EpsilonSegment) { continue; }
6622	
6623	            isEmpty = false;
6624	
6625	            // Add a "/" for the new segment
6626	            currentState = currentState.put({ invalidChars: undefined, repeat: false, validChars: "/" });
6627	            regex += "/";
6628	
6629	            // Add a representation of the segment to the NFA and regex
6630	            currentState = segment.eachChar(currentState);
6631	            regex += segment.regex();
6632	          }
6633	          var handler = { handler: route.handler, names: names };
6634	          handlers[i] = handler;
6635	        }
6636	
6637	        if (isEmpty) {
6638	          currentState = currentState.put({ invalidChars: undefined, repeat: false, validChars: "/" });
6639	          regex += "/";
6640	        }
6641	
6642	        currentState.handlers = handlers;
6643	        currentState.regex = new RegExp(regex + "$");
6644	        currentState.specificity = specificity;
6645	
6646	        if (name = options && options.as) {
6647	          this.names[name] = {
6648	            segments: allSegments,
6649	            handlers: handlers
6650	          };
6651	        }
6652	      },
6653	
6654	      handlersFor: function(name) {
6655	        var route = this.names[name];
6656	
6657	        if (!route) { throw new Error("There is no route named " + name); }
6658	
6659	        var result = new Array(route.handlers.length);
6660	
6661	        for (var i=0; i<route.handlers.length; i++) {
6662	          result[i] = route.handlers[i];
6663	        }
6664	
6665	        return result;
6666	      },
6667	
6668	      hasRoute: function(name) {
6669	        return !!this.names[name];
6670	      },
6671	
6672	      generate: function(name, params) {
6673	        var route = this.names[name], output = "";
6674	        if (!route) { throw new Error("There is no route named " + name); }
6675	
6676	        var segments = route.segments;
6677	
6678	        for (var i=0; i<segments.length; i++) {
6679	          var segment = segments[i];
6680	
6681	          if (segment instanceof $$route$recognizer$$EpsilonSegment) { continue; }
6682	
6683	          output += "/";
6684	          output += segment.generate(params);
6685	        }
6686	
6687	        if (output.charAt(0) !== '/') { output = '/' + output; }
6688	
6689	        if (params && params.queryParams) {
6690	          output += this.generateQueryString(params.queryParams, route.handlers);
6691	        }
6692	
6693	        return output;
6694	      },
6695	
6696	      generateQueryString: function(params, handlers) {
6697	        var pairs = [];
6698	        var keys = [];
6699	        for(var key in params) {
6700	          if (params.hasOwnProperty(key)) {
6701	            keys.push(key);
6702	          }
6703	        }
6704	        keys.sort();
6705	        for (var i = 0; i < keys.length; i++) {
6706	          key = keys[i];
6707	          var value = params[key];
6708	          if (value == null) {
6709	            continue;
6710	          }
6711	          var pair = encodeURIComponent(key);
6712	          if ($$route$recognizer$$isArray(value)) {
6713	            for (var j = 0; j < value.length; j++) {
6714	              var arrayPair = key + '[]' + '=' + encodeURIComponent(value[j]);
6715	              pairs.push(arrayPair);
6716	            }
6717	          } else {
6718	            pair += "=" + encodeURIComponent(value);
6719	            pairs.push(pair);
6720	          }
6721	        }
6722	
6723	        if (pairs.length === 0) { return ''; }
6724	
6725	        return "?" + pairs.join("&");
6726	      },
6727	
6728	      parseQueryString: function(queryString) {
6729	        var pairs = queryString.split("&"), queryParams = {};
6730	        for(var i=0; i < pairs.length; i++) {
6731	          var pair      = pairs[i].split('='),
6732	              key       = $$route$recognizer$$decodeQueryParamPart(pair[0]),
6733	              keyLength = key.length,
6734	              isArray = false,
6735	              value;
6736	          if (pair.length === 1) {
6737	            value = 'true';
6738	          } else {
6739	            //Handle arrays
6740	            if (keyLength > 2 && key.slice(keyLength -2) === '[]') {
6741	              isArray = true;
6742	              key = key.slice(0, keyLength - 2);
6743	              if(!queryParams[key]) {
6744	                queryParams[key] = [];
6745	              }
6746	            }
6747	            value = pair[1] ? $$route$recognizer$$decodeQueryParamPart(pair[1]) : '';
6748	          }
6749	          if (isArray) {
6750	            queryParams[key].push(value);
6751	          } else {
6752	            queryParams[key] = value;
6753	          }
6754	        }
6755	        return queryParams;
6756	      },
6757	
6758	      recognize: function(path) {
6759	        var states = [ this.rootState ],
6760	            pathLen, i, l, queryStart, queryParams = {},
6761	            isSlashDropped = false;
6762	
6763	        queryStart = path.indexOf('?');
6764	        if (queryStart !== -1) {
6765	          var queryString = path.substr(queryStart + 1, path.length);
6766	          path = path.substr(0, queryStart);
6767	          queryParams = this.parseQueryString(queryString);
6768	        }
6769	
6770	        path = decodeURI(path);
6771	
6772	        if (path.charAt(0) !== "/") { path = "/" + path; }
6773	
6774	        pathLen = path.length;
6775	        if (pathLen > 1 && path.charAt(pathLen - 1) === "/") {
6776	          path = path.substr(0, pathLen - 1);
6777	          isSlashDropped = true;
6778	        }
6779	
6780	        for (i=0; i<path.length; i++) {
6781	          states = $$route$recognizer$$recognizeChar(states, path.charAt(i));
6782	          if (!states.length) { break; }
6783	        }
6784	
6785	        var solutions = [];
6786	        for (i=0; i<states.length; i++) {
6787	          if (states[i].handlers) { solutions.push(states[i]); }
6788	        }
6789	
6790	        states = $$route$recognizer$$sortSolutions(solutions);
6791	
6792	        var state = solutions[0];
6793	
6794	        if (state && state.handlers) {
6795	          // if a trailing slash was dropped and a star segment is the last segment
6796	          // specified, put the trailing slash back
6797	          if (isSlashDropped && state.regex.source.slice(-5) === "(.+)$") {
6798	            path = path + "/";
6799	          }
6800	          return $$route$recognizer$$findHandler(state, path, queryParams);
6801	        }
6802	      }
6803	    };
6804	
6805	    $$route$recognizer$$RouteRecognizer.prototype.map = $$route$recognizer$dsl$$default;
6806	
6807	    $$route$recognizer$$RouteRecognizer.VERSION = '0.1.11';
6808	
6809	    var $$route$recognizer$$default = $$route$recognizer$$RouteRecognizer;
6810	
6811	    /* global define:true module:true window: true */
6812	    if ( true && __nested_webpack_require_6218__(3)['amd']) {
6813	      !(__WEBPACK_AMD_DEFINE_RESULT__ = function() { return $$route$recognizer$$default; }.call(exports, __nested_webpack_require_6218__, exports, module), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
6814	    } else if (typeof module !== 'undefined' && module['exports']) {
6815	      module['exports'] = $$route$recognizer$$default;
6816	    } else if (typeof this !== 'undefined') {
6817	      this['RouteRecognizer'] = $$route$recognizer$$default;
6818	    }
6819	}).call(this);
6820	
6821	//# sourceMappingURL=route-recognizer.js.map
6822	/* WEBPACK VAR INJECTION */}.call(exports, __nested_webpack_require_6218__(2)(module)))
6823
6824/***/ },
6825/* 2 */
6826/***/ function(module, exports) {
6827
6828	module.exports = function(module) {
6829		if(!module.webpackPolyfill) {
6830			module.deprecate = function() {};
6831			module.paths = [];
6832			// module.parent = undefined by default
6833			module.children = [];
6834			module.webpackPolyfill = 1;
6835		}
6836		return module;
6837	}
6838
6839
6840/***/ },
6841/* 3 */
6842/***/ function(module, exports) {
6843
6844	module.exports = function() { throw new Error("define cannot be used indirect"); };
6845
6846
6847/***/ }
6848/******/ ])
6849});
6850;
6851//# sourceMappingURL=router.js.map
6852
6853/***/ }),
6854
vendor: 7,830 bytes, lines 6855-7086
6855/***/ "./src/FilterBuilders/advancedFilterBuilder.ts":
6856/*!*****************************************************!*\
6857  !*** ./src/FilterBuilders/advancedFilterBuilder.ts ***!
6858  \*****************************************************/
6859/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
6860
6861// Copyright (c) Microsoft Corporation.
6862// Licensed under the MIT License.
6863var __extends = (this && this.__extends) || (function () {
6864    var extendStatics = function (d, b) {
6865        extendStatics = Object.setPrototypeOf ||
6866            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6867            function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
6868        return extendStatics(d, b);
6869    };
6870    return function (d, b) {
6871        if (typeof b !== "function" && b !== null)
6872            throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
6873        extendStatics(d, b);
6874        function __() { this.constructor = d; }
6875        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
6876    };
6877})();
6878Object.defineProperty(exports, "__esModule", ({ value: true }));
6879exports.AdvancedFilterBuilder = void 0;
6880var powerbi_models_1 = __webpack_require__(/*! powerbi-models */ "./node_modules/powerbi-models/dist/models.js");
6881var filterBuilder_1 = __webpack_require__(/*! ./filterBuilder */ "./src/FilterBuilders/filterBuilder.ts");
6882/**
6883 * Power BI Advanced filter builder component
6884 *
6885 * @export
6886 * @class AdvancedFilterBuilder
6887 * @extends {FilterBuilder}
6888 */
6889var AdvancedFilterBuilder = /** @class */ (function (_super) {
6890    __extends(AdvancedFilterBuilder, _super);
6891    function AdvancedFilterBuilder() {
6892        var _this = _super !== null && _super.apply(this, arguments) || this;
6893        _this.conditions = [];
6894        return _this;
6895    }
6896    /**
6897     * Sets And as logical operator for Advanced filter
6898     *
6899     * ```javascript
6900     *
6901     * const advancedFilterBuilder = new AdvancedFilterBuilder().and();
6902     * ```
6903     *
6904     * @returns {AdvancedFilterBuilder}
6905     */
6906    AdvancedFilterBuilder.prototype.and = function () {
6907        this.logicalOperator = "And";
6908        return this;
6909    };
6910    /**
6911     * Sets Or as logical operator for Advanced filter
6912     *
6913     * ```javascript
6914     *
6915     * const advancedFilterBuilder = new AdvancedFilterBuilder().or();
6916     * ```
6917     *
6918     * @returns {AdvancedFilterBuilder}
6919     */
6920    AdvancedFilterBuilder.prototype.or = function () {
6921        this.logicalOperator = "Or";
6922        return this;
6923    };
6924    /**
6925     * Adds a condition in Advanced filter
6926     *
6927     * ```javascript
6928     *
6929     * // Add two conditions
6930     * const advancedFilterBuilder = new AdvancedFilterBuilder().addCondition("Contains", "Wash").addCondition("Contains", "Park");
6931     * ```
6932     *
6933     * @returns {AdvancedFilterBuilder}
6934     */
6935    AdvancedFilterBuilder.prototype.addCondition = function (operator, value) {
6936        var condition = {
6937            operator: operator,
6938            value: value
6939        };
6940        this.conditions.push(condition);
6941        return this;
6942    };
6943    /**
6944     * Creates Advanced filter
6945     *
6946     * ```javascript
6947     *
6948     * const advancedFilterBuilder = new AdvancedFilterBuilder().build();
6949     * ```
6950     *
6951     * @returns {AdvancedFilter}
6952     */
6953    AdvancedFilterBuilder.prototype.build = function () {
6954        var advancedFilter = new powerbi_models_1.AdvancedFilter(this.target, this.logicalOperator, this.conditions);
6955        return advancedFilter;
6956    };
6957    return AdvancedFilterBuilder;
6958}(filterBuilder_1.FilterBuilder));
6959exports.AdvancedFilterBuilder = AdvancedFilterBuilder;
6960
6961
6962/***/ }),
6963
6964/***/ "./src/FilterBuilders/basicFilterBuilder.ts":
6965/*!**************************************************!*\
6966  !*** ./src/FilterBuilders/basicFilterBuilder.ts ***!
6967  \**************************************************/
6968/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
6969
6970// Copyright (c) Microsoft Corporation.
6971// Licensed under the MIT License.
6972var __extends = (this && this.__extends) || (function () {
6973    var extendStatics = function (d, b) {
6974        extendStatics = Object.setPrototypeOf ||
6975            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6976            function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
6977        return extendStatics(d, b);
6978    };
6979    return function (d, b) {
6980        if (typeof b !== "function" && b !== null)
6981            throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
6982        extendStatics(d, b);
6983        function __() { this.constructor = d; }
6984        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
6985    };
6986})();
6987Object.defineProperty(exports, "__esModule", ({ value: true }));
6988exports.BasicFilterBuilder = void 0;
6989var powerbi_models_1 = __webpack_require__(/*! powerbi-models */ "./node_modules/powerbi-models/dist/models.js");
6990var filterBuilder_1 = __webpack_require__(/*! ./filterBuilder */ "./src/FilterBuilders/filterBuilder.ts");
6991/**
6992 * Power BI Basic filter builder component
6993 *
6994 * @export
6995 * @class BasicFilterBuilder
6996 * @extends {FilterBuilder}
6997 */
6998var BasicFilterBuilder = /** @class */ (function (_super) {
6999    __extends(BasicFilterBuilder, _super);
7000    function BasicFilterBuilder() {
7001        var _this = _super !== null && _super.apply(this, arguments) || this;
7002        _this.isRequireSingleSelection = false;
7003        return _this;
7004    }
7005    /**
7006     * Sets In as operator for Basic filter
7007     *
7008     * ```javascript
7009     *
7010     * const basicFilterBuilder = new BasicFilterBuilder().in([values]);
7011     * ```
7012     *
7013     * @returns {BasicFilterBuilder}
7014     */
7015    BasicFilterBuilder.prototype.in = function (values) {
7016        this.operator = "In";
7017        this.values = values;
7018        return this;
7019    };
7020    /**
7021     * Sets NotIn as operator for Basic filter
7022     *
7023     * ```javascript
7024     *
7025     * const basicFilterBuilder = new BasicFilterBuilder().notIn([values]);
7026     * ```
7027     *
7028     * @returns {BasicFilterBuilder}
7029     */
7030    BasicFilterBuilder.prototype.notIn = function (values) {
7031        this.operator = "NotIn";
7032        this.values = values;
7033        return this;
7034    };
7035    /**
7036     * Sets All as operator for Basic filter
7037     *
7038     * ```javascript
7039     *
7040     * const basicFilterBuilder = new BasicFilterBuilder().all();
7041     * ```
7042     *
7043     * @returns {BasicFilterBuilder}
7044     */
7045    BasicFilterBuilder.prototype.all = function () {
7046        this.operator = "All";
7047        this.values = [];
7048        return this;
7049    };
7050    /**
7051     * Sets required single selection property for Basic filter
7052     *
7053     * ```javascript
7054     *
7055     * const basicFilterBuilder = new BasicFilterBuilder().requireSingleSelection(isRequireSingleSelection);
7056     * ```
7057     *
7058     * @returns {BasicFilterBuilder}
7059     */
7060    BasicFilterBuilder.prototype.requireSingleSelection = function (isRequireSingleSelection) {
7061        if (isRequireSingleSelection === void 0) { isRequireSingleSelection = false; }
7062        this.isRequireSingleSelection = isRequireSingleSelection;
7063        return this;
7064    };
7065    /**
7066     * Creates Basic filter
7067     *
7068     * ```javascript
7069     *
7070     * const basicFilterBuilder = new BasicFilterBuilder().build();
7071     * ```
7072     *
7073     * @returns {BasicFilter}
7074     */
7075    BasicFilterBuilder.prototype.build = function () {
7076        var basicFilter = new powerbi_models_1.BasicFilter(this.target, this.operator, this.values);
7077        basicFilter.requireSingleSelection = this.isRequireSingleSelection;
7078        return basicFilter;
7079    };
7080    return BasicFilterBuilder;
7081}(filterBuilder_1.FilterBuilder));
7082exports.BasicFilterBuilder = BasicFilterBuilder;
7083
7084
7085/***/ }),
7086
7087/***/ "./src/FilterBuilders/filterBuilder.ts":
7088/*!*********************************************!*\
7089  !*** ./src/FilterBuilders/filterBuilder.ts ***!
7090  \*********************************************/
7091/***/ ((__unused_webpack_module, exports) => {
7092
7093// Copyright (c) Microsoft Corporation.
7094// Licensed under the MIT License.
7095Object.defineProperty(exports, "__esModule", ({ value: true }));
7096exports.FilterBuilder = void 0;
7097/**
7098 * Generic filter builder for BasicFilter, AdvancedFilter, RelativeDate, RelativeTime and TopN
7099 *
7100 * @class
7101 */
7102var FilterBuilder = /** @class */ (function () {
7103    function FilterBuilder() {
7104    }
7105    /**
7106     * Sets target property for filter with target object
7107     *
7108     * ```javascript
7109     * const target = {
7110     *  table: 'table1',
7111     *  column: 'column1'
7112     * };
7113     *
7114     * const filterBuilder = new FilterBuilder().withTargetObject(target);
7115     * ```
7116     *
7117     * @returns {FilterBuilder}
7118     */
7119    FilterBuilder.prototype.withTargetObject = function (target) {
7120        this.target = target;
7121        return this;
7122    };
7123    /**
7124     * Sets target property for filter with column target object
7125     *
7126     * ```
7127     * const filterBuilder = new FilterBuilder().withColumnTarget(tableName, columnName);
7128     * ```
7129     *
7130     * @returns {FilterBuilder}
7131     */
7132    FilterBuilder.prototype.withColumnTarget = function (tableName, columnName) {
7133        this.target = { table: tableName, column: columnName };
7134        return this;
7135    };
7136    /**
7137     * Sets target property for filter with measure target object
7138     *
7139     * ```
7140     * const filterBuilder = new FilterBuilder().withMeasureTarget(tableName, measure);
7141     * ```
7142     *
7143     * @returns {FilterBuilder}
7144     */
7145    FilterBuilder.prototype.withMeasureTarget = function (tableName, measure) {
7146        this.target = { table: tableName, measure: measure };
7147        return this;
7148    };
7149    /**
7150     * Sets target property for filter with hierarchy level target object
7151     *
7152     * ```
7153     * const filterBuilder = new FilterBuilder().withHierarchyLevelTarget(tableName, hierarchy, hierarchyLevel);
7154     * ```
7155     *
7156     * @returns {FilterBuilder}
7157     */
7158    FilterBuilder.prototype.withHierarchyLevelTarget = function (tableName, hierarchy, hierarchyLevel) {
7159        this.target = { table: tableName, hierarchy: hierarchy, hierarchyLevel: hierarchyLevel };
7160        return this;
7161    };
7162    /**
7163     * Sets target property for filter with column aggregation target object
7164     *
7165     * ```
7166     * const filterBuilder = new FilterBuilder().withColumnAggregation(tableName, columnName, aggregationFunction);
7167     * ```
7168     *
7169     * @returns {FilterBuilder}
7170     */
7171    FilterBuilder.prototype.withColumnAggregation = function (tableName, columnName, aggregationFunction) {
7172        this.target = { table: tableName, column: columnName, aggregationFunction: aggregationFunction };
7173        return this;
7174    };
7175    /**
7176     * Sets target property for filter with hierarchy level aggregation target object
7177     *
7178     * ```
7179     * const filterBuilder = new FilterBuilder().withHierarchyLevelAggregationTarget(tableName, hierarchy, hierarchyLevel, aggregationFunction);
7180     * ```
7181     *
7182     * @returns {FilterBuilder}
7183     */
7184    FilterBuilder.prototype.withHierarchyLevelAggregationTarget = function (tableName, hierarchy, hierarchyLevel, aggregationFunction) {
7185        this.target = { table: tableName, hierarchy: hierarchy, hierarchyLevel: hierarchyLevel, aggregationFunction: aggregationFunction };
7186        return this;
7187    };
7188    return FilterBuilder;
7189}());
7190exports.FilterBuilder = FilterBuilder;
7191
7192
7193/***/ }),
7194
7195/***/ "./src/FilterBuilders/index.ts":
7196/*!*************************************!*\
7197  !*** ./src/FilterBuilders/index.ts ***!
7198  \*************************************/
7199/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
7200
7201// Copyright (c) Microsoft Corporation.
7202// Licensed under the MIT License.
7203Object.defineProperty(exports, "__esModule", ({ value: true }));
7204exports.RelativeTimeFilterBuilder = exports.RelativeDateFilterBuilder = exports.TopNFilterBuilder = exports.AdvancedFilterBuilder = exports.BasicFilterBuilder = void 0;
7205var basicFilterBuilder_1 = __webpack_require__(/*! ./basicFilterBuilder */ "./src/FilterBuilders/basicFilterBuilder.ts");
7206Object.defineProperty(exports, "BasicFilterBuilder", ({ enumerable: true, get: function () { return basicFilterBuilder_1.BasicFilterBuilder; } }));
7207var advancedFilterBuilder_1 = __webpack_require__(/*! ./advancedFilterBuilder */ "./src/FilterBuilders/advancedFilterBuilder.ts");
7208Object.defineProperty(exports, "AdvancedFilterBuilder", ({ enumerable: true, get: function () { return advancedFilterBuilder_1.AdvancedFilterBuilder; } }));
7209var topNFilterBuilder_1 = __webpack_require__(/*! ./topNFilterBuilder */ "./src/FilterBuilders/topNFilterBuilder.ts");
7210Object.defineProperty(exports, "TopNFilterBuilder", ({ enumerable: true, get: function () { return topNFilterBuilder_1.TopNFilterBuilder; } }));
7211var relativeDateFilterBuilder_1 = __webpack_require__(/*! ./relativeDateFilterBuilder */ "./src/FilterBuilders/relativeDateFilterBuilder.ts");
7212Object.defineProperty(exports, "RelativeDateFilterBuilder", ({ enumerable: true, get: function () { return relativeDateFilterBuilder_1.RelativeDateFilterBuilder; } }));
7213var relativeTimeFilterBuilder_1 = __webpack_require__(/*! ./relativeTimeFilterBuilder */ "./src/FilterBuilders/relativeTimeFilterBuilder.ts");
7214Object.defineProperty(exports, "RelativeTimeFilterBuilder", ({ enumerable: true, get: function () { return relativeTimeFilterBuilder_1.RelativeTimeFilterBuilder; } }));
7215
7216
7217/***/ }),
7218
vendor: 24,187 bytes, lines 7219-7818
7219/***/ "./src/FilterBuilders/relativeDateFilterBuilder.ts":
7220/*!*********************************************************!*\
7221  !*** ./src/FilterBuilders/relativeDateFilterBuilder.ts ***!
7222  \*********************************************************/
7223/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
7224
7225// Copyright (c) Microsoft Corporation.
7226// Licensed under the MIT License.
7227var __extends = (this && this.__extends) || (function () {
7228    var extendStatics = function (d, b) {
7229        extendStatics = Object.setPrototypeOf ||
7230            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
7231            function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7232        return extendStatics(d, b);
7233    };
7234    return function (d, b) {
7235        if (typeof b !== "function" && b !== null)
7236            throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
7237        extendStatics(d, b);
7238        function __() { this.constructor = d; }
7239        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
7240    };
7241})();
7242Object.defineProperty(exports, "__esModule", ({ value: true }));
7243exports.RelativeDateFilterBuilder = void 0;
7244var powerbi_models_1 = __webpack_require__(/*! powerbi-models */ "./node_modules/powerbi-models/dist/models.js");
7245var filterBuilder_1 = __webpack_require__(/*! ./filterBuilder */ "./src/FilterBuilders/filterBuilder.ts");
7246/**
7247 * Power BI Relative Date filter builder component
7248 *
7249 * @export
7250 * @class RelativeDateFilterBuilder
7251 * @extends {FilterBuilder}
7252 */
7253var RelativeDateFilterBuilder = /** @class */ (function (_super) {
7254    __extends(RelativeDateFilterBuilder, _super);
7255    function RelativeDateFilterBuilder() {
7256        var _this = _super !== null && _super.apply(this, arguments) || this;
7257        _this.isTodayIncluded = true;
7258        return _this;
7259    }
7260    /**
7261     * Sets inLast as operator for Relative Date filter
7262     *
7263     * ```javascript
7264     *
7265     * const relativeDateFilterBuilder = new RelativeDateFilterBuilder().inLast(timeUnitsCount, timeUnitType);
7266     * ```
7267     *
7268     * @param {number} timeUnitsCount - The amount of time units
7269     * @param {RelativeDateFilterTimeUnit} timeUnitType - Defines the unit of time the filter is using
7270     * @returns {RelativeDateFilterBuilder}
7271     */
7272    RelativeDateFilterBuilder.prototype.inLast = function (timeUnitsCount, timeUnitType) {
7273        this.operator = powerbi_models_1.RelativeDateOperators.InLast;
7274        this.timeUnitsCount = timeUnitsCount;
7275        this.timeUnitType = timeUnitType;
7276        return this;
7277    };
7278    /**
7279     * Sets inThis as operator for Relative Date filter
7280     *
7281     * ```javascript
7282     *
7283     * const relativeDateFilterBuilder = new RelativeDateFilterBuilder().inThis(timeUnitsCount, timeUnitType);
7284     * ```
7285     *
7286     * @param {number} timeUnitsCount - The amount of time units
7287     * @param {RelativeDateFilterTimeUnit} timeUnitType - Defines the unit of time the filter is using
7288     * @returns {RelativeDateFilterBuilder}
7289     */
7290    RelativeDateFilterBuilder.prototype.inThis = function (timeUnitsCount, timeUnitType) {
7291        this.operator = powerbi_models_1.RelativeDateOperators.InThis;
7292        this.timeUnitsCount = timeUnitsCount;
7293        this.timeUnitType = timeUnitType;
7294        return this;
7295    };
7296    /**
7297     * Sets inNext as operator for Relative Date filter
7298     *
7299     * ```javascript
7300     *
7301     * const relativeDateFilterBuilder = new RelativeDateFilterBuilder().inNext(timeUnitsCount, timeUnitType);
7302     * ```
7303     *
7304     * @param {number} timeUnitsCount - The amount of time units
7305     * @param {RelativeDateFilterTimeUnit} timeUnitType - Defines the unit of time the filter is using
7306     * @returns {RelativeDateFilterBuilder}
7307     */
7308    RelativeDateFilterBuilder.prototype.inNext = function (timeUnitsCount, timeUnitType) {
7309        this.operator = powerbi_models_1.RelativeDateOperators.InNext;
7310        this.timeUnitsCount = timeUnitsCount;
7311        this.timeUnitType = timeUnitType;
7312        return this;
7313    };
7314    /**
7315     * Sets includeToday for Relative Date filter
7316     *
7317     * ```javascript
7318     *
7319     * const relativeDateFilterBuilder = new RelativeDateFilterBuilder().includeToday(includeToday);
7320     * ```
7321     *
7322     * @param {boolean} includeToday - Denotes if today is included or not
7323     * @returns {RelativeDateFilterBuilder}
7324     */
7325    RelativeDateFilterBuilder.prototype.includeToday = function (includeToday) {
7326        this.isTodayIncluded = includeToday;
7327        return this;
7328    };
7329    /**
7330     * Creates Relative Date filter
7331     *
7332     * ```javascript
7333     *
7334     * const relativeDateFilterBuilder = new RelativeDateFilterBuilder().build();
7335     * ```
7336     *
7337     * @returns {RelativeDateFilter}
7338     */
7339    RelativeDateFilterBuilder.prototype.build = function () {
7340        var relativeDateFilter = new powerbi_models_1.RelativeDateFilter(this.target, this.operator, this.timeUnitsCount, this.timeUnitType, this.isTodayIncluded);
7341        return relativeDateFilter;
7342    };
7343    return RelativeDateFilterBuilder;
7344}(filterBuilder_1.FilterBuilder));
7345exports.RelativeDateFilterBuilder = RelativeDateFilterBuilder;
7346
7347
7348/***/ }),
7349
7350/***/ "./src/FilterBuilders/relativeTimeFilterBuilder.ts":
7351/*!*********************************************************!*\
7352  !*** ./src/FilterBuilders/relativeTimeFilterBuilder.ts ***!
7353  \*********************************************************/
7354/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
7355
7356// Copyright (c) Microsoft Corporation.
7357// Licensed under the MIT License.
7358var __extends = (this && this.__extends) || (function () {
7359    var extendStatics = function (d, b) {
7360        extendStatics = Object.setPrototypeOf ||
7361            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
7362            function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7363        return extendStatics(d, b);
7364    };
7365    return function (d, b) {
7366        if (typeof b !== "function" && b !== null)
7367            throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
7368        extendStatics(d, b);
7369        function __() { this.constructor = d; }
7370        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
7371    };
7372})();
7373Object.defineProperty(exports, "__esModule", ({ value: true }));
7374exports.RelativeTimeFilterBuilder = void 0;
7375var powerbi_models_1 = __webpack_require__(/*! powerbi-models */ "./node_modules/powerbi-models/dist/models.js");
7376var filterBuilder_1 = __webpack_require__(/*! ./filterBuilder */ "./src/FilterBuilders/filterBuilder.ts");
7377/**
7378 * Power BI Relative Time filter builder component
7379 *
7380 * @export
7381 * @class RelativeTimeFilterBuilder
7382 * @extends {FilterBuilder}
7383 */
7384var RelativeTimeFilterBuilder = /** @class */ (function (_super) {
7385    __extends(RelativeTimeFilterBuilder, _super);
7386    function RelativeTimeFilterBuilder() {
7387        return _super !== null && _super.apply(this, arguments) || this;
7388    }
7389    /**
7390     * Sets inLast as operator for Relative Time filter
7391     *
7392     * ```javascript
7393     *
7394     * const relativeTimeFilterBuilder = new RelativeTimeFilterBuilder().inLast(timeUnitsCount, timeUnitType);
7395     * ```
7396     *
7397     * @param {number} timeUnitsCount - The amount of time units
7398     * @param {RelativeDateFilterTimeUnit} timeUnitType - Defines the unit of time the filter is using
7399     * @returns {RelativeTimeFilterBuilder}
7400     */
7401    RelativeTimeFilterBuilder.prototype.inLast = function (timeUnitsCount, timeUnitType) {
7402        this.operator = powerbi_models_1.RelativeDateOperators.InLast;
7403        this.timeUnitsCount = timeUnitsCount;
7404        this.timeUnitType = timeUnitType;
7405        return this;
7406    };
7407    /**
7408     * Sets inThis as operator for Relative Time filter
7409     *
7410     * ```javascript
7411     *
7412     * const relativeTimeFilterBuilder = new RelativeTimeFilterBuilder().inThis(timeUnitsCount, timeUnitType);
7413     * ```
7414     *
7415     * @param {number} timeUnitsCount - The amount of time units
7416     * @param {RelativeDateFilterTimeUnit} timeUnitType - Defines the unit of time the filter is using
7417     * @returns {RelativeTimeFilterBuilder}
7418     */
7419    RelativeTimeFilterBuilder.prototype.inThis = function (timeUnitsCount, timeUnitType) {
7420        this.operator = powerbi_models_1.RelativeDateOperators.InThis;
7421        this.timeUnitsCount = timeUnitsCount;
7422        this.timeUnitType = timeUnitType;
7423        return this;
7424    };
7425    /**
7426     * Sets inNext as operator for Relative Time filter
7427     *
7428     * ```javascript
7429     *
7430     * const relativeTimeFilterBuilder = new RelativeTimeFilterBuilder().inNext(timeUnitsCount, timeUnitType);
7431     * ```
7432     *
7433     * @param {number} timeUnitsCount - The amount of time units
7434     * @param {RelativeDateFilterTimeUnit} timeUnitType - Defines the unit of time the filter is using
7435     * @returns {RelativeTimeFilterBuilder}
7436     */
7437    RelativeTimeFilterBuilder.prototype.inNext = function (timeUnitsCount, timeUnitType) {
7438        this.operator = powerbi_models_1.RelativeDateOperators.InNext;
7439        this.timeUnitsCount = timeUnitsCount;
7440        this.timeUnitType = timeUnitType;
7441        return this;
7442    };
7443    /**
7444     * Creates Relative Time filter
7445     *
7446     * ```javascript
7447     *
7448     * const relativeTimeFilterBuilder = new RelativeTimeFilterBuilder().build();
7449     * ```
7450     *
7451     * @returns {RelativeTimeFilter}
7452     */
7453    RelativeTimeFilterBuilder.prototype.build = function () {
7454        var relativeTimeFilter = new powerbi_models_1.RelativeTimeFilter(this.target, this.operator, this.timeUnitsCount, this.timeUnitType);
7455        return relativeTimeFilter;
7456    };
7457    return RelativeTimeFilterBuilder;
7458}(filterBuilder_1.FilterBuilder));
7459exports.RelativeTimeFilterBuilder = RelativeTimeFilterBuilder;
7460
7461
7462/***/ }),
7463
7464/***/ "./src/FilterBuilders/topNFilterBuilder.ts":
7465/*!*************************************************!*\
7466  !*** ./src/FilterBuilders/topNFilterBuilder.ts ***!
7467  \*************************************************/
7468/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
7469
7470// Copyright (c) Microsoft Corporation.
7471// Licensed under the MIT License.
7472var __extends = (this && this.__extends) || (function () {
7473    var extendStatics = function (d, b) {
7474        extendStatics = Object.setPrototypeOf ||
7475            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
7476            function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7477        return extendStatics(d, b);
7478    };
7479    return function (d, b) {
7480        if (typeof b !== "function" && b !== null)
7481            throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
7482        extendStatics(d, b);
7483        function __() { this.constructor = d; }
7484        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
7485    };
7486})();
7487Object.defineProperty(exports, "__esModule", ({ value: true }));
7488exports.TopNFilterBuilder = void 0;
7489var powerbi_models_1 = __webpack_require__(/*! powerbi-models */ "./node_modules/powerbi-models/dist/models.js");
7490var filterBuilder_1 = __webpack_require__(/*! ./filterBuilder */ "./src/FilterBuilders/filterBuilder.ts");
7491/**
7492 * Power BI Top N filter builder component
7493 *
7494 * @export
7495 * @class TopNFilterBuilder
7496 * @extends {FilterBuilder}
7497 */
7498var TopNFilterBuilder = /** @class */ (function (_super) {
7499    __extends(TopNFilterBuilder, _super);
7500    function TopNFilterBuilder() {
7501        return _super !== null && _super.apply(this, arguments) || this;
7502    }
7503    /**
7504     * Sets Top as operator for Top N filter
7505     *
7506     * ```javascript
7507     *
7508     * const topNFilterBuilder = new TopNFilterBuilder().top(itemCount);
7509     * ```
7510     *
7511     * @returns {TopNFilterBuilder}
7512     */
7513    TopNFilterBuilder.prototype.top = function (itemCount) {
7514        this.operator = "Top";
7515        this.itemCount = itemCount;
7516        return this;
7517    };
7518    /**
7519     * Sets Bottom as operator for Top N filter
7520     *
7521     * ```javascript
7522     *
7523     * const topNFilterBuilder = new TopNFilterBuilder().bottom(itemCount);
7524     * ```
7525     *
7526     * @returns {TopNFilterBuilder}
7527     */
7528    TopNFilterBuilder.prototype.bottom = function (itemCount) {
7529        this.operator = "Bottom";
7530        this.itemCount = itemCount;
7531        return this;
7532    };
7533    /**
7534     * Sets order by for Top N filter
7535     *
7536     * ```javascript
7537     *
7538     * const topNFilterBuilder = new TopNFilterBuilder().orderByTarget(target);
7539     * ```
7540     *
7541     * @returns {TopNFilterBuilder}
7542     */
7543    TopNFilterBuilder.prototype.orderByTarget = function (target) {
7544        this.orderByTargetValue = target;
7545        return this;
7546    };
7547    /**
7548     * Creates Top N filter
7549     *
7550     * ```javascript
7551     *
7552     * const topNFilterBuilder = new TopNFilterBuilder().build();
7553     * ```
7554     *
7555     * @returns {TopNFilter}
7556     */
7557    TopNFilterBuilder.prototype.build = function () {
7558        var topNFilter = new powerbi_models_1.TopNFilter(this.target, this.operator, this.itemCount, this.orderByTargetValue);
7559        return topNFilter;
7560    };
7561    return TopNFilterBuilder;
7562}(filterBuilder_1.FilterBuilder));
7563exports.TopNFilterBuilder = TopNFilterBuilder;
7564
7565
7566/***/ }),
7567
7568/***/ "./src/bookmarksManager.ts":
7569/*!*********************************!*\
7570  !*** ./src/bookmarksManager.ts ***!
7571  \*********************************/
7572/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
7573
7574// Copyright (c) Microsoft Corporation.
7575// Licensed under the MIT License.
7576var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
7577    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
7578    return new (P || (P = Promise))(function (resolve, reject) {
7579        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
7580        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7581        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7582        step((generator = generator.apply(thisArg, _arguments || [])).next());
7583    });
7584};
7585var __generator = (this && this.__generator) || function (thisArg, body) {
7586    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
7587    return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
7588    function verb(n) { return function (v) { return step([n, v]); }; }
7589    function step(op) {
7590        if (f) throw new TypeError("Generator is already executing.");
7591        while (_) try {
7592            if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
7593            if (y = 0, t) op = [op[0] & 2, t.value];
7594            switch (op[0]) {
7595                case 0: case 1: t = op; break;
7596                case 4: _.label++; return { value: op[1], done: false };
7597                case 5: _.label++; y = op[1]; op = [0]; continue;
7598                case 7: op = _.ops.pop(); _.trys.pop(); continue;
7599                default:
7600                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
7601                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
7602                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
7603                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
7604                    if (t[2]) _.ops.pop();
7605                    _.trys.pop(); continue;
7606            }
7607            op = body.call(thisArg, _);
7608        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
7609        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
7610    }
7611};
7612Object.defineProperty(exports, "__esModule", ({ value: true }));
7613exports.BookmarksManager = void 0;
7614var util_1 = __webpack_require__(/*! ./util */ "./src/util.ts");
7615var errors_1 = __webpack_require__(/*! ./errors */ "./src/errors.ts");
7616/**
7617 * Manages report bookmarks.
7618 *
7619 * @export
7620 * @class BookmarksManager
7621 * @implements {IBookmarksManager}
7622 */
7623var BookmarksManager = /** @class */ (function () {
7624    /**
7625     * @hidden
7626     */
7627    function BookmarksManager(service, config, iframe) {
7628        this.service = service;
7629        this.config = config;
7630        this.iframe = iframe;
7631    }
7632    /**
7633     * Gets bookmarks that are defined in the report.
7634     *
7635     * ```javascript
7636     * // Gets bookmarks that are defined in the report
7637     * bookmarksManager.getBookmarks()
7638     *   .then(bookmarks => {
7639     *     ...
7640     *   });
7641     * ```
7642     *
7643     * @returns {Promise<IReportBookmark[]>}
7644     */
7645    BookmarksManager.prototype.getBookmarks = function () {
7646        return __awaiter(this, void 0, void 0, function () {
7647            var response, response_1;
7648            return __generator(this, function (_a) {
7649                switch (_a.label) {
7650                    case 0:
7651                        if ((0, util_1.isRDLEmbed)(this.config.embedUrl)) {
7652                            return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)];
7653                        }
7654                        _a.label = 1;
7655                    case 1:
7656                        _a.trys.push([1, 3, , 4]);
7657                        return [4 /*yield*/, this.service.hpm.get("/report/bookmarks", { uid: this.config.uniqueId }, this.iframe.contentWindow)];
7658                    case 2:
7659                        response = _a.sent();
7660                        return [2 /*return*/, response.body];
7661                    case 3:
7662                        response_1 = _a.sent();
7663                        throw response_1.body;
7664                    case 4: return [2 /*return*/];
7665                }
7666            });
7667        });
7668    };
7669    /**
7670     * Apply bookmark by name.
7671     *
7672     * ```javascript
7673     * bookmarksManager.apply(bookmarkName)
7674     * ```
7675     *
7676     * @param {string} bookmarkName The name of the bookmark to be applied
7677     * @returns {Promise<IHttpPostMessageResponse<void>>}
7678     */
7679    BookmarksManager.prototype.apply = function (bookmarkName) {
7680        return __awaiter(this, void 0, void 0, function () {
7681            var request, response_2;
7682            return __generator(this, function (_a) {
7683                switch (_a.label) {
7684                    case 0:
7685                        if ((0, util_1.isRDLEmbed)(this.config.embedUrl)) {
7686                            return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)];
7687                        }
7688                        request = {
7689                            name: bookmarkName
7690                        };
7691                        _a.label = 1;
7692                    case 1:
7693                        _a.trys.push([1, 3, , 4]);
7694                        return [4 /*yield*/, this.service.hpm.post("/report/bookmarks/applyByName", request, { uid: this.config.uniqueId }, this.iframe.contentWindow)];
7695                    case 2: return [2 /*return*/, _a.sent()];
7696                    case 3:
7697                        response_2 = _a.sent();
7698                        throw response_2.body;
7699                    case 4: return [2 /*return*/];
7700                }
7701            });
7702        });
7703    };
7704    /**
7705     * Play bookmarks: Enter or Exit bookmarks presentation mode.
7706     *
7707     * ```javascript
7708     * // Enter presentation mode.
7709     * bookmarksManager.play(BookmarksPlayMode.Presentation)
7710     * ```
7711     *
7712     * @param {BookmarksPlayMode} playMode Play mode can be either `Presentation` or `Off`
7713     * @returns {Promise<IHttpPostMessageResponse<void>>}
7714     */
7715    BookmarksManager.prototype.play = function (playMode) {
7716        return __awaiter(this, void 0, void 0, function () {
7717            var playBookmarkRequest, response_3;
7718            return __generator(this, function (_a) {
7719                switch (_a.label) {
7720                    case 0:
7721                        if ((0, util_1.isRDLEmbed)(this.config.embedUrl)) {
7722                            return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)];
7723                        }
7724                        playBookmarkRequest = {
7725                            playMode: playMode
7726                        };
7727                        _a.label = 1;
7728                    case 1:
7729                        _a.trys.push([1, 3, , 4]);
7730                        return [4 /*yield*/, this.service.hpm.post("/report/bookmarks/play", playBookmarkRequest, { uid: this.config.uniqueId }, this.iframe.contentWindow)];
7731                    case 2: return [2 /*return*/, _a.sent()];
7732                    case 3:
7733                        response_3 = _a.sent();
7734                        throw response_3.body;
7735                    case 4: return [2 /*return*/];
7736                }
7737            });
7738        });
7739    };
7740    /**
7741     * Capture bookmark from current state.
7742     *
7743     * ```javascript
7744     * bookmarksManager.capture(options)
7745     * ```
7746     *
7747     * @param {ICaptureBookmarkOptions} [options] Options for bookmark capturing
7748     * @returns {Promise<IReportBookmark>}
7749     */
7750    BookmarksManager.prototype.capture = function (options) {
7751        return __awaiter(this, void 0, void 0, function () {
7752            var request, response, response_4;
7753            return __generator(this, function (_a) {
7754                switch (_a.label) {
7755                    case 0:
7756                        if ((0, util_1.isRDLEmbed)(this.config.embedUrl)) {
7757                            return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)];
7758                        }
7759                        request = {
7760                            options: options || {}
7761                        };
7762                        _a.label = 1;
7763                    case 1:
7764                        _a.trys.push([1, 3, , 4]);
7765                        return [4 /*yield*/, this.service.hpm.post("/report/bookmarks/capture", request, { uid: this.config.uniqueId }, this.iframe.contentWindow)];
7766                    case 2:
7767                        response = _a.sent();
7768                        return [2 /*return*/, response.body];
7769                    case 3:
7770                        response_4 = _a.sent();
7771                        throw response_4.body;
7772                    case 4: return [2 /*return*/];
7773                }
7774            });
7775        });
7776    };
7777    /**
7778     * Apply bookmark state.
7779     *
7780     * ```javascript
7781     * bookmarksManager.applyState(bookmarkState)
7782     * ```
7783     *
7784     * @param {string} state A base64 bookmark state to be applied
7785     * @returns {Promise<IHttpPostMessageResponse<void>>}
7786     */
7787    BookmarksManager.prototype.applyState = function (state) {
7788        return __awaiter(this, void 0, void 0, function () {
7789            var request, response_5;
7790            return __generator(this, function (_a) {
7791                switch (_a.label) {
7792                    case 0:
7793                        if ((0, util_1.isRDLEmbed)(this.config.embedUrl)) {
7794                            return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)];
7795                        }
7796                        request = {
7797                            state: state
7798                        };
7799                        _a.label = 1;
7800                    case 1:
7801                        _a.trys.push([1, 3, , 4]);
7802                        return [4 /*yield*/, this.service.hpm.post("/report/bookmarks/applyState", request, { uid: this.config.uniqueId }, this.iframe.contentWindow)];
7803                    case 2: return [2 /*return*/, _a.sent()];
7804                    case 3:
7805                        response_5 = _a.sent();
7806                        throw response_5.body;
7807                    case 4: return [2 /*return*/];
7808                }
7809            });
7810        });
7811    };
7812    return BookmarksManager;
7813}());
7814exports.BookmarksManager = BookmarksManager;
7815
7816
7817/***/ }),
7818
7819/***/ "./src/config.ts":
7820/*!***********************!*\
7821  !*** ./src/config.ts ***!
7822  \***********************/
7823/***/ ((__unused_webpack_module, exports) => {
7824
7825// Copyright (c) Microsoft Corporation.
7826// Licensed under the MIT License.
7827Object.defineProperty(exports, "__esModule", ({ value: true }));
7828/** @ignore */ /** */
7829var config = {
7830    version: '2.23.1',
7831    type: 'js'
7832};
7833exports["default"] = config;
7834
7835
7836/***/ }),
7837
vendor: 44,155 bytes, lines 7838-8912
7838/***/ "./src/create.ts":
7839/*!***********************!*\
7840  !*** ./src/create.ts ***!
7841  \***********************/
7842/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
7843
7844// Copyright (c) Microsoft Corporation.
7845// Licensed under the MIT License.
7846var __extends = (this && this.__extends) || (function () {
7847    var extendStatics = function (d, b) {
7848        extendStatics = Object.setPrototypeOf ||
7849            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
7850            function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7851        return extendStatics(d, b);
7852    };
7853    return function (d, b) {
7854        if (typeof b !== "function" && b !== null)
7855            throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
7856        extendStatics(d, b);
7857        function __() { this.constructor = d; }
7858        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
7859    };
7860})();
7861var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
7862    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
7863    return new (P || (P = Promise))(function (resolve, reject) {
7864        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
7865        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7866        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7867        step((generator = generator.apply(thisArg, _arguments || [])).next());
7868    });
7869};
7870var __generator = (this && this.__generator) || function (thisArg, body) {
7871    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
7872    return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
7873    function verb(n) { return function (v) { return step([n, v]); }; }
7874    function step(op) {
7875        if (f) throw new TypeError("Generator is already executing.");
7876        while (_) try {
7877            if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
7878            if (y = 0, t) op = [op[0] & 2, t.value];
7879            switch (op[0]) {
7880                case 0: case 1: t = op; break;
7881                case 4: _.label++; return { value: op[1], done: false };
7882                case 5: _.label++; y = op[1]; op = [0]; continue;
7883                case 7: op = _.ops.pop(); _.trys.pop(); continue;
7884                default:
7885                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
7886                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
7887                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
7888                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
7889                    if (t[2]) _.ops.pop();
7890                    _.trys.pop(); continue;
7891            }
7892            op = body.call(thisArg, _);
7893        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
7894        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
7895    }
7896};
7897Object.defineProperty(exports, "__esModule", ({ value: true }));
7898exports.Create = void 0;
7899var powerbi_models_1 = __webpack_require__(/*! powerbi-models */ "./node_modules/powerbi-models/dist/models.js");
7900var embed_1 = __webpack_require__(/*! ./embed */ "./src/embed.ts");
7901var utils = __webpack_require__(/*! ./util */ "./src/util.ts");
7902/**
7903 * A Power BI Report creator component
7904 *
7905 * @export
7906 * @class Create
7907 * @extends {Embed}
7908 */
7909var Create = /** @class */ (function (_super) {
7910    __extends(Create, _super);
7911    /*
7912     * @hidden
7913     */
7914    function Create(service, element, config, phasedRender, isBootstrap) {
7915        return _super.call(this, service, element, config, /* iframe */ undefined, phasedRender, isBootstrap) || this;
7916    }
7917    /**
7918     * Gets the dataset ID from the first available location: createConfig or embed url.
7919     *
7920     * @returns {string}
7921     */
7922    Create.prototype.getId = function () {
7923        var datasetId = (this.createConfig && this.createConfig.datasetId) ? this.createConfig.datasetId : Create.findIdFromEmbedUrl(this.config.embedUrl);
7924        if (typeof datasetId !== 'string' || datasetId.length === 0) {
7925            throw new Error('Dataset id is required, but it was not found. You must provide an id either as part of embed configuration.');
7926        }
7927        return datasetId;
7928    };
7929    /**
7930     * Validate create report configuration.
7931     */
7932    Create.prototype.validate = function (config) {
7933        return (0, powerbi_models_1.validateCreateReport)(config);
7934    };
7935    /**
7936     * Handle config changes.
7937     *
7938     * @hidden
7939     * @returns {void}
7940     */
7941    Create.prototype.configChanged = function (isBootstrap) {
7942        if (isBootstrap) {
7943            return;
7944        }
7945        var config = this.config;
7946        this.createConfig = {
7947            accessToken: config.accessToken,
7948            datasetId: config.datasetId || this.getId(),
7949            groupId: config.groupId,
7950            settings: config.settings,
7951            tokenType: config.tokenType,
7952            theme: config.theme
7953        };
7954    };
7955    /**
7956     * @hidden
7957     * @returns {string}
7958     */
7959    Create.prototype.getDefaultEmbedUrlEndpoint = function () {
7960        return "reportEmbed";
7961    };
7962    /**
7963     * checks if the report is saved.
7964     *
7965     * ```javascript
7966     * report.isSaved()
7967     * ```
7968     *
7969     * @returns {Promise<boolean>}
7970     */
7971    Create.prototype.isSaved = function () {
7972        return __awaiter(this, void 0, void 0, function () {
7973            return __generator(this, function (_a) {
7974                switch (_a.label) {
7975                    case 0: return [4 /*yield*/, utils.isSavedInternal(this.service.hpm, this.config.uniqueId, this.iframe.contentWindow)];
7976                    case 1: return [2 /*return*/, _a.sent()];
7977                }
7978            });
7979        });
7980    };
7981    /**
7982     * Adds the ability to get datasetId from url.
7983     * (e.g. http://embedded.powerbi.com/appTokenReportEmbed?datasetId=854846ed-2106-4dc2-bc58-eb77533bf2f1).
7984     *
7985     * By extracting the ID we can ensure that the ID is always explicitly provided as part of the create configuration.
7986     *
7987     * @static
7988     * @param {string} url
7989     * @returns {string}
7990     * @hidden
7991     */
7992    Create.findIdFromEmbedUrl = function (url) {
7993        var datasetIdRegEx = /datasetId="?([^&]+)"?/;
7994        var datasetIdMatch = url.match(datasetIdRegEx);
7995        var datasetId;
7996        if (datasetIdMatch) {
7997            datasetId = datasetIdMatch[1];
7998        }
7999        return datasetId;
8000    };
8001    /**
8002     * Sends create configuration data.
8003     *
8004     * ```javascript
8005     * create ({
8006     *   datasetId: '5dac7a4a-4452-46b3-99f6-a25915e0fe55',
8007     *   accessToken: 'eyJ0eXA ... TaE2rTSbmg',
8008     * ```
8009     *
8010     * @hidden
8011     * @returns {Promise<void>}
8012     */
8013    Create.prototype.create = function () {
8014        var _a;
8015        return __awaiter(this, void 0, void 0, function () {
8016            var errors, headers, response, response_1;
8017            return __generator(this, function (_b) {
8018                switch (_b.label) {
8019                    case 0:
8020                        errors = (0, powerbi_models_1.validateCreateReport)(this.createConfig);
8021                        if (errors) {
8022                            throw errors;
8023                        }
8024                        _b.label = 1;
8025                    case 1:
8026                        _b.trys.push([1, 3, , 4]);
8027                        headers = {
8028                            uid: this.config.uniqueId,
8029                            sdkSessionId: this.service.getSdkSessionId()
8030                        };
8031                        if (!!((_a = this.eventHooks) === null || _a === void 0 ? void 0 : _a.accessTokenProvider)) {
8032                            headers.tokenProviderSupplied = true;
8033                        }
8034                        return [4 /*yield*/, this.service.hpm.post("/report/create", this.createConfig, headers, this.iframe.contentWindow)];
8035                    case 2:
8036                        response = _b.sent();
8037                        return [2 /*return*/, response.body];
8038                    case 3:
8039                        response_1 = _b.sent();
8040                        throw response_1.body;
8041                    case 4: return [2 /*return*/];
8042                }
8043            });
8044        });
8045    };
8046    return Create;
8047}(embed_1.Embed));
8048exports.Create = Create;
8049
8050
8051/***/ }),
8052
8053/***/ "./src/dashboard.ts":
8054/*!**************************!*\
8055  !*** ./src/dashboard.ts ***!
8056  \**************************/
8057/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
8058
8059// Copyright (c) Microsoft Corporation.
8060// Licensed under the MIT License.
8061var __extends = (this && this.__extends) || (function () {
8062    var extendStatics = function (d, b) {
8063        extendStatics = Object.setPrototypeOf ||
8064            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
8065            function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
8066        return extendStatics(d, b);
8067    };
8068    return function (d, b) {
8069        if (typeof b !== "function" && b !== null)
8070            throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
8071        extendStatics(d, b);
8072        function __() { this.constructor = d; }
8073        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
8074    };
8075})();
8076Object.defineProperty(exports, "__esModule", ({ value: true }));
8077exports.Dashboard = void 0;
8078var powerbi_models_1 = __webpack_require__(/*! powerbi-models */ "./node_modules/powerbi-models/dist/models.js");
8079var embed_1 = __webpack_require__(/*! ./embed */ "./src/embed.ts");
8080/**
8081 * A Power BI Dashboard embed component
8082 *
8083 * @export
8084 * @class Dashboard
8085 * @extends {Embed}
8086 * @implements {IDashboardNode}
8087 */
8088var Dashboard = /** @class */ (function (_super) {
8089    __extends(Dashboard, _super);
8090    /**
8091     * Creates an instance of a Power BI Dashboard.
8092     *
8093     * @param {service.Service} service
8094     * @hidden
8095     * @param {HTMLElement} element
8096     */
8097    function Dashboard(service, element, config, phasedRender, isBootstrap) {
8098        var _this = _super.call(this, service, element, config, /* iframe */ undefined, phasedRender, isBootstrap) || this;
8099        _this.loadPath = "/dashboard/load";
8100        _this.phasedLoadPath = "/dashboard/prepare";
8101        Array.prototype.push.apply(_this.allowedEvents, Dashboard.allowedEvents);
8102        return _this;
8103    }
8104    /**
8105     * This adds backwards compatibility for older config which used the dashboardId query param to specify dashboard id.
8106     * E.g. https://powerbi-df.analysis-df.windows.net/dashboardEmbedHost?dashboardId=e9363c62-edb6-4eac-92d3-2199c5ca2a9e
8107     *
8108     * By extracting the id we can ensure id is always explicitly provided as part of the load configuration.
8109     *
8110     * @hidden
8111     * @static
8112     * @param {string} url
8113     * @returns {string}
8114     */
8115    Dashboard.findIdFromEmbedUrl = function (url) {
8116        var dashboardIdRegEx = /dashboardId="?([^&]+)"?/;
8117        var dashboardIdMatch = url.match(dashboardIdRegEx);
8118        var dashboardId;
8119        if (dashboardIdMatch) {
8120            dashboardId = dashboardIdMatch[1];
8121        }
8122        return dashboardId;
8123    };
8124    /**
8125     * Get dashboard id from first available location: options, attribute, embed url.
8126     *
8127     * @returns {string}
8128     */
8129    Dashboard.prototype.getId = function () {
8130        var config = this.config;
8131        var dashboardId = config.id || this.element.getAttribute(Dashboard.dashboardIdAttribute) || Dashboard.findIdFromEmbedUrl(config.embedUrl);
8132        if (typeof dashboardId !== 'string' || dashboardId.length === 0) {
8133            throw new Error("Dashboard id is required, but it was not found. You must provide an id either as part of embed configuration or as attribute '".concat(Dashboard.dashboardIdAttribute, "'."));
8134        }
8135        return dashboardId;
8136    };
8137    /**
8138     * Validate load configuration.
8139     *
8140     * @hidden
8141     */
8142    Dashboard.prototype.validate = function (baseConfig) {
8143        var config = baseConfig;
8144        var error = (0, powerbi_models_1.validateDashboardLoad)(config);
8145        return error ? error : this.validatePageView(config.pageView);
8146    };
8147    /**
8148     * Handle config changes.
8149     *
8150     * @hidden
8151     * @returns {void}
8152     */
8153    Dashboard.prototype.configChanged = function (isBootstrap) {
8154        if (isBootstrap) {
8155            return;
8156        }
8157        // Populate dashboard id into config object.
8158        this.config.id = this.getId();
8159    };
8160    /**
8161     * @hidden
8162     * @returns {string}
8163     */
8164    Dashboard.prototype.getDefaultEmbedUrlEndpoint = function () {
8165        return "dashboardEmbed";
8166    };
8167    /**
8168     * Validate that pageView has a legal value: if page view is defined it must have one of the values defined in PageView
8169     *
8170     * @hidden
8171     */
8172    Dashboard.prototype.validatePageView = function (pageView) {
8173        if (pageView && pageView !== "fitToWidth" && pageView !== "oneColumn" && pageView !== "actualSize") {
8174            return [{ message: "pageView must be one of the followings: fitToWidth, oneColumn, actualSize" }];
8175        }
8176    };
8177    /** @hidden */
8178    Dashboard.allowedEvents = ["tileClicked", "error"];
8179    /** @hidden */
8180    Dashboard.dashboardIdAttribute = 'powerbi-dashboard-id';
8181    /** @hidden */
8182    Dashboard.typeAttribute = 'powerbi-type';
8183    /** @hidden */
8184    Dashboard.type = "Dashboard";
8185    return Dashboard;
8186}(embed_1.Embed));
8187exports.Dashboard = Dashboard;
8188
8189
8190/***/ }),
8191
8192/***/ "./src/embed.ts":
8193/*!**********************!*\
8194  !*** ./src/embed.ts ***!
8195  \**********************/
8196/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
8197
8198// Copyright (c) Microsoft Corporation.
8199// Licensed under the MIT License.
8200var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
8201    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
8202    return new (P || (P = Promise))(function (resolve, reject) {
8203        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
8204        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
8205        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8206        step((generator = generator.apply(thisArg, _arguments || [])).next());
8207    });
8208};
8209var __generator = (this && this.__generator) || function (thisArg, body) {
8210    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
8211    return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
8212    function verb(n) { return function (v) { return step([n, v]); }; }
8213    function step(op) {
8214        if (f) throw new TypeError("Generator is already executing.");
8215        while (_) try {
8216            if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
8217            if (y = 0, t) op = [op[0] & 2, t.value];
8218            switch (op[0]) {
8219                case 0: case 1: t = op; break;
8220                case 4: _.label++; return { value: op[1], done: false };
8221                case 5: _.label++; y = op[1]; op = [0]; continue;
8222                case 7: op = _.ops.pop(); _.trys.pop(); continue;
8223                default:
8224                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
8225                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
8226                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
8227                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
8228                    if (t[2]) _.ops.pop();
8229                    _.trys.pop(); continue;
8230            }
8231            op = body.call(thisArg, _);
8232        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
8233        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
8234    }
8235};
8236Object.defineProperty(exports, "__esModule", ({ value: true }));
8237exports.Embed = void 0;
8238var models = __webpack_require__(/*! powerbi-models */ "./node_modules/powerbi-models/dist/models.js");
8239var sdkConfig = __webpack_require__(/*! ./config */ "./src/config.ts");
8240var errors_1 = __webpack_require__(/*! ./errors */ "./src/errors.ts");
8241var util_1 = __webpack_require__(/*! ./util */ "./src/util.ts");
8242/**
8243 * Base class for all Power BI embed components
8244 *
8245 * @export
8246 * @abstract
8247 * @hidden
8248 * @class Embed
8249 */
8250var Embed = /** @class */ (function () {
8251    /**
8252     * Creates an instance of Embed.
8253     *
8254     * Note: there is circular reference between embeds and the service, because
8255     * the service has a list of all embeds on the host page, and each embed has a reference to the service that created it.
8256     *
8257     * @param {service.Service} service
8258     * @param {HTMLElement} element
8259     * @param {IEmbedConfigurationBase} config
8260     * @hidden
8261     */
8262    function Embed(service, element, config, iframe, phasedRender, isBootstrap) {
8263        /** @hidden */
8264        this.allowedEvents = [];
8265        if ((0, util_1.autoAuthInEmbedUrl)(config.embedUrl)) {
8266            throw new Error(errors_1.EmbedUrlNotSupported);
8267        }
8268        Array.prototype.push.apply(this.allowedEvents, Embed.allowedEvents);
8269        this.eventHandlers = [];
8270        this.service = service;
8271        this.element = element;
8272        this.iframe = iframe;
8273        this.iframeLoaded = false;
8274        this.embedtype = config.type.toLowerCase();
8275        this.commands = [];
8276        this.groups = [];
8277        this.populateConfig(config, isBootstrap);
8278        if ((0, util_1.isCreate)(this.embedtype)) {
8279            this.setIframe(false /* set EventListener to call create() on 'load' event*/, phasedRender, isBootstrap);
8280        }
8281        else {
8282            this.setIframe(true /* set EventListener to call load() on 'load' event*/, phasedRender, isBootstrap);
8283        }
8284    }
8285    /**
8286     * Create is not supported by default
8287     *
8288     * @hidden
8289     * @returns {Promise<void>}
8290     */
8291    Embed.prototype.create = function () {
8292        throw new Error("no create support");
8293    };
8294    /**
8295     * Saves Report.
8296     *
8297     * @returns {Promise<void>}
8298     */
8299    Embed.prototype.save = function () {
8300        return __awaiter(this, void 0, void 0, function () {
8301            var response, response_1;
8302            return __generator(this, function (_a) {
8303                switch (_a.label) {
8304                    case 0:
8305                        _a.trys.push([0, 2, , 3]);
8306                        return [4 /*yield*/, this.service.hpm.post('/report/save', null, { uid: this.config.uniqueId }, this.iframe.contentWindow)];
8307                    case 1:
8308                        response = _a.sent();
8309                        return [2 /*return*/, response.body];
8310                    case 2:
8311                        response_1 = _a.sent();
8312                        throw response_1.body;
8313                    case 3: return [2 /*return*/];
8314                }
8315            });
8316        });
8317    };
8318    /**
8319     * SaveAs Report.
8320     *
8321     * @returns {Promise<void>}
8322     */
8323    Embed.prototype.saveAs = function (saveAsParameters) {
8324        return __awaiter(this, void 0, void 0, function () {
8325            var response, response_2;
8326            return __generator(this, function (_a) {
8327                switch (_a.label) {
8328                    case 0:
8329                        _a.trys.push([0, 2, , 3]);
8330                        return [4 /*yield*/, this.service.hpm.post('/report/saveAs', saveAsParameters, { uid: this.config.uniqueId }, this.iframe.contentWindow)];
8331                    case 1:
8332                        response = _a.sent();
8333                        return [2 /*return*/, response.body];
8334                    case 2:
8335                        response_2 = _a.sent();
8336                        throw response_2.body;
8337                    case 3: return [2 /*return*/];
8338                }
8339            });
8340        });
8341    };
8342    /**
8343     * Get the correlationId for the current embed session.
8344     *
8345     * ```javascript
8346     * // Get the correlationId for the current embed session
8347     * report.getCorrelationId()
8348     *   .then(correlationId => {
8349     *     ...
8350     *   });
8351     * ```
8352     *
8353     * @returns {Promise<string>}
8354     */
8355    Embed.prototype.getCorrelationId = function () {
8356        return __awaiter(this, void 0, void 0, function () {
8357            var response, response_3;
8358            return __generator(this, function (_a) {
8359                switch (_a.label) {
8360                    case 0:
8361                        _a.trys.push([0, 2, , 3]);
8362                        return [4 /*yield*/, this.service.hpm.get("/getCorrelationId", { uid: this.config.uniqueId }, this.iframe.contentWindow)];
8363                    case 1:
8364                        response = _a.sent();
8365                        return [2 /*return*/, response.body];
8366                    case 2:
8367                        response_3 = _a.sent();
8368                        throw response_3.body;
8369                    case 3: return [2 /*return*/];
8370                }
8371            });
8372        });
8373    };
8374    /**
8375     * Sends load configuration data.
8376     *
8377     * ```javascript
8378     * report.load({
8379     *   type: 'report',
8380     *   id: '5dac7a4a-4452-46b3-99f6-a25915e0fe55',
8381     *   accessToken: 'eyJ0eXA ... TaE2rTSbmg',
8382     *   settings: {
8383     *     navContentPaneEnabled: false
8384     *   },
8385     *   pageName: "DefaultPage",
8386     *   filters: [
8387     *     {
8388     *        ...  DefaultReportFilter ...
8389     *     }
8390     *   ]
8391     * })
8392     *   .catch(error => { ... });
8393     * ```
8394     *
8395     * @hidden
8396     * @param {models.ILoadConfiguration} config
8397     * @param {boolean} phasedRender
8398     * @returns {Promise<void>}
8399     */
8400    Embed.prototype.load = function (phasedRender) {
8401        var _a;
8402        return __awaiter(this, void 0, void 0, function () {
8403            var path, headers, timeNow, response, response_4;
8404            return __generator(this, function (_b) {
8405                switch (_b.label) {
8406                    case 0:
8407                        if (!this.config.accessToken) {
8408                            console.debug("Power BI SDK iframe is loaded but powerbi.embed is not called yet.");
8409                            return [2 /*return*/];
8410                        }
8411                        if (!this.iframeLoaded) {
8412                            console.debug("Power BI SDK is trying to post /report/load before iframe is ready.");
8413                            return [2 /*return*/];
8414                        }
8415                        path = phasedRender && this.config.type === 'report' ? this.phasedLoadPath : this.loadPath;
8416                        headers = {
8417                            uid: this.config.uniqueId,
8418                            sdkSessionId: this.service.getSdkSessionId(),
8419                            bootstrapped: this.config.bootstrapped,
8420                            sdkVersion: sdkConfig.default.version
8421                        };
8422                        if (!!((_a = this.eventHooks) === null || _a === void 0 ? void 0 : _a.accessTokenProvider)) {
8423                            headers.tokenProviderSupplied = true;
8424                        }
8425                        timeNow = new Date();
8426                        if (this.lastLoadRequest && (0, util_1.getTimeDiffInMilliseconds)(this.lastLoadRequest, timeNow) < 100) {
8427                            console.debug("Power BI SDK sent more than two /report/load requests in the last 100ms interval.");
8428                            return [2 /*return*/];
8429                        }
8430                        this.lastLoadRequest = timeNow;
8431                        _b.label = 1;
8432                    case 1:
8433                        _b.trys.push([1, 3, , 4]);
8434                        return [4 /*yield*/, this.service.hpm.post(path, this.config, headers, this.iframe.contentWindow)];
8435                    case 2:
8436                        response = _b.sent();
8437                        return [2 /*return*/, response.body];
8438                    case 3:
8439                        response_4 = _b.sent();
8440                        throw response_4.body;
8441                    case 4: return [2 /*return*/];
8442                }
8443            });
8444        });
8445    };
8446    /**
8447     * Removes one or more event handlers from the list of handlers.
8448     * If a reference to the existing handle function is specified, remove the specific handler.
8449     * If the handler is not specified, remove all handlers for the event name specified.
8450     *
8451     * ```javascript
8452     * report.off('pageChanged')
8453     *
8454     * or
8455     *
8456     * const logHandler = function (event) {
8457     *    console.log(event);
8458     * };
8459     *
8460     * report.off('pageChanged', logHandler);
8461     * ```
8462     *
8463     * @template T
8464     * @param {string} eventName
8465     * @param {IEventHandler<T>} [handler]
8466     */
8467    Embed.prototype.off = function (eventName, handler) {
8468        var _this = this;
8469        var fakeEvent = { name: eventName, type: null, id: null, value: null };
8470        if (handler) {
8471            (0, util_1.remove)(function (eventHandler) { return eventHandler.test(fakeEvent) && (eventHandler.handle === handler); }, this.eventHandlers);
8472            this.element.removeEventListener(eventName, handler);
8473        }
8474        else {
8475            var eventHandlersToRemove = this.eventHandlers
8476                .filter(function (eventHandler) { return eventHandler.test(fakeEvent); });
8477            eventHandlersToRemove
8478                .forEach(function (eventHandlerToRemove) {
8479                (0, util_1.remove)(function (eventHandler) { return eventHandler === eventHandlerToRemove; }, _this.eventHandlers);
8480                _this.element.removeEventListener(eventName, eventHandlerToRemove.handle);
8481            });
8482        }
8483    };
8484    /**
8485     * Adds an event handler for a specific event.
8486     *
8487     * ```javascript
8488     * report.on('pageChanged', (event) => {
8489     *   console.log('PageChanged: ', event.page.name);
8490     * });
8491     * ```
8492     *
8493     * @template T
8494     * @param {string} eventName
8495     * @param {service.IEventHandler<T>} handler
8496     */
8497    Embed.prototype.on = function (eventName, handler) {
8498        if (this.allowedEvents.indexOf(eventName) === -1) {
8499            throw new Error("eventName must be one of ".concat(this.allowedEvents, ". You passed: ").concat(eventName));
8500        }
8501        this.eventHandlers.push({
8502            test: function (event) { return event.name === eventName; },
8503            handle: handler
8504        });
8505        this.element.addEventListener(eventName, handler);
8506    };
8507    /**
8508     * Reloads embed using existing configuration.
8509     * E.g. For reports this effectively clears all filters and makes the first page active which simulates resetting a report back to loaded state.
8510     *
8511     * ```javascript
8512     * report.reload();
8513     * ```
8514     */
8515    Embed.prototype.reload = function () {
8516        return __awaiter(this, void 0, void 0, function () {
8517            return __generator(this, function (_a) {
8518                switch (_a.label) {
8519                    case 0: return [4 /*yield*/, this.load()];
8520                    case 1: return [2 /*return*/, _a.sent()];
8521                }
8522            });
8523        });
8524    };
8525    /**
8526     * Set accessToken.
8527     *
8528     * @returns {Promise<void>}
8529     */
8530    Embed.prototype.setAccessToken = function (accessToken) {
8531        return __awaiter(this, void 0, void 0, function () {
8532            var embedType, response, response_5;
8533            return __generator(this, function (_a) {
8534                switch (_a.label) {
8535                    case 0:
8536                        if (!accessToken) {
8537                            throw new Error("Access token cannot be empty");
8538                        }
8539                        embedType = this.config.type;
8540                        embedType = (embedType === 'create' || embedType === 'visual' || embedType === 'qna' || embedType === 'quickCreate') ? 'report' : embedType;
8541                        _a.label = 1;
8542                    case 1:
8543                        _a.trys.push([1, 3, , 4]);
8544                        return [4 /*yield*/, this.service.hpm.post('/' + embedType + '/token', accessToken, { uid: this.config.uniqueId }, this.iframe.contentWindow)];
8545                    case 2:
8546                        response = _a.sent();
8547                        this.config.accessToken = accessToken;
8548                        this.element.setAttribute(Embed.accessTokenAttribute, accessToken);
8549                        this.service.accessToken = accessToken;
8550                        return [2 /*return*/, response.body];
8551                    case 3:
8552                        response_5 = _a.sent();
8553                        throw response_5.body;
8554                    case 4: return [2 /*return*/];
8555                }
8556            });
8557        });
8558    };
8559    /**
8560     * Gets an access token from the first available location: config, attribute, global.
8561     *
8562     * @private
8563     * @param {string} globalAccessToken
8564     * @returns {string}
8565     * @hidden
8566     */
8567    Embed.prototype.getAccessToken = function (globalAccessToken) {
8568        var accessToken = this.config.accessToken || this.element.getAttribute(Embed.accessTokenAttribute) || globalAccessToken;
8569        if (!accessToken) {
8570            throw new Error("No access token was found for element. You must specify an access token directly on the element using attribute '".concat(Embed.accessTokenAttribute, "' or specify a global token at: powerbi.accessToken."));
8571        }
8572        return accessToken;
8573    };
8574    /**
8575     * Populate config for create and load
8576     *
8577     * @hidden
8578     * @param {IEmbedConfiguration}
8579     * @returns {void}
8580     */
8581    Embed.prototype.populateConfig = function (config, isBootstrap) {
8582        var _this = this;
8583        var _a, _b, _c, _d, _e, _f, _g, _h, _j;
8584        if (this.bootstrapConfig) {
8585            this.config = (0, util_1.assign)({}, this.bootstrapConfig, config);
8586            // reset bootstrapConfig because we do not want to merge it in re-embed scenario.
8587            this.bootstrapConfig = null;
8588        }
8589        else {
8590            // Copy config - important for multiple iframe scenario.
8591            // Otherwise, if a user uses the same config twice, same unique Id which will be used in different iframes.
8592            this.config = (0, util_1.assign)({}, config);
8593        }
8594        this.config.embedUrl = this.getEmbedUrl(isBootstrap);
8595        this.config.groupId = this.getGroupId();
8596        this.addLocaleToEmbedUrl(config);
8597        this.config.uniqueId = this.getUniqueId();
8598        var extensions = (_b = (_a = this.config) === null || _a === void 0 ? void 0 : _a.settings) === null || _b === void 0 ? void 0 : _b.extensions;
8599        this.commands = (_c = extensions === null || extensions === void 0 ? void 0 : extensions.commands) !== null && _c !== void 0 ? _c : [];
8600        this.groups = (_d = extensions === null || extensions === void 0 ? void 0 : extensions.groups) !== null && _d !== void 0 ? _d : [];
8601        this.initialLayoutType = (_g = (_f = (_e = this.config) === null || _e === void 0 ? void 0 : _e.settings) === null || _f === void 0 ? void 0 : _f.layoutType) !== null && _g !== void 0 ? _g : models.LayoutType.Master;
8602        // Adding commands in extensions array to this.commands
8603        var extensionsArray = (_j = (_h = this.config) === null || _h === void 0 ? void 0 : _h.settings) === null || _j === void 0 ? void 0 : _j.extensions;
8604        if (Array.isArray(extensionsArray)) {
8605            this.commands = [];
8606            extensionsArray.map(function (extension) { if (extension === null || extension === void 0 ? void 0 : extension.command) {
8607                _this.commands.push(extension.command);
8608            } });
8609        }
8610        if (isBootstrap) {
8611            // save current config in bootstrapConfig to be able to merge it on next call to powerbi.embed
8612            this.bootstrapConfig = this.config;
8613            this.bootstrapConfig.bootstrapped = true;
8614        }
8615        else {
8616            this.config.accessToken = this.getAccessToken(this.service.accessToken);
8617        }
8618        this.eventHooks = this.config.eventHooks;
8619        this.validateEventHooks(this.eventHooks);
8620        delete this.config.eventHooks;
8621        this.configChanged(isBootstrap);
8622    };
8623    /**
8624     * Validate EventHooks
8625     *
8626     * @private
8627     * @param {models.EventHooks} eventHooks
8628     * @hidden
8629     */
8630    Embed.prototype.validateEventHooks = function (eventHooks) {
8631        if (!eventHooks) {
8632            return;
8633        }
8634        for (var key in eventHooks) {
8635            if (eventHooks.hasOwnProperty(key) && typeof eventHooks[key] !== 'function') {
8636                throw new Error(key + " must be a function");
8637            }
8638        }
8639        var applicationContextProvider = eventHooks.applicationContextProvider;
8640        if (!!applicationContextProvider) {
8641            if (this.embedtype.toLowerCase() !== "report") {
8642                throw new Error("applicationContextProvider is only supported in report embed");
8643            }
8644            this.config.embedUrl = (0, util_1.addParamToUrl)(this.config.embedUrl, "registerQueryCallback", "true");
8645        }
8646        var accessTokenProvider = eventHooks.accessTokenProvider;
8647        if (!!accessTokenProvider) {
8648            if ((['create', 'quickcreate', 'report'].indexOf(this.embedtype.toLowerCase()) === -1) || this.config.tokenType !== models.TokenType.Aad) {
8649                throw new Error("accessTokenProvider is only supported in report SaaS embed");
8650            }
8651        }
8652    };
8653    /**
8654     * Adds locale parameters to embedUrl
8655     *
8656     * @private
8657     * @param {IEmbedConfiguration | models.ICommonEmbedConfiguration} config
8658     * @hidden
8659     */
8660    Embed.prototype.addLocaleToEmbedUrl = function (config) {
8661        if (!config.settings) {
8662            return;
8663        }
8664        var localeSettings = config.settings.localeSettings;
8665        if (localeSettings && localeSettings.language) {
8666            this.config.embedUrl = (0, util_1.addParamToUrl)(this.config.embedUrl, 'language', localeSettings.language);
8667        }
8668        if (localeSettings && localeSettings.formatLocale) {
8669            this.config.embedUrl = (0, util_1.addParamToUrl)(this.config.embedUrl, 'formatLocale', localeSettings.formatLocale);
8670        }
8671    };
8672    /**
8673     * Gets an embed url from the first available location: options, attribute.
8674     *
8675     * @private
8676     * @returns {string}
8677     * @hidden
8678     */
8679    Embed.prototype.getEmbedUrl = function (isBootstrap) {
8680        var embedUrl = this.config.embedUrl || this.element.getAttribute(Embed.embedUrlAttribute);
8681        if (isBootstrap && !embedUrl) {
8682            // Prepare flow, embed url was not provided, use hostname to build embed url.
8683            embedUrl = this.getDefaultEmbedUrl(this.config.hostname);
8684        }
8685        if (typeof embedUrl !== 'string' || embedUrl.length === 0) {
8686            throw new Error("Embed Url is required, but it was not found. You must provide an embed url either as part of embed configuration or as attribute '".concat(Embed.embedUrlAttribute, "'."));
8687        }
8688        return embedUrl;
8689    };
8690    /**
8691     * @hidden
8692     */
8693    Embed.prototype.getDefaultEmbedUrl = function (hostname) {
8694        if (!hostname) {
8695            hostname = Embed.defaultEmbedHostName;
8696        }
8697        var endpoint = this.getDefaultEmbedUrlEndpoint();
8698        // Trim spaces to fix user mistakes.
8699        hostname = hostname.toLowerCase().trim();
8700        if (hostname.indexOf("https://") === 0) {
8701            return "".concat(hostname, "/").concat(endpoint);
8702        }
8703        return "https://".concat(hostname, "/").concat(endpoint);
8704    };
8705    /**
8706     * Gets a unique ID from the first available location: options, attribute.
8707     * If neither is provided generate a unique string.
8708     *
8709     * @private
8710     * @returns {string}
8711     * @hidden
8712     */
8713    Embed.prototype.getUniqueId = function () {
8714        return this.config.uniqueId || this.element.getAttribute(Embed.nameAttribute) || (0, util_1.createRandomString)();
8715    };
8716    /**
8717     * Gets the group ID from the first available location: options, embeddedUrl.
8718     *
8719     * @private
8720     * @returns {string}
8721     * @hidden
8722     */
8723    Embed.prototype.getGroupId = function () {
8724        return this.config.groupId || Embed.findGroupIdFromEmbedUrl(this.config.embedUrl);
8725    };
8726    /**
8727     * Requests the browser to render the component's iframe in fullscreen mode.
8728     */
8729    Embed.prototype.fullscreen = function () {
8730        var requestFullScreen = this.iframe.requestFullscreen || this.iframe.msRequestFullscreen || this.iframe.mozRequestFullScreen || this.iframe.webkitRequestFullscreen;
8731        requestFullScreen.call(this.iframe);
8732    };
8733    /**
8734     * Requests the browser to exit fullscreen mode.
8735     */
8736    Embed.prototype.exitFullscreen = function () {
8737        if (!this.isFullscreen(this.iframe)) {
8738            return;
8739        }
8740        var exitFullscreen = document.exitFullscreen || document.mozCancelFullScreen || document.webkitExitFullscreen || document.msExitFullscreen;
8741        exitFullscreen.call(document);
8742    };
8743    /**
8744     * Returns true if the iframe is rendered in fullscreen mode,
8745     * otherwise returns false.
8746     *
8747     * @private
8748     * @param {HTMLIFrameElement} iframe
8749     * @returns {boolean}
8750     * @hidden
8751     */
8752    Embed.prototype.isFullscreen = function (iframe) {
8753        var options = ['fullscreenElement', 'webkitFullscreenElement', 'mozFullscreenScreenElement', 'msFullscreenElement'];
8754        return options.some(function (option) { return document[option] === iframe; });
8755    };
8756    /**
8757     * Sets Iframe for embed
8758     *
8759     * @hidden
8760     */
8761    Embed.prototype.setIframe = function (isLoad, phasedRender, isBootstrap) {
8762        var _this = this;
8763        if (!this.iframe) {
8764            var iframeContent = document.createElement("iframe");
8765            var embedUrl = this.config.uniqueId ? (0, util_1.addParamToUrl)(this.config.embedUrl, 'uid', this.config.uniqueId) : this.config.embedUrl;
8766            if (!(0, util_1.validateEmbedUrl)(embedUrl)) {
8767                throw new Error(errors_1.invalidEmbedUrlErrorMessage);
8768            }
8769            iframeContent.style.width = '100%';
8770            iframeContent.style.height = '100%';
8771            iframeContent.setAttribute("src", embedUrl);
8772            iframeContent.setAttribute("scrolling", "no");
8773            iframeContent.setAttribute("allowfullscreen", "true");
8774            var node = this.element;
8775            while (node.firstChild) {
8776                node.removeChild(node.firstChild);
8777            }
8778            node.appendChild(iframeContent);
8779            this.iframe = node.firstChild;
8780        }
8781        if (isLoad) {
8782            if (!isBootstrap) {
8783                // Validate config if it's not a bootstrap case.
8784                var errors = this.validate(this.config);
8785                if (errors) {
8786                    throw errors;
8787                }
8788            }
8789            this.iframe.addEventListener('load', function () {
8790                _this.iframeLoaded = true;
8791                _this.load(phasedRender);
8792            }, false);
8793            if (this.service.getNumberOfComponents() <= Embed.maxFrontLoadTimes) {
8794                this.frontLoadHandler = function () {
8795                    _this.frontLoadSendConfig(_this.config);
8796                };
8797                // 'ready' event is fired by the embedded element (not by the iframe)
8798                this.element.addEventListener('ready', this.frontLoadHandler, false);
8799            }
8800        }
8801        else {
8802            this.iframe.addEventListener('load', function () { return _this.create(); }, false);
8803        }
8804    };
8805    /**
8806     * Set the component title for accessibility. In case of iframes, this method will change the iframe title.
8807     */
8808    Embed.prototype.setComponentTitle = function (title) {
8809        if (!this.iframe) {
8810            return;
8811        }
8812        if (title == null) {
8813            this.iframe.removeAttribute("title");
8814        }
8815        else {
8816            this.iframe.setAttribute("title", title);
8817        }
8818    };
8819    /**
8820     * Sets element's tabindex attribute
8821     */
8822    Embed.prototype.setComponentTabIndex = function (tabIndex) {
8823        if (!this.element) {
8824            return;
8825        }
8826        this.element.setAttribute("tabindex", (tabIndex == null) ? "0" : tabIndex.toString());
8827    };
8828    /**
8829     * Removes element's tabindex attribute
8830     */
8831    Embed.prototype.removeComponentTabIndex = function (_tabIndex) {
8832        if (!this.element) {
8833            return;
8834        }
8835        this.element.removeAttribute("tabindex");
8836    };
8837    /**
8838     * Adds the ability to get groupId from url.
8839     * By extracting the ID we can ensure that the ID is always explicitly provided as part of the load configuration.
8840     *
8841     * @hidden
8842     * @static
8843     * @param {string} url
8844     * @returns {string}
8845     */
8846    Embed.findGroupIdFromEmbedUrl = function (url) {
8847        var groupIdRegEx = /groupId="?([^&]+)"?/;
8848        var groupIdMatch = url.match(groupIdRegEx);
8849        var groupId;
8850        if (groupIdMatch) {
8851            groupId = groupIdMatch[1];
8852        }
8853        return groupId;
8854    };
8855    /**
8856     * Sends the config for front load calls, after 'ready' message is received from the iframe
8857     *
8858     * @hidden
8859     */
8860    Embed.prototype.frontLoadSendConfig = function (config) {
8861        return __awaiter(this, void 0, void 0, function () {
8862            var errors, response, response_6;
8863            return __generator(this, function (_a) {
8864                switch (_a.label) {
8865                    case 0:
8866                        if (!config.accessToken) {
8867                            return [2 /*return*/];
8868                        }
8869                        errors = this.validate(config);
8870                        if (errors) {
8871                            throw errors;
8872                        }
8873                        // contentWindow must be initialized
8874                        if (this.iframe.contentWindow == null) {
8875                            return [2 /*return*/];
8876                        }
8877                        _a.label = 1;
8878                    case 1:
8879                        _a.trys.push([1, 3, , 4]);
8880                        return [4 /*yield*/, this.service.hpm.post("/frontload/config", config, { uid: this.config.uniqueId }, this.iframe.contentWindow)];
8881                    case 2:
8882                        response = _a.sent();
8883                        return [2 /*return*/, response.body];
8884                    case 3:
8885                        response_6 = _a.sent();
8886                        throw response_6.body;
8887                    case 4: return [2 /*return*/];
8888                }
8889            });
8890        });
8891    };
8892    /** @hidden */
8893    Embed.allowedEvents = ["loaded", "saved", "rendered", "saveAsTriggered", "error", "dataSelected", "buttonClicked", "info"];
8894    /** @hidden */
8895    Embed.accessTokenAttribute = 'powerbi-access-token';
8896    /** @hidden */
8897    Embed.embedUrlAttribute = 'powerbi-embed-url';
8898    /** @hidden */
8899    Embed.nameAttribute = 'powerbi-name';
8900    /** @hidden */
8901    Embed.typeAttribute = 'powerbi-type';
8902    /** @hidden */
8903    Embed.defaultEmbedHostName = "https://app.powerbi.com";
8904    /** @hidden */
8905    Embed.maxFrontLoadTimes = 2;
8906    return Embed;
8907}());
8908exports.Embed = Embed;
8909
8910
8911/***/ }),
8912
8913/***/ "./src/errors.ts":
8914/*!***********************!*\
8915  !*** ./src/errors.ts ***!
8916  \***********************/
8917/***/ ((__unused_webpack_module, exports) => {
8918
8919// Copyright (c) Microsoft Corporation.
8920// Licensed under the MIT License.
8921Object.defineProperty(exports, "__esModule", ({ value: true }));
8922exports.invalidEmbedUrlErrorMessage = exports.EmbedUrlNotSupported = exports.APINotSupportedForRDLError = void 0;
8923exports.APINotSupportedForRDLError = "This API is currently not supported for RDL reports";
8924exports.EmbedUrlNotSupported = "Embed URL is invalid for this scenario. Please use Power BI REST APIs to get the valid URL";
8925exports.invalidEmbedUrlErrorMessage = "Invalid embed URL detected. Either URL hostname or protocol are invalid. Please use Power BI REST APIs to get the valid URL";
8926
8927
8928/***/ }),
8929
vendor: 102,876 bytes, lines 8930-11403
8930/***/ "./src/factories.ts":
8931/*!**************************!*\
8932  !*** ./src/factories.ts ***!
8933  \**************************/
8934/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
8935
8936// Copyright (c) Microsoft Corporation.
8937// Licensed under the MIT License.
8938Object.defineProperty(exports, "__esModule", ({ value: true }));
8939exports.routerFactory = exports.wpmpFactory = exports.hpmFactory = void 0;
8940/**
8941 * TODO: Need to find better place for these factory functions or refactor how we handle dependency injection
8942 */
8943var window_post_message_proxy_1 = __webpack_require__(/*! window-post-message-proxy */ "./node_modules/window-post-message-proxy/dist/windowPostMessageProxy.js");
8944var http_post_message_1 = __webpack_require__(/*! http-post-message */ "./node_modules/http-post-message/dist/httpPostMessage.js");
8945var powerbi_router_1 = __webpack_require__(/*! powerbi-router */ "./node_modules/powerbi-router/dist/router.js");
8946var config_1 = __webpack_require__(/*! ./config */ "./src/config.ts");
8947var hpmFactory = function (wpmp, defaultTargetWindow, sdkVersion, sdkType, sdkWrapperVersion) {
8948    if (sdkVersion === void 0) { sdkVersion = config_1.default.version; }
8949    if (sdkType === void 0) { sdkType = config_1.default.type; }
8950    return new http_post_message_1.HttpPostMessage(wpmp, {
8951        'x-sdk-type': sdkType,
8952        'x-sdk-version': sdkVersion,
8953        'x-sdk-wrapper-version': sdkWrapperVersion,
8954    }, defaultTargetWindow);
8955};
8956exports.hpmFactory = hpmFactory;
8957var wpmpFactory = function (name, logMessages, eventSourceOverrideWindow) {
8958    return new window_post_message_proxy_1.WindowPostMessageProxy({
8959        processTrackingProperties: {
8960            addTrackingProperties: http_post_message_1.HttpPostMessage.addTrackingProperties,
8961            getTrackingProperties: http_post_message_1.HttpPostMessage.getTrackingProperties,
8962        },
8963        isErrorMessage: http_post_message_1.HttpPostMessage.isErrorMessage,
8964        suppressWarnings: true,
8965        name: name,
8966        logMessages: logMessages,
8967        eventSourceOverrideWindow: eventSourceOverrideWindow
8968    });
8969};
8970exports.wpmpFactory = wpmpFactory;
8971var routerFactory = function (wpmp) {
8972    return new powerbi_router_1.Router(wpmp);
8973};
8974exports.routerFactory = routerFactory;
8975
8976
8977/***/ }),
8978
8979/***/ "./src/page.ts":
8980/*!*********************!*\
8981  !*** ./src/page.ts ***!
8982  \*********************/
8983/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
8984
8985// Copyright (c) Microsoft Corporation.
8986// Licensed under the MIT License.
8987var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
8988    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
8989    return new (P || (P = Promise))(function (resolve, reject) {
8990        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
8991        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
8992        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8993        step((generator = generator.apply(thisArg, _arguments || [])).next());
8994    });
8995};
8996var __generator = (this && this.__generator) || function (thisArg, body) {
8997    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
8998    return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
8999    function verb(n) { return function (v) { return step([n, v]); }; }
9000    function step(op) {
9001        if (f) throw new TypeError("Generator is already executing.");
9002        while (_) try {
9003            if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
9004            if (y = 0, t) op = [op[0] & 2, t.value];
9005            switch (op[0]) {
9006                case 0: case 1: t = op; break;
9007                case 4: _.label++; return { value: op[1], done: false };
9008                case 5: _.label++; y = op[1]; op = [0]; continue;
9009                case 7: op = _.ops.pop(); _.trys.pop(); continue;
9010                default:
9011                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
9012                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
9013                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
9014                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
9015                    if (t[2]) _.ops.pop();
9016                    _.trys.pop(); continue;
9017            }
9018            op = body.call(thisArg, _);
9019        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
9020        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
9021    }
9022};
9023Object.defineProperty(exports, "__esModule", ({ value: true }));
9024exports.Page = void 0;
9025var powerbi_models_1 = __webpack_require__(/*! powerbi-models */ "./node_modules/powerbi-models/dist/models.js");
9026var visualDescriptor_1 = __webpack_require__(/*! ./visualDescriptor */ "./src/visualDescriptor.ts");
9027var util_1 = __webpack_require__(/*! ./util */ "./src/util.ts");
9028var errors_1 = __webpack_require__(/*! ./errors */ "./src/errors.ts");
9029/**
9030 * A Power BI report page
9031 *
9032 * @export
9033 * @class Page
9034 * @implements {IPageNode}
9035 * @implements {IFilterable}
9036 */
9037var Page = /** @class */ (function () {
9038    /**
9039     * Creates an instance of a Power BI report page.
9040     *
9041     * @param {IReportNode} report
9042     * @param {string} name
9043     * @param {string} [displayName]
9044     * @param {boolean} [isActivePage]
9045     * @param {SectionVisibility} [visibility]
9046     * @hidden
9047     */
9048    function Page(report, name, displayName, isActivePage, visibility, defaultSize, defaultDisplayOption, mobileSize, background, wallpaper) {
9049        this.report = report;
9050        this.name = name;
9051        this.displayName = displayName;
9052        this.isActive = isActivePage;
9053        this.visibility = visibility;
9054        this.defaultSize = defaultSize;
9055        this.mobileSize = mobileSize;
9056        this.defaultDisplayOption = defaultDisplayOption;
9057        this.background = background;
9058        this.wallpaper = wallpaper;
9059    }
9060    /**
9061     * Get insights for report page
9062     *
9063     * ```javascript
9064     * page.getSmartNarrativeInsights();
9065     * ```
9066     *
9067     * @returns {Promise<ISmartNarratives>}
9068     */
9069    Page.prototype.getSmartNarrativeInsights = function () {
9070        return __awaiter(this, void 0, void 0, function () {
9071            var response, response_1;
9072            return __generator(this, function (_a) {
9073                switch (_a.label) {
9074                    case 0:
9075                        if ((0, util_1.isRDLEmbed)(this.report.config.embedUrl)) {
9076                            return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)];
9077                        }
9078                        _a.label = 1;
9079                    case 1:
9080                        _a.trys.push([1, 3, , 4]);
9081                        return [4 /*yield*/, this.report.service.hpm.get("/report/pages/".concat(this.name, "/smartNarrativeInsights"), { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)];
9082                    case 2:
9083                        response = _a.sent();
9084                        return [2 /*return*/, response.body];
9085                    case 3:
9086                        response_1 = _a.sent();
9087                        throw response_1.body;
9088                    case 4: return [2 /*return*/];
9089                }
9090            });
9091        });
9092    };
9093    /**
9094     * Gets all page level filters within the report.
9095     *
9096     * ```javascript
9097     * page.getFilters()
9098     *  .then(filters => { ... });
9099     * ```
9100     *
9101     * @returns {(Promise<IFilter[]>)}
9102     */
9103    Page.prototype.getFilters = function () {
9104        return __awaiter(this, void 0, void 0, function () {
9105            var response, response_2;
9106            return __generator(this, function (_a) {
9107                switch (_a.label) {
9108                    case 0:
9109                        _a.trys.push([0, 2, , 3]);
9110                        return [4 /*yield*/, this.report.service.hpm.get("/report/pages/".concat(this.name, "/filters"), { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)];
9111                    case 1:
9112                        response = _a.sent();
9113                        return [2 /*return*/, response.body];
9114                    case 2:
9115                        response_2 = _a.sent();
9116                        throw response_2.body;
9117                    case 3: return [2 /*return*/];
9118                }
9119            });
9120        });
9121    };
9122    /**
9123     * Update the filters for the current page according to the operation: Add, replace all, replace by target or remove.
9124     *
9125     * ```javascript
9126     * page.updateFilters(FiltersOperations.Add, filters)
9127     *   .catch(errors => { ... });
9128     * ```
9129     *
9130     * @param {(IFilter[])} filters
9131     * @returns {Promise<IHttpPostMessageResponse<void>>}
9132     */
9133    Page.prototype.updateFilters = function (operation, filters) {
9134        return __awaiter(this, void 0, void 0, function () {
9135            var updateFiltersRequest, response_3;
9136            return __generator(this, function (_a) {
9137                switch (_a.label) {
9138                    case 0:
9139                        updateFiltersRequest = {
9140                            filtersOperation: operation,
9141                            filters: filters
9142                        };
9143                        _a.label = 1;
9144                    case 1:
9145                        _a.trys.push([1, 3, , 4]);
9146                        return [4 /*yield*/, this.report.service.hpm.post("/report/pages/".concat(this.name, "/filters"), updateFiltersRequest, { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)];
9147                    case 2: return [2 /*return*/, _a.sent()];
9148                    case 3:
9149                        response_3 = _a.sent();
9150                        throw response_3.body;
9151                    case 4: return [2 /*return*/];
9152                }
9153            });
9154        });
9155    };
9156    /**
9157     * Removes all filters from this page of the report.
9158     *
9159     * ```javascript
9160     * page.removeFilters();
9161     * ```
9162     *
9163     * @returns {Promise<IHttpPostMessageResponse<void>>}
9164     */
9165    Page.prototype.removeFilters = function () {
9166        return __awaiter(this, void 0, void 0, function () {
9167            return __generator(this, function (_a) {
9168                switch (_a.label) {
9169                    case 0: return [4 /*yield*/, this.updateFilters(powerbi_models_1.FiltersOperations.RemoveAll)];
9170                    case 1: return [2 /*return*/, _a.sent()];
9171                }
9172            });
9173        });
9174    };
9175    /**
9176     * Sets all filters on the current page.
9177     *
9178     * ```javascript
9179     * page.setFilters(filters)
9180     *   .catch(errors => { ... });
9181     * ```
9182     *
9183     * @param {(IFilter[])} filters
9184     * @returns {Promise<IHttpPostMessageResponse<void>>}
9185     */
9186    Page.prototype.setFilters = function (filters) {
9187        return __awaiter(this, void 0, void 0, function () {
9188            var response_4;
9189            return __generator(this, function (_a) {
9190                switch (_a.label) {
9191                    case 0:
9192                        _a.trys.push([0, 2, , 3]);
9193                        return [4 /*yield*/, this.report.service.hpm.put("/report/pages/".concat(this.name, "/filters"), filters, { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)];
9194                    case 1: return [2 /*return*/, _a.sent()];
9195                    case 2:
9196                        response_4 = _a.sent();
9197                        throw response_4.body;
9198                    case 3: return [2 /*return*/];
9199                }
9200            });
9201        });
9202    };
9203    /**
9204     * Delete the page from the report
9205     *
9206     * ```javascript
9207     * // Delete the page from the report
9208     * page.delete();
9209     * ```
9210     *
9211     * @returns {Promise<void>}
9212     */
9213    Page.prototype.delete = function () {
9214        return __awaiter(this, void 0, void 0, function () {
9215            var response, response_5;
9216            return __generator(this, function (_a) {
9217                switch (_a.label) {
9218                    case 0:
9219                        _a.trys.push([0, 2, , 3]);
9220                        return [4 /*yield*/, this.report.service.hpm.delete("/report/pages/".concat(this.name), {}, { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)];
9221                    case 1:
9222                        response = _a.sent();
9223                        return [2 /*return*/, response.body];
9224                    case 2:
9225                        response_5 = _a.sent();
9226                        throw response_5.body;
9227                    case 3: return [2 /*return*/];
9228                }
9229            });
9230        });
9231    };
9232    /**
9233     * Makes the current page the active page of the report.
9234     *
9235     * ```javascript
9236     * page.setActive();
9237     * ```
9238     *
9239     * @returns {Promise<IHttpPostMessageResponse<void>>}
9240     */
9241    Page.prototype.setActive = function () {
9242        return __awaiter(this, void 0, void 0, function () {
9243            var page, response_6;
9244            return __generator(this, function (_a) {
9245                switch (_a.label) {
9246                    case 0:
9247                        page = {
9248                            name: this.name,
9249                            displayName: null,
9250                            isActive: true
9251                        };
9252                        _a.label = 1;
9253                    case 1:
9254                        _a.trys.push([1, 3, , 4]);
9255                        return [4 /*yield*/, this.report.service.hpm.put('/report/pages/active', page, { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)];
9256                    case 2: return [2 /*return*/, _a.sent()];
9257                    case 3:
9258                        response_6 = _a.sent();
9259                        throw response_6.body;
9260                    case 4: return [2 /*return*/];
9261                }
9262            });
9263        });
9264    };
9265    /**
9266     * Set displayName to the current page.
9267     *
9268     * ```javascript
9269     * page.setName(displayName);
9270     * ```
9271     *
9272     * @returns {Promise<IHttpPostMessageResponse<void>>}
9273     */
9274    Page.prototype.setDisplayName = function (displayName) {
9275        return __awaiter(this, void 0, void 0, function () {
9276            var page, response_7;
9277            return __generator(this, function (_a) {
9278                switch (_a.label) {
9279                    case 0:
9280                        page = {
9281                            name: this.name,
9282                            displayName: displayName,
9283                        };
9284                        _a.label = 1;
9285                    case 1:
9286                        _a.trys.push([1, 3, , 4]);
9287                        return [4 /*yield*/, this.report.service.hpm.put("/report/pages/".concat(this.name, "/name"), page, { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)];
9288                    case 2: return [2 /*return*/, _a.sent()];
9289                    case 3:
9290                        response_7 = _a.sent();
9291                        throw response_7.body;
9292                    case 4: return [2 /*return*/];
9293                }
9294            });
9295        });
9296    };
9297    /**
9298     * Gets all the visuals on the page.
9299     *
9300     * ```javascript
9301     * page.getVisuals()
9302     *   .then(visuals => { ... });
9303     * ```
9304     *
9305     * @returns {Promise<VisualDescriptor[]>}
9306     */
9307    Page.prototype.getVisuals = function () {
9308        return __awaiter(this, void 0, void 0, function () {
9309            var response, response_8;
9310            var _this = this;
9311            return __generator(this, function (_a) {
9312                switch (_a.label) {
9313                    case 0:
9314                        if ((0, util_1.isRDLEmbed)(this.report.config.embedUrl)) {
9315                            return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)];
9316                        }
9317                        _a.label = 1;
9318                    case 1:
9319                        _a.trys.push([1, 3, , 4]);
9320                        return [4 /*yield*/, this.report.service.hpm.get("/report/pages/".concat(this.name, "/visuals"), { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)];
9321                    case 2:
9322                        response = _a.sent();
9323                        return [2 /*return*/, response.body
9324                                .map(function (visual) { return new visualDescriptor_1.VisualDescriptor(_this, visual.name, visual.title, visual.type, visual.layout); })];
9325                    case 3:
9326                        response_8 = _a.sent();
9327                        throw response_8.body;
9328                    case 4: return [2 /*return*/];
9329                }
9330            });
9331        });
9332    };
9333    /**
9334     * Gets a visual by name on the page.
9335     *
9336     * ```javascript
9337     * page.getVisualByName(visualName: string)
9338     *  .then(visual => {
9339     *      ...
9340     *  });
9341     * ```
9342     *
9343     * @param {string} visualName
9344     * @returns {Promise<VisualDescriptor>}
9345     */
9346    Page.prototype.getVisualByName = function (visualName) {
9347        return __awaiter(this, void 0, void 0, function () {
9348            var response, visual, response_9;
9349            return __generator(this, function (_a) {
9350                switch (_a.label) {
9351                    case 0:
9352                        if ((0, util_1.isRDLEmbed)(this.report.config.embedUrl)) {
9353                            return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)];
9354                        }
9355                        _a.label = 1;
9356                    case 1:
9357                        _a.trys.push([1, 3, , 4]);
9358                        return [4 /*yield*/, this.report.service.hpm.get("/report/pages/".concat(this.name, "/visuals"), { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)];
9359                    case 2:
9360                        response = _a.sent();
9361                        visual = response.body.find(function (v) { return v.name === visualName; });
9362                        if (!visual) {
9363                            return [2 /*return*/, Promise.reject(powerbi_models_1.CommonErrorCodes.NotFound)];
9364                        }
9365                        return [2 /*return*/, new visualDescriptor_1.VisualDescriptor(this, visual.name, visual.title, visual.type, visual.layout)];
9366                    case 3:
9367                        response_9 = _a.sent();
9368                        throw response_9.body;
9369                    case 4: return [2 /*return*/];
9370                }
9371            });
9372        });
9373    };
9374    /**
9375     * Updates the display state of a visual in a page.
9376     *
9377     * ```javascript
9378     * page.setVisualDisplayState(visualName, displayState)
9379     *   .catch(error => { ... });
9380     * ```
9381     *
9382     * @param {string} visualName
9383     * @param {VisualContainerDisplayMode} displayState
9384     * @returns {Promise<IHttpPostMessageResponse<void>>}
9385     */
9386    Page.prototype.setVisualDisplayState = function (visualName, displayState) {
9387        return __awaiter(this, void 0, void 0, function () {
9388            var pageName, report;
9389            return __generator(this, function (_a) {
9390                pageName = this.name;
9391                report = this.report;
9392                return [2 /*return*/, report.setVisualDisplayState(pageName, visualName, displayState)];
9393            });
9394        });
9395    };
9396    /**
9397     * Updates the position of a visual in a page.
9398     *
9399     * ```javascript
9400     * page.moveVisual(visualName, x, y, z)
9401     *   .catch(error => { ... });
9402     * ```
9403     *
9404     * @param {string} visualName
9405     * @param {number} x
9406     * @param {number} y
9407     * @param {number} z
9408     * @returns {Promise<IHttpPostMessageResponse<void>>}
9409     */
9410    Page.prototype.moveVisual = function (visualName, x, y, z) {
9411        return __awaiter(this, void 0, void 0, function () {
9412            var pageName, report;
9413            return __generator(this, function (_a) {
9414                pageName = this.name;
9415                report = this.report;
9416                return [2 /*return*/, report.moveVisual(pageName, visualName, x, y, z)];
9417            });
9418        });
9419    };
9420    /**
9421     * Resize a visual in a page.
9422     *
9423     * ```javascript
9424     * page.resizeVisual(visualName, width, height)
9425     *   .catch(error => { ... });
9426     * ```
9427     *
9428     * @param {string} visualName
9429     * @param {number} width
9430     * @param {number} height
9431     * @returns {Promise<IHttpPostMessageResponse<void>>}
9432     */
9433    Page.prototype.resizeVisual = function (visualName, width, height) {
9434        return __awaiter(this, void 0, void 0, function () {
9435            var pageName, report;
9436            return __generator(this, function (_a) {
9437                pageName = this.name;
9438                report = this.report;
9439                return [2 /*return*/, report.resizeVisual(pageName, visualName, width, height)];
9440            });
9441        });
9442    };
9443    /**
9444     * Updates the size of active page.
9445     *
9446     * ```javascript
9447     * page.resizePage(pageSizeType, width, height)
9448     *   .catch(error => { ... });
9449     * ```
9450     *
9451     * @param {PageSizeType} pageSizeType
9452     * @param {number} width
9453     * @param {number} height
9454     * @returns {Promise<IHttpPostMessageResponse<void>>}
9455     */
9456    Page.prototype.resizePage = function (pageSizeType, width, height) {
9457        return __awaiter(this, void 0, void 0, function () {
9458            var report;
9459            return __generator(this, function (_a) {
9460                if (!this.isActive) {
9461                    return [2 /*return*/, Promise.reject('Cannot resize the page. Only the active page can be resized')];
9462                }
9463                report = this.report;
9464                return [2 /*return*/, report.resizeActivePage(pageSizeType, width, height)];
9465            });
9466        });
9467    };
9468    /**
9469     * Gets the list of slicer visuals on the page.
9470     *
9471     * ```javascript
9472     * page.getSlicers()
9473     *  .then(slicers => {
9474     *      ...
9475     *  });
9476     * ```
9477     *
9478     * @returns {Promise<IVisual[]>}
9479     */
9480    Page.prototype.getSlicers = function () {
9481        return __awaiter(this, void 0, void 0, function () {
9482            var response, response_10;
9483            var _this = this;
9484            return __generator(this, function (_a) {
9485                switch (_a.label) {
9486                    case 0:
9487                        if ((0, util_1.isRDLEmbed)(this.report.config.embedUrl)) {
9488                            return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)];
9489                        }
9490                        _a.label = 1;
9491                    case 1:
9492                        _a.trys.push([1, 3, , 4]);
9493                        return [4 /*yield*/, this.report.service.hpm.get("/report/pages/".concat(this.name, "/visuals"), { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)];
9494                    case 2:
9495                        response = _a.sent();
9496                        return [2 /*return*/, response.body
9497                                .filter(function (visual) { return visual.type === 'slicer'; })
9498                                .map(function (visual) { return new visualDescriptor_1.VisualDescriptor(_this, visual.name, visual.title, visual.type, visual.layout); })];
9499                    case 3:
9500                        response_10 = _a.sent();
9501                        throw response_10.body;
9502                    case 4: return [2 /*return*/];
9503                }
9504            });
9505        });
9506    };
9507    /**
9508     * Checks if page has layout.
9509     *
9510     * ```javascript
9511     * page.hasLayout(layoutType)
9512     *  .then(hasLayout: boolean => { ... });
9513     * ```
9514     *
9515     * @returns {(Promise<boolean>)}
9516     */
9517    Page.prototype.hasLayout = function (layoutType) {
9518        return __awaiter(this, void 0, void 0, function () {
9519            var layoutTypeEnum, response, response_11;
9520            return __generator(this, function (_a) {
9521                switch (_a.label) {
9522                    case 0:
9523                        if ((0, util_1.isRDLEmbed)(this.report.config.embedUrl)) {
9524                            return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)];
9525                        }
9526                        layoutTypeEnum = powerbi_models_1.LayoutType[layoutType];
9527                        _a.label = 1;
9528                    case 1:
9529                        _a.trys.push([1, 3, , 4]);
9530                        return [4 /*yield*/, this.report.service.hpm.get("/report/pages/".concat(this.name, "/layoutTypes/").concat(layoutTypeEnum), { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)];
9531                    case 2:
9532                        response = _a.sent();
9533                        return [2 /*return*/, response.body];
9534                    case 3:
9535                        response_11 = _a.sent();
9536                        throw response_11.body;
9537                    case 4: return [2 /*return*/];
9538                }
9539            });
9540        });
9541    };
9542    return Page;
9543}());
9544exports.Page = Page;
9545
9546
9547/***/ }),
9548
9549/***/ "./src/qna.ts":
9550/*!********************!*\
9551  !*** ./src/qna.ts ***!
9552  \********************/
9553/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
9554
9555// Copyright (c) Microsoft Corporation.
9556// Licensed under the MIT License.
9557var __extends = (this && this.__extends) || (function () {
9558    var extendStatics = function (d, b) {
9559        extendStatics = Object.setPrototypeOf ||
9560            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
9561            function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
9562        return extendStatics(d, b);
9563    };
9564    return function (d, b) {
9565        if (typeof b !== "function" && b !== null)
9566            throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
9567        extendStatics(d, b);
9568        function __() { this.constructor = d; }
9569        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
9570    };
9571})();
9572var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
9573    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
9574    return new (P || (P = Promise))(function (resolve, reject) {
9575        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
9576        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
9577        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
9578        step((generator = generator.apply(thisArg, _arguments || [])).next());
9579    });
9580};
9581var __generator = (this && this.__generator) || function (thisArg, body) {
9582    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
9583    return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
9584    function verb(n) { return function (v) { return step([n, v]); }; }
9585    function step(op) {
9586        if (f) throw new TypeError("Generator is already executing.");
9587        while (_) try {
9588            if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
9589            if (y = 0, t) op = [op[0] & 2, t.value];
9590            switch (op[0]) {
9591                case 0: case 1: t = op; break;
9592                case 4: _.label++; return { value: op[1], done: false };
9593                case 5: _.label++; y = op[1]; op = [0]; continue;
9594                case 7: op = _.ops.pop(); _.trys.pop(); continue;
9595                default:
9596                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
9597                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
9598                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
9599                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
9600                    if (t[2]) _.ops.pop();
9601                    _.trys.pop(); continue;
9602            }
9603            op = body.call(thisArg, _);
9604        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
9605        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
9606    }
9607};
9608Object.defineProperty(exports, "__esModule", ({ value: true }));
9609exports.Qna = void 0;
9610var powerbi_models_1 = __webpack_require__(/*! powerbi-models */ "./node_modules/powerbi-models/dist/models.js");
9611var embed_1 = __webpack_require__(/*! ./embed */ "./src/embed.ts");
9612/**
9613 * The Power BI Q&A embed component
9614 *
9615 * @export
9616 * @class Qna
9617 * @extends {Embed}
9618 */
9619var Qna = /** @class */ (function (_super) {
9620    __extends(Qna, _super);
9621    /**
9622     * @hidden
9623     */
9624    function Qna(service, element, config, phasedRender, isBootstrap) {
9625        var _this = _super.call(this, service, element, config, /* iframe */ undefined, phasedRender, isBootstrap) || this;
9626        _this.loadPath = "/qna/load";
9627        _this.phasedLoadPath = "/qna/prepare";
9628        Array.prototype.push.apply(_this.allowedEvents, Qna.allowedEvents);
9629        return _this;
9630    }
9631    /**
9632     * The ID of the Q&A embed component
9633     *
9634     * @returns {string}
9635     */
9636    Qna.prototype.getId = function () {
9637        return null;
9638    };
9639    /**
9640     * Change the question of the Q&A embed component
9641     *
9642     * @param {string} question - question which will render Q&A data
9643     * @returns {Promise<IHttpPostMessageResponse<void>>}
9644     */
9645    Qna.prototype.setQuestion = function (question) {
9646        return __awaiter(this, void 0, void 0, function () {
9647            var qnaData, response_1;
9648            return __generator(this, function (_a) {
9649                switch (_a.label) {
9650                    case 0:
9651                        qnaData = {
9652                            question: question
9653                        };
9654                        _a.label = 1;
9655                    case 1:
9656                        _a.trys.push([1, 3, , 4]);
9657                        return [4 /*yield*/, this.service.hpm.post('/qna/interpret', qnaData, { uid: this.config.uniqueId }, this.iframe.contentWindow)];
9658                    case 2: return [2 /*return*/, _a.sent()];
9659                    case 3:
9660                        response_1 = _a.sent();
9661                        throw response_1.body;
9662                    case 4: return [2 /*return*/];
9663                }
9664            });
9665        });
9666    };
9667    /**
9668     * Handle config changes.
9669     *
9670     * @returns {void}
9671     */
9672    Qna.prototype.configChanged = function (_isBootstrap) {
9673        // Nothing to do in Q&A embed.
9674    };
9675    /**
9676     * @hidden
9677     * @returns {string}
9678     */
9679    Qna.prototype.getDefaultEmbedUrlEndpoint = function () {
9680        return "qnaEmbed";
9681    };
9682    /**
9683     * Validate load configuration.
9684     */
9685    Qna.prototype.validate = function (config) {
9686        return (0, powerbi_models_1.validateLoadQnaConfiguration)(config);
9687    };
9688    /** @hidden */
9689    Qna.type = "Qna";
9690    /** @hidden */
9691    Qna.allowedEvents = ["loaded", "visualRendered"];
9692    return Qna;
9693}(embed_1.Embed));
9694exports.Qna = Qna;
9695
9696
9697/***/ }),
9698
9699/***/ "./src/quickCreate.ts":
9700/*!****************************!*\
9701  !*** ./src/quickCreate.ts ***!
9702  \****************************/
9703/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
9704
9705// Copyright (c) Microsoft Corporation.
9706// Licensed under the MIT License.
9707var __extends = (this && this.__extends) || (function () {
9708    var extendStatics = function (d, b) {
9709        extendStatics = Object.setPrototypeOf ||
9710            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
9711            function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
9712        return extendStatics(d, b);
9713    };
9714    return function (d, b) {
9715        if (typeof b !== "function" && b !== null)
9716            throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
9717        extendStatics(d, b);
9718        function __() { this.constructor = d; }
9719        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
9720    };
9721})();
9722var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
9723    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
9724    return new (P || (P = Promise))(function (resolve, reject) {
9725        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
9726        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
9727        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
9728        step((generator = generator.apply(thisArg, _arguments || [])).next());
9729    });
9730};
9731var __generator = (this && this.__generator) || function (thisArg, body) {
9732    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
9733    return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
9734    function verb(n) { return function (v) { return step([n, v]); }; }
9735    function step(op) {
9736        if (f) throw new TypeError("Generator is already executing.");
9737        while (_) try {
9738            if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
9739            if (y = 0, t) op = [op[0] & 2, t.value];
9740            switch (op[0]) {
9741                case 0: case 1: t = op; break;
9742                case 4: _.label++; return { value: op[1], done: false };
9743                case 5: _.label++; y = op[1]; op = [0]; continue;
9744                case 7: op = _.ops.pop(); _.trys.pop(); continue;
9745                default:
9746                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
9747                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
9748                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
9749                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
9750                    if (t[2]) _.ops.pop();
9751                    _.trys.pop(); continue;
9752            }
9753            op = body.call(thisArg, _);
9754        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
9755        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
9756    }
9757};
9758Object.defineProperty(exports, "__esModule", ({ value: true }));
9759exports.QuickCreate = void 0;
9760var powerbi_models_1 = __webpack_require__(/*! powerbi-models */ "./node_modules/powerbi-models/dist/models.js");
9761var embed_1 = __webpack_require__(/*! ./embed */ "./src/embed.ts");
9762/**
9763 * A Power BI Quick Create component
9764 *
9765 * @export
9766 * @class QuickCreate
9767 * @extends {Embed}
9768 */
9769var QuickCreate = /** @class */ (function (_super) {
9770    __extends(QuickCreate, _super);
9771    /*
9772     * @hidden
9773     */
9774    function QuickCreate(service, element, config, phasedRender, isBootstrap) {
9775        var _this = _super.call(this, service, element, config, /* iframe */ undefined, phasedRender, isBootstrap) || this;
9776        service.router.post("/reports/".concat(_this.config.uniqueId, "/eventHooks/:eventName"), function (req, _res) { return __awaiter(_this, void 0, void 0, function () {
9777            var _a;
9778            var _b;
9779            return __generator(this, function (_c) {
9780                switch (_c.label) {
9781                    case 0:
9782                        _a = req.params.eventName;
9783                        switch (_a) {
9784                            case "newAccessToken": return [3 /*break*/, 1];
9785                        }
9786                        return [3 /*break*/, 3];
9787                    case 1:
9788                        req.body = req.body || {};
9789                        req.body.report = this;
9790                        return [4 /*yield*/, service.invokeSDKHook((_b = this.eventHooks) === null || _b === void 0 ? void 0 : _b.accessTokenProvider, req, _res)];
9791                    case 2:
9792                        _c.sent();
9793                        return [3 /*break*/, 4];
9794                    case 3: return [3 /*break*/, 4];
9795                    case 4: return [2 /*return*/];
9796                }
9797            });
9798        }); });
9799        return _this;
9800    }
9801    /**
9802     * Override the getId abstract function
9803     * QuickCreate does not need any ID
9804     *
9805     * @returns {string}
9806     */
9807    QuickCreate.prototype.getId = function () {
9808        return null;
9809    };
9810    /**
9811     * Validate create report configuration.
9812     */
9813    QuickCreate.prototype.validate = function (config) {
9814        return (0, powerbi_models_1.validateQuickCreate)(config);
9815    };
9816    /**
9817     * Handle config changes.
9818     *
9819     * @hidden
9820     * @returns {void}
9821     */
9822    QuickCreate.prototype.configChanged = function (isBootstrap) {
9823        if (isBootstrap) {
9824            return;
9825        }
9826        this.createConfig = this.config;
9827    };
9828    /**
9829     * @hidden
9830     * @returns {string}
9831     */
9832    QuickCreate.prototype.getDefaultEmbedUrlEndpoint = function () {
9833        return "quickCreate";
9834    };
9835    /**
9836     * Sends quickCreate configuration data.
9837     *
9838     * ```javascript
9839     * quickCreate({
9840     *   accessToken: 'eyJ0eXA ... TaE2rTSbmg',
9841     *   datasetCreateConfig: {}})
9842     * ```
9843     *
9844     * @hidden
9845     * @param {IQuickCreateConfiguration} createConfig
9846     * @returns {Promise<void>}
9847     */
9848    QuickCreate.prototype.create = function () {
9849        var _a;
9850        return __awaiter(this, void 0, void 0, function () {
9851            var errors, headers, response, response_1;
9852            return __generator(this, function (_b) {
9853                switch (_b.label) {
9854                    case 0:
9855                        errors = (0, powerbi_models_1.validateQuickCreate)(this.createConfig);
9856                        if (errors) {
9857                            throw errors;
9858                        }
9859                        _b.label = 1;
9860                    case 1:
9861                        _b.trys.push([1, 3, , 4]);
9862                        headers = {
9863                            uid: this.config.uniqueId,
9864                            sdkSessionId: this.service.getSdkSessionId()
9865                        };
9866                        if (!!((_a = this.eventHooks) === null || _a === void 0 ? void 0 : _a.accessTokenProvider)) {
9867                            headers.tokenProviderSupplied = true;
9868                        }
9869                        return [4 /*yield*/, this.service.hpm.post("/quickcreate", this.createConfig, headers, this.iframe.contentWindow)];
9870                    case 2:
9871                        response = _b.sent();
9872                        return [2 /*return*/, response.body];
9873                    case 3:
9874                        response_1 = _b.sent();
9875                        throw response_1.body;
9876                    case 4: return [2 /*return*/];
9877                }
9878            });
9879        });
9880    };
9881    return QuickCreate;
9882}(embed_1.Embed));
9883exports.QuickCreate = QuickCreate;
9884
9885
9886/***/ }),
9887
9888/***/ "./src/report.ts":
9889/*!***********************!*\
9890  !*** ./src/report.ts ***!
9891  \***********************/
9892/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
9893
9894// Copyright (c) Microsoft Corporation.
9895// Licensed under the MIT License.
9896var __extends = (this && this.__extends) || (function () {
9897    var extendStatics = function (d, b) {
9898        extendStatics = Object.setPrototypeOf ||
9899            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
9900            function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
9901        return extendStatics(d, b);
9902    };
9903    return function (d, b) {
9904        if (typeof b !== "function" && b !== null)
9905            throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
9906        extendStatics(d, b);
9907        function __() { this.constructor = d; }
9908        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
9909    };
9910})();
9911var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
9912    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
9913    return new (P || (P = Promise))(function (resolve, reject) {
9914        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
9915        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
9916        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
9917        step((generator = generator.apply(thisArg, _arguments || [])).next());
9918    });
9919};
9920var __generator = (this && this.__generator) || function (thisArg, body) {
9921    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
9922    return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
9923    function verb(n) { return function (v) { return step([n, v]); }; }
9924    function step(op) {
9925        if (f) throw new TypeError("Generator is already executing.");
9926        while (_) try {
9927            if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
9928            if (y = 0, t) op = [op[0] & 2, t.value];
9929            switch (op[0]) {
9930                case 0: case 1: t = op; break;
9931                case 4: _.label++; return { value: op[1], done: false };
9932                case 5: _.label++; y = op[1]; op = [0]; continue;
9933                case 7: op = _.ops.pop(); _.trys.pop(); continue;
9934                default:
9935                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
9936                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
9937                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
9938                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
9939                    if (t[2]) _.ops.pop();
9940                    _.trys.pop(); continue;
9941            }
9942            op = body.call(thisArg, _);
9943        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
9944        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
9945    }
9946};
9947var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
9948    if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
9949        if (ar || !(i in from)) {
9950            if (!ar) ar = Array.prototype.slice.call(from, 0, i);
9951            ar[i] = from[i];
9952        }
9953    }
9954    return to.concat(ar || Array.prototype.slice.call(from));
9955};
9956Object.defineProperty(exports, "__esModule", ({ value: true }));
9957exports.Report = void 0;
9958var powerbi_models_1 = __webpack_require__(/*! powerbi-models */ "./node_modules/powerbi-models/dist/models.js");
9959var embed_1 = __webpack_require__(/*! ./embed */ "./src/embed.ts");
9960var util_1 = __webpack_require__(/*! ./util */ "./src/util.ts");
9961var errors_1 = __webpack_require__(/*! ./errors */ "./src/errors.ts");
9962var page_1 = __webpack_require__(/*! ./page */ "./src/page.ts");
9963var bookmarksManager_1 = __webpack_require__(/*! ./bookmarksManager */ "./src/bookmarksManager.ts");
9964/**
9965 * The Power BI Report embed component
9966 *
9967 * @export
9968 * @class Report
9969 * @extends {Embed}
9970 * @implements {IReportNode}
9971 * @implements {IFilterable}
9972 */
9973var Report = /** @class */ (function (_super) {
9974    __extends(Report, _super);
9975    /**
9976     * Creates an instance of a Power BI Report.
9977     *
9978     * @param {Service} service
9979     * @param {HTMLElement} element
9980     * @param {IEmbedConfiguration} config
9981     * @hidden
9982     */
9983    function Report(service, element, baseConfig, phasedRender, isBootstrap, iframe) {
9984        var _this = this;
9985        var config = baseConfig;
9986        _this = _super.call(this, service, element, config, iframe, phasedRender, isBootstrap) || this;
9987        _this.loadPath = "/report/load";
9988        _this.phasedLoadPath = "/report/prepare";
9989        Array.prototype.push.apply(_this.allowedEvents, Report.allowedEvents);
9990        _this.bookmarksManager = new bookmarksManager_1.BookmarksManager(service, config, _this.iframe);
9991        service.router.post("/reports/".concat(_this.config.uniqueId, "/eventHooks/:eventName"), function (req, _res) { return __awaiter(_this, void 0, void 0, function () {
9992            var _a;
9993            var _b, _c;
9994            return __generator(this, function (_d) {
9995                switch (_d.label) {
9996                    case 0:
9997                        _a = req.params.eventName;
9998                        switch (_a) {
9999                            case "preQuery": return [3 /*break*/, 1];
10000                            case "newAccessToken": return [3 /*break*/, 3];
10001                        }
10002                        return [3 /*break*/, 5];
10003                    case 1:
10004                        req.body = req.body || {};
10005                        req.body.report = this;
10006                        return [4 /*yield*/, service.invokeSDKHook((_b = this.eventHooks) === null || _b === void 0 ? void 0 : _b.applicationContextProvider, req, _res)];
10007                    case 2:
10008                        _d.sent();
10009                        return [3 /*break*/, 6];
10010                    case 3:
10011                        req.body = req.body || {};
10012                        req.body.report = this;
10013                        return [4 /*yield*/, service.invokeSDKHook((_c = this.eventHooks) === null || _c === void 0 ? void 0 : _c.accessTokenProvider, req, _res)];
10014                    case 4:
10015                        _d.sent();
10016                        return [3 /*break*/, 6];
10017                    case 5: return [3 /*break*/, 6];
10018                    case 6: return [2 /*return*/];
10019                }
10020            });
10021        }); });
10022        return _this;
10023    }
10024    /**
10025     * Adds backwards compatibility for the previous load configuration, which used the reportId query parameter to specify the report ID
10026     * (e.g. http://embedded.powerbi.com/appTokenReportEmbed?reportId=854846ed-2106-4dc2-bc58-eb77533bf2f1).
10027     *
10028     * By extracting the ID we can ensure that the ID is always explicitly provided as part of the load configuration.
10029     *
10030     * @hidden
10031     * @static
10032     * @param {string} url
10033     * @returns {string}
10034     */
10035    Report.findIdFromEmbedUrl = function (url) {
10036        var reportIdRegEx = /reportId="?([^&]+)"?/;
10037        var reportIdMatch = url.match(reportIdRegEx);
10038        var reportId;
10039        if (reportIdMatch) {
10040            reportId = reportIdMatch[1];
10041        }
10042        return reportId;
10043    };
10044    /**
10045     * Render a preloaded report, using phased embedding API
10046     *
10047     * ```javascript
10048     * // Load report
10049     * var report = powerbi.load(element, config);
10050     *
10051     * ...
10052     *
10053     * // Render report
10054     * report.render()
10055     * ```
10056     *
10057     * @returns {Promise<void>}
10058     */
10059    Report.prototype.render = function (config) {
10060        return __awaiter(this, void 0, void 0, function () {
10061            var response, response_1;
10062            return __generator(this, function (_a) {
10063                switch (_a.label) {
10064                    case 0:
10065                        _a.trys.push([0, 2, , 3]);
10066                        return [4 /*yield*/, this.service.hpm.post("/report/render", config, { uid: this.config.uniqueId }, this.iframe.contentWindow)];
10067                    case 1:
10068                        response = _a.sent();
10069                        return [2 /*return*/, response.body];
10070                    case 2:
10071                        response_1 = _a.sent();
10072                        throw response_1.body;
10073                    case 3: return [2 /*return*/];
10074                }
10075            });
10076        });
10077    };
10078    /**
10079     * Add an empty page to the report
10080     *
10081     * ```javascript
10082     * // Add a page to the report with "Sales" as the page display name
10083     * report.addPage("Sales");
10084     * ```
10085     *
10086     * @returns {Promise<Page>}
10087     */
10088    Report.prototype.addPage = function (displayName) {
10089        return __awaiter(this, void 0, void 0, function () {
10090            var request, response, page, response_2;
10091            return __generator(this, function (_a) {
10092                switch (_a.label) {
10093                    case 0:
10094                        request = {
10095                            displayName: displayName
10096                        };
10097                        _a.label = 1;
10098                    case 1:
10099                        _a.trys.push([1, 3, , 4]);
10100                        return [4 /*yield*/, this.service.hpm.post("/report/addPage", request, { uid: this.config.uniqueId }, this.iframe.contentWindow)];
10101                    case 2:
10102                        response = _a.sent();
10103                        page = response.body;
10104                        return [2 /*return*/, new page_1.Page(this, page.name, page.displayName, page.isActive, page.visibility, page.defaultSize, page.defaultDisplayOption)];
10105                    case 3:
10106                        response_2 = _a.sent();
10107                        throw response_2.body;
10108                    case 4: return [2 /*return*/];
10109                }
10110            });
10111        });
10112    };
10113    /**
10114     * Delete a page from a report
10115     *
10116     * ```javascript
10117     * // Delete a page from a report by pageName (PageName is different than the display name and can be acquired from the getPages API)
10118     * report.deletePage("ReportSection145");
10119     * ```
10120     *
10121     * @returns {Promise<void>}
10122     */
10123    Report.prototype.deletePage = function (pageName) {
10124        return __awaiter(this, void 0, void 0, function () {
10125            var response, response_3;
10126            return __generator(this, function (_a) {
10127                switch (_a.label) {
10128                    case 0:
10129                        _a.trys.push([0, 2, , 3]);
10130                        return [4 /*yield*/, this.service.hpm.delete("/report/pages/".concat(pageName), {}, { uid: this.config.uniqueId }, this.iframe.contentWindow)];
10131                    case 1:
10132                        response = _a.sent();
10133                        return [2 /*return*/, response.body];
10134                    case 2:
10135                        response_3 = _a.sent();
10136                        throw response_3.body;
10137                    case 3: return [2 /*return*/];
10138                }
10139            });
10140        });
10141    };
10142    /**
10143     * Rename a page from a report
10144     *
10145     * ```javascript
10146     * // Rename a page from a report by changing displayName (pageName is different from the display name and can be acquired from the getPages API)
10147     * report.renamePage("ReportSection145", "Sales");
10148     * ```
10149     *
10150     * @returns {Promise<void>}
10151     */
10152    Report.prototype.renamePage = function (pageName, displayName) {
10153        return __awaiter(this, void 0, void 0, function () {
10154            var page, response, response_4;
10155            return __generator(this, function (_a) {
10156                switch (_a.label) {
10157                    case 0:
10158                        page = {
10159                            name: pageName,
10160                            displayName: displayName,
10161                        };
10162                        _a.label = 1;
10163                    case 1:
10164                        _a.trys.push([1, 3, , 4]);
10165                        return [4 /*yield*/, this.service.hpm.put("/report/pages/".concat(pageName, "/name"), page, { uid: this.config.uniqueId }, this.iframe.contentWindow)];
10166                    case 2:
10167                        response = _a.sent();
10168                        return [2 /*return*/, response.body];
10169                    case 3:
10170                        response_4 = _a.sent();
10171                        throw response_4.body;
10172                    case 4: return [2 /*return*/];
10173                }
10174            });
10175        });
10176    };
10177    /**
10178     * Gets filters that are applied at the report level.
10179     *
10180     * ```javascript
10181     * // Get filters applied at report level
10182     * report.getFilters()
10183     *   .then(filters => {
10184     *     ...
10185     *   });
10186     * ```
10187     *
10188     * @returns {Promise<IFilter[]>}
10189     */
10190    Report.prototype.getFilters = function () {
10191        return __awaiter(this, void 0, void 0, function () {
10192            var response, response_5;
10193            return __generator(this, function (_a) {
10194                switch (_a.label) {
10195                    case 0:
10196                        if ((0, util_1.isRDLEmbed)(this.config.embedUrl)) {
10197                            return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)];
10198                        }
10199                        _a.label = 1;
10200                    case 1:
10201                        _a.trys.push([1, 3, , 4]);
10202                        return [4 /*yield*/, this.service.hpm.get("/report/filters", { uid: this.config.uniqueId }, this.iframe.contentWindow)];
10203                    case 2:
10204                        response = _a.sent();
10205                        return [2 /*return*/, response.body];
10206                    case 3:
10207                        response_5 = _a.sent();
10208                        throw response_5.body;
10209                    case 4: return [2 /*return*/];
10210                }
10211            });
10212        });
10213    };
10214    /**
10215     * Update the filters at the report level according to the operation: Add, replace all, replace by target or remove.
10216     *
10217     * ```javascript
10218     * report.updateFilters(FiltersOperations.Add, filters)
10219     *   .catch(errors => { ... });
10220     * ```
10221     *
10222     * @param {(IFilter[])} filters
10223     * @returns {Promise<IHttpPostMessageResponse<void>>}
10224     */
10225    Report.prototype.updateFilters = function (operation, filters) {
10226        return __awaiter(this, void 0, void 0, function () {
10227            var updateFiltersRequest, response_6;
10228            return __generator(this, function (_a) {
10229                switch (_a.label) {
10230                    case 0:
10231                        updateFiltersRequest = {
10232                            filtersOperation: operation,
10233                            filters: filters
10234                        };
10235                        _a.label = 1;
10236                    case 1:
10237                        _a.trys.push([1, 3, , 4]);
10238                        return [4 /*yield*/, this.service.hpm.post("/report/filters", updateFiltersRequest, { uid: this.config.uniqueId }, this.iframe.contentWindow)];
10239                    case 2: return [2 /*return*/, _a.sent()];
10240                    case 3:
10241                        response_6 = _a.sent();
10242                        throw response_6.body;
10243                    case 4: return [2 /*return*/];
10244                }
10245            });
10246        });
10247    };
10248    /**
10249     * Removes all filters at the report level.
10250     *
10251     * ```javascript
10252     * report.removeFilters();
10253     * ```
10254     *
10255     * @returns {Promise<IHttpPostMessageResponse<void>>}
10256     */
10257    Report.prototype.removeFilters = function () {
10258        return __awaiter(this, void 0, void 0, function () {
10259            return __generator(this, function (_a) {
10260                if ((0, util_1.isRDLEmbed)(this.config.embedUrl)) {
10261                    return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)];
10262                }
10263                return [2 /*return*/, this.updateFilters(powerbi_models_1.FiltersOperations.RemoveAll)];
10264            });
10265        });
10266    };
10267    /**
10268     * Sets filters at the report level.
10269     *
10270     * ```javascript
10271     * const filters: [
10272     *    ...
10273     * ];
10274     *
10275     * report.setFilters(filters)
10276     *  .catch(errors => {
10277     *    ...
10278     *  });
10279     * ```
10280     *
10281     * @param {(IFilter[])} filters
10282     * @returns {Promise<IHttpPostMessageResponse<void>>}
10283     */
10284    Report.prototype.setFilters = function (filters) {
10285        return __awaiter(this, void 0, void 0, function () {
10286            var response_7;
10287            return __generator(this, function (_a) {
10288                switch (_a.label) {
10289                    case 0:
10290                        if ((0, util_1.isRDLEmbed)(this.config.embedUrl)) {
10291                            return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)];
10292                        }
10293                        _a.label = 1;
10294                    case 1:
10295                        _a.trys.push([1, 3, , 4]);
10296                        return [4 /*yield*/, this.service.hpm.put("/report/filters", filters, { uid: this.config.uniqueId }, this.iframe.contentWindow)];
10297                    case 2: return [2 /*return*/, _a.sent()];
10298                    case 3:
10299                        response_7 = _a.sent();
10300                        throw response_7.body;
10301                    case 4: return [2 /*return*/];
10302                }
10303            });
10304        });
10305    };
10306    /**
10307     * Gets the report ID from the first available location: options, attribute, embed url.
10308     *
10309     * @returns {string}
10310     */
10311    Report.prototype.getId = function () {
10312        var config = this.config;
10313        var reportId = config.id || this.element.getAttribute(Report.reportIdAttribute) || Report.findIdFromEmbedUrl(config.embedUrl);
10314        if (typeof reportId !== 'string' || reportId.length === 0) {
10315            throw new Error("Report id is required, but it was not found. You must provide an id either as part of embed configuration or as attribute '".concat(Report.reportIdAttribute, "'."));
10316        }
10317        return reportId;
10318    };
10319    /**
10320     * Gets the list of pages within the report.
10321     *
10322     * ```javascript
10323     * report.getPages()
10324     *  .then(pages => {
10325     *      ...
10326     *  });
10327     * ```
10328     *
10329     * @returns {Promise<Page[]>}
10330     */
10331    Report.prototype.getPages = function () {
10332        return __awaiter(this, void 0, void 0, function () {
10333            var response, response_8;
10334            var _this = this;
10335            return __generator(this, function (_a) {
10336                switch (_a.label) {
10337                    case 0:
10338                        if ((0, util_1.isRDLEmbed)(this.config.embedUrl)) {
10339                            return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)];
10340                        }
10341                        _a.label = 1;
10342                    case 1:
10343                        _a.trys.push([1, 3, , 4]);
10344                        return [4 /*yield*/, this.service.hpm.get('/report/pages', { uid: this.config.uniqueId }, this.iframe.contentWindow)];
10345                    case 2:
10346                        response = _a.sent();
10347                        return [2 /*return*/, response.body
10348                                .map(function (page) { return new page_1.Page(_this, page.name, page.displayName, page.isActive, page.visibility, page.defaultSize, page.defaultDisplayOption, page.mobileSize, page.background, page.wallpaper); })];
10349                    case 3:
10350                        response_8 = _a.sent();
10351                        throw response_8.body;
10352                    case 4: return [2 /*return*/];
10353                }
10354            });
10355        });
10356    };
10357    /**
10358     * Gets a report page by its name.
10359     *
10360     * ```javascript
10361     * report.getPageByName(pageName)
10362     *  .then(page => {
10363     *      ...
10364     *  });
10365     * ```
10366     *
10367     * @param {string} pageName
10368     * @returns {Promise<Page>}
10369     */
10370    Report.prototype.getPageByName = function (pageName) {
10371        return __awaiter(this, void 0, void 0, function () {
10372            var response, page, response_9;
10373            return __generator(this, function (_a) {
10374                switch (_a.label) {
10375                    case 0:
10376                        if ((0, util_1.isRDLEmbed)(this.config.embedUrl)) {
10377                            return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)];
10378                        }
10379                        _a.label = 1;
10380                    case 1:
10381                        _a.trys.push([1, 3, , 4]);
10382                        return [4 /*yield*/, this.service.hpm.get("/report/pages", { uid: this.config.uniqueId }, this.iframe.contentWindow)];
10383                    case 2:
10384                        response = _a.sent();
10385                        page = response.body.find(function (p) { return p.name === pageName; });
10386                        if (!page) {
10387                            return [2 /*return*/, Promise.reject(powerbi_models_1.CommonErrorCodes.NotFound)];
10388                        }
10389                        return [2 /*return*/, new page_1.Page(this, page.name, page.displayName, page.isActive, page.visibility, page.defaultSize, page.defaultDisplayOption, page.mobileSize, page.background, page.wallpaper)];
10390                    case 3:
10391                        response_9 = _a.sent();
10392                        throw response_9.body;
10393                    case 4: return [2 /*return*/];
10394                }
10395            });
10396        });
10397    };
10398    /**
10399     * Gets the active report page.
10400     *
10401     * ```javascript
10402     * report.getActivePage()
10403     *  .then(activePage => {
10404     *      ...
10405     *  });
10406     * ```
10407     *
10408     * @returns {Promise<Page>}
10409     */
10410    Report.prototype.getActivePage = function () {
10411        return __awaiter(this, void 0, void 0, function () {
10412            var response, activePage, response_10;
10413            return __generator(this, function (_a) {
10414                switch (_a.label) {
10415                    case 0:
10416                        if ((0, util_1.isRDLEmbed)(this.config.embedUrl)) {
10417                            return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)];
10418                        }
10419                        _a.label = 1;
10420                    case 1:
10421                        _a.trys.push([1, 3, , 4]);
10422                        return [4 /*yield*/, this.service.hpm.get('/report/pages', { uid: this.config.uniqueId }, this.iframe.contentWindow)];
10423                    case 2:
10424                        response = _a.sent();
10425                        activePage = response.body.find(function (page) { return page.isActive; });
10426                        return [2 /*return*/, new page_1.Page(this, activePage.name, activePage.displayName, activePage.isActive, activePage.visibility, activePage.defaultSize, activePage.defaultDisplayOption, activePage.mobileSize, activePage.background, activePage.wallpaper)];
10427                    case 3:
10428                        response_10 = _a.sent();
10429                        throw response_10.body;
10430                    case 4: return [2 /*return*/];
10431                }
10432            });
10433        });
10434    };
10435    /**
10436     * Creates an instance of a Page.
10437     *
10438     * Normally you would get Page objects by calling `report.getPages()`, but in the case
10439     * that the page name is known and you want to perform an action on a page without having to retrieve it
10440     * you can create it directly.
10441     *
10442     * Note: Because you are creating the page manually there is no guarantee that the page actually exists in the report, and subsequent requests could fail.
10443     *
10444     * @param {string} name
10445     * @param {string} [displayName]
10446     * @param {boolean} [isActive]
10447     * @returns {Page}
10448     * @hidden
10449     */
10450    Report.prototype.page = function (name, displayName, isActive, visibility) {
10451        return new page_1.Page(this, name, displayName, isActive, visibility);
10452    };
10453    /**
10454     * Prints the active page of the report by invoking `window.print()` on the embed iframe component.
10455     */
10456    Report.prototype.print = function () {
10457        return __awaiter(this, void 0, void 0, function () {
10458            var response, response_11;
10459            return __generator(this, function (_a) {
10460                switch (_a.label) {
10461                    case 0:
10462                        if ((0, util_1.isRDLEmbed)(this.config.embedUrl)) {
10463                            return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)];
10464                        }
10465                        _a.label = 1;
10466                    case 1:
10467                        _a.trys.push([1, 3, , 4]);
10468                        return [4 /*yield*/, this.service.hpm.post('/report/print', null, { uid: this.config.uniqueId }, this.iframe.contentWindow)];
10469                    case 2:
10470                        response = _a.sent();
10471                        return [2 /*return*/, response.body];
10472                    case 3:
10473                        response_11 = _a.sent();
10474                        throw response_11.body;
10475                    case 4: return [2 /*return*/];
10476                }
10477            });
10478        });
10479    };
10480    /**
10481     * Sets the active page of the report.
10482     *
10483     * ```javascript
10484     * report.setPage("page2")
10485     *  .catch(error => { ... });
10486     * ```
10487     *
10488     * @param {string} pageName
10489     * @returns {Promise<IHttpPostMessageResponse<void>>}
10490     */
10491    Report.prototype.setPage = function (pageName) {
10492        return __awaiter(this, void 0, void 0, function () {
10493            var page, response_12;
10494            return __generator(this, function (_a) {
10495                switch (_a.label) {
10496                    case 0:
10497                        if ((0, util_1.isRDLEmbed)(this.config.embedUrl)) {
10498                            return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)];
10499                        }
10500                        page = {
10501                            name: pageName,
10502                            displayName: null,
10503                            isActive: true
10504                        };
10505                        _a.label = 1;
10506                    case 1:
10507                        _a.trys.push([1, 3, , 4]);
10508                        return [4 /*yield*/, this.service.hpm.put('/report/pages/active', page, { uid: this.config.uniqueId }, this.iframe.contentWindow)];
10509                    case 2: return [2 /*return*/, _a.sent()];
10510                    case 3:
10511                        response_12 = _a.sent();
10512                        throw response_12.body;
10513                    case 4: return [2 /*return*/];
10514                }
10515            });
10516        });
10517    };
10518    /**
10519     * Updates visibility settings for the filter pane and the page navigation pane.
10520     *
10521     * ```javascript
10522     * const newSettings = {
10523     *   panes: {
10524     *     filters: {
10525     *       visible: false
10526     *     }
10527     *   }
10528     * };
10529     *
10530     * report.updateSettings(newSettings)
10531     *   .catch(error => { ... });
10532     * ```
10533     *
10534     * @param {ISettings} settings
10535     * @returns {Promise<IHttpPostMessageResponse<void>>}
10536     */
10537    Report.prototype.updateSettings = function (settings) {
10538        var _a, _b;
10539        return __awaiter(this, void 0, void 0, function () {
10540            var response, extension, extensionsArray, response_13;
10541            var _this = this;
10542            return __generator(this, function (_c) {
10543                switch (_c.label) {
10544                    case 0:
10545                        if ((0, util_1.isRDLEmbed)(this.config.embedUrl) && settings.customLayout != null) {
10546                            return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)];
10547                        }
10548                        _c.label = 1;
10549                    case 1:
10550                        _c.trys.push([1, 3, , 4]);
10551                        return [4 /*yield*/, this.service.hpm.patch('/report/settings', settings, { uid: this.config.uniqueId }, this.iframe.contentWindow)];
10552                    case 2:
10553                        response = _c.sent();
10554                        extension = settings === null || settings === void 0 ? void 0 : settings.extensions;
10555                        this.commands = (_a = extension === null || extension === void 0 ? void 0 : extension.commands) !== null && _a !== void 0 ? _a : this.commands;
10556                        this.groups = (_b = extension === null || extension === void 0 ? void 0 : extension.groups) !== null && _b !== void 0 ? _b : this.groups;
10557                        extensionsArray = settings === null || settings === void 0 ? void 0 : settings.extensions;
10558                        if (Array.isArray(extensionsArray)) {
10559                            this.commands = [];
10560                            extensionsArray.map(function (extensionElement) { if (extensionElement === null || extensionElement === void 0 ? void 0 : extensionElement.command) {
10561                                _this.commands.push(extensionElement.command);
10562                            } });
10563                        }
10564                        return [2 /*return*/, response];
10565                    case 3:
10566                        response_13 = _c.sent();
10567                        throw response_13.body;
10568                    case 4: return [2 /*return*/];
10569                }
10570            });
10571        });
10572    };
10573    /**
10574     * Validate load configuration.
10575     *
10576     * @hidden
10577     */
10578    Report.prototype.validate = function (config) {
10579        if ((0, util_1.isRDLEmbed)(this.config.embedUrl)) {
10580            return (0, powerbi_models_1.validatePaginatedReportLoad)(config);
10581        }
10582        return (0, powerbi_models_1.validateReportLoad)(config);
10583    };
10584    /**
10585     * Handle config changes.
10586     *
10587     * @returns {void}
10588     */
10589    Report.prototype.configChanged = function (isBootstrap) {
10590        var config = this.config;
10591        if (this.isMobileSettings(config.settings)) {
10592            config.embedUrl = (0, util_1.addParamToUrl)(config.embedUrl, "isMobile", "true");
10593        }
10594        // Calculate settings from HTML element attributes if available.
10595        var filterPaneEnabledAttribute = this.element.getAttribute(Report.filterPaneEnabledAttribute);
10596        var navContentPaneEnabledAttribute = this.element.getAttribute(Report.navContentPaneEnabledAttribute);
10597        var elementAttrSettings = {
10598            filterPaneEnabled: (filterPaneEnabledAttribute == null) ? undefined : (filterPaneEnabledAttribute !== "false"),
10599            navContentPaneEnabled: (navContentPaneEnabledAttribute == null) ? undefined : (navContentPaneEnabledAttribute !== "false")
10600        };
10601        // Set the settings back into the config.
10602        this.config.settings = (0, util_1.assign)({}, elementAttrSettings, config.settings);
10603        if (isBootstrap) {
10604            return;
10605        }
10606        config.id = this.getId();
10607    };
10608    /**
10609     * @hidden
10610     * @returns {string}
10611     */
10612    Report.prototype.getDefaultEmbedUrlEndpoint = function () {
10613        return "reportEmbed";
10614    };
10615    /**
10616     * Switch Report view mode.
10617     *
10618     * @returns {Promise<void>}
10619     */
10620    Report.prototype.switchMode = function (viewMode) {
10621        return __awaiter(this, void 0, void 0, function () {
10622            var newMode, url, response, response_14;
10623            return __generator(this, function (_a) {
10624                switch (_a.label) {
10625                    case 0:
10626                        if (typeof viewMode === "string") {
10627                            newMode = viewMode;
10628                        }
10629                        else {
10630                            newMode = this.viewModeToString(viewMode);
10631                        }
10632                        url = '/report/switchMode/' + newMode;
10633                        _a.label = 1;
10634                    case 1:
10635                        _a.trys.push([1, 3, , 4]);
10636                        return [4 /*yield*/, this.service.hpm.post(url, null, { uid: this.config.uniqueId }, this.iframe.contentWindow)];
10637                    case 2:
10638                        response = _a.sent();
10639                        return [2 /*return*/, response.body];
10640                    case 3:
10641                        response_14 = _a.sent();
10642                        throw response_14.body;
10643                    case 4: return [2 /*return*/];
10644                }
10645            });
10646        });
10647    };
10648    /**
10649     * Refreshes data sources for the report.
10650     *
10651     * ```javascript
10652     * report.refresh();
10653     * ```
10654     */
10655    Report.prototype.refresh = function () {
10656        return __awaiter(this, void 0, void 0, function () {
10657            var response, response_15;
10658            return __generator(this, function (_a) {
10659                switch (_a.label) {
10660                    case 0:
10661                        if ((0, util_1.isRDLEmbed)(this.config.embedUrl)) {
10662                            return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)];
10663                        }
10664                        _a.label = 1;
10665                    case 1:
10666                        _a.trys.push([1, 3, , 4]);
10667                        return [4 /*yield*/, this.service.hpm.post('/report/refresh', null, { uid: this.config.uniqueId }, this.iframe.contentWindow)];
10668                    case 2:
10669                        response = _a.sent();
10670                        return [2 /*return*/, response.body];
10671                    case 3:
10672                        response_15 = _a.sent();
10673                        throw response_15.body;
10674                    case 4: return [2 /*return*/];
10675                }
10676            });
10677        });
10678    };
10679    /**
10680     * checks if the report is saved.
10681     *
10682     * ```javascript
10683     * report.isSaved()
10684     * ```
10685     *
10686     * @returns {Promise<boolean>}
10687     */
10688    Report.prototype.isSaved = function () {
10689        return __awaiter(this, void 0, void 0, function () {
10690            return __generator(this, function (_a) {
10691                switch (_a.label) {
10692                    case 0:
10693                        if ((0, util_1.isRDLEmbed)(this.config.embedUrl)) {
10694                            return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)];
10695                        }
10696                        return [4 /*yield*/, (0, util_1.isSavedInternal)(this.service.hpm, this.config.uniqueId, this.iframe.contentWindow)];
10697                    case 1: return [2 /*return*/, _a.sent()];
10698                }
10699            });
10700        });
10701    };
10702    /**
10703     * Apply a theme to the report
10704     *
10705     * ```javascript
10706     * report.applyTheme(theme);
10707     * ```
10708     */
10709    Report.prototype.applyTheme = function (theme) {
10710        return __awaiter(this, void 0, void 0, function () {
10711            return __generator(this, function (_a) {
10712                switch (_a.label) {
10713                    case 0:
10714                        if ((0, util_1.isRDLEmbed)(this.config.embedUrl)) {
10715                            return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)];
10716                        }
10717                        return [4 /*yield*/, this.applyThemeInternal(theme)];
10718                    case 1: return [2 /*return*/, _a.sent()];
10719                }
10720            });
10721        });
10722    };
10723    /**
10724     * Reset and apply the default theme of the report
10725     *
10726     * ```javascript
10727     * report.resetTheme();
10728     * ```
10729     */
10730    Report.prototype.resetTheme = function () {
10731        return __awaiter(this, void 0, void 0, function () {
10732            return __generator(this, function (_a) {
10733                switch (_a.label) {
10734                    case 0:
10735                        if ((0, util_1.isRDLEmbed)(this.config.embedUrl)) {
10736                            return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)];
10737                        }
10738                        return [4 /*yield*/, this.applyThemeInternal({})];
10739                    case 1: return [2 /*return*/, _a.sent()];
10740                }
10741            });
10742        });
10743    };
10744    /**
10745     * get the theme of the report
10746     *
10747     * ```javascript
10748     * report.getTheme();
10749     * ```
10750     */
10751    Report.prototype.getTheme = function () {
10752        return __awaiter(this, void 0, void 0, function () {
10753            var response, response_16;
10754            return __generator(this, function (_a) {
10755                switch (_a.label) {
10756                    case 0:
10757                        if ((0, util_1.isRDLEmbed)(this.config.embedUrl)) {
10758                            return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)];
10759                        }
10760                        _a.label = 1;
10761                    case 1:
10762                        _a.trys.push([1, 3, , 4]);
10763                        return [4 /*yield*/, this.service.hpm.get("/report/theme", { uid: this.config.uniqueId }, this.iframe.contentWindow)];
10764                    case 2:
10765                        response = _a.sent();
10766                        return [2 /*return*/, response.body];
10767                    case 3:
10768                        response_16 = _a.sent();
10769                        throw response_16.body;
10770                    case 4: return [2 /*return*/];
10771                }
10772            });
10773        });
10774    };
10775    /**
10776     * Reset user's filters, slicers, and other data view changes to the default state of the report
10777     *
10778     * ```javascript
10779     * report.resetPersistentFilters();
10780     * ```
10781     */
10782    Report.prototype.resetPersistentFilters = function () {
10783        return __awaiter(this, void 0, void 0, function () {
10784            var response_17;
10785            return __generator(this, function (_a) {
10786                switch (_a.label) {
10787                    case 0:
10788                        _a.trys.push([0, 2, , 3]);
10789                        return [4 /*yield*/, this.service.hpm.delete("/report/userState", null, { uid: this.config.uniqueId }, this.iframe.contentWindow)];
10790                    case 1: return [2 /*return*/, _a.sent()];
10791                    case 2:
10792                        response_17 = _a.sent();
10793                        throw response_17.body;
10794                    case 3: return [2 /*return*/];
10795                }
10796            });
10797        });
10798    };
10799    /**
10800     * Save user's filters, slicers, and other data view changes of the report
10801     *
10802     * ```javascript
10803     * report.savePersistentFilters();
10804     * ```
10805     */
10806    Report.prototype.savePersistentFilters = function () {
10807        return __awaiter(this, void 0, void 0, function () {
10808            var response_18;
10809            return __generator(this, function (_a) {
10810                switch (_a.label) {
10811                    case 0:
10812                        _a.trys.push([0, 2, , 3]);
10813                        return [4 /*yield*/, this.service.hpm.post("/report/userState", null, { uid: this.config.uniqueId }, this.iframe.contentWindow)];
10814                    case 1: return [2 /*return*/, _a.sent()];
10815                    case 2:
10816                        response_18 = _a.sent();
10817                        throw response_18.body;
10818                    case 3: return [2 /*return*/];
10819                }
10820            });
10821        });
10822    };
10823    /**
10824     * Returns if there are user's filters, slicers, or other data view changes applied on the report.
10825     * If persistent filters is disable, returns false.
10826     *
10827     * ```javascript
10828     * report.arePersistentFiltersApplied();
10829     * ```
10830     *
10831     * @returns {Promise<boolean>}
10832     */
10833    Report.prototype.arePersistentFiltersApplied = function () {
10834        return __awaiter(this, void 0, void 0, function () {
10835            var response, response_19;
10836            return __generator(this, function (_a) {
10837                switch (_a.label) {
10838                    case 0:
10839                        _a.trys.push([0, 2, , 3]);
10840                        return [4 /*yield*/, this.service.hpm.get("/report/isUserStateApplied", { uid: this.config.uniqueId }, this.iframe.contentWindow)];
10841                    case 1:
10842                        response = _a.sent();
10843                        return [2 /*return*/, response.body];
10844                    case 2:
10845                        response_19 = _a.sent();
10846                        throw response_19.body;
10847                    case 3: return [2 /*return*/];
10848                }
10849            });
10850        });
10851    };
10852    /**
10853     * Remove context menu extension command.
10854     *
10855     * ```javascript
10856     * report.removeContextMenuCommand(commandName, contextMenuTitle)
10857     *  .catch(error => {
10858     *      ...
10859     *  });
10860     * ```
10861     *
10862     * @param {string} commandName
10863     * @param {string} contextMenuTitle
10864     * @returns {Promise<IHttpPostMessageResponse<void>>}
10865     */
10866    Report.prototype.removeContextMenuCommand = function (commandName, contextMenuTitle) {
10867        return __awaiter(this, void 0, void 0, function () {
10868            var commandCopy, indexOfCommand, newSetting;
10869            return __generator(this, function (_a) {
10870                switch (_a.label) {
10871                    case 0:
10872                        if ((0, util_1.isRDLEmbed)(this.config.embedUrl)) {
10873                            return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)];
10874                        }
10875                        commandCopy = JSON.parse(JSON.stringify(this.commands));
10876                        indexOfCommand = this.findCommandMenuIndex("visualContextMenu", commandCopy, commandName, contextMenuTitle);
10877                        if (indexOfCommand === -1) {
10878                            throw powerbi_models_1.CommonErrorCodes.NotFound;
10879                        }
10880                        // Delete the context menu and not the entire command, since command can have option menu as well.
10881                        delete commandCopy[indexOfCommand].extend.visualContextMenu;
10882                        newSetting = {
10883                            extensions: {
10884                                commands: commandCopy,
10885                                groups: this.groups
10886                            }
10887                        };
10888                        return [4 /*yield*/, this.updateSettings(newSetting)];
10889                    case 1: return [2 /*return*/, _a.sent()];
10890                }
10891            });
10892        });
10893    };
10894    /**
10895     * Add context menu extension command.
10896     *
10897     * ```javascript
10898     * report.addContextMenuCommand(commandName, commandTitle, contextMenuTitle, menuLocation, visualName, visualType, groupName)
10899     *  .catch(error => {
10900     *      ...
10901     *  });
10902     * ```
10903     *
10904     * @param {string} commandName
10905     * @param {string} commandTitle
10906     * @param {string} contextMenuTitle
10907     * @param {MenuLocation} menuLocation
10908     * @param {string} visualName
10909     * @param {string} visualType
10910     * @param {string} groupName
10911     * @returns {Promise<IHttpPostMessageResponse<void>>}
10912     */
10913    Report.prototype.addContextMenuCommand = function (commandName, commandTitle, contextMenuTitle, menuLocation, visualName, visualType, groupName) {
10914        if (contextMenuTitle === void 0) { contextMenuTitle = commandTitle; }
10915        if (menuLocation === void 0) { menuLocation = powerbi_models_1.MenuLocation.Bottom; }
10916        if (visualName === void 0) { visualName = undefined; }
10917        if (groupName === void 0) { groupName = undefined; }
10918        return __awaiter(this, void 0, void 0, function () {
10919            var newCommands, newSetting;
10920            return __generator(this, function (_a) {
10921                switch (_a.label) {
10922                    case 0:
10923                        if ((0, util_1.isRDLEmbed)(this.config.embedUrl)) {
10924                            return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)];
10925                        }
10926                        newCommands = this.createMenuCommand("visualContextMenu", commandName, commandTitle, contextMenuTitle, menuLocation, visualName, visualType, groupName);
10927                        newSetting = {
10928                            extensions: {
10929                                commands: newCommands,
10930                                groups: this.groups
10931                            }
10932                        };
10933                        return [4 /*yield*/, this.updateSettings(newSetting)];
10934                    case 1: return [2 /*return*/, _a.sent()];
10935                }
10936            });
10937        });
10938    };
10939    /**
10940     * Remove options menu extension command.
10941     *
10942     * ```javascript
10943     * report.removeOptionsMenuCommand(commandName, optionsMenuTitle)
10944     *  .then({
10945     *      ...
10946     *  });
10947     * ```
10948     *
10949     * @param {string} commandName
10950     * @param {string} optionsMenuTitle
10951     * @returns {Promise<IHttpPostMessageResponse<void>>}
10952     */
10953    Report.prototype.removeOptionsMenuCommand = function (commandName, optionsMenuTitle) {
10954        return __awaiter(this, void 0, void 0, function () {
10955            var commandCopy, indexOfCommand, newSetting;
10956            return __generator(this, function (_a) {
10957                switch (_a.label) {
10958                    case 0:
10959                        if ((0, util_1.isRDLEmbed)(this.config.embedUrl)) {
10960                            return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)];
10961                        }
10962                        commandCopy = JSON.parse(JSON.stringify(this.commands));
10963                        indexOfCommand = this.findCommandMenuIndex("visualOptionsMenu", commandCopy, commandName, optionsMenuTitle);
10964                        if (indexOfCommand === -1) {
10965                            throw powerbi_models_1.CommonErrorCodes.NotFound;
10966                        }
10967                        // Delete the context options and not the entire command, since command can have context menu as well.
10968                        delete commandCopy[indexOfCommand].extend.visualOptionsMenu;
10969                        delete commandCopy[indexOfCommand].icon;
10970                        newSetting = {
10971                            extensions: {
10972                                commands: commandCopy,
10973                                groups: this.groups
10974                            }
10975                        };
10976                        return [4 /*yield*/, this.updateSettings(newSetting)];
10977                    case 1: return [2 /*return*/, _a.sent()];
10978                }
10979            });
10980        });
10981    };
10982    /**
10983     * Add options menu extension command.
10984     *
10985     * ```javascript
10986     * report.addOptionsMenuCommand(commandName, commandTitle, optionsMenuTitle, menuLocation, visualName, visualType, groupName, commandIcon)
10987     *  .catch(error => {
10988     *      ...
10989     *  });
10990     * ```
10991     *
10992     * @param {string} commandName
10993     * @param {string} commandTitle
10994     * @param {string} optionMenuTitle
10995     * @param {MenuLocation} menuLocation
10996     * @param {string} visualName
10997     * @param {string} visualType
10998     * @param {string} groupName
10999     * @param {string} commandIcon
11000     * @returns {Promise<IHttpPostMessageResponse<void>>}
11001     */
11002    Report.prototype.addOptionsMenuCommand = function (commandName, commandTitle, optionsMenuTitle, menuLocation, visualName, visualType, groupName, commandIcon) {
11003        if (optionsMenuTitle === void 0) { optionsMenuTitle = commandTitle; }
11004        if (menuLocation === void 0) { menuLocation = powerbi_models_1.MenuLocation.Bottom; }
11005        if (visualName === void 0) { visualName = undefined; }
11006        if (visualType === void 0) { visualType = undefined; }
11007        if (groupName === void 0) { groupName = undefined; }
11008        if (commandIcon === void 0) { commandIcon = undefined; }
11009        return __awaiter(this, void 0, void 0, function () {
11010            var newCommands, newSetting;
11011            return __generator(this, function (_a) {
11012                switch (_a.label) {
11013                    case 0:
11014                        if ((0, util_1.isRDLEmbed)(this.config.embedUrl)) {
11015                            return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)];
11016                        }
11017                        newCommands = this.createMenuCommand("visualOptionsMenu", commandName, commandTitle, optionsMenuTitle, menuLocation, visualName, visualType, groupName, commandIcon);
11018                        newSetting = {
11019                            extensions: {
11020                                commands: newCommands,
11021                                groups: this.groups
11022                            }
11023                        };
11024                        return [4 /*yield*/, this.updateSettings(newSetting)];
11025                    case 1: return [2 /*return*/, _a.sent()];
11026                }
11027            });
11028        });
11029    };
11030    /**
11031     * Updates the display state of a visual in a page.
11032     *
11033     * ```javascript
11034     * report.setVisualDisplayState(pageName, visualName, displayState)
11035     *   .catch(error => { ... });
11036     * ```
11037     *
11038     * @param {string} pageName
11039     * @param {string} visualName
11040     * @param {VisualContainerDisplayMode} displayState
11041     * @returns {Promise<IHttpPostMessageResponse<void>>}
11042     */
11043    Report.prototype.setVisualDisplayState = function (pageName, visualName, displayState) {
11044        return __awaiter(this, void 0, void 0, function () {
11045            var visualLayout, newSettings;
11046            return __generator(this, function (_a) {
11047                switch (_a.label) {
11048                    case 0: 
11049                    // Check if page name and visual name are valid
11050                    return [4 /*yield*/, this.validateVisual(pageName, visualName)];
11051                    case 1:
11052                        // Check if page name and visual name are valid
11053                        _a.sent();
11054                        visualLayout = {
11055                            displayState: {
11056                                mode: displayState
11057                            }
11058                        };
11059                        newSettings = this.buildLayoutSettingsObject(pageName, visualName, visualLayout);
11060                        return [2 /*return*/, this.updateSettings(newSettings)];
11061                }
11062            });
11063        });
11064    };
11065    /**
11066     * Resize a visual in a page.
11067     *
11068     * ```javascript
11069     * report.resizeVisual(pageName, visualName, width, height)
11070     *   .catch(error => { ... });
11071     * ```
11072     *
11073     * @param {string} pageName
11074     * @param {string} visualName
11075     * @param {number} width
11076     * @param {number} height
11077     * @returns {Promise<IHttpPostMessageResponse<void>>}
11078     */
11079    Report.prototype.resizeVisual = function (pageName, visualName, width, height) {
11080        return __awaiter(this, void 0, void 0, function () {
11081            var visualLayout, newSettings;
11082            return __generator(this, function (_a) {
11083                switch (_a.label) {
11084                    case 0: 
11085                    // Check if page name and visual name are valid
11086                    return [4 /*yield*/, this.validateVisual(pageName, visualName)];
11087                    case 1:
11088                        // Check if page name and visual name are valid
11089                        _a.sent();
11090                        visualLayout = {
11091                            width: width,
11092                            height: height,
11093                        };
11094                        newSettings = this.buildLayoutSettingsObject(pageName, visualName, visualLayout);
11095                        return [2 /*return*/, this.updateSettings(newSettings)];
11096                }
11097            });
11098        });
11099    };
11100    /**
11101     * Updates the size of active page in report.
11102     *
11103     * ```javascript
11104     * report.resizeActivePage(pageSizeType, width, height)
11105     *   .catch(error => { ... });
11106     * ```
11107     *
11108     * @param {PageSizeType} pageSizeType
11109     * @param {number} width
11110     * @param {number} height
11111     * @returns {Promise<IHttpPostMessageResponse<void>>}
11112     */
11113    Report.prototype.resizeActivePage = function (pageSizeType, width, height) {
11114        return __awaiter(this, void 0, void 0, function () {
11115            var pageSize, newSettings;
11116            return __generator(this, function (_a) {
11117                pageSize = {
11118                    type: pageSizeType,
11119                    width: width,
11120                    height: height
11121                };
11122                newSettings = {
11123                    layoutType: powerbi_models_1.LayoutType.Custom,
11124                    customLayout: {
11125                        pageSize: pageSize
11126                    }
11127                };
11128                return [2 /*return*/, this.updateSettings(newSettings)];
11129            });
11130        });
11131    };
11132    /**
11133     * Updates the position of a visual in a page.
11134     *
11135     * ```javascript
11136     * report.moveVisual(pageName, visualName, x, y, z)
11137     *   .catch(error => { ... });
11138     * ```
11139     *
11140     * @param {string} pageName
11141     * @param {string} visualName
11142     * @param {number} x
11143     * @param {number} y
11144     * @param {number} z
11145     * @returns {Promise<IHttpPostMessageResponse<void>>}
11146     */
11147    Report.prototype.moveVisual = function (pageName, visualName, x, y, z) {
11148        return __awaiter(this, void 0, void 0, function () {
11149            var visualLayout, newSettings;
11150            return __generator(this, function (_a) {
11151                switch (_a.label) {
11152                    case 0: 
11153                    // Check if page name and visual name are valid
11154                    return [4 /*yield*/, this.validateVisual(pageName, visualName)];
11155                    case 1:
11156                        // Check if page name and visual name are valid
11157                        _a.sent();
11158                        visualLayout = {
11159                            x: x,
11160                            y: y,
11161                            z: z
11162                        };
11163                        newSettings = this.buildLayoutSettingsObject(pageName, visualName, visualLayout);
11164                        return [2 /*return*/, this.updateSettings(newSettings)];
11165                }
11166            });
11167        });
11168    };
11169    /**
11170     * Updates the report layout
11171     *
11172     * ```javascript
11173     * report.switchLayout(layoutType);
11174     * ```
11175     *
11176     * @param {LayoutType} layoutType
11177     * @returns {Promise<IHttpPostMessageResponse<void>>}
11178     */
11179    Report.prototype.switchLayout = function (layoutType) {
11180        return __awaiter(this, void 0, void 0, function () {
11181            var isInitialMobileSettings, isPassedMobileSettings, newSetting, response;
11182            return __generator(this, function (_a) {
11183                switch (_a.label) {
11184                    case 0:
11185                        isInitialMobileSettings = this.isMobileSettings({ layoutType: this.initialLayoutType });
11186                        isPassedMobileSettings = this.isMobileSettings({ layoutType: layoutType });
11187                        // Check if both passed layout and initial layout are of same type.
11188                        if (isInitialMobileSettings !== isPassedMobileSettings) {
11189                            throw "Switching between mobile and desktop layouts is not supported. Please reset the embed container and re-embed with required layout.";
11190                        }
11191                        newSetting = {
11192                            layoutType: layoutType
11193                        };
11194                        return [4 /*yield*/, this.updateSettings(newSetting)];
11195                    case 1:
11196                        response = _a.sent();
11197                        this.initialLayoutType = layoutType;
11198                        return [2 /*return*/, response];
11199                }
11200            });
11201        });
11202    };
11203    /**
11204     * @hidden
11205     */
11206    Report.prototype.createMenuCommand = function (type, commandName, commandTitle, menuTitle, menuLocation, visualName, visualType, groupName, icon) {
11207        var newCommandObj = {
11208            name: commandName,
11209            title: commandTitle,
11210            extend: {}
11211        };
11212        newCommandObj.extend[type] = {
11213            title: menuTitle,
11214            menuLocation: menuLocation,
11215        };
11216        if (type === "visualOptionsMenu") {
11217            newCommandObj.icon = icon;
11218        }
11219        if (groupName) {
11220            var extend = newCommandObj.extend[type];
11221            delete extend.menuLocation;
11222            var groupExtend = newCommandObj.extend[type];
11223            groupExtend.groupName = groupName;
11224        }
11225        if (visualName) {
11226            newCommandObj.selector = {
11227                $schema: "http://powerbi.com/product/schema#visualSelector",
11228                visualName: visualName
11229            };
11230        }
11231        if (visualType) {
11232            newCommandObj.selector = {
11233                $schema: "http://powerbi.com/product/schema#visualTypeSelector",
11234                visualType: visualType
11235            };
11236        }
11237        return __spreadArray(__spreadArray([], this.commands, true), [newCommandObj], false);
11238    };
11239    /**
11240     * @hidden
11241     */
11242    Report.prototype.findCommandMenuIndex = function (type, commands, commandName, menuTitle) {
11243        var indexOfCommand = -1;
11244        commands.some(function (activeMenuCommand, index) {
11245            return (activeMenuCommand.name === commandName && activeMenuCommand.extend[type] && activeMenuCommand.extend[type].title === menuTitle) ? (indexOfCommand = index, true) : false;
11246        });
11247        return indexOfCommand;
11248    };
11249    /**
11250     * @hidden
11251     */
11252    Report.prototype.buildLayoutSettingsObject = function (pageName, visualName, visualLayout) {
11253        // Create new settings object with custom layout type
11254        var newSettings = {
11255            layoutType: powerbi_models_1.LayoutType.Custom,
11256            customLayout: {
11257                pagesLayout: {}
11258            }
11259        };
11260        newSettings.customLayout.pagesLayout[pageName] = {
11261            visualsLayout: {}
11262        };
11263        newSettings.customLayout.pagesLayout[pageName].visualsLayout[visualName] = visualLayout;
11264        return newSettings;
11265    };
11266    /**
11267     * @hidden
11268     */
11269    Report.prototype.validateVisual = function (pageName, visualName) {
11270        return __awaiter(this, void 0, void 0, function () {
11271            var page;
11272            return __generator(this, function (_a) {
11273                switch (_a.label) {
11274                    case 0: return [4 /*yield*/, this.getPageByName(pageName)];
11275                    case 1:
11276                        page = _a.sent();
11277                        return [4 /*yield*/, page.getVisualByName(visualName)];
11278                    case 2: return [2 /*return*/, _a.sent()];
11279                }
11280            });
11281        });
11282    };
11283    /**
11284     * @hidden
11285     */
11286    Report.prototype.applyThemeInternal = function (theme) {
11287        return __awaiter(this, void 0, void 0, function () {
11288            var response, response_20;
11289            return __generator(this, function (_a) {
11290                switch (_a.label) {
11291                    case 0:
11292                        _a.trys.push([0, 2, , 3]);
11293                        return [4 /*yield*/, this.service.hpm.put('/report/theme', theme, { uid: this.config.uniqueId }, this.iframe.contentWindow)];
11294                    case 1:
11295                        response = _a.sent();
11296                        return [2 /*return*/, response.body];
11297                    case 2:
11298                        response_20 = _a.sent();
11299                        throw response_20.body;
11300                    case 3: return [2 /*return*/];
11301                }
11302            });
11303        });
11304    };
11305    /**
11306     * @hidden
11307     */
11308    Report.prototype.viewModeToString = function (viewMode) {
11309        var mode;
11310        switch (viewMode) {
11311            case powerbi_models_1.ViewMode.Edit:
11312                mode = "edit";
11313                break;
11314            case powerbi_models_1.ViewMode.View:
11315                mode = "view";
11316                break;
11317        }
11318        return mode;
11319    };
11320    /**
11321     * @hidden
11322     */
11323    Report.prototype.isMobileSettings = function (settings) {
11324        return settings && (settings.layoutType === powerbi_models_1.LayoutType.MobileLandscape || settings.layoutType === powerbi_models_1.LayoutType.MobilePortrait);
11325    };
11326    /**
11327     * Return the current zoom level of the report.
11328     *
11329     * @returns {Promise<number>}
11330     */
11331    Report.prototype.getZoom = function () {
11332        return __awaiter(this, void 0, void 0, function () {
11333            var response, response_21;
11334            return __generator(this, function (_a) {
11335                switch (_a.label) {
11336                    case 0:
11337                        _a.trys.push([0, 2, , 3]);
11338                        return [4 /*yield*/, this.service.hpm.get("/report/zoom", { uid: this.config.uniqueId }, this.iframe.contentWindow)];
11339                    case 1:
11340                        response = _a.sent();
11341                        return [2 /*return*/, response.body];
11342                    case 2:
11343                        response_21 = _a.sent();
11344                        throw response_21.body;
11345                    case 3: return [2 /*return*/];
11346                }
11347            });
11348        });
11349    };
11350    /**
11351     * Sets the report's zoom level.
11352     *
11353     * @param zoomLevel zoom level to set
11354     */
11355    Report.prototype.setZoom = function (zoomLevel) {
11356        return __awaiter(this, void 0, void 0, function () {
11357            return __generator(this, function (_a) {
11358                switch (_a.label) {
11359                    case 0: return [4 /*yield*/, this.updateSettings({ zoomLevel: zoomLevel })];
11360                    case 1:
11361                        _a.sent();
11362                        return [2 /*return*/];
11363                }
11364            });
11365        });
11366    };
11367    /**
11368     * Closes all open context menus and tooltips.
11369     *
11370     * ```javascript
11371     * report.closeAllOverlays()
11372     *  .then(() => {
11373     *      ...
11374     *  });
11375     * ```
11376     *
11377     * @returns {Promise<void>}
11378     */
11379    Report.prototype.closeAllOverlays = function () {
11380        return __awaiter(this, void 0, void 0, function () {
11381            var response, error_1;
11382            return __generator(this, function (_a) {
11383                switch (_a.label) {
11384                    case 0:
11385                        if ((0, util_1.isRDLEmbed)(this.config.embedUrl)) {
11386                            return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)];
11387                        }
11388                        _a.label = 1;
11389                    case 1:
11390                        _a.trys.push([1, 3, , 4]);
11391                        return [4 /*yield*/, this.service.hpm.post('/report/closeAllOverlays', null, { uid: this.config.uniqueId }, this.iframe.contentWindow)];
11392                    case 2:
11393                        response = _a.sent();
11394                        return [2 /*return*/, response.body];
11395                    case 3:
11396                        error_1 = _a.sent();
11397                        return [2 /*return*/, Promise.reject(error_1)];
11398                    case 4: return [2 /*return*/];
11399                }
11400            });
11401        });
11402    };
11403    /**
11404     * Clears selected not popped out visuals, if flag is passed, all visuals selections will be cleared.
11405     *
11406     * ```javascript
11407     * report.clearSelectedVisuals()
11408     *  .then(() => {
11409     *      ...
11410     *  });
11411     * ```
11412     *
11413     * @param {Boolean} [clearPopOutState=false]
11414     *    If false / undefined visuals selection will not be cleared if one of visuals
11415     *    is in popped out state (in focus, show as table, spotlight...)
11416     * @returns {Promise<void>}
11417     */
11418    Report.prototype.clearSelectedVisuals = function (clearPopOutState) {
11419        return __awaiter(this, void 0, void 0, function () {
11420            var response, error_2;
11421            return __generator(this, function (_a) {
11422                switch (_a.label) {
11423                    case 0:
11424                        clearPopOutState = clearPopOutState === true;
11425                        if ((0, util_1.isRDLEmbed)(this.config.embedUrl)) {
11426                            return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)];
11427                        }
11428                        _a.label = 1;
11429                    case 1:
11430                        _a.trys.push([1, 3, , 4]);
11431                        return [4 /*yield*/, this.service.hpm.post("/report/clearSelectedVisuals/".concat(clearPopOutState.toString()), null, { uid: this.config.uniqueId }, this.iframe.contentWindow)];
11432                    case 2:
11433                        response = _a.sent();
11434                        return [2 /*return*/, response.body];
11435                    case 3:
11436                        error_2 = _a.sent();
11437                        return [2 /*return*/, Promise.reject(error_2)];
11438                    case 4: return [2 /*return*/];
11439                }
11440            });
11441        });
11442    };
11443    /** @hidden */
11444    Report.allowedEvents = ["filtersApplied", "pageChanged", "commandTriggered", "swipeStart", "swipeEnd", "bookmarkApplied", "dataHyperlinkClicked", "visualRendered", "visualClicked", "selectionChanged", "renderingStarted", "blur"];
11445    /** @hidden */
11446    Report.reportIdAttribute = 'powerbi-report-id';
11447    /** @hidden */
11448    Report.filterPaneEnabledAttribute = 'powerbi-settings-filter-pane-enabled';
11449    /** @hidden */
11450    Report.navContentPaneEnabledAttribute = 'powerbi-settings-nav-content-pane-enabled';
11451    /** @hidden */
11452    Report.typeAttribute = 'powerbi-type';
11453    /** @hidden */
11454    Report.type = "Report";
11455    return Report;
11456}(embed_1.Embed));
11457exports.Report = Report;
11458
11459
11460/***/ }),
11461
vendor: 42,008 bytes, lines 11462-12509
11462/***/ "./src/service.ts":
11463/*!************************!*\
11464  !*** ./src/service.ts ***!
11465  \************************/
11466/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
11467
11468// Copyright (c) Microsoft Corporation.
11469// Licensed under the MIT License.
11470var __assign = (this && this.__assign) || function () {
11471    __assign = Object.assign || function(t) {
11472        for (var s, i = 1, n = arguments.length; i < n; i++) {
11473            s = arguments[i];
11474            for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
11475                t[p] = s[p];
11476        }
11477        return t;
11478    };
11479    return __assign.apply(this, arguments);
11480};
11481var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
11482    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
11483    return new (P || (P = Promise))(function (resolve, reject) {
11484        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
11485        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
11486        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
11487        step((generator = generator.apply(thisArg, _arguments || [])).next());
11488    });
11489};
11490var __generator = (this && this.__generator) || function (thisArg, body) {
11491    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
11492    return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
11493    function verb(n) { return function (v) { return step([n, v]); }; }
11494    function step(op) {
11495        if (f) throw new TypeError("Generator is already executing.");
11496        while (_) try {
11497            if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
11498            if (y = 0, t) op = [op[0] & 2, t.value];
11499            switch (op[0]) {
11500                case 0: case 1: t = op; break;
11501                case 4: _.label++; return { value: op[1], done: false };
11502                case 5: _.label++; y = op[1]; op = [0]; continue;
11503                case 7: op = _.ops.pop(); _.trys.pop(); continue;
11504                default:
11505                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
11506                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
11507                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
11508                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
11509                    if (t[2]) _.ops.pop();
11510                    _.trys.pop(); continue;
11511            }
11512            op = body.call(thisArg, _);
11513        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
11514        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
11515    }
11516};
11517Object.defineProperty(exports, "__esModule", ({ value: true }));
11518exports.Service = void 0;
11519var embed_1 = __webpack_require__(/*! ./embed */ "./src/embed.ts");
11520var report_1 = __webpack_require__(/*! ./report */ "./src/report.ts");
11521var create_1 = __webpack_require__(/*! ./create */ "./src/create.ts");
11522var dashboard_1 = __webpack_require__(/*! ./dashboard */ "./src/dashboard.ts");
11523var tile_1 = __webpack_require__(/*! ./tile */ "./src/tile.ts");
11524var page_1 = __webpack_require__(/*! ./page */ "./src/page.ts");
11525var qna_1 = __webpack_require__(/*! ./qna */ "./src/qna.ts");
11526var visual_1 = __webpack_require__(/*! ./visual */ "./src/visual.ts");
11527var utils = __webpack_require__(/*! ./util */ "./src/util.ts");
11528var quickCreate_1 = __webpack_require__(/*! ./quickCreate */ "./src/quickCreate.ts");
11529var sdkConfig = __webpack_require__(/*! ./config */ "./src/config.ts");
11530var errors_1 = __webpack_require__(/*! ./errors */ "./src/errors.ts");
11531/**
11532 * The Power BI Service embed component, which is the entry point to embed all other Power BI components into your application
11533 *
11534 * @export
11535 * @class Service
11536 * @implements {IService}
11537 */
11538var Service = /** @class */ (function () {
11539    /**
11540     * Creates an instance of a Power BI Service.
11541     *
11542     * @param {IHpmFactory} hpmFactory The http post message factory used in the postMessage communication layer
11543     * @param {IWpmpFactory} wpmpFactory The window post message factory used in the postMessage communication layer
11544     * @param {IRouterFactory} routerFactory The router factory used in the postMessage communication layer
11545     * @param {IServiceConfiguration} [config={}]
11546     * @hidden
11547     */
11548    function Service(hpmFactory, wpmpFactory, routerFactory, config) {
11549        if (config === void 0) { config = {}; }
11550        var _this = this;
11551        /**
11552         * @hidden
11553         */
11554        this.registeredComponents = {};
11555        this.wpmp = wpmpFactory(config.wpmpName, config.logMessages);
11556        this.hpm = hpmFactory(this.wpmp, null, config.version, config.type, config.sdkWrapperVersion);
11557        this.router = routerFactory(this.wpmp);
11558        this.uniqueSessionId = utils.generateUUID();
11559        /**
11560         * Adds handler for report events.
11561         */
11562        this.router.post("/reports/:uniqueId/events/:eventName", function (req, _res) {
11563            var event = {
11564                type: 'report',
11565                id: req.params.uniqueId,
11566                name: req.params.eventName,
11567                value: req.body
11568            };
11569            _this.handleEvent(event);
11570        });
11571        this.router.post("/reports/:uniqueId/pages/:pageName/events/:eventName", function (req, _res) {
11572            var event = {
11573                type: 'report',
11574                id: req.params.uniqueId,
11575                name: req.params.eventName,
11576                value: req.body
11577            };
11578            _this.handleEvent(event);
11579        });
11580        this.router.post("/reports/:uniqueId/pages/:pageName/visuals/:visualName/events/:eventName", function (req, _res) {
11581            var event = {
11582                type: 'report',
11583                id: req.params.uniqueId,
11584                name: req.params.eventName,
11585                value: req.body
11586            };
11587            _this.handleEvent(event);
11588        });
11589        this.router.post("/dashboards/:uniqueId/events/:eventName", function (req, _res) {
11590            var event = {
11591                type: 'dashboard',
11592                id: req.params.uniqueId,
11593                name: req.params.eventName,
11594                value: req.body
11595            };
11596            _this.handleEvent(event);
11597        });
11598        this.router.post("/tile/:uniqueId/events/:eventName", function (req, _res) {
11599            var event = {
11600                type: 'tile',
11601                id: req.params.uniqueId,
11602                name: req.params.eventName,
11603                value: req.body
11604            };
11605            _this.handleEvent(event);
11606        });
11607        /**
11608         * Adds handler for Q&A events.
11609         */
11610        this.router.post("/qna/:uniqueId/events/:eventName", function (req, _res) {
11611            var event = {
11612                type: 'qna',
11613                id: req.params.uniqueId,
11614                name: req.params.eventName,
11615                value: req.body
11616            };
11617            _this.handleEvent(event);
11618        });
11619        /**
11620         * Adds handler for front load 'ready' message.
11621         */
11622        this.router.post("/ready/:uniqueId", function (req, _res) {
11623            var event = {
11624                type: 'report',
11625                id: req.params.uniqueId,
11626                name: 'ready',
11627                value: req.body
11628            };
11629            _this.handleEvent(event);
11630        });
11631        this.embeds = [];
11632        // TODO: Change when Object.assign is available.
11633        this.config = utils.assign({}, Service.defaultConfig, config);
11634        if (this.config.autoEmbedOnContentLoaded) {
11635            this.enableAutoEmbed();
11636        }
11637    }
11638    /**
11639     * Creates new report
11640     *
11641     * @param {HTMLElement} element
11642     * @param {IEmbedConfiguration} [config={}]
11643     * @returns {Embed}
11644     */
11645    Service.prototype.createReport = function (element, config) {
11646        config.type = 'create';
11647        var powerBiElement = element;
11648        var component = new create_1.Create(this, powerBiElement, config);
11649        powerBiElement.powerBiEmbed = component;
11650        this.addOrOverwriteEmbed(component, element);
11651        return component;
11652    };
11653    /**
11654     * Creates new dataset
11655     *
11656     * @param {HTMLElement} element
11657     * @param {IEmbedConfiguration} [config={}]
11658     * @returns {Embed}
11659     */
11660    Service.prototype.quickCreate = function (element, config) {
11661        config.type = 'quickCreate';
11662        var powerBiElement = element;
11663        var component = new quickCreate_1.QuickCreate(this, powerBiElement, config);
11664        powerBiElement.powerBiEmbed = component;
11665        this.addOrOverwriteEmbed(component, element);
11666        return component;
11667    };
11668    /**
11669     * TODO: Add a description here
11670     *
11671     * @param {HTMLElement} [container]
11672     * @param {IEmbedConfiguration} [config=undefined]
11673     * @returns {Embed[]}
11674     * @hidden
11675     */
11676    Service.prototype.init = function (container, config) {
11677        var _this = this;
11678        if (config === void 0) { config = undefined; }
11679        container = (container && container instanceof HTMLElement) ? container : document.body;
11680        var elements = Array.prototype.slice.call(container.querySelectorAll("[".concat(embed_1.Embed.embedUrlAttribute, "]")));
11681        return elements.map(function (element) { return _this.embed(element, config); });
11682    };
11683    /**
11684     * Given a configuration based on an HTML element,
11685     * if the component has already been created and attached to the element, reuses the component instance and existing iframe,
11686     * otherwise creates a new component instance.
11687     *
11688     * @param {HTMLElement} element
11689     * @param {IEmbedConfigurationBase} [config={}]
11690     * @returns {Embed}
11691     */
11692    Service.prototype.embed = function (element, config) {
11693        if (config === void 0) { config = {}; }
11694        return this.embedInternal(element, config);
11695    };
11696    /**
11697     * Given a configuration based on an HTML element,
11698     * if the component has already been created and attached to the element, reuses the component instance and existing iframe,
11699     * otherwise creates a new component instance.
11700     * This is used for the phased embedding API, once element is loaded successfully, one can call 'render' on it.
11701     *
11702     * @param {HTMLElement} element
11703     * @param {IEmbedConfigurationBase} [config={}]
11704     * @returns {Embed}
11705     */
11706    Service.prototype.load = function (element, config) {
11707        if (config === void 0) { config = {}; }
11708        return this.embedInternal(element, config, /* phasedRender */ true, /* isBootstrap */ false);
11709    };
11710    /**
11711     * Given an HTML element and entityType, creates a new component instance, and bootstrap the iframe for embedding.
11712     *
11713     * @param {HTMLElement} element
11714     * @param {IBootstrapEmbedConfiguration} config: a bootstrap config which is an embed config without access token.
11715     */
11716    Service.prototype.bootstrap = function (element, config) {
11717        return this.embedInternal(element, config, /* phasedRender */ false, /* isBootstrap */ true);
11718    };
11719    /** @hidden */
11720    Service.prototype.embedInternal = function (element, config, phasedRender, isBootstrap) {
11721        if (config === void 0) { config = {}; }
11722        var component;
11723        var powerBiElement = element;
11724        if (powerBiElement.powerBiEmbed) {
11725            if (isBootstrap) {
11726                throw new Error("Attempted to bootstrap element ".concat(element.outerHTML, ", but the element is already a powerbi element."));
11727            }
11728            component = this.embedExisting(powerBiElement, config, phasedRender);
11729        }
11730        else {
11731            component = this.embedNew(powerBiElement, config, phasedRender, isBootstrap);
11732        }
11733        return component;
11734    };
11735    /** @hidden */
11736    Service.prototype.getNumberOfComponents = function () {
11737        if (!this.embeds) {
11738            return 0;
11739        }
11740        return this.embeds.length;
11741    };
11742    /** @hidden */
11743    Service.prototype.getSdkSessionId = function () {
11744        return this.uniqueSessionId;
11745    };
11746    /**
11747     * Returns the Power BI Client SDK version
11748     *
11749     * @hidden
11750     */
11751    Service.prototype.getSDKVersion = function () {
11752        return sdkConfig.default.version;
11753    };
11754    /**
11755     * Given a configuration based on a Power BI element, saves the component instance that reference the element for later lookup.
11756     *
11757     * @private
11758     * @param {IPowerBiElement} element
11759     * @param {IEmbedConfigurationBase} config
11760     * @param {boolean} phasedRender
11761     * @param {boolean} isBootstrap
11762     * @returns {Embed}
11763     * @hidden
11764     */
11765    Service.prototype.embedNew = function (element, config, phasedRender, isBootstrap) {
11766        var componentType = config.type || element.getAttribute(embed_1.Embed.typeAttribute);
11767        if (!componentType) {
11768            var scrubbedConfig = __assign(__assign({}, config), { accessToken: "" });
11769            throw new Error("Attempted to embed using config ".concat(JSON.stringify(scrubbedConfig), " on element ").concat(element.outerHTML, ", but could not determine what type of component to embed. You must specify a type in the configuration or as an attribute such as '").concat(embed_1.Embed.typeAttribute, "=\"").concat(report_1.Report.type.toLowerCase(), "\"'."));
11770        }
11771        // Saves the type as part of the configuration so that it can be referenced later at a known location.
11772        config.type = componentType;
11773        var component = this.createEmbedComponent(componentType, element, config, phasedRender, isBootstrap);
11774        element.powerBiEmbed = component;
11775        this.addOrOverwriteEmbed(component, element);
11776        return component;
11777    };
11778    /**
11779     * Given component type, creates embed component instance
11780     *
11781     * @private
11782     * @param {string} componentType
11783     * @param {HTMLElement} element
11784     * @param {IEmbedConfigurationBase} config
11785     * @param {boolean} phasedRender
11786     * @param {boolean} isBootstrap
11787     * @returns {Embed}
11788     * @hidden
11789     */
11790    Service.prototype.createEmbedComponent = function (componentType, element, config, phasedRender, isBootstrap) {
11791        var Component = utils.find(function (embedComponent) { return componentType === embedComponent.type.toLowerCase(); }, Service.components);
11792        if (Component) {
11793            return new Component(this, element, config, phasedRender, isBootstrap);
11794        }
11795        // If component type is not legacy, search in registered components
11796        var registeredComponent = utils.find(function (registeredComponentType) { return componentType.toLowerCase() === registeredComponentType.toLowerCase(); }, Object.keys(this.registeredComponents));
11797        if (!registeredComponent) {
11798            throw new Error("Attempted to embed component of type: ".concat(componentType, " but did not find any matching component.  Please verify the type you specified is intended."));
11799        }
11800        return this.registeredComponents[registeredComponent](this, element, config, phasedRender, isBootstrap);
11801    };
11802    /**
11803     * Given an element that already contains an embed component, load with a new configuration.
11804     *
11805     * @private
11806     * @param {IPowerBiElement} element
11807     * @param {IEmbedConfigurationBase} config
11808     * @returns {Embed}
11809     * @hidden
11810     */
11811    Service.prototype.embedExisting = function (element, config, phasedRender) {
11812        var component = utils.find(function (x) { return x.element === element; }, this.embeds);
11813        if (!component) {
11814            var scrubbedConfig = __assign(__assign({}, config), { accessToken: "" });
11815            throw new Error("Attempted to embed using config ".concat(JSON.stringify(scrubbedConfig), " on element ").concat(element.outerHTML, " which already has embedded component associated, but could not find the existing component in the list of active components. This could indicate the embeds list is out of sync with the DOM, or the component is referencing the incorrect HTML element."));
11816        }
11817        // TODO: Multiple embedding to the same iframe is not supported in QnA
11818        if (config.type && config.type.toLowerCase() === "qna") {
11819            return this.embedNew(element, config);
11820        }
11821        /**
11822         * TODO: Dynamic embed type switching could be supported but there is work needed to prepare the service state and DOM cleanup.
11823         * remove all event handlers from the DOM, then reset the element to initial state which removes iframe, and removes from list of embeds
11824         * then we can call the embedNew function which would allow setting the proper embedUrl and construction of object based on the new type.
11825         */
11826        if (typeof config.type === "string" && config.type !== component.config.type) {
11827            /**
11828             * When loading report after create we want to use existing Iframe to optimize load period
11829             */
11830            if (config.type === "report" && utils.isCreate(component.config.type)) {
11831                var report = new report_1.Report(this, element, config, /* phasedRender */ false, /* isBootstrap */ false, element.powerBiEmbed.iframe);
11832                component.populateConfig(config, /* isBootstrap */ false);
11833                report.load();
11834                element.powerBiEmbed = report;
11835                this.addOrOverwriteEmbed(component, element);
11836                return report;
11837            }
11838            var scrubbedConfig = __assign(__assign({}, config), { accessToken: "" });
11839            throw new Error("Embedding on an existing element with a different type than the previous embed object is not supported.  Attempted to embed using config ".concat(JSON.stringify(scrubbedConfig), " on element ").concat(element.outerHTML, ", but the existing element contains an embed of type: ").concat(this.config.type, " which does not match the new type: ").concat(config.type));
11840        }
11841        component.populateConfig(config, /* isBootstrap */ false);
11842        component.load(phasedRender);
11843        return component;
11844    };
11845    /**
11846     * Adds an event handler for DOMContentLoaded, which searches the DOM for elements that have the 'powerbi-embed-url' attribute,
11847     * and automatically attempts to embed a powerbi component based on information from other powerbi-* attributes.
11848     *
11849     * Note: Only runs if `config.autoEmbedOnContentLoaded` is true when the service is created.
11850     * This handler is typically useful only for applications that are rendered on the server so that all required data is available when the handler is called.
11851     *
11852     * @hidden
11853     */
11854    Service.prototype.enableAutoEmbed = function () {
11855        var _this = this;
11856        window.addEventListener('DOMContentLoaded', function (_event) { return _this.init(document.body); }, false);
11857    };
11858    /**
11859     * Returns an instance of the component associated with the element.
11860     *
11861     * @param {HTMLElement} element
11862     * @returns {(Report | Tile)}
11863     */
11864    Service.prototype.get = function (element) {
11865        var powerBiElement = element;
11866        if (!powerBiElement.powerBiEmbed) {
11867            throw new Error("You attempted to get an instance of powerbi component associated with element: ".concat(element.outerHTML, " but there was no associated instance."));
11868        }
11869        return powerBiElement.powerBiEmbed;
11870    };
11871    /**
11872     * Finds an embed instance by the name or unique ID that is provided.
11873     *
11874     * @param {string} uniqueId
11875     * @returns {(Report | Tile)}
11876     * @hidden
11877     */
11878    Service.prototype.find = function (uniqueId) {
11879        return utils.find(function (x) { return x.config.uniqueId === uniqueId; }, this.embeds);
11880    };
11881    /**
11882     * Removes embed components whose container element is same as the given element
11883     *
11884     * @param {Embed} component
11885     * @param {HTMLElement} element
11886     * @returns {void}
11887     * @hidden
11888     */
11889    Service.prototype.addOrOverwriteEmbed = function (component, element) {
11890        // remove embeds over the same div element.
11891        this.embeds = this.embeds.filter(function (embed) {
11892            return embed.element !== element;
11893        });
11894        this.embeds.push(component);
11895    };
11896    /**
11897     * Given an HTML element that has a component embedded within it, removes the component from the list of embedded components, removes the association between the element and the component, and removes the iframe.
11898     *
11899     * @param {HTMLElement} element
11900     * @returns {void}
11901     */
11902    Service.prototype.reset = function (element) {
11903        var powerBiElement = element;
11904        if (!powerBiElement.powerBiEmbed) {
11905            return;
11906        }
11907        /** Removes the element frontLoad listener if exists. */
11908        var embedElement = powerBiElement.powerBiEmbed;
11909        if (embedElement.frontLoadHandler) {
11910            embedElement.element.removeEventListener('ready', embedElement.frontLoadHandler, false);
11911        }
11912        /** Removes all event handlers. */
11913        embedElement.allowedEvents.forEach(function (eventName) {
11914            embedElement.off(eventName);
11915        });
11916        /** Removes the component from an internal list of components. */
11917        utils.remove(function (x) { return x === powerBiElement.powerBiEmbed; }, this.embeds);
11918        /** Deletes a property from the HTML element. */
11919        delete powerBiElement.powerBiEmbed;
11920        /** Removes the iframe from the element. */
11921        var iframe = element.querySelector('iframe');
11922        if (iframe) {
11923            if (iframe.remove !== undefined) {
11924                iframe.remove();
11925            }
11926            else {
11927                /** Workaround for IE: unhandled rejection TypeError: object doesn't support property or method 'remove' */
11928                iframe.parentElement.removeChild(iframe);
11929            }
11930        }
11931    };
11932    /**
11933     * handles tile events
11934     *
11935     * @param {IEvent<any>} event
11936     * @hidden
11937     */
11938    Service.prototype.handleTileEvents = function (event) {
11939        if (event.type === 'tile') {
11940            this.handleEvent(event);
11941        }
11942    };
11943    Service.prototype.invokeSDKHook = function (hook, req, res) {
11944        return __awaiter(this, void 0, void 0, function () {
11945            var result, error_1;
11946            return __generator(this, function (_a) {
11947                switch (_a.label) {
11948                    case 0:
11949                        if (!hook) {
11950                            res.send(404, null);
11951                            return [2 /*return*/];
11952                        }
11953                        _a.label = 1;
11954                    case 1:
11955                        _a.trys.push([1, 3, , 4]);
11956                        return [4 /*yield*/, hook(req.body)];
11957                    case 2:
11958                        result = _a.sent();
11959                        res.send(200, result);
11960                        return [3 /*break*/, 4];
11961                    case 3:
11962                        error_1 = _a.sent();
11963                        res.send(400, null);
11964                        console.error(error_1);
11965                        return [3 /*break*/, 4];
11966                    case 4: return [2 /*return*/];
11967                }
11968            });
11969        });
11970    };
11971    /**
11972     * Given an event object, finds the embed component with the matching type and ID, and invokes its handleEvent method with the event object.
11973     *
11974     * @private
11975     * @param {IEvent<any>} event
11976     * @hidden
11977     */
11978    Service.prototype.handleEvent = function (event) {
11979        var embed = utils.find(function (embed) {
11980            return (embed.config.uniqueId === event.id);
11981        }, this.embeds);
11982        if (embed) {
11983            var value = event.value;
11984            if (event.name === 'pageChanged') {
11985                var pageKey = 'newPage';
11986                var page = value[pageKey];
11987                if (!page) {
11988                    throw new Error("Page model not found at 'event.value.".concat(pageKey, "'."));
11989                }
11990                value[pageKey] = new page_1.Page(embed, page.name, page.displayName, true /* isActive */);
11991            }
11992            utils.raiseCustomEvent(embed.element, event.name, value);
11993        }
11994    };
11995    /**
11996     * API for warm starting powerbi embedded endpoints.
11997     * Use this API to preload Power BI Embedded in the background.
11998     *
11999     * @public
12000     * @param {IEmbedConfigurationBase} [config={}]
12001     * @param {HTMLElement} [element=undefined]
12002     */
12003    Service.prototype.preload = function (config, element) {
12004        if (!utils.validateEmbedUrl(config.embedUrl)) {
12005            throw new Error(errors_1.invalidEmbedUrlErrorMessage);
12006        }
12007        var iframeContent = document.createElement("iframe");
12008        iframeContent.setAttribute("style", "display:none;");
12009        iframeContent.setAttribute("src", config.embedUrl);
12010        iframeContent.setAttribute("scrolling", "no");
12011        iframeContent.setAttribute("allowfullscreen", "false");
12012        var node = element;
12013        if (!node) {
12014            node = document.getElementsByTagName("body")[0];
12015        }
12016        node.appendChild(iframeContent);
12017        iframeContent.onload = function () {
12018            utils.raiseCustomEvent(iframeContent, "preloaded", {});
12019        };
12020        return iframeContent;
12021    };
12022    /**
12023     * Use this API to set SDK info
12024     *
12025     * @hidden
12026     * @param {string} type
12027     * @returns {void}
12028     */
12029    Service.prototype.setSdkInfo = function (type, version) {
12030        this.hpm.defaultHeaders['x-sdk-type'] = type;
12031        this.hpm.defaultHeaders['x-sdk-wrapper-version'] = version;
12032    };
12033    /**
12034     * API for registering external components
12035     *
12036     * @hidden
12037     * @param {string} componentType
12038     * @param {EmbedComponentFactory} embedComponentFactory
12039     * @param {string[]} routerEventUrls
12040     */
12041    Service.prototype.register = function (componentType, embedComponentFactory, routerEventUrls) {
12042        var _this = this;
12043        if (utils.find(function (embedComponent) { return componentType.toLowerCase() === embedComponent.type.toLowerCase(); }, Service.components)) {
12044            throw new Error('The component name is reserved. Cannot register a component with this name.');
12045        }
12046        if (utils.find(function (registeredComponentType) { return componentType.toLowerCase() === registeredComponentType.toLowerCase(); }, Object.keys(this.registeredComponents))) {
12047            throw new Error('A component with this type is already registered.');
12048        }
12049        this.registeredComponents[componentType] = embedComponentFactory;
12050        routerEventUrls.forEach(function (url) {
12051            if (!url.includes(':uniqueId') || !url.includes(':eventName')) {
12052                throw new Error('Invalid router event URL');
12053            }
12054            _this.router.post(url, function (req, _res) {
12055                var event = {
12056                    type: componentType,
12057                    id: req.params.uniqueId,
12058                    name: req.params.eventName,
12059                    value: req.body
12060                };
12061                _this.handleEvent(event);
12062            });
12063        });
12064    };
12065    /**
12066     * A list of components that this service can embed
12067     */
12068    Service.components = [
12069        tile_1.Tile,
12070        report_1.Report,
12071        dashboard_1.Dashboard,
12072        qna_1.Qna,
12073        visual_1.Visual
12074    ];
12075    /**
12076     * The default configuration for the service
12077     */
12078    Service.defaultConfig = {
12079        autoEmbedOnContentLoaded: false,
12080        onError: function () {
12081            var args = [];
12082            for (var _i = 0; _i < arguments.length; _i++) {
12083                args[_i] = arguments[_i];
12084            }
12085            return console.log(args[0], args.slice(1));
12086        }
12087    };
12088    return Service;
12089}());
12090exports.Service = Service;
12091
12092
12093/***/ }),
12094
12095/***/ "./src/tile.ts":
12096/*!*********************!*\
12097  !*** ./src/tile.ts ***!
12098  \*********************/
12099/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
12100
12101// Copyright (c) Microsoft Corporation.
12102// Licensed under the MIT License.
12103var __extends = (this && this.__extends) || (function () {
12104    var extendStatics = function (d, b) {
12105        extendStatics = Object.setPrototypeOf ||
12106            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
12107            function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
12108        return extendStatics(d, b);
12109    };
12110    return function (d, b) {
12111        if (typeof b !== "function" && b !== null)
12112            throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12113        extendStatics(d, b);
12114        function __() { this.constructor = d; }
12115        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
12116    };
12117})();
12118Object.defineProperty(exports, "__esModule", ({ value: true }));
12119exports.Tile = void 0;
12120var powerbi_models_1 = __webpack_require__(/*! powerbi-models */ "./node_modules/powerbi-models/dist/models.js");
12121var embed_1 = __webpack_require__(/*! ./embed */ "./src/embed.ts");
12122/**
12123 * The Power BI tile embed component
12124 *
12125 * @export
12126 * @class Tile
12127 * @extends {Embed}
12128 */
12129var Tile = /** @class */ (function (_super) {
12130    __extends(Tile, _super);
12131    /**
12132     * @hidden
12133     */
12134    function Tile(service, element, baseConfig, phasedRender, isBootstrap) {
12135        var _this = this;
12136        var config = baseConfig;
12137        _this = _super.call(this, service, element, config, /* iframe */ undefined, phasedRender, isBootstrap) || this;
12138        _this.loadPath = "/tile/load";
12139        Array.prototype.push.apply(_this.allowedEvents, Tile.allowedEvents);
12140        return _this;
12141    }
12142    /**
12143     * The ID of the tile
12144     *
12145     * @returns {string}
12146     */
12147    Tile.prototype.getId = function () {
12148        var config = this.config;
12149        var tileId = config.id || Tile.findIdFromEmbedUrl(this.config.embedUrl);
12150        if (typeof tileId !== 'string' || tileId.length === 0) {
12151            throw new Error("Tile id is required, but it was not found. You must provide an id either as part of embed configuration.");
12152        }
12153        return tileId;
12154    };
12155    /**
12156     * Validate load configuration.
12157     */
12158    Tile.prototype.validate = function (config) {
12159        var embedConfig = config;
12160        return (0, powerbi_models_1.validateTileLoad)(embedConfig);
12161    };
12162    /**
12163     * Handle config changes.
12164     *
12165     * @returns {void}
12166     */
12167    Tile.prototype.configChanged = function (isBootstrap) {
12168        if (isBootstrap) {
12169            return;
12170        }
12171        // Populate tile id into config object.
12172        this.config.id = this.getId();
12173    };
12174    /**
12175     * @hidden
12176     * @returns {string}
12177     */
12178    Tile.prototype.getDefaultEmbedUrlEndpoint = function () {
12179        return "tileEmbed";
12180    };
12181    /**
12182     * Adds the ability to get tileId from url.
12183     * By extracting the ID we can ensure that the ID is always explicitly provided as part of the load configuration.
12184     *
12185     * @hidden
12186     * @static
12187     * @param {string} url
12188     * @returns {string}
12189     */
12190    Tile.findIdFromEmbedUrl = function (url) {
12191        var tileIdRegEx = /tileId="?([^&]+)"?/;
12192        var tileIdMatch = url.match(tileIdRegEx);
12193        var tileId;
12194        if (tileIdMatch) {
12195            tileId = tileIdMatch[1];
12196        }
12197        return tileId;
12198    };
12199    /** @hidden */
12200    Tile.type = "Tile";
12201    /** @hidden */
12202    Tile.allowedEvents = ["tileClicked", "tileLoaded"];
12203    return Tile;
12204}(embed_1.Embed));
12205exports.Tile = Tile;
12206
12207
12208/***/ }),
12209
12210/***/ "./src/util.ts":
12211/*!*********************!*\
12212  !*** ./src/util.ts ***!
12213  \*********************/
12214/***/ (function(__unused_webpack_module, exports) {
12215
12216// Copyright (c) Microsoft Corporation.
12217// Licensed under the MIT License.
12218var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
12219    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
12220    return new (P || (P = Promise))(function (resolve, reject) {
12221        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
12222        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
12223        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
12224        step((generator = generator.apply(thisArg, _arguments || [])).next());
12225    });
12226};
12227var __generator = (this && this.__generator) || function (thisArg, body) {
12228    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
12229    return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
12230    function verb(n) { return function (v) { return step([n, v]); }; }
12231    function step(op) {
12232        if (f) throw new TypeError("Generator is already executing.");
12233        while (_) try {
12234            if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
12235            if (y = 0, t) op = [op[0] & 2, t.value];
12236            switch (op[0]) {
12237                case 0: case 1: t = op; break;
12238                case 4: _.label++; return { value: op[1], done: false };
12239                case 5: _.label++; y = op[1]; op = [0]; continue;
12240                case 7: op = _.ops.pop(); _.trys.pop(); continue;
12241                default:
12242                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
12243                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
12244                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
12245                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
12246                    if (t[2]) _.ops.pop();
12247                    _.trys.pop(); continue;
12248            }
12249            op = body.call(thisArg, _);
12250        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
12251        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
12252    }
12253};
12254Object.defineProperty(exports, "__esModule", ({ value: true }));
12255exports.validateEmbedUrl = exports.isCreate = exports.getTimeDiffInMilliseconds = exports.getRandomValue = exports.autoAuthInEmbedUrl = exports.isRDLEmbed = exports.isSavedInternal = exports.addParamToUrl = exports.generateUUID = exports.createRandomString = exports.assign = exports.remove = exports.find = exports.findIndex = exports.raiseCustomEvent = void 0;
12256/**
12257 * @hidden
12258 */
12259var allowedPowerBiHostsRegex = new RegExp(/(.+\.powerbi\.com$)|(.+\.fabric\.microsoft\.com$)|(.+\.analysis\.windows-int\.net$)|(.+\.analysis-df\.windows\.net$)/);
12260/**
12261 * @hidden
12262 */
12263var allowedPowerBiHostsSovRegex = new RegExp(/^app\.powerbi\.cn$|^app(\.mil\.|\.high\.|\.)powerbigov\.us$|^app\.powerbi\.eaglex\.ic\.gov$|^app\.powerbi\.microsoft\.scloud$/);
12264/**
12265 * @hidden
12266 */
12267var expectedEmbedUrlProtocol = "https:";
12268/**
12269 * Raises a custom event with event data on the specified HTML element.
12270 *
12271 * @export
12272 * @param {HTMLElement} element
12273 * @param {string} eventName
12274 * @param {*} eventData
12275 */
12276function raiseCustomEvent(element, eventName, eventData) {
12277    var customEvent;
12278    if (typeof CustomEvent === 'function') {
12279        customEvent = new CustomEvent(eventName, {
12280            detail: eventData,
12281            bubbles: true,
12282            cancelable: true
12283        });
12284    }
12285    else {
12286        customEvent = document.createEvent('CustomEvent');
12287        customEvent.initCustomEvent(eventName, true, true, eventData);
12288    }
12289    element.dispatchEvent(customEvent);
12290}
12291exports.raiseCustomEvent = raiseCustomEvent;
12292/**
12293 * Finds the index of the first value in an array that matches the specified predicate.
12294 *
12295 * @export
12296 * @template T
12297 * @param {(x: T) => boolean} predicate
12298 * @param {T[]} xs
12299 * @returns {number}
12300 */
12301function findIndex(predicate, xs) {
12302    if (!Array.isArray(xs)) {
12303        throw new Error("You attempted to call find with second parameter that was not an array. You passed: ".concat(xs));
12304    }
12305    var index;
12306    xs.some(function (x, i) {
12307        if (predicate(x)) {
12308            index = i;
12309            return true;
12310        }
12311    });
12312    return index;
12313}
12314exports.findIndex = findIndex;
12315/**
12316 * Finds the first value in an array that matches the specified predicate.
12317 *
12318 * @export
12319 * @template T
12320 * @param {(x: T) => boolean} predicate
12321 * @param {T[]} xs
12322 * @returns {T}
12323 */
12324function find(predicate, xs) {
12325    var index = findIndex(predicate, xs);
12326    return xs[index];
12327}
12328exports.find = find;
12329function remove(predicate, xs) {
12330    var index = findIndex(predicate, xs);
12331    xs.splice(index, 1);
12332}
12333exports.remove = remove;
12334// See: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign
12335// TODO: replace in favor of using polyfill
12336/**
12337 * Copies the values of all enumerable properties from one or more source objects to a target object, and returns the target object.
12338 *
12339 * @export
12340 * @param {any} args
12341 * @returns
12342 */
12343function assign() {
12344    var args = [];
12345    for (var _i = 0; _i < arguments.length; _i++) {
12346        args[_i] = arguments[_i];
12347    }
12348    var target = args[0];
12349    'use strict';
12350    if (target === undefined || target === null) {
12351        throw new TypeError('Cannot convert undefined or null to object');
12352    }
12353    var output = Object(target);
12354    for (var index = 1; index < arguments.length; index++) {
12355        var source = arguments[index];
12356        if (source !== undefined && source !== null) {
12357            for (var nextKey in source) {
12358                if (source.hasOwnProperty(nextKey)) {
12359                    output[nextKey] = source[nextKey];
12360                }
12361            }
12362        }
12363    }
12364    return output;
12365}
12366exports.assign = assign;
12367/**
12368 * Generates a random 5 to 6 character string.
12369 *
12370 * @export
12371 * @returns {string}
12372 */
12373function createRandomString() {
12374    return getRandomValue().toString(36).substring(1);
12375}
12376exports.createRandomString = createRandomString;
12377/**
12378 * Generates a 20 character uuid.
12379 *
12380 * @export
12381 * @returns {string}
12382 */
12383function generateUUID() {
12384    var d = new Date().getTime();
12385    if (typeof performance !== 'undefined' && typeof performance.now === 'function') {
12386        d += performance.now();
12387    }
12388    return 'xxxxxxxxxxxxxxxxxxxx'.replace(/[xy]/g, function (_c) {
12389        // Generate a random number, scaled from 0 to 15.
12390        var r = (getRandomValue() % 16);
12391        // Shift 4 times to divide by 16
12392        d >>= 4;
12393        return r.toString(16);
12394    });
12395}
12396exports.generateUUID = generateUUID;
12397/**
12398 * Adds a parameter to the given url
12399 *
12400 * @export
12401 * @param {string} url
12402 * @param {string} paramName
12403 * @param {string} value
12404 * @returns {string}
12405 */
12406function addParamToUrl(url, paramName, value) {
12407    var parameterPrefix = url.indexOf('?') > 0 ? '&' : '?';
12408    url += parameterPrefix + paramName + '=' + value;
12409    return url;
12410}
12411exports.addParamToUrl = addParamToUrl;
12412/**
12413 * Checks if the report is saved.
12414 *
12415 * @export
12416 * @param {HttpPostMessage} hpm
12417 * @param {string} uid
12418 * @param {Window} contentWindow
12419 * @returns {Promise<boolean>}
12420 */
12421function isSavedInternal(hpm, uid, contentWindow) {
12422    return __awaiter(this, void 0, void 0, function () {
12423        var response, response_1;
12424        return __generator(this, function (_a) {
12425            switch (_a.label) {
12426                case 0:
12427                    _a.trys.push([0, 2, , 3]);
12428                    return [4 /*yield*/, hpm.get('/report/hasUnsavedChanges', { uid: uid }, contentWindow)];
12429                case 1:
12430                    response = _a.sent();
12431                    return [2 /*return*/, !response.body];
12432                case 2:
12433                    response_1 = _a.sent();
12434                    throw response_1.body;
12435                case 3: return [2 /*return*/];
12436            }
12437        });
12438    });
12439}
12440exports.isSavedInternal = isSavedInternal;
12441/**
12442 * Checks if the embed url is for RDL report.
12443 *
12444 * @export
12445 * @param {string} embedUrl
12446 * @returns {boolean}
12447 */
12448function isRDLEmbed(embedUrl) {
12449    return embedUrl && embedUrl.toLowerCase().indexOf("/rdlembed?") >= 0;
12450}
12451exports.isRDLEmbed = isRDLEmbed;
12452/**
12453 * Checks if the embed url contains autoAuth=true.
12454 *
12455 * @export
12456 * @param {string} embedUrl
12457 * @returns {boolean}
12458 */
12459function autoAuthInEmbedUrl(embedUrl) {
12460    return embedUrl && decodeURIComponent(embedUrl).toLowerCase().indexOf("autoauth=true") >= 0;
12461}
12462exports.autoAuthInEmbedUrl = autoAuthInEmbedUrl;
12463/**
12464 * Returns random number
12465 */
12466function getRandomValue() {
12467    // window.msCrypto for IE
12468    var cryptoObj = window.crypto || window.msCrypto;
12469    var randomValueArray = new Uint32Array(1);
12470    cryptoObj.getRandomValues(randomValueArray);
12471    return randomValueArray[0];
12472}
12473exports.getRandomValue = getRandomValue;
12474/**
12475 * Returns the time interval between two dates in milliseconds
12476 *
12477 * @export
12478 * @param {Date} start
12479 * @param {Date} end
12480 * @returns {number}
12481 */
12482function getTimeDiffInMilliseconds(start, end) {
12483    return Math.abs(start.getTime() - end.getTime());
12484}
12485exports.getTimeDiffInMilliseconds = getTimeDiffInMilliseconds;
12486/**
12487 * Checks if the embed type is for create
12488 *
12489 * @export
12490 * @param {string} embedType
12491 * @returns {boolean}
12492 */
12493function isCreate(embedType) {
12494    return embedType === 'create' || embedType === 'quickcreate';
12495}
12496exports.isCreate = isCreate;
12497/**
12498 * Checks if the embedUrl has an allowed power BI domain
12499 * @hidden
12500 */
12501function validateEmbedUrl(embedUrl) {
12502    if (embedUrl) {
12503        var url = void 0;
12504        try {
12505            url = new URL(embedUrl.toLowerCase());
12506        }
12507        catch (e) {
12508            // invalid URL
12509            return false;
12510        }
12511        return url.protocol === expectedEmbedUrlProtocol &&
12512            (allowedPowerBiHostsRegex.test(url.hostname) || allowedPowerBiHostsSovRegex.test(url.hostname));
12513    }
12514}
12515exports.validateEmbedUrl = validateEmbedUrl;
12516
12517
12518/***/ }),
12519
vendor: 28,437 bytes, lines 12520-13193
12520/***/ "./src/visual.ts":
12521/*!***********************!*\
12522  !*** ./src/visual.ts ***!
12523  \***********************/
12524/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
12525
12526// Copyright (c) Microsoft Corporation.
12527// Licensed under the MIT License.
12528var __extends = (this && this.__extends) || (function () {
12529    var extendStatics = function (d, b) {
12530        extendStatics = Object.setPrototypeOf ||
12531            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
12532            function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
12533        return extendStatics(d, b);
12534    };
12535    return function (d, b) {
12536        if (typeof b !== "function" && b !== null)
12537            throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12538        extendStatics(d, b);
12539        function __() { this.constructor = d; }
12540        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
12541    };
12542})();
12543var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
12544    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
12545    return new (P || (P = Promise))(function (resolve, reject) {
12546        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
12547        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
12548        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
12549        step((generator = generator.apply(thisArg, _arguments || [])).next());
12550    });
12551};
12552var __generator = (this && this.__generator) || function (thisArg, body) {
12553    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
12554    return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
12555    function verb(n) { return function (v) { return step([n, v]); }; }
12556    function step(op) {
12557        if (f) throw new TypeError("Generator is already executing.");
12558        while (_) try {
12559            if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
12560            if (y = 0, t) op = [op[0] & 2, t.value];
12561            switch (op[0]) {
12562                case 0: case 1: t = op; break;
12563                case 4: _.label++; return { value: op[1], done: false };
12564                case 5: _.label++; y = op[1]; op = [0]; continue;
12565                case 7: op = _.ops.pop(); _.trys.pop(); continue;
12566                default:
12567                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
12568                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
12569                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
12570                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
12571                    if (t[2]) _.ops.pop();
12572                    _.trys.pop(); continue;
12573            }
12574            op = body.call(thisArg, _);
12575        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
12576        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
12577    }
12578};
12579Object.defineProperty(exports, "__esModule", ({ value: true }));
12580exports.Visual = void 0;
12581var powerbi_models_1 = __webpack_require__(/*! powerbi-models */ "./node_modules/powerbi-models/dist/models.js");
12582var report_1 = __webpack_require__(/*! ./report */ "./src/report.ts");
12583var visualDescriptor_1 = __webpack_require__(/*! ./visualDescriptor */ "./src/visualDescriptor.ts");
12584/**
12585 * The Power BI Visual embed component
12586 *
12587 * @export
12588 * @class Visual
12589 */
12590var Visual = /** @class */ (function (_super) {
12591    __extends(Visual, _super);
12592    /**
12593     * Creates an instance of a Power BI Single Visual.
12594     *
12595     * @param {Service} service
12596     * @param {HTMLElement} element
12597     * @param {IEmbedConfiguration} config
12598     * @hidden
12599     */
12600    function Visual(service, element, baseConfig, phasedRender, isBootstrap, iframe) {
12601        return _super.call(this, service, element, baseConfig, phasedRender, isBootstrap, iframe) || this;
12602    }
12603    /**
12604     * @hidden
12605     */
12606    Visual.prototype.load = function (phasedRender) {
12607        var config = this.config;
12608        if (!config.accessToken) {
12609            // bootstrap flow.
12610            return;
12611        }
12612        if (typeof config.pageName !== 'string' || config.pageName.length === 0) {
12613            throw new Error("Page name is required when embedding a visual.");
12614        }
12615        if (typeof config.visualName !== 'string' || config.visualName.length === 0) {
12616            throw new Error("Visual name is required, but it was not found. You must provide a visual name as part of embed configuration.");
12617        }
12618        // calculate custom layout settings and override config.
12619        var width = config.width ? config.width : this.iframe.offsetWidth;
12620        var height = config.height ? config.height : this.iframe.offsetHeight;
12621        var pageSize = {
12622            type: powerbi_models_1.PageSizeType.Custom,
12623            width: width,
12624            height: height,
12625        };
12626        var pagesLayout = {};
12627        pagesLayout[config.pageName] = {
12628            defaultLayout: {
12629                displayState: {
12630                    mode: powerbi_models_1.VisualContainerDisplayMode.Hidden
12631                }
12632            },
12633            visualsLayout: {}
12634        };
12635        pagesLayout[config.pageName].visualsLayout[config.visualName] = {
12636            displayState: {
12637                mode: powerbi_models_1.VisualContainerDisplayMode.Visible
12638            },
12639            x: 1,
12640            y: 1,
12641            z: 1,
12642            width: pageSize.width,
12643            height: pageSize.height
12644        };
12645        config.settings = config.settings || {};
12646        config.settings.filterPaneEnabled = false;
12647        config.settings.navContentPaneEnabled = false;
12648        config.settings.layoutType = powerbi_models_1.LayoutType.Custom;
12649        config.settings.customLayout = {
12650            displayOption: powerbi_models_1.DisplayOption.FitToPage,
12651            pageSize: pageSize,
12652            pagesLayout: pagesLayout
12653        };
12654        this.config = config;
12655        return _super.prototype.load.call(this, phasedRender);
12656    };
12657    /**
12658     * Gets the list of pages within the report - not supported in visual
12659     *
12660     * @returns {Promise<Page[]>}
12661     */
12662    Visual.prototype.getPages = function () {
12663        throw Visual.GetPagesNotSupportedError;
12664    };
12665    /**
12666     * Sets the active page of the report - not supported in visual
12667     *
12668     * @param {string} pageName
12669     * @returns {Promise<IHttpPostMessageResponse<void>>}
12670     */
12671    Visual.prototype.setPage = function (_pageName) {
12672        throw Visual.SetPageNotSupportedError;
12673    };
12674    /**
12675     * Render a preloaded report, using phased embedding API
12676     *
12677     * @hidden
12678     * @returns {Promise<void>}
12679     */
12680    Visual.prototype.render = function (_config) {
12681        return __awaiter(this, void 0, void 0, function () {
12682            return __generator(this, function (_a) {
12683                throw Visual.RenderNotSupportedError;
12684            });
12685        });
12686    };
12687    /**
12688     * Gets the embedded visual descriptor object that contains the visual name, type, etc.
12689     *
12690     * ```javascript
12691     * visual.getVisualDescriptor()
12692     *   .then(visualDetails => { ... });
12693     * ```
12694     *
12695     * @returns {Promise<VisualDescriptor>}
12696     */
12697    Visual.prototype.getVisualDescriptor = function () {
12698        return __awaiter(this, void 0, void 0, function () {
12699            var config, response, embeddedVisuals, visualNotFoundError, embeddedVisual, currentPage, response_1;
12700            return __generator(this, function (_a) {
12701                switch (_a.label) {
12702                    case 0:
12703                        config = this.config;
12704                        _a.label = 1;
12705                    case 1:
12706                        _a.trys.push([1, 3, , 4]);
12707                        return [4 /*yield*/, this.service.hpm.get("/report/pages/".concat(config.pageName, "/visuals"), { uid: this.config.uniqueId }, this.iframe.contentWindow)];
12708                    case 2:
12709                        response = _a.sent();
12710                        embeddedVisuals = response.body.filter(function (pageVisual) { return pageVisual.name === config.visualName; });
12711                        if (embeddedVisuals.length === 0) {
12712                            visualNotFoundError = {
12713                                message: "visualNotFound",
12714                                detailedMessage: "Visual not found"
12715                            };
12716                            throw visualNotFoundError;
12717                        }
12718                        embeddedVisual = embeddedVisuals[0];
12719                        currentPage = this.page(config.pageName);
12720                        return [2 /*return*/, new visualDescriptor_1.VisualDescriptor(currentPage, embeddedVisual.name, embeddedVisual.title, embeddedVisual.type, embeddedVisual.layout)];
12721                    case 3:
12722                        response_1 = _a.sent();
12723                        throw response_1.body;
12724                    case 4: return [2 /*return*/];
12725                }
12726            });
12727        });
12728    };
12729    /**
12730     * Gets filters that are applied to the filter level.
12731     * Default filter level is visual level.
12732     *
12733     * ```javascript
12734     * visual.getFilters(filtersLevel)
12735     *   .then(filters => {
12736     *     ...
12737     *   });
12738     * ```
12739     *
12740     * @returns {Promise<IFilter[]>}
12741     */
12742    Visual.prototype.getFilters = function (filtersLevel) {
12743        return __awaiter(this, void 0, void 0, function () {
12744            var url, response, response_2;
12745            return __generator(this, function (_a) {
12746                switch (_a.label) {
12747                    case 0:
12748                        url = this.getFiltersLevelUrl(filtersLevel);
12749                        _a.label = 1;
12750                    case 1:
12751                        _a.trys.push([1, 3, , 4]);
12752                        return [4 /*yield*/, this.service.hpm.get(url, { uid: this.config.uniqueId }, this.iframe.contentWindow)];
12753                    case 2:
12754                        response = _a.sent();
12755                        return [2 /*return*/, response.body];
12756                    case 3:
12757                        response_2 = _a.sent();
12758                        throw response_2.body;
12759                    case 4: return [2 /*return*/];
12760                }
12761            });
12762        });
12763    };
12764    /**
12765     * Updates filters at the filter level.
12766     * Default filter level is visual level.
12767     *
12768     * ```javascript
12769     * const filters: [
12770     *    ...
12771     * ];
12772     *
12773     * visual.updateFilters(FiltersOperations.Add, filters, filtersLevel)
12774     *  .catch(errors => {
12775     *    ...
12776     *  });
12777     * ```
12778     *
12779     * @param {(IFilter[])} filters
12780     * @returns {Promise<IHttpPostMessageResponse<void>>}
12781     */
12782    Visual.prototype.updateFilters = function (operation, filters, filtersLevel) {
12783        return __awaiter(this, void 0, void 0, function () {
12784            var updateFiltersRequest, url, response_3;
12785            return __generator(this, function (_a) {
12786                switch (_a.label) {
12787                    case 0:
12788                        updateFiltersRequest = {
12789                            filtersOperation: operation,
12790                            filters: filters
12791                        };
12792                        url = this.getFiltersLevelUrl(filtersLevel);
12793                        _a.label = 1;
12794                    case 1:
12795                        _a.trys.push([1, 3, , 4]);
12796                        return [4 /*yield*/, this.service.hpm.post(url, updateFiltersRequest, { uid: this.config.uniqueId }, this.iframe.contentWindow)];
12797                    case 2: return [2 /*return*/, _a.sent()];
12798                    case 3:
12799                        response_3 = _a.sent();
12800                        throw response_3.body;
12801                    case 4: return [2 /*return*/];
12802                }
12803            });
12804        });
12805    };
12806    /**
12807     * Sets filters at the filter level.
12808     * Default filter level is visual level.
12809     *
12810     * ```javascript
12811     * const filters: [
12812     *    ...
12813     * ];
12814     *
12815     * visual.setFilters(filters, filtersLevel)
12816     *  .catch(errors => {
12817     *    ...
12818     *  });
12819     * ```
12820     *
12821     * @param {(IFilter[])} filters
12822     * @returns {Promise<IHttpPostMessageResponse<void>>}
12823     */
12824    Visual.prototype.setFilters = function (filters, filtersLevel) {
12825        return __awaiter(this, void 0, void 0, function () {
12826            var url, response_4;
12827            return __generator(this, function (_a) {
12828                switch (_a.label) {
12829                    case 0:
12830                        url = this.getFiltersLevelUrl(filtersLevel);
12831                        _a.label = 1;
12832                    case 1:
12833                        _a.trys.push([1, 3, , 4]);
12834                        return [4 /*yield*/, this.service.hpm.put(url, filters, { uid: this.config.uniqueId }, this.iframe.contentWindow)];
12835                    case 2: return [2 /*return*/, _a.sent()];
12836                    case 3:
12837                        response_4 = _a.sent();
12838                        throw response_4.body;
12839                    case 4: return [2 /*return*/];
12840                }
12841            });
12842        });
12843    };
12844    /**
12845     * Removes all filters from the current filter level.
12846     * Default filter level is visual level.
12847     *
12848     * ```javascript
12849     * visual.removeFilters(filtersLevel);
12850     * ```
12851     *
12852     * @returns {Promise<IHttpPostMessageResponse<void>>}
12853     */
12854    Visual.prototype.removeFilters = function (filtersLevel) {
12855        return __awaiter(this, void 0, void 0, function () {
12856            return __generator(this, function (_a) {
12857                switch (_a.label) {
12858                    case 0: return [4 /*yield*/, this.updateFilters(powerbi_models_1.FiltersOperations.RemoveAll, undefined, filtersLevel)];
12859                    case 1: return [2 /*return*/, _a.sent()];
12860                }
12861            });
12862        });
12863    };
12864    /**
12865     * @hidden
12866     */
12867    Visual.prototype.getFiltersLevelUrl = function (filtersLevel) {
12868        var config = this.config;
12869        switch (filtersLevel) {
12870            case powerbi_models_1.FiltersLevel.Report:
12871                return "/report/filters";
12872            case powerbi_models_1.FiltersLevel.Page:
12873                return "/report/pages/".concat(config.pageName, "/filters");
12874            default:
12875                return "/report/pages/".concat(config.pageName, "/visuals/").concat(config.visualName, "/filters");
12876        }
12877    };
12878    /** @hidden */
12879    Visual.type = "visual";
12880    /** @hidden */
12881    Visual.GetPagesNotSupportedError = "Get pages is not supported while embedding a visual.";
12882    /** @hidden */
12883    Visual.SetPageNotSupportedError = "Set page is not supported while embedding a visual.";
12884    /** @hidden */
12885    Visual.RenderNotSupportedError = "render is not supported while embedding a visual.";
12886    return Visual;
12887}(report_1.Report));
12888exports.Visual = Visual;
12889
12890
12891/***/ }),
12892
12893/***/ "./src/visualDescriptor.ts":
12894/*!*********************************!*\
12895  !*** ./src/visualDescriptor.ts ***!
12896  \*********************************/
12897/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
12898
12899// Copyright (c) Microsoft Corporation.
12900// Licensed under the MIT License.
12901var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
12902    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
12903    return new (P || (P = Promise))(function (resolve, reject) {
12904        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
12905        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
12906        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
12907        step((generator = generator.apply(thisArg, _arguments || [])).next());
12908    });
12909};
12910var __generator = (this && this.__generator) || function (thisArg, body) {
12911    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
12912    return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
12913    function verb(n) { return function (v) { return step([n, v]); }; }
12914    function step(op) {
12915        if (f) throw new TypeError("Generator is already executing.");
12916        while (_) try {
12917            if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
12918            if (y = 0, t) op = [op[0] & 2, t.value];
12919            switch (op[0]) {
12920                case 0: case 1: t = op; break;
12921                case 4: _.label++; return { value: op[1], done: false };
12922                case 5: _.label++; y = op[1]; op = [0]; continue;
12923                case 7: op = _.ops.pop(); _.trys.pop(); continue;
12924                default:
12925                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
12926                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
12927                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
12928                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
12929                    if (t[2]) _.ops.pop();
12930                    _.trys.pop(); continue;
12931            }
12932            op = body.call(thisArg, _);
12933        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
12934        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
12935    }
12936};
12937Object.defineProperty(exports, "__esModule", ({ value: true }));
12938exports.VisualDescriptor = void 0;
12939var powerbi_models_1 = __webpack_require__(/*! powerbi-models */ "./node_modules/powerbi-models/dist/models.js");
12940/**
12941 * A Power BI visual within a page
12942 *
12943 * @export
12944 * @class VisualDescriptor
12945 * @implements {IVisualNode}
12946 */
12947var VisualDescriptor = /** @class */ (function () {
12948    /**
12949     * @hidden
12950     */
12951    function VisualDescriptor(page, name, title, type, layout) {
12952        this.name = name;
12953        this.title = title;
12954        this.type = type;
12955        this.layout = layout;
12956        this.page = page;
12957    }
12958    /**
12959     * Gets all visual level filters of the current visual.
12960     *
12961     * ```javascript
12962     * visual.getFilters()
12963     *  .then(filters => { ... });
12964     * ```
12965     *
12966     * @returns {(Promise<IFilter[]>)}
12967     */
12968    VisualDescriptor.prototype.getFilters = function () {
12969        return __awaiter(this, void 0, void 0, function () {
12970            var response, response_1;
12971            return __generator(this, function (_a) {
12972                switch (_a.label) {
12973                    case 0:
12974                        _a.trys.push([0, 2, , 3]);
12975                        return [4 /*yield*/, this.page.report.service.hpm.get("/report/pages/".concat(this.page.name, "/visuals/").concat(this.name, "/filters"), { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow)];
12976                    case 1:
12977                        response = _a.sent();
12978                        return [2 /*return*/, response.body];
12979                    case 2:
12980                        response_1 = _a.sent();
12981                        throw response_1.body;
12982                    case 3: return [2 /*return*/];
12983                }
12984            });
12985        });
12986    };
12987    /**
12988     * Update the filters for the current visual according to the operation: Add, replace all, replace by target or remove.
12989     *
12990     * ```javascript
12991     * visual.updateFilters(FiltersOperations.Add, filters)
12992     *   .catch(errors => { ... });
12993     * ```
12994     *
12995     * @param {(IFilter[])} filters
12996     * @returns {Promise<IHttpPostMessageResponse<void>>}
12997     */
12998    VisualDescriptor.prototype.updateFilters = function (operation, filters) {
12999        return __awaiter(this, void 0, void 0, function () {
13000            var updateFiltersRequest, response_2;
13001            return __generator(this, function (_a) {
13002                switch (_a.label) {
13003                    case 0:
13004                        updateFiltersRequest = {
13005                            filtersOperation: operation,
13006                            filters: filters
13007                        };
13008                        _a.label = 1;
13009                    case 1:
13010                        _a.trys.push([1, 3, , 4]);
13011                        return [4 /*yield*/, this.page.report.service.hpm.post("/report/pages/".concat(this.page.name, "/visuals/").concat(this.name, "/filters"), updateFiltersRequest, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow)];
13012                    case 2: return [2 /*return*/, _a.sent()];
13013                    case 3:
13014                        response_2 = _a.sent();
13015                        throw response_2.body;
13016                    case 4: return [2 /*return*/];
13017                }
13018            });
13019        });
13020    };
13021    /**
13022     * Removes all filters from the current visual.
13023     *
13024     * ```javascript
13025     * visual.removeFilters();
13026     * ```
13027     *
13028     * @returns {Promise<IHttpPostMessageResponse<void>>}
13029     */
13030    VisualDescriptor.prototype.removeFilters = function () {
13031        return __awaiter(this, void 0, void 0, function () {
13032            return __generator(this, function (_a) {
13033                switch (_a.label) {
13034                    case 0: return [4 /*yield*/, this.updateFilters(powerbi_models_1.FiltersOperations.RemoveAll)];
13035                    case 1: return [2 /*return*/, _a.sent()];
13036                }
13037            });
13038        });
13039    };
13040    /**
13041     * Sets the filters on the current visual to 'filters'.
13042     *
13043     * ```javascript
13044     * visual.setFilters(filters);
13045     *   .catch(errors => { ... });
13046     * ```
13047     *
13048     * @param {(IFilter[])} filters
13049     * @returns {Promise<IHttpPostMessageResponse<void>>}
13050     */
13051    VisualDescriptor.prototype.setFilters = function (filters) {
13052        return __awaiter(this, void 0, void 0, function () {
13053            var response_3;
13054            return __generator(this, function (_a) {
13055                switch (_a.label) {
13056                    case 0:
13057                        _a.trys.push([0, 2, , 3]);
13058                        return [4 /*yield*/, this.page.report.service.hpm.put("/report/pages/".concat(this.page.name, "/visuals/").concat(this.name, "/filters"), filters, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow)];
13059                    case 1: return [2 /*return*/, _a.sent()];
13060                    case 2:
13061                        response_3 = _a.sent();
13062                        throw response_3.body;
13063                    case 3: return [2 /*return*/];
13064                }
13065            });
13066        });
13067    };
13068    /**
13069     * Exports Visual data.
13070     * Can export up to 30K rows.
13071     *
13072     * @param rows: Optional. Default value is 30K, maximum value is 30K as well.
13073     * @param exportDataType: Optional. Default is ExportDataType.Summarized.
13074     * ```javascript
13075     * visual.exportData()
13076     *  .then(data => { ... });
13077     * ```
13078     *
13079     * @returns {(Promise<IExportDataResult>)}
13080     */
13081    VisualDescriptor.prototype.exportData = function (exportDataType, rows) {
13082        return __awaiter(this, void 0, void 0, function () {
13083            var exportDataRequestBody, response, response_4;
13084            return __generator(this, function (_a) {
13085                switch (_a.label) {
13086                    case 0:
13087                        exportDataRequestBody = {
13088                            rows: rows,
13089                            exportDataType: exportDataType
13090                        };
13091                        _a.label = 1;
13092                    case 1:
13093                        _a.trys.push([1, 3, , 4]);
13094                        return [4 /*yield*/, this.page.report.service.hpm.post("/report/pages/".concat(this.page.name, "/visuals/").concat(this.name, "/exportData"), exportDataRequestBody, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow)];
13095                    case 2:
13096                        response = _a.sent();
13097                        return [2 /*return*/, response.body];
13098                    case 3:
13099                        response_4 = _a.sent();
13100                        throw response_4.body;
13101                    case 4: return [2 /*return*/];
13102                }
13103            });
13104        });
13105    };
13106    /**
13107     * Set slicer state.
13108     * Works only for visuals of type slicer.
13109     *
13110     * @param state: A new state which contains the slicer filters.
13111     * ```javascript
13112     * visual.setSlicerState()
13113     *  .then(() => { ... });
13114     * ```
13115     */
13116    VisualDescriptor.prototype.setSlicerState = function (state) {
13117        return __awaiter(this, void 0, void 0, function () {
13118            var response_5;
13119            return __generator(this, function (_a) {
13120                switch (_a.label) {
13121                    case 0:
13122                        _a.trys.push([0, 2, , 3]);
13123                        return [4 /*yield*/, this.page.report.service.hpm.put("/report/pages/".concat(this.page.name, "/visuals/").concat(this.name, "/slicer"), state, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow)];
13124                    case 1: return [2 /*return*/, _a.sent()];
13125                    case 2:
13126                        response_5 = _a.sent();
13127                        throw response_5.body;
13128                    case 3: return [2 /*return*/];
13129                }
13130            });
13131        });
13132    };
13133    /**
13134     * Get slicer state.
13135     * Works only for visuals of type slicer.
13136     *
13137     * ```javascript
13138     * visual.getSlicerState()
13139     *  .then(state => { ... });
13140     * ```
13141     *
13142     * @returns {(Promise<ISlicerState>)}
13143     */
13144    VisualDescriptor.prototype.getSlicerState = function () {
13145        return __awaiter(this, void 0, void 0, function () {
13146            var response, response_6;
13147            return __generator(this, function (_a) {
13148                switch (_a.label) {
13149                    case 0:
13150                        _a.trys.push([0, 2, , 3]);
13151                        return [4 /*yield*/, this.page.report.service.hpm.get("/report/pages/".concat(this.page.name, "/visuals/").concat(this.name, "/slicer"), { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow)];
13152                    case 1:
13153                        response = _a.sent();
13154                        return [2 /*return*/, response.body];
13155                    case 2:
13156                        response_6 = _a.sent();
13157                        throw response_6.body;
13158                    case 3: return [2 /*return*/];
13159                }
13160            });
13161        });
13162    };
13163    /**
13164     * Clone existing visual to a new instance.
13165     *
13166     * @returns {(Promise<ICloneVisualResponse>)}
13167     */
13168    VisualDescriptor.prototype.clone = function (request) {
13169        if (request === void 0) { request = {}; }
13170        return __awaiter(this, void 0, void 0, function () {
13171            var response, response_7;
13172            return __generator(this, function (_a) {
13173                switch (_a.label) {
13174                    case 0:
13175                        _a.trys.push([0, 2, , 3]);
13176                        return [4 /*yield*/, this.page.report.service.hpm.post("/report/pages/".concat(this.page.name, "/visuals/").concat(this.name, "/clone"), request, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow)];
13177                    case 1:
13178                        response = _a.sent();
13179                        return [2 /*return*/, response.body];
13180                    case 2:
13181                        response_7 = _a.sent();
13182                        throw response_7.body;
13183                    case 3: return [2 /*return*/];
13184                }
13185            });
13186        });
13187    };
13188    /**
13189     * Sort a visual by dataField and direction.
13190     *
13191     * @param request: Sort by visual request.
13192     *
13193     * ```javascript
13194     * visual.sortBy(request)
13195     *  .then(() => { ... });
13196     * ```
13197     */
13198    VisualDescriptor.prototype.sortBy = function (request) {
13199        return __awaiter(this, void 0, void 0, function () {
13200            var response_8;
13201            return __generator(this, function (_a) {
13202                switch (_a.label) {
13203                    case 0:
13204                        _a.trys.push([0, 2, , 3]);
13205                        return [4 /*yield*/, this.page.report.service.hpm.put("/report/pages/".concat(this.page.name, "/visuals/").concat(this.name, "/sortBy"), request, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow)];
13206                    case 1: return [2 /*return*/, _a.sent()];
13207                    case 2:
13208                        response_8 = _a.sent();
13209                        throw response_8.body;
13210                    case 3: return [2 /*return*/];
13211                }
13212            });
13213        });
13214    };
13215    /**
13216     * Updates the position of a visual.
13217     *
13218     * ```javascript
13219     * visual.moveVisual(x, y, z)
13220     *   .catch(error => { ... });
13221     * ```
13222     *
13223     * @param {number} x
13224     * @param {number} y
13225     * @param {number} z
13226     * @returns {Promise<IHttpPostMessageResponse<void>>}
13227     */
13228    VisualDescriptor.prototype.moveVisual = function (x, y, z) {
13229        return __awaiter(this, void 0, void 0, function () {
13230            var pageName, visualName, report;
13231            return __generator(this, function (_a) {
13232                pageName = this.page.name;
13233                visualName = this.name;
13234                report = this.page.report;
13235                return [2 /*return*/, report.moveVisual(pageName, visualName, x, y, z)];
13236            });
13237        });
13238    };
13239    /**
13240     * Updates the display state of a visual.
13241     *
13242     * ```javascript
13243     * visual.setVisualDisplayState(displayState)
13244     *   .catch(error => { ... });
13245     * ```
13246     *
13247     * @param {VisualContainerDisplayMode} displayState
13248     * @returns {Promise<IHttpPostMessageResponse<void>>}
13249     */
13250    VisualDescriptor.prototype.setVisualDisplayState = function (displayState) {
13251        return __awaiter(this, void 0, void 0, function () {
13252            var pageName, visualName, report;
13253            return __generator(this, function (_a) {
13254                pageName = this.page.name;
13255                visualName = this.name;
13256                report = this.page.report;
13257                return [2 /*return*/, report.setVisualDisplayState(pageName, visualName, displayState)];
13258            });
13259        });
13260    };
13261    /**
13262     * Resize a visual.
13263     *
13264     * ```javascript
13265     * visual.resizeVisual(width, height)
13266     *   .catch(error => { ... });
13267     * ```
13268     *
13269     * @param {number} width
13270     * @param {number} height
13271     * @returns {Promise<IHttpPostMessageResponse<void>>}
13272     */
13273    VisualDescriptor.prototype.resizeVisual = function (width, height) {
13274        return __awaiter(this, void 0, void 0, function () {
13275            var pageName, visualName, report;
13276            return __generator(this, function (_a) {
13277                pageName = this.page.name;
13278                visualName = this.name;
13279                report = this.page.report;
13280                return [2 /*return*/, report.resizeVisual(pageName, visualName, width, height)];
13281            });
13282        });
13283    };
13284    /**
13285     * Get insights for single visual
13286     *
13287     * ```javascript
13288     * visual.getSmartNarrativeInsights();
13289     * ```
13290     *
13291     * @returns {Promise<ISmartNarratives>}
13292     */
13293    VisualDescriptor.prototype.getSmartNarrativeInsights = function () {
13294        return __awaiter(this, void 0, void 0, function () {
13295            var response, response_9;
13296            return __generator(this, function (_a) {
13297                switch (_a.label) {
13298                    case 0:
13299                        _a.trys.push([0, 2, , 3]);
13300                        return [4 /*yield*/, this.page.report.service.hpm.get("/report/pages/".concat(this.page.name, "/visuals/").concat(this.name, "/smartNarrativeInsights"), { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow)];
13301                    case 1:
13302                        response = _a.sent();
13303                        return [2 /*return*/, response.body];
13304                    case 2:
13305                        response_9 = _a.sent();
13306                        throw response_9.body;
13307                    case 3: return [2 /*return*/];
13308                }
13309            });
13310        });
13311    };
13312    return VisualDescriptor;
13313}());
13314exports.VisualDescriptor = VisualDescriptor;
13315
13316
13317/***/ }),
13318
vendor: 5,411 bytes, lines 13319-13329
13319/***/ "./node_modules/window-post-message-proxy/dist/windowPostMessageProxy.js":
13320/*!*******************************************************************************!*\
13321  !*** ./node_modules/window-post-message-proxy/dist/windowPostMessageProxy.js ***!
13322  \*******************************************************************************/
13323/***/ ((module) => {
13324
13325/*! For license information please see windowPostMessageProxy.js.LICENSE.txt */
13326!function(e,r){ true?module.exports=r():0}(self,(()=>(()=>{"use strict";var e={};return(()=>{var r=e;Object.defineProperty(r,"__esModule",{value:!0}),r.WindowPostMessageProxy=void 0;var s=function(){function e(r){void 0===r&&(r={processTrackingProperties:{addTrackingProperties:e.defaultAddTrackingProperties,getTrackingProperties:e.defaultGetTrackingProperties},isErrorMessage:e.defaultIsErrorMessage,receiveWindow:window,name:e.createRandomString()});var s=this;this.pendingRequestPromises={},this.addTrackingProperties=r.processTrackingProperties&&r.processTrackingProperties.addTrackingProperties||e.defaultAddTrackingProperties,this.getTrackingProperties=r.processTrackingProperties&&r.processTrackingProperties.getTrackingProperties||e.defaultGetTrackingProperties,this.isErrorMessage=r.isErrorMessage||e.defaultIsErrorMessage,this.receiveWindow=r.receiveWindow||window,this.name=r.name||e.createRandomString(),this.logMessages=r.logMessages||!1,this.eventSourceOverrideWindow=r.eventSourceOverrideWindow,this.suppressWarnings=r.suppressWarnings||!1,this.logMessages&&console.log("new WindowPostMessageProxy created with name: ".concat(this.name," receiving on window: ").concat(this.receiveWindow.document.title)),this.handlers=[],this.windowMessageHandler=function(e){return s.onMessageReceived(e)},this.start()}return e.defaultAddTrackingProperties=function(r,s){return r[e.messagePropertyName]=s,r},e.defaultGetTrackingProperties=function(r){return r[e.messagePropertyName]},e.defaultIsErrorMessage=function(e){return!!e.error},e.createDeferred=function(){var e={resolve:null,reject:null,promise:null},r=new Promise((function(r,s){e.resolve=r,e.reject=s}));return e.promise=r,e},e.createRandomString=function(){var e=window.crypto||window.msCrypto,r=new Uint32Array(1);return e.getRandomValues(r),r[0].toString(36).substring(1)},e.prototype.addHandler=function(e){this.handlers.push(e)},e.prototype.removeHandler=function(e){var r=this.handlers.indexOf(e);if(-1===r)throw new Error("You attempted to remove a handler but no matching handler was found.");this.handlers.splice(r,1)},e.prototype.start=function(){this.receiveWindow.addEventListener("message",this.windowMessageHandler)},e.prototype.stop=function(){this.receiveWindow.removeEventListener("message",this.windowMessageHandler)},e.prototype.postMessage=function(r,s){var n={id:e.createRandomString()};this.addTrackingProperties(s,n),this.logMessages&&(console.log("".concat(this.name," Posting message:")),console.log(JSON.stringify(s,null,"  "))),r.postMessage(s,"*");var o=e.createDeferred();return this.pendingRequestPromises[n.id]=o,o.promise},e.prototype.sendResponse=function(e,r,s){this.addTrackingProperties(r,s),this.logMessages&&(console.log("".concat(this.name," Sending response:")),console.log(JSON.stringify(r,null,"  "))),e.postMessage(r,"*")},e.prototype.onMessageReceived=function(e){var r=this;this.logMessages&&(console.log("".concat(this.name," Received message:")),console.log("type: ".concat(e.type)),console.log(JSON.stringify(e.data,null,"  ")));var s=this.eventSourceOverrideWindow||e.source;if(s){var n=e.data;if("object"==typeof n){var o,t;try{o=this.getTrackingProperties(n)}catch(e){this.suppressWarnings||console.warn("Proxy(".concat(this.name,"): Error occurred when attempting to get tracking properties from incoming message:"),JSON.stringify(n,null,"  "),"Error: ",e)}if(o&&(t=this.pendingRequestPromises[o.id]),t){var i=!0;try{i=this.isErrorMessage(n)}catch(e){console.warn("Proxy(".concat(this.name,") Error occurred when trying to determine if message is consider an error response. Message: "),JSON.stringify(n,null,""),"Error: ",e)}i?t.reject(n):t.resolve(n),delete this.pendingRequestPromises[o.id]}else this.handlers.some((function(e){var t=!1;try{t=e.test(n)}catch(e){r.suppressWarnings||console.warn("Proxy(".concat(r.name,"): Error occurred when handler was testing incoming message:"),JSON.stringify(n,null,"  "),"Error: ",e)}if(t){var i=void 0;try{i=Promise.resolve(e.handle(n))}catch(e){r.suppressWarnings||console.warn("Proxy(".concat(r.name,"): Error occurred when handler was processing incoming message:"),JSON.stringify(n,null,"  "),"Error: ",e),i=Promise.resolve()}return i.then((function(e){if(!e){var t="Handler for message: ".concat(JSON.stringify(n,null,"  ")," did not return a response message. The default response message will be returned instead.");r.suppressWarnings||console.warn("Proxy(".concat(r.name,"): ").concat(t)),e={warning:t}}r.sendResponse(s,e,o)})),!0}}))||this.suppressWarnings||console.warn("Proxy(".concat(this.name,") did not handle message. Handlers: ").concat(this.handlers.length,"  Message: ").concat(JSON.stringify(n,null,""),"."))}else this.suppressWarnings||console.warn("Proxy(".concat(this.name,"): Received message that was not an object. Discarding message"))}},e.messagePropertyName="windowPostMessageProxy",e}();r.WindowPostMessageProxy=s})(),e})()));
13327//# sourceMappingURL=windowPostMessageProxy.js.map
13328
13329/***/ })
vendor: 5,111 bytes, lines 13329-13406
13329
13330
13331/******/ 	});
13332/************************************************************************/
13333/******/ 	// The module cache
13334/******/ 	var __webpack_module_cache__ = {};
13335/******/ 	
13336/******/ 	// The require function
13337/******/ 	function __webpack_require__(moduleId) {
13338/******/ 		// Check if module is in cache
13339/******/ 		var cachedModule = __webpack_module_cache__[moduleId];
13340/******/ 		if (cachedModule !== undefined) {
13341/******/ 			return cachedModule.exports;
13342/******/ 		}
13343/******/ 		// Create a new module (and put it into the cache)
13344/******/ 		var module = __webpack_module_cache__[moduleId] = {
13345/******/ 			// no module.id needed
13346/******/ 			// no module.loaded needed
13347/******/ 			exports: {}
13348/******/ 		};
13349/******/ 	
13350/******/ 		// Execute the module function
13351/******/ 		__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);
13352/******/ 	
13353/******/ 		// Return the exports of the module
13354/******/ 		return module.exports;
13355/******/ 	}
13356/******/ 	
13357/************************************************************************/
13358var __webpack_exports__ = {};
13359// This entry need to be wrapped in an IIFE because it uses a non-standard name for the exports (exports).
13360(() => {
13361var exports = __webpack_exports__;
13362/*!*******************************!*\
13363  !*** ./src/powerbi-client.ts ***!
13364  \*******************************/
13365// Copyright (c) Microsoft Corporation.
13366// Licensed under the MIT License.
13367Object.defineProperty(exports, "__esModule", ({ value: true }));
13368exports.RelativeTimeFilterBuilder = exports.RelativeDateFilterBuilder = exports.TopNFilterBuilder = exports.AdvancedFilterBuilder = exports.BasicFilterBuilder = exports.Create = exports.QuickCreate = exports.VisualDescriptor = exports.Visual = exports.Qna = exports.Page = exports.Embed = exports.Tile = exports.Dashboard = exports.Report = exports.models = exports.factories = exports.service = void 0;
13369/**
13370 * @hidden
13371 */
13372var models = __webpack_require__(/*! powerbi-models */ "./node_modules/powerbi-models/dist/models.js");
13373exports.models = models;
13374var service = __webpack_require__(/*! ./service */ "./src/service.ts");
13375exports.service = service;
13376var factories = __webpack_require__(/*! ./factories */ "./src/factories.ts");
13377exports.factories = factories;
13378var report_1 = __webpack_require__(/*! ./report */ "./src/report.ts");
13379Object.defineProperty(exports, "Report", ({ enumerable: true, get: function () { return report_1.Report; } }));
13380var dashboard_1 = __webpack_require__(/*! ./dashboard */ "./src/dashboard.ts");
13381Object.defineProperty(exports, "Dashboard", ({ enumerable: true, get: function () { return dashboard_1.Dashboard; } }));
13382var tile_1 = __webpack_require__(/*! ./tile */ "./src/tile.ts");
13383Object.defineProperty(exports, "Tile", ({ enumerable: true, get: function () { return tile_1.Tile; } }));
13384var embed_1 = __webpack_require__(/*! ./embed */ "./src/embed.ts");
13385Object.defineProperty(exports, "Embed", ({ enumerable: true, get: function () { return embed_1.Embed; } }));
13386var page_1 = __webpack_require__(/*! ./page */ "./src/page.ts");
13387Object.defineProperty(exports, "Page", ({ enumerable: true, get: function () { return page_1.Page; } }));
13388var qna_1 = __webpack_require__(/*! ./qna */ "./src/qna.ts");
13389Object.defineProperty(exports, "Qna", ({ enumerable: true, get: function () { return qna_1.Qna; } }));
13390var visual_1 = __webpack_require__(/*! ./visual */ "./src/visual.ts");
13391Object.defineProperty(exports, "Visual", ({ enumerable: true, get: function () { return visual_1.Visual; } }));
13392var visualDescriptor_1 = __webpack_require__(/*! ./visualDescriptor */ "./src/visualDescriptor.ts");
13393Object.defineProperty(exports, "VisualDescriptor", ({ enumerable: true, get: function () { return visualDescriptor_1.VisualDescriptor; } }));
13394var quickCreate_1 = __webpack_require__(/*! ./quickCreate */ "./src/quickCreate.ts");
13395Object.defineProperty(exports, "QuickCreate", ({ enumerable: true, get: function () { return quickCreate_1.QuickCreate; } }));
13396var create_1 = __webpack_require__(/*! ./create */ "./src/create.ts");
13397Object.defineProperty(exports, "Create", ({ enumerable: true, get: function () { return create_1.Create; } }));
13398var FilterBuilders_1 = __webpack_require__(/*! ./FilterBuilders */ "./src/FilterBuilders/index.ts");
13399Object.defineProperty(exports, "BasicFilterBuilder", ({ enumerable: true, get: function () { return FilterBuilders_1.BasicFilterBuilder; } }));
13400Object.defineProperty(exports, "AdvancedFilterBuilder", ({ enumerable: true, get: function () { return FilterBuilders_1.AdvancedFilterBuilder; } }));
13401Object.defineProperty(exports, "TopNFilterBuilder", ({ enumerable: true, get: function () { return FilterBuilders_1.TopNFilterBuilder; } }));
13402Object.defineProperty(exports, "RelativeDateFilterBuilder", ({ enumerable: true, get: function () { return FilterBuilders_1.RelativeDateFilterBuilder; } }));
13403Object.defineProperty(exports, "RelativeTimeFilterBuilder", ({ enumerable: true, get: function () { return FilterBuilders_1.RelativeTimeFilterBuilder; } }));
13404/**
13405 * Makes Power BI available to the global object for use in applications that don't have module loading support.
13406 *
13407 * Note: create an instance of the class with the default configuration for normal usage, or save the class so that you can create an instance of the service.
13408 */
13409var powerbi = new service.Service(factories.hpmFactory, factories.wpmpFactory, factories.routerFactory);
13410// powerBI SDK may use Power BI object under different key, in order to avoid name collisions
13411if (window.powerbi && window.powerBISDKGlobalServiceInstanceName) {
13412    window[window.powerBISDKGlobalServiceInstanceName] = powerbi;
13413}
13414else {
13415    // Default to Power BI.
13416    window.powerbi = powerbi;
13417}
13418
13419})();
13420
13421/******/ 	return __webpack_exports__;
13422/******/ })()
13423;
13424});
13425//# sourceMappingURL=powerbi.js.map

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.