var __decorate,MeePortal;angular.module("commonModule",["ngCookies"]).constant("defaultTimeSpanFormats",{hrMin:"{hr} hr {min} min",hr:"{hr} hr",min:"{min} min"}).config(["$locationProvider",function(n){n.hashPrefix("")}]),function(n){var t;(function(t){var i;(function(t){var i;(function(){angular.module("commonModule").filter("flowTracking",function(){return function(t,i){return t&&i?n.Utilities.addQueryParameter(t,"fref",i):t}})})(i=t.Filters||(t.Filters={}))})(i=t.Angular||(t.Angular={}))})(t=n.Shared||(n.Shared={}))}(MeePortal||(MeePortal={})),function(n){var t;(function(n){var t;(function(n){var t;(function(){function n(){function n(n,t){var i=n,r;return i?(t!=null&&(Array.isArray(t)||typeof t=="object")?i=i.replace(/\{(\w+)\}/g,function(n,i){var r=t[i];return r===null||r===undefined?"":r}):(r=t===null||t===undefined?"":t,i=i.replace(/\{0\}/g,r)),i):i}return n}angular.module("commonModule").filter("stringFormat",n)})(t=n.Filters||(n.Filters={}))})(t=n.Angular||(n.Angular={}))})(t=n.Shared||(n.Shared={}))}(MeePortal||(MeePortal={})),function(n){var t;(function(n){var t;(function(n){var t;(function(){angular.module("commonModule").filter("timeSpanFormat",["defaultTimeSpanFormats","timeSpanService","stringFormatFilter",function(n,t,i){return function(r,u){var f,e;return u||(u=n),f=t.parseTimeSpan(r),f&&!f.Days?(e=f.Hours&&f.Minutes?u.hrMin:f.Hours?u.hr:u.min,i(e,{hr:f.Hours,min:f.Minutes})):r}}])})(t=n.Filters||(n.Filters={}))})(t=n.Angular||(n.Angular={}))})(t=n.Shared||(n.Shared={}))}(MeePortal||(MeePortal={})),function(n){var t;(function(n){var t;(function(n){var t;(function(n){var t=function(){function n(){this.restrict="E";this.scope={image:"="};this.template="<img ng-src='{{image.src}}' ng-attr-alt='{{image.alt}}' ng-attr-title='{{image.title}}' ng-class='imageClass' />";this.link=function(n,t,i){n.imageClass=i["class"]}}return n}();n.cmsImageDirective=t;angular.module("commonModule").directive("meeCmsImage",function(){return new t})})(t=n.Directives||(n.Directives={}))})(t=n.Angular||(n.Angular={}))})(t=n.Shared||(n.Shared={}))}(MeePortal||(MeePortal={})),function(n){var t;(function(n){var t;(function(n){var t;(function(){function n(){function n(){}function t(){return"<a ng-attr-id='{{link.id}}' href='{{link.url}}' target='{{link.target}}'>{{link.text}}<\/a>"}return{restrict:"A",scope:{link:"=linkData"},replace:!0,link:n,template:t()}}angular.module("commonModule").directive("meeCmsLink",n)})(t=n.Directives||(n.Directives={}))})(t=n.Angular||(n.Angular={}))})(t=n.Shared||(n.Shared={}))}(MeePortal||(MeePortal={})),function(n){var t;(function(n){var t;(function(n){var t;(function(){function n(){function n(){}function t(){return"<section class='section' ng-if='group.links' ng-attr-aria-label='{{$parent.group.title}}'><header class='section-header' ng-if='$parent.group.title'><h2 class='section-title text-maxlines-1'>{{$parent.$parent.group.title}}<\/h2><\/header><p ng-if='$parent.group.description'>{{$parent.$parent.group.description}}<\/p><ul><li ng-repeat='link in $parent.group.links'><span data-mee-cms-link data-link-data='link'><\/span><\/li><\/ul><\/section>"}return{restrict:"A",scope:{group:"=linkGroupData"},replace:!0,link:n,template:t()}}angular.module("commonModule").directive("meeCmsLinkGroup",n)})(t=n.Directives||(n.Directives={}))})(t=n.Angular||(n.Angular={}))})(t=n.Shared||(n.Shared={}))}(MeePortal||(MeePortal={})),function(n){var t;(function(n){var t;(function(n){var t;(function(){function n(n){return{restrict:"A",link:function(t,i,r){var u=null,f=null;t.$watch(r.compileHtml,function(r){u=r;i.html(r);n(i.contents())(f||t)});t.$watch(r.compileScope,function(t){t!=null&&(f=t,u&&(i.html(u),n(i.contents())(f)))})}}}angular.module("commonModule").directive("compileHtml",n);n.$inject=["$compile"]})(t=n.Directives||(n.Directives={}))})(t=n.Angular||(n.Angular={}))})(t=n.Shared||(n.Shared={}))}(MeePortal||(MeePortal={})),function(n){var t;(function(n){var t;(function(n){var t;(function(n){var t=function(){function n(){var n=this;return this.restrict="A",this.replace=!1,this.scope=!1,this.link=function(t,i,r){r.$observe("sortTrigger",function(){return n.sortElements(t,i)})},this.sortElements=function(n,t){t.children().sortNodes(function(t){return n.$eval(t)})},this}return n.factory=function(){return function(){for(var i=[],t=0;t<arguments.length;t++)i[t]=arguments[t];return n.apply({},i)}},n}();n.domSorterDirective=t;angular.module("commonModule").directive("meeDomSorter",t.factory())})(t=n.Directives||(n.Directives={}))})(t=n.Angular||(n.Angular={}))})(t=n.Shared||(n.Shared={}))}(MeePortal||(MeePortal={})),function(n){var t;(function(n){var t;(function(n){var t;(function(n){var t=function(){function n(){var t=this;return this.restrict="A",this.replace=!0,this.scope={message:"@errorText"},this.link=function(i,r,u){i.hasMessage=function(){return t.hasMessage(i)};i.id="mee-error-message-"+n.nextId;n.nextId++;u.$observe("errorText",function(n){return t.errorChanged(i,r,n)})},this.template=function(){return"<div id='{{$parent.id}}' role='alert' ng-if='hasMessage()' aria-live='assertive' aria-atomic='true' aria-relevant='text'><span class='alert alert-error'>{{$parent.message}}<\/span><\/div>"},this.errorChanged=function(n,i,r){var u,f,e;(n.message=r,u=i.siblings(".form-control"),u.length)&&(f="aria-labelledby",e=u.attr(f)||"",t.hasMessage(n)?(u.addClass("has-error"),u.attr("aria-invalid","true"),u.attr(f,e+" "+n.id)):(u.removeClass("has-error"),u.removeAttr("aria-invalid"),u.attr(f,e.replace(n.id,"").trim())))},this.hasMessage=function(n){return!!n.message},this}return n.factory=function(){return function(){for(var i=[],t=0;t<arguments.length;t++)i[t]=arguments[t];return n.apply({},i)}},n.nextId=1,n}();n.errorMessageDirective=t;angular.module("commonModule").directive("meeErrorMessage",t.factory())})(t=n.Directives||(n.Directives={}))})(t=n.Angular||(n.Angular={}))})(t=n.Shared||(n.Shared={}))}(MeePortal||(MeePortal={})),function(n){var t;(function(n){var t;(function(n){var t;(function(){function n(){return{link:function(n,t,i){t.bind("error",function(){angular.element(this).attr("src",i.fallbackSrc)})}}}angular.module("commonModule").directive("fallbackSrc",n)})(t=n.Directives||(n.Directives={}))})(t=n.Angular||(n.Angular={}))})(t=n.Shared||(n.Shared={}))}(MeePortal||(MeePortal={})),function(n){var t;(function(n){var t;(function(n){var t;(function(n){var t=function(){function n(){var n=this;return this.restrict="E",this.replace=!0,this.scope={model:"=",onSelect:"&"},this.template='\n            <div class="family-picker">\n                <ng-repeat ng-repeat="member in model.members">\n                    <div class="person person-small ng-class:{ active: member === selectedMember }">\n                        <a href="#" ng-click="selectMember($event, member)" title="{{member.name}}">\n                            <img class="person-graphic"\n                                 data-bi-id="family-member"\n                                 ng-src="{{member.pictureUrl}}"\n                                 ng-show="member.pictureUrl"\n                                 data-mee-onerror\n                                 data-error-callback="profilePictureFailed(member)" />\n\n                            <div class="mee-no-picture" ng-hide="member.pictureUrl">\n                                <div data-mee-no-picture><\/div>\n                            <\/div>\n                        <\/a>\n                    <\/div>\n                <\/ng-repeat>\n            <\/div>\n        ',this.link=function(t){t.selectMember=n.selectMember;t.profilePictureFailed=n.profilePictureFailed;n.$scope=t;n.$scope.$watch("model.members",n.familyMembersChanged)},this.selectMember=function(t,i){t.preventDefault();n.memberSelected(i)},this.profilePictureFailed=function(n){n.pictureUrl=""},this.memberSelected=function(t){n.$scope.selectedMember=t;n.$scope.onSelect&&n.$scope.onSelect({member:t&&t.data})},this.familyMembersChanged=function(t){t&&t.length?n.memberSelected(t[0]):n.memberSelected(null)},this}return n.factory=function(){return function(){for(var i=[],t=0;t<arguments.length;t++)i[t]=arguments[t];return n.apply({},i)}},n}();n.familyPickerDirective=t;angular.module("commonModule").directive("meeFamilyPicker",t.factory())})(t=n.Directives||(n.Directives={}))})(t=n.Angular||(n.Angular={}))})(t=n.Shared||(n.Shared={}))}(MeePortal||(MeePortal={})),function(n){var t;(function(n){var t;(function(n){var t;(function(){function n(){function n(){}function t(){return"<div><span class='mee-icon mee-icon-Contact'><\/span><\/div>"}return{restrict:"A",scope:!1,replace:!0,template:t(),link:n}}angular.module("commonModule").directive("meeNoPicture",n)})(t=n.Directives||(n.Directives={}))})(t=n.Angular||(n.Angular={}))})(t=n.Shared||(n.Shared={}))}(MeePortal||(MeePortal={})),function(n){var t;(function(n){var t;(function(n){var t;(function(){function n(){function n(n,t){t.bind("error",function(){return n.$evalAsync(function(){return n.errorCallback()})})}return{restrict:"A",scope:{errorCallback:"&"},link:n}}angular.module("commonModule").directive("meeOnerror",n)})(t=n.Directives||(n.Directives={}))})(t=n.Angular||(n.Angular={}))})(t=n.Shared||(n.Shared={}))}(MeePortal||(MeePortal={})),function(n){var t;(function(n){var t;(function(n){var t;(function(){function n(){function n(n,t){t.bind("load",function(){return n.$evalAsync(function(){return n.loadCallback()})})}return{restrict:"A",scope:{loadCallback:"&"},link:n}}angular.module("commonModule").directive("meeOnload",n)})(t=n.Directives||(n.Directives={}))})(t=n.Angular||(n.Angular={}))})(t=n.Shared||(n.Shared={}))}(MeePortal||(MeePortal={})),function(n){var t;(function(n){var t;(function(n){var t;(function(){function n(){function n(){}function t(){return"<div class='progress indeterminate'><div class='progress-bar indeterminate indeterminate-bar' role='progressbar'><div class='indeterminate-indicators'><div class='indeterminate-indicator indicator-1'><div class='dot'> <\/div><\/div><div class='indeterminate-indicator indicator-2'><div class='dot'> <\/div><\/div><div class='indeterminate-indicator indicator-3'><div class='dot'> <\/div><\/div><div class='indeterminate-indicator indicator-4'><div class='dot'> <\/div><\/div><div class='indeterminate-indicator indicator-5'><div class='dot'> <\/div><\/div><\/div><\/div><\/div>"}return{restrict:"A",scope:!1,replace:!0,link:n,template:t()}}angular.module("commonModule").directive("meeProgressAnts",n)})(t=n.Directives||(n.Directives={}))})(t=n.Angular||(n.Angular={}))})(t=n.Shared||(n.Shared={}))}(MeePortal||(MeePortal={})),function(n){var t;(function(n){var t;(function(n){var t;(function(){function n(){function n(){}function t(n,t){var r="",i="";switch(t.size){case"medium":r="ring-medium";i="indeterminate-medium";break;case"large":r="ring-large";i="indeterminate-large"}return"\n<div class='progress ring "+r+" indeterminate'>\n    <div class='indeterminate progress-bar' role='progressbar'>\n        <div class='indeterminate-ring "+i+" indicator-1'><\/div>\n        <div class='indeterminate-ring "+i+" indicator-2'><\/div>\n        <div class='indeterminate-ring "+i+" indicator-3'><\/div>\n        <div class='indeterminate-ring "+i+" indicator-4'><\/div>\n        <div class='indeterminate-ring "+i+" indicator-5'><\/div>\n    <\/div>\n<\/div>\n"}return{restrict:"A",scope:!1,replace:!0,link:n,template:t}}angular.module("commonModule").directive("meeProgressRing",n)})(t=n.Directives||(n.Directives={}))})(t=n.Angular||(n.Angular={}))})(t=n.Shared||(n.Shared={}))}(MeePortal||(MeePortal={})),function(n){var t;(function(n){var t;(function(n){var t;(function(){function n(n){return{restrict:"A",scope:{resizeCallback:"=resize"},link:function(t){var i=angular.element(n);i.bind("resize",function(){t.resizeCallback()})}}}angular.module("commonModule").directive("resize",n);n.$inject=["$window"]})(t=n.Directives||(n.Directives={}))})(t=n.Angular||(n.Angular={}))})(t=n.Shared||(n.Shared={}))}(MeePortal||(MeePortal={})),function(n){var t;(function(n){var t;(function(n){var t;(function(){function n(n){function t(t,i,r){r.$set("autofocus",!0);n(function(){return i.focus()},200)}return{restrict:"A",scope:!1,link:t}}n.$inject=["$timeout"];angular.module("commonModule").directive("meeSetFocus",n)})(t=n.Directives||(n.Directives={}))})(t=n.Angular||(n.Angular={}))})(t=n.Shared||(n.Shared={}))}(MeePortal||(MeePortal={})),function(n){var t;(function(n){var t;(function(n){var t;(function(){function n(){function n(n,t,i){n.$watch(i.meeVisible,function(n){t.css("visibility",n?"visible":"hidden")})}return{restrict:"A",multiElement:!0,link:n}}angular.module("commonModule").directive("meeVisible",n)})(t=n.Directives||(n.Directives={}))})(t=n.Angular||(n.Angular={}))})(t=n.Shared||(n.Shared={}))}(MeePortal||(MeePortal={}));__decorate=this&&this.__decorate||function(n,t,i,r){var f=arguments.length,u=f<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,i):r,e,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")u=Reflect.decorate(n,t,i,r);else for(o=n.length-1;o>=0;o--)(e=n[o])&&(u=(f<3?e(u):f>3?e(t,i,u):e(t,i))||u);return f>3&&u&&Object.defineProperty(t,i,u),u},function(n){var t;(function(n){var t;(function(t){var i;(function(t){var i=function(){function t(){}return t.prototype.$onInit=function(){this.imageSet&&(this.imageSet.fontIcon?this.fontIcon=this.imageSet.fontIcon:this.imageSet.imagePngMedium?this.image=this.imageSet.imagePngMedium:this.imageSet.imagePngSmall?this.image=this.imageSet.imagePngSmall:this.imageSet.imageSvgMedium?this.image=this.imageSet.imageSvgMedium:this.imageSet.imageSvgSmall?this.image=this.imageSet.imageSvgSmall:this.imageSet.imageUrl&&(this.image=this.imageSet.imageUrl))},t.$inject=[],__decorate([n.Angular.Decorators.Component("commonModule","cmsImageSet",{bindings:{imageSet:"<"},template:'\n                <span\n                      ng-if="$ctrl.fontIcon"\n                      ng-class="[\'mee-icon\', $ctrl.fontIcon]"\n                      ng-style="{color:$ctrl.imageSet.color}"\n                      ng-attr-aria-label="{{$ctrl.imageSet.altText}}"\n                      ng-attr-aria-hidden="{{$ctrl.imageSet.altText ? undefined :\'true\'}}">\n                <\/span>\n                <img\n                     ng-if="$ctrl.image"\n                     ng-src="{{$ctrl.image}}"\n                     ng-attr-alt="{{$ctrl.imageSet.altText}}"\n                     ng-attr-title="{{$ctrl.imageSet.hoverText}}"\n                     mee-image />\n            '})],t)}();t.CmsImageSetComponent=i})(i=t.Components||(t.Components={}))})(t=n.Angular||(n.Angular={}))})(t=n.Shared||(n.Shared={}))}(MeePortal||(MeePortal={})),function(n){var t;(function(n){var t;(function(n){var t;(function(){var n=function(){function n(){this.restrict="A";this.scope={cmsImage:"<"}}return n.prototype.link=function(n,t){var i=n.cmsImage;i&&(t.attr("src",i.src),i.alt&&t.attr("alt",i.alt),i.title&&t.attr("title",i.title))},n}();angular.module("commonModule").directive("cmsImage",function(){return new n})})(t=n.Components||(n.Components={}))})(t=n.Angular||(n.Angular={}))})(t=n.Shared||(n.Shared={}))}(MeePortal||(MeePortal={}));__decorate=this&&this.__decorate||function(n,t,i,r){var f=arguments.length,u=f<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,i):r,e,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")u=Reflect.decorate(n,t,i,r);else for(o=n.length-1;o>=0;o--)(e=n[o])&&(u=(f<3?e(u):f>3?e(t,i,u):e(t,i))||u);return f>3&&u&&Object.defineProperty(t,i,u),u},function(n){var t;(function(n){var t;(function(t){var i;(function(t){var i=function(){function t(n,t){this.$state=n;this.telemetryService=t}return t.prototype.$onInit=function(){},t.prototype.getCurrentCvValue=function(){return this.telemetryService.portalCv.getCurrentCvValue()},t.prototype.onTryAgainLink=function(){this.onTryAgain?this.onTryAgain():this.$state.reload()},t.$inject=["$state","telemetryService"],__decorate([n.Angular.Decorators.Component("commonModule","defaultFailedView",{template:'<mee-alert kind="error">\n                              <alert-header>{{$ctrl.strings.errorTitle}}<\/alert-header>\n                              <alert-content>{{$ctrl.strings.errorMessage}}<\/alert-content>\n                              <alert-actions>\n                                  <a ng-click="$ctrl.onTryAgainLink()" href="#" data-bi-id="progress-view-reload">{{$ctrl.strings.tryAgainButton}}<\/a>\n                              <\/alert-actions>\n                          <\/mee-alert>\n                          <div>\n                              <p mee-paragraph="para3" class="text-center-align">TraceId: {{$ctrl.getCurrentCvValue()}}<\/p>\n                          <\/div>',bindings:{strings:"<",onTryAgain:"&?"}})],t)}();t.DefaultFailedViewComponent=i})(i=t.Components||(t.Components={}))})(t=n.Angular||(n.Angular={}))})(t=n.Shared||(n.Shared={}))}(MeePortal||(MeePortal={}));__decorate=this&&this.__decorate||function(n,t,i,r){var f=arguments.length,u=f<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,i):r,e,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")u=Reflect.decorate(n,t,i,r);else for(o=n.length-1;o>=0;o--)(e=n[o])&&(u=(f<3?e(u):f>3?e(t,i,u):e(t,i))||u);return f>3&&u&&Object.defineProperty(t,i,u),u},function(n){var t;(function(n){var t;(function(t){var i;(function(t){var i=function(){function t(){}return t.prototype.$onInit=function(){},t.$inject=[],__decorate([n.Angular.Decorators.Component("commonModule","defaultInprogressView",{template:'<div class="default-inprogress-view">\n                           <mee-progress-ants-mwf kind="local" class="progress-centered"><\/mee-progress-ants-mwf>\n                           <p mee-paragraph="para3" class="load-text">{{$ctrl.strings.progressMessage}}<\/p>\n                       <\/div>',bindings:{strings:"<"}})],t)}();t.DefaultInprogressViewComponent=i})(i=t.Components||(t.Components={}))})(t=n.Angular||(n.Angular={}))})(t=n.Shared||(n.Shared={}))}(MeePortal||(MeePortal={}));__decorate=this&&this.__decorate||function(n,t,i,r){var f=arguments.length,u=f<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,i):r,e,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")u=Reflect.decorate(n,t,i,r);else for(o=n.length-1;o>=0;o--)(e=n[o])&&(u=(f<3?e(u):f>3?e(t,i,u):e(t,i))||u);return f>3&&u&&Object.defineProperty(t,i,u),u},function(n){var t;(function(t){var i;(function(i){var r;(function(i){var r=function(){function i(){this.images=[]}return i.prototype.$onChanges=function(){this.data&&!this.model&&this.data.ad&&this.data.ad.textPosition&&this.data.prm&&this.data.tracking&&(this.model=this.data.ad,this.model.trackingBeaconUrl=this.enforceSecureUrl(this.data.tracking.baseUri.replace("{ACTION}","click")),this.model.impressionBeaconUrl=this.enforceSecureUrl(this.data.prm._imp),this.meeFeatureAttributes=this.setMeeFeatureAttributes(this.model.textPosition,this.model.bgColor),this.extractImages(this.model),this.fireBeacon(this.model.impressionBeaconUrl))},i.prototype.setMeeFeatureAttributes=function(n,t){if(!n)return null;var i=n?"align-"+n:"",r=t?"background-"+t:"";return i+" "+r},i.prototype.fireBeacon=function(n){if(!n)return null;var t=document.createElement("img");return t.onerror=t.onload=t.onabort=function(){t.onerror=t.onload=t.onabort=null;t.src=""},t.src=n,t},i.prototype.extractImages=function(n){var u,f,i,r,t,e;if(n.svg){this.useSvg();return}for(u=["vp1","vp2","vp3","vp4","vp5","vp6"],f={vp1:"(min-width: 0)",vp2:"(min-width: 320px)",vp3:"(min-width: 540px)",vp4:"(min-width: 768px)",vp5:"(min-width: 1084px)",vp6:"(min-width: 1400px)"},i=0,r=u;i<r.length;i++)t=r[i],n[t]&&n[t]!=null&&n[t].trim().length>0&&(e={viewportSize:t,src:this.enforceSecureUrl(n[t]),media:f[t]},this.images.push(e));this.images.sort(function(n,t){return t.viewportSize.localeCompare(n.viewportSize)});this.hasSvg=!1;this.hasNoSvgAndAtLeastOneImage=this.images.length>0;this.hasNoSvgAndMoreThanOneImage=this.images.length>1;this.hasNoSvgAndAtLeastOneImage&&(this.images[this.images.length-1].media="(min-width:0)")},i.prototype.useSvg=function(){this.hasSvg=!0;this.hasNoSvgAndAtLeastOneImage=!1;this.hasNoSvgAndMoreThanOneImage=!1},i.prototype.enforceSecureUrl=function(t){return n.Utilities.enforceSecureUrl(t)},__decorate([t.Angular.Decorators.Component("commonModule","irisFeaturePromotion",{template:'<section ng-if="$ctrl.meeFeatureAttributes"\n                                     mee-feature="{{ $ctrl.meeFeatureAttributes }}"\n                                     id="iris-feature-campaign">\n                                <picture>\n                                    <img ng-if="$ctrl.hasSvg"\n                                         mee-image ng-src="{{ $ctrl.enforceSecureUrl($ctrl.model.svg) }}"\n                                         alt="{{ $ctrl.model.alt }}"\n                                         aria-label="{{ $ctrl.model.ariaText }}"\n                                         role="img"/>\n                                    <source ng-if="$ctrl.hasNoSvgAndMoreThanOneImage"\n                                            ng-repeat="image in $ctrl.images"\n                                            ng-srcset="{{ image.src }}"\n                                            media="{{ image.media }}">\n                                    <img ng-if="$ctrl.hasNoSvgAndAtLeastOneImage"\n                                         mee-image ng-src="{{ $ctrl.images[0].src }}"\n                                         alt="{{ $ctrl.model.imgAltText }}"\n                                         aria-label="{{ $ctrl.model.imgAriaText }}"/>\n                                <\/picture>\n                                <div>\n                                    <h2 mee-heading="heading"><strong>{{ $ctrl.model.heading }}<\/strong><\/h2>\n                                    <p mee-paragraph="para4">{{ $ctrl.model.text }}<\/p>\n                                    <div class="c-group">\n                                        <a mee-call-to-action="featurePrimary"\n                                           ng-href="{{ $ctrl.enforceSecureUrl($ctrl.model.action1Url) | flowTracking:$ctrl.getTrackingIdCallback() }}"\n                                           target="_self"\n                                           ng-click="$ctrl.fireBeacon($ctrl.model.trackingBeaconUrl)"\n                                           aria-label="{{ $ctrl.model.action1AriaText }}"\n                                           data-bi-id="{{ $ctrl.getTrackingIdCallback() }}">\n                                            {{ $ctrl.model.action1Text }}\n                                        <\/a>\n                                        <a ng-if="$ctrl.model.action2Url"\n                                           mee-call-to-action="featurePrimary"\n                                           ng-href="{{ $ctrl.enforceSecureUrl($ctrl.model.action2Url) | flowTracking:$ctrl.getTrackingIdCallback() }}"\n                                           target="_self"\n                                           aria-label="{{ $ctrl.model.action2AriaText }}"\n                                           data-bi-id="{{ $ctrl.getTrackingIdCallback() }}">\n                                            {{ $ctrl.model.action2Text }}\n                                        <\/a>\n                                    <\/div>\n                                    <p mee-caption="caption2">\n                                        {{ $ctrl.model.disclaimerText }}\n                                        <a ng-if="$ctrl.model.disclaimerLink1Url"\n                                           mee-hyperlink\n                                           ng-href="{{ $ctrl.enforceSecureUrl($ctrl.model.disclaimerLink1Url) | flowTracking:$ctrl.getTrackingIdCallback() }}"\n                                           target="_self"\n                                           aria-label="{{ $ctrl.model.disclaimerLink1AriaText }}"\n                                           data-bi-id="{{ $ctrl.getTrackingIdCallback() }}.disclaimer">\n                                            {{ $ctrl.model.disclaimerLink1Text }}\n                                        <\/a>\n                                        <a ng-if="$ctrl.model.disclaimerLink2Url"\n                                           mee-hyperlink\n                                           ng-href="{{ $ctrl.enforceSecureUrl($ctrl.model.disclaimerLink2Url) | flowTracking:$ctrl.getTrackingIdCallback() }}"\n                                           target="_self"\n                                           aria-label="{{ $ctrl.model.disclaimerLink2AriaText }}"\n                                           data-bi-id="{{ $ctrl.getTrackingIdCallback() }}.disclaimer">\n                                            {{ $ctrl.model.disclaimerLink2Text }}\n                                        <\/a>\n                                    <\/p>\n                                <\/div>\n                            <\/section>',bindings:{data:"<",getTrackingIdCallback:"&"}})],i)}();i.IrisFeaturePromotionComponent=r})(r=i.Components||(i.Components={}))})(i=t.Angular||(t.Angular={}))})(t=n.Shared||(n.Shared={}))}(MeePortal||(MeePortal={})),function(n){var t;(function(t){var i;(function(t){var i;(function(){var t=function(){function t(n,t){this.commonConfig=n;this.$window=t}return t.prototype.elevateToHbi=function(n){this.$window.location.href=this.getSigninUrl("hbi",n)},t.prototype.getSigninUrl=function(t,i){var r=this.$window.location.href,u;i&&(r=r.indexOf("?")>-1?r+"&"+i:r+"?"+i);u=n.Utilities.updateQueryParam(this.commonConfig.completeSignInReturnUrl,"ru",encodeURIComponent(r));switch(t){case"mbi":return u;case"hbi":return n.Utilities.updateQueryParam(this.commonConfig.hbiSignInUrl,"wreply",encodeURIComponent(u));default:throw new Error("Unrecognized policy.");}},t.$inject=["commonConfig","$window"],t}();angular.module("commonModule").service("authenticationService",t)})(i=t.Services||(t.Services={}))})(i=t.Angular||(t.Angular={}))})(t=n.Shared||(n.Shared={}))}(MeePortal||(MeePortal={})),function(n){var t;(function(n){var t;(function(n){var t;(function(){var n=function(){function n(n){this.$window=n}return n.prototype.isCopySupported=function(){return document.queryCommandSupported("copy")},n.prototype.copy=function(n){try{var t=this.$window.document.getElementById(n);return t.select(),this.$window.document.execCommand("copy"),!0}catch(i){return!1}},n.prototype.copyText=function(n){var t=angular.element("<input>");angular.element("body").append(t);t.val(n).select();try{return this.$window.document.execCommand("copy"),!0}catch(i){return!1}finally{t.remove()}},n.$inject=["$window"],n}();angular.module("commonModule").service("clipboardService",n)})(t=n.Services||(n.Services={}))})(t=n.Angular||(n.Angular={}))})(t=n.Shared||(n.Shared={}))}(MeePortal||(MeePortal={})),function(n){var t;(function(n){var t;(function(n){var t;(function(){var n=function(){function n(n){this.$meeUtil=n;this.errorPrefix="componentRegistryService: ";this.idStorage={};this.classStorage={}}return n.prototype.getInstanceById=function(n){if(n){if(!this.idStorage[n])throw new Error(this.errorPrefix+" getInstanceById(): Id not found in id storage");}else throw new Error(this.errorPrefix+" getInstanceById(): Passed id was falsy");return this.idStorage[n].componentInstance},n.prototype.getInstancesByClass=function(n){var i,r,t,u;if(n){if(!this.classStorage[n])return[]}else throw new Error(this.errorPrefix+" getInstancesByClass(): Passed className was falsy");for(i=[],r=this.classStorage[n],t=0;t<r.length;t++)u=r[t],i.push(this.idStorage[u].componentInstance);return i},n.prototype.register=function(n,t,i){if(!n||!t||!i)throw new Error(this.errorPrefix+" register(): className, id, or componentInstance was falsy");this.idStorage[t]={className:n,componentInstance:i};this.addToClassStorage(n,t)},n.prototype.registerWithoutId=function(n,t){var i=this.$meeUtil.nextUid();return this.register(n,i,t),i},n.prototype.deregister=function(n){if(n){if(!this.idStorage[n])throw new Error(this.errorPrefix+" deregister(): Id not found in id storage");}else throw new Error(this.errorPrefix+" deregister(): Passed id was falsy");var t=this.idStorage[n].className;this.classStorage[t]&&this.classStorage[t].indexOf(n)>-1&&this.classStorage[t].splice(this.classStorage[t].indexOf(n),1);delete this.idStorage[n]},n.prototype.addToClassStorage=function(n,t){this.classStorage[n]||(this.classStorage[n]=[]);this.classStorage[n].push(t)},n.$inject=["$meeUtil"],n}();angular.module("commonModule").service("componentRegistryService",n)})(t=n.Services||(n.Services={}))})(t=n.Angular||(n.Angular={}))})(t=n.Shared||(n.Shared={}))}(MeePortal||(MeePortal={})),function(n){var t;(function(n){var t;(function(n){var t;(function(){var n=function(){function n(n){var t=this,i;this.commonConfig=n;this.defaultTimeDate="01/01/1996";this.toShortDate=function(n){var i=t.checkDate(n);return t.formatSupported?i.toLocaleDateString(t.culture,{year:"numeric",month:"numeric",day:"numeric"}):i.toDateString()};this.toLongDate=function(n){var i=t.checkDate(n);return t.formatSupported?i.toLocaleDateString(t.culture,{year:"numeric",month:"long",day:"numeric"}):i.toDateString()};this.toShortTime=function(n){var i=t.checkTimespan(n);return t.formatSupported?i.toLocaleTimeString(t.culture,{hour:"2-digit",minute:"2-digit"}):i.toTimeString()};this.culture=this.commonConfig.userCulture||navigator.language;i=new Date;this.formatSupported=!!i.toLocaleDateString&&!!i.toLocaleTimeString}return n.prototype.toLongDateTime=function(n){var t=this.checkDate(n);return this.formatSupported?t.toLocaleString(this.culture):t.toDateString()},n.prototype.toShortMonthDay=function(n){var t=this.checkDate(n);return this.formatSupported?t.toLocaleDateString(this.culture,{month:"short",day:"numeric"}):t.toDateString()},n.prototype.getMonthNames=function(){for(var r=this.getIntl().DateTimeFormat(this.culture,{month:"long"}),t=new Date(2018,0),i=[],n=0;n<12;n++)t.setMonth(n),i.push(r.format(t));return i},n.prototype.getIntl=function(){return Intl},n.prototype.checkDate=function(n){if(!n)throw new Error("timestamp not specified");if(typeof n=="string"){var t=Date.parse(n);if(isNaN(t))throw new Error("Unsupported timestamp format");n=new Date(n)}return n},n.prototype.checkTimespan=function(t){if(typeof t=="string"){var i=n.timeRegExp;if(i.test(t))return new Date(this.defaultTimeDate+" "+t)}return this.checkDate(t)},n.$inject=["commonConfig"],n.timeRegExp=new RegExp("^(([0-1]?[0-9]|2[0-3])(:[0-5][0-9])(:[0-5][0-9])(:[0-5][0-9])?)$|^24:00:00$|^24:00:00:00$"),n}();angular.module("commonModule").service("dateTimeFormatter",n)})(t=n.Services||(n.Services={}))})(t=n.Angular||(n.Angular={}))})(t=n.Shared||(n.Shared={}))}(MeePortal||(MeePortal={})),function(n){var t;(function(t){var i;(function(t){var i;(function(){function t(){return n.Devices}angular.module("commonModule").service("deviceService",t)})(i=t.Services||(t.Services={}))})(i=t.Angular||(t.Angular={}))})(t=n.Shared||(n.Shared={}))}(MeePortal||(MeePortal={})),function(n){var t;(function(n){var t;(function(n){var t;(function(){var n=function(){function n(n,t,i,r){var u=this;this.$state=n;this.$meeModal=t;this.telemetry=i;this.$rootScope=r;this.getData=function(){return u.data};this.setData=function(n){u.data=n};r.$on("$stateChangeStart",function(n,t){if(t._isFatalErrorPage)try{u.end({error:"unhandled exception"})}catch(i){}})}return n.prototype.begin=function(n){return this.telemetry.portalScenarios.beginMultiStepScenario(n.bi.area,n.bi.scenario,n.bi.step,{attribution:n.bi.attribution,data:n.bi.data}),this.beginFlow(n)},n.prototype.resume=function(n){return this.telemetry.portalScenarios.endStep({area:n.bi.area,name:n.bi.scenario,step:n.fromStep.step,next:n.bi.step,isSuccess:n.fromStep.isSuccess,error:n.fromStep.error,attribution:n.bi.attribution,data:n.fromStep.data}),this.beginFlow(n)},n.prototype.beginFlow=function(n){this.backStack=[];this.exitState=n.exitState;this.bi={area:n.bi.area,scenario:n.bi.scenario,currentStep:n.bi.step,scenarioEnded:!1,attribution:n.bi.attribution,error:n.bi.error,data:n.bi.data};var t,i;if(typeof n.state=="string"?i=n.state:t=n.state,this.current={modalStateId:i,stateId:t&&t.id,stateParams:t&&t.params,stateOptions:t&&t.options,biStep:n.bi.step,biData:n.bi.data},t)return this.isModalOpen=!1,this.$state.go(t.id,t.params,t.options);if(i)return this.isModalOpen=!0,this.$meeModal.show(n.modalId||"#modal-host",i,n.modalShowOptions);throw new Error("Initial state not specified");},n.prototype.switchTo=function(n){if(this.bi.scenarioEnded)throw new Error("Scenario has already ended");if(!this.current.modalStateId&&!n.state&&n.modalStateId)throw new Error("Opening a modal in the middle of a flow is not supported");if(this.telemetry.portalScenarios.endStep(this.makeScenarioResult(n.bi)),this.backStack.push(this.current),this.current={modalStateId:n.modalSwitchToOptions?n.modalSwitchToOptions.stateId:n.modalStateId,stateId:n.state&&n.state.id,stateParams:n.state&&n.state.params,stateOptions:n.state&&n.state.options,biStep:n.bi.step,biData:n.bi.data},this.isModalOpen&&(n.modalStateId||n.modalSwitchToOptions)){var t=n.modalSwitchToOptions||{stateId:n.modalStateId};return this.$meeModal.switchTo(t)}if(n.state)return this.isModalOpen?(this.isModalOpen=!1,this.$meeModal.hide({stateId:n.state.id,stateParams:n.state.params,stateOptions:n.state.options})):this.$state.go(n.state.id,n.state.params,n.state.options);throw new Error("Different state not specified. Use stayInCurrentState if not switching to a different state was intentional");},n.prototype.goBack=function(n){var t,i;if(this.bi.scenarioEnded)throw new Error("Scenario has already ended");if(this.backStack.length<1)throw new Error("Cannot go back");if(t=this.backStack.pop(),t.modalStateId&&!this.current.modalStateId)throw new Error("Going back to a modal is not supported");if(this.current=t,i=n||{step:this.current.biStep,data:this.current.biData},this.telemetry.portalScenarios.cancelStep(this.makeScenarioResult(i)),this.current.modalStateId)return this.$meeModal.goBack();if(this.current.stateId)return this.$state.go(this.current.stateId,this.current.stateParams,this.current.stateOptions);throw new Error("Should not reach here");},n.prototype.cancel=function(n){if(this.bi.scenarioEnded)throw new Error("Scenario has already ended");return n=n||{},n.step||(n.step=this.current.biStep),n.data||(n.data=this.current.biData),this.telemetry.portalScenarios.cancelMultiStepScenario(this.makeScenarioResult(n)),this.bi.scenarioEnded=!0,this},n.prototype.end=function(n){if(this.bi.scenarioEnded)throw new Error("Scenario has already ended");return n=n||{},n.step||(n.step=this.current.biStep),n.data||(n.data=this.current.biData),this.telemetry.portalScenarios.endMultiStepScenario(this.makeScenarioResult(n)),this.bi.scenarioEnded=!0,this},n.prototype.exit=function(n){if(!this.bi.scenarioEnded)throw new Error("Scenario not ended");var t=n||this.exitState;return this.isModalOpen?this.$meeModal.hide({stateId:t.id,stateParams:t.params,stateOptions:t.options}):this.$state.go(t.id,t.params,t.options)},n.prototype.stayInCurrentState=function(n){if(this.bi.scenarioEnded)throw new Error("Scenario has already ended");n.step=n.step||this.bi.currentStep;this.telemetry.portalScenarios.endStep(this.makeScenarioResult(n))},n.prototype.leave=function(n){if(this.bi.scenarioEnded)throw new Error("Scenario has already ended");this.telemetry.portalScenarios.endStep(this.makeScenarioResult(n));this.bi.scenarioEnded=!0},n.prototype.getCurrentBiStep=function(){return this.current.biStep},n.prototype.makeScenarioResult=function(n){if(!n||!n.step)throw new Error("step not specified");this.bi.data=angular.extend({},this.bi.data,n.data);var t={area:this.bi.area,name:this.bi.scenario,attribution:this.bi.attribution,data:this.bi.data,step:this.bi.currentStep,next:n.step,isSuccess:!n.error,error:n.error};return this.bi.currentStep=n.step,t},n.$inject=["$state","$meeModal","telemetryService","$rootScope"],n}();angular.module("commonModule").service("flowService",n)})(t=n.Services||(n.Services={}))})(t=n.Angular||(n.Angular={}))})(t=n.Shared||(n.Shared={}))}(MeePortal||(MeePortal={})),function(){"use strict";function n(){return MeePortal.Logger}angular.module("commonModule").service("loggingService",n)}(),function(n){var t;(function(n){var t;(function(n){var t;(function(){var n=function(){function n(){this.head=angular.element(document.querySelector("html > head"));this.tags={}}return n.prototype.add=function(n,t){var i,r;if(typeof n=="string")if(this.tags[n])this.findTag(n).attr("content",t);else{if(this.findTag(n).length>0)throw new Error("Metatag not added through MetatagService already exists");this.tags[n]=!0;angular.element("<meta name='"+n+"' content='"+t+"'>").appendTo(this.head)}else{i=n;for(r in i)this.add(r,i[r])}},n.prototype.remove=function(n){this.tags[n]&&(delete this.tags[n],this.findTag(n).remove())},n.prototype.clear=function(){for(var n in this.tags)this.remove(n)},n.prototype.findTag=function(n){return this.head.children("meta[name='"+n+"']")},n.$inject=[],n}();angular.module("commonModule").service("metatagService",n)})(t=n.Services||(n.Services={}))})(t=n.Angular||(n.Angular={}))})(t=n.Shared||(n.Shared={}))}(MeePortal||(MeePortal={})),function(n){var t;(function(n){var t;(function(n){var t;(function(n){var t=function(){function n(n){var t=this;this.$q=n;this.get=function(n){return t.jqueryPromiseInScope($.portalAjaxGet(n))};this.post=function(n){return t.jqueryPromiseInScope($.portalAjaxPost(n))};this.put=function(n){return t.jqueryPromiseInScope($.portalAjaxPut(n))};this.del=function(n){return t.jqueryPromiseInScope($.portalAjaxDelete(n))};this.getAntiforgeryToken=function(){return $.getAntiForgeryToken()};this.jqueryPromiseInScope=function(n){var i=$.Deferred(),r=t.$q.defer();return r.promise.then(function(n){i.resolve(n.data,n.textStatus,n.jqXHR)},function(n){i.reject(n.jqXHR,n.textStatus,n.errorThrown)}),n.then(function(n,t,i){r.resolve({data:n,textStatus:t,jqXHR:i})},function(n,t,i){r.reject({jqXHR:n,textStatus:t,errorThrown:i})}),i.promise()}}return n.$inject=["$q"],n}();n.PortalAjaxService=t;angular.module("commonModule").service("portalAjaxService",t)})(t=n.Services||(n.Services={}))})(t=n.Angular||(n.Angular={}))})(t=n.Shared||(n.Shared={}))}(MeePortal||(MeePortal={})),function(n){var t;(function(t){var i;(function(t){var i;(function(t){var i=function(){function t(n,t){this.$q=n;this.$injector=t}return t.prototype.get=function(n){return this.createAngularPromise($.portalAjaxGet,n)},t.prototype.post=function(n){return this.createAngularPromise($.portalAjaxPost,n)},t.prototype.put=function(n){return this.createAngularPromise($.portalAjaxPut,n)},t.prototype.del=function(n){return this.createAngularPromise($.portalAjaxDelete,n)},t.prototype.getAntiforgeryToken=function(){return $.getAntiForgeryToken()},t.prototype.createAngularPromise=function(n,t){var r=this,i=this.$q.defer();return n(t).then(function(n,t,r){i.resolve({data:n,textStatus:t,jqXHR:r})},function(n,u,f){r.addCustomDataToFailedComponentEvent(n,t);i.reject({jqXHR:n,textStatus:u,errorThrown:f})}),i.promise},t.prototype.addCustomDataToFailedComponentEvent=function(t,i){var f,r,u;if(this.$injector.has("pageReliabilityService")&&(f=this.$injector.get("pageReliabilityService"),r=f.getActiveComponentOperations(),r))for(u=0;u<r.length;u++)r[u].customData["amcqos-lastFailedAjaxRequest-status"]=t.status,r[u].customData["amcqos-lastFailedAjaxRequest-operationName"]=i.operationName,r[u].customData["amcqos-lastFailedAjaxRequest-url"]=n.Telemetry.globalUrlScrubber(i.url)},t.$inject=["$q","$injector"],t}();t.PortalAjaxServiceAngular=i;angular.module("commonModule").service("portalAjaxServiceAngular",i)})(i=t.Services||(t.Services={}))})(i=t.Angular||(t.Angular={}))})(t=n.Shared||(n.Shared={}))}(MeePortal||(MeePortal={})),function(n){var t;(function(t){var i;(function(t){var i;(function(){var t=function(){function t(n,t){this.ajax=n;this.$q=t;this.requestRoot="/api/promotion-campaigns/";this.cachedGetCampaignPromises={};this.cachedGetCampaignResponses={}}return t.prototype.getCampaignData=function(n){var i=this;return this.cachedGetCampaignPromises[n]?this.cachedGetCampaignPromises[n]:this.cachedGetCampaignResponses[n]?this.$q.resolve(this.cachedGetCampaignResponses[n]):(this.cachedGetCampaignPromises[n]=this.ajax.get({serviceName:t.serviceName,operationName:"GLOBAL.CAMPAIGNS.GETCAMPAIGNDATA",data:{surfaceName:n},parentOperationName:"GetCampaignDataV2",url:this.requestRoot+"campaign-data",dataType:"auto"}),this.cachedGetCampaignPromises[n].then(function(t){i.cachedGetCampaignResponses[n]=t}).finally(function(){i.cachedGetCampaignPromises[n]=null}),this.cachedGetCampaignPromises[n])},t.prototype.getCampaignsData=function(n){var i=this;return this.cachedGetCampaignPromises[n]?this.cachedGetCampaignPromises[n]:this.cachedGetCampaignResponses[n]?this.$q.resolve(this.cachedGetCampaignResponses[n]):(this.cachedGetCampaignPromises[n]=this.ajax.get({serviceName:t.serviceName,operationName:"GLOBAL.CAMPAIGNS.GETCAMPAIGNDATA",data:{surfacesNames:n},parentOperationName:"GetCampaignDataV2",url:this.requestRoot+"campaigns-data",dataType:"auto"}),this.cachedGetCampaignPromises[n].then(function(t){i.cachedGetCampaignResponses[n]=t}).finally(function(){i.cachedGetCampaignPromises[n]=null}),this.cachedGetCampaignPromises[n])},t.prototype.getCampaignBatchData=function(n,i){var r=this;return this.cachedGetCampaignPromises[n]?this.cachedGetCampaignPromises[n]:this.cachedGetCampaignResponses[n]?this.$q.resolve(this.cachedGetCampaignResponses[n]):(this.cachedGetCampaignPromises[n]=this.ajax.get({serviceName:t.serviceName,operationName:"GLOBAL.CAMPAIGNS.GETCAMPAIGNDATA",data:{surfaceName:n,batchCount:i},parentOperationName:"GetCampaignDataV2",url:this.requestRoot+"campaign-batch-data",dataType:"auto"}),this.cachedGetCampaignPromises[n].then(function(t){r.cachedGetCampaignResponses[n]=t}).finally(function(){r.cachedGetCampaignPromises[n]=null}),this.cachedGetCampaignPromises[n])},t.prototype.fireIrisBeacon=function(t){var r=n.Utilities.enforceSecureUrl(t),i;return r?(i=document.createElement("img"),i.onerror=i.onload=i.onabort=function(){i.onerror=i.onload=i.onabort=null;i.src=""},i.src=r,i):null},t.$inject=["portalAjaxServiceAngular","$q"],t.serviceName="PromotionService",t}();angular.module("commonModule").service("promotionService",t)})(i=t.Services||(t.Services={}))})(i=t.Angular||(t.Angular={}))})(t=n.Shared||(n.Shared={}))}(MeePortal||(MeePortal={})),function(n){var t;(function(n){var t;(function(n){var t;(function(){function n(n,t,i,r,u){n.preventDefault();var f=r.href(""+t.name,i);u.location.assign(f)}angular.module("commonModule").run(["$state","$rootScope","$window",function(t,i,r){i.$on("$stateChangeStart",function(i,u,f){u.redirectReact&&n(i,u,f,t,r)})}])})(t=n.Services||(n.Services={}))})(t=n.Angular||(n.Angular={}))})(t=n.Shared||(n.Shared={}))}(MeePortal||(MeePortal={})),function(n){var t;(function(n){var t;(function(n){var t;(function(){var n=function(){function n(n,t){this.$promise=n;this.$window=t;this.errorPrefix="scriptLoaderService: ";this.promiseCache={}}return n.prototype.loadScript=function(n,t){var u=this,r,i,f;if(!n)throw new Error(this.errorPrefix+"scriptUrl is invalid");if(this.promiseCache[n])return this.promiseCache[n];if(r=this.$promise.defer(),this.promiseCache[n]=r.promise,i=this.$window.document.createElement("script"),i.src=n,i.onload=i.onreadystatechange=function(){i.onload=i.onreadystatechange=null;r.resolve()},i.onerror=function(){i.onerror=null;r.reject(u.errorPrefix+"unable to load "+n)},f=t?this.$window.document.querySelector(t):this.$window.document.body,!f)throw new Error(this.errorPrefix+"unable to insert script tag into the dom");return f.appendChild(i),r.promise.finally(function(){u.promiseCache[n]&&delete u.promiseCache[n]})},n.$inject=["$q","$window"],n}();angular.module("commonModule").service("scriptLoaderService",n)})(t=n.Services||(n.Services={}))})(t=n.Angular||(n.Angular={}))})(t=n.Shared||(n.Shared={}))}(MeePortal||(MeePortal={})),function(n){var t;(function(t){var i;(function(t){var i;(function(t){var r=function(){function n(t,i,r,u){var f=this;this.telemetryService=t;this.logger=i;this.$timeout=r;this.$window=u;this.reconnectionDelayMsec=5e3;this.queuedServerCallbacks=[];this.onConnectedCallbacks=[];$.connection.hub.stateChanged(function(t){var i=$.connection.hub.lastError&&$.connection.hub.lastError.message;switch(t.newState){case 4:f.logger.trace(n.loggerId,"Disconnected",i);f.$timeout(f.reconnectionDelayMsec).then(function(){return f.start()});break;case 0:f.logger.trace(n.loggerId,"Connecting");break;case 1:for(f.logger.trace(n.loggerId,"Connected");f.queuedServerCallbacks.length>0;)f.queuedServerCallbacks.shift()();f.onConnectedCallbacks.slice(0).forEach(function(n){return n()});break;case 2:f.logger.trace(n.loggerId,"Reconnecting",i)}})}return Object.defineProperty(n.prototype,"isConnected",{get:function(){return $.connection.hub.state===1},enumerable:!0,configurable:!0}),n.prototype.getWindow=function(){return this.$window},n.prototype.onConnected=function(n){this.onConnectedCallbacks.push(n)},n.prototype.unsubscribeOnConnected=function(n){this.onConnectedCallbacks=this.onConnectedCallbacks.filter(function(t){return t!==n})},n.prototype.start=function(){$.connection.hub.state===4&&$.connection.hub.start()},n.prototype.restart=function(){$.connection.hub.stop();this.start()},Object.defineProperty(n.prototype,"familyHub",{get:function(){return this._familyHub||(this._familyHub=new i("FamilyHub",$.connection.familyHub,this))},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"servicesHub",{get:function(){return this._servicesHub||(this._servicesHub=new i("ServicesHub",$.connection.servicesHub,this))},enumerable:!0,configurable:!0}),n.$inject=["telemetryService","loggingService","$timeout","$window"],n.loggerId="SignalREvent",n}(),i,u,f;t.SignalRService=r;i=function(){function n(n,t,i){this.hubName=n;this.hub=t;this.service=i;this.handlers=[];this.loggerId=r.loggerId+" - "+this.hubName}return n.prototype.subscribe=function(n,t){var i=this;this.hub.client[n]||(this.handlers[n]=[],this.hub.client[n]=function(){i.service.logger.trace(i.loggerId,"Event received:",n);i.handlers[n].slice(0).forEach(function(n){return n()})},this.service.restart());this.handlers[n].push(t);this.service.logger.trace(this.loggerId,"Event subscribed:",n)},n.prototype.unsubscribe=function(n,t){if(this.hub.client[n]){var i=this.handlers[n].length;this.handlers[n]=this.handlers[n].filter(function(n){return n!==t});this.handlers[n].length!==i&&this.service.logger.trace(this.loggerId,"Event unsubscribed:",n)}},n.prototype.send=function(n){for(var r=this,i=[],t=1;t<arguments.length;t++)i[t-1]=arguments[t];this.service.isConnected?this.sendEvent.apply(this,[n].concat(i)):(this.service.queuedServerCallbacks.push(function(){return r.sendEvent.apply(r,[n].concat(i))}),this.service.start())},n.prototype.sendEvent=function(n){for(var f,e,r,t=this,u=[],i=1;i<arguments.length;i++)u[i-1]=arguments[i];this.service.telemetryService.portalCv.incrementCv();e={CV:this.service.telemetryService.portalCv.getCurrentCvValue(),CC:this.service.telemetryService.portalCc.serialize(),Referrer:this.service.telemetryService.portalBi.getCurrentLocation()};r=(new Date).getTime();(f=this.hub.server[n]).call.apply(f,[this,e].concat(u)).done(function(){t.reportOutgoingApi(n,undefined,r);t.service.logger.trace(t.loggerId,"Event sent:",n)}).fail(function(i){t.reportOutgoingApi(n,i,r);t.service.logger.trace(t.loggerId,"Event sent FAILED:",n+". "+i)})},n.prototype.reportOutgoingApi=function(n,t,i){var r="SIGNALR."+this.hubName.toUpperCase()+"."+n.toUpperCase();this.service.telemetryService.portalQos.reportOutgoingApi({operationName:r,currentOperationName:n,isSuccess:!t,errorMessage:t,latencyMs:(new Date).getTime()-i,requestUri:this.service.getWindow().origin+"/signalr",serviceName:"MeePortal",serviceType:"SignalR",httpMethod:"WebSocket",serviceErrorCode:t?500:-1,httpStatusCode:t?"500":"200",contentType:"application/json"})},n}();t.PortalSignalRHub=i;u=function(){function n(){this.noopHub=new f}return n.prototype.onConnected=function(){},n.prototype.unsubscribeOnConnected=function(){},Object.defineProperty(n.prototype,"servicesHub",{get:function(){return this.noopHub},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"familyHub",{get:function(){return this.noopHub},enumerable:!0,configurable:!0}),n}();t.NoopSignalRService=u;f=function(){function n(){}return n.prototype.subscribe=function(){},n.prototype.unsubscribe=function(){},n.prototype.send=function(){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n]},n.prototype.sendPersistent=function(){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];return-1},n.prototype.stopSendPersistent=function(){},n}();angular.module("commonModule").service("signalRService",n.Utilities.isInFlight("GSignalR")?r:u)})(i=t.Services||(t.Services={}))})(i=t.Angular||(t.Angular={}))})(t=n.Shared||(n.Shared={}))}(MeePortal||(MeePortal={})),function(n){var t;(function(n){var t;(function(n){var t;(function(){function n(n){return{portalBi:n.portalBi,portalQos:n.portalQos,portalClientPerf:n.portalClientPerf,portalScenarios:n.portalScenarios,portalCv:n.portalCv,portalCc:n.portalCc}}function t(){return function(n){throw n;}}n.$inject=["$window"];angular.module("commonModule").service("telemetryService",n).factory("$exceptionHandler",t)})(t=n.Services||(n.Services={}))})(t=n.Angular||(n.Angular={}))})(t=n.Shared||(n.Shared={}))}(MeePortal||(MeePortal={})),function(n){var t;(function(t){var i;(function(t){var i;(function(){var t=function(){function t(n,t){this.commonConfig=n;this.formatString=t}return t.prototype.updateSessionId=function(){angular.element("#threatmetrix").attr("src",this.formatString(this.commonConfig.threatMetrixUrlFormat,n.Utilities.generateGuid()))},t.$inject=["commonConfig","stringFormatFilter"],t}();angular.module("commonModule").service("threatMetrixService",t)})(i=t.Services||(t.Services={}))})(i=t.Angular||(t.Angular={}))})(t=n.Shared||(n.Shared={}))}(MeePortal||(MeePortal={})),function(n){var t;(function(n){var t;(function(n){var t;(function(){var n=function(){function n(){}return n.prototype.parseTimeSpan=function(n){if(typeof n!="string")return n;var t=n.match(/^(?:(\d+)\.)?(\d\d):(\d\d):(\d\d)(\.\d+)?$/);return t?{Days:+t[1]||0,Hours:+t[2],Minutes:+t[3],Seconds:+t[4],Milliseconds:+t[5]*1e3||0}:null},n.$inject=[],n}();angular.module("commonModule").service("timeSpanService",n)})(t=n.Services||(n.Services={}))})(t=n.Angular||(n.Angular={}))})(t=n.Shared||(n.Shared={}))}(MeePortal||(MeePortal={}))