{"version":3,"sources":["node_modules/@ngx-translate/core/fesm2020/ngx-translate-core.mjs","node_modules/@vendasta/partner/fesm2020/vendasta-partner.mjs","libs/partner/src/lib/feature-flag.service.ts","libs/partner/src/lib/constants.ts","libs/partner/src/lib/subscription-tiers.service.ts","libs/partner/src/lib/partner-subscription.service.ts","libs/partner/src/lib/addon.service.ts","libs/partner/src/lib/interfaces.ts","libs/partner/src/lib/partner.service.ts","libs/partner/src/lib/partner-sales.service.ts","libs/partner/src/lib/whitelabel.service.ts","libs/partner/src/lib/branding-v2.service.ts","libs/partner/src/lib/canny.service.ts","libs/partner/src/lib/partner-health.service.ts","libs/partner/src/lib/partner-trial.service.ts","libs/partner/src/lib/user-onboarding.service.ts","libs/partner/src/lib/rewards.service.ts","libs/partner/src/lib/partner-account-group.service.ts","libs/partner/src/lib/welcome-email.service.ts","libs/lexicon/src/lib/constants.ts","node_modules/@angular/localize/fesm2022/localize.mjs","node_modules/@angular/localize/fesm2022/init.mjs","node_modules/@vendasta/lexicon/fesm2020/vendasta-lexicon.mjs","libs/lexicon/src/lib/converters.ts","libs/lexicon/src/lib/merge.ts","libs/lexicon/src/lib/lexicon.loader.ts","libs/lexicon/src/lib/lexicon.missing-translation-handler.ts","libs/lexicon/src/lib/lexicon.module.ts"],"sourcesContent":["import * as i0 from '@angular/core';\nimport { Injectable, EventEmitter, InjectionToken, Inject, Directive, Input, Pipe, NgModule } from '@angular/core';\nimport { of, isObservable, forkJoin, concat, defer } from 'rxjs';\nimport { take, shareReplay, map, concatMap, switchMap } from 'rxjs/operators';\nclass TranslateLoader {}\n/**\r\n * This loader is just a placeholder that does nothing, in case you don't need a loader at all\r\n */\nlet TranslateFakeLoader = /*#__PURE__*/(() => {\n class TranslateFakeLoader extends TranslateLoader {\n getTranslation(lang) {\n return of({});\n }\n }\n TranslateFakeLoader.ɵfac = /* @__PURE__ */(() => {\n let ɵTranslateFakeLoader_BaseFactory;\n return function TranslateFakeLoader_Factory(t) {\n return (ɵTranslateFakeLoader_BaseFactory || (ɵTranslateFakeLoader_BaseFactory = i0.ɵɵgetInheritedFactory(TranslateFakeLoader)))(t || TranslateFakeLoader);\n };\n })();\n TranslateFakeLoader.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: TranslateFakeLoader,\n factory: TranslateFakeLoader.ɵfac\n });\n return TranslateFakeLoader;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nclass MissingTranslationHandler {}\n/**\r\n * This handler is just a placeholder that does nothing, in case you don't need a missing translation handler at all\r\n */\nlet FakeMissingTranslationHandler = /*#__PURE__*/(() => {\n class FakeMissingTranslationHandler {\n handle(params) {\n return params.key;\n }\n }\n FakeMissingTranslationHandler.ɵfac = function FakeMissingTranslationHandler_Factory(t) {\n return new (t || FakeMissingTranslationHandler)();\n };\n FakeMissingTranslationHandler.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: FakeMissingTranslationHandler,\n factory: FakeMissingTranslationHandler.ɵfac\n });\n return FakeMissingTranslationHandler;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/* tslint:disable */\n/**\r\n * Determines if two objects or two values are equivalent.\r\n *\r\n * Two objects or values are considered equivalent if at least one of the following is true:\r\n *\r\n * * Both objects or values pass `===` comparison.\r\n * * Both objects or values are of the same type and all of their properties are equal by\r\n * comparing them with `equals`.\r\n *\r\n * @param o1 Object or value to compare.\r\n * @param o2 Object or value to compare.\r\n * @returns true if arguments are equal.\r\n */\nfunction equals(o1, o2) {\n if (o1 === o2) return true;\n if (o1 === null || o2 === null) return false;\n if (o1 !== o1 && o2 !== o2) return true; // NaN === NaN\n let t1 = typeof o1,\n t2 = typeof o2,\n length,\n key,\n keySet;\n if (t1 == t2 && t1 == 'object') {\n if (Array.isArray(o1)) {\n if (!Array.isArray(o2)) return false;\n if ((length = o1.length) == o2.length) {\n for (key = 0; key < length; key++) {\n if (!equals(o1[key], o2[key])) return false;\n }\n return true;\n }\n } else {\n if (Array.isArray(o2)) {\n return false;\n }\n keySet = Object.create(null);\n for (key in o1) {\n if (!equals(o1[key], o2[key])) {\n return false;\n }\n keySet[key] = true;\n }\n for (key in o2) {\n if (!(key in keySet) && typeof o2[key] !== 'undefined') {\n return false;\n }\n }\n return true;\n }\n }\n return false;\n}\n/* tslint:enable */\nfunction isDefined(value) {\n return typeof value !== 'undefined' && value !== null;\n}\nfunction isObject(item) {\n return item && typeof item === 'object' && !Array.isArray(item);\n}\nfunction mergeDeep(target, source) {\n let output = Object.assign({}, target);\n if (isObject(target) && isObject(source)) {\n Object.keys(source).forEach(key => {\n if (isObject(source[key])) {\n if (!(key in target)) {\n Object.assign(output, {\n [key]: source[key]\n });\n } else {\n output[key] = mergeDeep(target[key], source[key]);\n }\n } else {\n Object.assign(output, {\n [key]: source[key]\n });\n }\n });\n }\n return output;\n}\nclass TranslateParser {}\nlet TranslateDefaultParser = /*#__PURE__*/(() => {\n class TranslateDefaultParser extends TranslateParser {\n constructor() {\n super(...arguments);\n this.templateMatcher = /{{\\s?([^{}\\s]*)\\s?}}/g;\n }\n interpolate(expr, params) {\n let result;\n if (typeof expr === 'string') {\n result = this.interpolateString(expr, params);\n } else if (typeof expr === 'function') {\n result = this.interpolateFunction(expr, params);\n } else {\n // this should not happen, but an unrelated TranslateService test depends on it\n result = expr;\n }\n return result;\n }\n getValue(target, key) {\n let keys = typeof key === 'string' ? key.split('.') : [key];\n key = '';\n do {\n key += keys.shift();\n if (isDefined(target) && isDefined(target[key]) && (typeof target[key] === 'object' || !keys.length)) {\n target = target[key];\n key = '';\n } else if (!keys.length) {\n target = undefined;\n } else {\n key += '.';\n }\n } while (keys.length);\n return target;\n }\n interpolateFunction(fn, params) {\n return fn(params);\n }\n interpolateString(expr, params) {\n if (!params) {\n return expr;\n }\n return expr.replace(this.templateMatcher, (substring, b) => {\n let r = this.getValue(params, b);\n return isDefined(r) ? r : substring;\n });\n }\n }\n TranslateDefaultParser.ɵfac = /* @__PURE__ */(() => {\n let ɵTranslateDefaultParser_BaseFactory;\n return function TranslateDefaultParser_Factory(t) {\n return (ɵTranslateDefaultParser_BaseFactory || (ɵTranslateDefaultParser_BaseFactory = i0.ɵɵgetInheritedFactory(TranslateDefaultParser)))(t || TranslateDefaultParser);\n };\n })();\n TranslateDefaultParser.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: TranslateDefaultParser,\n factory: TranslateDefaultParser.ɵfac\n });\n return TranslateDefaultParser;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nclass TranslateCompiler {}\n/**\r\n * This compiler is just a placeholder that does nothing, in case you don't need a compiler at all\r\n */\nlet TranslateFakeCompiler = /*#__PURE__*/(() => {\n class TranslateFakeCompiler extends TranslateCompiler {\n compile(value, lang) {\n return value;\n }\n compileTranslations(translations, lang) {\n return translations;\n }\n }\n TranslateFakeCompiler.ɵfac = /* @__PURE__ */(() => {\n let ɵTranslateFakeCompiler_BaseFactory;\n return function TranslateFakeCompiler_Factory(t) {\n return (ɵTranslateFakeCompiler_BaseFactory || (ɵTranslateFakeCompiler_BaseFactory = i0.ɵɵgetInheritedFactory(TranslateFakeCompiler)))(t || TranslateFakeCompiler);\n };\n })();\n TranslateFakeCompiler.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: TranslateFakeCompiler,\n factory: TranslateFakeCompiler.ɵfac\n });\n return TranslateFakeCompiler;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nclass TranslateStore {\n constructor() {\n /**\r\n * The lang currently used\r\n */\n this.currentLang = this.defaultLang;\n /**\r\n * a list of translations per lang\r\n */\n this.translations = {};\n /**\r\n * an array of langs\r\n */\n this.langs = [];\n /**\r\n * An EventEmitter to listen to translation change events\r\n * onTranslationChange.subscribe((params: TranslationChangeEvent) => {\r\n * // do something\r\n * });\r\n */\n this.onTranslationChange = new EventEmitter();\n /**\r\n * An EventEmitter to listen to lang change events\r\n * onLangChange.subscribe((params: LangChangeEvent) => {\r\n * // do something\r\n * });\r\n */\n this.onLangChange = new EventEmitter();\n /**\r\n * An EventEmitter to listen to default lang change events\r\n * onDefaultLangChange.subscribe((params: DefaultLangChangeEvent) => {\r\n * // do something\r\n * });\r\n */\n this.onDefaultLangChange = new EventEmitter();\n }\n}\nconst USE_STORE = new InjectionToken('USE_STORE');\nconst USE_DEFAULT_LANG = new InjectionToken('USE_DEFAULT_LANG');\nconst DEFAULT_LANGUAGE = new InjectionToken('DEFAULT_LANGUAGE');\nconst USE_EXTEND = new InjectionToken('USE_EXTEND');\nlet TranslateService = /*#__PURE__*/(() => {\n class TranslateService {\n /**\r\n *\r\n * @param store an instance of the store (that is supposed to be unique)\r\n * @param currentLoader An instance of the loader currently used\r\n * @param compiler An instance of the compiler currently used\r\n * @param parser An instance of the parser currently used\r\n * @param missingTranslationHandler A handler for missing translations.\r\n * @param useDefaultLang whether we should use default language translation when current language translation is missing.\r\n * @param isolate whether this service should use the store or not\r\n * @param extend To make a child module extend (and use) translations from parent modules.\r\n * @param defaultLanguage Set the default language using configuration\r\n */\n constructor(store, currentLoader, compiler, parser, missingTranslationHandler, useDefaultLang = true, isolate = false, extend = false, defaultLanguage) {\n this.store = store;\n this.currentLoader = currentLoader;\n this.compiler = compiler;\n this.parser = parser;\n this.missingTranslationHandler = missingTranslationHandler;\n this.useDefaultLang = useDefaultLang;\n this.isolate = isolate;\n this.extend = extend;\n this.pending = false;\n this._onTranslationChange = new EventEmitter();\n this._onLangChange = new EventEmitter();\n this._onDefaultLangChange = new EventEmitter();\n this._langs = [];\n this._translations = {};\n this._translationRequests = {};\n /** set the default language from configuration */\n if (defaultLanguage) {\n this.setDefaultLang(defaultLanguage);\n }\n }\n /**\r\n * An EventEmitter to listen to translation change events\r\n * onTranslationChange.subscribe((params: TranslationChangeEvent) => {\r\n * // do something\r\n * });\r\n */\n get onTranslationChange() {\n return this.isolate ? this._onTranslationChange : this.store.onTranslationChange;\n }\n /**\r\n * An EventEmitter to listen to lang change events\r\n * onLangChange.subscribe((params: LangChangeEvent) => {\r\n * // do something\r\n * });\r\n */\n get onLangChange() {\n return this.isolate ? this._onLangChange : this.store.onLangChange;\n }\n /**\r\n * An EventEmitter to listen to default lang change events\r\n * onDefaultLangChange.subscribe((params: DefaultLangChangeEvent) => {\r\n * // do something\r\n * });\r\n */\n get onDefaultLangChange() {\n return this.isolate ? this._onDefaultLangChange : this.store.onDefaultLangChange;\n }\n /**\r\n * The default lang to fallback when translations are missing on the current lang\r\n */\n get defaultLang() {\n return this.isolate ? this._defaultLang : this.store.defaultLang;\n }\n set defaultLang(defaultLang) {\n if (this.isolate) {\n this._defaultLang = defaultLang;\n } else {\n this.store.defaultLang = defaultLang;\n }\n }\n /**\r\n * The lang currently used\r\n */\n get currentLang() {\n return this.isolate ? this._currentLang : this.store.currentLang;\n }\n set currentLang(currentLang) {\n if (this.isolate) {\n this._currentLang = currentLang;\n } else {\n this.store.currentLang = currentLang;\n }\n }\n /**\r\n * an array of langs\r\n */\n get langs() {\n return this.isolate ? this._langs : this.store.langs;\n }\n set langs(langs) {\n if (this.isolate) {\n this._langs = langs;\n } else {\n this.store.langs = langs;\n }\n }\n /**\r\n * a list of translations per lang\r\n */\n get translations() {\n return this.isolate ? this._translations : this.store.translations;\n }\n set translations(translations) {\n if (this.isolate) {\n this._translations = translations;\n } else {\n this.store.translations = translations;\n }\n }\n /**\r\n * Sets the default language to use as a fallback\r\n */\n setDefaultLang(lang) {\n if (lang === this.defaultLang) {\n return;\n }\n let pending = this.retrieveTranslations(lang);\n if (typeof pending !== \"undefined\") {\n // on init set the defaultLang immediately\n if (this.defaultLang == null) {\n this.defaultLang = lang;\n }\n pending.pipe(take(1)).subscribe(res => {\n this.changeDefaultLang(lang);\n });\n } else {\n // we already have this language\n this.changeDefaultLang(lang);\n }\n }\n /**\r\n * Gets the default language used\r\n */\n getDefaultLang() {\n return this.defaultLang;\n }\n /**\r\n * Changes the lang currently used\r\n */\n use(lang) {\n // don't change the language if the language given is already selected\n if (lang === this.currentLang) {\n return of(this.translations[lang]);\n }\n let pending = this.retrieveTranslations(lang);\n if (typeof pending !== \"undefined\") {\n // on init set the currentLang immediately\n if (!this.currentLang) {\n this.currentLang = lang;\n }\n pending.pipe(take(1)).subscribe(res => {\n this.changeLang(lang);\n });\n return pending;\n } else {\n // we have this language, return an Observable\n this.changeLang(lang);\n return of(this.translations[lang]);\n }\n }\n /**\r\n * Retrieves the given translations\r\n */\n retrieveTranslations(lang) {\n let pending;\n // if this language is unavailable or extend is true, ask for it\n if (typeof this.translations[lang] === \"undefined\" || this.extend) {\n this._translationRequests[lang] = this._translationRequests[lang] || this.getTranslation(lang);\n pending = this._translationRequests[lang];\n }\n return pending;\n }\n /**\r\n * Gets an object of translations for a given language with the current loader\r\n * and passes it through the compiler\r\n */\n getTranslation(lang) {\n this.pending = true;\n const loadingTranslations = this.currentLoader.getTranslation(lang).pipe(shareReplay(1), take(1));\n this.loadingTranslations = loadingTranslations.pipe(map(res => this.compiler.compileTranslations(res, lang)), shareReplay(1), take(1));\n this.loadingTranslations.subscribe({\n next: res => {\n this.translations[lang] = this.extend && this.translations[lang] ? {\n ...res,\n ...this.translations[lang]\n } : res;\n this.updateLangs();\n this.pending = false;\n },\n error: err => {\n this.pending = false;\n }\n });\n return loadingTranslations;\n }\n /**\r\n * Manually sets an object of translations for a given language\r\n * after passing it through the compiler\r\n */\n setTranslation(lang, translations, shouldMerge = false) {\n translations = this.compiler.compileTranslations(translations, lang);\n if ((shouldMerge || this.extend) && this.translations[lang]) {\n this.translations[lang] = mergeDeep(this.translations[lang], translations);\n } else {\n this.translations[lang] = translations;\n }\n this.updateLangs();\n this.onTranslationChange.emit({\n lang: lang,\n translations: this.translations[lang]\n });\n }\n /**\r\n * Returns an array of currently available langs\r\n */\n getLangs() {\n return this.langs;\n }\n /**\r\n * Add available langs\r\n */\n addLangs(langs) {\n langs.forEach(lang => {\n if (this.langs.indexOf(lang) === -1) {\n this.langs.push(lang);\n }\n });\n }\n /**\r\n * Update the list of available langs\r\n */\n updateLangs() {\n this.addLangs(Object.keys(this.translations));\n }\n /**\r\n * Returns the parsed result of the translations\r\n */\n getParsedResult(translations, key, interpolateParams) {\n let res;\n if (key instanceof Array) {\n let result = {},\n observables = false;\n for (let k of key) {\n result[k] = this.getParsedResult(translations, k, interpolateParams);\n if (isObservable(result[k])) {\n observables = true;\n }\n }\n if (observables) {\n const sources = key.map(k => isObservable(result[k]) ? result[k] : of(result[k]));\n return forkJoin(sources).pipe(map(arr => {\n let obj = {};\n arr.forEach((value, index) => {\n obj[key[index]] = value;\n });\n return obj;\n }));\n }\n return result;\n }\n if (translations) {\n res = this.parser.interpolate(this.parser.getValue(translations, key), interpolateParams);\n }\n if (typeof res === \"undefined\" && this.defaultLang != null && this.defaultLang !== this.currentLang && this.useDefaultLang) {\n res = this.parser.interpolate(this.parser.getValue(this.translations[this.defaultLang], key), interpolateParams);\n }\n if (typeof res === \"undefined\") {\n let params = {\n key,\n translateService: this\n };\n if (typeof interpolateParams !== 'undefined') {\n params.interpolateParams = interpolateParams;\n }\n res = this.missingTranslationHandler.handle(params);\n }\n return typeof res !== \"undefined\" ? res : key;\n }\n /**\r\n * Gets the translated value of a key (or an array of keys)\r\n * @returns the translated key, or an object of translated keys\r\n */\n get(key, interpolateParams) {\n if (!isDefined(key) || !key.length) {\n throw new Error(`Parameter \"key\" required`);\n }\n // check if we are loading a new translation to use\n if (this.pending) {\n return this.loadingTranslations.pipe(concatMap(res => {\n res = this.getParsedResult(res, key, interpolateParams);\n return isObservable(res) ? res : of(res);\n }));\n } else {\n let res = this.getParsedResult(this.translations[this.currentLang], key, interpolateParams);\n return isObservable(res) ? res : of(res);\n }\n }\n /**\r\n * Returns a stream of translated values of a key (or an array of keys) which updates\r\n * whenever the translation changes.\r\n * @returns A stream of the translated key, or an object of translated keys\r\n */\n getStreamOnTranslationChange(key, interpolateParams) {\n if (!isDefined(key) || !key.length) {\n throw new Error(`Parameter \"key\" required`);\n }\n return concat(defer(() => this.get(key, interpolateParams)), this.onTranslationChange.pipe(switchMap(event => {\n const res = this.getParsedResult(event.translations, key, interpolateParams);\n if (typeof res.subscribe === 'function') {\n return res;\n } else {\n return of(res);\n }\n })));\n }\n /**\r\n * Returns a stream of translated values of a key (or an array of keys) which updates\r\n * whenever the language changes.\r\n * @returns A stream of the translated key, or an object of translated keys\r\n */\n stream(key, interpolateParams) {\n if (!isDefined(key) || !key.length) {\n throw new Error(`Parameter \"key\" required`);\n }\n return concat(defer(() => this.get(key, interpolateParams)), this.onLangChange.pipe(switchMap(event => {\n const res = this.getParsedResult(event.translations, key, interpolateParams);\n return isObservable(res) ? res : of(res);\n })));\n }\n /**\r\n * Returns a translation instantly from the internal state of loaded translation.\r\n * All rules regarding the current language, the preferred language of even fallback languages will be used except any promise handling.\r\n */\n instant(key, interpolateParams) {\n if (!isDefined(key) || !key.length) {\n throw new Error(`Parameter \"key\" required`);\n }\n let res = this.getParsedResult(this.translations[this.currentLang], key, interpolateParams);\n if (isObservable(res)) {\n if (key instanceof Array) {\n let obj = {};\n key.forEach((value, index) => {\n obj[key[index]] = key[index];\n });\n return obj;\n }\n return key;\n } else {\n return res;\n }\n }\n /**\r\n * Sets the translated value of a key, after compiling it\r\n */\n set(key, value, lang = this.currentLang) {\n this.translations[lang][key] = this.compiler.compile(value, lang);\n this.updateLangs();\n this.onTranslationChange.emit({\n lang: lang,\n translations: this.translations[lang]\n });\n }\n /**\r\n * Changes the current lang\r\n */\n changeLang(lang) {\n this.currentLang = lang;\n this.onLangChange.emit({\n lang: lang,\n translations: this.translations[lang]\n });\n // if there is no default lang, use the one that we just set\n if (this.defaultLang == null) {\n this.changeDefaultLang(lang);\n }\n }\n /**\r\n * Changes the default lang\r\n */\n changeDefaultLang(lang) {\n this.defaultLang = lang;\n this.onDefaultLangChange.emit({\n lang: lang,\n translations: this.translations[lang]\n });\n }\n /**\r\n * Allows to reload the lang file from the file\r\n */\n reloadLang(lang) {\n this.resetLang(lang);\n return this.getTranslation(lang);\n }\n /**\r\n * Deletes inner translation\r\n */\n resetLang(lang) {\n this._translationRequests[lang] = undefined;\n this.translations[lang] = undefined;\n }\n /**\r\n * Returns the language code name from the browser, e.g. \"de\"\r\n */\n getBrowserLang() {\n if (typeof window === 'undefined' || typeof window.navigator === 'undefined') {\n return undefined;\n }\n let browserLang = window.navigator.languages ? window.navigator.languages[0] : null;\n browserLang = browserLang || window.navigator.language || window.navigator.browserLanguage || window.navigator.userLanguage;\n if (typeof browserLang === 'undefined') {\n return undefined;\n }\n if (browserLang.indexOf('-') !== -1) {\n browserLang = browserLang.split('-')[0];\n }\n if (browserLang.indexOf('_') !== -1) {\n browserLang = browserLang.split('_')[0];\n }\n return browserLang;\n }\n /**\r\n * Returns the culture language code name from the browser, e.g. \"de-DE\"\r\n */\n getBrowserCultureLang() {\n if (typeof window === 'undefined' || typeof window.navigator === 'undefined') {\n return undefined;\n }\n let browserCultureLang = window.navigator.languages ? window.navigator.languages[0] : null;\n browserCultureLang = browserCultureLang || window.navigator.language || window.navigator.browserLanguage || window.navigator.userLanguage;\n return browserCultureLang;\n }\n }\n TranslateService.ɵfac = function TranslateService_Factory(t) {\n return new (t || TranslateService)(i0.ɵɵinject(TranslateStore), i0.ɵɵinject(TranslateLoader), i0.ɵɵinject(TranslateCompiler), i0.ɵɵinject(TranslateParser), i0.ɵɵinject(MissingTranslationHandler), i0.ɵɵinject(USE_DEFAULT_LANG), i0.ɵɵinject(USE_STORE), i0.ɵɵinject(USE_EXTEND), i0.ɵɵinject(DEFAULT_LANGUAGE));\n };\n TranslateService.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: TranslateService,\n factory: TranslateService.ɵfac\n });\n return TranslateService;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet TranslateDirective = /*#__PURE__*/(() => {\n class TranslateDirective {\n constructor(translateService, element, _ref) {\n this.translateService = translateService;\n this.element = element;\n this._ref = _ref;\n // subscribe to onTranslationChange event, in case the translations of the current lang change\n if (!this.onTranslationChangeSub) {\n this.onTranslationChangeSub = this.translateService.onTranslationChange.subscribe(event => {\n if (event.lang === this.translateService.currentLang) {\n this.checkNodes(true, event.translations);\n }\n });\n }\n // subscribe to onLangChange event, in case the language changes\n if (!this.onLangChangeSub) {\n this.onLangChangeSub = this.translateService.onLangChange.subscribe(event => {\n this.checkNodes(true, event.translations);\n });\n }\n // subscribe to onDefaultLangChange event, in case the default language changes\n if (!this.onDefaultLangChangeSub) {\n this.onDefaultLangChangeSub = this.translateService.onDefaultLangChange.subscribe(event => {\n this.checkNodes(true);\n });\n }\n }\n set translate(key) {\n if (key) {\n this.key = key;\n this.checkNodes();\n }\n }\n set translateParams(params) {\n if (!equals(this.currentParams, params)) {\n this.currentParams = params;\n this.checkNodes(true);\n }\n }\n ngAfterViewChecked() {\n this.checkNodes();\n }\n checkNodes(forceUpdate = false, translations) {\n let nodes = this.element.nativeElement.childNodes;\n // if the element is empty\n if (!nodes.length) {\n // we add the key as content\n this.setContent(this.element.nativeElement, this.key);\n nodes = this.element.nativeElement.childNodes;\n }\n for (let i = 0; i < nodes.length; ++i) {\n let node = nodes[i];\n if (node.nodeType === 3) {\n // node type 3 is a text node\n let key;\n if (forceUpdate) {\n node.lastKey = null;\n }\n if (isDefined(node.lookupKey)) {\n key = node.lookupKey;\n } else if (this.key) {\n key = this.key;\n } else {\n let content = this.getContent(node);\n let trimmedContent = content.trim();\n if (trimmedContent.length) {\n node.lookupKey = trimmedContent;\n // we want to use the content as a key, not the translation value\n if (content !== node.currentValue) {\n key = trimmedContent;\n // the content was changed from the user, we'll use it as a reference if needed\n node.originalContent = content || node.originalContent;\n } else if (node.originalContent) {\n // the content seems ok, but the lang has changed\n // the current content is the translation, not the key, use the last real content as key\n key = node.originalContent.trim();\n } else if (content !== node.currentValue) {\n // we want to use the content as a key, not the translation value\n key = trimmedContent;\n // the content was changed from the user, we'll use it as a reference if needed\n node.originalContent = content || node.originalContent;\n }\n }\n }\n this.updateValue(key, node, translations);\n }\n }\n }\n updateValue(key, node, translations) {\n if (key) {\n if (node.lastKey === key && this.lastParams === this.currentParams) {\n return;\n }\n this.lastParams = this.currentParams;\n let onTranslation = res => {\n if (res !== key) {\n node.lastKey = key;\n }\n if (!node.originalContent) {\n node.originalContent = this.getContent(node);\n }\n node.currentValue = isDefined(res) ? res : node.originalContent || key;\n // we replace in the original content to preserve spaces that we might have trimmed\n this.setContent(node, this.key ? node.currentValue : node.originalContent.replace(key, node.currentValue));\n this._ref.markForCheck();\n };\n if (isDefined(translations)) {\n let res = this.translateService.getParsedResult(translations, key, this.currentParams);\n if (isObservable(res)) {\n res.subscribe({\n next: onTranslation\n });\n } else {\n onTranslation(res);\n }\n } else {\n this.translateService.get(key, this.currentParams).subscribe(onTranslation);\n }\n }\n }\n getContent(node) {\n return isDefined(node.textContent) ? node.textContent : node.data;\n }\n setContent(node, content) {\n if (isDefined(node.textContent)) {\n node.textContent = content;\n } else {\n node.data = content;\n }\n }\n ngOnDestroy() {\n if (this.onLangChangeSub) {\n this.onLangChangeSub.unsubscribe();\n }\n if (this.onDefaultLangChangeSub) {\n this.onDefaultLangChangeSub.unsubscribe();\n }\n if (this.onTranslationChangeSub) {\n this.onTranslationChangeSub.unsubscribe();\n }\n }\n }\n TranslateDirective.ɵfac = function TranslateDirective_Factory(t) {\n return new (t || TranslateDirective)(i0.ɵɵdirectiveInject(TranslateService), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef));\n };\n TranslateDirective.ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: TranslateDirective,\n selectors: [[\"\", \"translate\", \"\"], [\"\", \"ngx-translate\", \"\"]],\n inputs: {\n translate: \"translate\",\n translateParams: \"translateParams\"\n }\n });\n return TranslateDirective;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet TranslatePipe = /*#__PURE__*/(() => {\n class TranslatePipe {\n constructor(translate, _ref) {\n this.translate = translate;\n this._ref = _ref;\n this.value = '';\n this.lastKey = null;\n this.lastParams = [];\n }\n updateValue(key, interpolateParams, translations) {\n let onTranslation = res => {\n this.value = res !== undefined ? res : key;\n this.lastKey = key;\n this._ref.markForCheck();\n };\n if (translations) {\n let res = this.translate.getParsedResult(translations, key, interpolateParams);\n if (isObservable(res.subscribe)) {\n res.subscribe(onTranslation);\n } else {\n onTranslation(res);\n }\n }\n this.translate.get(key, interpolateParams).subscribe(onTranslation);\n }\n transform(query, ...args) {\n if (!query || !query.length) {\n return query;\n }\n // if we ask another time for the same key, return the last value\n if (equals(query, this.lastKey) && equals(args, this.lastParams)) {\n return this.value;\n }\n let interpolateParams = undefined;\n if (isDefined(args[0]) && args.length) {\n if (typeof args[0] === 'string' && args[0].length) {\n // we accept objects written in the template such as {n:1}, {'n':1}, {n:'v'}\n // which is why we might need to change it to real JSON objects such as {\"n\":1} or {\"n\":\"v\"}\n let validArgs = args[0].replace(/(\\')?([a-zA-Z0-9_]+)(\\')?(\\s)?:/g, '\"$2\":').replace(/:(\\s)?(\\')(.*?)(\\')/g, ':\"$3\"');\n try {\n interpolateParams = JSON.parse(validArgs);\n } catch (e) {\n throw new SyntaxError(`Wrong parameter in TranslatePipe. Expected a valid Object, received: ${args[0]}`);\n }\n } else if (typeof args[0] === 'object' && !Array.isArray(args[0])) {\n interpolateParams = args[0];\n }\n }\n // store the query, in case it changes\n this.lastKey = query;\n // store the params, in case they change\n this.lastParams = args;\n // set the value\n this.updateValue(query, interpolateParams);\n // if there is a subscription to onLangChange, clean it\n this._dispose();\n // subscribe to onTranslationChange event, in case the translations change\n if (!this.onTranslationChange) {\n this.onTranslationChange = this.translate.onTranslationChange.subscribe(event => {\n if (this.lastKey && event.lang === this.translate.currentLang) {\n this.lastKey = null;\n this.updateValue(query, interpolateParams, event.translations);\n }\n });\n }\n // subscribe to onLangChange event, in case the language changes\n if (!this.onLangChange) {\n this.onLangChange = this.translate.onLangChange.subscribe(event => {\n if (this.lastKey) {\n this.lastKey = null; // we want to make sure it doesn't return the same value until it's been updated\n this.updateValue(query, interpolateParams, event.translations);\n }\n });\n }\n // subscribe to onDefaultLangChange event, in case the default language changes\n if (!this.onDefaultLangChange) {\n this.onDefaultLangChange = this.translate.onDefaultLangChange.subscribe(() => {\n if (this.lastKey) {\n this.lastKey = null; // we want to make sure it doesn't return the same value until it's been updated\n this.updateValue(query, interpolateParams);\n }\n });\n }\n return this.value;\n }\n /**\r\n * Clean any existing subscription to change events\r\n */\n _dispose() {\n if (typeof this.onTranslationChange !== 'undefined') {\n this.onTranslationChange.unsubscribe();\n this.onTranslationChange = undefined;\n }\n if (typeof this.onLangChange !== 'undefined') {\n this.onLangChange.unsubscribe();\n this.onLangChange = undefined;\n }\n if (typeof this.onDefaultLangChange !== 'undefined') {\n this.onDefaultLangChange.unsubscribe();\n this.onDefaultLangChange = undefined;\n }\n }\n ngOnDestroy() {\n this._dispose();\n }\n }\n TranslatePipe.ɵfac = function TranslatePipe_Factory(t) {\n return new (t || TranslatePipe)(i0.ɵɵdirectiveInject(TranslateService, 16), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef, 16));\n };\n TranslatePipe.ɵpipe = /* @__PURE__ */i0.ɵɵdefinePipe({\n name: \"translate\",\n type: TranslatePipe,\n pure: false\n });\n TranslatePipe.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: TranslatePipe,\n factory: TranslatePipe.ɵfac\n });\n return TranslatePipe;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet TranslateModule = /*#__PURE__*/(() => {\n class TranslateModule {\n /**\r\n * Use this method in your root module to provide the TranslateService\r\n */\n static forRoot(config = {}) {\n return {\n ngModule: TranslateModule,\n providers: [config.loader || {\n provide: TranslateLoader,\n useClass: TranslateFakeLoader\n }, config.compiler || {\n provide: TranslateCompiler,\n useClass: TranslateFakeCompiler\n }, config.parser || {\n provide: TranslateParser,\n useClass: TranslateDefaultParser\n }, config.missingTranslationHandler || {\n provide: MissingTranslationHandler,\n useClass: FakeMissingTranslationHandler\n }, TranslateStore, {\n provide: USE_STORE,\n useValue: config.isolate\n }, {\n provide: USE_DEFAULT_LANG,\n useValue: config.useDefaultLang\n }, {\n provide: USE_EXTEND,\n useValue: config.extend\n }, {\n provide: DEFAULT_LANGUAGE,\n useValue: config.defaultLanguage\n }, TranslateService]\n };\n }\n /**\r\n * Use this method in your other (non root) modules to import the directive/pipe\r\n */\n static forChild(config = {}) {\n return {\n ngModule: TranslateModule,\n providers: [config.loader || {\n provide: TranslateLoader,\n useClass: TranslateFakeLoader\n }, config.compiler || {\n provide: TranslateCompiler,\n useClass: TranslateFakeCompiler\n }, config.parser || {\n provide: TranslateParser,\n useClass: TranslateDefaultParser\n }, config.missingTranslationHandler || {\n provide: MissingTranslationHandler,\n useClass: FakeMissingTranslationHandler\n }, {\n provide: USE_STORE,\n useValue: config.isolate\n }, {\n provide: USE_DEFAULT_LANG,\n useValue: config.useDefaultLang\n }, {\n provide: USE_EXTEND,\n useValue: config.extend\n }, {\n provide: DEFAULT_LANGUAGE,\n useValue: config.defaultLanguage\n }, TranslateService]\n };\n }\n }\n TranslateModule.ɵfac = function TranslateModule_Factory(t) {\n return new (t || TranslateModule)();\n };\n TranslateModule.ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n type: TranslateModule\n });\n TranslateModule.ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({});\n return TranslateModule;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\r\n * Generated bundle index. Do not edit.\r\n */\n\nexport { DEFAULT_LANGUAGE, FakeMissingTranslationHandler, MissingTranslationHandler, TranslateCompiler, TranslateDefaultParser, TranslateDirective, TranslateFakeCompiler, TranslateFakeLoader, TranslateLoader, TranslateModule, TranslateParser, TranslatePipe, TranslateService, TranslateStore, USE_DEFAULT_LANG, USE_EXTEND, USE_STORE };","import * as i0 from '@angular/core';\nimport { Injectable } from '@angular/core';\nimport * as i1 from '@angular/common/http';\nimport { HttpHeaders } from '@angular/common/http';\nimport { map } from 'rxjs/operators';\n\n// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\nvar SubscriptionLevel = /*#__PURE__*/function (SubscriptionLevel) {\n SubscriptionLevel[SubscriptionLevel[\"SUBSCRIPTION_LEVEL_BASIC\"] = 0] = \"SUBSCRIPTION_LEVEL_BASIC\";\n SubscriptionLevel[SubscriptionLevel[\"SUBSCRIPTION_LEVEL_PROFESSIONAL\"] = 1] = \"SUBSCRIPTION_LEVEL_PROFESSIONAL\";\n SubscriptionLevel[SubscriptionLevel[\"SUBSCRIPTION_LEVEL_ENTERPRISE\"] = 2] = \"SUBSCRIPTION_LEVEL_ENTERPRISE\";\n SubscriptionLevel[SubscriptionLevel[\"SUBSCRIPTION_LEVEL_LITE\"] = 3] = \"SUBSCRIPTION_LEVEL_LITE\";\n SubscriptionLevel[SubscriptionLevel[\"SUBSCRIPTION_LEVEL_PREMIUM\"] = 4] = \"SUBSCRIPTION_LEVEL_PREMIUM\";\n SubscriptionLevel[SubscriptionLevel[\"SUBSCRIPTION_LEVEL_ELITE\"] = 5] = \"SUBSCRIPTION_LEVEL_ELITE\";\n SubscriptionLevel[SubscriptionLevel[\"SUBSCRIPTION_LEVEL_FREE\"] = 6] = \"SUBSCRIPTION_LEVEL_FREE\";\n SubscriptionLevel[SubscriptionLevel[\"SUBSCRIPTION_LEVEL_STARTER\"] = 7] = \"SUBSCRIPTION_LEVEL_STARTER\";\n SubscriptionLevel[SubscriptionLevel[\"SUBSCRIPTION_LEVEL_BASIC_PLUS\"] = 8] = \"SUBSCRIPTION_LEVEL_BASIC_PLUS\";\n SubscriptionLevel[SubscriptionLevel[\"SUBSCRIPTION_LEVEL_PROFESSIONAL_PLUS\"] = 9] = \"SUBSCRIPTION_LEVEL_PROFESSIONAL_PLUS\";\n SubscriptionLevel[SubscriptionLevel[\"SUBSCRIPTION_LEVEL_ENTERPRISE_PLUS\"] = 10] = \"SUBSCRIPTION_LEVEL_ENTERPRISE_PLUS\";\n SubscriptionLevel[SubscriptionLevel[\"SUBSCRIPTION_LEVEL_REPLACED_BY_SUBSCRIPTION_TIERS\"] = 11] = \"SUBSCRIPTION_LEVEL_REPLACED_BY_SUBSCRIPTION_TIERS\";\n SubscriptionLevel[SubscriptionLevel[\"SUBSCRIPTION_LEVEL_ENTERPRISE_PLUS_PILOT\"] = 12] = \"SUBSCRIPTION_LEVEL_ENTERPRISE_PLUS_PILOT\";\n return SubscriptionLevel;\n}(SubscriptionLevel || {});\n// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\nvar AddonActivationStatus = /*#__PURE__*/function (AddonActivationStatus) {\n AddonActivationStatus[AddonActivationStatus[\"ADDON_ACTIVATION_STATUS_PENDING\"] = 0] = \"ADDON_ACTIVATION_STATUS_PENDING\";\n AddonActivationStatus[AddonActivationStatus[\"ADDON_ACTIVATION_STATUS_FAILURE\"] = 1] = \"ADDON_ACTIVATION_STATUS_FAILURE\";\n AddonActivationStatus[AddonActivationStatus[\"ADDON_ACTIVATION_STATUS_SUCCESS\"] = 2] = \"ADDON_ACTIVATION_STATUS_SUCCESS\";\n return AddonActivationStatus;\n}(AddonActivationStatus || {});\n// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\nvar PartnerType = /*#__PURE__*/function (PartnerType) {\n PartnerType[PartnerType[\"PARTNER_TYPE_UNSPECIFIED\"] = 0] = \"PARTNER_TYPE_UNSPECIFIED\";\n PartnerType[PartnerType[\"PARTNER_TYPE_AGENCY\"] = 1] = \"PARTNER_TYPE_AGENCY\";\n PartnerType[PartnerType[\"PARTNER_TYPE_ENTERPRISE\"] = 2] = \"PARTNER_TYPE_ENTERPRISE\";\n return PartnerType;\n}(PartnerType || {});\n// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\nvar Action = /*#__PURE__*/function (Action) {\n Action[Action[\"ACTION_UNSPECIFIED\"] = 0] = \"ACTION_UNSPECIFIED\";\n Action[Action[\"ACTION_CREATE_SNAPSHOT_REPORT\"] = 1] = \"ACTION_CREATE_SNAPSHOT_REPORT\";\n Action[Action[\"ACTION_CREATE_SNAPSHOT_REPORT_BULK\"] = 2] = \"ACTION_CREATE_SNAPSHOT_REPORT_BULK\";\n Action[Action[\"ACTION_ACTIVATE_RM\"] = 3] = \"ACTION_ACTIVATE_RM\";\n Action[Action[\"ACTION_ACTIVATE_DEMO_RM\"] = 4] = \"ACTION_ACTIVATE_DEMO_RM\";\n Action[Action[\"ACTION_ACTIVATE_SM\"] = 5] = \"ACTION_ACTIVATE_SM\";\n Action[Action[\"ACTION_ACTIVATE_MS\"] = 6] = \"ACTION_ACTIVATE_MS\";\n Action[Action[\"ACTION_CONVERT_DEMO_RM\"] = 7] = \"ACTION_CONVERT_DEMO_RM\";\n Action[Action[\"ACTION_ACTIVATE_MARKETPLACE_PRODUCT\"] = 8] = \"ACTION_ACTIVATE_MARKETPLACE_PRODUCT\";\n Action[Action[\"ACTION_REFRESH_SNAPSHOT_REPORT\"] = 9] = \"ACTION_REFRESH_SNAPSHOT_REPORT\";\n Action[Action[\"ACTION_ACTIVATE_LISTING_DISTRIBUTION\"] = 10] = \"ACTION_ACTIVATE_LISTING_DISTRIBUTION\";\n Action[Action[\"ACTION_ACTIVATE_LISTING_SYNC_PRO\"] = 11] = \"ACTION_ACTIVATE_LISTING_SYNC_PRO\";\n Action[Action[\"ACTION_ACTIVATE_CUSTOM_PRODUCT\"] = 12] = \"ACTION_ACTIVATE_CUSTOM_PRODUCT\";\n Action[Action[\"ACTION_ACCESS_SNAPSHOT_WIDGET\"] = 13] = \"ACTION_ACCESS_SNAPSHOT_WIDGET\";\n Action[Action[\"ACTION_ACTIVATE_ADDON\"] = 14] = \"ACTION_ACTIVATE_ADDON\";\n return Action;\n}(Action || {});\nvar BillingFrequency = /*#__PURE__*/function (BillingFrequency) {\n BillingFrequency[BillingFrequency[\"BILLING_FREQUENCY_INVALID\"] = 0] = \"BILLING_FREQUENCY_INVALID\";\n BillingFrequency[BillingFrequency[\"BILLING_FREQUENCY_MONTHLY\"] = 1] = \"BILLING_FREQUENCY_MONTHLY\";\n BillingFrequency[BillingFrequency[\"BILLING_FREQUENCY_YEARLY\"] = 2] = \"BILLING_FREQUENCY_YEARLY\";\n return BillingFrequency;\n}(BillingFrequency || {});\nvar SubscriptionTierUpdateType = /*#__PURE__*/function (SubscriptionTierUpdateType) {\n SubscriptionTierUpdateType[SubscriptionTierUpdateType[\"SUBSCRIPTION_TIER_UPDATE_TYPE_INVALID\"] = 0] = \"SUBSCRIPTION_TIER_UPDATE_TYPE_INVALID\";\n SubscriptionTierUpdateType[SubscriptionTierUpdateType[\"SUBSCRIPTION_TIER_UPDATE_TYPE_FREE_TO_PAID\"] = 1] = \"SUBSCRIPTION_TIER_UPDATE_TYPE_FREE_TO_PAID\";\n SubscriptionTierUpdateType[SubscriptionTierUpdateType[\"SUBSCRIPTION_TIER_UPDATE_TYPE_SWITCH_FREE_TRIAL\"] = 2] = \"SUBSCRIPTION_TIER_UPDATE_TYPE_SWITCH_FREE_TRIAL\";\n SubscriptionTierUpdateType[SubscriptionTierUpdateType[\"SUBSCRIPTION_TIER_UPDATE_TYPE_CANCEL_FREE_TRIAL\"] = 3] = \"SUBSCRIPTION_TIER_UPDATE_TYPE_CANCEL_FREE_TRIAL\";\n SubscriptionTierUpdateType[SubscriptionTierUpdateType[\"SUBSCRIPTION_TIER_UPDATE_TYPE_CANCEL_FREE_TRIAL_FAILED_PAYMENT\"] = 4] = \"SUBSCRIPTION_TIER_UPDATE_TYPE_CANCEL_FREE_TRIAL_FAILED_PAYMENT\";\n SubscriptionTierUpdateType[SubscriptionTierUpdateType[\"SUBSCRIPTION_TIER_UPDATE_TYPE_FREE_TO_FREE_TRIAL\"] = 5] = \"SUBSCRIPTION_TIER_UPDATE_TYPE_FREE_TO_FREE_TRIAL\";\n SubscriptionTierUpdateType[SubscriptionTierUpdateType[\"SUBSCRIPTION_TIER_UPDATE_TYPE_PAID_TO_PAID\"] = 6] = \"SUBSCRIPTION_TIER_UPDATE_TYPE_PAID_TO_PAID\";\n return SubscriptionTierUpdateType;\n}(SubscriptionTierUpdateType || {});\nvar UpdateSubscriptionTierStatus = /*#__PURE__*/function (UpdateSubscriptionTierStatus) {\n UpdateSubscriptionTierStatus[UpdateSubscriptionTierStatus[\"UPDATE_SUBSCRIPTION_TIER_STATUS_INVALID\"] = 0] = \"UPDATE_SUBSCRIPTION_TIER_STATUS_INVALID\";\n UpdateSubscriptionTierStatus[UpdateSubscriptionTierStatus[\"UPDATE_SUBSCRIPTION_TIER_STATUS_UNSET\"] = 1] = \"UPDATE_SUBSCRIPTION_TIER_STATUS_UNSET\";\n UpdateSubscriptionTierStatus[UpdateSubscriptionTierStatus[\"UPDATE_SUBSCRIPTION_TIER_STATUS_PROCESSING\"] = 2] = \"UPDATE_SUBSCRIPTION_TIER_STATUS_PROCESSING\";\n UpdateSubscriptionTierStatus[UpdateSubscriptionTierStatus[\"UPDATE_SUBSCRIPTION_TIER_STATUS_SUCCESS\"] = 3] = \"UPDATE_SUBSCRIPTION_TIER_STATUS_SUCCESS\";\n UpdateSubscriptionTierStatus[UpdateSubscriptionTierStatus[\"UPDATE_SUBSCRIPTION_TIER_STATUS_FAILURE\"] = 4] = \"UPDATE_SUBSCRIPTION_TIER_STATUS_FAILURE\";\n return UpdateSubscriptionTierStatus;\n}(UpdateSubscriptionTierStatus || {});\n// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\nvar AccessLevel = /*#__PURE__*/function (AccessLevel) {\n AccessLevel[AccessLevel[\"ACCESS_LEVEL_ALPHA\"] = 0] = \"ACCESS_LEVEL_ALPHA\";\n AccessLevel[AccessLevel[\"ACCESS_LEVEL_BETA\"] = 1] = \"ACCESS_LEVEL_BETA\";\n AccessLevel[AccessLevel[\"ACCESS_LEVEL_ALL\"] = 2] = \"ACCESS_LEVEL_ALL\";\n AccessLevel[AccessLevel[\"ACCESS_LEVEL_EXPERIMENT\"] = 3] = \"ACCESS_LEVEL_EXPERIMENT\";\n return AccessLevel;\n}(AccessLevel || {});\nvar Expiration = /*#__PURE__*/function (Expiration) {\n Expiration[Expiration[\"EXPIRATION_INVALID\"] = 0] = \"EXPIRATION_INVALID\";\n Expiration[Expiration[\"EXPIRATION_UNSET\"] = 1] = \"EXPIRATION_UNSET\";\n Expiration[Expiration[\"EXPIRATION_TWO_WEEKS\"] = 2] = \"EXPIRATION_TWO_WEEKS\";\n Expiration[Expiration[\"EXPIRATION_FOUR_WEEKS\"] = 3] = \"EXPIRATION_FOUR_WEEKS\";\n Expiration[Expiration[\"EXPIRATION_TWELVE_WEEKS\"] = 4] = \"EXPIRATION_TWELVE_WEEKS\";\n Expiration[Expiration[\"EXPIRATION_TWENTY_FOUR_WEEKS\"] = 5] = \"EXPIRATION_TWENTY_FOUR_WEEKS\";\n Expiration[Expiration[\"EXPIRATION_ONE_MINUTE\"] = 6] = \"EXPIRATION_ONE_MINUTE\";\n return Expiration;\n}(Expiration || {});\n// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\nvar ReportAccessIDType = /*#__PURE__*/function (ReportAccessIDType) {\n ReportAccessIDType[ReportAccessIDType[\"REPORT_ACCESS_ID_TYPE_UNSET\"] = 0] = \"REPORT_ACCESS_ID_TYPE_UNSET\";\n ReportAccessIDType[ReportAccessIDType[\"REPORT_ACCESS_ID_TYPE_REPORT\"] = 1] = \"REPORT_ACCESS_ID_TYPE_REPORT\";\n ReportAccessIDType[ReportAccessIDType[\"REPORT_ACCESS_ID_TYPE_REPORT_CATEGORY\"] = 2] = \"REPORT_ACCESS_ID_TYPE_REPORT_CATEGORY\";\n return ReportAccessIDType;\n}(ReportAccessIDType || {});\nvar ReportAccessScope = /*#__PURE__*/function (ReportAccessScope) {\n ReportAccessScope[ReportAccessScope[\"REPORT_ACCESS_SCOPE_UNSET\"] = 0] = \"REPORT_ACCESS_SCOPE_UNSET\";\n ReportAccessScope[ReportAccessScope[\"REPORT_ACCESS_SCOPE_NO_ACCESS\"] = 1] = \"REPORT_ACCESS_SCOPE_NO_ACCESS\";\n ReportAccessScope[ReportAccessScope[\"REPORT_ACCESS_SCOPE_VIEW\"] = 2] = \"REPORT_ACCESS_SCOPE_VIEW\";\n ReportAccessScope[ReportAccessScope[\"REPORT_ACCESS_SCOPE_EDIT\"] = 3] = \"REPORT_ACCESS_SCOPE_EDIT\";\n return ReportAccessScope;\n}(ReportAccessScope || {});\n// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\nvar PartnerHealthState = /*#__PURE__*/function (PartnerHealthState) {\n PartnerHealthState[PartnerHealthState[\"PARTNER_HEALTH_STATE_HEALTHY\"] = 0] = \"PARTNER_HEALTH_STATE_HEALTHY\";\n PartnerHealthState[PartnerHealthState[\"PARTNER_HEALTH_STATE_AT_RISK\"] = 1] = \"PARTNER_HEALTH_STATE_AT_RISK\";\n PartnerHealthState[PartnerHealthState[\"PARTNER_HEALTH_STATE_RESTRICTED\"] = 2] = \"PARTNER_HEALTH_STATE_RESTRICTED\";\n return PartnerHealthState;\n}(PartnerHealthState || {});\nvar PartnerHealthSubState = /*#__PURE__*/function (PartnerHealthSubState) {\n PartnerHealthSubState[PartnerHealthSubState[\"PARTNER_HEALTH_SUB_STATE_UNSPECIFIED\"] = 0] = \"PARTNER_HEALTH_SUB_STATE_UNSPECIFIED\";\n PartnerHealthSubState[PartnerHealthSubState[\"PARTNER_HEALTH_SUB_STATE_ACTIVE\"] = 1] = \"PARTNER_HEALTH_SUB_STATE_ACTIVE\";\n PartnerHealthSubState[PartnerHealthSubState[\"PARTNER_HEALTH_SUB_STATE_SUBSCRIPTION_OVERDUE\"] = 2] = \"PARTNER_HEALTH_SUB_STATE_SUBSCRIPTION_OVERDUE\";\n PartnerHealthSubState[PartnerHealthSubState[\"PARTNER_HEALTH_SUB_STATE_SUBSCRIPTION_SUSPENDED\"] = 3] = \"PARTNER_HEALTH_SUB_STATE_SUBSCRIPTION_SUSPENDED\";\n PartnerHealthSubState[PartnerHealthSubState[\"PARTNER_HEALTH_SUB_STATE_PAYMENT_PLAN\"] = 4] = \"PARTNER_HEALTH_SUB_STATE_PAYMENT_PLAN\";\n return PartnerHealthSubState;\n}(PartnerHealthSubState || {});\n// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\nvar PartnerOrigin = /*#__PURE__*/function (PartnerOrigin) {\n PartnerOrigin[PartnerOrigin[\"PARTNER_ORIGIN_INVALID\"] = 0] = \"PARTNER_ORIGIN_INVALID\";\n PartnerOrigin[PartnerOrigin[\"PARTNER_ORIGIN_UNSET\"] = 1] = \"PARTNER_ORIGIN_UNSET\";\n PartnerOrigin[PartnerOrigin[\"PARTNER_ORIGIN_INTERNAL\"] = 2] = \"PARTNER_ORIGIN_INTERNAL\";\n PartnerOrigin[PartnerOrigin[\"PARTNER_ORIGIN_SELF_SIGN_UP\"] = 3] = \"PARTNER_ORIGIN_SELF_SIGN_UP\";\n return PartnerOrigin;\n}(PartnerOrigin || {});\nvar GetSignUpAddPaymentCardResultResponseStatus = /*#__PURE__*/function (GetSignUpAddPaymentCardResultResponseStatus) {\n GetSignUpAddPaymentCardResultResponseStatus[GetSignUpAddPaymentCardResultResponseStatus[\"GET_SIGN_UP_ADD_PAYMENT_CARD_RESULT_RESPONSE_STATUS_INVALID\"] = 0] = \"GET_SIGN_UP_ADD_PAYMENT_CARD_RESULT_RESPONSE_STATUS_INVALID\";\n GetSignUpAddPaymentCardResultResponseStatus[GetSignUpAddPaymentCardResultResponseStatus[\"GET_SIGN_UP_ADD_PAYMENT_CARD_RESULT_RESPONSE_STATUS_OK\"] = 1] = \"GET_SIGN_UP_ADD_PAYMENT_CARD_RESULT_RESPONSE_STATUS_OK\";\n GetSignUpAddPaymentCardResultResponseStatus[GetSignUpAddPaymentCardResultResponseStatus[\"GET_SIGN_UP_ADD_PAYMENT_CARD_RESULT_RESPONSE_STATUS_HAS_ERROR\"] = 2] = \"GET_SIGN_UP_ADD_PAYMENT_CARD_RESULT_RESPONSE_STATUS_HAS_ERROR\";\n return GetSignUpAddPaymentCardResultResponseStatus;\n}(GetSignUpAddPaymentCardResultResponseStatus || {});\nvar Status = /*#__PURE__*/function (Status) {\n Status[Status[\"STATUS_INVALID\"] = 0] = \"STATUS_INVALID\";\n Status[Status[\"STATUS_IN_PROGRESS\"] = 1] = \"STATUS_IN_PROGRESS\";\n Status[Status[\"STATUS_COMPLETE\"] = 2] = \"STATUS_COMPLETE\";\n Status[Status[\"STATUS_ERROR\"] = 3] = \"STATUS_ERROR\";\n return Status;\n}(Status || {});\nvar SupportFlag = /*#__PURE__*/function (SupportFlag) {\n SupportFlag[SupportFlag[\"SUPPORT_FLAG_INVALID\"] = 0] = \"SUPPORT_FLAG_INVALID\";\n SupportFlag[SupportFlag[\"SUPPORT_FLAG_UNSET\"] = 1] = \"SUPPORT_FLAG_UNSET\";\n SupportFlag[SupportFlag[\"SUPPORT_FLAG_TRUE\"] = 2] = \"SUPPORT_FLAG_TRUE\";\n SupportFlag[SupportFlag[\"SUPPORT_FLAG_FALSE\"] = 3] = \"SUPPORT_FLAG_FALSE\";\n return SupportFlag;\n}(SupportFlag || {});\n// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\nvar RewardStatus = /*#__PURE__*/function (RewardStatus) {\n RewardStatus[RewardStatus[\"REWARD_STATUS_INVALID\"] = 0] = \"REWARD_STATUS_INVALID\";\n RewardStatus[RewardStatus[\"REWARD_STATUS_UNSET\"] = 1] = \"REWARD_STATUS_UNSET\";\n RewardStatus[RewardStatus[\"REWARD_STATUS_INELIGIBLE\"] = 2] = \"REWARD_STATUS_INELIGIBLE\";\n RewardStatus[RewardStatus[\"REWARD_STATUS_ELIGIBLE\"] = 3] = \"REWARD_STATUS_ELIGIBLE\";\n RewardStatus[RewardStatus[\"REWARD_STATUS_PROCESSING_CLAIM\"] = 4] = \"REWARD_STATUS_PROCESSING_CLAIM\";\n RewardStatus[RewardStatus[\"REWARD_STATUS_CLAIMED\"] = 5] = \"REWARD_STATUS_CLAIMED\";\n return RewardStatus;\n}(RewardStatus || {});\n// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\nvar SubscriptionFailure = /*#__PURE__*/function (SubscriptionFailure) {\n SubscriptionFailure[SubscriptionFailure[\"SUBSCRIPTION_FAILURE_NONE\"] = 0] = \"SUBSCRIPTION_FAILURE_NONE\";\n SubscriptionFailure[SubscriptionFailure[\"SUBSCRIPTION_FAILURE_OVERDUE\"] = 1] = \"SUBSCRIPTION_FAILURE_OVERDUE\";\n return SubscriptionFailure;\n}(SubscriptionFailure || {});\n// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\nvar SalesSetting = /*#__PURE__*/function (SalesSetting) {\n SalesSetting[SalesSetting[\"SALES_SETTING_INVALID\"] = 0] = \"SALES_SETTING_INVALID\";\n SalesSetting[SalesSetting[\"SALES_SETTING_ENABLED\"] = 1] = \"SALES_SETTING_ENABLED\";\n SalesSetting[SalesSetting[\"SALES_SETTING_DISABLED\"] = 2] = \"SALES_SETTING_DISABLED\";\n SalesSetting[SalesSetting[\"SALES_SETTING_UNSET\"] = 3] = \"SALES_SETTING_UNSET\";\n return SalesSetting;\n}(SalesSetting || {});\n// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\nvar EditUserProfileLocation = /*#__PURE__*/function (EditUserProfileLocation) {\n EditUserProfileLocation[EditUserProfileLocation[\"EDIT_USER_PROFILE_LOCATION_UNSPECIFIED\"] = 0] = \"EDIT_USER_PROFILE_LOCATION_UNSPECIFIED\";\n EditUserProfileLocation[EditUserProfileLocation[\"EDIT_USER_PROFILE_LOCATION_IN_APP\"] = 1] = \"EDIT_USER_PROFILE_LOCATION_IN_APP\";\n EditUserProfileLocation[EditUserProfileLocation[\"EDIT_USER_PROFILE_LOCATION_CUSTOM\"] = 2] = \"EDIT_USER_PROFILE_LOCATION_CUSTOM\";\n EditUserProfileLocation[EditUserProfileLocation[\"EDIT_USER_PROFILE_LOCATION_NONE\"] = 3] = \"EDIT_USER_PROFILE_LOCATION_NONE\";\n return EditUserProfileLocation;\n}(EditUserProfileLocation || {});\nvar TimeRange = /*#__PURE__*/function (TimeRange) {\n TimeRange[TimeRange[\"TIME_RANGE_SEVEN_DAYS\"] = 0] = \"TIME_RANGE_SEVEN_DAYS\";\n TimeRange[TimeRange[\"TIME_RANGE_THIRTY_DAYS\"] = 1] = \"TIME_RANGE_THIRTY_DAYS\";\n TimeRange[TimeRange[\"TIME_RANGE_NINETY_DAYS\"] = 2] = \"TIME_RANGE_NINETY_DAYS\";\n TimeRange[TimeRange[\"TIME_RANGE_SIX_MONTHS\"] = 3] = \"TIME_RANGE_SIX_MONTHS\";\n TimeRange[TimeRange[\"TIME_RANGE_TWELVE_MONTHS\"] = 4] = \"TIME_RANGE_TWELVE_MONTHS\";\n TimeRange[TimeRange[\"TIME_RANGE_UNSPECIFIED\"] = 5] = \"TIME_RANGE_UNSPECIFIED\";\n return TimeRange;\n}(TimeRange || {});\n// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\nvar TaskStatus = /*#__PURE__*/function (TaskStatus) {\n TaskStatus[TaskStatus[\"TASK_STATUS_INVALID\"] = 0] = \"TASK_STATUS_INVALID\";\n TaskStatus[TaskStatus[\"TASK_STATUS_UNSET\"] = 1] = \"TASK_STATUS_UNSET\";\n TaskStatus[TaskStatus[\"TASK_STATUS_INCOMPLETE\"] = 2] = \"TASK_STATUS_INCOMPLETE\";\n TaskStatus[TaskStatus[\"TASK_STATUS_COMPLETE\"] = 3] = \"TASK_STATUS_COMPLETE\";\n return TaskStatus;\n}(TaskStatus || {});\nvar Usage = /*#__PURE__*/function (Usage) {\n Usage[Usage[\"USAGE_INVALID\"] = 0] = \"USAGE_INVALID\";\n Usage[Usage[\"USAGE_REQUIRED\"] = 1] = \"USAGE_REQUIRED\";\n Usage[Usage[\"USAGE_OPTIONAL\"] = 2] = \"USAGE_OPTIONAL\";\n Usage[Usage[\"USAGE_DISABLED\"] = 3] = \"USAGE_DISABLED\";\n return Usage;\n}(Usage || {});\n// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\nvar Field = /*#__PURE__*/function (Field) {\n Field[Field[\"FIELD_INVALID\"] = 0] = \"FIELD_INVALID\";\n Field[Field[\"FIELD_LOGO_URL\"] = 1] = \"FIELD_LOGO_URL\";\n Field[Field[\"FIELD_FAVICON_URL\"] = 2] = \"FIELD_FAVICON_URL\";\n Field[Field[\"FIELD_SHORTCUT_ICON_URL\"] = 3] = \"FIELD_SHORTCUT_ICON_URL\";\n Field[Field[\"FIELD_UI_THEME\"] = 4] = \"FIELD_UI_THEME\";\n Field[Field[\"FIELD_PRIMARY_COLOR\"] = 5] = \"FIELD_PRIMARY_COLOR\";\n Field[Field[\"FIELD_NAME\"] = 6] = \"FIELD_NAME\";\n return Field;\n}(Field || {});\nvar UITheme = /*#__PURE__*/function (UITheme) {\n UITheme[UITheme[\"UI_THEME_INVALID\"] = 0] = \"UI_THEME_INVALID\";\n UITheme[UITheme[\"UI_THEME_DARK\"] = 1] = \"UI_THEME_DARK\";\n UITheme[UITheme[\"UI_THEME_LIGHT\"] = 2] = \"UI_THEME_LIGHT\";\n return UITheme;\n}(UITheme || {});\n// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\nvar NavigationItemBadge = /*#__PURE__*/function (NavigationItemBadge) {\n NavigationItemBadge[NavigationItemBadge[\"NAVIGATION_ITEM_BADGE_NONE\"] = 0] = \"NAVIGATION_ITEM_BADGE_NONE\";\n NavigationItemBadge[NavigationItemBadge[\"NAVIGATION_ITEM_BADGE_NEW\"] = 1] = \"NAVIGATION_ITEM_BADGE_NEW\";\n NavigationItemBadge[NavigationItemBadge[\"NAVIGATION_ITEM_BADGE_BETA\"] = 2] = \"NAVIGATION_ITEM_BADGE_BETA\";\n return NavigationItemBadge;\n}(NavigationItemBadge || {});\n// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\nvar SegmentedOnboardingConfiguration = /*#__PURE__*/function (SegmentedOnboardingConfiguration) {\n SegmentedOnboardingConfiguration[SegmentedOnboardingConfiguration[\"SEGMENTED_ONBOARDING_UNSET\"] = 0] = \"SEGMENTED_ONBOARDING_UNSET\";\n SegmentedOnboardingConfiguration[SegmentedOnboardingConfiguration[\"SEGMENTED_ONBOARDING_OPTIONAL\"] = 1] = \"SEGMENTED_ONBOARDING_OPTIONAL\";\n SegmentedOnboardingConfiguration[SegmentedOnboardingConfiguration[\"SEGMENTED_ONBOARDING_REQUIRED\"] = 2] = \"SEGMENTED_ONBOARDING_REQUIRED\";\n SegmentedOnboardingConfiguration[SegmentedOnboardingConfiguration[\"SEGMENTED_ONBOARDING_DISABLED\"] = 3] = \"SEGMENTED_ONBOARDING_DISABLED\";\n return SegmentedOnboardingConfiguration;\n}(SegmentedOnboardingConfiguration || {});\nvar BrandingUITheme = /*#__PURE__*/function (BrandingUITheme) {\n BrandingUITheme[BrandingUITheme[\"Dark\"] = 0] = \"Dark\";\n BrandingUITheme[BrandingUITheme[\"Light\"] = 1] = \"Light\";\n return BrandingUITheme;\n}(BrandingUITheme || {});\n// *********************************\n\nfunction enumStringToValue$p(enumRef, value) {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\nclass Access {\n static fromProto(proto) {\n let m = new Access();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.scope !== 'undefined') {\n toReturn['scope'] = this.scope;\n }\n if (typeof this.public !== 'undefined') {\n toReturn['public'] = this.public;\n }\n return toReturn;\n }\n}\nfunction enumStringToValue$o(enumRef, value) {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\nclass FieldMask {\n static fromProto(proto) {\n let m = new FieldMask();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.paths !== 'undefined') {\n toReturn['paths'] = this.paths;\n }\n return toReturn;\n }\n}\nfunction enumStringToValue$n(enumRef, value) {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\nclass Trial {\n static fromProto(proto) {\n let m = new Trial();\n m = Object.assign(m, proto);\n if (proto.created) {\n m.created = new Date(proto.created);\n }\n if (proto.updated) {\n m.updated = new Date(proto.updated);\n }\n if (proto.subscriptionLevel) {\n m.subscriptionLevel = enumStringToValue$n(SubscriptionLevel, proto.subscriptionLevel);\n }\n if (proto.start) {\n m.start = new Date(proto.start);\n }\n if (proto.end) {\n m.end = new Date(proto.end);\n }\n if (proto.cancel) {\n m.cancel = new Date(proto.cancel);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.trialId !== 'undefined') {\n toReturn['trialId'] = this.trialId;\n }\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.created !== 'undefined' && this.created !== null) {\n toReturn['created'] = 'toApiJson' in this.created ? this.created.toApiJson() : this.created;\n }\n if (typeof this.updated !== 'undefined' && this.updated !== null) {\n toReturn['updated'] = 'toApiJson' in this.updated ? this.updated.toApiJson() : this.updated;\n }\n if (typeof this.subscriptionLevel !== 'undefined') {\n toReturn['subscriptionLevel'] = this.subscriptionLevel;\n }\n if (typeof this.start !== 'undefined' && this.start !== null) {\n toReturn['start'] = 'toApiJson' in this.start ? this.start.toApiJson() : this.start;\n }\n if (typeof this.end !== 'undefined' && this.end !== null) {\n toReturn['end'] = 'toApiJson' in this.end ? this.end.toApiJson() : this.end;\n }\n if (typeof this.cancel !== 'undefined' && this.cancel !== null) {\n toReturn['cancel'] = 'toApiJson' in this.cancel ? this.cancel.toApiJson() : this.cancel;\n }\n if (typeof this.createdBy !== 'undefined') {\n toReturn['createdBy'] = this.createdBy;\n }\n if (typeof this.modifiedBy !== 'undefined') {\n toReturn['modifiedBy'] = this.modifiedBy;\n }\n if (typeof this.subscriptionTierId !== 'undefined') {\n toReturn['subscriptionTierId'] = this.subscriptionTierId;\n }\n return toReturn;\n }\n}\nfunction enumStringToValue$m(enumRef, value) {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\nclass AddonActivation {\n static fromProto(proto) {\n let m = new AddonActivation();\n m = Object.assign(m, proto);\n if (proto.start) {\n m.start = new Date(proto.start);\n }\n if (proto.end) {\n m.end = new Date(proto.end);\n }\n if (proto.status) {\n m.status = enumStringToValue$m(AddonActivationStatus, proto.status);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.addonId !== 'undefined') {\n toReturn['addonId'] = this.addonId;\n }\n if (typeof this.activationId !== 'undefined') {\n toReturn['activationId'] = this.activationId;\n }\n if (typeof this.quantity !== 'undefined') {\n toReturn['quantity'] = this.quantity;\n }\n if (typeof this.start !== 'undefined' && this.start !== null) {\n toReturn['start'] = 'toApiJson' in this.start ? this.start.toApiJson() : this.start;\n }\n if (typeof this.end !== 'undefined' && this.end !== null) {\n toReturn['end'] = 'toApiJson' in this.end ? this.end.toApiJson() : this.end;\n }\n if (typeof this.status !== 'undefined') {\n toReturn['status'] = this.status;\n }\n if (typeof this.activationFailureReason !== 'undefined') {\n toReturn['activationFailureReason'] = this.activationFailureReason;\n }\n return toReturn;\n }\n}\nclass PartnerAddon {\n static fromProto(proto) {\n let m = new PartnerAddon();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.sku !== 'undefined') {\n toReturn['sku'] = this.sku;\n }\n if (typeof this.name !== 'undefined') {\n toReturn['name'] = this.name;\n }\n if (typeof this.supportsBulkActivation !== 'undefined') {\n toReturn['supportsBulkActivation'] = this.supportsBulkActivation;\n }\n return toReturn;\n }\n}\nfunction enumStringToValue$l(enumRef, value) {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\nclass ListTopRequest {\n static fromProto(proto) {\n let m = new ListTopRequest();\n m = Object.assign(m, proto);\n if (proto.partnerType) {\n m.partnerType = enumStringToValue$l(PartnerType, proto.partnerType);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.partnerType !== 'undefined') {\n toReturn['partnerType'] = this.partnerType;\n }\n return toReturn;\n }\n}\nclass ListTopResponse {\n static fromProto(proto) {\n let m = new ListTopResponse();\n m = Object.assign(m, proto);\n if (proto.partnerStats) {\n m.partnerStats = proto.partnerStats.map(PartnerStats.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.partnerStats !== 'undefined' && this.partnerStats !== null) {\n toReturn['partnerStats'] = 'toApiJson' in this.partnerStats ? this.partnerStats.toApiJson() : this.partnerStats;\n }\n return toReturn;\n }\n}\nclass PartnerStats {\n static fromProto(proto) {\n let m = new PartnerStats();\n m = Object.assign(m, proto);\n if (proto.notPayedTerms) {\n m.notPayedTerms = parseInt(proto.notPayedTerms, 10);\n }\n if (proto.uniqueBilledProductsLast6Months) {\n m.uniqueBilledProductsLast6Months = parseInt(proto.uniqueBilledProductsLast6Months, 10);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.companyName !== 'undefined') {\n toReturn['companyName'] = this.companyName;\n }\n if (typeof this.accountingStatus !== 'undefined') {\n toReturn['accountingStatus'] = this.accountingStatus;\n }\n if (typeof this.notPayedTerms !== 'undefined') {\n toReturn['notPayedTerms'] = this.notPayedTerms;\n }\n if (typeof this.outstandingBalance !== 'undefined') {\n toReturn['outstandingBalance'] = this.outstandingBalance;\n }\n if (typeof this.currentlyAssignedSalesPerson !== 'undefined') {\n toReturn['currentlyAssignedSalesPerson'] = this.currentlyAssignedSalesPerson;\n }\n if (typeof this.additionalSalesPerson !== 'undefined') {\n toReturn['additionalSalesPerson'] = this.additionalSalesPerson;\n }\n if (typeof this.recurringMeetingTime !== 'undefined') {\n toReturn['recurringMeetingTime'] = this.recurringMeetingTime;\n }\n if (typeof this.recurringMeetingDay !== 'undefined') {\n toReturn['recurringMeetingDay'] = this.recurringMeetingDay;\n }\n if (typeof this.recurringMeetingFrequency !== 'undefined') {\n toReturn['recurringMeetingFrequency'] = this.recurringMeetingFrequency;\n }\n if (typeof this.subscriptionLevel !== 'undefined') {\n toReturn['subscriptionLevel'] = this.subscriptionLevel;\n }\n if (typeof this.partnerCohortSize !== 'undefined') {\n toReturn['partnerCohortSize'] = this.partnerCohortSize;\n }\n if (typeof this.isMultiLocation !== 'undefined') {\n toReturn['isMultiLocation'] = this.isMultiLocation;\n }\n if (typeof this.latestMonthRevenue !== 'undefined') {\n toReturn['latestMonthRevenue'] = this.latestMonthRevenue;\n }\n if (typeof this.oneMonthEarlierRevenue !== 'undefined') {\n toReturn['oneMonthEarlierRevenue'] = this.oneMonthEarlierRevenue;\n }\n if (typeof this.twoMonthEarlierRevenue !== 'undefined') {\n toReturn['twoMonthEarlierRevenue'] = this.twoMonthEarlierRevenue;\n }\n if (typeof this.ytdRevenue !== 'undefined') {\n toReturn['ytdRevenue'] = this.ytdRevenue;\n }\n if (typeof this.revGrowthSinceLastMonth !== 'undefined') {\n toReturn['revGrowthSinceLastMonth'] = this.revGrowthSinceLastMonth;\n }\n if (typeof this.percentageRevGrowthFromLastMonth !== 'undefined') {\n toReturn['percentageRevGrowthFromLastMonth'] = this.percentageRevGrowthFromLastMonth;\n }\n if (typeof this.uniqueBilledProductsLast6Months !== 'undefined') {\n toReturn['uniqueBilledProductsLast6Months'] = this.uniqueBilledProductsLast6Months;\n }\n if (typeof this.logoUrl !== 'undefined') {\n toReturn['logoUrl'] = this.logoUrl;\n }\n if (typeof this.associatedPid !== 'undefined') {\n toReturn['associatedPid'] = this.associatedPid;\n }\n return toReturn;\n }\n}\nfunction enumStringToValue$k(enumRef, value) {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\nclass GetUpdateSubscriptionTierStatusRequest {\n static fromProto(proto) {\n let m = new GetUpdateSubscriptionTierStatusRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n return toReturn;\n }\n}\nclass GetUpdateSubscriptionTierStatusResponse {\n static fromProto(proto) {\n let m = new GetUpdateSubscriptionTierStatusResponse();\n m = Object.assign(m, proto);\n if (proto.status) {\n m.status = enumStringToValue$k(UpdateSubscriptionTierStatus, proto.status);\n }\n if (proto.modified) {\n m.modified = new Date(proto.modified);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.status !== 'undefined') {\n toReturn['status'] = this.status;\n }\n if (typeof this.reason !== 'undefined') {\n toReturn['reason'] = this.reason;\n }\n if (typeof this.modified !== 'undefined' && this.modified !== null) {\n toReturn['modified'] = 'toApiJson' in this.modified ? this.modified.toApiJson() : this.modified;\n }\n return toReturn;\n }\n}\nclass InitiateSubscriptionTierUpdateRequest {\n static fromProto(proto) {\n let m = new InitiateSubscriptionTierUpdateRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.tierId !== 'undefined') {\n toReturn['tierId'] = this.tierId;\n }\n return toReturn;\n }\n}\nclass UpdateSubscriptionTierRequest {\n static fromProto(proto) {\n let m = new UpdateSubscriptionTierRequest();\n m = Object.assign(m, proto);\n if (proto.frequency) {\n m.frequency = enumStringToValue$k(BillingFrequency, proto.frequency);\n }\n if (proto.updateType) {\n m.updateType = enumStringToValue$k(SubscriptionTierUpdateType, proto.updateType);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.tierId !== 'undefined') {\n toReturn['tierId'] = this.tierId;\n }\n if (typeof this.frequency !== 'undefined') {\n toReturn['frequency'] = this.frequency;\n }\n if (typeof this.updateType !== 'undefined') {\n toReturn['updateType'] = this.updateType;\n }\n return toReturn;\n }\n}\nfunction enumStringToValue$j(enumRef, value) {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\nclass ExperimentSetting {\n static fromProto(proto) {\n let m = new ExperimentSetting();\n m = Object.assign(m, proto);\n if (proto.selectionCriteria) {\n m.selectionCriteria = SelectionCriteria.fromProto(proto.selectionCriteria);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.variantRatio !== 'undefined') {\n toReturn['variantRatio'] = this.variantRatio;\n }\n if (typeof this.selectionCriteria !== 'undefined' && this.selectionCriteria !== null) {\n toReturn['selectionCriteria'] = 'toApiJson' in this.selectionCriteria ? this.selectionCriteria.toApiJson() : this.selectionCriteria;\n }\n if (typeof this.metricsDashboardUrl !== 'undefined') {\n toReturn['metricsDashboardUrl'] = this.metricsDashboardUrl;\n }\n return toReturn;\n }\n}\nclass FeatureFlag {\n static fromProto(proto) {\n let m = new FeatureFlag();\n m = Object.assign(m, proto);\n if (proto.accessLevel) {\n m.accessLevel = enumStringToValue$j(AccessLevel, proto.accessLevel);\n }\n if (proto.accessLevelChangedDate) {\n m.accessLevelChangedDate = new Date(proto.accessLevelChangedDate);\n }\n if (proto.created) {\n m.created = new Date(proto.created);\n }\n if (proto.whitelist) {\n m.whitelist = proto.whitelist.map(PartnerAccess.fromProto);\n }\n if (proto.blacklist) {\n m.blacklist = proto.blacklist.map(PartnerAccess.fromProto);\n }\n if (proto.experimentSettings) {\n m.experimentSettings = ExperimentSetting.fromProto(proto.experimentSettings);\n }\n if (proto.expiration) {\n m.expiration = enumStringToValue$j(Expiration, proto.expiration);\n }\n if (proto.expiryStart) {\n m.expiryStart = new Date(proto.expiryStart);\n }\n if (proto.expiryFinish) {\n m.expiryFinish = new Date(proto.expiryFinish);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.id !== 'undefined') {\n toReturn['id'] = this.id;\n }\n if (typeof this.name !== 'undefined') {\n toReturn['name'] = this.name;\n }\n if (typeof this.description !== 'undefined') {\n toReturn['description'] = this.description;\n }\n if (typeof this.accessLevel !== 'undefined') {\n toReturn['accessLevel'] = this.accessLevel;\n }\n if (typeof this.accessLevelChangedDate !== 'undefined' && this.accessLevelChangedDate !== null) {\n toReturn['accessLevelChangedDate'] = 'toApiJson' in this.accessLevelChangedDate ? this.accessLevelChangedDate.toApiJson() : this.accessLevelChangedDate;\n }\n if (typeof this.accessLevelChangedByEmail !== 'undefined') {\n toReturn['accessLevelChangedByEmail'] = this.accessLevelChangedByEmail;\n }\n if (typeof this.created !== 'undefined' && this.created !== null) {\n toReturn['created'] = 'toApiJson' in this.created ? this.created.toApiJson() : this.created;\n }\n if (typeof this.createdByEmail !== 'undefined') {\n toReturn['createdByEmail'] = this.createdByEmail;\n }\n if (typeof this.moreInfoUrl !== 'undefined') {\n toReturn['moreInfoUrl'] = this.moreInfoUrl;\n }\n if (typeof this.archived !== 'undefined') {\n toReturn['archived'] = this.archived;\n }\n if (typeof this.whitelist !== 'undefined' && this.whitelist !== null) {\n toReturn['whitelist'] = 'toApiJson' in this.whitelist ? this.whitelist.toApiJson() : this.whitelist;\n }\n if (typeof this.blacklist !== 'undefined' && this.blacklist !== null) {\n toReturn['blacklist'] = 'toApiJson' in this.blacklist ? this.blacklist.toApiJson() : this.blacklist;\n }\n if (typeof this.experimentSettings !== 'undefined' && this.experimentSettings !== null) {\n toReturn['experimentSettings'] = 'toApiJson' in this.experimentSettings ? this.experimentSettings.toApiJson() : this.experimentSettings;\n }\n if (typeof this.ownerName !== 'undefined') {\n toReturn['ownerName'] = this.ownerName;\n }\n if (typeof this.expiration !== 'undefined') {\n toReturn['expiration'] = this.expiration;\n }\n if (typeof this.expiryStart !== 'undefined' && this.expiryStart !== null) {\n toReturn['expiryStart'] = 'toApiJson' in this.expiryStart ? this.expiryStart.toApiJson() : this.expiryStart;\n }\n if (typeof this.expiryFinish !== 'undefined' && this.expiryFinish !== null) {\n toReturn['expiryFinish'] = 'toApiJson' in this.expiryFinish ? this.expiryFinish.toApiJson() : this.expiryFinish;\n }\n if (typeof this.isExpired !== 'undefined') {\n toReturn['isExpired'] = this.isExpired;\n }\n return toReturn;\n }\n}\nclass PartnerAccess {\n static fromProto(proto) {\n let m = new PartnerAccess();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.marketIds !== 'undefined') {\n toReturn['marketIds'] = this.marketIds;\n }\n return toReturn;\n }\n}\nclass SelectionCriteria {\n static fromProto(proto) {\n let m = new SelectionCriteria();\n m = Object.assign(m, proto);\n if (proto.partnerCreatedAfterDate) {\n m.partnerCreatedAfterDate = new Date(proto.partnerCreatedAfterDate);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.subscriptionTierIds !== 'undefined') {\n toReturn['subscriptionTierIds'] = this.subscriptionTierIds;\n }\n if (typeof this.partnerCreatedAfterDate !== 'undefined' && this.partnerCreatedAfterDate !== null) {\n toReturn['partnerCreatedAfterDate'] = 'toApiJson' in this.partnerCreatedAfterDate ? this.partnerCreatedAfterDate.toApiJson() : this.partnerCreatedAfterDate;\n }\n return toReturn;\n }\n}\nfunction enumStringToValue$i(enumRef, value) {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\nclass PartnerAdminPermissions {\n static fromProto(proto) {\n let m = new PartnerAdminPermissions();\n m = Object.assign(m, proto);\n if (proto.defaultReportAccessScope) {\n m.defaultReportAccessScope = enumStringToValue$i(ReportAccessScope, proto.defaultReportAccessScope);\n }\n if (proto.reportAccess) {\n m.reportAccess = proto.reportAccess.map(ReportAccess.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.canAccessBilling !== 'undefined') {\n toReturn['canAccessBilling'] = this.canAccessBilling;\n }\n if (typeof this.canAccessRetailBilling !== 'undefined') {\n toReturn['canAccessRetailBilling'] = this.canAccessRetailBilling;\n }\n if (typeof this.canAccessAccounts !== 'undefined') {\n toReturn['canAccessAccounts'] = this.canAccessAccounts;\n }\n if (typeof this.canAccessMarketing !== 'undefined') {\n toReturn['canAccessMarketing'] = this.canAccessMarketing;\n }\n if (typeof this.canAccessSales !== 'undefined') {\n toReturn['canAccessSales'] = this.canAccessSales;\n }\n if (typeof this.canAccessConcierge !== 'undefined') {\n toReturn['canAccessConcierge'] = this.canAccessConcierge;\n }\n if (typeof this.canAccessBrands !== 'undefined') {\n toReturn['canAccessBrands'] = this.canAccessBrands;\n }\n if (typeof this.canAccessDashboard !== 'undefined') {\n toReturn['canAccessDashboard'] = this.canAccessDashboard;\n }\n if (typeof this.canAccessOrders !== 'undefined') {\n toReturn['canAccessOrders'] = this.canAccessOrders;\n }\n if (typeof this.canAccessMarketplace !== 'undefined') {\n toReturn['canAccessMarketplace'] = this.canAccessMarketplace;\n }\n if (typeof this.canAccessCompanyProfile !== 'undefined') {\n toReturn['canAccessCompanyProfile'] = this.canAccessCompanyProfile;\n }\n if (typeof this.canAccessAutomations !== 'undefined') {\n toReturn['canAccessAutomations'] = this.canAccessAutomations;\n }\n if (typeof this.defaultReportAccessScope !== 'undefined') {\n toReturn['defaultReportAccessScope'] = this.defaultReportAccessScope;\n }\n if (typeof this.reportAccess !== 'undefined' && this.reportAccess !== null) {\n toReturn['reportAccess'] = 'toApiJson' in this.reportAccess ? this.reportAccess.toApiJson() : this.reportAccess;\n }\n return toReturn;\n }\n}\nclass ReportAccess {\n static fromProto(proto) {\n let m = new ReportAccess();\n m = Object.assign(m, proto);\n if (proto.idType) {\n m.idType = enumStringToValue$i(ReportAccessIDType, proto.idType);\n }\n if (proto.scope) {\n m.scope = enumStringToValue$i(ReportAccessScope, proto.scope);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.id !== 'undefined') {\n toReturn['id'] = this.id;\n }\n if (typeof this.idType !== 'undefined') {\n toReturn['idType'] = this.idType;\n }\n if (typeof this.scope !== 'undefined') {\n toReturn['scope'] = this.scope;\n }\n return toReturn;\n }\n}\nfunction enumStringToValue$h(enumRef, value) {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\nclass PartnerHealth {\n static fromProto(proto) {\n let m = new PartnerHealth();\n m = Object.assign(m, proto);\n if (proto.state) {\n m.state = enumStringToValue$h(PartnerHealthState, proto.state);\n }\n if (proto.subState) {\n m.subState = enumStringToValue$h(PartnerHealthSubState, proto.subState);\n }\n if (proto.changedOn) {\n m.changedOn = new Date(proto.changedOn);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.state !== 'undefined') {\n toReturn['state'] = this.state;\n }\n if (typeof this.subState !== 'undefined') {\n toReturn['subState'] = this.subState;\n }\n if (typeof this.reason !== 'undefined') {\n toReturn['reason'] = this.reason;\n }\n if (typeof this.changedOn !== 'undefined' && this.changedOn !== null) {\n toReturn['changedOn'] = 'toApiJson' in this.changedOn ? this.changedOn.toApiJson() : this.changedOn;\n }\n if (typeof this.changedBy !== 'undefined') {\n toReturn['changedBy'] = this.changedBy;\n }\n if (typeof this.inRetention !== 'undefined') {\n toReturn['inRetention'] = this.inRetention;\n }\n return toReturn;\n }\n}\nfunction enumStringToValue$g(enumRef, value) {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\nclass CompanyProfile {\n static fromProto(proto) {\n let m = new CompanyProfile();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.name !== 'undefined') {\n toReturn['name'] = this.name;\n }\n if (typeof this.address !== 'undefined') {\n toReturn['address'] = this.address;\n }\n if (typeof this.address2 !== 'undefined') {\n toReturn['address2'] = this.address2;\n }\n if (typeof this.city !== 'undefined') {\n toReturn['city'] = this.city;\n }\n if (typeof this.state !== 'undefined') {\n toReturn['state'] = this.state;\n }\n if (typeof this.country !== 'undefined') {\n toReturn['country'] = this.country;\n }\n if (typeof this.postalCode !== 'undefined') {\n toReturn['postalCode'] = this.postalCode;\n }\n if (typeof this.phoneNumber !== 'undefined') {\n toReturn['phoneNumber'] = this.phoneNumber;\n }\n if (typeof this.websiteAddress !== 'undefined') {\n toReturn['websiteAddress'] = this.websiteAddress;\n }\n if (typeof this.emailAddress !== 'undefined') {\n toReturn['emailAddress'] = this.emailAddress;\n }\n return toReturn;\n }\n}\nclass CreatePartnerRequest {\n static fromProto(proto) {\n let m = new CreatePartnerRequest();\n m = Object.assign(m, proto);\n if (proto.companyProfile) {\n m.companyProfile = CompanyProfile.fromProto(proto.companyProfile);\n }\n if (proto.initialUser) {\n m.initialUser = PartnerUser.fromProto(proto.initialUser);\n }\n if (proto.termsOfService) {\n m.termsOfService = TermOfService.fromProto(proto.termsOfService);\n }\n if (proto.acquisitionData) {\n m.acquisitionData = PartnerAcquisitionData.fromProto(proto.acquisitionData);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.idempotentKey !== 'undefined') {\n toReturn['idempotentKey'] = this.idempotentKey;\n }\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.companyProfile !== 'undefined' && this.companyProfile !== null) {\n toReturn['companyProfile'] = 'toApiJson' in this.companyProfile ? this.companyProfile.toApiJson() : this.companyProfile;\n }\n if (typeof this.accountGroupId !== 'undefined') {\n toReturn['accountGroupId'] = this.accountGroupId;\n }\n if (typeof this.initialUser !== 'undefined' && this.initialUser !== null) {\n toReturn['initialUser'] = 'toApiJson' in this.initialUser ? this.initialUser.toApiJson() : this.initialUser;\n }\n if (typeof this.billingCurrencyCode !== 'undefined') {\n toReturn['billingCurrencyCode'] = this.billingCurrencyCode;\n }\n if (typeof this.termsOfService !== 'undefined' && this.termsOfService !== null) {\n toReturn['termsOfService'] = 'toApiJson' in this.termsOfService ? this.termsOfService.toApiJson() : this.termsOfService;\n }\n if (typeof this.startOnTutorialCampaign !== 'undefined') {\n toReturn['startOnTutorialCampaign'] = this.startOnTutorialCampaign;\n }\n if (typeof this.acquisitionData !== 'undefined' && this.acquisitionData !== null) {\n toReturn['acquisitionData'] = 'toApiJson' in this.acquisitionData ? this.acquisitionData.toApiJson() : this.acquisitionData;\n }\n if (typeof this.subdomain !== 'undefined') {\n toReturn['subdomain'] = this.subdomain;\n }\n if (typeof this.subscriptionTierId !== 'undefined') {\n toReturn['subscriptionTierId'] = this.subscriptionTierId;\n }\n if (typeof this.stripeToken !== 'undefined') {\n toReturn['stripeToken'] = this.stripeToken;\n }\n return toReturn;\n }\n}\nclass GetCreatePartnerStatusRequest {\n static fromProto(proto) {\n let m = new GetCreatePartnerStatusRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.idempotentKey !== 'undefined') {\n toReturn['idempotentKey'] = this.idempotentKey;\n }\n return toReturn;\n }\n}\nclass GetCreatePartnerStatusResponse {\n static fromProto(proto) {\n let m = new GetCreatePartnerStatusResponse();\n m = Object.assign(m, proto);\n if (proto.status) {\n m.status = enumStringToValue$g(Status, proto.status);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.status !== 'undefined') {\n toReturn['status'] = this.status;\n }\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.errorMessage !== 'undefined') {\n toReturn['errorMessage'] = this.errorMessage;\n }\n return toReturn;\n }\n}\nclass GetSignUpAddPaymentCardResultRequest {\n static fromProto(proto) {\n let m = new GetSignUpAddPaymentCardResultRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n return toReturn;\n }\n}\nclass GetSignUpAddPaymentCardResultResponse {\n static fromProto(proto) {\n let m = new GetSignUpAddPaymentCardResultResponse();\n m = Object.assign(m, proto);\n if (proto.status) {\n m.status = enumStringToValue$g(GetSignUpAddPaymentCardResultResponseStatus, proto.status);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.status !== 'undefined') {\n toReturn['status'] = this.status;\n }\n if (typeof this.error !== 'undefined') {\n toReturn['error'] = this.error;\n }\n return toReturn;\n }\n}\nclass GetUpdatePartnerStatusRequest {\n static fromProto(proto) {\n let m = new GetUpdatePartnerStatusRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.idempotentKey !== 'undefined') {\n toReturn['idempotentKey'] = this.idempotentKey;\n }\n return toReturn;\n }\n}\nclass GetUpdatePartnerStatusResponse {\n static fromProto(proto) {\n let m = new GetUpdatePartnerStatusResponse();\n m = Object.assign(m, proto);\n if (proto.status) {\n m.status = enumStringToValue$g(Status, proto.status);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.status !== 'undefined') {\n toReturn['status'] = this.status;\n }\n if (typeof this.errorMessage !== 'undefined') {\n toReturn['errorMessage'] = this.errorMessage;\n }\n return toReturn;\n }\n}\nclass PartnerAcquisitionData {\n static fromProto(proto) {\n let m = new PartnerAcquisitionData();\n m = Object.assign(m, proto);\n if (proto.origin) {\n m.origin = enumStringToValue$g(PartnerOrigin, proto.origin);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.tags !== 'undefined') {\n toReturn['tags'] = this.tags;\n }\n if (typeof this.origin !== 'undefined') {\n toReturn['origin'] = this.origin;\n }\n if (typeof this.visitorIdCookie !== 'undefined') {\n toReturn['visitorIdCookie'] = this.visitorIdCookie;\n }\n if (typeof this.conquerLocalAcademyVisitorId !== 'undefined') {\n toReturn['conquerLocalAcademyVisitorId'] = this.conquerLocalAcademyVisitorId;\n }\n if (typeof this.conversionPoint !== 'undefined') {\n toReturn['conversionPoint'] = this.conversionPoint;\n }\n if (typeof this.affiliateId !== 'undefined') {\n toReturn['affiliateId'] = this.affiliateId;\n }\n if (typeof this.numberOfEmployees !== 'undefined') {\n toReturn['numberOfEmployees'] = this.numberOfEmployees;\n }\n if (typeof this.referrerId !== 'undefined') {\n toReturn['referrerId'] = this.referrerId;\n }\n if (typeof this.clearbitCollectedSignupDataId !== 'undefined') {\n toReturn['clearbitCollectedSignupDataId'] = this.clearbitCollectedSignupDataId;\n }\n return toReturn;\n }\n}\nclass PartnerInfo {\n static fromProto(proto) {\n let m = new PartnerInfo();\n m = Object.assign(m, proto);\n if (proto.premiumSupportFlag) {\n m.premiumSupportFlag = enumStringToValue$g(SupportFlag, proto.premiumSupportFlag);\n }\n if (proto.standardPrioritySupportFlag) {\n m.standardPrioritySupportFlag = enumStringToValue$g(SupportFlag, proto.standardPrioritySupportFlag);\n }\n if (proto.priorityChatSupportFlag) {\n m.priorityChatSupportFlag = enumStringToValue$g(SupportFlag, proto.priorityChatSupportFlag);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.partnerName !== 'undefined') {\n toReturn['partnerName'] = this.partnerName;\n }\n if (typeof this.partnerApiKey !== 'undefined') {\n toReturn['partnerApiKey'] = this.partnerApiKey;\n }\n if (typeof this.partnerType !== 'undefined') {\n toReturn['partnerType'] = this.partnerType;\n }\n if (typeof this.serviceLevel !== 'undefined') {\n toReturn['serviceLevel'] = this.serviceLevel;\n }\n if (typeof this.accountExecutive !== 'undefined') {\n toReturn['accountExecutive'] = this.accountExecutive;\n }\n if (typeof this.stripeBillingFlag !== 'undefined') {\n toReturn['stripeBillingFlag'] = this.stripeBillingFlag;\n }\n if (typeof this.excludeFromKpisFlag !== 'undefined') {\n toReturn['excludeFromKpisFlag'] = this.excludeFromKpisFlag;\n }\n if (typeof this.vbcFlag !== 'undefined') {\n toReturn['vbcFlag'] = this.vbcFlag;\n }\n if (typeof this.campaignSubscriptionEnabledFlag !== 'undefined') {\n toReturn['campaignSubscriptionEnabledFlag'] = this.campaignSubscriptionEnabledFlag;\n }\n if (typeof this.vbcKey !== 'undefined') {\n toReturn['vbcKey'] = this.vbcKey;\n }\n if (typeof this.rmPid !== 'undefined') {\n toReturn['rmPid'] = this.rmPid;\n }\n if (typeof this.rmKey !== 'undefined') {\n toReturn['rmKey'] = this.rmKey;\n }\n if (typeof this.msPid !== 'undefined') {\n toReturn['msPid'] = this.msPid;\n }\n if (typeof this.msKey !== 'undefined') {\n toReturn['msKey'] = this.msKey;\n }\n if (typeof this.smPid !== 'undefined') {\n toReturn['smPid'] = this.smPid;\n }\n if (typeof this.smKey !== 'undefined') {\n toReturn['smKey'] = this.smKey;\n }\n if (typeof this.nbPid !== 'undefined') {\n toReturn['nbPid'] = this.nbPid;\n }\n if (typeof this.nbKey !== 'undefined') {\n toReturn['nbKey'] = this.nbKey;\n }\n if (typeof this.armPid !== 'undefined') {\n toReturn['armPid'] = this.armPid;\n }\n if (typeof this.armKey !== 'undefined') {\n toReturn['armKey'] = this.armKey;\n }\n if (typeof this.enableProductMarketplaceFlag !== 'undefined') {\n toReturn['enableProductMarketplaceFlag'] = this.enableProductMarketplaceFlag;\n }\n if (typeof this.hidePricingFlag !== 'undefined') {\n toReturn['hidePricingFlag'] = this.hidePricingFlag;\n }\n if (typeof this.stDefaultCampaignId !== 'undefined') {\n toReturn['stDefaultCampaignId'] = this.stDefaultCampaignId;\n }\n if (typeof this.oauthKey !== 'undefined') {\n toReturn['oauthKey'] = this.oauthKey;\n }\n if (typeof this.oauthSecret !== 'undefined') {\n toReturn['oauthSecret'] = this.oauthSecret;\n }\n if (typeof this.rmMaxCompetitors !== 'undefined') {\n toReturn['rmMaxCompetitors'] = this.rmMaxCompetitors;\n }\n if (typeof this.rmMaxServices !== 'undefined') {\n toReturn['rmMaxServices'] = this.rmMaxServices;\n }\n if (typeof this.enableListingDistributionFlag !== 'undefined') {\n toReturn['enableListingDistributionFlag'] = this.enableListingDistributionFlag;\n }\n if (typeof this.showExpiryFlag !== 'undefined') {\n toReturn['showExpiryFlag'] = this.showExpiryFlag;\n }\n if (typeof this.wholesalePrice !== 'undefined') {\n toReturn['wholesalePrice'] = this.wholesalePrice;\n }\n if (typeof this.enableForAdminFlag !== 'undefined') {\n toReturn['enableForAdminFlag'] = this.enableForAdminFlag;\n }\n if (typeof this.enableListingSyncProFlag !== 'undefined') {\n toReturn['enableListingSyncProFlag'] = this.enableListingSyncProFlag;\n }\n if (typeof this.listingSyncProServiceProvider !== 'undefined') {\n toReturn['listingSyncProServiceProvider'] = this.listingSyncProServiceProvider;\n }\n if (typeof this.enableListingSyncProDiscountFlag !== 'undefined') {\n toReturn['enableListingSyncProDiscountFlag'] = this.enableListingSyncProDiscountFlag;\n }\n if (typeof this.pausedFlag !== 'undefined') {\n toReturn['pausedFlag'] = this.pausedFlag;\n }\n if (typeof this.cancelledFlag !== 'undefined') {\n toReturn['cancelledFlag'] = this.cancelledFlag;\n }\n if (typeof this.premiumSupportFlag !== 'undefined') {\n toReturn['premiumSupportFlag'] = this.premiumSupportFlag;\n }\n if (typeof this.standardPrioritySupportFlag !== 'undefined') {\n toReturn['standardPrioritySupportFlag'] = this.standardPrioritySupportFlag;\n }\n if (typeof this.priorityChatSupportFlag !== 'undefined') {\n toReturn['priorityChatSupportFlag'] = this.priorityChatSupportFlag;\n }\n if (typeof this.tags !== 'undefined') {\n toReturn['tags'] = this.tags;\n }\n return toReturn;\n }\n}\nclass PartnerUser {\n static fromProto(proto) {\n let m = new PartnerUser();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.firstName !== 'undefined') {\n toReturn['firstName'] = this.firstName;\n }\n if (typeof this.lastName !== 'undefined') {\n toReturn['lastName'] = this.lastName;\n }\n if (typeof this.email !== 'undefined') {\n toReturn['email'] = this.email;\n }\n return toReturn;\n }\n}\nclass TermOfService {\n static fromProto(proto) {\n let m = new TermOfService();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.accepted !== 'undefined') {\n toReturn['accepted'] = this.accepted;\n }\n if (typeof this.browserIpAddress !== 'undefined') {\n toReturn['browserIpAddress'] = this.browserIpAddress;\n }\n return toReturn;\n }\n}\nclass UpdateCompanyProfileRequest {\n static fromProto(proto) {\n let m = new UpdateCompanyProfileRequest();\n m = Object.assign(m, proto);\n if (proto.companyProfileInfo) {\n m.companyProfileInfo = CompanyProfile.fromProto(proto.companyProfileInfo);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.companyProfileInfo !== 'undefined' && this.companyProfileInfo !== null) {\n toReturn['companyProfileInfo'] = 'toApiJson' in this.companyProfileInfo ? this.companyProfileInfo.toApiJson() : this.companyProfileInfo;\n }\n return toReturn;\n }\n}\nclass UpdatePartnerRequest {\n static fromProto(proto) {\n let m = new UpdatePartnerRequest();\n m = Object.assign(m, proto);\n if (proto.partnerInfo) {\n m.partnerInfo = PartnerInfo.fromProto(proto.partnerInfo);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.idempotentKey !== 'undefined') {\n toReturn['idempotentKey'] = this.idempotentKey;\n }\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.partnerInfo !== 'undefined' && this.partnerInfo !== null) {\n toReturn['partnerInfo'] = 'toApiJson' in this.partnerInfo ? this.partnerInfo.toApiJson() : this.partnerInfo;\n }\n return toReturn;\n }\n}\nfunction enumStringToValue$f(enumRef, value) {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\nclass EmailPasswordCredential {\n static fromProto(proto) {\n let m = new EmailPasswordCredential();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.email !== 'undefined') {\n toReturn['email'] = this.email;\n }\n if (typeof this.password !== 'undefined') {\n toReturn['password'] = this.password;\n }\n return toReturn;\n }\n}\nclass ExistingAccount {\n static fromProto(proto) {\n let m = new ExistingAccount();\n m = Object.assign(m, proto);\n if (proto.credential) {\n m.credential = SignUpCredential.fromProto(proto.credential);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.credential !== 'undefined' && this.credential !== null) {\n toReturn['credential'] = 'toApiJson' in this.credential ? this.credential.toApiJson() : this.credential;\n }\n return toReturn;\n }\n}\nclass GetGoogleProfileRequest {\n static fromProto(proto) {\n let m = new GetGoogleProfileRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.googleCode !== 'undefined') {\n toReturn['googleCode'] = this.googleCode;\n }\n if (typeof this.redirectUrl !== 'undefined') {\n toReturn['redirectUrl'] = this.redirectUrl;\n }\n return toReturn;\n }\n}\nclass GetGoogleProfileResponse {\n static fromProto(proto) {\n let m = new GetGoogleProfileResponse();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.email !== 'undefined') {\n toReturn['email'] = this.email;\n }\n if (typeof this.emailVerified !== 'undefined') {\n toReturn['emailVerified'] = this.emailVerified;\n }\n if (typeof this.name !== 'undefined') {\n toReturn['name'] = this.name;\n }\n if (typeof this.picture !== 'undefined') {\n toReturn['picture'] = this.picture;\n }\n if (typeof this.givenName !== 'undefined') {\n toReturn['givenName'] = this.givenName;\n }\n if (typeof this.familyName !== 'undefined') {\n toReturn['familyName'] = this.familyName;\n }\n if (typeof this.locale !== 'undefined') {\n toReturn['locale'] = this.locale;\n }\n if (typeof this.token !== 'undefined') {\n toReturn['token'] = this.token;\n }\n return toReturn;\n }\n}\nclass GetLinkedinProfileRequest {\n static fromProto(proto) {\n let m = new GetLinkedinProfileRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.authorizationCode !== 'undefined') {\n toReturn['authorizationCode'] = this.authorizationCode;\n }\n if (typeof this.redirectUrl !== 'undefined') {\n toReturn['redirectUrl'] = this.redirectUrl;\n }\n return toReturn;\n }\n}\nclass GetLinkedinProfileResponse {\n static fromProto(proto) {\n let m = new GetLinkedinProfileResponse();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.firstName !== 'undefined') {\n toReturn['firstName'] = this.firstName;\n }\n if (typeof this.lastName !== 'undefined') {\n toReturn['lastName'] = this.lastName;\n }\n if (typeof this.email !== 'undefined') {\n toReturn['email'] = this.email;\n }\n if (typeof this.profilePictureUrn !== 'undefined') {\n toReturn['profilePictureUrn'] = this.profilePictureUrn;\n }\n if (typeof this.token !== 'undefined') {\n toReturn['token'] = this.token;\n }\n return toReturn;\n }\n}\nclass GetSelfSignUpStatusRequest {\n static fromProto(proto) {\n let m = new GetSelfSignUpStatusRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.idempotentKey !== 'undefined') {\n toReturn['idempotentKey'] = this.idempotentKey;\n }\n return toReturn;\n }\n}\nclass GetSelfSignUpStatusResponse {\n static fromProto(proto) {\n let m = new GetSelfSignUpStatusResponse();\n m = Object.assign(m, proto);\n if (proto.status) {\n m.status = enumStringToValue$f(Status, proto.status);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.status !== 'undefined') {\n toReturn['status'] = this.status;\n }\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.errorMessage !== 'undefined') {\n toReturn['errorMessage'] = this.errorMessage;\n }\n return toReturn;\n }\n}\nclass GoogleTokenCredential {\n static fromProto(proto) {\n let m = new GoogleTokenCredential();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.googleToken !== 'undefined') {\n toReturn['googleToken'] = this.googleToken;\n }\n return toReturn;\n }\n}\nclass IsEmailInUseRequest {\n static fromProto(proto) {\n let m = new IsEmailInUseRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.email !== 'undefined') {\n toReturn['email'] = this.email;\n }\n if (typeof this.recaptchaV2Token !== 'undefined') {\n toReturn['recaptchaV2Token'] = this.recaptchaV2Token;\n }\n if (typeof this.recaptchaV3Token !== 'undefined') {\n toReturn['recaptchaV3Token'] = this.recaptchaV3Token;\n }\n return toReturn;\n }\n}\nclass IsEmailInUseResponse {\n static fromProto(proto) {\n let m = new IsEmailInUseResponse();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.subjects !== 'undefined') {\n toReturn['subjects'] = this.subjects;\n }\n return toReturn;\n }\n}\nclass LinkedInTokenCredential {\n static fromProto(proto) {\n let m = new LinkedInTokenCredential();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.linkedinAccessToken !== 'undefined') {\n toReturn['linkedinAccessToken'] = this.linkedinAccessToken;\n }\n return toReturn;\n }\n}\nclass LoginRequest {\n static fromProto(proto) {\n let m = new LoginRequest();\n m = Object.assign(m, proto);\n if (proto.emailPasswordCredential) {\n m.emailPasswordCredential = EmailPasswordCredential.fromProto(proto.emailPasswordCredential);\n }\n if (proto.tokenCredential) {\n m.tokenCredential = GoogleTokenCredential.fromProto(proto.tokenCredential);\n }\n if (proto.linkedinCredential) {\n m.linkedinCredential = LinkedInTokenCredential.fromProto(proto.linkedinCredential);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.emailPasswordCredential !== 'undefined' && this.emailPasswordCredential !== null) {\n toReturn['emailPasswordCredential'] = 'toApiJson' in this.emailPasswordCredential ? this.emailPasswordCredential.toApiJson() : this.emailPasswordCredential;\n }\n if (typeof this.tokenCredential !== 'undefined' && this.tokenCredential !== null) {\n toReturn['tokenCredential'] = 'toApiJson' in this.tokenCredential ? this.tokenCredential.toApiJson() : this.tokenCredential;\n }\n if (typeof this.linkedinCredential !== 'undefined' && this.linkedinCredential !== null) {\n toReturn['linkedinCredential'] = 'toApiJson' in this.linkedinCredential ? this.linkedinCredential.toApiJson() : this.linkedinCredential;\n }\n if (typeof this.nextUrl !== 'undefined') {\n toReturn['nextUrl'] = this.nextUrl;\n }\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n return toReturn;\n }\n}\nclass LoginResponse {\n static fromProto(proto) {\n let m = new LoginResponse();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.nextUrl !== 'undefined') {\n toReturn['nextUrl'] = this.nextUrl;\n }\n return toReturn;\n }\n}\nclass NewAccount {\n static fromProto(proto) {\n let m = new NewAccount();\n m = Object.assign(m, proto);\n if (proto.credential) {\n m.credential = SignUpCredential.fromProto(proto.credential);\n }\n if (proto.companyProfile) {\n m.companyProfile = CompanyProfile.fromProto(proto.companyProfile);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.credential !== 'undefined' && this.credential !== null) {\n toReturn['credential'] = 'toApiJson' in this.credential ? this.credential.toApiJson() : this.credential;\n }\n if (typeof this.companyProfile !== 'undefined' && this.companyProfile !== null) {\n toReturn['companyProfile'] = 'toApiJson' in this.companyProfile ? this.companyProfile.toApiJson() : this.companyProfile;\n }\n return toReturn;\n }\n}\nclass SelfSignUpExistingAccountGroupRequest {\n static fromProto(proto) {\n let m = new SelfSignUpExistingAccountGroupRequest();\n m = Object.assign(m, proto);\n if (proto.termsOfService) {\n m.termsOfService = TermOfService.fromProto(proto.termsOfService);\n }\n if (proto.acquisitionData) {\n m.acquisitionData = PartnerAcquisitionData.fromProto(proto.acquisitionData);\n }\n if (proto.googleToken) {\n m.googleToken = GoogleTokenCredential.fromProto(proto.googleToken);\n }\n if (proto.initialUser) {\n m.initialUser = EmailPasswordCredential.fromProto(proto.initialUser);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.idempotentKey !== 'undefined') {\n toReturn['idempotentKey'] = this.idempotentKey;\n }\n if (typeof this.recaptchaResponse !== 'undefined') {\n toReturn['recaptchaResponse'] = this.recaptchaResponse;\n }\n if (typeof this.recaptchaV3Token !== 'undefined') {\n toReturn['recaptchaV3Token'] = this.recaptchaV3Token;\n }\n if (typeof this.termsOfService !== 'undefined' && this.termsOfService !== null) {\n toReturn['termsOfService'] = 'toApiJson' in this.termsOfService ? this.termsOfService.toApiJson() : this.termsOfService;\n }\n if (typeof this.acquisitionData !== 'undefined' && this.acquisitionData !== null) {\n toReturn['acquisitionData'] = 'toApiJson' in this.acquisitionData ? this.acquisitionData.toApiJson() : this.acquisitionData;\n }\n if (typeof this.googleToken !== 'undefined' && this.googleToken !== null) {\n toReturn['googleToken'] = 'toApiJson' in this.googleToken ? this.googleToken.toApiJson() : this.googleToken;\n }\n if (typeof this.initialUser !== 'undefined' && this.initialUser !== null) {\n toReturn['initialUser'] = 'toApiJson' in this.initialUser ? this.initialUser.toApiJson() : this.initialUser;\n }\n return toReturn;\n }\n}\nclass SelfSignUpRequest {\n static fromProto(proto) {\n let m = new SelfSignUpRequest();\n m = Object.assign(m, proto);\n if (proto.initialUser) {\n m.initialUser = PartnerUser.fromProto(proto.initialUser);\n }\n if (proto.companyProfile) {\n m.companyProfile = CompanyProfile.fromProto(proto.companyProfile);\n }\n if (proto.acquisitionData) {\n m.acquisitionData = PartnerAcquisitionData.fromProto(proto.acquisitionData);\n }\n if (proto.termsOfService) {\n m.termsOfService = TermOfService.fromProto(proto.termsOfService);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.idempotentKey !== 'undefined') {\n toReturn['idempotentKey'] = this.idempotentKey;\n }\n if (typeof this.initialUser !== 'undefined' && this.initialUser !== null) {\n toReturn['initialUser'] = 'toApiJson' in this.initialUser ? this.initialUser.toApiJson() : this.initialUser;\n }\n if (typeof this.websiteOptOutFlag !== 'undefined') {\n toReturn['websiteOptOutFlag'] = this.websiteOptOutFlag;\n }\n if (typeof this.billingCurrencyCode !== 'undefined') {\n toReturn['billingCurrencyCode'] = this.billingCurrencyCode;\n }\n if (typeof this.companyProfile !== 'undefined' && this.companyProfile !== null) {\n toReturn['companyProfile'] = 'toApiJson' in this.companyProfile ? this.companyProfile.toApiJson() : this.companyProfile;\n }\n if (typeof this.acquisitionData !== 'undefined' && this.acquisitionData !== null) {\n toReturn['acquisitionData'] = 'toApiJson' in this.acquisitionData ? this.acquisitionData.toApiJson() : this.acquisitionData;\n }\n if (typeof this.recaptchaResponse !== 'undefined') {\n toReturn['recaptchaResponse'] = this.recaptchaResponse;\n }\n if (typeof this.recaptchaV3Token !== 'undefined') {\n toReturn['recaptchaV3Token'] = this.recaptchaV3Token;\n }\n if (typeof this.termsOfService !== 'undefined' && this.termsOfService !== null) {\n toReturn['termsOfService'] = 'toApiJson' in this.termsOfService ? this.termsOfService.toApiJson() : this.termsOfService;\n }\n if (typeof this.userPassword !== 'undefined') {\n toReturn['userPassword'] = this.userPassword;\n }\n return toReturn;\n }\n}\nclass SelfSignUpWithGoogleRequest {\n static fromProto(proto) {\n let m = new SelfSignUpWithGoogleRequest();\n m = Object.assign(m, proto);\n if (proto.acquisitionData) {\n m.acquisitionData = PartnerAcquisitionData.fromProto(proto.acquisitionData);\n }\n if (proto.companyProfile) {\n m.companyProfile = CompanyProfile.fromProto(proto.companyProfile);\n }\n if (proto.termsOfService) {\n m.termsOfService = TermOfService.fromProto(proto.termsOfService);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.idempotentKey !== 'undefined') {\n toReturn['idempotentKey'] = this.idempotentKey;\n }\n if (typeof this.googleToken !== 'undefined') {\n toReturn['googleToken'] = this.googleToken;\n }\n if (typeof this.acquisitionData !== 'undefined' && this.acquisitionData !== null) {\n toReturn['acquisitionData'] = 'toApiJson' in this.acquisitionData ? this.acquisitionData.toApiJson() : this.acquisitionData;\n }\n if (typeof this.companyProfile !== 'undefined' && this.companyProfile !== null) {\n toReturn['companyProfile'] = 'toApiJson' in this.companyProfile ? this.companyProfile.toApiJson() : this.companyProfile;\n }\n if (typeof this.websiteOptOutFlag !== 'undefined') {\n toReturn['websiteOptOutFlag'] = this.websiteOptOutFlag;\n }\n if (typeof this.recaptchaResponse !== 'undefined') {\n toReturn['recaptchaResponse'] = this.recaptchaResponse;\n }\n if (typeof this.recaptchaV3Token !== 'undefined') {\n toReturn['recaptchaV3Token'] = this.recaptchaV3Token;\n }\n if (typeof this.billingCurrencyCode !== 'undefined') {\n toReturn['billingCurrencyCode'] = this.billingCurrencyCode;\n }\n if (typeof this.termsOfService !== 'undefined' && this.termsOfService !== null) {\n toReturn['termsOfService'] = 'toApiJson' in this.termsOfService ? this.termsOfService.toApiJson() : this.termsOfService;\n }\n return toReturn;\n }\n}\nclass SelfSignUpWithLinkedRequest {\n static fromProto(proto) {\n let m = new SelfSignUpWithLinkedRequest();\n m = Object.assign(m, proto);\n if (proto.acquisitionData) {\n m.acquisitionData = PartnerAcquisitionData.fromProto(proto.acquisitionData);\n }\n if (proto.companyProfile) {\n m.companyProfile = CompanyProfile.fromProto(proto.companyProfile);\n }\n if (proto.termsOfService) {\n m.termsOfService = TermOfService.fromProto(proto.termsOfService);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.idempotentKey !== 'undefined') {\n toReturn['idempotentKey'] = this.idempotentKey;\n }\n if (typeof this.linkedinToken !== 'undefined') {\n toReturn['linkedinToken'] = this.linkedinToken;\n }\n if (typeof this.acquisitionData !== 'undefined' && this.acquisitionData !== null) {\n toReturn['acquisitionData'] = 'toApiJson' in this.acquisitionData ? this.acquisitionData.toApiJson() : this.acquisitionData;\n }\n if (typeof this.companyProfile !== 'undefined' && this.companyProfile !== null) {\n toReturn['companyProfile'] = 'toApiJson' in this.companyProfile ? this.companyProfile.toApiJson() : this.companyProfile;\n }\n if (typeof this.websiteOptOutFlag !== 'undefined') {\n toReturn['websiteOptOutFlag'] = this.websiteOptOutFlag;\n }\n if (typeof this.recaptchaResponse !== 'undefined') {\n toReturn['recaptchaResponse'] = this.recaptchaResponse;\n }\n if (typeof this.recaptchaV3Token !== 'undefined') {\n toReturn['recaptchaV3Token'] = this.recaptchaV3Token;\n }\n if (typeof this.billingCurrencyCode !== 'undefined') {\n toReturn['billingCurrencyCode'] = this.billingCurrencyCode;\n }\n if (typeof this.termsOfService !== 'undefined' && this.termsOfService !== null) {\n toReturn['termsOfService'] = 'toApiJson' in this.termsOfService ? this.termsOfService.toApiJson() : this.termsOfService;\n }\n return toReturn;\n }\n}\nclass SignUpCredential {\n static fromProto(proto) {\n let m = new SignUpCredential();\n m = Object.assign(m, proto);\n if (proto.googleToken) {\n m.googleToken = GoogleTokenCredential.fromProto(proto.googleToken);\n }\n if (proto.user) {\n m.user = UserCredential.fromProto(proto.user);\n }\n if (proto.linkedinToken) {\n m.linkedinToken = LinkedInTokenCredential.fromProto(proto.linkedinToken);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.googleToken !== 'undefined' && this.googleToken !== null) {\n toReturn['googleToken'] = 'toApiJson' in this.googleToken ? this.googleToken.toApiJson() : this.googleToken;\n }\n if (typeof this.user !== 'undefined' && this.user !== null) {\n toReturn['user'] = 'toApiJson' in this.user ? this.user.toApiJson() : this.user;\n }\n if (typeof this.linkedinToken !== 'undefined' && this.linkedinToken !== null) {\n toReturn['linkedinToken'] = 'toApiJson' in this.linkedinToken ? this.linkedinToken.toApiJson() : this.linkedinToken;\n }\n return toReturn;\n }\n}\nclass SignUpRequest {\n static fromProto(proto) {\n let m = new SignUpRequest();\n m = Object.assign(m, proto);\n if (proto.newAccount) {\n m.newAccount = NewAccount.fromProto(proto.newAccount);\n }\n if (proto.existingAccount) {\n m.existingAccount = ExistingAccount.fromProto(proto.existingAccount);\n }\n if (proto.acquisitionData) {\n m.acquisitionData = PartnerAcquisitionData.fromProto(proto.acquisitionData);\n }\n if (proto.termsOfService) {\n m.termsOfService = TermOfService.fromProto(proto.termsOfService);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.idempotentKey !== 'undefined') {\n toReturn['idempotentKey'] = this.idempotentKey;\n }\n if (typeof this.newAccount !== 'undefined' && this.newAccount !== null) {\n toReturn['newAccount'] = 'toApiJson' in this.newAccount ? this.newAccount.toApiJson() : this.newAccount;\n }\n if (typeof this.existingAccount !== 'undefined' && this.existingAccount !== null) {\n toReturn['existingAccount'] = 'toApiJson' in this.existingAccount ? this.existingAccount.toApiJson() : this.existingAccount;\n }\n if (typeof this.acquisitionData !== 'undefined' && this.acquisitionData !== null) {\n toReturn['acquisitionData'] = 'toApiJson' in this.acquisitionData ? this.acquisitionData.toApiJson() : this.acquisitionData;\n }\n if (typeof this.termsOfService !== 'undefined' && this.termsOfService !== null) {\n toReturn['termsOfService'] = 'toApiJson' in this.termsOfService ? this.termsOfService.toApiJson() : this.termsOfService;\n }\n if (typeof this.recaptchaV2Token !== 'undefined') {\n toReturn['recaptchaV2Token'] = this.recaptchaV2Token;\n }\n if (typeof this.recaptchaV3Token !== 'undefined') {\n toReturn['recaptchaV3Token'] = this.recaptchaV3Token;\n }\n if (typeof this.billingCurrencyCode !== 'undefined') {\n toReturn['billingCurrencyCode'] = this.billingCurrencyCode;\n }\n if (typeof this.websiteOptOutFlag !== 'undefined') {\n toReturn['websiteOptOutFlag'] = this.websiteOptOutFlag;\n }\n if (typeof this.subscriptionTierId !== 'undefined') {\n toReturn['subscriptionTierId'] = this.subscriptionTierId;\n }\n if (typeof this.stripeToken !== 'undefined') {\n toReturn['stripeToken'] = this.stripeToken;\n }\n if (typeof this.nextUrl !== 'undefined') {\n toReturn['nextUrl'] = this.nextUrl;\n }\n return toReturn;\n }\n}\nclass UserCredential {\n static fromProto(proto) {\n let m = new UserCredential();\n m = Object.assign(m, proto);\n if (proto.user) {\n m.user = PartnerUser.fromProto(proto.user);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.user !== 'undefined' && this.user !== null) {\n toReturn['user'] = 'toApiJson' in this.user ? this.user.toApiJson() : this.user;\n }\n if (typeof this.password !== 'undefined') {\n toReturn['password'] = this.password;\n }\n return toReturn;\n }\n}\nfunction enumStringToValue$e(enumRef, value) {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\nclass AddRewardToPartnerRequest {\n static fromProto(proto) {\n let m = new AddRewardToPartnerRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.rewardId !== 'undefined') {\n toReturn['rewardId'] = this.rewardId;\n }\n return toReturn;\n }\n}\nclass AttemptRewardClaimRequest {\n static fromProto(proto) {\n let m = new AttemptRewardClaimRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.rewardId !== 'undefined') {\n toReturn['rewardId'] = this.rewardId;\n }\n return toReturn;\n }\n}\nclass Claimed {\n static fromProto(proto) {\n let m = new Claimed();\n m = Object.assign(m, proto);\n if (proto.date) {\n m.date = new Date(proto.date);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.date !== 'undefined' && this.date !== null) {\n toReturn['date'] = 'toApiJson' in this.date ? this.date.toApiJson() : this.date;\n }\n return toReturn;\n }\n}\nclass GetRewardRequest {\n static fromProto(proto) {\n let m = new GetRewardRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.rewardId !== 'undefined') {\n toReturn['rewardId'] = this.rewardId;\n }\n return toReturn;\n }\n}\nclass GetRewardResponse {\n static fromProto(proto) {\n let m = new GetRewardResponse();\n m = Object.assign(m, proto);\n if (proto.reward) {\n m.reward = Reward.fromProto(proto.reward);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.reward !== 'undefined' && this.reward !== null) {\n toReturn['reward'] = 'toApiJson' in this.reward ? this.reward.toApiJson() : this.reward;\n }\n return toReturn;\n }\n}\nclass IsRewardConditionMetForPartnerRequest {\n static fromProto(proto) {\n let m = new IsRewardConditionMetForPartnerRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.rewardId !== 'undefined') {\n toReturn['rewardId'] = this.rewardId;\n }\n return toReturn;\n }\n}\nclass IsRewardConditionMetForPartnerResponse {\n static fromProto(proto) {\n let m = new IsRewardConditionMetForPartnerResponse();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.rewardConditionsMet !== 'undefined') {\n toReturn['rewardConditionsMet'] = this.rewardConditionsMet;\n }\n return toReturn;\n }\n}\nclass Money {\n static fromProto(proto) {\n let m = new Money();\n m = Object.assign(m, proto);\n if (proto.valueInCents) {\n m.valueInCents = parseInt(proto.valueInCents, 10);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.valueInCents !== 'undefined') {\n toReturn['valueInCents'] = this.valueInCents;\n }\n if (typeof this.currencyCode !== 'undefined') {\n toReturn['currencyCode'] = this.currencyCode;\n }\n return toReturn;\n }\n}\nclass Reward {\n static fromProto(proto) {\n let m = new Reward();\n m = Object.assign(m, proto);\n if (proto.amount) {\n m.amount = Money.fromProto(proto.amount);\n }\n if (proto.status) {\n m.status = enumStringToValue$e(RewardStatus, proto.status);\n }\n if (proto.claimed) {\n m.claimed = Claimed.fromProto(proto.claimed);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.rewardId !== 'undefined') {\n toReturn['rewardId'] = this.rewardId;\n }\n if (typeof this.amount !== 'undefined' && this.amount !== null) {\n toReturn['amount'] = 'toApiJson' in this.amount ? this.amount.toApiJson() : this.amount;\n }\n if (typeof this.status !== 'undefined') {\n toReturn['status'] = this.status;\n }\n if (typeof this.claimed !== 'undefined' && this.claimed !== null) {\n toReturn['claimed'] = 'toApiJson' in this.claimed ? this.claimed.toApiJson() : this.claimed;\n }\n return toReturn;\n }\n}\nfunction enumStringToValue$d(enumRef, value) {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\nclass GetSalesConfigRequest {\n static fromProto(proto) {\n let m = new GetSalesConfigRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.marketId !== 'undefined') {\n toReturn['marketId'] = this.marketId;\n }\n return toReturn;\n }\n}\nclass GetSalesConfigResponse {\n static fromProto(proto) {\n let m = new GetSalesConfigResponse();\n m = Object.assign(m, proto);\n if (proto.config) {\n m.config = SalesConfiguration.fromProto(proto.config);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.config !== 'undefined' && this.config !== null) {\n toReturn['config'] = 'toApiJson' in this.config ? this.config.toApiJson() : this.config;\n }\n return toReturn;\n }\n}\nclass SalesConfigInputs {\n static fromProto(proto) {\n let m = new SalesConfigInputs();\n m = Object.assign(m, proto);\n if (proto.hideProducts) {\n m.hideProducts = enumStringToValue$d(SalesSetting, proto.hideProducts);\n }\n if (proto.hideRmDemo) {\n m.hideRmDemo = enumStringToValue$d(SalesSetting, proto.hideRmDemo);\n }\n if (proto.hideOrders) {\n m.hideOrders = enumStringToValue$d(SalesSetting, proto.hideOrders);\n }\n if (proto.stTeamActivity) {\n m.stTeamActivity = enumStringToValue$d(SalesSetting, proto.stTeamActivity);\n }\n if (proto.stAllowSalespersonCampaignAdd) {\n m.stAllowSalespersonCampaignAdd = enumStringToValue$d(SalesSetting, proto.stAllowSalespersonCampaignAdd);\n }\n if (proto.stShowProductsWholesalePrice) {\n m.stShowProductsWholesalePrice = enumStringToValue$d(SalesSetting, proto.stShowProductsWholesalePrice);\n }\n if (proto.stShowTrainingResourcesField) {\n m.stShowTrainingResourcesField = enumStringToValue$d(SalesSetting, proto.stShowTrainingResourcesField);\n }\n if (proto.stSalespersonSharedAccountAccess) {\n m.stSalespersonSharedAccountAccess = enumStringToValue$d(SalesSetting, proto.stSalespersonSharedAccountAccess);\n }\n if (proto.stEnableSnapshotsPerSalespersonLimit) {\n m.stEnableSnapshotsPerSalespersonLimit = enumStringToValue$d(SalesSetting, proto.stEnableSnapshotsPerSalespersonLimit);\n }\n if (proto.stSnapshotsPerSalespersonLimit) {\n m.stSnapshotsPerSalespersonLimit = parseInt(proto.stSnapshotsPerSalespersonLimit, 10);\n }\n if (proto.stBusinessCenterAccess) {\n m.stBusinessCenterAccess = enumStringToValue$d(SalesSetting, proto.stBusinessCenterAccess);\n }\n if (proto.stShowInbox) {\n m.stShowInbox = enumStringToValue$d(SalesSetting, proto.stShowInbox);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.hideProducts !== 'undefined') {\n toReturn['hideProducts'] = this.hideProducts;\n }\n if (typeof this.hideRmDemo !== 'undefined') {\n toReturn['hideRmDemo'] = this.hideRmDemo;\n }\n if (typeof this.hideOrders !== 'undefined') {\n toReturn['hideOrders'] = this.hideOrders;\n }\n if (typeof this.stTeamActivity !== 'undefined') {\n toReturn['stTeamActivity'] = this.stTeamActivity;\n }\n if (typeof this.stAllowSalespersonCampaignAdd !== 'undefined') {\n toReturn['stAllowSalespersonCampaignAdd'] = this.stAllowSalespersonCampaignAdd;\n }\n if (typeof this.stShowProductsWholesalePrice !== 'undefined') {\n toReturn['stShowProductsWholesalePrice'] = this.stShowProductsWholesalePrice;\n }\n if (typeof this.stShowTrainingResourcesField !== 'undefined') {\n toReturn['stShowTrainingResourcesField'] = this.stShowTrainingResourcesField;\n }\n if (typeof this.stSalespersonSharedAccountAccess !== 'undefined') {\n toReturn['stSalespersonSharedAccountAccess'] = this.stSalespersonSharedAccountAccess;\n }\n if (typeof this.stDefaultDisplayCurrency !== 'undefined') {\n toReturn['stDefaultDisplayCurrency'] = this.stDefaultDisplayCurrency;\n }\n if (typeof this.stEnableSnapshotsPerSalespersonLimit !== 'undefined') {\n toReturn['stEnableSnapshotsPerSalespersonLimit'] = this.stEnableSnapshotsPerSalespersonLimit;\n }\n if (typeof this.stSnapshotsPerSalespersonLimit !== 'undefined') {\n toReturn['stSnapshotsPerSalespersonLimit'] = this.stSnapshotsPerSalespersonLimit;\n }\n if (typeof this.stBusinessCenterAccess !== 'undefined') {\n toReturn['stBusinessCenterAccess'] = this.stBusinessCenterAccess;\n }\n if (typeof this.stShowInbox !== 'undefined') {\n toReturn['stShowInbox'] = this.stShowInbox;\n }\n return toReturn;\n }\n}\nclass SalesConfiguration {\n static fromProto(proto) {\n let m = new SalesConfiguration();\n m = Object.assign(m, proto);\n if (proto.stSnapshotsPerSalespersonLimit) {\n m.stSnapshotsPerSalespersonLimit = parseInt(proto.stSnapshotsPerSalespersonLimit, 10);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.hideProducts !== 'undefined') {\n toReturn['hideProducts'] = this.hideProducts;\n }\n if (typeof this.hideRmDemo !== 'undefined') {\n toReturn['hideRmDemo'] = this.hideRmDemo;\n }\n if (typeof this.stTeamActivity !== 'undefined') {\n toReturn['stTeamActivity'] = this.stTeamActivity;\n }\n if (typeof this.stAllowSalespersonCampaignAdd !== 'undefined') {\n toReturn['stAllowSalespersonCampaignAdd'] = this.stAllowSalespersonCampaignAdd;\n }\n if (typeof this.stShowProductsWholesalePrice !== 'undefined') {\n toReturn['stShowProductsWholesalePrice'] = this.stShowProductsWholesalePrice;\n }\n if (typeof this.stShowTrainingResourcesField !== 'undefined') {\n toReturn['stShowTrainingResourcesField'] = this.stShowTrainingResourcesField;\n }\n if (typeof this.stSalespersonSharedAccountAccess !== 'undefined') {\n toReturn['stSalespersonSharedAccountAccess'] = this.stSalespersonSharedAccountAccess;\n }\n if (typeof this.stDefaultDisplayCurrency !== 'undefined') {\n toReturn['stDefaultDisplayCurrency'] = this.stDefaultDisplayCurrency;\n }\n if (typeof this.stEnableSnapshotsPerSalespersonLimit !== 'undefined') {\n toReturn['stEnableSnapshotsPerSalespersonLimit'] = this.stEnableSnapshotsPerSalespersonLimit;\n }\n if (typeof this.stSnapshotsPerSalespersonLimit !== 'undefined') {\n toReturn['stSnapshotsPerSalespersonLimit'] = this.stSnapshotsPerSalespersonLimit;\n }\n if (typeof this.stBusinessCenterAccess !== 'undefined') {\n toReturn['stBusinessCenterAccess'] = this.stBusinessCenterAccess;\n }\n if (typeof this.hideOrders !== 'undefined') {\n toReturn['hideOrders'] = this.hideOrders;\n }\n if (typeof this.sscWhitelabeled !== 'undefined') {\n toReturn['sscWhitelabeled'] = this.sscWhitelabeled;\n }\n if (typeof this.stShowInbox !== 'undefined') {\n toReturn['stShowInbox'] = this.stShowInbox;\n }\n return toReturn;\n }\n}\nclass SetSalesConfigRequest {\n static fromProto(proto) {\n let m = new SetSalesConfigRequest();\n m = Object.assign(m, proto);\n if (proto.config) {\n m.config = SalesConfigInputs.fromProto(proto.config);\n }\n if (proto.fieldMask) {\n m.fieldMask = FieldMask.fromProto(proto.fieldMask);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.marketId !== 'undefined') {\n toReturn['marketId'] = this.marketId;\n }\n if (typeof this.config !== 'undefined' && this.config !== null) {\n toReturn['config'] = 'toApiJson' in this.config ? this.config.toApiJson() : this.config;\n }\n if (typeof this.fieldMask !== 'undefined' && this.fieldMask !== null) {\n toReturn['fieldMask'] = 'toApiJson' in this.fieldMask ? this.fieldMask.toApiJson() : this.fieldMask;\n }\n return toReturn;\n }\n}\nclass SetSalesConfigResponse {\n static fromProto(proto) {\n let m = new SetSalesConfigResponse();\n m = Object.assign(m, proto);\n if (proto.config) {\n m.config = SalesConfigInputs.fromProto(proto.config);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.config !== 'undefined' && this.config !== null) {\n toReturn['config'] = 'toApiJson' in this.config ? this.config.toApiJson() : this.config;\n }\n return toReturn;\n }\n}\nfunction enumStringToValue$c(enumRef, value) {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\nclass BusinessCenterConfiguration {\n static fromProto(proto) {\n let m = new BusinessCenterConfiguration();\n m = Object.assign(m, proto);\n if (proto.referralLink) {\n m.referralLink = ReferralLink.fromProto(proto.referralLink);\n }\n if (proto.singleLocationDefaultTimeRange) {\n m.singleLocationDefaultTimeRange = enumStringToValue$c(TimeRange, proto.singleLocationDefaultTimeRange);\n }\n if (proto.globalNotificationExpiryTime) {\n m.globalNotificationExpiryTime = new Date(proto.globalNotificationExpiryTime);\n }\n if (proto.multiLocationDefaultTimeRange) {\n m.multiLocationDefaultTimeRange = enumStringToValue$c(TimeRange, proto.multiLocationDefaultTimeRange);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.showContentLibrary !== 'undefined') {\n toReturn['showContentLibrary'] = this.showContentLibrary;\n }\n if (typeof this.showLmiDashboard !== 'undefined') {\n toReturn['showLmiDashboard'] = this.showLmiDashboard;\n }\n if (typeof this.showExecutiveReport !== 'undefined') {\n toReturn['showExecutiveReport'] = this.showExecutiveReport;\n }\n if (typeof this.showStore !== 'undefined') {\n toReturn['showStore'] = this.showStore;\n }\n if (typeof this.cancellationNotificationEmail !== 'undefined') {\n toReturn['cancellationNotificationEmail'] = this.cancellationNotificationEmail;\n }\n if (typeof this.globalNotification !== 'undefined') {\n toReturn['globalNotification'] = this.globalNotification;\n }\n if (typeof this.businessAppBranding !== 'undefined') {\n toReturn['businessAppBranding'] = this.businessAppBranding;\n }\n if (typeof this.referralLink !== 'undefined' && this.referralLink !== null) {\n toReturn['referralLink'] = 'toApiJson' in this.referralLink ? this.referralLink.toApiJson() : this.referralLink;\n }\n if (typeof this.accessTrialProducts !== 'undefined') {\n toReturn['accessTrialProducts'] = this.accessTrialProducts;\n }\n if (typeof this.hideQuickbooksConnector !== 'undefined') {\n toReturn['hideQuickbooksConnector'] = this.hideQuickbooksConnector;\n }\n if (typeof this.hideSmbAcademy !== 'undefined') {\n toReturn['hideSmbAcademy'] = this.hideSmbAcademy;\n }\n if (typeof this.showReviewGradeForSmbExecReport !== 'undefined') {\n toReturn['showReviewGradeForSmbExecReport'] = this.showReviewGradeForSmbExecReport;\n }\n if (typeof this.showGetStarted !== 'undefined') {\n toReturn['showGetStarted'] = this.showGetStarted;\n }\n if (typeof this.meetingSchedulerBusinessApp !== 'undefined') {\n toReturn['meetingSchedulerBusinessApp'] = this.meetingSchedulerBusinessApp;\n }\n if (typeof this.showSocialGradeForSmbExecReport !== 'undefined') {\n toReturn['showSocialGradeForSmbExecReport'] = this.showSocialGradeForSmbExecReport;\n }\n if (typeof this.showMyListingInBusinessCenter !== 'undefined') {\n toReturn['showMyListingInBusinessCenter'] = this.showMyListingInBusinessCenter;\n }\n if (typeof this.showInviteTeam !== 'undefined') {\n toReturn['showInviteTeam'] = this.showInviteTeam;\n }\n if (typeof this.disableBusinessNav !== 'undefined') {\n toReturn['disableBusinessNav'] = this.disableBusinessNav;\n }\n if (typeof this.showFulfillment !== 'undefined') {\n toReturn['showFulfillment'] = this.showFulfillment;\n }\n if (typeof this.showOrderPage !== 'undefined') {\n toReturn['showOrderPage'] = this.showOrderPage;\n }\n if (typeof this.showInvoices !== 'undefined') {\n toReturn['showInvoices'] = this.showInvoices;\n }\n if (typeof this.showDashboard !== 'undefined') {\n toReturn['showDashboard'] = this.showDashboard;\n }\n if (typeof this.showFiles !== 'undefined') {\n toReturn['showFiles'] = this.showFiles;\n }\n if (typeof this.showMyProducts !== 'undefined') {\n toReturn['showMyProducts'] = this.showMyProducts;\n }\n if (typeof this.showCustomers !== 'undefined') {\n toReturn['showCustomers'] = this.showCustomers;\n }\n if (typeof this.showRecentActivity !== 'undefined') {\n toReturn['showRecentActivity'] = this.showRecentActivity;\n }\n if (typeof this.showInboxMessage !== 'undefined') {\n toReturn['showInboxMessage'] = this.showInboxMessage;\n }\n if (typeof this.showCustomerJourney !== 'undefined') {\n toReturn['showCustomerJourney'] = this.showCustomerJourney;\n }\n if (typeof this.showOnboardingVideo !== 'undefined') {\n toReturn['showOnboardingVideo'] = this.showOnboardingVideo;\n }\n if (typeof this.onboardingVideoUrl !== 'undefined') {\n toReturn['onboardingVideoUrl'] = this.onboardingVideoUrl;\n }\n if (typeof this.showMarketingFunnel !== 'undefined') {\n toReturn['showMarketingFunnel'] = this.showMarketingFunnel;\n }\n if (typeof this.showCustomGuides !== 'undefined') {\n toReturn['showCustomGuides'] = this.showCustomGuides;\n }\n if (typeof this.customGuidesTags !== 'undefined') {\n toReturn['customGuidesTags'] = this.customGuidesTags;\n }\n if (typeof this.customGuidesUrl !== 'undefined') {\n toReturn['customGuidesUrl'] = this.customGuidesUrl;\n }\n if (typeof this.sendOnboardingCampaign !== 'undefined') {\n toReturn['sendOnboardingCampaign'] = this.sendOnboardingCampaign;\n }\n if (typeof this.onboardingCampaignId !== 'undefined') {\n toReturn['onboardingCampaignId'] = this.onboardingCampaignId;\n }\n if (typeof this.showRecommendationsBanner !== 'undefined') {\n toReturn['showRecommendationsBanner'] = this.showRecommendationsBanner;\n }\n if (typeof this.singleLocationDefaultTimeRange !== 'undefined') {\n toReturn['singleLocationDefaultTimeRange'] = this.singleLocationDefaultTimeRange;\n }\n if (typeof this.showGoogleSearchConsoleCta !== 'undefined') {\n toReturn['showGoogleSearchConsoleCta'] = this.showGoogleSearchConsoleCta;\n }\n if (typeof this.isBusinessProfileEditable !== 'undefined') {\n toReturn['isBusinessProfileEditable'] = this.isBusinessProfileEditable;\n }\n if (typeof this.allowSmbChatWithPartner !== 'undefined') {\n toReturn['allowSmbChatWithPartner'] = this.allowSmbChatWithPartner;\n }\n if (typeof this.showWordPressSalesOrders !== 'undefined') {\n toReturn['showWordPressSalesOrders'] = this.showWordPressSalesOrders;\n }\n if (typeof this.globalNotificationExpiryTime !== 'undefined' && this.globalNotificationExpiryTime !== null) {\n toReturn['globalNotificationExpiryTime'] = 'toApiJson' in this.globalNotificationExpiryTime ? this.globalNotificationExpiryTime.toApiJson() : this.globalNotificationExpiryTime;\n }\n if (typeof this.showListingScore !== 'undefined') {\n toReturn['showListingScore'] = this.showListingScore;\n }\n if (typeof this.multiLocationDefaultTimeRange !== 'undefined') {\n toReturn['multiLocationDefaultTimeRange'] = this.multiLocationDefaultTimeRange;\n }\n if (typeof this.hideCreateAccount !== 'undefined') {\n toReturn['hideCreateAccount'] = this.hideCreateAccount;\n }\n if (typeof this.notificationsEnabled !== 'undefined') {\n toReturn['notificationsEnabled'] = this.notificationsEnabled;\n }\n if (typeof this.showListingScoreAsPercent !== 'undefined') {\n toReturn['showListingScoreAsPercent'] = this.showListingScoreAsPercent;\n }\n if (typeof this.customGuidesInlineTitle !== 'undefined') {\n toReturn['customGuidesInlineTitle'] = this.customGuidesInlineTitle;\n }\n if (typeof this.allowExportReviews !== 'undefined') {\n toReturn['allowExportReviews'] = this.allowExportReviews;\n }\n if (typeof this.decoupleProductAndReportAccess !== 'undefined') {\n toReturn['decoupleProductAndReportAccess'] = this.decoupleProductAndReportAccess;\n }\n if (typeof this.showCrmCompanies !== 'undefined') {\n toReturn['showCrmCompanies'] = this.showCrmCompanies;\n }\n if (typeof this.showCrmTasks !== 'undefined') {\n toReturn['showCrmTasks'] = this.showCrmTasks;\n }\n if (typeof this.showCustomForms !== 'undefined') {\n toReturn['showCustomForms'] = this.showCustomForms;\n }\n return toReturn;\n }\n}\nclass BusinessCenterMarketConfiguration {\n static fromProto(proto) {\n let m = new BusinessCenterMarketConfiguration();\n m = Object.assign(m, proto);\n if (proto.referralLink) {\n m.referralLink = ReferralLink.fromProto(proto.referralLink);\n }\n if (proto.singleLocationDefaultTimeRange) {\n m.singleLocationDefaultTimeRange = enumStringToValue$c(TimeRange, proto.singleLocationDefaultTimeRange);\n }\n if (proto.globalNotificationExpiryTime) {\n m.globalNotificationExpiryTime = new Date(proto.globalNotificationExpiryTime);\n }\n if (proto.multiLocationDefaultTimeRange) {\n m.multiLocationDefaultTimeRange = enumStringToValue$c(TimeRange, proto.multiLocationDefaultTimeRange);\n }\n if (proto.editUserProfileLocation) {\n m.editUserProfileLocation = enumStringToValue$c(EditUserProfileLocation, proto.editUserProfileLocation);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.marketId !== 'undefined') {\n toReturn['marketId'] = this.marketId;\n }\n if (typeof this.showContentLibrary !== 'undefined') {\n toReturn['showContentLibrary'] = this.showContentLibrary;\n }\n if (typeof this.showLmiDashboard !== 'undefined') {\n toReturn['showLmiDashboard'] = this.showLmiDashboard;\n }\n if (typeof this.showExecutiveReport !== 'undefined') {\n toReturn['showExecutiveReport'] = this.showExecutiveReport;\n }\n if (typeof this.showStore !== 'undefined') {\n toReturn['showStore'] = this.showStore;\n }\n if (typeof this.cancellationNotificationEmail !== 'undefined') {\n toReturn['cancellationNotificationEmail'] = this.cancellationNotificationEmail;\n }\n if (typeof this.globalNotification !== 'undefined') {\n toReturn['globalNotification'] = this.globalNotification;\n }\n if (typeof this.businessAppBranding !== 'undefined') {\n toReturn['businessAppBranding'] = this.businessAppBranding;\n }\n if (typeof this.accessTrialProducts !== 'undefined') {\n toReturn['accessTrialProducts'] = this.accessTrialProducts;\n }\n if (typeof this.hideQuickbooksConnector !== 'undefined') {\n toReturn['hideQuickbooksConnector'] = this.hideQuickbooksConnector;\n }\n if (typeof this.hideSmbAcademy !== 'undefined') {\n toReturn['hideSmbAcademy'] = this.hideSmbAcademy;\n }\n if (typeof this.showReviewGradeForSmbExecReport !== 'undefined') {\n toReturn['showReviewGradeForSmbExecReport'] = this.showReviewGradeForSmbExecReport;\n }\n if (typeof this.showGetStarted !== 'undefined') {\n toReturn['showGetStarted'] = this.showGetStarted;\n }\n if (typeof this.meetingSchedulerBusinessApp !== 'undefined') {\n toReturn['meetingSchedulerBusinessApp'] = this.meetingSchedulerBusinessApp;\n }\n if (typeof this.showSocialGradeForSmbExecReport !== 'undefined') {\n toReturn['showSocialGradeForSmbExecReport'] = this.showSocialGradeForSmbExecReport;\n }\n if (typeof this.showInviteTeam !== 'undefined') {\n toReturn['showInviteTeam'] = this.showInviteTeam;\n }\n if (typeof this.showFulfillment !== 'undefined') {\n toReturn['showFulfillment'] = this.showFulfillment;\n }\n if (typeof this.showOrderPage !== 'undefined') {\n toReturn['showOrderPage'] = this.showOrderPage;\n }\n if (typeof this.showInvoices !== 'undefined') {\n toReturn['showInvoices'] = this.showInvoices;\n }\n if (typeof this.showDashboard !== 'undefined') {\n toReturn['showDashboard'] = this.showDashboard;\n }\n if (typeof this.showFiles !== 'undefined') {\n toReturn['showFiles'] = this.showFiles;\n }\n if (typeof this.showMyProducts !== 'undefined') {\n toReturn['showMyProducts'] = this.showMyProducts;\n }\n if (typeof this.showCustomers !== 'undefined') {\n toReturn['showCustomers'] = this.showCustomers;\n }\n if (typeof this.showRecentActivity !== 'undefined') {\n toReturn['showRecentActivity'] = this.showRecentActivity;\n }\n if (typeof this.showInboxMessage !== 'undefined') {\n toReturn['showInboxMessage'] = this.showInboxMessage;\n }\n if (typeof this.referralLink !== 'undefined' && this.referralLink !== null) {\n toReturn['referralLink'] = 'toApiJson' in this.referralLink ? this.referralLink.toApiJson() : this.referralLink;\n }\n if (typeof this.showCustomerJourney !== 'undefined') {\n toReturn['showCustomerJourney'] = this.showCustomerJourney;\n }\n if (typeof this.showOnboardingVideo !== 'undefined') {\n toReturn['showOnboardingVideo'] = this.showOnboardingVideo;\n }\n if (typeof this.onboardingVideoUrl !== 'undefined') {\n toReturn['onboardingVideoUrl'] = this.onboardingVideoUrl;\n }\n if (typeof this.showMarketingFunnel !== 'undefined') {\n toReturn['showMarketingFunnel'] = this.showMarketingFunnel;\n }\n if (typeof this.showCustomGuides !== 'undefined') {\n toReturn['showCustomGuides'] = this.showCustomGuides;\n }\n if (typeof this.customGuidesTags !== 'undefined') {\n toReturn['customGuidesTags'] = this.customGuidesTags;\n }\n if (typeof this.customGuidesUrl !== 'undefined') {\n toReturn['customGuidesUrl'] = this.customGuidesUrl;\n }\n if (typeof this.sendOnboardingCampaign !== 'undefined') {\n toReturn['sendOnboardingCampaign'] = this.sendOnboardingCampaign;\n }\n if (typeof this.onboardingCampaignId !== 'undefined') {\n toReturn['onboardingCampaignId'] = this.onboardingCampaignId;\n }\n if (typeof this.showRecommendationsBanner !== 'undefined') {\n toReturn['showRecommendationsBanner'] = this.showRecommendationsBanner;\n }\n if (typeof this.singleLocationDefaultTimeRange !== 'undefined') {\n toReturn['singleLocationDefaultTimeRange'] = this.singleLocationDefaultTimeRange;\n }\n if (typeof this.showGoogleSearchConsoleCta !== 'undefined') {\n toReturn['showGoogleSearchConsoleCta'] = this.showGoogleSearchConsoleCta;\n }\n if (typeof this.isBusinessProfileEditable !== 'undefined') {\n toReturn['isBusinessProfileEditable'] = this.isBusinessProfileEditable;\n }\n if (typeof this.allowSmbChatWithPartner !== 'undefined') {\n toReturn['allowSmbChatWithPartner'] = this.allowSmbChatWithPartner;\n }\n if (typeof this.showWordPressSalesOrders !== 'undefined') {\n toReturn['showWordPressSalesOrders'] = this.showWordPressSalesOrders;\n }\n if (typeof this.globalNotificationExpiryTime !== 'undefined' && this.globalNotificationExpiryTime !== null) {\n toReturn['globalNotificationExpiryTime'] = 'toApiJson' in this.globalNotificationExpiryTime ? this.globalNotificationExpiryTime.toApiJson() : this.globalNotificationExpiryTime;\n }\n if (typeof this.showListingScore !== 'undefined') {\n toReturn['showListingScore'] = this.showListingScore;\n }\n if (typeof this.multiLocationDefaultTimeRange !== 'undefined') {\n toReturn['multiLocationDefaultTimeRange'] = this.multiLocationDefaultTimeRange;\n }\n if (typeof this.businessAppName !== 'undefined') {\n toReturn['businessAppName'] = this.businessAppName;\n }\n if (typeof this.hideCreateAccount !== 'undefined') {\n toReturn['hideCreateAccount'] = this.hideCreateAccount;\n }\n if (typeof this.notificationsEnabled !== 'undefined') {\n toReturn['notificationsEnabled'] = this.notificationsEnabled;\n }\n if (typeof this.editUserProfileLocation !== 'undefined') {\n toReturn['editUserProfileLocation'] = this.editUserProfileLocation;\n }\n if (typeof this.editUserProfileCustomLink !== 'undefined') {\n toReturn['editUserProfileCustomLink'] = this.editUserProfileCustomLink;\n }\n if (typeof this.editUserProfileName !== 'undefined') {\n toReturn['editUserProfileName'] = this.editUserProfileName;\n }\n if (typeof this.showListingScoreAsPercent !== 'undefined') {\n toReturn['showListingScoreAsPercent'] = this.showListingScoreAsPercent;\n }\n if (typeof this.customGuidesInlineTitle !== 'undefined') {\n toReturn['customGuidesInlineTitle'] = this.customGuidesInlineTitle;\n }\n if (typeof this.allowExportReviews !== 'undefined') {\n toReturn['allowExportReviews'] = this.allowExportReviews;\n }\n if (typeof this.decoupleProductAndReportAccess !== 'undefined') {\n toReturn['decoupleProductAndReportAccess'] = this.decoupleProductAndReportAccess;\n }\n if (typeof this.showCrmCompanies !== 'undefined') {\n toReturn['showCrmCompanies'] = this.showCrmCompanies;\n }\n if (typeof this.showCrmTasks !== 'undefined') {\n toReturn['showCrmTasks'] = this.showCrmTasks;\n }\n if (typeof this.showCustomForms !== 'undefined') {\n toReturn['showCustomForms'] = this.showCustomForms;\n }\n return toReturn;\n }\n}\nclass GetBusinessCenterMarketConfigurationRequest {\n static fromProto(proto) {\n let m = new GetBusinessCenterMarketConfigurationRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.marketId !== 'undefined') {\n toReturn['marketId'] = this.marketId;\n }\n return toReturn;\n }\n}\nclass GetBusinessCenterMarketConfigurationResponse {\n static fromProto(proto) {\n let m = new GetBusinessCenterMarketConfigurationResponse();\n m = Object.assign(m, proto);\n if (proto.marketConfiguration) {\n m.marketConfiguration = BusinessCenterMarketConfiguration.fromProto(proto.marketConfiguration);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.marketConfiguration !== 'undefined' && this.marketConfiguration !== null) {\n toReturn['marketConfiguration'] = 'toApiJson' in this.marketConfiguration ? this.marketConfiguration.toApiJson() : this.marketConfiguration;\n }\n return toReturn;\n }\n}\nclass ReferralLink {\n static fromProto(proto) {\n let m = new ReferralLink();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.longUrl !== 'undefined') {\n toReturn['longUrl'] = this.longUrl;\n }\n if (typeof this.shortenedUrl !== 'undefined') {\n toReturn['shortenedUrl'] = this.shortenedUrl;\n }\n return toReturn;\n }\n}\nclass SetBusinessCenterConfigRequest {\n static fromProto(proto) {\n let m = new SetBusinessCenterConfigRequest();\n m = Object.assign(m, proto);\n if (proto.config) {\n m.config = BusinessCenterConfiguration.fromProto(proto.config);\n }\n if (proto.fieldMask) {\n m.fieldMask = FieldMask.fromProto(proto.fieldMask);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.marketId !== 'undefined') {\n toReturn['marketId'] = this.marketId;\n }\n if (typeof this.config !== 'undefined' && this.config !== null) {\n toReturn['config'] = 'toApiJson' in this.config ? this.config.toApiJson() : this.config;\n }\n if (typeof this.fieldMask !== 'undefined' && this.fieldMask !== null) {\n toReturn['fieldMask'] = 'toApiJson' in this.fieldMask ? this.fieldMask.toApiJson() : this.fieldMask;\n }\n return toReturn;\n }\n}\nclass SetBusinessCenterConfigResponse {\n static fromProto(proto) {\n let m = new SetBusinessCenterConfigResponse();\n m = Object.assign(m, proto);\n if (proto.config) {\n m.config = BusinessCenterConfiguration.fromProto(proto.config);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.config !== 'undefined' && this.config !== null) {\n toReturn['config'] = 'toApiJson' in this.config ? this.config.toApiJson() : this.config;\n }\n return toReturn;\n }\n}\nclass UpdateBusinessCenterMarketConfigurationRequest {\n static fromProto(proto) {\n let m = new UpdateBusinessCenterMarketConfigurationRequest();\n m = Object.assign(m, proto);\n if (proto.marketConfiguration) {\n m.marketConfiguration = BusinessCenterMarketConfiguration.fromProto(proto.marketConfiguration);\n }\n if (proto.fieldMask) {\n m.fieldMask = FieldMask.fromProto(proto.fieldMask);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.marketConfiguration !== 'undefined' && this.marketConfiguration !== null) {\n toReturn['marketConfiguration'] = 'toApiJson' in this.marketConfiguration ? this.marketConfiguration.toApiJson() : this.marketConfiguration;\n }\n if (typeof this.fieldMask !== 'undefined' && this.fieldMask !== null) {\n toReturn['fieldMask'] = 'toApiJson' in this.fieldMask ? this.fieldMask.toApiJson() : this.fieldMask;\n }\n return toReturn;\n }\n}\nclass UpdateBusinessCenterMarketConfigurationResponse {\n static fromProto(proto) {\n let m = new UpdateBusinessCenterMarketConfigurationResponse();\n m = Object.assign(m, proto);\n if (proto.marketConfiguration) {\n m.marketConfiguration = BusinessCenterMarketConfiguration.fromProto(proto.marketConfiguration);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.marketConfiguration !== 'undefined' && this.marketConfiguration !== null) {\n toReturn['marketConfiguration'] = 'toApiJson' in this.marketConfiguration ? this.marketConfiguration.toApiJson() : this.marketConfiguration;\n }\n return toReturn;\n }\n}\nfunction enumStringToValue$b(enumRef, value) {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\nclass AppIdentifier {\n static fromProto(proto) {\n let m = new AppIdentifier();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.appId !== 'undefined') {\n toReturn['appId'] = this.appId;\n }\n if (typeof this.editionId !== 'undefined') {\n toReturn['editionId'] = this.editionId;\n }\n return toReturn;\n }\n}\nclass CompareSubscriptionTiersRequest {\n static fromProto(proto) {\n let m = new CompareSubscriptionTiersRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.subscriptionTierIds !== 'undefined') {\n toReturn['subscriptionTierIds'] = this.subscriptionTierIds;\n }\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n return toReturn;\n }\n}\nclass CompareSubscriptionTiersResponse {\n static fromProto(proto) {\n let m = new CompareSubscriptionTiersResponse();\n m = Object.assign(m, proto);\n if (proto.rows) {\n m.rows = proto.rows.map(ComparisonRow.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.rows !== 'undefined' && this.rows !== null) {\n toReturn['rows'] = 'toApiJson' in this.rows ? this.rows.toApiJson() : this.rows;\n }\n return toReturn;\n }\n}\nclass ComparisonCell {\n static fromProto(proto) {\n let m = new ComparisonCell();\n m = Object.assign(m, proto);\n if (proto.count) {\n m.count = CountConstraint.fromProto(proto.count);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.count !== 'undefined' && this.count !== null) {\n toReturn['count'] = 'toApiJson' in this.count ? this.count.toApiJson() : this.count;\n }\n if (typeof this.isIncluded !== 'undefined') {\n toReturn['isIncluded'] = this.isIncluded;\n }\n if (typeof this.isLimited !== 'undefined') {\n toReturn['isLimited'] = this.isLimited;\n }\n return toReturn;\n }\n}\nclass ComparisonRow {\n static fromProto(proto) {\n let m = new ComparisonRow();\n m = Object.assign(m, proto);\n if (proto.cells) {\n m.cells = proto.cells.map(ComparisonCell.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.rowId !== 'undefined') {\n toReturn['rowId'] = this.rowId;\n }\n if (typeof this.sectionId !== 'undefined') {\n toReturn['sectionId'] = this.sectionId;\n }\n if (typeof this.cells !== 'undefined' && this.cells !== null) {\n toReturn['cells'] = 'toApiJson' in this.cells ? this.cells.toApiJson() : this.cells;\n }\n return toReturn;\n }\n}\nclass CountConstraint {\n static fromProto(proto) {\n let m = new CountConstraint();\n m = Object.assign(m, proto);\n if (proto.included) {\n m.included = parseInt(proto.included, 10);\n }\n if (proto.additionalCost) {\n m.additionalCost = TierCostConstraint.fromProto(proto.additionalCost);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.included !== 'undefined') {\n toReturn['included'] = this.included;\n }\n if (typeof this.additionalCost !== 'undefined' && this.additionalCost !== null) {\n toReturn['additionalCost'] = 'toApiJson' in this.additionalCost ? this.additionalCost.toApiJson() : this.additionalCost;\n }\n return toReturn;\n }\n}\nclass GetSubscriptionTierRequest {\n static fromProto(proto) {\n let m = new GetSubscriptionTierRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.id !== 'undefined') {\n toReturn['id'] = this.id;\n }\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n return toReturn;\n }\n}\nclass GetSubscriptionTierResponse {\n static fromProto(proto) {\n let m = new GetSubscriptionTierResponse();\n m = Object.assign(m, proto);\n if (proto.subscriptionTier) {\n m.subscriptionTier = SubscriptionTier.fromProto(proto.subscriptionTier);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.subscriptionTier !== 'undefined' && this.subscriptionTier !== null) {\n toReturn['subscriptionTier'] = 'toApiJson' in this.subscriptionTier ? this.subscriptionTier.toApiJson() : this.subscriptionTier;\n }\n return toReturn;\n }\n}\nclass ListSubscriptionTiersRequest {\n static fromProto(proto) {\n let m = new ListSubscriptionTiersRequest();\n m = Object.assign(m, proto);\n if (proto.pageSize) {\n m.pageSize = parseInt(proto.pageSize, 10);\n }\n if (proto.cursor) {\n m.cursor = parseInt(proto.cursor, 10);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.pageSize !== 'undefined') {\n toReturn['pageSize'] = this.pageSize;\n }\n if (typeof this.cursor !== 'undefined') {\n toReturn['cursor'] = this.cursor;\n }\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n return toReturn;\n }\n}\nclass ListSubscriptionTiersResponse {\n static fromProto(proto) {\n let m = new ListSubscriptionTiersResponse();\n m = Object.assign(m, proto);\n if (proto.subscriptionTier) {\n m.subscriptionTier = proto.subscriptionTier.map(SubscriptionTier.fromProto);\n }\n if (proto.cursor) {\n m.cursor = parseInt(proto.cursor, 10);\n }\n if (proto.totalResults) {\n m.totalResults = parseInt(proto.totalResults, 10);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.subscriptionTier !== 'undefined' && this.subscriptionTier !== null) {\n toReturn['subscriptionTier'] = 'toApiJson' in this.subscriptionTier ? this.subscriptionTier.toApiJson() : this.subscriptionTier;\n }\n if (typeof this.cursor !== 'undefined') {\n toReturn['cursor'] = this.cursor;\n }\n if (typeof this.hasMore !== 'undefined') {\n toReturn['hasMore'] = this.hasMore;\n }\n if (typeof this.totalResults !== 'undefined') {\n toReturn['totalResults'] = this.totalResults;\n }\n return toReturn;\n }\n}\nclass SubscriptionTier {\n static fromProto(proto) {\n let m = new SubscriptionTier();\n m = Object.assign(m, proto);\n if (proto.rank) {\n m.rank = parseInt(proto.rank, 10);\n }\n if (proto.usageLimits) {\n m.usageLimits = TierUsageLimits.fromProto(proto.usageLimits);\n }\n if (proto.subscriptionUpdate) {\n m.subscriptionUpdate = SubscriptionUpdate.fromProto(proto.subscriptionUpdate);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.id !== 'undefined') {\n toReturn['id'] = this.id;\n }\n if (typeof this.partnerModelLevel !== 'undefined') {\n toReturn['partnerModelLevel'] = this.partnerModelLevel;\n }\n if (typeof this.name !== 'undefined') {\n toReturn['name'] = this.name;\n }\n if (typeof this.pricingPlanId !== 'undefined') {\n toReturn['pricingPlanId'] = this.pricingPlanId;\n }\n if (typeof this.tierVersion !== 'undefined') {\n toReturn['tierVersion'] = this.tierVersion;\n }\n if (typeof this.archived !== 'undefined') {\n toReturn['archived'] = this.archived;\n }\n if (typeof this.enabledFeatures !== 'undefined') {\n toReturn['enabledFeatures'] = this.enabledFeatures;\n }\n if (typeof this.allowTrials !== 'undefined') {\n toReturn['allowTrials'] = this.allowTrials;\n }\n if (typeof this.rank !== 'undefined') {\n toReturn['rank'] = this.rank;\n }\n if (typeof this.usageLimits !== 'undefined' && this.usageLimits !== null) {\n toReturn['usageLimits'] = 'toApiJson' in this.usageLimits ? this.usageLimits.toApiJson() : this.usageLimits;\n }\n if (typeof this.subscriptionUpdate !== 'undefined' && this.subscriptionUpdate !== null) {\n toReturn['subscriptionUpdate'] = 'toApiJson' in this.subscriptionUpdate ? this.subscriptionUpdate.toApiJson() : this.subscriptionUpdate;\n }\n if (typeof this.allowSelfUpgrade !== 'undefined') {\n toReturn['allowSelfUpgrade'] = this.allowSelfUpgrade;\n }\n if (typeof this.allowFreeTrials !== 'undefined') {\n toReturn['allowFreeTrials'] = this.allowFreeTrials;\n }\n return toReturn;\n }\n}\nclass SubscriptionUpdate {\n static fromProto(proto) {\n let m = new SubscriptionUpdate();\n m = Object.assign(m, proto);\n if (proto.salesOrderAppId) {\n m.salesOrderAppId = AppIdentifier.fromProto(proto.salesOrderAppId);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.salesOrderAppId !== 'undefined' && this.salesOrderAppId !== null) {\n toReturn['salesOrderAppId'] = 'toApiJson' in this.salesOrderAppId ? this.salesOrderAppId.toApiJson() : this.salesOrderAppId;\n }\n if (typeof this.subscriptionSkus !== 'undefined') {\n toReturn['subscriptionSkus'] = this.subscriptionSkus;\n }\n if (typeof this.oneTimeSubscriptionSkus !== 'undefined') {\n toReturn['oneTimeSubscriptionSkus'] = this.oneTimeSubscriptionSkus;\n }\n if (typeof this.monthlySubscriptionSkus !== 'undefined') {\n toReturn['monthlySubscriptionSkus'] = this.monthlySubscriptionSkus;\n }\n return toReturn;\n }\n}\nclass TierCostConstraint {\n static fromProto(proto) {\n let m = new TierCostConstraint();\n m = Object.assign(m, proto);\n if (proto.cost) {\n m.cost = parseInt(proto.cost, 10);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.cost !== 'undefined') {\n toReturn['cost'] = this.cost;\n }\n if (typeof this.currencyCode !== 'undefined') {\n toReturn['currencyCode'] = this.currencyCode;\n }\n if (typeof this.isFree !== 'undefined') {\n toReturn['isFree'] = this.isFree;\n }\n return toReturn;\n }\n}\nclass TierUsageLimits {\n static fromProto(proto) {\n let m = new TierUsageLimits();\n m = Object.assign(m, proto);\n if (proto.teamMembers) {\n m.teamMembers = parseInt(proto.teamMembers, 10);\n }\n if (proto.emailsPerMonth) {\n m.emailsPerMonth = parseInt(proto.emailsPerMonth, 10);\n }\n if (proto.annualFee) {\n m.annualFee = parseInt(proto.annualFee, 10);\n }\n if (proto.newSeatCost) {\n m.newSeatCost = parseInt(proto.newSeatCost, 10);\n }\n if (proto.wholesaleDiscount) {\n m.wholesaleDiscount = parseInt(proto.wholesaleDiscount, 10);\n }\n if (proto.snapshots) {\n m.snapshots = parseInt(proto.snapshots, 10);\n }\n if (proto.toolkits) {\n m.toolkits = parseInt(proto.toolkits, 10);\n }\n if (proto.toolkitData) {\n m.toolkitData = proto.toolkitData.map(ToolkitData.fromProto);\n }\n if (proto.monthlyFee) {\n m.monthlyFee = parseInt(proto.monthlyFee, 10);\n }\n if (proto.onboardingFee) {\n m.onboardingFee = parseInt(proto.onboardingFee, 10);\n }\n if (proto.automationsPerMonth) {\n m.automationsPerMonth = parseInt(proto.automationsPerMonth, 10);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.teamMembers !== 'undefined') {\n toReturn['teamMembers'] = this.teamMembers;\n }\n if (typeof this.emailsPerMonth !== 'undefined') {\n toReturn['emailsPerMonth'] = this.emailsPerMonth;\n }\n if (typeof this.annualFee !== 'undefined') {\n toReturn['annualFee'] = this.annualFee;\n }\n if (typeof this.newSeatCost !== 'undefined') {\n toReturn['newSeatCost'] = this.newSeatCost;\n }\n if (typeof this.wholesaleDiscount !== 'undefined') {\n toReturn['wholesaleDiscount'] = this.wholesaleDiscount;\n }\n if (typeof this.snapshots !== 'undefined') {\n toReturn['snapshots'] = this.snapshots;\n }\n if (typeof this.toolkits !== 'undefined') {\n toReturn['toolkits'] = this.toolkits;\n }\n if (typeof this.toolkitData !== 'undefined' && this.toolkitData !== null) {\n toReturn['toolkitData'] = 'toApiJson' in this.toolkitData ? this.toolkitData.toApiJson() : this.toolkitData;\n }\n if (typeof this.monthlyFee !== 'undefined') {\n toReturn['monthlyFee'] = this.monthlyFee;\n }\n if (typeof this.onboardingFee !== 'undefined') {\n toReturn['onboardingFee'] = this.onboardingFee;\n }\n if (typeof this.automationsPerMonth !== 'undefined') {\n toReturn['automationsPerMonth'] = this.automationsPerMonth;\n }\n return toReturn;\n }\n}\nclass ToolkitData {\n static fromProto(proto) {\n let m = new ToolkitData();\n m = Object.assign(m, proto);\n if (proto.limit) {\n m.limit = parseInt(proto.limit, 10);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.sku !== 'undefined') {\n toReturn['sku'] = this.sku;\n }\n if (typeof this.limit !== 'undefined') {\n toReturn['limit'] = this.limit;\n }\n return toReturn;\n }\n}\nfunction enumStringToValue$a(enumRef, value) {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\nclass CreateTermsOfServiceRequest {\n static fromProto(proto) {\n let m = new CreateTermsOfServiceRequest();\n m = Object.assign(m, proto);\n if (proto.termsOfService) {\n m.termsOfService = TermsOfService.fromProto(proto.termsOfService);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.termsOfService !== 'undefined' && this.termsOfService !== null) {\n toReturn['termsOfService'] = 'toApiJson' in this.termsOfService ? this.termsOfService.toApiJson() : this.termsOfService;\n }\n return toReturn;\n }\n}\nclass GetTermsOfServiceRequest {\n static fromProto(proto) {\n let m = new GetTermsOfServiceRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.marketId !== 'undefined') {\n toReturn['marketId'] = this.marketId;\n }\n if (typeof this.feature !== 'undefined') {\n toReturn['feature'] = this.feature;\n }\n return toReturn;\n }\n}\nclass GetTermsOfServiceResponse {\n static fromProto(proto) {\n let m = new GetTermsOfServiceResponse();\n m = Object.assign(m, proto);\n if (proto.termsOfService) {\n m.termsOfService = TermsOfService.fromProto(proto.termsOfService);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.termsOfService !== 'undefined' && this.termsOfService !== null) {\n toReturn['termsOfService'] = 'toApiJson' in this.termsOfService ? this.termsOfService.toApiJson() : this.termsOfService;\n }\n return toReturn;\n }\n}\nclass TermsOfService {\n static fromProto(proto) {\n let m = new TermsOfService();\n m = Object.assign(m, proto);\n if (proto.createdOn) {\n m.createdOn = new Date(proto.createdOn);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.marketId !== 'undefined') {\n toReturn['marketId'] = this.marketId;\n }\n if (typeof this.termsOfService !== 'undefined') {\n toReturn['termsOfService'] = this.termsOfService;\n }\n if (typeof this.product !== 'undefined') {\n toReturn['product'] = this.product;\n }\n if (typeof this.language !== 'undefined') {\n toReturn['language'] = this.language;\n }\n if (typeof this.createdOn !== 'undefined' && this.createdOn !== null) {\n toReturn['createdOn'] = 'toApiJson' in this.createdOn ? this.createdOn.toApiJson() : this.createdOn;\n }\n if (typeof this.feature !== 'undefined') {\n toReturn['feature'] = this.feature;\n }\n return toReturn;\n }\n}\nfunction enumStringToValue$9(enumRef, value) {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\nclass GetUserAgreementTermsOfServiceRequest {\n static fromProto(proto) {\n let m = new GetUserAgreementTermsOfServiceRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.userId !== 'undefined') {\n toReturn['userId'] = this.userId;\n }\n if (typeof this.feature !== 'undefined') {\n toReturn['feature'] = this.feature;\n }\n return toReturn;\n }\n}\nclass GetUserAgreementTermsOfServiceResponse {\n static fromProto(proto) {\n let m = new GetUserAgreementTermsOfServiceResponse();\n m = Object.assign(m, proto);\n if (proto.userAgreementTermsOfService) {\n m.userAgreementTermsOfService = UserAgreementTermsOfService.fromProto(proto.userAgreementTermsOfService);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.userAgreementTermsOfService !== 'undefined' && this.userAgreementTermsOfService !== null) {\n toReturn['userAgreementTermsOfService'] = 'toApiJson' in this.userAgreementTermsOfService ? this.userAgreementTermsOfService.toApiJson() : this.userAgreementTermsOfService;\n }\n return toReturn;\n }\n}\nclass SetUserAgreementTermsOfServiceRequest {\n static fromProto(proto) {\n let m = new SetUserAgreementTermsOfServiceRequest();\n m = Object.assign(m, proto);\n if (proto.userAgreementTermsOfService) {\n m.userAgreementTermsOfService = UserAgreementTermsOfService.fromProto(proto.userAgreementTermsOfService);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.userAgreementTermsOfService !== 'undefined' && this.userAgreementTermsOfService !== null) {\n toReturn['userAgreementTermsOfService'] = 'toApiJson' in this.userAgreementTermsOfService ? this.userAgreementTermsOfService.toApiJson() : this.userAgreementTermsOfService;\n }\n return toReturn;\n }\n}\nclass UserAgreementTermsOfService {\n static fromProto(proto) {\n let m = new UserAgreementTermsOfService();\n m = Object.assign(m, proto);\n if (proto.acceptedAt) {\n m.acceptedAt = new Date(proto.acceptedAt);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.userId !== 'undefined') {\n toReturn['userId'] = this.userId;\n }\n if (typeof this.accepted !== 'undefined') {\n toReturn['accepted'] = this.accepted;\n }\n if (typeof this.acceptedAt !== 'undefined' && this.acceptedAt !== null) {\n toReturn['acceptedAt'] = 'toApiJson' in this.acceptedAt ? this.acceptedAt.toApiJson() : this.acceptedAt;\n }\n if (typeof this.feature !== 'undefined') {\n toReturn['feature'] = this.feature;\n }\n return toReturn;\n }\n}\nfunction enumStringToValue$8(enumRef, value) {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\nclass DeleteWizardStatusRequest {\n static fromProto(proto) {\n let m = new DeleteWizardStatusRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.userId !== 'undefined') {\n toReturn['userId'] = this.userId;\n }\n return toReturn;\n }\n}\nclass GetWizardStatusRequest {\n static fromProto(proto) {\n let m = new GetWizardStatusRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.userId !== 'undefined') {\n toReturn['userId'] = this.userId;\n }\n return toReturn;\n }\n}\nclass GetWizardStatusResponse {\n static fromProto(proto) {\n let m = new GetWizardStatusResponse();\n m = Object.assign(m, proto);\n if (proto.wizardStatus) {\n m.wizardStatus = WizardStatus.fromProto(proto.wizardStatus);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.wizardStatus !== 'undefined' && this.wizardStatus !== null) {\n toReturn['wizardStatus'] = 'toApiJson' in this.wizardStatus ? this.wizardStatus.toApiJson() : this.wizardStatus;\n }\n return toReturn;\n }\n}\nclass ListWizardStatusRequest {\n static fromProto(proto) {\n let m = new ListWizardStatusRequest();\n m = Object.assign(m, proto);\n if (proto.paging) {\n m.paging = PagingRequestMetadata.fromProto(proto.paging);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.paging !== 'undefined' && this.paging !== null) {\n toReturn['paging'] = 'toApiJson' in this.paging ? this.paging.toApiJson() : this.paging;\n }\n return toReturn;\n }\n}\nclass ListWizardStatusResponse {\n static fromProto(proto) {\n let m = new ListWizardStatusResponse();\n m = Object.assign(m, proto);\n if (proto.wizardStatuses) {\n m.wizardStatuses = proto.wizardStatuses.map(WizardStatus.fromProto);\n }\n if (proto.paging) {\n m.paging = PagedResponseData.fromProto(proto.paging);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.wizardStatuses !== 'undefined' && this.wizardStatuses !== null) {\n toReturn['wizardStatuses'] = 'toApiJson' in this.wizardStatuses ? this.wizardStatuses.toApiJson() : this.wizardStatuses;\n }\n if (typeof this.paging !== 'undefined' && this.paging !== null) {\n toReturn['paging'] = 'toApiJson' in this.paging ? this.paging.toApiJson() : this.paging;\n }\n return toReturn;\n }\n}\nclass PagedResponseData {\n static fromProto(proto) {\n let m = new PagedResponseData();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.nextCursor !== 'undefined') {\n toReturn['nextCursor'] = this.nextCursor;\n }\n if (typeof this.hasMore !== 'undefined') {\n toReturn['hasMore'] = this.hasMore;\n }\n return toReturn;\n }\n}\nclass PagingRequestMetadata {\n static fromProto(proto) {\n let m = new PagingRequestMetadata();\n m = Object.assign(m, proto);\n if (proto.pageSize) {\n m.pageSize = parseInt(proto.pageSize, 10);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.cursor !== 'undefined') {\n toReturn['cursor'] = this.cursor;\n }\n if (typeof this.pageSize !== 'undefined') {\n toReturn['pageSize'] = this.pageSize;\n }\n return toReturn;\n }\n}\nclass PagingResponseMetadata {\n static fromProto(proto) {\n let m = new PagingResponseMetadata();\n m = Object.assign(m, proto);\n if (proto.pageNumber) {\n m.pageNumber = parseInt(proto.pageNumber, 10);\n }\n if (proto.totalResults) {\n m.totalResults = parseInt(proto.totalResults, 10);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.nextCursor !== 'undefined') {\n toReturn['nextCursor'] = this.nextCursor;\n }\n if (typeof this.hasMore !== 'undefined') {\n toReturn['hasMore'] = this.hasMore;\n }\n if (typeof this.pageNumber !== 'undefined') {\n toReturn['pageNumber'] = this.pageNumber;\n }\n if (typeof this.totalResults !== 'undefined') {\n toReturn['totalResults'] = this.totalResults;\n }\n return toReturn;\n }\n}\nclass ReplaceWizardStatusRequest {\n static fromProto(proto) {\n let m = new ReplaceWizardStatusRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.userId !== 'undefined') {\n toReturn['userId'] = this.userId;\n }\n if (typeof this.activeStep !== 'undefined') {\n toReturn['activeStep'] = this.activeStep;\n }\n return toReturn;\n }\n}\nclass WizardStatus {\n static fromProto(proto) {\n let m = new WizardStatus();\n m = Object.assign(m, proto);\n if (proto.created) {\n m.created = new Date(proto.created);\n }\n if (proto.updated) {\n m.updated = new Date(proto.updated);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.userId !== 'undefined') {\n toReturn['userId'] = this.userId;\n }\n if (typeof this.activeStep !== 'undefined') {\n toReturn['activeStep'] = this.activeStep;\n }\n if (typeof this.created !== 'undefined' && this.created !== null) {\n toReturn['created'] = 'toApiJson' in this.created ? this.created.toApiJson() : this.created;\n }\n if (typeof this.updated !== 'undefined' && this.updated !== null) {\n toReturn['updated'] = 'toApiJson' in this.updated ? this.updated.toApiJson() : this.updated;\n }\n return toReturn;\n }\n}\nfunction enumStringToValue$7(enumRef, value) {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\nclass CustomerSurveyAddFeedbackRequest {\n static fromProto(proto) {\n let m = new CustomerSurveyAddFeedbackRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.customerSurveyResponseId !== 'undefined') {\n toReturn['customerSurveyResponseId'] = this.customerSurveyResponseId;\n }\n if (typeof this.feedback !== 'undefined') {\n toReturn['feedback'] = this.feedback;\n }\n if (typeof this.email !== 'undefined') {\n toReturn['email'] = this.email;\n }\n return toReturn;\n }\n}\nclass CustomerSurveyListResponsesRequest {\n static fromProto(proto) {\n let m = new CustomerSurveyListResponsesRequest();\n m = Object.assign(m, proto);\n if (proto.pagingOptions) {\n m.pagingOptions = CustomerSurveyPagedRequestOptions.fromProto(proto.pagingOptions);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.accountGroupId !== 'undefined') {\n toReturn['accountGroupId'] = this.accountGroupId;\n }\n if (typeof this.pagingOptions !== 'undefined' && this.pagingOptions !== null) {\n toReturn['pagingOptions'] = 'toApiJson' in this.pagingOptions ? this.pagingOptions.toApiJson() : this.pagingOptions;\n }\n return toReturn;\n }\n}\nclass CustomerSurveyListResponsesResponse {\n static fromProto(proto) {\n let m = new CustomerSurveyListResponsesResponse();\n m = Object.assign(m, proto);\n if (proto.responses) {\n m.responses = proto.responses.map(CustomerSurveyResponse.fromProto);\n }\n if (proto.pagingMetadata) {\n m.pagingMetadata = CustomerSurveyPagedResponseMetadata.fromProto(proto.pagingMetadata);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.responses !== 'undefined' && this.responses !== null) {\n toReturn['responses'] = 'toApiJson' in this.responses ? this.responses.toApiJson() : this.responses;\n }\n if (typeof this.pagingMetadata !== 'undefined' && this.pagingMetadata !== null) {\n toReturn['pagingMetadata'] = 'toApiJson' in this.pagingMetadata ? this.pagingMetadata.toApiJson() : this.pagingMetadata;\n }\n return toReturn;\n }\n}\nclass CustomerSurveyPagedRequestOptions {\n static fromProto(proto) {\n let m = new CustomerSurveyPagedRequestOptions();\n m = Object.assign(m, proto);\n if (proto.pageSize) {\n m.pageSize = parseInt(proto.pageSize, 10);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.cursor !== 'undefined') {\n toReturn['cursor'] = this.cursor;\n }\n if (typeof this.pageSize !== 'undefined') {\n toReturn['pageSize'] = this.pageSize;\n }\n return toReturn;\n }\n}\nclass CustomerSurveyPagedResponseMetadata {\n static fromProto(proto) {\n let m = new CustomerSurveyPagedResponseMetadata();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.nextCursor !== 'undefined') {\n toReturn['nextCursor'] = this.nextCursor;\n }\n if (typeof this.hasMore !== 'undefined') {\n toReturn['hasMore'] = this.hasMore;\n }\n return toReturn;\n }\n}\nclass CustomerSurveyRespondRequest {\n static fromProto(proto) {\n let m = new CustomerSurveyRespondRequest();\n m = Object.assign(m, proto);\n if (proto.rating) {\n m.rating = parseInt(proto.rating, 10);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.accountGroupId !== 'undefined') {\n toReturn['accountGroupId'] = this.accountGroupId;\n }\n if (typeof this.rating !== 'undefined') {\n toReturn['rating'] = this.rating;\n }\n if (typeof this.email !== 'undefined') {\n toReturn['email'] = this.email;\n }\n return toReturn;\n }\n}\nclass CustomerSurveyRespondResponse {\n static fromProto(proto) {\n let m = new CustomerSurveyRespondResponse();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.customerSurveyResponseId !== 'undefined') {\n toReturn['customerSurveyResponseId'] = this.customerSurveyResponseId;\n }\n return toReturn;\n }\n}\nclass CustomerSurveyResponse {\n static fromProto(proto) {\n let m = new CustomerSurveyResponse();\n m = Object.assign(m, proto);\n if (proto.rating) {\n m.rating = parseInt(proto.rating, 10);\n }\n if (proto.created) {\n m.created = new Date(proto.created);\n }\n if (proto.updated) {\n m.updated = new Date(proto.updated);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.customerSurveyResponseId !== 'undefined') {\n toReturn['customerSurveyResponseId'] = this.customerSurveyResponseId;\n }\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.marketId !== 'undefined') {\n toReturn['marketId'] = this.marketId;\n }\n if (typeof this.accountGroupId !== 'undefined') {\n toReturn['accountGroupId'] = this.accountGroupId;\n }\n if (typeof this.userId !== 'undefined') {\n toReturn['userId'] = this.userId;\n }\n if (typeof this.rating !== 'undefined') {\n toReturn['rating'] = this.rating;\n }\n if (typeof this.feedback !== 'undefined') {\n toReturn['feedback'] = this.feedback;\n }\n if (typeof this.created !== 'undefined' && this.created !== null) {\n toReturn['created'] = 'toApiJson' in this.created ? this.created.toApiJson() : this.created;\n }\n if (typeof this.updated !== 'undefined' && this.updated !== null) {\n toReturn['updated'] = 'toApiJson' in this.updated ? this.updated.toApiJson() : this.updated;\n }\n return toReturn;\n }\n}\nfunction enumStringToValue$6(enumRef, value) {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\nclass BrandingV2 {\n static fromProto(proto) {\n let m = new BrandingV2();\n m = Object.assign(m, proto);\n if (proto.uiTheme) {\n m.uiTheme = enumStringToValue$6(UITheme, proto.uiTheme);\n }\n if (proto.marketOverrides) {\n m.marketOverrides = proto.marketOverrides.map(v => enumStringToValue$6(Field, v));\n }\n if (proto.created) {\n m.created = new Date(proto.created);\n }\n if (proto.updated) {\n m.updated = new Date(proto.updated);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.marketId !== 'undefined') {\n toReturn['marketId'] = this.marketId;\n }\n if (typeof this.faviconUrl !== 'undefined') {\n toReturn['faviconUrl'] = this.faviconUrl;\n }\n if (typeof this.shortcutIconUrl !== 'undefined') {\n toReturn['shortcutIconUrl'] = this.shortcutIconUrl;\n }\n if (typeof this.logoUrl !== 'undefined') {\n toReturn['logoUrl'] = this.logoUrl;\n }\n if (typeof this.uiTheme !== 'undefined') {\n toReturn['uiTheme'] = this.uiTheme;\n }\n if (typeof this.primaryColor !== 'undefined') {\n toReturn['primaryColor'] = this.primaryColor;\n }\n if (typeof this.marketOverrides !== 'undefined') {\n toReturn['marketOverrides'] = this.marketOverrides;\n }\n if (typeof this.created !== 'undefined' && this.created !== null) {\n toReturn['created'] = 'toApiJson' in this.created ? this.created.toApiJson() : this.created;\n }\n if (typeof this.updated !== 'undefined' && this.updated !== null) {\n toReturn['updated'] = 'toApiJson' in this.updated ? this.updated.toApiJson() : this.updated;\n }\n if (typeof this.name !== 'undefined') {\n toReturn['name'] = this.name;\n }\n return toReturn;\n }\n}\nfunction enumStringToValue$5(enumRef, value) {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\nclass AcquisitionData {\n static fromProto(proto) {\n let m = new AcquisitionData();\n m = Object.assign(m, proto);\n if (proto.created) {\n m.created = new Date(proto.created);\n }\n if (proto.updated) {\n m.updated = new Date(proto.updated);\n }\n if (proto.deleted) {\n m.deleted = new Date(proto.deleted);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.tags !== 'undefined') {\n toReturn['tags'] = this.tags;\n }\n if (typeof this.origin !== 'undefined') {\n toReturn['origin'] = this.origin;\n }\n if (typeof this.visitorIdCookie !== 'undefined') {\n toReturn['visitorIdCookie'] = this.visitorIdCookie;\n }\n if (typeof this.conquerLocalAcademyVisitorId !== 'undefined') {\n toReturn['conquerLocalAcademyVisitorId'] = this.conquerLocalAcademyVisitorId;\n }\n if (typeof this.conversionPoint !== 'undefined') {\n toReturn['conversionPoint'] = this.conversionPoint;\n }\n if (typeof this.numberOfEmployees !== 'undefined') {\n toReturn['numberOfEmployees'] = this.numberOfEmployees;\n }\n if (typeof this.affiliateId !== 'undefined') {\n toReturn['affiliateId'] = this.affiliateId;\n }\n if (typeof this.referrerId !== 'undefined') {\n toReturn['referrerId'] = this.referrerId;\n }\n if (typeof this.created !== 'undefined' && this.created !== null) {\n toReturn['created'] = 'toApiJson' in this.created ? this.created.toApiJson() : this.created;\n }\n if (typeof this.updated !== 'undefined' && this.updated !== null) {\n toReturn['updated'] = 'toApiJson' in this.updated ? this.updated.toApiJson() : this.updated;\n }\n if (typeof this.deleted !== 'undefined' && this.deleted !== null) {\n toReturn['deleted'] = 'toApiJson' in this.deleted ? this.deleted.toApiJson() : this.deleted;\n }\n if (typeof this.clearbitCollectedSignupDataId !== 'undefined') {\n toReturn['clearbitCollectedSignupDataId'] = this.clearbitCollectedSignupDataId;\n }\n return toReturn;\n }\n}\nclass GetAcquisitionDataRequest {\n static fromProto(proto) {\n let m = new GetAcquisitionDataRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n return toReturn;\n }\n}\nclass GetAcquisitionDataResponse {\n static fromProto(proto) {\n let m = new GetAcquisitionDataResponse();\n m = Object.assign(m, proto);\n if (proto.acquisitionData) {\n m.acquisitionData = AcquisitionData.fromProto(proto.acquisitionData);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.acquisitionData !== 'undefined' && this.acquisitionData !== null) {\n toReturn['acquisitionData'] = 'toApiJson' in this.acquisitionData ? this.acquisitionData.toApiJson() : this.acquisitionData;\n }\n return toReturn;\n }\n}\nfunction enumStringToValue$4(enumRef, value) {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\nclass GetFreeTrialRequest {\n static fromProto(proto) {\n let m = new GetFreeTrialRequest();\n m = Object.assign(m, proto);\n if (proto.fieldMask) {\n m.fieldMask = FieldMask.fromProto(proto.fieldMask);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.fieldMask !== 'undefined' && this.fieldMask !== null) {\n toReturn['fieldMask'] = 'toApiJson' in this.fieldMask ? this.fieldMask.toApiJson() : this.fieldMask;\n }\n return toReturn;\n }\n}\nclass GetFreeTrialResponse {\n static fromProto(proto) {\n let m = new GetFreeTrialResponse();\n m = Object.assign(m, proto);\n if (proto.trialStart) {\n m.trialStart = new Date(proto.trialStart);\n }\n if (proto.trialEnd) {\n m.trialEnd = new Date(proto.trialEnd);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.trialStart !== 'undefined' && this.trialStart !== null) {\n toReturn['trialStart'] = 'toApiJson' in this.trialStart ? this.trialStart.toApiJson() : this.trialStart;\n }\n if (typeof this.trialEnd !== 'undefined' && this.trialEnd !== null) {\n toReturn['trialEnd'] = 'toApiJson' in this.trialEnd ? this.trialEnd.toApiJson() : this.trialEnd;\n }\n if (typeof this.onFreeTrial !== 'undefined') {\n toReturn['onFreeTrial'] = this.onFreeTrial;\n }\n if (typeof this.actionRequiredStatus !== 'undefined') {\n toReturn['actionRequiredStatus'] = this.actionRequiredStatus;\n }\n return toReturn;\n }\n}\nclass GetFreeTrialStatusRequest {\n static fromProto(proto) {\n let m = new GetFreeTrialStatusRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n return toReturn;\n }\n}\nclass GetFreeTrialStatusResponse {\n static fromProto(proto) {\n let m = new GetFreeTrialStatusResponse();\n m = Object.assign(m, proto);\n if (proto.freeTrialEnd) {\n m.freeTrialEnd = new Date(proto.freeTrialEnd);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.onFreeTrial !== 'undefined') {\n toReturn['onFreeTrial'] = this.onFreeTrial;\n }\n if (typeof this.freeTrialEnd !== 'undefined' && this.freeTrialEnd !== null) {\n toReturn['freeTrialEnd'] = 'toApiJson' in this.freeTrialEnd ? this.freeTrialEnd.toApiJson() : this.freeTrialEnd;\n }\n return toReturn;\n }\n}\nclass UpdateCancelFreeTrialReasonMutation {\n static fromProto(proto) {\n let m = new UpdateCancelFreeTrialReasonMutation();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.userId !== 'undefined') {\n toReturn['userId'] = this.userId;\n }\n if (typeof this.cancelReason !== 'undefined') {\n toReturn['cancelReason'] = this.cancelReason;\n }\n if (typeof this.additionalComment !== 'undefined') {\n toReturn['additionalComment'] = this.additionalComment;\n }\n return toReturn;\n }\n}\nclass UpdateFreeTrialActionRequiredStatusMutation {\n static fromProto(proto) {\n let m = new UpdateFreeTrialActionRequiredStatusMutation();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.actionRequiredStatus !== 'undefined') {\n toReturn['actionRequiredStatus'] = this.actionRequiredStatus;\n }\n return toReturn;\n }\n}\nclass UpdateFreeTrialMutation {\n static fromProto(proto) {\n let m = new UpdateFreeTrialMutation();\n m = Object.assign(m, proto);\n if (proto.cancelFreeTrialReason) {\n m.cancelFreeTrialReason = UpdateCancelFreeTrialReasonMutation.fromProto(proto.cancelFreeTrialReason);\n }\n if (proto.actionRequiredStatus) {\n m.actionRequiredStatus = UpdateFreeTrialActionRequiredStatusMutation.fromProto(proto.actionRequiredStatus);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.cancelFreeTrialReason !== 'undefined' && this.cancelFreeTrialReason !== null) {\n toReturn['cancelFreeTrialReason'] = 'toApiJson' in this.cancelFreeTrialReason ? this.cancelFreeTrialReason.toApiJson() : this.cancelFreeTrialReason;\n }\n if (typeof this.actionRequiredStatus !== 'undefined' && this.actionRequiredStatus !== null) {\n toReturn['actionRequiredStatus'] = 'toApiJson' in this.actionRequiredStatus ? this.actionRequiredStatus.toApiJson() : this.actionRequiredStatus;\n }\n return toReturn;\n }\n}\nclass UpdateFreeTrialRequest {\n static fromProto(proto) {\n let m = new UpdateFreeTrialRequest();\n m = Object.assign(m, proto);\n if (proto.mutations) {\n m.mutations = proto.mutations.map(UpdateFreeTrialMutation.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.mutations !== 'undefined' && this.mutations !== null) {\n toReturn['mutations'] = 'toApiJson' in this.mutations ? this.mutations.toApiJson() : this.mutations;\n }\n return toReturn;\n }\n}\nfunction enumStringToValue$3(enumRef, value) {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\nclass PartnerModel {\n static fromProto(proto) {\n let m = new PartnerModel();\n m = Object.assign(m, proto);\n if (proto.created) {\n m.created = new Date(proto.created);\n }\n if (proto.updated) {\n m.updated = new Date(proto.updated);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.subscriptionTierId !== 'undefined') {\n toReturn['subscriptionTierId'] = this.subscriptionTierId;\n }\n if (typeof this.premiumSupport !== 'undefined') {\n toReturn['premiumSupport'] = this.premiumSupport;\n }\n if (typeof this.standardPrioritySupport !== 'undefined') {\n toReturn['standardPrioritySupport'] = this.standardPrioritySupport;\n }\n if (typeof this.priorityChatSupport !== 'undefined') {\n toReturn['priorityChatSupport'] = this.priorityChatSupport;\n }\n if (typeof this.name !== 'undefined') {\n toReturn['name'] = this.name;\n }\n if (typeof this.addressLineOne !== 'undefined') {\n toReturn['addressLineOne'] = this.addressLineOne;\n }\n if (typeof this.addressLineTwo !== 'undefined') {\n toReturn['addressLineTwo'] = this.addressLineTwo;\n }\n if (typeof this.city !== 'undefined') {\n toReturn['city'] = this.city;\n }\n if (typeof this.stateCode !== 'undefined') {\n toReturn['stateCode'] = this.stateCode;\n }\n if (typeof this.countryCode !== 'undefined') {\n toReturn['countryCode'] = this.countryCode;\n }\n if (typeof this.postalCode !== 'undefined') {\n toReturn['postalCode'] = this.postalCode;\n }\n if (typeof this.email !== 'undefined') {\n toReturn['email'] = this.email;\n }\n if (typeof this.phoneNumber !== 'undefined') {\n toReturn['phoneNumber'] = this.phoneNumber;\n }\n if (typeof this.website !== 'undefined') {\n toReturn['website'] = this.website;\n }\n if (typeof this.created !== 'undefined' && this.created !== null) {\n toReturn['created'] = 'toApiJson' in this.created ? this.created.toApiJson() : this.created;\n }\n if (typeof this.updated !== 'undefined' && this.updated !== null) {\n toReturn['updated'] = 'toApiJson' in this.updated ? this.updated.toApiJson() : this.updated;\n }\n return toReturn;\n }\n}\nfunction enumStringToValue$2(enumRef, value) {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\nclass NavigationItem {\n static fromProto(proto) {\n let m = new NavigationItem();\n m = Object.assign(m, proto);\n if (proto.nestedTabs) {\n m.nestedTabs = proto.nestedTabs.map(NavigationItemChild.fromProto);\n }\n if (proto.badge) {\n m.badge = enumStringToValue$2(NavigationItemBadge, proto.badge);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.locked !== 'undefined') {\n toReturn['locked'] = this.locked;\n }\n if (typeof this.nestedTabs !== 'undefined' && this.nestedTabs !== null) {\n toReturn['nestedTabs'] = 'toApiJson' in this.nestedTabs ? this.nestedTabs.toApiJson() : this.nestedTabs;\n }\n if (typeof this.link !== 'undefined') {\n toReturn['link'] = this.link;\n }\n if (typeof this.title !== 'undefined') {\n toReturn['title'] = this.title;\n }\n if (typeof this.tabId !== 'undefined') {\n toReturn['tabId'] = this.tabId;\n }\n if (typeof this.popOut !== 'undefined') {\n toReturn['popOut'] = this.popOut;\n }\n if (typeof this.ngRoute !== 'undefined') {\n toReturn['ngRoute'] = this.ngRoute;\n }\n if (typeof this.subsectionHeader !== 'undefined') {\n toReturn['subsectionHeader'] = this.subsectionHeader;\n }\n if (typeof this.svgIcon !== 'undefined') {\n toReturn['svgIcon'] = this.svgIcon;\n }\n if (typeof this.icon !== 'undefined') {\n toReturn['icon'] = this.icon;\n }\n if (typeof this.badge !== 'undefined') {\n toReturn['badge'] = this.badge;\n }\n return toReturn;\n }\n}\nclass NavigationItemChild {\n static fromProto(proto) {\n let m = new NavigationItemChild();\n m = Object.assign(m, proto);\n if (proto.badge) {\n m.badge = enumStringToValue$2(NavigationItemBadge, proto.badge);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.locked !== 'undefined') {\n toReturn['locked'] = this.locked;\n }\n if (typeof this.link !== 'undefined') {\n toReturn['link'] = this.link;\n }\n if (typeof this.title !== 'undefined') {\n toReturn['title'] = this.title;\n }\n if (typeof this.tabId !== 'undefined') {\n toReturn['tabId'] = this.tabId;\n }\n if (typeof this.popOut !== 'undefined') {\n toReturn['popOut'] = this.popOut;\n }\n if (typeof this.ngRoute !== 'undefined') {\n toReturn['ngRoute'] = this.ngRoute;\n }\n if (typeof this.subsectionHeader !== 'undefined') {\n toReturn['subsectionHeader'] = this.subsectionHeader;\n }\n if (typeof this.svgIcon !== 'undefined') {\n toReturn['svgIcon'] = this.svgIcon;\n }\n if (typeof this.icon !== 'undefined') {\n toReturn['icon'] = this.icon;\n }\n if (typeof this.badge !== 'undefined') {\n toReturn['badge'] = this.badge;\n }\n return toReturn;\n }\n}\nfunction enumStringToValue$1(enumRef, value) {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\nclass GetTaskManagerConfigRequest {\n static fromProto(proto) {\n let m = new GetTaskManagerConfigRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n return toReturn;\n }\n}\nclass GetTaskManagerConfigResponse {\n static fromProto(proto) {\n let m = new GetTaskManagerConfigResponse();\n m = Object.assign(m, proto);\n if (proto.config) {\n m.config = TaskManagerConfiguration.fromProto(proto.config);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.config !== 'undefined' && this.config !== null) {\n toReturn['config'] = 'toApiJson' in this.config ? this.config.toApiJson() : this.config;\n }\n return toReturn;\n }\n}\nclass SetTaskManagerConfigRequest {\n static fromProto(proto) {\n let m = new SetTaskManagerConfigRequest();\n m = Object.assign(m, proto);\n if (proto.config) {\n m.config = TaskManagerConfiguration.fromProto(proto.config);\n }\n if (proto.fieldMask) {\n m.fieldMask = FieldMask.fromProto(proto.fieldMask);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.config !== 'undefined' && this.config !== null) {\n toReturn['config'] = 'toApiJson' in this.config ? this.config.toApiJson() : this.config;\n }\n if (typeof this.fieldMask !== 'undefined' && this.fieldMask !== null) {\n toReturn['fieldMask'] = 'toApiJson' in this.fieldMask ? this.fieldMask.toApiJson() : this.fieldMask;\n }\n return toReturn;\n }\n}\nclass SetTaskManagerConfigResponse {\n static fromProto(proto) {\n let m = new SetTaskManagerConfigResponse();\n m = Object.assign(m, proto);\n if (proto.config) {\n m.config = TaskManagerConfiguration.fromProto(proto.config);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.config !== 'undefined' && this.config !== null) {\n toReturn['config'] = 'toApiJson' in this.config ? this.config.toApiJson() : this.config;\n }\n return toReturn;\n }\n}\nclass TaskManagerConfiguration {\n static fromProto(proto) {\n let m = new TaskManagerConfiguration();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.tmShowInbox !== 'undefined') {\n toReturn['tmShowInbox'] = this.tmShowInbox;\n }\n return toReturn;\n }\n}\nfunction enumStringToValue(enumRef, value) {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\nclass ActivateAddonRequest {\n static fromProto(proto) {\n let m = new ActivateAddonRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.addonId !== 'undefined') {\n toReturn['addonId'] = this.addonId;\n }\n if (typeof this.quantity !== 'undefined') {\n toReturn['quantity'] = this.quantity;\n }\n return toReturn;\n }\n}\nclass ActivateAddonResponse {\n static fromProto(proto) {\n let m = new ActivateAddonResponse();\n m = Object.assign(m, proto);\n if (proto.activation) {\n m.activation = AddonActivation.fromProto(proto.activation);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.activation !== 'undefined' && this.activation !== null) {\n toReturn['activation'] = 'toApiJson' in this.activation ? this.activation.toApiJson() : this.activation;\n }\n return toReturn;\n }\n}\nclass AddPartnerToWhitelistRequest {\n static fromProto(proto) {\n let m = new AddPartnerToWhitelistRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.featureFlagId !== 'undefined') {\n toReturn['featureFlagId'] = this.featureFlagId;\n }\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n return toReturn;\n }\n}\nclass BrandingApp {\n static fromProto(proto) {\n let m = new BrandingApp();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.name !== 'undefined') {\n toReturn['name'] = this.name;\n }\n return toReturn;\n }\n}\nclass BrandingAppsEntry {\n static fromProto(proto) {\n let m = new BrandingAppsEntry();\n m = Object.assign(m, proto);\n if (proto.value) {\n m.value = BrandingApp.fromProto(proto.value);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.key !== 'undefined') {\n toReturn['key'] = this.key;\n }\n if (typeof this.value !== 'undefined' && this.value !== null) {\n toReturn['value'] = 'toApiJson' in this.value ? this.value.toApiJson() : this.value;\n }\n return toReturn;\n }\n}\nclass BrandingAssets {\n static fromProto(proto) {\n let m = new BrandingAssets();\n m = Object.assign(m, proto);\n if (proto.faviconUrl) {\n m.faviconUrl = URL.fromProto(proto.faviconUrl);\n }\n if (proto.shortcutIconUrl) {\n m.shortcutIconUrl = URL.fromProto(proto.shortcutIconUrl);\n }\n if (proto.logoUrl) {\n m.logoUrl = URL.fromProto(proto.logoUrl);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.faviconUrl !== 'undefined' && this.faviconUrl !== null) {\n toReturn['faviconUrl'] = 'toApiJson' in this.faviconUrl ? this.faviconUrl.toApiJson() : this.faviconUrl;\n }\n if (typeof this.shortcutIconUrl !== 'undefined' && this.shortcutIconUrl !== null) {\n toReturn['shortcutIconUrl'] = 'toApiJson' in this.shortcutIconUrl ? this.shortcutIconUrl.toApiJson() : this.shortcutIconUrl;\n }\n if (typeof this.logoUrl !== 'undefined' && this.logoUrl !== null) {\n toReturn['logoUrl'] = 'toApiJson' in this.logoUrl ? this.logoUrl.toApiJson() : this.logoUrl;\n }\n return toReturn;\n }\n}\nclass BatchGetFeatureFlagRequest {\n static fromProto(proto) {\n let m = new BatchGetFeatureFlagRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.ids !== 'undefined') {\n toReturn['ids'] = this.ids;\n }\n return toReturn;\n }\n}\nclass BatchGetFeatureFlagResponse {\n static fromProto(proto) {\n let m = new BatchGetFeatureFlagResponse();\n m = Object.assign(m, proto);\n if (proto.flags) {\n m.flags = proto.flags.map(FeatureFlag.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.flags !== 'undefined' && this.flags !== null) {\n toReturn['flags'] = 'toApiJson' in this.flags ? this.flags.toApiJson() : this.flags;\n }\n return toReturn;\n }\n}\nclass BatchGetStatusFeatureFlagRequest {\n static fromProto(proto) {\n let m = new BatchGetStatusFeatureFlagRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.featureIds !== 'undefined') {\n toReturn['featureIds'] = this.featureIds;\n }\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.marketId !== 'undefined') {\n toReturn['marketId'] = this.marketId;\n }\n return toReturn;\n }\n}\nclass BatchGetStatusFeatureFlagResponse {\n static fromProto(proto) {\n let m = new BatchGetStatusFeatureFlagResponse();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.hasAccess !== 'undefined') {\n toReturn['hasAccess'] = this.hasAccess;\n }\n return toReturn;\n }\n}\nclass Branding {\n static fromProto(proto) {\n let m = new Branding();\n m = Object.assign(m, proto);\n if (proto.uiTheme) {\n m.uiTheme = enumStringToValue(BrandingUITheme, proto.uiTheme);\n }\n if (proto.assets) {\n m.assets = BrandingAssets.fromProto(proto.assets);\n }\n if (proto.apps) {\n m.apps = Object.keys(proto.apps).reduce((obj, k) => {\n obj[k] = BrandingApp.fromProto(proto.apps[k]);\n return obj;\n }, {});\n }\n if (proto.theme) {\n m.theme = Theme.fromProto(proto.theme);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.uiTheme !== 'undefined') {\n toReturn['uiTheme'] = this.uiTheme;\n }\n if (typeof this.primaryColor !== 'undefined') {\n toReturn['primaryColor'] = this.primaryColor;\n }\n if (typeof this.assets !== 'undefined' && this.assets !== null) {\n toReturn['assets'] = 'toApiJson' in this.assets ? this.assets.toApiJson() : this.assets;\n }\n if (typeof this.apps !== 'undefined' && this.apps !== null) {\n toReturn['apps'] = 'toApiJson' in this.apps ? this.apps.toApiJson() : this.apps;\n }\n if (typeof this.name !== 'undefined') {\n toReturn['name'] = this.name;\n }\n if (typeof this.partnerName !== 'undefined') {\n toReturn['partnerName'] = this.partnerName;\n }\n if (typeof this.theme !== 'undefined' && this.theme !== null) {\n toReturn['theme'] = 'toApiJson' in this.theme ? this.theme.toApiJson() : this.theme;\n }\n return toReturn;\n }\n}\nclass CanSendPreviewEmailRequest {\n static fromProto(proto) {\n let m = new CanSendPreviewEmailRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n return toReturn;\n }\n}\nclass CanSendPreviewEmailResponse {\n static fromProto(proto) {\n let m = new CanSendPreviewEmailResponse();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.canSendPreviewEmails !== 'undefined') {\n toReturn['canSendPreviewEmails'] = this.canSendPreviewEmails;\n }\n return toReturn;\n }\n}\nclass CancelTrialRequest {\n static fromProto(proto) {\n let m = new CancelTrialRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.trialId !== 'undefined') {\n toReturn['trialId'] = this.trialId;\n }\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n return toReturn;\n }\n}\nclass Configuration {\n static fromProto(proto) {\n let m = new Configuration();\n m = Object.assign(m, proto);\n if (proto.snapshotConfiguration) {\n m.snapshotConfiguration = SnapshotConfiguration.fromProto(proto.snapshotConfiguration);\n }\n if (proto.subscriptionLevel) {\n m.subscriptionLevel = enumStringToValue(SubscriptionLevel, proto.subscriptionLevel);\n }\n if (proto.reputationConfiguration) {\n m.reputationConfiguration = ReputationConfiguration.fromProto(proto.reputationConfiguration);\n }\n if (proto.salesConfiguration) {\n m.salesConfiguration = SalesConfiguration.fromProto(proto.salesConfiguration);\n }\n if (proto.businessCenterConfiguration) {\n m.businessCenterConfiguration = BusinessCenterConfiguration.fromProto(proto.businessCenterConfiguration);\n }\n if (proto.subscriptionFailure) {\n m.subscriptionFailure = enumStringToValue(SubscriptionFailure, proto.subscriptionFailure);\n }\n if (proto.emailConfiguration) {\n m.emailConfiguration = EmailConfiguration.fromProto(proto.emailConfiguration);\n }\n if (proto.mailingConfiguration) {\n m.mailingConfiguration = MailingConfiguration.fromProto(proto.mailingConfiguration);\n }\n if (proto.segmentedOnboardingConfiguration) {\n m.segmentedOnboardingConfiguration = enumStringToValue(SegmentedOnboardingConfiguration, proto.segmentedOnboardingConfiguration);\n }\n if (proto.taskManagerConfiguration) {\n m.taskManagerConfiguration = TaskManagerConfiguration.fromProto(proto.taskManagerConfiguration);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.geoRegionForPerformanceMetrics !== 'undefined') {\n toReturn['geoRegionForPerformanceMetrics'] = this.geoRegionForPerformanceMetrics;\n }\n if (typeof this.snapshotConfiguration !== 'undefined' && this.snapshotConfiguration !== null) {\n toReturn['snapshotConfiguration'] = 'toApiJson' in this.snapshotConfiguration ? this.snapshotConfiguration.toApiJson() : this.snapshotConfiguration;\n }\n if (typeof this.enabledFeatures !== 'undefined') {\n toReturn['enabledFeatures'] = this.enabledFeatures;\n }\n if (typeof this.tags !== 'undefined') {\n toReturn['tags'] = this.tags;\n }\n if (typeof this.subscriptionLevel !== 'undefined') {\n toReturn['subscriptionLevel'] = this.subscriptionLevel;\n }\n if (typeof this.socialProfileGroupId !== 'undefined') {\n toReturn['socialProfileGroupId'] = this.socialProfileGroupId;\n }\n if (typeof this.reputationConfiguration !== 'undefined' && this.reputationConfiguration !== null) {\n toReturn['reputationConfiguration'] = 'toApiJson' in this.reputationConfiguration ? this.reputationConfiguration.toApiJson() : this.reputationConfiguration;\n }\n if (typeof this.salesConfiguration !== 'undefined' && this.salesConfiguration !== null) {\n toReturn['salesConfiguration'] = 'toApiJson' in this.salesConfiguration ? this.salesConfiguration.toApiJson() : this.salesConfiguration;\n }\n if (typeof this.businessCenterConfiguration !== 'undefined' && this.businessCenterConfiguration !== null) {\n toReturn['businessCenterConfiguration'] = 'toApiJson' in this.businessCenterConfiguration ? this.businessCenterConfiguration.toApiJson() : this.businessCenterConfiguration;\n }\n if (typeof this.hasBrandsEnabled !== 'undefined') {\n toReturn['hasBrandsEnabled'] = this.hasBrandsEnabled;\n }\n if (typeof this.hasProductMarketplace !== 'undefined') {\n toReturn['hasProductMarketplace'] = this.hasProductMarketplace;\n }\n if (typeof this.adintelIsEnabled !== 'undefined') {\n toReturn['adintelIsEnabled'] = this.adintelIsEnabled;\n }\n if (typeof this.msAlwaysEnabled !== 'undefined') {\n toReturn['msAlwaysEnabled'] = this.msAlwaysEnabled;\n }\n if (typeof this.subscriptionFailure !== 'undefined') {\n toReturn['subscriptionFailure'] = this.subscriptionFailure;\n }\n if (typeof this.emailConfiguration !== 'undefined' && this.emailConfiguration !== null) {\n toReturn['emailConfiguration'] = 'toApiJson' in this.emailConfiguration ? this.emailConfiguration.toApiJson() : this.emailConfiguration;\n }\n if (typeof this.mailingConfiguration !== 'undefined' && this.mailingConfiguration !== null) {\n toReturn['mailingConfiguration'] = 'toApiJson' in this.mailingConfiguration ? this.mailingConfiguration.toApiJson() : this.mailingConfiguration;\n }\n if (typeof this.subscriptionTierId !== 'undefined') {\n toReturn['subscriptionTierId'] = this.subscriptionTierId;\n }\n if (typeof this.segmentedOnboardingConfiguration !== 'undefined') {\n toReturn['segmentedOnboardingConfiguration'] = this.segmentedOnboardingConfiguration;\n }\n if (typeof this.taskManagerConfiguration !== 'undefined' && this.taskManagerConfiguration !== null) {\n toReturn['taskManagerConfiguration'] = 'toApiJson' in this.taskManagerConfiguration ? this.taskManagerConfiguration.toApiJson() : this.taskManagerConfiguration;\n }\n return toReturn;\n }\n}\nclass UpdatePartnerModelMutationCountryState {\n static fromProto(proto) {\n let m = new UpdatePartnerModelMutationCountryState();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.countryCode !== 'undefined') {\n toReturn['countryCode'] = this.countryCode;\n }\n if (typeof this.stateCode !== 'undefined') {\n toReturn['stateCode'] = this.stateCode;\n }\n return toReturn;\n }\n}\nclass CreateAnalyticsDashboardRequest {\n static fromProto(proto) {\n let m = new CreateAnalyticsDashboardRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.featureFlagId !== 'undefined') {\n toReturn['featureFlagId'] = this.featureFlagId;\n }\n if (typeof this.userId !== 'undefined') {\n toReturn['userId'] = this.userId;\n }\n return toReturn;\n }\n}\nclass CreateFeatureFlagRequest {\n static fromProto(proto) {\n let m = new CreateFeatureFlagRequest();\n m = Object.assign(m, proto);\n if (proto.accessLevel) {\n m.accessLevel = enumStringToValue(AccessLevel, proto.accessLevel);\n }\n if (proto.whitelist) {\n m.whitelist = proto.whitelist.map(PartnerAccess.fromProto);\n }\n if (proto.blacklist) {\n m.blacklist = proto.blacklist.map(PartnerAccess.fromProto);\n }\n if (proto.experimentSettings) {\n m.experimentSettings = ExperimentSetting.fromProto(proto.experimentSettings);\n }\n if (proto.expiration) {\n m.expiration = enumStringToValue(Expiration, proto.expiration);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.id !== 'undefined') {\n toReturn['id'] = this.id;\n }\n if (typeof this.name !== 'undefined') {\n toReturn['name'] = this.name;\n }\n if (typeof this.description !== 'undefined') {\n toReturn['description'] = this.description;\n }\n if (typeof this.accessLevel !== 'undefined') {\n toReturn['accessLevel'] = this.accessLevel;\n }\n if (typeof this.moreInfoUrl !== 'undefined') {\n toReturn['moreInfoUrl'] = this.moreInfoUrl;\n }\n if (typeof this.whitelist !== 'undefined' && this.whitelist !== null) {\n toReturn['whitelist'] = 'toApiJson' in this.whitelist ? this.whitelist.toApiJson() : this.whitelist;\n }\n if (typeof this.blacklist !== 'undefined' && this.blacklist !== null) {\n toReturn['blacklist'] = 'toApiJson' in this.blacklist ? this.blacklist.toApiJson() : this.blacklist;\n }\n if (typeof this.experimentSettings !== 'undefined' && this.experimentSettings !== null) {\n toReturn['experimentSettings'] = 'toApiJson' in this.experimentSettings ? this.experimentSettings.toApiJson() : this.experimentSettings;\n }\n if (typeof this.ownerName !== 'undefined') {\n toReturn['ownerName'] = this.ownerName;\n }\n if (typeof this.expiration !== 'undefined') {\n toReturn['expiration'] = this.expiration;\n }\n return toReturn;\n }\n}\nclass CreatePartnerAccountGroupRequest {\n static fromProto(proto) {\n let m = new CreatePartnerAccountGroupRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.accountGroupId !== 'undefined') {\n toReturn['accountGroupId'] = this.accountGroupId;\n }\n return toReturn;\n }\n}\nclass CreatePreviewEmailRequest {\n static fromProto(proto) {\n let m = new CreatePreviewEmailRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.templateId !== 'undefined') {\n toReturn['templateId'] = this.templateId;\n }\n if (typeof this.userId !== 'undefined') {\n toReturn['userId'] = this.userId;\n }\n return toReturn;\n }\n}\nclass CreateTrialRequest {\n static fromProto(proto) {\n let m = new CreateTrialRequest();\n m = Object.assign(m, proto);\n if (proto.subscriptionLevel) {\n m.subscriptionLevel = enumStringToValue(SubscriptionLevel, proto.subscriptionLevel);\n }\n if (proto.start) {\n m.start = new Date(proto.start);\n }\n if (proto.end) {\n m.end = new Date(proto.end);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.subscriptionLevel !== 'undefined') {\n toReturn['subscriptionLevel'] = this.subscriptionLevel;\n }\n if (typeof this.start !== 'undefined' && this.start !== null) {\n toReturn['start'] = 'toApiJson' in this.start ? this.start.toApiJson() : this.start;\n }\n if (typeof this.end !== 'undefined' && this.end !== null) {\n toReturn['end'] = 'toApiJson' in this.end ? this.end.toApiJson() : this.end;\n }\n if (typeof this.subscriptionTierId !== 'undefined') {\n toReturn['subscriptionTierId'] = this.subscriptionTierId;\n }\n return toReturn;\n }\n}\nclass DeactivateAddonRequest {\n static fromProto(proto) {\n let m = new DeactivateAddonRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.activationId !== 'undefined') {\n toReturn['activationId'] = this.activationId;\n }\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.addonId !== 'undefined') {\n toReturn['addonId'] = this.addonId;\n }\n return toReturn;\n }\n}\nclass DeletePartnerAccountGroupRequest {\n static fromProto(proto) {\n let m = new DeletePartnerAccountGroupRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n return toReturn;\n }\n}\nclass EmailConfiguration {\n static fromProto(proto) {\n let m = new EmailConfiguration();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.senderName !== 'undefined') {\n toReturn['senderName'] = this.senderName;\n }\n if (typeof this.senderEmail !== 'undefined') {\n toReturn['senderEmail'] = this.senderEmail;\n }\n if (typeof this.replyEmail !== 'undefined') {\n toReturn['replyEmail'] = this.replyEmail;\n }\n return toReturn;\n }\n}\nclass GenerateAccountGroupSessionRequest {\n static fromProto(proto) {\n let m = new GenerateAccountGroupSessionRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.accountGroupId !== 'undefined') {\n toReturn['accountGroupId'] = this.accountGroupId;\n }\n if (typeof this.email !== 'undefined') {\n toReturn['email'] = this.email;\n }\n if (typeof this.writeAccess !== 'undefined') {\n toReturn['writeAccess'] = this.writeAccess;\n }\n if (typeof this.deleteAccess !== 'undefined') {\n toReturn['deleteAccess'] = this.deleteAccess;\n }\n if (typeof this.userId !== 'undefined') {\n toReturn['userId'] = this.userId;\n }\n return toReturn;\n }\n}\nclass GenerateAccountGroupSessionResponse {\n static fromProto(proto) {\n let m = new GenerateAccountGroupSessionResponse();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.idToken !== 'undefined') {\n toReturn['idToken'] = this.idToken;\n }\n return toReturn;\n }\n}\nclass GetAddonActivationRequest {\n static fromProto(proto) {\n let m = new GetAddonActivationRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.addonId !== 'undefined') {\n toReturn['addonId'] = this.addonId;\n }\n if (typeof this.activationId !== 'undefined') {\n toReturn['activationId'] = this.activationId;\n }\n return toReturn;\n }\n}\nclass GetAddonActivationResponse {\n static fromProto(proto) {\n let m = new GetAddonActivationResponse();\n m = Object.assign(m, proto);\n if (proto.activation) {\n m.activation = AddonActivation.fromProto(proto.activation);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.activation !== 'undefined' && this.activation !== null) {\n toReturn['activation'] = 'toApiJson' in this.activation ? this.activation.toApiJson() : this.activation;\n }\n return toReturn;\n }\n}\nclass GetBrandingRequest {\n static fromProto(proto) {\n let m = new GetBrandingRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.marketId !== 'undefined') {\n toReturn['marketId'] = this.marketId;\n }\n return toReturn;\n }\n}\nclass GetBrandingResponse {\n static fromProto(proto) {\n let m = new GetBrandingResponse();\n m = Object.assign(m, proto);\n if (proto.branding) {\n m.branding = Branding.fromProto(proto.branding);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.branding !== 'undefined' && this.branding !== null) {\n toReturn['branding'] = 'toApiJson' in this.branding ? this.branding.toApiJson() : this.branding;\n }\n return toReturn;\n }\n}\nclass GetBrandingV2Request {\n static fromProto(proto) {\n let m = new GetBrandingV2Request();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.marketId !== 'undefined') {\n toReturn['marketId'] = this.marketId;\n }\n return toReturn;\n }\n}\nclass GetBrandingV2Response {\n static fromProto(proto) {\n let m = new GetBrandingV2Response();\n m = Object.assign(m, proto);\n if (proto.branding) {\n m.branding = BrandingV2.fromProto(proto.branding);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.branding !== 'undefined' && this.branding !== null) {\n toReturn['branding'] = 'toApiJson' in this.branding ? this.branding.toApiJson() : this.branding;\n }\n return toReturn;\n }\n}\nclass GetConfigurationRequest {\n static fromProto(proto) {\n let m = new GetConfigurationRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.marketId !== 'undefined') {\n toReturn['marketId'] = this.marketId;\n }\n return toReturn;\n }\n}\nclass GetConfigurationResponse {\n static fromProto(proto) {\n let m = new GetConfigurationResponse();\n m = Object.assign(m, proto);\n if (proto.configuration) {\n m.configuration = Configuration.fromProto(proto.configuration);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.configuration !== 'undefined' && this.configuration !== null) {\n toReturn['configuration'] = 'toApiJson' in this.configuration ? this.configuration.toApiJson() : this.configuration;\n }\n return toReturn;\n }\n}\nclass GetMultiBrandingRequest {\n static fromProto(proto) {\n let m = new GetMultiBrandingRequest();\n m = Object.assign(m, proto);\n if (proto.requests) {\n m.requests = proto.requests.map(GetBrandingRequest.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.requests !== 'undefined' && this.requests !== null) {\n toReturn['requests'] = 'toApiJson' in this.requests ? this.requests.toApiJson() : this.requests;\n }\n return toReturn;\n }\n}\nclass GetMultiBrandingResponse {\n static fromProto(proto) {\n let m = new GetMultiBrandingResponse();\n m = Object.assign(m, proto);\n if (proto.brandings) {\n m.brandings = proto.brandings.map(SinglePartnerMarketBranding.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.brandings !== 'undefined' && this.brandings !== null) {\n toReturn['brandings'] = 'toApiJson' in this.brandings ? this.brandings.toApiJson() : this.brandings;\n }\n return toReturn;\n }\n}\nclass GetMultiBrandingV2Request {\n static fromProto(proto) {\n let m = new GetMultiBrandingV2Request();\n m = Object.assign(m, proto);\n if (proto.requests) {\n m.requests = proto.requests.map(GetBrandingV2Request.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.requests !== 'undefined' && this.requests !== null) {\n toReturn['requests'] = 'toApiJson' in this.requests ? this.requests.toApiJson() : this.requests;\n }\n return toReturn;\n }\n}\nclass GetMultiBrandingV2Response {\n static fromProto(proto) {\n let m = new GetMultiBrandingV2Response();\n m = Object.assign(m, proto);\n if (proto.branding) {\n m.branding = proto.branding.map(BrandingV2.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.branding !== 'undefined' && this.branding !== null) {\n toReturn['branding'] = 'toApiJson' in this.branding ? this.branding.toApiJson() : this.branding;\n }\n return toReturn;\n }\n}\nclass GetMultiPartnerHealthRequest {\n static fromProto(proto) {\n let m = new GetMultiPartnerHealthRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.partnerIds !== 'undefined') {\n toReturn['partnerIds'] = this.partnerIds;\n }\n return toReturn;\n }\n}\nclass GetMultiPartnerHealthResponse {\n static fromProto(proto) {\n let m = new GetMultiPartnerHealthResponse();\n m = Object.assign(m, proto);\n if (proto.healths) {\n m.healths = proto.healths.map(PartnerHealth.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.healths !== 'undefined' && this.healths !== null) {\n toReturn['healths'] = 'toApiJson' in this.healths ? this.healths.toApiJson() : this.healths;\n }\n return toReturn;\n }\n}\nclass GetMultiPartnerModelRequest {\n static fromProto(proto) {\n let m = new GetMultiPartnerModelRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.partnerIds !== 'undefined') {\n toReturn['partnerIds'] = this.partnerIds;\n }\n return toReturn;\n }\n}\nclass GetMultiPartnerModelResponse {\n static fromProto(proto) {\n let m = new GetMultiPartnerModelResponse();\n m = Object.assign(m, proto);\n if (proto.partners) {\n m.partners = proto.partners.map(PartnerModel.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.partners !== 'undefined' && this.partners !== null) {\n toReturn['partners'] = 'toApiJson' in this.partners ? this.partners.toApiJson() : this.partners;\n }\n return toReturn;\n }\n}\nclass GetPartnerAccountGroupMappingRequest {\n static fromProto(proto) {\n let m = new GetPartnerAccountGroupMappingRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.accountGroupId !== 'undefined') {\n toReturn['accountGroupId'] = this.accountGroupId;\n }\n if (typeof this.accountGroupPartnerId !== 'undefined') {\n toReturn['accountGroupPartnerId'] = this.accountGroupPartnerId;\n }\n return toReturn;\n }\n}\nclass GetPartnerAccountGroupMappingResponse {\n static fromProto(proto) {\n let m = new GetPartnerAccountGroupMappingResponse();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.accountGroupId !== 'undefined') {\n toReturn['accountGroupId'] = this.accountGroupId;\n }\n if (typeof this.accountGroupPartnerId !== 'undefined') {\n toReturn['accountGroupPartnerId'] = this.accountGroupPartnerId;\n }\n return toReturn;\n }\n}\nclass GetPartnerCenterNavigationRequest {\n static fromProto(proto) {\n let m = new GetPartnerCenterNavigationRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n return toReturn;\n }\n}\nclass GetPartnerCenterNavigationResponse {\n static fromProto(proto) {\n let m = new GetPartnerCenterNavigationResponse();\n m = Object.assign(m, proto);\n if (proto.navigation) {\n m.navigation = proto.navigation.map(NavigationItem.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.navigation !== 'undefined' && this.navigation !== null) {\n toReturn['navigation'] = 'toApiJson' in this.navigation ? this.navigation.toApiJson() : this.navigation;\n }\n return toReturn;\n }\n}\nclass GetPartnerHealthRequest {\n static fromProto(proto) {\n let m = new GetPartnerHealthRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n return toReturn;\n }\n}\nclass GetPartnerHealthResponse {\n static fromProto(proto) {\n let m = new GetPartnerHealthResponse();\n m = Object.assign(m, proto);\n if (proto.health) {\n m.health = PartnerHealth.fromProto(proto.health);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.health !== 'undefined' && this.health !== null) {\n toReturn['health'] = 'toApiJson' in this.health ? this.health.toApiJson() : this.health;\n }\n return toReturn;\n }\n}\nclass GetPartnerModelRequest {\n static fromProto(proto) {\n let m = new GetPartnerModelRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n return toReturn;\n }\n}\nclass GetPartnerModelResponse {\n static fromProto(proto) {\n let m = new GetPartnerModelResponse();\n m = Object.assign(m, proto);\n if (proto.partner) {\n m.partner = PartnerModel.fromProto(proto.partner);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.partner !== 'undefined' && this.partner !== null) {\n toReturn['partner'] = 'toApiJson' in this.partner ? this.partner.toApiJson() : this.partner;\n }\n return toReturn;\n }\n}\nclass GetSingleSignOnRequest {\n static fromProto(proto) {\n let m = new GetSingleSignOnRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.userId !== 'undefined') {\n toReturn['userId'] = this.userId;\n }\n return toReturn;\n }\n}\nclass GetSingleSignOnResponse {\n static fromProto(proto) {\n let m = new GetSingleSignOnResponse();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.token !== 'undefined') {\n toReturn['token'] = this.token;\n }\n if (typeof this.companyId !== 'undefined') {\n toReturn['companyId'] = this.companyId;\n }\n if (typeof this.roadmapDomain !== 'undefined') {\n toReturn['roadmapDomain'] = this.roadmapDomain;\n }\n return toReturn;\n }\n}\nclass GetTrialRequest {\n static fromProto(proto) {\n let m = new GetTrialRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n return toReturn;\n }\n}\nclass GetTrialResponse {\n static fromProto(proto) {\n let m = new GetTrialResponse();\n m = Object.assign(m, proto);\n if (proto.created) {\n m.created = new Date(proto.created);\n }\n if (proto.updated) {\n m.updated = new Date(proto.updated);\n }\n if (proto.subscriptionLevel) {\n m.subscriptionLevel = enumStringToValue(SubscriptionLevel, proto.subscriptionLevel);\n }\n if (proto.start) {\n m.start = new Date(proto.start);\n }\n if (proto.end) {\n m.end = new Date(proto.end);\n }\n if (proto.cancel) {\n m.cancel = new Date(proto.cancel);\n }\n if (proto.trial) {\n m.trial = Trial.fromProto(proto.trial);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.trialId !== 'undefined') {\n toReturn['trialId'] = this.trialId;\n }\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.created !== 'undefined' && this.created !== null) {\n toReturn['created'] = 'toApiJson' in this.created ? this.created.toApiJson() : this.created;\n }\n if (typeof this.updated !== 'undefined' && this.updated !== null) {\n toReturn['updated'] = 'toApiJson' in this.updated ? this.updated.toApiJson() : this.updated;\n }\n if (typeof this.subscriptionLevel !== 'undefined') {\n toReturn['subscriptionLevel'] = this.subscriptionLevel;\n }\n if (typeof this.start !== 'undefined' && this.start !== null) {\n toReturn['start'] = 'toApiJson' in this.start ? this.start.toApiJson() : this.start;\n }\n if (typeof this.end !== 'undefined' && this.end !== null) {\n toReturn['end'] = 'toApiJson' in this.end ? this.end.toApiJson() : this.end;\n }\n if (typeof this.cancel !== 'undefined' && this.cancel !== null) {\n toReturn['cancel'] = 'toApiJson' in this.cancel ? this.cancel.toApiJson() : this.cancel;\n }\n if (typeof this.trial !== 'undefined' && this.trial !== null) {\n toReturn['trial'] = 'toApiJson' in this.trial ? this.trial.toApiJson() : this.trial;\n }\n return toReturn;\n }\n}\nclass ListAddonActivationsRequest {\n static fromProto(proto) {\n let m = new ListAddonActivationsRequest();\n m = Object.assign(m, proto);\n if (proto.pagingOptions) {\n m.pagingOptions = PagedRequestOptions.fromProto(proto.pagingOptions);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.pagingOptions !== 'undefined' && this.pagingOptions !== null) {\n toReturn['pagingOptions'] = 'toApiJson' in this.pagingOptions ? this.pagingOptions.toApiJson() : this.pagingOptions;\n }\n return toReturn;\n }\n}\nclass ListAddonActivationsResponse {\n static fromProto(proto) {\n let m = new ListAddonActivationsResponse();\n m = Object.assign(m, proto);\n if (proto.activations) {\n m.activations = proto.activations.map(AddonActivation.fromProto);\n }\n if (proto.pagingMetadata) {\n m.pagingMetadata = PagedResponseMetadata.fromProto(proto.pagingMetadata);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.activations !== 'undefined' && this.activations !== null) {\n toReturn['activations'] = 'toApiJson' in this.activations ? this.activations.toApiJson() : this.activations;\n }\n if (typeof this.pagingMetadata !== 'undefined' && this.pagingMetadata !== null) {\n toReturn['pagingMetadata'] = 'toApiJson' in this.pagingMetadata ? this.pagingMetadata.toApiJson() : this.pagingMetadata;\n }\n return toReturn;\n }\n}\nclass ListBrandingV2Request {\n static fromProto(proto) {\n let m = new ListBrandingV2Request();\n m = Object.assign(m, proto);\n if (proto.pagingOptions) {\n m.pagingOptions = PagedRequestOptions.fromProto(proto.pagingOptions);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.pagingOptions !== 'undefined' && this.pagingOptions !== null) {\n toReturn['pagingOptions'] = 'toApiJson' in this.pagingOptions ? this.pagingOptions.toApiJson() : this.pagingOptions;\n }\n return toReturn;\n }\n}\nclass ListBrandingV2Response {\n static fromProto(proto) {\n let m = new ListBrandingV2Response();\n m = Object.assign(m, proto);\n if (proto.brandings) {\n m.brandings = proto.brandings.map(BrandingV2.fromProto);\n }\n if (proto.pagingMetadata) {\n m.pagingMetadata = PagedResponseMetadata.fromProto(proto.pagingMetadata);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.brandings !== 'undefined' && this.brandings !== null) {\n toReturn['brandings'] = 'toApiJson' in this.brandings ? this.brandings.toApiJson() : this.brandings;\n }\n if (typeof this.pagingMetadata !== 'undefined' && this.pagingMetadata !== null) {\n toReturn['pagingMetadata'] = 'toApiJson' in this.pagingMetadata ? this.pagingMetadata.toApiJson() : this.pagingMetadata;\n }\n return toReturn;\n }\n}\nclass ListFeatureFlagFilters {\n static fromProto(proto) {\n let m = new ListFeatureFlagFilters();\n m = Object.assign(m, proto);\n if (proto.accessLevel) {\n m.accessLevel = proto.accessLevel.map(v => enumStringToValue(AccessLevel, v));\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.searchTerm !== 'undefined') {\n toReturn['searchTerm'] = this.searchTerm;\n }\n if (typeof this.accessLevel !== 'undefined') {\n toReturn['accessLevel'] = this.accessLevel;\n }\n return toReturn;\n }\n}\nclass ListFeatureFlagRequest {\n static fromProto(proto) {\n let m = new ListFeatureFlagRequest();\n m = Object.assign(m, proto);\n if (proto.pageSize) {\n m.pageSize = parseInt(proto.pageSize, 10);\n }\n if (proto.filters) {\n m.filters = ListFeatureFlagFilters.fromProto(proto.filters);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.archivedOnly !== 'undefined') {\n toReturn['archivedOnly'] = this.archivedOnly;\n }\n if (typeof this.cursor !== 'undefined') {\n toReturn['cursor'] = this.cursor;\n }\n if (typeof this.pageSize !== 'undefined') {\n toReturn['pageSize'] = this.pageSize;\n }\n if (typeof this.filters !== 'undefined' && this.filters !== null) {\n toReturn['filters'] = 'toApiJson' in this.filters ? this.filters.toApiJson() : this.filters;\n }\n return toReturn;\n }\n}\nclass ListFeatureFlagResponse {\n static fromProto(proto) {\n let m = new ListFeatureFlagResponse();\n m = Object.assign(m, proto);\n if (proto.flags) {\n m.flags = proto.flags.map(FeatureFlag.fromProto);\n }\n if (proto.totalResults) {\n m.totalResults = parseInt(proto.totalResults, 10);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.flags !== 'undefined' && this.flags !== null) {\n toReturn['flags'] = 'toApiJson' in this.flags ? this.flags.toApiJson() : this.flags;\n }\n if (typeof this.nextCursor !== 'undefined') {\n toReturn['nextCursor'] = this.nextCursor;\n }\n if (typeof this.hasMore !== 'undefined') {\n toReturn['hasMore'] = this.hasMore;\n }\n if (typeof this.totalResults !== 'undefined') {\n toReturn['totalResults'] = this.totalResults;\n }\n return toReturn;\n }\n}\nclass ListPartnerAddonsRequest {\n static fromProto(proto) {\n let m = new ListPartnerAddonsRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n return toReturn;\n }\n}\nclass ListPartnerAddonsResponse {\n static fromProto(proto) {\n let m = new ListPartnerAddonsResponse();\n m = Object.assign(m, proto);\n if (proto.addons) {\n m.addons = proto.addons.map(PartnerAddon.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.addons !== 'undefined' && this.addons !== null) {\n toReturn['addons'] = 'toApiJson' in this.addons ? this.addons.toApiJson() : this.addons;\n }\n return toReturn;\n }\n}\nclass ListPartnerHealthRequest {\n static fromProto(proto) {\n let m = new ListPartnerHealthRequest();\n m = Object.assign(m, proto);\n if (proto.pageSize) {\n m.pageSize = parseInt(proto.pageSize, 10);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.pageSize !== 'undefined') {\n toReturn['pageSize'] = this.pageSize;\n }\n if (typeof this.cursor !== 'undefined') {\n toReturn['cursor'] = this.cursor;\n }\n return toReturn;\n }\n}\nclass ListPartnerHealthResponse {\n static fromProto(proto) {\n let m = new ListPartnerHealthResponse();\n m = Object.assign(m, proto);\n if (proto.healths) {\n m.healths = proto.healths.map(PartnerHealth.fromProto);\n }\n if (proto.hits) {\n m.hits = parseInt(proto.hits, 10);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.healths !== 'undefined' && this.healths !== null) {\n toReturn['healths'] = 'toApiJson' in this.healths ? this.healths.toApiJson() : this.healths;\n }\n if (typeof this.cursor !== 'undefined') {\n toReturn['cursor'] = this.cursor;\n }\n if (typeof this.hasMore !== 'undefined') {\n toReturn['hasMore'] = this.hasMore;\n }\n if (typeof this.hits !== 'undefined') {\n toReturn['hits'] = this.hits;\n }\n return toReturn;\n }\n}\nclass ListTrialRequest {\n static fromProto(proto) {\n let m = new ListTrialRequest();\n m = Object.assign(m, proto);\n if (proto.pageSize) {\n m.pageSize = parseInt(proto.pageSize, 10);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.pageSize !== 'undefined') {\n toReturn['pageSize'] = this.pageSize;\n }\n if (typeof this.cursor !== 'undefined') {\n toReturn['cursor'] = this.cursor;\n }\n return toReturn;\n }\n}\nclass ListTrialResponse {\n static fromProto(proto) {\n let m = new ListTrialResponse();\n m = Object.assign(m, proto);\n if (proto.trials) {\n m.trials = proto.trials.map(Trial.fromProto);\n }\n if (proto.hits) {\n m.hits = parseInt(proto.hits, 10);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.trials !== 'undefined' && this.trials !== null) {\n toReturn['trials'] = 'toApiJson' in this.trials ? this.trials.toApiJson() : this.trials;\n }\n if (typeof this.cursor !== 'undefined') {\n toReturn['cursor'] = this.cursor;\n }\n if (typeof this.hasMore !== 'undefined') {\n toReturn['hasMore'] = this.hasMore;\n }\n if (typeof this.hits !== 'undefined') {\n toReturn['hits'] = this.hits;\n }\n return toReturn;\n }\n}\nclass MailingConfiguration {\n static fromProto(proto) {\n let m = new MailingConfiguration();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.mailingCompanyName !== 'undefined') {\n toReturn['mailingCompanyName'] = this.mailingCompanyName;\n }\n if (typeof this.mailingAddress !== 'undefined') {\n toReturn['mailingAddress'] = this.mailingAddress;\n }\n if (typeof this.mailingAddress2 !== 'undefined') {\n toReturn['mailingAddress2'] = this.mailingAddress2;\n }\n if (typeof this.mailingCity !== 'undefined') {\n toReturn['mailingCity'] = this.mailingCity;\n }\n if (typeof this.mailingState !== 'undefined') {\n toReturn['mailingState'] = this.mailingState;\n }\n if (typeof this.mailingCountry !== 'undefined') {\n toReturn['mailingCountry'] = this.mailingCountry;\n }\n if (typeof this.mailingPostalCode !== 'undefined') {\n toReturn['mailingPostalCode'] = this.mailingPostalCode;\n }\n if (typeof this.mailingPhoneNumber !== 'undefined') {\n toReturn['mailingPhoneNumber'] = this.mailingPhoneNumber;\n }\n if (typeof this.mailingWebsiteAddress !== 'undefined') {\n toReturn['mailingWebsiteAddress'] = this.mailingWebsiteAddress;\n }\n if (typeof this.mailingEmailAddress !== 'undefined') {\n toReturn['mailingEmailAddress'] = this.mailingEmailAddress;\n }\n return toReturn;\n }\n}\nclass UpsertMutationMarketOverridesMutation {\n static fromProto(proto) {\n let m = new UpsertMutationMarketOverridesMutation();\n m = Object.assign(m, proto);\n if (proto.fields) {\n m.fields = proto.fields.map(v => enumStringToValue(Field, v));\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.fields !== 'undefined') {\n toReturn['fields'] = this.fields;\n }\n return toReturn;\n }\n}\nclass UpdateFeatureFlagRequestMutation {\n static fromProto(proto) {\n let m = new UpdateFeatureFlagRequestMutation();\n m = Object.assign(m, proto);\n if (proto.accessLevel) {\n m.accessLevel = enumStringToValue(AccessLevel, proto.accessLevel);\n }\n if (proto.whitelist) {\n m.whitelist = UpdateFeatureFlagRequestMutationPartnerAccessMutation.fromProto(proto.whitelist);\n }\n if (proto.blacklist) {\n m.blacklist = UpdateFeatureFlagRequestMutationPartnerAccessMutation.fromProto(proto.blacklist);\n }\n if (proto.experimentSettings) {\n m.experimentSettings = ExperimentSetting.fromProto(proto.experimentSettings);\n }\n if (proto.expiration) {\n m.expiration = enumStringToValue(Expiration, proto.expiration);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.name !== 'undefined') {\n toReturn['name'] = this.name;\n }\n if (typeof this.description !== 'undefined') {\n toReturn['description'] = this.description;\n }\n if (typeof this.accessLevel !== 'undefined') {\n toReturn['accessLevel'] = this.accessLevel;\n }\n if (typeof this.moreInfoUrl !== 'undefined') {\n toReturn['moreInfoUrl'] = this.moreInfoUrl;\n }\n if (typeof this.archived !== 'undefined') {\n toReturn['archived'] = this.archived;\n }\n if (typeof this.whitelist !== 'undefined' && this.whitelist !== null) {\n toReturn['whitelist'] = 'toApiJson' in this.whitelist ? this.whitelist.toApiJson() : this.whitelist;\n }\n if (typeof this.blacklist !== 'undefined' && this.blacklist !== null) {\n toReturn['blacklist'] = 'toApiJson' in this.blacklist ? this.blacklist.toApiJson() : this.blacklist;\n }\n if (typeof this.experimentSettings !== 'undefined' && this.experimentSettings !== null) {\n toReturn['experimentSettings'] = 'toApiJson' in this.experimentSettings ? this.experimentSettings.toApiJson() : this.experimentSettings;\n }\n if (typeof this.ownerName !== 'undefined') {\n toReturn['ownerName'] = this.ownerName;\n }\n if (typeof this.expiration !== 'undefined') {\n toReturn['expiration'] = this.expiration;\n }\n if (typeof this.restartExpiry !== 'undefined') {\n toReturn['restartExpiry'] = this.restartExpiry;\n }\n return toReturn;\n }\n}\nclass PagedRequestOptions {\n static fromProto(proto) {\n let m = new PagedRequestOptions();\n m = Object.assign(m, proto);\n if (proto.pageSize) {\n m.pageSize = parseInt(proto.pageSize, 10);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.cursor !== 'undefined') {\n toReturn['cursor'] = this.cursor;\n }\n if (typeof this.pageSize !== 'undefined') {\n toReturn['pageSize'] = this.pageSize;\n }\n return toReturn;\n }\n}\nclass PagedResponseMetadata {\n static fromProto(proto) {\n let m = new PagedResponseMetadata();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.nextCursor !== 'undefined') {\n toReturn['nextCursor'] = this.nextCursor;\n }\n if (typeof this.hasMore !== 'undefined') {\n toReturn['hasMore'] = this.hasMore;\n }\n return toReturn;\n }\n}\nclass UpdateFeatureFlagRequestMutationPartnerAccessMutation {\n static fromProto(proto) {\n let m = new UpdateFeatureFlagRequestMutationPartnerAccessMutation();\n m = Object.assign(m, proto);\n if (proto.accessList) {\n m.accessList = proto.accessList.map(PartnerAccess.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.accessList !== 'undefined' && this.accessList !== null) {\n toReturn['accessList'] = 'toApiJson' in this.accessList ? this.accessList.toApiJson() : this.accessList;\n }\n return toReturn;\n }\n}\nclass PartnerCanDoActionRequest {\n static fromProto(proto) {\n let m = new PartnerCanDoActionRequest();\n m = Object.assign(m, proto);\n if (proto.actionId) {\n m.actionId = enumStringToValue(Action, proto.actionId);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.actionId !== 'undefined') {\n toReturn['actionId'] = this.actionId;\n }\n if (typeof this.businessId !== 'undefined') {\n toReturn['businessId'] = this.businessId;\n }\n return toReturn;\n }\n}\nclass PartnerCanDoActionResponse {\n static fromProto(proto) {\n let m = new PartnerCanDoActionResponse();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.result !== 'undefined') {\n toReturn['result'] = this.result;\n }\n if (typeof this.reason !== 'undefined') {\n toReturn['reason'] = this.reason;\n }\n return toReturn;\n }\n}\nclass ReputationConfiguration {\n static fromProto(proto) {\n let m = new ReputationConfiguration();\n m = Object.assign(m, proto);\n if (proto.maxCompetitors) {\n m.maxCompetitors = parseInt(proto.maxCompetitors, 10);\n }\n if (proto.maxServices) {\n m.maxServices = parseInt(proto.maxServices, 10);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.maxCompetitors !== 'undefined') {\n toReturn['maxCompetitors'] = this.maxCompetitors;\n }\n if (typeof this.maxServices !== 'undefined') {\n toReturn['maxServices'] = this.maxServices;\n }\n if (typeof this.addressMatchStrictness !== 'undefined') {\n toReturn['addressMatchStrictness'] = this.addressMatchStrictness;\n }\n if (typeof this.companyNameMatchStrictness !== 'undefined') {\n toReturn['companyNameMatchStrictness'] = this.companyNameMatchStrictness;\n }\n if (typeof this.websiteMatchStrictness !== 'undefined') {\n toReturn['websiteMatchStrictness'] = this.websiteMatchStrictness;\n }\n return toReturn;\n }\n}\nclass ResendPartnerAdminWelcomeEmailRequest {\n static fromProto(proto) {\n let m = new ResendPartnerAdminWelcomeEmailRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.userId !== 'undefined') {\n toReturn['userId'] = this.userId;\n }\n if (typeof this.usePlatformDefaultDomain !== 'undefined') {\n toReturn['usePlatformDefaultDomain'] = this.usePlatformDefaultDomain;\n }\n return toReturn;\n }\n}\nclass ResetPartnerRequest {\n static fromProto(proto) {\n let m = new ResetPartnerRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n return toReturn;\n }\n}\nclass SearchPartnerModelsFilters {\n static fromProto(proto) {\n let m = new SearchPartnerModelsFilters();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.searchTerm !== 'undefined') {\n toReturn['searchTerm'] = this.searchTerm;\n }\n return toReturn;\n }\n}\nclass SearchPartnerModelsRequest {\n static fromProto(proto) {\n let m = new SearchPartnerModelsRequest();\n m = Object.assign(m, proto);\n if (proto.pageSize) {\n m.pageSize = parseInt(proto.pageSize, 10);\n }\n if (proto.fieldMask) {\n m.fieldMask = FieldMask.fromProto(proto.fieldMask);\n }\n if (proto.filters) {\n m.filters = SearchPartnerModelsFilters.fromProto(proto.filters);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.cursor !== 'undefined') {\n toReturn['cursor'] = this.cursor;\n }\n if (typeof this.pageSize !== 'undefined') {\n toReturn['pageSize'] = this.pageSize;\n }\n if (typeof this.fieldMask !== 'undefined' && this.fieldMask !== null) {\n toReturn['fieldMask'] = 'toApiJson' in this.fieldMask ? this.fieldMask.toApiJson() : this.fieldMask;\n }\n if (typeof this.filters !== 'undefined' && this.filters !== null) {\n toReturn['filters'] = 'toApiJson' in this.filters ? this.filters.toApiJson() : this.filters;\n }\n return toReturn;\n }\n}\nclass SearchPartnerModelsResponse {\n static fromProto(proto) {\n let m = new SearchPartnerModelsResponse();\n m = Object.assign(m, proto);\n if (proto.partners) {\n m.partners = proto.partners.map(PartnerModel.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.partners !== 'undefined' && this.partners !== null) {\n toReturn['partners'] = 'toApiJson' in this.partners ? this.partners.toApiJson() : this.partners;\n }\n if (typeof this.nextCursor !== 'undefined') {\n toReturn['nextCursor'] = this.nextCursor;\n }\n if (typeof this.hasMore !== 'undefined') {\n toReturn['hasMore'] = this.hasMore;\n }\n return toReturn;\n }\n}\nclass SetPartnerHealthRequest {\n static fromProto(proto) {\n let m = new SetPartnerHealthRequest();\n m = Object.assign(m, proto);\n if (proto.state) {\n m.state = enumStringToValue(PartnerHealthState, proto.state);\n }\n if (proto.subState) {\n m.subState = enumStringToValue(PartnerHealthSubState, proto.subState);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.state !== 'undefined') {\n toReturn['state'] = this.state;\n }\n if (typeof this.subState !== 'undefined') {\n toReturn['subState'] = this.subState;\n }\n if (typeof this.reason !== 'undefined') {\n toReturn['reason'] = this.reason;\n }\n if (typeof this.inRetention !== 'undefined') {\n toReturn['inRetention'] = this.inRetention;\n }\n return toReturn;\n }\n}\nclass SinglePartnerMarketBranding {\n static fromProto(proto) {\n let m = new SinglePartnerMarketBranding();\n m = Object.assign(m, proto);\n if (proto.branding) {\n m.branding = Branding.fromProto(proto.branding);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.marketId !== 'undefined') {\n toReturn['marketId'] = this.marketId;\n }\n if (typeof this.branding !== 'undefined' && this.branding !== null) {\n toReturn['branding'] = 'toApiJson' in this.branding ? this.branding.toApiJson() : this.branding;\n }\n return toReturn;\n }\n}\nclass SnapshotConfiguration {\n static fromProto(proto) {\n let m = new SnapshotConfiguration();\n m = Object.assign(m, proto);\n if (proto.seoAdvertisingDataProvider) {\n m.seoAdvertisingDataProvider = parseInt(proto.seoAdvertisingDataProvider, 10);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.ppc !== 'undefined') {\n toReturn['ppc'] = this.ppc;\n }\n if (typeof this.remarketing !== 'undefined') {\n toReturn['remarketing'] = this.remarketing;\n }\n if (typeof this.useCustomSnapshotHeader !== 'undefined') {\n toReturn['useCustomSnapshotHeader'] = this.useCustomSnapshotHeader;\n }\n if (typeof this.customSnapshotHeader !== 'undefined') {\n toReturn['customSnapshotHeader'] = this.customSnapshotHeader;\n }\n if (typeof this.useCustomSnapshotFooter !== 'undefined') {\n toReturn['useCustomSnapshotFooter'] = this.useCustomSnapshotFooter;\n }\n if (typeof this.customSnapshotFooter !== 'undefined') {\n toReturn['customSnapshotFooter'] = this.customSnapshotFooter;\n }\n if (typeof this.useCustomSnapshotPopupMessage !== 'undefined') {\n toReturn['useCustomSnapshotPopupMessage'] = this.useCustomSnapshotPopupMessage;\n }\n if (typeof this.customSnapshotPopupMessage !== 'undefined') {\n toReturn['customSnapshotPopupMessage'] = this.customSnapshotPopupMessage;\n }\n if (typeof this.allowClaimUser !== 'undefined') {\n toReturn['allowClaimUser'] = this.allowClaimUser;\n }\n if (typeof this.seoAdvertisingDataProvider !== 'undefined') {\n toReturn['seoAdvertisingDataProvider'] = this.seoAdvertisingDataProvider;\n }\n if (typeof this.snapshotReportName !== 'undefined') {\n toReturn['snapshotReportName'] = this.snapshotReportName;\n }\n return toReturn;\n }\n}\nclass SwapPartnerAccountGroupRequest {\n static fromProto(proto) {\n let m = new SwapPartnerAccountGroupRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.accountGroupId !== 'undefined') {\n toReturn['accountGroupId'] = this.accountGroupId;\n }\n if (typeof this.withPartnerId !== 'undefined') {\n toReturn['withPartnerId'] = this.withPartnerId;\n }\n if (typeof this.withAccountGroupId !== 'undefined') {\n toReturn['withAccountGroupId'] = this.withAccountGroupId;\n }\n return toReturn;\n }\n}\nclass Theme {\n static fromProto(proto) {\n let m = new Theme();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.name !== 'undefined') {\n toReturn['name'] = this.name;\n }\n if (typeof this.primaryColor !== 'undefined') {\n toReturn['primaryColor'] = this.primaryColor;\n }\n if (typeof this.primaryHoverColor !== 'undefined') {\n toReturn['primaryHoverColor'] = this.primaryHoverColor;\n }\n if (typeof this.primaryActiveColor !== 'undefined') {\n toReturn['primaryActiveColor'] = this.primaryActiveColor;\n }\n if (typeof this.secondaryColor !== 'undefined') {\n toReturn['secondaryColor'] = this.secondaryColor;\n }\n if (typeof this.secondaryHoverColor !== 'undefined') {\n toReturn['secondaryHoverColor'] = this.secondaryHoverColor;\n }\n if (typeof this.secondaryActiveColor !== 'undefined') {\n toReturn['secondaryActiveColor'] = this.secondaryActiveColor;\n }\n if (typeof this.focusColor !== 'undefined') {\n toReturn['focusColor'] = this.focusColor;\n }\n if (typeof this.fontColor !== 'undefined') {\n toReturn['fontColor'] = this.fontColor;\n }\n if (typeof this.fontDisabledColor !== 'undefined') {\n toReturn['fontDisabledColor'] = this.fontDisabledColor;\n }\n if (typeof this.accentsColor !== 'undefined') {\n toReturn['accentsColor'] = this.accentsColor;\n }\n if (typeof this.accentsActiveColor !== 'undefined') {\n toReturn['accentsActiveColor'] = this.accentsActiveColor;\n }\n if (typeof this.borderColor !== 'undefined') {\n toReturn['borderColor'] = this.borderColor;\n }\n return toReturn;\n }\n}\nclass URL {\n static fromProto(proto) {\n let m = new URL();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.secure !== 'undefined') {\n toReturn['secure'] = this.secure;\n }\n if (typeof this.insecure !== 'undefined') {\n toReturn['insecure'] = this.insecure;\n }\n return toReturn;\n }\n}\nclass UpdateFeatureFlagRequest {\n static fromProto(proto) {\n let m = new UpdateFeatureFlagRequest();\n m = Object.assign(m, proto);\n if (proto.mutations) {\n m.mutations = proto.mutations.map(UpdateFeatureFlagRequestMutation.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.id !== 'undefined') {\n toReturn['id'] = this.id;\n }\n if (typeof this.mutations !== 'undefined' && this.mutations !== null) {\n toReturn['mutations'] = 'toApiJson' in this.mutations ? this.mutations.toApiJson() : this.mutations;\n }\n return toReturn;\n }\n}\nclass UpdatePartnerAccountGroupRequest {\n static fromProto(proto) {\n let m = new UpdatePartnerAccountGroupRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.accountGroupId !== 'undefined') {\n toReturn['accountGroupId'] = this.accountGroupId;\n }\n return toReturn;\n }\n}\nclass UpdatePartnerAdminRequest {\n static fromProto(proto) {\n let m = new UpdatePartnerAdminRequest();\n m = Object.assign(m, proto);\n if (proto.fieldMask) {\n m.fieldMask = FieldMask.fromProto(proto.fieldMask);\n }\n if (proto.permissions) {\n m.permissions = PartnerAdminPermissions.fromProto(proto.permissions);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.userId !== 'undefined') {\n toReturn['userId'] = this.userId;\n }\n if (typeof this.fieldMask !== 'undefined' && this.fieldMask !== null) {\n toReturn['fieldMask'] = 'toApiJson' in this.fieldMask ? this.fieldMask.toApiJson() : this.fieldMask;\n }\n if (typeof this.permissions !== 'undefined' && this.permissions !== null) {\n toReturn['permissions'] = 'toApiJson' in this.permissions ? this.permissions.toApiJson() : this.permissions;\n }\n return toReturn;\n }\n}\nclass UpdatePartnerModelMutation {\n static fromProto(proto) {\n let m = new UpdatePartnerModelMutation();\n m = Object.assign(m, proto);\n if (proto.countryAndState) {\n m.countryAndState = UpdatePartnerModelMutationCountryState.fromProto(proto.countryAndState);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.premiumSupport !== 'undefined') {\n toReturn['premiumSupport'] = this.premiumSupport;\n }\n if (typeof this.standardPrioritySupport !== 'undefined') {\n toReturn['standardPrioritySupport'] = this.standardPrioritySupport;\n }\n if (typeof this.priorityChatSupport !== 'undefined') {\n toReturn['priorityChatSupport'] = this.priorityChatSupport;\n }\n if (typeof this.name !== 'undefined') {\n toReturn['name'] = this.name;\n }\n if (typeof this.addressLineOne !== 'undefined') {\n toReturn['addressLineOne'] = this.addressLineOne;\n }\n if (typeof this.addressLineTwo !== 'undefined') {\n toReturn['addressLineTwo'] = this.addressLineTwo;\n }\n if (typeof this.city !== 'undefined') {\n toReturn['city'] = this.city;\n }\n if (typeof this.countryAndState !== 'undefined' && this.countryAndState !== null) {\n toReturn['countryAndState'] = 'toApiJson' in this.countryAndState ? this.countryAndState.toApiJson() : this.countryAndState;\n }\n if (typeof this.postalCode !== 'undefined') {\n toReturn['postalCode'] = this.postalCode;\n }\n if (typeof this.email !== 'undefined') {\n toReturn['email'] = this.email;\n }\n if (typeof this.phoneNumber !== 'undefined') {\n toReturn['phoneNumber'] = this.phoneNumber;\n }\n if (typeof this.website !== 'undefined') {\n toReturn['website'] = this.website;\n }\n return toReturn;\n }\n}\nclass UpdatePartnerModelRequest {\n static fromProto(proto) {\n let m = new UpdatePartnerModelRequest();\n m = Object.assign(m, proto);\n if (proto.mutations) {\n m.mutations = proto.mutations.map(UpdatePartnerModelMutation.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.mutations !== 'undefined' && this.mutations !== null) {\n toReturn['mutations'] = 'toApiJson' in this.mutations ? this.mutations.toApiJson() : this.mutations;\n }\n return toReturn;\n }\n}\nclass UpsertBrandingV2Request {\n static fromProto(proto) {\n let m = new UpsertBrandingV2Request();\n m = Object.assign(m, proto);\n if (proto.mutations) {\n m.mutations = proto.mutations.map(UpsertMutation.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.marketId !== 'undefined') {\n toReturn['marketId'] = this.marketId;\n }\n if (typeof this.mutations !== 'undefined' && this.mutations !== null) {\n toReturn['mutations'] = 'toApiJson' in this.mutations ? this.mutations.toApiJson() : this.mutations;\n }\n return toReturn;\n }\n}\nclass UpsertMutation {\n static fromProto(proto) {\n let m = new UpsertMutation();\n m = Object.assign(m, proto);\n if (proto.uiTheme) {\n m.uiTheme = enumStringToValue(UITheme, proto.uiTheme);\n }\n if (proto.marketOverrides) {\n m.marketOverrides = UpsertMutationMarketOverridesMutation.fromProto(proto.marketOverrides);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.faviconUrl !== 'undefined') {\n toReturn['faviconUrl'] = this.faviconUrl;\n }\n if (typeof this.shortcutIconUrl !== 'undefined') {\n toReturn['shortcutIconUrl'] = this.shortcutIconUrl;\n }\n if (typeof this.logoUrl !== 'undefined') {\n toReturn['logoUrl'] = this.logoUrl;\n }\n if (typeof this.uiTheme !== 'undefined') {\n toReturn['uiTheme'] = this.uiTheme;\n }\n if (typeof this.primaryColor !== 'undefined') {\n toReturn['primaryColor'] = this.primaryColor;\n }\n if (typeof this.marketOverrides !== 'undefined' && this.marketOverrides !== null) {\n toReturn['marketOverrides'] = 'toApiJson' in this.marketOverrides ? this.marketOverrides.toApiJson() : this.marketOverrides;\n }\n if (typeof this.name !== 'undefined') {\n toReturn['name'] = this.name;\n }\n return toReturn;\n }\n}\n\n// *********************************\n\nconst environment = (window ? window['environment'] : 'prod') ?? 'prod';\nconst hostMap = {\n 'local': 'partner.vendasta-local.com',\n 'test': '',\n 'demo': 'partner-api-demo.apigateway.co',\n 'prod': 'partner-api-prod.apigateway.co',\n 'production': 'partner-api-prod.apigateway.co'\n};\nlet HostService = /*#__PURE__*/(() => {\n class HostService {\n get host() {\n return hostMap[environment.toLowerCase()];\n }\n get hostWithScheme() {\n return 'https://' + this.host;\n }\n }\n HostService.ɵfac = function HostService_Factory(t) {\n return new (t || HostService)();\n };\n HostService.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: HostService,\n factory: HostService.ɵfac,\n providedIn: 'root'\n });\n return HostService;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n// *********************************\nlet AcquisitionDataApiService = /*#__PURE__*/(() => {\n class AcquisitionDataApiService {\n constructor(http, hostService) {\n this.http = http;\n this.hostService = hostService;\n this._host = this.hostService.hostWithScheme;\n }\n apiOptions() {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n getAcquisitionData(r) {\n const request = r.toApiJson ? r : new GetAcquisitionDataRequest(r);\n return this.http.post(this._host + \"/partner.v1.AcquisitionDataService/GetAcquisitionData\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetAcquisitionDataResponse.fromProto(resp)));\n }\n }\n AcquisitionDataApiService.ɵfac = function AcquisitionDataApiService_Factory(t) {\n return new (t || AcquisitionDataApiService)(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(HostService));\n };\n AcquisitionDataApiService.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: AcquisitionDataApiService,\n factory: AcquisitionDataApiService.ɵfac,\n providedIn: 'root'\n });\n return AcquisitionDataApiService;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n// *********************************\nlet AddonApiService = /*#__PURE__*/(() => {\n class AddonApiService {\n constructor(http, hostService) {\n this.http = http;\n this.hostService = hostService;\n this._host = this.hostService.hostWithScheme;\n }\n apiOptions() {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n activate(r) {\n const request = r.toApiJson ? r : new ActivateAddonRequest(r);\n return this.http.post(this._host + \"/partner.v1.Addon/Activate\", request.toApiJson(), this.apiOptions()).pipe(map(resp => ActivateAddonResponse.fromProto(resp)));\n }\n deactivate(r) {\n const request = r.toApiJson ? r : new DeactivateAddonRequest(r);\n return this.http.post(this._host + \"/partner.v1.Addon/Deactivate\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n listActivations(r) {\n const request = r.toApiJson ? r : new ListAddonActivationsRequest(r);\n return this.http.post(this._host + \"/partner.v1.Addon/ListActivations\", request.toApiJson(), this.apiOptions()).pipe(map(resp => ListAddonActivationsResponse.fromProto(resp)));\n }\n getActivation(r) {\n const request = r.toApiJson ? r : new GetAddonActivationRequest(r);\n return this.http.post(this._host + \"/partner.v1.Addon/GetActivation\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetAddonActivationResponse.fromProto(resp)));\n }\n listPartnerAddons(r) {\n const request = r.toApiJson ? r : new ListPartnerAddonsRequest(r);\n return this.http.post(this._host + \"/partner.v1.Addon/ListPartnerAddons\", request.toApiJson(), this.apiOptions()).pipe(map(resp => ListPartnerAddonsResponse.fromProto(resp)));\n }\n }\n AddonApiService.ɵfac = function AddonApiService_Factory(t) {\n return new (t || AddonApiService)(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(HostService));\n };\n AddonApiService.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: AddonApiService,\n factory: AddonApiService.ɵfac,\n providedIn: 'root'\n });\n return AddonApiService;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n// *********************************\nlet BrandingV2ApiService = /*#__PURE__*/(() => {\n class BrandingV2ApiService {\n constructor(http, hostService) {\n this.http = http;\n this.hostService = hostService;\n this._host = this.hostService.hostWithScheme;\n }\n apiOptions() {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n getBranding(r) {\n const request = r.toApiJson ? r : new GetBrandingV2Request(r);\n return this.http.post(this._host + \"/partner.v1.BrandingV2Service/GetBranding\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetBrandingV2Response.fromProto(resp)));\n }\n getMultiBranding(r) {\n const request = r.toApiJson ? r : new GetMultiBrandingV2Request(r);\n return this.http.post(this._host + \"/partner.v1.BrandingV2Service/GetMultiBranding\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetMultiBrandingV2Response.fromProto(resp)));\n }\n listBranding(r) {\n const request = r.toApiJson ? r : new ListBrandingV2Request(r);\n return this.http.post(this._host + \"/partner.v1.BrandingV2Service/ListBranding\", request.toApiJson(), this.apiOptions()).pipe(map(resp => ListBrandingV2Response.fromProto(resp)));\n }\n upsertBranding(r) {\n const request = r.toApiJson ? r : new UpsertBrandingV2Request(r);\n return this.http.post(this._host + \"/partner.v1.BrandingV2Service/UpsertBranding\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n }\n BrandingV2ApiService.ɵfac = function BrandingV2ApiService_Factory(t) {\n return new (t || BrandingV2ApiService)(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(HostService));\n };\n BrandingV2ApiService.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: BrandingV2ApiService,\n factory: BrandingV2ApiService.ɵfac,\n providedIn: 'root'\n });\n return BrandingV2ApiService;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n// *********************************\nlet BusinessCenterApiService = /*#__PURE__*/(() => {\n class BusinessCenterApiService {\n constructor(http, hostService) {\n this.http = http;\n this.hostService = hostService;\n this._host = this.hostService.hostWithScheme;\n }\n apiOptions() {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n setConfiguration(r) {\n const request = r.toApiJson ? r : new SetBusinessCenterConfigRequest(r);\n return this.http.post(this._host + \"/partner.v1.BusinessCenter/SetConfiguration\", request.toApiJson(), this.apiOptions()).pipe(map(resp => SetBusinessCenterConfigResponse.fromProto(resp)));\n }\n getMarketConfiguration(r) {\n const request = r.toApiJson ? r : new GetBusinessCenterMarketConfigurationRequest(r);\n return this.http.post(this._host + \"/partner.v1.BusinessCenter/GetMarketConfiguration\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetBusinessCenterMarketConfigurationResponse.fromProto(resp)));\n }\n updateMarketConfiguration(r) {\n const request = r.toApiJson ? r : new UpdateBusinessCenterMarketConfigurationRequest(r);\n return this.http.post(this._host + \"/partner.v1.BusinessCenter/UpdateMarketConfiguration\", request.toApiJson(), this.apiOptions()).pipe(map(resp => UpdateBusinessCenterMarketConfigurationResponse.fromProto(resp)));\n }\n }\n BusinessCenterApiService.ɵfac = function BusinessCenterApiService_Factory(t) {\n return new (t || BusinessCenterApiService)(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(HostService));\n };\n BusinessCenterApiService.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: BusinessCenterApiService,\n factory: BusinessCenterApiService.ɵfac,\n providedIn: 'root'\n });\n return BusinessCenterApiService;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n// *********************************\nlet CannyApiService = /*#__PURE__*/(() => {\n class CannyApiService {\n constructor(http, hostService) {\n this.http = http;\n this.hostService = hostService;\n this._host = this.hostService.hostWithScheme;\n }\n apiOptions() {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n getSingleSignOn(r) {\n const request = r.toApiJson ? r : new GetSingleSignOnRequest(r);\n return this.http.post(this._host + \"/partner.v1.CannyService/GetSingleSignOn\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetSingleSignOnResponse.fromProto(resp)));\n }\n }\n CannyApiService.ɵfac = function CannyApiService_Factory(t) {\n return new (t || CannyApiService)(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(HostService));\n };\n CannyApiService.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: CannyApiService,\n factory: CannyApiService.ɵfac,\n providedIn: 'root'\n });\n return CannyApiService;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n// *********************************\nlet CustomerSurveyApiService = /*#__PURE__*/(() => {\n class CustomerSurveyApiService {\n constructor(http, hostService) {\n this.http = http;\n this.hostService = hostService;\n this._host = this.hostService.hostWithScheme;\n }\n apiOptions() {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n respond(r) {\n const request = r.toApiJson ? r : new CustomerSurveyRespondRequest(r);\n return this.http.post(this._host + \"/partner.v1.CustomerSurveyService/Respond\", request.toApiJson(), this.apiOptions()).pipe(map(resp => CustomerSurveyRespondResponse.fromProto(resp)));\n }\n addFeedback(r) {\n const request = r.toApiJson ? r : new CustomerSurveyAddFeedbackRequest(r);\n return this.http.post(this._host + \"/partner.v1.CustomerSurveyService/AddFeedback\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n listResponses(r) {\n const request = r.toApiJson ? r : new CustomerSurveyListResponsesRequest(r);\n return this.http.post(this._host + \"/partner.v1.CustomerSurveyService/ListResponses\", request.toApiJson(), this.apiOptions()).pipe(map(resp => CustomerSurveyListResponsesResponse.fromProto(resp)));\n }\n }\n CustomerSurveyApiService.ɵfac = function CustomerSurveyApiService_Factory(t) {\n return new (t || CustomerSurveyApiService)(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(HostService));\n };\n CustomerSurveyApiService.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: CustomerSurveyApiService,\n factory: CustomerSurveyApiService.ɵfac,\n providedIn: 'root'\n });\n return CustomerSurveyApiService;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n// *********************************\nlet FeatureFlagsApiService = /*#__PURE__*/(() => {\n class FeatureFlagsApiService {\n constructor(http, hostService) {\n this.http = http;\n this.hostService = hostService;\n this._host = this.hostService.hostWithScheme;\n }\n apiOptions() {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n create(r) {\n const request = r.toApiJson ? r : new CreateFeatureFlagRequest(r);\n return this.http.post(this._host + \"/partner.v1.FeatureFlags/Create\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n update(r) {\n const request = r.toApiJson ? r : new UpdateFeatureFlagRequest(r);\n return this.http.post(this._host + \"/partner.v1.FeatureFlags/Update\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n batchGetStatus(r) {\n const request = r.toApiJson ? r : new BatchGetStatusFeatureFlagRequest(r);\n return this.http.post(this._host + \"/partner.v1.FeatureFlags/BatchGetStatus\", request.toApiJson(), this.apiOptions()).pipe(map(resp => BatchGetStatusFeatureFlagResponse.fromProto(resp)));\n }\n batchGet(r) {\n const request = r.toApiJson ? r : new BatchGetFeatureFlagRequest(r);\n return this.http.post(this._host + \"/partner.v1.FeatureFlags/BatchGet\", request.toApiJson(), this.apiOptions()).pipe(map(resp => BatchGetFeatureFlagResponse.fromProto(resp)));\n }\n list(r) {\n const request = r.toApiJson ? r : new ListFeatureFlagRequest(r);\n return this.http.post(this._host + \"/partner.v1.FeatureFlags/List\", request.toApiJson(), this.apiOptions()).pipe(map(resp => ListFeatureFlagResponse.fromProto(resp)));\n }\n createAnalyticsDashboard(r) {\n const request = r.toApiJson ? r : new CreateAnalyticsDashboardRequest(r);\n return this.http.post(this._host + \"/partner.v1.FeatureFlags/CreateAnalyticsDashboard\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n addPartnerToWhitelist(r) {\n const request = r.toApiJson ? r : new AddPartnerToWhitelistRequest(r);\n return this.http.post(this._host + \"/partner.v1.FeatureFlags/AddPartnerToWhitelist\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n }\n FeatureFlagsApiService.ɵfac = function FeatureFlagsApiService_Factory(t) {\n return new (t || FeatureFlagsApiService)(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(HostService));\n };\n FeatureFlagsApiService.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: FeatureFlagsApiService,\n factory: FeatureFlagsApiService.ɵfac,\n providedIn: 'root'\n });\n return FeatureFlagsApiService;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n// *********************************\nlet FreeTrialApiService = /*#__PURE__*/(() => {\n class FreeTrialApiService {\n constructor(http, hostService) {\n this.http = http;\n this.hostService = hostService;\n this._host = this.hostService.hostWithScheme;\n }\n apiOptions() {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n getFreeTrialStatus(r) {\n const request = r.toApiJson ? r : new GetFreeTrialStatusRequest(r);\n return this.http.post(this._host + \"/partner.v1.FreeTrialService/GetFreeTrialStatus\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetFreeTrialStatusResponse.fromProto(resp)));\n }\n getFreeTrial(r) {\n const request = r.toApiJson ? r : new GetFreeTrialRequest(r);\n return this.http.post(this._host + \"/partner.v1.FreeTrialService/GetFreeTrial\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetFreeTrialResponse.fromProto(resp)));\n }\n updateFreeTrial(r) {\n const request = r.toApiJson ? r : new UpdateFreeTrialRequest(r);\n return this.http.post(this._host + \"/partner.v1.FreeTrialService/UpdateFreeTrial\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n }\n FreeTrialApiService.ɵfac = function FreeTrialApiService_Factory(t) {\n return new (t || FreeTrialApiService)(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(HostService));\n };\n FreeTrialApiService.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: FreeTrialApiService,\n factory: FreeTrialApiService.ɵfac,\n providedIn: 'root'\n });\n return FreeTrialApiService;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n// *********************************\nlet IAMApiService = /*#__PURE__*/(() => {\n class IAMApiService {\n constructor(http, hostService) {\n this.http = http;\n this.hostService = hostService;\n this._host = this.hostService.hostWithScheme;\n }\n apiOptions() {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n generateAccountGroupSession(r) {\n const request = r.toApiJson ? r : new GenerateAccountGroupSessionRequest(r);\n return this.http.post(this._host + \"/partner.v1.IAM/GenerateAccountGroupSession\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GenerateAccountGroupSessionResponse.fromProto(resp)));\n }\n resendPartnerAdminWelcomeEmail(r) {\n const request = r.toApiJson ? r : new ResendPartnerAdminWelcomeEmailRequest(r);\n return this.http.post(this._host + \"/partner.v1.IAM/ResendPartnerAdminWelcomeEmail\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n updatePartnerAdmin(r) {\n const request = r.toApiJson ? r : new UpdatePartnerAdminRequest(r);\n return this.http.post(this._host + \"/partner.v1.IAM/UpdatePartnerAdmin\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n }\n IAMApiService.ɵfac = function IAMApiService_Factory(t) {\n return new (t || IAMApiService)(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(HostService));\n };\n IAMApiService.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: IAMApiService,\n factory: IAMApiService.ɵfac,\n providedIn: 'root'\n });\n return IAMApiService;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n// *********************************\nlet PartnerApiService = /*#__PURE__*/(() => {\n class PartnerApiService {\n constructor(http, hostService) {\n this.http = http;\n this.hostService = hostService;\n this._host = this.hostService.hostWithScheme;\n }\n apiOptions() {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n reset(r) {\n const request = r.toApiJson ? r : new ResetPartnerRequest(r);\n return this.http.post(this._host + \"/partner.v1.Partner/Reset\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n updateSubscriptionTier(r) {\n const request = r.toApiJson ? r : new UpdateSubscriptionTierRequest(r);\n return this.http.post(this._host + \"/partner.v1.Partner/UpdateSubscriptionTier\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n getUpdateSubscriptionTierStatus(r) {\n const request = r.toApiJson ? r : new GetUpdateSubscriptionTierStatusRequest(r);\n return this.http.post(this._host + \"/partner.v1.Partner/GetUpdateSubscriptionTierStatus\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetUpdateSubscriptionTierStatusResponse.fromProto(resp)));\n }\n canDoAction(r) {\n const request = r.toApiJson ? r : new PartnerCanDoActionRequest(r);\n return this.http.post(this._host + \"/partner.v1.Partner/CanDoAction\", request.toApiJson(), this.apiOptions()).pipe(map(resp => PartnerCanDoActionResponse.fromProto(resp)));\n }\n deletePartnerAccountGroup(r) {\n const request = r.toApiJson ? r : new DeletePartnerAccountGroupRequest(r);\n return this.http.post(this._host + \"/partner.v1.Partner/DeletePartnerAccountGroup\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n getPartnerAccountGroupMapping(r) {\n const request = r.toApiJson ? r : new GetPartnerAccountGroupMappingRequest(r);\n return this.http.post(this._host + \"/partner.v1.Partner/GetPartnerAccountGroupMapping\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetPartnerAccountGroupMappingResponse.fromProto(resp)));\n }\n createPartnerAccountGroup(r) {\n const request = r.toApiJson ? r : new CreatePartnerAccountGroupRequest(r);\n return this.http.post(this._host + \"/partner.v1.Partner/CreatePartnerAccountGroup\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n updatePartnerAccountGroup(r) {\n const request = r.toApiJson ? r : new UpdatePartnerAccountGroupRequest(r);\n return this.http.post(this._host + \"/partner.v1.Partner/UpdatePartnerAccountGroup\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n swapPartnerAccountGroup(r) {\n const request = r.toApiJson ? r : new SwapPartnerAccountGroupRequest(r);\n return this.http.post(this._host + \"/partner.v1.Partner/SwapPartnerAccountGroup\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n initiateSubscriptionTierUpdate(r) {\n const request = r.toApiJson ? r : new InitiateSubscriptionTierUpdateRequest(r);\n return this.http.post(this._host + \"/partner.v1.Partner/InitiateSubscriptionTierUpdate\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n }\n PartnerApiService.ɵfac = function PartnerApiService_Factory(t) {\n return new (t || PartnerApiService)(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(HostService));\n };\n PartnerApiService.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: PartnerApiService,\n factory: PartnerApiService.ɵfac,\n providedIn: 'root'\n });\n return PartnerApiService;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n// *********************************\nlet PartnerHealthsApiService = /*#__PURE__*/(() => {\n class PartnerHealthsApiService {\n constructor(http, hostService) {\n this.http = http;\n this.hostService = hostService;\n this._host = this.hostService.hostWithScheme;\n }\n apiOptions() {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n set(r) {\n const request = r.toApiJson ? r : new SetPartnerHealthRequest(r);\n return this.http.post(this._host + \"/partner.v1.PartnerHealths/Set\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n get(r) {\n const request = r.toApiJson ? r : new GetPartnerHealthRequest(r);\n return this.http.post(this._host + \"/partner.v1.PartnerHealths/Get\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetPartnerHealthResponse.fromProto(resp)));\n }\n list(r) {\n const request = r.toApiJson ? r : new ListPartnerHealthRequest(r);\n return this.http.post(this._host + \"/partner.v1.PartnerHealths/List\", request.toApiJson(), this.apiOptions()).pipe(map(resp => ListPartnerHealthResponse.fromProto(resp)));\n }\n getMulti(r) {\n const request = r.toApiJson ? r : new GetMultiPartnerHealthRequest(r);\n return this.http.post(this._host + \"/partner.v1.PartnerHealths/GetMulti\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetMultiPartnerHealthResponse.fromProto(resp)));\n }\n }\n PartnerHealthsApiService.ɵfac = function PartnerHealthsApiService_Factory(t) {\n return new (t || PartnerHealthsApiService)(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(HostService));\n };\n PartnerHealthsApiService.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: PartnerHealthsApiService,\n factory: PartnerHealthsApiService.ɵfac,\n providedIn: 'root'\n });\n return PartnerHealthsApiService;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n// *********************************\nlet PartnerLegacyApiService = /*#__PURE__*/(() => {\n class PartnerLegacyApiService {\n constructor(http, hostService) {\n this.http = http;\n this.hostService = hostService;\n this._host = this.hostService.hostWithScheme;\n }\n apiOptions() {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n createPartner(r) {\n const request = r.toApiJson ? r : new CreatePartnerRequest(r);\n return this.http.post(this._host + \"/partner.v1.PartnerLegacy/CreatePartner\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n getCreatePartnerStatus(r) {\n const request = r.toApiJson ? r : new GetCreatePartnerStatusRequest(r);\n return this.http.post(this._host + \"/partner.v1.PartnerLegacy/GetCreatePartnerStatus\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetCreatePartnerStatusResponse.fromProto(resp)));\n }\n getSignUpAddPaymentCardResult(r) {\n const request = r.toApiJson ? r : new GetSignUpAddPaymentCardResultRequest(r);\n return this.http.post(this._host + \"/partner.v1.PartnerLegacy/GetSignUpAddPaymentCardResult\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetSignUpAddPaymentCardResultResponse.fromProto(resp)));\n }\n updatePartnerCompanyProfile(r) {\n const request = r.toApiJson ? r : new UpdateCompanyProfileRequest(r);\n return this.http.post(this._host + \"/partner.v1.PartnerLegacy/UpdatePartnerCompanyProfile\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n updatePartner(r) {\n const request = r.toApiJson ? r : new UpdatePartnerRequest(r);\n return this.http.post(this._host + \"/partner.v1.PartnerLegacy/UpdatePartner\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n getUpdatePartnerStatus(r) {\n const request = r.toApiJson ? r : new GetUpdatePartnerStatusRequest(r);\n return this.http.post(this._host + \"/partner.v1.PartnerLegacy/GetUpdatePartnerStatus\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetUpdatePartnerStatusResponse.fromProto(resp)));\n }\n getPartnerCenterNavigation(r) {\n const request = r.toApiJson ? r : new GetPartnerCenterNavigationRequest(r);\n return this.http.post(this._host + \"/partner.v1.PartnerLegacy/GetPartnerCenterNavigation\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetPartnerCenterNavigationResponse.fromProto(resp)));\n }\n }\n PartnerLegacyApiService.ɵfac = function PartnerLegacyApiService_Factory(t) {\n return new (t || PartnerLegacyApiService)(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(HostService));\n };\n PartnerLegacyApiService.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: PartnerLegacyApiService,\n factory: PartnerLegacyApiService.ɵfac,\n providedIn: 'root'\n });\n return PartnerLegacyApiService;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n// *********************************\nlet PartnerModelApiService = /*#__PURE__*/(() => {\n class PartnerModelApiService {\n constructor(http, hostService) {\n this.http = http;\n this.hostService = hostService;\n this._host = this.hostService.hostWithScheme;\n }\n apiOptions() {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n getPartnerModel(r) {\n const request = r.toApiJson ? r : new GetPartnerModelRequest(r);\n return this.http.post(this._host + \"/partner.v1.PartnerModelService/GetPartnerModel\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetPartnerModelResponse.fromProto(resp)));\n }\n getMultiPartnerModel(r) {\n const request = r.toApiJson ? r : new GetMultiPartnerModelRequest(r);\n return this.http.post(this._host + \"/partner.v1.PartnerModelService/GetMultiPartnerModel\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetMultiPartnerModelResponse.fromProto(resp)));\n }\n updatePartnerModel(r) {\n const request = r.toApiJson ? r : new UpdatePartnerModelRequest(r);\n return this.http.post(this._host + \"/partner.v1.PartnerModelService/UpdatePartnerModel\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n searchPartnerModels(r) {\n const request = r.toApiJson ? r : new SearchPartnerModelsRequest(r);\n return this.http.post(this._host + \"/partner.v1.PartnerModelService/SearchPartnerModels\", request.toApiJson(), this.apiOptions()).pipe(map(resp => SearchPartnerModelsResponse.fromProto(resp)));\n }\n }\n PartnerModelApiService.ɵfac = function PartnerModelApiService_Factory(t) {\n return new (t || PartnerModelApiService)(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(HostService));\n };\n PartnerModelApiService.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: PartnerModelApiService,\n factory: PartnerModelApiService.ɵfac,\n providedIn: 'root'\n });\n return PartnerModelApiService;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n// *********************************\nlet PartnerSignupApiService = /*#__PURE__*/(() => {\n class PartnerSignupApiService {\n constructor(http, hostService) {\n this.http = http;\n this.hostService = hostService;\n this._host = this.hostService.hostWithScheme;\n }\n apiOptions() {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n selfSignUp(r) {\n const request = r.toApiJson ? r : new SelfSignUpRequest(r);\n return this.http.post(this._host + \"/partner.v1.PartnerSignup/SelfSignUp\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n selfSignUpWithGoogle(r) {\n const request = r.toApiJson ? r : new SelfSignUpWithGoogleRequest(r);\n return this.http.post(this._host + \"/partner.v1.PartnerSignup/SelfSignUpWithGoogle\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n selfSignUpWithLinkedIn(r) {\n const request = r.toApiJson ? r : new SelfSignUpWithLinkedRequest(r);\n return this.http.post(this._host + \"/partner.v1.PartnerSignup/SelfSignUpWithLinkedIn\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n selfSignUpExistingAccountGroup(r) {\n const request = r.toApiJson ? r : new SelfSignUpExistingAccountGroupRequest(r);\n return this.http.post(this._host + \"/partner.v1.PartnerSignup/SelfSignUpExistingAccountGroup\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n isEmailInUse(r) {\n const request = r.toApiJson ? r : new IsEmailInUseRequest(r);\n return this.http.post(this._host + \"/partner.v1.PartnerSignup/IsEmailInUse\", request.toApiJson(), this.apiOptions()).pipe(map(resp => IsEmailInUseResponse.fromProto(resp)));\n }\n getSelfSignUpStatus(r) {\n const request = r.toApiJson ? r : new GetSelfSignUpStatusRequest(r);\n return this.http.post(this._host + \"/partner.v1.PartnerSignup/GetSelfSignUpStatus\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetSelfSignUpStatusResponse.fromProto(resp)));\n }\n login(r) {\n const request = r.toApiJson ? r : new LoginRequest(r);\n return this.http.post(this._host + \"/partner.v1.PartnerSignup/Login\", request.toApiJson(), this.apiOptions()).pipe(map(resp => LoginResponse.fromProto(resp)));\n }\n signUp(r) {\n const request = r.toApiJson ? r : new SignUpRequest(r);\n return this.http.post(this._host + \"/partner.v1.PartnerSignup/SignUp\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n getGoogleProfile(r) {\n const request = r.toApiJson ? r : new GetGoogleProfileRequest(r);\n return this.http.post(this._host + \"/partner.v1.PartnerSignup/GetGoogleProfile\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetGoogleProfileResponse.fromProto(resp)));\n }\n getLinkedInProfile(r) {\n const request = r.toApiJson ? r : new GetLinkedinProfileRequest(r);\n return this.http.post(this._host + \"/partner.v1.PartnerSignup/GetLinkedInProfile\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetLinkedinProfileResponse.fromProto(resp)));\n }\n }\n PartnerSignupApiService.ɵfac = function PartnerSignupApiService_Factory(t) {\n return new (t || PartnerSignupApiService)(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(HostService));\n };\n PartnerSignupApiService.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: PartnerSignupApiService,\n factory: PartnerSignupApiService.ɵfac,\n providedIn: 'root'\n });\n return PartnerSignupApiService;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n// *********************************\nlet PartnerTermsOfApiService = /*#__PURE__*/(() => {\n class PartnerTermsOfApiService {\n constructor(http, hostService) {\n this.http = http;\n this.hostService = hostService;\n this._host = this.hostService.hostWithScheme;\n }\n apiOptions() {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n getTermsOfService(r) {\n const request = r.toApiJson ? r : new GetTermsOfServiceRequest(r);\n return this.http.post(this._host + \"/partner.v1.PartnerTermsOfService/GetTermsOfService\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetTermsOfServiceResponse.fromProto(resp)));\n }\n createTermsOfService(r) {\n const request = r.toApiJson ? r : new CreateTermsOfServiceRequest(r);\n return this.http.post(this._host + \"/partner.v1.PartnerTermsOfService/CreateTermsOfService\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n }\n PartnerTermsOfApiService.ɵfac = function PartnerTermsOfApiService_Factory(t) {\n return new (t || PartnerTermsOfApiService)(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(HostService));\n };\n PartnerTermsOfApiService.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: PartnerTermsOfApiService,\n factory: PartnerTermsOfApiService.ɵfac,\n providedIn: 'root'\n });\n return PartnerTermsOfApiService;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n// *********************************\nlet PartnerTrialApiService = /*#__PURE__*/(() => {\n class PartnerTrialApiService {\n constructor(http, hostService) {\n this.http = http;\n this.hostService = hostService;\n this._host = this.hostService.hostWithScheme;\n }\n apiOptions() {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n getTrial(r) {\n const request = r.toApiJson ? r : new GetTrialRequest(r);\n return this.http.post(this._host + \"/partner.v1.PartnerTrial/GetTrial\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetTrialResponse.fromProto(resp)));\n }\n createTrial(r) {\n const request = r.toApiJson ? r : new CreateTrialRequest(r);\n return this.http.post(this._host + \"/partner.v1.PartnerTrial/CreateTrial\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n cancelTrial(r) {\n const request = r.toApiJson ? r : new CancelTrialRequest(r);\n return this.http.post(this._host + \"/partner.v1.PartnerTrial/CancelTrial\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n listTrial(r) {\n const request = r.toApiJson ? r : new ListTrialRequest(r);\n return this.http.post(this._host + \"/partner.v1.PartnerTrial/ListTrial\", request.toApiJson(), this.apiOptions()).pipe(map(resp => ListTrialResponse.fromProto(resp)));\n }\n }\n PartnerTrialApiService.ɵfac = function PartnerTrialApiService_Factory(t) {\n return new (t || PartnerTrialApiService)(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(HostService));\n };\n PartnerTrialApiService.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: PartnerTrialApiService,\n factory: PartnerTrialApiService.ɵfac,\n providedIn: 'root'\n });\n return PartnerTrialApiService;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n// *********************************\nlet PartnerUserAgreementTermsOfApiService = /*#__PURE__*/(() => {\n class PartnerUserAgreementTermsOfApiService {\n constructor(http, hostService) {\n this.http = http;\n this.hostService = hostService;\n this._host = this.hostService.hostWithScheme;\n }\n apiOptions() {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n getUserAgreementTermsOfService(r) {\n const request = r.toApiJson ? r : new GetUserAgreementTermsOfServiceRequest(r);\n return this.http.post(this._host + \"/partner.v1.PartnerUserAgreementTermsOfService/GetUserAgreementTermsOfService\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetUserAgreementTermsOfServiceResponse.fromProto(resp)));\n }\n setUserAgreementTermsOfService(r) {\n const request = r.toApiJson ? r : new SetUserAgreementTermsOfServiceRequest(r);\n return this.http.post(this._host + \"/partner.v1.PartnerUserAgreementTermsOfService/SetUserAgreementTermsOfService\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n }\n PartnerUserAgreementTermsOfApiService.ɵfac = function PartnerUserAgreementTermsOfApiService_Factory(t) {\n return new (t || PartnerUserAgreementTermsOfApiService)(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(HostService));\n };\n PartnerUserAgreementTermsOfApiService.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: PartnerUserAgreementTermsOfApiService,\n factory: PartnerUserAgreementTermsOfApiService.ɵfac,\n providedIn: 'root'\n });\n return PartnerUserAgreementTermsOfApiService;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n// *********************************\nlet PreviewEmailApiService = /*#__PURE__*/(() => {\n class PreviewEmailApiService {\n constructor(http, hostService) {\n this.http = http;\n this.hostService = hostService;\n this._host = this.hostService.hostWithScheme;\n }\n apiOptions() {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n createPreviewEmail(r) {\n const request = r.toApiJson ? r : new CreatePreviewEmailRequest(r);\n return this.http.post(this._host + \"/partner.v1.PreviewEmailService/CreatePreviewEmail\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n canSendPreviewEmail(r) {\n const request = r.toApiJson ? r : new CanSendPreviewEmailRequest(r);\n return this.http.post(this._host + \"/partner.v1.PreviewEmailService/CanSendPreviewEmail\", request.toApiJson(), this.apiOptions()).pipe(map(resp => CanSendPreviewEmailResponse.fromProto(resp)));\n }\n }\n PreviewEmailApiService.ɵfac = function PreviewEmailApiService_Factory(t) {\n return new (t || PreviewEmailApiService)(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(HostService));\n };\n PreviewEmailApiService.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: PreviewEmailApiService,\n factory: PreviewEmailApiService.ɵfac,\n providedIn: 'root'\n });\n return PreviewEmailApiService;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n// *********************************\nlet RewardsApiService = /*#__PURE__*/(() => {\n class RewardsApiService {\n constructor(http, hostService) {\n this.http = http;\n this.hostService = hostService;\n this._host = this.hostService.hostWithScheme;\n }\n apiOptions() {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n addRewardToPartner(r) {\n const request = r.toApiJson ? r : new AddRewardToPartnerRequest(r);\n return this.http.post(this._host + \"/partner.v1.Rewards/AddRewardToPartner\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n attemptRewardClaim(r) {\n const request = r.toApiJson ? r : new AttemptRewardClaimRequest(r);\n return this.http.post(this._host + \"/partner.v1.Rewards/AttemptRewardClaim\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n getReward(r) {\n const request = r.toApiJson ? r : new GetRewardRequest(r);\n return this.http.post(this._host + \"/partner.v1.Rewards/GetReward\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetRewardResponse.fromProto(resp)));\n }\n isRewardConditionMetForPartner(r) {\n const request = r.toApiJson ? r : new IsRewardConditionMetForPartnerRequest(r);\n return this.http.post(this._host + \"/partner.v1.Rewards/IsRewardConditionMetForPartner\", request.toApiJson(), this.apiOptions()).pipe(map(resp => IsRewardConditionMetForPartnerResponse.fromProto(resp)));\n }\n }\n RewardsApiService.ɵfac = function RewardsApiService_Factory(t) {\n return new (t || RewardsApiService)(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(HostService));\n };\n RewardsApiService.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: RewardsApiService,\n factory: RewardsApiService.ɵfac,\n providedIn: 'root'\n });\n return RewardsApiService;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n// *********************************\nlet SalesApiService = /*#__PURE__*/(() => {\n class SalesApiService {\n constructor(http, hostService) {\n this.http = http;\n this.hostService = hostService;\n this._host = this.hostService.hostWithScheme;\n }\n apiOptions() {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n setConfiguration(r) {\n const request = r.toApiJson ? r : new SetSalesConfigRequest(r);\n return this.http.post(this._host + \"/partner.v1.Sales/SetConfiguration\", request.toApiJson(), this.apiOptions()).pipe(map(resp => SetSalesConfigResponse.fromProto(resp)));\n }\n getConfiguration(r) {\n const request = r.toApiJson ? r : new GetSalesConfigRequest(r);\n return this.http.post(this._host + \"/partner.v1.Sales/GetConfiguration\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetSalesConfigResponse.fromProto(resp)));\n }\n }\n SalesApiService.ɵfac = function SalesApiService_Factory(t) {\n return new (t || SalesApiService)(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(HostService));\n };\n SalesApiService.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: SalesApiService,\n factory: SalesApiService.ɵfac,\n providedIn: 'root'\n });\n return SalesApiService;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n// *********************************\nlet StatsApiService = /*#__PURE__*/(() => {\n class StatsApiService {\n constructor(http, hostService) {\n this.http = http;\n this.hostService = hostService;\n this._host = this.hostService.hostWithScheme;\n }\n apiOptions() {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n listTop(r) {\n const request = r.toApiJson ? r : new ListTopRequest(r);\n return this.http.post(this._host + \"/partner.v1.Stats/ListTop\", request.toApiJson(), this.apiOptions()).pipe(map(resp => ListTopResponse.fromProto(resp)));\n }\n }\n StatsApiService.ɵfac = function StatsApiService_Factory(t) {\n return new (t || StatsApiService)(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(HostService));\n };\n StatsApiService.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: StatsApiService,\n factory: StatsApiService.ɵfac,\n providedIn: 'root'\n });\n return StatsApiService;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n// *********************************\nlet SubscriptionTiersApiService = /*#__PURE__*/(() => {\n class SubscriptionTiersApiService {\n constructor(http, hostService) {\n this.http = http;\n this.hostService = hostService;\n this._host = this.hostService.hostWithScheme;\n }\n apiOptions() {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n getSubscriptionTier(r) {\n const request = r.toApiJson ? r : new GetSubscriptionTierRequest(r);\n return this.http.post(this._host + \"/partner.v1.SubscriptionTiers/GetSubscriptionTier\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetSubscriptionTierResponse.fromProto(resp)));\n }\n listSubscriptionTiers(r) {\n const request = r.toApiJson ? r : new ListSubscriptionTiersRequest(r);\n return this.http.post(this._host + \"/partner.v1.SubscriptionTiers/ListSubscriptionTiers\", request.toApiJson(), this.apiOptions()).pipe(map(resp => ListSubscriptionTiersResponse.fromProto(resp)));\n }\n compareSubscriptionTiers(r) {\n const request = r.toApiJson ? r : new CompareSubscriptionTiersRequest(r);\n return this.http.post(this._host + \"/partner.v1.SubscriptionTiers/CompareSubscriptionTiers\", request.toApiJson(), this.apiOptions()).pipe(map(resp => CompareSubscriptionTiersResponse.fromProto(resp)));\n }\n }\n SubscriptionTiersApiService.ɵfac = function SubscriptionTiersApiService_Factory(t) {\n return new (t || SubscriptionTiersApiService)(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(HostService));\n };\n SubscriptionTiersApiService.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: SubscriptionTiersApiService,\n factory: SubscriptionTiersApiService.ɵfac,\n providedIn: 'root'\n });\n return SubscriptionTiersApiService;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n// *********************************\nlet TaskManagerApiService = /*#__PURE__*/(() => {\n class TaskManagerApiService {\n constructor(http, hostService) {\n this.http = http;\n this.hostService = hostService;\n this._host = this.hostService.hostWithScheme;\n }\n apiOptions() {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n setConfiguration(r) {\n const request = r.toApiJson ? r : new SetTaskManagerConfigRequest(r);\n return this.http.post(this._host + \"/partner.v1.TaskManager/SetConfiguration\", request.toApiJson(), this.apiOptions()).pipe(map(resp => SetTaskManagerConfigResponse.fromProto(resp)));\n }\n getConfiguration(r) {\n const request = r.toApiJson ? r : new GetTaskManagerConfigRequest(r);\n return this.http.post(this._host + \"/partner.v1.TaskManager/GetConfiguration\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetTaskManagerConfigResponse.fromProto(resp)));\n }\n }\n TaskManagerApiService.ɵfac = function TaskManagerApiService_Factory(t) {\n return new (t || TaskManagerApiService)(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(HostService));\n };\n TaskManagerApiService.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: TaskManagerApiService,\n factory: TaskManagerApiService.ɵfac,\n providedIn: 'root'\n });\n return TaskManagerApiService;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n// *********************************\nlet UserOnboardingApiService = /*#__PURE__*/(() => {\n class UserOnboardingApiService {\n constructor(http, hostService) {\n this.http = http;\n this.hostService = hostService;\n this._host = this.hostService.hostWithScheme;\n }\n apiOptions() {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n replaceWizardStatus(r) {\n const request = r.toApiJson ? r : new ReplaceWizardStatusRequest(r);\n return this.http.post(this._host + \"/partner.v1.UserOnboarding/ReplaceWizardStatus\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n getWizardStatus(r) {\n const request = r.toApiJson ? r : new GetWizardStatusRequest(r);\n return this.http.post(this._host + \"/partner.v1.UserOnboarding/GetWizardStatus\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetWizardStatusResponse.fromProto(resp)));\n }\n listWizardStatus(r) {\n const request = r.toApiJson ? r : new ListWizardStatusRequest(r);\n return this.http.post(this._host + \"/partner.v1.UserOnboarding/ListWizardStatus\", request.toApiJson(), this.apiOptions()).pipe(map(resp => ListWizardStatusResponse.fromProto(resp)));\n }\n deleteWizardStatus(r) {\n const request = r.toApiJson ? r : new DeleteWizardStatusRequest(r);\n return this.http.post(this._host + \"/partner.v1.UserOnboarding/DeleteWizardStatus\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n }\n UserOnboardingApiService.ɵfac = function UserOnboardingApiService_Factory(t) {\n return new (t || UserOnboardingApiService)(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(HostService));\n };\n UserOnboardingApiService.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: UserOnboardingApiService,\n factory: UserOnboardingApiService.ɵfac,\n providedIn: 'root'\n });\n return UserOnboardingApiService;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n// *********************************\nlet WhitelabelApiService = /*#__PURE__*/(() => {\n class WhitelabelApiService {\n constructor(http, hostService) {\n this.http = http;\n this.hostService = hostService;\n this._host = this.hostService.hostWithScheme;\n }\n apiOptions() {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n getBranding(r) {\n const request = r.toApiJson ? r : new GetBrandingRequest(r);\n return this.http.post(this._host + \"/partner.v1.Whitelabel/GetBranding\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetBrandingResponse.fromProto(resp)));\n }\n getMultiBranding(r) {\n const request = r.toApiJson ? r : new GetMultiBrandingRequest(r);\n return this.http.post(this._host + \"/partner.v1.Whitelabel/GetMultiBranding\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetMultiBrandingResponse.fromProto(resp)));\n }\n getConfiguration(r) {\n const request = r.toApiJson ? r : new GetConfigurationRequest(r);\n return this.http.post(this._host + \"/partner.v1.Whitelabel/GetConfiguration\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetConfigurationResponse.fromProto(resp)));\n }\n }\n WhitelabelApiService.ɵfac = function WhitelabelApiService_Factory(t) {\n return new (t || WhitelabelApiService)(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(HostService));\n };\n WhitelabelApiService.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: WhitelabelApiService,\n factory: WhitelabelApiService.ɵfac,\n providedIn: 'root'\n });\n return WhitelabelApiService;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n// *********************************\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { Access, AccessLevel, AcquisitionData, AcquisitionDataApiService, Action, ActivateAddonRequest, ActivateAddonResponse, AddPartnerToWhitelistRequest, AddRewardToPartnerRequest, AddonActivation, AddonActivationStatus, AddonApiService, AppIdentifier, AttemptRewardClaimRequest, BatchGetFeatureFlagRequest, BatchGetFeatureFlagResponse, BatchGetStatusFeatureFlagRequest, BatchGetStatusFeatureFlagResponse, BillingFrequency, Branding, BrandingApp, BrandingAppsEntry, BrandingAssets, BrandingUITheme, BrandingV2, BrandingV2ApiService, BusinessCenterApiService, BusinessCenterConfiguration, BusinessCenterMarketConfiguration, CanSendPreviewEmailRequest, CanSendPreviewEmailResponse, CancelTrialRequest, CannyApiService, Claimed, CompanyProfile, CompareSubscriptionTiersRequest, CompareSubscriptionTiersResponse, ComparisonCell, ComparisonRow, Configuration, CountConstraint, CreateAnalyticsDashboardRequest, CreateFeatureFlagRequest, CreatePartnerAccountGroupRequest, CreatePartnerRequest, CreatePreviewEmailRequest, CreateTermsOfServiceRequest, CreateTrialRequest, CustomerSurveyAddFeedbackRequest, CustomerSurveyApiService, CustomerSurveyListResponsesRequest, CustomerSurveyListResponsesResponse, CustomerSurveyPagedRequestOptions, CustomerSurveyPagedResponseMetadata, CustomerSurveyRespondRequest, CustomerSurveyRespondResponse, CustomerSurveyResponse, DeactivateAddonRequest, DeletePartnerAccountGroupRequest, DeleteWizardStatusRequest, EditUserProfileLocation, EmailConfiguration, EmailPasswordCredential, ExistingAccount, ExperimentSetting, Expiration, FeatureFlag, FeatureFlagsApiService, Field, FieldMask, FreeTrialApiService, GenerateAccountGroupSessionRequest, GenerateAccountGroupSessionResponse, GetAcquisitionDataRequest, GetAcquisitionDataResponse, GetAddonActivationRequest, GetAddonActivationResponse, GetBrandingRequest, GetBrandingResponse, GetBrandingV2Request, GetBrandingV2Response, GetBusinessCenterMarketConfigurationRequest, GetBusinessCenterMarketConfigurationResponse, GetConfigurationRequest, GetConfigurationResponse, GetCreatePartnerStatusRequest, GetCreatePartnerStatusResponse, GetFreeTrialRequest, GetFreeTrialResponse, GetFreeTrialStatusRequest, GetFreeTrialStatusResponse, GetGoogleProfileRequest, GetGoogleProfileResponse, GetLinkedinProfileRequest, GetLinkedinProfileResponse, GetMultiBrandingRequest, GetMultiBrandingResponse, GetMultiBrandingV2Request, GetMultiBrandingV2Response, GetMultiPartnerHealthRequest, GetMultiPartnerHealthResponse, GetMultiPartnerModelRequest, GetMultiPartnerModelResponse, GetPartnerAccountGroupMappingRequest, GetPartnerAccountGroupMappingResponse, GetPartnerCenterNavigationRequest, GetPartnerCenterNavigationResponse, GetPartnerHealthRequest, GetPartnerHealthResponse, GetPartnerModelRequest, GetPartnerModelResponse, GetRewardRequest, GetRewardResponse, GetSalesConfigRequest, GetSalesConfigResponse, GetSelfSignUpStatusRequest, GetSelfSignUpStatusResponse, GetSignUpAddPaymentCardResultRequest, GetSignUpAddPaymentCardResultResponse, GetSignUpAddPaymentCardResultResponseStatus, GetSingleSignOnRequest, GetSingleSignOnResponse, GetSubscriptionTierRequest, GetSubscriptionTierResponse, GetTaskManagerConfigRequest, GetTaskManagerConfigResponse, GetTermsOfServiceRequest, GetTermsOfServiceResponse, GetTrialRequest, GetTrialResponse, GetUpdatePartnerStatusRequest, GetUpdatePartnerStatusResponse, GetUpdateSubscriptionTierStatusRequest, GetUpdateSubscriptionTierStatusResponse, GetUserAgreementTermsOfServiceRequest, GetUserAgreementTermsOfServiceResponse, GetWizardStatusRequest, GetWizardStatusResponse, GoogleTokenCredential, IAMApiService, InitiateSubscriptionTierUpdateRequest, IsEmailInUseRequest, IsEmailInUseResponse, IsRewardConditionMetForPartnerRequest, IsRewardConditionMetForPartnerResponse, LinkedInTokenCredential, ListAddonActivationsRequest, ListAddonActivationsResponse, ListBrandingV2Request, ListBrandingV2Response, ListFeatureFlagFilters, ListFeatureFlagRequest, ListFeatureFlagResponse, ListPartnerAddonsRequest, ListPartnerAddonsResponse, ListPartnerHealthRequest, ListPartnerHealthResponse, ListSubscriptionTiersRequest, ListSubscriptionTiersResponse, ListTopRequest, ListTopResponse, ListTrialRequest, ListTrialResponse, ListWizardStatusRequest, ListWizardStatusResponse, LoginRequest, LoginResponse, MailingConfiguration, Money, NavigationItem, NavigationItemBadge, NavigationItemChild, NewAccount, PagedRequestOptions, PagedResponseData, PagedResponseMetadata, PagingRequestMetadata, PagingResponseMetadata, PartnerAccess, PartnerAcquisitionData, PartnerAddon, PartnerAdminPermissions, PartnerApiService, PartnerCanDoActionRequest, PartnerCanDoActionResponse, PartnerHealth, PartnerHealthState, PartnerHealthSubState, PartnerHealthsApiService, PartnerInfo, PartnerLegacyApiService, PartnerModel, PartnerModelApiService, PartnerOrigin, PartnerSignupApiService, PartnerStats, PartnerTermsOfApiService, PartnerTrialApiService, PartnerType, PartnerUser, PartnerUserAgreementTermsOfApiService, PreviewEmailApiService, ReferralLink, ReplaceWizardStatusRequest, ReportAccess, ReportAccessIDType, ReportAccessScope, ReputationConfiguration, ResendPartnerAdminWelcomeEmailRequest, ResetPartnerRequest, Reward, RewardStatus, RewardsApiService, SalesApiService, SalesConfigInputs, SalesConfiguration, SalesSetting, SearchPartnerModelsFilters, SearchPartnerModelsRequest, SearchPartnerModelsResponse, SegmentedOnboardingConfiguration, SelectionCriteria, SelfSignUpExistingAccountGroupRequest, SelfSignUpRequest, SelfSignUpWithGoogleRequest, SelfSignUpWithLinkedRequest, SetBusinessCenterConfigRequest, SetBusinessCenterConfigResponse, SetPartnerHealthRequest, SetSalesConfigRequest, SetSalesConfigResponse, SetTaskManagerConfigRequest, SetTaskManagerConfigResponse, SetUserAgreementTermsOfServiceRequest, SignUpCredential, SignUpRequest, SinglePartnerMarketBranding, SnapshotConfiguration, StatsApiService, Status, SubscriptionFailure, SubscriptionLevel, SubscriptionTier, SubscriptionTierUpdateType, SubscriptionTiersApiService, SubscriptionUpdate, SupportFlag, SwapPartnerAccountGroupRequest, TaskManagerApiService, TaskManagerConfiguration, TaskStatus, TermOfService, TermsOfService, Theme, TierCostConstraint, TierUsageLimits, TimeRange, ToolkitData, Trial, UITheme, URL, UpdateBusinessCenterMarketConfigurationRequest, UpdateBusinessCenterMarketConfigurationResponse, UpdateCancelFreeTrialReasonMutation, UpdateCompanyProfileRequest, UpdateFeatureFlagRequest, UpdateFeatureFlagRequestMutation, UpdateFeatureFlagRequestMutationPartnerAccessMutation, UpdateFreeTrialActionRequiredStatusMutation, UpdateFreeTrialMutation, UpdateFreeTrialRequest, UpdatePartnerAccountGroupRequest, UpdatePartnerAdminRequest, UpdatePartnerModelMutation, UpdatePartnerModelMutationCountryState, UpdatePartnerModelRequest, UpdatePartnerRequest, UpdateSubscriptionTierRequest, UpdateSubscriptionTierStatus, UpsertBrandingV2Request, UpsertMutation, UpsertMutationMarketOverridesMutation, Usage, UserAgreementTermsOfService, UserCredential, UserOnboardingApiService, WhitelabelApiService, WizardStatus };\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\nimport { FeatureFlagsApiService } from '@vendasta/partner';\nimport {\n BatchGetFeatureFlagRequest,\n BatchGetFeatureFlagResponse,\n BatchGetStatusFeatureFlagRequest,\n BatchGetStatusFeatureFlagResponse,\n ListFeatureFlagRequest,\n UpdateFeatureFlagRequest,\n CreateFeatureFlagRequest,\n CreateAnalyticsDashboardRequest,\n} from '@vendasta/partner';\nimport { FeatureFlag } from '@vendasta/partner';\nimport {\n ListFeatureFlagFiltersInterface,\n ListFeatureFlagResponseInterface,\n UpdateFeatureFlagRequestMutationInterface,\n CreateFeatureFlagRequestInterface,\n} from '@vendasta/partner';\n\nexport interface FeatureFlagStatusInterface {\n [status: string]: boolean;\n}\n\nexport interface ListFeatureFlagFilters extends ListFeatureFlagFiltersInterface {\n archivedOnly?: boolean;\n}\n\n@Injectable({ providedIn: 'root' })\nexport class FeatureFlagService {\n constructor(private api: FeatureFlagsApiService) {}\n\n batchGetStatus(partnerId: string, marketId: string, featureIds: string[]): Observable {\n const req = new BatchGetStatusFeatureFlagRequest({\n featureIds: featureIds,\n partnerId: partnerId,\n marketId: marketId,\n });\n return this.api.batchGetStatus(req).pipe(\n map((resp: BatchGetStatusFeatureFlagResponse): FeatureFlagStatusInterface => {\n const statuses: FeatureFlagStatusInterface = {};\n resp.hasAccess.forEach((status, i) => {\n statuses[featureIds[i]] = status;\n });\n return statuses;\n }),\n );\n }\n\n batchGet(featureFlagIds: string[]): Observable {\n return this.api\n .batchGet(new BatchGetFeatureFlagRequest({ ids: featureFlagIds }))\n .pipe(map((resp: BatchGetFeatureFlagResponse) => resp.flags));\n }\n\n update(id: string, mutations: UpdateFeatureFlagRequestMutationInterface[]): Observable {\n return this.api.update(new UpdateFeatureFlagRequest({ id: id, mutations: mutations })).pipe(map(() => true));\n }\n\n create(featureFlag: CreateFeatureFlagRequestInterface): Observable {\n return this.api.create(new CreateFeatureFlagRequest(featureFlag)).pipe(map(() => true));\n }\n\n list(\n cursor: string,\n pageSize: number,\n filters: ListFeatureFlagFilters,\n ): Observable {\n return this.api.list(\n new ListFeatureFlagRequest({\n archivedOnly: filters.archivedOnly,\n cursor: cursor,\n pageSize: pageSize,\n filters: { searchTerm: filters.searchTerm, accessLevel: filters.accessLevel },\n }),\n );\n }\n\n createAnalyticsDashboard(featureFlagID: string, userID: string): Observable {\n const request = { featureFlagId: featureFlagID, userId: userID };\n return this.api.createAnalyticsDashboard(new CreateAnalyticsDashboardRequest(request)).pipe(map(() => true));\n }\n}\n","export const FREE_SUBSCRIPTION_ID = 'free_subscription',\n // deprecated tiers (do not use)\n BASIC = 'BASIC',\n PROFESSIONAL = 'PROFESSIONAL',\n ENTERPRISE = 'ENTERPRISE',\n PREMIUM = 'PREMIUM',\n ELITE = 'ELITE',\n PROFESSIONAL_PLUS = 'PROFESSIONAL_PLUS',\n ENTERPRISE_PLUS = 'ENTERPRISE_PLUS',\n // legacy tiers\n LITE_SUBSCRIPTION_ID = 'lite_subscription',\n BASIC_SUBSCRIPTION_ID = 'basic_subscription',\n PROFESSIONAL_SUBSCRIPTION_ID = 'professional_subscription',\n ENTERPRISE_SUBSCRIPTION_ID = 'enterprise_subscription',\n PREMIUM_SUBSCRIPTION_ID = 'premium_subscription',\n ELITE_SUBSCRIPTION_ID = 'elite_subscription',\n // Value based pricing tiers\n VBP_STARTER_SUBSCRIPTION_ID = 'starter_subscription',\n VBP_BASIC_SUBSCRIPTION_ID = 'vbp_basic_subscription',\n VBP_PROFESSIONAL_SUBSCRIPTION_ID = 'vbp_professional_subscription',\n VBP_ENTERPRISE_SUBSCRIPTION_ID = 'vbp_enterprise_subscription',\n VBP_ENTERPRISE_PILOT_SUBSCRIPTION_ID = 'vbp_enterprise_pilot_subscription',\n // Value based pricing 2.0 tiers\n VBP2_STARTUP_SUBSCRIPTION_ID = 'vbp2_startup_subscription',\n VBP2_ESSENTIALS_SUBSCRIPTION_ID = 'vbp2_essentials_subscription',\n VBP2_GROWTH_SUBSCRIPTION_ID = 'vbp2_growth_subscription',\n VBP2_SCALE_SUBSCRIPTION_ID = 'vbp2_scale_subscription',\n VBP2_PREMIUM_SUBSCRIPTION_ID = 'vbp2_premium_subscription',\n // Monetization tiers\n INDIVIDUAL_SUBSCRIPTION_ID = 'm3_solo_subscription',\n TEAM_SUBSCRIPTION_ID = 'm3_small_subscription',\n ADVANCE_SUBSCRIPTION_ID = 'm3_medium_subscription',\n CUSTOM_SUBSCRIPTION_ID = 'm3_large_subscription',\n // Current pricing tiers\n VBP2023_STARTER_SUBSCRIPTION_ID = 'vbp_2023_starter_subscription',\n VBP2022_PROFESSIONAL_SUBSCRIPTION_ID = 'vbp_2022_professional_subscription',\n VBP2022_PREMIUM_SUBSCRIPTION_ID = 'vbp_2022_premium_subscription',\n VBP2022_CUSTOM_SUBSCRIPTION_ID = 'vbp_2022_custom_subscription';\n\nexport const VBP2022_VERSION = 'VBP2022';\nexport const VBP2023_VERSION = 'VBP2023';\nexport const M3_TIER_VERSION = 'M3';\n\nexport const STANDARD_SUPPORT_TIERS = [\n BASIC,\n BASIC_SUBSCRIPTION_ID,\n VBP_BASIC_SUBSCRIPTION_ID,\n VBP2_ESSENTIALS_SUBSCRIPTION_ID,\n PROFESSIONAL,\n PROFESSIONAL_PLUS,\n PROFESSIONAL_SUBSCRIPTION_ID,\n VBP_PROFESSIONAL_SUBSCRIPTION_ID,\n VBP2_GROWTH_SUBSCRIPTION_ID,\n VBP2_SCALE_SUBSCRIPTION_ID,\n TEAM_SUBSCRIPTION_ID,\n ADVANCE_SUBSCRIPTION_ID,\n VBP2022_PROFESSIONAL_SUBSCRIPTION_ID,\n VBP2022_PREMIUM_SUBSCRIPTION_ID,\n];\n\nexport const PREMIUM_SUPPORT_SUBSCRIPTION_TIERS = [\n ENTERPRISE,\n PREMIUM,\n ELITE,\n ENTERPRISE_PLUS,\n ENTERPRISE_SUBSCRIPTION_ID,\n PREMIUM_SUBSCRIPTION_ID,\n ELITE_SUBSCRIPTION_ID,\n VBP_ENTERPRISE_SUBSCRIPTION_ID,\n VBP2_PREMIUM_SUBSCRIPTION_ID,\n CUSTOM_SUBSCRIPTION_ID,\n VBP2022_CUSTOM_SUBSCRIPTION_ID,\n];\n\nexport const CHAT_SUPPORT_TIERS = [\n INDIVIDUAL_SUBSCRIPTION_ID,\n ...STANDARD_SUPPORT_TIERS,\n ...PREMIUM_SUPPORT_SUBSCRIPTION_TIERS,\n];\n","import { Inject, Injectable } from '@angular/core';\nimport { map, publishReplay, refCount, switchMap } from 'rxjs/operators';\nimport { Observable } from 'rxjs';\nimport {\n GetSubscriptionTierRequest,\n ListSubscriptionTiersRequest,\n SubscriptionTierInterface,\n SubscriptionTiersApiService,\n} from '@vendasta/partner';\nimport { FREE_SUBSCRIPTION_ID } from './constants';\nimport { ListSubscriptionTiersResponse } from '@vendasta/partner/lib/_internal/objects';\n\n@Injectable({ providedIn: 'root' })\nexport class SubscriptionTiersService {\n public subscriptionTierList$: Observable;\n\n constructor(\n private api: SubscriptionTiersApiService,\n @Inject('PARTNER_ID') private readonly partnerId$: Observable,\n ) {\n this.subscriptionTierList$ = partnerId$.pipe(\n switchMap((partnerId) => {\n return this.listSubscriptionTiers(partnerId);\n }),\n map((response) => response?.subscriptionTier),\n publishReplay(1),\n refCount(),\n );\n }\n\n // Returns a string like 'SUBSCRIPTION_TIERS.basic_subscription.NAME' to be used with frontend translate pipe.\n public static getI18NName(id: string): string {\n return `SUBSCRIPTION_TIERS.${id}.NAME`;\n }\n\n public static isFree(s: SubscriptionTierInterface): boolean {\n return s.id === FREE_SUBSCRIPTION_ID;\n }\n\n public static isClassicSubscription(s: SubscriptionTierInterface): boolean {\n return s.tierVersion === 'Classic';\n }\n\n public static isVBP2Subscription(s: SubscriptionTierInterface): boolean {\n return s.tierVersion === 'VBP 2.0';\n }\n\n public static isVBP2022Subscription(s: SubscriptionTierInterface): boolean {\n return s.tierVersion === 'VBP2022';\n }\n\n public static isM3Subscription(s: SubscriptionTierInterface): boolean {\n return s.tierVersion === 'M3';\n }\n\n public getSubscriptionTier(subscriptionId: string, partnerId: string): Observable {\n return this.api\n .getSubscriptionTier(new GetSubscriptionTierRequest({ id: subscriptionId, partnerId: partnerId }))\n .pipe(map((response) => response.subscriptionTier));\n }\n\n // use public subscriptionTierList$ to get list of subscriptions\n private listSubscriptionTiers(partnerId: string): Observable {\n const request = new ListSubscriptionTiersRequest({ partnerId: partnerId });\n return this.api.listSubscriptionTiers(request);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map, switchMap } from 'rxjs/operators';\nimport { HttpResponse } from '@angular/common/http';\nimport { PartnerApiService, PartnerModelApiService, SubscriptionTiersApiService } from '@vendasta/partner';\nimport { GetUpdateSubscriptionTierStatusResponse } from '@vendasta/partner';\nimport {\n BillingFrequency,\n SubscriptionTierUpdateType,\n UpdateSubscriptionTierRequestInterface,\n} from '@vendasta/partner';\nimport { InitiateSubscriptionTierUpdateRequestInterface } from '@vendasta/partner/lib/_internal/interfaces';\n\n@Injectable({ providedIn: 'root' })\nexport class PartnerSubscriptionService {\n constructor(\n private api: PartnerApiService,\n private partnerModelService: PartnerModelApiService,\n private subscriptionTierService: SubscriptionTiersApiService,\n ) {}\n\n updateSubscriptionTier(\n partnerId: string,\n tierId: string,\n frequency: BillingFrequency,\n updateType: SubscriptionTierUpdateType,\n ): Observable {\n const request = {\n partnerId: partnerId,\n tierId: tierId,\n frequency: frequency,\n updateType: updateType,\n } as UpdateSubscriptionTierRequestInterface;\n return this.api.updateSubscriptionTier(request).pipe(map((resp: HttpResponse) => resp.ok));\n }\n\n getUpdateSubscriptionTierStatus(partnerId: string): Observable {\n const request = { partnerId: partnerId };\n return this.api.getUpdateSubscriptionTierStatus(request);\n }\n\n initiateSubscriptionTierUpdate(partnerId: string, tierId: string): Observable {\n const request = {\n partnerId: partnerId,\n tierId: tierId,\n } as InitiateSubscriptionTierUpdateRequestInterface;\n return this.api.initiateSubscriptionTierUpdate(request).pipe(map((resp: HttpResponse) => resp.ok));\n }\n\n canAccessFeature(feature: string, partnerId: string): Observable {\n return this.partnerModelService.getPartnerModel({ partnerId: partnerId }).pipe(\n switchMap((partnerModel) =>\n this.subscriptionTierService.getSubscriptionTier({ id: partnerModel.partner.subscriptionTierId }),\n ),\n map((subscriptionTier) => {\n return !!subscriptionTier.subscriptionTier.enabledFeatures.find((feat) => feat === feature);\n }),\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\nimport { AddonApiService, AddonActivation, PartnerAddonInterface } from '@vendasta/partner';\n\nexport interface ListResponse {\n activations: AddonActivation[];\n hasMore: boolean;\n cursor: string;\n}\n\n@Injectable({ providedIn: 'root' })\nexport class AddonService {\n constructor(private _api: AddonApiService) {}\n\n list(partnerId: string, cursor?: string, pageSize?: number): Observable {\n return this._api\n .listActivations({\n partnerId: partnerId,\n pagingOptions: {\n cursor: cursor,\n pageSize: pageSize,\n },\n })\n .pipe(\n map((response) => {\n return {\n activations: response.activations,\n hasMore: response.pagingMetadata.hasMore,\n cursor: response.pagingMetadata.nextCursor,\n };\n }),\n );\n }\n\n activate(partnerId: string, addonId: string, quantity = 1): Observable {\n return this._api\n .activate({\n partnerId: partnerId,\n addonId: addonId,\n quantity: quantity,\n })\n .pipe(map(() => true));\n }\n\n deactivate(partnerId: string, addonId: string, activationId: string): Observable {\n return this._api\n .deactivate({\n partnerId: partnerId,\n addonId: addonId,\n activationId: activationId,\n })\n .pipe(map(() => true));\n }\n\n getActivation(partnerId: string, addonId: string, activationId: string): Observable {\n return this._api\n .getActivation({\n partnerId: partnerId,\n addonId: addonId,\n activationId: activationId,\n })\n .pipe(map((r) => r.activation));\n }\n\n listAddons(): Observable {\n return this._api.listPartnerAddons({}).pipe(map((resp) => resp?.addons));\n }\n}\n","import { InjectionToken } from '@angular/core';\nimport { Observable } from 'rxjs';\n\nimport {\n GetMultiPartnerHealthResponseInterface,\n GetSalesConfigResponseInterface,\n ListPartnerHealthResponseInterface,\n ListTrialResponse,\n PartnerHealthInterface,\n PartnerHealthState,\n PartnerHealthSubState,\n SalesConfigInputsInterface,\n SetSalesConfigResponseInterface,\n TrialInterface,\n} from '@vendasta/partner';\n\nexport const PartnerServiceInterfaceToken: InjectionToken =\n new InjectionToken('PartnerServiceInterface');\n\nexport interface PartnerServiceInterface {\n getPartnerId(): Observable;\n}\n\nexport interface PartnerTrialServiceInterface {\n createTrial(partnerId: string, subscriptionId: string, start: Date, end: Date): Observable;\n getTrial(partnerId: string): Observable;\n cancelTrial(partnerId: string, trialId: string): Observable;\n listTrial(partnerId: string, pageSize: number, cursor: string): Observable;\n}\n\nexport interface PartnerHealthsServiceInterface {\n set(\n partnerId: string,\n state: PartnerHealthState,\n subState: PartnerHealthSubState,\n reason: string,\n inRetention: boolean,\n ): Observable;\n get(partnerId: string): Observable;\n list(partnerId: string, pageSize: number, cursor: string): Observable;\n getMulti(partnerIds: string[]): Observable;\n}\n\nexport interface PartnerSalesServiceInterface {\n setConfiguration(\n partnerId: string,\n marketId: string,\n config: SalesConfigInputsInterface,\n ): Observable;\n getConfiguration(partnerId: string, marketId: string): Observable;\n}\n","import { Inject, Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\n\nimport { PartnerServiceInterface, PartnerServiceInterfaceToken } from './interfaces';\n\n@Injectable({ providedIn: 'root' })\nexport class PartnerService implements PartnerServiceInterface {\n constructor(@Inject(PartnerServiceInterfaceToken) private innerService: PartnerServiceInterface) {}\n getPartnerId(): Observable {\n return this.innerService.getPartnerId();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\n\nimport {\n GetSalesConfigResponseInterface,\n SalesConfigInputsInterface,\n SetSalesConfigResponseInterface,\n} from '@vendasta/partner';\nimport { GetSalesConfigRequest, SetSalesConfigRequest } from '@vendasta/partner';\nimport { SalesApiService } from '@vendasta/partner';\nimport { PartnerSalesServiceInterface } from './interfaces';\n\n@Injectable({ providedIn: 'root' })\nexport class PartnerSalesService implements PartnerSalesServiceInterface {\n constructor(private api: SalesApiService) {}\n\n setConfiguration(\n partnerId: string,\n marketId: string,\n config: SalesConfigInputsInterface,\n ): Observable {\n const req = new SetSalesConfigRequest({\n partnerId: partnerId,\n marketId: marketId,\n config: config,\n });\n return this.api.setConfiguration(req);\n }\n\n getConfiguration(partnerId: string, marketId: string): Observable {\n const req = new GetSalesConfigRequest({\n partnerId: partnerId,\n marketId: marketId,\n });\n return this.api.getConfiguration(req);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\nimport { BrandingInterface, ConfigurationInterface } from '@vendasta/partner';\nimport { GetBrandingRequest, GetConfigurationRequest } from '@vendasta/partner';\nimport { WhitelabelApiService } from '@vendasta/partner';\n\n@Injectable({ providedIn: 'root' })\nexport class WhitelabelService {\n constructor(private api: WhitelabelApiService) {}\n\n /**\n * @deprecated Use BrandingV2Service to get partner branding instead\n */\n getBranding(partnerId: string, marketId?: string): Observable {\n const req = new GetBrandingRequest({ partnerId: partnerId, marketId: marketId });\n return this.api.getBranding(req).pipe(map((resp) => resp.branding));\n }\n\n getConfiguration(partnerId: string, marketId?: string): Observable {\n const req = new GetConfigurationRequest({ partnerId: partnerId, marketId: marketId });\n return this.api.getConfiguration(req).pipe(map((resp) => resp.configuration));\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport {\n BrandingV2ApiService,\n BrandingV2Interface,\n GetBrandingV2Request,\n GetBrandingV2RequestInterface,\n GetBrandingV2Response,\n GetMultiBrandingV2Request,\n GetMultiBrandingV2Response,\n ListBrandingV2Request,\n ListBrandingV2Response,\n UpsertBrandingV2Request,\n UpsertMutationInterface,\n} from '@vendasta/partner';\n\n@Injectable({ providedIn: 'root' })\nexport class BrandingV2Service {\n constructor(private api: BrandingV2ApiService) {}\n\n getBranding(partnerId: string, marketId?: string): Observable {\n const req = new GetBrandingV2Request({ partnerId: partnerId, marketId: marketId });\n return this.api.getBranding(req).pipe(map((resp: GetBrandingV2Response) => resp.branding));\n }\n\n getMultiBranding(requests: GetBrandingV2RequestInterface[]): Observable {\n const req = new GetMultiBrandingV2Request({ requests: requests });\n return this.api.getMultiBranding(req).pipe(map((resp: GetMultiBrandingV2Response) => resp.branding));\n }\n\n listBranding(partnerId: string, pageSize: number, cursor: string): Observable {\n const req = new ListBrandingV2Request({\n partnerId: partnerId,\n pagingOptions: { pageSize: pageSize, cursor: cursor },\n });\n return this.api.listBranding(req).pipe(map((resp: ListBrandingV2Response) => resp?.brandings));\n }\n\n upsertBranding(partnerId: string, marketId?: string, mutations?: UpsertMutationInterface[]): Observable {\n const req = new UpsertBrandingV2Request({ partnerId: partnerId, marketId: marketId, mutations: mutations });\n return this.api.upsertBranding(req).pipe(map(() => true));\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { CannyApiService, GetSingleSignOnResponse } from '@vendasta/partner';\n\n@Injectable({ providedIn: 'root' })\nexport class CannyService {\n constructor(private api: CannyApiService) {}\n\n getSingleSignOn(userId: string): Observable {\n return this.api.getSingleSignOn({ userId: userId });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\nimport {\n GetMultiPartnerHealthRequest,\n GetPartnerHealthRequest,\n ListPartnerHealthRequest,\n SetPartnerHealthRequest,\n} from '@vendasta/partner';\nimport { PartnerHealthsApiService } from '@vendasta/partner';\nimport { PartnerHealthsServiceInterface } from './interfaces';\nimport { PartnerHealthState, PartnerHealthSubState } from '@vendasta/partner';\nimport {\n GetMultiPartnerHealthResponseInterface,\n ListPartnerHealthResponseInterface,\n PartnerHealthInterface,\n} from '@vendasta/partner';\n\n@Injectable({ providedIn: 'root' })\nexport class PartnerHealthsService implements PartnerHealthsServiceInterface {\n constructor(private api: PartnerHealthsApiService) {}\n\n set(\n partnerId: string,\n state: PartnerHealthState,\n subState: PartnerHealthSubState,\n reason: string,\n inRetention: boolean,\n ): Observable {\n const req = new SetPartnerHealthRequest({\n partnerId: partnerId,\n state: state,\n subState: subState,\n reason: reason,\n inRetention: inRetention,\n });\n return this.api.set(req).pipe(map((res) => res.status === 200));\n }\n\n get(partnerId: string): Observable {\n const req = new GetPartnerHealthRequest({ partnerId: partnerId });\n return this.api.get(req).pipe(map((res) => res.health || {}));\n }\n\n list(partnerId: string, pageSize: number, cursor: string): Observable {\n const req = new ListPartnerHealthRequest({ partnerId: partnerId, pageSize: pageSize, cursor: cursor });\n return this.api.list(req);\n }\n\n getMulti(partnerIds: string[]): Observable {\n const req = new GetMultiPartnerHealthRequest({ partnerIds: partnerIds });\n return this.api.getMulti(req);\n }\n}\n","import { Injectable } from '@angular/core';\nimport {\n CancelTrialRequest,\n CreateTrialRequest,\n GetTrialRequest,\n ListTrialRequest,\n ListTrialResponse,\n PartnerTrialApiService,\n TrialInterface,\n} from '@vendasta/partner';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { PartnerTrialServiceInterface } from './interfaces';\n\n@Injectable({ providedIn: 'root' })\nexport class PartnerTrialService implements PartnerTrialServiceInterface {\n constructor(private api: PartnerTrialApiService) {}\n\n createTrial(partnerId: string, subscriptionTierId: string, start: Date, end: Date): Observable {\n const req = new CreateTrialRequest({\n partnerId: partnerId,\n subscriptionTierId: subscriptionTierId,\n start: start,\n end: end,\n });\n return this.api.createTrial(req).pipe(map((res) => (res.status === 200 ? true : false)));\n }\n\n getTrial(partnerId: string): Observable {\n const req = new GetTrialRequest({ partnerId: partnerId });\n return this.api.getTrial(req).pipe(map((r) => r.trial || {}));\n }\n\n cancelTrial(partnerId: string, trialId: string): Observable {\n const req = new CancelTrialRequest({ partnerId: partnerId, trialId: trialId });\n return this.api.cancelTrial(req).pipe(map((res) => (res.status === 200 ? true : false)));\n }\n\n listTrial(partnerId: string, pageSize: number, cursor: string): Observable {\n const req = new ListTrialRequest({ partnerId: partnerId, pageSize: pageSize, cursor: cursor });\n return this.api.listTrial(req);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport {\n GetWizardStatusRequest,\n GetWizardStatusResponse,\n ListWizardStatusRequest,\n ReplaceWizardStatusRequest,\n UserOnboardingApiService,\n WizardStatusInterface,\n} from '@vendasta/partner';\nimport { map } from 'rxjs/operators';\n\n@Injectable({ providedIn: 'root' })\nexport class UserOnboardingService {\n constructor(private api: UserOnboardingApiService) {}\n\n getWizardStatus(partnerId: string, userId: string): Observable {\n const request = new GetWizardStatusRequest({\n partnerId: partnerId,\n userId: userId,\n });\n return this.api.getWizardStatus(request).pipe(map((resp) => resp));\n }\n\n replaceWizardStatus(partnerId: string, userId: string, activeStep: string): Observable {\n const request = new ReplaceWizardStatusRequest({\n partnerId: partnerId,\n userId: userId,\n activeStep: activeStep,\n });\n return this.api.replaceWizardStatus(request).pipe(map((response) => response.ok));\n }\n\n listWizardStatus(partnerId: string, pageSize?: number, cursor?: string): Observable {\n const request = new ListWizardStatusRequest({\n partnerId: partnerId,\n paging: { pageSize: pageSize, cursor: cursor },\n });\n return this.api.listWizardStatus(request).pipe(map((response) => response.wizardStatuses));\n }\n}\n","import { Injectable } from '@angular/core';\nimport {\n AddRewardToPartnerRequest,\n AttemptRewardClaimRequest,\n GetRewardRequest,\n IsRewardConditionMetForPartnerRequest,\n RewardInterface,\n RewardsApiService,\n} from '@vendasta/partner';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\n@Injectable({ providedIn: 'root' })\nexport class RewardsService {\n constructor(private api: RewardsApiService) {}\n\n addRewardToPartner(partnerId: string, rewardId: string): Observable {\n const req = new AddRewardToPartnerRequest({ partnerId: partnerId, rewardId: rewardId });\n return this.api.addRewardToPartner(req).pipe(map((resp) => resp.ok));\n }\n\n attemptRewardClaim(partnerId: string, rewardId: string): Observable {\n const req = new AttemptRewardClaimRequest({ partnerId: partnerId, rewardId: rewardId });\n return this.api.attemptRewardClaim(req).pipe(map((resp) => resp.ok));\n }\n\n getReward(partnerId: string, rewardId: string): Observable {\n const req = new GetRewardRequest({ partnerId: partnerId, rewardId: rewardId });\n return this.api.getReward(req).pipe(map((resp) => resp.reward));\n }\n\n isRewardConditionMetForPartner(partnerId: string, rewardId: string): Observable {\n const req = new IsRewardConditionMetForPartnerRequest({ partnerId: partnerId, rewardId: rewardId });\n return this.api.isRewardConditionMetForPartner(req).pipe(map((resp) => resp.rewardConditionsMet));\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\nimport { PartnerApiService } from '@vendasta/partner';\nimport { GetPartnerAccountGroupMappingResponseInterface } from '@vendasta/partner';\n\n@Injectable({ providedIn: 'root' })\nexport class PartnerAccountGroupService {\n constructor(private api: PartnerApiService) {}\n\n getPartnerAccountGroupMapping(\n partnerId: string,\n accountGroupId: string,\n ): Observable {\n const request = { partnerId: partnerId, accountGroupId: accountGroupId };\n return this.api.getPartnerAccountGroupMapping(request);\n }\n\n updatePartnerAccountGroup(partnerId: string, accountGroupId: string): Observable {\n const request = { partnerId: partnerId, accountGroupId: accountGroupId };\n return this.api.updatePartnerAccountGroup(request).pipe(map(() => true));\n }\n\n swapPartnerAccountGroup(\n partnerId: string,\n accountGroupId: string,\n withPartnerId: string,\n withAccountGroupId: string,\n ): Observable {\n const request = {\n partnerId: partnerId,\n accountGroupId: accountGroupId,\n withPartnerId: withPartnerId,\n withAccountGroupId: withAccountGroupId,\n };\n return this.api.swapPartnerAccountGroup(request).pipe(map(() => true));\n }\n}\n","import { Injectable } from '@angular/core';\nimport { IAMApiService, ResendPartnerAdminWelcomeEmailRequestInterface } from '@vendasta/partner';\nimport { HttpResponse } from '@angular/common/http';\nimport { Observable } from 'rxjs';\n\n@Injectable({ providedIn: 'root' })\nexport class WelcomeEmailService {\n constructor(private iamApiService: IAMApiService) {}\n\n resendPartnerAdminWelcomeEmail(\n partnerID: string,\n userID: string,\n usePlatformDefaultDomain?: boolean,\n ): Observable> {\n const req = {\n partnerId: partnerID,\n userId: userID,\n usePlatformDefaultDomain: usePlatformDefaultDomain || false,\n } as ResendPartnerAdminWelcomeEmailRequestInterface;\n return this.iamApiService.resendPartnerAdminWelcomeEmail(req);\n }\n}\n","import { InjectionToken } from '@angular/core';\nimport { Observable } from 'rxjs';\n\nexport enum LEXICON_FILE_FORMAT_OPTION {\n NESTED_JSON = 'nested_json',\n FLAT_JSON = 'flat_json',\n XLIFF1 = 'xliff1',\n}\n\nexport const LEXICON_TRANSLATE_PORTAL_URL = new InjectionToken('https://weblate.apigateway.co');\nexport const LEXICON_COMPONENT_NAME = new InjectionToken('lexiconComponentName');\nexport const LEXICON_PARTNER_ID = new InjectionToken>('lexiconPartnerId');\nexport const LEXICON_DISABLE_OTW = new InjectionToken('lexiconDisableOtw');\nexport const LEXICON_BASE_TRANSLATION = new InjectionToken('lexiconBaseTranslation');\nexport const LEXICON_ROOT_COMPONENT = new InjectionToken('lexiconRootComponent');\nexport const LEXICON_FILE_FORMAT = new InjectionToken('lexiconFileFormat');\n\nexport type translations = { [key: string]: string | translations };\n","/**\n * @license Angular v17.3.0\n * (c) 2010-2022 Google LLC. https://angular.io/\n * License: MIT\n */\n\n/**\n * The character used to mark the start and end of a \"block\" in a `$localize` tagged string.\n * A block can indicate metadata about the message or specify a name of a placeholder for a\n * substitution expressions.\n *\n * For example:\n *\n * ```ts\n * $localize`Hello, ${title}:title:!`;\n * $localize`:meaning|description@@id:source message text`;\n * ```\n */\nconst BLOCK_MARKER$1 = ':';\n/**\n * The marker used to separate a message's \"meaning\" from its \"description\" in a metadata block.\n *\n * For example:\n *\n * ```ts\n * $localize `:correct|Indicates that the user got the answer correct: Right!`;\n * $localize `:movement|Button label for moving to the right: Right!`;\n * ```\n */\nconst MEANING_SEPARATOR = '|';\n/**\n * The marker used to separate a message's custom \"id\" from its \"description\" in a metadata block.\n *\n * For example:\n *\n * ```ts\n * $localize `:A welcome message on the home page@@myApp-homepage-welcome: Welcome!`;\n * ```\n */\nconst ID_SEPARATOR = '@@';\n/**\n * The marker used to separate legacy message ids from the rest of a metadata block.\n *\n * For example:\n *\n * ```ts\n * $localize `:@@custom-id␟2df64767cd895a8fabe3e18b94b5b6b6f9e2e3f0: Welcome!`;\n * ```\n *\n * Note that this character is the \"symbol for the unit separator\" (␟) not the \"unit separator\n * character\" itself, since that has no visual representation. See https://graphemica.com/%E2%90%9F.\n *\n * Here is some background for the original \"unit separator character\":\n * https://stackoverflow.com/questions/8695118/whats-the-file-group-record-unit-separator-control-characters-and-its-usage\n */\nconst LEGACY_ID_INDICATOR = '\\u241F';\n\n/**\n * A lazily created TextEncoder instance for converting strings into UTF-8 bytes\n */\nlet textEncoder;\n/**\n * Return the message id or compute it using the XLIFF1 digest.\n */\nfunction digest(message) {\n return message.id || computeDigest(message);\n}\n/**\n * Compute the message id using the XLIFF1 digest.\n */\nfunction computeDigest(message) {\n return sha1(serializeNodes(message.nodes).join('') + `[${message.meaning}]`);\n}\n/**\n * Return the message id or compute it using the XLIFF2/XMB/$localize digest.\n */\nfunction decimalDigest(message) {\n return message.id || computeDecimalDigest(message);\n}\n/**\n * Compute the message id using the XLIFF2/XMB/$localize digest.\n */\nfunction computeDecimalDigest(message) {\n const visitor = new _SerializerIgnoreIcuExpVisitor();\n const parts = message.nodes.map(a => a.visit(visitor, null));\n return computeMsgId(parts.join(''), message.meaning);\n}\n/**\n * Serialize the i18n ast to something xml-like in order to generate an UID.\n *\n * The visitor is also used in the i18n parser tests\n *\n * @internal\n */\nclass _SerializerVisitor {\n visitText(text, context) {\n return text.value;\n }\n visitContainer(container, context) {\n return `[${container.children.map(child => child.visit(this)).join(', ')}]`;\n }\n visitIcu(icu, context) {\n const strCases = Object.keys(icu.cases).map(k => `${k} {${icu.cases[k].visit(this)}}`);\n return `{${icu.expression}, ${icu.type}, ${strCases.join(', ')}}`;\n }\n visitTagPlaceholder(ph, context) {\n return ph.isVoid ? `` : `${ph.children.map(child => child.visit(this)).join(', ')}`;\n }\n visitPlaceholder(ph, context) {\n return ph.value ? `${ph.value}` : ``;\n }\n visitIcuPlaceholder(ph, context) {\n return `${ph.value.visit(this)}`;\n }\n visitBlockPlaceholder(ph, context) {\n return `${ph.children.map(child => child.visit(this)).join(', ')}`;\n }\n}\nconst serializerVisitor = /*#__PURE__*/new _SerializerVisitor();\nfunction serializeNodes(nodes) {\n return nodes.map(a => a.visit(serializerVisitor, null));\n}\n/**\n * Serialize the i18n ast to something xml-like in order to generate an UID.\n *\n * Ignore the ICU expressions so that message IDs stays identical if only the expression changes.\n *\n * @internal\n */\nclass _SerializerIgnoreIcuExpVisitor extends _SerializerVisitor {\n visitIcu(icu, context) {\n let strCases = Object.keys(icu.cases).map(k => `${k} {${icu.cases[k].visit(this)}}`);\n // Do not take the expression into account\n return `{${icu.type}, ${strCases.join(', ')}}`;\n }\n}\n/**\n * Compute the SHA1 of the given string\n *\n * see https://csrc.nist.gov/publications/fips/fips180-4/fips-180-4.pdf\n *\n * WARNING: this function has not been designed not tested with security in mind.\n * DO NOT USE IT IN A SECURITY SENSITIVE CONTEXT.\n */\nfunction sha1(str) {\n textEncoder ??= new TextEncoder();\n const utf8 = [...textEncoder.encode(str)];\n const words32 = bytesToWords32(utf8, Endian.Big);\n const len = utf8.length * 8;\n const w = new Uint32Array(80);\n let a = 0x67452301,\n b = 0xefcdab89,\n c = 0x98badcfe,\n d = 0x10325476,\n e = 0xc3d2e1f0;\n words32[len >> 5] |= 0x80 << 24 - len % 32;\n words32[(len + 64 >> 9 << 4) + 15] = len;\n for (let i = 0; i < words32.length; i += 16) {\n const h0 = a,\n h1 = b,\n h2 = c,\n h3 = d,\n h4 = e;\n for (let j = 0; j < 80; j++) {\n if (j < 16) {\n w[j] = words32[i + j];\n } else {\n w[j] = rol32(w[j - 3] ^ w[j - 8] ^ w[j - 14] ^ w[j - 16], 1);\n }\n const fkVal = fk(j, b, c, d);\n const f = fkVal[0];\n const k = fkVal[1];\n const temp = [rol32(a, 5), f, e, k, w[j]].reduce(add32);\n e = d;\n d = c;\n c = rol32(b, 30);\n b = a;\n a = temp;\n }\n a = add32(a, h0);\n b = add32(b, h1);\n c = add32(c, h2);\n d = add32(d, h3);\n e = add32(e, h4);\n }\n // Convert the output parts to a 160-bit hexadecimal string\n return toHexU32(a) + toHexU32(b) + toHexU32(c) + toHexU32(d) + toHexU32(e);\n}\n/**\n * Convert and format a number as a string representing a 32-bit unsigned hexadecimal number.\n * @param value The value to format as a string.\n * @returns A hexadecimal string representing the value.\n */\nfunction toHexU32(value) {\n // unsigned right shift of zero ensures an unsigned 32-bit number\n return (value >>> 0).toString(16).padStart(8, '0');\n}\nfunction fk(index, b, c, d) {\n if (index < 20) {\n return [b & c | ~b & d, 0x5a827999];\n }\n if (index < 40) {\n return [b ^ c ^ d, 0x6ed9eba1];\n }\n if (index < 60) {\n return [b & c | b & d | c & d, 0x8f1bbcdc];\n }\n return [b ^ c ^ d, 0xca62c1d6];\n}\n/**\n * Compute the fingerprint of the given string\n *\n * The output is 64 bit number encoded as a decimal string\n *\n * based on:\n * https://github.com/google/closure-compiler/blob/master/src/com/google/javascript/jscomp/GoogleJsMessageIdGenerator.java\n */\nfunction fingerprint(str) {\n textEncoder ??= new TextEncoder();\n const utf8 = textEncoder.encode(str);\n const view = new DataView(utf8.buffer, utf8.byteOffset, utf8.byteLength);\n let hi = hash32(view, utf8.length, 0);\n let lo = hash32(view, utf8.length, 102072);\n if (hi == 0 && (lo == 0 || lo == 1)) {\n hi = hi ^ 0x130f9bef;\n lo = lo ^ -0x6b5f56d8;\n }\n return BigInt.asUintN(32, BigInt(hi)) << BigInt(32) | BigInt.asUintN(32, BigInt(lo));\n}\nfunction computeMsgId(msg, meaning = '') {\n let msgFingerprint = fingerprint(msg);\n if (meaning) {\n // Rotate the 64-bit message fingerprint one bit to the left and then add the meaning\n // fingerprint.\n msgFingerprint = BigInt.asUintN(64, msgFingerprint << BigInt(1)) | msgFingerprint >> BigInt(63) & BigInt(1);\n msgFingerprint += fingerprint(meaning);\n }\n return BigInt.asUintN(63, msgFingerprint).toString();\n}\nfunction hash32(view, length, c) {\n let a = 0x9e3779b9,\n b = 0x9e3779b9;\n let index = 0;\n const end = length - 12;\n for (; index <= end; index += 12) {\n a += view.getUint32(index, true);\n b += view.getUint32(index + 4, true);\n c += view.getUint32(index + 8, true);\n const res = mix(a, b, c);\n a = res[0], b = res[1], c = res[2];\n }\n const remainder = length - index;\n // the first byte of c is reserved for the length\n c += length;\n if (remainder >= 4) {\n a += view.getUint32(index, true);\n index += 4;\n if (remainder >= 8) {\n b += view.getUint32(index, true);\n index += 4;\n // Partial 32-bit word for c\n if (remainder >= 9) {\n c += view.getUint8(index++) << 8;\n }\n if (remainder >= 10) {\n c += view.getUint8(index++) << 16;\n }\n if (remainder === 11) {\n c += view.getUint8(index++) << 24;\n }\n } else {\n // Partial 32-bit word for b\n if (remainder >= 5) {\n b += view.getUint8(index++);\n }\n if (remainder >= 6) {\n b += view.getUint8(index++) << 8;\n }\n if (remainder === 7) {\n b += view.getUint8(index++) << 16;\n }\n }\n } else {\n // Partial 32-bit word for a\n if (remainder >= 1) {\n a += view.getUint8(index++);\n }\n if (remainder >= 2) {\n a += view.getUint8(index++) << 8;\n }\n if (remainder === 3) {\n a += view.getUint8(index++) << 16;\n }\n }\n return mix(a, b, c)[2];\n}\n// clang-format off\nfunction mix(a, b, c) {\n a -= b;\n a -= c;\n a ^= c >>> 13;\n b -= c;\n b -= a;\n b ^= a << 8;\n c -= a;\n c -= b;\n c ^= b >>> 13;\n a -= b;\n a -= c;\n a ^= c >>> 12;\n b -= c;\n b -= a;\n b ^= a << 16;\n c -= a;\n c -= b;\n c ^= b >>> 5;\n a -= b;\n a -= c;\n a ^= c >>> 3;\n b -= c;\n b -= a;\n b ^= a << 10;\n c -= a;\n c -= b;\n c ^= b >>> 15;\n return [a, b, c];\n}\n// clang-format on\n// Utils\nvar Endian = /*#__PURE__*/function (Endian) {\n Endian[Endian[\"Little\"] = 0] = \"Little\";\n Endian[Endian[\"Big\"] = 1] = \"Big\";\n return Endian;\n}(Endian || {});\nfunction add32(a, b) {\n return add32to64(a, b)[1];\n}\nfunction add32to64(a, b) {\n const low = (a & 0xffff) + (b & 0xffff);\n const high = (a >>> 16) + (b >>> 16) + (low >>> 16);\n return [high >>> 16, high << 16 | low & 0xffff];\n}\n// Rotate a 32b number left `count` position\nfunction rol32(a, count) {\n return a << count | a >>> 32 - count;\n}\nfunction bytesToWords32(bytes, endian) {\n const size = bytes.length + 3 >>> 2;\n const words32 = [];\n for (let i = 0; i < size; i++) {\n words32[i] = wordAt(bytes, i * 4, endian);\n }\n return words32;\n}\nfunction byteAt(bytes, index) {\n return index >= bytes.length ? 0 : bytes[index];\n}\nfunction wordAt(bytes, index, endian) {\n let word = 0;\n if (endian === Endian.Big) {\n for (let i = 0; i < 4; i++) {\n word += byteAt(bytes, index + i) << 24 - 8 * i;\n }\n } else {\n for (let i = 0; i < 4; i++) {\n word += byteAt(bytes, index + i) << 8 * i;\n }\n }\n return word;\n}\n\n// This module specifier is intentionally a relative path to allow bundling the code directly\n/**\n * Parse a `$localize` tagged string into a structure that can be used for translation or\n * extraction.\n *\n * See `ParsedMessage` for an example.\n */\nfunction parseMessage(messageParts, expressions, location, messagePartLocations, expressionLocations = []) {\n const substitutions = {};\n const substitutionLocations = {};\n const associatedMessageIds = {};\n const metadata = parseMetadata(messageParts[0], messageParts.raw[0]);\n const cleanedMessageParts = [metadata.text];\n const placeholderNames = [];\n let messageString = metadata.text;\n for (let i = 1; i < messageParts.length; i++) {\n const {\n messagePart,\n placeholderName = computePlaceholderName(i),\n associatedMessageId\n } = parsePlaceholder(messageParts[i], messageParts.raw[i]);\n messageString += `{$${placeholderName}}${messagePart}`;\n if (expressions !== undefined) {\n substitutions[placeholderName] = expressions[i - 1];\n substitutionLocations[placeholderName] = expressionLocations[i - 1];\n }\n placeholderNames.push(placeholderName);\n if (associatedMessageId !== undefined) {\n associatedMessageIds[placeholderName] = associatedMessageId;\n }\n cleanedMessageParts.push(messagePart);\n }\n const messageId = metadata.customId || computeMsgId(messageString, metadata.meaning || '');\n const legacyIds = metadata.legacyIds ? metadata.legacyIds.filter(id => id !== messageId) : [];\n return {\n id: messageId,\n legacyIds,\n substitutions,\n substitutionLocations,\n text: messageString,\n customId: metadata.customId,\n meaning: metadata.meaning || '',\n description: metadata.description || '',\n messageParts: cleanedMessageParts,\n messagePartLocations,\n placeholderNames,\n associatedMessageIds,\n location\n };\n}\n/**\n * Parse the given message part (`cooked` + `raw`) to extract the message metadata from the text.\n *\n * If the message part has a metadata block this function will extract the `meaning`,\n * `description`, `customId` and `legacyId` (if provided) from the block. These metadata properties\n * are serialized in the string delimited by `|`, `@@` and `␟` respectively.\n *\n * (Note that `␟` is the `LEGACY_ID_INDICATOR` - see `constants.ts`.)\n *\n * For example:\n *\n * ```ts\n * `:meaning|description@@custom-id:`\n * `:meaning|@@custom-id:`\n * `:meaning|description:`\n * `:description@@custom-id:`\n * `:meaning|:`\n * `:description:`\n * `:@@custom-id:`\n * `:meaning|description@@custom-id␟legacy-id-1␟legacy-id-2:`\n * ```\n *\n * @param cooked The cooked version of the message part to parse.\n * @param raw The raw version of the message part to parse.\n * @returns A object containing any metadata that was parsed from the message part.\n */\nfunction parseMetadata(cooked, raw) {\n const {\n text: messageString,\n block\n } = splitBlock(cooked, raw);\n if (block === undefined) {\n return {\n text: messageString\n };\n } else {\n const [meaningDescAndId, ...legacyIds] = block.split(LEGACY_ID_INDICATOR);\n const [meaningAndDesc, customId] = meaningDescAndId.split(ID_SEPARATOR, 2);\n let [meaning, description] = meaningAndDesc.split(MEANING_SEPARATOR, 2);\n if (description === undefined) {\n description = meaning;\n meaning = undefined;\n }\n if (description === '') {\n description = undefined;\n }\n return {\n text: messageString,\n meaning,\n description,\n customId,\n legacyIds\n };\n }\n}\n/**\n * Parse the given message part (`cooked` + `raw`) to extract any placeholder metadata from the\n * text.\n *\n * If the message part has a metadata block this function will extract the `placeholderName` and\n * `associatedMessageId` (if provided) from the block.\n *\n * These metadata properties are serialized in the string delimited by `@@`.\n *\n * For example:\n *\n * ```ts\n * `:placeholder-name@@associated-id:`\n * ```\n *\n * @param cooked The cooked version of the message part to parse.\n * @param raw The raw version of the message part to parse.\n * @returns A object containing the metadata (`placeholderName` and `associatedMessageId`) of the\n * preceding placeholder, along with the static text that follows.\n */\nfunction parsePlaceholder(cooked, raw) {\n const {\n text: messagePart,\n block\n } = splitBlock(cooked, raw);\n if (block === undefined) {\n return {\n messagePart\n };\n } else {\n const [placeholderName, associatedMessageId] = block.split(ID_SEPARATOR);\n return {\n messagePart,\n placeholderName,\n associatedMessageId\n };\n }\n}\n/**\n * Split a message part (`cooked` + `raw`) into an optional delimited \"block\" off the front and the\n * rest of the text of the message part.\n *\n * Blocks appear at the start of message parts. They are delimited by a colon `:` character at the\n * start and end of the block.\n *\n * If the block is in the first message part then it will be metadata about the whole message:\n * meaning, description, id. Otherwise it will be metadata about the immediately preceding\n * substitution: placeholder name.\n *\n * Since blocks are optional, it is possible that the content of a message block actually starts\n * with a block marker. In this case the marker must be escaped `\\:`.\n *\n * @param cooked The cooked version of the message part to parse.\n * @param raw The raw version of the message part to parse.\n * @returns An object containing the `text` of the message part and the text of the `block`, if it\n * exists.\n * @throws an error if the `block` is unterminated\n */\nfunction splitBlock(cooked, raw) {\n if (raw.charAt(0) !== BLOCK_MARKER$1) {\n return {\n text: cooked\n };\n } else {\n const endOfBlock = findEndOfBlock(cooked, raw);\n return {\n block: cooked.substring(1, endOfBlock),\n text: cooked.substring(endOfBlock + 1)\n };\n }\n}\nfunction computePlaceholderName(index) {\n return index === 1 ? 'PH' : `PH_${index - 1}`;\n}\n/**\n * Find the end of a \"marked block\" indicated by the first non-escaped colon.\n *\n * @param cooked The cooked string (where escaped chars have been processed)\n * @param raw The raw string (where escape sequences are still in place)\n *\n * @returns the index of the end of block marker\n * @throws an error if the block is unterminated\n */\nfunction findEndOfBlock(cooked, raw) {\n for (let cookedIndex = 1, rawIndex = 1; cookedIndex < cooked.length; cookedIndex++, rawIndex++) {\n if (raw[rawIndex] === '\\\\') {\n rawIndex++;\n } else if (cooked[cookedIndex] === BLOCK_MARKER$1) {\n return cookedIndex;\n }\n }\n throw new Error(`Unterminated $localize metadata block in \"${raw}\".`);\n}\nclass MissingTranslationError extends Error {\n constructor(parsedMessage) {\n super(`No translation found for ${describeMessage(parsedMessage)}.`);\n this.parsedMessage = parsedMessage;\n this.type = 'MissingTranslationError';\n }\n}\nfunction isMissingTranslationError(e) {\n return e.type === 'MissingTranslationError';\n}\n/**\n * Translate the text of the `$localize` tagged-string (i.e. `messageParts` and\n * `substitutions`) using the given `translations`.\n *\n * The tagged-string is parsed to extract its `messageId` which is used to find an appropriate\n * `ParsedTranslation`. If this doesn't match and there are legacy ids then try matching a\n * translation using those.\n *\n * If one is found then it is used to translate the message into a new set of `messageParts` and\n * `substitutions`.\n * The translation may reorder (or remove) substitutions as appropriate.\n *\n * If there is no translation with a matching message id then an error is thrown.\n * If a translation contains a placeholder that is not found in the message being translated then an\n * error is thrown.\n */\nfunction translate$1(translations, messageParts, substitutions) {\n const message = parseMessage(messageParts, substitutions);\n // Look up the translation using the messageId, and then the legacyId if available.\n let translation = translations[message.id];\n // If the messageId did not match a translation, try matching the legacy ids instead\n if (message.legacyIds !== undefined) {\n for (let i = 0; i < message.legacyIds.length && translation === undefined; i++) {\n translation = translations[message.legacyIds[i]];\n }\n }\n if (translation === undefined) {\n throw new MissingTranslationError(message);\n }\n return [translation.messageParts, translation.placeholderNames.map(placeholder => {\n if (message.substitutions.hasOwnProperty(placeholder)) {\n return message.substitutions[placeholder];\n } else {\n throw new Error(`There is a placeholder name mismatch with the translation provided for the message ${describeMessage(message)}.\\n` + `The translation contains a placeholder with name ${placeholder}, which does not exist in the message.`);\n }\n })];\n}\n/**\n * Parse the `messageParts` and `placeholderNames` out of a target `message`.\n *\n * Used by `loadTranslations()` to convert target message strings into a structure that is more\n * appropriate for doing translation.\n *\n * @param message the message to be parsed.\n */\nfunction parseTranslation(messageString) {\n const parts = messageString.split(/{\\$([^}]*)}/);\n const messageParts = [parts[0]];\n const placeholderNames = [];\n for (let i = 1; i < parts.length - 1; i += 2) {\n placeholderNames.push(parts[i]);\n messageParts.push(`${parts[i + 1]}`);\n }\n const rawMessageParts = messageParts.map(part => part.charAt(0) === BLOCK_MARKER$1 ? '\\\\' + part : part);\n return {\n text: messageString,\n messageParts: makeTemplateObject(messageParts, rawMessageParts),\n placeholderNames\n };\n}\n/**\n * Create a `ParsedTranslation` from a set of `messageParts` and `placeholderNames`.\n *\n * @param messageParts The message parts to appear in the ParsedTranslation.\n * @param placeholderNames The names of the placeholders to intersperse between the `messageParts`.\n */\nfunction makeParsedTranslation(messageParts, placeholderNames = []) {\n let messageString = messageParts[0];\n for (let i = 0; i < placeholderNames.length; i++) {\n messageString += `{$${placeholderNames[i]}}${messageParts[i + 1]}`;\n }\n return {\n text: messageString,\n messageParts: makeTemplateObject(messageParts, messageParts),\n placeholderNames\n };\n}\n/**\n * Create the specialized array that is passed to tagged-string tag functions.\n *\n * @param cooked The message parts with their escape codes processed.\n * @param raw The message parts with their escaped codes as-is.\n */\nfunction makeTemplateObject(cooked, raw) {\n Object.defineProperty(cooked, 'raw', {\n value: raw\n });\n return cooked;\n}\nfunction describeMessage(message) {\n const meaningString = message.meaning && ` - \"${message.meaning}\"`;\n const legacy = message.legacyIds && message.legacyIds.length > 0 ? ` [${message.legacyIds.map(l => `\"${l}\"`).join(', ')}]` : '';\n return `\"${message.id}\"${legacy} (\"${message.text}\"${meaningString})`;\n}\n\n/**\n * Load translations for use by `$localize`, if doing runtime translation.\n *\n * If the `$localize` tagged strings are not going to be replaced at compiled time, it is possible\n * to load a set of translations that will be applied to the `$localize` tagged strings at runtime,\n * in the browser.\n *\n * Loading a new translation will overwrite a previous translation if it has the same `MessageId`.\n *\n * Note that `$localize` messages are only processed once, when the tagged string is first\n * encountered, and does not provide dynamic language changing without refreshing the browser.\n * Loading new translations later in the application life-cycle will not change the translated text\n * of messages that have already been translated.\n *\n * The message IDs and translations are in the same format as that rendered to \"simple JSON\"\n * translation files when extracting messages. In particular, placeholders in messages are rendered\n * using the `{$PLACEHOLDER_NAME}` syntax. For example the message from the following template:\n *\n * ```html\n *
preinner-preboldinner-postpost
\n * ```\n *\n * would have the following form in the `translations` map:\n *\n * ```ts\n * {\n * \"2932901491976224757\":\n * \"pre{$START_TAG_SPAN}inner-pre{$START_BOLD_TEXT}bold{$CLOSE_BOLD_TEXT}inner-post{$CLOSE_TAG_SPAN}post\"\n * }\n * ```\n *\n * @param translations A map from message ID to translated message.\n *\n * These messages are processed and added to a lookup based on their `MessageId`.\n *\n * @see {@link clearTranslations} for removing translations loaded using this function.\n * @see {@link $localize} for tagging messages as needing to be translated.\n * @publicApi\n */\nfunction loadTranslations(translations) {\n // Ensure the translate function exists\n if (!$localize.translate) {\n $localize.translate = translate;\n }\n if (!$localize.TRANSLATIONS) {\n $localize.TRANSLATIONS = {};\n }\n Object.keys(translations).forEach(key => {\n $localize.TRANSLATIONS[key] = parseTranslation(translations[key]);\n });\n}\n/**\n * Remove all translations for `$localize`, if doing runtime translation.\n *\n * All translations that had been loading into memory using `loadTranslations()` will be removed.\n *\n * @see {@link loadTranslations} for loading translations at runtime.\n * @see {@link $localize} for tagging messages as needing to be translated.\n *\n * @publicApi\n */\nfunction clearTranslations() {\n $localize.translate = undefined;\n $localize.TRANSLATIONS = {};\n}\n/**\n * Translate the text of the given message, using the loaded translations.\n *\n * This function may reorder (or remove) substitutions as indicated in the matching translation.\n */\nfunction translate(messageParts, substitutions) {\n try {\n return translate$1($localize.TRANSLATIONS, messageParts, substitutions);\n } catch (e) {\n console.warn(e.message);\n return [messageParts, substitutions];\n }\n}\n\n/**\n * Tag a template literal string for localization.\n *\n * For example:\n *\n * ```ts\n * $localize `some string to localize`\n * ```\n *\n * **Providing meaning, description and id**\n *\n * You can optionally specify one or more of `meaning`, `description` and `id` for a localized\n * string by pre-pending it with a colon delimited block of the form:\n *\n * ```ts\n * $localize`:meaning|description@@id:source message text`;\n *\n * $localize`:meaning|:source message text`;\n * $localize`:description:source message text`;\n * $localize`:@@id:source message text`;\n * ```\n *\n * This format is the same as that used for `i18n` markers in Angular templates. See the\n * [Angular i18n guide](guide/i18n-common-prepare#mark-text-in-component-template).\n *\n * **Naming placeholders**\n *\n * If the template literal string contains expressions, then the expressions will be automatically\n * associated with placeholder names for you.\n *\n * For example:\n *\n * ```ts\n * $localize `Hi ${name}! There are ${items.length} items.`;\n * ```\n *\n * will generate a message-source of `Hi {$PH}! There are {$PH_1} items`.\n *\n * The recommended practice is to name the placeholder associated with each expression though.\n *\n * Do this by providing the placeholder name wrapped in `:` characters directly after the\n * expression. These placeholder names are stripped out of the rendered localized string.\n *\n * For example, to name the `items.length` expression placeholder `itemCount` you write:\n *\n * ```ts\n * $localize `There are ${items.length}:itemCount: items`;\n * ```\n *\n * **Escaping colon markers**\n *\n * If you need to use a `:` character directly at the start of a tagged string that has no\n * metadata block, or directly after a substitution expression that has no name you must escape\n * the `:` by preceding it with a backslash:\n *\n * For example:\n *\n * ```ts\n * // message has a metadata block so no need to escape colon\n * $localize `:some description::this message starts with a colon (:)`;\n * // no metadata block so the colon must be escaped\n * $localize `\\:this message starts with a colon (:)`;\n * ```\n *\n * ```ts\n * // named substitution so no need to escape colon\n * $localize `${label}:label:: ${}`\n * // anonymous substitution so colon must be escaped\n * $localize `${label}\\: ${}`\n * ```\n *\n * **Processing localized strings:**\n *\n * There are three scenarios:\n *\n * * **compile-time inlining**: the `$localize` tag is transformed at compile time by a\n * transpiler, removing the tag and replacing the template literal string with a translated\n * literal string from a collection of translations provided to the transpilation tool.\n *\n * * **run-time evaluation**: the `$localize` tag is a run-time function that replaces and\n * reorders the parts (static strings and expressions) of the template literal string with strings\n * from a collection of translations loaded at run-time.\n *\n * * **pass-through evaluation**: the `$localize` tag is a run-time function that simply evaluates\n * the original template literal string without applying any translations to the parts. This\n * version is used during development or where there is no need to translate the localized\n * template literals.\n *\n * @param messageParts a collection of the static parts of the template string.\n * @param expressions a collection of the values of each placeholder in the template string.\n * @returns the translated string, with the `messageParts` and `expressions` interleaved together.\n *\n * @globalApi\n * @publicApi\n */\nconst $localize$1 = function (messageParts, ...expressions) {\n if ($localize$1.translate) {\n // Don't use array expansion here to avoid the compiler adding `__read()` helper unnecessarily.\n const translation = $localize$1.translate(messageParts, expressions);\n messageParts = translation[0];\n expressions = translation[1];\n }\n let message = stripBlock(messageParts[0], messageParts.raw[0]);\n for (let i = 1; i < messageParts.length; i++) {\n message += expressions[i - 1] + stripBlock(messageParts[i], messageParts.raw[i]);\n }\n return message;\n};\nconst BLOCK_MARKER = ':';\n/**\n * Strip a delimited \"block\" from the start of the `messagePart`, if it is found.\n *\n * If a marker character (:) actually appears in the content at the start of a tagged string or\n * after a substitution expression, where a block has not been provided the character must be\n * escaped with a backslash, `\\:`. This function checks for this by looking at the `raw`\n * messagePart, which should still contain the backslash.\n *\n * @param messagePart The cooked message part to process.\n * @param rawMessagePart The raw message part to check.\n * @returns the message part with the placeholder name stripped, if found.\n * @throws an error if the block is unterminated\n */\nfunction stripBlock(messagePart, rawMessagePart) {\n return rawMessagePart.charAt(0) === BLOCK_MARKER ? messagePart.substring(findEndOfBlock(messagePart, rawMessagePart) + 1) : messagePart;\n}\n\n// This file exports all the `utils` as private exports so that other parts of `@angular/localize`\n\n// This file contains the public API of the `@angular/localize` entry-point\n\n// DO NOT ADD public exports to this file.\n\nexport { clearTranslations, loadTranslations, $localize$1 as ɵ$localize, MissingTranslationError as ɵMissingTranslationError, computeMsgId as ɵcomputeMsgId, findEndOfBlock as ɵfindEndOfBlock, isMissingTranslationError as ɵisMissingTranslationError, makeParsedTranslation as ɵmakeParsedTranslation, makeTemplateObject as ɵmakeTemplateObject, parseMessage as ɵparseMessage, parseMetadata as ɵparseMetadata, parseTranslation as ɵparseTranslation, splitBlock as ɵsplitBlock, translate$1 as ɵtranslate };\n","/**\n * @license Angular v17.3.0\n * (c) 2010-2022 Google LLC. https://angular.io/\n * License: MIT\n */\n\nimport { ɵ$localize } from '@angular/localize';\nexport { ɵ$localize as $localize } from '@angular/localize';\n\n// Attach $localize to the global context, as a side-effect of this module.\nglobalThis.$localize = ɵ$localize;\n","import * as i0 from '@angular/core';\nimport { Injectable } from '@angular/core';\nimport * as i1 from '@angular/common/http';\nimport { HttpHeaders } from '@angular/common/http';\nimport { map } from 'rxjs/operators';\nconst environment = (window ? window['environment'] : 'prod') ?? 'prod';\nconst hostMap = {\n 'local': 'lexicon-api.vendasta-local.com',\n 'test': '',\n 'demo': 'lexicon-demo.apigateway.co',\n 'prod': 'lexicon-prod.apigateway.co',\n 'production': 'lexicon-prod.apigateway.co'\n};\nlet HostService = /*#__PURE__*/(() => {\n class HostService {\n get host() {\n return hostMap[environment.toLowerCase()];\n }\n get hostWithScheme() {\n return 'https://' + this.host;\n }\n }\n HostService.ɵfac = function HostService_Factory(t) {\n return new (t || HostService)();\n };\n HostService.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: HostService,\n factory: HostService.ɵfac,\n providedIn: 'root'\n });\n return HostService;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nclass GetSupportedLanguagesRequest {\n static fromProto(proto) {\n let m = new GetSupportedLanguagesRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.componentName !== 'undefined') {\n toReturn['componentName'] = this.componentName;\n }\n return toReturn;\n }\n}\nclass GetSupportedLanguagesResponse {\n static fromProto(proto) {\n let m = new GetSupportedLanguagesResponse();\n m = Object.assign(m, proto);\n if (proto.languages) {\n m.languages = proto.languages.map(Language.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.languages !== 'undefined' && this.languages !== null) {\n toReturn['languages'] = 'toApiJson' in this.languages ? this.languages.toApiJson() : this.languages;\n }\n return toReturn;\n }\n}\nclass GetTranslationRequest {\n static fromProto(proto) {\n let m = new GetTranslationRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.componentName !== 'undefined') {\n toReturn['componentName'] = this.componentName;\n }\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.languageCode !== 'undefined') {\n toReturn['languageCode'] = this.languageCode;\n }\n return toReturn;\n }\n}\nclass GetTranslationResponse {\n static fromProto(proto) {\n let m = new GetTranslationResponse();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.translations !== 'undefined') {\n toReturn['translations'] = this.translations;\n }\n return toReturn;\n }\n}\nclass GetTranslationsRequest {\n static fromProto(proto) {\n let m = new GetTranslationsRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.componentNames !== 'undefined') {\n toReturn['componentNames'] = this.componentNames;\n }\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.languageCode !== 'undefined') {\n toReturn['languageCode'] = this.languageCode;\n }\n return toReturn;\n }\n}\nclass GetTranslationsResponse {\n static fromProto(proto) {\n let m = new GetTranslationsResponse();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.translations !== 'undefined') {\n toReturn['translations'] = this.translations;\n }\n return toReturn;\n }\n}\nclass InvalidateCacheRequest {\n static fromProto(proto) {\n let m = new InvalidateCacheRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.componentName !== 'undefined') {\n toReturn['componentName'] = this.componentName;\n }\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.languageCode !== 'undefined') {\n toReturn['languageCode'] = this.languageCode;\n }\n return toReturn;\n }\n}\nclass Language {\n static fromProto(proto) {\n let m = new Language();\n m = Object.assign(m, proto);\n if (proto.languageStatistics) {\n m.languageStatistics = Statistics.fromProto(proto.languageStatistics);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.languageCode !== 'undefined') {\n toReturn['languageCode'] = this.languageCode;\n }\n if (typeof this.languageName !== 'undefined') {\n toReturn['languageName'] = this.languageName;\n }\n if (typeof this.languageStatistics !== 'undefined' && this.languageStatistics !== null) {\n toReturn['languageStatistics'] = 'toApiJson' in this.languageStatistics ? this.languageStatistics.toApiJson() : this.languageStatistics;\n }\n return toReturn;\n }\n}\nclass Statistics {\n static fromProto(proto) {\n let m = new Statistics();\n m = Object.assign(m, proto);\n if (proto.total) {\n m.total = parseInt(proto.total, 10);\n }\n if (proto.totalWords) {\n m.totalWords = parseInt(proto.totalWords, 10);\n }\n if (proto.translated) {\n m.translated = parseInt(proto.translated, 10);\n }\n if (proto.translatedWords) {\n m.translatedWords = parseInt(proto.translatedWords, 10);\n }\n if (proto.failing) {\n m.failing = parseInt(proto.failing, 10);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.total !== 'undefined') {\n toReturn['total'] = this.total;\n }\n if (typeof this.totalWords !== 'undefined') {\n toReturn['totalWords'] = this.totalWords;\n }\n if (typeof this.translated !== 'undefined') {\n toReturn['translated'] = this.translated;\n }\n if (typeof this.translatedWords !== 'undefined') {\n toReturn['translatedWords'] = this.translatedWords;\n }\n if (typeof this.failing !== 'undefined') {\n toReturn['failing'] = this.failing;\n }\n return toReturn;\n }\n}\n\n// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects Index.\n// *********************************\n\n// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// API Service.\n// *********************************\nlet LexiconApiService = /*#__PURE__*/(() => {\n class LexiconApiService {\n constructor(http, hostService) {\n this.http = http;\n this.hostService = hostService;\n this._host = this.hostService.hostWithScheme;\n }\n apiOptions() {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n getTranslation(r) {\n const request = r.toApiJson ? r : new GetTranslationRequest(r);\n return this.http.post(this._host + \"/lexicon.v1.Lexicon/GetTranslation\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetTranslationResponse.fromProto(resp)));\n }\n getTranslations(r) {\n const request = r.toApiJson ? r : new GetTranslationsRequest(r);\n return this.http.post(this._host + \"/lexicon.v1.Lexicon/GetTranslations\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetTranslationsResponse.fromProto(resp)));\n }\n invalidateCache(r) {\n const request = r.toApiJson ? r : new InvalidateCacheRequest(r);\n return this.http.post(this._host + \"/lexicon.v1.Lexicon/InvalidateCache\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n getSupportedLanguages(r) {\n const request = r.toApiJson ? r : new GetSupportedLanguagesRequest(r);\n return this.http.post(this._host + \"/lexicon.v1.Lexicon/GetSupportedLanguages\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetSupportedLanguagesResponse.fromProto(resp)));\n }\n }\n LexiconApiService.ɵfac = function LexiconApiService_Factory(t) {\n return new (t || LexiconApiService)(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(HostService));\n };\n LexiconApiService.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: LexiconApiService,\n factory: LexiconApiService.ɵfac,\n providedIn: 'root'\n });\n return LexiconApiService;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Index.\n// *********************************\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { GetSupportedLanguagesRequest, GetSupportedLanguagesResponse, GetTranslationRequest, GetTranslationResponse, GetTranslationsRequest, GetTranslationsResponse, HostService, InvalidateCacheRequest, Language, LexiconApiService, Statistics };\n","import { translations } from './constants';\n\nexport const convertToFlatJson = (localizeTranslations: { [key: string]: { text: string } }): translations => {\n const result: { [key: string]: string } = {};\n Object.entries(localizeTranslations).forEach(([key, value]) => {\n result[key] = value.text;\n });\n return result;\n};\n\nexport const convertToNestedJson = (localizeTranslations: { [key: string]: { text: string } }): translations => {\n const result: translations = {};\n\n for (const objectPath in localizeTranslations) {\n const parts = objectPath.split('.');\n\n let target = result;\n while (parts.length > 1) {\n const part = parts.shift() as string;\n target = target[part] = (target[part] as translations) || {};\n }\n\n target[parts[0]] = localizeTranslations[objectPath].text;\n }\n\n return result;\n};\n","import { translations } from './constants';\n\nconst isObject = (item: unknown): boolean => {\n return item === Object(item) && !Array.isArray(item);\n};\n\nexport const deepMerge = (target: translations, sources: translations | translations[]): translations => {\n if (!Array.isArray(sources)) {\n sources = [sources];\n }\n sources\n .filter((source) => isObject(source))\n .forEach((source) => {\n Object.entries(source).forEach(([key, value]) => {\n if (typeof value === 'string') {\n target[key] = value;\n } else {\n if (typeof value === 'object') {\n if (!target[key] || !(typeof target[key] === 'object')) {\n target[key] = {};\n }\n deepMerge(target[key] as translations, value);\n }\n }\n });\n });\n return target;\n};\n","import { Inject, Injectable, Optional, SkipSelf } from '@angular/core';\nimport '@angular/localize/init';\nimport { TranslateLoader } from '@ngx-translate/core';\nimport { GetTranslationsResponse, LexiconApiService } from '@vendasta/lexicon';\nimport { PartnerServiceInterface, PartnerServiceInterfaceToken } from '@galaxy/partner';\nimport { combineLatest, Observable, of } from 'rxjs';\nimport { debounceTime, map, shareReplay, startWith, switchMap } from 'rxjs/operators';\nimport {\n LEXICON_BASE_TRANSLATION,\n LEXICON_COMPONENT_NAME,\n LEXICON_DISABLE_OTW,\n LEXICON_FILE_FORMAT,\n LEXICON_FILE_FORMAT_OPTION,\n translations,\n} from './constants';\nimport { convertToFlatJson, convertToNestedJson } from './converters';\nimport { deepMerge } from './merge';\n\ndeclare const $localize: { TRANSLATIONS: { [key: string]: { text: string } } };\ndeclare global {\n interface Window {\n partnerId: string;\n }\n}\n\n@Injectable()\nexport class LexiconLoader implements TranslateLoader {\n private _translations: { [lang: string]: Observable } = {};\n private partnerId$: Observable;\n\n constructor(\n @Inject(LEXICON_COMPONENT_NAME) private componentNames: string[],\n @Inject(LEXICON_BASE_TRANSLATION) private baseTranslations: translations[],\n @Inject(LEXICON_DISABLE_OTW) private disableOtw: boolean,\n @Inject(LEXICON_FILE_FORMAT) private targetFileFormat: LEXICON_FILE_FORMAT_OPTION,\n @Optional() @Inject(PartnerServiceInterfaceToken) private partnerService: PartnerServiceInterface,\n private lexiconApiService: LexiconApiService,\n @Optional() @SkipSelf() private parent?: LexiconLoader,\n ) {\n this.partnerId$ = !this.partnerService\n ? of('')\n : this.partnerService\n .getPartnerId()\n .pipe(\n debounceTime(1000),\n startWith(typeof window !== 'undefined' && window.partnerId ? window.partnerId : ''),\n );\n }\n\n getTranslation(lang: string): Observable {\n if (this._translations[lang]) {\n return this._translations[lang];\n }\n\n let translations$: Observable;\n if (this.disableOtw) {\n translations$ = of(deepMerge({}, this.baseTranslations));\n } else {\n translations$ = this.partnerId$.pipe(\n switchMap((partnerId: string) => {\n const componentNames = this.removeDuplicateComponentNames();\n if (componentNames.length === 0) {\n return of(new GetTranslationsResponse({ translations: {} }));\n }\n return this.lexiconApiService.getTranslations({\n componentNames: componentNames,\n languageCode: lang,\n partnerId: partnerId,\n });\n }),\n map((response: GetTranslationsResponse) => response.translations || {}),\n );\n }\n\n if (this.parent) {\n translations$ = combineLatest([this.parent.getTranslation(lang), translations$]).pipe(\n map(([parent, child]) => deepMerge(parent, [child])),\n );\n }\n\n // Merge translations from $angular/localize store into ngx-translate store\n translations$ = translations$.pipe(\n map((translations) => this.augmentWithAngularLocalizeTranslations(translations)),\n shareReplay(1),\n );\n\n this._translations[lang] = translations$;\n return translations$;\n }\n\n private removeDuplicateComponentNames() {\n let components = Array.from(new Set(this.componentNames || []));\n if (this.parent?.componentNames) {\n const p = this.parent?.componentNames;\n components = components.filter((c) => p.indexOf(c) < 0);\n }\n return components.filter((c) => !!c);\n }\n\n augmentWithAngularLocalizeTranslations(translations: translations): translations {\n if (!$localize || !$localize.TRANSLATIONS) {\n return translations;\n }\n switch (this.targetFileFormat) {\n case LEXICON_FILE_FORMAT_OPTION.XLIFF1:\n // TODO: Support XLIFF1 merging\n return translations;\n case LEXICON_FILE_FORMAT_OPTION.FLAT_JSON: {\n const flatJson = convertToFlatJson($localize.TRANSLATIONS);\n return deepMerge(translations, [flatJson]);\n }\n case LEXICON_FILE_FORMAT_OPTION.NESTED_JSON: {\n const nestedJson = convertToNestedJson($localize.TRANSLATIONS);\n return deepMerge(translations, [nestedJson]);\n }\n default:\n return translations;\n }\n }\n}\n","import { Inject, Injectable } from '@angular/core';\nimport { MissingTranslationHandler, MissingTranslationHandlerParams } from '@ngx-translate/core';\nimport { LEXICON_BASE_TRANSLATION } from './constants';\n\ninterface InterpolateParams {\n [key: string]: string;\n}\n\n@Injectable()\nexport class LexiconMissingTranslationHandler implements MissingTranslationHandler {\n constructor(@Inject(LEXICON_BASE_TRANSLATION) private baseTranslations: any[]) {}\n\n handle(params: MissingTranslationHandlerParams): string {\n for (let baseTranslation of this.baseTranslations) {\n if (Object.prototype.hasOwnProperty.call(baseTranslation, params.key)) {\n baseTranslation = baseTranslation[params.key];\n }\n const parts = params.key.split('.', -1);\n for (const part of parts) {\n if (Object.prototype.hasOwnProperty.call(baseTranslation, part)) {\n baseTranslation = baseTranslation[part];\n }\n }\n if (typeof baseTranslation === 'string') {\n if (typeof params.interpolateParams === 'object') {\n if (this.isInterpolateParams(params.interpolateParams)) {\n for (const [param, value] of Object.entries(params.interpolateParams)) {\n baseTranslation = baseTranslation.replace(new RegExp(`{{ ?${param} ?}}`, 'g'), value);\n }\n }\n }\n return baseTranslation;\n }\n }\n return params.key;\n }\n\n // eslint-disable-next-line @typescript-eslint/ban-types\n isInterpolateParams(obj: Object): obj is InterpolateParams {\n return Object.values(obj).every((value) => typeof value === 'string' || typeof value === 'number');\n }\n}\n","// *********************************\n// Code generated by sdkgen - edited by you!\n//\n// This module contains any hand-written services or other things your module\n// needs to share with applications that use it.\n// *********************************\nimport { ModuleWithProviders, NgModule } from '@angular/core';\nimport {\n DEFAULT_LANGUAGE,\n MissingTranslationHandler,\n TranslateCompiler,\n TranslateDefaultParser,\n TranslateFakeCompiler,\n TranslateLoader,\n TranslateModule,\n TranslateModuleConfig,\n TranslateParser,\n TranslateService,\n TranslateStore,\n USE_DEFAULT_LANG,\n USE_EXTEND,\n USE_STORE,\n} from '@ngx-translate/core';\nimport {\n LEXICON_BASE_TRANSLATION,\n LEXICON_COMPONENT_NAME,\n LEXICON_DISABLE_OTW,\n LEXICON_FILE_FORMAT,\n LEXICON_FILE_FORMAT_OPTION,\n LEXICON_PARTNER_ID,\n LEXICON_ROOT_COMPONENT,\n} from './constants';\nimport { LexiconLoader } from './lexicon.loader';\nimport { LexiconMissingTranslationHandler } from './lexicon.missing-translation-handler';\n\ndeclare const window: {\n deployment: string;\n};\n\nexport interface LexiconModuleConfig extends TranslateModuleConfig {\n componentName?: string;\n baseTranslation?: any;\n disableOtw?: boolean;\n fileFormat?: LEXICON_FILE_FORMAT_OPTION;\n}\n\n@NgModule({\n imports: [TranslateModule],\n exports: [TranslateModule],\n})\nexport class LexiconModule {\n public static forRoot(config: LexiconModuleConfig = {}): ModuleWithProviders {\n return {\n ngModule: LexiconModule,\n providers: [\n config.loader || {\n provide: TranslateLoader,\n useClass: LexiconLoader,\n },\n { provide: LexiconLoader, useExisting: TranslateLoader },\n config.missingTranslationHandler || {\n provide: MissingTranslationHandler,\n useClass: LexiconMissingTranslationHandler,\n },\n config.compiler || { provide: TranslateCompiler, useClass: TranslateFakeCompiler },\n config.parser || { provide: TranslateParser, useClass: TranslateDefaultParser },\n TranslateStore,\n { provide: USE_STORE, useValue: true },\n { provide: USE_DEFAULT_LANG, useValue: true },\n { provide: USE_EXTEND, useValue: false },\n { provide: DEFAULT_LANGUAGE, useValue: config.defaultLanguage || 'en' },\n { provide: LEXICON_ROOT_COMPONENT, useValue: config.componentName || '' },\n { provide: LEXICON_COMPONENT_NAME, useValue: config.componentName || '', multi: true },\n { provide: LEXICON_BASE_TRANSLATION, useValue: config.baseTranslation || {}, multi: true },\n { provide: LEXICON_PARTNER_ID, useValue: '' },\n {\n provide: LEXICON_DISABLE_OTW,\n useValue: config.disableOtw !== false && (typeof window === 'undefined' || window.deployment === undefined),\n },\n { provide: LEXICON_FILE_FORMAT, useValue: config.fileFormat || LEXICON_FILE_FORMAT_OPTION.NESTED_JSON },\n TranslateService,\n ],\n };\n }\n\n public static forChild(config: LexiconModuleConfig = {}): ModuleWithProviders {\n return {\n ngModule: LexiconModule,\n providers: [\n config.loader || {\n provide: TranslateLoader,\n useClass: LexiconLoader,\n },\n { provide: LexiconLoader, useExisting: TranslateLoader },\n config.missingTranslationHandler || {\n provide: MissingTranslationHandler,\n useClass: LexiconMissingTranslationHandler,\n },\n config.compiler || { provide: TranslateCompiler, useClass: TranslateFakeCompiler },\n config.parser || { provide: TranslateParser, useClass: TranslateDefaultParser },\n { provide: LEXICON_COMPONENT_NAME, useValue: config.componentName || '', multi: true },\n { provide: LEXICON_BASE_TRANSLATION, useValue: config.baseTranslation || {}, multi: true },\n TranslateService,\n ],\n };\n }\n}\n"],"mappings":"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","names":["TranslateLoader","TranslateFakeLoader","lang","of","ɵTranslateFakeLoader_BaseFactory","t","ɵɵgetInheritedFactory","ɵɵdefineInjectable","MissingTranslationHandler","FakeMissingTranslationHandler","params","equals","o1","o2","t1","t2","length","key","keySet","isDefined","value","isObject","item","mergeDeep","target","source","output","TranslateParser","TranslateDefaultParser","expr","result","keys","fn","substring","b","r","ɵTranslateDefaultParser_BaseFactory","TranslateCompiler","TranslateFakeCompiler","translations","ɵTranslateFakeCompiler_BaseFactory","TranslateStore","EventEmitter","USE_STORE","InjectionToken","USE_DEFAULT_LANG","DEFAULT_LANGUAGE","USE_EXTEND","TranslateService","store","currentLoader","compiler","parser","missingTranslationHandler","useDefaultLang","isolate","extend","defaultLanguage","defaultLang","currentLang","langs","pending","take","res","loadingTranslations","shareReplay","map","__spreadValues","err","shouldMerge","interpolateParams","observables","k","isObservable","sources","forkJoin","arr","obj","index","concatMap","concat","defer","switchMap","event","browserLang","browserCultureLang","ɵɵinject","TranslateDirective","translateService","element","_ref","forceUpdate","nodes","i","node","content","trimmedContent","onTranslation","ɵɵdirectiveInject","ElementRef","ChangeDetectorRef","ɵɵdefineDirective","TranslatePipe","translate","query","args","validArgs","ɵɵdefinePipe","TranslateModule","config","ɵɵdefineNgModule","ɵɵdefineInjector","SubscriptionLevel","AddonActivationStatus","Action","BillingFrequency","SubscriptionTierUpdateType","UpdateSubscriptionTierStatus","AccessLevel","Expiration","ReportAccessIDType","ReportAccessScope","PartnerHealthState","PartnerHealthSubState","PartnerOrigin","GetSignUpAddPaymentCardResultResponseStatus","Status","SupportFlag","RewardStatus","SubscriptionFailure","SalesSetting","EditUserProfileLocation","TimeRange","Field","UITheme","NavigationItemBadge","SegmentedOnboardingConfiguration","BrandingUITheme","FieldMask","_FieldMask","proto","m","kwargs","toReturn","enumStringToValue$n","enumRef","value","Trial","_Trial","SubscriptionLevel","enumStringToValue$m","AddonActivation","_AddonActivation","AddonActivationStatus","PartnerAddon","_PartnerAddon","enumStringToValue$k","enumRef","value","GetUpdateSubscriptionTierStatusRequest","_GetUpdateSubscriptionTierStatusRequest","proto","m","kwargs","toReturn","GetUpdateSubscriptionTierStatusResponse","_GetUpdateSubscriptionTierStatusResponse","UpdateSubscriptionTierStatus","InitiateSubscriptionTierUpdateRequest","_InitiateSubscriptionTierUpdateRequest","UpdateSubscriptionTierRequest","_UpdateSubscriptionTierRequest","BillingFrequency","SubscriptionTierUpdateType","enumStringToValue$j","ExperimentSetting","_ExperimentSetting","SelectionCriteria","FeatureFlag","_FeatureFlag","AccessLevel","PartnerAccess","Expiration","_PartnerAccess","_SelectionCriteria","enumStringToValue$i","PartnerAdminPermissions","_PartnerAdminPermissions","ReportAccessScope","ReportAccess","_ReportAccess","ReportAccessIDType","enumStringToValue$h","PartnerHealth","_PartnerHealth","PartnerHealthState","PartnerHealthSubState","enumStringToValue$g","CompanyProfile","_CompanyProfile","CreatePartnerRequest","_CreatePartnerRequest","PartnerUser","TermOfService","PartnerAcquisitionData","GetCreatePartnerStatusRequest","_GetCreatePartnerStatusRequest","GetCreatePartnerStatusResponse","_GetCreatePartnerStatusResponse","Status","GetSignUpAddPaymentCardResultRequest","_GetSignUpAddPaymentCardResultRequest","GetSignUpAddPaymentCardResultResponse","_GetSignUpAddPaymentCardResultResponse","GetSignUpAddPaymentCardResultResponseStatus","GetUpdatePartnerStatusRequest","_GetUpdatePartnerStatusRequest","GetUpdatePartnerStatusResponse","_GetUpdatePartnerStatusResponse","_PartnerAcquisitionData","PartnerOrigin","PartnerInfo","_PartnerInfo","SupportFlag","_PartnerUser","_TermOfService","UpdateCompanyProfileRequest","_UpdateCompanyProfileRequest","UpdatePartnerRequest","_UpdatePartnerRequest","enumStringToValue$e","enumRef","value","AddRewardToPartnerRequest","_AddRewardToPartnerRequest","proto","m","kwargs","toReturn","AttemptRewardClaimRequest","_AttemptRewardClaimRequest","Claimed","_Claimed","GetRewardRequest","_GetRewardRequest","GetRewardResponse","_GetRewardResponse","Reward","IsRewardConditionMetForPartnerRequest","_IsRewardConditionMetForPartnerRequest","IsRewardConditionMetForPartnerResponse","_IsRewardConditionMetForPartnerResponse","Money","_Money","_Reward","RewardStatus","enumStringToValue$d","GetSalesConfigRequest","_GetSalesConfigRequest","GetSalesConfigResponse","_GetSalesConfigResponse","SalesConfiguration","SalesConfigInputs","_SalesConfigInputs","SalesSetting","_SalesConfiguration","SetSalesConfigRequest","_SetSalesConfigRequest","FieldMask","SetSalesConfigResponse","_SetSalesConfigResponse","enumStringToValue$c","BusinessCenterConfiguration","_BusinessCenterConfiguration","ReferralLink","TimeRange","BusinessCenterMarketConfiguration","_BusinessCenterMarketConfiguration","EditUserProfileLocation","GetBusinessCenterMarketConfigurationRequest","_GetBusinessCenterMarketConfigurationRequest","GetBusinessCenterMarketConfigurationResponse","_GetBusinessCenterMarketConfigurationResponse","_ReferralLink","SetBusinessCenterConfigRequest","_SetBusinessCenterConfigRequest","SetBusinessCenterConfigResponse","_SetBusinessCenterConfigResponse","UpdateBusinessCenterMarketConfigurationRequest","_UpdateBusinessCenterMarketConfigurationRequest","UpdateBusinessCenterMarketConfigurationResponse","_UpdateBusinessCenterMarketConfigurationResponse","AppIdentifier","_AppIdentifier","proto","m","kwargs","toReturn","CompareSubscriptionTiersRequest","_CompareSubscriptionTiersRequest","CompareSubscriptionTiersResponse","_CompareSubscriptionTiersResponse","ComparisonRow","ComparisonCell","_ComparisonCell","CountConstraint","_ComparisonRow","_CountConstraint","TierCostConstraint","GetSubscriptionTierRequest","_GetSubscriptionTierRequest","GetSubscriptionTierResponse","_GetSubscriptionTierResponse","SubscriptionTier","ListSubscriptionTiersRequest","_ListSubscriptionTiersRequest","ListSubscriptionTiersResponse","_ListSubscriptionTiersResponse","_SubscriptionTier","TierUsageLimits","SubscriptionUpdate","_SubscriptionUpdate","_TierCostConstraint","_TierUsageLimits","ToolkitData","_ToolkitData","CreateTermsOfServiceRequest","_CreateTermsOfServiceRequest","proto","m","TermsOfService","kwargs","toReturn","GetTermsOfServiceRequest","_GetTermsOfServiceRequest","GetTermsOfServiceResponse","_GetTermsOfServiceResponse","_TermsOfService","GetUserAgreementTermsOfServiceRequest","_GetUserAgreementTermsOfServiceRequest","proto","m","kwargs","toReturn","GetUserAgreementTermsOfServiceResponse","_GetUserAgreementTermsOfServiceResponse","UserAgreementTermsOfService","SetUserAgreementTermsOfServiceRequest","_SetUserAgreementTermsOfServiceRequest","_UserAgreementTermsOfService","DeleteWizardStatusRequest","_DeleteWizardStatusRequest","proto","m","kwargs","toReturn","GetWizardStatusRequest","_GetWizardStatusRequest","GetWizardStatusResponse","_GetWizardStatusResponse","WizardStatus","ListWizardStatusRequest","_ListWizardStatusRequest","PagingRequestMetadata","ListWizardStatusResponse","_ListWizardStatusResponse","PagedResponseData","_PagedResponseData","_PagingRequestMetadata","ReplaceWizardStatusRequest","_ReplaceWizardStatusRequest","proto","m","kwargs","toReturn","WizardStatus","_WizardStatus","enumStringToValue$6","enumRef","value","BrandingV2","_BrandingV2","proto","m","UITheme","v","Field","kwargs","toReturn","PartnerModel","_PartnerModel","proto","m","kwargs","toReturn","enumStringToValue$2","enumRef","value","NavigationItem","_NavigationItem","NavigationItemChild","NavigationItemBadge","_NavigationItemChild","TaskManagerConfiguration","_TaskManagerConfiguration","proto","m","kwargs","toReturn","enumStringToValue","enumRef","value","ActivateAddonRequest","_ActivateAddonRequest","ActivateAddonResponse","_ActivateAddonResponse","AddonActivation","AddPartnerToWhitelistRequest","_AddPartnerToWhitelistRequest","BrandingApp","_BrandingApp","BrandingAssets","_BrandingAssets","proto","m","URL","kwargs","toReturn","BatchGetFeatureFlagRequest","_BatchGetFeatureFlagRequest","BatchGetFeatureFlagResponse","_BatchGetFeatureFlagResponse","FeatureFlag","BatchGetStatusFeatureFlagRequest","_BatchGetStatusFeatureFlagRequest","BatchGetStatusFeatureFlagResponse","_BatchGetStatusFeatureFlagResponse","Branding","_Branding","enumStringToValue","BrandingUITheme","obj","k","BrandingApp","Theme","CancelTrialRequest","_CancelTrialRequest","proto","m","kwargs","toReturn","Configuration","_Configuration","SnapshotConfiguration","enumStringToValue","SubscriptionLevel","ReputationConfiguration","SalesConfiguration","BusinessCenterConfiguration","SubscriptionFailure","EmailConfiguration","MailingConfiguration","SegmentedOnboardingConfiguration","TaskManagerConfiguration","UpdatePartnerModelMutationCountryState","_UpdatePartnerModelMutationCountryState","CreateAnalyticsDashboardRequest","_CreateAnalyticsDashboardRequest","CreateFeatureFlagRequest","_CreateFeatureFlagRequest","AccessLevel","PartnerAccess","ExperimentSetting","Expiration","CreatePartnerAccountGroupRequest","_CreatePartnerAccountGroupRequest","CreateTrialRequest","_CreateTrialRequest","proto","m","enumStringToValue","SubscriptionLevel","kwargs","toReturn","DeactivateAddonRequest","_DeactivateAddonRequest","DeletePartnerAccountGroupRequest","_DeletePartnerAccountGroupRequest","EmailConfiguration","_EmailConfiguration","GenerateAccountGroupSessionRequest","_GenerateAccountGroupSessionRequest","GenerateAccountGroupSessionResponse","_GenerateAccountGroupSessionResponse","GetAddonActivationRequest","_GetAddonActivationRequest","GetAddonActivationResponse","_GetAddonActivationResponse","AddonActivation","GetBrandingRequest","_GetBrandingRequest","GetBrandingResponse","_GetBrandingResponse","Branding","GetBrandingV2Request","_GetBrandingV2Request","GetBrandingV2Response","_GetBrandingV2Response","BrandingV2","GetConfigurationRequest","_GetConfigurationRequest","GetConfigurationResponse","_GetConfigurationResponse","Configuration","GetMultiBrandingRequest","_GetMultiBrandingRequest","GetMultiBrandingResponse","_GetMultiBrandingResponse","SinglePartnerMarketBranding","GetMultiBrandingV2Request","_GetMultiBrandingV2Request","GetMultiBrandingV2Response","_GetMultiBrandingV2Response","GetMultiPartnerHealthRequest","_GetMultiPartnerHealthRequest","GetMultiPartnerHealthResponse","_GetMultiPartnerHealthResponse","PartnerHealth","GetMultiPartnerModelRequest","_GetMultiPartnerModelRequest","GetMultiPartnerModelResponse","_GetMultiPartnerModelResponse","PartnerModel","GetPartnerAccountGroupMappingRequest","_GetPartnerAccountGroupMappingRequest","GetPartnerAccountGroupMappingResponse","_GetPartnerAccountGroupMappingResponse","GetPartnerCenterNavigationRequest","_GetPartnerCenterNavigationRequest","GetPartnerCenterNavigationResponse","_GetPartnerCenterNavigationResponse","NavigationItem","GetPartnerHealthRequest","_GetPartnerHealthRequest","GetPartnerHealthResponse","_GetPartnerHealthResponse","GetPartnerModelRequest","_GetPartnerModelRequest","GetPartnerModelResponse","_GetPartnerModelResponse","GetSingleSignOnRequest","_GetSingleSignOnRequest","GetSingleSignOnResponse","_GetSingleSignOnResponse","GetTrialRequest","_GetTrialRequest","GetTrialResponse","_GetTrialResponse","Trial","ListAddonActivationsRequest","_ListAddonActivationsRequest","PagedRequestOptions","ListAddonActivationsResponse","_ListAddonActivationsResponse","PagedResponseMetadata","ListBrandingV2Request","_ListBrandingV2Request","ListBrandingV2Response","_ListBrandingV2Response","ListFeatureFlagFilters","_ListFeatureFlagFilters","v","AccessLevel","ListFeatureFlagRequest","_ListFeatureFlagRequest","ListFeatureFlagResponse","_ListFeatureFlagResponse","FeatureFlag","ListPartnerAddonsRequest","_ListPartnerAddonsRequest","ListPartnerAddonsResponse","_ListPartnerAddonsResponse","PartnerAddon","ListPartnerHealthRequest","_ListPartnerHealthRequest","ListPartnerHealthResponse","_ListPartnerHealthResponse","ListTrialRequest","_ListTrialRequest","ListTrialResponse","_ListTrialResponse","MailingConfiguration","_MailingConfiguration","UpsertMutationMarketOverridesMutation","_UpsertMutationMarketOverridesMutation","Field","UpdateFeatureFlagRequestMutation","_UpdateFeatureFlagRequestMutation","UpdateFeatureFlagRequestMutationPartnerAccessMutation","ExperimentSetting","Expiration","_PagedRequestOptions","_PagedResponseMetadata","_UpdateFeatureFlagRequestMutationPartnerAccessMutation","PartnerAccess","PartnerCanDoActionRequest","_PartnerCanDoActionRequest","Action","PartnerCanDoActionResponse","_PartnerCanDoActionResponse","ReputationConfiguration","_ReputationConfiguration","ResendPartnerAdminWelcomeEmailRequest","_ResendPartnerAdminWelcomeEmailRequest","ResetPartnerRequest","_ResetPartnerRequest","SearchPartnerModelsFilters","_SearchPartnerModelsFilters","SearchPartnerModelsRequest","_SearchPartnerModelsRequest","FieldMask","SearchPartnerModelsResponse","_SearchPartnerModelsResponse","SetPartnerHealthRequest","_SetPartnerHealthRequest","PartnerHealthState","PartnerHealthSubState","_SinglePartnerMarketBranding","SnapshotConfiguration","_SnapshotConfiguration","SwapPartnerAccountGroupRequest","_SwapPartnerAccountGroupRequest","Theme","_Theme","URL","_URL","UpdateFeatureFlagRequest","_UpdateFeatureFlagRequest","UpdatePartnerAccountGroupRequest","_UpdatePartnerAccountGroupRequest","UpdatePartnerAdminRequest","_UpdatePartnerAdminRequest","PartnerAdminPermissions","UpdatePartnerModelMutation","_UpdatePartnerModelMutation","UpdatePartnerModelMutationCountryState","UpdatePartnerModelRequest","_UpdatePartnerModelRequest","UpsertBrandingV2Request","_UpsertBrandingV2Request","UpsertMutation","_UpsertMutation","UITheme","environment","hostMap","HostService","t","ɵɵdefineInjectable","AddonApiService","http","hostService","HttpHeaders","r","request","ActivateAddonRequest","map","resp","ActivateAddonResponse","DeactivateAddonRequest","__spreadProps","__spreadValues","ListAddonActivationsRequest","ListAddonActivationsResponse","GetAddonActivationRequest","GetAddonActivationResponse","ListPartnerAddonsRequest","ListPartnerAddonsResponse","t","ɵɵinject","HttpClient","HostService","ɵɵdefineInjectable","BrandingV2ApiService","GetBrandingV2Request","GetBrandingV2Response","GetMultiBrandingV2Request","GetMultiBrandingV2Response","ListBrandingV2Request","ListBrandingV2Response","UpsertBrandingV2Request","BusinessCenterApiService","SetBusinessCenterConfigRequest","SetBusinessCenterConfigResponse","GetBusinessCenterMarketConfigurationRequest","GetBusinessCenterMarketConfigurationResponse","UpdateBusinessCenterMarketConfigurationRequest","UpdateBusinessCenterMarketConfigurationResponse","CannyApiService","GetSingleSignOnRequest","GetSingleSignOnResponse","FeatureFlagsApiService","http","hostService","HttpHeaders","r","request","CreateFeatureFlagRequest","__spreadProps","__spreadValues","UpdateFeatureFlagRequest","BatchGetStatusFeatureFlagRequest","map","resp","BatchGetStatusFeatureFlagResponse","BatchGetFeatureFlagRequest","BatchGetFeatureFlagResponse","ListFeatureFlagRequest","ListFeatureFlagResponse","CreateAnalyticsDashboardRequest","AddPartnerToWhitelistRequest","t","ɵɵinject","HttpClient","HostService","ɵɵdefineInjectable","IAMApiService","http","hostService","HttpHeaders","r","request","GenerateAccountGroupSessionRequest","map","resp","GenerateAccountGroupSessionResponse","ResendPartnerAdminWelcomeEmailRequest","__spreadProps","__spreadValues","UpdatePartnerAdminRequest","t","ɵɵinject","HttpClient","HostService","ɵɵdefineInjectable","PartnerApiService","ResetPartnerRequest","UpdateSubscriptionTierRequest","GetUpdateSubscriptionTierStatusRequest","GetUpdateSubscriptionTierStatusResponse","PartnerCanDoActionRequest","PartnerCanDoActionResponse","DeletePartnerAccountGroupRequest","GetPartnerAccountGroupMappingRequest","GetPartnerAccountGroupMappingResponse","CreatePartnerAccountGroupRequest","UpdatePartnerAccountGroupRequest","SwapPartnerAccountGroupRequest","InitiateSubscriptionTierUpdateRequest","PartnerHealthsApiService","SetPartnerHealthRequest","GetPartnerHealthRequest","GetPartnerHealthResponse","ListPartnerHealthRequest","ListPartnerHealthResponse","GetMultiPartnerHealthRequest","GetMultiPartnerHealthResponse","PartnerLegacyApiService","CreatePartnerRequest","GetCreatePartnerStatusRequest","GetCreatePartnerStatusResponse","GetSignUpAddPaymentCardResultRequest","GetSignUpAddPaymentCardResultResponse","UpdateCompanyProfileRequest","UpdatePartnerRequest","GetUpdatePartnerStatusRequest","GetUpdatePartnerStatusResponse","GetPartnerCenterNavigationRequest","GetPartnerCenterNavigationResponse","PartnerModelApiService","GetPartnerModelRequest","GetPartnerModelResponse","GetMultiPartnerModelRequest","GetMultiPartnerModelResponse","UpdatePartnerModelRequest","SearchPartnerModelsRequest","SearchPartnerModelsResponse","PartnerTermsOfApiService","http","hostService","HttpHeaders","r","request","GetTermsOfServiceRequest","map","resp","GetTermsOfServiceResponse","CreateTermsOfServiceRequest","__spreadProps","__spreadValues","t","ɵɵinject","HttpClient","HostService","ɵɵdefineInjectable","PartnerTrialApiService","GetTrialRequest","GetTrialResponse","CreateTrialRequest","CancelTrialRequest","ListTrialRequest","ListTrialResponse","PartnerUserAgreementTermsOfApiService","GetUserAgreementTermsOfServiceRequest","GetUserAgreementTermsOfServiceResponse","SetUserAgreementTermsOfServiceRequest","RewardsApiService","http","hostService","HttpHeaders","r","request","AddRewardToPartnerRequest","__spreadProps","__spreadValues","AttemptRewardClaimRequest","GetRewardRequest","map","resp","GetRewardResponse","IsRewardConditionMetForPartnerRequest","IsRewardConditionMetForPartnerResponse","t","ɵɵinject","HttpClient","HostService","ɵɵdefineInjectable","SalesApiService","SetSalesConfigRequest","SetSalesConfigResponse","GetSalesConfigRequest","GetSalesConfigResponse","SubscriptionTiersApiService","http","hostService","HttpHeaders","r","request","GetSubscriptionTierRequest","map","resp","GetSubscriptionTierResponse","ListSubscriptionTiersRequest","ListSubscriptionTiersResponse","CompareSubscriptionTiersRequest","CompareSubscriptionTiersResponse","t","ɵɵinject","HttpClient","HostService","ɵɵdefineInjectable","UserOnboardingApiService","http","hostService","HttpHeaders","r","request","ReplaceWizardStatusRequest","__spreadProps","__spreadValues","GetWizardStatusRequest","map","resp","GetWizardStatusResponse","ListWizardStatusRequest","ListWizardStatusResponse","DeleteWizardStatusRequest","t","ɵɵinject","HttpClient","HostService","ɵɵdefineInjectable","WhitelabelApiService","GetBrandingRequest","GetBrandingResponse","GetMultiBrandingRequest","GetMultiBrandingResponse","GetConfigurationRequest","GetConfigurationResponse","FeatureFlagService","constructor","api","batchGetStatus","partnerId","marketId","featureIds","req","BatchGetStatusFeatureFlagRequest","pipe","map","resp","statuses","hasAccess","forEach","status","i","batchGet","featureFlagIds","BatchGetFeatureFlagRequest","ids","flags","update","id","mutations","UpdateFeatureFlagRequest","create","featureFlag","CreateFeatureFlagRequest","list","cursor","pageSize","filters","ListFeatureFlagRequest","archivedOnly","searchTerm","accessLevel","createAnalyticsDashboard","featureFlagID","userID","request","featureFlagId","userId","CreateAnalyticsDashboardRequest","ɵɵinject","FeatureFlagsApiService","factory","ɵfac","providedIn","_FeatureFlagService","FREE_SUBSCRIPTION_ID","BASIC","PROFESSIONAL","ENTERPRISE","PREMIUM","ELITE","PROFESSIONAL_PLUS","ENTERPRISE_PLUS","BASIC_SUBSCRIPTION_ID","PROFESSIONAL_SUBSCRIPTION_ID","ENTERPRISE_SUBSCRIPTION_ID","PREMIUM_SUBSCRIPTION_ID","ELITE_SUBSCRIPTION_ID","VBP_BASIC_SUBSCRIPTION_ID","VBP_PROFESSIONAL_SUBSCRIPTION_ID","VBP_ENTERPRISE_SUBSCRIPTION_ID","VBP_ENTERPRISE_PILOT_SUBSCRIPTION_ID","VBP2_STARTUP_SUBSCRIPTION_ID","VBP2_ESSENTIALS_SUBSCRIPTION_ID","VBP2_GROWTH_SUBSCRIPTION_ID","VBP2_SCALE_SUBSCRIPTION_ID","VBP2_PREMIUM_SUBSCRIPTION_ID","INDIVIDUAL_SUBSCRIPTION_ID","TEAM_SUBSCRIPTION_ID","ADVANCE_SUBSCRIPTION_ID","CUSTOM_SUBSCRIPTION_ID","VBP2023_STARTER_SUBSCRIPTION_ID","VBP2022_PROFESSIONAL_SUBSCRIPTION_ID","VBP2022_PREMIUM_SUBSCRIPTION_ID","VBP2022_CUSTOM_SUBSCRIPTION_ID","VBP2022_VERSION","VBP2023_VERSION","M3_TIER_VERSION","STANDARD_SUPPORT_TIERS","BASIC","BASIC_SUBSCRIPTION_ID","PROFESSIONAL","PROFESSIONAL_PLUS","PROFESSIONAL_SUBSCRIPTION_ID","PREMIUM_SUPPORT_SUBSCRIPTION_TIERS","ENTERPRISE","PREMIUM","ELITE","ENTERPRISE_PLUS","ENTERPRISE_SUBSCRIPTION_ID","PREMIUM_SUBSCRIPTION_ID","ELITE_SUBSCRIPTION_ID","CHAT_SUPPORT_TIERS","SubscriptionTiersService","constructor","api","partnerId$","subscriptionTierList$","pipe","switchMap","partnerId","listSubscriptionTiers","map","response","subscriptionTier","publishReplay","refCount","getI18NName","id","isFree","s","FREE_SUBSCRIPTION_ID","isClassicSubscription","tierVersion","isVBP2Subscription","isVBP2022Subscription","isM3Subscription","getSubscriptionTier","subscriptionId","GetSubscriptionTierRequest","request","ListSubscriptionTiersRequest","ɵɵinject","SubscriptionTiersApiService","factory","ɵfac","providedIn","_SubscriptionTiersService","PartnerSubscriptionService","constructor","api","partnerModelService","subscriptionTierService","updateSubscriptionTier","partnerId","tierId","frequency","updateType","request","pipe","map","resp","ok","getUpdateSubscriptionTierStatus","initiateSubscriptionTierUpdate","canAccessFeature","feature","getPartnerModel","switchMap","partnerModel","getSubscriptionTier","id","partner","subscriptionTierId","subscriptionTier","enabledFeatures","find","feat","ɵɵinject","PartnerApiService","PartnerModelApiService","SubscriptionTiersApiService","factory","ɵfac","providedIn","_PartnerSubscriptionService","AddonService","constructor","_api","list","partnerId","cursor","pageSize","listActivations","pagingOptions","pipe","map","response","activations","hasMore","pagingMetadata","nextCursor","activate","addonId","quantity","deactivate","activationId","getActivation","r","activation","listAddons","listPartnerAddons","resp","addons","ɵɵinject","AddonApiService","factory","ɵfac","providedIn","_AddonService","PartnerServiceInterfaceToken","InjectionToken","PartnerService","constructor","innerService","getPartnerId","ɵɵinject","PartnerServiceInterfaceToken","factory","ɵfac","providedIn","_PartnerService","PartnerSalesService","constructor","api","setConfiguration","partnerId","marketId","config","req","SetSalesConfigRequest","getConfiguration","GetSalesConfigRequest","ɵɵinject","SalesApiService","factory","ɵfac","providedIn","_PartnerSalesService","WhitelabelService","constructor","api","getBranding","partnerId","marketId","req","GetBrandingRequest","pipe","map","resp","branding","getConfiguration","GetConfigurationRequest","configuration","ɵɵinject","WhitelabelApiService","factory","ɵfac","providedIn","_WhitelabelService","BrandingV2Service","constructor","api","getBranding","partnerId","marketId","req","GetBrandingV2Request","pipe","map","resp","branding","getMultiBranding","requests","GetMultiBrandingV2Request","listBranding","pageSize","cursor","ListBrandingV2Request","pagingOptions","brandings","upsertBranding","mutations","UpsertBrandingV2Request","ɵɵinject","BrandingV2ApiService","factory","ɵfac","providedIn","_BrandingV2Service","CannyService","constructor","api","getSingleSignOn","userId","ɵɵinject","CannyApiService","factory","ɵfac","providedIn","_CannyService","PartnerHealthsService","constructor","api","set","partnerId","state","subState","reason","inRetention","req","SetPartnerHealthRequest","pipe","map","res","status","get","GetPartnerHealthRequest","health","list","pageSize","cursor","ListPartnerHealthRequest","getMulti","partnerIds","GetMultiPartnerHealthRequest","ɵɵinject","PartnerHealthsApiService","factory","ɵfac","providedIn","_PartnerHealthsService","PartnerTrialService","constructor","api","createTrial","partnerId","subscriptionTierId","start","end","req","CreateTrialRequest","pipe","map","res","status","getTrial","GetTrialRequest","r","trial","cancelTrial","trialId","CancelTrialRequest","listTrial","pageSize","cursor","ListTrialRequest","ɵɵinject","PartnerTrialApiService","factory","ɵfac","providedIn","_PartnerTrialService","UserOnboardingService","constructor","api","getWizardStatus","partnerId","userId","request","GetWizardStatusRequest","pipe","map","resp","replaceWizardStatus","activeStep","ReplaceWizardStatusRequest","response","ok","listWizardStatus","pageSize","cursor","ListWizardStatusRequest","paging","wizardStatuses","ɵɵinject","UserOnboardingApiService","factory","ɵfac","providedIn","_UserOnboardingService","RewardsService","constructor","api","addRewardToPartner","partnerId","rewardId","req","AddRewardToPartnerRequest","pipe","map","resp","ok","attemptRewardClaim","AttemptRewardClaimRequest","getReward","GetRewardRequest","reward","isRewardConditionMetForPartner","IsRewardConditionMetForPartnerRequest","rewardConditionsMet","ɵɵinject","RewardsApiService","factory","ɵfac","providedIn","_RewardsService","PartnerAccountGroupService","constructor","api","getPartnerAccountGroupMapping","partnerId","accountGroupId","request","updatePartnerAccountGroup","pipe","map","swapPartnerAccountGroup","withPartnerId","withAccountGroupId","ɵɵinject","PartnerApiService","factory","ɵfac","providedIn","_PartnerAccountGroupService","WelcomeEmailService","constructor","iamApiService","resendPartnerAdminWelcomeEmail","partnerID","userID","usePlatformDefaultDomain","req","partnerId","userId","ɵɵinject","IAMApiService","factory","ɵfac","providedIn","_WelcomeEmailService","LEXICON_FILE_FORMAT_OPTION","LEXICON_TRANSLATE_PORTAL_URL","InjectionToken","LEXICON_COMPONENT_NAME","LEXICON_PARTNER_ID","LEXICON_DISABLE_OTW","LEXICON_BASE_TRANSLATION","LEXICON_ROOT_COMPONENT","LEXICON_FILE_FORMAT","BLOCK_MARKER$1","findEndOfBlock","cooked","raw","cookedIndex","rawIndex","BLOCK_MARKER$1","$localize$1","messageParts","expressions","translation","message","stripBlock","i","BLOCK_MARKER","messagePart","rawMessagePart","findEndOfBlock","$localize$1","environment","hostMap","HostService","t","ɵɵdefineInjectable","GetSupportedLanguagesRequest","_GetSupportedLanguagesRequest","proto","m","kwargs","toReturn","GetSupportedLanguagesResponse","_GetSupportedLanguagesResponse","Language","GetTranslationRequest","_GetTranslationRequest","GetTranslationResponse","_GetTranslationResponse","GetTranslationsRequest","_GetTranslationsRequest","GetTranslationsResponse","_GetTranslationsResponse","InvalidateCacheRequest","_InvalidateCacheRequest","_Language","Statistics","_Statistics","LexiconApiService","http","hostService","HttpHeaders","r","request","map","resp","__spreadProps","__spreadValues","ɵɵinject","HttpClient","convertToFlatJson","localizeTranslations","result","Object","entries","forEach","key","value","text","convertToNestedJson","objectPath","parts","split","target","length","part","shift","isObject","item","Object","Array","isArray","deepMerge","target","sources","filter","source","forEach","entries","key","value","LexiconLoader","constructor","componentNames","baseTranslations","disableOtw","targetFileFormat","partnerService","lexiconApiService","parent","_translations","partnerId$","getPartnerId","pipe","debounceTime","startWith","window","partnerId","of","getTranslation","lang","translations$","deepMerge","switchMap","removeDuplicateComponentNames","length","GetTranslationsResponse","translations","getTranslations","languageCode","map","response","combineLatest","child","augmentWithAngularLocalizeTranslations","shareReplay","components","Array","from","Set","p","filter","c","indexOf","$localize","TRANSLATIONS","LEXICON_FILE_FORMAT_OPTION","XLIFF1","FLAT_JSON","flatJson","convertToFlatJson","NESTED_JSON","nestedJson","convertToNestedJson","ɵɵinject","LEXICON_COMPONENT_NAME","LEXICON_BASE_TRANSLATION","LEXICON_DISABLE_OTW","LEXICON_FILE_FORMAT","PartnerServiceInterfaceToken","LexiconApiService","factory","ɵfac","_LexiconLoader","LexiconMissingTranslationHandler","constructor","baseTranslations","handle","params","baseTranslation","Object","prototype","hasOwnProperty","call","key","parts","split","part","interpolateParams","isInterpolateParams","param","value","entries","replace","RegExp","obj","values","every","ɵɵinject","LEXICON_BASE_TRANSLATION","factory","ɵfac","_LexiconMissingTranslationHandler","LexiconModule","forRoot","config","ngModule","providers","loader","provide","TranslateLoader","useClass","LexiconLoader","useExisting","missingTranslationHandler","MissingTranslationHandler","LexiconMissingTranslationHandler","compiler","TranslateCompiler","TranslateFakeCompiler","parser","TranslateParser","TranslateDefaultParser","TranslateStore","USE_STORE","useValue","USE_DEFAULT_LANG","USE_EXTEND","DEFAULT_LANGUAGE","defaultLanguage","LEXICON_ROOT_COMPONENT","componentName","LEXICON_COMPONENT_NAME","multi","LEXICON_BASE_TRANSLATION","baseTranslation","LEXICON_PARTNER_ID","LEXICON_DISABLE_OTW","disableOtw","window","deployment","undefined","LEXICON_FILE_FORMAT","fileFormat","LEXICON_FILE_FORMAT_OPTION","NESTED_JSON","TranslateService","forChild","TranslateModule","_LexiconModule"],"x_google_ignoreList":[0,1,20,21,22]}