{"version":3,"file":"static/js/application.async.landing~43dd7041.e6dcc78a.chunk.js","mappings":"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","sources":["../../../node_modules/@bingads-webui-campaign-legacy/ad-schedule/viewmodel/date-settings.js","../../../node_modules/@bingads-webui-campaign-legacy/ad-schedule/view/date-settings.js","../../../node_modules/@bingads-webui-campaign-legacy/ad-schedule/viewmodel/index.js","../../../node_modules/@bingads-webui-campaign-legacy/ad-schedule/view/index.js","../../../node_modules/@bingads-webui-campaign-legacy/ad-schedule/viewmodel/options.js","../../../node_modules/@bingads-webui-campaign-legacy/adextension-actionlink/model/language-type-text-mapper.js","../../../node_modules/@bingads-webui-campaign-legacy/adextension-actionlink/model/language-type-translator.js","../../../node_modules/@bingads-webui-campaign-legacy/adextension-actionlink/template/index.js","../../../node_modules/@bingads-webui-campaign-legacy/adextension-actionlink/view/action-type-adapter.js","../../../node_modules/@bingads-webui-campaign-legacy/adextension-actionlink/view/extensionEditor.js","../../../node_modules/@bingads-webui-campaign-legacy/adextension-actionlink/view/associationsEditor.js","../../../node_modules/@bingads-webui-campaign-legacy/adextension-actionlink/view/language-adapter.js","../../../node_modules/@bingads-webui-campaign-legacy/adextension-app/view/extension-editor.js","../../../node_modules/@bingads-webui-campaign-legacy/adextension-app/view/associationsEditor.js","../../../node_modules/@bingads-webui-campaign-legacy/adextension-associations-editor/viewmodel/index.js","../../../node_modules/@bingads-webui-campaign-legacy/adextension-shared/view/error-grid.js","../../../node_modules/@bingads-webui-campaign-legacy/adextension-image/util/image-adextension-helper.js","../../../node_modules/@bingads-webui-campaign-legacy/adextension-associations-editor/view/index.js","../../../node_modules/@bingads-webui-campaign-legacy/adextension-call/viewmodel/call-metering.js","../../../node_modules/@bingads-webui-campaign-legacy/adextension-call/view/call-metering.js","../../../node_modules/@bingads-webui-campaign-legacy/adextension-call/view/extension-editor.js","../../../node_modules/@bingads-webui-campaign-legacy/adextension-call/view/associationsEditor.js","../../../node_modules/@bingads-webui-campaign-legacy/adextension-callout/view/extensionEditor.js","../../../node_modules/@bingads-webui-campaign-legacy/adextension-callout/view/associationsEditor.js","../../../node_modules/@bingads-webui-campaign-legacy/adextension-filter-link/view/associationsEditor.js","../../../node_modules/@bingads-webui-campaign-legacy/adextension-flyer/view/associationsEditor.js","../../../node_modules/@bingads-webui-campaign-legacy/adextension-image/constants.js","../../../node_modules/@bingads-webui-campaign-legacy/adextension-image/service/imageAdExtensionsRepository2.js","../../../node_modules/@bingads-webui-campaign-legacy/adextension-image/service/repository.js","../../../node_modules/@bingads-webui-campaign-legacy/adextension-image/util/dataModelConvert.js","../../../node_modules/@bingads-webui-campaign-legacy/adextension-shared/view/store-hour.js","../../../node_modules/@bingads-webui-campaign-legacy/adextension-location/view/extension-editor.js","../../../node_modules/@bingads-webui-campaign-legacy/adextension-location/view/associationsEditor.js","../../../node_modules/@bingads-webui-campaign-legacy/adextension-price/utility.js","../../../node_modules/@bingads-webui-campaign-legacy/adextension-price/view/tablerow.js","../../../node_modules/@bingads-webui-campaign-legacy/adextension-price/view/tablerows-adapter.js","../../../node_modules/@bingads-webui-campaign-legacy/adextension-price/view/extensionEditor.js","../../../node_modules/@bingads-webui-campaign-legacy/adextension-price/view/associationsEditor.js","../../../node_modules/@bingads-webui-campaign-legacy/adextension-promotion/view/associationsEditor.js","../../../node_modules/@bingads-webui-campaign-legacy/adextension-review/view/extensionEditor.js","../../../node_modules/@bingads-webui-campaign-legacy/adextension-review/view/associationsEditor.js","../../../node_modules/@bingads-webui-campaign-legacy/adextension-shared/imageAspectRatios.js","../../../node_modules/@bingads-webui-campaign-legacy/adextension-shared/service/image-repository.js","../../../node_modules/@bingads-webui-campaign-legacy/adextension-shared/service/repos/campaignAssociationsRequestFactory.js","../../../node_modules/@bingads-webui-campaign-legacy/adextension-shared/service/repos/adgroupAssociationsRequestFactory.js","../../../node_modules/@bingads-webui-campaign-legacy/adextension-shared/service/repos/accountAssociationsRequestFactory.js","../../../node_modules/@bingads-webui-campaign-legacy/adextension-shared/service/repos/associations.js","../../../node_modules/@bingads-webui-campaign-legacy/adextension-shared/service/repos/base.js","../../../node_modules/@bingads-webui-campaign-legacy/adextension-shared/service/repos/extensions.js","../../../node_modules/@bingads-webui-campaign-legacy/adextension-shared/service/repository.js","../../../node_modules/@bingads-webui-campaign-legacy/adextension-shared/util/sharedDataModelConvert.js","../../../node_modules/@bingads-webui-campaign-legacy/adextension-shared/viewmodel/appLookup.js","../../../node_modules/@bingads-webui-campaign-legacy/adextension-shared/view/appLookup.js","../../../node_modules/@bingads-webui-campaign-legacy/adextension-shared/view/extension-editor.js","../../../node_modules/@bingads-webui-campaign-legacy/adextension-shared/viewmodel/scheduling.js","../../../node_modules/@bingads-webui-campaign-legacy/adextension-shared/view/scheduling.js","../../../node_modules/@bingads-webui-campaign-legacy/adextension-shared/viewmodel/adSchedulingOptions.js","../../../node_modules/@bingads-webui-campaign-legacy/adextension-sitelink/view/associationsEditor.js","../../../node_modules/@bingads-webui-campaign-legacy/adextension-sitelink/view/base-sitelink.js","../../../node_modules/@bingads-webui-campaign-legacy/adextension-sitelink/view/extension-editor-2.js","../../../node_modules/@bingads-webui-campaign-legacy/adextension-sitelink/view/extensionEditor.js","../../../node_modules/@bingads-webui-campaign-legacy/adextension-shared/model/multi-lang-i18n.js","../../../node_modules/@bingads-webui-campaign-legacy/adextension-structuredsnippet/model/model.js","../../../node_modules/@bingads-webui-campaign-legacy/adextension-structuredsnippet/model/detect-language.js","../../../node_modules/@bingads-webui-campaign-legacy/adextension-structuredsnippet/model/select-options.js","../../../node_modules/@bingads-webui-campaign-legacy/adextension-structuredsnippet/view/adapt-cxSelect.js","../../../node_modules/@bingads-webui-campaign-legacy/adextension-structuredsnippet/view/adapt-string-list-input.js","../../../node_modules/@bingads-webui-campaign-legacy/adextension-structuredsnippet/view/extensionEditor.js","../../../node_modules/@bingads-webui-campaign-legacy/adextension-structuredsnippet/view/associationsEditor.js","../../../node_modules/@bingads-webui-campaign-legacy/adgroup-create-advanced/connectors/languageLocation.js","../../../node_modules/@bingads-webui-campaign-legacy/adgroup-create-advanced/util/adGroupTypeEnum.js","../../../node_modules/@bingads-webui-campaign-legacy/adgroup-create-advanced/util/bidLessThanFiveCents.js","../../../node_modules/@bingads-webui-campaign-legacy/adgroup-create-advanced/util/showCpgAdGroupType.js","../../../node_modules/@bingads-webui-campaign-legacy/adgroup-create-advanced/view/adgroup-selector-repository.js","../../../node_modules/@bingads-webui-campaign-legacy/adgroup-create-advanced/viewmodel/copy-adgroup-settings.js","../../../node_modules/@bingads-webui-campaign-legacy/adgroup-create-advanced/view/adgroup-selector-proxy.js","../../../node_modules/@bingads-webui-campaign-legacy/adgroup-create-advanced/view/copy-adgroup-settings.js","../../../node_modules/@bingads-webui-campaign-legacy/adgroup-create-advanced/viewmodel/index.js","../../../node_modules/@bingads-webui-campaign-legacy/adgroup-create-advanced/viewmodel/adgroup.js","../../../node_modules/@bingads-webui-campaign-legacy/adgroup-create-advanced/view/steps/settings.js","../../../node_modules/@bingads-webui-campaign-legacy/adgroup-create-advanced/connectors/adgroupKeyword.js","../../../node_modules/@bingads-webui-campaign-legacy/adgroup-create-advanced/connectors/autoTargetBid.js","../../../node_modules/@bingads-webui-campaign-legacy/adgroup-create-advanced/connectors/cpg-bid-option.js","../../../node_modules/@bingads-webui-campaign-legacy/adgroup-create-advanced/connectors/cpgAdGroupTypeInHouse.js","../../../node_modules/@bingads-webui-campaign-legacy/adgroup-create-advanced/connectors/bidstrategy-bidoption.js","../../../node_modules/@bingads-webui-campaign-legacy/adgroup-create-advanced/view/adgroup-targets.js","../../../node_modules/@bingads-webui-campaign-legacy/adgroup-create-advanced/view/index.js","../../../node_modules/@bingads-webui-campaign-legacy/adgroup-create-advanced/viewmodel/mixed-mode-creation.js","../../../node_modules/@bingads-webui-campaign-legacy/adgroup-create-advanced/view/message.js","../../../node_modules/@bingads-webui-campaign-legacy/adgroup-create-advanced/view/mixed-mode-creation.js","../../../node_modules/@bingads-webui-campaign-legacy/adgroup-create-advanced/viewmodel/bid.js","../../../node_modules/@bingads-webui-campaign-legacy/adgroup-create-advanced/view/steps/bid.js","../../../node_modules/@bingads-webui-campaign-legacy/adgroup-create-advanced/viewmodel/search-bid.js","../../../node_modules/@bingads-webui-campaign-legacy/adgroup-create-advanced/view/steps/search-bid.js","../../../node_modules/@bingads-webui-campaign-legacy/adgroup-create-advanced/view/steps/dynamic-require-es6-load.js","../../../node_modules/@bingads-webui-campaign-legacy/adgroup-create-advanced/viewmodel/bidRangeExtension.js","../../../node_modules/@bingads-webui-campaign-legacy/advanced-settings/viewmodel/ad-distribution.js","../../../node_modules/@bingads-webui-campaign-legacy/advanced-settings/view/ad-distribution.js","../../../node_modules/@bingads-webui-campaign-legacy/advanced-settings/viewmodel/ad-rotation.js","../../../node_modules/@bingads-webui-campaign-legacy/advanced-settings/view/ad-rotation.js","../../../node_modules/@bingads-webui-campaign-legacy/advanced-settings/viewmodel/advancedSettings.js","../../../node_modules/@bingads-webui-campaign-legacy/advanced-settings/viewmodel/automated-cta.js","../../../node_modules/@bingads-webui-campaign-legacy/advanced-settings/view/automated-cta.js","../../../node_modules/@bingads-webui-campaign-legacy/advanced-settings/view/advancedSettings.js","../../../node_modules/@bingads-webui-campaign-legacy/advanced-settings/viewmodel/base-exclusion.js","../../../node_modules/@bingads-webui-campaign-legacy/advanced-settings/view/base-exclusion.js","../../../node_modules/@bingads-webui-campaign-legacy/alerts-popup/constants/alertPopupConstants.js","../../../node_modules/@bingads-webui-campaign-legacy/alerts-popup/view/alertsPopup.js","../../../node_modules/@bingads-webui-campaign-legacy/app/urls.js","../../../node_modules/@bingads-webui-campaign-legacy/ad-schedule/template/date-settings.pug","../../../node_modules/@bingads-webui-campaign-legacy/ad-schedule/template/index.pug","../../../node_modules/@bingads-webui-campaign-legacy/adextension-actionlink/template/search-selector-adapter.pug","../../../node_modules/@bingads-webui-campaign-legacy/adextension-actionlink/template/universal-item-template.pug","../../../node_modules/@bingads-webui-campaign-legacy/adextension-app/template/gridRowTemplate.pug","../../../node_modules/@bingads-webui-campaign-legacy/adextension-app/template/preview.pug","../../../node_modules/@bingads-webui-campaign-legacy/adextension-app/template/subtitle.pug","../../../node_modules/@bingads-webui-campaign-legacy/adextension-app/template/warning.pug","../../../node_modules/@bingads-webui-campaign-legacy/adextension-associations-editor/template/layout.pug","../../../node_modules/@bingads-webui-campaign-legacy/adextension-associations-editor/template/terms-of-service.pug","../../../node_modules/@bingads-webui-campaign-legacy/adextension-call/template/call-metering.pug","../../../node_modules/@bingads-webui-campaign-legacy/adextension-call/template/gridRowTemplate.pug","../../../node_modules/@bingads-webui-campaign-legacy/adextension-call/template/load-address-fail.pug","../../../node_modules/@bingads-webui-campaign-legacy/adextension-call/template/preview.pug","../../../node_modules/@bingads-webui-campaign-legacy/adextension-callout/template/extensionPreview.pug","../../../node_modules/@bingads-webui-campaign-legacy/adextension-callout/template/gridRowTemplate.pug","../../../node_modules/@bingads-webui-campaign-legacy/adextension-location/template/gridRowTemplate.pug","../../../node_modules/@bingads-webui-campaign-legacy/adextension-location/template/preview.pug","../../../node_modules/@bingads-webui-campaign-legacy/adextension-price/template/extensionPreview.pug","../../../node_modules/@bingads-webui-campaign-legacy/adextension-price/template/tableRowHeaderTemplate.pug","../../../node_modules/@bingads-webui-campaign-legacy/adextension-price/template/tablerow.pug","../../../node_modules/@bingads-webui-campaign-legacy/adextension-review/template/extensionPreview.pug","../../../node_modules/@bingads-webui-campaign-legacy/adextension-review/template/gridRowTemplate.pug","../../../node_modules/@bingads-webui-campaign-legacy/adextension-shared/template/appLookup.pug","../../../node_modules/@bingads-webui-campaign-legacy/adextension-shared/template/extension-editor.pug","../../../node_modules/@bingads-webui-campaign-legacy/adextension-shared/template/scheduling.pug","../../../node_modules/@bingads-webui-campaign-legacy/adextension-shared/template/store-hour.pug","../../../node_modules/@bingads-webui-campaign-legacy/adextension-sitelink/template/gridRowTemplate.pug","../../../node_modules/@bingads-webui-campaign-legacy/adextension-sitelink/template/preview.pug","../../../node_modules/@bingads-webui-campaign-legacy/adextension-sitelink/template/sitelinkPreview.pug","../../../node_modules/@bingads-webui-campaign-legacy/adextension-structuredsnippet/template/extensionPreview.pug","../../../node_modules/@bingads-webui-campaign-legacy/adextension-structuredsnippet/template/gridRowTemplate.pug","../../../node_modules/@bingads-webui-campaign-legacy/adgroup-create-advanced/template/container.pug","../../../node_modules/@bingads-webui-campaign-legacy/adgroup-create-advanced/template/copy-adgroup-settings.pug","../../../node_modules/@bingads-webui-campaign-legacy/adgroup-create-advanced/template/index.pug","../../../node_modules/@bingads-webui-campaign-legacy/adgroup-create-advanced/template/message.pug","../../../node_modules/@bingads-webui-campaign-legacy/adgroup-create-advanced/template/mixed-mode-creation.pug","../../../node_modules/@bingads-webui-campaign-legacy/adgroup-create-advanced/template/noCampaignPage.pug","../../../node_modules/@bingads-webui-campaign-legacy/adgroup-create-advanced/template/steps/bid.pug","../../../node_modules/@bingads-webui-campaign-legacy/adgroup-create-advanced/template/steps/search-bid.pug","../../../node_modules/@bingads-webui-campaign-legacy/adgroup-create-advanced/template/steps/settings.pug","../../../node_modules/@bingads-webui-campaign-legacy/advanced-settings/template/ad-distribution-spa-spb.pug","../../../node_modules/@bingads-webui-campaign-legacy/advanced-settings/template/ad-distribution-win-store-ads-cpa.pug","../../../node_modules/@bingads-webui-campaign-legacy/advanced-settings/template/ad-distribution.pug","../../../node_modules/@bingads-webui-campaign-legacy/advanced-settings/template/ad-rotation.pug","../../../node_modules/@bingads-webui-campaign-legacy/advanced-settings/template/advancedSettings.pug","../../../node_modules/@bingads-webui-campaign-legacy/advanced-settings/template/automated-cta.pug","../../../node_modules/@bingads-webui-campaign-legacy/advanced-settings/template/base-exclusion.pug","../../../node_modules/@bingads-webui-campaign-legacy/advanced-settings/template/url-options.pug","../../../node_modules/@bingads-webui-campaign-legacy/alerts-popup/template/accountAlertsPopup.pug","../../../node_modules/@bingads-webui-campaign-legacy/alerts-popup/template/managerAccountsPopup.pug"],"sourcesContent":["/* eslint-disable no-param-reassign */\r\nimport ko from 'knockout';\r\nimport _ from 'underscore';\r\nimport pageContext from '@bingads-webui-static-legacy/page-context';\r\n\r\nconst i18n = window.globalLegacyI18n.get('@bingads-webui/i18n-amd-loader!campaignui/campaign-creation-advanced');\r\n\r\nconst defaultDateFormat = 'M/d/yyyy';\r\n\r\nfunction formatDateToAPIFormat(date) {\r\n if (date == null) {\r\n return '';\r\n }\r\n return i18n.formatDate(date, {\r\n raw: defaultDateFormat,\r\n });\r\n}\r\n\r\nfunction parseAPIDate(dateString) {\r\n return i18n.parseDate(dateString.substring(0, 10), { raw: 'yyyy-MM-dd' });\r\n}\r\n\r\nfunction convertDateBetweenTimeZones(date, {\r\n from,\r\n to,\r\n} = {}) {\r\n const dateString = i18n.formatDate(date, {\r\n timeZone: from,\r\n raw: 'yyyy-MM-dd',\r\n });\r\n\r\n return i18n.parseDate(dateString, {\r\n timeZone: to,\r\n raw: 'yyyy-MM-dd',\r\n });\r\n}\r\n\r\nfunction convertMachineDateToAccountDate(date) {\r\n return convertDateBetweenTimeZones(date, { from: null });\r\n}\r\n\r\nfunction convertAccountDateToMachineDate(date) {\r\n return convertDateBetweenTimeZones(date, { to: null });\r\n}\r\n\r\nexport default class ViewModel {\r\n constructor({\r\n startDate = null,\r\n endDate = null,\r\n adGroupStatus = undefined,\r\n activityLogger,\r\n callOnChangeCb = _.identity,\r\n isCreate = undefined,\r\n allowNoEndDateSelection = true,\r\n allowStartDateSelection = true,\r\n allowEndDateSelection = true,\r\n } = {}) {\r\n isCreate = _.isUndefined(isCreate) ? _.isNull(startDate) : isCreate;\r\n //used in datePicker ko binding\r\n this.culture = pageContext.Culture || 'en-US';\r\n this.format = pageContext.CultureDateTimeFormat.ShortDatePattern || defaultDateFormat;\r\n this.datePickerNavigateToFutureAriaLabel = i18n.getString('DatePicker_NavigateToFuture_AriaLabel');\r\n this.datePickerNavigateToPastAriaLabel = i18n.getString('DatePicker_NavigateToPast_AriaLabel');\r\n this.activityLogger = activityLogger;\r\n this.currentDate = convertDateBetweenTimeZones(new Date());\r\n this.rawStartDate = ko.observable(startDate ? parseAPIDate(startDate) : this.currentDate);\r\n this.rawEndDate = ko.observable(endDate ? parseAPIDate(endDate) : convertDateBetweenTimeZones(new Date(new Date().setFullYear(new Date().getFullYear() + 1))));\r\n this.disableNoEndDateSelection = ko.observable(!allowNoEndDateSelection);\r\n this.disableStartDateSelection = ko.observable(!allowStartDateSelection);\r\n this.disableEndDateSelection = ko.observable(!allowEndDateSelection);\r\n\r\n // set start date and end date which will be binded to kendo datePicker\r\n this.startDate = ko.computed({\r\n read: () => {\r\n return _.isDate(this.rawStartDate()) ? convertAccountDateToMachineDate(this.rawStartDate()) : null;\r\n },\r\n write: (value) => {\r\n this.rawStartDate(_.isDate(value) ? convertMachineDateToAccountDate(value) : null);\r\n },\r\n });\r\n\r\n this.startDate.subscribe(() => {\r\n if (activityLogger) {\r\n activityLogger.signal('start date changed', 'ad schedule');\r\n }\r\n callOnChangeCb(this.getRawValues());\r\n });\r\n\r\n this.endDate = ko.computed({\r\n read: () => {\r\n return _.isDate(this.rawEndDate()) ? convertAccountDateToMachineDate(this.rawEndDate()) : null;\r\n },\r\n write: (value) => {\r\n this.rawEndDate(_.isDate(value) ? convertMachineDateToAccountDate(value) : null);\r\n },\r\n });\r\n\r\n this.endDate.subscribe(() => {\r\n if (activityLogger) {\r\n activityLogger.signal('end date changed', 'ad schedule');\r\n }\r\n callOnChangeCb({\r\n ...this.getRawValues(),\r\n hasFixedStartDate: this.hasFixedStartDate,\r\n });\r\n });\r\n\r\n this.hasEndDate = ko.observable(!_.isNull(endDate));\r\n\r\n this.enableEndDateSelection = ko.computed(() => {\r\n return this.hasEndDate() && !this.disableEndDateSelection();\r\n });\r\n\r\n /* Start date is editable in below conditions:\r\n 1. create adgroup so startDate is null\r\n 2. start date is later than current day\r\n 3. adgroup status is Draft\r\n */\r\n this.hasFixedStartDate = this.disableStartDateSelection() || !(isCreate || (this.rawStartDate() > this.currentDate) || adGroupStatus === 'Draft');\r\n this.startDateError = ko.observable('');\r\n this.endDateError = ko.observable('');\r\n\r\n this.hasEndDate.Editing = ko.computed({\r\n read () {\r\n return this.hasEndDate() ? 'true' : 'false';\r\n },\r\n write (newValue) {\r\n if (newValue === 'false') {\r\n this.endDateError('');\r\n } else {\r\n this.validateEndDate(this.endDate());\r\n }\r\n\r\n this.hasEndDate(newValue === 'true');\r\n },\r\n }, this);\r\n\r\n\r\n this.hasEndDate.subscribe((value) => {\r\n if (activityLogger) {\r\n activityLogger.signal(`has end date change: ${value}`, 'ad schedule');\r\n }\r\n callOnChangeCb({\r\n ...this.getRawValues(),\r\n hasFixedStartDate: this.hasFixedStartDate,\r\n });\r\n });\r\n\r\n this.rawStartDate.subscribe(this.validateStartDate, this);\r\n\r\n this.rawEndDate.subscribe(this.validateEndDate, this);\r\n }\r\n\r\n validateStartDate(date) {\r\n //check wether date is valid\r\n if (_.isNull(date)) {\r\n this.startDateError(i18n.getString('Campaign_Validation_StartDateInvalid'));\r\n } else {\r\n // 1. compare date with current date\r\n this.startDateError(date < this.currentDate ? i18n.getString('Campaign_Validation_StartDateGreaterThanToday') : '');\r\n // 2. compare date with end date if has end date\r\n if (this.enableEndDateSelection ) {\r\n this.endDateError(date > this.rawEndDate() ? i18n.getString('Campaign_Validation_EndDateGreaterThanStartDate') : '');\r\n }\r\n }\r\n }\r\n\r\n validateEndDate(date) {\r\n if (_.isNull(date)) {\r\n this.endDateError(i18n.getString('Campaign_Validation_EndDateInvalid'));\r\n } else {\r\n // compare end date with start date\r\n this.endDateError(date < this.rawStartDate() ? i18n.getString('Campaign_Validation_EndDateGreaterThanStartDate') : '');\r\n }\r\n }\r\n\r\n getValues() {\r\n // MT accept date format as 'M/d/yyyy'\r\n\r\n /* API uses current date and '1/1/3000' to unset StartDate & EndDate\r\n See here: https://msdn.microsoft.com/en-us/library/bing-ads-campaign-management-adgroup */\r\n return {\r\n StartDate: formatDateToAPIFormat(this.rawStartDate()),\r\n EndDate: this.hasEndDate() ? formatDateToAPIFormat(this.rawEndDate()) : '1/1/3000',\r\n };\r\n }\r\n\r\n getRawValues() {\r\n return {\r\n StartDate: this.rawStartDate(),\r\n EndDate: this.hasEndDate() ? this.rawEndDate() : null,\r\n };\r\n }\r\n\r\n validate() {\r\n if (this.hasFixedStartDate) {\r\n return _.isEmpty(this.endDateError());\r\n }\r\n\r\n if (_.isNull(this.rawStartDate())) {\r\n this.startDateError(i18n.getString('Campaign_Validation_StartDateInvalid'));\r\n } else {\r\n this.startDateError(this.rawStartDate() < this.currentDate ? i18n.getString('Campaign_Validation_StartDateGreaterThanToday') : '');\r\n }\r\n\r\n if (this.enableEndDateSelection) {\r\n if (_.isNull(this.rawEndDate())) {\r\n this.endDateError(i18n.getString('Campaign_Validation_EndDateInvalid'));\r\n } else {\r\n this.endDateError(this.rawStartDate() > this.rawEndDate() ? i18n.getString('Campaign_Validation_EndDateGreaterThanStartDate') : '');\r\n }\r\n }\r\n\r\n return _.isEmpty(this.startDateError()) && _.isEmpty(this.endDateError());\r\n }\r\n}\r\n","import Backbone from 'backbone';\r\nimport ko from 'knockout';\r\nimport template from '@bingads-webui-campaign-legacy/ad-schedule/template/date-settings.pug';\r\nimport ViewModel from '@bingads-webui-campaign-legacy/ad-schedule/viewmodel/date-settings';\r\nimport '@bingads-webui-component-legacy/datepicker/binding/datePicker';\r\n\r\nconst i18n = window.globalLegacyI18n.get('component/i18n/loader!campaignui/campaign-creation-advanced');\r\n\r\nexport default class View extends Backbone.View {\r\n initialize({\r\n startDate = null,\r\n endDate = null,\r\n adGroupStatus = undefined,\r\n timeZone = 'PacificTimeUSCanadaTijuana',\r\n activityLogger,\r\n callOnChangeCb,\r\n isCreate,\r\n allowNoEndDateSelection = true,\r\n allowStartDateSelection = true,\r\n allowEndDateSelection = true,\r\n } = {}) {\r\n this.viewModel = new ViewModel({\r\n startDate,\r\n endDate,\r\n adGroupStatus,\r\n timeZone,\r\n activityLogger,\r\n callOnChangeCb,\r\n isCreate,\r\n allowNoEndDateSelection,\r\n allowStartDateSelection,\r\n allowEndDateSelection,\r\n });\r\n\r\n this.activityLogger = activityLogger;\r\n return this;\r\n }\r\n\r\n render() {\r\n this.$el.html(template({ i18n }));\r\n ko.applyBindings(this.viewModel, this.el);\r\n\r\n return this;\r\n }\r\n\r\n getValues() {\r\n return this.viewModel.getValues();\r\n }\r\n\r\n validate() {\r\n const isValid = this.viewModel.validate();\r\n\r\n if (!isValid && this.activityLogger) {\r\n this.activityLogger.signal('date setting is not valid', 'ad schedule');\r\n }\r\n\r\n return isValid;\r\n }\r\n}\r\n","/* eslint-disable */\r\nimport _ from 'underscore';\r\nimport ko from 'knockout';\r\nimport * as _preferencesService from '@bingads-webui-component-legacy/preference/service/index';\r\nimport adSchedulingOptions from '@bingads-webui-campaign-legacy/ad-schedule/viewmodel/options';\r\nimport koSchema from '@bingads-webui-component-legacy/ko-schema/index';\r\nimport * as bidAdjustmentUtils from '@bingads-webui-campaign/target-bid-adjustment';\r\nimport pageContext from '@bingads-webui-static-legacy/page-context';\r\nimport decimal from '@bingads-webui-component-legacy/humanize/decimal';\r\nvar i18n = window.globalLegacyI18n.get('component/i18n/loader!campaignui/campaign-creation-advanced');\r\nvar preferencesService = _preferencesService.default || _preferencesService;\r\nvar calculateBidAdjustment = function calculateBidAdjustment(type, amount) {\r\n if ((type == 1 || type == -1) && _.isFinite(amount)) {\r\n return type * amount;\r\n }\r\n return false;\r\n};\r\nvar cloneRange = function cloneRange(range) {\r\n return {\r\n Id: range.Id,\r\n Day: range.Day(),\r\n StartHour: range.StartHour(),\r\n StartMinute: range.StartMinute(),\r\n EndHour: range.EndHour(),\r\n EndMinute: range.EndMinute(),\r\n BidAdjustmentType: _.isUndefined(range.BidAdjustmentType()) ? 1 : range.BidAdjustmentType(),\r\n BidAdjustmentAmount: _.isUndefined(range.BidAdjustmentAmount()) ? 0 : range.BidAdjustmentAmount(),\r\n CashbackPercent: _.isUndefined(range.CashbackPercent()) ? null : range.CashbackPercent()\r\n };\r\n};\r\nvar isDefaultRange = function isDefaultRange(range, supportCashbackSettings) {\r\n var rangeObj = range();\r\n return rangeObj.Day() === 'AllDays' && rangeObj.StartHour() == 0 && rangeObj.StartMinute() === 'ZERO' && rangeObj.EndHour() == 24 && rangeObj.EndMinute() === 'ZERO' && rangeObj.BidAdjustmentAmount() == 0 && (supportCashbackSettings ? rangeObj.CashbackPercent() === '' || rangeObj.CashbackPercent() === null || rangeObj.CashbackPercent() === undefined : true);\r\n};\r\nvar logInteraction = _.once(function () {\r\n if (this.activityLogger) {\r\n this.activityLogger.signal('campaign day time range changed', 'ad schedule');\r\n }\r\n}, this);\r\nvar produceDayTimeObservable = function produceDayTimeObservable(callOnChangeCb, rawRange, isCampaignDayTimeRange) {\r\n var range = _.extend({}, {\r\n Id: '',\r\n Day: 'Sunday',\r\n StartHour: 0,\r\n StartMinute: 'ZERO',\r\n EndHour: 24,\r\n EndMinute: 'ZERO',\r\n BidAdjustmentType: 1,\r\n BidAdjustmentAmount: 0,\r\n CashbackPercent: null\r\n }, rawRange);\r\n var cashbackPercentInheritInfo = bidAdjustmentUtils.getCashbackInheritOptions({\r\n readonly: isCampaignDayTimeRange,\r\n CashbackPercent: range.CashbackPercent,\r\n viewContext: {\r\n currentAdGroup: this.currentAdGroup,\r\n currentCampaign: this.currentCampaign\r\n },\r\n i18n: i18n\r\n });\r\n var dayTime = ko.observable({\r\n Id: '',\r\n Day: ko.observable(range.Day),\r\n StartHour: ko.observable(range.StartHour),\r\n StartMinute: ko.observable(range.StartMinute),\r\n EndHour: ko.observable(range.EndHour),\r\n EndMinute: ko.observable(range.EndMinute),\r\n BidAdjustmentType: ko.observable(range.BidAdjustmentType),\r\n BidAdjustmentAmount: ko.observable(range.BidAdjustmentAmount),\r\n CashbackPercent: ko.observable(range.CashbackPercent),\r\n InheritCashbackPercentValue: ko.observable(cashbackPercentInheritInfo.inheritValue === '-' ? '-' : decimal.fromFloatToString(cashbackPercentInheritInfo.inheritValue, 2)),\r\n CashbackPercentOptions: ko.observable(cashbackPercentInheritInfo.options),\r\n CashbackPercentSelectedOption: ko.observable(cashbackPercentInheritInfo.selected),\r\n CashbackPercentSnapShot: ko.observable(range.CashbackPercent)\r\n });\r\n dayTime().CashbackPercentSelectedOption.subscribe(function (currentSelectedOption) {\r\n if (currentSelectedOption === 'override') {\r\n dayTime().CashbackPercentSnapShot(dayTime().CashbackPercent());\r\n }\r\n }, dayTime(), 'beforeChange');\r\n dayTime().CashbackPercentSelectedOption.subscribe(function (v) {\r\n if (v === 'inherit') {\r\n dayTime().CashbackPercent(null);\r\n } else if (v === 'override') {\r\n dayTime().CashbackPercent(dayTime().CashbackPercentSnapShot());\r\n } else if (v === 'noCashback') {\r\n dayTime().CashbackPercent('0.00');\r\n }\r\n }, dayTime());\r\n dayTime().scheduleInRowError = ko.computed(this.conditionScheduleError, dayTime());\r\n dayTime().isDayTimeEditable = true;\r\n var self = this;\r\n dayTime().Day.subscribe(function () {\r\n logInteraction.call(self);\r\n callOnChangeCb();\r\n });\r\n dayTime().StartHour.subscribe(function () {\r\n logInteraction.call(self);\r\n callOnChangeCb();\r\n });\r\n dayTime().StartMinute.subscribe(function () {\r\n logInteraction.call(self);\r\n callOnChangeCb();\r\n });\r\n dayTime().EndHour.subscribe(function () {\r\n logInteraction.call(self);\r\n callOnChangeCb();\r\n });\r\n dayTime().EndMinute.subscribe(function () {\r\n logInteraction.call(self);\r\n callOnChangeCb();\r\n });\r\n dayTime().BidAdjustmentType.subscribe(function () {\r\n logInteraction.call(self);\r\n callOnChangeCb();\r\n });\r\n dayTime().BidAdjustmentAmount.subscribe(function () {\r\n logInteraction.call(self);\r\n callOnChangeCb();\r\n });\r\n return dayTime;\r\n};\r\nvar convertDayTimeRanges = function convertDayTimeRanges(ranges, ignoreDefaultRange, supportCashbackSettings) {\r\n var res = [], daysMondayToFriday = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday'], daysAllDays = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];\r\n _.each(ranges, function (range) {\r\n if (isDefaultRange(range, supportCashbackSettings) && ignoreDefaultRange) {\r\n return;\r\n } else if (range().Day() === 'AllDays') {\r\n _.each(daysAllDays, function (day) {\r\n res.push(_.extend(cloneRange(range()), {\r\n Day: day\r\n }));\r\n });\r\n } else if (range().Day() === 'MondayToFriday') {\r\n _.each(daysMondayToFriday, function (day) {\r\n res.push(_.extend(cloneRange(range()), {\r\n Day: day\r\n }));\r\n });\r\n } else {\r\n res.push(cloneRange(range()));\r\n }\r\n });\r\n return res;\r\n};\r\nvar ViewModel = function ViewModel(model, level, campaignDayTimeRanges, isForVNext, activityLogger, supportCashbackSettings, currentCampaign, currentAdGroup, hideAdScheduleBidAdjustments = false, readOnlyTimeZone = false, hideWarning, hideUseCampaignSetting = false, callOnChangeCb = _.identity) {\r\n this.model = model;\r\n this.isForVNext = ko.observable(isForVNext);\r\n this.activityLogger = activityLogger;\r\n this.currentAdGroup = currentAdGroup || pageContext.CurrentAdGroup;\r\n this.currentCampaign = currentCampaign || pageContext.CurrentCampaign;\r\n this.callOnChangeCb = callOnChangeCb;\r\n this.supportCashbackSettings = ko.observable(!!supportCashbackSettings);\r\n this.hideUseCampaignSetting = ko.observable(hideUseCampaignSetting);\r\n this.hideAdScheduleBidAdjustments = ko.observable(hideAdScheduleBidAdjustments || false);\r\n this.readOnlyTimeZone = ko.observable(readOnlyTimeZone || false);\r\n this.showWarning = ko.computed(function () {\r\n return !hideWarning && !this.hideAdScheduleBidAdjustments();\r\n }, this);\r\n koSchema.properties(this);\r\n this.timeDisplayType = ko.observable('12-hour');\r\n preferencesService.initialize().then((function () {\r\n var preference = preferencesService.findByName('WebApp.CampaignUI.isTwelveHourDisplay');\r\n var isTwelveHourDisplay = preference && preference.Data;\r\n this.timeDisplayType(_.isUndefined(isTwelveHourDisplay) || isTwelveHourDisplay ? '12-hour' : '24-hour');\r\n }).bind(this));\r\n this.timeDisplayTypeEdit = ko.computed({\r\n read: function () {\r\n return this.timeDisplayType();\r\n },\r\n write: function (value) {\r\n this.timeDisplayType(value);\r\n preferencesService.setAtUserLevel({\r\n Name: 'WebApp.CampaignUI.isTwelveHourDisplay',\r\n Data: value === '12-hour'\r\n });\r\n callOnChangeCb();\r\n }\r\n }, this);\r\n var _dayOptions = adSchedulingOptions.dayOptions;\r\n var _hourOptions = adSchedulingOptions.hourOptions;\r\n _.each(_hourOptions, function (hourOption) {\r\n hourOption.twentyFourHourDisplay = hourOption.val < 10 ? '0' + hourOption.val : hourOption.val.toString();\r\n hourOption.optionsText = ko.computed(function () {\r\n return this.timeDisplayType() === '12-hour' ? hourOption.twelveHourDisplay : hourOption.twentyFourHourDisplay;\r\n }, this);\r\n }, this);\r\n var _minuteOptions = adSchedulingOptions.minuteOptions;\r\n var _bidAdjustmentOptions = adSchedulingOptions.bidAdjustmentOptions;\r\n var _bidAdjustmentRange = adSchedulingOptions.bidAdjustmentRange;\r\n var _minuteToSaveMap = adSchedulingOptions.minuteToSaveMap;\r\n var getMinuteOfTheDay = function (hour, minute) {\r\n return hour * 60 + _minuteToSaveMap[minute];\r\n };\r\n var isDateOverlap = function (dt1, dt2) {\r\n if (dt1.Day !== dt2.Day) {\r\n return false;\r\n }\r\n var startTime1 = getMinuteOfTheDay(dt1.StartHour, dt1.StartMinute);\r\n var endTime1 = getMinuteOfTheDay(dt1.EndHour, dt1.EndMinute);\r\n var startTime2 = getMinuteOfTheDay(dt2.StartHour, dt2.StartMinute);\r\n var endTime2 = getMinuteOfTheDay(dt2.EndHour, dt2.EndMinute);\r\n return !(startTime1 >= endTime2 || endTime1 <= startTime2);\r\n };\r\n var hourSettingIsValid = function (startHour, startMinute, endHour, endMinute) {\r\n return startHour < endHour || startHour === endHour && _minuteToSaveMap[startMinute] < _minuteToSaveMap[endMinute];\r\n };\r\n var self = this;\r\n this.conditionScheduleError = function () {\r\n if (this.EndHour() === 24 && this.EndMinute() !== 'ZERO') {\r\n return adSchedulingOptions.errors.endTimeBeyondEOD;\r\n }\r\n if (!hourSettingIsValid(this.StartHour(), this.StartMinute(), this.EndHour(), this.EndMinute())) {\r\n return adSchedulingOptions.errors.startTimeEarlierThanEndTime;\r\n }\r\n var bidAdjustValue = this.BidAdjustmentAmount();\r\n var bidAdjustment = calculateBidAdjustment(this.BidAdjustmentType(), bidAdjustValue);\r\n if (bidAdjustment && (bidAdjustment > _bidAdjustmentRange.maxBid || bidAdjustment < _bidAdjustmentRange.minBid)) {\r\n return adSchedulingOptions.errors.bidExceedLimitation;\r\n }\r\n if (_.size(bidAdjustValue.toString()) === 0) {\r\n return adSchedulingOptions.errors.bidEmpty;\r\n }\r\n if (!_.isFinite(bidAdjustValue) || parseInt(bidAdjustValue) !== Number(bidAdjustValue)) {\r\n return adSchedulingOptions.errors.bidIncorrectFormat;\r\n }\r\n var cashbackPercent = this.CashbackPercent();\r\n if (self.supportCashbackSettings() && !bidAdjustmentUtils.isCashbackPercentValid(cashbackPercent, decimal)) {\r\n return {\r\n message: bidAdjustmentUtils.getCashbackPercentValidationError(cashbackPercent, i18n, decimal),\r\n type: 'ERROR_CASHBACK_PERCENT'\r\n };\r\n }\r\n return '';\r\n };\r\n this.conditionDayTimeEditable = function () {\r\n return !_.isFinite(this.Id);\r\n };\r\n this.level = ko.observable(level === 'adgroup' ? level : 'campaign');\r\n this.useCampaignSettingsChecked = ko.observable(!this.hideUseCampaignSetting());\r\n this.useCampaignSettings = ko.computed(function () {\r\n return !this.hideAdScheduleBidAdjustments() && (this.level() === 'adgroup' && this.useCampaignSettingsChecked());\r\n }, this);\r\n this.showAdGroupOverrideInformation = ko.observable(false);\r\n this.dayOptions = ko.observableArray(_dayOptions);\r\n this.fromHourOptions = ko.observableArray(_hourOptions.slice(0, 24));\r\n this.toHourOptions = ko.observableArray(_hourOptions);\r\n this.minuteOptions = ko.observableArray(_minuteOptions);\r\n this.bidAdjustmentOptions = ko.observableArray(_bidAdjustmentOptions);\r\n this.dayTimeRanges = ko.observableArray([]);\r\n this.campaignDayTimeRanges = ko.observableArray([]);\r\n if (_.isEmpty(campaignDayTimeRanges)) {\r\n this.campaignDayTimeRanges([produceDayTimeObservable.call(this, callOnChangeCb, {\r\n Day: 'AllDays'\r\n }, true)]);\r\n } else {\r\n this.campaignDayTimeRanges(_.map(campaignDayTimeRanges, (function (range) {\r\n return produceDayTimeObservable.call(this, callOnChangeCb, range, true);\r\n }).bind(this)));\r\n }\r\n this.update(this.model);\r\n this.schedulingRowsErrorMessage = ko.computed(function () {\r\n var ranges = convertDayTimeRanges(this.dayTimeRanges(), false, this.supportCashbackSettings());\r\n var dayCounters = {\r\n 'Sunday': 0,\r\n 'Monday': 0,\r\n 'Tuesday': 0,\r\n 'Wednesday': 0,\r\n 'Thursday': 0,\r\n 'Friday': 0,\r\n 'Saturday': 0\r\n };\r\n for (var i = 0, len = ranges.length; i < len; i++) {\r\n var curDt = ranges[i];\r\n if (++dayCounters[curDt.Day] > 7) {\r\n return i18n.get('ImprovedAdScheduling_CannotHaveMoreThanSevenPerDay');\r\n }\r\n for (var j = i + 1; j < len; j++) {\r\n var otherDt = ranges[j];\r\n if (isDateOverlap(curDt, otherDt)) {\r\n return i18n.get('ImprovedAdScheduling_Overlapping_Schedule');\r\n }\r\n }\r\n }\r\n return '';\r\n }, this).extend({\r\n notify: 'always'\r\n });\r\n this.schedulingRowsErrorMessage.subscribe(() => {\r\n callOnChangeCb();\r\n });\r\n this.hasErrors = ko.computed(function () {\r\n var isValid = true;\r\n if (this.hideAdScheduleBidAdjustments()) {\r\n isValid = isValid && _.isEmpty(this.errors());\r\n return !isValid;\r\n }\r\n this.dayTimeRanges().forEach(function (range) {\r\n if (!_.isEmpty(range().scheduleInRowError())) {\r\n isValid = false;\r\n }\r\n });\r\n isValid = isValid && _.isEmpty(this.schedulingRowsErrorMessage()) && _.isEmpty(this.errors());\r\n return !isValid;\r\n }, this);\r\n this.onRemovingSchedulingRow = function (index) {\r\n this.dayTimeRanges.splice(index, 1);\r\n };\r\n this.addTimeRow = function () {\r\n this.dayTimeRanges.push(produceDayTimeObservable.apply(this, [callOnChangeCb]));\r\n };\r\n this.timeZoneText = this.model.timeZoneText;\r\n this.adScheduleUseSearcherTimeZone = ko.observable(this.useCampaignSettings() ? !!this.model.campaignAdScheduleUseSearcherTimeZone : this.model.adScheduleUseSearcherTimeZone);\r\n this.adScheduleUseSearcherTimeZoneEdit = ko.computed({\r\n read: function () {\r\n return this.adScheduleUseSearcherTimeZone().toString();\r\n },\r\n write: function (value) {\r\n this.adScheduleUseSearcherTimeZone(value === 'true');\r\n callOnChangeCb();\r\n }\r\n }, this);\r\n this.disableAdScheduleTimeZoneEdit = ko.computed(function () {\r\n return this.useCampaignSettings() || this.readOnlyTimeZone();\r\n }, this);\r\n};\r\nViewModel.prototype.validate = function () {\r\n var isValid = true;\r\n if (this.hideAdScheduleBidAdjustments()) {\r\n return isValid;\r\n }\r\n this.dayTimeRanges().forEach(function (range) {\r\n if (!_.isEmpty(range().scheduleInRowError())) {\r\n isValid = false;\r\n }\r\n });\r\n isValid = isValid && _.isEmpty(this.schedulingRowsErrorMessage());\r\n if (!isValid && this.activityLogger) {\r\n this.activityLogger.signal('schedule is not valid', 'ad schedule');\r\n }\r\n return isValid;\r\n};\r\nViewModel.prototype.getCriterions = function () {\r\n var _minuteToSaveMap = adSchedulingOptions.minuteToSaveMap;\r\n var dayTimeRanges = convertDayTimeRanges(this.dayTimeRanges(), this.level() === 'campaign', this.supportCashbackSettings());\r\n var self = this;\r\n return _.map(this.useCampaignSettings() ? [] : dayTimeRanges, function (range) {\r\n return {\r\n CashbackPercent: self.supportCashbackSettings() ? bidAdjustmentUtils.getRealCashbackPercentValue(range.CashbackPercent, decimal) : undefined,\r\n BidAdjustment: calculateBidAdjustment(range.BidAdjustmentType, range.BidAdjustmentAmount),\r\n DayTimeCriterion: {\r\n Id: range.Id,\r\n Day: range.Day,\r\n FromHour: range.StartHour,\r\n FromMinute: _minuteToSaveMap[range.StartMinute],\r\n ToHour: range.EndHour,\r\n ToMinute: _minuteToSaveMap[range.EndMinute]\r\n },\r\n Type: 'DayTime'\r\n };\r\n });\r\n};\r\nViewModel.prototype.getDeletedItems = function () {\r\n var _minuteToSaveMap = adSchedulingOptions.minuteToSaveMap, currentIds = [], deletedItems = [];\r\n _.each(this.dayTimeRanges(), function (range) {\r\n var currentId = range().Id;\r\n if (_.isFinite(currentId)) {\r\n currentIds.push(currentId);\r\n }\r\n });\r\n _.each(this.model.dayTimeRanges, function (range) {\r\n if (_.isFinite(range.Id) && _.indexOf(currentIds, range.Id) == -1) {\r\n deletedItems.push(range);\r\n }\r\n });\r\n var self = this;\r\n return _.map(deletedItems, function (item) {\r\n return {\r\n BidAdjustment: calculateBidAdjustment(item.BidAdjustmentType, item.BidAdjustmentAmount),\r\n CashbackPercent: self.supportCashbackSettings() ? bidAdjustmentUtils.getRealCashbackPercentValue(item.CashbackPercent, decimal) : undefined,\r\n DayTimeCriterion: {\r\n Id: item.Id,\r\n Day: item.Day,\r\n FromHour: item.StartHour,\r\n FromMinute: _minuteToSaveMap[item.StartMinute],\r\n ToHour: item.EndHour,\r\n ToMinute: _minuteToSaveMap[item.EndMinute]\r\n },\r\n Type: 'DayTime'\r\n };\r\n });\r\n};\r\nViewModel.prototype.update = function (model) {\r\n this.model = _.extend(this.model, model);\r\n if (_.isEmpty(this.model.dayTimeRanges)) {\r\n this.dayTimeRanges([produceDayTimeObservable.call(this, this.callOnChangeCb, {\r\n Day: 'AllDays'\r\n })]);\r\n } else {\r\n this.useCampaignSettingsChecked(false);\r\n this.dayTimeRanges(_.map(model.dayTimeRanges, (function (range) {\r\n return produceDayTimeObservable.call(this, this.callOnChangeCb, range);\r\n }).bind(this)));\r\n }\r\n};\r\nViewModel.prototype.getConvertedDayTimeRanges = function (ignoreDefaultRange) {\r\n return convertDayTimeRanges(this.dayTimeRanges(), ignoreDefaultRange, this.supportCashbackSettings());\r\n};\r\nViewModel.prototype.resetCashbackInheritStatus = function (inheritInfo) {\r\n var dayTimeRanges = this.dayTimeRanges();\r\n var campaignDayTimeRanges = this.campaignDayTimeRanges();\r\n var self = this;\r\n if (inheritInfo != null) {\r\n var newInheritCashbackPercent = inheritInfo.value;\r\n var newInheritLevel = inheritInfo.level;\r\n if (newInheritLevel === 'AdGroup') {\r\n self.currentAdGroup = _.extend({}, self.currentAdGroup, {\r\n AdGroupCashback: _.extend({}, self.currentAdGroup ? self.currentAdGroup.AdGroupCashback : {}, {\r\n Percent: newInheritCashbackPercent\r\n })\r\n });\r\n } else if (newInheritLevel === 'Campaign') {\r\n self.currentCampaign = _.extend({}, self.currentCampaign, {\r\n CampaignCashback: _.extend({}, self.currentCampaign ? self.currentCampaign.CampaignCashback : {}, {\r\n Percent: newInheritCashbackPercent\r\n })\r\n });\r\n }\r\n }\r\n _.forEach(dayTimeRanges, function (range) {\r\n var cashbackPercentInheritInfo = bidAdjustmentUtils.getCashbackInheritOptions({\r\n readonly: false,\r\n CashbackPercent: range.CashbackPercent,\r\n viewContext: {\r\n currentAdGroup: self.currentAdGroup,\r\n currentCampaign: self.currentCampaign\r\n },\r\n i18n: i18n\r\n });\r\n var newInheritValue = cashbackPercentInheritInfo.inheritValue === '-' ? '-' : decimal.fromFloatToString(cashbackPercentInheritInfo.inheritValue, 2);\r\n range().InheritCashbackPercentValue(newInheritValue);\r\n range().CashbackPercentOptions(cashbackPercentInheritInfo.options);\r\n });\r\n _.forEach(campaignDayTimeRanges, function (range) {\r\n var cashbackPercentInheritInfo = bidAdjustmentUtils.getCashbackInheritOptions({\r\n readonly: true,\r\n CashbackPercent: range.CashbackPercent,\r\n viewContext: {\r\n currentAdGroup: self.currentAdGroup,\r\n currentCampaign: self.currentCampaign\r\n },\r\n i18n: i18n\r\n });\r\n var newInheritValue = cashbackPercentInheritInfo.inheritValue === '-' ? '-' : decimal.fromFloatToString(cashbackPercentInheritInfo.inheritValue, 2);\r\n range().InheritCashbackPercentValue(newInheritValue);\r\n range().CashbackPercentOptions(cashbackPercentInheritInfo.options);\r\n });\r\n};\r\nexport default ViewModel;\r\n\r\n","import $ from 'jquery';\r\nimport _ from 'underscore';\r\nimport Backbone from 'backbone';\r\nimport ko from 'knockout';\r\nimport template from '@bingads-webui-campaign-legacy/ad-schedule/template/index.pug';\r\nimport ViewModel from '@bingads-webui-campaign-legacy/ad-schedule/viewmodel/index';\r\nimport DateSettings from '@bingads-webui-campaign-legacy/ad-schedule/view/date-settings';\r\nimport adSchedulingOptions from '@bingads-webui-campaign-legacy/ad-schedule/viewmodel/options';\r\nimport ToggleView from '@bingads-webui-component-legacy/toggle/view/index';\r\nimport config from '@bingads-webui-component-legacy/config/index';\r\nimport timeZoneMapper from '@bingads-webui-component-legacy/timezonemapper/index';\r\nimport { isCampaignApiError } from '@bingads-webui-component-legacy/api-errors-campaign/index';\r\nimport { getRealCashbackPercentValue } from '@bingads-webui-campaign/target-bid-adjustment';\r\nimport pageContext from '@bingads-webui-static-legacy/page-context';\r\n\r\nconst i18n = window.globalLegacyI18n.get('component/i18n/loader!campaignui/campaign-creation-advanced');\r\n\r\nconst defaultOptions = {\r\n template,\r\n showDateSettings: true,\r\n fromSettingsGrid: false,\r\n showBidAdjustmentColumn: true,\r\n showDisplayTimeAndFooter: true,\r\n hideWarning: false,\r\n hideUseCampaignSetting: false,\r\n hideMinuteOptions: false,\r\n};\r\n\r\nconst defaultPopupIds = {\r\n AdSchedule: 'pop_BA_Targeting_DayTime',\r\n BidAdjustment: 'Page_TargetByDayTime_BidAdjustment',\r\n TimeZone: 'pop_BA_Targeting_TimeZone',\r\n};\r\n\r\nconst defaulti18nKeys = {\r\n Warning: 'TargetingSettings_AdSchedule_Warning',\r\n};\r\n\r\nexport default class View extends Backbone.View {\r\n initialize(options = {}) {\r\n const isMSANBoostEnabled = pageContext.Permissions.IsAmplifyEnabled;\r\n\r\n this.options = _.defaults(options, defaultOptions);\r\n this.model.timeZoneText = timeZoneMapper.getAccountTimeZoneText();\r\n this.model.adScheduleUseSearcherTimeZone = _.isBoolean(this.model.adScheduleUseSearcherTimeZone) ?\r\n this.model.adScheduleUseSearcherTimeZone : false;\r\n this.model.adScheduleTimeZoneSetting = this.model.adScheduleTimeZoneSetting || 0;\r\n this.model.campaignAdScheduleUseSearcherTimeZone = _.isBoolean(this.options.campaignAdScheduleUseSearcherTimeZone) ?\r\n this.options.campaignAdScheduleUseSearcherTimeZone : false;\r\n this.supportCashbackSettings = !!options.supportCashbackSettings && !pageContext.Permissions.IsPersonalizedOffersV3Enabled;\r\n this.isHideBidAdjustmentForBoostEnabled = isMSANBoostEnabled && pageContext.Permissions.dynamic && pageContext.Permissions.dynamic.HideBidAdjustmentForBoost;\r\n this.popupIds = _.defaults({}, options.popupIds, defaultPopupIds);\r\n this.i18nKeys = _.defaults({}, options.i18nKeys, defaulti18nKeys);\r\n\r\n this.koModel = new ViewModel(\r\n this.model,\r\n this.options.level,\r\n this.options.campaignDayTimeRanges,\r\n this.options.isForVNext,\r\n this.options.activityLogger,\r\n this.supportCashbackSettings,\r\n options.currentCampaign,\r\n options.currentAdGroup,\r\n options.hideAdScheduleBidAdjustments,\r\n options.readOnlyTimeZone,\r\n this.options.hideWarning,\r\n this.options.hideUseCampaignSetting,\r\n _.bind(this.callOnChangeCb, this),\r\n );\r\n\r\n if (this.options.showDateSettings) {\r\n this.dateSettings = new DateSettings(_.extend(\r\n {\r\n activityLogger: options.activityLogger,\r\n callOnChangeCb: _.bind(this.callOnChangeCb, this),\r\n },\r\n _.pick(this.model, 'startDate', 'endDate', 'adGroupStatus', 'timeZone'),\r\n ));\r\n }\r\n\r\n this.toggleView = new ToggleView({\r\n toggleText: {\r\n // #TOGGLEBUG These keys were missing in the old system\r\n // In the new i18n system, On/Off text unexpectedly appears in the UI\r\n on: undefined, // i18n.getString('Toggle_On'),\r\n off: undefined, // i18n.getString('Toggle_Off'),\r\n },\r\n labelledbyId: 'ad-schedule-use-campaign-settings',\r\n });\r\n this.toggleView.setToggleState(this.koModel.useCampaignSettingsChecked() ? 'on' : 'off');\r\n this.listenTo(this.toggleView, 'change', (toggleState) => {\r\n this.koModel.useCampaignSettingsChecked(toggleState === 'on');\r\n }, this);\r\n\r\n this.koModel.useCampaignSettings.subscribe((checked) => {\r\n if (!checked && _.isEmpty(this.model.dayTimeRanges) && !_.isEmpty(this.options.campaignDayTimeRanges)) {\r\n this.koModel.update({\r\n dayTimeRanges: this.options.campaignDayTimeRanges,\r\n });\r\n }\r\n this.koModel.showAdGroupOverrideInformation(false);\r\n this.koModel.adScheduleUseSearcherTimeZone(checked ? this.model.campaignAdScheduleUseSearcherTimeZone : this.model.adScheduleUseSearcherTimeZone);\r\n this.callOnChangeCb();\r\n }, this);\r\n\r\n this.koModel.showAdGroupOverrideInformation(this.options.fromSettingsGrid && this.koModel.useCampaignSettings());\r\n\r\n this.koModel.dayTimeRanges.subscribe(() => {\r\n this.callOnChangeCb();\r\n });\r\n }\r\n\r\n toggleCashbackPercentColumns(supportCashbackSettings, inheritInfo) {\r\n this.koModel.supportCashbackSettings(supportCashbackSettings && !pageContext.Permissions.IsPersonalizedOffersV3Enabled);\r\n this.koModel.resetCashbackInheritStatus(inheritInfo);\r\n }\r\n\r\n render() {\r\n const { showBidAdjustmentColumn, showDisplayTimeAndFooter, hideMinuteOptions } = this.options;\r\n\r\n this.$el.html(this.options.template({\r\n percentSymbol: config.get('globalization.number.percentSymbol'),\r\n i18n,\r\n i18nKeys: this.i18nKeys,\r\n showDateSettings: this.options.showDateSettings,\r\n showBidAdjustmentColumn: showBidAdjustmentColumn && !this.isHideBidAdjustmentForBoostEnabled,\r\n hideMinuteOptions,\r\n showDisplayTimeAndFooter,\r\n popupIds: this.popupIds,\r\n }));\r\n\r\n ko.applyBindings(this.koModel, this.el);\r\n\r\n if (this.options.showDateSettings) {\r\n this.$('.date-settings__container').append(this.dateSettings.render().el);\r\n }\r\n\r\n this.toggleView.render();\r\n this.$('.toggle-campaign-settings-switch').append(this.toggleView.el);\r\n\r\n return this;\r\n }\r\n\r\n log(mes) {\r\n if (this.options.activityLogger) {\r\n this.options.activityLogger.signal(mes, 'ad schedule');\r\n }\r\n }\r\n\r\n get events() {\r\n return {\r\n 'click .add-time-row': 'addTimeRow',\r\n 'click .remove-all-row': 'removeAllRows',\r\n 'click .remove-schedule': 'removeRow',\r\n };\r\n }\r\n\r\n addTimeRow() {\r\n this.koModel.addTimeRow();\r\n this.log('add schedule row clicked');\r\n }\r\n\r\n removeAllRows() {\r\n this.koModel.dayTimeRanges([]);\r\n this.log('remove all schedule rows clicked');\r\n }\r\n\r\n removeRow(event) {\r\n const index = parseInt($(event.target).attr('data-index'));\r\n\r\n this.koModel.onRemovingSchedulingRow(index);\r\n\r\n // needed by feeds\r\n event.stopImmediatePropagation();\r\n this.log('remove a schedule row clicked');\r\n }\r\n\r\n callOnChangeCb() {\r\n if (_.isFunction(this.options.onChange)) {\r\n this.options.onChange(this.getValues(this.options.deleteCb), this.validate());\r\n }\r\n }\r\n\r\n getValues(deleteCb) {\r\n let\r\n deletedItems = this.getDeletedItems(),\r\n items = this.getCriterions(),\r\n excluded = [];\r\n\r\n if (_.isFunction(deleteCb)) {\r\n deleteCb(deletedItems);\r\n }\r\n\r\n _.each(deletedItems, (deletedItem) => {\r\n _.each(items, (item) => {\r\n if (_.isEqual(_.omit(item.Criterion.DayTimeCriterion, 'Id'), _.omit(deletedItem.Criterion.DayTimeCriterion, 'Id'))) {\r\n const isBidAdjustmentUnchanged = item.Criterion.BidAdjustment === deletedItem.Criterion.BidAdjustment;\r\n const isCashbackPercentUnchanged = this.supportCashbackSettings ?\r\n getRealCashbackPercentValue(item.Criterion.CashbackPercent) === getRealCashbackPercentValue(deletedItem.Criterion.CashbackPercent) :\r\n true;\r\n\r\n if (isBidAdjustmentUnchanged && isCashbackPercentUnchanged) {\r\n excluded.push(item, deletedItem);\r\n } else {\r\n item.Id = deletedItem.Id;\r\n excluded.push(deletedItem);\r\n }\r\n }\r\n });\r\n });\r\n\r\n return _.difference(items.concat(deletedItems), excluded);\r\n }\r\n\r\n getCriterions() {\r\n const criterions = this.koModel.getCriterions();\r\n\r\n return this.formatCriterions(criterions);\r\n }\r\n\r\n getDateSettings() {\r\n return this.options.showDateSettings ? this.dateSettings.getValues() : {};\r\n }\r\n\r\n getDeletedItems() {\r\n let criterions = this.koModel.getDeletedItems();\r\n\r\n return this.formatCriterions(criterions);\r\n }\r\n\r\n getPropertyValidationErrors() {\r\n const dayTimeRanges = this.koModel.dayTimeRanges();\r\n const scheduleRowErrors = dayTimeRanges.map((range) => {\r\n const error = range().scheduleInRowError();\r\n\r\n return error ? error.message : null;\r\n }).filter((err) => err != null && err !== '');\r\n\r\n const dateErrors = [this.dateSettings.viewModel.startDateError(), this.dateSettings.viewModel.endDateError()]\r\n .filter((err) => err != null && err !== '');\r\n\r\n return {\r\n scheduleRow: scheduleRowErrors,\r\n date: dateErrors,\r\n };\r\n }\r\n\r\n validate() {\r\n return _.reduce([\r\n this.koModel.validate(),\r\n this.options.showDateSettings ? this.dateSettings.validate() : true,\r\n ], (memo, val) => {\r\n return memo && val;\r\n }, true);\r\n }\r\n\r\n getAdScheduleUseSearcherTimeZone() {\r\n return this.koModel.adScheduleUseSearcherTimeZone();\r\n }\r\n\r\n backFillItems(response) {\r\n //back fill the created items\r\n const criterions = response.entity.AdGroupCriterions ?\r\n response.entity.AdGroupCriterions :\r\n response.entity.CampaignCriterions;\r\n const deletedIds = _.chain(criterions)\r\n .where({\r\n CriterionType: 'DayTime',\r\n Status: 'Deleted',\r\n })\r\n .map((criterion) => {\r\n return criterion.Id;\r\n })\r\n .value();\r\n let added = _.chain(criterions)\r\n .filter((criterion) => {\r\n return criterion.CriterionType === 'DayTime' && criterion.Status !== 'Deleted';\r\n })\r\n .map((criterion) => {\r\n return {\r\n Id: criterion.Id,\r\n Day: criterion.Criterion.DayTimeCriterion.Day,\r\n StartHour: criterion.Criterion.DayTimeCriterion.FromHour,\r\n EndHour: criterion.Criterion.DayTimeCriterion.ToHour,\r\n StartMinute: adSchedulingOptions.minuteToReadMap[criterion.Criterion.DayTimeCriterion.FromMinute],\r\n EndMinute: adSchedulingOptions.minuteToReadMap[criterion.Criterion.DayTimeCriterion.ToMinute],\r\n BidAdjustmentType: criterion.Criterion.BidAdjustment >= 0 ? 1 : -1,\r\n BidAdjustmentAmount: window.Math.abs(criterion.Criterion.BidAdjustment),\r\n };\r\n })\r\n .value();\r\n\r\n // clone original model\r\n const originModel = $.extend(true, {}, this.koModel.model);\r\n\r\n // Ad group will change model.dayTimeRanges before updating to the MT, backfill the ids.\r\n if (response.entity.AdGroupCriterions) {\r\n _.each(originModel.dayTimeRanges, (r) => {\r\n const found = _.find(added, (range) => {\r\n const rangeWithoutId = { ...range };\r\n\r\n delete rangeWithoutId.Id;\r\n // should miss only the Id\r\n return _.isMatch(r, rangeWithoutId) && !_.isMatch(r, range);\r\n });\r\n\r\n if (found) {\r\n r.Id = found.Id;\r\n }\r\n });\r\n }\r\n\r\n added = _.filter(added, (range) => !_.find(originModel.dayTimeRanges, (r) => {\r\n return _.isMatch(r, range);\r\n }));\r\n\r\n let dayTimeRanges = _.filter(originModel.dayTimeRanges.concat(added), (range) => {\r\n return _.indexOf(deletedIds, range.Id.toString()) === -1;\r\n });\r\n\r\n const model = { dayTimeRanges };\r\n\r\n this.koModel.update(model);\r\n\r\n return criterions;\r\n }\r\n\r\n handleErrors(response) {\r\n const criterions = this.backFillItems(response);\r\n const schedulingEntities = _.where(criterions, { CriterionType: 'DayTime' });\r\n let schedulingErrors = [];\r\n\r\n _.each(schedulingEntities, (schedulingEntity) => {\r\n if (schedulingEntity.errors) {\r\n schedulingErrors = schedulingErrors.concat(schedulingEntity.errors);\r\n }\r\n });\r\n\r\n this.koModel.errors.add(schedulingErrors);\r\n\r\n response.errors = _.filter(response.errors, (error) => {\r\n return error.Type.indexOf('Day Time Criterion') === -1;\r\n });\r\n\r\n return response.errors;\r\n }\r\n\r\n clearApiErrors() {\r\n this.koModel.errors.clear(isCampaignApiError);\r\n }\r\n\r\n formatCriterions(criterions) {\r\n return _.map(criterions, (criterion) => {\r\n return {\r\n Criterion: criterion,\r\n CriterionType: 'DayTime',\r\n Id: criterion.DayTimeCriterion.Id,\r\n };\r\n });\r\n }\r\n\r\n remove(...args) {\r\n if (this.toggleView) {\r\n this.toggleView.remove();\r\n }\r\n super.remove(...args);\r\n }\r\n}\r\n","/* eslint-disable */\r\nimport _ from 'underscore';\r\nvar i18n = window.globalLegacyI18n.get('component/i18n/loader!campaignui/campaign-creation-advanced');\r\nvar dayOptions = [{\r\n val: 'AllDays',\r\n name: i18n.get('Globalization_Day_All_Days')\r\n}, {\r\n val: 'Sunday',\r\n name: i18n.get('Globalization_Day_Sunday')\r\n}, {\r\n val: 'Monday',\r\n name: i18n.get('Globalization_Day_Monday')\r\n}, {\r\n val: 'Tuesday',\r\n name: i18n.get('Globalization_Day_Tuesday')\r\n}, {\r\n val: 'Wednesday',\r\n name: i18n.get('Globalization_Day_Wednesday')\r\n}, {\r\n val: 'Thursday',\r\n name: i18n.get('Globalization_Day_Thursday')\r\n}, {\r\n val: 'Friday',\r\n name: i18n.get('Globalization_Day_Friday')\r\n}, {\r\n val: 'Saturday',\r\n name: i18n.get('Globalization_Day_Saturday')\r\n}, {\r\n val: 'MondayToFriday',\r\n name: i18n.get('Globalization_Day_Monday_To_Friday')\r\n}];\r\nvar hourOptions = [{\r\n val: 0,\r\n twelveHourDisplay: i18n.get('Globalization_Time_12AM_Start_Of_Day')\r\n}, {\r\n val: 1,\r\n twelveHourDisplay: i18n.get('Globalization_Time_1AM')\r\n}, {\r\n val: 2,\r\n twelveHourDisplay: i18n.get('Globalization_Time_2AM')\r\n}, {\r\n val: 3,\r\n twelveHourDisplay: i18n.get('Globalization_Time_3AM')\r\n}, {\r\n val: 4,\r\n twelveHourDisplay: i18n.get('Globalization_Time_4AM')\r\n}, {\r\n val: 5,\r\n twelveHourDisplay: i18n.get('Globalization_Time_5AM')\r\n}, {\r\n val: 6,\r\n twelveHourDisplay: i18n.get('Globalization_Time_6AM')\r\n}, {\r\n val: 7,\r\n twelveHourDisplay: i18n.get('Globalization_Time_7AM')\r\n}, {\r\n val: 8,\r\n twelveHourDisplay: i18n.get('Globalization_Time_8AM')\r\n}, {\r\n val: 9,\r\n twelveHourDisplay: i18n.get('Globalization_Time_9AM')\r\n}, {\r\n val: 10,\r\n twelveHourDisplay: i18n.get('Globalization_Time_10AM')\r\n}, {\r\n val: 11,\r\n twelveHourDisplay: i18n.get('Globalization_Time_11AM')\r\n}, {\r\n val: 12,\r\n twelveHourDisplay: i18n.get('Globalization_Time_12PM')\r\n}, {\r\n val: 13,\r\n twelveHourDisplay: i18n.get('Globalization_Time_1PM')\r\n}, {\r\n val: 14,\r\n twelveHourDisplay: i18n.get('Globalization_Time_2PM')\r\n}, {\r\n val: 15,\r\n twelveHourDisplay: i18n.get('Globalization_Time_3PM')\r\n}, {\r\n val: 16,\r\n twelveHourDisplay: i18n.get('Globalization_Time_4PM')\r\n}, {\r\n val: 17,\r\n twelveHourDisplay: i18n.get('Globalization_Time_5PM')\r\n}, {\r\n val: 18,\r\n twelveHourDisplay: i18n.get('Globalization_Time_6PM')\r\n}, {\r\n val: 19,\r\n twelveHourDisplay: i18n.get('Globalization_Time_7PM')\r\n}, {\r\n val: 20,\r\n twelveHourDisplay: i18n.get('Globalization_Time_8PM')\r\n}, {\r\n val: 21,\r\n twelveHourDisplay: i18n.get('Globalization_Time_9PM')\r\n}, {\r\n val: 22,\r\n twelveHourDisplay: i18n.get('Globalization_Time_10PM')\r\n}, {\r\n val: 23,\r\n twelveHourDisplay: i18n.get('Globalization_Time_11PM')\r\n}, {\r\n val: 24,\r\n twelveHourDisplay: i18n.get('Globalization_Time_12AM_End_Of_Day')\r\n}];\r\nvar minuteOptions = [{\r\n index: 0,\r\n minuteName: '00',\r\n val: 'ZERO'\r\n}, {\r\n index: 1,\r\n minuteName: '15',\r\n val: 'FIFTEEN'\r\n}, {\r\n index: 2,\r\n minuteName: '30',\r\n val: 'THIRTY'\r\n}, {\r\n index: 3,\r\n minuteName: '45',\r\n val: 'FORTY_FIVE'\r\n}];\r\nvar minuteOptionsMap = {\r\n 0: minuteOptions[0],\r\n 15: minuteOptions[1],\r\n 30: minuteOptions[2],\r\n 45: minuteOptions[3]\r\n};\r\nvar bidAdjustmentOptions = [{\r\n val: -1,\r\n text: i18n.get('BidAdjustment_DecreaseText')\r\n}, {\r\n val: 1,\r\n text: i18n.get('BidAdjustment_IncreaseText')\r\n}];\r\nvar bidAdjustmentRange = {\r\n minBid: -90,\r\n maxBid: 900\r\n};\r\nvar minuteToSaveMap = {\r\n ZERO: 0,\r\n FIFTEEN: 15,\r\n THIRTY: 30,\r\n FORTY_FIVE: 45\r\n};\r\nvar minuteToReadMap = _.invert(minuteToSaveMap);\r\nvar errors = {\r\n endTimeBeyondEOD: {\r\n message: i18n.get('ImprovedAdScheduling_End_Time_Beyond_EOD'),\r\n type: 'ERROR_TIME'\r\n },\r\n startTimeEarlierThanEndTime: {\r\n message: i18n.get('ImprovedAdScheduling_Start_Time_Later_Than_End_Time'),\r\n type: 'ERROR_TIME'\r\n },\r\n bidExceedLimitation: {\r\n message: i18n.get('Row_Error_InvalidBidAdjustment').replace('{0}', bidAdjustmentRange.minBid * -1).replace('{1}', bidAdjustmentRange.maxBid),\r\n type: 'ERROR_BID'\r\n },\r\n bidEmpty: {\r\n message: i18n.get('AdvancedTargeting_Error_BidValueMustNotBeEmpty'),\r\n type: 'ERROR_BID'\r\n },\r\n bidIncorrectFormat: {\r\n message: i18n.get('AdvancedTargeting_Error_BidValueMustBeDecimal'),\r\n type: 'ERROR_BID'\r\n }\r\n};\r\nexport default {\r\n dayOptions: dayOptions,\r\n hourOptions: hourOptions,\r\n minuteOptions: minuteOptions,\r\n minuteOptionsMap: minuteOptionsMap,\r\n bidAdjustmentRange: bidAdjustmentRange,\r\n bidAdjustmentOptions: bidAdjustmentOptions,\r\n minuteToSaveMap: minuteToSaveMap,\r\n minuteToReadMap: minuteToReadMap,\r\n errors: errors\r\n};\r\n\r\n","import _ from 'underscore';\r\nimport { originalActionTextMapper, newActionTextMapper } from '@bingads-webui-campaign-legacy/adextension-actionlink/model/language-type-translator';\r\nimport config from '@bingads-webui-component-legacy/config/index';\r\nimport { globalizationModelSetup } from '@bingads-webui-campaign/ads-globalization';\r\n\r\nconst BoostSupportedLanguages = [\r\n 'Arabic',\r\n 'Catalan',\r\n 'Czech',\r\n 'Danish',\r\n 'Dutch',\r\n 'English',\r\n 'Finnish',\r\n 'French',\r\n 'Gaelic',\r\n 'German',\r\n 'Greek',\r\n 'Hebrew',\r\n 'Hindi',\r\n 'Hungarian',\r\n 'Indonesian',\r\n 'Italian',\r\n 'Japanese',\r\n 'Korean',\r\n 'Norwegian',\r\n 'Polish',\r\n 'Portuguese',\r\n 'Romanian',\r\n 'Russian',\r\n 'SimplifiedChinese',\r\n 'Slovak',\r\n 'Spanish',\r\n 'Swedish',\r\n 'Thai',\r\n 'TraditionalChinese',\r\n 'Turkish',\r\n 'Ukrainian',\r\n 'Vietnamese',\r\n 'Afrikaans',\r\n 'Albanian',\r\n 'Amharic',\r\n 'Armenian',\r\n 'Assamese',\r\n 'Azerbaijani',\r\n 'Basque',\r\n 'Bengali',\r\n 'Cambodian',\r\n 'Estonian',\r\n 'Galician',\r\n 'Georgian',\r\n 'Gujarati',\r\n 'Kannada',\r\n 'Kazakh',\r\n 'Laotian',\r\n 'Malay',\r\n 'Malayalam',\r\n 'Maori',\r\n 'Marathi',\r\n 'Nepali',\r\n 'Oriya',\r\n 'Persian',\r\n 'Punjabi',\r\n 'Quechua',\r\n 'Tamil',\r\n 'Telugu',\r\n 'Urdu',\r\n 'Uzbek',\r\n 'Welsh',\r\n 'Bulgarian',\r\n 'Bosnian',\r\n 'Croatian',\r\n 'Icelandic',\r\n 'Lithuanian',\r\n 'Latvian',\r\n 'Macedonian',\r\n 'Maltese',\r\n 'Slovenian',\r\n 'Tagalog',\r\n];\r\n\r\nconst permissions = config.get('permissions');\r\n\r\nconst pickLanguages = (languages, languageMap, newHeadersMap) =>\r\n _.object(_.chain(languages)\r\n // eslint-disable-next-line\r\n .reduce((memo, languages) => {\r\n const outMemo = memo;\r\n\r\n let current = languageMap[languages];\r\n\r\n if (permissions && permissions.IsNewActionAdextensionHeadersEnabled) {\r\n current = Object.assign(current, newHeadersMap[languages]);\r\n }\r\n outMemo[languages] = current;\r\n return outMemo;\r\n }, {})\r\n .pairs()\r\n .value());\r\n\r\nlet {\r\n LANGUAGES: enabledLanguageList,\r\n} = globalizationModelSetup({\r\n permissions,\r\n culture: config.get('culture'),\r\n});\r\n\r\n// Only for Boost(Amplify enabled account), we support more languages for CTA\r\nif (permissions && permissions.IsAmplifyEnabled) {\r\n enabledLanguageList = _.union(enabledLanguageList, BoostSupportedLanguages);\r\n\r\n enabledLanguageList.sort();\r\n}\r\n\r\nconst actionTextMapper = pickLanguages(enabledLanguageList, originalActionTextMapper, newActionTextMapper);\r\n\r\nconst actionTypeMapper = { // may remove some action type\r\n Browse: 'LearnMore',\r\n VisitSite: 'LearnMore',\r\n ViewNow: 'LearnMore',\r\n Explore: 'LearnMore',\r\n SeeMore: 'LearnMore',\r\n StartFree: 'FreeTrial',\r\n NewCars: 'ViewCars',\r\n UsedCars: 'ViewCars',\r\n Message: 'ContactUs',\r\n};\r\n\r\nexport function mapActionType(actionType) { // mapper action type and\r\n return _.result(actionTypeMapper, actionType, actionType);\r\n}\r\n\r\nexport function getActionText(item) {\r\n if (_.isUndefined(item)) {\r\n return '';\r\n }\r\n const { Language, ActionType } = item;\r\n\r\n const actionType = mapActionType(ActionType);\r\n\r\n return _.chain(actionTextMapper).result(Language).result(actionType).value(); // will fallback to default if mapped action type not exist\r\n}\r\n\r\nexport function getActionType(item) {\r\n if (_.isUndefined(item)) {\r\n return '';\r\n }\r\n const { Language, text } = item;\r\n\r\n return _.chain(actionTextMapper).result(Language).invert().result(text).value();\r\n}\r\n\r\nexport function getActionTypeTextMapper(item) {\r\n if (_.isUndefined(item)) {\r\n return {};\r\n }\r\n const { Language, reserveActionType } = item;\r\n const actionType = mapActionType(reserveActionType);\r\n let mapper = _.omit(actionTextMapper[Language] || {}, _.keys(actionTypeMapper)); // omit mapped action type\r\n\r\n if (permissions && permissions.IsDomesticSimplifiedChineseEnabled) {\r\n mapper = _.omit(mapper || {}, _.keys({\r\n BetNow: 'BetNow',\r\n Donate: 'Donate'})); // omit betNow and Donate for china market pilot account\r\n }\r\n\r\n const reserveValue = mapper[actionType];\r\n const ret = _.invert(_.extend({}, mapper));\r\n\r\n ret[reserveValue] = actionType;\r\n\r\n return _.invert(ret);\r\n}\r\n\r\nexport function getLanguages() {\r\n return _.keys(actionTextMapper);\r\n}\r\n\r\nexport function getDefaultActionType(item) {\r\n if (_.isUndefined(item)) {\r\n return '';\r\n }\r\n const { Language } = item;\r\n\r\n const actionType = _.chain(actionTextMapper)\r\n .result(Language)\r\n .keys()\r\n .sortBy()\r\n .first()\r\n .value();\r\n\r\n return mapActionType(actionType);\r\n}\r\n","export const originalActionTextMapper = {\r\n 'English': {\r\n 'CustomText': 'Custom Text',\r\n 'WatchNow': 'Watch Now',\r\n 'WatchMore': 'Watch More',\r\n 'Watch': 'Watch',\r\n 'VoteNow': 'Vote Now',\r\n 'ViewPlans': 'View Plans',\r\n 'ViewNow': 'View Now',\r\n 'ViewCars': 'View Cars',\r\n 'TryNow': 'Try Now',\r\n 'TestDrive': 'Test Drive',\r\n 'Subscribe': 'Subscribe',\r\n 'StartNow': 'Start Now',\r\n 'SignUp': 'Sign Up',\r\n 'SignIn': 'Sign In',\r\n 'Showtimes': 'Showtimes',\r\n 'ShopNow': 'Shop Now',\r\n 'SellNow': 'Sell Now',\r\n 'SeeOffer': 'See Offer',\r\n 'SeeMenu': 'See Menu',\r\n 'Schedule': 'Schedule',\r\n 'SaveNow': 'Save Now',\r\n 'Sale': 'See Sale',\r\n 'Reserve': 'Reserve',\r\n 'RentNow': 'Rent Now',\r\n 'RentACar': 'Rent A Car',\r\n 'Register': 'Register',\r\n 'PostJob': 'Post Job',\r\n 'PlayNow': 'Play Now',\r\n 'PlayGame': 'Play Game',\r\n 'OrderNow': 'Order Now',\r\n 'LogIn': 'Log In',\r\n 'ListenNow': 'Listen Now',\r\n 'LearnMore': 'Learn More',\r\n 'JoinNow': 'Join Now',\r\n 'GetQuote': 'Get Quote',\r\n 'GetOffer': 'Get Offer',\r\n 'GetDeals': 'Get Deals',\r\n 'FreeTrial': 'Free Trial',\r\n 'FreeQuote': 'Free Quote',\r\n 'FreePlay': 'Free Play',\r\n 'FindJob': 'Find Job',\r\n 'FileNow': 'File Now',\r\n 'EnrollNow': 'Enroll Now',\r\n 'EmailNow': 'Email Now',\r\n 'Download': 'Download',\r\n 'Donate': 'Donate',\r\n 'Coupon': 'Get Coupon',\r\n 'ContactUs': 'Contact Us',\r\n 'Compare': 'Compare',\r\n 'ChatNow': 'Chat Now',\r\n 'BuyNow': 'Buy Now',\r\n 'BookNow': 'Book Now',\r\n 'BookHotel': 'Book Hotel',\r\n 'BookACar': 'Book A Car',\r\n 'BidNow': 'Bid Now',\r\n 'BetNow': 'Bet Now',\r\n 'ApplyNow': 'Apply Now',\r\n 'ActNow': 'Act Now',\r\n 'Directions': 'Directions',\r\n 'FindStore': 'Find Store',\r\n 'SwitchNow': 'Switch Now',\r\n 'VisitStore': 'Visit Store',\r\n 'RenewNow': 'Renew Now',\r\n 'Reorder': 'Reorder',\r\n 'Browse': 'Browse',\r\n 'VisitSite': 'Visit Site',\r\n 'Explore': 'Explore',\r\n 'SeeMore': 'See More',\r\n 'StartFree': 'Start Free',\r\n 'NewCars': 'New Cars',\r\n 'UsedCars': 'Used Cars',\r\n 'Message': 'Message',\r\n },\r\n 'Danish': {\r\n 'CustomText': 'Brugerdefineret tekst',\r\n 'WatchNow': 'Se nu',\r\n 'WatchMore': 'Se mere',\r\n 'Watch': 'Se',\r\n 'VoteNow': 'Stem nu',\r\n 'ViewPlans': 'Vis planer',\r\n 'ViewCars': 'Se biler',\r\n 'TryNow': 'Prøv nu',\r\n 'TestDrive': 'Prøvetur',\r\n 'Subscribe': 'Abonner',\r\n 'StartNow': 'Start nu',\r\n 'SignUp': 'Tilmeld dig',\r\n 'SignIn': 'Log på',\r\n 'Showtimes': 'Spilletider',\r\n 'ShopNow': 'Shop nu',\r\n 'SellNow': 'Sælg nu',\r\n 'SeeOffer': 'Se tilbud',\r\n 'SeeMenu': 'Se menu',\r\n 'Schedule': 'Spilleplan',\r\n 'SaveNow': 'Gem nu',\r\n 'Sale': 'Se udsalg',\r\n 'Reserve': 'Reservér',\r\n 'RentNow': 'Lej nu',\r\n 'RentACar': 'Lej en bil',\r\n 'Register': 'Registrer',\r\n 'PostJob': 'Opslå job',\r\n 'PlayNow': 'Spil nu',\r\n 'PlayGame': 'Spil spil',\r\n 'OrderNow': 'Bestil nu',\r\n 'LogIn': 'Log på',\r\n 'ListenNow': 'Lyt nu',\r\n 'LearnMore': 'Få mere at vide',\r\n 'JoinNow': 'Deltag nu',\r\n 'GetQuote': 'Få et tilbud',\r\n 'GetOffer': 'Få tilbud',\r\n 'GetDeals': 'Få tilbud',\r\n 'FreeTrial': 'Gratis prøve',\r\n 'FreeQuote': 'Gratis tilbud',\r\n 'FreePlay': 'Gratis spil',\r\n 'FindJob': 'Find job',\r\n 'FileNow': 'Anmeld nu',\r\n 'EnrollNow': 'Tilmeld dig nu',\r\n 'EmailNow': 'Send e-mail nu',\r\n 'Download': 'Download',\r\n 'Donate': 'Doner',\r\n 'Coupon': 'Få kupon',\r\n 'ContactUs': 'Kontakt os',\r\n 'Compare': 'Sammenlign nu',\r\n 'ChatNow': 'Chat nu',\r\n 'BuyNow': 'Køb nu',\r\n 'BookNow': 'Reservér nu',\r\n 'BookHotel': 'Bestil hotel',\r\n 'BookACar': 'Reservér en bil',\r\n 'BidNow': 'Byd nu',\r\n 'BetNow': 'Spil nu',\r\n 'ApplyNow': 'Ansøg nu',\r\n 'ActNow': 'Handl nu',\r\n 'Directions': 'Rutevejledning',\r\n 'FindStore': 'Find butik',\r\n 'SwitchNow': 'Skift nu',\r\n 'VisitStore': 'Besøg butik',\r\n 'RenewNow': 'Forny ny',\r\n 'Reorder': 'Bestil igen',\r\n },\r\n 'German': {\r\n 'CustomText': 'Benutzerdefinierter Text',\r\n 'WatchNow': 'Jetzt ansehen',\r\n 'WatchMore': 'Weitere ansehen',\r\n 'Watch': 'Ansehen',\r\n 'VoteNow': 'Jetzt abstimmen',\r\n 'ViewPlans': 'Pläne anzeigen',\r\n 'ViewCars': 'Autos anzeigen',\r\n 'TryNow': 'Jetzt testen',\r\n 'TestDrive': 'Testfahrt',\r\n 'Subscribe': 'Abonnieren',\r\n 'StartNow': 'Jetzt starten',\r\n 'SignUp': 'Registrieren',\r\n 'SignIn': 'Anmelden',\r\n 'Showtimes': 'Vorstellungen',\r\n 'ShopNow': 'Jetzt einkaufen',\r\n 'SellNow': 'Jetzt verkaufen',\r\n 'SeeOffer': 'Angebot anzeigen',\r\n 'SeeMenu': 'Menü anzeigen',\r\n 'Schedule': 'Zeitplan',\r\n 'SaveNow': 'Jetzt speichern',\r\n 'Sale': 'Sale anzeigen',\r\n 'Reserve': 'Reservieren',\r\n 'RentNow': 'Jetzt mieten',\r\n 'RentACar': 'Auto mieten',\r\n 'Register': 'Registrieren',\r\n 'PostJob': 'Job posten',\r\n 'PlayNow': 'Jetzt spielen',\r\n 'PlayGame': 'Spiel spielen',\r\n 'OrderNow': 'Jetzt bestellen',\r\n 'LogIn': 'Anmelden',\r\n 'ListenNow': 'Jetzt anhören',\r\n 'LearnMore': 'Mehr Info',\r\n 'JoinNow': 'Jetzt beitreten',\r\n 'GetQuote': 'Angebot',\r\n 'GetOffer': 'Angebot',\r\n 'GetDeals': 'Angebote',\r\n 'FindJob': 'Job suchen',\r\n 'FileNow': 'Einreichen',\r\n 'EnrollNow': 'Registrieren',\r\n 'EmailNow': 'E-Mail senden',\r\n 'Download': 'Download',\r\n 'Donate': 'Spenden',\r\n 'Coupon': 'Gutschein holen',\r\n 'ContactUs': 'Kontaktieren',\r\n 'Compare': 'Vergleichen',\r\n 'ChatNow': 'Jetzt chatten',\r\n 'BuyNow': 'Jetzt kaufen',\r\n 'BookNow': 'Jetzt buchen',\r\n 'BookHotel': 'Hotel buchen',\r\n 'BookACar': 'Auto buchen',\r\n 'BidNow': 'Jetzt bieten',\r\n 'BetNow': 'Jetzt wetten',\r\n 'ApplyNow': 'Jetzt bewerben',\r\n 'ActNow': 'Jetzt handeln',\r\n 'Directions': 'Wegbeschreibung',\r\n 'FindStore': 'Shop suchen',\r\n 'SwitchNow': 'Jetzt wechseln',\r\n 'VisitStore': 'Shop besuchen',\r\n 'RenewNow': 'Jetzt verlängern',\r\n 'Reorder': 'Neu bestellen',\r\n },\r\n 'Spanish': {\r\n 'CustomText': 'Texto personalizado',\r\n 'WatchNow': 'Ver ahora',\r\n 'WatchMore': 'Ver más',\r\n 'Watch': 'Ver',\r\n 'VoteNow': 'Votar ahora',\r\n 'ViewPlans': 'Ver planes',\r\n 'ViewCars': 'Ver coches',\r\n 'TryNow': 'Probar ahora',\r\n 'TestDrive': 'Probar coche',\r\n 'Subscribe': 'Suscribirse',\r\n 'StartNow': 'Iniciar ahora',\r\n 'SignUp': 'Registrarse',\r\n 'SignIn': 'Iniciar sesión',\r\n 'Showtimes': 'Horarios',\r\n 'ShopNow': 'Comprar ahora',\r\n 'SellNow': 'Vender ahora',\r\n 'SeeOffer': 'Ver oferta',\r\n 'SeeMenu': 'Ver menú',\r\n 'Schedule': 'Programación',\r\n 'SaveNow': 'Guardar ahora',\r\n 'Sale': 'Ver oferta',\r\n 'Reserve': 'Reservar',\r\n 'RentNow': 'Alquilar ahora',\r\n 'RentACar': 'Alquilar coche',\r\n 'Register': 'Registro',\r\n 'PostJob': 'Publicar anuncio',\r\n 'PlayNow': 'Jugar ahora',\r\n 'PlayGame': 'Jugar juego',\r\n 'OrderNow': 'Pedir ahora',\r\n 'LogIn': 'Iniciar sesión',\r\n 'ListenNow': 'Escuchar ahora',\r\n 'LearnMore': 'Más información',\r\n 'JoinNow': 'Unirse ahora',\r\n 'GetQuote': 'Obtener oferta',\r\n 'GetOffer': 'Obtener oferta',\r\n 'GetDeals': 'Obtener ofertas',\r\n 'FreeTrial': 'Jugar ahora',\r\n 'FreeQuote': 'Presupuesto',\r\n 'FreePlay': 'Jugar gratis',\r\n 'FindJob': 'Buscar trabajo',\r\n 'FileNow': 'Archivar ahora',\r\n 'EnrollNow': 'Inscribirse',\r\n 'EmailNow': 'Enviar correo',\r\n 'Download': 'Descargar',\r\n 'Donate': 'Donar',\r\n 'Coupon': 'Obtener cupón',\r\n 'ContactUs': 'Contáctanos',\r\n 'Compare': 'Comparar',\r\n 'ChatNow': 'Chat ahora',\r\n 'BuyNow': 'Comprar ahora',\r\n 'BookNow': 'Reservar ahora',\r\n 'BookHotel': 'Reservar hotel',\r\n 'BookACar': 'Reservar coche',\r\n 'BidNow': 'Pujar ahora',\r\n 'BetNow': 'Apostar ahora',\r\n 'ApplyNow': 'Aplicar ahora',\r\n 'ActNow': 'Actuar ahora',\r\n 'Directions': 'Indicaciones',\r\n 'FindStore': 'Buscar tienda',\r\n 'SwitchNow': 'Cambiar ahora',\r\n 'VisitStore': 'Visitar tienda',\r\n 'RenewNow': 'Renovar ahora',\r\n 'Reorder': 'Repetir pedido',\r\n },\r\n 'Finnish': {\r\n 'CustomText': 'Mukautettu teksti',\r\n 'WatchNow': 'Katso nyt',\r\n 'WatchMore': 'Katso lisää',\r\n 'Watch': 'Katso',\r\n 'VoteNow': 'Äänestä nyt',\r\n 'ViewPlans': 'Suunnitelmat',\r\n 'ViewCars': 'Näytä autot',\r\n 'TryNow': 'Kokeile nyt',\r\n 'TestDrive': 'Koeajo',\r\n 'Subscribe': 'Tilaa',\r\n 'StartNow': 'Aloita nyt',\r\n 'SignUp': 'Rekisteröidy',\r\n 'SignIn': 'Kirjaudu sisään',\r\n 'Showtimes': 'Esitysajat',\r\n 'ShopNow': 'Osta nyt',\r\n 'SellNow': 'Myy nyt',\r\n 'SeeOffer': 'Näytä tarjous',\r\n 'SeeMenu': 'Näytä valikko',\r\n 'Schedule': 'Aikataulu',\r\n 'SaveNow': 'Tallenna nyt',\r\n 'Sale': 'Katso tarjous',\r\n 'Reserve': 'Varaa',\r\n 'RentNow': 'Vuokraa nyt',\r\n 'RentACar': 'Vuokraa auto',\r\n 'Register': 'Rekisteröi',\r\n 'PostJob': 'Lähetä työ',\r\n 'PlayNow': 'Toista nyt',\r\n 'PlayGame': 'Pelaa peli',\r\n 'OrderNow': 'Tilaa nyt',\r\n 'LogIn': 'Kirjaudu sisään',\r\n 'ListenNow': 'Kuuntele nyt',\r\n 'LearnMore': 'Lue lisää',\r\n 'JoinNow': 'Liity nyt',\r\n 'GetQuote': 'Hae tarjous',\r\n 'GetOffer': 'Hae tarjous',\r\n 'GetDeals': 'Hae sopimuksia',\r\n 'FreeTrial': 'Ilmaiskokeilu',\r\n 'FreeQuote': 'Ilmaistarjous',\r\n 'FreePlay': 'Ilmainen peli',\r\n 'FindJob': 'Etsi työpaikka',\r\n 'FileNow': 'Hae nyt',\r\n 'EnrollNow': 'Ilmoittaudu nyt',\r\n 'EmailNow': 'Sähköpostita',\r\n 'Download': 'Lataa',\r\n 'Donate': 'Lahjoita',\r\n 'Coupon': 'Hanki kuponki',\r\n 'ContactUs': 'Ota yhteyttä',\r\n 'Compare': 'Vertaa',\r\n 'ChatNow': 'Keskustele nyt',\r\n 'BuyNow': 'Osta nyt',\r\n 'BookNow': 'Varaa nyt',\r\n 'BookHotel': 'Varaa hotelli',\r\n 'BookACar': 'Varaa auto',\r\n 'BidNow': 'Tarjoa nyt',\r\n 'BetNow': 'Veikkaa nyt',\r\n 'ApplyNow': 'Käytä nyt',\r\n 'ActNow': 'Toimi nyt',\r\n 'Directions': 'Reittiohjeet',\r\n 'FindStore': 'Etsi kauppa',\r\n 'SwitchNow': 'Vaihda nyt',\r\n 'VisitStore': 'Siirry kauppaan',\r\n 'RenewNow': 'Uusi nyt',\r\n 'Reorder': 'Tilaa uudelleen',\r\n },\r\n 'French': {\r\n 'CustomText': 'Texte personnalisé',\r\n 'WatchNow': 'Regarder',\r\n 'WatchMore': 'Regarder plus',\r\n 'Watch': 'Regarder',\r\n 'VoteNow': 'Voter',\r\n 'ViewPlans': 'Afficher plans',\r\n 'TryNow': 'Essayer',\r\n 'Subscribe': 'S’abonner',\r\n 'StartNow': 'Démarrer',\r\n 'SignUp': 'S’inscrire',\r\n 'SignIn': 'Connexion',\r\n 'Showtimes': 'Horaires',\r\n 'ShopNow': 'Acheter',\r\n 'SellNow': 'Vendre',\r\n 'SeeOffer': 'Voir l’offre',\r\n 'SeeMenu': 'Voir le menu',\r\n 'Schedule': 'Planifier',\r\n 'SaveNow': 'Enregistrer',\r\n 'Sale': 'Voir l’offre',\r\n 'Reserve': 'Réserver',\r\n 'RentNow': 'Louer',\r\n 'RentACar': 'Louer voiture',\r\n 'Register': 'S’inscrire',\r\n 'PostJob': 'Publier emploi',\r\n 'PlayNow': 'Lire',\r\n 'PlayGame': 'Jouer',\r\n 'OrderNow': 'Commander',\r\n 'LogIn': 'Connexion',\r\n 'ListenNow': 'Écouter',\r\n 'LearnMore': 'En savoir plus',\r\n 'JoinNow': 'Rejoindre',\r\n 'GetQuote': 'Obtenir devis',\r\n 'GetOffer': 'Obtenir offre',\r\n 'GetDeals': 'Obtenir offres',\r\n 'FreeTrial': 'Essai gratuit',\r\n 'FreeQuote': 'Devis gratuit',\r\n 'FreePlay': 'Jeu gratuit',\r\n 'FindJob': 'Trouver emploi',\r\n 'FileNow': 'Ranger',\r\n 'EnrollNow': 'S’inscrire',\r\n 'EmailNow': 'Envoyer e-mail',\r\n 'Download': 'Télécharger',\r\n 'Donate': 'Faire un don',\r\n 'Coupon': 'Obtenir un bon',\r\n 'ContactUs': 'Nous contacter',\r\n 'Compare': 'Comparer',\r\n 'ChatNow': 'Discuter',\r\n 'BuyNow': 'Acheter',\r\n 'BookNow': 'Réserver',\r\n 'BookHotel': 'Réserver hôtel',\r\n 'BookACar': 'Réserver voiture',\r\n 'BidNow': 'Faire une offre',\r\n 'BetNow': 'Parier',\r\n 'ApplyNow': 'Appliquer',\r\n 'ActNow': 'Allez-y',\r\n 'Directions': 'Itinéraires',\r\n 'SwitchNow': 'Changer',\r\n 'RenewNow': 'Renouveler',\r\n 'Reorder': 'Recommander',\r\n },\r\n 'Italian': {\r\n 'CustomText': 'Testo personalizzato',\r\n 'WatchNow': 'Guarda ora',\r\n 'WatchMore': 'Guarda altro',\r\n 'Watch': 'Guarda',\r\n 'VoteNow': 'Vota ora',\r\n 'ViewPlans': 'Vedi piani',\r\n 'ViewCars': 'Visualizza auto',\r\n 'TryNow': 'Prova ora',\r\n 'TestDrive': 'Prova su strada',\r\n 'Subscribe': 'Sottoscrivi',\r\n 'StartNow': 'Inizia ora',\r\n 'SignUp': 'Iscriviti',\r\n 'SignIn': 'Accedi',\r\n 'Showtimes': 'Orari',\r\n 'ShopNow': 'Acquista ora',\r\n 'SellNow': 'Vendi ora',\r\n 'SeeOffer': 'Vedi offerta',\r\n 'SeeMenu': 'Visualizza menu',\r\n 'Schedule': 'Pianifica',\r\n 'SaveNow': 'Salva ora',\r\n 'Sale': 'Guarda sconto',\r\n 'Reserve': 'Prenota',\r\n 'RentNow': 'Noleggia ora',\r\n 'RentACar': 'Noleggia auto',\r\n 'Register': 'Registrati',\r\n 'PostJob': 'Offerta lavoro',\r\n 'PlayNow': 'Riproduci ora',\r\n 'PlayGame': 'Gioca',\r\n 'OrderNow': 'Ordina ora',\r\n 'LogIn': 'Accedi',\r\n 'ListenNow': 'Ascolta ora',\r\n 'LearnMore': 'Ulteriori info',\r\n 'JoinNow': 'Partecipa ora',\r\n 'GetQuote': 'Preventivo',\r\n 'GetOffer': 'Ottieni offerta',\r\n 'GetDeals': 'Ottieni offerte',\r\n 'FreeTrial': 'Prova gratuita',\r\n 'FreePlay': 'Gioco gratuito',\r\n 'FindJob': 'Trova lavoro',\r\n 'FileNow': 'Inoltra ora',\r\n 'EnrollNow': 'Iscriviti ora',\r\n 'EmailNow': 'Invia e-mail',\r\n 'Download': 'Scarica',\r\n 'Donate': 'Dona',\r\n 'Coupon': 'Ottieni coupon',\r\n 'ContactUs': 'Contattaci',\r\n 'Compare': 'Confronta',\r\n 'ChatNow': 'Chatta ora',\r\n 'BuyNow': 'Acquista ora',\r\n 'BookNow': 'Prenota ora',\r\n 'BookHotel': 'Prenota hotel',\r\n 'BookACar': 'Prenota un\\'auto',\r\n 'BidNow': 'Offri ora',\r\n 'BetNow': 'Scommetti ora',\r\n 'ApplyNow': 'Applica ora',\r\n 'ActNow': 'Agisci ora',\r\n 'Directions': 'Indicazioni',\r\n 'FindStore': 'Trova il negozio',\r\n 'SwitchNow': 'Cambia subito',\r\n 'VisitStore': 'Visita negozio',\r\n 'RenewNow': 'Rinnova ora',\r\n 'Reorder': 'Riordina',\r\n },\r\n 'Norwegian': {\r\n 'CustomText': 'Egendefinert tekst',\r\n 'WatchNow': 'Se nå',\r\n 'WatchMore': 'Se mer',\r\n 'Watch': 'Se',\r\n 'VoteNow': 'Stem nå',\r\n 'ViewPlans': 'Se planer',\r\n 'ViewCars': 'Vis biler',\r\n 'TryNow': 'Prøv nå',\r\n 'TestDrive': 'Testkjør',\r\n 'Subscribe': 'Abonner',\r\n 'StartNow': 'Start nå',\r\n 'FreeTrial': 'Start gratis',\r\n 'SignUp': 'Meld deg på',\r\n 'SignIn': 'Logg på',\r\n 'Showtimes': 'Visningstider',\r\n 'ShopNow': 'Handle nå',\r\n 'SellNow': 'Selg nå',\r\n 'SeeOffer': 'Se tilbud',\r\n 'SeeMenu': 'Se meny',\r\n 'Schedule': 'Terminliste',\r\n 'SaveNow': 'Spar nå',\r\n 'Sale': 'Se salg',\r\n 'Reserve': 'Reserver',\r\n 'RentNow': 'Lei nå',\r\n 'RentACar': 'Lei en bil',\r\n 'Register': 'Registrer deg',\r\n 'PostJob': 'Legg ut jobb',\r\n 'PlayNow': 'Spill nå',\r\n 'PlayGame': 'Spill',\r\n 'OrderNow': 'Bestill nå',\r\n 'LogIn': 'Logg på',\r\n 'ListenNow': 'Hør nå',\r\n 'LearnMore': 'Les mer',\r\n 'JoinNow': 'Bli med nå',\r\n 'GetQuote': 'Få anbud',\r\n 'GetOffer': 'Få tilbud',\r\n 'GetDeals': 'Få tilbud',\r\n 'FreeQuote': 'Gratis anbud',\r\n 'FreePlay': 'Gratis spill',\r\n 'FindJob': 'Finn jobb',\r\n 'FileNow': 'Søk nå',\r\n 'EnrollNow': 'Registrer deg',\r\n 'EmailNow': 'Send e-post nå',\r\n 'Download': 'Last ned',\r\n 'Donate': 'Doner',\r\n 'Coupon': 'Hent kupong',\r\n 'ContactUs': 'Kontakt oss',\r\n 'Compare': 'Sammenlign',\r\n 'ChatNow': 'Chat nå',\r\n 'BuyNow': 'Kjøp nå',\r\n 'BookNow': 'Reserver nå',\r\n 'BookHotel': 'Reserver hotell',\r\n 'BookACar': 'Reserver en bil',\r\n 'BidNow': 'By nå',\r\n 'BetNow': 'Sats nå',\r\n 'ApplyNow': 'Søk nå',\r\n 'ActNow': 'Handle nå',\r\n 'Directions': 'Veibeskrivelse',\r\n 'FindStore': 'Finn butikk',\r\n 'SwitchNow': 'Bytt nå',\r\n 'VisitStore': 'Gå til butikk',\r\n 'RenewNow': 'Forny nå',\r\n 'Reorder': 'Bestill på nytt',\r\n },\r\n 'Dutch': {\r\n 'CustomText': 'Aangepaste tekst',\r\n 'WatchNow': 'Nu kijken',\r\n 'WatchMore': 'Meer kijken',\r\n 'Watch': 'Kijken',\r\n 'VoteNow': 'Nu stemmen',\r\n 'ViewPlans': 'Plannen tonen',\r\n 'ViewCars': 'Auto\\'s tonen',\r\n 'TryNow': 'Nu proberen',\r\n 'TestDrive': 'Proefrit',\r\n 'Subscribe': 'Abonneren',\r\n 'StartNow': 'Nu beginnen',\r\n 'SignUp': 'Registreren',\r\n 'SignIn': 'Aanmelden',\r\n 'Showtimes': 'Aanvangstijd',\r\n 'ShopNow': 'Nu shoppen',\r\n 'SellNow': 'Nu verkopen',\r\n 'SeeOffer': 'Aanbieding zien',\r\n 'SeeMenu': 'Menu zien',\r\n 'Schedule': 'Schema',\r\n 'SaveNow': 'Nu besparen',\r\n 'Sale': 'Sale bekijken',\r\n 'Reserve': 'Reserveren',\r\n 'RentNow': 'Nu huren',\r\n 'RentACar': 'Auto huren',\r\n 'Register': 'Registreren',\r\n 'PlayNow': 'Nu spelen',\r\n 'PlayGame': 'Game spelen',\r\n 'OrderNow': 'Nu bestellen',\r\n 'LogIn': 'Aanmelden',\r\n 'ListenNow': 'Nu luisteren',\r\n 'LearnMore': 'Meer informatie',\r\n 'JoinNow': 'Nu meedoen',\r\n 'GetQuote': 'Offerte krijgen',\r\n 'GetOffer': 'Aanbieding zien',\r\n 'GetDeals': 'Deals zien',\r\n 'FreeTrial': 'Gratis demo',\r\n 'FreeQuote': 'Gratis offerte',\r\n 'FreePlay': 'Gratis spelen',\r\n 'FindJob': 'Vacature zoeken',\r\n 'FileNow': 'Nu inzenden',\r\n 'EnrollNow': 'Nu inschrijven',\r\n 'EmailNow': 'Nu e-mailen',\r\n 'Download': 'Downloaden',\r\n 'Donate': 'Doneren',\r\n 'Coupon': 'Coupon aanvragen',\r\n 'ContactUs': 'Contact opnemen',\r\n 'Compare': 'Vergelijken',\r\n 'ChatNow': 'Nu chatten',\r\n 'BuyNow': 'Nu kopen',\r\n 'BookNow': 'Nu boeken',\r\n 'BookHotel': 'Hotel boeken',\r\n 'BookACar': 'Auto huren',\r\n 'BidNow': 'Nu bieden',\r\n 'BetNow': 'Nu inzetten',\r\n 'ApplyNow': 'Nu solliciteren',\r\n 'ActNow': 'Nu beslissen',\r\n 'Directions': 'Route',\r\n 'FindStore': 'Winkel zoeken',\r\n 'SwitchNow': 'Nu wisselen',\r\n 'VisitStore': 'Winkel bezoeken',\r\n 'RenewNow': 'Nu vernieuwen',\r\n 'Reorder': 'Nabestellen',\r\n },\r\n 'Portuguese': {\r\n 'CustomText': 'Texto personalizado',\r\n 'WatchNow': 'Assistir Agora',\r\n 'WatchMore': 'Assistir Mais',\r\n 'Watch': 'Assistir',\r\n 'VoteNow': 'Votar Agora',\r\n 'ViewPlans': 'Exibir Planos',\r\n 'ViewCars': 'Exibir Carros',\r\n 'TryNow': 'Experimentar Já',\r\n 'TestDrive': 'Test Drive',\r\n 'Subscribe': 'Assinar',\r\n 'StartNow': 'Iniciar Agora',\r\n 'SignUp': 'Inscrever-se',\r\n 'SignIn': 'Entrar',\r\n 'Showtimes': 'Horários',\r\n 'ShopNow': 'Comprar Agora',\r\n 'SellNow': 'Vender Agora',\r\n 'SeeOffer': 'Ver Oferta',\r\n 'SeeMenu': 'Ver Menu',\r\n 'Schedule': 'Agenda',\r\n 'SaveNow': 'Salvar Agora',\r\n 'Sale': 'Ver Promoção',\r\n 'Reserve': 'Reservar',\r\n 'RentNow': 'Alugar Agora',\r\n 'RentACar': 'Alugar um Carro',\r\n 'Register': 'Registrar',\r\n 'PostJob': 'Postar Trabalho',\r\n 'PlayNow': 'Jogar Agora',\r\n 'PlayGame': 'Jogar Jogo',\r\n 'OrderNow': 'Encomendar',\r\n 'LogIn': 'Fazer Logon',\r\n 'ListenNow': 'Ouvir Agora',\r\n 'LearnMore': 'Saiba Mais',\r\n 'JoinNow': 'Ingressar Agora',\r\n 'GetQuote': 'Obter Cotação',\r\n 'GetOffer': 'Obter Oferta',\r\n 'GetDeals': 'Obter Ofertas',\r\n 'FreeTrial': 'Avalie Grátis',\r\n 'FreeQuote': 'Cotação Grátis',\r\n 'FreePlay': 'Jogo Grátis',\r\n 'FindJob': 'Buscar Trabalho',\r\n 'FileNow': 'Arquivar Agora',\r\n 'EnrollNow': 'Registrar Agora',\r\n 'EmailNow': 'Enviar Email',\r\n 'Download': 'Download',\r\n 'Donate': 'Doar',\r\n 'Coupon': 'Obter Cupom',\r\n 'ContactUs': 'Fale Conosco',\r\n 'Compare': 'Comparar',\r\n 'ChatNow': 'Conversar Agora',\r\n 'BuyNow': 'Comprar Agora',\r\n 'BookNow': 'Reservar Agora',\r\n 'BookHotel': 'Reservar Hotel',\r\n 'BookACar': 'Alugar um Carro',\r\n 'BidNow': 'Fazer Lance',\r\n 'BetNow': 'Apostar Agora',\r\n 'ApplyNow': 'Solicitar Agora',\r\n 'ActNow': 'Aja Agora',\r\n 'Directions': 'Trajeto',\r\n 'FindStore': 'Encontrar Loja',\r\n 'SwitchNow': 'Mudar Agora',\r\n 'VisitStore': 'Visitar Loja',\r\n 'RenewNow': 'Renovar Agora',\r\n 'Reorder': 'Comprar de novo',\r\n },\r\n 'Swedish': {\r\n 'CustomText': 'Anpassad text',\r\n 'WatchNow': 'Titta nu',\r\n 'WatchMore': 'Visa mer',\r\n 'Watch': 'Visa',\r\n 'VoteNow': 'Rösta nu',\r\n 'ViewPlans': 'Visa planer',\r\n 'ViewCars': 'Visa bilar',\r\n 'TryNow': 'Prova nu',\r\n 'TestDrive': 'Provkör',\r\n 'Subscribe': 'Prenumerera',\r\n 'StartNow': 'Börja nu',\r\n 'SignUp': 'Registrering',\r\n 'SignIn': 'Logga in',\r\n 'Showtimes': 'Föreställningar',\r\n 'ShopNow': 'Shoppa nu',\r\n 'SellNow': 'Sälj nu',\r\n 'SeeOffer': 'Visa erbjudande',\r\n 'SeeMenu': 'Visa meny',\r\n 'Schedule': 'Schemalägg',\r\n 'SaveNow': 'Spara nu',\r\n 'Sale': 'Visa försäljning',\r\n 'Reserve': 'Reservera',\r\n 'RentNow': 'Hyr nu',\r\n 'RentACar': 'Hyr bil',\r\n 'Register': 'Registrera dig',\r\n 'PostJob': 'Lägg upp jobb',\r\n 'PlayNow': 'Spela nu',\r\n 'PlayGame': 'Spela',\r\n 'OrderNow': 'Beställ nu',\r\n 'LogIn': 'Logga in',\r\n 'ListenNow': 'Lyssna nu',\r\n 'LearnMore': 'Mer information',\r\n 'JoinNow': 'Gå med nu',\r\n 'GetQuote': 'Begär offert',\r\n 'GetOffer': 'Se erbjudanden',\r\n 'GetDeals': 'Se erbjudanden',\r\n 'FreeTrial': 'Prova gratis',\r\n 'FreeQuote': 'Gratis offert',\r\n 'FreePlay': 'Spela gratis',\r\n 'FindJob': 'Hitta jobb',\r\n 'FileNow': 'Spara nu',\r\n 'EnrollNow': 'Registrera nu',\r\n 'EmailNow': 'Skicka mejl nu',\r\n 'Download': 'Ladda ned',\r\n 'Donate': 'Donera',\r\n 'Coupon': 'Hämta kupong',\r\n 'ContactUs': 'Kontakta oss',\r\n 'Compare': 'Jämför',\r\n 'ChatNow': 'Chatta nu',\r\n 'BuyNow': 'Köp nu',\r\n 'BookNow': 'Boka nu',\r\n 'BookHotel': 'Boka hotel',\r\n 'BookACar': 'Boka en bil',\r\n 'BidNow': 'Bjud nu',\r\n 'BetNow': 'Spela nu',\r\n 'ApplyNow': 'Ansök nu',\r\n 'ActNow': 'Gör det nu',\r\n 'Directions': 'Vägbeskrivning',\r\n 'FindStore': 'Hitta butik',\r\n 'SwitchNow': 'Växla nu',\r\n 'VisitStore': 'Besök butik',\r\n 'RenewNow': 'Förnya nu',\r\n 'Reorder': 'Beställ igen',\r\n },\r\n 'TraditionalChinese': {\r\n 'CustomText': '自訂文字',\r\n 'WatchNow': '立即觀看',\r\n 'WatchMore': '觀看更多',\r\n 'Watch': '觀看',\r\n 'VoteNow': '立即投票',\r\n 'ViewPlans': '檢視方案',\r\n 'ViewCars': '檢視車輛',\r\n 'TryNow': '立即試試',\r\n 'TestDrive': '試駕',\r\n 'Subscribe': '訂閱',\r\n 'StartNow': '立即開始',\r\n 'SignUp': '註冊',\r\n 'SignIn': '登入',\r\n 'Showtimes': '放映時間',\r\n 'ShopNow': '立即選購',\r\n 'SellNow': '立即銷售',\r\n 'SeeOffer': '查看優惠',\r\n 'SeeMenu': '查看菜單',\r\n 'Schedule': '排程',\r\n 'SaveNow': '立即省錢',\r\n 'Sale': '查看銷售',\r\n 'Reserve': '預約',\r\n 'RentNow': '立即租下',\r\n 'RentACar': '租車',\r\n 'Register': '註冊',\r\n 'PostJob': '張貼職缺',\r\n 'PlayNow': '立即玩',\r\n 'PlayGame': '玩遊戲',\r\n 'OrderNow': '立即訂購',\r\n 'LogIn': '登入',\r\n 'ListenNow': '立即聆聽',\r\n 'LearnMore': '深入了解',\r\n 'JoinNow': '立即加入',\r\n 'GetQuote': '取得報價',\r\n 'GetOffer': '取得優惠',\r\n 'GetDeals': '取得優惠',\r\n 'FreeTrial': '免費試用',\r\n 'FreeQuote': '免費報價',\r\n 'FreePlay': '免費玩',\r\n 'FindJob': '找工作',\r\n 'FileNow': '立即提交',\r\n 'EnrollNow': '立即報名',\r\n 'EmailNow': '立即寄電子郵件',\r\n 'Download': '下載',\r\n 'Donate': '捐贈',\r\n 'Coupon': '取得優惠券',\r\n 'ContactUs': '與我們連絡',\r\n 'Compare': '比較',\r\n 'ChatNow': '立即交談',\r\n 'BuyNow': '立即購買',\r\n 'BookNow': '立即預訂',\r\n 'BookHotel': '訂旅館',\r\n 'BookACar': '買車',\r\n 'BidNow': '立即出價',\r\n 'BetNow': '立即下注',\r\n 'ApplyNow': '立即申請',\r\n 'ActNow': '立即行動',\r\n 'Directions': '路線',\r\n 'FindStore': '尋找商店',\r\n 'SwitchNow': '立即切換',\r\n 'VisitStore': '造訪商店',\r\n 'RenewNow': '立即更新',\r\n 'Reorder': '重新訂購',\r\n },\r\n 'Polish': {\r\n 'CustomText': 'Tekst niestandardowy',\r\n 'ActNow': 'Działaj teraz',\r\n 'ApplyNow': 'Zgłoś się teraz',\r\n 'BetNow': 'Postaw teraz',\r\n 'BidNow': 'Licytuj teraz',\r\n 'BookACar': 'Zarezerwuj samochód',\r\n 'BookHotel': 'Zarezerwuj pokój',\r\n 'BookNow': 'Zarezerwuj teraz',\r\n 'BuyNow': 'Kup teraz',\r\n 'ChatNow': 'Porozmawiaj na czacie',\r\n 'Compare': 'Porównaj',\r\n 'ContactUs': 'Skontaktuj się z nami',\r\n 'Coupon': 'Uzyskaj kupon',\r\n 'Directions': 'Wskazówki dojazdu',\r\n 'Donate': 'Przekaż darowiznę',\r\n 'Download': 'Pobierz',\r\n 'EmailNow': 'Wyślij e-mail teraz',\r\n 'EnrollNow': 'Zapisz się teraz',\r\n 'FileNow': 'Złóż teraz',\r\n 'FindJob': 'Znajdź pracę',\r\n 'FindStore': 'Znajdź sklep',\r\n 'FreePlay': 'Bezpłatna rozgrywka',\r\n 'FreeQuote': 'Bezpłatna wycena',\r\n 'FreeTrial': 'Bezpłatny okres próbny',\r\n 'GetDeals': 'Uzyskaj oferty',\r\n 'GetOffer': 'Uzyskaj ofertę',\r\n 'GetQuote': 'Uzyskaj wycenę',\r\n 'JoinNow': 'Dołącz teraz',\r\n 'LearnMore': 'Dowiedz się więcej',\r\n 'ListenNow': 'Posłuchaj teraz',\r\n 'LogIn': 'Zaloguj się',\r\n 'OrderNow': 'Zamów teraz',\r\n 'PlayGame': 'Zagraj w coś',\r\n 'PlayNow': 'Zagraj teraz',\r\n 'PostJob': 'Zamieść ofertę pracy',\r\n 'Register': 'Zarejestruj się',\r\n 'RenewNow': 'Odnów teraz',\r\n 'RentACar': 'Wynajmij samochód',\r\n 'RentNow': 'Wynajmij teraz',\r\n 'Reorder': 'Zamów ponownie',\r\n 'Reserve': 'Zarezerwuj',\r\n 'Sale': 'Zobacz wyprzedaż',\r\n 'SaveNow': 'Zapisz teraz',\r\n 'Schedule': 'Zaplanuj',\r\n 'SeeMenu': 'Zobacz menu',\r\n 'SeeOffer': 'Zobacz ofertę',\r\n 'SellNow': 'Sprzedaj teraz',\r\n 'ShopNow': 'Kup teraz',\r\n 'Showtimes': 'Pory seansów',\r\n 'SignIn': 'Zaloguj się',\r\n 'SignUp': 'Zarejestruj się',\r\n 'StartNow': 'Rozpocznij teraz',\r\n 'Subscribe': 'Zasubskrybuj',\r\n 'SwitchNow': 'Przejdź teraz',\r\n 'TestDrive': 'Jazda próbna',\r\n 'TryNow': 'Wypróbuj teraz',\r\n 'ViewCars': 'Zobacz samochody',\r\n 'ViewPlans': 'Zobacz taryfy',\r\n 'VisitStore': 'Odwiedź sklep',\r\n 'VoteNow': 'Zagłosuj teraz',\r\n 'Watch': 'Obejrzyj',\r\n 'WatchMore': 'Obejrzyj więcej',\r\n 'WatchNow': 'Obejrzyj teraz',\r\n },\r\n 'Turkish': {\r\n 'CustomText': 'Özel Metin',\r\n 'ActNow': 'Hemen Harekete Geç',\r\n 'ApplyNow': 'Hemen Başvur',\r\n 'BetNow': 'Hemen İddiaya Gir',\r\n 'BidNow': 'Hemen Teklif Ver',\r\n 'BookACar': 'Araba Ayırt',\r\n 'BookHotel': 'Otel Ayırt',\r\n 'BookNow': 'Hemen Ayırt',\r\n 'BuyNow': 'Hemen Satın Al',\r\n 'ChatNow': 'Hemen Sohbet Et',\r\n 'Compare': 'Karşılaştır',\r\n 'ContactUs': 'Bize Ulaşın',\r\n 'Coupon': 'Kupon Al',\r\n 'Directions': 'Yol Tarifi',\r\n 'Donate': 'Bağış Yap',\r\n 'Download': 'İndir',\r\n 'EmailNow': 'Hemen E-posta Gönder',\r\n 'EnrollNow': 'Hemen Kaydol',\r\n 'FileNow': 'Hemen Gönder',\r\n 'FindJob': 'İş Bul',\r\n 'FindStore': 'Mağaza Bul',\r\n 'FreePlay': 'Ücretsiz Oyna',\r\n 'FreeQuote': 'Ücretsiz Fiyat Teklifi',\r\n 'FreeTrial': 'Ücretsiz Deneme',\r\n 'GetDeals': 'Fırsat Al',\r\n 'GetOffer': 'Teklif Al',\r\n 'GetQuote': 'Fiyat Teklifi Al',\r\n 'JoinNow': 'Hemen Katıl',\r\n 'LearnMore': 'Daha Fazla Bilgi',\r\n 'ListenNow': 'Hemen Dinle',\r\n 'LogIn': 'Oturum Aç',\r\n 'OrderNow': 'Hemen Sipariş Ver',\r\n 'PlayGame': 'Oyun Oyna',\r\n 'PlayNow': 'Hemen Oyna',\r\n 'PostJob': 'İş İlanı Yayımla',\r\n 'Register': 'Kaydol',\r\n 'RenewNow': 'Hemen Yenile',\r\n 'RentACar': 'Araba Kirala',\r\n 'RentNow': 'Hemen Kirala',\r\n 'Reorder': 'Yeniden Sırala',\r\n 'Reserve': 'Rezerve Et',\r\n 'Sale': 'İndirimi Göster',\r\n 'SaveNow': 'Hemen Kaydet',\r\n 'Schedule': 'Zamanla',\r\n 'SeeMenu': 'Menüyü Göster',\r\n 'SeeOffer': 'Teklifi Göster',\r\n 'SellNow': 'Hemen Sat',\r\n 'ShopNow': 'Hemen Alışveriş Yap',\r\n 'Showtimes': 'Gösteri Zamanları',\r\n 'SignIn': 'Oturum Aç',\r\n 'SignUp': 'Kaydol',\r\n 'StartNow': 'Hemen Başla',\r\n 'Subscribe': 'Abone Ol',\r\n 'SwitchNow': 'Hemen Geçiş Yap',\r\n 'TestDrive': 'Test Sürüşü',\r\n 'TryNow': 'Hemen Dene',\r\n 'ViewCars': 'Arabaları Görüntüle',\r\n 'ViewPlans': 'Planları Görüntüle',\r\n 'VisitStore': 'Mağazayı Görüntüle',\r\n 'VoteNow': 'Hemen Oy Ver',\r\n 'Watch': 'İzle',\r\n 'WatchMore': 'Daha Fazlasını İzle',\r\n 'WatchNow': 'Hemen İzle',\r\n },\r\n 'Greek': {\r\n 'CustomText': 'Προσαρμοσμένο κείμενο',\r\n 'ActNow': 'Δράστε τώρα',\r\n 'ApplyNow': 'Αίτηση τώρα',\r\n 'BetNow': 'Στοίχημα τώρα',\r\n 'BidNow': 'Προσφορά τώρα',\r\n 'BookACar': 'Κράτηση αυτοκινήτου',\r\n 'BookHotel': 'Κράτηση ξενοδοχείου',\r\n 'BookNow': 'Κράτηση τώρα',\r\n 'BuyNow': 'Αγορά τώρα',\r\n 'ChatNow': 'Συνομιλία τώρα',\r\n 'Compare': 'Σύγκριση',\r\n 'ContactUs': 'Επικοινωνία',\r\n 'Coupon': 'Απόκτηση κουπονιού',\r\n 'Directions': 'Οδηγίες',\r\n 'Donate': 'Δωρεά',\r\n 'Download': 'Λήψη',\r\n 'EmailNow': 'Αποστολή email τώρα',\r\n 'EnrollNow': 'Εγγραφή τώρα',\r\n 'FileNow': 'Αρχειοθέτηση τώρα',\r\n 'FindJob': 'Εύρεση εργασίας',\r\n 'FindStore': 'Εύρεση καταστήματος',\r\n 'FreePlay': 'Δωρεάν παιχνίδι',\r\n 'FreeQuote': 'Δωρεάν προσφορά',\r\n 'FreeTrial': 'Δωρεάν δοκιμή',\r\n 'GetDeals': 'Λάβετε προσφορές',\r\n 'GetOffer': 'Λάβετε προσφορά',\r\n 'GetQuote': 'Λάβετε τιμή',\r\n 'JoinNow': 'Εγγραφή τώρα',\r\n 'LearnMore': 'Μάθετε περισσότερα',\r\n 'ListenNow': 'Ακρόαση τώρα',\r\n 'LogIn': 'Σύνδεση',\r\n 'OrderNow': 'Παραγγελία τώρα',\r\n 'PlayGame': 'Αναπαραγωγή παιχνιδιού',\r\n 'PlayNow': 'Αναπαραγωγή τώρα',\r\n 'PostJob': 'Δημοσίευση θέσης εργασίας',\r\n 'Register': 'Καταχώριση',\r\n 'RenewNow': 'Ανανέωση τώρα',\r\n 'RentACar': 'Ενοικίαση αυτοκινήτου',\r\n 'RentNow': 'Ενοικίαση τώρα',\r\n 'Reorder': 'Αναπαραγγελία',\r\n 'Reserve': 'Κράτηση',\r\n 'Sale': 'Προβολή πώλησης',\r\n 'SaveNow': 'Αποθήκευση τώρα',\r\n 'Schedule': 'Πρόγραμμα',\r\n 'SeeMenu': 'Προβολή μενού',\r\n 'SeeOffer': 'Προβολή προσφοράς',\r\n 'SellNow': 'Πώληση τώρα',\r\n 'ShopNow': 'Αγορά τώρα',\r\n 'Showtimes': 'Ώρες προβολής',\r\n 'SignIn': 'Είσοδος',\r\n 'SignUp': 'Εγγραφή',\r\n 'StartNow': 'Έναρξη τώρα',\r\n 'Subscribe': 'Συνδρομή',\r\n 'SwitchNow': 'Μετάβαση τώρα',\r\n 'TestDrive': 'Δοκιμή',\r\n 'TryNow': 'Δοκιμή τώρα',\r\n 'ViewCars': 'Προβολή αυτοκινήτων',\r\n 'ViewPlans': 'Προβολή σχεδίων',\r\n 'VisitStore': 'Επίσκεψη στο κατάστημα',\r\n 'VoteNow': 'Ψηφοφορία τώρα',\r\n 'Watch': 'Παρακολούθηση',\r\n 'WatchMore': 'Παρακολούθηση περισσότερων',\r\n 'WatchNow': 'Παρακολούθηση τώρα',\r\n },\r\n 'Bulgarian': {\r\n 'CustomText': 'Текст по избор',\r\n 'ActNow': 'Действайте сега',\r\n 'ApplyNow': 'Кандидатствайте сега',\r\n 'BetNow': 'Заложете сега',\r\n 'BidNow': 'Наддайте сега',\r\n 'BookACar': 'Резервирайте кола',\r\n 'BookHotel': 'Резервирайте хотел',\r\n 'BookNow': 'Резервирайте сега',\r\n 'BuyNow': 'Купете сега',\r\n 'ChatNow': 'Чат сега',\r\n 'Compare': 'Сравняване',\r\n 'ContactUs': 'Връзка с нас',\r\n 'Coupon': 'Вземете купон',\r\n 'Directions': 'Направления',\r\n 'Donate': 'Дарете',\r\n 'Download': 'Изтегляне',\r\n 'EmailNow': 'Изпратете имейл сега',\r\n 'EnrollNow': 'Запишете се сега',\r\n 'FileNow': 'Подайте сега',\r\n 'FindJob': 'Намерете работа',\r\n 'FindStore': 'Намерете магазин',\r\n 'FreePlay': 'Безплатна игра',\r\n 'FreeQuote': 'Безплатна оферта',\r\n 'FreeTrial': 'Безплатен пробен период',\r\n 'GetDeals': 'Вземете оферти',\r\n 'GetOffer': 'Получете оферта',\r\n 'GetQuote': 'Вземете оферта',\r\n 'JoinNow': 'Присъединете се сега',\r\n 'LearnMore': 'Научете повече',\r\n 'ListenNow': 'Слушайте сега',\r\n 'LogIn': 'Влизане',\r\n 'OrderNow': 'Поръчайте сега',\r\n 'PlayGame': 'Играйте',\r\n 'PlayNow': 'Играйте сега',\r\n 'PostJob': 'Публикувайте работна оферта',\r\n 'Register': 'Регистриране',\r\n 'RenewNow': 'Подновете сега',\r\n 'RentACar': 'Кола под наем',\r\n 'RentNow': 'Наемете сега',\r\n 'Reorder': 'Поръчайте отново',\r\n 'Reserve': 'Резервирайте',\r\n 'Sale': 'Преглед на разпродажбата',\r\n 'SaveNow': 'Спестете сега',\r\n 'Schedule': 'Програма',\r\n 'SeeMenu': 'Преглед на менюто',\r\n 'SeeOffer': 'Преглед на офертата',\r\n 'SellNow': 'Продайте сега',\r\n 'ShopNow': 'Пазарувайте сега',\r\n 'Showtimes': 'Прожекции',\r\n 'SignIn': 'Вход',\r\n 'SignUp': 'Регистрирация',\r\n 'StartNow': 'Стартирайте сега',\r\n 'Subscribe': 'Абониране',\r\n 'SwitchNow': 'Превключете сега',\r\n 'TestDrive': 'Тестово шофиране',\r\n 'TryNow': 'Опитайте сега',\r\n 'ViewCars': 'Преглед на автомобилите',\r\n 'ViewPlans': 'Преглед на плановете',\r\n 'VisitStore': 'Посетете магазина',\r\n 'VoteNow': 'Гласувайте сега',\r\n 'Watch': 'Гледайте',\r\n 'WatchMore': 'Гледайте още',\r\n 'WatchNow': 'Гледайте сега',\r\n },\r\n 'Croatian': {\r\n 'CustomText': 'Prilagođeni tekst',\r\n 'ActNow': 'Djelujte sada',\r\n 'ApplyNow': 'Primijeni sada',\r\n 'BetNow': 'Kladite se sada',\r\n 'BidNow': 'Pošaljite ponudu sada',\r\n 'BookACar': 'Rezervirajte automobil',\r\n 'BookHotel': 'Rezervirajte hotel',\r\n 'BookNow': 'Rezervirajte odmah',\r\n 'BuyNow': 'Kupite sada',\r\n 'ChatNow': 'Razgovarajte sada',\r\n 'Compare': 'Usporedi',\r\n 'ContactUs': 'Obratite nam se',\r\n 'Coupon': 'Ostvarite kupon',\r\n 'Directions': 'Upute',\r\n 'Donate': 'Doniraj',\r\n 'Download': 'Preuzmi',\r\n 'EmailNow': 'Pošalji poruku e-pošte sada',\r\n 'EnrollNow': 'Upišite se sada',\r\n 'FileNow': 'Predajte odmah',\r\n 'FindJob': 'Traženje posla',\r\n 'FindStore': 'Traženje trgovine',\r\n 'FreePlay': 'Besplatna reprodukcija',\r\n 'FreeQuote': 'Besplatna ponuda',\r\n 'FreeTrial': 'Besplatna probna verzija',\r\n 'GetDeals': 'Ostvarite ponude',\r\n 'GetOffer': 'Ostvarite ponudu',\r\n 'GetQuote': 'Zatražite ponudu',\r\n 'JoinNow': 'Pridruži se sada',\r\n 'LearnMore': 'Saznajte više',\r\n 'ListenNow': 'Slušajte sada',\r\n 'LogIn': 'Prijava',\r\n 'OrderNow': 'Naručite sada',\r\n 'PlayGame': 'Igraj igru',\r\n 'PlayNow': 'Igraj sada',\r\n 'PostJob': 'Objavi posao',\r\n 'Register': 'Registracija',\r\n 'RenewNow': 'Obnovi sada',\r\n 'RentACar': 'Unajmite automobil',\r\n 'RentNow': 'Unajmi sada',\r\n 'Reorder': 'Promijeni redoslijed',\r\n 'Reserve': 'Rezerviraj',\r\n 'Sale': 'Pogledajte rasprodaju',\r\n 'SaveNow': 'Spremi sada',\r\n 'Schedule': 'Zakaži',\r\n 'SeeMenu': 'Pogledaj jelovnik',\r\n 'SeeOffer': 'Prikaži ponudu',\r\n 'SellNow': 'Prodaj sada',\r\n 'ShopNow': 'Krenite u kupovinu',\r\n 'Showtimes': 'Raspored prikazivanja',\r\n 'SignIn': 'Prijavite se',\r\n 'SignUp': 'Registrirajte se',\r\n 'StartNow': 'Započnite odmah',\r\n 'Subscribe': 'Pretplatite se',\r\n 'SwitchNow': 'Promijeni odmah',\r\n 'TestDrive': 'Probna vožnja',\r\n 'TryNow': 'Isprobajte sada',\r\n 'ViewCars': 'Prikaži automobile',\r\n 'ViewPlans': 'Prikaži planove',\r\n 'VisitStore': 'Posjeti trgovinu',\r\n 'VoteNow': 'Glasajte sada',\r\n 'Watch': 'Gledaj',\r\n 'WatchMore': 'Pogledajte više',\r\n 'WatchNow': 'Pogledajte sada',\r\n },\r\n 'Czech': {\r\n 'CustomText': 'Vlastní text',\r\n 'ActNow': 'Jednat',\r\n 'ApplyNow': 'Požádat',\r\n 'BetNow': 'Vsadit si',\r\n 'BidNow': 'Učinit nabídku',\r\n 'BookACar': 'Rezervace auta',\r\n 'BookHotel': 'Rezervovat hotel',\r\n 'BookNow': 'Zarezervovat',\r\n 'BuyNow': 'Kup teď',\r\n 'ChatNow': 'Chatovat',\r\n 'Compare': 'Porovnat',\r\n 'ContactUs': 'Kontaktujte nás',\r\n 'Coupon': 'Získat kupon',\r\n 'Directions': 'Navigační pokyny',\r\n 'Donate': 'Darovat',\r\n 'Download': 'Stáhnout',\r\n 'EmailNow': 'Napsat e-mail',\r\n 'EnrollNow': 'Zapsat se',\r\n 'FileNow': 'Podat',\r\n 'FindJob': 'Najít práci',\r\n 'FindStore': 'Najít obchod',\r\n 'FreePlay': 'Hrát zdarma',\r\n 'FreeQuote': 'Bezplatná nabídka',\r\n 'FreeTrial': 'Bezplatná zkušební verze',\r\n 'GetDeals': 'Získat slevy',\r\n 'GetOffer': 'Získat nabídku',\r\n 'GetQuote': 'Požádat o nabídku',\r\n 'JoinNow': 'Zapojit se',\r\n 'LearnMore': 'Další informace',\r\n 'ListenNow': 'Poslouchat',\r\n 'LogIn': 'Přihlásit se',\r\n 'OrderNow': 'Objednat',\r\n 'PlayGame': 'Hrát',\r\n 'PlayNow': 'Přehrát',\r\n 'PostJob': 'Zveřejnit',\r\n 'Register': 'Registrovat',\r\n 'RenewNow': 'Prodloužit',\r\n 'RentACar': 'Pronájem auta',\r\n 'RentNow': 'Pronajmout',\r\n 'Reorder': 'Přeobjednat',\r\n 'Reserve': 'Rezervovat',\r\n 'Sale': 'Zobrazit slevu',\r\n 'SaveNow': 'Uložit',\r\n 'Schedule': 'Časový plán',\r\n 'SeeMenu': 'Zobrazit menu',\r\n 'SeeOffer': 'Zobrazit nabídku',\r\n 'SellNow': 'Prodat',\r\n 'ShopNow': 'Nakupovat',\r\n 'Showtimes': 'Programy',\r\n 'SignIn': 'Přihlášení',\r\n 'SignUp': 'Zaregistrovat se',\r\n 'StartNow': 'Spustit',\r\n 'Subscribe': 'Přihlásit se k odběru',\r\n 'SwitchNow': 'Přejít',\r\n 'TestDrive': 'Zkušební jízda',\r\n 'TryNow': 'Vyzkoušet',\r\n 'ViewCars': 'Zobrazit auta',\r\n 'ViewPlans': 'Zobrazit plány',\r\n 'VisitStore': 'Navštívit obchod',\r\n 'VoteNow': 'Hlasovat',\r\n 'Watch': 'Sledovat',\r\n 'WatchMore': 'Sledovat další',\r\n 'WatchNow': 'Sledovat nyní',\r\n },\r\n 'Estonian': {\r\n 'CustomText': 'Kohandatud tekst',\r\n 'ActNow': 'Tegutse kohe',\r\n 'ApplyNow': 'Rakenda kohe',\r\n 'BetNow': 'Panusta kohe',\r\n 'BidNow': 'Paku kohe',\r\n 'BookACar': 'Broneeri auto',\r\n 'BookHotel': 'Broneeri hotell',\r\n 'BookNow': 'Broneeri kohe',\r\n 'BuyNow': 'Osta kohe',\r\n 'ChatNow': 'Vestle kohe',\r\n 'Compare': 'Võrdle',\r\n 'ContactUs': 'Kontaktteave',\r\n 'Coupon': 'Hangi kupong',\r\n 'Directions': 'Juhised',\r\n 'Donate': 'Anneta',\r\n 'Download': 'Laadi alla',\r\n 'EmailNow': 'Meili kohe',\r\n 'EnrollNow': 'Registreeru kohe',\r\n 'FileNow': 'Esita taotlus kohe',\r\n 'FindJob': 'Otsi tööd',\r\n 'FindStore': 'Otsi poodi',\r\n 'FreePlay': 'Tasuta mäng',\r\n 'FreeQuote': 'Tasuta hinnapakkumine',\r\n 'FreeTrial': 'Tasuta prooviversioon',\r\n 'GetDeals': 'Hangi pakkumisi',\r\n 'GetOffer': 'Hangi pakkumine',\r\n 'GetQuote': 'Hangi hinnapakkumine',\r\n 'JoinNow': 'Liitu kohe',\r\n 'LearnMore': 'Lisateave',\r\n 'ListenNow': 'Kuula kohe',\r\n 'LogIn': 'Logi sisse',\r\n 'OrderNow': 'Telli kohe',\r\n 'PlayGame': 'Mängi',\r\n 'PlayNow': 'Esita kohe',\r\n 'PostJob': 'Postita töö',\r\n 'Register': 'Registreeri',\r\n 'RenewNow': 'Uuenda kohe',\r\n 'RentACar': 'Autorent',\r\n 'RentNow': 'Rendi kohe',\r\n 'Reorder': 'Telli uuesti',\r\n 'Reserve': 'Reserveeri',\r\n 'Sale': 'Kuva allahindlus',\r\n 'SaveNow': 'Säästa kohe',\r\n 'Schedule': 'Ajasta',\r\n 'SeeMenu': 'Kuva menüü',\r\n 'SeeOffer': 'Kuva pakkumine',\r\n 'SellNow': 'Müü kohe',\r\n 'ShopNow': 'Mine poodi',\r\n 'Showtimes': 'Esitusajad',\r\n 'SignIn': 'Sisse logima',\r\n 'SignUp': 'Registreeru',\r\n 'StartNow': 'Alusta kohe',\r\n 'Subscribe': 'Telli',\r\n 'SwitchNow': 'Vaheta kohe',\r\n 'TestDrive': 'Proovisõit',\r\n 'TryNow': 'Proovi kohe',\r\n 'ViewCars': 'Vaata autosid',\r\n 'ViewPlans': 'Kuva plaanid',\r\n 'VisitStore': 'Külasta poodi',\r\n 'VoteNow': 'Hääleta kohe',\r\n 'Watch': 'Vaata',\r\n 'WatchMore': 'Vaata veel',\r\n 'WatchNow': 'Vaata kohe',\r\n },\r\n 'Hungarian': {\r\n 'CustomText': 'Egyéni szöveg',\r\n 'ActNow': 'Cselekvés',\r\n 'ApplyNow': 'Alkalmaz',\r\n 'BetNow': 'Fogadás',\r\n 'BidNow': 'Licitálás',\r\n 'BookACar': 'Autófoglalás',\r\n 'BookHotel': 'Szállodai foglalás',\r\n 'BookNow': 'Foglalás most',\r\n 'BuyNow': 'Megvásárlás most',\r\n 'ChatNow': 'Csevegés most',\r\n 'Compare': 'Összehasonlítás',\r\n 'ContactUs': 'Kapcsolatfelvétel',\r\n 'Coupon': 'Kupon beszerzése',\r\n 'Directions': 'Útvonalak',\r\n 'Donate': 'Adományozás',\r\n 'Download': 'Letöltés',\r\n 'EmailNow': 'E-mail küldése',\r\n 'EnrollNow': 'Regisztráció most',\r\n 'FileNow': 'Iktatás',\r\n 'FindJob': 'Állás keresése',\r\n 'FindStore': 'Üzlet keresése',\r\n 'FreePlay': 'Ingyenesen játszható',\r\n 'FreeQuote': 'Ingyenes árajánlat',\r\n 'FreeTrial': 'Ingyenes próbaverzió',\r\n 'GetDeals': 'Ajánlatok megtekintése',\r\n 'GetOffer': 'Ajánlat igénybevétele',\r\n 'GetQuote': 'Ajánlat kérése',\r\n 'JoinNow': 'Csatlakozás most',\r\n 'LearnMore': 'További információ',\r\n 'ListenNow': 'Hallgatás',\r\n 'LogIn': 'Belépés',\r\n 'OrderNow': 'Rendelés',\r\n 'PlayGame': 'Játék',\r\n 'PlayNow': 'Lejátszás',\r\n 'PostJob': 'Álláshirdetés feladása',\r\n 'Register': 'Regisztráció',\r\n 'RenewNow': 'Megújítás',\r\n 'RentACar': 'Autóbérlés',\r\n 'RentNow': 'Bérlés',\r\n 'Reorder': 'Újrarendelés',\r\n 'Reserve': 'Foglalás',\r\n 'Sale': 'Akció megtekintése',\r\n 'SaveNow': 'Megtakarítás',\r\n 'Schedule': 'Ütemezés',\r\n 'SeeMenu': 'Menü megtekintése',\r\n 'SeeOffer': 'Ajánlat megtekintése',\r\n 'SellNow': 'Eladás',\r\n 'ShopNow': 'Vásárlás most',\r\n 'Showtimes': 'Műsorok',\r\n 'SignIn': 'Bejelentkezés',\r\n 'SignUp': 'Csatlakozás',\r\n 'StartNow': 'Kezdés most',\r\n 'Subscribe': 'Feliratkozás',\r\n 'SwitchNow': 'Váltás most',\r\n 'TestDrive': 'Tesztvezetés',\r\n 'TryNow': 'Kipróbálás',\r\n 'ViewCars': 'Autók megtekintése',\r\n 'ViewPlans': 'Csomgaok megtekintése',\r\n 'VisitStore': 'Áruház felkeresése',\r\n 'VoteNow': 'Szavazás',\r\n 'Watch': 'Megtekintés',\r\n 'WatchMore': 'Továbbiak megtekintése',\r\n 'WatchNow': 'Megtekintés most',\r\n },\r\n 'Latvian': {\r\n 'CustomText': 'Pielāgots teksts',\r\n 'ActNow': 'Rīkojieties tūlīt',\r\n 'ApplyNow': 'Lietot tagad',\r\n 'BetNow': 'Solīt tūlīt',\r\n 'BidNow': 'Soliet tūlīt',\r\n 'BookACar': 'Rezervēt automašīnu',\r\n 'BookHotel': 'Rezervēt viesnīcu',\r\n 'BookNow': 'Rezervēt tagad',\r\n 'BuyNow': 'Pirkt tūlīt',\r\n 'ChatNow': 'Tērzēt tagad',\r\n 'Compare': 'Salīdzināt',\r\n 'ContactUs': 'Sazināties ar mums',\r\n 'Coupon': 'Saņemt kuponu',\r\n 'Directions': 'Norādes',\r\n 'Donate': 'Ziedot',\r\n 'Download': 'Lejupielādēt',\r\n 'EmailNow': 'Nosūtīt e-pasta ziņojumu tūlīt',\r\n 'EnrollNow': 'Reģistrēties tūlīt',\r\n 'FileNow': 'Iesniegt tūlīt',\r\n 'FindJob': 'Atrast darbu',\r\n 'FindStore': 'Atrast veikalu',\r\n 'FreePlay': 'Bezmaksas spēle',\r\n 'FreeQuote': 'Bezmaksas piedāvājums',\r\n 'FreeTrial': 'Bezmaksas izmēģinājumversija',\r\n 'GetDeals': 'Saņemt piedāvājumus',\r\n 'GetOffer': 'Saņemt piedāvājumu',\r\n 'GetQuote': 'Iegūt piedāvājumu',\r\n 'JoinNow': 'Pievienoties tūlīt',\r\n 'LearnMore': 'Uzzināt vairāk',\r\n 'ListenNow': 'Klausīties tūlīt',\r\n 'LogIn': 'Pieteikties',\r\n 'OrderNow': 'Pasūtīt tūlīt',\r\n 'PlayGame': 'Spēlēt spēli',\r\n 'PlayNow': 'Atskaņot tagad',\r\n 'PostJob': 'Publicēt darbu',\r\n 'Register': 'Piereģistrēties',\r\n 'RenewNow': 'Atjaunot tūlīt',\r\n 'RentACar': 'Nomāt automašīnu',\r\n 'RentNow': 'Nomāt tūlīt',\r\n 'Reorder': 'Pārkārtot',\r\n 'Reserve': 'Rezervēt',\r\n 'Sale': 'Skatīt izpārdošanas piedāvājumu',\r\n 'SaveNow': 'Ietaupīt tūlīt',\r\n 'Schedule': 'Grafiks',\r\n 'SeeMenu': 'Skatīt izvēlni',\r\n 'SeeOffer': 'Skatīt piedāvājumu',\r\n 'SellNow': 'Pārdot tūlīt',\r\n 'ShopNow': 'Iepirkties tūlīt',\r\n 'Showtimes': 'Seansi',\r\n 'SignIn': 'Pierakstīties',\r\n 'SignUp': 'Reģistrēties',\r\n 'StartNow': 'Sākt tūlīt',\r\n 'Subscribe': 'Abonēt',\r\n 'SwitchNow': 'Pārslēgt tūlīt',\r\n 'TestDrive': 'Izmēģinājuma brauciens',\r\n 'TryNow': 'Izmēģināt tūlīt',\r\n 'ViewCars': 'Skatīt automašīnas',\r\n 'ViewPlans': 'Skatīt plānus',\r\n 'VisitStore': 'Apmeklēt veikalu',\r\n 'VoteNow': 'Balsot tūlīt',\r\n 'Watch': 'Skatīties',\r\n 'WatchMore': 'Skatīties vēl',\r\n 'WatchNow': 'Skatīties tūlīt',\r\n },\r\n 'Lithuanian': {\r\n 'CustomText': 'Pasirinktinis tekstas',\r\n 'ActNow': 'Veikti dabar',\r\n 'ApplyNow': 'Teikti paraišką dabar',\r\n 'BetNow': 'Lažintis dabar',\r\n 'BidNow': 'Siūlyti kainą dabar',\r\n 'BookACar': 'Užsisakyti automobilį',\r\n 'BookHotel': 'Užsisakyti viešbutį',\r\n 'BookNow': 'Užsakyti dabar',\r\n 'BuyNow': 'Įsigyti dabar',\r\n 'ChatNow': 'Kalbėtis dabar',\r\n 'Compare': 'Palyginti',\r\n 'ContactUs': 'Kontaktinė informacija',\r\n 'Coupon': 'Gauti kuponą',\r\n 'Directions': 'Kryptys',\r\n 'Donate': 'Aukoti',\r\n 'Download': 'Atsisiųsti',\r\n 'EmailNow': 'Siųsti el. paštu dabar',\r\n 'EnrollNow': 'Registruotis dabar',\r\n 'FileNow': 'Užpildyti dabar',\r\n 'FindJob': 'Rasti darbą',\r\n 'FindStore': 'Rasti parduotuvę',\r\n 'FreePlay': 'Nemokamas žaidimas',\r\n 'FreeQuote': 'Nemokamas pasiūlymas',\r\n 'FreeTrial': 'Nemokama bandomoji versija',\r\n 'GetDeals': 'Puikūs pasiūlymai',\r\n 'GetOffer': 'Gauti pasiūlymą',\r\n 'GetQuote': 'Gauti kainą',\r\n 'JoinNow': 'Prisijungti dabar',\r\n 'LearnMore': 'Sužinokite daugiau',\r\n 'ListenNow': 'Klausytis dabar',\r\n 'LogIn': 'Prisijungimas',\r\n 'OrderNow': 'Užsisakyti dabar',\r\n 'PlayGame': 'Žaisti žaidimą',\r\n 'PlayNow': 'Leisti dabar',\r\n 'PostJob': 'Pašto darbas',\r\n 'Register': 'Registruotis',\r\n 'RenewNow': 'Atnaujinti dabar',\r\n 'RentACar': 'Išsinuomoti automibilį',\r\n 'RentNow': 'Išsinuomoti dabar',\r\n 'Reorder': 'Pertvarkyti',\r\n 'Reserve': 'Rezervuoti',\r\n 'Sale': 'Peržiūrėti išpardavimą',\r\n 'SaveNow': 'Įrašyti dabar',\r\n 'Schedule': 'Tvarkaraštis',\r\n 'SeeMenu': 'Rodyti meniu',\r\n 'SeeOffer': 'Rodyti pasiūlymą',\r\n 'SellNow': 'Parduoti dabar',\r\n 'ShopNow': 'Apsipirkti dabar',\r\n 'Showtimes': 'Rodymo laikas',\r\n 'SignIn': 'Prisijungti',\r\n 'SignUp': 'Prisiregistruoti',\r\n 'StartNow': 'Pradėti dabar',\r\n 'Subscribe': 'Prenumeruoti',\r\n 'SwitchNow': 'Perjungti dabar',\r\n 'TestDrive': 'Bandomoji versija',\r\n 'TryNow': 'Išbandyti dabar',\r\n 'ViewCars': 'Peržiūrėti automobilius',\r\n 'ViewPlans': 'Peržiūrėti planus',\r\n 'VisitStore': 'Apsilankyti parduotuvėje',\r\n 'VoteNow': 'Balsuoti dabar',\r\n 'Watch': 'Žiūrėti',\r\n 'WatchMore': 'Žiūrėti daugiau',\r\n 'WatchNow': 'Žiūrėti dabar',\r\n },\r\n 'Maltese': {\r\n 'CustomText': 'Test Personalizzat',\r\n 'ActNow': 'Ħu Azzjoni Issa',\r\n 'ApplyNow': 'Applika Issa',\r\n 'BetNow': 'Agħmel Imħatra Issa',\r\n 'BidNow': 'Agħmel Offerta Issa',\r\n 'BookACar': 'Ibbukkja Karozza',\r\n 'BookHotel': 'Ibbukkja Lukanda',\r\n 'BookNow': 'Ibbukkja Issa',\r\n 'BuyNow': 'Ixtri Issa',\r\n 'ChatNow': 'Iċċettja Issa',\r\n 'Compare': 'Qabbel',\r\n 'ContactUs': 'Ikkuntattjana',\r\n 'Coupon': 'Ikseb Kupun',\r\n 'Directions': 'Direzzjonijiet',\r\n 'Donate': 'Agħti donazzjoni',\r\n 'Download': 'Niżżel',\r\n 'EmailNow': 'Ibgħat Email Issa',\r\n 'EnrollNow': 'Inkiteb Issa',\r\n 'FileNow': 'Iffajlja Issa',\r\n 'FindJob': 'Sib Impjieg',\r\n 'FindStore': 'Sib Ħanut',\r\n 'FreePlay': 'Logħob b\\'Xejn',\r\n 'FreeQuote': 'Kwotazzjoni b\\'Xejn',\r\n 'FreeTrial': 'Prova b\\'Xejn',\r\n 'GetDeals': 'Ikseb Prezzijiet Vantaġġjużi',\r\n 'GetOffer': 'Ikseb Offerta',\r\n 'GetQuote': 'Ikseb Kwota',\r\n 'JoinNow': 'Issieħeb issa',\r\n 'LearnMore': 'Sir af aktar',\r\n 'ListenNow': 'Isma\\' Issa',\r\n 'LogIn': 'Illoggja',\r\n 'OrderNow': 'Ordna Issa',\r\n 'PlayGame': 'Ilgħab il-Logħba',\r\n 'PlayNow': 'Doqq issa',\r\n 'PostJob': 'Ippowstja l-Impjieg',\r\n 'Register': 'Irreġistra',\r\n 'RenewNow': 'Ġedded Issa',\r\n 'RentACar': 'Ikri Karozza',\r\n 'RentNow': 'Ikri Issa',\r\n 'Reorder': 'Erġa\\' poġġi fl-ordni',\r\n 'Reserve': 'Irriżerva',\r\n 'Sale': 'Ara l-Iskont',\r\n 'SaveNow': 'Issejvja Issa',\r\n 'Schedule': 'Skeda',\r\n 'SeeMenu': 'Ara l-Menu',\r\n 'SeeOffer': 'Ara l-Offerta',\r\n 'SellNow': 'Biegħ Issa',\r\n 'ShopNow': 'Agħmel ix-Xirja Issa',\r\n 'Showtimes': 'Ħinijiet ta\\' wiri',\r\n 'SignIn': 'Idħol',\r\n 'SignUp': 'Oħloq akkawnt',\r\n 'StartNow': 'Ibda Issa',\r\n 'Subscribe': 'Abbona',\r\n 'SwitchNow': 'Aqleb Issa',\r\n 'TestDrive': 'Test tas-Sewqan',\r\n 'TryNow': 'Ipprova Issa',\r\n 'ViewCars': 'Ara l-Karozzi',\r\n 'ViewPlans': 'Ara l-Pjanijiet',\r\n 'VisitStore': 'Żur il-Ħanut',\r\n 'VoteNow': 'Ivvota Issa',\r\n 'Watch': 'Ara',\r\n 'WatchMore': 'Ara Aktar',\r\n 'WatchNow': 'Ara Issa',\r\n },\r\n 'Romanian': {\r\n 'CustomText': 'Text personalizat',\r\n 'ActNow': 'Acționați acum',\r\n 'ApplyNow': 'Aplicați acum',\r\n 'BetNow': 'Pariați acum',\r\n 'BidNow': 'Licitați acum',\r\n 'BookACar': 'Rezervați o mașină',\r\n 'BookHotel': 'Rezervați o cameră de hotel',\r\n 'BookNow': 'Rezervați acum',\r\n 'BuyNow': 'Achiziționați acum',\r\n 'ChatNow': 'Discutați acum',\r\n 'Compare': 'Comparați',\r\n 'ContactUs': 'Contactați-ne',\r\n 'Coupon': 'Obțineți un cupon',\r\n 'Directions': 'Indicații',\r\n 'Donate': 'Donați',\r\n 'Download': 'Descărcați',\r\n 'EmailNow': 'Trimiteți un e-mail acum',\r\n 'EnrollNow': 'Înscrieți-vă acum',\r\n 'FileNow': 'Arhivați acum',\r\n 'FindJob': 'Găsiți un loc de muncă',\r\n 'FindStore': 'Găsiți magazinul',\r\n 'FreePlay': 'Redați gratis',\r\n 'FreeQuote': 'Cotație gratis',\r\n 'FreeTrial': 'Încercare gratuită',\r\n 'GetDeals': 'Obțineți oferte',\r\n 'GetOffer': 'Obțineți o ofertă',\r\n 'GetQuote': 'Obțineți cotația',\r\n 'JoinNow': 'Alăturați-vă acum',\r\n 'LearnMore': 'Aflați mai multe',\r\n 'ListenNow': 'Ascultați acum',\r\n 'LogIn': 'Logați-vă',\r\n 'OrderNow': 'Comandați acum',\r\n 'PlayGame': 'Jucați jocuri',\r\n 'PlayNow': 'Redați acum',\r\n 'PostJob': 'Postați un loc de muncă',\r\n 'Register': 'Înregistrați',\r\n 'RenewNow': 'Prelungiți acum',\r\n 'RentACar': 'Închiriați o mașină',\r\n 'RentNow': 'Închiriați acum',\r\n 'Reorder': 'Reordonați',\r\n 'Reserve': 'Rezervați',\r\n 'Sale': 'Vedeți reducerile',\r\n 'SaveNow': 'Salvați acum',\r\n 'Schedule': 'Program',\r\n 'SeeMenu': 'Vedeți meniul',\r\n 'SeeOffer': 'Vedeți oferta',\r\n 'SellNow': 'Vindeți acum',\r\n 'ShopNow': 'Cumpărați acum',\r\n 'Showtimes': 'Programul emisiunilor',\r\n 'SignIn': 'Conectați-vă',\r\n 'SignUp': 'Înregistrați-vă',\r\n 'StartNow': 'Începeți acum',\r\n 'Subscribe': 'Abonați-vă',\r\n 'SwitchNow': 'Comutați acum',\r\n 'TestDrive': 'Test Drive',\r\n 'TryNow': 'Încercați acum',\r\n 'ViewCars': 'Vizualizați mașini',\r\n 'ViewPlans': 'Vizualizați planuri',\r\n 'VisitStore': 'Vizitați magazinul',\r\n 'VoteNow': 'Votați acum',\r\n 'Watch': 'Vizionați',\r\n 'WatchMore': 'Urmăriți mai multe',\r\n 'WatchNow': 'Urmăriți acum',\r\n },\r\n 'Slovak': {\r\n 'CustomText': 'Vlastný text',\r\n 'ActNow': 'Konať',\r\n 'ApplyNow': 'Požiadať',\r\n 'BetNow': 'Staviť',\r\n 'BidNow': 'Ponúknuť',\r\n 'BookACar': 'Rezervovať auto',\r\n 'BookHotel': 'Rezervovať hotel',\r\n 'BookNow': 'Rezervovať',\r\n 'BuyNow': 'Kúpiť',\r\n 'ChatNow': 'Chatovať',\r\n 'Compare': 'Porovnať',\r\n 'ContactUs': 'Kontaktujte nás',\r\n 'Coupon': 'Získať kupón',\r\n 'Directions': 'Navigačné pokyny',\r\n 'Donate': 'Darovať',\r\n 'Download': 'Stiahnuť',\r\n 'EmailNow': 'Napísať e-mail',\r\n 'EnrollNow': 'Zapísať sa',\r\n 'FileNow': 'Podať',\r\n 'FindJob': 'Nájsť prácu',\r\n 'FindStore': 'Nájsť obchod',\r\n 'FreePlay': 'Hrať zdarma',\r\n 'FreeQuote': 'Bezplatná cenová ponuka',\r\n 'FreeTrial': 'Skúšobná verzia zdarma',\r\n 'GetDeals': 'Získať ponuky',\r\n 'GetOffer': 'Získať ponuku',\r\n 'GetQuote': 'Získať cenovú ponuku',\r\n 'JoinNow': 'Zapojiť sa',\r\n 'LearnMore': 'Ďalšie informácie',\r\n 'ListenNow': 'Počúvať',\r\n 'LogIn': 'Prihlásiť sa',\r\n 'OrderNow': 'Objednať',\r\n 'PlayGame': 'Hrať',\r\n 'PlayNow': 'Prehrať',\r\n 'PostJob': 'Zverejniť pracovné miesto',\r\n 'Register': 'Registrovať',\r\n 'RenewNow': 'Obnoviť',\r\n 'RentACar': 'Požičať si auto',\r\n 'RentNow': 'Požičať si',\r\n 'Reorder': 'Znova objednať',\r\n 'Reserve': 'Predobjednať',\r\n 'Sale': 'Zobraziť zľavu',\r\n 'SaveNow': 'Uložiť',\r\n 'Schedule': 'Naplánovať',\r\n 'SeeMenu': 'Zobraziť ponuku',\r\n 'SeeOffer': 'Zobraziť akciu',\r\n 'SellNow': 'Predať',\r\n 'ShopNow': 'Nakupovať',\r\n 'Showtimes': 'Programy',\r\n 'SignIn': 'Prihlásenie',\r\n 'SignUp': 'Zaregistrovať sa',\r\n 'StartNow': 'Spustiť',\r\n 'Subscribe': 'Prihlásiť sa na odber',\r\n 'SwitchNow': 'Prepnúť',\r\n 'TestDrive': 'Testovacia jazda',\r\n 'TryNow': 'Vyskúšať',\r\n 'ViewCars': 'Zobraziť autá',\r\n 'ViewPlans': 'Zobraziť plány',\r\n 'VisitStore': 'Navštíviť obchod',\r\n 'VoteNow': 'Hlasovať',\r\n 'Watch': 'Pozerať',\r\n 'WatchMore': 'Pozerať ďalšie',\r\n 'WatchNow': 'Pozerať teraz',\r\n },\r\n 'Slovenian': {\r\n 'CustomText': 'Besedilo po meri',\r\n 'ActNow': 'Ukrepajte zdaj',\r\n 'ApplyNow': 'Prijavite se zdaj',\r\n 'BetNow': 'Stavite zdaj',\r\n 'BidNow': 'Dajte ponudbo zdaj',\r\n 'BookACar': 'Rezervacija avtomobila',\r\n 'BookHotel': 'Rezervacija hotela',\r\n 'BookNow': 'Rezervirajte zdaj',\r\n 'BuyNow': 'Kupite zdaj',\r\n 'ChatNow': 'Klepet',\r\n 'Compare': 'Primerjaj',\r\n 'ContactUs': 'Stik z nami',\r\n 'Coupon': 'Pridobi kupon',\r\n 'Directions': 'Navodila',\r\n 'Donate': 'Doniraj',\r\n 'Download': 'Prenos',\r\n 'EmailNow': 'Pošljite po e-pošti',\r\n 'EnrollNow': 'Vpišite se zdaj',\r\n 'FileNow': 'Pošljite vlogo zdaj',\r\n 'FindJob': 'Iskanje zaposlitve',\r\n 'FindStore': 'Iskanje trgovine',\r\n 'FreePlay': 'Brezplačno predvajanje',\r\n 'FreeQuote': 'Brezplačna ponudba',\r\n 'FreeTrial': 'Brezplačen preskus',\r\n 'GetDeals': 'Pridobi ugodnosti',\r\n 'GetOffer': 'Pridobi ponudbo',\r\n 'GetQuote': 'Prejem ponudbe',\r\n 'JoinNow': 'Vključite se zdaj',\r\n 'LearnMore': 'Več o tem',\r\n 'ListenNow': 'Poslušaj zdaj',\r\n 'LogIn': 'Prijava',\r\n 'OrderNow': 'Naročite zdaj',\r\n 'PlayGame': 'Igranje igre',\r\n 'PlayNow': 'Predvajaj zdaj',\r\n 'PostJob': 'Objava delovnega mesta',\r\n 'Register': 'Registracija',\r\n 'RenewNow': 'Obnovite zdaj',\r\n 'RentACar': 'Najem avtomobila',\r\n 'RentNow': 'Najemite zdaj',\r\n 'Reorder': 'Ponovno naročilo',\r\n 'Reserve': 'Rezerviraj',\r\n 'Sale': 'Prikaz popustov',\r\n 'SaveNow': 'Prihranite zdaj',\r\n 'Schedule': 'Razpored',\r\n 'SeeMenu': 'Prikaži meni',\r\n 'SeeOffer': 'Ogled ponudbe',\r\n 'SellNow': 'Prodajte takoj',\r\n 'ShopNow': 'Nakupovanje',\r\n 'Showtimes': 'Časi predvajanja',\r\n 'SignIn': 'Vpis',\r\n 'SignUp': 'Ustvarjanje računa',\r\n 'StartNow': 'Začni zdaj',\r\n 'Subscribe': 'Naroči',\r\n 'SwitchNow': 'Preklopi zdaj',\r\n 'TestDrive': 'Testna vožnja',\r\n 'TryNow': 'Preizkusite zdaj',\r\n 'ViewCars': 'Prikaz avtomobilov',\r\n 'ViewPlans': 'Prikaz paketov',\r\n 'VisitStore': 'Obisk trgovine',\r\n 'VoteNow': 'Glasujte zdaj',\r\n 'Watch': 'Ogled',\r\n 'WatchMore': 'Oglejte si še več',\r\n 'WatchNow': 'Oglejte si zdaj',\r\n },\r\n 'Albanian': {\r\n 'CustomText': 'Tekst i personalizuar',\r\n 'ActNow': 'Vepro tani',\r\n 'ApplyNow': 'Apliko tani',\r\n 'BetNow': 'Vendos bastin tani',\r\n 'BidNow': 'Oferto tani',\r\n 'BookACar': 'Rezervo një makinë',\r\n 'BookHotel': 'Rezervo hotelin',\r\n 'BookNow': 'Rezervo tani',\r\n 'BuyNow': 'Bli tani',\r\n 'ChatNow': 'Bisedo tani',\r\n 'Compare': 'Krahaso',\r\n 'ContactUs': 'Na kontakto',\r\n 'Coupon': 'Merr kuponin',\r\n 'Directions': 'Udhëzimet',\r\n 'Donate': 'Dhuro',\r\n 'Download': 'Shkarko',\r\n 'EmailNow': 'Dërgo email tani',\r\n 'EnrollNow': 'Regjistrohu tani',\r\n 'FileNow': 'Raporto tani',\r\n 'FindJob': 'Gjej punë',\r\n 'FindStore': 'Gjej dyqanin',\r\n 'FreePlay': 'Lojë falas',\r\n 'FreeQuote': 'Kuotë falas',\r\n 'FreeTrial': 'Provë falas',\r\n 'GetDeals': 'Merr oferta',\r\n 'GetOffer': 'Përfito ofertën',\r\n 'GetQuote': 'Merr kuotë',\r\n 'JoinNow': 'Bashkohu tani',\r\n 'LearnMore': 'Mëso më shumë',\r\n 'ListenNow': 'Dëgjo tani',\r\n 'LogIn': 'Hyr',\r\n 'OrderNow': 'Porosit tani',\r\n 'PlayGame': 'Luaj lojën',\r\n 'PlayNow': 'Luaj tani',\r\n 'PostJob': 'Posto punën',\r\n 'Register': 'Regjistro',\r\n 'RenewNow': 'Rinovo tani',\r\n 'RentACar': 'Merr një makinë me qira',\r\n 'RentNow': 'Merr me qira tani',\r\n 'Reorder': 'Rirendit',\r\n 'Reserve': 'Rezervo',\r\n 'Sale': 'Shiko uljen',\r\n 'SaveNow': 'Kurse tani',\r\n 'Schedule': 'Planifiko',\r\n 'SeeMenu': 'Shiko menynë',\r\n 'SeeOffer': 'Shiko ofertën',\r\n 'SellNow': 'Shit tani',\r\n 'ShopNow': 'Bëj blerje tani',\r\n 'Showtimes': 'Oraret e shfaqjes',\r\n 'SignIn': 'Hyr te',\r\n 'SignUp': 'Regjistrohu',\r\n 'StartNow': 'Fillo tani',\r\n 'Subscribe': 'Abonohu',\r\n 'SwitchNow': 'Ndrysho tani',\r\n 'TestDrive': 'Drejtim provë',\r\n 'TryNow': 'Provo tani',\r\n 'ViewCars': 'Shiko makinat',\r\n 'ViewPlans': 'Shiko planet',\r\n 'VisitStore': 'Vizito dyqanin',\r\n 'VoteNow': 'Voto tani',\r\n 'Watch': 'Shiko',\r\n 'WatchMore': 'Shiko më shumë',\r\n 'WatchNow': 'Shiko tani',\r\n },\r\n 'Bosnian': {\r\n 'CustomText': 'Prilagođeni tekst',\r\n 'ActNow': 'Reagiraj sada',\r\n 'ApplyNow': 'Prijavi se sada',\r\n 'BetNow': 'Pošalji ponudu sada',\r\n 'BidNow': 'Licitiraj sada',\r\n 'BookACar': 'Rezerviraj automobil',\r\n 'BookHotel': 'Rezerviraj hotel',\r\n 'BookNow': 'Rezerviraj sada',\r\n 'BuyNow': 'Kupi odmah',\r\n 'ChatNow': 'Razgovaraj sada',\r\n 'Compare': 'Uporedi',\r\n 'ContactUs': 'Kontaktirajte nas',\r\n 'Coupon': 'Preuzmi kupon',\r\n 'Directions': 'Upute za kretanje',\r\n 'Donate': 'Doniraj',\r\n 'Download': 'Preuzmi',\r\n 'EmailNow': 'Pošalji e-poruku sada',\r\n 'EnrollNow': 'Upiši se sada',\r\n 'FileNow': 'Podnesi sada',\r\n 'FindJob': 'Pronađi posao',\r\n 'FindStore': 'Pronađi prodavnicu',\r\n 'FreePlay': 'Besplatna reprodukcija',\r\n 'FreeQuote': 'Besplatno kotiranje na berzi',\r\n 'FreeTrial': 'Besplatna probna verzija',\r\n 'GetDeals': 'Preuzmi pogodbe',\r\n 'GetOffer': 'Preuzmi ponudu',\r\n 'GetQuote': 'Preuzmi kotiranje na berzi',\r\n 'JoinNow': 'Pridruži se sada',\r\n 'LearnMore': 'Saznajte više',\r\n 'ListenNow': 'Slušaj sada',\r\n 'LogIn': 'Prijavljivanje',\r\n 'OrderNow': 'Naruči sada',\r\n 'PlayGame': 'Igrajte igru',\r\n 'PlayNow': 'Reproduciraj sada',\r\n 'PostJob': 'Objavi posao',\r\n 'Register': 'Registriraj',\r\n 'RenewNow': 'Obnovi sada',\r\n 'RentACar': 'Iznajmljivanje automobila',\r\n 'RentNow': 'Iznajmi sada',\r\n 'Reorder': 'Promijeni redoslijed',\r\n 'Reserve': 'Rezerviraj',\r\n 'Sale': 'Prikaži rasprodaju',\r\n 'SaveNow': 'Sačuvaj sada',\r\n 'Schedule': 'Raspored',\r\n 'SeeMenu': 'Prikaži meni',\r\n 'SeeOffer': 'Prikaži ponudu',\r\n 'SellNow': 'Prodaj sada',\r\n 'ShopNow': 'Kupi sada',\r\n 'Showtimes': 'Vremena prikazivanja',\r\n 'SignIn': 'Prijava',\r\n 'SignUp': 'Izradite račun',\r\n 'StartNow': 'Počinje sada',\r\n 'Subscribe': 'Pretplati se',\r\n 'SwitchNow': 'Pređi sada',\r\n 'TestDrive': 'Probna vožnja',\r\n 'TryNow': 'Probaj sada',\r\n 'ViewCars': 'Prikaz vozila',\r\n 'ViewPlans': 'Prikaz planova',\r\n 'VisitStore': 'Posjeti prodavnicu',\r\n 'VoteNow': 'Glasaj sada',\r\n 'Watch': 'Gledaj',\r\n 'WatchMore': 'Gledaj više',\r\n 'WatchNow': 'Gledaj sada',\r\n },\r\n 'Icelandic': {\r\n 'CustomText': 'Sérsniðinn texti',\r\n 'ActNow': 'Framkvæma núna',\r\n 'ApplyNow': 'Sækja um núna',\r\n 'BetNow': 'Veðja núna',\r\n 'BidNow': 'Gera tilboð núna',\r\n 'BookACar': 'Bóka bíl',\r\n 'BookHotel': 'Bóka hótel',\r\n 'BookNow': 'Bóka núna',\r\n 'BuyNow': 'Kaupa núna',\r\n 'ChatNow': 'Spjalla núna',\r\n 'Compare': 'Bera saman',\r\n 'ContactUs': 'Hafa samband',\r\n 'Coupon': 'Fá afsláttarmiða',\r\n 'Directions': 'Leiðsögn',\r\n 'Donate': 'Gefa',\r\n 'Download': 'Sækja',\r\n 'EmailNow': 'Senda tölvupóst núna',\r\n 'EnrollNow': 'Skrá sig núna',\r\n 'FileNow': 'Skjalvista núna',\r\n 'FindJob': 'Finna starf',\r\n 'FindStore': 'Finna verslun',\r\n 'FreePlay': 'Ókeypis spilun',\r\n 'FreeQuote': 'Tilboð að kostnaðarlausu',\r\n 'FreeTrial': 'Ókeypis reynslutími',\r\n 'GetDeals': 'Fá sértilboð',\r\n 'GetOffer': 'Fá tilboð',\r\n 'GetQuote': 'Fá verðtilboð',\r\n 'JoinNow': 'Skáðu þig núna',\r\n 'LearnMore': 'Frekari upplýsingar',\r\n 'ListenNow': 'Hlusta núna',\r\n 'LogIn': 'Skrá inn',\r\n 'OrderNow': 'Panta núna',\r\n 'PlayGame': 'Spila leik',\r\n 'PlayNow': 'Spila núna',\r\n 'PostJob': 'Bóka starf',\r\n 'Register': 'Skrá',\r\n 'RenewNow': 'Endurnýja núna',\r\n 'RentACar': 'Leigja bíl',\r\n 'RentNow': 'Leigja núna',\r\n 'Reorder': 'Endurraða',\r\n 'Reserve': 'Panta',\r\n 'Sale': 'Skoða útsölu',\r\n 'SaveNow': 'Vista núna',\r\n 'Schedule': 'Dagskrá',\r\n 'SeeMenu': 'Sjá matseðil',\r\n 'SeeOffer': 'Sjá tilboð',\r\n 'SellNow': 'Selja núna',\r\n 'ShopNow': 'Versla núna',\r\n 'Showtimes': 'Sýningartímar',\r\n 'SignIn': 'Innskráning',\r\n 'SignUp': 'Skráning',\r\n 'StartNow': 'Ræsa núna',\r\n 'Subscribe': 'Gerast áskrifandi',\r\n 'SwitchNow': 'Skipta núna',\r\n 'TestDrive': 'Reynsluakstur',\r\n 'TryNow': 'Prófa núna',\r\n 'ViewCars': 'Skoða bíla',\r\n 'ViewPlans': 'Skoða áætlanir',\r\n 'VisitStore': 'Fara í verslun',\r\n 'VoteNow': 'Kjósa núna',\r\n 'Watch': 'Horfa',\r\n 'WatchMore': 'Horfa á fleira',\r\n 'WatchNow': 'Horfa núna',\r\n },\r\n 'Macedonian': {\r\n 'CustomText': 'Прилагодена текстуална порака',\r\n 'ActNow': 'Дејствувај сега',\r\n 'ApplyNow': 'Аплицирај сега',\r\n 'BetNow': 'Обложи се сега',\r\n 'BidNow': 'Лицитирај сега',\r\n 'BookACar': 'Резервирај автомобил',\r\n 'BookHotel': 'Резервирај хотел',\r\n 'BookNow': 'Резервирај сега',\r\n 'BuyNow': 'Купи сега',\r\n 'ChatNow': 'Разговарај сега',\r\n 'Compare': 'Спореди',\r\n 'ContactUs': 'Контактирај со нас',\r\n 'Coupon': 'Добиј купон',\r\n 'Directions': 'Насоки',\r\n 'Donate': 'Донирај',\r\n 'Download': 'Преземи',\r\n 'EmailNow': 'Испрати е-пошта сега',\r\n 'EnrollNow': 'Пријави сега',\r\n 'FileNow': 'Поднеси сега',\r\n 'FindJob': 'Најди работа',\r\n 'FindStore': 'Најди продавница',\r\n 'FreePlay': 'Бесплатно играње',\r\n 'FreeQuote': 'Бесплатно давање цена',\r\n 'FreeTrial': 'Бесплатна проба',\r\n 'GetDeals': 'Добиј зделки',\r\n 'GetOffer': 'Добиј понуда',\r\n 'GetQuote': 'Добиј цена',\r\n 'JoinNow': 'Придружи се сега',\r\n 'LearnMore': 'Дознајте повеќе',\r\n 'ListenNow': 'Слушај сега',\r\n 'LogIn': 'Евидентирај',\r\n 'OrderNow': 'Нарачај сега',\r\n 'PlayGame': 'Играј игра',\r\n 'PlayNow': 'Пушти сега',\r\n 'PostJob': 'Објави работно место',\r\n 'Register': 'Регистрирај се',\r\n 'RenewNow': 'Обнови сега',\r\n 'RentACar': 'Изнајми автомобил',\r\n 'RentNow': 'Изнајми сега',\r\n 'Reorder': 'Преуреди',\r\n 'Reserve': 'Резерва',\r\n 'Sale': 'Види распродажба',\r\n 'SaveNow': 'Зачувај сега',\r\n 'Schedule': 'Распоред',\r\n 'SeeMenu': 'Види мени',\r\n 'SeeOffer': 'Види понуда',\r\n 'SellNow': 'Продај сега',\r\n 'ShopNow': 'Пазарувај сега',\r\n 'Showtimes': 'Времиња на прикажување',\r\n 'SignIn': 'Пријави се',\r\n 'SignUp': 'Започни сега',\r\n 'StartNow': 'Започни сега',\r\n 'Subscribe': 'Претплати се',\r\n 'SwitchNow': 'Префрли сега',\r\n 'TestDrive': 'Тест возење',\r\n 'TryNow': 'Обиди се сега',\r\n 'ViewCars': 'Види автомобили',\r\n 'ViewPlans': 'Види пакети',\r\n 'VisitStore': 'Посети продавница',\r\n 'VoteNow': 'Гласај сега',\r\n 'Watch': 'Гледај',\r\n 'WatchMore': 'Гледај повеќе',\r\n 'WatchNow': 'Гледај сега',\r\n },\r\n 'Serbian': {\r\n 'CustomText': 'Прилагођени текст',\r\n 'ActNow': 'Reaguj odmah',\r\n 'ApplyNow': 'Prijavi se odmah',\r\n 'BetNow': 'Kladi se odmah',\r\n 'BidNow': 'Ponudi odmah',\r\n 'BookACar': 'Rezerviši automobil',\r\n 'BookHotel': 'Rezerviši hotel',\r\n 'BookNow': 'Rezerviši odmah',\r\n 'BuyNow': 'Kupi odmah',\r\n 'ChatNow': 'Ćaskaj odmah',\r\n 'Compare': 'Uporedi',\r\n 'ContactUs': 'Kontaktirajte nas',\r\n 'Coupon': 'Preuzmi kupon',\r\n 'Directions': 'Putokazi',\r\n 'Donate': 'Doniraj',\r\n 'Download': 'Preuzmi',\r\n 'EmailNow': 'Pošalji e-poruku odmah',\r\n 'EnrollNow': 'Upiši se odmah',\r\n 'FileNow': 'Podnesi odmah',\r\n 'FindJob': 'Pronađi posao',\r\n 'FindStore': 'Pronađi prodavnicu',\r\n 'FreePlay': 'Besplatna igra',\r\n 'FreeQuote': 'Besplatna ponuda',\r\n 'FreeTrial': 'Besplatna probna verzija',\r\n 'GetDeals': 'Nabavi ponude',\r\n 'GetOffer': 'Preuzmi ponudu',\r\n 'GetQuote': 'Preuzmi kotiranje na berzi',\r\n 'JoinNow': 'Pridruži se odmah',\r\n 'LearnMore': 'Saznajte više',\r\n 'ListenNow': 'Slušaj odmah',\r\n 'LogIn': 'Prijavi se',\r\n 'OrderNow': 'Poruči odmah',\r\n 'PlayGame': 'Igraj igru',\r\n 'PlayNow': 'Reprodukuj odmah',\r\n 'PostJob': 'Objavi posao',\r\n 'Register': 'Registruj',\r\n 'RenewNow': 'Obnovi odmah',\r\n 'RentACar': 'Iznajmi automobil',\r\n 'RentNow': 'Iznajmi odmah',\r\n 'Reorder': 'Promeni redosled',\r\n 'Reserve': 'Rezerviši',\r\n 'Sale': 'Prikaži prodaju',\r\n 'SaveNow': 'Sačuvaj odmah',\r\n 'Schedule': 'Raspored',\r\n 'SeeMenu': 'Prikaži meni',\r\n 'SeeOffer': 'Prikaži ponudu',\r\n 'SellNow': 'Prodaj odmah',\r\n 'ShopNow': 'Kupujte odmah',\r\n 'Showtimes': 'Termini prikazivanja',\r\n 'SignIn': 'Prijavljivanje',\r\n 'SignUp': 'Upiši se',\r\n 'StartNow': 'Počni odmah',\r\n 'Subscribe': 'Pretplati se',\r\n 'SwitchNow': 'Zameni odmah',\r\n 'TestDrive': 'Testiraj disk jedinicu',\r\n 'TryNow': 'Isprobaj odmah',\r\n 'ViewCars': 'Prikaži automobile',\r\n 'ViewPlans': 'Prikaži planove',\r\n 'VisitStore': 'Poseti prodavnicu',\r\n 'VoteNow': 'Glasaj odmah',\r\n 'Watch': 'Gledaj',\r\n 'WatchMore': 'Gledaj više',\r\n 'WatchNow': 'Gledaj odmah',\r\n },\r\n 'Japanese': {\r\n 'CustomText': 'カスタム テキスト',\r\n 'ActNow': '今すぐ実行',\r\n 'ApplyNow': '今すぐ適用する',\r\n 'BetNow': '今すぐ賭ける',\r\n 'BidNow': '今すぐ入札する',\r\n 'BookACar': '自動車の予約',\r\n 'BookHotel': 'ホテルを予約',\r\n 'BookNow': '今すぐ予約',\r\n 'BuyNow': '今すぐ購入',\r\n 'ChatNow': '今すぐチャット',\r\n 'Compare': '比較',\r\n 'ContactUs': 'お問い合わせ',\r\n 'Coupon': 'クーポンを取得',\r\n 'Directions': '指揮',\r\n 'Donate': '寄付する',\r\n 'Download': 'ダウンロード',\r\n 'EmailNow': '今すぐメールを送信',\r\n 'EnrollNow': '今すぐ登録',\r\n 'FileNow': '今すぐ綴じ込む',\r\n 'FindJob': '仕事の検索',\r\n 'FindStore': 'ストアの検索',\r\n 'FreePlay': '無料プレイ',\r\n 'FreeQuote': '無料見積もり',\r\n 'FreeTrial': '無料試用版',\r\n 'GetDeals': '契約の獲得',\r\n 'GetOffer': 'オファーの獲得',\r\n 'GetQuote': '見積の取得',\r\n 'JoinNow': '今すぐ参加',\r\n 'LearnMore': '詳細情報',\r\n 'ListenNow': '今すぐ聴く',\r\n 'LogIn': 'ログイン',\r\n 'OrderNow': '今すぐ注文',\r\n 'PlayGame': 'ゲームをプレイする',\r\n 'PlayNow': '今すぐプレイ',\r\n 'PostJob': '仕事の投稿',\r\n 'Register': '登録',\r\n 'RenewNow': '今すぐ更新',\r\n 'RentACar': 'レンタカーを借りる',\r\n 'RentNow': '今すぐレンタル',\r\n 'Reorder': '再投入',\r\n 'Reserve': '予約',\r\n 'Sale': 'セールを見る',\r\n 'SaveNow': '今すぐ保存',\r\n 'Schedule': 'スケジュール',\r\n 'SeeMenu': 'メニューを表示',\r\n 'SeeOffer': 'オファーを参照',\r\n 'SellNow': '今すぐ販売',\r\n 'ShopNow': '今すぐ買い物をする',\r\n 'Showtimes': '上映開始時刻',\r\n 'SignIn': 'サインイン',\r\n 'SignUp': 'サインアップ',\r\n 'StartNow': '今すぐはじめる',\r\n 'Subscribe': '購読する',\r\n 'SwitchNow': '今すぐ切り替える',\r\n 'TestDrive': '体験版',\r\n 'TryNow': '今すぐ試す',\r\n 'ViewCars': '車を表示',\r\n 'ViewPlans': 'プランを表示',\r\n 'VisitStore': 'ストアにアクセス',\r\n 'VoteNow': '今すぐ投票',\r\n 'Watch': '視聴',\r\n 'WatchMore': '詳細を見る',\r\n 'WatchNow': 'すぐに観る',\r\n },\r\n 'Russian': {\r\n 'CustomText': 'Пользовательский текст',\r\n 'ActNow': 'Вперед',\r\n 'ApplyNow': 'Применить сейчас',\r\n 'BetNow': 'Ставить сейчас',\r\n 'BidNow': 'Заявка сейчас',\r\n 'BookACar': 'Забронировать автомобиль',\r\n 'BookHotel': 'Забронировать отель',\r\n 'BookNow': 'Забронировать',\r\n 'BuyNow': 'Купить сейчас',\r\n 'ChatNow': 'Начать чат',\r\n 'Compare': 'Сравнить',\r\n 'ContactUs': 'Связаться с нами',\r\n 'Coupon': 'Получить купон',\r\n 'Directions': 'Маршруты',\r\n 'Donate': 'Пожертвовать',\r\n 'Download': 'Скачать',\r\n 'EmailNow': 'Написать сейчас',\r\n 'EnrollNow': 'Зарегистрироваться сейчас',\r\n 'FileNow': 'Подать сейчас',\r\n 'FindJob': 'Найти задание',\r\n 'FindStore': 'Найти Магазин',\r\n 'FreePlay': 'Играть бесплатно',\r\n 'FreeQuote': 'Бесплатная цитата',\r\n 'FreeTrial': 'Бесплатная пробная версия',\r\n 'GetDeals': 'Получить предложения',\r\n 'GetOffer': 'Получить предложение',\r\n 'GetQuote': 'Узнать цену',\r\n 'JoinNow': 'Присоединиться сейчас',\r\n 'LearnMore': 'Подробнее',\r\n 'ListenNow': 'Слушать сейчас',\r\n 'LogIn': 'Авторизоваться',\r\n 'OrderNow': 'Заказать сейчас',\r\n 'PlayGame': 'Начать игру',\r\n 'PlayNow': 'Играть сейчас',\r\n 'PostJob': 'Опубликовать задание',\r\n 'Register': 'Зарегистрироваться',\r\n 'RenewNow': 'Возобновить сейчас',\r\n 'RentACar': 'Арендовать автомобиль',\r\n 'RentNow': 'Арендовать сейчас',\r\n 'Reorder': 'Изменить порядок',\r\n 'Reserve': 'Резервировать',\r\n 'Sale': 'Просмотреть распродажу',\r\n 'SaveNow': 'Сохранить сейчас',\r\n 'Schedule': 'График',\r\n 'SeeMenu': 'Просмотреть меню',\r\n 'SeeOffer': 'Показать предложение',\r\n 'SellNow': 'Продать сейчас',\r\n 'ShopNow': 'Получи это сейчас',\r\n 'Showtimes': 'Расписание сеансов',\r\n 'SignIn': 'Войти',\r\n 'SignUp': 'Подписаться',\r\n 'StartNow': 'Приступить сейчас',\r\n 'Subscribe': 'Подписаться',\r\n 'SwitchNow': 'Переключить сейчас',\r\n 'TestDrive': 'Тестовый выпуск',\r\n 'TryNow': 'Попробовать сейчас',\r\n 'ViewCars': 'Просмотреть автомобили',\r\n 'ViewPlans': 'Просмотреть планы',\r\n 'VisitStore': 'Посетить магазин',\r\n 'VoteNow': 'Проголосовать сейчас',\r\n 'Watch': 'Посмотреть',\r\n 'WatchMore': 'Просмотреть еще',\r\n 'WatchNow': 'Смотреть сейчас',\r\n },\r\n 'Arabic': {\r\n 'CustomText': 'نص مخصص',\r\n 'ActNow': 'التصرف الآن',\r\n 'ApplyNow': 'الطّلب الآن',\r\n 'BetNow': 'المراهنة الآن',\r\n 'BidNow': 'المزايدة الآن',\r\n 'BookACar': 'حجز سيارة',\r\n 'BookHotel': 'حجز فندق',\r\n 'BookNow': 'الحجز الآن',\r\n 'BuyNow': 'شراء الآن',\r\n 'ChatNow': 'الدردشة الآن',\r\n 'Compare': 'مقارنة',\r\n 'ContactUs': 'اتصل بنا',\r\n 'Coupon': 'الحصول على القسيمة',\r\n 'Directions': 'الاتجاهات',\r\n 'Donate': 'تبرع',\r\n 'Download': 'تنزيل',\r\n 'EmailNow': 'إرسال بريد إلكتروني الآن',\r\n 'EnrollNow': 'التسجيل الآن',\r\n 'FileNow': 'الإيداع الآن',\r\n 'FindJob': 'البحث عن عمل',\r\n 'FindStore': 'البحث عن المتجر',\r\n 'FreePlay': 'اللّعب المجاني',\r\n 'FreeQuote': 'اقتباس مجاني',\r\n 'FreeTrial': 'إصدار تجريبي مجاني',\r\n 'GetDeals': 'الحصول على الصفقات',\r\n 'GetOffer': 'الحصول على العرض',\r\n 'GetQuote': 'الحصول على عرض أسعار',\r\n 'JoinNow': 'الانضمام الآن',\r\n 'LearnMore': 'معرفة المزيد',\r\n 'ListenNow': 'الاستماع الآن',\r\n 'LogIn': 'تسجيل دخول',\r\n 'OrderNow': 'الطلب الآن',\r\n 'PlayGame': 'ألعب اللعبة',\r\n 'PlayNow': 'اللعب الآن',\r\n 'PostJob': 'نشر عمل',\r\n 'Register': 'تسجيل',\r\n 'RenewNow': 'التجديد الآن',\r\n 'RentACar': 'تأجير سيارة',\r\n 'RentNow': 'الإيجار الآن',\r\n 'Reorder': 'إعادة طلب',\r\n 'Reserve': 'حجز',\r\n 'Sale': 'الاطلاع على عملية البيع',\r\n 'SaveNow': 'حفظ الآن',\r\n 'Schedule': 'الجدول',\r\n 'SeeMenu': 'راجع القائمة',\r\n 'SeeOffer': 'الاطلاع على العرض',\r\n 'SellNow': 'البيع الآن',\r\n 'ShopNow': 'تسوق الآن',\r\n 'Showtimes': 'العروض',\r\n 'SignIn': 'تسجيل الدخول',\r\n 'SignUp': 'اشتراك',\r\n 'StartNow': 'بدء الآن',\r\n 'Subscribe': 'اشتراك',\r\n 'SwitchNow': 'التبديل الآن',\r\n 'TestDrive': 'اختبار القيادة',\r\n 'TryNow': 'جربه الآن',\r\n 'ViewCars': 'عرض السيارات',\r\n 'ViewPlans': 'عرض الخطط',\r\n 'VisitStore': 'زيارة المتجر',\r\n 'VoteNow': 'التصويت الآن',\r\n 'Watch': 'مشاهدة',\r\n 'WatchMore': 'مشاهدة المزيد',\r\n 'WatchNow': 'مشاهدة الآن',\r\n },\r\n 'Hebrew': {\r\n 'CustomText': 'טקסט מותאם אישית',\r\n 'ActNow': 'פעל עכשיו',\r\n 'ApplyNow': 'הגש בקשה עכשיו',\r\n 'BetNow': 'המר עכשיו',\r\n 'BidNow': 'שלח הצעת מחיר עכשיו',\r\n 'BookACar': 'הזמן מכונית',\r\n 'BookHotel': 'הזמן מלון',\r\n 'BookNow': 'להזמין עכשיו',\r\n 'BuyNow': 'קנה עכשיו',\r\n 'ChatNow': 'שוחח בצ\\'אט עכשיו',\r\n 'Compare': 'השווה',\r\n 'ContactUs': 'צור קשר',\r\n 'Coupon': 'קבל שובר',\r\n 'Directions': 'הוראות הגעה',\r\n 'Donate': 'תרום',\r\n 'Download': 'הורד',\r\n 'EmailNow': 'שלח דואר אלקטרוני עכשיו',\r\n 'EnrollNow': 'הירשם עכשיו',\r\n 'FileNow': 'הגש עכשיו',\r\n 'FindJob': 'חפש עבודה',\r\n 'FindStore': 'חפש חנות',\r\n 'FreePlay': 'משחק בחינם',\r\n 'FreeQuote': 'הצעת מחיר בחינם',\r\n 'FreeTrial': 'גירסת ניסיון בחינם',\r\n 'GetDeals': 'קבל עסקאות',\r\n 'GetOffer': 'קבל הצעה',\r\n 'GetQuote': 'קבל הצעת מחיר',\r\n 'JoinNow': 'הצטרף עכשיו',\r\n 'LearnMore': 'למד עוד',\r\n 'ListenNow': 'האזן עכשיו',\r\n 'LogIn': 'התחברות',\r\n 'OrderNow': 'הזמן עכשיו',\r\n 'PlayGame': 'שחק משחק',\r\n 'PlayNow': 'שחק עכשיו',\r\n 'PostJob': 'פרסם עבודה',\r\n 'Register': 'הרשמה',\r\n 'RenewNow': 'חדש עכשיו',\r\n 'RentACar': 'שכור רכב',\r\n 'RentNow': 'שכור עכשיו',\r\n 'Reorder': 'שינוי סדר',\r\n 'Reserve': 'ממלא מקום',\r\n 'Sale': 'הצג מכירה',\r\n 'SaveNow': 'שמור עכשיו',\r\n 'Schedule': 'לוח זמנים',\r\n 'SeeMenu': 'הצג תפריט',\r\n 'SeeOffer': 'הצג הצעה',\r\n 'SellNow': 'מכור עכשיו',\r\n 'ShopNow': 'קנה עכשיו',\r\n 'Showtimes': 'מועדי הצגה',\r\n 'SignIn': 'היכנס',\r\n 'SignUp': 'הירשם',\r\n 'StartNow': 'התחל עכשיו',\r\n 'Subscribe': 'הירשם כמנוי',\r\n 'SwitchNow': 'עבור עכשיו',\r\n 'TestDrive': 'גירסת ניסיון',\r\n 'TryNow': 'נסה עכשיו',\r\n 'ViewCars': 'הצג מכוניות',\r\n 'ViewPlans': 'הצג תוכניות',\r\n 'VisitStore': 'בקר בחנות',\r\n 'VoteNow': 'הצבע עכשיו',\r\n 'Watch': 'צפה',\r\n 'WatchMore': 'צפה בעוד',\r\n 'WatchNow': 'צפה עכשיו',\r\n },\r\n 'SimplifiedChinese': {\r\n 'CustomText': '自订文字',\r\n 'ActNow': '立即操作',\r\n 'ApplyNow': '立即应用',\r\n 'BetNow': '立即下注',\r\n 'BidNow': '立即进行标价',\r\n 'BookACar': '预订汽车',\r\n 'BookHotel': '预订酒店',\r\n 'BookNow': '立即预订',\r\n 'BuyNow': '立即购买',\r\n 'ChatNow': '立即开始聊天',\r\n 'Compare': '比较',\r\n 'ContactUs': '联系我们',\r\n 'Coupon': '获取优惠券',\r\n 'Directions': '路线',\r\n 'Donate': '捐赠',\r\n 'Download': '下载',\r\n 'EmailNow': '立即发送电子邮件',\r\n 'EnrollNow': '立即注册',\r\n 'FileNow': '立即文件',\r\n 'FindJob': '查找职位',\r\n 'FindStore': '查找应用商店',\r\n 'FreePlay': '免费播放',\r\n 'FreeQuote': '免费报价',\r\n 'FreeTrial': '免费试用',\r\n 'GetDeals': '获取交易',\r\n 'GetOffer': '获取产品/服务',\r\n 'GetQuote': '获取报价单',\r\n 'JoinNow': '立即加入',\r\n 'LearnMore': '了解详细信息',\r\n 'ListenNow': '立即收听',\r\n 'LogIn': '登录',\r\n 'OrderNow': '立即订购',\r\n 'PlayGame': '玩游戏',\r\n 'PlayNow': '立即播放',\r\n 'PostJob': '发布职位',\r\n 'Register': '注册',\r\n 'RenewNow': '立即续订',\r\n 'RentACar': '租用汽车',\r\n 'RentNow': '立即租赁',\r\n 'Reorder': '再订购',\r\n 'Reserve': '保留',\r\n 'Sale': '请参阅销售',\r\n 'SaveNow': '立即保存',\r\n 'Schedule': '日程安排',\r\n 'SeeMenu': '查看菜单',\r\n 'SeeOffer': '查看产品/服务',\r\n 'SellNow': '立即销售',\r\n 'ShopNow': '现在购买',\r\n 'Showtimes': '显示时间',\r\n 'SignIn': '登入',\r\n 'SignUp': '报名',\r\n 'StartNow': '立即开始',\r\n 'Subscribe': '订阅',\r\n 'SwitchNow': '立即切换',\r\n 'TestDrive': '试驾',\r\n 'TryNow': '立即试用',\r\n 'ViewCars': '查看汽车',\r\n 'ViewPlans': '查看计划',\r\n 'VisitStore': '访问应用商店',\r\n 'VoteNow': '立即投票',\r\n 'Watch': '观看',\r\n 'WatchMore': '观看更多',\r\n 'WatchNow': '立即观看',\r\n },\r\n 'Catalan': {\r\n 'CustomText': 'Text personalitzat',\r\n 'WatchNow': 'Mira-ho ara',\r\n 'WatchMore': 'Mostra\\'n més',\r\n 'Watch': 'Mira',\r\n 'VoteNow': 'Vota ara',\r\n 'VisitSite': 'Visita el lloc',\r\n 'ViewPlans': 'Mostra els plans',\r\n 'ViewNow': 'Mostra-ho ara',\r\n 'ViewCars': 'Mostra els cotxes',\r\n 'UsedCars': 'Cotxes de segona mà',\r\n 'TryNow': 'Prova-ho ara',\r\n 'TestDrive': 'Prova de conducció',\r\n 'Subscribe': 'Subscriu-te',\r\n 'StartNow': 'Comença ara',\r\n 'StartFree': 'Comença de franc',\r\n 'SignUp': 'Registra\\'t',\r\n 'SignIn': 'Inicia la sessió',\r\n 'Showtimes': 'Horaris',\r\n 'ShopNow': 'Compra ara',\r\n 'SellNow': 'Ven ara',\r\n 'SeeOffer': 'Mostra l\\'oferta',\r\n 'SeeMore': 'Mira\\'n més',\r\n 'SeeMenu': 'Mostra el menú',\r\n 'Schedule': 'Planifica',\r\n 'SaveNow': 'Desa-ho ara',\r\n 'SeeSale': 'Mostra la venda',\r\n 'Reserve': 'Reserva',\r\n 'RentNow': 'Lloga ara',\r\n 'RentACar': 'Lloga un cotxe',\r\n 'Register': 'Registra’t',\r\n 'PostJob': 'Publica la feina',\r\n 'PlayNow': 'Reprodueix-ho ara',\r\n 'PlayGame': 'Juga a un joc',\r\n 'OrderNow': 'Demana-ho ara',\r\n 'NewCars': 'Cotxes nous',\r\n 'Message': 'Missatge',\r\n 'LogIn': 'Inicia la sessió',\r\n 'ListenNow': 'Escolta ara',\r\n 'LearnMore': 'Més informació',\r\n 'JoinNow': 'Uneix-te ara',\r\n 'GetQuote': 'Demana un pressupost',\r\n 'GetOffer': 'Aconsegueix l\\'oferta',\r\n 'GetDeals': 'Aconsegueix ofertes',\r\n 'FreeTrial': 'Prova de franc',\r\n 'FreeQuote': 'Pressupost de franc',\r\n 'FreePlay': 'Reproducció de franc',\r\n 'FindJob': 'Cerca feina',\r\n 'FileNow': 'Arxiva ara',\r\n 'Explore': 'Explora',\r\n 'EnrollNow': 'Inscriu-t\\'hi ara',\r\n 'EmailNow': 'Envia un correu ara',\r\n 'Download': 'Baixa',\r\n 'Donate': 'Dona',\r\n 'GetCoupon': 'Obtén un cupó',\r\n 'ContactUs': 'Posa\\'t en contacte amb nosaltres',\r\n 'Compare': 'Compara',\r\n 'ChatNow': 'Xateja ara',\r\n 'BuyNow': 'Compra ara',\r\n 'Browse': 'Navega',\r\n 'BookNow': 'Reserva ara',\r\n 'BookHotel': 'Reserva un hotel',\r\n 'BookACar': 'Reserva un cotxe',\r\n 'BidNow': 'Ofereix ara',\r\n 'BetNow': 'Aposta ara',\r\n 'ApplyNow': 'Sol·licita-ho ara',\r\n 'ActNow': 'Actua ara',\r\n 'Directions': 'Direccions',\r\n 'FindStore': 'Cerca la Store',\r\n 'SwitchNow': 'Canvia ara',\r\n 'VisitStore': 'Visita la Store',\r\n 'RenewNow': 'Renova-la ara',\r\n 'Reorder': 'Reordena',\r\n 'Buildnow': 'Crea ara',\r\n 'Dealers': 'Distribuïdors',\r\n 'Getdemo': 'Obtén la demostració',\r\n 'Getnow': 'Obtén ara',\r\n 'Gotodemo': 'Ves a la demostració',\r\n 'Seedemo': 'Mostra la demostració',\r\n 'Seemodels': 'Mostra els models',\r\n 'Seeoffers': 'Mostra les ofertes',\r\n 'Viewdemo': 'Visualitza la demostració',\r\n },\r\n 'Gaelic': {\r\n 'CustomText': 'Teacsa gnàthaichte',\r\n 'WatchNow': 'Coimhead air an-dràsta',\r\n 'WatchMore': 'Coimhead air barrachd',\r\n 'Watch': 'Coimhead',\r\n 'VoteNow': 'Bhòt an-dràsta',\r\n 'VisitSite': 'Tadhail air an làrach',\r\n 'ViewPlans': 'Seall na planaichean',\r\n 'ViewNow': 'Faic an-dràsta',\r\n 'ViewCars': 'Faic càraichean',\r\n 'UsedCars': 'Seann-chàraichean',\r\n 'TryNow': 'Feuch e an-dràsta',\r\n 'TestDrive': 'Dèan draibh deuchainne',\r\n 'Subscribe': 'Fo-sgrìobh',\r\n 'StartNow': 'Tòisich an-dràsta',\r\n 'StartFree': 'Tòisich an-asgaidh',\r\n 'SignUp': 'Clàraich leinn',\r\n 'SignIn': 'Clàraich a-steach',\r\n 'Showtimes': 'Amannan seallaidh',\r\n 'ShopNow': 'Dèan seopadaireachd an-dràsta',\r\n 'SellNow': 'Reic an-dràsta',\r\n 'SeeOffer': 'Seall an tairgse',\r\n 'SeeMore': 'Seall barrachd',\r\n 'SeeMenu': 'Faic an clàr-taice',\r\n 'Schedule': 'An sgeideal',\r\n 'SaveNow': 'Sàbhail an-dràsta',\r\n 'SeeSale': 'Faic an reic',\r\n 'Reserve': 'Glèidh',\r\n 'RentNow': 'Faigh air mhàl an-dràsta',\r\n 'RentACar': 'Faigh càr air mhàl',\r\n 'Register': 'Clàraich',\r\n 'PostJob': 'Postaich obair',\r\n 'PlayNow': 'Cluich an-dràsta',\r\n 'PlayGame': 'Cluich an geama',\r\n 'OrderNow': 'Cuir òrdan an-dràsta',\r\n 'NewCars': 'Càraichean ùra',\r\n 'Message': 'Teachdaireachd',\r\n 'LogIn': 'Clàraich a-steach',\r\n 'ListenNow': 'Èist ris an-dràsta',\r\n 'LearnMore': 'Barrachd fiosrachaidh',\r\n 'JoinNow': 'Faigh ballrachd an-dràsta',\r\n 'GetQuote': 'Faigh ro-aithris chosgaisean',\r\n 'GetOffer': 'Faigh an tairgse',\r\n 'GetDeals': 'Faigh barganan',\r\n 'FreeTrial': 'Triail an-asgaidh',\r\n 'FreeQuote': 'Ro-aithris chosgaisean an-asgaidh',\r\n 'FreePlay': 'Cluich an-asgaidh',\r\n 'FindJob': 'Lorg obair',\r\n 'FileNow': 'Faidhlich an-dràsta',\r\n 'Explore': 'Rùraich',\r\n 'EnrollNow': 'Rolaich an-dràsta',\r\n 'EmailNow': 'Cuir post-d an-dràsta',\r\n 'Download': 'Luchdaich a-nuas',\r\n 'Donate': 'Thoir tabhartas',\r\n 'GetCoupon': 'Faigh an cùpon',\r\n 'ContactUs': 'Cuir fios thugainn',\r\n 'Compare': 'Dèan coimeas',\r\n 'ChatNow': 'Dèan cabadaich an-dràsta',\r\n 'BuyNow': 'Ceannaich an-dràsta',\r\n 'Browse': 'Rùraich',\r\n 'BookNow': 'Glèidh an-dràsta',\r\n 'BookHotel': 'Glèidh taigh-òsta',\r\n 'BookACar': 'Glèidh càr',\r\n 'BidNow': 'Cuir tairgse an-dràsta',\r\n 'BetNow': 'Cuir geall an-dràsta',\r\n 'ApplyNow': 'Dèan tagradh an-dràsta',\r\n 'ActNow': 'Tionndaidh ri gnìomh an-dràsta',\r\n 'Directions': 'Stiùireadh slighe',\r\n 'FindStore': 'Lorg bùth',\r\n 'SwitchNow': 'Imrich an-dràsta fhèin',\r\n 'VisitStore': 'Tadhail air a’ Bhùth',\r\n 'RenewNow': 'Ath-nuadhaich an-dràsta',\r\n 'Reorder': 'Òrdugh ùr',\r\n 'Buildnow': 'Tog an-dràsta',\r\n 'Dealers': 'Reiceadairean',\r\n 'Getdemo': 'Faigh demo',\r\n 'Getnow': 'Faigh an-dràsta',\r\n 'Gotodemo': 'Tadhail air an demo',\r\n 'Seedemo': 'Faic an demo',\r\n 'Seemodels': 'Seall na modailean',\r\n 'Seeoffers': 'Seall na tairgsean',\r\n 'Viewdemo': 'Seall an demo',\r\n },\r\n 'Hindi': {\r\n 'CustomText': 'कस्टम टेक्स्ट',\r\n 'WatchNow': 'अभी देखें',\r\n 'WatchMore': 'अधिक देखें',\r\n 'Watch': 'घड़ी',\r\n 'VoteNow': 'अभी वोट करें',\r\n 'VisitSite': 'साइट पर जाएँ',\r\n 'ViewPlans': 'योजनाएँ देखें',\r\n 'ViewNow': 'अभी देखें',\r\n 'ViewCars': 'कारें देखें',\r\n 'UsedCars': 'उपयोग की गई कारें',\r\n 'TryNow': 'अभी आज़माएँ',\r\n 'TestDrive': 'टेस्ट-ड्राइव',\r\n 'Subscribe': 'सदस्यता लें',\r\n 'StartNow': 'अभी शुरू करें',\r\n 'StartFree': 'मुफ़्त शुरू करें',\r\n 'SignUp': 'साइन अप करें',\r\n 'SignIn': 'साइन इन करें',\r\n 'Showtimes': 'शोटाइम',\r\n 'ShopNow': 'अभी खरीदें',\r\n 'SellNow': 'अभी बेचें',\r\n 'SeeOffer': 'ऑफ़र देखें',\r\n 'SeeMore': 'अधिक देखें',\r\n 'SeeMenu': 'मेनू देखें',\r\n 'Schedule': 'शेड्यूल करें',\r\n 'SaveNow': 'अभी सहेजें',\r\n 'SeeSale': 'सेल देखें',\r\n 'Reserve': 'आरक्षित करें',\r\n 'RentNow': 'अभी किराए पर लें',\r\n 'RentACar': 'कार किराए पर लें',\r\n 'Register': 'पंजीकृत करें',\r\n 'PostJob': 'जॉब पोस्ट करें',\r\n 'PlayNow': 'अभी खेलें',\r\n 'PlayGame': 'गेम खेलें',\r\n 'OrderNow': 'अभी ऑर्डर करें',\r\n 'NewCars': 'नई कारें',\r\n 'Message': 'संदेश',\r\n 'LogIn': 'लॉग इन करें',\r\n 'ListenNow': 'अभी सुनें',\r\n 'LearnMore': 'अधिक जानें',\r\n 'JoinNow': 'अभी शामिल हों',\r\n 'GetQuote': 'कीमत प्राप्त करें',\r\n 'GetOffer': 'ऑफ़र प्राप्त करें',\r\n 'GetDeals': 'डील प्राप्त करें',\r\n 'FreeTrial': 'मुफ़्त ट्रायल',\r\n 'FreeQuote': 'मुफ़्त कोटेशन',\r\n 'FreePlay': 'मुफ़्त खेलें',\r\n 'FindJob': 'जॉब ढूँढें',\r\n 'FileNow': 'अभी फ़ाइल करें',\r\n 'Explore': 'एक्सप्लोर करें',\r\n 'EnrollNow': 'अभी नामांकित करें',\r\n 'EmailNow': 'अभी ईमेल करें',\r\n 'Download': 'डाउनलोड करें',\r\n 'Donate': 'दान करें',\r\n 'GetCoupon': 'कूपन प्राप्त करें',\r\n 'ContactUs': 'हमसे संपर्क करें',\r\n 'Compare': 'तुलना करें',\r\n 'ChatNow': 'अभी चैट करें',\r\n 'BuyNow': 'अभी खरीदें',\r\n 'Browse': 'ब्राउज़ करें',\r\n 'BookNow': 'अभी बुक करें',\r\n 'BookHotel': 'होटल बुक करें',\r\n 'BookACar': 'कार बुक करें',\r\n 'BidNow': 'अभी बोली लगाएँ',\r\n 'BetNow': 'अभी बाज़ी लगाएँ',\r\n 'ApplyNow': 'अभी लागू करें',\r\n 'ActNow': 'अभी कार्रवाई करें',\r\n 'Directions': 'निर्देश',\r\n 'FindStore': 'Store ढूँढें',\r\n 'SwitchNow': 'अभी स्विच करें',\r\n 'VisitStore': 'Store पर जाएँ',\r\n 'RenewNow': 'अभी नवीनीकृत करें',\r\n 'Reorder': 'रीऑर्डर करें',\r\n 'Buildnow': 'अभी बनाएँ',\r\n 'Dealers': 'डीलर्स',\r\n 'Getdemo': 'डेमो प्राप्त करें',\r\n 'Getnow': 'अभी प्राप्त करें',\r\n 'Gotodemo': 'डेमो पर जाएँ',\r\n 'Seedemo': 'डेमो देखें',\r\n 'Seemodels': 'मॉडल देखें',\r\n 'Seeoffers': 'ऑफ़र देखें',\r\n 'Viewdemo': 'डेमो देखें',\r\n },\r\n 'Indonesian': {\r\n 'CustomText': 'Teks Kustom',\r\n 'WatchNow': 'Tonton Sekarang',\r\n 'WatchMore': 'Tonton Lainnya',\r\n 'Watch': 'Tonton',\r\n 'VoteNow': 'Pilih Sekarang',\r\n 'VisitSite': 'Kunjungi Situs',\r\n 'ViewPlans': 'Tampilkan Rencana',\r\n 'ViewNow': 'Tampilkan Sekarang',\r\n 'ViewCars': 'Tampilkan Mobil',\r\n 'UsedCars': 'Mobil Bekas',\r\n 'TryNow': 'Coba Sekarang',\r\n 'TestDrive': 'Uji Coba',\r\n 'Subscribe': 'Berlangganan',\r\n 'StartNow': 'Mulai Sekarang',\r\n 'StartFree': 'Mulai Gratis',\r\n 'SignUp': 'Daftar',\r\n 'SignIn': 'Masuk',\r\n 'Showtimes': 'Waktu peragaan',\r\n 'ShopNow': 'Belanja Sekarang',\r\n 'SellNow': 'Jual Sekarang',\r\n 'SeeOffer': 'Lihat Penawaran',\r\n 'SeeMore': 'Lihat Lainnya',\r\n 'SeeMenu': 'Lihat Menu',\r\n 'Schedule': 'Jadwalkan',\r\n 'SaveNow': 'Simpan Sekarang',\r\n 'SeeSale': 'Lihat Penjualan',\r\n 'Reserve': 'Memesan',\r\n 'RentNow': 'Sewa Sekarang',\r\n 'RentACar': 'Sewa Mobil',\r\n 'Register': 'Daftar',\r\n 'PostJob': 'Posting Pekerjaan',\r\n 'PlayNow': 'Putar Sekarang',\r\n 'PlayGame': 'Mainkan Game',\r\n 'OrderNow': 'Pesan Sekarang',\r\n 'NewCars': 'Mobil Baru',\r\n 'Message': 'Pesan',\r\n 'LogIn': 'Masuk',\r\n 'ListenNow': 'Dengarkan Sekarang',\r\n 'LearnMore': 'Pelajari Selengkapnya',\r\n 'JoinNow': 'Bergabung sekarang',\r\n 'GetQuote': 'Dapatkan Kutipan',\r\n 'GetOffer': 'Dapatkan Penawaran',\r\n 'GetDeals': 'Dapatkan Penawaran',\r\n 'FreeTrial': 'Percobaan Gratis',\r\n 'FreeQuote': 'Kutipan Gratis',\r\n 'FreePlay': 'Putar Gratis',\r\n 'FindJob': 'Temukan Pekerjaan',\r\n 'FileNow': 'File Sekarang',\r\n 'Explore': 'Jelajahi',\r\n 'EnrollNow': 'Daftar Sekarang',\r\n 'EmailNow': 'Email Sekarang',\r\n 'Download': 'Unduh',\r\n 'Donate': 'Donasi',\r\n 'GetCoupon': 'Dapatkan Kupon',\r\n 'ContactUs': 'Hubungi Kami',\r\n 'Compare': 'Bandingkan',\r\n 'ChatNow': 'Mengobrol Sekarang',\r\n 'BuyNow': 'Beli Sekarang',\r\n 'Browse': 'Telusuri',\r\n 'BookNow': 'Pesan Sekarang',\r\n 'BookHotel': 'Pesan Hotel',\r\n 'BookACar': 'Pesan mobil',\r\n 'BidNow': 'Tawaran Sekarang',\r\n 'BetNow': 'Bertaruh Sekarang',\r\n 'ApplyNow': 'Terapkan Sekarang',\r\n 'ActNow': 'Bertindak Sekarang',\r\n 'Directions': 'Petunjuk arah',\r\n 'FindStore': 'Temukan Store',\r\n 'SwitchNow': 'Beralih Sekarang',\r\n 'VisitStore': 'Kunjungi Store',\r\n 'RenewNow': 'Perpanjang Sekarang',\r\n 'Reorder': 'Urutkan ulang',\r\n 'Buildnow': 'Buat sekarang',\r\n 'Dealers': 'Dealer',\r\n 'Getdemo': 'Dapatkan demo',\r\n 'Getnow': 'Dapatkan sekarang',\r\n 'Gotodemo': 'Buka demo',\r\n 'Seedemo': 'Lihat demo',\r\n 'Seemodels': 'Lihat model',\r\n 'Seeoffers': 'Lihat penawaran',\r\n 'Viewdemo': 'Tampilkan demo',\r\n },\r\n 'Korean': {\r\n 'CustomText': '사용자 지정 텍스트',\r\n 'WatchNow': '지금 시청하기',\r\n 'WatchMore': '더 시청하기',\r\n 'Watch': '시청하기',\r\n 'VoteNow': '지금 투표하기',\r\n 'VisitSite': '사이트 방문',\r\n 'ViewPlans': '플랜 보기',\r\n 'ViewNow': '지금 보기',\r\n 'ViewCars': '자동차 보기',\r\n 'UsedCars': '중고차',\r\n 'TryNow': '지금 시도',\r\n 'TestDrive': '테스트 드라이브',\r\n 'Subscribe': '구독',\r\n 'StartNow': '지금 시작',\r\n 'StartFree': '무료로 시작',\r\n 'SignUp': '가입하기',\r\n 'SignIn': '로그인',\r\n 'Showtimes': '상영 시간',\r\n 'ShopNow': '지금 쇼핑하기',\r\n 'SellNow': '지금 판매',\r\n 'SeeOffer': '제안 보기',\r\n 'SeeMore': '더보기',\r\n 'SeeMenu': '메뉴 보기',\r\n 'Schedule': '일정',\r\n 'SaveNow': '지금 저장하기',\r\n 'SeeSale': '판매 보기',\r\n 'Reserve': '예약',\r\n 'RentNow': '지금 임대',\r\n 'RentACar': '차 임대하기',\r\n 'Register': '등록하기',\r\n 'PostJob': '사후 작업',\r\n 'PlayNow': '지금 플레이',\r\n 'PlayGame': '게임 플레이',\r\n 'OrderNow': '지금 주문하기',\r\n 'NewCars': '새 자동차',\r\n 'Message': '메시지',\r\n 'LogIn': '로그인',\r\n 'ListenNow': '지금 듣기',\r\n 'LearnMore': '더 알아보기',\r\n 'JoinNow': '지금 가입하기',\r\n 'GetQuote': '견적 받기',\r\n 'GetOffer': '제안 받기',\r\n 'GetDeals': '특가 가져오기',\r\n 'FreeTrial': '무료 시험판',\r\n 'FreeQuote': '무료 견적',\r\n 'FreePlay': '무료 플레이',\r\n 'FindJob': '일자리 찾기',\r\n 'FileNow': '지금 신청하기',\r\n 'Explore': '탐색하기',\r\n 'EnrollNow': '지금 등록',\r\n 'EmailNow': '지금 이메일 보내기',\r\n 'Download': '다운로드',\r\n 'Donate': '기부하기',\r\n 'GetCoupon': '쿠폰 받기',\r\n 'ContactUs': '문의하기',\r\n 'Compare': '비교하기',\r\n 'ChatNow': '지금 채팅',\r\n 'BuyNow': '지금 구매',\r\n 'Browse': '찾아보기',\r\n 'BookNow': '지금 예약하기',\r\n 'BookHotel': '호텔 예약하기',\r\n 'BookACar': '자동차 예약하기',\r\n 'BidNow': '지금 입찰하기',\r\n 'BetNow': '지금 내기하기',\r\n 'ApplyNow': '지금 신청하기',\r\n 'ActNow': '지금 행동하기',\r\n 'Directions': '길 찾기',\r\n 'FindStore': '매장 찾기',\r\n 'SwitchNow': '지금 전환',\r\n 'VisitStore': '매장 방문',\r\n 'RenewNow': '지금 갱신',\r\n 'Reorder': '다시 주문하기',\r\n 'Buildnow': '지금 빌드하기',\r\n 'Dealers': '대리점',\r\n 'Getdemo': '데모 받기',\r\n 'Getnow': '지금 받기',\r\n 'Gotodemo': '데모로 이동',\r\n 'Seedemo': '데모 보기',\r\n 'Seemodels': '모델 보기',\r\n 'Seeoffers': '혜택 보기',\r\n 'Viewdemo': '데모 보기',\r\n },\r\n 'Thai': {\r\n 'CustomText': 'ข้อความแบบกำหนดเอง',\r\n 'WatchNow': 'ดูตอนนี้',\r\n 'WatchMore': 'ดูเพิ่มเติม',\r\n 'Watch': 'ดู',\r\n 'VoteNow': 'โหวตตอนนี้',\r\n 'VisitSite': 'เยี่ยมชมไซต์',\r\n 'ViewPlans': 'ดูแผน',\r\n 'ViewNow': 'ดูตอนนี้',\r\n 'ViewCars': 'ดูรถยนต์',\r\n 'UsedCars': 'รถยนต์มือสอง',\r\n 'TryNow': 'ลองใช้ทันที',\r\n 'TestDrive': 'ทดลองใช้',\r\n 'Subscribe': 'สมัครใช้งาน',\r\n 'StartNow': 'เริ่มเลย',\r\n 'StartFree': 'เริ่มใช้งานฟรี',\r\n 'SignUp': 'ลงทะเบียน',\r\n 'SignIn': 'ลงชื่อเข้าใช้',\r\n 'Showtimes': 'เวลาแสดง',\r\n 'ShopNow': 'เลือกซื้อตอนนี้',\r\n 'SellNow': 'ขายทันที',\r\n 'SeeOffer': 'ดูข้อเสนอ',\r\n 'SeeMore': 'ดูเพิ่ม',\r\n 'SeeMenu': 'ดูเมนู',\r\n 'Schedule': 'จัดกำหนดการ',\r\n 'SaveNow': 'บันทึกเดี๋ยวนี้',\r\n 'SeeSale': 'ดูการขาย',\r\n 'Reserve': 'สำรอง',\r\n 'RentNow': 'เช่าทันที',\r\n 'RentACar': 'เช่ารถ',\r\n 'Register': 'ลงทะเบียน',\r\n 'PostJob': 'โพสต์งาน',\r\n 'PlayNow': 'เล่นเดี๋ยวนี้',\r\n 'PlayGame': 'เล่นเกม',\r\n 'OrderNow': 'สั่งซื้อทันที',\r\n 'NewCars': 'รถยนต์ใหม่',\r\n 'Message': 'ข้อความ',\r\n 'LogIn': 'เข้าสู่ระบบ',\r\n 'ListenNow': 'ฟังเดี๋ยวนี้',\r\n 'LearnMore': 'เรียนรู้เพิ่มเติม',\r\n 'JoinNow': 'เข้าร่วมเดี๋ยวนี้',\r\n 'GetQuote': 'รับใบเสนอราคา',\r\n 'GetOffer': 'รับข้อเสนอ',\r\n 'GetDeals': 'รับข้อเสนอ',\r\n 'FreeTrial': 'ทดลองใช้ฟรี',\r\n 'FreeQuote': 'ใบเสนอราคาฟรี',\r\n 'FreePlay': 'เล่นฟรี',\r\n 'FindJob': 'ค้นหางาน',\r\n 'FileNow': 'ทำไฟล์เดี๋ยวนี้',\r\n 'Explore': 'สำรวจ',\r\n 'EnrollNow': 'ลงทะเบียนทันที',\r\n 'EmailNow': 'ส่งอีเมลทันที',\r\n 'Download': 'ดาวน์โหลด',\r\n 'Donate': 'บริจาค',\r\n 'GetCoupon': 'รับคูปอง',\r\n 'ContactUs': 'ติดต่อเรา',\r\n 'Compare': 'เปรียบเทียบ',\r\n 'ChatNow': 'แชทตอนนี้',\r\n 'BuyNow': 'ซื้อตอนนี้',\r\n 'Browse': 'เรียกดู',\r\n 'BookNow': 'จองทันที',\r\n 'BookHotel': 'จองโรงแรม',\r\n 'BookACar': 'จองรถ',\r\n 'BidNow': 'เสนอราคาทันที',\r\n 'BetNow': 'เดิมพันตอนนี้',\r\n 'ApplyNow': 'นำไปใช้ทันที',\r\n 'ActNow': 'ดำเนินการทันที',\r\n 'Directions': 'เส้นทาง',\r\n 'FindStore': 'ค้นหา Store',\r\n 'SwitchNow': 'เปลี่ยนทันที',\r\n 'VisitStore': 'เยี่ยมชม Store',\r\n 'RenewNow': 'ต่ออายุตอนนี้',\r\n 'Reorder': 'เรียงลำดับใหม่',\r\n 'Buildnow': 'สร้างทันที',\r\n 'Dealers': 'ตัวแทนจำหน่าย',\r\n 'Getdemo': 'รับการสาธิต',\r\n 'Getnow': 'รับทันที',\r\n 'Gotodemo': 'ไปที่การสาธิต',\r\n 'Seedemo': 'ดูการสาธิต',\r\n 'Seemodels': 'ดูโมเดล',\r\n 'Seeoffers': 'ดูข้อเสนอ',\r\n 'Viewdemo': 'ดูการสาธิต',\r\n },\r\n 'Ukrainian': {\r\n 'CustomText': 'Налаштуйте текст',\r\n 'WatchNow': 'Перегляньте',\r\n 'WatchMore': 'Перегляньте більше',\r\n 'Watch': 'Перегляд',\r\n 'VoteNow': 'Проголосуйте',\r\n 'VisitSite': 'Відвідайте сайт',\r\n 'ViewPlans': 'Перегляньте плани',\r\n 'ViewNow': 'Перегляньте',\r\n 'ViewCars': 'Перегляньте автомобілі',\r\n 'UsedCars': 'Вживані автомобілі',\r\n 'TryNow': 'Спробуйте зараз',\r\n 'TestDrive': 'Тест-драйв',\r\n 'Subscribe': 'Підпишіться',\r\n 'StartNow': 'Почніть',\r\n 'StartFree': 'Почніть безкоштовно',\r\n 'SignUp': 'Зареєструйтеся',\r\n 'SignIn': 'Увійдіть',\r\n 'Showtimes': 'Сеанси',\r\n 'ShopNow': 'Придбайте зараз',\r\n 'SellNow': 'Продайте зараз',\r\n 'SeeOffer': 'Перегляньте пропозицію',\r\n 'SeeMore': 'Більше',\r\n 'SeeMenu': 'Перегляньте меню',\r\n 'Schedule': 'Заплануйте',\r\n 'SaveNow': 'Заощадьте зараз',\r\n 'SeeSale': 'Перегляньте розпродаж',\r\n 'Reserve': 'Зарезервуйте',\r\n 'RentNow': 'Візьміть у прокат зараз',\r\n 'RentACar': 'Візьміть авто у прокат',\r\n 'Register': 'Зареєструйтеся',\r\n 'PostJob': 'Опублікуйте вакансію',\r\n 'PlayNow': 'Грайте зараз',\r\n 'PlayGame': 'Грайте в гру',\r\n 'OrderNow': 'Замовте зараз',\r\n 'NewCars': 'Нові автомобілі',\r\n 'Message': 'Повідомлення',\r\n 'LogIn': 'Увійдіть',\r\n 'ListenNow': 'Прослухайте зараз',\r\n 'LearnMore': 'Дізнайтеся більше',\r\n 'JoinNow': 'Приєднайтеся',\r\n 'GetQuote': 'Отримайте котирування',\r\n 'GetOffer': 'Отримайте пропозицію',\r\n 'GetDeals': 'Отримайте угоди',\r\n 'FreeTrial': 'Ознайомтеся безкоштовно',\r\n 'FreeQuote': 'Безкоштовне котирування',\r\n 'FreePlay': 'Безкоштовна гра',\r\n 'FindJob': 'Знайдіть роботу',\r\n 'FileNow': 'Надішліть зараз',\r\n 'Explore': 'Ознайомтеся',\r\n 'EnrollNow': 'Зареєструйтеся зараз',\r\n 'EmailNow': 'Надішліть електронний лист зараз',\r\n 'Download': 'Завантажте',\r\n 'Donate': 'Внесіть пожертву',\r\n 'GetCoupon': 'Отримайте купон',\r\n 'ContactUs': 'Зверніться до нас',\r\n 'Compare': 'Порівняйте',\r\n 'ChatNow': 'Перейдіть у чат',\r\n 'BuyNow': 'Придбайте зараз',\r\n 'Browse': 'Огляньте',\r\n 'BookNow': 'Зарезервуйте зараз',\r\n 'BookHotel': 'Зарезервуйте готель',\r\n 'BookACar': 'Зарезервуйте автомобіль',\r\n 'BidNow': 'Зробіть цінову пропозицію зараз',\r\n 'BetNow': 'Зробіть ставку зараз',\r\n 'ApplyNow': 'Застосуйте зараз',\r\n 'ActNow': 'Дійте зараз',\r\n 'Directions': 'Маршрут',\r\n 'FindStore': 'Знайдіть магазин',\r\n 'SwitchNow': 'Перейдіть зараз',\r\n 'VisitStore': 'Відвідайте магазин',\r\n 'RenewNow': 'Поновіть зараз',\r\n 'Reorder': 'Змініть порядок',\r\n 'Buildnow': 'Побудуйте зараз',\r\n 'Dealers': 'Дилери',\r\n 'Getdemo': 'Отримайте демо-версію',\r\n 'Getnow': 'Отримайте зараз',\r\n 'Gotodemo': 'Перейдіть до демонстрації',\r\n 'Seedemo': 'Перегляньте демонстрацію',\r\n 'Seemodels': 'Перегляньте моделі',\r\n 'Seeoffers': 'Перегляньте пропозиції',\r\n 'Viewdemo': 'Подивіться демонстрацію',\r\n },\r\n 'Vietnamese': {\r\n 'CustomText': 'Văn bản tùy chỉnh',\r\n 'WatchNow': 'Xem ngay',\r\n 'WatchMore': 'Xem thêm',\r\n 'Watch': 'Xem',\r\n 'VoteNow': 'Bình chọn ngay',\r\n 'VisitSite': 'Truy nhập trang web',\r\n 'ViewPlans': 'Xem các gói',\r\n 'ViewNow': 'Xem ngay',\r\n 'ViewCars': 'Xem ô tô',\r\n 'UsedCars': 'Ô tô đã qua sử dụng',\r\n 'TryNow': 'Thử ngay',\r\n 'TestDrive': 'Chạy thử',\r\n 'Subscribe': 'Đăng ký',\r\n 'StartNow': 'Bắt đầu ngay',\r\n 'StartFree': 'Bắt đầu miễn phí',\r\n 'SignUp': 'Đăng ký',\r\n 'SignIn': 'Đăng nhập',\r\n 'Showtimes': 'Lịch chiếu',\r\n 'ShopNow': 'Mua ngay',\r\n 'SellNow': 'Bán ngay',\r\n 'SeeOffer': 'Xem chào hàng',\r\n 'SeeMore': 'Xem thêm',\r\n 'SeeMenu': 'Xem menu',\r\n 'Schedule': 'Lên lịch',\r\n 'SaveNow': 'Lưu ngay',\r\n 'SeeSale': 'Xem giảm giá',\r\n 'Reserve': 'Đặt trước',\r\n 'RentNow': 'Thuê ngay',\r\n 'RentACar': 'Thuê ô tô',\r\n 'Register': 'Đăng ký',\r\n 'PostJob': 'Đăng công việc',\r\n 'PlayNow': 'Chơi ngay',\r\n 'PlayGame': 'Chơi trò chơi',\r\n 'OrderNow': 'Đặt ngay',\r\n 'NewCars': 'Ô tô mới',\r\n 'Message': 'Tin nhắn',\r\n 'LogIn': 'Đăng nhập',\r\n 'ListenNow': 'Nghe ngay',\r\n 'LearnMore': 'Tìm hiểu thêm',\r\n 'JoinNow': 'Tham gia ngay',\r\n 'GetQuote': 'Lấy báo giá',\r\n 'GetOffer': 'Lấy chào hàng',\r\n 'GetDeals': 'Lấy ưu đãi',\r\n 'FreeTrial': 'Bản dùng thử',\r\n 'FreeQuote': 'Báo giá miễn phí',\r\n 'FreePlay': 'Chơi miễn phí',\r\n 'FindJob': 'Tìm công việc',\r\n 'FileNow': 'Sẵn dùng ngay',\r\n 'Explore': 'Khám phá',\r\n 'EnrollNow': 'Đăng ký ngay',\r\n 'EmailNow': 'Gửi email ngay',\r\n 'Download': 'Tải xuống',\r\n 'Donate': 'Tặng',\r\n 'GetCoupon': 'Lấy phiếu giảm giá',\r\n 'ContactUs': 'Liên hệ với chúng tôi',\r\n 'Compare': 'So sánh',\r\n 'ChatNow': 'Trò chuyện ngay',\r\n 'BuyNow': 'Mua ngay',\r\n 'Browse': 'Duyệt xem',\r\n 'BookNow': 'Đặt trước ngay',\r\n 'BookHotel': 'Đặt phòng khách sạn',\r\n 'BookACar': 'Đặt ô tô',\r\n 'BidNow': 'Trả giá ngay',\r\n 'BetNow': 'Lựa chọn ngay',\r\n 'ApplyNow': 'Áp dụng ngay',\r\n 'ActNow': 'Hành động ngay',\r\n 'Directions': 'Chỉ đường',\r\n 'FindStore': 'Tìm cửa hàng',\r\n 'SwitchNow': 'Chuyển ngay',\r\n 'VisitStore': 'Đến cửa hàng',\r\n 'RenewNow': 'Gia hạn ngay',\r\n 'Reorder': 'Sắp xếp lại',\r\n 'Buildnow': 'Dựng ngay',\r\n 'Dealers': 'Đại lý',\r\n 'Getdemo': 'Lấy bản demo',\r\n 'Getnow': 'Lấy ngay',\r\n 'Gotodemo': 'Đến bản demo',\r\n 'Seedemo': 'Xem bản demo',\r\n 'Seemodels': 'Xem mẫu',\r\n 'Seeoffers': 'Xem chào hàng',\r\n 'Viewdemo': 'Xem bản demo',\r\n },\r\n 'Afrikaans': {\r\n 'ActNow': 'Tree nou op',\r\n 'ApplyNow': 'Doen nou aansoek',\r\n 'BetNow': 'Wed nou',\r\n 'BidNow': 'Bie nou',\r\n 'BookACar': 'Bespreek ’n motor',\r\n 'BookHotel': 'Bespreek hotel',\r\n 'BookNow': 'Bespreek nou',\r\n 'Browse': 'Blaai',\r\n 'BuyNow': 'Koop nou',\r\n 'ChatNow': 'Klets nou',\r\n 'Compare': 'Vergelyk',\r\n 'ContactUs': 'Kontak ons',\r\n 'GetCoupon': 'Kry koepon',\r\n 'Donate': 'Skenk',\r\n 'Download': 'Laai af',\r\n 'EmailNow': 'E-pos nou',\r\n 'EnrollNow': 'Skryf nou in',\r\n 'Explore': 'Verken',\r\n 'FileNow': 'Lêer nou',\r\n 'FindJob': 'Vind werk',\r\n 'FreePlay': 'Gratis speel',\r\n 'FreeQuote': 'Gratis kwotasie',\r\n 'FreeTrial': 'Gratis proeflopie',\r\n 'GetDeals': 'Kry aanbiedings',\r\n 'GetOffer': 'Kry aanbieding',\r\n 'GetQuote': 'Kry kwotasie',\r\n 'JoinNow': 'Sluit nou aan',\r\n 'LearnMore': 'Kom meer te wete',\r\n 'ListenNow': 'Luister nou',\r\n 'LogIn': 'Teken aan',\r\n 'Message': 'Boodskap',\r\n 'NewCars': 'Nuwe motors',\r\n 'OrderNow': 'Bestel nou',\r\n 'PlayGame': 'Speel speletjie',\r\n 'PlayNow': 'Speel nou',\r\n 'PostJob': 'Plaas werk',\r\n 'Register': 'Registreer',\r\n 'RentACar': 'Huur ’n motor',\r\n 'RentNow': 'Huur nou',\r\n 'Reserve': 'Reserveer',\r\n 'SeeSale': 'Sien uitverkoping',\r\n 'SaveNow': 'Stoor nou',\r\n 'Schedule': 'Skedule',\r\n 'SeeMenu': 'Sien kieslys',\r\n 'SeeMore': 'Sien meer',\r\n 'SeeOffer': 'Sien aanbieding',\r\n 'SellNow': 'Verkoop nou',\r\n 'ShopNow': 'Koop nou',\r\n 'Showtimes': 'Vertoontyd',\r\n 'SignIn': 'Meld aan',\r\n 'SignUp': 'Registreer',\r\n 'StartFree': 'Begin gratis',\r\n 'StartNow': 'Begin nou',\r\n 'Subscribe': 'Inteken',\r\n 'TestDrive': 'Toetsbestuur',\r\n 'TryNow': 'Probeer nou',\r\n 'UsedCars': 'Tweedehandse motors',\r\n 'ViewCars': 'Bekyk motors',\r\n 'ViewNow': 'Bekyk nou',\r\n 'ViewPlans': 'Bekyk planne',\r\n 'VisitSite': 'Besoek werf',\r\n 'VoteNow': 'Stem nou',\r\n 'Watch': 'Kyk',\r\n 'WatchMore': 'Kyk meer',\r\n 'WatchNow': 'Kyk nou',\r\n 'Directions': 'Aanwysings',\r\n 'FindStore': 'Vind winkel',\r\n 'SwitchNow': 'Skakel nou oor',\r\n 'VisitStore': 'Besoek winkel',\r\n 'RenewNow': 'Hernu nou',\r\n 'Reorder': 'Bestel weer',\r\n 'Buildnow': 'Bou nou',\r\n 'Dealers': 'Handelaars',\r\n 'Getdemo': 'Kry demo',\r\n 'Getnow': 'Kry nou',\r\n 'Gotodemo': 'Gaan na demo',\r\n 'Seedemo': 'Sien demo',\r\n 'Seemodels': 'Sien modelle',\r\n 'Seeoffers': 'Sien aanbiedings',\r\n 'Viewdemo': 'Bekyk demo',\r\n 'CustomText': 'Pasmaak teks',\r\n 'Discover': 'Ontdek',\r\n 'Dismiss': 'Weier',\r\n },\r\n 'Amharic': {\r\n 'ActNow': 'አሁን ይተግብሩ',\r\n 'ApplyNow': 'አሁን ይተግብሩ',\r\n 'BetNow': 'አሁን ይወራረዱ',\r\n 'BidNow': 'አሁን ይጫረቱ',\r\n 'BookACar': 'መኪና ያስይዙ',\r\n 'BookHotel': 'የሆቴል ቦታ ያስይዙ',\r\n 'BookNow': 'አሁን ቦታ ያስይዙ',\r\n 'Browse': 'ያስሱ',\r\n 'BuyNow': 'አሁን ይግዙ',\r\n 'ChatNow': 'አሁን ይወያዩ',\r\n 'Compare': 'ያወዳድሩ',\r\n 'ContactUs': 'እኛን ያግኙን',\r\n 'GetCoupon': 'ኩፖን ያግኙ',\r\n 'Donate': 'ይለገሱ',\r\n 'Download': 'ያውርዱ',\r\n 'EmailNow': 'አሁን ኢሜይል ያድርጉ',\r\n 'EnrollNow': 'አሁን ይመዝገቡ',\r\n 'Explore': 'ያስሱ',\r\n 'FileNow': 'አሁን ፋይል ያድርጉ',\r\n 'FindJob': 'ስራ ይፈልጉ',\r\n 'FreePlay': 'ነጻ ይጫወቱ',\r\n 'FreeQuote': 'ነፃ ጥቅስ',\r\n 'FreeTrial': 'የነፃ ሙከራ',\r\n 'GetDeals': 'ስምምነት ያግኙ',\r\n 'GetOffer': 'ቅናሽ ያግኙ',\r\n 'GetQuote': 'ጥቅስ ያግኙ',\r\n 'JoinNow': 'አሁን ይቀላቀሉ',\r\n 'LearnMore': 'ተጨማሪ ይወቁ',\r\n 'ListenNow': 'አሁኑኑ ያዳምጡ',\r\n 'LogIn': 'በመለያ ይግቡ',\r\n 'Message': 'መልዕክት',\r\n 'NewCars': 'አዳዲስ መኪናዎች',\r\n 'OrderNow': 'አሁን ይዘዙ',\r\n 'PlayGame': 'ጨዋታ ይጫወቱ',\r\n 'PlayNow': 'አሁን ይጫወቱ',\r\n 'PostJob': 'ጽሁፍ ልጥፍ',\r\n 'Register': 'ተመዝገብ',\r\n 'RentACar': 'መኪና ይከራዩ',\r\n 'RentNow': 'አሁን ይከራዩ',\r\n 'Reserve': 'መጠባበቂያ',\r\n 'SeeSale': 'ሽያጩን ይመልከቱ',\r\n 'SaveNow': 'አሁን ያስቀምጡ',\r\n 'Schedule': 'የጊዜ ሰሌዳ',\r\n 'SeeMenu': 'ምናሌ ይመልከቱ',\r\n 'SeeMore': 'ተጨማሪ ይመልከቱ',\r\n 'SeeOffer': 'ቅናሽ ይመልከቱ',\r\n 'SellNow': 'አሁን ይሽጡ',\r\n 'ShopNow': 'አሁን ይግዙ',\r\n 'Showtimes': 'የማሳያ ጊዜያት',\r\n 'SignIn': 'በመለያ ይግቡ',\r\n 'SignUp': 'ይመዝገቡ',\r\n 'StartFree': 'ነጻ ሙከራ ይጀምሩ',\r\n 'StartNow': 'አሁን ይጀምሩ',\r\n 'Subscribe': 'ለደምበኝነት ይመዝገቡ',\r\n 'TestDrive': 'መንዳት ይሞክሩ',\r\n 'TryNow': 'አሁን ይሞክሩ',\r\n 'UsedCars': 'በጥቅም ላይ የዋሉ መኪናዎች',\r\n 'ViewCars': 'መኪናዎች ይመልከቱ',\r\n 'ViewNow': 'አሁን ይመልከቱ',\r\n 'ViewPlans': 'እቅዶችን ይመልከቱ',\r\n 'VisitSite': 'ድረ-ገጽ ይጎብኙ',\r\n 'VoteNow': 'አሁን ድምጽ ይስጡ',\r\n 'Watch': 'ይመልከቱ',\r\n 'WatchMore': 'ተጨማሪ ይመልከቱ',\r\n 'WatchNow': 'አሁን ይመልከቱ',\r\n 'Directions': 'አቅጣጫዎች',\r\n 'FindStore': 'መደብር ይፈልጉ',\r\n 'SwitchNow': 'አሁን ይቀይሩ',\r\n 'VisitStore': 'መደብር ይመልከቱ',\r\n 'RenewNow': 'አሁን ያድሱ',\r\n 'Reorder': 'እንደገና ደርድር',\r\n 'Buildnow': 'አሁን ይገንቡ',\r\n 'Dealers': 'ነጋዴዎች',\r\n 'Getdemo': 'ማሳያ ያግኙ',\r\n 'Getnow': 'አሁን ያግኙ',\r\n 'Gotodemo': 'ወደ ማሳያ ይሂዱ',\r\n 'Seedemo': 'ማሳያ ይመልከቱ',\r\n 'Seemodels': 'ሞዴሎች ይመልከቱ',\r\n 'Seeoffers': 'አቅርቦቶችን ይመልከቱ',\r\n 'Viewdemo': 'ማሳያ ይመልከቱ',\r\n 'CustomText': 'ብጁ ጽሑፍ',\r\n 'Discover': 'አግኝ ',\r\n 'Dismiss': 'አሰናብት ',\r\n },\r\n 'Armenian': {\r\n 'ActNow': 'Գործել հիմա',\r\n 'ApplyNow': 'Դիմել հիմա',\r\n 'BetNow': 'Խաղադրույք կատարել հիմա',\r\n 'BidNow': 'Գնային առաջարկ կատարել հիմա',\r\n 'BookACar': 'Ամրագրել ավտոմեքենա',\r\n 'BookHotel': 'Ամրագրել հյուրանոց',\r\n 'BookNow': 'Ամրագրել հիմա',\r\n 'Browse': 'Զննել',\r\n 'BuyNow': 'Գնել հիմա',\r\n 'ChatNow': 'Զրուցել հիմա',\r\n 'Compare': 'Համեմատել',\r\n 'ContactUs': 'Դիմել մեզ',\r\n 'GetCoupon': 'Ստանալ կտրոն',\r\n 'Donate': 'Նվիրատվություն կատարել',\r\n 'Download': 'Ներբեռնել',\r\n 'EmailNow': 'Էլ. ուղերձ ուղարկել հիմա',\r\n 'EnrollNow': 'Գրանցվել հիմա',\r\n 'Explore': 'Հետազոտել',\r\n 'FileNow': 'Ներկայացնել հիմա',\r\n 'FindJob': 'Գտնել աշխատանք',\r\n 'FreePlay': 'Անվճար խաղ',\r\n 'FreeQuote': 'Ազատ գնային առաջարկ',\r\n 'FreeTrial': 'Անվճար փորձաշրջան',\r\n 'GetDeals': 'Ստանալ հատուկ առաջարկները',\r\n 'GetOffer': 'Ստանալ առաջարկ',\r\n 'GetQuote': 'Ստանալ գնային առաջարկ',\r\n 'JoinNow': 'Միանալ հիմա',\r\n 'LearnMore': 'Իմանալ ավելին',\r\n 'ListenNow': 'Լսի՛ր հիմա',\r\n 'LogIn': 'Մուտք գործել',\r\n 'Message': 'Հաղորդագրություն',\r\n 'NewCars': 'Նոր ավտոմեքենաներ',\r\n 'OrderNow': 'Պատվիրել հիմա',\r\n 'PlayGame': 'Խաղալ խաղ',\r\n 'PlayNow': 'Խաղալ հիմա',\r\n 'PostJob': 'Աշխատանքի հայտարարություն տեղադրել',\r\n 'Register': 'Գրանցվել',\r\n 'RentACar': 'Վարձակալել ավտոմեքենա',\r\n 'RentNow': 'Վարձակալել հիմա',\r\n 'Reserve': 'Պատվիրել',\r\n 'SeeSale': 'Տեսնել զեղչը',\r\n 'SaveNow': 'Խնայել հիմա',\r\n 'Schedule': 'Ժամանակացույց',\r\n 'SeeMenu': 'Տեսնել ցանկը',\r\n 'SeeMore': 'Տեսնել ավելին',\r\n 'SeeOffer': 'Տեսնել առաջարկը',\r\n 'SellNow': 'Վաճառել հիմա',\r\n 'ShopNow': 'Գնել հիմա',\r\n 'Showtimes': 'Ցուցադրման ժամեր',\r\n 'SignIn': 'Մուտք գործել',\r\n 'SignUp': 'Գրանցվել',\r\n 'StartFree': 'Սկսել անվճար',\r\n 'StartNow': 'Սկսել հիմա',\r\n 'Subscribe': 'Բաժանորդագրվել',\r\n 'TestDrive': 'Փորձնական վարել',\r\n 'TryNow': 'Փորձել հիմա',\r\n 'UsedCars': 'Օգտագործված ավտոմեքենաներ',\r\n 'ViewCars': 'Դիտել ավտոմեքենաներ',\r\n 'ViewNow': 'Դիտել հիմա',\r\n 'ViewPlans': 'Դիտել պլանները',\r\n 'VisitSite': 'Այցելեք կայքը',\r\n 'VoteNow': 'Քվեարկել հիմա',\r\n 'Watch': 'Դիտել',\r\n 'WatchMore': 'Դիտել ավելին',\r\n 'WatchNow': 'Դիտել հիմա',\r\n 'Directions': 'Ուղղություններ',\r\n 'FindStore': 'Գտնել խանութ',\r\n 'SwitchNow': 'Փոխարկել հիմա',\r\n 'VisitStore': 'Այցելել խանութը',\r\n 'RenewNow': 'Նորացնել հիմա',\r\n 'Reorder': 'Կրկին պատվիրել',\r\n 'Buildnow': 'Կառուցել հիմա',\r\n 'Dealers': 'Գործակալ',\r\n 'Getdemo': 'Ստանալ ցուցադրում',\r\n 'Getnow': 'Ստանալ հիմա',\r\n 'Gotodemo': 'Անցնել ցուցադրմանը',\r\n 'Seedemo': 'Տեսնել ցուցադրումը',\r\n 'Seemodels': 'Տեսնել մոդելները',\r\n 'Seeoffers': 'Տեսնել առաջարկները',\r\n 'Viewdemo': 'Դիտել ցուցադրումը',\r\n 'CustomText': 'Հարմարեցված գրվածք',\r\n 'Discover': 'Բացահայտել',\r\n 'Dismiss': 'Անտեսել',\r\n },\r\n 'Assamese': {\r\n 'ActNow': 'এতিয়াই কাৰ্য কৰক',\r\n 'ApplyNow': 'এতিয়াই আৱেদন কৰক',\r\n 'BetNow': 'এতিয়াই বাজি মাৰক',\r\n 'BidNow': 'এতিয়াই বিড কৰক',\r\n 'BookACar': 'এখন গাড়ী বুক কৰক',\r\n 'BookHotel': 'হোটেল বুক কৰক',\r\n 'BookNow': 'এতিয়াই বুক কৰক',\r\n 'Browse': 'ব্ৰাউজ কৰক',\r\n 'BuyNow': 'এতিয়াই কিনক',\r\n 'ChatNow': 'এতিয়াই চাট কৰক',\r\n 'Compare': 'তুলনা কৰক',\r\n 'ContactUs': 'আমাৰ সৈতে যোগাযোগ কৰক',\r\n 'GetCoupon': 'কুপন লাভ কৰক',\r\n 'Donate': 'দান কৰক',\r\n 'Download': 'ডাউনল\\'ড কৰক',\r\n 'EmailNow': 'এতিয়াই ইমেইল কৰক',\r\n 'EnrollNow': 'এতিয়াই পঞ্জীয়ন কৰক',\r\n 'Explore': 'অন্বেষণ কৰক',\r\n 'FileNow': 'এতিয়াই ফাইল কৰক',\r\n 'FindJob': 'চাকৰি বিচাৰক',\r\n 'FreePlay': 'বিনামূলীয়াকৈ প্লে’ কৰক',\r\n 'FreeQuote': 'বিনামূলীয়া উদ্ধৃতি',\r\n 'FreeTrial': 'বিনামূলীয়া ট্ৰায়েল',\r\n 'GetDeals': 'ডীল লাভ কৰক',\r\n 'GetOffer': 'অফাৰ লাভ কৰক',\r\n 'GetQuote': 'উদ্ধৃতি লাভ কৰক',\r\n 'JoinNow': 'এতিয়াই যোগদান কৰক',\r\n 'LearnMore': 'অধিক জানক',\r\n 'ListenNow': 'এতিয়াই শুনক',\r\n 'LogIn': 'লগ ইন কৰক',\r\n 'Message': 'বাৰ্তা',\r\n 'NewCars': 'নতুন গাড়ী',\r\n 'OrderNow': 'এতিয়াই অৰ্ডাৰ কৰক',\r\n 'PlayGame': 'গে’ম খেলক',\r\n 'PlayNow': 'এতিয়াই প্লে’ কৰক',\r\n 'PostJob': 'চাকৰি প’ষ্ট কৰক',\r\n 'Register': 'পঞ্জীয়ন কৰক',\r\n 'RentACar': 'এখন গাড়ী ভাড়ালৈ লওক',\r\n 'RentNow': 'এতিয়াই ভাড়ালৈ দিয়ক',\r\n 'Reserve': 'আৰক্ষণ',\r\n 'SeeSale': 'বিক্ৰী চাওক',\r\n 'SaveNow': 'এতিয়াই সংৰক্ষণ কৰক',\r\n 'Schedule': 'সময়সূচী',\r\n 'SeeMenu': 'মেনু চাওক',\r\n 'SeeMore': 'অধিক চাওক',\r\n 'SeeOffer': 'অফাৰ চাওক',\r\n 'SellNow': 'এতিয়াই বিক্ৰী কৰক',\r\n 'ShopNow': 'এতিয়াই বজাৰ কৰক',\r\n 'Showtimes': 'প্ৰদৰ্শনৰ সময়',\r\n 'SignIn': 'ছাইন ইন কৰক',\r\n 'SignUp': 'ছাইন আপ কৰক',\r\n 'StartFree': 'বিনামূলীয়াকৈ আৰম্ভ কৰক',\r\n 'StartNow': 'এতিয়াই আৰম্ভ কৰক',\r\n 'Subscribe': 'ছাবস্ক্ৰাইব কৰক',\r\n 'TestDrive': 'পৰীক্ষণমূলক গাড়ী চালনা',\r\n 'TryNow': 'এতিয়াই কৰি চাওক',\r\n 'UsedCars': 'ব্যৱহৃত গাড়ী',\r\n 'ViewCars': 'গাড়ীসমূহ চাওক',\r\n 'ViewNow': 'এতিয়াই চাওক',\r\n 'ViewPlans': 'পৰিকল্পনাসমূহ চাওক',\r\n 'VisitSite': 'ছাইটলৈ যাওক',\r\n 'VoteNow': 'এতিয়াই ভোট দিয়ক',\r\n 'Watch': 'ঘড়ী',\r\n 'WatchMore': 'অধিক চাওক',\r\n 'WatchNow': 'এতিয়াই চাওক',\r\n 'Directions': 'নিৰ্দেশনাসমূহ',\r\n 'FindStore': 'Store বিচাৰক',\r\n 'SwitchNow': 'এতিয়াই সলনি কৰক',\r\n 'VisitStore': 'Store-লৈ যাওক',\r\n 'RenewNow': 'এতিয়াই নৱীকৰণ কৰক',\r\n 'Reorder': 'পুনৰ অৰ্ডাৰ কৰক',\r\n 'Buildnow': 'এতিয়াই নিৰ্মাণ কৰক',\r\n 'Dealers': 'ডীলাৰ',\r\n 'Getdemo': 'ডেম’ লাভ কৰক',\r\n 'Getnow': 'এতিয়াই লাভ কৰক',\r\n 'Gotodemo': 'ডেম’লৈ যাওক',\r\n 'Seedemo': 'ডেম’ চাওক',\r\n 'Seemodels': 'মডেলসমূহ চাওক',\r\n 'Seeoffers': 'অফাৰ চাওক',\r\n 'Viewdemo': 'ডেম’ চাওক',\r\n 'CustomText': 'অনুকূলিত পাঠ',\r\n 'Discover': 'আৱিষ্কাৰ কৰক',\r\n 'Dismiss': 'অগ্ৰাহ্য কৰক',\r\n },\r\n 'Azerbaijani': {\r\n 'ActNow': 'İndi Hərəkət Et',\r\n 'ApplyNow': 'İndi Tətbiq et',\r\n 'BetNow': 'İndi Mərc et',\r\n 'BidNow': 'İndi Təklif et',\r\n 'BookACar': 'Maşın Rezervasiya et',\r\n 'BookHotel': 'Otel Rezervasiya et',\r\n 'BookNow': 'İndi Rezervasiya et',\r\n 'Browse': 'Bax',\r\n 'BuyNow': 'İndi Al',\r\n 'ChatNow': 'İndi Söhbət et',\r\n 'Compare': 'Müqayisə et',\r\n 'ContactUs': 'Bizimlə Əlaqə Saxla',\r\n 'GetCoupon': 'Kupon Əldə et',\r\n 'Donate': 'İanə Et',\r\n 'Download': 'Endir',\r\n 'EmailNow': 'İndi E-poçt göndər',\r\n 'EnrollNow': 'İndi Qeydiyyatdan keç',\r\n 'Explore': 'Araşdır',\r\n 'FileNow': 'Fayl İndi',\r\n 'FindJob': 'İş Tap',\r\n 'FreePlay': 'Pulsuz İfa et',\r\n 'FreeQuote': 'Pulsuz Sitat',\r\n 'FreeTrial': 'Pulsuz Sınaq',\r\n 'GetDeals': 'Sövdələşmə Əldə et',\r\n 'GetOffer': 'Təklif Əldə et',\r\n 'GetQuote': 'Sitat Ədə et',\r\n 'JoinNow': 'İndi Qoşul',\r\n 'LearnMore': 'Ətraflı Məlumat',\r\n 'ListenNow': 'İndi Dinlə',\r\n 'LogIn': 'Daxil Ol',\r\n 'Message': 'Mesaj',\r\n 'NewCars': 'Yeni Maşınlar',\r\n 'OrderNow': 'İndi Sifariş et',\r\n 'PlayGame': 'Oyun Oyna',\r\n 'PlayNow': 'İndi İfa et',\r\n 'PostJob': 'Tapşırıq Göndər',\r\n 'Register': 'Qeydiyyatdan keç',\r\n 'RentACar': 'Maşın İcarəyə Ver',\r\n 'RentNow': 'İndi İcarəyə Ver',\r\n 'Reserve': 'Rezerv Et',\r\n 'SeeSale': 'Satışa Bax',\r\n 'SaveNow': 'İndi Saxla',\r\n 'Schedule': 'Cədvəl',\r\n 'SeeMenu': 'Menyuya Bax',\r\n 'SeeMore': 'Daha Çoxuna Bax',\r\n 'SeeOffer': 'Təklifə Bax',\r\n 'SellNow': 'İndi Sat',\r\n 'ShopNow': 'İndi Alış-veriş et',\r\n 'Showtimes': 'Şou vaxtları',\r\n 'SignIn': 'Daxil Ol',\r\n 'SignUp': 'Qeydiyyatdan Keç',\r\n 'StartFree': 'Pulsuz Başla',\r\n 'StartNow': 'İndi Başla',\r\n 'Subscribe': 'Abunə Ol',\r\n 'TestDrive': 'Sınaq Sürüşü',\r\n 'TryNow': 'İndi Sına',\r\n 'UsedCars': 'İstifadə edilmiş Maşınlar',\r\n 'ViewCars': 'Maşınlara Bax',\r\n 'ViewNow': 'İndi Bax',\r\n 'ViewPlans': 'Planlara Bax',\r\n 'VisitSite': 'Sayta Daxil Ol',\r\n 'VoteNow': 'İndi Səs Ver',\r\n 'Watch': 'Bax',\r\n 'WatchMore': 'Daha Çoxuna Bax',\r\n 'WatchNow': 'İndi Bax',\r\n 'Directions': 'İstiqamətlər',\r\n 'FindStore': 'Mağaza Tap',\r\n 'SwitchNow': 'İndi Keç',\r\n 'VisitStore': 'Mağazanı Ziyarət Et',\r\n 'RenewNow': 'İndi Yenilə',\r\n 'Reorder': 'Yenidən Sifariş Et',\r\n 'Buildnow': 'İndi Qur',\r\n 'Dealers': 'Satıcılar',\r\n 'Getdemo': 'Demo Əldə et',\r\n 'Getnow': 'İndi Əldə et',\r\n 'Gotodemo': 'Demoya keç',\r\n 'Seedemo': 'Demoya bax',\r\n 'Seemodels': 'Modellərə bax',\r\n 'Seeoffers': 'Təkliflərə bax',\r\n 'Viewdemo': 'Demoya bax',\r\n 'CustomText': 'Fərdi Mətn',\r\n 'Discover': 'Kəşf Et',\r\n 'Dismiss': 'Bağla',\r\n },\r\n 'Basque': {\r\n 'ActNow': 'Egin orain',\r\n 'ApplyNow': 'Aurkeztu zeure burua',\r\n 'BetNow': 'Egin apustua',\r\n 'BidNow': 'Egin eskaintza',\r\n 'BookACar': 'Erreserbatu autoa',\r\n 'BookHotel': 'Erreserbatu hotela',\r\n 'BookNow': 'Erreserbatu orain',\r\n 'Browse': 'Arakatu',\r\n 'BuyNow': 'Erosi orain',\r\n 'ChatNow': 'Txateatu orain',\r\n 'Compare': 'Konparatu',\r\n 'ContactUs': 'Jarri gurekin harremanetan',\r\n 'GetCoupon': 'Eskuratu kupoia',\r\n 'Donate': 'Eman',\r\n 'Download': 'Deskargatu',\r\n 'EmailNow': 'Bidali mezu elektronikoa',\r\n 'EnrollNow': 'Eman izena orain',\r\n 'Explore': 'Arakatu',\r\n 'FileNow': 'Artxibatu orain',\r\n 'FindJob': 'Bilatu lanpostua',\r\n 'FreePlay': 'Doako jokoa',\r\n 'FreeQuote': 'Doako aurrekontua',\r\n 'FreeTrial': 'Doako proba',\r\n 'GetDeals': 'Eskuratu aukerak',\r\n 'GetOffer': 'Eskuratu eskaintza',\r\n 'GetQuote': 'Eskuratu aurrekontua',\r\n 'JoinNow': 'Sartu orain',\r\n 'LearnMore': 'Informazio gehiago',\r\n 'ListenNow': 'Entzun orain',\r\n 'LogIn': 'Hasi saioa',\r\n 'Message': 'Mezua',\r\n 'NewCars': 'Auto berriak',\r\n 'OrderNow': 'Eskatu orain',\r\n 'PlayGame': 'Jokatu bideo-jokoa',\r\n 'PlayNow': 'Jokatu orain',\r\n 'PostJob': 'Argitaratu lanpostua',\r\n 'Register': 'Erregistratu',\r\n 'RentACar': 'Alokatu autoa',\r\n 'RentNow': 'Alokatu orain',\r\n 'Reserve': 'Erreserbatu',\r\n 'SeeSale': 'Ikusi beherapena',\r\n 'SaveNow': 'Gorde orain',\r\n 'Schedule': 'Agenda',\r\n 'SeeMenu': 'Ikusi menua',\r\n 'SeeMore': 'Ikusi gehiago',\r\n 'SeeOffer': 'Ikusi eskaintza',\r\n 'SellNow': 'Saldu orain',\r\n 'ShopNow': 'Erosi orain',\r\n 'Showtimes': 'Emanaldi-ordutegia',\r\n 'SignIn': 'Hasi saioa',\r\n 'SignUp': 'Eman izena',\r\n 'StartFree': 'Hasi doan',\r\n 'StartNow': 'Hasi orain',\r\n 'Subscribe': 'Harpidetu',\r\n 'TestDrive': 'Probako bertsioa',\r\n 'TryNow': 'Probatu Orain',\r\n 'UsedCars': 'Erabilitako autoak',\r\n 'ViewCars': 'Ikusi autoak',\r\n 'ViewNow': 'Ikusi orain',\r\n 'ViewPlans': 'Ikusi planak',\r\n 'VisitSite': 'Ikusi gunea',\r\n 'VoteNow': 'Bozkatu',\r\n 'Watch': 'Ikusi',\r\n 'WatchMore': 'Ikusi gehiago',\r\n 'WatchNow': 'Ikusi orain',\r\n 'Directions': 'Jarraibideak',\r\n 'FindStore': 'Bilatu dena',\r\n 'SwitchNow': 'Aldatu orain',\r\n 'VisitStore': 'Bisitatu dena',\r\n 'RenewNow': 'Berritu orain',\r\n 'Reorder': 'Berriro eskatu',\r\n 'Buildnow': 'Eraiki orain',\r\n 'Dealers': 'Saltzaileak',\r\n 'Getdemo': 'Eskuratu demoa',\r\n 'Getnow': 'Eskuratu orain',\r\n 'Gotodemo': 'Joan demora',\r\n 'Seedemo': 'Ikusi demoa',\r\n 'Seemodels': 'Ikusi modeloak',\r\n 'Seeoffers': 'Ikusi eskaintzak',\r\n 'Viewdemo': 'Ikusi demoa',\r\n 'CustomText': 'Testu pertsonalizatua',\r\n 'Discover': 'Aurkitu',\r\n 'Dismiss': 'Baztertu',\r\n },\r\n 'Bengali': {\r\n 'ActNow': 'এখনই কাজ করুন',\r\n 'ApplyNow': 'এখনই প্রয়োগ করুন',\r\n 'BetNow': 'এখনই বাজি ধরুন',\r\n 'BidNow': 'এখনই নিলাম ডাকুন',\r\n 'BookACar': 'একটি গাড়ি বুক করুন',\r\n 'BookHotel': 'হোটেল বুক করুন',\r\n 'BookNow': 'এখনই বুক করুন',\r\n 'Browse': 'ব্রাউজ করুন',\r\n 'BuyNow': 'এখনই কিনুন',\r\n 'ChatNow': 'এখনই চ্যাট করুন',\r\n 'Compare': 'তুলনা করুন',\r\n 'ContactUs': 'আমাদের সাথে যোগাযোগ করুন',\r\n 'GetCoupon': 'কুপন পান',\r\n 'Donate': 'দান করুন',\r\n 'Download': 'ডাউনলোড করুন',\r\n 'EmailNow': 'এখনই ইমেল করুন',\r\n 'EnrollNow': 'এখনই নাম লেখান',\r\n 'Explore': 'এক্সপ্লোর করুন',\r\n 'FileNow': 'এখনই ফাইল করুন',\r\n 'FindJob': 'কাজ খুঁজুন',\r\n 'FreePlay': 'বিনামূল্যে খেলুন',\r\n 'FreeQuote': 'বিনামূল্যে উদ্ধৃতি',\r\n 'FreeTrial': 'বিনামূল্যের ট্রায়াল',\r\n 'GetDeals': 'ডিলগুলি পান',\r\n 'GetOffer': 'অফার পান',\r\n 'GetQuote': 'উদ্ধৃতি পান',\r\n 'JoinNow': 'এখনই যোগ দিন',\r\n 'LearnMore': 'আরও জানুন',\r\n 'ListenNow': 'এখনই শুনুন',\r\n 'LogIn': 'লগ ইন করুন',\r\n 'Message': 'বার্তা',\r\n 'NewCars': 'নতুন গাড়িগুলি',\r\n 'OrderNow': 'এখনই অর্ডার করুন',\r\n 'PlayGame': 'গেম খেলুন',\r\n 'PlayNow': 'এখনই বাজান',\r\n 'PostJob': 'চাকরি পোস্ট করুন',\r\n 'Register': 'নিবন্ধন করুন',\r\n 'RentACar': 'একটি গাড়ি ভাড়া করুন',\r\n 'RentNow': 'এখনই ভাড়া নিন',\r\n 'Reserve': 'রিজার্ভ করুন',\r\n 'SeeSale': 'বিক্রয় দেখুন',\r\n 'SaveNow': 'এখনই সংরক্ষণ করুন',\r\n 'Schedule': 'সময়সূচি',\r\n 'SeeMenu': 'মেনু দেখুন',\r\n 'SeeMore': 'আরও দেখুন',\r\n 'SeeOffer': 'অফার দেখুন',\r\n 'SellNow': 'এখনই বিক্রি করুন',\r\n 'ShopNow': 'এখনই কেনাকাটা করুন',\r\n 'Showtimes': 'শোটাইমগুলি',\r\n 'SignIn': 'সাইন ইন করুন',\r\n 'SignUp': 'সাইন আপ করুন',\r\n 'StartFree': 'বিনামূল্যে শুরু করুন',\r\n 'StartNow': 'এখনই শুরু করুন',\r\n 'Subscribe': 'সদস্যতা নিন',\r\n 'TestDrive': 'টেস্ট ড্রাইভ করুন',\r\n 'TryNow': 'এখনই চেষ্টা করুন',\r\n 'UsedCars': 'ব্যবহৃত গাড়িগুলি',\r\n 'ViewCars': 'গাড়িগুলি দেখুন',\r\n 'ViewNow': 'এখনই দর্শন করুন',\r\n 'ViewPlans': 'প্ল্যানগুলি দর্শন করুন',\r\n 'VisitSite': 'সাইটে যান',\r\n 'VoteNow': 'এখনই ভোট দিন',\r\n 'Watch': 'পর্যবেক্ষণ করুন',\r\n 'WatchMore': 'আরো পর্যবেক্ষণ করুন',\r\n 'WatchNow': 'এখনই পর্যবেক্ষণ করুন',\r\n 'Directions': 'দিকনির্দেশ',\r\n 'FindStore': 'Store খুঁজুন',\r\n 'SwitchNow': 'এখনই স্যুইচ করুন',\r\n 'VisitStore': 'Store-এ যান',\r\n 'RenewNow': 'এখনই পুনর্নবীকরণ করুন',\r\n 'Reorder': 'পুনরায় ক্রমসজ্জা করুন',\r\n 'Buildnow': 'এখনই তৈরি করুন',\r\n 'Dealers': 'ডিলাররা',\r\n 'Getdemo': 'ডেমো পান',\r\n 'Getnow': 'এখনই পান',\r\n 'Gotodemo': 'ডেমোতে যান',\r\n 'Seedemo': 'ডেমো দেখুন',\r\n 'Seemodels': 'মডেলগুলি দেখুন',\r\n 'Seeoffers': 'অফারগুলি দেখুন',\r\n 'Viewdemo': 'ডেমো দেখুন',\r\n 'CustomText': 'কাস্টম পাঠ্য',\r\n 'Discover': 'আবিষ্কার করুন',\r\n 'Dismiss': 'খারিজ করুন',\r\n },\r\n 'Cambodian': {\r\n 'ActNow': 'ធ្វើសកម្មភាពឥឡូវនេះ',\r\n 'ApplyNow': 'អនុវត្តឥឡូវនេះ',\r\n 'BetNow': 'ភ្នាល់ឥឡូវនេះ',\r\n 'BidNow': 'ដេញថ្លៃឥឡូវនេះ',\r\n 'BookACar': 'កក់ឡាន',\r\n 'BookHotel': 'កក់សណ្ឋាគារ',\r\n 'BookNow': 'កក់ឥឡូវនេះ',\r\n 'Browse': 'រុករក',\r\n 'BuyNow': 'ទិញឥឡូវនេះ',\r\n 'ChatNow': 'ជជែកឥឡូវនេះ',\r\n 'Compare': 'ប្រៀបធៀប',\r\n 'ContactUs': 'ទាក់ទងពួកយើង',\r\n 'GetCoupon': 'យកគូប៉ុង',\r\n 'Donate': 'បរិច្ចាគ',\r\n 'Download': 'ទាញយក',\r\n 'EmailNow': 'ផ្ញើអ៊ីម៉ែលឥឡូវនេះ',\r\n 'EnrollNow': 'ចុះឈ្មោះឥឡូវនេះ',\r\n 'Explore': 'ស្វែងយល់',\r\n 'FileNow': 'ដាក់ឯកសារឥឡូវនេះ',\r\n 'FindJob': 'ស្វែងរកការងារ',\r\n 'FreePlay': 'លេងដោយឥតគិតថ្លៃ',\r\n 'FreeQuote': 'ការដាក់តម្លៃឥតគិតថ្លៃ',\r\n 'FreeTrial': 'សាកល្បងដោយឥតគិតថ្លៃ',\r\n 'GetDeals': 'យកការព្រមព្រៀង',\r\n 'GetOffer': 'យកការផ្តល់ជូន',\r\n 'GetQuote': 'យកការដាក់តម្លៃ',\r\n 'JoinNow': 'ចូលរួមឥឡូវនេះ',\r\n 'LearnMore': 'ស្វែងយល់បន្ថែម',\r\n 'ListenNow': 'ស្តាប់ឥឡូវនេះ',\r\n 'LogIn': 'ចូលក្នុងប្រព័ន្ធ',\r\n 'Message': 'សារ',\r\n 'NewCars': 'ឡានថ្មី',\r\n 'OrderNow': 'បញ្ជាទិញឥឡូវនេះ',\r\n 'PlayGame': 'លេងហ្គេម',\r\n 'PlayNow': 'លេងឥឡូវនេះ',\r\n 'PostJob': 'សារដាក់ផ្សាយការងារ',\r\n 'Register': 'ចុះឈ្មោះ',\r\n 'RentACar': 'ជួលឡាន',\r\n 'RentNow': 'ជួលឥឡូវនេះ',\r\n 'Reserve': 'កក់ទុក',\r\n 'SeeSale': 'មើលការលក់',\r\n 'SaveNow': 'រក្សាទុកឥឡូវនេះ',\r\n 'Schedule': 'កាលវិភាគ',\r\n 'SeeMenu': 'មើលម៉ឺនុយ',\r\n 'SeeMore': 'មើលច្រើនទៀត',\r\n 'SeeOffer': 'មើលការផ្តល់ជូន',\r\n 'SellNow': 'លក់ឥឡូវនេះ',\r\n 'ShopNow': 'ទិញទំនិញឥឡូវនេះ',\r\n 'Showtimes': 'ពេលបញ្ចាំង',\r\n 'SignIn': 'ចុះឈ្មោះចូល',\r\n 'SignUp': 'ចុះឈ្មោះប្រើ',\r\n 'StartFree': 'ចាប់ផ្តើមដោយឥតគិតថ្លៃ',\r\n 'StartNow': 'ចាប់ផ្តើមឥឡូវនេះ',\r\n 'Subscribe': 'ជាវ',\r\n 'TestDrive': 'បើកបរសាកល្បង',\r\n 'TryNow': 'សាកល្បងប្រើឥឡូវនេះ',\r\n 'UsedCars': 'ឡានប្រើរួច',\r\n 'ViewCars': 'មើលឡាន',\r\n 'ViewNow': 'មើលឥឡូវនេះ',\r\n 'ViewPlans': 'មើលផែនការ',\r\n 'VisitSite': 'ចូលទៅកាន់ទំព័រវិប',\r\n 'VoteNow': 'បោះឆ្នោតឥឡូវនេះ',\r\n 'Watch': 'មើល',\r\n 'WatchMore': 'មើលច្រើនទៀត',\r\n 'WatchNow': 'មើលឥឡូវនេះ',\r\n 'Directions': 'ទិសដៅ',\r\n 'FindStore': 'ស្វែងរកហាង',\r\n 'SwitchNow': 'ប្ដូរឥឡូវនេះ',\r\n 'VisitStore': 'មើលហាង',\r\n 'RenewNow': 'បន្តឡើងវិញឥឡូវនេះ',\r\n 'Reorder': 'រៀបតាមលំដាប់ឡើងវិញ',\r\n 'Buildnow': 'បង្កើតឥឡូវនេះ',\r\n 'Dealers': 'ឈ្មួញ',\r\n 'Getdemo': 'យកការបង្ហាញ',\r\n 'Getnow': 'យកឥឡូវនេះ',\r\n 'Gotodemo': 'ចូលទៅកាន់ការសាកល្បង',\r\n 'Seedemo': 'មើលការសាកល្បង',\r\n 'Seemodels': 'មើលម៉ូដែល',\r\n 'Seeoffers': 'មើលការផ្តល់ជូន',\r\n 'Viewdemo': 'មើលការសាកល្បង',\r\n 'CustomText': 'អត្ថបទផ្ទាល់ខ្លួន',\r\n 'Discover': 'រកឃើញ',\r\n 'Dismiss': 'បោះបង់',\r\n },\r\n 'Galician': {\r\n 'ActNow': 'Actuar agora',\r\n 'ApplyNow': 'Aplicar agora',\r\n 'BetNow': 'Apostar agora',\r\n 'BidNow': 'Poxar agora',\r\n 'BookACar': 'Reservar un coche',\r\n 'BookHotel': 'Reservar hotel',\r\n 'BookNow': 'Reservar agora',\r\n 'Browse': 'Explorar',\r\n 'BuyNow': 'Comprar agora',\r\n 'ChatNow': 'Chatear agora',\r\n 'Compare': 'Comparar',\r\n 'ContactUs': 'Ponte en contacto connosco',\r\n 'GetCoupon': 'Obter cupón',\r\n 'Donate': 'Doar',\r\n 'Download': 'Descargar',\r\n 'EmailNow': 'Enviar correo electrónico agora',\r\n 'EnrollNow': 'Matricularse agora',\r\n 'Explore': 'Explorar',\r\n 'FileNow': 'Arquivar agora',\r\n 'FindJob': 'Buscar traballo',\r\n 'FreePlay': 'Xogo gratis',\r\n 'FreeQuote': 'Orzamento gratis',\r\n 'FreeTrial': 'Proba gratuíta',\r\n 'GetDeals': 'Obter ofertas',\r\n 'GetOffer': 'Obter oferta',\r\n 'GetQuote': 'Obter orzamento',\r\n 'JoinNow': 'Unirse agora',\r\n 'LearnMore': 'Máis información',\r\n 'ListenNow': 'Escoitar agora',\r\n 'LogIn': 'Iniciar sesión',\r\n 'Message': 'Mensaxe',\r\n 'NewCars': 'Novos coches',\r\n 'OrderNow': 'Pedir agora',\r\n 'PlayGame': 'Xogar',\r\n 'PlayNow': 'Xogar agora',\r\n 'PostJob': 'Publicar traballo',\r\n 'Register': 'Rexistrarse',\r\n 'RentACar': 'Alugar un coche',\r\n 'RentNow': 'Alugar agora',\r\n 'Reserve': 'Reservar',\r\n 'SeeSale': 'Ver rebaixa',\r\n 'SaveNow': 'Gardar agora',\r\n 'Schedule': 'Programar',\r\n 'SeeMenu': 'Ver menú',\r\n 'SeeMore': 'Ver máis',\r\n 'SeeOffer': 'Ver oferta',\r\n 'SellNow': 'Vender agora',\r\n 'ShopNow': 'Comprar agora',\r\n 'Showtimes': 'Horarios',\r\n 'SignIn': 'Iniciar sesión',\r\n 'SignUp': 'Rexistrarse',\r\n 'StartFree': 'Comezar gratis',\r\n 'StartNow': 'Comezar agora',\r\n 'Subscribe': 'Subscribirse',\r\n 'TestDrive': 'Versión de proba',\r\n 'TryNow': 'Probar agora',\r\n 'UsedCars': 'Coches usados',\r\n 'ViewCars': 'Ver coches',\r\n 'ViewNow': 'Ver agora',\r\n 'ViewPlans': 'Ver plans',\r\n 'VisitSite': 'Visitar sitio',\r\n 'VoteNow': 'Votar agora',\r\n 'Watch': 'Ver',\r\n 'WatchMore': 'Ver máis',\r\n 'WatchNow': 'Ver agora',\r\n 'Directions': 'Indicacións',\r\n 'FindStore': 'Atopar tenda',\r\n 'SwitchNow': 'Cambiar agora',\r\n 'VisitStore': 'Visitar tenda',\r\n 'RenewNow': 'Renovar agora',\r\n 'Reorder': 'Volver facer o pedido',\r\n 'Buildnow': 'Compilar agora',\r\n 'Dealers': 'Distribuidores',\r\n 'Getdemo': 'Obter demo',\r\n 'Getnow': 'Obter agora',\r\n 'Gotodemo': 'Ir á demo',\r\n 'Seedemo': 'Ver demo',\r\n 'Seemodels': 'Ver modelos',\r\n 'Seeoffers': 'Ver ofertas',\r\n 'Viewdemo': 'Ver demo',\r\n 'CustomText': 'Texto personalizado',\r\n 'Discover': 'Descubrir',\r\n 'Dismiss': 'Rexeitar',\r\n },\r\n 'Georgian': {\r\n 'ActNow': 'იმოქმედეთ ახლა',\r\n 'ApplyNow': 'გამოიყენეთ ახლა',\r\n 'BetNow': 'ფსონის გაკეთება ახლა',\r\n 'BidNow': 'ფსონის დადება ახლა',\r\n 'BookACar': 'მანქანის დაჯავშნა',\r\n 'BookHotel': 'სასტუმროს დაჯავშნა',\r\n 'BookNow': 'დაჯავშნეთ ახლა',\r\n 'Browse': 'დათვალიერება',\r\n 'BuyNow': 'ახლავე ყიდვა',\r\n 'ChatNow': 'საუბარი ახლა',\r\n 'Compare': 'შედარება',\r\n 'ContactUs': 'დაგვიკავშირდით',\r\n 'GetCoupon': 'ვაუჩერის მიღება',\r\n 'Donate': 'ქველმოქმედება',\r\n 'Download': 'ჩამოტვირთვა',\r\n 'EmailNow': 'ელწერილის გაგზავნა ახლა',\r\n 'EnrollNow': 'დარეგისტრირდით ახლა',\r\n 'Explore': 'დათვალიერება',\r\n 'FileNow': 'ფაილის გაგზავნა ახლა',\r\n 'FindJob': 'სამსახურის ძებნა',\r\n 'FreePlay': 'უფასო თამაში',\r\n 'FreeQuote': 'უფასო ციტატა',\r\n 'FreeTrial': 'უფასო საცდელი ვერსია',\r\n 'GetDeals': 'გარიგებების ჩატვირთვა',\r\n 'GetOffer': 'შეთავაზების მიღება',\r\n 'GetQuote': 'ციტატის ჩატვირთვა',\r\n 'JoinNow': 'გაწევრიანება ახლა',\r\n 'LearnMore': 'შეიტყვეთ მეტი',\r\n 'ListenNow': 'მოუსმინეთ ახლა',\r\n 'LogIn': 'ავტორიზაცია',\r\n 'Message': 'შეტყობინება',\r\n 'NewCars': 'ახალი მანქანები',\r\n 'OrderNow': 'შეუკვეთეთ ახლა',\r\n 'PlayGame': 'თამაშის თამაში',\r\n 'PlayNow': 'ითამაშეთ ახლა',\r\n 'PostJob': 'ვაკანსიის გამოქვეყნება',\r\n 'Register': 'დარეგისტრირება',\r\n 'RentACar': 'მანქანის დაქირავება',\r\n 'RentNow': 'იქირავეთ ახლა',\r\n 'Reserve': 'დაჯავშნა',\r\n 'SeeSale': 'ფასდაკლების ნახვა',\r\n 'SaveNow': 'შენახვა ახლა',\r\n 'Schedule': 'გრაფიკი',\r\n 'SeeMenu': 'მენიუს ნახვა',\r\n 'SeeMore': 'მეტის ნახვა',\r\n 'SeeOffer': 'შეთავაზების ნახვა',\r\n 'SellNow': 'გაყიდეთ ახლა',\r\n 'ShopNow': 'შეიძინეთ ახლა',\r\n 'Showtimes': 'გადაცემის დროები',\r\n 'SignIn': 'შესვლა',\r\n 'SignUp': 'რეგისტრაცია',\r\n 'StartFree': 'დაიწყეთ უფასოდ',\r\n 'StartNow': 'დაიწყეთ ახლა',\r\n 'Subscribe': 'გამოწერა',\r\n 'TestDrive': 'სატესტო ტარება',\r\n 'TryNow': 'სცადეთ ახლა',\r\n 'UsedCars': 'მეორადი მანქანები',\r\n 'ViewCars': 'მანქანების ნახვა',\r\n 'ViewNow': 'ნახვა ახლა',\r\n 'ViewPlans': 'გეგმების ნახვა',\r\n 'VisitSite': 'ვებსაიტის მონახულება',\r\n 'VoteNow': 'ხმის მიცემა ახლა',\r\n 'Watch': 'ყურება',\r\n 'WatchMore': 'მეტის ყურება',\r\n 'WatchNow': 'ყურება ახლა',\r\n 'Directions': 'მიმართულებები',\r\n 'FindStore': 'მაღაზიის ძებნა',\r\n 'SwitchNow': 'გადართვა ახლა',\r\n 'VisitStore': 'მაღაზიის ნახვა',\r\n 'RenewNow': 'განახლება ახლა',\r\n 'Reorder': 'გადალაგება',\r\n 'Buildnow': 'აწყობა ახლა',\r\n 'Dealers': 'დილერები',\r\n 'Getdemo': 'სადემონსტრაციო ვერსიის ჩატვირთვა',\r\n 'Getnow': 'მიიღეთ ახლა',\r\n 'Gotodemo': 'სადემონსტრაციო ვერსიაზე გადასვლა',\r\n 'Seedemo': 'სადემონსტრაციო ვერსიის ნახვა',\r\n 'Seemodels': 'მოდელების ნახვა',\r\n 'Seeoffers': 'შეთავაზებების ნახვა',\r\n 'Viewdemo': 'სადემონსტრაციო ვერსიის ნახვა',\r\n 'CustomText': 'მორგებული ტექსტი',\r\n 'Discover': 'აღმოაჩინეთ',\r\n 'Dismiss': 'დახურვა',\r\n },\r\n 'Gujarati': {\r\n 'ActNow': 'હમણાં જ કાર્ય કરો',\r\n 'ApplyNow': 'હમણાં જ લાગુ કરો',\r\n 'BetNow': 'હમણાં જ બેટ કરો',\r\n 'BidNow': 'હમણાં જ બિડ કરો',\r\n 'BookACar': 'કાર બુક કરો',\r\n 'BookHotel': 'હોટેલ બુક કરો',\r\n 'BookNow': 'હમણાં જ બુક કરો',\r\n 'Browse': 'બ્રાઉઝ કરો',\r\n 'BuyNow': 'હમણાં જ ખરીદો',\r\n 'ChatNow': 'હમણાં જ ચૅટ કરો',\r\n 'Compare': 'તુલના કરો',\r\n 'ContactUs': 'અમારો સંપર્ક કરો',\r\n 'GetCoupon': 'કૂપન મેળવો',\r\n 'Donate': 'દાન કરો',\r\n 'Download': 'ડાઉનલોડ કરો',\r\n 'EmailNow': 'હમણાં જ ઈમેલ કરો',\r\n 'EnrollNow': 'હમણાં જ નોંધણી કરાવો',\r\n 'Explore': 'એક્સપ્લોર કરો',\r\n 'FileNow': 'હમણાં જ ફાઇલ કરો',\r\n 'FindJob': 'જૉબ શોધો',\r\n 'FreePlay': 'મફત ચલાવો',\r\n 'FreeQuote': 'મફત ક્વોટ',\r\n 'FreeTrial': 'મફત અજમાયશ',\r\n 'GetDeals': 'ડિલ્સ મેળવો',\r\n 'GetOffer': 'ઑફર મેળવો',\r\n 'GetQuote': 'ક્વોટ મેળવો',\r\n 'JoinNow': 'હમણાં જ જોડાઓ',\r\n 'LearnMore': 'વધુ જાણો',\r\n 'ListenNow': 'હમણાં જ સાંભળો',\r\n 'LogIn': 'લૉગ ઇન કરો',\r\n 'Message': 'સંદેશ',\r\n 'NewCars': 'નવી કાર્સ',\r\n 'OrderNow': 'હમણાં જ ઑર્ડર આપો',\r\n 'PlayGame': 'રમત રમો',\r\n 'PlayNow': 'હમણાં જ ચલાવો',\r\n 'PostJob': 'જૉબ પોસ્ટ કરો',\r\n 'Register': 'નોંધણી કરાવો',\r\n 'RentACar': 'કાર ભાડે લો',\r\n 'RentNow': 'હમણાં જ ભાડે લો',\r\n 'Reserve': 'આરક્ષિત કરો',\r\n 'SeeSale': 'વેચાણ જુઓ',\r\n 'SaveNow': 'હમણાં જ સાચવો',\r\n 'Schedule': 'શેડ્યૂલ કરો',\r\n 'SeeMenu': 'મેનૂ જુઓ',\r\n 'SeeMore': 'વધુ જુઓ',\r\n 'SeeOffer': 'ઑફર જુઓ',\r\n 'SellNow': 'હમણાં જ વેચો',\r\n 'ShopNow': 'હમણાં જ ખરીદો',\r\n 'Showtimes': 'શૉટાઇમ્સ',\r\n 'SignIn': 'સાઇન ઇન કરો',\r\n 'SignUp': 'સાઇન અપ કરો',\r\n 'StartFree': 'મફતમાં પ્રારંભ કરો',\r\n 'StartNow': 'હમણાં જ પ્રારંભ કરો',\r\n 'Subscribe': 'સદસ્યતા લો',\r\n 'TestDrive': 'ટેસ્ટ ડ્રાઇવ',\r\n 'TryNow': 'હમણાં જ અજમાવો',\r\n 'UsedCars': 'ઉપયોગમાં લેવાયેલ કાર્સ',\r\n 'ViewCars': 'કાર્સ જુઓ',\r\n 'ViewNow': 'હમણાં જ જુઓ',\r\n 'ViewPlans': 'પ્લાન્સ જુઓ',\r\n 'VisitSite': 'સાઇટની મુલાકાત લો',\r\n 'VoteNow': 'હમણાં જ મત આપો',\r\n 'Watch': 'જુઓ',\r\n 'WatchMore': 'વધુ જુઓ',\r\n 'WatchNow': 'હમણાં જ જુઓ',\r\n 'Directions': 'દિશાનિર્દેશો',\r\n 'FindStore': 'સ્ટોર શોધો',\r\n 'SwitchNow': 'હમણાં જ સ્વિચ કરો',\r\n 'VisitStore': 'સ્ટોરની મુલાકાત લો',\r\n 'RenewNow': 'હમણાં જ નવીનીકૃત કરો',\r\n 'Reorder': 'પુનઃક્રમાંકિત કરો',\r\n 'Buildnow': 'હમણાં જ બનાવો',\r\n 'Dealers': 'ડીલર્સ',\r\n 'Getdemo': 'ડેમો મેળવો',\r\n 'Getnow': 'હમણાં જ મેળવો',\r\n 'Gotodemo': 'ડેમો પર જાઓ',\r\n 'Seedemo': 'ડેમો જુઓ',\r\n 'Seemodels': 'મૉડલ્સ જુઓ',\r\n 'Seeoffers': 'ઑફર્સ જુઓ',\r\n 'Viewdemo': 'ડેમો જુઓ',\r\n 'CustomText': 'કસ્ટમ ટેક્સ્ટ',\r\n 'Discover': 'શોધો',\r\n 'Dismiss': 'કાઢી નાખો',\r\n },\r\n 'Kannada': {\r\n 'ActNow': 'ಈಗ ಕ್ರಮಕೈಗೊಳ್ಳಿ',\r\n 'ApplyNow': 'ಈಗ ಅರ್ಜಿ ಸಲ್ಲಿಸಿ',\r\n 'BetNow': 'ಈಗ ಬೆಟ್ ಮಾಡಿ',\r\n 'BidNow': 'ಈಗ ಬಿಡ್ ಮಾಡಿ',\r\n 'BookACar': 'ಕಾರನ್ನು ಬುಕ್ ಮಾಡಿ',\r\n 'BookHotel': 'ಹೋಟೆಲ್ ಬುಕ್ ಮಾಡಿ',\r\n 'BookNow': 'ಈಗ ಬುಕ್ ಮಾಡಿ',\r\n 'Browse': 'ಬ್ರೌಸ್ ಮಾಡಿ',\r\n 'BuyNow': 'ಈಗ ಖರೀದಿಸಿ',\r\n 'ChatNow': 'ಈಗ ಚಾಟ್ ಮಾಡಿ',\r\n 'Compare': 'ಹೋಲಿಸಿ',\r\n 'ContactUs': 'ನಮ್ಮನ್ನು ಸಂಪರ್ಕಿಸಿ',\r\n 'GetCoupon': 'ಕೂಪನ್ ಪಡೆಯಿರಿ',\r\n 'Donate': 'ದಾನ ಮಾಡಿ',\r\n 'Download': 'ಡೌನ್ಲೋಡ್ ಮಾಡಿ',\r\n 'EmailNow': 'ಈಗ ಇಮೇಲ್ ಮಾಡಿ',\r\n 'EnrollNow': 'ಈಗ ನೋಂದಾಯಿಸಿ',\r\n 'Explore': 'ಅನ್ವೇಷಿಸಿ',\r\n 'FileNow': 'ಈಗ ಫೈಲ್ ಮಾಡಿ',\r\n 'FindJob': 'ಉದ್ಯೋಗ ಹುಡುಕಿ',\r\n 'FreePlay': 'ಉಚಿತ ಆಟ',\r\n 'FreeQuote': 'ಉಚಿತ ಕೋಟ್',\r\n 'FreeTrial': 'ಉಚಿತ ಪ್ರಯೋಗ',\r\n 'GetDeals': 'ಡೀಲ್ಗಳನ್ನು ಪಡೆಯಿರಿ',\r\n 'GetOffer': 'ಕೊಡುಗೆ ಪಡೆಯಿರಿ',\r\n 'GetQuote': 'ಕೋಟ್ ಪಡೆಯಿರಿ',\r\n 'JoinNow': 'ಈಗ ಸೇರಿ',\r\n 'LearnMore': 'ಇನ್ನಷ್ಟು ತಿಳಿಯಿರಿ',\r\n 'ListenNow': 'ಈಗ ಆಲಿಸಿ',\r\n 'LogIn': 'ಲಾಗ್ ಇನ್ ಮಾಡಿ',\r\n 'Message': 'ಸಂದೇಶ',\r\n 'NewCars': 'ಹೊಸ ಕಾರುಗಳು',\r\n 'OrderNow': 'ಈಗ ಆರ್ಡರ್ ಮಾಡಿ',\r\n 'PlayGame': 'ಆಟ ಆಡಿ',\r\n 'PlayNow': 'ಈಗ ಆಟ ಆಡಿ',\r\n 'PostJob': 'ಉದ್ಯೋಗ ಪೋಸ್ಟ್ ಮಾಡಿ',\r\n 'Register': 'ನೋಂದಾಯಿಸಿ',\r\n 'RentACar': 'ಕಾರನ್ನು ಬಾಡಿಗೆಗೆ ಪಡೆಯಿರಿ',\r\n 'RentNow': 'ಈಗ ಬಾಡಿಗೆಗೆ ಪಡೆಯಿರಿ',\r\n 'Reserve': 'ಕಾಯ್ದಿರಿಸಿ',\r\n 'SeeSale': 'ಮಾರಾಟ ನೋಡಿ',\r\n 'SaveNow': 'ಈಗ ಉಳಿಸಿ',\r\n 'Schedule': 'ವೇಳಾಪಟ್ಟಿ',\r\n 'SeeMenu': 'ಮೆನು ನೋಡಿ',\r\n 'SeeMore': 'ಇನ್ನಷ್ಟು ನೋಡಿ',\r\n 'SeeOffer': 'ಕೊಡುಗೆ ನೋಡಿ',\r\n 'SellNow': 'ಈಗ ಮಾರಾಟ ಮಾಡಿ',\r\n 'ShopNow': 'ಈಗ ಶಾಪಿಂಗ್ ಮಾಡಿ',\r\n 'Showtimes': 'Showtimes',\r\n 'SignIn': 'ಸೈನ್ ಇನ್ ಮಾಡಿ',\r\n 'SignUp': 'ಸೈನ್ ಅಪ್ ಮಾಡಿ',\r\n 'StartFree': 'ಉಚಿತವಾಗಿ ಪ್ರಾರಂಭಿಸಿ',\r\n 'StartNow': 'ಈಗ ಪ್ರಾರಂಭಿಸಿ',\r\n 'Subscribe': 'ಚಂದಾದಾರರಾಗಿ',\r\n 'TestDrive': 'ಟೆಸ್ಟ್ ಡ್ರೈವ್',\r\n 'TryNow': 'ಈಗ ಪ್ರಯತ್ನಿಸಿ',\r\n 'UsedCars': 'ಬಳಸಿದ ಕಾರುಗಳು',\r\n 'ViewCars': 'ಕಾರುಗಳನ್ನು ವೀಕ್ಷಿಸಿ',\r\n 'ViewNow': 'ಈಗ ವೀಕ್ಷಿಸಿ',\r\n 'ViewPlans': 'ಯೋಜನೆಗಳನ್ನು ವೀಕ್ಷಿಸಿ',\r\n 'VisitSite': 'ಸೈಟ್ಗೆ ಭೇಟಿ ನೀಡಿ',\r\n 'VoteNow': 'ಈಗ ಮತ ಚಲಾಯಿಸಿ',\r\n 'Watch': 'ವೀಕ್ಷಿಸಿ',\r\n 'WatchMore': 'ಇನ್ನಷ್ಟು ವೀಕ್ಷಿಸಿ',\r\n 'WatchNow': 'ಈಗ ವೀಕ್ಷಿಸಿ',\r\n 'Directions': 'ನಿರ್ದೇಶನಗಳು',\r\n 'FindStore': 'ಸ್ಟೋರ್ ಹುಡುಕಿ',\r\n 'SwitchNow': 'ಇದೀಗ ಬದಲಿಸಿ',\r\n 'VisitStore': 'ಸ್ಟೋರ್ಗೆ ಭೇಟಿ ನೀಡಿ',\r\n 'RenewNow': 'ಈಗ ನವೀಕರಿಸಿ',\r\n 'Reorder': 'ಮರುಕ್ರಮಗೊಳಿಸಿ',\r\n 'Buildnow': 'ಈಗ ನಿರ್ಮಿಸಿ',\r\n 'Dealers': 'ಡೀಲರ್ಗಳು',\r\n 'Getdemo': 'ಪ್ರಾತ್ಯಕ್ಷಿಕೆ ಪಡೆಯಿರಿ',\r\n 'Getnow': 'ಈಗ ಪಡೆಯಿರಿ',\r\n 'Gotodemo': 'ಪ್ರಾತ್ಯಕ್ಷಿಕೆಗೆ ಹೋಗಿ',\r\n 'Seedemo': 'ಪ್ರಾತ್ಯಕ್ಷಿಕೆ ನೋಡಿ',\r\n 'Seemodels': 'ಮಾದರಿಗಳನ್ನು ನೋಡಿ',\r\n 'Seeoffers': 'ಕೊಡುಗೆಗಳನ್ನು ನೋಡಿ',\r\n 'Viewdemo': 'ಪ್ರಾತ್ಯಕ್ಷಿಕೆ ವೀಕ್ಷಿಸಿ',\r\n 'CustomText': 'ಕಸ್ಟಮ್ ಪಠ್ಯ',\r\n 'Discover': 'ಅನ್ವೇಷಿಸಿ',\r\n 'Dismiss': 'ವಜಾಗೊಳಿಸಿ',\r\n },\r\n 'Kazakh': {\r\n 'ActNow': 'Қазір әрекет ету',\r\n 'ApplyNow': 'Қазір өтінім беру',\r\n 'BetNow': 'Қазір бәс тігу',\r\n 'BidNow': 'Қазір баға ұсыну',\r\n 'BookACar': 'Көлікті брондау',\r\n 'BookHotel': 'Қонақүйді брондау',\r\n 'BookNow': 'Қазір брондау',\r\n 'Browse': 'Шолу',\r\n 'BuyNow': 'Қазір сатып алу',\r\n 'ChatNow': 'Қазір сөйлесу',\r\n 'Compare': 'Салыстыру',\r\n 'ContactUs': 'Бізге хабарласу',\r\n 'GetCoupon': 'Купон алу',\r\n 'Donate': 'Жарна жіберу',\r\n 'Download': 'Жүктеп алу',\r\n 'EmailNow': 'Қазір электрондық хат жіберу',\r\n 'EnrollNow': 'Қазір тіркелу',\r\n 'Explore': 'Зерттеу',\r\n 'FileNow': 'Қазір тіркеу',\r\n 'FindJob': 'Жұмыс табу',\r\n 'FreePlay': 'Тегін ойнау',\r\n 'FreeQuote': 'Тегін баға ұсынысы',\r\n 'FreeTrial': 'Тегін сынақ нұсқасы',\r\n 'GetDeals': 'Мәмілелерді алу',\r\n 'GetOffer': 'Ұсыныс алу',\r\n 'GetQuote': 'Баға ұсынысын алу',\r\n 'JoinNow': 'Қазір қосылу',\r\n 'LearnMore': 'Қосымша мәліметтер',\r\n 'ListenNow': 'Қазір тыңдау',\r\n 'LogIn': 'Кіру',\r\n 'Message': 'Хабар',\r\n 'NewCars': 'Жаңа көліктер',\r\n 'OrderNow': 'Қазір тапсырыс беру',\r\n 'PlayGame': 'Ойын ойнау',\r\n 'PlayNow': 'Қазір ойнау',\r\n 'PostJob': 'Жұмысты жариялау',\r\n 'Register': 'Тіркелу',\r\n 'RentACar': 'Көлікті жалға алу',\r\n 'RentNow': 'Қазір жалға алу',\r\n 'Reserve': 'Резервтеу',\r\n 'SeeSale': '“Сату” бөлімін көру',\r\n 'SaveNow': 'Қазір сақтау',\r\n 'Schedule': 'Кесте',\r\n 'SeeMenu': 'Мәзірді көру',\r\n 'SeeMore': 'Көбірек көру',\r\n 'SeeOffer': 'Ұсынысты көру',\r\n 'SellNow': 'Қазір сату',\r\n 'ShopNow': 'Қазір сатыпы алу',\r\n 'Showtimes': 'Көрсетілім уақыттары',\r\n 'SignIn': 'Кіру',\r\n 'SignUp': 'Тіркелу',\r\n 'StartFree': 'Тегін бастау',\r\n 'StartNow': 'Қазір бастау',\r\n 'Subscribe': 'Жазылу',\r\n 'TestDrive': 'Сынақ шығарылымы',\r\n 'TryNow': 'Қазір қолданып көру',\r\n 'UsedCars': 'Пайдаланылған көліктер',\r\n 'ViewCars': 'Көліктерді көру',\r\n 'ViewNow': 'Қазір көру',\r\n 'ViewPlans': 'Жоспарларды көру',\r\n 'VisitSite': 'Сайтқа кіру',\r\n 'VoteNow': 'Қазір дауыс беру',\r\n 'Watch': 'Көру',\r\n 'WatchMore': 'Көбірек көру',\r\n 'WatchNow': 'Қазір көру',\r\n 'Directions': 'Бағыттар',\r\n 'FindStore': 'Дүкенді табу',\r\n 'SwitchNow': 'Қазір ауысу',\r\n 'VisitStore': 'Дүкенге бару',\r\n 'RenewNow': 'Қазір жаңарту',\r\n 'Reorder': 'Ретін өзгерту',\r\n 'Buildnow': 'Қазір құрастыру',\r\n 'Dealers': 'Дилерлер',\r\n 'Getdemo': 'Демо нұсқаны алу',\r\n 'Getnow': 'Қазір алу',\r\n 'Gotodemo': 'Демо нұсқаға өту',\r\n 'Seedemo': 'Демо нұсқаны көру',\r\n 'Seemodels': 'Үлгілерді көру',\r\n 'Seeoffers': 'Ұсыныстарды көру',\r\n 'Viewdemo': 'Демо нұсқаны көру',\r\n 'CustomText': 'Реттелетін мәтін',\r\n 'Discover': 'Анықтау',\r\n 'Dismiss': 'Жабу',\r\n },\r\n 'Laotian': {\r\n 'ActNow': 'ດຳເນີນການດຽວນີ້',\r\n 'ApplyNow': 'ນຳໃຊ້ດຽວນີ້',\r\n 'BetNow': 'ເດີມພັນດຽວນີ້',\r\n 'BidNow': 'ປະມູນດຽວນີ້',\r\n 'BookACar': 'ຈອງລົດ',\r\n 'BookHotel': 'ຈອງໂຮງແຮມ',\r\n 'BookNow': 'ຈອງດຽວນີ້',\r\n 'Browse': 'ເລືອກເບິ່ງ',\r\n 'BuyNow': 'ຊື້ດຽວນີ້',\r\n 'ChatNow': 'ແຊັດດຽວນີ້',\r\n 'Compare': 'ປຽບທຽບ',\r\n 'ContactUs': 'ຕິດຕໍ່ພວກເຮົາ',\r\n 'GetCoupon': 'ຮັບຄູປ໋ອງ',\r\n 'Donate': 'ບໍລິຈາກ',\r\n 'Download': 'ດາວໂຫຼດ',\r\n 'EmailNow': 'ສົ່ງອີເມວດຽວນີ້',\r\n 'EnrollNow': 'ລົງທະບຽນດຽວນີ້',\r\n 'Explore': 'ສຳຫຼວດ',\r\n 'FileNow': 'ໄຟລ໌ດຽວນີ້',\r\n 'FindJob': 'ຊອກຫາວຽກ',\r\n 'FreePlay': 'ຫຼິ້ນຟຣີ',\r\n 'FreeQuote': 'ໃບສະເຫນີຟຣີ',\r\n 'FreeTrial': 'ການທົດລອງໃຊ້',\r\n 'GetDeals': 'ຮັບຂໍ້ສະເໜີ',\r\n 'GetOffer': 'ຮັບຂໍ້ສະເຫນີ',\r\n 'GetQuote': 'ຮັບໃບສະເຫນີລາຄາ',\r\n 'JoinNow': 'ເຂົ້າຮ່ວມດຽວນີ້',\r\n 'LearnMore': 'ສຶກສາເພີ່ມເຕີມ',\r\n 'ListenNow': 'ຟັງດຽວນີ້',\r\n 'LogIn': 'ເຂົ້າສູ່ລະບົບ',\r\n 'Message': 'ຂໍ້ຄວາມ',\r\n 'NewCars': 'ລົດໃໝ່',\r\n 'OrderNow': 'ສັ່ງດຽວນີ້',\r\n 'PlayGame': 'ຫຼີ້ນເກມ',\r\n 'PlayNow': 'ຫຼິ້ນດຽວນີ້',\r\n 'PostJob': 'ປະກາດວຽກ',\r\n 'Register': 'ລົງທະບຽນ',\r\n 'RentACar': 'ເຊົ່າລົດ',\r\n 'RentNow': 'ເຊົ່າດຽວນີ້',\r\n 'Reserve': 'ຈອງ',\r\n 'SeeSale': 'ເບິ່ງການຂາຍ',\r\n 'SaveNow': 'ບັນທຶກດຽວນີ້',\r\n 'Schedule': 'ກຳນົດການ',\r\n 'SeeMenu': 'ເບິ່ງເມນູ',\r\n 'SeeMore': 'ເບິ່ງເພີ່ມເຕີມ',\r\n 'SeeOffer': 'ເບິ່ງຂໍ້ສະເຫນີ',\r\n 'SellNow': 'ຂາຍດຽວນີ້',\r\n 'ShopNow': 'ຊື້ດຽວນີ້',\r\n 'Showtimes': 'ເວລາສາຍ',\r\n 'SignIn': 'ລົງຊື່ເຂົ້າໃຊ້',\r\n 'SignUp': 'ລົງທະບຽນ',\r\n 'StartFree': 'ເລີ່ມຟຣີ',\r\n 'StartNow': 'ເລີ່ມດຽວນີ້',\r\n 'Subscribe': 'ສະໝັກໃຊ້',\r\n 'TestDrive': 'ທົດສອບຂັບ',\r\n 'TryNow': 'ລອງດຽວນີ້',\r\n 'UsedCars': 'ລົດມືສອງ',\r\n 'ViewCars': 'ເບິ່ງລົດ',\r\n 'ViewNow': 'ເບິ່ງຕອນນີ້',\r\n 'ViewPlans': 'ເບິ່ງແຜນ',\r\n 'VisitSite': 'ຢ້ຽມຢາມເວັບໄຊ',\r\n 'VoteNow': 'ໂຫວດດຽວນີ້',\r\n 'Watch': 'ເບິ່ງ',\r\n 'WatchMore': 'ເບິ່ງເພີ່ມເຕີມ',\r\n 'WatchNow': 'ເບິ່ງດຽວນີ້',\r\n 'Directions': 'ທິດທາງ',\r\n 'FindStore': 'ຊອກຫາຮ້ານຄ້າ',\r\n 'SwitchNow': 'ສັບປ່ຽນດຽວນີ້',\r\n 'VisitStore': 'ເຂົ້າເບິ່ງຮ້ານຄ້າ',\r\n 'RenewNow': 'ຕໍ່ອາຍຸດຽວນີ້',\r\n 'Reorder': 'ຈັດຮຽງໃໝ່',\r\n 'Buildnow': 'ສ້າງດຽວນີ້',\r\n 'Dealers': 'ຕົວແທນຈໍາຫນ່າຍ',\r\n 'Getdemo': 'ຮັບເດໂມ',\r\n 'Getnow': 'ຮັບດຽວນີ້',\r\n 'Gotodemo': 'ໄປທີ່ ເດໂມ',\r\n 'Seedemo': 'ເບິ່ງເດໂມ',\r\n 'Seemodels': 'ເບິ່ງໂມເດວ',\r\n 'Seeoffers': 'ເບິ່ງຂໍ້ສະເຫນີ',\r\n 'Viewdemo': 'ມຸມມອງເດໂມ',\r\n 'CustomText': 'ຂໍ້ຄວາມກຳນົດເອງ',\r\n 'Discover': 'ຄົ້ນພົບ',\r\n 'Dismiss': 'ປ່ອຍໄປ',\r\n },\r\n 'Malay': {\r\n 'ActNow': 'Bertindak Sekarang',\r\n 'ApplyNow': 'Gunakan Sekarang',\r\n 'BetNow': 'Bertaruh Sekarang',\r\n 'BidNow': 'Bida Sekarang',\r\n 'BookACar': 'Tempah Kereta',\r\n 'BookHotel': 'Tempah Hotel',\r\n 'BookNow': 'Tempah Sekarang',\r\n 'Browse': 'Semak Lalu',\r\n 'BuyNow': 'Beli Sekarang',\r\n 'ChatNow': 'Sembang Sekarang',\r\n 'Compare': 'Bandingkan',\r\n 'ContactUs': 'Hubungi Kami',\r\n 'GetCoupon': 'Dapatkan Kupon',\r\n 'Donate': 'Derma',\r\n 'Download': 'Muat Turun',\r\n 'EmailNow': 'E-mel Sekarang',\r\n 'EnrollNow': 'Daftar Sekarang',\r\n 'Explore': 'Jelajah',\r\n 'FileNow': 'Failkan Sekarang',\r\n 'FindJob': 'Cari Kerja',\r\n 'FreePlay': 'Main Percuma',\r\n 'FreeQuote': 'Petikan Percuma',\r\n 'FreeTrial': 'Percubaan Percuma',\r\n 'GetDeals': 'Dapatkan Tawaran',\r\n 'GetOffer': 'Dapatkan Tawaran',\r\n 'GetQuote': 'Dapatkan Petikan',\r\n 'JoinNow': 'Sertai Sekarang',\r\n 'LearnMore': 'Ketahui Lebih Lanjut',\r\n 'ListenNow': 'Dengar Sekarang',\r\n 'LogIn': 'Log Masuk',\r\n 'Message': 'Mesej',\r\n 'NewCars': 'Kereta Baharu',\r\n 'OrderNow': 'Pesan Sekarang',\r\n 'PlayGame': 'Main Permainan',\r\n 'PlayNow': 'Main Sekarang',\r\n 'PostJob': 'Siarkan Kerja',\r\n 'Register': 'Daftar',\r\n 'RentACar': 'Sewa Kereta',\r\n 'RentNow': 'Sewa Sekarang',\r\n 'Reserve': 'Tempah',\r\n 'SeeSale': 'Lihat Jualan',\r\n 'SaveNow': 'Simpan Sekarang',\r\n 'Schedule': 'Jadual',\r\n 'SeeMenu': 'Lihat Menu',\r\n 'SeeMore': 'Lihat Lagi',\r\n 'SeeOffer': 'Lihat Tawaran',\r\n 'SellNow': 'Jual Sekarang',\r\n 'ShopNow': 'Beli Sekarang',\r\n 'Showtimes': 'Masa tayangan',\r\n 'SignIn': 'Daftar Masuk',\r\n 'SignUp': 'Mendaftar',\r\n 'StartFree': 'Mulakan Secara Percuma',\r\n 'StartNow': 'Mula Sekarang',\r\n 'Subscribe': 'Melanggan',\r\n 'TestDrive': 'Pandu Uji',\r\n 'TryNow': 'Cuba Sekarang',\r\n 'UsedCars': 'Kereta Terpakai',\r\n 'ViewCars': 'Lihat Kereta',\r\n 'ViewNow': 'Lihat Sekarang',\r\n 'ViewPlans': 'Lihat Pelan',\r\n 'VisitSite': 'Lawati Laman',\r\n 'VoteNow': 'Undi Sekarang',\r\n 'Watch': 'Tonton',\r\n 'WatchMore': 'Tonton Lagi',\r\n 'WatchNow': 'Tonton Sekarang',\r\n 'Directions': 'Arahan',\r\n 'FindStore': 'Cari Gedung',\r\n 'SwitchNow': 'Bertukar Sekarang',\r\n 'VisitStore': 'Lawati Gedung',\r\n 'RenewNow': 'Perbaharui Sekarang',\r\n 'Reorder': 'Susun semula',\r\n 'Buildnow': 'Bina sekarang',\r\n 'Dealers': 'Peniaga',\r\n 'Getdemo': 'Dapatkan tunjuk cara',\r\n 'Getnow': 'Bertaruh sekarang',\r\n 'Gotodemo': 'Pergi ke tunjuk cara',\r\n 'Seedemo': 'Lihat tunjuk cara',\r\n 'Seemodels': 'Lihat model',\r\n 'Seeoffers': 'Lihat tawaran',\r\n 'Viewdemo': 'Lihat tunjuk cara',\r\n 'CustomText': 'Teks Tersuai',\r\n 'Discover': 'Terokai',\r\n 'Dismiss': 'Tolak',\r\n },\r\n 'Malayalam': {\r\n 'ActNow': 'ഇപ്പോൾ പ്രവർത്തിക്കുക',\r\n 'ApplyNow': 'ഇപ്പോൾ പ്രയോഗിക്കുക',\r\n 'BetNow': 'ഇപ്പോൾ പന്തയം വെയ്ക്കുക',\r\n 'BidNow': 'ഇപ്പോൾ ലേലത്തിലെടുക്കുക',\r\n 'BookACar': 'ഒരു കാർ ബുക്കുചെയ്യുക',\r\n 'BookHotel': 'ഹോട്ടൽ ബുക്കുചെയ്യുക',\r\n 'BookNow': 'ഇപ്പോൾ ബുക്കുചെയ്യുക',\r\n 'Browse': 'ബ്രൗസ് ചെയ്യുക',\r\n 'BuyNow': 'ഇപ്പോൾ വാങ്ങുക',\r\n 'ChatNow': 'ഇപ്പോൾ ചാറ്റ് ചെയ്യുക',\r\n 'Compare': 'താരതമ്യം ചെയ്യുക',\r\n 'ContactUs': 'ഞങ്ങളെ ബന്ധപ്പെടുക',\r\n 'GetCoupon': 'കൂപ്പൺ നേടുക',\r\n 'Donate': 'സംഭാവന ചെയ്യുക',\r\n 'Download': 'ഡൗൺലോഡ് ചെയ്യുക',\r\n 'EmailNow': 'ഇപ്പോൾ ഇമെയില് ചെയ്യുക',\r\n 'EnrollNow': 'ഇപ്പോൾ എൻറോൾ ചെയ്യുക',\r\n 'Explore': 'പര്യവേക്ഷണം ചെയ്യുക',\r\n 'FileNow': 'ഇപ്പോൾ ഫയൽ ചെയ്യുക',\r\n 'FindJob': 'ജോലി കണ്ടെത്തുക',\r\n 'FreePlay': 'സൗജന്യമായി പ്ലേചെയ്യുക',\r\n 'FreeQuote': 'സൗജന്യ ഉദ്ധരണി',\r\n 'FreeTrial': 'സൗജന്യ ട്രയൽ',\r\n 'GetDeals': 'ഡീലുകൾ നേടുക',\r\n 'GetOffer': 'ഓഫർ നേടുക',\r\n 'GetQuote': 'ഉദ്ധരണി നേടുക',\r\n 'JoinNow': 'ഇപ്പോൾ ചേരുക',\r\n 'LearnMore': 'കൂടുതലറിയുക',\r\n 'ListenNow': 'ഇപ്പോൾ ശ്രദ്ധിക്കുക',\r\n 'LogIn': 'ലോഗ് ഓണ് ചെയ്യുക',\r\n 'Message': 'സന്ദേശം',\r\n 'NewCars': 'പുതിയ കാറുകൾ',\r\n 'OrderNow': 'ഇപ്പോൾ ഓർഡർ ചെയ്യുക',\r\n 'PlayGame': 'ഗെയിം പ്ലേചെയ്യുക',\r\n 'PlayNow': 'ഇപ്പോൾ പ്ലേചെയ്യുക',\r\n 'PostJob': 'പോസ്റ്റ് ജോലി',\r\n 'Register': 'രജിസ്റ്റർ ചെയ്യുക',\r\n 'RentACar': 'ഒരു കാർ വാടകയ്ക്കെടുക്കുക',\r\n 'RentNow': 'ഇപ്പോൾ വാടകയ്ക്കെടുക്കുക',\r\n 'Reserve': 'റിസർവ് ചെയ്യുക',\r\n 'SeeSale': 'വിൽപ്പന കാണുക',\r\n 'SaveNow': 'ഇപ്പോൾ സംരക്ഷിക്കുക',\r\n 'Schedule': 'ഷെഡ്യൂൾ ചെയ്യുക',\r\n 'SeeMenu': 'മെനു കാണുക',\r\n 'SeeMore': 'കൂടുതൽ കാണുക',\r\n 'SeeOffer': 'ഓഫർ കാണുക',\r\n 'SellNow': 'ഇപ്പോൾ വിൽക്കുക',\r\n 'ShopNow': 'ഇപ്പോൾ ഷോപ്പ് ചെയ്യുക',\r\n 'Showtimes': 'പ്രദർശന സമയങ്ങൾ',\r\n 'SignIn': 'സൈന് ഇന് ചെയ്യുക',\r\n 'SignUp': 'സൈൻ അപ്പ് ചെയ്യുക',\r\n 'StartFree': 'സൗജന്യമായി ആരംഭിക്കുക',\r\n 'StartNow': 'ഇപ്പോൾ ആരംഭിക്കുക',\r\n 'Subscribe': 'സബ്സ്ക്രൈബ് ചെയ്യുക',\r\n 'TestDrive': 'ടെസ്റ്റ് ഡ്രൈവ്',\r\n 'TryNow': 'ഇപ്പോൾ ശ്രമിക്കുക',\r\n 'UsedCars': 'ഉപയോഗിച്ച കാറുകൾ',\r\n 'ViewCars': 'കാറുകൾ കാണിക്കുക',\r\n 'ViewNow': 'ഇപ്പോൾ കാണിക്കുക',\r\n 'ViewPlans': 'പ്ലാനുകൾ കാണിക്കുക',\r\n 'VisitSite': 'സൈറ്റ് സന്ദർശിക്കുക',\r\n 'VoteNow': 'ഇപ്പോൾ വോട്ട് ചെയ്യുക',\r\n 'Watch': 'നിരീക്ഷിക്കുക',\r\n 'WatchMore': 'കൂടുതൽ നിരീക്ഷിക്കുക',\r\n 'WatchNow': 'ഇപ്പോൾ നിരീക്ഷിക്കുക',\r\n 'Directions': 'ദിശാസൂചനകൾ',\r\n 'FindStore': 'സ്റ്റോർ കണ്ടെത്തുക',\r\n 'SwitchNow': 'ഇപ്പോൾ സ്വിച്ചുചെയ്യുക',\r\n 'VisitStore': 'സ്റ്റോർ സന്ദർശിക്കുക',\r\n 'RenewNow': 'ഇപ്പോൾ പുതുക്കുക',\r\n 'Reorder': 'പുനഃക്രമീകരണം',\r\n 'Buildnow': 'ഇപ്പോൾ ബില്ഡുചെയ്യുക',\r\n 'Dealers': 'ഡീലർമാർ',\r\n 'Getdemo': 'ഡെമോ നേടുക',\r\n 'Getnow': 'ഇപ്പോൾ നേടുക',\r\n 'Gotodemo': 'ഡെമോയിലേക്ക് പോകുക',\r\n 'Seedemo': 'ഡെമോ കാണുക',\r\n 'Seemodels': 'മോഡലുകൾ കാണുക',\r\n 'Seeoffers': 'ഓഫറുകൾ കാണുക',\r\n 'Viewdemo': 'ഡെമോ കാണുക',\r\n 'CustomText': 'ഇച്ഛാനുസൃത ടെക്സ്റ്റ്',\r\n 'Discover': 'കണ്ടെത്തുക',\r\n 'Dismiss': 'ഡിസ്മിസ്',\r\n },\r\n 'Maori': {\r\n 'ActNow': 'Mahi Ināianei',\r\n 'ApplyNow': 'Hoatu Ināianei',\r\n 'BetNow': 'Peti Ināianei',\r\n 'BidNow': 'Tono Ināianei',\r\n 'BookACar': 'Tāpuitia he Motokā',\r\n 'BookHotel': 'Tāpui Hōtera',\r\n 'BookNow': 'Tāpui Ināianei',\r\n 'Browse': 'Tirotiro',\r\n 'BuyNow': 'Hoko Ināianei',\r\n 'ChatNow': 'Kōrerorero Ināianei',\r\n 'Compare': 'Whakataurite',\r\n 'ContactUs': 'Whakapā Mai',\r\n 'GetCoupon': 'Tiki Tīkitipati',\r\n 'Donate': 'Takoha',\r\n 'Download': 'Tikiake',\r\n 'EmailNow': 'Īmēra Ināianei',\r\n 'EnrollNow': 'Rēhita Mai Ināianei',\r\n 'Explore': 'Hōpara',\r\n 'FileNow': 'Kōnae Ināianei',\r\n 'FindJob': 'Kimi Mahi',\r\n 'FreePlay': 'Purei Koreutu',\r\n 'FreeQuote': 'Whakatau Utu Koreutu',\r\n 'FreeTrial': 'Whakamatautau Koreutu',\r\n 'GetDeals': 'Tiki i Ngā Tukunga',\r\n 'GetOffer': 'Tiki Tukunga',\r\n 'GetQuote': 'Tiki Whakatau Utu',\r\n 'JoinNow': 'Whakauru Ināianei',\r\n 'LearnMore': 'Whiwhi Mōhio Atu Anō',\r\n 'ListenNow': 'Whakarongo Ināianei',\r\n 'LogIn': 'Takiuru',\r\n 'Message': 'Karere',\r\n 'NewCars': 'Ngā Motokā Hōu',\r\n 'OrderNow': 'Ōta Ināianei',\r\n 'PlayGame': 'Purei Kēmu',\r\n 'PlayNow': 'Purei Ināianei',\r\n 'PostJob': 'Pōhi Mahi',\r\n 'Register': 'Rēhita',\r\n 'RentACar': 'Rēti Waka',\r\n 'RentNow': 'Rēti Ināianei',\r\n 'Reserve': 'Rāhui',\r\n 'SeeSale': 'Tirohia te Hoko',\r\n 'SaveNow': 'Tiaki Ināianei',\r\n 'Schedule': 'Hōtaka',\r\n 'SeeMenu': 'Tirohia te Tahua',\r\n 'SeeMore': 'Tirohia Ētahi Anō',\r\n 'SeeOffer': 'Tirohia te Tukunga',\r\n 'SellNow': 'Hokona Ināianei',\r\n 'ShopNow': 'Hokohoko Ināianei',\r\n 'Showtimes': 'Ngā Wā Whakaatu',\r\n 'SignIn': 'Takiuru',\r\n 'SignUp': 'Rēhita Mai',\r\n 'StartFree': 'Tīmata Koreutu',\r\n 'StartNow': 'Tīmata Ināianei',\r\n 'Subscribe': 'Ohauru',\r\n 'TestDrive': 'Puku Whakamātau',\r\n 'TryNow': 'Ngana Ināianei',\r\n 'UsedCars': 'Motukā Kua Whakamahia',\r\n 'ViewCars': 'Tiro Motokā',\r\n 'ViewNow': 'Tiro Ināianei',\r\n 'ViewPlans': 'Tirohia Ngā Mahere',\r\n 'VisitSite': 'Toroa te Pae',\r\n 'VoteNow': 'Pōti Ināianei',\r\n 'Watch': 'Mātaki',\r\n 'WatchMore': 'Mātaki i Ētahi Atu Anō',\r\n 'WatchNow': 'Mātaki Ināianei',\r\n 'Directions': 'Ngā Tohutohu Ahunga',\r\n 'FindStore': 'Kimi Pātaka',\r\n 'SwitchNow': 'Whakawhiti Ināianei',\r\n 'VisitStore': 'Toroa te Pātaka',\r\n 'RenewNow': 'Whakahōu Anō Ināianei',\r\n 'Reorder': 'Tono Anō',\r\n 'Buildnow': 'Hanga ināianei',\r\n 'Dealers': 'Ngā Kaihoko',\r\n 'Getdemo': 'Tiki tauira',\r\n 'Getnow': 'Tiki ināianei',\r\n 'Gotodemo': 'Haere ki te whakatauira',\r\n 'Seedemo': 'Tirohia te whakatauira',\r\n 'Seemodels': 'Tirohia ngā whakatauira',\r\n 'Seeoffers': 'Tirohia ngā tono',\r\n 'Viewdemo': 'Tiro whakatauira',\r\n 'CustomText': 'Kuputuhi Ritenga',\r\n 'Discover': 'Tūhura',\r\n 'Dismiss': 'Ākiri',\r\n },\r\n 'Marathi': {\r\n 'ActNow': 'आत्ता कृती करा',\r\n 'ApplyNow': 'आत्ता प्रत्युत्तर द्या',\r\n 'BetNow': 'आत्ता बेट लावा',\r\n 'BidNow': 'आत्ता निविष्ट करा',\r\n 'BookACar': 'कार बुक करा',\r\n 'BookHotel': 'हॉटेल बुक करा',\r\n 'BookNow': 'आत्ता बुक करा',\r\n 'Browse': 'ब्राउझ करा',\r\n 'BuyNow': 'आत्ता खरेदी करा',\r\n 'ChatNow': 'आत्ता गप्पागोष्टी करा',\r\n 'Compare': 'तुलना करा',\r\n 'ContactUs': 'आमच्याशी संपर्क साधा',\r\n 'GetCoupon': 'कूपन मिळवा',\r\n 'Donate': 'दान करा',\r\n 'Download': 'आत्ता डाउनलोड करा',\r\n 'EmailNow': 'आत्ता ईमेल करा',\r\n 'EnrollNow': 'आत्ता नावनोंदणी करा',\r\n 'Explore': 'एक्सप्लोर करा',\r\n 'FileNow': 'आत्ता फाइल करा',\r\n 'FindJob': 'जॉब शोधा',\r\n 'FreePlay': 'विनामूल्य प्ले',\r\n 'FreeQuote': 'विनामूल्य कोट',\r\n 'FreeTrial': 'विनामूल्य चाचणी',\r\n 'GetDeals': 'डील्स मिळवा',\r\n 'GetOffer': 'ऑफर मिळवा',\r\n 'GetQuote': 'कोट मिळवा',\r\n 'JoinNow': 'आत्ता सामील व्हा',\r\n 'LearnMore': 'अधिक जाणून घ्या',\r\n 'ListenNow': 'आत्ता ऐका',\r\n 'LogIn': 'लॉग इन करा',\r\n 'Message': 'संदेश',\r\n 'NewCars': 'नवीन कार्स',\r\n 'OrderNow': 'आत्ता क्रमवारी लावा',\r\n 'PlayGame': 'गेम प्ले करा',\r\n 'PlayNow': 'आत्ता प्ले करा',\r\n 'PostJob': 'जॉब पोस्ट करा',\r\n 'Register': 'नोंदणी करा',\r\n 'RentACar': 'कार भाड्याने घ्या',\r\n 'RentNow': 'आता भाडे द्या',\r\n 'Reserve': 'आरक्षित करा',\r\n 'SeeSale': 'विक्री पहा',\r\n 'SaveNow': 'आत्ता सुरक्षित करा',\r\n 'Schedule': 'शेड्युल',\r\n 'SeeMenu': 'मेनू पहा',\r\n 'SeeMore': 'अधिक पहा',\r\n 'SeeOffer': 'ऑफर पहा',\r\n 'SellNow': 'आत्ता विका',\r\n 'ShopNow': 'आत्ता खरेदी करा',\r\n 'Showtimes': 'शोटाइम',\r\n 'SignIn': 'साइन इन करा',\r\n 'SignUp': 'साइन अप करा',\r\n 'StartFree': 'विनामूल्य प्रारंभ करा',\r\n 'StartNow': 'आत्ता प्रारंभ करा',\r\n 'Subscribe': 'सदस्यता घ्या',\r\n 'TestDrive': 'चाचणी ड्राइव्ह',\r\n 'TryNow': 'आत्ता वापरून पहा',\r\n 'UsedCars': 'वापरलेल्या कार्स',\r\n 'ViewCars': 'कार्स पहा',\r\n 'ViewNow': 'आत्ता नूतनीकरण करा',\r\n 'ViewPlans': 'योजना पहा',\r\n 'VisitSite': 'साइटला भेट द्या',\r\n 'VoteNow': 'आत्ता मतदान करा',\r\n 'Watch': 'पहा',\r\n 'WatchMore': 'अधिक पहा',\r\n 'WatchNow': 'आत्ता पहा',\r\n 'Directions': 'दिशानिर्देश',\r\n 'FindStore': 'Store शोधा',\r\n 'SwitchNow': 'आत्ता स्विच करा',\r\n 'VisitStore': 'Store ला भेद द्या',\r\n 'RenewNow': 'आत्ता नूतनीकरण करा',\r\n 'Reorder': 'पुनर्क्रमित करा',\r\n 'Buildnow': 'आता बिल्ड करा',\r\n 'Dealers': 'डीलर्स',\r\n 'Getdemo': 'डेमो घ्या',\r\n 'Getnow': 'आत्ता घ्या',\r\n 'Gotodemo': 'डेमोवर जा',\r\n 'Seedemo': 'डेमो पहा',\r\n 'Seemodels': 'मॉडेल्स पहा',\r\n 'Seeoffers': 'ऑफर्स पहा',\r\n 'Viewdemo': 'डेमो पहा',\r\n 'CustomText': 'सानुकूल मजकूर',\r\n 'Discover': 'शोधा',\r\n 'Dismiss': 'डिसमिस करा',\r\n },\r\n 'Nepali': {\r\n 'ActNow': 'अहिले कारबाही गर्नुहोस्',\r\n 'ApplyNow': 'अहिले लागू गर्नुहोस्',\r\n 'BetNow': 'अहिले बाजी लगाउनुहोस्',\r\n 'BidNow': 'अहिले बोली लगाउनुहोस्',\r\n 'BookACar': 'कार बुक गर्नुहोस्',\r\n 'BookHotel': 'होटल बुक गर्नुहोस्',\r\n 'BookNow': 'अहिले बुक गर्नुहोस्',\r\n 'Browse': 'ब्राउज गर्नुहोस्',\r\n 'BuyNow': 'अहिले खरिद गर्नुहोस्',\r\n 'ChatNow': 'अहिले च्याट गर्नुहोस्',\r\n 'Compare': 'तुलना गर्नुहोस्',\r\n 'ContactUs': 'हामीलाई सम्पर्क गर्नुहोस्',\r\n 'GetCoupon': 'कुपन प्राप्त गर्नुहोस्',\r\n 'Donate': 'दान गर्नुहोस्',\r\n 'Download': 'डाउनलोड गर्नुहोस्',\r\n 'EmailNow': 'अहिले इमेल गर्नुहोस्',\r\n 'EnrollNow': 'अहिले भर्ना गर्नुहोस्',\r\n 'Explore': 'अन्वेषण गर्नुहोस्',\r\n 'FileNow': 'अहिले फाइल गर्नुहोस्',\r\n 'FindJob': 'जागिर फेला पार्नुहोस्',\r\n 'FreePlay': 'नि: शुल्क प्ले',\r\n 'FreeQuote': 'नि: शुल्क उद्धरण',\r\n 'FreeTrial': 'नि: शुल्क परीक्षण',\r\n 'GetDeals': 'डिलहरू प्राप्त गर्नुहोस्',\r\n 'GetOffer': 'अफर प्राप्त गर्नुहोस्',\r\n 'GetQuote': 'उद्धरण प्राप्त गर्नुहोस्',\r\n 'JoinNow': 'अहिले सामेल हुनुहोस्',\r\n 'LearnMore': 'थप जान्नुहोस्',\r\n 'ListenNow': 'अहिले सुन्नुहोस्',\r\n 'LogIn': 'लग इन गर्नुहोस्',\r\n 'Message': 'सन्देश',\r\n 'NewCars': 'नयाँ कारहरू',\r\n 'OrderNow': 'अहिले अर्डर गर्नुहोस्',\r\n 'PlayGame': 'खेल खेल्नुहोस्',\r\n 'PlayNow': 'अहिले प्ले गर्नुहोस्',\r\n 'PostJob': 'जागिर पोस्ट गर्नुहोस्',\r\n 'Register': 'दर्ता गर्नुहोस्',\r\n 'RentACar': 'कार भाडामा लिनुहोस्',\r\n 'RentNow': 'अहिले भाडामा लिनुहोस्',\r\n 'Reserve': 'आरक्षण गर्नुहोस्',\r\n 'SeeSale': 'बिक्री हेर्नुहोस्',\r\n 'SaveNow': 'अहिले बचत गर्नुहोस्',\r\n 'Schedule': 'अनुसूची बनाउनुहोस्',\r\n 'SeeMenu': 'मेनु हेर्नुहोस्',\r\n 'SeeMore': 'थप हेर्नुहोस्',\r\n 'SeeOffer': 'अफर हेर्नुहोस्',\r\n 'SellNow': 'अहिले बेच्नुहोस्',\r\n 'ShopNow': 'अहिले किनमेल गर्नुहोस्',\r\n 'Showtimes': 'शोटाइमहरू',\r\n 'SignIn': 'साइन इन गर्नुहोस्',\r\n 'SignUp': 'साइन अप गर्नुहोस्',\r\n 'StartFree': 'नि: शुल्क सुरु गर्नुहोस्',\r\n 'StartNow': 'अहिले सुरु गर्नुहोस्',\r\n 'Subscribe': 'सदस्यता लिनुहोस्',\r\n 'TestDrive': 'टेस्ट ड्राइभ गर्नुहोस्',\r\n 'TryNow': 'अहिले प्रयास गर्नुहोस्',\r\n 'UsedCars': 'प्रयोग गरिएका कारहरू',\r\n 'ViewCars': 'कारहरू हेर्नुहोस्',\r\n 'ViewNow': 'अहिले हेर्नुहोस्',\r\n 'ViewPlans': 'योजनाहरू हेर्नुहोस्',\r\n 'VisitSite': 'साइट भ्रमण गर्नुहोस्',\r\n 'VoteNow': 'अहिले मतदान गर्नुहोस्',\r\n 'Watch': 'हेर्नुहोस्',\r\n 'WatchMore': 'थप हेर्नुहोस्',\r\n 'WatchNow': 'अहिले हेर्नुहोस्',\r\n 'Directions': 'दिशाहरू',\r\n 'FindStore': 'स्टोर फेला पार्नुहोस्',\r\n 'SwitchNow': 'अहिले परिवर्तन गर्नुहोस्',\r\n 'VisitStore': 'स्टोरमा जानुहोस्',\r\n 'RenewNow': 'अहिले नवीकरण गर्नुहोस्',\r\n 'Reorder': 'पुन: अर्डर गर्नुहोस्',\r\n 'Buildnow': 'अहिले निर्माण गर्नुहोस्',\r\n 'Dealers': 'डिलरहरू',\r\n 'Getdemo': 'डेमो प्राप्त गर्नुहोस्',\r\n 'Getnow': 'अहिले प्राप्त गर्नुहोस्',\r\n 'Gotodemo': 'डेमोमा जानुहोस्',\r\n 'Seedemo': 'डेमो हेर्नुहोस्',\r\n 'Seemodels': 'मोडेलहरू हेर्नुहोस्',\r\n 'Seeoffers': 'अफरहरू हेर्नुहोस्',\r\n 'Viewdemo': 'डेमो हेर्नुहोस्',\r\n 'CustomText': 'अनुकूलित पाठ',\r\n 'Discover': 'खोज गर्नुहोस्',\r\n 'Dismiss': 'खारेज गर्नुहोस्',\r\n },\r\n 'Oriya': {\r\n 'ActNow': 'ବର୍ତ୍ତମାନ ଏକ୍ଟ କରନ୍ତୁ',\r\n 'ApplyNow': 'ବର୍ତ୍ତମାନ ପ୍ରୟୋଗ କରନ୍ତୁ',\r\n 'BetNow': 'ବର୍ତ୍ତମାନ ବେଟ୍ କରନ୍ତୁ',\r\n 'BidNow': 'ବର୍ତ୍ତମାନ ବିଡ୍ କରନ୍ତୁ',\r\n 'BookACar': 'ଏକ କାର୍ ବୁକ୍ କରନ୍ତୁ',\r\n 'BookHotel': 'ହୋଟେଲ ବୁକ୍ କରନ୍ତୁ',\r\n 'BookNow': 'ବର୍ତ୍ତମାନ ବୁକ୍ କରନ୍ତୁ',\r\n 'Browse': 'ବ୍ରାଉଜ୍ କରନ୍ତୁ',\r\n 'BuyNow': 'ବର୍ତ୍ତମାନ କ୍ରୟ କରନ୍ତୁ',\r\n 'ChatNow': 'ବର୍ତ୍ତମାନ ଚାଟ୍ କରନ୍ତୁ',\r\n 'Compare': 'ତୁଳନା କରନ୍ତୁ',\r\n 'ContactUs': 'ଆମ ସହିତ ଯୋଗାଯୋଗ କରନ୍ତୁ',\r\n 'GetCoupon': 'କୁପନ୍ ପ୍ରାପ୍ତ କରନ୍ତୁ',\r\n 'Donate': 'ଦାନ କରନ୍ତୁ',\r\n 'Download': 'ବର୍ତ୍ତମାନ ଡାଇନ୍ଲୋଡ କରନ୍ତୁ',\r\n 'EmailNow': 'ବର୍ତ୍ତମାନ ଇମେଲ୍ କରନ୍ତୁ',\r\n 'EnrollNow': 'ବର୍ତ୍ତମାନ ନାମ ଲେଖାନ୍ତୁ',\r\n 'Explore': 'ଏକ୍ସପ୍ଲୋର୍ କରନ୍ତୁ',\r\n 'FileNow': 'ବର୍ତ୍ତମାନ ଫାଇଲ୍ କରନ୍ତୁ',\r\n 'FindJob': 'ଚାକିରି ସନ୍ଧାନ କରନ୍ତୁ',\r\n 'FreePlay': 'ମୁକ୍ତ ଖେଳ',\r\n 'FreeQuote': 'ମୁକ୍ତ କୋଟ୍',\r\n 'FreeTrial': 'ମୁକ୍ତ ପରୀକ୍ଷା',\r\n 'GetDeals': 'ଡିଲ୍ ପ୍ରାପ୍ତ କରନ୍ତୁ',\r\n 'GetOffer': 'ଅଫର୍ ପ୍ରାପ୍ତ କରନ୍ତୁ',\r\n 'GetQuote': 'କୋଟ୍ ପ୍ରାପ୍ତ କରନ୍ତୁ',\r\n 'JoinNow': 'ବର୍ତ୍ତମାନ ଯୋଗ ଦିଅନ୍ତୁ',\r\n 'LearnMore': 'ଅଧିକ ଜାଣନ୍ତୁ',\r\n 'ListenNow': 'ଏବେ ଶୁଣନ୍ତୁ',\r\n 'LogIn': 'ଲଗ୍ ଇନ୍ କରନ୍ତୁ',\r\n 'Message': 'ବାର୍ତ୍ତା',\r\n 'NewCars': 'ନୂଆ କାର୍',\r\n 'OrderNow': 'ବର୍ତ୍ତମାନ ଅର୍ଡର କରନ୍ତୁ',\r\n 'PlayGame': 'ଖେଳ ଖେଳନ୍ତୁ',\r\n 'PlayNow': 'ବର୍ତ୍ତମାନ ଚାଳନ କରନ୍ତୁ',\r\n 'PostJob': 'ଚାକିରି ପୋଷ୍ଟ କରନ୍ତୁ',\r\n 'Register': 'ପଞ୍ଜିକରଣ କରନ୍ତୁ',\r\n 'RentACar': 'ଏକ କାର୍ ଭଡ଼ା ଦିଅନ୍ତୁ',\r\n 'RentNow': 'ବର୍ତ୍ତମାନ ଭଡ଼ାରେ ଦିଅନ୍ତୁ',\r\n 'Reserve': 'ରିଜର୍ଭ କରନ୍ତୁ',\r\n 'SeeSale': 'ବିକ୍ରୟ ଦେଖନ୍ତୁ',\r\n 'SaveNow': 'ବର୍ତ୍ତମାନ ସଂରକ୍ଷଣ କରନ୍ତୁ',\r\n 'Schedule': 'ଅନୁସୂଚୀ',\r\n 'SeeMenu': 'ମେନ୍ୟୁ ଦେଖନ୍ତୁ',\r\n 'SeeMore': 'ଅଧିକ ଦେଖନ୍ତୁ',\r\n 'SeeOffer': 'ଅଫର୍ ଦେଖନ୍ତୁ',\r\n 'SellNow': 'ଏବେ ବିକ୍ରି କରନ୍ତୁ',\r\n 'ShopNow': 'ଏବେ କ୍ରୟ କରନ୍ତୁ',\r\n 'Showtimes': 'Showtimes',\r\n 'SignIn': 'ସାଇନ୍ ଇନ୍ କରନ୍ତୁ',\r\n 'SignUp': 'ସାଇନ୍ ଅପ୍ କରନ୍ତୁ',\r\n 'StartFree': 'ମୁକ୍ତରେ ଆରମ୍ଭ କରନ୍ତୁ',\r\n 'StartNow': 'ବର୍ତ୍ତମାନ ଆରମ୍ଭ କରନ୍ତୁ',\r\n 'Subscribe': 'ସବସ୍କ୍ରାଇବ କରନ୍ତୁ',\r\n 'TestDrive': 'ଟେଷ୍ଟ ଡ୍ରାଇଭ୍',\r\n 'TryNow': 'ବର୍ତ୍ତମାନ ଚେଷ୍ଟା କରନ୍ତୁ',\r\n 'UsedCars': 'ବ୍ୟବହୃତ କାର୍',\r\n 'ViewCars': 'କାର୍ ଦେଖନ୍ତୁ',\r\n 'ViewNow': 'ବର୍ତ୍ତମାନ ଦେଖନ୍ତୁ',\r\n 'ViewPlans': 'ଯୋଜନା ଦେଖନ୍ତୁ',\r\n 'VisitSite': 'ସାଇଟ୍ ପରିଦର୍ଶନ କରନ୍ତୁ',\r\n 'VoteNow': 'ଏବେ ଭୋଟ୍ ଦିଅନ୍ତୁ',\r\n 'Watch': 'ଦେଖନ୍ତୁ',\r\n 'WatchMore': 'ଅଧିକ ଦେଖନ୍ତୁ',\r\n 'WatchNow': 'ବର୍ତ୍ତମାନ ଦେଖନ୍ତୁ',\r\n 'Directions': 'ନିର୍ଦ୍ଦେଶନାମା',\r\n 'FindStore': 'ଷ୍ଟୋର ସନ୍ଧାନ କରନ୍ତୁ',\r\n 'SwitchNow': 'ବର୍ତ୍ତମାନ ସୁଇଚ୍ କରନ୍ତୁ',\r\n 'VisitStore': 'ଷ୍ଟୋର ପରିଦର୍ଶନ କରନ୍ତୁ',\r\n 'RenewNow': 'ବର୍ତ୍ତମାନ ନବୀକରଣ କରନ୍ତୁ',\r\n 'Reorder': 'ପୁଣି ଅର୍ଡର୍ କରନ୍ତୁ',\r\n 'Buildnow': 'ବର୍ତ୍ତମାନ ନିର୍ମାଣ କରନ୍ତୁ',\r\n 'Dealers': 'ଡିଲରମାନେ',\r\n 'Getdemo': 'ଡେମୋ ପ୍ରାପ୍ତ କରନ୍ତୁ',\r\n 'Getnow': 'ବର୍ତ୍ତମାନ ପ୍ରାପ୍ତ କରନ୍ତୁ',\r\n 'Gotodemo': 'ଡେମୋ ପ୍ରାପ୍ତ କରନ୍ତୁ',\r\n 'Seedemo': 'ଡେମୋ ଦେଖନ୍ତୁ',\r\n 'Seemodels': 'ମଡେଲ୍ ଦେଖନ୍ତୁ',\r\n 'Seeoffers': 'ଅଫର୍ଗୁଡ଼ିକ ଦେଖନ୍ତୁ',\r\n 'Viewdemo': 'ଡେମୋ ଦେଖନ୍ତୁ',\r\n 'CustomText': 'ପାଠ୍ୟ କଷ୍ଟମ୍ କରନ୍ତୁ',\r\n 'Discover': 'ଆବିଷ୍କାର କରନ୍ତୁ',\r\n 'Dismiss': 'ବରଖାସ୍ତ କରନ୍ତୁ',\r\n },\r\n 'Persian': {\r\n 'ActNow': 'اکنون اقدام کنید',\r\n 'ApplyNow': 'اکنون درخواست دهید',\r\n 'BetNow': 'اکنون شرطبندی کنید',\r\n 'BidNow': 'اکنون پیشنهاد دهید',\r\n 'BookACar': 'خودرویی رزرو کنید',\r\n 'BookHotel': 'رزرو هتل',\r\n 'BookNow': 'اکنون رزرو کنید',\r\n 'Browse': 'مرور',\r\n 'BuyNow': 'اکنون خریداری کنید',\r\n 'ChatNow': 'اکنون گپ بزنید',\r\n 'Compare': 'مقایسه',\r\n 'ContactUs': 'با ما تماس بگیرید',\r\n 'GetCoupon': 'دریافت کوپن',\r\n 'Donate': 'اهدای کمک مالی',\r\n 'Download': 'دانلود',\r\n 'EmailNow': 'اکنون ایمیل کنید',\r\n 'EnrollNow': 'اکنون ثبت نام کنید',\r\n 'Explore': 'کاوش',\r\n 'FileNow': 'اکنون بایگانی کنید',\r\n 'FindJob': 'یافتن کار',\r\n 'FreePlay': 'پخش رایگان',\r\n 'FreeQuote': 'نقل قول رایگان',\r\n 'FreeTrial': 'نسخه آزمایشی رایگان',\r\n 'GetDeals': 'دریافت فروشهای ویژه',\r\n 'GetOffer': 'دریافت پیشنهاد',\r\n 'GetQuote': 'دریافت نقل قول',\r\n 'JoinNow': 'اکنون بپیوندید',\r\n 'LearnMore': 'بیشتر بدانید',\r\n 'ListenNow': 'اکنون گوش دهید',\r\n 'LogIn': 'ورود به سیستم',\r\n 'Message': 'پیام',\r\n 'NewCars': 'خودروهای جدید',\r\n 'OrderNow': 'اکنون سفارش دهید',\r\n 'PlayGame': 'بازی کردن',\r\n 'PlayNow': 'اکنون بازی کنید',\r\n 'PostJob': 'پست کار',\r\n 'Register': 'ثبت',\r\n 'RentACar': 'کرایه خودرو',\r\n 'RentNow': 'اکنون کرایه کنید',\r\n 'Reserve': 'رزرو',\r\n 'SeeSale': 'مشاهده فروش',\r\n 'SaveNow': 'اکنون ذخیره شود',\r\n 'Schedule': 'زمانبندی',\r\n 'SeeMenu': 'مشاهده منو',\r\n 'SeeMore': 'مشاهده بیشتر',\r\n 'SeeOffer': 'مشاهده پیشنهاد',\r\n 'SellNow': 'اکنون بفروشید',\r\n 'ShopNow': 'اکنون بخرید',\r\n 'Showtimes': 'زمانهای نمایش',\r\n 'SignIn': 'ورود به سیستم',\r\n 'SignUp': 'ثبت نام',\r\n 'StartFree': 'شروع رایگان',\r\n 'StartNow': 'اکنون شروع کنید',\r\n 'Subscribe': 'مشترک شدن',\r\n 'TestDrive': 'رانندگی آزمایشی',\r\n 'TryNow': 'همین حالا امتحان کنید',\r\n 'UsedCars': 'خودروهای کارکرده',\r\n 'ViewCars': 'مشاهده خودروها',\r\n 'ViewNow': 'اکنون مشاهده کنید',\r\n 'ViewPlans': 'مشاهده طرحها',\r\n 'VisitSite': 'بازدید از سایت',\r\n 'VoteNow': 'اکنون رأی بدهید',\r\n 'Watch': 'تماشا',\r\n 'WatchMore': 'تماشای موارد بیشتر',\r\n 'WatchNow': 'اکنون تماشا کنید',\r\n 'Directions': 'مسیرها',\r\n 'FindStore': 'یافتن فروشگاه',\r\n 'SwitchNow': 'اکنون تغییر وضعیت دهید',\r\n 'VisitStore': 'بازدید از فروشگاه',\r\n 'RenewNow': 'اکنون تمدید کنید',\r\n 'Reorder': 'تغییر ترتیب',\r\n 'Buildnow': 'اکنون بسازید',\r\n 'Dealers': 'نمایندگان فروش',\r\n 'Getdemo': 'دریافت نسخه نمایشی',\r\n 'Getnow': 'اکنون دریافت کنید',\r\n 'Gotodemo': 'رفتن به نسخه نمایشی',\r\n 'Seedemo': 'مشاهده نسخه نمایشی',\r\n 'Seemodels': 'مشاهده مدلها',\r\n 'Seeoffers': 'مشاهده پیشنهادها',\r\n 'Viewdemo': 'مشاهده نسخه نمایشی',\r\n 'CustomText': 'متن سفارشی',\r\n 'Discover': 'کشف',\r\n 'Dismiss': 'بستن',\r\n },\r\n 'Punjabi': {\r\n 'ActNow': 'ਹੁਣ ਕਿਰਿਆ ਕਰੋ',\r\n 'ApplyNow': 'ਹੁਣੇ ਲਾਗੂ ਕਰੋ',\r\n 'BetNow': 'ਹੁਣ ਸ਼ਰਤ ਲਗਾਓ',\r\n 'BidNow': 'ਹੁਣ ਬੋਲੀ ਲਗਾਓ',\r\n 'BookACar': 'ਇੱਕ ਕਾਰ ਬੁੱਕ ਕਰੋ',\r\n 'BookHotel': 'ਹੋਟਲ ਬੁੱਕ ਕਰੋ',\r\n 'BookNow': 'ਹੁਣ ਬੁੱਕ ਕਰੋ',\r\n 'Browse': 'ਬ੍ਰਾਊਜ਼ ਕਰੋ',\r\n 'BuyNow': 'ਹੁਣੇ ਖਰੀਦੋ',\r\n 'ChatNow': 'ਹੂਣੇ ਚੈਟ ਕਰੋ',\r\n 'Compare': 'ਤੁਲਨਾ ਕਰੋ',\r\n 'ContactUs': 'ਸਾਡੇ ਨਾਲ ਸੰਪਰਕ ਕਰੋ',\r\n 'GetCoupon': 'ਕੂਪਨ ਪ੍ਰਾਪਤ ਕਰੋ',\r\n 'Donate': 'ਦਾਨ',\r\n 'Download': 'ਡਾਉਨਲੋਡ ਕਰੋ',\r\n 'EmailNow': 'ਹੁਣ ਈਮੇਲ ਕਰੋ',\r\n 'EnrollNow': 'ਹੁਣੇ ਦਾਖਲ ਕਰੋ',\r\n 'Explore': 'ਐਕਸਪਲੋਰ ਕਰੋ',\r\n 'FileNow': 'ਹੁਣੇ ਫਾਈਲ ਕਰੋ',\r\n 'FindJob': 'ਕੰਮ ਲੱਭੋ',\r\n 'FreePlay': 'ਫਰੀ ਚਲਾਓ',\r\n 'FreeQuote': 'ਫਰੀ ਹਵਾਲਾ',\r\n 'FreeTrial': 'ਮੁਫ਼ਤ ਟਰਾਇਲ',\r\n 'GetDeals': 'ਸੌਦਿਆਂ ਨੂੰ ਪ੍ਰਾਪਤ ਕਰੋ',\r\n 'GetOffer': 'ਪੇਸ਼ਕਸ਼ ਪ੍ਰਾਪਤ ਕਰੋ',\r\n 'GetQuote': 'ਹਵਾਲਾ ਪ੍ਰਾਪਤ ਕਰੋ',\r\n 'JoinNow': 'ਹੁਣੇ ਸ਼ਾਮਲ ਹੋਵੋ',\r\n 'LearnMore': 'ਹੋਰ ਜਾਣੋ',\r\n 'ListenNow': 'ਹੁਣੇ ਸੁਣੋ',\r\n 'LogIn': 'ਲੌਗ ਇਨ ਕਰੋ',\r\n 'Message': 'ਸੁਨੇਹਾ',\r\n 'NewCars': 'ਨਵੀਆਂ ਕਾਰਾਂ',\r\n 'OrderNow': 'ਹੁਣੇ ਆਰਡਰ ਕਰੋ',\r\n 'PlayGame': 'ਗੇਮ ਚਲਾਓ',\r\n 'PlayNow': 'ਹੁਣ ਚਲਾਓ',\r\n 'PostJob': 'ਪੋਸਟ ਕੰਮ',\r\n 'Register': 'ਰਜਿਸਟਰ ਕਰੋ',\r\n 'RentACar': 'ਇੱਕ ਕਾਰ ਕਿਰਾਏ \\'ਤੇ',\r\n 'RentNow': 'ਹੁਣ ਕਿਰਾਏ \\'ਤੇ',\r\n 'Reserve': 'ਰਿਜ਼ਰਵ',\r\n 'SeeSale': 'ਵਿਕਰੀ ਦੇਖੋ',\r\n 'SaveNow': 'ਹੁਣੇ ਸੁਰੱਖਿਅਤ ਕਰੋ',\r\n 'Schedule': 'ਸ਼ੈਡਿਊਲ',\r\n 'SeeMenu': 'ਮੀਨੂ ਦੇਖੋ',\r\n 'SeeMore': 'ਹੋਰ ਦੇਖੋ',\r\n 'SeeOffer': 'ਪੇਸ਼ਕਸ਼ ਦੇਖੋ',\r\n 'SellNow': 'ਹੁਣੇ ਵੇਚੋ',\r\n 'ShopNow': 'ਹੁਣ ਖਰੀਦਦਾਰੀ ਕਰੋ',\r\n 'Showtimes': 'ਸ਼ੋਅ ਦੇ ਸਮੇਂ',\r\n 'SignIn': 'ਸਾਈਨ ਇਨ',\r\n 'SignUp': 'ਸਾਈਨ ਅਪ',\r\n 'StartFree': 'ਫਰੀ ਸ਼ੁਰੂ ਕਰੋ',\r\n 'StartNow': 'ਹੁਣੇ ਸ਼ੁਰੂ ਕਰੋ',\r\n 'Subscribe': 'ਸਬਸਕ੍ਰਾਈਬ ਕਰੋ',\r\n 'TestDrive': 'ਟੈਸਟ ਸੰਚਾਲਨ',\r\n 'TryNow': 'ਹੁਣੇ ਅਜ਼ਮਾਓ',\r\n 'UsedCars': 'ਵਰਤੀਆਂ ਹੋਈਆਂ ਕਾਰਾਂ',\r\n 'ViewCars': 'ਕਾਰਾਂ ਦੇਖੋ',\r\n 'ViewNow': 'ਹੁਣੇ ਦੇਖੋ',\r\n 'ViewPlans': 'ਯੋਜਨਾਵਾਂ ਦੇਖੋ',\r\n 'VisitSite': 'ਸਾਈਟ \\'ਤੇ ਜਾਓ',\r\n 'VoteNow': 'ਹੁਣ ਵੋਟ ਕਰੋ',\r\n 'Watch': 'ਘੜੀ',\r\n 'WatchMore': 'ਹੋਰ ਦੇਖੋ',\r\n 'WatchNow': 'ਹੁਣੇ ਦੇਖੋ',\r\n 'Directions': 'ਦਿਸ਼ਾਵਾਂ',\r\n 'FindStore': 'ਸਟੋਰ ਲੱਭੋ',\r\n 'SwitchNow': 'ਹੁਣ ਸਵਿੱਚ ਕਰੋ',\r\n 'VisitStore': 'ਸਟੋਰ \\'ਤੇ ਜਾਓ',\r\n 'RenewNow': 'ਹੁਣੇ ਨਵਿਆਓ',\r\n 'Reorder': 'ਮੁੜ ਆਰਡਰ ਕਰੋ',\r\n 'Buildnow': 'ਹੁਣੇ ਬਿਲਡ ਕਰੋ',\r\n 'Dealers': 'ਡੀਲਰ',\r\n 'Getdemo': 'ਡੈਮੋ ਪ੍ਰਾਪਤ ਕਰੋ',\r\n 'Getnow': 'ਹੁਣ ਪ੍ਰਾਪਤ ਕਰੋ',\r\n 'Gotodemo': 'ਡੈਮੋ \\'ਤੇ ਜਾਓ',\r\n 'Seedemo': 'ਡੈਮੋ ਦੇਖੋ',\r\n 'Seemodels': 'ਮੌਡਲ ਦੇਖੋ',\r\n 'Seeoffers': 'ਪੇਸ਼ਕਸ਼ਾਂ ਦੇਖੋ',\r\n 'Viewdemo': 'ਡੈਮੋ ਦੇਖੋ',\r\n 'CustomText': 'ਕਸਟਮ ਟੈਕਸਟ',\r\n 'Discover': 'ਖੋਜ',\r\n 'Dismiss': 'ਖਾਰਿਜ ਕਰੋ',\r\n },\r\n 'Quechua': {\r\n 'ActNow': 'Kunan Kuyukachay',\r\n 'ApplyNow': 'Kunan Ruwachiy',\r\n 'BetNow': 'Kunan Makipuray',\r\n 'BidNow': 'Munachikunikita Ruway',\r\n 'BookACar': 'Carro Waqaychakuy',\r\n 'BookHotel': 'Hotel Waqaychakuy',\r\n 'BookNow': 'Kunan Waqaychakuy',\r\n 'Browse': 'Qaway Maskay',\r\n 'BuyNow': 'Kunan Rantiy',\r\n 'ChatNow': 'Kunan Rimana',\r\n 'Compare': 'Tupachinachiy',\r\n 'ContactUs': 'Ñuqaykuwan Tupachikamuy',\r\n 'GetCoupon': 'Cuponta Tariy',\r\n 'Donate': 'Quy',\r\n 'Download': 'Uraykachiy',\r\n 'EmailNow': 'Kunan Correo Electronico',\r\n 'EnrollNow': 'Kunan Listapi Churakuy',\r\n 'Explore': 'Taqwiriy',\r\n 'FileNow': 'Kuna Kipu',\r\n 'FindJob': 'Llamkayta Tariy',\r\n 'FreePlay': 'Kacharisqa Pukllay',\r\n 'FreeQuote': 'Kacharisqa Chaninchay',\r\n 'FreeTrial': 'Kacharisqa Malliy',\r\n 'GetDeals': 'Munachikuykunata Tariy',\r\n 'GetOffer': 'Munachikuyta Tariy',\r\n 'GetQuote': 'Chaninta Tariy',\r\n 'JoinNow': 'Kunan Huñusqakuy',\r\n 'LearnMore': 'Aswan Yachay',\r\n 'ListenNow': 'Kunan Uyariy',\r\n 'LogIn': 'Yaykuy',\r\n 'Message': 'Willay',\r\n 'NewCars': 'Musuq Carrokuna',\r\n 'OrderNow': 'Kunan Ñiqichay',\r\n 'PlayGame': 'Huk Pukllayta Pukllay',\r\n 'PlayNow': 'Kunan Puririchiy',\r\n 'PostJob': 'Qipa Llamkay',\r\n 'Register': 'Qillqachay',\r\n 'RentACar': 'Carrota Alquilay',\r\n 'RentNow': 'Kunan Alquilay',\r\n 'Reserve': 'Waqaychakuy',\r\n 'SeeSale': 'Puchuqta Qaway',\r\n 'SaveNow': 'Kunan Waqaychay',\r\n 'Schedule': 'Pacha patachay',\r\n 'SeeMenu': 'Akllanata Qaway',\r\n 'SeeMore': 'Aswanta Qaway',\r\n 'SeeOffer': 'Munachikuyta Qaway',\r\n 'SellNow': 'Kunan Rantikuy',\r\n 'ShopNow': 'Kunan Rantiy',\r\n 'Showtimes': 'Pacha Patachaykuna',\r\n 'SignIn': 'Ruway Qallariy',\r\n 'SignUp': 'Qillqachakuy',\r\n 'StartFree': 'Kunan Kacharisqa',\r\n 'StartNow': 'Kunan Qallariy',\r\n 'Subscribe': 'Qillqachay',\r\n 'TestDrive': 'Pusanapaq Malliy',\r\n 'TryNow': 'Kunan Ruwapay',\r\n 'UsedCars': 'Hapisqa Carrokuna',\r\n 'ViewCars': 'Carrokuna Qaway',\r\n 'ViewNow': 'Kunan Qawapay',\r\n 'ViewPlans': 'Wakichnakunata Qaway',\r\n 'VisitSite': 'Kiti Watukuy',\r\n 'VoteNow': 'Kunan Akllay Kamachiqta',\r\n 'Watch': 'Intiwatana',\r\n 'WatchMore': 'Aswan Qaway',\r\n 'WatchNow': 'Kunan Qaway',\r\n 'Directions': 'Tarikuykuna',\r\n 'FindStore': 'Qatunata Maskay',\r\n 'SwitchNow': 'Kunan Tikray',\r\n 'VisitStore': 'Qatunata Watukuy',\r\n 'RenewNow': 'Kunan Musuqchay',\r\n 'Reorder': 'Musuqmanta Ñiqichay',\r\n 'Buildnow': 'Kunan wasichiy',\r\n 'Dealers': 'Aypukuqkuna',\r\n 'Getdemo': 'Riqsichiy tariy',\r\n 'Getnow': 'Kunan tariy',\r\n 'Gotodemo': 'Riqsichiyman riy',\r\n 'Seedemo': 'Riqsichiyta qaway',\r\n 'Seemodels': 'Qatipanakunata qaway',\r\n 'Seeoffers': 'Munachikuyta qaway',\r\n 'Viewdemo': 'Riqsichiyta qaway',\r\n 'CustomText': 'Sapanchasqa Qillqa',\r\n 'Discover': 'Taripay',\r\n 'Dismiss': 'Wischuy',\r\n },\r\n 'Tamil': {\r\n 'ActNow': 'இப்போதே செயல்படவும்',\r\n 'ApplyNow': 'இப்போதே விண்ணப்பிக்கவும்',\r\n 'BetNow': 'இப்போது பந்தயம் கட்டவும்',\r\n 'BidNow': 'இப்போதே ஏலம் எடுங்கள்',\r\n 'BookACar': 'காரை முன்பதிவு செய்யுங்கள்',\r\n 'BookHotel': 'ஹோட்டலை முன்பதிவு செய்யுங்கள்',\r\n 'BookNow': 'இப்போதே முன்பதிவு செய்யுங்கள்',\r\n 'Browse': 'உலாவுக',\r\n 'BuyNow': 'இப்போதே வாங்குக',\r\n 'ChatNow': 'இப்போது அரட்டை அடியுங்கள்',\r\n 'Compare': 'ஒப்பிடுக',\r\n 'ContactUs': 'எங்களைத் தொடர்பு கொள்க',\r\n 'GetCoupon': 'கூப்பனைப் பெறுக',\r\n 'Donate': 'நன்கொடையளிக்கவும்',\r\n 'Download': 'பதிவிறக்கவும்',\r\n 'EmailNow': 'இப்போதே மின்னஞ்சல்செய்க',\r\n 'EnrollNow': 'இப்போதே பதிவுசெய்க',\r\n 'Explore': 'ஆராயுங்கள்',\r\n 'FileNow': 'இப்போதே தாக்கல் செய்யுங்கள்',\r\n 'FindJob': 'பணியைத் தேடுக',\r\n 'FreePlay': 'இலவச விளையாட்டு',\r\n 'FreeQuote': 'இலவச மேற்கோள்',\r\n 'FreeTrial': 'இலவச சோதனை',\r\n 'GetDeals': 'ஒப்பந்தங்களைப் பெறுங்கள்',\r\n 'GetOffer': 'சலுகை பெறுங்கள்',\r\n 'GetQuote': 'மேற்கோள் பெறவும்',\r\n 'JoinNow': 'இப்போதே சேருங்கள்',\r\n 'LearnMore': 'மேலும் அறிக',\r\n 'ListenNow': 'இப்போது கேளுங்கள்',\r\n 'LogIn': 'உள்நுழைக',\r\n 'Message': 'செய்தி',\r\n 'NewCars': 'புதிய கார்கள்',\r\n 'OrderNow': 'இப்போது ஆர்டர் செய்க',\r\n 'PlayGame': 'விளையாட்டை விளையாடவும்',\r\n 'PlayNow': 'இப்போது இயக்கவும்',\r\n 'PostJob': 'பணியை இடுகையிடவும்',\r\n 'Register': 'பதிவுசெய்க',\r\n 'RentACar': 'ஒரு காரை வாடகைக்கு எடுக்கவும்',\r\n 'RentNow': 'இப்போது வாடகைக்கு எடுக்கவும்',\r\n 'Reserve': 'ஒதுக்கவும்',\r\n 'SeeSale': 'விற்பனையைப் பார்க்கவும்',\r\n 'SaveNow': 'இப்போது சேமிக்கவும்',\r\n 'Schedule': 'திட்டமிடுக',\r\n 'SeeMenu': 'மெனுவைப் பார்க்கவும்',\r\n 'SeeMore': 'மேலும் காண்க',\r\n 'SeeOffer': 'சலுகையைப் பார்க்கவும்',\r\n 'SellNow': 'இப்போது விற்கவும்',\r\n 'ShopNow': 'இப்போது ஷாப்பிங் செய்யவும்',\r\n 'Showtimes': 'காட்சி நேரங்கள்',\r\n 'SignIn': 'உள்நுழைக',\r\n 'SignUp': 'பதிவுபெறுக',\r\n 'StartFree': 'இலவசமாகத் தொடங்குங்கள்',\r\n 'StartNow': 'இப்போதே தொடங்குங்கள்',\r\n 'Subscribe': 'குழுவில் சேரவும்',\r\n 'TestDrive': 'சோதனை ஓட்டம்',\r\n 'TryNow': 'இப்போதே முயலவும்',\r\n 'UsedCars': 'பயன்படுத்திய கார்கள்',\r\n 'ViewCars': 'கார்களைப் பார்க்கவும்',\r\n 'ViewNow': 'இப்போது பார்க்கவும்',\r\n 'ViewPlans': 'திட்டங்களைக் காண்க',\r\n 'VisitSite': 'தளத்தைப் பார்வையிடவும்',\r\n 'VoteNow': 'இப்போதே வாக்களியுங்கள்',\r\n 'Watch': 'பார்க்கவும்',\r\n 'WatchMore': 'மேலும் பார்க்கவும்',\r\n 'WatchNow': 'இப்போது பார்க்கவும்',\r\n 'Directions': 'திசைகள்',\r\n 'FindStore': 'ஸ்டோரைக் கண்டுபிடிக்கவும்',\r\n 'SwitchNow': 'இப்போதே நிலைமாற்றவும்',\r\n 'VisitStore': 'ஸ்டோரைப் பார்வையிடவும்',\r\n 'RenewNow': 'இப்போது புதுப்பிக்கவும்',\r\n 'Reorder': 'மீண்டும் ஆர்டர் செய்யுங்கள்',\r\n 'Buildnow': 'இப்போது கட்டியெழுப்பவும்',\r\n 'Dealers': 'டீலர்கள்',\r\n 'Getdemo': 'செயல்விளக்கத்தைப் பெறுங்கள்',\r\n 'Getnow': 'இப்போது பெறுங்கள்',\r\n 'Gotodemo': 'செயல்விளக்கத்திற்குச் செல்லவும்',\r\n 'Seedemo': 'செயல்விளக்கத்தைப் பார்க்கவும்',\r\n 'Seemodels': 'மாதிரிகளைப் பார்க்கவும்',\r\n 'Seeoffers': 'சலுகைகளைப் பார்க்கவும்',\r\n 'Viewdemo': 'செயல்விளக்கத்தைப் பார்க்கவும்',\r\n 'CustomText': 'விருப்ப உரை',\r\n 'Discover': 'கண்டறிக',\r\n 'Dismiss': 'நிராகரிக்கவும்',\r\n },\r\n 'Telugu': {\r\n 'ActNow': 'ఇప్పుడే పని చేయండి',\r\n 'ApplyNow': 'ఇప్పుడే దరఖాస్తు చేసుకోండి',\r\n 'BetNow': 'ఇప్పుడే పందెం వేయండి',\r\n 'BidNow': 'ఇప్పుడే వేలం వేయండి',\r\n 'BookACar': 'కారు బుక్ చేయండి',\r\n 'BookHotel': 'హోటల్ బుక్ చేయండి',\r\n 'BookNow': 'ఇప్పుడే బుకింగ్ చేయండి',\r\n 'Browse': 'బ్రౌజ్ చేయండి',\r\n 'BuyNow': 'ఇప్పుడే కొనుగోలు చేయండి',\r\n 'ChatNow': 'ఇప్పుడే చాట్ చేయండి',\r\n 'Compare': 'సరిపోల్చండి',\r\n 'ContactUs': 'మమ్మల్ని సంప్రదించండి',\r\n 'GetCoupon': 'కూపన్ పొందండి',\r\n 'Donate': 'దానం చేయండి',\r\n 'Download': 'డౌన్లోడ్ చేయండి',\r\n 'EmailNow': 'ఇప్పుడే ఇమెయిల్ పంపండి',\r\n 'EnrollNow': 'ఇప్పుడే నమోదు చేసుకోండి',\r\n 'Explore': 'విశ్లేషించండి',\r\n 'FileNow': 'ఇప్పుడే ఫైల్ చేయండి',\r\n 'FindJob': 'పనిని కనుగొనండి',\r\n 'FreePlay': 'ఉచిత ఆట',\r\n 'FreeQuote': 'ఉచిత కోట్',\r\n 'FreeTrial': 'ఉచిత ట్రయల్',\r\n 'GetDeals': 'డీల్లు పొందండి',\r\n 'GetOffer': 'ఆఫర్ను పొందండి',\r\n 'GetQuote': 'కోట్ పొందండి',\r\n 'JoinNow': 'ఇప్పుడే చేరండి',\r\n 'LearnMore': 'మరింత తెలుసుకోండి',\r\n 'ListenNow': 'ఇప్పుడే వినండి',\r\n 'LogIn': 'లాగిన్ చేయండి',\r\n 'Message': 'సందేశం',\r\n 'NewCars': 'కొత్త కార్లు',\r\n 'OrderNow': 'ఇప్పుడే ఆర్డర్ చేయండి',\r\n 'PlayGame': 'ఆట ఆడండి',\r\n 'PlayNow': 'ఇప్పుడే ఆడండి',\r\n 'PostJob': 'పనిని పోస్ట్ చేయండి',\r\n 'Register': 'రిజిస్టర్ చేసుకోండి',\r\n 'RentACar': 'కారును అద్దెకు తీసుకోండి',\r\n 'RentNow': 'ఇప్పుడే అద్దెకు తీసుకోండి',\r\n 'Reserve': 'రిజర్వ్ చేయండి',\r\n 'SeeSale': 'అమ్మకం చూడండి',\r\n 'SaveNow': 'ఇప్పుడే సేవ్ చేయండి',\r\n 'Schedule': 'షెడ్యూల్ చేయండి',\r\n 'SeeMenu': 'మెను చూడండి',\r\n 'SeeMore': 'మరిన్ని చూడండి',\r\n 'SeeOffer': 'ఆఫర్ చూడండి',\r\n 'SellNow': 'ఇప్పుడే అమ్మండి',\r\n 'ShopNow': 'ఇప్పుడే షాపింగ్ చేయండి',\r\n 'Showtimes': 'ప్రదర్శన సమయాలు',\r\n 'SignIn': 'సైన్ ఇన్ చేయండి',\r\n 'SignUp': 'సైన్ అప్ చేయండి',\r\n 'StartFree': 'ఉచితంగా ప్రారంభించండి',\r\n 'StartNow': 'ఇప్పుడే ప్రారంభించండి',\r\n 'Subscribe': 'సభ్యత్వం పొందండి',\r\n 'TestDrive': 'టెస్ట్ డ్రైవ్',\r\n 'TryNow': 'ఇప్పుడే ప్రయత్నించండి',\r\n 'UsedCars': 'ఉపయోగించిన కార్లు',\r\n 'ViewCars': 'కార్లను వీక్షించండి',\r\n 'ViewNow': 'ఇప్పుడే వీక్షించండి',\r\n 'ViewPlans': 'ప్లాన్లను వీక్షించండి',\r\n 'VisitSite': 'సైట్ను సందర్శించండి',\r\n 'VoteNow': 'ఇప్పుడే ఓటు వేయండి',\r\n 'Watch': 'చూడండి',\r\n 'WatchMore': 'మరిన్ని చూడండి',\r\n 'WatchNow': 'ఇప్పుడే చూడండి',\r\n 'Directions': 'దిశలు',\r\n 'FindStore': 'స్టోర్ కనుగొనండి',\r\n 'SwitchNow': 'ఇప్పుడే మారండి',\r\n 'VisitStore': 'స్టోర్ను సందర్శించండి',\r\n 'RenewNow': 'ఇప్పుడే పునరుద్ధరించండి',\r\n 'Reorder': 'మళ్లీ ఆర్డర్ చేయండి',\r\n 'Buildnow': 'ఇప్పుడే నిర్మించండి',\r\n 'Dealers': 'డీలర్లు',\r\n 'Getdemo': 'డెమో పొందండి',\r\n 'Getnow': 'ఇప్పుడే పొందండి',\r\n 'Gotodemo': 'డెమోకి వెళ్లండి',\r\n 'Seedemo': 'డెమో చూడండి',\r\n 'Seemodels': 'మోడల్లు చూడండి',\r\n 'Seeoffers': 'ఆఫర్లు చూడండి',\r\n 'Viewdemo': 'డెమోను వీక్షించండి',\r\n 'CustomText': 'అనుకూల టెక్స్ట్',\r\n 'Discover': 'కనుగొనండి',\r\n 'Dismiss': 'విస్మరించండి',\r\n },\r\n 'Urdu': {\r\n 'ActNow': 'ابھی اقدام کریں',\r\n 'ApplyNow': 'ابھی درخواست دیں',\r\n 'BetNow': 'ابھی شرط لگائیں',\r\n 'BidNow': 'ابھی بولی دیں',\r\n 'BookACar': 'کار بک کریں',\r\n 'BookHotel': 'ہوٹل بک کریں',\r\n 'BookNow': 'ابھی بک کریں',\r\n 'Browse': 'براؤز کریں',\r\n 'BuyNow': 'ابھی خریدیں',\r\n 'ChatNow': 'ابھی بات چیت کریں',\r\n 'Compare': 'موازنہ کریں',\r\n 'ContactUs': 'ہم سے رابطہ کریں',\r\n 'GetCoupon': 'کوپن حاصل کریں',\r\n 'Donate': 'عطیہ کریں',\r\n 'Download': 'ڈاؤن لوڈ کریں',\r\n 'EmailNow': 'ابھی ای میل کریں',\r\n 'EnrollNow': 'ابھی اندراج کروائیں',\r\n 'Explore': 'دریافت کریں',\r\n 'FileNow': 'ابھی فائل کریں',\r\n 'FindJob': 'جاب ڈھونڈیں',\r\n 'FreePlay': 'مفت میں کھیلیں',\r\n 'FreeQuote': 'مفت کوٹیشن',\r\n 'FreeTrial': 'مفت ٹرائل',\r\n 'GetDeals': 'ڈیلز حاصل کریں',\r\n 'GetOffer': 'پیشکش حاصل کریں',\r\n 'GetQuote': 'کوٹیشن حاصل کریں',\r\n 'JoinNow': 'ابھی شامل ہوں',\r\n 'LearnMore': 'مزید جانیے',\r\n 'ListenNow': 'ابھی سنیں',\r\n 'LogIn': 'لاگ ان کریں',\r\n 'Message': 'پیغام',\r\n 'NewCars': 'نئی کاریں',\r\n 'OrderNow': 'ابھی آرڈر کریں',\r\n 'PlayGame': 'گیم کھیلیں',\r\n 'PlayNow': 'ابھی کھیلیں',\r\n 'PostJob': 'جاب پوسٹ کریں',\r\n 'Register': 'رجسٹر ہوں',\r\n 'RentACar': 'کار کرائے پر لیں',\r\n 'RentNow': 'ابھی کرائے پر لیں',\r\n 'Reserve': 'ریزرو کریں',\r\n 'SeeSale': 'سیل دیکھیں',\r\n 'SaveNow': 'ابھی بچت کریں',\r\n 'Schedule': 'شیڈول',\r\n 'SeeMenu': 'مینو دیکھیں',\r\n 'SeeMore': 'مزید دیکھیں',\r\n 'SeeOffer': 'پیشکش دیکھیں',\r\n 'SellNow': 'ابھی بیچیں',\r\n 'ShopNow': 'ابھی خریداری کریں',\r\n 'Showtimes': 'شو کے اوقات',\r\n 'SignIn': 'سائن ان کریں',\r\n 'SignUp': 'سائن اپ کریں',\r\n 'StartFree': 'مفت میں شروع کریں',\r\n 'StartNow': 'ابھی شروع کریں',\r\n 'Subscribe': 'سبسکرائب کریں',\r\n 'TestDrive': 'ٹیسٹ ڈرائیو',\r\n 'TryNow': 'ابھی آزمائیں',\r\n 'UsedCars': 'استعمال شدہ کاریں',\r\n 'ViewCars': 'کاریں دیکھیں',\r\n 'ViewNow': 'ابھی دیکھیں',\r\n 'ViewPlans': 'منصوبے دیکھیں',\r\n 'VisitSite': 'سائٹ کا دورہ کریں',\r\n 'VoteNow': 'ابھی ووٹ دیں',\r\n 'Watch': 'دیکھیں',\r\n 'WatchMore': 'مزید دیکھیں',\r\n 'WatchNow': 'ابھی دیکھیں',\r\n 'Directions': 'ہدایات',\r\n 'FindStore': 'سٹور تلاش کریں',\r\n 'SwitchNow': 'ابھی سوئچ کریں',\r\n 'VisitStore': 'سٹور کا دورہ کریں',\r\n 'RenewNow': 'ابھی تجدید کریں',\r\n 'Reorder': 'ترتیب بدلیں',\r\n 'Buildnow': 'ابھی تعمیر کریں',\r\n 'Dealers': 'ڈیلرز',\r\n 'Getdemo': 'ڈیمو حاصل کریں',\r\n 'Getnow': 'ابھی حاصل کریں',\r\n 'Gotodemo': 'ڈیمو پر جائیں',\r\n 'Seedemo': 'ڈیمو دیکھیں',\r\n 'Seemodels': 'ماڈلز دیکھیں',\r\n 'Seeoffers': 'پیشکشیں دیکھیں',\r\n 'Viewdemo': 'ڈیمو دیکھیں',\r\n 'CustomText': 'تخصیص کردہ متن',\r\n 'Discover': 'دریافت کریں',\r\n 'Dismiss': 'برخاست کریں',\r\n },\r\n 'Uzbek': {\r\n 'ActNow': 'Hozir harakat qilish',\r\n 'ApplyNow': 'Hozir tatbiq etish',\r\n 'BetNow': 'Hozir pul tikish',\r\n 'BidNow': 'Hozir narxlash',\r\n 'BookACar': 'Avtomobil bandlash',\r\n 'BookHotel': 'Mehmonxona bandlash',\r\n 'BookNow': 'Hozir bandlash',\r\n 'Browse': 'Tanlash',\r\n 'BuyNow': 'Hozir sotib olish',\r\n 'ChatNow': 'Hozir chatlashish',\r\n 'Compare': 'Taqqoslash',\r\n 'ContactUs': 'Biz bilan aloqa',\r\n 'GetCoupon': 'Kupon olish',\r\n 'Donate': 'Xayriya qilish',\r\n 'Download': 'Yuklab olish',\r\n 'EmailNow': 'Hozir xat yuborish',\r\n 'EnrollNow': 'Hozir qayd qilish',\r\n 'Explore': 'Tanishuv',\r\n 'FileNow': 'Hozir saqlash',\r\n 'FindJob': 'Ish topish',\r\n 'FreePlay': 'Bepul oʻyin',\r\n 'FreeQuote': 'Bepul iqtibos',\r\n 'FreeTrial': 'Bepul sinov',\r\n 'GetDeals': 'Takliflar olish',\r\n 'GetOffer': 'Taklif olish',\r\n 'GetQuote': 'Iqtibos olish',\r\n 'JoinNow': 'Hozir qoʻshilish',\r\n 'LearnMore': 'Batafsil',\r\n 'ListenNow': 'Hozir tinglash',\r\n 'LogIn': 'Kirish',\r\n 'Message': 'Xabar',\r\n 'NewCars': 'Yangi avtomobillar',\r\n 'OrderNow': 'Hozir buyurtma berish',\r\n 'PlayGame': 'Oʻyin boshlash',\r\n 'PlayNow': 'Hozir oʻynash',\r\n 'PostJob': 'Vakansiya joylash',\r\n 'Register': 'Roʻyxatdan oʻtish',\r\n 'RentACar': 'Avtomobilni ijaraga olish',\r\n 'RentNow': 'Hozir ijaraga olish',\r\n 'Reserve': 'Bandlash',\r\n 'SeeSale': 'Chegirma',\r\n 'SaveNow': 'Hozir saqlash',\r\n 'Schedule': 'Jadval',\r\n 'SeeMenu': 'Menyuni koʻrish',\r\n 'SeeMore': 'Yana',\r\n 'SeeOffer': 'Taklifni koʻrish',\r\n 'SellNow': 'Hozir sotish',\r\n 'ShopNow': 'Hozir xarid qilish',\r\n 'Showtimes': 'Namoyish vaqtlari',\r\n 'SignIn': 'Kirish',\r\n 'SignUp': 'Yozilish',\r\n 'StartFree': 'Bepul boshlash',\r\n 'StartNow': 'Hozir boshlash',\r\n 'Subscribe': 'Obuna bo‘lish',\r\n 'TestDrive': 'Haydashni sinash',\r\n 'TryNow': 'Hoziroq sinash',\r\n 'UsedCars': 'Ishlatilgan avtomobillar',\r\n 'ViewCars': 'Avtomobillarni koʻrish',\r\n 'ViewNow': 'Hozir koʻrish',\r\n 'ViewPlans': 'Tarif rejalari',\r\n 'VisitSite': 'Saytga kirish',\r\n 'VoteNow': 'Hozir ovoz berish',\r\n 'Watch': 'Tomosha qilish',\r\n 'WatchMore': 'Yana tomosha qilish',\r\n 'WatchNow': 'Hozir tomosha qilish',\r\n 'Directions': 'Yoʻnalishlar',\r\n 'FindStore': 'Doʻkon topish',\r\n 'SwitchNow': 'Hozir almashtirish',\r\n 'VisitStore': 'Doʻkonga tashrif buyurish',\r\n 'RenewNow': 'Hozir yangilash',\r\n 'Reorder': 'Qayta buyurtma berish',\r\n 'Buildnow': 'Hozir qurish',\r\n 'Dealers': 'Dilerlar',\r\n 'Getdemo': 'Demo olish',\r\n 'Getnow': 'Hozir olish',\r\n 'Gotodemo': 'Demoga oʻtish',\r\n 'Seedemo': 'Demoni koʻrish',\r\n 'Seemodels': 'Modellarni koʻrish',\r\n 'Seeoffers': 'Takliflarni koʻrish',\r\n 'Viewdemo': 'Demoni ochish',\r\n 'CustomText': 'Maxsus matn',\r\n 'Discover': 'Tanishish',\r\n 'Dismiss': 'Yopish',\r\n },\r\n 'Welsh': {\r\n 'ActNow': 'Gweithredu Nawr',\r\n 'ApplyNow': 'Defnyddio Nawr',\r\n 'BetNow': 'Betio Nawr',\r\n 'BidNow': 'Cynnig Nawr',\r\n 'BookACar': 'Archebu Car',\r\n 'BookHotel': 'Book Hotel',\r\n 'BookNow': 'Archebu Nawr',\r\n 'Browse': 'Pori',\r\n 'BuyNow': 'Prynu Nawr',\r\n 'ChatNow': 'Sgwrsio Nawr',\r\n 'Compare': 'Cymharu',\r\n 'ContactUs': 'Cysylltu â ni',\r\n 'GetCoupon': 'Cael Cwpon',\r\n 'Donate': 'Rhoi',\r\n 'Download': 'Lawrlwytho',\r\n 'EmailNow': 'E-bostio Nawr',\r\n 'EnrollNow': 'Cofrestru Nawr',\r\n 'Explore': 'Archwilio',\r\n 'FileNow': 'Ffeilio Nawr',\r\n 'FindJob': 'Canfod Tasg',\r\n 'FreePlay': 'Chwarae Am Ddim',\r\n 'FreeQuote': 'Dyfyniad Am Ddim',\r\n 'FreeTrial': 'Treial am Ddim',\r\n 'GetDeals': 'Cael Bargeinion',\r\n 'GetOffer': 'Cael Cynnig',\r\n 'GetQuote': 'Cael Dyfyniad',\r\n 'JoinNow': 'Ymuno Nawr',\r\n 'LearnMore': 'Dysgu Mwy',\r\n 'ListenNow': 'Gwrando Nawr',\r\n 'LogIn': 'Mewngofnodi',\r\n 'Message': 'Neges',\r\n 'NewCars': 'Ceir Newydd',\r\n 'OrderNow': 'Archebu nawr',\r\n 'PlayGame': 'Chwarae Gêm',\r\n 'PlayNow': 'Chwarae Nawr',\r\n 'PostJob': 'Postio Swydd',\r\n 'Register': 'Cofrestr',\r\n 'RentACar': 'Rhentu Car',\r\n 'RentNow': 'Rhentu Nawr',\r\n 'Reserve': 'Cadw',\r\n 'SeeSale': 'Gweld Gwerthiant',\r\n 'SaveNow': 'Cadw Nawr',\r\n 'Schedule': 'Trefnu',\r\n 'SeeMenu': 'Gweld Dewislen',\r\n 'SeeMore': 'Gweld Rhagor',\r\n 'SeeOffer': 'Gweld y Cynnig',\r\n 'SellNow': 'Gwerthu Nawr',\r\n 'ShopNow': 'Siopa Nawr',\r\n 'Showtimes': 'Amseroedd y Sioe',\r\n 'SignIn': 'Mewngofnodi',\r\n 'SignUp': 'Cofrestru',\r\n 'StartFree': 'Dechrau am Ddim',\r\n 'StartNow': 'Dechrau Nawr',\r\n 'Subscribe': 'Tanysgrifio',\r\n 'TestDrive': 'Profi Gyrru',\r\n 'TryNow': 'Rhowch Gynnig Arni Nawr',\r\n 'UsedCars': 'Ceir Ail-law',\r\n 'ViewCars': 'Gweld Ceir',\r\n 'ViewNow': 'Gweld Nawr',\r\n 'ViewPlans': 'Gweld y Cynlluniau',\r\n 'VisitSite': 'Ymweld â\\'r Wefan',\r\n 'VoteNow': 'Pleidleisio Nawr',\r\n 'Watch': 'Gwylio',\r\n 'WatchMore': 'Gwylio Mwy',\r\n 'WatchNow': 'Gwylio Nawr',\r\n 'Directions': 'Cyfarwyddiadau',\r\n 'FindStore': 'Canfod Siop',\r\n 'SwitchNow': 'Newid Nawr',\r\n 'VisitStore': 'Mynd i\\'r Siop',\r\n 'RenewNow': 'Adnewyddu Nawr',\r\n 'Reorder': 'Ail-archeb',\r\n 'Buildnow': 'Adeiladu nawr',\r\n 'Dealers': 'Gwerthwyr',\r\n 'Getdemo': 'Cael arddangosiad',\r\n 'Getnow': 'Cael nawr',\r\n 'Gotodemo': 'Mynd i\\'r arddangosiad',\r\n 'Seedemo': 'Gweld arddangosiad',\r\n 'Seemodels': 'Gweld modelau',\r\n 'Seeoffers': 'Gweld cynigion',\r\n 'Viewdemo': 'Gweld arddangosiad',\r\n 'CustomText': 'Testun Personol',\r\n 'Discover': 'Darganfod',\r\n 'Dismiss': 'Anwybyddu',\r\n },\r\n 'Tagalog': {\r\n 'ActNow': 'Kumilos Ngayon',\r\n 'ApplyNow': 'I-apply Ngayon',\r\n 'BetNow': 'Mag-bet Ngayon',\r\n 'BidNow': 'Mag-bid Ngayon',\r\n 'BookACar': 'Mag-book ng Kotse',\r\n 'BookHotel': 'Mag-book ng Hotel',\r\n 'BookNow': 'Mag-book Ngayon',\r\n 'Browse': 'I-browse',\r\n 'BuyNow': 'Bumili Ngayon',\r\n 'ChatNow': 'Makipag-chat ngayon',\r\n 'Compare': 'Ikumpara',\r\n 'ContactUs': 'Makipag-ugnayan sa amin',\r\n 'GetCoupon': 'Kumuha ng Coupon',\r\n 'Donate': 'I-donate',\r\n 'Download': 'I-download',\r\n 'EmailNow': 'I-email Ngayon',\r\n 'EnrollNow': 'Mag-enroll Ngayon',\r\n 'Explore': 'I-explore',\r\n 'FileNow': 'Mag-File Ngayon',\r\n 'FindJob': 'Maghanap ng Trabaho',\r\n 'FreePlay': 'Libreng Laro',\r\n 'FreeQuote': 'Libreng Quote',\r\n 'FreeTrial': 'Libreng Trial',\r\n 'GetDeals': 'Kumuha Ng Mga Deal',\r\n 'GetOffer': 'Kumuha ng Alok',\r\n 'GetQuote': 'Kumuha ng Quote',\r\n 'JoinNow': 'Sumali Ngayon',\r\n 'LearnMore': 'Alamin Pa',\r\n 'ListenNow': 'Makinig Ngayon',\r\n 'LogIn': 'Mag log in',\r\n 'Message': 'Mensahe',\r\n 'NewCars': 'Mga Bagong Kotse',\r\n 'OrderNow': 'Mag-order Ngayon',\r\n 'PlayGame': 'Maglaro',\r\n 'PlayNow': 'I-play Ngayon',\r\n 'PostJob': 'I-post ang Trabaho',\r\n 'Register': 'Magparehistro',\r\n 'RentACar': 'Mag-rent ng kotse',\r\n 'RentNow': 'I-rent Ngayon',\r\n 'Reserve': 'Magreserba',\r\n 'SeeSale': 'Tingnan ang Benta',\r\n 'SaveNow': 'I-save Ngayon',\r\n 'Schedule': 'Iskedyul',\r\n 'SeeMenu': 'Tingnan ang Menu',\r\n 'SeeMore': 'Tumingin Pa ng Marami',\r\n 'SeeOffer': 'Tingnan ang Alok',\r\n 'SellNow': 'Ibenta Ngayon',\r\n 'ShopNow': 'Mamili Ngayon',\r\n 'Showtimes': 'Mga Showtime',\r\n 'SignIn': 'Mag-sign in',\r\n 'SignUp': 'Mag-sign Up',\r\n 'StartFree': 'Magsimula nang Libre',\r\n 'StartNow': 'Magsimula Ngayon',\r\n 'Subscribe': 'Mag-subscribe',\r\n 'TestDrive': 'Sumubok Mag-Drive',\r\n 'TryNow': 'Subukan Ngayon',\r\n 'UsedCars': 'Mga Gamit na Kotse',\r\n 'ViewCars': 'Tingnan ang Mga Kotse',\r\n 'ViewNow': 'Tingnan Ngayon',\r\n 'ViewPlans': 'Tingnan ang Mga Plano',\r\n 'VisitSite': 'Bisitahin ang Site',\r\n 'VoteNow': 'Bumoto Ngayon',\r\n 'Watch': 'Relo',\r\n 'WatchMore': 'Manood pa ng Marami',\r\n 'WatchNow': 'Manood Ngayon',\r\n 'Directions': 'Mga Direksyon',\r\n 'FindStore': 'Humanap ng Store',\r\n 'SwitchNow': 'Lumipat Ngayon',\r\n 'VisitStore': 'Bisitahin ang Store',\r\n 'RenewNow': 'I-renew ngayon',\r\n 'Reorder': 'Pagsunud-sunurin',\r\n 'CustomText': 'Custom na Text',\r\n },\r\n};\r\n\r\n\r\nexport const newActionTextMapper = {\r\n 'English': {\r\n 'BuildNow': 'Build Now',\r\n 'Dealers': 'Dealers',\r\n 'GetDemo': 'Get Demo',\r\n 'GetNow': 'Get Now',\r\n 'GoToDemo': 'Go To Demo',\r\n 'SeeDemo': 'See Demo',\r\n 'SeeModels': 'See Models',\r\n 'SeeOffers': 'See Offers',\r\n 'ViewDemo': 'View Demo',\r\n },\r\n 'Danish': {\r\n 'BuildNow': 'Byg nu',\r\n 'Dealers': 'Forhandlere',\r\n 'GetDemo': 'Få demo',\r\n 'GetNow': 'Få nu',\r\n 'GoToDemo': 'Gå til demo',\r\n 'SeeDemo': 'Se demo',\r\n 'SeeModels': 'Se modeller',\r\n 'SeeOffers': 'Se tilbud',\r\n 'ViewDemo': 'Vis demo',\r\n },\r\n 'German': {\r\n 'BuildNow': 'Jetzt erstellen',\r\n 'Dealers': 'Händler',\r\n 'GetDemo': 'Demo erhalten',\r\n 'GetNow': 'Jetzt erhalten',\r\n 'GoToDemo': 'Zur Demo gehen',\r\n 'SeeDemo': 'Demo ansehen',\r\n 'SeeModels': 'Modelle anzeigen',\r\n 'SeeOffers': 'Angebote ansehen',\r\n 'ViewDemo': 'Demo anzeigen',\r\n\r\n },\r\n 'Spanish': {\r\n 'BuildNow': 'Compilar ahora',\r\n 'Dealers': 'Agentes',\r\n 'GetDemo': 'Obtener demo',\r\n 'GetNow': 'Obtener ahora',\r\n 'GoToDemo': 'Ir a demo',\r\n 'SeeDemo': 'Consultar demo',\r\n 'SeeModels': 'Ver modelos',\r\n 'SeeOffers': 'Ver ofertas',\r\n 'ViewDemo': 'Ver demos',\r\n },\r\n 'Finnish': {\r\n 'BuildNow': 'Luo nyt',\r\n 'Dealers': 'Myyjät',\r\n 'GetDemo': 'Hanki demo',\r\n 'GetNow': 'Hanki nyt',\r\n 'GoToDemo': 'Siirry demoon',\r\n 'SeeDemo': 'Katso demo',\r\n 'SeeModels': 'Katso mallit',\r\n 'SeeOffers': 'Katso tarjoukset',\r\n 'ViewDemo': 'Näytä demo',\r\n },\r\n 'French': {\r\n 'BuildNow': 'Créer',\r\n 'Dealers': 'Revendeurs',\r\n 'GetDemo': 'Obtenir la démo',\r\n 'GetNow': 'Obtenir',\r\n 'GoToDemo': 'Aller à la démo',\r\n 'SeeDemo': 'Voir la démo',\r\n 'SeeModels': 'Voir les modèles',\r\n 'SeeOffers': 'Voir les offres',\r\n 'ViewDemo': 'Afficher la démo',\r\n },\r\n 'Italian': {\r\n 'BuildNow': 'Crea ora',\r\n 'Dealers': 'Concessionari',\r\n 'GetDemo': 'Scarica demo',\r\n 'GetNow': 'Scarica ora',\r\n 'GoToDemo': 'Vai alla demo',\r\n 'SeeDemo': 'Guarda demo',\r\n 'SeeModels': 'Guarda modelli',\r\n 'SeeOffers': 'Guarda offerte',\r\n 'ViewDemo': 'Visualizza demo',\r\n },\r\n 'Norwegian': {\r\n 'BuildNow': 'Bygg nå',\r\n 'Dealers': 'Forhandlere',\r\n 'GetDemo': 'Få demo',\r\n 'GetNow': 'Få nå',\r\n 'GoToDemo': 'Gå til demo',\r\n 'SeeDemo': 'Se demo',\r\n 'SeeModels': 'Se modeller',\r\n 'SeeOffers': 'Se tilbud',\r\n 'ViewDemo': 'Vis demo',\r\n },\r\n 'Dutch': {\r\n 'BuildNow': 'Nu bouwen',\r\n 'Dealers': 'Dealers',\r\n 'GetDemo': 'Demo ophalen',\r\n 'GetNow': 'Nu ophalen',\r\n 'GoToDemo': 'Ga naar demo',\r\n 'SeeDemo': 'Demo bekijken',\r\n 'SeeModels': 'Bekijk modellen',\r\n 'SeeOffers': 'Bekijk aanbied.',\r\n 'ViewDemo': 'Demo weergeven',\r\n },\r\n 'Portuguese': {\r\n 'BuildNow': 'Construir Agora',\r\n 'Dealers': 'Concessionárias',\r\n 'GetDemo': 'Obter demo',\r\n 'GetNow': 'Obter agora',\r\n 'GoToDemo': 'Ir para demo',\r\n 'SeeDemo': 'Ver demo',\r\n 'SeeModels': 'Ver modelos',\r\n 'SeeOffers': 'Ver ofertas',\r\n 'ViewDemo': 'Exibir demo',\r\n },\r\n 'Swedish': {\r\n 'BuildNow': 'Bygg nu',\r\n 'Dealers': 'Handlare',\r\n 'GetDemo': 'Hämta demo',\r\n 'GetNow': 'Hämta nu',\r\n 'GoToDemo': 'Gå till demo',\r\n 'SeeDemo': 'Se demo',\r\n 'SeeModels': 'Se modeller',\r\n 'SeeOffers': 'Se erbjudanden',\r\n 'ViewDemo': 'Visa demo',\r\n\r\n },\r\n 'TraditionalChinese': {\r\n 'BuildNow': '立即建立',\r\n 'Dealers': '經銷商',\r\n 'GetDemo': '取得示範',\r\n 'GetNow': '立即取得',\r\n 'GoToDemo': '移至示範',\r\n 'SeeDemo': '查看示範',\r\n 'SeeModels': '查看型號',\r\n 'SeeOffers': '查看優惠',\r\n 'ViewDemo': '檢視示範',\r\n },\r\n 'Polish': {\r\n 'BuildNow': 'Buduj teraz',\r\n 'Dealers': 'Sprzedawcy',\r\n 'GetDemo': 'Pobierz pokaz',\r\n 'GetNow': 'Pobierz teraz',\r\n 'GoToDemo': 'Idź do pokazu',\r\n 'SeeDemo': 'Zobacz pokaz',\r\n 'SeeModels': 'Zobacz modele',\r\n 'SeeOffers': 'Zobacz oferty',\r\n 'ViewDemo': 'Wyświetl pokaz',\r\n },\r\n 'Turkish': {\r\n 'BuildNow': 'Hemen Oluştur',\r\n 'Dealers': 'Bayiler',\r\n 'GetDemo': 'Demo al',\r\n 'GetNow': 'Hemen al',\r\n 'GoToDemo': 'Demoya git',\r\n 'SeeDemo': 'Demoyu gör',\r\n 'SeeModels': 'Modelleri gör',\r\n 'SeeOffers': 'Teklifleri gör',\r\n 'ViewDemo': 'Demoyu görüntüle',\r\n },\r\n 'Greek': {\r\n 'BuildNow': 'Χτίστε τώρα',\r\n 'Dealers': 'Αντιπροσωπείες',\r\n 'GetDemo': 'Λήψη επίδειξης',\r\n 'GetNow': 'Λήψη τώρα',\r\n 'GoToDemo': 'Επίδειξη',\r\n 'SeeDemo': 'Εμφάν. επίδειξης',\r\n 'SeeModels': 'Εμφάν. μοντέλων',\r\n 'SeeOffers': 'Εμφάν. προσφορών',\r\n 'ViewDemo': 'Προβ. επίδειξης',\r\n },\r\n 'Bulgarian': {\r\n 'BuildNow': 'Изградете сега',\r\n 'Dealers': 'Търговци',\r\n 'GetDemo': 'Получете демо',\r\n 'GetNow': 'Получете сега',\r\n 'GoToDemo': 'Към демо',\r\n 'SeeDemo': 'Вижте демо',\r\n 'SeeModels': 'Вижте модели',\r\n 'SeeOffers': 'Вижте оферти',\r\n 'ViewDemo': 'Преглед на демо',\r\n },\r\n 'Croatian': {\r\n 'BuildNow': 'Izradi odmah',\r\n 'Dealers': 'Ovlašteni distr.',\r\n 'GetDemo': 'Dohvati pok. ver',\r\n 'GetNow': 'Dohvati odmah',\r\n 'GoToDemo': 'Idi na pok. ver.',\r\n 'SeeDemo': 'Pogl. pok. ver.',\r\n 'SeeModels': 'Pogl. modele',\r\n 'SeeOffers': 'Pogl. ponude',\r\n 'ViewDemo': 'Prikaz pok. ver.',\r\n },\r\n 'Czech': {\r\n 'BuildNow': 'Sestavit',\r\n 'Dealers': 'Dealeři',\r\n 'GetDemo': 'Získat ukázku',\r\n 'GetNow': 'Získat',\r\n 'GoToDemo': 'Přejít k ukázce',\r\n 'SeeDemo': 'Zobrazit ukázku',\r\n 'SeeModels': 'Zobrazit modely',\r\n 'SeeOffers': 'Zobrazit nabídky',\r\n 'ViewDemo': 'Zhlédnout ukázku',\r\n },\r\n 'Estonian': {\r\n 'BuildNow': 'Praegune vers.',\r\n 'Dealers': 'Edasimüüjad',\r\n 'GetDemo': 'Hangi demo',\r\n 'GetNow': 'Hangi kohe',\r\n 'GoToDemo': 'Mine demosse',\r\n 'SeeDemo': 'Vaata demot',\r\n 'SeeModels': 'Vaata mudeleid',\r\n 'SeeOffers': 'Vaata pakkumisi',\r\n 'ViewDemo': 'Demo vaatamine',\r\n },\r\n 'Hungarian': {\r\n 'BuildNow': 'Létrehozás most',\r\n 'Dealers': 'Kereskedők',\r\n 'GetDemo': 'Demó beszerzése',\r\n 'GetNow': 'Beszerzés most',\r\n 'GoToDemo': 'Ugrás a demóra',\r\n 'SeeDemo': 'Demó megnézése',\r\n 'SeeModels': 'Modellek megtek.',\r\n 'SeeOffers': 'Ajánl. megtek.',\r\n 'ViewDemo': 'Demó megtekint.',\r\n },\r\n 'Latvian': {\r\n 'BuildNow': 'Veidot tagad',\r\n 'Dealers': 'Dīleri',\r\n 'GetDemo': 'Iegūt demo',\r\n 'GetNow': 'Iegūt tagad',\r\n 'GoToDemo': 'Doties uz demo',\r\n 'SeeDemo': 'Skatīt demo',\r\n 'SeeModels': 'Skatīt modeļus',\r\n 'SeeOffers': 'Skatīt piedāvāj.',\r\n 'ViewDemo': 'Apskatīt demo',\r\n },\r\n 'Lithuanian': {\r\n 'BuildNow': 'Kurti dabar',\r\n 'Dealers': 'Platintojai',\r\n 'GetDemo': 'Gauti dem. ver.',\r\n 'GetNow': 'Gauti dabar',\r\n 'GoToDemo': 'Eiti į dem. ver.',\r\n 'SeeDemo': 'Žr. dem. ver.',\r\n 'SeeModels': 'Žr. modelius',\r\n 'SeeOffers': 'Perž. pasiūlymus',\r\n 'ViewDemo': 'Perž. dem. ver.',\r\n },\r\n 'Maltese': {\r\n 'BuildNow': 'Ibni Issa',\r\n 'Dealers': 'Negozjanti',\r\n 'GetDemo': 'Ikseb Wirja',\r\n 'GetNow': 'Ikseb issa',\r\n 'GoToDemo': 'Mur għall-wirja',\r\n 'SeeDemo': 'Ara l-wirja',\r\n 'SeeModels': 'Ara l-mudelli',\r\n 'SeeOffers': 'Ara l-offerti',\r\n 'ViewDemo': 'Eżamina l-wirja',\r\n },\r\n 'Romanian': {\r\n 'BuildNow': 'Compilați acum',\r\n 'Dealers': 'Furnizori',\r\n 'GetDemo': 'Obțineți demo',\r\n 'GetNow': 'Obțineți acum',\r\n 'GoToDemo': 'Accesați demo',\r\n 'SeeDemo': 'Vedeți demo',\r\n 'SeeModels': 'Vedeți modele',\r\n 'SeeOffers': 'Vedeți oferte',\r\n 'ViewDemo': 'Vizualizați demo',\r\n },\r\n 'Slovak': {\r\n 'BuildNow': 'Zostaviť',\r\n 'Dealers': 'Predajcovia',\r\n 'GetDemo': 'Získať ukážku',\r\n 'GetNow': 'Získať',\r\n 'GoToDemo': 'Prejsť na ukážku',\r\n 'SeeDemo': 'Otvoriť ukážku',\r\n 'SeeModels': 'Zobraziť modely',\r\n 'SeeOffers': 'Zobraziť ponuky',\r\n 'ViewDemo': 'Zobraziť ukážku',\r\n },\r\n 'Slovenian': {\r\n 'BuildNow': 'Zgradi zdaj',\r\n 'Dealers': 'Prodajalci',\r\n 'GetDemo': 'Prenesi predst.',\r\n 'GetNow': 'Prenesi zdaj',\r\n 'GoToDemo': 'Pojdi na predst.',\r\n 'SeeDemo': 'Ogled predstav.',\r\n 'SeeModels': 'Ogled modelov',\r\n 'SeeOffers': 'Ogled ponudb',\r\n 'ViewDemo': 'Prikaz predstav.',\r\n },\r\n 'Albanian': {\r\n 'BuildNow': 'Krijo tani',\r\n 'Dealers': 'Shitësit',\r\n 'GetDemo': 'Merr demo',\r\n 'GetNow': 'Merr tani',\r\n 'GoToDemo': 'Shko te demo',\r\n 'SeeDemo': 'Shiko demo',\r\n 'SeeModels': 'Shiko modelet',\r\n 'SeeOffers': 'Shiko ofertat',\r\n 'ViewDemo': 'Shfaq demo',\r\n },\r\n 'Bosnian': {\r\n 'BuildNow': 'Napravi sada',\r\n 'Dealers': 'Prodavači',\r\n 'GetDemo': 'Pokazna verzija',\r\n 'GetNow': 'Preuzmi sada',\r\n 'GoToDemo': 'Idi na pokazno',\r\n 'SeeDemo': 'Prikaži pokazno',\r\n 'SeeModels': 'Prikaži modele',\r\n 'SeeOffers': 'Prikaži ponude',\r\n 'ViewDemo': 'Pokazni prikaz',\r\n },\r\n 'Icelandic': {\r\n 'BuildNow': 'Smíða núna',\r\n 'Dealers': 'Söluaðilar',\r\n 'GetDemo': 'Sækja sýnidæmi',\r\n 'GetNow': 'Sækja núna',\r\n 'GoToDemo': 'Fara í sýnidæmi',\r\n 'SeeDemo': 'Sjá sýnishorn',\r\n 'SeeModels': 'Skoða líkön',\r\n 'SeeOffers': 'Skoða tilboð',\r\n 'ViewDemo': 'Sjá sýnidæmi',\r\n },\r\n 'Macedonian': {\r\n 'BuildNow': 'Изгради сега',\r\n 'Dealers': 'Продавачи',\r\n 'GetDemo': 'Добиј демо',\r\n 'GetNow': 'Добиј сега',\r\n 'GoToDemo': 'Оди на демо',\r\n 'SeeDemo': 'Види демо',\r\n 'SeeModels': 'Види модели',\r\n 'SeeOffers': 'Види понуди',\r\n 'ViewDemo': 'Прегледај демо',\r\n },\r\n 'Serbian': {\r\n 'BuildNow': 'Napravi odmah',\r\n 'Dealers': 'Prodavci',\r\n 'GetDemo': 'Nabavi demo',\r\n 'GetNow': 'Nabavi odmah',\r\n 'GoToDemo': 'Idi na demo',\r\n 'SeeDemo': 'Pogledajte demo',\r\n 'SeeModels': 'Prikaži modele',\r\n 'SeeOffers': 'Prikaži ponude',\r\n 'ViewDemo': 'Prikaži demo',\r\n },\r\n 'Japanese': {\r\n 'BuildNow': '今すぐビルド',\r\n 'Dealers': 'ディーラー',\r\n 'GetDemo': 'デモを入手',\r\n 'GetNow': '今すぐ入手',\r\n 'GoToDemo': 'デモに移動',\r\n 'SeeDemo': 'デモを見る',\r\n 'SeeModels': 'モデルの表示',\r\n 'SeeOffers': 'オファーを見る',\r\n 'ViewDemo': 'デモの表示',\r\n },\r\n 'Russian': {\r\n 'BuildNow': 'Построить сейчас',\r\n 'Dealers': 'Дилеры',\r\n 'GetDemo': 'Получить демо',\r\n 'GetNow': 'Получить сейчас',\r\n 'GoToDemo': 'Перейти к демо',\r\n 'SeeDemo': 'Смотреть демо',\r\n 'SeeModels': 'Смотреть модели',\r\n 'SeeOffers': 'Предложения',\r\n 'ViewDemo': 'Просмотреть демо',\r\n },\r\n 'Arabic': {\r\n 'BuildNow': 'الإنشاء الآن',\r\n 'Dealers': 'الموزّعون',\r\n 'GetDemo': 'احصل على نسخة تجريبية',\r\n 'GetNow': 'الحصول على الآن',\r\n 'GoToDemo': 'إنتقال إلى العرض',\r\n 'SeeDemo': 'عرض العرض',\r\n 'SeeModels': 'عرض النماذج',\r\n 'SeeOffers': 'مشاهدة العروض',\r\n 'ViewDemo': 'مشاهدة العرض',\r\n },\r\n 'Hebrew': {\r\n 'BuildNow': 'בנה עכשיו',\r\n 'Dealers': 'סוכנים',\r\n 'GetDemo': 'השג הדגמה',\r\n 'GetNow': 'השג עכשיו',\r\n 'GoToDemo': 'עבור אל הדגמה',\r\n 'SeeDemo': 'ראה הדגמה',\r\n 'SeeModels': 'ראה מודלים',\r\n 'SeeOffers': 'ראה הצעות',\r\n 'ViewDemo': 'סרטון הדגמה',\r\n },\r\n 'SimplifiedChinese': {\r\n 'BuildNow': '立即生成',\r\n 'Dealers': '经销商',\r\n 'GetDemo': '获取演示',\r\n 'GetNow': '立即获取',\r\n 'GoToDemo': '转到演示',\r\n 'SeeDemo': '请参阅演示',\r\n 'SeeModels': '查看模型',\r\n 'SeeOffers': '查看产品',\r\n 'ViewDemo': '查看演示',\r\n },\r\n 'Hindi': {\r\n 'BuildNow': 'अभी बनाएँ',\r\n 'Dealers': 'डीलर्स',\r\n 'GetDemo': 'डेमो प्राप्त करें',\r\n 'GoToDemo': 'डेमो पर जाएँ',\r\n 'GetNow': 'अभी प्राप्त करें',\r\n 'SeeDemo': 'डेमो देखें',\r\n 'SeeModels': 'मॉडल देखें',\r\n 'SeeOffers': 'ऑफ़र देखें',\r\n 'ViewDemo': 'डेमो देखें',\r\n },\r\n 'Indonesian': {\r\n 'BuildNow': 'Buat sekarang',\r\n 'Dealers': 'Dealer',\r\n 'GetDemo': 'Dapatkan demo',\r\n 'GoToDemo': 'Buka demo',\r\n 'GetNow': 'Dapatkan sekarang',\r\n 'SeeDemo': 'Lihat demo',\r\n 'SeeModels': 'Lihat model',\r\n 'SeeOffers': 'Lihat penawaran',\r\n 'ViewDemo': 'Tampilkan demo',\r\n },\r\n 'Thai': {\r\n 'BuildNow': 'สร้างทันที',\r\n 'Dealers': 'ตัวแทนจำหน่าย',\r\n 'GetDemo': 'รับการสาธิต',\r\n 'GoToDemo': 'ไปที่การสาธิต',\r\n 'GetNow': 'รับทันที',\r\n 'SeeDemo': 'ดูการสาธิต',\r\n 'SeeModels': 'ดูโมเดล',\r\n 'SeeOffers': 'ดูข้อเสนอ',\r\n 'ViewDemo': 'ดูการสาธิต',\r\n },\r\n 'Vietnamese': {\r\n 'BuildNow': 'Dựng ngay',\r\n 'Dealers': 'Đại lý',\r\n 'GetDemo': 'Lấy bản demo',\r\n 'GoToDemo': 'Đến bản demo',\r\n 'GetNow': 'Lấy ngay',\r\n 'SeeDemo': 'Xem bản demo',\r\n 'SeeModels': 'Xem mẫu',\r\n 'SeeOffers': 'Xem chào hàng',\r\n 'ViewDemo': 'Xem bản demo',\r\n },\r\n 'Tagalog': {\r\n 'BuildNow': 'Bumuo ngayon',\r\n 'Dealers': 'Mga Dealer',\r\n 'GetDemo': 'Kunin ang demo',\r\n 'GetNow': 'Kunin ngayon',\r\n 'GoToDemo': 'Pumunta sa demo',\r\n 'SeeDemo': 'Tingnan ang demo',\r\n 'SeeModels': 'Tingnan ang mga modelo',\r\n 'SeeOffers': 'Tingnan ang mga alok',\r\n 'ViewDemo': 'Tingnan ang demo',\r\n },\r\n 'Malay': {\r\n 'BuildNow': 'Bina sekarang',\r\n 'Dealers': 'Peniaga',\r\n 'GetDemo': 'Dapatkan tunjuk cara',\r\n 'GetNow': 'Bertaruh sekarang',\r\n 'GoToDemo': 'Pergi ke tunjuk cara',\r\n 'SeeDemo': 'Lihat tunjuk cara',\r\n 'SeeModels': 'Lihat model',\r\n 'SeeOffers': 'Lihat tawaran',\r\n 'ViewDemo': 'Lihat tunjuk cara',\r\n },\r\n};\r\n","import { extend } from 'underscore';\r\nimport rawItemTemplate from './universal-item-template.pug';\r\nimport { getActionText } from '@bingads-webui-campaign-legacy/adextension-actionlink/model/language-type-text-mapper';\r\n\r\nexport const universalItemTemplate = (arg0) => rawItemTemplate(extend({ getActionText }, arg0));\r\n","import Backbone from 'backbone';\r\nimport _ from 'underscore';\r\nimport { getActionText, getActionType, getActionTypeTextMapper, getDefaultActionType, mapActionType } from '@bingads-webui-campaign-legacy/adextension-actionlink/model/language-type-text-mapper';\r\nimport { getHotelCenterShared } from '@bingads-webui-campaign/hotel-center-shared';\r\nimport template from '@bingads-webui-campaign-legacy/adextension-actionlink/template/search-selector-adapter.pug';\r\n\r\nconst i18n = window.globalLegacyI18n.get('component/i18n/loader!campaignui/feature/adextensions');\r\nconst automatedTextValue = i18n.getString('ActionAdExtension_ActionText_Automated');\r\n\r\nconst maxOptions = 1024;\r\nconst { DropdownSearchSelector } = getHotelCenterShared();\r\n\r\nfunction isMatch(src, dest) {\r\n if (_.isString(src) && _.isString(dest)) {\r\n return src.toLowerCase().indexOf(dest.toLowerCase()) >= 0;\r\n }\r\n return false;\r\n}\r\n\r\nfunction dataSource({\r\n searchString = '',\r\n Language,\r\n reserveActionType,\r\n isMultimediaAd,\r\n isDisplayPlusMMA,\r\n isBoostScenario,\r\n isBoostCustomCTAEnabled,\r\n isPmaxAd,\r\n isCustomCTAEnabled,\r\n isMMAAutomatedCTAOptInEnabled,\r\n}) {\r\n let actionTypeText = getActionTypeTextMapper({ Language, reserveActionType });\r\n let customTextValue;\r\n\r\n if (((isMultimediaAd && !isMMAAutomatedCTAOptInEnabled) || isDisplayPlusMMA) && Language === 'None') {\r\n actionTypeText = {\r\n Automated: automatedTextValue,\r\n };\r\n }\r\n\r\n if (isBoostScenario && Language === 'None') {\r\n actionTypeText = {};\r\n }\r\n\r\n if (_.has(actionTypeText, 'CustomText')) {\r\n customTextValue = actionTypeText.CustomText;\r\n delete actionTypeText.CustomText;\r\n }\r\n const options = _.chain(actionTypeText)\r\n .map((value, id) => {\r\n if (_.isEmpty(searchString) || // no filter\r\n isMatch(value, searchString)) {\r\n return {\r\n id,\r\n value,\r\n };\r\n }\r\n return null;\r\n })\r\n .compact()\r\n .sortBy('value')\r\n .value();\r\n\r\n // add custom text option on top\r\n if (((isBoostScenario && isBoostCustomCTAEnabled) || isCustomCTAEnabled) && !_.isUndefined(customTextValue)) {\r\n options.unshift({\r\n id: 'CustomText',\r\n value: customTextValue,\r\n });\r\n }\r\n\r\n if (isPmaxAd) {\r\n options.unshift({\r\n id: 'Automated',\r\n value: automatedTextValue,\r\n });\r\n }\r\n\r\n return {\r\n totalCount: _.size(options),\r\n options,\r\n };\r\n}\r\n\r\n/* eslint new-cap:0 */\r\nexport default class View extends Backbone.View {\r\n initialize({ observable, viewModel, entity = null, field = null, isMultimediaAd = false, callback = undefined, isBoostScenario, isBoostCustomCTAEnabled = false, isPmaxAd = false, isDisplayPlusMMA = false, isCustomCTAEnabled = false, isMMAAutomatedCTAOptInEnabled = false, defaultActionText = '', noEntiyCheck = false}) {\r\n this.observable = observable;\r\n if (_.isEmpty(this.observable()) || this.observable() === 'Unknown') {\r\n if (!(isMultimediaAd || isBoostScenario || isPmaxAd)) {\r\n // init observable\r\n this.observable(getDefaultActionType({ Language: viewModel.Language() }));\r\n }\r\n if (isPmaxAd) { // init observable for pmax ad\r\n this.observable('Automated');\r\n }\r\n } else if (defaultActionText) {\r\n this.observable(getActionType({ Language: viewModel.Language(), text: defaultActionText }));\r\n } else { // map action type to new one\r\n this.observable(mapActionType(this.observable())); // will fallback to default if mapped action type not exist\r\n }\r\n this.viewModel = viewModel;\r\n this.isDisplayPlusMMA = isDisplayPlusMMA;\r\n this.isMultimediaAd = isMultimediaAd;\r\n this.isBoostScenario = isBoostScenario;\r\n this.isBoostCustomCTAEnabled = isBoostCustomCTAEnabled;\r\n this.isPmaxAd = isPmaxAd;\r\n this.isCustomCTAEnabled = isCustomCTAEnabled;\r\n this.defaultActionText = defaultActionText;\r\n this.isMMAAutomatedCTAOptInEnabled = isMMAAutomatedCTAOptInEnabled;\r\n\r\n if (this.isMultimediaAd && !noEntiyCheck) {\r\n if (!(entity instanceof Backbone.Model)) {\r\n throw new Error('entity should be a backbone model');\r\n }\r\n\r\n if (_.isEmpty(field)) {\r\n throw new Error('field is required');\r\n }\r\n\r\n this.field = field;\r\n this.entity = entity;\r\n }\r\n this.callback = callback;\r\n }\r\n\r\n setDropdownSearchSelector() {\r\n if (this.dropdownSearchSelector) {\r\n this.dropdownSearchSelector.remove();\r\n }\r\n const Language = this.viewModel.Language();\r\n // eslint-disable-next-line no-nested-ternary\r\n let defaultSelectId = '';\r\n\r\n if (this.defaultActionText) {\r\n const selectId = getActionType({ Language, text: this.defaultActionText });\r\n\r\n if (_.isEmpty(selectId) && this.isCustomCTAEnabled) {\r\n defaultSelectId = 'CustomText';\r\n } else if (_.isEmpty(selectId)) {\r\n defaultSelectId = getDefaultActionType({ Language });\r\n } else {\r\n defaultSelectId = selectId;\r\n }\r\n } else {\r\n defaultSelectId = getActionText({\r\n Language,\r\n ActionType: this.observable(),\r\n }) ? this.observable() : getDefaultActionType({ Language });\r\n }\r\n\r\n let selectOption = {\r\n id: defaultSelectId,\r\n value: getActionText({\r\n Language,\r\n ActionType: defaultSelectId,\r\n }),\r\n };\r\n\r\n if (((this.isMultimediaAd && !this.isMMAAutomatedCTAOptInEnabled) || this.isDisplayPlusMMA) && Language === 'None') {\r\n // set action to 'Automated' if language is 'None'\r\n selectOption = {\r\n id: 'Automated',\r\n value: automatedTextValue,\r\n };\r\n }\r\n\r\n if (this.isBoostScenario) {\r\n if (Language === 'None') {\r\n selectOption = {\r\n id: 'Default',\r\n value: i18n.getString('ActionAdExtension_ActionText_Placeholder'),\r\n };\r\n }\r\n }\r\n\r\n if (this.isPmaxAd && this.observable() === 'Automated') {\r\n selectOption = {\r\n id: 'Automated',\r\n value: automatedTextValue,\r\n };\r\n }\r\n\r\n this.dropdownSearchSelector = new DropdownSearchSelector({\r\n selectOption,\r\n dataSource: (arg) => dataSource(_.extend({}, arg, {\r\n Language,\r\n reserveActionType: defaultSelectId,\r\n isMultimediaAd: this.isMultimediaAd,\r\n isDisplayPlusMMA: this.isDisplayPlusMMA,\r\n isBoostScenario: this.isBoostScenario,\r\n isBoostCustomCTAEnabled: this.isBoostCustomCTAEnabled,\r\n isPmaxAd: this.isPmaxAd,\r\n isCustomCTAEnabled: this.isCustomCTAEnabled,\r\n isMMAAutomatedCTAOptInEnabled: this.isMMAAutomatedCTAOptInEnabled,\r\n })),\r\n pageSize: maxOptions,\r\n i18n,\r\n forceEnableSearch: true,\r\n invokeSearchOnChange: true,\r\n placeholder: i18n.getString('ActionAdExtension_ActionText_Search'),\r\n isDisabled: ((this.isMultimediaAd || this.isDisplayPlusMMA) && _.isEmpty(Language)) || (this.isBoostScenario && Language === 'None'),\r\n }).render();\r\n if (this.callback && selectOption) {\r\n this.callback(selectOption);\r\n }\r\n this.dropdownSearchSelector.on('option-selected', (selectedOption) => {\r\n this.observable(selectedOption.id);\r\n if (this.callback) {\r\n this.callback(selectedOption);\r\n }\r\n });\r\n this.$('.actionextension-search-dropdown-container').append(this.dropdownSearchSelector.el);\r\n }\r\n\r\n render() {\r\n this.$el.html(template());\r\n this.viewModel.Language.subscribe(() => {\r\n this.setDropdownSearchSelector();\r\n });\r\n this.setDropdownSearchSelector();\r\n\r\n return this;\r\n }\r\n}\r\n","import _ from 'underscore';\r\nimport ActionTypeAdapter from '@bingads-webui-campaign-legacy/adextension-actionlink/view/action-type-adapter';\r\nimport LanguageAdapter from '@bingads-webui-campaign-legacy/adextension-actionlink/view/language-adapter';\r\nimport SharedEditorView from '@bingads-webui-campaign-legacy/adextension-shared/view/extension-editor';\r\nimport config from '@bingads-webui-component-legacy/config/index';\r\nimport UrlOptionsV2 from '@bingads-webui-component-legacy/upgraded-url/view/urlOptionsV2';\r\n\r\nconst i18n = window.globalLegacyI18n.get('component/i18n/loader!campaignui/feature/adextensions');\r\nconst schema = window.globalLegacySchema.get('ActionAdExtension');\r\n\r\nconst permissions = config.get('permissions');\r\nconst {\r\n IsFinalURLSuffixPhase4Enabled,\r\n IsCustomParameterCountIncreasePhase3Enabled,\r\n IsDomesticSimplifiedChineseEnabled,\r\n} = permissions;\r\n\r\nexport default class View extends SharedEditorView {\r\n initialize(options) {\r\n const fields = [\r\n {\r\n property: 'Language',\r\n control: LanguageAdapter,\r\n },\r\n {\r\n property: 'ActionType',\r\n control: ActionTypeAdapter,\r\n }, 'FinalUrls', 'FinalMobileUrls',\r\n\r\n ...IsFinalURLSuffixPhase4Enabled || IsCustomParameterCountIncreasePhase3Enabled ?\r\n [] : [\r\n {\r\n type: 'collapse',\r\n text: i18n.get('ActionUrlOptions_AdvancedSettings_ExpanderLabel'),\r\n fields: ['TrackingUrlTemplate', 'UrlCustomParameters'],\r\n },\r\n ],\r\n ];\r\n\r\n if (IsFinalURLSuffixPhase4Enabled || IsCustomParameterCountIncreasePhase3Enabled) {\r\n const {\r\n extension,\r\n placeholderEnabled,\r\n isForVNext,\r\n campaignId,\r\n adgroupId: adGroupId,\r\n } = options;\r\n\r\n this.campaignId = campaignId;\r\n this.adGroupId = adGroupId;\r\n\r\n const trackingTemplate = (extension && extension.TrackingUrlTemplate) || undefined;\r\n const finalUrlSuffix = (extension && extension.FinalUrlSuffix) || undefined;\r\n const customParameters = (extension && extension.UrlCustomParameters) || undefined;\r\n\r\n this.urlOptions = new UrlOptionsV2({\r\n entityType: schema.name,\r\n\r\n trackingTemplate,\r\n finalUrlSuffix,\r\n customParameters,\r\n\r\n placeholderEnabled,\r\n showUurlTestTool: false,\r\n isForVNext,\r\n });\r\n }\r\n\r\n let opt = _.defaults(options, {\r\n schema,\r\n fields,\r\n });\r\n\r\n const language = IsDomesticSimplifiedChineseEnabled ? 'SimplifiedChinese' : 'English';\r\n\r\n opt.extension = opt.extension || {\r\n Language: language,\r\n };\r\n\r\n super.initialize(opt);\r\n }\r\n\r\n render() {\r\n super.render();\r\n\r\n if (this.urlOptions) {\r\n this.$('.extension-editor__extra').empty().append(this.urlOptions.render().el);\r\n }\r\n\r\n return this;\r\n }\r\n\r\n remove() {\r\n if (this.urlOptions) {\r\n this.urlOptions.remove();\r\n this.urlOptions = null;\r\n }\r\n\r\n super.remove();\r\n }\r\n\r\n currentModel() {\r\n const model = super.currentModel();\r\n\r\n if (this.urlOptions) {\r\n _.extend(model, this.urlOptions.toObject());\r\n }\r\n\r\n return model;\r\n }\r\n}\r\n","import _ from 'underscore';\r\nimport AssociationsEditorBase from '@bingads-webui-campaign-legacy/adextension-associations-editor/view/index';\r\nimport dialogDecorator from '@bingads-webui-component-legacy/dialog/dialogDecorator';\r\nimport SharedRepository from '@bingads-webui-campaign-legacy/adextension-shared/service/repository';\r\nimport EditorView from '@bingads-webui-campaign-legacy/adextension-actionlink/view/extensionEditor';\r\nimport { universalItemTemplate } from '../template';\r\nimport { panelDecorator } from '@bingads-webui-campaign-react/panel-decorator';\r\n\r\nconst schema = window.globalLegacySchema.get('ActionAdExtension');\r\nconst i18n = window.globalLegacyI18n.get('component/i18n/loader!campaignui/feature/adextensions');\r\n\r\nconst dialogOptions = {\r\n position: 'center',\r\n maxWidth: 1000,\r\n};\r\n\r\nconst i18nKeys = {\r\n title: 'AdExtensions_Actionlink_Editor_Title',\r\n subtitle: ['NewCampaign_AddActionlinkAdExtension_Subtitle'],\r\n /* eslint-disable */\r\n library_title: 'AdExtensions_Actionlink_Editor_Available',\r\n selected_title: 'AdExtensions_Actionlink_Editor_Selected',\r\n create_link: 'AdExtensions_Actionlink_Editor_CreateNew',\r\n create_title: 'AdExtensions_Actionlink_Dialog_Title_Add',\r\n delete_btn: 'AdExtensions_Actionlink_Editor_Delete',\r\n delete_confirm: 'AdExtensions_Actionlink_Delete_Warning',\r\n edit_btn: 'AdExtensions_Actionlink_Editor_Edit',\r\n edit_title: 'AdExtensions_Actionlink_Dialog_Title_Edit',\r\n /* eslint-enable */\r\n inlineAlert: 'AdExtensions_Max_Select_Notification',\r\n};\r\n\r\nconst View = AssociationsEditorBase.extend({\r\n initialize(options = {}) {\r\n const Editor = options && options.usePanel ? panelDecorator(EditorView, {\r\n i18n,\r\n panelReadyAriaLabel: i18n.getString('Association editor side panel opened'),\r\n panelClassName: options.panelClassName,\r\n }) :\r\n dialogDecorator.decorate(EditorView, dialogOptions);\r\n\r\n _.extend(options, {\r\n idField: 'Id',\r\n data: new SharedRepository({\r\n schema,\r\n afterChangeComitted: () => {\r\n if (_.isFunction(options.updateContext)) {\r\n options.updateContext(['AccountAdExtensionsGrid', 'CampaignAdExtensionsGrid', 'AdGroupAdExtensionsGrid']);\r\n }\r\n },\r\n }),\r\n template: {\r\n previewTemplateType: 'function',\r\n preview: universalItemTemplate,\r\n rowTemplate: universalItemTemplate,\r\n },\r\n maxSelectedItemsCount: 20,\r\n CreateForm: Editor,\r\n EditForm: Editor,\r\n i18nKeys: _.extend({}, i18nKeys, options.i18nKeys || {}),\r\n extensionType: 'ActionLinkExtension',\r\n });\r\n\r\n AssociationsEditorBase.prototype.initialize.call(this, options);\r\n },\r\n});\r\n\r\nexport default View;\r\n","import Backbone from 'backbone';\r\nimport _ from 'underscore';\r\nimport config from '@bingads-webui-component-legacy/config/index';\r\nimport { getLanguages } from '@bingads-webui-campaign-legacy/adextension-actionlink/model/language-type-text-mapper';\r\nimport { getHotelCenterShared } from '@bingads-webui-campaign/hotel-center-shared';\r\nimport template from '@bingads-webui-campaign-legacy/adextension-actionlink/template/search-selector-adapter.pug';\r\n\r\nconst i18n = window.globalLegacyI18n.get('component/i18n/loader!campaignui/feature/adextensions');\r\nconst permissions = config.get('permissions');\r\n\r\nconst languages = getLanguages();\r\nconst maxOptions = 100;\r\nconst { DropdownSearchSelector } = getHotelCenterShared();\r\nconst BoostOnlySupportedLanguages = [\r\n 'Catalan',\r\n 'Gaelic',\r\n 'Korean',\r\n 'Ukrainian',\r\n];\r\nconst BoostSupportedLanguages = [\r\n 'Arabic',\r\n 'Catalan',\r\n 'Czech',\r\n 'Danish',\r\n 'Dutch',\r\n 'English',\r\n 'Finnish',\r\n 'French',\r\n 'Gaelic',\r\n 'German',\r\n 'Greek',\r\n 'Hebrew',\r\n 'Hindi',\r\n 'Hungarian',\r\n 'Indonesian',\r\n 'Italian',\r\n 'Japanese',\r\n 'Korean',\r\n 'Norwegian',\r\n 'Polish',\r\n 'Portuguese',\r\n 'Romanian',\r\n 'Russian',\r\n 'SimplifiedChinese',\r\n 'Slovak',\r\n 'Spanish',\r\n 'Swedish',\r\n 'Thai',\r\n 'TraditionalChinese',\r\n 'Turkish',\r\n 'Ukrainian',\r\n 'Vietnamese',\r\n 'Malay',\r\n];\r\n\r\nif (permissions && permissions.IsBoostCTAPhase2Enabled) {\r\n BoostOnlySupportedLanguages.push(\r\n 'Afrikaans',\r\n 'Amharic',\r\n 'Armenian',\r\n 'Assamese',\r\n 'Azerbaijani',\r\n 'Basque',\r\n 'Bengali',\r\n 'Cambodian',\r\n 'Galician',\r\n 'Georgian',\r\n 'Gujarati',\r\n 'Kannada',\r\n 'Kazakh',\r\n 'Laotian',\r\n 'Malayalam',\r\n 'Maori',\r\n 'Marathi',\r\n 'Nepali',\r\n 'Oriya',\r\n 'Persian',\r\n 'Punjabi',\r\n 'Quechua',\r\n 'Tamil',\r\n 'Telugu',\r\n 'Urdu',\r\n 'Uzbek',\r\n 'Welsh',\r\n );\r\n BoostSupportedLanguages.push(\r\n 'Afrikaans',\r\n 'Albanian',\r\n 'Amharic',\r\n 'Armenian',\r\n 'Assamese',\r\n 'Azerbaijani',\r\n 'Basque',\r\n 'Bengali',\r\n 'Cambodian',\r\n 'Estonian',\r\n 'Galician',\r\n 'Georgian',\r\n 'Gujarati',\r\n 'Kannada',\r\n 'Kazakh',\r\n 'Laotian',\r\n 'Malay',\r\n 'Malayalam',\r\n 'Maori',\r\n 'Marathi',\r\n 'Nepali',\r\n 'Oriya',\r\n 'Persian',\r\n 'Punjabi',\r\n 'Quechua',\r\n 'Tamil',\r\n 'Telugu',\r\n 'Urdu',\r\n 'Uzbek',\r\n 'Welsh',\r\n 'Bulgarian',\r\n 'Bosnian',\r\n 'Croatian',\r\n 'Icelandic',\r\n 'Lithuanian',\r\n 'Latvian',\r\n 'Macedonian',\r\n 'Maltese',\r\n 'Slovenian',\r\n );\r\n}\r\n\r\nfunction dataSource({\r\n isMultimediaAd,\r\n isBoostScenario,\r\n isDisplayPlusMMA,\r\n isMMAAutomatedCTAOptInEnabled,\r\n}) {\r\n const options = _.chain((isMultimediaAd && !isMMAAutomatedCTAOptInEnabled) || isDisplayPlusMMA ? ['None'].concat(languages) : languages)\r\n .filter((lang) => isBoostScenario || !BoostOnlySupportedLanguages.includes(lang)) // only include when Boost scenario\r\n .filter((lang) => !isBoostScenario || BoostSupportedLanguages.includes(lang)) // When boost, only include Boost supported ones\r\n .map((lang) => ({\r\n id: lang,\r\n value: i18n.get(`Language_${lang}`) || lang,\r\n }))\r\n .value();\r\n\r\n if (((isMultimediaAd && !isMMAAutomatedCTAOptInEnabled) || isDisplayPlusMMA) && options.length > 0 && options[0].id === 'None') {\r\n options[0] = {\r\n id: 'None',\r\n value: i18n.get('Language_Automated'),\r\n };\r\n }\r\n return {\r\n totalCount: _.size(options),\r\n options,\r\n };\r\n}\r\n\r\n/* eslint new-cap:0 */\r\nexport default class View extends Backbone.View {\r\n initialize({ observable, viewModel, entity = null, field = null, isMultimediaAd = false, callback = undefined, isBoostScenario, isDisplayPlusMMA = false, isMMAAutomatedCTAOptInEnabled = false, noEntiyCheck = false }) {\r\n this.observable = observable;\r\n if (_.isEmpty(this.observable())) {\r\n if ((isMultimediaAd && !isMMAAutomatedCTAOptInEnabled) || isDisplayPlusMMA) {\r\n this.observable('None');\r\n } else if (isBoostScenario) {\r\n this.observable('None');\r\n } else {\r\n this.observable(_.first(languages));\r\n }\r\n }\r\n this.viewModel = viewModel;\r\n this.isMultimediaAd = isMultimediaAd;\r\n this.isBoostScenario = isBoostScenario;\r\n this.isDisplayPlusMMA = isDisplayPlusMMA;\r\n this.isMMAAutomatedCTAOptInEnabled = isMMAAutomatedCTAOptInEnabled;\r\n\r\n if (this.isMultimediaAd && !noEntiyCheck) {\r\n if (!(entity instanceof Backbone.Model)) {\r\n throw new Error('entity should be a backbone model');\r\n }\r\n\r\n if (_.isEmpty(field)) {\r\n throw new Error('field is required');\r\n }\r\n\r\n this.field = field;\r\n this.entity = entity;\r\n }\r\n this.callback = callback;\r\n }\r\n\r\n setDropdownSearchSelector() {\r\n if (this.dropdownSearchSelector) {\r\n this.dropdownSearchSelector.remove();\r\n }\r\n const language = this.observable();\r\n let selectOption = {\r\n id: language,\r\n value: i18n.get(`Language_${language === 'None' ? 'Automated' : language}`) || language,\r\n };\r\n\r\n if (((this.isMultimediaAd && !this.isMMAAutomatedCTAOptInEnabled) || this.isDisplayPlusMMA) && _.isEmpty(this.observable())) {\r\n selectOption = {\r\n id: 'None',\r\n value: i18n.getString('Language_Automated'),\r\n };\r\n }\r\n\r\n this.dropdownSearchSelector = new DropdownSearchSelector({\r\n selectOption,\r\n dataSource: (arg) => dataSource(_.extend({}, arg, {\r\n isMultimediaAd: this.isMultimediaAd,\r\n isBoostScenario: this.isBoostScenario,\r\n isDisplayPlusMMA: this.isDisplayPlusMMA,\r\n isMMAAutomatedCTAOptInEnabled: this.isMMAAutomatedCTAOptInEnabled,\r\n })),\r\n pageSize: maxOptions,\r\n i18n,\r\n }).render();\r\n if (this.callback && selectOption) {\r\n this.callback(selectOption);\r\n }\r\n this.dropdownSearchSelector.on('option-selected', (selectedOption) => {\r\n this.observable(selectedOption.id);\r\n if (this.callback) {\r\n this.callback(selectedOption);\r\n }\r\n });\r\n this.$('.actionextension-search-dropdown-container').append(this.dropdownSearchSelector.el);\r\n }\r\n\r\n render() {\r\n this.$el.html(template());\r\n this.setDropdownSearchSelector();\r\n return this;\r\n }\r\n}\r\n","import config from '@bingads-webui-component-legacy/config/index';\r\nimport AdExtensionEditor from '@bingads-webui-campaign-legacy/adextension-shared/view/extension-editor';\r\nimport subtitleTemplate from '@bingads-webui-campaign-legacy/adextension-app/template/subtitle.pug';\r\nimport warningTemplate from '@bingads-webui-campaign-legacy/adextension-app/template/warning.pug';\r\n\r\nconst i18n = window.globalLegacyI18n.get('component/i18n/loader!campaignui/feature/adextensions');\r\nconst schema = window.globalLegacySchema.get('AppAdExtension');\r\n\r\nfunction getiOSAppStoreId(appStoreId, platform) {\r\n // If the app platform is iOS and app id start with 'id', we only take the remaining string\r\n if (platform === 'iOS' && appStoreId.toUpperCase().indexOf('ID') === 0) {\r\n return appStoreId.substring(2);\r\n }\r\n\r\n return appStoreId;\r\n}\r\n\r\nfunction getAppStoreIdLabel(AppPlatform) {\r\n return AppPlatform === 'Android' ?\r\n i18n.get('AdExtensions_App_Dialog_Field_Package_Name') :\r\n i18n.get('AdExtensions_App_Dialog_Field_AppStoreId');\r\n}\r\n\r\nexport default class AppAdExtensionEditor extends AdExtensionEditor {\r\n initialize({\r\n extension,\r\n data,\r\n instrumentation,\r\n instrumentationSettings,\r\n }) {\r\n const permissions = config.get('Permissions') || {};\r\n\r\n this.appInstallTrackingSupported = permissions.IsAppExtensionInstallTrackingSupported;\r\n\r\n if (extension) {\r\n extension.AppStoreId = getiOSAppStoreId(extension.AppStoreId, extension.AppPlatform);\r\n }\r\n\r\n const fields = this.appInstallTrackingSupported ? [{\r\n property: 'AppPlatform',\r\n label: i18n.get('AdExtensions_App_Dialog_Field_Mobile_OS'),\r\n }, {\r\n property: 'AppStoreId',\r\n placeholder: {\r\n depends: ['AppPlatform'],\r\n computedBy(AppPlatform) {\r\n if (AppPlatform === 'Android') {\r\n return i18n.get('AdExtensions_App_Editor_Sample_Package_Name_Android');\r\n } else if (AppPlatform === 'iOS') {\r\n return i18n.get('AdExtensions_App_Editor_Sample_Package_Name_iOS');\r\n }\r\n return i18n.get('AdExtensions_App_Editor_Sample_Package_Name_Windows');\r\n },\r\n },\r\n label: {\r\n depends: ['AppPlatform'],\r\n computedBy(AppPlatform) {\r\n return getAppStoreIdLabel(AppPlatform);\r\n },\r\n },\r\n helpId: 'pop_BA_CampaignCreate_Ads_AppExtensionPackageName',\r\n }, {\r\n property: 'DisplayText',\r\n showHint: true,\r\n placeholder: i18n.get('AdExtensions_App_Editor_Link_Placeholder_Text'),\r\n helpId: 'pop_BA_CampaignCreate_Ads_AppExtensionLinkText',\r\n }, {\r\n property: 'DevicePreference',\r\n values: ['Mobile', 'All'],\r\n control: 'checkbox',\r\n }, {\r\n property: 'DestinationUrl',\r\n showHint: true,\r\n placeholder: i18n.get('AdExtensions_App_Editor_URL_Placeholder_Text'),\r\n label: i18n.get('AdExtensions_App_Dialog_Field_App_Measurement_URL'),\r\n }] : [{\r\n property: 'AppPlatform',\r\n label: i18n.get('AdExtensions_App_Dialog_Field_AppPlatform'),\r\n }, {\r\n property: 'AppStoreId',\r\n placeholder: i18n.get('AdExtensions_App_Dialog_AppStoreIdPlaceholder'),\r\n label: i18n.get('AdExtensions_App_Dialog_Field_AppStoreId'),\r\n }, {\r\n property: 'DisplayText',\r\n showHint: true,\r\n }, {\r\n property: 'DestinationUrl',\r\n showHint: true,\r\n }];\r\n\r\n super.initialize({\r\n extension,\r\n data,\r\n schema,\r\n fields,\r\n instrumentation,\r\n instrumentationSettings,\r\n });\r\n }\r\n\r\n render() {\r\n super.render();\r\n\r\n this.$('.form-group[data-property=\"$overall\"]').append(subtitleTemplate({\r\n i18n,\r\n appInstallTrackingSupported: this.appInstallTrackingSupported,\r\n }));\r\n\r\n if (this.appInstallTrackingSupported) {\r\n this.$('.alert .alert-spacing').replaceWith(warningTemplate({ i18n }));\r\n }\r\n\r\n return this;\r\n }\r\n\r\n currentModel() {\r\n const model = super.currentModel();\r\n\r\n if (!this.appInstallTrackingSupported) {\r\n model.DevicePreference = null;\r\n }\r\n\r\n delete model.$alert;\r\n\r\n return model;\r\n }\r\n}\r\n","/* eslint-disable */\r\nimport _ from 'underscore';\r\nimport Backbone from 'backbone';\r\nimport * as _SharedRepository from '@bingads-webui-campaign-legacy/adextension-shared/service/repository';\r\nimport * as _EditorView from '@bingads-webui-campaign-legacy/adextension-app/view/extension-editor';\r\nimport previewTemplate from '@bingads-webui-campaign-legacy/adextension-app/template/preview.pug';\r\nimport AssociationsEditorBase from '@bingads-webui-campaign-legacy/adextension-associations-editor/view/index';\r\nimport dialogDecorator from '@bingads-webui-component-legacy/dialog/dialogDecorator';\r\nimport * as $url from '@bingads-webui/url-util';\r\nimport config from '@bingads-webui-component-legacy/config/index';\r\nimport rowTemplate from '@bingads-webui-campaign-legacy/adextension-app/template/gridRowTemplate.pug';\r\nimport * as _panelDecorator from '@bingads-webui-campaign-react/panel-decorator';\r\nvar s$AppAdExtension = window.globalLegacySchema.get('AppAdExtension');\r\nvar $i18n = window.globalLegacyI18n.get('component/i18n/loader!campaignui/feature/adextensions');\r\nvar SharedRepository = _SharedRepository.default;\r\nvar EditorView = _EditorView.default;\r\nvar panelDecorator = _panelDecorator.panelDecorator;\r\nvar dialogOptions = {\r\n position: 'center',\r\n maxWidth: 1000\r\n};\r\nvar defaultIconClasses = {\r\n 'Android': 'google-play-store-icon',\r\n 'iOS': 'apple-app-store-icon',\r\n 'Windows Phone': 'windows-phone-store-icon',\r\n 'Windows': 'windows-store-icon'\r\n};\r\nvar i18nKeys = {\r\n title: 'AdExtensions_App_Editor_Title',\r\n subtitle: 'NewCampaign_AddAppAdExtension_Subtitle',\r\n library_title: 'AdExtensions_App_Editor_Available',\r\n selected_title: 'AdExtensions_App_Editor_Selected',\r\n create_link: 'AdExtensions_App_Editor_CreateNew',\r\n create_title: 'AdExtensions_App_Dialog_Title_Add',\r\n delete_btn: 'AdExtensions_App_Editor_Delete',\r\n delete_confirm: 'AdExtensions_App_Delete_Warning',\r\n edit_btn: 'AdExtensions_App_Editor_Edit',\r\n edit_title: 'AdExtensions_App_Dialog_Title_Edit'\r\n};\r\nvar view = AssociationsEditorBase.extend({\r\n initialize: function (options) {\r\n var Editor = options && options.usePanel ? panelDecorator(EditorView, {\r\n i18n: $i18n,\r\n panelReadyAriaLabel: $i18n.getString('Association editor side panel opened'),\r\n panelClassName: options.panelClassName\r\n }) : dialogDecorator.decorate(EditorView, dialogOptions);\r\n _.extend(options || ({}), {\r\n data: new SharedRepository({\r\n schema: s$AppAdExtension,\r\n afterChangeComitted: function () {\r\n if (_.isFunction(options.updateContext)) {\r\n options.updateContext(['AccountAdExtensionsGrid', 'CampaignAdExtensionsGrid', 'AdGroupAdExtensionsGrid']);\r\n }\r\n }\r\n }),\r\n template: {\r\n preview: previewTemplate,\r\n rowTemplate: rowTemplate\r\n },\r\n extensionType: 'AppExtension',\r\n maxSelectedItemsCount: 20,\r\n CreateForm: Editor,\r\n EditForm: Editor,\r\n i18nKeys: _.extend({}, i18nKeys, options.i18nKeys || ({})),\r\n processItem: function (item) {\r\n if (item.MediaUrl) {\r\n var adExtensionConfig = config.get('Feature').AdExtension;\r\n if (adExtensionConfig && adExtensionConfig.AppExtensionIconBaseUrl && item.MediaUrl.indexOf(adExtensionConfig.AppExtensionIconBaseUrl) !== 0) {\r\n item.MediaUrl = $url.join(adExtensionConfig.AppExtensionIconBaseUrl, item.MediaUrl);\r\n }\r\n }\r\n item.iconClass = defaultIconClasses[item.AppPlatform];\r\n return item;\r\n }\r\n });\r\n AssociationsEditorBase.prototype.initialize.call(this, options);\r\n }\r\n});\r\nexport default view;\r\n\r\n","/* eslint-disable */\r\nimport ko from 'knockout';\r\nimport _ from 'underscore';\r\nimport ko_schema from '@bingads-webui-component-legacy/ko-schema/index';\r\nvar ViewModel = function (options) {\r\n this.options = options || ({});\r\n this.scope = ko.observable({\r\n campaignId: this.options.campaignId,\r\n adGroupId: this.options.adgroupId,\r\n campaignName: this.options.campaignName,\r\n adGroupName: this.options.adGroupName\r\n });\r\n this.scopes = ko.observableArray();\r\n if (this.options.campaignId || this.options.adgroupId) {\r\n this.scopes.push(this.scope());\r\n }\r\n this.selectedExtensions = ko.observableArray([]);\r\n this.originalIds = [];\r\n this.maximumSelectionAlertString = ko.observable('');\r\n this.successfulAssociationsLabel = ko.observable('');\r\n this.failedAssociationsLabel = ko.observable('');\r\n this.updateInlineAlertString();\r\n this.showEditor = ko.observable(this.options.showEditor);\r\n this.showBoxList = ko.observable(this.options.showBoxList);\r\n this.showEditor.subscribe((function () {\r\n this.failedAssociationsLabel('');\r\n }).bind(this));\r\n ko_schema.properties(this);\r\n this.isAssociationChanged = ko.computed((function () {\r\n return !this.changes().isEmpty;\r\n }).bind(this));\r\n this.shouldShowMultiAssetWarning = ko.observable(false);\r\n this.sourceItemsString = this.options.i18n.get(this.options.i18nKeys.library_title);\r\n this.selectedItemsString = this.options.i18n.get(this.options.i18nKeys.selected_title);\r\n this.filterWatermarkString = this.options.i18n.get(this.options.i18nKeys.filter_watermark);\r\n this.filterAriaLabelString = this.options.i18n.get(this.options.i18nKeys.search_for).replace('{0}', this.options.i18n.get(this.options.i18nKeys.library_title).toLowerCase());\r\n this.maxSelectedItemsString = this.options.maxSelectedItemsCount > 0 ? this.options.i18n.get('AdExtensions_Max_Select_Count_New', {\r\n count: this.options.maxSelectedItemsCount\r\n }) : '';\r\n};\r\nViewModel.prototype.setLoadedSelection = function (selected) {\r\n this.originalIds = _.pluck(selected, this.options.idField);\r\n this.selectedExtensions(selected);\r\n};\r\nViewModel.prototype.changes = function () {\r\n var selectedIds = _.pluck(this.selectedExtensions(), this.options.idField), added = _.difference(selectedIds, this.originalIds), removed = _.difference(this.originalIds, selectedIds);\r\n return {\r\n added: added,\r\n removed: removed,\r\n isEmpty: !added.length && !removed.length\r\n };\r\n};\r\nViewModel.prototype.updateInlineAlertString = function () {\r\n if (_.isFunction(this.options.getMaximumSelectionAlertString) && !_.isEmpty(this.scope())) {\r\n this.maximumSelectionAlertString(this.options.getMaximumSelectionAlertString(this.scope().campaignName, this.scope().adGroupName));\r\n }\r\n};\r\nViewModel.prototype.clearOriginalIds = function () {\r\n this.originalIds = [];\r\n};\r\nViewModel.prototype.handleDelete = function (extension) {\r\n this.selectedExtensions.deselectItem(extension);\r\n this.selectedExtensions.refreshSource();\r\n this.originalIds = _.reject(this.originalIds, function (itemId) {\r\n return itemId === extension[this.options.idField];\r\n }, this);\r\n};\r\nViewModel.prototype.handleCreate = function (extension) {\r\n this.selectedExtensions.push(extension);\r\n this.selectedExtensions.refreshSource();\r\n};\r\nViewModel.prototype.handleUpdate = function (extension) {\r\n this.selectedExtensions.refreshItem(extension);\r\n this.selectedExtensions.refreshSource();\r\n var index = _.findIndex(this.selectedExtensions(), function (item) {\r\n return item[this.options.idField] === extension[this.options.idField];\r\n }, this);\r\n this.selectedExtensions()[index] = extension;\r\n};\r\nViewModel.prototype.handleRemovedIds = function (removedIds) {\r\n this.originalIds = _.difference(this.originalIds, removedIds);\r\n};\r\nViewModel.prototype.handleSave = function () {\r\n this.originalIds = _.pluck(this.selectedExtensions(), this.options.idField);\r\n};\r\nexport default ViewModel;\r\n\r\n","import pgrid from '@bingads-webui-component-legacy/github/modules/projection-grid/module/projection-grid';\r\nimport Backbone from 'backbone';\r\n\r\nconst i18n = window.globalLegacyI18n.get('component/i18n/loader!campaignui/feature/adextension/shared');\r\n\r\nexport default class ErrorGrid extends Backbone.View {\r\n initialize(options) {\r\n this.rowTemplate = options.rowTemplate;\r\n this.entityType = options.entityType;\r\n this.errors = options.errors;\r\n this.colClass = ['error-grid-col'];\r\n this.i18nKeys = options.i18nKeys;\r\n }\r\n\r\n columnConfiguration() {\r\n const errorGridColumns = [{\r\n name: 'Extension',\r\n title: i18n.getString('ErrorGrid_AdExtension_Column'),\r\n template: (locals) => {\r\n return this.rowTemplate({\r\n data: locals.value,\r\n i18n,\r\n });\r\n },\r\n bodyClasses: [this.colClass, 'error-grid_Extension'],\r\n }, {\r\n name: 'Error',\r\n title: i18n.getString('ErrorGrid_Error_Column'),\r\n bodyClasses: [this.colClass, 'error-grid_Error'],\r\n template: (locals) => {\r\n return locals.value;\r\n },\r\n }];\r\n\r\n if (this.entityType === 'campaign' || this.entityType === 'adgroup') {\r\n errorGridColumns.unshift({\r\n name: 'Entity',\r\n title: this.entityType === 'campaign' ?\r\n i18n.getString(this.i18nKeys && this.i18nKeys.ErrorGridEntityCampaignColumn ? this.i18nKeys.ErrorGridEntityCampaignColumn : 'ErrorGrid_Entity_Campaign_Column') :\r\n i18n.getString(this.i18nKeys && this.i18nKeys.ErrorGridEntityAdgroupColumn ? this.i18nKeys.ErrorGridEntityAdgroupColumn : 'ErrorGrid_Entity_Adgroup_Column'),\r\n template: (locals) => {\r\n if (this.entityType === 'adgroup') {\r\n return i18n.get('Error_Grid_Adgroup_Name', {\r\n campaignName: locals.value.campaignName,\r\n adgroupName: locals.value.adgroupName,\r\n });\r\n }\r\n return locals.value.campaignName;\r\n },\r\n bodyClasses: [this.colClass, 'error-grid_Entity', 'truncated'],\r\n });\r\n }\r\n\r\n return errorGridColumns;\r\n }\r\n\r\n render() {\r\n this.gridView = pgrid.factory({\r\n vnext: true,\r\n })\r\n .create({\r\n tableClasses: ['table', 'table-bordered'],\r\n dataSource: {\r\n type: 'memory',\r\n data: this.errors,\r\n primaryKey: i18n.getString('ErrorGrid_Column_Header_Campaign'),\r\n },\r\n columns: this.columnConfiguration(),\r\n scrolling: {\r\n virtualized: true,\r\n header: 'fixed',\r\n },\r\n }).gridView;\r\n\r\n this.$el.html(this.gridView.render().$el);\r\n return this;\r\n }\r\n\r\n removeGrid() {\r\n this.$el.empty();\r\n }\r\n}\r\n","import _ from 'underscore';\r\nimport { EligibleLayout } from '@bingads-webui-campaign-legacy/adextension-image/constants';\r\n\r\nconst minimumAssociationsForMultiAssetExtension = 4;\r\n\r\nclass ImageAdExtensionHelper {\r\n isAssociationsQualifyForMultiAsset(imageAdExtensions) {\r\n return _.filter(imageAdExtensions, (imageAdExtension) => {\r\n if (imageAdExtension.EligibleLayout === EligibleLayout.SingleAndMulti ||\r\n imageAdExtension.EligibleLayout === EligibleLayout.Multi) {\r\n return _.some(imageAdExtension.Images, (assetLink) => {\r\n return assetLink.Asset.SubType === 'ImageMedia133X100';\r\n });\r\n } else {\r\n return false;\r\n }\r\n }).length >= minimumAssociationsForMultiAssetExtension;\r\n }\r\n}\r\n\r\nconst imageAdExtensionHelper = new ImageAdExtensionHelper();\r\n\r\nexport default imageAdExtensionHelper;\r\n","/* eslint-disable */\r\nimport _ from 'underscore';\r\nimport Backbone from 'backbone';\r\nimport ko from 'knockout';\r\nimport $ from 'jquery';\r\nimport Promise from 'bluebird';\r\nimport ViewModel from '@bingads-webui-campaign-legacy/adextension-associations-editor/viewmodel/index';\r\nimport layoutTemplate from '@bingads-webui-campaign-legacy/adextension-associations-editor/template/layout.pug';\r\nimport termsofServiceTemplate from '@bingads-webui-campaign-legacy/adextension-associations-editor/template/terms-of-service.pug';\r\nimport alert from '@bingads-webui-campaign-legacy/error-alert/index';\r\nimport * as i18nErrors from '@bingads-webui-component-legacy/api-errors-campaign/index';\r\nimport config from '@bingads-webui-component-legacy/config/index';\r\nimport popup from '@bingads-webui-component-legacy/dialog/popup';\r\nimport dialogDecorator from '@bingads-webui-component-legacy/dialog/dialogDecorator';\r\nimport withUiBlock from '@bingads-webui-component-legacy/uiblocker/index';\r\nimport doubleListBoxBinding from '@bingads-webui-component-legacy/double-list-box/ko/doubleListBoxBinding';\r\nimport dlbDefaultLayout from '@bingads-webui-component-legacy/double-list-box/template/defaultLayout.pug';\r\nimport dlbDefaultLeanLayout from '@bingads-webui-component-legacy/double-list-box/template/defaultLeanLayout.pug';\r\nimport * as _ErrorGrid from '@bingads-webui-campaign-legacy/adextension-shared/view/error-grid';\r\nimport * as imageAdExtensionHelper from '@bingads-webui-campaign-legacy/adextension-image/util/image-adextension-helper';\r\nimport * as putils from '@bingads-webui-universal/primitive-utilities';\r\nimport * as clarity from '@bingads-webui-universal/clarity';\r\nvar i18n = window.globalLegacyI18n.get('component/i18n/loader!campaignui/feature/adextensions');\r\nvar ErrorGrid = _ErrorGrid.default;\r\nvar permissions = config.get('Permissions') || ({});\r\nvar odataPath = config.get('odata.url') + config.get('odata.path');\r\nvar odataRootUrl = config.get('CampaignAzureDomain');\r\nvar odataToken = config.get('odata.token');\r\nvar oDataConfig = {\r\n odataRootUrl: odataRootUrl,\r\n odataPath: odataPath,\r\n odataToken: odataToken\r\n};\r\nvar defaults = {\r\n i18n: i18n,\r\n pageSize: 10,\r\n i18nKeys: {\r\n search_for: 'Searchbox_SearchFor',\r\n filter_watermark: 'AdExtensions_Search',\r\n save_btn: 'Button_Save',\r\n cancel_btn: 'Button_Cancel',\r\n subtitle: [],\r\n multiSelectInlineAlert: 'AdExtensions_MultiSelect_Max_Select_Notification',\r\n failedAssociationsLabel: 'AdExtensions_FailedAssociationsLabel',\r\n successfulAssociationsLabel: 'AdExtensions_SuccessfulAssociationsLabel'\r\n },\r\n template: {\r\n layout: layoutTemplate,\r\n dlbLayoutTemplate: dlbDefaultLayout,\r\n preview: '#:data.name#',\r\n rowTemplate: function () {\r\n return 'data.name';\r\n }\r\n },\r\n useNewDlbLayout: false,\r\n allowSelectAll: false,\r\n allowDeselectAll: false,\r\n maxSelectedItemsCount: -1,\r\n hasSubTitle: true,\r\n showErrorsInline: false,\r\n popupFront: '',\r\n extensionType: '',\r\n showEditor: true,\r\n showBoxList: true,\r\n isMultiSelect: false,\r\n entityType: 'campaign',\r\n showSaveBar: true,\r\n instrumentation: {\r\n startScenario: _.noop,\r\n startActivity: _.noop,\r\n logMessage: _.noop,\r\n endActivity: _.noop,\r\n asLoggingStart: _.constant(_.noop)\r\n },\r\n instrumentConstants: {\r\n LOGCATEGORY: {},\r\n LOGLEVEL: {}\r\n },\r\n instrumentationSettings: {\r\n ACTIVITYNAME: {},\r\n SCENARIONAME: {}\r\n },\r\n disableDelete: false\r\n};\r\nvar TermsofServiceView = Backbone.View.extend({\r\n render: function () {\r\n this.$el.html(termsofServiceTemplate({\r\n i18n\r\n }));\r\n return this;\r\n },\r\n events: {\r\n 'click .accept': 'accept',\r\n 'click .cancel': 'cancel'\r\n },\r\n accept: function () {\r\n this.trigger('accept');\r\n },\r\n cancel: function () {\r\n this.trigger('cancel');\r\n }\r\n});\r\nvar View = Backbone.View.extend({\r\n events: {\r\n 'click .associations .btn-save': '_saveClickHandler',\r\n 'click .associations .btn-cancel': '_cancelClickHandler',\r\n 'click .associations .btn-create': '_createClickHandler'\r\n },\r\n idField: 'Id',\r\n initialize: function (options) {\r\n if (options && options.perfMarker) {\r\n this.showExtensionMarker = options.perfMarker.createChild(`Show_Extension_${options.extensionType}_${options.entityType}`);\r\n this.showExtensionMarker.willInit();\r\n }\r\n this.options = _.defaults({}, options, defaults);\r\n this.i18nKeys = _.defaults({}, this.options.i18nKeys, defaults.i18nKeys);\r\n this.template = _.defaults({}, this.options.template, defaults.template);\r\n if (this.options.useNewDlbLayout) {\r\n this.template.dlbLayoutTemplate = dlbDefaultLeanLayout;\r\n }\r\n this.idField = this.options.idField || this.idField;\r\n this.showErrorsInline = this.options.showErrorsInline;\r\n this.orderBy = this.options.orderBy;\r\n this.i18nKeys.subtitle = _.isArray(this.i18nKeys.subtitle) ? this.i18nKeys.subtitle : [this.i18nKeys.subtitle];\r\n this.options.data.association.createRequestFactory(this.options.entityType);\r\n this.itemActions = this.itemActions || ({});\r\n this.itemActions.source = _.defaults(this.itemActions.source || ({}), {\r\n 'edit': {\r\n caption: '',\r\n callback: _.bind(this._editExtension, this),\r\n class: 'glyphicon glyphicon-pencil',\r\n label: i18n.get('Edit')\r\n },\r\n 'delete': {\r\n caption: '',\r\n callback: _.bind(this._deleteExtension, this),\r\n class: 'glyphicon glyphicon-remove',\r\n label: i18n.get('Remove')\r\n }\r\n });\r\n this.itemActions.selected = _.defaults(this.itemActions.selected || ({}), {\r\n 'edit': {\r\n caption: '',\r\n callback: _.bind(this._editExtension, this),\r\n class: 'glyphicon glyphicon-pencil',\r\n label: i18n.get('Edit')\r\n },\r\n 'delete': {\r\n caption: '',\r\n callback: _.bind(this._deleteExtension, this),\r\n class: 'glyphicon glyphicon-remove',\r\n label: i18n.get('Remove')\r\n }\r\n });\r\n if (this.options.disableDelete) {\r\n if (this.itemActions.source.delete) {\r\n delete this.itemActions.source.delete;\r\n }\r\n if (this.itemActions.selected.delete) {\r\n delete this.itemActions.selected.delete;\r\n }\r\n }\r\n this.subtitleArgs = {\r\n 'maxLimit': options.maxSelectedItemsCount,\r\n 'entityType': options.entityType === 'campaign' ? i18n.get('AdExtension_EntityName_Campaign').toLowerCase() : i18n.get('AdExtension_EntityName_AdGroup').toLowerCase()\r\n };\r\n this.ko_model = new ViewModel(_.extend(_.pick(this.options, 'pageSize', 'filterField', 'entityType', 'processItem', 'headerText', 'showEditor', 'showBoxList', 'i18n', 'maxSelectedItemsCount', 'allowSelectAll', 'allowDeselectAll', 'processSelectedOptions', 'processSourceOptions'), {\r\n i18nKeys: this.i18nKeys,\r\n allExtensions: _.bind(this._loadSource, this),\r\n dlbLayoutTemplate: this.template.dlbLayoutTemplate,\r\n itemTemplateType: this.template.previewTemplateType,\r\n itemTemplate: this.template.preview,\r\n itemActions: this.itemActions,\r\n idField: this.idField,\r\n campaignId: (this.options.isStringFormatId ? this.options.campaignId : Number(this.options.campaignId)) || 0,\r\n adgroupId: (this.options.isStringFormatId ? this.options.adgroupId : Number(this.options.adgroupId)) || 0,\r\n campaignName: this.options.campaignName || '',\r\n adGroupName: this.options.adGroupName || '',\r\n getMaximumSelectionAlertString: this._getMaximumSelectionAlertString.bind(this)\r\n }));\r\n this.ko_model.isAssociationChanged.subscribe((function (changed) {\r\n this.trigger('selected-changed', changed);\r\n }).bind(this));\r\n this.debouncedUpdateMultiAssetWarningMessage = _.debounce(this._updateMultiAssetWarningMessage, 100, false);\r\n this.ko_model.selectedExtensions.subscribe((function () {\r\n if (this.options.extensionType === 'ImageExtension') {\r\n this.debouncedUpdateMultiAssetWarningMessage();\r\n }\r\n }).bind(this));\r\n this.on('associate:extensions', this._saveClickHandler);\r\n this.findScope = this.options.findScope || this.defaultFindScope;\r\n return this;\r\n },\r\n logActivityToSubstrate: function (message) {\r\n if (this.options.activityLogger) {\r\n this.options.activityLogger.signal(message, 'adextension associations editor');\r\n }\r\n },\r\n defaultFindScope: function (association) {\r\n return function (scope) {\r\n return scope.campaignId === association.CampaignId && scope.adGroupId === association.AdGroupId;\r\n };\r\n },\r\n render: function () {\r\n this.$el.html(this.template.layout({\r\n i18n: this.options.i18n,\r\n i18nKeys: this.i18nKeys,\r\n hasSubTitle: this.options.hasSubTitle,\r\n showErrorsInline: this.showErrorsInline,\r\n subtitleArgs: this.subtitleArgs,\r\n showSaveBar: this.options.showSaveBar,\r\n showSaveButtonAsDefaultButton: this.options.showSaveButtonAsDefaultButton\r\n }));\r\n ko.applyBindings(this.ko_model, this.$el[0]);\r\n this.on('scope-changed', this.onScopeChange.bind(this));\r\n this.on('scopes-changed', this.onScopesChange.bind(this));\r\n if (!this.options.isMultiSelect || !this.options.showSelector) {\r\n this._selectScope(this.ko_model.scope());\r\n }\r\n if (!!this.options.adExtensionId) {\r\n this._editExtensionById(this.options.adExtensionId);\r\n }\r\n return this;\r\n },\r\n onScopeChange: function (scope) {\r\n this.ko_model.scope(scope);\r\n this.ko_model.updateInlineAlertString();\r\n this._selectScope(scope);\r\n },\r\n onScopesChange: function (scopes) {\r\n this.ko_model.scopes(scopes);\r\n this.ko_model.clearOriginalIds();\r\n },\r\n remove: function () {\r\n this.undelegateEvents();\r\n this.$el.empty();\r\n ko.cleanNode(this.$el[0]);\r\n if (this.editor) {\r\n this.editor.remove();\r\n }\r\n return this;\r\n },\r\n _updateMultiAssetWarningMessage: function () {\r\n var imageExtensions = this.ko_model.selectedExtensions();\r\n if (imageAdExtensionHelper.default.isAssociationsQualifyForMultiAsset(imageExtensions)) {\r\n this.ko_model.shouldShowMultiAssetWarning(false);\r\n } else {\r\n this.ko_model.shouldShowMultiAssetWarning(true);\r\n }\r\n },\r\n _getMaximumSelectionAlertString: function (campaignName, adgroupName) {\r\n var entityName = adgroupName || campaignName;\r\n if (this.options.maxSelectedItemsCount > 0) {\r\n if (this.options.isMultiSelect) {\r\n return i18n.get(this.i18nKeys.multiSelectInlineAlert, {\r\n count: this.options.maxSelectedItemsCount\r\n });\r\n } else if (this.i18nKeys.inlineAlert) {\r\n if (_.isString(entityName) && entityName.length > 0) {\r\n return i18n.get(this.i18nKeys.inlineAlert, {\r\n name: entityName,\r\n count: this.options.maxSelectedItemsCount\r\n });\r\n } else {\r\n return i18n.get(this.i18nKeys.multiSelectInlineAlert, {\r\n count: this.options.maxSelectedItemsCount\r\n });\r\n }\r\n }\r\n }\r\n return '';\r\n },\r\n _loadSource: function (request, cb) {\r\n if (this.showExtensionMarker) {\r\n this.showExtensionMarker.willFetchData();\r\n }\r\n this._clearErrors();\r\n var params = {\r\n where: {\r\n name: {\r\n contains: request.filterText\r\n }\r\n },\r\n skip: request.skip,\r\n limit: request.take\r\n };\r\n if (this.orderBy) {\r\n params.orderBy = this.orderBy;\r\n }\r\n this.options.data.extension.findAll(params).then((function (data) {\r\n if (this.showExtensionMarker) {\r\n this.showExtensionMarker.willRender();\r\n }\r\n cb(null, data);\r\n if (this.showExtensionMarker) {\r\n this.showExtensionMarker.done();\r\n }\r\n }).bind(this)).finally(withUiBlock(this.$el)).catch((function (error) {\r\n this._handleErrors(error);\r\n cb(error);\r\n }).bind(this));\r\n },\r\n _selectScope: function (scope) {\r\n this._clearErrors();\r\n if (scope.campaignId || scope.adGroupId || this.options.entityType === 'account') {\r\n this.ko_model.setLoadedSelection([]);\r\n this.options.data.association.findAll({\r\n where: scope,\r\n associationType: this.options.associationType\r\n }).then((function (associated) {\r\n this.ko_model.setLoadedSelection(associated);\r\n }).bind(this)).finally(withUiBlock(this.$el)).catch((function (error) {\r\n this._handleErrors(error);\r\n }).bind(this));\r\n }\r\n },\r\n _deleteExtension: function (extension) {\r\n if (popup.confirm(i18n.get(this.i18nKeys.delete_confirm))) {\r\n this._clearErrors();\r\n this.options.data.extension.destroy(extension[this.idField]).finally(withUiBlock(this.$el)).then((function () {\r\n this.ko_model.handleDelete(extension);\r\n this.trigger('deleted', extension);\r\n if (this.options.extensionType !== '') {\r\n this.options.instrumentation.logMessage([this.options.instrumentConstants.LOGCATEGORY.TRACE], this.options.instrumentConstants.LOGLEVEL.INFO, 'delete' + this.options.extensionType, '1');\r\n }\r\n }).bind(this)).catch((function (error) {\r\n this._handleErrors(error);\r\n }).bind(this));\r\n this.trigger('extensions:changed');\r\n if (permissions.IsTransparentImageAnnotationEnabled && this.options.extensionType === 'ImageExtension' && extension.SourceType === 'SystemGenerated') {\r\n const survey = _.get(window, 'survey');\r\n clarity.setClarityTag({\r\n TransparentImageAnnotationDeleteAdExtension: true\r\n });\r\n if (survey && survey.surveyManager && _.isFunction(survey.surveyManager.trigger)) {\r\n survey['TransparentImageAnnotationSurveyTrigger'] = true;\r\n window.survey.TransparentImageAnnotationCustomParams = {\r\n AdExtensionIds: [extension.Id]\r\n };\r\n survey.surveyManager.trigger();\r\n }\r\n }\r\n }\r\n },\r\n _showInfoExtension: function (extension) {},\r\n _editExtensionById: function (extensionId) {\r\n this.options.data.extension.find(extensionId).finally(withUiBlock(this.$el)).then(this._editExtension.bind(this)).catch(this._handleErrors.bind(this));\r\n },\r\n _handleCreatedExtension: function (ext) {\r\n this.ko_model.handleCreate(ext);\r\n this.editor.remove();\r\n this.trigger('created', ext);\r\n this.trigger('close:extensionEditor');\r\n if (this.options.extensionType !== '') {\r\n this.options.instrumentation.logMessage([this.options.instrumentConstants.LOGCATEGORY.TRACE], this.options.instrumentConstants.LOGLEVEL.INFO, 'create' + this.options.extensionType, '1');\r\n }\r\n this.trigger('extensions:changed');\r\n if (this.options.extensionType === 'ImageExtension') {\r\n this.debouncedUpdateMultiAssetWarningMessage();\r\n }\r\n },\r\n _handleUpdatedExtension: function (ext) {\r\n this.ko_model.handleUpdate(ext);\r\n this.editor.remove();\r\n this.trigger('updated', ext);\r\n this.trigger('close:extensionEditor');\r\n if (this.options.extensionType !== '') {\r\n this.options.instrumentation.logMessage([this.options.instrumentConstants.LOGCATEGORY.TRACE], this.options.instrumentConstants.LOGLEVEL.INFO, 'update' + this.options.extensionType, '1');\r\n }\r\n this.trigger('extensions:changed');\r\n if (this.options.extensionType === 'ImageExtension') {\r\n this.debouncedUpdateMultiAssetWarningMessage();\r\n }\r\n },\r\n _handleCancel: function () {\r\n this.editor.remove();\r\n this.trigger('close:extensionEditor');\r\n this.logActivityToSubstrate(`click ${this.options.extensionType} cancel button`);\r\n },\r\n _handleRemove: function () {\r\n this.trigger('close:extensionEditor');\r\n this.editor = null;\r\n },\r\n _editExtension: function (extension) {\r\n if (!!this.editor) {\r\n this.editor.remove();\r\n }\r\n this._clearErrors();\r\n if (this.options.extensionType === 'LogoAdExtension') {\r\n this.logActivityToSubstrate('click add-logo-extension button');\r\n }\r\n if (!extension && this.options.extensionType === 'LeadFormExtension' && permissions.dynamic.LeadFormAdExtension) {\r\n this.logActivityToSubstrate('click add-lead-form-extension button');\r\n const TermsofServiceDialogView = dialogDecorator.decorate(TermsofServiceView, {\r\n position: 'center',\r\n popupFront: '.navbar-fixed-top',\r\n maxHeight: '70%'\r\n });\r\n const termsOfServicePopup = new TermsofServiceDialogView({}).render();\r\n termsOfServicePopup.on('accept', () => {\r\n termsOfServicePopup.remove();\r\n this._showEditPopup(extension);\r\n this.logActivityToSubstrate('accept terms of service');\r\n });\r\n termsOfServicePopup.on('cancel', () => {\r\n termsOfServicePopup.remove();\r\n this.logActivityToSubstrate('cancel terms of service');\r\n });\r\n } else {\r\n this._showEditPopup(extension);\r\n }\r\n },\r\n _showEditPopup(extension) {\r\n var EditorCtor = !!extension ? this.options.EditForm : this.options.CreateForm;\r\n if (this.options && this.options.perfMarker) {\r\n var action = !!extension ? 'Edit' : 'Create';\r\n this.AddEditExtensionMarker = this.options.perfMarker.createChild(`${action}_Extension_${this.options.extensionType}_${this.options.entityType}`);\r\n this.AddEditExtensionMarker.willInit();\r\n }\r\n if (this.options.extensionType === 'ImageExtension') {\r\n this.trigger('modeChange', {\r\n isEdit: !!extension\r\n });\r\n }\r\n this.editor = new EditorCtor(_.extend({\r\n extension: extension,\r\n data: this.options.data,\r\n campaignId: this.options.campaignId,\r\n adgroupId: this.options.adgroupId,\r\n title: i18n.get(!!extension ? this.i18nKeys.edit_title : this.i18nKeys.create_title),\r\n i18nKeys: this.i18nKeys,\r\n dialogOptions: {\r\n popupFront: this.options.popupFront\r\n },\r\n instrumentation: this.options.instrumentation,\r\n instrumentationSettings: this.options.instrumentationSettings,\r\n disableScheduling: this.options.disableScheduling,\r\n isForVNext: this.options.isForVNext,\r\n oDataConfig: oDataConfig,\r\n newI18n: this.options.newI18n,\r\n editorPerfMarker: this.AddEditExtensionMarker\r\n }, this.options.extraEditorOptions, this.options.usePanel ? {\r\n eventsToActions: [{\r\n event: 'created',\r\n action: (function (ext) {\r\n this._handleCreatedExtension(ext);\r\n }).bind(this)\r\n }, {\r\n event: 'updated',\r\n action: (function (ext) {\r\n this._handleUpdatedExtension(ext);\r\n }).bind(this)\r\n }, {\r\n event: 'cancel',\r\n action: this._handleCancel.bind(this)\r\n }, {\r\n event: 'remove',\r\n action: this._handleRemove.bind(this)\r\n }],\r\n onClose: (function (e) {\r\n if (e.currentTarget.className === 'react-focus-lock' && e.type === 'keyup' || e.currentTarget.className === 'panel-mask' || e.currentTarget.className && e.currentTarget.className.indexOf('panel-close') > -1) {\r\n this._handleCancel();\r\n }\r\n }).bind(this)\r\n } : {})).render();\r\n if (!this.options.usePanel) {\r\n this.editor.on('created', (function (ext) {\r\n this._handleCreatedExtension(ext);\r\n }).bind(this));\r\n this.editor.on('updated', (function (ext) {\r\n this._handleUpdatedExtension(ext);\r\n }).bind(this));\r\n this.editor.on('cancel', this._handleCancel.bind(this));\r\n this.editor.on('remove', this._handleRemove.bind(this));\r\n }\r\n if (this.AddEditExtensionMarker) {\r\n this.AddEditExtensionMarker.done();\r\n }\r\n this.trigger('open:extensionEditor');\r\n },\r\n _createClickHandler: function () {\r\n this._editExtension(null);\r\n },\r\n _removeAssociations: function (changes, scope) {\r\n return this.options.data.association.destroyAll({\r\n where: _.extend({\r\n id: {\r\n 'in': changes.removed\r\n }\r\n }, scope)\r\n }).then(this.ko_model.handleRemovedIds.bind(this.ko_model, changes.removed));\r\n },\r\n _createAssociations: function (changes, scope, scopes, cb) {\r\n var updatedIds = {\r\n id: {\r\n 'in': changes.added\r\n }\r\n };\r\n if (this.options.isMultiSelect) {\r\n return this.options.data.association.updateAll(null, {\r\n where: updatedIds\r\n }, scopes);\r\n } else {\r\n return this.options.data.association.updateAll(null, {\r\n where: _.extend(updatedIds, scope)\r\n });\r\n }\r\n },\r\n _saveClickHandler: function (event) {\r\n this._clearErrors();\r\n var changes = this.ko_model.changes(), scope = this.ko_model.scope(), scopes = this.ko_model.scopes();\r\n if (!changes.isEmpty) {\r\n var updateAssociationsActivity = scopes.length > 1 ? this.options.instrumentationSettings.ACTIVITYNAME.UpdateAssociationsForMultipleEntities : this.options.instrumentationSettings.ACTIVITYNAME.UpdateAssociationsForSingleEntity;\r\n this.options.instrumentation.startScenario(this.options.instrumentationSettings.SCENARIONAME.UpdateAdExtensionAssociations);\r\n this.options.instrumentation.startActivity(updateAssociationsActivity);\r\n this._removeAssociations(changes, scope).then(this._createAssociations.bind(this, changes, scope, scopes)).bind(this).finally(withUiBlock(this.$el)).then(this.ko_model.handleSave.bind(this.ko_model)).then(function () {\r\n var removedCount = _.size(changes.removed);\r\n var addedCount = _.size(changes.added);\r\n if (removedCount > 0) {\r\n this.options.instrumentation.logMessage([this.options.instrumentConstants.LOGCATEGORY.TRACE], this.options.instrumentConstants.LOGLEVEL.INFO, 'AdExtension/DeleteAssociations', JSON.stringify({\r\n extensionCount: removedCount,\r\n extensionType: this.options.extensionType,\r\n entityType: this.options.entityType,\r\n entityCount: _.size(scopes) || 1\r\n }));\r\n this.logActivityToSubstrate('adextension removed. extensionType: ' + this.options.extensionType + ' extensionCount: ' + removedCount);\r\n }\r\n if (addedCount > 0) {\r\n this.options.instrumentation.logMessage([this.options.instrumentConstants.LOGCATEGORY.TRACE], this.options.instrumentConstants.LOGLEVEL.INFO, 'AdExtension/CreateAssociations', JSON.stringify({\r\n extensionCount: addedCount,\r\n extensionType: this.options.extensionType,\r\n entityType: this.options.entityType,\r\n entityCount: _.size(scopes) || 1\r\n }));\r\n this.logActivityToSubstrate('adextension added. extensionType: ' + this.options.extensionType + ' extensionCount: ' + addedCount);\r\n }\r\n this.options.instrumentation.endActivity(updateAssociationsActivity);\r\n this.trigger('save', this.ko_model.selectedExtensions());\r\n this.trigger('save:success', this.ko_model.selectedExtensions());\r\n }).catch(function (errors) {\r\n this._handleErrors(errors);\r\n }).finally(function () {\r\n this.options.instrumentation.startActivity(this.options.instrumentationSettings.ACTIVITYNAME.SaveAdExtensionAssociations);\r\n });\r\n } else {\r\n this.trigger('save', this.ko_model.selectedExtensions());\r\n }\r\n },\r\n _cancelClickHandler: function () {\r\n this._clearErrors();\r\n this.trigger('cancel');\r\n },\r\n _clearErrors: function () {\r\n this.ko_model.errors.clear(i18nErrors.isCampaignApiError);\r\n if (!this.showErrorsInline) {\r\n alert.clearErrorSummary();\r\n }\r\n },\r\n _processOdataErrors: function (errors, response) {\r\n var propertyName = _.constant('message')();\r\n var errTemplate = putils.curlyTemplate('{{message}}');\r\n return _.chain(errors).map(function (error, index) {\r\n var source = response.errors[index];\r\n return {\r\n type: source['@odata.type'],\r\n message: source.Message ? errTemplate({\r\n url: source.Message,\r\n message: error.toString()\r\n }) : error.toString()\r\n };\r\n }).groupBy('type').mapObject(function (val) {\r\n return _.uniq(val, false, propertyName);\r\n }).map(function (val, key) {\r\n if (key === '#Model.ApiEditorialError') {\r\n return i18n.get('Editorial_Error_Alert', {\r\n message: _.pluck(val, propertyName).join(', ')\r\n });\r\n }\r\n return _.pluck(val, propertyName);\r\n }).flatten().value();\r\n },\r\n _handleErrors: function (response) {\r\n var errorMessages = i18nErrors.getODataErrors(response.errors);\r\n if (response.associations && this.options.isMultiSelect) {\r\n var associationErrors = _.filter(errorMessages, function (err) {\r\n return !!response.associations.value[err.property] && !(err.Message == null && err.code == 'EditorialError');\r\n });\r\n errorMessages = _.difference(errorMessages, associationErrors);\r\n this._handleAssociationErrors(associationErrors, response.associations);\r\n }\r\n if (!errorMessages.length && !response.errorResponseBody) {\r\n return;\r\n }\r\n if (this.showErrorsInline) {\r\n this.ko_model.errors.add(errorMessages);\r\n } else {\r\n if (response.type === 'odata') {\r\n errorMessages = this._processOdataErrors(errorMessages, response);\r\n } else if (response.errorResponseBody && response.errorResponseBody.Errors) {\r\n errorMessages = _.uniq(response.errorResponseBody.Errors, false, 'Code');\r\n }\r\n alert.showJsonErrors(errorMessages);\r\n }\r\n },\r\n _handleAssociationErrors: function (errorMessages, associations) {\r\n errorMessages = _.chain(errorMessages).groupBy('property').map(function (errors) {\r\n return _.uniq(errors, 'message');\r\n }).flatten().value();\r\n var associationErrors = _.map(errorMessages, (function (error) {\r\n var association = associations.value[error.property];\r\n var scope = _.find(this.ko_model.scopes(), this.findScope(association));\r\n var extension = _.find(this.ko_model.selectedExtensions(), function (ext) {\r\n return ext.Id == association.AdExtensionId;\r\n });\r\n return {\r\n Entity: {\r\n campaignName: scope && scope.campaignName ? scope.campaignName : '',\r\n adgroupName: scope && scope.adGroupName ? scope.adGroupName : ''\r\n },\r\n Extension: extension,\r\n Error: error.message\r\n };\r\n }).bind(this));\r\n if (associationErrors.length) {\r\n this._createErrorGrid(associationErrors);\r\n this.ko_model.failedAssociationsLabel(i18n.get(this.i18nKeys.failedAssociationsLabel, {\r\n count: associations.failCount\r\n }));\r\n this.ko_model.successfulAssociationsLabel(i18n.get(this.i18nKeys.successfulAssociationsLabel, {\r\n count: associations.successCount\r\n }));\r\n } else {\r\n _.result(this.errorGrid, 'removeGrid');\r\n this.ko_model.failedAssociationsLabel('');\r\n }\r\n },\r\n _createErrorGrid: function (errors) {\r\n this.errorGrid = new ErrorGrid({\r\n rowTemplate: this.template.rowTemplate,\r\n el: this.$('.error-grid-container'),\r\n errors: errors,\r\n entityType: this.options.entityType,\r\n i18nKeys: this.options.i18nKeys\r\n }).render();\r\n }\r\n});\r\nexport default View;\r\n\r\n","import ko from 'knockout';\r\nimport _ from 'underscore';\r\nimport config from '@bingads-webui-component-legacy/config/index';\r\n\r\nconst {\r\n IsCallMeteringInAUAllowed,\r\n} = config.get('Permissions') || {};\r\nconst countyCodeForAU = 'AU';\r\n\r\nexport default class {\r\n constructor({\r\n CallFees,\r\n AllowedCountries,\r\n CountryCode,\r\n IsCallTrackingEnabled,\r\n }) {\r\n this.countryCallTrackingSupported = ko.computed(() => {\r\n if (CallFees && AllowedCountries) {\r\n return _.contains(AllowedCountries, ko.unwrap(CountryCode));\r\n }\r\n\r\n return true;\r\n });\r\n\r\n this.disableCallTracking = ko.computed(() => {\r\n if (ko.unwrap(CountryCode) === countyCodeForAU && !IsCallMeteringInAUAllowed) {\r\n return true;\r\n }\r\n return !this.countryCallTrackingSupported();\r\n });\r\n\r\n this.IsCallTrackingEnabled = IsCallTrackingEnabled;\r\n this.stringIsCallTrackingEnabled = ko.computed({\r\n read: () => {\r\n IsCallTrackingEnabled(!this.disableCallTracking() && IsCallTrackingEnabled()); // eslint-disable-line\r\n\r\n return IsCallTrackingEnabled.string();\r\n },\r\n write: (newValue) => {\r\n IsCallTrackingEnabled.string(newValue);\r\n },\r\n });\r\n\r\n return this;\r\n }\r\n}\r\n","import Backbone from 'backbone';\r\nimport ko from 'knockout';\r\nimport jsdata from '@bingads-webui-component-legacy/js-data-campaign/index';\r\nimport state from '@bingads-webui-component-legacy/state/index';\r\nimport withUiBlock from '@bingads-webui-component-legacy/uiblocker/index';\r\nimport { queryify } from '@bingads-webui/url-util';\r\nimport ViewModel from '@bingads-webui-campaign-legacy/adextension-call/viewmodel/call-metering';\r\nimport template from '@bingads-webui-campaign-legacy/adextension-call/template/call-metering.pug';\r\n\r\nconst i18n = window.globalLegacyI18n.get('component/i18n/loader!campaignui/feature/adextensions');\r\nconst i18nGlobal = window.globalLegacyI18n.get('component/i18n/loader!global');\r\n\r\nconst callfeesUrl = queryify('/campaign/CallAdExtensions.m/GetAllowedCountryCallFees', {\r\n aid: state.get('account_id'),\r\n cid: state.get('customer_id'),\r\n uid: state.get('user_id'),\r\n});\r\n\r\nexport default class CallMetering extends Backbone.View {\r\n initialize({\r\n viewModel: {\r\n CountryCode,\r\n IsCallTrackingEnabled,\r\n RequireTollFreeTrackingNumber,\r\n $overall,\r\n } = {},\r\n field = {},\r\n } = {}) {\r\n this.$overall = $overall;\r\n this.field = field;\r\n\r\n this.p$init = jsdata.Country.find('CallFees', { url: callfeesUrl, adapter: 'legacy' })\r\n .then(({ AllowedCountries, CallFees }) => {\r\n this.viewModel = new ViewModel({\r\n AllowedCountries,\r\n CallFees,\r\n CountryCode,\r\n IsCallTrackingEnabled,\r\n RequireTollFreeTrackingNumber,\r\n });\r\n })\r\n .finally(withUiBlock(this.$el.parent()));\r\n }\r\n\r\n render() {\r\n this.p$init.then(() => {\r\n this.$el.html(template({ i18n, id: this.field.id }));\r\n\r\n ko.applyBindings(this.viewModel, this.el);\r\n })\r\n .catch(() => {\r\n this._handleErrors();\r\n });\r\n\r\n return this;\r\n }\r\n\r\n _handleErrors() {\r\n this.$overall.validators.passive.setError(i18nGlobal.get('GenericErrorMessage'));\r\n this.$overall.validate();\r\n }\r\n}\r\n","import _ from 'underscore';\r\nimport addressService from '@bingads-webui-component-legacy/address/service/addressService';\r\nimport config from '@bingads-webui-component-legacy/config/index';\r\nimport withUiBlock from '@bingads-webui-component-legacy/uiblocker/index';\r\nimport CallMetering from '@bingads-webui-campaign-legacy/adextension-call/view/call-metering';\r\nimport loadAddressFailTemplate from '@bingads-webui-campaign-legacy/adextension-call/template/load-address-fail.pug';\r\nimport AdExtensionEditor from '@bingads-webui-campaign-legacy/adextension-shared/view/extension-editor';\r\n\r\nconst schema = window.globalLegacySchema.get('CallAdExtension');\r\nconst i18n = window.globalLegacyI18n.get('component/i18n/loader!campaignui/feature/adextensions');\r\nconst i18nGlobal = window.globalLegacyI18n.get('component/i18n/loader!global');\r\n\r\nexport default class CallAdExtensionEditor extends AdExtensionEditor {\r\n initialize({\r\n extension,\r\n data,\r\n } = {}) {\r\n const countryCode = extension ? extension.CountryCode : config.get('market') || 'US';\r\n\r\n this.p$init = addressService.load(config.get('culture') || 'en-us', countryCode)\r\n .then(({ Countries }) => {\r\n const fields = [{\r\n property: 'CountryCode',\r\n control: 'select',\r\n values: _.map(Countries, (country) => country.Key),\r\n valueMessages: _.map(Countries, (country) => i18n.getString(`UserCountry_${country.Key}`)),\r\n }, {\r\n property: 'PhoneNumber',\r\n placeholder: i18n.get('AdExtensions_Call_Placeholder_PhoneNumber'),\r\n }];\r\n\r\n const permissions = config.get('Permissions') || {};\r\n\r\n if (permissions.IsCallMeteringAllowed) {\r\n fields.push({\r\n property: 'IsCallTrackingEnabled',\r\n control: CallMetering,\r\n }, {\r\n property: 'RequireTollFreeTrackingNumber',\r\n visible: false,\r\n });\r\n }\r\n\r\n fields.push({\r\n property: 'IsCallOnly',\r\n control: 'radios',\r\n });\r\n\r\n super.initialize({\r\n extension,\r\n schema,\r\n data,\r\n fields,\r\n });\r\n })\r\n .finally(withUiBlock(this.$el.parent()));\r\n }\r\n\r\n render() {\r\n const editorContainerWidth = 700;\r\n const editorFormContainerWidth = 650;\r\n\r\n this.p$init.then(() => {\r\n super.render();\r\n if (_.isFunction(this.setPosition)) {\r\n this.setPosition();\r\n }\r\n\r\n this.$('.extension-editor__container').width(editorContainerWidth);\r\n this.$('.extension-editor__form-container').width(editorFormContainerWidth);\r\n }).catch(() => {\r\n this.$el.html(loadAddressFailTemplate({ i18n: i18nGlobal }));\r\n });\r\n\r\n return this;\r\n }\r\n\r\n currentModel() {\r\n const model = super.currentModel();\r\n\r\n if (model.IsCallTrackingEnabled) {\r\n model.RequireTollFreeTrackingNumber = false;\r\n } else {\r\n model.RequireTollFreeTrackingNumber = null;\r\n }\r\n\r\n return model;\r\n }\r\n}\r\n","/* eslint-disable */\r\nimport _ from 'underscore';\r\nimport Backbone from 'backbone';\r\nimport * as _DataRepository from '@bingads-webui-campaign-legacy/adextension-shared/service/repository';\r\nimport * as _editorView from '@bingads-webui-campaign-legacy/adextension-call/view/extension-editor';\r\nimport previewTemplate from '@bingads-webui-campaign-legacy/adextension-call/template/preview.pug';\r\nimport associationsEditorBase from '@bingads-webui-campaign-legacy/adextension-associations-editor/view/index';\r\nimport dialogDecorator from '@bingads-webui-component-legacy/dialog/dialogDecorator';\r\nimport rowTemplate from '@bingads-webui-campaign-legacy/adextension-call/template/gridRowTemplate.pug';\r\nimport * as _panelDecorator from '@bingads-webui-campaign-react/panel-decorator';\r\nvar schema = window.globalLegacySchema.get('CallAdExtension');\r\nvar $i18n = window.globalLegacyI18n.get('component/i18n/loader!campaignui/feature/adextensions');\r\nvar DataRepository = _DataRepository.default;\r\nvar editorView = _editorView.default;\r\nvar panelDecorator = _panelDecorator.panelDecorator;\r\nvar dialogOptions = {\r\n position: 'center',\r\n maxWidth: 1000\r\n};\r\nvar i18nKeys = {\r\n title: 'AdExtensions_Call_Editor_Title',\r\n subtitle: 'NewCampaign_CallAdExtension_Subtitle',\r\n library_title: 'AdExtensions_Call_Editor_Available',\r\n selected_title: 'AdExtensions_Call_Editor_Selected',\r\n create_link: 'AdExtensions_Call_Editor_CreateNew',\r\n create_title: 'AdExtensions_Call_Dialog_Title_Add',\r\n delete_btn: 'AdExtensions_Call_Editor_Delete',\r\n delete_confirm: 'AdExtensions_Call_Delete_Warning',\r\n edit_btn: 'AdExtensions_Call_Editor_Edit',\r\n edit_title: 'AdExtensions_Call_Dialog_Title_Edit',\r\n inlineAlert: 'AdExtensions_Call_Max_Select_Notification'\r\n};\r\nvar view = associationsEditorBase.extend({\r\n initialize: function (options) {\r\n var Editor = options && options.usePanel ? panelDecorator(editorView, {\r\n i18n: $i18n,\r\n panelReadyAriaLabel: $i18n.getString('Association editor side panel opened'),\r\n panelClassName: options.panelClassName\r\n }) : dialogDecorator.decorate(editorView, dialogOptions);\r\n _.extend(options, {\r\n data: new DataRepository({\r\n schema: schema,\r\n afterChangeComitted: function () {\r\n if (_.isFunction(options.updateContext)) {\r\n options.updateContext(['AccountAdExtensionsGrid', 'CampaignAdExtensionsGrid', 'AdGroupAdExtensionsGrid']);\r\n }\r\n }\r\n }),\r\n template: {\r\n preview: previewTemplate,\r\n rowTemplate: rowTemplate\r\n },\r\n extensionType: 'CallExtension',\r\n maxSelectedItemsCount: 1,\r\n CreateForm: Editor,\r\n EditForm: Editor,\r\n i18nKeys: _.extend({}, i18nKeys, options.i18nKeys || ({}))\r\n });\r\n associationsEditorBase.prototype.initialize.call(this, options);\r\n }\r\n});\r\nexport default view;\r\n\r\n","/* eslint-disable */\r\nimport _ from 'underscore';\r\nimport * as _SharedEditorView from '@bingads-webui-campaign-legacy/adextension-shared/view/extension-editor';\r\nvar schema = window.globalLegacySchema.get('CalloutAdExtension');\r\nvar SharedEditorView = _SharedEditorView.default;\r\nvar EditorView = SharedEditorView.extend({\r\n initialize: function (options) {\r\n options = _.extend(options || ({}), {\r\n schema: schema,\r\n fields: [{\r\n property: 'Text',\r\n showHint: true\r\n }]\r\n });\r\n SharedEditorView.prototype.initialize.call(this, options);\r\n }\r\n});\r\nexport default EditorView;\r\n\r\n","/* eslint-disable */\r\nimport $ from 'jquery';\r\nimport backbone from 'backbone';\r\nimport _ from 'underscore';\r\nimport AssociationsEditorBase from '@bingads-webui-campaign-legacy/adextension-associations-editor/view/index';\r\nimport dialogDecorator from '@bingads-webui-component-legacy/dialog/dialogDecorator';\r\nimport * as _SharedRepository from '@bingads-webui-campaign-legacy/adextension-shared/service/repository';\r\nimport EditorView from '@bingads-webui-campaign-legacy/adextension-callout/view/extensionEditor';\r\nimport previewTemplate from '@bingads-webui-campaign-legacy/adextension-callout/template/extensionPreview.pug';\r\nimport rowTemplate from '@bingads-webui-campaign-legacy/adextension-callout/template/gridRowTemplate.pug';\r\nimport * as _panelDecorator from '@bingads-webui-campaign-react/panel-decorator';\r\nvar schema = window.globalLegacySchema.get('CalloutAdExtension');\r\nvar $i18n = window.globalLegacyI18n.get('component/i18n/loader!campaignui/feature/adextensions');\r\nvar SharedRepository = _SharedRepository.default;\r\nvar panelDecorator = _panelDecorator.panelDecorator;\r\nvar dialogOptions = {\r\n position: 'center',\r\n maxWidth: 1000\r\n};\r\nvar i18nKeys = {\r\n title: 'AdExtensions_Callout_Editor_Title',\r\n subtitle: ['NewCampaign_CalloutAdExtension_Subtitle'],\r\n library_title: 'AdExtensions_Callout_Editor_Available',\r\n selected_title: 'AdExtensions_Callout_Editor_Selected',\r\n create_link: 'AdExtensions_Callout_Editor_CreateNew',\r\n create_title: 'AdExtensions_Callout_Dialog_Title_Add',\r\n delete_btn: 'AdExtensions_Callout_Editor_Delete',\r\n delete_confirm: 'AdExtensions_Callout_Delete_Warning',\r\n edit_btn: 'AdExtensions_Callout_Editor_Edit',\r\n edit_title: 'AdExtensions_Callout_Dialog_Title_Edit',\r\n inlineAlert: 'AdExtensions_Callout_Max_Select_Notification'\r\n};\r\nvar defaultRepositoryFactory = function (factoryOptions) {\r\n var schema = factoryOptions.schema;\r\n var updateContext = factoryOptions.updateContext;\r\n return new SharedRepository({\r\n schema: schema,\r\n afterChangeComitted: function () {\r\n if (_.isFunction(updateContext)) {\r\n updateContext(['AccountAdExtensionsGrid', 'CampaignAdExtensionsGrid', 'AdGroupAdExtensionsGrid']);\r\n }\r\n }\r\n });\r\n};\r\nvar view = AssociationsEditorBase.extend({\r\n initialize: function (options) {\r\n var Editor = options && options.usePanel ? panelDecorator(EditorView, {\r\n i18n: $i18n,\r\n panelReadyAriaLabel: $i18n.getString('Association editor side panel opened'),\r\n panelClassName: options.panelClassName\r\n }) : dialogDecorator.decorate(EditorView, dialogOptions);\r\n var repositoryFactory = options.repositoryFactory || defaultRepositoryFactory;\r\n _.extend(options, {\r\n idField: 'Id',\r\n data: repositoryFactory({\r\n schema: schema,\r\n updateContext: options.updateContext\r\n }),\r\n template: {\r\n preview: previewTemplate,\r\n rowTemplate: rowTemplate\r\n },\r\n extensionType: 'CalloutExtension',\r\n maxSelectedItemsCount: options.maxSelectedItemsCount || 20,\r\n CreateForm: Editor,\r\n EditForm: Editor,\r\n i18nKeys: _.extend({}, i18nKeys, options.i18nKeys || ({}))\r\n });\r\n AssociationsEditorBase.prototype.initialize.apply(this, [options]);\r\n }\r\n});\r\nexport default view;\r\n\r\n","import _ from 'underscore';\r\nimport { FilterLinkAdExtension } from '@bingads-webui-campaign/campaign-ui-schemas';\r\nimport { panelDecorator } from '@bingads-webui-campaign-react/panel-decorator';\r\nimport SchedulingView from '@bingads-webui-campaign-legacy/adextension-shared/view/scheduling';\r\nimport { Headers } from '@bingads-webui-campaign-legacy/adextension-structuredsnippet/model/model';\r\nimport AssociationsEditorBase from '@bingads-webui-campaign-legacy/adextension-associations-editor/view/index';\r\nimport dialogDecorator from '@bingads-webui-component-legacy/dialog/dialogDecorator';\r\nimport _SharedRepository from '@bingads-webui-campaign-legacy/adextension-shared/service/repository';\r\n\r\nconst $i18n = window.globalLegacyI18n.get('component/i18n/loader!campaignui/feature/adextensions');\r\nconst legacyI18n = window.globalLegacyI18n.get('@bingads-webui/i18n-amd-loader!campaignui/feature/adextensions');\r\n// This i18n use {0} for template\r\n// This i18n use {{prop_name}} for template\r\n\r\nconst SharedRepository = _SharedRepository.default || _SharedRepository;\r\n\r\nconst dialogOptions = { position: 'center', maxWidth: 1000 };\r\n\r\n/* eslint-disable camelcase */\r\nconst i18nKeys = {\r\n title: 'AdExtensions_FilterLink_Editor_Title',\r\n subtitle: ['NewCampaign_FilterLinkAdExtension_Subtitle'],\r\n library_title: 'AdExtensions_FilterLink_Editor_Available',\r\n selected_title: 'AdExtensions_FilterLink_Editor_Selected',\r\n create_link: 'AdExtensions_FilterLink_Editor_CreateNew',\r\n create_title: 'AdExtensions_FilterLink_Dialog_Title_Add',\r\n delete_btn: 'AdExtensions_FilterLink_Editor_Delete',\r\n delete_confirm: 'AdExtensions_FilterLink_Delete_Warning',\r\n edit_btn: 'AdExtensions_FilterLink_Editor_Edit',\r\n edit_title: 'AdExtensions_FilterLink_Dialog_Title_Edit',\r\n inlineAlert: 'AdExtensions_FilterLink_Max_Select_Notification',\r\n};\r\n/* eslint-enable camelcase */\r\n\r\nconst defaultRepositoryFactory = function (factoryOptions) {\r\n return new SharedRepository(factoryOptions);\r\n};\r\n\r\nconst FilterLinkAssociationEditor = AssociationsEditorBase.extend({\r\n initialize(options) {\r\n const EditorView = options.vnextContext.dynamicFeatures.DynamicFilterLinkExtensionEditor;\r\n const Editor = options && options.usePanel ? panelDecorator(EditorView,\r\n {\r\n i18n: $i18n,\r\n panelReadyAriaLabel: $i18n.getString('Association editor side panel opened'),\r\n panelClassName: options.panelClassName,\r\n }) :\r\n dialogDecorator.decorate(EditorView, dialogOptions);\r\n const repositoryFactory = options.repositoryFactory || defaultRepositoryFactory;\r\n\r\n _.extend(options, {\r\n idField: 'Id',\r\n data: repositoryFactory(_.extend({\r\n schema: FilterLinkAdExtension,\r\n }, options.vnextContext.dynamicFeatures.repositoryOptions)),\r\n template: {\r\n previewTemplateType: 'function',\r\n preview: options.vnextContext.dynamicFeatures.universalItemTemplate,\r\n rowTemplate: options.vnextContext.dynamicFeatures.universalItemTemplate,\r\n },\r\n extensionType: 'FilterLinkExtension',\r\n maxSelectedItemsCount: options.maxSelectedItemsCount || 20,\r\n CreateForm: Editor,\r\n EditForm: Editor,\r\n extraEditorOptions: {\r\n legacyI18n,\r\n deps: {\r\n SchedulingView,\r\n Headers: Headers.default ? Headers.default : Headers,\r\n },\r\n },\r\n i18nKeys: _.extend({}, i18nKeys, options.i18nKeys || {}),\r\n });\r\n AssociationsEditorBase.prototype.initialize.apply(this, [options]);\r\n },\r\n});\r\n\r\nexport default FilterLinkAssociationEditor;\r\n","import _ from 'underscore';\r\nimport { FlyerAdExtension } from '@bingads-webui-campaign/campaign-ui-schemas';\r\nimport { panelDecorator } from '@bingads-webui-campaign-react/panel-decorator';\r\nimport odata from '@bingads-webui-component-legacy/http/channel/odata';\r\nimport jsdata from '@bingads-webui-component-legacy/js-data-campaign/index';\r\nimport dialogDecorator from '@bingads-webui-component-legacy/dialog/dialogDecorator';\r\n// This i18n use {0} for template\r\n// This i18n use {{prop_name}} for template\r\nimport SchedulingView from '@bingads-webui-campaign-legacy/adextension-shared/view/scheduling';\r\nimport AssociationsEditorBase from '@bingads-webui-campaign-legacy/adextension-associations-editor/view/index';\r\nimport _SharedRepository from '@bingads-webui-campaign-legacy/adextension-shared/service/repository';\r\n\r\nconst $i18n = window.globalLegacyI18n.get('component/i18n/loader!campaignui/feature/adextensions');\r\nconst legacyI18n = window.globalLegacyI18n.get('@bingads-webui/i18n-amd-loader!campaignui/feature/adextensions');\r\n\r\nconst SharedRepository = _SharedRepository.default || _SharedRepository;\r\n\r\nconst dialogOptions = { position: 'center', maxWidth: 1000 };\r\n\r\n/* eslint-disable camelcase */\r\nconst i18nKeys = {\r\n title: 'AdExtensions_Flyer_Editor_Title',\r\n subtitle: ['NewCampaign_FlyerAdExtension_Subtitle'],\r\n library_title: 'AdExtensions_Flyer_Editor_Available',\r\n selected_title: 'AdExtensions_Flyer_Editor_Selected',\r\n create_link: 'AdExtensions_Flyer_Editor_CreateNew',\r\n create_title: 'AdExtensions_Flyer_Dialog_Title_Add',\r\n delete_btn: 'AdExtensions_Flyer_Editor_Delete',\r\n delete_confirm: 'AdExtensions_Flyer_Delete_Warning',\r\n edit_btn: 'AdExtensions_Flyer_Editor_Edit',\r\n edit_title: 'AdExtensions_Flyer_Dialog_Title_Edit',\r\n inlineAlert: 'AdExtensions_Flyer_Max_Select_Notification',\r\n};\r\n/* eslint-enable camelcase */\r\n\r\nconst defaultRepositoryFactory = function (factoryOptions) {\r\n const { schema, updateContext } = factoryOptions;\r\n\r\n return new SharedRepository({\r\n schema,\r\n afterChangeComitted() {\r\n if (_.isFunction(updateContext)) {\r\n updateContext(['AccountAdExtensionsGrid', 'CampaignAdExtensionsGrid', 'AdGroupAdExtensionsGrid']);\r\n }\r\n },\r\n });\r\n};\r\n\r\nconst FlyerAssociationEditor = AssociationsEditorBase.extend({\r\n initialize(options) {\r\n const EditorView = options.vnextContext.dynamicFeatures.DynamicFlyerExtensionEditor;\r\n const Editor = options && options.usePanel ? panelDecorator(EditorView,\r\n {\r\n i18n: $i18n,\r\n panelReadyAriaLabel: $i18n.getString('Association editor side panel opened'),\r\n panelClassName: options.panelClassName,\r\n }) :\r\n dialogDecorator.decorate(EditorView, dialogOptions);\r\n const repositoryFactory = options.repositoryFactory || defaultRepositoryFactory;\r\n\r\n _.extend(options, {\r\n idField: 'Id',\r\n data: repositoryFactory({\r\n schema: FlyerAdExtension,\r\n updateContext: options.updateContext,\r\n }),\r\n template: {\r\n previewTemplateType: 'function',\r\n preview: options.vnextContext.dynamicFeatures.universalItemTemplate,\r\n rowTemplate: options.vnextContext.dynamicFeatures.universalItemTemplate,\r\n },\r\n extensionType: 'FlyerExtension',\r\n maxSelectedItemsCount: options.maxSelectedItemsCount || 3,\r\n CreateForm: Editor,\r\n EditForm: Editor,\r\n extraEditorOptions: {\r\n legacyI18n,\r\n deps: {\r\n SchedulingView,\r\n odata,\r\n jsdata,\r\n },\r\n },\r\n i18nKeys: _.extend({}, i18nKeys, options.i18nKeys || {}),\r\n });\r\n AssociationsEditorBase.prototype.initialize.apply(this, [options]);\r\n },\r\n});\r\n\r\nexport default FlyerAssociationEditor;\r\n","const EligibleLayout = {\r\n Unset: 'Unset',\r\n Single: 'Single',\r\n Multi: 'Multi',\r\n SingleAndMulti: 'SingleAndMulti',\r\n};\r\n\r\nexport {EligibleLayout};\r\n","/* eslint no-param-reassign: 0 */\r\n\r\nimport _ from 'underscore';\r\nimport Promise from 'bluebird';\r\nimport { getODataErrors } from '@bingads-webui-component-legacy/api-errors-campaign/index';\r\nimport DataStore from '@bingads-webui-component-legacy/js-data-campaign/index';\r\nimport edmCampaign from '@bingads-webui-component-legacy/edm-campaign/index';\r\nimport BaseRepository from '@bingads-webui-campaign-legacy/adextension-shared/service/repos/base';\r\nimport sharedDataModelUtil from '@bingads-webui-campaign-legacy/adextension-shared/util/sharedDataModelConvert';\r\nimport dataModelUtil from '@bingads-webui-campaign-legacy/adextension-image/util/dataModelConvert';\r\n\r\nconst i18n = window.globalLegacyI18n.get('component/i18n/loader!campaignui/feature/adextension/shared');\r\nconst s$i18n = window.globalLegacyI18n.get('$/schema-i18n!campaign');\r\n\r\nclass BadResponseError {\r\n constructor(schema) {\r\n this.type = schema.name;\r\n }\r\n\r\n toString() {\r\n return i18n.get('AdExtensionEditor_FailedToSave', {\r\n type: s$i18n.type(this.type),\r\n });\r\n }\r\n}\r\n\r\nconst isCacheValid = {};\r\n\r\nexport default class ImageAdExtensionsRepository extends BaseRepository {\r\n constructor(options) {\r\n super(options);\r\n this._schema = options.schema;\r\n this._store = DataStore[this._schema.name];\r\n this.dataFormatter = options.extensionDataFormatter || _.identity;\r\n this.afterChangeComitted = options.afterChangeComitted;\r\n\r\n if (!_.has(isCacheValid, this._schema.name)) {\r\n isCacheValid[this._schema.name] = false;\r\n }\r\n }\r\n\r\n storeOptions() {\r\n return {\r\n entitySet: edmCampaign.currentAccount.AdExtensions,\r\n cacheResponse: false,\r\n };\r\n }\r\n\r\n findStoreOptions() {\r\n return {\r\n entitySet: edmCampaign.currentAccount.AdExtensions,\r\n cacheResponse: false,\r\n queryParameters: {\r\n query: {\r\n $expand: 'Model.ImageAdExtension/Images',\r\n },\r\n },\r\n };\r\n }\r\n\r\n updateStoreOptions() {\r\n return {\r\n entitySet: edmCampaign.currentAccount.AdExtensions,\r\n cacheResponse: false,\r\n };\r\n }\r\n\r\n isNew(entity) {\r\n return _.isEmpty(entity) || _.isUndefined(entity[this._schema.key]);\r\n }\r\n\r\n create(params) {\r\n let schema = this._schema;\r\n let key = this._schema.key;\r\n\r\n return this._store.create(params, this.storeOptions())\r\n .catch((response) => {\r\n if (response && !_.isEmpty(response.errors)) {\r\n throw getODataErrors(response.errors);\r\n }\r\n\r\n throw new BadResponseError(schema);\r\n })\r\n .then((data) => {\r\n isCacheValid[this._schema.name] = false;\r\n\r\n if (_.isNumber(data.value) && data.value > 0) {\r\n let ret = _.clone(params);\r\n\r\n ret[key] = data.value;\r\n\r\n return ret;\r\n }\r\n\r\n throw new BadResponseError(schema);\r\n })\r\n .tap(this.afterChangeComitted);\r\n }\r\n\r\n update(params) {\r\n let schema = this._schema;\r\n\r\n return this._store.update(params.Id, params, this.updateStoreOptions())\r\n .catch((response) => {\r\n if (response && !_.isEmpty(response.errors)) {\r\n throw getODataErrors(response.errors);\r\n }\r\n\r\n throw new BadResponseError(schema);\r\n })\r\n .then((data) => {\r\n isCacheValid[this._schema.name] = false;\r\n\r\n if (data.value === 0) {\r\n return params;\r\n }\r\n\r\n throw new BadResponseError(schema);\r\n })\r\n .tap(this.afterChangeComitted);\r\n }\r\n\r\n find(id) {\r\n return this._store.find(Number(id), this.findStoreOptions()).then((item) => {\r\n if (item.Images.length > 0) {\r\n return Promise.resolve(item);\r\n }\r\n\r\n return dataModelUtil.getImagesFromIdsAsync(item.ImageIdsStr).then((images) => {\r\n item.Images = images;\r\n\r\n return item;\r\n });\r\n });\r\n }\r\n\r\n findAll(params) {\r\n let formatter = this.dataFormatter;\r\n let options = this.storeOptions();\r\n\r\n _.extend(options, { bypassCache: true });\r\n\r\n params = this.adaptParams(params);\r\n params.expand = ['Model.ImageAdExtension/Images'];\r\n\r\n if (!isCacheValid[this._schema.name]) {\r\n options.headers = _.extend(options.headers || {},\r\n {'x-ms-refreshcampaigncache': 'true'});\r\n }\r\n\r\n return this._store\r\n .findAll(params, options)\r\n .then((data) => {\r\n isCacheValid[this._schema.name] = true;\r\n // This works for the legacy data with image that we do not support (1.20: 1)\r\n return sharedDataModelUtil.migrateLegacyDataAsync(data);\r\n }).then((data) => {\r\n return Promise.props({\r\n items: formatter(data),\r\n total: data.totalCount,\r\n });\r\n });\r\n }\r\n\r\n destroy(id) {\r\n return this._store\r\n .destroy(Number(id), this.storeOptions())\r\n .then((data) => {\r\n isCacheValid[this._schema.name] = false;\r\n return data;\r\n })\r\n .tap(this.afterChangeComitted);\r\n }\r\n}\r\n\r\nImageAdExtensionsRepository.prototype.BadResponseError = BadResponseError;\r\n","/* eslint no-param-reassign: 0 */\r\n\r\nimport _ from 'underscore';\r\nimport ImageAdExtensionsRepository from '@bingads-webui-campaign-legacy/adextension-image/service/imageAdExtensionsRepository2';\r\nimport AssociationsRepository from '@bingads-webui-campaign-legacy/adextension-shared/service/repos/associations';\r\n\r\nconst baseSchema = window.globalLegacySchema.get('AdExtension');\r\nconst schema = window.globalLegacySchema.get('ImageAdExtension');\r\n\r\nconst standardProperties = [baseSchema.key, 'Scheduling'];\r\nconst commonProperties = _.difference(_.keys(baseSchema.properties), standardProperties);\r\nconst ownedProperties = _.difference(_.keys(schema.properties), commonProperties);\r\n\r\n// Workaround until the schema is updated\r\nif (ownedProperties.indexOf('DisplayText') < 0) {\r\n ownedProperties.push('DisplayText');\r\n}\r\n\r\nif (ownedProperties.indexOf('EligibleLayout') < 0) {\r\n ownedProperties.push('EligibleLayout');\r\n}\r\n\r\nif (ownedProperties.indexOf('SourceType') < 0) {\r\n ownedProperties.push('SourceType');\r\n}\r\n\r\nconst extensionFormatter = (data) => {\r\n return _.map(data, (item) => {\r\n return _.pick(item, ownedProperties);\r\n });\r\n};\r\n\r\nexport class Repository {\r\n constructor(options) {\r\n options = _.extend({\r\n afterChangeComitted: _.noop,\r\n extensionDataFormatter: extensionFormatter,\r\n associationsDataFormatter: (data) => {\r\n return extensionFormatter(_.pluck(data, 'AdExtension'));\r\n },\r\n }, options);\r\n\r\n this.extension = new ImageAdExtensionsRepository(options);\r\n this.association = new AssociationsRepository(options);\r\n }\r\n}\r\n","/* eslint-disable operator-linebreak */\r\nimport _ from 'underscore';\r\nimport imageRepository from '@bingads-webui-campaign-legacy/adextension-shared/service/image-repository';\r\n\r\nimport { constants, ImageExperienceImage } from '@bingads-webui-campaign-react/image-experience';\r\n\r\nconst imageUrlPidString = 'pid=21.2';\r\nconst imageUrlAdsNativePidString = 'pid=AdsNative';\r\n\r\nconst searchAspectRatios = [\r\n 'Image178x100',\r\n 'Image133x100',\r\n];\r\n\r\nconst stripOffCropParamsFromImageUrl = (url) => {\r\n let newUrl;\r\n\r\n if (url.includes(imageUrlAdsNativePidString)) {\r\n newUrl = new URL(url.split(imageUrlAdsNativePidString)[0]);\r\n newUrl.searchParams.append('pid', 'AdsNative');\r\n } else {\r\n newUrl = new URL(url.split(imageUrlPidString)[0]);\r\n newUrl.searchParams.append('pid', 21.2);\r\n }\r\n\r\n return newUrl.toString();\r\n};\r\n\r\nclass DataModelConverter {\r\n getImagesFromMTImages(mtImages) {\r\n return mtImages.map((mtImage) => {\r\n return {\r\n AssetType: mtImage.Asset.SubType,\r\n Id: mtImage.Asset.Id,\r\n Url: mtImage.Asset.ImageUrl,\r\n ThumbnailUrl: `${mtImage.Asset.ImageUrl}&w=100`,\r\n };\r\n });\r\n }\r\n\r\n getImagesFromImageList(imageList, isImageFittingEnabled = false) {\r\n const oDataObjs = _.map(imageList, (imageObj) => {\r\n let croppingType = imageObj.cropSettings.CroppingType;\r\n\r\n // For audience flow, set CroppingType to undefined to let supply side to handle it\r\n if (isImageFittingEnabled && !_.contains(searchAspectRatios, imageObj.type)\r\n && imageObj.cropSettings.CroppingType !== constants.CroppingType.ManualCrop\r\n && imageObj.cropSettings.CroppingType !== constants.CroppingType.CenterCrop) {\r\n croppingType = undefined;\r\n }\r\n\r\n return {\r\n Id: '',\r\n Asset: {\r\n '@odata.type': '#Model.ImageAsset',\r\n Id: imageObj.id,\r\n IdString: imageObj.IdString,\r\n SubType: constants.aspectRatios[imageObj.type].associationType,\r\n CropX: imageObj.cropSettings.SourceX,\r\n CropY: imageObj.cropSettings.SourceY,\r\n CropHeight: imageObj.cropSettings.SourceHeight,\r\n CropWidth: imageObj.cropSettings.SourceWidth,\r\n CroppingType: croppingType || undefined,\r\n },\r\n };\r\n });\r\n\r\n return oDataObjs;\r\n }\r\n\r\n convetMtImageToImageExperienceModel(mtImage) {\r\n const imageExperienceModelSettings = {\r\n id: mtImage.Asset.Id,\r\n idString: mtImage.Asset.IdString,\r\n width: mtImage.Asset.Width,\r\n height: mtImage.Asset.Height,\r\n };\r\n\r\n // Legacy unsupported 12x10 image association.\r\n if (mtImage.Asset.Type === 'Image12x10') {\r\n // update to a wider image\r\n const sourceY = Math.floor((mtImage.Asset.Height - (100 * mtImage.Asset.Width / 133)) / 2);\r\n\r\n _.extend(\r\n imageExperienceModelSettings,\r\n {\r\n type: 'Image133x100',\r\n src: stripOffCropParamsFromImageUrl(mtImage.Asset.Url),\r\n cropSettings: {\r\n SourceX: 0,\r\n SourceY: sourceY,\r\n SourceHeight: mtImage.Asset.Height,\r\n SourceWidth: mtImage.Asset.Width,\r\n },\r\n associationType: mtImage.Asset.SubType,\r\n },\r\n );\r\n } else {\r\n _.extend(\r\n imageExperienceModelSettings,\r\n {\r\n type: constants.subTypeToType[mtImage.Asset.SubType],\r\n src: stripOffCropParamsFromImageUrl(mtImage.Asset.ImageUrl),\r\n cropSettings: {\r\n SourceX: mtImage.Asset.CropX,\r\n SourceY: mtImage.Asset.CropY,\r\n SourceHeight: mtImage.Asset.CropHeight,\r\n SourceWidth: mtImage.Asset.CropWidth,\r\n CroppingType: mtImage.Asset.CroppingType || undefined,\r\n },\r\n associationType: mtImage.Asset.SubType,\r\n },\r\n );\r\n }\r\n\r\n return imageExperienceModelSettings;\r\n }\r\n\r\n getImageListFromMTImagesAsync(mtImageArr, isImageFittingEnabled = false) {\r\n const imageIdsToFetch = _.unique(_.map(mtImageArr, (mtImageObj) => {\r\n return mtImageObj.Asset.IdString;\r\n }));\r\n\r\n return imageRepository.getImagesByIdsAsync(imageIdsToFetch, isImageFittingEnabled).then((returnedImages) => {\r\n const imageIdToMetaDataMap = _.reduce(returnedImages, (memo, returnedImage) => {\r\n const newData = {};\r\n\r\n newData[returnedImage.Id] = returnedImage;\r\n return _.defaults(newData, memo);\r\n }, {});\r\n\r\n return _.map(mtImageArr, (mtImage) => {\r\n const mtImageModel = imageIdToMetaDataMap[mtImage.Asset.Id];\r\n const hasBeenBulkCropped = mtImageModel.OriginalUrl &&\r\n mtImageModel.OriginalUrl !== mtImageModel.Url;\r\n\r\n const imageExperienceModelSettings = this.convetMtImageToImageExperienceModel(mtImage);\r\n\r\n imageExperienceModelSettings.width = imageExperienceModelSettings.width ? imageExperienceModelSettings.width : mtImageModel.Width;\r\n imageExperienceModelSettings.height = imageExperienceModelSettings.height ? imageExperienceModelSettings.height : mtImageModel.Height;\r\n\r\n if (hasBeenBulkCropped) {\r\n imageExperienceModelSettings.src = mtImageModel.OriginalUrl;\r\n imageExperienceModelSettings.height = mtImageModel.OriginalHeight;\r\n imageExperienceModelSettings.width = mtImageModel.OriginalWidth;\r\n }\r\n\r\n const imageObj = new ImageExperienceImage(imageExperienceModelSettings);\r\n\r\n if (isImageFittingEnabled) {\r\n imageObj.setROIInfo(mtImageModel.ROIInfo, false, true);\r\n }\r\n\r\n return imageObj;\r\n });\r\n });\r\n }\r\n\r\n getImageListFromImages(mtImagesArr) {\r\n return _.map(mtImagesArr, (mtImage) => {\r\n return new ImageExperienceImage({\r\n id: mtImage.Asset.Id,\r\n src: stripOffCropParamsFromImageUrl(mtImage.Asset.ImageUrl),\r\n type: constants.subTypeToType[mtImage.Asset.SubType],\r\n cropSettings: {\r\n SourceX: mtImage.Asset.CropX,\r\n SourceY: mtImage.Asset.CropY,\r\n SourceHeight: mtImage.Asset.CropHeight,\r\n SourceWidth: mtImage.Asset.CropWidth,\r\n },\r\n associationType: mtImage.Asset.SubType,\r\n });\r\n });\r\n }\r\n\r\n fetchImageMetaDataAsync(imageList) {\r\n const imageIdsToFetch = _.unique(_.map(imageList, (imageObj) => {\r\n return imageObj.IdString;\r\n }));\r\n\r\n return imageRepository.getImagesByIdsAsync(imageIdsToFetch).then((returnedImages) => {\r\n const imageIdToMetaDataMap = _.reduce(returnedImages, (memo, returnedImage) => {\r\n const newData = {};\r\n\r\n newData[returnedImage.Id] = returnedImage;\r\n return _.defaults(newData, memo);\r\n }, {});\r\n\r\n _.each(imageList, (imageObj) => {\r\n imageObj.Width = imageIdToMetaDataMap[imageObj.Id].Width;\r\n imageObj.Height = imageIdToMetaDataMap[imageObj.Id].Height;\r\n });\r\n });\r\n }\r\n}\r\n\r\nconst dataModelUtil = new DataModelConverter();\r\n\r\nexport default dataModelUtil;\r\n","/* eslint-disable */\r\nimport _ from 'underscore';\r\nimport Backbone from 'backbone';\r\nimport ko from 'knockout';\r\nimport template from '@bingads-webui-campaign-legacy/adextension-shared/template/store-hour.pug';\r\nvar i18n = window.globalLegacyI18n.get('component/i18n/loader!campaignui/feature/adextension/shared');\r\nvar View = Backbone.View.extend({\r\n initialize: function (options) {\r\n this.options = _.extend({}, options);\r\n this.viewModel = {\r\n isExpanded: ko.observable(options.model.length > 0)\r\n };\r\n },\r\n render: function () {\r\n var self = this;\r\n self.$el.html(template({\r\n i18n: i18n,\r\n labelClass: self.options.labelClass || 'col-sm-4',\r\n model: self.options.model\r\n }));\r\n ko.applyBindings(this.viewModel, self.el);\r\n self.$('#scheduling').on('show.bs.collapse', function () {\r\n self.$('.expanderImage').toggleClass('expanderImage expandedImage');\r\n });\r\n self.$('#scheduling').on('hide.bs.collapse', function () {\r\n self.$('.expandedImage').toggleClass('expanderImage expandedImage');\r\n });\r\n return self;\r\n },\r\n events: {\r\n 'show.bs.collapse': 'show',\r\n 'hide.bs.collapse': 'hide'\r\n },\r\n show: function () {\r\n this.viewModel.isExpanded(true);\r\n },\r\n hide: function () {\r\n this.viewModel.isExpanded(false);\r\n }\r\n});\r\nexport default View;\r\n\r\n","import _ from 'underscore';\r\nimport AdExtensionEditor from '@bingads-webui-campaign-legacy/adextension-shared/view/extension-editor';\r\nimport AddressView from '@bingads-webui-component-legacy/address/view/index';\r\nimport StoreHourView from '@bingads-webui-campaign-legacy/adextension-shared/view/store-hour';\r\nimport config from '@bingads-webui-component-legacy/config/index';\r\n\r\nconst schema = window.globalLegacySchema.get('LocationAdExtension');\r\nconst i18n = window.globalLegacyI18n.get('component/i18n/loader!campaignui/feature/adextensions');\r\n\r\nexport default class LocationAdExtensionEditor extends AdExtensionEditor {\r\n initialize({\r\n extension = {},\r\n data,\r\n } = {}) {\r\n this.addressView = new AddressView({\r\n model: extension ? extension.Address : null,\r\n market: config.get('market') || 'US',\r\n culture: config.get('culture') && 'en-US',\r\n });\r\n\r\n this.storeHourView = null;\r\n\r\n if (extension) {\r\n const storeHourAttributes = ['SundayHours', 'MondayHours', 'TuesdayHours', 'WednesdayHours', 'ThursdayHours', 'FridayHours', 'SaturdayHours', 'SpecialHours'];\r\n const storeHourModel = [];\r\n\r\n for (let i = 0; i < storeHourAttributes.length; i++) {\r\n if (extension[storeHourAttributes[i]]) {\r\n storeHourModel.push({\r\n key: i18n.getString(`AdExtensions_LocationExtensions_${storeHourAttributes[i]}`),\r\n value: extension[storeHourAttributes[i]].replace(/,\\s/g, '\\n').replace(/:\\sx/g, ''),\r\n });\r\n }\r\n }\r\n\r\n this.storeHourView = new StoreHourView({\r\n model: storeHourModel,\r\n });\r\n }\r\n\r\n this.addressView.ko_model.errors.subscribe((errors) => {\r\n this.setErrors({\r\n $overall: errors,\r\n });\r\n });\r\n\r\n super.initialize({\r\n extension,\r\n schema,\r\n data,\r\n fields: [{\r\n property: 'CompanyName',\r\n placeholder: i18n.get('AdExtensions_Location_Placeholder_Name'),\r\n showHint: true,\r\n }, {\r\n property: 'PhoneNumber',\r\n placeholder: i18n.get('AdExtensions_Location_Placeholder_PhoneNumber'),\r\n showHint: true,\r\n }],\r\n });\r\n }\r\n\r\n render() {\r\n super.render();\r\n\r\n this.addressView.render();\r\n this.$('.extension-editor__extra').append(this.addressView.$el);\r\n\r\n if (this.storeHourView) {\r\n this.storeHourView.render();\r\n this.storeHourView.$el.insertBefore(this.$('.alert-info'));\r\n }\r\n\r\n\r\n return this;\r\n }\r\n\r\n remove() {\r\n this.addressView.remove();\r\n super.remove();\r\n }\r\n\r\n validate() {\r\n return _.every([this.addressView.validate(), super.validate()]);\r\n }\r\n\r\n currentModel() {\r\n const baseModel = super.currentModel();\r\n\r\n baseModel.Address = this.addressView.toObject();\r\n\r\n return baseModel;\r\n }\r\n}\r\n","/* eslint-disable */\r\nimport _ from 'underscore';\r\nimport Backbone from 'backbone';\r\nimport Promise from 'bluebird';\r\nimport * as _SharedRepository from '@bingads-webui-campaign-legacy/adextension-shared/service/repository';\r\nimport * as _EditorView from '@bingads-webui-campaign-legacy/adextension-location/view/extension-editor';\r\nimport previewTemplate from '@bingads-webui-campaign-legacy/adextension-location/template/preview.pug';\r\nimport AssociationsEditorBase from '@bingads-webui-campaign-legacy/adextension-associations-editor/view/index';\r\nimport dialogDecorator from '@bingads-webui-component-legacy/dialog/dialogDecorator';\r\nimport addressSchema from '@bingads-webui-component-legacy/address/addressSchema';\r\nimport addressService from '@bingads-webui-component-legacy/address/service/addressService';\r\nimport config from '@bingads-webui-component-legacy/config/index';\r\nimport rowTemplate from '@bingads-webui-campaign-legacy/adextension-location/template/gridRowTemplate.pug';\r\nimport * as _panelDecorator from '@bingads-webui-campaign-react/panel-decorator';\r\nvar s$LocationAdExtension = window.globalLegacySchema.get('LocationAdExtension');\r\nvar $i18n = window.globalLegacyI18n.get('component/i18n/loader!campaignui/feature/adextensions');\r\nvar SharedRepository = _SharedRepository.default;\r\nvar EditorView = _EditorView.default;\r\nvar panelDecorator = _panelDecorator.panelDecorator;\r\nvar dialogOptions = {\r\n position: 'center',\r\n maxWidth: 1000\r\n};\r\nvar culture = config.get('culture');\r\nfunction dataProcess(data) {\r\n return Promise.map(data, function (item) {\r\n return addressService.load(culture, item.Address.CountryCode).then(function (res) {\r\n item.Address.CountryName = _.propertyOf(_.find(res.Countries, {\r\n Key: item.Address.CountryCode\r\n }))('Value');\r\n if (!_.isEmpty(item.Address.ProvinceCode)) {\r\n item.Address.ProvinceName = item.Address.ProvinceCode;\r\n }\r\n if (!_.isEmpty(item.Address.ProvinceName)) {\r\n item.Address.ProvinceCode = _.isEmpty(res.AdminDistricts) ? item.Address.ProvinceName : _.propertyOf(_.find(res.AdminDistricts, {\r\n Key: item.Address.ProvinceName\r\n }))('Value');\r\n }\r\n return _.pick(item, 'Address', 'CompanyName', 'PhoneNumber', 'Id', 'Scheduling', 'SundayHours', 'MondayHours', 'TuesdayHours', 'WednesdayHours', 'ThursdayHours', 'FridayHours', 'SaturdayHours', 'SpecialHours');\r\n });\r\n });\r\n}\r\nvar i18nKeys = {\r\n title: 'AdExtensions_Location_Editor_Title',\r\n subtitle: 'NewCampaign_AddLocationAdExtension_Subtitle',\r\n library_title: 'AdExtensions_Location_Editor_Available',\r\n selected_title: 'AdExtensions_Location_Editor_Selected',\r\n create_link: 'AdExtensions_Location_Editor_CreateNew',\r\n create_title: 'AdExtensions_Location_Dialog_Title_Add',\r\n delete_btn: 'AdExtensions_Location_Editor_Delete',\r\n delete_confirm: 'AdExtensions_Location_Delete_Warning',\r\n edit_btn: 'AdExtensions_Location_Editor_Edit',\r\n edit_title: 'AdExtensions_Location_Dialog_Title_Edit'\r\n};\r\nvar view = AssociationsEditorBase.extend({\r\n initialize: function (options) {\r\n var Editor = options && options.usePanel ? panelDecorator(EditorView, {\r\n i18n: $i18n,\r\n panelReadyAriaLabel: $i18n.getString('Association editor side panel opened'),\r\n panelClassName: options.panelClassName\r\n }) : dialogDecorator.decorate(EditorView, dialogOptions);\r\n _.extend(options || ({}), {\r\n data: new SharedRepository({\r\n schema: s$LocationAdExtension,\r\n extensionDataFormatter: dataProcess,\r\n associationsDataFormatter: function (data) {\r\n return dataProcess(_.pluck(data, 'AdExtension'));\r\n },\r\n afterChangeComitted: function () {\r\n if (_.isFunction(options.updateContext)) {\r\n options.updateContext(['AccountAdExtensionsGrid', 'CampaignAdExtensionsGrid', 'AdGroupAdExtensionsGrid']);\r\n }\r\n }\r\n }),\r\n template: {\r\n preview: previewTemplate,\r\n rowTemplate: rowTemplate\r\n },\r\n extensionType: 'LocationExtension',\r\n CreateForm: Editor,\r\n EditForm: Editor,\r\n i18nKeys: _.extend({}, i18nKeys, options.i18nKeys || ({})),\r\n processItem: function (item) {\r\n item.display = addressSchema.display(item.Address);\r\n return item;\r\n }\r\n });\r\n AssociationsEditorBase.prototype.initialize.call(this, options);\r\n }\r\n});\r\nexport default view;\r\n\r\n","import { cloneDeep } from '@bingads-webui-universal/primitive-utilities';\r\nimport config from '@bingads-webui-component-legacy/config/index';\r\nimport { globalizationModelSetup } from '@bingads-webui-campaign/ads-globalization';\r\n\r\nconst originalPriceSchema = window.globalLegacySchema.get('PriceAdExtension');\r\nconst originalTableRowSchema = window.globalLegacySchema.get('PriceTableRow');\r\n\r\nconst currencyMap = {\r\n ALL: 'L',\r\n AED: 'د.إ.',\r\n ARS: '$',\r\n AUD: '$',\r\n BAM: 'KM',\r\n BRL: 'R$',\r\n CAD: '$',\r\n CHF: 'Fr.',\r\n CLP: 'CL$',\r\n CNY: '¥',\r\n COP: '$',\r\n DKK: 'kr.',\r\n EUR: '€',\r\n GBP: '£',\r\n HKD: '$',\r\n IDR: 'Rp',\r\n ILS: '₪',\r\n INR: '₹',\r\n ISK: 'kr',\r\n JPY: '¥',\r\n MKD: 'den',\r\n MXN: '$',\r\n MYR: 'RM',\r\n NGN: '₦',\r\n NOK: 'kr',\r\n NZD: '$',\r\n PEN: 'S/.',\r\n PHP: '₱',\r\n PLN: 'zł',\r\n RSD: 'din.',\r\n SAR: 'ر.س.',\r\n SEK: 'kr',\r\n SGD: '$',\r\n THB: '฿',\r\n TRY: '₺',\r\n USD: '$',\r\n VEF: 'Bs.',\r\n VND: '₫',\r\n ZAR: 'R',\r\n};\r\n\r\nexport function convertCurrencyCode(currencyCode) {\r\n return currencyMap[currencyCode] || currencyCode;\r\n}\r\n\r\nexport const getSchemas = () => {\r\n const priceSchema = cloneDeep(originalPriceSchema);\r\n const tableRowSchema = cloneDeep(originalTableRowSchema);\r\n\r\n const { LANGUAGES, CURRENCIES } = globalizationModelSetup({\r\n permissions: config.get('permissions'),\r\n culture: config.get('culture'),\r\n });\r\n\r\n priceSchema.properties.Language.enum = LANGUAGES;\r\n tableRowSchema.properties.CurrencyCode.enum = CURRENCIES;\r\n\r\n return { priceSchema, tableRowSchema };\r\n};\r\n","import _ from 'underscore';\r\nimport ko from 'knockout';\r\nimport Form from '@bingads-webui-component-legacy/form/view/simple-form';\r\nimport template from '@bingads-webui-campaign-legacy/adextension-price/template/tablerow.pug';\r\nimport { getSchemas } from '@bingads-webui-campaign-legacy/adextension-price/utility';\r\n\r\nconst s$i18n = window.globalLegacyI18n.get('$/schema-i18n!campaign');\r\n\r\nexport default class TableRowView extends Form {\r\n initialize(options = {}) {\r\n const { tableRowSchema: schema } = getSchemas();\r\n\r\n const opt = _.defaults(options, {\r\n schema,\r\n fields: [{\r\n property: 'Header',\r\n showHintInline: true,\r\n }, {\r\n property: 'Description',\r\n showHintInline: true,\r\n }, 'PriceQualifier', 'CurrencyCode', 'Price', 'PriceUnit', 'FinalUrls', 'FinalMobileUrls'],\r\n template,\r\n s$i18n,\r\n hasButtons: false,\r\n hasLabels: false,\r\n });\r\n\r\n super.initialize(opt);\r\n\r\n this.viewModel.$aggregatedErrors = ko.computed(() => {\r\n const errors = this.viewModel.Header.errors()\r\n .concat(this.viewModel.Description.errors())\r\n .concat(this.viewModel.PriceQualifier.errors())\r\n .concat(this.viewModel.CurrencyCode.errors())\r\n .concat(this.viewModel.Price.errors())\r\n .concat(this.viewModel.PriceUnit.errors())\r\n .concat(this.viewModel.FinalUrls.errors())\r\n .concat(this.viewModel.FinalMobileUrls.errors())\r\n .concat(this.viewModel.$overall.errors());\r\n\r\n return _.uniq(errors);\r\n });\r\n this.viewModel.$hasAggregatedErrors = ko.computed(() => {\r\n return _.size(this.viewModel.$aggregatedErrors()) > 0;\r\n });\r\n }\r\n}\r\n","import _ from '@bingads-webui-component-legacy/extension/underscore';\r\nimport ko from 'knockout';\r\nimport ObjectListInput from '@bingads-webui-component-legacy/object-list-input/view/index';\r\nimport TableRowView from '@bingads-webui-campaign-legacy/adextension-price/view/tablerow';\r\n// import { convertCurrencyCode } from '@bingads-webui-campaign-legacy/adextension-price/utility';\r\nimport headerTemplate from '@bingads-webui-campaign-legacy/adextension-price/template/tableRowHeaderTemplate.pug';\r\nimport { isValidUrl } from '@bingads-webui/url-util';\r\n\r\nconst s$i18n = window.globalLegacyI18n.get('$/schema-i18n!campaign');\r\nconst i18n = window.globalLegacyI18n.get('component/i18n/loader!campaignui/feature/adextensions');\r\n\r\nfunction convertUrl(url) {\r\n if (_.isEmpty(url) || (/(^(http|https):\\/\\/.*)|^$/).test(url)) {\r\n return url;\r\n }\r\n return `http://${url}`;\r\n}\r\n\r\nexport default class View extends ObjectListInput {\r\n get className() {\r\n return 'price-extension-table-rows';\r\n }\r\n\r\n initialize({observable}) {\r\n let opt = {\r\n minItems: 3,\r\n maxItems: 8,\r\n View: TableRowView,\r\n headerTemplate: headerTemplate({\r\n s$i18n,\r\n }),\r\n values: this.convertObservable(observable),\r\n };\r\n\r\n super.initialize(opt);\r\n\r\n let values = ko.computed(() => {\r\n return _.map(this.koModel.objects(), (obj) => {\r\n const ret = obj.viewModel.toObject();\r\n\r\n ret.FinalUrls = _.isEmpty(ret.FinalUrls) ? [] : [convertUrl(ret.FinalUrls)];\r\n ret.FinalMobileUrls = _.isEmpty(ret.FinalMobileUrls) ? [] : [convertUrl(ret.FinalMobileUrls)];\r\n // ret.CurrencyCode = viewModel.CurrencyCode(); // eslint-disable-line new-cap\r\n\r\n // obj.viewModel.CurrencyCode(convertCurrencyCode(ret.CurrencyCode)); // eslint-disable-line new-cap\r\n\r\n return ret;\r\n });\r\n });\r\n\r\n values.subscribe((newValue) => {\r\n observable(newValue);\r\n });\r\n\r\n // viewModel.CurrencyCode.subscribe((newValue) => {\r\n // _.each(this.koModel.objects(), (obj) => {\r\n // obj.viewModel.CurrencyCode(convertCurrencyCode(newValue)); // eslint-disable-line new-cap\r\n // });\r\n // });\r\n\r\n observable.validate = () => {\r\n const rowList = this.koModel.objects();\r\n const noInvalidRow = _.every(rowList, (row) => row.validate());\r\n\r\n let headerMap = {};\r\n let urlValid = true;\r\n\r\n _.each(rowList, (row, index) => {\r\n const obj = row.viewModel.toObject();\r\n\r\n if (_.isEmpty(obj.Header)) {\r\n return;\r\n }\r\n\r\n if (_.has(headerMap, obj.Header)) {\r\n headerMap[obj.Header].push(index);\r\n } else {\r\n headerMap[obj.Header] = [index];\r\n }\r\n\r\n // check if Header same to Description\r\n if (obj.Header.trim() === obj.Description.trim()) {\r\n row.setErrors({\r\n Header: [i18n.get('PriceAdExtensions_TableRow_Header_Description_Duplicated')],\r\n Description: [i18n.get('PriceAdExtensions_TableRow_Header_Description_Duplicated')],\r\n });\r\n }\r\n\r\n if (!isValidUrl(convertUrl(obj.FinalUrls))) {\r\n row.setErrors({\r\n FinalUrls: [i18n.get('Error_Campaign_API_InvalidUrl')],\r\n });\r\n urlValid = false;\r\n }\r\n\r\n if (obj.FinalMobileUrls && !isValidUrl(convertUrl(obj.FinalMobileUrls))) {\r\n row.setErrors({\r\n FinalMobileUrls: [i18n.get('Error_Campaign_API_InvalidUrl')],\r\n });\r\n urlValid = false;\r\n }\r\n });\r\n\r\n const dups = _.chain(headerMap).values().filter((arr) => _.size(arr) > 1).value();\r\n\r\n _.each(_.flatten(dups), (val) => {\r\n rowList[val].setErrors({ Header: [i18n.get('PriceAdExtensions_TableRow_Duplicate_Header')] });\r\n });\r\n\r\n return noInvalidRow && _.size(dups) === 0 && urlValid;\r\n };\r\n }\r\n\r\n convertObservable(observable) {\r\n _.each(observable(), (item) => {\r\n delete item.PriceInfo;\r\n });\r\n\r\n let values = _.deepClone(observable());\r\n\r\n // if (_.isEmpty(values)) {\r\n // const currencyCode = viewModel.CurrencyCode(); // eslint-disable-line new-cap\r\n\r\n // values = [{\r\n // CurrencyCode: currencyCode,\r\n // }, {\r\n // CurrencyCode: currencyCode,\r\n // }, {\r\n // CurrencyCode: currencyCode,\r\n // }];\r\n // return values;\r\n // }\r\n\r\n // viewModel.CurrencyCode(values[0].CurrencyCode); // eslint-disable-line new-cap\r\n\r\n _.each(values, (value) => {\r\n value.FinalUrls = _.first(value.FinalUrls);\r\n value.FinalMobileUrls = _.first(value.FinalMobileUrls);\r\n // value.CurrencyCode = convertCurrencyCode(value.CurrencyCode);\r\n });\r\n\r\n return values;\r\n }\r\n\r\n}\r\n","import _ from 'underscore';\r\nimport SharedEditorView from '@bingads-webui-campaign-legacy/adextension-shared/view/extension-editor';\r\nimport TableRowsView from '@bingads-webui-campaign-legacy/adextension-price/view/tablerows-adapter';\r\nimport config from '@bingads-webui-component-legacy/config/index';\r\nimport UrlOptionsV2 from '@bingads-webui-component-legacy/upgraded-url/view/urlOptionsV2';\r\nimport { getSchemas } from '@bingads-webui-campaign-legacy/adextension-price/utility';\r\n\r\nconst i18n = window.globalLegacyI18n.get('component/i18n/loader!campaignui/feature/adextensions');\r\n\r\nconst permissions = config.get('permissions');\r\nconst {\r\n IsFinalURLSuffixPhase4Enabled,\r\n IsCustomParameterCountIncreasePhase3Enabled,\r\n} = permissions;\r\n\r\nexport default class View extends SharedEditorView {\r\n initialize(options) {\r\n const { priceSchema: schema } = getSchemas();\r\n\r\n const fields = ['Language', 'PriceExtensionType', {\r\n property: 'TableRows',\r\n control: TableRowsView,\r\n }, ...IsFinalURLSuffixPhase4Enabled || IsCustomParameterCountIncreasePhase3Enabled ?\r\n [] : [{\r\n type: 'collapse',\r\n text: i18n.get('AdExtension_Price_Advanced_URL'),\r\n fields: ['TrackingUrlTemplate', 'UrlCustomParameters'],\r\n }]];\r\n\r\n if (IsFinalURLSuffixPhase4Enabled || IsCustomParameterCountIncreasePhase3Enabled) {\r\n const {\r\n extension,\r\n placeholderEnabled,\r\n isForVNext,\r\n campaignId,\r\n adgroupId: adGroupId,\r\n } = options;\r\n\r\n this.campaignId = campaignId;\r\n this.adGroupId = adGroupId;\r\n\r\n const trackingTemplate = (extension && extension.TrackingUrlTemplate) || undefined;\r\n const finalUrlSuffix = (extension && extension.FinalUrlSuffix) || undefined;\r\n const customParameters = (extension && extension.UrlCustomParameters) || undefined;\r\n\r\n this.urlOptions = new UrlOptionsV2({\r\n entityType: schema.name,\r\n\r\n trackingTemplate,\r\n finalUrlSuffix,\r\n customParameters,\r\n\r\n placeholderEnabled,\r\n showUurlTestTool: false,\r\n isForVNext,\r\n });\r\n }\r\n\r\n let opt = _.defaults(options, {\r\n schema,\r\n fields,\r\n formatting: {\r\n labelClass: 'col-sm-2',\r\n controlClass: 'col-sm-10',\r\n },\r\n });\r\n\r\n super.initialize(opt);\r\n }\r\n\r\n render(...args) {\r\n super.render(args);\r\n this.$('.extension-editor__container').width(1400);\r\n this.$('.extension-editor__form-container').width(1350);\r\n\r\n if (this.urlOptions) {\r\n this.$('.extension-editor__extra').empty().append(this.urlOptions.render().el);\r\n }\r\n\r\n return this;\r\n }\r\n\r\n remove() {\r\n if (this.urlOptions) {\r\n this.urlOptions.remove();\r\n this.urlOptions = null;\r\n }\r\n\r\n super.remove();\r\n }\r\n\r\n currentModel() {\r\n const model = super.currentModel();\r\n\r\n if (this.urlOptions) {\r\n _.extend(model, this.urlOptions.toObject());\r\n }\r\n\r\n return model;\r\n }\r\n}\r\n","import _ from 'underscore';\r\nimport AssociationsEditorBase from '@bingads-webui-campaign-legacy/adextension-associations-editor/view/index';\r\nimport dialogDecorator from '@bingads-webui-component-legacy/dialog/dialogDecorator';\r\nimport SharedRepository from '@bingads-webui-campaign-legacy/adextension-shared/service/repository';\r\nimport EditorView from '@bingads-webui-campaign-legacy/adextension-price/view/extensionEditor';\r\nimport { convertCurrencyCode } from '@bingads-webui-campaign-legacy/adextension-price/utility';\r\nimport preview from '@bingads-webui-campaign-legacy/adextension-price/template/extensionPreview.pug';\r\nimport { panelDecorator } from '@bingads-webui-campaign-react/panel-decorator';\r\n\r\nconst schema = window.globalLegacySchema.get('PriceAdExtension');\r\nconst i18n = window.globalLegacyI18n.get('component/i18n/loader!campaignui/feature/adextensions');\r\n\r\nconst dialogOptions = {\r\n position: 'center',\r\n maxWidth: 1800,\r\n};\r\n\r\nconst i18nKeys = {\r\n title: 'AdExtensions_Price_Editor_Title',\r\n subtitle: ['NewCampaign_PriceAdExtension_Subtitle'],\r\n /* eslint-disable */\r\n library_title: 'AdExtensions_Price_Editor_Available',\r\n selected_title: 'AdExtensions_Price_Editor_Selected',\r\n create_link: 'AdExtensions_Price_Editor_CreateNew',\r\n create_title: 'AdExtensions_Price_Dialog_Title_Add',\r\n delete_btn: 'AdExtensions_Price_Editor_Delete',\r\n delete_confirm: 'AdExtensions_Price_Delete_Warning',\r\n edit_btn: 'AdExtensions_Price_Editor_Edit',\r\n edit_title: 'AdExtensions_Price_Dialog_Title_Edit',\r\n /* eslint-enable */\r\n inlineAlert: 'AdExtensions_Price_Max_Select_Notification',\r\n};\r\n\r\nconst showItemCount = 3;\r\n\r\nconst View = AssociationsEditorBase.extend({\r\n initialize(options = {}) {\r\n const Editor = options && options.usePanel ? panelDecorator(EditorView, {\r\n i18n,\r\n panelReadyAriaLabel: i18n.getString('Association editor side panel opened'),\r\n panelClassName: options.panelClassName,\r\n }) :\r\n dialogDecorator.decorate(EditorView, dialogOptions);\r\n\r\n _.extend(options, {\r\n idField: 'Id',\r\n data: new SharedRepository({\r\n schema,\r\n afterChangeComitted: () => {\r\n if (_.isFunction(options.updateContext)) {\r\n options.updateContext(['AccountAdExtensionsGrid', 'CampaignAdExtensionsGrid', 'AdGroupAdExtensionsGrid']);\r\n }\r\n },\r\n }),\r\n template: {\r\n preview,\r\n },\r\n maxSelectedItemsCount: 20,\r\n processItem: (item) => {\r\n if (_.size(item.TableRows) > showItemCount) {\r\n item.AdExtensionMoreInfo = i18n.get('PriceAdExtensions_Preview_And_More', { count: _.size(item.TableRows) - showItemCount });\r\n }\r\n _.each(item.TableRows, (row) => {\r\n row.PriceInfo = `${convertCurrencyCode(row.CurrencyCode)}${row.Price}`;\r\n });\r\n item.showItemCount = showItemCount;\r\n return item;\r\n },\r\n CreateForm: Editor,\r\n EditForm: Editor,\r\n i18nKeys: _.extend({}, i18nKeys, options.i18nKeys || {}),\r\n extensionType: 'PriceExtension',\r\n });\r\n\r\n AssociationsEditorBase.prototype.initialize.call(this, options);\r\n },\r\n});\r\n\r\nexport default View;\r\n","import _ from 'underscore';\r\nimport { PromotionAdExtension } from '@bingads-webui-campaign/campaign-ui-schemas';\r\nimport { panelDecorator } from '@bingads-webui-campaign-react/panel-decorator';\r\nimport SchedulingView from '@bingads-webui-campaign-legacy/adextension-shared/view/scheduling';\r\nimport AssociationsEditorBase from '@bingads-webui-campaign-legacy/adextension-associations-editor/view/index';\r\nimport dialogDecorator from '@bingads-webui-component-legacy/dialog/dialogDecorator';\r\nimport _SharedRepository from '@bingads-webui-campaign-legacy/adextension-shared/service/repository';\r\n\r\nconst $i18n = window.globalLegacyI18n.get('component/i18n/loader!campaignui/feature/adextensions');\r\nconst legacyI18n = window.globalLegacyI18n.get('@bingads-webui/i18n-amd-loader!campaignui/feature/adextensions');\r\n// This i18n use {0} for template\r\n// This i18n use {{prop_name}} for template\r\n\r\nconst SharedRepository = _SharedRepository.default || _SharedRepository;\r\n\r\nconst dialogOptions = { position: 'center', maxWidth: 1000 };\r\n\r\n/* eslint-disable camelcase */\r\nconst i18nKeys = {\r\n title: 'AdExtensions_Promotion_Editor_Title',\r\n subtitle: ['NewCampaign_PromotionAdExtension_Subtitle'],\r\n library_title: 'AdExtensions_Promotion_Editor_Available',\r\n selected_title: 'AdExtensions_Promotion_Editor_Selected',\r\n create_link: 'AdExtensions_Promotion_Editor_CreateNew',\r\n create_title: 'AdExtensions_Promotion_Dialog_Title_Add',\r\n delete_btn: 'AdExtensions_Promotion_Editor_Delete',\r\n delete_confirm: 'AdExtensions_Promotion_Delete_Warning',\r\n edit_btn: 'AdExtensions_Promotion_Editor_Edit',\r\n edit_title: 'AdExtensions_Promotion_Dialog_Title_Edit',\r\n inlineAlert: 'AdExtensions_Promotion_Max_Select_Notification',\r\n};\r\n/* eslint-enable camelcase */\r\n\r\nconst defaultRepositoryFactory = function (factoryOptions) {\r\n const { schema, updateContext } = factoryOptions;\r\n\r\n return new SharedRepository({\r\n schema,\r\n afterChangeComitted() {\r\n if (_.isFunction(updateContext)) {\r\n updateContext(['AccountAdExtensionsGrid', 'CampaignAdExtensionsGrid', 'AdGroupAdExtensionsGrid']);\r\n }\r\n },\r\n });\r\n};\r\n\r\nconst PromotionAssociationEditor = AssociationsEditorBase.extend({\r\n initialize(options) {\r\n const EditorView = options.vnextContext.dynamicFeatures.DynamicPromotionExtensionEditor;\r\n const Editor = options && options.usePanel ? panelDecorator(EditorView,\r\n {\r\n i18n: $i18n,\r\n panelReadyAriaLabel: $i18n.getString('Association editor side panel opened'),\r\n panelClassName: options.panelClassName,\r\n }) :\r\n dialogDecorator.decorate(EditorView, dialogOptions);\r\n const repositoryFactory = options.repositoryFactory || defaultRepositoryFactory;\r\n\r\n const itemTemplate = options.vnextContext.dynamicFeatures.universalItemTemplate;\r\n\r\n _.extend(options, {\r\n idField: 'Id',\r\n data: repositoryFactory({\r\n schema: PromotionAdExtension,\r\n updateContext: options.updateContext,\r\n }),\r\n template: {\r\n previewTemplateType: 'function',\r\n preview: itemTemplate,\r\n rowTemplate: itemTemplate,\r\n },\r\n extensionType: 'PromotionExtension',\r\n maxSelectedItemsCount: options.maxSelectedItemsCount || 20,\r\n CreateForm: Editor,\r\n EditForm: Editor,\r\n extraEditorOptions: {\r\n legacyI18n,\r\n deps: {\r\n SchedulingView,\r\n },\r\n },\r\n i18nKeys: _.extend({}, i18nKeys, options.i18nKeys || {}),\r\n });\r\n AssociationsEditorBase.prototype.initialize.apply(this, [options]);\r\n },\r\n});\r\n\r\nexport default PromotionAssociationEditor;\r\n","/* eslint-disable */\r\nimport _ from 'underscore';\r\nimport * as _SharedEditorView from '@bingads-webui-campaign-legacy/adextension-shared/view/extension-editor';\r\nvar schema = window.globalLegacySchema.get('ReviewAdExtension');\r\nvar SharedEditorView = _SharedEditorView.default;\r\nvar EditorView = SharedEditorView.extend({\r\n initialize: function (options) {\r\n options = _.extend(options || ({}), {\r\n schema: schema,\r\n fields: [{\r\n property: 'IsExact',\r\n control: 'inline-radios',\r\n values: [false, true]\r\n }, 'Text', 'Source', 'Url']\r\n });\r\n SharedEditorView.prototype.initialize.call(this, options);\r\n }\r\n});\r\nexport default EditorView;\r\n\r\n","/* eslint-disable */\r\nimport $ from 'jquery';\r\nimport backbone from 'backbone';\r\nimport _ from 'underscore';\r\nimport UrlInputView from '@bingads-webui-component-legacy/url-input/view/url-input';\r\nimport AssociationsEditorBase from '@bingads-webui-campaign-legacy/adextension-associations-editor/view/index';\r\nimport dialogDecorator from '@bingads-webui-component-legacy/dialog/dialogDecorator';\r\nimport * as _SharedRepository from '@bingads-webui-campaign-legacy/adextension-shared/service/repository';\r\nimport EditorView from '@bingads-webui-campaign-legacy/adextension-review/view/extensionEditor';\r\nimport previewTemplate from '@bingads-webui-campaign-legacy/adextension-review/template/extensionPreview.pug';\r\nimport rowTemplate from '@bingads-webui-campaign-legacy/adextension-review/template/gridRowTemplate.pug';\r\nimport * as _panelDecorator from '@bingads-webui-campaign-react/panel-decorator';\r\nvar schema = window.globalLegacySchema.get('ReviewAdExtension');\r\nvar $i18n = window.globalLegacyI18n.get('component/i18n/loader!campaignui/feature/adextensions');\r\nvar SharedRepository = _SharedRepository.default;\r\nvar panelDecorator = _panelDecorator.panelDecorator;\r\nvar i18nKeys = {\r\n title: 'AdExtensions_Review_Editor_Title',\r\n subtitle: ['NewCampaign_AddReviewAdExtension_Subtitle'],\r\n library_title: 'AdExtensions_Review_Editor_Available',\r\n selected_title: 'AdExtensions_Review_Editor_Selected',\r\n create_link: 'AdExtensions_Review_Editor_CreateNew',\r\n create_title: 'AdExtensions_Review_Dialog_Title_Add',\r\n delete_btn: 'AdExtensions_Review_Editor_Delete',\r\n delete_confirm: 'AdExtensions_Review_Delete_Warning',\r\n edit_btn: 'AdExtensions_Review_Editor_Edit',\r\n edit_title: 'AdExtensions_Review_Dialog_Title_Edit',\r\n inlineAlert: 'AdExtensions_Review_Max_Select_Notification'\r\n};\r\nvar dialogOptions = {\r\n position: 'center',\r\n maxWidth: 1000\r\n};\r\nvar view = AssociationsEditorBase.extend({\r\n initialize: function (options) {\r\n var Editor = options && options.usePanel ? panelDecorator(EditorView, {\r\n i18n: $i18n,\r\n panelReadyAriaLabel: $i18n.getString('Association editor side panel opened'),\r\n panelClassName: options.panelClassName\r\n }) : dialogDecorator.decorate(EditorView, dialogOptions);\r\n _.extend(options || ({}), {\r\n idField: schema.key,\r\n data: new SharedRepository({\r\n schema: schema,\r\n afterChangeComitted: function () {\r\n if (_.isFunction(options.updateContext)) {\r\n options.updateContext(['AccountAdExtensionsGrid', 'CampaignAdExtensionsGrid', 'AdGroupAdExtensionsGrid']);\r\n }\r\n }\r\n }),\r\n template: {\r\n preview: previewTemplate,\r\n rowTemplate: rowTemplate\r\n },\r\n extensionType: 'ReviewExtension',\r\n maxSelectedItemsCount: 20,\r\n CreateForm: Editor,\r\n EditForm: Editor,\r\n i18nKeys: _.extend({}, i18nKeys, options.i18nKeys || ({}))\r\n });\r\n AssociationsEditorBase.prototype.initialize.call(this, options);\r\n }\r\n});\r\nexport default view;\r\n\r\n","/* eslint-disable */\r\nvar i18n = window.globalLegacyI18n.get('@bingads-webui/i18n-amd-loader!campaignui/feature/adextensions');\r\nvar aspectRatios = {\r\n ratio12x10: {\r\n text: i18n.getString('AdExtensions_Image_12x10'),\r\n ratio: 1.2 / 1,\r\n thumbnailWidth: 120,\r\n thumbnailHeight: 100,\r\n minWidth: 300,\r\n minHeight: 250,\r\n maxSize: [1200, 1000],\r\n assetType: 32\r\n },\r\n ratio4x3: {\r\n text: i18n.getString('AdExtensions_Image_4x3'),\r\n ratio: 4 / 3,\r\n thumbnailWidth: 133,\r\n thumbnailHeight: 100,\r\n minWidth: 100,\r\n minHeight: 75,\r\n maxSize: [1333, 1000],\r\n assetType: 16\r\n },\r\n ratio3x2: {\r\n text: i18n.getString('AdExtensions_Image_3x2'),\r\n ratio: 1.5 / 1,\r\n thumbnailWidth: 150,\r\n thumbnailHeight: 100,\r\n minWidth: 300,\r\n minHeight: 200,\r\n maxSize: [1500, 1000],\r\n assetType: 8\r\n },\r\n ratio16x9: {\r\n text: i18n.getString('AdExtensions_Image_16x9'),\r\n ratio: 16 / 9,\r\n thumbnailWidth: 178,\r\n thumbnailHeight: 100,\r\n minWidth: 640,\r\n minHeight: 360,\r\n maxSize: [1778, 1000],\r\n assetType: 4\r\n }\r\n};\r\nvar aspectRatiosMeta = {\r\n assetTypeMap: {\r\n 4: 'ratio16x9',\r\n 8: 'ratio3x2',\r\n 16: 'ratio4x3',\r\n 32: 'ratio12x10'\r\n },\r\n imageEnumToType: {\r\n 4: 'Image16x9',\r\n 8: 'Image15x10',\r\n 16: 'Image4x3',\r\n 32: 'Image12x10'\r\n },\r\n imageTypeToEnum: {\r\n 'Image16x9': 4,\r\n 'Image15x10': 8,\r\n 'Image4x3': 16,\r\n 'Image12x10': 32\r\n },\r\n thumbnailWidth: function (ratio) {\r\n return aspectRatios[ratio].thumbnailWidth;\r\n },\r\n thumbnailHeight: function (ratio) {\r\n return aspectRatios[ratio].thumbnailHeight;\r\n },\r\n minWidth: function (ratio) {\r\n return aspectRatios[ratio].minWidth;\r\n },\r\n minHeight: function (ratio) {\r\n return aspectRatios[ratio].minHeight;\r\n },\r\n maxSize: function (ratio) {\r\n return aspectRatios[ratio].maxSize;\r\n },\r\n ratio: function (ratio) {\r\n return aspectRatios[ratio].ratio;\r\n },\r\n text: function (ratio) {\r\n return aspectRatios[ratio].text;\r\n },\r\n assetType: function (ratio) {\r\n return aspectRatios[ratio].assetType;\r\n }\r\n};\r\nexport default aspectRatiosMeta;\r\n\r\n","import _ from 'underscore';\r\nimport odata from '@bingads-webui-component-legacy/http/channel/odata';\r\nimport state from '@bingads-webui-component-legacy/state/index';\r\nimport { getODataErrors } from '@bingads-webui-component-legacy/api-errors-campaign/index';\r\nimport imageAspectRatios from '@bingads-webui-campaign-legacy/adextension-shared/imageAspectRatios';\r\n\r\nclass ImageRepository {\r\n constructor() {\r\n const aid = state.get('account_id');\r\n const cid = state.get('customer_id');\r\n\r\n this.baseURL = `/Customers(${cid})/Accounts(${aid})/`;\r\n }\r\n\r\n getImagesAsync({\r\n pageNumber = 0,\r\n pageSize = 1000,\r\n } = {}) {\r\n const top = pageSize;\r\n const skip = pageNumber * pageSize;\r\n const sortQuery = '$orderby=UploadedTime desc';\r\n const url = `${this.baseURL}Images?mediaenabledentityfilter=ImageAdExtension&${sortQuery}&$top=${top}&$skip=${skip}&$count=true`;\r\n\r\n return odata.get(url);\r\n }\r\n\r\n deleteImageAsync(imageId) {\r\n const url = `${this.baseURL}Images(${imageId})`;\r\n\r\n return odata.delete(url);\r\n }\r\n\r\n /**\r\n * Gets image specified by the id.\r\n * @param {number} imageId Id of the image to be requested.\r\n * @return {Promise} Response from the oData call.\r\n */\r\n getImageByIdAsync(imageId) {\r\n const url = `${this.baseURL}Images(${imageId})`;\r\n\r\n return odata.get(url);\r\n }\r\n\r\n getImagesByIdsAsync(imageIds, isImageFittingEnabled = false) {\r\n const reqs = _.map(imageIds, (imageId) => {\r\n return {\r\n type: 'GET',\r\n url: `${this.baseURL}Images(${imageId})${isImageFittingEnabled ? '?AdType=ImageAdExtension' : ''}`,\r\n };\r\n });\r\n\r\n return odata.batch({ path: '', reqs, needContentType: true }).then((response) => {\r\n return response.map((item) => item.data);\r\n });\r\n }\r\n\r\n uploadImagesAsync(images, activityLogger = null) {\r\n const processedImages = _.map(images, (image) => {\r\n const base64 = 'base64,';\r\n const base64Index = image.ImageData.indexOf(base64);\r\n const data = base64Index > -1 ?\r\n image.ImageData.substr(base64Index + base64.length) :\r\n image.ImageData;\r\n\r\n return {\r\n Data: data,\r\n Type: imageAspectRatios.imageEnumToType[Number.parseInt(image.AssetType, 10)],\r\n };\r\n });\r\n\r\n const url = `${this.baseURL}Images`;\r\n\r\n if (processedImages.length > 1) {\r\n const reqs = _.map(processedImages, (image) => {\r\n return {\r\n type: 'POST',\r\n url,\r\n data: image,\r\n };\r\n });\r\n\r\n return odata.batch({ path: '', reqs }).then((response) => this.processUploadedImagesBatch(response, activityLogger));\r\n }\r\n\r\n return odata.post(url, { data: processedImages[0] }).then(\r\n (image) => [{ imageId: image.value, errors: [] }],\r\n (error) => this.processUploadSingleImageRejection(error, activityLogger),\r\n );\r\n }\r\n\r\n /**\r\n * Process the different responses received for the batch call.\r\n * @param {object} response Responses for the oData call.\r\n * @param {object} activityLogger - object to log the activity\r\n *\r\n * @return {array} Array of objects containing the imageId and/or array of error\r\n * messages. If the imageId is provided, the object will contain an empty error\r\n * array too, but if there were errors, no imageId will be provided on the object.\r\n */\r\n processUploadedImagesBatch(response, activityLogger) {\r\n const cleanResponse = [];\r\n\r\n if (response.length > 0) {\r\n _.each(response, (r) => {\r\n const rClean = { errors: [], imageId: null };\r\n\r\n if (r.status === 200) {\r\n rClean.imageId = r.data.value;\r\n } else if (r.status === 400) {\r\n const errMsg = getODataErrors(r.data.value);\r\n\r\n _.each(errMsg, (err) => {\r\n rClean.errors.push(err.message);\r\n });\r\n\r\n if (activityLogger) {\r\n activityLogger.error(JSON.stringify(errMsg));\r\n }\r\n }\r\n cleanResponse.push(rClean);\r\n });\r\n }\r\n\r\n return cleanResponse;\r\n }\r\n\r\n uploadImageAsync(imageData, activityLogger = null) {\r\n if (activityLogger) {\r\n // Log upload image data\r\n const dataToLog = JSON.stringify(imageData).substr(0, 100);\r\n\r\n activityLogger.trace(JSON.stringify(dataToLog));\r\n }\r\n\r\n let processedImageData = imageData;\r\n\r\n const base64 = 'base64,';\r\n const base64Index = imageData.indexOf(base64);\r\n\r\n processedImageData = base64Index > -1 ?\r\n imageData.substr(base64Index + base64.length) :\r\n imageData;\r\n\r\n const url = `${this.baseURL}Images`;\r\n\r\n const requestBody = {\r\n Data: processedImageData,\r\n Type: 'GenericImage',\r\n };\r\n\r\n return odata.post(url, { data: requestBody }).then(\r\n (image) => ({ imageId: image.value, errors: [] }),\r\n (error) => this.processUploadSingleImageRejection(error, activityLogger),\r\n );\r\n }\r\n\r\n /**\r\n * Cleans the error response object and sets error messages into an array.\r\n * @param {object} error Object with errors returned by the oData call.\r\n * @param {Object} activityLogger - logger object for activity\r\n *\r\n * @return {array} Array of error messages.\r\n */\r\n processUploadSingleImageRejection(error, activityLogger) {\r\n if (activityLogger) {\r\n activityLogger.error(JSON.stringify(error));\r\n }\r\n\r\n return error.body.value;\r\n }\r\n}\r\n\r\nconst imageRepository = new ImageRepository();\r\n\r\nexport default imageRepository;\r\n","import _ from 'underscore';\r\n\r\nexport default class CampaignAssociationsRequestFactory {\r\n setEntityIds(options, scope) {\r\n options.entitySet = options.entitySet.Campaigns.$withKey(scope.campaignId);\r\n }\r\n\r\n generateDestroyRequest(ids, scope) {\r\n return [{\r\n 'adExtensionAssociations': this.getBatchRequest(ids, scope),\r\n }];\r\n }\r\n\r\n generateUpdateRequest(ids, scopes) {\r\n return [{\r\n 'adExtensionAssociations': _.chain(scopes)\r\n .map((scope) => this.getBatchRequest(ids, scope))\r\n .flatten(true)\r\n .value(),\r\n }];\r\n }\r\n\r\n getBatchRequest(idList, scope) {\r\n return _.map(idList, (id) => ({\r\n Type: 'Campaign',\r\n CampaignId: scope.campaignId,\r\n AdGroupId: scope.adGroupId,\r\n AdExtensionId: id,\r\n }));\r\n }\r\n}\r\n","import _ from 'underscore';\r\n\r\nexport default class AdGroupAssociationsRequestFactory {\r\n setEntityIds(options, scope) {\r\n options.entitySet = options.entitySet.Campaigns.$withKey(scope.campaignId);\r\n options.entitySet = options.entitySet.AdGroups.$withKey(scope.adGroupId);\r\n }\r\n\r\n generateDestroyRequest(ids, scope) {\r\n return [{\r\n 'adExtensionAssociations': this.getBatchRequest(ids, scope),\r\n }];\r\n }\r\n\r\n generateUpdateRequest(ids, scopes) {\r\n return [{\r\n 'adExtensionAssociations': _.chain(scopes)\r\n .map((scope) => this.getBatchRequest(ids, scope))\r\n .flatten(true)\r\n .value(),\r\n }];\r\n }\r\n\r\n getBatchRequest(idList, scope) {\r\n return _.map(idList, (id) => ({\r\n Type: 'AdGroup',\r\n CampaignId: scope.campaignId,\r\n AdGroupId: scope.adGroupId,\r\n AdExtensionId: id,\r\n }));\r\n }\r\n}\r\n","import _ from 'underscore';\r\n\r\nexport default class AccountAssociationsRequestFactory {\r\n setEntityIds() {\r\n // do nothing since request for account association doesn't need campaign/adgroup ids\r\n }\r\n\r\n generateDestroyRequest(ids) {\r\n return [{\r\n 'adExtensionAssociations': this.getBatchRequest(ids),\r\n }];\r\n }\r\n\r\n generateUpdateRequest(ids) {\r\n return [{\r\n 'adExtensionAssociations': this.getBatchRequest(ids),\r\n }];\r\n }\r\n\r\n getBatchRequest(idList) {\r\n return _.map(idList, (id) => ({\r\n Type: 'Account',\r\n AdExtensionId: id,\r\n }));\r\n }\r\n}\r\n","/* eslint no-throw-literal: 0, no-param-reassign: 0 */\r\n// TODO: [zhbliu] [#1402527] remove param 'cast' passing to JSData\r\n\r\nimport _ from '@bingads-webui-component-legacy/extension/underscore';\r\nimport DataStore from '@bingads-webui-component-legacy/js-data-campaign/index';\r\nimport edmCampaign from '@bingads-webui-component-legacy/edm-campaign/index';\r\nimport BaseRepository from '@bingads-webui-campaign-legacy/adextension-shared/service/repos/base';\r\nimport CampaignAssociationsRequestFactory from '@bingads-webui-campaign-legacy/adextension-shared/service/repos/campaignAssociationsRequestFactory';\r\nimport AdGroupAssociationsRequestFactory from '@bingads-webui-campaign-legacy/adextension-shared/service/repos/adgroupAssociationsRequestFactory';\r\nimport AccountAssociationsRequestFactory from '@bingads-webui-campaign-legacy/adextension-shared/service/repos/accountAssociationsRequestFactory';\r\nimport sharedDataModelUtil from '@bingads-webui-campaign-legacy/adextension-shared/util/sharedDataModelConvert';\r\n\r\nexport default class AssociationsRepository extends BaseRepository {\r\n constructor(options) {\r\n super(options);\r\n this._schema = options.schema;\r\n this.dataFormatter = options.associationsDataFormatter;\r\n this.afterChangeComitted = options.afterChangeComitted;\r\n this.requestFactory = new CampaignAssociationsRequestFactory();\r\n }\r\n\r\n createRequestFactory(entityType) {\r\n if (entityType === 'adgroup') {\r\n this.requestFactory = new AdGroupAssociationsRequestFactory();\r\n } else if (entityType === 'campaign') {\r\n this.requestFactory = new CampaignAssociationsRequestFactory();\r\n } else {\r\n this.requestFactory = new AccountAssociationsRequestFactory();\r\n }\r\n }\r\n\r\n processBatchResponse(associationArray, statusArr) {\r\n const extractIndexRegex = /^adExtensionAssociations\\[(\\d+)]/;\r\n let errors = _.chain(statusArr)\r\n .reject((item) => {\r\n return item.status === 200 || item.status === 204;\r\n })\r\n .pluck('data')\r\n .pluck('value')\r\n .flatten()\r\n .value();\r\n\r\n /* The associationsMap maps each error's property to the\r\n * ad extension, campaign and adgroup that the error is for.\r\n * This can be used to show the error together with the association\r\n * that threw it.\r\n */\r\n let associationsMap = {},\r\n associations = {};\r\n\r\n _.each(errors, (error) => {\r\n if (error.Property && _.isString(error.Property)) {\r\n let index = _.last(error.Property.match(extractIndexRegex));\r\n\r\n if (index && Number(index) < associationArray.length) {\r\n associationsMap[error.Property] = associationArray[Number(index)];\r\n }\r\n }\r\n });\r\n\r\n associations.value = associationsMap;\r\n associations.failCount = _.uniq(_.values(associationsMap)).length;\r\n associations.successCount = associationArray.length - associations.failCount;\r\n\r\n if (!_.isEmpty(errors)) {\r\n throw {\r\n errors,\r\n type: 'odata',\r\n associations,\r\n };\r\n }\r\n }\r\n\r\n fetchLegacyImagesAsNeeded(data) {\r\n const imageAdExtensions = _.map(data, (item) => item.AdExtension);\r\n\r\n return sharedDataModelUtil.migrateLegacyDataAsync(imageAdExtensions).then(() => {\r\n return data;\r\n });\r\n }\r\n\r\n scopeParams(params) {\r\n return {\r\n campaignId: _.get(params, 'where.campaignId'),\r\n adGroupId: _.get(params, 'where.adGroupId'),\r\n };\r\n }\r\n\r\n findAll(params) {\r\n let scope = this.scopeParams(params),\r\n options = {\r\n entitySet: edmCampaign.currentAccount,\r\n cacheResponse: false,\r\n };\r\n\r\n this.requestFactory.setEntityIds(options, scope);\r\n\r\n options.entitySet = options.entitySet.AdExtensionAssociations;\r\n options.headers = _.extend(options.headers || {},\r\n { 'x-ms-refreshcampaigncache': 'true' });\r\n _.extend(options, { bypassCache: true });\r\n\r\n params = this.adaptParams(params);\r\n\r\n params.where = {\r\n 'AdExtension.Status': {\r\n '$eq': 'Enum.AdExtensionStatus\\'Active\\'',\r\n },\r\n };\r\n\r\n // TODO: [zhbliu] [#1381268] talk to MT guys to remove unnessasary startdate and enddate in query\r\n //the magic date is for bidata, but useless for this request\r\n let magicDate = '9/30/2015';\r\n\r\n params.query = _.defaults({\r\n adextensiontype: this._schema.name,\r\n startdate: magicDate,\r\n enddate: magicDate,\r\n }, params.query);\r\n\r\n if (params.associationType) {\r\n params.query.adextassociationtype = params.associationType;\r\n }\r\n\r\n const extraImgExpand = this._schema.name === 'ImageAdExtension' ? '($expand=Model.ImageAdExtension/Images)' : '';\r\n\r\n params.expand = [`AdExtension${extraImgExpand}`];\r\n params.limit = 25; // Refer to MaxSelectedImagesPerAdGroupOrCampaignForV2\r\n\r\n return DataStore.AdExtensionAssociation\r\n .findAll(params, options)\r\n .then((data) => {\r\n if (this._schema.name === 'ImageAdExtension') {\r\n return this.fetchLegacyImagesAsNeeded(data);\r\n }\r\n\r\n return data;\r\n })\r\n .then(this.dataFormatter);\r\n }\r\n\r\n destroyAll(params) {\r\n let scope = this.scopeParams(params),\r\n toRemove = _.get(params, 'where.id.in'),\r\n requests = this.requestFactory.generateDestroyRequest(toRemove, scope);\r\n\r\n return DataStore.AdExtensionAssociation\r\n .destroyAll({\r\n reqs: requests,\r\n }, {\r\n cast: 'Default.Disassociate',\r\n action: 'Post',\r\n cacheResponse: false,\r\n batchURL: this.batchURL,\r\n })\r\n .tap(this.afterChangeComitted)\r\n .tap(_.partial(this.processBatchResponse, requests[0].adExtensionAssociations));\r\n }\r\n\r\n destroyAllByOdata(params) {\r\n let adExtensionAssociations = [];\r\n\r\n _.each(params, (param) => {\r\n const scope = this.scopeParams(param);\r\n const toRemove = _.get(param, 'where.id.in');\r\n const request = this.requestFactory.generateDestroyRequest(toRemove, scope);\r\n\r\n adExtensionAssociations = adExtensionAssociations.concat(request[0].adExtensionAssociations);\r\n });\r\n\r\n\r\n return DataStore.AdExtensionAssociation\r\n .create({\r\n adExtensionAssociations,\r\n }, {\r\n cast: 'Default.Disassociate',\r\n action: 'Post',\r\n cacheResponse: false,\r\n })\r\n .tap(this.afterChangeComitted);\r\n }\r\n\r\n updateAll(attrs, params, scopes = [this.scopeParams(params)]) {\r\n return this._updateAll(attrs, params, scopes);\r\n }\r\n\r\n _updateAll(attrs, params, _scopes) {\r\n let scopes = _.map(_scopes, (scope) => _.pick(scope, 'campaignId', 'adGroupId')),\r\n toAdd = _.get(params, 'where.id.in'),\r\n requests = this.requestFactory.generateUpdateRequest(toAdd, scopes);\r\n\r\n return DataStore.AdExtensionAssociation\r\n .updateAll(attrs, {\r\n reqs: requests,\r\n }, {\r\n cast: 'Default.Associate',\r\n action: 'Post',\r\n cacheResponse: false,\r\n batchURL: this.batchURL,\r\n })\r\n .tap(this.afterChangeComitted)\r\n .tap(_.partial(this.processBatchResponse, requests[0].adExtensionAssociations));\r\n }\r\n}\r\n","/* eslint no-param-reassign: 0 */\r\n\r\nimport _ from 'underscore';\r\n\r\nexport default class BaseRepository {\r\n renameProperty(params, oldName, newName) {\r\n if (oldName === newName || !_.has(params, oldName)) {\r\n return params;\r\n }\r\n\r\n return _.chain(params)\r\n .pairs()\r\n .map((pair) => {\r\n if (pair[0] === oldName) {\r\n pair[0] = newName;\r\n }\r\n return pair;\r\n }).object().value();\r\n }\r\n\r\n adaptParams(params) {\r\n //rename skip to offset\r\n if (params.skip) {\r\n params = this.renameProperty(params, 'skip', 'offset');\r\n }\r\n\r\n if (params.where && params.where.name) {\r\n params.where = this.renameProperty(params.where, 'name', '*');\r\n }\r\n\r\n return params;\r\n }\r\n}\r\n","/* eslint no-param-reassign: 0 */\r\n\r\nimport _ from 'underscore';\r\nimport Promise from 'bluebird';\r\nimport { getODataErrors as legacyGetODataErrors } from '@bingads-webui-component-legacy/api-errors-campaign/index';\r\nimport DataStore from '@bingads-webui-component-legacy/js-data-campaign/index';\r\nimport edmCampaign from '@bingads-webui-component-legacy/edm-campaign/index';\r\nimport BaseRepository from '@bingads-webui-campaign-legacy/adextension-shared/service/repos/base';\r\n\r\nconst i18n = window.globalLegacyI18n.get('component/i18n/loader!campaignui/feature/adextension/shared');\r\nconst s$i18n = window.globalLegacyI18n.get('$/schema-i18n!campaign');\r\n\r\nclass BadResponseError {\r\n constructor(schema) {\r\n this.type = schema.name;\r\n }\r\n\r\n toString() {\r\n return i18n.get('AdExtensionEditor_FailedToSave', {\r\n type: s$i18n.type(this.type),\r\n });\r\n }\r\n}\r\n\r\nconst isCacheValid = {};\r\n\r\nexport default class ExtensionsRepository extends BaseRepository {\r\n constructor(options) {\r\n super(options);\r\n this._schema = options.schema;\r\n this._store = DataStore[this._schema.name];\r\n this.dataFormatter = options.extensionDataFormatter;\r\n this.afterChangeComitted = options.afterChangeComitted;\r\n this.skipExtensionCache = options.skipExtensionCache;\r\n this.getODataErrors = options.getODataErrors || legacyGetODataErrors;\r\n\r\n if (!_.has(isCacheValid, this._schema.name)) {\r\n isCacheValid[this._schema.name] = false;\r\n }\r\n }\r\n\r\n storeOptions() {\r\n return {\r\n entitySet: edmCampaign.currentAccount.AdExtensions,\r\n cacheResponse: false,\r\n };\r\n }\r\n\r\n isNew(entity) {\r\n return _.isEmpty(entity) || _.isUndefined(entity[this._schema.key]);\r\n }\r\n\r\n create(params) {\r\n let isUpdating = !_.isUndefined(params.Id);\r\n let schema = this._schema;\r\n let key = this._schema.key;\r\n\r\n return this._store.create(params, this.storeOptions())\r\n .catch((response) => {\r\n if (response && !_.isEmpty(response.errors)) {\r\n throw this.getODataErrors(response.errors);\r\n }\r\n\r\n throw new BadResponseError(schema);\r\n })\r\n .then((data) => {\r\n isCacheValid[this._schema.name] = false;\r\n\r\n if (isUpdating && data.value === 0) {\r\n return params;\r\n } else if (!isUpdating && _.isNumber(data.value) && data.value > 0) {\r\n let ret = _.clone(params);\r\n\r\n ret[key] = data.value;\r\n\r\n return ret;\r\n }\r\n\r\n throw new BadResponseError(schema);\r\n })\r\n .tap(this.afterChangeComitted);\r\n }\r\n\r\n find(id) {\r\n return this._store.find(Number(id), this.storeOptions());\r\n }\r\n\r\n findAll(params) {\r\n let formatter = this.dataFormatter;\r\n let options = this.storeOptions();\r\n\r\n _.extend(options, { bypassCache: true });\r\n\r\n params = this.adaptParams(params);\r\n\r\n if (!isCacheValid[this._schema.name] || this.skipExtensionCache) {\r\n options.headers = _.extend(options.headers || {},\r\n {'x-ms-refreshcampaigncache': 'true'});\r\n }\r\n\r\n return this._store\r\n .findAll(params, options)\r\n .then((data) => {\r\n isCacheValid[this._schema.name] = true;\r\n // if response is with errors, then throw.\r\n if (data.status >= 400) {\r\n const errorResult = {\r\n errors: [data],\r\n type: 'odata',\r\n };\r\n\r\n throw errorResult;\r\n }\r\n return Promise.props({\r\n items: formatter(data),\r\n total: data.totalCount,\r\n });\r\n });\r\n }\r\n\r\n destroy(id) {\r\n return this._store\r\n .destroy(Number(id), this.storeOptions())\r\n .then((data) => {\r\n isCacheValid[this._schema.name] = false;\r\n return data;\r\n })\r\n .tap(this.afterChangeComitted);\r\n }\r\n\r\n update(params) {\r\n let schema = this._schema;\r\n\r\n return this._store.update(params.Id, params, this.storeOptions())\r\n .then((data) => {\r\n isCacheValid[this._schema.name] = false;\r\n\r\n if (data.value === 0) {\r\n return params;\r\n }\r\n\r\n throw new BadResponseError(schema);\r\n })\r\n .tap(this.afterChangeComitted);\r\n }\r\n}\r\n\r\nExtensionsRepository.prototype.BadResponseError = BadResponseError;\r\n","/* eslint no-param-reassign: 0 */\r\n\r\nimport _ from 'underscore';\r\nimport ExtensionsRepository from '@bingads-webui-campaign-legacy/adextension-shared/service/repos/extensions';\r\nimport AssociationsRepository from '@bingads-webui-campaign-legacy/adextension-shared/service/repos/associations';\r\n\r\nconst baseSchema = window.globalLegacySchema.get('AdExtension');\r\n\r\nconst standardProperties = [baseSchema.key, 'Scheduling'];\r\nconst commonProperties = _.difference(_.keys(baseSchema.properties), standardProperties);\r\n\r\nexport default class Repository {\r\n constructor(options) {\r\n let ownedProperties = _.difference(_.keys(options.schema.properties), commonProperties);\r\n\r\n options = _.extend({\r\n afterChangeComitted: _.noop,\r\n extensionDataFormatter: _.partial(_.map, _, _.partial(_.pick, _, ownedProperties)),\r\n associationsDataFormatter: _.partial(_.pluck, _, 'AdExtension'),\r\n }, options);\r\n\r\n this.extension = new ExtensionsRepository(options);\r\n this.association = new AssociationsRepository(options);\r\n }\r\n}\r\n","import _ from 'underscore';\r\nimport Promise from 'bluebird';\r\nimport imageRepository from '@bingads-webui-campaign-legacy/adextension-shared/service/image-repository';\r\nimport imageAspectRatios from '@bingads-webui-campaign-legacy/adextension-shared/imageAspectRatios';\r\n\r\nclass SharedDataModelConverter {\r\n getImagesFromIdsAsync(imageIds) {\r\n return imageRepository.getImagesByIdsAsync(imageIds).then((returnedImages) => {\r\n const images = _.map(returnedImages, (returnedImage) => {\r\n return {\r\n Asset: returnedImage,\r\n AssetType: imageAspectRatios.imageTypeToEnum[returnedImage.Type],\r\n };\r\n });\r\n\r\n return images;\r\n });\r\n }\r\n\r\n convertToImageAsset(mtImage) {\r\n const sourceY = Math.floor((mtImage.Asset.Height - (100 * mtImage.Asset.Width / 133)) / 2);\r\n const subType = mtImage.Asset.Type === 'Image12x10' ? 'ImageMedia133X100' : mtImage.Asset.SubType;\r\n\r\n return {\r\n Asset: {\r\n '@odata.type': '#Model.ImageAsset',\r\n Id: mtImage.Asset.Id,\r\n IdString: mtImage.Asset.IdString,\r\n SubType: subType,\r\n CropX: 0,\r\n CropY: sourceY,\r\n CropHeight: mtImage.Asset.Height,\r\n CropWidth: mtImage.Asset.Width,\r\n ImageUrl: mtImage.Asset.OriginalUrl,\r\n OriginalWidth: mtImage.Asset.OriginalWidth,\r\n OriginalHeight: mtImage.Asset.OriginalHeight,\r\n Width: mtImage.Asset.Width,\r\n Height: mtImage.Asset.Height,\r\n },\r\n };\r\n }\r\n\r\n migrateLegacyImageAdExtension(extension) {\r\n return this.getImagesFromIdsAsync(extension.ImageIdsStr).then((images) => {\r\n extension.Images = _.map(images, (image) => this.convertToImageAsset(image));\r\n\r\n return extension;\r\n });\r\n }\r\n\r\n migrateLegacyDataAsync(data) {\r\n if (!_.isArray(data)) {\r\n return data;\r\n }\r\n\r\n const taskToProcess = [];\r\n\r\n _.each(data, (item) => {\r\n if (item.Images.length === 0 && item.ImageIdsStr.length > 0) {\r\n taskToProcess.push(this.migrateLegacyImageAdExtension(item));\r\n }\r\n });\r\n\r\n // eslint-disable-next-line no-restricted-globals\r\n return Promise.all(taskToProcess).then(() => data);\r\n }\r\n}\r\n\r\nconst dataModelUtil = new SharedDataModelConverter();\r\n\r\nexport default dataModelUtil;\r\n","/* eslint-disable */\r\nimport ko from 'knockout';\r\nimport _ from 'underscore';\r\nimport ko_schema from '@bingads-webui-component-legacy/ko-schema/index';\r\nimport constants from '@bingads-webui-static-legacy/ad-constants/adConstants';\r\nvar i18n = window.globalLegacyI18n.get('component/i18n/loader!campaignui/campaign-creation-advanced');\r\nvar s$AppInstallAd = window.globalLegacySchema.get('AppInstallAd');\r\nvar appPlatformKeys = {\r\n 'Android': i18n.get('AppInstall_Platform_Android'),\r\n 'iOS': i18n.get('AppInstall_Platform_iOS'),\r\n 'Windows Phone': i18n.get('AppInstall_Platform_WinPhone'),\r\n 'Windows': i18n.get('AppInstall_Platform_Windows')\r\n};\r\nvar ViewModel = function (options) {\r\n var self = this;\r\n this.options = options || ({});\r\n var appPlatformsEnum = s$AppInstallAd.properties.AppPlatform.enum;\r\n if (appPlatformsEnum.indexOf('Windows Phone') > -1) {\r\n appPlatformsEnum.splice(appPlatformsEnum.indexOf('Windows Phone'), 1);\r\n }\r\n if (appPlatformsEnum.indexOf('Windows') > -1) {\r\n appPlatformsEnum.splice(appPlatformsEnum.indexOf('Windows'), 1);\r\n }\r\n this.appPlatforms = _.map(appPlatformsEnum, function (key) {\r\n return {\r\n Name: appPlatformKeys[key],\r\n Value: key\r\n };\r\n });\r\n this.noResultsFound = ko.observable(false);\r\n this.isSearchEnabled = ko.observable(true);\r\n this.appSearchResults = ko.observableArray([]);\r\n this.appPlatform = ko.observable(this.options.appPlatform || '');\r\n this.searchTerm = ko.observable('');\r\n this.appStoreId = ko.observable('');\r\n this.appStoreIdMaxLength = constants.maxAppStoreIdLength;\r\n this.applookupLoggingInformation = '';\r\n this.isSearchEnabled.Editing = ko.computed({\r\n read: function () {\r\n return this.isSearchEnabled().toString();\r\n },\r\n write: function (newValue) {\r\n var result = newValue === 'true';\r\n this.setApplookupLoggingInformation(result);\r\n this.clearAppLookupInfo();\r\n return this.isSearchEnabled(result);\r\n }\r\n }, this);\r\n this.appIdError = ko.computed(function () {\r\n if (self.isSearchEnabled()) {\r\n return;\r\n }\r\n var errorMessage = '';\r\n if (self.appPlatform() === 'iOS' && self.appStoreId()) {\r\n var urlRegex = new RegExp('^\\\\d+$', 'i');\r\n errorMessage = urlRegex.test(self.appStoreId()) ? '' : i18n.get('AppInstall_Validation_Digit_Only');\r\n }\r\n return errorMessage;\r\n });\r\n this.appIdLabel = ko.computed(function () {\r\n if (self.isSearchEnabled()) {\r\n return '';\r\n }\r\n var labelText = i18n.get('AppInstall_App_Id');\r\n if (self.appPlatform() === 'Android') {\r\n labelText = i18n.get('AppInstall_Package_Name');\r\n }\r\n return labelText;\r\n });\r\n this.appPlatform.subscribe(function (newValue) {\r\n self.appSearchResults.removeAll();\r\n });\r\n this.toManualObject = function () {\r\n return {\r\n 'AppPlatform': self.appPlatform(),\r\n 'AppStoreId': self.appStoreId(),\r\n 'ApplookupLoggingInformation': self.applookupLoggingInformation + ' - Manual app store id (' + this.appStoreId() + ')'\r\n };\r\n };\r\n this.clearAppLookupInfo = function () {\r\n this.noResultsFound(false);\r\n this.searchTerm('');\r\n this.appSearchResults.removeAll();\r\n this.appStoreId('');\r\n };\r\n this.setApplookupLoggingInformation = function (isSearched) {\r\n if (isSearched) {\r\n this.applookupLoggingInformation += '-> App Search option selected ';\r\n if (this.searchTerm()) {\r\n this.applookupLoggingInformation += '-> Search Term (' + this.searchTerm() + ') - ' + (this.noResultsFound() ? ' NO RESULTS FOUND ' : ' RESULTS FOUND. ');\r\n }\r\n } else {\r\n this.applookupLoggingInformation += '-> Manual app option selected ';\r\n }\r\n };\r\n};\r\nViewModel.prototype.bindAppData = function (data) {\r\n var isNoResultFound = _.size(data) == 0;\r\n this.noResultsFound(isNoResultFound);\r\n this.setApplookupLoggingInformation(true);\r\n if (isNoResultFound) {\r\n this.appSearchResults.removeAll();\r\n return;\r\n }\r\n var self = this;\r\n _.each(data, function (appData) {\r\n self.appSearchResults.push(appData);\r\n });\r\n};\r\nViewModel.prototype.handleErrors = function (response) {\r\n var self = this;\r\n this.noResultsFound(true);\r\n this.appSearchResults.removeAll();\r\n if (response.errorResponseBody && response.errorResponseBody.value) {\r\n var errs = response.errorResponseBody.value;\r\n _.each(errs, function (err) {\r\n if (_.has(self, err.Property)) {\r\n self[err.Property].errors.push(response.i18nErrors(err, i18n));\r\n }\r\n });\r\n }\r\n};\r\nexport default ViewModel;\r\n\r\n","/* eslint-disable */\r\nimport ko from 'knockout';\r\nimport Backbone from 'backbone';\r\nimport _ from 'underscore';\r\nimport $ from 'jquery';\r\nimport ViewModel from '@bingads-webui-campaign-legacy/adextension-shared/viewmodel/appLookup';\r\nimport template from '@bingads-webui-campaign-legacy/adextension-shared/template/appLookup.pug';\r\nimport jsdata from '@bingads-webui-component-legacy/js-data-campaign/index';\r\nimport withUiBlock from '@bingads-webui-component-legacy/uiblocker/index';\r\nimport 'bootstrap';\r\nvar i18n = window.globalLegacyI18n.get('component/i18n/loader!campaignui/campaign-creation-advanced');\r\nvar View = Backbone.View.extend({\r\n initialize: function (options) {\r\n this.options = options || ({});\r\n this.ko_model = new ViewModel(this.options);\r\n },\r\n events: {\r\n 'click .lookup': 'lookup',\r\n 'click .appselector,.appid-select': 'appSelected'\r\n },\r\n render: function () {\r\n this.$el.html(template({\r\n i18n: i18n\r\n }));\r\n ko.applyBindings(this.ko_model, this.el);\r\n this.$('.applookup-input').bind('keypress', _.bind(this.lookupKeypress, this));\r\n return this;\r\n },\r\n toObject: function () {\r\n return this.ko_model.toObject();\r\n },\r\n open: function () {\r\n $('.applookup-input').focus();\r\n this.ko_model.isSearchEnabled(true);\r\n this.ko_model.noResultsFound(false);\r\n },\r\n lookupKeypress: function (e) {\r\n var keyCode = e.which || e.keyCode;\r\n if (keyCode !== 13) {\r\n return true;\r\n }\r\n this.lookup();\r\n e.preventDefault();\r\n e.stopPropagation();\r\n },\r\n lookup: function () {\r\n if (!this.ko_model.searchTerm()) {\r\n return false;\r\n }\r\n var self = this, params = {\r\n 'where': {\r\n '*': {\r\n 'contains': self.ko_model.searchTerm()\r\n },\r\n 'AppPlatform': self.ko_model.appPlatform()\r\n }\r\n }, scope = {\r\n parent: '',\r\n cacheResponse: false\r\n };\r\n this.ko_model.appSearchResults.removeAll();\r\n return jsdata.App.findAll(params, scope).finally(withUiBlock(this.$el.parent(), undefined, true)).then(function (data) {\r\n self.ko_model.bindAppData(data);\r\n return true;\r\n }).catch(function (error) {\r\n self.ko_model.handleErrors(error);\r\n return false;\r\n });\r\n },\r\n appSelected: function (e) {\r\n var targetSelector = e.target.className;\r\n if (!this.ko_model.isSearchEnabled() && this.ko_model.appStoreId() === '') {\r\n return;\r\n }\r\n if (targetSelector == 'appstoreselector' || this.ko_model.appIdError()) {\r\n return;\r\n }\r\n this.trigger('AppSelected', this.ko_model.isSearchEnabled() ? this.getSelectedAppData(e.currentTarget) : this.ko_model.toManualObject());\r\n this.clearApp();\r\n },\r\n clearApp: function () {\r\n this.ko_model.appSearchResults.removeAll();\r\n this.ko_model.searchTerm('');\r\n },\r\n getSelectedAppData: function (currentTarget) {\r\n var appData = ko.contextFor(currentTarget).$data || ({});\r\n appData.ApplookupLoggingInformation = this.ko_model.applookupLoggingInformation;\r\n return appData;\r\n }\r\n});\r\nexport default View;\r\n\r\n","import _ from 'underscore';\r\nimport config from '@bingads-webui-component-legacy/config/index';\r\nimport Form from '@bingads-webui-component-legacy/form/view/simple-form';\r\nimport template from '@bingads-webui-campaign-legacy/adextension-shared/template/extension-editor.pug';\r\nimport withUiBlock from '@bingads-webui-component-legacy/uiblocker/index';\r\nimport SchedulingView from '@bingads-webui-campaign-legacy/adextension-shared/view/scheduling';\r\n\r\nconst i18n = window.globalLegacyI18n.get('component/i18n/loader!campaignui/feature/adextension/shared');\r\nconst s$i18n = window.globalLegacyI18n.get('$/schema-i18n!campaign');\r\n\r\n/**\r\n * Base class of AdExtension editor.\r\n * @class\r\n */\r\nconst ExtensionEditor = Form.extend({\r\n initialize({\r\n extension,\r\n schema,\r\n customValidators,\r\n fields,\r\n i18nKeys,\r\n data: {\r\n extension: repository,\r\n } = {},\r\n formatting = {\r\n // default css for label and controls\r\n labelClass: 'col-sm-4',\r\n controlClass: 'col-sm-8',\r\n },\r\n instrumentation = {\r\n startScenario: _.noop,\r\n startActivity: _.noop,\r\n logMessage: _.noop,\r\n endActivity: _.noop,\r\n asLoggingStart: _.constant(_.noop),\r\n },\r\n instrumentationSettings = {\r\n ACTIVITYNAME: {},\r\n SCENARIONAME: {},\r\n },\r\n disableScheduling = false,\r\n } = {}) {\r\n const permissions = config.get('Permissions') || {};\r\n\r\n this.isSchedulingEnabled = permissions.IsAdExtensionsSchedulingEnabled && !disableScheduling;\r\n this.repository = repository;\r\n\r\n this.instrumentation = instrumentation;\r\n this.instrumentationSettings = instrumentationSettings;\r\n\r\n Form.prototype.initialize.call(this, {\r\n model: extension,\r\n schema,\r\n customValidators,\r\n fields,\r\n s$i18n,\r\n template(params) {\r\n return template(_.extend({\r\n i18n,\r\n type: schema.name,\r\n formatting,\r\n editWarningMessage: i18n.get(i18nKeys && i18nKeys.AdExtensions_Edit_Warning ?\r\n i18nKeys.AdExtensions_Edit_Warning : 'AdExtensions_Edit_Warning'),\r\n }, params));\r\n },\r\n });\r\n\r\n\r\n if (this.isSchedulingEnabled) {\r\n this.model = _.pick(this.model, schema.key, 'Scheduling', ...this.properties);\r\n this.schedulingView = new SchedulingView(_.extend({}, formatting, { model: this.model.Scheduling || {} }));\r\n } else {\r\n this.model = _.pick(this.model, schema.key, ...this.properties);\r\n }\r\n\r\n this.on('save', (model) => {\r\n this._onSave(model);\r\n });\r\n },\r\n\r\n render() {\r\n Form.prototype.render.apply(this);\r\n\r\n if (this.isSchedulingEnabled) {\r\n this.schedulingView.render();\r\n this.$('.scheduling').replaceWith(this.schedulingView.el);\r\n }\r\n\r\n return this;\r\n },\r\n\r\n remove() {\r\n if (this.isSchedulingEnabled) {\r\n this.schedulingView.remove();\r\n }\r\n this.trigger('remove');\r\n Form.prototype.remove.apply(this);\r\n },\r\n\r\n validate() {\r\n if (this.upgradedUrlView && !this.upgradedUrlView.isValid()) {\r\n return false;\r\n }\r\n\r\n if (this.isSchedulingEnabled) {\r\n return _.every([this.schedulingView.validate(), Form.prototype.validate.apply(this)]);\r\n }\r\n return Form.prototype.validate.apply(this);\r\n },\r\n\r\n currentModel() {\r\n const baseModel = Form.prototype.currentModel.apply(this);\r\n\r\n if (this.isSchedulingEnabled) {\r\n baseModel.Scheduling = this.schedulingView.toObject();\r\n }\r\n\r\n return baseModel;\r\n },\r\n\r\n _onSave(model) {\r\n let scenario = this.viewModel.editing ?\r\n this.instrumentationSettings.SCENARIONAME.UpdateAdExtension :\r\n this.instrumentationSettings.SCENARIONAME.CreateAdExtension,\r\n saveActivity = this.instrumentationSettings.ACTIVITYNAME.SaveAdExtension;\r\n\r\n if (this.isSchedulingEnabled && this.schedulingView.modelChanged()) {\r\n this.instrumentation.asLoggingStart(_.noop, this.instrumentationSettings.ACTIVITYNAME.ChangeAdExtensionSchedule, scenario)();\r\n }\r\n\r\n this.instrumentation.startActivity(saveActivity);\r\n this.repository\r\n .create(model)\r\n .finally(withUiBlock(this.$el.parent()))\r\n .then((newModel) => {\r\n this.trigger(this.viewModel.editing ? 'updated' : 'created', newModel);\r\n })\r\n .catch((errors) => {\r\n if (errors instanceof this.repository.BadResponseError) {\r\n this.setErrors({\r\n $overall: [errors],\r\n });\r\n } else {\r\n let groupedErrors = _.groupBy(errors, 'property');\r\n\r\n if (this.upgradedUrlView) {\r\n const upgradedUrlFields = ['FinalUrls', 'MobileFinalUrls', 'TrackingUrlTemplate', 'UrlCustomParameters'];\r\n const upgradedUrlErrors = _.pick(groupedErrors, upgradedUrlFields);\r\n\r\n this.upgradedUrlView.handleApiErrors(upgradedUrlErrors);\r\n groupedErrors = _.omit(groupedErrors, upgradedUrlFields);\r\n }\r\n\r\n this.setErrors(groupedErrors);\r\n\r\n if (this.schedulingView && errors.Scheduling) {\r\n this.schedulingView.setErrors(errors.Scheduling);\r\n }\r\n }\r\n });\r\n },\r\n});\r\n\r\nexport default ExtensionEditor;\r\n","/* eslint-disable */\r\nimport _ from 'underscore';\r\nimport ko from 'knockout';\r\nimport config from '@bingads-webui-component-legacy/config/index';\r\nimport adSchedulingOptions from '@bingads-webui-campaign-legacy/adextension-shared/viewmodel/adSchedulingOptions';\r\nimport * as _preferencesService from '@bingads-webui-component-legacy/preference/service/index';\r\nimport timeZoneMapper from '@bingads-webui-component-legacy/timezonemapper/index';\r\nvar i18n = window.globalLegacyI18n.get('component/i18n/loader!campaignui/feature/adextension/shared');\r\nvar preferencesService = _preferencesService.default || _preferencesService;\r\nfunction DayTimeViewModel(days, startHour, startMinute, endHour, endMinute) {\r\n this.days = ko.observable(days);\r\n this.startHour = ko.observable(startHour);\r\n this.startMinute = ko.observable(startMinute);\r\n this.endHour = ko.observable(endHour);\r\n this.endMinute = ko.observable(endMinute);\r\n this.endHour.subscribe(function (newValue) {\r\n if (newValue == 24) {\r\n this.endMinute(0);\r\n }\r\n }, this);\r\n this.endMinute.subscribe(function (newValue) {\r\n if (this.endHour() == 24 && newValue != 0) {\r\n this.endHour(0);\r\n }\r\n }, this);\r\n this.schedulingRowErrorMessage = ko.computed(function () {\r\n var startTime = getMinuteOfTheDay(this.startHour(), this.startMinute());\r\n var endTime = getMinuteOfTheDay(this.endHour(), this.endMinute());\r\n if (startTime >= endTime) {\r\n return i18n.get('AdExtensions_Scheduling_Error_InvalidTimeRange') || 'AdExtensions_Scheduling_Error_InvalidTimeRange';\r\n }\r\n return '';\r\n }, this);\r\n}\r\nvar use24HourDisplay = false;\r\nfunction ViewModel(model) {\r\n var self = this;\r\n if (!model) {\r\n model = {};\r\n }\r\n ;\r\n var dayOptionsByVal = _.indexBy(adSchedulingOptions.dayOptions, 'val');\r\n var minuteOptionsByVal = _.indexBy(adSchedulingOptions.minuteOptions, 'val');\r\n var minuteOptionsByStringVal = _.indexBy(adSchedulingOptions.minuteOptions, 'stringVal');\r\n this.isExpanded = ko.observable(!_.isEmpty(model));\r\n this.timeDisplayType = ko.observable(use24HourDisplay ? '24-hour' : '12-hour');\r\n var preference = {\r\n use24HourDisplay: use24HourDisplay\r\n };\r\n this.timeDisplayType.subscribe(function (value) {\r\n use24HourDisplay = value == '24-hour';\r\n preference = {\r\n use24HourDisplay: use24HourDisplay\r\n };\r\n preferencesService.setAtUserLevel({\r\n Name: 'WebApp.CampaignUI.adExtensionScheduling',\r\n Data: preference\r\n });\r\n });\r\n this.dayOptions = adSchedulingOptions.dayOptions;\r\n this.startHourOptions = buildHourOptions(adSchedulingOptions.fromHourOptions);\r\n this.endHourOptions = buildHourOptions(adSchedulingOptions.toHourOptions);\r\n this.minuteOptions = adSchedulingOptions.minuteOptions;\r\n this.culture = config.get('culture') || 'en-US';\r\n this.format = config.get('globalization.datetime.shortDatePattern') || 'M/d/yyyy';\r\n this.datePickerNavigateToFutureAriaLabel = i18n.get('DatePicker_NavigateToFuture_AriaLabel');\r\n this.datePickerNavigateToPastAriaLabel = i18n.get('DatePicker_NavigateToPast_AriaLabel');\r\n this.accountTimeZone = timeZoneMapper.getTimeZoneText(config.get('AccountTimeZone'));\r\n this.startDate = ko.observable(localDateFromUtc(model.StartDate));\r\n this.endDate = ko.observable(localDateFromUtc(model.EndDate));\r\n this.useSearcherTimeZone = ko.observable(model.UseSearcherTimeZone || false);\r\n this.dayTimeRanges = ko.observableArray(_.map(model.DayTimeRanges, function (range) {\r\n var startMinuteOption = minuteOptionsByStringVal[range.StartMinute];\r\n var endMinuteOption = minuteOptionsByStringVal[range.EndMinute];\r\n return new DayTimeViewModel(range.Day, range.StartHour, startMinuteOption.val, range.EndHour, endMinuteOption.val);\r\n }));\r\n this.flattenedDayTimeRanges = ko.computed(function () {\r\n return _.chain(self.dayTimeRanges()).map(function (dayTimeRange) {\r\n var dayOption = dayOptionsByVal[dayTimeRange.days()];\r\n var timeRange = {\r\n startHour: dayTimeRange.startHour(),\r\n startMinute: dayTimeRange.startMinute(),\r\n endHour: dayTimeRange.endHour(),\r\n endMinute: dayTimeRange.endMinute()\r\n };\r\n return _.map(dayOption.days, function (day) {\r\n return _.extend({\r\n day: day\r\n }, timeRange);\r\n });\r\n }).flatten().value();\r\n }, this);\r\n this.consolidatedDayTimeRanges = ko.computed(function () {\r\n return consolidateRanges(self.flattenedDayTimeRanges());\r\n }, this);\r\n this.schedulingRowsErrorMessage = ko.computed(function () {\r\n var dtRanges = self.flattenedDayTimeRanges();\r\n var hasOverlapped = hasOverlappedRanges(dtRanges);\r\n if (hasOverlapped) {\r\n return i18n.get('AdExtensions_Scheduling_Error_Overlapping_Schedule');\r\n }\r\n var dayCounters = _.reduce(adSchedulingOptions.days, function (memo, day) {\r\n memo[day] = 0;\r\n return memo;\r\n }, {});\r\n for (var i = 0; i < dtRanges.length; i++) {\r\n var currentDt = dtRanges[i];\r\n if (++dayCounters[currentDt.day] > 7) {\r\n return i18n.get('AdExtensions_Scheduling_Error_CannotHaveMoreThanSevenPerDay') || 'AdExtensions_Scheduling_Error_CannotHaveMoreThanSevenPerDay';\r\n }\r\n }\r\n return '';\r\n }, this);\r\n this.dateRangeErrorMessages = ko.computed(function () {\r\n var messages = [];\r\n var rawStartDate = self.startDate();\r\n var startDate = parseDate(rawStartDate);\r\n var rawEndDate = self.endDate();\r\n var endDate = parseDate(rawEndDate);\r\n if (endDate && startDate && startDate > endDate) {\r\n messages.push(i18n.get('AdExtensions_Scheduling_Error_InvalidDateRange') || 'AdExtensions_Scheduling_Error_InvalidDateRange');\r\n }\r\n if (_.isString(rawStartDate) && rawStartDate.length > 0) {\r\n messages.push(i18n.get('AdExtension_Scheduling_StartDateInvalid') || 'AdExtension_Scheduling_StartDateInvalid');\r\n }\r\n if (_.isString(rawEndDate) && rawEndDate.length > 0) {\r\n messages.push(i18n.get('AdExtension_Scheduling_EndDateInvalid') || 'AdExtension_Scheduling_EndDateInvalid');\r\n }\r\n return messages;\r\n }, this);\r\n this.toObject = function () {\r\n var dayTimeRanges = _.map(this.consolidatedDayTimeRanges(), function (range) {\r\n return {\r\n Day: range.day,\r\n StartHour: range.startHour,\r\n StartMinute: minuteOptionsByVal[range.startMinute].stringVal,\r\n EndHour: range.endHour,\r\n EndMinute: minuteOptionsByVal[range.endMinute].stringVal\r\n };\r\n });\r\n var startDate = parseDate(this.startDate());\r\n var endDate = parseDate(this.endDate());\r\n if (!startDate && !endDate && !dayTimeRanges.length) {\r\n return {};\r\n }\r\n return {\r\n StartDate: formatDate(startDate),\r\n EndDate: formatDate(endDate),\r\n UseSearcherTimeZone: this.useSearcherTimeZone(),\r\n DayTimeRanges: dayTimeRanges\r\n };\r\n };\r\n this.onRemovingSchedulingRow = function (index) {\r\n this.dayTimeRanges.splice(index(), 1);\r\n };\r\n this.addDayTimeRange = function () {\r\n this.dayTimeRanges.push(new DayTimeViewModel(this.dayOptions[0].val, 0, 0, 24, 0));\r\n };\r\n this.validate = function () {\r\n return this.dateRangeErrorMessages().length === 0 && this.schedulingRowsErrorMessage() === '' && this.dayTimeRanges().every(function (dayTimeRange) {\r\n return dayTimeRange.schedulingRowErrorMessage() === '';\r\n });\r\n };\r\n this.originalModelJSON = JSON.stringify(this.toObject());\r\n this.modelChanged = function () {\r\n var newModelJSON = JSON.stringify(this.toObject());\r\n return newModelJSON !== this.originalModelJSON;\r\n };\r\n function buildHourOptions(hourOptions) {\r\n return _.map(hourOptions, function (hourOption) {\r\n var observableOption = _.extend({}, hourOption);\r\n observableOption.displayName = ko.computed(function () {\r\n return self.timeDisplayType() === '12-hour' ? this.twelveHourDisplay : this.twentyFourHourDisplay;\r\n }, observableOption);\r\n return observableOption;\r\n });\r\n }\r\n function consolidateRanges(dayTimeRanges) {\r\n var last, consolidatedRanges = [], ranges = _.chain(dayTimeRanges).flatten().map(function (range) {\r\n var dayOfWeek = _.indexOf(adSchedulingOptions.days, range.day);\r\n var prevDaysMinutes = dayOfWeek * 24 * 60;\r\n return _.extend({\r\n weeklyStartTime: prevDaysMinutes + getMinuteOfTheDay(range.startHour, range.startMinute),\r\n weeklyEndTime: prevDaysMinutes + getMinuteOfTheDay(range.endHour, range.endMinute)\r\n }, range);\r\n }).sortBy('weeklyStartTime').value();\r\n _.each(ranges, function (current) {\r\n if (last && current.day == last.day && current.weeklyStartTime <= last.weeklyEndTime) {\r\n if (current.weeklyEndTime > last.weeklyEndTime) {\r\n last.endHour = current.endHour;\r\n last.endMinute = current.endMinute;\r\n last.weeklyEndTime = current.weeklyEndTime;\r\n }\r\n } else {\r\n last = current;\r\n consolidatedRanges.push(current);\r\n }\r\n });\r\n return consolidatedRanges;\r\n }\r\n function hasOverlappedRanges(dayTimeRanges) {\r\n var last, ranges = _.chain(dayTimeRanges).flatten().map(function (range) {\r\n var dayOfWeek = _.indexOf(adSchedulingOptions.days, range.day);\r\n var prevDaysMinutes = dayOfWeek * 24 * 60;\r\n return _.extend({\r\n weeklyStartTime: prevDaysMinutes + getMinuteOfTheDay(range.startHour, range.startMinute),\r\n weeklyEndTime: prevDaysMinutes + getMinuteOfTheDay(range.endHour, range.endMinute)\r\n }, range);\r\n }).sortBy('weeklyStartTime').value();\r\n return _.some(ranges, function (current) {\r\n if (last && current.day == last.day && current.weeklyStartTime < last.weeklyEndTime && current.weeklyEndTime > last.weeklyStartTime) {\r\n return true;\r\n } else {\r\n last = current;\r\n return false;\r\n }\r\n });\r\n }\r\n}\r\n;\r\nfunction parseDate(value) {\r\n var dateValue = _.isDate(value) ? value : _.isEmpty(value) ? null : new Date(value);\r\n if (dateValue && isNaN(dateValue.getTime())) {\r\n dateValue = null;\r\n }\r\n return dateValue;\r\n}\r\nfunction getMinuteOfTheDay(hour, minute) {\r\n return hour * 60 + minute;\r\n}\r\nfunction localDateFromUtc(date) {\r\n var parsed = parseDate(date);\r\n if (_.isNull(parsed) || _.isUndefined(parsed)) {\r\n return null;\r\n }\r\n var offset = parsed.getTimezoneOffset();\r\n return new Date(parsed.getTime() + offset * 60000);\r\n}\r\nfunction formatDate(date) {\r\n if (!_.isDate(date)) {\r\n return null;\r\n }\r\n var utcDate = Date.UTC(date.getFullYear(), date.getMonth(), date.getDate());\r\n return new Date(utcDate).toISOString();\r\n}\r\npreferencesService.initialize().then(function () {\r\n var preference = preferencesService.findByName('WebApp.CampaignUI.adExtensionScheduling') || ({\r\n Data: {}\r\n });\r\n use24HourDisplay = preference && preference.Data && preference.Data.use24HourDisplay || false;\r\n});\r\nexport default ViewModel;\r\n\r\n","/* eslint-disable */\r\nimport _ from 'underscore';\r\nimport Backbone from 'backbone';\r\nimport ko from 'knockout';\r\nimport datePicker from '@bingads-webui-component-legacy/datepicker/binding/datePicker';\r\nimport template from '@bingads-webui-campaign-legacy/adextension-shared/template/scheduling.pug';\r\nimport ViewModel from '@bingads-webui-campaign-legacy/adextension-shared/viewmodel/scheduling';\r\nvar i18n = window.globalLegacyI18n.get('component/i18n/loader!campaignui/feature/adextension/shared');\r\nfunction parseDate(value) {\r\n var dateValue = _.isDate(value) ? value : _.isEmpty(value) ? null : new Date(value);\r\n if (dateValue && isNaN(dateValue.getTime())) {\r\n dateValue = null;\r\n }\r\n return dateValue;\r\n}\r\nvar View = Backbone.View.extend({\r\n initialize: function (options) {\r\n this.options = _.extend({}, options);\r\n this.ko_model = new ViewModel(this.options.model);\r\n if (typeof this.options.onDayTimeRangesChange === 'function') {\r\n this.ko_model.dayTimeRanges.subscribe(this.options.onDayTimeRangesChange);\r\n }\r\n },\r\n render: function () {\r\n var self = this;\r\n var date = new Date();\r\n self.$el.html(template({\r\n i18n: i18n,\r\n labelClass: self.options.labelClass || 'col-sm-4',\r\n controlClass: self.options.controlClass || 'col-sm-8',\r\n hideStartAndEndDate: self.options.hideStartAndEndDate,\r\n readOnly: this.options.readOnly\r\n }));\r\n ko.applyBindings(self.ko_model, self.el);\r\n var endDatePicker = self.$('input.date-end').data('kendoDatePicker');\r\n self.ko_model.startDate.subscribe(function (startDate) {\r\n var parsedDate = parseDate(startDate);\r\n });\r\n self.$('#scheduling').on('show.bs.collapse', function () {\r\n self.$('.expanderImage').toggleClass('expanderImage expandedImage');\r\n });\r\n self.$('#scheduling').on('hide.bs.collapse', function () {\r\n self.$('.expandedImage').toggleClass('expanderImage expandedImage');\r\n });\r\n if (typeof self.options.onDayTimeRangesChange === 'function') {\r\n self.options.onDayTimeRangesChange(self.ko_model.dayTimeRanges());\r\n }\r\n return self;\r\n },\r\n events: {\r\n 'click .add-time-row': 'addDayTimeRange',\r\n 'show.bs.collapse': 'show',\r\n 'hide.bs.collapse': 'hide'\r\n },\r\n addDayTimeRange: function () {\r\n return this.ko_model.addDayTimeRange();\r\n },\r\n toObject: function () {\r\n return this.ko_model.toObject();\r\n },\r\n validate: function () {\r\n return this.ko_model.validate();\r\n },\r\n show: function () {\r\n this.ko_model.isExpanded(true);\r\n },\r\n hide: function () {\r\n this.ko_model.isExpanded(false);\r\n },\r\n modelChanged: function () {\r\n return this.ko_model.modelChanged();\r\n }\r\n});\r\nexport default View;\r\n\r\n","/* eslint-disable */\r\nimport _ from 'underscore';\r\nvar i18n = window.globalLegacyI18n.get('component/i18n/loader!campaignui/feature/adextension/shared');\r\nvar days = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];\r\nvar hours = ['12', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'];\r\nvar dayOptions = [{\r\n days: days.slice(0),\r\n displayName: i18n.get('AdExtensions_Scheduling_Day_All_Days')\r\n}, {\r\n days: days.slice(1, 6),\r\n displayName: i18n.get('AdExtensions_Scheduling_Day_Monday_To_Friday')\r\n}, {\r\n days: [days[1]],\r\n displayName: i18n.get('AdExtensions_Scheduling_Day_Monday')\r\n}, {\r\n days: [days[2]],\r\n displayName: i18n.get('AdExtensions_Scheduling_Day_Tuesday')\r\n}, {\r\n days: [days[3]],\r\n displayName: i18n.get('AdExtensions_Scheduling_Day_Wednesday')\r\n}, {\r\n days: [days[4]],\r\n displayName: i18n.get('AdExtensions_Scheduling_Day_Thursday')\r\n}, {\r\n days: [days[5]],\r\n displayName: i18n.get('AdExtensions_Scheduling_Day_Friday')\r\n}, {\r\n days: [days[6]],\r\n displayName: i18n.get('AdExtensions_Scheduling_Day_Saturday')\r\n}, {\r\n days: [days[0]],\r\n displayName: i18n.get('AdExtensions_Scheduling_Day_Sunday')\r\n}];\r\n_.each(dayOptions, function (option) {\r\n option.val = option.days.join();\r\n});\r\nvar hourOptions = [{\r\n val: 0,\r\n twentyFourHourDisplay: '00',\r\n twelveHourDisplay: i18n.get('AdExtensions_Scheduling_Time_12AM_Start_Of_Day')\r\n}, {\r\n val: 1,\r\n twentyFourHourDisplay: '01',\r\n twelveHourDisplay: i18n.get('AdExtensions_Scheduling_Time_1AM')\r\n}, {\r\n val: 2,\r\n twentyFourHourDisplay: '02',\r\n twelveHourDisplay: i18n.get('AdExtensions_Scheduling_Time_2AM')\r\n}, {\r\n val: 3,\r\n twentyFourHourDisplay: '03',\r\n twelveHourDisplay: i18n.get('AdExtensions_Scheduling_Time_3AM')\r\n}, {\r\n val: 4,\r\n twentyFourHourDisplay: '04',\r\n twelveHourDisplay: i18n.get('AdExtensions_Scheduling_Time_4AM')\r\n}, {\r\n val: 5,\r\n twentyFourHourDisplay: '05',\r\n twelveHourDisplay: i18n.get('AdExtensions_Scheduling_Time_5AM')\r\n}, {\r\n val: 6,\r\n twentyFourHourDisplay: '06',\r\n twelveHourDisplay: i18n.get('AdExtensions_Scheduling_Time_6AM')\r\n}, {\r\n val: 7,\r\n twentyFourHourDisplay: '07',\r\n twelveHourDisplay: i18n.get('AdExtensions_Scheduling_Time_7AM')\r\n}, {\r\n val: 8,\r\n twentyFourHourDisplay: '08',\r\n twelveHourDisplay: i18n.get('AdExtensions_Scheduling_Time_8AM')\r\n}, {\r\n val: 9,\r\n twentyFourHourDisplay: '09',\r\n twelveHourDisplay: i18n.get('AdExtensions_Scheduling_Time_9AM')\r\n}, {\r\n val: 10,\r\n twentyFourHourDisplay: '10',\r\n twelveHourDisplay: i18n.get('AdExtensions_Scheduling_Time_10AM')\r\n}, {\r\n val: 11,\r\n twentyFourHourDisplay: '11',\r\n twelveHourDisplay: i18n.get('AdExtensions_Scheduling_Time_11AM')\r\n}, {\r\n val: 12,\r\n twentyFourHourDisplay: '12',\r\n twelveHourDisplay: i18n.get('AdExtensions_Scheduling_Time_12PM')\r\n}, {\r\n val: 13,\r\n twentyFourHourDisplay: '13',\r\n twelveHourDisplay: i18n.get('AdExtensions_Scheduling_Time_1PM')\r\n}, {\r\n val: 14,\r\n twentyFourHourDisplay: '14',\r\n twelveHourDisplay: i18n.get('AdExtensions_Scheduling_Time_2PM')\r\n}, {\r\n val: 15,\r\n twentyFourHourDisplay: '15',\r\n twelveHourDisplay: i18n.get('AdExtensions_Scheduling_Time_3PM')\r\n}, {\r\n val: 16,\r\n twentyFourHourDisplay: '16',\r\n twelveHourDisplay: i18n.get('AdExtensions_Scheduling_Time_4PM')\r\n}, {\r\n val: 17,\r\n twentyFourHourDisplay: '17',\r\n twelveHourDisplay: i18n.get('AdExtensions_Scheduling_Time_5PM')\r\n}, {\r\n val: 18,\r\n twentyFourHourDisplay: '18',\r\n twelveHourDisplay: i18n.get('AdExtensions_Scheduling_Time_6PM')\r\n}, {\r\n val: 19,\r\n twentyFourHourDisplay: '19',\r\n twelveHourDisplay: i18n.get('AdExtensions_Scheduling_Time_7PM')\r\n}, {\r\n val: 20,\r\n twentyFourHourDisplay: '20',\r\n twelveHourDisplay: i18n.get('AdExtensions_Scheduling_Time_8PM')\r\n}, {\r\n val: 21,\r\n twentyFourHourDisplay: '21',\r\n twelveHourDisplay: i18n.get('AdExtensions_Scheduling_Time_9PM')\r\n}, {\r\n val: 22,\r\n twentyFourHourDisplay: '22',\r\n twelveHourDisplay: i18n.get('AdExtensions_Scheduling_Time_10PM')\r\n}, {\r\n val: 23,\r\n twentyFourHourDisplay: '23',\r\n twelveHourDisplay: i18n.get('AdExtensions_Scheduling_Time_11PM')\r\n}, {\r\n val: 24,\r\n twentyFourHourDisplay: '24',\r\n twelveHourDisplay: i18n.get('AdExtensions_Scheduling_Time_12AM_End_Of_Day')\r\n}];\r\nvar minuteOptions = [{\r\n val: 0,\r\n stringVal: 'ZERO',\r\n displayName: '00'\r\n}, {\r\n val: 15,\r\n stringVal: 'FIFTEEN',\r\n displayName: '15'\r\n}, {\r\n val: 30,\r\n stringVal: 'THIRTY',\r\n displayName: '30'\r\n}, {\r\n val: 45,\r\n stringVal: 'FORTY_FIVE',\r\n displayName: '45'\r\n}];\r\nexport default {\r\n days: days,\r\n hours: hours,\r\n dayOptions: dayOptions,\r\n fromHourOptions: hourOptions.slice(0, 24),\r\n toHourOptions: hourOptions.slice(0),\r\n minuteOptions: minuteOptions\r\n};\r\n\r\n","/* eslint-disable */\r\nimport _ from 'underscore';\r\nimport AssociationsEditorBase from '@bingads-webui-campaign-legacy/adextension-associations-editor/view/index';\r\nimport dialogDecorator from '@bingads-webui-component-legacy/dialog/dialogDecorator';\r\nimport * as _DataRepository from '@bingads-webui-campaign-legacy/adextension-shared/service/repository';\r\nimport EditorView from '@bingads-webui-campaign-legacy/adextension-sitelink/view/extensionEditor';\r\nimport oldPreviewTemplate from '@bingads-webui-campaign-legacy/adextension-sitelink/template/preview.pug';\r\nimport previewTemplate from '@bingads-webui-campaign-legacy/adextension-sitelink/template/sitelinkPreview.pug';\r\nimport config from '@bingads-webui-component-legacy/config/index';\r\nimport rowTemplate from '@bingads-webui-campaign-legacy/adextension-sitelink/template/gridRowTemplate.pug';\r\nimport * as _panelDecorator from '@bingads-webui-campaign-react/panel-decorator';\r\nvar i18n = window.globalLegacyI18n.get('component/i18n/loader!campaignui/feature/adextensions');\r\nvar newschema = window.globalLegacySchema.get('Sitelink2AdExtension');\r\nvar DataRepository = _DataRepository.default;\r\nvar panelDecorator = _panelDecorator.panelDecorator;\r\nvar repository;\r\nvar i18nKeys = {\r\n title: 'AdExtensions_Type_Sitelink',\r\n subtitle: 'NewCampaign_AddSitelinkAdExtension_Subtitle',\r\n library_title: 'AdExtensions_Sitelink_Editor_Available',\r\n selected_title: 'AdExtensions_Sitelink_Editor_Selected',\r\n create_link: 'AdExtensions_CreateSiteLink_CreateNew',\r\n create_title: 'AdExtensions_CreateSiteLink_Title',\r\n delete_btn: 'AdExtensions_Sitelink_Editor_Delete',\r\n delete_confirm: 'AdExtensions_Delete_SiteLink_Confirmation',\r\n edit_btn: 'AdExtensions_Sitelink_Editor_Edit',\r\n edit_title: 'AdExtensions_EditSiteLink_Title',\r\n inlineAlert: 'AdExtensions_Sitelink_Max_Select_Notification'\r\n};\r\nvar view = AssociationsEditorBase.extend({\r\n initialize: function (options) {\r\n var Editor = options && options.usePanel ? panelDecorator(EditorView, {\r\n i18n: i18n,\r\n panelReadyAriaLabel: i18n.getString('Association editor side panel opened'),\r\n panelClassName: options.panelClassName\r\n }) : dialogDecorator.decorate(EditorView, {\r\n position: 'center',\r\n maxWidth: 1050\r\n });\r\n var maxSelectedItemCount = 1;\r\n var currentPreviewTemplate = oldPreviewTemplate;\r\n repository = new DataRepository({\r\n schema: newschema,\r\n associationsDataFormatter: function (data) {\r\n return _.map(data, function (item) {\r\n var ret = item.AdExtension;\r\n return ret;\r\n });\r\n },\r\n afterChangeComitted: function () {\r\n if (_.isFunction(options.updateContext)) {\r\n options.updateContext(['AccountAdExtensionsGrid', 'CampaignAdExtensionsGrid', 'AdGroupAdExtensionsGrid']);\r\n }\r\n }\r\n });\r\n maxSelectedItemCount = 20;\r\n options.orderBy = 'DisplayText';\r\n currentPreviewTemplate = previewTemplate;\r\n _.extend(options || ({}), {\r\n data: repository,\r\n template: {\r\n preview: currentPreviewTemplate,\r\n rowTemplate: rowTemplate\r\n },\r\n maxSelectedItemsCount: maxSelectedItemCount,\r\n extensionType: 'SitelinkExtension',\r\n CreateForm: Editor,\r\n EditForm: Editor,\r\n i18nKeys: _.extend({}, i18nKeys, options.i18nKeys || ({})),\r\n processItem: function (item) {\r\n item.Description1 = _.isString(item.Description1) ? item.Description1 : '';\r\n item.Description2 = _.isString(item.Description2) ? item.Description2 : '';\r\n return item;\r\n }\r\n });\r\n AssociationsEditorBase.prototype.initialize.call(this, options);\r\n }\r\n});\r\nexport default view;\r\n\r\n","import _ from 'underscore';\r\nimport $ from 'jquery';\r\nimport UpgradedUrl from '@bingads-webui-component-legacy/upgraded-url/view/index';\r\nimport AdExtensionEditor from '@bingads-webui-campaign-legacy/adextension-shared/view/extension-editor';\r\nimport { getLength } from '@bingads-webui-component-legacy/ko-validation/validators/string';\r\nimport config from '@bingads-webui-component-legacy/config/index';\r\nimport { testUurl, uurlLevels } from '@bingads-webui-component-legacy/upgraded-url/service/testUurl';\r\n\r\nconst i18n = window.globalLegacyI18n.get('component/i18n/loader!campaignui/feature/adextensions');\r\n\r\nexport default class BaseSitelink extends AdExtensionEditor {\r\n initialize({\r\n extension,\r\n data,\r\n campaignId,\r\n adgroupId,\r\n schema,\r\n entityType,\r\n placeholderEnabled,\r\n destinationURLDisabled,\r\n isForVNext,\r\n } = {}) {\r\n const fields = [{\r\n property: 'DisplayText',\r\n placeholder: i18n.get('AdExtensions_Sitelink_Placeholder_Text'),\r\n showHint: true,\r\n }, {\r\n property: 'Description1',\r\n placeholder: i18n.get('AdExtensions_Sitelink_Placeholder_Description1'),\r\n ariaLabel: i18n.get('AdExtensions_Sitelink_Label_Description1'),\r\n showHint: true,\r\n }, {\r\n property: 'Description2',\r\n placeholder: i18n.get('AdExtensions_Sitelink_Placeholder_Description2'),\r\n ariaLabel: i18n.get('AdExtensions_Sitelink_Label_Description2'),\r\n showHint: true,\r\n showLabel: false,\r\n }, {\r\n property: 'DevicePreference',\r\n values: ['Mobile', 'All'],\r\n control: 'checkbox',\r\n }];\r\n\r\n this.campaignId = campaignId;\r\n this.adgroupId = adgroupId;\r\n\r\n const showUurlTestTool = !extension || !extension.customActions;\r\n\r\n if (_.isObject(extension)) {\r\n //resolve sitelink1 and sitelink2 schema inconsistency\r\n const mobileFinalUrls = extension.FinalMobileUrls;\r\n const isFinal = !(_.isEmpty(extension.FinalUrls) && _.isEmpty(mobileFinalUrls));\r\n const url = isFinal ? _.first(extension.FinalUrls) : extension.DestinationUrl;\r\n const isMobile = extension.DevicePreference === 'Mobile';\r\n\r\n this.upgradedUrlView = new UpgradedUrl({\r\n url,\r\n isFinal,\r\n finalMobileUrl: _.first(mobileFinalUrls),\r\n trackingTemplate: extension.TrackingUrlTemplate,\r\n finalUrlSuffix: extension.FinalUrlSuffix,\r\n customParameters: extension.UrlCustomParameters,\r\n urlOptionsEnabled: true,\r\n isMobilePreferred: isMobile,\r\n entityType,\r\n placeholderEnabled,\r\n useUrlOptionsV2: true,\r\n landingPageUrlRequired: true,\r\n destinationURLDisabled,\r\n showUurlTestTool,\r\n isForVNext,\r\n });\r\n } else {\r\n this.upgradedUrlView = new UpgradedUrl({\r\n urlOptionsEnabled: true,\r\n isMobilePreferred: false,\r\n entityType,\r\n placeholderEnabled,\r\n useUrlOptionsV2: true,\r\n landingPageUrlRequired: true,\r\n destinationURLDisabled,\r\n showUurlTestTool,\r\n isForVNext,\r\n });\r\n }\r\n\r\n super.initialize({\r\n extension,\r\n schema,\r\n data,\r\n fields,\r\n customValidators: {\r\n Description1: this._validator('Description2'),\r\n Description2: this._validator('Description1'),\r\n //Link text must be 25 characters or less if Description is added\r\n DisplayText: {\r\n isValid: (displayText) => {\r\n if (!this.viewModel) {\r\n return false;\r\n }\r\n // eslint-disable-next-line new-cap\r\n const description1 = this.viewModel.Description1();\r\n\r\n const {maxLengthWithDescription, maxLength, distinguishWideChar} = schema.properties.DisplayText;\r\n\r\n if (_.isUndefined(description1) || _.isEmpty(description1)) {\r\n this.viewModel.DisplayText.maxLength(maxLength);\r\n\r\n return true;\r\n }\r\n this.viewModel.DisplayText.maxLength(maxLengthWithDescription);\r\n\r\n return getLength(displayText, distinguishWideChar) <= maxLengthWithDescription;\r\n },\r\n message: () => {\r\n return i18n.get('Validation_AdExtensions_NewSiteLink_DisplayText', {count: schema.properties.DisplayText.maxLengthWithDescription});\r\n },\r\n },\r\n },\r\n });\r\n this.viewModel.Description1.subscribe(() => this.viewModel.Description2.validate());\r\n this.viewModel.Description2.subscribe(() => this.viewModel.Description1.validate());\r\n }\r\n\r\n render() {\r\n super.render();\r\n\r\n if (this.upgradedUrlView) {\r\n const $devicePreferenceElem = this.$('[data-property=DevicePreference] input:checkbox');\r\n\r\n $devicePreferenceElem.change(this.upgradedUrlView.devicePreferenceChanged.bind(this.upgradedUrlView));\r\n this.$('.extension-editor__extra').empty().append(this.upgradedUrlView.render().el);\r\n\r\n this.upgradedUrlView.on('testUurl', (fn, originalView) => {\r\n const upgradedUrlView = this.upgradedUrlView;\r\n\r\n if (!upgradedUrlView.isValid()) {\r\n fn.call(originalView, null); // to stop the loading spinner\r\n return;\r\n }\r\n\r\n originalView.isInline = false;\r\n originalView.level = uurlLevels.AdExtension;\r\n\r\n const customParameters = upgradedUrlView.urlOptions.getUrlCustomParameters();\r\n const UrlCustomParameters = [];\r\n\r\n _.each(customParameters, (o) => {\r\n const obj = {};\r\n const key = _.keys(o)[0];\r\n\r\n obj.Key = key;\r\n obj.Value = o[key];\r\n UrlCustomParameters.push(obj);\r\n });\r\n\r\n const params = {\r\n FinalUrls: upgradedUrlView.urlEditor.getFullUrl(),\r\n TrackingUrlTemplate: upgradedUrlView.urlOptions.trackingTemplate.getTrackingTemplate(),\r\n UrlCustomParameters,\r\n FinalUrlSuffix: upgradedUrlView.urlOptions.finalUrlSuffix.getFinalUrlSuffix(),\r\n };\r\n const context = {\r\n customerId: _.result(config.get('CurrentCustomer'), 'Id'),\r\n userId: _.result(config.get('CurrentUser'), 'Id'),\r\n accountId: _.result(config.get('CurrentAccount'), 'Id'),\r\n campaignId: this.campaignId,\r\n adGroupId: this.adgroupId,\r\n entityId: this.model && this.model.Id ? this.model.Id : '',\r\n };\r\n const options = {\r\n apiInLog: 'base-sitelink/uurlTest',\r\n };\r\n\r\n $('div.k-window-content.k-content').css({\r\n overflow: 'visible',\r\n });\r\n\r\n testUurl(fn, originalView, params, context, options);\r\n });\r\n }\r\n\r\n return this;\r\n }\r\n\r\n remove() {\r\n if (this.upgradedUrlView) {\r\n this.upgradedUrlView.remove();\r\n }\r\n\r\n super.remove();\r\n }\r\n\r\n currentModel() {\r\n const sitelink = super.currentModel();\r\n\r\n if (this.upgradedUrlView) {\r\n _.extend(sitelink, this.upgradedUrlView.toObject());\r\n }\r\n\r\n return sitelink;\r\n }\r\n\r\n _validator(otherName) {\r\n const message = () => {\r\n return i18n.get('Validation_AdExtensions_NewSiteLink_DescriptionRequired');\r\n };\r\n\r\n return {\r\n isValid: (thisOne) => {\r\n if (!this.viewModel || !this.viewModel[otherName]) {\r\n return false;\r\n }\r\n\r\n const otherObservable = this.viewModel[otherName];\r\n const otherOne = otherObservable();\r\n\r\n return _.isEmpty(thisOne) === _.isEmpty(otherOne);\r\n },\r\n message,\r\n };\r\n }\r\n}\r\n","import BaseSitelink from '@bingads-webui-campaign-legacy/adextension-sitelink/view/base-sitelink';\r\nimport PageContext from '@bingads-webui-static-legacy/page-context';\r\n\r\nconst schema = window.globalLegacySchema.get('Sitelink2AdExtension');\r\n\r\nconst { IsSitelinkExtensionDestinationURLDisabled } = (PageContext && PageContext.Permissions) || {};\r\n\r\nexport default class SitelinkAdExtensionEditor2 extends BaseSitelink {\r\n initialize({\r\n extension,\r\n data,\r\n campaignId,\r\n adgroupId,\r\n isForVNext,\r\n } = {}) {\r\n super.initialize({\r\n extension,\r\n schema,\r\n campaignId,\r\n adgroupId,\r\n data,\r\n entityType: 'Sitelink2AdExtension',\r\n placeholderEnabled: false,\r\n destinationURLDisabled: IsSitelinkExtensionDestinationURLDisabled || false,\r\n isForVNext,\r\n });\r\n }\r\n\r\n currentModel() {\r\n const sitelink2 = super.currentModel();\r\n\r\n if (this.upgradedUrlView) {\r\n // handle the inconsistancy of UpgradedUrl schema.\r\n sitelink2.FinalMobileUrls = sitelink2.MobileFinalUrls;\r\n delete sitelink2.MobileFinalUrls;\r\n }\r\n\r\n return sitelink2;\r\n }\r\n}\r\n","/* eslint-disable */\r\nimport * as _ExtensionEditor2 from '@bingads-webui-campaign-legacy/adextension-sitelink/view/extension-editor-2';\r\nvar ExtensionEditor2 = _ExtensionEditor2.default;\r\nexport default ExtensionEditor2;\r\n\r\n","export const i18nEnglish = window.globalLegacyI18n.get('component/i18n/loader!campaignui/feature/adextensions/multiple-cultures:en-US');\r\nexport const i18nGerman = window.globalLegacyI18n.get('component/i18n/loader!campaignui/feature/adextensions/multiple-cultures:de-DE');\r\nexport const i18nFrench = window.globalLegacyI18n.get('component/i18n/loader!campaignui/feature/adextensions/multiple-cultures:fr-FR');\r\nexport const i18nSpanish = window.globalLegacyI18n.get('component/i18n/loader!campaignui/feature/adextensions/multiple-cultures:es-ES');\r\nexport const i18nItalian = window.globalLegacyI18n.get('component/i18n/loader!campaignui/feature/adextensions/multiple-cultures:it');\r\nexport const i18nPortuguese = window.globalLegacyI18n.get('component/i18n/loader!campaignui/feature/adextensions/multiple-cultures:pt-BR');\r\nexport const i18nChinese = window.globalLegacyI18n.get('component/i18n/loader!campaignui/feature/adextensions/multiple-cultures:zh-Hant');\r\n","import { filter } from 'underscore';\r\nimport {\r\n i18nEnglish,\r\n i18nGerman,\r\n i18nFrench,\r\n i18nSpanish,\r\n i18nItalian,\r\n i18nPortuguese,\r\n i18nChinese,\r\n} from '@bingads-webui-campaign-legacy/adextension-shared/model/multi-lang-i18n';\r\n\r\nconst headers = [\r\n ['English', [\r\n ['Age groups', i18nEnglish.get('StructuredSnippet_Example_Age_groups'), true],\r\n ['Amenities', i18nEnglish.get('StructuredSnippet_Example_Amenities')],\r\n ['Best sellers', i18nEnglish.get('StructuredSnippet_Example_Best_Sellers'), true],\r\n ['Brands', i18nEnglish.get('StructuredSnippet_Example_Brands')],\r\n ['Classes', i18nEnglish.get('StructuredSnippet_Example_Classes'), true],\r\n ['Courses', i18nEnglish.get('StructuredSnippet_Example_Courses')],\r\n ['Daily rates', i18nEnglish.get('StructuredSnippet_Example_Daily_rates'), true],\r\n ['Deals', i18nEnglish.get('StructuredSnippet_Example_Deals'), true],\r\n ['Degree programs', i18nEnglish.get('StructuredSnippet_Example_Degree_programs')],\r\n ['Departments', i18nEnglish.get('StructuredSnippet_Example_Departments'), true],\r\n ['Destinations', i18nEnglish.get('StructuredSnippet_Example_Destinations')],\r\n ['Featured hotels', i18nEnglish.get('StructuredSnippet_Example_Featured_hotels')],\r\n ['Flowers', i18nEnglish.get('StructuredSnippet_Example_Flowers'), true],\r\n ['Goods', i18nEnglish.get('StructuredSnippet_Example_Goods')],\r\n ['Grades', i18nEnglish.get('StructuredSnippet_Example_Grades'), true],\r\n ['Highlights', i18nEnglish.get('StructuredSnippet_Example_Highlights'), true],\r\n ['Insurance coverage', i18nEnglish.get('StructuredSnippet_Example_Insurance_coverage')],\r\n ['Items', i18nEnglish.get('StructuredSnippet_Example_Items')],\r\n ['Languages', i18nEnglish.get('StructuredSnippet_Example_Languages'), true],\r\n ['Locations', i18nEnglish.get('StructuredSnippet_Example_Locations'), true],\r\n ['Models', i18nEnglish.get('StructuredSnippet_Example_Models')],\r\n ['Neighborhoods', i18nEnglish.get('StructuredSnippet_Example_Neighborhoods')],\r\n ['Occasions', i18nEnglish.get('StructuredSnippet_Example_Occasions'), true],\r\n ['Prices', i18nEnglish.get('StructuredSnippet_Example_Prices'), true],\r\n ['Rates', i18nEnglish.get('StructuredSnippet_Example_Rates'), true],\r\n ['Ratings', i18nEnglish.get('StructuredSnippet_Example_Ratings'), true],\r\n ['School districts', i18nEnglish.get('StructuredSnippet_Example_School_districts'), true],\r\n ['Services', i18nEnglish.get('StructuredSnippet_Example_Services')],\r\n ['Service catalog', i18nEnglish.get('StructuredSnippet_Example_Service_catalog')],\r\n ['Shows', i18nEnglish.get('StructuredSnippet_Example_Shows')],\r\n ['Sizes', i18nEnglish.get('StructuredSnippet_Example_Sizes'), true],\r\n ['Styles', i18nEnglish.get('StructuredSnippet_Example_Styles')],\r\n ['Tools', i18nEnglish.get('StructuredSnippet_Example_Tools'), true],\r\n ['Topics', i18nEnglish.get('StructuredSnippet_Example_Topics'), true],\r\n ['Types', i18nEnglish.get('StructuredSnippet_Example_Types')],\r\n ['Vacations', i18nEnglish.get('StructuredSnippet_Example_Vacations'), true],\r\n ['Vehicles', i18nEnglish.get('StructuredSnippet_Example_Vehicles'), true],\r\n ['What', i18nEnglish.get('StructuredSnippet_Example_What'), true],\r\n ['Who', i18nEnglish.get('StructuredSnippet_Example_Who'), true],\r\n ['Why', i18nEnglish.get('StructuredSnippet_Example_Why'), true],\r\n ]],\r\n ['German', [\r\n ['Abteilungen', i18nGerman.get('StructuredSnippet_Example_Departments'), true],\r\n ['Altersgruppen', i18nGerman.get('StructuredSnippet_Example_Age_groups'), true],\r\n ['Angebote', i18nGerman.get('StructuredSnippet_Example_Deals'), true],\r\n ['Anlässe', i18nGerman.get('StructuredSnippet_Example_Occasions'), true],\r\n ['Artikel', i18nGerman.get('StructuredSnippet_Example_Items')],\r\n ['Ausstattung', i18nGerman.get('StructuredSnippet_Example_Amenities')],\r\n ['Bestseller', i18nGerman.get('StructuredSnippet_Example_Best_Sellers'), true],\r\n ['Bewertungen', i18nGerman.get('StructuredSnippet_Example_Ratings'), true],\r\n ['Blumen', i18nGerman.get('StructuredSnippet_Example_Flowers'), true],\r\n ['Dienstkatalog', i18nGerman.get('StructuredSnippet_Example_Service_catalog')],\r\n ['Dienstleistungen', i18nGerman.get('StructuredSnippet_Example_Services')],\r\n ['Fahrzeuge', i18nGerman.get('StructuredSnippet_Example_Vehicles'), true],\r\n ['Ferien', i18nGerman.get('StructuredSnippet_Example_Vacations'), true],\r\n ['Größen', i18nGerman.get('StructuredSnippet_Example_Sizes'), true],\r\n ['Highlights', i18nGerman.get('StructuredSnippet_Example_Highlights'), true],\r\n ['Klassen', i18nGerman.get('StructuredSnippet_Example_Classes'), true],\r\n ['Kurse', i18nGerman.get('StructuredSnippet_Example_Courses')],\r\n ['Marken', i18nGerman.get('StructuredSnippet_Example_Brands')],\r\n ['Modelle', i18nGerman.get('StructuredSnippet_Example_Models')],\r\n ['Noten', i18nGerman.get('StructuredSnippet_Example_Grades'), true],\r\n ['Orte', i18nGerman.get('StructuredSnippet_Example_Locations'), true],\r\n ['Preise', i18nGerman.get('StructuredSnippet_Example_Prices'), true],\r\n ['Schulbezirke', i18nGerman.get('StructuredSnippet_Example_School_districts'), true],\r\n ['Serien', i18nGerman.get('StructuredSnippet_Example_Shows')],\r\n ['Sprachen', i18nGerman.get('StructuredSnippet_Example_Languages'), true],\r\n ['Stile', i18nGerman.get('StructuredSnippet_Example_Styles')],\r\n ['Studiengänge', i18nGerman.get('StructuredSnippet_Example_Degree_programs')],\r\n ['Tagespreise', i18nGerman.get('StructuredSnippet_Example_Daily_rates'), true],\r\n ['Tarife', i18nGerman.get('StructuredSnippet_Example_Rates'), true],\r\n ['Themen', i18nGerman.get('StructuredSnippet_Example_Topics'), true],\r\n ['Typen', i18nGerman.get('StructuredSnippet_Example_Types')],\r\n ['Versicherungsleistung', i18nGerman.get('StructuredSnippet_Example_Insurance_coverage')],\r\n ['Viertel', i18nGerman.get('StructuredSnippet_Example_Neighborhoods')],\r\n ['Vorgestellte Hotels', i18nGerman.get('StructuredSnippet_Example_Featured_hotels')],\r\n ['Waren', i18nGerman.get('StructuredSnippet_Example_Goods')],\r\n ['Warum', i18nGerman.get('StructuredSnippet_Example_Why'), true],\r\n ['Was', i18nGerman.get('StructuredSnippet_Example_What'), true],\r\n ['Wer', i18nGerman.get('StructuredSnippet_Example_Who'), true],\r\n ['Werkzeuge', i18nGerman.get('StructuredSnippet_Example_Tools'), true],\r\n ['Ziele', i18nGerman.get('StructuredSnippet_Example_Destinations')],\r\n ]],\r\n ['French', [\r\n ['Âge', i18nFrench.get('StructuredSnippet_Example_Age_groups'), true],\r\n ['Biens', i18nFrench.get('StructuredSnippet_Example_Goods')],\r\n ['Catalogue de services', i18nFrench.get('StructuredSnippet_Example_Service_catalog')],\r\n ['Catégories', i18nFrench.get('StructuredSnippet_Example_Grades'), true],\r\n ['Classes', i18nFrench.get('StructuredSnippet_Example_Classes'), true],\r\n ['Congés', i18nFrench.get('StructuredSnippet_Example_Vacations'), true],\r\n ['Cours', i18nFrench.get('StructuredSnippet_Example_Courses')],\r\n ['Couverture d\\'assurance', i18nFrench.get('StructuredSnippet_Example_Insurance_coverage')],\r\n ['Départements', i18nFrench.get('StructuredSnippet_Example_Departments'), true],\r\n ['Destinations', i18nFrench.get('StructuredSnippet_Example_Destinations')],\r\n ['Districts scolaires', i18nFrench.get('StructuredSnippet_Example_School_districts'), true],\r\n ['Éléments', i18nFrench.get('StructuredSnippet_Example_Items')],\r\n ['Émissions', i18nFrench.get('StructuredSnippet_Example_Shows')],\r\n ['Équipements', i18nFrench.get('StructuredSnippet_Example_Amenities')],\r\n ['Événements', i18nFrench.get('StructuredSnippet_Example_Occasions'), true],\r\n ['Fleurs', i18nFrench.get('StructuredSnippet_Example_Flowers'), true],\r\n ['Langues', i18nFrench.get('StructuredSnippet_Example_Languages'), true],\r\n ['Lieux', i18nFrench.get('StructuredSnippet_Example_Locations'), true],\r\n ['Marques', i18nFrench.get('StructuredSnippet_Example_Brands')],\r\n ['Meilleurs vendeurs', i18nFrench.get('StructuredSnippet_Example_Best_Sellers'), true],\r\n ['Modèles', i18nFrench.get('StructuredSnippet_Example_Models')],\r\n ['Notations', i18nFrench.get('StructuredSnippet_Example_Ratings'), true],\r\n ['Offres', i18nFrench.get('StructuredSnippet_Example_Deals'), true],\r\n ['Outils', i18nFrench.get('StructuredSnippet_Example_Tools'), true],\r\n ['Points forts', i18nFrench.get('StructuredSnippet_Example_Highlights'), true],\r\n ['Pourquoi', i18nFrench.get('StructuredSnippet_Example_Why'), true],\r\n ['Prix', i18nFrench.get('StructuredSnippet_Example_Prices'), true],\r\n ['Programmes d\\'études', i18nFrench.get('StructuredSnippet_Example_Degree_programs')],\r\n ['Quartiers', i18nFrench.get('StructuredSnippet_Example_Neighborhoods')],\r\n ['Qui', i18nFrench.get('StructuredSnippet_Example_Who'), true],\r\n ['Quoi', i18nFrench.get('StructuredSnippet_Example_What'), true],\r\n ['Sélection d\\'hôtels', i18nFrench.get('StructuredSnippet_Example_Featured_hotels')],\r\n ['Services', i18nFrench.get('StructuredSnippet_Example_Services')],\r\n ['Styles', i18nFrench.get('StructuredSnippet_Example_Styles')],\r\n ['Sujets', i18nFrench.get('StructuredSnippet_Example_Topics'), true],\r\n ['Tailles', i18nFrench.get('StructuredSnippet_Example_Sizes'), true],\r\n ['Tarifs', i18nFrench.get('StructuredSnippet_Example_Rates'), true],\r\n ['Tarifs journaliers', i18nFrench.get('StructuredSnippet_Example_Daily_rates'), true],\r\n ['Types', i18nFrench.get('StructuredSnippet_Example_Types')],\r\n ['Véhicules', i18nFrench.get('StructuredSnippet_Example_Vehicles'), true],\r\n ]],\r\n ['Spanish', [\r\n ['Artículos', i18nSpanish.get('StructuredSnippet_Example_Goods')],\r\n ['Barrios', i18nSpanish.get('StructuredSnippet_Example_Neighborhoods')],\r\n ['Calificaciones', i18nSpanish.get('StructuredSnippet_Example_Ratings'), true],\r\n ['Carreras universitarias', i18nSpanish.get('StructuredSnippet_Example_Degree_programs')],\r\n ['Catálogo de servicios', i18nSpanish.get('StructuredSnippet_Example_Service_catalog')],\r\n ['Clases', i18nSpanish.get('StructuredSnippet_Example_Classes'), true],\r\n ['Clasificaciones', i18nSpanish.get('StructuredSnippet_Example_Grades'), true],\r\n ['Cobertura de seguro', i18nSpanish.get('StructuredSnippet_Example_Insurance_coverage')],\r\n ['Contenidos destacados', i18nSpanish.get('StructuredSnippet_Example_Highlights'), true],\r\n ['Cursos', i18nSpanish.get('StructuredSnippet_Example_Courses')],\r\n ['Departamentos', i18nSpanish.get('StructuredSnippet_Example_Departments'), true],\r\n ['Destinos', i18nSpanish.get('StructuredSnippet_Example_Destinations')],\r\n ['Distritos escolares', i18nSpanish.get('StructuredSnippet_Example_School_districts'), true],\r\n ['Elementos', i18nSpanish.get('StructuredSnippet_Example_Items')],\r\n ['Estilos', i18nSpanish.get('StructuredSnippet_Example_Styles')],\r\n ['Flores', i18nSpanish.get('StructuredSnippet_Example_Flowers'), true],\r\n ['Grupos de edad', i18nSpanish.get('StructuredSnippet_Example_Age_groups'), true],\r\n ['Herramientas', i18nSpanish.get('StructuredSnippet_Example_Tools'), true],\r\n ['Hoteles destacados', i18nSpanish.get('StructuredSnippet_Example_Featured_hotels')],\r\n ['Idiomas', i18nSpanish.get('StructuredSnippet_Example_Languages'), true],\r\n ['Marcas', i18nSpanish.get('StructuredSnippet_Example_Brands')],\r\n ['Mejores vendedores', i18nSpanish.get('StructuredSnippet_Example_Best_Sellers'), true],\r\n ['Modelos', i18nSpanish.get('StructuredSnippet_Example_Models')],\r\n ['Ocasiones', i18nSpanish.get('StructuredSnippet_Example_Occasions'), true],\r\n ['Ofertas', i18nSpanish.get('StructuredSnippet_Example_Deals'), true],\r\n ['Por qué', i18nSpanish.get('StructuredSnippet_Example_Why'), true],\r\n ['Precios', i18nSpanish.get('StructuredSnippet_Example_Prices'), true],\r\n ['Programas', i18nSpanish.get('StructuredSnippet_Example_Shows')],\r\n ['Qué', i18nSpanish.get('StructuredSnippet_Example_What'), true],\r\n ['Quién', i18nSpanish.get('StructuredSnippet_Example_Who'), true],\r\n ['Servicios', i18nSpanish.get('StructuredSnippet_Example_Services')],\r\n ['Servicios adicionales', i18nSpanish.get('StructuredSnippet_Example_Amenities')],\r\n ['Tallas', i18nSpanish.get('StructuredSnippet_Example_Sizes'), true],\r\n ['Tarifas', i18nSpanish.get('StructuredSnippet_Example_Rates'), true],\r\n ['Tarifas diarias', i18nSpanish.get('StructuredSnippet_Example_Daily_rates'), true],\r\n ['Temas', i18nSpanish.get('StructuredSnippet_Example_Topics'), true],\r\n ['Tipos', i18nSpanish.get('StructuredSnippet_Example_Types')],\r\n ['Ubicaciones', i18nSpanish.get('StructuredSnippet_Example_Locations'), true],\r\n ['Vacaciones', i18nSpanish.get('StructuredSnippet_Example_Vacations'), true],\r\n ['Vehículos', i18nSpanish.get('StructuredSnippet_Example_Vehicles'), true],\r\n ]],\r\n ['Italian', [\r\n ['Argomenti', i18nItalian.get('StructuredSnippet_Example_Topics'), true],\r\n ['Articoli', i18nItalian.get('StructuredSnippet_Example_Items')],\r\n ['Attrattive', i18nItalian.get('StructuredSnippet_Example_Amenities')],\r\n ['Beni', i18nItalian.get('StructuredSnippet_Example_Goods')],\r\n ['Catalogo de servizi', i18nItalian.get('StructuredSnippet_Example_Service_catalog')],\r\n ['Chi', i18nItalian.get('StructuredSnippet_Example_Who'), true],\r\n ['Copertura assicurativa', i18nItalian.get('StructuredSnippet_Example_Insurance_coverage')],\r\n ['Corsi', i18nItalian.get('StructuredSnippet_Example_Courses')],\r\n ['Corsi di studio', i18nItalian.get('StructuredSnippet_Example_Degree_programs')],\r\n ['Cosa', i18nItalian.get('StructuredSnippet_Example_What'), true],\r\n ['Destinazioni', i18nItalian.get('StructuredSnippet_Example_Destinations')],\r\n ['Dimensioni', i18nItalian.get('StructuredSnippet_Example_Sizes'), true],\r\n ['Distretti scolastici', i18nItalian.get('StructuredSnippet_Example_School_districts'), true],\r\n ['Fasce di età', i18nItalian.get('StructuredSnippet_Example_Age_groups'), true],\r\n ['Fiori', i18nItalian.get('StructuredSnippet_Example_Flowers'), true],\r\n ['Gradi', i18nItalian.get('StructuredSnippet_Example_Grades'), true],\r\n ['Hotel consigliati', i18nItalian.get('StructuredSnippet_Example_Featured_hotels')],\r\n ['In evidenza', i18nItalian.get('StructuredSnippet_Example_Highlights'), true],\r\n ['Lezioni', i18nItalian.get('StructuredSnippet_Example_Classes'), true],\r\n ['Lingue', i18nItalian.get('StructuredSnippet_Example_Languages'), true],\r\n ['Località', i18nItalian.get('StructuredSnippet_Example_Locations'), true],\r\n ['Marche', i18nItalian.get('StructuredSnippet_Example_Brands')],\r\n ['Modelli', i18nItalian.get('StructuredSnippet_Example_Models')],\r\n ['Occasioni', i18nItalian.get('StructuredSnippet_Example_Occasions'), true],\r\n ['Offerte', i18nItalian.get('StructuredSnippet_Example_Deals'), true],\r\n ['Perché', i18nItalian.get('StructuredSnippet_Example_Why'), true],\r\n ['Più venduti', i18nItalian.get('StructuredSnippet_Example_Best_Sellers'), true],\r\n ['Prezzi', i18nItalian.get('StructuredSnippet_Example_Prices'), true],\r\n ['Programmi', i18nItalian.get('StructuredSnippet_Example_Shows')],\r\n ['Quartieri', i18nItalian.get('StructuredSnippet_Example_Neighborhoods')],\r\n ['Reparti', i18nItalian.get('StructuredSnippet_Example_Departments'), true],\r\n ['Servizi', i18nItalian.get('StructuredSnippet_Example_Services')],\r\n ['Stili', i18nItalian.get('StructuredSnippet_Example_Styles')],\r\n ['Strumenti', i18nItalian.get('StructuredSnippet_Example_Tools'), true],\r\n ['Tariffe', i18nItalian.get('StructuredSnippet_Example_Rates'), true],\r\n ['Tariffe giornaliere', i18nItalian.get('StructuredSnippet_Example_Daily_rates'), true],\r\n ['Tipi', i18nItalian.get('StructuredSnippet_Example_Types')],\r\n ['Vacanze', i18nItalian.get('StructuredSnippet_Example_Vacations'), true],\r\n ['Valutazioni', i18nItalian.get('StructuredSnippet_Example_Ratings'), true],\r\n ['Veicoli', i18nItalian.get('StructuredSnippet_Example_Vehicles'), true],\r\n ]],\r\n ['Portuguese', [\r\n ['Bens', i18nPortuguese.get('StructuredSnippet_Example_Goods')],\r\n ['Catálogo de serviços', i18nPortuguese.get('StructuredSnippet_Example_Service_catalog')],\r\n ['Classes', i18nPortuguese.get('StructuredSnippet_Example_Classes'), true],\r\n ['Classificações', i18nPortuguese.get('StructuredSnippet_Example_Ratings'), true],\r\n ['Cobertura do seguro', i18nPortuguese.get('StructuredSnippet_Example_Insurance_coverage')],\r\n ['Comodidades', i18nPortuguese.get('StructuredSnippet_Example_Amenities')],\r\n ['Cursos', i18nPortuguese.get('StructuredSnippet_Example_Courses')],\r\n ['Departmentos', i18nPortuguese.get('StructuredSnippet_Example_Departments'), true],\r\n ['Destaques', i18nPortuguese.get('StructuredSnippet_Example_Highlights'), true],\r\n ['Destinos', i18nPortuguese.get('StructuredSnippet_Example_Destinations')],\r\n ['Distritos escolares', i18nPortuguese.get('StructuredSnippet_Example_School_districts'), true],\r\n ['Estilos', i18nPortuguese.get('StructuredSnippet_Example_Styles')],\r\n ['Faixas etárias', i18nPortuguese.get('StructuredSnippet_Example_Age_groups'), true],\r\n ['Férias', i18nPortuguese.get('StructuredSnippet_Example_Vacations'), true],\r\n ['Ferramentas', i18nPortuguese.get('StructuredSnippet_Example_Tools'), true],\r\n ['Flores', i18nPortuguese.get('StructuredSnippet_Example_Flowers'), true],\r\n ['Hotéis em destaque', i18nPortuguese.get('StructuredSnippet_Example_Featured_hotels')],\r\n ['Idiomas', i18nPortuguese.get('StructuredSnippet_Example_Languages'), true],\r\n ['Itens', i18nPortuguese.get('StructuredSnippet_Example_Items')],\r\n ['Locais', i18nPortuguese.get('StructuredSnippet_Example_Locations'), true],\r\n ['Marcas', i18nPortuguese.get('StructuredSnippet_Example_Brands')],\r\n ['Melhores vendedores', i18nPortuguese.get('StructuredSnippet_Example_Best_Sellers'), true],\r\n ['Modelos', i18nPortuguese.get('StructuredSnippet_Example_Models')],\r\n ['Notas', i18nPortuguese.get('StructuredSnippet_Example_Grades'), true],\r\n ['O quê', i18nPortuguese.get('StructuredSnippet_Example_What'), true],\r\n ['Ocasiões', i18nPortuguese.get('StructuredSnippet_Example_Occasions'), true],\r\n ['Ofertas', i18nPortuguese.get('StructuredSnippet_Example_Deals'), true],\r\n ['Por quê', i18nPortuguese.get('StructuredSnippet_Example_Why'), true],\r\n ['Preços', i18nPortuguese.get('StructuredSnippet_Example_Prices'), true],\r\n ['Programas', i18nPortuguese.get('StructuredSnippet_Example_Shows')],\r\n ['Programas de graduação', i18nPortuguese.get('StructuredSnippet_Example_Degree_programs')],\r\n ['Quem', i18nPortuguese.get('StructuredSnippet_Example_Who'), true],\r\n ['Serviços', i18nPortuguese.get('StructuredSnippet_Example_Services')],\r\n ['Tamanhos', i18nPortuguese.get('StructuredSnippet_Example_Sizes'), true],\r\n ['Taxas', i18nPortuguese.get('StructuredSnippet_Example_Rates'), true],\r\n ['Taxas diárias', i18nPortuguese.get('StructuredSnippet_Example_Daily_rates'), true],\r\n ['Tipos', i18nPortuguese.get('StructuredSnippet_Example_Types')],\r\n ['Tópicos', i18nPortuguese.get('StructuredSnippet_Example_Topics'), true],\r\n ['Veículos', i18nPortuguese.get('StructuredSnippet_Example_Vehicles'), true],\r\n ['Vizinhança', i18nPortuguese.get('StructuredSnippet_Example_Neighborhoods')],\r\n ]],\r\n ['Dutch', [\r\n ['Aanbevolen hotels', 'Hotel Meerzicht, Luxury Inn'],\r\n ['Aanbiedingen', 'Opruimingsartikelen, twee kopen één gratis, studentenkortingen', true],\r\n ['Afdelingen', 'Huishoudapparatuur, garage, thuisbioscoop', true],\r\n ['Beoordelingen', 'Best verkocht, goedkoopst, meest beoordeeld', true],\r\n ['Best verkocht', 'Deal van de dag, Verjaardagsboeket, Tuinboeket', true],\r\n ['Bestemmingen', 'Las Vegas, New York, Tokio, Rome, Cancún, Parijs'],\r\n ['Bloemen', 'Rozen, Madeliefjes, Lelies', true],\r\n ['Buurten', 'Jordaan, Staatsliedenbuurt, centrum'],\r\n ['Cursussen', 'lineaire algebra, creatief schrijven, datastructuren'],\r\n ['Dagtarieven', 'Alleenstaanden, koppels, groepen', true],\r\n ['Dekking', 'aansprakelijkheid, aanrijding, uitgebreid'],\r\n ['Gelegenheden', 'Diploma-uitreikingen, Beterschap, Nieuwe baby', true],\r\n ['Gereedschap', 'Elektrisch, pneumatisch, hydraulisch', true],\r\n ['Grootten', 'Small, Medium, Large', true],\r\n ['Hoogtepunten', 'Wat te eten, wat te zien, wat te doen', true],\r\n ['Items', 'Laptops, tv’s, gameconsoles'],\r\n ['Klassen', 'Diamond, Premium, Premium Plus', true],\r\n ['Leeftijdsgroep', '40 en jonger, 41 tot 50, 51 tot 60', true],\r\n ['Lessen', 'Defensief rijden, huiseigendom 101', true],\r\n ['Locaties', 'Noord-Amerika, Europa, Azië', true],\r\n ['Merken', 'Windows, Xbox, Skype'],\r\n ['Modellen', 'Corolla, Prius, Yaris'],\r\n ['Onderwerpen', 'Inkomen, pensioen, belastingen', true],\r\n ['Prijzen', 'Minder dan $10, $50-$100, meer dan $1000', true],\r\n ['Producten', 'Kleding, boeken, bordspellen'],\r\n ['Schooldistricten', 'Verkennen, rangschikkingen, suggesties', true],\r\n ['Servicecatalogus', 'olie verversen, smogcontrole, bandenuitlijning'],\r\n ['Services', 'Mannenkapsel, vrouwenkapsel, kinderkapsel'],\r\n ['Shows', 'De Reis, Ridders, American Dancer'],\r\n ['Stijlen', 'gecapitonneerd, avondjurken, galajurken, strandjurken'],\r\n ['Studieprogramma\\'s', 'boekhouden, biologie, psychologie'],\r\n ['Talen', 'Engels, Spaans, Chinees', true],\r\n ['Tarieven', 'Dagelijks, maandelijks, jaarlijks', true],\r\n ['Typen', 'hanglampen, plafondlampen, muurlampen'],\r\n ['Vakanties', 'Eilanden, roadtrips, cruises', true],\r\n ['Voertuigen', 'Compact, SUV, cabrio', true],\r\n ['Voorzieningen', 'ski-opslag, zwembad, restaurant'],\r\n ['Waarom', 'Verjaardag, afstuderen, speciale datum', true],\r\n ['Wat', 'Bloemen, snoepgoed, cadeaukaarten', true],\r\n ['Wie', 'Voor hem, voor haar, voor koppels', true],\r\n ]],\r\n ['Swedish', [\r\n ['Ämnen', 'Inkomst, pension, skatter', true],\r\n ['Avdelningar', 'Apparater, garage, hemmabio', true],\r\n ['Bekvämligheter', 'Skidförvaring, Simhall, Restaurang'],\r\n ['Betyg', 'Bästsäljare, billigaste, de som fått flest betyg', true],\r\n ['Bilmodeller', 'Fjällstuga, Hotell vid havet, Rum och frukost'],\r\n ['Blommor', 'Rosor, prästkragar, liljor', true],\r\n ['Dagliga priser', 'Ensamstående, par, grupper', true],\r\n ['Erbjudanden', 'Lagerrensning, Köp en få en, Studentrabatter', true],\r\n ['Evenemang', 'Examen, Bli frisk, Ny bebis', true],\r\n ['Fordon', 'Kompakt, SUV, cabriolet', true],\r\n ['Försäkringstyper', 'Ansvarsförsäkring, Vagnskadeförsäkring, Heltäckande försäkring'],\r\n ['Grannskap', 'Centrum, Östermalm, Södermalm, Kungsholmen'],\r\n ['Höjdpunkter', 'Vad kan man äta, vad kan man se, vad kan man göra', true],\r\n ['Hotellval', 'Scandic, Best Western, Radisson'],\r\n ['Klasser', 'Diamant, Premium, Premium Plus', true],\r\n ['Kurser', 'Linjär algebra, Kreativt skrivande, Datastruktur'],\r\n ['Lektioner', 'Defensiv körning, husägare 101', true],\r\n ['Objekt', 'Bärbara datorer, tv:ar, spelkonsoler'],\r\n ['Platser', 'Nordamerika, Europa, Asien', true],\r\n ['Priser', 'Under $10 USD, $50–$100 USD, över $1 000 USD', true],\r\n ['Program', 'Resan ut, Tornerspel, Tjosan – en fars'],\r\n ['Resmål', 'Las Vegas, New York, Tokyo, Rom, Cancun, Paris'],\r\n ['Semestrar', 'Öar, långresor med bil, kryssningar', true],\r\n ['Servicekatalog', 'Byte av olja, Utsläppskontroll, Balansering av däck'],\r\n ['Skoldistrikt', 'Utforska, rangordningar, förslag', true],\r\n ['Språk', 'Engelska, spanska, kinesiska', true],\r\n ['Stilar', 'Öronlapp, Chesterfield, Stressless, Rokoko, Skinn, Läs'],\r\n ['Storlekar', 'Small, Medium, Large', true],\r\n ['Storsäljare', 'Dagens affär, Födelsedagsbukett, Trädgårdsbukett', true],\r\n ['Taxor', 'Daglig, månadsvis, årlig', true],\r\n ['Tjänster', 'Herrklippning, damklippning, barnklippning'],\r\n ['Typer', 'Fondlampor, Taklampor, Vägglampor'],\r\n ['Utbildningar', 'Redovisning, Biologi, Psykologi'],\r\n ['Vad', 'Blommor, godis, presentkort', true],\r\n ['Varför', 'Födelsedagar, examina, jubileum', true],\r\n ['Varor', 'Kläder, böcker, brädspel'],\r\n ['Varumärken', 'Windows, Xbox, Skype'],\r\n ['Vem', 'För honom, för henne, för par', true],\r\n ['Verktyg', 'Elektrisk, Tryckluftsdriven, Hydraulisk', true],\r\n ['Åldersgrupp', '40 och under, 41 till 50, 51 till 60', true],\r\n ]],\r\n ['TraditionalChinese', [\r\n ['主題', i18nChinese.get('StructuredSnippet_Example_Topics'), true],\r\n ['交通工具', i18nChinese.get('StructuredSnippet_Example_Vehicles'), true],\r\n ['什麼', i18nChinese.get('StructuredSnippet_Example_What'), true],\r\n ['位置', i18nChinese.get('StructuredSnippet_Example_Locations'), true],\r\n ['價錢', i18nChinese.get('StructuredSnippet_Example_Prices'), true],\r\n ['優惠', i18nChinese.get('StructuredSnippet_Example_Deals'), true],\r\n ['品牌', i18nChinese.get('StructuredSnippet_Example_Brands')],\r\n ['商品', i18nChinese.get('StructuredSnippet_Example_Goods')],\r\n ['型號', i18nChinese.get('StructuredSnippet_Example_Models')],\r\n ['大小', i18nChinese.get('StructuredSnippet_Example_Sizes'), true],\r\n ['學位課程', i18nChinese.get('StructuredSnippet_Example_Degree_programs')],\r\n ['學區', i18nChinese.get('StructuredSnippet_Example_School_districts'), true],\r\n ['工具', i18nChinese.get('StructuredSnippet_Example_Tools'), true],\r\n ['度假', i18nChinese.get('StructuredSnippet_Example_Vacations'), true],\r\n ['承保範圍', i18nChinese.get('StructuredSnippet_Example_Insurance_coverage')],\r\n ['服務', i18nChinese.get('StructuredSnippet_Example_Services')],\r\n ['服務目錄', i18nChinese.get('StructuredSnippet_Example_Service_catalog')],\r\n ['款式', i18nChinese.get('StructuredSnippet_Example_Styles')],\r\n ['每日費率', i18nChinese.get('StructuredSnippet_Example_Daily_rates'), true],\r\n ['為什麼', i18nChinese.get('StructuredSnippet_Example_Why'), true],\r\n ['目的地', i18nChinese.get('StructuredSnippet_Example_Destinations')],\r\n ['社區', i18nChinese.get('StructuredSnippet_Example_Neighborhoods')],\r\n ['等級', i18nChinese.get('StructuredSnippet_Example_Grades'), true],\r\n ['節目', i18nChinese.get('StructuredSnippet_Example_Shows')],\r\n ['精選飯店', i18nChinese.get('StructuredSnippet_Example_Featured_hotels')],\r\n ['設施', i18nChinese.get('StructuredSnippet_Example_Amenities')],\r\n ['評分', i18nChinese.get('StructuredSnippet_Example_Ratings'), true],\r\n ['語言', i18nChinese.get('StructuredSnippet_Example_Languages'), true],\r\n ['誰', i18nChinese.get('StructuredSnippet_Example_Who'), true],\r\n ['課程', i18nChinese.get('StructuredSnippet_Example_Courses')],\r\n ['費率', i18nChinese.get('StructuredSnippet_Example_Rates'), true],\r\n ['部門', i18nChinese.get('StructuredSnippet_Example_Departments'), true],\r\n ['重點項目', i18nChinese.get('StructuredSnippet_Example_Highlights'), true],\r\n ['項目', i18nChinese.get('StructuredSnippet_Example_Items')],\r\n ['類別', i18nChinese.get('StructuredSnippet_Example_Classes'), true],\r\n ['類型', i18nChinese.get('StructuredSnippet_Example_Types')],\r\n ['暢銷品', i18nChinese.get('StructuredSnippet_Example_Best_Sellers'), true],\r\n ['年齡群組', i18nChinese.get('StructuredSnippet_Example_Age_groups'), true],\r\n ['花', i18nChinese.get('StructuredSnippet_Example_Flowers'), true],\r\n ['特殊節日', i18nChinese.get('StructuredSnippet_Example_Occasions'), true],\r\n ]],\r\n ['Danish', [\r\n ['Afdelinger', 'Apparater, garage, hjemmebiograf', true],\r\n ['Aldersgruppe', '40 og derunder, 41-50, 51 til 60', true],\r\n ['Bedst sælgende', 'Dagens tilbud, Fødselsdagsbuket, Havebuket', true],\r\n ['Bedømmelser', 'Diamond, Premium, Premium Plus', true],\r\n ['Begivenheder', 'Dimissioner, Bliv rask, Ny baby', true],\r\n ['Blomster', 'Roser, tusindfryd, liljer', true],\r\n ['Daglige priser', 'Singler, par, grupper', true],\r\n ['Design', 'Højhælede, Cowboy, Knælange, Ankel'],\r\n ['Destinationer', 'Paris, Berlin, London'],\r\n ['Elementer', 'Bærbare computere, fjernsyn, spilkonsoller'],\r\n ['Emner', 'Indtægt, pension, skat', true],\r\n ['Faciliteter', 'WiFi, Pool, Fitnesscenter, Tekøkken'],\r\n ['Ferier', 'Øer, bilferier, krydstogter', true],\r\n ['Forsikringsdækning', 'ansvar, kasko, glas, billeje'],\r\n ['Højdepunkter', 'Restauranter, seværdigheder, aktiviteter', true],\r\n ['Hvad', 'Blomster, slik, gavekort', true],\r\n ['Hvem', 'Til ham, til hende, til par', true],\r\n ['Hvorfor', 'Fødselsdag, eksamen, årsdag', true],\r\n ['Kandidatprogrammer', 'Virksomhedsadministration, Regnskab, HR management'],\r\n ['Klasser', 'Defensiv kørsel, status som boligejer for nybegyndere', true],\r\n ['Køretøjer', 'Mellemstor bil, firhjulstrækker, cabriolet', true],\r\n ['Kurser', 'Creative writing, Datastrukturer, Lineær algebra'],\r\n ['Kvarterer', 'Indre by, Frederiksberg, Vesterbro'],\r\n ['Lokaliteter', 'Nordamerika, Europa, Asien', true],\r\n ['Mærker', 'Windows, Xbox, Skype'],\r\n ['Modeller', 'Corolla, Prius, Yaris'],\r\n ['Priser', 'Under 10 USD, 50-100 USD, over 1000 USD', true],\r\n ['Satser', 'Dagligt, månedligt, årligt', true],\r\n ['Servicekatalog', 'Olieskift, Smogtjek, Hjuljustering'],\r\n ['Serviceydelser', 'Herrefrisør, Damefrisør, Børnefrisør'],\r\n ['Shows', 'Mama Mia, Matador, Gasolin'],\r\n ['Skoledistrikter', 'Udforsk, vurderinger, forslag', true],\r\n ['Sprog', 'Engelsk, spansk, kinesisk', true],\r\n ['Størrelser', 'Lille, medium, stor', true],\r\n ['Tilbud', 'Oprydningsvarer, køb en, og få en, rabatter til studerende', true],\r\n ['Typer', 'T-Shirts, Krus, Tasker, Kuglepenne'],\r\n ['Udvalgte hoteller', 'Skt. Petri, Nimb, Stella Maris'],\r\n ['Værktøjer', 'Elektrisk, pneumatisk, hydraulisk', true],\r\n ['Varer', 'Tøj, Bøger, Brætspil'],\r\n ['Vurderinger', 'Mest populære, billigste, flest anmeldelser', true],\r\n ]],\r\n ['Finnish', [\r\n ['Aiheet', 'Tulot, eläke, verot', true],\r\n ['Ajoneuvot', 'Compact, katumaasturi, avoauto', true],\r\n ['Arvosanat', 'Diamond, Premium, Premium Plus', true],\r\n ['Esitellyt hotellit', 'Omena-hotelli, Arthur, Helka'],\r\n ['Esitykset', 'Sinkkuelämää, Medusan isku, Räjähdyspisteessär'],\r\n ['Hinnat', 'Päivittäinen, kuukausittainen, vuosittainen', true],\r\n ['Hintataso', 'Alle 10 $, 50 $ – 100 $, yli 1 000 $', true],\r\n ['Huoltoluettelo', 'Öljynvaihto'],\r\n ['Ikäryhmä', '40 ja alle, 41-50, 51–60', true],\r\n ['Juhlapäivät', 'Valmistujaiset, nouse hyvin, Uusi vauva', true],\r\n ['Kaupunginosat', 'Aleksanterinkatu'],\r\n ['Kielet', 'Englanti, espanja, kiina', true],\r\n ['Kohokohdat', 'Syötävää, nähtävää, tehtävää', true],\r\n ['Koot', 'Pieni, keskikokoinen, suuri', true],\r\n ['Koulupiirit', 'Selaa, sijoitukset, ehdotukset', true],\r\n ['Kuka', 'Miehelle, naiselle, pariskunnille', true],\r\n ['Kukkia', 'Ruusut, Koiranputket, liljat', true],\r\n ['Kurssit', 'Luova kirjoittaminen, Tietorakenteet, Lineaarinen algebra'],\r\n ['Lomat', 'Saaret, automatkat, risteilyt', true],\r\n ['Luokat', 'Turvallinen ajaminen, kodinomistajan perusteet', true],\r\n ['Luokitukset', 'Myydyimmät, halvimmat, arvioiduimmat', true],\r\n ['Määränpäät', 'Pariisi, Berliini, Lontoo'],\r\n ['Mallit', 'Corolla, Prius, Yaris'],\r\n ['Miksi', 'Syntymäpäivä, valmistuminen, vuosipäivä', true],\r\n ['Mitä', 'Kukat, makeiset, lahjakortit', true],\r\n ['Mukavuudet', 'W-iFi, Uima-allas, Pienoiskeittiö'],\r\n ['Nimikkeet', 'Kannettavat, TV:t, Pelikonsolit'],\r\n ['Osastot', 'Kodinkoneet, korjaamo, kotiteatteri', true],\r\n ['Päivähinnat', 'Sinkut, pariskunnat, ryhmät', true],\r\n ['Palvelut', 'Miesten hiustenleikkuu, Naisten hiustenleikkuu, Lasten hiustenleikkuu'],\r\n ['Parhaat myyjät', 'Päivän tarjous, syntymäpäiväkimppu, puutarhakimppu', true],\r\n ['Sijainnit', 'Pohjois-Amerikka, Eurooppa, Aasia', true],\r\n ['Tarjoukset', 'Poistotuotteet, kaksi yhden hinnalla, opiskelija-alennukset', true],\r\n ['Tavarat', 'Vaatetus, Kirjat, Lautapelit'],\r\n ['Tuotemerkit', 'Windows, Xbox, Skype'],\r\n ['Tutkinto-ohjelmat', 'Liikkeenjohto, Kirjanpito, Henkilöstöhallinto'],\r\n ['Työkalut', 'Sähköinen, pneumaattinen, hydraulinen', true],\r\n ['Tyylit', 'Mokkasiinit, Bootsit, Maihinnousukengät, Chelsea-bootsit'],\r\n ['Tyypit', 'T-paidat, Mukit, Laukut, Kynät'],\r\n ['Vakuutuksen kattavuus', 'Kolmannen osapuolen vastuu, Kolari, Sateenvarjo, Autovuokraamot'],\r\n ]],\r\n ['Norwegian', [\r\n ['Aldersgruppe', '40 and under, 41 to 50, 51 to 60', true],\r\n ['Anledninger', 'Graduations, Get well, New baby', true],\r\n ['Avdelinger', 'Apparater, verksted, hjemmekino', true],\r\n ['Bestselgere', 'Deal of the day, Birthday bouquet, Garden bouquet', true],\r\n ['Blomster', 'Roses, Daisies, Lilies', true],\r\n ['Destinasjoner', 'Paris, Berlin, London'],\r\n ['Emner', 'Inntekt, pensjon, skatt', true],\r\n ['Fasiliteter', 'WiFi, Basseng, Treningssenter, Kjøkkenkrok'],\r\n ['Ferier', 'Øyer, bilturer, cruisereiser', true],\r\n ['Forsikring', 'Ansvarsforsikring, Kasko, Reiseforsikring, Bilutleie'],\r\n ['Fremhevede hoteller', 'Radisson, Thon, Scandic'],\r\n ['Gjenstander', 'Bærbare datamaskiner, TV-er, spillkonsoller'],\r\n ['Høydepunkter', 'Ting å spise, ting å se, ting å gjøre', true],\r\n ['Hva', 'Blomster, søtsaker, gavekort', true],\r\n ['Hvem', 'For ham, for henne, for par', true],\r\n ['Hvorfor', 'Bursdag, skoleavslutning, jubileum', true],\r\n ['Karakterer', 'Diamant, Premium, Premium Pluss', true],\r\n ['Kjøretøyer', 'Kompaktbil, SUV, kabriolet', true],\r\n ['Klasser', 'Defensiv kjøring, ny huseier', true],\r\n ['Kurs', 'Kreativ skriving, datastrukturer, lineær algebra'],\r\n ['Lokasjoner', 'Nord-Amerika, Europa, Asia', true],\r\n ['Merkevarer', 'Windows, Xbox, Skype'],\r\n ['Modeller', 'Corolla, Prius, Yaris'],\r\n ['Nabolag', 'Grünerløkka, Majorstuen, Tøyen'],\r\n ['Priser', 'Under $10, $50–$100, over $1000', true],\r\n ['Priser per dag', 'Single, par, grupper', true],\r\n ['Rangeringer', 'Bestselgere, billigst, flest anbefalinger', true],\r\n ['Satser', 'Daglig, månedlig, årlig', true],\r\n ['Servicekatalog', 'Oljebytte, Avgasskontroll, Dekkjustering'],\r\n ['Skoleområder', 'Utforsk, rangeringer, forslag', true],\r\n ['Språk', 'Engelsk, spansk, kinesisk', true],\r\n ['Stiler', 'Vintage, Streetstyle, Rock, Chic'],\r\n ['Størrelser', 'Liten, medium, stor', true],\r\n ['Tilbud', 'Salgsvarer, To for én, Studentrabatter', true],\r\n ['Tjenester', 'Langt hår, Kort hår, Barneklipp'],\r\n ['TV-serier', 'Farmen, Side om Side, SKAM'],\r\n ['Typer', 'T-skjorter, Kopper, Sekker, Penner'],\r\n ['Universitetsprogrammer', 'Bedriftsøkonomi, Regnskapsføring, HR'],\r\n ['Varer', 'Klær, bøker, brettspill'],\r\n ['Verktøyer', 'Elektrisk, pneumatisk, hydraulisk', true],\r\n ]],\r\n ['Polish', [\r\n ['Atrakcje', 'Co zjeść, Co zobaczyć, Co robić', true],\r\n ['Najlepsi sprzedawcy', 'Oferta dnia, Bukiet urodzinowy, Bukiet ogrodowy', true],\r\n ['Ceny', 'Poniżej 10 USD, 50–100 USSD, Powyżej 1000 USD', true],\r\n ['Co', 'Kwiaty, Słodycze, Karty podarunkowe', true],\r\n ['Dlaczego', 'Urodziny, Ukończenie szkoły, Rocznica', true],\r\n ['Działy', 'Urządzenia, Warsztat, Kino domowe', true],\r\n ['Grupa wiekowa', '40 lat i mniej, od 41 do 50 lat, od 51 do 60 lat', true],\r\n ['Języki', 'Angielski, Hiszpański, Chiński', true],\r\n ['Katalog usług', 'Wymiana oleju, Kontrola emisji spalin, Zbieżność kół'],\r\n ['Kategorie', 'Diamond, Premium, Premium Plus', true],\r\n ['Kierunki', 'Paryż, Berlin, Londyn'],\r\n ['Kto', 'Dla Niego, Dla Niej, Dla par', true],\r\n ['Kursy', 'Twórcze pisanie, Struktury danych, Algebra liniowa'],\r\n ['Kwiaty', 'róże, stokrotki, lilie', true],\r\n ['Lekcje', 'Jazda defensywna, Podstawowe informacje o mieszkaniu na własność', true],\r\n ['Lokalizacje', 'Ameryka Północna, Europa, Azja', true],\r\n ['Marki', 'Windows, Xbox, Skype'],\r\n ['Modele', 'Corolla, Prius, Yaris'],\r\n ['Narzędzia', 'Elektryczne, Pneumatyczne, Hydrauliczne', true],\r\n ['Obwody szkół', 'Przeglądaj, Rankingi, Sugestie', true],\r\n ['Oceny', 'Najczęściej kupowane, Najtańsze, Najczęściej oceniane', true],\r\n ['Okazje', 'Artykuły z wyprzedaży, 1 + 1 gratis, Zniżki studenckie', true],\r\n ['Okazje', 'Ukończenie szkoły, Wyzdrowiej, Nowe dziecko', true],\r\n ['Osiedla', 'Dzielnica finansowa, SOMA, North Beach'],\r\n ['Pojazdy', 'Kompakt, SUV, Kabriolet', true],\r\n ['Pokazy', 'The Voyage, Knights, American Dancer'],\r\n ['Polecane hotele', 'Luxury Inn, Alpine Lodge, Lakeside Hotel'],\r\n ['Pozycje', 'Laptopy, Telewizory, Konsole do gier'],\r\n ['Produkty', 'Odzież, Książki, Gra planszowa'],\r\n ['Rozmiary', 'Małe, Średnie, Duże', true],\r\n ['Stawki', 'Dziennie, Miesięcznie, Rocznie', true],\r\n ['Stawki dzienne', 'Single, Pary, Grupy', true],\r\n ['Studia', 'Zarządzanie, Księgowość, Zarządzanie kadrami'],\r\n ['Style', 'Chukka, Kowbojki, Glany, Sztyblety'],\r\n ['Tematy', 'Przychód, Emerytura, Podatki', true],\r\n ['Typy', 'T-shirty, Kubki, Torby, Długopisy'],\r\n ['Udogodnienia', 'Wi-Fi, Basen, Centrum fitness, Aneks kuchenny'],\r\n ['Usługi', 'Strzyżenie męskie, Strzyżenie damskie, Strzyżenie dziecięce'],\r\n ['Wakacje', 'Wyspy, Wycieczki objazdowe, Rejsy', true],\r\n ['Zakres ubezpieczenia', 'OC, AC, Polisy parasolowe, Wypożyczalnie samochodów'],\r\n ]],\r\n ['Turkish', [\r\n ['Aletler', 'Elektrik, Pnömatik, Hidrolik', true],\r\n ['Araçlar', 'Kompakt, SUV, Üstü açılabilir', true],\r\n ['Boyutlar', 'Küçük, Orta, Büyük', true],\r\n ['Çiçekler', 'Güller, Papatyalar, Zambaklar', true],\r\n ['Departmanlar', 'Elektrikli aletler, Garaj, Ev sineması', true],\r\n ['Derecelendirmeler', 'Çok satanlar, En ucuzlar, En çok değerlendirilenler', true],\r\n ['Diller', 'İngilizce, İspanyolca, Çince', true],\r\n ['Fırsatlar', 'Mezuniyetler, İyileşin, Yeni bebek', true],\r\n ['En Çok Satanlar', 'Günün fırsatı, Doğum günü buketi, Bahçe buketi', true],\r\n ['Fiyatlar', '10 ABD Dolarının altı, 50-100 ABD Doları arası, 1000 ABD Dolarının üstü', true],\r\n ['Fırsatlar', 'Sezon sonu ürünleri, Bir alana bir bedava, Öğrenci indirimleri', true],\r\n ['Gösteriler', 'The Voyage, Knights, American Dancer'],\r\n ['Günlük ücretler', 'Tek kişi, Çift, Grup', true],\r\n ['Hizmet kataloğu', 'Yağ değişimi, Emisyon kontrolü, Teker hizalaması'],\r\n ['Hizmetler', 'Erkek saç kesimi, Kadın saç kesimi, Çocuk saç kesimi'],\r\n ['Kim', 'Erkekler için, Kadınlar için, Çiftler için', true],\r\n ['Konu başlıkları', 'Gelir, Emeklilik, Vergiler', true],\r\n ['Konumlar', 'Kuzey Amerika, Avrupa, Asya', true],\r\n ['Kurslar', 'Yaratıcı yazarlık, Veri yapıları, Lineer cebir'],\r\n ['Lisans programları', 'İş yönetimi, Muhasebe, İK yönetimi'],\r\n ['Mahalleler', 'Finans bölgesi, SOMA, Kuzey Sahili'],\r\n ['Markalar', 'Windows, Xbox, Skype'],\r\n ['Modeller', 'Corolla, Prius, Yaris'],\r\n ['Ne', 'Çiçekler, Şekerler, Hediye kartları', true],\r\n ['Neden', 'Doğun günü, Mezuniyet, Yıl dönümü', true],\r\n ['Notlar', 'Diamond, Premium, Premium Plus', true],\r\n ['Öğeler', 'Dizüstü bilgisayarlar, Televizyonlar, Oyun konsolları'],\r\n ['Okul bölgeleri', 'Keşfet, Sıralamalar, Öneriler', true],\r\n ['Olanaklar', 'WiFi, Havuz, Fitness merkezi, Mutfak'],\r\n ['Öne çıkan oteller', 'Lüks Otel, Dağ Evi, Göl Kenarı Oteli'],\r\n ['Öne çıkanlar', 'Yenecek yemekler, görülecek yerler, yapılacak şeyler', true],\r\n ['Sigorta kapsamı', 'Üçüncü taraf sorumluluğu, Çarpışma, Şemsiye, Araba kiralama'],\r\n ['Sınıflar', 'İleri sürüş teknikleri, Ev sahipliğine giriş', true],\r\n ['Stiller', 'Chukka, Kovboy, Asker, Chelsea'],\r\n ['Tatiller', 'Adalar, Seyahatler, Yat gezileri', true],\r\n ['Türler', 'Tişörtler, Kupalar, Çantalar, Kalemler'],\r\n ['Ücretler', 'Günlük, Aylık, Yıllık', true],\r\n ['Ürünler', 'Kıyafet, Kitap, Kutu oyunu'],\r\n ['Varış noktaları', 'Paris, Berlin, London'],\r\n ['Yaş grupları', '40 yaş ve altı, 41 ila 50, 51 ila 60', true],\r\n ]],\r\n ['Greek', [\r\n ['Αγαθά', 'Ρούχα, Βιβλία, Επιτραπέζια παιχνίδια'],\r\n ['Αξιολογήσεις', 'Ευπώλητα, Φθηνότερα, Με τις περισσότερες κριτικές', true],\r\n ['Ασφαλιστική κάλυψη', 'Ευθύνη τρίτου μέρους, Σύγκρουση, Ευρεία κάλυψη, Ενοικίαση αυτοκινήτων'],\r\n ['Βαθμοί', 'Diamond, Premium, Premium Plus', true],\r\n ['Γειτονιές', 'Financial district, SOMA, North Beach'],\r\n ['Γιατί', 'Γενέθλια, Αποφοίτηση, Επέτειος', true],\r\n ['Γλώσσες', 'Αγγλικά, Ισπανικά, Κινεζικά', true],\r\n ['Διακοπές', 'Νησιά, Οδικά ταξίδια, Κρουαζιέρες', true],\r\n ['Εκπομπές', 'The Voyage, Knights, American Dancer'],\r\n ['Επιλεγμένα ξενοδοχεία', 'Luxury Inn, Alpine Lodge, Lakeside Hotel'],\r\n ['Επισημάνσεις', 'Φαγητό, Αξιοθέατα, Δραστηριότητες', true],\r\n ['Εργαλεία', 'Ηλεκτρικό, Πεπιεσμένου αέρα, Υδραυλικό', true],\r\n ['Ηλικιακές ομάδες', '40 και κάτω, 41 έως 50, 51 έως 60', true],\r\n ['Ημερήσιες τιμές', 'Εργένηδες, Ζευγάρια, Ομάδες', true],\r\n ['Θέματα', 'Εισόδημα, Συνταξιοδότηση, Φόροι', true],\r\n ['Κατάλογος υπηρεσιών', 'Αλλαγή λαδιών, Έλεγχος εκπομπών, Ευθυγράμμιση ελαστικών'],\r\n ['Λουλούδια', 'Τριαντάφυλλα, Μαργαρίτες, Κρίνα', true],\r\n ['Μαθήματα', 'Δημιουργική γραφή, Δομές δεδομένων, Γραμμική άλγεβρα'],\r\n ['Μάρκες', 'Windows, Xbox, Skype'],\r\n ['Μεγέθη', 'Μικρό, Μεσαίο, Μεγάλο', true],\r\n ['Μοντέλα', 'Corolla, Prius, Yaris'],\r\n ['Οχήματα', 'Μικρό πόλης, SUV, Ανοιχτό', true],\r\n ['Παροχές', 'WiFi, Πισίνα, Γυμναστήριο, Μικρή κουζίνα'],\r\n ['Περιστάσεις', 'Αποφοιτήσεις, Γίνετε καλά, Νέο μωρό', true],\r\n ['Ποιος', 'Για εκείνον, Για εκείνη, Για ζευγάρια', true],\r\n ['Προγράμματα πτυχίου', 'Διοίκηση επιχειρήσεων, Λογιστική, Διαχείριση ανθρώπινων πόρων'],\r\n ['Προορισμοί', 'Παρίσι, Βερολίνο, Λονδίνο'],\r\n ['Στοιχεία', 'Φορητοί υπολογιστές, Τηλεοράσεις, Κονσόλες παιχνιδιών'],\r\n ['Στυλ', 'Chukka, Cowboy, Combat, Chelsea'],\r\n ['Συμφωνίες', 'Εκπτωτικά είδη, Αγοράζετε ένα και παίρνετε ένα δωρεάν, Φοιτητικές εκπτώσεις', true],\r\n ['Σχολικές περιφέρειες', 'Εξερεύνηση, Βαθμολογία, Προτάσεις', true],\r\n ['Τάξεις', 'Αμυντική οδήγηση, Εισαγωγή στην ιδιοκατοίκηση', true],\r\n ['Τι', 'Λουλούδια, Γλυκά, Κάρτες δώρων', true],\r\n ['Τιμές', 'Κάτω από 10 $, 50-100 $, Πάνω από 1000 $', true],\r\n ['Τιμοκατάλογος', 'Καθημερινά, Μηνιαία, Ετήσια', true],\r\n ['Τμήματα', 'Οικιακές συσκευές, Γκαράζ, Οικιακός κινηματογράφος', true],\r\n ['Τοποθεσίες', 'Βόρεια Αμερική, Ευρώπη, Ασία', true],\r\n ['Τύποι', 'Μπλουζάκια, Κούπες, Τσάντες, Στυλό'],\r\n ['Υπηρεσίες', 'Ανδρικό κούρεμα, Γυναικείο κούρεμα, Παιδικό κούρεμα'],\r\n ['Best sellers', 'Προσφορά της ημέρας, Ανθοδέσμη γενεθλίων, ανθοδέσμη κήπου', true],\r\n ]],\r\n ['Bulgarian', [\r\n ['Акценти', 'Какво да хапнете, Какво да видите, Какво да направите', true],\r\n ['Бестселъри', 'Сделка за деня, букет за рожден ден, букет от градината', true],\r\n ['Ваканции', 'Острови, Пътувания, Круизи', true],\r\n ['Възрастови групи', '40 и по-малко, от 41 до 50, от 51 до 60', true],\r\n ['Дестинации', 'Париж, Берлин, Лондон'],\r\n ['Дипломни програми', 'Бизнес администрация, Счетоводство, Управление на човешки ресурси'],\r\n ['Дневни ставки', 'Необвързани, Двойки, Групи', true],\r\n ['Езици', 'Английски, Испански, Китайски', true],\r\n ['Елементи', 'Лаптопи, Телевизори, Конзоли за игри'],\r\n ['Застрахователно покритие', 'Отговорност на трети лица, Катастрофа, Частна застраховка, Коли под наем'],\r\n ['Защо', 'Рожден ден, Дипломиране, Годишнина', true],\r\n ['Инструменти', 'Електрически, Пневматични, Хидравлични', true],\r\n ['Какво', 'Цветя, Бонбони, Подаръчни картички', true],\r\n ['Каталог на услугите', 'Смяна на маслото, Проверка за вредни емисии, Реглаж на гумите'],\r\n ['Квартали', 'Финансови центрове, Финанси, Бизнес парк'],\r\n ['Класове', 'Отбранително шофиране, Първи стъпки в собствеността на домове', true],\r\n ['Кой', 'За него, За нея, За двойки', true],\r\n ['Курсове', 'Творческо писане, Структури на данни, Линейна алгебра'],\r\n ['Марки', 'Windows, Xbox, Skype'],\r\n ['Местоположения', 'Северна Америка, Европа, Азия', true],\r\n ['Модели', 'Corolla, Prius, Yaris'],\r\n ['Отдел', 'Уреди, Гараж, Домашно кино', true],\r\n ['Оферти', 'Продукти от разпродажба, Купете едно – вземете още едно, Студентски отстъпки', true],\r\n ['Оценки от критици', 'Диамантено, Премиум, Премиум плюс', true],\r\n ['Оценки', 'Най-добри продавачи, Най-евтини, Най-разглеждани', true],\r\n ['Превозни средства', 'Компактен, Джип, Кабриолет', true],\r\n ['Предавания', 'Последният печели, 120 минути, Моят плейлист'],\r\n ['Препоръчани хотели', 'Луксозна гостоприемница, Планинска хижа, Крайезерен хотел'],\r\n ['Размери', 'Малки, Средни, Големи', true],\r\n ['Ставки', 'Дневно, Месечно, Годишно', true],\r\n ['Стилове', 'Chukka, Cowboy, Combat, Chelsea'],\r\n ['Стоки', 'Облекла, Книги, Настолни игри'],\r\n ['Събития', 'Дипломирания, оздравявай, ново бебе', true],\r\n ['Теми', 'Доходи, Пенсиониране, Данъци', true],\r\n ['Типове', 'Тениски, Чаши, Чанти, Химикалки'],\r\n ['Удобства', 'WiFi, Басейн, Фитнес център, Кухненски бокс'],\r\n ['Услуги', 'Мъжко подстригване, Женско подстригване, Детско подстригване'],\r\n ['Училищни райони', 'Разглеждане, Класирания, Предложения', true],\r\n ['Цветя', 'Рози, маргаритки, лилии', true],\r\n ['Цени', 'Под 10 $, 50 – 100 $, Над 100 $', true],\r\n ]],\r\n ['Croatian', [\r\n ['Alati', 'Elektrika, pneumatika, hidraulika', true],\r\n ['Četvrti', 'Siget, Novi Zagreb – zapad'],\r\n ['Cijene', 'Ispod 10 USD, 50 – 100 USD, iznad 100 USD', true],\r\n ['Cvijeće', 'Ruže, tratinčice, ljiljani'],\r\n ['Diplomski programi', 'Poslovna administracija, računovodstvo, upravljanje ljudskim resursima'],\r\n ['Dnevne cijene', 'Samci, parovi, grupe', true],\r\n ['Dobne grupe', '40 i manje, 41 do 50, 51 do 60', true],\r\n ['Emisije', 'Kruna, Vikinzi, Ples sa zvijezdama'],\r\n ['Godišnji odmori', 'Otoci, putovanja automobilom, krstarenja', true],\r\n ['Istaknuti dijelovi', 'Što jesti, što vidjeti, što raditi', true],\r\n ['Izdvojeni hoteli', 'Luksuzno prenoćište, Alpine Lodge, hotel uz jezero'],\r\n ['Jezici', 'engleski, španjolski, kineski', true],\r\n ['Katalog usluga', 'Promjena ulja, provjera emisije ispušnih plinova, poravnanje kotača'],\r\n ['Kolegiji', 'Kreativno pisanje, strukture podataka, linearna algebra'],\r\n ['Lokacije', 'Sjeverna Amerika, Europa, Azija', true],\r\n ['Modeli', 'Corolla, Prius, Yaris'],\r\n ['Najprodavaniji', 'Ponuda dana, rođendanski buket, vrtni buket', true],\r\n ['Nastavni satovi', 'Defenzivna vožnja, vlasništvo stambene nekretnine za početnike', true],\r\n ['Ocjene', 'Najbolji prodavači, najjeftinije, najviše recenzija', true],\r\n ['Odjel', 'Uređaji, garaža, kućno kino', true],\r\n ['Odredišta', 'Pariz, Berlin, London'],\r\n ['Pogodnosti', 'Wi-Fi, bazen, fitness centar, mala kuhinja'],\r\n ['Polica osiguranja', 'Odgovornost treće strane, sudar, polica osiguranja, iznajmljivanje automobila'],\r\n ['Ponude', 'Proizvodi na sniženju, kupite jedan i drugi dobijte besplatno, popusti za studente', true],\r\n ['Prigode', 'Diploma, Ozdravi, Nova beba', true],\r\n ['Razredi', 'Diamond, Premium, Premium Plus', true],\r\n ['Roba', 'Odjeća, knjige, društvene igre'],\r\n ['Robne marke', 'Windows, Xbox, Skype'],\r\n ['Školska područja', 'Istraživanje, rangiranja, prijedlozi', true],\r\n ['Stavke', 'Prijenosna računala, televizori, igraće konzole'],\r\n ['Stilovi', 'Poluvisoke čizme, kaubojske čizme, vojničke čizme, gležnjače'],\r\n ['Što', 'Cvijeće, slatkiši, darovne kartice', true],\r\n ['Tarife', 'Dnevno, mjesečno, godišnje', true],\r\n ['Teme', 'Prihod, mirovina, porezi', true],\r\n ['Tko', 'Za njega, za nju, za parove', true],\r\n ['Usluge', 'Muška frizura, ženska frizura, dječja frizura'],\r\n ['Veličine', 'Malo, srednje, veliko', true],\r\n ['Vozila', 'Kompaktna vozila, teretni automobili, kabrioleti', true],\r\n ['Vrste', 'Majice, šalice, torbe, olovke'],\r\n ['Zašto', 'Rođendan, diplomiranje, godišnjica', true],\r\n ]],\r\n ['Czech', [\r\n ['Ceny', 'Pod 10 $, 50–100 $, přes 100 $', true],\r\n ['Cíle', 'Paříž, Berlín, Londýn'],\r\n ['Co', 'Květiny, svíčky, dárkové karty', true],\r\n ['Čtvrti', 'Václavské náměstí, Plzeň-sever, Špilberk'],\r\n ['Denní sazby', 'Jednotlivci, páry, skupiny', true],\r\n ['Doporučené hotely', 'Luxusní restaurace, alpská chata, hotel u jezera'],\r\n ['Dovolená', 'Ostrovy, výlety, výletní plavby', true],\r\n ['Hlavní události', 'Co ochutnat, co vidět, co dělat', true],\r\n ['Hodnocení', 'Nejprodávanější, nejlevnější, nejprohlíženější', true],\r\n ['Jazyky', 'Angličtina, španělština, čínština', true],\r\n ['Katalog služeb', 'Výměna oleje, kontrola smogu, vyrovnání pneumatik'],\r\n ['Kdo', 'Pro něj, pro ni, pro páry', true],\r\n ['Kurzy', 'Kreativní psaní, datové struktury, lineární algebra'],\r\n ['Květiny', 'Růže, Sedmikrásky, Lilie', true],\r\n ['Místa', 'Severní Amerika, Evropa, Asie', true],\r\n ['Modely', 'Corolla, Prius, Yaris'],\r\n ['Nabídky', 'Výprodej zboží, 1+1 zdarma, studentské slevy', true],\r\n ['Nástroje', 'Elektrické, pneumatické, hydraulické', true],\r\n ['Nejprodávanější', 'Výhoda dne, Narozeninová kytice, Zahradní kytice', true],\r\n ['Oddělení', 'Spotřebiče, garáž, domácí kino', true],\r\n ['Pojistné krytí', 'Odpovědnost za škodu, bouračka, ochrana, Pronájem automobilů'],\r\n ['Položky', 'Notebooky, televize, herní konzole'],\r\n ['Pořady', 'Perníkový táta, Vikingové, StarDance'],\r\n ['Proč', 'Narozeniny, promoce, výročí', true],\r\n ['Příležitosti', 'Promoce, Brzy se uzdrav, Narození dítěte', true],\r\n ['Sazby', 'Denní, měsíční, roční', true],\r\n ['Školní okrsky', 'Zkoumání, žebříčky, návrhy', true],\r\n ['Služby', 'Pánský účes, dámský účes, dětský účes'],\r\n ['Studijní programy', 'Obchodní administrativa, účetnictví, management lidských zdrojů'],\r\n ['Styly', 'Chukka, kovbojské, glády, Chelsea'],\r\n ['Témata', 'Příjem, důchod, daně', true],\r\n ['Třídy', 'Defenzivní jízda, Vlastnictví domu 101', true],\r\n ['Typy', 'Trička, hrnky, tašky, pera'],\r\n ['Věkové skupiny', 'Do 40 let včetně, od 41 do 50, od 51 do 60', true],\r\n ['Velikosti', 'Malé, střední, velké', true],\r\n ['Vozidla', 'Nižší střední třída, SUV, kabriolet', true],\r\n ['Vybavení', 'WiFi, bazén, posilovna, kuchyňka'],\r\n ['Zboží', 'Oblečení, knihy, deskové hry'],\r\n ['Značky', 'Windows, Xbox, Skype'],\r\n ['Známky', 'Diamond, Premium, Premium Plus', true],\r\n ]],\r\n ['Estonian', [\r\n ['Artiklid', 'Sülearvutid, telerid, mängukonsoolid'],\r\n ['Asukohad', 'Põhja-Ameerika, Euroopa, Aasia', true],\r\n ['Asumid', 'Vanalinn, Põhja-Tallinn, Pirita'],\r\n ['Enim müüdud', 'Päevapakkumine, sünnipäevakimp, aiakimp', true],\r\n ['Esiletõstetud hotellid', 'Luksushotell, alpimajake, järveäärne hotell'],\r\n ['Etendused', '„Mandariinid“, „Vehkleja“, „Klassikokkutulek“'],\r\n ['Hinded', 'Teemant, Premium, Premium Plus', true],\r\n ['Hinnad', 'Alla 10 €, 50–100 €, üle 100 €', true],\r\n ['Hinnangud', 'Populaarseimad, odavaimad, enim arvustusi', true],\r\n ['Kaubad', 'Riided, raamatud, lauamängud'],\r\n ['Kaubamärgid', 'Windows, Xbox, Skype'],\r\n ['Keeled', 'inglise, hispaania, hiina', true],\r\n ['Kes?', 'Mehele, naisele, paaridele', true],\r\n ['Kindlustuskate', 'Kolmanda poole vastutus, kokkupõrge, omavastutuse kindlustus, autorent'],\r\n ['Koolipiirkonnad', 'Tutvustus, pingeread, soovitused', true],\r\n ['Kraadiõppeprogrammid', 'Ärijuhtimine, raamatupidamine, personalijuhtimine'],\r\n ['Kursused', 'Loovkirjutamine, andmestruktuurid, lineaaralgebra'],\r\n ['Lilled', 'Roosid, karikakrad, liiliad', true],\r\n ['Maksumused', 'Päevane, kuine, aastane', true],\r\n ['Miks?', 'Sünnipäev, kooli lõpetamine, aastapäev', true],\r\n ['Mis?', 'Lilled, maiustused, kinkekaardid', true],\r\n ['Mudelid', 'Corolla, Prius, Yaris'],\r\n ['Osakond', 'Kodumasinad, garaaž, kodukino', true],\r\n ['Päevahinnad', 'Üksikinimesed, paarid, rühmad', true],\r\n ['Pakkumised', 'Lõpumüük, osta üks, saa üks, õppurisoodustus', true],\r\n ['Puhkused', 'Saared, autoreisid, kruiisid', true],\r\n ['Sihtkohad', 'Pariis, Berliin, London'],\r\n ['Sõidukid', 'Väikeauto, linnamaastur, kabriolett', true],\r\n ['Soodustused', 'WiFi, bassein, fitnessikeskus, miniköök'],\r\n ['Stiilid', 'Chukka, Cowboy, Combat, Chelsea'],\r\n ['Suurused', 'Väike, keskmine, suur', true],\r\n ['Sündmused', 'Koolilõpetamine, „head paranemist“, lapse sünd', true],\r\n ['Tähtsündmused', 'Mida süüa? Mida vaadata? Mida teha?', true],\r\n ['Teemad', 'Sissetulek, pension, maksud', true],\r\n ['Teenused', 'Meestelõikus, naistelõikus, lastelõikus'],\r\n ['Teenusekataloog', 'Õlivahetus, heitgaaside kontroll, rehvide joondamine'],\r\n ['Tööriistad', 'Elektriline, pneumaatiline, hüdrauliline', true],\r\n ['Tunnid', 'Ohutu sõit, Kodumajandus 101', true],\r\n ['Tüübid', 'T-krekli, krūzes, somas, pildspalvas'],\r\n ['Vanuserühmad', '40-aastased ja nooremad, 41- kuni 50-aastased, 51- kuni 60-aastased', true],\r\n ]],\r\n ['Hungarian', [\r\n ['A legtöbbet eladott termékek', 'A nap ajánlata, Születésnapi csokor, Kerti csokor', true],\r\n ['Ajánlatok', 'Akciós áruk, egyet fizet, kettőt kap, diákkedvezmények', true],\r\n ['Árak', '10 dollár alatt, 50és 100 dollár között, 100 dollár felett', true],\r\n ['Áruk', 'Ruházat, könyvek, társasjátékok'],\r\n ['Biztosítási fedezet', 'Felelősségbiztosítás, baleset, esernyő, autóbérlés'],\r\n ['Célállomások', 'Párizs, Berlin, London'],\r\n ['Díjak', 'Napi, havi, éves', true],\r\n ['Elemek', 'Laptopok, tévék, játékkonzolok'],\r\n ['Előadások', 'Trónok harca, Vaják, Maffiózók'],\r\n ['Értékelések', 'Legnépszerűbb, legolcsóbb, legtöbbször értékelt', true],\r\n ['Események', 'Ballagások, Jobbulást, Új baba', true],\r\n ['Eszközök', 'Elektromos, pneumatikus, hidraulikus', true],\r\n ['Helyek', 'Észak-Amerika, Európa, Ázsia', true],\r\n ['Járművek', 'Kompakt, SUV, kabrió', true],\r\n ['Kényelmi szolgáltatások', 'Wi-Fi, medence, edzőterem, főzőfülke'],\r\n ['Képzések', 'Gazdaságtudomány, könyvelés, HR-irányítás'],\r\n ['Ki', 'Ajándékok férfiaknak, nőknek, pároknak', true],\r\n ['Kiemelt szállodák', 'Luxusszálló, hegyi szállás, tóparti szálloda'],\r\n ['Korcsoportok', '40 és alatti, 41–50, 51–60', true],\r\n ['Márkák', 'Windows, Xbox, Skype'],\r\n ['Méretek', 'Kicsi, közepes, nagy', true],\r\n ['Mi', 'Virágok, édességek, ajándékkártyák', true],\r\n ['Miért', 'Születésnap, ballagás, évforduló', true],\r\n ['Modellek', 'Corolla, Prius, Yaris'],\r\n ['Napi árak', 'Egyszemélyes, kétszemélyes, csoportos', true],\r\n ['Nyaralás', 'Szigetek, autós túrák, körutazások', true],\r\n ['Nyelvek', 'Angol, spanyol, kínai', true],\r\n ['Összefoglaló', 'Ennivalók, látnivalók, tennivalók', true],\r\n ['Osztály', 'Háztartási gépek, garázs, házimozi', true],\r\n ['Osztályok', 'Defenzív vezetés, ingatlanvásárlási alapok', true],\r\n ['Osztályzatok', 'Gyémánt, Prémium, Prémium plusz', true],\r\n ['Stílusok', 'Sport, tenisz, utcai, gördeszkás'],\r\n ['Szolgáltatáskatalógus', 'Olajcsere, károsanyag-kibocsátási ellenőrzés, futómű-beállítás'],\r\n ['Szolgáltatások', 'Fodrászat férfiaknak, nőknek, gyerekeknek'],\r\n ['Tanfolyamok', 'Kreatív írás, adatszerkezetek, lineáris algebra'],\r\n ['Tankerületek', 'Felfedezés, rangsorok, javaslatok', true],\r\n ['Témák', 'Jövedelem, nyugdíj, adók', true],\r\n ['Típusok', 'Pólók, bögrék, táskák, tollak'],\r\n ['Városrészek', 'Pénzügyi negyed, Belváros, Főutca'],\r\n ['Virágok', 'Rózsa, százszorszép, liliom', true],\r\n ]],\r\n ['Latvian', [\r\n ['Aktualitātes', 'Ko ēst, ko apskatīt, ko darīt', true],\r\n ['Apdrošināšanas segums', 'Trešās puses atbildība, sadursme, lietussargs, automašīnu noma'],\r\n ['Apkaimes', 'Centrs, Āgenskalns, Vecāķi'],\r\n ['Atrašanās vietas', 'Ziemeļamerika, Eiropa, Āzija', true],\r\n ['Atvaļinājumi', 'Salas, braucieni, kruīzi', true],\r\n ['Atzīmes', 'Diamond, Premium, Premium Plus', true],\r\n ['Bestselleri', 'Dienas piedāvājums, dzimšanas dienas pušķis, dārza pušķis', true],\r\n ['Cenas', 'Mazāk par $10, $50-$100, vairāk nekā $100', true],\r\n ['Ērtības', 'WiFi, baseins, sporta klubs, virtuvīte'],\r\n ['Galamērķi', 'Parīze, Berlīne, Londona'],\r\n ['Ikdienas likmes', 'Neprecētie, pāri, grupas', true],\r\n ['Izmēri', 'Mazs, vidējs, liels', true],\r\n ['Izrādes', 'Kobra, Lauku sēta, Ģēnijs uzvalkā'],\r\n ['Kāpēc', 'Dzimšanas diena, izlaidums, jubileja', true],\r\n ['Kas', 'Ziedi, sveces, dāvanu kartes', true],\r\n ['Klases', 'Droša braukšana, īpašumtiesību 101', true],\r\n ['Kurš', 'Viņam, viņai, pāriem', true],\r\n ['Kursi', 'Radošā rakstīšana, datu struktūras, lineārā algebra'],\r\n ['Modeļi', 'Corolla, Prius, Yaris'],\r\n ['Nodaļa', 'Ierīces, garāža, mājas kinozāle', true],\r\n ['Notikumi', 'Izlaidumi, Veseļojies, Piedzimis bērniņš', true],\r\n ['Pakalpojumi', 'Vīriešu frizūras, sieviešu frizūras, bērnu frizūras'],\r\n ['Pakalpojumu katalogs', 'Eļļas maiņa, atgāzu pārbaude, savirzes regulēšana'],\r\n ['Piedāvājumi', 'Izpārdošanas preces, puscena, atlaides studentiem', true],\r\n ['Piedāvātās viesnīcas', 'Luksusa viesnīca, kalnu namiņš, viesnīca pie ezera'],\r\n ['Preces', 'Apģērbi, grāmatas, galda spēles'],\r\n ['Rīki', 'Elektriskie, pneimatiskie, hidrauliskie', true],\r\n ['Skolu rajoni', 'Iepazīšana, vērtējumi, ieteikumi', true],\r\n ['Stili', 'Čuka, kovboju, kaujas, Čelsija'],\r\n ['Studiju programmas', 'Uzņēmuma administrēšana, grāmatvedība, personāla vadība'],\r\n ['Tarifi', 'Dienas, mēneša, gada', true],\r\n ['Tēmas', 'Ienākumi, pensija, nodokļi', true],\r\n ['Transportlīdzekļi', 'Kompakts, apvidus, kabriolets', true],\r\n ['Valodas', 'Angļu, spāņu, ķīniešu', true],\r\n ['Vecuma grupas', '40 un mazāk, 41–50, 51–60', true],\r\n ['Veidi', 'T-krekli, krūzes, somas, pildspalvas'],\r\n ['Vērtējumi', 'Visvairāk pārdotie, lētākie, visvairāk atsauksmju', true],\r\n ['Vienumi', 'Klēpjdatori, televizori, spēļu konsoles'],\r\n ['Ziedi', 'Rozes, margrietiņas, lilijas', true],\r\n ['Zīmoli', 'Windows, Xbox, Skype'],\r\n ]],\r\n ['Lithuanian', [\r\n ['Amžiaus grupės', '40 ir jaunesni, nuo 41 iki 50, nuo 51 iki 60', true],\r\n ['Atostogos', 'Salos, kelionės, kruizai', true],\r\n ['Atrinkti viešbučiai', '„Luxury Inn“, „Alpine Lodge“, „Lakeside Hotel“'],\r\n ['Dienos tarifai', 'Vieni, poros, grupės', true],\r\n ['Draudimo apsauga', 'Trečiosios šalies atsakomybė, konfliktas, skėtis, automobilio nuoma'],\r\n ['Dydžiai', 'Mažas, vidutinis, didelis', true],\r\n ['Elementai', 'Nešiojamieji kompiuteriai, televizoriai, žaidimų konsolės'],\r\n ['Gėlės', 'Rožės, saulutės, lelijos', true],\r\n ['Įkainiai', 'Kasdien, kas mėnesį, kasmet', true],\r\n ['Įrankiai', 'Elektrinis, pneumatinis, hidraulinis', true],\r\n ['Įvertinimai', 'Geriausiai parduodami, pigiausi, dažniausiai peržiūrimi', true],\r\n ['Įvykiai', 'Mokyklos baigimas, greičiau pasveikite, kūdikis', true],\r\n ['Ką', 'Gėlės, žvakės, dovanų kortelės', true],\r\n ['Kaimynystė', 'Miesto centras, Fabijoniškės, Vilkpėdė'],\r\n ['Kainos', 'Mažiau nei 10 USD, 50–100 USD, daugiau nei 100 USD', true],\r\n ['Kalbos', 'Anglų, ispanų, kinų', true],\r\n ['Kas', 'Jam, jai, poroms', true],\r\n ['Kelionės tikslai', 'Paryžius, Berlynas, Londonas'],\r\n ['Klasės', 'Apsauginis vairavimas, namų nuosavybė 101', true],\r\n ['Kodėl', 'Gimtadienis, išleistuvės, jubiliejus', true],\r\n ['Laipsniai', '„Diamond“, „Premium“, „Premium Plus“', true],\r\n ['Modeliai', '„Corolla“, „Prius“, „Yaris“'],\r\n ['Mokyklos rajonai', 'Tyrimas, įvertinimai, pasiūlymai', true],\r\n ['Mokymo programos', 'Kūrybinis rašymas, duomenų struktūros, linijinė algebra'],\r\n ['Naujienos', 'Ką pavalgyti, ką pamatyti, ką nuveikti', true],\r\n ['Parodymai', '„The Voyage“, „Knights“, „American Dancer“'],\r\n ['Pasiūlymai', 'Prekių valymas, pirkite vieną, gaukite dar vieną, nuolaidos studentams', true],\r\n ['Paslaugos', 'Vyrų kirpimas, moterų kirpimas, vaikų kirpimas'],\r\n ['Paslaugų katalogas', 'Tepalų keitimas, dūmingumo patikra, padangų balansavimas'],\r\n ['Patogumai', '„Wi-Fi“, baseinas, sporto klubas, virtuvėlė'],\r\n ['Perkamiausi', 'Dienos pasiūlymas, gimtadienio puokštė, sodo puokštė', true],\r\n ['Prekės', 'Drabužiai, knygos, stalo žaidimai'],\r\n ['Prekių ženklai', '„Windows“, „Xbox“, „Skype“'],\r\n ['Programos laipsniui gauti', 'Verslo administravimas, apskaita, personalo valdymas'],\r\n ['Skyrius', 'Prietaisai, garažas, namų kino sistema', true],\r\n ['Stiliai', '„Chukka“, „Cowboy“, „Combat“, „Chelsea“'],\r\n ['Temos', 'Pajamos, pensija, mokesčiai', true],\r\n ['Tipai', 'Marškinėliai, puodeliai, krepšiai, rašikliai'],\r\n ['Transporto priemonės', '„Compact“, SUV, „Convertible“', true],\r\n ['Vietos', 'Šiaurės Amerika, Europa, Azija', true],\r\n ]],\r\n ['Maltese', [\r\n ['Btajjel', 'Gżejjer, Vjaġġi b\\'Vettura, Kruċieri', true],\r\n ['Daqsijiet', 'Żgħir, Medju, Kbir', true],\r\n ['Destinazzjonijiet', 'Pariġi, Berlin, Londra'],\r\n ['Dipartiment', 'Apparati, Garaxx, Home theater', true],\r\n ['Ditti', 'Windows, Xbox, Skype'],\r\n ['Enfasi', 'X\\'tiekol, X\\'tara, X\\'tagħmel', true],\r\n ['Faċilitajiet', 'WiFi, Pixxina, Ċentru tal-fitness, Kċina żgħira'],\r\n ['Fjuri', 'Ward, Margeriti, Ġilji', true],\r\n ['Għaliex', 'Għeluq is-Snin, Gradwazzjoni, Anniversarju', true],\r\n ['Għax', 'Fjuri, Xemgħat, Kards tar-rigali', true],\r\n ['Għodod', 'Elettriku, Pnewmatiku, Idroliku', true],\r\n ['Gradi', 'Diamond, Premium, Premium Plus', true],\r\n ['Gruppi t’età', '40 u iżgħar, 41 sa 50, 51 sa 60', true],\r\n ['Id-distretti tal-iskola', 'Esplora, Klassifikazzjonijiet, Suġġerimenti', true],\r\n ['Items', 'Laptops, Televiżjonijiet, Consoles tal-logħob'],\r\n ['Katalgu tas-servizz', 'Tibdil taż-żejt, Verifikar tal-ismogg, Allinjament tat-tajers'],\r\n ['Klassifikazzjonijiet', 'L-aqwa bejjiegħa, L-irħas, L-iktar li rawhom', true],\r\n ['Klassijiet', 'Sewqan difensiv, Sjieda tad-djar 101', true],\r\n ['Kopertura tal-assigurazzjoni', 'Assigurazzjoni ta’ terzi, Ħabta, Umbrella, Kiri ta\\' karozzi'],\r\n ['Korsijiet', 'Kitba kreattiva, Strutturi tad-data, Alġebra lineari'],\r\n ['Li Jinbiegħu l-Aktar', 'Offerta tal-ġurnata, bukkett fjuri ta’ għeluq is-snin, Bukkett fjuri mill-ġnien', true],\r\n ['Lingwi', 'Ingliż, Spanjol, Ċiniż', true],\r\n ['Lukandi Msemmija', 'Luxury Inn, Alpine Lodge, Lakeside Hotel'],\r\n ['Min', 'Għalih, Għaliha, Għall-koppji', true],\r\n ['Mudelli', 'Corolla, Prius, Yaris'],\r\n ['Oġġetti', 'Ħwejjeġ, Kotba, Logħob fuq bord'],\r\n ['Okkażjonijiet', 'Gradwazzjonijiet, Fejqan, Tarbija ġdida', true],\r\n ['Postijiet', 'L-Amerika ta\\' Fuq, l-Ewropa, l-Asja', true],\r\n ['Prezzijiet vantaġġużi', 'Affarijiet bi skontijiet kbar, Ixtri wieħed u tingħata ieħor b\\'xejn, Skontijiet tal-istudenti', true],\r\n ['Prezzijiet', 'Taħt l-$10, $50-$100, \\'Il fuq minn $100', true],\r\n ['Programmi ta\\' lawrji', 'Amministrazzjoni tan-negozju, Kontabilità, Ġestjoni tar-Riżorsi Umani'],\r\n ['Rati ta\\' kuljum', 'Persuni waħedhom, Koppji, Gruppi', true],\r\n ['Rati', 'Ta\\' kuljum, Ta\\' kull xahar, Annwali', true],\r\n ['Servizzi', 'Qatgħa xagħar tal-irġiel, qatgħa xagħar tan-nisa, qatgħa xagħar tat-tfal'],\r\n ['Spettakli', 'The Voyage, Knights, American Dancer'],\r\n ['Stili', 'Chukka, Cowboy, Combat, Chelsea'],\r\n ['Suġġetti', 'Dħul, Irtirar, Taxxi', true],\r\n ['Tipi', 'T-Shirts, Maggs, Basktijiet, Pinen'],\r\n ['Vetturi', 'Compact, SUV, Convertible', true],\r\n ['Viċinanzi', 'Financial district, SOMA, North Beach'],\r\n ]],\r\n ['Romanian', [\r\n ['Acoperirea asigurării', 'Răspundere civilă față de terți, în caz de coliziune, cu spectru larg, la închiriere vehicul'],\r\n ['Articole', 'Laptopuri, televizoare, console de jocuri'],\r\n ['Bunuri', 'Îmbrăcăminte, cărți, jocuri de societate'],\r\n ['Cartiere', 'Districtul financiar, SoMa, North Beach'],\r\n ['Catalog de servicii', 'Schimb de ulei, testarea emisiilor, alinierea roților'],\r\n ['Ce', 'Flori, dulciuri, carduri cadou', true],\r\n ['Cele mai vândute', 'Oferta zilei, buchet de aniversare, buchet de grădină', true],\r\n ['Cine', 'Pentru el, pentru ea, pentru cupluri', true],\r\n ['Cursuri', 'Scris creativ, structuri de date, algebră liniară'],\r\n ['De ce', 'Zi de naștere, absolvire, aniversare', true],\r\n ['Departament', 'Electrocasnice, garaj, sisteme Home Theater', true],\r\n ['Destinații', 'Paris, Berlin, Londra'],\r\n ['Districte școlare', 'Explorați, evaluări, sugestii', true],\r\n ['Dotări', 'WiFi, piscină, centru de fitness, chicinetă'],\r\n ['Emisiuni', 'The Voyage, Knights, American Dancer'],\r\n ['Evaluări', 'Cele mai bine vândute, cele mai ieftine, cu recenziile cele mai bune', true],\r\n ['Flori', 'Trandafiri, margarete, lilieci', true],\r\n ['Grupuri de vârstă', '40 și sub, 41-50, 51-60', true],\r\n ['Hoteluri recomandate', 'Luxury Inn, Alpine Lodge, Lakeside Hotel'],\r\n ['Instrumente', 'Electric, pneumatic, hidraulic', true],\r\n ['Limbi', 'Engleză, spaniolă, chineză', true],\r\n ['Locații', 'America de Nord, Europa, Asia', true],\r\n ['Mărci', 'Windows, Xbox, Skype'],\r\n ['Mărimi', 'Mic, mediu, mare', true],\r\n ['Modele', 'Corolla, Prius, Yaris'],\r\n ['Momente importante', 'Ce puteți mânca?, Ce puteți vedea?, Ce puteți face?', true],\r\n ['Note', 'Diamond, Premium, Premium Plus', true],\r\n ['Ocazii', 'Absolvire, însănătoșiri, bebeluș nou', true],\r\n ['Oferte', 'Articole cu preț redus, două articole la prețul unuia, reduceri pentru elevi', true],\r\n ['Ore', 'Condus preventiv, introducere în deținerea unei locuințe', true],\r\n ['Prețuri zilnice', 'Persoane necăsătorite, cupluri, grupuri', true],\r\n ['Prețuri', 'Sub 10 dolari, între 50 și 100 dolari, peste 100 dolari', true],\r\n ['Programe educaționale', 'Administrație afaceri, contabilitate, management resurse umane'],\r\n ['Servicii', 'Tuns bărbați, tuns femei, tuns copii'],\r\n ['Stiluri', 'Chukka, de cowboy, militare, Chelsea'],\r\n ['Subiecte', 'Venituri, pensionare, taxe', true],\r\n ['Tarife', 'Zilnic, lunar, anual', true],\r\n ['Tipuri', 'Tricouri, căni, pungi, pixuri'],\r\n ['Vacanțe', 'Insule, călătorii cu mașina, croaziere', true],\r\n ['Vehicule', 'Compact, SUV, decapotabil', true],\r\n ]],\r\n ['Slovak', [\r\n ['Ceny', 'Do 10 $, 50 $ – 100 $, nad 100 $', true],\r\n ['Čo', 'Kvety, sviečky, darčekové karty', true],\r\n ['Denné sadzby', 'Jednotlivci, páry, skupiny', true],\r\n ['Destinácie', 'Paríž, Berlín, Londýn'],\r\n ['Dovolenka', 'Ostrovy, výlety, výletné plavby', true],\r\n ['Hlavné udalosti', 'Čo ochutnať, čo vidieť, čo robiť', true],\r\n ['Hodnotenia', 'Najpredávanejšie, najlacnejšie, najčastejšie hodnotené', true],\r\n ['Jazyky', 'Angličtina, španielčina, čínština', true],\r\n ['Katalóg služieb', 'Výmena oleja, kontrola emisií, vyváženie pneumatík'],\r\n ['Kto', 'Pre neho, pre ňu, pre páry', true],\r\n ['Kurzy', 'Kreatívne písanie, Dátové štruktúry, Lineárna algebra'],\r\n ['Kvety', 'Ruže, sedmokrásky, ľalie', true],\r\n ['Miesta', 'Severná Amerika, Európa, Ázia', true],\r\n ['Modely', 'Corolla, Prius, Yaris'],\r\n ['Najpredávanejšie', 'Ponuka dňa, narodeninová kytica, záhradná kytica', true],\r\n ['Nástroje', 'Elektrické, pneumatické, hydraulické', true],\r\n ['Oddelenie', 'Spotrebiče, garáž, domáce kino', true],\r\n ['Poistné krytie', 'Zodpovednosť za škodu, nehoda, ochrana, prenájom vozidiel'],\r\n ['Položky', 'Notebooky, televízory, herné konzoly'],\r\n ['Ponuky', 'Výpredaj tovaru, 1+1 zdarma, študentské zľavy', true],\r\n ['Prečo', 'Narodeniny, promócia, výročie', true],\r\n ['Príležitosti', 'Promócie, skoré uzdravenie, narodenie dieťatka', true],\r\n ['Relácie', 'Crown, Stranger Things, Oteckovia'],\r\n ['Sadzby', 'Denné, mesačné, ročné', true],\r\n ['Školské obvody', 'Preskúmanie, rebríčky, návrhy', true],\r\n ['Služby', 'Pánsky účes, dámsky účes, detský účes'],\r\n ['Študijné programy', 'Obchodná administratíva, účtovníctvo, manažment ľudských zdrojov'],\r\n ['Štvrte', 'Hlavné námestie, Žilina – centrum, Rača'],\r\n ['Štýly', 'Chukka, kovbojský, lakovky, Chelsea'],\r\n ['Témy', 'Príjem, dôchodok, dane', true],\r\n ['Tovar', 'Oblečenie, knihy, stolné hry'],\r\n ['Triedy', 'Defenzívna jazda, Vlastníctvo domu 101', true],\r\n ['Typy', 'Tričká, hrnčeky, tašky, perá'],\r\n ['Veková skupiny', '40 a menej, 41 až 50, 51 až 60', true],\r\n ['Veľkosti', 'Malé, stredné, veľké', true],\r\n ['Vozidlá', 'Nižšia stredná trieda, SUV, kabriolet', true],\r\n ['Vybavenie', 'Wi-Fi, bazén, posilňovňa, kuchynka'],\r\n ['Vybrané hotely', 'Luxusná reštaurácia, alpská chata, hotel pri jazere'],\r\n ['Značky', 'Windows, Xbox, Skype'],\r\n ['Známky', 'Diamond, Premium, Premium Plus', true],\r\n ]],\r\n ['Slovenian', [\r\n ['Blagovne znamke', 'Windows, Xbox, Skype'],\r\n ['Cene', 'Pod 10 USD, od 50 do 100 USD, nad 100 USD', true],\r\n ['Diplomski programi', 'Vodenje podjetij, računovodstvo, upravljanje kadrov'],\r\n ['Dnevne cene', 'Samske osebe, pari, skupine', true],\r\n ['Dodatna ponudba', 'WiFi, bazen, fitnes, čajna kuhinja'],\r\n ['Dogodki', 'Maturacije, ozdravi, novorojenček', true],\r\n ['Elementi', 'Prenosniki, televizorji, igralne konzole'],\r\n ['Izdelki', 'Oblačila, knjige, družabne igre'],\r\n ['Izpostavljeni hoteli', 'Razkošen hotel, gorska koča, hotel ob jezeru'],\r\n ['Izpostavljeno', 'Restavracije, ogledi, dejavnosti', true],\r\n ['Jeziki', 'Angleščina, španščina, kitajščina', true],\r\n ['Kaj', 'Cvetje, sladkarije, darilni boni', true],\r\n ['Katalog storitev', 'Menjava olja, preverjanje izpustov, poravnava koles'],\r\n ['Kraji', 'Pariz, Berlin, London'],\r\n ['Lokacije', 'Severna Amerika, Evropa, Azija', true],\r\n ['Mestne četrti', 'Murgle, Fužine, Bežigrad'],\r\n ['Mnenja', 'Najbolje prodajani, najcenejši, z največ ocenami', true],\r\n ['Modeli', 'Corolla, Prius, Yaris'],\r\n ['Najbolj prodajano', 'Ponudba dneva, Rojstnodnevni šopek, Vrtni šopek', true],\r\n ['Ocene', 'Diamantni, Premium, Premium Plus', true],\r\n ['Oddaje', 'Preživetje v divjini, Zvezde plešejo, Naša mala klinika'],\r\n ['Oddelek', 'Gospodinjski aparati, garaža, domači kino', true],\r\n ['Orodja', 'Električna, pnevmatična, hidravlična', true],\r\n ['Počitnice', 'Otoki, potovanje z avtomobilom, križarjenje', true],\r\n ['Ponudbe', 'Odprodaja, ob nakupu enega je drugi izdelek brezplačen, študentski popusti', true],\r\n ['Predavanja', 'Kreativno pisanje, Podatkovne strukture, Linearna algebra'],\r\n ['Razredi', 'Defenzivna vožnja, Osnove lastništva nepremičnin', true],\r\n ['Rože', 'Vrtnice, marjetice, lilije', true],\r\n ['Slogi', 'Gležnarji, kavbojski, gojzarji, bulerji'],\r\n ['Šolska območja', 'Raziskovanje, lestvice, predlogi', true],\r\n ['Starostna skupina', '40 in manj, 41 do 50, 51 do 60', true],\r\n ['Storitve', 'Moško striženje, žensko striženje, otroško striženje'],\r\n ['Tarife', 'Na dan, na mesec, na leto', true],\r\n ['Teme', 'Prihodki, upokojitev, davki', true],\r\n ['Velikosti', 'S, M, L', true],\r\n ['Vozila', 'Majhen, SUV, kabriolet', true],\r\n ['Vrste', 'Majice, skodelice, torbe, pisala'],\r\n ['Za koga', 'Zanj, zanjo, za pare', true],\r\n ['Zakaj', 'Rojstni dan, zaključek šolanja, obletnica', true],\r\n ['Zavarovalno kritje', 'Odgovornost drugih oseb, zavarovanje za primer trčenja, kritje, najem avtomobilov'],\r\n ]],\r\n ['Albanian', [\r\n ['Artikuj', 'Laptopë, televizorë, konsola lojërash'],\r\n ['Automjete', 'Kompakte, SUV, kabriolet', true],\r\n ['Çfarë', 'Lule, qirinj, karta dhuratë', true],\r\n ['Çmimet', 'Nën 10 dollarë, 50 deri në 100 dollarë, mbi 100 dollarë', true],\r\n ['Çmimet e përditshme', 'Teke, në çift, në grupe', true],\r\n ['Departament', 'Pajisje, garazh, sistem kinemaje në shtëpi', true],\r\n ['Destinacione', 'Paris, Berlin, Londër'],\r\n ['Distrikte shkollore', 'Eksploro, renditjet, sugjerimet', true],\r\n ['Grupmoshat', 'Deri në 40, 41 deri në 50, 51 deri në 60', true],\r\n ['Gjuhët', 'Anglisht, spanjisht, kinezisht', true],\r\n ['Hotelet e spikatura', 'Han luksoz, shtëpizë alpine, hotel buzë liqenit'],\r\n ['Katalogu i shërbimeve', 'Ndërrimi i vajit, kontrolli për smog, drejtvendosja e rrotave'],\r\n ['Komoditete', 'Wi-Fi, pishinë, qendër fitnesi, aneks kuzhine'],\r\n ['Kurse', 'Shkrim krijues, struktura të të dhënave, algjebër lineare'],\r\n ['Kush', 'Për meshkuj, për femra, për çifte', true],\r\n ['Lagjet', 'Distrikti financiar, SOMA, North Beach'],\r\n ['Lulet', 'Trëndafila, margarita, zambakë', true],\r\n ['Llojet', 'Bluza me mëngë të shkurtra, filxhanë, çanta, stilolapsa'],\r\n ['Madhësitë', 'E vogël, mesatare, e madhe', true],\r\n ['Mallra', 'Veshje, libra, lojëra tavoline'],\r\n ['Marka', 'Windows, Xbox, Skype'],\r\n ['Mbulimi i sigurimeve', 'Përgjegjësia e palës së tretë, përplasje, mbulimi, makina me qira'],\r\n ['Me interes', 'Gjëra për të ngrënë, për të parë dhe për të bërë', true],\r\n ['Më të shiturat', 'Oferta e ditës, buqetë për ditëlindje, buqetë kopshti', true],\r\n ['Mësime', 'Udhëzimet për drejtim të kujdesshëm, zotërim të shtëpisë', true],\r\n ['Modele', 'Corolla, Prius, Yaris'],\r\n ['Ngjarjet', 'Diplomime, shërim i shpejtë, lindje e foshnjës', true],\r\n ['Notat', 'Diamant, Premium, Premium Plus', true],\r\n ['Oferta', 'Artikujt e mbylljes, bli një, merr një falas, ulje për studentët', true],\r\n ['Programe për diplomë', 'Administrim biznesi, kontabilitet, menaxhim i burimeve njerëzore'],\r\n ['Pse', 'Ditëlindje, diplomim, përvjetor', true],\r\n ['Pushime', 'Ishuj, udhëtime rrugore, lundrime', true],\r\n ['Shërbime', 'Prerje flokësh për meshkuj, për femra dhe për fëmijë'],\r\n ['Shfaqje', 'The Voyage, Knights, American Dancer'],\r\n ['Stile', 'Chukka, kauboj, luftim, Chelsea'],\r\n ['Tarifat', 'Ditore, mujore, vjetore', true],\r\n ['Temat', 'Të ardhurat, pensioni, tatimet', true],\r\n ['Vegla', 'Elektrike, pneumatike, hidraulike', true],\r\n ['Vendndodhjet', 'Amerika e Veriut, Evropë, Azi', true],\r\n ['Vlerësimet', 'Më të shiturat, më të lirat, më të komentuarat', true],\r\n ]],\r\n ['Bosnian', [\r\n ['Alatke', 'Električni, pneumatski, hidraulični', true],\r\n ['Brendovi', 'Windows, Xbox, Skype'],\r\n ['Cijene', 'Ispod 10 USD, 50–100 USD, preko 100 USD', true],\r\n ['Cvijeće', 'Ruže, tratinčice, ljiljani', true],\r\n ['Dijelovi grada', 'Vratnik, Bistrik, Novo Sarajevo'],\r\n ['Diplomski programi', 'Poslovna administracija, računovodstvo, upravljanje ljudskim resursima'],\r\n ['Dnevne cijene', 'Pojedinci, parovi, grupe', true],\r\n ['Dob grupe', '40 i ispod, 41 do 50, 51 do 60', true],\r\n ['Emisije', 'Pressing, Ritam Balkana, Nikad nije kasno'],\r\n ['Istaknuto', 'Šta jesti, šta gledati, šta raditi', true],\r\n ['Izdvojeni hotel', 'Luksuzno boravište, alpska kuća, hotel kraj jezera'],\r\n ['Jezici', 'engleski, španski, kineski', true],\r\n ['Katalog usluga', 'Promjena ulja, provjera smoga, balansiranje guma'],\r\n ['Ko', 'Za njega, za nju, za parove', true],\r\n ['Lokacije', 'Sjeverna Amerika, Evropa, Azija', true],\r\n ['Mišljenja', 'Najprodavanije, najjeftinije, najčešće pregledano', true],\r\n ['Modeli', 'Corolla, Prius, Yaris'],\r\n ['Najprodavaniji', 'Dogovor dana, rođendanski buket, Baštenski buket', true],\r\n ['Nastava', 'Odbrambena vožnja, sve o vlasništvu nad kućom', true],\r\n ['Ocjene', 'Diamond, Premium, Premium Plus', true],\r\n ['Odjel', 'Kućni aparati, garaža, kućno kino', true],\r\n ['Odmori', 'Ostrva, izleti, krstarenja', true],\r\n ['Odredišta', 'Pariz, Berlin, London'],\r\n ['Pokriće osiguranja', 'Odgovornost treće strane, sudar, krovno osiguranje, iznajmljivanje automobila'],\r\n ['Ponude', 'Posljednji komadi, dva po cijeni jednog, studentski popusti', true],\r\n ['Prilike', 'Diplome, Ozdravi, Nova beba', true],\r\n ['Roba', 'Odjeća, knjige, društvene igre'],\r\n ['Sadržaji', 'WiFi, bazen, fitnes centar, čajna kuhinja'],\r\n ['Školski okruzi', 'Istraživanje, rangiranja, prijedlozi', true],\r\n ['Šta', 'Cvijeće, bombone, poklon kartice', true],\r\n ['Stavke', 'Laptopovi, televizori, igraće konzole'],\r\n ['Stilovi', 'Duboke, kaubojske, vojničke, elegantne'],\r\n ['Stope', 'Dnevno, mjesečno, godišnje', true],\r\n ['Tečajevi', 'Kreativno pisanje, strukture podataka, linearna algebra'],\r\n ['Teme', 'Prihod, penzija, porezi', true],\r\n ['Tipovi', 'Majice, šolje, torbe, olovke'],\r\n ['Usluge', 'Muško šišanje, žensko šišanje, šišanje djece'],\r\n ['Veličine', 'Malo, srednje, veliko', true],\r\n ['Vozila', 'Mali automobil, SUV, kabriolet', true],\r\n ['Zašto', 'Rođendan, diplomiranje, godišnjica', true],\r\n ]],\r\n ['Icelandic', [\r\n ['Áfangastaðir', 'París, Berlín, London'],\r\n ['Aldurshópar', '40 og yngri, 41 til 50, 51 til 60', true],\r\n ['Atriði', 'Fartölvur, sjónvörp, leikjatölvur'],\r\n ['Auglýst hótel', 'Luxury Inn, Alpine Lodge, Lakeside Hotel'],\r\n ['Bekkir', 'Diamond, Premium, Premium Plus', true],\r\n ['Blóm', 'Rósir, fagurfíflar, liljur', true],\r\n ['Deild', 'Tæki, bílskúr, hitari fyrir heimili', true],\r\n ['Einkunnir', 'Vinsælustu vörurnar, ódýrast, mest skoðað', true],\r\n ['Farartæki', 'Smábíll, jeppi, blæjubíll', true],\r\n ['Flokkar', 'Að forðast árekstra, Fasteignahald 101', true],\r\n ['Frí', 'Eyjar, bíltúrar, siglingar', true],\r\n ['Gerðir', 'Corolla, Prius, Yaris'],\r\n ['Hápunktar', 'Hvar er best að borða, hvað á að skoða, hvað á að gera', true],\r\n ['Hvað', 'Blóm, sælgæti, gjafakort', true],\r\n ['Hver', 'Fyrir hann, fyrir hana, fyrir pör', true],\r\n ['Hverfi', 'Fjármálahverfið, SOMA, North Beach'],\r\n ['Hvers vegna', 'Afmæli, útskriftir, merkisdagar', true],\r\n ['Námskeið', 'Skapandi skrif, gagnaskipan, línuleg algebra'],\r\n ['Prófgráður', 'Rekstur fyrirtækja, bókhald, mannauðsstjórnun'],\r\n ['Skólahverfi', 'Skoða, röðun, tillögur', true],\r\n ['Staðsetningar', 'Norður-Ameríka, Evrópa, Asía', true],\r\n ['Stærðir', 'Lítið, meðalstórt, stórt', true],\r\n ['Stílsnið', 'Chukka, Cowboy, Combat, Chelsea'],\r\n ['Söluhæst', 'Tilboð dagsins, afmælisblómvöndur, blómvöndur úr garðinu', true],\r\n ['Tegundir', 'Stuttermabolir, krúsir, töskur, pennar'],\r\n ['Tilboð', 'Lagerútsala, 2 fyrir 1, nemendaafsláttur', true],\r\n ['Tilefni', 'Útskriftir, batakveðjur, nýtt barn', true],\r\n ['Tungumál', 'Enska, spænska, kínverska', true],\r\n ['Umfang tryggingar', 'Þriðju aðila ábyrgð, árekstur, Regnhlíf, bílaleiga'],\r\n ['Umfjöllunarefni', 'Tekjur, eftirlaun, skattar', true],\r\n ['Verð', 'Undir 10 USD, 50-100 UDS, yfir100 USD', true],\r\n ['Verð á dag', 'Einhleypir, pör, hópar', true],\r\n ['Verðlagning', 'Daglega, mánaðarlega, árlega', true],\r\n ['Verkfæri', 'Rafknúin, loftknúin, vökvaknúin', true],\r\n ['Vörumerki', 'Windows, Xbox, Skype'],\r\n ['Vörur', 'Fatnaður, bækur, borðspil'],\r\n ['Þægindi', 'Þráðlaust net, sundlaug, líkamsræktarstöð, eldhúskrókur'],\r\n ['Þættir', 'The Voyage, Knights, American Dancer'],\r\n ['Þjónusta', 'Herraklipping, dömuklipping, barnaklipping'],\r\n ['Þjónustuskrá', 'Olíuskipti, loftgæðaathugun, hjólabarðastilling'],\r\n ]],\r\n ['Macedonian', [\r\n ['Алати', 'Електрика, пневматици, хидраулика', true],\r\n ['Бестселери', 'Зделка на денот, роденденски букет, градинарски букет', true],\r\n ['Брендови', 'Windows, Xbox, Skype'],\r\n ['Возила', 'Компактен, теренец, кабриолет', true],\r\n ['Возрасни групи', '40 и под, 41 до 50, 51 до 60', true],\r\n ['Големини', 'Мало, средно, големо', true],\r\n ['Дневни тарифи', 'Самци, парови, групи', true],\r\n ['Добра', 'Облека, книги, друштвени игри'],\r\n ['Зделки', 'Распродажба за чистење производи, бесплатен производ со купен производ, студентски попусти', true],\r\n ['Зошто', 'Роденден, дипломирање, годишнина', true],\r\n ['Јавни добра', 'WiFi, базен, центар за фитнес, чајна кујна'],\r\n ['Јазици', 'Англиски, шпански, кинески', true],\r\n ['Каталог на услуги', 'Менување на масло, проверка за издувни гасови, порамнување на пневматици'],\r\n ['Кој', 'За него, за неа, за парови', true],\r\n ['Курсеви', 'Креативно пишување, податочни структури, линеарна алгебра'],\r\n ['Локации', 'Северна Америка, Европа, Азија', true],\r\n ['Модели', 'Corolla, Prius, Yaris'],\r\n ['Нагласени', 'Што да се јаде, што да се види, што да се прави', true],\r\n ['Оддел', 'Апарати, гаража, домашно кино', true],\r\n ['Одмори', 'Острови, екскурзии, крстосувања', true],\r\n ['Одредишта', 'Париз, Берлин, Лондон'],\r\n ['Осигурителна покриеност', 'Одговорност од трета страна, судир, чадор, изнајмување автомобили'],\r\n ['Оценки', 'Дијамантски, премиум, премиум плус', true],\r\n ['Препорачани хотели', 'Луксузен комплекс со апартмани, планинска вила, хотел покрај езеро'],\r\n ['Прилики', 'Дипломирање, побрзо оздравување, ново бебе', true],\r\n ['Програми за студирање', 'Деловна администрација, сметководство, управување со човечки ресурси'],\r\n ['Рејтинзи', 'Бестселери, најевтини, најпрегледувани', true],\r\n ['Соседства', 'Финансиска област, SOMA, Норт Бич'],\r\n ['Ставки', 'Лаптопи, телевизори, конзоли за играње'],\r\n ['Стилови', 'Чука, каубојски, војнички, челси'],\r\n ['Тарифи', 'Дневно, месечно, годишно', true],\r\n ['Теми', 'Приход, пензија, даноци', true],\r\n ['Типови', 'Маици, шолји, чанти, пенкала'],\r\n ['Услуги', 'Машка фризура, женска фризура, детска фризура'],\r\n ['Училишни области', 'Истражување, оценки, предлози', true],\r\n ['Цвеќе', 'Рози, маргаритки, лилии', true],\r\n ['Цени', 'Под 10 $, 50 $–100 $, над 100 $', true],\r\n ['Часови', 'Основи на совесното возење, поседувањето дом', true],\r\n ['Шоуа', 'The Voyage, Knights, American Dancer'],\r\n ['Што', 'Цвеќиња, бонбони, честитки', true],\r\n ]],\r\n ['Serbian', [\r\n ['Akademski programi', 'Poslovna administracija, računovodstvo, upravljanje ljudskim resursima'],\r\n ['Alatke', 'Električni, pneumatski, hidraulični', true],\r\n ['Artikli', 'Laptopovi, televizori, konzole'],\r\n ['Brendovi', 'Windows, Xbox, Skype'],\r\n ['Časovi', 'Defanzivna vožnja', true],\r\n ['Cene', 'Manje od 10 USD, od 50 do 100 USD, više od 100 USD', true],\r\n ['Cveće', 'Ruže, tratinčice, ljiljani', true],\r\n ['Delovi grada', 'Poslovna zona, Novi Beograd, Beograd'],\r\n ['Dnevne cene', 'Samci, parovi, grupe', true],\r\n ['Događaji', 'Diplome, brz oporavak, nova beba', true],\r\n ['Emisije', '24 minuta sa Zoranom Kesićem, Nikad nije kasno, Šarenica'],\r\n ['Istaknuti hoteli', 'Luksuzni motel, koliba na Alpima, hotel na obali jezera'],\r\n ['Istaknuto', 'Šta jesti, šta videti, šta raditi', true],\r\n ['Jezici', 'Engleski, španski, kineski', true],\r\n ['Ko', 'Za njega, za nju, za parove', true],\r\n ['Kursevi', 'Kreativno pisanje, strukture podataka, linearna algebra'],\r\n ['Lokacije', 'Severna Amerika, Evropa, Azija', true],\r\n ['Modeli', 'Corolla, Prius, Yaris'],\r\n ['Najprodavanije', 'Ponuda dana, rođendanski buket, baštenski buket', true],\r\n ['Nivoi', 'Diamond, Premium, Premium Plus', true],\r\n ['Ocene', 'Dnevno, mesečno, godišnje', true],\r\n ['Odeljenje', 'Kućni aparati, garaža, kućni bioskop', true],\r\n ['Odmori', 'Ostrva, ekskurzije, krstarenja', true],\r\n ['Odredišta', 'Pariz, Berlin, London'],\r\n ['Pogodnosti', 'Wi-Fi, bazen, centar za fitnes, kuhinja u niši'],\r\n ['Ponude', 'Poslednji komadi, kupi dva po ceni za jedan, studentski popusti', true],\r\n ['Premija osiguranja', 'Odgovornost treće strane, sudar, kišobran, iznajmljivanje automobila'],\r\n ['Procene', 'Najbolji prodavci, najjeftinije, najviše ocena', true],\r\n ['Roba', 'Odeća, knjige, društvene igre'],\r\n ['Servisni katalog', 'Zamena ulja, provera smoga, poravnanje pneumatika'],\r\n ['Školski okrug', 'Istraživanje, ocene, predlozi', true],\r\n ['Šta', 'Cveće, sveće, poklon-kartice', true],\r\n ['Starosne grupe', '40 i manje, 41 do 50, 51 do 60', true],\r\n ['Stilovi', 'Duboke, kaubojke, kombatke, duboke na navlačenje'],\r\n ['Teme', 'Prihod, penzija, porezi', true],\r\n ['Tipovi', 'Majice, šolje, torbe, olovke'],\r\n ['Usluge', 'Muški frizer, ženski frizer, frizer za decu'],\r\n ['Veličine', 'Malo, srednje, veliko', true],\r\n ['Vozila', 'Kompaktno, SUV, kabriolet', true],\r\n ['Zašto', 'Rođendan, diplomiranje, godišnjica', true],\r\n ]],\r\n ['Japanese', [\r\n ['1 日あたりの料金', 'シングル、カップル、グループ', true],\r\n ['おすすめのホテル', 'ラグジュアリー イン、 アルパイン ロッジ、レイクサイド ホテル'],\r\n ['クラス', '安全運転、自宅の保全 101', true],\r\n ['コース', 'クリエイティブ ライティング、データ構造、線形代数'],\r\n ['サービス カタログ', 'オイル交換、排煙チェック、タイヤ アライメント'],\r\n ['サービス', '男性の散髪、女性のヘアカット、子供の散髪'],\r\n ['サイズ', '小、中、大', true],\r\n ['ショー', '旅、ナイト、アメリカン ダンサー'],\r\n ['スタイル', 'チャッカブーツ、カウボーイ、コンバット、チェルシー'],\r\n ['タイプ', 'T シャツ、マグ、バッグ、ペン'],\r\n ['ツール', '電気的、気圧的、水圧的', true],\r\n ['トピック', '収入、退職、税金', true],\r\n ['なぜ', '誕生日、卒業、記念日', true],\r\n ['ハイライト', '何を食べるか、何を見て、何をするか', true],\r\n ['ブランド', 'Windows、Xbox、Skype'],\r\n ['ベスト セラー', '本日のお買い得商品、誕生日ブーケ、ガーデン ブーケ', true],\r\n ['モデル', 'カローラ、プリウス、ヤリス'],\r\n ['休暇', '島、長距離ドライブ、クルーズ', true],\r\n ['何', '花、キャンディー、ギフト カード', true],\r\n ['価格', '10 ドル未満、50 ドルから 100ドル、100 ドル以上', true],\r\n ['保険担保範囲', '第三者責務、衝突、傘、レンタカー'],\r\n ['花', 'バラ、ヒナギク、ユリ', true],\r\n ['取引', 'クリアランス アイテム、お一人様 1 点限り、学生割引', true],\r\n ['商品', '衣類、書籍、ボード ゲーム'],\r\n ['場所', '北米、ヨーロッパ、アジア', true],\r\n ['学位課程', 'ビジネス アドミニストレーション、会計、人事管理'],\r\n ['学区', '探索、ランク付け、教唆', true],\r\n ['快適な設備', 'WiFi、プール、フィットネス センター、キチネット (簡易台所)'],\r\n ['成績', 'Diamond、Premium、Premium Plus', true],\r\n ['料率', '日単位、月単位、年単位', true],\r\n ['目的地', 'パリ、ベルリン、ロンドン'],\r\n ['言語', '英語、スペイン語、中国語', true],\r\n ['評価', 'ベストセラー、最安値の、最も評価された', true],\r\n ['特別行事', '卒業、快気、出産', true],\r\n ['年齢グループ', '40 以下、41 から 50、51 から 60', true],\r\n ['誰が', '彼のため、彼女のため、カップルのため', true],\r\n ['車両', 'コンパクト、SUV、コンバーチブル', true],\r\n ['近隣地域', '金融街、SOMA、ノース ビーチ'],\r\n ['部署', 'アプライアンス、ガレージ、ホーム シアター', true],\r\n ['項目', 'ノート PC、テレビ、ゲーム コンソール'],\r\n ]],\r\n ['Russian', [\r\n ['Автомобили', 'Компактный, внедорожник, кабриолет', true],\r\n ['Возрастные группы', 'до 40, от 41 до 50, от 51 до 60', true],\r\n ['дипломные программы', 'Администрирование бизнеса, бухгалтерский учет, управление персоналом'],\r\n ['Ежедневные тарифы', 'Для одного, для двоих, для группы', true],\r\n ['Инструменты', 'Электрический, пневматический, гидравлический', true],\r\n ['Каникулы', 'Острова, поездки, круизы', true],\r\n ['Каталог услуг', 'Замена масла, проверка на чистоту выхлопа, развал-схождение шин'],\r\n ['Классы', 'Безопасное вождение, домовладение 101', true],\r\n ['Кто', 'Для него, для нее, для двоих', true],\r\n ['Курсы', 'Писательское мастерство, структуры данных, линейная алгебра'],\r\n ['Модели', 'Королла, Приус, Ярис'],\r\n ['Направления', 'Париж, Берлин, Лондон'],\r\n ['Основные сведения', 'Что поесть, что посмотреть, чем заняться', true],\r\n ['Отдел', 'Бытовая техника, автозапчасти, домашний кинотеатр', true],\r\n ['Оценки', 'Бриллиантовый, Премиум, Премиум-плюс', true],\r\n ['Пользующиеся успехом', 'Предложение дня, Букет на день рождения, Садовый букет', true],\r\n ['Популярные гостиницы', 'Гостиница класса люкс, высокогорная база отдыха, отель на берегу озера'],\r\n ['Почему', 'День рождения, выпускной, годовщина', true],\r\n ['Размеры', 'Маленький, средний, большой', true],\r\n ['Районов', 'Финансовый район, SOMA, Северный пляж'],\r\n ['Расположения', 'Северная Америка, Европа, Азия', true],\r\n ['Рейтинги', 'Пользующиеся успехом, самые недорогие, самые просматриваемые', true],\r\n ['События', 'Выпускной, выздоровление, новорожденный', true],\r\n ['Специальные предложения', 'Элементы распродажи, купи один — получи один в подарок, скидки для учащихся', true],\r\n ['Стили', 'Дезерты, ковбойские, тактические, челси'],\r\n ['Страховое покрытие', 'Ответственность перед третьими лицами, защита на случай столкновения, зонтичное покрытие, аренда автомобиля'],\r\n ['Тарифы', 'Ежедневно, ежемесячно, ежегодно', true],\r\n ['Телепередачи', 'The Voyage, Knights, American Dancer'],\r\n ['Темы', 'Доход, выходное пособие, уплата налогов', true],\r\n ['Типы', 'Футболки, кружки, сумки, ручки'],\r\n ['Товары', 'Одежда, Книги, Настольные игры'],\r\n ['Торговые марки', 'Windows, Xbox, Skype'],\r\n ['Удобства', 'Wi-Fi, бассейн, фитнес-центр, мини-кухня'],\r\n ['Услуг', 'Мужская стрижка, женская стрижка, детская стрижка'],\r\n ['Цветы', 'Розы, маргаритки, лилии', true],\r\n ['Цены', 'До 1000 рублей, 5000–10000 рублей, более 10000 рублей', true],\r\n ['Что', 'Цветы, конфеты, подарочные карты\\'', true],\r\n ['Школьные районы', 'Обзор, ранжирование, предложения', true],\r\n ['Элементы', 'Ноутбуки, телевизоры, игровые консоли'],\r\n ['Языки', 'Английский, испанский, китайский', true],\r\n ]],\r\n ['Hebrew', [\r\n ['אירועים', 'טקסי סיום לימודים, החלמה מהירה, תינוק חדש', true],\r\n ['בתי מלון מוצגים', 'Luxury Inn, Alpine Lodge, Lakeside Hotel'],\r\n ['דגמים', 'קורולה, פריוס, יאריס'],\r\n ['דירוגים', 'רבי מכר, הזול ביותר, עם הכי הרבה ביקורות', true],\r\n ['הצגות', 'The Voyage, Knights, American Dancer'],\r\n ['חופשות', 'איים, מסעי דרכים, הפלגות', true],\r\n ['יעדים', 'פריס, ברלין, לונדון'],\r\n ['כיסוי ביטוח', 'חבות צד שלישי, התנגשות, מטרייה, השכרות רכב'],\r\n ['כלי רכב', 'קומפקטי, SUV, גג נפתח', true],\r\n ['כלים', 'חשמלי, פניאומטי, הידראולי', true],\r\n ['מדוע', 'יום הולדת, סיום לימודים, יום השנה', true],\r\n ['מה', 'פרחים, ממתקים, כרטיסי מתנה', true],\r\n ['מותגים', 'Windows, Xbox, Skype'],\r\n ['מחוזות בתי ספר', 'סיור, דירוגים, הצעות', true],\r\n ['מחירים', 'פחות מ- $10, $50-$100, מעל $100', true],\r\n ['מחלקה', 'מכשירי חשמל, חניה, מערכת קולנוע ביתי', true],\r\n ['מידות', 'קטן, בינוני, גדול', true],\r\n ['מיקומים', 'צפון אמריקה, אירופה, אסיה', true],\r\n ['משתתפים', 'עבורו, עבורה, עבור זוגות', true],\r\n ['מתקנים', 'WiFi, בריכה, מרכז כושר, מטבחון'],\r\n ['נושאים', 'הכנסה, פרישה, מסים', true],\r\n ['סגנונות', 'צ\\'וקה, קאובוי, לחימה, צ\\'לסי'],\r\n ['סוגים', 'חולצות טריקו, ספלים, תיקים, עטים'],\r\n ['סחורה', 'ביגוד, ספרים, משחקי לוח'],\r\n ['עסקאות', 'פריטי מכירת חיסול, קנה אחד קבל אחד, הנחות לסטודנטים', true],\r\n ['פרחים', 'ורדים, חבצלות, לילך', true],\r\n ['פריטים', 'מחשבים נישאים, טלוויזיות, משחקי קונסולות'],\r\n ['ציונים', 'Diamond, Premium, Premium Plus', true],\r\n ['קבוצות גיל', '40 ומטה, 41 עד 50, 51 עד 60', true],\r\n ['קורסים', 'כתיבה יצירתית, מבני נתונים, אלגברה ליניארית'],\r\n ['קטלוג שירותים', 'החלפת שמן, בדיקת ערפיח, איזון צמיגים'],\r\n ['רבי מכר', 'המבצע היומי, זר יום הולדת, זר פרחי גן', true],\r\n ['רגעים בולטים', 'מה לאכול, מה לראות, מה לעשות', true],\r\n ['שיעורים', 'נהיגה הגנתית, מבוא לבעלות על בית', true],\r\n ['שירותים', 'תספורת גברים, תספורת נשים, תספורת ילדים'],\r\n ['שכונות', 'מחוז פיננסי, SOMA, נורת\\' ביץ\\''],\r\n ['שערים', 'יומי, חודשי, שנתי', true],\r\n ['שפות', 'אנגלית, ספרדית, סינית', true],\r\n ['תוכניות לתארים', 'ניהול עסקי, חשבונאות, ניהול משאבי אנוש'],\r\n ['תעריפים יומיים', 'יחידים, זוגות, קבוצות', true],\r\n ]],\r\n ['Arabic', [\r\n ['إجازات', 'جزر، طرق، رحلات بحرية', true],\r\n ['احجام', 'صغيرة، متوسطة، كبيرة', true],\r\n ['أخبار هامة', 'ما يجب تناوله، ما يجب رؤيته، ما يجب فعله', true],\r\n ['أزهار', 'الورود، الزنبق، الزنبق', true],\r\n ['اكثر الكتب مبيعا', 'صفقة اليوم، باقة عيد الميلاد، باقة الحديقة', true],\r\n ['الاحياء', 'المنطقة المالية، SOMA، الشاطئ الشمالي'],\r\n ['الأدوات', 'كهربائي، هوائي، هايدروليكي', true],\r\n ['الأسعار اليومية', 'عزّاب، أزواج، مجموعات', true],\r\n ['الأسعار', 'أقل من 10 دولارات، 50-$100، أكثر من 100 دولار أمريكي', true],\r\n ['الأنواع', 'قمصان، أكواب، حقائب، أقلام'],\r\n ['التصنيفات', 'أفضل البائعين، الأرخص، الأكثر مراجعة', true],\r\n ['الدرجات', 'ألماسي، مميز، مميز إضافي', true],\r\n ['الدورات التدريبية', 'الكتابة الإبداعية، بنيات البيانات، الجبر الخطي'],\r\n ['الصفقات', 'عناصر التفريغ، اشتر واحد احصل على واحد، خصومات الطلاب', true],\r\n ['العروض', 'The Voyage, Knights, American Dancer'],\r\n ['العلامات التجارية', 'Windows، Xbox، Skype'],\r\n ['العناصر', 'أجهزة الكمبيوتر المحمولة والتلفزيون ووحدات تحكم اللعبة'],\r\n ['الفنادق المميزة', 'نزل فاخر، جبل الألب، فندق Lakeside'],\r\n ['القسم', 'أجهزة، مرآب، مسرح منزلي', true],\r\n ['اللغات', 'الإنجليزية، الإسبانية، الصينية', true],\r\n ['المجموعات العمرية', '40 وما دون، من 41 إلى 50، من 51 إلى 60', true],\r\n ['المركبات', 'صغيرة، عائلية، بدون سقف', true],\r\n ['المعدلات', 'يوميا، شهريا، سنويا', true],\r\n ['المواضيع', 'الدخل، التقاعد، الضرائب', true],\r\n ['المواقع', 'أمريكا الشمالية، أوروبا، آسيا', true],\r\n ['الوجهات', 'باريس، برلين، لندن'],\r\n ['أنماط', 'شوكة، راعي بقر، قتال، شيلسي'],\r\n ['برامج الدرجات', 'إدارة الأعمال، المحاسبة، إدارة الموارد البشرية'],\r\n ['بضائع', 'ملابس، كتب، ألعاب لوحية'],\r\n ['تغطية التأمين', 'مسؤولية الجهة الخارجية، تصادم، مظلة، تأجير السيارات'],\r\n ['خدمات', 'قصات شعر للرجال، قصات شعر نسائية، قصات شعر للأطفال'],\r\n ['دروس', 'القيادة الدفاعية، دليل امتلاك منزل', true],\r\n ['طرازات', 'كورولا، بريس، ياريس'],\r\n ['كتالوج الخدمة', 'تغيير الزيت، فحص الضباب، محاذاة الإطارات'],\r\n ['لماذا', 'عيد الميلاد، التخرج، الذكرى السنوية', true],\r\n ['ماذا', 'أزهار، حلوى، بطاقات هدايا', true],\r\n ['من', 'له، لها، للأزواج', true],\r\n ['مناسبات', 'التخرج، الشفاء العاجل، مولود جديد', true],\r\n ['مناطق المدرسة', 'استكشاف وتصنيفات واقتراحات', true],\r\n ['وسائل راحة', 'WiFi، حمام سباحة، مركز اللياقة البدنية، المطبخ'],\r\n ]],\r\n ['SimplifiedChinese', [\r\n ['班级', '创意书写,数据结构,线性代数', true],\r\n ['部门', '设备、影院、家庭影院', true],\r\n ['场合', '毕业,康复,新生婴儿', true],\r\n ['畅销品', '当日特卖,生日花束,花园花束', true],\r\n ['车辆', '紧凑型车,SUV,敞篷车', true],\r\n ['承保范围', '第三方责任,碰撞,雨伞,汽车租赁'],\r\n ['大小', '小、中、大', true],\r\n ['等级', '钻石,高级,超高级', true],\r\n ['服务', '男士发型、女士发型、儿童发型'],\r\n ['服务目录', '油改、烟雾检查、油料对齐'],\r\n ['工具', '电、气压、电压', true],\r\n ['花卉', '玫瑰,菊花,百合', true],\r\n ['货物', '服装、书籍、棋盘游戏'],\r\n ['假期', '群岛、路线图、邮轮', true],\r\n ['价格', '低于 $10,$50-$100,超过 $1000', true],\r\n ['节目', 'The Voyage, Knights, American Dancer'],\r\n ['课程', '防御性驾驶,家庭所有权 101'],\r\n ['类型', 'T恤,杯子,包,笔'],\r\n ['亮点', '吃什么,看什么,做什么', true],\r\n ['每日費率', '单人,双人,团体', true],\r\n ['目的地', '巴黎、柏林、伦敦'],\r\n ['内容', '花、糖、礼品卡', true],\r\n ['年龄组', '40 和更小,41 到 50,51 到 60', true],\r\n ['频率', '每日,每月,每年', true],\r\n ['品牌', 'Windows、Xbox、Skype'],\r\n ['评级', '畅销品,最便宜,浏览次数最多', true],\r\n ['人员', '为他,为她,为情侣', true],\r\n ['设施', 'WiFi,游泳池,健身中心,厨房'],\r\n ['社区', '财务区,SOMA,北海滩'],\r\n ['特色酒店', '豪华旅馆、高山小屋、湖畔酒店'],\r\n ['位置', '北美、欧洲、亚洲', true],\r\n ['项目', '笔记本电脑、电视、游戏主机'],\r\n ['型号', 'Corolla、Prius、Yaris'],\r\n ['学区', '浏览、排名、建议', true],\r\n ['学位课程', '商务管理,会计,人力资源管理'],\r\n ['样式', 'Chukka, 牛仔, 战斗, 切尔西'],\r\n ['优惠', '清仓商品,买一送一,学生折扣', true],\r\n ['语言', '英语、西班牙语、中文', true],\r\n ['原因', '生日、毕业、周年', true],\r\n ['主题', '收入、停用、税费', true],\r\n ]],\r\n ['Malay', [\r\n ['Alat', 'Elektrik, Pneumatik, Hidraulik', true],\r\n ['Apa', 'Bunga, Gula-gula, Kad hadiah', true],\r\n ['Bahasa', 'Bahasa Inggeris, bahasa Sepanyol, Bahasa Cina', true],\r\n ['Barangan', 'Pakaian, Buku, Permainan papan'],\r\n ['Bunga', 'Mawar, Daisi, Lili', true],\r\n ['Daerah sekolah', 'Teroka, Penilaian, Cadangan', true],\r\n ['Destinasi', 'Paris, Berlin, London'],\r\n ['Gaya', 'Chukka, Cowboy, Combat, Chelsea'],\r\n ['Gred', 'Berlian, Premium, Premium Tambahan', true],\r\n ['Harga', 'Bawah $10, $50-100, Atas $1000', true],\r\n ['Hotel yang diketengahkan', 'Luxury Inn, Alpine Lodge, Lakeside Hotel'],\r\n ['Item', 'Komputer riba, TV, Konsol permainan'],\r\n ['Jabatan', 'Peralatan, Garaj, Teater rumah', true],\r\n ['Jenama', 'Windows, Xbox, Skype'],\r\n ['Jenis', 'Baju T, Mug, Beg, Pen'],\r\n ['Jualan paling laris', 'Tawaran hari ini, Sejambak hari jadi, Sejambak taman', true],\r\n ['Kadar harian', 'Bujang, Pasangan, Kumpulan', true],\r\n ['Kadar', 'Harian, Bulanan, Tahunan', true],\r\n ['Katalog perkhidmatan', 'Penukaran minyak, Pemeriksaan asap, Penjajaran tayar'],\r\n ['Kejiranan', 'Daerah kewangan, SOMA, Pantai Utara'],\r\n ['Kelas', 'Penulisan kreatif, Struktur data, Algebra linear', true],\r\n ['Kemudahan', 'WiFi, Kolam, Pusat kecergasan, Dapur kecil'],\r\n ['Kenapa', 'Hari jadi, Graduasi, Ulang tahun', true],\r\n ['Kenderaan', 'Kompak, SUV, Boleh Tukar', true],\r\n ['Kumpulan umur', '40 dan bawah 41 ke 50, 51 ke 60', true],\r\n ['Kursus', 'Pemanduan pertahanan, Pemilikan rumah 101'],\r\n ['Lokasi', 'Amerika Utara, Eropah, Asia', true],\r\n ['Majlis', 'Graduasi, Semoga sihat, Bayi baru', true],\r\n ['Model', 'Corolla, Prius, Yaris'],\r\n ['Penilaian', 'Terlaris, Termurah, Paling banyak disemak', true],\r\n ['Percutian', 'Pulau, Perjalanan jalan, Pelayaran', true],\r\n ['Perkhidmatan', 'Gunting rambut lelaki, Gunting rambut wanita, Gunting rambut kanak-kanak'],\r\n ['Perlindungan insurans', 'Liabiliti pihak ketiga, Perlanggaran, Payung, Penyewaan kereta'],\r\n ['Pertunjukkan', 'The Voyage, Knights, American Dancer'],\r\n ['Program ijazah', 'Pentadbiran perniagaan, Perakaunan, Pengurusan HR'],\r\n ['Saiz', 'Kecil, Sederhana, Besar', true],\r\n ['Siapa', 'Untuk dia, Untuk dia, Untuk pasangan', true],\r\n ['Sorotan', 'Apa yang hendak dimakan, Apa yang perlu dilihat, Apa yang perlu dilakukan', true],\r\n ['Tawaran', 'Item penghabisan, Beli satu dapat satu, Diskaun pelajar', true],\r\n ['Topik', 'Pendapatan, Persaraan, Cukai', true],\r\n ]],\r\n ['Hindi', [\r\n ['अवसर', 'स्नातक, स्वस्थ हो जाओ, नया बच्चा', true],\r\n ['आइटम', 'लैपटॉप्स, TV, गेम कंसोल्स'],\r\n ['आकार', 'छोटा, मध्यम, बड़ा', true],\r\n ['आयु समूह', '40 और इससे कम, 41 से 50, 51 से 60 तक', true],\r\n ['उपकरण', 'इलेक्ट्रिक, न्यूमेटिक, हाइड्रॉलिक', true],\r\n ['कौन', 'उसके लिए, उसके लिए, जोड़ों के लिए', true],\r\n ['क्या', 'फूल, कैंडीज़, उपहार कार्ड', true],\r\n ['क्यों', 'जन्मदिन, स्नातक, वर्षगाँठ', true],\r\n ['ग्रेड', 'डायमंड, प्रीमियम, प्रीमियम प्लस', true],\r\n ['छुट्टियाँ', 'आइलैंड्स, रोडट्रिप्स, क्रूज़', true],\r\n ['डिग्री प्रोग्राम्स', 'व्यवसाय व्यवस्थापन, अकाउंटिंग, HR प्रबंधन'],\r\n ['डील्स', 'क्लीयरेंस आइटम्स, एक खरीदें दूसरा पाएं, विद्यार्थी छूट', true],\r\n ['डेस्टिनेशन', 'पेरिस, बर्लिन, लंदन'],\r\n ['दरें', 'दैनिक, मासिक, वार्षिक', true],\r\n ['दैनिक दरें', 'एकल, युगल, समूह', true],\r\n ['पड़ोस', 'वित्तीय जिला, SOMA, उत्तरी समुद्र तट'],\r\n ['पाठ्यक्रम', 'रक्षात्मक ड्राइविंग, होम स्वामित्व 101'],\r\n ['प्रकार', 'टी-शर्ट, मग, बैग्स, पेन्स'],\r\n ['फ़ीचर्ड होटल', 'Luxury Inn, Alpine Lodge, Lakeside Hotel'],\r\n ['फूल', 'गुलाब, डेज़ीज़, लिलीज़', true],\r\n ['बीमा कवरेज', 'तृतीय पक्ष देयता, टकराव, छाता, कार का किराया'],\r\n ['ब्रांड्स', 'Windows, Xbox, Skype'],\r\n ['भाषाएँ', 'अंग्रेज़ी, स्पैनिश, चीनी', true],\r\n ['माल', 'कपड़े, पुस्तकें, बोर्ड गेम्स'],\r\n ['मूल्य', '$10, $50-$100 के अंतर्गत, $1000 से अधिक', true],\r\n ['मॉडल्स', 'कोरोला, प्रियस, यारिस'],\r\n ['रेटिंग', 'श्रेष्ठ विक्रेता, सबसे सस्ते, सबसे अधिक समीक्षा की गई', true],\r\n ['वर्गों', 'रचनात्मक लेखन, डेटा संरचनाएँ, रेखीय बीजगणित', true],\r\n ['वाहन', 'संकुचित, SUV, कनवर्ट करने योग्य', true],\r\n ['विद्यालय जिला', 'एक्सप्लोर, रैंकिंग, सुझाव', true],\r\n ['विभागों', 'उपकरण, गैराज, होम थिएटर', true],\r\n ['विषय', 'आय, सेवानिवृत्ति, कर', true],\r\n ['शैलियाँ', 'चुक्का, काउबॉय, कॉम्बैट, परीक्षक'],\r\n ['शो', 'The Voyage, Knights, American Dancer'],\r\n ['श्रेष्ठ विक्रेता', 'दिन की डील, जन्मदिन का गुलदस्ता, बगीचे का गुलदस्ता', true],\r\n ['सुविधाएँ', 'WiFi, पूल, फ़िटनेस सेंटर, किचनेट'],\r\n ['सेवा कैटलॉग', 'तेल परिवर्तन, Smog जाँच, टायर संरेखण'],\r\n ['सेवाएँ', 'पुरुष के बाल काटना, महिलाओं के बाल कटना, बच्चों के बाल कटना'],\r\n ['स्थानों', 'उत्तरी अमेरिका, यूरोप, एशिया', true],\r\n ['हाइलाइट्स', 'क्या खाना है, क्या देखना है, क्या करना है', true],\r\n ]],\r\n ['Thai', [\r\n ['กลุ่มอายุ', '40 และต่ำกว่า, 41 ถึง 50, 51 ถึง 60', true],\r\n ['การจัดอันดับ', 'ขายดีที่สุด, ราคาถูกที่สุด, ได้รับรีวิวมากที่สุด', true],\r\n ['เกรด', 'Diamond, Premium, Premium Plus', true],\r\n ['ขนาด', 'เล็ก, ปานกลาง, ใหญ่', true],\r\n ['ข้อเสนอ', 'สินค้าลดล้างสต็อก, ซื้อหนึ่งแถมหนึ่ง, ส่วนลดสำหรับนักเรียน', true],\r\n ['ขายดีที่สุด', 'ข้อเสนอประจำวัน, ช่อดอกไม้วันเกิด, ช่อดอกไม้ในสวน', true],\r\n ['เขตโรงเรียน', 'สำรวจ, การจัดอันดับ, คำแนะนำ', true],\r\n ['ความคุ้มครองของประกันภัย', 'ความรับผิดของบริษัทภายนอก, การชน, ความคุ้มครองเพิ่มเติม, การเช่ารถยนต์'],\r\n ['เครื่องมือ', 'ไฟฟ้า, นิวเมติกส์, ไฮดรอลิก', true],\r\n ['แค็ตตาล็อกบริการ', 'การถ่ายน้ำมัน, การตรวจระบบไอเสีย, การตั้งศูนย์ล้อ'],\r\n ['ใคร', 'สำหรับเขา, สำหรับเธอ, สำหรับคู่รัก', true],\r\n ['จุดหมายปลายทาง', 'ปารีส, เบอร์ลิน, ลอนดอน'],\r\n ['ชนิด', 'เสื้อยืด, แก้ว, กระเป๋า, ปากกา'],\r\n ['ชั้นเรียน', 'การเขียนเชิงสร้างสรรค์, โครงสร้างข้อมูล, พีชคณิตเชิงเส้น', true],\r\n ['ดอกไม้', 'กุหลาบ, เดซี่, ลิลลี่', true],\r\n ['ทำไม', 'วันเกิด, สำเร็จการศึกษา, วันครบรอบ', true],\r\n ['บริการ', 'ตัดผมชาย, ตัดผมหญิง, ตัดผมเด็ก'],\r\n ['แบรนด์', 'Windows, Xbox, Skype'],\r\n ['โปรแกรมปริญญา', 'การจัดการธุรกิจ, การบัญชี, การจัดการทรัพยากรบุคคล'],\r\n ['แผนก', 'เครื่องใช้ไฟฟ้า, โรงรถ, โรงภาพยนตร์ในบ้าน', true],\r\n ['พื้นที่ใกล้เคียง', 'Financial district, SOMA, North Beach'],\r\n ['ภาษา', 'อังกฤษ, สเปน, จีน', true],\r\n ['ยานพาหนะ', 'กะทัดรัด, SUV, ปรับเปลี่ยนได้', true],\r\n ['ราคา', 'ต่ำกว่า $10, $50-$100, สูงกว่า $1000', true],\r\n ['รายการโชว์', 'The Voyage, Knights, American Dancer'],\r\n ['รุ่น', 'Corolla, Prius, Yaris'],\r\n ['โรงแรมที่น่าสนใจ', 'Luxury Inn, Alpine Lodge, Lakeside Hotel'],\r\n ['วันหยุด', 'หมู่เกาะ, การขับรถท่องเที่ยว, การล่องเรือสำราญ', true],\r\n ['สไตล์', 'ชุกกะ, คาวบอย, คอมแบต, เชลซี'],\r\n ['สถานที่', 'อเมริกาเหนือ, ยุโรป, เอเชีย', true],\r\n ['สิ่งของ', 'แล็ปท็อป, ทีวี, คอนโซลเกม'],\r\n ['สิ่งอำนวยความสะดวก', 'WiFi, สระน้ำ, ศูนย์ฟิตเนส, ห้องครัวขนาดเล็ก'],\r\n ['สินค้า', 'เสื้อผ้า, หนังสือ, เกมกระดาน'],\r\n ['หลักสูตร', 'การขับขี่เชิงป้องกัน, การเป็นเจ้าของบ้าน 101'],\r\n ['หัวข้อ', 'รายได้, การเกษียณ, ภาษี', true],\r\n ['อะไร', 'ดอกไม้, ลูกกวาด, บัตรกำนัล', true],\r\n ['อัตรา', 'รายวัน, รายเดือน, รายปี', true],\r\n ['อัตรารายวัน', 'คนโสด, คู่รัก, กลุ่ม', true],\r\n ['โอกาส', 'สำเร็จการศึกษา, หายป่วย, มีลูกคนใหม่', true],\r\n ['ไฮไลต์', 'สิ่งที่ควรทาน, สิ่งที่ควรดู, สิ่งที่ต้องทำ', true],\r\n ]],\r\n ['Indonesian', [\r\n ['Acara', 'Kelulusan, Semoga sembuh, Kelahiran bayi', true],\r\n ['Acara', 'The Voyage, Knights, American Dancer'],\r\n ['Alat', 'Elektris, Pneumatik, Hidraulis', true],\r\n ['Apa', 'Bunga, Permen, Kartu hadiah', true],\r\n ['Bahasa', 'Inggris, Spanyol, Tionghoa', true],\r\n ['Barang', 'Pakaian, Buku, Permainan papan'],\r\n ['Bunga', 'Mawar, Aster, Lili', true],\r\n ['Departemen', 'Peralatan, Garasi, Bioskop rumah', true],\r\n ['Distrik sekolah', 'Jelajahi, Peringkat, Saran', true],\r\n ['Fasilitas', 'WiFi, Kolam renang, Pusat kebugaran, Dapur kecil'],\r\n ['Gaya', 'Chukka, Cowboy, Combat, Chelsea'],\r\n ['Harga', 'Di bawah $10, $50-$100, Di atas $1000', true],\r\n ['Hotel unggulan', 'Luxury Inn, Alpine Lodge, Lakeside Hotel'],\r\n ['Item', 'Laptop, TV, Konsol game'],\r\n ['Katalog layanan', 'Penggantian oli, Pemeriksaan asbut, Penyelarasan ban'],\r\n ['Kelas', 'Penulisan kreatif, Struktur data, Aljabar linear', true],\r\n ['Kelompok usia', '40 ke bawah, 41 hingga 50, 51 hingga 60', true],\r\n ['Kendaraan', 'Kompak, SUV, Konvertibel', true],\r\n ['Kursus', 'Berkendara defensif, Pengantar kepemilikan rumah'],\r\n ['Layanan', 'Model rambut pria, Model rambut wanita, Model rambut anak-anak'],\r\n ['Liburan', 'Kepulauan, Perjalanan darat, Kapal pesiar', true],\r\n ['Lingkungan', 'Distrik keuangan, SOMA, Pantai Utara'],\r\n ['Lokasi', 'Amerika Utara, Eropa, Asia', true],\r\n ['Mengapa', 'Ulang Tahun, Kelulusan, Hari Jadi', true],\r\n ['Merek', 'Windows, Xbox, Skype'],\r\n ['Model', 'Corolla, Prius, Yaris'],\r\n ['Penawaran', 'Barang cuci gudang, Beli satu bonus satu, Diskon pelajar', true],\r\n ['Peringkat', 'Terlaris, Termurah, Paling banyak diulas', true],\r\n ['Perlindungan asuransi', 'Tanggung jawab pihak ketiga, Tabrakan, Payung, Penyewaan mobil'],\r\n ['Program gelar', 'Administrasi bisnis, Akuntansi, Manajemen SDM'],\r\n ['Siapa', 'Untuknya, Baginya, Untuk pasangan', true],\r\n ['Sorotan', 'Apa yang harus dimakan, Apa yang harus dilihat, Apa yang harus dilakukan', true],\r\n ['Tarif harian', 'Lajang, Menikah, Kelompok', true],\r\n ['Tarif', 'Harian, Bulanan, Tahunan', true],\r\n ['Terlaris', 'Penawaran hari ini, Buket ulang tahun, Buket kebun', true],\r\n ['Tingkat', 'Diamond, Premium, Premium Plus', true],\r\n ['Tipe', 'Kaus, Mug, Tas, Pena'],\r\n ['Topik', 'Pendapatan, Pensiun, Pajak', true],\r\n ['Tujuan', 'Paris, Berlin, London'],\r\n ['Ukuran', 'Kecil, Sedang, Besar', true],\r\n ]],\r\n ['Tagalog', [\r\n ['Ano', 'Bulaklak, Candies, Gift card', true],\r\n ['Bakit', 'Birthday, Graduation, Anniversary', true],\r\n ['Catalog ng serbisyo', 'Pagpapalit ng langis, Smog check, Pag-align ng gulong'],\r\n ['Grado', 'Diamond, Premium, Premium Plus', true],\r\n ['Grupo ayon sa edad', '40 pababa, 41 hanggang 50, 51 hanggang 60', true],\r\n ['Mga Amenities', 'WiFi, Pool, Fitness center, Kitchenette'],\r\n ['Mga Bakasyon', 'Mga Isla, Mga Roadtrip, Mga Paglalayag', true],\r\n ['Mga Brand', 'Windows, Xbox, Skype'],\r\n ['Mga Bulaklak', 'Roses, Daisies, Lilies', true],\r\n ['Mga Deal', 'Mga item sa clearance, Buy one get one, Student discounts', true],\r\n ['Mga destinasyon', 'Paris, Berlin, London'],\r\n ['Mga distrito ng paaralan', 'Galugarin, Mga Ranggo, Mga Suhestiyon', true],\r\n ['Mga Estilo', 'Chukka, Cowboy, Combat, Chelsea'],\r\n ['Mga feature na hotel', 'Luxury Inn, Alpine Lodge, Lakeside Hotel'],\r\n ['Mga highlight', 'Ano ang makakain, Ano ang makikita, Ano ang gagawin', true],\r\n ['Mga item', 'Mga laptop, TV, Game console'],\r\n ['Mga Kagamitan', 'Damit, Mga Aklat, Board games'],\r\n ['Mga kagawaran', 'Appliances, Garage, Home theater', true],\r\n ['Mga Kapitbahay', 'Financial district, SOMA, North Beach'],\r\n ['Mga Klase', 'Malikhaing pagsusulat, mga istraktura ng data, Linear algebra', true],\r\n ['Mga Kurso', 'Defensive na pagmamaneho, Pagmamay-ari ng Bahay 101'],\r\n ['Mga Lokasyon', 'North America, Europe, Asia', true],\r\n ['Mga Modelo', 'Corolla, Prius, Yaris'],\r\n ['Mga Okasyon', 'Graduations, Magpagaling ka, Bagong baby', true],\r\n ['Mga paksa', 'Income, Pagreretiro, Buwis', true],\r\n ['Mga Palabas', 'The Voyage, Knights, American Dancer'],\r\n ['Mga pang-araw-araw na rate', 'Mga Single, Couple, Grupo', true],\r\n ['Mga presyo', 'Sa ilalim ng $10, $50-$100, Higit sa $1000', true],\r\n ['Mga programa sa degree', 'Pangangasiwa ng negosyo, Accounting, pamamahala ng HR'],\r\n ['Mga rate', 'Araw-araw, Buwan-buwan, Taunang', true],\r\n ['Mga rating', 'Pinakamabenta, Pinakamura, Pinaka-review', true],\r\n ['Mga sasakyan', 'Compact, SUV, Mapapalitan', true],\r\n ['Mga Serbisyo', 'Gupit ng lalaki, Gupit ng Babae, Gupit ng Bata'],\r\n ['Mga sukat', 'Maliit, Katamtaman, Malaki', true],\r\n ['Mga Tool', 'Electric, Pneumatic, Hydraulic', true],\r\n ['Mga Uri', 'Mga T-Shirt, Mug, Bag, Panulat'],\r\n ['Mga Wika', 'English, Spanish, Chinese', true],\r\n ['Pinaka mabenta', 'Deal ng araw, Birthday bouquet, Garden bouquet', true],\r\n ['Saklaw ng insurance', 'Pananagutan ng third party, Pagbangga, Payong, Pag-arkila ng kotse'],\r\n ['Sino', 'Para sa kanya, Para sa kanya, Para sa mga mag-asawa', true],\r\n ]],\r\n ['Vietnamese', [\r\n ['Các lớp học', 'Viết sáng tạo, Cấu trúc dữ liệu, Đại số tuyến tính', true],\r\n ['Cái gì', 'Hoa, Kẹo, Thẻ quà tặng', true],\r\n ['Chủ đề', 'Thu nhập, Nghỉ hưu, Thuế', true],\r\n ['Chương trình bằng cấp', 'Quản trị kinh doanh, Kế toán, Quản lý nhân sự'],\r\n ['Chương trình', 'Chuyến du hành, Hiệp sĩ, Vũ công Mỹ'],\r\n ['Công cụ', 'Điện, khí nén, thủy lực', true],\r\n ['Cước phí hàng ngày', 'Đơn, Cặp đôi, Nhóm', true],\r\n ['Danh mục dịch vụ', 'Thay dầu, kiểm tra khói bụi, căn chỉnh lốp'],\r\n ['Dịch vụ', 'Cắt tóc nam, Cắt tóc nữ, Cắt tóc trẻ em'],\r\n ['Điểm đến', 'Paris, Berlin, London'],\r\n ['Điểm', 'Kim cương, Premium, Premium Plus', true],\r\n ['Dịp', 'Lễ tốt nghiệp, Khỏe mạnh, Em bé mới', true],\r\n ['Đối tượng', 'Dành cho anh ấy, Dành cho cô ấy, Dành cho các cặp đôi', true],\r\n ['Giá cả', 'Dưới $10, $50-$100, trên $1000', true],\r\n ['Giá', 'Hàng ngày, hàng tháng, hàng năm', true],\r\n ['Giao dịch', 'Hàng thanh lý, Mua một tặng một, Giảm giá cho học viên', true],\r\n ['Hàng hoá', 'Quần áo, Sách, Trò chơi trên bảng'],\r\n ['Hoa', 'Hoa hồng, hoa cúc, hoa huệ', true],\r\n ['Học khu', 'Khám phá, Xếp hạng, Đề xuất', true],\r\n ['Khóa học', 'Lái xe phòng thủ, Quyền sở hữu nhà 101'],\r\n ['Kích thước', 'Nhỏ, Trung bình, Lớn', true],\r\n ['Kiểu', 'Chukka, Cao Bồi, Trận Chiến, Chelsea'],\r\n ['Kỳ nghỉ', 'Quần đảo, Chuyến đi đường, Du lịch trên biển', true],\r\n ['Loại', 'Áo thun, cốc, túi xách, bút'],\r\n ['Mặt hàng', 'Máy tính xách tay, TV, bảng điều khiển trò chơi'],\r\n ['Mô hình', 'Corolla, Prius, Yaris'],\r\n ['Ngôn ngữ', 'Tiếng Anh, Tiếng Tây Ban Nha, Tiếng Trung', true],\r\n ['Người bán Tốt nhất', 'Thỏa thuận trong ngày, Bó hoa sinh nhật, Bó hoa sân vườn', true],\r\n ['Nhóm vai trò', '40 và dưới, 41 đến 50, 51 đến 60', true],\r\n ['Phạm vi bảo hiểm', 'Trách nhiệm pháp lý của bên thứ ba, Va chạm, Ô dù, Cho thuê ô tô'],\r\n ['Phòng ban', 'Thiết bị gia dụng, Gara, Rạp hát tại nhà', true],\r\n ['Tại sao', 'Sinh nhật, Tốt nghiệp, Kỷ niệm', true],\r\n ['Thương hiệu', 'Windows, Xbox, Skype'],\r\n ['Tiện nghi', 'WiFi, Hồ bơi, Trung tâm thể hình, Bếp nhỏ'],\r\n ['Tin nổi bật', 'Ăn gì, xem gì, làm gì', true],\r\n ['Trợ giúp nổi bật', 'Nhà trọ sang trọng, Nhà nghỉ Alpine, Khách sạn gần hồ'],\r\n ['Vị trí', 'Bắc Mỹ, Châu Âu, Châu Á', true],\r\n ['Vùng lân cận', 'Khu tài chính, SOMA, Bãi biển phía Bắc'],\r\n ['Xe', 'Nhỏ gọn, SUV, Có thể chuyển đổi', true],\r\n ['Xếp hạng', 'Bán chạy nhất, Rẻ nhất, Được đánh giá nhiều nhất', true],\r\n ]],\r\n];\r\n\r\n/**\r\n * Script to compare model in doc\r\n * model = requirejs('@bingads-webui-campaign-legacy/adextension-structuredsnippet/model/model')\r\n * uimodel = {};_.each(model.default, item => uimodel[item[0]] = _.map(item[1], i => i[0]))\r\n * docModel = {}; _.each(docStr.split(';'), (ss) => {items = ss.split(','); key = items[0]; items.shift(); docModel[key] = _.map(items, item=>item.trim())})\r\n * ret = {}; _.each(uimodel, (vals, key) => {ui2doc = _.difference(vals, docModel[key]); doc2ui = _.difference(docModel[key], vals); if (_.size(ui2doc.concat(doc2ui)) > 0) {ret[key]={ui2doc, doc2ui}}})\r\n */\r\n\r\nconst oldHeaderPredicate = ([, , isNewHeader]) => !isNewHeader;\r\n\r\n// const filterLangHeaders = (withNewHeaders, lang, langHeaders) => [lang, [withNewHeaders ? langHeaders : filter(langHeaders, langHeaderPredicate)]];\r\n\r\nconst filterHeaders = (withNewHeaders = false) =>\r\n headers.map(([lang, langHeaders]) => [lang, withNewHeaders ? langHeaders : filter(langHeaders, oldHeaderPredicate)]);\r\n\r\nconst buildHeadersMap = (hheaders) => hheaders\r\n .reduce((map, [lang, langHeaders]) => {\r\n map[lang] = langHeaders;\r\n return map;\r\n }, {});\r\n\r\nexport const OldHeaders = filterHeaders(false);\r\nexport const OldHeadersMap = buildHeadersMap(OldHeaders);\r\nexport const Headers = filterHeaders(true);\r\nexport const HeadersMap = buildHeadersMap(Headers);\r\n","import _ from 'underscore';\r\nimport odata from '@bingads-webui-component-legacy/http/channel/odata';\r\nimport config from '@bingads-webui-component-legacy/config/index';\r\n\r\nconst langCodeMapper = {\r\n bg: 'Bulgarian',\r\n bs: 'Bosnian',\r\n cs: 'Czech',\r\n da: 'Danish',\r\n de: 'German',\r\n el: 'Greek',\r\n en: 'English',\r\n es: 'Spanish',\r\n et: 'Estonian',\r\n fi: 'Finnish',\r\n fr: 'French',\r\n hr: 'Croatian',\r\n hu: 'Hungarian',\r\n is: 'Icelandic',\r\n it: 'Italian',\r\n lt: 'Lithuanian',\r\n lv: 'Latvian',\r\n mk: 'Macedonian',\r\n mt: 'Maltese',\r\n nl: 'Dutch',\r\n no: 'Norwegian',\r\n pl: 'Polish',\r\n pt: 'Portuguese',\r\n ro: 'Romanian',\r\n sk: 'Slovak',\r\n sl: 'Slovenian',\r\n sq: 'Albanian',\r\n sr: 'Serbian',\r\n sv: 'Swedish',\r\n tr: 'Turkish',\r\n zh: 'TraditionalChinese',\r\n};\r\n\r\nexport function detectLanguage(texts) {\r\n const str = texts.join(',');\r\n const currentAccount = config.get('CurrentAccount') || {};\r\n const currentCustomer = config.get('CurrentCustomer') || {};\r\n const url = `/Customers(${currentCustomer.Id})/Accounts(${currentAccount.Id})/LanguageDetects`;\r\n\r\n return odata.post(url, {\r\n data: {\r\n StringToDetectLanguage: str,\r\n },\r\n }).then((data) => {\r\n if (!_.isEmpty(data)) {\r\n const value = _.result(data, 'value');\r\n\r\n return langCodeMapper[value.toLowerCase()] || langCodeMapper[value.toLowerCase().split('-')[0]];\r\n }\r\n return data;\r\n })\r\n .catch(() => null);\r\n}\r\n","import _ from 'underscore';\r\nimport config from '@bingads-webui-component-legacy/config/index';\r\nimport { OldHeadersMap } from '@bingads-webui-campaign-legacy/adextension-structuredsnippet/model/model';\r\nimport { globalizationModelSetup } from '@bingads-webui-campaign/ads-globalization';\r\n\r\nconst { LANGUAGES } = globalizationModelSetup({\r\n permissions: config.get('permissions'),\r\n culture: config.get('culture'),\r\n});\r\n\r\nexport const selectOptions = _.map(LANGUAGES, (lang) => [\r\n lang,\r\n _.map(OldHeadersMap[lang], ([header]) => header),\r\n]);\r\n","import _ from 'underscore';\r\nimport $ from 'jquery';\r\nimport CxSelect from '@bingads-webui-component-legacy/cx-select/view/index';\r\nimport { OldHeaders as model } from '@bingads-webui-campaign-legacy/adextension-structuredsnippet/model/model';\r\nimport { detectLanguage } from '@bingads-webui-campaign-legacy/adextension-structuredsnippet/model/detect-language';\r\nimport { selectOptions } from '@bingads-webui-campaign-legacy/adextension-structuredsnippet/model/select-options';\r\nimport '@bingads-webui-component-legacy/extension/underscore';\r\n\r\nconst i18n = window.globalLegacyI18n.get('component/i18n/loader!campaignui/feature/adextensions');\r\n\r\nfunction getI18n(key) {\r\n const ret = i18n.get(`Language_${key}`);\r\n\r\n return ret ? ret : key;\r\n}\r\n\r\nfunction findPairValueWithKey(pairs, key) {\r\n const [, value] = _.find(pairs, ([k]) => k === key) || [];\r\n\r\n return value;\r\n}\r\n\r\nfunction getExamples([lang = null, header] = []) {\r\n if (!lang) {\r\n return model[0][1][0][1];\r\n }\r\n\r\n const headers = findPairValueWithKey(model, lang) || [];\r\n\r\n return findPairValueWithKey(headers, header) || '';\r\n}\r\n\r\nexport default class CxSelectView extends CxSelect {\r\n initialize({\r\n observable,\r\n field,\r\n viewModel,\r\n } = {}) {\r\n this.field = field;\r\n\r\n const value = observable();\r\n\r\n const opts = {\r\n i18n: {\r\n get: getI18n,\r\n },\r\n selectsCss: ['structured-snippet-category-layer-1', 'structured-snippet-category-layer-2'],\r\n selectsLabel: [i18n.get('StructuredSnippet_Texts_Language'), i18n.get('StructuredSnippet_Texts_Snippet')],\r\n selectOptions,\r\n value: value === '' ? undefined : value,\r\n id: field.id,\r\n labelledby: `${this.field.id}-Label`,\r\n describedby: `${this.field.id}-Validation`,\r\n };\r\n\r\n this.on('update', (newValue, path) => {\r\n observable(newValue === undefined ? '' : newValue);\r\n\r\n this.setExamples(getExamples(path));\r\n });\r\n\r\n super.initialize(opts);\r\n\r\n observable(_.isEmpty(value) ? _.last(this.getPath()) : value);\r\n this.initialExamples = getExamples(CxSelect.findValuePath(value, selectOptions));\r\n\r\n if (this.viewModel.isMultiMatch) {\r\n //detect path in other ways\r\n detectLanguage(viewModel.Texts()).then((path) => { //eslint-disable-line\r\n if (!_.isEmpty(path)) {\r\n this.trigger('update:path', [path, observable()]);\r\n }\r\n });\r\n }\r\n }\r\n\r\n render() {\r\n super.render();\r\n\r\n this.$el.append($('
'));\r\n\r\n this.setExamples(this.initialExamples);\r\n\r\n return this;\r\n }\r\n\r\n setExamples(examples) {\r\n if (_.isEmpty(examples)) {\r\n return;\r\n }\r\n\r\n this.$('.examples').text(i18n.get('StructuredSnippet_Texts_Examples', { examples }));\r\n }\r\n}\r\n","import _ from 'underscore';\r\nimport StringListInput from '@bingads-webui-component-legacy/string-list-input/view/string-list-input';\r\n\r\nconst schema = window.globalLegacySchema.get('StructuredSnippetAdExtension');\r\nconst i18n = window.globalLegacyI18n.get('component/i18n/loader!campaignui/feature/adextensions');\r\n\r\nexport default class extends StringListInput {\r\n initialize({\r\n observable,\r\n field,\r\n }) {\r\n const opts = {\r\n schema: schema.properties.Texts,\r\n values: observable(),\r\n validatorMessages: {\r\n pattern: i18n.get('StructuredSnippet_Texts_Should_Exclude_Comma_SemiColon'),\r\n },\r\n id: field.id,\r\n labelledby: `${field.id}-Label`,\r\n describedby: `${field.id}-Validation`,\r\n };\r\n\r\n this.on('update', (newValues) => {\r\n observable(_.filter(newValues, Boolean));\r\n });\r\n\r\n super.initialize(opts);\r\n }\r\n}\r\n","/* eslint-disable */\r\nimport _ from 'underscore';\r\nimport * as _SharedEditorView from '@bingads-webui-campaign-legacy/adextension-shared/view/extension-editor';\r\nimport * as CxSelect from '@bingads-webui-campaign-legacy/adextension-structuredsnippet/view/adapt-cxSelect';\r\nimport * as StringListInput from '@bingads-webui-campaign-legacy/adextension-structuredsnippet/view/adapt-string-list-input';\r\nvar schema = window.globalLegacySchema.get('StructuredSnippetAdExtension');\r\nvar i18n = window.globalLegacyI18n.get('component/i18n/loader!campaignui/feature/adextensions');\r\nvar SharedEditorView = _SharedEditorView.default;\r\nvar EditorView = SharedEditorView.extend({\r\n initialize: function (options) {\r\n options = _.defaults({\r\n schema: schema,\r\n fields: [{\r\n property: 'Category',\r\n control: CxSelect.default\r\n }, {\r\n property: 'Texts',\r\n control: StringListInput.default,\r\n validators: {\r\n size: {\r\n message: i18n.get('StructuredSnippet_Texts_Size_Invalid_Message')\r\n }\r\n }\r\n }],\r\n customValidators: {\r\n Texts: {\r\n isValid: function (values) {\r\n var len = _.chain(values).uniq().size().value();\r\n return len === _.size(values);\r\n },\r\n message: i18n.get('StructuredSnippet_Texts_Duplicate_Invalid_Message')\r\n }\r\n }\r\n }, options);\r\n options.extension = options.extension || ({\r\n Category: 'Amenities'\r\n });\r\n SharedEditorView.prototype.initialize.call(this, options);\r\n }\r\n});\r\nexport default EditorView;\r\n\r\n","/* eslint-disable */\r\nimport _ from 'underscore';\r\nimport AssociationsEditorBase from '@bingads-webui-campaign-legacy/adextension-associations-editor/view/index';\r\nimport dialogDecorator from '@bingads-webui-component-legacy/dialog/dialogDecorator';\r\nimport * as _SharedRepository from '@bingads-webui-campaign-legacy/adextension-shared/service/repository';\r\nimport EditorView from '@bingads-webui-campaign-legacy/adextension-structuredsnippet/view/extensionEditor';\r\nimport previewTemplate from '@bingads-webui-campaign-legacy/adextension-structuredsnippet/template/extensionPreview.pug';\r\nimport rowTemplate from '@bingads-webui-campaign-legacy/adextension-structuredsnippet/template/gridRowTemplate.pug';\r\nimport * as _panelDecorator from '@bingads-webui-campaign-react/panel-decorator';\r\nvar schema = window.globalLegacySchema.get('StructuredSnippetAdExtension');\r\nvar $i18n = window.globalLegacyI18n.get('component/i18n/loader!campaignui/feature/adextensions');\r\nvar SharedRepository = _SharedRepository.default;\r\nvar panelDecorator = _panelDecorator.panelDecorator;\r\nvar dialogOptions = {\r\n position: 'center',\r\n maxWidth: 1000\r\n};\r\nvar i18nKeys = {\r\n title: 'AdExtensions_StructuredSnippet_Editor_Title',\r\n subtitle: ['NewCampaign_StructuredSnippetAdExtension_Subtitle'],\r\n library_title: 'AdExtensions_StructuredSnippet_Editor_Available',\r\n selected_title: 'AdExtensions_StructuredSnippet_Editor_Selected',\r\n create_link: 'AdExtensions_StructuredSnippet_Editor_CreateNew',\r\n create_title: 'AdExtensions_StructuredSnippet_Dialog_Title_Add',\r\n delete_btn: 'AdExtensions_StructuredSnippet_Editor_Delete',\r\n delete_confirm: 'AdExtensions_StructuredSnippet_Delete_Warning',\r\n edit_btn: 'AdExtensions_StructuredSnippet_Editor_Edit',\r\n edit_title: 'AdExtensions_StructuredSnippet_Dialog_Title_Edit',\r\n inlineAlert: 'AdExtensions_StructuredSnippet_Max_Select_Notification'\r\n};\r\nvar view = AssociationsEditorBase.extend({\r\n initialize: function (options) {\r\n var Editor = options && options.usePanel ? panelDecorator(EditorView, {\r\n i18n: $i18n,\r\n panelReadyAriaLabel: $i18n.getString('Association editor side panel opened'),\r\n panelClassName: options.panelClassName\r\n }) : dialogDecorator.decorate(EditorView, dialogOptions);\r\n _.extend(options, {\r\n idField: 'Id',\r\n data: new SharedRepository({\r\n schema: schema,\r\n afterChangeComitted: function () {\r\n if (_.isFunction(options.updateContext)) {\r\n options.updateContext(['AccountAdExtensionsGrid', 'CampaignAdExtensionsGrid', 'AdGroupAdExtensionsGrid']);\r\n }\r\n }\r\n }),\r\n template: {\r\n preview: previewTemplate,\r\n rowTemplate: rowTemplate\r\n },\r\n maxSelectedItemsCount: 20,\r\n CreateForm: Editor,\r\n EditForm: Editor,\r\n i18nKeys: _.extend({}, i18nKeys, options.i18nKeys || ({})),\r\n extensionType: 'StructureSnippetExtension'\r\n });\r\n AssociationsEditorBase.prototype.initialize.apply(this, [options]);\r\n }\r\n});\r\nexport default view;\r\n\r\n","import _ from 'underscore';\r\nimport jsdata from '@bingads-webui-component-legacy/js-data-campaign/index';\r\nimport * as filters from '@bingads-webui-campaign-legacy/location-targets/util/filters';\r\nimport campaignType from '@bingads-webui-campaign-legacy/adgroup-create-advanced/util/campaignType';\r\nimport eventDispatcher from '@bingads-webui-component-legacy/event-dispatcher/index';\r\n\r\nexport default class Connector {\r\n constructor(languageObservable, bid, adDistribution, keyword, useCampaignSettings) {\r\n this.bid = bid;\r\n this.adDistribution = adDistribution;\r\n this.keyword = keyword;\r\n this.language = languageObservable();\r\n this.languages = [];\r\n this.isSignupPage = false;\r\n\r\n this.adGroupCriterions = jsdata.Intermediate.getAll('AdGroupCriterion');\r\n this.campaignCriterions = jsdata.Intermediate.getAll('CampaignCriterion');\r\n\r\n this.useCampaignSettings = useCampaignSettings;\r\n\r\n languageObservable.subscribe((newLanguage) => {\r\n this.language = newLanguage;\r\n this.languages = [newLanguage];\r\n this.onChange();\r\n });\r\n\r\n jsdata.Intermediate.subscribe('AdGroupCriterion', (adGroupCriterions) => {\r\n this.adGroupCriterions = adGroupCriterions;\r\n this.onChange();\r\n });\r\n\r\n jsdata.Intermediate.subscribe('CampaignCriterion', (campaignCriterions) => {\r\n this.campaignCriterions = campaignCriterions;\r\n this.onChange();\r\n });\r\n\r\n if (this.adDistribution) {\r\n this.adDistribution.on('search:change', (checked) => {\r\n if (_.isFunction(this.bid.resetSearchBidStatus)) {\r\n this.bid.resetSearchBidStatus(checked);\r\n }\r\n });\r\n }\r\n\r\n this.startListening();\r\n }\r\n\r\n startListening() {\r\n eventDispatcher.on('level:changed', (level) => {\r\n this.useCampaignSettings = level === 'campaign';\r\n this.onChange();\r\n }, this);\r\n\r\n //event is triggered when location targeting option is changed (specific, everywhere, bundle)\r\n eventDispatcher.on('change:locationTargetOption', ({locations, level}) => {\r\n if (level === 'campaign') {\r\n this.campaignCriterions = locations;\r\n } else {\r\n this.adGroupCriterions = locations;\r\n }\r\n\r\n this.onChange();\r\n }, this);\r\n }\r\n\r\n stopListening() {\r\n eventDispatcher.off(null, null, this);\r\n }\r\n\r\n setLanguageSet(languages) {\r\n this.languages = languages;\r\n }\r\n\r\n onChange() {\r\n //check if kp and traffic estimation is enabled or not\r\n this.isKPAndTrafficEstimationAllowed();\r\n\r\n //check if synd is enabled or not based on language and included location targetings\r\n this.isSyndicationAllowed();\r\n }\r\n\r\n isSyndicationAllowed() {\r\n const locations = this.currentLevelLocations;\r\n\r\n if (this.adDistribution) {\r\n this.adDistribution.isSyndOptionAllowed(this.language, locations);\r\n }\r\n }\r\n\r\n get currentLevelLocations() {\r\n return this.useCampaignSettings ? this.campaignCriterions : this.adGroupCriterions;\r\n }\r\n\r\n isKPAndTrafficEstimationAllowed() {\r\n const locations = this.currentLevelLocations;\r\n\r\n this.allowAdInsight =\r\n campaignType() === 'search' || this.isSignupPage;\r\n\r\n if (this.bid) {\r\n this.bid.searchBidView.onLanguageLocationChanged(this.allowAdInsight, locations, this.language === null ? this.languages : [this.language]);\r\n }\r\n\r\n if (this.keyword) {\r\n this.keyword.onLanguageLocationChanged(this.allowAdInsight, locations, this.language === null ? this.languages : this.language);\r\n }\r\n }\r\n\r\n setSignupPage() {\r\n this.isSignupPage = true;\r\n }\r\n}\r\n","\r\nconst i18n = window.globalLegacyI18n.get('component/i18n/loader!campaignui/campaign-creation-advanced');\r\n\r\nexport const adGroupTypeEnum = {\r\n SearchStandard: 'SearchStandard',\r\n SearchDynamic: 'SearchDynamic',\r\n};\r\n\r\nexport const adGroupTypeText = {\r\n SearchStandard: i18n.getString('AdGroupType_SearchStandard'),\r\n SearchDynamic: i18n.getString('AdGroupType_SearchDynamic'),\r\n};\r\n","import _ from 'underscore';\r\nimport config from '@bingads-webui-component-legacy/config/index';\r\nimport { MTCampaignTypeEnum, campaignTypeEnum } from './campaignType';\r\n\r\nexport const isBidLessThanFiveCentsForShoppingCampaign = (currentCampaignType = null, isBulkEdit = false) => {\r\n const IsBidLessThan5CentsInShoppingCampaignEnabled = _.result(config.get('permissions'), 'IsBidLessThan5CentsInShoppingCampaignEnabled');\r\n\r\n // currentCampaignType is passed from shopping campaign creation where CurrentCampaign is null\r\n const campaignType = currentCampaignType || _.result(config.get('CurrentCampaign'), 'CampaignType');\r\n\r\n return IsBidLessThan5CentsInShoppingCampaignEnabled &&\r\n (campaignType === MTCampaignTypeEnum.Shopping || campaignType === campaignTypeEnum[MTCampaignTypeEnum.Shopping] || isBulkEdit);\r\n};\r\n","import _ from 'underscore';\r\nimport config from '@bingads-webui-component-legacy/config/index';\r\n\r\nexport const CoOpCampaignSubType = 10;\r\n\r\nexport default function get() {\r\n const isCPGForBSCEnabled = Boolean(_.result(config.get('Permissions'), 'IsCPGForBSCEnabled', false));\r\n\r\n return isCPGForBSCEnabled && _.result(config.get('CurrentCampaign'), 'CampaignSubType') === CoOpCampaignSubType;\r\n}\r\n","import _ from 'underscore';\r\nimport pageContext from '@bingads-webui-static-legacy/page-context';\r\nimport jsdata from '@bingads-webui-component-legacy/js-data-campaign/index';\r\nimport edmCampaign from '@bingads-webui-component-legacy/edm-campaign/index';\r\n\r\nconst CAMPAIGN_PAGE_SIZE = 10;\r\nconst ADGROUP_PAGE_SIZE = 6;\r\n\r\nfunction transformCampaignData(data) {\r\n if (!data || !_.isArray(data)) {\r\n return [];\r\n }\r\n\r\n const campaignData = data.map((item) => {\r\n return {\r\n Id: item.Id,\r\n name: item.Name,\r\n status: item.Status,\r\n };\r\n });\r\n\r\n return {\r\n totalCount: data.totalCount,\r\n items: campaignData,\r\n };\r\n}\r\n\r\nfunction transformAdgroupData(data) {\r\n if (!data || !_.isArray(data)) {\r\n return [];\r\n }\r\n\r\n const adgroupData = data.map((item) => {\r\n return {\r\n Id: item.Id,\r\n name: item.Name,\r\n status: item.Status,\r\n campaignId: item.Campaign.Id,\r\n campaignName: item.Campaign.Name,\r\n };\r\n });\r\n\r\n return {\r\n totalCount: data.totalCount,\r\n items: adgroupData,\r\n };\r\n}\r\n\r\nexport function getCampaignData(queryText = '', pageNumber = 0, pageSize = CAMPAIGN_PAGE_SIZE, customFilter = '') {\r\n\r\n const query = {\r\n $select: 'Id, Name, Status',\r\n $skip: pageNumber * pageSize,\r\n $top: pageSize,\r\n $filter: `contains(Name, '${queryText}') and (CampaignType ne Enum.CampaignType'Smart')`,\r\n };\r\n\r\n if (customFilter) {\r\n query.$filter += ` and ${customFilter}`;\r\n }\r\n\r\n return jsdata.Campaign.findAll({\r\n query,\r\n }).then((data) => {\r\n return transformCampaignData(data);\r\n });\r\n}\r\n\r\nexport function getAdgroupData(queryText = '', pageNumber = 0, pageSize = ADGROUP_PAGE_SIZE, scopeParentItem, customFilter = '') {\r\n const $select = _.compact([\r\n 'Id',\r\n 'Name',\r\n 'Status',\r\n pageContext.Permissions.IsPersonalizedOffersEnabled && 'AdGroupCashback',\r\n ]).join(', ');\r\n\r\n const query = {\r\n $expand: 'Campaign($select=Id,Name,CampaignType)',\r\n $select,\r\n $skip: pageNumber * pageSize,\r\n $top: pageSize,\r\n $count: true,\r\n $filter: `contains(Name, '${queryText}')`,\r\n };\r\n\r\n if (customFilter) {\r\n query.$filter += ` and ${customFilter}`;\r\n }\r\n\r\n if (scopeParentItem) {\r\n if (scopeParentItem.AccountId) {\r\n // MCC user only has currentCustomer\r\n query.entitySet =\r\n edmCampaign\r\n .currentCustomer\r\n .Accounts\r\n .$withKey(Number(scopeParentItem.AccountId))\r\n .Campaigns.$withKey(Number(scopeParentItem.Id))\r\n .AdGroups.toJSON();\r\n } else {\r\n query.entitySet =\r\n edmCampaign\r\n .currentAccount\r\n .Campaigns\r\n .$withKey(Number(scopeParentItem.Id))\r\n .AdGroups.toJSON();\r\n }\r\n }\r\n\r\n return jsdata.AdGroup.findAll({\r\n query,\r\n }).then((data) => {\r\n return transformAdgroupData(data);\r\n });\r\n\r\n}\r\n\r\n","import ko from 'knockout';\r\n\r\nexport default class ViewModel {\r\n constructor() {\r\n this.selectedCampaigns = ko.observable();\r\n this.selectedAdgroups = ko.observable();\r\n\r\n this.copySetting = ko.observable(false);\r\n this.hide = ko.observable(false);\r\n }\r\n}\r\n","import _ from 'underscore';\r\nimport { CampaignAdgroupSelectorView } from '@bingads-webui-campaign-react/campaign-adgroup-selector';\r\nimport { getCampaignData, getAdgroupData } from '@bingads-webui-campaign-legacy/adgroup-create-advanced/view/adgroup-selector-repository';\r\nimport withUiBlock from '@bingads-webui-component-legacy/uiblocker/index';\r\n\r\nconst i18n = window.globalLegacyI18n.get('@bingads-webui/i18n-amd-loader!campaignui/feature/campaign-adgroup-selector');\r\n\r\nconst CAMPAIGN_PAGESIZE = 10;\r\nconst ADGROUP_PAGESIZE = 6;\r\n\r\nexport default class AdgroupSelectorProxy {\r\n\r\n constructor({\r\n onAdGroupSelect = _.noop,\r\n }) {\r\n this.onAdGroupSelect = onAdGroupSelect;\r\n }\r\n\r\n fecthCampaignData({\r\n query = '', pageNumber = 0, pageSize = CAMPAIGN_PAGESIZE,\r\n }, adgroupSelectorView) {\r\n\r\n const uiBlockContainer = adgroupSelectorView && adgroupSelectorView.$('.dropdown-menu');\r\n\r\n return getCampaignData(query, pageNumber, pageSize).finally(withUiBlock(uiBlockContainer));\r\n }\r\n\r\n fecthAdgroupData({\r\n query = '', pageNumber = 0, pageSize = CAMPAIGN_PAGESIZE, scopeParentItem = null,\r\n }, adgroupSelectorView) {\r\n const uiBlockContainer = adgroupSelectorView && adgroupSelectorView.$('.dropdown-menu');\r\n\r\n return getAdgroupData(query, pageNumber, pageSize, scopeParentItem).finally(withUiBlock(uiBlockContainer));\r\n }\r\n\r\n getAdgroupSelectorView() {\r\n\r\n const adgroupSelectorView = new CampaignAdgroupSelectorView({\r\n campaign: {\r\n pageSize: CAMPAIGN_PAGESIZE,\r\n onFetch: (args) => {\r\n return this.fecthCampaignData(args, adgroupSelectorView);\r\n },\r\n ariaLabel: i18n.getString('Campaign_List'),\r\n },\r\n adgroup: {\r\n pageSize: ADGROUP_PAGESIZE,\r\n onFetch: (args) => {\r\n return this.fecthAdgroupData(args, adgroupSelectorView);\r\n },\r\n ariaLabel: i18n.getString('Adgroup_List'),\r\n },\r\n i18n,\r\n });\r\n\r\n adgroupSelectorView.on('selected-adgroup', (selectedItem) => {\r\n this.onAdGroupSelect(selectedItem);\r\n });\r\n\r\n return adgroupSelectorView;\r\n }\r\n}\r\n\r\n","import Backbone from 'backbone';\r\nimport ko from 'knockout';\r\nimport _ from 'underscore';\r\nimport Promise from 'bluebird';\r\nimport ViewModel from '@bingads-webui-campaign-legacy/adgroup-create-advanced/viewmodel/copy-adgroup-settings';\r\nimport template from '@bingads-webui-campaign-legacy/adgroup-create-advanced/template/copy-adgroup-settings.pug';\r\nimport jsdata from '@bingads-webui-component-legacy/js-data-campaign/index';\r\nimport edmCampaign from '@bingads-webui-component-legacy/edm-campaign/index';\r\nimport { getODataErrors } from '@bingads-webui-component-legacy/api-errors-campaign/index';\r\nimport * as criterionLoader from '@bingads-webui-campaign-legacy/base-targets/util/criterionLoader';\r\nimport withUiBlock from '@bingads-webui-component-legacy/uiblocker/index';\r\nimport AdgroupSelectorProxy from '@bingads-webui-campaign-legacy/adgroup-create-advanced/view/adgroup-selector-proxy';\r\nimport AudienceAssociationModel from '@bingads-webui-campaign-legacy/audience-association/model/audienceAssociation';\r\n\r\nconst i18n = window.globalLegacyI18n.get('component/i18n/loader!campaignui/campaign-creation-advanced');\r\n\r\nexport default class View extends Backbone.View {\r\n initialize(blockedElement = null) {\r\n this.viewModel = new ViewModel();\r\n this.blockedElement = blockedElement;\r\n\r\n this.adgroupSelectorProxy = new AdgroupSelectorProxy({\r\n onAdGroupSelect: (selectedItem) => {\r\n this.onAdGroupSelect(selectedItem);\r\n },\r\n });\r\n this.adgroupSelector = this.adgroupSelectorProxy.getAdgroupSelectorView();\r\n }\r\n\r\n onAdGroupSelect(selectedItem) {\r\n if (_.has(selectedItem, 'Id')) {\r\n this.loadAdGroupAndTargets(selectedItem.Id, selectedItem.campaignId);\r\n } else {\r\n // eslint-disable-next-line no-console\r\n console.warn('empty selectedItem');\r\n }\r\n }\r\n\r\n render() {\r\n this.$el.empty().append(template({ i18n }));\r\n this.$('.copy-settings').empty().append(this.adgroupSelector.render().$el);\r\n ko.applyBindings(this.viewModel, this.el);\r\n\r\n return this;\r\n }\r\n\r\n loadAdGroupAndTargets(id, campaignId) {\r\n let model = new AudienceAssociationModel();\r\n\r\n return Promise.join(\r\n jsdata.AdGroup.find(id, { entitySet: edmCampaign.currentAccount.Campaigns.$withKey(Number(campaignId)).AdGroups, bypassCache: true }),\r\n criterionLoader.load(campaignId, id, [\r\n 'LocationCriterion',\r\n 'RadiusCriterion',\r\n 'LocationIntentCriterion',\r\n 'AgeCriterion',\r\n 'GenderCriterion',\r\n 'JobFunctionCriterion',\r\n 'IndustryCriterion',\r\n 'CompanyNameCriterion',\r\n ]),\r\n (id && campaignId) && model.fetch({\r\n campaignId,\r\n adgroupId: id,\r\n isExpandCampaign: false,\r\n isExpandAdGroup: true,\r\n })\r\n ).then((result) => {\r\n this.trigger('copy.adgroup', result);\r\n }).catch(({ errors }) => {\r\n this.trigger('copy.errors', getODataErrors(errors));\r\n }).finally(withUiBlock(this.blockedElement || this.$el.parent()));\r\n }\r\n\r\n hide() {\r\n this.viewModel.hide(true);\r\n }\r\n}\r\n","import ko from 'knockout';\r\nimport koSchema from '@bingads-webui-component-legacy/ko-schema/index';\r\n\r\nexport default class ViewModel {\r\n constructor() {\r\n koSchema.properties(this);\r\n\r\n this.adGroup = ko.observable();\r\n }\r\n}\r\n","import koSchema from '@bingads-webui-component-legacy/ko-schema/index';\r\n\r\nconst s$AdGroup = window.globalLegacySchema.get('AdGroup');\r\n\r\nexport default class ViewModel {\r\n constructor({\r\n campaignName = '',\r\n } = {}) {\r\n koSchema.properties(this, s$AdGroup, ['Name', 'Language']);\r\n this.campaignName = campaignName;\r\n }\r\n}\r\n","/*eslint new-cap:0 */\r\nimport _ from 'underscore';\r\nimport Backbone from 'backbone';\r\nimport ko from 'knockout';\r\nimport pageContext from '@bingads-webui-static-legacy/page-context';\r\nimport LanguageSettingView from '@bingads-webui-component-legacy/language-selector/view/index';\r\nimport template from '@bingads-webui-campaign-legacy/adgroup-create-advanced/template/steps/settings.pug';\r\nimport ViewModel from '@bingads-webui-campaign-legacy/adgroup-create-advanced/viewmodel/adgroup';\r\nimport campaignType from '@bingads-webui-campaign-legacy/adgroup-create-advanced/util/campaignType';\r\nimport CopySettings from '@bingads-webui-campaign-legacy/adgroup-create-advanced/view/copy-adgroup-settings';\r\nimport BiddingStrategyView from '@bingads-webui-campaign-legacy/bidding-strategy/view/setting';\r\nimport biddingStrategyTypes from '@bingads-webui-campaign-legacy/bidding-strategy/bidding-strategy-type';\r\nimport AdGroupBidType from '@bingads-webui-campaign-legacy/shopping-campaign/view/cpg-adgroup/bid-type';\r\nimport showCpgAdGroupType from '@bingads-webui-campaign-legacy/adgroup-create-advanced/util/showCpgAdGroupType';\r\nimport { CashbackSettings } from '@bingads-webui-campaign/cashback-settings';\r\nimport decimal from '@bingads-webui-component-legacy/humanize/decimal';\r\n\r\nconst i18n = window.globalLegacyI18n.get('component/i18n/loader!campaignui/campaign-creation-advanced');\r\n\r\nconst campaignType2sectionMap = () => {\r\n return {\r\n 'search': ['language', 'automatedBidding'],\r\n 'shopping': ['automatedBidding']\r\n .concat(showCpgAdGroupType() ? ['cpgAdGroupType'] : []),\r\n };\r\n};\r\n\r\nconst inheritFromCampaignLanguageName = null;\r\nconst isArabicEnabled = pageContext.Permissions.IsArabicLanguageEnabledInMultipleLanguage;\r\nconst isSimplifiedChineseEnabled = pageContext.Permissions.IsSimplifiedChineseLanguageEnabledInMultipleLanguage;\r\nconst IsDomesticSimplifiedChineseEnabled = pageContext.Permissions.IsDomesticSimplifiedChineseEnabled;\r\nconst isSponsoredPilotEnabled = pageContext.Permissions.IsSPAv2Enabled;\r\nconst isSponsoredPromotionsByBrandsEnabled = pageContext.Permissions.dynamic.SponsoredPromotionsByBrands;\r\nconst isMranEcpcEnabled = pageContext.Permissions.dynamic.MranEcpc;\r\nconst isMranTroasEnabled = pageContext.Permissions.dynamic.MranTroas;\r\nconst isManualBiddingDeprecationEnabled = pageContext.Permissions.IsManualBiddingDeprecationEnabled;\r\nconst SponsoredCampaignSubType = 11;\r\n\r\nconst section2viewMap = {\r\n language: {\r\n viewFactory: LanguageSettingView,\r\n options: {\r\n i18nStrings: {\r\n Description: i18n.get('AdGroup_Language_Description'),\r\n SaveWarning: null,\r\n },\r\n IsAdsGlobalizationPhase1Enabled: pageContext.Permissions.IsAdsGlobalizationPhase1Enabled,\r\n IsAdsGlobalizationPhase2Enabled: pageContext.Permissions.IsAdsGlobalizationPhase2Enabled,\r\n IsAdsGlobalizationPhase6Enabled: pageContext.Permissions.IsAdsGlobalizationPhase6Enabled,\r\n IsAdsGlobalizationPhase2JapanEnabled: pageContext.Permissions.IsAdsGlobalizationPhase2JapanEnabled,\r\n IsDomesticSimplifiedChineseEnabled: pageContext.Permissions.IsDomesticSimplifiedChineseEnabled,\r\n IsAdsGlobalizationPhase9Enabled: pageContext.Permissions.IsAdsGlobalizationPhase9Enabled,\r\n IsAdsGlobalizationPhase9VIEnabled: pageContext.Permissions.IsAdsGlobalizationPhase9VIEnabled,\r\n },\r\n },\r\n automatedBidding: {\r\n viewFactory: BiddingStrategyView,\r\n options: {\r\n entityType: 'AdGroup',\r\n biddingStrategyType: biddingStrategyTypes.parent,\r\n },\r\n },\r\n cpgAdGroupType: {\r\n viewFactory: AdGroupBidType,\r\n },\r\n};\r\n\r\nexport default class View extends Backbone.View {\r\n initialize({\r\n blockedElement = null,\r\n isDynamicAdGroupCreation = false,\r\n showCashbackSettings = false,\r\n } = {}) {\r\n this.campaign = pageContext.CurrentCampaign;\r\n\r\n _.extend(section2viewMap.language.options, {\r\n enableArabic: isArabicEnabled,\r\n enableSimplifiedChinese: isSimplifiedChineseEnabled,\r\n IsDomesticSimplifiedChineseEnabled,\r\n });\r\n\r\n _.extend(section2viewMap.automatedBidding.options, {\r\n campaignBiddingStrategyType: _.chain(this.campaign).result('BiddingScheme').result('Type').value(),\r\n });\r\n\r\n // Dynamically put stateful info in the global constant section2viewMap. Otherwise ad group creation won't behave the same under different campaignType + campaignSubTypes\r\n if (isManualBiddingDeprecationEnabled) {\r\n _.extend(section2viewMap.automatedBidding.options, {\r\n campaignType: campaignType(),\r\n campaignSubType: this.campaign.CampaignSubType,\r\n });\r\n }\r\n\r\n if (this.campaign && !_.isEmpty(this.campaign.Languages)) {\r\n _.extend(section2viewMap.language.options, {\r\n language: inheritFromCampaignLanguageName, // for multile language campaign, make 'inherit' the default selection\r\n withInheritOption: true,\r\n });\r\n }\r\n\r\n let sections = campaignType2sectionMap()[campaignType()];\r\n\r\n if (isDynamicAdGroupCreation) {\r\n // Actually there is no extra control rather than ad group name for dynamic search ad group\r\n // However I still want to keep this pattern in case in the futher there may be specific controls for DSA ad group\r\n sections = campaignType2sectionMap().dynamicSearch;\r\n }\r\n\r\n this.subViews = _.object(sections, _.map(sections, (section) => {\r\n return new section2viewMap[section].viewFactory(section2viewMap[section].options);\r\n }));\r\n\r\n if (showCashbackSettings) {\r\n const ParentLevelCashbackPercent = _.chain(this.campaign)\r\n .result('CampaignCashback')\r\n .result('Percent', null)\r\n .value();\r\n const ParentLevelCashbackScope = _.chain(this.campaign)\r\n .result('CampaignCashback')\r\n .result('Scope')\r\n .value() || 'None';\r\n const ParentCouponsEnabled = _.chain(this.campaign)\r\n .result('CampaignCashback')\r\n .result('CouponsEnabled', 'None')\r\n .value();\r\n\r\n this.subViews.cashbackSettings = new CashbackSettings({\r\n showCashbackBudget: false,\r\n isCashbackScopeReadonly: campaignType() !== 'shopping',\r\n showCoupon: campaignType() === 'shopping',\r\n showEnableCashbackSettingsCheckbox: false,\r\n showInheritFromParentOption: true,\r\n CashbackScope: 'None',\r\n CashbackPercent: null,\r\n ParentLevelCashbackPercent,\r\n ParentLevelCashbackScope,\r\n CouponsEnabled: 'None',\r\n ParentCouponsEnabled,\r\n deps: {\r\n i18n,\r\n pageContext,\r\n decimal,\r\n },\r\n });\r\n }\r\n\r\n this.viewModel = new ViewModel({\r\n campaignName: this.campaign.Name,\r\n });\r\n\r\n if (this.subViews.language) {\r\n this.viewModel.Language(this.subViews.language.koModel.language());\r\n this.subViews.language.koModel.language.subscribe((value) => {\r\n this.viewModel.Language(value);\r\n this.trigger('update:language', value);\r\n });\r\n } else {\r\n const defaultLang = _.chain(this.campaign).result('CampaignSettings').first().result('Language', 'English').value();\r\n\r\n this.viewModel.Language(defaultLang);\r\n }\r\n\r\n this.copySettings = new CopySettings(blockedElement);\r\n this.copySettings.on('copy.adgroup', this.copyAdGroup.bind(this));\r\n this.copySettings.on('copy.errors', (errors) => {\r\n this.viewModel.errors.push(...errors);\r\n });\r\n }\r\n\r\n copyAdGroup([adGroup, adGroupCriterions]) {\r\n if (!_.isEmpty(adGroup)) {\r\n if (this.subViews.language && adGroup.Language) { // in multiple language, adgroup.language can be null\r\n this.subViews.language.koModel.language(adGroup.Language);\r\n }\r\n\r\n if (this.subViews.automatedBidding && !_.isEmpty(adGroup.BiddingScheme)) {\r\n this.subViews.automatedBidding.update(adGroup.BiddingScheme);\r\n }\r\n }\r\n\r\n this.trigger('copy.adgroup', [adGroup, adGroupCriterions]);\r\n }\r\n\r\n isSponsoredCampaign() {\r\n return isSponsoredPilotEnabled && this.campaign && this.campaign.CampaignSubType === SponsoredCampaignSubType;\r\n }\r\n\r\n isSponsoredPromotionsByBrandsCampaign() {\r\n return isSponsoredPromotionsByBrandsEnabled && this.isSponsoredCampaign() && this.campaign.CampaignCashback && this.campaign.CampaignCashback.IsPromotionsForBrands;\r\n }\r\n\r\n render() {\r\n this.$el.append(template({\r\n i18n,\r\n subViews: this.subViews,\r\n }));\r\n ko.applyBindings(this.viewModel, this.el);\r\n\r\n _.each(this.subViews, (view, section) => {\r\n this.$(`.${section}-section`).append(view.render().el);\r\n });\r\n\r\n if (this.subViews.cpgAdGroupType && this.isSponsoredCampaign()) {\r\n // remove .cpgAdGroupType-section if SPAv2 is enabled for shopping campaign\r\n this.$('.cpgAdGroupType-section').empty();\r\n }\r\n\r\n if (this.subViews.automatedBidding && !this.isSponsoredCampaign()) {\r\n // not show bid strategy container if SPAv2 is enabled for shopping campaign\r\n this.$('.bidding-strategy__container').empty().html(this.subViews.automatedBidding.render().el);\r\n }\r\n\r\n this.$('.copy-adgroup-settings').append(this.copySettings.render().$el);\r\n\r\n return this;\r\n }\r\n\r\n getAdGroup() {\r\n let adGroupToSave = {\r\n Name: this.viewModel.Name(),\r\n Language: this.viewModel.Language(),\r\n Campaign: {\r\n Id: this.campaign.Id,\r\n },\r\n Medium: 'Search',\r\n PricingModel: 'CPC',\r\n };\r\n\r\n if (this.subViews.automatedBidding) {\r\n if (this.isSponsoredCampaign()) {\r\n if (!this.isSponsoredPromotionsByBrandsCampaign() && !isMranEcpcEnabled && !isMranTroasEnabled) {\r\n // default to manual cpc for SPAv2\r\n // leave it to null (inherited from parent) for SPB\r\n adGroupToSave.BiddingScheme = {\r\n Type: 'ManualCpc',\r\n };\r\n }\r\n } else {\r\n adGroupToSave.BiddingScheme = this.subViews.automatedBidding.getValues();\r\n }\r\n }\r\n\r\n if (this.subViews.cpgAdGroupType) {\r\n if (this.isSponsoredCampaign()) {\r\n // default to bid value\r\n adGroupToSave.Settings = [{ BidOption: 'BidValue' }];\r\n } else {\r\n adGroupToSave.Settings = [this.subViews.cpgAdGroupType.getState()];\r\n }\r\n }\r\n\r\n if (this.subViews.cashbackSettings) {\r\n _.extend(adGroupToSave, this.subViews.cashbackSettings.getValues());\r\n }\r\n\r\n return adGroupToSave;\r\n }\r\n\r\n isAfterSave() {\r\n if (this.subViews.language) {\r\n this.subViews.language.koModel.disabled(true);\r\n }\r\n }\r\n\r\n validate() {\r\n return _.every([\r\n this.viewModel.validate(),\r\n this.subViews.automatedBidding ? this.subViews.automatedBidding.validate() : true,\r\n this.subViews.cashbackSettings ? this.subViews.cashbackSettings.validate() : true,\r\n ]);\r\n }\r\n}\r\n","export default class Connector {\r\n constructor(adGroupNameObservable, budgetAmountObservable, keywordsView, searchBidView) {\r\n this.searchBidView = searchBidView;\r\n\r\n if (adGroupNameObservable) {\r\n adGroupNameObservable.subscribe(this.updateAdgroupName, this);\r\n }\r\n\r\n if (budgetAmountObservable) {\r\n budgetAmountObservable.subscribe(this.updateBudgetAmount, this);\r\n }\r\n\r\n if (keywordsView) {\r\n keywordsView.on('keywords:updated', () => this.updateKeywords());\r\n keywordsView.on('keywords:outTextArea', () => this.onKeywordsEditted());\r\n keywordsView.on('keywords:addSuggestion', () => this.onKeywordsEditted());\r\n }\r\n }\r\n\r\n updateAdgroupName(newName) {\r\n if (this.searchBidView) {\r\n this.searchBidView.clearEstimation();\r\n this.searchBidView.updateAdGroupName(newName);\r\n }\r\n }\r\n\r\n updateBudgetAmount(newBudgetAmount) {\r\n if (this.searchBidView) {\r\n this.searchBidView.clearEstimation();\r\n this.searchBidView.updateBudgetAmount(newBudgetAmount);\r\n }\r\n }\r\n\r\n updateKeywords() {\r\n if (this.searchBidView) {\r\n this.searchBidView.clearEstimation();\r\n }\r\n }\r\n\r\n onKeywordsEditted() {\r\n if (this.searchBidView) {\r\n this.searchBidView.onKeywordsEditingFinished();\r\n }\r\n }\r\n}\r\n","/*eslint new-cap:0 */\r\nexport default class Connector {\r\n constructor(autoTargetView, searchBidView) {\r\n autoTargetView.options.defaultBid = searchBidView.viewModel.SearchBid();\r\n\r\n searchBidView.viewModel.SearchBid.subscribe((bid) => {\r\n autoTargetView.trigger('update:bid', bid);\r\n });\r\n }\r\n}\r\n","export default class Connector {\r\n constructor(bidOptionView, bidSectionView) {\r\n this.bidOptionView = bidOptionView;\r\n\r\n bidOptionView.on('change:BidOption', (bidOption) => {\r\n bidSectionView.onBidOptionChanged(bidOption);\r\n });\r\n }\r\n\r\n stopListening() {\r\n this.bidOptionView.off('change:BidOption');\r\n }\r\n}\r\n","import _ from 'underscore';\r\n\r\nexport default class Connector {\r\n constructor(bidOptionView, adDistributionView) {\r\n this.bidOptionView = bidOptionView;\r\n this.adDistributionView = adDistributionView;\r\n\r\n this.setInHouseStatus(_.result(this.bidOptionView.getState(), 'BidOption'));\r\n bidOptionView.on('change:BidOption', (bidOption) => {\r\n this.setInHouseStatus(bidOption);\r\n });\r\n }\r\n\r\n stopListening() {\r\n this.bidOptionView.off('change:BidOption');\r\n }\r\n\r\n setInHouseStatus(bidType) {\r\n this.adDistributionView.setInHouseStatus(bidType === 'BidValue');\r\n }\r\n}\r\n","export default class Connector {\r\n constructor(adGroupTypeView, bidStrategyView) {\r\n this.adGroupTypeView = adGroupTypeView;\r\n this.adGroupTypeView.on('change:BidOption', (adGroupType) => {\r\n bidStrategyView.onAdGroupTypeChanged(adGroupType);\r\n });\r\n }\r\n\r\n stopListening() {\r\n this.adGroupTypeView.off('change:BidOption');\r\n }\r\n}\r\n","import pageContext from '@bingads-webui-static-legacy/page-context';\r\nimport Backbone from 'backbone';\r\nimport _ from 'underscore';\r\nimport {\r\n AudienceAdvancedTargetSettings,\r\n AudienceTargetInfo,\r\n} from '@bingads-webui-campaign-legacy/audience-campaign/loader';\r\n\r\n\r\nexport default class AdGroupTargets extends Backbone.View {\r\n initialize({\r\n campaign,\r\n supportCashbackSettings = false,\r\n isMSStoreAdsGAWorkflow = false,\r\n }) {\r\n const adGroupTargetInfo = new AudienceTargetInfo({\r\n resourceName: 'AdGroupCriterion',\r\n listenToLocationCriterion: false,\r\n useLocationControl: false,\r\n initAudienceAssociationView: false,\r\n });\r\n const campaignTargetInfo = new AudienceTargetInfo({\r\n resourceName: 'CampaignCriterion',\r\n listenToLocationCriterion: false,\r\n useLocationControl: false,\r\n initAudienceAssociationView: false,\r\n });\r\n\r\n this.viewContext = {\r\n accountCurrencyCode: pageContext.AccountCurrencyCode,\r\n currentCampaign: campaign,\r\n currentAdGroup: {},\r\n level: 'adgroup',\r\n };\r\n\r\n this.asyncTask = campaignTargetInfo.fetchCriterions(campaign.Id)\r\n .then(() => {\r\n this.childView = new AudienceAdvancedTargetSettings({\r\n viewContext: this.viewContext,\r\n scenario: 'adgroup-creation',\r\n currentLevelTargetInfo: adGroupTargetInfo,\r\n parentLevelTargetInfo: campaignTargetInfo,\r\n supportCashbackSettings,\r\n isMSStoreAdsGAWorkflow,\r\n });\r\n });\r\n }\r\n\r\n render() {\r\n super.render();\r\n\r\n this.asyncTask.then(() => {\r\n this.$el.empty().append(this.childView.render().$el);\r\n });\r\n\r\n return this;\r\n }\r\n\r\n validate() {\r\n return this.childView ? this.childView.validate() : true;\r\n }\r\n\r\n getValues(adgroupName, campaignName, adgroupId) {\r\n if (!this.childView) {\r\n return {};\r\n }\r\n\r\n this.viewContext.currentAdGroup.Name = adgroupName;\r\n if (adgroupId) {\r\n this.viewContext.currentAdGroup.Id = adgroupId;\r\n }\r\n\r\n const rawData = this.childView.getData();\r\n\r\n const mappedCriterions = _.map(rawData.AdGroupCriterions, (criterion) => {\r\n if (adgroupId) {\r\n return _.defaults({\r\n AdGroup: {\r\n Id: adgroupId,\r\n },\r\n }, criterion);\r\n }\r\n return _.defaults({\r\n CampaignName: campaignName,\r\n AdGroupName: adgroupName,\r\n }, _.omit(criterion, 'AdGroup'));\r\n });\r\n\r\n return _.defaults({\r\n AdGroupCriterions: mappedCriterions,\r\n }, rawData);\r\n }\r\n\r\n fillCriterionsWithId(criterions) {\r\n this.childView.fillCriterionsWithId(criterions);\r\n }\r\n\r\n remove() {\r\n if (this.childView) {\r\n this.childView.remove();\r\n }\r\n\r\n super.remove();\r\n }\r\n}\r\n","/* global _TL_ */\r\n/* eslint-disable no-bitwise */\r\n/*eslint new-cap:0 */\r\nimport pageContext from '@bingads-webui-static-legacy/page-context';\r\nimport _ from 'underscore';\r\nimport Backbone from 'backbone';\r\nimport ko from 'knockout';\r\nimport Promise from 'bluebird';\r\nimport summaryDataContextManager from '@bingads-webui-static-legacy/summary/SummaryDataContextManager';\r\nimport { Repository } from '@bingads-webui-campaign-legacy/adextension-image/service/repository';\r\nimport { notificationApi } from '@bingads-webui-campaign/notification-center';\r\nimport uiBlocker from '@bingads-webui-component-legacy/uiblocker/index';\r\nimport jsData from '@bingads-webui-component-legacy/js-data-campaign/index';\r\nimport * as i18nErrors from '@bingads-webui-component-legacy/api-errors-campaign/index';\r\nimport config from '@bingads-webui-component-legacy/config/index';\r\nimport edmCampaign from '@bingads-webui-component-legacy/edm-campaign/index';\r\nimport * as scrollUtil from '@bingads-webui-component-legacy/extension/scrollTo';\r\nimport AppEventDelegator from '@bingads-webui-component-legacy/app-event-delegator/index';\r\nimport ViewModel from '@bingads-webui-campaign-legacy/adgroup-create-advanced/viewmodel/index';\r\nimport containerTemplate from '@bingads-webui-campaign-legacy/adgroup-create-advanced/template/container.pug';\r\nimport noCampaignTemplate from '@bingads-webui-campaign-legacy/adgroup-create-advanced/template/noCampaignPage.pug';\r\nimport template from '@bingads-webui-campaign-legacy/adgroup-create-advanced/template/index.pug';\r\nimport SettingsView from '@bingads-webui-campaign-legacy/adgroup-create-advanced/view/steps/settings';\r\nimport AdsView from '@bingads-webui-campaign-legacy/crud-ad/view/adsPanel';\r\nimport KeywordsView from '@bingads-webui-campaign-legacy/crud-keywords/view/section-wrapper';\r\nimport biddingStrategyTypes from '@bingads-webui-campaign-legacy/bidding-strategy/bidding-strategy-type';\r\nimport BidView from '@bingads-webui-campaign-legacy/adgroup-create-advanced/view/steps/bid';\r\nimport campaignType from '@bingads-webui-campaign-legacy/adgroup-create-advanced/util/campaignType';\r\nimport LanguageLocationConnector from '@bingads-webui-campaign-legacy/adgroup-create-advanced/connectors/languageLocation';\r\nimport AdgroupKeywordConnector from '@bingads-webui-campaign-legacy/adgroup-create-advanced/connectors/adgroupKeyword';\r\nimport AutoTargetBidConnector from '@bingads-webui-campaign-legacy/adgroup-create-advanced/connectors/autoTargetBid';\r\nimport CpgBidOptionConnector from '@bingads-webui-campaign-legacy/adgroup-create-advanced/connectors/cpg-bid-option';\r\nimport CpgAdGroupTypeInHouseConnector from '@bingads-webui-campaign-legacy/adgroup-create-advanced/connectors/cpgAdGroupTypeInHouse';\r\nimport BidStrategyBidOptionConnector from '@bingads-webui-campaign-legacy/adgroup-create-advanced/connectors/bidstrategy-bidoption';\r\nimport { getDailyBudgetAmount } from '@bingads-webui-campaign-legacy/budget/shared/formatter';\r\nimport AdvancedSettingsView from '@bingads-webui-campaign-legacy/advanced-settings/view/advancedSettings';\r\nimport LocationTargetsView from '@bingads-webui-campaign-legacy/location-targets/view/locationTargets';\r\nimport AutoTargetView from '@bingads-webui-campaign-legacy/auto-targets/view/create/index';\r\nimport { syndEnum } from '@bingads-webui-campaign-react/constants';\r\nimport CpgBidSection from '@bingads-webui-campaign-legacy/shopping-campaign/view/cpg-adgroup/bid-section';\r\nimport showCpgAdGroupType from '@bingads-webui-campaign-legacy/adgroup-create-advanced/util/showCpgAdGroupType';\r\nimport AdGroupTargetsView from '@bingads-webui-campaign-legacy/adgroup-create-advanced/view/adgroup-targets';\r\nimport instrumentation from '@bingads-webui-campaign-legacy/instrumentation/index';\r\nimport { logBidAdoption } from '@bingads-webui-campaign-legacy/budget/shared/log';\r\nimport { shouldSupportCashbackSettings, logAdGroupPersonalizedOffers } from '@bingads-webui-campaign/personalized-offer-shared';\r\nimport physicalIntentOptions from '@bingads-webui-campaign-legacy/location-targets/viewmodel/physicalIntentOptions';\r\nimport decimal from '@bingads-webui-component-legacy/humanize/decimal';\r\nimport { defaultBid, defaultMSStoreSuggestionBid } from '@bingads-webui-campaign-legacy/budget/shared/defaultBid';\r\nimport uuid from '@bingads-webui-component-legacy/uuid/index';\r\nimport { isMSStoreAdsCampaign } from '@bingads-webui-campaign-react/ms-store-ads-common';\r\nimport { AssetChannel, AssetScenario } from '@bingads-webui-react/copilot-event-provider';\r\nimport {\r\n POST_ASSET_EVENT_NAME,\r\n AssetEventFeature,\r\n AssetEventRecordType,\r\n AssetEventOperationName,\r\n} from '@bingads-webui-campaign-react/copilot-common';\r\n\r\nconst i18n = window.globalLegacyI18n.get('component/i18n/loader!campaignui/campaign-creation-advanced');\r\n\r\nconst activity = instrumentation.suggestionInCreationWorkflow.create().adGroupCreation.create();\r\n\r\nconst campaignType2sectionMap = () => {\r\n return {\r\n 'search': ['ad', 'keyword', 'bid', 'advanced-settings', 'location-targets', 'adgroup-targets'],\r\n 'shopping': ['advanced-settings', 'location-targets']\r\n .concat([showCpgAdGroupType() ? 'cpgBidSection' : 'bid'])\r\n .concat(['adgroup-targets']),\r\n 'dynamicSearch': ['auto-targets', 'ad', 'bid', 'advanced-settings', 'adgroup-targets'],\r\n };\r\n};\r\n\r\nconst removeBidView = (campaign, section) => {\r\n if (_.chain(campaign).result('BiddingScheme').result('Type').value() === biddingStrategyTypes.costPerSale) {\r\n return section.filter((sec) => sec !== 'bid');\r\n }\r\n return section;\r\n};\r\n\r\nconst permissions = config.get('Permissions') || {};\r\nconst isSponsoredPilotEnabled = Boolean(_.result(permissions, 'IsSPAv2Enabled', false));\r\nconst isDSAMixedModeCampaignEnabled = _.result(permissions, 'IsDSAMixedModeCampaignEnabled', false);\r\n\r\nconst AdGroupLogId = uuid.v4();\r\n\r\nfunction isMSStoreAdsGAWorkflow() {\r\n const campaign = config.get('CurrentCampaign');\r\n const result = isMSStoreAdsCampaign(campaign);\r\n\r\n return result;\r\n}\r\n\r\nconst section2subViewMap = {\r\n 'ad': {\r\n viewFactory: AdsView,\r\n options: ({ context, serverContext }) => {\r\n return {\r\n newI18n: context.options.deps && context.options.deps.i18nNewDesign,\r\n language: context.settings.viewModel.Language(),\r\n perfMarker: context.perfMarker,\r\n usePanel: context.usePanel,\r\n isForVNext: context.isForVNext,\r\n Campaign: context.campaign,\r\n adGroupType: context.adGroupType,\r\n serverContext,\r\n };\r\n },\r\n },\r\n 'keyword': {\r\n viewFactory: KeywordsView,\r\n options: (parentContext) => {\r\n const context = new Backbone.Model();\r\n\r\n context.set({ 'Campaign': config.get('CurrentCampaign') });\r\n return {\r\n showOnlyKeywords: true,\r\n context,\r\n scenario: 'ad group creation',\r\n perfMarker: parentContext.context && parentContext.context.perfMarker,\r\n };\r\n },\r\n },\r\n 'bid': {\r\n viewFactory: BidView,\r\n options: ({ campaign, context }) => {\r\n const defaultBidValue = isMSStoreAdsGAWorkflow() ? defaultMSStoreSuggestionBid() : null;\r\n\r\n return {\r\n newI18n: context.options.deps && context.options.deps.i18nNewDesign,\r\n languages: _.isEmpty(campaign.Languages) ? [context.settings.viewModel.Language()] : campaign.Languages,\r\n showTrafficEstimation: campaignType() === 'search' && !context.options.isDynamicAdGroupCreation,\r\n budget: getDailyBudgetAmount(campaign.Budget),\r\n getKeywordsCb: () => {\r\n if (context.subViews.keyword) {\r\n return context.subViews.keyword.getCurKeywords();\r\n }\r\n return [];\r\n },\r\n campaign,\r\n perfMarker: context.perfMarker,\r\n isForVNext: context.isForVNext,\r\n bidStatusEnabled: true,\r\n activityLogger: context.activity,\r\n AdGroupLogId,\r\n defaultBidValue,\r\n };\r\n },\r\n },\r\n 'cpgBidSection': {\r\n viewFactory: CpgBidSection,\r\n },\r\n 'advanced-settings': {\r\n viewFactory: AdvancedSettingsView,\r\n options: ({ campaign, context }) => {\r\n const isSPB = campaign.CampaignCashback && campaign.CampaignCashback.IsPromotionsForBrands;\r\n let model = {\r\n AdScheduleTimeZoneSetting: campaign.AdScheduleTimeZoneSetting,\r\n AdScheduleUseSearcherTimeZone: campaign.AdScheduleUseSearcherTimeZone,\r\n };\r\n\r\n if (campaignType() === 'shopping' && campaign.CampaignSubType === 'ShoppingSponsoredProductAd' && !isSPB) {\r\n // todo: better to get this from the import { getDefaultAdDistribution } from '@bingads-webui-campaign-react/sponsored-campaign-creation';\r\n // need to fix some build error then.\r\n model.AdDistribution = 'InHousePromotion';\r\n }\r\n return {\r\n model,\r\n perfMarker: context.perfMarker,\r\n campaignId: config.get('CurrentCampaign').Id,\r\n campaignAdScheduleUseSearcherTimeZone: campaign.AdScheduleUseSearcherTimeZone,\r\n adgropuId: '',\r\n level: 'adgroup',\r\n scenario: 'adgroup-create',\r\n nativeAdsCampaignBid: campaign.NativeBidAdjustment,\r\n multimediaAdsCampaignBid: campaign.MultiMediaAdBidAdjustment,\r\n TimeZone: campaign.TimeZone,\r\n campaignType: campaignType(),\r\n campaignSubType: campaign.CampaignSubType,\r\n language: context.settings.viewModel.Language(),\r\n languages: _.isEmpty(campaign.Languages) ? [context.settings.viewModel.Language()] : campaign.Languages,\r\n supportCashbackSettings: context.showCashbackSettings,\r\n isSPBCampaign: isSPB,\r\n isMSStoreAdsGAWorkflow: isMSStoreAdsGAWorkflow(),\r\n popupIds: isMSStoreAdsGAWorkflow() ? {\r\n AdDistribution: 'pop_BA_StoreAds_AdDistribution',\r\n } : undefined,\r\n };\r\n },\r\n },\r\n 'location-targets': {\r\n viewFactory: LocationTargetsView,\r\n options: ({ context }) => {\r\n const campaign = config.get('CurrentCampaign');\r\n const isWindowsStoreAd = isMSStoreAdsGAWorkflow();\r\n\r\n return {\r\n campaignId: campaign.Id,\r\n adgroupId: '',\r\n level: 'campaign', //level is set to campaign, so the control opens up with the campaign data and the 'use campaign settings' checkbox checked\r\n scenario: 'adgroup-create',\r\n popupIds: { Location: isMSStoreAdsGAWorkflow() ? 'pop_BA_StoreAds_Location' : 'pop_BA_AdGroup_LocationTargeting' },\r\n perfMarker: context.perfMarker,\r\n supportCashbackSettings: context.showCashbackSettings,\r\n deps: {\r\n eventDelegator: context.eventDelegator,\r\n },\r\n physicalIntent: isWindowsStoreAd ? physicalIntentOptions.PeopleIn : undefined,\r\n isForVNext: context.isForVNext,\r\n showPhysicalIntentView: !isWindowsStoreAd,\r\n };\r\n },\r\n },\r\n 'auto-targets': {\r\n viewFactory: AutoTargetView,\r\n options: (args) => {\r\n let campaignSetting = _.chain(args)\r\n .result('campaign')\r\n .result('CampaignSettings')\r\n .first()\r\n .value() || {};\r\n\r\n return {\r\n showHeader: true,\r\n setting: campaignSetting,\r\n };\r\n },\r\n },\r\n 'adgroup-targets': {\r\n viewFactory: AdGroupTargetsView,\r\n options: (options) => {\r\n return _.extend({}, options, {\r\n supportCashbackSettings: options.context.showCashbackSettings,\r\n isMSStoreAdsGAWorkflow: isMSStoreAdsGAWorkflow(),\r\n });\r\n },\r\n },\r\n};\r\n\r\nexport default class View extends Backbone.View {\r\n initialize(options = {\r\n isDynamicAdGroupCreation: false,\r\n isMixedMode: false,\r\n getCampaignPromise: null,\r\n }) {\r\n if (options.perfMarker) {\r\n options.perfMarker.willInit();\r\n this.perfMarker = options.perfMarker;\r\n }\r\n\r\n\r\n this.isForVNext = options.isForVNext;\r\n this.usePanel = options.usePanel;\r\n this.adGroupType = options.adGroupType;\r\n this.isOpenCreatePanel = options.isOpenCreatePanel;\r\n this.serverContext = options.serverContext;\r\n const router = _.chain(options.deps).result('router', {}).value();\r\n\r\n this.navigateToRoute = router.navigateToRoute || _.noop;\r\n\r\n this.eventDelegator = _.result(options.deps, 'eventDelegator', new AppEventDelegator());\r\n\r\n const scenario = instrumentation[`${campaignType()}AdGroupCreation`].create();\r\n\r\n this.activity = scenario.adGroupCreation.create();\r\n this.activity.start();\r\n\r\n const inContextRepairRecScenario = instrumentation.inContextRepairRecommendation.create();\r\n\r\n this.applyActivity = inContextRepairRecScenario.applyDeliveryStatus.create();\r\n\r\n this.campaign = config.get('CurrentCampaign');\r\n\r\n const dynamicPermissions = _.result(pageContext.Permissions, 'dynamic', {});\r\n\r\n this.showDisclaimerBanner = _.result(dynamicPermissions, 'AgeGenderDisclaimer', false);\r\n\r\n if (this.campaign) {\r\n this.viewModel = new ViewModel();\r\n this.viewModel.isNextButtonEnabled =\r\n !(pageContext.Permissions.IsReadOnlyUser || pageContext.CurrentAccountInActive);\r\n\r\n // mock\r\n // this.campaign.CashbackSettings = { CashbackMonthlyBudget: 1 };\r\n\r\n const showCashbackSettings = shouldSupportCashbackSettings(this.campaign, permissions) && this.campaign.CampaignSubType == null;\r\n\r\n this.showCashbackSettings = showCashbackSettings;\r\n this.settings = new SettingsView({\r\n blockedElement: this.$el,\r\n isDynamicAdGroupCreation: this.options.isDynamicAdGroupCreation,\r\n showCashbackSettings,\r\n });\r\n this.settings.on('copy.adgroup', this.copyAdGroup.bind(this));\r\n\r\n //refreshing the intermediate location data when creating a new adgroup\r\n jsData.Intermediate.refresh('CampaignCriterion', [])\r\n .then(() => {\r\n jsData.Intermediate.refresh('AdGroupCriterion', []);\r\n });\r\n }\r\n\r\n this.logTrace({\r\n mes: 'Enter Ad Group Creation Flow',\r\n adGroupType: this.adGroupType || 'NoSpecified',\r\n });\r\n }\r\n\r\n isDynamicAdGroupCreation() {\r\n return this.options.isDynamicAdGroupCreation && campaignType() === 'search';\r\n }\r\n\r\n initializeSubViews(campaign = {}) {\r\n let sections = removeBidView(campaign, campaignType2sectionMap()[campaignType()]);\r\n\r\n if (this.isDynamicAdGroupCreation()) {\r\n sections = campaignType2sectionMap().dynamicSearch;\r\n }\r\n\r\n this.subViews = _.object(sections, _.map(sections, (section) => {\r\n return new section2subViewMap[section].viewFactory(_.isFunction(section2subViewMap[section].options) ? section2subViewMap[section].options({\r\n campaign,\r\n context: this,\r\n serverContext: this.serverContext,\r\n }) : section2subViewMap[section].options);\r\n }));\r\n\r\n /*LanguageLocationConnector is used for:\r\n 1. Check synd options available or not. Synd options is enabled when selected location targetings + language are among the whitelist. No campaign type limitation\r\n 2. Check whether KP and traffic estimation is enabled or not. enable condition:\r\n 1) English language\r\n 2) Search campaign\r\n 3) Location targeting includes certain areas or target everywhere\r\n */\r\n if (this.subViews.bid && this.subViews['advanced-settings'] && this.subViews['advanced-settings'].adDistributionView) {\r\n this.languageLocationConnector = new LanguageLocationConnector(\r\n this.settings.viewModel.Language,\r\n this.subViews.bid,\r\n this.subViews['advanced-settings'].adDistributionView,\r\n this.subViews.keyword,\r\n true);\r\n\r\n if (!_.isEmpty(campaign.Languages)) {\r\n this.languageLocationConnector.setLanguageSet(campaign.Languages);\r\n }\r\n\r\n this.languageLocationConnector.onChange();\r\n\r\n if (campaignType() === 'search') {\r\n /*AdgroupKeywordConnector is used for updating traffic estimation when\r\n 1) Adgroup name changes\r\n 2) Keywords changes\r\n */\r\n this.adgroupKeywordConnector = new AdgroupKeywordConnector(\r\n this.settings.viewModel.Name,\r\n null,\r\n this.subViews.keyword,\r\n this.subViews.bid.searchBidView,\r\n );\r\n }\r\n }\r\n\r\n if (this.isDynamicAdGroupCreation() && this.subViews.bid) {\r\n this.autoTargetBidConnector = new AutoTargetBidConnector(this.subViews['auto-targets'], this.subViews.bid.searchBidView);\r\n }\r\n\r\n if (this.subViews.ad) {\r\n this.settings.on('update:language', (language) => {\r\n this.subViews.ad.updateLanguage(language);\r\n });\r\n\r\n // update keyword planner url after ads updated\r\n // only for adgroups that do have keyword subview\r\n if (this.subViews.keyword) {\r\n this.subViews.ad.on('ads:changed', () => {\r\n const ads = this.subViews.ad.getAds();\r\n\r\n if (ads.length > 0) {\r\n const displayUrlToUse = ads[ads.length - 1].displayUrl;\r\n\r\n this.subViews.keyword.onAdsUrlUpdated(displayUrlToUse);\r\n }\r\n });\r\n }\r\n }\r\n\r\n this.bindCashbackPercentChangeHandler();\r\n\r\n this.createCpgConnectors();\r\n }\r\n\r\n onCashbackPercentChange(value) {\r\n const formattedValue = value === '' || value == null ? null : decimal.fromLocalToFloat(value);\r\n const subViewsNeedToUpdate = _.compact([\r\n this.subViews['advanced-settings'] && this.subViews['advanced-settings'].adScheduleView,\r\n this.subViews['adgroup-targets'] && this.subViews['adgroup-targets'].childView,\r\n this.subViews['location-targets'],\r\n ]);\r\n\r\n subViewsNeedToUpdate.forEach((view) => {\r\n view.toggleCashbackPercentColumns(true, {\r\n level: 'AdGroup',\r\n value: formattedValue,\r\n });\r\n });\r\n }\r\n\r\n bindCashbackPercentChangeHandler() {\r\n if (this.settings && this.settings.subViews.cashbackSettings) {\r\n this.settings.subViews.cashbackSettings.viewModel.CashbackPercent.subscribe((v) => {\r\n if (this.settings.subViews.cashbackSettings.viewModel.validateCashbackPercent(v)) {\r\n this.onCashbackPercentChange(v);\r\n }\r\n });\r\n }\r\n }\r\n\r\n createCpgConnectors() {\r\n if (this.subViews.cpgBidSection) {\r\n // 1. In CPG pilot 2. current campaign is co-op campaign\r\n this.cpgBidOptionConnector = new CpgBidOptionConnector(this.settings.subViews.cpgAdGroupType, this.subViews.cpgBidSection);\r\n\r\n // In In-House pilot\r\n if (isSponsoredPilotEnabled && this.subViews['advanced-settings'] && this.subViews['advanced-settings'].adDistributionView) {\r\n this.cpgInHouseConnector = new CpgAdGroupTypeInHouseConnector(this.settings.subViews.cpgAdGroupType, this.subViews['advanced-settings'].adDistributionView);\r\n }\r\n }\r\n\r\n if (this.settings.subViews.cpgAdGroupType && this.settings.subViews.automatedBidding) {\r\n this.bidStrategyBidOptionConnector = new BidStrategyBidOptionConnector(this.settings.subViews.cpgAdGroupType, this.settings.subViews.automatedBidding);\r\n }\r\n }\r\n\r\n copyAdGroup([adGroup, adGroupCriterions]) {\r\n if (this.subViews['location-targets'] && !_.isEmpty(adGroupCriterions) && _.isArray(adGroupCriterions)) {\r\n const criterions = _.map(adGroupCriterions, (criterion) => {\r\n return _.omit(criterion, 'Id', 'AdGroup');\r\n });\r\n\r\n this.subViews['location-targets'].refreshLocationDataFromOtherAdGroup(criterions);\r\n }\r\n\r\n if (!_.isEmpty(adGroup)) {\r\n if (this.subViews.bid) {\r\n this.subViews.bid.setModel(adGroup);\r\n }\r\n\r\n if (this.settings && this.settings.subViews.cashbackSettings) {\r\n const CashbackPercent = _.chain(adGroup)\r\n .result('AdGroupCashback')\r\n .result('Percent')\r\n .value();\r\n const CashbackScope = _.chain(adGroup)\r\n .result('AdGroupCashback')\r\n .result('Scope')\r\n .value();\r\n const CouponsEnabled = _.chain(adGroup)\r\n .result('AdGroupCashback')\r\n .result('CouponsEnabled')\r\n .value();\r\n\r\n const cashbackSettings = {\r\n CashbackPercent,\r\n CashbackScope,\r\n CouponsEnabled,\r\n };\r\n\r\n this.settings.subViews.cashbackSettings.setValues(cashbackSettings);\r\n }\r\n }\r\n }\r\n\r\n get events() {\r\n return {\r\n 'click .btn-save': 'save',\r\n 'click .btn-cancel': 'cancel',\r\n 'click .create-campaign': 'createCampaign',\r\n };\r\n }\r\n\r\n createCampaign() {\r\n this.navigateToRoute('campaign_create_objective');\r\n }\r\n\r\n render() {\r\n this.perfMarker.willRender();\r\n if (this.campaign) {\r\n const params = {\r\n queryParameters: {\r\n entitySet: edmCampaign.currentAccount.Campaigns,\r\n expand: ['Budget'],\r\n },\r\n bypassCache: true,\r\n };\r\n\r\n this.$el.append(containerTemplate());\r\n\r\n // the budget is only for traffic estimation and errors here does not block the creation, so no\r\n // error handling here.\r\n Promise.resolve(this.options.getCampaignPromise || jsData.Campaign.find(Number(this.campaign.Id), params))\r\n .then((data) => {\r\n this.initializeSubViews(data);\r\n\r\n this.$('.adgroup-create-page').append(template({\r\n i18n,\r\n subViews: this.subViews,\r\n isMixedMode: this.options.isMixedMode,\r\n isShowDisclaimerBannerEnabled: this.showDisclaimerBanner,\r\n }));\r\n ko.applyBindings(this.viewModel, this.el);\r\n\r\n this.$('.adgroup-settings').append(this.settings.render().el);\r\n\r\n _.each(this.subViews, (view, section) => {\r\n if ((section === 'location-targets') && this.subViews['adgroup-targets']) {\r\n // location targets will append later as a sub section of adgroup targets\r\n return;\r\n }\r\n\r\n this.$(`.${section}-section`).append(view.render().el);\r\n\r\n if (section === 'adgroup-targets' && this.subViews['location-targets']) {\r\n view.asyncTask.then(() => {\r\n view.$('.location-setting-controller').append(this.subViews['location-targets'].render().el);\r\n });\r\n }\r\n });\r\n\r\n if (this.settings.subViews.automatedBidding && this.subViews.bid) {\r\n this.subViews.bid.resetIsAutoBidding(this.settings.subViews.automatedBidding.getValues().Type);\r\n this.$('.bidding-strategy__container')[0].addEventListener('change', () => {\r\n this.subViews.bid.resetIsAutoBidding(this.settings.subViews.automatedBidding.getValues().Type);\r\n }, false);\r\n } else if (this.isDynamicAdGroupCreation() && _.isUndefined(this.settings.subViews.automatedBidding) && this.subViews.bid) {\r\n // DSA ad group doesn't have autobidding UI.\r\n this.subViews.bid.resetIsAutoBidding('InheritFromParent');\r\n }\r\n })\r\n .finally(uiBlocker(this.el))\r\n .then(() => {\r\n if (!this.options.isMixedMode) {\r\n this.$('input:first', this.$('.adgroup-settings')).focus();\r\n }\r\n this.perfMarker.done();\r\n });\r\n\r\n } else {\r\n this.$el.append(noCampaignTemplate({\r\n i18n,\r\n }));\r\n this.perfMarker.done();\r\n }\r\n\r\n return this;\r\n }\r\n\r\n validate() {\r\n //each sub view should provide a validate function\r\n return _.reduce(_.union([this.settings.validate()], _.map(this.subViews, (subView) => {\r\n return _.isFunction(subView.validate) ? subView.validate() : true;\r\n })), (prev, cur) => {\r\n return prev & cur;\r\n }, true);\r\n }\r\n\r\n getValues() {\r\n const adGroupStored = this.viewModel.adGroup();\r\n const campaign = this.campaign;\r\n let adgroup = this.settings.getAdGroup();\r\n let adgroupSaved = _.has(adGroupStored, 'Id');\r\n let settings = _.defaults(adgroup, { Campaign: { Id: campaign.Id } });\r\n\r\n if (campaignType() === 'shopping') {\r\n settings = _.omit(settings, 'Language');\r\n }\r\n\r\n if (this.options.isDynamicAdGroupCreation) {\r\n const websiteLanguage = _.chain(this.campaign)\r\n .result('CampaignSettings')\r\n .result('0')\r\n .result('Language')\r\n .value();\r\n\r\n settings.Language = websiteLanguage;\r\n }\r\n\r\n //each sub view should provide getValues function\r\n let params = _.reduce(this.subViews, (memo, value, key) => {\r\n if (!_.contains(['advanced-settings', 'location-targets', 'cpgBidSection'], key)) {\r\n _.extend(memo, value.getValues(adgroup.Name, campaign.Name, adgroupSaved ? adGroupStored.Id : undefined));\r\n }\r\n\r\n return memo;\r\n }, settings);\r\n\r\n //handling the targets getValues separately\r\n let deviceTargets = [];\r\n let locationTargets = [];\r\n let scheduling = [];\r\n\r\n if (this.subViews['advanced-settings']) {\r\n let advancedSettingsValues = this.subViews['advanced-settings'].getValues(adgroup.Name, campaign.Name);\r\n\r\n deviceTargets = advancedSettingsValues.deviceTargets;\r\n scheduling = advancedSettingsValues.scheduling;\r\n\r\n if (!_.isEmpty(advancedSettingsValues.nativeAds)) {\r\n if (!_.isNull(advancedSettingsValues.nativeAds.NativeBidAdjustment) || adgroupSaved) {\r\n _.extend(params, advancedSettingsValues.nativeAds);\r\n }\r\n }\r\n\r\n if (!_.isEmpty(advancedSettingsValues.multimediaAds)) {\r\n if (!_.isNull(advancedSettingsValues.multimediaAds.MultimediaAdBidAdjustment) || adgroupSaved) {\r\n _.extend(params, advancedSettingsValues.multimediaAds);\r\n }\r\n }\r\n\r\n _.extend(params, advancedSettingsValues.dateSettings, advancedSettingsValues.netWorkOptions);\r\n\r\n this.hasAdDistribution = !_.isUndefined(params.AdDistribution);\r\n if (this.hasAdDistribution) {\r\n this.adDistribution = params.AdDistribution;\r\n params.AdDistribution = syndEnum.BingYahooAndSearchPartners;\r\n }\r\n }\r\n\r\n if (this.subViews['location-targets']) {\r\n locationTargets = this.subViews['location-targets'].getValues({\r\n resourceName: 'AdGroupCriterion',\r\n }, {\r\n campaignName: campaign.Name,\r\n adgroupName: adgroup.Name,\r\n });\r\n }\r\n\r\n // if current campaign is co-op shopping campaign\r\n if (this.subViews.cpgBidSection) {\r\n params = this.getCpgValues(params);\r\n } else if (campaignType() === 'shopping') { // else if current campaign is standard shopping campaign\r\n params.ProductPartitions = [{\r\n ProductCondition: 'All',\r\n ProductValue: '',\r\n CampaignName: campaign.Name,\r\n AdGroupName: adgroup.Name,\r\n IsExcluded: false,\r\n IsLeaf: 'Unit',\r\n Status: 'Active',\r\n BidAmount: params.SearchBid ? params.SearchBid : defaultBid(),\r\n }];\r\n }\r\n\r\n params.AdGroupCriterions = (params.AdGroupCriterions || [])\r\n .concat(deviceTargets)\r\n .concat(scheduling)\r\n .concat(locationTargets.locations || [])\r\n .concat(locationTargets.intent || [])\r\n .concat(locationTargets.deletedLocations || []);\r\n\r\n if (campaignType() === 'shopping') {\r\n params.ProductAds = [{\r\n CampaignName: campaign.Name,\r\n AdGroupName: adgroup.Name,\r\n PromotionalText: '',\r\n }];\r\n }\r\n\r\n if (_.has(adGroupStored, 'Id')) {\r\n params.Id = adGroupStored.Id;\r\n }\r\n\r\n _.each(params.ResponsiveAds, (responsiveAd) => {\r\n if (!_.isEmpty(responsiveAd.Headlines)) {\r\n responsiveAd.Headlines = JSON.stringify(responsiveAd.Headlines);\r\n }\r\n if (!_.isEmpty(responsiveAd.LongHeadlines)) {\r\n responsiveAd.LongHeadlines = JSON.stringify(responsiveAd.LongHeadlines);\r\n }\r\n if (!_.isEmpty(responsiveAd.Descriptions)) {\r\n responsiveAd.Descriptions = JSON.stringify(responsiveAd.Descriptions);\r\n }\r\n });\r\n\r\n return params;\r\n }\r\n\r\n getCpgValues(adgroup) {\r\n let params = this.subViews.cpgBidSection.getValues(adgroup);\r\n\r\n // For coop adgroup, auto create a root product partition.\r\n if (!this.defaultProductPartitionCreated) {\r\n const bidOption = _.result(params.CoOpSetting, 'BidOption');\r\n const productPartition = _.defaults({\r\n ProductCondition: 'All',\r\n ProductValue: '',\r\n CampaignName: this.campaign.Name,\r\n AdGroupName: adgroup.Name,\r\n IsExcluded: false,\r\n IsLeaf: 'Unit',\r\n Status: 'Active',\r\n }, bidOption === 'BidValue' ? {\r\n BidAmount: adgroup.SearchBid,\r\n } : {\r\n BidBoost: _.result(params.CoOpSetting, 'BidBoostValue'),\r\n });\r\n\r\n params.ProductPartitions = [productPartition];\r\n }\r\n\r\n return params;\r\n }\r\n\r\n errorElements() {\r\n return this.$('.adgroup-create__container .error, .adgroup-create__container .alert-danger').filter(':visible');\r\n }\r\n\r\n save() {\r\n if (!this.validate()) {\r\n scrollUtil.scrollAndCenter(this.errorElements());\r\n return;\r\n }\r\n\r\n this.logTrace({\r\n mes: 'Create ad group in Ad Group Creation Flow',\r\n adGroupType: this.adGroupType || 'NoSpecified',\r\n });\r\n\r\n if (this.perfMarker) {\r\n this.perfMarkerSave = this.perfMarker.createChild('Create_AdGroup_Save');\r\n this.perfMarkerSave.willInit();\r\n }\r\n\r\n this.clearApiErrors();\r\n\r\n let params = this.getValues();\r\n const advancedSettingsView = this.subViews['advanced-settings'];\r\n\r\n if (advancedSettingsView && advancedSettingsView.adScheduleView) {\r\n params.AdScheduleUseSearcherTimeZone =\r\n _.result(advancedSettingsView.adScheduleView, 'getAdScheduleUseSearcherTimeZone');\r\n }\r\n\r\n if (isDSAMixedModeCampaignEnabled) {\r\n params = _.extend(params, { AdGroupType: this.adGroupType });\r\n }\r\n\r\n if (isMSStoreAdsGAWorkflow()) {\r\n params.BiddingScheme.Type = 'InheritFromParent';\r\n }\r\n\r\n jsData.AdGroup\r\n .create(params, { adapter: 'bulk', cacheResponse: false })\r\n .then(this.afterCommitted())\r\n .then(this.saveImageExtensionsToServer.bind(this))\r\n .catch(this.apiErrorHandler())\r\n .finally(uiBlocker(this.el));\r\n\r\n Promise.all(this.deleteSavedEntities())\r\n .then((response) => {\r\n if (!_.isEmpty(response)) {\r\n _.each(this.subViews, (subView) => {\r\n if (_.isFunction(subView.emptyDeletedItems)) {\r\n subView.emptyDeletedItems();\r\n }\r\n });\r\n }\r\n this.activity.stop();\r\n });\r\n }\r\n\r\n clearApiErrors() {\r\n _.each(this.subViews, (view) => {\r\n if (_.isFunction(view.clearApiErrors)) {\r\n view.clearApiErrors();\r\n }\r\n });\r\n }\r\n\r\n deleteSavedEntities() {\r\n const adGroupStored = this.viewModel.adGroup();\r\n\r\n if (!_.has(adGroupStored, 'Id')) {\r\n return [];\r\n }\r\n\r\n return _.flatten(_.map(this.subViews, (subView) => {\r\n if (!_.isFunction(subView.getDeletedItems)) {\r\n return [];\r\n }\r\n\r\n return _.map(subView.getDeletedItems(adGroupStored.Id), (item) => {\r\n return jsData[item.resourceName].destroy(item.Id, { adapter: 'bulk', parentId: item.parentId });\r\n });\r\n }));\r\n }\r\n\r\n saveImageExtensionsToServer() {\r\n return new Promise((resolve) => {\r\n const isRSAImageExtInAdGroupCreationEnabled = _.chain(permissions).result('dynamic').result('RSAImageExtInAdGroupCreation').value();\r\n\r\n if (!(isRSAImageExtInAdGroupCreationEnabled && this.adGroupType === 'SearchStandard')) {\r\n resolve(true);\r\n }\r\n\r\n const adgroup = this.viewModel.adGroup();\r\n\r\n if (adgroup == null || adgroup.Id == null) {\r\n resolve(true);\r\n }\r\n\r\n const adGroupId = parseInt(adgroup.Id, 10);\r\n const adGroupName = adgroup.Name;\r\n const adView = this.subViews.ad;\r\n\r\n if (adView == null) {\r\n resolve(true);\r\n }\r\n\r\n const cachedImageExtensionChanges = adView.getCachedImageExtensionChanges && adView.getCachedImageExtensionChanges();\r\n const newI18n = this.options.deps && this.options.deps.i18nNewDesign;\r\n\r\n this.logTrace({\r\n mes: 'Save image extensions in Ad Group Creation Flow',\r\n adGroupType: this.adGroupType || 'NoSpecified',\r\n adGroupId,\r\n adGroupName,\r\n });\r\n const campaign = this.campaign;\r\n\r\n const defaultParams = {\r\n where: {\r\n adGroupId,\r\n adGroupName,\r\n campaignId: campaign.Id,\r\n campaignName: campaign.Name,\r\n },\r\n };\r\n\r\n if (cachedImageExtensionChanges == null || (_.isEmpty(cachedImageExtensionChanges.added) &&\r\n _.isEmpty(cachedImageExtensionChanges.removed) && _.isEmpty(cachedImageExtensionChanges.updated))) {\r\n resolve(true);\r\n }\r\n\r\n const saveImgsExtPerfMarker = this.perfMarker.createChild('Process_ImageExtensions_Success');\r\n\r\n saveImgsExtPerfMarker.willInit();\r\n\r\n const imageExtRepository = new Repository({\r\n schema: window.globalLegacySchema.get('ImageAdExtension'),\r\n afterChangeComitted: () => {\r\n summaryDataContextManager.updateContext(['AdGroupAdExtensionsGrid']);\r\n },\r\n });\r\n\r\n imageExtRepository.association.createRequestFactory('adgroup');\r\n\r\n const createImageExtensionsPromise = _.map(cachedImageExtensionChanges.added, (ext) => {\r\n return imageExtRepository.extension.create(ext);\r\n });\r\n\r\n Promise.all(createImageExtensionsPromise)\r\n .then((newExtensions) => {\r\n const newExtIds = _.pluck(newExtensions, 'Id');\r\n\r\n this.logTrace({\r\n mes: 'Saved image extensions in Ad Group Creation Flow',\r\n adGroupType: this.adGroupType || 'NoSpecified',\r\n newExtIds,\r\n adGroupId,\r\n adGroupName,\r\n });\r\n\r\n _.each(cachedImageExtensionChanges.added, (item, index) => {\r\n item.Id = newExtIds[index];\r\n });\r\n\r\n let deletePromise = Promise.resolve(true);\r\n\r\n if (!_.isEmpty(cachedImageExtensionChanges.removed)) {\r\n deletePromise =\r\n imageExtRepository.association.destroyAll({\r\n where: {\r\n id: { in: _.pluck(cachedImageExtensionChanges.removed, 'Id') },\r\n ...defaultParams.where,\r\n },\r\n });\r\n }\r\n\r\n return deletePromise\r\n .then(() => {\r\n const params = {\r\n where: {\r\n id: { in: newExtIds },\r\n ...defaultParams.where,\r\n },\r\n };\r\n const updatePromise = _.map(cachedImageExtensionChanges.updated, (ext) => {\r\n return imageExtRepository.extension.update(ext);\r\n });\r\n\r\n return Promise.all(updatePromise).then(() => {\r\n return imageExtRepository.association.updateAll(null, params);\r\n });\r\n\r\n });\r\n })\r\n .then(() => {\r\n this.logTrace({\r\n mes: 'Successfully saved image extensions in Ad Group Creation Flow',\r\n adGroupType: this.adGroupType || 'NoSpecified',\r\n adGroupId,\r\n adGroupName,\r\n });\r\n\r\n saveImgsExtPerfMarker.done();\r\n resolve(true);\r\n })\r\n .catch((err) => {\r\n // do nothing, so that this is non-blocking\r\n this.logTrace({\r\n mes: 'Saved image extensions with failures in Ad Group Creation Flow',\r\n adGroupType: this.adGroupType || 'NoSpecified',\r\n adGroupId,\r\n adGroupName,\r\n err,\r\n });\r\n\r\n const pageName = `${newI18n.getString(_TL_('Ads & extensions'))}`;\r\n\r\n notificationApi.showWarning(newI18n.getString(\r\n _TL_('There were errors when processing your image extension updates. To ensure that all changes are up to date or to manually create a new image extension, review your image extensions in the {{page}} page.'),\r\n {\r\n page: pageName,\r\n }));\r\n resolve(true);\r\n });\r\n }).catch((err) => {\r\n this.logTrace({\r\n mes: 'Create saving image extensions promise with failures in Ad Group Creation Flow',\r\n adGroupType: this.adGroupType || 'NoSpecified',\r\n err,\r\n });\r\n return Promise.resolve(true);\r\n });\r\n }\r\n\r\n afterCommitted() {\r\n return (adgroup) => {\r\n this.viewModel.adGroup(_.pick(adgroup, ['Id', 'Name', 'Campaign']));\r\n if (this.isOpenCreatePanel) {\r\n const mes = { CampaignId: adgroup.Campaign.Id, DeliveryStatusType: 'NoEligibleAdGroups' };\r\n\r\n this.applyActivity.trace(JSON.stringify(mes));\r\n }\r\n\r\n this.logCopilotSuggestionMapping(adgroup);\r\n\r\n return this.enableAdGroup()\r\n .then(() => {\r\n if (this.perfMarkerSave) {\r\n this.perfMarkerSave.done({\r\n campaignType: campaignType(),\r\n });\r\n }\r\n if (this.subViews.bid && this.subViews.bid.searchBidView) {\r\n activity.signal(JSON.stringify(\r\n {\r\n Scenario: 'AdgroupCreation',\r\n SuggestedBid: this.subViews.bid.searchBidView.viewModel.suggestedBidNew(),\r\n SaveBid: this.subViews.bid.searchBidView.viewModel.SearchBid(),\r\n EventName: 'CreationFlowBidSave',\r\n SuggestedBidRequestId: this.subViews.bid.searchBidView.viewModel.suggestedBidRequestId(),\r\n CampaignId: this.campaign.Id,\r\n AdgroupId: adgroup.Id,\r\n AdGroupLogId,\r\n },\r\n ), 'save adgroup Bid');\r\n }\r\n if (this.subViews.bid && this.subViews.bid.bidStatusEnabled) {\r\n logBidAdoption({\r\n Id: adgroup.Id,\r\n suggestedBid: this.subViews.bid.suggestedBid,\r\n isNKW: this.subViews.bid.isNKW,\r\n SearchBid: adgroup.SearchBid,\r\n viewedSuggestion: this.subViews.bid.viewedSuggestion,\r\n }, activity);\r\n }\r\n if (_.isArray(adgroup.Keywords) && this.subViews.keyword) {\r\n this.subViews.keyword.updateViewModels({\r\n keywords: adgroup.Keywords,\r\n campaignId: adgroup.Campaign.Id,\r\n adGroupId: adgroup.Id,\r\n });\r\n }\r\n logAdGroupPersonalizedOffers(this.showCashbackSettings, this.activity.signal.bind(this.activity), adgroup);\r\n this.navigateToSummaryPage(adgroup);\r\n })\r\n .catch((response) => {\r\n const { errors } = response;\r\n\r\n this.logTrace(response, 'afterCommitted.catch');\r\n this.backFillEntityIds(adgroup);\r\n this.viewModel.errors.add(i18nErrors.getBulkApiErrors(errors));\r\n });\r\n };\r\n }\r\n\r\n backFillEntityIds(entity) {\r\n //hide copy adgroup settings checkbox\r\n this.settings.copySettings.hide();\r\n //hide language dropdown\r\n this.settings.isAfterSave();\r\n //backFill ads' Ids\r\n this.subViews.ad && this.subViews.ad.handleAdsError(entity); //eslint-disable-line\r\n //backFill keywords' Ids\r\n this.subViews.keyword && this.subViews.keyword.updateViewModels({//eslint-disable-line\r\n keywords: _.map(entity.Keywords, (keyword) => {\r\n return _.extend(keyword, {\r\n AdGroup: { Id: entity.Id },\r\n Campaign: { Id: entity.Campaign.Id },\r\n });\r\n }),\r\n campaignId: entity.Campaign.Id,\r\n adGroupId: entity.Id,\r\n hasErrors: true,\r\n });\r\n //backFill targeting's Ids\r\n if (this.subViews['advanced-settings']) {\r\n this.subViews['advanced-settings'].setLevel('adgroup');//partial success changes the control mode to edit and level to adgroup\r\n this.subViews['advanced-settings'].setAdGroupId(entity.Id);\r\n this.subViews['advanced-settings'].setData(entity);\r\n this.subViews['advanced-settings'].handleErrors({ entity, errors: {} });\r\n }\r\n //refresh location targeting data\r\n if (this.subViews['location-targets']) {\r\n this.subViews['location-targets'].setAdGroupId(entity.Id);\r\n this.subViews['location-targets'].handleApiErrorsForAdGroupLevel(entity.Id);\r\n }\r\n }\r\n\r\n apiErrorHandler() {\r\n return (response) => {\r\n this.logTrace(response, 'apiErrorHandler');\r\n\r\n if (_.isEmpty(response) || _.isEmpty(response.entity)) {\r\n //Ajax error [400] - RowCountExceeded\r\n this.viewModel.errors.add(_.isEmpty(response) || _.isEmpty(response.errors) ? undefined : i18nErrors.getODataErrors(response.errors));\r\n\r\n scrollUtil.scrollAndCenter(this.errorElements());\r\n return;\r\n }\r\n\r\n i18nErrors.getPartial(response, ['TextAds', 'AppInstallAds', 'DynamicSearchAds', 'ExpandedTextAds', 'Keywords', 'AdGroupCriterions', 'ProductPartitions', 'ResponsiveSearchAds', 'DsaTargets', 'ResponsiveAds']);\r\n\r\n this.settings.copySettings.hide();\r\n\r\n if (_.isEmpty(response.entity.errors)) {\r\n // the adgroup passed while sub entities failed\r\n this.settings.isAfterSave();\r\n\r\n const allAdsAndKeywordsErrors = this.adsAndKeywordsErrors(response.errors);\r\n\r\n if (this.subViews.ad) {\r\n this.subViews.ad.handleAdsError(response.entity);\r\n }\r\n\r\n if (this.subViews.keyword) {\r\n this.subViews.keyword.updateViewModels({\r\n keywords: _.map(response.entity.Keywords, (keyword) => {\r\n return _.extend(keyword, {\r\n AdGroup: { Id: response.entity.Id },\r\n Campaign: { Id: response.entity.Campaign.Id },\r\n });\r\n }),\r\n campaignId: { Id: response.entity.Campaign.Id },\r\n adGroupId: { Id: response.entity.Id },\r\n hasErrors: true,\r\n });\r\n }\r\n\r\n if (allAdsAndKeywordsErrors) {\r\n let allAppealableErrors = true;\r\n\r\n if (this.subViews.ad) {\r\n allAppealableErrors = allAppealableErrors && this.subViews.ad.allAppealableErrors;\r\n }\r\n if (this.subViews.keyword) {\r\n allAppealableErrors = allAppealableErrors && !this.subViews.keyword.hasChanges();\r\n }\r\n\r\n if (allAppealableErrors) {\r\n return this.afterCommitted()(response.entity); //eslint-disable-line\r\n }\r\n }\r\n\r\n if (this.subViews['advanced-settings']) {\r\n this.subViews['advanced-settings'].setLevel('adgroup');//partial success changes the control mode to edit and level to adgroup\r\n this.subViews['advanced-settings'].setAdGroupId(response.entity.Id);\r\n this.subViews['advanced-settings'].setData(response);\r\n this.subViews['advanced-settings'].handleErrors(response);\r\n }\r\n\r\n if (this.subViews['location-targets']) {\r\n this.subViews['location-targets'].setAdGroupId(response.entity.Id);\r\n this.subViews['location-targets'].handleApiErrorsForAdGroupLevel(response.entity.Id);\r\n }\r\n\r\n if (this.subViews['adgroup-targets']) {\r\n this.subViews['adgroup-targets'].fillCriterionsWithId(_.result(response.entity, 'AdGroupCriterions'));\r\n }\r\n\r\n if (_.isArray(response.entity.ProductPartitions)) {\r\n // When resposne has ProductPartitions entity, it means there is an adgroup trying to be created\r\n this.defaultProductPartitionCreated = _.isEmpty(_.first(response.entity.ProductPartitions).errors);\r\n }\r\n\r\n if (this.subViews['auto-targets']) {\r\n this.subViews['auto-targets'].updateViewModels(response.entity.DsaTargets);\r\n }\r\n\r\n this.viewModel.adGroup(_.pick(response.entity, ['Id', 'Name', 'Campaign']));\r\n } else {\r\n let errors = response.entity.errors;\r\n\r\n if (errors.length && ((errors[0].message && errors[0].message.length === 0) || errors[0].message == null)) { // if message is not converted\r\n errors = i18nErrors.getODataErrors(response.entity.errors.map((x) => ({ Property: x.property, Code: x.code })));\r\n }\r\n this.settings.viewModel.errors.add(errors);\r\n }\r\n\r\n scrollUtil.scrollAndCenter(this.errorElements());\r\n };\r\n }\r\n\r\n adsAndKeywordsErrors(errors) {\r\n return _.every(errors, (err) => {\r\n return err.Type === 'Keyword Error' || err.Type.indexOf('Ad Error') > -1;\r\n });\r\n }\r\n\r\n enableAdGroup() {\r\n const campaign = this.campaign;\r\n const adgroup = this.viewModel.adGroup();\r\n const params = {\r\n Id: adgroup.Id,\r\n Campaign: { Id: campaign.Id },\r\n Status: 'Active',\r\n };\r\n\r\n if (this.hasAdDistribution) {\r\n params.AdDistribution = this.adDistribution;\r\n }\r\n\r\n this.logTrace({\r\n mes: 'Created ad group in Ad Group Creation Flow',\r\n adGroupId: adgroup.Id,\r\n adGroupType: this.adGroupType || 'NoSpecified',\r\n });\r\n\r\n return jsData.AdGroup\r\n .update(adgroup.Id, params, { adapter: 'bulk' });\r\n }\r\n\r\n cancel() {\r\n this.navigateToRoute('campaign_adgroup', { 'campaign_id': this.campaign.Id });\r\n }\r\n\r\n navigateToSummaryPage() {\r\n this.logTrace('Start navigation', 'navigateToSummaryPage');\r\n summaryDataContextManager.getContext('/campaign/newadgroup/create?');\r\n this.navigateToRoute('campaign_adgroup', { 'campaign_id': this.campaign.Id });\r\n this.eventDelegator.trigger('adGroupReload');\r\n }\r\n\r\n logTrace(obj, api) {\r\n let mes = '';\r\n\r\n try {\r\n mes = JSON.stringify(obj);\r\n } catch (err) {\r\n // do nothing\r\n }\r\n\r\n activity.trace(mes, api);\r\n }\r\n\r\n remove() {\r\n if (this.languageLocationConnector) {\r\n this.languageLocationConnector.stopListening();\r\n }\r\n if (this.cpgBidOptionConnector) {\r\n this.cpgBidOptionConnector.stopListening();\r\n }\r\n if (this.bidStrategyBidOptionConnector) {\r\n this.bidStrategyBidOptionConnector.stopListening();\r\n }\r\n if (this.cpgInHouseConnector) {\r\n this.cpgInHouseConnector.stopListening();\r\n }\r\n _.each(this.subViews, (view) => {\r\n view.remove();\r\n });\r\n\r\n super.remove();\r\n }\r\n\r\n logCopilotSuggestionMapping(adgroup) {\r\n if (campaignType() !== 'search' || this.adGroupType !== 'SearchStandard') {\r\n return;\r\n }\r\n const uniqueId = uuid.v4();\r\n const campaignId = adgroup.Campaign.Id;\r\n const accountId = _.get(this.serverContext, ['CurrentAccount', 'Id']);\r\n\r\n const initStatus = {\r\n Channel: AssetChannel.WEB_UI,\r\n Feature: AssetEventFeature.RSA,\r\n Scenario: AssetScenario.CREATE_WORK_FLOW,\r\n AccountId: accountId,\r\n UniqueId: uniqueId,\r\n CampaignId: campaignId,\r\n };\r\n\r\n const localIds = this.subViews.ad.getAds().map(({ Id }) => Id);\r\n const realIds = adgroup.ResponsiveSearchAds.map(({ Id }) => Id);\r\n\r\n const data = {\r\n UniqueId: uniqueId,\r\n EventName: POST_ASSET_EVENT_NAME,\r\n EventValue: JSON.stringify({\r\n ...initStatus,\r\n Timestamp: new Date().toISOString(),\r\n RecordType: AssetEventRecordType.MAPPING,\r\n OperationName: AssetEventOperationName.NON_ITERATIVE,\r\n RealIds: realIds,\r\n LocalIds: localIds,\r\n }),\r\n };\r\n\r\n this.logTrace(`[PostAssetEventLog]: UniqueId: ${uniqueId}, EventName: ${data.EventName}, EventValue: ${data.EventValue}`);\r\n }\r\n}\r\n","import ko from 'knockout';\r\nimport { adGroupTypeEnum, adGroupTypeText } from '@bingads-webui-campaign-legacy/adgroup-create-advanced/util/adGroupTypeEnum';\r\n\r\nexport default class View {\r\n constructor() {\r\n this.adGroupType = ko.observable(adGroupTypeEnum.SearchStandard);\r\n\r\n this.adGroupTypeOptions = [\r\n { value: adGroupTypeEnum.SearchStandard, text: adGroupTypeText.SearchStandard },\r\n { value: adGroupTypeEnum.SearchDynamic, text: adGroupTypeText.SearchDynamic },\r\n ];\r\n\r\n this.showStandardAdGroupCreation = ko.computed(() => this.adGroupType() === adGroupTypeEnum.SearchStandard);\r\n this.showDynamicAdGroupCreation = ko.computed(() => this.adGroupType() === adGroupTypeEnum.SearchDynamic);\r\n this.hasDisclaimerSetting = ko.observable(false);\r\n this.errors = ko.observable([]);\r\n }\r\n}\r\n","import Backbone from 'backbone';\r\nimport tmpl from '@bingads-webui-campaign-legacy/adgroup-create-advanced/template/message.pug';\r\n\r\nexport class MessageView extends Backbone.View {\r\n initialize({\r\n title,\r\n content,\r\n }) {\r\n this.title = title;\r\n this.content = content;\r\n }\r\n\r\n render() {\r\n this.$el.html(tmpl({\r\n title: this.title,\r\n content: this.content,\r\n }));\r\n return this;\r\n }\r\n}\r\n","import Backbone from 'backbone';\r\nimport pageContext from '@bingads-webui-static-legacy/page-context';\r\nimport _ from 'underscore';\r\nimport ko from 'knockout';\r\nimport $ from 'jquery';\r\nimport AdGroupCreationView from '@bingads-webui-campaign-legacy/adgroup-create-advanced/view/index';\r\nimport tmpl from '@bingads-webui-campaign-legacy/adgroup-create-advanced/template/mixed-mode-creation.pug';\r\nimport ViewModel from '@bingads-webui-campaign-legacy/adgroup-create-advanced/viewmodel/mixed-mode-creation';\r\nimport DSASettingsView from '@bingads-webui-campaign-legacy/dsa-settings/view/dsa-settings';\r\nimport * as scrollUtil from '@bingads-webui-component-legacy/extension/scrollTo';\r\nimport uiBlocker from '@bingads-webui-component-legacy/uiblocker/index';\r\nimport jsData from '@bingads-webui-component-legacy/js-data-campaign/index';\r\nimport Promise from 'bluebird';\r\nimport * as i18nErrors from '@bingads-webui-component-legacy/api-errors-campaign/index';\r\nimport { adGroupTypeEnum } from '@bingads-webui-campaign-legacy/adgroup-create-advanced/util/adGroupTypeEnum';\r\nimport { Dialog } from '@bingads-webui/dialog';\r\nimport { MessageView } from '@bingads-webui-campaign-legacy/adgroup-create-advanced/view/message';\r\nimport edmCampaign from '@bingads-webui-component-legacy/edm-campaign/index';\r\n\r\nconst i18n = window.globalLegacyI18n.get('component/i18n/loader!campaignui/campaign-creation-advanced');\r\n\r\nexport default class MixedModeAdGroupCreationView extends Backbone.View {\r\n initialize(options) {\r\n this.options = options;\r\n this.viewModel = new ViewModel();\r\n this.currentCampaign = pageContext.CurrentCampaign;\r\n this.hasDSASettingsInCampaignSettings = _.result(_.first(_.result(this.currentCampaign, 'CampaignSettings')), 'DomainName') != null;\r\n this.currentAdgroupType = this.viewModel.adGroupType();\r\n this.campaignId = this.currentCampaign.Id;\r\n this.handlePopState = () => {\r\n this.adGroupCreationView.cancel();\r\n };\r\n\r\n window.addEventListener('popstate', this.handlePopState);\r\n }\r\n\r\n get events() {\r\n return {\r\n 'click .btn-save': 'save',\r\n 'click .btn-cancel': 'cancel',\r\n };\r\n }\r\n\r\n errorElements() {\r\n return this.$('.mixed-mode-ad-group-creation-container .error, .mixed-mode-ad-group-creation-container .alert-danger').filter(':visible');\r\n }\r\n\r\n initDSASettingsView() {\r\n if (this.dsaSettingsView) {\r\n this.dsaSettingsView.remove();\r\n }\r\n this.dsaSettingsView = new DSASettingsView();\r\n this.dsaSettingsView.on('change', () => {\r\n this.updateSubViewDSASettings();\r\n });\r\n }\r\n\r\n hasDisclaimerSetting(campaign) {\r\n const disclaimerAdsEnabled = _.chain(campaign)\r\n .result('CampaignSettings')\r\n .result('0')\r\n .result('DisclaimerAdsEnabled')\r\n .value();\r\n\r\n return disclaimerAdsEnabled;\r\n }\r\n\r\n updateSubViewDSASettings() {\r\n const dsaSettings = this.dsaSettingsView.getValues();\r\n\r\n if (this.adGroupCreationView.subViews['auto-targets']) {\r\n this.adGroupCreationView.subViews['auto-targets'].trigger('update:setting', {\r\n Language: dsaSettings.LanguageCode,\r\n DomainName: dsaSettings.DomainName,\r\n Source: dsaSettings.Source,\r\n });\r\n }\r\n\r\n if (this.adGroupCreationView.subViews.ad) {\r\n this.adGroupCreationView.subViews.ad.trigger('update:domainName', dsaSettings.DomainName);\r\n this.adGroupCreationView.subViews.ad.trigger('update:dynamicDescriptionEnabled', dsaSettings.DynamicDescriptionEnabled);\r\n }\r\n }\r\n\r\n renderAdGroupCreationView(adGroupType) {\r\n const $adGroupCreationContainer = this.$('.adgroup-creation-container');\r\n\r\n if (this.adGroupCreationView) {\r\n this.adGroupCreationView.remove();\r\n }\r\n if (adGroupType === 'SearchStandard') {\r\n if (this.dsaSettingsView) {\r\n this.dsaSettingsView.remove();\r\n this.dsaSettingsView = null;\r\n }\r\n this.adGroupCreationView = new AdGroupCreationView(_.extend({}, this.options, { isMixedMode: true, adGroupType: adGroupTypeEnum.SearchStandard, getCampaignPromise: this.getCampaignPromise}));\r\n $adGroupCreationContainer.empty().append(this.adGroupCreationView.render().$el);\r\n } else {\r\n this.adGroupCreationView = new AdGroupCreationView(_.extend({}, this.options, { isMixedMode: true, isDynamicAdGroupCreation: true, adGroupType: adGroupTypeEnum.SearchDynamic, getCampaignPromise: this.getCampaignPromise }));\r\n $adGroupCreationContainer.empty().append(this.adGroupCreationView.render().$el);\r\n\r\n if (!this.hasDSASettingsInCampaignSettings) {\r\n this.initDSASettingsView();\r\n const $dsaSettingsContainer = this.$('.adgroup-creation-dsa-settings-view-container');\r\n\r\n $dsaSettingsContainer.empty().append(this.dsaSettingsView.render().$el);\r\n }\r\n }\r\n }\r\n\r\n attemptSwitchadGroupType(adGroupType) {\r\n const dialog = new Dialog({\r\n backdrop: false,\r\n keyboard: false,\r\n showHeader: false,\r\n }).setContent(new MessageView({\r\n title: i18n.getString('ChangeAdGroupTypeTitle'),\r\n content: i18n.getString('ChangeAdGroupTypeContent'),\r\n }))\r\n .setState({\r\n buttons: [{\r\n text: i18n.getString('Button_Cancel'),\r\n name: 'cancel',\r\n class: 'confirm-cancel',\r\n }, {\r\n text: i18n.getString('Button_Continue'),\r\n name: 'continue',\r\n class: 'confirm-continue btn-primary',\r\n }],\r\n })\r\n .render();\r\n\r\n dialog.$el.appendTo(document.body);\r\n dialog.show();\r\n $('.confirm-continue').focus();\r\n\r\n dialog.on('clickedButton', (button) => {\r\n dialog.remove();\r\n if (button === 'continue') {\r\n this.viewModel.errors([]);\r\n this.renderAdGroupCreationView(adGroupType);\r\n this.currentAdgroupType = adGroupType;\r\n } else {\r\n // set back to original adgroup type\r\n this.viewModel.adGroupType(this.currentAdgroupType);\r\n }\r\n });\r\n }\r\n\r\n\r\n render() {\r\n this.options.perfMarker.willRender();\r\n const params = {\r\n queryParameters: {\r\n entitySet: edmCampaign.currentAccount.Campaigns,\r\n expand: ['Budget'],\r\n },\r\n bypassCache: true,\r\n };\r\n\r\n this.getCampaignPromise = this.currentCampaign && this.currentCampaign._IsAllData ? Promise.resolve(this.currentCampaign) : jsData.Campaign.find(Number(this.campaignId), params);\r\n this.getCampaignPromise.then((campaign) => {\r\n this.$el.append(tmpl({\r\n i18n,\r\n }));\r\n ko.applyBindings(this.viewModel, this.el);\r\n this.viewModel.hasDisclaimerSetting(this.hasDisclaimerSetting(campaign));\r\n\r\n this.renderAdGroupCreationView(this.viewModel.adGroupType());\r\n\r\n this.viewModel.adGroupType.subscribe((adGroupType) => {\r\n if (adGroupType !== this.currentAdgroupType) {\r\n this.attemptSwitchadGroupType(adGroupType);\r\n }\r\n });\r\n this.$('.adgroup-type-select').focus();\r\n this.options.perfMarker.done();\r\n });\r\n\r\n return this;\r\n }\r\n\r\n remove() {\r\n if (this.adGroupCreationView) {\r\n this.adGroupCreationView.remove();\r\n }\r\n\r\n if (this.dsaSettingsView) {\r\n this.dsaSettingsView.remove();\r\n }\r\n\r\n window.removeEventListener('popstate', this.handlePopState);\r\n super.remove();\r\n }\r\n\r\n save() {\r\n if (!this.validate()) {\r\n scrollUtil.scrollAndCenter(this.errorElements());\r\n return;\r\n }\r\n\r\n if (this.dsaSettingsView) {\r\n const params = this.dsaSettingsView.getValues();\r\n\r\n jsData.Campaign\r\n .update(this.campaignId, params, { adapter: 'bulk', cacheResponse: false })\r\n .then(() => {\r\n this.currentCampaign.CampaignSettings = [{\r\n DomainName: params.DomainName,\r\n Source: params.Source,\r\n Language: params.LanguageCode,\r\n }];\r\n this.saveTargetingSource(this.campaignId);\r\n window.App.state.trigger('change:campaign_id');\r\n this.dsaSettingsView.setValues({\r\n disabled: true,\r\n });\r\n this.adGroupCreationView.save();\r\n return true;\r\n })\r\n .catch((response) => {\r\n const hasErrors = response && !_.isUndefined(response.errors);\r\n\r\n if (hasErrors) {\r\n const map = new Map();\r\n const campaignErrors = _.filter(response.errors, (error) => {\r\n const key = `${error.Error},${error.ErrorNumber},${error.EditorialCode},${error.EditorialLocation},${error.Property}`;\r\n\r\n return error.Type === 'Campaign Error' && !map.has(key) && map.set(key, 1);\r\n });\r\n const errors = i18nErrors.getBulkApiErrors(campaignErrors);\r\n const propertyErrors = _.filter(errors, (err) => !!err.property);\r\n const globalErrors = _.chain(errors)\r\n .filter((err) => !err.property)\r\n .map((err) => err.message)\r\n .value();\r\n\r\n this.dsaSettingsView.handleApiErrors(propertyErrors);\r\n this.viewModel.errors(globalErrors);\r\n this.scrollToDSAError();\r\n }\r\n return false;\r\n })\r\n .finally(uiBlocker());\r\n } else {\r\n this.adGroupCreationView.save();\r\n }\r\n }\r\n\r\n saveTargetingSource(id) {\r\n const retPromise = id && this.dsaSettingsView && this.dsaSettingsView.targetingSource ?\r\n this.dsaSettingsView.targetingSource.save(id) : Promise.resolve();\r\n\r\n return retPromise.then((result) => {\r\n if (_.result(this.CurrentCampaign, 'Id') === id) {\r\n if (_.size(this.CurrentCampaign.CampaignSettings) > 0 && this.targetingSource) {\r\n this.CurrentCampaign.CampaignSettings[0].Source = this.targetingSource.koModel.source();\r\n }\r\n }\r\n return result;\r\n });\r\n }\r\n\r\n scrollToDSAError() {\r\n scrollUtil.scrollAndCenter(this.$('.dsa-settings-container .error'));\r\n }\r\n\r\n validate() {\r\n const adGroupType = this.viewModel.adGroupType();\r\n const isDSASettingsAvailable = (adGroupType === 'SearchDynamic') && !this.hasDSASettingsInCampaignSettings;\r\n\r\n // eslint-disable-next-line no-bitwise\r\n return (isDSASettingsAvailable ? this.dsaSettingsView.validate() : true) & this.adGroupCreationView.validate();\r\n }\r\n\r\n cancel() {\r\n this.adGroupCreationView.cancel();\r\n }\r\n}\r\n","/*eslint new-cap:0 */\r\nexport default class ViewModel {\r\n}\r\n","/*eslint new-cap:0 */\r\nimport _ from 'underscore';\r\nimport Backbone from 'backbone';\r\nimport ko from 'knockout';\r\nimport ViewModel from '@bingads-webui-campaign-legacy/adgroup-create-advanced/viewmodel/bid';\r\nimport template from '@bingads-webui-campaign-legacy/adgroup-create-advanced/template/steps/bid.pug';\r\nimport SearchBidView from '@bingads-webui-campaign-legacy/adgroup-create-advanced/view/steps/search-bid';\r\nimport { mediumEnum } from '@bingads-webui-campaign-react/constants';\r\n\r\nconst i18n = window.globalLegacyI18n.get('component/i18n/loader!campaignui/campaign-creation-advanced');\r\n\r\nexport default class View extends Backbone.View {\r\n initialize({\r\n showTrafficEstimation = false,\r\n budget = 0,\r\n getKeywordsCb = () => {\r\n return [];\r\n },\r\n adgroup = undefined,\r\n languages = [],\r\n campaign = undefined,\r\n bidStatusEnabled = false,\r\n isInKeywordCreationWorkflow = false,\r\n inputLabel = i18n.get('Bids_SearchNetworkBid_New'),\r\n isForVNext = false,\r\n activityLogger,\r\n AdGroupLogId,\r\n defaultBidValue = null,\r\n }) {\r\n this.searchBidView = new SearchBidView({\r\n adgroup,\r\n getKeywordsCb,\r\n budget,\r\n showTrafficEstimation,\r\n languages,\r\n bidStatusEnabled,\r\n isInKeywordCreationWorkflow,\r\n inputLabel,\r\n isForVNext,\r\n campaign,\r\n newI18n: this.options.newI18n,\r\n activityLogger,\r\n AdGroupLogId,\r\n defaultBidValue,\r\n });\r\n\r\n this.viewModel = new ViewModel();\r\n this.setCampaignAutoBiddingBoolean(campaign);\r\n this.searchBidView.on('bid:clicked-bid-landscape', (e) => {\r\n this.trigger('bid:clicked-bid-landscape', e);\r\n });\r\n\r\n return this;\r\n }\r\n\r\n render() {\r\n this.$el.append(template());\r\n ko.applyBindings(this.viewModel, this.el);\r\n this.$('.search-bid__container').append(this.searchBidView.render().el);\r\n\r\n return this;\r\n }\r\n\r\n get bid() {\r\n return this.searchBidView.viewModel.SearchBid;\r\n }\r\n\r\n get suggestedBid() {\r\n return this.searchBidView.viewModel.suggestedBid();\r\n }\r\n\r\n get isNKW() {\r\n return this.searchBidView.isNKW;\r\n }\r\n\r\n get viewedSuggestion() {\r\n return this.searchBidView.viewedSuggestion;\r\n }\r\n\r\n get bidStatusEnabled() {\r\n return this.searchBidView.bidStatusEnabled;\r\n }\r\n\r\n bidEditable() {\r\n return !(\r\n this.searchBidView.viewModel.disableSearchBid() ||\r\n this.searchBidView.viewModel.isAutoBidding()\r\n );\r\n }\r\n\r\n validate() {\r\n return this.searchBidView.validate();\r\n }\r\n\r\n getValues() {\r\n return _.defaults({}, this.searchBidView.getValues());\r\n }\r\n\r\n resetSearchBidStatus(enable) {\r\n this.searchBidView.viewModel.disableSearchBid(!enable);\r\n }\r\n\r\n resetIsAutoBidding(type) {\r\n this.searchBidView.viewModel.isAutoBidding(this.isCampaignAutoBidding && !_.isEmpty(type) && type === 'InheritFromParent');\r\n }\r\n\r\n setCampaignAutoBiddingBoolean(campaign) {\r\n this.isCampaignAutoBidding =\r\n campaign &&\r\n campaign.BiddingScheme &&\r\n campaign.BiddingScheme.Type &&\r\n _.contains(['MaxClicks', 'MaxConversions', 'TargetCpa', 'TargetRoas', 'MaxConversionValue', 'TargetImpressionShare', 'CostPerSale'], campaign.BiddingScheme.Type);\r\n }\r\n\r\n updateBidLandscapeAvailability(bidLandscapeAvailable) {\r\n this.searchBidView.updateBidLandscapeAvailability(bidLandscapeAvailable);\r\n }\r\n\r\n updateAdGroupMedium(adGroup) {\r\n this.searchBidView.viewModel.updateAdGroupMedium(adGroup);\r\n }\r\n\r\n setModel(adgroup) {\r\n if (adgroup.Medium !== mediumEnum.Content) {\r\n // have to force the model refresh\r\n // if you entered a invalid string to bid, like: 'fdas5', the change in view will not change the model\r\n // and then change to another adgroup with the same bid as the previous valid bid input\r\n // the model will not refresh view because it thinks it does not change\r\n this.searchBidView.viewModel.setModel({ SearchBid: 0 });\r\n //search or search & content\r\n this.searchBidView.viewModel.setModel(adgroup);\r\n if (adgroup && adgroup.BiddingScheme) {\r\n this.resetIsAutoBidding(adgroup.BiddingScheme.Type);\r\n }\r\n }\r\n }\r\n}\r\n","/* global _TL_ */\r\n/*eslint new-cap:0 */\r\nimport ko from 'knockout';\r\nimport _ from 'underscore';\r\nimport bidRangeExtension from '@bingads-webui-campaign-legacy/adgroup-create-advanced/viewmodel/bidRangeExtension';\r\nimport { isBidLessThanFiveCentsForShoppingCampaign } from '@bingads-webui-campaign-legacy/adgroup-create-advanced/util/bidLessThanFiveCents';\r\nimport koSchema from '@bingads-webui-component-legacy/ko-schema/index';\r\nimport decimal from '@bingads-webui-component-legacy/humanize/decimal';\r\nimport { defaultBid } from '@bingads-webui-campaign-legacy/budget/shared/defaultBid';\r\n\r\nconst s$AdGroup = window.globalLegacySchema.get('AdGroup');\r\nconst i18n = window.globalLegacyI18n.get('component/i18n/loader!campaignui/campaign-creation-advanced');\r\n\r\nconst bidStatusENUM = {\r\n Error: 'error',\r\n Warning: 'warning',\r\n Good: 'ok',\r\n};\r\n\r\nexport default class ViewModel {\r\n constructor({\r\n adgroup = undefined,\r\n isInKeywordCreationWorkflow = false,\r\n campaign,\r\n newI18n,\r\n activityLogger,\r\n AdGroupLogId,\r\n defaultBidValue = null,\r\n isMSStoreAdsGAWorkflow = false,\r\n } = {}) {\r\n this.activityLogger = activityLogger;\r\n this.editMode = !_.isUndefined(adgroup) || isInKeywordCreationWorkflow;\r\n this.suggestedBid = ko.observable(0);\r\n this.bidStatusENUM = bidStatusENUM;\r\n this.suggestedBidNew = ko.observable(0);\r\n this.applyBidBtnText = newI18n.getString(_TL_('Apply'));\r\n this.suggestedBidRequestId = ko.observable();\r\n this.showLowerThanMinSuggestionBidWarning = ko.observable(false);\r\n\r\n let SearchBid = this.editMode ? _.result(adgroup, 'SearchBid') : defaultBid();\r\n\r\n if (defaultBidValue != null) {\r\n SearchBid = defaultBidValue;\r\n }\r\n\r\n koSchema.properties(this, s$AdGroup, ['SearchBid'], {\r\n SearchBid,\r\n });\r\n\r\n this.bidTooLow = ko.computed(() => {\r\n return this.SearchBid() < this.suggestedBid();\r\n }, this);\r\n\r\n if (isBidLessThanFiveCentsForShoppingCampaign()) {\r\n bidRangeExtension.extend(this, ['SearchBid'], true, isMSStoreAdsGAWorkflow);\r\n } else {\r\n bidRangeExtension.extend(this, ['SearchBid'], false, isMSStoreAdsGAWorkflow);\r\n }\r\n\r\n this.showEstimation = ko.observable(false);\r\n this.Clicks = ko.observable();\r\n this.Impressions = ko.observable();\r\n this.ClicksNum = ko.observable(0);\r\n this.ImpressionsNum = ko.observable(0);\r\n this.SuggestedClicks = ko.observable(0);\r\n this.SuggestedImpressions = ko.observable(0);\r\n this.Spend = ko.observable();\r\n this.isBidChanged = ko.observable(false);\r\n this.bidLandscapeAvailable = ko.observable(false);\r\n this.moreImpressionsBySuggestion = ko.computed(() => {\r\n return Math.round(this.SuggestedImpressions() - this.ImpressionsNum());\r\n }, this);\r\n this.moreClicksBySuggestion = ko.computed(() => {\r\n return Math.round(this.SuggestedClicks() - this.ClicksNum());\r\n }, this);\r\n this.showLowBidWarning = ko.computed(() => {\r\n const isShowLowBidWarning = this.moreClicksBySuggestion() > 0 && this.moreImpressionsBySuggestion() > 0 &&\r\n this.SearchBid() < this.suggestedBidNew() / 2;\r\n\r\n if (isShowLowBidWarning && this.activityLogger) {\r\n this.activityLogger.signal(JSON.stringify({\r\n Scenario: 'AdgroupCreation',\r\n SuggestedBid: this.suggestedBidNew(),\r\n InputBid: this.SearchBid(),\r\n EventName: 'CreationFlowLowBidAlertShow',\r\n LowBidAlertType: 'Critical',\r\n SuggestedBidRequestId: this.suggestedBidRequestId(),\r\n CampaignId: campaign.Id,\r\n AdGroupLogId,\r\n }), 'lowBidWarning');\r\n }\r\n return isShowLowBidWarning;\r\n }, this);\r\n\r\n this.showLowBidInfo = ko.computed(() => {\r\n const isShowLowBidInfo = this.moreClicksBySuggestion() > 0 && this.moreImpressionsBySuggestion() > 0 &&\r\n this.SearchBid() >= this.suggestedBidNew() / 2 && this.SearchBid() < this.suggestedBidNew();\r\n\r\n if (isShowLowBidInfo && this.activityLogger) {\r\n this.activityLogger.signal(JSON.stringify({\r\n Scenario: 'AdgroupCreation',\r\n SuggestedBid: this.suggestedBidNew(),\r\n InputBid: this.SearchBid(),\r\n EventName: 'CreationFlowLowBidAlertShow',\r\n LowBidAlertType: 'Normal',\r\n SuggestedBidRequestId: this.suggestedBidRequestId(),\r\n CampaignId: campaign.Id,\r\n AdGroupLogId,\r\n }), 'lowBidInfo');\r\n }\r\n\r\n return isShowLowBidInfo;\r\n }, this);\r\n this.lowBidWarning = ko.computed(() => {\r\n return newI18n.getString(\r\n _TL_('The recommended bid is {{bid}}. You could get {{impressions}} more impressions and {{clicks}} more clicks if you apply.'),\r\n {\r\n bid: this.suggestedBidNew(),\r\n impressions: this.moreImpressionsBySuggestion(),\r\n clicks: this.moreClicksBySuggestion(),\r\n },\r\n );\r\n });\r\n this.lowBidInfo = ko.computed(() => {\r\n return newI18n.getString(\r\n _TL_('You could get {{impressions}} more impressions and {{clicks}} more clicks if you adjust the bid to {{bid}}.'),\r\n {\r\n bid: this.suggestedBidNew(),\r\n impressions: this.moreImpressionsBySuggestion(),\r\n clicks: this.moreClicksBySuggestion(),\r\n },\r\n );\r\n });\r\n\r\n this.infoMessage = ko.observable('');\r\n this.showInfo = ko.computed(() => {\r\n return !_.isEmpty(this.infoMessage());\r\n }, this);\r\n\r\n this.estimateBtnText = ko.observable(i18n.get('Estimate_SearchTraffic'));\r\n this.showEstimateButton = ko.observable(false);\r\n\r\n this.disableSearchBid = ko.observable(false);\r\n this.isAutoBidding = ko.observable(false);\r\n\r\n this.searchBidErrorMessage = ko.computed(() => {\r\n const isValid = !_.isNull(this.SearchBid());\r\n\r\n return isValid ? '' : i18n.get('Validation_BidRequired');\r\n }, this);\r\n\r\n this.searchBidInvalid = ko.computed(() => {\r\n return !this.SearchBid.isValid() || !_.isEmpty(this.searchBidErrorMessage());\r\n }, this);\r\n this.bidStatus = ko.computed(() => {\r\n if (this.searchBidInvalid()) {\r\n return bidStatusENUM.Error;\r\n } else if (this.bidTooLow()) {\r\n return bidStatusENUM.Warning;\r\n } else {\r\n return bidStatusENUM.Good;\r\n }\r\n });\r\n }\r\n\r\n // eslint-disable-next-line no-empty-function\r\n updateAdGroupMedium() {\r\n }\r\n\r\n updateEstimations(data) {\r\n if (_.isEmpty(data.value)) {\r\n this.showEstError();\r\n this.showEstimation(false);\r\n }\r\n\r\n const est = _.property('AdGroupEstimatedTraffic')(_.first(data.value));\r\n\r\n if (_.isEmpty(est)) {\r\n this.showEstError();\r\n this.showEstimation(false);\r\n } else {\r\n this.showEstimation(true);\r\n this.Clicks(decimal.fromFloatToString(est.Clicks, 0));\r\n this.Impressions(decimal.fromFloatToString(est.Impressions, 0));\r\n this.Spend(decimal.fromFloatToString(est.TotalCost, 0));\r\n this.ClicksNum(est.Clicks);\r\n this.ImpressionsNum(est.Impressions);\r\n this.estimateBtnText(i18n.get('Estimate_SearchTraffic_Refresh'));\r\n }\r\n }\r\n\r\n roundToTwo(num) {\r\n return +`${Math.round(`${num}e+2`)}e-2`;\r\n }\r\n\r\n showEstError(message) {\r\n const finalMessage = _.isString(message) ? message : i18n.get('Budget_TrafficEstimation_RequestError');\r\n\r\n this.errors.add([finalMessage]);\r\n }\r\n}\r\n","/*eslint new-cap:0 */\r\nimport _ from 'underscore';\r\nimport $ from 'jquery';\r\nimport Backbone from 'backbone';\r\nimport ko from 'knockout';\r\nimport pageContext from '@bingads-webui-static-legacy/page-context';\r\nimport ViewModel from '@bingads-webui-campaign-legacy/adgroup-create-advanced/viewmodel/search-bid';\r\nimport template from '@bingads-webui-campaign-legacy/adgroup-create-advanced/template/steps/search-bid.pug';\r\nimport getTrafficEstimation from '@bingads-webui-campaign-legacy/budget/shared/getTrafficEstimation';\r\nimport decimalNumber from '@bingads-webui-component-legacy/humanize/decimal';\r\nimport { getBidSuggestion } from '@bingads-webui-campaign-legacy/budget/shared/getBudgetBidSuggestion';\r\nimport load from '@bingads-webui-campaign-legacy/adgroup-create-advanced/view/steps/dynamic-require-es6-load';\r\nimport { isMSStoreAdsCampaign } from '@bingads-webui-campaign-react/ms-store-ads-common';\r\nimport config from '@bingads-webui-component-legacy/config/index';\r\nimport instrumentation from '@bingads-webui-static-legacy/instrumentation/index';\r\nimport constants from '@bingads-webui-static-legacy/instrumentation/constants';\r\nimport { defaultMSStoreMinSuggestionBid } from '@bingads-webui-campaign-legacy/budget/shared/defaultBid';\r\n\r\nconst i18n = window.globalLegacyI18n.get('component/i18n/loader!campaignui/campaign-creation-advanced');\r\nconst bidSugggestionNewApi = '/Customers(:advertisercustomer_id)/Accounts(:account_id)/Default.CampaignTrafficEstimateWithSuggestedBid';\r\n\r\nconst {\r\n IsSuggestionInAdGroupCreationWorkflowEnabled,\r\n IsSuggestionInAdGroupCreationWorkflowVNextEnabled,\r\n} = pageContext.Permissions;\r\nconst bidRange = config.get('KeywordBidRange');\r\n\r\nexport default class View extends Backbone.View {\r\n initialize({\r\n newI18n,\r\n showTrafficEstimation = false,\r\n budget = 0,\r\n getKeywordsCb = () => {\r\n return [];\r\n },\r\n adgroup,\r\n inputLabel = i18n.get('Bids_SearchNetworkBid_New'),\r\n popupId,\r\n languages = [],\r\n bidStatusEnabled = false,\r\n isInKeywordCreationWorkflow = false,\r\n isForVNext = false,\r\n campaign,\r\n activityLogger,\r\n AdGroupLogId,\r\n defaultBidValue = null,\r\n }) {\r\n this.isMSStoreAdsGAWorkflow = isMSStoreAdsCampaign(campaign);\r\n this.AdGroupLogId = AdGroupLogId;\r\n this.budget = budget;\r\n this.inputLabel = inputLabel;\r\n this.getKeywordsCb = getKeywordsCb;\r\n this.popupId = popupId;\r\n this.activityLogger = activityLogger;\r\n this.campaign = campaign;\r\n this.viewModel = new ViewModel({\r\n adgroup,\r\n isInKeywordCreationWorkflow,\r\n newI18n,\r\n campaign,\r\n activityLogger,\r\n AdGroupLogId,\r\n defaultBidValue,\r\n isMSStoreAdsGAWorkflow: this.isMSStoreAdsGAWorkflow,\r\n });\r\n const suggestionEnabled =\r\n (isForVNext && IsSuggestionInAdGroupCreationWorkflowVNextEnabled) ||\r\n (!isForVNext && IsSuggestionInAdGroupCreationWorkflowEnabled);\r\n\r\n this.bidStatusEnabled =\r\n bidStatusEnabled &&\r\n suggestionEnabled &&\r\n showTrafficEstimation;\r\n this.isInKeywordCreationWorkflow = isInKeywordCreationWorkflow;\r\n this.showTrafficEstimation = showTrafficEstimation;\r\n this.languages = languages;\r\n this.isNKW = false;\r\n this.viewedSuggestion = false;\r\n this.updatedTimestamp = 0;\r\n this.defaultMSStoreMinSuggestionBid = defaultMSStoreMinSuggestionBid();\r\n\r\n if (this.bidStatusEnabled) {\r\n this.statusSubscription = this.viewModel.bidStatus.subscribe(() => {\r\n this.closeBidPopup();\r\n });\r\n }\r\n\r\n this.beginEstimationDebounced = _.debounce(this.beginEstimation, 1000);\r\n this.fetchBidSuggestionNewApiDebounced = _.debounce(this.fetchBidSuggestionNewApi, 1000);\r\n\r\n return this;\r\n }\r\n\r\n get events() {\r\n return {\r\n 'click .input-group .status_warning': 'raiseBidPopup',\r\n 'click .bidlandscape_icon': 'showBidLandscape',\r\n 'change .input-group input.searchbid': 'bidChanged',\r\n 'keyup .input-group input.searchbid': 'bidInput',\r\n 'click .btn-apply-bid.btn.btn-default': 'applySuggestedBid',\r\n };\r\n }\r\n\r\n get className() {\r\n return 'search-bid-view';\r\n }\r\n\r\n applySuggestedBid() {\r\n instrumentation.logMessage(\r\n [constants.LOGCATEGORY.SUBSTRATE],\r\n constants.LOGLEVEL.INFO,\r\n 'apply Suggested Bid',\r\n JSON.stringify({\r\n Scenario: 'AdgroupCreation',\r\n SuggestedBid: this.viewModel.suggestedBidNew(),\r\n OriginalInputBid: this.viewModel.SearchBid(),\r\n EventName: 'CreationFlowLowBidSuggestionApply',\r\n SuggestedBidRequestId: this.viewModel.suggestedBidRequestId(),\r\n CampaignId: this.campaign.Id,\r\n AdGroupLogId: this.AdGroupLogId,\r\n }),\r\n );\r\n this.viewModel.SearchBid(this.viewModel.suggestedBidNew());\r\n this.beginEstimationDebounced();\r\n }\r\n\r\n bidChanged() {\r\n if (this.activityLogger) {\r\n this.activityLogger.signal('search bid change', 'search bid');\r\n }\r\n }\r\n\r\n bidInput() {\r\n this.validateMinSuggestionBid();\r\n this.beginEstimationDebounced();\r\n if (!this.viewModel.isBidChanged()) {\r\n this.viewModel.isBidChanged(true);\r\n }\r\n }\r\n validateMinSuggestionBid() {\r\n const bid = this.viewModel.SearchBid();\r\n\r\n this.viewModel.showLowerThanMinSuggestionBidWarning(this.isMSStoreAdsGAWorkflow && bid < this.defaultMSStoreMinSuggestionBid);\r\n }\r\n\r\n showBidLandscape(event) {\r\n this.trigger('bid:clicked-bid-landscape', event);\r\n }\r\n\r\n raiseBidPopup(e) {\r\n const self = this;\r\n\r\n if ($(e.target).hasClass('status_warning')) {\r\n const popup = $('.raise-bid-popup-container');\r\n\r\n // only import and render the popup at first time\r\n if (this.bidStatusEnabled && _.isUndefined(self.bidSuggestionView)) {\r\n const popupContentViewPromise = load('@bingads-webui-campaign-legacy/budget/view/bid-suggestion-popup');\r\n\r\n popupContentViewPromise.then(({ default: PopupContentView }) => {\r\n self.bidSuggestionView = new PopupContentView({\r\n i18n,\r\n suggestedBid: self.viewModel.suggestedBid(),\r\n el: self.$('.raise-bid-popup-container'),\r\n callback: () => self.viewModel.SearchBid(self.viewModel.suggestedBid()),\r\n }).render();\r\n this.viewedSuggestion = true;\r\n });\r\n }\r\n\r\n popup.show();\r\n }\r\n }\r\n\r\n closeBidPopup() {\r\n const popup = $('.raise-bid-popup-container');\r\n\r\n popup.hide();\r\n }\r\n\r\n render() {\r\n this.$el.append(template({\r\n i18n,\r\n accountCurrencyCode: pageContext.AccountCurrencyCode,\r\n showTrafficEstimation: this.showTrafficEstimation,\r\n inputLabel: this.inputLabel,\r\n popupId: this.popupId,\r\n bidStatusEnabled: this.bidStatusEnabled,\r\n isInKeywordCreationWorkflow: this.isInKeywordCreationWorkflow,\r\n defaultMSStoreMinSuggestionBid: this.defaultMSStoreMinSuggestionBid,\r\n }));\r\n ko.applyBindings(this.viewModel, this.el);\r\n this.validateMinSuggestionBid();\r\n return this;\r\n }\r\n\r\n beginEstimation() {\r\n if (!this.viewModel.showEstimateButton() || !this.showTrafficEstimation) {\r\n return;\r\n }\r\n\r\n if (this.activityLogger) {\r\n this.activityLogger.signal('clicked get perf estimation', 'search bid');\r\n }\r\n\r\n const bid = this.viewModel.SearchBid();\r\n const keywords = this.getKeywordsCb();\r\n\r\n this.viewModel.errors([]);\r\n\r\n if (_.isFinite(bid) && this.validate() && _.isFinite(this.budget)) {\r\n if (_.isEmpty(this.adgroupName) || _.isEmpty(keywords)) {\r\n this.viewModel.errors.add([i18n.get('Estimate_SearchTraffic_Error')]);\r\n return;\r\n }\r\n\r\n const adGroupObj = {\r\n Name: this.adgroupName,\r\n Keywords: keywords,\r\n };\r\n\r\n getTrafficEstimation({\r\n locations: this.locations,\r\n adGroup: adGroupObj,\r\n bid: decimalNumber.fromFloatToString(bid),\r\n budget: decimalNumber.fromFloatToString(this.budget),\r\n languages: this.languages,\r\n }, {\r\n onNotAllSupported: (supportedCount, totalCount) => {\r\n this.viewModel.infoMessage(i18n.get('TarfficEstimation_PartiallyNonSupported')\r\n .replace('{0}', supportedCount)\r\n .replace('{1}', totalCount));\r\n },\r\n onSuccess: (data) => {\r\n this.viewModel.updateEstimations(data);\r\n },\r\n onRequestError: () => {\r\n this.viewModel.showEstError();\r\n },\r\n onNonSupported: () => {\r\n // do nothing if none of the locations is supported\r\n },\r\n onServiceNotSupported: this.viewModel.showEstError.bind(this.viewModel),\r\n }, {\r\n spinner: this.$('.input-group'),\r\n });\r\n }\r\n }\r\n\r\n clearEstimation() {\r\n this.viewModel.errors([]);\r\n this.viewModel.infoMessage('');\r\n this.viewModel.showEstimation(false);\r\n }\r\n\r\n validate() {\r\n // if it is autobidding, no need to validate bid.\r\n // sometimes, the bid for autobidding will have 4 decimal places, like 1.1234.\r\n const isValid = this.viewModel.isAutoBidding() || (this.viewModel.validate() && _.isEmpty(this.viewModel.searchBidErrorMessage()));\r\n\r\n if (!isValid) {\r\n instrumentation.logMessage(\r\n [constants.LOGCATEGORY.SUBSTRATE],\r\n constants.LOGLEVEL.INFO,\r\n 'search bid',\r\n 'search bid is not valid',\r\n );\r\n }\r\n\r\n return isValid;\r\n }\r\n\r\n getValues() {\r\n return this.viewModel.disableSearchBid() ? {} : this.viewModel.toObject();\r\n }\r\n\r\n updateSuggestions(data) {\r\n if (_.isEmpty(data.value)) {\r\n return;\r\n }\r\n\r\n const est = _.property('AdGroupEstimatedTraffic')(_.first(data.value));\r\n const suggestedBid = this.viewModel.roundToTwo(_.property('SuggestedBid')(_.first(data.value)));\r\n\r\n this.viewModel.suggestedBidRequestId(data.suggestedBidRequestId);\r\n if (!_.isEmpty(est)) {\r\n this.viewModel.SuggestedClicks(est.Clicks);\r\n this.viewModel.SuggestedImpressions(est.Impressions);\r\n }\r\n this.viewModel.suggestedBidNew(suggestedBid);\r\n if (!this.viewModel.isBidChanged() && suggestedBid > 0) {\r\n this.viewModel.SearchBid(suggestedBid);\r\n this.beginEstimationDebounced();\r\n }\r\n if (!this.viewModel.showEstimation()) {\r\n this.viewModel.showEstimation(true);\r\n }\r\n }\r\n\r\n fetchBidSuggestionNewApi() {\r\n if (!this.viewModel.showEstimateButton() || !this.showTrafficEstimation) {\r\n return;\r\n }\r\n\r\n const keywords = this.getKeywordsCb();\r\n\r\n if (!_.isEmpty(keywords) && !_.isEmpty(this.adgroupName) ) {\r\n const adGroupObj = {\r\n Name: this.adgroupName,\r\n Keywords: keywords,\r\n };\r\n\r\n getTrafficEstimation({\r\n locations: this.locations,\r\n adGroup: adGroupObj,\r\n budget: decimalNumber.fromFloatToString(this.budget),\r\n languages: this.languages,\r\n }, {\r\n onNotAllSupported: (supportedCount, totalCount) => {\r\n this.viewModel.infoMessage(i18n.get('TarfficEstimation_PartiallyNonSupported')\r\n .replace('{0}', supportedCount)\r\n .replace('{1}', totalCount));\r\n },\r\n onSuccess: (res) => {\r\n this.updateSuggestions(res);\r\n },\r\n onRequestError: _.noop,\r\n onServiceNotSupported: _.noop,\r\n onNonSupported: _.noop,\r\n }, {\r\n spinner: this.$('.input-group'),\r\n },\r\n bidSugggestionNewApi,\r\n );\r\n }\r\n }\r\n\r\n fetchBidSuggestion() {\r\n this.isNKW = false;\r\n const callTimestamp = +new Date();\r\n\r\n if (this.bidStatusEnabled && this.viewModel.showEstimateButton()) {\r\n const keywords = this.getKeywordsCb();\r\n\r\n if (keywords.length) {\r\n getBidSuggestion({\r\n locations: this.locations,\r\n languages: this.languages,\r\n adGroup: {\r\n Keywords: keywords,\r\n },\r\n }, {\r\n onSuccess: (res, timestamp) => {\r\n if (\r\n res &&\r\n res.value &&\r\n res.value.length &&\r\n !_.isNull(res.value[0])\r\n ) {\r\n this.updateSuggestedBid(\r\n Math.min(\r\n bidRange.CeilingValue,\r\n Math.ceil(res.value[0].Amount * 100) / 100,\r\n ),\r\n timestamp,\r\n true,\r\n );\r\n } else {\r\n this.updateSuggestedBid(0, timestamp);\r\n }\r\n },\r\n onRequestError: (useless, timestamp) => {\r\n this.updateSuggestedBid(0, timestamp);\r\n },\r\n onServiceNotSupported: (useless, timestamp) => {\r\n this.updateSuggestedBid(0, timestamp);\r\n },\r\n onNonSupported: (useless, timestamp) => {\r\n this.updateSuggestedBid(0, timestamp);\r\n },\r\n }, {},\r\n callTimestamp);\r\n }\r\n } else {\r\n this.updateSuggestedBid(0, callTimestamp);\r\n }\r\n }\r\n\r\n updateSuggestedBid(suggestedBid, timestamp, isNKW = false) {\r\n if (timestamp > this.updatedTimestamp) {\r\n this.isNKW = isNKW;\r\n this.updatedTimestamp = timestamp;\r\n this.viewModel.suggestedBid(suggestedBid);\r\n this.viewModel.suggestedBidNew(suggestedBid);\r\n }\r\n }\r\n\r\n /**\r\n * Called when location targetings or language are changed, scenarios: new signup campaign creation page; adgroup creation workflow\r\n * @param {boolean} showEstimation show traffic estimation button or not\r\n * @param {array} locations current level location targetings\r\n * @param {array} languages current level language targetings\r\n * @returns {void}\r\n */\r\n onLanguageLocationChanged(showEstimation, locations, languages) {\r\n this.clearEstimation();\r\n this.viewModel.showEstimateButton(showEstimation);\r\n\r\n //used for traffic estimation and bid suggestion\r\n this.locations = locations;\r\n this.languages = languages;\r\n\r\n this.fetchBidSuggestionNewApiDebounced();\r\n }\r\n\r\n updateBidLandscapeAvailability(bidLandscapeAvailable) {\r\n this.viewModel.bidLandscapeAvailable(bidLandscapeAvailable);\r\n }\r\n\r\n updateAdGroupName(newName) {\r\n this.adgroupName = newName;\r\n }\r\n\r\n updateBudgetAmount(newAmount) {\r\n this.budget = newAmount;\r\n }\r\n\r\n onKeywordsEditingFinished() {\r\n this.fetchBidSuggestionNewApiDebounced();\r\n this.beginEstimationDebounced();\r\n }\r\n\r\n remove() {\r\n if (!_.isUndefined(this.statusSubscription)) {\r\n this.statusSubscription.dispose();\r\n }\r\n super.remove();\r\n }\r\n}\r\n","/* eslint-disable */\r\nexport default function load(module) {\r\n switch(module) {\r\n case '@bingads-webui-campaign-legacy/budget/view/bid-suggestion-popup':\r\n return import(/* webpackChunkName: \"settings-page-dynamic-feature-bid-suggestion\" */ '@bingads-webui-campaign-legacy/budget/view/bid-suggestion-popup');\r\n default:\r\n return new Promise(null);\r\n }\r\n}\r\n","import _ from 'underscore';\r\nimport config from '@bingads-webui-component-legacy/config/index';\r\n\r\nconst i18n = window.globalLegacyI18n.get('component/i18n/loader!component/ko-validation');\r\n\r\nconst keywordBidRange = config.get('KeywordBidRange') || {\r\n //the default value is refered from UI server which is actually from MT\r\n CeilingValue: 1000,\r\n FloorValue: 0,\r\n};\r\n\r\nconst productGroupBidRange = config.get('ProductGroupBidRange') || {\r\n //the default value is refered from UI server which is actually from MT\r\n CeilingValue: 1000,\r\n FloorValue: 0.01,\r\n};\r\n\r\nconst windowsStoreAdsBidRange = config.get('WindowsStoreAdsBidRange') || {\r\n CeilingValue: 1000,\r\n FloorValue: 1,\r\n};\r\n\r\nexport default {\r\n extend(viewModel, propertyNames, useProductGroupBidRange = false, isMSStoreCampaign = false) {\r\n _.each(propertyNames, (property) => {\r\n const enumValidator = _.result(viewModel[property].validators, 'range');\r\n\r\n if (enumValidator) {\r\n let bidRange = useProductGroupBidRange ? productGroupBidRange : keywordBidRange;\r\n\r\n if (isMSStoreCampaign) {\r\n bidRange = windowsStoreAdsBidRange;\r\n }\r\n const min = bidRange.FloorValue;\r\n const max = bidRange.CeilingValue;\r\n\r\n enumValidator.min = min;\r\n enumValidator.max = max;\r\n enumValidator.message = i18n.get('Validation_Number_Range_Between', {min, max});\r\n }\r\n });\r\n },\r\n};\r\n","/*eslint new-cap:0 */\r\nimport ko from 'knockout';\r\nimport _ from 'underscore';\r\nimport config from '@bingads-webui-component-legacy/config/index';\r\nimport koSchema from '@bingads-webui-component-legacy/ko-schema/index';\r\nimport { mediumEnum } from '@bingads-webui-campaign-react/constants';\r\n\r\nconst s$AdGroup = window.globalLegacySchema.get('AdGroup');\r\nconst i18n = window.globalLegacyI18n.get('component/i18n/loader!campaignui/campaign-creation-advanced');\r\n\r\nconst CoOpCampaignSubType = 10;\r\nconst SponsoredCampaignSubType = 11;\r\nconst BidValueAdGroupType = 0;\r\nconst permissions = config.get('Permissions') || {};\r\nconst isSponsoredPilotEnabled = Boolean(_.result(permissions, 'IsSPAv2Enabled', false));\r\nconst isWindowsStoreAdsManualCPAEnabled = Boolean(_.result(permissions.dynamic, 'WindowsStoreAdsManualCPA', false));\r\n\r\nexport default class ViewModel {\r\n constructor({\r\n AdDistribution = 'BingYahooAndSearchPartners',\r\n Medium = '',\r\n campaignSubType = null,\r\n showSynd = true,\r\n isSPBCampaign = false,\r\n isMSStoreAdsGAWorkflow,\r\n } = {}) {\r\n const subTypeFromCampaign = _.result(config.get('CurrentCampaign'), 'CampaignSubType');\r\n\r\n this.isMicrosoftStoreAd = isMSStoreAdsGAWorkflow;\r\n\r\n koSchema.properties(this, s$AdGroup, ['AdDistribution', 'Medium'], {\r\n AdDistribution: this.isMicrosoftStoreAd && !isMSStoreAdsGAWorkflow ? 'InHousePromotion' : AdDistribution,\r\n Medium: Medium || mediumEnum.Search,\r\n });\r\n\r\n // control enable or disable synd options, depending on language and selected location targetings\r\n this.syndAllowed = ko.observable(true);\r\n\r\n //control show or hidden synd options, only depending on selected adgroup language\r\n this.showSynd = ko.observable(showSynd);\r\n\r\n this.isSPBCampaign = ko.observable(isSPBCampaign);\r\n\r\n this.Medium.searchSelected = ko.computed({\r\n read() {\r\n return _.contains([mediumEnum.Mixed, mediumEnum.Search], this.Medium());\r\n },\r\n write(selected) {\r\n if (selected) {\r\n this.Medium(mediumEnum.Search);\r\n } else {\r\n this.Medium('');\r\n }\r\n },\r\n }, this);\r\n\r\n const enumValidator = _.result(this.Medium.validators, 'enum');\r\n\r\n if (enumValidator) {\r\n enumValidator.message = i18n.get('Validation_AdDistribution_NetworkRequired');\r\n }\r\n\r\n this.enableSynd = ko.computed(() => {\r\n // only enable synd when search network is selected and language/location targetings support\r\n return this.Medium.searchSelected() && this.syndAllowed() && !(this.isMicrosoftStoreAd && !isWindowsStoreAdsManualCPAEnabled);\r\n });\r\n\r\n /** When to show in-house option:\r\n In settings page, show InHouse option when it's co-op adgroup with bid value option\r\n In creation page, if AdDistribution is undefined, will by default hide in-house option\r\n */\r\n this.showInHouse = ko.observable((() => {\r\n if (this.isMicrosoftStoreAd) {\r\n return true;\r\n }\r\n\r\n if (!isSponsoredPilotEnabled || !AdDistribution) {\r\n return false;\r\n }\r\n\r\n if (campaignSubType === 'ShoppingSponsoredProductAd' || subTypeFromCampaign === SponsoredCampaignSubType) {\r\n return !this.isSPBCampaign();\r\n }\r\n\r\n if (subTypeFromCampaign !== CoOpCampaignSubType) {\r\n return false;\r\n }\r\n\r\n const settings = _.result(config.get('CurrentAdGroup'), 'Settings');\r\n const bidOption = _.result(_.first(settings), 'BidOption');\r\n\r\n return bidOption === BidValueAdGroupType;\r\n })());\r\n }\r\n}\r\n\r\n","/*eslint new-cap:0 */\r\nimport ko from 'knockout';\r\nimport _ from 'underscore';\r\nimport Backbone from 'backbone';\r\nimport templateDefault from '@bingads-webui-campaign-legacy/advanced-settings/template/ad-distribution.pug';\r\nimport templateSpaSpb from '@bingads-webui-campaign-legacy/advanced-settings/template/ad-distribution-spa-spb.pug';\r\nimport templateWinStoreAdsCpa from '@bingads-webui-campaign-legacy/advanced-settings/template/ad-distribution-win-store-ads-cpa.pug';\r\nimport ViewModel from '@bingads-webui-campaign-legacy/advanced-settings/viewmodel/ad-distribution';\r\nimport pageContext from '@bingads-webui-static-legacy/page-context';\r\nimport config from '@bingads-webui-component-legacy/config/index';\r\nimport { appendLearnMoreLink } from '@bingads-webui-component-legacy/help/index';\r\nimport * as languageBundle from '@bingads-webui-campaign-legacy/location-targets/util/languageBundle';\r\nimport * as LocationTargetTypes from '@bingads-webui-campaign-legacy/location-targets/util/locationTargetTypes';\r\nimport { syndEnum } from '@bingads-webui-campaign-react/constants';\r\nimport jsdata from '@bingads-webui-component-legacy/js-data-campaign/index';\r\n\r\nconst i18n = window.globalLegacyI18n.get('component/i18n/loader!campaignui/campaign-creation-advanced');\r\n\r\n/*source: localizedsetting.config (UI\\config\\LocalizedSettings.config), markets which have syndication enabled (isSyndicationOptEnabled=\"true\")\r\n*/\r\nconst marketsSyndicationOptEnabled = [{\r\n Language: 'French',\r\n Market: 'CA',\r\n}, {\r\n Language: 'French',\r\n Market: 'FR',\r\n}, {\r\n Language: 'English',\r\n Market: 'CA',\r\n}, {\r\n Language: 'English',\r\n Market: 'GB',\r\n}, {\r\n Language: 'English',\r\n Market: 'IE',\r\n}, {\r\n Language: 'English',\r\n Market: 'US',\r\n}, {\r\n Language: 'English',\r\n Market: 'AU',\r\n}, {\r\n Language: 'German',\r\n Market: 'DE',\r\n}, {\r\n Language: 'Norwegian',\r\n Market: 'NO',\r\n}].concat(_.result(config.get('Permissions'), 'IsSyndOptOutToEuropeanAndIndiaEnabled') ?\r\n [{\r\n Language: 'Italian',\r\n Market: 'IT', // Italy\r\n }, {\r\n Language: 'Spanish',\r\n Market: 'ES', // Spain\r\n }, {\r\n Language: 'Dutch',\r\n Market: 'NL', // Netherlands\r\n }, {\r\n Language: 'Swedish',\r\n Market: 'SE', // Sweden\r\n }, {\r\n Language: 'Danish',\r\n Market: 'DK', // Denmark\r\n }, {\r\n Language: 'German',\r\n Market: 'AT', // Austria\r\n }, {\r\n Language: 'France',\r\n Market: 'BE', // Belgium\r\n }, {\r\n Language: 'Finnish',\r\n Market: 'FI', // Finland\r\n }, {\r\n Language: 'English',\r\n Market: 'IN', // India\r\n }] :\r\n []);\r\n\r\nconst isSponsoredPilotEnabled = pageContext && pageContext.Permissions && pageContext.Permissions.IsSPAv2Enabled;\r\nconst isSponsoredPromotionsByBrandsEnabled = pageContext && pageContext.Permissions && pageContext.Permissions.dynamic && pageContext.Permissions.dynamic.SponsoredPromotionsByBrands;\r\nconst isSpaViaNewMmcApiEnabled = pageContext && pageContext.Permissions && pageContext.Permissions.dynamic && pageContext.Permissions.dynamic.SpaViaNewMmcApi;\r\nconst isWindowsStoreAdsManualCPAEnabled = pageContext && pageContext.Permissions && pageContext.Permissions.dynamic && pageContext.Permissions.dynamic.WindowsStoreAdsManualCPA;\r\n\r\n/*For multiple campaign, it will first try to get it from adgorup langauge\r\n When adgroup language is null, it will then go back to campaign languages\r\n*/\r\nfunction syndLanguageSupported(language, languages) {\r\n const syndShownForAllLanguages = Boolean(_.result(config.get('Permissions'), 'IsSyndShownForAllLanguages'));\r\n\r\n if (syndShownForAllLanguages) {\r\n return true;\r\n }\r\n\r\n const languageSets = language ? [language] : languages || [];\r\n\r\n return _.isEmpty(languageSets) || _.contains(languageSets, 'All') ?\r\n true :\r\n _.any(languageSets, (lang) => {\r\n return _.contains(_.pluck(marketsSyndicationOptEnabled, 'Language'), lang);\r\n });\r\n}\r\n\r\nexport default class View extends Backbone.View {\r\n initialize({\r\n AdDistribution = syndEnum.BingYahooAndSearchPartners,\r\n Medium = '',\r\n Language = '',\r\n Languages = [],\r\n campaignType = 'search',\r\n campaignSubType = null,\r\n level = 'campaign',\r\n activityLogger,\r\n onChange,\r\n isSPBCampaign = false,\r\n isMSStoreAdsGAWorkflow,\r\n } = {}) {\r\n this.viewModel = new ViewModel({\r\n AdDistribution,\r\n Medium,\r\n campaignType,\r\n campaignSubType,\r\n showSynd: syndLanguageSupported(Language, Languages),\r\n isSPBCampaign,\r\n isMSStoreAdsGAWorkflow,\r\n });\r\n this.isMSStoreAdsGAWorkflow = isMSStoreAdsGAWorkflow;\r\n\r\n this.level = level;\r\n this.languages = Languages;\r\n this.campaignType = campaignType;\r\n\r\n this.isSponsoredCampaign = (isSponsoredPilotEnabled && config.get('CampaignObjective') === 'SponsoredShoppingCampaign') || campaignSubType === 'ShoppingSponsoredProductAd';\r\n this.isMicrosoftStoreAd = isMSStoreAdsGAWorkflow;\r\n\r\n this.viewModel.Medium.searchSelected.subscribe((value) => {\r\n this.trigger('search:change', value);\r\n });\r\n\r\n this.viewModel.AdDistribution.subscribe((value) => {\r\n if (activityLogger) {\r\n activityLogger.signal('ad distribution changed', 'ad distribution');\r\n }\r\n\r\n if (_.isFunction(onChange)) {\r\n onChange(value);\r\n }\r\n });\r\n\r\n this.viewModel.isSPBCampaign.subscribe(this.onSponsoredCampaignTypeChange, this);\r\n }\r\n\r\n render() {\r\n let template;\r\n\r\n const isDeprecateSyndicationSearchOnly = Boolean(_.get(config.get('Permissions'), ['dynamic', 'DeprecateSyndicationSearchOnly']));\r\n const isSyndicationSearchOnlyWhitelist = Boolean(_.get(config.get('Permissions'), ['dynamic', 'SyndicationSearchOnlyWhitelist']));\r\n const option = this.viewModel.AdDistribution();\r\n const isSyndicationSearchOnlyChecked = option === syndEnum.SearchPartnersOnly;\r\n\r\n const coreTemplateParams = {\r\n appendLearnMoreLink,\r\n i18n,\r\n nativeAdsAllowed: Boolean(_.result(config.get('Permissions'), 'IsNativeAdsAllowed')),\r\n isMSStoreAdsGAWorkflow: this.isMSStoreAdsGAWorkflow,\r\n showSyndicationSearchOnly: !isDeprecateSyndicationSearchOnly || isSyndicationSearchOnlyWhitelist || isSyndicationSearchOnlyChecked,\r\n };\r\n\r\n if (this.isMSStoreAdsGAWorkflow || (this.isSponsoredCampaign && this.isMicrosoftStoreAd && isWindowsStoreAdsManualCPAEnabled)) {\r\n // Windows store ads with manual CPA enabled\r\n template = templateWinStoreAdsCpa(coreTemplateParams);\r\n } else if (!this.isMicrosoftStoreAd && this.isSponsoredCampaign && (isSponsoredPromotionsByBrandsEnabled || isSpaViaNewMmcApiEnabled)) {\r\n // SPA/SPB with new MMC API\r\n template = templateSpaSpb(coreTemplateParams);\r\n } else {\r\n // All other campaigns (including old WindowsStoreAds and old SPA path)\r\n template = templateDefault(_.extend(coreTemplateParams, {\r\n isSponsoredCampaign: this.isSponsoredCampaign,\r\n isMicrosoftStoreAd: this.isMicrosoftStoreAd,\r\n adDistribution: this.viewModel.AdDistribution(),\r\n showSyndicationSearchOnly: isSyndicationSearchOnlyChecked || (isSyndicationSearchOnlyWhitelist && _.includes(['search', 'shopping', 'hotel'], this.campaignType)),\r\n }));\r\n }\r\n\r\n this.$el.html(template);\r\n\r\n ko.applyBindings(this.viewModel, this.el);\r\n\r\n return this;\r\n }\r\n\r\n onSponsoredCampaignTypeChange(isSPBCampaign) {\r\n this.setInHouseStatus(!isSPBCampaign);\r\n }\r\n\r\n setIsSponsoredCampaignCashbackEnabled(isEnabled) {\r\n this.viewModel.isSPBCampaign(isEnabled);\r\n }\r\n\r\n getTranslatedOption() {\r\n const option = this.viewModel.AdDistribution();\r\n\r\n switch (option) {\r\n case syndEnum.BingYahooOnly:\r\n return i18n.get('SyndicationType_MicrosoftSitesAndPartnerNetwork_Endor');\r\n case syndEnum.SearchPartnersOnly:\r\n return i18n.get('SyndicationType_OnlySyndicatedPartnerNetwork_Endor');\r\n case syndEnum.BingYahooAndSearchPartners:\r\n default:\r\n return i18n.get('SyndicationType_EntireMicrosoftAdvertisingNetwork_Endor');\r\n }\r\n }\r\n\r\n getValues() {\r\n return this.viewModel.toObject();\r\n }\r\n\r\n validate() {\r\n return this.viewModel.validate();\r\n }\r\n\r\n toObject() {\r\n let params = this.viewModel.toObject();\r\n\r\n if (!this.viewModel.Medium.searchSelected()) {\r\n params = _.omit(params, 'AdDistribution');\r\n }\r\n\r\n return params;\r\n }\r\n\r\n /*called in new campaign creation step4:\r\n 1) update syndication status\r\n 2) update contentNetwork checkbox status\r\n language will be array in campaign multiple langauge (pilot feature)\r\n */\r\n update(language) {\r\n const isMultipleLanguage = _.isArray(language);\r\n let criterions = jsdata.Intermediate.getAll('CampaignCriterion');\r\n let adgroupLanguage = isMultipleLanguage ? null : language;\r\n\r\n if (isMultipleLanguage) {\r\n this.languages = language;\r\n }\r\n\r\n this.viewModel.showSynd(syndLanguageSupported(adgroupLanguage, this.languages));\r\n this.isSyndOptionAllowed(adgroupLanguage, criterions);\r\n }\r\n\r\n isLocationTargetingsAllowed(language, criterions) {\r\n //First get the included location targetings\r\n const includedTargets = _.filter(criterions, (criterion) => {\r\n return criterion.SelectionStatus === LocationTargetTypes.Included;\r\n });\r\n const locationPublisherCountryMap = languageBundle.getLanguageLocationPublisherCountryData(language ? language : this.languages);\r\n\r\n if (_.isEmpty(includedTargets) || !locationPublisherCountryMap) {\r\n //target everywhere or locationPublisherCountryMap is null, then only use language to check\r\n return true;\r\n }\r\n\r\n let langmarketSelection = [];\r\n const locationTargets = _.filter(includedTargets, (target) => {\r\n return target.Criterion.Type === 'Location';\r\n });\r\n\r\n if (_.isEmpty(locationTargets)) {\r\n //If all the targetings are radius targeting, use the non-supported publisher countries\r\n langmarketSelection = locationPublisherCountryMap.NoSupported;\r\n } else {\r\n _.each(locationTargets, (location) => {\r\n const criterion = location.Criterion.LocationCriterion;\r\n const publisherCountries = locationPublisherCountryMap[criterion.CountryCode] || locationPublisherCountryMap.NoSupported;\r\n\r\n langmarketSelection = langmarketSelection.concat(publisherCountries);\r\n });\r\n }\r\n\r\n const supportedCountries = _.pluck(_.filter(marketsSyndicationOptEnabled, (pair) => {\r\n return language ? pair.Language === language :\r\n (_.contains(this.languages, pair.Language) || _.contains(this.languages, 'All')); //eslint-disable-line\r\n }), 'Market');\r\n\r\n return _.some(_.intersection(supportedCountries, langmarketSelection));\r\n }\r\n\r\n isSyndOptionAllowed(language, criterions) {\r\n const syndShownForAllLanguages = Boolean(_.result(config.get('Permissions'), 'IsSyndShownForAllLanguages'));\r\n\r\n if (syndShownForAllLanguages) {\r\n this.viewModel.showSynd(true);\r\n this.viewModel.syndAllowed(true);\r\n return;\r\n }\r\n\r\n let isSyndOptionEnabled = syndLanguageSupported(language, this.languages);\r\n\r\n this.viewModel.showSynd(isSyndOptionEnabled);\r\n\r\n //first check language, if language supports, then check location targetings user selected\r\n isSyndOptionEnabled = isSyndOptionEnabled && this.isLocationTargetingsAllowed(language, criterions);\r\n\r\n this.viewModel.syndAllowed(isSyndOptionEnabled);\r\n\r\n if (!isSyndOptionEnabled) {\r\n this.viewModel.AdDistribution(syndEnum.BingYahooAndSearchPartners);\r\n }\r\n }\r\n\r\n // in BSC adgroup creation page: Will be visible when: 1) it is co-op bsc campaign 2) bid value option 3) In In-House pilot\r\n setInHouseStatus(isVisible) {\r\n this.viewModel.showInHouse(isVisible);\r\n\r\n if (!isVisible && this.viewModel.AdDistribution() === syndEnum.InHousePromotion) {\r\n this.viewModel.AdDistribution(syndEnum.BingYahooAndSearchPartners);\r\n }\r\n }\r\n}\r\n","import _ from 'underscore';\r\nimport koSchema from '@bingads-webui-component-legacy/ko-schema/index';\r\n\r\nconst s$AdGroup = window.globalLegacySchema.get('AdGroup');\r\n\r\nexport default class ViewModel {\r\n constructor(AdRotation = 'OptimizeForClicks', disableRotationOptions) {\r\n koSchema.properties(this, s$AdGroup, ['AdRotation'], {\r\n AdRotation,\r\n });\r\n _.extend(this, { disableRotationOptions });\r\n }\r\n}\r\n","import ko from 'knockout';\r\nimport Backbone from 'backbone';\r\nimport ViewModel from '@bingads-webui-campaign-legacy/advanced-settings/viewmodel/ad-rotation';\r\nimport template from '@bingads-webui-campaign-legacy/advanced-settings/template/ad-rotation.pug';\r\n\r\nconst i18n = window.globalLegacyI18n.get('component/i18n/loader!campaignui/campaign-creation-advanced');\r\n\r\nexport default class View extends Backbone.View {\r\n initialize(AdRotation = 'OptimizeForClicks', disableRotationOptions) {\r\n this.viewModel = new ViewModel(AdRotation, disableRotationOptions);\r\n }\r\n\r\n render() {\r\n this.$el.html(template({i18n}));\r\n ko.applyBindings(this.viewModel, this.el);\r\n\r\n return this;\r\n }\r\n\r\n getValues() {\r\n return this.viewModel.toObject();\r\n }\r\n\r\n validate() {\r\n return this.viewModel.validate();\r\n }\r\n}\r\n","import ko from 'knockout';\r\nimport _ from 'underscore';\r\nimport pageContext from '@bingads-webui-static-legacy/page-context';\r\nimport config from '@bingads-webui-component-legacy/config/index';\r\nimport state from '@bingads-webui-component-legacy/state/index';\r\nimport types from '@bingads-webui-campaign-legacy/bidding-strategy/bidding-strategy-type';\r\n\r\nexport default class ViewModel {\r\n constructor({\r\n model = {},\r\n scenarioToSectionsMap = {},\r\n scenario = 'creation-workflow',\r\n editModel = false,\r\n collapseAdvancedSettings = false,\r\n campaignType = 'search',\r\n isFinalURLSuffixEnabled,\r\n isMSStoreAdsGAWorkflow,\r\n activityLogger,\r\n } = {}) {\r\n\r\n this.model = model;\r\n this.campaignType = campaignType;\r\n this.isNewUI = config.get('IsNewUI');\r\n this.isAdvancedSettingsExpanded = ko.observable(editModel && !collapseAdvancedSettings);\r\n this.isExclusionsExpanded = ko.observable(this.isNewUI && editModel && !collapseAdvancedSettings);\r\n this.isFinalURLSuffixEnabled = ko.observable(isFinalURLSuffixEnabled);\r\n this.biddingScheme = ko.observable(_.result(_.result(this.model, 'BiddingScheme'), 'Type'));\r\n this.activityLogger = activityLogger;\r\n\r\n this.shouldShowSection = (sectionName) => {\r\n return _.contains(scenarioToSectionsMap[scenario], sectionName);\r\n };\r\n\r\n let allSections = _.uniq(_.flatten(_.values(scenarioToSectionsMap)));\r\n\r\n _.each(allSections, (sectionName) => {\r\n this[`show${sectionName}`] = ko.observable(this.shouldShowSection(sectionName));\r\n this[`infoText${sectionName}`] = ko.observable();\r\n }, this);\r\n this.infoTextDemographicTargets = ko.observable();\r\n\r\n //overrides\r\n this.showUrlOptions(this.showUrlOptions() &&\r\n (campaignType !== 'shopping' || this.isUpgradedUrlsForBscSettingsEnabled(campaignType)) && !isMSStoreAdsGAWorkflow);\r\n\r\n this.showNativeAds(this.showNativeAds() &&\r\n _.result(config.get('Permissions'), 'IsNativeAdsAllowed') &&\r\n !_.result(config.get('Permissions'), 'IsEnabledForAutoBiddingForAudienceNetwork') &&\r\n (campaignType === 'search' || campaignType === 'shopping'));\r\n\r\n this.showMultimediaAds = ko.observable(pageContext.Permissions.IsMultiMediaAdsEnabled && campaignType === 'search' &&\r\n (!pageContext.Permissions.IsDomesticSimplifiedChineseEnabled || (pageContext.Permissions.IsDomesticSimplifiedChineseEnabled && pageContext.Permissions.dynamic.MMAForCN)));\r\n\r\n this.showAdSchedule(this.showAdSchedule());\r\n this.showDemographicTargets = ko.computed(() => {\r\n if (campaignType === 'audience') {\r\n return false;\r\n } else {\r\n return this.showAgeTargets() || this.showGenderTargets();\r\n }\r\n }, this);\r\n this.showTargetsSection = ko.computed(() => {\r\n return this.showAdSchedule() || this.showDeviceTargets() || this.showDemographicTargets();\r\n }, this);\r\n this.showOtherSettingsSection = ko.computed(() => {\r\n return this.showNativeAds() || this.showAdRotation() || this.showAdDistribution() || this.showMultimediaAds();\r\n }, this);\r\n this.showExclusions = ko.computed(() => {\r\n return this.showSiteExclusion() || this.showIPExclusion();\r\n }, this);\r\n\r\n this.biddingScheme.subscribe((value) => {\r\n this.showSearchCampaignPredictiveMatching(this.shouldShowSearchCampaignPredictiveMatching(value));\r\n }, this);\r\n\r\n this.showVanityUrlSettings(this.showVanityUrlSettings() &&\r\n pageContext.Permissions.IsVanityUrlEnabled && pageContext.Permissions.dynamic.VanityUrlWebsiteDescription &&\r\n campaignType === 'search');\r\n if (this.showVanityUrlSettings()) {\r\n this.vanityUrlSettings = ko.observable(_.find(this.model.CampaignSettings, (setting) => setting['@odata.type'] === '#Model.VanityPharmaSetting') || {\r\n DisplayUrlMode: 'ManufacturerWebsiteUrl',\r\n WebsiteDescription: 'Unspecified',\r\n });\r\n }\r\n\r\n this.showSearchCampaignPredictiveMatching = ko.observable(this.shouldShowSearchCampaignPredictiveMatching(this.biddingScheme()));\r\n const predictiveTargetingSettings = _.find(model.CampaignSettings, (setting) => setting['@odata.type'] === '#Model.PredictiveTargetingSetting') || {};\r\n\r\n this.predictiveMatchingChecked = ko.observable(predictiveTargetingSettings.PredictiveTargetingEnabled || false);\r\n this.predictiveMatchingChecked.subscribe((value) => {\r\n if (this.activityLogger) {\r\n this.activityLogger.signal(`set predictive matching: ${value}`, 'advanced-settings');\r\n }\r\n });\r\n }\r\n\r\n shouldShowSearchCampaignPredictiveMatching(biddingSchema) {\r\n const isSearchCampaign = this.campaignType === 'search';\r\n const isPredictiveMatchingEnabled = _.result(pageContext && pageContext.Permissions && pageContext.Permissions.dynamic, 'PredictiveMatching', false);\r\n\r\n const isBidstrategySupport = [\r\n types.targetCpa,\r\n types.targetRoas,\r\n types.maximizeConversions,\r\n ].includes(biddingSchema);\r\n\r\n return this.showPredictiveMatching() && isSearchCampaign && isPredictiveMatchingEnabled && isBidstrategySupport;\r\n }\r\n\r\n isUpgradedUrlsForBscSettingsEnabled(campaignType) {\r\n //test usage - enable native ads for specific bing shopping campaign\r\n return campaignType === 'shopping' && (\r\n (state.get('customer_id') === '11270641' && state.get('account_id') === '3096017') ||\r\n _.result(config.get('Permissions'), 'IsUpgradedUrlsForBscSettingsEnabled'));\r\n }\r\n}\r\n","/*eslint new-cap:0 */\r\nimport ko from 'knockout';\r\n\r\nexport default class ViewModel {\r\n constructor() {\r\n this.autoMatedCTAEnabled = ko.observable(true);\r\n this.showAutoMatedCTA = ko.observable(false);\r\n }\r\n}\r\n\r\n","/*eslint new-cap:0 */\r\nimport ko from 'knockout';\r\nimport _ from 'underscore';\r\nimport Backbone from 'backbone';\r\nimport ViewModel from '@bingads-webui-campaign-legacy/advanced-settings/viewmodel/automated-cta';\r\nimport template from '@bingads-webui-campaign-legacy/advanced-settings/template/automated-cta.pug';\r\nimport pageContext from '@bingads-webui-static-legacy/page-context';\r\n\r\nconst i18n = window.globalLegacyI18n.get('component/i18n/loader!campaignui/campaign-creation-advanced');\r\n\r\nexport default class View extends Backbone.View {\r\n initialize({\r\n callToActionSetting,\r\n scenario,\r\n activityLogger}) {\r\n this.viewModel = new ViewModel();\r\n this.callToActionSetting = callToActionSetting;\r\n this.activityLogger = activityLogger;\r\n this.scenario = scenario;\r\n }\r\n\r\n\r\n showAutoMatedCTA() {\r\n return Boolean(_.result(pageContext.Permissions, 'IsMMAAutomatedCTAOptInEnabled', false)) && this.scenario === 'campaign-settings';\r\n }\r\n\r\n initAutomatedCTA() {\r\n if (this.showAutoMatedCTA()) {\r\n this.viewModel.showAutoMatedCTA(true);\r\n if (this.callToActionSetting && this.callToActionSetting.AutomatedCallToActionOptOut) {\r\n this.viewModel.autoMatedCTAEnabled(false);\r\n }\r\n this.viewModel.autoMatedCTAEnabled.subscribe((checked) => {\r\n if (this.activityLogger) {\r\n this.activityLogger.signal(`autoMatedCTAEnabled:${checked}`, 'autoMatedCTA');\r\n }\r\n });\r\n }\r\n }\r\n\r\n getValues() {\r\n const isChanged = (this.callToActionSetting && this.callToActionSetting.AutomatedCallToActionOptOut !== !this.viewModel.autoMatedCTAEnabled()) || (!this.callToActionSetting && !this.viewModel.autoMatedCTAEnabled());\r\n\r\n return isChanged ? {\r\n AutomatedCallToActionOptOut: !this.viewModel.autoMatedCTAEnabled(),\r\n } : {};\r\n }\r\n\r\n render() {\r\n this.initAutomatedCTA();\r\n this.$el.html(template({i18n}));\r\n\r\n ko.applyBindings(this.viewModel, this.el);\r\n\r\n return this;\r\n }\r\n\r\n}\r\n","import Backbone from 'backbone';\r\nimport _ from 'underscore';\r\nimport ko from 'knockout';\r\nimport $ from 'jquery';\r\nimport React from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport Promise from 'bluebird';\r\nimport pageContext from '@bingads-webui-static-legacy/page-context';\r\nimport ViewModel from '@bingads-webui-campaign-legacy/advanced-settings/viewmodel/advancedSettings';\r\nimport tmpl from '@bingads-webui-campaign-legacy/advanced-settings/template/advancedSettings.pug';\r\nimport urlOptionsTemplate from '@bingads-webui-campaign-legacy/advanced-settings/template/url-options.pug';\r\nimport '@bingads-webui-campaign/ko-stop-binding';\r\nimport BaseTargetUpdateView from '@bingads-webui-campaign-legacy/base-targets/view/baseUpdate';\r\nimport LocationTargetBidView from '@bingads-webui-campaign-legacy/location-targets/view/locationTargetBid';\r\nimport * as locationTargetTypes from '@bingads-webui-campaign-legacy/location-targets/util/locationTargetTypes';\r\nimport AdScheduleView from '@bingads-webui-campaign-legacy/ad-schedule/view/index';\r\nimport targetTypes from '@bingads-webui-campaign-legacy/base-targets/viewmodel/targetTypes';\r\nimport targetConstants from '@bingads-webui-campaign-legacy/base-targets/viewmodel/targetConstants';\r\nimport * as criterionLoader from '@bingads-webui-campaign-legacy/base-targets/util/criterionLoader';\r\nimport currentCampaignType from '@bingads-webui-campaign-legacy/adgroup-create-advanced/util/campaignType';\r\nimport UpgradedUrlOptions from '@bingads-webui-component-legacy/upgraded-url/view/advancedSettingsUrlOptions';\r\nimport AdRotationView from '@bingads-webui-campaign-legacy/advanced-settings/view/ad-rotation';\r\nimport AdDistributionView from '@bingads-webui-campaign-legacy/advanced-settings/view/ad-distribution';\r\nimport BaseExclusionView from '@bingads-webui-campaign-legacy/advanced-settings/view/base-exclusion';\r\nimport exclusionRepository from '@bingads-webui-campaign-legacy/advanced-settings/util/exclusion-repository';\r\nimport jsdata from '@bingads-webui-component-legacy/js-data-campaign/index';\r\nimport config from '@bingads-webui-component-legacy/config/index';\r\nimport decimal from '@bingads-webui-component-legacy/humanize/decimal';\r\nimport AutomatedCTAView from '@bingads-webui-campaign-legacy/advanced-settings/view/automated-cta';\r\nimport { VanityUrlOption } from '@bingads-webui-campaign-react/vanity-url-option';\r\n\r\nconst i18n = window.globalLegacyI18n.get('component/i18n/loader!campaignui/campaign-creation-advanced');\r\n\r\nconst scenarioToSectionsMap = {\r\n 'creation-workflow': ['PredictiveMatching', 'LocationTargets', 'DeviceTargets', 'AdSchedule', 'NativeAds', 'DateSettings', 'AdDistribution', pageContext.Permissions.IsMultiMediaAdsEnabled && 'MultimediaAds'],\r\n 'shopping-creation-workflow': ['DeviceTargets', 'AdSchedule', 'DateSettings', 'AdDistribution'],\r\n 'campaign-settings': ['PredictiveMatching', 'DeviceTargets', 'AgeTargets', 'GenderTargets', 'NativeAds', 'AdSchedule', 'UrlOptions', 'SiteExclusion', 'IPExclusion', 'VanityUrlSettings', pageContext.Permissions.IsMultiMediaAdsEnabled && 'MultimediaAds'],\r\n 'adgroup-create': ['DeviceTargets', 'AdSchedule', 'NativeAds', 'DateSettings', 'AdDistribution', pageContext.Permissions.IsMultiMediaAdsEnabled && 'MultimediaAds'],\r\n 'adgroup-settings': ['DeviceTargets', 'AgeTargets', 'GenderTargets', 'NativeAds', 'AdSchedule', 'UrlOptions', 'AdRotation', 'DateSettings', 'AdDistribution', 'SiteExclusion', pageContext.Permissions.IsMultiMediaAdsEnabled && 'MultimediaAds'],\r\n 'smart-shopping-campaign': ['UrlOptions'],\r\n};\r\n\r\n_.each(scenarioToSectionsMap, (sections, scenario) => {\r\n scenarioToSectionsMap[scenario] = _.compact(sections);\r\n});\r\n\r\nconst defaultPopupIds = {\r\n AdSchedule: 'pop_BA_Targeting_DayTime',\r\n BidAdjustment: 'Page_TargetByDayTime_BidAdjustment',\r\n TimeZone: 'pop_BA_Targeting_TimeZone',\r\n};\r\n\r\nexport default class View extends Backbone.View {\r\n initialize({\r\n campaignId = '',\r\n adgroupId = '',\r\n level = 'campaign',\r\n scenario = 'creation-workflow',\r\n nativeAdsCampaignBid = null,\r\n nativeAdsAdgroupBid = null,\r\n multimediaAdsCampaignBid = null,\r\n multimediaAdsAdgroupBid = null,\r\n model = {},\r\n TimeZone = '',\r\n campaignType = 'search',\r\n campaignSubType = null,\r\n language = '',\r\n languages = [],\r\n campaignBiddingStrategy = '',\r\n campaignAdScheduleUseSearcherTimeZone = null,\r\n collapseAdvancedSettings = false,\r\n activityLogger,\r\n supportCashbackSettings = false,\r\n isSPBCampaign = false,\r\n isMSStoreAdsGAWorkflow = false,\r\n popupIds = {},\r\n newI18n,\r\n }) {\r\n this.campaignId = campaignId;\r\n this.adgroupId = adgroupId;\r\n this.level = level;\r\n this.scenario = scenario;\r\n this.scenarioToSectionsMap = scenarioToSectionsMap;\r\n this.nativeAdsAdgroupBid = nativeAdsAdgroupBid;\r\n this.nativeAdsCampaignBid = nativeAdsCampaignBid;\r\n this.multimediaAdsCampaignBid = multimediaAdsCampaignBid;\r\n this.multimediaAdsAdgroupBid = multimediaAdsAdgroupBid;\r\n this.isNativeAdsRebrandingEnabled = pageContext.Permissions.IsNativeAdsRebrandingEnabled;\r\n this.isMultiMediaAdsEnabled = pageContext.Permissions.IsMultiMediaAdsEnabled;\r\n this.timeZone = TimeZone;\r\n this.model = model;\r\n this.campaignType = pageContext.CurrentCampaign ? currentCampaignType() : campaignType;\r\n this.campaignSubType = campaignSubType;\r\n this.collapseAdvancedSettings = collapseAdvancedSettings;\r\n this.isNewUI = config.get('IsNewUI');\r\n this.activityLogger = activityLogger;\r\n this.campaignAdScheduleUseSearcherTimeZone = campaignAdScheduleUseSearcherTimeZone;\r\n this.supportCashbackSettings = supportCashbackSettings;\r\n this.isMSStoreAdsGAWorkflow = isMSStoreAdsGAWorkflow;\r\n this.popupIds = _.defaults({}, popupIds, defaultPopupIds);\r\n this.newI18n = newI18n;\r\n\r\n this.editMode = !_.isEmpty(this.model);\r\n const entityType = this.level ? this.level.toLowerCase() : '';\r\n\r\n let isFinalURLSuffixEnabled = false;\r\n const finalUrlSuffixEnabledEntities = ['campaign', 'adgroup', 'keyword', 'ad', 'audience'];\r\n // to be conversative, enabling to only these two extensions known to use the advanced URL.\r\n const finalUrlSuffixPhase3EnabledEntities = ['imageadextension', 'sitelink2adextension'];\r\n\r\n if (finalUrlSuffixEnabledEntities.indexOf(entityType) >= 0) {\r\n isFinalURLSuffixEnabled = true;\r\n } else if (finalUrlSuffixPhase3EnabledEntities.indexOf(entityType) >= 0) {\r\n isFinalURLSuffixEnabled = pageContext.Permissions.IsFinalURLSuffixPhase3Enabled;\r\n }\r\n\r\n this.viewmodel = new ViewModel({\r\n scenarioToSectionsMap,\r\n scenario,\r\n level: this.level,\r\n campaignType: this.campaignType,\r\n isFinalURLSuffixEnabled,\r\n collapseAdvancedSettings,\r\n isMSStoreAdsGAWorkflow: this.isMSStoreAdsGAWorkflow,\r\n model: this.model,\r\n activityLogger: this.activityLogger,\r\n });\r\n\r\n this.subViews = {};\r\n\r\n if (this.viewmodel.showAdRotation()) {\r\n const biddingScheme = _.result(_.result(this.model, 'BiddingScheme'), 'Type');\r\n const disableRotationOptions = (biddingScheme === 'InheritFromParent') &&\r\n _.contains(['MaxClicks', 'MaxConversions', 'TargetCpa'], campaignBiddingStrategy);\r\n\r\n this.adRotationView = new AdRotationView(_.result(_.result(this.model, 'AdRotation'), 'RotationType'), disableRotationOptions);\r\n }\r\n\r\n if (this.viewmodel.showAdDistribution()) {\r\n this.adDistributionView = new AdDistributionView(\r\n _.extend(_.defaults(_.pick(this.model, 'AdDistribution', 'Medium', 'Language'), {\r\n campaignType,\r\n Language: language,\r\n campaignSubType,\r\n activityLogger: this.activityLogger,\r\n isSPBCampaign,\r\n isMSStoreAdsGAWorkflow: this.isMSStoreAdsGAWorkflow,\r\n }), { Languages: languages }));\r\n }\r\n }\r\n\r\n setIsSponsoredCampaignCashbackEnabled(isEnabled) {\r\n if (this.adDistributionView) {\r\n this.adDistributionView.setIsSponsoredCampaignCashbackEnabled(isEnabled);\r\n }\r\n }\r\n\r\n updateLocationTargetsVisibility(entities) {\r\n if (!_.contains(scenarioToSectionsMap[this.scenario], 'LocationTargets')) {\r\n this.viewmodel.showLocationTargets(false);\r\n return;\r\n }\r\n const includedLocations = _.filter(entities, (entity) => {\r\n return entity.SelectionStatus === locationTargetTypes.Included;\r\n });\r\n\r\n this.viewmodel.showLocationTargets(includedLocations.length > 0);\r\n }\r\n\r\n updateLocationTargetsInfoText(entities) {\r\n if (entities.length > 0) {\r\n this.viewmodel.infoTextLocationTargets('');\r\n } else {\r\n this.viewmodel.infoTextLocationTargets(i18n.get('LocationTargeting_TargetEverywhere'));\r\n }\r\n }\r\n\r\n onSelectedBidStrategyChange(value) {\r\n this.viewmodel.biddingScheme(value);\r\n }\r\n\r\n render() {\r\n this.$el.html(tmpl({\r\n i18n,\r\n title: this.title,\r\n level: this.level,\r\n isNotAudienceCampaign: this.isNotAudienceCampaign(),\r\n isNativeAdsRebrandingEnabled: this.isNativeAdsRebrandingEnabled,\r\n isMultiMediaAdsEnabled: this.isMultiMediaAdsEnabled,\r\n isNewUI: this.isNewUI,\r\n isMSStoreAdsGAWorkflow: this.isMSStoreAdsGAWorkflow,\r\n popupIds: this.popupIds,\r\n }));\r\n ko.applyBindings(this.viewmodel, this.el);\r\n\r\n this.loadAndRenderTargets();\r\n this.renderLocationTargets();\r\n this.loadAndRenderAdSchedule();\r\n this.loadAndRenderNativeAds();\r\n this.renderUpgradedUrlOptions();\r\n this.renderVanityUrlSettings();\r\n this.loadAndRenderExclusions();\r\n this.renderOtherSettings();\r\n\r\n if (this.editMode && !this.collapseAdvancedSettings) {\r\n this.$('#setAdvancedSettings').collapse('show');\r\n\r\n if (this.isNewUI) {\r\n this.$('#setExclusions').collapse('show');\r\n }\r\n }\r\n\r\n if (!this.isNotAudienceCampaign()) {\r\n jsdata.Intermediate.subscribe('CampaignCriterion', () => {\r\n if (this.level === 'campaign') {\r\n this.updateLocationTargetsVisibility(jsdata.Intermediate.getAll('CampaignCriterion'));\r\n }\r\n });\r\n }\r\n\r\n return this;\r\n }\r\n\r\n get title() {\r\n const isExperiment = _.result(pageContext.CurrentCampaign, 'ExperimentId') > 0;\r\n\r\n if (this.level === 'campaign' && isExperiment) {\r\n return i18n.get('Section_Advanced_ExperimentSettings');\r\n } else if (this.level === 'campaign' && !isExperiment) {\r\n return i18n.get('Targeting_AdvancedOptions_AdvancedCampaignSettings');\r\n } else {\r\n return i18n.get('Targeting_AdvancedOptions_AdvancedAdgroupSettings');\r\n }\r\n }\r\n\r\n get events() {\r\n return {\r\n 'show.bs.collapse': 'showAdvancedSettings',\r\n 'hide.bs.collapse': 'hideAdvancedSettings',\r\n };\r\n }\r\n\r\n showAdvancedSettings(e) {\r\n const sectionName = $(e.target).data('section');\r\n\r\n if (sectionName === 'Advanced') {\r\n this.viewmodel.isAdvancedSettingsExpanded(true);\r\n } else if (this.isNewUI && sectionName === 'ExclusionsSection') {\r\n this.viewmodel.isExclusionsExpanded(true);\r\n } else if (this.activityLogger) {\r\n this.activityLogger.signal(`show ${sectionName} settings clicked`, 'advanced settings');\r\n }\r\n }\r\n\r\n hideAdvancedSettings(e) {\r\n const sectionName = $(e.target).data('section');\r\n\r\n if (sectionName === 'Advanced') {\r\n this.viewmodel.isAdvancedSettingsExpanded(false);\r\n } else if (this.isNewUI && sectionName === 'ExclusionsSection') {\r\n this.viewmodel.isExclusionsExpanded(false);\r\n } else if (this.activityLogger) {\r\n this.activityLogger.signal(`hide ${sectionName} settings clicked`, 'advanced settings');\r\n }\r\n }\r\n\r\n loadAndRenderExclusions() {\r\n if (!this.viewmodel.showSiteExclusion() && !this.viewmodel.showIPExclusion()) {\r\n return;\r\n }\r\n\r\n exclusionRepository.load(this.campaignId, this.adgroupId, this.level)\r\n .then(([campaignExclusions, adgroupExclusions]) => {\r\n if (this.viewmodel.showSiteExclusion()) {\r\n const exclusions = this.level === 'campaign' ? campaignExclusions : adgroupExclusions;\r\n\r\n if (this.scenario === 'adgroup-settings' &&\r\n this.level === 'adgroup' &&\r\n this.campaignType === 'shopping' &&\r\n this.campaignSubType === 'ShoppingSponsoredProductAd' &&\r\n !this.isMSStoreAdsGAWorkflow &&\r\n _.isEmpty(_.result(exclusions, 'ExcludedSites'))) {\r\n this.viewmodel.showSiteExclusion(false);\r\n return;\r\n }\r\n\r\n this.siteExclusionView = new BaseExclusionView({\r\n exclusions: _.result(exclusions, 'ExcludedSites'),\r\n exclusionType: 'site',\r\n level: this.level,\r\n campaignExclusions: _.result(campaignExclusions, 'ExcludedSites'),\r\n });\r\n this.$('.site-exclusion').empty().append(this.siteExclusionView.render().el);\r\n this.subViews.SiteExclusion = this.siteExclusionView;\r\n }\r\n\r\n if (this.viewmodel.showIPExclusion()) {\r\n this.ipExclusionView = new BaseExclusionView({\r\n exclusions: _.result(campaignExclusions, 'ExcludedIPs'),\r\n exclusionType: 'ip',\r\n });\r\n this.$('.ip-exclusion').empty().append(this.ipExclusionView.render().el);\r\n this.subViews.IPExclusion = this.ipExclusionView;\r\n }\r\n });\r\n }\r\n\r\n exclusionsUpdated() {\r\n if (!this.viewmodel.showSiteExclusion() && !this.viewmodel.showIPExclusion()) {\r\n return false;\r\n }\r\n\r\n let siteExclusionsUpdated = this.viewmodel.showSiteExclusion() &&\r\n this.siteExclusionView &&\r\n !_.isEqual(this.siteExclusionView.options.exclusions, this.siteExclusionView.getValues());\r\n\r\n let ipExclusionsUpdated = this.viewmodel.showIPExclusion() &&\r\n this.ipExclusionView &&\r\n !_.isEqual(this.ipExclusionView.options.exclusions, this.ipExclusionView.getValues());\r\n\r\n return siteExclusionsUpdated || ipExclusionsUpdated;\r\n }\r\n\r\n saveExtensions() {\r\n if (!this.viewmodel.showSiteExclusion() && !this.viewmodel.showIPExclusion()) {\r\n return {};\r\n }\r\n\r\n const siteExclusions = this.viewmodel.showSiteExclusion() && this.siteExclusionView ? this.siteExclusionView.getValues() : {};\r\n const ipExclusions = this.viewmodel.showIPExclusion() && this.ipExclusionView ? this.ipExclusionView.getValues() : {};\r\n let data = {};\r\n\r\n if (this.level === 'campaign') {\r\n data = {\r\n campaignId: this.campaignId,\r\n AdvanceSettings: {\r\n Exclusions: {\r\n ExcludedSites: siteExclusions,\r\n ExcludedIPs: ipExclusions,\r\n },\r\n },\r\n };\r\n } else {\r\n data = {\r\n AdGroupId: this.adgroupId,\r\n CampaignId: this.campaignId,\r\n AdvancedSettings: {\r\n ExcludedSites: siteExclusions,\r\n },\r\n };\r\n }\r\n\r\n return exclusionRepository.saveExtensions(data, this.level)\r\n .catch((response) => {\r\n if (response.NegativeSitesResult || response.NegativeIPsResult) {\r\n this.showExclusionErrors(response);\r\n\r\n throw 'exclusion error'; //eslint-disable-line\r\n }\r\n });\r\n }\r\n\r\n renderOtherSettings() {\r\n if (pageContext.Permissions.IsMultiMediaAdsEnabled && this.viewmodel.showMultimediaAds()) {\r\n const multimediaAdsOptions = {\r\n MultimediaAdTypeMultimediaAdsBidsCampaignBidAdjustment: this.multimediaAdsCampaignBid ? this.multimediaAdsCampaignBid : targetConstants.multimediaAdDefaultBid,\r\n MultimediaAdTypeMultimediaAdsBidsAdgroupBidAdjustment: this.multimediaAdsAdgroupBid,\r\n };\r\n\r\n this.multimediaAdsUpdateView = new BaseTargetUpdateView(_.extend({\r\n targetType: targetTypes.MultimediaAd,\r\n campaignId: this.campaignId,\r\n adgroupId: this.adgroupId,\r\n level: this.level,\r\n scenario: this.scenario,\r\n activityLogger: this.activityLogger,\r\n }, multimediaAdsOptions));\r\n this.$('.multimedia-ads').empty().html(this.multimediaAdsUpdateView.render().el);\r\n\r\n if (pageContext.Permissions.IsMMAAutomatedCTAOptInEnabled) {\r\n const callToActionSetting = _.find(this.model.CampaignSettings, (setting) => setting['@odata.type'] === '#Model.CallToActionSetting');\r\n\r\n this.automatedCTAView = new AutomatedCTAView({\r\n callToActionSetting,\r\n scenario: this.scenario,\r\n activityLogger: this.activityLogger,\r\n });\r\n this.$('.automated-cta').empty().html(this.automatedCTAView.render().el);\r\n }\r\n }\r\n\r\n if (this.viewmodel.showAdRotation()) {\r\n this.$('.ad-rotation').html(this.adRotationView.render().el);\r\n this.subViews.AdRotation = this.adRotationView;\r\n }\r\n\r\n if (this.viewmodel.showAdDistribution()) {\r\n this.$('.ad-distribution').html(this.adDistributionView.render().el);\r\n this.subViews.AdDistribution = this.adDistributionView;\r\n }\r\n }\r\n\r\n parseSchedulingRows(targets, resetId = false) {\r\n let schedulingRows = [];\r\n\r\n _.each(targets, (target) => {\r\n let criterion = target.Criterion;\r\n let multiplier = target.CriterionBid.Multiplier;\r\n let cashbackPercent = _.chain(target)\r\n .result('CriterionCashback')\r\n .result('CashbackPercent')\r\n .value();\r\n\r\n if (cashbackPercent === -1) {\r\n cashbackPercent = null;\r\n }\r\n\r\n if (cashbackPercent != null) {\r\n cashbackPercent = decimal.fromFloatToString(cashbackPercent, 2);\r\n }\r\n\r\n schedulingRows.push({\r\n Id: resetId ? '' : target.Id,\r\n Day: criterion.Day,\r\n StartHour: criterion.FromHour,\r\n StartMinute: criterion.FromMinute,\r\n EndHour: criterion.ToHour,\r\n EndMinute: criterion.ToMinute,\r\n BidAdjustmentType: multiplier < 0 ? -1 : 1,\r\n BidAdjustmentAmount: window.Math.abs(multiplier),\r\n CashbackPercent: cashbackPercent,\r\n });\r\n });\r\n\r\n return schedulingRows;\r\n }\r\n\r\n loadAndRenderAdSchedule() {\r\n if (!this.campaignId) {\r\n this.renderAdShedule();\r\n return;\r\n }\r\n\r\n if (this.scenario === 'smart-shopping-campaign') {\r\n return;\r\n }\r\n\r\n if (this.level === 'campaign') {\r\n criterionLoader.load(this.campaignId, '', ['DayTimeCriterion'])\r\n .then((campaignTargets) => {\r\n let schedulingRows = this.parseSchedulingRows(campaignTargets, this.scenario === 'adgroup-create');\r\n\r\n this.renderAdShedule(schedulingRows);\r\n });\r\n } else if (this.level === 'adgroup' && (this.scenario === 'adgroup-settings' || this.scenario === 'adgroup-create')) {\r\n Promise.join(\r\n criterionLoader.load(this.campaignId, '', ['DayTimeCriterion']),\r\n this.scenario === 'adgroup-create' ? Promise.resolve() : criterionLoader.load(this.campaignId, this.adgroupId, ['DayTimeCriterion']),\r\n (campaignTargets, adgroupTargets) => {\r\n let schedulingRows = this.parseSchedulingRows(adgroupTargets, false);\r\n let campaignSchedulingRows = this.parseSchedulingRows(campaignTargets, true);\r\n\r\n this.renderAdShedule(schedulingRows, campaignSchedulingRows);\r\n },\r\n );\r\n } else {\r\n this.renderAdShedule([]);\r\n }\r\n }\r\n\r\n renderAdShedule(schedulingRows = [], campaignSchedulingRows = []) {\r\n //rendering ad schedule\r\n if (this.viewmodel.showAdSchedule()) {\r\n let model = {\r\n dayTimeRanges: schedulingRows,\r\n timeZone: this.timeZone,\r\n adScheduleTimeZoneSetting: this.model.AdScheduleTimeZoneSetting,\r\n adScheduleUseSearcherTimeZone: this.model.AdScheduleUseSearcherTimeZone,\r\n startDate: _.result(this.model, 'StartDate'),\r\n endDate: _.result(this.model, 'EndDate'),\r\n adGroupStatus: _.result(this.model, 'Status'),\r\n };\r\n\r\n this.adScheduleView = new AdScheduleView({\r\n model,\r\n level: this.level,\r\n showDateSettings: this.viewmodel.showDateSettings(),\r\n campaignDayTimeRanges: campaignSchedulingRows,\r\n campaignAdScheduleUseSearcherTimeZone: this.campaignAdScheduleUseSearcherTimeZone,\r\n activityLogger: this.activityLogger,\r\n supportCashbackSettings: this.supportCashbackSettings,\r\n popupIds: this.popupIds,\r\n });\r\n\r\n this.$('.ad-schedule').append(this.adScheduleView.render().el);\r\n this.subViews.AdSchedule = this.adScheduleView;\r\n }\r\n }\r\n\r\n renderUpgradedUrlOptions() {\r\n if (this.viewmodel.showUrlOptions()) {\r\n this.upgradedUrlOptions = new UpgradedUrlOptions({\r\n editMode: this.editMode,\r\n entityType: this.level,\r\n trackingTemplate: _.result(this.model, 'TrackingUrlTemplate'),\r\n finalUrlSuffix: _.result(this.model, 'FinalUrlSuffix'),\r\n customParameters: _.isEmpty(this.model.UrlCustomParameters) ? undefined : this.model.UrlCustomParameters,\r\n urlOptionsTemplate,\r\n isNewUI: this.isNewUI,\r\n showUurlTestTool: this.campaignType !== 'shopping' && (this.level === 'campaign' || this.level === 'adgroup'),\r\n campaignId: this.campaignId,\r\n adGroupId: this.adgroupId,\r\n });\r\n\r\n this.$('.upgraded-url-options-settings').empty().html(this.upgradedUrlOptions.render().el);\r\n\r\n this.subViews.UrlOptions = this.upgradedUrlOptions;\r\n }\r\n }\r\n\r\n renderVanityUrlSettings() {\r\n if (this.viewmodel.showVanityUrlSettings()) {\r\n ReactDOM.unmountComponentAtNode(this.$('.vanity-url-option').get(0));\r\n\r\n const props = {\r\n i18n: this.newI18n,\r\n vanityUrlSettings: this.viewmodel.vanityUrlSettings(),\r\n onChange: (settings) => this.viewmodel.vanityUrlSettings(settings),\r\n };\r\n\r\n ReactDOM.render(React.createElement(VanityUrlOption, props, null),\r\n this.$('.vanity-url-option').get(0),\r\n );\r\n }\r\n }\r\n\r\n setData(payload) {\r\n const resourceName = this.level === 'adgroup' ? 'AdGroupCriterions' : 'CampaignCriterions';\r\n\r\n if (!payload) {\r\n return;\r\n }\r\n\r\n // Fill back the data to the view;\r\n if (this.adScheduleView) {\r\n this.adScheduleView.backFillItems(payload.entity ? payload : { entity: payload });\r\n }\r\n\r\n let resources = [];\r\n\r\n if (_.has(payload, 'entity') && _.has(payload.entity, resourceName)) {\r\n resources = payload.entity[resourceName];\r\n } else if (_.has(payload, resourceName)) {\r\n resources = payload[resourceName];\r\n }\r\n _.each(resources, (criterion) => {\r\n\r\n switch (criterion.CriterionType) {\r\n case targetTypes.Device:\r\n case targetTypes.OrignalDevice:\r\n if (this.deviceTargetsUpdateView) {\r\n this.deviceTargetsUpdateView.setData(criterion);\r\n }\r\n break;\r\n case targetTypes.Age:\r\n if (this.ageTargetsUpdateView) {\r\n this.ageTargetsUpdateView.setData(criterion);\r\n }\r\n break;\r\n case targetTypes.Gender:\r\n if (this.genderTargetsUpdateView) {\r\n this.genderTargetsUpdateView.setData(criterion);\r\n }\r\n break;\r\n default:\r\n break;\r\n }\r\n });\r\n }\r\n\r\n getDeviceTypeOptions(campaignBids = {}, adgroupBids = {}) {\r\n const deviceKeys = targetConstants.rowKeys.Device.concat(['Computers']);\r\n\r\n if (pageContext.Permissions.IsOriginalDeviceTargetingEnabled) {\r\n _.each(deviceKeys, (device) => {\r\n _.each(targetConstants.osNames[device], (os) => {\r\n deviceKeys.push(`${device}${os}`);\r\n });\r\n });\r\n }\r\n\r\n let deviceTypeOptions = {};\r\n\r\n _.each(deviceKeys, (device) => {\r\n deviceTypeOptions[`DeviceType${device}CampaignBidAdjustment`] = campaignBids[`Device${device}Bid`] || 0;\r\n deviceTypeOptions[`DeviceType${device}CampaignBidId`] = campaignBids[`Device${device}BidId`] || '';\r\n deviceTypeOptions[`DeviceType${device}AdgroupBidAdjustment`] = adgroupBids[`Device${device}Bid`] || 0;\r\n deviceTypeOptions[`DeviceType${device}AdgroupBidId`] = adgroupBids[`Device${device}BidId`] || '';\r\n\r\n if (pageContext.Permissions.IsPersonalizedOffersEnabled) {\r\n const campaignCashbackPercent = campaignBids[`Device${device}CashbackPercent`];\r\n\r\n deviceTypeOptions[`DeviceType${device}CampaignCashbackPercent`] = campaignCashbackPercent == null ?\r\n campaignCashbackPercent : decimal.fromFloatToString(campaignCashbackPercent, 2);\r\n\r\n const adgroupCashbackPercent = adgroupBids[`Device${device}CashbackPercent`];\r\n\r\n deviceTypeOptions[`DeviceType${device}AdgroupCashbackPercent`] = adgroupCashbackPercent == null ?\r\n adgroupCashbackPercent : decimal.fromFloatToString(adgroupBids[`Device${device}CashbackPercent`], 2);\r\n }\r\n });\r\n return deviceTypeOptions;\r\n }\r\n\r\n getAgeTypeOptions(campaignBids = {}, adgroupBids = {}) {\r\n const ageKeys = targetConstants.rowKeys.Age;\r\n let ageBucketsOptions = {};\r\n\r\n _.each(ageKeys, (bucket) => {\r\n ageBucketsOptions[`AgeType${bucket}CampaignBidAdjustment`] = campaignBids[`Age${bucket}Bid`] || 0;\r\n ageBucketsOptions[`AgeType${bucket}CampaignBidId`] = campaignBids[`Age${bucket}BidId`] || '';\r\n ageBucketsOptions[`AgeType${bucket}AdgroupBidAdjustment`] = adgroupBids[`Age${bucket}Bid`] || 0;\r\n ageBucketsOptions[`AgeType${bucket}AdgroupBidId`] = adgroupBids[`Age${bucket}BidId`] || '';\r\n });\r\n return ageBucketsOptions;\r\n }\r\n\r\n getGenderTypeOptions(campaignBids = {}, adgroupBids = {}) {\r\n const genderKeys = targetConstants.rowKeys.Gender;\r\n let genderTypeOptions = {};\r\n\r\n _.each(genderKeys, (gender) => {\r\n genderTypeOptions[`GenderType${gender}CampaignBidAdjustment`] = campaignBids[`Gender${gender}Bid`] || 0;\r\n genderTypeOptions[`GenderType${gender}CampaignBidId`] = campaignBids[`Gender${gender}BidId`] || '';\r\n genderTypeOptions[`GenderType${gender}AdgroupBidAdjustment`] = adgroupBids[`Gender${gender}Bid`] || 0;\r\n genderTypeOptions[`GenderType${gender}AdgroupBidId`] = adgroupBids[`Gender${gender}BidId`] || '';\r\n });\r\n return genderTypeOptions;\r\n }\r\n\r\n isNotAudienceCampaign() {\r\n return this.campaignType !== 'audience';\r\n }\r\n\r\n renderTargets(campaignBids = {}, adgroupBids = {}) {\r\n //rendering device targets\r\n if (this.viewmodel.showDeviceTargets()) {\r\n let deviceTypeOptions = this.getDeviceTypeOptions(campaignBids, adgroupBids);\r\n\r\n this.deviceTargetsUpdateView = new BaseTargetUpdateView(_.extend({\r\n targetType: pageContext.Permissions.IsOriginalDeviceTargetingEnabled ? targetTypes.OriginalDevice : targetTypes.Device,\r\n campaignId: this.campaignId,\r\n adgroupId: this.adgroupId,\r\n level: this.level,\r\n scenario: this.scenario,\r\n activityLogger: this.activityLogger,\r\n supportCashbackSettings: this.supportCashbackSettings,\r\n }, deviceTypeOptions));\r\n this.$('.device-targets').append(this.deviceTargetsUpdateView.render().el);\r\n\r\n this.subViews.DeviceTargets = this.deviceTargetsUpdateView;\r\n }\r\n\r\n //rendering age targets\r\n if (this.viewmodel.showAgeTargets()) {\r\n let ageBucketsOptions = this.getAgeTypeOptions(campaignBids, adgroupBids);\r\n\r\n this.ageTargetsUpdateView = new BaseTargetUpdateView(_.extend({\r\n targetType: targetTypes.Age,\r\n campaignId: this.campaignId,\r\n adgroupId: this.adgroupId,\r\n level: this.level,\r\n scenario: this.scenario,\r\n activityLogger: this.activityLogger,\r\n }, ageBucketsOptions));\r\n this.$('.demographic-age-targets').append(this.ageTargetsUpdateView.render().el);\r\n\r\n this.subViews.AgeTargets = this.ageTargetsUpdateView;\r\n }\r\n\r\n //rendering gender targets\r\n if (this.viewmodel.showGenderTargets()) {\r\n let genderTypeOptions = this.getGenderTypeOptions(campaignBids, adgroupBids);\r\n\r\n this.genderTargetsUpdateView = new BaseTargetUpdateView(_.extend({\r\n targetType: targetTypes.Gender,\r\n campaignId: this.campaignId,\r\n adgroupId: this.adgroupId,\r\n level: this.level,\r\n scenario: this.scenario,\r\n activityLogger: this.activityLogger,\r\n }, genderTypeOptions));\r\n this.$('.demographic-gender-targets').append(this.genderTargetsUpdateView.render().el);\r\n\r\n this.subViews.GenderTargets = this.genderTargetsUpdateView;\r\n }\r\n }\r\n\r\n loadAndRenderTargets() {\r\n // Do not show targeting section when pilot enabled\r\n // Ad Schedule settings would become an independent section\r\n // Device and Demographic settings would be moved to Campaign targets\r\n if (this.isNotAudienceCampaign()) {\r\n return;\r\n }\r\n //if no campaignId is present (in case of campaign-create), then only render (with empty data)\r\n if (!this.campaignId) {\r\n this.renderTargets();\r\n return;\r\n }\r\n if (this.scenario === 'smart-shopping-campaign') {\r\n return;\r\n }\r\n let targetsToLoad = [];\r\n\r\n if (this.viewmodel.showDeviceTargets()) {\r\n targetsToLoad.push('DeviceCriterion');\r\n }\r\n if (this.viewmodel.showAgeTargets()) {\r\n targetsToLoad.push('AgeCriterion');\r\n }\r\n if (this.viewmodel.showGenderTargets()) {\r\n targetsToLoad.push('GenderCriterion');\r\n }\r\n if (this.level === 'campaign' || this.scenario === 'adgroup-create') {\r\n criterionLoader.load(this.campaignId, '', targetsToLoad)\r\n .then((campaignTargets) => {\r\n let campaignBids = this.extractBids(campaignTargets);\r\n\r\n this.renderTargets(campaignBids);\r\n });\r\n } else if (this.level === 'adgroup') {\r\n Promise.join(\r\n criterionLoader.load(this.campaignId, '', targetsToLoad),\r\n criterionLoader.load(this.campaignId, this.adgroupId, targetsToLoad),\r\n (campaignTargets, adgroupTargets) => {\r\n let campaignBids = this.extractBids(campaignTargets);\r\n let adgroupBids = this.extractBids(adgroupTargets);\r\n\r\n this.renderTargets(campaignBids, adgroupBids);\r\n },\r\n );\r\n }\r\n }\r\n\r\n renderNativeAds(campaignBids = {}, adgroupBids = {}) {\r\n if (this.viewmodel.showNativeAds()) {\r\n const nativeAdsOptions = {\r\n NativeAdTypeNativeAdsBidsCampaignBidAdjustment: campaignBids.NativeAdBid,\r\n NativeAdTypeNativeAdsBidsAdgroupBidAdjustment: adgroupBids.NativeAdBid,\r\n };\r\n\r\n // if (pageContext.Permissions.IsPersonalizedOffersEnabled) {\r\n // nativeAdsOptions.NativeAdTypeNativeAdsBidsCampaignCashbackPercent = campaignBids.NativeAdTypeNativeAdsBidsCashbackPercent;\r\n // nativeAdsOptions.NativeAdTypeNativeAdsBidsAdgroupCashbackPercent = adgroupBids.NativeAdTypeNativeAdsBidsCashbackPercent;\r\n // }\r\n\r\n this.nativeAdsUpdateView = new BaseTargetUpdateView(_.extend({\r\n targetType: targetTypes.NativeAd,\r\n campaignId: this.campaignId,\r\n adgroupId: this.adgroupId,\r\n level: this.level,\r\n scenario: this.scenario,\r\n activityLogger: this.activityLogger,\r\n // supportCashbackSettings: this.supportCashbackSettings,\r\n }, nativeAdsOptions));\r\n this.$('.native-ads').empty().html(this.nativeAdsUpdateView.render().el);\r\n\r\n this.subViews.NativeAds = this.nativeAdsUpdateView;\r\n }\r\n }\r\n\r\n loadAndRenderNativeAds() {\r\n let campaignBids = {\r\n NativeAdBid: this.nativeAdsCampaignBid,\r\n };\r\n let adgroupBids = {\r\n NativeAdBid: this.nativeAdsAdgroupBid,\r\n };\r\n\r\n this.renderNativeAds(campaignBids, adgroupBids);\r\n }\r\n\r\n renderLocationTargets() {\r\n if (this.viewmodel.showLocationTargets() && this.level === 'campaign') {\r\n this.locationTargetsView = new LocationTargetBidView({\r\n level: this.level,\r\n });\r\n\r\n if (!this.isNotAudienceCampaign()) {\r\n this.$('.location-targets').empty().html(this.locationTargetsView.render().el);\r\n }\r\n\r\n this.subViews.LocationTargets = this.locationTargetsView;\r\n }\r\n }\r\n\r\n update(language) {\r\n if (this.locationTargetsView) {\r\n this.locationTargetsView.refresh();\r\n }\r\n\r\n if (this.adDistributionView && !_.isEmpty(language)) {\r\n this.adDistributionView.update(language);\r\n }\r\n }\r\n\r\n extractBids(targets) {\r\n let bids = {};\r\n\r\n _.each(targets, (target) => {\r\n let prefix = `${target.Criterion.Type}${target.Criterion[targetConstants.targetTypeToFilterProperty[target.Criterion.Type]]}`;\r\n\r\n if (target.Criterion.Type === 'Device' && target.Criterion.OSName) {\r\n prefix += target.Criterion.OSName;\r\n }\r\n const name = `${prefix}Bid`;\r\n const id = `${name}Id`;\r\n\r\n bids[name] = target.CriterionBid ? target.CriterionBid.Multiplier : 0;\r\n bids[id] = target.Id || '';\r\n\r\n const cashbackName = `${prefix}CashbackPercent`;\r\n\r\n bids[cashbackName] = target.CriterionCashback ? target.CriterionCashback.CashbackPercent : '';\r\n });\r\n return bids;\r\n }\r\n\r\n getValues(adgroupName, campaignName) {\r\n const deletedDayTimeCb = (deletedDayTimeCriterions) => {\r\n if (this.scenario === 'adgroup-create') {\r\n _.each(deletedDayTimeCriterions, (criterion) => {\r\n criterion.Status = 'Deleted';\r\n criterion.CampaignName = campaignName;\r\n criterion.AdGroupName = adgroupName;\r\n });\r\n } else if (this.level === 'adgroup') {\r\n _.each(deletedDayTimeCriterions, (criterion) => {\r\n criterion.Status = 'Deleted';\r\n criterion.AdGroup = {\r\n Id: pageContext.CurrentAdGroup.Id,\r\n };\r\n });\r\n } else {\r\n const currentCampaignId = _.isEmpty(pageContext.CurrentCampaign) ? this.campaignId : pageContext.CurrentCampaign.Id;\r\n\r\n _.each(deletedDayTimeCriterions, (criterion) => {\r\n criterion.Status = 'Deleted';\r\n criterion.Campaign = {\r\n Id: currentCampaignId,\r\n };\r\n });\r\n }\r\n };\r\n\r\n let urlOptions = {};\r\n\r\n if (this.viewmodel.showUrlOptions()) {\r\n urlOptions = this.upgradedUrlOptions.toObject();\r\n if (_.isEmpty(urlOptions.TrackingUrlTemplate)) {\r\n urlOptions.TrackingUrlTemplate = null;\r\n }\r\n if (_.isEmpty(urlOptions.UrlCustomParameters)) {\r\n urlOptions.UrlCustomParameters = null;\r\n }\r\n }\r\n\r\n let values = {\r\n deviceTargets: this.deviceTargetsUpdateView ? this.deviceTargetsUpdateView.getValues() : [],\r\n ageTargets: this.ageTargetsUpdateView ? this.ageTargetsUpdateView.getValues() : [],\r\n genderTargets: this.genderTargetsUpdateView ? this.genderTargetsUpdateView.getValues() : [],\r\n locationTargets: this.locationTargetsView ? this.locationTargetsView.getValues() : [],\r\n nativeAds: this.nativeAdsUpdateView ? this.nativeAdsUpdateView.getValues() : {},\r\n multimediaAds: this.multimediaAdsUpdateView ? this.multimediaAdsUpdateView.getValues() : {},\r\n automatedCTA: this.automatedCTAView ? this.automatedCTAView.getValues() : {},\r\n scheduling: this.adScheduleView ? this.adScheduleView.getValues(deletedDayTimeCb) : [],\r\n dateSettings: this.adScheduleView ? this.adScheduleView.getDateSettings() : {},\r\n urlOptions,\r\n adRotation: this.viewmodel.showAdRotation() ? this.adRotationView.getValues() : {},\r\n netWorkOptions: this.viewmodel.showAdDistribution() ? this.adDistributionView.toObject() : {},\r\n siteExclusions: this.viewmodel.showSiteExclusion() && this.siteExclusionView ? this.siteExclusionView.getValues() : [],\r\n ipExclusions: this.viewmodel.showIPExclusion() && this.ipExclusionView ? this.ipExclusionView.getValues() : [],\r\n };\r\n\r\n if (this.adScheduleView && this.adScheduleView.getAdScheduleUseSearcherTimeZone) {\r\n values.adScheduleUseSearcherTimeZone = this.adScheduleView.getAdScheduleUseSearcherTimeZone();\r\n }\r\n\r\n if (this.viewmodel.showVanityUrlSettings()) {\r\n values.vanityUrlSettings = this.viewmodel.vanityUrlSettings();\r\n }\r\n\r\n if (this.scenario === 'adgroup-create') {\r\n values.deviceTargets = _.map(values.deviceTargets, (deviceTarget) => {\r\n return _.extend(deviceTarget, {\r\n 'CampaignName': campaignName,\r\n 'AdGroupName': adgroupName,\r\n });\r\n });\r\n\r\n values.scheduling = _.map(values.scheduling, (row) => {\r\n return _.extend(row, {\r\n 'CampaignName': campaignName,\r\n 'AdGroupName': adgroupName,\r\n });\r\n });\r\n }\r\n\r\n if (this.viewmodel.showSearchCampaignPredictiveMatching()) {\r\n values.AutoTargetingEnabled = this.viewmodel.predictiveMatchingChecked();\r\n }\r\n\r\n return values;\r\n }\r\n\r\n showExclusionErrors({ NegativeSitesResult: siteErrors, NegativeIPsResult: ipErrors }) {\r\n if (this.viewmodel.showSiteExclusion() && this.siteExclusionView) {\r\n this.siteExclusionView.showErrors(siteErrors);\r\n }\r\n\r\n if (this.viewmodel.showIPExclusion() && this.ipExclusionView) {\r\n this.ipExclusionView.showErrors(ipErrors);\r\n }\r\n this.$('#setAdvancedSettings').collapse('show');\r\n\r\n if (this.isNewUI) {\r\n this.$('#setExclusions').collapse('show');\r\n }\r\n }\r\n\r\n validate() {\r\n const allValid = _.chain(this.subViews)\r\n .map((view, section) => {\r\n const isValid = !_.isFunction(view.validate) || view.validate();\r\n\r\n if (!isValid) {\r\n this.$(`#set${section}Settings`).collapse('show');\r\n }\r\n if (!isValid && _.contains(['AgeTargets', 'GenderTargets'], section)) {\r\n this.$('#setDemographicTargetsSettings').collapse('show');\r\n }\r\n if (!isValid && section === 'UrlOptions') {\r\n view.expandSettingsWithValidateErrors();\r\n }\r\n return isValid;\r\n })\r\n .every()\r\n .value();\r\n\r\n if (!allValid) {\r\n this.$('#setAdvancedSettings').collapse('show');\r\n\r\n if (this.isNewUI) {\r\n this.$('#setExclusions').collapse('show');\r\n }\r\n }\r\n\r\n return allValid;\r\n }\r\n\r\n clearApiErrors() {\r\n _.each(this.subViews, (view) => {\r\n if (_.isFunction(view.clearApiErrors)) {\r\n view.clearApiErrors();\r\n }\r\n });\r\n }\r\n\r\n handleErrors(response) {\r\n this.expandSettingsWithErrors(response);\r\n _.each(this.subViews, (view) => {\r\n if (_.isFunction(view.handleErrors)) {\r\n response.errors = view.handleErrors(response);\r\n }\r\n });\r\n\r\n if (response.entity.errors) {\r\n if (this.viewmodel.showUrlOptions()) {\r\n this.upgradedUrlOptions.handleApiErrors(_.groupBy(response.entity.errors, 'property'));\r\n response.errors = _.reject(response.errors, (err) => {\r\n return err.Property === 'TrackingUrlTemplate' || err.Property === 'UrlCustomParameters';\r\n });\r\n }\r\n }\r\n\r\n return response.errors;\r\n }\r\n\r\n expandSettingsWithErrors(response) {\r\n let errors = response.errors;\r\n let locationTargetsHaveErrors = _.some(_.filter(errors, (err) => {\r\n return err.Type.indexOf('Location Criterion') > -1;\r\n }));\r\n let deviceTargetsHaveErrors = _.some(_.filter(errors, (err) => {\r\n return err.Type.indexOf('DeviceOS Criterion') > -1;\r\n }));\r\n let demographicHaveErrors = _.some(_.filter(errors, (err) => {\r\n return err.Type.indexOf('Age Criterion') > -1 || err.Type.indexOf('Gender Criterion') > -1;\r\n }));\r\n let adScheduleHaveErrors = _.some(_.filter(errors, (err) => {\r\n return err.Type.indexOf('Day Time Criterion') > -1;\r\n }));\r\n let properties = _.groupBy(response.entity.errors, 'property');\r\n let urlOptionsHaveErrors = _.has(properties, 'TrackingUrlTemplate') || _.has(properties, 'UrlCustomParameters') || _.has(properties, 'FinalUrlSuffix');\r\n\r\n if (locationTargetsHaveErrors) {\r\n this.$('#setLocationTargetsSettings').collapse('show');\r\n }\r\n if (deviceTargetsHaveErrors) {\r\n this.$('#setDeviceTargetsSettings').collapse('show');\r\n }\r\n if (demographicHaveErrors) {\r\n this.$('#setDemographicTargetsSettings').collapse('show');\r\n }\r\n if (adScheduleHaveErrors) {\r\n this.$('#setAdScheduleSettings').collapse('show');\r\n }\r\n if (urlOptionsHaveErrors) {\r\n this.upgradedUrlOptions.expandSettingsWithApiErrors(_.has(properties, 'TrackingUrlTemplate'), _.has(properties, 'UrlCustomParameters'), _.has(properties, 'FinalUrlSuffix'));\r\n }\r\n\r\n if (locationTargetsHaveErrors || deviceTargetsHaveErrors || demographicHaveErrors || adScheduleHaveErrors || urlOptionsHaveErrors) {\r\n this.$('#setAdvancedSettings').collapse('show');\r\n }\r\n }\r\n\r\n setAdGroupId(adgroupId) {\r\n this.adgroupId = adgroupId;\r\n }\r\n\r\n setCampaignId(campaignId) {\r\n this.campaignId = campaignId;\r\n }\r\n\r\n setLevel(level) {\r\n this.level = level;\r\n\r\n if (this.viewmodel.showDeviceTargets() && this.deviceTargetsUpdateView) {\r\n this.deviceTargetsUpdateView.setLevel(level);\r\n }\r\n\r\n if (this.viewmodel.showAgeTargets() && this.ageTargetsUpdateView) {\r\n this.ageTargetsUpdateView.setLevel(level);\r\n }\r\n\r\n if (this.viewmodel.showGenderTargets() && this.genderTargetsUpdateView) {\r\n this.genderTargetsUpdateView.setLevel(level);\r\n }\r\n }\r\n\r\n remove() {\r\n _.each(this.subViews, (view) => {\r\n view.remove();\r\n });\r\n\r\n if (this.viewmodel.showVanityUrlSettings()) {\r\n ReactDOM.unmountComponentAtNode(this.$('.vanity-url-option').get(0));\r\n }\r\n\r\n super.remove();\r\n }\r\n}\r\n","import ko from 'knockout';\r\nimport _ from 'underscore';\r\n\r\nconst i18n = window.globalLegacyI18n.get('component/i18n/loader!campaignui/campaign-creation-advanced');\r\n\r\nexport default class BaseTargetViewModel {\r\n constructor({\r\n exclusionType = 'site',\r\n exclusions = '',\r\n exclusionType2String = {},\r\n entitySeparator = '',\r\n campaignExclusions = '',\r\n } = {}) {\r\n this.errors = ko.observableArray();\r\n\r\n this.exclusions = ko.observable(exclusions || '');\r\n\r\n this.numbersExcluded = ko.computed(() => {\r\n const val = _.isEmpty(this.exclusions()) ? '' : this.exclusions().replace(entitySeparator, '');\r\n const count = _.size(_.compact(val.split('\\n')));\r\n\r\n return i18n.get(exclusionType2String[exclusionType].numberExcluded).replace('{0}', count);\r\n });\r\n\r\n this.campaignExclusions = ko.observable(campaignExclusions || '');\r\n this.isExpanded = ko.observable(false);\r\n\r\n this.getExclusions = ko.computed(() => {\r\n return this.exclusions();\r\n });\r\n }\r\n}\r\n","/* eslint no-unused-vars:0 */\r\nimport pageContext from '@bingads-webui-static-legacy/page-context';\r\nimport ko from 'knockout';\r\nimport Backbone from 'backbone';\r\nimport _ from '@bingads-webui-component-legacy/extension/underscore';\r\nimport template from '@bingads-webui-campaign-legacy/advanced-settings/template/base-exclusion.pug';\r\nimport BaseExclusionViewModel from '@bingads-webui-campaign-legacy/advanced-settings/viewmodel/base-exclusion';\r\nimport config from '@bingads-webui-component-legacy/config/index';\r\nimport state from '@bingads-webui-component-legacy/state/index';\r\n\r\nconst i18n = window.globalLegacyI18n.get('component/i18n/loader!campaignui/campaign-creation-advanced');\r\n\r\nconst entitySeparator = '-------------------------';\r\nconst exclusionType2String = {\r\n site: {\r\n instruction: 'CampaignCreate_WebSiteExclusions_Instruction',\r\n label: 'Entity_Sites',\r\n numberExcluded: 'AdvancedSetting_EditWebSiteExclusionDesc',\r\n },\r\n ip: {\r\n instruction: 'CampaignCreate_IPExclusions_Instruction',\r\n label: 'Entity_IPs',\r\n numberExcluded: 'AdvancedSetting_EditIPExclusionDesc',\r\n },\r\n};\r\n\r\nexport default class View extends Backbone.View {\r\n initialize({\r\n exclusionType = 'site',\r\n exclusions = '',\r\n campaignExclusions = '',\r\n level = 'campaign',\r\n } = {}) {\r\n this.viewModel = new BaseExclusionViewModel({\r\n exclusionType,\r\n exclusions,\r\n exclusionType2String,\r\n entitySeparator,\r\n campaignExclusions,\r\n });\r\n\r\n this.exclusionType = exclusionType;\r\n this.level = level;\r\n this.isNewUI = config.get('IsNewUI');\r\n this.isInSiteExclusionListPilot = pageContext.Permissions.IsManagerAccountSharedWebsiteExclusionsEnabled;\r\n }\r\n\r\n get events() {\r\n return {\r\n 'show.bs.collapse': 'showSettings',\r\n 'hide.bs.collapse': 'hideSettings',\r\n };\r\n }\r\n\r\n showSettings() {\r\n this.viewModel.isExpanded(true);\r\n }\r\n\r\n hideSettings() {\r\n this.viewModel.isExpanded(false);\r\n }\r\n\r\n render() {\r\n let siteExclusionListHref = '';\r\n\r\n if (this.isNewUI && this.isInSiteExclusionListPilot && this.exclusionType === 'site') {\r\n const queryString = `?uid=${state.get('user_id')}&cid=${state.get('customer_id')}&aid=${state.get('account_id')}`;\r\n\r\n siteExclusionListHref = `/campaign/vnext/siteexclusionlists/viewlists${queryString}`;\r\n }\r\n\r\n this.$el.html(template({\r\n i18n,\r\n instruction: i18n.get(exclusionType2String[this.exclusionType].instruction),\r\n exclusionType: this.exclusionType,\r\n labelText: i18n.get(exclusionType2String[this.exclusionType].label),\r\n isAdGroupLevel: this.level === 'adgroup',\r\n isNewUI: this.isNewUI,\r\n isInSiteExclusionListPilot: this.isInSiteExclusionListPilot,\r\n siteExclusionListHref,\r\n }));\r\n ko.applyBindings(this.viewModel, this.el);\r\n\r\n return this;\r\n }\r\n\r\n getValues() {\r\n let exclusions = this.viewModel.exclusions() || '';\r\n\r\n return exclusions.replace(entitySeparator, '');\r\n }\r\n\r\n clearApiErrors() {\r\n this.viewModel.errors([]);\r\n }\r\n\r\n showErrors(errors) {\r\n if (!errors) {\r\n return;\r\n }\r\n this.$(`#${this.exclusionType}ExclusionSettings`).collapse('show');\r\n\r\n if (_.isArray(errors.InvalidEntities) && !_.isEmpty(errors.InvalidEntities)) {\r\n let entities = errors.InvalidEntities;\r\n\r\n if (_.isArray(errors.ValidEntities) && !_.isEmpty(errors.ValidEntities)) {\r\n entities.push(entitySeparator);\r\n entities = _.union(entities, errors.ValidEntities);\r\n }\r\n\r\n this.viewModel.exclusions(entities.join('\\r\\n'));\r\n }\r\n\r\n if (_.isArray(errors.EntityErrors) && !_.isEmpty(errors.EntityErrors)) {\r\n this.viewModel.errors(errors.EntityErrors);\r\n }\r\n }\r\n}\r\n","import _ from 'underscore';\r\n\r\nexport const learnMoreHelpIds = {\r\n Hold: 'app50043',\r\n PendingPaymentMethod: 'app50054',\r\n PausedZeroBalance: 'app50053',\r\n PausedNoValidIO: 'app50035',\r\n PendingNewCustomer: 'app54626',\r\n Processing: 'app50051',\r\n};\r\n\r\nexport const alertActionConfig = {\r\n Hold: {\r\n relativePath: 'cc/CreditHold/Dashboard',\r\n },\r\n PendingPaymentMethod: {\r\n relativePath: 'cc/PaymentMethods',\r\n },\r\n PausedZeroBalance: {\r\n relativePath: 'cc/Payment/Prepay',\r\n },\r\n PausedNoValidIO: {\r\n relativePath: 'cc/InsertionOrder',\r\n params: {\r\n isPendingFilterSet: 'False',\r\n },\r\n },\r\n};\r\n\r\nconst alertReasonIdList = [\r\n 'NotSet',\r\n 'PausedDueToSystemIssue',\r\n 'PausedZeroBalance',\r\n 'PausedNoValidIO',\r\n 'Processing',\r\n 'PendingPaymentMethod',\r\n 'PendingNewCustomer',\r\n 'Inactive',\r\n 'Hold',\r\n 'Deleted',\r\n];\r\n\r\nconst accountInactiveCauseCodeList = [\r\n 'NotSet',\r\n 'PausedDueToSystemIssue',\r\n 'PausedZeroBalance',\r\n 'PausedNoValidIO',\r\n 'Processing',\r\n 'PendingPaymentMethod',\r\n 'PendingNewCustomer',\r\n 'Inactive',\r\n 'Hold',\r\n 'AccountLifecycleStatusSuspended',\r\n 'AccountLifecycleStatusDraft',\r\n 'AccountLifecycleStatusDeleted',\r\n 'AccountLifecycleStatusUserPause',\r\n 'AccountFinancialStatusProposed',\r\n 'AccountFinancialStatusWriteOff',\r\n 'AccountFinancialStatusTaxOnHold',\r\n 'AccountFinancialStatusUserHold',\r\n 'AccountFinancialStatusPendingCreditCheck',\r\n 'AccountFinancialStatusSoldToOnly',\r\n 'AdvertiserCustomerLifecycleStatusDraft',\r\n 'AdvertiserCustomerLifecycleStatusInactive',\r\n 'AdvertiserCustomerLifecycleStatusDeleted',\r\n 'AdvertiserCustomerFraudStatusFraud',\r\n 'BillToCustomerLifecycleStatusDraft',\r\n 'BillToCustomerLifecycleStatusInactive',\r\n 'BillToCustomerLifecycleStatusDeleted',\r\n 'BillToCustomerFinancialStatusProposalsOnly',\r\n 'BillToCustomerFinancialStatusSoldToOnly',\r\n 'BillToCustomerFraudStatusFraud',\r\n 'AccountLifecycleStatusNotSet',\r\n 'AccountFinancialStatusNotSet',\r\n 'AdvertiserCustomerLifecycleStatusNotSet',\r\n 'AdvertiserCustomerFraudStatusNotSet',\r\n 'BillToCustomerLifecycleStatusNotSet',\r\n 'BillToCustomerFinancialStatusNotSet',\r\n 'BillToCustomerFraudStatusNotSet',\r\n];\r\n\r\nexport const alertReasonId = _.invert(alertReasonIdList);\r\n\r\nexport const accountInactiveCauseCode = _.invert(accountInactiveCauseCodeList);\r\n\r\nexport const i18nPrefixes = {\r\n alertCategoryPrefix: 'AccountAlertCategory',\r\n alertDescriptionPrefix: 'AccountAlertDescription',\r\n alertReasonPrefix: 'AccountAlertReason',\r\n alertActionPrefix: 'AccountAlertAction',\r\n};\r\n\r\nexport const popupId = 'accountAlertDetailsContainer';\r\n","import _ from 'underscore';\r\nimport $ from 'jquery';\r\nimport Backbone from 'backbone';\r\nimport * as popupConstants from '@bingads-webui-campaign-legacy/alerts-popup/constants/alertPopupConstants';\r\nimport accountAlertsPopupTemplate from '@bingads-webui-campaign-legacy/alerts-popup/template/accountAlertsPopup.pug';\r\nimport managerAccountsPopupTemplate from '@bingads-webui-campaign-legacy/alerts-popup/template/managerAccountsPopup.pug';\r\nimport pageContext from '@bingads-webui-static-legacy/page-context';\r\nimport config from '@bingads-webui-component-legacy/config/index';\r\nimport urlUtil from '@bingads-webui-component-legacy/http/util/url';\r\n\r\nconst i18n = window.globalLegacyI18n.get('component/i18n/loader!campaignui/feature/alerts-popup');\r\n\r\nexport default class AlertsPopup extends Backbone.View {\r\n static get popupId() {\r\n return popupConstants.popupId;\r\n }\r\n\r\n get events() {\r\n return {\r\n 'click .closeimage': 'closePopup',\r\n 'keydown .closeimage': 'closePopup',\r\n };\r\n }\r\n\r\n set accountId(aid) {\r\n this.aid = aid;\r\n }\r\n\r\n render() {\r\n const popupContent = this.getPopupContent(this.accountInactiveReasons);\r\n\r\n this.$el.html(popupContent);\r\n return this;\r\n }\r\n\r\n renderManagerAccountsContent() {\r\n const popupContent = this.getManagerAccountsPopupContent(this.manageraccounts);\r\n\r\n this.$el.html(popupContent);\r\n return this;\r\n }\r\n\r\n closePopup(e) {\r\n let shouldClose = true;\r\n\r\n if (e.keyCode && e.keyCode !== 13) {\r\n shouldClose = false;\r\n }\r\n\r\n if (shouldClose) {\r\n $.advertiser.hideLayer({\r\n target: document,\r\n data: {\r\n targetLayerId: popupConstants.popupId,\r\n namespace: popupConstants.popupId,\r\n callback: $.gridPopup.ResetImage,\r\n },\r\n });\r\n }\r\n }\r\n\r\n getManagerAccountsPopupContent(manageraccounts) {\r\n const popupContent = managerAccountsPopupTemplate({\r\n manageraccounts,\r\n i18n,\r\n popUpText: {\r\n remove: i18n.get('Remove'),\r\n },\r\n closeText: i18n.get('ModalPopup_BizLoc_Close'),\r\n });\r\n\r\n return popupContent;\r\n }\r\n\r\n getPopupContent(accountInactiveReasons) {\r\n const alerts = _.chain(accountInactiveReasons).map((reason) => {\r\n return {\r\n category: this.getAlertCategory(reason.Reason),\r\n description: this.getAlertDescription(reason.Reason),\r\n causes: this.getAlertCauses(reason.Causes),\r\n action: this.getAlertAction(reason.Reason),\r\n learnMore: this.getLearnMore(reason.Reason),\r\n };\r\n }).filter((alert) => {\r\n return alert.category && alert.description;\r\n }).value();\r\n\r\n const popupContent = accountAlertsPopupTemplate({\r\n alerts,\r\n popUpText: {\r\n remove: i18n.get('Remove'),\r\n learnMore: i18n.get('LearnMore'),\r\n },\r\n closeText: i18n.get('ModalPopup_BizLoc_Close'),\r\n isForVNext: this.isForVNext,\r\n });\r\n\r\n return popupContent;\r\n }\r\n\r\n getAlertCategory(reason) {\r\n if (popupConstants.alertReasonId[reason]) {\r\n const i18nPrefix = popupConstants.i18nPrefixes.alertCategoryPrefix;\r\n const reasonId = popupConstants.alertReasonId[reason];\r\n\r\n return i18n.get(`${i18nPrefix}_${reasonId}`);\r\n }\r\n return null;\r\n }\r\n\r\n getAlertDescription(reason) {\r\n const i18nPrefix = popupConstants.i18nPrefixes.alertDescriptionPrefix;\r\n\r\n return i18n.get(`${i18nPrefix}_${reason}`);\r\n }\r\n\r\n getAlertCauses(causes) {\r\n let causeExplinations = [];\r\n\r\n _.each(causes, (cause) => {\r\n const i18nPrefix = popupConstants.i18nPrefixes.alertReasonPrefix;\r\n const causeCodeId = popupConstants.accountInactiveCauseCode[cause];\r\n const causeExplination = i18n.get(`${i18nPrefix}_${causeCodeId}`);\r\n\r\n if (causeExplination) {\r\n causeExplinations.push(causeExplination);\r\n }\r\n });\r\n return causeExplinations;\r\n }\r\n\r\n getAlertAction(reason) {\r\n if (reason === 'Inactive' || reason === 'PausedDueToSystemIssue' || reason === 'Deleted') {\r\n return {\r\n linkText: this.getAlertActionText('InactivePaused'),\r\n url: (config.get('Permissions') || {}).IsRenderClientShellPageEnabled ? config.get('FooterSupportUrl') : pageContext.Footer.SupportUrl,\r\n };\r\n }\r\n\r\n if (!popupConstants.alertActionConfig[reason]) {\r\n return null;\r\n }\r\n\r\n const alertActionConfig = popupConstants.alertActionConfig[reason];\r\n const host = pageContext.RootUIUrl;\r\n const path = alertActionConfig.relativePath;\r\n const data = {\r\n aid: this.aid,\r\n cid: pageContext.CurrentCustomer.Id,\r\n };\r\n\r\n if (!_.isEmpty(alertActionConfig.params)) {\r\n _.extend(data, alertActionConfig.params);\r\n }\r\n\r\n const url = urlUtil.queryify(urlUtil.make('', { host, path }), { data });\r\n\r\n return {\r\n linkText: this.getAlertActionText(reason),\r\n url,\r\n };\r\n }\r\n\r\n getAlertActionText(reason) {\r\n const i18nPrefix = popupConstants.i18nPrefixes.alertActionPrefix;\r\n const alertActionText = i18n.get(`${i18nPrefix}_${reason}`);\r\n\r\n return alertActionText.replace(/\\{\\d{1}\\}/g, '');\r\n }\r\n\r\n getLearnMore(reason) {\r\n return popupConstants.learnMoreHelpIds[reason] || null;\r\n }\r\n}\r\n","/*\r\n Define the urls\r\n*/\r\nimport state from '@bingads-webui-component-legacy/state/index';\r\n\r\nexport function getCampaignWithCidAndAid(cid, aid) {\r\n return `/campaign/Campaigns?cid=${cid}&uid=${state.get('user_id')}&aid=${aid}`;\r\n}\r\n\r\nexport function getCampaignWithAid(aid) {\r\n return `/campaign/Campaigns?cid=${state.get('customer_id')}&uid=${state.get('user_id')}&aid=${aid}`;\r\n}\r\n\r\nexport function getAccountsSummaryWithCid(cid) {\r\n return `/campaign/AccountsSummary?cid=${cid}&uid=${state.get('user_id')}`;\r\n}\r\n","var pug = require(\"!../../../../../node_modules/.pnpm/pug@2.0.4/node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;;var locals_for_with = (locals || {});(function (i18n) {\n\n\n\npug_mixins[\"koError\"] = pug_interp = function(item, id){\nvar block = (this && this.block), attributes = (this && this.attributes) || {};\npug_html = pug_html + \"\\u003Cdiv\" + (pug.attr(\"data-bind\", 'if: ' + item + '().length > 0, attr: {\"aria-hidden\": ' + item + '().length == 0}', true, true)+pug.attr(\"id\", id ? id : item, true, true)+\" role=\\\"alert\\\"\") + \"\\u003E\\u003Cdiv\" + (\" class=\\\"error\\\"\"+pug.attr(\"data-bind\", 'html: ' + item, true, true)+\" role=\\\"alert\\\"\") + \"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";\n};\n\n\n\n\n\npug_html = pug_html + \"\\u003Cdiv class=\\\"date-settings-intro col-sm-12 row\\\"\\u003E\\u003Cspan\\u003E\" + (pug.escape(null == (pug_interp = i18n.get('AdvancedSetting_ScheduleDesc')) ? \"\" : pug_interp)) + \"\\u003C\\u002Fspan\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"form-horizontal date-settings\\\"\\u003E\\u003Cdiv class=\\\"date-container\\\"\\u003E\\u003Cdiv class=\\\"form-control-static\\\"\\u003E\\u003Ctable role=\\\"presentation\\\"\\u003E\\u003Ctbody\\u003E\\u003Ctr\\u003E\\u003Ctd class=\\\"item-label schedule-item-label form-control-static\\\"\\u003E\" + (pug.escape(null == (pug_interp = i18n.get('Campaign_StartDate')) ? \"\" : pug_interp)) + \"\\u003C\\u002Ftd\\u003E\\u003Ctd\\u003E\\u003Cdiv class=\\\"col-sm-9\\\"\\u003E\\u003Cinput\" + (\" class=\\\"date-start clickable\\\"\"+\" data-bind=\\\"datePicker: startDate, culture: culture, format: format, disabled: hasFixedStartDate, navigateToPastAriaLabel: datePickerNavigateToPastAriaLabel, navigateToFutureAriaLabel: datePickerNavigateToFutureAriaLabel\\\" aria-describedby=\\\"startDateError\\\"\"+pug.attr(\"aria-label\", i18n.get('Campaign_StartDate'), true, true)) + \"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Ftd\\u003E\\u003C\\u002Ftr\\u003E\\u003Ctr\\u003E\\u003Ctd class=\\\"item-label schedule-item-label form-control-static\\\"\\u003E\" + (pug.escape(null == (pug_interp = i18n.get('Campaign_EndDate')) ? \"\" : pug_interp)) + \"\\u003C\\u002Ftd\\u003E\\u003Ctd\\u003E\\u003Cdiv\" + (\" role=\\\"radiogroup\\\"\"+pug.attr(\"aria-label\", i18n.get('Campaign_EndDate'), true, true)) + \"\\u003E\\u003Cdiv class=\\\"radio\\\"\\u003E\\u003Clabel\\u003E\\u003Cinput type=\\\"radio\\\" name=\\\"hasEndDate\\\" value=\\\"false\\\" data-bind=\\\"checked: hasEndDate.Editing, attr: { disabled: disableNoEndDateSelection }\\\"\\u003E\" + (pug.escape(null == (pug_interp = i18n.get('Campaign_NoEndDate')) ? \"\" : pug_interp)) + \"\\u003C\\u002Flabel\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"row radio\\\"\\u003E\\u003Cdiv class=\\\"col-sm-3 form-control-static\\\"\\u003E\\u003Clabel\\u003E\\u003Cinput type=\\\"radio\\\" name=\\\"hasEndDate\\\" value=\\\"true\\\" data-bind=\\\"checked: hasEndDate.Editing, attr: { disabled: disableEndDateSelection }\\\"\\u003E\" + (pug.escape(null == (pug_interp = i18n.get('Campaign_EndBy')) ? \"\" : pug_interp)) + \"\\u003C\\u002Flabel\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-sm-9\\\"\\u003E\\u003Cinput\" + (\" class=\\\"date-end clickable\\\"\"+\" data-bind=\\\"datePicker: endDate, culture: culture, format: format, enabled: enableEndDateSelection, navigateToPastAriaLabel: datePickerNavigateToPastAriaLabel, navigateToFutureAriaLabel: datePickerNavigateToFutureAriaLabel\\\" aria-describedby=\\\"endDateError\\\"\"+pug.attr(\"aria-label\", i18n.get('Campaign_EndDate'), true, true)) + \"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Ftd\\u003E\\u003C\\u002Ftr\\u003E\\u003C\\u002Ftbody\\u003E\\u003C\\u002Ftable\\u003E\";\npug_mixins[\"koError\"]('startDateError');\npug_mixins[\"koError\"]('endDateError');\npug_html = pug_html + \"\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";}.call(this,\"i18n\" in locals_for_with?locals_for_with.i18n:typeof i18n!==\"undefined\"?i18n:undefined));;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../node_modules/.pnpm/pug@2.0.4/node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;;var locals_for_with = (locals || {});(function (hideMinuteOptions, i18n, i18nKeys, percentSymbol, popupIds, showBidAdjustmentColumn, showDisplayTimeAndFooter) {pug_mixins[\"koErrors\"] = pug_interp = function(id, cssClass){\nvar block = (this && this.block), attributes = (this && this.attributes) || {};\npug_html = pug_html + \"\\u003Cul\" + (pug.attr(\"class\", pug.classes([cssClass ? cssClass : 'alert alert-danger'], [true]), false, true)+\" data-bind=\\\"visible: errors().length > 0, foreach: errors, attr: {"aria-hidden": errors().length == 0}\\\"\"+pug.attr(\"id\", id ? id : 'KoErrors', true, true)) + \"\\u003E\\u003Cli\\u003E\\u003Cdiv data-bind=\\\"html: $data\\\" role=\\\"alert\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fli\\u003E\\u003C\\u002Ful\\u003E\";\n};\n\n\n\n\npug_mixins[\"popupHelp\"] = pug_interp = function(popupId, ariaLabelContext, i18n){\nvar block = (this && this.block), attributes = (this && this.attributes) || {};\nvar templateString = (i18n && i18n.get && i18n.get('Click to learn more about {{item}}')) || (i18n && i18n.getString && i18n.getString('Click to learn more about {{item}}')) || null\npug_html = pug_html + \"\\u003Ca\" + (\" class=\\\"helpbutton\\\"\"+\" type=\\\"helppopup\\\" role=\\\"button\\\"\"+pug.attr(\"topic\", popupId, true, true)+pug.attr(\"data-help\", true, true, true)+\" onclick=\\\"PopupController.PopupJsClick(this)\\\" href=\\\"javascript:void(0);\\\"\"+pug.attr(\"aria-label\", templateString ? templateString.replace('{{item}}', ariaLabelContext) : ariaLabelContext, true, true)) + \"\\u003E\\u003C\\u002Fa\\u003E\";\n};\npug_mixins[\"koErrors\"]();\npug_html = pug_html + (\"\\u003C!--ko if: hideAdScheduleBidAdjustments()--\\u003E\\u003Cdiv class=\\\"alert alert-info\\\"\\u003E\\u003Cdiv class=\\\"alert-image\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"alert-info-inline\\\"\\u003E\" + (pug.escape(null == (pug_interp = i18n.getString('Target_Settings_HideAdScheduleBidAdjustments')) ? \"\" : pug_interp)) + \"\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C!-- \\u002Fko--\\u003E\\u003Cdiv class=\\\"date-settings__container\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C!--ko if: level() === 'adgroup'--\\u003E\\u003Cdiv class=\\\"alert alert-info form-group\\\" data-bind=\\\"visible:showAdGroupOverrideInformation\\\" role=\\\"alert\\\"\\u003E\\u003Cdiv class=\\\"alert-image\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"alert-info-inline\\\"\\u003E\" + (pug.escape(null == (pug_interp = i18n.getString('Target_Settings_Override_Information_Line1', i18n.getString('Target_Settings_Override_Ad_Schedule'))) ? \"\" : pug_interp)) + \"\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"alert-info-inline indent\\\"\\u003E\" + (pug.escape(null == (pug_interp = i18n.getString('Target_Settings_Override_Information_Line2', i18n.getString('Target_Settings_Override_Ad_Schedule'))) ? \"\" : pug_interp)) + \"\\u003Ca class=\\\"HelpTopic\\\" query=\\\"help:app54638\\\" href=\\\"javascript:void(0);\\\"\\u003E\" + (pug.escape(null == (pug_interp = i18n.getString('Learn_more_link_text')) ? \"\" : pug_interp)) + \"\\u003C\\u002Fa\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C!-- \\u002Fko--\\u003E\\u003C!--ko if: isForVNext() && !hideAdScheduleBidAdjustments()--\\u003E\\u003Clabel class=\\\"control-label\\\"\\u003E\" + (pug.escape(null == (pug_interp = i18n.getString('TargetingSettings_AdSchedule')) ? \"\" : pug_interp)));\npug_mixins[\"popupHelp\"](popupIds.AdSchedule, i18n.getString('TargetingSettings_AdSchedule'), i18n);\npug_html = pug_html + \"\\u003C\\u002Flabel\\u003E\\u003C!-- \\u002Fko--\\u003E\\u003C!--ko if: level() === 'adgroup' && !hideUseCampaignSetting()--\\u003E\\u003Clabel class=\\\"type-normal\\\" id=\\\"ad-schedule-use-campaign-settings\\\"\\u003E\" + (pug.escape(null == (pug_interp = i18n.get('CreationWorkflowsInheritanceFlagLabel')) ? \"\" : pug_interp)) + \"\\u003C\\u002Flabel\\u003E\\u003Cdiv class=\\\"toggle-campaign-settings-switch form-control-static\\\" data-bind=\\\"checked: useCampaignSettings\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C!-- \\u002Fko--\\u003E\\u003Cdiv\\u003E\\u003Cdiv class=\\\"scheduling-grid advanced-scheduling-grid\\\" data-bind=\\\"css:{"show-cashback-percent": supportCashbackSettings}\\\"\\u003E\\u003Cdiv class=\\\"alert alert-info\\\" data-bind=\\\"css: { displayNone: !showWarning() }\\\"\\u003E\\u003Cdiv class=\\\"alert-image\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"alert-info-inline\\\"\\u003E\" + (pug.escape(null == (pug_interp = i18n.getString(i18nKeys.Warning)) ? \"\" : pug_interp)) + \" \\u003Ca\" + (\" href=\\\"https:\\u002F\\u002Fgo.microsoft.com\\u002Ffwlink\\u002F?LinkId=722210\\\" style=\\\"text-decoration: underline;\\\" target=\\\"_blank\\\"\"+pug.attr(\"aria-label\", (i18n.getString('Click to learn more about {{item}}') || '').replace('{{item}}', i18n.getString('TargetingSettings_AdSchedule')), true, true)) + \"\\u003E\" + (pug.escape(null == (pug_interp = i18n.getString('LearnMore')) ? \"\" : pug_interp)) + \"\\u003C\\u002Fa\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Ctable\" + (\" class=\\\"table new-advance-target-grid-container ad-scheduling-grid\\\"\"+pug.attr(\"aria-label\", i18n.get('TargetingSettings_AdSchedule'), true, true)+\" data-bind=\\\"css: { displayNone: hideAdScheduleBidAdjustments() }\\\"\") + \"\\u003E\\u003Cthead\\u003E\\u003Ctr\\u003E\\u003Cth class=\\\"ad-scheduling-grid-header-top-left-cell ad-scheduling-grid-header\\\"\\u003E\" + (pug.escape(null == (pug_interp = i18n.get('Column_Heading_TargetedDays')) ? \"\" : pug_interp)) + \"\\u003C\\u002Fth\\u003E\\u003Cth colspan=\\\"3\\\"\\u003E\" + (pug.escape(null == (pug_interp = i18n.get('Column_Heading_StartTime')) ? \"\" : pug_interp)) + \"\\u003C\\u002Fth\\u003E\\u003Cth colspan=\\\"3\\\"\\u003E\" + (pug.escape(null == (pug_interp = i18n.get('Column_Heading_EndTime')) ? \"\" : pug_interp)) + \"\\u003C\\u002Fth\\u003E\";\nif (showBidAdjustmentColumn) {\npug_html = pug_html + (\"\\u003Cth colspan=\\\"3\\\"\\u003E\" + (pug.escape(null == (pug_interp = i18n.get('Column_Heading_BidAdjustment')) ? \"\" : pug_interp)));\npug_mixins[\"popupHelp\"](popupIds.BidAdjustment, i18n.get('Column_Heading_BidAdjustment'), i18n);\npug_html = pug_html + \"\\u003C\\u002Fth\\u003E\";\n}\npug_html = pug_html + \"\\u003C!-- ko if: supportCashbackSettings--\\u003E\\u003Cth class=\\\"cashback-percent-head\\\" colspan=\\\"2\\\"\\u003E\" + (pug.escape(null == (pug_interp = i18n.get('Campaign_Maximum_Cashback_Offer')) ? \"\" : pug_interp)) + \"\\u003C\\u002Fth\\u003E\\u003C!-- \\u002Fko--\\u003E\\u003Cth class=\\\"ad-scheduling-grid-header ad-scheduling-grid-header-top-right-cell\\\"\\u003E\\u003C!-- ko ifnot: useCampaignSettings --\\u003E\\u003Ca class=\\\"remove-all-row\\\" href=\\\"javascript:void(0);\\\" role=\\\"button\\\"\\u003E\" + (pug.escape(null == (pug_interp = i18n.get('Column_Heading_RemoveAll')) ? \"\" : pug_interp)) + \"\\u003C\\u002Fa\\u003E\\u003C!-- \\u002Fko --\\u003E\\n\\u003C!-- ko if: useCampaignSettings --\\u003E\" + (pug.escape(null == (pug_interp = i18n.get('Column_Heading_RemoveAll')) ? \"\" : pug_interp)) + \"\\u003C!-- \\u002Fko --\\u003E\\u003C\\u002Fth\\u003E\\u003C\\u002Ftr\\u003E\\u003C\\u002Fthead\\u003E\\u003Ctbody\\u003E\\u003C!-- ko if: useCampaignSettings --\\u003E\\n\\u003C!-- ko foreach: campaignDayTimeRanges --\\u003E\\u003Ctr\\u003E\\u003Ctd\\u003E\\u003Cselect\" + (\" class=\\\"form-control\\\"\"+\" data-bind=\\\"options: $root.dayOptions, optionsText: 'name', value: Day, optionsValue: 'val', enable: false\\\"\"+pug.attr(\"aria-label\", i18n.getString('Column_Heading_TargetedDays'), true, true)) + \"\\u003E\\u003C\\u002Fselect\\u003E\\u003C\\u002Ftd\\u003E\\u003Ctd\" + (pug.attr(\"colspan\", (hideMinuteOptions ? '3': '1'), true, true)) + \"\\u003E\\u003Cselect\" + (\" class=\\\"form-control\\\"\"+\" data-bind=\\\"options: $root.fromHourOptions, optionsText: 'optionsText', value: StartHour, optionsValue: 'val', enable: false, css: {'validation-error': scheduleInRowError().type === 'ERROR_TIME'}\\\"\"+pug.attr(\"aria-label\", i18n.getString('ImprovedAdScheduling_Column_Start_Hour'), true, true)) + \"\\u003E\\u003C\\u002Fselect\\u003E\\u003C\\u002Ftd\\u003E\";\nif (!hideMinuteOptions) {\npug_html = pug_html + \"\\u003Ctd\\u003E\\u003Cspan\\u003E:\\u003C\\u002Fspan\\u003E\\u003C\\u002Ftd\\u003E\\u003Ctd\\u003E\\u003Cselect\" + (\" class=\\\"form-control\\\"\"+\" data-bind=\\\"options: $root.minuteOptions, optionsText: 'minuteName', value: StartMinute, optionsValue: 'val', enable: false, css: {'validation-error': scheduleInRowError().type === 'ERROR_TIME'}\\\"\"+pug.attr(\"aria-label\", i18n.getString('ImprovedAdScheduling_Column_Start_Minute'), true, true)) + \"\\u003E\\u003C\\u002Fselect\\u003E\\u003C\\u002Ftd\\u003E\";\n}\npug_html = pug_html + \"\\u003Ctd\" + (pug.attr(\"colspan\", (hideMinuteOptions ? '3': '1'), true, true)) + \"\\u003E\\u003Cselect\" + (\" class=\\\"form-control\\\"\"+\" data-bind=\\\"options: $root.toHourOptions, optionsText: 'optionsText', value: EndHour, optionsValue: 'val', enable: false, css: {'validation-error': scheduleInRowError().type === 'ERROR_TIME'}\\\"\"+pug.attr(\"aria-label\", i18n.getString('ImprovedAdScheduling_Column_End_Hour'), true, true)) + \"\\u003E\\u003C\\u002Fselect\\u003E\\u003C\\u002Ftd\\u003E\";\nif (!hideMinuteOptions) {\npug_html = pug_html + \"\\u003Ctd\\u003E\\u003Cspan\\u003E:\\u003C\\u002Fspan\\u003E\\u003C\\u002Ftd\\u003E\\u003Ctd\\u003E\\u003Cselect\" + (\" class=\\\"form-control\\\"\"+\" data-bind=\\\"options: $root.minuteOptions, optionsText: 'minuteName', value: EndMinute, optionsValue: 'val', enable: false, css: {'validation-error': scheduleInRowError().type === 'ERROR_TIME'}\\\"\"+pug.attr(\"aria-label\", i18n.getString('ImprovedAdScheduling_Column_End_Minute'), true, true)) + \"\\u003E\\u003C\\u002Fselect\\u003E\\u003C\\u002Ftd\\u003E\";\n}\nif (showBidAdjustmentColumn) {\npug_html = pug_html + \"\\u003Ctd\\u003E\\u003Cselect\" + (\" class=\\\"form-control\\\"\"+\" data-bind=\\\"options: $root.bidAdjustmentOptions, optionsText: 'text', value: BidAdjustmentType, optionsValue: 'val', enable: false\\\"\"+pug.attr(\"aria-label\", i18n.getString('BidAdjustment_Options'), true, true)) + \"\\u003E\\u003C\\u002Fselect\\u003E\\u003C\\u002Ftd\\u003E\\u003Ctd width=\\\"6%\\\"\\u003E\\u003Cinput\" + (\" class=\\\"form-control\\\"\"+\" data-bind=\\\"value: BidAdjustmentAmount, valueUpdate: 'input', enable: false, css: {'validation-error': scheduleInRowError().type === 'ERROR_BID'}\\\"\"+pug.attr(\"aria-label\", i18n.getString('BidAdjustment_BidMultiplier'), true, true)) + \"\\u003E\\u003C\\u002Ftd\\u003E\\u003Ctd\\u003E\\u003Cspan class=\\\"bidBoost-percent\\\"\\u003E\" + (pug.escape(null == (pug_interp = percentSymbol) ? \"\" : pug_interp)) + \"\\u003C\\u002Fspan\\u003E\\u003C\\u002Ftd\\u003E\";\n}\npug_html = pug_html + \"\\u003C!-- ko if: $root.supportCashbackSettings--\\u003E\\u003Ctd class=\\\"cashback-percent-options-cell\\\"\\u003E\\u003Cselect class=\\\"cashback-option-select form-control\\\" data-bind=\\\"enable: false, options: CashbackPercentOptions, optionsText:'text', optionsValue: 'value', value: CashbackPercentSelectedOption\\\"\\u003E\\u003C\\u002Fselect\\u003E\\u003C\\u002Ftd\\u003E\\u003Ctd class=\\\"cashback-percent-cell\\\"\\u003E\\u003Cspan class=\\\"inherit-cashback-value\\\" data-bind=\\\"visible: CashbackPercentSelectedOption() === 'inherit'\\\"\\u003E\\u003Cinput class=\\\"inline-input inherit-value-span form-control\\\" data-bind=\\\"enable: false, value: InheritCashbackPercentValue\\\"\\u003E\\u003Cspan\\u003E\" + (pug.escape(null == (pug_interp = i18n.getString('Campaign_Discount')) ? \"\" : pug_interp)) + \"\\u003C\\u002Fspan\\u003E\\u003C\\u002Fspan\\u003E\\u003Cspan class=\\\"cashback-input-container\\\" data-bind=\\\"visible: CashbackPercentSelectedOption() == 'override'\\\"\\u003E\\u003Cinput\" + (\" class=\\\"form-control\\\"\"+\" data-bind=\\\"value: CashbackPercent, enable: false\\\"\"+pug.attr(\"aria-label\", i18n.getString('Campaign_Maximum_Cashback_Offer'), true, true)) + \"\\u003E\\u003Cspan\\u003E\" + (pug.escape(null == (pug_interp = i18n.get('Campaign_Discount')) ? \"\" : pug_interp)) + \"\\u003C\\u002Fspan\\u003E\\u003C\\u002Fspan\\u003E\\u003C\\u002Ftd\\u003E\\u003C!-- \\u002Fko--\\u003E\\u003Ctd\\u003E\" + (pug.escape(null == (pug_interp = i18n.get('Column_Cell_Remove')) ? \"\" : pug_interp)) + \"\\u003C\\u002Ftd\\u003E\\u003C\\u002Ftr\\u003E\\u003Ctr data-bind=\\\"css: { displayNone: !scheduleInRowError().message }\\\" role=\\\"alert\\\"\\u003E\\u003Ctd colspan=\\\"11\\\"\\u003E\\u003Cdiv class=\\\"error\\\" data-bind=\\\"text: scheduleInRowError().message\\\" role=\\\"alert\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Ftd\\u003E\\u003C\\u002Ftr\\u003E\\u003C!-- \\u002Fko --\\u003E\\n\\u003C!-- \\u002Fko --\\u003E\\n\\u003C!-- ko ifnot: useCampaignSettings --\\u003E\\n\\u003C!-- ko foreach: dayTimeRanges --\\u003E\\u003Ctr\\u003E\\u003Ctd\\u003E\\u003Cselect\" + (\" class=\\\"form-control\\\"\"+\" data-bind=\\\"options: $root.dayOptions, optionsText: 'name', value: Day, optionsValue: 'val', enable: isDayTimeEditable\\\"\"+pug.attr(\"aria-label\", i18n.getString('Column_Heading_TargetedDays'), true, true)) + \"\\u003E\\u003C\\u002Fselect\\u003E\\u003C\\u002Ftd\\u003E\\u003Ctd\" + (pug.attr(\"colspan\", (hideMinuteOptions ? '3': '1'), true, true)) + \"\\u003E\\u003Cselect\" + (\" class=\\\"form-control\\\"\"+\" data-bind=\\\"options: $root.fromHourOptions, optionsText: 'optionsText', value: StartHour, optionsValue: 'val', enable: isDayTimeEditable, css: {'validation-error': scheduleInRowError().type === 'ERROR_TIME'}\\\"\"+pug.attr(\"aria-label\", i18n.getString('ImprovedAdScheduling_Column_Start_Hour'), true, true)) + \"\\u003E\\u003C\\u002Fselect\\u003E\\u003C\\u002Ftd\\u003E\";\nif (!hideMinuteOptions) {\npug_html = pug_html + \"\\u003Ctd\\u003E\\u003Cspan\\u003E:\\u003C\\u002Fspan\\u003E\\u003C\\u002Ftd\\u003E\\u003Ctd\\u003E\\u003Cselect\" + (\" class=\\\"form-control\\\"\"+\" data-bind=\\\"options: $root.minuteOptions, optionsText: 'minuteName', value: StartMinute, optionsValue: 'val', enable: isDayTimeEditable, css: {'validation-error': scheduleInRowError().type === 'ERROR_TIME'}\\\"\"+pug.attr(\"aria-label\", i18n.getString('ImprovedAdScheduling_Column_Start_Minute'), true, true)) + \"\\u003E\\u003C\\u002Fselect\\u003E\\u003C\\u002Ftd\\u003E\";\n}\npug_html = pug_html + \"\\u003Ctd\" + (pug.attr(\"colspan\", (hideMinuteOptions ? '3': '1'), true, true)) + \"\\u003E\\u003Cselect\" + (\" class=\\\"form-control\\\"\"+\" data-bind=\\\"options: $root.toHourOptions, optionsText: 'optionsText', value: EndHour, optionsValue: 'val', enable: isDayTimeEditable, css: {'validation-error': scheduleInRowError().type === 'ERROR_TIME'}\\\"\"+pug.attr(\"aria-label\", i18n.getString('ImprovedAdScheduling_Column_End_Hour'), true, true)) + \"\\u003E\\u003C\\u002Fselect\\u003E\\u003C\\u002Ftd\\u003E\";\nif (!hideMinuteOptions) {\npug_html = pug_html + \"\\u003Ctd\\u003E\\u003Cspan\\u003E:\\u003C\\u002Fspan\\u003E\\u003C\\u002Ftd\\u003E\\u003Ctd\\u003E\\u003Cselect\" + (\" class=\\\"form-control\\\"\"+\" data-bind=\\\"options: $root.minuteOptions, optionsText: 'minuteName', value: EndMinute, optionsValue: 'val', enable: isDayTimeEditable, css: {'validation-error': scheduleInRowError().type === 'ERROR_TIME'}\\\"\"+pug.attr(\"aria-label\", i18n.getString('ImprovedAdScheduling_Column_End_Minute'), true, true)) + \"\\u003E\\u003C\\u002Fselect\\u003E\\u003C\\u002Ftd\\u003E\";\n}\nif (showBidAdjustmentColumn) {\npug_html = pug_html + \"\\u003Ctd\\u003E\\u003Cselect\" + (\" class=\\\"form-control\\\"\"+\" data-bind=\\\"options: $root.bidAdjustmentOptions, optionsText: 'text', value: BidAdjustmentType, optionsValue: 'val'\\\"\"+pug.attr(\"aria-label\", i18n.getString('BidAdjustment_Options'), true, true)) + \"\\u003E\\u003C\\u002Fselect\\u003E\\u003C\\u002Ftd\\u003E\\u003Ctd width=\\\"6%\\\"\\u003E\\u003Cinput\" + (\" class=\\\"form-control\\\"\"+\" data-bind=\\\"value: BidAdjustmentAmount, valueUpdate: 'input', css: {'validation-error': scheduleInRowError().type === 'ERROR_BID'}\\\"\"+pug.attr(\"aria-label\", i18n.getString('BidAdjustment_BidMultiplier'), true, true)) + \"\\u003E\\u003C\\u002Ftd\\u003E\\u003Ctd\\u003E\\u003Cspan class=\\\"bidBoost-percent\\\"\\u003E\" + (pug.escape(null == (pug_interp = percentSymbol) ? \"\" : pug_interp)) + \"\\u003C\\u002Fspan\\u003E\\u003C\\u002Ftd\\u003E\";\n}\npug_html = pug_html + \"\\u003C!-- ko if: $root.supportCashbackSettings--\\u003E\\u003Ctd class=\\\"cashback-percent-options-cell\\\"\\u003E\\u003Cselect class=\\\"cashback-option-select form-control\\\" data-bind=\\\"options: CashbackPercentOptions, optionsText:'text', optionsValue: 'value', value: CashbackPercentSelectedOption\\\"\\u003E\\u003C\\u002Fselect\\u003E\\u003C\\u002Ftd\\u003E\\u003Ctd class=\\\"cashback-percent-cell\\\"\\u003E\\u003Cspan class=\\\"inherit-cashback-value\\\" data-bind=\\\"visible: CashbackPercentSelectedOption() === 'inherit'\\\"\\u003E\\u003Cinput class=\\\"inline-input inherit-value-span form-control\\\" data-bind=\\\"enable: false, value: InheritCashbackPercentValue\\\"\\u003E\\u003Cspan\\u003E\" + (pug.escape(null == (pug_interp = i18n.getString('Campaign_Discount')) ? \"\" : pug_interp)) + \"\\u003C\\u002Fspan\\u003E\\u003C\\u002Fspan\\u003E\\u003Cspan class=\\\"cashback-input-container\\\" data-bind=\\\"visible: CashbackPercentSelectedOption() === 'override'\\\"\\u003E\\u003Cinput\" + (\" class=\\\"form-control\\\"\"+\" data-bind=\\\"value: CashbackPercent, valueUpdate: 'input', css: {'validation-error': scheduleInRowError().type === 'ERROR_CASHBACK_PERCENT'}\\\"\"+pug.attr(\"aria-label\", i18n.getString('Campaign_Maximum_Cashback_Offer'), true, true)) + \"\\u003E\\u003Cspan\\u003E\" + (pug.escape(null == (pug_interp = i18n.get('Campaign_Discount')) ? \"\" : pug_interp)) + \"\\u003C\\u002Fspan\\u003E\\u003C\\u002Fspan\\u003E\\u003C\\u002Ftd\\u003E\\u003C!-- \\u002Fko--\\u003E\\u003Ctd\\u003E\\u003Ca class=\\\"remove-schedule\\\" data-bind=\\\"attr:{'data-index': $index}\\\" href=\\\"javascript:void(0);\\\" role=\\\"button\\\"\\u003E\" + (pug.escape(null == (pug_interp = i18n.get('Column_Cell_Remove')) ? \"\" : pug_interp)) + \"\\u003C\\u002Fa\\u003E\\u003C\\u002Ftd\\u003E\\u003C\\u002Ftr\\u003E\\u003Ctr data-bind=\\\"css: { displayNone: !scheduleInRowError().message }\\\" role=\\\"alert\\\"\\u003E\\u003Ctd colspan=\\\"11\\\"\\u003E\\u003Cdiv class=\\\"error\\\" data-bind=\\\"text: scheduleInRowError().message\\\" role=\\\"alert\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Ftd\\u003E\\u003C\\u002Ftr\\u003E\\u003C!-- \\u002Fko --\\u003E\\n\\u003C!-- \\u002Fko --\\u003E\\u003C\\u002Ftbody\\u003E\\u003C\\u002Ftable\\u003E\\u003Cdiv class=\\\"ad-scheduling-panel\\\"\\u003E\\u003Ctable role=\\\"presentation\\\"\\u003E\\u003Ctbody\\u003E\\u003Ctr\\u003E\\u003Cdiv class=\\\"error\\\" data-bind=\\\"css: { displayNone: !schedulingRowsErrorMessage() || hideAdScheduleBidAdjustments() }, text: schedulingRowsErrorMessage\\\" role=\\\"alert\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Ftr\\u003E\\u003Ctr data-bind=\\\"css: { displayNone: hideAdScheduleBidAdjustments() }\\\"\\u003E\\u003Ctd\\u003E\\u003C!-- ko ifnot: useCampaignSettings --\\u003E\\u003Ca\" + (\" class=\\\"add-time-row\\\"\"+\" href=\\\"javascript:void(0);\\\"\"+pug.attr(\"aria-label\", i18n.getString('Add another ad schedule'), true, true)) + \"\\u003E\" + (pug.escape(null == (pug_interp = i18n.get(\"ImprovedAdScheduling_Add\")) ? \"\" : pug_interp)) + \"\\u003C\\u002Fa\\u003E\\u003C!-- \\u002Fko --\\u003E\\u003C\\u002Ftd\\u003E\\u003C\\u002Ftr\\u003E\";\nif (showDisplayTimeAndFooter) {\npug_html = pug_html + (\"\\u003Ctr data-bind=\\\"css: { displayNone: hideAdScheduleBidAdjustments() }\\\"\\u003E\\u003Ctd\\u003E\\u003Cdiv role=\\\"radiogroup\\\" aria-labelledby=\\\"adScheduleDisplayTimeLabel\\\"\\u003E\\u003Cspan id=\\\"adScheduleDisplayTimeLabel\\\"\\u003E\" + (pug.escape(null == (pug_interp = i18n.get('ImprovedAdScheduling_Display_Time')) ? \"\" : pug_interp)) + \"\\u003C\\u002Fspan\\u003E\\u003Clabel class=\\\"radio-inline\\\"\\u003E\\u003Cinput type=\\\"radio\\\" name=\\\"adScheduleDisplayTime\\\" value=\\\"12-hour\\\" data-bind=\\\"checked: timeDisplayTypeEdit\\\"\\u003E\" + (pug.escape(null == (pug_interp = i18n.get('ImprovedAdScheduling_12_Hour_Label')) ? \"\" : pug_interp)) + \"\\u003C\\u002Flabel\\u003E\\u003Clabel class=\\\"radio-inline\\\"\\u003E\\u003Cinput type=\\\"radio\\\" name=\\\"adScheduleDisplayTime\\\" value=\\\"24-hour\\\" data-bind=\\\"checked: timeDisplayTypeEdit\\\"\\u003E\" + (pug.escape(null == (pug_interp = i18n.get('ImprovedAdScheduling_24_Hour_Label')) ? \"\" : pug_interp)) + \"\\u003C\\u002Flabel\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Ftd\\u003E\\u003C\\u002Ftr\\u003E\\u003Ctr\\u003E\\u003Ctd\\u003E\\u003Cspan class=\\\"item-label schedule-item-label form-control-static\\\" id=\\\"adScheduleUseSearcherTimeZoneLabel\\\"\\u003E\" + (pug.escape(null == (pug_interp = i18n.get('ImprovedAdScheduling_TimeZone_Colon')) ? \"\" : pug_interp)));\npug_mixins[\"popupHelp\"](popupIds.TimeZone, i18n.get('ImprovedAdScheduling_TimeZone_Colon'), i18n);\npug_html = pug_html + \"\\u003C\\u002Fspan\\u003E\\u003Cdiv class=\\\"schedule-timezone-setting\\\" role=\\\"radiogroup\\\" aria-labelledby=\\\"adScheduleUseSearcherTimeZoneLabel\\\"\\u003E\\u003Cdiv class=\\\"radio\\\"\\u003E\\u003Clabel class=\\\"schedule-timezone-setting-account\\\"\\u003E\\u003Cinput type=\\\"radio\\\" name=\\\"adScheduleUseSearcherTimeZone\\\" value=\\\"false\\\" data-bind=\\\"checked: adScheduleUseSearcherTimeZoneEdit, attr: { disabled: disableAdScheduleTimeZoneEdit()}\\\"\\u003E\" + (pug.escape(null == (pug_interp = i18n.get('ImprovedAdScheduling_TimeZone_LocationOfYourAccount')) ? \"\" : pug_interp)) + \"\\u003C\\u002Flabel\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"schedule-timezone-setting-text\\\" data-bind=\\\"text: timeZoneText\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"radio\\\"\\u003E\\u003Clabel class=\\\"schedule-timezone-setting-viewer\\\"\\u003E\\u003Cinput type=\\\"radio\\\" name=\\\"adScheduleUseSearcherTimeZone\\\" value=\\\"true\\\" data-bind=\\\"checked: adScheduleUseSearcherTimeZoneEdit, attr: { disabled: disableAdScheduleTimeZoneEdit()}\\\"\\u003E\" + (pug.escape(null == (pug_interp = i18n.get('ImprovedAdScheduling_TimeZone_LocationOfPerson')) ? \"\" : pug_interp)) + \"\\u003C\\u002Flabel\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Ftd\\u003E\\u003C\\u002Ftr\\u003E\";\n}\npug_html = pug_html + \"\\u003C\\u002Ftbody\\u003E\\u003C\\u002Ftable\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";}.call(this,\"hideMinuteOptions\" in locals_for_with?locals_for_with.hideMinuteOptions:typeof hideMinuteOptions!==\"undefined\"?hideMinuteOptions:undefined,\"i18n\" in locals_for_with?locals_for_with.i18n:typeof i18n!==\"undefined\"?i18n:undefined,\"i18nKeys\" in locals_for_with?locals_for_with.i18nKeys:typeof i18nKeys!==\"undefined\"?i18nKeys:undefined,\"percentSymbol\" in locals_for_with?locals_for_with.percentSymbol:typeof percentSymbol!==\"undefined\"?percentSymbol:undefined,\"popupIds\" in locals_for_with?locals_for_with.popupIds:typeof popupIds!==\"undefined\"?popupIds:undefined,\"showBidAdjustmentColumn\" in locals_for_with?locals_for_with.showBidAdjustmentColumn:typeof showBidAdjustmentColumn!==\"undefined\"?showBidAdjustmentColumn:undefined,\"showDisplayTimeAndFooter\" in locals_for_with?locals_for_with.showDisplayTimeAndFooter:typeof showDisplayTimeAndFooter!==\"undefined\"?showDisplayTimeAndFooter:undefined));;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../node_modules/.pnpm/pug@2.0.4/node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;pug_html = pug_html + \"\\u003Cdiv class=\\\"actionextension-search-dropdown-container\\\"\\u003E\\u003C\\u002Fdiv\\u003E\";;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../node_modules/.pnpm/pug@2.0.4/node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;;var locals_for_with = (locals || {});(function (data, getActionText) {pug_html = pug_html + \"\\u003Cdiv class=\\\"itemTemplate-text\\\"\\u003E\\u003Cspan\\u003E\" + (pug.escape(null == (pug_interp = getActionText(data)) ? \"\" : pug_interp)) + \"\\u003C\\u002Fspan\\u003E\\u003C\\u002Fdiv\\u003E\";}.call(this,\"data\" in locals_for_with?locals_for_with.data:typeof data!==\"undefined\"?data:undefined,\"getActionText\" in locals_for_with?locals_for_with.getActionText:typeof getActionText!==\"undefined\"?getActionText:undefined));;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../node_modules/.pnpm/pug@2.0.4/node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;;var locals_for_with = (locals || {});(function (data) {pug_html = pug_html + \"\\u003Cdiv class=\\\"itemTemplate-text\\\"\\u003E\\u003Cspan\\u003E\" + (pug.escape(null == (pug_interp = data.AppPlatform) ? \"\" : pug_interp)) + \"\\u003C\\u002Fspan\\u003E\\u003Cdiv\\u003E\" + (pug.escape(null == (pug_interp = data.DisplayText) ? \"\" : pug_interp)) + \"\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";}.call(this,\"data\" in locals_for_with?locals_for_with.data:typeof data!==\"undefined\"?data:undefined));;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../node_modules/.pnpm/pug@2.0.4/node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;pug_html = pug_html + \"\\u003Cdiv class=\\\"appListItem\\\"\\u003E# if (!!data.MediaUrl) { #\\u003Cimg class=\\\"appListIcon\\\" src=\\\"#:data.MediaUrl#\\\"\\u003E# } else { #\\u003Cdiv class=\\\"appListIcon #:data.iconClass#\\\"\\u003E\\u003C\\u002Fdiv\\u003E# } #\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"appListItem-text\\\"\\u003E\\u003Cspan\\u003E#:data.AppPlatform#\\u003C\\u002Fspan\\u003E\\u003Cbr\\u003E\\u003Cspan\\u003E#:data.DisplayText#\\u003C\\u002Fspan\\u003E\\u003C\\u002Fdiv\\u003E\";;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../node_modules/.pnpm/pug@2.0.4/node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;;var locals_for_with = (locals || {});(function (appInstallTrackingSupported, i18n) {pug_mixins[\"fwLink\"] = pug_interp = function(linkId, displayText, ariaLabelContext){\nvar block = (this && this.block), attributes = (this && this.attributes) || {};\npug_html = pug_html + \"\\u003Ca\" + (pug.attr(\"href\", 'https://go.microsoft.com/fwlink/?linkid=' + linkId, true, true)+\" target=\\\"_blank\\\"\"+pug.attr(\"aria-label\", (ariaLabelContext || '') + ' ' + displayText, true, true)) + \"\\u003E\" + (pug.escape(null == (pug_interp = displayText) ? \"\" : pug_interp)) + \"\\u003C\\u002Fa\\u003E\";\n};\npug_html = pug_html + (\"\\u003Cdiv class=\\\"h3\\\"\\u003E\" + (pug.escape(null == (pug_interp = i18n.get('AdExtensions_App_Dialog_Subtitle')) ? \"\" : pug_interp)));\nif (!appInstallTrackingSupported) {\npug_mixins[\"fwLink\"]('830999', i18n.get('AdExtensions_App_Editor_LearnMore'), i18n.get('AdExtensions_App_Dialog_Subtitle'));\n}\npug_html = pug_html + \"\\u003C\\u002Fdiv\\u003E\";}.call(this,\"appInstallTrackingSupported\" in locals_for_with?locals_for_with.appInstallTrackingSupported:typeof appInstallTrackingSupported!==\"undefined\"?appInstallTrackingSupported:undefined,\"i18n\" in locals_for_with?locals_for_with.i18n:typeof i18n!==\"undefined\"?i18n:undefined));;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../node_modules/.pnpm/pug@2.0.4/node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;;var locals_for_with = (locals || {});(function (i18n) {pug_mixins[\"fwLink\"] = pug_interp = function(linkId, displayText, ariaLabelContext){\nvar block = (this && this.block), attributes = (this && this.attributes) || {};\npug_html = pug_html + \"\\u003Ca\" + (pug.attr(\"href\", 'https://go.microsoft.com/fwlink/?linkid=' + linkId, true, true)+\" target=\\\"_blank\\\"\"+pug.attr(\"aria-label\", (ariaLabelContext || '') + ' ' + displayText, true, true)) + \"\\u003E\" + (pug.escape(null == (pug_interp = displayText) ? \"\" : pug_interp)) + \"\\u003C\\u002Fa\\u003E\";\n};\npug_html = pug_html + (\"\\u003Cdiv class=\\\"alert-info-inline alert-spacing HelpTopic\\\"\\u003E\" + (pug.escape(null == (pug_interp = (i18n.get('AdExtensions_App_Editor_URL_Text') + ' ')) ? \"\" : pug_interp)));\npug_mixins[\"fwLink\"]('830999', i18n.get('AdExtensions_App_Editor_LearnMore'), i18n.get('AdExtensions_App_Editor_URL_Text'));\npug_html = pug_html + (\"\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"alert-info-inline alert-spacing HelpTopic\\\"\\u003E\" + (pug.escape(null == (pug_interp = (i18n.get('AdExtensions_App_Editor_Conversion_Text') + ' ')) ? \"\" : pug_interp)));\npug_mixins[\"fwLink\"]('843789', i18n.get('AdExtensions_App_Editor_LearnMore'), i18n.get('AdExtensions_App_Editor_Conversion_Text'));\npug_html = pug_html + \"\\u003C\\u002Fdiv\\u003E\";}.call(this,\"i18n\" in locals_for_with?locals_for_with.i18n:typeof i18n!==\"undefined\"?i18n:undefined));;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../node_modules/.pnpm/pug@2.0.4/node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;;var locals_for_with = (locals || {});(function (hasSubTitle, i18n, i18nKeys, showErrorsInline, showSaveBar, showSaveButtonAsDefaultButton, subtitleArgs) {pug_html = pug_html + \"\\u003Cdiv class=\\\"form-horizontal\\\"\\u003E\\u003Cdiv class=\\\"bulkedit association-editor associations__container\\\"\\u003E\\u003Cdiv class=\\\"panel-body\\\" data-bind=\\\"visible: showEditor\\\"\\u003E\";\nif (hasSubTitle) {\n// iterate i18nKeys.subtitle\n;(function(){\n var $$obj = i18nKeys.subtitle;\n if ('number' == typeof $$obj.length) {\n for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) {\n var subtitle = $$obj[pug_index0];\npug_html = pug_html + \"\\u003Ch5 class=\\\"associations-sub-title\\\"\\u003E\" + (null == (pug_interp = i18n.get(subtitle, subtitleArgs)) ? \"\" : pug_interp) + \"\\u003C\\u002Fh5\\u003E\";\n }\n } else {\n var $$l = 0;\n for (var pug_index0 in $$obj) {\n $$l++;\n var subtitle = $$obj[pug_index0];\npug_html = pug_html + \"\\u003Ch5 class=\\\"associations-sub-title\\\"\\u003E\" + (null == (pug_interp = i18n.get(subtitle, subtitleArgs)) ? \"\" : pug_interp) + \"\\u003C\\u002Fh5\\u003E\";\n }\n }\n}).call(this);\n\n}\nif (showErrorsInline) {\npug_html = pug_html + \"\\u003Cul class=\\\"alert alert-danger\\\" id=\\\"editorErrors\\\" data-bind=\\\"visible: errors().length > 0, foreach: errors\\\" role=\\\"alert\\\"\\u003E\\u003Cli data-bind=\\\"html: $data\\\"\\u003E\\u003C\\u002Fli\\u003E\\u003C\\u002Ful\\u003E\";\n}\npug_html = pug_html + \"\\u003Cdiv class=\\\"associations\\\"\\u003E\\u003Cdiv class=\\\"form-group img-dblList-Container extension-editor-dblist-container\\\"\\u003E\\u003Cdiv class=\\\"doubleListBox\\\" data-bind=\\\"doubleListBox: selectedExtensions,\\n dlbData: {sourceItems: options.allExtensions,\\n itemIdField: options.idField,\\n pageSize: options.pageSize,\\n itemFilterField: options.filterField,\\n seCallbackForFetchOnly:false },\\n dlbItemActions: options.itemActions,\\n dlbProcessItem: options.processItem,\\n dlbProcessSourceOptions: options.processSourceOptions,\\n dlbProcessSelectedOptions: options.processSelectedOptions,\\n dlbFeatures: {selectAll: options.allowSelectAll,\\n deselectAll: options.allowDeselectAll,\\n paging: true,\\n dragAndDrop: false,\\n maxSelectedItemsCount: options.maxSelectedItemsCount },\\n dlbTemplates: {layoutTemplate: options.dlbLayoutTemplate,\\n sourceItemTemplateType: options.itemTemplateType,\\n sourceItemContentTemplate: options.itemTemplate,\\n selectedItemTemplateType: options.itemTemplateType,\\n selectedItemContentTemplate: options.itemTemplate },\\n dlbStrings: {sourceItems: sourceItemsString,\\n selectedItems: selectedItemsString,\\n filterWatermark: filterWatermarkString,\\n filterAriaLabel: filterAriaLabelString,\\n maxSelectedItems: maxSelectedItemsString,\\n maximumSelectionAlertString: maximumSelectionAlertString }\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"form-group multi-image-ad-extension-need-more-warning\\\" data-bind=\\\"visible: shouldShowMultiAssetWarning\\\"\\u003E\\u003Cdiv class=\\\"alert alert-info\\\"\\u003E\\u003Cdiv class=\\\"alert-image\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"alert-info-inline\\\"\\u003E\\u003Cspan\\u003E\" + (pug.escape(null == (pug_interp = i18n.get('ImageAdExtensionV2_Minimum_Number_Not_Met_MultiAsset_Message')) ? \"\" : pug_interp)) + \"\\u003C\\u002Fspan\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"form-group create-link-Container\\\"\\u003E\\u003Cspan\\u003E+ \\u003C\\u002Fspan\\u003E\\u003Ca class=\\\"btn-create\\\" href=\\\"javascript:void(0);\\\"\\u003E\" + (pug.escape(null == (pug_interp = i18n.get(i18nKeys.create_link)) ? \"\" : pug_interp)) + \"\\u003C\\u002Fa\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";\nif (showSaveBar) {\npug_html = pug_html + \"\\u003Cdiv class=\\\"panel-body\\\"\\u003E\\u003Cdiv class=\\\"form-group associations save-bar col-sm-12\\\"\\u003E\\u003Cinput\" + (pug.attr(\"class\", pug.classes([\"btn-save\",\"btn\",{'btn-primary': !showSaveButtonAsDefaultButton, 'btn-default': showSaveButtonAsDefaultButton}], [false,false,true]), false, true)+\" type=\\\"button\\\"\"+pug.attr(\"value\", i18n.get(i18nKeys.save_btn), true, true)+\" data-bind=\\\"attr: {disabled: !showEditor()}\\\" aria-describedby=\\\"editorErrors\\\"\") + \"\\u003E\\u003Cspan\\u003E \\u003C\\u002Fspan\\u003E\\u003Cinput\" + (\" class=\\\"btn-cancel btn btn-default\\\"\"+\" type=\\\"button\\\"\"+pug.attr(\"value\", i18n.get(i18nKeys.cancel_btn), true, true)) + \"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";\n}\npug_html = pug_html + \"\\u003Cdiv class=\\\"panel-body errors-container\\\" data-bind=\\\"visible: failedAssociationsLabel().length>0\\\"\\u003E\\u003Cdiv\\u003E\\u003Cspan class=\\\"status_error toolbar-icon toolbar-icon-left\\\"\\u003E\\u003C\\u002Fspan\\u003E\\u003Cspan data-bind=\\\"text: failedAssociationsLabel\\\"\\u003E\\u003C\\u002Fspan\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv\\u003E\\u003Cspan class=\\\"statusOk-icon status_success toolbar-icon toolbar-icon-left\\\"\\u003E\\u003C\\u002Fspan\\u003E\\u003Cspan data-bind=\\\"text: successfulAssociationsLabel\\\"\\u003E\\u003C\\u002Fspan\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"error-grid-container\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";}.call(this,\"hasSubTitle\" in locals_for_with?locals_for_with.hasSubTitle:typeof hasSubTitle!==\"undefined\"?hasSubTitle:undefined,\"i18n\" in locals_for_with?locals_for_with.i18n:typeof i18n!==\"undefined\"?i18n:undefined,\"i18nKeys\" in locals_for_with?locals_for_with.i18nKeys:typeof i18nKeys!==\"undefined\"?i18nKeys:undefined,\"showErrorsInline\" in locals_for_with?locals_for_with.showErrorsInline:typeof showErrorsInline!==\"undefined\"?showErrorsInline:undefined,\"showSaveBar\" in locals_for_with?locals_for_with.showSaveBar:typeof showSaveBar!==\"undefined\"?showSaveBar:undefined,\"showSaveButtonAsDefaultButton\" in locals_for_with?locals_for_with.showSaveButtonAsDefaultButton:typeof showSaveButtonAsDefaultButton!==\"undefined\"?showSaveButtonAsDefaultButton:undefined,\"subtitleArgs\" in locals_for_with?locals_for_with.subtitleArgs:typeof subtitleArgs!==\"undefined\"?subtitleArgs:undefined));;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../node_modules/.pnpm/pug@2.0.4/node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;;var locals_for_with = (locals || {});(function (i18n) {pug_html = pug_html + \"\\u003Cdiv class=\\\"terms-of-service\\\"\\u003E\\u003Cp class=\\\"title\\\"\\u003E\" + (pug.escape(null == (pug_interp = i18n.getString('TermsOfService_title')) ? \"\" : pug_interp)) + \"\\u003C\\u002Fp\\u003E\\u003Cp class=\\\"alert-content\\\"\\u003E\" + (pug.escape(null == (pug_interp = i18n.getString('TermsOfService_alert_Msg')) ? \"\" : pug_interp)) + \"\\u003C\\u002Fp\\u003E\\u003Cp\\u003E\" + (pug.escape(null == (pug_interp = i18n.getString('TermsOfService_Msg_1')) ? \"\" : pug_interp)) + \"\\u003C\\u002Fp\\u003E\\u003Cp\\u003E\" + (pug.escape(null == (pug_interp = i18n.getString('TermsOfService_Msg_2')) ? \"\" : pug_interp)) + \"\\u003C\\u002Fp\\u003E\\u003Cp\\u003E\" + (pug.escape(null == (pug_interp = i18n.getString('TermsOfService_Msg_3')) ? \"\" : pug_interp)) + \"\\u003C\\u002Fp\\u003E\\u003Cul\\u003E\\u003Cli\\u003E\" + (pug.escape(null == (pug_interp = i18n.getString('TermsOfService_List_Msg_1')) ? \"\" : pug_interp)) + \"\\u003C\\u002Fli\\u003E\\u003Cli\\u003E\" + (pug.escape(null == (pug_interp = i18n.getString('TermsOfService_List_Msg_2')) ? \"\" : pug_interp)) + \"\\u003C\\u002Fli\\u003E\\u003Cli\\u003E\" + (pug.escape(null == (pug_interp = i18n.getString('TermsOfService_List_Msg_3')) ? \"\" : pug_interp)) + \"\\u003C\\u002Fli\\u003E\\u003C\\u002Ful\\u003E\\u003Cp\\u003E\" + (pug.escape(null == (pug_interp = i18n.getString('TermsOfService_Msg_4')) ? \"\" : pug_interp)) + \"\\u003C\\u002Fp\\u003E\\u003Cp\\u003E\" + (pug.escape(null == (pug_interp = i18n.getString('TermsOfService_Msg_5')) ? \"\" : pug_interp)) + \"\\u003C\\u002Fp\\u003E\\u003Cp\\u003E\" + (pug.escape(null == (pug_interp = i18n.getString('TermsOfService_Msg_6')) ? \"\" : pug_interp)) + \"\\u003C\\u002Fp\\u003E\\u003Cdiv class=\\\"button-group\\\"\\u003E\\u003Cinput\" + (\" class=\\\"accept btn btn-primary\\\"\"+\" type=\\\"button\\\"\"+pug.attr(\"value\", i18n.getString('Button_Accept'), true, true)) + \"\\u003E\\u003Cinput\" + (\" class=\\\"cancel btn btn-default\\\"\"+\" type=\\\"button\\\"\"+pug.attr(\"value\", i18n.getString('Button_Cancel'), true, true)) + \"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";}.call(this,\"i18n\" in locals_for_with?locals_for_with.i18n:typeof i18n!==\"undefined\"?i18n:undefined));;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../node_modules/.pnpm/pug@2.0.4/node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;;var locals_for_with = (locals || {});(function (i18n, id) {pug_mixins[\"fwLink\"] = pug_interp = function(linkId, displayText, ariaLabelContext){\nvar block = (this && this.block), attributes = (this && this.attributes) || {};\npug_html = pug_html + \"\\u003Ca\" + (pug.attr(\"href\", 'https://go.microsoft.com/fwlink/?linkid=' + linkId, true, true)+\" target=\\\"_blank\\\"\"+pug.attr(\"aria-label\", (ariaLabelContext || '') + ' ' + displayText, true, true)) + \"\\u003E\" + (pug.escape(null == (pug_interp = displayText) ? \"\" : pug_interp)) + \"\\u003C\\u002Fa\\u003E\";\n};\npug_html = pug_html + \"\\u003Cdiv\" + (pug.attr(\"id\", id, true, true)+\" role=\\\"radiogroup\\\"\"+pug.attr(\"aria-labelledby\", id + '-Label', true, true)+pug.attr(\"aria-describedby\", id + '-Validation', true, true)) + \"\\u003E\\u003Cdiv class=\\\"radio\\\"\\u003E\\u003Clabel\\u003E\\u003Cinput\" + (\" type=\\\"radio\\\" role=\\\"radio\\\"\"+pug.attr(\"name\", id, true, true)+\" value=\\\"true\\\" data-bind=\\\"checked: stringIsCallTrackingEnabled, disable: disableCallTracking, attr: { "aria-checked": stringIsCallTrackingEnabled }\\\"\") + \"\\u003E\\u003Cdiv\\u003E\" + (pug.escape(null == (pug_interp = i18n.get('AdExtensions_Call_TrackingOptions_Enable')) ? \"\" : pug_interp)) + \"\\u003C\\u002Fdiv\\u003E\\u003Cdiv\\u003E\";\npug_mixins[\"fwLink\"]('832337', i18n.get('AdExtensions_Call_Editor_LearnMore'), i18n.get('AdExtensions_Call_TrackingOptions_Enable'));\npug_html = pug_html + \"\\u003C\\u002Fdiv\\u003E\\u003C\\u002Flabel\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"radio\\\"\\u003E\\u003Clabel\\u003E\\u003Cinput\" + (\" type=\\\"radio\\\" role=\\\"radio\\\"\"+pug.attr(\"name\", id, true, true)+\" value=\\\"false\\\" data-bind=\\\"checked: stringIsCallTrackingEnabled, attr: { "aria-checked": stringIsCallTrackingEnabled }\\\"\") + \"\\u003E\" + (pug.escape(null == (pug_interp = i18n.get('AdExtensions_Call_TrackingOptions_Disable')) ? \"\" : pug_interp)) + \"\\u003C\\u002Flabel\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";}.call(this,\"i18n\" in locals_for_with?locals_for_with.i18n:typeof i18n!==\"undefined\"?i18n:undefined,\"id\" in locals_for_with?locals_for_with.id:typeof id!==\"undefined\"?id:undefined));;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../node_modules/.pnpm/pug@2.0.4/node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;;var locals_for_with = (locals || {});(function (data, i18n) {pug_html = pug_html + \"\\u003Cdiv class=\\\"itemTemplate-text\\\"\\u003E\\u003Cspan\\u003E\" + (pug.escape(null == (pug_interp = data.PhoneNumber) ? \"\" : pug_interp)) + \"\\u003C\\u002Fspan\\u003E\";\nif (data.IsCallTrackingEnabled) {\npug_html = pug_html + \"\\u003Cdiv\\u003E\" + (pug.escape(null == (pug_interp = i18n.get('AdExtension_CallExtensionIsMetered')) ? \"\" : pug_interp)) + \"\\u003C\\u002Fdiv\\u003E\";\n}\npug_html = pug_html + \"\\u003C\\u002Fdiv\\u003E\";}.call(this,\"data\" in locals_for_with?locals_for_with.data:typeof data!==\"undefined\"?data:undefined,\"i18n\" in locals_for_with?locals_for_with.i18n:typeof i18n!==\"undefined\"?i18n:undefined));;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../node_modules/.pnpm/pug@2.0.4/node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;;var locals_for_with = (locals || {});(function (i18n) {pug_html = pug_html + \"\\u003Cdiv class=\\\"alert alert-danger\\\"\\u003E\" + (pug.escape(null == (pug_interp = i18n.get('GenericErrorMessage')) ? \"\" : pug_interp)) + \"\\u003C\\u002Fdiv\\u003E\";}.call(this,\"i18n\" in locals_for_with?locals_for_with.i18n:typeof i18n!==\"undefined\"?i18n:undefined));;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../node_modules/.pnpm/pug@2.0.4/node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;pug_html = pug_html + \"\\u003Cdiv class=\\\"itemTemplate-text\\\"\\u003E\\u003Cspan\\u003E#:data.PhoneNumber#\\u003C\\u002Fspan\\u003E\\u003C\\u002Fdiv\\u003E\";;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../node_modules/.pnpm/pug@2.0.4/node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;pug_html = pug_html + \"\\u003Cdiv class=\\\"itemTemplate-text\\\"\\u003E\\u003Cspan\\u003E#:data.Text#\\u003C\\u002Fspan\\u003E\\u003C\\u002Fdiv\\u003E\";;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../node_modules/.pnpm/pug@2.0.4/node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;;var locals_for_with = (locals || {});(function (data) {pug_html = pug_html + \"\\u003Cdiv class=\\\"itemTemplate-text\\\"\\u003E\\u003Cspan\\u003E\" + (pug.escape(null == (pug_interp = data.Text) ? \"\" : pug_interp)) + \"\\u003C\\u002Fspan\\u003E\\u003C\\u002Fdiv\\u003E\";}.call(this,\"data\" in locals_for_with?locals_for_with.data:typeof data!==\"undefined\"?data:undefined));;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../node_modules/.pnpm/pug@2.0.4/node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;;var locals_for_with = (locals || {});(function (data) {pug_html = pug_html + \"\\u003Cdiv class=\\\"itemTemplate-text\\\"\\u003E\\u003Cdiv\\u003E\" + (pug.escape(null == (pug_interp = data.CompanyName) ? \"\" : pug_interp)) + \"\\u003C\\u002Fdiv\\u003E\";\n// iterate data.display\n;(function(){\n var $$obj = data.display;\n if ('number' == typeof $$obj.length) {\n for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) {\n var address = $$obj[pug_index0];\npug_html = pug_html + \"\\u003Cdiv\\u003E\" + (pug.escape(null == (pug_interp = address) ? \"\" : pug_interp)) + \"\\u003C\\u002Fdiv\\u003E\";\n }\n } else {\n var $$l = 0;\n for (var pug_index0 in $$obj) {\n $$l++;\n var address = $$obj[pug_index0];\npug_html = pug_html + \"\\u003Cdiv\\u003E\" + (pug.escape(null == (pug_interp = address) ? \"\" : pug_interp)) + \"\\u003C\\u002Fdiv\\u003E\";\n }\n }\n}).call(this);\n\npug_html = pug_html + \"\\u003Cdiv\\u003E\" + (pug.escape(null == (pug_interp = data.PhoneNumber) ? \"\" : pug_interp)) + \"\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";}.call(this,\"data\" in locals_for_with?locals_for_with.data:typeof data!==\"undefined\"?data:undefined));;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../node_modules/.pnpm/pug@2.0.4/node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;pug_html = pug_html + \"\\u003Cdiv class=\\\"itemTemplate-text\\\"\\u003E\\u003Cspan\\u003E#:data.CompanyName#\\u003C\\u002Fspan\\u003E\\u003Cbr\\u003E# for (var i = 0; i \\u003C data.display.length; i++) { #\\u003Cspan\\u003E#:data.display[i]#\\u003C\\u002Fspan\\u003E\\u003Cbr\\u003E# } #\\u003Cspan\\u003E#:data.PhoneNumber#\\u003C\\u002Fspan\\u003E\\u003C\\u002Fdiv\\u003E\";;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../node_modules/.pnpm/pug@2.0.4/node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;pug_html = pug_html + \"\\u003Cdiv class=\\\"itemTemplate-price-extension\\\"\\u003E\\u003Cdiv class=\\\"itemTemplate-text\\\"\\u003E\\u003Cul style=\\\"margin-bottom: 0px\\\"\\u003E# for (var i = 0; i \\u003C data.TableRows.length && i \\u003C data.showItemCount; i++) { #\\u003Cli class=\\\"price-adextension-item\\\" style=\\\"text-overflow: ellipsis;overflow: hidden;\\\"\\u003E\\u003Ca class=\\\"price-adextension-header\\\" href=\\\"#:data.TableRows[i].FinalUrls[0]#\\\"\\u003E#:data.TableRows[i].Header#\\u003C\\u002Fa\\u003E\\u003Cspan\\u003E\" + (pug.escape(null == (pug_interp = ' - ') ? \"\" : pug_interp)) + \"\\u003C\\u002Fspan\\u003E\\u003Cspan class=\\\"price-adextension-description\\\"\\u003E#:data.TableRows[i].Description + ' '#\\u003C\\u002Fspan\\u003E\\u003Cspan class=\\\"price-adextension-price-info\\\"\\u003E#:data.TableRows[i].PriceInfo#\\u003C\\u002Fspan\\u003E\\u003C\\u002Fli\\u003E# } #\\n# if (data.AdExtensionMoreInfo) { #\\u003Cli class=\\\"price-adextension-more-text\\\"\\u003E\\u003Cspan\\u003E#:data.AdExtensionMoreInfo#\\u003C\\u002Fspan\\u003E\\u003C\\u002Fli\\u003E# } #\\u003C\\u002Ful\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../node_modules/.pnpm/pug@2.0.4/node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;;var locals_for_with = (locals || {});(function (s$i18n) {pug_mixins[\"helpIcon\"] = pug_interp = function(helpId){\nvar block = (this && this.block), attributes = (this && this.attributes) || {};\npug_html = pug_html + \"\\u003Ca\" + (\" class=\\\"helpbutton\\\"\"+\" type=\\\"helppopup\\\"\"+pug.attr(\"topic\", helpId, true, true)+\" href=\\\"javascript:void(0);\\\"\") + \"\\u003E\\u003C\\u002Fa\\u003E\";\n};\npug_html = pug_html + (\"\\u003Cdiv class=\\\"table-row-header\\\"\\u003E\\u003Clabel class=\\\"PriceTableRow-property-Header-group\\\"\\u003E\" + (pug.escape(null == (pug_interp = s$i18n.property('PriceTableRow', 'Header')) ? \"\" : pug_interp)));\npug_mixins[\"helpIcon\"](\"pop_BA_PriceExtension_Header\");\npug_html = pug_html + (\"\\u003C\\u002Flabel\\u003E\\u003Clabel class=\\\"PriceTableRow-property-Description-group\\\"\\u003E\" + (pug.escape(null == (pug_interp = s$i18n.property('PriceTableRow', 'Description')) ? \"\" : pug_interp)));\npug_mixins[\"helpIcon\"](\"pop_BA_PriceExtension_Description\");\npug_html = pug_html + (\"\\u003C\\u002Flabel\\u003E\\u003Clabel class=\\\"PriceTableRow-property-PriceQualifier-group\\\"\\u003E\" + (pug.escape(null == (pug_interp = s$i18n.property('PriceTableRow', 'PriceQualifier')) ? \"\" : pug_interp)));\npug_mixins[\"helpIcon\"](\"pop_BA_PriceExtension_PriceQualifier\");\npug_html = pug_html + (\"\\u003C\\u002Flabel\\u003E\\u003Clabel class=\\\"PriceTableRow-property-CurrencyCode-group\\\"\\u003E\" + (pug.escape(null == (pug_interp = s$i18n.property('PriceTableRow', 'CurrencyCode')) ? \"\" : pug_interp)) + \"\\u003C\\u002Flabel\\u003E\\u003Clabel class=\\\"PriceTableRow-property-Price-group\\\"\\u003E\" + (pug.escape(null == (pug_interp = s$i18n.property('PriceTableRow', 'Price')) ? \"\" : pug_interp)) + \"\\u003C\\u002Flabel\\u003E\\u003Clabel class=\\\"PriceTableRow-property-PriceUnit-group\\\"\\u003E\" + (pug.escape(null == (pug_interp = s$i18n.property('PriceTableRow', 'PriceUnit')) ? \"\" : pug_interp)));\npug_mixins[\"helpIcon\"](\"pop_BA_PriceExtension_Unit\");\npug_html = pug_html + (\"\\u003C\\u002Flabel\\u003E\\u003Clabel class=\\\"PriceTableRow-property-FinalUrls-group\\\"\\u003E\" + (pug.escape(null == (pug_interp = s$i18n.property('PriceTableRow', 'FinalUrls')) ? \"\" : pug_interp)));\npug_mixins[\"helpIcon\"](\"pop_BA_PriceExtension_FinalURL\");\npug_html = pug_html + (\"\\u003C\\u002Flabel\\u003E\\u003Clabel class=\\\"PriceTableRow-property-FinalMobileUrls-group\\\"\\u003E\" + (pug.escape(null == (pug_interp = s$i18n.property('PriceTableRow', 'FinalMobileUrls')) ? \"\" : pug_interp)));\npug_mixins[\"helpIcon\"](\"pop_BA_PriceExtension_MobileFinalURL\");\npug_html = pug_html + \"\\u003C\\u002Flabel\\u003E\\u003C\\u002Fdiv\\u003E\";}.call(this,\"s$i18n\" in locals_for_with?locals_for_with.s$i18n:typeof s$i18n!==\"undefined\"?s$i18n:undefined));;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../node_modules/.pnpm/pug@2.0.4/node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;;var locals_for_with = (locals || {});(function (properties, type) {pug_mixins[\"single-group\"] = pug_interp = function(property, type){\nvar block = (this && this.block), attributes = (this && this.attributes) || {};\npug_html = pug_html + \"\\u003Cdiv\" + (pug.attr(\"class\", pug.classes([\"form-group\",'' + type + '-property-' + property + '-group'], [false,true]), false, true)+pug.attr(\"data-property\", property, true, true)+pug.attr(\"data-bind\", \"visible: \" + property + \".visible, css: { 'has-error': !\" + property + \".isValid() }\", true, true)) + \"\\u003E\\u003Cspan\" + (pug.attr(\"class\", pug.classes([\"form-input-container\",'' + type + '-property-' + property + '-container'], [false,true]), false, true)+pug.attr(\"data-property\", property, true, true)) + \"\\u003E\\u003C\\u002Fspan\\u003E\\u003C\\u002Fdiv\\u003E\";\n};\npug_html = pug_html + \"\\u003Cform\\u003E\\u003Cdiv class=\\\"form-inline\\\"\\u003E\";\n// iterate properties\n;(function(){\n var $$obj = properties;\n if ('number' == typeof $$obj.length) {\n for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) {\n var property = $$obj[pug_index0];\npug_mixins[\"single-group\"](property, type);\n }\n } else {\n var $$l = 0;\n for (var pug_index0 in $$obj) {\n $$l++;\n var property = $$obj[pug_index0];\npug_mixins[\"single-group\"](property, type);\n }\n }\n}).call(this);\n\npug_html = pug_html + \"\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"form-inline\\\"\\u003E\\u003Cdiv class=\\\"form-validation-container\\\" data-property=\\\"$aggregatedErrors\\\"\\u003E\\u003Cul class=\\\"help-block error\\\" role=\\\"alert\\\" data-bind=\\\"visible: $hasAggregatedErrors, foreach: $aggregatedErrors\\\"\\u003E\\u003Cli data-bind=\\\"html: $data\\\"\\u003E\\u003C\\u002Fli\\u003E\\u003C\\u002Ful\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fform\\u003E\";}.call(this,\"properties\" in locals_for_with?locals_for_with.properties:typeof properties!==\"undefined\"?properties:undefined,\"type\" in locals_for_with?locals_for_with.type:typeof type!==\"undefined\"?type:undefined));;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../node_modules/.pnpm/pug@2.0.4/node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;pug_html = pug_html + \"\\u003Cdiv class=\\\"itemTemplate-text\\\"\\u003E\\u003Cspan\\u003E#:data.Text# - #:data.Source#\\u003C\\u002Fspan\\u003E\\u003C\\u002Fdiv\\u003E\";;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../node_modules/.pnpm/pug@2.0.4/node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;;var locals_for_with = (locals || {});(function (data) {pug_html = pug_html + \"\\u003Cdiv class=\\\"itemTemplate-text\\\"\\u003E\\u003Cspan\\u003E\" + (pug.escape(null == (pug_interp = data.Text+\" - \"+data.Source) ? \"\" : pug_interp)) + \"\\u003C\\u002Fspan\\u003E\\u003C\\u002Fdiv\\u003E\";}.call(this,\"data\" in locals_for_with?locals_for_with.data:typeof data!==\"undefined\"?data:undefined));;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../node_modules/.pnpm/pug@2.0.4/node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;;var locals_for_with = (locals || {});(function (i18n) {\n\n\n\npug_html = pug_html + \"\\u003Cdiv class=\\\"applookup\\\"\\u003E\\u003Cdiv class=\\\"form-group\\\"\\u003E\\u003Clabel class=\\\"labelAd control-label col-sm-4\\\"\\u003E\" + (pug.escape(null == (pug_interp = i18n.get('AppInstall_Platform')) ? \"\" : pug_interp)) + \"\\u003C\\u002Flabel\\u003E\\u003Cdiv class=\\\"col-sm-8\\\"\\u003E\\u003Cdiv class=\\\"clear\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cselect\" + (\" class=\\\"fieldAd form-control\\\"\"+\" data-bind=\\\"options: appPlatforms, optionsText: "Name", optionsValue: "Value", value: appPlatform\\\"\"+pug.attr(\"aria-label\", i18n.get('AppInstall_Platform'), true, true)) + \"\\u003E\\u003C\\u002Fselect\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"form-group\\\" data-bind=\\\"visible:isSearchEnabled()\\\"\\u003E\\u003Cdiv class=\\\"col-sm-offset-4 col-sm-8\\\"\\u003E\\u003Cdiv class=\\\"searchbox\\\"\\u003E\\u003Cdiv class=\\\"has-feedback\\\"\\u003E\\u003Cinput\" + (\" class=\\\"searchbox-input applookup-input form-control\\\"\"+\" type=\\\"text\\\"\"+pug.attr(\"placeholder\", i18n.get('AppLookup_Search'), true, true)+pug.attr(\"aria-label\", i18n.get('AppLookup_Search'), true, true)+\" data-bind=\\\"value: searchTerm, valueUpdate: "keyup"\\\"\") + \"\\u003E\\u003Cspan class=\\\"glyphicon form-control-feedback lookup\\\"\\u003E\\u003Cspan\" + (\" class=\\\"searchbox-searchbutton filter_search_icon_small clickable\\\"\"+\" tabIndex=\\\"0\\\" role=\\\"button\\\"\"+pug.attr(\"aria-label\", i18n.get('AppLookup_Search'), true, true)) + \"\\u003E\\u003C\\u002Fspan\\u003E\\u003C\\u002Fspan\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"form-group\\\" data-bind=\\\"visible:!isSearchEnabled()\\\"\\u003E\\u003Clabel class=\\\"labelAd control-label col-sm-4\\\"\\u003E\\u003Cspan data-bind=\\\"text: appIdLabel\\\"\\u003E\\u003C\\u002Fspan\\u003E\\u003C\\u002Flabel\\u003E\\u003Cdiv class=\\\"col-sm-8\\\"\\u003E\\u003Cdiv class=\\\"input-group\\\"\\u003E\\u003Cinput class=\\\"form-control\\\" name=\\\"Ad.AppLookup.AppStoreId\\\" data-bind=\\\"value: appStoreId, attr: { maxLength: appStoreIdMaxLength, 'aria-label': appIdLabel }\\\"\\u003E\\u003Cspan class=\\\"input-group-btn\\\"\\u003E\\u003Cbutton class=\\\"btn btn-default appid-select\\\" type=\\\"button\\\"\\u003E\" + (pug.escape(null == (pug_interp = i18n.get('AppLookup_SelectText')) ? \"\" : pug_interp)) + \"\\u003C\\u002Fbutton\\u003E\\u003C\\u002Fspan\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"font-error\\\" data-bind=\\\"html: appIdError\\\" role=\\\"alert\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"form-group\\\"\\u003E\\u003Cdiv class=\\\"col-sm-offset-4 col-sm-8\\\"\\u003E\\u003Ctable class=\\\"action-radio\\\"\\u003E\\u003Ctr\\u003E\\u003Ctd\\u003E\\u003Cdiv class=\\\"radio\\\"\\u003E\\u003Clabel\\u003E\\u003Cinput type=\\\"radio\\\" name=\\\"AppSearch\\\" value=\\\"true\\\" data-bind=\\\"checked: isSearchEnabled.Editing\\\"\\u003E\" + (pug.escape(null == (pug_interp = i18n.get('AppLookup_Search_Recommended')) ? \"\" : pug_interp)) + \"\\u003C\\u002Flabel\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Ftd\\u003E\\u003Ctd\\u003E\\u003Cdiv class=\\\"radio\\\"\\u003E\\u003Clabel\\u003E\\u003Cinput type=\\\"radio\\\" name=\\\"AppManual\\\" value=\\\"false\\\" data-bind=\\\"checked: isSearchEnabled.Editing\\\"\\u003E\" + (pug.escape(null == (pug_interp = i18n.get('AppLookup_ManualEntry')) ? \"\" : pug_interp)) + \"\\u003C\\u002Flabel\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Ftd\\u003E\\u003C\\u002Ftr\\u003E\\u003C\\u002Ftable\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"form-group\\\" data-bind=\\\"visible:noResultsFound()\\\"\\u003E\\u003Cspan class=\\\"col-sm-offset-4 col-sm-8 noresultsfound\\\"\\u003E\" + (pug.escape(null == (pug_interp = i18n.get('AppLookup_NoResultsFound')) ? \"\" : pug_interp)) + \"\\u003C\\u002Fspan\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-sm-12 appresult\\\" data-bind=\\\"visible:!noResultsFound() && appSearchResults().length > 0\\\"\\u003E\\u003Cdiv class=\\\"scrollable-appresult\\\"\\u003E\\u003Ctable class=\\\"applookup-results-table\\\"\\u003E\\u003Ctbody data-bind=\\\"foreach: appSearchResults\\\" role=\\\"menu\\\"\\u003E\\u003Ctr class=\\\"appselector applookup-results-row clickable\\\" data-bind=\\\"attr: { tabindex: $index() == 0 ? 0 : -1 }\\\" role=\\\"menuitem\\\"\\u003E\\u003Ctd class=\\\"app-icon\\\"\\u003E\\u003Cimg class=\\\"applookup-results-image\\\" data-bind=\\\"attr: { src: IconUrl }\\\" alt=\\\"\\\"\\u003E\\u003C\\u002Ftd\\u003E\\u003Ctd class=\\\"app-result-details\\\"\\u003E\\u003Cul role=\\\"presentation\\\"\\u003E\\u003Cli class=\\\"wrap-long-text\\\" data-bind=\\\"text: AppTitle\\\" role=\\\"presentation\\\"\\u003E\\u003C\\u002Fli\\u003E\\u003Cli role=\\\"presentation\\\"\\u003E\\u003Ca class=\\\"appstoreselector wrap-long-text\\\" data-bind=\\\"attr: {href: AppUrl, target:"_blank"}, text: AppStoreId\\\" href=\\\"javascript:void(0);\\\"\\u003E\\u003C\\u002Fa\\u003E\\u003Cspan\\u003E - \\u003C\\u002Fspan\\u003E\\u003Cspan class=\\\"wrap-long-text\\\" data-bind=\\\"text: DeveloperName\\\"\\u003E\\u003C\\u002Fspan\\u003E\\u003C\\u002Fli\\u003E\\u003C\\u002Ful\\u003E\\u003C\\u002Ftd\\u003E\\u003C\\u002Ftr\\u003E\\u003C\\u002Ftbody\\u003E\\u003C\\u002Ftable\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cspan\\u003E\" + (pug.escape(null == (pug_interp = i18n.get('AppLookup_TryManualAppId')) ? \"\" : pug_interp)) + \"\\u003C\\u002Fspan\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";}.call(this,\"i18n\" in locals_for_with?locals_for_with.i18n:typeof i18n!==\"undefined\"?i18n:undefined));;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../node_modules/.pnpm/pug@2.0.4/node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;;var locals_for_with = (locals || {});(function (editWarningMessage, fields, formatting, i18n, type) {pug_mixins[\"collapse\"] = pug_interp = function(field, labelClass){\nvar block = (this && this.block), attributes = (this && this.attributes) || {};\nvar text = field.text;\nvar property = field.property;\nvar id = field.id;\nvar cls = field.className || 'scheduling-form';\nvar labelCls = labelClass || 'col-sm-4';\npug_html = pug_html + \"\\u003Cdiv\" + (pug.attr(\"class\", pug.classes([\"form-group\",cls], [false,true]), false, true)) + \"\\u003E\\u003Clabel\" + (pug.attr(\"class\", pug.classes([\"control-label\",labelCls,\"collapse-toggle-label\"], [false,true,false]), false, true)) + \"\\u003E\\u003Ca\" + (\" data-toggle=\\\"collapse\\\"\"+pug.attr(\"data-target\", '#' + id, true, true)+pug.attr(\"data-bind\", 'attr: {\"aria-expanded\": ' + property + '.observable() ? \"true\" : \"false\"}, click: ' + property + '.click', true, true)+\" href=\\\"javascript:void(0)\\\"\") + \"\\u003E\\u003Cspan\" + (\" class=\\\"spritedimage spritedimagealign\\\"\"+pug.attr(\"data-bind\", 'css: ' + property + '.observable() ? \"expandedImage\" : \"expanderImage\"', true, true)) + \"\\u003E\\u003C\\u002Fspan\\u003E\" + (pug.escape(null == (pug_interp = text) ? \"\" : pug_interp)) + \"\\u003C\\u002Fa\\u003E\\u003C\\u002Flabel\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv\" + (pug.attr(\"data-bind\", 'attr: {id: ' + property + '.id}, css: ' + property + '.observable() ? \"in\" : \"collapse\"', true, true)) + \"\\u003E\";\nif (block) {\nblock && block();\n}\npug_html = pug_html + \"\\u003C\\u002Fdiv\\u003E\";\n};\npug_mixins[\"single-group\"] = pug_interp = function(property){\nvar block = (this && this.block), attributes = (this && this.attributes) || {};\npug_html = pug_html + \"\\u003Cdiv\" + (\" class=\\\"form-group\\\"\"+pug.attr(\"data-property\", property, true, true)+pug.attr(\"data-bind\", \"visible: \" + property + \".visible, css: { 'has-error': !\" + property + \".isValid() }\", true, true)) + \"\\u003E\\u003Cdiv\" + (pug.attr(\"class\", pug.classes([\"form-label-container\",formatting.labelClass], [false,true]), false, true)+pug.attr(\"data-property\", property, true, true)) + \"\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv\" + (pug.attr(\"class\", pug.classes([\"control-value\",formatting.controlClass], [false,true]), false, true)) + \"\\u003E\\u003Cdiv\" + (\" class=\\\"form-input-container\\\"\"+pug.attr(\"data-property\", property, true, true)) + \"\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv\" + (\" class=\\\"form-validation-container\\\"\"+pug.attr(\"data-property\", property, true, true)) + \"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";\n};\npug_mixins[\"render-fields\"] = pug_interp = function(fields){\nvar block = (this && this.block), attributes = (this && this.attributes) || {};\n// iterate fields\n;(function(){\n var $$obj = fields;\n if ('number' == typeof $$obj.length) {\n for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) {\n var field = $$obj[pug_index0];\nif (field.hasSubFields) {\nif (field.type === 'collapse') {\npug_mixins[\"collapse\"].call({\nblock: function(){\npug_mixins[\"render-fields\"](field.fields);\n}\n}, field, formatting.labelClass);\n}\n}\nelse {\npug_mixins[\"single-group\"](field.property);\n}\n }\n } else {\n var $$l = 0;\n for (var pug_index0 in $$obj) {\n $$l++;\n var field = $$obj[pug_index0];\nif (field.hasSubFields) {\nif (field.type === 'collapse') {\npug_mixins[\"collapse\"].call({\nblock: function(){\npug_mixins[\"render-fields\"](field.fields);\n}\n}, field, formatting.labelClass);\n}\n}\nelse {\npug_mixins[\"single-group\"](field.property);\n}\n }\n }\n}).call(this);\n\n};\npug_html = pug_html + \"\\u003Cdiv\" + (\" class=\\\"extension-editor__container\\\"\"+pug.attr(\"data-type\", type, true, true)) + \"\\u003E\\u003Cdiv class=\\\"form-horizontal extension-editor__form-container\\\"\\u003E\\u003Cdiv class=\\\"form-group\\\" data-property=\\\"$overall\\\"\\u003E\\u003Cdiv class=\\\"col-sm-12\\\"\\u003E\\u003Cdiv class=\\\"form-validation-container alert alert-danger\\\" data-property=\\\"$overall\\\" data-bind=\\\"visible:!$overall.isValid()\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";\npug_mixins[\"render-fields\"](fields);\npug_html = pug_html + \"\\u003Cdiv class=\\\"extension-editor__extra\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"scheduling hidden\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"alert alert-info form-group\\\" role=\\\"alert\\\"\\u003E\\u003Cdiv class=\\\"alert-image\\\" data-bind=\\\"visible: editing\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv\" + (\" class=\\\"alert-info-inline alert-spacing\\\"\"+pug.attr(\"data-bind\", 'text: editing ? \"' + editWarningMessage + '\" : \"\"', true, true)) + \"\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"alert-image\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv\" + (\" class=\\\"alert-info-inline\\\"\"+pug.attr(\"data-bind\", 'text: editing ? \"' + i18n.get('AdExtensions_Edited_Latency') + '\" : \"\"', true, true)) + \"\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv\" + (\" class=\\\"alert-info-inline\\\"\"+pug.attr(\"data-bind\", 'text: editing ? \"\" : \"' + i18n.get('AdExtensions_Created_Latency') + '\"', true, true)) + \"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"form-input-container save-bar form-group imgeditor-save-container\\\" data-property=\\\"$buttons\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";}.call(this,\"editWarningMessage\" in locals_for_with?locals_for_with.editWarningMessage:typeof editWarningMessage!==\"undefined\"?editWarningMessage:undefined,\"fields\" in locals_for_with?locals_for_with.fields:typeof fields!==\"undefined\"?fields:undefined,\"formatting\" in locals_for_with?locals_for_with.formatting:typeof formatting!==\"undefined\"?formatting:undefined,\"i18n\" in locals_for_with?locals_for_with.i18n:typeof i18n!==\"undefined\"?i18n:undefined,\"type\" in locals_for_with?locals_for_with.type:typeof type!==\"undefined\"?type:undefined));;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../node_modules/.pnpm/pug@2.0.4/node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;;var locals_for_with = (locals || {});(function (Math, controlClass, hideStartAndEndDate, i18n, labelClass, readOnly) {var id = Math.floor(Math.random() * 1000000)\npug_html = pug_html + \"\\u003Cdiv class=\\\"scheduling-form\\\"\\u003E\\u003Cdiv class=\\\"form-group\\\"\\u003E\\u003Cdiv class=\\\"row\\\"\\u003E\\u003Clabel\" + (pug.attr(\"class\", pug.classes([\"control-label\",\"accordion\",labelClass], [false,false,true]), false, true)) + \"\\u003E\\u003Ca\" + (\" data-toggle=\\\"collapse\\\"\"+pug.attr(\"data-target\", \"#scheduling-\" + id, true, true)+\" href=\\\"javascript:void(0);\\\"\") + \"\\u003E\\u003Cspan class=\\\"spritedimagealign\\\" data-bind=\\\"css: isExpanded() ? "expandedImage" : "expanderImage"\\\"\\u003E\\u003C\\u002Fspan\\u003E\" + (pug.escape(null == (pug_interp = i18n.get(\"AdExtensions_Scheduling_ToggleScheduling\")) ? \"\" : pug_interp)) + \"\\u003C\\u002Fa\\u003E\\u003C\\u002Flabel\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv\" + (\" class=\\\"collapse\\\"\"+pug.attr(\"id\", \"scheduling-\" + id, true, true)+\" data-bind=\\\"css: { 'in': isExpanded() }\\\" role=\\\"group\\\"\") + \"\\u003E\";\nif (!hideStartAndEndDate) {\npug_html = pug_html + \"\\u003Cdiv class=\\\"form-group\\\"\\u003E\\u003Clabel\" + (pug.attr(\"class\", pug.classes([\"control-label\",\"start-and-end-date-label\",labelClass], [false,false,true]), false, true)) + \"\\u003E\" + (pug.escape(null == (pug_interp = i18n.get(\"AdExtensions_Scheduling_DateRangeHeader\")) ? \"\" : pug_interp)) + \"\\u003C\\u002Flabel\\u003E\\u003Cdiv\" + (pug.attr(\"class\", pug.classes([\"control-value\",controlClass], [false,true]), false, true)) + \"\\u003E\\u003Cdiv\\u003E\\u003Ctable role=\\\"presentation\\\"\\u003E\\u003Ctbody\\u003E\\u003Ctr\\u003E\\u003Ctd\\u003E\\u003Cinput\" + (\" class=\\\"clickable date-start datepicker__container\\\"\"+\" data-bind=\\\"datePicker: startDate, culture: culture, format: format, navigateToPastAriaLabel: datePickerNavigateToPastAriaLabel, navigateToFutureAriaLabel: datePickerNavigateToFutureAriaLabel\\\"\"+pug.attr(\"aria-label\", i18n.get(\"AdExtensions_Scheduling_StartDate\"), true, true)+pug.attr(\"placeholder\", i18n.get(\"AdExtensions_Scheduling_StartDate\"), true, true)+pug.attr(\"disabled\", readOnly, true, true)) + \"\\u003E\\u003C\\u002Ftd\\u003E\\u003Ctd\\u003E\\u003Cspan\\u003E-\\u003C\\u002Fspan\\u003E\\u003C\\u002Ftd\\u003E\\u003Ctd\\u003E\\u003Cinput\" + (\" class=\\\"clickable date-end datepicker__container\\\"\"+\" data-bind=\\\"datePicker: endDate, culture: culture, format: format, navigateToPastAriaLabel: datePickerNavigateToPastAriaLabel, navigateToFutureAriaLabel: datePickerNavigateToFutureAriaLabel\\\"\"+pug.attr(\"aria-label\", i18n.get(\"AdExtensions_Scheduling_EndDate\"), true, true)+pug.attr(\"placeholder\", i18n.get(\"AdExtensions_Scheduling_EndDate\"), true, true)+pug.attr(\"disabled\", readOnly, true, true)) + \"\\u003E\\u003C\\u002Ftd\\u003E\\u003C\\u002Ftr\\u003E\\u003C\\u002Ftbody\\u003E\\u003C\\u002Ftable\\u003E\\u003C\\u002Fdiv\\u003E\\u003C!-- ko foreach: dateRangeErrorMessages()--\\u003E\\u003Cdiv class=\\\"error\\\" data-bind=\\\"text: $data\\\" role=\\\"alert\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C!-- \\u002Fko--\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";\n}\npug_html = pug_html + \"\\u003Cdiv class=\\\"form-group\\\"\\u003E\\u003Clabel\" + (pug.attr(\"class\", pug.classes([\"control-label\",\"schedule-label\",labelClass], [false,false,true]), false, true)) + \"\\u003E\" + (pug.escape(null == (pug_interp = i18n.get(\"AdExtensions_Scheduling_SchedulingHeader\")) ? \"\" : pug_interp)) + \"\\u003C\\u002Flabel\\u003E\\u003Cdiv\" + (pug.attr(\"class\", pug.classes([\"control-value\",\"timeRowsContainer\",controlClass], [false,false,true]), false, true)) + \"\\u003E\\u003Ctable class=\\\"table-full\\\" role=\\\"presentation\\\"\\u003E\\u003Ctbody\\u003E\\u003C!-- ko foreach: dayTimeRanges--\\u003E\\u003Ctr class=\\\"dayTimeRange\\\"\\u003E\\u003Ctd\\u003E\\u003Cselect\" + (\" class=\\\"form-control day-select\\\"\"+\" data-bind=\\\"value: days, options: $root.dayOptions, optionsText: 'displayName', optionsValue: 'val'\\\"\"+pug.attr(\"aria-label\", i18n.get(\"AdExtensions_Scheduling_Schedule_Day\"), true, true)+pug.attr(\"disabled\", readOnly, true, true)) + \"\\u003E\\u003C\\u002Fselect\\u003E\\u003C\\u002Ftd\\u003E\\u003Ctd\\u003E\\u003Cselect\" + (\" class=\\\"form-control hour-select\\\"\"+\" data-bind=\\\"value: startHour, options: $root.startHourOptions, optionsText: 'displayName', optionsValue: 'val'\\\"\"+pug.attr(\"aria-label\", i18n.get(\"AdExtensions_Scheduling_Schedule_StartHour\"), true, true)+pug.attr(\"disabled\", readOnly, true, true)) + \"\\u003E\\u003C\\u002Fselect\\u003E\\u003C\\u002Ftd\\u003E\\u003Ctd\\u003E\\u003Cspan\\u003E:\\u003C\\u002Fspan\\u003E\\u003C\\u002Ftd\\u003E\\u003Ctd\\u003E\\u003Cselect\" + (\" class=\\\"form-control minute-select\\\"\"+\" data-bind=\\\"value: startMinute, options: $root.minuteOptions, optionsText: 'displayName', optionsValue: 'val'\\\"\"+pug.attr(\"aria-label\", i18n.get(\"AdExtensions_Scheduling_Schedule_StartMinute\"), true, true)+pug.attr(\"disabled\", readOnly, true, true)) + \"\\u003E\\u003C\\u002Fselect\\u003E\\u003C\\u002Ftd\\u003E\\u003Ctd\\u003E\\u003Cspan\\u003E\" + (pug.escape(null == (pug_interp = i18n.get(\"AdExtensions_Scheduling_To\")) ? \"\" : pug_interp)) + \"\\u003C\\u002Fspan\\u003E\\u003C\\u002Ftd\\u003E\\u003Ctd\\u003E\\u003Cselect\" + (\" class=\\\"form-control hour-select\\\"\"+\" data-bind=\\\"value: endHour, options: $root.endHourOptions, optionsText: 'displayName', optionsValue: 'val'\\\"\"+pug.attr(\"aria-label\", i18n.get(\"AdExtensions_Scheduling_Schedule_EndHour\"), true, true)+pug.attr(\"disabled\", readOnly, true, true)) + \"\\u003E\\u003C\\u002Fselect\\u003E\\u003C\\u002Ftd\\u003E\\u003Ctd\\u003E\\u003Cspan\\u003E:\\u003C\\u002Fspan\\u003E\\u003C\\u002Ftd\\u003E\\u003Ctd\\u003E\\u003Cselect\" + (\" class=\\\"form-control minute-select\\\"\"+\" data-bind=\\\"value: endMinute, options: $root.minuteOptions, optionsText: 'displayName', optionsValue: 'val'\\\"\"+pug.attr(\"aria-label\", i18n.get(\"AdExtensions_Scheduling_Schedule_EndMinute\"), true, true)+pug.attr(\"disabled\", readOnly, true, true)) + \"\\u003E\\u003C\\u002Fselect\\u003E\\u003C\\u002Ftd\\u003E\";\nif (!readOnly) {\npug_html = pug_html + \"\\u003Ctd\\u003E\\u003Ca\" + (\" class=\\\"iconba iconba-Cancel filtercloseimage spritedimage spritedimagealign\\\"\"+\" data-bind=\\\"click: function() { $root.onRemovingSchedulingRow($index); }\\\"\"+pug.attr(\"aria-label\", i18n.get(\"AdExtensions_Scheduling_RemoveSchedulingTimeRow_Label\"), true, true)+\" role=\\\"button\\\" href=\\\"javascript:void(0);\\\"\") + \"\\u003E\\u003C\\u002Fa\\u003E\\u003C\\u002Ftd\\u003E\";\n}\npug_html = pug_html + \"\\u003C\\u002Ftr\\u003E\\u003Ctr\\u003E\\u003Ctd colspan=\\\"9\\\"\\u003E\\u003Cdiv class=\\\"error\\\" data-bind=\\\"css: { displayNone: !schedulingRowErrorMessage() }, text: schedulingRowErrorMessage\\\" role=\\\"alert\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Ftd\\u003E\\u003C\\u002Ftr\\u003E\\u003C!-- \\u002Fko--\\u003E\\u003C\\u002Ftbody\\u003E\\u003C\\u002Ftable\\u003E\";\nif (!readOnly) {\npug_html = pug_html + \"\\u003Ca\" + (\" class=\\\"add-time-row\\\"\"+\" href=\\\"javascript:void(0);\\\" role=\\\"button\\\"\"+pug.attr(\"aria-label\", i18n.get(\"AdExtensions_Scheduling_AddSchedulingTimeRow_Label\"), true, true)) + \"\\u003E\\u003Cspan class=\\\"add_icon spritedimage spritedimagealign\\\"\\u003E\\u003C\\u002Fspan\\u003E\" + (pug.escape(null == (pug_interp = i18n.get(\"AdExtensions_Scheduling_AddSchedulingTimeRow\")) ? \"\" : pug_interp)) + \"\\u003C\\u002Fa\\u003E\";\n}\nelse {\npug_html = pug_html + \"\\u003Cspan\\u003E\" + (pug.escape(null == (pug_interp = i18n.get(\"AdExtensions_Scheduling_AddSchedulingTimeRow\")) ? \"\" : pug_interp)) + \"\\u003C\\u002Fspan\\u003E\";\n}\npug_html = pug_html + \"\\u003C\\u002Fdiv\\u003E\\u003C!-- ko if: schedulingRowsErrorMessage()--\\u003E\\u003Cdiv class=\\\"error\\\" data-bind=\\\"text: schedulingRowsErrorMessage\\\" role=\\\"alert\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C!-- \\u002Fko--\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"form-group\\\" role=\\\"radiogroup\\\" aria-labelledby=\\\"adExtensions-scheduling-display-time-label\\\"\\u003E\\u003Clabel\" + (pug.attr(\"class\", pug.classes([\"control-label\",\"display-time-label\",labelClass], [false,false,true]), false, true)+\" id=\\\"adExtensions-scheduling-display-time-label\\\"\") + \"\\u003E\" + (pug.escape(null == (pug_interp = i18n.get(\"AdExtensions_Scheduling_Display_Time\")) ? \"\" : pug_interp)) + \"\\u003C\\u002Flabel\\u003E\\u003Cdiv\" + (pug.attr(\"class\", pug.classes([\"control-value\",controlClass], [false,true]), false, true)) + \"\\u003E\\u003Clabel class=\\\"radio-inline\\\"\\u003E\\u003Cinput\" + (\" type=\\\"radio\\\" value=\\\"12-hour\\\" data-bind=\\\"checked: timeDisplayType\\\"\"+pug.attr(\"disabled\", readOnly, true, true)) + \"\\u003E\" + (pug.escape(null == (pug_interp = i18n.get(\"AdExtensions_Scheduling_12_Hour_Label\")) ? \"\" : pug_interp)) + \"\\u003C\\u002Flabel\\u003E\\u003Clabel class=\\\"radio-inline\\\"\\u003E\\u003Cinput\" + (\" type=\\\"radio\\\" value=\\\"24-hour\\\" data-bind=\\\"checked: timeDisplayType\\\"\"+pug.attr(\"disabled\", readOnly, true, true)) + \"\\u003E\" + (pug.escape(null == (pug_interp = i18n.get(\"AdExtensions_Scheduling_24_Hour_Label\")) ? \"\" : pug_interp)) + \"\\u003C\\u002Flabel\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"form-group\\\" role=\\\"radiogroup\\\" aria-labelledby=\\\"adExtensions-scheduling-time-zone-label\\\"\\u003E\\u003Clabel\" + (pug.attr(\"class\", pug.classes([\"control-label\",\"time-zone-label\",labelClass], [false,false,true]), false, true)+\" id=\\\"adExtensions-scheduling-time-zone-label\\\"\") + \"\\u003E\" + (pug.escape(null == (pug_interp = i18n.get(\"AdExtensions_Scheduling_Time_Zone\")) ? \"\" : pug_interp)) + \"\\u003Ca\" + (\" class=\\\"helpbutton\\\"\"+\" topic=\\\"pop_BA_AdExtensions_SchedulingTimeZone\\\" type=\\\"helppopup\\\" onclick=\\\"PopupController.PopupJsClick(this)\\\" href=\\\"javascript:void(0);\\\"\"+pug.attr(\"title\", i18n.getString('LearnMore'), true, true)) + \"\\u003E\\u003C\\u002Fa\\u003E\\u003C\\u002Flabel\\u003E\\u003Cdiv\" + (pug.attr(\"class\", pug.classes([\"control-value\",controlClass], [false,true]), false, true)) + \"\\u003E\\u003Cdiv class=\\\"radio\\\"\\u003E\\u003Clabel\\u003E\\u003Cinput\" + (\" type=\\\"radio\\\" data-bind=\\\"checkedValue: true, checked: useSearcherTimeZone\\\"\"+pug.attr(\"disabled\", readOnly, true, true)) + \"\\u003E\" + (pug.escape(null == (pug_interp = i18n.get(\"AdExtensions_Scheduling_Time_Zone_Searcher\")) ? \"\" : pug_interp)) + \"\\u003C\\u002Flabel\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"radio\\\"\\u003E\\u003Clabel\\u003E\\u003Cinput\" + (\" type=\\\"radio\\\" data-bind=\\\"checkedValue: false, checked: useSearcherTimeZone\\\"\"+pug.attr(\"disabled\", readOnly, true, true)) + \"\\u003E\" + (pug.escape(null == (pug_interp = i18n.get(\"AdExtensions_Scheduling_Time_Zone_Advertiser\")) ? \"\" : pug_interp)) + \"\\u003Cdiv data-bind=\\\"text: accountTimeZone\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Flabel\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";}.call(this,\"Math\" in locals_for_with?locals_for_with.Math:typeof Math!==\"undefined\"?Math:undefined,\"controlClass\" in locals_for_with?locals_for_with.controlClass:typeof controlClass!==\"undefined\"?controlClass:undefined,\"hideStartAndEndDate\" in locals_for_with?locals_for_with.hideStartAndEndDate:typeof hideStartAndEndDate!==\"undefined\"?hideStartAndEndDate:undefined,\"i18n\" in locals_for_with?locals_for_with.i18n:typeof i18n!==\"undefined\"?i18n:undefined,\"labelClass\" in locals_for_with?locals_for_with.labelClass:typeof labelClass!==\"undefined\"?labelClass:undefined,\"readOnly\" in locals_for_with?locals_for_with.readOnly:typeof readOnly!==\"undefined\"?readOnly:undefined));;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../node_modules/.pnpm/pug@2.0.4/node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;;var locals_for_with = (locals || {});(function (Math, i18n, labelClass, model) {pug_mixins[\"popupHelp\"] = pug_interp = function(popupId, ariaLabelContext, i18n){\nvar block = (this && this.block), attributes = (this && this.attributes) || {};\nvar templateString = (i18n && i18n.get && i18n.get('Click to learn more about {{item}}')) || (i18n && i18n.getString && i18n.getString('Click to learn more about {{item}}')) || null\npug_html = pug_html + \"\\u003Ca\" + (\" class=\\\"helpbutton\\\"\"+\" type=\\\"helppopup\\\" role=\\\"button\\\"\"+pug.attr(\"topic\", popupId, true, true)+pug.attr(\"data-help\", true, true, true)+\" onclick=\\\"PopupController.PopupJsClick(this)\\\" href=\\\"javascript:void(0);\\\"\"+pug.attr(\"aria-label\", templateString ? templateString.replace('{{item}}', ariaLabelContext) : ariaLabelContext, true, true)) + \"\\u003E\\u003C\\u002Fa\\u003E\";\n};\nvar id = Math.floor(Math.random() * 1000000)\npug_html = pug_html + (\"\\u003Cdiv class=\\\"storehour-form\\\"\\u003E\\u003Cdiv class=\\\"form-group\\\"\\u003E\\u003Cdiv class=\\\"row\\\"\\u003E\\u003Clabel\" + (pug.attr(\"class\", pug.classes([\"control-label\",\"accordion\",labelClass], [false,false,true]), false, true)) + \"\\u003E\\u003Ca\" + (\" data-toggle=\\\"collapse\\\"\"+pug.attr(\"data-target\", \"#storehour-\" + id, true, true)+\" href=\\\"javascript:void(0);\\\"\") + \"\\u003E\\u003Cspan class=\\\"spritedimagealign\\\" data-bind=\\\"css: isExpanded() ? "expandedImage" : "expanderImage"\\\"\\u003E\\u003C\\u002Fspan\\u003E\" + (pug.escape(null == (pug_interp = i18n.get(\"AdExtensions_Storehour_Togglestorehour\")) ? \"\" : pug_interp)));\npug_mixins[\"popupHelp\"]('pop_BA_LocationExt_BusinessHours', i18n.getString('AdExtensions_LocationExt_BusinessHour'), i18n);\npug_html = pug_html + \"\\u003C\\u002Fa\\u003E\\u003C\\u002Flabel\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv\" + (\" class=\\\"collapse\\\"\"+pug.attr(\"id\", \"storehour-\" + id, true, true)+\" data-bind=\\\"css: { 'in': isExpanded() }\\\"\") + \"\\u003E\";\nif (model.length > 0) {\npug_html = pug_html + \"\\u003Cdiv class=\\\"form-group\\\"\\u003E\\u003Cul class=\\\"col-sm-8\\\"\\u003E\";\n// iterate model\n;(function(){\n var $$obj = model;\n if ('number' == typeof $$obj.length) {\n for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) {\n var item = $$obj[pug_index0];\npug_html = pug_html + \"\\u003Cli class=\\\"store-hour-item\\\"\\u003E\\u003Cspan\\u003E\" + (pug.escape(null == (pug_interp = item.key) ? \"\" : pug_interp)) + \"\\u003C\\u002Fspan\\u003E\\u003Cspan\\u003E\" + (pug.escape(null == (pug_interp = item.value) ? \"\" : pug_interp)) + \"\\u003C\\u002Fspan\\u003E\\u003C\\u002Fli\\u003E\";\n }\n } else {\n var $$l = 0;\n for (var pug_index0 in $$obj) {\n $$l++;\n var item = $$obj[pug_index0];\npug_html = pug_html + \"\\u003Cli class=\\\"store-hour-item\\\"\\u003E\\u003Cspan\\u003E\" + (pug.escape(null == (pug_interp = item.key) ? \"\" : pug_interp)) + \"\\u003C\\u002Fspan\\u003E\\u003Cspan\\u003E\" + (pug.escape(null == (pug_interp = item.value) ? \"\" : pug_interp)) + \"\\u003C\\u002Fspan\\u003E\\u003C\\u002Fli\\u003E\";\n }\n }\n}).call(this);\n\npug_html = pug_html + \"\\u003C\\u002Ful\\u003E\\u003C\\u002Fdiv\\u003E\";\n}\nelse {\npug_html = pug_html + \"\\u003Cdiv class=\\\"alert alert-info form-group\\\" role=\\\"alert\\\"\\u003E\\u003Cdiv class=\\\"alert-image\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"alert-info-inline\\\"\\u003E\" + (pug.escape(null == (pug_interp = i18n.get(\"AdExtensions_Location_NoStoreHour\")) ? \"\" : pug_interp)) + \"\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";\n}\npug_html = pug_html + \"\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";}.call(this,\"Math\" in locals_for_with?locals_for_with.Math:typeof Math!==\"undefined\"?Math:undefined,\"i18n\" in locals_for_with?locals_for_with.i18n:typeof i18n!==\"undefined\"?i18n:undefined,\"labelClass\" in locals_for_with?locals_for_with.labelClass:typeof labelClass!==\"undefined\"?labelClass:undefined,\"model\" in locals_for_with?locals_for_with.model:typeof model!==\"undefined\"?model:undefined));;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../node_modules/.pnpm/pug@2.0.4/node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;;var locals_for_with = (locals || {});(function (data) {pug_mixins[\"urlLink\"] = pug_interp = function(url, displayText){\nvar block = (this && this.block), attributes = (this && this.attributes) || {};\nif (url.indexOf('http') !== 0) {\nurl='http://'+url\n}\npug_html = pug_html + \"\\u003Ca\" + (pug.attr(\"href\", url, true, true)+\" target=\\\"_blank\\\"\") + \"\\u003E\" + (pug.escape(null == (pug_interp = displayText) ? \"\" : pug_interp)) + \"\\u003C\\u002Fa\\u003E\";\n};\npug_mixins[\"sitelink\"] = pug_interp = function(link){\nvar block = (this && this.block), attributes = (this && this.attributes) || {};\npug_html = pug_html + \"\\u003Cli\\u003E\";\nif (link.DestinationUrl) {\npug_mixins[\"urlLink\"](link.DestinationUrl, link.DisplayText);\n}\nelse\nif (link.FinalUrls && link.FinalUrls.length>0) {\npug_mixins[\"urlLink\"](link.FinalUrls[0], link.DisplayText);\n}\nif (link.Description1) {\npug_html = pug_html + \"\\u003Cdiv\\u003E\" + (pug.escape(null == (pug_interp = link.Description1) ? \"\" : pug_interp)) + \"\\u003C\\u002Fdiv\\u003E\";\nif (link.Description2) {\npug_html = pug_html + \"\\u003Cdiv\\u003E\" + (pug.escape(null == (pug_interp = link.Description2) ? \"\" : pug_interp)) + \"\\u003C\\u002Fdiv\\u003E\";\n}\n}\npug_html = pug_html + \"\\u003C\\u002Fli\\u003E\";\n};\npug_html = pug_html + \"\\u003Cdiv class=\\\"itemTemplate-text\\\"\\u003E\\u003Cul\\u003E\";\nif (data.SiteLinks) {\n// iterate data.SiteLinks\n;(function(){\n var $$obj = data.SiteLinks;\n if ('number' == typeof $$obj.length) {\n for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) {\n var link = $$obj[pug_index0];\npug_mixins[\"sitelink\"](link);\n }\n } else {\n var $$l = 0;\n for (var pug_index0 in $$obj) {\n $$l++;\n var link = $$obj[pug_index0];\npug_mixins[\"sitelink\"](link);\n }\n }\n}).call(this);\n\n}\nelse {\npug_mixins[\"sitelink\"](data);\n}\npug_html = pug_html + \"\\u003C\\u002Ful\\u003E\\u003C\\u002Fdiv\\u003E\";}.call(this,\"data\" in locals_for_with?locals_for_with.data:typeof data!==\"undefined\"?data:undefined));;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../node_modules/.pnpm/pug@2.0.4/node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;pug_html = pug_html + \"\\u003Cdiv class=\\\"itemTemplate-text\\\"\\u003E# if (data.SiteLinks.length \\u003E 0) { #\\u003Cdiv class=\\\"type3 wordwrap type-bold\\\"\\u003E#:data.SiteLinks[0].DisplayText#\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"wordwrap\\\"\\u003E#:data.SiteLinks[0].Description1#\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"wordwrap\\\"\\u003E#:data.SiteLinks[0].Description2#\\u003C\\u002Fdiv\\u003E# } #\\n# if (data.SiteLinks.length \\u003E 1) { #\\u003Cdiv class=\\\"type3 wordwrap type-bold\\\"\\u003E#:data.SiteLinks[1].DisplayText#\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"wordwrap\\\"\\u003E#:data.SiteLinks[1].Description1#\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"wordwrap\\\"\\u003E#:data.SiteLinks[1].Description2#\\u003C\\u002Fdiv\\u003E# if (data.SiteLinks.length \\u003E 2) { #\\u003Ca class=\\\"more-sitelinks-source a11y-k-listview-button sourceAction-edit\\\" role=\\\"button\\\"\\u003E#:data.SiteLinks[0].MoreSitelinksText#\\u003C\\u002Fa\\u003E\\u003Ca class=\\\"more-sitelinks-selected a11y-k-listview-button selectedAction-edit\\\" role=\\\"button\\\"\\u003E#:data.SiteLinks[0].MoreSitelinksText#\\u003C\\u002Fa\\u003E# } #\\n# } #\\u003C\\u002Fdiv\\u003E\";;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../node_modules/.pnpm/pug@2.0.4/node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;pug_html = pug_html + \"\\u003Cdiv class=\\\"type3 wordwrap type-bold\\\"\\u003E#:data.DisplayText#\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"wordwrap\\\"\\u003E#:data.Description1#\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"wordwrap\\\"\\u003E#:data.Description2#\\u003C\\u002Fdiv\\u003E\";;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../node_modules/.pnpm/pug@2.0.4/node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;pug_html = pug_html + \"\\u003Cdiv class=\\\"itemTemplate-text\\\"\\u003E\\u003Cspan\\u003E#:data.Category#: #:data.Texts.join(', ')#\\u003C\\u002Fspan\\u003E\\u003C\\u002Fdiv\\u003E\";;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../node_modules/.pnpm/pug@2.0.4/node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;;var locals_for_with = (locals || {});(function (data) {pug_html = pug_html + \"\\u003Cdiv class=\\\"itemTemplate-text\\\"\\u003E\\u003Cspan\\u003E\" + (pug.escape(null == (pug_interp = data.Category+\": \") ? \"\" : pug_interp)) + \"\\u003C\\u002Fspan\\u003E\\u003Cspan\\u003E\" + (pug.escape(null == (pug_interp = data.Texts.join(', ')) ? \"\" : pug_interp)) + \"\\u003C\\u002Fspan\\u003E\\u003C\\u002Fdiv\\u003E\";}.call(this,\"data\" in locals_for_with?locals_for_with.data:typeof data!==\"undefined\"?data:undefined));;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../node_modules/.pnpm/pug@2.0.4/node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;pug_html = pug_html + \"\\u003Cdiv class=\\\"adgroup-create-page\\\"\\u003E\\u003C\\u002Fdiv\\u003E\";;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../node_modules/.pnpm/pug@2.0.4/node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;;var locals_for_with = (locals || {});(function (i18n) {pug_mixins[\"popupHelp\"] = pug_interp = function(popupId, ariaLabelContext, i18n){\nvar block = (this && this.block), attributes = (this && this.attributes) || {};\nvar templateString = (i18n && i18n.get && i18n.get('Click to learn more about {{item}}')) || (i18n && i18n.getString && i18n.getString('Click to learn more about {{item}}')) || null\npug_html = pug_html + \"\\u003Ca\" + (\" class=\\\"helpbutton\\\"\"+\" type=\\\"helppopup\\\" role=\\\"button\\\"\"+pug.attr(\"topic\", popupId, true, true)+pug.attr(\"data-help\", true, true, true)+\" onclick=\\\"PopupController.PopupJsClick(this)\\\" href=\\\"javascript:void(0);\\\"\"+pug.attr(\"aria-label\", templateString ? templateString.replace('{{item}}', ariaLabelContext) : ariaLabelContext, true, true)) + \"\\u003E\\u003C\\u002Fa\\u003E\";\n};\npug_html = pug_html + \"\\u003Cdiv data-bind=\\\"visible: !hide()\\\"\\u003E\\u003Cdiv class=\\\"checkbox\\\"\\u003E\\u003Clabel\\u003E\\u003Cinput type=\\\"checkbox\\\" data-bind=\\\"checked: copySetting\\\"\\u003E\" + (pug.escape(null == (pug_interp = i18n.get('AdGroup_CopySettings')) ? \"\" : pug_interp)) + \"\\u003C\\u002Flabel\\u003E\";\npug_mixins[\"popupHelp\"]('pop_BA_CampaignCreate_Keywords_UseAnotherAdGroup', i18n.get('AdGroup_CopySettings'), i18n);\npug_html = pug_html + \"\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"form-control-static copy-settings\\\" data-bind=\\\"visible: copySetting\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";}.call(this,\"i18n\" in locals_for_with?locals_for_with.i18n:typeof i18n!==\"undefined\"?i18n:undefined));;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../node_modules/.pnpm/pug@2.0.4/node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;;var locals_for_with = (locals || {});(function (i18n, isMixedMode, isShowDisclaimerBannerEnabled, subViews) {pug_mixins[\"koErrors\"] = pug_interp = function(id, cssClass){\nvar block = (this && this.block), attributes = (this && this.attributes) || {};\npug_html = pug_html + \"\\u003Cul\" + (pug.attr(\"class\", pug.classes([cssClass ? cssClass : 'alert alert-danger'], [true]), false, true)+\" data-bind=\\\"visible: errors().length > 0, foreach: errors, attr: {"aria-hidden": errors().length == 0}\\\"\"+pug.attr(\"id\", id ? id : 'KoErrors', true, true)) + \"\\u003E\\u003Cli\\u003E\\u003Cdiv data-bind=\\\"html: $data\\\" role=\\\"alert\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fli\\u003E\\u003C\\u002Ful\\u003E\";\n};\npug_html = pug_html + \"\\u003Cdiv class=\\\"adgroup-create__container\\\"\\u003E\";\npug_mixins[\"koErrors\"]('AdGroupCreate_KoErrors');\nif (!isMixedMode) {\npug_html = pug_html + \"\\u003Ch1\\u003E\\u003Cspan\\u003E\" + (pug.escape(null == (pug_interp = i18n.get('AdGroupCreate_HeaderTitle')) ? \"\" : pug_interp)) + \"\\u003C\\u002Fspan\\u003E\\u003C\\u002Fh1\\u003E\";\n}\npug_html = pug_html + \"\\u003Ch3\\u003E\\u003Cspan\\u003E\" + (pug.escape(null == (pug_interp = subViews['auto-targets'] ? i18n.get('DsaAdgroup_HeaderTitleDescription') : i18n.get('NonDsaAdgroup_HeaderTitleDescription')) ? \"\" : pug_interp)) + \"\\u003C\\u002Fspan\\u003E\\u003C\\u002Fh3\\u003E\\u003Ch3 class=\\\"type-bold\\\"\\u003E\\u003Cspan\\u003E\" + (pug.escape(null == (pug_interp = i18n.get('AdGroupSetting_SectionTitle')) ? \"\" : pug_interp)) + \"\\u003C\\u002Fspan\\u003E\\u003C\\u002Fh3\\u003E\\u003Chr\\u003E\\u003Cdiv class=\\\"adgroup-settings\\\"\\u003E\\u003C\\u002Fdiv\\u003E\";\nif (subViews['location-targets']) {\npug_html = pug_html + \"\\u003Cdiv class=\\\"location-targets-section\\\"\\u003E\\u003C\\u002Fdiv\\u003E\";\n}\nif (subViews['auto-targets']) {\npug_html = pug_html + \"\\u003Cdiv class=\\\"auto-targets-section\\\"\\u003E\\u003C\\u002Fdiv\\u003E\";\n}\nif (subViews.ad) {\npug_html = pug_html + \"\\u003Ch3 class=\\\"type-bold\\\"\\u003E\\u003Cspan id=\\\"AdGroupBriefing-\\\"\\u003E\" + (pug.escape(null == (pug_interp = i18n.get('Create_Ads')) ? \"\" : pug_interp)) + \"\\u003C\\u002Fspan\\u003E\\u003C\\u002Fh3\\u003E\\u003Chr\\u003E\\u003Cdiv class=\\\"ad-section container-fluid col-sm-12\\\"\\u003E\\u003C\\u002Fdiv\\u003E\";\n}\nif (subViews.keyword) {\npug_html = pug_html + \"\\u003Ch3 class=\\\"type-bold\\\"\\u003E\\u003Cspan\\u003E\" + (pug.escape(null == (pug_interp = i18n.get('Create_Keywords')) ? \"\" : pug_interp)) + \"\\u003C\\u002Fspan\\u003E\\u003C\\u002Fh3\\u003E\\u003Chr\\u003E\\u003Cdiv class=\\\"keyword-section\\\"\\u003E\\u003C\\u002Fdiv\\u003E\";\n}\nif (subViews.bid) {\npug_html = pug_html + \"\\u003Ch3 class=\\\"type-bold\\\"\\u003E\\u003Cspan\\u003E\" + (pug.escape(null == (pug_interp = i18n.get('TabTitle_Bids_And_Targets')) ? \"\" : pug_interp)) + \"\\u003C\\u002Fspan\\u003E\\u003C\\u002Fh3\\u003E\\u003Chr\\u003E\\u003Cdiv class=\\\"bid-section\\\"\\u003E\\u003C\\u002Fdiv\\u003E\";\n}\nif (subViews.cpgBidSection) {\npug_html = pug_html + \"\\u003Ch3 class=\\\"type-bold\\\"\\u003E\\u003Cspan\\u003E\" + (pug.escape(null == (pug_interp = i18n.get('TabTitle_Bids_And_Targets')) ? \"\" : pug_interp)) + \"\\u003C\\u002Fspan\\u003E\\u003C\\u002Fh3\\u003E\\u003Chr\\u003E\\u003Cdiv class=\\\"cpgBidSection-section\\\"\\u003E\\u003C\\u002Fdiv\\u003E\";\n}\nif (subViews['advanced-settings']) {\npug_html = pug_html + \"\\u003Ch3 class=\\\"type-bold advanced-settings-title\\\"\\u003E\\u003Cspan\\u003E\" + (pug.escape(null == (pug_interp = i18n.get('SectionTitle_AdvancedSettings')) ? \"\" : pug_interp)) + \"\\u003C\\u002Fspan\\u003E\\u003C\\u002Fh3\\u003E\\u003Chr\\u003E\\u003Cdiv class=\\\"advanced-settings-section\\\"\\u003E\\u003C\\u002Fdiv\\u003E\";\n}\nif (subViews['adgroup-targets']) {\npug_html = pug_html + \"\\u003Ch3 class=\\\"type-bold\\\"\\u003E\\u003Cspan\\u003E\" + (pug.escape(null == (pug_interp = i18n.get('SectionTitle_AdgroupTargets')) ? \"\" : pug_interp)) + \"\\u003C\\u002Fspan\\u003E\\u003C\\u002Fh3\\u003E\\u003Chr\\u003E\\u003Cdiv class=\\\"adgroup-targets-section clearfix\\\"\\u003E\\u003C\\u002Fdiv\\u003E\";\nif (isShowDisclaimerBannerEnabled) {\npug_html = pug_html + \"\\u003Cdiv class=\\\"alert alert-info\\\"\\u003E\\u003Cdiv class=\\\"alert-image\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"alert-info-inline\\\"\\u003E\" + (null == (pug_interp = i18n.get('Targeting_Disclaimer')) ? \"\" : pug_interp) + \"\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";\n}\n}\nif (!isMixedMode) {\npug_html = pug_html + \"\\u003Cdiv class=\\\"save-bar form-group\\\"\\u003E\\u003Cinput\" + (\" class=\\\"btn-save btn btn-primary\\\"\"+\" type=\\\"button\\\"\"+pug.attr(\"value\", i18n.get('Button_Save'), true, true)+\" aria-describedby=\\\"AdGroupCreate_KoErrors\\\" data-bind=\\\"attr: { disabled: !isNextButtonEnabled }\\\"\") + \"\\u003E\\u003Cinput\" + (\" class=\\\"btn-cancel btn btn-default\\\"\"+\" type=\\\"button\\\"\"+pug.attr(\"value\", i18n.get('Button_Cancel'), true, true)) + \"\\u003E\\u003C\\u002Fdiv\\u003E\";\n}\npug_html = pug_html + \"\\u003C\\u002Fdiv\\u003E\";}.call(this,\"i18n\" in locals_for_with?locals_for_with.i18n:typeof i18n!==\"undefined\"?i18n:undefined,\"isMixedMode\" in locals_for_with?locals_for_with.isMixedMode:typeof isMixedMode!==\"undefined\"?isMixedMode:undefined,\"isShowDisclaimerBannerEnabled\" in locals_for_with?locals_for_with.isShowDisclaimerBannerEnabled:typeof isShowDisclaimerBannerEnabled!==\"undefined\"?isShowDisclaimerBannerEnabled:undefined,\"subViews\" in locals_for_with?locals_for_with.subViews:typeof subViews!==\"undefined\"?subViews:undefined));;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../node_modules/.pnpm/pug@2.0.4/node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;;var locals_for_with = (locals || {});(function (content, title) {pug_html = pug_html + \"\\u003Cdiv class=\\\"change-adgroup-type-view\\\"\\u003E\\u003Cspan class=\\\"change-adgroup-type-title\\\"\\u003E\" + (pug.escape(null == (pug_interp = title) ? \"\" : pug_interp)) + \"\\u003C\\u002Fspan\\u003E\\u003Cspan class=\\\"change-adgroup-type-content\\\"\\u003E\" + (pug.escape(null == (pug_interp = content) ? \"\" : pug_interp)) + \"\\u003C\\u002Fspan\\u003E\\u003C\\u002Fdiv\\u003E\";}.call(this,\"content\" in locals_for_with?locals_for_with.content:typeof content!==\"undefined\"?content:undefined,\"title\" in locals_for_with?locals_for_with.title:typeof title!==\"undefined\"?title:undefined));;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../node_modules/.pnpm/pug@2.0.4/node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;;var locals_for_with = (locals || {});(function (i18n) {pug_mixins[\"koErrors\"] = pug_interp = function(id, cssClass){\nvar block = (this && this.block), attributes = (this && this.attributes) || {};\npug_html = pug_html + \"\\u003Cul\" + (pug.attr(\"class\", pug.classes([cssClass ? cssClass : 'alert alert-danger'], [true]), false, true)+\" data-bind=\\\"visible: errors().length > 0, foreach: errors, attr: {"aria-hidden": errors().length == 0}\\\"\"+pug.attr(\"id\", id ? id : 'KoErrors', true, true)) + \"\\u003E\\u003Cli\\u003E\\u003Cdiv data-bind=\\\"html: $data\\\" role=\\\"alert\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fli\\u003E\\u003C\\u002Ful\\u003E\";\n};\npug_mixins[\"popupHelp\"] = pug_interp = function(popupId, ariaLabelContext, i18n){\nvar block = (this && this.block), attributes = (this && this.attributes) || {};\nvar templateString = (i18n && i18n.get && i18n.get('Click to learn more about {{item}}')) || (i18n && i18n.getString && i18n.getString('Click to learn more about {{item}}')) || null\npug_html = pug_html + \"\\u003Ca\" + (\" class=\\\"helpbutton\\\"\"+\" type=\\\"helppopup\\\" role=\\\"button\\\"\"+pug.attr(\"topic\", popupId, true, true)+pug.attr(\"data-help\", true, true, true)+\" onclick=\\\"PopupController.PopupJsClick(this)\\\" href=\\\"javascript:void(0);\\\"\"+pug.attr(\"aria-label\", templateString ? templateString.replace('{{item}}', ariaLabelContext) : ariaLabelContext, true, true)) + \"\\u003E\\u003C\\u002Fa\\u003E\";\n};\npug_html = pug_html + \"\\u003Cdiv class=\\\"mixed-mode-ad-group-creation-container\\\"\\u003E\\u003Ch1 class=\\\"mixed-mode-ad-group-creation-title\\\"\\u003E\\u003Cspan\\u003E\" + (pug.escape(null == (pug_interp = i18n.get('AdGroupCreate_HeaderTitle')) ? \"\" : pug_interp)) + \"\\u003C\\u002Fspan\\u003E\\u003C\\u002Fh1\\u003E\";\npug_mixins[\"koErrors\"]();\npug_html = pug_html + \"\\u003Cdiv class=\\\"ad-group-type-section\\\" data-bind=\\\"visible: !hasDisclaimerSetting()\\\"\\u003E\\u003Cdiv class=\\\"form-horizontal\\\"\\u003E\\u003Cdiv class=\\\"form-group\\\"\\u003E\\u003Ch5 class=\\\"col-sm-2 control-label\\\"\\u003E\\u003Clabel\\u003E\" + (pug.escape(null == (pug_interp = i18n.get('AdGroupType_Label')) ? \"\" : pug_interp)) + \"\\u003C\\u002Flabel\\u003E\";\npug_mixins[\"popupHelp\"]('pop_BA_DSA_AdGroupType', i18n.get('AdGroupType_Label'), i18n);\npug_html = pug_html + \"\\u003C\\u002Fh5\\u003E\\u003Cdiv class=\\\"col-sm-4\\\"\\u003E\\u003Cselect class=\\\"form-control adgroup-type-select\\\" data-bind=\\\"value: adGroupType, options: adGroupTypeOptions, optionsText: "text", optionsValue: "value"\\\" aria-labelledby=\\\"AdGroupType_Label\\\"\\u003E\\u003C\\u002Fselect\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"adgroup-creation-section\\\"\\u003E\\u003Cdiv class=\\\"adgroup-creation-dsa-settings-view-container form-horizontal\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"adgroup-creation-container\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"save-bar form-group\\\"\\u003E\\u003Cinput\" + (\" class=\\\"btn-save btn btn-primary\\\"\"+\" type=\\\"button\\\"\"+pug.attr(\"value\", i18n.get('Button_Save'), true, true)) + \"\\u003E\\u003Cinput\" + (\" class=\\\"btn-cancel btn btn-default\\\"\"+\" type=\\\"button\\\"\"+pug.attr(\"value\", i18n.get('Button_Cancel'), true, true)) + \"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";}.call(this,\"i18n\" in locals_for_with?locals_for_with.i18n:typeof i18n!==\"undefined\"?i18n:undefined));;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../node_modules/.pnpm/pug@2.0.4/node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;;var locals_for_with = (locals || {});(function (i18n) {pug_html = pug_html + \"\\u003Csection class=\\\"content-area\\\"\\u003E\" + (pug.escape(null == (pug_interp = i18n.get('No_Campaign_Text')) ? \"\" : pug_interp)) + \"\\u003Ca class=\\\"create-campaign\\\"\\u003E\" + (pug.escape(null == (pug_interp = i18n.get('CampaignCreate_HeaderTitle')) ? \"\" : pug_interp)) + \"\\u003C\\u002Fa\\u003E\\u003C\\u002Fsection\\u003E\";}.call(this,\"i18n\" in locals_for_with?locals_for_with.i18n:typeof i18n!==\"undefined\"?i18n:undefined));;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../../node_modules/.pnpm/pug@2.0.4/node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;\n\n\n\n\n\n\n\n\n\n\n\npug_html = pug_html + \"\\u003Cdiv class=\\\"form-horizontal\\\"\\u003E\\u003Cdiv class=\\\"search-bid__container\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../../node_modules/.pnpm/pug@2.0.4/node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;;var locals_for_with = (locals || {});(function (accountCurrencyCode, bidStatusEnabled, defaultMSStoreMinSuggestionBid, i18n, inputLabel, isInKeywordCreationWorkflow, popupId, showTrafficEstimation) {pug_mixins[\"popupHelp\"] = pug_interp = function(popupId, ariaLabelContext, i18n){\nvar block = (this && this.block), attributes = (this && this.attributes) || {};\nvar templateString = (i18n && i18n.get && i18n.get('Click to learn more about {{item}}')) || (i18n && i18n.getString && i18n.getString('Click to learn more about {{item}}')) || null\npug_html = pug_html + \"\\u003Ca\" + (\" class=\\\"helpbutton\\\"\"+\" type=\\\"helppopup\\\" role=\\\"button\\\"\"+pug.attr(\"topic\", popupId, true, true)+pug.attr(\"data-help\", true, true, true)+\" onclick=\\\"PopupController.PopupJsClick(this)\\\" href=\\\"javascript:void(0);\\\"\"+pug.attr(\"aria-label\", templateString ? templateString.replace('{{item}}', ariaLabelContext) : ariaLabelContext, true, true)) + \"\\u003E\\u003C\\u002Fa\\u003E\";\n};\npug_mixins[\"koErrors\"] = pug_interp = function(id, cssClass){\nvar block = (this && this.block), attributes = (this && this.attributes) || {};\npug_html = pug_html + \"\\u003Cul\" + (pug.attr(\"class\", pug.classes([cssClass ? cssClass : 'alert alert-danger'], [true]), false, true)+\" data-bind=\\\"visible: errors().length > 0, foreach: errors, attr: {"aria-hidden": errors().length == 0}\\\"\"+pug.attr(\"id\", id ? id : 'KoErrors', true, true)) + \"\\u003E\\u003Cli\\u003E\\u003Cdiv data-bind=\\\"html: $data\\\" role=\\\"alert\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fli\\u003E\\u003C\\u002Ful\\u003E\";\n};\npug_mixins[\"koError\"] = pug_interp = function(item, id){\nvar block = (this && this.block), attributes = (this && this.attributes) || {};\npug_html = pug_html + \"\\u003Cdiv\" + (pug.attr(\"data-bind\", 'if: ' + item + '().length > 0, attr: {\"aria-hidden\": ' + item + '().length == 0}', true, true)+pug.attr(\"id\", id ? id : item, true, true)+\" role=\\\"alert\\\"\") + \"\\u003E\\u003Cdiv\" + (\" class=\\\"error\\\"\"+pug.attr(\"data-bind\", 'html: ' + item, true, true)+\" role=\\\"alert\\\"\") + \"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";\n};\npug_mixins[\"koValidationError\"] = pug_interp = function(item, id){\nvar block = (this && this.block), attributes = (this && this.attributes) || {};\npug_html = pug_html + \"\\u003Cul\" + (pug.attr(\"data-bind\", 'visible: !' + item + '.isValid(), foreach: ' + item + '.errors, attr: {\"aria-hidden\": ' + item + '.isValid()}', true, true)+pug.attr(\"id\", id ? id : item + 'ValidationError', true, true)+\" role=\\\"alert\\\"\") + \"\\u003E\\u003Cli role=\\\"presentation\\\"\\u003E\\u003Cdiv class=\\\"error\\\" data-bind=\\\"html: $data\\\" role=\\\"alert\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fli\\u003E\\u003C\\u002Ful\\u003E\";\n};\npug_html = pug_html + \"\\u003Cdiv class=\\\"form-group\\\"\\u003E\";\npug_mixins[\"koErrors\"]('AdGroupCreate_BidTrafficEstError');\npug_html = pug_html + \"\\u003C\\u002Fdiv\\u003E\\u003C!--ko if: showInfo--\\u003E\\u003Cdiv class=\\\"form-group\\\"\\u003E\\u003Cdiv class=\\\"alert alert-info\\\"\\u003E\\u003Cdiv data-bind=\\\"text: infoMessage\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C!-- \\u002Fko--\\u003E\\u003Cdiv class=\\\"form-group\\\"\\u003E\\u003Cdiv\" + (pug.attr(\"class\", pug.classes([\"searchbid-label\",\"control-label\",isInKeywordCreationWorkflow ? '' : 'col-sm-2'], [false,false,true]), false, true)) + \"\\u003E\\u003Clabel id=\\\"AdGroupCreate_SearchBidLabel\\\"\\u003E\" + (pug.escape(null == (pug_interp = inputLabel) ? \"\" : pug_interp)) + \"\\u003C\\u002Flabel\\u003E\";\nif (popupId) {\npug_mixins[\"popupHelp\"](popupId, inputLabel, i18n);\n}\npug_html = pug_html + \"\\u003C\\u002Fdiv\\u003E\\u003Cdiv\" + (pug.attr(\"class\", pug.classes([isInKeywordCreationWorkflow ? '' : 'col-sm-2'], [true]), false, true)) + \"\\u003E\\u003Cdiv class=\\\"input-group\\\"\\u003E\\u003Cinput class=\\\"searchbid form-control\\\" type=\\\"text\\\" data-bind=\\\"disable: isAutoBidding(), value: isAutoBidding() ? "Auto" : SearchBid.string, valueUpdate: "input", css: {"validation-error": searchBidInvalid()}, attr: {"aria-invalid": searchBidInvalid()}\\\" aria-required=\\\"true\\\" aria-labelledby=\\\"AdGroupCreate_SearchBidLabel AdGroupCreate_BidCurrencyCode\\\" aria-describedby=\\\"AdGroupCreate_SearchBidClientError AdGroupCreate_BidTrafficEstError\\\"\\u003E\\u003Cspan class=\\\"iconba iconba-Financial bidlandscape_icon spritedimagealign spritedimage clickable\\\" data-bind=\\\"visible: bidLandscapeAvailable()\\\"\\u003E\\u003C\\u002Fspan\\u003E\\u003Cspan class=\\\"input-group-addon\\\" id=\\\"AdGroupCreate_BidCurrencyCode\\\"\\u003E\" + (pug.escape(null == (pug_interp = accountCurrencyCode) ? \"\" : pug_interp)) + \"\\u003C\\u002Fspan\\u003E\";\nif (bidStatusEnabled) {\npug_html = pug_html + \"\\u003Cspan class=\\\"status-container\\\"\\u003E\\u003Cdiv class=\\\"status_success status\\\" data-bind=\\\"visible: bidStatus() === bidStatusENUM.Good\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"status_warning status iconba iconba-Warning\\\" data-bind=\\\"visible: bidStatus() === bidStatusENUM.Warning\\\" role=\\\"button\\\"\\u003E\\u003Cdiv class=\\\"raise-bid-popup-container\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"status_error status\\\" data-bind=\\\"visible: bidStatus() === bidStatusENUM.Error\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fspan\\u003E\";\n}\npug_html = pug_html + \"\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"noWrap searchbid-errors\\\"\\u003E\";\npug_mixins[\"koValidationError\"]('SearchBid', 'AdGroupCreate_SearchBidClientError');\npug_mixins[\"koError\"]('searchBidErrorMessage', 'AdGroupCreate_SearchBidClientError');\npug_html = pug_html + \"\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"alert alert-info bidWarning\\\" data-bind=\\\"visible: showLowerThanMinSuggestionBidWarning()\\\"\\u003E\\u003Cdiv class=\\\"alert-image\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"alert-info-inline\\\"\\u003E\" + (null == (pug_interp = i18n.get('MinSuggestionBidWarning', { minSuggestionBid: defaultMSStoreMinSuggestionBid })) ? \"\" : pug_interp) + \"\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";\nif (showTrafficEstimation) {\npug_html = pug_html + \"\\u003Cdiv class=\\\"bidSuggestion\\\"\\u003E\\u003Cdiv class=\\\"form-group\\\"\\u003E\\u003Cdiv class=\\\"col-sm-10\\\" data-bind=\\\"visible: showEstimateButton\\\"\\u003E\\u003Cdiv class=\\\"form-control-static\\\" data-bind=\\\"visible: showLowBidWarning\\\"\\u003E\\u003Cdiv class=\\\"alert alert-warning\\\"\\u003E\\u003Cdiv class=\\\"alert-image\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"alert-warning-inline\\\"\\u003E\\u003Cspan data-bind=\\\"text: lowBidWarning\\\"\\u003E\\u003C\\u002Fspan\\u003E\\u003Cinput class=\\\"btn-apply-bid btn btn-default\\\" type=\\\"button\\\" data-bind=\\\"value: applyBidBtnText\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"form-group\\\"\\u003E\\u003Cdiv class=\\\"col-sm-10\\\" data-bind=\\\"visible: showEstimateButton\\\"\\u003E\\u003Cdiv class=\\\"form-control-static\\\" data-bind=\\\"visible: showLowBidInfo\\\"\\u003E\\u003Cdiv class=\\\"alert alert-info\\\"\\u003E\\u003Cspan class=\\\"iconba iconba-Lightbulb\\\"\\u003E\\u003C\\u002Fspan\\u003E\\u003Cdiv class=\\\"alert-info-inline\\\"\\u003E\\u003Cspan data-bind=\\\"text: lowBidInfo\\\"\\u003E\\u003C\\u002Fspan\\u003E\\u003Cinput class=\\\"btn-apply-bid btn btn-default\\\" type=\\\"button\\\" data-bind=\\\"value: applyBidBtnText\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";\n}\nif (showTrafficEstimation) {\npug_html = pug_html + \"\\u003C!-- ko if: showEstimation--\\u003E\\u003Cdiv class=\\\"panel panel-default estimation-result\\\"\\u003E\\u003C!-- have to add the heading or the margin things--\\u003E\\u003Cdiv class=\\\"panel-heading\\\" role=\\\"heading\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"panel-body\\\"\\u003E\\u003Cdiv class=\\\"form-group\\\"\\u003E\\u003Cdiv class=\\\"col-sm-3 control-label\\\"\\u003E\\u003Clabel\\u003E\" + (pug.escape(null == (pug_interp = i18n.get('EstimatedClicks')) ? \"\" : pug_interp)) + \"\\u003C\\u002Flabel\\u003E\";\npug_mixins[\"popupHelp\"]('pop_BA_Signup_CampaignCreate_EstClicks', i18n.get('EstimatedClicks'), i18n);\npug_html = pug_html + \"\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-sm-4 estimated-clicks form-control-static\\\" data-bind=\\\"text: Clicks\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"form-group\\\"\\u003E\\u003Cdiv class=\\\"col-sm-3 control-label\\\"\\u003E\\u003Clabel\\u003E\" + (pug.escape(null == (pug_interp = i18n.get('EstimatedImpressions')) ? \"\" : pug_interp)) + \"\\u003C\\u002Flabel\\u003E\";\npug_mixins[\"popupHelp\"]('pop_BA_Signup_CampaignCreate_EstImpressions', i18n.get('EstimatedImpressions'), i18n);\npug_html = pug_html + \"\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-sm-4 estimated-impressions form-control-static\\\" data-bind=\\\"text: Impressions\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"form-group\\\"\\u003E\\u003Cdiv class=\\\"col-sm-3 control-label\\\"\\u003E\\u003Clabel\\u003E\" + (pug.escape(null == (pug_interp = i18n.get('EstimatedSpend')) ? \"\" : pug_interp)) + \"\\u003C\\u002Flabel\\u003E\";\npug_mixins[\"popupHelp\"]('pop_BA_Signup_CampaignCreate_EstSpend', i18n.get('EstimatedSpend'), i18n);\npug_html = pug_html + \"\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-sm-4 estimated-spend form-control-static\\\" data-bind=\\\"text: Spend\\\" x-ms-format-detection=\\\"none\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C!-- \\u002Fko--\\u003E\";\n}}.call(this,\"accountCurrencyCode\" in locals_for_with?locals_for_with.accountCurrencyCode:typeof accountCurrencyCode!==\"undefined\"?accountCurrencyCode:undefined,\"bidStatusEnabled\" in locals_for_with?locals_for_with.bidStatusEnabled:typeof bidStatusEnabled!==\"undefined\"?bidStatusEnabled:undefined,\"defaultMSStoreMinSuggestionBid\" in locals_for_with?locals_for_with.defaultMSStoreMinSuggestionBid:typeof defaultMSStoreMinSuggestionBid!==\"undefined\"?defaultMSStoreMinSuggestionBid:undefined,\"i18n\" in locals_for_with?locals_for_with.i18n:typeof i18n!==\"undefined\"?i18n:undefined,\"inputLabel\" in locals_for_with?locals_for_with.inputLabel:typeof inputLabel!==\"undefined\"?inputLabel:undefined,\"isInKeywordCreationWorkflow\" in locals_for_with?locals_for_with.isInKeywordCreationWorkflow:typeof isInKeywordCreationWorkflow!==\"undefined\"?isInKeywordCreationWorkflow:undefined,\"popupId\" in locals_for_with?locals_for_with.popupId:typeof popupId!==\"undefined\"?popupId:undefined,\"showTrafficEstimation\" in locals_for_with?locals_for_with.showTrafficEstimation:typeof showTrafficEstimation!==\"undefined\"?showTrafficEstimation:undefined));;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../../node_modules/.pnpm/pug@2.0.4/node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;;var locals_for_with = (locals || {});(function (i18n, subViews) {pug_mixins[\"popupHelp\"] = pug_interp = function(popupId, ariaLabelContext, i18n){\nvar block = (this && this.block), attributes = (this && this.attributes) || {};\nvar templateString = (i18n && i18n.get && i18n.get('Click to learn more about {{item}}')) || (i18n && i18n.getString && i18n.getString('Click to learn more about {{item}}')) || null\npug_html = pug_html + \"\\u003Ca\" + (\" class=\\\"helpbutton\\\"\"+\" type=\\\"helppopup\\\" role=\\\"button\\\"\"+pug.attr(\"topic\", popupId, true, true)+pug.attr(\"data-help\", true, true, true)+\" onclick=\\\"PopupController.PopupJsClick(this)\\\" href=\\\"javascript:void(0);\\\"\"+pug.attr(\"aria-label\", templateString ? templateString.replace('{{item}}', ariaLabelContext) : ariaLabelContext, true, true)) + \"\\u003E\\u003C\\u002Fa\\u003E\";\n};\npug_mixins[\"koCharactersRemaining\"] = pug_interp = function(item, id){\nvar block = (this && this.block), attributes = (this && this.attributes) || {};\npug_html = pug_html + \"\\u003Cdiv class=\\\"remaining-hint help-block\\\"\\u003E\\u003Cspan\" + (pug.attr(\"data-bind\", 'text:' + item + '.char_rem', true, true)+pug.attr(\"id\", id ? id : item + '_CharactersRemaining', true, true)+\" role=\\\"status\\\" aria-live=\\\"polite\\\"\") + \"\\u003E\\u003C\\u002Fspan\\u003E\\u003C\\u002Fdiv\\u003E\";\n};\npug_mixins[\"koValidationError\"] = pug_interp = function(item, id){\nvar block = (this && this.block), attributes = (this && this.attributes) || {};\npug_html = pug_html + \"\\u003Cul\" + (pug.attr(\"data-bind\", 'visible: !' + item + '.isValid(), foreach: ' + item + '.errors, attr: {\"aria-hidden\": ' + item + '.isValid()}', true, true)+pug.attr(\"id\", id ? id : item + 'ValidationError', true, true)+\" role=\\\"alert\\\"\") + \"\\u003E\\u003Cli role=\\\"presentation\\\"\\u003E\\u003Cdiv class=\\\"error\\\" data-bind=\\\"html: $data\\\" role=\\\"alert\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fli\\u003E\\u003C\\u002Ful\\u003E\";\n};\npug_mixins[\"koErrors\"] = pug_interp = function(id, cssClass){\nvar block = (this && this.block), attributes = (this && this.attributes) || {};\npug_html = pug_html + \"\\u003Cul\" + (pug.attr(\"class\", pug.classes([cssClass ? cssClass : 'alert alert-danger'], [true]), false, true)+\" data-bind=\\\"visible: errors().length > 0, foreach: errors, attr: {"aria-hidden": errors().length == 0}\\\"\"+pug.attr(\"id\", id ? id : 'KoErrors', true, true)) + \"\\u003E\\u003Cli\\u003E\\u003Cdiv data-bind=\\\"html: $data\\\" role=\\\"alert\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fli\\u003E\\u003C\\u002Ful\\u003E\";\n};\npug_html = pug_html + \"\\u003Cdiv class=\\\"form-horizontal\\\"\\u003E\\u003Cdiv class=\\\"form-group\\\"\\u003E\";\npug_mixins[\"koErrors\"]('AdGroupCreate_KoErrors');\npug_html = pug_html + \"\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"form-group\\\"\\u003E\\u003Ch5 class=\\\"col-sm-2 control-label\\\"\\u003E\\u003Clabel\\u003E\" + (pug.escape(null == (pug_interp = i18n.get('Campaign_Name')) ? \"\" : pug_interp)) + \"\\u003C\\u002Flabel\\u003E\\u003C\\u002Fh5\\u003E\\u003Cdiv class=\\\"col-sm-4 form-control-static\\\" data-bind=\\\"text: campaignName\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"form-group\\\"\\u003E\\u003Ch5 class=\\\"col-sm-2 control-label\\\"\\u003E\\u003Clabel id=\\\"AdGroupCreate_AdGroupName_Label\\\"\\u003E\" + (pug.escape(null == (pug_interp = i18n.get('PageTitle_AdGroup_Name_Label')) ? \"\" : pug_interp)) + \"\\u003C\\u002Flabel\\u003E\";\npug_mixins[\"popupHelp\"]('pop_BA_CampaignCreate_Keywords_AdGroupName', i18n.get('PageTitle_AdGroup_Name_Label'), i18n);\npug_html = pug_html + \"\\u003C\\u002Fh5\\u003E\\u003Cdiv class=\\\"col-sm-4\\\"\\u003E\\u003Cinput\" + (\" class=\\\"name form-control\\\"\"+\" data-bind=\\\"value: Name, valueUpdate: "input", attr: {"aria-invalid": !Name.isValid()}, css: {"validation-error": !Name.isValid()}\\\"\"+pug.attr(\"placeholder\", i18n.get('AdGroupCreate_Placeholder_Name'), true, true)+\" type=\\\"text\\\" aria-required=\\\"true\\\" aria-labelledby=\\\"AdGroupCreate_AdGroupName_Label\\\" aria-describedby=\\\"AdGroupCreate_AdGroupName_Error Name_CharactersRemaining\\\"\") + \"\\u003E\";\npug_mixins[\"koCharactersRemaining\"]('Name');\npug_html = pug_html + \"\\u003Cdiv class=\\\"clear\\\"\\u003E\";\npug_mixins[\"koValidationError\"]('Name', 'AdGroupCreate_AdGroupName_Error');\npug_html = pug_html + \"\\u003Cdiv class=\\\"copy-adgroup-settings\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";\nif (subViews.language) {\npug_html = pug_html + \"\\u003Cdiv class=\\\"form-group\\\"\\u003E\\u003Ch5 class=\\\"col-sm-2 control-label\\\"\\u003E\\u003Clabel\\u003E\" + (pug.escape(null == (pug_interp = i18n.get('LanguageLabelText')) ? \"\" : pug_interp)) + \"\\u003C\\u002Flabel\\u003E\";\npug_mixins[\"popupHelp\"]('pop_BA_Settings_Language', i18n.get('LanguageLabelText'), i18n);\npug_html = pug_html + \"\\u003C\\u002Fh5\\u003E\\u003Cdiv class=\\\"col-sm-4 language-section\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";\n}\nif (subViews.automatedBidding) {\npug_html = pug_html + \"\\u003Cdiv class=\\\"bidding-strategy__container\\\"\\u003E\\u003C\\u002Fdiv\\u003E\";\n}\nif (subViews.cpgAdGroupType) {\npug_html = pug_html + \"\\u003Cdiv class=\\\"cpgAdGroupType-section\\\"\\u003E\\u003C\\u002Fdiv\\u003E\";\n}\nif (subViews.cashbackSettings) {\npug_html = pug_html + \"\\u003Cdiv class=\\\"cashbackSettings-section\\\"\\u003E\\u003C\\u002Fdiv\\u003E\";\n}\npug_html = pug_html + \"\\u003C\\u002Fdiv\\u003E\";}.call(this,\"i18n\" in locals_for_with?locals_for_with.i18n:typeof i18n!==\"undefined\"?i18n:undefined,\"subViews\" in locals_for_with?locals_for_with.subViews:typeof subViews!==\"undefined\"?subViews:undefined));;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../node_modules/.pnpm/pug@2.0.4/node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;;var locals_for_with = (locals || {});(function (appendLearnMoreLink, i18n, nativeAdsAllowed, showSyndicationSearchOnly) {\n\n\n\n\npug_mixins[\"koValidationError\"] = pug_interp = function(item, id){\nvar block = (this && this.block), attributes = (this && this.attributes) || {};\npug_html = pug_html + \"\\u003Cul\" + (pug.attr(\"data-bind\", 'visible: !' + item + '.isValid(), foreach: ' + item + '.errors, attr: {\"aria-hidden\": ' + item + '.isValid()}', true, true)+pug.attr(\"id\", id ? id : item + 'ValidationError', true, true)+\" role=\\\"alert\\\"\") + \"\\u003E\\u003Cli role=\\\"presentation\\\"\\u003E\\u003Cdiv class=\\\"error\\\" data-bind=\\\"html: $data\\\" role=\\\"alert\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fli\\u003E\\u003C\\u002Ful\\u003E\";\n};\npug_mixins[\"syndicationTypeNote\"] = pug_interp = function(note, topicId){\nvar block = (this && this.block), attributes = (this && this.attributes) || {};\npug_html = pug_html + \"\\u003Cdiv class=\\\"syndication-type-description\\\"\\u003E\\u003Cli class=\\\"infomark spritedimage\\\"\\u003E\\u003C\\u002Fli\\u003E\";\nif (topicId) {\npug_html = pug_html + \"\\u003Cspan\\u003E\" + (null == (pug_interp = appendLearnMoreLink(i18n.get(note), topicId)) ? \"\" : pug_interp) + \"\\u003C\\u002Fspan\\u003E\";\n}\nelse {\npug_html = pug_html + \"\\u003Cspan\\u003E\" + (null == (pug_interp = i18n.get(note)) ? \"\" : pug_interp) + \"\\u003C\\u002Fspan\\u003E\";\n}\npug_html = pug_html + \"\\u003C\\u002Fdiv\\u003E\";\n};\npug_html = pug_html + \"\\u003Cdiv role=\\\"radiogroup\\\" aria-labelledby=\\\"advancedSettingAdDistributionDesc\\\"\\u003E\\u003Cdiv class=\\\"form-control-static\\\" id=\\\"advancedSettingAdDistributionDesc\\\"\\u003E\" + (pug.escape(null == (pug_interp = i18n.get('AdvancedSetting_AdDistributionDesc')) ? \"\" : pug_interp)) + \"\\u003C\\u002Fdiv\\u003E\\u003Cdiv data-bind=\\\"visible: showSynd\\\"\\u003E\\u003Cdiv class=\\\"radio bing-yahoo-and-search-partners__radio\\\"\\u003E\\u003Clabel\\u003E\\u003Cinput type=\\\"radio\\\" name=\\\"SyndicationType\\\" value=\\\"BingYahooAndSearchPartners\\\" data-bind=\\\"checked: AdDistribution, enable: enableSynd()\\\"\\u003E\" + (pug.escape(null == (pug_interp = i18n.get('SyndicationType_BingAOLYahooAndSearchPartners_WithMicrosoftRetailMediaNetwork')) ? \"\" : pug_interp)) + \"\\u003C\\u002Flabel\\u003E\";\nif (nativeAdsAllowed) {\npug_html = pug_html + \"\\u003Cdiv\\u003E\";\npug_mixins[\"syndicationTypeNote\"]('NativeAdsAllSearchNetworksDisclaimer', 'app50028');\npug_html = pug_html + \"\\u003C\\u002Fdiv\\u003E\";\n}\npug_html = pug_html + \"\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"radio bing-yahoo__radio\\\"\\u003E\\u003Clabel\\u003E\\u003Cinput type=\\\"radio\\\" name=\\\"SyndicationType\\\" value=\\\"BingYahooOnly\\\" data-bind=\\\"checked: AdDistribution, enable: enableSynd()\\\"\\u003E\" + (pug.escape(null == (pug_interp = i18n.get('SyndicationType_BingAOLYahooOnly')) ? \"\" : pug_interp)) + \"\\u003C\\u002Flabel\\u003E\";\nif (nativeAdsAllowed) {\npug_html = pug_html + \"\\u003Cdiv\\u003E\";\npug_mixins[\"syndicationTypeNote\"]('NativeAdsBingYahooSearchDisclaimerNonUS', 'app50028');\npug_html = pug_html + \"\\u003C\\u002Fdiv\\u003E\";\n}\nelse {\npug_mixins[\"syndicationTypeNote\"]('SyndicationType_Note', 'app50028');\n}\npug_html = pug_html + \"\\u003C\\u002Fdiv\\u003E\";\nif (showSyndicationSearchOnly) {\npug_html = pug_html + \"\\u003Cdiv class=\\\"radio search-partners__radio\\\"\\u003E\\u003Clabel\\u003E\\u003Cinput type=\\\"radio\\\" name=\\\"SyndicationType\\\" value=\\\"SearchPartnersOnly\\\" data-bind=\\\"checked: AdDistribution, enable: enableSynd()\\\"\\u003E\" + (pug.escape(null == (pug_interp = i18n.get('SyndicationType_BingAOLYahooSearchPartnersOnly')) ? \"\" : pug_interp)) + \"\\u003C\\u002Flabel\\u003E\";\npug_mixins[\"syndicationTypeNote\"]('SyndicationType_Note', 'app50028');\npug_html = pug_html + \"\\u003C\\u002Fdiv\\u003E\";\n}\npug_html = pug_html + \"\\u003C\\u002Fdiv\\u003E\\u003Cdiv data-bind=\\\"visible: showInHouse\\\"\\u003E\\u003Cdiv class=\\\"radio in-house__radio\\\"\\u003E\\u003Clabel\\u003E\\u003Cinput type=\\\"radio\\\" name=\\\"SyndicationType\\\" value=\\\"InHousePromotion\\\" data-bind=\\\"checked: AdDistribution\\\"\\u003E\" + (pug.escape(null == (pug_interp = i18n.get('Network_Distribution_MicrosoftRetailMediaNetwork')) ? \"\" : pug_interp)) + \"\\u003C\\u002Flabel\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";\npug_mixins[\"koValidationError\"]('AdDistribution');\npug_mixins[\"koValidationError\"]('Medium');}.call(this,\"appendLearnMoreLink\" in locals_for_with?locals_for_with.appendLearnMoreLink:typeof appendLearnMoreLink!==\"undefined\"?appendLearnMoreLink:undefined,\"i18n\" in locals_for_with?locals_for_with.i18n:typeof i18n!==\"undefined\"?i18n:undefined,\"nativeAdsAllowed\" in locals_for_with?locals_for_with.nativeAdsAllowed:typeof nativeAdsAllowed!==\"undefined\"?nativeAdsAllowed:undefined,\"showSyndicationSearchOnly\" in locals_for_with?locals_for_with.showSyndicationSearchOnly:typeof showSyndicationSearchOnly!==\"undefined\"?showSyndicationSearchOnly:undefined));;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../node_modules/.pnpm/pug@2.0.4/node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;;var locals_for_with = (locals || {});(function (appendLearnMoreLink, i18n, isMSStoreAdsGAWorkflow, nativeAdsAllowed) {\n\n\n\n\npug_mixins[\"koValidationError\"] = pug_interp = function(item, id){\nvar block = (this && this.block), attributes = (this && this.attributes) || {};\npug_html = pug_html + \"\\u003Cul\" + (pug.attr(\"data-bind\", 'visible: !' + item + '.isValid(), foreach: ' + item + '.errors, attr: {\"aria-hidden\": ' + item + '.isValid()}', true, true)+pug.attr(\"id\", id ? id : item + 'ValidationError', true, true)+\" role=\\\"alert\\\"\") + \"\\u003E\\u003Cli role=\\\"presentation\\\"\\u003E\\u003Cdiv class=\\\"error\\\" data-bind=\\\"html: $data\\\" role=\\\"alert\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fli\\u003E\\u003C\\u002Ful\\u003E\";\n};\npug_mixins[\"syndicationTypeNote\"] = pug_interp = function(note, topicId){\nvar block = (this && this.block), attributes = (this && this.attributes) || {};\npug_html = pug_html + \"\\u003Cdiv class=\\\"syndication-type-description\\\"\\u003E\\u003Cli class=\\\"infomark spritedimage\\\"\\u003E\\u003C\\u002Fli\\u003E\";\nif (topicId) {\npug_html = pug_html + \"\\u003Cspan\\u003E\" + (null == (pug_interp = appendLearnMoreLink(i18n.get(note), topicId)) ? \"\" : pug_interp) + \"\\u003C\\u002Fspan\\u003E\";\n}\nelse {\npug_html = pug_html + \"\\u003Cspan\\u003E\" + (null == (pug_interp = i18n.get(note)) ? \"\" : pug_interp) + \"\\u003C\\u002Fspan\\u003E\";\n}\npug_html = pug_html + \"\\u003C\\u002Fdiv\\u003E\";\n};\npug_html = pug_html + \"\\u003Cdiv role=\\\"radiogroup\\\" aria-labelledby=\\\"advancedSettingAdDistributionDesc\\\"\\u003E\\u003Cdiv class=\\\"form-control-static\\\" id=\\\"advancedSettingAdDistributionDesc\\\"\\u003E\" + (pug.escape(null == (pug_interp = i18n.get('AdvancedSetting_AdDistributionDesc')) ? \"\" : pug_interp)) + \"\\u003C\\u002Fdiv\\u003E\\u003Cdiv data-bind=\\\"visible: showSynd\\\"\\u003E\\u003Cdiv class=\\\"radio bing-yahoo-and-search-partners__radio\\\"\\u003E\\u003Clabel\\u003E\\u003Cinput type=\\\"radio\\\" name=\\\"SyndicationType\\\" value=\\\"BingYahooAndSearchPartners\\\" data-bind=\\\"checked: AdDistribution, enable: enableSynd()\\\"\\u003E\";\nif (isMSStoreAdsGAWorkflow) {\npug_html = pug_html + (pug.escape(null == (pug_interp = i18n.get('SyndicationType_BingAOLYahooAndSearchPartners_WithMicrosoftStore_GA')) ? \"\" : pug_interp));\n}\nelse {\npug_html = pug_html + (pug.escape(null == (pug_interp = i18n.get('SyndicationType_BingAOLYahooAndSearchPartners_WithMicrosoftStore')) ? \"\" : pug_interp));\n}\npug_html = pug_html + \"\\u003C\\u002Flabel\\u003E\\u003Cdiv\\u003E\";\nif (isMSStoreAdsGAWorkflow) {\npug_mixins[\"syndicationTypeNote\"]('NativeAdsAllSearchNetworksDisclaimer_MSStoreAdsGA');\n}\nelse\nif (nativeAdsAllowed) {\npug_mixins[\"syndicationTypeNote\"]('NativeAdsAllSearchNetworksDisclaimer', 'app50028');\n}\npug_html = pug_html + \"\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv data-bind=\\\"visible: showInHouse\\\"\\u003E\\u003Cdiv class=\\\"radio in-house__radio\\\"\\u003E\\u003Clabel\\u003E\\u003Cinput type=\\\"radio\\\" name=\\\"SyndicationType\\\" value=\\\"InHousePromotion\\\" data-bind=\\\"checked: AdDistribution\\\"\\u003E\";\nif (isMSStoreAdsGAWorkflow) {\npug_html = pug_html + (pug.escape(null == (pug_interp = i18n.get('Network_Distribution_WindowsStore_MSStoreAdsGA')) ? \"\" : pug_interp));\n}\nelse {\npug_html = pug_html + (pug.escape(null == (pug_interp = i18n.get('Network_Distribution_WindowsStore')) ? \"\" : pug_interp));\n}\npug_html = pug_html + \"\\u003C\\u002Flabel\\u003E\";\nif (isMSStoreAdsGAWorkflow) {\npug_html = pug_html + \"\\u003Cdiv\\u003E\";\npug_mixins[\"syndicationTypeNote\"]('NativeAdsMSStoreOnlyDisclaimer');\npug_html = pug_html + \"\\u003C\\u002Fdiv\\u003E\";\n}\npug_html = pug_html + \"\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";\npug_mixins[\"koValidationError\"]('AdDistribution');\npug_mixins[\"koValidationError\"]('Medium');}.call(this,\"appendLearnMoreLink\" in locals_for_with?locals_for_with.appendLearnMoreLink:typeof appendLearnMoreLink!==\"undefined\"?appendLearnMoreLink:undefined,\"i18n\" in locals_for_with?locals_for_with.i18n:typeof i18n!==\"undefined\"?i18n:undefined,\"isMSStoreAdsGAWorkflow\" in locals_for_with?locals_for_with.isMSStoreAdsGAWorkflow:typeof isMSStoreAdsGAWorkflow!==\"undefined\"?isMSStoreAdsGAWorkflow:undefined,\"nativeAdsAllowed\" in locals_for_with?locals_for_with.nativeAdsAllowed:typeof nativeAdsAllowed!==\"undefined\"?nativeAdsAllowed:undefined));;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../node_modules/.pnpm/pug@2.0.4/node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;;var locals_for_with = (locals || {});(function (appendLearnMoreLink, i18n, isMicrosoftStoreAd, showSyndicationSearchOnly) {\n\n\n\n\npug_mixins[\"koValidationError\"] = pug_interp = function(item, id){\nvar block = (this && this.block), attributes = (this && this.attributes) || {};\npug_html = pug_html + \"\\u003Cul\" + (pug.attr(\"data-bind\", 'visible: !' + item + '.isValid(), foreach: ' + item + '.errors, attr: {\"aria-hidden\": ' + item + '.isValid()}', true, true)+pug.attr(\"id\", id ? id : item + 'ValidationError', true, true)+\" role=\\\"alert\\\"\") + \"\\u003E\\u003Cli role=\\\"presentation\\\"\\u003E\\u003Cdiv class=\\\"error\\\" data-bind=\\\"html: $data\\\" role=\\\"alert\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fli\\u003E\\u003C\\u002Ful\\u003E\";\n};\npug_mixins[\"syndicationTypeNote\"] = pug_interp = function(note, topicId){\nvar block = (this && this.block), attributes = (this && this.attributes) || {};\npug_html = pug_html + \"\\u003Cdiv class=\\\"syndication-type-description\\\"\\u003E\\u003Cli class=\\\"infomark spritedimage\\\"\\u003E\\u003C\\u002Fli\\u003E\";\nif (topicId) {\npug_html = pug_html + \"\\u003Cspan\\u003E\" + (null == (pug_interp = appendLearnMoreLink(i18n.get(note), topicId)) ? \"\" : pug_interp) + \"\\u003C\\u002Fspan\\u003E\";\n}\nelse {\npug_html = pug_html + \"\\u003Cspan\\u003E\" + (null == (pug_interp = i18n.get(note)) ? \"\" : pug_interp) + \"\\u003C\\u002Fspan\\u003E\";\n}\npug_html = pug_html + \"\\u003C\\u002Fdiv\\u003E\";\n};\npug_html = pug_html + \"\\u003Cdiv role=\\\"radiogroup\\\" aria-labelledby=\\\"advancedSettingAdDistributionDesc\\\"\\u003E\\u003Cdiv class=\\\"form-control-static\\\" id=\\\"advancedSettingAdDistributionDesc\\\"\\u003E\" + (pug.escape(null == (pug_interp = i18n.get('AdvancedSetting_AdDistributionDesc')) ? \"\" : pug_interp)) + \"\\u003C\\u002Fdiv\\u003E\\u003Cdiv data-bind=\\\"visible: showSynd\\\"\\u003E\\u003Cdiv class=\\\"radio bing-yahoo-and-search-partners__radio\\\"\\u003E\\u003Clabel\\u003E\\u003Cinput type=\\\"radio\\\" name=\\\"SyndicationType\\\" value=\\\"BingYahooAndSearchPartners\\\" data-bind=\\\"checked: AdDistribution, enable: enableSynd() && !isSPBCampaign()\\\"\\u003E\" + (pug.escape(null == (pug_interp = i18n.get('SyndicationType_EntireMicrosoftAdvertisingNetwork_Endor')) ? \"\" : pug_interp)) + \"\\u003C\\u002Flabel\\u003E\\u003Cdiv\\u003E\";\npug_mixins[\"syndicationTypeNote\"]('AllSearchNetworksDisclaimer_Endor');\npug_html = pug_html + \"\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"radio bing-yahoo__radio\\\"\\u003E\\u003Clabel\\u003E\\u003Cinput type=\\\"radio\\\" name=\\\"SyndicationType\\\" value=\\\"BingYahooOnly\\\" data-bind=\\\"checked: AdDistribution, enable: enableSynd()\\\"\\u003E\" + (pug.escape(null == (pug_interp = i18n.get('SyndicationType_MicrosoftSitesAndPartnerNetwork_Endor')) ? \"\" : pug_interp)) + \"\\u003C\\u002Flabel\\u003E\\u003Cdiv\\u003E\";\npug_mixins[\"syndicationTypeNote\"]('BingYahooSearchDisclaimerNonUS_Endor');\npug_html = pug_html + \"\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";\nif ((showSyndicationSearchOnly)) {\npug_html = pug_html + \"\\u003Cdiv class=\\\"radio search-partners__radio\\\"\\u003E\\u003Clabel\\u003E\\u003Cinput type=\\\"radio\\\" name=\\\"SyndicationType\\\" value=\\\"SearchPartnersOnly\\\" data-bind=\\\"checked: AdDistribution, enable: enableSynd()\\\"\\u003E\" + (pug.escape(null == (pug_interp = i18n.get('SyndicationType_OnlySyndicatedPartnerNetwork_Endor')) ? \"\" : pug_interp)) + \"\\u003C\\u002Flabel\\u003E\";\npug_mixins[\"syndicationTypeNote\"]('SyndicationType_Note_Endor');\npug_html = pug_html + \"\\u003C\\u002Fdiv\\u003E\";\n}\npug_html = pug_html + \"\\u003C\\u002Fdiv\\u003E\\u003Cdiv data-bind=\\\"visible: showInHouse\\\"\\u003E\\u003Cdiv class=\\\"radio in-house__radio\\\"\\u003E\\u003Clabel\\u003E\\u003Cinput type=\\\"radio\\\" name=\\\"SyndicationType\\\" value=\\\"InHousePromotion\\\" data-bind=\\\"checked: AdDistribution\\\"\\u003E\";\nif (isMicrosoftStoreAd) {\npug_html = pug_html + (pug.escape(null == (pug_interp = i18n.get('Network_Distribution_WindowsStore')) ? \"\" : pug_interp));\n}\nelse {\npug_html = pug_html + (pug.escape(null == (pug_interp = i18n.get('Network_Distribution_InHousePromotion')) ? \"\" : pug_interp));\n}\npug_html = pug_html + \"\\u003C\\u002Flabel\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"alert alert-info form-group ad-distribution-info\\\" role=\\\"alert\\\"\\u003E\\u003Cdiv class=\\\"alert-image\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"alert-info-inline\\\"\\u003E\\u003Cspan\\u003E\" + (null == (pug_interp = appendLearnMoreLink(i18n.get('Endor_Alert_Info'), 'app54817')) ? \"\" : pug_interp) + \"\\u003C\\u002Fspan\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";\npug_mixins[\"koValidationError\"]('AdDistribution');\npug_mixins[\"koValidationError\"]('Medium');}.call(this,\"appendLearnMoreLink\" in locals_for_with?locals_for_with.appendLearnMoreLink:typeof appendLearnMoreLink!==\"undefined\"?appendLearnMoreLink:undefined,\"i18n\" in locals_for_with?locals_for_with.i18n:typeof i18n!==\"undefined\"?i18n:undefined,\"isMicrosoftStoreAd\" in locals_for_with?locals_for_with.isMicrosoftStoreAd:typeof isMicrosoftStoreAd!==\"undefined\"?isMicrosoftStoreAd:undefined,\"showSyndicationSearchOnly\" in locals_for_with?locals_for_with.showSyndicationSearchOnly:typeof showSyndicationSearchOnly!==\"undefined\"?showSyndicationSearchOnly:undefined));;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../node_modules/.pnpm/pug@2.0.4/node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;;var locals_for_with = (locals || {});(function (i18n) {pug_html = pug_html + \"\\u003Cdiv class=\\\"form-control-static\\\"\\u003E\" + (pug.escape(null == (pug_interp = i18n.get('AdvancedSetting_AdRotationDesc')) ? \"\" : pug_interp)) + \"\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"radio\\\"\\u003E\\u003Clabel\\u003E\\u003Cinput type=\\\"radio\\\" value=\\\"OptimizeForClicks\\\" name=\\\"adRotation\\\" data-bind=\\\"checked: AdRotation, disable: disableRotationOptions\\\"\\u003E\" + (pug.escape(null == (pug_interp = i18n.get('AdRotation_OptimizeForClicks')) ? \"\" : pug_interp)) + \"\\u003C\\u002Flabel\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"radio\\\"\\u003E\\u003Clabel\\u003E\\u003Cinput type=\\\"radio\\\" value=\\\"RotateAdsEvenly\\\" name=\\\"adRotation\\\" data-bind=\\\"checked: AdRotation, disable: disableRotationOptions\\\"\\u003E\" + (pug.escape(null == (pug_interp = i18n.get('AdRotation_RotateAdsEvenly')) ? \"\" : pug_interp)) + \"\\u003C\\u002Flabel\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"div\\\"\\u003E\\u003Cdiv class=\\\"infomark infoalign\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cspan\\u003E\" + (pug.escape(null == (pug_interp = i18n.get('AdRotation_RotateAdsEvenlyAlert')) ? \"\" : pug_interp)) + \"\\u003C\\u002Fspan\\u003E\\u003C\\u002Fdiv\\u003E\";}.call(this,\"i18n\" in locals_for_with?locals_for_with.i18n:typeof i18n!==\"undefined\"?i18n:undefined));;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../node_modules/.pnpm/pug@2.0.4/node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;;var locals_for_with = (locals || {});(function (i18n, isMultiMediaAdsEnabled, isNativeAdsRebrandingEnabled, isNewUI, isNotAudienceCampaign, level, popupIds, title) {pug_mixins[\"popupHelp\"] = pug_interp = function(popupId, ariaLabelContext, i18n){\nvar block = (this && this.block), attributes = (this && this.attributes) || {};\nvar templateString = (i18n && i18n.get && i18n.get('Click to learn more about {{item}}')) || (i18n && i18n.getString && i18n.getString('Click to learn more about {{item}}')) || null\npug_html = pug_html + \"\\u003Ca\" + (\" class=\\\"helpbutton\\\"\"+\" type=\\\"helppopup\\\" role=\\\"button\\\"\"+pug.attr(\"topic\", popupId, true, true)+pug.attr(\"data-help\", true, true, true)+\" onclick=\\\"PopupController.PopupJsClick(this)\\\" href=\\\"javascript:void(0);\\\"\"+pug.attr(\"aria-label\", templateString ? templateString.replace('{{item}}', ariaLabelContext) : ariaLabelContext, true, true)) + \"\\u003E\\u003C\\u002Fa\\u003E\";\n};\npug_mixins[\"baseSection\"] = pug_interp = function(sectionName, label, helpId){\nvar block = (this && this.block), attributes = (this && this.attributes) || {};\nvar sectionInfo = 'infoText' + sectionName\nvar sectionInfoDataBind = 'text: ' + sectionInfo\npug_html = pug_html + \"\\u003Cdiv\" + (pug.attr(\"class\", pug.classes([sectionName + '-section'], [true]), false, true)+pug.attr(\"data-bind\", 'visible: show' + sectionName + '()', true, true)) + \"\\u003E\\u003Cdiv class=\\\"form-control-static\\\"\\u003E\\u003Ca\" + (\" data-toggle=\\\"collapse\\\"\"+pug.attr(\"data-target\", ('#set' + sectionName + 'Settings'), true, true)+\" href=\\\"javascript:void(0);\\\"\") + \"\\u003E\" + (pug.escape(null == (pug_interp = i18n.get(label)) ? \"\" : pug_interp)) + \"\\u003C\\u002Fa\\u003E\";\nif (helpId) {\npug_mixins[\"popupHelp\"](helpId, i18n.get(label), i18n);\n}\npug_html = pug_html + \"\\u003Cspan\" + (\" class=\\\"target-info\\\"\"+pug.attr(\"data-bind\", sectionInfoDataBind, true, true)) + \"\\u003E\\u003C\\u002Fspan\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv\" + (\" class=\\\"collapse\\\"\"+pug.attr(\"id\", 'set' + sectionName + 'Settings', true, true)+pug.attr(\"data-section\", sectionName, true, true)) + \"\\u003E\";\nif (block) {\nblock && block();\n}\npug_html = pug_html + \"\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";\n};\npug_html = pug_html + (\"\\u003Cdiv class=\\\"advanced-campaign-settings form-horizontal\\\"\\u003E\\u003Cdiv class=\\\"form-group\\\"\\u003E\\u003Ca class=\\\"col-sm-12\\\" data-toggle=\\\"collapse\\\" data-target=\\\"#setAdvancedSettings\\\" href=\\\"javascript:void(0);\\\" data-bind=\\\"attr: {"aria-expanded": isAdvancedSettingsExpanded() ? "true" : "false"}\\\" role=\\\"button\\\"\\u003E\\u003Cspan class=\\\"bedded-icon-marker spritedimagealign\\\" data-bind=\\\"css: isAdvancedSettingsExpanded() ? "expandedImage" : "expanderImage"\\\"\\u003E\\u003C\\u002Fspan\\u003E\" + (pug.escape(null == (pug_interp = title) ? \"\" : pug_interp)) + \"\\u003C\\u002Fa\\u003E\\u003Cdiv class=\\\"collapse\\\" id=\\\"setAdvancedSettings\\\" data-section=\\\"Advanced\\\"\\u003E\\u003C!--ko if: showSearchCampaignPredictiveMatching()--\\u003E\\u003Cdiv class=\\\"predictive-matching-container form-group\\\"\\u003E\\u003Clabel class=\\\"control-label col-sm-2\\\" style=\\\"overflow-wrap: normal\\\"\\u003E\\u003Cspan\\u003E\" + (pug.escape(null == (pug_interp = i18n.getString('AdvancedSetting_PredictiveMatching_Header')) ? \"\" : pug_interp)));\npug_mixins[\"popupHelp\"]('pop_BA_Keywords_PredictiveMatching', i18n.getString('AdvancedSetting_PredictiveMatching_Header'), i18n);\npug_html = pug_html + \"\\u003C\\u002Fspan\\u003E\\u003C\\u002Flabel\\u003E\\u003Cdiv class=\\\"col-sm-6\\\"\\u003E\\u003Cdiv class=\\\"checkbox predictive-matching-container\\\"\\u003E\\u003Clabel\\u003E\\u003Cinput type=\\\"checkbox\\\" data-bind=\\\"css: { checked: predictiveMatchingChecked }, checked: predictiveMatchingChecked\\\"\\u003E\\u003Cb\\u003E\" + (pug.escape(null == (pug_interp = i18n.getString('AdvancedSetting_PredictiveMatching_Label')) ? \"\" : pug_interp)) + \"\\u003C\\u002Fb\\u003E\\u003Cdiv style=\\\"padding-left: 8px;\\\"\\u003E\" + (pug.escape(null == (pug_interp = i18n.getString('AdvancedSetting_PredictiveMatching_Description')) ? \"\" : pug_interp)) + \" \\u003Ca class=\\\"HelpTopic\\\" href=\\\"javascript:void(0);\\\" query=\\\"help:app54583\\\"\\u003E\" + (pug.escape(null == (pug_interp = i18n.getString('LearnMoreLinkText')) ? \"\" : pug_interp)) + \"\\u003C\\u002Fa\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Flabel\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C!-- \\u002Fko--\\u003E\";\nif (isNotAudienceCampaign) {\npug_html = pug_html + \"\\u003C!--ko if: showAdSchedule()--\\u003E\\u003Cdiv class=\\\"form-group\\\"\\u003E\\u003Ch5 class=\\\"control-label col-sm-2\\\"\\u003E\\u003Clabel\\u003E\" + (pug.escape(null == (pug_interp = i18n.get('ColumnName_AdSchedule')) ? \"\" : pug_interp)) + \"\\u003C\\u002Flabel\\u003E\";\npug_mixins[\"popupHelp\"](popupIds.AdSchedule, i18n.get('ColumnName_AdSchedule'), i18n);\npug_html = pug_html + \"\\u003C\\u002Fh5\\u003E\\u003Cdiv class=\\\"col-sm-10\\\"\\u003E\\u003Cdiv class=\\\"ad-schedule\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C!-- \\u002Fko--\\u003E\";\n}\nelse {\npug_html = pug_html + \"\\u003C!--ko if: showTargetsSection()--\\u003E\\u003Cdiv class=\\\"form-group\\\"\\u003E\\u003Ch5 class=\\\"control-label col-sm-2\\\"\\u003E\\u003Clabel\\u003E\" + (pug.escape(null == (pug_interp = i18n.get('AdGroupReview_TargetingSectionTitle')) ? \"\" : pug_interp)) + \"\\u003C\\u002Flabel\\u003E\\u003C\\u002Fh5\\u003E\\u003Cdiv class=\\\"col-sm-10\\\"\\u003E\\u003Cdiv class=\\\"form-control-static\\\"\\u003E\" + (pug.escape(null == (pug_interp = i18n.get('Targeting_AdvancedOptions_SectionDesc_New')) ? \"\" : pug_interp)) + \"\\u003C\\u002Fdiv\\u003E\";\npug_mixins[\"baseSection\"].call({\nblock: function(){\npug_html = pug_html + \"\\u003Cdiv class=\\\"location-targets\\\"\\u003E\\u003C\\u002Fdiv\\u003E\";\n}\n}, 'LocationTargets', 'Targeting_AdvancedOptions_LocationBidAdjustment', 'Page_TargetByLocation_BidAdjustment');\npug_mixins[\"baseSection\"].call({\nblock: function(){\npug_html = pug_html + \"\\u003Cdiv class=\\\"ad-schedule\\\"\\u003E\\u003C\\u002Fdiv\\u003E\";\n}\n}, 'AdSchedule', 'ImprovedAdScheduling_Expando_Subheading', 'pop_BA_Targeting_DayTime');\npug_mixins[\"baseSection\"].call({\nblock: function(){\npug_html = pug_html + \"\\u003Cdiv class=\\\"device-targets\\\"\\u003E\\u003C\\u002Fdiv\\u003E\";\n}\n}, 'DeviceTargets', 'Target_lblDevice', 'Page_NewCampaignCreate_Targeting_Device');\npug_mixins[\"baseSection\"].call({\nblock: function(){\npug_html = pug_html + \"\\u003C!--ko if: showAgeTargets()--\\u003E\\u003Cdiv class=\\\"demographic-age-targets\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C!-- \\u002Fko--\\u003E\\u003C!--ko if: showGenderTargets()--\\u003E\\u003Cdiv class=\\\"demographic-gender-targets\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C!-- \\u002Fko--\\u003E\";\n}\n}, 'DemographicTargets', 'AdvancedTargeting_DemographicText', 'Page_TargetingSettingsPopup_TargetCustomersGenderAge');\npug_html = pug_html + \"\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C!-- \\u002Fko--\\u003E\";\n}\nif (isNewUI) {\npug_html = pug_html + \"\\u003C!--ko if: showExclusions()--\\u003E\\u003Ca class=\\\"camp-adg-shared-exclusions-dropdown\\\" data-toggle=\\\"collapse\\\" data-target=\\\"#setExclusions\\\" href=\\\"javascript:void(0);\\\" data-bind=\\\"attr: {"aria-expanded": isExclusionsExpanded() ? "true" : "false"}\\\" role=\\\"button\\\"\\u003E\\u003Cspan class=\\\"bedded-icon-marker spritedimagealign\\\" data-bind=\\\"css: isExclusionsExpanded() ? "expandedImage" : "expanderImage"\\\"\\u003E\\u003C\\u002Fspan\\u003E\" + (pug.escape(null == (pug_interp = i18n.getString('AdvancedSetting_ExclusionText')) ? \"\" : pug_interp)) + \"\\u003C\\u002Fa\\u003E\";\npug_mixins[\"popupHelp\"]('pop_BA_Settings_Exclusions', i18n.getString('AdvancedSetting_ExclusionText'), i18n);\npug_html = pug_html + \"\\u003Cdiv class=\\\"collapse\\\" id=\\\"setExclusions\\\" data-section=\\\"ExclusionsSection\\\"\\u003E\\u003Cdiv class=\\\"form-group\\\"\\u003E\\u003Cdiv class=\\\"col-sm-10\\\"\\u003E\\u003Cdiv class=\\\"camp-adg-shared-text-under-dropdown\\\"\\u003E\" + (pug.escape(null == (pug_interp = i18n.getString(level === 'campaign' ? 'AdvancedSetting_ExclusionDesc' : 'AdvancedSetting_WebSiteExclusionDesc')) ? \"\" : pug_interp)) + \"\\u003C\\u002Fdiv\\u003E\\u003C!-- ko: showSiteExclusion()--\\u003E\\u003Cdiv class=\\\"site-exclusion\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C!-- \\u002Fko--\\u003E\\u003C!-- ko: showIPExclusion()--\\u003E\\u003Cdiv class=\\\"ip-exclusion\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C!-- \\u002Fko--\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C!-- \\u002Fko--\\u003E\";\n}\nelse {\npug_html = pug_html + \"\\u003C!--ko if: showExclusions()--\\u003E\\u003Cdiv class=\\\"form-group\\\"\\u003E\\u003Ch5 class=\\\"control-label col-sm-2\\\"\\u003E\\u003Clabel\\u003E\" + (pug.escape(null == (pug_interp = i18n.get('AdvancedSetting_ExclusionText')) ? \"\" : pug_interp)) + \"\\u003C\\u002Flabel\\u003E\";\npug_mixins[\"popupHelp\"]('pop_BA_Settings_Exclusions', i18n.get('AdvancedSetting_ExclusionText'), i18n);\npug_html = pug_html + \"\\u003C\\u002Fh5\\u003E\\u003Cdiv class=\\\"col-sm-10\\\"\\u003E\\u003Cdiv class=\\\"form-control-static\\\"\\u003E\" + (pug.escape(null == (pug_interp = i18n.get(level === 'campaign' ? 'AdvancedSetting_ExclusionDesc' : 'AdvancedSetting_WebSiteExclusionDesc')) ? \"\" : pug_interp)) + \"\\u003C\\u002Fdiv\\u003E\\u003C!-- ko: showSiteExclusion()--\\u003E\\u003Cdiv class=\\\"site-exclusion\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C!-- \\u002Fko--\\u003E\\u003C!-- ko: showIPExclusion()--\\u003E\\u003Cdiv class=\\\"ip-exclusion\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C!-- \\u002Fko--\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C!-- \\u002Fko--\\u003E\";\n}\npug_html = pug_html + \"\\u003C!--ko if: showUrlOptions()--\\u003E\\u003Cdiv class=\\\"upgraded-url-options-settings\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C!-- \\u002Fko--\\u003E\\u003C!--ko if: showVanityUrlSettings()--\\u003E\\u003Cdiv class=\\\"vanity-url-option\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C!-- \\u002Fko--\\u003E\\u003C!--ko if: showOtherSettingsSection()--\\u003E\\u003Cdiv class=\\\"form-group\\\"\\u003E\\u003Ch5 class=\\\"control-label col-sm-2\\\"\\u003E\\u003Clabel\\u003E\" + (pug.escape(null == (pug_interp = i18n.get('AdvancedSetting_OtherSetting')) ? \"\" : pug_interp)) + \"\\u003C\\u002Flabel\\u003E\\u003C\\u002Fh5\\u003E\\u003Cdiv class=\\\"col-sm-10\\\"\\u003E\\u003Cdiv class=\\\"form-control-static\\\"\\u003E\" + (pug.escape(null == (pug_interp = i18n.get(level === 'campaign' ? 'AdvancedSetting_OtherSetting_Campaign_Description' : 'AdvancedSetting_OtherSetting_AdGroup_Description')) ? \"\" : pug_interp)) + \"\\u003C\\u002Fdiv\\u003E\";\nif (isNativeAdsRebrandingEnabled) {\npug_mixins[\"baseSection\"].call({\nblock: function(){\npug_html = pug_html + \"\\u003Cdiv class=\\\"native-ads\\\"\\u003E\\u003C\\u002Fdiv\\u003E\";\n}\n}, 'NativeAds', 'AdvancedTargeting_AudienceAdsText', 'pop_BA_NativeAd_BidAdj');\n}\nelse {\npug_mixins[\"baseSection\"].call({\nblock: function(){\npug_html = pug_html + \"\\u003Cdiv class=\\\"native-ads\\\"\\u003E\\u003C\\u002Fdiv\\u003E\";\n}\n}, 'NativeAds', 'NativeAdType_Header', 'pop_BA_NativeAd_BidAdj');\n}\nif (isMultiMediaAdsEnabled) {\npug_mixins[\"baseSection\"].call({\nblock: function(){\npug_html = pug_html + \"\\u003Cdiv class=\\\"multimedia-ads\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"automated-cta\\\"\\u003E\\u003C\\u002Fdiv\\u003E\";\n}\n}, 'MultimediaAds', 'AdvancedTargeting_MultimediaAdsText', 'pop_BA_MMA_BidAdjustment');\n}\nif (popupIds.AdDistribution != null) {\npug_mixins[\"baseSection\"].call({\nblock: function(){\npug_html = pug_html + \"\\u003Cdiv class=\\\"ad-distribution\\\"\\u003E\\u003C\\u002Fdiv\\u003E\";\n}\n}, 'AdDistribution', 'AdvancedSetting_AdDistributionText', popupIds.AdDistribution);\n}\nelse {\npug_mixins[\"baseSection\"].call({\nblock: function(){\npug_html = pug_html + \"\\u003Cdiv class=\\\"ad-distribution\\\"\\u003E\\u003C\\u002Fdiv\\u003E\";\n}\n}, 'AdDistribution', 'AdvancedSetting_AdDistributionText', 'pop_BA_NewCampaignCreate_AdDistribution');\n}\npug_mixins[\"baseSection\"].call({\nblock: function(){\npug_html = pug_html + \"\\u003Cdiv class=\\\"ad-rotation\\\"\\u003E\\u003C\\u002Fdiv\\u003E\";\n}\n}, 'AdRotation', 'AdvancedSetting_AdRotationText', 'Page_Campaign_AdRotation');\npug_html = pug_html + \"\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C!-- \\u002Fko--\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";}.call(this,\"i18n\" in locals_for_with?locals_for_with.i18n:typeof i18n!==\"undefined\"?i18n:undefined,\"isMultiMediaAdsEnabled\" in locals_for_with?locals_for_with.isMultiMediaAdsEnabled:typeof isMultiMediaAdsEnabled!==\"undefined\"?isMultiMediaAdsEnabled:undefined,\"isNativeAdsRebrandingEnabled\" in locals_for_with?locals_for_with.isNativeAdsRebrandingEnabled:typeof isNativeAdsRebrandingEnabled!==\"undefined\"?isNativeAdsRebrandingEnabled:undefined,\"isNewUI\" in locals_for_with?locals_for_with.isNewUI:typeof isNewUI!==\"undefined\"?isNewUI:undefined,\"isNotAudienceCampaign\" in locals_for_with?locals_for_with.isNotAudienceCampaign:typeof isNotAudienceCampaign!==\"undefined\"?isNotAudienceCampaign:undefined,\"level\" in locals_for_with?locals_for_with.level:typeof level!==\"undefined\"?level:undefined,\"popupIds\" in locals_for_with?locals_for_with.popupIds:typeof popupIds!==\"undefined\"?popupIds:undefined,\"title\" in locals_for_with?locals_for_with.title:typeof title!==\"undefined\"?title:undefined));;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../node_modules/.pnpm/pug@2.0.4/node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;;var locals_for_with = (locals || {});(function (i18n) {pug_mixins[\"popupHelp\"] = pug_interp = function(popupId, ariaLabelContext, i18n){\nvar block = (this && this.block), attributes = (this && this.attributes) || {};\nvar templateString = (i18n && i18n.get && i18n.get('Click to learn more about {{item}}')) || (i18n && i18n.getString && i18n.getString('Click to learn more about {{item}}')) || null\npug_html = pug_html + \"\\u003Ca\" + (\" class=\\\"helpbutton\\\"\"+\" type=\\\"helppopup\\\" role=\\\"button\\\"\"+pug.attr(\"topic\", popupId, true, true)+pug.attr(\"data-help\", true, true, true)+\" onclick=\\\"PopupController.PopupJsClick(this)\\\" href=\\\"javascript:void(0);\\\"\"+pug.attr(\"aria-label\", templateString ? templateString.replace('{{item}}', ariaLabelContext) : ariaLabelContext, true, true)) + \"\\u003E\\u003C\\u002Fa\\u003E\";\n};\npug_html = pug_html + \"\\u003Cdiv class=\\\"automated-cta-setting-container\\\" data-bind=\\\"visible: showAutoMatedCTA\\\"\\u003E\\u003Clabel class=\\\"checkbox-inline\\\"\\u003E\\u003Cinput class=\\\"automated-cta-switch\\\" type=\\\"checkbox\\\" data-bind=\\\"checked: autoMatedCTAEnabled\\\"\\u003E\\u003Cspan class=\\\"text\\\"\\u003E\" + (pug.escape(null == (pug_interp = i18n.get('AdvancedSetting_AutomatedCTA')) ? \"\" : pug_interp)) + \"\\u003C\\u002Fspan\\u003E\";\npug_mixins[\"popupHelp\"]('pop_BA_MMA_AutoAssets', i18n.getString('AdvancedSetting_AutomatedCTA'), i18n);\npug_html = pug_html + \"\\u003C\\u002Flabel\\u003E\\u003C\\u002Fdiv\\u003E\";}.call(this,\"i18n\" in locals_for_with?locals_for_with.i18n:typeof i18n!==\"undefined\"?i18n:undefined));;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../node_modules/.pnpm/pug@2.0.4/node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;;var locals_for_with = (locals || {});(function (exclusionType, i18n, instruction, isAdGroupLevel, isInSiteExclusionListPilot, isNewUI, labelText, siteExclusionListHref) {pug_mixins[\"popupHelp\"] = pug_interp = function(popupId, ariaLabelContext, i18n){\nvar block = (this && this.block), attributes = (this && this.attributes) || {};\nvar templateString = (i18n && i18n.get && i18n.get('Click to learn more about {{item}}')) || (i18n && i18n.getString && i18n.getString('Click to learn more about {{item}}')) || null\npug_html = pug_html + \"\\u003Ca\" + (\" class=\\\"helpbutton\\\"\"+\" type=\\\"helppopup\\\" role=\\\"button\\\"\"+pug.attr(\"topic\", popupId, true, true)+pug.attr(\"data-help\", true, true, true)+\" onclick=\\\"PopupController.PopupJsClick(this)\\\" href=\\\"javascript:void(0);\\\"\"+pug.attr(\"aria-label\", templateString ? templateString.replace('{{item}}', ariaLabelContext) : ariaLabelContext, true, true)) + \"\\u003E\\u003C\\u002Fa\\u003E\";\n};\nvar settings = exclusionType + 'ExclusionSettings'\nvar isSiteExclusion = exclusionType === 'site'\nvar popupId = isSiteExclusion ? 'pop_BA_CampaignExclusionSettingsPopup_WebsitesToExclude' : 'Page_CampaignExclusionSettingsPopup_IPAddressToExclude'\nvar labelId = isSiteExclusion ? 'camp-adg-shared-label-websites' : 'camp-adg-shared-label-ipexclusions'\nif (isNewUI) {\npug_html = pug_html + \"\\u003Cdiv class=\\\"camp-adg-shared-label-spacing\\\"\\u003E\\u003Cspan\" + (\" class=\\\"camp-adg-shared-label\\\"\"+pug.attr(\"id\", labelId, true, true)) + \"\\u003E\" + (pug.escape(null == (pug_interp = labelText) ? \"\" : pug_interp)) + \"\\u003C\\u002Fspan\\u003E\";\npug_mixins[\"popupHelp\"](popupId, labelText, i18n);\npug_html = pug_html + \"\\u003Cdiv\" + (pug.attr(\"id\", settings, true, true)) + \"\\u003E\";\nif (isSiteExclusion) {\nif (isInSiteExclusionListPilot) {\nif (isAdGroupLevel) {\npug_html = pug_html + \"\\u003Cdiv class=\\\"row\\\"\\u003E\" + (pug.escape(null == (pug_interp = i18n.getString('Adg_Settings_Sel_Description')) ? \"\" : pug_interp)) + \"\\u003C\\u002Fdiv\\u003E\";\n}\nelse {\npug_html = pug_html + \"\\u003Cdiv class=\\\"row\\\"\\u003E\" + (pug.escape(null == (pug_interp = i18n.getString('Camp_Settings_Sel_Description')) ? \"\" : pug_interp)) + \"\\u003C\\u002Fdiv\\u003E\";\n}\npug_html = pug_html + \"\\u003Cdiv class=\\\"row camp-adg-shared-instruction-spacing\\\"\\u003E\\u003Ca\" + (pug.attr(\"href\", siteExclusionListHref, true, true)+\" id=\\\"siteExclusionListLink\\\"\") + \"\\u003E\\u003Cspan\\u003E\\u003Cu\\u003E\" + (pug.escape(null == (pug_interp = i18n.getString('Camp_Adg_Settings_Sel_Link')) ? \"\" : pug_interp)) + \"\\u003C\\u002Fu\\u003E\\u003C\\u002Fspan\\u003E\\u003C\\u002Fa\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"row\\\"\\u003E\" + (pug.escape(null == (pug_interp = i18n.getString('Camp_Adg_Settings_Sel_Instructions')) ? \"\" : pug_interp)) + \"\\u003C\\u002Fdiv\\u003E\";\n}\nelse {\nif (isAdGroupLevel) {\npug_html = pug_html + \"\\u003Cdiv class=\\\"row\\\" id=\\\"camp-adg-shared-website-textareas-adgroup-instructions\\\"\\u003E\" + (pug.escape(null == (pug_interp = i18n.getString('Camp_Adg_Settings_Sel_AdGroup_Instructions')) ? \"\" : pug_interp)) + \"\\u003C\\u002Fdiv\\u003E\";\n}\nelse {\npug_html = pug_html + \"\\u003Cdiv class=\\\"row\\\" id=\\\"camp-adg-shared-website-textareas-adgroup-instructions\\\"\\u003E\" + (pug.escape(null == (pug_interp = instruction) ? \"\" : pug_interp)) + \"\\u003C\\u002Fdiv\\u003E\";\n}\n}\npug_html = pug_html + \"\\u003Cdiv class=\\\"row camp-adg-shared-first-textarea-spacing\\\"\\u003E\\u003Ctextarea\" + (pug.attr(\"class\", pug.classes([\"camp-adg-shared-textarea\",exclusionType + '-exclusions'], [false,true]), false, true)+pug.attr(\"aria-labelledby\", labelId, true, true)+\" aria-describedby=\\\"camp-adg-shared-website-textareas-adgroup-instructions\\\" cols=\\\"60\\\" rows=\\\"10\\\" data-bind=\\\"textInput: exclusions\\\"\") + \"\\u003E\\u003C\\u002Ftextarea\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv data-bind=\\\"foreach: errors\\\"\\u003E\\u003Cdiv class=\\\"entity-errors\\\"\\u003E\\u003Cul\\u003E\\u003Cdiv data-bind=\\\"foreach: Value\\\"\\u003E\\u003Cli\\u003E\\u003Cdiv data-bind=\\\"html: $data + ":"\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"error\\\" data-bind=\\\"html: $parent.Key\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fli\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Ful\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";\nif (isAdGroupLevel) {\npug_html = pug_html + \"\\u003Cdiv class=\\\"row camp-adg-shared-spacing-between-textareas\\\" id=\\\"camp-adg-shared-website-textareas-campaign-instructions\\\"\\u003E\" + (pug.escape(null == (pug_interp = i18n.getString('Camp_Adg_Settings_Sel_Campaign_Instructions')) ? \"\" : pug_interp)) + \"\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"row camp-adg-shared-first-textarea-spacing\\\"\\u003E\\u003Ctextarea\" + (\" class=\\\"camp-adg-shared-disabled-textarea camp-adg-shared-textarea\\\"\"+pug.attr(\"aria-labelledby\", labelId, true, true)+\" aria-describedby=\\\"camp-adg-shared-website-textareas-campaign-instructions\\\" cols=\\\"60\\\" rows=\\\"10\\\" data-bind=\\\"textInput: campaignExclusions\\\"\"+pug.attr(\"disabled\", true, true, true)) + \"\\u003E\\u003C\\u002Ftextarea\\u003E\\u003C\\u002Fdiv\\u003E\";\n}\n}\nelse {\npug_html = pug_html + \"\\u003Cdiv class=\\\"row\\\" id=\\\"camp-adg-shared-ipexclusions-textareas-instructions\\\"\\u003E\" + (pug.escape(null == (pug_interp = instruction) ? \"\" : pug_interp)) + \"\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"row camp-adg-shared-first-textarea-spacing\\\"\\u003E\\u003Ctextarea\" + (pug.attr(\"class\", pug.classes([\"camp-adg-shared-textarea\",exclusionType + '-exclusions'], [false,true]), false, true)+pug.attr(\"aria-labelledby\", labelId, true, true)+\" aria-describedby=\\\"camp-adg-shared-ipexclusions-textareas-instructions\\\" cols=\\\"60\\\" rows=\\\"10\\\" data-bind=\\\"textInput: exclusions\\\"\") + \"\\u003E\\u003C\\u002Ftextarea\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv data-bind=\\\"foreach: errors\\\"\\u003E\\u003Cdiv class=\\\"entity-errors\\\"\\u003E\\u003Cdiv class=\\\"error\\\" data-bind=\\\"html: Key\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cul\\u003E\\u003Cdiv data-bind=\\\"foreach: Value\\\"\\u003E\\u003Cli data-bind=\\\"html: $data\\\"\\u003E\\u003C\\u002Fli\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Ful\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";\n}\npug_html = pug_html + \"\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";\n}\nelse {\npug_html = pug_html + \"\\u003Cdiv class=\\\"form-control-static\\\"\\u003E\\u003Ca\" + (\" data-toggle=\\\"collapse\\\"\"+pug.attr(\"data-target\", \"#\" + settings, true, true)) + \"\\u003E\\u003Cspan\\u003E\" + (pug.escape(null == (pug_interp = labelText) ? \"\" : pug_interp)) + \"\\u003C\\u002Fspan\\u003E\\u003C\\u002Fa\\u003E\";\npug_mixins[\"popupHelp\"](popupId, labelText, i18n);\npug_html = pug_html + \"\\u003Cspan class=\\\"target-info\\\" data-bind=\\\"visible: !isExpanded(), text: numbersExcluded\\\"\\u003E\\u003C\\u002Fspan\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv\" + (\" class=\\\"collapse\\\"\"+pug.attr(\"id\", settings, true, true)) + \"\\u003E\\u003Cdiv class=\\\"row\\\"\\u003E\\u003Cdiv class=\\\"col-sm-5\\\"\\u003E\\u003Ctextarea\" + (pug.attr(\"class\", pug.classes([exclusionType + '-exclusions'], [true]), false, true)+\" cols=\\\"60\\\" rows=\\\"10\\\" data-bind=\\\"textInput: exclusions\\\"\") + \"\\u003E\\u003C\\u002Ftextarea\\u003E\";\nif (isAdGroupLevel) {\npug_html = pug_html + \"\\u003Cdiv class=\\\"pull-right\\\"\\u003E\" + (pug.escape(null == (pug_interp = i18n.getString('Page_EditAdGroup_AdGroupLevelExclusions')) ? \"\" : pug_interp)) + \"\\u003C\\u002Fdiv\\u003E\";\n}\npug_html = pug_html + \"\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-sm-3\\\"\\u003E\" + (pug.escape(null == (pug_interp = instruction) ? \"\" : pug_interp)) + \"\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv data-bind=\\\"foreach: errors\\\"\\u003E\\u003Cdiv class=\\\"entity-errors\\\"\\u003E\\u003Cdiv class=\\\"error\\\" data-bind=\\\"html: Key\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cul\\u003E\\u003Cdiv data-bind=\\\"foreach: Value\\\"\\u003E\\u003Cli data-bind=\\\"html: $data\\\"\\u003E\\u003C\\u002Fli\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Ful\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";\nif (isAdGroupLevel) {\npug_html = pug_html + \"\\u003Cdiv class=\\\"row\\\"\\u003E\\u003Cdiv class=\\\"col-sm-5\\\"\\u003E\\u003Ctextarea cols=\\\"60\\\" rows=\\\"10\\\" data-bind=\\\"textInput: campaignExclusions\\\" disabled\\u003E\\u003C\\u002Ftextarea\\u003E\\u003Cdiv class=\\\"pull-right\\\"\\u003E\" + (pug.escape(null == (pug_interp = i18n.getString('Page_EditAdGroup_CampaignLevelExclusions')) ? \"\" : pug_interp)) + \"\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";\n}\npug_html = pug_html + \"\\u003C\\u002Fdiv\\u003E\";\n}}.call(this,\"exclusionType\" in locals_for_with?locals_for_with.exclusionType:typeof exclusionType!==\"undefined\"?exclusionType:undefined,\"i18n\" in locals_for_with?locals_for_with.i18n:typeof i18n!==\"undefined\"?i18n:undefined,\"instruction\" in locals_for_with?locals_for_with.instruction:typeof instruction!==\"undefined\"?instruction:undefined,\"isAdGroupLevel\" in locals_for_with?locals_for_with.isAdGroupLevel:typeof isAdGroupLevel!==\"undefined\"?isAdGroupLevel:undefined,\"isInSiteExclusionListPilot\" in locals_for_with?locals_for_with.isInSiteExclusionListPilot:typeof isInSiteExclusionListPilot!==\"undefined\"?isInSiteExclusionListPilot:undefined,\"isNewUI\" in locals_for_with?locals_for_with.isNewUI:typeof isNewUI!==\"undefined\"?isNewUI:undefined,\"labelText\" in locals_for_with?locals_for_with.labelText:typeof labelText!==\"undefined\"?labelText:undefined,\"siteExclusionListHref\" in locals_for_with?locals_for_with.siteExclusionListHref:typeof siteExclusionListHref!==\"undefined\"?siteExclusionListHref:undefined));;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../node_modules/.pnpm/pug@2.0.4/node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;;var locals_for_with = (locals || {});(function (hideTitle, i18n, isNewUI) {pug_mixins[\"popupHelp\"] = pug_interp = function(popupId, ariaLabelContext, i18n){\nvar block = (this && this.block), attributes = (this && this.attributes) || {};\nvar templateString = (i18n && i18n.get && i18n.get('Click to learn more about {{item}}')) || (i18n && i18n.getString && i18n.getString('Click to learn more about {{item}}')) || null\npug_html = pug_html + \"\\u003Ca\" + (\" class=\\\"helpbutton\\\"\"+\" type=\\\"helppopup\\\" role=\\\"button\\\"\"+pug.attr(\"topic\", popupId, true, true)+pug.attr(\"data-help\", true, true, true)+\" onclick=\\\"PopupController.PopupJsClick(this)\\\" href=\\\"javascript:void(0);\\\"\"+pug.attr(\"aria-label\", templateString ? templateString.replace('{{item}}', ariaLabelContext) : ariaLabelContext, true, true)) + \"\\u003E\\u003C\\u002Fa\\u003E\";\n};\npug_html = pug_html + \"\\u003Cdiv class=\\\"form-group\\\"\\u003E\";\nif (!hideTitle) {\npug_html = pug_html + \"\\u003Ch5 class=\\\"control-label col-md-2\\\"\\u003E\\u003Clabel data-bind=\\\"text: expanderLabel()\\\"\\u003E\\u003C\\u002Flabel\\u003E\\u003C\\u002Fh5\\u003E\";\n}\npug_html = pug_html + \"\\u003Cdiv class=\\\"col-md-10\\\"\\u003E\\u003Cdiv class=\\\"form-control-static\\\"\\u003E\" + (pug.escape(null == (pug_interp = i18n.getString('UrlOptions_AdvancedSettings_Description')) ? \"\" : pug_interp)) + \"\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"form-control-static\\\"\\u003E\\u003Ca class=\\\"trackingTemplateSection\\\" data-toggle=\\\"collapse\\\" data-target=\\\"#trackingTemplateSettings\\\" href=\\\"javascript:void(0);\\\"\\u003E\";\nif (isNewUI) {\npug_html = pug_html + \"\\u003Cspan class=\\\"trackingtemplate bedded-icon-marker spritedimagealign expanderImage\\\"\\u003E\\u003C\\u002Fspan\\u003E\";\n}\npug_html = pug_html + (pug.escape(null == (pug_interp = i18n.getString('TrackingTemplate_Label')) ? \"\" : pug_interp)) + \"\\u003C\\u002Fa\\u003E\";\npug_mixins[\"popupHelp\"]('pop_BA_NewCampaignCreate_Ad_TrackTemplate', i18n.getString('TrackingTemplate_Label'), i18n);\npug_html = pug_html + \"\\u003Cspan data-bind=\\\"visible: !isTrackingTemplateSettingsExpanded(), text: trackingTemplate\\\"\\u003E\\u003C\\u002Fspan\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"collapse\\\" id=\\\"trackingTemplateSettings\\\" data-section=\\\"TrackingTemplate\\\"\\u003E\\u003Cdiv class=\\\"row\\\"\\u003E\\u003C!-- ko stopBinding: true --\\u003E\\u003Cdiv class=\\\"tracking-template col-md-5\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C!-- \\u002Fko --\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"form-control-static\\\" data-bind=\\\"visible: isFinalURLSuffixEnabled()\\\"\\u003E\\u003Ca class=\\\"finalUrlSuffixSection\\\" data-toggle=\\\"collapse\\\" data-target=\\\"#finalUrlSuffixSettings\\\" href=\\\"javascript:void(0);\\\"\\u003E\";\nif (isNewUI) {\npug_html = pug_html + \"\\u003Cspan class=\\\"finalurlsuffix bedded-icon-marker spritedimagealign expanderImage\\\"\\u003E\\u003C\\u002Fspan\\u003E\";\n}\npug_html = pug_html + (pug.escape(null == (pug_interp = i18n.getString('FinalUrlSuffix_Label')) ? \"\" : pug_interp)) + \"\\u003C\\u002Fa\\u003E\";\npug_mixins[\"popupHelp\"]('pop_BA_NewAdCreate_FinalURLSuffix', i18n.getString('FinalUrlSuffix_Label'), i18n);\npug_html = pug_html + \"\\u003Cspan data-bind=\\\"visible: !isFinalUrlSuffixSettingsExpanded(), text: finalUrlSuffix\\\"\\u003E\\u003C\\u002Fspan\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"collapse\\\" id=\\\"finalUrlSuffixSettings\\\" data-section=\\\"FinalUrlSuffix\\\"\\u003E\\u003Cdiv class=\\\"row\\\"\\u003E\\u003Cdiv class=\\\"final-url-suffix col-md-5\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"form-control-static\\\"\\u003E\\u003Ca class=\\\"customParametersSection\\\" data-toggle=\\\"collapse\\\" data-target=\\\"#customParametersSettings\\\" href=\\\"javascript:void(0);\\\"\\u003E\";\nif (isNewUI) {\npug_html = pug_html + \"\\u003Cspan class=\\\"customparameter bedded-icon-marker spritedimagealign expanderImage\\\"\\u003E\\u003C\\u002Fspan\\u003E\";\n}\npug_html = pug_html + (pug.escape(null == (pug_interp = i18n.getString('CustomParameters_Label')) ? \"\" : pug_interp)) + \"\\u003C\\u002Fa\\u003E\";\npug_mixins[\"popupHelp\"]('pop_BA_NewCampaignCreate_Ad_Parameters', i18n.getString('CustomParameters_Label'), i18n);\npug_html = pug_html + \"\\u003Cspan data-bind=\\\"visible: !isUrlCustomParametersSettingsExpanded(), text: parameters\\\"\\u003E\\u003C\\u002Fspan\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"collapse\\\" id=\\\"customParametersSettings\\\" data-section=\\\"UrlCustomParameters\\\"\\u003E\\u003Cdiv class=\\\"row\\\"\\u003E\\u003Cdiv class=\\\"custom-parameters col-sm-5\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"form-control-static\\\" data-bind=\\\"visible: showUurlTestTool\\\"\\u003E\\u003Cdiv class=\\\"uurl-test-tool__container col-sm-8\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";}.call(this,\"hideTitle\" in locals_for_with?locals_for_with.hideTitle:typeof hideTitle!==\"undefined\"?hideTitle:undefined,\"i18n\" in locals_for_with?locals_for_with.i18n:typeof i18n!==\"undefined\"?i18n:undefined,\"isNewUI\" in locals_for_with?locals_for_with.isNewUI:typeof isNewUI!==\"undefined\"?isNewUI:undefined));;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../node_modules/.pnpm/pug@2.0.4/node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;;var locals_for_with = (locals || {});(function (alerts, isForVNext, popUpText) {pug_html = pug_html + \"\\u003Cdiv class=\\\"gridPopup type5\\\" id=\\\"alertPopUp\\\"\\u003E\\u003Cdiv class=\\\"gridPopup-body\\\" id=\\\"popupbody\\\"\\u003E\\u003Cdiv class=\\\"gridPopup-outerBox\\\" id=\\\"outergrid\\\"\\u003E\";\nif (!isForVNext) {\npug_html = pug_html + \"\\u003Cdiv class=\\\"gridPopup-close\\\"\\u003E\\u003Cdiv\" + (\" class=\\\"closeimage spritedimage spritedimagealign clickable\\\"\"+\" role=\\\"button\\\" tabindex=\\\"0\\\"\"+pug.attr(\"aria-label\", popUpText.remove, true, true)) + \"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";\n}\n// iterate alerts\n;(function(){\n var $$obj = alerts;\n if ('number' == typeof $$obj.length) {\n for (var alertIndex = 0, $$l = $$obj.length; alertIndex < $$l; alertIndex++) {\n var alert = $$obj[alertIndex];\npug_html = pug_html + \"\\u003Cdiv class=\\\"alert-error-row\\\"\\u003E\";\nif (isForVNext) {\npug_html = pug_html + \"\\u003Cdiv class=\\\"status-error alert-popup-icon iconba iconba-ErrorBadge\\\"\\u003E\\u003C\\u002Fdiv\\u003E\";\n}\nelse {\npug_html = pug_html + \"\\u003Cdiv class=\\\"alert-popup-icon status_error alert-popup__status-icon\\\"\\u003E\\u003C\\u002Fdiv\\u003E\";\n}\npug_html = pug_html + \"\\u003Cdiv class=\\\"alert-popup__row\\\"\\u003E\\u003Cdiv class=\\\"alert-popup__heading\\\"\\u003E\" + (pug.escape(null == (pug_interp = alert.category) ? \"\" : pug_interp)) + \"\\u003C\\u002Fdiv\\u003E\\u003Cdiv\\u003E\" + (pug.escape(null == (pug_interp = alert.description) ? \"\" : pug_interp)) + \"\\u003C\\u002Fdiv\\u003E\";\n// iterate alert.causes\n;(function(){\n var $$obj = alert.causes;\n if ('number' == typeof $$obj.length) {\n for (var pug_index1 = 0, $$l = $$obj.length; pug_index1 < $$l; pug_index1++) {\n var cause = $$obj[pug_index1];\npug_html = pug_html + \"\\u003Cdiv\\u003E\" + (pug.escape(null == (pug_interp = cause) ? \"\" : pug_interp)) + \"\\u003C\\u002Fdiv\\u003E\";\n }\n } else {\n var $$l = 0;\n for (var pug_index1 in $$obj) {\n $$l++;\n var cause = $$obj[pug_index1];\npug_html = pug_html + \"\\u003Cdiv\\u003E\" + (pug.escape(null == (pug_interp = cause) ? \"\" : pug_interp)) + \"\\u003C\\u002Fdiv\\u003E\";\n }\n }\n}).call(this);\n\npug_html = pug_html + \"\\u003Cdiv class=\\\"link\\\"\\u003E\";\nif (alert.action) {\npug_html = pug_html + \"\\u003Ca\" + (pug.attr(\"href\", alert.action.url, true, true)+\" target=\\\"_blank\\\"\") + \"\\u003E\" + (pug.escape(null == (pug_interp = alert.action.linkText) ? \"\" : pug_interp)) + \"\\u003C\\u002Fa\\u003E\";\n}\nif (alert.learnMore) {\nif (alert.action) {\npug_html = pug_html + \"\\u003Cspan\\u003E |\\u003C\\u002Fspan\\u003E\";\n}\npug_html = pug_html + \"\\u003Cspan\\u003E\\u003Ca\" + (\" class=\\\"HelpTopic\\\"\"+\" href=\\\"javascript:void(0)\\\"\"+pug.attr(\"query\", alert.learnMore, true, true)) + \"\\u003E\" + (pug.escape(null == (pug_interp = popUpText.learnMore) ? \"\" : pug_interp)) + \"\\u003C\\u002Fa\\u003E\\u003C\\u002Fspan\\u003E\";\n}\npug_html = pug_html + \"\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";\nif (alertIndex < alerts.length - 1) {\npug_html = pug_html + \"\\u003Cdiv class=\\\"alert-popup__separator\\\"\\u003E\\u003C\\u002Fdiv\\u003E\";\n}\npug_html = pug_html + \"\\u003C\\u002Fdiv\\u003E\";\n }\n } else {\n var $$l = 0;\n for (var alertIndex in $$obj) {\n $$l++;\n var alert = $$obj[alertIndex];\npug_html = pug_html + \"\\u003Cdiv class=\\\"alert-error-row\\\"\\u003E\";\nif (isForVNext) {\npug_html = pug_html + \"\\u003Cdiv class=\\\"status-error alert-popup-icon iconba iconba-ErrorBadge\\\"\\u003E\\u003C\\u002Fdiv\\u003E\";\n}\nelse {\npug_html = pug_html + \"\\u003Cdiv class=\\\"alert-popup-icon status_error alert-popup__status-icon\\\"\\u003E\\u003C\\u002Fdiv\\u003E\";\n}\npug_html = pug_html + \"\\u003Cdiv class=\\\"alert-popup__row\\\"\\u003E\\u003Cdiv class=\\\"alert-popup__heading\\\"\\u003E\" + (pug.escape(null == (pug_interp = alert.category) ? \"\" : pug_interp)) + \"\\u003C\\u002Fdiv\\u003E\\u003Cdiv\\u003E\" + (pug.escape(null == (pug_interp = alert.description) ? \"\" : pug_interp)) + \"\\u003C\\u002Fdiv\\u003E\";\n// iterate alert.causes\n;(function(){\n var $$obj = alert.causes;\n if ('number' == typeof $$obj.length) {\n for (var pug_index2 = 0, $$l = $$obj.length; pug_index2 < $$l; pug_index2++) {\n var cause = $$obj[pug_index2];\npug_html = pug_html + \"\\u003Cdiv\\u003E\" + (pug.escape(null == (pug_interp = cause) ? \"\" : pug_interp)) + \"\\u003C\\u002Fdiv\\u003E\";\n }\n } else {\n var $$l = 0;\n for (var pug_index2 in $$obj) {\n $$l++;\n var cause = $$obj[pug_index2];\npug_html = pug_html + \"\\u003Cdiv\\u003E\" + (pug.escape(null == (pug_interp = cause) ? \"\" : pug_interp)) + \"\\u003C\\u002Fdiv\\u003E\";\n }\n }\n}).call(this);\n\npug_html = pug_html + \"\\u003Cdiv class=\\\"link\\\"\\u003E\";\nif (alert.action) {\npug_html = pug_html + \"\\u003Ca\" + (pug.attr(\"href\", alert.action.url, true, true)+\" target=\\\"_blank\\\"\") + \"\\u003E\" + (pug.escape(null == (pug_interp = alert.action.linkText) ? \"\" : pug_interp)) + \"\\u003C\\u002Fa\\u003E\";\n}\nif (alert.learnMore) {\nif (alert.action) {\npug_html = pug_html + \"\\u003Cspan\\u003E |\\u003C\\u002Fspan\\u003E\";\n}\npug_html = pug_html + \"\\u003Cspan\\u003E\\u003Ca\" + (\" class=\\\"HelpTopic\\\"\"+\" href=\\\"javascript:void(0)\\\"\"+pug.attr(\"query\", alert.learnMore, true, true)) + \"\\u003E\" + (pug.escape(null == (pug_interp = popUpText.learnMore) ? \"\" : pug_interp)) + \"\\u003C\\u002Fa\\u003E\\u003C\\u002Fspan\\u003E\";\n}\npug_html = pug_html + \"\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";\nif (alertIndex < alerts.length - 1) {\npug_html = pug_html + \"\\u003Cdiv class=\\\"alert-popup__separator\\\"\\u003E\\u003C\\u002Fdiv\\u003E\";\n}\npug_html = pug_html + \"\\u003C\\u002Fdiv\\u003E\";\n }\n }\n}).call(this);\n\npug_html = pug_html + \"\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";}.call(this,\"alerts\" in locals_for_with?locals_for_with.alerts:typeof alerts!==\"undefined\"?alerts:undefined,\"isForVNext\" in locals_for_with?locals_for_with.isForVNext:typeof isForVNext!==\"undefined\"?isForVNext:undefined,\"popUpText\" in locals_for_with?locals_for_with.popUpText:typeof popUpText!==\"undefined\"?popUpText:undefined));;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../node_modules/.pnpm/pug@2.0.4/node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;;var locals_for_with = (locals || {});(function (i18n, manageraccounts, popUpText) {pug_html = pug_html + \"\\u003Cdiv class=\\\"gridPopup type5\\\" id=\\\"alertPopUp\\\"\\u003E\\u003Cdiv class=\\\"gridPopup-body\\\" id=\\\"popupbody\\\"\\u003E\\u003Cdiv class=\\\"gridPopup-outerBox\\\" id=\\\"outergrid\\\"\\u003E\\u003Cdiv class=\\\"gridPopup-close\\\"\\u003E\\u003Cdiv\" + (\" class=\\\"closeimage spritedimage spritedimagealign clickable\\\"\"+\" role=\\\"button\\\" tabindex=\\\"0\\\"\"+pug.attr(\"aria-label\", popUpText.remove, true, true)) + \"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";\n// iterate manageraccounts\n;(function(){\n var $$obj = manageraccounts;\n if ('number' == typeof $$obj.length) {\n for (var index = 0, $$l = $$obj.length; index < $$l; index++) {\n var account = $$obj[index];\nif (account.link) {\npug_html = pug_html + \"\\u003Cdiv\\u003E\\u003Ca\" + (pug.attr(\"href\", account.link, true, true)+\" target=\\\"_blank\\\" rel=\\\"noopener noreferrer\\\"\") + \"\\u003E\" + (pug.escape(null == (pug_interp = i18n.getString('Format_CustomerNameAndId', account.Name, account.CustomerNumber)) ? \"\" : pug_interp)) + \"\\u003C\\u002Fa\\u003E\\u003C\\u002Fdiv\\u003E\";\n}\nelse {\npug_html = pug_html + \"\\u003Cdiv\\u003E\" + (pug.escape(null == (pug_interp = i18n.getString('Format_CustomerNameAndId', account.Name, account.CustomerNumber)) ? \"\" : pug_interp)) + \"\\u003C\\u002Fdiv\\u003E\";\n}\nif (index < manageraccounts.length - 1) {\npug_html = pug_html + \"\\u003Cdiv class=\\\"alert-popup__separator\\\"\\u003E\\u003C\\u002Fdiv\\u003E\";\n}\n }\n } else {\n var $$l = 0;\n for (var index in $$obj) {\n $$l++;\n var account = $$obj[index];\nif (account.link) {\npug_html = pug_html + \"\\u003Cdiv\\u003E\\u003Ca\" + (pug.attr(\"href\", account.link, true, true)+\" target=\\\"_blank\\\" rel=\\\"noopener noreferrer\\\"\") + \"\\u003E\" + (pug.escape(null == (pug_interp = i18n.getString('Format_CustomerNameAndId', account.Name, account.CustomerNumber)) ? \"\" : pug_interp)) + \"\\u003C\\u002Fa\\u003E\\u003C\\u002Fdiv\\u003E\";\n}\nelse {\npug_html = pug_html + \"\\u003Cdiv\\u003E\" + (pug.escape(null == (pug_interp = i18n.getString('Format_CustomerNameAndId', account.Name, account.CustomerNumber)) ? \"\" : pug_interp)) + \"\\u003C\\u002Fdiv\\u003E\";\n}\nif (index < manageraccounts.length - 1) {\npug_html = pug_html + \"\\u003Cdiv class=\\\"alert-popup__separator\\\"\\u003E\\u003C\\u002Fdiv\\u003E\";\n}\n }\n }\n}).call(this);\n\npug_html = pug_html + \"\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";}.call(this,\"i18n\" in locals_for_with?locals_for_with.i18n:typeof i18n!==\"undefined\"?i18n:undefined,\"manageraccounts\" in locals_for_with?locals_for_with.manageraccounts:typeof manageraccounts!==\"undefined\"?manageraccounts:undefined,\"popUpText\" in locals_for_with?locals_for_with.popUpText:typeof popUpText!==\"undefined\"?popUpText:undefined));;return pug_html;};\nmodule.exports = template;"],"names":["i18n","window","globalLegacyI18n","get","defaultDateFormat","formatDateToAPIFormat","date","formatDate","raw","parseAPIDate","dateString","parseDate","substring","convertDateBetweenTimeZones","_ref","arguments","length","undefined","from","to","timeZone","convertMachineDateToAccountDate","convertAccountDateToMachineDate","ViewModel","_createClass","_this","_ref2","_ref2$startDate","startDate","_ref2$endDate","endDate","_ref2$adGroupStatus","adGroupStatus","activityLogger","_ref2$callOnChangeCb","callOnChangeCb","_","_ref2$isCreate","isCreate","_ref2$allowNoEndDateS","allowNoEndDateSelection","_ref2$allowStartDateS","allowStartDateSelection","_ref2$allowEndDateSel","allowEndDateSelection","_classCallCheck","this","culture","pageContext","Culture","format","CultureDateTimeFormat","ShortDatePattern","datePickerNavigateToFutureAriaLabel","getString","datePickerNavigateToPastAriaLabel","currentDate","Date","rawStartDate","ko","rawEndDate","setFullYear","getFullYear","disableNoEndDateSelection","disableStartDateSelection","disableEndDateSelection","read","write","value","subscribe","signal","getRawValues","_objectSpread","hasFixedStartDate","hasEndDate","enableEndDateSelection","startDateError","endDateError","Editing","newValue","validateEndDate","concat","validateStartDate","key","StartDate","EndDate","View","_Backbone$View","_callSuper","_inherits","_ref$startDate","_ref$endDate","_ref$adGroupStatus","_ref$timeZone","_ref$allowNoEndDateSe","_ref$allowStartDateSe","_ref$allowEndDateSele","viewModel","$el","html","template","el","getValues","isValid","validate","Backbone","preferencesService","_preferencesService","calculateBidAdjustment","type","amount","cloneRange","range","Id","Day","StartHour","StartMinute","EndHour","EndMinute","BidAdjustmentType","BidAdjustmentAmount","CashbackPercent","logInteraction","produceDayTimeObservable","rawRange","isCampaignDayTimeRange","cashbackPercentInheritInfo","bidAdjustmentUtils","readonly","viewContext","currentAdGroup","currentCampaign","dayTime","InheritCashbackPercentValue","inheritValue","decimal","fromFloatToString","CashbackPercentOptions","options","CashbackPercentSelectedOption","selected","CashbackPercentSnapShot","currentSelectedOption","v","scheduleInRowError","conditionScheduleError","isDayTimeEditable","self","call","convertDayTimeRanges","ranges","ignoreDefaultRange","supportCashbackSettings","res","daysMondayToFriday","daysAllDays","rangeObj","isDefaultRange","day","push","model","level","campaignDayTimeRanges","isForVNext","hideAdScheduleBidAdjustments","readOnlyTimeZone","hideWarning","hideUseCampaignSetting","CurrentAdGroup","CurrentCampaign","showWarning","koSchema","properties","timeDisplayType","initialize","then","preference","findByName","isTwelveHourDisplay","Data","bind","timeDisplayTypeEdit","setAtUserLevel","Name","_dayOptions","adSchedulingOptions","dayOptions","_hourOptions","hourOptions","hourOption","twentyFourHourDisplay","val","toString","optionsText","twelveHourDisplay","_minuteOptions","minuteOptions","_bidAdjustmentOptions","bidAdjustmentOptions","_bidAdjustmentRange","bidAdjustmentRange","_minuteToSaveMap","minuteToSaveMap","getMinuteOfTheDay","hour","minute","isDateOverlap","dt1","dt2","startTime1","endTime1","startTime2","errors","endTimeBeyondEOD","startHour","startMinute","endHour","endMinute","startTimeEarlierThanEndTime","bidAdjustValue","bidAdjustment","maxBid","minBid","bidExceedLimitation","bidEmpty","parseInt","Number","bidIncorrectFormat","cashbackPercent","message","conditionDayTimeEditable","useCampaignSettingsChecked","useCampaignSettings","showAdGroupOverrideInformation","fromHourOptions","slice","toHourOptions","dayTimeRanges","update","schedulingRowsErrorMessage","dayCounters","i","len","curDt","j","otherDt","extend","notify","hasErrors","forEach","onRemovingSchedulingRow","index","splice","addTimeRow","apply","timeZoneText","adScheduleUseSearcherTimeZone","campaignAdScheduleUseSearcherTimeZone","adScheduleUseSearcherTimeZoneEdit","disableAdScheduleTimeZoneEdit","prototype","getCriterions","BidAdjustment","DayTimeCriterion","FromHour","FromMinute","ToHour","ToMinute","Type","getDeletedItems","currentIds","deletedItems","currentId","item","getConvertedDayTimeRanges","resetCashbackInheritStatus","inheritInfo","newInheritCashbackPercent","newInheritLevel","AdGroupCashback","Percent","CampaignCashback","newInheritValue","defaultOptions","showDateSettings","fromSettingsGrid","showBidAdjustmentColumn","showDisplayTimeAndFooter","hideMinuteOptions","defaultPopupIds","AdSchedule","TimeZone","defaulti18nKeys","Warning","isMSANBoostEnabled","Permissions","IsAmplifyEnabled","timeZoneMapper","getAccountTimeZoneText","adScheduleTimeZoneSetting","IsPersonalizedOffersV3Enabled","isHideBidAdjustmentForBoostEnabled","dynamic","HideBidAdjustmentForBoost","popupIds","i18nKeys","koModel","dateSettings","DateSettings","toggleView","ToggleView","toggleText","on","off","labelledbyId","setToggleState","listenTo","toggleState","checked","_this$options","percentSymbol","config","$","append","render","mes","log","event","target","attr","stopImmediatePropagation","onChange","deleteCb","_this2","items","excluded","deletedItem","Criterion","isBidAdjustmentUnchanged","isCashbackPercentUnchanged","getRealCashbackPercentValue","criterions","formatCriterions","scheduleRow","map","error","filter","err","memo","response","entity","AdGroupCriterions","CampaignCriterions","deletedIds","where","CriterionType","Status","criterion","added","minuteToReadMap","Math","abs","originModel","r","found","rangeWithoutId","backFillItems","schedulingEntities","schedulingErrors","schedulingEntity","add","indexOf","clear","isCampaignApiError","remove","_len","args","Array","_key","_superPropGet","name","minuteName","minuteOptionsMap","text","ZERO","FIFTEEN","THIRTY","FORTY_FIVE","replace","permissions","enabledLanguageList","globalizationModelSetup","LANGUAGES","sort","languages","languageMap","newHeadersMap","actionTextMapper","originalActionTextMapper","newActionTextMapper","reduce","outMemo","current","IsNewActionAdextensionHeadersEnabled","Object","assign","pairs","actionTypeMapper","Browse","VisitSite","ViewNow","Explore","SeeMore","StartFree","NewCars","UsedCars","Message","mapActionType","actionType","getActionText","Language","ActionType","result","getActionType","invert","getActionTypeTextMapper","reserveActionType","mapper","IsDomesticSimplifiedChineseEnabled","BetNow","Donate","reserveValue","ret","getLanguages","getDefaultActionType","keys","sortBy","first","universalItemTemplate","arg0","rawItemTemplate","automatedTextValue","DropdownSearchSelector","getHotelCenterShared","dataSource","customTextValue","_ref$searchString","searchString","isMultimediaAd","isDisplayPlusMMA","isBoostScenario","isBoostCustomCTAEnabled","isPmaxAd","isCustomCTAEnabled","isMMAAutomatedCTAOptInEnabled","actionTypeText","Automated","CustomText","id","src","dest","toLowerCase","compact","unshift","totalCount","observable","_ref2$entity","_ref2$field","field","_ref2$isMultimediaAd","_ref2$callback","callback","_ref2$isBoostCustomCT","_ref2$isPmaxAd","_ref2$isDisplayPlusMM","_ref2$isCustomCTAEnab","_ref2$isMMAAutomatedC","_ref2$defaultActionTe","defaultActionText","_ref2$noEntiyCheck","noEntiyCheck","Error","dropdownSearchSelector","defaultSelectId","selectId","selectOption","arg","pageSize","forceEnableSearch","invokeSearchOnChange","placeholder","isDisabled","selectedOption","setDropdownSearchSelector","schema","globalLegacySchema","IsFinalURLSuffixPhase4Enabled","IsCustomParameterCountIncreasePhase3Enabled","_SharedEditorView","fields","property","control","LanguageAdapter","ActionTypeAdapter","_toConsumableArray","extension","placeholderEnabled","campaignId","adGroupId","adgroupId","trackingTemplate","TrackingUrlTemplate","finalUrlSuffix","FinalUrlSuffix","customParameters","UrlCustomParameters","urlOptions","UrlOptionsV2","entityType","showUurlTestTool","opt","language","empty","toObject","SharedEditorView","dialogOptions","position","maxWidth","title","subtitle","library_title","selected_title","create_link","create_title","delete_btn","delete_confirm","edit_btn","edit_title","inlineAlert","AssociationsEditorBase","Editor","usePanel","panelDecorator","EditorView","panelReadyAriaLabel","panelClassName","dialogDecorator","decorate","idField","data","SharedRepository","afterChangeComitted","updateContext","previewTemplateType","preview","rowTemplate","maxSelectedItemsCount","CreateForm","EditForm","extensionType","BoostOnlySupportedLanguages","BoostSupportedLanguages","IsBoostCTAPhase2Enabled","lang","includes","AppAdExtensionEditor","_AdExtensionEditor","appStoreId","instrumentation","instrumentationSettings","appInstallTrackingSupported","IsAppExtensionInstallTrackingSupported","AppStoreId","AppPlatform","toUpperCase","label","depends","computedBy","getAppStoreIdLabel","helpId","showHint","values","subtitleTemplate","replaceWith","warningTemplate","DevicePreference","$alert","AdExtensionEditor","s$AppAdExtension","$i18n","_SharedRepository","_EditorView","_panelDecorator","defaultIconClasses","previewTemplate","processItem","MediaUrl","adExtensionConfig","AdExtension","AppExtensionIconBaseUrl","$url","iconClass","scope","campaignName","adGroupName","scopes","selectedExtensions","originalIds","maximumSelectionAlertString","successfulAssociationsLabel","failedAssociationsLabel","updateInlineAlertString","showEditor","showBoxList","ko_schema","isAssociationChanged","changes","isEmpty","shouldShowMultiAssetWarning","sourceItemsString","selectedItemsString","filterWatermarkString","filter_watermark","filterAriaLabelString","search_for","maxSelectedItemsString","count","setLoadedSelection","selectedIds","removed","getMaximumSelectionAlertString","clearOriginalIds","handleDelete","deselectItem","refreshSource","itemId","handleCreate","handleUpdate","refreshItem","handleRemovedIds","removedIds","handleSave","ErrorGrid","colClass","errorGridColumns","locals","bodyClasses","ErrorGridEntityCampaignColumn","ErrorGridEntityAdgroupColumn","adgroupName","gridView","pgrid","vnext","create","tableClasses","primaryKey","columns","columnConfiguration","scrolling","virtualized","header","ImageAdExtensionHelper","imageAdExtensions","imageAdExtension","EligibleLayout","SingleAndMulti","Multi","Images","assetLink","Asset","SubType","_ErrorGrid","odataPath","oDataConfig","odataRootUrl","odataToken","defaults","save_btn","cancel_btn","multiSelectInlineAlert","layout","layoutTemplate","dlbLayoutTemplate","dlbDefaultLayout","useNewDlbLayout","allowSelectAll","allowDeselectAll","hasSubTitle","showErrorsInline","popupFront","isMultiSelect","showSaveBar","startScenario","startActivity","logMessage","endActivity","asLoggingStart","instrumentConstants","LOGCATEGORY","LOGLEVEL","ACTIVITYNAME","SCENARIONAME","disableDelete","TermsofServiceView","termsofServiceTemplate","events","accept","trigger","cancel","perfMarker","showExtensionMarker","createChild","willInit","dlbDefaultLeanLayout","orderBy","association","createRequestFactory","itemActions","source","caption","_editExtension","class","_deleteExtension","delete","subtitleArgs","ko_model","allExtensions","_loadSource","itemTemplateType","itemTemplate","isStringFormatId","_getMaximumSelectionAlertString","changed","debouncedUpdateMultiAssetWarningMessage","_updateMultiAssetWarningMessage","_saveClickHandler","findScope","defaultFindScope","logActivityToSubstrate","CampaignId","AdGroupId","showSaveButtonAsDefaultButton","onScopeChange","onScopesChange","showSelector","_selectScope","adExtensionId","_editExtensionById","undelegateEvents","editor","imageExtensions","imageAdExtensionHelper","isAssociationsQualifyForMultiAsset","entityName","request","cb","willFetchData","_clearErrors","params","contains","filterText","skip","limit","take","findAll","willRender","done","finally","withUiBlock","catch","_handleErrors","associationType","associated","popup","confirm","destroy","TRACE","INFO","IsTransparentImageAnnotationEnabled","SourceType","survey","clarity","TransparentImageAnnotationDeleteAdExtension","surveyManager","TransparentImageAnnotationCustomParams","AdExtensionIds","_showInfoExtension","extensionId","find","_handleCreatedExtension","ext","_handleUpdatedExtension","_handleCancel","_handleRemove","LeadFormAdExtension","termsOfServicePopup","maxHeight","_showEditPopup","EditorCtor","action","AddEditExtensionMarker","isEdit","disableScheduling","newI18n","editorPerfMarker","extraEditorOptions","eventsToActions","onClose","e","currentTarget","className","_createClickHandler","_removeAssociations","destroyAll","_createAssociations","updatedIds","updateAll","updateAssociationsActivity","UpdateAssociationsForMultipleEntities","UpdateAssociationsForSingleEntity","UpdateAdExtensionAssociations","removedCount","addedCount","JSON","stringify","extensionCount","entityCount","SaveAdExtensionAssociations","_cancelClickHandler","i18nErrors","alert","clearErrorSummary","_processOdataErrors","propertyName","errTemplate","putils","url","groupBy","mapObject","join","flatten","errorMessages","associations","associationErrors","code","_handleAssociationErrors","errorResponseBody","Errors","showJsonErrors","AdExtensionId","Entity","Extension","_createErrorGrid","failCount","successCount","errorGrid","IsCallMeteringInAUAllowed","_default","CallFees","AllowedCountries","CountryCode","IsCallTrackingEnabled","countryCallTrackingSupported","disableCallTracking","stringIsCallTrackingEnabled","string","i18nGlobal","callfeesUrl","queryify","aid","state","cid","uid","CallMetering","_ref$viewModel","_ref$viewModel2","RequireTollFreeTrackingNumber","$overall","_ref$field","p$init","jsdata","Country","adapter","parent","validators","passive","setError","CallAdExtensionEditor","countryCode","addressService","Countries","country","Key","valueMessages","IsCallMeteringAllowed","visible","setPosition","width","loadAddressFailTemplate","DataRepository","_DataRepository","editorView","_editorView","associationsEditorBase","defaultRepositoryFactory","factoryOptions","repositoryFactory","legacyI18n","FilterLinkAssociationEditor","vnextContext","dynamicFeatures","DynamicFilterLinkExtensionEditor","FilterLinkAdExtension","repositoryOptions","deps","SchedulingView","Headers","default","FlyerAssociationEditor","DynamicFlyerExtensionEditor","FlyerAdExtension","odata","Unset","Single","s$i18n","BadResponseError","isCacheValid","ImageAdExtensionsRepository","_BaseRepository","_schema","_store","DataStore","dataFormatter","extensionDataFormatter","entitySet","edmCampaign","currentAccount","AdExtensions","cacheResponse","queryParameters","query","$expand","storeOptions","getODataErrors","tap","_this3","updateStoreOptions","findStoreOptions","Promise","dataModelUtil","getImagesFromIdsAsync","ImageIdsStr","images","_this4","formatter","bypassCache","adaptParams","expand","headers","sharedDataModelUtil","migrateLegacyDataAsync","total","_this5","BaseRepository","baseSchema","standardProperties","commonProperties","ownedProperties","extensionFormatter","Repository","associationsDataFormatter","AssociationsRepository","imageUrlAdsNativePidString","searchAspectRatios","stripOffCropParamsFromImageUrl","newUrl","URL","split","searchParams","DataModelConverter","mtImages","mtImage","AssetType","Url","ImageUrl","ThumbnailUrl","imageList","isImageFittingEnabled","imageObj","croppingType","cropSettings","CroppingType","constants","ManualCrop","CenterCrop","IdString","aspectRatios","CropX","SourceX","CropY","SourceY","CropHeight","SourceHeight","CropWidth","SourceWidth","imageExperienceModelSettings","idString","Width","height","Height","sourceY","floor","subTypeToType","mtImageArr","imageIdsToFetch","mtImageObj","imageRepository","getImagesByIdsAsync","returnedImages","imageIdToMetaDataMap","returnedImage","newData","mtImageModel","hasBeenBulkCropped","OriginalUrl","convetMtImageToImageExperienceModel","OriginalHeight","OriginalWidth","ImageExperienceImage","setROIInfo","ROIInfo","mtImagesArr","isExpanded","labelClass","toggleClass","show","hide","LocationAdExtensionEditor","_ref$extension","addressView","AddressView","Address","market","storeHourView","storeHourAttributes","storeHourModel","StoreHourView","setErrors","insertBefore","baseModel","s$LocationAdExtension","dataProcess","CountryName","ProvinceCode","ProvinceName","AdminDistricts","display","addressSchema","originalPriceSchema","originalTableRowSchema","currencyMap","ALL","AED","ARS","AUD","BAM","BRL","CAD","CHF","CLP","CNY","COP","DKK","EUR","GBP","HKD","IDR","ILS","INR","ISK","JPY","MKD","MXN","MYR","NGN","NOK","NZD","PEN","PHP","PLN","RSD","SAR","SEK","SGD","THB","TRY","USD","VEF","VND","ZAR","convertCurrencyCode","currencyCode","getSchemas","priceSchema","cloneDeep","tableRowSchema","_globalizationModelSe","CURRENCIES","enum","CurrencyCode","TableRowView","_Form","showHintInline","hasButtons","hasLabels","$aggregatedErrors","Header","Description","PriceQualifier","Price","PriceUnit","FinalUrls","FinalMobileUrls","$hasAggregatedErrors","Form","convertUrl","test","_ObjectListInput","minItems","maxItems","headerTemplate","convertObservable","objects","obj","rowList","noInvalidRow","every","row","headerMap","urlValid","each","has","trim","isValidUrl","dups","chain","arr","size","PriceInfo","deepClone","ObjectListInput","TableRowsView","formatting","controlClass","TableRows","AdExtensionMoreInfo","showItemCount","PromotionAssociationEditor","DynamicPromotionExtensionEditor","PromotionAdExtension","ratio12x10","ratio","thumbnailWidth","thumbnailHeight","minWidth","minHeight","maxSize","assetType","ratio4x3","ratio3x2","ratio16x9","aspectRatiosMeta","assetTypeMap","imageEnumToType","imageTypeToEnum","ImageRepository","baseURL","_ref$pageNumber","pageNumber","_ref$pageSize","top","imageId","imageIds","reqs","batch","path","needContentType","processedImages","image","base64","base64Index","ImageData","substr","imageAspectRatios","processUploadedImagesBatch","post","processUploadSingleImageRejection","cleanResponse","rClean","status","errMsg","imageData","dataToLog","trace","processedImageData","requestBody","body","CampaignAssociationsRequestFactory","Campaigns","$withKey","ids","getBatchRequest","idList","AdGroupAssociationsRequestFactory","AdGroups","AccountAssociationsRequestFactory","requestFactory","associationArray","statusArr","extractIndexRegex","reject","pluck","associationsMap","Property","isString","last","match","uniq","scopeParams","setEntityIds","AdExtensionAssociations","magicDate","adextensiontype","startdate","enddate","adextassociationtype","extraImgExpand","AdExtensionAssociation","fetchLegacyImagesAsNeeded","toRemove","requests","generateDestroyRequest","cast","batchURL","partial","processBatchResponse","adExtensionAssociations","param","attrs","_updateAll","_scopes","pick","toAdd","generateUpdateRequest","oldName","newName","pair","object","renameProperty","ExtensionsRepository","skipExtensionCache","legacyGetODataErrors","isUpdating","SharedDataModelConverter","subType","convertToImageAsset","taskToProcess","migrateLegacyImageAdExtension","s$AppInstallAd","appPlatformKeys","appPlatformsEnum","appPlatforms","Value","noResultsFound","isSearchEnabled","appSearchResults","appPlatform","searchTerm","appStoreIdMaxLength","maxAppStoreIdLength","applookupLoggingInformation","setApplookupLoggingInformation","clearAppLookupInfo","appIdError","errorMessage","RegExp","appIdLabel","labelText","removeAll","toManualObject","isSearched","bindAppData","isNoResultFound","appData","handleErrors","errs","lookupKeypress","open","focus","which","keyCode","lookup","preventDefault","stopPropagation","App","appSelected","targetSelector","getSelectedAppData","clearApp","$data","ApplookupLoggingInformation","ExtensionEditor","customValidators","_ref$data","repository","_ref$formatting","_ref$instrumentation","_ref$instrumentationS","_ref$disableSchedulin","isSchedulingEnabled","IsAdExtensionsSchedulingEnabled","editWarningMessage","AdExtensions_Edit_Warning","schedulingView","Scheduling","_onSave","upgradedUrlView","currentModel","scenario","editing","UpdateAdExtension","CreateAdExtension","saveActivity","SaveAdExtension","modelChanged","ChangeAdExtensionSchedule","newModel","groupedErrors","upgradedUrlFields","upgradedUrlErrors","handleApiErrors","DayTimeViewModel","days","schedulingRowErrorMessage","use24HourDisplay","dateValue","isNaN","getTime","localDateFromUtc","parsed","offset","getTimezoneOffset","utcDate","UTC","getMonth","getDate","toISOString","dayOptionsByVal","minuteOptionsByVal","minuteOptionsByStringVal","buildHourOptions","observableOption","displayName","startHourOptions","endHourOptions","accountTimeZone","getTimeZoneText","useSearcherTimeZone","UseSearcherTimeZone","DayTimeRanges","startMinuteOption","endMinuteOption","flattenedDayTimeRanges","dayTimeRange","dayOption","timeRange","consolidatedDayTimeRanges","consolidatedRanges","prevDaysMinutes","weeklyStartTime","weeklyEndTime","consolidateRanges","dtRanges","hasOverlappedRanges","dateRangeErrorMessages","messages","stringVal","addDayTimeRange","originalModelJSON","onDayTimeRangesChange","hideStartAndEndDate","readOnly","option","hours","BaseSitelink","destinationURLDisabled","ariaLabel","showLabel","customActions","mobileFinalUrls","isFinal","DestinationUrl","isMobile","UpgradedUrl","finalMobileUrl","urlOptionsEnabled","isMobilePreferred","useUrlOptionsV2","landingPageUrlRequired","Description1","_validator","Description2","DisplayText","displayText","description1","_schema$properties$Di","maxLengthWithDescription","maxLength","distinguishWideChar","getLength","change","devicePreferenceChanged","fn","originalView","isInline","uurlLevels","getUrlCustomParameters","o","urlEditor","getFullUrl","getTrackingTemplate","getFinalUrlSuffix","context","customerId","userId","accountId","entityId","css","overflow","testUurl","apiInLog","sitelink","otherName","thisOne","otherOne","otherObservable","IsSitelinkExtensionDestinationURLDisabled","PageContext","SitelinkAdExtensionEditor2","_BaseSitelink","sitelink2","MobileFinalUrls","_ExtensionEditor2","newschema","currentPreviewTemplate","oldPreviewTemplate","i18nEnglish","i18nGerman","i18nFrench","i18nSpanish","i18nItalian","i18nPortuguese","i18nChinese","oldHeaderPredicate","_slicedToArray","filterHeaders","withNewHeaders","_ref3","_ref4","langHeaders","buildHeadersMap","hheaders","_ref5","_ref6","OldHeaders","OldHeadersMap","langCodeMapper","bg","bs","cs","da","de","en","es","et","fi","fr","hr","hu","is","it","lt","lv","mk","mt","nl","no","pl","pt","ro","sk","sl","sq","sr","sv","tr","zh","selectOptions","getI18n","findPairValueWithKey","getExamples","_ref6$","CxSelectView","_CxSelect","_ref7","opts","selectsCss","selectsLabel","labelledby","describedby","setExamples","getPath","initialExamples","CxSelect","findValuePath","isMultiMatch","texts","str","currentCustomer","StringToDetectLanguage","detectLanguage","Texts","examples","_StringListInput","validatorMessages","pattern","newValues","Boolean","StringListInput","Category","Connector","languageObservable","bid","adDistribution","keyword","isSignupPage","adGroupCriterions","Intermediate","getAll","campaignCriterions","newLanguage","resetSearchBidStatus","startListening","eventDispatcher","locations","isKPAndTrafficEstimationAllowed","isSyndicationAllowed","currentLevelLocations","isSyndOptionAllowed","allowAdInsight","campaignType","searchBidView","onLanguageLocationChanged","adGroupTypeEnum","SearchStandard","SearchDynamic","adGroupTypeText","isBidLessThanFiveCentsForShoppingCampaign","currentCampaignType","isBulkEdit","IsBidLessThan5CentsInShoppingCampaignEnabled","MTCampaignTypeEnum","Shopping","campaignTypeEnum","CoOpCampaignSubType","CAMPAIGN_PAGE_SIZE","ADGROUP_PAGE_SIZE","getCampaignData","customFilter","$select","$skip","$top","$filter","Campaign","campaignData","transformCampaignData","getAdgroupData","queryText","scopeParentItem","IsPersonalizedOffersEnabled","$count","AccountId","Accounts","toJSON","AdGroup","adgroupData","transformAdgroupData","selectedCampaigns","selectedAdgroups","copySetting","AdgroupSelectorProxy","_ref$onAdGroupSelect","onAdGroupSelect","adgroupSelectorView","_ref2$query","_ref2$pageNumber","_ref2$pageSize","uiBlockContainer","_ref3$query","_ref3$pageNumber","_ref3$pageSize","_ref3$scopeParentItem","CampaignAdgroupSelectorView","campaign","onFetch","fecthCampaignData","adgroup","fecthAdgroupData","selectedItem","blockedElement","adgroupSelectorProxy","adgroupSelector","getAdgroupSelectorView","loadAdGroupAndTargets","console","warn","AudienceAssociationModel","criterionLoader","load","fetch","isExpandCampaign","isExpandAdGroup","adGroup","s$AdGroup","_ref$campaignName","campaignType2sectionMap","showCpgAdGroupType","isArabicEnabled","IsArabicLanguageEnabledInMultipleLanguage","isSimplifiedChineseEnabled","IsSimplifiedChineseLanguageEnabledInMultipleLanguage","isSponsoredPilotEnabled","IsSPAv2Enabled","isSponsoredPromotionsByBrandsEnabled","SponsoredPromotionsByBrands","isMranEcpcEnabled","MranEcpc","isMranTroasEnabled","MranTroas","isManualBiddingDeprecationEnabled","IsManualBiddingDeprecationEnabled","section2viewMap","viewFactory","LanguageSettingView","i18nStrings","SaveWarning","IsAdsGlobalizationPhase1Enabled","IsAdsGlobalizationPhase2Enabled","IsAdsGlobalizationPhase6Enabled","IsAdsGlobalizationPhase2JapanEnabled","IsAdsGlobalizationPhase9Enabled","IsAdsGlobalizationPhase9VIEnabled","automatedBidding","BiddingStrategyView","biddingStrategyType","biddingStrategyTypes","cpgAdGroupType","AdGroupBidType","_ref$blockedElement","_ref$isDynamicAdGroup","isDynamicAdGroupCreation","_ref$showCashbackSett","showCashbackSettings","enableArabic","enableSimplifiedChinese","campaignBiddingStrategyType","campaignSubType","CampaignSubType","Languages","withInheritOption","sections","dynamicSearch","subViews","section","ParentLevelCashbackPercent","ParentLevelCashbackScope","ParentCouponsEnabled","cashbackSettings","CashbackSettings","showCashbackBudget","isCashbackScopeReadonly","showCoupon","showEnableCashbackSettingsCheckbox","showInheritFromParentOption","CashbackScope","CouponsEnabled","defaultLang","copySettings","CopySettings","copyAdGroup","_this$viewModel$error","BiddingScheme","isSponsoredCampaign","IsPromotionsForBrands","view","adGroupToSave","Medium","PricingModel","isSponsoredPromotionsByBrandsCampaign","Settings","BidOption","getState","disabled","adGroupNameObservable","budgetAmountObservable","keywordsView","updateAdgroupName","updateBudgetAmount","updateKeywords","onKeywordsEditted","clearEstimation","updateAdGroupName","newBudgetAmount","onKeywordsEditingFinished","autoTargetView","defaultBid","SearchBid","bidOptionView","bidSectionView","bidOption","onBidOptionChanged","adDistributionView","setInHouseStatus","bidType","adGroupTypeView","bidStrategyView","adGroupType","onAdGroupTypeChanged","AdGroupTargets","_ref$supportCashbackS","_ref$isMSStoreAdsGAWo","isMSStoreAdsGAWorkflow","adGroupTargetInfo","AudienceTargetInfo","resourceName","listenToLocationCriterion","useLocationControl","initAudienceAssociationView","campaignTargetInfo","accountCurrencyCode","AccountCurrencyCode","asyncTask","fetchCriterions","childView","AudienceAdvancedTargetSettings","currentLevelTargetInfo","parentLevelTargetInfo","rawData","getData","mappedCriterions","CampaignName","AdGroupName","fillCriterionsWithId","activity","suggestionInCreationWorkflow","adGroupCreation","isDSAMixedModeCampaignEnabled","AdGroupLogId","uuid","v4","isMSStoreAdsCampaign","section2subViewMap","AdsView","serverContext","i18nNewDesign","settings","KeywordsView","parentContext","set","showOnlyKeywords","BidView","defaultBidValue","defaultMSStoreSuggestionBid","showTrafficEstimation","budget","getDailyBudgetAmount","Budget","getKeywordsCb","getCurKeywords","bidStatusEnabled","CpgBidSection","AdvancedSettingsView","isSPB","AdScheduleTimeZoneSetting","AdScheduleUseSearcherTimeZone","AdDistribution","adgropuId","nativeAdsCampaignBid","NativeBidAdjustment","multimediaAdsCampaignBid","MultiMediaAdBidAdjustment","isSPBCampaign","LocationTargetsView","isWindowsStoreAd","Location","eventDelegator","physicalIntent","physicalIntentOptions","PeopleIn","showPhysicalIntentView","AutoTargetView","showHeader","setting","AdGroupTargetsView","isMixedMode","getCampaignPromise","isOpenCreatePanel","router","navigateToRoute","AppEventDelegator","start","inContextRepairRecScenario","inContextRepairRecommendation","applyActivity","applyDeliveryStatus","dynamicPermissions","showDisclaimerBanner","isNextButtonEnabled","IsReadOnlyUser","CurrentAccountInActive","shouldSupportCashbackSettings","SettingsView","jsData","refresh","logTrace","costPerSale","sec","removeBidView","languageLocationConnector","LanguageLocationConnector","setLanguageSet","adgroupKeywordConnector","AdgroupKeywordConnector","autoTargetBidConnector","AutoTargetBidConnector","ad","updateLanguage","ads","getAds","displayUrlToUse","displayUrl","onAdsUrlUpdated","bindCashbackPercentChangeHandler","createCpgConnectors","formattedValue","fromLocalToFloat","adScheduleView","toggleCashbackPercentColumns","validateCashbackPercent","onCashbackPercentChange","cpgBidSection","cpgBidOptionConnector","CpgBidOptionConnector","cpgInHouseConnector","CpgAdGroupTypeInHouseConnector","bidStrategyBidOptionConnector","BidStrategyBidOptionConnector","refreshLocationDataFromOtherAdGroup","setModel","setValues","containerTemplate","initializeSubViews","isShowDisclaimerBannerEnabled","resetIsAutoBidding","addEventListener","uiBlocker","noCampaignTemplate","subView","prev","cur","adGroupStored","getAdGroup","adgroupSaved","websiteLanguage","deviceTargets","locationTargets","scheduling","advancedSettingsValues","nativeAds","multimediaAds","MultimediaAdBidAdjustment","netWorkOptions","hasAdDistribution","syndEnum","BingYahooAndSearchPartners","getCpgValues","ProductPartitions","ProductCondition","ProductValue","IsExcluded","IsLeaf","BidAmount","intent","deletedLocations","ProductAds","PromotionalText","ResponsiveAds","responsiveAd","Headlines","LongHeadlines","Descriptions","defaultProductPartitionCreated","CoOpSetting","productPartition","BidBoost","perfMarkerSave","clearApiErrors","advancedSettingsView","AdGroupType","afterCommitted","saveImageExtensionsToServer","apiErrorHandler","deleteSavedEntities","emptyDeletedItems","stop","scrollUtil","errorElements","parentId","resolve","adView","cachedImageExtensionChanges","getCachedImageExtensionChanges","defaultParams","updated","saveImgsExtPerfMarker","imageExtRepository","summaryDataContextManager","createImageExtensionsPromise","newExtensions","newExtIds","deletePromise","in","updatePromise","pageName","_TL_","notificationApi","page","_this6","DeliveryStatusType","logCopilotSuggestionMapping","enableAdGroup","Scenario","SuggestedBid","suggestedBidNew","SaveBid","EventName","SuggestedBidRequestId","suggestedBidRequestId","AdgroupId","logBidAdoption","suggestedBid","isNKW","viewedSuggestion","Keywords","updateViewModels","keywords","logAdGroupPersonalizedOffers","navigateToSummaryPage","backFillEntityIds","isAfterSave","handleAdsError","setLevel","setAdGroupId","setData","handleApiErrorsForAdGroupLevel","_this7","allAdsAndKeywordsErrors","adsAndKeywordsErrors","allAppealableErrors","hasChanges","DsaTargets","x","Code","getContext","api","stopListening","uniqueId","initStatus","Channel","AssetChannel","WEB_UI","Feature","AssetEventFeature","RSA","AssetScenario","CREATE_WORK_FLOW","UniqueId","localIds","realIds","ResponsiveSearchAds","_ref8","POST_ASSET_EVENT_NAME","EventValue","Timestamp","RecordType","AssetEventRecordType","MAPPING","OperationName","AssetEventOperationName","NON_ITERATIVE","RealIds","LocalIds","adGroupTypeOptions","showStandardAdGroupCreation","showDynamicAdGroupCreation","hasDisclaimerSetting","MessageView","content","tmpl","MixedModeAdGroupCreationView","hasDSASettingsInCampaignSettings","currentAdgroupType","handlePopState","adGroupCreationView","dsaSettingsView","DSASettingsView","updateSubViewDSASettings","dsaSettings","LanguageCode","DomainName","Source","DynamicDescriptionEnabled","$adGroupCreationContainer","AdGroupCreationView","initDSASettingsView","dialog","Dialog","backdrop","keyboard","setContent","setState","buttons","appendTo","document","button","renderAdGroupCreationView","_IsAllData","attemptSwitchadGroupType","removeEventListener","CampaignSettings","saveTargetingSource","save","Map","campaignErrors","ErrorNumber","EditorialCode","EditorialLocation","propertyErrors","globalErrors","scrollToDSAError","targetingSource","_ref$showTrafficEstim","_ref$budget","_ref$getKeywordsCb","_ref$adgroup","_ref$languages","_ref$campaign","_ref$bidStatusEnabled","_ref$isInKeywordCreat","isInKeywordCreationWorkflow","_ref$inputLabel","inputLabel","_ref$isForVNext","_ref$defaultBidValue","SearchBidView","setCampaignAutoBiddingBoolean","disableSearchBid","isAutoBidding","enable","isCampaignAutoBidding","bidLandscapeAvailable","updateBidLandscapeAvailability","updateAdGroupMedium","mediumEnum","Content","bidStatusENUM","Good","editMode","applyBidBtnText","showLowerThanMinSuggestionBidWarning","bidTooLow","bidRangeExtension","showEstimation","Clicks","Impressions","ClicksNum","ImpressionsNum","SuggestedClicks","SuggestedImpressions","Spend","isBidChanged","moreImpressionsBySuggestion","round","moreClicksBySuggestion","showLowBidWarning","isShowLowBidWarning","InputBid","LowBidAlertType","showLowBidInfo","isShowLowBidInfo","lowBidWarning","impressions","clicks","lowBidInfo","infoMessage","showInfo","estimateBtnText","showEstimateButton","searchBidErrorMessage","searchBidInvalid","bidStatus","showEstError","est","TotalCost","num","finalMessage","_pageContext$Permissi","IsSuggestionInAdGroupCreationWorkflowEnabled","IsSuggestionInAdGroupCreationWorkflowVNextEnabled","bidRange","popupId","suggestionEnabled","updatedTimestamp","defaultMSStoreMinSuggestionBid","statusSubscription","closeBidPopup","beginEstimationDebounced","beginEstimation","fetchBidSuggestionNewApiDebounced","fetchBidSuggestionNewApi","SUBSTRATE","OriginalInputBid","validateMinSuggestionBid","hasClass","bidSuggestionView","PopupContentView","adGroupObj","getTrafficEstimation","decimalNumber","onNotAllSupported","supportedCount","onSuccess","updateEstimations","onRequestError","onNonSupported","onServiceNotSupported","spinner","roundToTwo","updateSuggestions","callTimestamp","getBidSuggestion","timestamp","updateSuggestedBid","min","CeilingValue","ceil","Amount","useless","newAmount","dispose","keywordBidRange","FloorValue","productGroupBidRange","windowsStoreAdsBidRange","propertyNames","useProductGroupBidRange","isMSStoreCampaign","enumValidator","max","isWindowsStoreAdsManualCPAEnabled","_ref$AdDistribution","_ref$Medium","_ref$campaignSubType","_ref$showSynd","showSynd","_ref$isSPBCampaign","subTypeFromCampaign","isMicrosoftStoreAd","Search","syndAllowed","searchSelected","Mixed","enableSynd","showInHouse","marketsSyndicationOptEnabled","Market","isSpaViaNewMmcApiEnabled","SpaViaNewMmcApi","WindowsStoreAdsManualCPA","syndLanguageSupported","languageSets","_ref$Language","_ref$Languages","_ref$campaignType","_ref$level","onSponsoredCampaignTypeChange","isDeprecateSyndicationSearchOnly","isSyndicationSearchOnlyWhitelist","isSyndicationSearchOnlyChecked","SearchPartnersOnly","coreTemplateParams","appendLearnMoreLink","nativeAdsAllowed","showSyndicationSearchOnly","templateWinStoreAdsCpa","templateSpaSpb","templateDefault","isEnabled","BingYahooOnly","isMultipleLanguage","adgroupLanguage","includedTargets","SelectionStatus","LocationTargetTypes","locationPublisherCountryMap","languageBundle","langmarketSelection","NoSupported","location","LocationCriterion","publisherCountries","supportedCountries","isSyndOptionEnabled","isLocationTargetingsAllowed","isVisible","InHousePromotion","AdRotation","disableRotationOptions","_ref$model","_ref$scenarioToSectio","scenarioToSectionsMap","_ref$scenario","_ref$editModel","editModel","_ref$collapseAdvanced","collapseAdvancedSettings","isFinalURLSuffixEnabled","isNewUI","isAdvancedSettingsExpanded","isExclusionsExpanded","biddingScheme","shouldShowSection","sectionName","allSections","infoTextDemographicTargets","showUrlOptions","isUpgradedUrlsForBscSettingsEnabled","showNativeAds","showMultimediaAds","IsMultiMediaAdsEnabled","MMAForCN","showAdSchedule","showDemographicTargets","showAgeTargets","showGenderTargets","showTargetsSection","showDeviceTargets","showOtherSettingsSection","showAdRotation","showAdDistribution","showExclusions","showSiteExclusion","showIPExclusion","showSearchCampaignPredictiveMatching","shouldShowSearchCampaignPredictiveMatching","showVanityUrlSettings","IsVanityUrlEnabled","VanityUrlWebsiteDescription","vanityUrlSettings","DisplayUrlMode","WebsiteDescription","predictiveTargetingSettings","predictiveMatchingChecked","PredictiveTargetingEnabled","biddingSchema","isSearchCampaign","isPredictiveMatchingEnabled","isBidstrategySupport","types","targetCpa","targetRoas","maximizeConversions","showPredictiveMatching","autoMatedCTAEnabled","showAutoMatedCTA","callToActionSetting","AutomatedCallToActionOptOut","initAutomatedCTA","_ref$campaignId","_ref$adgroupId","_ref$nativeAdsCampaig","_ref$nativeAdsAdgroup","nativeAdsAdgroupBid","_ref$multimediaAdsCam","_ref$multimediaAdsAdg","multimediaAdsAdgroupBid","_ref$TimeZone","_ref$language","_ref$campaignBiddingS","campaignBiddingStrategy","_ref$campaignAdSchedu","_ref$popupIds","isNativeAdsRebrandingEnabled","IsNativeAdsRebrandingEnabled","isMultiMediaAdsEnabled","IsFinalURLSuffixPhase3Enabled","viewmodel","adRotationView","AdRotationView","AdDistributionView","setIsSponsoredCampaignCashbackEnabled","entities","includedLocations","locationTargetTypes","showLocationTargets","infoTextLocationTargets","isNotAudienceCampaign","loadAndRenderTargets","renderLocationTargets","loadAndRenderAdSchedule","loadAndRenderNativeAds","renderUpgradedUrlOptions","renderVanityUrlSettings","loadAndRenderExclusions","renderOtherSettings","collapse","updateLocationTargetsVisibility","isExperiment","exclusionRepository","campaignExclusions","adgroupExclusions","exclusions","siteExclusionView","BaseExclusionView","exclusionType","SiteExclusion","ipExclusionView","IPExclusion","siteExclusionsUpdated","ipExclusionsUpdated","siteExclusions","ipExclusions","AdvanceSettings","Exclusions","ExcludedSites","ExcludedIPs","AdvancedSettings","saveExtensions","NegativeSitesResult","NegativeIPsResult","showExclusionErrors","multimediaAdsOptions","MultimediaAdTypeMultimediaAdsBidsCampaignBidAdjustment","targetConstants","multimediaAdDefaultBid","MultimediaAdTypeMultimediaAdsBidsAdgroupBidAdjustment","multimediaAdsUpdateView","BaseTargetUpdateView","targetType","targetTypes","MultimediaAd","IsMMAAutomatedCTAOptInEnabled","automatedCTAView","AutomatedCTAView","targets","resetId","schedulingRows","multiplier","CriterionBid","Multiplier","campaignTargets","parseSchedulingRows","renderAdShedule","adgroupTargets","campaignSchedulingRows","AdScheduleView","upgradedUrlOptions","UpgradedUrlOptions","urlOptionsTemplate","UrlOptions","ReactDOM","props","React","VanityUrlOption","payload","resources","Device","OrignalDevice","deviceTargetsUpdateView","Age","ageTargetsUpdateView","Gender","genderTargetsUpdateView","campaignBids","adgroupBids","deviceKeys","rowKeys","IsOriginalDeviceTargetingEnabled","device","osNames","os","deviceTypeOptions","campaignCashbackPercent","adgroupCashbackPercent","ageKeys","ageBucketsOptions","bucket","genderKeys","genderTypeOptions","gender","getDeviceTypeOptions","OriginalDevice","DeviceTargets","getAgeTypeOptions","AgeTargets","getGenderTypeOptions","GenderTargets","targetsToLoad","extractBids","renderTargets","nativeAdsOptions","NativeAdTypeNativeAdsBidsCampaignBidAdjustment","NativeAdBid","NativeAdTypeNativeAdsBidsAdgroupBidAdjustment","nativeAdsUpdateView","NativeAd","NativeAds","renderNativeAds","locationTargetsView","LocationTargetBidView","LocationTargets","bids","prefix","targetTypeToFilterProperty","OSName","cashbackName","CriterionCashback","_this8","ageTargets","genderTargets","automatedCTA","deletedDayTimeCriterions","currentCampaignId","getDateSettings","adRotation","getAdScheduleUseSearcherTimeZone","deviceTarget","AutoTargetingEnabled","siteErrors","ipErrors","showErrors","_this9","allValid","expandSettingsWithValidateErrors","expandSettingsWithErrors","locationTargetsHaveErrors","deviceTargetsHaveErrors","demographicHaveErrors","adScheduleHaveErrors","urlOptionsHaveErrors","expandSettingsWithApiErrors","BaseTargetViewModel","_ref$exclusionType","_ref$exclusions","_ref$exclusionType2St","exclusionType2String","_ref$entitySeparator","entitySeparator","_ref$campaignExclusio","numbersExcluded","numberExcluded","getExclusions","site","instruction","ip","BaseExclusionViewModel","isInSiteExclusionListPilot","IsManagerAccountSharedWebsiteExclusionsEnabled","siteExclusionListHref","queryString","isAdGroupLevel","isArray","InvalidEntities","ValidEntities","union","EntityErrors","learnMoreHelpIds","Hold","PendingPaymentMethod","PausedZeroBalance","PausedNoValidIO","PendingNewCustomer","Processing","alertActionConfig","relativePath","isPendingFilterSet","alertReasonId","accountInactiveCauseCode","i18nPrefixes","alertCategoryPrefix","alertDescriptionPrefix","alertReasonPrefix","alertActionPrefix","AlertsPopup","popupContent","getPopupContent","accountInactiveReasons","getManagerAccountsPopupContent","manageraccounts","shouldClose","hideLayer","targetLayerId","popupConstants","namespace","ResetImage","managerAccountsPopupTemplate","popUpText","closeText","alerts","reason","category","getAlertCategory","Reason","description","getAlertDescription","causes","getAlertCauses","Causes","getAlertAction","learnMore","getLearnMore","accountAlertsPopupTemplate","i18nPrefix","reasonId","causeExplinations","cause","causeCodeId","causeExplination","linkText","getAlertActionText","IsRenderClientShellPageEnabled","Footer","SupportUrl","host","RootUIUrl","CurrentCustomer","urlUtil","make","getCampaignWithCidAndAid","getCampaignWithAid","getAccountsSummaryWithCid","pug","module","exports","pug_interp","pug_html","pug_mixins","locals_for_with","block","attributes","escape","cssClass","classes","ariaLabelContext","templateString","linkId","$$obj","pug_index0","$$l","PhoneNumber","Text","CompanyName","address","cls","labelCls","hasSubFields","random","link","SiteLinks","minSuggestionBid","note","topicId","sectionInfoDataBind","isSiteExclusion","labelId","hideTitle","alertIndex","pug_index1","pug_index2","account","CustomerNumber"],"sourceRoot":""}