{"version":3,"file":"js/app.a8211861.js","mappings":"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","sources":["webpack://pbrpipeda-vue/./src/App.vue?0387","webpack://pbrpipeda-vue/./src/components/BreachReport.vue?7d4e","webpack://pbrpipeda-vue/./src/components/MainContent.vue?ca10","webpack://pbrpipeda-vue/./src/components/layout/WetTop.vue?3175","webpack://pbrpipeda-vue/./src/views/RegisterView.vue?ed9e","webpack://pbrpipeda-vue/./src/views/ThankYouView.vue?10e2","webpack://pbrpipeda-vue/./src/App.vue?472c","webpack://pbrpipeda-vue/./src/components/layout/WetTop.vue?e165","webpack://pbrpipeda-vue/./src/components/layout/WetTop.vue","webpack://pbrpipeda-vue/./src/components/layout/WetTop.vue?200c","webpack://pbrpipeda-vue/./src/components/layout/WetTop.vue?e3dc","webpack://pbrpipeda-vue/./src/components/layout/WetPreFooter.vue?458a","webpack://pbrpipeda-vue/./src/components/layout/WetPreFooter.vue","webpack://pbrpipeda-vue/./src/components/layout/WetPreFooter.vue?2a0c","webpack://pbrpipeda-vue/./src/components/layout/WetFooter.vue?4391","webpack://pbrpipeda-vue/./src/components/layout/WetFooter.vue","webpack://pbrpipeda-vue/./src/components/layout/WetFooter.vue?09a1","webpack://pbrpipeda-vue/./src/i18n.ts","webpack://pbrpipeda-vue/./src/App.vue?38a5","webpack://pbrpipeda-vue/./src/App.vue?a37c","webpack://pbrpipeda-vue/./src/App.vue?b495","webpack://pbrpipeda-vue/./src/App.vue","webpack://pbrpipeda-vue/./src/views/RegisterView.vue?2c34","webpack://pbrpipeda-vue/./src/components/Title.vue?7921","webpack://pbrpipeda-vue/./src/components/Title.vue?561a","webpack://pbrpipeda-vue/./src/components/Title.vue?1cfa","webpack://pbrpipeda-vue/./src/components/Title.vue","webpack://pbrpipeda-vue/./src/components/MainContent.vue?1beb","webpack://pbrpipeda-vue/./src/components/MainContent.vue?e2ed","webpack://pbrpipeda-vue/./src/components/MainContent.vue?7524","webpack://pbrpipeda-vue/./src/components/MainContent.vue?9c1e","webpack://pbrpipeda-vue/./src/components/MainContent.vue","webpack://pbrpipeda-vue/./src/views/RegisterView.vue?abbe","webpack://pbrpipeda-vue/./src/views/RegisterView.vue?723e","webpack://pbrpipeda-vue/./src/views/RegisterView.vue?0361","webpack://pbrpipeda-vue/./src/views/RegisterView.vue","webpack://pbrpipeda-vue/./src/views/ReportingView.vue?b0f9","webpack://pbrpipeda-vue/./src/components/BreachReport.vue?7cbf","webpack://pbrpipeda-vue/./src/surveys/survey-base.ts","webpack://pbrpipeda-vue/./src/surveys/widgets/widget-base.ts","webpack://pbrpipeda-vue/./src/surveys/widgets/alert-widget.ts","webpack://pbrpipeda-vue/./src/surveys/survey-pdf-base.ts","webpack://pbrpipeda-vue/./src/surveys/widgets/download-widget.ts","webpack://pbrpipeda-vue/./src/surveys/breach-survey.ts","webpack://pbrpipeda-vue/./src/opc-pdf-form.ts","webpack://pbrpipeda-vue/./src/components/BreachReport.vue?8220","webpack://pbrpipeda-vue/./src/components/BreachReport.vue?a14d","webpack://pbrpipeda-vue/./src/components/BreachReport.vue?0b73","webpack://pbrpipeda-vue/./src/components/BreachReport.vue","webpack://pbrpipeda-vue/src/views/ReportingView.vue","webpack://pbrpipeda-vue/./src/views/ReportingView.vue?fd28","webpack://pbrpipeda-vue/./src/views/ReportingView.vue","webpack://pbrpipeda-vue/./src/views/ThankYouView.vue?30f2","webpack://pbrpipeda-vue/./src/views/ThankYouView.vue?171d","webpack://pbrpipeda-vue/./src/views/ThankYouView.vue?51b1","webpack://pbrpipeda-vue/./src/views/ThankYouView.vue?94fd","webpack://pbrpipeda-vue/./src/views/ThankYouView.vue","webpack://pbrpipeda-vue/./src/store/index.ts","webpack://pbrpipeda-vue/./src/router/index.ts","webpack://pbrpipeda-vue/./src/main.ts","webpack://pbrpipeda-vue/./src/locales|sync|E:/[A-Za-z0-9-_,/s]+/.json$/i","webpack://pbrpipeda-vue/external var \"jQuery\"","webpack://pbrpipeda-vue/webpack/bootstrap","webpack://pbrpipeda-vue/webpack/runtime/chunk loaded","webpack://pbrpipeda-vue/webpack/runtime/compat get default export","webpack://pbrpipeda-vue/webpack/runtime/create fake namespace object","webpack://pbrpipeda-vue/webpack/runtime/define property getters","webpack://pbrpipeda-vue/webpack/runtime/ensure chunk","webpack://pbrpipeda-vue/webpack/runtime/get javascript chunk filename","webpack://pbrpipeda-vue/webpack/runtime/get mini-css chunk filename","webpack://pbrpipeda-vue/webpack/runtime/global","webpack://pbrpipeda-vue/webpack/runtime/hasOwnProperty shorthand","webpack://pbrpipeda-vue/webpack/runtime/load script","webpack://pbrpipeda-vue/webpack/runtime/make namespace object","webpack://pbrpipeda-vue/webpack/runtime/publicPath","webpack://pbrpipeda-vue/webpack/runtime/jsonp chunk loading","webpack://pbrpipeda-vue/webpack/startup"],"sourcesContent":["module.exports = function (Component) {\n Component.options.__i18n = Component.options.__i18n || []\n Component.options.__i18n.push('{\"en\":{\"browserNotSupportedTitle\":\"Browser not supported\",\"browserNotSupportedDescription\":\"This website is not compatible with Internet Explorer and older versions of Microsoft Edge. Please use a {0}.\",\"supportedBrowser\":\"supported browser\",\"supportedBrowserUrl\":\"https://www.priv.gc.ca/en/browser-not-supported/\"},\"fr\":{\"browserNotSupportedTitle\":\"Navigateur non pris en charge\",\"browserNotSupportedDescription\":\"Le navigateur Internet Explorer et les versions ant�rieures de Microsoft Edge ne sont pas pris en charge par le pr�sent site Web. Veuillez utiliser un des {0}.\",\"supportedBrowser\":\"navigateurs compatible\",\"supportedBrowserUrl\":\"https://www.priv.gc.ca/fr/navigateur-non-pris-en-charge/\"}}')\n delete Component.options._Ctor\n}\n","module.exports = function (Component) {\n Component.options.__i18n = Component.options.__i18n || []\n Component.options.__i18n.push('{\"en\":{\"invalidRequestMessage\":\"An invalid request was made. Please try again.\"},\"fr\":{\"invalidRequestMessage\":\"Une requête invalide a été effectuée. Veuillez essayer de nouveau.\"}}')\n delete Component.options._Ctor\n}\n","module.exports = function (Component) {\n Component.options.__i18n = Component.options.__i18n || []\n Component.options.__i18n.push('{\"en\":{\"mainContent\":\"Main content\"},\"fr\":{\"mainContent\":\"Contenu principal\"}}')\n delete Component.options._Ctor\n}\n","module.exports = function (Component) {\n Component.options.__i18n = Component.options.__i18n || []\n Component.options.__i18n.push('{\"en\":{\"lang\":\"fr\",\"text\":\"Français\"},\"fr\":{\"lang\":\"en\",\"text\":\"English\"}}')\n delete Component.options._Ctor\n}\n","module.exports = function (Component) {\n Component.options.__i18n = Component.options.__i18n || []\n Component.options.__i18n.push('{\"en\":{\"title\":\"Request a link to submit a breach report\",\"intro1\":\"In order to submit a breach report to the OPC, you need to provide your business email address. You will then receive an email with a link that will allow you to submit the report.\",\"intro2\":\"You must request a new link for each new breach report as well as for any updates to existing breach reports.\",\"note\":\"Note: \",\"emailLabel\":\"Enter your business email address\",\"emailPlaceholder\":\"Enter business email\",\"submitLabel\":\"Submit\",\"success\":\"Registration successful! Please check your email.\",\"error\":\"There was an error with registration. Please try again later.\"},\"fr\":{\"title\":\"Demander un lien pour soumettre une déclaration d\\u0027atteinte à la vie privée\",\"intro1\":\"Vous devez fournir votre adresse de courriel pour soumettre une déclaration d\\u0027atteinte à la vie privée au Commissariat. Vous recevrez ensuite un courriel contenant un lien qui vous permettra de soumettre la déclaration.\",\"intro2\":\"Vous devez demander un nouveau lien pour chaque nouvelle déclaration d\\u0027atteinte à la vie privée et pour toute mise à jour de déclarations antérieures.\",\"note\":\"Remarque : \",\"emailLabel\":\"Saisissez votre adresse de courriel\",\"emailPlaceholder\":\"Saisissez ici votre adresse de courriel\",\"submitLabel\":\"Soumettre\",\"success\":\"L\\u0027inscription a été completé avec succès! successful! Veuillez vérifier vos courriel.\",\"error\":\"Une érreur c\\u0027est produit lors de l\\u0027inscription. Veuillez essayer de nouveau.\"}}')\n delete Component.options._Ctor\n}\n","module.exports = function (Component) {\n Component.options.__i18n = Component.options.__i18n || []\n Component.options.__i18n.push('{\"en\":{\"title\":\"Thank You\",\"intro1\":\"Thank you for providing your email address. You will receive an email with a link to submit a report shortly.\",\"intro2\":\"The link will be active for two hours. If you cannot submit the report in two hours, \",\"intro3\":\"For any problems with your submission, contact the\",\"contactLink\":\"OPC Information Centre\",\"contactUrl\":\"https://www.priv.gc.ca/en/contact-the-opc/contact-the-information-centre/\",\"requestLink\":\"request a new link\"},\"fr\":{\"title\":\"Merci\",\"intro1\":\"Merci de nous avoir fourni votre adresse de courriel. Vous recevrez sous peu un courriel contenant un lien qui vous permettra de soumettre une déclaration.\",\"intro2\":\"Le lien sera actif pendant deux heures. Si vous ne pouvez pas soumettre la déclaration dans cette période, \",\"intro3\":\"Pour tout problème en lien avec votre soumission, veuillez communiquer avec le\",\"contactLink\":\"Centre d\\u0027information du Commissariat\",\"contactUrl\":\"https://www.priv.gc.ca/fr/communiquer-avec-le-commissariat/communiquer-avec-le-centre-d-information/\",\"requestLink\":\"demandez un nouveau lien\"}}')\n delete Component.options._Ctor\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"row\",attrs:{\"id\":\"app\"}},[(!_vm.isBrowserSupported)?_c('section',{staticClass:\"alert alert-warning\"},[_c('p',{staticClass:\"h3\"},[_vm._v(_vm._s(_vm.$t(\"browserNotSupportedTitle\")))]),_c('i18n',{attrs:{\"path\":\"browserNotSupportedDescription\",\"tag\":\"p\"}},[_c('a',{attrs:{\"href\":_vm.$t('supportedBrowserUrl'),\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.$t(\"supportedBrowser\")))])])],1):_vm._e(),_c('WetTop'),_c('router-view'),_c('WetPreFooter',{attrs:{\"pageDetails\":true,\"dateModified\":'2024-05-22',\"showFeedback\":_vm.feedbackApi,\"showShare\":true}}),_c('WetFooter')],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\nimport { Component, Prop, Vue, Watch } from \"vue-property-decorator\";\nimport { builder } from \"wet\";\n\ndeclare var wetEn: { builder: builder };\ndeclare var wetFr: { builder: builder };\n\n@Component\nexport default class WetTop extends Vue {\n @Prop({ default: true }) readonly search!: boolean;\n @Prop({ default: true }) readonly siteMenu!: boolean;\n @Prop({ default: true }) readonly showPreContent!: boolean;\n @Prop({ default: true }) readonly topSecMenu!: boolean;\n\n created() {\n this.buildTop();\n }\n\n @Watch(\"$route\")\n onRouteChanged() {\n this.buildTop();\n }\n\n buildTop(): void {\n const wet = this.$i18n.locale === \"fr\" ? wetFr : wetEn;\n const lngLink = this.resolveLanguageLink(this.$route.meta?.lngRoute);\n const defTop = document.getElementById(\"def-top\");\n if (defTop) {\n defTop.innerHTML = wet.builder.top({\n cdnEnv: \"prod\",\n search: this.search,\n siteMenu: this.siteMenu,\n lngLinks: [\n {\n href: lngLink,\n lang: this.$t(\"lang\"),\n text: this.$t(\"text\"),\n },\n ],\n showPreContent: this.showPreContent,\n breadcrumbs: this.$route.meta?.breadcrumbs,\n topSecMenu: this.topSecMenu,\n });\n }\n }\n\n resolveLanguageLink(route: string): string {\n const lang = this.$i18n.t(\"lang\").toString();\n return this.$router.resolve({\n name: route,\n params: { lang: lang },\n }).href;\n }\n}\n","var render, staticRenderFns\nimport script from \"./WetTop.vue?vue&type=script&lang=ts&\"\nexport * from \"./WetTop.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* custom blocks */\nimport block0 from \"./WetTop.vue?vue&type=custom&index=0&blockType=i18n\"\nif (typeof block0 === 'function') block0(component)\n\nexport default component.exports","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??clonedRuleSet-41[0].rules[0].use[2]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./WetTop.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??clonedRuleSet-41[0].rules[0].use[2]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./WetTop.vue?vue&type=script&lang=ts&\"","import mod from \"-!../../../node_modules/@intlify/vue-i18n-loader/lib/index.js!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./WetTop.vue?vue&type=custom&index=0&blockType=i18n\"; export default mod; export * from \"-!../../../node_modules/@intlify/vue-i18n-loader/lib/index.js!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./WetTop.vue?vue&type=custom&index=0&blockType=i18n\"","\nimport { Component, Prop, Vue, Watch } from \"vue-property-decorator\";\nimport { builder } from \"wet\";\n\ndeclare var wetEn: { builder: builder };\ndeclare var wetFr: { builder: builder };\n\n@Component\nexport default class WetPreFooter extends Vue {\n @Prop() readonly dateModified?: string;\n @Prop({ default: false }) readonly showPostContent!: boolean;\n @Prop({ default: false }) readonly showShare!: boolean;\n @Prop() readonly showFeedback?: string;\n @Prop() readonly versionIdentifier?: string;\n @Prop() readonly screenIdentifier?: string;\n @Prop({ default: false }) readonly pageDetails!: boolean;\n @Prop({ default: null }) readonly isContainer!: boolean;\n\n created() {\n this.buildPreFooter();\n }\n\n @Watch(\"$i18n.locale\")\n onLocaleChanged() {\n this.buildPreFooter();\n }\n\n buildPreFooter(): void {\n const wet = this.$i18n.locale === \"fr\" ? wetFr : wetEn;\n const defPreFooter = document.getElementById(\"def-preFooter\");\n if (defPreFooter) {\n defPreFooter.innerHTML = wet.builder.preFooter({\n cdnEnv: \"prod\",\n dateModified: this.dateModified,\n showPostContent: this.showPostContent,\n showFeedback: this.showFeedback,\n showShare: this.showShare,\n versionIdentifier: this.versionIdentifier,\n screenIdentifier: this.screenIdentifier,\n pageDetails: this.pageDetails,\n isContainer: this.isContainer,\n });\n }\n }\n}\n","var render, staticRenderFns\nimport script from \"./WetPreFooter.vue?vue&type=script&lang=ts&\"\nexport * from \"./WetPreFooter.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??clonedRuleSet-41[0].rules[0].use[2]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./WetPreFooter.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??clonedRuleSet-41[0].rules[0].use[2]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./WetPreFooter.vue?vue&type=script&lang=ts&\"","\nimport { Component, Prop, Vue, Watch } from \"vue-property-decorator\";\nimport { builder } from \"wet\";\n\ndeclare var wetEn: { builder: builder };\ndeclare var wetFr: { builder: builder };\n\n@Component\nexport default class WetFooter extends Vue {\n @Prop({ default: true }) readonly showFooter!: boolean;\n\n created() {\n this.buildFooter();\n }\n\n @Watch(\"$i18n.locale\")\n onLocaleChanged() {\n this.buildFooter();\n }\n\n buildFooter(): void {\n const wet = this.$i18n.locale === \"fr\" ? wetFr : wetEn;\n const defFooter = document.getElementById(\"def-footer\");\n if (defFooter) {\n defFooter.innerHTML = wet.builder.footer({\n cdnEnv: \"prod\",\n showFooter: this.showFooter,\n });\n }\n }\n}\n","var render, staticRenderFns\nimport script from \"./WetFooter.vue?vue&type=script&lang=ts&\"\nexport * from \"./WetFooter.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??clonedRuleSet-41[0].rules[0].use[2]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./WetFooter.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??clonedRuleSet-41[0].rules[0].use[2]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./WetFooter.vue?vue&type=script&lang=ts&\"","import Vue from \"vue\";\nimport VueI18n, { LocaleMessages } from \"vue-i18n\";\n\nVue.use(VueI18n);\n\nfunction loadLocaleMessages(): LocaleMessages {\n const locales = require.context(\n \"@/locales\",\n true,\n /[A-Za-z0-9-_,\\s]+\\.json$/i\n );\n const messages: LocaleMessages = {};\n locales.keys().forEach((key) => {\n const matched = key.match(/([A-Za-z0-9-_]+)\\./i);\n if (matched && matched.length > 1) {\n const locale = matched[1];\n messages[locale] = locales(key);\n }\n });\n return messages;\n}\n\nexport default new VueI18n({\n locale: process.env.VUE_APP_I18N_LOCALE || \"en\",\n fallbackLocale: process.env.VUE_APP_I18N_FALLBACK_LOCALE || \"en\",\n messages: loadLocaleMessages(),\n});\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport axios from \"axios\";\nimport { Component, Vue } from \"vue-property-decorator\";\nimport WetTop from \"@/components/layout/WetTop.vue\";\nimport WetPreFooter from \"@/components/layout/WetPreFooter.vue\";\nimport WetFooter from \"@/components/layout/WetFooter.vue\";\nimport i18n from \"@/i18n\";\n\ninterface AxiosResponse {\n status: number;\n config: {\n __isRetryRequest: boolean;\n };\n}\n\n@Component({\n components: {\n WetTop,\n WetPreFooter,\n WetFooter,\n },\n})\nexport default class App extends Vue {\n // Internet Explorer and the non chromium based Edge browsers are not supported\n isBrowserSupported = !/MSIE|Trident|Edge/.test(window.navigator?.userAgent);\n\n feedbackApi = \"\";\n\n created() {\n this.feedbackApi = process.env.VUE_APP_FEEDBACK_API;\n\n axios.interceptors.response.use(undefined, (err: AxiosResponse) => {\n return new Promise(() => {\n if (err.status === 401 && err.config && !err.config.__isRetryRequest) {\n this.$store.dispatch(\"logout\");\n this.$router.push({\n name: `${this.$i18n.locale}-register`,\n params: {\n alertType: \"alert-warning\",\n alertMessage: i18n.t(\"expiredToken\").toString(),\n },\n });\n }\n throw err;\n });\n });\n }\n}\n","import mod from \"-!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/ts-loader/index.js??clonedRuleSet-41[0].rules[0].use[2]!../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/ts-loader/index.js??clonedRuleSet-41[0].rules[0].use[2]!../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=ts&\"","import mod from \"-!../node_modules/@intlify/vue-i18n-loader/lib/index.js!../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./App.vue?vue&type=custom&index=0&blockType=i18n\"; export default mod; export * from \"-!../node_modules/@intlify/vue-i18n-loader/lib/index.js!../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./App.vue?vue&type=custom&index=0&blockType=i18n\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=2759ac3a&\"\nimport script from \"./App.vue?vue&type=script&lang=ts&\"\nexport * from \"./App.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* custom blocks */\nimport block0 from \"./App.vue?vue&type=custom&index=0&blockType=i18n\"\nif (typeof block0 === 'function') block0(component)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"register\"},[_c('Title',{attrs:{\"title\":_vm.$t('title')}}),_c('MainContent',[(_vm.alert.message)?_c('div',{staticClass:\"alert\",class:_vm.alert.type},[_c('p',[_vm._v(_vm._s(_vm.alert.message))])]):_vm._e(),_c('p',[_vm._v(_vm._s(_vm.$t(\"intro1\")))]),_c('p',[_c('strong',[_vm._v(_vm._s(_vm.$t(\"note\")))]),_vm._v(\" \"+_vm._s(_vm.$t(\"intro2\"))+\" \")]),_c('form',{directives:[{name:\"promise-btn\",rawName:\"v-promise-btn\",value:({ action: 'submit' }),expression:\"{ action: 'submit' }\"}],staticClass:\"register\",attrs:{\"role\":\"form\"},on:{\"submit\":function($event){$event.preventDefault();return _vm.register.apply(null, arguments)}}},[_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"email\"}},[_vm._v(_vm._s(_vm.$t(\"emailLabel\")))]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.email),expression:\"email\"}],staticClass:\"form-control\",attrs:{\"id\":\"email\",\"required\":\"\",\"type\":\"email\",\"placeholder\":_vm.$t('emailPlaceholder')},domProps:{\"value\":(_vm.email)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.email=$event.target.value}}})]),_c('button',{staticClass:\"btn btn-primary\",attrs:{\"type\":\"submit\"}},[_vm._v(\" \"+_vm._s(_vm.$t(\"submitLabel\"))+\" \")])])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"col-md-12\"},[_c('h1',{attrs:{\"id\":\"wb-cont\"}},[_vm._v(_vm._s(_vm.title))])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\nimport { Component, Prop, Vue } from \"vue-property-decorator\";\n\n@Component\nexport default class Title extends Vue {\n @Prop() readonly title!: string;\n}\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??clonedRuleSet-41[0].rules[0].use[2]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Title.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??clonedRuleSet-41[0].rules[0].use[2]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Title.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Title.vue?vue&type=template&id=305d99bb&\"\nimport script from \"./Title.vue?vue&type=script&lang=ts&\"\nexport * from \"./Title.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',{staticClass:\"col-md-12\",attrs:{\"aria-label\":_vm.$t('mainContent')}},[_vm._t(\"default\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\nimport { Component, Vue } from \"vue-property-decorator\";\n\n@Component\nexport default class MainContent extends Vue {}\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??clonedRuleSet-41[0].rules[0].use[2]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./MainContent.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??clonedRuleSet-41[0].rules[0].use[2]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./MainContent.vue?vue&type=script&lang=ts&\"","import mod from \"-!../../node_modules/@intlify/vue-i18n-loader/lib/index.js!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./MainContent.vue?vue&type=custom&index=0&blockType=i18n\"; export default mod; export * from \"-!../../node_modules/@intlify/vue-i18n-loader/lib/index.js!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./MainContent.vue?vue&type=custom&index=0&blockType=i18n\"","import { render, staticRenderFns } from \"./MainContent.vue?vue&type=template&id=55956272&\"\nimport script from \"./MainContent.vue?vue&type=script&lang=ts&\"\nexport * from \"./MainContent.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* custom blocks */\nimport block0 from \"./MainContent.vue?vue&type=custom&index=0&blockType=i18n\"\nif (typeof block0 === 'function') block0(component)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Prop, Vue } from \"vue-property-decorator\";\nimport Title from \"@/components/Title.vue\"; // @ is an alias to /src\nimport MainContent from \"@/components/MainContent.vue\"; // @ is an alias to /src\n\n@Component({\n components: {\n Title,\n MainContent,\n },\n})\nexport default class RegisterView extends Vue {\n @Prop() alertType?: string;\n @Prop() alertMessage?: string;\n\n email = \"\";\n alert = { type: \"\", message: \"\" };\n\n created() {\n if (this.alertType && this.alertMessage) {\n this.alert = { type: this.alertType, message: this.alertMessage };\n }\n }\n\n register() {\n const redirectUri =\n this.$i18n.locale === \"fr\"\n ? process.env.VUE_APP_AUTH_REDIRECT_FR\n : process.env.VUE_APP_AUTH_REDIRECT_EN;\n return new Promise((resolve, reject) => {\n this.$store\n .dispatch(\"register\", {\n lang: this.$i18n.locale,\n email: this.email,\n clientId: process.env.VUE_APP_CLIENT_ID,\n redirectUri: redirectUri,\n })\n .then(() => {\n this.$router.push({ name: `${this.$i18n.locale}-thankyou` });\n resolve();\n })\n .catch(() => {\n this.alert = {\n type: \"alert-danger\",\n message: this.$t(\"error\").toString(),\n };\n reject();\n });\n });\n }\n}\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??clonedRuleSet-41[0].rules[0].use[2]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./RegisterView.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??clonedRuleSet-41[0].rules[0].use[2]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./RegisterView.vue?vue&type=script&lang=ts&\"","import mod from \"-!../../node_modules/@intlify/vue-i18n-loader/lib/index.js!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./RegisterView.vue?vue&type=custom&index=0&blockType=i18n\"; export default mod; export * from \"-!../../node_modules/@intlify/vue-i18n-loader/lib/index.js!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./RegisterView.vue?vue&type=custom&index=0&blockType=i18n\"","import { render, staticRenderFns } from \"./RegisterView.vue?vue&type=template&id=758f5008&\"\nimport script from \"./RegisterView.vue?vue&type=script&lang=ts&\"\nexport * from \"./RegisterView.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* custom blocks */\nimport block0 from \"./RegisterView.vue?vue&type=custom&index=0&blockType=i18n\"\nif (typeof block0 === 'function') block0(component)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"reporting\"},[_c('MainContent',[_c('BreachReport')],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"breach-report\"},[_c('vue-loading-overlay',{attrs:{\"active\":_vm.isLoading,\"can-cancel\":false,\"is-full-page\":false,\"loader\":\"dots\"},on:{\"update:active\":function($event){_vm.isLoading=$event}}}),_c('survey',{attrs:{\"survey\":_vm.survey.model}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Converter } from \"showdown\";\nimport {\n defaultActionBarCss,\n defaultBootstrapCss,\n settings,\n surveyLocalization,\n Action,\n ActionContainer,\n Base,\n MatrixDropdownRowModelBase,\n MatrixRowModel,\n Model,\n PageModel,\n Question,\n QuestionMatrixDropdownModelBase,\n QuestionMatrixModel,\n StylesManager,\n SurveyError,\n} from \"survey-vue\";\n\nexport class SurveyBase {\n private static locale: \"en\" | \"fr\";\n\n readonly model: Model;\n\n private readonly converter = new Converter({\n simpleLineBreaks: true,\n tasklists: true,\n openLinksInNewWindow: true,\n });\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n public constructor() {\n // Theme changes need to be applied before the model is initialized\n this.setSurveyTheme();\n this.registerWidgets();\n\n this.model = new Model();\n this.model.locale = SurveyBase.locale as string;\n surveyLocalization.currentLocale = this.model.locale;\n\n this.setSurveyLocalizations();\n this.setSurveyProperties();\n }\n\n public get isPreviewShowing(): boolean {\n return this.model.getPropertyValue(\"isShowingPreview\", false);\n }\n\n public displayErrorSummary(\n questionErrors: Map\n ): void {\n const summaryId = \"errors\";\n\n // If there's already an error summary, remove it\n let summary = document.getElementById(summaryId);\n if (summary) {\n summary.remove();\n }\n\n // If there aren't any errors, exit\n if (questionErrors.size === 0) {\n return;\n }\n\n const errorText = this.model.getLocalizationString(\"errorText\");\n\n // Create and populate the error summary\n summary = document.createElement(\"section\");\n summary.id = summaryId;\n summary.className = \"alert alert-danger\";\n\n let index = 1;\n const list = document.createElement(\"ul\");\n questionErrors.forEach((errors: SurveyError[], question: Question) => {\n const title = document.createElement(\"div\");\n title.innerHTML = question.processedTitle;\n\n const inputId = this.getInputId(question);\n for (const error of errors) {\n const item = document.createElement(\"li\");\n const link = document.createElement(\"a\");\n link.href = `#${inputId}`;\n link.innerText = `${errorText} ${index++}: ${\n title.innerText\n } - ${error.getText()}`;\n item.appendChild(link);\n list.appendChild(item);\n }\n });\n\n const errorCount = index - 1;\n const localizationKey =\n errorCount > 1 ? \"validationErrors\" : \"validationError\";\n const validationError = this.model.getLocalizationFormatString(\n localizationKey,\n errorCount\n );\n\n // Set the error summary's title\n const header = document.createElement(\"h2\");\n header.innerText = validationError;\n\n summary.appendChild(header);\n summary.appendChild(list);\n\n // Insert the error summary after the page's heading\n const heading = document.querySelector(\".sv_page_title\");\n if (heading) {\n heading.parentNode?.insertBefore(summary, heading.nextSibling);\n heading.scrollIntoView();\n }\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n public loadSurveyFromJSON(json: any, data?: any) {\n // Preset data\n if (data) {\n this.model.data = data;\n }\n\n // Load survey model from JSON\n this.model.fromJSON(json);\n\n this.registerCustomProperties();\n this.registerEventHandlers();\n this.registerFunctions();\n }\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n protected registerWidgets(): void {}\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n protected registerFunctions(): void {}\n\n protected registerEventHandlers(): void {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n this.model.onAfterRenderQuestion.add((sender: Model, options: any) => {\n this.handleOnAfterRenderQuestion(sender, options);\n });\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n this.model.onCurrentPageChanged.add((sender: Model, options: any) => {\n this.handleOnCurrentPageChanged(sender, options);\n });\n\n this.model.onLocaleChangedEvent.add((sender: Model, locale: any) => {\n this.handleOnLocaleChanged(sender, locale);\n });\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n this.model.onPageAdded.add((sender: Model, options: any) => {\n this.handleOnPageAdded(sender, options);\n });\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n this.model.onTextMarkdown.add((sender: Model, options: any) => {\n this.handleOnTextMarkdown(sender, options);\n });\n\n this.model.onValidatedErrorsOnCurrentPage.add(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (sender: Model, options: any) => {\n this.handleOnValidatedErrorsOnCurrentPage(sender, options);\n }\n );\n }\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n protected registerCustomProperties(): void {}\n\n private getInputId(question: Question): string {\n let inputId = question.inputId;\n const questionType = question.getType();\n\n if (questionType === \"radiogroup\" || questionType === \"checkbox\") {\n inputId = `${inputId}_0`;\n } else if (questionType === \"matrix\") {\n const matrixQuestion = question as QuestionMatrixModel;\n const firstRow = matrixQuestion.visibleRows[0] as MatrixRowModel;\n inputId = `${inputId}_${firstRow.name}_0`;\n } else if (\n questionType === \"matrixdynamic\" ||\n questionType === \"matrixdropdown\"\n ) {\n const matrixQuestion = question as QuestionMatrixDropdownModelBase;\n const firstRow = matrixQuestion\n .visibleRows[0] as MatrixDropdownRowModelBase;\n const firstQuestion = firstRow.questions[0];\n inputId = this.getInputId(firstQuestion);\n }\n\n return inputId;\n }\n\n protected setSurveyLocalizations(): void {\n // Override surveyjs strings\n surveyLocalization.locales[\"en\"].otherItemText = \"Other\";\n surveyLocalization.locales[\"en\"].requiredError = \"This field is required\";\n\n surveyLocalization.locales[\"fr\"].addPanel = \"Ajouter une nouvelle ligne\";\n surveyLocalization.locales[\"fr\"].chooseFile = \"Ajouter le(s) fichier(s)...\";\n surveyLocalization.locales[\"fr\"].chooseFileCaption =\n \"Sélectionner un fichier\";\n surveyLocalization.locales[\"fr\"].clearCaption = \"Effacer\";\n surveyLocalization.locales[\"fr\"].completingSurveyBefore =\n \"Nos dossiers indiquent que vous avez déjà rempli ce questionnaire.\";\n surveyLocalization.locales[\"fr\"].emptyRowsText = \"Il n'y a aucune ligne.\";\n surveyLocalization.locales[\"fr\"].exceedMaxSize =\n \"La taille du fichier ne doit pas dépasser {0}\";\n surveyLocalization.locales[\"fr\"].invalidEmail =\n \"Entrez une adresse de courriel valide.\";\n surveyLocalization.locales[\"fr\"].invalidExpression =\n \"L'expression : {0} doit donner la valeur 'true'.\";\n surveyLocalization.locales[\"fr\"].loadingFile = \"Téléchargement...\";\n surveyLocalization.locales[\"fr\"].maxError =\n \"Le nombre ne doit pas être supérieur à {0}\";\n surveyLocalization.locales[\"fr\"].maxSelectError =\n \"Sélectionnez pas plus de {0} réponse(s).\";\n surveyLocalization.locales[\"fr\"].minError =\n \"Le nombre ne doit pas être inférieur à {0}\";\n surveyLocalization.locales[\"fr\"].minSelectError =\n \"Sélectionnez au moins {0} réponse(s).\";\n surveyLocalization.locales[\"fr\"].modalApplyButtonText = \"Appliquer\";\n surveyLocalization.locales[\"fr\"].modalCancelButtonText = \"Annuler\";\n surveyLocalization.locales[\"fr\"].multipletext_itemname = \"texte\";\n surveyLocalization.locales[\"fr\"].noFileChosen = \"Aucun fichier sélectionné\";\n surveyLocalization.locales[\"fr\"].otherItemText = \"Autre\";\n surveyLocalization.locales[\"fr\"].panelDynamicProgressText =\n \"Enregistrement {0} de {1}\";\n surveyLocalization.locales[\"fr\"].progressText = \"Page {0} de {1}\";\n surveyLocalization.locales[\"fr\"].removeFileCaption = \"Supprimer ce fichier\";\n surveyLocalization.locales[\"fr\"].requiredError =\n \"Ce champ est obligatoire.\";\n surveyLocalization.locales[\"fr\"].requiredInAllRowsError =\n \"Ces champs sont obligatoires.\";\n surveyLocalization.locales[\"fr\"].savingDataError =\n \"Une erreur s'est produite et a empêché la sauvegarde des résultats.\";\n surveyLocalization.locales[\"fr\"].selectAllItemText = \"Sélectionner tout\";\n surveyLocalization.locales[\"fr\"].signaturePlaceHolder = \"Signer ici\";\n surveyLocalization.locales[\"fr\"].uploadingFile =\n \"Votre fichier est en cours de téléchargement. Merci de patienter quelques secondes et de réessayer.\";\n surveyLocalization.locales[\"fr\"].urlGetChoicesError =\n \"La requête indique un champ de données vide ou la propriété 'path' est incorrecte\";\n surveyLocalization.locales[\"fr\"].urlRequestError =\n \"La requête a généré une erreur '{0}'. {1}\";\n\n // Define custom localizable strings\n surveyLocalization.locales[\"en\"].errorText = \"Error\";\n surveyLocalization.locales[\"en\"].requiredText = \"(required)\";\n surveyLocalization.locales[\"en\"].validationError =\n \"The form could not be submitted because {0} error was found.\";\n surveyLocalization.locales[\"en\"].validationErrors =\n \"The form could not be submitted because {0} errors were found.\";\n\n surveyLocalization.locales[\"fr\"].errorText = \"Erreur\";\n surveyLocalization.locales[\"fr\"].requiredText = \"(obligatoire)\";\n surveyLocalization.locales[\"fr\"].validationError =\n \"Le formulaire n'a pu être soumis car {0} erreur a été trouvée.\";\n surveyLocalization.locales[\"fr\"].validationErrors =\n \"Le formulaire n'a pu être soumis car {0} erreurs ont été trouvées.\";\n }\n\n private setSurveyProperties(): void {\n settings.titleTags.page = \"h1\";\n settings.titleTags.panel = \"label\";\n settings.titleTags.question = \"label\";\n\n // Apply button group class to actions in the navigation bar.\n const container = (this.model as any).navigationBarValue as ActionContainer;\n const actions = container.actions as Array;\n actions.forEach((x) => {\n x.css = \"btn-group\";\n });\n\n this.model.clearInvisibleValues = \"onHiddenContainer\"; // Clear the question value when it or its parent (page or panel) becomes invisible. If a question has value and it was invisible initially then survey clears the value on completing.\n this.model.focusOnFirstError = false;\n this.model.questionErrorLocation = \"top\";\n this.model.requiredText = this.model.getLocalizationString(\"requiredText\");\n this.model.showCompletedPage = true;\n this.model.showPreviewBeforeComplete = \"showAllQuestions\"; // Allow respondents to preview answers before submitting the survey results.\n this.model.showProgressBar = \"bottom\";\n this.model.showQuestionNumbers = \"off\";\n this.model.storeOthersAsComment = false; // Gets or sets whether the \"Others\" option text is stored as question comment.\n this.model.questionTitlePattern = \"numTitle\"; // Remove the required text from question titles since we'll handle it manually.\n }\n\n private setSurveyTheme(): void {\n // Override the main-color to match the theme\n StylesManager.ThemeColors[\"bootstrap\"][\"$main-color\"] = \"#00627e\";\n\n // Override the font-family of the sv-list to match the style\n const listStyle = StylesManager.Styles[\".sv-list\"];\n if (listStyle) {\n const pattern = /font-family:.+?;/gi;\n StylesManager.Styles[\".sv-list\"] = listStyle.replace(pattern, \"\");\n }\n\n // The background color of selected item in dropdown is not set in survey-vue 1.9.44\n StylesManager.Styles[\".sv-list__item--selected\"] =\n \"background-color: #007bff; color: #fff;\";\n\n // The background color of the boolean switch is not set for some reason\n StylesManager.Styles[\".sv-boolean__switch\"] =\n \"background-color: rgb(0, 98, 126)\";\n\n // The boolean thumb ghost class is in diplay: block, causing line breaks we don't want for boolean switches\n StylesManager.Styles[\".sv-boolean__thumb-ghost\"] = \"display: inline\";\n\n // The background color of the boolean switch slider is not set for some reason\n StylesManager.Styles[\".sv-boolean__slider\"] = \"background-color: white\";\n\n // Better indentation of descriptions\n StylesManager.Styles[\".sv_p_description\"] = \"padding-left: 16px\";\n\n // Set Theme\n StylesManager.applyTheme(\"bootstrap\");\n\n // Override defaultActionBarCss Properties\n defaultActionBarCss.root = \"btn-toolbar\";\n defaultActionBarCss.item = \"\";\n\n // Override defaultBootstrapCss Properties\n defaultBootstrapCss.error.icon = \"\";\n defaultBootstrapCss.error.item = \"label label-danger\";\n defaultBootstrapCss.error.root = \"\";\n defaultBootstrapCss.matrixdynamic.buttonAdd = \"btn btn-default\";\n defaultBootstrapCss.matrixdynamic.buttonRemove = \"btn btn-danger\";\n defaultBootstrapCss.navigationButton = \"btn\";\n defaultBootstrapCss.navigation.complete = \"btn-primary\";\n defaultBootstrapCss.navigation.edit = \"btn-primary\";\n defaultBootstrapCss.navigation.next = \"btn-primary\";\n defaultBootstrapCss.navigation.prev = \"btn-default\";\n defaultBootstrapCss.navigation.preview = \"btn-primary\";\n defaultBootstrapCss.navigation.start = \"btn-primary\";\n defaultBootstrapCss.page.title = \"sv_page_title\";\n defaultBootstrapCss.panel.container = \"sv_p_container well\";\n defaultBootstrapCss.paneldynamic.buttonAdd = \"btn btn-default\";\n defaultBootstrapCss.paneldynamic.buttonRemove = \"btn btn-danger\";\n defaultBootstrapCss.progressTextInBar = \"\";\n defaultBootstrapCss.question.description = \"\";\n defaultBootstrapCss.question.mainRoot = \"sv_qstn form-group\";\n defaultBootstrapCss.question.title = \"sv_q_title\";\n defaultBootstrapCss.question.titleRequired = \"required\";\n defaultBootstrapCss.question.requiredText = \"required\";\n defaultBootstrapCss.radiogroup.root = \"form-inline\";\n defaultBootstrapCss.panel.description = \"sv_p_description\";\n defaultBootstrapCss.page.description = \"\";\n\n // This new property does not seem to be in the typings yet. It may never be due to bootstrap support getting removed\n // Removing the chracter counter for now as it affects the look too much\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (defaultBootstrapCss.question as any).remainingCharacterCounter = \"hide\";\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unused-vars\n private handleOnCurrentPageChanged(sender: Model, options: any): void {\n // Scroll page back to top on page changed\n document.querySelector(\"main[role='main']\")?.scrollIntoView();\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private handleOnAfterRenderQuestion(sender: Model, options: any): void {\n const question = options.question as Question;\n\n const html = options.htmlElement as HTMLElement;\n const heading = html?.querySelector(\".sv_q_title\");\n\n if (heading) {\n // Unwrap the divs contained within the heading to fix alignment with required field asterisk\n let div = heading.querySelector(\"div\");\n while (div) {\n div.outerHTML = div.innerHTML;\n div = heading.querySelector(\"div\");\n }\n const appendRequiredText = function () {\n const required = document.createElement(\"strong\");\n required.className = defaultBootstrapCss.question.requiredText;\n required.innerText = sender.getLocalizationString(\"requiredText\");\n heading.appendChild(required);\n };\n\n // Appends the required text to the heading\n if (question.isRequired) {\n appendRequiredText();\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n question.onPropertyChanged.add((question: Base, options: any) => {\n if (options.name !== \"isRequired\") {\n return;\n }\n\n // Update the required text in the heading\n const isRequired = options.newValue as boolean;\n if (isRequired) {\n appendRequiredText();\n } else {\n const required = heading.querySelector(\n `strong.${defaultBootstrapCss.question.requiredText}`\n );\n required?.remove();\n }\n });\n }\n\n // Added spacing to radio label\n if (question.getType() === \"radiogroup\") {\n html\n .querySelectorAll(\"fieldset span.sv-string-viewer\")\n .forEach((value) => {\n value.innerText = ` ${value.innerText}`;\n });\n }\n }\n\n private handleOnLocaleChanged(sender: Model, locale: string): void {\n this.model.requiredText = this.model.getLocalizationString(\"requiredText\");\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private handleOnPageAdded(sender: Model, options: any): void {\n const page = options.page as PageModel;\n\n // Check if the added page is the preview page\n if (page.name !== \"all\") {\n return;\n }\n\n // Set the page title otherwise, it won't be rendered\n page.title = sender.previewText;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private handleOnTextMarkdown(sender: Model, options: any): void {\n // convert the markdown text to html\n let str = this.converter.makeHtml(options.text);\n\n // remove root paragraphs

\n if (options.name !== \"description\") {\n str = str.substring(str.indexOf(\">\") + 1);\n str = str.substring(0, str.lastIndexOf(\"<\"));\n }\n\n // set html\n options.html = str;\n }\n\n private handleOnValidatedErrorsOnCurrentPage(\n sender: Model,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n options: any\n ): void {\n const questions = options.questions as Question[];\n\n const questionErrors = new Map();\n for (const question of questions) {\n questionErrors.set(question, question.errors);\n }\n\n this.displayErrorSummary(questionErrors);\n }\n}\n","import { Question } from \"survey-vue\";\n\nexport abstract class WidgetBase {\n /**\n * The widget name. It should be unique and written in lowcase.\n */\n protected readonly name: string;\n\n /**\n * The widget title. It is how it will appear on the toolbox of the SurveyJS Editor/Builder.\n */\n protected readonly title: string;\n\n /**\n * The name of the icon on the toolbox. We will leave it empty to use the standard one.\n */\n protected readonly iconName: string;\n\n /**\n * You should use it if your set the isDefaultRender to false.\n */\n protected htmlTemplate = \"\";\n\n /**\n * If you want to use the default question rendering then set this property to true. We do not need any default rendering, we will use our our htmlTemplate\n */\n protected isDefaultRender = true;\n\n /**\n * The type used to render the widget in the PDF.\n */\n protected pdfQuestionType = \"\";\n\n protected activatedBy = \"property\";\n\n /**\n * @param name the widget name. It should be unique and written in lowcase.\n * @param title the widget title. It is how it will appear on the toolbox of the SurveyJS Editor/Builder.\n * @param iconName the name of the icon on the toolbox. We will leave it empty to use the standard one.\n */\n constructor(name: string, title: string, iconName = \"\") {\n this.name = name;\n this.title = title;\n this.iconName = iconName;\n }\n\n /**\n * The main function, rendering and two-way binding.\n *\n * @param question\n * @param el\n */\n // eslint-disable-next-line @typescript-eslint/no-unused-vars, @typescript-eslint/no-empty-function\n afterRender(question: Question, el: HTMLElement): void {}\n\n /**\n * Gets called after the widget has been added to the CustomWidgetCollection.\n */\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n init(): void {}\n\n /**\n * Use it to destroy the widget. It is typically needed by jQuery widgets.\n *\n * @param question\n * @param el\n */\n // eslint-disable-next-line @typescript-eslint/no-unused-vars, @typescript-eslint/no-empty-function\n willUnmount(question: Question, el: HTMLElement): void {}\n\n /**\n * If the widgets depends on third-party library(s) then here you may check if this library(s) is loaded.\n */\n widgetIsLoaded(): boolean {\n return true;\n }\n\n /**\n * Use this function to create a new class or add new properties or remove unneeded properties from your widget.\n *\n * @param activatedBy Tells how your widget has been activated by: property, type or customType.\n * property - It means that it will activated if a property of the existing question type is set to particular value, for example inputType = \"date\".\n * type - You are changing the behaviour of entire question type. For example render radiogroup question differently, have a fancy radio buttons.\n * customType - You are creating a new type, like in our example \"textwithbutton\".\n */\n activatedByChanged(activatedBy: string): void {\n this.activatedBy = activatedBy;\n }\n\n /**\n * SurveyJS library calls this function for every question to check, if it should use this widget instead of default rendering/behavior.\n *\n * @param question\n */\n abstract isFit(question: Question): boolean;\n}\n","import { WidgetBase } from \"./widget-base\";\nimport {\n CustomWidgetCollection,\n JsonObject,\n Question,\n QuestionHtmlModel,\n} from \"survey-vue\";\n\nexport class AlertWidget extends WidgetBase {\n isDefaultRender = false;\n\n constructor() {\n super(\n \"alert\",\n \"Provide contextual feedback messages for typical user actions\"\n );\n }\n\n static register(): void {\n const widget: AlertWidget = new AlertWidget();\n\n // If activatedBy isn't passed, it will default to property.\n CustomWidgetCollection.Instance.addCustomWidget(widget, widget.activatedBy);\n }\n\n /**\n * Use this function to create a new class or add new properties or remove unneeded properties from your widget.\n *\n * @param activatedBy Tells how your widget has been activated by: property, type or customType.\n * property - It means that it will activated if a property of the existing question type is set to particular value, for example inputType = \"date\".\n * type - You are changing the behaviour of entire question type. For example render radiogroup question differently, have a fancy radio buttons.\n * customType - You are creating a new type, like in our example \"textwithbutton\".\n */\n activatedByChanged(activatedBy: string): void {\n super.activatedByChanged(activatedBy);\n\n if (activatedBy === \"property\") {\n const property = JsonObject.metaData.findProperty(\"html\", \"renderAs\");\n const choices = property.getChoices(null) ?? [property.defaultValue];\n\n if (!choices.some((choice) => choice === this.name)) {\n choices.push(this.name);\n property.setChoices(choices);\n }\n\n JsonObject.metaData.addProperty(\"html\", {\n dependsOn: \"renderAs\",\n name: \"alertType:string\",\n category: \"general\",\n default: \"alert-info\",\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n visibleIf: function (obj: any) {\n return obj.renderAs == this.name;\n },\n });\n }\n }\n\n /**\n * The main function, rendering and two-way binding.\n *\n * @param question\n * @param el\n */\n afterRender(question: Question, el: HTMLElement): void {\n const hasTitle = question.title !== question.name;\n\n const alert = hasTitle\n ? document.createElement(\"section\")\n : document.createElement(\"div\");\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const alertType = (question as any).alertType;\n alert.className = `alert ${alertType}`;\n\n if (hasTitle) {\n const heading = document.createElement(\"h3\");\n heading.innerText = question.title;\n alert.appendChild(heading);\n }\n\n const htmlQuestion = question as QuestionHtmlModel;\n alert.innerHTML += htmlQuestion.html;\n\n el.appendChild(alert);\n }\n\n /**\n * SurveyJS library calls this function for every question to check, if it should use this widget instead of default rendering/behavior.\n *\n * @param question\n */\n isFit(question: Question): boolean {\n if (this.activatedBy === \"property\") {\n return question.renderAs === this.name && question.getType() === \"html\";\n }\n return false;\n }\n}\n","import { Converter } from \"showdown\";\nimport { ChoicesRestful, Model, QuestionFileModel } from \"survey-core\";\nimport { IDocOptions, SurveyPDF } from \"survey-pdf\";\n\nexport class SurveyPDFBase {\n protected options: IDocOptions = {\n commercial: true,\n htmlRenderAs: \"standard\",\n };\n\n protected readonly model: SurveyPDF;\n\n private readonly converter = new Converter({\n simpleLineBreaks: true,\n tasklists: true,\n openLinksInNewWindow: true,\n });\n\n private requiredText = \"\";\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n public constructor(json: any, data: any) {\n this.model = new SurveyPDF({}, this.options);\n\n this.setSurveyLocalizations();\n\n this.registerWidgets();\n\n this.registerCustomProperties();\n this.registerEventHandlers();\n\n this.model.data = data;\n this.model.fromJSON(json);\n\n this.setSurveyProperties();\n }\n\n public raw(type?: string): Promise {\n return this.model.raw(type);\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n public save(fileName?: string): Promise {\n return this.model.save(fileName);\n }\n\n protected registerEventHandlers(): void {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n this.model.onGetQuestionTitle.add((sender: Model, options: any) =>\n this.handleOnGetQuestionTitle(sender, options)\n );\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n this.model.onProcessHtml.add((sender: Model, options: any) => {\n this.handleOnProcessHtml(sender, options);\n });\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n this.model.onTextMarkdown.add((sender: Model, options: any) => {\n this.handleOnTextMarkdown(sender, options);\n });\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n this.model.onQuestionAdded.add((sender: Model, options: any) => {\n this.handleOnQuestionAdded(sender, options);\n });\n }\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n protected registerCustomProperties(): void {\n ChoicesRestful.EncodeParameters = false;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n protected registerWidgets(): void {}\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n private setSurveyLocalizations(): void {}\n\n private setSurveyProperties(): void {\n this.model.mode = \"display\";\n\n // Remove the required text as we'll be concatenating it with the title to remove a formatting bug\n this.requiredText = this.model.requiredText;\n this.model.requiredText = \"\";\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private handleOnGetQuestionTitle(sender: Model, options: any): void {\n if (options.question.isRequired && this.requiredText) {\n options.title += ` ${this.requiredText}`;\n }\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private handleOnProcessHtml(sender: Model, options: any): void {\n // Replaces HTML entities with their textual representation\n options.html = this.decodeEntities(options.html);\n\n // Replaces Unicode characters with their ASCII representation\n options.html = this.replaceUnicode(options.html);\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private handleOnTextMarkdown(sender: Model, options: any): void {\n // convert the markdown text to html\n let str = this.converter.makeHtml(options.text);\n\n // remove root paragraphs

\n if (options.name !== \"description\") {\n str = str.substring(str.indexOf(\">\") + 1);\n str = str.substring(0, str.lastIndexOf(\"<\"));\n }\n\n // Replaces HTML entities with their textual representation\n str = this.decodeEntities(str);\n\n // Replaces Unicode characters with their ASCII representation\n str = this.replaceUnicode(str);\n\n // set html\n options.html = str;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private handleOnQuestionAdded(sender: Model, options: any): void {\n const question = options.question;\n\n if (question.getType() !== \"file\") {\n return;\n }\n\n const fileQuestion = question as QuestionFileModel;\n\n // Remove the content to avoid the file being stored in the rendered PDF\n fileQuestion.previewValue = fileQuestion.previewValue.map(\n (item: { name: string; type: string; content: string }) => ({\n name: item.name,\n type: item.type,\n content: \"\",\n })\n );\n }\n\n private decodeEntities(input: string): string {\n const element = document.createElement(\"div\");\n return input.replace(/(&\\w+;)/g, (match) => {\n element.innerHTML = match;\n return element.innerText;\n });\n }\n\n private replaceUnicode(input: string): string {\n let output = input;\n output = output.replace(/[\\u2018\\u2019]/g, \"'\"); // single quote\n output = output.replace(/[\\u201C\\u201D]/g, '\"'); // double quote\n output = output.replace(/[\\u2013]/g, \"-\"); // dash\n return output;\n }\n}\n","import { WidgetBase } from \"./widget-base\";\nimport {\n CustomWidgetCollection,\n JsonObject,\n Question,\n Serializer,\n Model,\n PageModel,\n} from \"survey-vue\";\nimport { SurveyPDFBase } from \"@/surveys/survey-pdf-base\";\n\nexport class DownloadWidget extends WidgetBase {\n private readonly defaultFileName = \"summary.pdf\";\n\n isDefaultRender = false;\n htmlTemplate = \"\";\n\n constructor() {\n super(\"download\", \"Button to download survey results to PDF\");\n }\n\n static register(): void {\n const widget: DownloadWidget = new DownloadWidget();\n\n // If activatedBy isn't passed, it will default to property.\n CustomWidgetCollection.Instance.addCustomWidget(widget, widget.activatedBy);\n }\n\n /**\n * Use this function to create a new class or add new properties or remove unneeded properties from your widget.\n *\n * @param activatedBy Tells how your widget has been activated by: property, type or customType.\n * property - It means that it will activated if a property of the existing question type is set to particular value, for example inputType = \"date\".\n * type - You are changing the behaviour of entire question type. For example render radiogroup question differently, have a fancy radio buttons.\n * customType - You are creating a new type, like in our example \"textwithbutton\".\n */\n activatedByChanged(activatedBy: string): void {\n super.activatedByChanged(activatedBy);\n\n if (activatedBy === \"property\") {\n const property = JsonObject.metaData.findProperty(\"html\", \"renderAs\");\n const choices = property.getChoices(null) ?? [property.defaultValue];\n\n if (!choices.some((choice) => choice === this.name)) {\n choices.push(this.name);\n property.setChoices(choices);\n }\n\n Serializer.addProperty(\"html\", {\n dependsOn: \"renderAs\",\n name: \"fileName:text\",\n serializationProperty: \"locFileName\",\n category: \"general\",\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n visibleIf: function (obj: any) {\n return obj.renderAs == this.name;\n },\n });\n }\n }\n\n /**\n * The main function, rendering and two-way binding.\n *\n * @param question\n * @param el\n */\n afterRender(question: Question, el: HTMLElement): void {\n const survey = question.survey as Model;\n const button = el.querySelector(\"button\");\n\n if (button === null) {\n return;\n }\n\n button.innerText = question.title;\n\n button.addEventListener(\"click\", () => {\n const model = survey.toJSON();\n\n // If the survey is running in preview mode, we need to send the runningPages\n if ((survey as any).runningPages) {\n model.pages = (survey as any).runningPages.map((p: PageModel) =>\n p.toJSON()\n );\n }\n\n const fileName = question.getLocalizableStringText(\n \"fileName\",\n this.defaultFileName\n );\n const surveyPDF = new SurveyPDFBase(model, survey.data);\n surveyPDF.save(fileName);\n });\n }\n\n /**\n * SurveyJS library calls this function for every question to check, if it should use this widget instead of default rendering/behavior.\n *\n * @param question\n */\n isFit(question: Question): boolean {\n if (this.activatedBy === \"property\") {\n return question.renderAs === this.name && question.getType() === \"html\";\n }\n return false;\n }\n}\n","import axios from \"axios\";\nimport jquery from \"jquery\";\nimport \"jquery-ui/ui/widgets/datepicker\";\nimport \"jquery-ui/ui/i18n/datepicker-fr-CA\";\nimport \"jquery-ui/themes/base/theme.css\";\nimport \"jquery-ui/themes/base/datepicker.css\";\nimport { Model, ChoicesRestful, surveyLocalization } from \"survey-vue\";\nimport * as Survey from \"survey-vue\";\nimport * as widgets from \"surveyjs-widgets\";\nimport i18n from \"@/i18n\";\nimport { SurveyBase } from \"@/surveys/survey-base\";\nimport { AlertWidget } from \"@/surveys/widgets/alert-widget\";\nimport { DownloadWidget } from \"@/surveys/widgets/download-widget\";\nimport { isPossiblePhoneNumber } from \"libphonenumber-js\";\n\nexport class BreachSurvey extends SurveyBase {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n public constructor() {\n super();\n\n // Disable encoding of parameters so that we can use a variable to set the URL endpoint\n ChoicesRestful.EncodeParameters = false;\n }\n\n public files: { name: string; content: string }[] = [];\n\n protected registerWidgets(): void {\n const datepickerLocale = i18n.locale === \"fr\" ? \"fr-CA\" : \"en\";\n jquery.datepicker.setDefaults(jquery.datepicker.regional[datepickerLocale]);\n\n // SurveyJS Widgets\n widgets.jqueryuidatepicker(Survey);\n\n // Custom Widgets\n AlertWidget.register();\n DownloadWidget.register();\n }\n\n protected registerFunctions(): void {\n Survey.FunctionFactory.Instance.register(\n \"ValidatePhoneNumber\",\n this.ValidatePhoneNumber\n );\n\n Survey.FunctionFactory.Instance.register(\n \"ValidatePostalCode\",\n this.ValidatePostalCode\n );\n }\n\n protected setSurveyLocalizations(): void {\n super.setSurveyLocalizations();\n\n surveyLocalization.locales[\"en\"].completeText = \"Submit\";\n surveyLocalization.locales[\"fr\"].completeText = \"Soumettre\";\n }\n\n protected registerEventHandlers(): void {\n super.registerEventHandlers();\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n this.model.onLoadChoicesFromServer.add((sender: Model, options: any) => {\n this.handleOnLoadChoicesFromServer(sender, options);\n });\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n this.model.onUploadFiles.add((sender: Model, options: any) => {\n this.handleOnUploadFiles(sender, options);\n });\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n this.model.onServerValidateQuestions.add((sender: Model, options: any) => {\n const promises = [\n this.handleOnServerValidateQuestionsPairing(sender, options),\n this.handleOnServerValidateQuestionsValidation(sender, options),\n ];\n\n Promise.all(promises)\n .then(() => {\n options.complete();\n })\n .catch((err) => {\n console.error(err);\n });\n });\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private handleOnLoadChoicesFromServer(sender: Model, options: any): void {\n const choices = options.choices;\n\n if (Array.isArray(choices) && choices.length == 1) {\n options.question.value = choices[0].value;\n }\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private handleOnUploadFiles(sender: Model, options: any): void {\n const uploadedFiles: {\n file: File;\n content: string | ArrayBuffer | null;\n }[] = [];\n options.files.forEach((file: File) => {\n const reader = new FileReader();\n reader.onload = () => {\n uploadedFiles.push({\n file: file,\n content: reader.result,\n });\n\n // Save file content to cache to check for pipeda pdf\n this.files.push({\n name: file.name,\n content: reader.result,\n });\n\n if (uploadedFiles.length === options.files.length) {\n options.callback(\"success\", uploadedFiles);\n }\n };\n reader.readAsDataURL(file);\n });\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private handleOnServerValidateQuestionsValidation(\n sender: Model,\n options: any\n ): Promise {\n const isShowingPreview = sender.getPropertyValue(\"isShowingPreview\", false);\n if (!isShowingPreview) {\n return Promise.resolve();\n }\n return axios\n .post(`${process.env.VUE_APP_QUESTIONS_API}/validation`, sender.data, {\n params: {\n type: \"pbr-pipeda\",\n },\n })\n .then((resp) => {\n Object.keys(resp.data.errors).forEach((q) => {\n // options.errors in only able to set one error per question\n options.errors[q] = resp.data.errors[q][0];\n });\n\n Promise.resolve();\n })\n .catch((err) => {\n Promise.reject(err);\n });\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private handleOnServerValidateQuestionsPairing(\n sender: Model,\n options: any\n ): Promise {\n const referenceNumber = options.data[\"PairingRefNumber\"];\n const lastName = options.data[\"PairingLastName\"];\n\n if (!referenceNumber || !lastName) {\n return Promise.resolve();\n }\n\n return axios\n .head(`${process.env.VUE_APP_PBR_API}/pipedareport`, {\n params: {\n ReferenceNumber: referenceNumber,\n LastName: lastName,\n },\n })\n .then(() => {\n Promise.resolve();\n })\n .catch((err) => {\n if (err?.response?.status !== 400) {\n Promise.reject(err);\n }\n\n options.errors[\"PairingRefNumber\"] = i18n.t(\"pairingFailed\");\n options.errors[\"PairingLastName\"] = i18n.t(\"pairingFailed\");\n\n Promise.resolve();\n });\n }\n\n public async addPdfFieldsToSurvey(\n pipedaFields: Map,\n survey: Model\n ): Promise {\n const pipedaPdf = Object.fromEntries(pipedaFields);\n const response = await axios.post(\n `${process.env.VUE_APP_PBR_API}/pipedareport/pdf`,\n pipedaPdf\n );\n\n Object.entries(response.data).forEach(([key, value]) => {\n if (value !== null) {\n survey.setValue(key, value);\n }\n });\n }\n\n // Validate local Canadian and international numbers\n private ValidatePhoneNumber(phoneNumberParam: any[]): boolean {\n // Checks whether the phone number is optional\n const optionalValue = phoneNumberParam[1] === true;\n\n // Checks whether the phone number is empty/non-existent, validation depends on whether it is optional or not\n if (!phoneNumberParam[0]) return optionalValue;\n\n const phoneNumber = String(phoneNumberParam[0]);\n\n return (\n isPossiblePhoneNumber(phoneNumber) ||\n isPossiblePhoneNumber(phoneNumber, \"CA\")\n );\n }\n\n // Validate Canadian and US postal codes only. Anything else goes\n private ValidatePostalCode(param: string[]): boolean {\n const postalCode = param[0];\n const countryCode = param[1];\n\n const usPostalCodePattern = /^\\d{5}(?:-*\\s*\\d{4})?$/;\n const canadaPostalCodePattern =\n /^([ABCEGHJKLMNPRSTVXY]\\d[ABCEGHJKLMNPRSTVWXYZ])\\s*(\\d[ABCEGHJKLMNPRSTVWXYZ]\\d)$/i;\n\n if (countryCode === \"CA\") {\n return canadaPostalCodePattern.test(postalCode);\n } else if (countryCode === \"US\") {\n return usPostalCodePattern.test(postalCode);\n }\n\n return true;\n }\n}\n","import {\n PDFDocument,\n PDFField,\n PDFTextField,\n PDFDropdown,\n PDFRadioGroup,\n PDFForm,\n PDFOptionList,\n PDFCheckBox,\n} from \"pdf-lib\";\n\nexport class OpcPdfForm {\n private form: PDFForm;\n\n private constructor(pdfForm: PDFForm) {\n this.form = pdfForm;\n }\n\n public static async initializePdfForm(\n pdfData: string | ArrayBuffer\n ): Promise {\n const pdfDoc = await PDFDocument.load(pdfData);\n const form = pdfDoc.getForm();\n return new OpcPdfForm(form);\n }\n\n public getPdfFields(): Map {\n const formFields = new Map();\n this.form.getFields().forEach((field) => {\n const fieldValue = this.getFieldValue(field);\n\n if (fieldValue) {\n formFields.set(field.getName(), fieldValue);\n }\n });\n return formFields;\n }\n\n public static isPdfFile(dataUrl: string): boolean {\n if (dataUrl === null) {\n return false;\n }\n const fileHasContent = dataUrl.includes(\"base64,\");\n if (!fileHasContent) {\n return false;\n }\n\n // Expect dataUrl to be 'data:**;base64,[base64 content]\n const base64Content = dataUrl.split(\",\")[1];\n const base64PdfPrefix = \"JVBER\";\n return base64Content.startsWith(base64PdfPrefix);\n }\n\n public tryGetTextFieldValue(fieldName: string): string | undefined {\n const field = this.form.getFieldMaybe(fieldName);\n\n if (!field) {\n return undefined;\n }\n try {\n return (field as unknown as PDFTextField).getText();\n } catch (error) {\n console.error(\"The provided field is not a text field\", error);\n }\n return undefined;\n }\n\n private getFieldValue(field: PDFField): string | string[] | undefined {\n if (field instanceof PDFTextField) {\n // Replace carriage returns with single line breaks for PDF formatting bug\n return (field as PDFTextField).getText()?.replace(/\\r+/g, \"\\n\");\n } else if (field instanceof PDFDropdown) {\n return (field as PDFDropdown).getSelected();\n } else if (field instanceof PDFRadioGroup) {\n return (field as PDFRadioGroup).getSelected();\n } else if (field instanceof PDFOptionList) {\n return (field as PDFOptionList).getSelected();\n } else if (field instanceof PDFCheckBox) {\n return (field as PDFCheckBox).isChecked().toString();\n }\n }\n}\n","\n\n\n\n\n\n\n\n\n\n\n\n\nimport axios, { AxiosRequestConfig, Method } from \"axios\";\nimport { Component, Vue } from \"vue-property-decorator\";\nimport { BreachSurvey } from \"@/surveys/breach-survey\";\nimport { Model, PageModel, ActionContainer, Action } from \"survey-vue\";\nimport { SurveyPDFBase } from \"@/surveys/survey-pdf-base\";\nimport { OpcPdfForm } from \"@/opc-pdf-form\";\n\n@Component\nexport default class BreachReport extends Vue {\n survey = new BreachSurvey();\n isLoading = false;\n files: { name: string; content: string }[] = [];\n hasShownPreview = false;\n\n private async handleOnComplete(sender: Model, options: any) {\n this.isLoading = true;\n sender.showCompletedPage = false;\n\n // Reset the Application URL since it was cleared by the survey\n sender.setValue(\"ApplicationUrl\", process.env.VUE_APP_PBR_API);\n const model = sender.toJSON();\n\n // If the survey is running in preview mode, we need to send the runningPages\n if ((sender as any).runningPages) {\n model.pages = (sender as any).runningPages.map((p: PageModel) =>\n p.toJSON()\n );\n }\n\n const surveyPDF = new SurveyPDFBase(model, sender.data);\n const dataUrl = await surveyPDF.raw(\"dataurlstring\");\n\n const file = {\n name: \"survey_result.pdf\",\n type: \"application/pdf\",\n content: dataUrl,\n };\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const files = (sender.getValue(\"Files\") as any[]) || [];\n files.push(file);\n\n // Set the survey summary\n sender.setValue(\"Files\", files);\n sender.setValue(\"Locale\", this.$i18n.locale);\n\n const httpMethod: Method = sender.data.IsNewSubmission ? \"POST\" : \"PUT\";\n const token = this.$store.getters.authToken;\n\n const requestConfig: AxiosRequestConfig = {\n url: `${process.env.VUE_APP_PBR_API}/pipedareport`,\n method: httpMethod,\n headers: {\n Authorization: `Bearer ${token}`,\n \"Content-Type\": \"application/json;charset=UTF-8\",\n },\n data: sender.data,\n };\n\n axios\n .request(requestConfig)\n .then((resp) => {\n options.showDataSavingSuccess();\n if (resp.data) {\n sender.setValue(\"ReferenceNumber\", resp.data.referenceNumber);\n if (!sender.data.IsNewSubmission) {\n sender.setValue(\"SubmitterLastName\", resp.data.submitterLastName);\n sender.setValue(\"SubmitterEmail\", this.$store.getters.user.email);\n }\n }\n })\n .catch((err) => {\n options.showDataSavingError(err?.message);\n })\n .finally(() => {\n sender.showCompletedPage = true;\n this.isLoading = false;\n });\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private async handleOnShowingPreview(\n sender: Model,\n options: any\n ): Promise {\n this.hasShownPreview = true;\n if (sender.getValue(\"SubmissionType\") !== \"pdf\") {\n return;\n }\n\n this.isLoading = true;\n\n // Map Pipeda pdf form to survey if it's uploaded\n for (const file of this.survey.files) {\n if (!OpcPdfForm.isPdfFile(file.content)) {\n continue;\n }\n\n const form = await OpcPdfForm.initializePdfForm(file.content);\n const formId = form.tryGetTextFieldValue(\"FormId\");\n const isPipedaForm = formId && formId === \"PIPEDA PB Report2\";\n\n if (!isPipedaForm) {\n continue;\n }\n\n const fields = form.getPdfFields();\n sender.setValue(\"SubmissionType\", \"online\");\n sender.setValue(\"IsImportedFromFile\", true);\n\n await this.survey.addPdfFieldsToSurvey(fields, sender).finally(() => {\n this.isLoading = false;\n });\n }\n\n this.isLoading = false;\n }\n\n private handleOnCurrentPageChanged(sender: Model, options: any): void {\n const navigationItems = sender.navigationBar as ActionContainer;\n const previewButton = navigationItems.getActionById(\n \"sv-nav-preview\"\n ) as Action;\n\n // Set the preview button on every page when reviewing questions\n if (this.hasShownPreview) {\n this.survey.isPreviewShowing\n ? (previewButton.visible = false)\n : (previewButton.visible = true);\n }\n }\n\n mounted() {\n this.isLoading = true;\n axios\n .get(`${process.env.VUE_APP_QUESTIONS_API}/questions`, {\n params: {\n type: \"pbr-pipeda\",\n },\n })\n .then((resp) => {\n const json = resp.data;\n const data = {\n ApplicationUrl: process.env.VUE_APP_PBR_API,\n };\n\n this.survey.loadSurveyFromJSON(json, data);\n this.survey.model.locale = this.$i18n.locale;\n\n this.survey.model.onComplete.add((sender: Model, options: any) => {\n this.handleOnComplete(sender, options);\n });\n\n this.survey.model.onShowingPreview.add(\n (sender: Model, options: any) => {\n this.handleOnShowingPreview(sender, options);\n }\n );\n\n this.survey.model.onCurrentPageChanged.add(\n (sender: Model, options: any) => {\n this.handleOnCurrentPageChanged(sender, options);\n }\n );\n })\n .catch((err) => {\n let message = err.message;\n if (err.response.status === 400) {\n message = this.$t(\"invalidRequestMessage\");\n }\n this.$store.dispatch(\"logout\");\n this.$router.push({\n name: `${this.$i18n.locale}-register`,\n params: {\n alertType: \"alert-warning\",\n alertMessage: message,\n },\n });\n })\n .finally(() => {\n this.isLoading = false;\n });\n }\n}\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??clonedRuleSet-41[0].rules[0].use[2]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./BreachReport.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??clonedRuleSet-41[0].rules[0].use[2]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./BreachReport.vue?vue&type=script&lang=ts&\"","import mod from \"-!../../node_modules/@intlify/vue-i18n-loader/lib/index.js!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./BreachReport.vue?vue&type=custom&index=0&blockType=i18n\"; export default mod; export * from \"-!../../node_modules/@intlify/vue-i18n-loader/lib/index.js!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./BreachReport.vue?vue&type=custom&index=0&blockType=i18n\"","import { render, staticRenderFns } from \"./BreachReport.vue?vue&type=template&id=6e57de7f&\"\nimport script from \"./BreachReport.vue?vue&type=script&lang=ts&\"\nexport * from \"./BreachReport.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* custom blocks */\nimport block0 from \"./BreachReport.vue?vue&type=custom&index=0&blockType=i18n\"\nif (typeof block0 === 'function') block0(component)\n\nexport default component.exports","\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ReportingView.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ReportingView.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ReportingView.vue?vue&type=template&id=70562441&\"\nimport script from \"./ReportingView.vue?vue&type=script&lang=js&\"\nexport * from \"./ReportingView.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"thank-you\"},[_c('Title',{attrs:{\"title\":_vm.$t('title')}}),_c('MainContent',[_c('p',[_vm._v(_vm._s(_vm.$t(\"intro1\")))]),_c('p',[_vm._v(\" \"+_vm._s(_vm.$t(\"intro2\"))),_c('router-link',{attrs:{\"to\":{ name: _vm.$i18n.locale + '-register' }}},[_vm._v(_vm._s(_vm.$t(\"requestLink\")))]),_vm._v(\". \")],1),_c('p',[_vm._v(\" \"+_vm._s(_vm.$t(\"intro3\"))+\" \"),_c('a',{attrs:{\"href\":_vm.$t('contactUrl')}},[_vm._v(_vm._s(_vm.$t(\"contactLink\")))]),_vm._v(\". \")])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Vue } from \"vue-property-decorator\";\nimport Title from \"@/components/Title.vue\";\nimport MainContent from \"@/components/MainContent.vue\";\n\n@Component({\n components: {\n Title,\n MainContent,\n },\n})\nexport default class ThankYouView extends Vue {}\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??clonedRuleSet-41[0].rules[0].use[2]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ThankYouView.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??clonedRuleSet-41[0].rules[0].use[2]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ThankYouView.vue?vue&type=script&lang=ts&\"","import mod from \"-!../../node_modules/@intlify/vue-i18n-loader/lib/index.js!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ThankYouView.vue?vue&type=custom&index=0&blockType=i18n\"; export default mod; export * from \"-!../../node_modules/@intlify/vue-i18n-loader/lib/index.js!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ThankYouView.vue?vue&type=custom&index=0&blockType=i18n\"","import { render, staticRenderFns } from \"./ThankYouView.vue?vue&type=template&id=71661db2&\"\nimport script from \"./ThankYouView.vue?vue&type=script&lang=ts&\"\nexport * from \"./ThankYouView.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* custom blocks */\nimport block0 from \"./ThankYouView.vue?vue&type=custom&index=0&blockType=i18n\"\nif (typeof block0 === 'function') block0(component)\n\nexport default component.exports","import axios from \"axios\";\nimport jwt_decode from \"jwt-decode\";\nimport Vue from \"vue\";\nimport Vuex, { ActionTree, GetterTree, MutationTree } from \"vuex\";\n\nVue.use(Vuex);\n\ninterface State {\n status: string;\n user: {\n email?: string | undefined;\n };\n token: string;\n}\n\nconst state: State = {\n status: \"\",\n user: {},\n token: localStorage.getItem(\"token\") || \"\",\n};\n\nconst mutations = >{\n authorization_request(state) {\n state.status = \"Authorization Request\";\n },\n authorization_success(state, token) {\n state.status = \"Authorization Success\";\n state.token = token;\n },\n authorization_error(state) {\n state.status = \"Authorization Error\";\n },\n authentication_request(state) {\n state.status = \"Authentication Request\";\n },\n authentication_success(state, token) {\n state.status = \"Authentication Success\";\n state.token = token;\n },\n authentication_error(state) {\n state.status = \"Authentication Error\";\n },\n logout(state) {\n state.user = {};\n state.status = \"\";\n state.token = \"\";\n },\n};\n\nconst actions = >{\n activate({ commit }, data) {\n return new Promise((resolve, reject) => {\n commit(\"authorization_request\");\n axios({\n url: `${process.env.VUE_APP_AUTH_API}/authorize`,\n data: data,\n method: \"POST\",\n })\n .then((resp) => {\n // This is the Access Token. We store the token in local storage for future API calls\n localStorage.setItem(\"token\", resp.data.token);\n axios.defaults.headers.common[\n \"Authorization\"\n ] = `Bearer ${resp.data.token}`;\n commit(\"authorization_success\", resp.data.token);\n resolve();\n })\n .catch((err) => {\n commit(\"authorization_error\");\n reject(err);\n });\n });\n },\n register({ commit }, data) {\n return new Promise((resolve, reject) => {\n commit(\"authentication_request\");\n axios({\n url: `${process.env.VUE_APP_AUTH_API}/anonymousauthenticate`,\n data: data,\n method: \"POST\",\n })\n .then((resp) => {\n // This is the ID Token. We don't need to store the token in local storage for anonymous authentications\n commit(\"authentication_success\", resp.data.token);\n resolve(resp);\n })\n .catch((err) => {\n commit(\"authentication_error\");\n reject(err);\n });\n });\n },\n logout({ commit }) {\n return new Promise((resolve) => {\n commit(\"logout\");\n localStorage.removeItem(\"token\");\n delete axios.defaults.headers.common[\"Authorization\"];\n resolve();\n });\n },\n};\n\nconst getters = >{\n user: (state) => {\n if (state.token) {\n // Decode the token to get some user information.\n const decoded = jwt_decode(state.token) as { sub: string };\n const user = {\n email: decoded.sub,\n };\n return user;\n } else {\n return {};\n }\n },\n authToken: (state) => state.token,\n isAuthorized: (state) => !!state.token,\n authStatus: (state) => state.status,\n};\n\nexport default new Vuex.Store({\n strict: true,\n state: state,\n getters: getters,\n mutations: mutations,\n actions: actions,\n});\n","import axios from \"axios\";\nimport Vue from \"vue\";\nimport VueRouter, { NavigationGuardNext, Route, RouteConfig } from \"vue-router\";\nimport RegisterView from \"@/views/RegisterView.vue\";\nimport ReportingView from \"@/views/ReportingView.vue\";\nimport ThankYouView from \"@/views/ThankYouView.vue\";\nimport i18n from \"@/i18n\";\nimport NProgress from \"nprogress\";\nimport \"nprogress/nprogress.css\";\nimport store from \"@/store\";\n\nVue.use(VueRouter);\n\nconst routes: Array = [\n {\n path: \"\",\n redirect: \"/en/register\",\n },\n {\n path: \"/api/*\",\n },\n {\n path: \"/en\",\n redirect: \"/en/register\",\n },\n {\n path: \"/fr\",\n redirect: \"/fr/inscription\",\n },\n {\n path: \"/:lang/register\",\n name: \"en-register\",\n component: RegisterView,\n props: true,\n meta: {\n lngRoute: \"fr-register\",\n },\n },\n {\n path: \"/:lang/inscription\",\n name: \"fr-register\",\n component: RegisterView,\n props: true,\n meta: {\n lngRoute: \"en-register\",\n },\n },\n {\n path: \"/:lang/thankyou\",\n name: \"en-thankyou\",\n component: ThankYouView,\n meta: {\n lngRoute: \"fr-thankyou\",\n },\n },\n {\n path: \"/:lang/merci\",\n name: \"fr-thankyou\",\n component: ThankYouView,\n meta: {\n lngRoute: \"en-thankyou\",\n },\n },\n {\n path: \"/:lang/activate\",\n name: \"en-activate\",\n beforeEnter: activate,\n component: ReportingView,\n },\n {\n path: \"/:lang/activer\",\n name: \"fr-activate\",\n beforeEnter: activate,\n component: ReportingView,\n },\n {\n path: \"/:lang/reporting\",\n name: \"en-reporting\",\n component: ReportingView,\n meta: {\n lngRoute: \"fr-reporting\",\n requiresAuth: true,\n },\n },\n {\n path: \"/:lang/rapport\",\n name: \"fr-reporting\",\n component: ReportingView,\n meta: {\n lngRoute: \"en-reporting\",\n requiresAuth: true,\n },\n },\n {\n path: \"*\",\n beforeEnter() {\n window.location.href = \"https://www.priv.gc.ca/404\";\n },\n },\n];\n\nfunction activate(\n to: Route,\n from: Route,\n next: NavigationGuardNext\n): void {\n const token = to.query.token;\n store\n .dispatch(\"activate\", {\n token,\n })\n .then(() => {\n next({\n name: `${i18n.locale}-reporting`,\n params: { lang: i18n.locale },\n });\n })\n .catch((err) => {\n let message = err.message;\n if (err.response.status === 403) {\n message = i18n.t(\"invalidToken\");\n }\n next({\n name: `${i18n.locale}-register`,\n params: {\n lang: i18n.locale,\n alert: message,\n },\n });\n });\n}\n\nconst router = new VueRouter({\n mode: \"history\",\n base: process.env.BASE_URL,\n routes,\n});\n\nrouter.beforeResolve((to, from, next) => {\n // If this isn't an initial page load.\n if (to.name) {\n // Start the route progress bar\n NProgress.start();\n }\n next();\n});\n\nrouter.beforeEach((to, from, next) => {\n const lang = to.params.lang ?? process.env.VUE_APP_I18N_LOCALE;\n\n i18n.locale = lang;\n axios.defaults.headers.common[\"Accept-Language\"] = lang;\n document.querySelector(\"html\")?.setAttribute(\"lang\", lang);\n\n if (to.matched.some((record) => record.meta.requiresAuth)) {\n if (store.getters.isAuthorized) {\n next();\n return;\n }\n next({\n name: `${i18n.locale}-register`,\n params: {\n lang: i18n.locale,\n alertType: \"alert-warning\",\n alertMessage: i18n.t(\"notAuthorized\").toString(),\n },\n });\n } else {\n next();\n }\n});\n\nrouter.afterEach(() => {\n // Complete the animation of the route progress bar\n NProgress.done();\n});\n\nexport default router;\n","import axios from \"axios\";\nimport \"element-remove\";\nimport Vue from \"vue\";\nimport App from \"./App.vue\";\nimport router from \"./router\";\nimport store from \"./store\";\nimport i18n from \"./i18n\";\nimport Loading from \"vue-loading-overlay\";\nimport \"vue-loading-overlay/dist/vue-loading.css\";\nimport NProgress from \"nprogress\";\nimport \"nprogress/nprogress.css\";\nimport VuePromiseBtn from \"vue-promise-btn\";\nimport \"vue-promise-btn/dist/vue-promise-btn.css\";\n\nVue.use(Loading);\nVue.component(\"vue-loading-overlay\", Loading);\n\nVue.use(VuePromiseBtn);\n\n// Before an HTTP request is made, start nprogress but end it when encountering an error\naxios.interceptors.request.use(\n (config) => {\n NProgress.start();\n return config;\n },\n (error) => {\n NProgress.done();\n return Promise.reject(error);\n }\n);\n\n// Before an HTTP response is returned, stop nprogress (even on error)\naxios.interceptors.response.use(\n (response) => {\n NProgress.done();\n return response;\n },\n (error) => {\n NProgress.done();\n return Promise.reject(error);\n }\n);\n\nconst token = localStorage.getItem(\"token\");\nif (token) {\n axios.defaults.headers.common[\"Authorization\"] = `Bearer ${token}`;\n}\n\nnew Vue({\n router,\n store,\n i18n,\n render: (h) => h(App),\n}).$mount(\"#app\");\n","var map = {\n\t\"./en.json\": 790,\n\t\"./fr.json\": 844\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 8973;","module.exports = jQuery;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","var deferred = [];\n__webpack_require__.O = function(result, chunkIds, fn, priority) {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","var getProto = Object.getPrototypeOf ? function(obj) { return Object.getPrototypeOf(obj); } : function(obj) { return obj.__proto__; };\nvar leafPrototypes;\n// create a fake namespace object\n// mode & 1: value is a module id, require it\n// mode & 2: merge all properties of value into the ns\n// mode & 4: return value when already ns object\n// mode & 16: return value when it's Promise-like\n// mode & 8|1: behave like require\n__webpack_require__.t = function(value, mode) {\n\tif(mode & 1) value = this(value);\n\tif(mode & 8) return value;\n\tif(typeof value === 'object' && value) {\n\t\tif((mode & 4) && value.__esModule) return value;\n\t\tif((mode & 16) && typeof value.then === 'function') return value;\n\t}\n\tvar ns = Object.create(null);\n\t__webpack_require__.r(ns);\n\tvar def = {};\n\tleafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)];\n\tfor(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) {\n\t\tObject.getOwnPropertyNames(current).forEach(function(key) { def[key] = function() { return value[key]; }; });\n\t}\n\tdef['default'] = function() { return value; };\n\t__webpack_require__.d(ns, def);\n\treturn ns;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = function(chunkId) {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce(function(promises, key) {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"js/\" + chunkId + \".\" + {\"478\":\"f00d9e15\",\"823\":\"7391333c\",\"986\":\"18dcbec3\"}[chunkId] + \".js\";\n};","// This function allow to reference async chunks\n__webpack_require__.miniCssF = function(chunkId) {\n\t// return url for filenames based on template\n\treturn undefined;\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","var inProgress = {};\nvar dataWebpackPrefix = \"pbrpipeda-vue:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = function(url, done, key, chunkId) {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = function(prev, event) {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach(function(fn) { return fn(event); });\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.p = \"/atteinte-breach-lprpde-pipeda/\";","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t143: 0\n};\n\n__webpack_require__.f.j = function(chunkId, promises) {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise(function(resolve, reject) { installedChunkData = installedChunks[chunkId] = [resolve, reject]; });\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = function(event) {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkpbrpipeda_vue\"] = self[\"webpackChunkpbrpipeda_vue\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [998], function() { return __webpack_require__(5052); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["module","exports","Component","options","__i18n","push","_Ctor","render","_vm","this","_h","$createElement","_c","_self","staticClass","attrs","isBrowserSupported","_e","_v","_s","$t","feedbackApi","staticRenderFns","WetTop","Vue","created","buildTop","onRouteChanged","wet","$i18n","locale","wetFr","wetEn","lngLink","resolveLanguageLink","$route","meta","lngRoute","defTop","document","getElementById","innerHTML","builder","top","cdnEnv","search","siteMenu","lngLinks","href","lang","text","showPreContent","breadcrumbs","topSecMenu","route","t","toString","$router","resolve","name","params","__decorate","Prop","default","Watch","component","WetPreFooter","buildPreFooter","onLocaleChanged","defPreFooter","preFooter","dateModified","showPostContent","showFeedback","showShare","versionIdentifier","screenIdentifier","pageDetails","isContainer","WetFooter","buildFooter","defFooter","footer","showFooter","loadLocaleMessages","locales","require","messages","keys","forEach","key","matched","match","length","use","VueI18n","process","fallbackLocale","App","test","window","navigator","userAgent","axios","response","undefined","err","Promise","status","config","__isRetryRequest","$store","dispatch","alertType","alertMessage","i18n","components","alert","class","type","message","directives","rawName","value","action","expression","on","$event","preventDefault","register","apply","arguments","domProps","target","composing","email","title","Title","_t","MainContent","RegisterView","redirectUri","reject","clientId","then","catch","isLoading","survey","model","SurveyBase","constructor","Converter","simpleLineBreaks","tasklists","openLinksInNewWindow","setSurveyTheme","registerWidgets","Model","surveyLocalization","currentLocale","setSurveyLocalizations","setSurveyProperties","isPreviewShowing","getPropertyValue","displayErrorSummary","questionErrors","summaryId","summary","remove","size","errorText","getLocalizationString","createElement","id","className","index","list","errors","question","processedTitle","inputId","getInputId","error","item","link","innerText","getText","appendChild","errorCount","localizationKey","validationError","getLocalizationFormatString","header","heading","querySelector","parentNode","insertBefore","nextSibling","scrollIntoView","loadSurveyFromJSON","json","data","fromJSON","registerCustomProperties","registerEventHandlers","registerFunctions","onAfterRenderQuestion","add","sender","handleOnAfterRenderQuestion","onCurrentPageChanged","handleOnCurrentPageChanged","onLocaleChangedEvent","handleOnLocaleChanged","onPageAdded","handleOnPageAdded","onTextMarkdown","handleOnTextMarkdown","onValidatedErrorsOnCurrentPage","handleOnValidatedErrorsOnCurrentPage","questionType","getType","matrixQuestion","firstRow","visibleRows","firstQuestion","questions","otherItemText","requiredError","addPanel","chooseFile","chooseFileCaption","clearCaption","completingSurveyBefore","emptyRowsText","exceedMaxSize","invalidEmail","invalidExpression","loadingFile","maxError","maxSelectError","minError","minSelectError","modalApplyButtonText","modalCancelButtonText","multipletext_itemname","noFileChosen","panelDynamicProgressText","progressText","removeFileCaption","requiredInAllRowsError","savingDataError","selectAllItemText","signaturePlaceHolder","uploadingFile","urlGetChoicesError","urlRequestError","requiredText","validationErrors","settings","titleTags","page","panel","container","navigationBarValue","actions","x","css","clearInvisibleValues","focusOnFirstError","questionErrorLocation","showCompletedPage","showPreviewBeforeComplete","showProgressBar","showQuestionNumbers","storeOthersAsComment","questionTitlePattern","StylesManager","ThemeColors","listStyle","Styles","pattern","replace","applyTheme","defaultActionBarCss","root","defaultBootstrapCss","icon","matrixdynamic","buttonAdd","buttonRemove","navigationButton","navigation","complete","edit","next","prev","preview","start","paneldynamic","progressTextInBar","description","mainRoot","titleRequired","radiogroup","remainingCharacterCounter","html","htmlElement","div","outerHTML","appendRequiredText","required","isRequired","onPropertyChanged","newValue","querySelectorAll","previewText","str","converter","makeHtml","substring","indexOf","lastIndexOf","Map","set","WidgetBase","iconName","afterRender","el","init","willUnmount","widgetIsLoaded","activatedByChanged","activatedBy","AlertWidget","super","widget","CustomWidgetCollection","Instance","addCustomWidget","property","JsonObject","metaData","findProperty","choices","getChoices","defaultValue","some","choice","setChoices","addProperty","dependsOn","category","visibleIf","obj","renderAs","hasTitle","htmlQuestion","isFit","SurveyPDFBase","commercial","htmlRenderAs","SurveyPDF","raw","save","fileName","onGetQuestionTitle","handleOnGetQuestionTitle","onProcessHtml","handleOnProcessHtml","onQuestionAdded","handleOnQuestionAdded","ChoicesRestful","EncodeParameters","mode","decodeEntities","replaceUnicode","fileQuestion","previewValue","map","content","input","element","output","DownloadWidget","Serializer","serializationProperty","button","addEventListener","toJSON","runningPages","pages","p","getLocalizableStringText","defaultFileName","surveyPDF","BreachSurvey","datepickerLocale","jquery","setDefaults","regional","widgets","Survey","ValidatePhoneNumber","ValidatePostalCode","completeText","onLoadChoicesFromServer","handleOnLoadChoicesFromServer","onUploadFiles","handleOnUploadFiles","onServerValidateQuestions","promises","handleOnServerValidateQuestionsPairing","handleOnServerValidateQuestionsValidation","all","console","Array","isArray","uploadedFiles","files","file","reader","FileReader","onload","result","callback","readAsDataURL","isShowingPreview","resp","Object","q","referenceNumber","lastName","ReferenceNumber","LastName","addPdfFieldsToSurvey","pipedaFields","pipedaPdf","fromEntries","entries","setValue","phoneNumberParam","optionalValue","phoneNumber","String","isPossiblePhoneNumber","param","postalCode","countryCode","usPostalCodePattern","canadaPostalCodePattern","OpcPdfForm","pdfForm","form","initializePdfForm","pdfData","pdfDoc","PDFDocument","load","getForm","getPdfFields","formFields","getFields","field","fieldValue","getFieldValue","getName","isPdfFile","dataUrl","fileHasContent","includes","base64Content","split","base64PdfPrefix","startsWith","tryGetTextFieldValue","fieldName","getFieldMaybe","PDFTextField","PDFDropdown","PDFRadioGroup","PDFOptionList","getSelected","PDFCheckBox","isChecked","BreachReport","handleOnComplete","getValue","httpMethod","IsNewSubmission","token","getters","authToken","requestConfig","url","method","headers","Authorization","showDataSavingSuccess","submitterLastName","user","showDataSavingError","finally","handleOnShowingPreview","hasShownPreview","formId","isPipedaForm","fields","navigationItems","navigationBar","previewButton","getActionById","visible","mounted","ApplicationUrl","onComplete","onShowingPreview","ReportingView","ThankYouView","Vuex","state","localStorage","getItem","mutations","authorization_request","authorization_success","authorization_error","authentication_request","authentication_success","authentication_error","logout","activate","commit","setItem","common","removeItem","decoded","jwt_decode","sub","isAuthorized","authStatus","strict","VueRouter","routes","path","redirect","props","beforeEnter","requiresAuth","location","to","from","query","store","router","base","beforeResolve","NProgress","beforeEach","setAttribute","record","afterEach","Loading","VuePromiseBtn","request","h","$mount","webpackContext","req","webpackContextResolve","__webpack_require__","o","e","Error","code","jQuery","__webpack_module_cache__","moduleId","cachedModule","__webpack_modules__","call","m","deferred","O","chunkIds","fn","priority","notFulfilled","Infinity","i","fulfilled","j","every","splice","r","n","getter","__esModule","d","a","leafPrototypes","getProto","getPrototypeOf","__proto__","ns","create","def","current","getOwnPropertyNames","definition","defineProperty","enumerable","get","f","chunkId","reduce","u","miniCssF","g","globalThis","Function","prop","prototype","hasOwnProperty","inProgress","dataWebpackPrefix","l","done","script","needAttach","scripts","getElementsByTagName","s","getAttribute","charset","timeout","nc","src","onScriptComplete","event","onerror","clearTimeout","doneFns","removeChild","setTimeout","bind","head","Symbol","toStringTag","installedChunks","installedChunkData","promise","loadingEnded","errorType","realSrc","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","chunkLoadingGlobal","self","__webpack_exports__"],"sourceRoot":""}